--- linux-lts-quantal-3.5.0.orig/dropped.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Makefile +++ linux-lts-quantal-3.5.0/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 5 -SUBLEVEL = 0 -EXTRAVERSION = +SUBLEVEL = 7 +EXTRAVERSION = .23 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 @@ -1003,11 +1014,14 @@ clean: rm-files := $(CLEAN_FILES) clean-dirs := $(addprefix _clean_, . $(vmlinux-alldirs) Documentation samples) -PHONY += $(clean-dirs) clean archclean +PHONY += $(clean-dirs) clean archclean vmlinuxclean $(clean-dirs): $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) -clean: archclean +vmlinuxclean: + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean + +clean: archclean vmlinuxclean # mrproper - Delete all generated files, including .config # @@ -1234,7 +1248,6 @@ endif # KBUILD_EXTMOD clean: $(clean-dirs) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean $(call cmd,rmdirs) $(call cmd,rmfiles) @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ --- linux-lts-quantal-3.5.0.orig/MAINTAINERS +++ linux-lts-quantal-3.5.0/MAINTAINERS @@ -2663,7 +2663,7 @@ F: drivers/net/ethernet/i825xx/eexpress.* ETHERNET BRIDGE -M: Stephen Hemminger +M: Stephen Hemminger L: bridge@lists.linux-foundation.org L: netdev@vger.kernel.org W: http://www.linuxfoundation.org/en/Net:Bridge @@ -4385,7 +4385,7 @@ MARVELL GIGABIT ETHERNET DRIVERS (skge/sky2) M: Mirko Lindner -M: Stephen Hemminger +M: Stephen Hemminger L: netdev@vger.kernel.org S: Maintained F: drivers/net/ethernet/marvell/sk* @@ -4630,7 +4630,7 @@ F: drivers/infiniband/hw/nes/ NETEM NETWORK EMULATOR -M: Stephen Hemminger +M: Stephen Hemminger L: netem@lists.linux-foundation.org S: Maintained F: net/sched/sch_netem.c @@ -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 @@ -6466,6 +6473,7 @@ M: Greg Kroah-Hartman L: stable@vger.kernel.org S: Supported +F: Documentation/stable_kernel_rules.txt STAGING SUBSYSTEM M: Greg Kroah-Hartman --- linux-lts-quantal-3.5.0.orig/debian/control +++ linux-lts-quantal-3.5.0/debian/control @@ -0,0 +1,487 @@ +Source: linux-lts-quantal +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-precise.git + +Package: linux-headers-3.5.0-43 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Description: Header files related to Linux kernel version 3.5.0 + This package provides kernel header files for version 3.5.0, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details + +Package: linux-tools-3.5.0-43 +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version 3.5.0-43 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 3.5.0-43 on + 32 bit x86. + + + +Package: linux-image-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +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), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-lts-quantal-doc-3.5.0 | linux-lts-quantal-source-3.5.0, linux-lts-quantal-tools, linux-headers-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-43-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-headers-3.5.0-43, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on 32 bit x86 SMP + This package provides kernel header files for version 3.5.0 on + 32 bit x86 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details. + +Package: linux-image-3.5.0-43-generic-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 32 bit x86 SMP + This package provides a kernel debug image for version 3.5.0 on + 32 bit x86 SMP. + . + 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-43-generic-di +XC-Package-Type: udeb +Provides: kernel-image +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: Linux kernel binary image for the Debian installer + This package contains the 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-43-generic-di +XC-Package-Type: udeb +Provides: nic-modules +Depends: kernel-image-3.5.0-43-generic-di, nic-shared-modules-3.5.0-43-generic-di, virtio-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Network interface support + +Package: nic-shared-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: nic-shared-modules +Depends: kernel-image-3.5.0-43-generic-di, crypto-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: serial-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: serial-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Serial port support + +Package: ppp-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: ppp-modules +Depends: kernel-image-3.5.0-43-generic-di, nic-shared-modules-3.5.0-43-generic-di, serial-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: PPP (serial port) networking support + +Package: pata-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: pata-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: PATA support modules + +Package: firewire-core-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: firewire-core-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: scsi-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: scsi-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: SCSI storage support + +Package: plip-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: plip-modules +Depends: kernel-image-3.5.0-43-generic-di, nic-shared-modules-3.5.0-43-generic-di, parport-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: PLIP (parallel port) networking support + +Package: floppy-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: floppy-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Floppy driver support + +Package: fat-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: fat-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: nfs-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: nfs-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: md-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: md-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Multi-device support (raid, device-mapper, lvm) + +Package: multipath-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: multipath-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. + +Package: usb-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: usb-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Core USB support + +Package: pcmcia-storage-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: pcmcia-storage-modules +Depends: kernel-image-3.5.0-43-generic-di, scsi-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: PCMCIA storage support + +Package: fb-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: fb-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Framebuffer modules + +Package: input-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: input-modules +Depends: kernel-image-3.5.0-43-generic-di, usb-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Support for various input methods + +Package: mouse-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: mouse-modules +Depends: kernel-image-3.5.0-43-generic-di, input-modules-3.5.0-43-generic-di, usb-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: irda-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: irda-modules +Depends: kernel-image-3.5.0-43-generic-di, nic-shared-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Support for Infrared protocols + +Package: parport-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: parport-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Parallel port support + +Package: nic-pcmcia-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: nic-pcmcia-modules +Depends: kernel-image-3.5.0-43-generic-di, nic-shared-modules-3.5.0-43-generic-di, nic-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: PCMCIA network interface support + +Package: pcmcia-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: pcmcia-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: PCMCIA Modules + +Package: nic-usb-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: nic-usb-modules +Depends: kernel-image-3.5.0-43-generic-di, nic-shared-modules-3.5.0-43-generic-di, usb-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: USB network interface support + +Package: sata-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: sata-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: SATA storage support + +Package: crypto-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: crypto-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: crypto modules + This package contains crypto modules. + +Package: squashfs-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: squashfs-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: squashfs modules + This package contains squashfs modules. + +Package: speakup-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: speakup-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: speakup modules + This package contains speakup modules. + +Package: virtio-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: virtio-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: fs-core-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: fs-core-modules, jfs-modules, reiserfs-modules, xfs-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: fs-secondary-modules, ntfs-modules, hfs-modules +Depends: kernel-image-3.5.0-43-generic-di, fat-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: storage-core-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: storage-core-modules, loop-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +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-43-generic-di +XC-Package-Type: udeb +Provides: block-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di, parport-modules-3.5.0-43-generic-di, virtio-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +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-43-generic-di +XC-Package-Type: udeb +Provides: message-modules +Depends: kernel-image-3.5.0-43-generic-di, storage-core-modules-3.5.0-43-generic-di, scsi-modules-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: vlan-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: vlan-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules-3.5.0-43-generic-di +XC-Package-Type: udeb +Provides: ipmi-modules +Depends: kernel-image-3.5.0-43-generic-di +Architecture: i386 +XB-Kernel-Version: 3.5.0-43-generic +Section: debian-installer +Priority: standard +Description: ipmi modules --- linux-lts-quantal-3.5.0.orig/debian/copyright +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/compat +++ linux-lts-quantal-3.5.0/debian/compat @@ -0,0 +1 @@ +5 --- linux-lts-quantal-3.5.0.orig/debian/rules +++ linux-lts-quantal-3.5.0/debian/rules @@ -0,0 +1,238 @@ +#!/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: debian/control +debian/control: $(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-lts-quantal-3.5.0.orig/debian/changelog +++ linux-lts-quantal-3.5.0/debian/changelog @@ -0,0 +1,15563 @@ +linux-lts-quantal (3.5.0-43.66~precise1) precise; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #1243949 + + [ Timo Aaltonen ] + + * SAUCE: ubuntu/i915: silence unclaimed register poking debug messages + - LP: #1138787 + + [ Upstream Kernel Changes ] + + * Revert "xfs: fix _xfs_buf_find oops on blocks beyond the filesystem + end" + - LP: #1236041 + - CVE-2013-1819 fix backport: + * Revert "sctp: fix call to SCTP_CMD_PROCESS_SACK in + sctp_cmd_interpreter()" + - LP: #1241093 + * get rid of full-hash scan on detaching vfsmounts + - LP: #1226726 + * Smack: Fix the bug smackcipso can't set CIPSO correctly + - LP: #1236743 + * SAUCE: (no-up) Only let characters through when there are active + readers. + - LP: #1208740 + * usb: xhci: define port register names and use them instead of magic + numbers + - LP: #1229576 + * usb: xhci: add USB2 Link power management BESL support + - LP: #1229576 + * iwl4965: fix rfkill set state regression + - LP: #1241093 + * ath9k_htc: Restore skb headroom when returning skb to mac80211 + - LP: #1241093 + * ALSA: opti9xx: Fix conflicting driver object name + - LP: #1241093 + * SUNRPC: Fix memory corruption issue on 32-bit highmem systems + - LP: #1241093 + * drm/i915: ivb: fix edp voltage swing reg val + - LP: #1241093 + * drm/vmwgfx: Split GMR2_REMAP commands if they are to large + - LP: #1241093 + * ALSA: ak4xx-adda: info leak in ak4xxx_capture_source_info() + - LP: #1241093 + * Bluetooth: Add support for Foxconn/Hon Hai [0489:e04d] + - LP: #1241093 + * [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a + signal + - LP: #1241093 + * xen-gnt: prevent adding duplicate gnt callbacks + - LP: #1241093 + * usb: config->desc.bLength may not exceed amount of data returned by the + device + - LP: #1241093 + * USB: cdc-wdm: fix race between interrupt handler and tasklet + - LP: #1241093 + * xhci-plat: Don't enable legacy PCI interrupts. + - LP: #1241093 + * ASoC: wm8960: Fix PLL register writes + - LP: #1241093 + * rculist: list_first_or_null_rcu() should use list_entry_rcu() + - LP: #1241093 + * USB: mos7720: use GFP_ATOMIC under spinlock + - LP: #1241093 + * USB: mos7720: fix big-endian control requests + - LP: #1241093 + * staging: comedi: dt282x: dt282x_ai_insn_read() always fails + - LP: #1241093 + * usb: ehci-mxc: check for pdata before dereferencing + - LP: #1241093 + * usb: xhci: Disable runtime PM suspend for quirky controllers + - LP: #1241093 + * USB: OHCI: Allow runtime PM without system sleep + - LP: #1241093 + * ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan + - LP: #1241093 + * ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT + - LP: #1241093 + * USB: fix build error when CONFIG_PM_SLEEP isn't enabled + - LP: #1241093 + * ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA + - LP: #1241093 + * regmap: silence GCC warning + - LP: #1241093 + * target: Fix trailing ASCII space usage in INQUIRY vendor+model + - LP: #1241093 + * iwlwifi: dvm: don't send BT_CONFIG on devices w/o Bluetooth + - LP: #1241093 + * Bluetooth: Add support for Mediatek Bluetooth device [0e8d:763f] + - LP: #1241093 + * Bluetooth: ath3k: Add support for Fujitsu Lifebook UH5x2 [04c5:1330] + - LP: #1241093 + * Bluetooth: ath3k: Add support for ID 0x13d3/0x3402 + - LP: #1241093 + * Bluetooth: Add support for Atheros [0cf3:e003] + - LP: #1241093 + * xen/events: mask events when changing their VCPU binding + - LP: #1241093 + * tipc: fix lockdep warning during bearer initialization + - LP: #1241093 + * htb: fix sign extension bug + - LP: #1241093 + * net: check net.core.somaxconn sysctl values + - LP: #1241093 + * neighbour: populate neigh_parms on alloc before calling ndo_neigh_setup + - LP: #1241093 + * bonding: modify only neigh_parms owned by us + - LP: #1241093 + * fib_trie: remove potential out of bound access + - LP: #1241093 + * tcp: cubic: fix overflow error in bictcp_update() + - LP: #1241093 + * tcp: cubic: fix bug in bictcp_acked() + - LP: #1241093 + * macvtap: do not zerocopy if iov needs more pages than MAX_SKB_FRAGS + - LP: #1241093 + * ipv6: don't stop backtracking in fib6_lookup_1 if subtree does not + match + - LP: #1241093 + * 8139cp: Fix skb leak in rx_status_loop failure path. + - LP: #1241093 + * tun: signedness bug in tun_get_user() + - LP: #1241093 + * ipv6: remove max_addresses check from ipv6_create_tempaddr + - LP: #1241093 + * ipv6: drop packets with multiple fragmentation headers + - LP: #1241093 + * net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for + max_delay + - LP: #1241093 + * ICMPv6: treat dest unreachable codes 5 and 6 as EACCES, not EPROTO + - LP: #1241093 + * ipv6: Don't depend on per socket memory for neighbour discovery + messages + - LP: #1241093 + * net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv + - LP: #1241093 + * ath9k: always clear ps filter bit on new assoc + - LP: #1241093 + * libceph: unregister request in __map_request failed and nofail == false + - LP: #1241093 + * powerpc: Handle unaligned ldbrx/stdbrx + - LP: #1241093 + * ath9k: fix rx descriptor related race condition + - LP: #1241093 + * ath9k: avoid accessing MRC registers on single-chain devices + - LP: #1241093 + * brcmsmac: Fix WARNING caused by lack of calls to dma_mapping_error() + - LP: #1241093 + * mmc: tmio_mmc_dma: fix PIO fallback on SDHI + - LP: #1241093 + * HID: validate HID report id size + - LP: #1241093 + - CVE-2013-2888 + * of: Fix missing memory initialization on FDT unflattening + - LP: #1241093 + * drm/edid: add quirk for Medion MD30217PG + - LP: #1241093 + * drm/radeon: fix endian bugs in hw i2c atom routines + - LP: #1241093 + * drm/radeon: update line buffer allocation for dce4.1/5 + - LP: #1241093 + * drm/radeon: update line buffer allocation for dce6 + - LP: #1241093 + * drm/radeon: fix LCD record parsing + - LP: #1241093 + * drm/radeon: fix resume on some rs4xx boards (v2) + - LP: #1241093 + * drm/radeon: fix handling of variable sized arrays for router objects + - LP: #1241093 + * radeon kms: fix uninitialised hotplug work usage in r100_irq_process() + - LP: #1241093 + * drm/radeon: fix init ordering for r600+ + - LP: #1241093 + * HID: input: return ENODATA if reading battery attrs fails + - LP: #1241093 + * HID: battery: don't do DMA from stack + - LP: #1241093 + * fuse: postpone end_page_writeback() in fuse_writepage_locked() + - LP: #1241093 + * fuse: invalidate inode attributes on xattr modification + - LP: #1241093 + * s5p-g2d: Fix registration failure + - LP: #1241093 + * DocBook: upgrade media_api DocBook version to 4.2 + - LP: #1241093 + * v4l2: added missing mutex.h include to v4l2-ctrls.h + - LP: #1241093 + * hdpvr: fix iteration over uninitialized lists in hdpvr_probe() + - LP: #1241093 + * exynos4-is: Fix fimc-lite bayer formats + - LP: #1241093 + * exynos4-is: Fix entity unregistration on error path + - LP: #1241093 + * libceph: use pg_num_mask instead of pgp_num_mask for pg.seed calc + - LP: #1241093 + * HID: pantherlord: validate output report details + - LP: #1241093 + - CVE-2013-2892 + * HID: ntrig: validate feature report details + - LP: #1241093 + - CVE-2013-2896 + * HID: picolcd_core: validate output report details + - LP: #1241093 + - CVE-2013-2899 + * HID: check for NULL field when setting values + - LP: #1241093 + * drm/i915: try not to lose backlight CBLV precision + - LP: #1241093 + * powerpc: Default arch idle could cede processor on pseries + - LP: #1241093 + * ocfs2: fix the end cluster offset of FIEMAP + - LP: #1241093 + * mm/huge_memory.c: fix potential NULL pointer dereference + - LP: #1241093 + * mm: fix aio performance regression for database caused by THP + - LP: #1241093 + * memcg: fix multiple large threshold notifications + - LP: #1241093 + * intel-iommu: Fix leaks in pagetable freeing + - LP: #1241093 + * MIPS: ath79: Fix ar933x watchdog clock + - LP: #1241093 + * ARM: PCI: versatile: Fix map_irq function to match hardware + - LP: #1241093 + * ARM: PCI: versatile: Fix SMAP register offsets + - LP: #1241093 + * crypto: api - Fix race condition in larval lookup + - LP: #1241093 + * cifs: ensure that srv_mutex is held when dealing with ssocket pointer + - LP: #1241093 + * ALSA: hda - Add Toshiba Satellite C870 to MSI blacklist + - LP: #1241093 + * ASoC: mc13783: add spi errata fix + - LP: #1241093 + * [SCSI] sd: Fix potential out-of-bounds access + - LP: #1241093 + * Linux 3.5.7.22 + - LP: #1241093 + * drm/radeon/atom: workaround vbios bug in transmitter table on rs880 + (v2) + - LP: #1241093 + * drm/ast: fix the ast open key function + - LP: #1241093 + * sched/fair: Fix small race where child->se.parent,cfs_rq might point to + invalid ones + - LP: #1241093 + * HID: provide a helper for validating hid reports + - LP: #1241093 + * HID: zeroplus: validate output report details + - LP: #1241093 + - CVE-2013-2889 + * HID: LG: validate HID output report details + - LP: #1241093 + - CVE-2013-2893 + * HID: add usage_index in struct hid_usage. + - LP: #1241093 + * HID: validate feature and input report details + - LP: #1241093 + - CVE-2013-2897 + * HID: logitech-dj: validate output report details + - LP: #1241093 + - CVE-2013-2895 + * HID: multitouch: validate indexes details + - LP: #1241093 + - CVE-2013-2897 + * drm/radeon: fix panel scaling with eDP and LVDS bridges + - LP: #1241093 + * net: usb: cdc_ether: Use wwan interface for Telit modules + - LP: #1241093 + * usb: gadget: fix a bug and a WARN_ON in dummy-hcd + - LP: #1241093 + * drm/ttm: fix the tt_populated check in ttm_tt_destroy() + - LP: #1241093 + * sfc: Fix efx_rx_buf_offset() for recycled pages + - LP: #1241093 + * perf: Clarify perf_cpu_context::active_pmu usage by renaming it to + ::unique_pmu + - LP: #1241093 + * perf: Fix perf_cgroup_switch for sw-events + - LP: #1241093 + * cfq: explicitly use 64bit divide operation for 64bit arguments + - LP: #1241093 + * perf tools: Handle JITed code in shared memory + - LP: #1241093 + * HID: Fix Speedlink VAD Cezanne support for some devices + - LP: #1241093 + * HID: usbhid: quirk for N-Trig DuoSense Touch Screen + - LP: #1241093 + * workqueue: cond_resched() after processing each work item + - LP: #1241093 + * cgroup: fail if monitored file and event_control are in different + cgroup + - LP: #1241093 + * tg3: Don't turn off led on 5719 serdes port 0 + - LP: #1241093 + * tg3: Expand led off fix to include 5720 + - LP: #1241093 + * mm, memcg: give exiting processes access to memory reserves + - LP: #1241093 + * video: mxsfb: Add missing break + - LP: #1241093 + * xhci: Fix race between ep halt and URB cancellation + - LP: #1241093 + * serial: pch_uart: fix tty-kref leak in rx-error path + - LP: #1241093 + * serial: pch_uart: fix tty-kref leak in dma-rx path + - LP: #1241093 + * x86, efi: Don't map Boot Services on i386 + - LP: #1241093 + * ALSA: compress: Fix compress device unregister. + - LP: #1241093 + * dm snapshot: workaround for a false positive lockdep warning + - LP: #1241093 + * dm-snapshot: fix performance degradation due to small hash size + - LP: #1241093 + * x86/reboot: Add quirk to make Dell C6100 use reboot=pci automatically + - LP: #1241093 + * drm/radeon: disable tests/benchmarks if accel is disabled + - LP: #1241093 + * xhci: Fix oops happening after address device timeout + - LP: #1241093 + * xhci: Ensure a command structure points to the correct trb on the + command ring + - LP: #1241093 + * drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER + - LP: #1241093 + * staging: vt6656: [BUG] main_usb.c oops on device_close move flag + earlier. + - LP: #1241093 + * USB: fix PM config symbol in uhci-hcd, ehci-hcd, and xhci-hcd + - LP: #1241093 + * usb/core/devio.c: Don't reject control message to endpoint with wrong + direction bit + - LP: #1241093 + * hwmon: (applesmc) Check key count before proceeding + - LP: #1241093 + * USB: Fix breakage in ffs_fs_mount() + - LP: #1241093 + * usb: dwc3: pci: add support for BayTrail + - LP: #1241093 + * caif: Add missing braces to multiline if in cfctrl_linkup_request + - LP: #1241093 + * net: sctp: fix smatch warning in sctp_send_asconf_del_ip + - LP: #1241093 + * net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit + - LP: #1241093 + * resubmit bridge: fix message_age_timer calculation + - LP: #1241093 + * bridge: Clamp forward_delay when enabling STP + - LP: #1241093 + * ip: use ip_hdr() in __ip_make_skb() to retrieve IP header + - LP: #1241093 + * ip: generate unique IP identificator if local fragmentation is allowed + - LP: #1241093 + * netpoll: fix NULL pointer dereference in netpoll_cleanup + - LP: #1241093 + * ipv6: udp packets following an UFO enqueued packet need also be handled + by UFO + - LP: #1241093 + * via-rhine: fix VLAN priority field (PCP, IEEE 802.1p) + - LP: #1241093 + * net: flow_dissector: fix thoff for IPPROTO_AH + - LP: #1241093 + * bonding: Fix broken promiscuity reference counting issue + - LP: #1241093 + * ipv4 igmp: use in_dev_put in timer handlers instead of __in_dev_put + - LP: #1241093 + * ipv6 mcast: use in6_dev_put in timer handlers instead of __in6_dev_put + - LP: #1241093 + * dm9601: fix IFF_ALLMULTI handling + - LP: #1241093 + * ll_temac: Reset dma descriptors indexes on ndo_open + - LP: #1241093 + * gianfar: Change default HW Tx queue scheduling mode + - LP: #1241093 + * fanotify: dont merge permission events + - LP: #1241093 + * sparc32: Fix exit flag passed from traced sys_sigreturn + - LP: #1241093 + * sparc64: Fix not SRA'ed %o5 in 32-bit traced syscall + - LP: #1241093 + * esp_scsi: Fix tag state corruption when autosensing. + - LP: #1241093 + * sparc64: Fix ITLB handler of null page + - LP: #1241093 + * sparc64: Remove RWSEM export leftovers + - LP: #1241093 + * sparc64: Fix off by one in trampoline TLB mapping installation loop. + - LP: #1241093 + * ASoC: max98095: a couple array underflows + - LP: #1241093 + * ASoC: 88pm860x: array overflow in snd_soc_put_volsw_2r_st() + - LP: #1241093 + * Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012. + - LP: #1241093 + * Bluetooth: Fix security level for peripheral role + - LP: #1241093 + * Bluetooth: Fix encryption key size for peripheral role + - LP: #1241093 + * Bluetooth: Add support for BCM20702A0 [0b05, 17cb] + - LP: #1241093 + * rtlwifi: Align private space in rtl_priv struct + - LP: #1241093 + * p54usb: add USB ID for Corega WLUSB2GTST USB adapter + - LP: #1241093 + * mwifiex: fix hang issue for USB chipsets + - LP: #1241093 + * mwifiex: fix NULL pointer dereference in usb suspend handler + - LP: #1241093 + * USB: serial: option: Ignore card reader interface on Huawei E1750 + - LP: #1241093 + * ib_srpt: Destroy cm_id before destroying QP. + - LP: #1241093 + * powerpc: Fix parameter clobber in csum_partial_copy_generic() + - LP: #1241093 + * powerpc/sysfs: Disable writing to PURR in guest mode + - LP: #1241093 + * powerpc/iommu: Use GFP_KERNEL instead of GFP_ATOMIC in + iommu_init_table() + - LP: #1241093 + * powerpc/vio: Fix modalias_show return values + - LP: #1241093 + * ib_srpt: always set response for task management + - LP: #1241093 + * staging: comedi: ni_65xx: (bug fix) confine insn_bits to one subdevice + - LP: #1241093 + * mwifiex: fix memory corruption when unsetting multicast list + - LP: #1241093 + * ext4: avoid hang when mounting non-journal filesystems with orphan list + - LP: #1241093 + * dmaengine: imx-dma: fix slow path issue in prep_dma_cyclic + - LP: #1241093 + * dmaengine: imx-dma: fix lockdep issue between irqhandler and tasklet + - LP: #1241093 + * dma: fix comments + - LP: #1241093 + * dmaengine: imx-dma: fix callback path in tasklet + - LP: #1241093 + * Linux 3.5.7.23 + - LP: #1241093 + * [PATCH 01/35] drm/i915: Revert hdmi HDP pin checks + - LP: #1138700 + * [PATCH 02/35] drm/i915: add HAS_DDI check + - LP: #1240639 + * [PATCH 03/35] drm/i915: don't intel_crt_init on any ULT machines + - LP: #1240639 + * [PATCH 04/35] drm/i915: no lvds quirk for hp t5740 + - LP: #1240639 + * [PATCH 05/35] drm/i915/sdvo: Use &intel_sdvo->ddc instead of + intel_sdvo->i2c for DDC. + - LP: #1240639 + * [PATCH 06/35] drm/i915: prefer VBT modes for SVDO-LVDS over EDID + - LP: #1240639 + * [PATCH 07/35] drm/i915: Fix context sizes on HSW + - LP: #1240639 + * [PATCH 08/35] drm/i915: Only clear write-domains after a successful + wait-seqno + - LP: #1240639 + * [PATCH 09/35] drm/i915: Correct obj->mm_list link to + dev_priv->dev_priv->mm.inactive_list + - LP: #1240639 + * [PATCH 10/35] drm/i915: fix up ring cleanup for the i830/i845 CS tlb + w/a + - LP: #1240639 + * [PATCH 11/35] Partially revert "drm/i915: unconditionally use mt + forcewake on hsw/ivb" + - LP: #1240639 + * [PATCH 12/35] drm/i915: Fix write-read race with multiple rings + - LP: #1240639 + * [PATCH 13/35] drm/i915: merge {i965, sandybridge}_write_fence_reg() + - LP: #1240639 + * [PATCH 14/35] drm/i915: Fix incoherence with fence updates on + Sandybridge+ + - LP: #1240639 + * [PATCH 15/35] Revert "drm/i915: Workaround incoherence between fences + and LLC across multiple CPUs" + - LP: #1240639 + * [PATCH 16/35] drm/i915: rename sdvox_reg to hdmi_reg on HDMI context + - LP: #1240639 + * [PATCH 17/35] drm/i915: don't setup hdmi for port D edp in ddi_init + - LP: #1240639 + * [PATCH 18/35] drm/i915: Preserve the DDI_A_4_LANES bit from the bios + - LP: #1240639 + * [PATCH 19/35] drm/i915: fix long-standing SNB regression in power + consumption after resume v2 + - LP: #1240639 + * [PATCH 20/35] drm/i915: inverted brightness quirk for Acer Aspire 4736Z + - LP: #1240639 + * [PATCH 21/35] drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 + backlight + - LP: #1162026, #1163720, #1240639 + * [PATCH 22/35] drm/i915: Serialize almost all register access + - LP: #1240639 + * [PATCH 23/35] drm/i915: fix up gt init sequence fallout + - LP: #1240639 + * [PATCH 24/35] drm/i915: initialize gt_lock early with other spin locks + - LP: #1240639 + * [PATCH 25/35] drm/i915: fix missed hunk after GT access breakage + - LP: #1240639 + * [PATCH 26/35] drm/i915: do not disable backlight on vgaswitcheroo + switch off + - LP: #1240639 + * [PATCH 27/35] drm/i915: Move num_pipes to intel info + - LP: #1240639 + * [PATCH 28/35] drm/i915: Don't deref pipe->cpu_transcoder in the + hangcheck code + - LP: #1240639 + * [PATCH 29/35] drm/i915: Invalidate TLBs for the rings after a reset + - LP: #1240639 + * [PATCH 30/35] drm/i915: ivb: fix edp voltage swing reg val + - LP: #1240639 + * [PATCH 31/35] drm/i915: try not to lose backlight CBLV precision + - LP: #1240639 + * [PATCH 32/35] drm/i915: do not update cursor in crtc mode set + - LP: #1240639 + * [PATCH 33/35] drm/i915: Don't enable the cursor on a disable pipe + - LP: #1240639 + * [PATCH 34/35] drm/i915/dp: increase i2c-over-aux retry interval on AUX + DEFER + - LP: #1240639 + * [PATCH 35/35] drm/i915: hsw: fix link training for eDP on port-A + - LP: #1138700 + * USB: handle LPM errors during device suspend correctly + - LP: #1241093 + + -- Brad Figg Thu, 17 Oct 2013 10:49:22 -0700 + +linux (3.5.0-42.65) quantal; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #1233787 + + [ Upstream Kernel Changes ] + + * drm/i915: Make data/link N value power of two + - LP: #1212376 + * isofs: Refuse RW mount of the filesystem instead of making it RO + - LP: #1228751 + * udf: Standardize return values in mount sequence + - LP: #1228751 + * udf: Refuse RW mount of the filesystem instead of making it RO + - LP: #1228751 + * cciss: fix info leak in cciss_ioctl32_passthru() + - LP: #1188355 + - CVE-2013-2147 + * cpqarray: fix info leak in ida_locked_ioctl() + - LP: #1188355 + - CVE-2013-2147 + + -- Brad Figg Tue, 01 Oct 2013 11:10:13 -0700 + +linux (3.5.0-41.64) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1223451 + + [ Upstream Kernel Changes ] + + * kernel-doc: bugfix - multi-line macros + - LP: #1223920 + * Revert "zram: use zram->lock to protect zram_free_page() in swap free + notify path" + - LP: #1215513 + * x86 thermal: Delete power-limit-notification console messages + - LP: #1215748 + * x86 thermal: Disable power limit notification interrupt by default + - LP: #1215748 + * ARM: 7810/1: perf: Fix array out of bounds access in + armpmu_map_hw_event() + - LP: #1216442 + - CVE-2013-4254 + * ARM: 7809/1: perf: fix event validation for software group leaders + - LP: #1216442 + - CVE-2013-4254 + * veth: reduce stat overhead + - LP: #1201869 + * veth: extend device features + - LP: #1201869 + * veth: avoid a NULL deref in veth_stats_one + - LP: #1201869 + * veth: fix a NULL deref in netif_carrier_off + - LP: #1201869 + * veth: fix NULL dereference in veth_dellink() + - LP: #1201869 + * Bluetooth: Add support for Atheros [0cf3:3121] + - LP: #1202477 + * efivars: explicitly calculate length of VariableName + - LP: #1217745 + * xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end + - LP: #1151527 + - CVE-2013-1819 + * drm/i915/lvds: ditch ->prepare special case + - LP: #1221791 + * serial: mxs: fix buffer overflow + - LP: #1221791 + * fs/proc/task_mmu.c: fix buffer overflow in add_page_map() + - LP: #1221791 + * af_key: initialize satype in key_notify_policy_flush() + - LP: #1221791 + * vm: add no-mmu vm_iomap_memory() stub + - LP: #1221791 + * iwl4965: set power mode early + - LP: #1221791 + * iwl4965: reset firmware after rfkill off + - LP: #1221791 + * ASoC: cs42l52: Reorder Min/Max and update to SX_TLV for Beep Volume + - LP: #1221791 + * can: pcan_usb: fix wrong memcpy() bytes length + - LP: #1221791 + * ALSA: 6fire: make buffers DMA-able (pcm) + - LP: #1221791 + * ALSA: 6fire: make buffers DMA-able (midi) + - LP: #1221791 + * jbd2: Fix use after free after error in jbd2_journal_dirty_metadata() + - LP: #1221791 + * USB-Serial: Fix error handling of usb_wwan + - LP: #1221791 + * USB: mos7840: fix big-endian probe + - LP: #1221791 + * USB: adutux: fix big-endian device-type reporting + - LP: #1221791 + * USB: ti_usb_3410_5052: fix big-endian firmware handling + - LP: #1221791 + * m68k/atari: ARAnyM - Fix NatFeat module support + - LP: #1221791 + * m68k: Truncate base in do_div() + - LP: #1221791 + * usb: add two quirky touchscreen + - LP: #1221791 + * USB: mos7720: fix broken control requests + - LP: #1221791 + * USB: keyspan: fix null-deref at disconnect and release + - LP: #1221791 + * MIPS: Expose missing pci_io{map,unmap} declarations + - LP: #1221791 + * microblaze: Update microblaze defconfigs + - LP: #1221791 + * sound: Fix make allmodconfig on MIPS + - LP: #1221791 + * sound: Fix make allmodconfig on MIPS correctly + - LP: #1221791 + * alpha: makefile: don't enforce small data model for kernel builds + - LP: #1221791 + * MIPS: Rewrite pfn_valid to work in modules, too. + - LP: #1221791 + * xtensa: fix linker script transformation for .text.unlikely + - LP: #1221791 + * wusbcore: fix kernel panic when disconnecting a wireless USB->serial + device + - LP: #1221791 + * iwlwifi: dvm: fix calling ieee80211_chswitch_done() with NULL + - LP: #1221791 + * iwlwifi: pcie: disable L1 Active after pci_enable_device + - LP: #1221791 + * zd1201: do not use stack as URB transfer_buffer + - LP: #1221791 + * Hostap: copying wrong data prism2_ioctl_giwaplist() + - LP: #1221791 + * ARM: at91/DT: fix at91sam9n12ek memory node + - LP: #1221791 + * drm/i915: Invalidate TLBs for the rings after a reset + - LP: #1221791 + * libata: apply behavioral quirks to sil3826 PMP + - LP: #1221791 + * ARM: davinci: nand: specify ecc strength + - LP: #1221791 + * ARM: 7816/1: CONFIG_KUSER_HELPERS: fix help text + - LP: #1221791 + * sata_fsl: save irqs while coalescing + - LP: #1221791 + * xen/events: initialize local per-cpu mask for all possible events + - LP: #1221791 + * of: fdt: fix memory initialization for expanded DT + - LP: #1221791 + * zfcp: fix lock imbalance by reworking request queue locking + - LP: #1221791 + * zfcp: fix schedule-inside-lock in scsi_device list loops + - LP: #1221791 + * nilfs2: remove double bio_put() in nilfs_end_bio_write() for + BIO_EOPNOTSUPP error + - LP: #1221791 + * nilfs2: fix issue with counting number of bio requests for + BIO_EOPNOTSUPP error detection + - LP: #1221791 + * workqueue: fix possible stall on try_to_grab_pending() of a delayed + work item + - LP: #1221791 + * x86/xen: do not identity map UNUSABLE regions in the machine E820 + - LP: #1221791 + * jfs: fix readdir cookie incompatibility with NFSv4 + - LP: #1221791 + * powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without + hypervisor + - LP: #1221791 + * powerpc: Work around gcc miscompilation of __pa() on 64-bit + - LP: #1221791 + * powerpc/hvsi: Increase handshake timeout from 200ms to 400ms. + - LP: #1221791 + * drivers/base/memory.c: fix show_mem_removable() to handle missing + sections + - LP: #1221791 + * x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member + - LP: #1221791 + * Linux 3.5.7.21 + - LP: #1221791 + * mfd: rtsx: Read vendor setting from config space + - LP: #1201698 + * cifs: don't instantiate new dentries in readdir for inodes that need to + be revalidated immediately + - LP: #1222442 + + [ Wen-chien Jesse Sung ] + + * SAUCE: Bluetooth: use hci_send_cmd instead of usb_control_msg + - LP: #1065400 + + -- Tim Gardner Fri, 23 Aug 2013 08:49:52 -0600 + +linux (3.5.0-40.62) quantal; urgency=low + + [ Brad Figg ] + + * [Config] KUSER_HELPERS = Y + * Release Tracking Bug + - LP: #1215129 + + -- Brad Figg Wed, 21 Aug 2013 16:32:22 -0700 + +linux (3.5.0-40.61) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Packaging] supply perf with appropriate prefix to ensure use of local + config + - LP: #1206200 + - CVE-2013-1060 + + [ John Johansen ] + + * Revert "SAUCE: (no-up) AppArmor: Disable Add PR_{GET,SET}_NO_NEW_PRIVS + to prevent execve from granting privs" + - LP: #1202161 + + [ Joseph Salisbury ] + + * SAUCE: (no-up) intel_ips: blacklist ASUSTek G60JX laptops + - LP: #1210848 + + [ Stefan Bader ] + + * (debian) Abort build on unresolved symbols + - LP: #1166197 + + [ Tim Gardner ] + + * [Config] Include rbd and kvm in the virtual inclusion list + - LP: #1206961 + + [ Upstream Kernel Changes ] + + * ALSA: usb: Parse UAC2 extension unit like for UAC1 + - LP: #1212430 + * Btrfs: fix hash overflow handling + - LP: #1091187, #1091188 + - CVE-2012-5375 + * [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side + - LP: #1214956 + * writeback: Fix periodic writeback after fs mount + - LP: #1214956 + * nfsd4: fix decoding of compounds across page boundaries + - LP: #1214956 + * ARM: shmobile: emev2 GIO3 resource fix + - LP: #1214956 + * uprobes: Fix return value in error handling path + - LP: #1214956 + * tracing: Fix irqs-off tag display in syscall tracing + - LP: #1214956 + * [CIFS] use sensible file nlink values if unprovided + - LP: #1214956 + * ASoC: sglt5000: Fix the default value of CHIP_SSS_CTRL + - LP: #1214956 + * ASoC: sglt5000: Fix SGTL5000_PLL_FRAC_DIV_MASK + - LP: #1214956 + * [SCSI] megaraid_sas: fix memory leak if SGL has zero length entries + - LP: #1214956 + * iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow + - LP: #1214956 + * dm mpath: fix ioctl deadlock when no paths + - LP: #1214956 + * dm verity: fix inability to use a few specific devices sizes + - LP: #1214956 + * lockd: protect nlm_blocked access in nlmsvc_retry_blocked + - LP: #1214956 + * ext4: don't show usrquota/grpquota twice in /proc/mounts + - LP: #1214956 + * perf: Clone child context from parent context pmu + - LP: #1214956 + * perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid + scenario + - LP: #1214956 + * perf: Fix perf_lock_task_context() vs RCU + - LP: #1214956 + * ext4: don't allow ext4_free_blocks() to fail due to ENOMEM + - LP: #1214956 + * drm/radeon/hdmi: make sure we have an afmt block assigned + - LP: #1214956 + * ACPI / memhotplug: Fix a stale pointer in error path + - LP: #1214956 + * PM / Sleep: avoid 'autosleep' in shutdown progress + - LP: #1214956 + * radeon kms: do not flush uninitialized hotplug work + - LP: #1214956 + * svcrdma: underflow issue in decode_write_list() + - LP: #1214956 + * ALSA: asihpi: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: atiixp: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: 6fire: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: ua101: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: usx2y: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: pxa2xx: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ASoC: s6000: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * [media] saa7134: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * staging: line6: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: hda - Add new GPU codec ID to snd-hda + - LP: #1214956 + * ALSA: hda - Add new GPU codec ID to snd-hda + - LP: #1214956 + * Btrfs: fix lock leak when resuming snapshot deletion + - LP: #1214956 + * xen/blkback: Check device permissions before allowing OP_DISCARD + - LP: #1214956 + * [SCSI] Fix incorrect memset in bnx2fc_parse_fcp_rsp + - LP: #1214956 + * MAINTAINERS: add stable_kernel_rules.txt to stable maintainer + information + - LP: #1214956 + * bridge: fix switched interval for MLD Query types + - LP: #1214956 + * ipv4: Fixed MD5 key lookups when adding/ removing MD5 to/ from TCP + sockets. + - LP: #1214956 + * ipv6: don't call addrconf_dst_alloc again when enable lo + - LP: #1214956 + * macvtap: fix recovery from gup errors + - LP: #1214956 + * ipv6: ip6_sk_dst_check() must not assume ipv6 dst + - LP: #1214956 + * af_key: fix info leaks in notify messages + - LP: #1214956 + * sh_eth: fix unhandled RFE interrupt + - LP: #1214956 + * neighbour: fix a race in neigh_destroy() + - LP: #1214956 + * x25: Fix broken locking in ioctl error paths. + - LP: #1214956 + * net: Swap ver and type in pppoe_hdr + - LP: #1214956 + * ipv6,mcast: always hold idev->lock before mca_lock + - LP: #1214956 + * l2tp: add missing .owner to struct pppox_proto + - LP: #1214956 + * ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET + pending data + - LP: #1214956 + * ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size + - LP: #1214956 + * sunvnet: vnet_port_remove must call unregister_netdev + - LP: #1214956 + * ifb: fix rcu_sched self-detected stalls + - LP: #1214956 + * macvtap: correctly linearize skb when zerocopy is used + - LP: #1214956 + * ipv6: in case of link failure remove route directly instead of letting + it expire + - LP: #1214956 + * 9p: fix off by one causing access violations and memory corruption + - LP: #1214956 + * dummy: fix oops when loading the dummy failed + - LP: #1214956 + * ifb: fix oops when loading the ifb failed + - LP: #1214956 + * atl1e: fix dma mapping warnings + - LP: #1214956 + * atl1e: unmap partially mapped skb on dma error and free skb + - LP: #1214956 + * vlan: fix a race in egress prio management + - LP: #1214956 + * sparc32: vm_area_struct access for old Sun SPARCs. + - LP: #1214956 + * sparc64 address-congruence property + - LP: #1214956 + * sparc: tsb must be flushed before tlb + - LP: #1214956 + * powerpc/modules: Module CRC relocation fix causes perf issues + - LP: #1214956 + * usb: dwc3: gadget: don't prevent gadget from being probed if we fail + - LP: #1214956 + * usb: dwc3: fix wrong bit mask in dwc3_event_type + - LP: #1214956 + * ASoC: max98088 - fix element type of the register cache. + - LP: #1214956 + * ata: Fix DVD not dectected at some platform with Wellsburg PCH + - LP: #1214956 + * ALSA: usb-audio: 6fire: return correct XRUN indication + - LP: #1214956 + * usb: serial: cp210x: Add USB ID for Netgear Switches embedded serial + adapter + - LP: #1214956 + * USB: storage: Add MicroVault Flash Drive to unusual_devs + - LP: #1214956 + * USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga + - LP: #1214956 + * USB: option: append Petatel NP10T device to GSM modems list + - LP: #1214956 + * usb: cp210x support SEL C662 Vendor/Device + - LP: #1214956 + * USB: cp210x: add MMB and PI ZigBee USB Device Support + - LP: #1214956 + * USB: EHCI: Fix resume signalling on remote wakeup + - LP: #1214956 + * drm/radeon: fix endian issues with DP handling (v3) + - LP: #1214956 + * drm/radeon: Another card with wrong primary dac adj + - LP: #1214956 + * drm/radeon: improve dac adjust heuristics for legacy pdac + - LP: #1214956 + * drm/radeon: fix combios tables on older cards + - LP: #1214956 + * [SCSI] isci: Fix a race condition in the SSP task management path + - LP: #1214956 + * [SCSI] qla2xxx: Properly set the tagging for commands. + - LP: #1214956 + * [SCSI] sd: fix crash when UA received on DIF enabled device + - LP: #1214956 + * nfsd: nfsd_open: when dentry_open returns an error do not propagate as + struct file + - LP: #1214956 + * USB: option: add D-Link DWM-152/C1 and DWM-156/C1 + - LP: #1214956 + * staging: comedi: COMEDI_CANCEL ioctl should wake up read/write + - LP: #1214956 + * staging: android: logger: Correct write offset reset on error + - LP: #1214956 + * usb: option: add TP-LINK MA260 + - LP: #1214956 + * USB: ti_usb_3410_5052: fix dynamic-id matching + - LP: #1214956 + * usb: serial: option: Add ONYX 3G device support + - LP: #1214956 + * md/raid10: remove use-after-free bug. + - LP: #1214956 + * md/raid5: fix interaction of 'replace' and 'recovery'. + - LP: #1214956 + * xhci: Avoid NULL pointer deref when host dies. + - LP: #1214956 + * usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with + xhci 1.0 + - LP: #1214956 + * xhci: fix null pointer dereference on ring_doorbell_for_active_rings + - LP: #1214956 + * usb: serial: option: blacklist ONDA MT689DC QMI interface + - LP: #1214956 + * usb: serial: option: add Olivetti Olicard 200 + - LP: #1214956 + * usb: serial: option.c: remove ONDA MT825UP product ID fromdriver + - LP: #1214956 + * USB: mos7840: fix memory leak in open + - LP: #1214956 + * usb: Clear both buffers when clearing a control transfer TT buffer. + - LP: #1214956 + * staging: comedi: fix a race between do_cmd_ioctl() and read/write + - LP: #1214956 + * hrtimers: Move SMP function call to thread context + - LP: #1214956 + * Linux 3.5.7.18 + - LP: #1214956 + * nl80211: fix mgmt tx status and testmode reporting for netns + - LP: #1214956 + * mac80211: fix ethtool stats for non-station interfaces + - LP: #1214956 + * mac80211: fix duplicate retransmission detection + - LP: #1214956 + * iwlwifi: mvm: refuse connection to APs with BI < 16 + - LP: #1214956 + * ath9k_htc: do some initial hardware configuration + - LP: #1214956 + * USB: mos7840: fix race in register handling + - LP: #1214956 + * USB: mos7840: fix device-type detection + - LP: #1214956 + * serial/mxs-auart: fix race condition in interrupt handler + - LP: #1214956 + * serial/mxs-auart: increase time to wait for transmitter to become idle + - LP: #1214956 + * firewire: fix libdc1394/FlyCap2 iso event regression + - LP: #1214956 + * USB: mos7840: fix pointer casts + - LP: #1214956 + * ixgbe: Fix Tx Hang issue with lldpad on 82598EB + - LP: #1214956 + * USB: serial: ftdi_sio: add more RT Systems ftdi devices + - LP: #1214956 + * drm/radeon/atom: initialize more atom interpretor elements to 0 + - LP: #1214956 + * virtio: support unlocked queue poll + - LP: #1214956 + * virtio_net: fix race in RX VQ processing + - LP: #1214956 + * libata: make it clear that sata_inic162x is experimental + - LP: #1214956 + * xen/io/ring.h: new macro to detect whether there are too many requests + on the ring + - LP: #1214956 + * xen/blkback: Check for insane amounts of request on the ring (v6). + - LP: #1214956 + * Btrfs: re-add root to dead root list if we stop dropping it + - LP: #1214956 + * xen/evtchn: avoid a deadlock when unbinding an event channel + - LP: #1214956 + * sched: Fix the broken sched_rr_get_interval() + - LP: #1214956 + * livelock avoidance in sget() + - LP: #1214956 + * drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight + - LP: #1162026, #1163720, #1214956 + * ACPI / battery: Fix parsing _BIX return value + - LP: #1214956 + * ARM: poison the vectors page + - LP: #1214956 + * ARM: poison memory between kuser helpers + - LP: #1214956 + * ARM: move vector stubs + - LP: #1214956 + * ARM: use linker magic for vectors and vector stubs + - LP: #1214956 + * ARM: update FIQ support for relocation of vectors + - LP: #1214956 + * ARM: allow kuser helpers to be removed from the vector page + - LP: #1214956 + * powerpc/windfarm: Fix noisy slots-fan on Xserve (rm31) + - LP: #1214956 + * iwlwifi: add DELL SKU for 5150 HMC + - LP: #1214956 + * mwifiex: Add missing endian conversion. + - LP: #1214956 + * rt2x00: fix stop queue + - LP: #1214956 + * futex: Take hugepages into account when generating futex_key + - LP: #1214956 + * ALSA: compress: fix the return value for SNDRV_COMPRESS_VERSION + - LP: #1214956 + * perf: Fix event group context move + - LP: #1214956 + * arcnet: cleanup sizeof parameter + - LP: #1214956 + * sysctl net: Keep tcp_syn_retries inside the boundary + - LP: #1214956 + * ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup + - LP: #1214956 + * usbnet: do not pretend to support SG/TSO + - LP: #1214956 + * af_key: more info leaks in pfkey messages + - LP: #1214956 + * net_sched: Fix stack info leak in cbq_dump_wrr(). + - LP: #1214956 + * net_sched: info leak in atm_tc_dump_class() + - LP: #1214956 + * 8139cp: Add dma_mapping_error checking + - LP: #1214956 + * x86, fpu: correct the asm constraints for fxsave, unbreak mxcsr.daz + - LP: #1214956 + * tracing: Fix fields of struct trace_iterator that are zeroed by mistake + - LP: #1214956 + * perf tools: Add anonymous huge page recognition + - LP: #1214956 + * ext4: make sure group number is bumped after a inode allocation race + - LP: #1214956 + * virtio: console: fix race with port unplug and open/close + - LP: #1214956 + * virtio: console: fix race in port_fops_open() and port unplug + - LP: #1214956 + * virtio: console: clean up port data immediately at time of unplug + - LP: #1214956 + * virtio: console: fix raising SIGIO after port unplug + - LP: #1214956 + * virtio: console: return -ENODEV on all read operations after unplug + - LP: #1214956 + * regmap: Add missing header for !CONFIG_REGMAP stubs + - LP: #1214956 + * cifs: extend the buffer length enought for sprintf() using + - LP: #1214956 + * [SCSI] megaraid_sas: megaraid_sas driver init fails in kdump kernel + - LP: #1214956 + * [SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages + is set + - LP: #1214956 + * drm/cirrus: Invalidate page tables when pinning a BO + - LP: #1214956 + * drm/mgag200: Invalidate page tables when pinning a BO + - LP: #1214956 + * drm/ast: invalidate page tables when pinning a BO + - LP: #1214956 + * drm/i915: do not disable backlight on vgaswitcheroo switch off + - LP: #1214956 + * ALSA: usb/6fire: Fix potential NULL pointer dereference in comm.c + - LP: #1214956 + * ALSA: 6fire: fix DMA issues with URB transfer_buffer usage + - LP: #1214956 + * drm/radeon: always program the MC on startup + - LP: #1214956 + * ALSA: usb-audio: do not trust too-big wMaxPacketSize values + - LP: #1214956 + * hwmon: (adt7470) Fix incorrect return code check + - LP: #1214956 + * ext4: allow the mount options nodelalloc and data=journal + - LP: #1214956 + * ext4: fix mount/remount error messages for incompatible mount options + - LP: #1214956 + * usb: core: don't try to reset_device() a port that got just + disconnected + - LP: #1214956 + * debugfs: debugfs_remove_recursive() must not rely on + list_empty(d_subdirs) + - LP: #1214956 + * [SCSI] nsp32: use mdelay instead of large udelay constants + - LP: #1214956 + * zram: allow request end to coincide with disksize + - LP: #1214956 + * Linux 3.5.7.19 + - LP: #1214956 + * mac80211: add time synchronisation with BSS for assoc + - LP: #1214956 + * Linux 3.5.7.20 + - LP: #1214956 + + -- Brad Figg Wed, 21 Aug 2013 13:28:10 -0700 + +linux (3.5.0-39.60) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1211872 + + [ Upstream Kernel Changes ] + + * Revert "veth: avoid a NULL deref in veth_stats_one" + * Revert "veth: extend device features" + * Revert "veth: reduce stat overhead" + + -- Brad Figg Tue, 13 Aug 2013 10:26:38 -0700 + +linux (3.5.0-38.59) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1205440 + + [ Upstream Kernel Changes ] + + * hp-wmi: add more definitions for new event_id's + - LP: #1152458 + * MFD: rtsx_pcr: Fix probe fail path + - LP: #1201321 + * mfd: rtsx: Add support for RTL8411B + - LP: #1201321 + * veth: reduce stat overhead + - LP: #1201869 + * veth: extend device features + - LP: #1201869 + * veth: avoid a NULL deref in veth_stats_one + - LP: #1201869 + * Input: elantech - fix for newer hardware versions (v7) + - LP: #1166442 + * zram: avoid invalid memory access in zram_exit() + - LP: #1204600 + * zram: use zram->lock to protect zram_free_page() in swap free notify + path + - LP: #1204600 + * zram: destroy all devices on error recovery path in zram_init() + - LP: #1204600 + * zram: avoid double free in function zram_bvec_write() + - LP: #1204600 + * zram: avoid access beyond the zram device + - LP: #1204600 + * zram: protect sysfs handler from invalid memory access + - LP: #1204600 + * pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status + - LP: #1204600 + * usb: gadget: f_mass_storage: add missing memory barrier for + thread_wakeup_needed + - LP: #1204600 + * cgroup: fix umount vs cgroup_event_remove() race + - LP: #1204600 + * xhci: check for failed dma pool allocation + - LP: #1204600 + * usb: host: xhci-plat: release mem region while removing module + - LP: #1204600 + * USB: option,qcserial: move Novatel Gobi1K IDs to qcserial + - LP: #1204600 + * x86: Fix /proc/mtrr with base/size more than 44bits + - LP: #1204600 + * genirq: Fix can_request_irq() for IRQs without an action + - LP: #1204600 + * jbd2: move superblock checksum calculation to jbd2_write_superblock() + - LP: #1204600 + * ext3,ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree() + - LP: #1204600 + * jbd2: fix theoretical race in jbd2__journal_restart + - LP: #1204600 + * cgroup: fix umount vs cgroup_cfts_commit() race + - LP: #1204600 + * tracing: Use current_uid() for critical time tracing + - LP: #1204600 + * ahci: Add AMD CZ SATA device ID + - LP: #1204600 + * i2c-piix4: Add AMD CZ SMBus device ID + - LP: #1204600 + * ahci: remove pmp link online check in FBS EH + - LP: #1204600 + * libata: skip SRST for all SIMG [34]7x port-multipliers + - LP: #1204600 + * ASoC: wm8962: Remove remaining direct register cache accesses + - LP: #1204600 + * ACPICA: Do not use extended sleep registers unless HW-reduced bit is + set + - LP: #1204600 + * ALSA: hda - Cache the MUX selection for generic HDMI + - LP: #1204600 + * ata_piix: IDE-mode SATA patch for Intel Coleto Creek DeviceIDs + - LP: #1204600 + * ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs + - LP: #1204600 + * ARM: 7765/1: perf: Record the user-mode PC in the call chain. + - LP: #1204600 + * Handle big endianness in NTLM (ntlmv2) authentication + - LP: #1204600 + * xen/time: remove blocked time accounting from xen "clockchip" + - LP: #1204600 + * drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() + - LP: #1204600 + * ocfs2: xattr: fix inlined xattr reflink + - LP: #1204600 + * block: do not pass disk names as format strings + - LP: #1204600 + - CVE-2013-2851 + * crypto: sanitize argument for format string + - LP: #1204600 + * mm/memory-hotplug: fix lowmem count overflow when offline pages + - LP: #1204600 + * drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq + - LP: #1204600 + * nbd: correct disconnect behavior + - LP: #1204600 + * netfilter: xt_TCPOPTSTRIP: fix possible mangling beyond packet boundary + - LP: #1204600 + * netfilter: ipt_ULOG: fix non-null terminated string in the nf_log path + - LP: #1204600 + * netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6 + - LP: #1204600 + * netfilter: xt_LOG: fix mark logging for IPv6 packets + - LP: #1204600 + * ipvs: info leak in __ip_vs_get_dest_entries() + - LP: #1204600 + * netfilter: nfnetlink_cttimeout: fix incomplete dumping of objects + - LP: #1204600 + * netfilter: nfnetlink_acct: fix incomplete dumping of objects + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix violation of RFC879 in absence of MSS option + - LP: #1204600 + * netfilter: xt_TCPOPTSTRIP: don't use tcp_hdr() + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix missing fragmentation handling + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix IPv6 default MSS too + - LP: #1204600 + * ipvs: SCTP ports should be writable in ICMP packets + - LP: #1204600 + * zfcp: fix adapter (re)open recovery while link to SAN is down + - LP: #1204600 + * zfcp: block queue limits with data router + - LP: #1204600 + * zfcp: status read buffers on first adapter open with link down + - LP: #1204600 + * mpt2sas: Fix for issue Missing delay not getting set during system + bootup + - LP: #1204600 + * mpt2sas: Fix for max_sectors warning message is stating the incorrect + range + - LP: #1204600 + * mpt2sas: Fix for device scan following host reset could get stuck in a + infinite loop + - LP: #1204600 + * mpt2sas: fix firmware failure with wrong task attribute + - LP: #1204600 + * sd: Fix parsing of 'temporary ' cache mode prefix + - LP: #1204600 + * aacraid: Fix for arrays are going offline in the system. System hangs + - LP: #1204600 + * powerpc/smp: Section mismatch from smp_release_cpus to __initdata + spinning_secondaries + - LP: #1204600 + * md/raid10: fix two bugs affecting RAID10 reshape. + - LP: #1204600 + * hpfs: better test for errors + - LP: #1204600 + * timer: Fix jiffies wrap behavior of round_jiffies_common() + - LP: #1204600 + * tick: Prevent uncontrolled switch to oneshot mode + - LP: #1204600 + * ext3: fix data=journal fast mount/umount hang + - LP: #1204600 + * PCI: Fix refcount issue in pci_create_root_bus() error recovery path + - LP: #1204600 + * b43: ensue that BCMA is "y" when B43 is "y" + - LP: #1204600 + * ath9k: fill channel mode in caldata + - LP: #1204600 + * ath9k_hw: Assign default xlna config for AR9485 + - LP: #1204600 + * ath9k_hw: Remove CHANNEL_CW_INT + - LP: #1204600 + * ath9k: Fix noisefloor calibration + - LP: #1204600 + * ath9k: Do not assign noise for NULL caldata + - LP: #1204600 + * iwlwifi: pcie: wake the queue if stopped when being unmapped + - LP: #1204600 + * rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND + - LP: #1204600 + * rt2x00: read 5GHz TX power values from the correct offset + - LP: #1204600 + * vgacon.c: add cond reschedule points in vgacon_do_font_op + - LP: #1204600 + * drm/mgag200: Reject modes that are too big for VRAM + - LP: #1204600 + * drm/mgag200: Added resolution and bandwidth limits for various G200e + products. + - LP: #1204600 + * libceph: Fix NULL pointer dereference in auth client code + - LP: #1204600 + - CVE-2013-1059 + * rtlwifi: rtl8192cu: Fix duplicate if test + - LP: #1204600 + * ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs + - LP: #1204600 + * ext4: fix overflow when counting used blocks on 32-bit architectures + - LP: #1204600 + * vgacon: fix missing include. + - LP: #1204600 + * drivers/cdrom/cdrom.c: use kzalloc() for failing hardware + - LP: #1204600 + * efi_pstore: Check remaining space with QueryVariableInfo() before + writing data + - LP: #1204600 + * efivars: Disable external interrupt while holding efivars->lock + - LP: #1204600 + * efi: be more paranoid about available space when creating variables + - LP: #1204600 + * x86, efivars: firmware bug workarounds should be in platform code + - LP: #1204600 + * efi: Export efi_query_variable_store() for efivars.ko + - LP: #1204600 + * x86,efi: Check max_size only if it is non-zero. + - LP: #1204600 + * x86,efi: Implement efi_no_storage_paranoia parameter + - LP: #1204600 + * Modify UEFI anti-bricking code + - LP: #1204600 + * x86/efi: Fix dummy variable buffer allocation + - LP: #1204600 + * printk: Fix rq->lock vs logbuf_lock unlock lock inversion + - LP: #1204600 + * charger-manager: Ensure event is not used as format string + - LP: #1204600 + * iommu/amd: Only unmap large pages from the first pte + - LP: #1204600 + * Linux 3.5.7.17 + - LP: #1204600 + * fanotify: info leak in copy_event_to_user() + - LP: #1188356 + - CVE-2013-2148 + + -- Brad Figg Fri, 26 Jul 2013 11:00:32 -0700 + +linux (3.5.0-37.58) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1199149 + + [ Brad Figg ] + + * [Config] CONFIG_ATH9K_LEGACY_RATE_CONTROL=y + + [ Tim Gardner ] + + * [Config] CONFIG_SUNRPC_DEBUG=y + - LP: #1127319 + + [ Upstream Kernel Changes ] + + * Revert "serial: 8250_pci: add support for another kind of NetMos + Technology PCI 9835 Multi-I/O Controller" + - LP: #1190967 + * Revert "ath9k_hw: Update rx gain initval to improve rx sensitivity" + - LP: #1197458 + * ata_piix: add PCI IDs for Intel BayTail + - LP: #1197458 + * libata: make ata_exec_internal_sg honor DMADIR + - LP: #1197458 + * cfg80211: check wdev->netdev in connection work + - LP: #1197458 + * xhci-mem: init list heads at the beginning of init + - LP: #1197458 + * xhci: fix list access before init + - LP: #1197458 + * xhci - correct comp_mode_recovery_timer on return from hibernate + - LP: #1197458 + * mac80211: close AP_VLAN interfaces before unregistering all + - LP: #1197458 + * usb: dwc3: gadget: free trb pool only from epnum 2 + - LP: #1197458 + * USB: revert periodic scheduling bugfix + - LP: #1197458 + * USB: serial: fix Treo/Kyocera interrrupt-in urb context + - LP: #1197458 + * USB: visor: fix initialisation of Treo/Kyocera devices + - LP: #1197458 + * USB: mos7720: fix DMA to stack + - LP: #1197458 + * USB: mos7840: fix DMA to stack + - LP: #1197458 + * USB: ark3116: fix control-message timeout + - LP: #1197458 + * USB: iuu_phoenix: fix bulk-message timeout + - LP: #1197458 + * USB: mos7720: fix message timeouts + - LP: #1197458 + * regulator: palmas: Fix "enable_reg" to point to the correct reg for + SMPS10 + - LP: #1197458 + * m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK + - LP: #1197458 + * USB: Serial: cypress_M8: Enable FRWD Dongle hidcom device + - LP: #1197458 + * USB: serial: Add Option GTM681W to qcserial device table. + - LP: #1197458 + * USB: keyspan: fix bogus array index + - LP: #1197458 + * USB: mos7720: fix hardware flow control + - LP: #1197458 + * USB: whiteheat: fix broken port configuration + - LP: #1197458 + * USB: option: blacklist network interface on Huawei E1820 + - LP: #1197458 + * iommu/amd: Re-enable IOMMU event log interrupt after handling. + - LP: #1197458 + * iommu/amd: Workaround for ERBT1312 + - LP: #1197458 + * xen/events: Handle VIRQ_TIMER before any other hardirq in event loop. + - LP: #1197458 + * thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR + - LP: #1197458 + * klist: del waiter from klist_remove_waiters before wakeup waitting + process + - LP: #1197458 + * ACPI video: ignore BIOS backlight value for HP dm4 + - LP: #1197458 + * ACPI video: ignore BIOS initial backlight value for HP 1000 + - LP: #1197458 + * dmaengine: ste_dma40: fix pm runtime ref counting + - LP: #1197458 + * ACPI / video: ignore BIOS initial backlight value for HP m4 + - LP: #1197458 + * ACPI / video: ignore BIOS initial backlight value for HP Pavilion g6 + - LP: #1197458 + * ALSA: usb-audio: fix Roland/Cakewalk UM-3G support + - LP: #1197458 + * drm: fix a use-after-free when GPU acceleration disabled + - LP: #1197458 + * drm/mgag200: Add missing write to index before accessing data register + - LP: #1197458 + * drm/i915: no lvds quirk for hp t5740 + - LP: #1197458 + * radeon: Fix system hang issue when using KMS with older cards + - LP: #1197458 + * drm/radeon: don't allow audio on DCE6 + - LP: #1197458 + * ALSA: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio + iface + - LP: #1197458 + * drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC. + - LP: #1197458 + * ALSA: usb-audio - Fix invalid volume resolution on Logitech HD webcam + c270 + - LP: #1197458 + * ARM: 7742/1: topology: export cpu_topology + - LP: #1197458 + * ARM: 7743/1: compressed/head.S: work around new binutils warning + - LP: #1197458 + * hwmon: (adm1021) Strengthen chip detection for ADM1021, LM84 and + MAX1617 + - LP: #1197458 + * hpfs: drop vmtruncate + - LP: #1197458 + * hpfs: fix warnings when the filesystem fills up + - LP: #1197458 + * powerpc/eeh: Don't check RTAS token to get PE addr + - LP: #1197458 + * drm/gma500: Increase max resolution for mode setting + - LP: #1197458 + * USB: ftdi_sio: Quiet sparse noise about using plain integer was NULL + pointer + - LP: #1197458 + * tg3: Add New 5719 Read DMA workaround + - LP: #1197458 + * tg3: Add read dma workaround for 5720 + - LP: #1197458 + * libceph: clear messenger auth_retry flag when we authenticate + - LP: #1197458 + * libceph: fix authorizer invalidation + - LP: #1197458 + * libceph: add update_authorizer auth method + - LP: #1197458 + * libceph: wrap auth ops in wrapper functions + - LP: #1197458 + * libceph: wrap auth methods in a mutex + - LP: #1197458 + * libceph: register request before unregister linger + - LP: #1197458 + * libceph: always reset osds when kicking + - LP: #1197458 + * libceph: must hold mutex for reset_changed_osds() + - LP: #1197458 + * ceph: add cpu_to_le32() calls when encoding a reconnect capability + - LP: #1197458 + * ceph: ceph_pagelist_append might sleep while atomic + - LP: #1197458 + * drm/gma500/psb: Unpin framebuffer on crtc disable + - LP: #1197458 + * drm/gma500/cdv: Unpin framebuffer on crtc disable + - LP: #1197458 + * drm/i915: prefer VBT modes for SVDO-LVDS over EDID + - LP: #1197458 + * Bluetooth: Fix mgmt handling of power on failures + - LP: #1197458 + * ath9k: Disable PowerSave by default + - LP: #1197458 + * ath9k: Use minstrel rate control by default + - LP: #1197458 + * b43: stop format string leaking into error msgs + - LP: #1197458 + - CVE-2013-2852 + * CPU hotplug: provide a generic helper to disable/enable CPU hotplug + - LP: #1197458 + * reboot: rigrate shutdown/reboot to boot cpu + - LP: #1197458 + * kmsg: honor dmesg_restrict sysctl on /dev/kmsg + - LP: #1197458 + * cciss: fix broken mutex usage in ioctl + - LP: #1197458 + * drivers/rtc/rtc-twl.c: fix missing device_init_wakeup() when booted + with device tree + - LP: #1197458 + * swap: avoid read_swap_cache_async() race to deadlock while waiting on + discard I/O completion + - LP: #1197458 + * mm: migration: add migrate_entry_wait_huge() + - LP: #1197458 + * ceph: fix statvfs fr_size + - LP: #1197458 + * x86: Fix typo in kexec register clearing + - LP: #1197458 + * md/raid1: consider WRITE as successful only if at least one non-Faulty + and non-rebuilding drive completed it. + - LP: #1197458 + * md/raid1,raid10: use freeze_array in place of raise_barrier in various + places. + - LP: #1197458 + * USB: spcp8x5: fix device initialisation at open + - LP: #1197458 + * USB: pl2303: fix device initialisation at open + - LP: #1197458 + * tg3: Wait for boot code to finish after power on + - LP: #1197458 + * powerpc: Fix stack overflow crash in resume_kernel when ftracing + - LP: #1197458 + * powerpc: Fix emulation of illegal instructions on PowerNV platform + - LP: #1197458 + * powerpc: Fix missing/delayed calls to irq_work + - LP: #1197458 + * audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE + - LP: #1197458 + * xen-netfront: reduce gso_max_size to account for max TCP header + - LP: #1197458 + * ext4: lock i_mutex when truncating orphan inodes + - LP: #1197458 + * snd_pcm_link(): fix a leak... + - LP: #1197458 + * Linux 3.5.7.15 + - LP: #1197458 + * clk: remove notifier from list before freeing it + - LP: #1199117 + * ALSA: usb-audio: work around Android accessory firmware bug + - LP: #1199117 + * ALSA: usb-audio: Fix invalid volume resolution for Logitech HD Webcam + c310 + - LP: #1199117 + * tcp: fix tcp_md5_hash_skb_data() + - LP: #1199117 + * gianfar: add missing iounmap() on error in gianfar_ptp_probe() + - LP: #1199117 + * ipv6: fix possible crashes in ip6_cork_release() + - LP: #1199117 + * netlabel: improve domain mapping validation + - LP: #1199117 + * r8169: fix 8168evl frame padding. + - LP: #1199117 + * r8169: fix offloaded tx checksum for small packets. + - LP: #1199117 + * 8139cp: reset BQL when ring tx ring cleared + - LP: #1199117 + * tcp: bug fix in proportional rate reduction. + - LP: #1199117 + * net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg + - LP: #1199117 + * net: Unbreak compat_sys_{send,recv}msg + - LP: #1199117 + * tcp: xps: fix reordering issues + - LP: #1199117 + * ip_tunnel: fix kernel panic with icmp_dest_unreach + - LP: #1199117 + * net: force a reload of first item in hlist_nulls_for_each_entry_rcu + - LP: #1199117 + * ipv6: assign rt6_info to inet6_ifaddr in init_loopback + - LP: #1199117 + * net: sctp: fix NULL pointer dereference in socket destruction + - LP: #1199117 + * team: check return value of team_get_port_by_index_rcu() for NULL + - LP: #1199117 + * packet: packet_getname_spkt: make sure string is always 0-terminated + - LP: #1199117 + * l2tp: Fix PPP header erasure and memory leak + - LP: #1199117 + * l2tp: Fix sendmsg() return value + - LP: #1199117 + * bonding: rlb mode of bond should not alter ARP originating via bridge + - LP: #1199117 + * tilepro: work around module link error with gcc 4.7 + - LP: #1199117 + * Input: cyttsp - fix memcpy size param + - LP: #1199117 + * target/iscsi: don't corrupt bh_count in iscsit_stop_time2retain_timer() + - LP: #1199117 + * tcm_qla2xxx: Fix residual for underrun commands that fail + - LP: #1199117 + * KVM: x86: remove vcpu's CPL check in host-invoked XCR set + - LP: #1199117 + * x86: fix build error and kconfig for ia32_emulation and binfmt + - LP: #1199117 + * USB: serial: ti_usb_3410_5052: new device id for Abbot strip port cable + - LP: #1199117 + * drm/radeon: update lockup tracking when scheduling in empty ring + - LP: #1199117 + * team: move add to port list before port enablement + - LP: #1199117 + * net: sh_eth: fix incorrect RX length error if R8A7740 + - LP: #1199117 + * sctp: fully initialize sctp_outq in sctp_outq_init + - LP: #1199117 + * ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page + - LP: #1199117 + * iwlwifi: dvm: fix chain noise calibration + - LP: #1199117 + * Bluetooth: Fix crash in l2cap_build_cmd() with small MTU + - LP: #1199117 + * hw_breakpoint: Use cpu_possible_mask in {reserve,release}_bp_slot() + - LP: #1199117 + * ARM: 7772/1: Fix missing flush_kernel_dcache_page() for noMMU + - LP: #1199117 + * net/tg3: Avoid delay during MMIO access + - LP: #1199117 + * dlci: acquire rtnl_lock before calling __dev_get_by_name() + - LP: #1199117 + * dlci: validate the net device in dlci_del() + - LP: #1199117 + * Bluetooth: btmrvl: fix thread stopping race + - LP: #1199117 + * pch_uart: fix a deadlock when pch_uart as console + - LP: #1199117 + * perf: Disable monitoring on setuid processes for regular users + - LP: #1199117 + * UBIFS: prepare to fix a horrid bug + - LP: #1199117 + * UBIFS: fix a horrid bug + - LP: #1199117 + * perf: Fix perf mmap bugs + - LP: #1199117 + * perf: Fix mmap() accounting hole + - LP: #1199117 + * Linux 3.5.7.16 + - LP: #1199117 + + -- Brad Figg Mon, 08 Jul 2013 14:22:30 -0700 + +linux (3.5.0-36.57) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1192590 + + [ Timo Aaltonen ] + + * SAUCE: i915_hsw: revert to old drm_mm function names + - LP: #1188305 + * SAUCE: i915_hsw: drm/i915: Adding more reserved PCI IDs for Haswell. + - LP: #1175533 + + -- Steve Conklin Wed, 19 Jun 2013 09:40:57 -0500 + +linux (3.5.0-35.56) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1192206 + + [ Dave Chiluk ] + + * SAUCE: ncpfs: fix rmdir returns Device or resource busy + - LP: #1035226 + + [ Stefan Bader ] + + * (d-i) Add dm-snapshot to md-modules + - LP: #1191726 + + [ Timo Aaltonen ] + + * SAUCE: Update i915_hsw to 3.8.13 + - LP: #1188305 + * SAUCE: i915_hsw: Add new definitions + - LP: #1188305 + * SAUCE: i915_hsw: Revert "drm/i915: use drm_send_vblank_event() helper" + - LP: #1188305 + * SAUCE: i915_hsw: Revert "drm/i915: set the VIC of the mode on the AVI + InfoFrame" + - LP: #1188305 + + [ Upstream Kernel Changes ] + + * hwmon: fix error return code in abituguru_probe() + - LP: #1191905 + * i2c: designware: fix RX FIFO overrun + - LP: #1191905 + * i2c: designware: always clear interrupts before enabling them + - LP: #1191905 + * btrfs: don't stop searching after encountering the wrong item + - LP: #1191905 + * drm/radeon: Fix VRAM size calculation for VRAM >= 4GB + - LP: #1191905 + * mantis: fix silly crash case + - LP: #1191905 + * avr32: fix relocation check for signed 18-bit offset + - LP: #1191905 + * virtio_console: fix uapi header + - LP: #1191905 + * Input: egalax_ts - ABS_MT_POSITION_Y not reported well + - LP: #1191905 + * staging: vt6656: use free_netdev instead of kfree + - LP: #1191905 + * USB: xHCI: override bogus bulk wMaxPacketSize values + - LP: #1191905 + * USB: UHCI: fix for suspend of virtual HP controller + - LP: #1191905 + * USB: reset resume quirk needed by a hub + - LP: #1191905 + * usb: option: Add Telewell TW-LTE 4G + - LP: #1191905 + * USB: Blacklisted Cinterion's PLxx WWAN Interface + - LP: #1191905 + * USB: option: add device IDs for Dell 5804 (Novatel E371) WWAN card + - LP: #1191905 + * USB: ftdi_sio: Add support for Newport CONEX motor drivers + - LP: #1191905 + * USB: cxacru: potential underflow in cxacru_cm_get_array() + - LP: #1191905 + * TTY: Fix tty miss restart after we turn off flow-control + - LP: #1191905 + * cifs: only set ops for inodes in I_NEW state + - LP: #1191905 + * Kirkwood: Enable PCIe port 1 on QNAP TS-11x/TS-21x + - LP: #1191905 + * mac80211: fix AP-mode frame matching + - LP: #1191905 + * ARM: plat-orion: Fix num_resources and id for ge10 and ge11 + - LP: #1191905 + * sunrpc: clarify comments on rpc_make_runnable + - LP: #1191905 + * SUNRPC: Prevent an rpc_task wakeup race + - LP: #1191905 + * perf: net_dropmonitor: Fix trace parameter order + - LP: #1191905 + * perf: net_dropmonitor: Fix symbol-relative addresses + - LP: #1191905 + * fat: fix possible overflow for fat_clusters + - LP: #1191905 + * wait: fix false timeouts when using wait_event_timeout() + - LP: #1191905 + * rapidio/tsi721: fix bug in MSI interrupt handling + - LP: #1191905 + * mm compaction: fix of improper cache flush in migration code + - LP: #1191905 + * mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer + - LP: #1191905 + * drivers/leds/leds-ot200.c: fix error caused by shifted mask + - LP: #1191905 + * drivers/block/brd.c: fix brd_lookup_page() race + - LP: #1191905 + * nilfs2: fix issue of nilfs_set_page_dirty() for page at EOF boundary + - LP: #1191905 + * random: fix accounting race condition with lockless irq entropy_count + update + - LP: #1191905 + * ocfs2: goto out_unlock if ocfs2_get_clusters_nocache() failed in + ocfs2_fiemap() + - LP: #1191905 + * mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas + - LP: #1191905 + * staging:iio:light:tsl2x7x: fix the error handling in tsl2x7x_probe() + - LP: #1191905 + * mwifiex: fix memory leak issue when driver unload + - LP: #1191905 + * dm bufio: avoid a possible __vmalloc deadlock + - LP: #1191905 + * tg3: Skip powering down function 0 on certain serdes devices + - LP: #1191905 + * acpi/video_detect: blacklist samsung x360 + - LP: #1191905 + * ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist + - LP: #1191905 + * ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist + - LP: #1191905 + * mm: mmu_notifier: re-fix freed page still mapped in secondary MMU + - LP: #1191905 + * sched/debug: Limit sd->*_idx range on sysctl + - LP: #1191905 + * sched/debug: Fix sd->*_idx limit range avoiding overflow + - LP: #1191905 + * ipvs: ip_vs_sip_fill_param() BUG: bad check of return value + - LP: #1191905 + * jfs: fix a couple races + - LP: #1191905 + * cifs: fix potential buffer overrun when composing a new options string + - LP: #1191905 + * ASoC: cs42l52: fix default value for MASTERA_VOL. + - LP: #1191905 + * drm/radeon: fix typo in cu_per_sh on verde + - LP: #1191905 + * drm/radeon: fix card_posted check for newer asics + - LP: #1191905 + * NFSv4: Fix a thinko in nfs4_try_open_cached + - LP: #1191905 + * xfs: kill suid/sgid through the truncate path. + - LP: #1191905 + * reiserfs: fix deadlock with nfs racing on create/lookup + - LP: #1191905 + * reiserfs: fix problems with chowning setuid file w/ xattrs + - LP: #1191905 + * reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry + - LP: #1191905 + * xen-netback: remove skb in xen_netbk_alloc_page + - LP: #1191905 + * xen-netback: fix sparse warning + - LP: #1191905 + * xen-netback: coalesce slots in TX path and fix regressions + - LP: #1191905 + * xen-netback: don't disconnect frontend when seeing oversize packet + - LP: #1191905 + * xen-netback: remove redundent parameter in netbk_count_requests + - LP: #1191905 + * xen-netback: avoid allocating variable size array on stack + - LP: #1191905 + * xen-netback: better names for thresholds + - LP: #1191905 + * xen-netfront: remove unused variable `extra' + - LP: #1191905 + * xen-netfront: frags -> slots in xennet_get_responses + - LP: #1191905 + * xen-netfront: frags -> slots in log message + - LP: #1191905 + * Linux 3.5.7.14 + - LP: #1191905 + + -- Steve Conklin Fri, 18 Jun 2013 10:34:21 -0500 + +linux (3.5.0-34.55) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1187926 + + [ Upstream Kernel Changes ] + + * iwlwifi: dvm: fix zero LQ CMD sending avoidance + - LP: #1186932 + + -- Steve Conklin Wed, 05 Jun 2013 15:27:36 -0500 + +linux (3.5.0-33.54) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1186271 + + [ Upstream Kernel Changes ] + + * crypto: algif - suppress sending source address information in recvmsg + - LP: #1172363 + - CVE-2013-3076 + * ax25: fix info leak via msg_name in ax25_recvmsg() + - LP: #1172366 + - CVE-2013-3223 + * Bluetooth: fix possible info leak in bt_sock_recvmsg() + - LP: #1172368 + - CVE-2013-3224 + * tipc: fix info leaks via msg_name in recv_msg/recv_stream + - LP: #1172403 + - CVE-2013-3235 + * rose: fix info leak via msg_name in rose_recvmsg() + - LP: #1172394 + - CVE-2013-3234 + * Bluetooth: RFCOMM - Fix missing msg_namelen update in + rfcomm_sock_recvmsg() + - LP: #1172369 + - CVE-2013-3225 + * atm: update msg_namelen in vcc_recvmsg() + - LP: #1172365 + - CVE-2013-3222 + * iwlwifi: add new pci id for 6x35 series + - LP: #1180256 + * ath9k_htc: accept 1.x firmware newer than 1.3 + - LP: #1186062 + * ssb: implement spurious tone avoidance + - LP: #1186062 + * can: mcp251x: add missing IRQF_ONESHOT to request_threaded_irq + - LP: #1186062 + * can: sja1000: fix handling on dt properties on little endian systems + - LP: #1186062 + * ath9k_hw: change AR9580 initvals to fix a stability issue + - LP: #1186062 + * ARM: 7696/1: Fix kexec by setting outer_cache.inv_all for Feroceon + - LP: #1186062 + * ARM: 7698/1: perf: fix group validation when using enable_on_exec + - LP: #1186062 + * hugetlbfs: add swap entry check in follow_hugetlb_page() + - LP: #1186062 + * kernel/signal.c: stop info leak via the tkill and the tgkill syscalls + - LP: #1186062 + * hfsplus: fix potential overflow in hfsplus_file_truncate() + - LP: #1186062 + * sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s + - LP: #1186062 + * perf/x86: Fix offcore_rsp valid mask for SNB/IVB + - LP: #1186062 + * vm: add vm_iomap_memory() helper function + - LP: #1186062 + * vm: convert HPET mmap to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert fb_mmap to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert mtdchar mmap to vm_iomap_memory() helper + - LP: #1186062 + * regulator: fixed regulator_bulk_enable unwinding code + - LP: #1186062 + * perf: Fix error return code + - LP: #1186062 + * xen/smp: Fix leakage of timer interrupt line for every CPU + online/offline. + - LP: #1186062 + * xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every + CPU online/offline + - LP: #1186062 + * xen/time: Fix kasprintf splat when allocating timer%d IRQ line. + - LP: #1186062 + * s390/memory hotplug: prevent offline of active memory increments + - LP: #1186062 + * aio: fix possible invalid memory access when DEBUG is enabled + - LP: #1186062 + * TTY: do not update atime/mtime on read/write + - LP: #1186062 + * TTY: fix atime/mtime regression + - LP: #1186062 + * caif: Fix missing msg_namelen update in caif_seqpkt_recvmsg() + - LP: #1186062 + * irda: Fix missing msg_namelen update in irda_recvmsg_dgram() + - LP: #1186062 + * iucv: Fix missing msg_namelen update in iucv_sock_recvmsg() + - LP: #1186062 + * llc: Fix missing msg_namelen update in llc_ui_recvmsg() + - LP: #1186062 + * netrom: fix info leak via msg_name in nr_recvmsg() + - LP: #1186062 + * netrom: fix invalid use of sizeof in nr_recvmsg() + - LP: #1186062 + * NFC: llcp: fix info leaks via msg_name in llcp_sock_recvmsg() + - LP: #1186062 + * cbq: incorrect processing of high limits + - LP: #1186062 + * net IPv6 : Fix broken IPv6 routing table after loopback down-up + - LP: #1186062 + * net: count hw_addr syncs so that unsync works properly. + - LP: #1186062 + * atl1e: limit gso segment size to prevent generation of wrong ip length + fields + - LP: #1186062 + * bonding: fix bonding_masters race condition in bond unloading + - LP: #1186062 + * bonding: IFF_BONDING is not stripped on enslave failure + - LP: #1186062 + * af_unix: If we don't care about credentials coallesce all messages + - LP: #1186062 + * netfilter: don't reset nf_trace in nf_reset() + - LP: #1186062 + * rtnetlink: Call nlmsg_parse() with correct header length + - LP: #1186062 + * tcp: incoming connections might use wrong route under synflood + - LP: #1186062 + * tcp: Reallocate headroom if it would overflow csum_start + - LP: #1186062 + * esp4: fix error return code in esp_output() + - LP: #1186062 + * net: sctp: sctp_auth_key_put: use kzfree instead of kfree + - LP: #1186062 + * tcp: call tcp_replace_ts_recent() from tcp_ack() + - LP: #1186062 + * net: rate-limit warn-bad-offload splats. + - LP: #1186062 + * net: fix incorrect credentials passing + - LP: #1186062 + * net: drop dst before queueing fragments + - LP: #1186062 + * sparc64: Fix race in TLB batch processing. + - LP: #1186062 + * l2tp: fix info leak in l2tp_ip6_recvmsg() + - LP: #1186062 + * tracing: Use stack of calling function for stack tracer + - LP: #1186062 + * tracing: Fix stack tracer with fentry use + - LP: #1186062 + * tracing: Remove most or all of stack tracer stack size from + stack_max_size + - LP: #1186062 + * tracing: Fix ftrace_dump() + - LP: #1186062 + * Wrong asm register contraints in the futex implementation + - LP: #1186062 + * Wrong asm register contraints in the kvm implementation + - LP: #1186062 + * cgroup: fix an off-by-one bug which may trigger BUG_ON() + - LP: #1186062 + * PCI / ACPI: Don't query OSC support with all possible controls + - LP: #1186062 + * Fix initialization of CMCI/CMCP interrupts + - LP: #1186062 + * sysfs: fix use after free in case of concurrent read/write and readdir + - LP: #1186062 + * usb/misc/appledisplay: Add 24" LED Cinema display + - LP: #1186062 + * ext4/jbd2: don't wait (forever) for stale tid caused by wraparound + - LP: #1186062 + * jbd2: fix race between jbd2_journal_remove_checkpoint and + ->j_commit_callback + - LP: #1186062 + * ext4: fix journal callback list traversal + - LP: #1186062 + * usb: chipidea: udc: fix memory access of shared memory on armv5 + machines + - LP: #1186062 + * NFSv4: Handle NFS4ERR_DELAY and NFS4ERR_GRACE in + nfs4_open_delegation_recall + - LP: #1186062 + * usb: chipidea: udc: fix memory leak in _ep_nuke + - LP: #1186062 + * USB: add ftdi_sio USB ID for GDM Boost V1.x + - LP: #1186062 + * hrtimer: Add expiry time overflow check in hrtimer_interrupt + - LP: #1186062 + * hrtimer: Fix ktime_add_ns() overflow on 32bit architectures + - LP: #1186062 + * ARM: omap3: cpuidle: enable time keeping + - LP: #1186062 + * tracing: Fix off-by-one on allocating stat->pages + - LP: #1186062 + * USB: option: add a D-Link DWM-156 variant + - LP: #1186062 + * ext4: fix big-endian bug in metadata checksum calculations + - LP: #1186062 + * tracing: Reset ftrace_graph_filter_enabled if count is zero + - LP: #1186062 + * tracing: Check return value of tracing_init_dentry() + - LP: #1186062 + * serial_core.c: add put_device() after device_find_child() + - LP: #1186062 + * PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() + - LP: #1186062 + * wireless: regulatory: fix channel disabling race condition + - LP: #1186062 + * usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl + ep + - LP: #1186062 + * iwlwifi: fix freeing uninitialized pointer + - LP: #1186062 + * iwlwifi: dvm: don't send zeroed LQ cmd + - LP: #1186062 + * LOCKD: Ensure that nlmclnt_block resets block->b_status after a server + reboot + - LP: #1186062 + * ext4: fix online resizing for ext3-compat file systems + - LP: #1186062 + * ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG + - LP: #1186062 + * rt2x00: Fix transmit power troubles on some Ralink RT30xx cards + - LP: #1186062 + * USB: ftdi_sio: correct ST Micro Connect Lite PIDs + - LP: #1186062 + * USB: serial: option: Added support Olivetti Olicard 145 + - LP: #1186062 + * usb-storage: CY7C68300A chips do not support Cypress ATACB + - LP: #1186062 + * USB: ftdi_sio: enable two UART ports on ST Microconnect Lite + - LP: #1186062 + * gianfar: do not advertise any alarm capability. + - LP: #1186062 + * clockevents: Set dummy handler on CPU_DEAD shutdown + - LP: #1186062 + * ixgbe: fix EICR write in ixgbe_msix_other + - LP: #1186062 + * mwifiex: Use pci_release_region() instead of a pci_release_regions() + - LP: #1186062 + * mwifiex: Call pci_release_region after calling pci_disable_device + - LP: #1186062 + * fs/fscache/stats.c: fix memory leak + - LP: #1186062 + * mm: allow arch code to control the user page table ceiling + - LP: #1186062 + * arm: set the page table freeing ceiling to TASK_SIZE + - LP: #1186062 + * drivers/rtc/rtc-cmos.c: don't disable hpet emulation on suspend + - LP: #1186062 + * drivers/rtc/rtc-at91rm9200.c: fix missing iounmap + - LP: #1186062 + * md: bad block list should default to disabled. + - LP: #1186062 + * inotify: invalid mask should return a error number but not set it + - LP: #1186062 + * fs/dcache.c: add cond_resched() to shrink_dcache_parent() + - LP: #1186062 + * exec: do not abuse ->cred_guard_mutex in threadgroup_lock() + - LP: #1186062 + * tty: fix up atime/mtime mess, take three + - LP: #1186062 + * ipc: sysv shared memory limited to 8TiB + - LP: #1186062 + * ARM: 7699/1: sched_clock: Add more notrace to prevent recursion + - LP: #1186062 + * Linux 3.5.7.12 + - LP: #1186062 + * mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload + - LP: #1186062 + * ARM: at91: Fix typo in restart code panic message + - LP: #1186062 + * drm/radeon: don't use get_engine_clock() on APUs + - LP: #1186062 + * nfsd: don't run get_file if nfs4_preprocess_stateid_op return error + - LP: #1186062 + * mmc: core: Fix bit width test failing on old eMMC cards + - LP: #1186062 + * drm/i915: Add no-lvds quirk for Fujitsu Esprimo Q900 + - LP: #1186062 + * mfd: adp5520: Restore mode bits on resume + - LP: #1186062 + * mmc: atmel-mci: pio hang on block errors + - LP: #1186062 + * nfsd4: don't close read-write opens too soon + - LP: #1186062 + * drm/radeon/dce6: add missing display reg for tiling setup + - LP: #1186062 + * ALSA: usb: Add quirk for 192KHz recording on E-Mu devices + - LP: #1186062 + * ALSA: usb-audio: disable autopm for MIDI devices + - LP: #1186062 + * drm/radeon/evergreen+: don't enable HPD interrupts on eDP/LVDS + - LP: #1186062 + * drm/radeon: cleanup properly if mmio mapping fails + - LP: #1186062 + * ASoC: max98088: Fix logging of hardware revision. + - LP: #1186062 + * drm/i915: Workaround incoherence between fences and LLC across multiple + CPUs + - LP: #1186062 + * drm/i915: Fall back to bit banging mode for DVO transmitter detection + - LP: #1186062 + * drm/radeon: fix hdmi mode enable on RS600/RS690/RS740 + - LP: #1186062 + * i2c: xiic: must always write 16-bit words to TX_FIFO + - LP: #1186062 + * nfsd: Decode and send 64bit time values + - LP: #1186062 + * drm/radeon: fix typo in si_select_se_sh() + - LP: #1186062 + * fbcon: when font is freed, clear also vc_font.data + - LP: #1186062 + * powerpc/spufs: Initialise inode->i_ino in spufs_new_inode() + - LP: #1186062 + * ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT + - LP: #1186062 + * ALSA: usb-audio: Fix autopm error during probing + - LP: #1186062 + * drm/gma500: fix backlight hotkeys behaviour on netbooks + - LP: #1186062 + * powerpc: Add isync to copy_and_flush + - LP: #1186062 + * ARM: u300: fix ages old copy/paste bug + - LP: #1186062 + * x86: Eliminate irq_mis_count counted in arch_irq_stat + - LP: #1186062 + * drm/prime: keep a reference from the handle to exported dma-buf (v6) + - LP: #1186062 + * drm/mgag200: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/ast: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/cirrus: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/radeon: fix endian bugs in atom_allocate_fb_scratch() + - LP: #1186062 + * drm/radeon: fix possible segfault when parsing pm tables + - LP: #1186062 + * drm/radeon: add some new SI PCI ids + - LP: #1186062 + * drm/radeon: add new richland pci ids + - LP: #1186062 + * drm/radeon: fix handling of v6 power tables + - LP: #1186062 + * perf/x86/intel/lbr: Fix LBR filter + - LP: #1186062 + * perf/x86/intel/lbr: Demand proper privileges for + PERF_SAMPLE_BRANCH_KERNEL + - LP: #1186062 + * net/eth/ibmveth: Fixup retrieval of MAC address + - LP: #1186062 + * autofs - remove autofs dentry mount check + - LP: #1186062 + * drm/radeon: properly lock disp in mc_stop/resume for evergreen+ + - LP: #1186062 + * drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2) + - LP: #1186062 + * powerpc: fix numa distance for form0 device tree + - LP: #1186062 + * kernel/audit_tree.c: tree will leak memory when failure occurs in + audit_trim_trees() + - LP: #1186062 + * xhci: Don't warn on empty ring for suspended devices. + - LP: #1186062 + * cpufreq: exynos: Get booting freq value in exynos_cpufreq_init + - LP: #1186062 + * ARM: 7692/1: iop3xx: move IOP3XX_PERIPHERAL_VIRT_BASE + - LP: #1186062 + * drm/i915: ensure single initialization and cleanup of backlight device + - LP: #1186062 + * drm/radeon: use frac fb div on RS780/RS880 + - LP: #1186062 + * r8169: fix vlan tag read ordering. + - LP: #1186062 + * r8169: honor jumbo settings when chipset is requested to start. + - LP: #1186062 + * drm/i915: Fix detection of base of stolen memory + - LP: #1186062 + * s390: move dummy io_remap_pfn_range() to asm/pgtable.h + - LP: #1186062 + * x86/mm: account for PGDIR_SIZE alignment + - LP: #1186062 + * drbd: fix for deadlock when using automatic split-brain-recovery + - LP: #1186062 + * cpufreq / Longhaul: Disable driver by default + - LP: #1186062 + * ext4: add check for inodes_count overflow in new resize ioctl + - LP: #1186062 + * powerpc: Emulate non privileged DSCR read and write + - LP: #1186062 + * audit: Syscall rules are not applied to existing processes on non-x86 + - LP: #1186062 + * ASoC: wm8994: missing break in wm8994_aif3_hw_params() + - LP: #1186062 + * tile: support new Tilera hypervisor + - LP: #1186062 + * sd: fix array cache flushing bug causing performance problems + - LP: #1186062 + * ath9k: fix key allocation error handling for powersave keys + - LP: #1186062 + * nfsd4: don't allow owner override on 4.1 CLAIM_FH opens + - LP: #1186062 + * xen/vcpu/pvhvm: Fix vcpu hotplugging hanging. + - LP: #1186062 + * ALSA: HDA: Fix Oops caused by dereference NULL pointer + - LP: #1186062 + * ACPICA: Fix possible buffer overflow during a field unit read operation + - LP: #1186062 + * qmi_wwan/cdc_ether: add device IDs for Dell 5804 (Novatel E371) WWAN + card + - LP: #1186062 + * B43: Handle DMA RX descriptor underrun + - LP: #1186062 + * mwifiex: clear is_suspended flag when interrupt is received early + - LP: #1186062 + * mwifiex: fix setting of multicast filter + - LP: #1186062 + * ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI + devices + - LP: #1186062 + * hp_accel: Ignore the error from lis3lv02d_poweron() at resume + - LP: #1186062 + * KVM: VMX: fix halt emulation while emulating invalid guest sate + - LP: #1186062 + * dm snapshot: fix error return code in snapshot_ctr + - LP: #1186062 + * drm/mgag200: Fix writes into MGA1064_PIX_CLK_CTL register + - LP: #1186062 + * drm/mgag200: Fix framebuffer base address programming + - LP: #1186062 + * hugetlbfs: fix mmap failure in unaligned size request + - LP: #1186062 + * net: qmi_wwan: fixup missing ethernet header (firmware bug workaround) + - LP: #1186062 + * net: qmi_wwan: fixup destination address (firmware bug workaround) + - LP: #1186062 + * net: qmi_wwan: prevent duplicate mac address on link (firmware bug + workaround) + - LP: #1186062 + * tcp: force a dst refcount when prequeue packet + - LP: #1186062 + * sfc: Fix naming of MTD partitions for FPGA bitfiles + - LP: #1186062 + * 3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA) + - LP: #1186062 + * net_sched: act_ipt forward compat with xtables + - LP: #1186062 + * net: use netdev_features_t in skb_needs_linearize() + - LP: #1186062 + * net: vlan,ethtool: netdev_features_t is more than 32 bit + - LP: #1186062 + * bridge: fix race with topology change timer + - LP: #1186062 + * packet: tpacket_v3: do not trigger bug() on wrong header status + - LP: #1186062 + * 3c59x: fix freeing nonexistent resource on driver unload + - LP: #1186062 + * 3c59x: fix PCI resource management + - LP: #1186062 + * if_cablemodem.h: Add parenthesis around ioctl macros + - LP: #1186062 + * macvlan: fix passthru mode race between dev removal and rx path + - LP: #1186062 + * ipv6: do not clear pinet6 field + - LP: #1186062 + * xfrm6: release dev before returning error + - LP: #1186062 + * ext4: limit group search loop for non-extent files + - LP: #1186062 + * iscsi-target: Fix processing of OOO commands + - LP: #1186062 + * tick: Cleanup NOHZ per cpu data on cpu down + - LP: #1186062 + * ACPI / EC: Restart transaction even when the IBF flag set + - LP: #1186062 + * drm/radeon: check incoming cliprects pointer + - LP: #1186062 + * ARM: 7720/1: ARM v6/v7 cmpxchg64 shouldn't clear upper 32 bits of the + old/new value + - LP: #1186062 + * powerpc: Bring all threads online prior to migration/hibernation + - LP: #1186062 + * timer: Don't reinitialize the cpu base lock during CPU_UP_PREPARE + - LP: #1186062 + * tracing: Fix leaks of filter preds + - LP: #1186062 + * usermodehelper: check subprocess_info->path != NULL + - LP: #1186062 + * drivers/char/ipmi: memcpy, need additional 2 bytes to avoid memory + overflow + - LP: #1186062 + * ipmi: ipmi_devintf: compat_ioctl method fails to take ipmi_mutex + - LP: #1186062 + * dm thin: do not set discard_zeroes_data + - LP: #1186062 + * drivers/rtc/rtc-pcf2123.c: fix error return code in pcf2123_probe() + - LP: #1186062 + * pch_dma: Use GFP_ATOMIC because called from interrupt context + - LP: #1186062 + * ARM: EXYNOS5: Fix kernel dump in AFTR idle mode + - LP: #1186062 + * watchdog: Fix race condition in registration code + - LP: #1186062 + * Linux 3.5.7.13 + - LP: #1186062 + + -- Steve Conklin Fri, 31 May 2013 09:29:44 -0500 + +linux (3.5.0-32.53) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1185161 + + [ Upstream Kernel Changes ] + + * iscsi-target: fix heap buffer overflow on error + - CVE-2013-2850 + + -- Steve Conklin Tue, 28 May 2013 15:17:15 -0500 + +linux (3.5.0-31.52) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1180568 + * merged back in delta from 28.48 to 29.49 + + -- Steve Conklin Wed, 15 May 2013 16:25:01 -0500 + +linux (3.5.0-30.51) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1180038 + * Based on 3.5.0-28.48 release + - entire delta from 28.48 to 29.49 removed + - CVE release is based on updates+fix + + [ Upstream Kernel Changes ] + + * perf: Treat attr.config as u64 in perf_swevent_init() + - LP: #1179943 + - CVE-2013-2094 + + -- Steve Conklin Tue, 14 May 2013 13:01:04 -0500 + +linux (3.5.0-29.49) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1177007 + + [ AceLan Kao ] + + * SAUCE: (no-up) alx: disables MSI generation + - LP: #927782 + + [ Brad Figg ] + + * CONFIG: CONFIG_EFI_VARS_PSTORE (not set); CONFIG_PPC_EMULATE_SSTEP=y + + [ Gavin Guo ] + + * SAUCE: Bluetooth: Add support for Broadcom 413c:8143 + - LP: #1166113 + + [ joseph.salisbury@canonical.com ] + + * SAUCE: (no-up) x86: reboot: Make Dell Optiplex 390 use reboot=pci + - LP: #800660 + + [ Leann Ogasawara ] + + * SAUCE: cpuidle: Fix NULL pointer dereference when offlining CPU's + - LP: #1168452 + + [ Stefan Bader ] + + * [Config] Add libceph to base modules list + - LP: #1164739 + + [ Tim Gardner ] + + * SAUCE: (no-up) alx: Don't check netif_running() before powering up + - LP: #1172415 + * [packaging] Bump ABI for every new release + + [ Upstream Kernel Changes ] + + * Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR" + - LP: #1174946 + * Input: ALPS - document the alps.h data structures + - LP: #1089413 + * Input: ALPS - copy "model" info into alps_data struct + - LP: #1089413 + * Input: ALPS - move alps_get_model() down below hw_init code + - LP: #1089413 + * Input: ALPS - introduce helper function for repeated commands + - LP: #1089413 + * Input: ALPS - rework detection sequence + - LP: #1089413 + * Input: ALPS - use function pointers for different protocol handlers + - LP: #1089413 + * Input: ALPS - move {addr,nibble}_command settings into + alps_set_defaults() + - LP: #1089413 + * Input: ALPS - rework detection of Pinnacle AGx touchpads + - LP: #1089413 + * Input: ALPS - fix command mode check + - LP: #1089413 + * Input: ALPS - move pixel and bitmap info into alps_data struct + - LP: #1089413 + * Input: ALPS - make the V3 packet field decoder "pluggable" + - LP: #1089413 + * Input: ALPS - add support for "Rushmore" touchpads + - LP: #1089413 + * Input: ALPS - enable trackstick on Rushmore touchpads + - LP: #1089413 + * Input: ALPS - remove unused argument to alps_enter_command_mode() + - LP: #1089413 + * Input: ALPS - add "Dolphin V1" touchpad support + - LP: #1089413 + * tg3: fix length overflow in VPD firmware parsing + - LP: #1167065 + - CVE-2013-1929 + * Bluetooth: Add support for atheros 04ca:3004 device to ath3k + - LP: #1168852 + * ata_piix: Fix DVD not dectected at some Haswell platforms + - LP: #1170797 + * clockevents: Don't allow dummy broadcast timers + - LP: #1174946 + * Bluetooth: Add support for Dell[QCA 0cf3:0036] + - LP: #1174946 + * Bluetooth: Add support for Dell[QCA 0cf3:817a] + - LP: #1174946 + * ath9k_hw: revert chainmask to user configuration after calibration + - LP: #1174946 + * ath9k: limit tx path hang check to normal data queues + - LP: #1174946 + * rtlwifi: usb: add missing freeing of skbuff + - LP: #1174946 + * net/irda: add missing error path release_sock call + - LP: #1174946 + * pnfs-block: removing DM device maybe cause oops when call dev_remove + - LP: #1174946 + * NFSv4.1: Fix a race in pNFS layoutcommit + - LP: #1174946 + * IPoIB: Fix send lockup due to missed TX completion + - LP: #1174946 + * SUNRPC: Add barriers to ensure read ordering in + rpc_wake_up_task_queue_locked + - LP: #1174946 + * Nest rename_lock inside vfsmount_lock + - LP: #1174946 + * vt: synchronize_rcu() under spinlock is not nice... + - LP: #1174946 + * iommu/amd: Make sure dma_ops are set for hotplug devices + - LP: #1174946 + * i915: initialize CADL in opregion + - LP: #1174946 + * tracing: Protect tracer flags with trace_types_lock + - LP: #1174946 + * tracing: Prevent buffer overwrite disabled for latency tracers + - LP: #1174946 + * nohz: Make tick_nohz_irq_exit() irq safe + - LP: #1174946 + * udf: Fix bitmap overflow on large filesystems with small block size + - LP: #1174946 + * xen/blkback: correctly respond to unknown, non-native requests + - LP: #1174946 + * tty: atmel_serial_probe(): index of atmel_ports[] fix + - LP: #1174946 + * HID: usbhid: quirk for Realtek Multi-card reader + - LP: #1174946 + * HID: usbhid: quirk for MSI GX680R led panel + - LP: #1174946 + * xen-blkback: fix dispatch_rw_block_io() error path + - LP: #1174946 + * sysfs: handle failure path correctly for readdir() + - LP: #1174946 + * usb: xhci: Fix TRB transfer length macro used for Event TRB. + - LP: #1174946 + * staging: comedi: s626: fix continuous acquisition + - LP: #1174946 + * USB: serial: fix hang when opening port + - LP: #1174946 + * Btrfs: fix race between mmap writes and compression + - LP: #1174946 + * Btrfs: fix space leak when we fail to reserve metadata space + - LP: #1174946 + * Btrfs: limit the global reserve to 512mb + - LP: #1174946 + * usb: ftdi_sio: Add support for Mitsubishi FX-USB-AW/-BD + - LP: #1174946 + * Btrfs: don't drop path when printing out tree errors in scrub + - LP: #1174946 + * USB: serial: add modem-status-change wait queue + - LP: #1174946 + * USB: ark3116: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ch341: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: cypress_m8: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: f81232: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ftdi_sio: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: io_edgeport: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: io_ti: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: mct_u232: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: mos7840: fix broken TIOCMIWAIT + - LP: #1174946 + * USB: mos7840: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: oti6858: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: pl2303: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: quatech2: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: spcp8x5: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ssu100: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ti_usb_3410_5052: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * Btrfs: use set_nlink if our i_nlink is 0 + - LP: #1174946 + * Bluetooth: Fix not closing SCO sockets in the BT_CONNECT2 state + - LP: #1174946 + * HID: usbhid: fix build problem + - LP: #1174946 + * sysfs: fix race between readdir and lseek + - LP: #1174946 + * net: remove a WARN_ON() in net_enable_timestamp() + - LP: #1174946 + * sky2: Receive Overflows not counted + - LP: #1174946 + * sky2: Threshold for Pause Packet is set wrong + - LP: #1174946 + * tcp: preserve ACK clocking in TSO + - LP: #1174946 + * tcp: undo spurious timeout after SACK reneging + - LP: #1174946 + * 8021q: fix a potential use-after-free + - LP: #1174946 + * thermal: shorten too long mcast group name + - LP: #1174946 + * genetlink: trigger BUG_ON if a group name is too long + - LP: #1174946 + * unix: fix a race condition in unix_release() + - LP: #1174946 + * bonding: remove already created master sysfs link on failure + - LP: #1174946 + * bonding: fix miimon and arp_interval delayed work race conditions + - LP: #1174946 + * bonding: fix disabling of arp_interval and miimon + - LP: #1174946 + * drivers: net: ethernet: davinci_emac: use netif_wake_queue() while + restarting tx queue + - LP: #1174946 + * drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting + tx queue + - LP: #1174946 + * net: fix *_DIAG_MAX constants + - LP: #1174946 + * aoe: reserve enough headroom on skbs + - LP: #1174946 + * atl1e: drop pci-msi support because of packet corruption + - LP: #1174946 + * DM9000B: driver initialization upgrade + - LP: #1174946 + * ipv6: don't accept multicast traffic with scope 0 + - LP: #1174946 + * ipv6: fix bad free of addrconf_init_net + - LP: #1174946 + * ipv6: don't accept node local multicast traffic from the wire + - LP: #1174946 + * ks8851: Fix interpretation of rxlen field. + - LP: #1174946 + * net: add a synchronize_net() in netdev_rx_handler_unregister() + - LP: #1174946 + * pch_gbe: fix ip_summed checksum reporting on rx + - LP: #1174946 + * smsc75xx: fix jumbo frame support + - LP: #1174946 + * bonding: get netdev_rx_handler_unregister out of locks + - LP: #1174946 + * mac80211: always synchronize_net() during station removal + - LP: #1174946 + * regmap: cache Fix regcache-rbtree sync + - LP: #1174946 + * iwlwifi: dvm: don't send HCMD in restart flow + - LP: #1174946 + * nfsd4: reject "negative" acl lengths + - LP: #1174946 + * can: sja1000: fix define conflict on SH + - LP: #1174946 + * b43: N-PHY: increase initial value of "mind" in RSSI calibration + - LP: #1174946 + * b43: A fix for DMA transmission sequence errors + - LP: #1174946 + * b43: N-PHY: use more bits for offset in RSSI calibration + - LP: #1174946 + * tile: expect new initramfs name from hypervisor file system + - LP: #1174946 + * virtio: console: rename cvq_lock to c_ivq_lock + - LP: #1174946 + * virtio: console: add locking around c_ovq operations + - LP: #1174946 + * ARM: cns3xxx: fix mapping of private memory region + - LP: #1174946 + * loop: prevent bdev freeing while device in use + - LP: #1174946 + * thermal: return an error on failure to register thermal class + - LP: #1174946 + * UBIFS: make space fixup work in the remount case + - LP: #1174946 + * reiserfs: Fix warning and inode leak when deleting inode with xattrs + - LP: #1174946 + * mm: prevent mmap_cache race in find_vma() + - LP: #1174946 + * Linux 3.5.7.10 + - LP: #1174946 + * ASoC: imx-ssi: Fix occasional AC97 reset failure + - LP: #1174946 + * ASoC: dma-sh7760: Fix compile error + - LP: #1174946 + * spi/s3c64xx: modified error interrupt handling and init + - LP: #1174946 + * spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts + - LP: #1174946 + * EISA/PCI: Fix bus res reference + - LP: #1174946 + * EISA/PCI: Init EISA early, before PNP + - LP: #1174946 + * mwifiex: limit channel number not to overflow memory + - LP: #1174946 + * ALSA: hda - bug fix on return value when getting HDMI ELD info + - LP: #1174946 + * x86: remove the x32 syscall bitmask from syscall_get_nr() + - LP: #1174946 + * ixgbe: fix registration order of driver and DCA nofitication + - LP: #1174946 + * alpha: Add irongate_io to PCI bus resources + - LP: #1174946 + * crypto: gcm - fix assumption that assoc has one segment + - LP: #1174946 + * libata: Use integer return value for atapi_command_packet_set + - LP: #1174946 + * libata: Set max sector to 65535 for Slimtype DVD A DS8A8SH drive + - LP: #1174946 + * remoteproc: fix error path of handle_vdev + - LP: #1174946 + * hwspinlock: fix __hwspin_lock_request error path + - LP: #1174946 + * remoteproc: fix FW_CONFIG typo + - LP: #1174946 + * powerpc: pSeries_lpar_hpte_remove fails from Adjunct partition being + performed before the ANDCOND test + - LP: #1174946 + * ftrace: Consistently restore trace function on sysctl enabling + - LP: #1174946 + * spinlocks and preemption points need to be at least compiler barriers + - LP: #1174946 + * drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not + decimal. + - LP: #1174946 + * panic: fix a possible deadlock in panic() + - LP: #1174946 + * Bluetooth: Add support for IMC Networks [13d3:3393] + - LP: #1174946 + * Bluetooth: Add support for GC-WB300D PCIe [04ca:3006] to ath3k. + - LP: #1174946 + * Bluetooth: Add support for Foxconn / Hon Hai [0489:e04e] + - LP: #1174946 + * Bluetooth: Add support for Foxconn / Hon Hai [0489:e056] + - LP: #1174946 + * Bluetooth device 04ca:3008 should use ath3k + - LP: #1174946 + * Bluetooth: Device 0cf3:3008 should map AR 3012 + - LP: #1174946 + * ALSA: hda - Enabling Realtek ALC 671 codec + - LP: #1174946 + * ALSA: hda - fix typo in proc output + - LP: #1174946 + * can: gw: use kmem_cache_free() instead of kfree() + - LP: #1174946 + * tracing: Fix double free when function profile init failed + - LP: #1174946 + * r8169: fix auto speed down issue + - LP: #1174946 + * x86: Fix rebuild with EFI_STUB enabled + - LP: #1174946 + * msi-wmi: Fix memory leak + - LP: #1174946 + * DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines. + - LP: #1174946 + * drm/i915: add quirk to invert brightness on eMachines G725 + - LP: #1174946 + * drm/i915: add quirk to invert brightness on eMachines e725 + - LP: #1174946 + * drm/i915: add quirk to invert brightness on Packard Bell NCL20 + - LP: #1174946 + * block: avoid using uninitialized value in from queue_var_store + - LP: #1174946 + * ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_* + - LP: #1174946 + * PM / reboot: call syscore_shutdown() after disable_nonboot_cpus() + - LP: #1174946 + * ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is + running + - LP: #1174946 + * drm/i915: Use the correct size of the GTT for placing the per-process + entries + - LP: #1174946 + * GFS2: Fix unlock of fcntl locks during withdrawn state + - LP: #1174946 + * libsas: fix handling vacant phy in sas_set_ex_phy() + - LP: #1174946 + * sched_clock: Prevent 64bit inatomicity on 32bit systems + - LP: #1174946 + * x86, mm, paravirt: Fix vmalloc_fault oops during lazy MMU updates + - LP: #1174946 + * x86, mm: Patch out arch_flush_lazy_mmu_mode() when running on bare + metal + - LP: #1174946 + * cifs: Allow passwords which begin with a delimitor + - LP: #1174946 + * target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition + CDBs + - LP: #1174946 + * udl: handle EDID failure properly. + - LP: #1174946 + * tracing: Fix possible NULL pointer dereferences + - LP: #1174946 + * ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section + - LP: #1174946 + * Btrfs: make sure nbytes are right after log replay + - LP: #1174946 + * kobject: fix kset_find_obj() race with concurrent last kobject_put() + - LP: #1174946 + * vfs: Revert spurious fix to spinning prevention in prune_icache_sb + - LP: #1174946 + * kref: Implement kref_get_unless_zero v3 + - LP: #1174946 + * hrtimer: Don't reinitialize a cpu_base lock on CPU_UP + - LP: #1174946 + * ARM: Do 15e0d9e37c (ARM: pm: let platforms select cpu_suspend support) + properly + - LP: #1174946 + * efivars: Allow disabling use as a pstore backend + - LP: #1174946 + * efivars: Add module parameter to disable use as a pstore backend + - LP: #1174946 + * efivars: Fix check for CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE + - LP: #1174946 + * KVM: Allow cross page reads and writes from cached translations. + - LP: #1174946 + * mtd: Disable mtdchar mmap on MMU systems + - LP: #1174946 + * Linux 3.5.7.11 + - LP: #1174946 + + -- Brad Figg Mon, 06 May 2013 10:25:47 -0700 + +linux (3.5.0-28.48) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1172023 + + [ Steve Conklin ] + + * Revert "drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for + scanline waits" + - LP: #1140716 + + [ Upstream Kernel Changes ] + + * fbcon: fix locking harder + - LP: #1167114 + + -- Brad Figg Tue, 23 Apr 2013 14:01:06 -0700 + +linux (3.5.0-28.47) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1166876 + + [ Adam Lee ] + + * SAUCE: Bluetooth: Add support for 105b:e065 + - LP: #1161261 + + [ John Johansen ] + + * SAUCE: (no-up) apparmor: Fix quieting of audit messages for network + mediation + - LP: #1163259 + + [ Upstream Kernel Changes ] + + * NFSv4: Fix the string length returned by the idmapper + - LP: #1101292 + * Input: cypress_ps2 - fix trackpadi found in Dell XPS12 + - LP: #1103594 + * omap_vout: find_vma() needs ->mmap_sem held + - LP: #1164714 + * nfsd: Fix memleak + - LP: #1164714 + * iommu/amd: Initialize device table after dma_ops + - LP: #1164714 + * svcrpc: make svc_age_temp_xprts enqueue under sv_lock + - LP: #1164714 + * target: Add missing mapped_lun bounds checking during make_mappedlun + setup + - LP: #1164714 + * xen-blkback: do not leak mode property + - LP: #1164714 + * btrfs: Init io_lock after cloning btrfs device struct + - LP: #1164714 + * NFS: Don't allow NFS silly-renamed files to be deleted, no signal + - LP: #1164714 + * SUNRPC: Don't start the retransmission timer when out of socket space + - LP: #1164714 + * storvsc: Initialize the sglist + - LP: #1164714 + * dc395x: uninitialized variable in device_alloc() + - LP: #1164714 + * ALSA: bt87x: Make load_all parameter working again + - LP: #1164714 + * ARM: VFP: fix emulation of second VFP instruction + - LP: #1164714 + * ARM: fix scheduling while atomic warning in alignment handling code + - LP: #1164714 + * doc, xen: Mention 'earlyprintk=xen' in the documentation. + - LP: #1164714 + * doc, kernel-parameters: Document 'console=hvc' + - LP: #1164714 + * sony-laptop: fully enable SNY controlled modems + - LP: #1164714 + * x86: Make sure we can boot in the case the BDA contains pure garbage + - LP: #1164714 + * cifs: ensure that cifs_get_root() only traverses directories + - LP: #1164714 + * iscsi-target: Fix immediate queue starvation regression with DATAIN + - LP: #1164714 + * ocfs2: fix ocfs2_init_security_and_acl() to initialize acl correctly + - LP: #1164714 + * ocfs2: ac->ac_allow_chain_relink=0 won't disable group relink + - LP: #1164714 + * block: fix ext_devt_idr handling + - LP: #1164714 + * idr: fix a subtle bug in idr_get_next() + - LP: #1164714 + * block: fix synchronization and limit check in blk_alloc_devt() + - LP: #1164714 + * firewire: add minor number range check to fw_device_init() + - LP: #1164714 + * idr: fix top layer handling + - LP: #1164714 + * sysctl: fix null checking in bin_dn_node_address() + - LP: #1164714 + * nbd: fsync and kill block device on shutdown + - LP: #1164714 + * target/pscsi: Fix page increment + - LP: #1164714 + * xen/pat: Disable PAT using pat_enabled value. + - LP: #1164714 + * xen/pci: We don't do multiple MSI's. + - LP: #1164714 + * xenbus: fix compile failure on ARM with Xen enabled + - LP: #1164714 + * dm snapshot: add missing module aliases + - LP: #1164714 + * ext4: convert number of blocks to clusters properly + - LP: #1164714 + * ata_piix: reenable MS Virtual PC guests + - LP: #1164714 + * nfsd: add get_uint for u32's + - LP: #1164714 + * asus-laptop: Do not call HWRS on init + - LP: #1164714 + * ata_piix: IDE-mode SATA patch for Intel Avoton DeviceIDs + - LP: #1164714 + * ata_piix: Add Device IDs for Intel Wellsburg PCH + - LP: #1164714 + * ata_piix: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1164714 + * fs: cachefiles: add support for large files in filesystem caching + - LP: #1164714 + * fuse: don't WARN when nlink is zero + - LP: #1164714 + * usb hid quirks for Masterkit MA901 usb radio + - LP: #1164714 + * pstore: Avoid deadlock in panic and emergency-restart path + - LP: #1164714 + * unbreak automounter support on 64-bit kernel with 32-bit userspace (v2) + - LP: #1164714 + * workqueue: consider work function when searching for busy work items + - LP: #1164714 + * zram: Fix deadlock bug in partial read/write + - LP: #1164714 + * md: protect against crash upon fsync on ro array + - LP: #1164714 + * md: fix two bugs when attempting to resize RAID0 array. + - LP: #1164714 + * md: raid0: fix error return from create_stripe_zones. + - LP: #1164714 + * ath9k: fix RSSI dummy marker value + - LP: #1164714 + * ath9k_htc: fix signal strength handling issues + - LP: #1164714 + * ath9k_hw: improve reset reliability after errors + - LP: #1164714 + * mwifiex: correct sleep delay counter + - LP: #1164714 + * libertas: fix crash for SD8688 + - LP: #1164714 + * hw_random: make buffer usable in scatterlist. + - LP: #1164714 + * drm/i915: Don't clobber crtc->fb when queue_flip fails + - LP: #1164714 + * ARM: 7657/1: head: fix swapper and idmap population with LPAE and + big-endian + - LP: #1164714 + * ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bit + - LP: #1164714 + * userns: Stop oopsing in key_change_session_keyring + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Fix peak attribute handling + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Use detected chip ID to select supported + functionality + - LP: #1164714 + * hwmon: (sht15) Check return value of regulator_enable() + - LP: #1164714 + * random: fix locking dependency with the tasklist_lock + - LP: #1164714 + * ALSA: vmaster: Fix slave change notification + - LP: #1164714 + * ALSA: ice1712: Initialize card->private_data properly + - LP: #1164714 + * drm/radeon: add primary dac adj quirk for R200 board + - LP: #1164714 + * dmi_scan: fix missing check for _DMI_ signature in smbios_present() + - LP: #1164714 + * Btrfs: account for orphan inodes properly during cleanup + - LP: #1164714 + * HID: logitech-dj: do not directly call hid_output_raw_report() during + probe + - LP: #1164714 + * ftrace: Update the kconfig for DYNAMIC_FTRACE + - LP: #1164714 + * e1000e: fix pci-device enable-counter balance + - LP: #1164714 + * Fix memory leak in cpufreq stats. + - LP: #1164714 + * Btrfs: fix panic when recovering tree log + - LP: #1164714 + * xen/pciback: Don't disable a PCI device that is already disabled. + - LP: #1164714 + * vfs: fix pipe counter breakage + - LP: #1164714 + * Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and + security keys + - LP: #1164714 + * drm/i915: Increase the RC6p threshold. + - LP: #1164714 + * USB: Handle warm reset failure on empty port. + - LP: #1164714 + * USB: Don't use EHCI port sempahore for USB 3.0 hubs. + - LP: #1164714 + * USB: Prepare for refactoring by adding extra udev checks. + - LP: #1164714 + * USB: Rip out recursive call on warm port reset. + - LP: #1164714 + * USB: Fix connected device switch to Inactive state. + - LP: #1164714 + * Linux 3.5.7.8 + - LP: #1164714 + * USB: option: add Huawei E5331 + - LP: #1164714 + * USB: storage: fix Huawei mode switching regression + - LP: #1164714 + * USB: added support for Cinterion's products AH6 and PLS8 + - LP: #1164714 + * ALSA: seq: Fix missing error handling in snd_seq_timer_open() + - LP: #1164714 + * usb: cp210x new Vendor/Device IDs + - LP: #1164714 + * staging: vt6656: Fix oops on resume from suspend. + - LP: #1164714 + * qcaux: add Franklin U600 + - LP: #1164714 + * ext3: Fix format string issues + - LP: #1164714 + * tty/serial: Add support for Altera serial port + - LP: #1164714 + * Fix 4 port and add support for 8 port 'Unknown' PCI serial port cards + - LP: #1164714 + * serial: 8250_pci: add support for another kind of NetMos Technology PCI + 9835 Multi-I/O Controller + - LP: #1164714 + * tty: serial: fix typo "ARCH_S5P6450" + - LP: #1164714 + * usb: serial: Add Rigblaster Advantage to device table + - LP: #1164714 + * w1: fix oops when w1_search is called from netlink connector + - LP: #1164714 + * USB: cdc-wdm: fix buffer overflow + - LP: #1164714 + * hwmon: (lineage-pem) Add missing terminating entry for + pem_[input|fan]_attributes + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Fix temperature reporting + - LP: #1164714 + * btrfs: use rcu_barrier() to wait for bdev puts at unmount + - LP: #1164714 + * hwmon: (sht15) Fix memory leak if regulator_enable() fails + - LP: #1164714 + * TTY: do not reset master's packet mode + - LP: #1164714 + * virtio: rng: disallow multiple device registrations, fixes crashes + - LP: #1164714 + * block: use i_size_write() in bd_set_size() + - LP: #1164714 + * loopdev: fix a deadlock + - LP: #1164714 + * loopdev: remove an user triggerable oops + - LP: #1164714 + * proc connector: reject unprivileged listener bumps + - LP: #1164714 + * s390: critical section cleanup vs. machine checks + - LP: #1164714 + * s390/mm: fix flush_tlb_kernel_range() + - LP: #1164714 + * powerpc: Fix STAB initialization + - LP: #1164714 + * powerpc: Fix cputable entry for 970MP rev 1.0 + - LP: #1164714 + * atmel_lcdfb: fix 16-bpp modes on older SOCs + - LP: #1164714 + * selinux: use GFP_ATOMIC under spin_lock + - LP: #1164714 + * perf,x86: fix kernel crash with PEBS/BTS after suspend/resume + - LP: #1164714 + * perf,x86: fix link failure for non-Intel configs + - LP: #1164714 + * perf,x86: fix wrmsr_on_cpu() warning on suspend/resume + - LP: #1164714 + * l2tp: Restore socket refcount when sendmsg succeeds + - LP: #1164714 + * rds: limit the size allocated by rds_message_alloc() + - LP: #1164714 + * net: ipv6: Don't purge default router if accept_ra=2 + - LP: #1164714 + * tcp: fix double-counted receiver RTT when leaving receiver fast path + - LP: #1164714 + * tun: add a missing nf_reset() in tun_net_xmit() + - LP: #1164714 + * macvlan: Set IFF_UNICAST_FLT flag to prevent unnecessary promisc mode. + - LP: #1164714 + * netlabel: correctly list all the static label mappings + - LP: #1164714 + * netlabel: fix build problems when CONFIG_IPV6=n + - LP: #1164714 + * bridging: fix rx_handlers return code + - LP: #1164714 + * ipv6: stop multicast forwarding to process interface scoped addresses + - LP: #1164714 + * rtnl: fix info leak on RTM_GETLINK request for VF devices + - LP: #1164714 + * dcbnl: fix various netlink info leaks + - LP: #1164714 + * 6lowpan: Fix endianness issue in is_addr_link_local(). + - LP: #1164714 + * ahci: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1164714 + * ahci: AHCI-mode SATA patch for Intel Avoton DeviceIDs + - LP: #1164714 + * ahci: Add Device IDs for Intel Wellsburg PCH + - LP: #1164714 + * HID: add support for Sony RF receiver with USB product id 0x0374 + - LP: #1164714 + * HID: clean up quirk for Sony RF receivers + - LP: #1164714 + * rt2x00: error in configurations with mesh support disabled + - LP: #1164714 + * mwifiex: fix potential out-of-boundary access to ibss rate table + - LP: #1164714 + * rtlwifi: rtl8192cu: Fix schedule while atomic bug splat + - LP: #1164714 + * rtlwifi: rtl8192cu: Fix problem that prevents reassociation + - LP: #1164714 + * vhost/net: fix heads usage of ubuf_info + - LP: #1164714 + * udf: avoid info leak on export + - LP: #1164714 + * isofs: avoid info leak on export + - LP: #1164714 + * key: Fix resource leak + - LP: #1164714 + * ext4: fix the wrong number of the allocated blocks in + ext4_split_extent() + - LP: #1164714 + * jbd2: fix use after free in jbd2_journal_dirty_metadata() + - LP: #1164714 + * ext4: use atomic64_t for the per-flexbg free_clusters count + - LP: #1164714 + * tracing: Fix race in snapshot swapping + - LP: #1164714 + * cifs: delay super block destruction until all cifsFileInfo objects are + gone + - LP: #1164714 + * drm/i915: restrict kernel address leak in debugfs + - LP: #1164714 + * drm/i915: bounds check execbuffer relocation count + - LP: #1164714 + - CVE-2013-0913 + * tracing: Fix free of probe entry by calling call_rcu_sched() + - LP: #1164714 + * tracing: Keep overwrite in sync between regular and snapshot buffers + - LP: #1164714 + * USB: xhci: correctly enable interrupts + - LP: #1164714 + * usb-storage: add unusual_devs entry for Samsung YP-Z3 mp3 player + - LP: #1164714 + * drm/radeon: fix backend map setup on 1 RB trinity boards + - LP: #1164714 + * drm/radeon/benchmark: make sure bo blit copy exists before using it + - LP: #1164714 + * drm/radeon: add support for Richland APUs + - LP: #1164714 + * drm/radeon: add Richland pci ids + - LP: #1164714 + * ALSA: hda/cirrus - Fix the digital beep registration + - LP: #1164714 + * USB: xhci - fix bit definitions for IMAN register + - LP: #1164714 + * x86-64: Fix the failure case in copy_user_handle_tail() + - LP: #1164714 + * target/iscsi: Fix mutual CHAP auth on big-endian arches + - LP: #1164714 + * target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os + - LP: #1164714 + * ALSA: snd-usb: mixer: propagate errors up the call chain + - LP: #1164714 + * ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() + - LP: #1164714 + * ext4: fix data=journal fast mount/umount hang + - LP: #1164714 + * ALSA: hda - Fix typo in checking IEC958 emphasis bit + - LP: #1164714 + * usb: gadget: udc-core: fix a regression during gadget driver unbinding + - LP: #1164714 + * usb: gadget: ffs: fix enable multiple instances + - LP: #1164714 + * dm thin: fix discard corruption + - LP: #1164714 + * dm verity: avoid deadlock + - LP: #1164714 + * drm/mgag200: Bug fix: Modified pll algorithm for EH project + - LP: #1164714 + * cifs: ignore everything in SPNEGO blob after mechTypes + - LP: #1164714 + * USB: cdc-acm: fix device unregistration + - LP: #1164714 + * USB: garmin_gps: fix memory leak on disconnect + - LP: #1164714 + * USB: io_ti: fix get_icount for two port adapters + - LP: #1164714 + * USB: serial: fix interface refcounting + - LP: #1164714 + * i2c: tegra: check the clk_prepare_enable() return value + - LP: #1164714 + * mm/hugetlb: fix total hugetlbfs pages count when using memory + overcommit accouting + - LP: #1164714 + * drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR + - LP: #1164714 + * KMS: fix EDID detailed timing vsync parsing + - LP: #1164714 + * KMS: fix EDID detailed timing frame rate + - LP: #1164714 + * tg3: 5715 does not link up when autoneg off + - LP: #1164714 + * sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline + option + - LP: #1164714 + * sfc: Disable VF queues during register self-test + - LP: #1164714 + * sfc: Really disable flow control while flushing + - LP: #1164714 + * sfc: Convert firmware subtypes to native byte order in + efx_mcdi_get_board_cfg() + - LP: #1164714 + * sfc: Add parentheses around use of bitfield macro arguments + - LP: #1164714 + * sfc: Fix MCDI structure field lookup + - LP: #1164714 + * sfc: Avoid generating over-length MC_CMD_FLUSH_RX_QUEUES request + - LP: #1164714 + * sfc: Work-around flush timeout when flushes have completed + - LP: #1164714 + * sfc: lock TX queues when calling netif_device_detach() + - LP: #1164714 + * sfc: Correctly initialise reset_method in siena_test_chip() + - LP: #1164714 + * sfc: Fix timekeeping in efx_mcdi_poll() + - LP: #1164714 + * sfc: Properly sync RX DMA buffer when it is not the last in the page + - LP: #1164714 + * sfc: Fix efx_rx_buf_offset() in the presence of swiotlb + - LP: #1164714 + * sfc: Correct efx_rx_buffer::page_offset when EFX_PAGE_IP_ALIGN != 0 + - LP: #1164714 + * sfc: Detach net device when stopping queues for reconfiguration + - LP: #1164714 + * sfc: Only use TX push if a single descriptor is to be written + - LP: #1164714 + * sfc: Disable soft interrupt handling during efx_device_detach_sync() + - LP: #1164714 + * sctp: don't break the loop while meeting the active_path so as to find + the matched transport + - LP: #1164714 + * netconsole: don't call __netpoll_cleanup() while atomic + - LP: #1164714 + * net/ipv4: Ensure that location of timestamp option is stored + - LP: #1164714 + * bonding: don't call update_speed_duplex() under spinlocks + - LP: #1164714 + * sctp: Use correct sideffect command in duplicate cookie handling + - LP: #1164714 + * ipv4: fix definition of FIB_TABLE_HASHSZ + - LP: #1164714 + * rtnetlink: Mask the rta_type when range checking + - LP: #1164714 + * tcp: fix skb_availroom() + - LP: #1164714 + * inet: limit length of fragment queue hash table bucket lists + - LP: #1164714 + * bnx2x: fix occasional statistics off-by-4GB error + - LP: #1164714 + * signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear + sa_restorer + - LP: #1164714 + * kernel/signal.c: use __ARCH_HAS_SA_RESTORER instead of SA_RESTORER + - LP: #1164714 + * vfs,proc: guarantee unique inodes in /proc + - LP: #1164714 + * Linux 3.5.7.9 + - LP: #1164714 + * KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME + (CVE-2013-1796) + - LP: #1158254 + - CVE-2013-1796 + * KVM: Fix bounds checking in ioapic indirect register reads + (CVE-2013-1798) + - LP: #1158262 + - CVE-2013-1798 + * KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions + (CVE-2013-1797) + - LP: #1158258 + - CVE-2013-1797 + * drm/i915: "Flush Me Harder" required on gen6+ + - LP: #1140716 + * drm/i915: PIPE_CONTROL_TLB_INVALIDATE + - LP: #1140716 + * drm/i915: Apply post-sync write for pipe control invalidates + - LP: #1140716 + * drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op v3 + - LP: #1140716 + * drm/i915: PIPE_CONTROL TLB invalidate requires CS stall + - LP: #1140716 + + -- Steve Conklin Tue, 09 Apr 2013 11:43:02 -0500 + +linux (3.5.0-27.46) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1159991 + + [ Steve Conklin ] + + * Start New Release + + [ Upstream Kernel Changes ] + + * crypto: user - fix info leaks in report API + - LP: #1156790, #1156795, #1156799 + - CVE-2013-2546 + * brcmsmac: fix mismatch in number of custom regulatory rules + - LP: #1156769 + + [ Xiangliang Yu ] + + * SAUCE: PCI: define macro for marvell vendor ID + - LP: #1159863 + * SAUCE: PCI: fix system hang issue of Marvell SATA host controller + - LP: #1159863 + + -- Steve Conklin Mon, 25 Mar 2013 14:32:06 -0500 + +linux (3.5.0-27.45) quantal-proposed; urgency=low + + [Steve Conklin] + + * no change + + -- Steve Conklin Tue, 19 Mar 2013 15:26:20 -0500 + +linux (3.5.0-27.44) quantal-proposed; urgency=low + + [Steve Conklin] + + * no change + + -- Steve Conklin Tue, 19 Mar 2013 10:26:04 -0500 + +linux (3.5.0-27.43) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1157270 + + [ Adam Lee ] + + * SAUCE: Bluetooth: Add support for 04ca:2007 + - LP: #1153448 + + [ Andy Whitcroft ] + + * [Config] re-disable CONFIG_SOUND_OSS_PRECLAIM + - LP: #1105230 + + [ Brad Figg ] + + * Start new release + + [ Kamal Mostafa ] + + * SAUCE: alx: use github.com/qca/alx repo + - LP: #1154238 + + [ Luis Henriques ] + + * [Config] CONFIG_NFS_V4_1=y + - LP: #1111416 + + [ Qualcomm Atheros, Inc ] + + * SAUCE: alx: Update to heads/master + - LP: #1154238 + + [ Upstream Kernel Changes ] + + * Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S" + - LP: #1144961 + * genirq: Avoid deadlock in spurious handling + - LP: #1144961 + * KVM: s390: Handle hosts not supporting s390-virtio. + - LP: #1144961 + * v4l: Reset subdev v4l2_dev field to NULL if registration fails + - LP: #1144961 + * powerpc/eeh: Fix crash when adding a device in a slot with DDW + - LP: #1144961 + * pcmcia/vrc4171: Add missing spinlock init + - LP: #1144961 + * USB: DWC3: Generate interrupt on each TRB as default option + - LP: #1144961 + * usb: dwc3: gadget: fix skip LINK_TRB on ISOC + - LP: #1144961 + * usb: dwc3: gadget: req->queued must be forced to false in cleanup + - LP: #1144961 + * Purge existing TLB entries in set_pte_at and ptep_set_wrprotect + - LP: #1144961 + * ARM: PXA3xx: program the CSMSADRCFG register + - LP: #1144961 + * ab8500-chargalg: Only root should have write permission on sysfs file + - LP: #1144961 + * USB: option: add and update Alcatel modems + - LP: #1144961 + * uprobes/powerpc: Add dependency on single step emulation + - LP: #1144961 + * drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp + - LP: #1144961 + * s390/kvm: Fix store status for ACRS/FPRS + - LP: #1144961 + * staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors + - LP: #1144961 + * ALSA: usb-audio: fix Roland A-PRO support + - LP: #1144961 + * x86-32, mm: Rip out x86_32 NUMA remapping code + - LP: #1144961 + * x86-32, mm: Remove reference to resume_map_numa_kva() + - LP: #1144961 + * x86-32, mm: Remove reference to alloc_remap() + - LP: #1144961 + * ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open() + - LP: #1144961 + * ab8500_btemp: Demote initcall sequence + - LP: #1144961 + * Driver core: treat unregistered bus_types as having no devices + - LP: #1144961 + * ALSA: aloop: Fix Oops while PM resume + - LP: #1144961 + * ASoC: wm2200: correct IN2L and IN3L digital mute + - LP: #1144961 + * tty: set_termios/set_termiox should not return -EINTR + - LP: #1144961 + * ARM: i.MX25: clk: parent per5_clk to AHB clock + - LP: #1144961 + * hrtimer: Prevent hrtimer_enqueue_reprogram race + - LP: #1144961 + * staging: comedi: check s->async for poll(), read() and write() + - LP: #1144961 + * ACPI: Add DMI entry for Sony VGN-FW41E_H + - LP: #1144961 + * timeconst.pl: Eliminate Perl warning + - LP: #1144961 + * p54usb: corrected USB ID for T-Com Sinus 154 data II + - LP: #1144961 + * rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id + - LP: #1144961 + * rtlwifi: rtl8192cu: Add new USB ID + - LP: #1144961 + * USB: storage: properly handle the endian issues of idProduct + - LP: #1144961 + * ALSA: rme32.c irq enabling after spin_lock_irq + - LP: #1144961 + * ALSA: ali5451: remove irq enabling in pointer callback + - LP: #1144961 + * ARM: 7643/1: sched: correct update_sched_clock() + - LP: #1144961 + * ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with + ALC889 + - LP: #1144961 + * x86: Hyper-V: register clocksource only if its advertised + - LP: #1144961 + * USB: option: add Yota / Megafon M100-1 4g modem + - LP: #1144961 + * USB: serial: fix null-pointer dereferences on disconnect + - LP: #1144961 + * idr: idr_for_each_entry() macro + - LP: #1144961 + * pps: Add pps_lookup_dev() function + - LP: #1144961 + * pps: Use pps_lookup_dev to reduce ldisc coupling + - LP: #1144961 + * pps: Fix a use-after free bug when unregistering a source. + - LP: #1144961 + * USB: option: add Huawei "ACM" devices using protocol = vendor + - LP: #1144961 + * ARM: samsung: fix assembly syntax for new gas + - LP: #1144961 + * USB: ehci-omap: Don't free gpios that we didn't request + - LP: #1144961 + * USB: ehci-omap: Fix autoloading of module + - LP: #1144961 + * USB: usb-storage: unusual_devs update for Super TOP SATA bridge + - LP: #1144961 + * perf tools: Fix build with bison 2.3 and older. + - LP: #1144961 + * serial: imx: Fix recursive locking bug + - LP: #1144961 + * posix-cpu-timers: Fix nanosleep task_struct leak + - LP: #1144961 + * drivercore: Fix ordering between deferred_probe and exiting initcalls + - LP: #1144961 + * NFSv4.1: Don't decode skipped layoutgets + - LP: #1144961 + * umount oops when remove blocklayoutdriver first + - LP: #1144961 + * HID: wiimote: fix nunchuck button parser + - LP: #1144961 + * cgroup: fix exit() vs rmdir() race + - LP: #1144961 + * cpuset: fix cpuset_print_task_mems_allowed() vs rename() race + - LP: #1144961 + * rtlwifi: usb: allocate URB control message setup_packet and data buffer + separately + - LP: #1144961 + * b43: Increase number of RX DMA slots + - LP: #1144961 + * futex: Revert "futex: Mark get_robust_list as deprecated" + - LP: #1144961 + * NLM: Ensure that we resend all pending blocking locks after a reclaim + - LP: #1144961 + * ALSA: hda - hdmi: ELD shouldn't be valid after unplug + - LP: #1144961 + * xen: close evtchn port if binding to irq fails + - LP: #1144961 + * xen: Send spinlock IPI to all waiters + - LP: #1011792, #1144961 + * ALSA: usb: Fix Processing Unit Descriptor parsers + - LP: #1144961 + * inotify: remove broken mask checks causing unmount to be EINVAL + - LP: #1144961 + * fs/block_dev.c: page cache wrongly left invalidated after + revalidate_disk() + - LP: #1144961 + * ocfs2: unlock super lock if lockres refresh failed + - LP: #1144961 + * drivers/video/backlight/adp88?0_bl.c: fix resume + - LP: #1144961 + * powerpc/kexec: Disable hard IRQ before kexec + - LP: #1144961 + * mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may + safely schedule + - LP: #1144961 + * mm: mmu_notifier: make the mmu_notifier srcu static + - LP: #1144961 + * mmu_notifier_unregister NULL Pointer deref and multiple ->release() + callouts + - LP: #1144961 + * mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to + discard all pages + - LP: #1144961 + * tmpfs: fix use-after-free of mempolicy object + - LP: #1144961 + * dca: check against empty dca_domains list before unregister provider + - LP: #1144961 + * ext4: return ENOMEM if sb_getblk() fails + - LP: #1144961 + * ext4: check bh in ext4_read_block_bitmap() + - LP: #1144961 + * quota: autoload the quota_v2 module for QFMT_VFS_V1 quota format + - LP: #1144961 + * ext4: fix possible use-after-free with AIO + - LP: #1144961 + * drm/i915: Fix CAGF for HSW + - LP: #1144961 + * ext4: fix race in ext4_mb_add_n_trim() + - LP: #1144961 + * UBIFS: fix use of freed ubifs_orphan objects + - LP: #1144961 + * UBIFS: fix double free of ubifs_orphan objects + - LP: #1144961 + * drm/radeon/dce6: fix display powergating + - LP: #1144961 + * vgacon/vt: clear buffer attributes when we load a 512 character font + (v2) + - LP: #1144961 + * fbcon: don't lose the console font across generic->chip driver switch + - LP: #1144961 + * drm/usb: bind driver to correct device + - LP: #1144961 + * drm/udl: make usage as a console safer + - LP: #1144961 + * drm/udl: disable fb_defio by default + - LP: #1144961 + * fb: rework locking to fix lock ordering on takeover + - LP: #1144961 + * fb: Yet another band-aid for fixing lockdep mess + - LP: #1144961 + * ext4: fix xattr block allocation/release with bigalloc + - LP: #1144961 + * target: Fix lookup of dynamic NodeACLs during cached demo-mode + operation + - LP: #1144961 + * target: Add missing mapped_lun bounds checking during make_mappedlun + setup + - LP: #1144961 + * ftrace: Call ftrace cleanup module notifier after all other notifiers + - LP: #1144961 + * drm: don't add inferred modes for monitors that don't support them + - LP: #1144961 + * drm/i915: disable shared panel fitter for pipe + - LP: #1144961 + * drm: Fill depth/bits_per_pixel for C8 format + - LP: #1144961 + * drm: Use C8 instead of RGB332 when determining the format from + depth/bpp + - LP: #1144961 + * drm/i915: add missing \n to UTS_RELEASE in the error_state + - LP: #1144961 + * drm/i915: Set i9xx sdvo clock limits according to specifications + - LP: #1144961 + * drm/i915: inverted brightness quirk for Acer Aspire 4736Z + - LP: #1144961 + * intel/iommu: force writebuffer-flush quirk on Gen 4 Chipsets + - LP: #1144961 + * drm/radeon: remove overzealous warning in hdmi handling + - LP: #1144961 + * x86, efi: Make "noefi" really disable EFI runtime serivces + - LP: #1144961 + * posix-timer: Don't call idr_find() with out-of-range ID + - LP: #1144961 + * ext4: fix free clusters calculation in bigalloc filesystem + - LP: #1144961 + * fs: Fix possible use-after-free with AIO + - LP: #1144961 + * mmc: sdhci-esdhc-imx: fix host version read + - LP: #1144961 + * b43: Fix lockdep splat on module unload + - LP: #1144961 + * ocfs2: fix possible use-after-free with AIO + - LP: #1144961 + * x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS. + - LP: #1144961 + * igb: Remove artificial restriction on RQDPC stat reading + - LP: #1144961 + * ptrace/x86: Introduce set_task_blockstep() helper + - LP: #1144961 + * ptrace/x86: Partly fix set_task_blockstep()->update_debugctlmsr() logic + - LP: #1144961 + * sunvdc: Fix off-by-one in generic_request(). + - LP: #1144961 + * sparc64: Fix gfp_flags setting in tsb_grow(). + - LP: #1144961 + * bridge: set priority of STP packets + - LP: #1144961 + * xen-netback: correctly return errors from netbk_count_requests() + - LP: #1144961 + * xen-netback: cancel the credit timer when taking the vif down + - LP: #1144961 + * net: fix a compile error when SOCK_REFCNT_DEBUG is enabled + - LP: #1144961 + * ipv4: fix a bug in ping_err(). + - LP: #1144961 + * ipv6: use a stronger hash for tcp + - LP: #1144961 + * ARM: 7635/1: versatile: fix the PCI IRQ regression + - LP: #1144961 + * staging: vt6656: Fix URB submitted while active warning. + - LP: #1144961 + * vlan: adjust vlan_set_encap_proto() for its callers + - LP: #1144961 + * gpio/ich: Add missing spinlock init + - LP: #1144961 + * staging: comedi: ni_labpc: set up command4 register *after* command3 + - LP: #1144961 + * staging: comedi: ni_labpc: correct differential channel sequence for AI + commands + - LP: #1144961 + * tty: Prevent deadlock in n_gsm driver + - LP: #1144961 + * Linux 3.5.7.7 + - LP: #1144961 + * i915_hsw: don't send DP "idle" pattern before "normal" on HSW PORT_A + - LP: #1138700 + * mfd: rtsx: Optimize card detect flow + - LP: #1148892 + * mfd: rtsx: Fix issue that booting OS with SD card inserted + - LP: #1148892 + * drm/radeon: add new AMD ACPI header and update relevant code (v2) + - LP: #1110219 + * drm/radeon: add a license header to radeon_apci.c + - LP: #1110219 + * drm/radeon: track whether the GPU controls the backlight (v2) + - LP: #1110219 + * drm/radeon: rework legacy backlight control + - LP: #1110219 + * drm/radeon: add backlight control for atom devices (v2) + - LP: #1110219 + * drm/radeon: refactor radeon_atif_call + - LP: #1110219 + * drm/radeon: implement radeon_atif_verify_interface + - LP: #1110219 + * drm/radeon: implement wrapper for GET_SYSTEM_PARAMS + - LP: #1110219 + * drm/radeon: implement handler for ACPI event + - LP: #1110219 + * drm/radeon: re-organize the acpi notifier callback + - LP: #1110219 + * ACPI video: allow events handlers to veto the keypress + - LP: #1110219 + * drm/radeon: block the keypress on ATIF events + - LP: #1110219 + * keys: fix race with concurrent install_user_keyrings() + - LP: #1152788 + - CVE-2013-1792 + * mfd: rtsx: Add clock divider hook + - LP: #1153618 + * mfd: rtsx: Implement driving adjustment to device-dependent callbacks + - LP: #1153618 + * mfd: rtsx: Support RTS5227 + - LP: #1153618 + * mmc: rtsx: remove driving adjustment + - LP: #1153618 + * x86/apic: Remove noisy zero-mask warning from + default_send_IPI_mask_logical() + - LP: #1100202 + * signal: always clear sa_restorer on execve + - LP: #1153813 + - CVE-2013-0914 + + -- Steve Conklin Mon, 18 Mar 2013 13:39:54 -0500 + +linux (3.5.0-26.42) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1152715 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094, #1147678 + + -- Steve Conklin Fri, 08 Mar 2013 12:50:52 -0600 + +linux (3.5.0-26.42) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1152715 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094, #1147678 + + -- Steve Conklin Fri, 08 Mar 2013 12:50:52 -0600 + +linux (3.5.0-26.40) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1133429 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094 + + [ Ian Campbell ] + + * SAUCE: xen/netback: shutdown the ring if it contains garbage. + - LP: #1117325 + - CVE-2013-0216 + * SAUCE: netback: correct netbk_tx_err to handle wrap around. + - LP: #1117325 + - CVE-2013-0216 + * SAUCE: xen/netback: don't leak pages on failure in + xen_netbk_tx_check_gop. + - LP: #1117331 + - CVE-2013-0217 + * SAUCE: xen/netback: free already allocated memory on failure in + xen_netbk_get_requests + - LP: #1117331 + - CVE-2013-0217 + + [ Jan Beulich ] + + * SAUCE: xen-pciback: rate limit error messages from + xen_pcibk_enable_msi{, x}() + - LP: #1117336 + - CVE-2013-0231 + + [ Tim Gardner ] + + * [Config] CONFIG_SATA_AHCI=m + - LP: #1056563 + * SAUCE: rt2x00: rt2x00pci_regbusy_read() - only print register access + failure once + - LP: #1128840 + + [ Upstream Kernel Changes ] + + * Revert "USB: Handle warm reset failure on empty port." + - LP: #1131944 + * xen: Fix stack corruption in xen_failsafe_callback for 32bit PVOPS + guests. + - LP: #1102374 + - CVE-2013-0190 + * virtio-blk: Don't free ida when disk is in use + - LP: #1119885 + * ioat: Fix DMA memory sync direction correct flag + - LP: #1119885 + * PCI: pciehp: Use per-slot workqueues to avoid deadlock + - LP: #1119885 + * PCI/AER: pci_get_domain_bus_and_slot() call missing required + pci_dev_put() + - LP: #1119885 + * xen/grant-table: correctly initialize grant table version 1 + - LP: #1119885 + * serial:ifx6x60:Delete SPI timer when shut down port + - LP: #1119885 + * tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler + - LP: #1119885 + * drm/i915: Invalidate the relocation presumed_offsets along the slow + path + - LP: #1119885 + * ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone + - LP: #1119885 + * staging: vt6656: Fix inconsistent structure packing + - LP: #1119885 + * 8250/16?50: Add support for Broadcom TruManage redirected serial port + - LP: #1119885 + * KVM: PPC: Emulate dcbf + - LP: #1119885 + * staging: wlan-ng: Fix clamping of returned SSID length + - LP: #1119885 + * USB: option: blacklist network interface on ONDA MT8205 4G LTE + - LP: #1119885 + * USB: option: add TP-LINK HSUPA Modem MA180 + - LP: #1119885 + * ALSA: hda - Fix mute led for another HP machine + - LP: #1096789, #1119885 + * usb: dwc3: gadget: fix ep->maxburst for ep0 + - LP: #1119885 + * ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled + - LP: #1119885 + * ACPI / processor: Get power info before updating the C-states + - LP: #1119885 + * ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with + sparsemem + - LP: #1119885 + * evm: checking if removexattr is not a NULL + - LP: #1119885 + * ALSA: hda - Add Conexant CX20755/20756/20757 codec IDs + - LP: #1119885 + * ftrace: Be first to run code modification on modules + - LP: #1119885 + * i2c: mxs: Fix type of error code + - LP: #1119885 + * USB: UHCI: fix IRQ race during initialization + - LP: #1119885 + * async: fix __lowest_in_progress() + - LP: #1119885 + * fs/cifs/cifs_dfs_ref.c: fix potential memory leakage + - LP: #1119885 + * ARM: at91: rm9200: remake the BGA as default version + - LP: #1119885 + * Bluetooth: Fix sending HCI commands after reset + - LP: #1119885 + * Bluetooth: Fix incorrect strncpy() in hidp_setup_hid() + - LP: #1119885 + * ath9k_htc: Fix memory leak + - LP: #1119885 + * ath9k: do not link receive buffers during flush + - LP: #1119885 + * ath9k: add a better fix for the rx tasklet vs rx flush race + - LP: #1119885 + * ath9k: fix rx flush handling + - LP: #1119885 + * brcmsmac: increase timer reference count for new timers only + - LP: #1119885 + * ath9k: remove sc->rx.rxbuflock to fix a deadlock + - LP: #1119885 + * ath9k: disable the tasklet before taking the PCU lock + - LP: #1119885 + * ASoC: wm2200: correct mixer values and text + - LP: #1119885 + * mac80211: fix FT roaming + - LP: #1119885 + * mac80211: synchronize scan off/on-channel and PS states + - LP: #1119885 + * efi, x86: Pass a proper identity mapping in efi_call_phys_prelog + - LP: #1119885 + * iwlegacy: fix IBSS cleanup + - LP: #1119885 + * ath9k_hw: fix calibration issues on chainmask that don't include chain + 0 + - LP: #1119885 + * ath9k_hw: fix chain swap setting when setting rx chainmask to 5 + - LP: #1119885 + * mwifiex: fix typo in PCIe adapter NULL check + - LP: #1119885 + * drm/i915: Disable AsyncFlip performance optimisations + - LP: #1119885 + * drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for scanline + waits + - LP: #1119885 + * iommu/intel: disable DMAR for g4x integrated gfx + - LP: #1119885 + * drm/i915: dump UTS_RELEASE into the error_state + - LP: #1119885 + * ALSA: hda - Add a fixup for Packard-Bell desktop with ALC880 + - LP: #1119885 + * drm/radeon: fix cursor corruption on DCE6 and newer + - LP: #1119885 + * radeon_display: Use pointer return error codes + - LP: #1119885 + * drm/radeon: fix error path in kpage allocation + - LP: #1119885 + * drm/radeon: fix a rare case of double kfree + - LP: #1119885 + * x86/msr: Add capabilities check + - LP: #1119885 + * x86, efi: Set runtime_version to the EFI spec revision + - LP: #1119885 + * can: c_can: fix invalid error codes + - LP: #1119885 + * can: ti_hecc: fix invalid error codes + - LP: #1119885 + * can: pch_can: fix invalid error codes + - LP: #1119885 + * ALSA: usb-audio: fix invalid length check for RME and other UAC 2 + devices + - LP: #1119885 + * smp: Fix SMP function call empty cpu mask race + - LP: #1119885 + * IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround + - LP: #1119885 + * xfs: Fix possible use-after-free with AIO + - LP: #1119885 + * powerpc/book3e: Disable interrupt after preempt_schedule_irq + - LP: #1119885 + * ALSA: hda - Fix non-snoop page handling + - LP: #1119885 + * EDAC: Test correct variable in ->store function + - LP: #1119885 + * NFS: Fix error reporting in nfs_xdev_mount + - LP: #1119885 + * NFS: Don't silently fail setattr() requests on mountpoints + - LP: #1119885 + * NFSv4.1: Handle NFS4ERR_DELAY when resetting the NFSv4.1 session + - LP: #1119885 + * drivers/firmware/dmi_scan.c: check dmi version when get system uuid + - LP: #1119885 + * drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists + - LP: #1119885 + * ahci: Add support for Enmotus Bobcat device. + - LP: #1119885 + * ahci: Fix lack of command retry after a success error handler. + - LP: #1119885 + * x86/Sandy Bridge: mark arrays in __init functions as __initconst + - LP: #1119885 + * x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI + - LP: #1119885 + * drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled + - LP: #1119885 + * ahci: Add identifiers for ASM106x devices + - LP: #1119885 + * module: fix symbol waiting when module fails before init + - LP: #1119885 + * module: wait when loading a module which is currently initializing. + - LP: #1119885 + * module: add new state MODULE_STATE_UNFORMED. + - LP: #1119885 + * module: put modules in list much earlier. + - LP: #1119885 + * module: fix missing module_mutex unlock + - LP: #1119885 + * intel_idle: Don't register CPU notifier if we are not running. + - LP: #1119885 + * xfs: fix periodic log flushing + - LP: #1119885 + * gspca_kinect: add Kinect for Windows USB id + - LP: #1119885 + * ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area + - LP: #1119885 + * Linux 3.5.7.5 + - LP: #1119885 + * net: fix infinite loop in __skb_recv_datagram() + - LP: #1129184 + - CVE-2013-0290 + * vhost: fix length for cross region descriptor + - LP: #1130951 + - CVE-2013-0311 + * xhci: Fix isoc TD encoding. + - LP: #1131944 + * xhci: Fix TD size for isochronous URBs. + - LP: #1131944 + * drivers: xhci: fix incorrect bit test + - LP: #1131944 + * USB: XHCI: fix memory leak of URB-private data + - LP: #1131944 + * usb: Prevent dead ports when xhci is not enabled + - LP: #1131944 + * usb: Using correct way to clear usb3.0 device's remote wakeup feature. + - LP: #1131944 + * sched/rt: Use root_domain of rt_rq not current processor + - LP: #1131944 + * USB: EHCI: fix timer bug affecting port resume + - LP: #1131944 + * regulator: max8998: fix incorrect min_uV value for ldo10 + - LP: #1131944 + * drm/radeon: fix MC blackout on evergreen+ + - LP: #1131944 + * drm/radeon: add WAIT_UNTIL to the non-VM safe regs list for cayman/TN + - LP: #1131944 + * rtlwifi: Fix the usage of the wrong variable in usb.c + - LP: #1131944 + * e1000e: enable ECC on I217/I218 to catch packet buffer memory errors + - LP: #1131944 + * drm/radeon: add quirk for RV100 board + - LP: #1131944 + * USB: qcserial: add Telit Gobi QDL device + - LP: #1131944 + * USB: option: add support for Telit LE920 + - LP: #1131944 + * drm/radeon: fix backend map setup on 1 RB sumo boards + - LP: #1131944 + * drm/radeon: protect against div by 0 in backend setup + - LP: #1131944 + * mwifiex: fix incomplete scan in case of IE parsing error + - LP: #1131944 + * USB: EHCI: fix bug in scheduling periodic split transfers + - LP: #1131944 + * x86-64: Replace left over sti/cli in ia32 audit exit code + - LP: #1131944 + * drm/radeon/evergreen+: wait for the MC to settle after MC blackout + - LP: #1131944 + * Bluetooth: Fix handling of unexpected SMP PDUs + - LP: #1131944 + * drm/radeon: Calling object_unrefer() when creating fb failure + - LP: #1131944 + * drm/radeon: prevent crash in the ring space allocation + - LP: #1131944 + * target: Fix divide by zero bug in fabric_max_sectors for unconfigured + devices + - LP: #1131944 + * digsig: Fix memory leakage in digsig_verify_rsa() + - LP: #1131944 + * can: c_can: Set reserved bit in IFx_MASK2 to 1 on write + - LP: #1131944 + * USB: ftdi_sio: add PID/VID entries for ELV WS 300 PC II + - LP: #1131944 + * USB: option: add Changhong CH690 + - LP: #1131944 + * USB: ftdi_sio: add Zolix FTDI PID + - LP: #1131944 + * USB: storage: Define a new macro for USB storage match rules + - LP: #1131944 + * USB: storage: optimize to match the Huawei USB storage devices and + support new switch command + - LP: #1131944 + * rtlwifi: Fix scheduling while atomic bug + - LP: #1131944 + * nilfs2: fix fix very long mount time issue + - LP: #1131944 + * mm/hugetlb: set PTE as huge in hugetlb_change_protection and + remove_migration_pte + - LP: #1131944 + * drivers/rtc/rtc-isl1208.c: call rtc_update_irq() from the alarm irq + handler + - LP: #1131944 + * drivers/rtc/rtc-pl031.c: fix the missing operation on enable + - LP: #1131944 + * virtio_console: Don't access uninitialized data. + - LP: #1131944 + * HID: usbhid: quirk for Formosa IR receiver + - LP: #1131944 + * kernel/resource.c: fix stack overflow in __reserve_region_with_split() + - LP: #1131944 + * net: prevent setting ttl=0 via IP_TTL + - LP: #1131944 + * ipv6: fix the noflags test in addrconf_get_prefix_route + - LP: #1131944 + * MAINTAINERS: Stephen Hemminger email change + - LP: #1131944 + * ipv6: fix header length calculation in ip6_append_data() + - LP: #1131944 + * macvlan: fix macvlan_get_size() + - LP: #1131944 + * net: calxedaxgmac: throw away overrun frames + - LP: #1131944 + * net/mlx4_en: Fix bridged vSwitch configuration for non SRIOV mode + - LP: #1131944 + * net/mlx4_core: Set number of msix vectors under SRIOV mode to firmware + defaults + - LP: #1131944 + * isdn/gigaset: fix zero size border case in debug dump + - LP: #1131944 + * netxen: fix off by one bug in netxen_release_tx_buffer() + - LP: #1131944 + * r8169: remove the obsolete and incorrect AMD workaround + - LP: #1131944 + * net: loopback: fix a dst refcounting issue + - LP: #1131944 + * pktgen: correctly handle failures when adding a device + - LP: #1131944 + * ipv6: do not create neighbor entries for local delivery + - LP: #1131944 + * via-rhine: Fix bugs in NAPI support. + - LP: #1131944 + * packet: fix leakage of tx_ring memory + - LP: #1131944 + * atm/iphase: rename fregt_t -> ffreg_t + - LP: #1131944 + * sctp: refactor sctp_outq_teardown to insure proper re-initalization + - LP: #1131944 + * net: sctp: sctp_setsockopt_auth_key: use kzfree instead of kfree + - LP: #1131944 + * net: sctp: sctp_endpoint_free: zero out secret key data + - LP: #1131944 + * tcp: frto should not set snd_cwnd to 0 + - LP: #1131944 + * tcp: fix for zero packets_in_flight was too broad + - LP: #1131944 + * tg3: Avoid null pointer dereference in tg3_interrupt in netconsole mode + - LP: #1131944 + * tg3: Fix crc errors on jumbo frame receive + - LP: #1131944 + * s390/timer: avoid overflow when programming clock comparator + - LP: #1131944 + * x86: Do not leak kernel page mapping locations + - LP: #1131944 + * x86/apic: Work around boot failure on HP ProLiant DL980 G7 Server + systems + - LP: #1131944 + * drivers/rtc/rtc-pl031.c: restore ST variant functionality + - LP: #1131944 + * mm: don't overwrite mm->def_flags in do_mlockall() + - LP: #1131944 + * x86/mm: Check if PUD is large when validating a kernel address + - LP: #1131944 + * PCI/PM: Clean up PME state when removing a device + - LP: #1131944 + * efi: Clear EFI_RUNTIME_SERVICES rather than EFI_BOOT by "noefi" boot + parameter + - LP: #1131944 + * mm: fix pageblock bitmap allocation + - LP: #1131944 + * Linux 3.5.7.6 + - LP: #1131944 + + -- Brad Figg Tue, 26 Feb 2013 08:44:21 -0800 + +linux (3.5.0-25.39) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1132885 + + [ Upstream Kernel Changes ] + + * sock_diag: Fix out-of-bounds access to sock_diag_handlers[] + + -- Brad Figg Mon, 25 Feb 2013 09:04:12 -0800 + +linux (3.5.0-25.38) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1129472 + + [ Upstream Kernel Changes ] + + * ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up() + - LP: #1119885, #1129192 + - CVE-2013-0871 + * ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL + - LP: #1119885, #1129192 + - CVE-2013-0871 + * wake_up_process() should be never used to wakeup a TASK_STOPPED/TRACED + task + - LP: #1119885, #1129192 + - CVE-2013-0871 + + -- Luis Henriques Mon, 18 Feb 2013 21:57:04 +0000 + +linux (3.5.0-24.37) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1117492 + + [ Tim Gardner ] + + * [Config] CONFIG_ALX=m for x86 only + - LP: #927782 + + -- Luis Henriques Wed, 06 Feb 2013 17:29:44 +0000 + +linux (3.5.0-24.36) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1116501 + + [ Adam Lee ] + + * [Config] Enable RTSX_PCI modules + - LP: #1057089 + + [ Andy Whitcroft ] + + * [Config] enable various HVC consoles + - LP: #1102206 + + [ Brad Figg ] + + * Revert "SAUCE: samsung-laptop: disable in UEFI mode" + - LP: #1111689 + + [ Herton Ronaldo Krzesinski ] + + * [Config] updateconfigs for 3.5.7.3 stable update + * d-i: Add mellanox ethernet drivers to nic-modules + - LP: #1015339 + + [ Kamal Mostafa ] + + * SAUCE: alx driver import script + - LP: #927782 + + [ Qualcomm Atheros, Inc ] + + * SAUCE: alx: Update to heads/master + - LP: #927782 + + [ Seth Forshee ] + + * SAUCE: samsung-laptop: Add quirk for broken acpi_video backlight on + N250P + - LP: #1086921 + + [ Stefan Bader ] + + * (config) Move 9p modules into generic package + - LP: #1107658 + + [ Tim Gardner ] + + * [debian] Remove dangling symlink from headers package + - LP: #1112442 + * [config] CONFIG_ALX=m + - LP: #927782 + * [Config] Add alx to d-i nic-modules + - LP: #927782 + + [ Upstream Kernel Changes ] + + * Revert "8139cp: revert "set ring address before enabling receiver"" + - LP: #1102417 + * Revert "ath9k_hw: Update AR9003 high_power tx gain table" + - LP: #1102417 + * Revert "drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13" + - LP: #1102417 + * Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat + codecs" + - LP: #1106966, #886975 + * be2net: don't call vid_config() when there's no vlan config + - LP: #1083088 + * be2net: cleanup be_vid_config() + - LP: #1083088 + * be2net: do not modify PCI MaxReadReq size + - LP: #1083088 + * be2net: fix reporting number of actual rx queues + - LP: #1083088 + * be2net: do not use SCRATCHPAD register + - LP: #1083088 + * be2net: Fix driver load for VFs for Lancer + - LP: #1083088 + * be2net: Explicitly clear the reserved field in the Tx Descriptor + - LP: #1083088 + * be2net: Regression bug wherein VFs creation broken for multiple cards. + - LP: #1083088 + * be2net: Fix to trim skb for padded vlan packets to workaround an ASIC + Bug + - LP: #1083088 + * be2net: Fix Endian + - LP: #1083088 + * be2net: Fix error while toggling autoneg of pause parameters + - LP: #1083088 + * be2net : Fix die temperature stat for Lancer + - LP: #1083088 + * be2net: Fix initialization sequence for Lancer + - LP: #1083088 + * be2net: Activate new FW after FW download for Lancer + - LP: #1083088 + * be2net: Fix cleanup path when EQ creation fails + - LP: #1083088 + * be2net: Enable RSS UDP hashing for Lancer and Skyhawk + - LP: #1083088 + * be2net: dont pull too much data in skb linear part + - LP: #1083088 + * be2net: Fix VF driver load for Lancer + - LP: #1083088 + * be2net: Ignore physical link async event for Lancer + - LP: #1083088 + * be2net: Fix to parse RSS hash from Receive completions correctly. + - LP: #1083088 + * netpoll: revert 6bdb7fe3104 and fix be_poll() instead + - LP: #1083088 + * be2net: create RSS rings even in multi-channel configs + - LP: #1083088 + * be2net: fix max VFs reported by HW + - LP: #1083088 + * be2net: fix FW default for VF tx-rate + - LP: #1083088 + * be2net: fixup malloc/free of adapter->pmac_id + - LP: #1083088 + * be2net: fix wrong handling of be_setup() failure in be_probe() + - LP: #1083088 + * be2net: cleanup code related to be_link_status_query() + - LP: #1083088 + * be2net: fix vfs enumeration + - LP: #1083088 + * be2net: Remove code that stops further access to BE NIC based on UE + bits + - LP: #1083088 + * mtip32xx: Add support for new devices + - LP: #1099913 + * mtip32xx: Handle NCQ commands during the security locked state + - LP: #1099913 + * mtip32xx: Increase timeout for standby command + - LP: #1099913 + * mtip32xx: Proper reporting of write protect status on big-endian + - LP: #1099913 + * mtip32xx: Change printk to pr_xxxx + - LP: #1099913 + * mtip32xx: Remove dead code + - LP: #1099913 + * mtip32xx: fix user_buffer check in exec_drive_command + - LP: #1099913 + * mtip32xx:Added appropriate timeout value for secure erase + - LP: #1099913 + * mtip32xx: fix potential crash on SEC_ERASE_UNIT + - LP: #1099913 + * mtip32xx: Fix to make lba address correct in big-endian systems + - LP: #1099913 + * mtip32xx: Fix incorrect mask used for erase mode + - LP: #1099913 + * mtip32xx: fix shift larger than type warning + - LP: #1099913 + * mtip32xx: fix potential NULL pointer dereference in + mtip_timeout_function() + - LP: #1099913 + * mtip32xx: Fix padding issue + - LP: #1099913 + * KVM: PPC: e500: fix allocation size error on g2h_tlb1_map + - LP: #1102417 + * s390/kvm: dont announce RRBM support + - LP: #1102417 + * cgroup: cgroup_subsys->fork() should be called after the task is added + to css_set + - LP: #1102417 + * freezer: add missing mb's to freezer_count() and freezer_should_skip() + - LP: #1102417 + * ath9k_hw: Enable hw PLL power save for AR9462 + - LP: #1102417 + * usb: gadget: tcm_usb_gadget: NULL terminate the FS descriptor list + - LP: #1102417 + * usb: gadget: network: fix bind() error path + - LP: #1102417 + * usb: gadget: midi: free hs descriptors + - LP: #1102417 + * usb: gadget: phonet: free requests in pn_bind()'s error path + - LP: #1102417 + * usb: gadget: uvc: fix error path in uvc_function_bind() + - LP: #1102417 + * x86: hpet: Fix masking of MSI interrupts + - LP: #1102417 + * usb: musb: cppi_dma: export cppi_interrupt() + - LP: #1102417 + * iscsi-target: Fix bug in handling of ExpStatSN ACK during u32 + wrap-around + - LP: #1102417 + * iscsi-target: Always send a response before terminating iSCSI + connection + - LP: #1102417 + * SUNRPC: Fix validity issues with rpc_pipefs sb->s_fs_info + - LP: #1102417 + * ext4: fix memory leak in ext4_xattr_set_acl()'s error path + - LP: #1102417 + * ARM: mm: use pteval_t to represent page protection values + - LP: #1102417 + * perf test: fix a build error on builtin-test + - LP: #1102417 + * USB: fix endpoint-disabling for failed config changes + - LP: #1102417 + * genirq: Always force thread affinity + - LP: #1102417 + * xhci: Fix conditional check in bandwidth calculation. + - LP: #1102417 + * xHCI: Fix TD Size calculation on 1.0 hosts. + - LP: #1102417 + * xhci: fix null-pointer dereference when destroying half-built segment + rings + - LP: #1102417 + * xhci: Extend Fresco Logic MSI quirk. + - LP: #1102417 + * usb: host: xhci: Stricter conditional for Z1 system models for + Compliance Mode Patch + - LP: #1102417 + * Staging: bcm: Add two products and remove an existing product. + - LP: #1102417 + * rcu: Fix batch-limit size problem + - LP: #1102417 + * ext4: init pagevec in ext4_da_block_invalidatepages + - LP: #1102417 + * powerpc: Fix CONFIG_RELOCATABLE=y CONFIG_CRASH_DUMP=n build + - LP: #1102417 + * ftrace: Clear bits properly in reset_iter_read() + - LP: #1102417 + * cdc-acm: implement TIOCSSERIAL to avoid blocking close(2) + - LP: #1102417 + * ACPI / battery: Correct battery capacity values on Thinkpads + - LP: #1102417 + * cgroup: remove incorrect dget/dput() pair in cgroup_create_dir() + - LP: #1102417 + * Bluetooth: Add support for BCM20702A0 [04ca, 2003] + - LP: #1102417 + * Bluetooth: Add support for BCM20702A0 [0b05, 17b5] + - LP: #1102417 + * regulator: wm831x: Set the new rather than old value for DVS VSEL + - LP: #1102417 + * drm: fix documentation for drm_crtc_set_mode() + - LP: #1102417 + * mfd: Only unregister platform devices allocated by the mfd core + - LP: #1102417 + * NFS: Add sequence_priviliged_ops for nfs4_proc_sequence() + - LP: #1102417 + * drm/i915: make the panel fitter work on pipes B and C on IVB + - LP: #1102417 + * USB: add new zte 3g-dongle's pid to option.c + - LP: #1102417 + * ACPI / PM: Add Sony Vaio VPCEB1S1E to nonvs blacklist. + - LP: #1102417 + * mfd: wm8994: Add support for WM1811 rev E + - LP: #1102417 + * 8139cp: set ring address after enabling C+ mode + - LP: #1102417 + * USB: OHCI: workaround for hardware bug: retired TDs not added to the + Done Queue + - LP: #1102417 + * USB: option: blacklist network interface on Huawei E173 + - LP: #1102417 + * USB: cp210x: add Virtenio Preon32 device id + - LP: #1102417 + * usb: ftdi_sio: fixup BeagleBone A5+ quirk + - LP: #1102417 + * USB: ftdi_sio: Add support for Newport AGILIS motor drivers + - LP: #1102417 + * qla2xxx: Look up LUN for abort requests + - LP: #1102417 + * iscsit: use GFP_ATOMIC under spin lock + - LP: #1102417 + * ASoC: wm8994: Use the same DCS codes for all WM1811 variants + - LP: #1102417 + * sata_promise: fix hardreset lockdep error + - LP: #1102417 + * xhci: Add Lynx Point LP to list of Intel switchable hosts + - LP: #1102417 + * USB: mark uas driver as BROKEN + - LP: #1102417 + * can: Do not call dev_put if restart timer is running upon close + - LP: #1102417 + * mlx4_core: Fix potential deadlock in mlx4_eq_int() + - LP: #1102417 + * xfs: fix stray dquot unlock when reclaiming dquots + - LP: #1102417 + * KVM: Fix user memslot overlap check + - LP: #1102417 + * ext4: fix possible use after free with metadata csum + - LP: #1102417 + * prevent stack buffer overflow in host_reset + - LP: #1102417 + * mvsas: fix undefined bit shift + - LP: #1102417 + * qla2xxx: Test and clear FCPORT_UPDATE_NEEDED atomically. + - LP: #1102417 + * ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set + - LP: #1102417 + * ACPI / PNP: Do not crash due to stale pointer use during system resume + - LP: #1102417 + * ring-buffer: Fix NULL pointer if rb_set_head_page() fails + - LP: #1102417 + * firewire: net: Fix handling of fragmented multicast/broadcast packets. + - LP: #1102417 + * HID: Add Apple wireless keyboard 2011 ANSI to special driver list + - LP: #1102417 + * libata: set dma_mode to 0xff in reset + - LP: #1102417 + * s390/cio: fix pgid reserved check + - LP: #1102417 + * Bluetooth: Add missing lock nesting notation + - LP: #1102417 + * Bluetooth: cancel power_on work when unregistering the device + - LP: #1102417 + * Input: wacom - fix touch support for Bamboo Fun CTH-461 + - LP: #1102417 + * ALSA: usb-audio: Avoid autopm calls after disconnection + - LP: #1102417 + * ALSA: usb-audio: Fix missing autopm for MIDI input + - LP: #1102417 + * ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000 + - LP: #1102417 + * mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL + - LP: #1102417 + * Revert: "rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe + fails" + - LP: #1102417 + * x86,AMD: Power driver support for AMD's family 16h processors + - LP: #1102417 + * target/file: Fix 32-bit highmem breakage for SGL -> iovec mapping + - LP: #1102417 + * drm/i915: Close race between processing unpin task and queueing the + flip + - LP: #1102417 + * cgroup_rm_file: don't delete the uncreated files + - LP: #1102417 + * pnpacpi: fix incorrect TEST_ALPHA() test + - LP: #1102417 + * drm/radeon: stop page faults from hanging the system (v2) + - LP: #1102417 + * drm/radeon/dce32+: use fractional fb dividers for high clocks + - LP: #1102417 + * drm/radeon: fix eDP clk and lane setup for scaled modes + - LP: #1102417 + * regmap: debugfs: Avoid overflows for very small reads + - LP: #1102417 + * b43legacy: Fix firmware loading when driver is built into the kernel + - LP: #1102417 + * ath9k: ar9003: fix OTP register offsets for AR9340 + - LP: #1102417 + * bcma: mips: fix clearing device IRQ + - LP: #1102417 + * ath9k_hw: Fix signal strength / channel noise reporting + - LP: #1102417 + * ath5k: fix tx path skb leaks + - LP: #1102417 + * b43: fix tx path skb leaks + - LP: #1102417 + * drm/i915: drop buggy write to FDI_RX_CHICKEN register + - LP: #1102417 + * drm/i915: disable cpt phase pointer fdi rx workaround + - LP: #1102417 + * iwlwifi: silently ignore fw flaws in Tx path + - LP: #1102417 + * iwlwifi: don't handle masked interrupt + - LP: #1102417 + * mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls + - LP: #1102417 + * nfs: don't extend writes to cover entire page if pagecache is invalid + - LP: #1102417 + * solos-pci: fix double-free of TX skb in DMA mode + - LP: #1102417 + * ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522 + - LP: #1102417 + * nfs: don't zero out the rest of the page if we hit the EOF on a DIO + READ + - LP: #1102417 + * drm/radeon: fix amd afusion gpu setup aka sumo v2 + - LP: #1102417 + * NFS: avoid NULL dereference in nfs_destroy_server + - LP: #1102417 + * sbp-target: fix error path in sbp_make_tpg() + - LP: #1102417 + * target/tcm_fc: fix the lockdep warning due to inconsistent lock state + - LP: #1102417 + * MIPS: Fix poweroff failure when HOTPLUG_CPU configured. + - LP: #1102417 + * fix Null pointer dereference on disk error + - LP: #1102417 + * NFS: Fix calls to drop_nlink() + - LP: #1102417 + * Input: walkera0701 - fix crash on startup + - LP: #1102417 + * SUNRPC: continue run over clients list on PipeFS event instead of break + - LP: #1102417 + * proc: pid/status: show all supplementary groups + - LP: #1102417 + * CRIS: fix I/O macros + - LP: #1102417 + * virtio: force vring descriptors to be allocated from lowmem + - LP: #1102417 + * nfs: fix wrong object type in lockowner_slab + - LP: #1102417 + * jffs2: hold erase_completion_lock on exit + - LP: #1102417 + * nfsd: fix v4 reply caching + - LP: #1102417 + * mtd cs553x_nand: Initialise ecc.strength before nand_scan() + - LP: #1102417 + * kbuild: Do not remove vmlinux when cleaning external module + - LP: #1102417 + * ASoC: sigmadsp: Fix endianness conversion issue + - LP: #1102417 + * nfsd: avoid permission checks on EXCLUSIVE_CREATE replay + - LP: #1102417 + * x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptops + - LP: #1102417 + * mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems + - LP: #1102417 + * ALSA: hda - Fix pin configuration of HP Pavilion dv7 + - LP: #1102417 + * ALSA: hda - Always turn on pins for HDMI/DP + - LP: #1102417 + * OMAP: board-files: fix i2c_bus for tfp410 + - LP: #1102417 + * i2400m: add Intel 6150 device IDs + - LP: #1102417 + * ALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup + - LP: #1102417 + * nfsd4: fix oops on unusual readlike compound + - LP: #1102417 + * qmi_wwan/cdc_ether: add Dell Wireless 5800 (Novatel E362) USB IDs + - LP: #1102417 + * ARM: missing ->mmap_sem around find_vma() in swp_emulate.c + - LP: #1102417 + * ARM: 7607/1: realview: fix private peripheral memory base for EB rev. B + boards + - LP: #1102417 + * cifs: don't compare uniqueids in cifs_prime_dcache unless server inode + numbers are in use + - LP: #1102417 + * intel-iommu: Free old page tables before creating superpage + - LP: #1102417 + * vfs: d_obtain_alias() needs to use "/" as default name. + - LP: #1102417 + * mm: fix calculation of dirtyable memory + - LP: #1102417 + * SGI-XP: handle non-fatal traps + - LP: #1102417 + * dm persistent data: rename node to btree_node + - LP: #1102417 + * dm ioctl: prevent unsafe change to dm_ioctl data_size + - LP: #1102417 + * sis900: fix sis900_set_mode call parameters. + - LP: #1102417 + * ne2000: add the right platform device + - LP: #1102417 + * irda: sir_dev: Fix copy/paste typo + - LP: #1102417 + * ipv4: ip_check_defrag must not modify skb before unsharing + - LP: #1102417 + * inet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state + - LP: #1102417 + * inet_diag: validate byte code to prevent oops in inet_diag_bc_run() + - LP: #1102417 + * inet_diag: avoid unsafe and nonsensical prefix matches in + inet_diag_bc_run() + - LP: #1102417 + * inet_diag: validate port comparison byte code to prevent unsafe reads + - LP: #1102417 + * usb/ipheth: Add iPhone 5 support + - LP: #1102417 + * bonding: fix race condition in bonding_store_slaves_active + - LP: #1102417 + * sctp: fix memory leak in sctp_datamsg_from_user() when copy from user + space fails + - LP: #1102417 + * sctp: fix -ENOMEM result with invalid user space pointer in sendto() + syscall + - LP: #1102417 + * udf: fix memory leak while allocating blocks during write + - LP: #1102417 + * udf: don't increment lenExtents while writing to a hole + - LP: #1102417 + * staging: vt6656: [BUG] out of bound array reference in RFbSetPower. + - LP: #1102417 + * staging: vt6656: 64 bit fixes: use u32 for QWORD definition. + - LP: #1102417 + * staging: vt6656: 64 bit fixes : correct all type sizes + - LP: #1102417 + * staging: vt6656: 64 bit fixes: fix long warning messages. + - LP: #1102417 + * staging: vt6656: 64bit fixes: key.c/h change unsigned long to u32 + - LP: #1102417 + * staging: vt6656: 64bit fixes: vCommandTimerWait change calculation of + timer. + - LP: #1102417 + * drm/i915: Flush outstanding unpin tasks before pageflipping + - LP: #1094173, #1102417 + * ext4: fix extent tree corruption caused by hole punch + - LP: #1102417 + * ext4: check dioread_nolock on remount + - LP: #1102417 + * drm/i915: fix flags in dma buf exporting + - LP: #1102417 + * jbd2: fix assertion failure in jbd2_journal_flush() + - LP: #1102417 + * drm/radeon: add WAIT_UNTIL to evergreen VM safe reg list + - LP: #1102417 + * hwmon: (lm73} Detect and report i2c bus errors + - LP: #1102417 + * ext4: do not try to write superblock on ro remount w/o journal + - LP: #1102417 + * PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check) + - LP: #1102417 + * PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz + - LP: #1102417 + * mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED + - LP: #1102417 + * tmpfs mempolicy: fix /proc/mounts corrupting memory + - LP: #1102417 + * epoll: prevent missed events on EPOLL_CTL_MOD + - LP: #1102417 + * drm/i915: add some barriers when changing DIPs + - LP: #1102417 + * drm/i915: make sure we write all the DIP data bytes + - LP: #1102417 + * RDMA/nes: Fix for terminate timer crash + - LP: #1102417 + * RDMA/nes: Fix for crash when registering zero length MR for CQ + - LP: #1102417 + * sparc: huge_ptep_set_* functions need to call set_huge_pte_at() + - LP: #1102417 + * batman-adv: fix random jitter calculation + - LP: #1102417 + * inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and + dccp_v4/6_request_recv_sock + - LP: #1102417 + * net: sched: integer overflow fix + - LP: #1102417 + * tcp: fix MSG_SENDPAGE_NOTLAST logic + - LP: #1102417 + * tcp: implement RFC 5961 3.2 + - LP: #1102417 + * tcp: implement RFC 5961 4.2 + - LP: #1102417 + * tcp: refine SYN handling in tcp_validate_incoming + - LP: #1102417 + * tcp: tcp_replace_ts_recent() should not be called from + tcp_validate_incoming() + - LP: #1102417 + * tcp: RFC 5961 5.2 Blind Data Injection Attack Mitigation + - LP: #1102417 + * ACPI : do not use Lid and Sleep button for S5 wakeup + - LP: #1102417 + * aoe: do not call bdi_init after blk_alloc_queue + - LP: #1102417 + * Input: sentelic - only report position of first finger as ST + coordinates + - LP: #1102417 + * Input: gpio_keys - defer probing if GPIO probing is deferred + - LP: #1102417 + * cifs: adjust sequence number downward after signing NT_CANCEL request + - LP: #1102417 + * rtlwifi: fix incorrect use of usb_alloc_coherent with usb_control_msg + - LP: #1102417 + * p54usb: add USB ID for T-Com Sinus 154 data II + - LP: #1102417 + * ath9k_hw: Fix RX gain initvals for AR9485 + - LP: #1102417 + * p54usb: add USBIDs for two more p54usb devices + - LP: #1102417 + * powerpc/vdso: Remove redundant locking in update_vsyscall_tz() + - LP: #1102417 + * powerpc: Add missing NULL terminator to avoid boot panic on PPC40x + - LP: #1102417 + * drm/radeon: add connector table for Mac G4 Silver + - LP: #1102417 + * drm/radeon: Properly handle DDC probe for DP bridges + - LP: #1102417 + * drm/nouveau: fix init with agpgart-uninorth + - LP: #1102417 + * video: mxsfb: fix crash when unblanking the display + - LP: #1102417 + * nfs: fix null checking in nfs_get_option_str() + - LP: #1102417 + * SUNRPC: Ensure that we free the rpc_task after cleanups are done + - LP: #1102417 + * NFS: Ensure that we free the rpc_task after read and write cleanups are + done + - LP: #1102417 + * ACPI / scan: Do not use dummy HID for system bus ACPI nodes + - LP: #1102417 + * mm: limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT + - LP: #1102417 + * drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield + - LP: #1102417 + * drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct + rtc_time + - LP: #1102417 + * printk: fix incorrect length from print_time() when seconds > 99999 + - LP: #1102417 + * PM: Move disabling/enabling runtime PM to late suspend/early resume + - LP: #1102417 + * signals: sys_ssetmask() uses uninitialized newmask + - LP: #1102417 + * ext4: release buffer in failed path in dx_probe() + - LP: #1102417 + * ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec) + - LP: #1096789, #1102417 + * drm/prime: drop reference on imported dma-buf come from gem + - LP: #1102417 + * i915: ensure that VGA plane is disabled + - LP: #1102417 + * mvsas: Fix oops when ata commond timeout. + - LP: #1102417 + * staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC + - LP: #1102417 + * iscsi-target: Fix CmdSN comparison (use cmd->cmd_sn instead of + cmd->stat_sn) + - LP: #1102417 + * Linux 3.5.7.3 + - LP: #1102417 + * usb: gadget: dummy: fix enumeration with g_multi + - LP: #1106966 + * usb: musb: core: print new line in the driver banner again + - LP: #1106966 + * ASoC: pcm: allow backend hardware to be freed in pause state + - LP: #1106966 + * ASoC: wm2200: Fix setting dai format in wm2200_set_fmt + - LP: #1106966 + * mac80211: fix ibss scanning + - LP: #1106966 + * mac80211: use del_timer_sync for final sta cleanup timer deletion + - LP: #1106966 + * mac80211: fix dtim_period in hidden SSID AP association + - LP: #1106966 + * xhci: Handle HS bulk/ctrl endpoints that don't NAK. + - LP: #1106966 + * USB: Handle auto-transition from hot to warm reset. + - LP: #1106966 + * USB: Ignore xHCI Reset Device status. + - LP: #1106966 + * USB: Allow USB 3.0 ports to be disabled. + - LP: #1106966 + * USB: Increase reset timeout. + - LP: #1106966 + * USB: Ignore port state until reset completes. + - LP: #1106966 + * USB: Handle warm reset failure on empty port. + - LP: #1106966 + * xhci: Avoid "dead ports", add roothub port polling. + - LP: #1106966 + * ASoC: wm2200: Remove DSP B and left justified AIF modes + - LP: #1106966 + * ASoC: wm5100: Remove DSP B and left justified formats + - LP: #1106966 + * mwifiex: check wait_event_interruptible return value + - LP: #1106966 + * ASoC: wm2000: Fix sense of speech clarity enable + - LP: #1106966 + * drm/i915; Only increment the user-pin-count after successfully pinning + the bo + - LP: #1106966 + * samsung-laptop: Add quirk for broken acpi_video backlight on N250P + - LP: #1086921, #1106966 + * sony-laptop: fix SNC buffer calls when SN06 returns Integers + - LP: #1106966 + * staging: r8712u: Add new device ID + - LP: #1106966 + * b43: Fix firmware loading when driver is built into the kernel + - LP: #1106966 + * staging: speakup: avoid out-of-range access in synth_init() + - LP: #1106966 + * staging: speakup: avoid out-of-range access in synth_add() + - LP: #1106966 + * staging: comedi: fix minimum AO period for NI 625x and NI 628x + - LP: #1106966 + * staging: comedi: prevent auto-unconfig of manually configured devices + - LP: #1106966 + * staging: comedi: comedi_test: fix race when cancelling command + - LP: #1106966 + * regulator: max8997: Use uV in voltage_map_desc + - LP: #1106966 + * regulator: max8998: Convert to regulator_list_voltage_linear() + - LP: #1106966 + * regulator: max8998: Convert to set_voltage_sel and + regulator_map_voltage_linear + - LP: #1106966 + * regulator: max8998: Use uV in voltage_map_desc + - LP: #1106966 + * ALSA: pxa27x: fix ac97 cold reset + - LP: #1106966 + * ALSA: pxa27x: fix ac97 warm reset + - LP: #1106966 + * SUNRPC: Ensure we release the socket write lock if the rpc_task exits + early + - LP: #1106966 + * target: use correct sense code for LUN communication failure + - LP: #1106966 + * regulator: max8998: Ensure enough delay time for + max8998_set_voltage_buck_time_sel + - LP: #1106966 + * tcm_fc: Do not indicate retry capability to initiators + - LP: #1106966 + * tcm_fc: Do not report target role when target is not defined + - LP: #1106966 + * target: Fix use-after-free in LUN RESET handling + - LP: #1106966 + * target: Release se_cmd when LUN lookup fails for TMR + - LP: #1106966 + * sh: Fix FDPIC binary loader + - LP: #1106966 + * USB: option: Add new MEDIATEK PID support + - LP: #1106966 + * USB: option: blacklist network interface on ZTE MF880 + - LP: #1106966 + * USB: option: add Telekom Speedstick LTE II + - LP: #1106966 + * USB: option: add Nexpring NP10T terminal id + - LP: #1106966 + * Add CDC-ACM support for the CX93010-2x UCMxx USB Modem + - LP: #1106966 + * USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i" + - LP: #1106966 + * USB: hub: handle claim of enabled remote wakeup after reset + - LP: #1106966 + * mm: compaction: fix echo 1 > compact_memory return error issue + - LP: #1106966 + * mm: use aligned zone start for pfn_to_bitidx calculation + - LP: #1106966 + * mm: bootmem: fix free_all_bootmem_core() with odd bitmap alignment + - LP: #1106966 + * audit: create explicit AUDIT_SECCOMP event type + - LP: #1106966 + * USB: Add device quirk for Microsoft VX700 webcam + - LP: #1106966 + * drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards + - LP: #1106966 + * drm/nv17-50: restore fence buffer on resume + - LP: #1106966 + * usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added + - LP: #1106966 + * udldrmfb: Fix EDID not working with monitors with EDID extension blocks + - LP: #1106966 + * udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack + - LP: #1106966 + * udldrmfb: udl_get_edid: drop unneeded i-- + - LP: #1106966 + * s390/time: fix sched_clock() overflow + - LP: #1106966 + * rt2800usb: Add support for 2001:3c1e (D-Link DWA-125 rev B1) USB Wi-Fi + adapter + - LP: #1085351, #1106966 + * drm/radeon: fix NULL pointer dereference in UMS mode + - LP: #1106966 + * drm/radeon: fix a bogus kfree + - LP: #1106966 + * ALSA: usb - fix race in creation of M-Audio Fast track pro driver + - LP: #1095315, #1106966 + * x86/Sandy Bridge: reserve pages when integrated graphics is present + - LP: #1106966 + * USB: io_ti: Fix NULL dereference in chase_port() + - LP: #1106966 + * intel-iommu: Prevent devices with RMRRs from being placed into SI + Domain + - LP: #1106966 + * igb: release already assigned MSI-X interrupts if setup fails + - LP: #1106966 + * usb: chipidea: Allow disabling streaming not only in udc mode + - LP: #1106966 + * sd: Reshuffle init_sd to avoid crash + - LP: #1106966 + * Linux 3.5.7.4 + - LP: #1106966 + * HID: Add suport for the brightness control keys on HP keyboards + - LP: #1007575 + * efi: Make 'efi_enabled' a function to query EFI facilities + - LP: #1111689 + * samsung-laptop: Disable on EFI hardware + - LP: #1111689 + * inotify, fanotify: replace fsnotify_put_group() with + fsnotify_destroy_group() + - LP: #1110605 + * fsnotify: introduce fsnotify_get_group() + - LP: #1110605 + * fsnotify: use reference counting for groups + - LP: #1110605 + * fsnotify: take groups mark_lock before mark lock + - LP: #1110605 + * fanotify: add an extra flag to mark_remove_from_mask that indicates + wheather a mark should be destroyed + - LP: #1110605 + * fsnotify: use a mutex instead of a spinlock to protect a groups mark + list + - LP: #1110605 + * audit: clean up refcounting in audit-tree + - LP: #1110605 + * fsnotify: pass group to fsnotify_destroy_mark() + - LP: #1110605 + * fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #1110605 + * fsnotify: dont put marks on temporary list when clearing marks by group + - LP: #1110605 + * fsnotify: change locking order + - LP: #1110605 + * drivers/mfd: Add realtek pcie card reader driver + - LP: #1057089 + * mfd: rtsx: Add output voltage switch hook + - LP: #1057089 + * mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed + - LP: #1057089 + * mmc: Add realtek pcie sdmmc host driver + - LP: #1057089 + * mmc: rtsx: Remove a duplicate command in sd_rw_multi + - LP: #1057089 + * mmc: rtsx: Configure SD_CFG2 register in sd_rw_multi + - LP: #1057089 + * mmc: rtsx: Explicitely include slab.h in rtsx_pci_sdmmc.c + - LP: #1057089 + * mmc: rtsx: Call MFD hook to switch output voltage + - LP: #1057089 + * drivers/memstick: Add realtek pcie memstick host driver + - LP: #1057089 + + -- Luis Henriques Wed, 06 Feb 2013 10:41:09 +0000 + +linux (3.5.0-23.35) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1103932 + + [ Upstream Kernel Changes ] + + * Revert "fsnotify: change locking order" + - LP: #1101666 + * Revert "fsnotify: dont put marks on temporary list when clearing marks + by group" + - LP: #1101666 + * Revert "fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark()" + - LP: #1101666 + * Revert "fsnotify: pass group to fsnotify_destroy_mark()" + - LP: #1101666 + * Revert "fsnotify: use a mutex instead of a spinlock to protect a groups + mark list" + - LP: #1101666 + * Revert "fanotify: add an extra flag to mark_remove_from_mask that + indicates wheather a mark should be destroyed" + - LP: #1101666 + * Revert "fsnotify: take groups mark_lock before mark lock" + - LP: #1101666 + * Revert "fsnotify: use reference counting for groups" + - LP: #1101666 + * Revert "fsnotify: introduce fsnotify_get_group()" + - LP: #1101666 + * radeon/kms: force rn50 chip to always report connected on analog output + - LP: #1103320 + + -- Luis Henriques Thu, 24 Jan 2013 11:06:25 +0000 + +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-lts-quantal-3.5.0.orig/debian/control.stub +++ linux-lts-quantal-3.5.0/debian/control.stub @@ -0,0 +1,108 @@ +Source: linux-lts-quantal +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-precise.git + +Package: linux-headers-3.5.0-43 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Description: Header files related to Linux kernel version 3.5.0 + This package provides kernel header files for version 3.5.0, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details + +Package: linux-tools-3.5.0-43 +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version 3.5.0-43 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 3.5.0-43 on + 32 bit x86. + + + +Package: linux-image-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +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), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-lts-quantal-doc-3.5.0 | linux-lts-quantal-source-3.5.0, linux-lts-quantal-tools, linux-headers-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-43-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-headers-3.5.0-43, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on 32 bit x86 SMP + This package provides kernel header files for version 3.5.0 on + 32 bit x86 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details. + +Package: linux-image-3.5.0-43-generic-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 32 bit x86 SMP + This package provides a kernel debug image for version 3.5.0 on + 32 bit x86 SMP. + . + 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-lts-quantal-3.5.0.orig/debian/debian.env +++ linux-lts-quantal-3.5.0/debian/debian.env @@ -0,0 +1 @@ +DEBIAN=debian.quantal --- linux-lts-quantal-3.5.0.orig/debian/tools/x86_energy_perf_policy +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/tools/turbostat +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/tools/perf +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/tools/generic +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/source/format +++ linux-lts-quantal-3.5.0/debian/source/format @@ -0,0 +1 @@ +1.0 --- linux-lts-quantal-3.5.0.orig/debian/stamps/keep-dir +++ linux-lts-quantal-3.5.0/debian/stamps/keep-dir @@ -0,0 +1 @@ +Place holder --- linux-lts-quantal-3.5.0.orig/debian/commit-templates/upstream-patch +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/commit-templates/bumpabi +++ linux-lts-quantal-3.5.0/debian/commit-templates/bumpabi @@ -0,0 +1,3 @@ +UBUNTU: Bump ABI + +Ignore: yes --- linux-lts-quantal-3.5.0.orig/debian/commit-templates/external-driver +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/commit-templates/config-updates +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/commit-templates/newrelease +++ linux-lts-quantal-3.5.0/debian/commit-templates/newrelease @@ -0,0 +1,3 @@ +UBUNTU: Start new release + +Ignore: yes --- linux-lts-quantal-3.5.0.orig/debian/commit-templates/sauce-patch +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/commit-templates/missing-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/module-check +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/config-check +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/abi-check +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/sub-flavour +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/control-create +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/link-headers +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/module-inclusion +++ linux-lts-quantal-3.5.0/debian/scripts/module-inclusion @@ -0,0 +1,80 @@ +#!/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} + +echo $0 Copy over the framework + +# 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 -v ${ROOT}/$f ${NROOT}/$f + done +fi + +echo $0 Filter from the inclusion list + +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 -v ${ROOT}/$f ${NROOT}/$f + done + else + if [ -f "${ROOT}/$i" ] + then + mkdir -p ${NROOT}/`dirname $i` + mv -v ${ROOT}/$i ${NROOT}/$i + else + echo Warning: Could not find ${ROOT}/$i + fi + fi + +done + +echo $0 Checking inclusion module dependencies. + +# +# Check that all of the module dependencies exist. +# +(cd ${NROOT}; find . -name "*.ko" | while read f +do + /sbin/modinfo $f | grep "^depends:" | sed -e 's/^depends://' | tr ',' '\n' | while read m + do + if ! find . -name "$m.ko" + then + echo EE: Missing module dependency $m + fi + done +done) + +exit 0 --- linux-lts-quantal-3.5.0.orig/debian/scripts/misc/get-firmware +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/insert-mainline-changes +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/git-ubuntu-log +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/getabis +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/insert-ubuntu-changes +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/splitconfig.pl +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/retag +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/insert-changes.pl +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/scripts/misc/kernelconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/docs/README.inclusion-list +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/control-scripts/postinst +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/control-scripts/headers-postinst +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/control-scripts/prerm +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/control-scripts/postrm +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/control-scripts/preinst +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/tests/README +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/tests/check-aliases +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/rules.d/2-binary-arch.mk +++ linux-lts-quantal-3.5.0/debian/rules.d/2-binary-arch.mk @@ -0,0 +1,519 @@ +# 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; \ + if [ `grep -c 'unknown symbol' $(target_flavour).depmod.log` -gt 0 ]; then \ + echo "EE: Unresolved module dependencies in base package!"; \ + exit 1; \ + fi \ + 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 $(hdrdir)/source + # 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 prefix=/usr 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-lts-quantal-3.5.0.orig/debian/rules.d/1-maintainer.mk +++ linux-lts-quantal-3.5.0/debian/rules.d/1-maintainer.mk @@ -0,0 +1,121 @@ +# 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: '".*Ubuntu-$(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); \ + nextmajor=$(shell expr `echo $(revision) | awk -F. '{print $$1}'` + 1); \ + now="$(shell date -R)"; \ + echo "Creating new changelog set for $(release)-$$nextmajor.$$nextminor..."; \ + echo -e "$(src_pkg_name) ($(release)-$$nextmajor.$$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-lts-quantal-3.5.0.orig/debian/rules.d/0-common-vars.mk +++ linux-lts-quantal-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=linux-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-lts-quantal-3.5.0.orig/debian/rules.d/3-binary-indep.mk +++ linux-lts-quantal-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_common),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-lts-quantal-3.5.0.orig/debian/rules.d/4-checks.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian/rules.d/5-udebs.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/init/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/init/version.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/init/main.c +++ linux-lts-quantal-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(); @@ -602,7 +621,7 @@ pidmap_init(); anon_vma_init(); #ifdef CONFIG_X86 - if (efi_enabled) + if (efi_enabled(EFI_RUNTIME_SERVICES)) efi_enter_virtual_mode(); #endif thread_info_cache_init(); @@ -630,6 +649,9 @@ acpi_early_init(); /* before LAPIC and SMP init */ sfi_init_late(); + if (efi_enabled(EFI_RUNTIME_SERVICES)) + 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-lts-quantal-3.5.0.orig/init/initramfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/init/noinitramfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/virt/kvm/kvm_main.c +++ linux-lts-quantal-3.5.0/virt/kvm/kvm_main.c @@ -689,8 +689,7 @@ int r; gfn_t base_gfn; unsigned long npages; - unsigned long i; - struct kvm_memory_slot *memslot; + struct kvm_memory_slot *memslot, *slot; struct kvm_memory_slot old, new; struct kvm_memslots *slots, *old_memslots; @@ -737,13 +736,11 @@ /* Check for overlaps */ r = -EEXIST; - for (i = 0; i < KVM_MEMORY_SLOTS; ++i) { - struct kvm_memory_slot *s = &kvm->memslots->memslots[i]; - - if (s == memslot || !s->npages) + kvm_for_each_memslot(slot, kvm->memslots) { + if (slot->id >= KVM_MEMORY_SLOTS || slot == memslot) continue; - if (!((base_gfn + npages <= s->base_gfn) || - (base_gfn >= s->base_gfn + s->npages))) + if (!((base_gfn + npages <= slot->base_gfn) || + (base_gfn >= slot->base_gfn + slot->npages))) goto out_free; } @@ -1381,21 +1378,38 @@ } int kvm_gfn_to_hva_cache_init(struct kvm *kvm, struct gfn_to_hva_cache *ghc, - gpa_t gpa) + gpa_t gpa, unsigned long len) { struct kvm_memslots *slots = kvm_memslots(kvm); int offset = offset_in_page(gpa); - gfn_t gfn = gpa >> PAGE_SHIFT; + gfn_t start_gfn = gpa >> PAGE_SHIFT; + gfn_t end_gfn = (gpa + len - 1) >> PAGE_SHIFT; + gfn_t nr_pages_needed = end_gfn - start_gfn + 1; + gfn_t nr_pages_avail; ghc->gpa = gpa; ghc->generation = slots->generation; - ghc->memslot = gfn_to_memslot(kvm, gfn); - ghc->hva = gfn_to_hva_many(ghc->memslot, gfn, NULL); - if (!kvm_is_error_hva(ghc->hva)) + ghc->len = len; + ghc->memslot = gfn_to_memslot(kvm, start_gfn); + ghc->hva = gfn_to_hva_many(ghc->memslot, start_gfn, &nr_pages_avail); + if (!kvm_is_error_hva(ghc->hva) && nr_pages_avail >= nr_pages_needed) { ghc->hva += offset; - else - return -EFAULT; - + } else { + /* + * If the requested region crosses two memslots, we still + * verify that the entire region is valid here. + */ + while (start_gfn <= end_gfn) { + ghc->memslot = gfn_to_memslot(kvm, start_gfn); + ghc->hva = gfn_to_hva_many(ghc->memslot, start_gfn, + &nr_pages_avail); + if (kvm_is_error_hva(ghc->hva)) + return -EFAULT; + start_gfn += nr_pages_avail; + } + /* Use the slow path for cross page reads and writes. */ + ghc->memslot = NULL; + } return 0; } EXPORT_SYMBOL_GPL(kvm_gfn_to_hva_cache_init); @@ -1406,8 +1420,13 @@ struct kvm_memslots *slots = kvm_memslots(kvm); int r; + BUG_ON(len > ghc->len); + if (slots->generation != ghc->generation) - kvm_gfn_to_hva_cache_init(kvm, ghc, ghc->gpa); + kvm_gfn_to_hva_cache_init(kvm, ghc, ghc->gpa, ghc->len); + + if (unlikely(!ghc->memslot)) + return kvm_write_guest(kvm, ghc->gpa, data, len); if (kvm_is_error_hva(ghc->hva)) return -EFAULT; @@ -1427,8 +1446,13 @@ struct kvm_memslots *slots = kvm_memslots(kvm); int r; + BUG_ON(len > ghc->len); + if (slots->generation != ghc->generation) - kvm_gfn_to_hva_cache_init(kvm, ghc, ghc->gpa); + kvm_gfn_to_hva_cache_init(kvm, ghc, ghc->gpa, ghc->len); + + if (unlikely(!ghc->memslot)) + return kvm_read_guest(kvm, ghc->gpa, data, len); if (kvm_is_error_hva(ghc->hva)) return -EFAULT; --- linux-lts-quantal-3.5.0.orig/virt/kvm/ioapic.c +++ linux-lts-quantal-3.5.0/virt/kvm/ioapic.c @@ -73,9 +73,12 @@ u32 redir_index = (ioapic->ioregsel - 0x10) >> 1; u64 redir_content; - ASSERT(redir_index < IOAPIC_NUM_PINS); + if (redir_index < IOAPIC_NUM_PINS) + redir_content = + ioapic->redirtbl[redir_index].bits; + else + redir_content = ~0ULL; - redir_content = ioapic->redirtbl[redir_index].bits; result = (ioapic->ioregsel & 0x1) ? (redir_content >> 32) & 0xffffffff : redir_content & 0xffffffff; --- linux-lts-quantal-3.5.0.orig/tools/lguest/lguest.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/tools/power/cpupower/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/tools/perf/Makefile +++ linux-lts-quantal-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 @@ -225,13 +225,13 @@ $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) -t util/parse-events.l > $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c: util/parse-events.y - $(QUIET_BISON)$(BISON) -v util/parse-events.y -d $(PARSER_DEBUG_BISON) -o $(OUTPUT)util/parse-events-bison.c + $(QUIET_BISON)$(BISON) -v util/parse-events.y -d $(PARSER_DEBUG_BISON) -o $(OUTPUT)util/parse-events-bison.c -p parse_events_ $(OUTPUT)util/pmu-flex.c: util/pmu.l $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/pmu-flex.h -t util/pmu.l > $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c: util/pmu.y - $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c + $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c -p perf_pmu_ $(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c $(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c --- linux-lts-quantal-3.5.0.orig/tools/perf/builtin-test.c +++ linux-lts-quantal-3.5.0/tools/perf/builtin-test.c @@ -604,19 +604,13 @@ #undef nsyscalls } -static int sched__get_first_possible_cpu(pid_t pid, cpu_set_t **maskp, - size_t *sizep) +static int sched__get_first_possible_cpu(pid_t pid, cpu_set_t *maskp) { - cpu_set_t *mask; - size_t size; int i, cpu = -1, nrcpus = 1024; realloc: - mask = CPU_ALLOC(nrcpus); - size = CPU_ALLOC_SIZE(nrcpus); - CPU_ZERO_S(size, mask); + CPU_ZERO(maskp); - if (sched_getaffinity(pid, size, mask) == -1) { - CPU_FREE(mask); + if (sched_getaffinity(pid, sizeof(*maskp), maskp) == -1) { if (errno == EINVAL && nrcpus < (1024 << 8)) { nrcpus = nrcpus << 2; goto realloc; @@ -626,19 +620,14 @@ } for (i = 0; i < nrcpus; i++) { - if (CPU_ISSET_S(i, size, mask)) { - if (cpu == -1) { + if (CPU_ISSET(i, maskp)) { + if (cpu == -1) cpu = i; - *maskp = mask; - *sizep = size; - } else - CPU_CLR_S(i, size, mask); + else + CPU_CLR(i, maskp); } } - if (cpu == -1) - CPU_FREE(mask); - return cpu; } @@ -653,8 +642,8 @@ .freq = 10, .mmap_pages = 256, }; - cpu_set_t *cpu_mask = NULL; - size_t cpu_mask_size = 0; + cpu_set_t cpu_mask; + size_t cpu_mask_size = sizeof(cpu_mask); struct perf_evlist *evlist = perf_evlist__new(NULL, NULL); struct perf_evsel *evsel; struct perf_sample sample; @@ -718,8 +707,7 @@ evsel->attr.sample_type |= PERF_SAMPLE_TIME; perf_evlist__config_attrs(evlist, &opts); - err = sched__get_first_possible_cpu(evlist->workload.pid, &cpu_mask, - &cpu_mask_size); + err = sched__get_first_possible_cpu(evlist->workload.pid, &cpu_mask); if (err < 0) { pr_debug("sched__get_first_possible_cpu: %s\n", strerror(errno)); goto out_delete_evlist; @@ -730,9 +718,9 @@ /* * So that we can check perf_sample.cpu on all the samples. */ - if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, cpu_mask) < 0) { + if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, &cpu_mask) < 0) { pr_debug("sched_setaffinity: %s\n", strerror(errno)); - goto out_free_cpu_mask; + goto out_delete_evlist; } /* @@ -925,8 +913,6 @@ } out_err: perf_evlist__munmap(evlist); -out_free_cpu_mask: - CPU_FREE(cpu_mask); out_delete_evlist: perf_evlist__delete(evlist); out: --- linux-lts-quantal-3.5.0.orig/tools/perf/scripts/python/net_dropmonitor.py +++ linux-lts-quantal-3.5.0/tools/perf/scripts/python/net_dropmonitor.py @@ -40,9 +40,9 @@ def get_sym(sloc): loc = int(sloc) - for i in kallsyms: - if (i['loc'] >= loc): - return (i['name'], i['loc']-loc) + for i in kallsyms[::-1]: + if loc >= i['loc']: + return (i['name'], loc - i['loc']) return (None, 0) def print_drop_table(): @@ -64,7 +64,7 @@ # called from perf, when it finds a correspoinding event def skb__kfree_skb(name, context, cpu, sec, nsec, pid, comm, - skbaddr, protocol, location): + skbaddr, location, protocol): slocation = str(location) try: drop_log[slocation] = drop_log[slocation] + 1 --- linux-lts-quantal-3.5.0.orig/tools/perf/util/parse-events.y +++ linux-lts-quantal-3.5.0/tools/perf/util/parse-events.y @@ -1,5 +1,4 @@ -%name-prefix "parse_events_" %parse-param {struct list_head *list_all} %parse-param {int *idx} --- linux-lts-quantal-3.5.0.orig/tools/perf/util/map.c +++ linux-lts-quantal-3.5.0/tools/perf/util/map.c @@ -15,7 +15,9 @@ static inline int is_anon_memory(const char *filename) { - return strcmp(filename, "//anon") == 0; + return !strcmp(filename, "//anon") || + !strcmp(filename, "/dev/zero (deleted)") || + !strcmp(filename, "/anon_hugepage (deleted)"); } static inline int is_no_dso_memory(const char *filename) --- linux-lts-quantal-3.5.0.orig/tools/perf/util/pmu.y +++ linux-lts-quantal-3.5.0/tools/perf/util/pmu.y @@ -1,5 +1,4 @@ -%name-prefix "perf_pmu_" %parse-param {struct list_head *format} %parse-param {char *name} --- linux-lts-quantal-3.5.0.orig/tools/hv/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/tools/hv/hv_kvp_daemon.8 +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/tools/hv/hv_kvp_daemon.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/eventpoll.c +++ linux-lts-quantal-3.5.0/fs/eventpoll.c @@ -1285,7 +1285,7 @@ * otherwise we might miss an event that happens between the * f_op->poll() call and the new event set registering. */ - epi->event.events = event->events; + epi->event.events = event->events; /* need barrier below */ pt._key = event->events; epi->event.data = event->data; /* protected by mtx */ if (epi->event.events & EPOLLWAKEUP) { @@ -1296,6 +1296,26 @@ } /* + * The following barrier has two effects: + * + * 1) Flush epi changes above to other CPUs. This ensures + * we do not miss events from ep_poll_callback if an + * event occurs immediately after we call f_op->poll(). + * We need this because we did not take ep->lock while + * changing epi above (but ep_poll_callback does take + * ep->lock). + * + * 2) We also need to ensure we do not miss _past_ events + * when calling f_op->poll(). This barrier also + * pairs with the barrier in wq_has_sleeper (see + * comments for wq_has_sleeper). + * + * This barrier will now guarantee ep_poll_callback or f_op->poll + * (or both) will notice the readiness of an item. + */ + smp_mb(); + + /* * Get current event bits. We can safely use the file* here because * its usage count has been increased by the caller of this function. */ --- linux-lts-quantal-3.5.0.orig/fs/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/namespace.c +++ linux-lts-quantal-3.5.0/fs/namespace.c @@ -34,6 +34,7 @@ static int mnt_group_start = 1; static struct list_head *mount_hashtable __read_mostly; +static struct list_head *mountpoint_hashtable __read_mostly; static struct kmem_cache *mnt_cache __read_mostly; static struct rw_semaphore namespace_sem; @@ -50,6 +51,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) { @@ -534,6 +536,51 @@ } } +static struct mountpoint *new_mountpoint(struct dentry *dentry) +{ + struct list_head *chain = mountpoint_hashtable + hash(NULL, dentry); + struct mountpoint *mp; + + list_for_each_entry(mp, chain, m_hash) { + if (mp->m_dentry == dentry) { + /* might be worth a WARN_ON() */ + if (d_unlinked(dentry)) + return ERR_PTR(-ENOENT); + mp->m_count++; + return mp; + } + } + + mp = kmalloc(sizeof(struct mountpoint), GFP_KERNEL); + if (!mp) + return ERR_PTR(-ENOMEM); + + spin_lock(&dentry->d_lock); + if (d_unlinked(dentry)) { + spin_unlock(&dentry->d_lock); + kfree(mp); + return ERR_PTR(-ENOENT); + } + dentry->d_flags |= DCACHE_MOUNTED; + spin_unlock(&dentry->d_lock); + mp->m_dentry = dentry; + mp->m_count = 1; + list_add(&mp->m_hash, chain); + return mp; +} + +static void put_mountpoint(struct mountpoint *mp) +{ + if (!--mp->m_count) { + struct dentry *dentry = mp->m_dentry; + spin_lock(&dentry->d_lock); + dentry->d_flags &= ~DCACHE_MOUNTED; + spin_unlock(&dentry->d_lock); + list_del(&mp->m_hash); + kfree(mp); + } +} + static inline int check_mnt(struct mount *mnt) { return mnt->mnt_ns == current->nsproxy->mnt_ns; @@ -562,27 +609,6 @@ } /* - * Clear dentry's mounted state if it has no remaining mounts. - * vfsmount_lock must be held for write. - */ -static void dentry_reset_mounted(struct dentry *dentry) -{ - unsigned u; - - for (u = 0; u < HASH_SIZE; u++) { - struct mount *p; - - list_for_each_entry(p, &mount_hashtable[u], mnt_hash) { - if (p->mnt_mountpoint == dentry) - return; - } - } - spin_lock(&dentry->d_lock); - dentry->d_flags &= ~DCACHE_MOUNTED; - spin_unlock(&dentry->d_lock); -} - -/* * vfsmount lock must be held for write */ static void detach_mnt(struct mount *mnt, struct path *old_path) @@ -593,32 +619,35 @@ mnt->mnt_mountpoint = mnt->mnt.mnt_root; list_del_init(&mnt->mnt_child); list_del_init(&mnt->mnt_hash); - dentry_reset_mounted(old_path->dentry); + put_mountpoint(mnt->mnt_mp); + mnt->mnt_mp = NULL; } /* * vfsmount lock must be held for write */ -void mnt_set_mountpoint(struct mount *mnt, struct dentry *dentry, +void mnt_set_mountpoint(struct mount *mnt, + struct mountpoint *mp, struct mount *child_mnt) { + mp->m_count++; mnt_add_count(mnt, 1); /* essentially, that's mntget */ - child_mnt->mnt_mountpoint = dget(dentry); + child_mnt->mnt_mountpoint = dget(mp->m_dentry); child_mnt->mnt_parent = mnt; - spin_lock(&dentry->d_lock); - dentry->d_flags |= DCACHE_MOUNTED; - spin_unlock(&dentry->d_lock); + child_mnt->mnt_mp = mp; } /* * vfsmount lock must be held for write */ -static void attach_mnt(struct mount *mnt, struct path *path) +static void attach_mnt(struct mount *mnt, + struct mount *parent, + struct mountpoint *mp) { - mnt_set_mountpoint(real_mount(path->mnt), path->dentry, mnt); + mnt_set_mountpoint(parent, mp, mnt); list_add_tail(&mnt->mnt_hash, mount_hashtable + - hash(path->mnt, path->dentry)); - list_add_tail(&mnt->mnt_child, &real_mount(path->mnt)->mnt_mounts); + hash(&parent->mnt, mp->m_dentry)); + list_add_tail(&mnt->mnt_child, &parent->mnt_mounts); } static inline void __mnt_make_longterm(struct mount *mnt) @@ -1080,7 +1109,8 @@ list_del_init(&p->mnt_child); if (mnt_has_parent(p)) { p->mnt_parent->mnt_ghosts++; - dentry_reset_mounted(p->mnt_mountpoint); + put_mountpoint(p->mnt_mp); + p->mnt_mp = NULL; } change_mnt_propagation(p, MS_PRIVATE); } @@ -1256,8 +1286,7 @@ struct mount *copy_tree(struct mount *mnt, struct dentry *dentry, int flag) { - struct mount *res, *p, *q, *r; - struct path path; + struct mount *res, *p, *q, *r, *parent; if (!(flag & CL_COPY_ALL) && IS_MNT_UNBINDABLE(mnt)) return NULL; @@ -1283,14 +1312,13 @@ q = q->mnt_parent; } p = s; - path.mnt = &q->mnt; - path.dentry = p->mnt_mountpoint; + parent = q; q = clone_mnt(p, p->mnt.mnt_root, flag); if (!q) goto Enomem; br_write_lock(&vfsmount_lock); list_add_tail(&q->mnt_list, &res->mnt_list); - attach_mnt(q, &path); + attach_mnt(q, parent, p->mnt_mp); br_write_unlock(&vfsmount_lock); } } @@ -1327,6 +1355,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 +1387,7 @@ } return 0; } +EXPORT_SYMBOL(iterate_mounts); static void cleanup_group_ids(struct mount *mnt, struct mount *end) { @@ -1433,11 +1480,11 @@ * in allocations. */ static int attach_recursive_mnt(struct mount *source_mnt, - struct path *path, struct path *parent_path) + struct mount *dest_mnt, + struct mountpoint *dest_mp, + struct path *parent_path) { LIST_HEAD(tree_list); - struct mount *dest_mnt = real_mount(path->mnt); - struct dentry *dest_dentry = path->dentry; struct mount *child, *p; int err; @@ -1446,7 +1493,7 @@ if (err) goto out; } - err = propagate_mnt(dest_mnt, dest_dentry, source_mnt, &tree_list); + err = propagate_mnt(dest_mnt, dest_mp, source_mnt, &tree_list); if (err) goto out_cleanup_ids; @@ -1458,10 +1505,10 @@ } if (parent_path) { detach_mnt(source_mnt, parent_path); - attach_mnt(source_mnt, path); + attach_mnt(source_mnt, dest_mnt, dest_mp); touch_mnt_namespace(source_mnt->mnt_ns); } else { - mnt_set_mountpoint(dest_mnt, dest_dentry, source_mnt); + mnt_set_mountpoint(dest_mnt, dest_mp, source_mnt); commit_tree(source_mnt); } @@ -1480,46 +1527,53 @@ return err; } -static int lock_mount(struct path *path) +static struct mountpoint *lock_mount(struct path *path) { struct vfsmount *mnt; + struct dentry *dentry = path->dentry; retry: - mutex_lock(&path->dentry->d_inode->i_mutex); - if (unlikely(cant_mount(path->dentry))) { - mutex_unlock(&path->dentry->d_inode->i_mutex); - return -ENOENT; + mutex_lock(&dentry->d_inode->i_mutex); + if (unlikely(cant_mount(dentry))) { + mutex_unlock(&dentry->d_inode->i_mutex); + return ERR_PTR(-ENOENT); } down_write(&namespace_sem); mnt = lookup_mnt(path); - if (likely(!mnt)) - return 0; + if (likely(!mnt)) { + struct mountpoint *mp = new_mountpoint(dentry); + if (IS_ERR(mp)) { + up_write(&namespace_sem); + mutex_unlock(&dentry->d_inode->i_mutex); + return mp; + } + return mp; + } up_write(&namespace_sem); mutex_unlock(&path->dentry->d_inode->i_mutex); path_put(path); path->mnt = mnt; - path->dentry = dget(mnt->mnt_root); + dentry = path->dentry = dget(mnt->mnt_root); goto retry; } -static void unlock_mount(struct path *path) +static void unlock_mount(struct mountpoint *where) { + struct dentry *dentry = where->m_dentry; + put_mountpoint(where); up_write(&namespace_sem); - mutex_unlock(&path->dentry->d_inode->i_mutex); + mutex_unlock(&dentry->d_inode->i_mutex); } -static int graft_tree(struct mount *mnt, struct path *path) +static int graft_tree(struct mount *mnt, struct mount *p, struct mountpoint *mp) { if (mnt->mnt.mnt_sb->s_flags & MS_NOUSER) return -EINVAL; - if (S_ISDIR(path->dentry->d_inode->i_mode) != + if (S_ISDIR(mp->m_dentry->d_inode->i_mode) != S_ISDIR(mnt->mnt.mnt_root->d_inode->i_mode)) return -ENOTDIR; - if (d_unlinked(path->dentry)) - return -ENOENT; - - return attach_recursive_mnt(mnt, path, NULL); + return attach_recursive_mnt(mnt, p, mp, NULL); } /* @@ -1585,7 +1639,8 @@ { LIST_HEAD(umount_list); struct path old_path; - struct mount *mnt = NULL, *old; + struct mount *mnt = NULL, *old, *parent; + struct mountpoint *mp; int err = mount_is_safe(path); if (err) return err; @@ -1595,17 +1650,19 @@ if (err) return err; - err = lock_mount(path); - if (err) + mp = lock_mount(path); + err = PTR_ERR(mp); + if (IS_ERR(mp)) goto out; old = real_mount(old_path.mnt); + parent = real_mount(path->mnt); err = -EINVAL; if (IS_MNT_UNBINDABLE(old)) goto out2; - if (!check_mnt(real_mount(path->mnt)) || !check_mnt(old)) + if (!check_mnt(parent) || !check_mnt(old)) goto out2; err = -ENOMEM; @@ -1617,14 +1674,14 @@ if (!mnt) goto out2; - err = graft_tree(mnt, path); + err = graft_tree(mnt, parent, mp); if (err) { br_write_lock(&vfsmount_lock); umount_tree(mnt, 0, &umount_list); br_write_unlock(&vfsmount_lock); } out2: - unlock_mount(path); + unlock_mount(mp); release_mounts(&umount_list); out: path_put(&old_path); @@ -1708,6 +1765,7 @@ struct path old_path, parent_path; struct mount *p; struct mount *old; + struct mountpoint *mp; int err = 0; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -1717,8 +1775,9 @@ if (err) return err; - err = lock_mount(path); - if (err < 0) + mp = lock_mount(path); + err = PTR_ERR(mp); + if (IS_ERR(mp)) goto out; old = real_mount(old_path.mnt); @@ -1728,9 +1787,6 @@ if (!check_mnt(p) || !check_mnt(old)) goto out1; - if (d_unlinked(path->dentry)) - goto out1; - err = -EINVAL; if (old_path.dentry != old_path.mnt->mnt_root) goto out1; @@ -1757,7 +1813,7 @@ if (p == old) goto out1; - err = attach_recursive_mnt(old, path, &parent_path); + err = attach_recursive_mnt(old, real_mount(path->mnt), mp, &parent_path); if (err) goto out1; @@ -1765,7 +1821,7 @@ * automatically */ list_del_init(&old->mnt_expire); out1: - unlock_mount(path); + unlock_mount(mp); out: if (!err) path_put(&parent_path); @@ -1816,17 +1872,26 @@ */ static int do_add_mount(struct mount *newmnt, struct path *path, int mnt_flags) { + struct mountpoint *mp; + struct mount *parent; int err; mnt_flags &= ~(MNT_SHARED | MNT_WRITE_HOLD | MNT_INTERNAL); - err = lock_mount(path); - if (err) - return err; + mp = lock_mount(path); + if (IS_ERR(mp)) + return PTR_ERR(mp); + parent = real_mount(path->mnt); err = -EINVAL; - if (!(mnt_flags & MNT_SHRINKABLE) && !check_mnt(real_mount(path->mnt))) - goto unlock; + if (unlikely(!check_mnt(parent))) { + /* that's acceptable only for automounts done in private ns */ + if (!(mnt_flags & MNT_SHRINKABLE)) + goto unlock; + /* ... and for those we'd better have mountpoint still alive */ + if (!parent->mnt_ns) + goto unlock; + } /* Refuse the same filesystem on the same mount point */ err = -EBUSY; @@ -1839,10 +1904,10 @@ goto unlock; newmnt->mnt.mnt_flags = mnt_flags; - err = graft_tree(newmnt, path); + err = graft_tree(newmnt, parent, mp); unlock: - unlock_mount(path); + unlock_mount(mp); return err; } @@ -2454,7 +2519,8 @@ const char __user *, put_old) { struct path new, old, parent_path, root_parent, root; - struct mount *new_mnt, *root_mnt; + struct mount *new_mnt, *root_mnt, *old_mnt; + struct mountpoint *old_mp, *root_mp; int error; if (!capable(CAP_SYS_ADMIN)) @@ -2473,14 +2539,16 @@ goto out2; get_fs_root(current->fs, &root); - error = lock_mount(&old); - if (error) + old_mp = lock_mount(&old); + error = PTR_ERR(old_mp); + if (IS_ERR(old_mp)) goto out3; error = -EINVAL; new_mnt = real_mount(new.mnt); root_mnt = real_mount(root.mnt); - if (IS_MNT_SHARED(real_mount(old.mnt)) || + old_mnt = real_mount(old.mnt); + if (IS_MNT_SHARED(old_mnt) || IS_MNT_SHARED(new_mnt->mnt_parent) || IS_MNT_SHARED(root_mnt->mnt_parent)) goto out4; @@ -2489,37 +2557,37 @@ error = -ENOENT; if (d_unlinked(new.dentry)) goto out4; - if (d_unlinked(old.dentry)) - goto out4; error = -EBUSY; - if (new.mnt == root.mnt || - old.mnt == root.mnt) + if (new_mnt == root_mnt || old_mnt == root_mnt) goto out4; /* loop, on the same file system */ error = -EINVAL; if (root.mnt->mnt_root != root.dentry) goto out4; /* not a mountpoint */ if (!mnt_has_parent(root_mnt)) goto out4; /* not attached */ + root_mp = root_mnt->mnt_mp; if (new.mnt->mnt_root != new.dentry) goto out4; /* not a mountpoint */ if (!mnt_has_parent(new_mnt)) goto out4; /* not attached */ /* make sure we can reach put_old from new_root */ - if (!is_path_reachable(real_mount(old.mnt), old.dentry, &new)) + if (!is_path_reachable(old_mnt, old.dentry, &new)) goto out4; + root_mp->m_count++; /* pin it so it won't go away */ br_write_lock(&vfsmount_lock); detach_mnt(new_mnt, &parent_path); detach_mnt(root_mnt, &root_parent); /* mount old root on put_old */ - attach_mnt(root_mnt, &old); + attach_mnt(root_mnt, old_mnt, old_mp); /* mount new_root on / */ - attach_mnt(new_mnt, &root_parent); + attach_mnt(new_mnt, real_mount(root_parent.mnt), root_mp); touch_mnt_namespace(current->nsproxy->mnt_ns); br_write_unlock(&vfsmount_lock); chroot_fs_refs(&root, &new); + put_mountpoint(root_mp); error = 0; out4: - unlock_mount(&old); + unlock_mount(old_mp); if (!error) { path_put(&root_parent); path_put(&parent_path); @@ -2569,14 +2637,17 @@ 0, SLAB_HWCACHE_ALIGN | SLAB_PANIC, NULL); mount_hashtable = (struct list_head *)__get_free_page(GFP_ATOMIC); + mountpoint_hashtable = (struct list_head *)__get_free_page(GFP_ATOMIC); - if (!mount_hashtable) + if (!mount_hashtable || !mountpoint_hashtable) panic("Failed to allocate mount hash table\n"); printk(KERN_INFO "Mount-cache hash table entries: %lu\n", HASH_SIZE); for (u = 0; u < HASH_SIZE; u++) INIT_LIST_HEAD(&mount_hashtable[u]); + for (u = 0; u < HASH_SIZE; u++) + INIT_LIST_HEAD(&mountpoint_hashtable[u]); br_lock_init(&vfsmount_lock); --- linux-lts-quantal-3.5.0.orig/fs/open.c +++ linux-lts-quantal-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; @@ -830,10 +831,17 @@ nd->intent.open.file = NULL; } else { struct file *res; + struct inode *inode = nd->path.dentry->d_inode; + + if (inode->i_op->open) { + res = inode->i_op->open(nd->path.dentry, filp, cred); + if (!IS_ERR(res)) { + nd->intent.open.file = NULL; + } + return res; + } - path_get(&nd->path); - res = do_dentry_open(nd->path.dentry, nd->path.mnt, - filp, NULL, cred); + res = do_dentry_open(&nd->path, filp, NULL, cred); if (!IS_ERR(res)) { int error; @@ -860,27 +868,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 +959,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 +1065,7 @@ } else { fsnotify_open(f); fd_install(fd, f); + trace_do_sys_open(tmp, flags, mode); } } putname(tmp); --- linux-lts-quantal-3.5.0.orig/fs/binfmt_misc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/super.c +++ linux-lts-quantal-3.5.0/fs/super.c @@ -298,19 +298,19 @@ * and want to turn it into a full-blown active reference. grab_super() * is called with sb_lock held and drops it. Returns 1 in case of * success, 0 if we had failed (superblock contents was already dead or - * dying when grab_super() had been called). + * dying when grab_super() had been called). Note that this is only + * called for superblocks not in rundown mode (== ones still on ->fs_supers + * of their type), so increment of ->s_count is OK here. */ static int grab_super(struct super_block *s) __releases(sb_lock) { - if (atomic_inc_not_zero(&s->s_active)) { - spin_unlock(&sb_lock); - return 1; - } - /* it's going away */ s->s_count++; spin_unlock(&sb_lock); - /* wait for it to die */ down_write(&s->s_umount); + if ((s->s_flags & MS_BORN) && atomic_inc_not_zero(&s->s_active)) { + put_super(s); + return 1; + } up_write(&s->s_umount); put_super(s); return 0; @@ -440,11 +440,6 @@ destroy_super(s); s = NULL; } - down_write(&old->s_umount); - if (unlikely(!(old->s_flags & MS_BORN))) { - deactivate_locked_super(old); - goto retry; - } return old; } } @@ -677,10 +672,10 @@ if (hlist_unhashed(&sb->s_instances)) continue; if (sb->s_bdev == bdev) { - if (grab_super(sb)) /* drops sb_lock */ - return sb; - else + if (!grab_super(sb)) goto restart; + up_write(&sb->s_umount); + return sb; } } spin_unlock(&sb_lock); --- linux-lts-quantal-3.5.0.orig/fs/dcache.c +++ linux-lts-quantal-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; @@ -1250,8 +1254,10 @@ LIST_HEAD(dispose); int found; - while ((found = select_parent(parent, &dispose)) != 0) + while ((found = select_parent(parent, &dispose)) != 0) { shrink_dentry_list(&dispose); + cond_resched(); + } } EXPORT_SYMBOL(shrink_dcache_parent); @@ -1576,7 +1582,7 @@ */ struct dentry *d_obtain_alias(struct inode *inode) { - static const struct qstr anonstring = { .name = "" }; + static const struct qstr anonstring = QSTR_INIT("/", 1); struct dentry *tmp; struct dentry *res; @@ -2575,7 +2581,6 @@ bool slash = false; int error = 0; - br_read_lock(&vfsmount_lock); while (dentry != root->dentry || vfsmnt != root->mnt) { struct dentry * parent; @@ -2605,8 +2610,6 @@ if (!error && !slash) error = prepend(buffer, buflen, "/", 1); -out: - br_read_unlock(&vfsmount_lock); return error; global_root: @@ -2623,7 +2626,7 @@ error = prepend(buffer, buflen, "/", 1); if (!error) error = real_mount(vfsmnt)->mnt_ns ? 1 : 2; - goto out; + return error; } /** @@ -2650,9 +2653,11 @@ int error; prepend(&res, &buflen, "\0", 1); + br_read_lock(&vfsmount_lock); write_seqlock(&rename_lock); error = prepend_path(path, root, &res, &buflen); write_sequnlock(&rename_lock); + br_read_unlock(&vfsmount_lock); if (error < 0) return ERR_PTR(error); @@ -2669,9 +2674,11 @@ int error; prepend(&res, &buflen, "\0", 1); + br_read_lock(&vfsmount_lock); write_seqlock(&rename_lock); error = prepend_path(path, &root, &res, &buflen); write_sequnlock(&rename_lock); + br_read_unlock(&vfsmount_lock); if (error > 1) error = -EINVAL; @@ -2735,11 +2742,13 @@ return path->dentry->d_op->d_dname(path->dentry, buf, buflen); get_fs_root(current->fs, &root); + br_read_lock(&vfsmount_lock); write_seqlock(&rename_lock); error = path_with_deleted(path, &root, &res, &buflen); + write_sequnlock(&rename_lock); + br_read_unlock(&vfsmount_lock); if (error < 0) res = ERR_PTR(error); - write_sequnlock(&rename_lock); path_put(&root); return res; } @@ -2894,6 +2903,7 @@ get_fs_root_and_pwd(current->fs, &root, &pwd); error = -ENOENT; + br_read_lock(&vfsmount_lock); write_seqlock(&rename_lock); if (!d_unlinked(pwd.dentry)) { unsigned long len; @@ -2903,6 +2913,7 @@ prepend(&cwd, &buflen, "\0", 1); error = prepend_path(&pwd, &root, &cwd, &buflen); write_sequnlock(&rename_lock); + br_read_unlock(&vfsmount_lock); if (error < 0) goto out; @@ -2923,6 +2934,7 @@ } } else { write_sequnlock(&rename_lock); + br_read_unlock(&vfsmount_lock); } out: @@ -3031,6 +3043,8 @@ return; rename_retry: + if (locked) + goto again; locked = 1; write_seqlock(&rename_lock); goto again; --- linux-lts-quantal-3.5.0.orig/fs/pnode.c +++ linux-lts-quantal-3.5.0/fs/pnode.c @@ -217,7 +217,7 @@ * @source_mnt: source mount. * @tree_list : list of heads of trees to be attached. */ -int propagate_mnt(struct mount *dest_mnt, struct dentry *dest_dentry, +int propagate_mnt(struct mount *dest_mnt, struct mountpoint *dest_mp, struct mount *source_mnt, struct list_head *tree_list) { struct mount *m, *child; @@ -243,8 +243,8 @@ goto out; } - if (is_subdir(dest_dentry, m->mnt.mnt_root)) { - mnt_set_mountpoint(m, dest_dentry, child); + if (is_subdir(dest_mp->m_dentry, m->mnt.mnt_root)) { + mnt_set_mountpoint(m, dest_mp, child); list_add_tail(&child->mnt_hash, tree_list); } else { /* --- linux-lts-quantal-3.5.0.orig/fs/namei.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/file_table.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/inode.c +++ linux-lts-quantal-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); @@ -712,7 +726,7 @@ * inode to the back of the list so we don't spin on it. */ if (!spin_trylock(&inode->i_lock)) { - list_move_tail(&inode->i_lru, &sb->s_inode_lru); + list_move(&inode->i_lru, &sb->s_inode_lru); continue; } @@ -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-lts-quantal-3.5.0.orig/fs/compat.c +++ linux-lts-quantal-3.5.0/fs/compat.c @@ -558,6 +558,10 @@ } *ret_pointer = iov; + ret = -EFAULT; + if (!access_ok(VERIFY_READ, uvector, nr_segs*sizeof(*uvector))) + goto out; + /* * Single unix specification: * We should -EINVAL if an element length is not >= 0 and fitting an @@ -1084,17 +1088,12 @@ if (!file->f_op) goto out; - ret = -EFAULT; - if (!access_ok(VERIFY_READ, uvector, nr_segs*sizeof(*uvector))) - goto out; - - tot_len = compat_rw_copy_check_uvector(type, uvector, nr_segs, + ret = compat_rw_copy_check_uvector(type, uvector, nr_segs, UIO_FASTIOV, iovstack, &iov); - if (tot_len == 0) { - ret = 0; + if (ret <= 0) goto out; - } + tot_len = ret; ret = rw_verify_area(type, file, pos, tot_len); if (ret < 0) goto out; @@ -1155,11 +1154,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 +1223,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-lts-quantal-3.5.0.orig/fs/mount.h +++ linux-lts-quantal-3.5.0/fs/mount.h @@ -15,6 +15,12 @@ int mnt_writers; }; +struct mountpoint { + struct list_head m_hash; + struct dentry *m_dentry; + int m_count; +}; + struct mount { struct list_head mnt_hash; struct mount *mnt_parent; @@ -38,6 +44,7 @@ struct list_head mnt_slave; /* slave list entry */ struct mount *mnt_master; /* slave is on master->mnt_slave_list */ struct mnt_namespace *mnt_ns; /* containing namespace */ + struct mountpoint *mnt_mp; /* where is it mounted */ #ifdef CONFIG_FSNOTIFY struct hlist_head mnt_fsnotify_marks; __u32 mnt_fsnotify_mask; --- linux-lts-quantal-3.5.0.orig/fs/pipe.c +++ linux-lts-quantal-3.5.0/fs/pipe.c @@ -863,6 +863,9 @@ { int ret = -ENOENT; + if (!(filp->f_mode & (FMODE_READ|FMODE_WRITE))) + return -EINVAL; + mutex_lock(&inode->i_mutex); if (inode->i_pipe) { --- linux-lts-quantal-3.5.0.orig/fs/locks.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/stat.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/exec.c +++ linux-lts-quantal-3.5.0/fs/exec.c @@ -56,6 +56,8 @@ #include #include +#include + #include #include #include @@ -623,7 +625,7 @@ * when the old and new regions overlap clear from new_end. */ free_pgd_range(&tlb, new_end, old_end, new_end, - vma->vm_next ? vma->vm_next->vm_start : 0); + vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING); } else { /* * otherwise, clean from old_start; this is done to not touch @@ -632,7 +634,7 @@ * for the others its just a little faster. */ free_pgd_range(&tlb, old_start, old_end, new_end, - vma->vm_next ? vma->vm_next->vm_start : 0); + vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING); } tlb_finish_mmu(&tlb, new_end, old_end); @@ -781,6 +783,8 @@ fsnotify_open(file); + trace_open_exec(name); + err = deny_write_access(file); if (err) goto exit; @@ -905,11 +909,13 @@ sig->notify_count = -1; /* for exit_notify() */ for (;;) { + threadgroup_change_begin(tsk); write_lock_irq(&tasklist_lock); if (likely(leader->exit_state)) break; __set_current_state(TASK_UNINTERRUPTIBLE); write_unlock_irq(&tasklist_lock); + threadgroup_change_end(tsk); schedule(); } @@ -965,6 +971,7 @@ if (unlikely(leader->ptrace)) __wake_up_parent(leader, leader->parent); write_unlock_irq(&tasklist_lock); + threadgroup_change_end(tsk); release_task(leader); } @@ -1020,7 +1027,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 +1117,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; @@ -1158,13 +1166,6 @@ set_dumpable(current->mm, suid_dumpable); } - /* - * Flush performance counters when crossing a - * security domain: - */ - if (!get_dumpable(current->mm)) - perf_event_exit_task(current); - /* An exec changes our domain. We are no longer part of the thread group */ @@ -1201,9 +1202,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 */ @@ -1213,6 +1229,15 @@ commit_creds(bprm->cred); bprm->cred = NULL; + + /* + * Disable monitoring for regular users + * when executing setuid binaries. Must + * wait until new credentials are committed + * by commit_creds() above + */ + if (get_dumpable(current->mm) != SUID_DUMP_USER) + perf_event_exit_task(current); /* * cred_guard_mutex must be held at least to this point to prevent * ptrace_attach() from altering our determination of the task's @@ -1382,6 +1407,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 +1435,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-lts-quantal-3.5.0.orig/fs/aio.c +++ linux-lts-quantal-3.5.0/fs/aio.c @@ -1094,9 +1094,9 @@ spin_unlock(&info->ring_lock); out: - kunmap_atomic(ring); dprintk("leaving aio_read_evt: %d h%lu t%lu\n", ret, (unsigned long)ring->head, (unsigned long)ring->tail); + kunmap_atomic(ring); return ret; } --- linux-lts-quantal-3.5.0.orig/fs/splice.c +++ linux-lts-quantal-3.5.0/fs/splice.c @@ -696,8 +696,10 @@ return -EINVAL; more = (sd->flags & SPLICE_F_MORE) ? MSG_MORE : 0; - if (sd->len < sd->total_len) + + if (sd->len < sd->total_len && pipe->nrbufs > 1) more |= MSG_SENDPAGE_NOTLAST; + return file->f_op->sendpage(file, buf->page, buf->offset, sd->len, &pos, more); } @@ -1090,8 +1092,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 +1116,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 +1143,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 +1309,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-lts-quantal-3.5.0.orig/fs/compat_ioctl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/binfmt_elf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/buffer.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/binfmt_script.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/block_dev.c +++ linux-lts-quantal-3.5.0/fs/block_dev.c @@ -57,17 +57,24 @@ struct backing_dev_info *dst) { struct backing_dev_info *old = inode->i_data.backing_dev_info; + bool wakeup_bdi = false; if (unlikely(dst == old)) /* deadlock avoidance */ return; bdi_lock_two(&old->wb, &dst->wb); spin_lock(&inode->i_lock); inode->i_data.backing_dev_info = dst; - if (inode->i_state & I_DIRTY) + if (inode->i_state & I_DIRTY) { + if (bdi_cap_writeback_dirty(dst) && !wb_has_dirty_io(&dst->wb)) + wakeup_bdi = true; list_move(&inode->i_wb_list, &dst->wb.b_dirty); + } spin_unlock(&inode->i_lock); spin_unlock(&old->wb.list_lock); spin_unlock(&dst->wb.list_lock); + + if (wakeup_bdi) + bdi_wakeup_thread_delayed(dst); } sector_t blkdev_max_block(struct block_device *bdev) @@ -604,6 +611,7 @@ ihold(bdev->bd_inode); return bdev; } +EXPORT_SYMBOL(bdgrab); long nr_blockdev_pages(void) { @@ -1047,6 +1055,7 @@ mutex_lock(&bdev->bd_mutex); check_disk_size_change(disk, bdev); + bdev->bd_invalidated = 0; mutex_unlock(&bdev->bd_mutex); bdput(bdev); return ret; @@ -1085,7 +1094,9 @@ { unsigned bsize = bdev_logical_block_size(bdev); - bdev->bd_inode->i_size = size; + mutex_lock(&bdev->bd_inode->i_mutex); + i_size_write(bdev->bd_inode, size); + mutex_unlock(&bdev->bd_inode->i_mutex); while (bsize < PAGE_CACHE_SIZE) { if (size & bsize) break; --- linux-lts-quantal-3.5.0.orig/fs/pnode.h +++ linux-lts-quantal-3.5.0/fs/pnode.h @@ -30,14 +30,14 @@ } void change_mnt_propagation(struct mount *, int); -int propagate_mnt(struct mount *, struct dentry *, struct mount *, +int propagate_mnt(struct mount *, struct mountpoint *, struct mount *, struct list_head *); int propagate_umount(struct list_head *); int propagate_mount_busy(struct mount *, int); void mnt_release_group_id(struct mount *); int get_dominating_id(struct mount *mnt, const struct path *root); unsigned int mnt_get_count(struct mount *mnt); -void mnt_set_mountpoint(struct mount *, struct dentry *, +void mnt_set_mountpoint(struct mount *, struct mountpoint *, struct mount *); void release_mounts(struct list_head *); void umount_tree(struct mount *, int, struct list_head *); --- linux-lts-quantal-3.5.0.orig/fs/binfmt_em86.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/fs-writeback.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/direct-io.c +++ linux-lts-quantal-3.5.0/fs/direct-io.c @@ -261,9 +261,9 @@ dio->end_io(dio->iocb, offset, transferred, dio->private, ret, is_async); } else { + inode_dio_done(dio->inode); if (is_async) aio_complete(dio->iocb, ret, 0); - inode_dio_done(dio->inode); } return ret; --- linux-lts-quantal-3.5.0.orig/fs/select.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/internal.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/bio.c +++ linux-lts-quantal-3.5.0/fs/bio.c @@ -790,12 +790,22 @@ int bio_uncopy_user(struct bio *bio) { struct bio_map_data *bmd = bio->bi_private; - int ret = 0; + struct bio_vec *bvec; + int ret = 0, i; - if (!bio_flagged(bio, BIO_NULL_MAPPED)) - ret = __bio_copy_iov(bio, bmd->iovecs, bmd->sgvecs, - bmd->nr_sgvecs, bio_data_dir(bio) == READ, - 0, bmd->is_our_pages); + if (!bio_flagged(bio, BIO_NULL_MAPPED)) { + /* + * if we're in a workqueue, the request is orphaned, so + * don't copy into a random user address space, just free. + */ + if (current->mm) + ret = __bio_copy_iov(bio, bmd->iovecs, bmd->sgvecs, + bmd->nr_sgvecs, bio_data_dir(bio) == READ, + 0, bmd->is_our_pages); + else if (bmd->is_our_pages) + __bio_for_each_segment(bvec, bio, i, 0) + __free_page(bvec->bv_page); + } bio_free_map_data(bmd); bio_put(bio); return ret; --- linux-lts-quantal-3.5.0.orig/fs/hfsplus/extents.c +++ linux-lts-quantal-3.5.0/fs/hfsplus/extents.c @@ -517,7 +517,7 @@ struct address_space *mapping = inode->i_mapping; struct page *page; void *fsdata; - u32 size = inode->i_size; + loff_t size = inode->i_size; res = pagecache_write_begin(NULL, mapping, size, 0, AOP_FLAG_UNINTERRUPTIBLE, --- linux-lts-quantal-3.5.0.orig/fs/ecryptfs/ecryptfs_kernel.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ecryptfs/inode.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ecryptfs/main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ecryptfs/file.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ecryptfs/mmap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/notify/mark.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/notify/vfsmount_mark.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/notify/group.c +++ linux-lts-quantal-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,23 +41,30 @@ } /* - * 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) +void fsnotify_destroy_group(struct fsnotify_group *group) { /* clear all inode marks for this group */ fsnotify_clear_marks_by_group(group); 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-lts-quantal-3.5.0.orig/fs/notify/inode_mark.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/notify/dnotify/dnotify.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/notify/inotify/inotify_user.c +++ linux-lts-quantal-3.5.0/fs/notify/inotify/inotify_user.c @@ -293,10 +293,8 @@ pr_debug("%s: group=%p\n", __func__, group); - fsnotify_clear_marks_by_group(group); - /* free this group, matching get was inotify_init->fsnotify_obtain_group */ - fsnotify_put_group(group); + fsnotify_destroy_group(group); return 0; } @@ -533,6 +531,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; @@ -577,10 +576,7 @@ int add = (arg & IN_MASK_ADD); int ret; - /* don't allow invalid bits: we don't want flags set */ mask = inotify_arg_to_mask(arg); - if (unlikely(!(mask & IN_ALL_EVENTS))) - return -EINVAL; fsn_mark = fsnotify_find_inode_mark(group, inode); if (!fsn_mark) @@ -630,10 +626,7 @@ struct idr *idr = &group->inotify_data.idr; spinlock_t *idr_lock = &group->inotify_data.idr_lock; - /* don't allow invalid bits: we don't want flags set */ mask = inotify_arg_to_mask(arg); - if (unlikely(!(mask & IN_ALL_EVENTS))) - return -EINVAL; tmp_i_mark = kmem_cache_alloc(inotify_inode_mark_cachep, GFP_KERNEL); if (unlikely(!tmp_i_mark)) @@ -712,7 +705,7 @@ if (atomic_inc_return(&group->inotify_data.user->inotify_devs) > inotify_max_user_instances) { - fsnotify_put_group(group); + fsnotify_destroy_group(group); return ERR_PTR(-EMFILE); } @@ -741,7 +734,7 @@ ret = anon_inode_getfd("inotify", &inotify_fops, group, O_RDONLY | flags); if (ret < 0) - fsnotify_put_group(group); + fsnotify_destroy_group(group); return ret; } @@ -761,6 +754,10 @@ int ret, fput_needed; unsigned flags = 0; + /* don't allow invalid bits: we don't want flags set */ + if (unlikely(!(mask & ALL_INOTIFY_BITS))) + return -EINVAL; + filp = fget_light(fd, &fput_needed); if (unlikely(!filp)) return -EBADF; @@ -817,7 +814,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-lts-quantal-3.5.0.orig/fs/notify/inotify/inotify_fsnotify.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/notify/fanotify/fanotify_user.c +++ linux-lts-quantal-3.5.0/fs/notify/fanotify/fanotify_user.c @@ -120,6 +120,7 @@ metadata->event_len = FAN_EVENT_METADATA_LEN; metadata->metadata_len = FAN_EVENT_METADATA_LEN; metadata->vers = FANOTIFY_METADATA_VERSION; + metadata->reserved = 0; metadata->mask = event->mask & FAN_ALL_OUTGOING_EVENTS; metadata->pid = pid_vnr(event->tgid); if (unlikely(event->mask & FAN_Q_OVERFLOW)) @@ -419,7 +420,7 @@ wake_up(&group->fanotify_data.access_waitq); #endif /* matches the fanotify_init->fsnotify_alloc_group */ - fsnotify_put_group(group); + fsnotify_destroy_group(group); return 0; } @@ -515,7 +516,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 +531,7 @@ } spin_unlock(&fsn_mark->lock); - if (!(oldmask & ~mask)) - fsnotify_destroy_mark(fsn_mark); + *destroy = !(oldmask & ~mask); return mask & oldmask; } @@ -541,12 +542,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 +566,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) @@ -732,13 +742,13 @@ break; default: fd = -EINVAL; - goto out_put_group; + goto out_destroy_group; } if (flags & FAN_UNLIMITED_QUEUE) { fd = -EPERM; if (!capable(CAP_SYS_ADMIN)) - goto out_put_group; + goto out_destroy_group; group->max_events = UINT_MAX; } else { group->max_events = FANOTIFY_DEFAULT_MAX_EVENTS; @@ -747,7 +757,7 @@ if (flags & FAN_UNLIMITED_MARKS) { fd = -EPERM; if (!capable(CAP_SYS_ADMIN)) - goto out_put_group; + goto out_destroy_group; group->fanotify_data.max_marks = UINT_MAX; } else { group->fanotify_data.max_marks = FANOTIFY_DEFAULT_MAX_MARKS; @@ -755,12 +765,12 @@ fd = anon_inode_getfd("[fanotify]", &fanotify_fops, group, f_flags); if (fd < 0) - goto out_put_group; + goto out_destroy_group; return fd; -out_put_group: - fsnotify_put_group(group); +out_destroy_group: + fsnotify_destroy_group(group); return fd; } --- linux-lts-quantal-3.5.0.orig/fs/notify/fanotify/fanotify.c +++ linux-lts-quantal-3.5.0/fs/notify/fanotify/fanotify.c @@ -18,9 +18,16 @@ old->tgid == new->tgid) { switch (old->data_type) { case (FSNOTIFY_EVENT_PATH): +#ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS + /* dont merge two permission events */ + if ((old->mask & FAN_ALL_PERM_EVENTS) && + (new->mask & FAN_ALL_PERM_EVENTS)) + return false; +#endif if ((old->path.mnt == new->path.mnt) && (old->path.dentry == new->path.dentry)) return true; + break; case (FSNOTIFY_EVENT_NONE): return true; default: --- linux-lts-quantal-3.5.0.orig/fs/jbd2/transaction.c +++ linux-lts-quantal-3.5.0/fs/jbd2/transaction.c @@ -209,7 +209,8 @@ if (!new_transaction) goto alloc_transaction; write_lock(&journal->j_state_lock); - if (!journal->j_running_transaction) { + if (!journal->j_running_transaction && + !journal->j_barrier_count) { jbd2_get_transaction(journal, new_transaction); new_transaction = NULL; } @@ -499,10 +500,10 @@ &transaction->t_outstanding_credits); if (atomic_dec_and_test(&transaction->t_updates)) wake_up(&journal->j_wait_updates); + tid = transaction->t_tid; spin_unlock(&transaction->t_handle_lock); jbd_debug(2, "restarting handle %p\n", handle); - tid = transaction->t_tid; need_to_start = !tid_geq(journal->j_commit_request, tid); read_unlock(&journal->j_state_lock); if (need_to_start) @@ -1046,9 +1047,12 @@ void jbd2_journal_set_triggers(struct buffer_head *bh, struct jbd2_buffer_trigger_type *type) { - struct journal_head *jh = bh2jh(bh); + struct journal_head *jh = jbd2_journal_grab_journal_head(bh); + if (WARN_ON(!jh)) + return; jh->b_triggers = type; + jbd2_journal_put_journal_head(jh); } void jbd2_buffer_frozen_trigger(struct journal_head *jh, void *mapped_data, @@ -1100,17 +1104,18 @@ { transaction_t *transaction = handle->h_transaction; journal_t *journal = transaction->t_journal; - struct journal_head *jh = bh2jh(bh); + struct journal_head *jh; int ret = 0; - jbd_debug(5, "journal_head %p\n", jh); - JBUFFER_TRACE(jh, "entry"); if (is_handle_aborted(handle)) goto out; - if (!buffer_jbd(bh)) { + jh = jbd2_journal_grab_journal_head(bh); + if (!jh) { ret = -EUCLEAN; goto out; } + jbd_debug(5, "journal_head %p\n", jh); + JBUFFER_TRACE(jh, "entry"); jbd_lock_bh_state(bh); @@ -1201,6 +1206,7 @@ spin_unlock(&journal->j_list_lock); out_unlock_bh: jbd_unlock_bh_state(bh); + jbd2_journal_put_journal_head(jh); out: JBUFFER_TRACE(jh, "exit"); WARN_ON(ret); /* All errors are bugs, so dump the stack */ --- linux-lts-quantal-3.5.0.orig/fs/jbd2/commit.c +++ linux-lts-quantal-3.5.0/fs/jbd2/commit.c @@ -382,7 +382,7 @@ int space_left = 0; int first_tag = 0; int tag_flag; - int i, to_free = 0; + int i; int tag_bytes = journal_tag_bytes(journal); struct buffer_head *cbh = NULL; /* For transactional checksums */ __u32 crc32_sum = ~0; @@ -1108,7 +1108,7 @@ journal->j_stats.run.rs_blocks_logged += stats.run.rs_blocks_logged; spin_unlock(&journal->j_history_lock); - commit_transaction->t_state = T_FINISHED; + commit_transaction->t_state = T_COMMIT_CALLBACK; J_ASSERT(commit_transaction == journal->j_committing_transaction); journal->j_commit_sequence = commit_transaction->t_tid; journal->j_committing_transaction = NULL; @@ -1123,38 +1123,44 @@ journal->j_average_commit_time*3) / 4; else journal->j_average_commit_time = commit_time; + write_unlock(&journal->j_state_lock); - if (commit_transaction->t_checkpoint_list == NULL && - commit_transaction->t_checkpoint_io_list == NULL) { - __jbd2_journal_drop_transaction(journal, commit_transaction); - to_free = 1; + if (journal->j_checkpoint_transactions == NULL) { + journal->j_checkpoint_transactions = commit_transaction; + commit_transaction->t_cpnext = commit_transaction; + commit_transaction->t_cpprev = commit_transaction; } else { - if (journal->j_checkpoint_transactions == NULL) { - journal->j_checkpoint_transactions = commit_transaction; - commit_transaction->t_cpnext = commit_transaction; - commit_transaction->t_cpprev = commit_transaction; - } else { - commit_transaction->t_cpnext = - journal->j_checkpoint_transactions; - commit_transaction->t_cpprev = - commit_transaction->t_cpnext->t_cpprev; - commit_transaction->t_cpnext->t_cpprev = - commit_transaction; - commit_transaction->t_cpprev->t_cpnext = + commit_transaction->t_cpnext = + journal->j_checkpoint_transactions; + commit_transaction->t_cpprev = + commit_transaction->t_cpnext->t_cpprev; + commit_transaction->t_cpnext->t_cpprev = + commit_transaction; + commit_transaction->t_cpprev->t_cpnext = commit_transaction; - } } spin_unlock(&journal->j_list_lock); - + /* Drop all spin_locks because commit_callback may be block. + * __journal_remove_checkpoint() can not destroy transaction + * under us because it is not marked as T_FINISHED yet */ if (journal->j_commit_callback) journal->j_commit_callback(journal, commit_transaction); trace_jbd2_end_commit(journal, commit_transaction); jbd_debug(1, "JBD2: commit %d complete, head %d\n", journal->j_commit_sequence, journal->j_tail_sequence); - if (to_free) - jbd2_journal_free_transaction(commit_transaction); + write_lock(&journal->j_state_lock); + spin_lock(&journal->j_list_lock); + commit_transaction->t_state = T_FINISHED; + /* Recheck checkpoint lists after j_list_lock was dropped */ + if (commit_transaction->t_checkpoint_list == NULL && + commit_transaction->t_checkpoint_io_list == NULL) { + __jbd2_journal_drop_transaction(journal, commit_transaction); + jbd2_journal_free_transaction(commit_transaction); + } + spin_unlock(&journal->j_list_lock); + write_unlock(&journal->j_state_lock); wake_up(&journal->j_wait_done_commit); } --- linux-lts-quantal-3.5.0.orig/fs/jbd2/journal.c +++ linux-lts-quantal-3.5.0/fs/jbd2/journal.c @@ -699,6 +699,37 @@ } /* + * When this function returns the transaction corresponding to tid + * will be completed. If the transaction has currently running, start + * committing that transaction before waiting for it to complete. If + * the transaction id is stale, it is by definition already completed, + * so just return SUCCESS. + */ +int jbd2_complete_transaction(journal_t *journal, tid_t tid) +{ + int need_to_wait = 1; + + read_lock(&journal->j_state_lock); + if (journal->j_running_transaction && + journal->j_running_transaction->t_tid == tid) { + if (journal->j_commit_request != tid) { + /* transaction not yet started, so request it */ + read_unlock(&journal->j_state_lock); + jbd2_log_start_commit(journal, tid); + goto wait_commit; + } + } else if (!(journal->j_committing_transaction && + journal->j_committing_transaction->t_tid == tid)) + need_to_wait = 0; + read_unlock(&journal->j_state_lock); + if (!need_to_wait) + return 0; +wait_commit: + return jbd2_log_wait_commit(journal, tid); +} +EXPORT_SYMBOL(jbd2_complete_transaction); + +/* * Log buffer allocation routines: */ @@ -1273,6 +1304,7 @@ static void jbd2_write_superblock(journal_t *journal, int write_op) { struct buffer_head *bh = journal->j_sb_buffer; + journal_superblock_t *sb = journal->j_superblock; int ret; trace_jbd2_write_superblock(journal, write_op); @@ -1294,6 +1326,7 @@ clear_buffer_write_io_error(bh); set_buffer_uptodate(bh); } + jbd2_superblock_csum_set(journal, sb); get_bh(bh); bh->b_end_io = end_buffer_write_sync; ret = submit_bh(write_op, bh); @@ -1354,6 +1387,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 +1415,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; @@ -1385,11 +1423,11 @@ jbd_debug(1, "JBD2: updating superblock error (errno %d)\n", journal->j_errno); sb->s_errno = cpu_to_be32(journal->j_errno); - jbd2_superblock_csum_set(journal, sb); read_unlock(&journal->j_state_lock); jbd2_write_superblock(journal, WRITE_SYNC); } +EXPORT_SYMBOL(jbd2_journal_update_sb_errno); /* * Read the superblock for a given journal, performing initial --- linux-lts-quantal-3.5.0.orig/fs/hfs/sysdep.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/hpfs/super.c +++ linux-lts-quantal-3.5.0/fs/hpfs/super.c @@ -552,7 +552,13 @@ sbi->sb_cp_table = NULL; sbi->sb_c_bitmap = -1; sbi->sb_max_fwd_alloc = 0xffffff; - + + if (sbi->sb_fs_size >= 0x80000000) { + hpfs_error(s, "invalid size in superblock: %08x", + (unsigned)sbi->sb_fs_size); + goto bail4; + } + /* Load bitmap directory */ if (!(sbi->sb_bmp_dir = hpfs_load_bitmap_directory(s, le32_to_cpu(superblock->bitmaps)))) goto bail4; --- linux-lts-quantal-3.5.0.orig/fs/hpfs/inode.c +++ linux-lts-quantal-3.5.0/fs/hpfs/inode.c @@ -274,9 +274,12 @@ if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size != i_size_read(inode)) { - error = vmtruncate(inode, attr->ia_size); + error = inode_newsize_ok(inode, attr->ia_size); if (error) goto out_unlock; + + truncate_setsize(inode, attr->ia_size); + hpfs_truncate(inode); } setattr_copy(inode, attr); --- linux-lts-quantal-3.5.0.orig/fs/hpfs/file.c +++ linux-lts-quantal-3.5.0/fs/hpfs/file.c @@ -50,7 +50,7 @@ return disk_secno; } -static void hpfs_truncate(struct inode *i) +void hpfs_truncate(struct inode *i) { if (IS_IMMUTABLE(i)) return /*-EPERM*/; hpfs_lock_assert(i->i_sb); @@ -105,6 +105,20 @@ return block_read_full_page(page,hpfs_get_block); } +static void hpfs_write_failed(struct address_space *mapping, loff_t to) +{ + struct inode *inode = mapping->host; + + hpfs_lock(inode->i_sb); + + if (to > inode->i_size) { + truncate_pagecache(inode, to, inode->i_size); + hpfs_truncate(inode); + } + + hpfs_unlock(inode->i_sb); +} + static int hpfs_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, struct page **pagep, void **fsdata) @@ -115,11 +129,8 @@ ret = cont_write_begin(file, mapping, pos, len, flags, pagep, fsdata, hpfs_get_block, &hpfs_i(mapping->host)->mmu_private); - if (unlikely(ret)) { - loff_t isize = mapping->host->i_size; - if (pos + len > isize) - vmtruncate(mapping->host, isize); - } + if (unlikely(ret)) + hpfs_write_failed(mapping, pos + len); return ret; } @@ -166,6 +177,5 @@ const struct inode_operations hpfs_file_iops = { - .truncate = hpfs_truncate, .setattr = hpfs_setattr, }; --- linux-lts-quantal-3.5.0.orig/fs/hpfs/hpfs_fn.h +++ linux-lts-quantal-3.5.0/fs/hpfs/hpfs_fn.h @@ -252,6 +252,7 @@ /* file.c */ int hpfs_file_fsync(struct file *, loff_t, loff_t, int); +void hpfs_truncate(struct inode *); extern const struct file_operations hpfs_file_ops; extern const struct inode_operations hpfs_file_iops; extern const struct address_space_operations hpfs_aops; --- linux-lts-quantal-3.5.0.orig/fs/hpfs/map.c +++ linux-lts-quantal-3.5.0/fs/hpfs/map.c @@ -17,7 +17,8 @@ struct quad_buffer_head *qbh, char *id) { secno sec; - if (hpfs_sb(s)->sb_chk) if (bmp_block * 16384 > hpfs_sb(s)->sb_fs_size) { + unsigned n_bands = (hpfs_sb(s)->sb_fs_size + 0x3fff) >> 14; + if (hpfs_sb(s)->sb_chk) if (bmp_block >= n_bands) { hpfs_error(s, "hpfs_map_bitmap called with bad parameter: %08x at %s", bmp_block, id); return NULL; } --- linux-lts-quantal-3.5.0.orig/fs/gfs2/super.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/gfs2/file.c +++ linux-lts-quantal-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; @@ -902,8 +900,11 @@ cmd = F_SETLK; fl->fl_type = F_UNLCK; } - if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) + if (unlikely(test_bit(SDF_SHUTDOWN, &sdp->sd_flags))) { + if (fl->fl_type == F_UNLCK) + posix_lock_file_wait(file, fl); return -EIO; + } if (IS_GETLK(cmd)) return dlm_posix_get(ls->ls_dlm, ip->i_no_addr, file, fl); else if (fl->fl_type == F_UNLCK) --- linux-lts-quantal-3.5.0.orig/fs/gfs2/trans.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/gfs2/export.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/gfs2/lops.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/btrfs/async-thread.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/btrfs/transaction.c +++ linux-lts-quantal-3.5.0/fs/btrfs/transaction.c @@ -978,8 +978,8 @@ dentry->d_name.name, dentry->d_name.len, parent_inode, &key, BTRFS_FT_DIR, index); - if (ret == -EEXIST) { - pending->error = -EEXIST; + if (ret == -EEXIST || ret == -EOVERFLOW) { + pending->error = ret; dput(parent); goto fail; } else if (ret) { --- linux-lts-quantal-3.5.0.orig/fs/btrfs/scrub.c +++ linux-lts-quantal-3.5.0/fs/btrfs/scrub.c @@ -385,7 +385,6 @@ eb = path->nodes[0]; ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item); item_size = btrfs_item_size_nr(eb, path->slots[0]); - btrfs_release_path(path); if (ret & BTRFS_EXTENT_FLAG_TREE_BLOCK) { do { @@ -401,7 +400,9 @@ ret < 0 ? -1 : ref_level, ret < 0 ? -1 : ref_root); } while (ret != 1); + btrfs_release_path(path); } else { + btrfs_release_path(path); swarn.path = path; iterate_extent_inodes(fs_info, found_key.objectid, extent_item_pos, 1, --- linux-lts-quantal-3.5.0.orig/fs/btrfs/extent_io.c +++ linux-lts-quantal-3.5.0/fs/btrfs/extent_io.c @@ -1229,6 +1229,39 @@ GFP_NOFS); } +int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end) +{ + unsigned long index = start >> PAGE_CACHE_SHIFT; + unsigned long end_index = end >> PAGE_CACHE_SHIFT; + struct page *page; + + while (index <= end_index) { + page = find_get_page(inode->i_mapping, index); + BUG_ON(!page); /* Pages should be in the extent_io_tree */ + clear_page_dirty_for_io(page); + page_cache_release(page); + index++; + } + return 0; +} + +int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end) +{ + unsigned long index = start >> PAGE_CACHE_SHIFT; + unsigned long end_index = end >> PAGE_CACHE_SHIFT; + struct page *page; + + while (index <= end_index) { + page = find_get_page(inode->i_mapping, index); + BUG_ON(!page); /* Pages should be in the extent_io_tree */ + account_page_redirty(page); + __set_page_dirty_nobuffers(page); + page_cache_release(page); + index++; + } + return 0; +} + /* * helper function to set both pages and extents in the tree writeback */ @@ -2329,23 +2362,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-lts-quantal-3.5.0.orig/fs/btrfs/dir-item.c +++ linux-lts-quantal-3.5.0/fs/btrfs/dir-item.c @@ -213,6 +213,65 @@ return btrfs_match_dir_item_name(root, path, name, name_len); } +int btrfs_check_dir_item_collision(struct btrfs_root *root, u64 dir, + const char *name, int name_len) +{ + int ret; + struct btrfs_key key; + struct btrfs_dir_item *di; + int data_size; + struct extent_buffer *leaf; + int slot; + struct btrfs_path *path; + + + path = btrfs_alloc_path(); + if (!path) + return -ENOMEM; + + key.objectid = dir; + btrfs_set_key_type(&key, BTRFS_DIR_ITEM_KEY); + key.offset = btrfs_name_hash(name, name_len); + + ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); + + /* return back any errors */ + if (ret < 0) + goto out; + + /* nothing found, we're safe */ + if (ret > 0) { + ret = 0; + goto out; + } + + /* we found an item, look for our name in the item */ + di = btrfs_match_dir_item_name(root, path, name, name_len); + if (di) { + /* our exact name was found */ + ret = -EEXIST; + goto out; + } + + /* + * see if there is room in the item to insert this + * name + */ + data_size = sizeof(*di) + name_len + sizeof(struct btrfs_item); + leaf = path->nodes[0]; + slot = path->slots[0]; + if (data_size + btrfs_item_size_nr(leaf, slot) + + sizeof(struct btrfs_item) > BTRFS_LEAF_DATA_SIZE(root)) { + ret = -EOVERFLOW; + } else { + /* plenty of insertion room */ + ret = 0; + } +out: + btrfs_free_path(path); + return ret; +} + /* * lookup a directory item based on index. 'dir' is the objectid * we're searching in, and 'mod' tells us if you plan on deleting the --- linux-lts-quantal-3.5.0.orig/fs/btrfs/inode.c +++ linux-lts-quantal-3.5.0/fs/btrfs/inode.c @@ -349,6 +349,7 @@ int i; int will_compress; int compress_type = root->fs_info->compress_type; + int redirty = 0; /* if this is a small write inside eof, kick off a defrag */ if ((end - start + 1) < 16 * 1024 && @@ -411,6 +412,17 @@ if (BTRFS_I(inode)->force_compress) compress_type = BTRFS_I(inode)->force_compress; + /* + * we need to call clear_page_dirty_for_io on each + * page in the range. Otherwise applications with the file + * mmap'd can wander in and change the page contents while + * we are compressing them. + * + * If the compression fails for any reason, we set the pages + * dirty again later on. + */ + extent_range_clear_dirty_for_io(inode, start, end); + redirty = 1; ret = btrfs_compress_pages(compress_type, inode->i_mapping, start, total_compressed, pages, @@ -552,6 +564,8 @@ __set_page_dirty_nobuffers(locked_page); /* unlocked later on in the async handlers */ } + if (redirty) + extent_range_redirty_for_io(inode, start, end); add_async_extent(async_cow, start, end - start + 1, 0, NULL, 0, BTRFS_COMPRESS_NONE); *num_added += 1; @@ -2433,6 +2447,7 @@ */ set_bit(BTRFS_INODE_HAS_ORPHAN_ITEM, &BTRFS_I(inode)->runtime_flags); + atomic_inc(&root->orphan_inodes); /* if we have links, this was a truncate, lets do that */ if (inode->i_nlink) { @@ -4777,7 +4792,7 @@ ret = btrfs_insert_dir_item(trans, root, name, name_len, parent_inode, &key, btrfs_inode_type(inode), index); - if (ret == -EEXIST) + if (ret == -EEXIST || ret == -EOVERFLOW) goto fail_dir_item; else if (ret) { btrfs_abort_transaction(trans, root, ret); @@ -7176,6 +7191,28 @@ if (S_ISDIR(old_inode->i_mode) && new_inode && new_inode->i_size > BTRFS_EMPTY_DIR_SIZE) return -ENOTEMPTY; + + + /* check for collisions, even if the name isn't there */ + ret = btrfs_check_dir_item_collision(root, new_dir->i_ino, + new_dentry->d_name.name, + new_dentry->d_name.len); + + if (ret) { + if (ret == -EEXIST) { + /* we shouldn't get + * eexist without a new_inode */ + if (!new_inode) { + WARN_ON(1); + return ret; + } + } else { + /* maybe -EOVERFLOW */ + return ret; + } + } + ret = 0; + /* * we're using rename to replace one file with another. * and the replacement file is large. Start IO on it now so --- linux-lts-quantal-3.5.0.orig/fs/btrfs/volumes.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/btrfs/free-space-cache.c +++ linux-lts-quantal-3.5.0/fs/btrfs/free-space-cache.c @@ -1876,11 +1876,13 @@ { struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl; struct btrfs_free_space *info; - int ret = 0; + int ret; + bool re_search = false; spin_lock(&ctl->tree_lock); again: + ret = 0; if (!bytes) goto out_lock; @@ -1893,17 +1895,17 @@ info = tree_search_offset(ctl, offset_to_bitmap(ctl, offset), 1, 0); if (!info) { - /* the tree logging code might be calling us before we - * have fully loaded the free space rbtree for this - * block group. So it is possible the entry won't - * be in the rbtree yet at all. The caching code - * will make sure not to put it in the rbtree if - * the logging code has pinned it. + /* + * If we found a partial bit of our free space in a + * bitmap but then couldn't find the other part this may + * be a problem, so WARN about it. */ + WARN_ON(re_search); goto out_lock; } } + re_search = false; if (!info->bitmap) { unlink_free_space(ctl, info); if (offset == info->offset) { @@ -1949,8 +1951,10 @@ } ret = remove_from_bitmap(ctl, info, &offset, &bytes); - if (ret == -EAGAIN) + if (ret == -EAGAIN) { + re_search = true; goto again; + } BUG_ON(ret); /* logic error */ out_lock: spin_unlock(&ctl->tree_lock); --- linux-lts-quantal-3.5.0.orig/fs/btrfs/ctree.h +++ linux-lts-quantal-3.5.0/fs/btrfs/ctree.h @@ -2828,6 +2828,8 @@ void btrfs_check_and_init_root_item(struct btrfs_root_item *item); /* dir-item.c */ +int btrfs_check_dir_item_collision(struct btrfs_root *root, u64 dir, + const char *name, int name_len); int btrfs_insert_dir_item(struct btrfs_trans_handle *trans, struct btrfs_root *root, const char *name, int name_len, struct inode *dir, --- linux-lts-quantal-3.5.0.orig/fs/btrfs/volumes.c +++ linux-lts-quantal-3.5.0/fs/btrfs/volumes.c @@ -575,6 +575,7 @@ new_device->writeable = 0; new_device->in_fs_metadata = 0; new_device->can_discard = 0; + spin_lock_init(&new_device->io_lock); list_replace_rcu(&device->dev_list, &new_device->dev_list); call_rcu(&device->rcu, free_device); @@ -608,6 +609,12 @@ __btrfs_close_devices(fs_devices); free_fs_devices(fs_devices); } + /* + * Wait for rcu kworkers under __btrfs_close_devices + * to finish all blkdev_puts so device is really + * free when umount is done. + */ + rcu_barrier(); return ret; } @@ -4602,28 +4609,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-lts-quantal-3.5.0.orig/fs/btrfs/ioctl.c +++ linux-lts-quantal-3.5.0/fs/btrfs/ioctl.c @@ -660,6 +660,16 @@ if (error) goto out_drop_write; + /* + * even if this name doesn't exist, we may get hash collisions. + * check for them now when we can safely fail + */ + error = btrfs_check_dir_item_collision(BTRFS_I(dir)->root, + dir->i_ino, name, + namelen); + if (error) + goto out_drop_write; + down_read(&BTRFS_I(dir)->root->fs_info->subvol_sem); if (btrfs_root_refs(&BTRFS_I(dir)->root->root_item) == 0) @@ -1665,7 +1675,11 @@ item_off = btrfs_item_ptr_offset(leaf, i); item_len = btrfs_item_size_nr(leaf, i); - if (item_len > BTRFS_SEARCH_ARGS_BUFSIZE) + btrfs_item_key_to_cpu(leaf, key, i); + if (!key_in_sk(key, sk)) + continue; + + if (sizeof(sh) + item_len > BTRFS_SEARCH_ARGS_BUFSIZE) item_len = 0; if (sizeof(sh) + item_len + *sk_offset > @@ -1674,10 +1688,6 @@ goto overflow; } - btrfs_item_key_to_cpu(leaf, key, i); - if (!key_in_sk(key, sk)) - continue; - sh.objectid = key->objectid; sh.offset = key->offset; sh.type = key->type; --- linux-lts-quantal-3.5.0.orig/fs/btrfs/extent_io.h +++ linux-lts-quantal-3.5.0/fs/btrfs/extent_io.h @@ -314,6 +314,8 @@ unsigned long *map_len); int extent_range_uptodate(struct extent_io_tree *tree, u64 start, u64 end); +int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end); +int extent_range_redirty_for_io(struct inode *inode, u64 start, u64 end); int extent_clear_unlock_delalloc(struct inode *inode, struct extent_io_tree *tree, u64 start, u64 end, struct page *locked_page, --- linux-lts-quantal-3.5.0.orig/fs/btrfs/tree-log.c +++ linux-lts-quantal-3.5.0/fs/btrfs/tree-log.c @@ -315,6 +315,7 @@ unsigned long src_ptr; unsigned long dst_ptr; int overwrite_root = 0; + bool inode_item = key->type == BTRFS_INODE_ITEM_KEY; if (root->root_key.objectid != BTRFS_TREE_LOG_OBJECTID) overwrite_root = 1; @@ -324,6 +325,9 @@ /* look for the key in the destination tree */ ret = btrfs_search_slot(NULL, root, key, path, 0, 0); + if (ret < 0) + return ret; + if (ret == 0) { char *src_copy; char *dst_copy; @@ -365,6 +369,30 @@ return 0; } + /* + * We need to load the old nbytes into the inode so when we + * replay the extents we've logged we get the right nbytes. + */ + if (inode_item) { + struct btrfs_inode_item *item; + u64 nbytes; + + item = btrfs_item_ptr(path->nodes[0], path->slots[0], + struct btrfs_inode_item); + nbytes = btrfs_inode_nbytes(path->nodes[0], item); + item = btrfs_item_ptr(eb, slot, + struct btrfs_inode_item); + btrfs_set_inode_nbytes(eb, item, nbytes); + } + } else if (inode_item) { + struct btrfs_inode_item *item; + + /* + * New inode, set nbytes to 0 so that the nbytes comes out + * properly when we replay the extents. + */ + item = btrfs_item_ptr(eb, slot, struct btrfs_inode_item); + btrfs_set_inode_nbytes(eb, item, 0); } insert: btrfs_release_path(path); @@ -486,7 +514,7 @@ u64 extent_end; u64 alloc_hint; u64 start = key->offset; - u64 saved_nbytes; + u64 nbytes = 0; struct btrfs_file_extent_item *item; struct inode *inode = NULL; unsigned long size; @@ -496,10 +524,19 @@ found_type = btrfs_file_extent_type(eb, item); if (found_type == BTRFS_FILE_EXTENT_REG || - found_type == BTRFS_FILE_EXTENT_PREALLOC) - extent_end = start + btrfs_file_extent_num_bytes(eb, item); - else if (found_type == BTRFS_FILE_EXTENT_INLINE) { + found_type == BTRFS_FILE_EXTENT_PREALLOC) { + nbytes = btrfs_file_extent_num_bytes(eb, item); + extent_end = start + nbytes; + + /* + * We don't add to the inodes nbytes if we are prealloc or a + * hole. + */ + if (btrfs_file_extent_disk_bytenr(eb, item) == 0) + nbytes = 0; + } else if (found_type == BTRFS_FILE_EXTENT_INLINE) { size = btrfs_file_extent_inline_len(eb, item); + nbytes = btrfs_file_extent_ram_bytes(eb, item); extent_end = (start + size + mask) & ~mask; } else { ret = 0; @@ -548,7 +585,6 @@ } btrfs_release_path(path); - saved_nbytes = inode_get_bytes(inode); /* drop any overlapping extents */ ret = btrfs_drop_extents(trans, inode, start, extent_end, &alloc_hint, 1); @@ -636,7 +672,7 @@ BUG_ON(ret); } - inode_set_bytes(inode, saved_nbytes); + inode_add_bytes(inode, nbytes); btrfs_update_inode(trans, root, inode); out: if (inode) @@ -1132,7 +1168,10 @@ btrfs_release_path(path); if (ret == 0) { - btrfs_inc_nlink(inode); + if (!inode->i_nlink) + set_nlink(inode, 1); + else + btrfs_inc_nlink(inode); btrfs_update_inode(trans, root, inode); } else if (ret == -EEXIST) { ret = 0; --- linux-lts-quantal-3.5.0.orig/fs/btrfs/extent-tree.c +++ linux-lts-quantal-3.5.0/fs/btrfs/extent-tree.c @@ -4218,7 +4218,7 @@ spin_lock(&sinfo->lock); spin_lock(&block_rsv->lock); - block_rsv->size = num_bytes; + block_rsv->size = min_t(u64, num_bytes, 512 * 1024 * 1024); num_bytes = sinfo->bytes_used + sinfo->bytes_pinned + sinfo->bytes_reserved + sinfo->bytes_readonly + @@ -4487,14 +4487,49 @@ * If the inodes csum_bytes is the same as the original * csum_bytes then we know we haven't raced with any free()ers * so we can just reduce our inodes csum bytes and carry on. - * Otherwise we have to do the normal free thing to account for - * the case that the free side didn't free up its reserve - * because of this outstanding reservation. */ - if (BTRFS_I(inode)->csum_bytes == csum_bytes) + if (BTRFS_I(inode)->csum_bytes == csum_bytes) { calc_csum_metadata_size(inode, num_bytes, 0); - else - to_free = calc_csum_metadata_size(inode, num_bytes, 0); + } else { + u64 orig_csum_bytes = BTRFS_I(inode)->csum_bytes; + u64 bytes; + + /* + * This is tricky, but first we need to figure out how much we + * free'd from any free-ers that occured during this + * reservation, so we reset ->csum_bytes to the csum_bytes + * before we dropped our lock, and then call the free for the + * number of bytes that were freed while we were trying our + * reservation. + */ + bytes = csum_bytes - BTRFS_I(inode)->csum_bytes; + BTRFS_I(inode)->csum_bytes = csum_bytes; + to_free = calc_csum_metadata_size(inode, bytes, 0); + + + /* + * Now we need to see how much we would have freed had we not + * been making this reservation and our ->csum_bytes were not + * artificially inflated. + */ + BTRFS_I(inode)->csum_bytes = csum_bytes - num_bytes; + bytes = csum_bytes - orig_csum_bytes; + bytes = calc_csum_metadata_size(inode, bytes, 0); + + /* + * Now reset ->csum_bytes to what it should be. If bytes is + * more than to_free then we would have free'd more space had we + * not had an artificially high ->csum_bytes, so we need to free + * the remainder. If bytes is the same or less then we don't + * need to do anything, the other free-ers did the correct + * thing. + */ + BTRFS_I(inode)->csum_bytes = orig_csum_bytes - num_bytes; + if (bytes > to_free) + to_free = bytes - to_free; + else + to_free = 0; + } spin_unlock(&BTRFS_I(inode)->lock); if (dropped) to_free += btrfs_calc_trans_metadata_size(root, dropped); @@ -6813,6 +6848,7 @@ int err = 0; int ret; int level; + bool root_dropped = false; path = btrfs_alloc_path(); if (!path) { @@ -6870,6 +6906,7 @@ while (1) { btrfs_tree_lock(path->nodes[level]); btrfs_set_lock_blocking(path->nodes[level]); + path->locks[level] = BTRFS_WRITE_LOCK_BLOCKING; ret = btrfs_lookup_extent_info(trans, root, path->nodes[level]->start, @@ -6886,6 +6923,7 @@ break; btrfs_tree_unlock(path->nodes[level]); + path->locks[level] = 0; WARN_ON(wc->refs[level] != 1); level--; } @@ -6981,12 +7019,22 @@ free_extent_buffer(root->commit_root); kfree(root); } + root_dropped = true; out_end_trans: btrfs_end_transaction_throttle(trans, tree_root); out_free: kfree(wc); btrfs_free_path(path); out: + /* + * So if we need to stop dropping the snapshot for whatever reason we + * need to make sure to add it back to the dead root list so that we + * keep trying to do the work later. This also cleans up roots if we + * don't have it in the radix (like when we recover after a power fail + * or unmount) so we don't leak memory. + */ + if (root_dropped == false) + btrfs_add_dead_root(root); if (err) btrfs_std_error(root->fs_info, err); return err; --- linux-lts-quantal-3.5.0.orig/fs/ncpfs/dir.c +++ linux-lts-quantal-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); @@ -1033,15 +1033,6 @@ DPRINTK("ncp_rmdir: removing %s/%s\n", dentry->d_parent->d_name.name, dentry->d_name.name); - /* - * fail with EBUSY if there are still references to this - * directory. - */ - dentry_unhash(dentry); - error = -EBUSY; - if (!d_unhashed(dentry)) - goto out; - len = sizeof(__name); error = ncp_io2vol(server, __name, &len, dentry->d_name.name, dentry->d_name.len, !ncp_preserve_case(dir)); --- linux-lts-quantal-3.5.0.orig/fs/fuse/dev.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/fuse/dir.c +++ linux-lts-quantal-3.5.0/fs/fuse/dir.c @@ -645,7 +645,14 @@ spin_lock(&fc->lock); fi->attr_version = ++fc->attr_version; - drop_nlink(inode); + /* + * If i_nlink == 0 then unlink doesn't make sense, yet this can + * happen if userspace filesystem is careless. It would be + * difficult to enforce correct nlink usage so just ignore this + * condition here + */ + if (inode->i_nlink > 0) + drop_nlink(inode); spin_unlock(&fc->lock); fuse_invalidate_attr(inode); fuse_invalidate_attr(dir); @@ -1504,6 +1511,8 @@ fc->no_setxattr = 1; err = -EOPNOTSUPP; } + if (!err) + fuse_invalidate_attr(inode); return err; } @@ -1633,6 +1642,8 @@ fc->no_removexattr = 1; err = -EOPNOTSUPP; } + if (!err) + fuse_invalidate_attr(inode); return err; } --- linux-lts-quantal-3.5.0.orig/fs/fuse/file.c +++ linux-lts-quantal-3.5.0/fs/fuse/file.c @@ -1296,7 +1296,6 @@ inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK); inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); - end_page_writeback(page); spin_lock(&fc->lock); list_add(&req->writepages_entry, &fi->writepages); @@ -1304,6 +1303,8 @@ fuse_flush_writepages(inode); spin_unlock(&fc->lock); + end_page_writeback(page); + return 0; err_free: @@ -1700,7 +1701,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-lts-quantal-3.5.0.orig/fs/exofs/ore.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/sysfs/dir.c +++ linux-lts-quantal-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); } @@ -1013,6 +1013,7 @@ enum kobj_ns_type type; const void *ns; ino_t ino; + loff_t off; type = sysfs_ns_type(parent_sd); ns = sysfs_info(dentry->d_sb)->ns[type]; @@ -1021,6 +1022,8 @@ ino = parent_sd->s_ino; if (filldir(dirent, ".", 1, filp->f_pos, ino, DT_DIR) == 0) filp->f_pos++; + else + return 0; } if (filp->f_pos == 1) { if (parent_sd->s_parent) @@ -1029,8 +1032,11 @@ ino = parent_sd->s_ino; if (filldir(dirent, "..", 2, filp->f_pos, ino, DT_DIR) == 0) filp->f_pos++; + else + return 0; } mutex_lock(&sysfs_mutex); + off = filp->f_pos; for (pos = sysfs_dir_pos(ns, parent_sd, filp->f_pos, pos); pos; pos = sysfs_dir_next_pos(ns, parent_sd, filp->f_pos, pos)) { @@ -1042,27 +1048,43 @@ len = strlen(name); ino = pos->s_ino; type = dt_type(pos); - filp->f_pos = pos->s_hash; + off = filp->f_pos = pos->s_hash; filp->private_data = sysfs_get(pos); mutex_unlock(&sysfs_mutex); - ret = filldir(dirent, name, len, filp->f_pos, ino, type); + ret = filldir(dirent, name, len, off, ino, type); mutex_lock(&sysfs_mutex); if (ret < 0) break; } mutex_unlock(&sysfs_mutex); - if ((filp->f_pos > 1) && !pos) { /* EOF */ - filp->f_pos = INT_MAX; + + /* don't reference last entry if its refcount is dropped */ + if (!pos) { filp->private_data = NULL; + + /* EOF and not changed as 0 or 1 in read/write path */ + if (off == filp->f_pos && off > 1) + filp->f_pos = INT_MAX; } return 0; } +static loff_t sysfs_dir_llseek(struct file *file, loff_t offset, int whence) +{ + struct inode *inode = file->f_path.dentry->d_inode; + loff_t ret; + + mutex_lock(&inode->i_mutex); + ret = generic_file_llseek(file, offset, whence); + mutex_unlock(&inode->i_mutex); + + return ret; +} const struct file_operations sysfs_dir_operations = { .read = generic_read_dir, .readdir = sysfs_readdir, .release = sysfs_dir_release, - .llseek = generic_file_llseek, + .llseek = sysfs_dir_llseek, }; --- linux-lts-quantal-3.5.0.orig/fs/ceph/super.h +++ linux-lts-quantal-3.5.0/fs/ceph/super.h @@ -21,7 +21,7 @@ /* large granularity for statfs utilization stats to facilitate * large volume sizes on 32-bit machines. */ -#define CEPH_BLOCK_SHIFT 20 /* 1 MB */ +#define CEPH_BLOCK_SHIFT 22 /* 4 MB */ #define CEPH_BLOCK (1 << CEPH_BLOCK_SHIFT) #define CEPH_MOUNT_OPT_DIRSTAT (1<<4) /* `cat dirname` for stats */ @@ -847,8 +847,13 @@ extern int ceph_lock(struct file *file, int cmd, struct file_lock *fl); extern int ceph_flock(struct file *file, int cmd, struct file_lock *fl); extern void ceph_count_locks(struct inode *inode, int *p_num, int *f_num); -extern int ceph_encode_locks(struct inode *i, struct ceph_pagelist *p, - int p_locks, int f_locks); +extern int ceph_encode_locks_to_buffer(struct inode *inode, + struct ceph_filelock *flocks, + int num_fcntl_locks, + int num_flock_locks); +extern int ceph_locks_to_pagelist(struct ceph_filelock *flocks, + struct ceph_pagelist *pagelist, + int num_fcntl_locks, int num_flock_locks); extern int lock_to_ceph_filelock(struct file_lock *fl, struct ceph_filelock *c); /* debugfs.c */ --- linux-lts-quantal-3.5.0.orig/fs/ceph/super.c +++ linux-lts-quantal-3.5.0/fs/ceph/super.c @@ -70,8 +70,14 @@ /* * express utilization in terms of large blocks to avoid * overflow on 32-bit machines. + * + * NOTE: for the time being, we make bsize == frsize to humor + * not-yet-ancient versions of glibc that are broken. + * Someday, we will probably want to report a real block + * size... whatever that may mean for a network file system! */ buf->f_bsize = 1 << CEPH_BLOCK_SHIFT; + buf->f_frsize = 1 << CEPH_BLOCK_SHIFT; buf->f_blocks = le64_to_cpu(st.kb) >> (CEPH_BLOCK_SHIFT-10); buf->f_bfree = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10); buf->f_bavail = le64_to_cpu(st.kb_avail) >> (CEPH_BLOCK_SHIFT-10); @@ -79,7 +85,6 @@ buf->f_files = le64_to_cpu(st.num_objects); buf->f_ffree = -1; buf->f_namelen = NAME_MAX; - buf->f_frsize = PAGE_CACHE_SIZE; /* leave fsid little-endian, regardless of host endianness */ fsid = *(u64 *)(&monmap->fsid) ^ *((u64 *)&monmap->fsid + 1); --- linux-lts-quantal-3.5.0.orig/fs/ceph/mds_client.c +++ linux-lts-quantal-3.5.0/fs/ceph/mds_client.c @@ -335,9 +335,9 @@ atomic_read(&s->s_ref), atomic_read(&s->s_ref)-1); if (atomic_dec_and_test(&s->s_ref)) { if (s->s_auth.authorizer) - s->s_mdsc->fsc->client->monc.auth->ops->destroy_authorizer( - s->s_mdsc->fsc->client->monc.auth, - s->s_auth.authorizer); + ceph_auth_destroy_authorizer( + s->s_mdsc->fsc->client->monc.auth, + s->s_auth.authorizer); kfree(s); } } @@ -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; @@ -2453,39 +2450,44 @@ if (recon_state->flock) { int num_fcntl_locks, num_flock_locks; - struct ceph_pagelist_cursor trunc_point; + struct ceph_filelock *flocks; - ceph_pagelist_set_cursor(pagelist, &trunc_point); - do { - lock_flocks(); - ceph_count_locks(inode, &num_fcntl_locks, - &num_flock_locks); - rec.v2.flock_len = (2*sizeof(u32) + - (num_fcntl_locks+num_flock_locks) * - sizeof(struct ceph_filelock)); - unlock_flocks(); - - /* pre-alloc pagelist */ - ceph_pagelist_truncate(pagelist, &trunc_point); - err = ceph_pagelist_append(pagelist, &rec, reclen); - if (!err) - err = ceph_pagelist_reserve(pagelist, - rec.v2.flock_len); - - /* encode locks */ - if (!err) { - lock_flocks(); - err = ceph_encode_locks(inode, - pagelist, - num_fcntl_locks, - num_flock_locks); - unlock_flocks(); - } - } while (err == -ENOSPC); +encode_again: + lock_flocks(); + ceph_count_locks(inode, &num_fcntl_locks, &num_flock_locks); + unlock_flocks(); + flocks = kmalloc((num_fcntl_locks+num_flock_locks) * + sizeof(struct ceph_filelock), GFP_NOFS); + if (!flocks) { + err = -ENOMEM; + goto out_free; + } + lock_flocks(); + err = ceph_encode_locks_to_buffer(inode, flocks, + num_fcntl_locks, + num_flock_locks); + unlock_flocks(); + if (err) { + kfree(flocks); + if (err == -ENOSPC) + goto encode_again; + goto out_free; + } + /* + * number of encoded locks is stable, so copy to pagelist + */ + rec.v2.flock_len = cpu_to_le32(2*sizeof(u32) + + (num_fcntl_locks+num_flock_locks) * + sizeof(struct ceph_filelock)); + err = ceph_pagelist_append(pagelist, &rec, reclen); + if (!err) + err = ceph_locks_to_pagelist(flocks, pagelist, + num_fcntl_locks, + num_flock_locks); + kfree(flocks); } else { err = ceph_pagelist_append(pagelist, &rec, reclen); } - out_free: kfree(path); out_dput: @@ -2532,6 +2534,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 +2639,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) { @@ -3409,13 +3413,17 @@ struct ceph_auth_handshake *auth = &s->s_auth; if (force_new && auth->authorizer) { - if (ac->ops && ac->ops->destroy_authorizer) - ac->ops->destroy_authorizer(ac, auth->authorizer); + ceph_auth_destroy_authorizer(ac, auth->authorizer); auth->authorizer = NULL; } - if (!auth->authorizer && ac->ops && ac->ops->create_authorizer) { - int ret = ac->ops->create_authorizer(ac, CEPH_ENTITY_TYPE_MDS, - auth); + if (!auth->authorizer) { + int ret = ceph_auth_create_authorizer(ac, CEPH_ENTITY_TYPE_MDS, + auth); + if (ret) + return ERR_PTR(ret); + } else { + int ret = ceph_auth_update_authorizer(ac, CEPH_ENTITY_TYPE_MDS, + auth); if (ret) return ERR_PTR(ret); } @@ -3431,7 +3439,7 @@ struct ceph_mds_client *mdsc = s->s_mdsc; struct ceph_auth_client *ac = mdsc->fsc->client->monc.auth; - return ac->ops->verify_authorizer_reply(ac, s->s_auth.authorizer, len); + return ceph_auth_verify_authorizer_reply(ac, s->s_auth.authorizer, len); } static int invalidate_authorizer(struct ceph_connection *con) @@ -3440,8 +3448,7 @@ struct ceph_mds_client *mdsc = s->s_mdsc; struct ceph_auth_client *ac = mdsc->fsc->client->monc.auth; - if (ac->ops->invalidate_authorizer) - ac->ops->invalidate_authorizer(ac, CEPH_ENTITY_TYPE_MDS); + ceph_auth_invalidate_authorizer(ac, CEPH_ENTITY_TYPE_MDS); return ceph_monc_validate_auth(&mdsc->fsc->client->monc); } --- linux-lts-quantal-3.5.0.orig/fs/ceph/export.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ceph/locks.c +++ linux-lts-quantal-3.5.0/fs/ceph/locks.c @@ -191,27 +191,23 @@ } /** - * Encode the flock and fcntl locks for the given inode into the pagelist. - * Format is: #fcntl locks, sequential fcntl locks, #flock locks, - * sequential flock locks. - * Must be called with lock_flocks() already held. - * If we encounter more of a specific lock type than expected, - * we return the value 1. + * Encode the flock and fcntl locks for the given inode into the ceph_filelock + * array. Must be called with lock_flocks() already held. + * If we encounter more of a specific lock type than expected, return -ENOSPC. */ -int ceph_encode_locks(struct inode *inode, struct ceph_pagelist *pagelist, - int num_fcntl_locks, int num_flock_locks) +int ceph_encode_locks_to_buffer(struct inode *inode, + struct ceph_filelock *flocks, + int num_fcntl_locks, int num_flock_locks) { struct file_lock *lock; - struct ceph_filelock cephlock; int err = 0; int seen_fcntl = 0; int seen_flock = 0; + int l = 0; dout("encoding %d flock and %d fcntl locks", num_flock_locks, num_fcntl_locks); - err = ceph_pagelist_append(pagelist, &num_fcntl_locks, sizeof(u32)); - if (err) - goto fail; + for (lock = inode->i_flock; lock != NULL; lock = lock->fl_next) { if (lock->fl_flags & FL_POSIX) { ++seen_fcntl; @@ -219,19 +215,12 @@ err = -ENOSPC; goto fail; } - err = lock_to_ceph_filelock(lock, &cephlock); + err = lock_to_ceph_filelock(lock, &flocks[l]); if (err) goto fail; - err = ceph_pagelist_append(pagelist, &cephlock, - sizeof(struct ceph_filelock)); + ++l; } - if (err) - goto fail; } - - err = ceph_pagelist_append(pagelist, &num_flock_locks, sizeof(u32)); - if (err) - goto fail; for (lock = inode->i_flock; lock != NULL; lock = lock->fl_next) { if (lock->fl_flags & FL_FLOCK) { ++seen_flock; @@ -239,19 +228,51 @@ err = -ENOSPC; goto fail; } - err = lock_to_ceph_filelock(lock, &cephlock); + err = lock_to_ceph_filelock(lock, &flocks[l]); if (err) goto fail; - err = ceph_pagelist_append(pagelist, &cephlock, - sizeof(struct ceph_filelock)); + ++l; } - if (err) - goto fail; } fail: return err; } +/** + * Copy the encoded flock and fcntl locks into the pagelist. + * Format is: #fcntl locks, sequential fcntl locks, #flock locks, + * sequential flock locks. + * Returns zero on success. + */ +int ceph_locks_to_pagelist(struct ceph_filelock *flocks, + struct ceph_pagelist *pagelist, + int num_fcntl_locks, int num_flock_locks) +{ + int err = 0; + __le32 nlocks; + + nlocks = cpu_to_le32(num_fcntl_locks); + err = ceph_pagelist_append(pagelist, &nlocks, sizeof(nlocks)); + if (err) + goto out_fail; + + err = ceph_pagelist_append(pagelist, flocks, + num_fcntl_locks * sizeof(*flocks)); + if (err) + goto out_fail; + + nlocks = cpu_to_le32(num_flock_locks); + err = ceph_pagelist_append(pagelist, &nlocks, sizeof(nlocks)); + if (err) + goto out_fail; + + err = ceph_pagelist_append(pagelist, + &flocks[num_fcntl_locks], + num_flock_locks * sizeof(*flocks)); +out_fail: + return err; +} + /* * Given a pointer to a lock, convert it to a ceph filelock */ --- linux-lts-quantal-3.5.0.orig/fs/ceph/debugfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ceph/addr.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/coda/dir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/jbd/transaction.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/jbd/commit.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/jbd/journal.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/fat/inode.c +++ linux-lts-quantal-3.5.0/fs/fat/inode.c @@ -1218,6 +1218,19 @@ return 0; } +static unsigned long calc_fat_clusters(struct super_block *sb) +{ + struct msdos_sb_info *sbi = MSDOS_SB(sb); + + /* Divide first to avoid overflow */ + if (sbi->fat_bits != 12) { + unsigned long ent_per_sec = sb->s_blocksize * 8 / sbi->fat_bits; + return ent_per_sec * sbi->fat_length; + } + + return sbi->fat_length * sb->s_blocksize * 8 / sbi->fat_bits; +} + /* * Read the super block of an MS-DOS FS. */ @@ -1415,7 +1428,7 @@ sbi->fat_bits = (total_clusters > MAX_FAT12) ? 16 : 12; /* check that FAT table does not overflow */ - fat_clusters = sbi->fat_length * sb->s_blocksize * 8 / sbi->fat_bits; + fat_clusters = calc_fat_clusters(sb); total_clusters = min(total_clusters, fat_clusters - FAT_START_ENT); if (total_clusters > MAX_FAT(sb)) { if (!silent) --- linux-lts-quantal-3.5.0.orig/fs/fscache/stats.c +++ linux-lts-quantal-3.5.0/fs/fscache/stats.c @@ -276,5 +276,5 @@ .open = fscache_stats_open, .read = seq_read, .llseek = seq_lseek, - .release = seq_release, + .release = single_release, }; --- linux-lts-quantal-3.5.0.orig/fs/cachefiles/rdwr.c +++ linux-lts-quantal-3.5.0/fs/cachefiles/rdwr.c @@ -918,7 +918,7 @@ * own time */ dget(object->backer); mntget(cache->mnt); - file = dentry_open(object->backer, cache->mnt, O_RDWR, + file = dentry_open(object->backer, cache->mnt, O_RDWR | O_LARGEFILE, cache->cache_cred); if (IS_ERR(file)) { ret = PTR_ERR(file); --- linux-lts-quantal-3.5.0.orig/fs/ocfs2/suballoc.c +++ linux-lts-quantal-3.5.0/fs/ocfs2/suballoc.c @@ -642,7 +642,7 @@ * cluster groups will be staying in cache for the duration of * this operation. */ - ac->ac_allow_chain_relink = 0; + ac->ac_disable_chain_relink = 1; /* Claim the first region */ status = ocfs2_block_group_claim_bits(osb, handle, ac, min_bits, @@ -1823,7 +1823,7 @@ * Do this *after* figuring out how many bits we're taking out * of our target group. */ - if (ac->ac_allow_chain_relink && + if (!ac->ac_disable_chain_relink && (prev_group_bh) && (ocfs2_block_group_reasonably_empty(bg, res->sr_bits))) { status = ocfs2_relink_block_group(handle, alloc_inode, @@ -1928,7 +1928,6 @@ victim = ocfs2_find_victim_chain(cl); ac->ac_chain = victim; - ac->ac_allow_chain_relink = 1; status = ocfs2_search_chain(ac, handle, bits_wanted, min_bits, res, &bits_left); @@ -1947,7 +1946,7 @@ * searching each chain in order. Don't allow chain relinking * because we only calculate enough journal credits for one * relink per alloc. */ - ac->ac_allow_chain_relink = 0; + ac->ac_disable_chain_relink = 1; for (i = 0; i < le16_to_cpu(cl->cl_next_free_rec); i ++) { if (i == victim) continue; --- linux-lts-quantal-3.5.0.orig/fs/ocfs2/suballoc.h +++ linux-lts-quantal-3.5.0/fs/ocfs2/suballoc.h @@ -49,7 +49,7 @@ /* these are used by the chain search */ u16 ac_chain; - int ac_allow_chain_relink; + int ac_disable_chain_relink; group_search_t *ac_group_search; u64 ac_last_group; --- linux-lts-quantal-3.5.0.orig/fs/ocfs2/dlmglue.c +++ linux-lts-quantal-3.5.0/fs/ocfs2/dlmglue.c @@ -2545,6 +2545,7 @@ * everything is up to the caller :) */ status = ocfs2_should_refresh_lock_res(lockres); if (status < 0) { + ocfs2_cluster_unlock(osb, lockres, level); mlog_errno(status); goto bail; } @@ -2553,8 +2554,10 @@ ocfs2_complete_lock_res_refresh(lockres, status); - if (status < 0) + if (status < 0) { + ocfs2_cluster_unlock(osb, lockres, level); mlog_errno(status); + } ocfs2_track_lock_refresh(lockres); } bail: --- linux-lts-quantal-3.5.0.orig/fs/ocfs2/extent_map.c +++ linux-lts-quantal-3.5.0/fs/ocfs2/extent_map.c @@ -782,7 +782,6 @@ cpos = map_start >> osb->s_clustersize_bits; mapping_end = ocfs2_clusters_for_bytes(inode->i_sb, map_start + map_len); - mapping_end -= cpos; is_last = 0; while (cpos < mapping_end && !is_last) { u32 fe_flags; @@ -791,7 +790,7 @@ &hole_size, &rec, &is_last); if (ret) { mlog_errno(ret); - goto out; + goto out_unlock; } if (rec.e_blkno == 0ULL) { --- linux-lts-quantal-3.5.0.orig/fs/ocfs2/xattr.c +++ linux-lts-quantal-3.5.0/fs/ocfs2/xattr.c @@ -6499,6 +6499,16 @@ } new_oi = OCFS2_I(args->new_inode); + /* + * Adjust extent record count to reserve space for extended attribute. + * Inline data count had been adjusted in ocfs2_duplicate_inline_data(). + */ + if (!(new_oi->ip_dyn_features & OCFS2_INLINE_DATA_FL) && + !(ocfs2_inode_is_fast_symlink(args->new_inode))) { + struct ocfs2_extent_list *el = &new_di->id2.i_list; + le16_add_cpu(&el->l_count, -(inline_size / + sizeof(struct ocfs2_extent_rec))); + } spin_lock(&new_oi->ip_lock); new_oi->ip_dyn_features |= OCFS2_HAS_XATTR_FL | OCFS2_INLINE_XATTR_FL; new_di->i_dyn_features = cpu_to_le16(new_oi->ip_dyn_features); @@ -7189,7 +7199,7 @@ struct buffer_head *dir_bh = NULL; ret = ocfs2_init_security_get(inode, dir, qstr, NULL); - if (!ret) { + if (ret) { mlog_errno(ret); goto leave; } --- linux-lts-quantal-3.5.0.orig/fs/ocfs2/aops.c +++ linux-lts-quantal-3.5.0/fs/ocfs2/aops.c @@ -593,9 +593,9 @@ level = ocfs2_iocb_rw_locked_level(iocb); ocfs2_rw_unlock(inode, level); + inode_dio_done(inode); if (is_async) aio_complete(iocb, ret, 0); - inode_dio_done(inode); } /* --- linux-lts-quantal-3.5.0.orig/fs/nfsd/nfsctl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfsd/nfsd.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfsd/nfs4proc.c +++ linux-lts-quantal-3.5.0/fs/nfsd/nfs4proc.c @@ -194,6 +194,7 @@ do_open_lookup(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open) { struct svc_fh *resfh; + int accmode; __be32 status; resfh = kmalloc(sizeof(struct svc_fh), GFP_KERNEL); @@ -253,9 +254,10 @@ /* set reply cache */ fh_copy_shallow(&open->op_openowner->oo_owner.so_replay.rp_openfh, &resfh->fh_handle); - if (!open->op_created) - status = do_open_permission(rqstp, resfh, open, - NFSD_MAY_NOP); + accmode = NFSD_MAY_NOP; + if (open->op_created) + accmode |= NFSD_MAY_OWNER_OVERRIDE; + status = do_open_permission(rqstp, resfh, open, accmode); set_change_info(&open->op_cinfo, current_fh); fh_dup2(current_fh, resfh); out: @@ -268,6 +270,7 @@ do_open_fhandle(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_open *open) { __be32 status; + int accmode = 0; /* We don't know the target directory, and therefore can not * set the change info @@ -281,9 +284,19 @@ open->op_truncate = (open->op_iattr.ia_valid & ATTR_SIZE) && (open->op_iattr.ia_size == 0); + /* + * In the delegation case, the client is telling us about an + * open that it *already* performed locally, some time ago. We + * should let it succeed now if possible. + * + * In the case of a CLAIM_FH open, on the other hand, the client + * may be counting on us to enforce permissions (the Linux 4.1 + * client uses this for normal opens, for example). + */ + if (open->op_claim_type == NFS4_OPEN_CLAIM_DELEG_CUR_FH) + accmode = NFSD_MAY_OWNER_OVERRIDE; - status = do_open_permission(rqstp, current_fh, open, - NFSD_MAY_OWNER_OVERRIDE); + status = do_open_permission(rqstp, current_fh, open, accmode); return status; } @@ -891,14 +904,14 @@ nfs4_lock_state(); status = nfs4_preprocess_stateid_op(cstate, stateid, WR_STATE, &filp); - if (filp) - get_file(filp); - nfs4_unlock_state(); - if (status) { + nfs4_unlock_state(); dprintk("NFSD: nfsd4_write: couldn't process stateid!\n"); return status; } + if (filp) + get_file(filp); + nfs4_unlock_state(); cnt = write->wr_buflen; write->wr_how_written = write->wr_stable_how; --- linux-lts-quantal-3.5.0.orig/fs/nfsd/nfs4xdr.c +++ linux-lts-quantal-3.5.0/fs/nfsd/nfs4xdr.c @@ -161,8 +161,8 @@ */ memcpy(p, argp->p, avail); /* step to next page */ - argp->p = page_address(argp->pagelist[0]); argp->pagelist++; + argp->p = page_address(argp->pagelist[0]); if (argp->pagelen < PAGE_SIZE) { argp->end = argp->p + (argp->pagelen>>2); argp->pagelen = 0; @@ -263,7 +263,7 @@ iattr->ia_valid |= ATTR_SIZE; } if (bmval[0] & FATTR4_WORD0_ACL) { - int nace; + u32 nace; struct nfs4_ace *ace; READ_BUF(4); len += 4; @@ -343,10 +343,7 @@ all 32 bits of 'nseconds'. */ READ_BUF(12); len += 12; - READ32(dummy32); - if (dummy32) - return nfserr_inval; - READ32(iattr->ia_atime.tv_sec); + READ64(iattr->ia_atime.tv_sec); READ32(iattr->ia_atime.tv_nsec); if (iattr->ia_atime.tv_nsec >= (u32)1000000000) return nfserr_inval; @@ -369,10 +366,7 @@ all 32 bits of 'nseconds'. */ READ_BUF(12); len += 12; - READ32(dummy32); - if (dummy32) - return nfserr_inval; - READ32(iattr->ia_mtime.tv_sec); + READ64(iattr->ia_mtime.tv_sec); READ32(iattr->ia_mtime.tv_nsec); if (iattr->ia_mtime.tv_nsec >= (u32)1000000000) return nfserr_inval; @@ -2259,7 +2253,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) @@ -2397,8 +2391,7 @@ if (bmval1 & FATTR4_WORD1_TIME_ACCESS) { if ((buflen -= 12) < 0) goto out_resource; - WRITE32(0); - WRITE32(stat.atime.tv_sec); + WRITE64((s64)stat.atime.tv_sec); WRITE32(stat.atime.tv_nsec); } if (bmval1 & FATTR4_WORD1_TIME_DELTA) { @@ -2411,15 +2404,13 @@ if (bmval1 & FATTR4_WORD1_TIME_METADATA) { if ((buflen -= 12) < 0) goto out_resource; - WRITE32(0); - WRITE32(stat.ctime.tv_sec); + WRITE64((s64)stat.ctime.tv_sec); WRITE32(stat.ctime.tv_nsec); } if (bmval1 & FATTR4_WORD1_TIME_MODIFY) { if ((buflen -= 12) < 0) goto out_resource; - WRITE32(0); - WRITE32(stat.mtime.tv_sec); + WRITE64((s64)stat.mtime.tv_sec); WRITE32(stat.mtime.tv_nsec); } if (bmval1 & FATTR4_WORD1_MOUNTED_ON_FILEID) { @@ -2946,11 +2937,16 @@ len = maxcount; v = 0; while (len > 0) { - pn = resp->rqstp->rq_resused++; + pn = resp->rqstp->rq_resused; + if (!resp->rqstp->rq_respages[pn]) { /* ran out of pages */ + maxcount -= len; + break; + } resp->rqstp->rq_vec[v].iov_base = page_address(resp->rqstp->rq_respages[pn]); resp->rqstp->rq_vec[v].iov_len = len < PAGE_SIZE ? len : PAGE_SIZE; + resp->rqstp->rq_resused++; v++; len -= PAGE_SIZE; } @@ -2996,6 +2992,8 @@ return nfserr; if (resp->xbuf->page_len) return nfserr_resource; + if (!resp->rqstp->rq_respages[resp->rqstp->rq_resused]) + return nfserr_resource; page = page_address(resp->rqstp->rq_respages[resp->rqstp->rq_resused++]); @@ -3045,6 +3043,8 @@ return nfserr; if (resp->xbuf->page_len) return nfserr_resource; + if (!resp->rqstp->rq_respages[resp->rqstp->rq_resused]) + return nfserr_resource; RESERVE_SPACE(NFS4_VERIFIER_SIZE); savep = p; --- linux-lts-quantal-3.5.0.orig/fs/nfsd/nfs4idmap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfsd/export.c +++ linux-lts-quantal-3.5.0/fs/nfsd/export.c @@ -398,7 +398,7 @@ int migrated, i, err; /* listsize */ - err = get_int(mesg, &fsloc->locations_count); + err = get_uint(mesg, &fsloc->locations_count); if (err) return err; if (fsloc->locations_count > MAX_FS_LOCATIONS) @@ -456,7 +456,7 @@ return -EINVAL; for (f = exp->ex_flavors; f < exp->ex_flavors + listsize; f++) { - err = get_int(mesg, &f->pseudoflavor); + err = get_uint(mesg, &f->pseudoflavor); if (err) return err; /* @@ -465,7 +465,7 @@ * problem at export time instead of when a client fails * to authenticate. */ - err = get_int(mesg, &f->flags); + err = get_uint(mesg, &f->flags); if (err) return err; /* Only some flags are allowed to differ between flavors: */ --- linux-lts-quantal-3.5.0.orig/fs/nfsd/vfs.c +++ linux-lts-quantal-3.5.0/fs/nfsd/vfs.c @@ -794,9 +794,10 @@ } *filp = dentry_open(dget(dentry), mntget(fhp->fh_export->ex_path.mnt), flags, current_cred()); - if (IS_ERR(*filp)) + if (IS_ERR(*filp)) { host_err = PTR_ERR(*filp); - else { + *filp = NULL; + } else { host_err = ima_file_check(*filp, may_flags); if (may_flags & NFSD_MAY_64BIT_COOKIE) @@ -1477,13 +1478,19 @@ case NFS3_CREATE_EXCLUSIVE: if ( dchild->d_inode->i_mtime.tv_sec == v_mtime && dchild->d_inode->i_atime.tv_sec == v_atime - && dchild->d_inode->i_size == 0 ) + && dchild->d_inode->i_size == 0 ) { + if (created) + *created = 1; break; + } case NFS4_CREATE_EXCLUSIVE4_1: if ( dchild->d_inode->i_mtime.tv_sec == v_mtime && dchild->d_inode->i_atime.tv_sec == v_atime - && dchild->d_inode->i_size == 0 ) + && dchild->d_inode->i_size == 0 ) { + if (created) + *created = 1; goto set_attr; + } /* fallthru */ case NFS3_CREATE_GUARDED: err = nfserr_exist; --- linux-lts-quantal-3.5.0.orig/fs/nfsd/nfs4callback.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfsd/nfs4state.c +++ linux-lts-quantal-3.5.0/fs/nfsd/nfs4state.c @@ -214,13 +214,7 @@ { if (atomic_dec_and_test(&fp->fi_access[oflag])) { nfs4_file_put_fd(fp, oflag); - /* - * It's also safe to get rid of the RDWR open *if* - * we no longer have need of the other kind of access - * or if we already have the other kind of open: - */ - if (fp->fi_fds[1-oflag] - || atomic_read(&fp->fi_access[1 - oflag]) == 0) + if (atomic_read(&fp->fi_access[1 - oflag]) == 0) nfs4_file_put_fd(fp, O_RDWR); } } @@ -1090,6 +1084,8 @@ } free_svc_cred(&clp->cl_cred); kfree(clp->cl_name.data); + idr_remove_all(&clp->cl_stateids); + idr_destroy(&clp->cl_stateids); kfree(clp); } @@ -1215,10 +1211,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 +1239,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) @@ -2315,7 +2327,7 @@ if (openowner_slab == NULL) goto out_nomem; lockowner_slab = kmem_cache_create("nfsd4_lockowners", - sizeof(struct nfs4_openowner), 0, 0, NULL); + sizeof(struct nfs4_lockowner), 0, 0, NULL); if (lockowner_slab == NULL) goto out_nomem; file_slab = kmem_cache_create("nfsd4_files", @@ -3748,6 +3760,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-lts-quantal-3.5.0.orig/fs/nfsd/state.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfsd/nfssvc.c +++ linux-lts-quantal-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); @@ -656,7 +650,7 @@ } /* Store reply in cache. */ - nfsd_cache_update(rqstp, proc->pc_cachetype, statp + 1); + nfsd_cache_update(rqstp, rqstp->rq_cachetype, statp + 1); return 1; } @@ -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-lts-quantal-3.5.0.orig/fs/afs/dir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/autofs4/expire.c +++ linux-lts-quantal-3.5.0/fs/autofs4/expire.c @@ -61,15 +61,6 @@ /* This is an autofs submount, we can't expire it */ if (autofs_type_indirect(sbi->type)) goto done; - - /* - * Otherwise it's an offset mount and we need to check - * if we can umount its mount, if there is one. - */ - if (!d_mountpoint(path.dentry)) { - status = 0; - goto done; - } } /* Update the expiry counter if fs is busy */ --- linux-lts-quantal-3.5.0.orig/fs/autofs4/root.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/Kconfig +++ linux-lts-quantal-3.5.0/fs/overlayfs/Kconfig @@ -0,0 +1,4 @@ +config OVERLAYFS_FS + tristate "Overlay filesystem support" + help + Add support for overlay filesystem. --- linux-lts-quantal-3.5.0.orig/fs/overlayfs/super.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/inode.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/dir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/readdir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/overlayfs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/overlayfs/copy_up.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ubifs/lpt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ubifs/super.c +++ linux-lts-quantal-3.5.0/fs/ubifs/super.c @@ -1579,6 +1579,12 @@ c->remounting_rw = 1; c->ro_mount = 0; + if (c->space_fixup) { + err = ubifs_fixup_free_space(c); + if (err) + return err; + } + err = check_free_space(c); if (err) goto out; @@ -1695,12 +1701,6 @@ err = dbg_check_space_info(c); } - if (c->space_fixup) { - err = ubifs_fixup_free_space(c); - if (err) - goto out; - } - mutex_unlock(&c->umount_mutex); return err; --- linux-lts-quantal-3.5.0.orig/fs/ubifs/dir.c +++ linux-lts-quantal-3.5.0/fs/ubifs/dir.c @@ -349,31 +349,50 @@ static int ubifs_readdir(struct file *file, void *dirent, filldir_t filldir) { int err, over = 0; + loff_t pos = file->f_pos; struct qstr nm; union ubifs_key key; struct ubifs_dent_node *dent; struct inode *dir = file->f_path.dentry->d_inode; struct ubifs_info *c = dir->i_sb->s_fs_info; - dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, file->f_pos); + dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, pos); - if (file->f_pos > UBIFS_S_KEY_HASH_MASK || file->f_pos == 2) + if (pos > UBIFS_S_KEY_HASH_MASK || pos == 2) /* * The directory was seek'ed to a senseless position or there * are no more entries. */ return 0; + if (file->f_version == 0) { + /* + * The file was seek'ed, which means that @file->private_data + * is now invalid. This may also be just the first + * 'ubifs_readdir()' invocation, in which case + * @file->private_data is NULL, and the below code is + * basically a no-op. + */ + kfree(file->private_data); + file->private_data = NULL; + } + + /* + * 'generic_file_llseek()' unconditionally sets @file->f_version to + * zero, and we use this for detecting whether the file was seek'ed. + */ + file->f_version = 1; + /* File positions 0 and 1 correspond to "." and ".." */ - if (file->f_pos == 0) { + if (pos == 0) { ubifs_assert(!file->private_data); over = filldir(dirent, ".", 1, 0, dir->i_ino, DT_DIR); if (over) return 0; - file->f_pos = 1; + file->f_pos = pos = 1; } - if (file->f_pos == 1) { + if (pos == 1) { ubifs_assert(!file->private_data); over = filldir(dirent, "..", 2, 1, parent_ino(file->f_path.dentry), DT_DIR); @@ -389,7 +408,7 @@ goto out; } - file->f_pos = key_hash_flash(c, &dent->key); + file->f_pos = pos = key_hash_flash(c, &dent->key); file->private_data = dent; } @@ -397,17 +416,16 @@ if (!dent) { /* * The directory was seek'ed to and is now readdir'ed. - * Find the entry corresponding to @file->f_pos or the - * closest one. + * Find the entry corresponding to @pos or the closest one. */ - dent_key_init_hash(c, &key, dir->i_ino, file->f_pos); + dent_key_init_hash(c, &key, dir->i_ino, pos); nm.name = NULL; dent = ubifs_tnc_next_ent(c, &key, &nm); if (IS_ERR(dent)) { err = PTR_ERR(dent); goto out; } - file->f_pos = key_hash_flash(c, &dent->key); + file->f_pos = pos = key_hash_flash(c, &dent->key); file->private_data = dent; } @@ -419,7 +437,7 @@ ubifs_inode(dir)->creat_sqnum); nm.len = le16_to_cpu(dent->nlen); - over = filldir(dirent, dent->name, nm.len, file->f_pos, + over = filldir(dirent, dent->name, nm.len, pos, le64_to_cpu(dent->inum), vfs_dent_type(dent->type)); if (over) @@ -435,9 +453,17 @@ } kfree(file->private_data); - file->f_pos = key_hash_flash(c, &dent->key); + file->f_pos = pos = key_hash_flash(c, &dent->key); file->private_data = dent; cond_resched(); + + if (file->f_version == 0) + /* + * The file was seek'ed meanwhile, lets return and start + * reading direntries from the new position on the next + * invocation. + */ + return 0; } out: @@ -448,15 +474,13 @@ kfree(file->private_data); file->private_data = NULL; + /* 2 is a special value indicating that there are no more direntries */ file->f_pos = 2; return 0; } -/* If a directory is seeked, we have to free saved readdir() state */ static loff_t ubifs_dir_llseek(struct file *file, loff_t offset, int origin) { - kfree(file->private_data); - file->private_data = NULL; return generic_file_llseek(file, offset, origin); } --- linux-lts-quantal-3.5.0.orig/fs/ubifs/debug.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ubifs/ubifs.h +++ linux-lts-quantal-3.5.0/fs/ubifs/ubifs.h @@ -905,6 +905,8 @@ * @dnext: next orphan to delete * @inum: inode number * @new: %1 => added since the last commit, otherwise %0 + * @cmt: %1 => commit pending, otherwise %0 + * @del: %1 => delete pending, otherwise %0 */ struct ubifs_orphan { struct rb_node rb; @@ -913,7 +915,9 @@ struct ubifs_orphan *cnext; struct ubifs_orphan *dnext; ino_t inum; - int new; + unsigned new:1; + unsigned cmt:1; + unsigned del:1; }; /** @@ -1184,6 +1188,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 +1419,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-lts-quantal-3.5.0.orig/fs/ubifs/find.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ubifs/lprops.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ubifs/orphan.c +++ linux-lts-quantal-3.5.0/fs/ubifs/orphan.c @@ -126,13 +126,14 @@ else if (inum > o->inum) p = p->rb_right; else { - if (o->dnext) { + if (o->del) { spin_unlock(&c->orphan_lock); dbg_gen("deleted twice ino %lu", (unsigned long)inum); return; } - if (o->cnext) { + if (o->cmt) { + o->del = 1; o->dnext = c->orph_dnext; c->orph_dnext = o; spin_unlock(&c->orphan_lock); @@ -172,7 +173,9 @@ last = &c->orph_cnext; list_for_each_entry(orphan, &c->orph_new, new_list) { ubifs_assert(orphan->new); + ubifs_assert(!orphan->cmt); orphan->new = 0; + orphan->cmt = 1; *last = orphan; last = &orphan->cnext; } @@ -299,7 +302,9 @@ cnext = c->orph_cnext; for (i = 0; i < cnt; i++) { orphan = cnext; + ubifs_assert(orphan->cmt); orph->inos[i] = cpu_to_le64(orphan->inum); + orphan->cmt = 0; cnext = orphan->cnext; orphan->cnext = NULL; } @@ -378,6 +383,7 @@ list_for_each_entry(orphan, &c->orph_list, list) { if (orphan->new) continue; + orphan->cmt = 1; *last = orphan; last = &orphan->cnext; cnt += 1; @@ -442,6 +448,7 @@ orphan = dnext; dnext = orphan->dnext; ubifs_assert(!orphan->new); + ubifs_assert(orphan->del); rb_erase(&orphan->rb, &c->orph_tree); list_del(&orphan->list); c->tot_orphans -= 1; @@ -531,6 +538,7 @@ rb_link_node(&orphan->rb, parent, p); rb_insert_color(&orphan->rb, &c->orph_tree); list_add_tail(&orphan->list, &c->orph_list); + orphan->del = 1; orphan->dnext = c->orph_dnext; c->orph_dnext = orphan; dbg_mnt("ino %lu, new %d, tot %d", (unsigned long)inum, --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifsacl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/cifs/cifsencrypt.c +++ linux-lts-quantal-3.5.0/fs/cifs/cifsencrypt.c @@ -369,7 +369,7 @@ if (blobptr + attrsize > blobend) break; if (type == NTLMSSP_AV_NB_DOMAIN_NAME) { - if (!attrsize) + if (!attrsize || attrsize >= CIFS_MAX_DOMAINNAME_LEN) break; if (!ses->domainName) { ses->domainName = @@ -394,7 +394,7 @@ int rc = 0; int len; char nt_hash[CIFS_NTHASH_SIZE]; - wchar_t *user; + __le16 *user; wchar_t *domain; wchar_t *server; @@ -419,7 +419,7 @@ return rc; } - /* convert ses->user_name to unicode and uppercase */ + /* convert ses->user_name to unicode */ len = ses->user_name ? strlen(ses->user_name) : 0; user = kmalloc(2 + (len * 2), GFP_KERNEL); if (user == NULL) { @@ -429,7 +429,7 @@ } if (len) { - len = cifs_strtoUTF16((__le16 *)user, ses->user_name, len, nls_cp); + len = cifs_strtoUTF16(user, ses->user_name, len, nls_cp); UniStrupr(user); } else { memset(user, '\0', 2); --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifsfs.c +++ linux-lts-quantal-3.5.0/fs/cifs/cifsfs.c @@ -86,6 +86,30 @@ struct workqueue_struct *cifsiod_wq; +/* + * Bumps refcount for cifs super block. + * Note that it should be only called if a referece to VFS super block is + * already held, e.g. in open-type syscalls context. Otherwise it can race with + * atomic_dec_and_test in deactivate_locked_super. + */ +void +cifs_sb_active(struct super_block *sb) +{ + struct cifs_sb_info *server = CIFS_SB(sb); + + if (atomic_inc_return(&server->active) == 1) + atomic_inc(&sb->s_active); +} + +void +cifs_sb_deactive(struct super_block *sb) +{ + struct cifs_sb_info *server = CIFS_SB(sb); + + if (atomic_dec_and_test(&server->active)) + deactivate_super(sb); +} + static int cifs_read_super(struct super_block *sb) { @@ -567,6 +591,11 @@ dentry = ERR_PTR(-ENOENT); break; } + if (!S_ISDIR(dir->i_mode)) { + dput(dentry); + dentry = ERR_PTR(-ENOTDIR); + break; + } /* skip separators */ while (*s == sep) --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifs_unicode.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/cifs/sess.c +++ linux-lts-quantal-3.5.0/fs/cifs/sess.c @@ -198,7 +198,7 @@ bytes_ret = 0; } else bytes_ret = cifs_strtoUTF16((__le16 *) bcc_ptr, ses->domainName, - 256, nls_cp); + CIFS_MAX_DOMAINNAME_LEN, nls_cp); bcc_ptr += 2 * bytes_ret; bcc_ptr += 2; /* account for null terminator */ @@ -256,8 +256,8 @@ /* copy domain */ if (ses->domainName != NULL) { - strncpy(bcc_ptr, ses->domainName, 256); - bcc_ptr += strnlen(ses->domainName, 256); + strncpy(bcc_ptr, ses->domainName, CIFS_MAX_DOMAINNAME_LEN); + bcc_ptr += strnlen(ses->domainName, CIFS_MAX_DOMAINNAME_LEN); } /* else we will send a null domain name so the server will default to its own domain */ *bcc_ptr = 0; --- linux-lts-quantal-3.5.0.orig/fs/cifs/inode.c +++ linux-lts-quantal-3.5.0/fs/cifs/inode.c @@ -173,7 +173,8 @@ if (fattr->cf_flags & CIFS_FATTR_DFS_REFERRAL) inode->i_flags |= S_AUTOMOUNT; - cifs_set_ops(inode); + if (inode->i_state & I_NEW) + cifs_set_ops(inode); } void @@ -548,6 +549,11 @@ fattr->cf_mode &= ~(S_IWUGO); fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks); + if (fattr->cf_nlink < 1) { + cFYI(1, "replacing bogus file nlink value %u\n", + fattr->cf_nlink); + fattr->cf_nlink = 1; + } } fattr->cf_uid = cifs_sb->mnt_uid; --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifsglob.h +++ linux-lts-quantal-3.5.0/fs/cifs/cifsglob.h @@ -38,6 +38,7 @@ #define MAX_TREE_SIZE (2 + MAX_SERVER_SIZE + 1 + MAX_SHARE_SIZE + 1) #define MAX_SERVER_SIZE 15 #define MAX_SHARE_SIZE 80 +#define CIFS_MAX_DOMAINNAME_LEN 256 /* max domain name length */ #define MAX_USERNAME_SIZE 256 /* reasonable maximum for current servers */ #define MAX_PASSWORD_SIZE 512 /* max for windows seems to be 256 wide chars */ @@ -657,13 +658,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-lts-quantal-3.5.0.orig/fs/cifs/file.c +++ linux-lts-quantal-3.5.0/fs/cifs/file.c @@ -266,6 +266,8 @@ INIT_WORK(&pCifsFile->oplock_break, cifs_oplock_break); INIT_LIST_HEAD(&pCifsFile->llist); + cifs_sb_active(inode->i_sb); + spin_lock(&cifs_file_list_lock); list_add(&pCifsFile->tlist, &(tlink_tcon(tlink)->openFileList)); /* if readable file instance put first in list*/ @@ -284,6 +286,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 @@ -294,7 +305,8 @@ struct inode *inode = cifs_file->dentry->d_inode; struct cifs_tcon *tcon = tlink_tcon(cifs_file->tlink); struct cifsInodeInfo *cifsi = CIFS_I(inode); - struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); + struct super_block *sb = inode->i_sb; + struct cifs_sb_info *cifs_sb = CIFS_SB(sb); struct cifsLockInfo *li, *tmp; spin_lock(&cifs_file_list_lock); @@ -344,6 +356,7 @@ cifs_put_tlink(cifs_file->tlink); dput(cifs_file->dentry); + cifs_sb_deactive(sb); kfree(cifs_file); } @@ -1563,7 +1576,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 +1628,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 +1645,7 @@ if (inv_file) { any_available = false; - cifsFileInfo_get(inv_file); + cifsFileInfo_get_locked(inv_file); } spin_unlock(&cifs_file_list_lock); @@ -3082,8 +3095,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-lts-quantal-3.5.0.orig/fs/cifs/readdir.c +++ linux-lts-quantal-3.5.0/fs/cifs/readdir.c @@ -76,6 +76,7 @@ struct dentry *dentry, *alias; struct inode *inode; struct super_block *sb = parent->d_inode->i_sb; + struct cifs_sb_info *cifs_sb = CIFS_SB(sb); cFYI(1, "For %s", name->name); @@ -87,15 +88,33 @@ dentry = d_lookup(parent, name); if (dentry) { inode = dentry->d_inode; - /* update inode in place if i_ino didn't change */ - if (inode && CIFS_I(inode)->uniqueid == fattr->cf_uniqueid) { - cifs_fattr_to_inode(inode, fattr); - return dentry; + if (inode) { + /* + * If we're generating inode numbers, then we don't + * want to clobber the existing one with the one that + * the readdir code created. + */ + if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM)) + fattr->cf_uniqueid = CIFS_I(inode)->uniqueid; + + /* update inode in place if i_ino didn't change */ + if (CIFS_I(inode)->uniqueid == fattr->cf_uniqueid) { + cifs_fattr_to_inode(inode, fattr); + return dentry; + } } d_drop(dentry); dput(dentry); } + /* + * If we know that the inode will need to be revalidated immediately, + * then don't create a new dentry for it. We'll end up doing an on + * the wire call either way and this spares us an invalidation. + */ + if (fattr->cf_flags & CIFS_FATTR_NEED_REVAL) + return NULL; + dentry = d_alloc(parent, name); if (dentry == NULL) return NULL; --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifs_unicode.h +++ linux-lts-quantal-3.5.0/fs/cifs/cifs_unicode.h @@ -323,14 +323,14 @@ /* * UniStrupr: Upper case a unicode string */ -static inline wchar_t * -UniStrupr(register wchar_t *upin) +static inline __le16 * +UniStrupr(register __le16 *upin) { - register wchar_t *up; + register __le16 *up; up = upin; while (*up) { /* For all characters */ - *up = UniToupper(*up); + *up = cpu_to_le16(UniToupper(le16_to_cpu(*up))); up++; } return upin; /* Return input pointer */ --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifsfs.h +++ linux-lts-quantal-3.5.0/fs/cifs/cifsfs.h @@ -41,6 +41,10 @@ extern const struct address_space_operations cifs_addr_ops; extern const struct address_space_operations cifs_addr_ops_smallbuf; +/* Functions related to super block operations */ +extern void cifs_sb_active(struct super_block *sb); +extern void cifs_sb_deactive(struct super_block *sb); + /* Functions related to inodes */ extern const struct inode_operations cifs_dir_inode_ops; extern struct inode *cifs_root_iget(struct super_block *); --- linux-lts-quantal-3.5.0.orig/fs/cifs/connect.c +++ linux-lts-quantal-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" }, @@ -378,6 +382,7 @@ try_to_freeze(); /* we should try only the port we connected to before */ + mutex_lock(&server->srv_mutex); rc = generic_ip_connect(server); if (rc) { cFYI(1, "reconnect error %d", rc); @@ -389,6 +394,7 @@ server->tcpStatus = CifsNeedNegotiate; spin_unlock(&GlobalMid_Lock); } + mutex_unlock(&server->srv_mutex); } while (server->tcpStatus == CifsNeedReconnect); return rc; @@ -1167,7 +1173,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 +1350,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; @@ -1634,14 +1646,24 @@ } break; case Opt_blank_pass: - vol->password = NULL; - break; - case Opt_pass: /* passwords have to be handled differently * to allow the character used for deliminator * to be passed within them */ + /* + * Check if this is a case where the password + * starts with a delimiter + */ + tmp_end = strchr(data, '='); + tmp_end++; + if (!(tmp_end < end && tmp_end[1] == delim)) { + /* No it is not. Set the password to NULL */ + vol->password = NULL; + break; + } + /* Yes it is. Drop down to Opt_pass below.*/ + case Opt_pass: /* Obtain the value string */ value = strchr(data, '='); value++; @@ -1746,7 +1768,8 @@ if (string == NULL) goto out_nomem; - if (strnlen(string, 256) == 256) { + if (strnlen(string, CIFS_MAX_DOMAINNAME_LEN) + == CIFS_MAX_DOMAINNAME_LEN) { printk(KERN_WARNING "CIFS: domain name too" " long\n"); goto cifs_parse_mount_err; @@ -2433,8 +2456,8 @@ #ifdef CONFIG_KEYS -/* strlen("cifs:a:") + INET6_ADDRSTRLEN + 1 */ -#define CIFSCREDS_DESC_SIZE (7 + INET6_ADDRSTRLEN + 1) +/* strlen("cifs:a:") + CIFS_MAX_DOMAINNAME_LEN + 1 */ +#define CIFSCREDS_DESC_SIZE (7 + CIFS_MAX_DOMAINNAME_LEN + 1) /* Populate username and pw fields from keyring if possible */ static int --- linux-lts-quantal-3.5.0.orig/fs/cifs/smb1ops.c +++ linux-lts-quantal-3.5.0/fs/cifs/smb1ops.c @@ -51,6 +51,13 @@ mutex_unlock(&server->srv_mutex); return rc; } + + /* + * The response to this call was already factored into the sequence + * number when the call went out, so we must adjust it back downward + * after signing here. + */ + --server->sequence_number; rc = smb_send(server, in_buf, be32_to_cpu(in_buf->smb_buf_length)); mutex_unlock(&server->srv_mutex); --- linux-lts-quantal-3.5.0.orig/fs/cifs/asn1.c +++ linux-lts-quantal-3.5.0/fs/cifs/asn1.c @@ -614,53 +614,10 @@ } } - /* mechlistMIC */ - if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { - /* Check if we have reached the end of the blob, but with - no mechListMic (e.g. NTLMSSP instead of KRB5) */ - if (ctx.error == ASN1_ERR_DEC_EMPTY) - goto decode_negtoken_exit; - cFYI(1, "Error decoding last part negTokenInit exit3"); - return 0; - } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) { - /* tag = 3 indicating mechListMIC */ - cFYI(1, "Exit 4 cls = %d con = %d tag = %d end = %p (%d)", - cls, con, tag, end, *end); - return 0; - } - - /* sequence */ - if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { - cFYI(1, "Error decoding last part negTokenInit exit5"); - return 0; - } else if ((cls != ASN1_UNI) || (con != ASN1_CON) - || (tag != ASN1_SEQ)) { - cFYI(1, "cls = %d con = %d tag = %d end = %p (%d)", - cls, con, tag, end, *end); - } - - /* sequence of */ - if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { - cFYI(1, "Error decoding last part negTokenInit exit 7"); - return 0; - } else if ((cls != ASN1_CTX) || (con != ASN1_CON)) { - cFYI(1, "Exit 8 cls = %d con = %d tag = %d end = %p (%d)", - cls, con, tag, end, *end); - return 0; - } - - /* general string */ - if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { - cFYI(1, "Error decoding last part negTokenInit exit9"); - return 0; - } else if ((cls != ASN1_UNI) || (con != ASN1_PRI) - || (tag != ASN1_GENSTR)) { - cFYI(1, "Exit10 cls = %d con = %d tag = %d end = %p (%d)", - cls, con, tag, end, *end); - return 0; - } - cFYI(1, "Need to call asn1_octets_decode() function for %s", - ctx.pointer); /* is this UTF-8 or ASCII? */ -decode_negtoken_exit: + /* + * We currently ignore anything at the end of the SPNEGO blob after + * the mechTypes have been parsed, since none of that info is + * used at the moment. + */ return 1; } --- linux-lts-quantal-3.5.0.orig/fs/cifs/cifs_dfs_ref.c +++ linux-lts-quantal-3.5.0/fs/cifs/cifs_dfs_ref.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "cifsglob.h" #include "cifsproto.h" #include "cifsfs.h" @@ -150,7 +151,8 @@ * assuming that we have 'unc=' and 'ip=' in * the original sb_mountdata */ - md_len = strlen(sb_mountdata) + rc + strlen(ref->node_name) + 12; + md_len = strlen(sb_mountdata) + rc + strlen(ref->node_name) + 12 + + INET6_ADDRSTRLEN; mountdata = kzalloc(md_len+1, GFP_KERNEL); if (mountdata == NULL) { rc = -ENOMEM; @@ -226,6 +228,8 @@ compose_mount_options_err: kfree(mountdata); mountdata = ERR_PTR(rc); + kfree(*devname); + *devname = NULL; goto compose_mount_options_out; } --- linux-lts-quantal-3.5.0.orig/fs/nilfs2/super.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nilfs2/inode.c +++ linux-lts-quantal-3.5.0/fs/nilfs2/inode.c @@ -195,13 +195,32 @@ static int nilfs_set_page_dirty(struct page *page) { - int ret = __set_page_dirty_buffers(page); + int ret = __set_page_dirty_nobuffers(page); - if (ret) { + if (page_has_buffers(page)) { struct inode *inode = page->mapping->host; - unsigned nr_dirty = 1 << (PAGE_SHIFT - inode->i_blkbits); + unsigned nr_dirty = 0; + struct buffer_head *bh, *head; - nilfs_set_file_dirty(inode, nr_dirty); + /* + * This page is locked by callers, and no other thread + * concurrently marks its buffers dirty since they are + * only dirtied through routines in fs/buffer.c in + * which call sites of mark_buffer_dirty are protected + * by page lock. + */ + bh = head = page_buffers(page); + do { + /* Do not mark hole blocks dirty */ + if (buffer_dirty(bh) || !buffer_mapped(bh)) + continue; + + set_buffer_dirty(bh); + nr_dirty++; + } while (bh = bh->b_this_page, bh != head); + + if (nr_dirty) + nilfs_set_file_dirty(inode, nr_dirty); } return ret; } --- linux-lts-quantal-3.5.0.orig/fs/nilfs2/ioctl.c +++ linux-lts-quantal-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; @@ -666,8 +666,11 @@ if (ret < 0) printk(KERN_ERR "NILFS: GC failed during preparation: " "cannot read source blocks: err=%d\n", ret); - else + else { + if (nilfs_sb_need_update(nilfs)) + set_nilfs_discontinued(nilfs); ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); + } nilfs_remove_all_gcinodes(nilfs); clear_nilfs_gc_running(nilfs); --- linux-lts-quantal-3.5.0.orig/fs/nilfs2/the_nilfs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nilfs2/segbuf.c +++ linux-lts-quantal-3.5.0/fs/nilfs2/segbuf.c @@ -345,8 +345,7 @@ if (err == -EOPNOTSUPP) { set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); - bio_put(bio); - /* to be detected by submit_seg_bio() */ + /* to be detected by nilfs_segbuf_submit_bio() */ } if (!uptodate) @@ -377,12 +376,12 @@ bio->bi_private = segbuf; bio_get(bio); submit_bio(mode, bio); + segbuf->sb_nbio++; if (bio_flagged(bio, BIO_EOPNOTSUPP)) { bio_put(bio); err = -EOPNOTSUPP; goto failed; } - segbuf->sb_nbio++; bio_put(bio); wi->bio = NULL; --- linux-lts-quantal-3.5.0.orig/fs/nilfs2/the_nilfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/proc/proc_sysctl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/proc/version_signature.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/proc/page.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/proc/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/proc/inode.c +++ linux-lts-quantal-3.5.0/fs/proc/inode.c @@ -443,12 +443,10 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de) { - struct inode * inode; + struct inode *inode = new_inode_pseudo(sb); - inode = iget_locked(sb, de->low_ino); - if (!inode) - return NULL; - if (inode->i_state & I_NEW) { + if (inode) { + inode->i_ino = de->low_ino; inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; PROC_I(inode)->fd = 0; PROC_I(inode)->pde = de; @@ -477,9 +475,7 @@ inode->i_fop = de->proc_fops; } } - unlock_new_inode(inode); - } else - pde_put(de); + } return inode; } --- linux-lts-quantal-3.5.0.orig/fs/proc/task_mmu.c +++ linux-lts-quantal-3.5.0/fs/proc/task_mmu.c @@ -693,14 +693,14 @@ } pagemap_entry_t; struct pagemapread { - int pos, len; + int pos, len; /* units: PM_ENTRY_BYTES, not bytes */ pagemap_entry_t *buffer; }; #define PAGEMAP_WALK_SIZE (PMD_SIZE) #define PAGEMAP_WALK_MASK (PMD_MASK) -#define PM_ENTRY_BYTES sizeof(u64) +#define PM_ENTRY_BYTES sizeof(pagemap_entry_t) #define PM_STATUS_BITS 3 #define PM_STATUS_OFFSET (64 - PM_STATUS_BITS) #define PM_STATUS_MASK (((1LL << PM_STATUS_BITS) - 1) << PM_STATUS_OFFSET) @@ -939,8 +939,8 @@ if (!count) goto out_task; - pm.len = PM_ENTRY_BYTES * (PAGEMAP_WALK_SIZE >> PAGE_SHIFT); - pm.buffer = kmalloc(pm.len, GFP_TEMPORARY); + pm.len = (PAGEMAP_WALK_SIZE >> PAGE_SHIFT); + pm.buffer = kmalloc(pm.len * PM_ENTRY_BYTES, GFP_TEMPORARY); ret = -ENOMEM; if (!pm.buffer) goto out_task; --- linux-lts-quantal-3.5.0.orig/fs/proc/stat.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/proc/array.c +++ linux-lts-quantal-3.5.0/fs/proc/array.c @@ -212,7 +212,7 @@ group_info = cred->group_info; task_unlock(p); - for (g = 0; g < min(group_info->ngroups, NGROUPS_SMALL); g++) + for (g = 0; g < group_info->ngroups; g++) seq_printf(m, "%d ", from_kgid_munged(user_ns, GROUP_AT(group_info, g))); put_cred(cred); --- linux-lts-quantal-3.5.0.orig/fs/proc/kmsg.c +++ linux-lts-quantal-3.5.0/fs/proc/kmsg.c @@ -21,12 +21,12 @@ static int kmsg_open(struct inode * inode, struct file * file) { - return do_syslog(SYSLOG_ACTION_OPEN, NULL, 0, SYSLOG_FROM_FILE); + return do_syslog(SYSLOG_ACTION_OPEN, NULL, 0, SYSLOG_FROM_PROC); } static int kmsg_release(struct inode * inode, struct file * file) { - (void) do_syslog(SYSLOG_ACTION_CLOSE, NULL, 0, SYSLOG_FROM_FILE); + (void) do_syslog(SYSLOG_ACTION_CLOSE, NULL, 0, SYSLOG_FROM_PROC); return 0; } @@ -34,15 +34,15 @@ size_t count, loff_t *ppos) { if ((file->f_flags & O_NONBLOCK) && - !do_syslog(SYSLOG_ACTION_SIZE_UNREAD, NULL, 0, SYSLOG_FROM_FILE)) + !do_syslog(SYSLOG_ACTION_SIZE_UNREAD, NULL, 0, SYSLOG_FROM_PROC)) return -EAGAIN; - return do_syslog(SYSLOG_ACTION_READ, buf, count, SYSLOG_FROM_FILE); + return do_syslog(SYSLOG_ACTION_READ, buf, count, SYSLOG_FROM_PROC); } static unsigned int kmsg_poll(struct file *file, poll_table *wait) { poll_wait(file, &log_wait, wait); - if (do_syslog(SYSLOG_ACTION_SIZE_UNREAD, NULL, 0, SYSLOG_FROM_FILE)) + if (do_syslog(SYSLOG_ACTION_SIZE_UNREAD, NULL, 0, SYSLOG_FROM_PROC)) return POLLIN | POLLRDNORM; return 0; } --- linux-lts-quantal-3.5.0.orig/fs/ext4/ext4_jbd2.h +++ linux-lts-quantal-3.5.0/fs/ext4/ext4_jbd2.h @@ -164,16 +164,20 @@ * ext4_journal_callback_del: delete a registered callback * @handle: active journal transaction handle on which callback was registered * @jce: registered journal callback entry to unregister + * Return true if object was sucessfully removed */ -static inline void ext4_journal_callback_del(handle_t *handle, +static inline bool ext4_journal_callback_try_del(handle_t *handle, struct ext4_journal_cb_entry *jce) { + bool deleted; struct ext4_sb_info *sbi = EXT4_SB(handle->h_transaction->t_journal->j_private); spin_lock(&sbi->s_md_lock); + deleted = !list_empty(&jce->jce_list); list_del_init(&jce->jce_list); spin_unlock(&sbi->s_md_lock); + return deleted; } int --- linux-lts-quantal-3.5.0.orig/fs/ext4/Kconfig +++ linux-lts-quantal-3.5.0/fs/ext4/Kconfig @@ -84,4 +84,5 @@ Enables run-time debugging support for the ext4 filesystem. If you select Y here, then you will be able to turn on debugging - with a command such as "echo 1 > /sys/kernel/debug/ext4/mballoc-debug" + with a command such as: + echo 1 > /sys/module/ext4/parameters/mballoc_debug --- linux-lts-quantal-3.5.0.orig/fs/ext4/resize.c +++ linux-lts-quantal-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, @@ -310,7 +315,7 @@ bh = sb_getblk(sb, blk); if (!bh) - return ERR_PTR(-EIO); + return ERR_PTR(-ENOMEM); if ((err = ext4_journal_get_write_access(handle, bh))) { brelse(bh); bh = ERR_PTR(err); @@ -387,7 +392,7 @@ bh = sb_getblk(sb, flex_gd->groups[group].block_bitmap); if (!bh) - return -EIO; + return -ENOMEM; err = ext4_journal_get_write_access(handle, bh); if (err) @@ -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; @@ -462,7 +470,7 @@ gdb = sb_getblk(sb, block); if (!gdb) { - err = -EIO; + err = -ENOMEM; goto out; } @@ -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; @@ -984,7 +991,7 @@ bh = sb_getblk(sb, group * bpg + blk_off); if (!bh) { - err = -EIO; + err = -ENOMEM; break; } ext4_debug("update metadata backup %#04lx\n", @@ -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; @@ -1159,7 +1165,7 @@ ext4_inode_table_set(sb, gdp, group_data->inode_table); ext4_free_group_clusters_set(sb, gdp, - EXT4_B2C(sbi, group_data->free_blocks_count)); + EXT4_NUM_B2C(sbi, group_data->free_blocks_count)); ext4_free_inodes_set(sb, gdp, EXT4_INODES_PER_GROUP(sb)); gdp->bg_flags = cpu_to_le16(*bg_flags); ext4_group_desc_csum_set(sb, group, gdp); @@ -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); /* @@ -1249,6 +1255,8 @@ /* Update the global fs size fields */ sbi->s_groups_count += flex_gd->count; + sbi->s_blockfile_groups = min_t(ext4_group_t, sbi->s_groups_count, + (EXT4_MAX_BLOCK_FILE_PHYS / EXT4_BLOCKS_PER_GROUP(sb))); /* Update the reserved block counts only once the new group is * active. */ @@ -1257,7 +1265,7 @@ /* Update the free space counts */ percpu_counter_add(&sbi->s_freeclusters_counter, - EXT4_B2C(sbi, free_blocks)); + EXT4_NUM_B2C(sbi, free_blocks)); percpu_counter_add(&sbi->s_freeinodes_counter, EXT4_INODES_PER_GROUP(sb) * flex_gd->count); @@ -1266,12 +1274,17 @@ sbi->s_log_groups_per_flex) { ext4_group_t flex_group; flex_group = ext4_flex_group(sbi, group_data[0].group); - atomic_add(EXT4_B2C(sbi, free_blocks), - &sbi->s_flex_groups[flex_group].free_clusters); + atomic64_add(EXT4_NUM_B2C(sbi, free_blocks), + &sbi->s_flex_groups[flex_group].free_clusters); atomic_add(EXT4_INODES_PER_GROUP(sb) * flex_gd->count, &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 +1357,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); @@ -1665,6 +1680,10 @@ return 0; ext4_get_group_no_and_offset(sb, n_blocks_count - 1, &n_group, &offset); + if (n_group > (0xFFFFFFFFUL / EXT4_INODES_PER_GROUP(sb))) { + ext4_warning(sb, "resize would cause inodes_count overflow"); + return -EINVAL; + } ext4_get_group_no_and_offset(sb, o_blocks_count - 1, &o_group, &offset); n_desc_blocks = (n_group + EXT4_DESC_PER_BLOCK(sb)) / @@ -1724,7 +1743,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-lts-quantal-3.5.0.orig/fs/ext4/fsync.c +++ linux-lts-quantal-3.5.0/fs/ext4/fsync.c @@ -260,8 +260,7 @@ if (journal->j_flags & JBD2_BARRIER && !jbd2_trans_will_send_data_barrier(journal, commit_tid)) needs_barrier = true; - jbd2_log_start_commit(journal, commit_tid); - ret = jbd2_log_wait_commit(journal, commit_tid); + ret = jbd2_complete_transaction(journal, commit_tid); if (needs_barrier) blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL); out: --- linux-lts-quantal-3.5.0.orig/fs/ext4/super.c +++ linux-lts-quantal-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; @@ -479,10 +480,13 @@ struct super_block *sb = journal->j_private; struct ext4_sb_info *sbi = EXT4_SB(sb); int error = is_journal_aborted(journal); - struct ext4_journal_cb_entry *jce, *tmp; + struct ext4_journal_cb_entry *jce; + BUG_ON(txn->t_state == T_FINISHED); spin_lock(&sbi->s_md_lock); - list_for_each_entry_safe(jce, tmp, &txn->t_private_list, jce_list) { + while (!list_empty(&txn->t_private_list)) { + jce = list_entry(txn->t_private_list.next, + struct ext4_journal_cb_entry, jce_list); list_del_init(&jce->jce_list); spin_unlock(&sbi->s_md_lock); jce->jce_func(sb, jce, error); @@ -976,6 +980,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; @@ -1430,7 +1435,7 @@ {Opt_discard, EXT4_MOUNT_DISCARD, MOPT_SET}, {Opt_nodiscard, EXT4_MOUNT_DISCARD, MOPT_CLEAR}, {Opt_delalloc, EXT4_MOUNT_DELALLOC, MOPT_SET | MOPT_EXPLICIT}, - {Opt_nodelalloc, EXT4_MOUNT_DELALLOC, MOPT_CLEAR | MOPT_EXPLICIT}, + {Opt_nodelalloc, EXT4_MOUNT_DELALLOC, MOPT_CLEAR}, {Opt_journal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM, MOPT_SET}, {Opt_journal_async_commit, (EXT4_MOUNT_JOURNAL_ASYNC_COMMIT | EXT4_MOUNT_JOURNAL_CHECKSUM), MOPT_SET}, @@ -1654,9 +1659,7 @@ unsigned int *journal_ioprio, int is_remount) { -#ifdef CONFIG_QUOTA struct ext4_sb_info *sbi = EXT4_SB(sb); -#endif char *p; substring_t args[MAX_OPT_ARGS]; int token; @@ -1705,6 +1708,16 @@ } } #endif + if (test_opt(sb, DIOREAD_NOLOCK)) { + int blocksize = + BLOCK_SIZE << le32_to_cpu(sbi->s_es->s_log_block_size); + + if (blocksize < PAGE_CACHE_SIZE) { + ext4_msg(sb, KERN_ERR, "can't mount with " + "dioread_nolock if block size != PAGE_SIZE"); + return 0; + } + } return 1; } @@ -1736,18 +1749,12 @@ if (sbi->s_qf_names[GRPQUOTA]) seq_printf(seq, ",grpjquota=%s", sbi->s_qf_names[GRPQUOTA]); - - if (test_opt(sb, USRQUOTA)) - seq_puts(seq, ",usrquota"); - - if (test_opt(sb, GRPQUOTA)) - seq_puts(seq, ",grpquota"); #endif } 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, '=')) @@ -1956,8 +1963,8 @@ flex_group = ext4_flex_group(sbi, i); atomic_add(ext4_free_inodes_count(sb, gdp), &sbi->s_flex_groups[flex_group].free_inodes); - atomic_add(ext4_free_group_clusters(sb, gdp), - &sbi->s_flex_groups[flex_group].free_clusters); + atomic64_add(ext4_free_group_clusters(sb, gdp), + &sbi->s_flex_groups[flex_group].free_clusters); atomic_add(ext4_used_dirs_count(sb, gdp), &sbi->s_flex_groups[flex_group].used_dirs); } @@ -2195,7 +2202,9 @@ __func__, inode->i_ino, inode->i_size); jbd_debug(2, "truncating inode %lu to %lld bytes\n", inode->i_ino, inode->i_size); + mutex_lock(&inode->i_mutex); ext4_truncate(inode); + mutex_unlock(&inode->i_mutex); nr_truncates++; } else { ext4_msg(sb, KERN_DEBUG, @@ -3085,6 +3094,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); @@ -3289,22 +3410,13 @@ } if (test_opt(sb, DIOREAD_NOLOCK)) { ext4_msg(sb, KERN_ERR, "can't mount with " - "both data=journal and delalloc"); + "both data=journal and dioread_nolock"); goto failed_mount; } if (test_opt(sb, DELALLOC)) clear_opt(sb, DELALLOC); } - blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size); - if (test_opt(sb, DIOREAD_NOLOCK)) { - if (blocksize < PAGE_SIZE) { - ext4_msg(sb, KERN_ERR, "can't mount with " - "dioread_nolock if block size != PAGE_SIZE"); - goto failed_mount; - } - } - sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); @@ -3346,6 +3458,7 @@ if (!ext4_feature_set_ok(sb, (sb->s_flags & MS_RDONLY))) goto failed_mount; + blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size); if (blocksize < EXT4_MIN_BLOCK_SIZE || blocksize > EXT4_MAX_BLOCK_SIZE) { ext4_msg(sb, KERN_ERR, @@ -3735,6 +3848,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 +4330,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 +4411,7 @@ ext4_commit_super(sb, 1); jbd2_journal_clear_err(journal); + jbd2_journal_update_sb_errno(journal); } } @@ -4445,6 +4571,21 @@ goto restore_opts; } + if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA) { + if (test_opt2(sb, EXPLICIT_DELALLOC)) { + ext4_msg(sb, KERN_ERR, "can't mount with " + "both data=journal and delalloc"); + err = -EINVAL; + goto restore_opts; + } + if (test_opt(sb, DIOREAD_NOLOCK)) { + ext4_msg(sb, KERN_ERR, "can't mount with " + "both data=journal and dioread_nolock"); + err = -EINVAL; + goto restore_opts; + } + } + if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) ext4_abort(sb, "Abort forced by user"); @@ -4559,7 +4700,7 @@ } ext4_setup_system_zone(sb); - if (sbi->s_journal == NULL) + if (sbi->s_journal == NULL && !(old_sb_flags & MS_RDONLY)) ext4_commit_super(sb, 1); #ifdef CONFIG_QUOTA @@ -4600,67 +4741,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-lts-quantal-3.5.0.orig/fs/ext4/mmp.c +++ linux-lts-quantal-3.5.0/fs/ext4/mmp.c @@ -7,7 +7,7 @@ #include "ext4.h" /* Checksumming functions */ -static __u32 ext4_mmp_csum(struct super_block *sb, struct mmp_struct *mmp) +static __le32 ext4_mmp_csum(struct super_block *sb, struct mmp_struct *mmp) { struct ext4_sb_info *sbi = EXT4_SB(sb); int offset = offsetof(struct mmp_struct, mmp_checksum); @@ -74,6 +74,8 @@ * is not blocked in the elevator. */ if (!*bh) *bh = sb_getblk(sb, mmp_block); + if (!*bh) + return -ENOMEM; if (*bh) { get_bh(*bh); lock_buffer(*bh); --- linux-lts-quantal-3.5.0.orig/fs/ext4/ialloc.c +++ linux-lts-quantal-3.5.0/fs/ext4/ialloc.c @@ -325,8 +325,8 @@ } struct orlov_stats { + __u64 free_clusters; __u32 free_inodes; - __u32 free_clusters; __u32 used_dirs; }; @@ -343,7 +343,7 @@ if (flex_size > 1) { stats->free_inodes = atomic_read(&flex_group[g].free_inodes); - stats->free_clusters = atomic_read(&flex_group[g].free_clusters); + stats->free_clusters = atomic64_read(&flex_group[g].free_clusters); stats->used_dirs = atomic_read(&flex_group[g].used_dirs); return; } @@ -707,16 +707,17 @@ ino = ext4_find_next_zero_bit((unsigned long *) inode_bitmap_bh->b_data, EXT4_INODES_PER_GROUP(sb), ino); - if (ino >= EXT4_INODES_PER_GROUP(sb)) { - if (++group == ngroups) - group = 0; - continue; - } + if (ino >= EXT4_INODES_PER_GROUP(sb)) + goto next_group; if (group == 0 && (ino+1) < EXT4_FIRST_INO(sb)) { ext4_error(sb, "reserved inode found cleared - " "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); @@ -725,11 +726,19 @@ goto got; /* we grabbed the inode! */ if (ino < EXT4_INODES_PER_GROUP(sb)) goto repeat_in_this_group; +next_group: + if (++group == ngroups) + group = 0; } err = -ENOSPC; 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)) { @@ -745,7 +754,6 @@ BUFFER_TRACE(block_bitmap_bh, "dirty block bitmap"); err = ext4_handle_dirty_metadata(handle, NULL, block_bitmap_bh); - brelse(block_bitmap_bh); /* recheck and clear flag under lock if we still need to */ ext4_lock_group(sb, group); @@ -754,22 +762,16 @@ 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); + brelse(block_bitmap_bh); if (err) 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-lts-quantal-3.5.0.orig/fs/ext4/ext4.h +++ linux-lts-quantal-3.5.0/fs/ext4/ext4.h @@ -329,9 +329,9 @@ */ struct flex_groups { - atomic_t free_inodes; - atomic_t free_clusters; - atomic_t used_dirs; + atomic64_t free_clusters; + atomic_t free_inodes; + atomic_t used_dirs; }; #define EXT4_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not in use */ @@ -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-lts-quantal-3.5.0.orig/fs/ext4/mballoc.c +++ linux-lts-quantal-3.5.0/fs/ext4/mballoc.c @@ -1980,7 +1980,11 @@ group = ac->ac_g_ex.fe_group; for (i = 0; i < ngroups; group++, i++) { - if (group == ngroups) + /* + * Artificially restricted ngroups for non-extent + * files makes group > ngroups possible on first loop. + */ + if (group >= ngroups) group = 0; /* This now checks without needing the buddy page */ @@ -2798,8 +2802,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); @@ -2815,8 +2818,8 @@ if (sbi->s_log_groups_per_flex) { ext4_group_t flex_group = ext4_flex_group(sbi, ac->ac_b_ex.fe_group); - atomic_sub(ac->ac_b_ex.fe_len, - &sbi->s_flex_groups[flex_group].free_clusters); + atomic64_sub(ac->ac_b_ex.fe_len, + &sbi->s_flex_groups[flex_group].free_clusters); } err = ext4_handle_dirty_metadata(handle, NULL, bitmap_bh); @@ -3431,7 +3434,7 @@ win = offs; ac->ac_b_ex.fe_logical = ac->ac_o_ex.fe_logical - - EXT4_B2C(sbi, win); + EXT4_NUM_B2C(sbi, win); BUG_ON(ac->ac_o_ex.fe_logical < ac->ac_b_ex.fe_logical); BUG_ON(ac->ac_o_ex.fe_len > ac->ac_b_ex.fe_len); } @@ -4124,7 +4127,7 @@ /* The max size of hash table is PREALLOC_TB_SIZE */ order = PREALLOC_TB_SIZE - 1; /* Add the prealloc space to lg */ - rcu_read_lock(); + spin_lock(&lg->lg_prealloc_lock); list_for_each_entry_rcu(tmp_pa, &lg->lg_prealloc_list[order], pa_inode_list) { spin_lock(&tmp_pa->pa_lock); @@ -4148,12 +4151,12 @@ if (!added) list_add_tail_rcu(&pa->pa_inode_list, &lg->lg_prealloc_list[order]); - rcu_read_unlock(); + spin_unlock(&lg->lg_prealloc_lock); /* Now trim the list to be not more than 8 elements */ if (lg_prealloc_count > 8) { ext4_mb_discard_lg_preallocations(sb, lg, - order, lg_prealloc_count); + order, lg_prealloc_count); return; } return ; @@ -4434,11 +4437,11 @@ node = rb_prev(new_node); if (node) { entry = rb_entry(node, struct ext4_free_data, efd_node); - if (can_merge(entry, new_entry)) { + if (can_merge(entry, new_entry) && + ext4_journal_callback_try_del(handle, &entry->efd_jce)) { new_entry->efd_start_cluster = entry->efd_start_cluster; new_entry->efd_count += entry->efd_count; rb_erase(node, &(db->bb_free_root)); - ext4_journal_callback_del(handle, &entry->efd_jce); kmem_cache_free(ext4_free_data_cachep, entry); } } @@ -4446,10 +4449,10 @@ node = rb_next(new_node); if (node) { entry = rb_entry(node, struct ext4_free_data, efd_node); - if (can_merge(new_entry, entry)) { + if (can_merge(new_entry, entry) && + ext4_journal_callback_try_del(handle, &entry->efd_jce)) { new_entry->efd_count += entry->efd_count; rb_erase(node, &(db->bb_free_root)); - ext4_journal_callback_del(handle, &entry->efd_jce); kmem_cache_free(ext4_free_data_cachep, entry); } } @@ -4575,7 +4578,7 @@ EXT4_BLOCKS_PER_GROUP(sb); count -= overflow; } - count_clusters = EXT4_B2C(sbi, count); + count_clusters = EXT4_NUM_B2C(sbi, count); bitmap_bh = ext4_read_block_bitmap(sb, block_group); if (!bitmap_bh) { err = -EIO; @@ -4633,11 +4636,16 @@ * blocks being freed are metadata. these blocks shouldn't * be used until this transaction is committed */ + retry: new_entry = kmem_cache_alloc(ext4_free_data_cachep, GFP_NOFS); if (!new_entry) { - ext4_mb_unload_buddy(&e4b); - err = -ENOMEM; - goto error_return; + /* + * We use a retry loop because + * ext4_free_blocks() is not allowed to fail. + */ + cond_resched(); + congestion_wait(BLK_RW_ASYNC, HZ/50); + goto retry; } new_entry->efd_start_cluster = bit; new_entry->efd_group = block_group; @@ -4659,16 +4667,15 @@ 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); if (sbi->s_log_groups_per_flex) { ext4_group_t flex_group = ext4_flex_group(sbi, block_group); - atomic_add(count_clusters, - &sbi->s_flex_groups[flex_group].free_clusters); + atomic64_add(count_clusters, + &sbi->s_flex_groups[flex_group].free_clusters); } ext4_mb_unload_buddy(&e4b); @@ -4805,17 +4812,16 @@ 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, - EXT4_B2C(sbi, blocks_freed)); + EXT4_NUM_B2C(sbi, blocks_freed)); if (sbi->s_log_groups_per_flex) { ext4_group_t flex_group = ext4_flex_group(sbi, block_group); - atomic_add(EXT4_B2C(sbi, blocks_freed), - &sbi->s_flex_groups[flex_group].free_clusters); + atomic64_add(EXT4_NUM_B2C(sbi, blocks_freed), + &sbi->s_flex_groups[flex_group].free_clusters); } ext4_mb_unload_buddy(&e4b); @@ -4986,8 +4992,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-lts-quantal-3.5.0.orig/fs/ext4/namei.c +++ linux-lts-quantal-3.5.0/fs/ext4/namei.c @@ -706,7 +706,7 @@ ext4_warning(dir->i_sb, "Node failed checksum"); brelse(bh); *err = ERR_BAD_DX_DIR; - goto fail; + goto fail2; } set_buffer_verified(bh); @@ -859,11 +859,8 @@ if (ext4_check_dir_entry(dir, NULL, de, bh, (block<i_sb)) + ((char *)de - bh->b_data))) { - /* On error, skip the f_pos to the next block. */ - dir_file->f_pos = (dir_file->f_pos | - (dir->i_sb->s_blocksize - 1)) + 1; - brelse(bh); - return count; + /* silently ignore the rest of the block */ + break; } ext4fs_dirhash(de->name, de->name_len, hinfo); if ((hinfo->hash < start_hash) || @@ -2149,9 +2146,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); @@ -2437,7 +2432,8 @@ int err = 0; /* ext4_handle_valid() assumes a valid handle_t pointer */ - if (handle && !ext4_handle_valid(handle)) + if (handle && !ext4_handle_valid(handle) && + !(EXT4_SB(inode->i_sb)->s_mount_state & EXT4_ORPHAN_FS)) return 0; mutex_lock(&EXT4_SB(inode->i_sb)->s_orphan_lock); @@ -2918,8 +2914,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-lts-quantal-3.5.0.orig/fs/ext4/acl.c +++ linux-lts-quantal-3.5.0/fs/ext4/acl.c @@ -410,8 +410,10 @@ retry: handle = ext4_journal_start(inode, EXT4_DATA_TRANS_BLOCKS(inode->i_sb)); - if (IS_ERR(handle)) - return PTR_ERR(handle); + if (IS_ERR(handle)) { + error = PTR_ERR(handle); + goto release_and_out; + } error = ext4_set_acl(handle, inode, type, acl); ext4_journal_stop(handle); if (error == -ENOSPC && ext4_should_retry_alloc(inode->i_sb, &retries)) --- linux-lts-quantal-3.5.0.orig/fs/ext4/inode.c +++ linux-lts-quantal-3.5.0/fs/ext4/inode.c @@ -55,21 +55,21 @@ __u16 csum_hi = 0; __u32 csum; - csum_lo = raw->i_checksum_lo; + csum_lo = le16_to_cpu(raw->i_checksum_lo); raw->i_checksum_lo = 0; if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE && EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) { - csum_hi = raw->i_checksum_hi; + csum_hi = le16_to_cpu(raw->i_checksum_hi); raw->i_checksum_hi = 0; } csum = ext4_chksum(sbi, ei->i_csum_seed, (__u8 *)raw, EXT4_INODE_SIZE(inode->i_sb)); - raw->i_checksum_lo = csum_lo; + raw->i_checksum_lo = cpu_to_le16(csum_lo); if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE && EXT4_FITS_IN_INODE(raw, ei, i_checksum_hi)) - raw->i_checksum_hi = csum_hi; + raw->i_checksum_hi = cpu_to_le16(csum_hi); return csum; } @@ -211,12 +211,12 @@ * don't use page cache. */ if (ext4_should_journal_data(inode) && - (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode))) { + (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode)) && + inode->i_ino != EXT4_JOURNAL_INO) { journal_t *journal = EXT4_SB(inode->i_sb)->s_journal; tid_t commit_tid = EXT4_I(inode)->i_datasync_tid; - jbd2_log_start_commit(journal, commit_tid); - jbd2_log_wait_commit(journal, commit_tid); + jbd2_complete_transaction(journal, commit_tid); filemap_write_and_wait(&inode->i_data); } truncate_inode_pages(&inode->i_data, 0); @@ -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; @@ -721,7 +730,7 @@ bh = sb_getblk(inode->i_sb, map.m_pblk); if (!bh) { - *errp = -EIO; + *errp = -ENOMEM; return NULL; } if (map.m_flags & EXT4_MAP_NEW) { @@ -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); @@ -1472,6 +1491,8 @@ index = mpd->first_page; end = mpd->next_page - 1; + + pagevec_init(&pvec, 0); while (index <= end) { nr_pages = pagevec_lookup(&pvec, mapping, index, PAGEVEC_SIZE); if (nr_pages == 0) @@ -2434,6 +2455,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 +2473,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; } @@ -2843,9 +2867,9 @@ if (!(io_end->flag & EXT4_IO_END_UNWRITTEN)) { ext4_free_io_end(io_end); out: + inode_dio_done(inode); if (is_async) aio_complete(iocb, ret, 0); - inode_dio_done(inode); return; } @@ -3504,11 +3528,8 @@ iloc->offset = (inode_offset % inodes_per_block) * EXT4_INODE_SIZE(sb); bh = sb_getblk(sb, block); - if (!bh) { - EXT4_ERROR_INODE_BLOCK(inode, block, - "unable to read itable block"); - return -EIO; - } + if (!bh) + return -ENOMEM; if (!buffer_uptodate(bh)) { lock_buffer(bh); @@ -3966,6 +3987,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 +4038,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 +4094,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); @@ -4292,7 +4317,7 @@ struct kstat *stat) { struct inode *inode; - unsigned long delalloc_blocks; + unsigned long long delalloc_blocks; inode = dentry->d_inode; generic_fillattr(inode, stat); @@ -4310,7 +4335,7 @@ delalloc_blocks = EXT4_C2B(EXT4_SB(inode->i_sb), EXT4_I(inode)->i_reserved_data_blocks); - stat->blocks += (delalloc_blocks << inode->i_sb->s_blocksize_bits)>>9; + stat->blocks += delalloc_blocks << (inode->i_sb->s_blocksize_bits-9); return 0; } --- linux-lts-quantal-3.5.0.orig/fs/ext4/page-io.c +++ linux-lts-quantal-3.5.0/fs/ext4/page-io.c @@ -106,15 +106,13 @@ "(inode %lu, offset %llu, size %zd, error %d)", inode->i_ino, offset, size, ret); } - - if (io->iocb) - aio_complete(io->iocb, io->result, 0); - - if (io->flag & EXT4_IO_END_DIRECT) - inode_dio_done(inode); /* Wake up anyone waiting on unwritten extent conversion */ if (atomic_dec_and_test(&EXT4_I(inode)->i_aiodio_unwritten)) wake_up_all(ext4_ioend_wq(io->inode)); + if (io->flag & EXT4_IO_END_DIRECT) + inode_dio_done(inode); + if (io->iocb) + aio_complete(io->iocb, io->result, 0); return ret; } --- linux-lts-quantal-3.5.0.orig/fs/ext4/bitmap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ext4/xattr.c +++ linux-lts-quantal-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); } @@ -557,7 +554,7 @@ error = ext4_handle_dirty_xattr_block(handle, inode, bh); if (IS_SYNC(inode)) ext4_handle_sync(handle); - dquot_free_block(inode, 1); + dquot_free_block(inode, EXT4_C2B(EXT4_SB(inode->i_sb), 1)); ea_bdebug(bh, "refcount now=%d; releasing", le32_to_cpu(BHDR(bh)->h_refcount)); } @@ -846,7 +843,8 @@ else { /* The old block is released after updating the inode. */ - error = dquot_alloc_block(inode, 1); + error = dquot_alloc_block(inode, + EXT4_C2B(EXT4_SB(sb), 1)); if (error) goto cleanup; error = ext4_journal_get_write_access(handle, @@ -901,16 +899,17 @@ new_bh = sb_getblk(sb, block); if (!new_bh) { + error = -ENOMEM; getblk_failed: ext4_free_blocks(handle, inode, NULL, block, 1, EXT4_FREE_BLOCKS_METADATA); - error = -EIO; goto cleanup; } lock_buffer(new_bh); error = ext4_journal_get_create_access(handle, new_bh); if (error) { unlock_buffer(new_bh); + error = -EIO; goto getblk_failed; } memcpy(new_bh->b_data, s->base, new_bh->b_size); @@ -942,7 +941,7 @@ return error; cleanup_dquot: - dquot_free_block(inode, 1); + dquot_free_block(inode, EXT4_C2B(EXT4_SB(sb), 1)); goto cleanup; bad_block: --- linux-lts-quantal-3.5.0.orig/fs/ext4/indirect.c +++ linux-lts-quantal-3.5.0/fs/ext4/indirect.c @@ -145,6 +145,7 @@ struct super_block *sb = inode->i_sb; Indirect *p = chain; struct buffer_head *bh; + int ret = -EIO; *err = 0; /* i_data is not going away, no lock needed */ @@ -153,8 +154,10 @@ goto no_block; while (--depth) { bh = sb_getblk(sb, le32_to_cpu(p->key)); - if (unlikely(!bh)) + if (unlikely(!bh)) { + ret = -ENOMEM; goto failure; + } if (!bh_uptodate_or_lock(bh)) { if (bh_submit_read(bh) < 0) { @@ -176,7 +179,7 @@ return NULL; failure: - *err = -EIO; + *err = ret; no_block: return p; } @@ -470,7 +473,7 @@ */ bh = sb_getblk(inode->i_sb, new_blocks[n-1]); if (unlikely(!bh)) { - err = -EIO; + err = -ENOMEM; goto failed; } --- linux-lts-quantal-3.5.0.orig/fs/ext4/extents.c +++ linux-lts-quantal-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) { @@ -717,6 +720,7 @@ struct ext4_extent_header *eh; struct buffer_head *bh; short int depth, i, ppos = 0, alloc = 0; + int ret; eh = ext_inode_hdr(inode); depth = ext_depth(inode); @@ -744,12 +748,15 @@ path[ppos].p_ext = NULL; bh = sb_getblk(inode->i_sb, path[ppos].p_block); - if (unlikely(!bh)) + if (unlikely(!bh)) { + ret = -ENOMEM; goto err; + } if (!bh_uptodate_or_lock(bh)) { trace_ext4_ext_load_extent(inode, block, path[ppos].p_block); - if (bh_submit_read(bh) < 0) { + ret = bh_submit_read(bh); + if (ret < 0) { put_bh(bh); goto err; } @@ -760,13 +767,15 @@ put_bh(bh); EXT4_ERROR_INODE(inode, "ppos %d > depth %d", ppos, depth); + ret = -EIO; goto err; } path[ppos].p_bh = bh; path[ppos].p_hdr = eh; i--; - if (ext4_ext_check_block(inode, eh, i, bh)) + ret = ext4_ext_check_block(inode, eh, i, bh); + if (ret < 0) goto err; } @@ -788,7 +797,7 @@ ext4_ext_drop_refs(path); if (alloc) kfree(path); - return ERR_PTR(-EIO); + return ERR_PTR(ret); } /* @@ -943,7 +952,7 @@ } bh = sb_getblk(inode->i_sb, newblock); if (!bh) { - err = -EIO; + err = -ENOMEM; goto cleanup; } lock_buffer(bh); @@ -1016,7 +1025,7 @@ newblock = ablocks[--a]; bh = sb_getblk(inode->i_sb, newblock); if (!bh) { - err = -EIO; + err = -ENOMEM; goto cleanup; } lock_buffer(bh); @@ -1128,11 +1137,8 @@ return err; bh = sb_getblk(inode->i_sb, newblock); - if (!bh) { - err = -EIO; - ext4_std_error(inode->i_sb, err); - return err; - } + if (!bh) + return -ENOMEM; lock_buffer(bh); err = ext4_journal_get_create_access(handle, bh); @@ -2174,13 +2180,14 @@ * removes index from the index block. */ static int ext4_ext_rm_idx(handle_t *handle, struct inode *inode, - struct ext4_ext_path *path) + struct ext4_ext_path *path, int depth) { int err; ext4_fsblk_t leaf; /* free index block */ - path--; + depth--; + path = path + depth; leaf = ext4_idx_pblock(path->p_idx); if (unlikely(path->p_hdr->eh_entries == 0)) { EXT4_ERROR_INODE(inode, "path->p_hdr->eh_entries == 0"); @@ -2205,6 +2212,19 @@ ext4_free_blocks(handle, inode, NULL, leaf, 1, EXT4_FREE_BLOCKS_METADATA | EXT4_FREE_BLOCKS_FORGET); + + while (--depth >= 0) { + if (path->p_idx != EXT_FIRST_INDEX(path->p_hdr)) + break; + path--; + err = ext4_ext_get_access(handle, inode, path); + if (err) + break; + path->p_idx->ei_block = (path+1)->p_idx->ei_block; + err = ext4_ext_dirty(handle, inode, path); + if (err) + break; + } return err; } @@ -2538,7 +2558,7 @@ /* if this leaf is free, then we should * remove it from index block above */ if (err == 0 && eh->eh_entries == 0 && path[depth].p_bh != NULL) - err = ext4_ext_rm_idx(handle, inode, path + depth); + err = ext4_ext_rm_idx(handle, inode, path, depth); out: return err; @@ -2570,10 +2590,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 +2626,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 +2661,6 @@ if (err < 0) goto out; } - ext4_ext_drop_refs(path); - kfree(path); } cont: @@ -2647,19 +2669,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) { @@ -2728,7 +2759,7 @@ /* index is empty, remove it; * handle must be already prepared by the * truncatei_leaf() */ - err = ext4_ext_rm_idx(handle, inode, path + i); + err = ext4_ext_rm_idx(handle, inode, path, i); } /* root level has p_bh == NULL, brelse() eats this */ brelse(path[i].p_bh); @@ -2773,8 +2804,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 +2916,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 +2977,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 */ @@ -2986,6 +3029,7 @@ int err = 0; int uninitialized; int split_flag1, flags1; + int allocated = map->m_len; depth = ext_depth(inode); ex = path[depth].p_ext; @@ -2994,16 +3038,19 @@ 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) goto out; + } else { + allocated = ee_len - (map->m_lblk - ee_block); } ext4_ext_drop_refs(path); @@ -3012,8 +3059,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) @@ -3026,7 +3073,7 @@ ext4_ext_show_leaf(inode, path); out: - return err ? err : map->m_len; + return err ? err : allocated; } #define EXT4_EXT_ZERO_LEN 7 @@ -3291,26 +3338,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 +3686,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); @@ -3673,6 +3741,7 @@ allocated - map->m_len); allocated = map->m_len; } + map->m_len = allocated; /* * If we have done fallocate with the offset that is already @@ -4714,7 +4783,7 @@ error = ext4_get_inode_loc(inode, &iloc); if (error) return error; - physical = iloc.bh->b_blocknr << blockbits; + physical = (__u64)iloc.bh->b_blocknr << blockbits; offset = EXT4_GOOD_OLD_INODE_SIZE + EXT4_I(inode)->i_extra_isize; physical += offset; @@ -4722,7 +4791,7 @@ flags |= FIEMAP_EXTENT_DATA_INLINE; brelse(iloc.bh); } else { /* external block */ - physical = EXT4_I(inode)->i_file_acl << blockbits; + physical = (__u64)EXT4_I(inode)->i_file_acl << blockbits; length = inode->i_sb->s_blocksize; } --- linux-lts-quantal-3.5.0.orig/fs/ext4/ext4_jbd2.c +++ linux-lts-quantal-3.5.0/fs/ext4/ext4_jbd2.c @@ -109,10 +109,10 @@ if (ext4_handle_valid(handle)) { err = jbd2_journal_dirty_metadata(handle, bh); - if (err) { - /* Errors can only happen if there is a bug */ - handle->h_err = err; - __ext4_journal_stop(where, line, handle); + /* Errors can only happen if there is a bug */ + if (WARN_ON_ONCE(err)) { + ext4_journal_abort_handle(where, line, __func__, bh, + handle, err); } } else { if (inode) @@ -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-lts-quantal-3.5.0.orig/fs/ext4/balloc.c +++ linux-lts-quantal-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,19 +334,31 @@ 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); } /** - * ext4_read_block_bitmap() + * ext4_read_block_bitmap_nowait() * @sb: super block * @block_group: given block group * @@ -447,6 +457,8 @@ struct buffer_head *bh; bh = ext4_read_block_bitmap_nowait(sb, block_group); + if (!bh) + return NULL; if (ext4_wait_block_bitmap(sb, block_group, bh)) { put_bh(bh); return NULL; @@ -472,11 +484,16 @@ free_clusters = percpu_counter_read_positive(fcc); dirty_clusters = percpu_counter_read_positive(dcc); - root_clusters = EXT4_B2C(sbi, ext4_r_blocks_count(sbi->s_es)); + + /* + * r_blocks_count should always be multiple of the cluster ratio so + * we are safe to do a plane bit shift only. + */ + root_clusters = ext4_r_blocks_count(sbi->s_es) >> sbi->s_cluster_bits; if (free_clusters - (nclusters + root_clusters + dirty_clusters) < EXT4_FREECLUSTERS_WATERMARK) { - free_clusters = EXT4_C2B(sbi, percpu_counter_sum_positive(fcc)); + free_clusters = percpu_counter_sum_positive(fcc); dirty_clusters = percpu_counter_sum_positive(dcc); } /* Check whether we have space after accounting for current @@ -609,7 +626,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; @@ -617,7 +635,7 @@ brelse(bitmap_bh); printk(KERN_DEBUG "ext4_count_free_clusters: stored = %llu" ", computed = %llu, %llu\n", - EXT4_B2C(EXT4_SB(sb), ext4_free_blocks_count(es)), + EXT4_NUM_B2C(EXT4_SB(sb), ext4_free_blocks_count(es)), desc_count, bitmap_count); return bitmap_count; #else --- linux-lts-quantal-3.5.0.orig/fs/ext4/move_extent.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/xfs/xfs_aops.c +++ linux-lts-quantal-3.5.0/fs/xfs/xfs_aops.c @@ -86,11 +86,11 @@ } if (ioend->io_iocb) { + inode_dio_done(ioend->io_inode); if (ioend->io_isasync) { aio_complete(ioend->io_iocb, ioend->io_error ? ioend->io_error : ioend->io_result, 0); } - inode_dio_done(ioend->io_inode); } mempool_free(ioend, xfs_ioend_pool); --- linux-lts-quantal-3.5.0.orig/fs/xfs/xfs_sync.c +++ linux-lts-quantal-3.5.0/fs/xfs/xfs_sync.c @@ -391,7 +391,7 @@ * cancel_delayed_work_sync on this work queue before tearing down * the ail and the log in xfs_log_unmount. */ - if (!(mp->m_super->s_flags & MS_ACTIVE) && + if ((mp->m_super->s_flags & MS_ACTIVE) && !(mp->m_flags & XFS_MOUNT_RDONLY)) { /* dgc: errors ignored here */ if (mp->m_super->s_frozen == SB_UNFROZEN && --- linux-lts-quantal-3.5.0.orig/fs/xfs/xfs_buf_item.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/xfs/xfs_buf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/xfs/xfs_export.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/xfs/xfs_iops.c +++ linux-lts-quantal-3.5.0/fs/xfs/xfs_iops.c @@ -454,6 +454,28 @@ return 0; } +static void +xfs_setattr_mode( + struct xfs_trans *tp, + struct xfs_inode *ip, + struct iattr *iattr) +{ + struct inode *inode = VFS_I(ip); + umode_t mode = iattr->ia_mode; + + ASSERT(tp); + ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); + + if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) + mode &= ~S_ISGID; + + ip->i_d.di_mode &= S_IFMT; + ip->i_d.di_mode |= mode & ~S_IFMT; + + inode->i_mode &= S_IFMT; + inode->i_mode |= mode & ~S_IFMT; +} + int xfs_setattr_nonsize( struct xfs_inode *ip, @@ -605,18 +627,8 @@ /* * Change file access modes. */ - if (mask & ATTR_MODE) { - umode_t mode = iattr->ia_mode; - - if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) - mode &= ~S_ISGID; - - ip->i_d.di_mode &= S_IFMT; - ip->i_d.di_mode |= mode & ~S_IFMT; - - inode->i_mode &= S_IFMT; - inode->i_mode |= mode & ~S_IFMT; - } + if (mask & ATTR_MODE) + xfs_setattr_mode(tp, ip, iattr); /* * Change file access or modified times. @@ -713,9 +725,8 @@ return XFS_ERROR(error); ASSERT(S_ISREG(ip->i_d.di_mode)); - ASSERT((mask & (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| - ATTR_MTIME_SET|ATTR_KILL_SUID|ATTR_KILL_SGID| - ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0); + ASSERT((mask & (ATTR_UID|ATTR_GID|ATTR_ATIME|ATTR_ATIME_SET| + ATTR_MTIME_SET|ATTR_KILL_PRIV|ATTR_TIMES_SET)) == 0); if (!(flags & XFS_ATTR_NOLOCK)) { lock_flags |= XFS_IOLOCK_EXCL; @@ -856,6 +867,12 @@ xfs_iflags_set(ip, XFS_ITRUNCATED); } + /* + * Change file access modes. + */ + if (mask & ATTR_MODE) + xfs_setattr_mode(tp, ip, iattr); + if (mask & ATTR_CTIME) { inode->i_ctime = iattr->ia_ctime; ip->i_d.di_ctime.t_sec = iattr->ia_ctime.tv_sec; --- linux-lts-quantal-3.5.0.orig/fs/xfs/xfs_log_recover.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/xfs/xfs_qm.c +++ linux-lts-quantal-3.5.0/fs/xfs/xfs_qm.c @@ -1453,7 +1453,7 @@ int error; if (!xfs_dqlock_nowait(dqp)) - goto out_busy; + goto out_move_tail; /* * This dquot has acquired a reference in the meantime remove it from @@ -1476,7 +1476,7 @@ * getting flushed to disk, we don't want to reclaim it. */ if (!xfs_dqflock_nowait(dqp)) - goto out_busy; + goto out_unlock_move_tail; if (XFS_DQ_IS_DIRTY(dqp)) { struct xfs_buf *bp = NULL; @@ -1487,7 +1487,7 @@ if (error) { xfs_warn(mp, "%s: dquot %p flush failed", __func__, dqp); - goto out_busy; + goto out_unlock_move_tail; } xfs_buf_delwri_queue(bp, buffer_list); @@ -1496,7 +1496,7 @@ * Give the dquot another try on the freelist, as the * flushing will take some time. */ - goto out_busy; + goto out_unlock_move_tail; } xfs_dqfunlock(dqp); @@ -1515,14 +1515,13 @@ XFS_STATS_INC(xs_qm_dqreclaims); return; -out_busy: - xfs_dqunlock(dqp); - /* * Move the dquot to the tail of the list so that we don't spin on it. */ +out_unlock_move_tail: + xfs_dqunlock(dqp); +out_move_tail: list_move_tail(&dqp->q_lru, &qi->qi_lru_list); - trace_xfs_dqreclaim_busy(dqp); XFS_STATS_INC(xs_qm_dqreclaim_misses); } --- linux-lts-quantal-3.5.0.orig/fs/pstore/platform.c +++ linux-lts-quantal-3.5.0/fs/pstore/platform.c @@ -88,6 +88,27 @@ } } +bool pstore_cannot_block_path(enum kmsg_dump_reason reason) +{ + /* + * In case of NMI path, pstore shouldn't be blocked + * regardless of reason. + */ + if (in_nmi()) + return true; + + switch (reason) { + /* In panic case, other cpus are stopped by smp_send_stop(). */ + case KMSG_DUMP_PANIC: + /* Emergency restart shouldn't be blocked by spin lock. */ + case KMSG_DUMP_EMERG: + return true; + default: + return false; + } +} +EXPORT_SYMBOL_GPL(pstore_cannot_block_path); + /* * callback from kmsg_dump. (s2,l2) has the most recently * written bytes, older bytes are in (s1,l1). Save as much @@ -106,10 +127,12 @@ why = get_reason_str(reason); - if (in_nmi()) { - is_locked = spin_trylock(&psinfo->buf_lock); - if (!is_locked) - pr_err("pstore dump routine blocked in NMI, may corrupt error record\n"); + if (pstore_cannot_block_path(reason)) { + is_locked = spin_trylock_irqsave(&psinfo->buf_lock, flags); + if (!is_locked) { + pr_err("pstore dump routine blocked in %s path, may corrupt error record\n" + , in_nmi() ? "NMI" : why); + } } else spin_lock_irqsave(&psinfo->buf_lock, flags); oopscount++; @@ -135,9 +158,9 @@ total += hsize + len; part++; } - if (in_nmi()) { + if (pstore_cannot_block_path(reason)) { if (is_locked) - spin_unlock(&psinfo->buf_lock); + spin_unlock_irqrestore(&psinfo->buf_lock, flags); } else spin_unlock_irqrestore(&psinfo->buf_lock, flags); } --- linux-lts-quantal-3.5.0.orig/fs/reiserfs/super.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/reiserfs/inode.c +++ linux-lts-quantal-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) { @@ -1805,11 +1810,16 @@ TYPE_STAT_DATA, SD_SIZE, MAX_US_INT); memcpy(INODE_PKEY(inode), &(ih.ih_key), KEY_SIZE); args.dirid = le32_to_cpu(ih.ih_key.k_dir_id); - if (insert_inode_locked4(inode, args.objectid, - reiserfs_find_actor, &args) < 0) { + + reiserfs_write_unlock(inode->i_sb); + err = insert_inode_locked4(inode, args.objectid, + reiserfs_find_actor, &args); + reiserfs_write_lock(inode->i_sb); + if (err) { err = -EINVAL; goto out_bad_inode; } + if (old_format_only(sb)) /* not a perfect generation count, as object ids can be reused, but ** this is as good as reiserfs can do right now. @@ -1975,8 +1985,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 +3111,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 +3177,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-lts-quantal-3.5.0.orig/fs/reiserfs/dir.c +++ linux-lts-quantal-3.5.0/fs/reiserfs/dir.c @@ -204,6 +204,8 @@ next_pos = deh_offset(deh) + 1; if (item_moved(&tmp_ih, &path_to_entry)) { + set_cpu_key_k_offset(&pos_key, + next_pos); goto research; } } /* for */ --- linux-lts-quantal-3.5.0.orig/fs/reiserfs/xattr_acl.c +++ linux-lts-quantal-3.5.0/fs/reiserfs/xattr_acl.c @@ -429,6 +429,9 @@ int depth; int error; + if (IS_PRIVATE(inode)) + return 0; + if (S_ISLNK(inode->i_mode)) return -EOPNOTSUPP; --- linux-lts-quantal-3.5.0.orig/fs/reiserfs/xattr.c +++ linux-lts-quantal-3.5.0/fs/reiserfs/xattr.c @@ -187,8 +187,8 @@ if (dbuf->count == ARRAY_SIZE(dbuf->dentries)) return -ENOSPC; - if (name[0] == '.' && (name[1] == '\0' || - (name[1] == '.' && name[2] == '\0'))) + if (name[0] == '.' && (namelen < 2 || + (namelen == 2 && name[1] == '.'))) return 0; dentry = lookup_one_len(name, dbuf->xadir, namelen); @@ -318,7 +318,19 @@ static int chown_one_xattr(struct dentry *dentry, void *data) { struct iattr *attrs = data; - return reiserfs_setattr(dentry, attrs); + int ia_valid = attrs->ia_valid; + int err; + + /* + * We only want the ownership bits. Otherwise, we'll do + * things like change a directory to a regular file if + * ATTR_MODE is set. + */ + attrs->ia_valid &= (ATTR_UID|ATTR_GID); + err = reiserfs_setattr(dentry, attrs); + attrs->ia_valid = ia_valid; + + return err; } /* No i_mutex, but the inode is unconnected. */ --- linux-lts-quantal-3.5.0.orig/fs/reiserfs/stree.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/isofs/inode.c +++ linux-lts-quantal-3.5.0/fs/isofs/inode.c @@ -119,8 +119,8 @@ static int isofs_remount(struct super_block *sb, int *flags, char *data) { - /* we probably want a lot more here */ - *flags |= MS_RDONLY; + if (!(*flags & MS_RDONLY)) + return -EROFS; return 0; } @@ -769,15 +769,6 @@ */ s->s_maxbytes = 0x80000000000LL; - /* - * The CDROM is read-only, has no nodes (devices) on it, and since - * all of the files appear to be owned by root, we really do not want - * to allow suid. (suid or devices will not show up unless we have - * Rock Ridge extensions) - */ - - s->s_flags |= MS_RDONLY /* | MS_NODEV | MS_NOSUID */; - /* Set this for reference. Its not currently used except on write which we don't have .. */ @@ -1536,6 +1527,9 @@ static struct dentry *isofs_mount(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { + /* We don't support read-write mounts */ + if (!(flags & MS_RDONLY)) + return ERR_PTR(-EACCES); return mount_bdev(fs_type, flags, dev_name, data, isofs_fill_super); } --- linux-lts-quantal-3.5.0.orig/fs/isofs/export.c +++ linux-lts-quantal-3.5.0/fs/isofs/export.c @@ -134,6 +134,7 @@ len = 3; fh32[0] = ei->i_iget5_block; fh16[2] = (__u16)ei->i_iget5_offset; /* fh16 [sic] */ + fh16[3] = 0; /* avoid leaking uninitialized data */ fh32[2] = inode->i_generation; if (parent) { struct iso_inode_info *eparent; @@ -174,7 +175,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-lts-quantal-3.5.0.orig/fs/9p/vfs_dentry.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/debugfs/inode.c +++ linux-lts-quantal-3.5.0/fs/debugfs/inode.c @@ -527,8 +527,7 @@ */ void debugfs_remove_recursive(struct dentry *dentry) { - struct dentry *child; - struct dentry *parent; + struct dentry *child, *next, *parent; if (!dentry) return; @@ -538,61 +537,37 @@ return; parent = dentry; + down: mutex_lock(&parent->d_inode->i_mutex); + list_for_each_entry_safe(child, next, &parent->d_subdirs, d_u.d_child) { + if (!debugfs_positive(child)) + continue; - while (1) { - /* - * When all dentries under "parent" has been removed, - * walk up the tree until we reach our starting point. - */ - if (list_empty(&parent->d_subdirs)) { - mutex_unlock(&parent->d_inode->i_mutex); - if (parent == dentry) - break; - parent = parent->d_parent; - mutex_lock(&parent->d_inode->i_mutex); - } - child = list_entry(parent->d_subdirs.next, struct dentry, - d_u.d_child); - next_sibling: - - /* - * If "child" isn't empty, walk down the tree and - * remove all its descendants first. - */ + /* perhaps simple_empty(child) makes more sense */ if (!list_empty(&child->d_subdirs)) { mutex_unlock(&parent->d_inode->i_mutex); parent = child; - mutex_lock(&parent->d_inode->i_mutex); - continue; + goto down; } - __debugfs_remove(child, parent); - if (parent->d_subdirs.next == &child->d_u.d_child) { - /* - * Try the next sibling. - */ - if (child->d_u.d_child.next != &parent->d_subdirs) { - child = list_entry(child->d_u.d_child.next, - struct dentry, - d_u.d_child); - goto next_sibling; - } - - /* - * Avoid infinite loop if we fail to remove - * one dentry. - */ - mutex_unlock(&parent->d_inode->i_mutex); - break; - } - simple_release_fs(&debugfs_mount, &debugfs_mount_count); + up: + if (!__debugfs_remove(child, parent)) + simple_release_fs(&debugfs_mount, &debugfs_mount_count); } - parent = dentry->d_parent; + mutex_unlock(&parent->d_inode->i_mutex); + child = parent; + parent = parent->d_parent; mutex_lock(&parent->d_inode->i_mutex); - __debugfs_remove(dentry, parent); + + if (child != dentry) { + next = list_entry(child->d_u.d_child.next, struct dentry, + d_u.d_child); + goto up; + } + + if (!__debugfs_remove(child, parent)) + simple_release_fs(&debugfs_mount, &debugfs_mount_count); mutex_unlock(&parent->d_inode->i_mutex); - simple_release_fs(&debugfs_mount, &debugfs_mount_count); } EXPORT_SYMBOL_GPL(debugfs_remove_recursive); --- linux-lts-quantal-3.5.0.orig/fs/nfs/dns_resolve.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/namespace.c +++ linux-lts-quantal-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); @@ -166,11 +175,31 @@ return mnt; } +static int +nfs_namespace_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +{ + if (NFS_FH(dentry->d_inode)->size != 0) + return nfs_getattr(mnt, dentry, stat); + generic_fillattr(dentry->d_inode, stat); + return 0; +} + +static int +nfs_namespace_setattr(struct dentry *dentry, struct iattr *attr) +{ + if (NFS_FH(dentry->d_inode)->size != 0) + return nfs_setattr(dentry, attr); + return -EACCES; +} + const struct inode_operations nfs_mountpoint_inode_operations = { .getattr = nfs_getattr, + .setattr = nfs_setattr, }; const struct inode_operations nfs_referral_inode_operations = { + .getattr = nfs_namespace_getattr, + .setattr = nfs_namespace_setattr, }; static void nfs_expire_automounts(struct work_struct *work) --- linux-lts-quantal-3.5.0.orig/fs/nfs/mount_clnt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/nfs3proc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/pnfs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/super.c +++ linux-lts-quantal-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 @@ -1148,7 +1148,7 @@ { kfree(*option); *option = match_strdup(args); - return !option; + return !*option; } static int nfs_get_option_ul(substring_t args[], unsigned long *option) @@ -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; @@ -2540,7 +2541,6 @@ struct nfs_clone_mount *data = mount_info->cloned; struct nfs_server *server; struct dentry *mntroot = ERR_PTR(-ENOMEM); - int error; dprintk("--> nfs_xdev_mount_common()\n"); @@ -2548,19 +2548,15 @@ /* create a new volume representation */ server = nfs_clone_server(NFS_SB(data->sb), data->fh, data->fattr, data->authflavor); - if (IS_ERR(server)) { - error = PTR_ERR(server); - goto out_err; - } + if (IS_ERR(server)) + mntroot = ERR_CAST(server); + else + mntroot = nfs_fs_mount_common(fs_type, server, flags, + dev_name, mount_info); - mntroot = nfs_fs_mount_common(fs_type, server, flags, dev_name, mount_info); - dprintk("<-- nfs_xdev_mount_common() = 0\n"); -out: + dprintk("<-- nfs_xdev_mount_common() = %ld\n", + IS_ERR(mntroot) ? PTR_ERR(mntroot) : 0L); return mntroot; - -out_err: - dprintk("<-- nfs_xdev_mount_common() = %d [error]\n", error); - goto out; } /* @@ -2651,6 +2647,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 +2958,6 @@ return res; } +MODULE_ALIAS("nfs4"); + #endif /* CONFIG_NFS_V4 */ --- linux-lts-quantal-3.5.0.orig/fs/nfs/read.c +++ linux-lts-quantal-3.5.0/fs/nfs/read.c @@ -91,12 +91,16 @@ put_nfs_open_context(rdata->args.context); if (rdata->pages.pagevec != rdata->pages.page_array) kfree(rdata->pages.pagevec); - if (rdata != &read_header->rpc_data) - kfree(rdata); - else + if (rdata == &read_header->rpc_data) { rdata->header = NULL; + rdata = NULL; + } if (atomic_dec_and_test(&hdr->refcnt)) hdr->completion_ops->completion(hdr); + /* Note: we only free the rpc_task after callbacks are done. + * See the comment in rpc_free_task() for why + */ + kfree(rdata); } static --- linux-lts-quantal-3.5.0.orig/fs/nfs/nfs4namespace.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/nfs4proc.c +++ linux-lts-quantal-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) { @@ -1073,7 +1072,7 @@ struct nfs4_state *state = opendata->state; struct nfs_inode *nfsi = NFS_I(state->inode); struct nfs_delegation *delegation; - int open_mode = opendata->o_arg.open_flags & (O_EXCL|O_TRUNC); + int open_mode = opendata->o_arg.open_flags; fmode_t fmode = opendata->o_arg.fmode; nfs4_stateid stateid; int ret = -EAGAIN; @@ -1382,6 +1381,12 @@ case -ENOMEM: err = 0; goto out; + case -NFS4ERR_DELAY: + case -NFS4ERR_GRACE: + set_bit(NFS_DELEGATED_STATE, &state->flags); + ssleep(1); + err = -EAGAIN; + goto out; } err = nfs4_handle_exception(server, err, &exception); } while (exception.retry); @@ -1497,9 +1502,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 +2146,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 +3197,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 +4348,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 +4365,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 +4514,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 +4523,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) @@ -5927,13 +5943,26 @@ rpc_call_start(task); } +static void nfs41_sequence_prepare_privileged(struct rpc_task *task, void *data) +{ + rpc_task_set_priority(task, RPC_PRIORITY_PRIVILEGED); + nfs41_sequence_prepare(task, data); +} + static const struct rpc_call_ops nfs41_sequence_ops = { .rpc_call_done = nfs41_sequence_call_done, .rpc_call_prepare = nfs41_sequence_prepare, .rpc_release = nfs41_sequence_release, }; -static struct rpc_task *_nfs41_proc_sequence(struct nfs_client *clp, struct rpc_cred *cred) +static const struct rpc_call_ops nfs41_sequence_privileged_ops = { + .rpc_call_done = nfs41_sequence_call_done, + .rpc_call_prepare = nfs41_sequence_prepare_privileged, + .rpc_release = nfs41_sequence_release, +}; + +static struct rpc_task *_nfs41_proc_sequence(struct nfs_client *clp, struct rpc_cred *cred, + const struct rpc_call_ops *seq_ops) { struct nfs4_sequence_data *calldata; struct rpc_message msg = { @@ -5943,7 +5972,7 @@ struct rpc_task_setup task_setup_data = { .rpc_client = clp->cl_rpcclient, .rpc_message = &msg, - .callback_ops = &nfs41_sequence_ops, + .callback_ops = seq_ops, .flags = RPC_TASK_ASYNC | RPC_TASK_SOFT, }; @@ -5970,7 +5999,7 @@ if ((renew_flags & NFS4_RENEW_TIMEOUT) == 0) return 0; - task = _nfs41_proc_sequence(clp, cred); + task = _nfs41_proc_sequence(clp, cred, &nfs41_sequence_ops); if (IS_ERR(task)) ret = PTR_ERR(task); else @@ -5984,7 +6013,7 @@ struct rpc_task *task; int ret; - task = _nfs41_proc_sequence(clp, cred); + task = _nfs41_proc_sequence(clp, cred, &nfs41_sequence_privileged_ops); if (IS_ERR(task)) { ret = PTR_ERR(task); goto out; @@ -6164,11 +6193,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 +6256,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 +6277,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); @@ -6209,7 +6293,8 @@ status = nfs4_wait_for_completion_rpc_task(task); if (status == 0) status = task->tk_status; - if (status == 0) + /* if layoutp->len is 0, nfs4_layoutget_prepare called rpc_exit */ + if (status == 0 && lgp->res.layoutp->len) status = pnfs_layout_process(lgp); rpc_put_task(task); dprintk("<-- %s status=%d\n", __func__, status); @@ -6245,12 +6330,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__); @@ -6426,22 +6507,8 @@ static void nfs4_layoutcommit_release(void *calldata) { struct nfs4_layoutcommit_data *data = calldata; - struct pnfs_layout_segment *lseg, *tmp; - unsigned long *bitlock = &NFS_I(data->args.inode)->flags; pnfs_cleanup_layoutcommit(data); - /* Matched by references in pnfs_set_layoutcommit */ - list_for_each_entry_safe(lseg, tmp, &data->lseg_list, pls_lc_list) { - list_del_init(&lseg->pls_lc_list); - if (test_and_clear_bit(NFS_LSEG_LAYOUTCOMMIT, - &lseg->pls_flags)) - put_lseg(lseg); - } - - clear_bit_unlock(NFS_INO_LAYOUTCOMMITTING, bitlock); - smp_mb__after_clear_bit(); - wake_up_bit(bitlock, NFS_INO_LAYOUTCOMMITTING); - put_rpccred(data->cred); kfree(data); } --- linux-lts-quantal-3.5.0.orig/fs/nfs/pnfs.c +++ linux-lts-quantal-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) */ @@ -1583,11 +1546,27 @@ list_for_each_entry(lseg, &NFS_I(inode)->layout->plh_segs, pls_list) { if (lseg->pls_range.iomode == IOMODE_RW && - test_bit(NFS_LSEG_LAYOUTCOMMIT, &lseg->pls_flags)) + test_and_clear_bit(NFS_LSEG_LAYOUTCOMMIT, &lseg->pls_flags)) list_add(&lseg->pls_lc_list, listp); } } +static void pnfs_list_write_lseg_done(struct inode *inode, struct list_head *listp) +{ + struct pnfs_layout_segment *lseg, *tmp; + unsigned long *bitlock = &NFS_I(inode)->flags; + + /* Matched by references in pnfs_set_layoutcommit */ + list_for_each_entry_safe(lseg, tmp, listp, pls_lc_list) { + list_del_init(&lseg->pls_lc_list); + put_lseg(lseg); + } + + clear_bit_unlock(NFS_INO_LAYOUTCOMMITTING, bitlock); + smp_mb__after_clear_bit(); + wake_up_bit(bitlock, NFS_INO_LAYOUTCOMMITTING); +} + void pnfs_set_lo_fail(struct pnfs_layout_segment *lseg) { if (lseg->pls_range.iomode == IOMODE_RW) { @@ -1638,6 +1617,7 @@ if (nfss->pnfs_curr_ld->cleanup_layoutcommit) nfss->pnfs_curr_ld->cleanup_layoutcommit(data); + pnfs_list_write_lseg_done(data->args.inode, &data->lseg_list); } /* --- linux-lts-quantal-3.5.0.orig/fs/nfs/nfs4xdr.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/unlink.c +++ linux-lts-quantal-3.5.0/fs/nfs/unlink.c @@ -336,20 +336,14 @@ struct inode *old_dir = data->old_dir; struct inode *new_dir = data->new_dir; struct dentry *old_dentry = data->old_dentry; - struct dentry *new_dentry = data->new_dentry; if (!NFS_PROTO(old_dir)->rename_done(task, old_dir, new_dir)) { rpc_restart_call_prepare(task); return; } - if (task->tk_status != 0) { + if (task->tk_status != 0) nfs_cancel_async_unlink(old_dentry); - return; - } - - d_drop(old_dentry); - d_drop(new_dentry); } /** @@ -550,6 +544,18 @@ error = rpc_wait_for_completion_task(task); if (error == 0) error = task->tk_status; + switch (error) { + case 0: + /* The rename succeeded */ + nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); + d_move(dentry, sdentry); + break; + case -ERESTARTSYS: + /* The result of the rename is unknown. Play it safe by + * forcing a new lookup */ + d_drop(dentry); + d_drop(sdentry); + } rpc_put_task(task); out_dput: dput(sdentry); --- linux-lts-quantal-3.5.0.orig/fs/nfs/inode.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/dir.c +++ linux-lts-quantal-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); @@ -1242,11 +1242,14 @@ } +/* Ensure that we revalidate inode->i_nlink */ static void nfs_drop_nlink(struct inode *inode) { spin_lock(&inode->i_lock); - if (inode->i_nlink > 0) - drop_nlink(inode); + /* drop the inode if we're reasonably sure this is the last link */ + if (inode->i_nlink == 1) + clear_nlink(inode); + NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ATTR; spin_unlock(&inode->i_lock); } @@ -1261,8 +1264,8 @@ NFS_I(inode)->cache_validity |= NFS_INO_INVALID_DATA; if (dentry->d_flags & DCACHE_NFSFS_RENAMED) { - drop_nlink(inode); nfs_complete_unlink(dentry, inode); + nfs_drop_nlink(inode); } iput(inode); } @@ -1526,7 +1529,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; @@ -1780,10 +1783,8 @@ if (inode != NULL) { nfs_inode_return_delegation(inode); error = NFS_PROTO(dir)->remove(dir, &dentry->d_name); - /* The VFS may want to delete this inode */ if (error == 0) nfs_drop_nlink(inode); - nfs_mark_for_revalidate(inode); } else error = NFS_PROTO(dir)->remove(dir, &dentry->d_name); if (error == -ENOENT) --- linux-lts-quantal-3.5.0.orig/fs/nfs/file.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/write.c +++ linux-lts-quantal-3.5.0/fs/nfs/write.c @@ -124,12 +124,16 @@ put_nfs_open_context(wdata->args.context); if (wdata->pages.pagevec != wdata->pages.page_array) kfree(wdata->pages.pagevec); - if (wdata != &write_header->rpc_data) - kfree(wdata); - else + if (wdata == &write_header->rpc_data) { wdata->header = NULL; + wdata = NULL; + } if (atomic_dec_and_test(&hdr->refcnt)) hdr->completion_ops->completion(hdr); + /* Note: we only free the rpc_task after callbacks are done. + * See the comment in rpc_free_task() for why + */ + kfree(wdata); } static void nfs_context_set_write_error(struct nfs_open_context *ctx, int error) @@ -855,7 +859,7 @@ { if (nfs_have_delegated_attributes(inode)) goto out; - if (NFS_I(inode)->cache_validity & NFS_INO_REVAL_PAGECACHE) + if (NFS_I(inode)->cache_validity & (NFS_INO_INVALID_DATA|NFS_INO_REVAL_PAGECACHE)) return false; out: return PageUptodate(page) != 0; @@ -1806,19 +1810,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 +1845,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-lts-quantal-3.5.0.orig/fs/nfs/direct.c +++ linux-lts-quantal-3.5.0/fs/nfs/direct.c @@ -247,14 +247,6 @@ struct nfs_page *req = nfs_list_entry(hdr->pages.next); struct page *page = req->wb_page; - if (test_bit(NFS_IOHDR_EOF, &hdr->flags)) { - if (bytes > hdr->good_bytes) - zero_user(page, 0, PAGE_SIZE); - else if (hdr->good_bytes - bytes < PAGE_SIZE) - zero_user_segment(page, - hdr->good_bytes & ~PAGE_MASK, - PAGE_SIZE); - } if (!PageCompound(page)) { if (test_bit(NFS_IOHDR_ERROR, &hdr->flags)) { if (bytes < hdr->good_bytes) --- linux-lts-quantal-3.5.0.orig/fs/nfs/client.c +++ linux-lts-quantal-3.5.0/fs/nfs/client.c @@ -689,8 +689,7 @@ */ static void nfs_destroy_server(struct nfs_server *server) { - if (!(server->flags & NFS_MOUNT_LOCAL_FLOCK) || - !(server->flags & NFS_MOUNT_LOCAL_FCNTL)) + if (server->nlm_host) nlmclnt_done(server->nlm_host); } --- linux-lts-quantal-3.5.0.orig/fs/nfs/nfs4state.c +++ linux-lts-quantal-3.5.0/fs/nfs/nfs4state.c @@ -1767,8 +1767,18 @@ nfs4_begin_drain_session(clp); cred = nfs4_get_exchange_id_cred(clp); status = nfs4_proc_destroy_session(clp->cl_session, cred); - if (status && status != -NFS4ERR_BADSESSION && - status != -NFS4ERR_DEADSESSION) { + switch (status) { + case 0: + case -NFS4ERR_BADSESSION: + case -NFS4ERR_DEADSESSION: + break; + case -NFS4ERR_BACK_CHAN_BUSY: + case -NFS4ERR_DELAY: + set_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state); + status = 0; + ssleep(1); + goto out; + default: status = nfs4_recovery_handle_error(clp, status); goto out; } --- linux-lts-quantal-3.5.0.orig/fs/nfs/idmap.c +++ linux-lts-quantal-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,39 +680,39 @@ 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; } -static int nfs_idmap_instantiate(struct key *key, struct key *authkey, char *data) +static int nfs_idmap_instantiate(struct key *key, struct key *authkey, char *data, size_t datalen) { - return key_instantiate_and_link(key, data, strlen(data) + 1, + return key_instantiate_and_link(key, data, datalen, id_resolver_cache->thread_keyring, authkey); } @@ -702,15 +720,18 @@ static int nfs_idmap_read_message(struct idmap_msg *im, struct key *key, struct key *authkey) { char id_str[NFS_UINT_MAXLEN]; + size_t len; int ret = -EINVAL; switch (im->im_conv) { case IDMAP_CONV_NAMETOID: - sprintf(id_str, "%d", im->im_id); - ret = nfs_idmap_instantiate(key, authkey, id_str); + /* Note: here we store the NUL terminator too */ + len = sprintf(id_str, "%d", im->im_id) + 1; + ret = nfs_idmap_instantiate(key, authkey, id_str, len); break; case IDMAP_CONV_IDTONAME: - ret = nfs_idmap_instantiate(key, authkey, im->im_name); + len = strlen(im->im_name); + ret = nfs_idmap_instantiate(key, authkey, im->im_name, len); break; } @@ -722,11 +743,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 +766,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 +783,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-lts-quantal-3.5.0.orig/fs/nfs/internal.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/blocklayout/blocklayoutdm.c +++ linux-lts-quantal-3.5.0/fs/nfs/blocklayout/blocklayoutdm.c @@ -55,7 +55,8 @@ bl_pipe_msg.bl_wq = &nn->bl_wq; memset(msg, 0, sizeof(*msg)); - msg->data = kzalloc(1 + sizeof(bl_umount_request), GFP_NOFS); + msg->len = sizeof(bl_msg) + bl_msg.totallen; + msg->data = kzalloc(msg->len, GFP_NOFS); if (!msg->data) goto out; @@ -66,7 +67,6 @@ memcpy(msg->data, &bl_msg, sizeof(bl_msg)); dataptr = (uint8_t *) msg->data; memcpy(&dataptr[sizeof(bl_msg)], &bl_umount_request, sizeof(bl_umount_request)); - msg->len = sizeof(bl_msg) + bl_msg.totallen; add_wait_queue(&nn->bl_wq, &wq); if (rpc_queue_upcall(nn->bl_device_pipe, msg) < 0) { --- linux-lts-quantal-3.5.0.orig/fs/nfs/blocklayout/blocklayout.c +++ linux-lts-quantal-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,21 +1176,71 @@ 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, }; static struct pnfs_layoutdriver_type blocklayout_type = { .id = LAYOUT_BLOCK_VOLUME, .name = "LAYOUT_BLOCK_VOLUME", + .owner = THIS_MODULE, .read_pagelist = bl_read_pagelist, .write_pagelist = bl_write_pagelist, .alloc_layout_hdr = bl_alloc_layout_hdr, --- linux-lts-quantal-3.5.0.orig/fs/nfs/blocklayout/blocklayout.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/nfs/objlayout/objio_osd.c +++ linux-lts-quantal-3.5.0/fs/nfs/objlayout/objio_osd.c @@ -591,6 +591,7 @@ .flags = PNFS_LAYOUTRET_ON_SETATTR | PNFS_LAYOUTRET_ON_ERROR, + .owner = THIS_MODULE, .alloc_layout_hdr = objlayout_alloc_layout_hdr, .free_layout_hdr = objlayout_free_layout_hdr, --- linux-lts-quantal-3.5.0.orig/fs/jffs2/nodemgmt.c +++ linux-lts-quantal-3.5.0/fs/jffs2/nodemgmt.c @@ -417,14 +417,16 @@ spin_unlock(&c->erase_completion_lock); ret = jffs2_prealloc_raw_node_refs(c, jeb, 1); - if (ret) - return ret; + /* Just lock it again and continue. Nothing much can change because we hold c->alloc_sem anyway. In fact, it's not entirely clear why we hold c->erase_completion_lock in the majority of this function... but that's a question for another (more caffeine-rich) day. */ spin_lock(&c->erase_completion_lock); + if (ret) + return ret; + waste = jeb->free_size; jffs2_link_node_ref(c, jeb, (jeb->offset + c->sector_size - waste) | REF_OBSOLETE, --- linux-lts-quantal-3.5.0.orig/fs/jffs2/super.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/jffs2/file.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/jffs2/wbuf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/udf/udf_sb.h +++ linux-lts-quantal-3.5.0/fs/udf/udf_sb.h @@ -82,7 +82,7 @@ struct udf_bitmap { __u32 s_extLength; __u32 s_extPosition; - __u16 s_nr_groups; + int s_nr_groups; struct buffer_head **s_block_bitmap; }; --- linux-lts-quantal-3.5.0.orig/fs/udf/super.c +++ linux-lts-quantal-3.5.0/fs/udf/super.c @@ -560,6 +560,12 @@ struct udf_sb_info *sbi = UDF_SB(sb); int error = 0; + if (sbi->s_lvid_bh) { + int write_rev = le16_to_cpu(udf_sb_lvidiu(sbi)->minUDFWriteRev); + if (write_rev > UDF_MAX_WRITE_VERSION && !(*flags & MS_RDONLY)) + return -EACCES; + } + uopt.flags = sbi->s_flags; uopt.uid = sbi->s_uid; uopt.gid = sbi->s_gid; @@ -579,12 +585,6 @@ sbi->s_dmode = uopt.dmode; write_unlock(&sbi->s_cred_lock); - if (sbi->s_lvid_bh) { - int write_rev = le16_to_cpu(udf_sb_lvidiu(sbi)->minUDFWriteRev); - if (write_rev > UDF_MAX_WRITE_VERSION) - *flags |= MS_RDONLY; - } - if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) goto out_unlock; @@ -773,27 +773,38 @@ return 1; } +/* + * Load primary Volume Descriptor Sequence + * + * Return <0 on error, 0 on success. -EAGAIN is special meaning next sequence + * should be tried. + */ static int udf_load_pvoldesc(struct super_block *sb, sector_t block) { struct primaryVolDesc *pvoldesc; struct ustr *instr, *outstr; struct buffer_head *bh; uint16_t ident; - int ret = 1; + int ret = -ENOMEM; instr = kmalloc(sizeof(struct ustr), GFP_NOFS); if (!instr) - return 1; + return -ENOMEM; outstr = kmalloc(sizeof(struct ustr), GFP_NOFS); if (!outstr) goto out1; bh = udf_read_tagged(sb, block, block, &ident); - if (!bh) + if (!bh) { + ret = -EAGAIN; goto out2; + } - BUG_ON(ident != TAG_IDENT_PVD); + if (ident != TAG_IDENT_PVD) { + ret = -EIO; + goto out_bh; + } pvoldesc = (struct primaryVolDesc *)bh->b_data; @@ -819,8 +830,9 @@ if (udf_CS0toUTF8(outstr, instr)) udf_debug("volSetIdent[] = '%s'\n", outstr->u_name); - brelse(bh); ret = 0; +out_bh: + brelse(bh); out2: kfree(outstr); out1: @@ -877,7 +889,7 @@ if (mdata->s_mirror_fe == NULL) { udf_err(sb, "Both metadata and mirror metadata inode efe can not found\n"); - goto error_exit; + return -EIO; } } @@ -894,23 +906,18 @@ addr.logicalBlockNum, addr.partitionReferenceNum); mdata->s_bitmap_fe = udf_iget(sb, &addr); - if (mdata->s_bitmap_fe == NULL) { if (sb->s_flags & MS_RDONLY) udf_warn(sb, "bitmap inode efe not found but it's ok since the disc is mounted read-only\n"); else { udf_err(sb, "bitmap inode efe not found and attempted read-write mount\n"); - goto error_exit; + return -EIO; } } } udf_debug("udf_load_metadata_files Ok\n"); - return 0; - -error_exit: - return 1; } static void udf_load_fileset(struct super_block *sb, struct buffer_head *bh, @@ -1000,7 +1007,7 @@ if (!map->s_uspace.s_table) { udf_debug("cannot load unallocSpaceTable (part %d)\n", p_index); - return 1; + return -EIO; } map->s_partition_flags |= UDF_PART_FLAG_UNALLOC_TABLE; udf_debug("unallocSpaceTable (part %d) @ %ld\n", @@ -1010,7 +1017,7 @@ if (phd->unallocSpaceBitmap.extLength) { struct udf_bitmap *bitmap = udf_sb_alloc_bitmap(sb, p_index); if (!bitmap) - return 1; + return -ENOMEM; map->s_uspace.s_bitmap = bitmap; bitmap->s_extLength = le32_to_cpu( phd->unallocSpaceBitmap.extLength); @@ -1035,7 +1042,7 @@ if (!map->s_fspace.s_table) { udf_debug("cannot load freedSpaceTable (part %d)\n", p_index); - return 1; + return -EIO; } map->s_partition_flags |= UDF_PART_FLAG_FREED_TABLE; @@ -1046,7 +1053,7 @@ if (phd->freedSpaceBitmap.extLength) { struct udf_bitmap *bitmap = udf_sb_alloc_bitmap(sb, p_index); if (!bitmap) - return 1; + return -ENOMEM; map->s_fspace.s_bitmap = bitmap; bitmap->s_extLength = le32_to_cpu( phd->freedSpaceBitmap.extLength); @@ -1100,7 +1107,7 @@ udf_find_vat_block(sb, p_index, type1_index, blocks - 1); } if (!sbi->s_vat_inode) - return 1; + return -EIO; if (map->s_partition_type == UDF_VIRTUAL_MAP15) { map->s_type_specific.s_virtual.s_start_offset = 0; @@ -1112,7 +1119,7 @@ pos = udf_block_map(sbi->s_vat_inode, 0); bh = sb_bread(sb, pos); if (!bh) - return 1; + return -EIO; vat20 = (struct virtualAllocationTable20 *)bh->b_data; } else { vat20 = (struct virtualAllocationTable20 *) @@ -1130,6 +1137,12 @@ return 0; } +/* + * Load partition descriptor block + * + * Returns <0 on error, 0 on success, -EAGAIN is special - try next descriptor + * sequence. + */ static int udf_load_partdesc(struct super_block *sb, sector_t block) { struct buffer_head *bh; @@ -1139,13 +1152,15 @@ int i, type1_idx; uint16_t partitionNumber; uint16_t ident; - int ret = 0; + int ret; bh = udf_read_tagged(sb, block, block, &ident); if (!bh) - return 1; - if (ident != TAG_IDENT_PD) + return -EAGAIN; + if (ident != TAG_IDENT_PD) { + ret = 0; goto out_bh; + } p = (struct partitionDesc *)bh->b_data; partitionNumber = le16_to_cpu(p->partitionNumber); @@ -1164,10 +1179,13 @@ if (i >= sbi->s_partitions) { udf_debug("Partition (%d) not found in partition map\n", partitionNumber); + ret = 0; goto out_bh; } ret = udf_fill_partdesc_info(sb, p, i); + if (ret < 0) + goto out_bh; /* * Now rescan for VIRTUAL or METADATA partitions when SPARABLE and @@ -1184,32 +1202,37 @@ break; } - if (i >= sbi->s_partitions) + if (i >= sbi->s_partitions) { + ret = 0; goto out_bh; + } ret = udf_fill_partdesc_info(sb, p, i); - if (ret) + if (ret < 0) goto out_bh; if (map->s_partition_type == UDF_METADATA_MAP25) { ret = udf_load_metadata_files(sb, i); - if (ret) { + if (ret < 0) { udf_err(sb, "error loading MetaData partition map %d\n", i); goto out_bh; } } else { - ret = udf_load_vat(sb, i, type1_idx); - if (ret) - goto out_bh; /* - * Mark filesystem read-only if we have a partition with - * virtual map since we don't handle writing to it (we - * overwrite blocks instead of relocating them). + * If we have a partition with virtual map, we don't handle + * writing to it (we overwrite blocks instead of relocating + * them). */ - sb->s_flags |= MS_RDONLY; - pr_notice("Filesystem marked read-only because writing to pseudooverwrite partition is not implemented\n"); + if (!(sb->s_flags & MS_RDONLY)) { + ret = -EACCES; + goto out_bh; + } + ret = udf_load_vat(sb, i, type1_idx); + if (ret < 0) + goto out_bh; } + ret = 0; out_bh: /* In case loading failed, we handle cleanup in udf_fill_super */ brelse(bh); @@ -1275,18 +1298,19 @@ uint16_t ident; struct buffer_head *bh; unsigned int table_len; - int ret = 0; + int ret; bh = udf_read_tagged(sb, block, block, &ident); if (!bh) - return 1; + return -EAGAIN; 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 = -EIO; goto out_bh; } @@ -1330,8 +1354,9 @@ } else if (!strncmp(upm2->partIdent.ident, UDF_ID_SPARABLE, strlen(UDF_ID_SPARABLE))) { - if (udf_load_sparable_map(sb, map, - (struct sparablePartitionMap *)gpm) < 0) + ret = udf_load_sparable_map(sb, map, + (struct sparablePartitionMap *)gpm); + if (ret < 0) goto out_bh; } else if (!strncmp(upm2->partIdent.ident, UDF_ID_METADATA, @@ -1397,7 +1422,7 @@ } if (lvd->integritySeqExt.extLength) udf_load_logicalvolint(sb, leea_to_cpu(lvd->integritySeqExt)); - + ret = 0; out_bh: brelse(bh); return ret; @@ -1435,22 +1460,18 @@ } /* - * udf_process_sequence - * - * PURPOSE - * Process a main/reserve volume descriptor sequence. - * - * PRE-CONDITIONS - * sb Pointer to _locked_ superblock. - * block First block of first extent of the sequence. - * lastblock Lastblock of first extent of the sequence. + * Process a main/reserve volume descriptor sequence. + * @block First block of first extent of the sequence. + * @lastblock Lastblock of first extent of the sequence. + * @fileset There we store extent containing root fileset * - * HISTORY - * July 1, 1997 - Andrew E. Mileski - * Written, tested, and released. + * Returns <0 on error, 0 on success. -EAGAIN is special - try next descriptor + * sequence */ -static noinline int udf_process_sequence(struct super_block *sb, long block, - long lastblock, struct kernel_lb_addr *fileset) +static noinline int udf_process_sequence( + struct super_block *sb, + sector_t block, sector_t lastblock, + struct kernel_lb_addr *fileset) { struct buffer_head *bh = NULL; struct udf_vds_record vds[VDS_POS_LENGTH]; @@ -1461,6 +1482,7 @@ uint32_t vdsn; uint16_t ident; long next_s = 0, next_e = 0; + int ret; memset(vds, 0, sizeof(struct udf_vds_record) * VDS_POS_LENGTH); @@ -1475,7 +1497,7 @@ udf_err(sb, "Block %llu of volume descriptor sequence is corrupted or we could not read it\n", (unsigned long long)block); - return 1; + return -EAGAIN; } /* Process each descriptor (ISO 13346 3/8.3-8.4) */ @@ -1548,14 +1570,19 @@ */ if (!vds[VDS_POS_PRIMARY_VOL_DESC].block) { udf_err(sb, "Primary Volume Descriptor not found!\n"); - return 1; + return -EAGAIN; + } + ret = udf_load_pvoldesc(sb, vds[VDS_POS_PRIMARY_VOL_DESC].block); + if (ret < 0) + return ret; + + if (vds[VDS_POS_LOGICAL_VOL_DESC].block) { + ret = udf_load_logicalvol(sb, + vds[VDS_POS_LOGICAL_VOL_DESC].block, + fileset); + if (ret < 0) + return ret; } - if (udf_load_pvoldesc(sb, vds[VDS_POS_PRIMARY_VOL_DESC].block)) - return 1; - - if (vds[VDS_POS_LOGICAL_VOL_DESC].block && udf_load_logicalvol(sb, - vds[VDS_POS_LOGICAL_VOL_DESC].block, fileset)) - return 1; if (vds[VDS_POS_PARTITION_DESC].block) { /* @@ -1564,19 +1591,27 @@ */ for (block = vds[VDS_POS_PARTITION_DESC].block; block < vds[VDS_POS_TERMINATING_DESC].block; - block++) - if (udf_load_partdesc(sb, block)) - return 1; + block++) { + ret = udf_load_partdesc(sb, block); + if (ret < 0) + return ret; + } } return 0; } +/* + * Load Volume Descriptor Sequence described by anchor in bh + * + * Returns <0 on error, 0 on success + */ static int udf_load_sequence(struct super_block *sb, struct buffer_head *bh, struct kernel_lb_addr *fileset) { struct anchorVolDescPtr *anchor; - long main_s, main_e, reserve_s, reserve_e; + sector_t main_s, main_e, reserve_s, reserve_e; + int ret; anchor = (struct anchorVolDescPtr *)bh->b_data; @@ -1594,14 +1629,25 @@ /* Process the main & reserve sequences */ /* responsible for finding the PartitionDesc(s) */ - if (!udf_process_sequence(sb, main_s, main_e, fileset)) - return 1; - return !udf_process_sequence(sb, reserve_s, reserve_e, fileset); + ret = udf_process_sequence(sb, main_s, main_e, fileset); + if (ret != -EAGAIN) + return ret; + + ret = udf_process_sequence(sb, reserve_s, reserve_e, fileset); + if (ret < 0) { + /* No sequence was OK, return -EIO */ + if (ret == -EAGAIN) + ret = -EIO; + } + return ret; } /* * Check whether there is an anchor block in the given block and * load Volume Descriptor Sequence if so. + * + * Returns <0 on error, 0 on success, -EAGAIN is special - try next anchor + * block */ static int udf_check_anchor_block(struct super_block *sb, sector_t block, struct kernel_lb_addr *fileset) @@ -1613,33 +1659,40 @@ if (UDF_QUERY_FLAG(sb, UDF_FLAG_VARCONV) && udf_fixed_to_variable(block) >= sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits) - return 0; + return -EAGAIN; bh = udf_read_tagged(sb, block, block, &ident); if (!bh) - return 0; + return -EAGAIN; if (ident != TAG_IDENT_AVDP) { brelse(bh); - return 0; + return -EAGAIN; } ret = udf_load_sequence(sb, bh, fileset); brelse(bh); return ret; } -/* Search for an anchor volume descriptor pointer */ -static sector_t udf_scan_anchors(struct super_block *sb, sector_t lastblock, - struct kernel_lb_addr *fileset) +/* + * Search for an anchor volume descriptor pointer. + * + * Returns < 0 on error, 0 on success. -EAGAIN is special - try next set + * of anchors. + */ +static int udf_scan_anchors(struct super_block *sb, sector_t *lastblock, + struct kernel_lb_addr *fileset) { sector_t last[6]; int i; struct udf_sb_info *sbi = UDF_SB(sb); int last_count = 0; + int ret; /* First try user provided anchor */ if (sbi->s_anchor) { - if (udf_check_anchor_block(sb, sbi->s_anchor, fileset)) - return lastblock; + ret = udf_check_anchor_block(sb, sbi->s_anchor, fileset); + if (ret != -EAGAIN) + return ret; } /* * according to spec, anchor is in either: @@ -1648,39 +1701,46 @@ * lastblock * however, if the disc isn't closed, it could be 512. */ - if (udf_check_anchor_block(sb, sbi->s_session + 256, fileset)) - return lastblock; + ret = udf_check_anchor_block(sb, sbi->s_session + 256, fileset); + if (ret != -EAGAIN) + return ret; /* * The trouble is which block is the last one. Drives often misreport * this so we try various possibilities. */ - last[last_count++] = lastblock; - if (lastblock >= 1) - last[last_count++] = lastblock - 1; - last[last_count++] = lastblock + 1; - if (lastblock >= 2) - last[last_count++] = lastblock - 2; - if (lastblock >= 150) - last[last_count++] = lastblock - 150; - if (lastblock >= 152) - last[last_count++] = lastblock - 152; + last[last_count++] = *lastblock; + if (*lastblock >= 1) + last[last_count++] = *lastblock - 1; + last[last_count++] = *lastblock + 1; + if (*lastblock >= 2) + last[last_count++] = *lastblock - 2; + if (*lastblock >= 150) + last[last_count++] = *lastblock - 150; + if (*lastblock >= 152) + last[last_count++] = *lastblock - 152; for (i = 0; i < last_count; i++) { if (last[i] >= sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits) continue; - if (udf_check_anchor_block(sb, last[i], fileset)) - return last[i]; + ret = udf_check_anchor_block(sb, last[i], fileset); + if (ret != -EAGAIN) { + if (!ret) + *lastblock = last[i]; + return ret; + } if (last[i] < 256) continue; - if (udf_check_anchor_block(sb, last[i] - 256, fileset)) - return last[i]; + ret = udf_check_anchor_block(sb, last[i] - 256, fileset); + if (ret != -EAGAIN) { + if (!ret) + *lastblock = last[i]; + return ret; + } } /* Finally try block 512 in case media is open */ - if (udf_check_anchor_block(sb, sbi->s_session + 512, fileset)) - return last[0]; - return 0; + return udf_check_anchor_block(sb, sbi->s_session + 512, fileset); } /* @@ -1688,54 +1748,59 @@ * area specified by it. The function expects sbi->s_lastblock to be the last * block on the media. * - * Return 1 if ok, 0 if not found. - * + * Return <0 on error, 0 if anchor found. -EAGAIN is special meaning anchor + * was not found. */ static int udf_find_anchor(struct super_block *sb, struct kernel_lb_addr *fileset) { - sector_t lastblock; struct udf_sb_info *sbi = UDF_SB(sb); + sector_t lastblock = sbi->s_last_block; + int ret; - lastblock = udf_scan_anchors(sb, sbi->s_last_block, fileset); - if (lastblock) + ret = udf_scan_anchors(sb, &lastblock, fileset); + if (ret != -EAGAIN) goto out; /* No anchor found? Try VARCONV conversion of block numbers */ UDF_SET_FLAG(sb, UDF_FLAG_VARCONV); + lastblock = udf_variable_to_fixed(sbi->s_last_block); /* Firstly, we try to not convert number of the last block */ - lastblock = udf_scan_anchors(sb, - udf_variable_to_fixed(sbi->s_last_block), - fileset); - if (lastblock) + ret = udf_scan_anchors(sb, &lastblock, fileset); + if (ret != -EAGAIN) goto out; + lastblock = sbi->s_last_block; /* Secondly, we try with converted number of the last block */ - lastblock = udf_scan_anchors(sb, sbi->s_last_block, fileset); - if (!lastblock) { + ret = udf_scan_anchors(sb, &lastblock, fileset); + if (ret < 0) { /* VARCONV didn't help. Clear it. */ UDF_CLEAR_FLAG(sb, UDF_FLAG_VARCONV); - return 0; } out: - sbi->s_last_block = lastblock; - return 1; + if (ret == 0) + sbi->s_last_block = lastblock; + return ret; } /* * Check Volume Structure Descriptor, find Anchor block and load Volume - * Descriptor Sequence + * Descriptor Sequence. + * + * Returns < 0 on error, 0 on success. -EAGAIN is special meaning anchor + * block was not found. */ static int udf_load_vrs(struct super_block *sb, struct udf_options *uopt, int silent, struct kernel_lb_addr *fileset) { struct udf_sb_info *sbi = UDF_SB(sb); loff_t nsr_off; + int ret; if (!sb_set_blocksize(sb, uopt->blocksize)) { if (!silent) udf_warn(sb, "Bad block size\n"); - return 0; + return -EINVAL; } sbi->s_last_block = uopt->lastblock; if (!uopt->novrs) { @@ -1756,12 +1821,13 @@ /* Look for anchor block and load Volume Descriptor Sequence */ sbi->s_anchor = uopt->anchor; - if (!udf_find_anchor(sb, fileset)) { - if (!silent) + ret = udf_find_anchor(sb, fileset); + if (ret < 0) { + if (!silent && ret == -EAGAIN) udf_warn(sb, "No anchor found\n"); - return 0; + return ret; } - return 1; + return 0; } static void udf_open_lvid(struct super_block *sb) @@ -1910,7 +1976,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) { int i; - int ret; + int ret = -EINVAL; struct inode *inode = NULL; struct udf_options uopt; struct kernel_lb_addr rootdir, fileset; @@ -1983,7 +2049,7 @@ } else { uopt.blocksize = bdev_logical_block_size(sb->s_bdev); ret = udf_load_vrs(sb, &uopt, silent, &fileset); - if (!ret && uopt.blocksize != UDF_DEFAULT_BLOCKSIZE) { + if (ret == -EAGAIN && uopt.blocksize != UDF_DEFAULT_BLOCKSIZE) { if (!silent) pr_notice("Rescanning with blocksize %d\n", UDF_DEFAULT_BLOCKSIZE); @@ -1991,8 +2057,11 @@ ret = udf_load_vrs(sb, &uopt, silent, &fileset); } } - if (!ret) { - udf_warn(sb, "No partition found (1)\n"); + if (ret < 0) { + if (ret == -EAGAIN) { + udf_warn(sb, "No partition found (1)\n"); + ret = -EINVAL; + } goto error_out; } @@ -2010,9 +2079,13 @@ udf_err(sb, "minUDFReadRev=%x (max is %x)\n", le16_to_cpu(lvidiu->minUDFReadRev), UDF_MAX_READ_VERSION); + ret = -EINVAL; + goto error_out; + } else if (minUDFWriteRev > UDF_MAX_WRITE_VERSION && + !(sb->s_flags & MS_RDONLY)) { + ret = -EACCES; goto error_out; - } else if (minUDFWriteRev > UDF_MAX_WRITE_VERSION) - sb->s_flags |= MS_RDONLY; + } sbi->s_udfrev = minUDFWriteRev; @@ -2024,17 +2097,20 @@ if (!sbi->s_partitions) { udf_warn(sb, "No partition found (2)\n"); + ret = -EINVAL; goto error_out; } if (sbi->s_partmaps[sbi->s_partition].s_partition_flags & - UDF_PART_FLAG_READ_ONLY) { - pr_notice("Partition marked readonly; forcing readonly mount\n"); - sb->s_flags |= MS_RDONLY; + UDF_PART_FLAG_READ_ONLY && + !(sb->s_flags & MS_RDONLY)) { + ret = -EACCES; + goto error_out; } if (udf_find_fileset(sb, &fileset, &rootdir)) { udf_warn(sb, "No fileset found\n"); + ret = -EINVAL; goto error_out; } @@ -2056,6 +2132,7 @@ if (!inode) { udf_err(sb, "Error in udf_iget, block=%d, partition=%d\n", rootdir.logicalBlockNum, rootdir.partitionReferenceNum); + ret = -EIO; goto error_out; } @@ -2063,6 +2140,7 @@ sb->s_root = d_make_root(inode); if (!sb->s_root) { udf_err(sb, "Couldn't allocate root dentry\n"); + ret = -ENOMEM; goto error_out; } sb->s_maxbytes = MAX_LFS_FILESIZE; @@ -2087,7 +2165,7 @@ kfree(sbi); sb->s_fs_info = NULL; - return -EINVAL; + return ret; } void _udf_err(struct super_block *sb, const char *function, --- linux-lts-quantal-3.5.0.orig/fs/udf/namei.c +++ linux-lts-quantal-3.5.0/fs/udf/namei.c @@ -1279,6 +1279,7 @@ *lenp = 3; fid->udf.block = location.logicalBlockNum; fid->udf.partref = location.partitionReferenceNum; + fid->udf.parent_partref = 0; fid->udf.generation = inode->i_generation; if (parent) { --- linux-lts-quantal-3.5.0.orig/fs/udf/inode.c +++ linux-lts-quantal-3.5.0/fs/udf/inode.c @@ -574,6 +574,7 @@ struct udf_inode_info *iinfo = UDF_I(inode); int goal = 0, pgoal = iinfo->i_location.logicalBlockNum; int lastblock = 0; + bool isBeyondEOF; *err = 0; *new = 0; @@ -653,7 +654,7 @@ /* Are we beyond EOF? */ if (etype == -1) { int ret; - + isBeyondEOF = 1; if (count) { if (c) laarr[0] = laarr[1]; @@ -696,6 +697,7 @@ endnum = c + 1; lastblock = 1; } else { + isBeyondEOF = 0; endnum = startnum = ((count > 2) ? 2 : count); /* if the current extent is in position 0, @@ -738,10 +740,13 @@ goal, err); if (!newblocknum) { brelse(prev_epos.bh); + brelse(cur_epos.bh); + brelse(next_epos.bh); *err = -ENOSPC; return 0; } - iinfo->i_lenExtents += inode->i_sb->s_blocksize; + if (isBeyondEOF) + iinfo->i_lenExtents += inode->i_sb->s_blocksize; } /* if the extent the requsted block is located in contains multiple @@ -768,6 +773,8 @@ udf_update_extents(inode, laarr, startnum, endnum, &prev_epos); brelse(prev_epos.bh); + brelse(cur_epos.bh); + brelse(next_epos.bh); newblock = udf_get_pblock(inode->i_sb, newblocknum, iinfo->i_location.partitionReferenceNum, 0); --- linux-lts-quantal-3.5.0.orig/fs/udf/file.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/ext3/super.c +++ linux-lts-quantal-3.5.0/fs/ext3/super.c @@ -364,7 +364,7 @@ return bdev; fail: - ext3_msg(sb, "error: failed to open journal device %s: %ld", + ext3_msg(sb, KERN_ERR, "error: failed to open journal device %s: %ld", __bdevname(dev, b), PTR_ERR(bdev)); return NULL; @@ -893,7 +893,7 @@ /*todo: use simple_strtoll with >32bit ext3 */ sb_block = simple_strtoul(options, &options, 0); if (*options && *options != ',') { - ext3_msg(sb, "error: invalid sb specification: %s", + ext3_msg(sb, KERN_ERR, "error: invalid sb specification: %s", (char *) *data); return 1; } --- linux-lts-quantal-3.5.0.orig/fs/ext3/namei.c +++ linux-lts-quantal-3.5.0/fs/ext3/namei.c @@ -573,11 +573,8 @@ if (!ext3_check_dir_entry("htree_dirblock_to_tree", dir, de, bh, (block<i_sb)) +((char *)de - bh->b_data))) { - /* On error, skip the f_pos to the next block. */ - dir_file->f_pos = (dir_file->f_pos | - (dir->i_sb->s_blocksize - 1)) + 1; - brelse (bh); - return count; + /* silently ignore the rest of the block */ + break; } ext3fs_dirhash(de->name, de->name_len, hinfo); if ((hinfo->hash < start_hash) || --- linux-lts-quantal-3.5.0.orig/fs/ext3/inode.c +++ linux-lts-quantal-3.5.0/fs/ext3/inode.c @@ -218,7 +218,8 @@ */ if (inode->i_nlink && ext3_should_journal_data(inode) && EXT3_SB(inode->i_sb)->s_journal && - (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode))) { + (S_ISLNK(inode->i_mode) || S_ISREG(inode->i_mode)) && + inode->i_ino != EXT3_JOURNAL_INO) { tid_t commit_tid = atomic_read(&ei->i_datasync_tid); journal_t *journal = EXT3_SB(inode->i_sb)->s_journal; @@ -3072,6 +3073,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 +3116,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 +3136,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 +3193,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-lts-quantal-3.5.0.orig/fs/lockd/clntlock.c +++ linux-lts-quantal-3.5.0/fs/lockd/clntlock.c @@ -144,6 +144,9 @@ timeout); if (ret < 0) return -ERESTARTSYS; + /* Reset the lock status after a server reboot so we resend */ + if (block->b_status == nlm_lck_denied_grace_period) + block->b_status = nlm_lck_blocked; req->a_res.status = block->b_status; return 0; } --- linux-lts-quantal-3.5.0.orig/fs/lockd/svclock.c +++ linux-lts-quantal-3.5.0/fs/lockd/svclock.c @@ -941,6 +941,7 @@ unsigned long timeout = MAX_SCHEDULE_TIMEOUT; struct nlm_block *block; + spin_lock(&nlm_blocked_lock); while (!list_empty(&nlm_blocked) && !kthread_should_stop()) { block = list_entry(nlm_blocked.next, struct nlm_block, b_list); @@ -950,6 +951,7 @@ timeout = block->b_when - jiffies; break; } + spin_unlock(&nlm_blocked_lock); dprintk("nlmsvc_retry_blocked(%p, when=%ld)\n", block, block->b_when); @@ -959,7 +961,9 @@ retry_deferred_block(block); } else nlmsvc_grant_blocked(block); + spin_lock(&nlm_blocked_lock); } + spin_unlock(&nlm_blocked_lock); return timeout; } --- linux-lts-quantal-3.5.0.orig/fs/lockd/mon.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/lockd/svcproc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/lockd/clntxdr.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/fs/hugetlbfs/inode.c +++ linux-lts-quantal-3.5.0/fs/hugetlbfs/inode.c @@ -927,9 +927,13 @@ return capable(CAP_IPC_LOCK) || in_group_p(sysctl_hugetlb_shm_group); } -struct file *hugetlb_file_setup(const char *name, unsigned long addr, - size_t size, vm_flags_t acctflag, - struct user_struct **user, int creat_flags) +/* + * Note that size should be aligned to proper hugepage size in caller side, + * otherwise hugetlb_reserve_pages reserves one less hugepages than intended. + */ +struct file *hugetlb_file_setup(const char *name, size_t size, + vm_flags_t acctflag, struct user_struct **user, + int creat_flags) { int error = -ENOMEM; struct file *file; @@ -937,8 +941,6 @@ struct path path; struct dentry *root; struct qstr quick_string; - struct hstate *hstate; - unsigned long num_pages; *user = NULL; if (!hugetlbfs_vfsmount) @@ -972,12 +974,10 @@ if (!inode) goto out_dentry; - hstate = hstate_inode(inode); - size += addr & ~huge_page_mask(hstate); - num_pages = ALIGN(size, huge_page_size(hstate)) >> - huge_page_shift(hstate); error = -ENOMEM; - if (hugetlb_reserve_pages(inode, 0, num_pages, NULL, acctflag)) + if (hugetlb_reserve_pages(inode, 0, + size >> huge_page_shift(hstate_inode(inode)), NULL, + acctflag)) goto out_inode; d_instantiate(path.dentry, inode); --- linux-lts-quantal-3.5.0.orig/fs/jfs/inode.c +++ linux-lts-quantal-3.5.0/fs/jfs/inode.c @@ -125,7 +125,7 @@ { int wait = wbc->sync_mode == WB_SYNC_ALL; - if (test_cflag(COMMIT_Nolink, inode)) + if (inode->i_nlink == 0) return 0; /* * If COMMIT_DIRTY is not set, the inode isn't really dirty. --- linux-lts-quantal-3.5.0.orig/fs/jfs/jfs_logmgr.c +++ linux-lts-quantal-3.5.0/fs/jfs/jfs_logmgr.c @@ -1058,7 +1058,8 @@ */ void jfs_syncpt(struct jfs_log *log, int hard_sync) { LOG_LOCK(log); - lmLogSync(log, hard_sync); + if (!test_bit(log_QUIESCE, &log->flag)) + lmLogSync(log, hard_sync); LOG_UNLOCK(log); } --- linux-lts-quantal-3.5.0.orig/fs/jfs/jfs_dtree.c +++ linux-lts-quantal-3.5.0/fs/jfs/jfs_dtree.c @@ -3047,6 +3047,14 @@ dir_index = (u32) filp->f_pos; + /* + * NFSv4 reserves cookies 1 and 2 for . and .. so the value + * we return to the vfs is one greater than the one we use + * internally. + */ + if (dir_index) + dir_index--; + if (dir_index > 1) { struct dir_table_slot dirtab_slot; @@ -3086,7 +3094,7 @@ if (p->header.flag & BT_INTERNAL) { jfs_err("jfs_readdir: bad index table"); DT_PUTPAGE(mp); - filp->f_pos = -1; + filp->f_pos = DIREND; return 0; } } else { @@ -3094,7 +3102,7 @@ /* * self "." */ - filp->f_pos = 0; + filp->f_pos = 1; if (filldir(dirent, ".", 1, 0, ip->i_ino, DT_DIR)) return 0; @@ -3102,7 +3110,7 @@ /* * parent ".." */ - filp->f_pos = 1; + filp->f_pos = 2; if (filldir(dirent, "..", 2, 1, PARENT(ip), DT_DIR)) return 0; @@ -3123,24 +3131,25 @@ /* * Legacy filesystem - OS/2 & Linux JFS < 0.3.6 * - * pn = index = 0: First entry "." - * pn = 0; index = 1: Second entry ".." + * pn = 0; index = 1: First entry "." + * pn = 0; index = 2: Second entry ".." * pn > 0: Real entries, pn=1 -> leftmost page * pn = index = -1: No more entries */ dtpos = filp->f_pos; - if (dtpos == 0) { + if (dtpos < 2) { /* build "." entry */ + filp->f_pos = 1; if (filldir(dirent, ".", 1, filp->f_pos, ip->i_ino, DT_DIR)) return 0; - dtoffset->index = 1; + dtoffset->index = 2; filp->f_pos = dtpos; } if (dtoffset->pn == 0) { - if (dtoffset->index == 1) { + if (dtoffset->index == 2) { /* build ".." entry */ if (filldir(dirent, "..", 2, filp->f_pos, @@ -3233,6 +3242,12 @@ } jfs_dirent->position = unique_pos++; } + /* + * We add 1 to the index because we may + * use a value of 2 internally, and NFSv4 + * doesn't like that. + */ + jfs_dirent->position++; } else { jfs_dirent->position = dtpos; len = min(d_namleft, DTLHDRDATALEN_LEGACY); --- linux-lts-quantal-3.5.0.orig/debian.quantal/control +++ linux-lts-quantal-3.5.0/debian.quantal/control @@ -0,0 +1,108 @@ +Source: linux-lts-quantal +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-precise.git + +Package: linux-headers-3.5.0-43 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Description: Header files related to Linux kernel version 3.5.0 + This package provides kernel header files for version 3.5.0, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details + +Package: linux-tools-3.5.0-43 +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version 3.5.0-43 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 3.5.0-43 on + 32 bit x86. + + + +Package: linux-image-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +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), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-lts-quantal-doc-3.5.0 | linux-lts-quantal-source-3.5.0, linux-lts-quantal-tools, linux-headers-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-43-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-headers-3.5.0-43, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on 32 bit x86 SMP + This package provides kernel header files for version 3.5.0 on + 32 bit x86 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details. + +Package: linux-image-3.5.0-43-generic-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 32 bit x86 SMP + This package provides a kernel debug image for version 3.5.0 on + 32 bit x86 SMP. + . + 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-lts-quantal-3.5.0.orig/debian.quantal/changelog.historical +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/copyright +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/control.stub.in +++ linux-lts-quantal-3.5.0/debian.quantal/control.stub.in @@ -0,0 +1,32 @@ +Source: SRCPKGNAME +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-precise.git + +Package: linux-headers-PKGVER-ABINUM +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +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: linux-tools-PKGVER-ABINUM +Architecture: i386 amd64 +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-lts-quantal-3.5.0.orig/debian.quantal/changelog +++ linux-lts-quantal-3.5.0/debian.quantal/changelog @@ -0,0 +1,15563 @@ +linux-lts-quantal (3.5.0-43.66~precise1) precise; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #1243949 + + [ Timo Aaltonen ] + + * SAUCE: ubuntu/i915: silence unclaimed register poking debug messages + - LP: #1138787 + + [ Upstream Kernel Changes ] + + * Revert "xfs: fix _xfs_buf_find oops on blocks beyond the filesystem + end" + - LP: #1236041 + - CVE-2013-1819 fix backport: + * Revert "sctp: fix call to SCTP_CMD_PROCESS_SACK in + sctp_cmd_interpreter()" + - LP: #1241093 + * get rid of full-hash scan on detaching vfsmounts + - LP: #1226726 + * Smack: Fix the bug smackcipso can't set CIPSO correctly + - LP: #1236743 + * SAUCE: (no-up) Only let characters through when there are active + readers. + - LP: #1208740 + * usb: xhci: define port register names and use them instead of magic + numbers + - LP: #1229576 + * usb: xhci: add USB2 Link power management BESL support + - LP: #1229576 + * iwl4965: fix rfkill set state regression + - LP: #1241093 + * ath9k_htc: Restore skb headroom when returning skb to mac80211 + - LP: #1241093 + * ALSA: opti9xx: Fix conflicting driver object name + - LP: #1241093 + * SUNRPC: Fix memory corruption issue on 32-bit highmem systems + - LP: #1241093 + * drm/i915: ivb: fix edp voltage swing reg val + - LP: #1241093 + * drm/vmwgfx: Split GMR2_REMAP commands if they are to large + - LP: #1241093 + * ALSA: ak4xx-adda: info leak in ak4xxx_capture_source_info() + - LP: #1241093 + * Bluetooth: Add support for Foxconn/Hon Hai [0489:e04d] + - LP: #1241093 + * [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a + signal + - LP: #1241093 + * xen-gnt: prevent adding duplicate gnt callbacks + - LP: #1241093 + * usb: config->desc.bLength may not exceed amount of data returned by the + device + - LP: #1241093 + * USB: cdc-wdm: fix race between interrupt handler and tasklet + - LP: #1241093 + * xhci-plat: Don't enable legacy PCI interrupts. + - LP: #1241093 + * ASoC: wm8960: Fix PLL register writes + - LP: #1241093 + * rculist: list_first_or_null_rcu() should use list_entry_rcu() + - LP: #1241093 + * USB: mos7720: use GFP_ATOMIC under spinlock + - LP: #1241093 + * USB: mos7720: fix big-endian control requests + - LP: #1241093 + * staging: comedi: dt282x: dt282x_ai_insn_read() always fails + - LP: #1241093 + * usb: ehci-mxc: check for pdata before dereferencing + - LP: #1241093 + * usb: xhci: Disable runtime PM suspend for quirky controllers + - LP: #1241093 + * USB: OHCI: Allow runtime PM without system sleep + - LP: #1241093 + * ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan + - LP: #1241093 + * ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT + - LP: #1241093 + * USB: fix build error when CONFIG_PM_SLEEP isn't enabled + - LP: #1241093 + * ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA + - LP: #1241093 + * regmap: silence GCC warning + - LP: #1241093 + * target: Fix trailing ASCII space usage in INQUIRY vendor+model + - LP: #1241093 + * iwlwifi: dvm: don't send BT_CONFIG on devices w/o Bluetooth + - LP: #1241093 + * Bluetooth: Add support for Mediatek Bluetooth device [0e8d:763f] + - LP: #1241093 + * Bluetooth: ath3k: Add support for Fujitsu Lifebook UH5x2 [04c5:1330] + - LP: #1241093 + * Bluetooth: ath3k: Add support for ID 0x13d3/0x3402 + - LP: #1241093 + * Bluetooth: Add support for Atheros [0cf3:e003] + - LP: #1241093 + * xen/events: mask events when changing their VCPU binding + - LP: #1241093 + * tipc: fix lockdep warning during bearer initialization + - LP: #1241093 + * htb: fix sign extension bug + - LP: #1241093 + * net: check net.core.somaxconn sysctl values + - LP: #1241093 + * neighbour: populate neigh_parms on alloc before calling ndo_neigh_setup + - LP: #1241093 + * bonding: modify only neigh_parms owned by us + - LP: #1241093 + * fib_trie: remove potential out of bound access + - LP: #1241093 + * tcp: cubic: fix overflow error in bictcp_update() + - LP: #1241093 + * tcp: cubic: fix bug in bictcp_acked() + - LP: #1241093 + * macvtap: do not zerocopy if iov needs more pages than MAX_SKB_FRAGS + - LP: #1241093 + * ipv6: don't stop backtracking in fib6_lookup_1 if subtree does not + match + - LP: #1241093 + * 8139cp: Fix skb leak in rx_status_loop failure path. + - LP: #1241093 + * tun: signedness bug in tun_get_user() + - LP: #1241093 + * ipv6: remove max_addresses check from ipv6_create_tempaddr + - LP: #1241093 + * ipv6: drop packets with multiple fragmentation headers + - LP: #1241093 + * net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for + max_delay + - LP: #1241093 + * ICMPv6: treat dest unreachable codes 5 and 6 as EACCES, not EPROTO + - LP: #1241093 + * ipv6: Don't depend on per socket memory for neighbour discovery + messages + - LP: #1241093 + * net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv + - LP: #1241093 + * ath9k: always clear ps filter bit on new assoc + - LP: #1241093 + * libceph: unregister request in __map_request failed and nofail == false + - LP: #1241093 + * powerpc: Handle unaligned ldbrx/stdbrx + - LP: #1241093 + * ath9k: fix rx descriptor related race condition + - LP: #1241093 + * ath9k: avoid accessing MRC registers on single-chain devices + - LP: #1241093 + * brcmsmac: Fix WARNING caused by lack of calls to dma_mapping_error() + - LP: #1241093 + * mmc: tmio_mmc_dma: fix PIO fallback on SDHI + - LP: #1241093 + * HID: validate HID report id size + - LP: #1241093 + - CVE-2013-2888 + * of: Fix missing memory initialization on FDT unflattening + - LP: #1241093 + * drm/edid: add quirk for Medion MD30217PG + - LP: #1241093 + * drm/radeon: fix endian bugs in hw i2c atom routines + - LP: #1241093 + * drm/radeon: update line buffer allocation for dce4.1/5 + - LP: #1241093 + * drm/radeon: update line buffer allocation for dce6 + - LP: #1241093 + * drm/radeon: fix LCD record parsing + - LP: #1241093 + * drm/radeon: fix resume on some rs4xx boards (v2) + - LP: #1241093 + * drm/radeon: fix handling of variable sized arrays for router objects + - LP: #1241093 + * radeon kms: fix uninitialised hotplug work usage in r100_irq_process() + - LP: #1241093 + * drm/radeon: fix init ordering for r600+ + - LP: #1241093 + * HID: input: return ENODATA if reading battery attrs fails + - LP: #1241093 + * HID: battery: don't do DMA from stack + - LP: #1241093 + * fuse: postpone end_page_writeback() in fuse_writepage_locked() + - LP: #1241093 + * fuse: invalidate inode attributes on xattr modification + - LP: #1241093 + * s5p-g2d: Fix registration failure + - LP: #1241093 + * DocBook: upgrade media_api DocBook version to 4.2 + - LP: #1241093 + * v4l2: added missing mutex.h include to v4l2-ctrls.h + - LP: #1241093 + * hdpvr: fix iteration over uninitialized lists in hdpvr_probe() + - LP: #1241093 + * exynos4-is: Fix fimc-lite bayer formats + - LP: #1241093 + * exynos4-is: Fix entity unregistration on error path + - LP: #1241093 + * libceph: use pg_num_mask instead of pgp_num_mask for pg.seed calc + - LP: #1241093 + * HID: pantherlord: validate output report details + - LP: #1241093 + - CVE-2013-2892 + * HID: ntrig: validate feature report details + - LP: #1241093 + - CVE-2013-2896 + * HID: picolcd_core: validate output report details + - LP: #1241093 + - CVE-2013-2899 + * HID: check for NULL field when setting values + - LP: #1241093 + * drm/i915: try not to lose backlight CBLV precision + - LP: #1241093 + * powerpc: Default arch idle could cede processor on pseries + - LP: #1241093 + * ocfs2: fix the end cluster offset of FIEMAP + - LP: #1241093 + * mm/huge_memory.c: fix potential NULL pointer dereference + - LP: #1241093 + * mm: fix aio performance regression for database caused by THP + - LP: #1241093 + * memcg: fix multiple large threshold notifications + - LP: #1241093 + * intel-iommu: Fix leaks in pagetable freeing + - LP: #1241093 + * MIPS: ath79: Fix ar933x watchdog clock + - LP: #1241093 + * ARM: PCI: versatile: Fix map_irq function to match hardware + - LP: #1241093 + * ARM: PCI: versatile: Fix SMAP register offsets + - LP: #1241093 + * crypto: api - Fix race condition in larval lookup + - LP: #1241093 + * cifs: ensure that srv_mutex is held when dealing with ssocket pointer + - LP: #1241093 + * ALSA: hda - Add Toshiba Satellite C870 to MSI blacklist + - LP: #1241093 + * ASoC: mc13783: add spi errata fix + - LP: #1241093 + * [SCSI] sd: Fix potential out-of-bounds access + - LP: #1241093 + * Linux 3.5.7.22 + - LP: #1241093 + * drm/radeon/atom: workaround vbios bug in transmitter table on rs880 + (v2) + - LP: #1241093 + * drm/ast: fix the ast open key function + - LP: #1241093 + * sched/fair: Fix small race where child->se.parent,cfs_rq might point to + invalid ones + - LP: #1241093 + * HID: provide a helper for validating hid reports + - LP: #1241093 + * HID: zeroplus: validate output report details + - LP: #1241093 + - CVE-2013-2889 + * HID: LG: validate HID output report details + - LP: #1241093 + - CVE-2013-2893 + * HID: add usage_index in struct hid_usage. + - LP: #1241093 + * HID: validate feature and input report details + - LP: #1241093 + - CVE-2013-2897 + * HID: logitech-dj: validate output report details + - LP: #1241093 + - CVE-2013-2895 + * HID: multitouch: validate indexes details + - LP: #1241093 + - CVE-2013-2897 + * drm/radeon: fix panel scaling with eDP and LVDS bridges + - LP: #1241093 + * net: usb: cdc_ether: Use wwan interface for Telit modules + - LP: #1241093 + * usb: gadget: fix a bug and a WARN_ON in dummy-hcd + - LP: #1241093 + * drm/ttm: fix the tt_populated check in ttm_tt_destroy() + - LP: #1241093 + * sfc: Fix efx_rx_buf_offset() for recycled pages + - LP: #1241093 + * perf: Clarify perf_cpu_context::active_pmu usage by renaming it to + ::unique_pmu + - LP: #1241093 + * perf: Fix perf_cgroup_switch for sw-events + - LP: #1241093 + * cfq: explicitly use 64bit divide operation for 64bit arguments + - LP: #1241093 + * perf tools: Handle JITed code in shared memory + - LP: #1241093 + * HID: Fix Speedlink VAD Cezanne support for some devices + - LP: #1241093 + * HID: usbhid: quirk for N-Trig DuoSense Touch Screen + - LP: #1241093 + * workqueue: cond_resched() after processing each work item + - LP: #1241093 + * cgroup: fail if monitored file and event_control are in different + cgroup + - LP: #1241093 + * tg3: Don't turn off led on 5719 serdes port 0 + - LP: #1241093 + * tg3: Expand led off fix to include 5720 + - LP: #1241093 + * mm, memcg: give exiting processes access to memory reserves + - LP: #1241093 + * video: mxsfb: Add missing break + - LP: #1241093 + * xhci: Fix race between ep halt and URB cancellation + - LP: #1241093 + * serial: pch_uart: fix tty-kref leak in rx-error path + - LP: #1241093 + * serial: pch_uart: fix tty-kref leak in dma-rx path + - LP: #1241093 + * x86, efi: Don't map Boot Services on i386 + - LP: #1241093 + * ALSA: compress: Fix compress device unregister. + - LP: #1241093 + * dm snapshot: workaround for a false positive lockdep warning + - LP: #1241093 + * dm-snapshot: fix performance degradation due to small hash size + - LP: #1241093 + * x86/reboot: Add quirk to make Dell C6100 use reboot=pci automatically + - LP: #1241093 + * drm/radeon: disable tests/benchmarks if accel is disabled + - LP: #1241093 + * xhci: Fix oops happening after address device timeout + - LP: #1241093 + * xhci: Ensure a command structure points to the correct trb on the + command ring + - LP: #1241093 + * drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER + - LP: #1241093 + * staging: vt6656: [BUG] main_usb.c oops on device_close move flag + earlier. + - LP: #1241093 + * USB: fix PM config symbol in uhci-hcd, ehci-hcd, and xhci-hcd + - LP: #1241093 + * usb/core/devio.c: Don't reject control message to endpoint with wrong + direction bit + - LP: #1241093 + * hwmon: (applesmc) Check key count before proceeding + - LP: #1241093 + * USB: Fix breakage in ffs_fs_mount() + - LP: #1241093 + * usb: dwc3: pci: add support for BayTrail + - LP: #1241093 + * caif: Add missing braces to multiline if in cfctrl_linkup_request + - LP: #1241093 + * net: sctp: fix smatch warning in sctp_send_asconf_del_ip + - LP: #1241093 + * net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit + - LP: #1241093 + * resubmit bridge: fix message_age_timer calculation + - LP: #1241093 + * bridge: Clamp forward_delay when enabling STP + - LP: #1241093 + * ip: use ip_hdr() in __ip_make_skb() to retrieve IP header + - LP: #1241093 + * ip: generate unique IP identificator if local fragmentation is allowed + - LP: #1241093 + * netpoll: fix NULL pointer dereference in netpoll_cleanup + - LP: #1241093 + * ipv6: udp packets following an UFO enqueued packet need also be handled + by UFO + - LP: #1241093 + * via-rhine: fix VLAN priority field (PCP, IEEE 802.1p) + - LP: #1241093 + * net: flow_dissector: fix thoff for IPPROTO_AH + - LP: #1241093 + * bonding: Fix broken promiscuity reference counting issue + - LP: #1241093 + * ipv4 igmp: use in_dev_put in timer handlers instead of __in_dev_put + - LP: #1241093 + * ipv6 mcast: use in6_dev_put in timer handlers instead of __in6_dev_put + - LP: #1241093 + * dm9601: fix IFF_ALLMULTI handling + - LP: #1241093 + * ll_temac: Reset dma descriptors indexes on ndo_open + - LP: #1241093 + * gianfar: Change default HW Tx queue scheduling mode + - LP: #1241093 + * fanotify: dont merge permission events + - LP: #1241093 + * sparc32: Fix exit flag passed from traced sys_sigreturn + - LP: #1241093 + * sparc64: Fix not SRA'ed %o5 in 32-bit traced syscall + - LP: #1241093 + * esp_scsi: Fix tag state corruption when autosensing. + - LP: #1241093 + * sparc64: Fix ITLB handler of null page + - LP: #1241093 + * sparc64: Remove RWSEM export leftovers + - LP: #1241093 + * sparc64: Fix off by one in trampoline TLB mapping installation loop. + - LP: #1241093 + * ASoC: max98095: a couple array underflows + - LP: #1241093 + * ASoC: 88pm860x: array overflow in snd_soc_put_volsw_2r_st() + - LP: #1241093 + * Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012. + - LP: #1241093 + * Bluetooth: Fix security level for peripheral role + - LP: #1241093 + * Bluetooth: Fix encryption key size for peripheral role + - LP: #1241093 + * Bluetooth: Add support for BCM20702A0 [0b05, 17cb] + - LP: #1241093 + * rtlwifi: Align private space in rtl_priv struct + - LP: #1241093 + * p54usb: add USB ID for Corega WLUSB2GTST USB adapter + - LP: #1241093 + * mwifiex: fix hang issue for USB chipsets + - LP: #1241093 + * mwifiex: fix NULL pointer dereference in usb suspend handler + - LP: #1241093 + * USB: serial: option: Ignore card reader interface on Huawei E1750 + - LP: #1241093 + * ib_srpt: Destroy cm_id before destroying QP. + - LP: #1241093 + * powerpc: Fix parameter clobber in csum_partial_copy_generic() + - LP: #1241093 + * powerpc/sysfs: Disable writing to PURR in guest mode + - LP: #1241093 + * powerpc/iommu: Use GFP_KERNEL instead of GFP_ATOMIC in + iommu_init_table() + - LP: #1241093 + * powerpc/vio: Fix modalias_show return values + - LP: #1241093 + * ib_srpt: always set response for task management + - LP: #1241093 + * staging: comedi: ni_65xx: (bug fix) confine insn_bits to one subdevice + - LP: #1241093 + * mwifiex: fix memory corruption when unsetting multicast list + - LP: #1241093 + * ext4: avoid hang when mounting non-journal filesystems with orphan list + - LP: #1241093 + * dmaengine: imx-dma: fix slow path issue in prep_dma_cyclic + - LP: #1241093 + * dmaengine: imx-dma: fix lockdep issue between irqhandler and tasklet + - LP: #1241093 + * dma: fix comments + - LP: #1241093 + * dmaengine: imx-dma: fix callback path in tasklet + - LP: #1241093 + * Linux 3.5.7.23 + - LP: #1241093 + * [PATCH 01/35] drm/i915: Revert hdmi HDP pin checks + - LP: #1138700 + * [PATCH 02/35] drm/i915: add HAS_DDI check + - LP: #1240639 + * [PATCH 03/35] drm/i915: don't intel_crt_init on any ULT machines + - LP: #1240639 + * [PATCH 04/35] drm/i915: no lvds quirk for hp t5740 + - LP: #1240639 + * [PATCH 05/35] drm/i915/sdvo: Use &intel_sdvo->ddc instead of + intel_sdvo->i2c for DDC. + - LP: #1240639 + * [PATCH 06/35] drm/i915: prefer VBT modes for SVDO-LVDS over EDID + - LP: #1240639 + * [PATCH 07/35] drm/i915: Fix context sizes on HSW + - LP: #1240639 + * [PATCH 08/35] drm/i915: Only clear write-domains after a successful + wait-seqno + - LP: #1240639 + * [PATCH 09/35] drm/i915: Correct obj->mm_list link to + dev_priv->dev_priv->mm.inactive_list + - LP: #1240639 + * [PATCH 10/35] drm/i915: fix up ring cleanup for the i830/i845 CS tlb + w/a + - LP: #1240639 + * [PATCH 11/35] Partially revert "drm/i915: unconditionally use mt + forcewake on hsw/ivb" + - LP: #1240639 + * [PATCH 12/35] drm/i915: Fix write-read race with multiple rings + - LP: #1240639 + * [PATCH 13/35] drm/i915: merge {i965, sandybridge}_write_fence_reg() + - LP: #1240639 + * [PATCH 14/35] drm/i915: Fix incoherence with fence updates on + Sandybridge+ + - LP: #1240639 + * [PATCH 15/35] Revert "drm/i915: Workaround incoherence between fences + and LLC across multiple CPUs" + - LP: #1240639 + * [PATCH 16/35] drm/i915: rename sdvox_reg to hdmi_reg on HDMI context + - LP: #1240639 + * [PATCH 17/35] drm/i915: don't setup hdmi for port D edp in ddi_init + - LP: #1240639 + * [PATCH 18/35] drm/i915: Preserve the DDI_A_4_LANES bit from the bios + - LP: #1240639 + * [PATCH 19/35] drm/i915: fix long-standing SNB regression in power + consumption after resume v2 + - LP: #1240639 + * [PATCH 20/35] drm/i915: inverted brightness quirk for Acer Aspire 4736Z + - LP: #1240639 + * [PATCH 21/35] drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 + backlight + - LP: #1162026, #1163720, #1240639 + * [PATCH 22/35] drm/i915: Serialize almost all register access + - LP: #1240639 + * [PATCH 23/35] drm/i915: fix up gt init sequence fallout + - LP: #1240639 + * [PATCH 24/35] drm/i915: initialize gt_lock early with other spin locks + - LP: #1240639 + * [PATCH 25/35] drm/i915: fix missed hunk after GT access breakage + - LP: #1240639 + * [PATCH 26/35] drm/i915: do not disable backlight on vgaswitcheroo + switch off + - LP: #1240639 + * [PATCH 27/35] drm/i915: Move num_pipes to intel info + - LP: #1240639 + * [PATCH 28/35] drm/i915: Don't deref pipe->cpu_transcoder in the + hangcheck code + - LP: #1240639 + * [PATCH 29/35] drm/i915: Invalidate TLBs for the rings after a reset + - LP: #1240639 + * [PATCH 30/35] drm/i915: ivb: fix edp voltage swing reg val + - LP: #1240639 + * [PATCH 31/35] drm/i915: try not to lose backlight CBLV precision + - LP: #1240639 + * [PATCH 32/35] drm/i915: do not update cursor in crtc mode set + - LP: #1240639 + * [PATCH 33/35] drm/i915: Don't enable the cursor on a disable pipe + - LP: #1240639 + * [PATCH 34/35] drm/i915/dp: increase i2c-over-aux retry interval on AUX + DEFER + - LP: #1240639 + * [PATCH 35/35] drm/i915: hsw: fix link training for eDP on port-A + - LP: #1138700 + * USB: handle LPM errors during device suspend correctly + - LP: #1241093 + + -- Brad Figg Thu, 17 Oct 2013 10:49:22 -0700 + +linux (3.5.0-42.65) quantal; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #1233787 + + [ Upstream Kernel Changes ] + + * drm/i915: Make data/link N value power of two + - LP: #1212376 + * isofs: Refuse RW mount of the filesystem instead of making it RO + - LP: #1228751 + * udf: Standardize return values in mount sequence + - LP: #1228751 + * udf: Refuse RW mount of the filesystem instead of making it RO + - LP: #1228751 + * cciss: fix info leak in cciss_ioctl32_passthru() + - LP: #1188355 + - CVE-2013-2147 + * cpqarray: fix info leak in ida_locked_ioctl() + - LP: #1188355 + - CVE-2013-2147 + + -- Brad Figg Tue, 01 Oct 2013 11:10:13 -0700 + +linux (3.5.0-41.64) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1223451 + + [ Upstream Kernel Changes ] + + * kernel-doc: bugfix - multi-line macros + - LP: #1223920 + * Revert "zram: use zram->lock to protect zram_free_page() in swap free + notify path" + - LP: #1215513 + * x86 thermal: Delete power-limit-notification console messages + - LP: #1215748 + * x86 thermal: Disable power limit notification interrupt by default + - LP: #1215748 + * ARM: 7810/1: perf: Fix array out of bounds access in + armpmu_map_hw_event() + - LP: #1216442 + - CVE-2013-4254 + * ARM: 7809/1: perf: fix event validation for software group leaders + - LP: #1216442 + - CVE-2013-4254 + * veth: reduce stat overhead + - LP: #1201869 + * veth: extend device features + - LP: #1201869 + * veth: avoid a NULL deref in veth_stats_one + - LP: #1201869 + * veth: fix a NULL deref in netif_carrier_off + - LP: #1201869 + * veth: fix NULL dereference in veth_dellink() + - LP: #1201869 + * Bluetooth: Add support for Atheros [0cf3:3121] + - LP: #1202477 + * efivars: explicitly calculate length of VariableName + - LP: #1217745 + * xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end + - LP: #1151527 + - CVE-2013-1819 + * drm/i915/lvds: ditch ->prepare special case + - LP: #1221791 + * serial: mxs: fix buffer overflow + - LP: #1221791 + * fs/proc/task_mmu.c: fix buffer overflow in add_page_map() + - LP: #1221791 + * af_key: initialize satype in key_notify_policy_flush() + - LP: #1221791 + * vm: add no-mmu vm_iomap_memory() stub + - LP: #1221791 + * iwl4965: set power mode early + - LP: #1221791 + * iwl4965: reset firmware after rfkill off + - LP: #1221791 + * ASoC: cs42l52: Reorder Min/Max and update to SX_TLV for Beep Volume + - LP: #1221791 + * can: pcan_usb: fix wrong memcpy() bytes length + - LP: #1221791 + * ALSA: 6fire: make buffers DMA-able (pcm) + - LP: #1221791 + * ALSA: 6fire: make buffers DMA-able (midi) + - LP: #1221791 + * jbd2: Fix use after free after error in jbd2_journal_dirty_metadata() + - LP: #1221791 + * USB-Serial: Fix error handling of usb_wwan + - LP: #1221791 + * USB: mos7840: fix big-endian probe + - LP: #1221791 + * USB: adutux: fix big-endian device-type reporting + - LP: #1221791 + * USB: ti_usb_3410_5052: fix big-endian firmware handling + - LP: #1221791 + * m68k/atari: ARAnyM - Fix NatFeat module support + - LP: #1221791 + * m68k: Truncate base in do_div() + - LP: #1221791 + * usb: add two quirky touchscreen + - LP: #1221791 + * USB: mos7720: fix broken control requests + - LP: #1221791 + * USB: keyspan: fix null-deref at disconnect and release + - LP: #1221791 + * MIPS: Expose missing pci_io{map,unmap} declarations + - LP: #1221791 + * microblaze: Update microblaze defconfigs + - LP: #1221791 + * sound: Fix make allmodconfig on MIPS + - LP: #1221791 + * sound: Fix make allmodconfig on MIPS correctly + - LP: #1221791 + * alpha: makefile: don't enforce small data model for kernel builds + - LP: #1221791 + * MIPS: Rewrite pfn_valid to work in modules, too. + - LP: #1221791 + * xtensa: fix linker script transformation for .text.unlikely + - LP: #1221791 + * wusbcore: fix kernel panic when disconnecting a wireless USB->serial + device + - LP: #1221791 + * iwlwifi: dvm: fix calling ieee80211_chswitch_done() with NULL + - LP: #1221791 + * iwlwifi: pcie: disable L1 Active after pci_enable_device + - LP: #1221791 + * zd1201: do not use stack as URB transfer_buffer + - LP: #1221791 + * Hostap: copying wrong data prism2_ioctl_giwaplist() + - LP: #1221791 + * ARM: at91/DT: fix at91sam9n12ek memory node + - LP: #1221791 + * drm/i915: Invalidate TLBs for the rings after a reset + - LP: #1221791 + * libata: apply behavioral quirks to sil3826 PMP + - LP: #1221791 + * ARM: davinci: nand: specify ecc strength + - LP: #1221791 + * ARM: 7816/1: CONFIG_KUSER_HELPERS: fix help text + - LP: #1221791 + * sata_fsl: save irqs while coalescing + - LP: #1221791 + * xen/events: initialize local per-cpu mask for all possible events + - LP: #1221791 + * of: fdt: fix memory initialization for expanded DT + - LP: #1221791 + * zfcp: fix lock imbalance by reworking request queue locking + - LP: #1221791 + * zfcp: fix schedule-inside-lock in scsi_device list loops + - LP: #1221791 + * nilfs2: remove double bio_put() in nilfs_end_bio_write() for + BIO_EOPNOTSUPP error + - LP: #1221791 + * nilfs2: fix issue with counting number of bio requests for + BIO_EOPNOTSUPP error detection + - LP: #1221791 + * workqueue: fix possible stall on try_to_grab_pending() of a delayed + work item + - LP: #1221791 + * x86/xen: do not identity map UNUSABLE regions in the machine E820 + - LP: #1221791 + * jfs: fix readdir cookie incompatibility with NFSv4 + - LP: #1221791 + * powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without + hypervisor + - LP: #1221791 + * powerpc: Work around gcc miscompilation of __pa() on 64-bit + - LP: #1221791 + * powerpc/hvsi: Increase handshake timeout from 200ms to 400ms. + - LP: #1221791 + * drivers/base/memory.c: fix show_mem_removable() to handle missing + sections + - LP: #1221791 + * x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member + - LP: #1221791 + * Linux 3.5.7.21 + - LP: #1221791 + * mfd: rtsx: Read vendor setting from config space + - LP: #1201698 + * cifs: don't instantiate new dentries in readdir for inodes that need to + be revalidated immediately + - LP: #1222442 + + [ Wen-chien Jesse Sung ] + + * SAUCE: Bluetooth: use hci_send_cmd instead of usb_control_msg + - LP: #1065400 + + -- Tim Gardner Fri, 23 Aug 2013 08:49:52 -0600 + +linux (3.5.0-40.62) quantal; urgency=low + + [ Brad Figg ] + + * [Config] KUSER_HELPERS = Y + * Release Tracking Bug + - LP: #1215129 + + -- Brad Figg Wed, 21 Aug 2013 16:32:22 -0700 + +linux (3.5.0-40.61) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Packaging] supply perf with appropriate prefix to ensure use of local + config + - LP: #1206200 + - CVE-2013-1060 + + [ John Johansen ] + + * Revert "SAUCE: (no-up) AppArmor: Disable Add PR_{GET,SET}_NO_NEW_PRIVS + to prevent execve from granting privs" + - LP: #1202161 + + [ Joseph Salisbury ] + + * SAUCE: (no-up) intel_ips: blacklist ASUSTek G60JX laptops + - LP: #1210848 + + [ Stefan Bader ] + + * (debian) Abort build on unresolved symbols + - LP: #1166197 + + [ Tim Gardner ] + + * [Config] Include rbd and kvm in the virtual inclusion list + - LP: #1206961 + + [ Upstream Kernel Changes ] + + * ALSA: usb: Parse UAC2 extension unit like for UAC1 + - LP: #1212430 + * Btrfs: fix hash overflow handling + - LP: #1091187, #1091188 + - CVE-2012-5375 + * [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side + - LP: #1214956 + * writeback: Fix periodic writeback after fs mount + - LP: #1214956 + * nfsd4: fix decoding of compounds across page boundaries + - LP: #1214956 + * ARM: shmobile: emev2 GIO3 resource fix + - LP: #1214956 + * uprobes: Fix return value in error handling path + - LP: #1214956 + * tracing: Fix irqs-off tag display in syscall tracing + - LP: #1214956 + * [CIFS] use sensible file nlink values if unprovided + - LP: #1214956 + * ASoC: sglt5000: Fix the default value of CHIP_SSS_CTRL + - LP: #1214956 + * ASoC: sglt5000: Fix SGTL5000_PLL_FRAC_DIV_MASK + - LP: #1214956 + * [SCSI] megaraid_sas: fix memory leak if SGL has zero length entries + - LP: #1214956 + * iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow + - LP: #1214956 + * dm mpath: fix ioctl deadlock when no paths + - LP: #1214956 + * dm verity: fix inability to use a few specific devices sizes + - LP: #1214956 + * lockd: protect nlm_blocked access in nlmsvc_retry_blocked + - LP: #1214956 + * ext4: don't show usrquota/grpquota twice in /proc/mounts + - LP: #1214956 + * perf: Clone child context from parent context pmu + - LP: #1214956 + * perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid + scenario + - LP: #1214956 + * perf: Fix perf_lock_task_context() vs RCU + - LP: #1214956 + * ext4: don't allow ext4_free_blocks() to fail due to ENOMEM + - LP: #1214956 + * drm/radeon/hdmi: make sure we have an afmt block assigned + - LP: #1214956 + * ACPI / memhotplug: Fix a stale pointer in error path + - LP: #1214956 + * PM / Sleep: avoid 'autosleep' in shutdown progress + - LP: #1214956 + * radeon kms: do not flush uninitialized hotplug work + - LP: #1214956 + * svcrdma: underflow issue in decode_write_list() + - LP: #1214956 + * ALSA: asihpi: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: atiixp: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: 6fire: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: ua101: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: usx2y: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: pxa2xx: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ASoC: s6000: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * [media] saa7134: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * staging: line6: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: hda - Add new GPU codec ID to snd-hda + - LP: #1214956 + * ALSA: hda - Add new GPU codec ID to snd-hda + - LP: #1214956 + * Btrfs: fix lock leak when resuming snapshot deletion + - LP: #1214956 + * xen/blkback: Check device permissions before allowing OP_DISCARD + - LP: #1214956 + * [SCSI] Fix incorrect memset in bnx2fc_parse_fcp_rsp + - LP: #1214956 + * MAINTAINERS: add stable_kernel_rules.txt to stable maintainer + information + - LP: #1214956 + * bridge: fix switched interval for MLD Query types + - LP: #1214956 + * ipv4: Fixed MD5 key lookups when adding/ removing MD5 to/ from TCP + sockets. + - LP: #1214956 + * ipv6: don't call addrconf_dst_alloc again when enable lo + - LP: #1214956 + * macvtap: fix recovery from gup errors + - LP: #1214956 + * ipv6: ip6_sk_dst_check() must not assume ipv6 dst + - LP: #1214956 + * af_key: fix info leaks in notify messages + - LP: #1214956 + * sh_eth: fix unhandled RFE interrupt + - LP: #1214956 + * neighbour: fix a race in neigh_destroy() + - LP: #1214956 + * x25: Fix broken locking in ioctl error paths. + - LP: #1214956 + * net: Swap ver and type in pppoe_hdr + - LP: #1214956 + * ipv6,mcast: always hold idev->lock before mca_lock + - LP: #1214956 + * l2tp: add missing .owner to struct pppox_proto + - LP: #1214956 + * ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET + pending data + - LP: #1214956 + * ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size + - LP: #1214956 + * sunvnet: vnet_port_remove must call unregister_netdev + - LP: #1214956 + * ifb: fix rcu_sched self-detected stalls + - LP: #1214956 + * macvtap: correctly linearize skb when zerocopy is used + - LP: #1214956 + * ipv6: in case of link failure remove route directly instead of letting + it expire + - LP: #1214956 + * 9p: fix off by one causing access violations and memory corruption + - LP: #1214956 + * dummy: fix oops when loading the dummy failed + - LP: #1214956 + * ifb: fix oops when loading the ifb failed + - LP: #1214956 + * atl1e: fix dma mapping warnings + - LP: #1214956 + * atl1e: unmap partially mapped skb on dma error and free skb + - LP: #1214956 + * vlan: fix a race in egress prio management + - LP: #1214956 + * sparc32: vm_area_struct access for old Sun SPARCs. + - LP: #1214956 + * sparc64 address-congruence property + - LP: #1214956 + * sparc: tsb must be flushed before tlb + - LP: #1214956 + * powerpc/modules: Module CRC relocation fix causes perf issues + - LP: #1214956 + * usb: dwc3: gadget: don't prevent gadget from being probed if we fail + - LP: #1214956 + * usb: dwc3: fix wrong bit mask in dwc3_event_type + - LP: #1214956 + * ASoC: max98088 - fix element type of the register cache. + - LP: #1214956 + * ata: Fix DVD not dectected at some platform with Wellsburg PCH + - LP: #1214956 + * ALSA: usb-audio: 6fire: return correct XRUN indication + - LP: #1214956 + * usb: serial: cp210x: Add USB ID for Netgear Switches embedded serial + adapter + - LP: #1214956 + * USB: storage: Add MicroVault Flash Drive to unusual_devs + - LP: #1214956 + * USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga + - LP: #1214956 + * USB: option: append Petatel NP10T device to GSM modems list + - LP: #1214956 + * usb: cp210x support SEL C662 Vendor/Device + - LP: #1214956 + * USB: cp210x: add MMB and PI ZigBee USB Device Support + - LP: #1214956 + * USB: EHCI: Fix resume signalling on remote wakeup + - LP: #1214956 + * drm/radeon: fix endian issues with DP handling (v3) + - LP: #1214956 + * drm/radeon: Another card with wrong primary dac adj + - LP: #1214956 + * drm/radeon: improve dac adjust heuristics for legacy pdac + - LP: #1214956 + * drm/radeon: fix combios tables on older cards + - LP: #1214956 + * [SCSI] isci: Fix a race condition in the SSP task management path + - LP: #1214956 + * [SCSI] qla2xxx: Properly set the tagging for commands. + - LP: #1214956 + * [SCSI] sd: fix crash when UA received on DIF enabled device + - LP: #1214956 + * nfsd: nfsd_open: when dentry_open returns an error do not propagate as + struct file + - LP: #1214956 + * USB: option: add D-Link DWM-152/C1 and DWM-156/C1 + - LP: #1214956 + * staging: comedi: COMEDI_CANCEL ioctl should wake up read/write + - LP: #1214956 + * staging: android: logger: Correct write offset reset on error + - LP: #1214956 + * usb: option: add TP-LINK MA260 + - LP: #1214956 + * USB: ti_usb_3410_5052: fix dynamic-id matching + - LP: #1214956 + * usb: serial: option: Add ONYX 3G device support + - LP: #1214956 + * md/raid10: remove use-after-free bug. + - LP: #1214956 + * md/raid5: fix interaction of 'replace' and 'recovery'. + - LP: #1214956 + * xhci: Avoid NULL pointer deref when host dies. + - LP: #1214956 + * usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with + xhci 1.0 + - LP: #1214956 + * xhci: fix null pointer dereference on ring_doorbell_for_active_rings + - LP: #1214956 + * usb: serial: option: blacklist ONDA MT689DC QMI interface + - LP: #1214956 + * usb: serial: option: add Olivetti Olicard 200 + - LP: #1214956 + * usb: serial: option.c: remove ONDA MT825UP product ID fromdriver + - LP: #1214956 + * USB: mos7840: fix memory leak in open + - LP: #1214956 + * usb: Clear both buffers when clearing a control transfer TT buffer. + - LP: #1214956 + * staging: comedi: fix a race between do_cmd_ioctl() and read/write + - LP: #1214956 + * hrtimers: Move SMP function call to thread context + - LP: #1214956 + * Linux 3.5.7.18 + - LP: #1214956 + * nl80211: fix mgmt tx status and testmode reporting for netns + - LP: #1214956 + * mac80211: fix ethtool stats for non-station interfaces + - LP: #1214956 + * mac80211: fix duplicate retransmission detection + - LP: #1214956 + * iwlwifi: mvm: refuse connection to APs with BI < 16 + - LP: #1214956 + * ath9k_htc: do some initial hardware configuration + - LP: #1214956 + * USB: mos7840: fix race in register handling + - LP: #1214956 + * USB: mos7840: fix device-type detection + - LP: #1214956 + * serial/mxs-auart: fix race condition in interrupt handler + - LP: #1214956 + * serial/mxs-auart: increase time to wait for transmitter to become idle + - LP: #1214956 + * firewire: fix libdc1394/FlyCap2 iso event regression + - LP: #1214956 + * USB: mos7840: fix pointer casts + - LP: #1214956 + * ixgbe: Fix Tx Hang issue with lldpad on 82598EB + - LP: #1214956 + * USB: serial: ftdi_sio: add more RT Systems ftdi devices + - LP: #1214956 + * drm/radeon/atom: initialize more atom interpretor elements to 0 + - LP: #1214956 + * virtio: support unlocked queue poll + - LP: #1214956 + * virtio_net: fix race in RX VQ processing + - LP: #1214956 + * libata: make it clear that sata_inic162x is experimental + - LP: #1214956 + * xen/io/ring.h: new macro to detect whether there are too many requests + on the ring + - LP: #1214956 + * xen/blkback: Check for insane amounts of request on the ring (v6). + - LP: #1214956 + * Btrfs: re-add root to dead root list if we stop dropping it + - LP: #1214956 + * xen/evtchn: avoid a deadlock when unbinding an event channel + - LP: #1214956 + * sched: Fix the broken sched_rr_get_interval() + - LP: #1214956 + * livelock avoidance in sget() + - LP: #1214956 + * drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight + - LP: #1162026, #1163720, #1214956 + * ACPI / battery: Fix parsing _BIX return value + - LP: #1214956 + * ARM: poison the vectors page + - LP: #1214956 + * ARM: poison memory between kuser helpers + - LP: #1214956 + * ARM: move vector stubs + - LP: #1214956 + * ARM: use linker magic for vectors and vector stubs + - LP: #1214956 + * ARM: update FIQ support for relocation of vectors + - LP: #1214956 + * ARM: allow kuser helpers to be removed from the vector page + - LP: #1214956 + * powerpc/windfarm: Fix noisy slots-fan on Xserve (rm31) + - LP: #1214956 + * iwlwifi: add DELL SKU for 5150 HMC + - LP: #1214956 + * mwifiex: Add missing endian conversion. + - LP: #1214956 + * rt2x00: fix stop queue + - LP: #1214956 + * futex: Take hugepages into account when generating futex_key + - LP: #1214956 + * ALSA: compress: fix the return value for SNDRV_COMPRESS_VERSION + - LP: #1214956 + * perf: Fix event group context move + - LP: #1214956 + * arcnet: cleanup sizeof parameter + - LP: #1214956 + * sysctl net: Keep tcp_syn_retries inside the boundary + - LP: #1214956 + * ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup + - LP: #1214956 + * usbnet: do not pretend to support SG/TSO + - LP: #1214956 + * af_key: more info leaks in pfkey messages + - LP: #1214956 + * net_sched: Fix stack info leak in cbq_dump_wrr(). + - LP: #1214956 + * net_sched: info leak in atm_tc_dump_class() + - LP: #1214956 + * 8139cp: Add dma_mapping_error checking + - LP: #1214956 + * x86, fpu: correct the asm constraints for fxsave, unbreak mxcsr.daz + - LP: #1214956 + * tracing: Fix fields of struct trace_iterator that are zeroed by mistake + - LP: #1214956 + * perf tools: Add anonymous huge page recognition + - LP: #1214956 + * ext4: make sure group number is bumped after a inode allocation race + - LP: #1214956 + * virtio: console: fix race with port unplug and open/close + - LP: #1214956 + * virtio: console: fix race in port_fops_open() and port unplug + - LP: #1214956 + * virtio: console: clean up port data immediately at time of unplug + - LP: #1214956 + * virtio: console: fix raising SIGIO after port unplug + - LP: #1214956 + * virtio: console: return -ENODEV on all read operations after unplug + - LP: #1214956 + * regmap: Add missing header for !CONFIG_REGMAP stubs + - LP: #1214956 + * cifs: extend the buffer length enought for sprintf() using + - LP: #1214956 + * [SCSI] megaraid_sas: megaraid_sas driver init fails in kdump kernel + - LP: #1214956 + * [SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages + is set + - LP: #1214956 + * drm/cirrus: Invalidate page tables when pinning a BO + - LP: #1214956 + * drm/mgag200: Invalidate page tables when pinning a BO + - LP: #1214956 + * drm/ast: invalidate page tables when pinning a BO + - LP: #1214956 + * drm/i915: do not disable backlight on vgaswitcheroo switch off + - LP: #1214956 + * ALSA: usb/6fire: Fix potential NULL pointer dereference in comm.c + - LP: #1214956 + * ALSA: 6fire: fix DMA issues with URB transfer_buffer usage + - LP: #1214956 + * drm/radeon: always program the MC on startup + - LP: #1214956 + * ALSA: usb-audio: do not trust too-big wMaxPacketSize values + - LP: #1214956 + * hwmon: (adt7470) Fix incorrect return code check + - LP: #1214956 + * ext4: allow the mount options nodelalloc and data=journal + - LP: #1214956 + * ext4: fix mount/remount error messages for incompatible mount options + - LP: #1214956 + * usb: core: don't try to reset_device() a port that got just + disconnected + - LP: #1214956 + * debugfs: debugfs_remove_recursive() must not rely on + list_empty(d_subdirs) + - LP: #1214956 + * [SCSI] nsp32: use mdelay instead of large udelay constants + - LP: #1214956 + * zram: allow request end to coincide with disksize + - LP: #1214956 + * Linux 3.5.7.19 + - LP: #1214956 + * mac80211: add time synchronisation with BSS for assoc + - LP: #1214956 + * Linux 3.5.7.20 + - LP: #1214956 + + -- Brad Figg Wed, 21 Aug 2013 13:28:10 -0700 + +linux (3.5.0-39.60) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1211872 + + [ Upstream Kernel Changes ] + + * Revert "veth: avoid a NULL deref in veth_stats_one" + * Revert "veth: extend device features" + * Revert "veth: reduce stat overhead" + + -- Brad Figg Tue, 13 Aug 2013 10:26:38 -0700 + +linux (3.5.0-38.59) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1205440 + + [ Upstream Kernel Changes ] + + * hp-wmi: add more definitions for new event_id's + - LP: #1152458 + * MFD: rtsx_pcr: Fix probe fail path + - LP: #1201321 + * mfd: rtsx: Add support for RTL8411B + - LP: #1201321 + * veth: reduce stat overhead + - LP: #1201869 + * veth: extend device features + - LP: #1201869 + * veth: avoid a NULL deref in veth_stats_one + - LP: #1201869 + * Input: elantech - fix for newer hardware versions (v7) + - LP: #1166442 + * zram: avoid invalid memory access in zram_exit() + - LP: #1204600 + * zram: use zram->lock to protect zram_free_page() in swap free notify + path + - LP: #1204600 + * zram: destroy all devices on error recovery path in zram_init() + - LP: #1204600 + * zram: avoid double free in function zram_bvec_write() + - LP: #1204600 + * zram: avoid access beyond the zram device + - LP: #1204600 + * zram: protect sysfs handler from invalid memory access + - LP: #1204600 + * pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status + - LP: #1204600 + * usb: gadget: f_mass_storage: add missing memory barrier for + thread_wakeup_needed + - LP: #1204600 + * cgroup: fix umount vs cgroup_event_remove() race + - LP: #1204600 + * xhci: check for failed dma pool allocation + - LP: #1204600 + * usb: host: xhci-plat: release mem region while removing module + - LP: #1204600 + * USB: option,qcserial: move Novatel Gobi1K IDs to qcserial + - LP: #1204600 + * x86: Fix /proc/mtrr with base/size more than 44bits + - LP: #1204600 + * genirq: Fix can_request_irq() for IRQs without an action + - LP: #1204600 + * jbd2: move superblock checksum calculation to jbd2_write_superblock() + - LP: #1204600 + * ext3,ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree() + - LP: #1204600 + * jbd2: fix theoretical race in jbd2__journal_restart + - LP: #1204600 + * cgroup: fix umount vs cgroup_cfts_commit() race + - LP: #1204600 + * tracing: Use current_uid() for critical time tracing + - LP: #1204600 + * ahci: Add AMD CZ SATA device ID + - LP: #1204600 + * i2c-piix4: Add AMD CZ SMBus device ID + - LP: #1204600 + * ahci: remove pmp link online check in FBS EH + - LP: #1204600 + * libata: skip SRST for all SIMG [34]7x port-multipliers + - LP: #1204600 + * ASoC: wm8962: Remove remaining direct register cache accesses + - LP: #1204600 + * ACPICA: Do not use extended sleep registers unless HW-reduced bit is + set + - LP: #1204600 + * ALSA: hda - Cache the MUX selection for generic HDMI + - LP: #1204600 + * ata_piix: IDE-mode SATA patch for Intel Coleto Creek DeviceIDs + - LP: #1204600 + * ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs + - LP: #1204600 + * ARM: 7765/1: perf: Record the user-mode PC in the call chain. + - LP: #1204600 + * Handle big endianness in NTLM (ntlmv2) authentication + - LP: #1204600 + * xen/time: remove blocked time accounting from xen "clockchip" + - LP: #1204600 + * drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() + - LP: #1204600 + * ocfs2: xattr: fix inlined xattr reflink + - LP: #1204600 + * block: do not pass disk names as format strings + - LP: #1204600 + - CVE-2013-2851 + * crypto: sanitize argument for format string + - LP: #1204600 + * mm/memory-hotplug: fix lowmem count overflow when offline pages + - LP: #1204600 + * drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq + - LP: #1204600 + * nbd: correct disconnect behavior + - LP: #1204600 + * netfilter: xt_TCPOPTSTRIP: fix possible mangling beyond packet boundary + - LP: #1204600 + * netfilter: ipt_ULOG: fix non-null terminated string in the nf_log path + - LP: #1204600 + * netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6 + - LP: #1204600 + * netfilter: xt_LOG: fix mark logging for IPv6 packets + - LP: #1204600 + * ipvs: info leak in __ip_vs_get_dest_entries() + - LP: #1204600 + * netfilter: nfnetlink_cttimeout: fix incomplete dumping of objects + - LP: #1204600 + * netfilter: nfnetlink_acct: fix incomplete dumping of objects + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix violation of RFC879 in absence of MSS option + - LP: #1204600 + * netfilter: xt_TCPOPTSTRIP: don't use tcp_hdr() + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix missing fragmentation handling + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix IPv6 default MSS too + - LP: #1204600 + * ipvs: SCTP ports should be writable in ICMP packets + - LP: #1204600 + * zfcp: fix adapter (re)open recovery while link to SAN is down + - LP: #1204600 + * zfcp: block queue limits with data router + - LP: #1204600 + * zfcp: status read buffers on first adapter open with link down + - LP: #1204600 + * mpt2sas: Fix for issue Missing delay not getting set during system + bootup + - LP: #1204600 + * mpt2sas: Fix for max_sectors warning message is stating the incorrect + range + - LP: #1204600 + * mpt2sas: Fix for device scan following host reset could get stuck in a + infinite loop + - LP: #1204600 + * mpt2sas: fix firmware failure with wrong task attribute + - LP: #1204600 + * sd: Fix parsing of 'temporary ' cache mode prefix + - LP: #1204600 + * aacraid: Fix for arrays are going offline in the system. System hangs + - LP: #1204600 + * powerpc/smp: Section mismatch from smp_release_cpus to __initdata + spinning_secondaries + - LP: #1204600 + * md/raid10: fix two bugs affecting RAID10 reshape. + - LP: #1204600 + * hpfs: better test for errors + - LP: #1204600 + * timer: Fix jiffies wrap behavior of round_jiffies_common() + - LP: #1204600 + * tick: Prevent uncontrolled switch to oneshot mode + - LP: #1204600 + * ext3: fix data=journal fast mount/umount hang + - LP: #1204600 + * PCI: Fix refcount issue in pci_create_root_bus() error recovery path + - LP: #1204600 + * b43: ensue that BCMA is "y" when B43 is "y" + - LP: #1204600 + * ath9k: fill channel mode in caldata + - LP: #1204600 + * ath9k_hw: Assign default xlna config for AR9485 + - LP: #1204600 + * ath9k_hw: Remove CHANNEL_CW_INT + - LP: #1204600 + * ath9k: Fix noisefloor calibration + - LP: #1204600 + * ath9k: Do not assign noise for NULL caldata + - LP: #1204600 + * iwlwifi: pcie: wake the queue if stopped when being unmapped + - LP: #1204600 + * rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND + - LP: #1204600 + * rt2x00: read 5GHz TX power values from the correct offset + - LP: #1204600 + * vgacon.c: add cond reschedule points in vgacon_do_font_op + - LP: #1204600 + * drm/mgag200: Reject modes that are too big for VRAM + - LP: #1204600 + * drm/mgag200: Added resolution and bandwidth limits for various G200e + products. + - LP: #1204600 + * libceph: Fix NULL pointer dereference in auth client code + - LP: #1204600 + - CVE-2013-1059 + * rtlwifi: rtl8192cu: Fix duplicate if test + - LP: #1204600 + * ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs + - LP: #1204600 + * ext4: fix overflow when counting used blocks on 32-bit architectures + - LP: #1204600 + * vgacon: fix missing include. + - LP: #1204600 + * drivers/cdrom/cdrom.c: use kzalloc() for failing hardware + - LP: #1204600 + * efi_pstore: Check remaining space with QueryVariableInfo() before + writing data + - LP: #1204600 + * efivars: Disable external interrupt while holding efivars->lock + - LP: #1204600 + * efi: be more paranoid about available space when creating variables + - LP: #1204600 + * x86, efivars: firmware bug workarounds should be in platform code + - LP: #1204600 + * efi: Export efi_query_variable_store() for efivars.ko + - LP: #1204600 + * x86,efi: Check max_size only if it is non-zero. + - LP: #1204600 + * x86,efi: Implement efi_no_storage_paranoia parameter + - LP: #1204600 + * Modify UEFI anti-bricking code + - LP: #1204600 + * x86/efi: Fix dummy variable buffer allocation + - LP: #1204600 + * printk: Fix rq->lock vs logbuf_lock unlock lock inversion + - LP: #1204600 + * charger-manager: Ensure event is not used as format string + - LP: #1204600 + * iommu/amd: Only unmap large pages from the first pte + - LP: #1204600 + * Linux 3.5.7.17 + - LP: #1204600 + * fanotify: info leak in copy_event_to_user() + - LP: #1188356 + - CVE-2013-2148 + + -- Brad Figg Fri, 26 Jul 2013 11:00:32 -0700 + +linux (3.5.0-37.58) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1199149 + + [ Brad Figg ] + + * [Config] CONFIG_ATH9K_LEGACY_RATE_CONTROL=y + + [ Tim Gardner ] + + * [Config] CONFIG_SUNRPC_DEBUG=y + - LP: #1127319 + + [ Upstream Kernel Changes ] + + * Revert "serial: 8250_pci: add support for another kind of NetMos + Technology PCI 9835 Multi-I/O Controller" + - LP: #1190967 + * Revert "ath9k_hw: Update rx gain initval to improve rx sensitivity" + - LP: #1197458 + * ata_piix: add PCI IDs for Intel BayTail + - LP: #1197458 + * libata: make ata_exec_internal_sg honor DMADIR + - LP: #1197458 + * cfg80211: check wdev->netdev in connection work + - LP: #1197458 + * xhci-mem: init list heads at the beginning of init + - LP: #1197458 + * xhci: fix list access before init + - LP: #1197458 + * xhci - correct comp_mode_recovery_timer on return from hibernate + - LP: #1197458 + * mac80211: close AP_VLAN interfaces before unregistering all + - LP: #1197458 + * usb: dwc3: gadget: free trb pool only from epnum 2 + - LP: #1197458 + * USB: revert periodic scheduling bugfix + - LP: #1197458 + * USB: serial: fix Treo/Kyocera interrrupt-in urb context + - LP: #1197458 + * USB: visor: fix initialisation of Treo/Kyocera devices + - LP: #1197458 + * USB: mos7720: fix DMA to stack + - LP: #1197458 + * USB: mos7840: fix DMA to stack + - LP: #1197458 + * USB: ark3116: fix control-message timeout + - LP: #1197458 + * USB: iuu_phoenix: fix bulk-message timeout + - LP: #1197458 + * USB: mos7720: fix message timeouts + - LP: #1197458 + * regulator: palmas: Fix "enable_reg" to point to the correct reg for + SMPS10 + - LP: #1197458 + * m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK + - LP: #1197458 + * USB: Serial: cypress_M8: Enable FRWD Dongle hidcom device + - LP: #1197458 + * USB: serial: Add Option GTM681W to qcserial device table. + - LP: #1197458 + * USB: keyspan: fix bogus array index + - LP: #1197458 + * USB: mos7720: fix hardware flow control + - LP: #1197458 + * USB: whiteheat: fix broken port configuration + - LP: #1197458 + * USB: option: blacklist network interface on Huawei E1820 + - LP: #1197458 + * iommu/amd: Re-enable IOMMU event log interrupt after handling. + - LP: #1197458 + * iommu/amd: Workaround for ERBT1312 + - LP: #1197458 + * xen/events: Handle VIRQ_TIMER before any other hardirq in event loop. + - LP: #1197458 + * thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR + - LP: #1197458 + * klist: del waiter from klist_remove_waiters before wakeup waitting + process + - LP: #1197458 + * ACPI video: ignore BIOS backlight value for HP dm4 + - LP: #1197458 + * ACPI video: ignore BIOS initial backlight value for HP 1000 + - LP: #1197458 + * dmaengine: ste_dma40: fix pm runtime ref counting + - LP: #1197458 + * ACPI / video: ignore BIOS initial backlight value for HP m4 + - LP: #1197458 + * ACPI / video: ignore BIOS initial backlight value for HP Pavilion g6 + - LP: #1197458 + * ALSA: usb-audio: fix Roland/Cakewalk UM-3G support + - LP: #1197458 + * drm: fix a use-after-free when GPU acceleration disabled + - LP: #1197458 + * drm/mgag200: Add missing write to index before accessing data register + - LP: #1197458 + * drm/i915: no lvds quirk for hp t5740 + - LP: #1197458 + * radeon: Fix system hang issue when using KMS with older cards + - LP: #1197458 + * drm/radeon: don't allow audio on DCE6 + - LP: #1197458 + * ALSA: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio + iface + - LP: #1197458 + * drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC. + - LP: #1197458 + * ALSA: usb-audio - Fix invalid volume resolution on Logitech HD webcam + c270 + - LP: #1197458 + * ARM: 7742/1: topology: export cpu_topology + - LP: #1197458 + * ARM: 7743/1: compressed/head.S: work around new binutils warning + - LP: #1197458 + * hwmon: (adm1021) Strengthen chip detection for ADM1021, LM84 and + MAX1617 + - LP: #1197458 + * hpfs: drop vmtruncate + - LP: #1197458 + * hpfs: fix warnings when the filesystem fills up + - LP: #1197458 + * powerpc/eeh: Don't check RTAS token to get PE addr + - LP: #1197458 + * drm/gma500: Increase max resolution for mode setting + - LP: #1197458 + * USB: ftdi_sio: Quiet sparse noise about using plain integer was NULL + pointer + - LP: #1197458 + * tg3: Add New 5719 Read DMA workaround + - LP: #1197458 + * tg3: Add read dma workaround for 5720 + - LP: #1197458 + * libceph: clear messenger auth_retry flag when we authenticate + - LP: #1197458 + * libceph: fix authorizer invalidation + - LP: #1197458 + * libceph: add update_authorizer auth method + - LP: #1197458 + * libceph: wrap auth ops in wrapper functions + - LP: #1197458 + * libceph: wrap auth methods in a mutex + - LP: #1197458 + * libceph: register request before unregister linger + - LP: #1197458 + * libceph: always reset osds when kicking + - LP: #1197458 + * libceph: must hold mutex for reset_changed_osds() + - LP: #1197458 + * ceph: add cpu_to_le32() calls when encoding a reconnect capability + - LP: #1197458 + * ceph: ceph_pagelist_append might sleep while atomic + - LP: #1197458 + * drm/gma500/psb: Unpin framebuffer on crtc disable + - LP: #1197458 + * drm/gma500/cdv: Unpin framebuffer on crtc disable + - LP: #1197458 + * drm/i915: prefer VBT modes for SVDO-LVDS over EDID + - LP: #1197458 + * Bluetooth: Fix mgmt handling of power on failures + - LP: #1197458 + * ath9k: Disable PowerSave by default + - LP: #1197458 + * ath9k: Use minstrel rate control by default + - LP: #1197458 + * b43: stop format string leaking into error msgs + - LP: #1197458 + - CVE-2013-2852 + * CPU hotplug: provide a generic helper to disable/enable CPU hotplug + - LP: #1197458 + * reboot: rigrate shutdown/reboot to boot cpu + - LP: #1197458 + * kmsg: honor dmesg_restrict sysctl on /dev/kmsg + - LP: #1197458 + * cciss: fix broken mutex usage in ioctl + - LP: #1197458 + * drivers/rtc/rtc-twl.c: fix missing device_init_wakeup() when booted + with device tree + - LP: #1197458 + * swap: avoid read_swap_cache_async() race to deadlock while waiting on + discard I/O completion + - LP: #1197458 + * mm: migration: add migrate_entry_wait_huge() + - LP: #1197458 + * ceph: fix statvfs fr_size + - LP: #1197458 + * x86: Fix typo in kexec register clearing + - LP: #1197458 + * md/raid1: consider WRITE as successful only if at least one non-Faulty + and non-rebuilding drive completed it. + - LP: #1197458 + * md/raid1,raid10: use freeze_array in place of raise_barrier in various + places. + - LP: #1197458 + * USB: spcp8x5: fix device initialisation at open + - LP: #1197458 + * USB: pl2303: fix device initialisation at open + - LP: #1197458 + * tg3: Wait for boot code to finish after power on + - LP: #1197458 + * powerpc: Fix stack overflow crash in resume_kernel when ftracing + - LP: #1197458 + * powerpc: Fix emulation of illegal instructions on PowerNV platform + - LP: #1197458 + * powerpc: Fix missing/delayed calls to irq_work + - LP: #1197458 + * audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE + - LP: #1197458 + * xen-netfront: reduce gso_max_size to account for max TCP header + - LP: #1197458 + * ext4: lock i_mutex when truncating orphan inodes + - LP: #1197458 + * snd_pcm_link(): fix a leak... + - LP: #1197458 + * Linux 3.5.7.15 + - LP: #1197458 + * clk: remove notifier from list before freeing it + - LP: #1199117 + * ALSA: usb-audio: work around Android accessory firmware bug + - LP: #1199117 + * ALSA: usb-audio: Fix invalid volume resolution for Logitech HD Webcam + c310 + - LP: #1199117 + * tcp: fix tcp_md5_hash_skb_data() + - LP: #1199117 + * gianfar: add missing iounmap() on error in gianfar_ptp_probe() + - LP: #1199117 + * ipv6: fix possible crashes in ip6_cork_release() + - LP: #1199117 + * netlabel: improve domain mapping validation + - LP: #1199117 + * r8169: fix 8168evl frame padding. + - LP: #1199117 + * r8169: fix offloaded tx checksum for small packets. + - LP: #1199117 + * 8139cp: reset BQL when ring tx ring cleared + - LP: #1199117 + * tcp: bug fix in proportional rate reduction. + - LP: #1199117 + * net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg + - LP: #1199117 + * net: Unbreak compat_sys_{send,recv}msg + - LP: #1199117 + * tcp: xps: fix reordering issues + - LP: #1199117 + * ip_tunnel: fix kernel panic with icmp_dest_unreach + - LP: #1199117 + * net: force a reload of first item in hlist_nulls_for_each_entry_rcu + - LP: #1199117 + * ipv6: assign rt6_info to inet6_ifaddr in init_loopback + - LP: #1199117 + * net: sctp: fix NULL pointer dereference in socket destruction + - LP: #1199117 + * team: check return value of team_get_port_by_index_rcu() for NULL + - LP: #1199117 + * packet: packet_getname_spkt: make sure string is always 0-terminated + - LP: #1199117 + * l2tp: Fix PPP header erasure and memory leak + - LP: #1199117 + * l2tp: Fix sendmsg() return value + - LP: #1199117 + * bonding: rlb mode of bond should not alter ARP originating via bridge + - LP: #1199117 + * tilepro: work around module link error with gcc 4.7 + - LP: #1199117 + * Input: cyttsp - fix memcpy size param + - LP: #1199117 + * target/iscsi: don't corrupt bh_count in iscsit_stop_time2retain_timer() + - LP: #1199117 + * tcm_qla2xxx: Fix residual for underrun commands that fail + - LP: #1199117 + * KVM: x86: remove vcpu's CPL check in host-invoked XCR set + - LP: #1199117 + * x86: fix build error and kconfig for ia32_emulation and binfmt + - LP: #1199117 + * USB: serial: ti_usb_3410_5052: new device id for Abbot strip port cable + - LP: #1199117 + * drm/radeon: update lockup tracking when scheduling in empty ring + - LP: #1199117 + * team: move add to port list before port enablement + - LP: #1199117 + * net: sh_eth: fix incorrect RX length error if R8A7740 + - LP: #1199117 + * sctp: fully initialize sctp_outq in sctp_outq_init + - LP: #1199117 + * ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page + - LP: #1199117 + * iwlwifi: dvm: fix chain noise calibration + - LP: #1199117 + * Bluetooth: Fix crash in l2cap_build_cmd() with small MTU + - LP: #1199117 + * hw_breakpoint: Use cpu_possible_mask in {reserve,release}_bp_slot() + - LP: #1199117 + * ARM: 7772/1: Fix missing flush_kernel_dcache_page() for noMMU + - LP: #1199117 + * net/tg3: Avoid delay during MMIO access + - LP: #1199117 + * dlci: acquire rtnl_lock before calling __dev_get_by_name() + - LP: #1199117 + * dlci: validate the net device in dlci_del() + - LP: #1199117 + * Bluetooth: btmrvl: fix thread stopping race + - LP: #1199117 + * pch_uart: fix a deadlock when pch_uart as console + - LP: #1199117 + * perf: Disable monitoring on setuid processes for regular users + - LP: #1199117 + * UBIFS: prepare to fix a horrid bug + - LP: #1199117 + * UBIFS: fix a horrid bug + - LP: #1199117 + * perf: Fix perf mmap bugs + - LP: #1199117 + * perf: Fix mmap() accounting hole + - LP: #1199117 + * Linux 3.5.7.16 + - LP: #1199117 + + -- Brad Figg Mon, 08 Jul 2013 14:22:30 -0700 + +linux (3.5.0-36.57) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1192590 + + [ Timo Aaltonen ] + + * SAUCE: i915_hsw: revert to old drm_mm function names + - LP: #1188305 + * SAUCE: i915_hsw: drm/i915: Adding more reserved PCI IDs for Haswell. + - LP: #1175533 + + -- Steve Conklin Wed, 19 Jun 2013 09:40:57 -0500 + +linux (3.5.0-35.56) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1192206 + + [ Dave Chiluk ] + + * SAUCE: ncpfs: fix rmdir returns Device or resource busy + - LP: #1035226 + + [ Stefan Bader ] + + * (d-i) Add dm-snapshot to md-modules + - LP: #1191726 + + [ Timo Aaltonen ] + + * SAUCE: Update i915_hsw to 3.8.13 + - LP: #1188305 + * SAUCE: i915_hsw: Add new definitions + - LP: #1188305 + * SAUCE: i915_hsw: Revert "drm/i915: use drm_send_vblank_event() helper" + - LP: #1188305 + * SAUCE: i915_hsw: Revert "drm/i915: set the VIC of the mode on the AVI + InfoFrame" + - LP: #1188305 + + [ Upstream Kernel Changes ] + + * hwmon: fix error return code in abituguru_probe() + - LP: #1191905 + * i2c: designware: fix RX FIFO overrun + - LP: #1191905 + * i2c: designware: always clear interrupts before enabling them + - LP: #1191905 + * btrfs: don't stop searching after encountering the wrong item + - LP: #1191905 + * drm/radeon: Fix VRAM size calculation for VRAM >= 4GB + - LP: #1191905 + * mantis: fix silly crash case + - LP: #1191905 + * avr32: fix relocation check for signed 18-bit offset + - LP: #1191905 + * virtio_console: fix uapi header + - LP: #1191905 + * Input: egalax_ts - ABS_MT_POSITION_Y not reported well + - LP: #1191905 + * staging: vt6656: use free_netdev instead of kfree + - LP: #1191905 + * USB: xHCI: override bogus bulk wMaxPacketSize values + - LP: #1191905 + * USB: UHCI: fix for suspend of virtual HP controller + - LP: #1191905 + * USB: reset resume quirk needed by a hub + - LP: #1191905 + * usb: option: Add Telewell TW-LTE 4G + - LP: #1191905 + * USB: Blacklisted Cinterion's PLxx WWAN Interface + - LP: #1191905 + * USB: option: add device IDs for Dell 5804 (Novatel E371) WWAN card + - LP: #1191905 + * USB: ftdi_sio: Add support for Newport CONEX motor drivers + - LP: #1191905 + * USB: cxacru: potential underflow in cxacru_cm_get_array() + - LP: #1191905 + * TTY: Fix tty miss restart after we turn off flow-control + - LP: #1191905 + * cifs: only set ops for inodes in I_NEW state + - LP: #1191905 + * Kirkwood: Enable PCIe port 1 on QNAP TS-11x/TS-21x + - LP: #1191905 + * mac80211: fix AP-mode frame matching + - LP: #1191905 + * ARM: plat-orion: Fix num_resources and id for ge10 and ge11 + - LP: #1191905 + * sunrpc: clarify comments on rpc_make_runnable + - LP: #1191905 + * SUNRPC: Prevent an rpc_task wakeup race + - LP: #1191905 + * perf: net_dropmonitor: Fix trace parameter order + - LP: #1191905 + * perf: net_dropmonitor: Fix symbol-relative addresses + - LP: #1191905 + * fat: fix possible overflow for fat_clusters + - LP: #1191905 + * wait: fix false timeouts when using wait_event_timeout() + - LP: #1191905 + * rapidio/tsi721: fix bug in MSI interrupt handling + - LP: #1191905 + * mm compaction: fix of improper cache flush in migration code + - LP: #1191905 + * mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer + - LP: #1191905 + * drivers/leds/leds-ot200.c: fix error caused by shifted mask + - LP: #1191905 + * drivers/block/brd.c: fix brd_lookup_page() race + - LP: #1191905 + * nilfs2: fix issue of nilfs_set_page_dirty() for page at EOF boundary + - LP: #1191905 + * random: fix accounting race condition with lockless irq entropy_count + update + - LP: #1191905 + * ocfs2: goto out_unlock if ocfs2_get_clusters_nocache() failed in + ocfs2_fiemap() + - LP: #1191905 + * mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas + - LP: #1191905 + * staging:iio:light:tsl2x7x: fix the error handling in tsl2x7x_probe() + - LP: #1191905 + * mwifiex: fix memory leak issue when driver unload + - LP: #1191905 + * dm bufio: avoid a possible __vmalloc deadlock + - LP: #1191905 + * tg3: Skip powering down function 0 on certain serdes devices + - LP: #1191905 + * acpi/video_detect: blacklist samsung x360 + - LP: #1191905 + * ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist + - LP: #1191905 + * ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist + - LP: #1191905 + * mm: mmu_notifier: re-fix freed page still mapped in secondary MMU + - LP: #1191905 + * sched/debug: Limit sd->*_idx range on sysctl + - LP: #1191905 + * sched/debug: Fix sd->*_idx limit range avoiding overflow + - LP: #1191905 + * ipvs: ip_vs_sip_fill_param() BUG: bad check of return value + - LP: #1191905 + * jfs: fix a couple races + - LP: #1191905 + * cifs: fix potential buffer overrun when composing a new options string + - LP: #1191905 + * ASoC: cs42l52: fix default value for MASTERA_VOL. + - LP: #1191905 + * drm/radeon: fix typo in cu_per_sh on verde + - LP: #1191905 + * drm/radeon: fix card_posted check for newer asics + - LP: #1191905 + * NFSv4: Fix a thinko in nfs4_try_open_cached + - LP: #1191905 + * xfs: kill suid/sgid through the truncate path. + - LP: #1191905 + * reiserfs: fix deadlock with nfs racing on create/lookup + - LP: #1191905 + * reiserfs: fix problems with chowning setuid file w/ xattrs + - LP: #1191905 + * reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry + - LP: #1191905 + * xen-netback: remove skb in xen_netbk_alloc_page + - LP: #1191905 + * xen-netback: fix sparse warning + - LP: #1191905 + * xen-netback: coalesce slots in TX path and fix regressions + - LP: #1191905 + * xen-netback: don't disconnect frontend when seeing oversize packet + - LP: #1191905 + * xen-netback: remove redundent parameter in netbk_count_requests + - LP: #1191905 + * xen-netback: avoid allocating variable size array on stack + - LP: #1191905 + * xen-netback: better names for thresholds + - LP: #1191905 + * xen-netfront: remove unused variable `extra' + - LP: #1191905 + * xen-netfront: frags -> slots in xennet_get_responses + - LP: #1191905 + * xen-netfront: frags -> slots in log message + - LP: #1191905 + * Linux 3.5.7.14 + - LP: #1191905 + + -- Steve Conklin Fri, 18 Jun 2013 10:34:21 -0500 + +linux (3.5.0-34.55) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1187926 + + [ Upstream Kernel Changes ] + + * iwlwifi: dvm: fix zero LQ CMD sending avoidance + - LP: #1186932 + + -- Steve Conklin Wed, 05 Jun 2013 15:27:36 -0500 + +linux (3.5.0-33.54) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1186271 + + [ Upstream Kernel Changes ] + + * crypto: algif - suppress sending source address information in recvmsg + - LP: #1172363 + - CVE-2013-3076 + * ax25: fix info leak via msg_name in ax25_recvmsg() + - LP: #1172366 + - CVE-2013-3223 + * Bluetooth: fix possible info leak in bt_sock_recvmsg() + - LP: #1172368 + - CVE-2013-3224 + * tipc: fix info leaks via msg_name in recv_msg/recv_stream + - LP: #1172403 + - CVE-2013-3235 + * rose: fix info leak via msg_name in rose_recvmsg() + - LP: #1172394 + - CVE-2013-3234 + * Bluetooth: RFCOMM - Fix missing msg_namelen update in + rfcomm_sock_recvmsg() + - LP: #1172369 + - CVE-2013-3225 + * atm: update msg_namelen in vcc_recvmsg() + - LP: #1172365 + - CVE-2013-3222 + * iwlwifi: add new pci id for 6x35 series + - LP: #1180256 + * ath9k_htc: accept 1.x firmware newer than 1.3 + - LP: #1186062 + * ssb: implement spurious tone avoidance + - LP: #1186062 + * can: mcp251x: add missing IRQF_ONESHOT to request_threaded_irq + - LP: #1186062 + * can: sja1000: fix handling on dt properties on little endian systems + - LP: #1186062 + * ath9k_hw: change AR9580 initvals to fix a stability issue + - LP: #1186062 + * ARM: 7696/1: Fix kexec by setting outer_cache.inv_all for Feroceon + - LP: #1186062 + * ARM: 7698/1: perf: fix group validation when using enable_on_exec + - LP: #1186062 + * hugetlbfs: add swap entry check in follow_hugetlb_page() + - LP: #1186062 + * kernel/signal.c: stop info leak via the tkill and the tgkill syscalls + - LP: #1186062 + * hfsplus: fix potential overflow in hfsplus_file_truncate() + - LP: #1186062 + * sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s + - LP: #1186062 + * perf/x86: Fix offcore_rsp valid mask for SNB/IVB + - LP: #1186062 + * vm: add vm_iomap_memory() helper function + - LP: #1186062 + * vm: convert HPET mmap to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert fb_mmap to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert mtdchar mmap to vm_iomap_memory() helper + - LP: #1186062 + * regulator: fixed regulator_bulk_enable unwinding code + - LP: #1186062 + * perf: Fix error return code + - LP: #1186062 + * xen/smp: Fix leakage of timer interrupt line for every CPU + online/offline. + - LP: #1186062 + * xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every + CPU online/offline + - LP: #1186062 + * xen/time: Fix kasprintf splat when allocating timer%d IRQ line. + - LP: #1186062 + * s390/memory hotplug: prevent offline of active memory increments + - LP: #1186062 + * aio: fix possible invalid memory access when DEBUG is enabled + - LP: #1186062 + * TTY: do not update atime/mtime on read/write + - LP: #1186062 + * TTY: fix atime/mtime regression + - LP: #1186062 + * caif: Fix missing msg_namelen update in caif_seqpkt_recvmsg() + - LP: #1186062 + * irda: Fix missing msg_namelen update in irda_recvmsg_dgram() + - LP: #1186062 + * iucv: Fix missing msg_namelen update in iucv_sock_recvmsg() + - LP: #1186062 + * llc: Fix missing msg_namelen update in llc_ui_recvmsg() + - LP: #1186062 + * netrom: fix info leak via msg_name in nr_recvmsg() + - LP: #1186062 + * netrom: fix invalid use of sizeof in nr_recvmsg() + - LP: #1186062 + * NFC: llcp: fix info leaks via msg_name in llcp_sock_recvmsg() + - LP: #1186062 + * cbq: incorrect processing of high limits + - LP: #1186062 + * net IPv6 : Fix broken IPv6 routing table after loopback down-up + - LP: #1186062 + * net: count hw_addr syncs so that unsync works properly. + - LP: #1186062 + * atl1e: limit gso segment size to prevent generation of wrong ip length + fields + - LP: #1186062 + * bonding: fix bonding_masters race condition in bond unloading + - LP: #1186062 + * bonding: IFF_BONDING is not stripped on enslave failure + - LP: #1186062 + * af_unix: If we don't care about credentials coallesce all messages + - LP: #1186062 + * netfilter: don't reset nf_trace in nf_reset() + - LP: #1186062 + * rtnetlink: Call nlmsg_parse() with correct header length + - LP: #1186062 + * tcp: incoming connections might use wrong route under synflood + - LP: #1186062 + * tcp: Reallocate headroom if it would overflow csum_start + - LP: #1186062 + * esp4: fix error return code in esp_output() + - LP: #1186062 + * net: sctp: sctp_auth_key_put: use kzfree instead of kfree + - LP: #1186062 + * tcp: call tcp_replace_ts_recent() from tcp_ack() + - LP: #1186062 + * net: rate-limit warn-bad-offload splats. + - LP: #1186062 + * net: fix incorrect credentials passing + - LP: #1186062 + * net: drop dst before queueing fragments + - LP: #1186062 + * sparc64: Fix race in TLB batch processing. + - LP: #1186062 + * l2tp: fix info leak in l2tp_ip6_recvmsg() + - LP: #1186062 + * tracing: Use stack of calling function for stack tracer + - LP: #1186062 + * tracing: Fix stack tracer with fentry use + - LP: #1186062 + * tracing: Remove most or all of stack tracer stack size from + stack_max_size + - LP: #1186062 + * tracing: Fix ftrace_dump() + - LP: #1186062 + * Wrong asm register contraints in the futex implementation + - LP: #1186062 + * Wrong asm register contraints in the kvm implementation + - LP: #1186062 + * cgroup: fix an off-by-one bug which may trigger BUG_ON() + - LP: #1186062 + * PCI / ACPI: Don't query OSC support with all possible controls + - LP: #1186062 + * Fix initialization of CMCI/CMCP interrupts + - LP: #1186062 + * sysfs: fix use after free in case of concurrent read/write and readdir + - LP: #1186062 + * usb/misc/appledisplay: Add 24" LED Cinema display + - LP: #1186062 + * ext4/jbd2: don't wait (forever) for stale tid caused by wraparound + - LP: #1186062 + * jbd2: fix race between jbd2_journal_remove_checkpoint and + ->j_commit_callback + - LP: #1186062 + * ext4: fix journal callback list traversal + - LP: #1186062 + * usb: chipidea: udc: fix memory access of shared memory on armv5 + machines + - LP: #1186062 + * NFSv4: Handle NFS4ERR_DELAY and NFS4ERR_GRACE in + nfs4_open_delegation_recall + - LP: #1186062 + * usb: chipidea: udc: fix memory leak in _ep_nuke + - LP: #1186062 + * USB: add ftdi_sio USB ID for GDM Boost V1.x + - LP: #1186062 + * hrtimer: Add expiry time overflow check in hrtimer_interrupt + - LP: #1186062 + * hrtimer: Fix ktime_add_ns() overflow on 32bit architectures + - LP: #1186062 + * ARM: omap3: cpuidle: enable time keeping + - LP: #1186062 + * tracing: Fix off-by-one on allocating stat->pages + - LP: #1186062 + * USB: option: add a D-Link DWM-156 variant + - LP: #1186062 + * ext4: fix big-endian bug in metadata checksum calculations + - LP: #1186062 + * tracing: Reset ftrace_graph_filter_enabled if count is zero + - LP: #1186062 + * tracing: Check return value of tracing_init_dentry() + - LP: #1186062 + * serial_core.c: add put_device() after device_find_child() + - LP: #1186062 + * PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() + - LP: #1186062 + * wireless: regulatory: fix channel disabling race condition + - LP: #1186062 + * usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl + ep + - LP: #1186062 + * iwlwifi: fix freeing uninitialized pointer + - LP: #1186062 + * iwlwifi: dvm: don't send zeroed LQ cmd + - LP: #1186062 + * LOCKD: Ensure that nlmclnt_block resets block->b_status after a server + reboot + - LP: #1186062 + * ext4: fix online resizing for ext3-compat file systems + - LP: #1186062 + * ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG + - LP: #1186062 + * rt2x00: Fix transmit power troubles on some Ralink RT30xx cards + - LP: #1186062 + * USB: ftdi_sio: correct ST Micro Connect Lite PIDs + - LP: #1186062 + * USB: serial: option: Added support Olivetti Olicard 145 + - LP: #1186062 + * usb-storage: CY7C68300A chips do not support Cypress ATACB + - LP: #1186062 + * USB: ftdi_sio: enable two UART ports on ST Microconnect Lite + - LP: #1186062 + * gianfar: do not advertise any alarm capability. + - LP: #1186062 + * clockevents: Set dummy handler on CPU_DEAD shutdown + - LP: #1186062 + * ixgbe: fix EICR write in ixgbe_msix_other + - LP: #1186062 + * mwifiex: Use pci_release_region() instead of a pci_release_regions() + - LP: #1186062 + * mwifiex: Call pci_release_region after calling pci_disable_device + - LP: #1186062 + * fs/fscache/stats.c: fix memory leak + - LP: #1186062 + * mm: allow arch code to control the user page table ceiling + - LP: #1186062 + * arm: set the page table freeing ceiling to TASK_SIZE + - LP: #1186062 + * drivers/rtc/rtc-cmos.c: don't disable hpet emulation on suspend + - LP: #1186062 + * drivers/rtc/rtc-at91rm9200.c: fix missing iounmap + - LP: #1186062 + * md: bad block list should default to disabled. + - LP: #1186062 + * inotify: invalid mask should return a error number but not set it + - LP: #1186062 + * fs/dcache.c: add cond_resched() to shrink_dcache_parent() + - LP: #1186062 + * exec: do not abuse ->cred_guard_mutex in threadgroup_lock() + - LP: #1186062 + * tty: fix up atime/mtime mess, take three + - LP: #1186062 + * ipc: sysv shared memory limited to 8TiB + - LP: #1186062 + * ARM: 7699/1: sched_clock: Add more notrace to prevent recursion + - LP: #1186062 + * Linux 3.5.7.12 + - LP: #1186062 + * mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload + - LP: #1186062 + * ARM: at91: Fix typo in restart code panic message + - LP: #1186062 + * drm/radeon: don't use get_engine_clock() on APUs + - LP: #1186062 + * nfsd: don't run get_file if nfs4_preprocess_stateid_op return error + - LP: #1186062 + * mmc: core: Fix bit width test failing on old eMMC cards + - LP: #1186062 + * drm/i915: Add no-lvds quirk for Fujitsu Esprimo Q900 + - LP: #1186062 + * mfd: adp5520: Restore mode bits on resume + - LP: #1186062 + * mmc: atmel-mci: pio hang on block errors + - LP: #1186062 + * nfsd4: don't close read-write opens too soon + - LP: #1186062 + * drm/radeon/dce6: add missing display reg for tiling setup + - LP: #1186062 + * ALSA: usb: Add quirk for 192KHz recording on E-Mu devices + - LP: #1186062 + * ALSA: usb-audio: disable autopm for MIDI devices + - LP: #1186062 + * drm/radeon/evergreen+: don't enable HPD interrupts on eDP/LVDS + - LP: #1186062 + * drm/radeon: cleanup properly if mmio mapping fails + - LP: #1186062 + * ASoC: max98088: Fix logging of hardware revision. + - LP: #1186062 + * drm/i915: Workaround incoherence between fences and LLC across multiple + CPUs + - LP: #1186062 + * drm/i915: Fall back to bit banging mode for DVO transmitter detection + - LP: #1186062 + * drm/radeon: fix hdmi mode enable on RS600/RS690/RS740 + - LP: #1186062 + * i2c: xiic: must always write 16-bit words to TX_FIFO + - LP: #1186062 + * nfsd: Decode and send 64bit time values + - LP: #1186062 + * drm/radeon: fix typo in si_select_se_sh() + - LP: #1186062 + * fbcon: when font is freed, clear also vc_font.data + - LP: #1186062 + * powerpc/spufs: Initialise inode->i_ino in spufs_new_inode() + - LP: #1186062 + * ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT + - LP: #1186062 + * ALSA: usb-audio: Fix autopm error during probing + - LP: #1186062 + * drm/gma500: fix backlight hotkeys behaviour on netbooks + - LP: #1186062 + * powerpc: Add isync to copy_and_flush + - LP: #1186062 + * ARM: u300: fix ages old copy/paste bug + - LP: #1186062 + * x86: Eliminate irq_mis_count counted in arch_irq_stat + - LP: #1186062 + * drm/prime: keep a reference from the handle to exported dma-buf (v6) + - LP: #1186062 + * drm/mgag200: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/ast: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/cirrus: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/radeon: fix endian bugs in atom_allocate_fb_scratch() + - LP: #1186062 + * drm/radeon: fix possible segfault when parsing pm tables + - LP: #1186062 + * drm/radeon: add some new SI PCI ids + - LP: #1186062 + * drm/radeon: add new richland pci ids + - LP: #1186062 + * drm/radeon: fix handling of v6 power tables + - LP: #1186062 + * perf/x86/intel/lbr: Fix LBR filter + - LP: #1186062 + * perf/x86/intel/lbr: Demand proper privileges for + PERF_SAMPLE_BRANCH_KERNEL + - LP: #1186062 + * net/eth/ibmveth: Fixup retrieval of MAC address + - LP: #1186062 + * autofs - remove autofs dentry mount check + - LP: #1186062 + * drm/radeon: properly lock disp in mc_stop/resume for evergreen+ + - LP: #1186062 + * drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2) + - LP: #1186062 + * powerpc: fix numa distance for form0 device tree + - LP: #1186062 + * kernel/audit_tree.c: tree will leak memory when failure occurs in + audit_trim_trees() + - LP: #1186062 + * xhci: Don't warn on empty ring for suspended devices. + - LP: #1186062 + * cpufreq: exynos: Get booting freq value in exynos_cpufreq_init + - LP: #1186062 + * ARM: 7692/1: iop3xx: move IOP3XX_PERIPHERAL_VIRT_BASE + - LP: #1186062 + * drm/i915: ensure single initialization and cleanup of backlight device + - LP: #1186062 + * drm/radeon: use frac fb div on RS780/RS880 + - LP: #1186062 + * r8169: fix vlan tag read ordering. + - LP: #1186062 + * r8169: honor jumbo settings when chipset is requested to start. + - LP: #1186062 + * drm/i915: Fix detection of base of stolen memory + - LP: #1186062 + * s390: move dummy io_remap_pfn_range() to asm/pgtable.h + - LP: #1186062 + * x86/mm: account for PGDIR_SIZE alignment + - LP: #1186062 + * drbd: fix for deadlock when using automatic split-brain-recovery + - LP: #1186062 + * cpufreq / Longhaul: Disable driver by default + - LP: #1186062 + * ext4: add check for inodes_count overflow in new resize ioctl + - LP: #1186062 + * powerpc: Emulate non privileged DSCR read and write + - LP: #1186062 + * audit: Syscall rules are not applied to existing processes on non-x86 + - LP: #1186062 + * ASoC: wm8994: missing break in wm8994_aif3_hw_params() + - LP: #1186062 + * tile: support new Tilera hypervisor + - LP: #1186062 + * sd: fix array cache flushing bug causing performance problems + - LP: #1186062 + * ath9k: fix key allocation error handling for powersave keys + - LP: #1186062 + * nfsd4: don't allow owner override on 4.1 CLAIM_FH opens + - LP: #1186062 + * xen/vcpu/pvhvm: Fix vcpu hotplugging hanging. + - LP: #1186062 + * ALSA: HDA: Fix Oops caused by dereference NULL pointer + - LP: #1186062 + * ACPICA: Fix possible buffer overflow during a field unit read operation + - LP: #1186062 + * qmi_wwan/cdc_ether: add device IDs for Dell 5804 (Novatel E371) WWAN + card + - LP: #1186062 + * B43: Handle DMA RX descriptor underrun + - LP: #1186062 + * mwifiex: clear is_suspended flag when interrupt is received early + - LP: #1186062 + * mwifiex: fix setting of multicast filter + - LP: #1186062 + * ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI + devices + - LP: #1186062 + * hp_accel: Ignore the error from lis3lv02d_poweron() at resume + - LP: #1186062 + * KVM: VMX: fix halt emulation while emulating invalid guest sate + - LP: #1186062 + * dm snapshot: fix error return code in snapshot_ctr + - LP: #1186062 + * drm/mgag200: Fix writes into MGA1064_PIX_CLK_CTL register + - LP: #1186062 + * drm/mgag200: Fix framebuffer base address programming + - LP: #1186062 + * hugetlbfs: fix mmap failure in unaligned size request + - LP: #1186062 + * net: qmi_wwan: fixup missing ethernet header (firmware bug workaround) + - LP: #1186062 + * net: qmi_wwan: fixup destination address (firmware bug workaround) + - LP: #1186062 + * net: qmi_wwan: prevent duplicate mac address on link (firmware bug + workaround) + - LP: #1186062 + * tcp: force a dst refcount when prequeue packet + - LP: #1186062 + * sfc: Fix naming of MTD partitions for FPGA bitfiles + - LP: #1186062 + * 3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA) + - LP: #1186062 + * net_sched: act_ipt forward compat with xtables + - LP: #1186062 + * net: use netdev_features_t in skb_needs_linearize() + - LP: #1186062 + * net: vlan,ethtool: netdev_features_t is more than 32 bit + - LP: #1186062 + * bridge: fix race with topology change timer + - LP: #1186062 + * packet: tpacket_v3: do not trigger bug() on wrong header status + - LP: #1186062 + * 3c59x: fix freeing nonexistent resource on driver unload + - LP: #1186062 + * 3c59x: fix PCI resource management + - LP: #1186062 + * if_cablemodem.h: Add parenthesis around ioctl macros + - LP: #1186062 + * macvlan: fix passthru mode race between dev removal and rx path + - LP: #1186062 + * ipv6: do not clear pinet6 field + - LP: #1186062 + * xfrm6: release dev before returning error + - LP: #1186062 + * ext4: limit group search loop for non-extent files + - LP: #1186062 + * iscsi-target: Fix processing of OOO commands + - LP: #1186062 + * tick: Cleanup NOHZ per cpu data on cpu down + - LP: #1186062 + * ACPI / EC: Restart transaction even when the IBF flag set + - LP: #1186062 + * drm/radeon: check incoming cliprects pointer + - LP: #1186062 + * ARM: 7720/1: ARM v6/v7 cmpxchg64 shouldn't clear upper 32 bits of the + old/new value + - LP: #1186062 + * powerpc: Bring all threads online prior to migration/hibernation + - LP: #1186062 + * timer: Don't reinitialize the cpu base lock during CPU_UP_PREPARE + - LP: #1186062 + * tracing: Fix leaks of filter preds + - LP: #1186062 + * usermodehelper: check subprocess_info->path != NULL + - LP: #1186062 + * drivers/char/ipmi: memcpy, need additional 2 bytes to avoid memory + overflow + - LP: #1186062 + * ipmi: ipmi_devintf: compat_ioctl method fails to take ipmi_mutex + - LP: #1186062 + * dm thin: do not set discard_zeroes_data + - LP: #1186062 + * drivers/rtc/rtc-pcf2123.c: fix error return code in pcf2123_probe() + - LP: #1186062 + * pch_dma: Use GFP_ATOMIC because called from interrupt context + - LP: #1186062 + * ARM: EXYNOS5: Fix kernel dump in AFTR idle mode + - LP: #1186062 + * watchdog: Fix race condition in registration code + - LP: #1186062 + * Linux 3.5.7.13 + - LP: #1186062 + + -- Steve Conklin Fri, 31 May 2013 09:29:44 -0500 + +linux (3.5.0-32.53) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1185161 + + [ Upstream Kernel Changes ] + + * iscsi-target: fix heap buffer overflow on error + - CVE-2013-2850 + + -- Steve Conklin Tue, 28 May 2013 15:17:15 -0500 + +linux (3.5.0-31.52) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1180568 + * merged back in delta from 28.48 to 29.49 + + -- Steve Conklin Wed, 15 May 2013 16:25:01 -0500 + +linux (3.5.0-30.51) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1180038 + * Based on 3.5.0-28.48 release + - entire delta from 28.48 to 29.49 removed + - CVE release is based on updates+fix + + [ Upstream Kernel Changes ] + + * perf: Treat attr.config as u64 in perf_swevent_init() + - LP: #1179943 + - CVE-2013-2094 + + -- Steve Conklin Tue, 14 May 2013 13:01:04 -0500 + +linux (3.5.0-29.49) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1177007 + + [ AceLan Kao ] + + * SAUCE: (no-up) alx: disables MSI generation + - LP: #927782 + + [ Brad Figg ] + + * CONFIG: CONFIG_EFI_VARS_PSTORE (not set); CONFIG_PPC_EMULATE_SSTEP=y + + [ Gavin Guo ] + + * SAUCE: Bluetooth: Add support for Broadcom 413c:8143 + - LP: #1166113 + + [ joseph.salisbury@canonical.com ] + + * SAUCE: (no-up) x86: reboot: Make Dell Optiplex 390 use reboot=pci + - LP: #800660 + + [ Leann Ogasawara ] + + * SAUCE: cpuidle: Fix NULL pointer dereference when offlining CPU's + - LP: #1168452 + + [ Stefan Bader ] + + * [Config] Add libceph to base modules list + - LP: #1164739 + + [ Tim Gardner ] + + * SAUCE: (no-up) alx: Don't check netif_running() before powering up + - LP: #1172415 + * [packaging] Bump ABI for every new release + + [ Upstream Kernel Changes ] + + * Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR" + - LP: #1174946 + * Input: ALPS - document the alps.h data structures + - LP: #1089413 + * Input: ALPS - copy "model" info into alps_data struct + - LP: #1089413 + * Input: ALPS - move alps_get_model() down below hw_init code + - LP: #1089413 + * Input: ALPS - introduce helper function for repeated commands + - LP: #1089413 + * Input: ALPS - rework detection sequence + - LP: #1089413 + * Input: ALPS - use function pointers for different protocol handlers + - LP: #1089413 + * Input: ALPS - move {addr,nibble}_command settings into + alps_set_defaults() + - LP: #1089413 + * Input: ALPS - rework detection of Pinnacle AGx touchpads + - LP: #1089413 + * Input: ALPS - fix command mode check + - LP: #1089413 + * Input: ALPS - move pixel and bitmap info into alps_data struct + - LP: #1089413 + * Input: ALPS - make the V3 packet field decoder "pluggable" + - LP: #1089413 + * Input: ALPS - add support for "Rushmore" touchpads + - LP: #1089413 + * Input: ALPS - enable trackstick on Rushmore touchpads + - LP: #1089413 + * Input: ALPS - remove unused argument to alps_enter_command_mode() + - LP: #1089413 + * Input: ALPS - add "Dolphin V1" touchpad support + - LP: #1089413 + * tg3: fix length overflow in VPD firmware parsing + - LP: #1167065 + - CVE-2013-1929 + * Bluetooth: Add support for atheros 04ca:3004 device to ath3k + - LP: #1168852 + * ata_piix: Fix DVD not dectected at some Haswell platforms + - LP: #1170797 + * clockevents: Don't allow dummy broadcast timers + - LP: #1174946 + * Bluetooth: Add support for Dell[QCA 0cf3:0036] + - LP: #1174946 + * Bluetooth: Add support for Dell[QCA 0cf3:817a] + - LP: #1174946 + * ath9k_hw: revert chainmask to user configuration after calibration + - LP: #1174946 + * ath9k: limit tx path hang check to normal data queues + - LP: #1174946 + * rtlwifi: usb: add missing freeing of skbuff + - LP: #1174946 + * net/irda: add missing error path release_sock call + - LP: #1174946 + * pnfs-block: removing DM device maybe cause oops when call dev_remove + - LP: #1174946 + * NFSv4.1: Fix a race in pNFS layoutcommit + - LP: #1174946 + * IPoIB: Fix send lockup due to missed TX completion + - LP: #1174946 + * SUNRPC: Add barriers to ensure read ordering in + rpc_wake_up_task_queue_locked + - LP: #1174946 + * Nest rename_lock inside vfsmount_lock + - LP: #1174946 + * vt: synchronize_rcu() under spinlock is not nice... + - LP: #1174946 + * iommu/amd: Make sure dma_ops are set for hotplug devices + - LP: #1174946 + * i915: initialize CADL in opregion + - LP: #1174946 + * tracing: Protect tracer flags with trace_types_lock + - LP: #1174946 + * tracing: Prevent buffer overwrite disabled for latency tracers + - LP: #1174946 + * nohz: Make tick_nohz_irq_exit() irq safe + - LP: #1174946 + * udf: Fix bitmap overflow on large filesystems with small block size + - LP: #1174946 + * xen/blkback: correctly respond to unknown, non-native requests + - LP: #1174946 + * tty: atmel_serial_probe(): index of atmel_ports[] fix + - LP: #1174946 + * HID: usbhid: quirk for Realtek Multi-card reader + - LP: #1174946 + * HID: usbhid: quirk for MSI GX680R led panel + - LP: #1174946 + * xen-blkback: fix dispatch_rw_block_io() error path + - LP: #1174946 + * sysfs: handle failure path correctly for readdir() + - LP: #1174946 + * usb: xhci: Fix TRB transfer length macro used for Event TRB. + - LP: #1174946 + * staging: comedi: s626: fix continuous acquisition + - LP: #1174946 + * USB: serial: fix hang when opening port + - LP: #1174946 + * Btrfs: fix race between mmap writes and compression + - LP: #1174946 + * Btrfs: fix space leak when we fail to reserve metadata space + - LP: #1174946 + * Btrfs: limit the global reserve to 512mb + - LP: #1174946 + * usb: ftdi_sio: Add support for Mitsubishi FX-USB-AW/-BD + - LP: #1174946 + * Btrfs: don't drop path when printing out tree errors in scrub + - LP: #1174946 + * USB: serial: add modem-status-change wait queue + - LP: #1174946 + * USB: ark3116: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ch341: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: cypress_m8: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: f81232: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ftdi_sio: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: io_edgeport: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: io_ti: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: mct_u232: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: mos7840: fix broken TIOCMIWAIT + - LP: #1174946 + * USB: mos7840: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: oti6858: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: pl2303: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: quatech2: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: spcp8x5: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ssu100: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ti_usb_3410_5052: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * Btrfs: use set_nlink if our i_nlink is 0 + - LP: #1174946 + * Bluetooth: Fix not closing SCO sockets in the BT_CONNECT2 state + - LP: #1174946 + * HID: usbhid: fix build problem + - LP: #1174946 + * sysfs: fix race between readdir and lseek + - LP: #1174946 + * net: remove a WARN_ON() in net_enable_timestamp() + - LP: #1174946 + * sky2: Receive Overflows not counted + - LP: #1174946 + * sky2: Threshold for Pause Packet is set wrong + - LP: #1174946 + * tcp: preserve ACK clocking in TSO + - LP: #1174946 + * tcp: undo spurious timeout after SACK reneging + - LP: #1174946 + * 8021q: fix a potential use-after-free + - LP: #1174946 + * thermal: shorten too long mcast group name + - LP: #1174946 + * genetlink: trigger BUG_ON if a group name is too long + - LP: #1174946 + * unix: fix a race condition in unix_release() + - LP: #1174946 + * bonding: remove already created master sysfs link on failure + - LP: #1174946 + * bonding: fix miimon and arp_interval delayed work race conditions + - LP: #1174946 + * bonding: fix disabling of arp_interval and miimon + - LP: #1174946 + * drivers: net: ethernet: davinci_emac: use netif_wake_queue() while + restarting tx queue + - LP: #1174946 + * drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting + tx queue + - LP: #1174946 + * net: fix *_DIAG_MAX constants + - LP: #1174946 + * aoe: reserve enough headroom on skbs + - LP: #1174946 + * atl1e: drop pci-msi support because of packet corruption + - LP: #1174946 + * DM9000B: driver initialization upgrade + - LP: #1174946 + * ipv6: don't accept multicast traffic with scope 0 + - LP: #1174946 + * ipv6: fix bad free of addrconf_init_net + - LP: #1174946 + * ipv6: don't accept node local multicast traffic from the wire + - LP: #1174946 + * ks8851: Fix interpretation of rxlen field. + - LP: #1174946 + * net: add a synchronize_net() in netdev_rx_handler_unregister() + - LP: #1174946 + * pch_gbe: fix ip_summed checksum reporting on rx + - LP: #1174946 + * smsc75xx: fix jumbo frame support + - LP: #1174946 + * bonding: get netdev_rx_handler_unregister out of locks + - LP: #1174946 + * mac80211: always synchronize_net() during station removal + - LP: #1174946 + * regmap: cache Fix regcache-rbtree sync + - LP: #1174946 + * iwlwifi: dvm: don't send HCMD in restart flow + - LP: #1174946 + * nfsd4: reject "negative" acl lengths + - LP: #1174946 + * can: sja1000: fix define conflict on SH + - LP: #1174946 + * b43: N-PHY: increase initial value of "mind" in RSSI calibration + - LP: #1174946 + * b43: A fix for DMA transmission sequence errors + - LP: #1174946 + * b43: N-PHY: use more bits for offset in RSSI calibration + - LP: #1174946 + * tile: expect new initramfs name from hypervisor file system + - LP: #1174946 + * virtio: console: rename cvq_lock to c_ivq_lock + - LP: #1174946 + * virtio: console: add locking around c_ovq operations + - LP: #1174946 + * ARM: cns3xxx: fix mapping of private memory region + - LP: #1174946 + * loop: prevent bdev freeing while device in use + - LP: #1174946 + * thermal: return an error on failure to register thermal class + - LP: #1174946 + * UBIFS: make space fixup work in the remount case + - LP: #1174946 + * reiserfs: Fix warning and inode leak when deleting inode with xattrs + - LP: #1174946 + * mm: prevent mmap_cache race in find_vma() + - LP: #1174946 + * Linux 3.5.7.10 + - LP: #1174946 + * ASoC: imx-ssi: Fix occasional AC97 reset failure + - LP: #1174946 + * ASoC: dma-sh7760: Fix compile error + - LP: #1174946 + * spi/s3c64xx: modified error interrupt handling and init + - LP: #1174946 + * spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts + - LP: #1174946 + * EISA/PCI: Fix bus res reference + - LP: #1174946 + * EISA/PCI: Init EISA early, before PNP + - LP: #1174946 + * mwifiex: limit channel number not to overflow memory + - LP: #1174946 + * ALSA: hda - bug fix on return value when getting HDMI ELD info + - LP: #1174946 + * x86: remove the x32 syscall bitmask from syscall_get_nr() + - LP: #1174946 + * ixgbe: fix registration order of driver and DCA nofitication + - LP: #1174946 + * alpha: Add irongate_io to PCI bus resources + - LP: #1174946 + * crypto: gcm - fix assumption that assoc has one segment + - LP: #1174946 + * libata: Use integer return value for atapi_command_packet_set + - LP: #1174946 + * libata: Set max sector to 65535 for Slimtype DVD A DS8A8SH drive + - LP: #1174946 + * remoteproc: fix error path of handle_vdev + - LP: #1174946 + * hwspinlock: fix __hwspin_lock_request error path + - LP: #1174946 + * remoteproc: fix FW_CONFIG typo + - LP: #1174946 + * powerpc: pSeries_lpar_hpte_remove fails from Adjunct partition being + performed before the ANDCOND test + - LP: #1174946 + * ftrace: Consistently restore trace function on sysctl enabling + - LP: #1174946 + * spinlocks and preemption points need to be at least compiler barriers + - LP: #1174946 + * drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not + decimal. + - LP: #1174946 + * panic: fix a possible deadlock in panic() + - LP: #1174946 + * Bluetooth: Add support for IMC Networks [13d3:3393] + - LP: #1174946 + * Bluetooth: Add support for GC-WB300D PCIe [04ca:3006] to ath3k. + - LP: #1174946 + * Bluetooth: Add support for Foxconn / Hon Hai [0489:e04e] + - LP: #1174946 + * Bluetooth: Add support for Foxconn / Hon Hai [0489:e056] + - LP: #1174946 + * Bluetooth device 04ca:3008 should use ath3k + - LP: #1174946 + * Bluetooth: Device 0cf3:3008 should map AR 3012 + - LP: #1174946 + * ALSA: hda - Enabling Realtek ALC 671 codec + - LP: #1174946 + * ALSA: hda - fix typo in proc output + - LP: #1174946 + * can: gw: use kmem_cache_free() instead of kfree() + - LP: #1174946 + * tracing: Fix double free when function profile init failed + - LP: #1174946 + * r8169: fix auto speed down issue + - LP: #1174946 + * x86: Fix rebuild with EFI_STUB enabled + - LP: #1174946 + * msi-wmi: Fix memory leak + - LP: #1174946 + * DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines. + - LP: #1174946 + * drm/i915: add quirk to invert brightness on eMachines G725 + - LP: #1174946 + * drm/i915: add quirk to invert brightness on eMachines e725 + - LP: #1174946 + * drm/i915: add quirk to invert brightness on Packard Bell NCL20 + - LP: #1174946 + * block: avoid using uninitialized value in from queue_var_store + - LP: #1174946 + * ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_* + - LP: #1174946 + * PM / reboot: call syscore_shutdown() after disable_nonboot_cpus() + - LP: #1174946 + * ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is + running + - LP: #1174946 + * drm/i915: Use the correct size of the GTT for placing the per-process + entries + - LP: #1174946 + * GFS2: Fix unlock of fcntl locks during withdrawn state + - LP: #1174946 + * libsas: fix handling vacant phy in sas_set_ex_phy() + - LP: #1174946 + * sched_clock: Prevent 64bit inatomicity on 32bit systems + - LP: #1174946 + * x86, mm, paravirt: Fix vmalloc_fault oops during lazy MMU updates + - LP: #1174946 + * x86, mm: Patch out arch_flush_lazy_mmu_mode() when running on bare + metal + - LP: #1174946 + * cifs: Allow passwords which begin with a delimitor + - LP: #1174946 + * target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition + CDBs + - LP: #1174946 + * udl: handle EDID failure properly. + - LP: #1174946 + * tracing: Fix possible NULL pointer dereferences + - LP: #1174946 + * ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section + - LP: #1174946 + * Btrfs: make sure nbytes are right after log replay + - LP: #1174946 + * kobject: fix kset_find_obj() race with concurrent last kobject_put() + - LP: #1174946 + * vfs: Revert spurious fix to spinning prevention in prune_icache_sb + - LP: #1174946 + * kref: Implement kref_get_unless_zero v3 + - LP: #1174946 + * hrtimer: Don't reinitialize a cpu_base lock on CPU_UP + - LP: #1174946 + * ARM: Do 15e0d9e37c (ARM: pm: let platforms select cpu_suspend support) + properly + - LP: #1174946 + * efivars: Allow disabling use as a pstore backend + - LP: #1174946 + * efivars: Add module parameter to disable use as a pstore backend + - LP: #1174946 + * efivars: Fix check for CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE + - LP: #1174946 + * KVM: Allow cross page reads and writes from cached translations. + - LP: #1174946 + * mtd: Disable mtdchar mmap on MMU systems + - LP: #1174946 + * Linux 3.5.7.11 + - LP: #1174946 + + -- Brad Figg Mon, 06 May 2013 10:25:47 -0700 + +linux (3.5.0-28.48) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1172023 + + [ Steve Conklin ] + + * Revert "drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for + scanline waits" + - LP: #1140716 + + [ Upstream Kernel Changes ] + + * fbcon: fix locking harder + - LP: #1167114 + + -- Brad Figg Tue, 23 Apr 2013 14:01:06 -0700 + +linux (3.5.0-28.47) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1166876 + + [ Adam Lee ] + + * SAUCE: Bluetooth: Add support for 105b:e065 + - LP: #1161261 + + [ John Johansen ] + + * SAUCE: (no-up) apparmor: Fix quieting of audit messages for network + mediation + - LP: #1163259 + + [ Upstream Kernel Changes ] + + * NFSv4: Fix the string length returned by the idmapper + - LP: #1101292 + * Input: cypress_ps2 - fix trackpadi found in Dell XPS12 + - LP: #1103594 + * omap_vout: find_vma() needs ->mmap_sem held + - LP: #1164714 + * nfsd: Fix memleak + - LP: #1164714 + * iommu/amd: Initialize device table after dma_ops + - LP: #1164714 + * svcrpc: make svc_age_temp_xprts enqueue under sv_lock + - LP: #1164714 + * target: Add missing mapped_lun bounds checking during make_mappedlun + setup + - LP: #1164714 + * xen-blkback: do not leak mode property + - LP: #1164714 + * btrfs: Init io_lock after cloning btrfs device struct + - LP: #1164714 + * NFS: Don't allow NFS silly-renamed files to be deleted, no signal + - LP: #1164714 + * SUNRPC: Don't start the retransmission timer when out of socket space + - LP: #1164714 + * storvsc: Initialize the sglist + - LP: #1164714 + * dc395x: uninitialized variable in device_alloc() + - LP: #1164714 + * ALSA: bt87x: Make load_all parameter working again + - LP: #1164714 + * ARM: VFP: fix emulation of second VFP instruction + - LP: #1164714 + * ARM: fix scheduling while atomic warning in alignment handling code + - LP: #1164714 + * doc, xen: Mention 'earlyprintk=xen' in the documentation. + - LP: #1164714 + * doc, kernel-parameters: Document 'console=hvc' + - LP: #1164714 + * sony-laptop: fully enable SNY controlled modems + - LP: #1164714 + * x86: Make sure we can boot in the case the BDA contains pure garbage + - LP: #1164714 + * cifs: ensure that cifs_get_root() only traverses directories + - LP: #1164714 + * iscsi-target: Fix immediate queue starvation regression with DATAIN + - LP: #1164714 + * ocfs2: fix ocfs2_init_security_and_acl() to initialize acl correctly + - LP: #1164714 + * ocfs2: ac->ac_allow_chain_relink=0 won't disable group relink + - LP: #1164714 + * block: fix ext_devt_idr handling + - LP: #1164714 + * idr: fix a subtle bug in idr_get_next() + - LP: #1164714 + * block: fix synchronization and limit check in blk_alloc_devt() + - LP: #1164714 + * firewire: add minor number range check to fw_device_init() + - LP: #1164714 + * idr: fix top layer handling + - LP: #1164714 + * sysctl: fix null checking in bin_dn_node_address() + - LP: #1164714 + * nbd: fsync and kill block device on shutdown + - LP: #1164714 + * target/pscsi: Fix page increment + - LP: #1164714 + * xen/pat: Disable PAT using pat_enabled value. + - LP: #1164714 + * xen/pci: We don't do multiple MSI's. + - LP: #1164714 + * xenbus: fix compile failure on ARM with Xen enabled + - LP: #1164714 + * dm snapshot: add missing module aliases + - LP: #1164714 + * ext4: convert number of blocks to clusters properly + - LP: #1164714 + * ata_piix: reenable MS Virtual PC guests + - LP: #1164714 + * nfsd: add get_uint for u32's + - LP: #1164714 + * asus-laptop: Do not call HWRS on init + - LP: #1164714 + * ata_piix: IDE-mode SATA patch for Intel Avoton DeviceIDs + - LP: #1164714 + * ata_piix: Add Device IDs for Intel Wellsburg PCH + - LP: #1164714 + * ata_piix: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1164714 + * fs: cachefiles: add support for large files in filesystem caching + - LP: #1164714 + * fuse: don't WARN when nlink is zero + - LP: #1164714 + * usb hid quirks for Masterkit MA901 usb radio + - LP: #1164714 + * pstore: Avoid deadlock in panic and emergency-restart path + - LP: #1164714 + * unbreak automounter support on 64-bit kernel with 32-bit userspace (v2) + - LP: #1164714 + * workqueue: consider work function when searching for busy work items + - LP: #1164714 + * zram: Fix deadlock bug in partial read/write + - LP: #1164714 + * md: protect against crash upon fsync on ro array + - LP: #1164714 + * md: fix two bugs when attempting to resize RAID0 array. + - LP: #1164714 + * md: raid0: fix error return from create_stripe_zones. + - LP: #1164714 + * ath9k: fix RSSI dummy marker value + - LP: #1164714 + * ath9k_htc: fix signal strength handling issues + - LP: #1164714 + * ath9k_hw: improve reset reliability after errors + - LP: #1164714 + * mwifiex: correct sleep delay counter + - LP: #1164714 + * libertas: fix crash for SD8688 + - LP: #1164714 + * hw_random: make buffer usable in scatterlist. + - LP: #1164714 + * drm/i915: Don't clobber crtc->fb when queue_flip fails + - LP: #1164714 + * ARM: 7657/1: head: fix swapper and idmap population with LPAE and + big-endian + - LP: #1164714 + * ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bit + - LP: #1164714 + * userns: Stop oopsing in key_change_session_keyring + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Fix peak attribute handling + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Use detected chip ID to select supported + functionality + - LP: #1164714 + * hwmon: (sht15) Check return value of regulator_enable() + - LP: #1164714 + * random: fix locking dependency with the tasklist_lock + - LP: #1164714 + * ALSA: vmaster: Fix slave change notification + - LP: #1164714 + * ALSA: ice1712: Initialize card->private_data properly + - LP: #1164714 + * drm/radeon: add primary dac adj quirk for R200 board + - LP: #1164714 + * dmi_scan: fix missing check for _DMI_ signature in smbios_present() + - LP: #1164714 + * Btrfs: account for orphan inodes properly during cleanup + - LP: #1164714 + * HID: logitech-dj: do not directly call hid_output_raw_report() during + probe + - LP: #1164714 + * ftrace: Update the kconfig for DYNAMIC_FTRACE + - LP: #1164714 + * e1000e: fix pci-device enable-counter balance + - LP: #1164714 + * Fix memory leak in cpufreq stats. + - LP: #1164714 + * Btrfs: fix panic when recovering tree log + - LP: #1164714 + * xen/pciback: Don't disable a PCI device that is already disabled. + - LP: #1164714 + * vfs: fix pipe counter breakage + - LP: #1164714 + * Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and + security keys + - LP: #1164714 + * drm/i915: Increase the RC6p threshold. + - LP: #1164714 + * USB: Handle warm reset failure on empty port. + - LP: #1164714 + * USB: Don't use EHCI port sempahore for USB 3.0 hubs. + - LP: #1164714 + * USB: Prepare for refactoring by adding extra udev checks. + - LP: #1164714 + * USB: Rip out recursive call on warm port reset. + - LP: #1164714 + * USB: Fix connected device switch to Inactive state. + - LP: #1164714 + * Linux 3.5.7.8 + - LP: #1164714 + * USB: option: add Huawei E5331 + - LP: #1164714 + * USB: storage: fix Huawei mode switching regression + - LP: #1164714 + * USB: added support for Cinterion's products AH6 and PLS8 + - LP: #1164714 + * ALSA: seq: Fix missing error handling in snd_seq_timer_open() + - LP: #1164714 + * usb: cp210x new Vendor/Device IDs + - LP: #1164714 + * staging: vt6656: Fix oops on resume from suspend. + - LP: #1164714 + * qcaux: add Franklin U600 + - LP: #1164714 + * ext3: Fix format string issues + - LP: #1164714 + * tty/serial: Add support for Altera serial port + - LP: #1164714 + * Fix 4 port and add support for 8 port 'Unknown' PCI serial port cards + - LP: #1164714 + * serial: 8250_pci: add support for another kind of NetMos Technology PCI + 9835 Multi-I/O Controller + - LP: #1164714 + * tty: serial: fix typo "ARCH_S5P6450" + - LP: #1164714 + * usb: serial: Add Rigblaster Advantage to device table + - LP: #1164714 + * w1: fix oops when w1_search is called from netlink connector + - LP: #1164714 + * USB: cdc-wdm: fix buffer overflow + - LP: #1164714 + * hwmon: (lineage-pem) Add missing terminating entry for + pem_[input|fan]_attributes + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Fix temperature reporting + - LP: #1164714 + * btrfs: use rcu_barrier() to wait for bdev puts at unmount + - LP: #1164714 + * hwmon: (sht15) Fix memory leak if regulator_enable() fails + - LP: #1164714 + * TTY: do not reset master's packet mode + - LP: #1164714 + * virtio: rng: disallow multiple device registrations, fixes crashes + - LP: #1164714 + * block: use i_size_write() in bd_set_size() + - LP: #1164714 + * loopdev: fix a deadlock + - LP: #1164714 + * loopdev: remove an user triggerable oops + - LP: #1164714 + * proc connector: reject unprivileged listener bumps + - LP: #1164714 + * s390: critical section cleanup vs. machine checks + - LP: #1164714 + * s390/mm: fix flush_tlb_kernel_range() + - LP: #1164714 + * powerpc: Fix STAB initialization + - LP: #1164714 + * powerpc: Fix cputable entry for 970MP rev 1.0 + - LP: #1164714 + * atmel_lcdfb: fix 16-bpp modes on older SOCs + - LP: #1164714 + * selinux: use GFP_ATOMIC under spin_lock + - LP: #1164714 + * perf,x86: fix kernel crash with PEBS/BTS after suspend/resume + - LP: #1164714 + * perf,x86: fix link failure for non-Intel configs + - LP: #1164714 + * perf,x86: fix wrmsr_on_cpu() warning on suspend/resume + - LP: #1164714 + * l2tp: Restore socket refcount when sendmsg succeeds + - LP: #1164714 + * rds: limit the size allocated by rds_message_alloc() + - LP: #1164714 + * net: ipv6: Don't purge default router if accept_ra=2 + - LP: #1164714 + * tcp: fix double-counted receiver RTT when leaving receiver fast path + - LP: #1164714 + * tun: add a missing nf_reset() in tun_net_xmit() + - LP: #1164714 + * macvlan: Set IFF_UNICAST_FLT flag to prevent unnecessary promisc mode. + - LP: #1164714 + * netlabel: correctly list all the static label mappings + - LP: #1164714 + * netlabel: fix build problems when CONFIG_IPV6=n + - LP: #1164714 + * bridging: fix rx_handlers return code + - LP: #1164714 + * ipv6: stop multicast forwarding to process interface scoped addresses + - LP: #1164714 + * rtnl: fix info leak on RTM_GETLINK request for VF devices + - LP: #1164714 + * dcbnl: fix various netlink info leaks + - LP: #1164714 + * 6lowpan: Fix endianness issue in is_addr_link_local(). + - LP: #1164714 + * ahci: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1164714 + * ahci: AHCI-mode SATA patch for Intel Avoton DeviceIDs + - LP: #1164714 + * ahci: Add Device IDs for Intel Wellsburg PCH + - LP: #1164714 + * HID: add support for Sony RF receiver with USB product id 0x0374 + - LP: #1164714 + * HID: clean up quirk for Sony RF receivers + - LP: #1164714 + * rt2x00: error in configurations with mesh support disabled + - LP: #1164714 + * mwifiex: fix potential out-of-boundary access to ibss rate table + - LP: #1164714 + * rtlwifi: rtl8192cu: Fix schedule while atomic bug splat + - LP: #1164714 + * rtlwifi: rtl8192cu: Fix problem that prevents reassociation + - LP: #1164714 + * vhost/net: fix heads usage of ubuf_info + - LP: #1164714 + * udf: avoid info leak on export + - LP: #1164714 + * isofs: avoid info leak on export + - LP: #1164714 + * key: Fix resource leak + - LP: #1164714 + * ext4: fix the wrong number of the allocated blocks in + ext4_split_extent() + - LP: #1164714 + * jbd2: fix use after free in jbd2_journal_dirty_metadata() + - LP: #1164714 + * ext4: use atomic64_t for the per-flexbg free_clusters count + - LP: #1164714 + * tracing: Fix race in snapshot swapping + - LP: #1164714 + * cifs: delay super block destruction until all cifsFileInfo objects are + gone + - LP: #1164714 + * drm/i915: restrict kernel address leak in debugfs + - LP: #1164714 + * drm/i915: bounds check execbuffer relocation count + - LP: #1164714 + - CVE-2013-0913 + * tracing: Fix free of probe entry by calling call_rcu_sched() + - LP: #1164714 + * tracing: Keep overwrite in sync between regular and snapshot buffers + - LP: #1164714 + * USB: xhci: correctly enable interrupts + - LP: #1164714 + * usb-storage: add unusual_devs entry for Samsung YP-Z3 mp3 player + - LP: #1164714 + * drm/radeon: fix backend map setup on 1 RB trinity boards + - LP: #1164714 + * drm/radeon/benchmark: make sure bo blit copy exists before using it + - LP: #1164714 + * drm/radeon: add support for Richland APUs + - LP: #1164714 + * drm/radeon: add Richland pci ids + - LP: #1164714 + * ALSA: hda/cirrus - Fix the digital beep registration + - LP: #1164714 + * USB: xhci - fix bit definitions for IMAN register + - LP: #1164714 + * x86-64: Fix the failure case in copy_user_handle_tail() + - LP: #1164714 + * target/iscsi: Fix mutual CHAP auth on big-endian arches + - LP: #1164714 + * target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os + - LP: #1164714 + * ALSA: snd-usb: mixer: propagate errors up the call chain + - LP: #1164714 + * ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() + - LP: #1164714 + * ext4: fix data=journal fast mount/umount hang + - LP: #1164714 + * ALSA: hda - Fix typo in checking IEC958 emphasis bit + - LP: #1164714 + * usb: gadget: udc-core: fix a regression during gadget driver unbinding + - LP: #1164714 + * usb: gadget: ffs: fix enable multiple instances + - LP: #1164714 + * dm thin: fix discard corruption + - LP: #1164714 + * dm verity: avoid deadlock + - LP: #1164714 + * drm/mgag200: Bug fix: Modified pll algorithm for EH project + - LP: #1164714 + * cifs: ignore everything in SPNEGO blob after mechTypes + - LP: #1164714 + * USB: cdc-acm: fix device unregistration + - LP: #1164714 + * USB: garmin_gps: fix memory leak on disconnect + - LP: #1164714 + * USB: io_ti: fix get_icount for two port adapters + - LP: #1164714 + * USB: serial: fix interface refcounting + - LP: #1164714 + * i2c: tegra: check the clk_prepare_enable() return value + - LP: #1164714 + * mm/hugetlb: fix total hugetlbfs pages count when using memory + overcommit accouting + - LP: #1164714 + * drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR + - LP: #1164714 + * KMS: fix EDID detailed timing vsync parsing + - LP: #1164714 + * KMS: fix EDID detailed timing frame rate + - LP: #1164714 + * tg3: 5715 does not link up when autoneg off + - LP: #1164714 + * sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline + option + - LP: #1164714 + * sfc: Disable VF queues during register self-test + - LP: #1164714 + * sfc: Really disable flow control while flushing + - LP: #1164714 + * sfc: Convert firmware subtypes to native byte order in + efx_mcdi_get_board_cfg() + - LP: #1164714 + * sfc: Add parentheses around use of bitfield macro arguments + - LP: #1164714 + * sfc: Fix MCDI structure field lookup + - LP: #1164714 + * sfc: Avoid generating over-length MC_CMD_FLUSH_RX_QUEUES request + - LP: #1164714 + * sfc: Work-around flush timeout when flushes have completed + - LP: #1164714 + * sfc: lock TX queues when calling netif_device_detach() + - LP: #1164714 + * sfc: Correctly initialise reset_method in siena_test_chip() + - LP: #1164714 + * sfc: Fix timekeeping in efx_mcdi_poll() + - LP: #1164714 + * sfc: Properly sync RX DMA buffer when it is not the last in the page + - LP: #1164714 + * sfc: Fix efx_rx_buf_offset() in the presence of swiotlb + - LP: #1164714 + * sfc: Correct efx_rx_buffer::page_offset when EFX_PAGE_IP_ALIGN != 0 + - LP: #1164714 + * sfc: Detach net device when stopping queues for reconfiguration + - LP: #1164714 + * sfc: Only use TX push if a single descriptor is to be written + - LP: #1164714 + * sfc: Disable soft interrupt handling during efx_device_detach_sync() + - LP: #1164714 + * sctp: don't break the loop while meeting the active_path so as to find + the matched transport + - LP: #1164714 + * netconsole: don't call __netpoll_cleanup() while atomic + - LP: #1164714 + * net/ipv4: Ensure that location of timestamp option is stored + - LP: #1164714 + * bonding: don't call update_speed_duplex() under spinlocks + - LP: #1164714 + * sctp: Use correct sideffect command in duplicate cookie handling + - LP: #1164714 + * ipv4: fix definition of FIB_TABLE_HASHSZ + - LP: #1164714 + * rtnetlink: Mask the rta_type when range checking + - LP: #1164714 + * tcp: fix skb_availroom() + - LP: #1164714 + * inet: limit length of fragment queue hash table bucket lists + - LP: #1164714 + * bnx2x: fix occasional statistics off-by-4GB error + - LP: #1164714 + * signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear + sa_restorer + - LP: #1164714 + * kernel/signal.c: use __ARCH_HAS_SA_RESTORER instead of SA_RESTORER + - LP: #1164714 + * vfs,proc: guarantee unique inodes in /proc + - LP: #1164714 + * Linux 3.5.7.9 + - LP: #1164714 + * KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME + (CVE-2013-1796) + - LP: #1158254 + - CVE-2013-1796 + * KVM: Fix bounds checking in ioapic indirect register reads + (CVE-2013-1798) + - LP: #1158262 + - CVE-2013-1798 + * KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions + (CVE-2013-1797) + - LP: #1158258 + - CVE-2013-1797 + * drm/i915: "Flush Me Harder" required on gen6+ + - LP: #1140716 + * drm/i915: PIPE_CONTROL_TLB_INVALIDATE + - LP: #1140716 + * drm/i915: Apply post-sync write for pipe control invalidates + - LP: #1140716 + * drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op v3 + - LP: #1140716 + * drm/i915: PIPE_CONTROL TLB invalidate requires CS stall + - LP: #1140716 + + -- Steve Conklin Tue, 09 Apr 2013 11:43:02 -0500 + +linux (3.5.0-27.46) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1159991 + + [ Steve Conklin ] + + * Start New Release + + [ Upstream Kernel Changes ] + + * crypto: user - fix info leaks in report API + - LP: #1156790, #1156795, #1156799 + - CVE-2013-2546 + * brcmsmac: fix mismatch in number of custom regulatory rules + - LP: #1156769 + + [ Xiangliang Yu ] + + * SAUCE: PCI: define macro for marvell vendor ID + - LP: #1159863 + * SAUCE: PCI: fix system hang issue of Marvell SATA host controller + - LP: #1159863 + + -- Steve Conklin Mon, 25 Mar 2013 14:32:06 -0500 + +linux (3.5.0-27.45) quantal-proposed; urgency=low + + [Steve Conklin] + + * no change + + -- Steve Conklin Tue, 19 Mar 2013 15:26:20 -0500 + +linux (3.5.0-27.44) quantal-proposed; urgency=low + + [Steve Conklin] + + * no change + + -- Steve Conklin Tue, 19 Mar 2013 10:26:04 -0500 + +linux (3.5.0-27.43) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1157270 + + [ Adam Lee ] + + * SAUCE: Bluetooth: Add support for 04ca:2007 + - LP: #1153448 + + [ Andy Whitcroft ] + + * [Config] re-disable CONFIG_SOUND_OSS_PRECLAIM + - LP: #1105230 + + [ Brad Figg ] + + * Start new release + + [ Kamal Mostafa ] + + * SAUCE: alx: use github.com/qca/alx repo + - LP: #1154238 + + [ Luis Henriques ] + + * [Config] CONFIG_NFS_V4_1=y + - LP: #1111416 + + [ Qualcomm Atheros, Inc ] + + * SAUCE: alx: Update to heads/master + - LP: #1154238 + + [ Upstream Kernel Changes ] + + * Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S" + - LP: #1144961 + * genirq: Avoid deadlock in spurious handling + - LP: #1144961 + * KVM: s390: Handle hosts not supporting s390-virtio. + - LP: #1144961 + * v4l: Reset subdev v4l2_dev field to NULL if registration fails + - LP: #1144961 + * powerpc/eeh: Fix crash when adding a device in a slot with DDW + - LP: #1144961 + * pcmcia/vrc4171: Add missing spinlock init + - LP: #1144961 + * USB: DWC3: Generate interrupt on each TRB as default option + - LP: #1144961 + * usb: dwc3: gadget: fix skip LINK_TRB on ISOC + - LP: #1144961 + * usb: dwc3: gadget: req->queued must be forced to false in cleanup + - LP: #1144961 + * Purge existing TLB entries in set_pte_at and ptep_set_wrprotect + - LP: #1144961 + * ARM: PXA3xx: program the CSMSADRCFG register + - LP: #1144961 + * ab8500-chargalg: Only root should have write permission on sysfs file + - LP: #1144961 + * USB: option: add and update Alcatel modems + - LP: #1144961 + * uprobes/powerpc: Add dependency on single step emulation + - LP: #1144961 + * drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp + - LP: #1144961 + * s390/kvm: Fix store status for ACRS/FPRS + - LP: #1144961 + * staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors + - LP: #1144961 + * ALSA: usb-audio: fix Roland A-PRO support + - LP: #1144961 + * x86-32, mm: Rip out x86_32 NUMA remapping code + - LP: #1144961 + * x86-32, mm: Remove reference to resume_map_numa_kva() + - LP: #1144961 + * x86-32, mm: Remove reference to alloc_remap() + - LP: #1144961 + * ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open() + - LP: #1144961 + * ab8500_btemp: Demote initcall sequence + - LP: #1144961 + * Driver core: treat unregistered bus_types as having no devices + - LP: #1144961 + * ALSA: aloop: Fix Oops while PM resume + - LP: #1144961 + * ASoC: wm2200: correct IN2L and IN3L digital mute + - LP: #1144961 + * tty: set_termios/set_termiox should not return -EINTR + - LP: #1144961 + * ARM: i.MX25: clk: parent per5_clk to AHB clock + - LP: #1144961 + * hrtimer: Prevent hrtimer_enqueue_reprogram race + - LP: #1144961 + * staging: comedi: check s->async for poll(), read() and write() + - LP: #1144961 + * ACPI: Add DMI entry for Sony VGN-FW41E_H + - LP: #1144961 + * timeconst.pl: Eliminate Perl warning + - LP: #1144961 + * p54usb: corrected USB ID for T-Com Sinus 154 data II + - LP: #1144961 + * rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id + - LP: #1144961 + * rtlwifi: rtl8192cu: Add new USB ID + - LP: #1144961 + * USB: storage: properly handle the endian issues of idProduct + - LP: #1144961 + * ALSA: rme32.c irq enabling after spin_lock_irq + - LP: #1144961 + * ALSA: ali5451: remove irq enabling in pointer callback + - LP: #1144961 + * ARM: 7643/1: sched: correct update_sched_clock() + - LP: #1144961 + * ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with + ALC889 + - LP: #1144961 + * x86: Hyper-V: register clocksource only if its advertised + - LP: #1144961 + * USB: option: add Yota / Megafon M100-1 4g modem + - LP: #1144961 + * USB: serial: fix null-pointer dereferences on disconnect + - LP: #1144961 + * idr: idr_for_each_entry() macro + - LP: #1144961 + * pps: Add pps_lookup_dev() function + - LP: #1144961 + * pps: Use pps_lookup_dev to reduce ldisc coupling + - LP: #1144961 + * pps: Fix a use-after free bug when unregistering a source. + - LP: #1144961 + * USB: option: add Huawei "ACM" devices using protocol = vendor + - LP: #1144961 + * ARM: samsung: fix assembly syntax for new gas + - LP: #1144961 + * USB: ehci-omap: Don't free gpios that we didn't request + - LP: #1144961 + * USB: ehci-omap: Fix autoloading of module + - LP: #1144961 + * USB: usb-storage: unusual_devs update for Super TOP SATA bridge + - LP: #1144961 + * perf tools: Fix build with bison 2.3 and older. + - LP: #1144961 + * serial: imx: Fix recursive locking bug + - LP: #1144961 + * posix-cpu-timers: Fix nanosleep task_struct leak + - LP: #1144961 + * drivercore: Fix ordering between deferred_probe and exiting initcalls + - LP: #1144961 + * NFSv4.1: Don't decode skipped layoutgets + - LP: #1144961 + * umount oops when remove blocklayoutdriver first + - LP: #1144961 + * HID: wiimote: fix nunchuck button parser + - LP: #1144961 + * cgroup: fix exit() vs rmdir() race + - LP: #1144961 + * cpuset: fix cpuset_print_task_mems_allowed() vs rename() race + - LP: #1144961 + * rtlwifi: usb: allocate URB control message setup_packet and data buffer + separately + - LP: #1144961 + * b43: Increase number of RX DMA slots + - LP: #1144961 + * futex: Revert "futex: Mark get_robust_list as deprecated" + - LP: #1144961 + * NLM: Ensure that we resend all pending blocking locks after a reclaim + - LP: #1144961 + * ALSA: hda - hdmi: ELD shouldn't be valid after unplug + - LP: #1144961 + * xen: close evtchn port if binding to irq fails + - LP: #1144961 + * xen: Send spinlock IPI to all waiters + - LP: #1011792, #1144961 + * ALSA: usb: Fix Processing Unit Descriptor parsers + - LP: #1144961 + * inotify: remove broken mask checks causing unmount to be EINVAL + - LP: #1144961 + * fs/block_dev.c: page cache wrongly left invalidated after + revalidate_disk() + - LP: #1144961 + * ocfs2: unlock super lock if lockres refresh failed + - LP: #1144961 + * drivers/video/backlight/adp88?0_bl.c: fix resume + - LP: #1144961 + * powerpc/kexec: Disable hard IRQ before kexec + - LP: #1144961 + * mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may + safely schedule + - LP: #1144961 + * mm: mmu_notifier: make the mmu_notifier srcu static + - LP: #1144961 + * mmu_notifier_unregister NULL Pointer deref and multiple ->release() + callouts + - LP: #1144961 + * mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to + discard all pages + - LP: #1144961 + * tmpfs: fix use-after-free of mempolicy object + - LP: #1144961 + * dca: check against empty dca_domains list before unregister provider + - LP: #1144961 + * ext4: return ENOMEM if sb_getblk() fails + - LP: #1144961 + * ext4: check bh in ext4_read_block_bitmap() + - LP: #1144961 + * quota: autoload the quota_v2 module for QFMT_VFS_V1 quota format + - LP: #1144961 + * ext4: fix possible use-after-free with AIO + - LP: #1144961 + * drm/i915: Fix CAGF for HSW + - LP: #1144961 + * ext4: fix race in ext4_mb_add_n_trim() + - LP: #1144961 + * UBIFS: fix use of freed ubifs_orphan objects + - LP: #1144961 + * UBIFS: fix double free of ubifs_orphan objects + - LP: #1144961 + * drm/radeon/dce6: fix display powergating + - LP: #1144961 + * vgacon/vt: clear buffer attributes when we load a 512 character font + (v2) + - LP: #1144961 + * fbcon: don't lose the console font across generic->chip driver switch + - LP: #1144961 + * drm/usb: bind driver to correct device + - LP: #1144961 + * drm/udl: make usage as a console safer + - LP: #1144961 + * drm/udl: disable fb_defio by default + - LP: #1144961 + * fb: rework locking to fix lock ordering on takeover + - LP: #1144961 + * fb: Yet another band-aid for fixing lockdep mess + - LP: #1144961 + * ext4: fix xattr block allocation/release with bigalloc + - LP: #1144961 + * target: Fix lookup of dynamic NodeACLs during cached demo-mode + operation + - LP: #1144961 + * target: Add missing mapped_lun bounds checking during make_mappedlun + setup + - LP: #1144961 + * ftrace: Call ftrace cleanup module notifier after all other notifiers + - LP: #1144961 + * drm: don't add inferred modes for monitors that don't support them + - LP: #1144961 + * drm/i915: disable shared panel fitter for pipe + - LP: #1144961 + * drm: Fill depth/bits_per_pixel for C8 format + - LP: #1144961 + * drm: Use C8 instead of RGB332 when determining the format from + depth/bpp + - LP: #1144961 + * drm/i915: add missing \n to UTS_RELEASE in the error_state + - LP: #1144961 + * drm/i915: Set i9xx sdvo clock limits according to specifications + - LP: #1144961 + * drm/i915: inverted brightness quirk for Acer Aspire 4736Z + - LP: #1144961 + * intel/iommu: force writebuffer-flush quirk on Gen 4 Chipsets + - LP: #1144961 + * drm/radeon: remove overzealous warning in hdmi handling + - LP: #1144961 + * x86, efi: Make "noefi" really disable EFI runtime serivces + - LP: #1144961 + * posix-timer: Don't call idr_find() with out-of-range ID + - LP: #1144961 + * ext4: fix free clusters calculation in bigalloc filesystem + - LP: #1144961 + * fs: Fix possible use-after-free with AIO + - LP: #1144961 + * mmc: sdhci-esdhc-imx: fix host version read + - LP: #1144961 + * b43: Fix lockdep splat on module unload + - LP: #1144961 + * ocfs2: fix possible use-after-free with AIO + - LP: #1144961 + * x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS. + - LP: #1144961 + * igb: Remove artificial restriction on RQDPC stat reading + - LP: #1144961 + * ptrace/x86: Introduce set_task_blockstep() helper + - LP: #1144961 + * ptrace/x86: Partly fix set_task_blockstep()->update_debugctlmsr() logic + - LP: #1144961 + * sunvdc: Fix off-by-one in generic_request(). + - LP: #1144961 + * sparc64: Fix gfp_flags setting in tsb_grow(). + - LP: #1144961 + * bridge: set priority of STP packets + - LP: #1144961 + * xen-netback: correctly return errors from netbk_count_requests() + - LP: #1144961 + * xen-netback: cancel the credit timer when taking the vif down + - LP: #1144961 + * net: fix a compile error when SOCK_REFCNT_DEBUG is enabled + - LP: #1144961 + * ipv4: fix a bug in ping_err(). + - LP: #1144961 + * ipv6: use a stronger hash for tcp + - LP: #1144961 + * ARM: 7635/1: versatile: fix the PCI IRQ regression + - LP: #1144961 + * staging: vt6656: Fix URB submitted while active warning. + - LP: #1144961 + * vlan: adjust vlan_set_encap_proto() for its callers + - LP: #1144961 + * gpio/ich: Add missing spinlock init + - LP: #1144961 + * staging: comedi: ni_labpc: set up command4 register *after* command3 + - LP: #1144961 + * staging: comedi: ni_labpc: correct differential channel sequence for AI + commands + - LP: #1144961 + * tty: Prevent deadlock in n_gsm driver + - LP: #1144961 + * Linux 3.5.7.7 + - LP: #1144961 + * i915_hsw: don't send DP "idle" pattern before "normal" on HSW PORT_A + - LP: #1138700 + * mfd: rtsx: Optimize card detect flow + - LP: #1148892 + * mfd: rtsx: Fix issue that booting OS with SD card inserted + - LP: #1148892 + * drm/radeon: add new AMD ACPI header and update relevant code (v2) + - LP: #1110219 + * drm/radeon: add a license header to radeon_apci.c + - LP: #1110219 + * drm/radeon: track whether the GPU controls the backlight (v2) + - LP: #1110219 + * drm/radeon: rework legacy backlight control + - LP: #1110219 + * drm/radeon: add backlight control for atom devices (v2) + - LP: #1110219 + * drm/radeon: refactor radeon_atif_call + - LP: #1110219 + * drm/radeon: implement radeon_atif_verify_interface + - LP: #1110219 + * drm/radeon: implement wrapper for GET_SYSTEM_PARAMS + - LP: #1110219 + * drm/radeon: implement handler for ACPI event + - LP: #1110219 + * drm/radeon: re-organize the acpi notifier callback + - LP: #1110219 + * ACPI video: allow events handlers to veto the keypress + - LP: #1110219 + * drm/radeon: block the keypress on ATIF events + - LP: #1110219 + * keys: fix race with concurrent install_user_keyrings() + - LP: #1152788 + - CVE-2013-1792 + * mfd: rtsx: Add clock divider hook + - LP: #1153618 + * mfd: rtsx: Implement driving adjustment to device-dependent callbacks + - LP: #1153618 + * mfd: rtsx: Support RTS5227 + - LP: #1153618 + * mmc: rtsx: remove driving adjustment + - LP: #1153618 + * x86/apic: Remove noisy zero-mask warning from + default_send_IPI_mask_logical() + - LP: #1100202 + * signal: always clear sa_restorer on execve + - LP: #1153813 + - CVE-2013-0914 + + -- Steve Conklin Mon, 18 Mar 2013 13:39:54 -0500 + +linux (3.5.0-26.42) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1152715 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094, #1147678 + + -- Steve Conklin Fri, 08 Mar 2013 12:50:52 -0600 + +linux (3.5.0-26.42) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1152715 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094, #1147678 + + -- Steve Conklin Fri, 08 Mar 2013 12:50:52 -0600 + +linux (3.5.0-26.40) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1133429 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094 + + [ Ian Campbell ] + + * SAUCE: xen/netback: shutdown the ring if it contains garbage. + - LP: #1117325 + - CVE-2013-0216 + * SAUCE: netback: correct netbk_tx_err to handle wrap around. + - LP: #1117325 + - CVE-2013-0216 + * SAUCE: xen/netback: don't leak pages on failure in + xen_netbk_tx_check_gop. + - LP: #1117331 + - CVE-2013-0217 + * SAUCE: xen/netback: free already allocated memory on failure in + xen_netbk_get_requests + - LP: #1117331 + - CVE-2013-0217 + + [ Jan Beulich ] + + * SAUCE: xen-pciback: rate limit error messages from + xen_pcibk_enable_msi{, x}() + - LP: #1117336 + - CVE-2013-0231 + + [ Tim Gardner ] + + * [Config] CONFIG_SATA_AHCI=m + - LP: #1056563 + * SAUCE: rt2x00: rt2x00pci_regbusy_read() - only print register access + failure once + - LP: #1128840 + + [ Upstream Kernel Changes ] + + * Revert "USB: Handle warm reset failure on empty port." + - LP: #1131944 + * xen: Fix stack corruption in xen_failsafe_callback for 32bit PVOPS + guests. + - LP: #1102374 + - CVE-2013-0190 + * virtio-blk: Don't free ida when disk is in use + - LP: #1119885 + * ioat: Fix DMA memory sync direction correct flag + - LP: #1119885 + * PCI: pciehp: Use per-slot workqueues to avoid deadlock + - LP: #1119885 + * PCI/AER: pci_get_domain_bus_and_slot() call missing required + pci_dev_put() + - LP: #1119885 + * xen/grant-table: correctly initialize grant table version 1 + - LP: #1119885 + * serial:ifx6x60:Delete SPI timer when shut down port + - LP: #1119885 + * tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler + - LP: #1119885 + * drm/i915: Invalidate the relocation presumed_offsets along the slow + path + - LP: #1119885 + * ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone + - LP: #1119885 + * staging: vt6656: Fix inconsistent structure packing + - LP: #1119885 + * 8250/16?50: Add support for Broadcom TruManage redirected serial port + - LP: #1119885 + * KVM: PPC: Emulate dcbf + - LP: #1119885 + * staging: wlan-ng: Fix clamping of returned SSID length + - LP: #1119885 + * USB: option: blacklist network interface on ONDA MT8205 4G LTE + - LP: #1119885 + * USB: option: add TP-LINK HSUPA Modem MA180 + - LP: #1119885 + * ALSA: hda - Fix mute led for another HP machine + - LP: #1096789, #1119885 + * usb: dwc3: gadget: fix ep->maxburst for ep0 + - LP: #1119885 + * ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled + - LP: #1119885 + * ACPI / processor: Get power info before updating the C-states + - LP: #1119885 + * ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with + sparsemem + - LP: #1119885 + * evm: checking if removexattr is not a NULL + - LP: #1119885 + * ALSA: hda - Add Conexant CX20755/20756/20757 codec IDs + - LP: #1119885 + * ftrace: Be first to run code modification on modules + - LP: #1119885 + * i2c: mxs: Fix type of error code + - LP: #1119885 + * USB: UHCI: fix IRQ race during initialization + - LP: #1119885 + * async: fix __lowest_in_progress() + - LP: #1119885 + * fs/cifs/cifs_dfs_ref.c: fix potential memory leakage + - LP: #1119885 + * ARM: at91: rm9200: remake the BGA as default version + - LP: #1119885 + * Bluetooth: Fix sending HCI commands after reset + - LP: #1119885 + * Bluetooth: Fix incorrect strncpy() in hidp_setup_hid() + - LP: #1119885 + * ath9k_htc: Fix memory leak + - LP: #1119885 + * ath9k: do not link receive buffers during flush + - LP: #1119885 + * ath9k: add a better fix for the rx tasklet vs rx flush race + - LP: #1119885 + * ath9k: fix rx flush handling + - LP: #1119885 + * brcmsmac: increase timer reference count for new timers only + - LP: #1119885 + * ath9k: remove sc->rx.rxbuflock to fix a deadlock + - LP: #1119885 + * ath9k: disable the tasklet before taking the PCU lock + - LP: #1119885 + * ASoC: wm2200: correct mixer values and text + - LP: #1119885 + * mac80211: fix FT roaming + - LP: #1119885 + * mac80211: synchronize scan off/on-channel and PS states + - LP: #1119885 + * efi, x86: Pass a proper identity mapping in efi_call_phys_prelog + - LP: #1119885 + * iwlegacy: fix IBSS cleanup + - LP: #1119885 + * ath9k_hw: fix calibration issues on chainmask that don't include chain + 0 + - LP: #1119885 + * ath9k_hw: fix chain swap setting when setting rx chainmask to 5 + - LP: #1119885 + * mwifiex: fix typo in PCIe adapter NULL check + - LP: #1119885 + * drm/i915: Disable AsyncFlip performance optimisations + - LP: #1119885 + * drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for scanline + waits + - LP: #1119885 + * iommu/intel: disable DMAR for g4x integrated gfx + - LP: #1119885 + * drm/i915: dump UTS_RELEASE into the error_state + - LP: #1119885 + * ALSA: hda - Add a fixup for Packard-Bell desktop with ALC880 + - LP: #1119885 + * drm/radeon: fix cursor corruption on DCE6 and newer + - LP: #1119885 + * radeon_display: Use pointer return error codes + - LP: #1119885 + * drm/radeon: fix error path in kpage allocation + - LP: #1119885 + * drm/radeon: fix a rare case of double kfree + - LP: #1119885 + * x86/msr: Add capabilities check + - LP: #1119885 + * x86, efi: Set runtime_version to the EFI spec revision + - LP: #1119885 + * can: c_can: fix invalid error codes + - LP: #1119885 + * can: ti_hecc: fix invalid error codes + - LP: #1119885 + * can: pch_can: fix invalid error codes + - LP: #1119885 + * ALSA: usb-audio: fix invalid length check for RME and other UAC 2 + devices + - LP: #1119885 + * smp: Fix SMP function call empty cpu mask race + - LP: #1119885 + * IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround + - LP: #1119885 + * xfs: Fix possible use-after-free with AIO + - LP: #1119885 + * powerpc/book3e: Disable interrupt after preempt_schedule_irq + - LP: #1119885 + * ALSA: hda - Fix non-snoop page handling + - LP: #1119885 + * EDAC: Test correct variable in ->store function + - LP: #1119885 + * NFS: Fix error reporting in nfs_xdev_mount + - LP: #1119885 + * NFS: Don't silently fail setattr() requests on mountpoints + - LP: #1119885 + * NFSv4.1: Handle NFS4ERR_DELAY when resetting the NFSv4.1 session + - LP: #1119885 + * drivers/firmware/dmi_scan.c: check dmi version when get system uuid + - LP: #1119885 + * drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists + - LP: #1119885 + * ahci: Add support for Enmotus Bobcat device. + - LP: #1119885 + * ahci: Fix lack of command retry after a success error handler. + - LP: #1119885 + * x86/Sandy Bridge: mark arrays in __init functions as __initconst + - LP: #1119885 + * x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI + - LP: #1119885 + * drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled + - LP: #1119885 + * ahci: Add identifiers for ASM106x devices + - LP: #1119885 + * module: fix symbol waiting when module fails before init + - LP: #1119885 + * module: wait when loading a module which is currently initializing. + - LP: #1119885 + * module: add new state MODULE_STATE_UNFORMED. + - LP: #1119885 + * module: put modules in list much earlier. + - LP: #1119885 + * module: fix missing module_mutex unlock + - LP: #1119885 + * intel_idle: Don't register CPU notifier if we are not running. + - LP: #1119885 + * xfs: fix periodic log flushing + - LP: #1119885 + * gspca_kinect: add Kinect for Windows USB id + - LP: #1119885 + * ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area + - LP: #1119885 + * Linux 3.5.7.5 + - LP: #1119885 + * net: fix infinite loop in __skb_recv_datagram() + - LP: #1129184 + - CVE-2013-0290 + * vhost: fix length for cross region descriptor + - LP: #1130951 + - CVE-2013-0311 + * xhci: Fix isoc TD encoding. + - LP: #1131944 + * xhci: Fix TD size for isochronous URBs. + - LP: #1131944 + * drivers: xhci: fix incorrect bit test + - LP: #1131944 + * USB: XHCI: fix memory leak of URB-private data + - LP: #1131944 + * usb: Prevent dead ports when xhci is not enabled + - LP: #1131944 + * usb: Using correct way to clear usb3.0 device's remote wakeup feature. + - LP: #1131944 + * sched/rt: Use root_domain of rt_rq not current processor + - LP: #1131944 + * USB: EHCI: fix timer bug affecting port resume + - LP: #1131944 + * regulator: max8998: fix incorrect min_uV value for ldo10 + - LP: #1131944 + * drm/radeon: fix MC blackout on evergreen+ + - LP: #1131944 + * drm/radeon: add WAIT_UNTIL to the non-VM safe regs list for cayman/TN + - LP: #1131944 + * rtlwifi: Fix the usage of the wrong variable in usb.c + - LP: #1131944 + * e1000e: enable ECC on I217/I218 to catch packet buffer memory errors + - LP: #1131944 + * drm/radeon: add quirk for RV100 board + - LP: #1131944 + * USB: qcserial: add Telit Gobi QDL device + - LP: #1131944 + * USB: option: add support for Telit LE920 + - LP: #1131944 + * drm/radeon: fix backend map setup on 1 RB sumo boards + - LP: #1131944 + * drm/radeon: protect against div by 0 in backend setup + - LP: #1131944 + * mwifiex: fix incomplete scan in case of IE parsing error + - LP: #1131944 + * USB: EHCI: fix bug in scheduling periodic split transfers + - LP: #1131944 + * x86-64: Replace left over sti/cli in ia32 audit exit code + - LP: #1131944 + * drm/radeon/evergreen+: wait for the MC to settle after MC blackout + - LP: #1131944 + * Bluetooth: Fix handling of unexpected SMP PDUs + - LP: #1131944 + * drm/radeon: Calling object_unrefer() when creating fb failure + - LP: #1131944 + * drm/radeon: prevent crash in the ring space allocation + - LP: #1131944 + * target: Fix divide by zero bug in fabric_max_sectors for unconfigured + devices + - LP: #1131944 + * digsig: Fix memory leakage in digsig_verify_rsa() + - LP: #1131944 + * can: c_can: Set reserved bit in IFx_MASK2 to 1 on write + - LP: #1131944 + * USB: ftdi_sio: add PID/VID entries for ELV WS 300 PC II + - LP: #1131944 + * USB: option: add Changhong CH690 + - LP: #1131944 + * USB: ftdi_sio: add Zolix FTDI PID + - LP: #1131944 + * USB: storage: Define a new macro for USB storage match rules + - LP: #1131944 + * USB: storage: optimize to match the Huawei USB storage devices and + support new switch command + - LP: #1131944 + * rtlwifi: Fix scheduling while atomic bug + - LP: #1131944 + * nilfs2: fix fix very long mount time issue + - LP: #1131944 + * mm/hugetlb: set PTE as huge in hugetlb_change_protection and + remove_migration_pte + - LP: #1131944 + * drivers/rtc/rtc-isl1208.c: call rtc_update_irq() from the alarm irq + handler + - LP: #1131944 + * drivers/rtc/rtc-pl031.c: fix the missing operation on enable + - LP: #1131944 + * virtio_console: Don't access uninitialized data. + - LP: #1131944 + * HID: usbhid: quirk for Formosa IR receiver + - LP: #1131944 + * kernel/resource.c: fix stack overflow in __reserve_region_with_split() + - LP: #1131944 + * net: prevent setting ttl=0 via IP_TTL + - LP: #1131944 + * ipv6: fix the noflags test in addrconf_get_prefix_route + - LP: #1131944 + * MAINTAINERS: Stephen Hemminger email change + - LP: #1131944 + * ipv6: fix header length calculation in ip6_append_data() + - LP: #1131944 + * macvlan: fix macvlan_get_size() + - LP: #1131944 + * net: calxedaxgmac: throw away overrun frames + - LP: #1131944 + * net/mlx4_en: Fix bridged vSwitch configuration for non SRIOV mode + - LP: #1131944 + * net/mlx4_core: Set number of msix vectors under SRIOV mode to firmware + defaults + - LP: #1131944 + * isdn/gigaset: fix zero size border case in debug dump + - LP: #1131944 + * netxen: fix off by one bug in netxen_release_tx_buffer() + - LP: #1131944 + * r8169: remove the obsolete and incorrect AMD workaround + - LP: #1131944 + * net: loopback: fix a dst refcounting issue + - LP: #1131944 + * pktgen: correctly handle failures when adding a device + - LP: #1131944 + * ipv6: do not create neighbor entries for local delivery + - LP: #1131944 + * via-rhine: Fix bugs in NAPI support. + - LP: #1131944 + * packet: fix leakage of tx_ring memory + - LP: #1131944 + * atm/iphase: rename fregt_t -> ffreg_t + - LP: #1131944 + * sctp: refactor sctp_outq_teardown to insure proper re-initalization + - LP: #1131944 + * net: sctp: sctp_setsockopt_auth_key: use kzfree instead of kfree + - LP: #1131944 + * net: sctp: sctp_endpoint_free: zero out secret key data + - LP: #1131944 + * tcp: frto should not set snd_cwnd to 0 + - LP: #1131944 + * tcp: fix for zero packets_in_flight was too broad + - LP: #1131944 + * tg3: Avoid null pointer dereference in tg3_interrupt in netconsole mode + - LP: #1131944 + * tg3: Fix crc errors on jumbo frame receive + - LP: #1131944 + * s390/timer: avoid overflow when programming clock comparator + - LP: #1131944 + * x86: Do not leak kernel page mapping locations + - LP: #1131944 + * x86/apic: Work around boot failure on HP ProLiant DL980 G7 Server + systems + - LP: #1131944 + * drivers/rtc/rtc-pl031.c: restore ST variant functionality + - LP: #1131944 + * mm: don't overwrite mm->def_flags in do_mlockall() + - LP: #1131944 + * x86/mm: Check if PUD is large when validating a kernel address + - LP: #1131944 + * PCI/PM: Clean up PME state when removing a device + - LP: #1131944 + * efi: Clear EFI_RUNTIME_SERVICES rather than EFI_BOOT by "noefi" boot + parameter + - LP: #1131944 + * mm: fix pageblock bitmap allocation + - LP: #1131944 + * Linux 3.5.7.6 + - LP: #1131944 + + -- Brad Figg Tue, 26 Feb 2013 08:44:21 -0800 + +linux (3.5.0-25.39) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1132885 + + [ Upstream Kernel Changes ] + + * sock_diag: Fix out-of-bounds access to sock_diag_handlers[] + + -- Brad Figg Mon, 25 Feb 2013 09:04:12 -0800 + +linux (3.5.0-25.38) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1129472 + + [ Upstream Kernel Changes ] + + * ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up() + - LP: #1119885, #1129192 + - CVE-2013-0871 + * ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL + - LP: #1119885, #1129192 + - CVE-2013-0871 + * wake_up_process() should be never used to wakeup a TASK_STOPPED/TRACED + task + - LP: #1119885, #1129192 + - CVE-2013-0871 + + -- Luis Henriques Mon, 18 Feb 2013 21:57:04 +0000 + +linux (3.5.0-24.37) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1117492 + + [ Tim Gardner ] + + * [Config] CONFIG_ALX=m for x86 only + - LP: #927782 + + -- Luis Henriques Wed, 06 Feb 2013 17:29:44 +0000 + +linux (3.5.0-24.36) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1116501 + + [ Adam Lee ] + + * [Config] Enable RTSX_PCI modules + - LP: #1057089 + + [ Andy Whitcroft ] + + * [Config] enable various HVC consoles + - LP: #1102206 + + [ Brad Figg ] + + * Revert "SAUCE: samsung-laptop: disable in UEFI mode" + - LP: #1111689 + + [ Herton Ronaldo Krzesinski ] + + * [Config] updateconfigs for 3.5.7.3 stable update + * d-i: Add mellanox ethernet drivers to nic-modules + - LP: #1015339 + + [ Kamal Mostafa ] + + * SAUCE: alx driver import script + - LP: #927782 + + [ Qualcomm Atheros, Inc ] + + * SAUCE: alx: Update to heads/master + - LP: #927782 + + [ Seth Forshee ] + + * SAUCE: samsung-laptop: Add quirk for broken acpi_video backlight on + N250P + - LP: #1086921 + + [ Stefan Bader ] + + * (config) Move 9p modules into generic package + - LP: #1107658 + + [ Tim Gardner ] + + * [debian] Remove dangling symlink from headers package + - LP: #1112442 + * [config] CONFIG_ALX=m + - LP: #927782 + * [Config] Add alx to d-i nic-modules + - LP: #927782 + + [ Upstream Kernel Changes ] + + * Revert "8139cp: revert "set ring address before enabling receiver"" + - LP: #1102417 + * Revert "ath9k_hw: Update AR9003 high_power tx gain table" + - LP: #1102417 + * Revert "drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13" + - LP: #1102417 + * Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat + codecs" + - LP: #1106966, #886975 + * be2net: don't call vid_config() when there's no vlan config + - LP: #1083088 + * be2net: cleanup be_vid_config() + - LP: #1083088 + * be2net: do not modify PCI MaxReadReq size + - LP: #1083088 + * be2net: fix reporting number of actual rx queues + - LP: #1083088 + * be2net: do not use SCRATCHPAD register + - LP: #1083088 + * be2net: Fix driver load for VFs for Lancer + - LP: #1083088 + * be2net: Explicitly clear the reserved field in the Tx Descriptor + - LP: #1083088 + * be2net: Regression bug wherein VFs creation broken for multiple cards. + - LP: #1083088 + * be2net: Fix to trim skb for padded vlan packets to workaround an ASIC + Bug + - LP: #1083088 + * be2net: Fix Endian + - LP: #1083088 + * be2net: Fix error while toggling autoneg of pause parameters + - LP: #1083088 + * be2net : Fix die temperature stat for Lancer + - LP: #1083088 + * be2net: Fix initialization sequence for Lancer + - LP: #1083088 + * be2net: Activate new FW after FW download for Lancer + - LP: #1083088 + * be2net: Fix cleanup path when EQ creation fails + - LP: #1083088 + * be2net: Enable RSS UDP hashing for Lancer and Skyhawk + - LP: #1083088 + * be2net: dont pull too much data in skb linear part + - LP: #1083088 + * be2net: Fix VF driver load for Lancer + - LP: #1083088 + * be2net: Ignore physical link async event for Lancer + - LP: #1083088 + * be2net: Fix to parse RSS hash from Receive completions correctly. + - LP: #1083088 + * netpoll: revert 6bdb7fe3104 and fix be_poll() instead + - LP: #1083088 + * be2net: create RSS rings even in multi-channel configs + - LP: #1083088 + * be2net: fix max VFs reported by HW + - LP: #1083088 + * be2net: fix FW default for VF tx-rate + - LP: #1083088 + * be2net: fixup malloc/free of adapter->pmac_id + - LP: #1083088 + * be2net: fix wrong handling of be_setup() failure in be_probe() + - LP: #1083088 + * be2net: cleanup code related to be_link_status_query() + - LP: #1083088 + * be2net: fix vfs enumeration + - LP: #1083088 + * be2net: Remove code that stops further access to BE NIC based on UE + bits + - LP: #1083088 + * mtip32xx: Add support for new devices + - LP: #1099913 + * mtip32xx: Handle NCQ commands during the security locked state + - LP: #1099913 + * mtip32xx: Increase timeout for standby command + - LP: #1099913 + * mtip32xx: Proper reporting of write protect status on big-endian + - LP: #1099913 + * mtip32xx: Change printk to pr_xxxx + - LP: #1099913 + * mtip32xx: Remove dead code + - LP: #1099913 + * mtip32xx: fix user_buffer check in exec_drive_command + - LP: #1099913 + * mtip32xx:Added appropriate timeout value for secure erase + - LP: #1099913 + * mtip32xx: fix potential crash on SEC_ERASE_UNIT + - LP: #1099913 + * mtip32xx: Fix to make lba address correct in big-endian systems + - LP: #1099913 + * mtip32xx: Fix incorrect mask used for erase mode + - LP: #1099913 + * mtip32xx: fix shift larger than type warning + - LP: #1099913 + * mtip32xx: fix potential NULL pointer dereference in + mtip_timeout_function() + - LP: #1099913 + * mtip32xx: Fix padding issue + - LP: #1099913 + * KVM: PPC: e500: fix allocation size error on g2h_tlb1_map + - LP: #1102417 + * s390/kvm: dont announce RRBM support + - LP: #1102417 + * cgroup: cgroup_subsys->fork() should be called after the task is added + to css_set + - LP: #1102417 + * freezer: add missing mb's to freezer_count() and freezer_should_skip() + - LP: #1102417 + * ath9k_hw: Enable hw PLL power save for AR9462 + - LP: #1102417 + * usb: gadget: tcm_usb_gadget: NULL terminate the FS descriptor list + - LP: #1102417 + * usb: gadget: network: fix bind() error path + - LP: #1102417 + * usb: gadget: midi: free hs descriptors + - LP: #1102417 + * usb: gadget: phonet: free requests in pn_bind()'s error path + - LP: #1102417 + * usb: gadget: uvc: fix error path in uvc_function_bind() + - LP: #1102417 + * x86: hpet: Fix masking of MSI interrupts + - LP: #1102417 + * usb: musb: cppi_dma: export cppi_interrupt() + - LP: #1102417 + * iscsi-target: Fix bug in handling of ExpStatSN ACK during u32 + wrap-around + - LP: #1102417 + * iscsi-target: Always send a response before terminating iSCSI + connection + - LP: #1102417 + * SUNRPC: Fix validity issues with rpc_pipefs sb->s_fs_info + - LP: #1102417 + * ext4: fix memory leak in ext4_xattr_set_acl()'s error path + - LP: #1102417 + * ARM: mm: use pteval_t to represent page protection values + - LP: #1102417 + * perf test: fix a build error on builtin-test + - LP: #1102417 + * USB: fix endpoint-disabling for failed config changes + - LP: #1102417 + * genirq: Always force thread affinity + - LP: #1102417 + * xhci: Fix conditional check in bandwidth calculation. + - LP: #1102417 + * xHCI: Fix TD Size calculation on 1.0 hosts. + - LP: #1102417 + * xhci: fix null-pointer dereference when destroying half-built segment + rings + - LP: #1102417 + * xhci: Extend Fresco Logic MSI quirk. + - LP: #1102417 + * usb: host: xhci: Stricter conditional for Z1 system models for + Compliance Mode Patch + - LP: #1102417 + * Staging: bcm: Add two products and remove an existing product. + - LP: #1102417 + * rcu: Fix batch-limit size problem + - LP: #1102417 + * ext4: init pagevec in ext4_da_block_invalidatepages + - LP: #1102417 + * powerpc: Fix CONFIG_RELOCATABLE=y CONFIG_CRASH_DUMP=n build + - LP: #1102417 + * ftrace: Clear bits properly in reset_iter_read() + - LP: #1102417 + * cdc-acm: implement TIOCSSERIAL to avoid blocking close(2) + - LP: #1102417 + * ACPI / battery: Correct battery capacity values on Thinkpads + - LP: #1102417 + * cgroup: remove incorrect dget/dput() pair in cgroup_create_dir() + - LP: #1102417 + * Bluetooth: Add support for BCM20702A0 [04ca, 2003] + - LP: #1102417 + * Bluetooth: Add support for BCM20702A0 [0b05, 17b5] + - LP: #1102417 + * regulator: wm831x: Set the new rather than old value for DVS VSEL + - LP: #1102417 + * drm: fix documentation for drm_crtc_set_mode() + - LP: #1102417 + * mfd: Only unregister platform devices allocated by the mfd core + - LP: #1102417 + * NFS: Add sequence_priviliged_ops for nfs4_proc_sequence() + - LP: #1102417 + * drm/i915: make the panel fitter work on pipes B and C on IVB + - LP: #1102417 + * USB: add new zte 3g-dongle's pid to option.c + - LP: #1102417 + * ACPI / PM: Add Sony Vaio VPCEB1S1E to nonvs blacklist. + - LP: #1102417 + * mfd: wm8994: Add support for WM1811 rev E + - LP: #1102417 + * 8139cp: set ring address after enabling C+ mode + - LP: #1102417 + * USB: OHCI: workaround for hardware bug: retired TDs not added to the + Done Queue + - LP: #1102417 + * USB: option: blacklist network interface on Huawei E173 + - LP: #1102417 + * USB: cp210x: add Virtenio Preon32 device id + - LP: #1102417 + * usb: ftdi_sio: fixup BeagleBone A5+ quirk + - LP: #1102417 + * USB: ftdi_sio: Add support for Newport AGILIS motor drivers + - LP: #1102417 + * qla2xxx: Look up LUN for abort requests + - LP: #1102417 + * iscsit: use GFP_ATOMIC under spin lock + - LP: #1102417 + * ASoC: wm8994: Use the same DCS codes for all WM1811 variants + - LP: #1102417 + * sata_promise: fix hardreset lockdep error + - LP: #1102417 + * xhci: Add Lynx Point LP to list of Intel switchable hosts + - LP: #1102417 + * USB: mark uas driver as BROKEN + - LP: #1102417 + * can: Do not call dev_put if restart timer is running upon close + - LP: #1102417 + * mlx4_core: Fix potential deadlock in mlx4_eq_int() + - LP: #1102417 + * xfs: fix stray dquot unlock when reclaiming dquots + - LP: #1102417 + * KVM: Fix user memslot overlap check + - LP: #1102417 + * ext4: fix possible use after free with metadata csum + - LP: #1102417 + * prevent stack buffer overflow in host_reset + - LP: #1102417 + * mvsas: fix undefined bit shift + - LP: #1102417 + * qla2xxx: Test and clear FCPORT_UPDATE_NEEDED atomically. + - LP: #1102417 + * ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set + - LP: #1102417 + * ACPI / PNP: Do not crash due to stale pointer use during system resume + - LP: #1102417 + * ring-buffer: Fix NULL pointer if rb_set_head_page() fails + - LP: #1102417 + * firewire: net: Fix handling of fragmented multicast/broadcast packets. + - LP: #1102417 + * HID: Add Apple wireless keyboard 2011 ANSI to special driver list + - LP: #1102417 + * libata: set dma_mode to 0xff in reset + - LP: #1102417 + * s390/cio: fix pgid reserved check + - LP: #1102417 + * Bluetooth: Add missing lock nesting notation + - LP: #1102417 + * Bluetooth: cancel power_on work when unregistering the device + - LP: #1102417 + * Input: wacom - fix touch support for Bamboo Fun CTH-461 + - LP: #1102417 + * ALSA: usb-audio: Avoid autopm calls after disconnection + - LP: #1102417 + * ALSA: usb-audio: Fix missing autopm for MIDI input + - LP: #1102417 + * ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000 + - LP: #1102417 + * mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL + - LP: #1102417 + * Revert: "rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe + fails" + - LP: #1102417 + * x86,AMD: Power driver support for AMD's family 16h processors + - LP: #1102417 + * target/file: Fix 32-bit highmem breakage for SGL -> iovec mapping + - LP: #1102417 + * drm/i915: Close race between processing unpin task and queueing the + flip + - LP: #1102417 + * cgroup_rm_file: don't delete the uncreated files + - LP: #1102417 + * pnpacpi: fix incorrect TEST_ALPHA() test + - LP: #1102417 + * drm/radeon: stop page faults from hanging the system (v2) + - LP: #1102417 + * drm/radeon/dce32+: use fractional fb dividers for high clocks + - LP: #1102417 + * drm/radeon: fix eDP clk and lane setup for scaled modes + - LP: #1102417 + * regmap: debugfs: Avoid overflows for very small reads + - LP: #1102417 + * b43legacy: Fix firmware loading when driver is built into the kernel + - LP: #1102417 + * ath9k: ar9003: fix OTP register offsets for AR9340 + - LP: #1102417 + * bcma: mips: fix clearing device IRQ + - LP: #1102417 + * ath9k_hw: Fix signal strength / channel noise reporting + - LP: #1102417 + * ath5k: fix tx path skb leaks + - LP: #1102417 + * b43: fix tx path skb leaks + - LP: #1102417 + * drm/i915: drop buggy write to FDI_RX_CHICKEN register + - LP: #1102417 + * drm/i915: disable cpt phase pointer fdi rx workaround + - LP: #1102417 + * iwlwifi: silently ignore fw flaws in Tx path + - LP: #1102417 + * iwlwifi: don't handle masked interrupt + - LP: #1102417 + * mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls + - LP: #1102417 + * nfs: don't extend writes to cover entire page if pagecache is invalid + - LP: #1102417 + * solos-pci: fix double-free of TX skb in DMA mode + - LP: #1102417 + * ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522 + - LP: #1102417 + * nfs: don't zero out the rest of the page if we hit the EOF on a DIO + READ + - LP: #1102417 + * drm/radeon: fix amd afusion gpu setup aka sumo v2 + - LP: #1102417 + * NFS: avoid NULL dereference in nfs_destroy_server + - LP: #1102417 + * sbp-target: fix error path in sbp_make_tpg() + - LP: #1102417 + * target/tcm_fc: fix the lockdep warning due to inconsistent lock state + - LP: #1102417 + * MIPS: Fix poweroff failure when HOTPLUG_CPU configured. + - LP: #1102417 + * fix Null pointer dereference on disk error + - LP: #1102417 + * NFS: Fix calls to drop_nlink() + - LP: #1102417 + * Input: walkera0701 - fix crash on startup + - LP: #1102417 + * SUNRPC: continue run over clients list on PipeFS event instead of break + - LP: #1102417 + * proc: pid/status: show all supplementary groups + - LP: #1102417 + * CRIS: fix I/O macros + - LP: #1102417 + * virtio: force vring descriptors to be allocated from lowmem + - LP: #1102417 + * nfs: fix wrong object type in lockowner_slab + - LP: #1102417 + * jffs2: hold erase_completion_lock on exit + - LP: #1102417 + * nfsd: fix v4 reply caching + - LP: #1102417 + * mtd cs553x_nand: Initialise ecc.strength before nand_scan() + - LP: #1102417 + * kbuild: Do not remove vmlinux when cleaning external module + - LP: #1102417 + * ASoC: sigmadsp: Fix endianness conversion issue + - LP: #1102417 + * nfsd: avoid permission checks on EXCLUSIVE_CREATE replay + - LP: #1102417 + * x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptops + - LP: #1102417 + * mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems + - LP: #1102417 + * ALSA: hda - Fix pin configuration of HP Pavilion dv7 + - LP: #1102417 + * ALSA: hda - Always turn on pins for HDMI/DP + - LP: #1102417 + * OMAP: board-files: fix i2c_bus for tfp410 + - LP: #1102417 + * i2400m: add Intel 6150 device IDs + - LP: #1102417 + * ALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup + - LP: #1102417 + * nfsd4: fix oops on unusual readlike compound + - LP: #1102417 + * qmi_wwan/cdc_ether: add Dell Wireless 5800 (Novatel E362) USB IDs + - LP: #1102417 + * ARM: missing ->mmap_sem around find_vma() in swp_emulate.c + - LP: #1102417 + * ARM: 7607/1: realview: fix private peripheral memory base for EB rev. B + boards + - LP: #1102417 + * cifs: don't compare uniqueids in cifs_prime_dcache unless server inode + numbers are in use + - LP: #1102417 + * intel-iommu: Free old page tables before creating superpage + - LP: #1102417 + * vfs: d_obtain_alias() needs to use "/" as default name. + - LP: #1102417 + * mm: fix calculation of dirtyable memory + - LP: #1102417 + * SGI-XP: handle non-fatal traps + - LP: #1102417 + * dm persistent data: rename node to btree_node + - LP: #1102417 + * dm ioctl: prevent unsafe change to dm_ioctl data_size + - LP: #1102417 + * sis900: fix sis900_set_mode call parameters. + - LP: #1102417 + * ne2000: add the right platform device + - LP: #1102417 + * irda: sir_dev: Fix copy/paste typo + - LP: #1102417 + * ipv4: ip_check_defrag must not modify skb before unsharing + - LP: #1102417 + * inet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state + - LP: #1102417 + * inet_diag: validate byte code to prevent oops in inet_diag_bc_run() + - LP: #1102417 + * inet_diag: avoid unsafe and nonsensical prefix matches in + inet_diag_bc_run() + - LP: #1102417 + * inet_diag: validate port comparison byte code to prevent unsafe reads + - LP: #1102417 + * usb/ipheth: Add iPhone 5 support + - LP: #1102417 + * bonding: fix race condition in bonding_store_slaves_active + - LP: #1102417 + * sctp: fix memory leak in sctp_datamsg_from_user() when copy from user + space fails + - LP: #1102417 + * sctp: fix -ENOMEM result with invalid user space pointer in sendto() + syscall + - LP: #1102417 + * udf: fix memory leak while allocating blocks during write + - LP: #1102417 + * udf: don't increment lenExtents while writing to a hole + - LP: #1102417 + * staging: vt6656: [BUG] out of bound array reference in RFbSetPower. + - LP: #1102417 + * staging: vt6656: 64 bit fixes: use u32 for QWORD definition. + - LP: #1102417 + * staging: vt6656: 64 bit fixes : correct all type sizes + - LP: #1102417 + * staging: vt6656: 64 bit fixes: fix long warning messages. + - LP: #1102417 + * staging: vt6656: 64bit fixes: key.c/h change unsigned long to u32 + - LP: #1102417 + * staging: vt6656: 64bit fixes: vCommandTimerWait change calculation of + timer. + - LP: #1102417 + * drm/i915: Flush outstanding unpin tasks before pageflipping + - LP: #1094173, #1102417 + * ext4: fix extent tree corruption caused by hole punch + - LP: #1102417 + * ext4: check dioread_nolock on remount + - LP: #1102417 + * drm/i915: fix flags in dma buf exporting + - LP: #1102417 + * jbd2: fix assertion failure in jbd2_journal_flush() + - LP: #1102417 + * drm/radeon: add WAIT_UNTIL to evergreen VM safe reg list + - LP: #1102417 + * hwmon: (lm73} Detect and report i2c bus errors + - LP: #1102417 + * ext4: do not try to write superblock on ro remount w/o journal + - LP: #1102417 + * PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check) + - LP: #1102417 + * PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz + - LP: #1102417 + * mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED + - LP: #1102417 + * tmpfs mempolicy: fix /proc/mounts corrupting memory + - LP: #1102417 + * epoll: prevent missed events on EPOLL_CTL_MOD + - LP: #1102417 + * drm/i915: add some barriers when changing DIPs + - LP: #1102417 + * drm/i915: make sure we write all the DIP data bytes + - LP: #1102417 + * RDMA/nes: Fix for terminate timer crash + - LP: #1102417 + * RDMA/nes: Fix for crash when registering zero length MR for CQ + - LP: #1102417 + * sparc: huge_ptep_set_* functions need to call set_huge_pte_at() + - LP: #1102417 + * batman-adv: fix random jitter calculation + - LP: #1102417 + * inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and + dccp_v4/6_request_recv_sock + - LP: #1102417 + * net: sched: integer overflow fix + - LP: #1102417 + * tcp: fix MSG_SENDPAGE_NOTLAST logic + - LP: #1102417 + * tcp: implement RFC 5961 3.2 + - LP: #1102417 + * tcp: implement RFC 5961 4.2 + - LP: #1102417 + * tcp: refine SYN handling in tcp_validate_incoming + - LP: #1102417 + * tcp: tcp_replace_ts_recent() should not be called from + tcp_validate_incoming() + - LP: #1102417 + * tcp: RFC 5961 5.2 Blind Data Injection Attack Mitigation + - LP: #1102417 + * ACPI : do not use Lid and Sleep button for S5 wakeup + - LP: #1102417 + * aoe: do not call bdi_init after blk_alloc_queue + - LP: #1102417 + * Input: sentelic - only report position of first finger as ST + coordinates + - LP: #1102417 + * Input: gpio_keys - defer probing if GPIO probing is deferred + - LP: #1102417 + * cifs: adjust sequence number downward after signing NT_CANCEL request + - LP: #1102417 + * rtlwifi: fix incorrect use of usb_alloc_coherent with usb_control_msg + - LP: #1102417 + * p54usb: add USB ID for T-Com Sinus 154 data II + - LP: #1102417 + * ath9k_hw: Fix RX gain initvals for AR9485 + - LP: #1102417 + * p54usb: add USBIDs for two more p54usb devices + - LP: #1102417 + * powerpc/vdso: Remove redundant locking in update_vsyscall_tz() + - LP: #1102417 + * powerpc: Add missing NULL terminator to avoid boot panic on PPC40x + - LP: #1102417 + * drm/radeon: add connector table for Mac G4 Silver + - LP: #1102417 + * drm/radeon: Properly handle DDC probe for DP bridges + - LP: #1102417 + * drm/nouveau: fix init with agpgart-uninorth + - LP: #1102417 + * video: mxsfb: fix crash when unblanking the display + - LP: #1102417 + * nfs: fix null checking in nfs_get_option_str() + - LP: #1102417 + * SUNRPC: Ensure that we free the rpc_task after cleanups are done + - LP: #1102417 + * NFS: Ensure that we free the rpc_task after read and write cleanups are + done + - LP: #1102417 + * ACPI / scan: Do not use dummy HID for system bus ACPI nodes + - LP: #1102417 + * mm: limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT + - LP: #1102417 + * drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield + - LP: #1102417 + * drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct + rtc_time + - LP: #1102417 + * printk: fix incorrect length from print_time() when seconds > 99999 + - LP: #1102417 + * PM: Move disabling/enabling runtime PM to late suspend/early resume + - LP: #1102417 + * signals: sys_ssetmask() uses uninitialized newmask + - LP: #1102417 + * ext4: release buffer in failed path in dx_probe() + - LP: #1102417 + * ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec) + - LP: #1096789, #1102417 + * drm/prime: drop reference on imported dma-buf come from gem + - LP: #1102417 + * i915: ensure that VGA plane is disabled + - LP: #1102417 + * mvsas: Fix oops when ata commond timeout. + - LP: #1102417 + * staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC + - LP: #1102417 + * iscsi-target: Fix CmdSN comparison (use cmd->cmd_sn instead of + cmd->stat_sn) + - LP: #1102417 + * Linux 3.5.7.3 + - LP: #1102417 + * usb: gadget: dummy: fix enumeration with g_multi + - LP: #1106966 + * usb: musb: core: print new line in the driver banner again + - LP: #1106966 + * ASoC: pcm: allow backend hardware to be freed in pause state + - LP: #1106966 + * ASoC: wm2200: Fix setting dai format in wm2200_set_fmt + - LP: #1106966 + * mac80211: fix ibss scanning + - LP: #1106966 + * mac80211: use del_timer_sync for final sta cleanup timer deletion + - LP: #1106966 + * mac80211: fix dtim_period in hidden SSID AP association + - LP: #1106966 + * xhci: Handle HS bulk/ctrl endpoints that don't NAK. + - LP: #1106966 + * USB: Handle auto-transition from hot to warm reset. + - LP: #1106966 + * USB: Ignore xHCI Reset Device status. + - LP: #1106966 + * USB: Allow USB 3.0 ports to be disabled. + - LP: #1106966 + * USB: Increase reset timeout. + - LP: #1106966 + * USB: Ignore port state until reset completes. + - LP: #1106966 + * USB: Handle warm reset failure on empty port. + - LP: #1106966 + * xhci: Avoid "dead ports", add roothub port polling. + - LP: #1106966 + * ASoC: wm2200: Remove DSP B and left justified AIF modes + - LP: #1106966 + * ASoC: wm5100: Remove DSP B and left justified formats + - LP: #1106966 + * mwifiex: check wait_event_interruptible return value + - LP: #1106966 + * ASoC: wm2000: Fix sense of speech clarity enable + - LP: #1106966 + * drm/i915; Only increment the user-pin-count after successfully pinning + the bo + - LP: #1106966 + * samsung-laptop: Add quirk for broken acpi_video backlight on N250P + - LP: #1086921, #1106966 + * sony-laptop: fix SNC buffer calls when SN06 returns Integers + - LP: #1106966 + * staging: r8712u: Add new device ID + - LP: #1106966 + * b43: Fix firmware loading when driver is built into the kernel + - LP: #1106966 + * staging: speakup: avoid out-of-range access in synth_init() + - LP: #1106966 + * staging: speakup: avoid out-of-range access in synth_add() + - LP: #1106966 + * staging: comedi: fix minimum AO period for NI 625x and NI 628x + - LP: #1106966 + * staging: comedi: prevent auto-unconfig of manually configured devices + - LP: #1106966 + * staging: comedi: comedi_test: fix race when cancelling command + - LP: #1106966 + * regulator: max8997: Use uV in voltage_map_desc + - LP: #1106966 + * regulator: max8998: Convert to regulator_list_voltage_linear() + - LP: #1106966 + * regulator: max8998: Convert to set_voltage_sel and + regulator_map_voltage_linear + - LP: #1106966 + * regulator: max8998: Use uV in voltage_map_desc + - LP: #1106966 + * ALSA: pxa27x: fix ac97 cold reset + - LP: #1106966 + * ALSA: pxa27x: fix ac97 warm reset + - LP: #1106966 + * SUNRPC: Ensure we release the socket write lock if the rpc_task exits + early + - LP: #1106966 + * target: use correct sense code for LUN communication failure + - LP: #1106966 + * regulator: max8998: Ensure enough delay time for + max8998_set_voltage_buck_time_sel + - LP: #1106966 + * tcm_fc: Do not indicate retry capability to initiators + - LP: #1106966 + * tcm_fc: Do not report target role when target is not defined + - LP: #1106966 + * target: Fix use-after-free in LUN RESET handling + - LP: #1106966 + * target: Release se_cmd when LUN lookup fails for TMR + - LP: #1106966 + * sh: Fix FDPIC binary loader + - LP: #1106966 + * USB: option: Add new MEDIATEK PID support + - LP: #1106966 + * USB: option: blacklist network interface on ZTE MF880 + - LP: #1106966 + * USB: option: add Telekom Speedstick LTE II + - LP: #1106966 + * USB: option: add Nexpring NP10T terminal id + - LP: #1106966 + * Add CDC-ACM support for the CX93010-2x UCMxx USB Modem + - LP: #1106966 + * USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i" + - LP: #1106966 + * USB: hub: handle claim of enabled remote wakeup after reset + - LP: #1106966 + * mm: compaction: fix echo 1 > compact_memory return error issue + - LP: #1106966 + * mm: use aligned zone start for pfn_to_bitidx calculation + - LP: #1106966 + * mm: bootmem: fix free_all_bootmem_core() with odd bitmap alignment + - LP: #1106966 + * audit: create explicit AUDIT_SECCOMP event type + - LP: #1106966 + * USB: Add device quirk for Microsoft VX700 webcam + - LP: #1106966 + * drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards + - LP: #1106966 + * drm/nv17-50: restore fence buffer on resume + - LP: #1106966 + * usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added + - LP: #1106966 + * udldrmfb: Fix EDID not working with monitors with EDID extension blocks + - LP: #1106966 + * udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack + - LP: #1106966 + * udldrmfb: udl_get_edid: drop unneeded i-- + - LP: #1106966 + * s390/time: fix sched_clock() overflow + - LP: #1106966 + * rt2800usb: Add support for 2001:3c1e (D-Link DWA-125 rev B1) USB Wi-Fi + adapter + - LP: #1085351, #1106966 + * drm/radeon: fix NULL pointer dereference in UMS mode + - LP: #1106966 + * drm/radeon: fix a bogus kfree + - LP: #1106966 + * ALSA: usb - fix race in creation of M-Audio Fast track pro driver + - LP: #1095315, #1106966 + * x86/Sandy Bridge: reserve pages when integrated graphics is present + - LP: #1106966 + * USB: io_ti: Fix NULL dereference in chase_port() + - LP: #1106966 + * intel-iommu: Prevent devices with RMRRs from being placed into SI + Domain + - LP: #1106966 + * igb: release already assigned MSI-X interrupts if setup fails + - LP: #1106966 + * usb: chipidea: Allow disabling streaming not only in udc mode + - LP: #1106966 + * sd: Reshuffle init_sd to avoid crash + - LP: #1106966 + * Linux 3.5.7.4 + - LP: #1106966 + * HID: Add suport for the brightness control keys on HP keyboards + - LP: #1007575 + * efi: Make 'efi_enabled' a function to query EFI facilities + - LP: #1111689 + * samsung-laptop: Disable on EFI hardware + - LP: #1111689 + * inotify, fanotify: replace fsnotify_put_group() with + fsnotify_destroy_group() + - LP: #1110605 + * fsnotify: introduce fsnotify_get_group() + - LP: #1110605 + * fsnotify: use reference counting for groups + - LP: #1110605 + * fsnotify: take groups mark_lock before mark lock + - LP: #1110605 + * fanotify: add an extra flag to mark_remove_from_mask that indicates + wheather a mark should be destroyed + - LP: #1110605 + * fsnotify: use a mutex instead of a spinlock to protect a groups mark + list + - LP: #1110605 + * audit: clean up refcounting in audit-tree + - LP: #1110605 + * fsnotify: pass group to fsnotify_destroy_mark() + - LP: #1110605 + * fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #1110605 + * fsnotify: dont put marks on temporary list when clearing marks by group + - LP: #1110605 + * fsnotify: change locking order + - LP: #1110605 + * drivers/mfd: Add realtek pcie card reader driver + - LP: #1057089 + * mfd: rtsx: Add output voltage switch hook + - LP: #1057089 + * mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed + - LP: #1057089 + * mmc: Add realtek pcie sdmmc host driver + - LP: #1057089 + * mmc: rtsx: Remove a duplicate command in sd_rw_multi + - LP: #1057089 + * mmc: rtsx: Configure SD_CFG2 register in sd_rw_multi + - LP: #1057089 + * mmc: rtsx: Explicitely include slab.h in rtsx_pci_sdmmc.c + - LP: #1057089 + * mmc: rtsx: Call MFD hook to switch output voltage + - LP: #1057089 + * drivers/memstick: Add realtek pcie memstick host driver + - LP: #1057089 + + -- Luis Henriques Wed, 06 Feb 2013 10:41:09 +0000 + +linux (3.5.0-23.35) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1103932 + + [ Upstream Kernel Changes ] + + * Revert "fsnotify: change locking order" + - LP: #1101666 + * Revert "fsnotify: dont put marks on temporary list when clearing marks + by group" + - LP: #1101666 + * Revert "fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark()" + - LP: #1101666 + * Revert "fsnotify: pass group to fsnotify_destroy_mark()" + - LP: #1101666 + * Revert "fsnotify: use a mutex instead of a spinlock to protect a groups + mark list" + - LP: #1101666 + * Revert "fanotify: add an extra flag to mark_remove_from_mask that + indicates wheather a mark should be destroyed" + - LP: #1101666 + * Revert "fsnotify: take groups mark_lock before mark lock" + - LP: #1101666 + * Revert "fsnotify: use reference counting for groups" + - LP: #1101666 + * Revert "fsnotify: introduce fsnotify_get_group()" + - LP: #1101666 + * radeon/kms: force rn50 chip to always report connected on analog output + - LP: #1103320 + + -- Luis Henriques Thu, 24 Jan 2013 11:06:25 +0000 + +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-lts-quantal-3.5.0.orig/debian.quantal/NOTES +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/control.stub +++ linux-lts-quantal-3.5.0/debian.quantal/control.stub @@ -0,0 +1,108 @@ +Source: linux-lts-quantal +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-precise.git + +Package: linux-headers-3.5.0-43 +Architecture: all +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0) +Description: Header files related to Linux kernel version 3.5.0 + This package provides kernel header files for version 3.5.0, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details + +Package: linux-tools-3.5.0-43 +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version 3.5.0-43 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 3.5.0-43 on + 32 bit x86. + + + +Package: linux-image-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +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), module-init-tools (>= 3.3-pre11-4ubuntu3), crda (>=1.1.1-1ubuntu2) | wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo (>= 19.1) +Suggests: fdutils, linux-lts-quantal-doc-3.5.0 | linux-lts-quantal-source-3.5.0, linux-lts-quantal-tools, linux-headers-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-image-extra-3.5.0-43-generic +Architecture: i386 amd64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-3.5.0-43-generic +Description: Linux kernel image for version 3.5.0 on 32 bit x86 SMP + This package contains the Linux kernel image for version 3.5.0 on + 32 bit x86 SMP. + . + 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 Generic processors. + . + Geared toward desktop and server systems. + . + You likely do not want to install this package directly. Instead, install + the linux-generic meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-3.5.0-43-generic +Architecture: i386 amd64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-headers-3.5.0-43, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 3.5.0 on 32 bit x86 SMP + This package provides kernel header files for version 3.5.0 on + 32 bit x86 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-lts-quantal-headers-3.5.0-43/debian.README.gz for details. + +Package: linux-image-3.5.0-43-generic-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 32 bit x86 SMP + This package provides a kernel debug image for version 3.5.0 on + 32 bit x86 SMP. + . + 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-lts-quantal-3.5.0.orig/debian.quantal/etc/update-from-quantal-master +++ linux-lts-quantal-3.5.0/debian.quantal/etc/update-from-quantal-master @@ -0,0 +1,127 @@ +#!/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.master + +TARGET_RELEASE=precise +TARGET_RELEASE_BRANCH=quantal +DEBIAN_TARGET=debian.${TARGET_RELEASE_BRANCH} + +DEF_REPO=git://kernel.ubuntu.com/ubuntu/ubuntu-${SOURCE_RELEASE}.git +RELEASE_REPO="${DEF_REPO}" +DEF_ARCHES="i386 amd64" +FOREIGN_ARCHES="armel ia64 powerpc sparc config.common.ports" + +# +# PPAs do not have a proposed pocket. The default assumes the +# real archive is the upload target. +# +POCKET="" +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} || exit 1 +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 + } + } + ' +` +# +# 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 + } + } + ' +` +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 + +# +# Pick up any master branch changes to udeb modules or firmware. +# +rsync -av --delete ${DEBIAN_SOURCE}/d-i/ ${DEBIAN_TARGET}/d-i + +# +# Update configs from master +# +rsync -av --delete ${DEBIAN_SOURCE}/config/ ${DEBIAN_TARGET}/config +fakeroot debian/rules clean updateconfigs + +# +# Get the master branch ABI files, which can be mostly ignored since +# the build is skipabi and skipmodule. +# We can ignore ABI changes with the assurance that Maverick upstream +# will change ABI when required. +# +rsync -av --delete ${DEBIAN_SOURCE}/abi/ ${DEBIAN_TARGET}/abi +for i in ${FOREIGN_ARCHES} +do + rm -rf ${DEBIAN_TARGET}/abi/*/${i} +done +git add ${DEBIAN_TARGET}/abi + +# +# Update changelog from the source release changelog. Change the release pocket and ABI. +# The lucid source ABI is in the 200 range, and the maverick ABI is in the 400 range, so +# just extract the source ABI and add 200. +# +cp ${DEBIAN_SOURCE}/changelog ${DEBIAN_TARGET}/changelog +sed -i -e '1s/'${SOURCE_RELEASE}'.*;/'${TARGET_RELEASE}${POCKET}';/' -e '1s/^linux /linux-lts-'${SOURCE_RELEASE}' /' -e '1s/)/~'${TARGET_RELEASE}'1)/' ${DEBIAN_TARGET}/changelog +git add ${DEBIAN_TARGET}/changelog --- linux-lts-quantal-3.5.0.orig/debian.quantal/etc/getabis +++ linux-lts-quantal-3.5.0/debian.quantal/etc/getabis @@ -0,0 +1,10 @@ +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" +) + +getall amd64 generic +getall i386 generic + --- linux-lts-quantal-3.5.0.orig/debian.quantal/etc/kernelconfig +++ linux-lts-quantal-3.5.0/debian.quantal/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="" + family='ports' +else + archs="amd64 i386" + family='ubuntu' +fi --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/abiname +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/abiname @@ -0,0 +1 @@ +42 --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/fwinfo +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/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-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/armhf/highbank.modules +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/armhf/highbank.modules @@ -0,0 +1,2308 @@ +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 +blocklayoutdriver +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 +nfs_layout_nfsv41_files +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 +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-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/armhf/highbank.compiler +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/armhf/highbank.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/armhf/omap.compiler +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/armhf/omap.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/armhf/omap.modules +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/armhf/omap.modules @@ -0,0 +1,2432 @@ +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 +blocklayoutdriver +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 +nfs_layout_nfsv41_files +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 +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-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/armhf/highbank +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/armhf/highbank @@ -0,0 +1,9952 @@ +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_generic_hsw +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_generic_hsw +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_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_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_remove_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_lookup_dev +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_cmd +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_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_verify_authorizer_reply +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 bdgrab +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_kernel_dcache_page +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_prepare_forced_close +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_frag_maybe_warn_overflow +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_hash_secret +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_complete_transaction +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_push_pending_frames +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_iomap_memory +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/ssb/ssb 0x00000000 ssb_pmu_spuravoid_pllupdate +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 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_schedule_session_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/nfs 0x00000000 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 put_lseg +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 bc_svc_process +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_destroy_backchannel +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_setup_backchannel +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_topology +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_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x00000000 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 do_unregister_con_driver +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_ipv6_ops +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-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/armhf/omap +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/armhf/omap @@ -0,0 +1,10368 @@ +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x16b3fdc6 omap_mbox_get +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x74c5f162 omap_mbox_register +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x9826f5fd omap_mbox_put +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xabbb929d omap_mbox_msg_send +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 0x9c993f81 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 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x45ef8749 ipmi_smi_watcher_unregister +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 0x53541e0e ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5ac19eda ipmi_smi_watcher_register +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 0x8b7a12e5 ipmi_get_smi_info +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 0xc0783dc6 ipmi_register_smi +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/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 0x4661e72b dw_dma_cyclic_free +EXPORT_SYMBOL drivers/dma/dw_dmac 0x5712a764 dw_dma_get_dst_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xa2edea3e dw_dma_cyclic_prep +EXPORT_SYMBOL drivers/dma/dw_dmac 0xcdf2081b dw_dma_cyclic_stop +EXPORT_SYMBOL drivers/dma/dw_dmac 0xd07ae514 dw_dma_cyclic_start +EXPORT_SYMBOL drivers/dma/dw_dmac 0xfa066f74 dw_dma_get_src_addr +EXPORT_SYMBOL drivers/dma/pl330 0x26c92075 pl330_filter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x019da9df drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x023547be drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02f1c42d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02ff86c2 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04a3af60 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x061d86a1 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e15c30 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09811c94 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0e418 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d3c0a68 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eac6be2 drm_mode_object_find +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 0x11073671 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +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 0x14c834a4 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ce185d drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18f6c9fd drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x197efefe drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1af2ef85 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb7a720 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20b76f2e drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21176563 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x220ff5ed drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x231d67e6 drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2426053b drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x247d20b6 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29247581 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a237239 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2acd725c drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b0ad496 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bb261cc drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ca742ae drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d240634 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d3259cf drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d807df8 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e3fa1ea drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eed7c42 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f92957b drm_mode_validate_clocks +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 0x33737b6c drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34fc13f0 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35e828bd drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3737d5c1 drm_prime_pages_to_sg +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 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3be296ff drm_mm_pre_get_hsw +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 0x3f525f60 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x419c6140 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x422e5947 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4536e7c2 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x456d3fad drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x479a0478 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4945a3ca drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49883f25 drm_framebuffer_init +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 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ce084eb drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d33f57d drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d86c0c7 drm_mode_create_dithering_property +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 0x4f65a723 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c7dfdf drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5165455b drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53933562 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5406b298 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54a76d4d drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54ab60f2 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e2b0ac drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59e2fd6d drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a641110 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a862d2a drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c958ec9 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e771db2 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e9a71d8 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6048c567 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61f4151f drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6363f9a2 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63b8d189 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6551d627 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65c10862 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x695562ba drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac31bc7 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bbf1c24 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c79cd80 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d046d33 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x716ca1c2 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x740b90dd drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x768fa481 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7832825c drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78e828ae drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a35f726 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d3a9509 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x800628be drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x819ebb26 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85750f27 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e9fe78 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89500a1a drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89b54102 drm_mm_remove_node_hsw +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 0x8e28a15f drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f185796 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f63b1e0 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96b15f09 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96f7974d drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9757ca7d drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x978625ff drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9899f139 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98c16ac7 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c09b7ff drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f70233a drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fc855f9 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0ac34c3 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa19123f6 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2873dda drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa30fbc4c drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4edb20a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5a09d50 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa688b747 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6cd5598 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6d2ab51 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7179c31 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaacde6c5 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaacf194d drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacbe2969 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xada8db41 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaffef714 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1ad7ad5 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22ad0f2 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3224053 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4b4726d drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb541a493 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb59e249d drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5a8d03e drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7776c3c drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bef03e drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9579848 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb969c68d drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaa7f28a drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6c3526 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1064c6f drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3556616 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc44b1f6b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4e3470b drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc91048ac drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaeea29d drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb911322 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc388991 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce068bc drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0ec44a drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0450dd5 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1bf1a94 drm_mode_connector_attach_encoder +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 0xd2f52e39 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd61ed4f3 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd672c8e7 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd88db039 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8e2b4ce drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd90bc8f8 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd962509b drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdabe2c95 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdacfce4a drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb4dd8b0 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf19d3a6 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe411da8e drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe44f0f3d drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe532ac34 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe58773d1 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6e5c556 drm_connector_property_set_value +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 0xe7738478 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8db115a drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea2c1860 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb5ff9d0 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee566ce4 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef8fe271 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf13b073b drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf14457cc drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1bbc832 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1d59f36 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf54a95b1 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf83d269b drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8460e25 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9166a4c drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd55f77b drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe23e071 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff20d9dc drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff7ec5ef drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08f4106c drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0afd64f7 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bb074be drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bc4dadc drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10f2a66a drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x173d8cc1 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24e82483 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3770e6e7 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ac78800 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40cb5938 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a08948f drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5225fd99 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57a56a3a drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x623cef1a drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x695638bc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c1fb239 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6dba7bda drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8dc9ea16 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8e0935d0 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x903232e8 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92b8daf1 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e7aed8d drm_helper_resume_force_mode +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 0xc1db839e drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc797552d drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdd5801f 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 0xd402bd7e drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdafea379 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdef41be9 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8689115 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf669ff56 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc7a930c drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff6b747c drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x490ba26e drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x5ab9d678 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xc1370c76 drm_usb_exit +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 0x1262ebcd sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x587d18bf i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xd93886ab i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xeec64784 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x2e48c0c0 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x56a7b11b i2c_pca_add_bus +EXPORT_SYMBOL drivers/iio/industrialio 0x177e9981 iio_trigger_free +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 0x4a4ccb41 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x4cc75a5e iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x5cf690f5 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x6a08a14c iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x6b069003 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x75b533e4 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x8871b32e iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x8b58989c iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x90ea0377 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x91bc0a3b iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0xa3c98d6a iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xa6bf5879 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0xaf0a8f8b iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xb2c59ec2 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xb3fce49e iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xb74b6aba iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xbbab385b iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xc7fa0bdc iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xdcc556ad iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf4e947ee iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf941aba3 iio_device_register +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xa3d6266c iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xff656fa5 iio_kfifo_allocate +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00ad94c1 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5567c349 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x80ba70aa gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x85eed5ba gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa97075c1 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd3952f3 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe877c4dd gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xeaace123 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf3443707 gameport_open +EXPORT_SYMBOL drivers/input/input-polldev 0x0cb6caf5 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x2309b44e input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xb7e1a448 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xd4ffa98a input_free_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xc4df77ab matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x17c7c2b9 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7866d5f4 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7ee705c2 ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xef7a5879 ad714x_probe +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 0xd5c9b50d cma3000_init +EXPORT_SYMBOL drivers/input/sparse-keymap 0x13867411 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7cc3fddb sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8802123a sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa8620f71 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb3b619c3 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbf0df5e8 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x416d1dda ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xc26947da ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x02174795 capi20_put_message +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 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31181dab capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x38ac7fbe capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4a15f6d2 capi20_release +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 0x8a6951b3 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f52d50e attach_capi_ctr +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 0xb9558767 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc64b6b33 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc91fdc27 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcaeea3e6 capi_ctr_suspend_output +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/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x5aa03c46 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 0x49a70d9a isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xafb8b021 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfb2faff6 register_isdn +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 0x00e57dc0 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x02f2c9ae dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03397a44 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x220a8d0f mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x48b031f9 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4af69a10 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54045e13 get_next_dframe +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 0x5d027ec6 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e0f95e0 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e2741b8 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6482e1b2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6da1c789 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7014e6b4 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x84011ade mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x891f3fe3 queue_ch_frame +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 0x990ea392 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa294f478 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb8e77df8 create_l1 +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 0xd710a1cb mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdf121836 bchannel_senddata +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 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfc4fc038 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd26a371 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd986e4a recv_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 0x4d975d95 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x704d0e79 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x83962df5 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xe4dc67ef dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x40b752a1 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x45737373 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x8222ef69 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc10bb139 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd2b2b790 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe11213bb dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x4aad0893 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x1d42f88f fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0xe0ad6826 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x454f0d38 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x1407a210 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x54ab32cc mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x43a4516d mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xa80e174c qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0xee150922 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0xbc26805c tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x0fd30e3d 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 0x5cf39944 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x0c6abed2 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x0a0240d7 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x37278a4c flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x379be1e0 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x69704219 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x85fa9d04 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa5d1b5ee flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb0fc450a flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbdd00c19 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc91973f5 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdddb778f flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe9f4d94d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xea4b85da flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf69e60e7 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfe6094ac flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x063f486c dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c98f0ae dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x15304ff1 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f363415 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2f2786d0 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x335fa807 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x46c008ee dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x518c4119 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5762bbfb dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6131d762 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6225816a dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x687066ad dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6aa21a01 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6c7577a0 dvb_dmx_swfilter_packets +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 0x7a854509 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7afe6a08 dvb_register_frontend +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 0x90b3c91f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x926fe399 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x961239a7 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9a659643 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb3297434 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb4460002 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xba616e61 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc1c55d6e dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc3a499fc dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd42d1f59 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd9f730f3 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe2580c5c dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +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 0xfb25f454 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfd1885bd dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x024c5350 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0fd66b83 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x60fedb14 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x65f436fa dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7284e528 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xbd950ef7 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xdd8d617c usb_cypress_load_firmware +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 0x23388685 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 0x06851e82 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x267bdbc0 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3cd1bcea dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4e506b70 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x53a1a353 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x588f5b95 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8d19c3e8 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x94cceadf dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb1c17d96 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 0xb6056945 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbb11a5b6 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x395ca0ef a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x985bf935 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x40d3e24c af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x26e535dd atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x194c52cf au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2407d208 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x49aa8dff au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x4b13a6bc au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x8945595f au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x98a43d2d au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xa49f0cf5 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe606dc9e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x51bbcdaa au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x56a22cc6 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x808d306b cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x3a473375 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xcf225df5 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x578cfc10 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x81ac2d86 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x2ccc1c55 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe7e7eee5 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe87dc472 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x2d7af6b0 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x4989f51a dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x62a48666 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x7b827607 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xae75af66 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xaea8cc39 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0045510d dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0a48572f dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1a17de3d dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x23008da1 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2d7c0030 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3b178874 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x65c5a08b dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8af5d19e dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8b297acf dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x971b57af dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaa3727b5 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb64a0d89 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xcd67c188 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd57e427d dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xda1436d2 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x08bd4892 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x0ab417c9 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x47b87511 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x59a5a63a dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7335407a dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7a4937a2 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xeb20b9d6 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x4da27065 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x548bc160 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x5b91871b dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xd9b87f47 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x21b078ad dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cd23360 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5a422578 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x6a5f0fc1 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x82b94c0f dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa0a4ca59 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xaae3e66b dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbc805919 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc16ddfdb dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc97e1698 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xce1b084c dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd619f67d dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf8205a42 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf860cded dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfe6fa3e8 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x03221a02 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x11b73134 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x1f9a3e09 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x357bf69a dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4891cde4 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5de6d53f dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x66f47ef1 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x710583e5 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x736696a3 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x741ecbbd dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7a989216 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x94d6ce5c dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa8c1d339 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xab2ffd68 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xba9e2e8f dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcb5c461a dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd7283ce8 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7018960 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf5c32251 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x02ae4d55 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x0edd6c8e dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x114b7dd2 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x45bbbadc dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x4a2d419f dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x92839d8f dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xa70b3d58 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xbb90a182 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xbbe3111c dib9000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xd5b7a2cb dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xe1759b5f dib9000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xe8dd6079 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xfa7f68b8 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xfbc5dbe0 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x56d290a2 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x6e098394 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x702395ed dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x789cccec dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x91deb013 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x4798838c drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x7198c735 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xb0858c08 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xd762e57d ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x1fd86d3a dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x5aca23ae ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/hd29l2 0x03191010 hd29l2_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1e072bed isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xe8ba5f2f isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa64d5728 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xcca4371b it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xdc92569c itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x9f73e6bf ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x64680058 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x9ad3cd0c lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x6fa63b07 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x5db648ec lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gl5 0xa057a377 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xe663cb83 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x570e804a lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xddd1059d lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0xb15acf28 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x5f5482f1 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0xa6ecab43 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x31a8b3fe mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x47b3e1b3 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xfe051be5 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xe0b8b750 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xb3a69b7c nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x7cff32c5 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xc5c343e6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x6955fe31 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x7fa80d3b rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x01dc9240 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x0e88bd03 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x38f4ffe3 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xb56fc729 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1432 0x9c40d3d2 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xc715ee48 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x18b232cd si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x96479c92 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x31e73527 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x6a80d0b2 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xc9e45331 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xb70cd042 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x39b53b98 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xb03701b3 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x40219331 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x54e20779 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xce289f56 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x9e6ef935 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x019c3011 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x6473a687 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x3d8ea7bc stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xdd391e83 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x68a08a0f tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xebe183b9 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x1a994621 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xad3fb6cf tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xcd06ff40 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x9b75223e tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x1b4e2b0a tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x95bc73aa tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x0f758d2f tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x53a473bb tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xe574e10c tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x812842f4 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xb515bceb ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x17e11d4f ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x06972501 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x9f0ac85a zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x3d1cf11e zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xb0d4b5df ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x418991c5 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x5d09e054 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x911de157 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbb84ba3f lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbf765ae8 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd1bac5a0 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf150fc9b lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf44c6aa1 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/rc-core 0x37395221 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x866068b8 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x663c3eda cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x6f58dfad 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 0xa301b224 vpfe_register_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xc91290ca 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 0x499fa818 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x6b61a9cf em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x0c5e30e1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x13ff3fd6 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2b16c787 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3c898161 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x45eee790 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8afd3f1d gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xadd2910a gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xccc672d9 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/soc_camera 0x06ea82de soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x40263911 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x9a99ebdb soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa3dad206 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xb015810c soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xead9ef49 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 0x009f4586 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x1d7ba03a tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x306df5ba tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0x015e4e87 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xe2dac654 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x35e27fd9 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 0x5e62e92d 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 0x503d77bd v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x7e706a78 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xd1edaa66 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x39cfd062 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5d22f45b videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xb031b649 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe2c1148d videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe44a5c10 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe58367a1 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x5840bac5 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0a6e4be1 v4l2_subdev_g_ext_ctrls +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 0x19566ceb v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x1d16506e v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x1db63a47 video_ioctl2 +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 0x28e32207 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x3376469b v4l2_ctrl_poll +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 0x44c4d00d video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4dbba368 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5585d9c2 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x567f627d v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x641c4671 v4l2_ctrl_find +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 0x77a5172f video_device_alloc +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 0x89537bde video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x8ec099c2 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x91f38bcb v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x96c3a076 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xa0c94245 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa2342123 v4l2_ctrl_new_int_menu +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 0xb99f2daa v4l2_subdev_querymenu +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 0xc69b1207 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xc86d3363 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd149639d v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xd353b2b0 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd785a33c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xd7fdd8f5 v4l2_ctrl_sub_ev_ops +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 0xe2b92059 v4l2_video_std_construct +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 0xed244388 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf3fa4246 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xfb959f0c v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0xfc74c271 video_usercopy +EXPORT_SYMBOL drivers/memstick/core/memstick 0x034433b2 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1b7c50bd memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x20c5726a memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3bd5a124 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3cda5520 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6bad9301 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7479a0ac memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8031c323 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa4f58e4e memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc062c0fc memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc67ba91e memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe3691d10 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf72940f3 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf9004e25 memstick_remove_host +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x8bfd1dae pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xc46a54bc pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0c89d32a mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x13862de2 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1cffda0e mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x41c27171 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f7d36c8 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7cae2548 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9ac37a25 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xafac418e mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb4b2e23a mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe0e41389 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe2795a05 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe36e72c4 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfab5deef mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/tps6105x 0x548b1367 tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0x61965bb8 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xaa7ee4ee 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 0x441bbefa ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xa9970e3b ad_dpot_probe +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 0x1d2a2307 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x8b4fcefd c2port_device_unregister +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00f2e3a2 dw_mci_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x4338a7ac dw_mci_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x9f0f9443 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xcdde4862 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 0xa4623e9c tmio_mmc_host_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc1b4928c tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc86c925f tmio_mmc_host_probe +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xe9c3b93e tmio_mmc_host_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf02062dd tmio_mmc_card_detect_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf921f1cf tmio_mmc_host_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xfa192330 tmio_mmc_host_remove +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x68bde2c4 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb3ab225c cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xce8dec41 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7c540c21 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x82834723 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x2ae9dffd onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xaa5a05d1 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xdff3d5f4 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfdaa1532 flexonenand_region +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x36e8a267 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6def13d4 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa5ed67f9 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbe42cb66 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe8bfdbc3 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x31a65a15 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3d946ead sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6621e0b1 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x92fe2d7e sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x97803886 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x97934458 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xae6dafea sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb2c40cff sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb5febc8c irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf24001be sirdev_write_complete +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x48b5494f free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xcd774f47 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x53b16470 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x812dd8f7 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd2639075 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/wan/hdlc 0x104d1825 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a65d090 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5196accd hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x85ce173f register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x92c60b40 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa6d80125 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaa5d3d4b unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb45b57cb hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd77042fe attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdbfbebcc alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdc0a771e detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x030cbfc6 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x089a294c ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x14896ce1 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x192be631 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x300491d4 ath_printk +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 0x53078ea8 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5cf84543 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc1dea9f0 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xca35be2d ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xde6e88a2 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x02655402 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0646aa54 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x200555d4 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x319becf0 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x644345c1 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6f8f8f21 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8a38ee71 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb66a8569 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xce130bdc ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xdd324c93 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x25594f39 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5716d31f 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 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd437cc9 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf864f9db ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x078c4bd6 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x079d26ab ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c770cc0 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d789fd2 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e7cefbf ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f8d67a3 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x130a9a7f ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13705518 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2020e8bb ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2598f364 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27d4612e ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29c909eb ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2b8a1d87 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c4d1a2a ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e389109 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x35975dd1 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x361efa27 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3cb4ba92 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e67e595 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3fc80366 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42e48f7f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x473b3a61 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48c5c168 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d52b4cc ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x565d1fd0 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57518b38 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5c27a0fa ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62fa9225 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x638be500 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x650f84ed ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67ecd976 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6873b14e ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c1a1cac ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c6eb51b ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c8ba66d ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f5d01a3 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70ce0aad ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70e1549b ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x743e6b60 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76007a15 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78328805 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x794283e1 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7acd5b1d ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c145009 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fcc6e4d ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x898926bf ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8daa3497 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98b46218 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b276875 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c359b1a ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa25cd602 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa299e289 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa38c713f ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa503b44e ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa762e6c2 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa949b6b7 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa96070de ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa624576 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xacfbded0 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf8877a8 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1e4e4bb ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2a06260 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb372ec63 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5ab4b93 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb674696b ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9e5a42f ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbcfd4651 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbebd3a21 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf76d552 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1ee6148 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc335f7ee ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3f95012 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5490c3c ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7309472 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc859cbdf ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd130db6c ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd1bf56d3 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd40d41eb ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd63af08a ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc5e2e15 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc85cb6b ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdfedf11c ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0340a54 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe07da283 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe4e1eba0 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe67a8b0d ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe718f66e ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee2cb6bb ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf3eefdd4 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9c99b8d ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfad19531 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xffa488ac ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x1fec0a51 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x7b96eb77 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x4bcc5e34 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x69ab497c brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x76e6a26d brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8caebf0b brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x95311c28 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x95dc3b6c brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xbd274321 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc120f4f2 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xca71785e brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xda2d6c3d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xe43884c3 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf06805af brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x12117fa5 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x15f6a2d5 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1d95858e hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21227aa6 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x26bd7486 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3d3d380f hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x41546e31 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6852e098 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6d64b789 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x72929b59 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9519606f hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa8f3486e hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaa08b83b hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xafd661cb hostap_free_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 0xcd098686 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd1eb3581 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd64132e3 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdfcd4267 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe1942882 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe6a5bf93 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xedccf4c0 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfbb6e217 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfd9d6279 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfdb4fddd hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfe90894f hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0c860237 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0dffb154 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1815a261 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x21ae0ed5 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x25bee9e6 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x304212ab rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x33dc6832 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a1593db rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3fdacd4d rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x41b349df _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x445cce8d rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x46fc8b13 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4b857dcd rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5422a105 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5bb9b098 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x60ab3298 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x660bf550 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6678cee3 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6b25b0db rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6c2dd032 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7bc9c0b4 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x84f30658 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x88daf379 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9b9fe179 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xab556176 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xab7a15eb rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb11e7882 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb8904f94 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbdbaea5f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbfaf284c _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc0a96534 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcc6a0f25 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd0174489 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd6ab68a9 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdf887fa0 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe455aa5e rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeb58707d rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeea167d7 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xef230a06 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf20dd610 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf22528e4 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf5eae42c _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x07b705ef rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x09770980 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0c87c133 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x25cfa935 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3907e709 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x39e90ddc rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x41787fab rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x563668bb rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x57be3788 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5c22f323 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x635b575a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x671ac49e rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6ff7173f rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7fd3eb28 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x84aeae77 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8656864a rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8c64cfa5 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xafa9f782 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe0f0caff rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf3603763 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x3ab17ff5 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x799c09f4 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x09db9162 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x2a7f137f parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x2eb462c6 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x2ffa0c97 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x39a0e6b5 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x3b847c04 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5000dea0 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x526f1d5e parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x560323bc parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x5648b540 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x658a8182 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x8120c2a3 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x849d7b52 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x8cc62da1 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x941a65d0 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xa19ba5d7 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xbede8067 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xc6788060 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc7d67ce9 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xc7fa1b12 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xd98f567e parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd9cd7338 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xdd060281 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xe4dd8cb5 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xecc15ba8 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xedd89895 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xf7bee0c9 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xfbd8327c parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xfd608f87 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xfdc426ef parport_wait_event +EXPORT_SYMBOL drivers/pps/pps_core 0x34bfd074 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0x429cdfb6 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xbe9044f7 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xc888e601 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0aa6f329 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2b5e7a75 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2e6c42bd fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34deee22 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4e49d4e5 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x93256015 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xae7ebea5 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbbe9e1be fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc3322379 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc7a146c6 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xeb0acd92 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00685e8c fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x050bbdb1 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09797c66 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0fa46676 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13370499 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x177c41d7 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f46149c fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x238371d8 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x26e9025c fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x289ca4ae fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d2f9bdc fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2fd0f0f1 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x31535530 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x335bcefd fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x35513808 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45b7b0ff fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x484473ea fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b2041b7 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4dc91c40 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e34ac30 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b1b54f4 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b5eadc7 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x683004e6 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d496027 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x746257d3 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7855cb43 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81f5c1d4 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8364df26 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6bff20c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa86badaf fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac071a3a fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaed2ab10 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb023694f fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0aafb37 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb20c2d74 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4552adf fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce992ef0 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd065a6d7 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1598559 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3bc1ccc fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xda5d2d37 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdba7029b fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1bcfba8 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe82b85b3 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9305e7b fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9eefcd7 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee9b0821 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf79c7b92 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf8a96c8a fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfeb4ac17 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/raid_class 0x6a22617e raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xbd6e0e14 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xc45dcdc1 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x148a481c fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x294a835d scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2eac5ac2 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5e340afd fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6a130f3f fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7c68a309 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8b4903c4 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x96ab6da0 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa294c4a9 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbb736462 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdcec2eeb fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe2a0e2de scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe50a5e35 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x041d8c81 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c563fb5 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x196fb9a1 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1d84cf89 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x245fa53d sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2c327544 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4082c194 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45e2c23a sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4ed8c63f sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5fb9f6d4 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x714c88f1 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x94d622c3 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa25ac40f sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6badcae scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6cb7747 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab8ae446 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb0f586b0 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb13304d6 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb2efb56f sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb4f7edcd sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbef322c5 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc00ecef8 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd792c62f sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd9ad9246 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdb6a855d sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdbc0da14 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe4c53d3d sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc4a8a32 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x13624126 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x637a9fcf spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x924e9c26 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xae9bda14 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe72788ac spi_schedule_dv_device +EXPORT_SYMBOL drivers/ssb/ssb 0x15d9ab82 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x2ace36bb ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x31d5246d ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x4293c409 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4ed2804f ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x52e78e2d ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x537aaaa8 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x6d916325 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x70fce98c ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7316fcc4 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x918c3193 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa37df078 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa44a475d ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xad59e4aa ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcebb6e4c ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xcf21b490 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe41dcedb ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xe78b72b0 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8f2c2b76 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8f871551 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xe006ab35 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xed8a9888 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x64d71cc6 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xf3802bdc iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x7178c086 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xd5865d6e phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0425807d target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x12945675 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x1814e1b5 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a343690 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b3a5d90 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1dd22729 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f24091f core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x21d17179 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x294f08d6 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b37e983 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d377f20 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ceb883c transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4490883a target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x46a09080 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4d5f51fa target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4f91cc93 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x5430a2f7 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x54412b35 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x5780e204 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x6ec70f5b transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x6efd33b2 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x7180f855 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x718ef193 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x728ed01e target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x75340814 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x7599e3ea iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x76a7e059 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a26d8a6 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x83ddf06f target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x84b07d0a core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x8738ffaa target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x876d477d target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8ef09398 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x91658d03 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x93ca0ae5 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x94805924 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x955bb1a0 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9683568b target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x9fe16b75 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3bdf7a9 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4d199bf transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7ace478 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xae8361ae core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xafc79c6d transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4e846d6 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc044e793 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc49c5134 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc87ce4c0 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcaeb3512 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xcb882282 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xda0d02fd transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xda438489 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xe025dab2 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xe70491e3 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xeb7dd075 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3453d0a iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3b6eb40 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xf41f8230 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb4bacd5 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xfcc37950 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xfdefb692 core_tpg_deregister +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x8d68f2a7 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x87807bda sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x05b2108c usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x07da1d0a usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x15598289 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3489bac6 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x42359d73 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4fc0cd27 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5d0021fc usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x68e634b4 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7dd60d2e usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbde557d6 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc662a465 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xda528847 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdb09c7c1 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeea847d9 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf3f5a71e usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x6caf08c2 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x9bd6fa96 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x74fd88a9 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xdd6e0cbf lcd_device_register +EXPORT_SYMBOL drivers/video/output 0xaba46453 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xb3722d93 video_output_register +EXPORT_SYMBOL drivers/video/syscopyarea 0x0e85afcc sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x66ce3df0 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x06509f30 sys_imageblit +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x9f38d657 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa0d41cc6 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xe0e66e0a w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf453b7ca w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x0be3eb64 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xcfb43bea w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xfc1d6660 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1342fd70 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7b0c45bd w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xfe57b8d6 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x33ee4aa5 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x6299d1b4 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xeb63f569 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xf8507dd4 w1_remove_master_device +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 0x1074bf38 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x15b33ac4 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x3be87079 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x3bf16352 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x6ba63918 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7475e5f5 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x8370eef1 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x9d9e348f config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa4fd2c3b configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xab64fc36 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xf0d1b8c3 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xfb52e8bf config_item_get +EXPORT_SYMBOL fs/fscache/fscache 0x0542c0bb __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x09b83319 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1e467b0b __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x29ae4e36 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x2b5909ff __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x2f06b9a7 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x3681959b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x394c16e9 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4421175c __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x47e9c39d __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4aeaf626 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4af8b86f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x6098c2d7 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x722f4bdd __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8bf41663 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8f34e1bb fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x9b4ab485 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xadbf5a23 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb0b67ceb __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb13ef874 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xb1754ae3 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xbc725757 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xcf52ed7e fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xd68915e5 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xf132e0ed fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xf7be01d3 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xfcb01271 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 0x1c433e1b qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x744c7ac0 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x802e86a0 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xe1b68d98 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xf78a229b qtree_delete_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 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 0x7098d686 register_8022_client +EXPORT_SYMBOL net/802/p8022 0x988a36fa unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x6e6f5979 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xead16051 make_8023_client +EXPORT_SYMBOL net/802/psnap 0x0b980fed unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x97de932a register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07013c09 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x09146217 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x0d17b4fe p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x22b90756 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x2754fc9e p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x2864ee9f p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x2d4f3631 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x37c3adec p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x38f25524 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x393c8eee p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x3ac9f138 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x3ca39c4d v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4118eb62 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x56284894 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x5a37d1d5 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x5cbffd54 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x6ebe98ba p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x701f3648 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x735cdf9a p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x7b17adfa p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7cd3b3bb p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x82bcb708 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x83d95231 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x8839d58e v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x8e5806b6 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9d0eba8a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x9d116e46 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9e0b8c8b p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xa4fad243 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa510d058 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb0daf040 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xb1a597a4 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xb64b50ef p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xbc75758c p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd1e88320 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xd33101a5 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xdb478d17 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe52932b3 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe82aa82d p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xea3a8e5e v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xf2ef6923 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfba209f6 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x1aefa747 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x54752030 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x63c12bb2 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xaaf49682 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x134a6598 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x1e3efea2 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x30cb8515 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x34555838 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x50b58b9c vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x534b76d5 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x57ab7a1b vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x5f2569f5 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x6840d2b6 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x86b84625 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x8f0162a0 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x970e2726 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9ea56fcd atm_charge +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xc6555932 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5eab1ab vcc_sklist_lock +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x02dd1444 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x20ebc6da ax25_find_cb +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 0x608da8cd ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x62cbbceb ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x62fba993 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x69cb98b5 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7f7d1a74 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x8aabacfb ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa300ac4a ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08bcaa09 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0e485682 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x11aa1a7a hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19f38a19 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ce4af1e hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3345f03c hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x352783e7 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42948af3 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47dddd07 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x49331711 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d0d912a bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4df78196 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d8590b0 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64751b1f hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6551b3a1 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x74e93149 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7506c1f3 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x775a584b bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e82ee92 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x89078de1 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d2bef76 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8da1953d hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9347d177 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x952a0124 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9abd159d hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa4275103 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6c1ed96 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6e78c46 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbae54c4b hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc0735ab hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbd210841 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbe4cebd6 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0c3a8b3 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcd6b9182 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd213d059 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd8b8e724 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2f04759 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf31fca8d hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5e54565 bt_sock_poll +EXPORT_SYMBOL net/bridge/bridge 0x9be81499 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x28a988a0 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x93f58c82 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xdff98044 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x081a419a caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x0fa52b26 caif_disconnect_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 0x365c567e cfcnfg_add_phy_layer +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 0x73ab9119 caif_enroll_dev +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 0xa46948fd get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x05bc7bd3 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x6b897565 can_rx_register +EXPORT_SYMBOL net/can/can 0x6f3d5fc5 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x89263d3c can_proto_register +EXPORT_SYMBOL net/can/can 0xbf9e7031 can_ioctl +EXPORT_SYMBOL net/can/can 0xe82b1c47 can_send +EXPORT_SYMBOL net/ceph/libceph 0x04ab2e4e ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x04eb793f ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0efaef1e ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1b6e9c35 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x26b0d7cd ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x29599423 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x2bc2b7ce ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x2d94d503 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x30acb873 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x3201b8d0 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x35563310 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x3566de89 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x36c75acb ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x3aa7047d __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3da07ecd ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x3e84ca61 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x443f1c1d ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x48124b91 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x4da2b819 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x4ed246ff ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x55cb00fa ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x578dc930 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5fbdea15 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x60f0a7a4 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6518503b ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x67a182c9 ceph_osdc_wait_request +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 0x6fcf1a1e ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x70a49b43 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x7437a5d1 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x764ef447 ceph_monc_stop +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 0x7a2ce24d ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x7ae83115 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7dc94b69 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x82a1660d ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x85a3af37 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x88567ecf ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x8c7f8ac0 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x9a73f475 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x9c0f49b8 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xa6f8c12c ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb3d82f14 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb6f0860c ceph_osdc_new_request +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 0xc512c6ef ceph_check_fsid +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 0xd61955f1 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xdbffa290 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xdec68805 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xe51c152c ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xed6bacc1 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xf048e175 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xf3e582e8 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0xf5920164 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf6ff63f0 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xf7d927a6 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x4d46bd62 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4b786dbf ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x50521733 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x55bf72a8 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8e849c01 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x92b8a342 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9d40a348 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xac5c95e3 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb1c51bf7 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xbc1d53bb ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd1e72142 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd5492e62 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd7deae28 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe2f67e5e wpan_phy_free +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x47c14789 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4e0c818c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x9f529b64 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x50da218a ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa50d33d1 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa8be2031 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4776c707 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x57568c63 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9f21d84d __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa1ff83ee nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa4ebe6ee nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa7da3d29 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb315ba22 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0xc5345b72 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xf3154799 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x070ef588 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x23fe7bb2 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8e8e997c ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa3fc8e55 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x251d390d xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x3ab4bfb8 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x68537476 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x6ab4a2ba xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2f78b9fb ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4102bde1 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8151ddda ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9a234ae5 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa53ab733 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xac74836f ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb6a8c6e9 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xdad9fd1d ircomm_flow_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 0x0cf804f1 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x108e00dd iriap_open +EXPORT_SYMBOL net/irda/irda 0x19f13dd4 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x21b5f043 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x22caf86e hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x242cd3ec irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2573aa78 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2bd933c4 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x2d3765bc hashbin_find +EXPORT_SYMBOL net/irda/irda 0x2f5dd63f proc_irda +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x38bd4f33 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x3bb318ea irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x4479ef51 hashbin_insert +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 0x538d5d22 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x572583cf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x5f55c3a2 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x5f65cf2e irttp_connect_response +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 0x70cc035b irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x7187a065 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x74c6eb16 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +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 0x8def7779 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x8f843350 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x8fddef96 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x91a9c759 iriap_close +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +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 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbf285a4c hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc0ce2aa7 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xc3a512dd hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xc455a476 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xd63aa94b async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xde638ecf irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xe974b4c7 irlap_open +EXPORT_SYMBOL net/irda/irda 0xec36f392 irda_device_set_media_busy +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 0xf1da20fc irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xfe7d3b90 irlap_close +EXPORT_SYMBOL net/irda/irda 0xff00d16f irlmp_close_lsap +EXPORT_SYMBOL net/l2tp/l2tp_core 0x0a153add l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x06e68689 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x0780426d lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x26b100df lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x44f5390b lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x876c5b5b lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x8a595590 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x9aafd8a0 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x9e044135 lapb_register +EXPORT_SYMBOL net/llc/llc 0x0affe28d llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x281cdd51 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4362da53 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x70ca1ab7 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x90bd9ec8 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x93176e1b llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x9656f8a0 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xee21218f llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x0081853a wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x04bb1638 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x061de448 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x06faf1ce ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x08b27ed0 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x0b369552 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0c4e34fd ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x16029408 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x1929f777 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x19a21652 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x1f2d91d0 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x215bbe6f ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x26433b99 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x2b1f3ddc ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2c5fd33a ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x2e0578b2 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x31c106e7 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x392505e2 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x3be79697 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x52f15c8f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x566b8437 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x59a31e03 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x61080870 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x695e46c4 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x6aa4e7e9 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x7159fe8d ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x73f8fcff ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x745d072f ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x7bfa2381 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x852a5923 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x871193a6 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x8d5b1dd0 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9078d7c4 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x94b6c076 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9d19df52 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9f211885 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa38808d9 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa3aa1bc2 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa67860df ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa67dbe19 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xaa7b3a46 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xb2c9032f ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xbe14422d ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xbf770e0a ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xc0c6cc96 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc46be824 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcd53166f ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xcdeeacc1 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xcf85fb97 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xcfdf17ee __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xdc56f7ea ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xe01e89f8 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe5c71943 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe64822a2 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xe7da1a5a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xe9be5d91 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xeab255cf ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xef0a4ccf ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf302fb15 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xf9b524f3 rate_control_send_low +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0edf99fe ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x12ee4140 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2a08b7d6 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2f9bc442 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3fb6d25b ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4eab1425 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5bc72a59 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x61f8a4fa unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8489ba10 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x944e8042 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xacfcc56c register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc5933a3f ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xca9dffd3 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd2e2e3c3 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x8172db6d nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9c839e7d __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd9400dd6 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x4073a0e7 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x04fcb5ac xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x5abc5c6b xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5d86e64b xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x638ce585 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x9886a587 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9e00f54e xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xad862199 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd0d0b924 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe67a8d46 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe9114178 xt_unregister_matches +EXPORT_SYMBOL net/nfc/hci/hci 0x0cef3d0e nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x104ec2d6 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x12d560ba nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x18b40fa7 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x1b412417 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x302827bf nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x3bf857b0 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4ac8c4d3 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7897b6e4 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x8c21a8e7 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x8df48390 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x941f3ac6 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xa60c0985 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbbbc3a35 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc5ea5599 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xc69f14dc nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xcb7a2573 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd6eb3264 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xd8fd5c58 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0xdaf32480 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xed8ba2af nfc_hci_send_response +EXPORT_SYMBOL net/nfc/nci/nci 0x3a9d1ec2 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x746087a5 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7b7f86e7 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x866e4c44 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc347868b nci_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x260e537e nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x485e4452 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x4b2bfbb3 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x60754061 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x7c8e29f9 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x8852d7ef nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x8ed3b828 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x927da42b nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xa22e0541 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xbeb891bb nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xe2ea4797 nfc_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x1291f1cd pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x17fb4525 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x3a0d074a phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x493633a8 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x4a05e4c3 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x624f1436 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x853e9747 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xbb96bf64 pn_sock_get_port +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ea2b260 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x172b7cad rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1b367d97 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x30e1418c rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3740eccc rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x52d9dfb0 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5ba76be0 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x80673e4f rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x86450382 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9bc62865 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xaf8a4cdd rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb1a91367 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe595862f key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf0128be2 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfcb413bc rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/sctp/sctp 0x2c190f11 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xf2747ad2 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0xa14f43ca wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xc2588b80 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x035016df __cfg80211_send_deauth +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 0x0a5df51e cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x0c4afc2f ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x16cae2ac wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1f77d777 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x2282f109 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x237434f5 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2966c0ca cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2fe6f578 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x338f3560 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x33fa4818 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x370897a3 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x40d0eb4f cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x424d189d cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x45f0cb63 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x49ebe2df cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x4a70f6ec __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x54497fb0 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5fd2d7e7 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x6093edba cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x66a772eb cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x69cbd3ce cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x78952159 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x7a264052 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x7c8cad8a cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x7cc167f7 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x7d870d3f freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7e7368ff wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f206a50 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x854066f3 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8cca23b1 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x90691b3b cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x960f8df1 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9ad662f9 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa036a85b regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xa155c2d8 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa3940ad4 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xad0ac795 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb4ce5a1f cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xbdace785 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xbdd8d392 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xc502455a cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc83ae83e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd210308a wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xd4b401f4 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xd772fe74 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xdd68fc5b wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe4022c9d cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xe49ec50a cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xe74127bb cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xe8348709 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xea7cc638 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xeed6e831 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xf3a38e04 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xf482f9c4 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfdfcb642 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xfee65cfe cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x6a2dbc55 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6bfc7bb4 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x83fe7b56 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x96b8e28b lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xceca6446 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xdc14cb48 lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0xc924bbb9 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x5b3c1dec snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x19b43c4b 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 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 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe174aee9 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xea3e9406 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf893d4d6 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x4ea6a042 snd_seq_device_register_driver +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 0xe640ff20 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 0x101a2e57 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x3cefc9b4 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x020ad8f2 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0eadfa77 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x152144e2 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1dda0a13 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x304343e6 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5cfb2e07 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5ebf758c snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x68577c7c snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x71a32cd8 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x93790b0e snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa97a719d snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb07f172e snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe815c32 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc21a0248 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdd63ba60 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdd726258 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfd2b6181 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x50cf1104 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 0x0b8d33c5 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0d2a5f8b snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x29483583 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4e998e7e snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x52b3bc71 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x542f0929 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5e1aaef8 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x663c0bd2 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6fc84a5d snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x857542d9 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9063c3d4 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x98a68d68 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbe3d3807 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc2b87960 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcca66408 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcd7cf710 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf3477a7b snd_ac97_set_rate +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 0x740854b5 snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x0003f34e dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x0007eb08 nand_scan_bbt +EXPORT_SYMBOL vmlinux 0x000a82fc scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x0041e83c register_quota_format +EXPORT_SYMBOL vmlinux 0x0051fbfa of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x00630784 netif_napi_add +EXPORT_SYMBOL vmlinux 0x007132e9 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x007e0fa2 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0081030e omap_vram_reserve +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00a2c4fd genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x00ad311d __napi_schedule +EXPORT_SYMBOL vmlinux 0x00ccf4d9 sock_create_kern +EXPORT_SYMBOL vmlinux 0x00e3646c snd_jack_new +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00ee3685 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01206d17 snd_pcm_limit_hw_rates +EXPORT_SYMBOL vmlinux 0x0129e6e1 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x0131c856 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x01424f59 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x015218a3 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x016515b2 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x017456b2 nobh_writepage +EXPORT_SYMBOL vmlinux 0x0174841d con_is_bound +EXPORT_SYMBOL vmlinux 0x018d7d55 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0195ae5a tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x019c0777 sg_miter_start +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01a55b65 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x01cd393f ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x01cea563 lookup_hash +EXPORT_SYMBOL vmlinux 0x01e8eedd neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x01fea6ed usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x020835a1 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x0210e5e2 may_umount +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02187acb mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x021b80be end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x0232f0a1 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x0238d92e bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x02450a6f module_put +EXPORT_SYMBOL vmlinux 0x024bf88f omap_modify_dma_chain_params +EXPORT_SYMBOL vmlinux 0x024c5e2b netdev_change_features +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 0x0271af9c netdev_info +EXPORT_SYMBOL vmlinux 0x027e24a2 fb_set_var +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x0289743f of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x02a0d156 gpmc_prefetch_reset +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b8b3ea dquot_acquire +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f7acb5 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0302c48b idr_destroy +EXPORT_SYMBOL vmlinux 0x03051c82 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x030f02ef skb_checksum_help +EXPORT_SYMBOL vmlinux 0x0312aae6 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x031786d3 sock_update_classid +EXPORT_SYMBOL vmlinux 0x031ba9bf atomic_dec_and_mutex_lock +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 0x036edc84 __find_get_block +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03813ee8 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x0384fc59 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x03a7452e call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x03bb46c6 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03e1ca3d twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x03fc037f netif_carrier_off +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04194aee nand_scan_ident +EXPORT_SYMBOL vmlinux 0x041bfd7a inet_select_addr +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045b0075 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x0491b6ae input_free_device +EXPORT_SYMBOL vmlinux 0x04ae1a7e tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x04c47134 of_device_register +EXPORT_SYMBOL vmlinux 0x04cb6240 files_lglock +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04e43b4d simple_pin_fs +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x051c31a6 vfs_unlink +EXPORT_SYMBOL vmlinux 0x051ff3aa vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x052988bf inet_shutdown +EXPORT_SYMBOL vmlinux 0x05304ee3 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x05590baf blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x0582464f sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x05887184 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x058db3f5 up_read +EXPORT_SYMBOL vmlinux 0x05a57ee3 genl_notify +EXPORT_SYMBOL vmlinux 0x05a9f870 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x05baaba0 wait_for_completion +EXPORT_SYMBOL vmlinux 0x05dd498e submit_bio +EXPORT_SYMBOL vmlinux 0x05dd9ac0 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x05e1b447 snd_timer_start +EXPORT_SYMBOL vmlinux 0x05e68e6f kernel_listen +EXPORT_SYMBOL vmlinux 0x05f7fb04 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x05fae862 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x0600178a fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x061277e8 set_page_dirty +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0629f11f register_sound_special +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0640f1b5 tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x06489559 kill_block_super +EXPORT_SYMBOL vmlinux 0x065addf9 write_one_page +EXPORT_SYMBOL vmlinux 0x065b1510 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x065e9734 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x065fbedf bio_kmalloc +EXPORT_SYMBOL vmlinux 0x066820cc udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x06727320 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685053d __brelse +EXPORT_SYMBOL vmlinux 0x06b97d24 snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0x06cd6023 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x06ea8aac led_blink_set +EXPORT_SYMBOL vmlinux 0x06fc1425 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0712feb1 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x07189e3f tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x0728568a __dst_free +EXPORT_SYMBOL vmlinux 0x07571668 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x076f5fde tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x079119a7 kthread_create_on_node +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 0x07e948bd tcp_make_synack +EXPORT_SYMBOL vmlinux 0x08091404 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x080e5e6d __neigh_event_send +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084c4680 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x0854d805 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x08a7884d jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x08ae76be generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x08b145f1 bmap +EXPORT_SYMBOL vmlinux 0x08c02d2c splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x08d4bf7c security_d_instantiate +EXPORT_SYMBOL vmlinux 0x08ded414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x08ee492a tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x08fda2ce journal_extend +EXPORT_SYMBOL vmlinux 0x09259b5f lock_may_read +EXPORT_SYMBOL vmlinux 0x09360eba omapdss_dpi_display_enable +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x09514b1e register_md_personality +EXPORT_SYMBOL vmlinux 0x09535974 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0995195d phy_start +EXPORT_SYMBOL vmlinux 0x09a6d695 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x09ad3552 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x09b058f9 cdev_init +EXPORT_SYMBOL vmlinux 0x09b43d79 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09cd3932 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09f1e264 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x0a020678 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a47bfd7 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x0a4917bd bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x0a7e1c5e tty_vhangup +EXPORT_SYMBOL vmlinux 0x0a8648e7 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x0a8de6b2 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x0a94b4fb kernel_read +EXPORT_SYMBOL vmlinux 0x0aa13d05 __raw_readsw +EXPORT_SYMBOL vmlinux 0x0aae1b1f dquot_release +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 0x0ae56306 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b14fa60 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b351ada mempool_resize +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b69a29f down_trylock +EXPORT_SYMBOL vmlinux 0x0b701dcc twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b90e80b proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x0bb04e84 find_inode_number +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be8f5d9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x0bf6675e __lock_buffer +EXPORT_SYMBOL vmlinux 0x0c09b60b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x0c1af3b6 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x0c35f2c6 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0c4c5b08 read_dev_sector +EXPORT_SYMBOL vmlinux 0x0c5029a9 seq_path +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5ce061 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c70c408 pipe_lock +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c938ca0 pid_task +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cc89c8c eth_header_cache +EXPORT_SYMBOL vmlinux 0x0cd2ef66 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x0cd5c69a generic_setlease +EXPORT_SYMBOL vmlinux 0x0cdd158d sg_alloc_table +EXPORT_SYMBOL vmlinux 0x0d22d11f get_unmapped_area +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d619563 __register_chrdev +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dd3c424 skb_store_bits +EXPORT_SYMBOL vmlinux 0x0de1ca67 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x0e0bb554 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x0e1afdbc sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x0e2106d2 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0e235250 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x0e42f9e0 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x0e47e2db genphy_resume +EXPORT_SYMBOL vmlinux 0x0e62e9ee seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e84fc85 inc_nlink +EXPORT_SYMBOL vmlinux 0x0e893437 lg_lock_init +EXPORT_SYMBOL vmlinux 0x0e8dce9e tcp_sendpage +EXPORT_SYMBOL vmlinux 0x0ea6e043 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x0ec8e2ea __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x0ec98808 ida_init +EXPORT_SYMBOL vmlinux 0x0eddaf63 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x0ee59741 dev_activate +EXPORT_SYMBOL vmlinux 0x0eebf79d sock_create_lite +EXPORT_SYMBOL vmlinux 0x0f3e7d8a __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x0f476cde skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f71c676 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x0f73ffc3 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x0f92c3ac input_unregister_handler +EXPORT_SYMBOL vmlinux 0x0fa2a45e __memzero +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fcf6b16 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x0fea399c bio_copy_user +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ffa8302 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x1016bceb generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x102aaba7 abort_creds +EXPORT_SYMBOL vmlinux 0x1034a20c scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x105a2fb9 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10748f6d iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x1083d8cd unlock_new_inode +EXPORT_SYMBOL vmlinux 0x10af06a1 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x10cea1c8 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x10e4375c inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110a4cbb seq_release +EXPORT_SYMBOL vmlinux 0x1120c4ae skb_copy_bits +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112748bd omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0x112dcfc3 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x1159ae96 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x119cbd33 clear_inode +EXPORT_SYMBOL vmlinux 0x11d2dab6 phy_driver_register +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x120a2434 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x12113572 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x1220a4ed arp_tbl +EXPORT_SYMBOL vmlinux 0x123788b1 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x12388ba1 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x1239173c update_time +EXPORT_SYMBOL vmlinux 0x1243001a skb_queue_tail +EXPORT_SYMBOL vmlinux 0x12435c0b __nla_reserve +EXPORT_SYMBOL vmlinux 0x125b6240 nf_reinject +EXPORT_SYMBOL vmlinux 0x1275de8b ip_fragment +EXPORT_SYMBOL vmlinux 0x12976460 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12deb04e phy_device_free +EXPORT_SYMBOL vmlinux 0x12f108fa inet_recvmsg +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13215128 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1349ac40 scsi_get_command +EXPORT_SYMBOL vmlinux 0x135a29ee tcp_parse_options +EXPORT_SYMBOL vmlinux 0x13ccf651 __lock_page +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e0b5fd lookup_one_len +EXPORT_SYMBOL vmlinux 0x13f7bb3c elv_abort_queue +EXPORT_SYMBOL vmlinux 0x14087388 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x141787b0 fd_install +EXPORT_SYMBOL vmlinux 0x141c9ddd inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1434869c ip_getsockopt +EXPORT_SYMBOL vmlinux 0x143b6aea scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x145e0c42 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x14809835 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x148535d8 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x1499686b follow_pfn +EXPORT_SYMBOL vmlinux 0x14d27b22 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14e6a075 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x1524d58b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x153d8b4f of_find_device_by_node +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 0x158b72ec scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x15a24c83 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x15db9c27 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x15def305 save_mount_options +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x1629235d n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1633b67a generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x1645106a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x164abe44 take_over_console +EXPORT_SYMBOL vmlinux 0x1660cad1 get_user_pages +EXPORT_SYMBOL vmlinux 0x166434a8 vfs_write +EXPORT_SYMBOL vmlinux 0x1678e869 snd_info_register +EXPORT_SYMBOL vmlinux 0x1684638e mount_pseudo +EXPORT_SYMBOL vmlinux 0x1698c676 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x16b921f0 generic_listxattr +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16ee5e40 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x16ef33bd security_path_rmdir +EXPORT_SYMBOL vmlinux 0x16f4670c unlock_page +EXPORT_SYMBOL vmlinux 0x16f6f9c7 dquot_commit +EXPORT_SYMBOL vmlinux 0x16fdb2dc loop_register_transfer +EXPORT_SYMBOL vmlinux 0x1719afec dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x172afa32 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x176e98eb inet_release +EXPORT_SYMBOL vmlinux 0x1773b81a get_super +EXPORT_SYMBOL vmlinux 0x17760c6e filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x178ad049 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x17a142df __copy_from_user +EXPORT_SYMBOL vmlinux 0x17a61276 __netdev_printk +EXPORT_SYMBOL vmlinux 0x17bfe478 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1848aae6 inode_dio_done +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 0x1865d920 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x188428e1 I_BDEV +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18bff5e0 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x191bdeb1 file_open_root +EXPORT_SYMBOL vmlinux 0x1924a3ea load_nls_default +EXPORT_SYMBOL vmlinux 0x192d8175 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x1945106d snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x195d14cc blk_sync_queue +EXPORT_SYMBOL vmlinux 0x196aff3e dev_base_lock +EXPORT_SYMBOL vmlinux 0x197623d8 write_cache_pages +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197d9e46 md_check_recovery +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x197ff629 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x1980302a pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x1998b56d nand_bch_init +EXPORT_SYMBOL vmlinux 0x199a8297 lock_super +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19aca78a console_start +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x1a297bfb tty_set_operations +EXPORT_SYMBOL vmlinux 0x1a3cc738 netdev_crit +EXPORT_SYMBOL vmlinux 0x1a54e4c3 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a7c9cbe netdev_state_change +EXPORT_SYMBOL vmlinux 0x1aaf22c8 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x1ab1e1ed dquot_destroy +EXPORT_SYMBOL vmlinux 0x1ab47db9 misc_deregister +EXPORT_SYMBOL vmlinux 0x1aca7ace blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1af38e0f scsi_device_resume +EXPORT_SYMBOL vmlinux 0x1af49981 get_super_thawed +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b044fdd i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x1b0a3daf fsync_bdev +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b5f2dc2 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b7deb68 ping_prot +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba5cb20 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x1baeaed4 proc_dostring +EXPORT_SYMBOL vmlinux 0x1baf1bb4 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x1c123627 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x1c29a5cf con_copy_unimap +EXPORT_SYMBOL vmlinux 0x1c3899d9 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x1c58fe1c blkdev_get +EXPORT_SYMBOL vmlinux 0x1c5b3b75 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x1c7d56e8 tty_port_put +EXPORT_SYMBOL vmlinux 0x1c8c4d5e dqget +EXPORT_SYMBOL vmlinux 0x1ca1b29d nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x1cb4ffeb md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x1cc23b17 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd0f6c0 mempool_alloc +EXPORT_SYMBOL vmlinux 0x1cf89283 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d2712f7 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x1d43d57c seq_putc +EXPORT_SYMBOL vmlinux 0x1d5ae2a3 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1d66a1f7 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x1d7b1b39 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x1dad6373 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x1db47177 put_disk +EXPORT_SYMBOL vmlinux 0x1db7dc40 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0aa50c mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x1e1667b5 names_cachep +EXPORT_SYMBOL vmlinux 0x1e1b7f74 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x1e24fd27 unregister_key_type +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e3b41a6 dst_release +EXPORT_SYMBOL vmlinux 0x1e67daff mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e836b3b flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec4d070 __sock_create +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1edfd9f1 dev_mc_del +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f04985d invalidate_bdev +EXPORT_SYMBOL vmlinux 0x1f354e6a dma_supported +EXPORT_SYMBOL vmlinux 0x1f3ef377 kdb_current_task +EXPORT_SYMBOL vmlinux 0x1f4b7a2e d_move +EXPORT_SYMBOL vmlinux 0x1f61011c twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x1f6c3361 key_invalidate +EXPORT_SYMBOL vmlinux 0x1f745e2c key_alloc +EXPORT_SYMBOL vmlinux 0x1f77e8ef of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f988e5d phy_register_fixup +EXPORT_SYMBOL vmlinux 0x1f9d6f4b __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x1f9ed953 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1febd8c4 inet_frags_init +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20085764 register_nls +EXPORT_SYMBOL vmlinux 0x202d3c02 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x203be6d1 snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x205b4177 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x205dc023 genphy_read_status +EXPORT_SYMBOL vmlinux 0x205ec8de omap_dispc_register_isr +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20a0eaf2 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20ab5a82 kunmap +EXPORT_SYMBOL vmlinux 0x20aba88e tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20cdb749 sget +EXPORT_SYMBOL vmlinux 0x20d7cd32 sk_filter +EXPORT_SYMBOL vmlinux 0x210368be load_nls +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x211efcd6 skb_insert +EXPORT_SYMBOL vmlinux 0x2124040f drop_nlink +EXPORT_SYMBOL vmlinux 0x2124d368 snd_card_proc_new +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x2145633c tty_kref_put +EXPORT_SYMBOL vmlinux 0x2157d5ad free_netdev +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x219401d8 dev_change_flags +EXPORT_SYMBOL vmlinux 0x219d2ba1 kmap_atomic +EXPORT_SYMBOL vmlinux 0x21aa4dd0 register_key_type +EXPORT_SYMBOL vmlinux 0x21bc9654 register_sound_dsp +EXPORT_SYMBOL vmlinux 0x21c5f2ff dma_sync_wait +EXPORT_SYMBOL vmlinux 0x21d9553f kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x22025eef __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x220ba76a linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x221dfde0 idr_pre_get +EXPORT_SYMBOL vmlinux 0x2223f30a __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223cc898 omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0x224df2d4 dev_crit +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c90d71 cont_write_begin +EXPORT_SYMBOL vmlinux 0x22cae18a vc_resize +EXPORT_SYMBOL vmlinux 0x22d19776 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x22e2ef4e ps2_drain +EXPORT_SYMBOL vmlinux 0x22ed0c1a xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x23014884 init_buffer +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x23690e30 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x238d3d68 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b90a38 noop_fsync +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c46d18 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23d5871e scsi_finish_command +EXPORT_SYMBOL vmlinux 0x23e0860d do_splice_direct +EXPORT_SYMBOL vmlinux 0x23ed126d dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x23f7ee8d cpu_cache +EXPORT_SYMBOL vmlinux 0x23f96368 phy_print_status +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2429a333 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x2451efd4 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24722ad2 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x247b45b2 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x249a0b5d scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24b9d305 d_find_alias +EXPORT_SYMBOL vmlinux 0x24d02289 block_write_full_page +EXPORT_SYMBOL vmlinux 0x24e10d8e twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252d7640 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x252ed4b1 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x2546f106 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2547483c read_cache_page_async +EXPORT_SYMBOL vmlinux 0x2570691b fb_find_mode +EXPORT_SYMBOL vmlinux 0x257b09ff dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2597f971 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x25ac5bd9 dql_init +EXPORT_SYMBOL vmlinux 0x25b4522b input_set_keycode +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25d2ad73 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x25d7382f fail_migrate_page +EXPORT_SYMBOL vmlinux 0x2601ecba inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x262a9620 complete_request_key +EXPORT_SYMBOL vmlinux 0x26309dec blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2663456a __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x268ae8a7 seq_open_private +EXPORT_SYMBOL vmlinux 0x26911e4d gen_new_estimator +EXPORT_SYMBOL vmlinux 0x26a83004 dst_discard +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26c65d12 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x26d7deb0 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26ec1805 replace_mount_options +EXPORT_SYMBOL vmlinux 0x26ed5c88 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x26f0f209 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x26f80eae elevator_init +EXPORT_SYMBOL vmlinux 0x26ffea9a mark_page_accessed +EXPORT_SYMBOL vmlinux 0x2700b38a mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x27572406 __invalidate_device +EXPORT_SYMBOL vmlinux 0x2757ad88 journal_wipe +EXPORT_SYMBOL vmlinux 0x27692c76 __pagevec_release +EXPORT_SYMBOL vmlinux 0x2780cf97 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ab8e95 register_gifconf +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x28007501 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x28054545 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2830fee2 idr_get_next +EXPORT_SYMBOL vmlinux 0x28605e9e tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x287fd61f sk_dst_check +EXPORT_SYMBOL vmlinux 0x2897fc48 omap_cfg_reg +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28d150af d_set_d_op +EXPORT_SYMBOL vmlinux 0x28d6861d __vmalloc +EXPORT_SYMBOL vmlinux 0x28dae1a1 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0x28ea4159 generic_write_sync +EXPORT_SYMBOL vmlinux 0x28f6e77c __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x2904f0e8 clk_round_rate +EXPORT_SYMBOL vmlinux 0x290bb47f dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x29199c3c neigh_ifdown +EXPORT_SYMBOL vmlinux 0x291d5a18 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x293fc70f write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x2944203d ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295f8276 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x296be509 omap_dss_get_overlay +EXPORT_SYMBOL vmlinux 0x297beb9f xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x297d5c63 filp_open +EXPORT_SYMBOL vmlinux 0x298a1b88 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x299ab1bf scsi_scan_target +EXPORT_SYMBOL vmlinux 0x29b37243 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x29b686bb scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x29ccad13 generic_file_open +EXPORT_SYMBOL vmlinux 0x29e9a014 kill_anon_super +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a1ed93e clk_add_alias +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a401f81 install_exec_creds +EXPORT_SYMBOL vmlinux 0x2a5851fc fb_pan_display +EXPORT_SYMBOL vmlinux 0x2a79ac13 clkdev_add +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab43ccb mmc_release_host +EXPORT_SYMBOL vmlinux 0x2ac6193b __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b16afbf km_query +EXPORT_SYMBOL vmlinux 0x2b1fc350 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b451a3e journal_init_dev +EXPORT_SYMBOL vmlinux 0x2b478e16 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x2b47b5ad dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x2b5084ce neigh_compat_output +EXPORT_SYMBOL vmlinux 0x2b688622 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2b90cdaa mempool_create +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bc4e7c6 __d_drop +EXPORT_SYMBOL vmlinux 0x2bcc9970 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x2bdd543a ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x2bdd9a63 tty_devnum +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c155833 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x2c1ee804 d_add_ci +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c3fdc40 proto_register +EXPORT_SYMBOL vmlinux 0x2c4229a7 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x2c94d00e dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x2c9a8a31 bdget +EXPORT_SYMBOL vmlinux 0x2ca71b9f ps2_init +EXPORT_SYMBOL vmlinux 0x2cafa1ce fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x2cf5f740 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x2d0a35aa input_open_device +EXPORT_SYMBOL vmlinux 0x2d0d8de0 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x2d12874a __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d34a1b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x2d441a57 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x2d4e64e2 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x2d5092bc sk_common_release +EXPORT_SYMBOL vmlinux 0x2d6507b5 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x2d7549b8 simple_setattr +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dab2cd8 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x2dc31429 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x2dd99ec3 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x2de4cc0c tty_register_device +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2e0d2827 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e253700 set_nlink +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e414614 bio_free +EXPORT_SYMBOL vmlinux 0x2e5810c6 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x2e6804af dev_disable_lro +EXPORT_SYMBOL vmlinux 0x2e6ac58c xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x2e9cb392 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x2ea0bfe8 arp_invalidate +EXPORT_SYMBOL vmlinux 0x2eb9dad2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x2ec01ae8 single_open +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 0x2f1ac4cb nf_afinfo +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fd85baf ___ratelimit +EXPORT_SYMBOL vmlinux 0x2fe7fffe gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x2fed0b8d get_task_io_context +EXPORT_SYMBOL vmlinux 0x3006e61a inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x3016eaa7 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x302d07ed jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x302e0149 __frontswap_load +EXPORT_SYMBOL vmlinux 0x304a32c3 truncate_setsize +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308aad56 omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0x309fb5b0 simple_write_end +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30b608f3 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f2a61d blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x30fa548c omap_dss_unregister_driver +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x312c05aa xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x313ffc4d set_security_override +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31658e22 cad_pid +EXPORT_SYMBOL vmlinux 0x3167fb2c mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x316dd1cd __wait_on_bit +EXPORT_SYMBOL vmlinux 0x317287ab register_exec_domain +EXPORT_SYMBOL vmlinux 0x317b67e3 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x318268ef skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x319fc25c tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x31a62c8c tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31bc34e7 snd_card_disconnect +EXPORT_SYMBOL vmlinux 0x31f03185 _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x32163f65 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x321d67b4 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x32208dab ppp_input +EXPORT_SYMBOL vmlinux 0x322b7ad8 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x3258bc2d netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x327e906f tcp_check_req +EXPORT_SYMBOL vmlinux 0x32837619 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32be1967 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x32c54d96 netdev_warn +EXPORT_SYMBOL vmlinux 0x32cc8545 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x32d21134 drop_super +EXPORT_SYMBOL vmlinux 0x32e96474 add_disk +EXPORT_SYMBOL vmlinux 0x32ed2399 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x3328ac00 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x332e13cd d_make_root +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x338da632 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x33935e1d tcp_prot +EXPORT_SYMBOL vmlinux 0x33cefbae omap_dss_find_device +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x3405125a neigh_parms_release +EXPORT_SYMBOL vmlinux 0x341245a5 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x3412e781 dev_mc_init +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x344e0fe5 seq_write +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3493acdd __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a33a29 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x34ea4fee uart_suspend_port +EXPORT_SYMBOL vmlinux 0x35140c50 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x3524b231 new_inode +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3541f4b7 write_inode_now +EXPORT_SYMBOL vmlinux 0x354537b0 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x355f425c kobject_set_name +EXPORT_SYMBOL vmlinux 0x35610e05 clk_get +EXPORT_SYMBOL vmlinux 0x35651285 scsi_execute +EXPORT_SYMBOL vmlinux 0x356de029 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x35715e16 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x35787864 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x357dae4a inet_frags_fini +EXPORT_SYMBOL vmlinux 0x359f3461 set_user_nice +EXPORT_SYMBOL vmlinux 0x35a8bd52 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x35b58466 arp_send +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c7f3d4 dev_mc_add +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35daec97 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x35db83c5 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x35e0c7a0 kern_path_create +EXPORT_SYMBOL vmlinux 0x35e49031 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x3600ef49 amba_request_regions +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x361672c8 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x361cd9e4 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x364b3fff up +EXPORT_SYMBOL vmlinux 0x36568b7b netdev_emerg +EXPORT_SYMBOL vmlinux 0x365f0ed3 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x367a562c generic_show_options +EXPORT_SYMBOL vmlinux 0x3680e051 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x3698b056 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3707b51e tty_throttle +EXPORT_SYMBOL vmlinux 0x373dfcda tcf_register_action +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37483628 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x3751a30e blk_put_request +EXPORT_SYMBOL vmlinux 0x376b5929 omapdss_default_get_timings +EXPORT_SYMBOL vmlinux 0x37798a9d init_special_inode +EXPORT_SYMBOL vmlinux 0x3784b43c neigh_destroy +EXPORT_SYMBOL vmlinux 0x378d18f6 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37b3946c nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37caf3eb simple_lookup +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f0da98 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x3801ff04 poll_initwait +EXPORT_SYMBOL vmlinux 0x380ff024 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x3816e4dc __serio_register_driver +EXPORT_SYMBOL vmlinux 0x381d219c inet_getname +EXPORT_SYMBOL vmlinux 0x382eab43 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x38403b90 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x3849561d empty_zero_page +EXPORT_SYMBOL vmlinux 0x3852684b kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x385de5e8 snd_timer_stop +EXPORT_SYMBOL vmlinux 0x38702740 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38deead3 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x3950711a of_match_device +EXPORT_SYMBOL vmlinux 0x39580112 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x3961e458 sock_wfree +EXPORT_SYMBOL vmlinux 0x396a5c3f sk_wait_data +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x3972df8f d_path +EXPORT_SYMBOL vmlinux 0x397deae0 setattr_copy +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39a23ea0 unregister_console +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39c2104a tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x39c80029 make_EII_client +EXPORT_SYMBOL vmlinux 0x3a8788df __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x3a8957f2 bio_put +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa16502 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3aaade2b dquot_commit_info +EXPORT_SYMBOL vmlinux 0x3aacb5ca rt6_lookup +EXPORT_SYMBOL vmlinux 0x3ad98a43 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x3b10d8c4 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x3b14f866 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x3b1a1888 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x3b29fe9a omap_dss_register_driver +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b366e3d qdisc_destroy +EXPORT_SYMBOL vmlinux 0x3b5903a4 account_page_redirty +EXPORT_SYMBOL vmlinux 0x3b759478 skb_unlink +EXPORT_SYMBOL vmlinux 0x3b7f8e27 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x3b91f3af snd_free_pages +EXPORT_SYMBOL vmlinux 0x3ba2ff8f simple_rmdir +EXPORT_SYMBOL vmlinux 0x3bb779a2 netdev_update_features +EXPORT_SYMBOL vmlinux 0x3bbba571 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc2eec9 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bec71d5 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c0b6ce0 snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x3c1ef7c7 down_read_trylock +EXPORT_SYMBOL vmlinux 0x3c4a8560 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x3c56db19 mdiobus_read +EXPORT_SYMBOL vmlinux 0x3c6a74d8 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c838bd7 scsi_add_device +EXPORT_SYMBOL vmlinux 0x3c92e470 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb06663 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x3cd04c20 iterate_mounts +EXPORT_SYMBOL vmlinux 0x3cd1851c dquot_operations +EXPORT_SYMBOL vmlinux 0x3ce125d9 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfc7e35 kern_unmount +EXPORT_SYMBOL vmlinux 0x3d03dd70 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x3d0e65f9 dma_pool_create +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d47f9f0 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x3d794224 inet_sendpage +EXPORT_SYMBOL vmlinux 0x3d86067c seq_lseek +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da1a1b5 genlmsg_put +EXPORT_SYMBOL vmlinux 0x3dc01d5d __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcc62bf set_binfmt +EXPORT_SYMBOL vmlinux 0x3de19c44 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0c512e free_task +EXPORT_SYMBOL vmlinux 0x3e441f89 phy_connect +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e474aef tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x3e5470da __inet6_hash +EXPORT_SYMBOL vmlinux 0x3e6133f8 journal_destroy +EXPORT_SYMBOL vmlinux 0x3e6b0b00 request_key +EXPORT_SYMBOL vmlinux 0x3e79a631 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x3e884f4b vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9d6df3 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x3ea0fd08 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ec79bae dev_alloc_name +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3eea6e20 ata_port_printk +EXPORT_SYMBOL vmlinux 0x3f09e3e9 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x3f119931 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f596662 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x3f605442 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x3f636a68 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x3f8d89d9 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x3f91f616 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x3fa5643a blk_end_request_all +EXPORT_SYMBOL vmlinux 0x3fa60951 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x3faad8c8 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x3fd05c54 generic_setxattr +EXPORT_SYMBOL vmlinux 0x3fd5088c rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x3fe9d3a3 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff7d131 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x40000636 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x402ca225 __kfree_skb +EXPORT_SYMBOL vmlinux 0x40327cee xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x407e2106 km_report +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 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x41077590 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x413982f8 __bio_clone +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415b12bb blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x4166ddd9 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x4168fb99 dev_addr_init +EXPORT_SYMBOL vmlinux 0x416e7bd0 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x417ac337 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x4186697d snd_timer_notify +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a9a2db tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x41ab2e13 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x41bfc910 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x41d568d6 of_device_is_available +EXPORT_SYMBOL vmlinux 0x41f7da32 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x423397fe pskb_expand_head +EXPORT_SYMBOL vmlinux 0x423c171f posix_test_lock +EXPORT_SYMBOL vmlinux 0x4283791b vfs_mkdir +EXPORT_SYMBOL vmlinux 0x42864147 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x429647ad tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4303d249 netlink_set_err +EXPORT_SYMBOL vmlinux 0x434503e4 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x4347b971 idr_init +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436a1d3e lg_local_unlock +EXPORT_SYMBOL vmlinux 0x436f0bdb sock_sendmsg +EXPORT_SYMBOL vmlinux 0x43926d52 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43aa58e0 sock_no_connect +EXPORT_SYMBOL vmlinux 0x43c7af94 mmc_free_host +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x44064dcf cpu_user +EXPORT_SYMBOL vmlinux 0x441443d5 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x441ed159 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x4433b9c5 dev_add_pack +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x445699fe request_firmware +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446813bb xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x449ab011 kill_litter_super +EXPORT_SYMBOL vmlinux 0x449d2232 snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44ce0b66 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44efd447 omap_dss_stop_device +EXPORT_SYMBOL vmlinux 0x45116a5e noop_llseek +EXPORT_SYMBOL vmlinux 0x4520dba0 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x4562ea8d mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x45715669 __alloc_skb +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45983139 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x45a8fbaa down_timeout +EXPORT_SYMBOL vmlinux 0x45a9bd71 vc_cons +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45cfc082 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45eaf988 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x4601ae1d unregister_nls +EXPORT_SYMBOL vmlinux 0x460ea1c5 udplite_table +EXPORT_SYMBOL vmlinux 0x46120b98 of_device_alloc +EXPORT_SYMBOL vmlinux 0x46166350 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x461aa026 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x461e4529 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x464dc46c nla_reserve +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x4662396a register_sound_midi +EXPORT_SYMBOL vmlinux 0x467cb203 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x4686c5d9 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x46b6e415 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x46c4b962 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46f1be97 proc_symlink +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x47162a99 key_unlink +EXPORT_SYMBOL vmlinux 0x471e5599 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x473031f2 vfs_read +EXPORT_SYMBOL vmlinux 0x474ba377 nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x476525bc snd_dma_reserve_buf +EXPORT_SYMBOL vmlinux 0x476fa1f6 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47b70d45 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x47c45f42 user_revoke +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x483ec199 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48917482 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x48a21e73 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48e2a6a7 nf_log_packet +EXPORT_SYMBOL vmlinux 0x48e38388 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x48edd974 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x48fee074 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x49034cdf brioctl_set +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49103014 read_cache_pages +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4960601e uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x49902f2b d_lookup +EXPORT_SYMBOL vmlinux 0x499a47c5 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x49a9253b mii_check_media +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49be8388 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x49cfcc8f phy_attach +EXPORT_SYMBOL vmlinux 0x49db5768 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x4a0875a9 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x4a1afb2a kernel_connect +EXPORT_SYMBOL vmlinux 0x4a34cfa9 __netif_schedule +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a469073 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x4a51dce6 omap_dss_get_next_device +EXPORT_SYMBOL vmlinux 0x4a5d9063 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x4a71f939 led_brightness_set +EXPORT_SYMBOL vmlinux 0x4a80aea6 qdisc_reset +EXPORT_SYMBOL vmlinux 0x4ab4d952 generic_permission +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4abdb61c seq_printf +EXPORT_SYMBOL vmlinux 0x4ac6e503 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x4ae69648 sk_free +EXPORT_SYMBOL vmlinux 0x4ae92f25 journal_errno +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b015768 snd_iprintf +EXPORT_SYMBOL vmlinux 0x4b05153d blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x4b095b1a vfs_getattr +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b20cbd2 ida_remove +EXPORT_SYMBOL vmlinux 0x4b299891 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x4b30e32d bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b409636 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x4b56063e snd_timer_global_new +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6ce830 bioset_free +EXPORT_SYMBOL vmlinux 0x4b806e7b snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x4ba39171 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x4bc39cb0 set_disk_ro +EXPORT_SYMBOL vmlinux 0x4bc5eddb serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x4be162d5 should_remove_suid +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c16773d textsearch_unregister +EXPORT_SYMBOL vmlinux 0x4c24694f snd_timer_global_register +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c90c961 blk_rq_init +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbdb927 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4cdbbacb generic_readlink +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cfa8d5e xfrm_lookup +EXPORT_SYMBOL vmlinux 0x4d028f40 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d1255e9 dev_warn +EXPORT_SYMBOL vmlinux 0x4d3402a3 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d3dd7ca iget_locked +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d441a33 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d4aaae7 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x4d60e380 dev_addr_del +EXPORT_SYMBOL vmlinux 0x4d8dfb1a dev_deactivate +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d9a9bfd eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dca2e83 skb_queue_head +EXPORT_SYMBOL vmlinux 0x4de69da3 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e2a24b6 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3f738c udp_sendmsg +EXPORT_SYMBOL vmlinux 0x4e452673 sock_init_data +EXPORT_SYMBOL vmlinux 0x4e506013 omap_dma_link_lch +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 0x4e8c3868 current_fs_time +EXPORT_SYMBOL vmlinux 0x4e8efdc0 serio_close +EXPORT_SYMBOL vmlinux 0x4e8f5c2c find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x4ebac85b twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x4ed70e07 clk_get_rate +EXPORT_SYMBOL vmlinux 0x4ed84ddf scsi_prep_return +EXPORT_SYMBOL vmlinux 0x4f1387c7 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3a6102 read_cache_page +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f7c932e twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f833685 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4fe63d8c dm_put_device +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ff9a602 noop_qdisc +EXPORT_SYMBOL vmlinux 0x500468e3 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5063978d snd_component_add +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50c71330 idr_get_new +EXPORT_SYMBOL vmlinux 0x50ccff03 omap_dma_set_prio_lch +EXPORT_SYMBOL vmlinux 0x50e23317 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x50faecf3 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x5100e8e4 kobject_add +EXPORT_SYMBOL vmlinux 0x510f64b4 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5124fbd6 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x51392eba tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5169161d omap_free_dma_chain +EXPORT_SYMBOL vmlinux 0x517ea0ce mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x518f3c84 inet6_bind +EXPORT_SYMBOL vmlinux 0x51908eb8 __raw_writesl +EXPORT_SYMBOL vmlinux 0x519bb80f fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x51ac7375 simple_link +EXPORT_SYMBOL vmlinux 0x51b81f1d filp_close +EXPORT_SYMBOL vmlinux 0x51cfeac4 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51dff8f5 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5206509b snd_device_free +EXPORT_SYMBOL vmlinux 0x5218c62c snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x522f5ac4 registered_fb +EXPORT_SYMBOL vmlinux 0x5233ac21 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x523958c1 account_page_writeback +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x524a196a dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x525545f1 default_llseek +EXPORT_SYMBOL vmlinux 0x525d8647 free_buffer_head +EXPORT_SYMBOL vmlinux 0x5271c6d6 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528e4a08 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x52b20809 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x52b5c211 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x52c6ee81 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x52d2e6ae key_validate +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52efd766 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530e3b17 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x5315fa97 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x532f7ce8 path_get +EXPORT_SYMBOL vmlinux 0x5331eabb ida_simple_get +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x533bba3f wait_iff_congested +EXPORT_SYMBOL vmlinux 0x53698b4a blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x537465ad ilookup5 +EXPORT_SYMBOL vmlinux 0x537bc8ae i2c_register_driver +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x53840c92 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x538789f9 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53a829fc mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x53b46443 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x53ba4e7c up_write +EXPORT_SYMBOL vmlinux 0x53e73851 snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x5415ea74 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x54172d89 blk_start_queue +EXPORT_SYMBOL vmlinux 0x541f3611 __getblk +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54a8bf57 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54aa5e20 netif_device_detach +EXPORT_SYMBOL vmlinux 0x54bae7f7 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x551f8bf2 blk_complete_request +EXPORT_SYMBOL vmlinux 0x5532a952 update_region +EXPORT_SYMBOL vmlinux 0x5534f692 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x553614f5 dev_uc_init +EXPORT_SYMBOL vmlinux 0x5559e3c4 snd_device_register +EXPORT_SYMBOL vmlinux 0x55724a57 udp_poll +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a6d2e2 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x55bb8691 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x55ef657b sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5622e1a9 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x562ad513 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56374231 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5646475c kick_iocb +EXPORT_SYMBOL vmlinux 0x5649666f do_splice_from +EXPORT_SYMBOL vmlinux 0x56508513 udp_prot +EXPORT_SYMBOL vmlinux 0x5677cf48 sync_blockdev +EXPORT_SYMBOL vmlinux 0x56789ac5 omap_set_dma_color_mode +EXPORT_SYMBOL vmlinux 0x56ad0389 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x56c474bd bdevname +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cfb6c8 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x56d07a62 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x56d9647e inet_stream_ops +EXPORT_SYMBOL vmlinux 0x56eff735 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x56f7951f of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x571a82af sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x574d4141 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575955c1 release_pages +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578d9f7e scsi_host_put +EXPORT_SYMBOL vmlinux 0x57e85255 snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x57f9e703 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x58300e45 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584933e2 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x58568b96 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x585b8429 snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x585fd579 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x5863d5d3 wake_up_process +EXPORT_SYMBOL vmlinux 0x5864724f snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0x586884a4 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x587885eb dev_set_group +EXPORT_SYMBOL vmlinux 0x58c33744 filemap_fault +EXPORT_SYMBOL vmlinux 0x58eee26b unregister_filesystem +EXPORT_SYMBOL vmlinux 0x58f56342 dev_open +EXPORT_SYMBOL vmlinux 0x58fe1e28 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x5909e6b6 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x590b32c1 generic_removexattr +EXPORT_SYMBOL vmlinux 0x59195e99 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593700c2 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x59391c7a skb_put +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x594fd546 omap_prcm_get_reset_sources +EXPORT_SYMBOL vmlinux 0x5951bb6e simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x595a2ed7 xfrm_input +EXPORT_SYMBOL vmlinux 0x595e2520 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x5993a2b8 alloc_disk +EXPORT_SYMBOL vmlinux 0x59c9af90 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x59d01b4f snd_unregister_device +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59db722e sk_stop_timer +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59e96fff genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x5a21595d scsi_scan_host +EXPORT_SYMBOL vmlinux 0x5a21906c kill_fasync +EXPORT_SYMBOL vmlinux 0x5a3a7db9 block_write_begin +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa2077b revert_creds +EXPORT_SYMBOL vmlinux 0x5aa6c4ff dquot_disable +EXPORT_SYMBOL vmlinux 0x5ad866f6 input_event +EXPORT_SYMBOL vmlinux 0x5aec9cdc abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x5afbd2c2 __page_symlink +EXPORT_SYMBOL vmlinux 0x5b1300a1 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b334156 down_killable +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bd87e85 inet_put_port +EXPORT_SYMBOL vmlinux 0x5bf4a1eb sg_last +EXPORT_SYMBOL vmlinux 0x5c4973a5 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x5c561f32 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x5c5a9be4 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x5c637aa5 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5c6c5f85 input_register_handle +EXPORT_SYMBOL vmlinux 0x5c7cf45a unregister_quota_format +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5cb4c0de i2c_verify_client +EXPORT_SYMBOL vmlinux 0x5cbeea54 fb_show_logo +EXPORT_SYMBOL vmlinux 0x5ce507a4 bio_add_page +EXPORT_SYMBOL vmlinux 0x5cfe012b ilookup +EXPORT_SYMBOL vmlinux 0x5d0399d6 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d8c7b6a scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x5d8d024d fb_get_mode +EXPORT_SYMBOL vmlinux 0x5daed819 __get_page_tail +EXPORT_SYMBOL vmlinux 0x5de3e669 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5e02b553 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x5e10b03e input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x5e1fe88f bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x5e2e6e63 simple_fill_super +EXPORT_SYMBOL vmlinux 0x5e43a927 jbd2_journal_errno +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 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea51499 skb_clone +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ecf0431 __elv_add_request +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed39004 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ef18899 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x5ef2a7f9 blk_put_queue +EXPORT_SYMBOL vmlinux 0x5ef4d861 seq_bitmap +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0e9c91 xfrm_state_delete +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 0x5f75ee67 i2c_use_client +EXPORT_SYMBOL vmlinux 0x5f8901be md_write_end +EXPORT_SYMBOL vmlinux 0x5f8c3651 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fb0d0db mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x5fb8288b cdrom_open +EXPORT_SYMBOL vmlinux 0x5fbf2c76 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x5fc64abd xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x5fd31254 put_page +EXPORT_SYMBOL vmlinux 0x5fde585e __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x5fed2668 bio_map_kern +EXPORT_SYMBOL vmlinux 0x5ff15e2f eth_header +EXPORT_SYMBOL vmlinux 0x5ff1ebc8 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x5ff2d1cc skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5ff7b482 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6004edb6 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6029ff82 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x603fd4ae xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x6044a47f snd_register_device_for_dev +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x6075603a skb_pad +EXPORT_SYMBOL vmlinux 0x609a263f tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b5f5f0 __nla_put +EXPORT_SYMBOL vmlinux 0x60bb3da7 user_path_at +EXPORT_SYMBOL vmlinux 0x60c5ed8b fifo_set_limit +EXPORT_SYMBOL vmlinux 0x60f71cfa complete +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x613b8cb1 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x6152c108 snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x6167ac40 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x61740dba __scsi_put_command +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6181ea8c sound_class +EXPORT_SYMBOL vmlinux 0x618eda37 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x61a79f08 __irq_regs +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b9f733 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x61c20fc8 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x61ed2170 mmc_erase +EXPORT_SYMBOL vmlinux 0x61fda54b xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x6202792c dev_get_by_index +EXPORT_SYMBOL vmlinux 0x621d0635 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x625d831d mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x6263f120 tty_unregister_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 0x62a345db jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x62a541b6 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x62b72b0d mutex_unlock +EXPORT_SYMBOL vmlinux 0x62b8667b tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62de4abd of_platform_device_create +EXPORT_SYMBOL vmlinux 0x62f42e21 snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6324f2b0 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x6366b75a blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL vmlinux 0x6386c85d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6388d550 do_sync_write +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63ab2604 irq_stat +EXPORT_SYMBOL vmlinux 0x63b87fc5 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x63c95937 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x63e518d9 scsi_unregister +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f792e6 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x64034a2b mpage_writepage +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640502a9 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x640712f2 block_truncate_page +EXPORT_SYMBOL vmlinux 0x641312e9 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x64180273 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x6422eb53 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x642819fc elv_rb_find +EXPORT_SYMBOL vmlinux 0x64955a70 mii_check_link +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649e6086 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x64a7e820 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x64d233c8 ioremap_page +EXPORT_SYMBOL vmlinux 0x650639f4 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x650ba5e1 gnet_stats_finish_copy +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 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65531ff6 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x656b11dc default_file_splice_read +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x65909849 key_task_permission +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e7b231 xfrm6_rcv_spi +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 0x66146a91 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x66283876 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x66391f12 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x66431e11 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x665d6551 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x667dc809 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x669f4c23 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66add71c proc_create_data +EXPORT_SYMBOL vmlinux 0x66c8f25a kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x66d12532 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x66d390c8 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x66e0182c ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x66ffd0d2 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x6723a27e dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x673b024f snd_device_new +EXPORT_SYMBOL vmlinux 0x673f1853 kernel_bind +EXPORT_SYMBOL vmlinux 0x6744c718 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x67498a80 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x6749e828 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x6761edfe tcp_disconnect +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x676e475a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x677d9162 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x67822543 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67ba3774 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67bf09d2 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x67c94869 redraw_screen +EXPORT_SYMBOL vmlinux 0x67e6b758 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x67e77b30 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x684ae1a7 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x686b03a8 snd_ctl_notify +EXPORT_SYMBOL vmlinux 0x68770a0b ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68922fba __quota_error +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68bdfb70 tcp_close +EXPORT_SYMBOL vmlinux 0x68c0af13 set_device_ro +EXPORT_SYMBOL vmlinux 0x68cfabbc omap_dss_start_device +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x690ee1bc devm_free_irq +EXPORT_SYMBOL vmlinux 0x691196c1 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x6916922e kmem_cache_create +EXPORT_SYMBOL vmlinux 0x6932d42d netlink_ack +EXPORT_SYMBOL vmlinux 0x693ddcbf submit_bh +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69764c34 put_tty_driver +EXPORT_SYMBOL vmlinux 0x698a2df8 sk_stream_error +EXPORT_SYMBOL vmlinux 0x6999e041 tty_port_init +EXPORT_SYMBOL vmlinux 0x69a1e446 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69c2ed1b jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x69d05489 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x69d1dffb skb_append +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a05d41b bio_endio +EXPORT_SYMBOL vmlinux 0x6a14ca32 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x6a2c88de tcf_exts_change +EXPORT_SYMBOL vmlinux 0x6a31540e d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x6a559116 rtc_lock +EXPORT_SYMBOL vmlinux 0x6a6fa8b4 contig_page_data +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7a7dbf scsi_host_get +EXPORT_SYMBOL vmlinux 0x6aa78de4 vm_insert_page +EXPORT_SYMBOL vmlinux 0x6ab00c9e kill_pid +EXPORT_SYMBOL vmlinux 0x6b15e068 i2c_transfer +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b5a7057 ida_destroy +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b7c56f0 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x6b83c1b4 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x6b8b0a43 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x6b8c8ad6 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x6b8f223b dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x6b94d7fa nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bcf2b40 flush_kernel_dcache_page +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be3aaa6 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x6bf4be38 inode_init_once +EXPORT_SYMBOL vmlinux 0x6bfc2a8a truncate_pagecache +EXPORT_SYMBOL vmlinux 0x6bfd5b2c dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c4879fa mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c7e5526 snd_pcm_lib_readv +EXPORT_SYMBOL vmlinux 0x6ccea055 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x6ccf7bd7 __pv_phys_offset +EXPORT_SYMBOL vmlinux 0x6cdb7cd1 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce3425b tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +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 0x6d55102d security_file_permission +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6db4d94b __break_lease +EXPORT_SYMBOL vmlinux 0x6ded92cc of_dev_put +EXPORT_SYMBOL vmlinux 0x6deef7b2 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df60888 dm_get_device +EXPORT_SYMBOL vmlinux 0x6df97ca7 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x6dfaa968 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x6e171b6b unload_nls +EXPORT_SYMBOL vmlinux 0x6e24c676 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x6e36d98d buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x6e4ba86f kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x6e53a641 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ec7fbd5 serio_interrupt +EXPORT_SYMBOL vmlinux 0x6ee47e4b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x6ee902f6 dcb_setapp +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f37230b mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x6f401ee0 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x6f46f996 mpage_writepages +EXPORT_SYMBOL vmlinux 0x6f5939c5 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x6f65be78 d_drop +EXPORT_SYMBOL vmlinux 0x6f91f088 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x6f940ec6 phy_detach +EXPORT_SYMBOL vmlinux 0x6f9d8c1e framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x6fbc5aee jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x6fbf92aa ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd5faa2 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x6fe1502c nf_getsockopt +EXPORT_SYMBOL vmlinux 0x6ff0bc33 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x701d2014 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x701e2ef6 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x70339500 do_SAK +EXPORT_SYMBOL vmlinux 0x703b05d0 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x7040a2c6 release_firmware +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x705b9140 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x7071637c dma_declare_coherent_memory +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 0x70da54ef amba_driver_register +EXPORT_SYMBOL vmlinux 0x70dd1a12 gpmc_cs_configure +EXPORT_SYMBOL vmlinux 0x70ea474a register_netdev +EXPORT_SYMBOL vmlinux 0x70f7e19c skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x71122bf1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714d6918 override_creds +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71888756 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x71910fde gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71af0b45 genphy_suspend +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71d0d3eb lro_receive_frags +EXPORT_SYMBOL vmlinux 0x71d96e4e dqput +EXPORT_SYMBOL vmlinux 0x71e822ab migrate_page +EXPORT_SYMBOL vmlinux 0x72152a1a input_grab_device +EXPORT_SYMBOL vmlinux 0x72162ee2 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x7221a78d i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x723573bb unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x7258cd26 kthread_bind +EXPORT_SYMBOL vmlinux 0x7284da82 input_get_keycode +EXPORT_SYMBOL vmlinux 0x72bbf3b0 inode_init_always +EXPORT_SYMBOL vmlinux 0x72c1fe5b jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f41e3c skb_pull +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c3d51 __napi_complete +EXPORT_SYMBOL vmlinux 0x7322d533 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x732cf9fd kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7332ba03 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x737ac25d dql_reset +EXPORT_SYMBOL vmlinux 0x737b5573 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738d6316 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x73c0f275 dev_get_stats +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73e2134f scsi_target_resume +EXPORT_SYMBOL vmlinux 0x73e9e066 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x740d1ad8 bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0x7422e3df mmc_card_awake +EXPORT_SYMBOL vmlinux 0x7428285b vfs_link +EXPORT_SYMBOL vmlinux 0x7461e649 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x74807f3a __seq_open_private +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74920aca sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x74a87df0 elevator_exit +EXPORT_SYMBOL vmlinux 0x74ad06dc tcp_proc_register +EXPORT_SYMBOL vmlinux 0x74b796d5 vfs_readv +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c9f279 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x74ccc82e of_get_property +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x7501fd0e sock_setsockopt +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x7508ed9a blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x7516d8cc pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x751bd5a2 simple_empty +EXPORT_SYMBOL vmlinux 0x7550c88f dquot_enable +EXPORT_SYMBOL vmlinux 0x7562258f ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x758ee764 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x75a17bed prepare_to_wait +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75fee7fd __raw_writesb +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760e1ab0 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x762d5a92 clk_enable +EXPORT_SYMBOL vmlinux 0x7638432b journal_ack_err +EXPORT_SYMBOL vmlinux 0x7644b787 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x76500995 netif_device_attach +EXPORT_SYMBOL vmlinux 0x76754808 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x7682e28c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x76881360 leds_event +EXPORT_SYMBOL vmlinux 0x768aadff _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x76912941 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c1e97a vmtruncate +EXPORT_SYMBOL vmlinux 0x76ca6d01 snd_dma_get_reserved_buf +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76ee82fe simple_transaction_set +EXPORT_SYMBOL vmlinux 0x771b8738 blk_free_tags +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x775d7e1b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x775e7780 ps2_end_command +EXPORT_SYMBOL vmlinux 0x775f715a mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x777b332e mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x778d6385 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77bf8073 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x77c08e87 dm_register_target +EXPORT_SYMBOL vmlinux 0x77ce8e5a security_path_symlink +EXPORT_SYMBOL vmlinux 0x77d0edcf dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x77dba3be blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x78105cb7 kstat +EXPORT_SYMBOL vmlinux 0x7833e16c vfs_fsync +EXPORT_SYMBOL vmlinux 0x783672ab dpi_set_timings +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x7896d8ee of_device_unregister +EXPORT_SYMBOL vmlinux 0x78b34630 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x78bd508c snd_card_register +EXPORT_SYMBOL vmlinux 0x78d90ac6 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x78de5260 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x7917905f dentry_unhash +EXPORT_SYMBOL vmlinux 0x791a9efb of_match_node +EXPORT_SYMBOL vmlinux 0x792122a1 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x793e37d6 amba_device_unregister +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x796d56bd __init_rwsem +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7977f158 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x7978bb4f fb_class +EXPORT_SYMBOL vmlinux 0x797da4c8 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x798ba569 lookup_bdev +EXPORT_SYMBOL vmlinux 0x799f36f6 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79e510ea vm_map_ram +EXPORT_SYMBOL vmlinux 0x79e815a5 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x79f65db6 __rta_fill +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a2b37d6 clk_get_parent +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a50945b dev_trans_start +EXPORT_SYMBOL vmlinux 0x7a78310d of_get_parent +EXPORT_SYMBOL vmlinux 0x7a80ecf1 serio_open +EXPORT_SYMBOL vmlinux 0x7a91726b clkdev_alloc +EXPORT_SYMBOL vmlinux 0x7aa087bb wireless_send_event +EXPORT_SYMBOL vmlinux 0x7ab1a506 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x7ab3aa49 devm_iounmap +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad9b173 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x7ae3430a 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 0x7b189acb twl6040_power +EXPORT_SYMBOL vmlinux 0x7b288f18 sock_i_ino +EXPORT_SYMBOL vmlinux 0x7b448fa1 framebuffer_release +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b64dfb7 scsi_register +EXPORT_SYMBOL vmlinux 0x7b6aa734 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x7b897a87 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x7b8be717 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x7bac7083 flush_signals +EXPORT_SYMBOL vmlinux 0x7bbb71e0 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7bd96a2c gpmc_prefetch_enable +EXPORT_SYMBOL vmlinux 0x7bf30fdc down_write +EXPORT_SYMBOL vmlinux 0x7bf8de84 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x7c0c260f freezing_slow_path +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c206324 dquot_resume +EXPORT_SYMBOL vmlinux 0x7c33301f inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4c3765 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x7c576f28 netif_skb_features +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c727af2 find_vma +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7c9e8dc8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x7cb76a5a netdev_features_change +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cf14891 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x7d0b9a20 __blk_end_request +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1c3496 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x7d287e3d bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x7da62550 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7de0a78b tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x7dea8905 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7dfd3e74 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x7dff5f9e sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x7e19dfc7 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x7e1e8980 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e4a7246 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x7e8276f7 __module_get +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec7ca05 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7f01d411 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f30a924 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7f321cda tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x7f33a63b omap_get_dma_chain_dst_pos +EXPORT_SYMBOL vmlinux 0x7f3c3e64 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f7bf0ce dev_emerg +EXPORT_SYMBOL vmlinux 0x7f867954 netlink_unicast +EXPORT_SYMBOL vmlinux 0x7fdbb22f tcp_splice_read +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x801fba00 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x802fc6b0 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x8034558a gpmc_nand_write +EXPORT_SYMBOL vmlinux 0x804b2f1f blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x804f6d40 ata_link_printk +EXPORT_SYMBOL vmlinux 0x8069eed1 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x806f5800 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x80825a90 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x808e868e __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x80d4a82a blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x80d56c0e tcp_v4_do_rcv +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 0x81003ee2 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x8111e4ff page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x812bc68f snd_card_free +EXPORT_SYMBOL vmlinux 0x813ed040 idr_remove_all +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x815131ba mempool_destroy +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815e0134 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x816002ab serio_rescan +EXPORT_SYMBOL vmlinux 0x81668e38 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x817bce41 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x819a7fff generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x81af66d7 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0x81b04bfc completion_done +EXPORT_SYMBOL vmlinux 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x81b6ec1d phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x81bc8b9f inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x81bf76e2 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x81c1fde9 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x81caefdc lease_get_mtime +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e675c6 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x81e8c9d7 vfs_rename +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8204e852 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x820739d3 d_splice_alias +EXPORT_SYMBOL vmlinux 0x82159d6f prepare_binprm +EXPORT_SYMBOL vmlinux 0x821e8d91 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x821f01e7 input_release_device +EXPORT_SYMBOL vmlinux 0x8227180a snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x82812bce tty_shutdown +EXPORT_SYMBOL vmlinux 0x8287dcdf tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x8297a429 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82ad3e43 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x82b47601 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x82fcba9b bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x83012c9a input_register_device +EXPORT_SYMBOL vmlinux 0x8305ce9d devm_clk_get +EXPORT_SYMBOL vmlinux 0x830f75f8 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x83429142 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL vmlinux 0x8371daff sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x8378dbb9 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d25c38 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x83e4a014 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x84042e96 arp_find +EXPORT_SYMBOL vmlinux 0x841a84d9 bdput +EXPORT_SYMBOL vmlinux 0x8426f602 dst_alloc +EXPORT_SYMBOL vmlinux 0x84334045 tty_name +EXPORT_SYMBOL vmlinux 0x845a3016 snd_timer_pause +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84ba5106 snd_card_create +EXPORT_SYMBOL vmlinux 0x84db4b6e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x84e3dce1 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x850a3bda tcp_child_process +EXPORT_SYMBOL vmlinux 0x851d54e7 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x855d79bd tty_write_room +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85765fee omap_enable_dma_irq +EXPORT_SYMBOL vmlinux 0x857ef611 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x858717df neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x859c5ecb blk_make_request +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e207ec sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x861efddf dev_uc_sync +EXPORT_SYMBOL vmlinux 0x8628117e rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x863f53a0 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x8641058e blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x86419e56 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866b2116 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x866f8a1d __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x867d1d7b jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x86860db6 open_exec +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869404d7 __breadahead +EXPORT_SYMBOL vmlinux 0x869b6978 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86a7ca4b __scsi_add_device +EXPORT_SYMBOL vmlinux 0x86b5375f simple_getattr +EXPORT_SYMBOL vmlinux 0x86caf8b8 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x86d37dc4 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x86d918b3 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x86e78fbc journal_start_commit +EXPORT_SYMBOL vmlinux 0x86ed7e73 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fcd530 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x870e7a00 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8776cb23 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x8786aed6 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8795b3cf block_write_end +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87994059 have_submounts +EXPORT_SYMBOL vmlinux 0x879e8a68 d_instantiate +EXPORT_SYMBOL vmlinux 0x87dbba14 ida_get_new +EXPORT_SYMBOL vmlinux 0x87e07aa1 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x87f0ca3e textsearch_register +EXPORT_SYMBOL vmlinux 0x87f9cf40 security_inode_permission +EXPORT_SYMBOL vmlinux 0x88043b2c dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x880ad85e dcache_readdir +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x882a4384 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x88571cc2 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x885d3b11 f_setown +EXPORT_SYMBOL vmlinux 0x886fbf1e kernel_accept +EXPORT_SYMBOL vmlinux 0x8893fa5d finish_wait +EXPORT_SYMBOL vmlinux 0x88b46e1f bio_unmap_user +EXPORT_SYMBOL vmlinux 0x88bd55f3 snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0x88bdfba7 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x89068daf mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x894785ec bio_clone +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8962e731 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x8969bcc1 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8997209e skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x899ad6cd journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x89a3c4f4 omap_get_dma_chain_index +EXPORT_SYMBOL vmlinux 0x89c455d8 aio_complete +EXPORT_SYMBOL vmlinux 0x89d09023 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f8585b devm_ioremap +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a247f93 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a534e76 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x8a6c107c md_done_sync +EXPORT_SYMBOL vmlinux 0x8a7ca61f nf_register_hooks +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa70625 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x8aa9e096 scsi_init_io +EXPORT_SYMBOL vmlinux 0x8aabb9e5 tcp_poll +EXPORT_SYMBOL vmlinux 0x8ab11c4c d_genocide +EXPORT_SYMBOL vmlinux 0x8abf4062 omapdss_dpi_display_disable +EXPORT_SYMBOL vmlinux 0x8aca0b90 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8ad23777 inet6_release +EXPORT_SYMBOL vmlinux 0x8ad66426 seq_release_private +EXPORT_SYMBOL vmlinux 0x8aea6273 inode_change_ok +EXPORT_SYMBOL vmlinux 0x8b18d87f net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x8b2d4516 snd_power_wait +EXPORT_SYMBOL vmlinux 0x8b3146c1 mount_bdev +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7e538a bio_map_user +EXPORT_SYMBOL vmlinux 0x8b80f1f1 blkdev_put +EXPORT_SYMBOL vmlinux 0x8b99b900 snd_pcm_lib_write +EXPORT_SYMBOL vmlinux 0x8ba64030 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x8bfcaabb do_truncate +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0bc6d1 kset_register +EXPORT_SYMBOL vmlinux 0x8c0d5b52 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x8c1a6339 flush_old_exec +EXPORT_SYMBOL vmlinux 0x8c323e86 build_skb +EXPORT_SYMBOL vmlinux 0x8c4d6523 omap_dma_chain_a_transfer +EXPORT_SYMBOL vmlinux 0x8c5ab48d blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x8c667985 find_get_page +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c8070f6 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x8c8ecc57 journal_stop +EXPORT_SYMBOL vmlinux 0x8cb23c19 set_groups +EXPORT_SYMBOL vmlinux 0x8cbf06ce bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8cdbe075 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x8cdda1a5 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x8cfc09a2 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x8d027fcd generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x8d04511b blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x8d2da54e snd_add_device_sysfs_file +EXPORT_SYMBOL vmlinux 0x8d3b4a7e lock_sock_nested +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5c67b8 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8da5be74 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x8ddd5036 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x8de7a44a scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8dfb1bb2 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e20b89a journal_revoke +EXPORT_SYMBOL vmlinux 0x8e21b101 vfs_llseek +EXPORT_SYMBOL vmlinux 0x8e2665da journal_lock_updates +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e486f1a phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x8e4ba56b blk_start_request +EXPORT_SYMBOL vmlinux 0x8e5cc2a4 lock_rename +EXPORT_SYMBOL vmlinux 0x8e8268dd napi_get_frags +EXPORT_SYMBOL vmlinux 0x8e8bb61b __devm_release_region +EXPORT_SYMBOL vmlinux 0x8e8f67b8 uart_resume_port +EXPORT_SYMBOL vmlinux 0x8ebd00c4 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x8ec08e59 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x8ec2ba8c generic_make_request +EXPORT_SYMBOL vmlinux 0x8edd1eec snd_ctl_add +EXPORT_SYMBOL vmlinux 0x8f0faea3 kfree_skb +EXPORT_SYMBOL vmlinux 0x8f193949 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x8f2d0dd6 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x8f3e674f jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x8f3fcad4 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f64deba ppp_input_error +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f6ab814 of_find_property +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f8d7baf ip6_route_output +EXPORT_SYMBOL vmlinux 0x8f9df616 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x8fa38900 ip_defrag +EXPORT_SYMBOL vmlinux 0x8fa4130a omap_set_dma_callback +EXPORT_SYMBOL vmlinux 0x8fcdd45f of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x900cb1b7 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x900e809c generic_block_bmap +EXPORT_SYMBOL vmlinux 0x901eb735 skb_push +EXPORT_SYMBOL vmlinux 0x903c6bb3 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x90463790 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x905a7f7f kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x906fb37f elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x908d612f i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x908fa7f2 mpage_readpages +EXPORT_SYMBOL vmlinux 0x908ff185 mapping_tagged +EXPORT_SYMBOL vmlinux 0x90bacfe0 cdrom_release +EXPORT_SYMBOL vmlinux 0x90c08c62 phy_disconnect +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90c8dedd serio_reconnect +EXPORT_SYMBOL vmlinux 0x90d6d80a tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x90d86517 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x910d8373 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x91433e89 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x914353c0 module_refcount +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914f800b ata_print_version +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x9179561b xfrm_register_type +EXPORT_SYMBOL vmlinux 0x917b7ea9 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x919e6498 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x91a9632c ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x91c1dccc scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x91ccb481 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x91d7e25d security_path_link +EXPORT_SYMBOL vmlinux 0x91d9b3ed blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x91eee1fb scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x920664c8 mempool_free +EXPORT_SYMBOL vmlinux 0x921ec73a netpoll_setup +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924116c5 snd_timer_close +EXPORT_SYMBOL vmlinux 0x926148b4 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x92673c64 htc_egpio_get_wakeup_irq +EXPORT_SYMBOL vmlinux 0x929eecac __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92beb450 snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930e9b64 input_inject_event +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x933a387f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x9351bd8c poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x93626cb6 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x93631c9c netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x9397841e posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9402b954 udp_seq_open +EXPORT_SYMBOL vmlinux 0x9406e338 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x941daf41 bio_pair_release +EXPORT_SYMBOL vmlinux 0x9422f550 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x944f2ef8 vfs_readlink +EXPORT_SYMBOL vmlinux 0x946e2c58 tty_mutex +EXPORT_SYMBOL vmlinux 0x9488a987 skb_copy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949d3648 input_flush_device +EXPORT_SYMBOL vmlinux 0x94af632e complete_all +EXPORT_SYMBOL vmlinux 0x94d7ba88 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x94f4e038 nand_unlock +EXPORT_SYMBOL vmlinux 0x95377071 snd_pcm_lib_read +EXPORT_SYMBOL vmlinux 0x953a503f elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x953eb104 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x954070cd __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x9541c988 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9555a406 log_start_commit +EXPORT_SYMBOL vmlinux 0x95675bfc dquot_initialize +EXPORT_SYMBOL vmlinux 0x9576be6c snd_card_unref +EXPORT_SYMBOL vmlinux 0x9584d204 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x95930a11 vfs_mknod +EXPORT_SYMBOL vmlinux 0x95a64259 cdev_add +EXPORT_SYMBOL vmlinux 0x95b2d603 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x95c40da2 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x95c5aad0 mount_nodev +EXPORT_SYMBOL vmlinux 0x95c86c5e generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x95d9c07c do_splice_to +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x95dc11e1 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x95f12102 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x95f344b5 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x95fab473 mmc_add_host +EXPORT_SYMBOL vmlinux 0x961cf3f6 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x963afe47 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x963f64b7 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x964a84ca ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x964ab816 snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x96598a2f d_alloc +EXPORT_SYMBOL vmlinux 0x965f8041 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x966339c6 arp_create +EXPORT_SYMBOL vmlinux 0x96789412 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0x9683fbbf thaw_bdev +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x968bcd92 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x968db821 __ps2_command +EXPORT_SYMBOL vmlinux 0x96ade2fe pipe_unlock +EXPORT_SYMBOL vmlinux 0x96b02c34 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x96b39b6e omap_start_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x973fc997 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x9744aa1d keyring_clear +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9779ec43 dget_parent +EXPORT_SYMBOL vmlinux 0x97997af7 register_cdrom +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97b1da9d __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x98082893 __copy_to_user +EXPORT_SYMBOL vmlinux 0x980aeff1 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98259492 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x9827d788 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x98399eb7 generic_getxattr +EXPORT_SYMBOL vmlinux 0x984a5d61 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x985ec3ac bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x987cf0dc dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x98a39f30 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x98d9bc82 tty_free_termios +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x9906c3e9 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x991bfbc6 icmpv6_send +EXPORT_SYMBOL vmlinux 0x991c9d45 pipe_to_file +EXPORT_SYMBOL vmlinux 0x993fcfbf mddev_congested +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x99792071 d_rehash +EXPORT_SYMBOL vmlinux 0x998eee8f keyring_search +EXPORT_SYMBOL vmlinux 0x998fb79b path_is_under +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999c3148 __raw_readsb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99aace13 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c45776 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99dacf0a register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x99fbdc80 proto_unregister +EXPORT_SYMBOL vmlinux 0x9a04ae9b netdev_err +EXPORT_SYMBOL vmlinux 0x9a10da7a fb_blank +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a4bd7ae generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x9a609350 inet_ioctl +EXPORT_SYMBOL vmlinux 0x9a6cd279 clk_unregister +EXPORT_SYMBOL vmlinux 0x9a8dc6db lg_local_lock +EXPORT_SYMBOL vmlinux 0x9a918a63 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9aa5f30b ata_dev_printk +EXPORT_SYMBOL vmlinux 0x9abbdb69 clk_set_parent +EXPORT_SYMBOL vmlinux 0x9acab3c1 locks_free_lock +EXPORT_SYMBOL vmlinux 0x9af80e2a vfs_writev +EXPORT_SYMBOL vmlinux 0x9b1ff1fc sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x9b321ba1 blk_run_queue +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b43c5d5 dev_uc_add +EXPORT_SYMBOL vmlinux 0x9b46cf45 generic_writepages +EXPORT_SYMBOL vmlinux 0x9b6ab2d0 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b782490 kill_bdev +EXPORT_SYMBOL vmlinux 0x9b810075 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x9b875fad of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bc86f64 __get_user_pages +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd34975 genl_register_family +EXPORT_SYMBOL vmlinux 0x9bd73e7f writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x9be8626a mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x9be893ab sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x9beb4ca7 snd_timer_open +EXPORT_SYMBOL vmlinux 0x9c3a7010 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x9c51b512 bdget_disk +EXPORT_SYMBOL vmlinux 0x9c554926 inet_listen +EXPORT_SYMBOL vmlinux 0x9c5b17a5 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9c5b9f0f snd_timer_continue +EXPORT_SYMBOL vmlinux 0x9c5ca642 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c82612d filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x9c8cf297 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x9c94f01e twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x9cb08b18 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd1063a dump_write +EXPORT_SYMBOL vmlinux 0x9cd2e7d0 gpmc_nand_read +EXPORT_SYMBOL vmlinux 0x9cd60539 sg_free_table +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf16940 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d069aba writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x9d375b6f bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d5d181f genl_register_ops +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d719948 d_delete +EXPORT_SYMBOL vmlinux 0x9d7a0cf8 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x9d9d3bf2 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x9dad7940 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0x9dfd7316 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0eef07 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e3f8af3 udp_disconnect +EXPORT_SYMBOL vmlinux 0x9e4d26bd nand_scan +EXPORT_SYMBOL vmlinux 0x9e4f97a8 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e61edcb sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e76ab90 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eb89176 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x9ec6120e register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9edd7161 skb_split +EXPORT_SYMBOL vmlinux 0x9ef42185 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x9efacafc phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9efe38b6 md_register_thread +EXPORT_SYMBOL vmlinux 0x9f1a5966 dquot_transfer +EXPORT_SYMBOL vmlinux 0x9f203ef0 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x9f2105cc shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x9f22611a bdi_register +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f3262b2 ip6_xmit +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f50adac snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x9f866e0d blk_peek_request +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f99d9bf ida_pre_get +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fedfaba max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x9ff4a7d0 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xa010498a blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xa0233c18 elv_rb_del +EXPORT_SYMBOL vmlinux 0xa040fb08 snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05a6e6b security_mmap_file +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07b3d0d ___pskb_trim +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa084939c cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0bdeff5 sock_no_listen +EXPORT_SYMBOL vmlinux 0xa0c8342e blkdev_fsync +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0ea45c4 fget +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11fda63 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12791b9 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa1437994 sock_register +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa14f7b4b wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xa1684773 amba_device_register +EXPORT_SYMBOL vmlinux 0xa170c18c journal_dirty_data +EXPORT_SYMBOL vmlinux 0xa1763ee4 km_policy_notify +EXPORT_SYMBOL vmlinux 0xa17e3d87 sock_map_fd +EXPORT_SYMBOL vmlinux 0xa19bc4d2 blkdev_issue_discard +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 0xa1e56687 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa1e876dc blk_register_region +EXPORT_SYMBOL vmlinux 0xa1eb3e7a sock_no_poll +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa2208afd vfs_create +EXPORT_SYMBOL vmlinux 0xa2237d32 sock_no_getname +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa25746c3 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xa25c022a scsi_put_command +EXPORT_SYMBOL vmlinux 0xa2665ebb mtd_concat_create +EXPORT_SYMBOL vmlinux 0xa2705340 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa2867ac5 omap_dss_get_overlay_manager +EXPORT_SYMBOL vmlinux 0xa28cd714 register_console +EXPORT_SYMBOL vmlinux 0xa28d9e7b key_revoke +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2aad002 amba_release_regions +EXPORT_SYMBOL vmlinux 0xa2ad0138 lock_may_write +EXPORT_SYMBOL vmlinux 0xa2e86f55 snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0xa2edff28 security_path_rename +EXPORT_SYMBOL vmlinux 0xa2f63727 find_or_create_page +EXPORT_SYMBOL vmlinux 0xa313c690 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xa31a2a06 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xa31a9706 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL vmlinux 0xa33f9c8e seq_read +EXPORT_SYMBOL vmlinux 0xa33f9dc0 find_lock_page +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa3588905 rtnl_notify +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3ad0f86 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xa3c3788d tty_register_driver +EXPORT_SYMBOL vmlinux 0xa3cd9cbe inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa3f2af99 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xa3f5bd3f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xa3f8a87a unregister_qdisc +EXPORT_SYMBOL vmlinux 0xa4110f63 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa44a94e3 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4887716 secpath_dup +EXPORT_SYMBOL vmlinux 0xa48f5b09 omap_dma_set_global_params +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4b727ab __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xa4b8cfcf xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xa4bb08c8 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa4d415d7 clk_set_rate +EXPORT_SYMBOL vmlinux 0xa4eaa1c1 napi_complete +EXPORT_SYMBOL vmlinux 0xa51f4c3e create_empty_buffers +EXPORT_SYMBOL vmlinux 0xa5464a0a tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xa55d9da7 mii_link_ok +EXPORT_SYMBOL vmlinux 0xa575245c skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa584edbf i2c_master_recv +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa5965784 sock_rfree +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b3976c inet_addr_type +EXPORT_SYMBOL vmlinux 0xa5b43ac3 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xa5c78923 __blk_run_queue +EXPORT_SYMBOL vmlinux 0xa5cc9fe5 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa60902e6 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61c8462 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xa61e4362 omap_request_dma +EXPORT_SYMBOL vmlinux 0xa62c55a7 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6411cea unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL vmlinux 0xa6520716 journal_forget +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa682563d i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xa68bccb2 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xa68e16ad sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6be0562 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ea7494 set_bh_page +EXPORT_SYMBOL vmlinux 0xa6f56f7e jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa703ba34 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xa70cf131 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xa718d276 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xa75df332 uart_match_port +EXPORT_SYMBOL vmlinux 0xa7b2815b dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa7c390f2 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xa7ebe164 locks_delete_block +EXPORT_SYMBOL vmlinux 0xa7f2c5ea prepare_creds +EXPORT_SYMBOL vmlinux 0xa8191e9b ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8233ef0 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xa8380d34 kernel_execve +EXPORT_SYMBOL vmlinux 0xa8600ac5 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xa869658f __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8ab602d sock_wake_async +EXPORT_SYMBOL vmlinux 0xa8cde9a7 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xa8ec34c7 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa8f3a8e0 vm_mmap +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9086c39 km_state_notify +EXPORT_SYMBOL vmlinux 0xa910d902 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xa9131464 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xa92971e2 sk_reset_txq +EXPORT_SYMBOL vmlinux 0xa92a982f xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xa9301192 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xa95f64a3 proc_mkdir +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa969e129 get_disk +EXPORT_SYMBOL vmlinux 0xa975ca1b ab3100_event_register +EXPORT_SYMBOL vmlinux 0xa986c9fa blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xa9a59dc3 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xaa1158a7 omap_dss_get_device +EXPORT_SYMBOL vmlinux 0xaa2bc5e3 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xaa5927f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6e751d inode_only_permission +EXPORT_SYMBOL vmlinux 0xaa74d1b3 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xaa7f65fb page_readlink +EXPORT_SYMBOL vmlinux 0xaa8eb206 touch_atime +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaacd85be elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae29d55 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab42479e tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xab47c102 scsi_device_put +EXPORT_SYMBOL vmlinux 0xab549bf1 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab9ed595 kobject_put +EXPORT_SYMBOL vmlinux 0xabaae066 snd_card_file_add +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabfcfac5 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac18e4ea kset_unregister +EXPORT_SYMBOL vmlinux 0xac3f3ec1 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac66477b iunique +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac84a980 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xac988fce revalidate_disk +EXPORT_SYMBOL vmlinux 0xacafef80 amba_find_device +EXPORT_SYMBOL vmlinux 0xacc10bd5 input_close_device +EXPORT_SYMBOL vmlinux 0xacc8152b tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xace5f61d check_disk_change +EXPORT_SYMBOL vmlinux 0xacf24f49 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xacf28e8d bdi_destroy +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad10c9fe init_net +EXPORT_SYMBOL vmlinux 0xad12ea99 follow_down_one +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad4ffde7 give_up_console +EXPORT_SYMBOL vmlinux 0xad52aa59 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadcb4562 mmc_start_req +EXPORT_SYMBOL vmlinux 0xaddedca1 block_commit_write +EXPORT_SYMBOL vmlinux 0xade66572 udp_proc_register +EXPORT_SYMBOL vmlinux 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae173d05 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xae48ab60 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xae531f84 register_sysctl +EXPORT_SYMBOL vmlinux 0xae5e7d2d tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xae684eb8 blk_init_queue +EXPORT_SYMBOL vmlinux 0xae69d5a2 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae9b7941 seq_escape +EXPORT_SYMBOL vmlinux 0xaea5a2e2 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xaebd05b7 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaec890a2 inet_accept +EXPORT_SYMBOL vmlinux 0xaeca4db0 mb_cache_create +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 0xaf6c7e37 create_proc_entry +EXPORT_SYMBOL vmlinux 0xaf6e326a path_put +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafa6b8b6 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xafbfe84c locks_copy_lock +EXPORT_SYMBOL vmlinux 0xafcc0302 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xafd688da mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xafde5847 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0xaff17bc7 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xb007e0fe dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xb008c3e1 mnt_pin +EXPORT_SYMBOL vmlinux 0xb015ba89 dev_close +EXPORT_SYMBOL vmlinux 0xb039285f eth_validate_addr +EXPORT_SYMBOL vmlinux 0xb05beff0 dev_uc_del +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06c4c64 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xb07fa39f bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0eeef9a sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb0f410e2 ihold +EXPORT_SYMBOL vmlinux 0xb0f5ce1f jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1235aa9 dquot_alloc +EXPORT_SYMBOL vmlinux 0xb12477e3 snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0xb143ba9a mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xb14897d9 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xb14effef xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xb1567263 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xb16fe7b3 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb18e6948 omap_dss_pal_timings +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1aef734 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c905d5 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xb1cf4030 journal_force_commit +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1f532bb __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xb1f7964a skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb214b053 mnt_unpin +EXPORT_SYMBOL vmlinux 0xb2160229 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb250d9b0 vm_event_states +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb26dbbdf xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xb278c767 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xb291e189 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0xb2a0f93d jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +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 0xb3435a22 security_path_chmod +EXPORT_SYMBOL vmlinux 0xb352ed10 simple_unlink +EXPORT_SYMBOL vmlinux 0xb383c894 search_binary_handler +EXPORT_SYMBOL vmlinux 0xb389538f xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xb3b6d0c1 input_set_capability +EXPORT_SYMBOL vmlinux 0xb3c01937 dquot_drop +EXPORT_SYMBOL vmlinux 0xb3e90543 dump_seek +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb43d6775 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0xb46e08b5 inode_permission +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb49355b0 empty_aops +EXPORT_SYMBOL vmlinux 0xb4953a64 simple_statfs +EXPORT_SYMBOL vmlinux 0xb49a1237 address_space_init_once +EXPORT_SYMBOL vmlinux 0xb4abf500 __register_binfmt +EXPORT_SYMBOL vmlinux 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xb4c8f38a omap_dma_chain_status +EXPORT_SYMBOL vmlinux 0xb4f54401 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xb51fc661 serial8250_register_port +EXPORT_SYMBOL vmlinux 0xb5435f5d skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54a6340 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xb56cf75c netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57a3ede scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xb582be39 nla_put +EXPORT_SYMBOL vmlinux 0xb59536b6 uart_register_driver +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5c10a70 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d45564 lease_modify +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb60df67f sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xb654612a xfrm_policy_alloc +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 0xb68b2136 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xb6a1636c scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0xb6a4cbc4 xfrm_user_policy +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 0xb6c71978 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xb6f7fddd skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb712ac4a kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xb71b0aae journal_init_inode +EXPORT_SYMBOL vmlinux 0xb72cd7c8 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xb747004d blk_execute_rq +EXPORT_SYMBOL vmlinux 0xb75da1b2 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xb7638088 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xb764632a __ip_dev_find +EXPORT_SYMBOL vmlinux 0xb77a7c47 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xb77f37dc journal_get_create_access +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 0xb7bfedbb dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xb7c1b4c4 tty_port_open +EXPORT_SYMBOL vmlinux 0xb7d858e6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb81ecb7f omapdss_sdi_display_disable +EXPORT_SYMBOL vmlinux 0xb81fd3be idr_find +EXPORT_SYMBOL vmlinux 0xb835b3c4 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb840cad0 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xb86b5fae page_put_link +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb8794099 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xb8865129 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8ae0094 is_bad_inode +EXPORT_SYMBOL vmlinux 0xb8af9c11 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0xb8cf1450 i2c_release_client +EXPORT_SYMBOL vmlinux 0xb8e28d0b udp_ioctl +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb905fbb7 init_task +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb912e941 clear_nlink +EXPORT_SYMBOL vmlinux 0xb92d651f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb96dd0f3 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xb971823f tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xb9807b20 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9e52429 __wake_up +EXPORT_SYMBOL vmlinux 0xba1bd3bc tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xba435dd3 mdiobus_write +EXPORT_SYMBOL vmlinux 0xba46b8c3 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba6c963c bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xba714709 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xba76d6da scsi_print_sense +EXPORT_SYMBOL vmlinux 0xba88551e bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xba9453ef napi_gro_frags +EXPORT_SYMBOL vmlinux 0xbaac427c get_mem_type +EXPORT_SYMBOL vmlinux 0xbae8ad81 skb_find_text +EXPORT_SYMBOL vmlinux 0xbaf04a46 devm_clk_put +EXPORT_SYMBOL vmlinux 0xbafed761 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbb0f0e09 __put_cred +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb2b4612 rwsem_is_locked +EXPORT_SYMBOL vmlinux 0xbb483202 ether_setup +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb7329e9 log_wait_commit +EXPORT_SYMBOL vmlinux 0xbb798f60 phy_find_first +EXPORT_SYMBOL vmlinux 0xbb9889a9 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbcbf9e5 of_phy_connect +EXPORT_SYMBOL vmlinux 0xbbd7525d tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xbbe3b09e __block_write_begin +EXPORT_SYMBOL vmlinux 0xbbf28589 vfs_open +EXPORT_SYMBOL vmlinux 0xbbfb25b7 km_state_expired +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc2c1463 md_flush_request +EXPORT_SYMBOL vmlinux 0xbc3875d8 journal_flush +EXPORT_SYMBOL vmlinux 0xbc40d2f8 netdev_set_master +EXPORT_SYMBOL vmlinux 0xbc4217c4 generic_write_end +EXPORT_SYMBOL vmlinux 0xbc4c7c32 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xbc6d5f57 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xbc7e93b4 mdiobus_free +EXPORT_SYMBOL vmlinux 0xbc860222 gpmc_read_status +EXPORT_SYMBOL vmlinux 0xbc9e45e0 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xbcdb1bba unlock_super +EXPORT_SYMBOL vmlinux 0xbd1f8f5f elv_add_request +EXPORT_SYMBOL vmlinux 0xbd4c4bfc qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xbd549091 md_integrity_register +EXPORT_SYMBOL vmlinux 0xbd5d786f try_to_release_page +EXPORT_SYMBOL vmlinux 0xbd6ddec6 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xbd6ea48e inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xbd797d9c snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0xbd7ef95f mem_map +EXPORT_SYMBOL vmlinux 0xbd84f151 dev_driver_string +EXPORT_SYMBOL vmlinux 0xbd94ecb7 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xbda30fdf bio_sector_offset +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdec60c9 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xbdf2580d __raw_readsl +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdfab02f eth_header_parse +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe183468 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe294081 ll_rw_block +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe477bd8 get_fs_type +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe6d76aa scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xbe91cf06 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xbeac328a journal_update_format +EXPORT_SYMBOL vmlinux 0xbeb9a164 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xbebc46e3 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xbedec40c follow_up +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef109c0 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf03e270 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xbf1faebe mutex_trylock +EXPORT_SYMBOL vmlinux 0xbf2e4c32 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xbf76d9a8 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfaa7c32 do_map_probe +EXPORT_SYMBOL vmlinux 0xbfbcaa52 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc00fbcbc __f_setown +EXPORT_SYMBOL vmlinux 0xc02cf69b clkdev_drop +EXPORT_SYMBOL vmlinux 0xc02ee9ac bdi_unregister +EXPORT_SYMBOL vmlinux 0xc036de6b eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc06ec2c8 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xc0710ae9 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc08b4157 simple_map_init +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0adccd9 file_update_time +EXPORT_SYMBOL vmlinux 0xc0bddfc8 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xc0cf95f9 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0xc100a98e generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xc103de31 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xc1043b88 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xc1077aca d_alloc_name +EXPORT_SYMBOL vmlinux 0xc1184a04 blk_get_request +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc13a48b1 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xc1509363 of_get_next_child +EXPORT_SYMBOL vmlinux 0xc154afa3 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xc15dcdfa phy_stop +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1712da7 bio_init +EXPORT_SYMBOL vmlinux 0xc17b6a0e try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xc1adc77f dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1db463c udplite_prot +EXPORT_SYMBOL vmlinux 0xc1ef6ee5 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xc20ecad5 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc2165d85 __arm_iounmap +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc25076c0 kobject_del +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc262048d __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc26d1e1b datagram_poll +EXPORT_SYMBOL vmlinux 0xc2707237 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xc272eddf nand_lock +EXPORT_SYMBOL vmlinux 0xc2748881 kobject_init +EXPORT_SYMBOL vmlinux 0xc29d886d journal_start +EXPORT_SYMBOL vmlinux 0xc2a64c03 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0xc2a852a0 clk_disable +EXPORT_SYMBOL vmlinux 0xc2b259b6 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xc2b909c7 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xc2c83763 console_stop +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 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc2ff0ddc start_tty +EXPORT_SYMBOL vmlinux 0xc305f75c inode_dio_wait +EXPORT_SYMBOL vmlinux 0xc314f76b bh_submit_read +EXPORT_SYMBOL vmlinux 0xc32d08a5 block_read_full_page +EXPORT_SYMBOL vmlinux 0xc34dc8b7 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc357bc3a vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xc359fb65 abort +EXPORT_SYMBOL vmlinux 0xc36e8e92 generic_write_checks +EXPORT_SYMBOL vmlinux 0xc3796435 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xc431ffc0 __frontswap_store +EXPORT_SYMBOL vmlinux 0xc436bc53 page_address +EXPORT_SYMBOL vmlinux 0xc45ef616 idr_for_each +EXPORT_SYMBOL vmlinux 0xc45fd95f kmem_cache_free +EXPORT_SYMBOL vmlinux 0xc46354e9 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xc4868c1e journal_set_features +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a618d7 skb_dequeue +EXPORT_SYMBOL vmlinux 0xc4f85f59 register_netdevice +EXPORT_SYMBOL vmlinux 0xc4fba00c ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc52e47d7 neigh_table_init +EXPORT_SYMBOL vmlinux 0xc541b237 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0xc54bc3c9 dqstats +EXPORT_SYMBOL vmlinux 0xc55cdfbb mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xc566c339 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xc58178be mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xc5832f10 mount_ns +EXPORT_SYMBOL vmlinux 0xc589ecc0 journal_clear_err +EXPORT_SYMBOL vmlinux 0xc58d1500 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xc59888bd alloc_file +EXPORT_SYMBOL vmlinux 0xc5a529c3 deactivate_super +EXPORT_SYMBOL vmlinux 0xc5ad0718 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xc5c8c8ad omap_dss_put_device +EXPORT_SYMBOL vmlinux 0xc5e5dc57 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fe34f2 unlock_rename +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc620ccbc snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63e210b dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xc65364f9 dql_completed +EXPORT_SYMBOL vmlinux 0xc679fe19 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc69c2c5b elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xc69dc877 nf_log_register +EXPORT_SYMBOL vmlinux 0xc6b22046 snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0xc6bfce97 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e13121 force_sig +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc70b1df0 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc72818a3 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xc72f143e km_new_mapping +EXPORT_SYMBOL vmlinux 0xc731ea73 thaw_super +EXPORT_SYMBOL vmlinux 0xc746adc2 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xc75bd8d7 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7834bfe udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xc788c6c6 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xc79b50a3 fasync_helper +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4b894 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7cc827f sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xc7e274bb phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc80ca13e nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc82844c2 sync_inode +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85aad17 aio_put_req +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc88268b6 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xc88fe16f __bforget +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8d9fd2b inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xc8f4a67f textsearch_prepare +EXPORT_SYMBOL vmlinux 0xc9042536 snd_card_set_id +EXPORT_SYMBOL vmlinux 0xc90da90a insert_inode_locked +EXPORT_SYMBOL vmlinux 0xc9142293 omap_dss_ntsc_timings +EXPORT_SYMBOL vmlinux 0xc937c63b snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0xc9537cde bdev_read_only +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a839b4 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xc9c41593 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0xc9e1efce freeze_bdev +EXPORT_SYMBOL vmlinux 0xc9eee053 cdev_del +EXPORT_SYMBOL vmlinux 0xca03a47c skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xca088aa8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xca2717b2 posix_lock_file +EXPORT_SYMBOL vmlinux 0xca57ed0c blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca902e41 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xcab17e69 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xcab19df3 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xcab3ea5f pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xcadb336f mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xcafeb688 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xcb11793b bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xcb5d8af0 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb7a6801 follow_down +EXPORT_SYMBOL vmlinux 0xcb7b33f3 neigh_update +EXPORT_SYMBOL vmlinux 0xcb8ad897 __scm_send +EXPORT_SYMBOL vmlinux 0xcb9219a4 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcbabe455 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xcbb0f77d simple_readpage +EXPORT_SYMBOL vmlinux 0xcbb8ded1 mdiobus_register +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbd83b43 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcbf58ece unregister_netdev +EXPORT_SYMBOL vmlinux 0xcc047568 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xcc1d37bc jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xcc1f8df6 snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0xcc23209c unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xcc23c9c8 inet_frag_find +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc692602 skb_seq_read +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc9a916b amba_driver_unregister +EXPORT_SYMBOL vmlinux 0xccb20cd1 iput +EXPORT_SYMBOL vmlinux 0xccb88f01 md_write_start +EXPORT_SYMBOL vmlinux 0xccc5ddf4 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xccc932da __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xcccaabdc freeze_super +EXPORT_SYMBOL vmlinux 0xccdc5bf8 __bread +EXPORT_SYMBOL vmlinux 0xccf1c8a1 xfrm_register_km +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd20284c inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd28c2bd __scm_destroy +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd4b732f bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcd5dbb96 netdev_alert +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd87ffb1 put_io_context +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdf71cbb iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xce002ebe scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xce00d52a xfrm_state_update +EXPORT_SYMBOL vmlinux 0xce188de9 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce37a126 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce45f411 mpage_readpage +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5cf778 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xce77f442 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce90d06f dev_addr_add +EXPORT_SYMBOL vmlinux 0xce9b7140 neigh_for_each +EXPORT_SYMBOL vmlinux 0xcea899ea down +EXPORT_SYMBOL vmlinux 0xcece48e1 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xcece52fd key_link +EXPORT_SYMBOL vmlinux 0xced26f30 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xced655de dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf39c124 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xcf3c25a9 tcf_em_register +EXPORT_SYMBOL vmlinux 0xcf3c4b11 do_sync_read +EXPORT_SYMBOL vmlinux 0xcf8802ce cfb_copyarea +EXPORT_SYMBOL vmlinux 0xcf8edb0a elv_rb_add +EXPORT_SYMBOL vmlinux 0xcf93a8d6 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xcf97ed76 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xcfaa61c8 simple_release_fs +EXPORT_SYMBOL vmlinux 0xcfd51171 dev_load +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd04a5d69 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xd0587b8b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xd0664311 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xd07be585 kill_pgrp +EXPORT_SYMBOL vmlinux 0xd082f249 register_qdisc +EXPORT_SYMBOL vmlinux 0xd0a4a5f5 __pskb_copy +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0aac69c fget_raw +EXPORT_SYMBOL vmlinux 0xd0cad963 consume_skb +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0dc6374 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xd0e3b3d8 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0f84f94 send_sig +EXPORT_SYMBOL vmlinux 0xd0fa6aeb dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd1157735 release_and_free_resource +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1445627 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xd154eb97 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xd162f540 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xd16eb3f9 security_path_mknod +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18421b5 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xd19620f3 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd199167e generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xd1a139fe lg_global_lock +EXPORT_SYMBOL vmlinux 0xd1f8b862 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xd1ff0b20 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xd21be93a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2249bf2 page_symlink +EXPORT_SYMBOL vmlinux 0xd251860c nand_correct_data +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 0xd26338c6 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xd275b52a iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xd27a5995 snd_pcm_suspend +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2c1ade7 icmp_send +EXPORT_SYMBOL vmlinux 0xd2c9cf34 skb_checksum +EXPORT_SYMBOL vmlinux 0xd2e5a3e6 filemap_flush +EXPORT_SYMBOL vmlinux 0xd2f12e18 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd366ad5a filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd367b052 dma_find_channel +EXPORT_SYMBOL vmlinux 0xd382019f register_sysctl_table +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd399db3f neigh_create +EXPORT_SYMBOL vmlinux 0xd3b53c43 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xd3cb3d8d mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xd3d493f4 vfs_symlink +EXPORT_SYMBOL vmlinux 0xd3dbfbc4 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3e0ca92 account_page_dirtied +EXPORT_SYMBOL vmlinux 0xd3e8c7fc journal_abort +EXPORT_SYMBOL vmlinux 0xd40a256a tty_port_close +EXPORT_SYMBOL vmlinux 0xd40dfad0 input_reset_device +EXPORT_SYMBOL vmlinux 0xd414dbed bioset_create +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd42327ee of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xd43a04f6 snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0xd4a2eaac security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xd4a797a6 skb_trim +EXPORT_SYMBOL vmlinux 0xd4c114ea tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xd5152710 sg_next +EXPORT_SYMBOL vmlinux 0xd56c1937 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xd56e9485 omap_set_dma_dest_index +EXPORT_SYMBOL vmlinux 0xd57941bd set_blocksize +EXPORT_SYMBOL vmlinux 0xd591abd3 file_remove_suid +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd597b085 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5ea4bf3 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xd5f7d5a9 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd61ebc20 set_anon_super +EXPORT_SYMBOL vmlinux 0xd624cb47 bio_alloc +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd655cb03 kern_path +EXPORT_SYMBOL vmlinux 0xd6656884 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xd66b84f4 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xd6cff6d3 blk_get_queue +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f0da41 omapdss_default_get_resolution +EXPORT_SYMBOL vmlinux 0xd757bca8 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xd75cdbcc make_bad_inode +EXPORT_SYMBOL vmlinux 0xd7643b54 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xd7767752 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd785e7a3 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xd7911f64 ps2_command +EXPORT_SYMBOL vmlinux 0xd7924190 register_framebuffer +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79b622d __free_pages +EXPORT_SYMBOL vmlinux 0xd7a2ad84 nand_scan_tail +EXPORT_SYMBOL vmlinux 0xd7b66480 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xd7d5597d mmc_request_done +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e663c0 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xd831fbb1 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xd870c27a dev_printk +EXPORT_SYMBOL vmlinux 0xd884a9dc ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xd8aa770a sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd8afe182 release_sock +EXPORT_SYMBOL vmlinux 0xd8b36a10 snd_timer_new +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8eca163 nand_default_bbt +EXPORT_SYMBOL vmlinux 0xd8f040f1 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd94dd9b1 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd96b6dd1 omap_device_get_by_hwmod_name +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9a22619 i2c_master_send +EXPORT_SYMBOL vmlinux 0xd9aa27a2 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd9c57f61 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xd9cd3078 dput +EXPORT_SYMBOL vmlinux 0xd9cd8ddb map_destroy +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9d5600f cdev_alloc +EXPORT_SYMBOL vmlinux 0xd9f8bbe1 misc_register +EXPORT_SYMBOL vmlinux 0xda00d857 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xda282423 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xda477008 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xda77007a neigh_lookup +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda7d4403 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaac2fa2 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xdab5a488 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xdad28c9c dquot_quota_on +EXPORT_SYMBOL vmlinux 0xdad784c0 __dev_printk +EXPORT_SYMBOL vmlinux 0xdad82db9 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0xdade256d jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xdb0083e9 genphy_update_link +EXPORT_SYMBOL vmlinux 0xdb16edf1 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xdb2178c7 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdb4292e4 omap_set_dma_params +EXPORT_SYMBOL vmlinux 0xdb45f55b fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xdb547f71 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb71b872 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb779077 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd797a8 set_create_files_as +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc0a97b2 input_allocate_device +EXPORT_SYMBOL vmlinux 0xdc1fc9bc dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0xdc23aac9 try_module_get +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc46b485 clk_register +EXPORT_SYMBOL vmlinux 0xdc564167 blk_init_tags +EXPORT_SYMBOL vmlinux 0xdc61588c mii_nway_restart +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc798d37 __mutex_init +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcbc1f79 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcc6a256 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xdd07d279 fput +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2aed80 generic_file_fsync +EXPORT_SYMBOL vmlinux 0xdd3e5167 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xdd47db72 sock_create +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd6592ca clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xdd8debd9 generic_read_dir +EXPORT_SYMBOL vmlinux 0xdd9eb4cd __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xddab13b3 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xddcd13d5 __dquot_transfer +EXPORT_SYMBOL vmlinux 0xdddf622a set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xddefd636 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xde15c042 omap_set_dma_src_index +EXPORT_SYMBOL vmlinux 0xde2843a2 snd_pcm_notify +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde652fa0 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xde692d94 omap_get_dma_chain_src_pos +EXPORT_SYMBOL vmlinux 0xde7f8d8b d_validate +EXPORT_SYMBOL vmlinux 0xde8c763d cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdeb1d374 ip6_frag_match +EXPORT_SYMBOL vmlinux 0xdebb6b18 lock_fb_info +EXPORT_SYMBOL vmlinux 0xdec99da0 get_gendisk +EXPORT_SYMBOL vmlinux 0xdef1aea7 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xdf023537 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xdf10d18c neigh_event_ns +EXPORT_SYMBOL vmlinux 0xdf1ef69f wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xdf439867 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf74d0be snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0xdf781686 snd_seq_root +EXPORT_SYMBOL vmlinux 0xdf89a50d module_layout +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb01a80 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0xdfbee76b ps2_begin_command +EXPORT_SYMBOL vmlinux 0xdfc10ad6 get_phy_device +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfcfb2cf arm_dma_ops +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdfeabe12 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xdfeea9a5 vfs_readdir +EXPORT_SYMBOL vmlinux 0xe00f33bd unregister_cdrom +EXPORT_SYMBOL vmlinux 0xe0327cc1 ipv4_specific +EXPORT_SYMBOL vmlinux 0xe037c012 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe0519376 devm_gpio_request +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe062b7d3 snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0xe06cfcaf inet_bind +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe09c3abb send_sig_info +EXPORT_SYMBOL vmlinux 0xe0a176a1 dev_alert +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0dccfa7 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe0ebb48e mntput +EXPORT_SYMBOL vmlinux 0xe0f58c7a blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xe106154f omap_vram_get_info +EXPORT_SYMBOL vmlinux 0xe10a17b2 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xe10a672c inode_add_bytes +EXPORT_SYMBOL vmlinux 0xe10b52e8 journal_create +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe12bd949 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0xe12ecf93 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xe12fe1ba mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xe1336dd3 may_umount_tree +EXPORT_SYMBOL vmlinux 0xe16b893b mutex_lock +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18c5624 task_nice +EXPORT_SYMBOL vmlinux 0xe19dc5ee neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe1b1bb86 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe1d3614f twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xe1d5b890 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe1f729ab clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xe1fe782c mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe20a2fcb ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xe217f52d eth_type_trans +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe26acf42 get_io_context +EXPORT_SYMBOL vmlinux 0xe26c3124 snd_timer_resolution +EXPORT_SYMBOL vmlinux 0xe275980a blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe28f295b blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xe2b25ca6 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xe2be6f18 sg_miter_next +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e5efdf genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2ed045e of_parse_phandle +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe311c679 blk_delay_queue +EXPORT_SYMBOL vmlinux 0xe31bbe55 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe35b406d tty_hangup +EXPORT_SYMBOL vmlinux 0xe366882f __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xe3690733 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe374c9e6 dm_io +EXPORT_SYMBOL vmlinux 0xe377c61c scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe37d10ae omap_dispc_unregister_isr +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3dfef7f inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xe3fa557a bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xe3fa758c __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xe405f35a __devm_request_region +EXPORT_SYMBOL vmlinux 0xe409ab84 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xe4482b13 bio_split +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4b1a116 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4d53552 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xe4d7ed6b skb_make_writable +EXPORT_SYMBOL vmlinux 0xe4e3085f sock_i_uid +EXPORT_SYMBOL vmlinux 0xe4e6ba4e kmap +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5445af6 omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xe555f44a udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xe55eec63 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xe561c325 bio_copy_kern +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe5765515 soft_cursor +EXPORT_SYMBOL vmlinux 0xe576e1c2 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe59ebaf3 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xe5abc009 arp_xmit +EXPORT_SYMBOL vmlinux 0xe5b91163 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xe5c26e8a netif_receive_skb +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5c7a550 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe5d58c84 irq_set_chip +EXPORT_SYMBOL vmlinux 0xe5d73dbe kernel_getsockname +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5e65fc7 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f18bce km_policy_expired +EXPORT_SYMBOL vmlinux 0xe6214ea8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xe63c5d44 security_path_unlink +EXPORT_SYMBOL vmlinux 0xe64f8415 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xe6548153 iget5_locked +EXPORT_SYMBOL vmlinux 0xe671b058 iget_failed +EXPORT_SYMBOL vmlinux 0xe6744a89 omap_clear_dma +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6c3ebb0 __raw_writesw +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6f84ff5 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fbe96e proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xe700e645 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe719b43a inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xe72cfa7b genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xe73d0fde sleep_on +EXPORT_SYMBOL vmlinux 0xe746f22d bdgrab +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe77f7995 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xe78989c4 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xe78d8534 security_path_truncate +EXPORT_SYMBOL vmlinux 0xe79b76e9 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xe79c9417 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7bcb160 sk_run_filter +EXPORT_SYMBOL vmlinux 0xe7beed2f is_container_init +EXPORT_SYMBOL vmlinux 0xe7c314ae dev_err +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d9fdb3 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xe7ec2f4e sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe81ab319 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xe81bb9fc file_sb_list_del +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ed1ce idr_replace +EXPORT_SYMBOL vmlinux 0xe87fb6d2 vfs_statfs +EXPORT_SYMBOL vmlinux 0xe8995d52 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xe899913a md_error +EXPORT_SYMBOL vmlinux 0xe89dfd84 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8cde130 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe8ebc849 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0xe9046d8e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9209940 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xe9283195 register_con_driver +EXPORT_SYMBOL vmlinux 0xe92b83b7 ip_options_compile +EXPORT_SYMBOL vmlinux 0xe93e2e1f tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95b09ee journal_restart +EXPORT_SYMBOL vmlinux 0xe95c514a __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe9ab127e kmap_high +EXPORT_SYMBOL vmlinux 0xe9acaee3 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xe9b0eacd omapfb_update_window +EXPORT_SYMBOL vmlinux 0xe9f22acf tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea1d8a57 unlock_buffer +EXPORT_SYMBOL vmlinux 0xea33db32 security_path_chown +EXPORT_SYMBOL vmlinux 0xea5aeebc tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea8cbea6 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9fb9df rename_lock +EXPORT_SYMBOL vmlinux 0xeabfc823 nla_append +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xeae2d398 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaea334a input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xeaed85a0 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xeb06e056 nf_register_hook +EXPORT_SYMBOL vmlinux 0xeb0a2c4c scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xeb115c98 da903x_query_status +EXPORT_SYMBOL vmlinux 0xeb17f814 get_write_access +EXPORT_SYMBOL vmlinux 0xeb1b120e omap_set_dma_write_mode +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb41e2a0 kthread_stop +EXPORT_SYMBOL vmlinux 0xeb4c7a71 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xeb553c60 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5651a3 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xeb6b941f mount_single +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebbae2c5 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xebcc935c of_dev_get +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec1b1b67 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xec1dc190 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xec4bdcfb tty_port_close_end +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec620ce3 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xec6a4d04 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xec90228e scsi_print_command +EXPORT_SYMBOL vmlinux 0xec98a0e5 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xece649f5 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xed0fa2c8 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xed23f3ad phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed6fad50 del_gendisk +EXPORT_SYMBOL vmlinux 0xed81e517 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xed854dac omap_stop_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0xed8606f0 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xed974aab elevator_change +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc56a54 end_page_writeback +EXPORT_SYMBOL vmlinux 0xedd173be register_sound_special_device +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xede4f2f2 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xede7bb87 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xedf2e870 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xee09d879 register_filesystem +EXPORT_SYMBOL vmlinux 0xee108f30 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee3f7fb2 vmap +EXPORT_SYMBOL vmlinux 0xee4be3ac tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xee9c279e setup_new_exec +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeec37485 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xeecccda8 mntget +EXPORT_SYMBOL vmlinux 0xeed9e33b skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xeee20b56 locks_init_lock +EXPORT_SYMBOL vmlinux 0xeef32b49 notify_change +EXPORT_SYMBOL vmlinux 0xeeffea90 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0xef2d4e25 sock_no_accept +EXPORT_SYMBOL vmlinux 0xef33799d input_register_handler +EXPORT_SYMBOL vmlinux 0xef749cb3 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xefa83084 snd_jack_report +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 0xf026d99f __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xf02ab09d stop_tty +EXPORT_SYMBOL vmlinux 0xf05e2daf simple_open +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf070e682 backlight_device_register +EXPORT_SYMBOL vmlinux 0xf08ba8fc mount_subtree +EXPORT_SYMBOL vmlinux 0xf09b45fb seq_puts +EXPORT_SYMBOL vmlinux 0xf0b0d773 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xf0b147bb scsi_device_get +EXPORT_SYMBOL vmlinux 0xf0cf3a82 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xf0d68ed6 clk_register_clkdevs +EXPORT_SYMBOL vmlinux 0xf0de2758 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f271cd __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xf0f772c7 napi_skb_finish +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf1076687 netif_napi_del +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf121cb43 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf161e4cf inet6_getname +EXPORT_SYMBOL vmlinux 0xf16d7815 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf17e67d4 dst_destroy +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1b980b5 max8925_reg_write +EXPORT_SYMBOL vmlinux 0xf1c64e51 netdev_printk +EXPORT_SYMBOL vmlinux 0xf1cc5f0b devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf26df746 omap_vram_free +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2b5e5ea scsi_free_command +EXPORT_SYMBOL vmlinux 0xf2c12a07 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xf2e2f922 simple_rename +EXPORT_SYMBOL vmlinux 0xf2e5a880 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xf2f63e74 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xf313315d lro_flush_all +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34cbce2 backlight_force_update +EXPORT_SYMBOL vmlinux 0xf35b10ad nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf36a833f xfrm_policy_flush +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 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e8fa18 generic_fillattr +EXPORT_SYMBOL vmlinux 0xf4287226 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xf430a44c journal_release_buffer +EXPORT_SYMBOL vmlinux 0xf449d4dd poll_freewait +EXPORT_SYMBOL vmlinux 0xf480a5af jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xf488f5c1 snd_pcm_lib_writev +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4aa33f8 igrab +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c134d3 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xf4cc42c7 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf51ad169 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xf52b145b md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5471996 sock_no_bind +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf58dead5 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0xf58f81d7 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xf59aee8b netif_notify_peers +EXPORT_SYMBOL vmlinux 0xf59f415d blk_end_request +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5d70668 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xf5e13693 _dev_info +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf609b55b dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xf61331c6 tcp_connect +EXPORT_SYMBOL vmlinux 0xf613ec58 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xf637e214 __serio_register_port +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf63a3529 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xf6726490 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xf677da8a netif_rx +EXPORT_SYMBOL vmlinux 0xf6872f72 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0xf6a244f3 tc_classify +EXPORT_SYMBOL vmlinux 0xf6a3ae41 sk_alloc +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 0xf711439c i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xf73cf843 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xf7437548 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xf7442d8c tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf782032b snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0xf78478a4 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf792d7e3 kobject_get +EXPORT_SYMBOL vmlinux 0xf79c9fa3 omap_vram_alloc +EXPORT_SYMBOL vmlinux 0xf7b1cb35 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xf7c61815 get_omap3_evm_rev +EXPORT_SYMBOL vmlinux 0xf7ec472a invalidate_partition +EXPORT_SYMBOL vmlinux 0xf7faf41e end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf833b8de request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xf853bbca omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0xf86e49ab neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xf87be997 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xf88c3301 sg_init_table +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf89289af __destroy_inode +EXPORT_SYMBOL vmlinux 0xf8c56b63 inode_init_owner +EXPORT_SYMBOL vmlinux 0xf8d8fef6 simple_write_begin +EXPORT_SYMBOL vmlinux 0xf8ded82e snd_cards +EXPORT_SYMBOL vmlinux 0xf8faf418 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xf8fbb4f0 __bad_xchg +EXPORT_SYMBOL vmlinux 0xf8fbb96f phy_device_register +EXPORT_SYMBOL vmlinux 0xf92da805 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf941df32 user_path_create +EXPORT_SYMBOL vmlinux 0xf96ca801 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xf96d915c bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf97ee5bd tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0xf984a755 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b64067 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xf9bd91a4 tty_check_change +EXPORT_SYMBOL vmlinux 0xf9c2f2c7 would_dump +EXPORT_SYMBOL vmlinux 0xf9c44527 nobh_write_end +EXPORT_SYMBOL vmlinux 0xf9dc42f9 seq_open +EXPORT_SYMBOL vmlinux 0xf9e4bc59 tcf_hash_search +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xfa082128 down_interruptible +EXPORT_SYMBOL vmlinux 0xfa351d15 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xfa3643fb omapdss_default_get_recommended_bpp +EXPORT_SYMBOL vmlinux 0xfa5d9b4b filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xfa7d365c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfa84b9ed jbd2_journal_get_create_access +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 0xfada825a dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb1858f9 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xfb1ccbb6 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xfb35abee dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xfb587836 dcb_getapp +EXPORT_SYMBOL vmlinux 0xfb59c2b2 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xfb6a9a33 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb935b16 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xfba2cb66 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xfba49d22 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbb8aa0b skb_queue_purge +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe2e103 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1163b0 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xfc12055f __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc589d70 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xfc60c8ff dentry_open +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc7bdedf tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xfc866f4e xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xfc8ae87b devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc9e9ad0 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb1e5ff bdi_init +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc7c111 no_llseek +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf86308 kunmap_high +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd15fbb2 input_unregister_device +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd30e836 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xfd4aa8a1 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xfd61d0f0 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd875215 commit_creds +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL vmlinux 0xfdeac884 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe0af70e netdev_notice +EXPORT_SYMBOL vmlinux 0xfe339f92 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0xfe552272 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe634f58 add_wait_queue +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe85f6b8 journal_load +EXPORT_SYMBOL vmlinux 0xfe94d105 dev_notice +EXPORT_SYMBOL vmlinux 0xfea47540 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0xfeb87748 elv_register_queue +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfecb5e77 sock_release +EXPORT_SYMBOL vmlinux 0xfed9075e scsi_print_result +EXPORT_SYMBOL vmlinux 0xfedb7c00 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4f3894 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff8ab696 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xff8f6f41 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffaa066c bd_set_size +EXPORT_SYMBOL vmlinux 0xffaf4d69 softnet_data +EXPORT_SYMBOL vmlinux 0xffb715f0 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffd2cf99 omap_dss_get_num_overlay_managers +EXPORT_SYMBOL vmlinux 0xffd34a55 dquot_file_open +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe16134 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe70d5d d_invalidate +EXPORT_SYMBOL_GPL crypto/af_alg 0x0039b5f5 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x4549180d af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x859fe84b af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x915027c6 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x95a63642 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xa8dca434 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xafbc99a0 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf623e43 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe100f3f5 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x364799e1 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xb64f5288 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8ac9cd4f async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc4a5fa36 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x20c59106 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x3e9cc037 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x65d0b2bc async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7957de65 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x43ef8041 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbfbc8aba async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x3f356d99 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x31e99b7a cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x4a96c740 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x6309daef cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x64f0f386 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9dc39bef cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xa3bc0143 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb058f2eb cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb6a678ee cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xda6ab29b cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe961cc68 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x581d98a0 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 0xc8d74ff8 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xcc87914f twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xdfee5ad0 xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0a10616d ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0b3b8d67 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x135a76f3 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x178eda06 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4db9cf7c ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x57d29bc3 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5a41b221 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x75b9d418 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8040cfea ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8939a085 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x93e5cab0 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9fe67172 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa0780e8a ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa3f5b13e ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb2296024 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb9a5c307 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbc26097a ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdddc8862 ahci_port_resume +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 0x0b4923cc __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x56c17640 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d5e8e71 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d96acbb bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x25b5bdaf bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x37301904 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3b014335 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x446a627a bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x56181d7e bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x728d6b8a __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x812c98a8 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa1fd891c bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa6ee35cf bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb36a833a bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc3fd7481 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdae6997c bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf7e10067 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x02c57a1a btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x19a676ef btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x225420fa btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x35bb3f16 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x48b459b3 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x76122d1b btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7ce0a317 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8b9c65c1 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8f2bbd7c btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xad43fec9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x08da9925 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6bfe7a37 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8b129122 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9a649faf extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xaaa1de2b extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xad3b9e7a extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb414a6f3 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbfca5387 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc00b77e2 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc6dad6a7 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xdadb03f7 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xde7662b2 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x844db1d1 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa01e6ca2 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x63653845 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xd34ec0ff __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x28f23d67 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa6794c81 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x150c716b hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e3fc3d4 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x208f711b hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23b0ebad hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x36541ab7 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37bd8671 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x457b41d8 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x49a04af1 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5f07a0c2 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x74034767 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x789cbd87 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7ff55164 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x804e2280 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x80b24dbb hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8de98b79 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x939f838f hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x93c75b1b hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a2b8fa5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d7fde02 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaa04e3f7 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb57aec78 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc125a9ae hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd6d48801 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdba8b09b hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3362206 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3b8fde4 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeb2400a4 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf1d5fa78 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xff2220a2 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x01fa05c2 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 0x9277c223 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xef6ba309 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x260192f2 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3667f687 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa5bd32f8 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xb2415aa4 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0af3878e hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3380b317 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3740a35a hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x40aa29aa hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x47f21d23 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x58bcec72 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5eb6f172 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6e5da0cf hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb358c2b2 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcb3a8800 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe10eb8e2 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xeb4d3979 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xface9964 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0e2da4ee i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x512dbef2 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x556e5e16 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x59442fb3 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 0x7249111f i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x82ae96b6 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa479fcfa i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcc668ff3 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe9870d3c i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x54dc714a i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x72875b0a i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x407530a5 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x57e2ca89 i2c_setup_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 0x4e42fb8a iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5bd802c3 iio_st_channel_release +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 0xc44bbca3 iio_alloc_pollfunc +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/input/ff-memless 0x10ea3c7f 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 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xfe607136 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x25d89210 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeadcfa74 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeb08bb8a cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1714c8ec wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1b250269 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4d7809a0 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5a1cc48e wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6141b031 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x664b5bee wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x81d2093e wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9b7fa60b wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9c6c1464 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcb5fe546 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd51f1218 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf8bc8b41 wm97xx_unregister_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 0x2f1f980b gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3961cd1c gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x41be4517 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x53699679 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x53fa0bc1 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5cf4c62b gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x67ac3fb9 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6df9a191 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7e77256f gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x83bf1cf8 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x901e7169 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa8a13028 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd36c22dc gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe4452dc3 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6939cfe gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6d06ca6 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf0040fa2 gigaset_handle_modem_response +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 0x8f90add3 dm_bufio_client_create +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 0x63420edf dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x651148bd 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 0x0933ee13 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x17852b44 dm_rh_inc_pending +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 0x46157a9d 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 0x7e45e87b 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 0xdc279241 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf6e8c164 dm_rh_delay +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 0x5c017586 dm_block_manager_create +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 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 0xf84008c6 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x64e41102 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xf92fda77 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xa985e20e mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x9623d5f0 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x39c46fa9 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x13d8cc71 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x82243195 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x023adf9a tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xb905835a tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xfb11dfee tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x272ee1d2 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x4b125a31 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xff97d0df simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0xc11e6119 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x278000d1 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x790fa6fa tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0cf34c23 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x115bdebc smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2e4adc0f smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x340bc315 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x41cb7c12 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x42d012fb sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6aee4585 smscore_onresponse +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 0x88f697fd smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa9659ab3 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcb4b35b9 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd0df1622 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe77513f6 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xea72d626 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xeb253cba sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xee76ee06 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf1fdd739 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfa7d76dd smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05fb336e rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x09548927 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1507f59e rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3caff16b ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6a219597 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7a590364 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8377672c rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84fc67ee rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8b57ddaf rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa5258f15 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc2702f05 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xde4ca2b6 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe2116638 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe8198e44 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb7d8b1b rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf8d1f8f4 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf9e24a66 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x11554a08 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x12847552 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x30f44864 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3f20e460 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x48408eda cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4847fa9a cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4b1f9c7e cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6284f6b1 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x628555c6 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x69df68d5 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8a01f922 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8f3abd34 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9b363238 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xac4b23c6 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb320aaf1 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb46c1488 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbeeb27a9 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc17202cd cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc7930d30 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x08c02361 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x32efc6d7 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x56c3caef em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x63b0d76c em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6c3900dd em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x71a772e9 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7ffa3eb2 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x81f13057 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8888ab4c em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc5533253 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc687924a em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe80bc385 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xec6871b1 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf4ac681c em28xx_read_reg +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 0x586868e2 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x83ba7566 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xccd391e8 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdf95a130 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x02b3362d v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x63b8b88e v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x718bd121 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 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb049a513 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb0f1a627 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-common 0xfed4dc9b v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x40b3243b v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5748fcd8 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5c0c97d7 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x993f6d15 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x15f08673 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3448c901 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3dd967e6 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x48fe4c0a v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5bf29559 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5f00a8de v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x602e5649 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x6c27f781 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb2eb5351 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcd5dab8e v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xeebafeda v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xf1cce553 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02251afd videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0503f38d videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0bb475d0 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12016a40 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x17025ab9 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1902d761 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2053d036 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25a420df videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25fe0737 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3af2cee9 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3e932036 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5bd2fd41 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x64eefe2e videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7d289653 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f7b0829 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8e3cb332 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc78f69c2 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcb6b2f14 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde57ae06 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde9b25de videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe4b9239f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe81e6734 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf12ae1a8 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf3f4e8a6 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x35ff45cf videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x3713a93d videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xc2015e4f videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xf6b8795e videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x2b05771d videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x667ca2d6 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x84697c39 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x011c2689 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x0dd692f3 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x17f02994 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1882da2d vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1f2e4494 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x2d03a35a vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x303ca025 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4eee92ef vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5b3518ed vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5ee4b3f4 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x603cb15e vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x815d21f6 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8577503b vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xcf6572e4 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd0334f0a vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe89f6637 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfdcd5ff5 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x21c6a071 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xcdafad7a 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 0x0d21787e vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x1da7b9b0 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x3be4937e vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xb6134ea4 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xbf181de9 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xb7d5cb3e vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x029b4654 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0ca5d6ab v4l2_event_dequeue +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 0x383649f7 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x522fe005 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x57c09de0 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5ee3727d v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7094ee65 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90887e81 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9fdfd8dd v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa033dafe v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa0e0e0a2 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa7d98f04 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb1694064 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb3311702 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb5d8120b v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbed4431e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc09aa544 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd3b3d274 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe0475989 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfe6ed6b2 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x25db1b69 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x37754aca lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6b1075d2 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6494d669 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7146beb3 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xac546478 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb0a46496 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb2ce756b lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd0172557 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdfe2ece2 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x25f0e9b1 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x398a339a mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe69799e0 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x09a342ab pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x58f9f65d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5df0dbed pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x613d2723 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x760e71c0 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8a22f1d1 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa2c9c11e pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xcba918a0 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xce3fbe38 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd079a382 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd8bc5564 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x2c3245d3 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x406a1821 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3d8bfbb0 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x50a5d210 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x80f0e934 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9a6efdce pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf5a8479d pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x155cb245 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x5049f052 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb5973038 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd0372661 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xdeb1442a sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x14042ddf tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x34667849 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xd6ecee90 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xdc1fcf54 tps65217_reg_read +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 0xb1b1862f 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 0x1b5948f9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x659437b0 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x68aed3e6 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x85192d83 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8c230d62 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xdc1c6ef3 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf63d9ebc enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0618e0ff lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0e0ae48e lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x177c2906 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4a8dfe04 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4e691802 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc852d406 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xff526602 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x5efd0d03 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xf552cd54 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0048e783 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x02e302ab sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1ecc716d sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x5dd60080 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa75fcedd sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xcff6498a sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1e2bd680 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb8b1a499 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xe755be2c cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x251f3056 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9ad7053c cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xca105d2d cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc1af89fa cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3be8b2ca cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xd8db4663 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xf8c27fb1 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x69be1223 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x9289f5ea onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xcdd8854e onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x325323e2 ubi_get_volume_info +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 0x43c954ec ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x632b59a8 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7f64494b ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8cd26646 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8e3d585f ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9ace8463 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xacc94e11 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbda089e4 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbdf126be ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xccd7902b ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe666e5aa ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf62e2f43 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 0x091d25a4 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x6e42d5a1 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa9450482 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe7bed814 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0fbe034d open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4201761b alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x56a8d4a1 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x59957297 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8eb7e42e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9ab3d60e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xad0034c6 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xda9df45d alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdf434347 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe9aa3e88 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf9062182 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfb009c6d can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x4c9e7107 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x5dbb2bde alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb3c1b3e5 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe102ed05 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x07421ea1 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1e60d30c free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x8209bca0 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcccd0ed0 unregister_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 0xe34ab7cd cpdma_ctlr_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe4c22565 cpdma_chan_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xee8d7539 cpdma_chan_start +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x05f6fb56 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0eea4894 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x173c7748 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc3baae7a macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc9490756 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfb56bcb8 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xf7e8b91e mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3234a3d0 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x58071030 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7e32ee64 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc024bf23 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x006226c9 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x59ea9b31 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5c95ea9c rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x84fcdb51 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa1752dc0 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd2693bde generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x031f2ff3 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0dac6fac usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14e252a2 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x16ff3977 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19fbc2db usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1f78dabe usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x28867c1b usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x377232d1 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55e23d72 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5751af8d usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6f2a29eb usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x75c4b5fa usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x99f41805 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9a69da14 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa4b56a76 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa5374744 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xab0c42c7 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcd8da9af usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcecd7a24 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0ccc4ed usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe80504ad usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeb6da0f8 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xec1fc504 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf9f7583a usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x11d17b0b lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2df8003c lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3cab2fa4 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4dbaa1ad lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5e035fbb lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x63e4c4a7 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9175c094 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9a83404c lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9b65feb0 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa7872831 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcd4a6231 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xce11c28d lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe5cf5f9f lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xedee074e lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf7d8ac67 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfe5496fe lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0b5cd3f5 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6a6446c7 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6b0e7cf9 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7b623796 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xb90639c4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbbd7094a 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 0xe078b611 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe5cce566 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x21206248 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xc956c494 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x14640642 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1a0f7aa5 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2affd13f mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x4f70fe52 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x573b3323 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x7a70c1dc mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x86339926 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xb7d821df mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbf9f2d0d mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xead1029b mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf1d97027 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfa126b46 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfdbad406 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x44bf5a51 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x467a6b1d p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x555555b3 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x5693f8dc p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x6ac9b983 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7409435c p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x977aa172 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x97cff7be p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfdf48e41 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0d5b6bef rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x10447cf7 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1257681a rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x12a47391 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x17e5ac2a rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1eaf16cc rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1f02f78c rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1fc3bf64 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x22768129 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x29e16072 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2e7205bf rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x35fd4dc1 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x373571c8 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x38ee1b9f rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3ab8e835 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3b59844e rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x46eb76c7 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x489849f4 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x490dc169 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5738856d rt2800_rt2x00debug +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5c274ac9 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5f8e8633 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6303a647 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x64812a6d rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x68d79a58 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x724f776e rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7e995cd9 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8a0fa1ef rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9bfcc957 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa381f0c4 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb61351f5 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbd478c0d rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbda2bbec rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc7adbfd4 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcada55c0 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xce4ba1c9 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcfb6785e rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd7f68f8c rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdd837188 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf16cea57 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0a7b8390 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x160cb14b rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2bddf3cd rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x321a9808 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3a5cade6 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d5f96ee rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x449cafff rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4a85e001 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x52965540 rt2x00debug_dump_frame +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x554ab3d4 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5568da70 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5929514a rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a88c26c rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5da8ab8e rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5f5014d5 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x61d737eb rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x62775ecf rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6a4dffbe rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d84d92b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x75d85d00 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76683e6a rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76acf340 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8a129c3d rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8c480635 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x91ddbf84 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94820a5d rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x981d1c53 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9b40bf18 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa2f52c0b rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb38776b4 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc38f8b43 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcabb891d rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcac7ec5d rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcbbb80b4 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcd9d64c1 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd004e0f6 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd0295018 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd107968a rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xde24d5d8 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xed4014f4 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf3a53776 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf6943f5a rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf82d3c30 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf9e7c62f rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfad4f02e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfd60a235 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfd9c5519 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0478bc5e rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0bf5bd7e rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x172fb2f5 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x261cdf7f rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7d0415f5 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x81d535ad rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x95a995c2 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9887f3e7 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa225b5af rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xab46ab6c rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcd52f36c rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd7b218ba rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdbff976d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdfb0ed84 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf210143e rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfebd91eb rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0e77d648 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x155d4ce3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x958ee473 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x13f25a6f wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x203f23d3 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2217dcb2 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2c3c9948 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3488023d wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4164e338 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x423c2566 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5c5bf7a6 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7c5dc7f7 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fb5fb3d wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x82c6391d wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xab6a9aa4 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb5e6dab6 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb88c0fef wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8b61c2ac pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x9f524057 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xe4e766d9 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x24439571 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x5b3aba57 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x9f58bf1c mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb4b2c981 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb8fcf021 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdc2d4dec mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe147b97f mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf71fbb9d mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x377955ae wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x533ba634 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x89faa704 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9e255673 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xcd4a48c8 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfe1f6e7c wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x54affae8 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x1f9ba02b scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x320695f6 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x43f8a274 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 0x61e68e16 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xbde4d1d9 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf921d04e scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x10092f1b fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x107ff38f fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1d397634 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f8afd00 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x37891db9 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4ba730e0 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x53e738c4 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x61b8eaaf fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6a833c01 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb5d34318 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xec6b3cab fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf65ed1ea fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfecf859b fcoe_fc_crc +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 0x0b0eb464 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0cc66d08 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b566ab3 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x283046a4 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x296417d5 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ae3ae18 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f6a8b31 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3071d0cf iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36dafe0e iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36e83399 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3a8b8c2e __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d3ed5f8 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b85956b iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d9060f5 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e205188 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ed45e50 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5684f00f iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f0572a1 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f340506 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x87b6da84 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88594f3f iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8aab068b iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e7e8631 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e80f20e iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x941f0721 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x943e763f iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa0f70b64 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa30fa178 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4711a5b iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa59b4616 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xae2dd859 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb97d77b3 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbf4734c4 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0491418 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb45140e iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8dae38b iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeefb97f6 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefe5db22 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf5849288 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf63f6632 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf7388e12 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf88f16f2 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc5f12e8 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0291c0fe iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1100a297 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x280641a8 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x40503705 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4cbb682f iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x509ea6e6 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5151b01b iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x62a7ff6d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x64adad65 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7968326e iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x878d165b iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9aef7f9f iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaf4aef6d iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb37efa1d iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd4095b72 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf329bb1c iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf41d63f8 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x032ee3a3 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x09852610 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0e799c66 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x17fe6e6e sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b7d5a1a sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3496d62d sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3c83aaea sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x49664617 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4f6d26d1 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x55a15322 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x56df378e sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68bf0475 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7643afcd sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7a0d5424 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b95fa6b sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x829a2fb7 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8cc3f711 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa28e4373 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb387e995 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe0e63582 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1303158 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe2ff2e51 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfa62e5a1 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x05d0db4b scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2960a9ee scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6996aba8 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x984809f5 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa34cd1ae scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xaa3232b6 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb8c151df scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf3b1f03d scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf60e787a scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x011af3b1 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x01a20083 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x087f6ed6 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d9c642c iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13754300 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1e5989f4 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x29726170 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x30a88aa3 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3122cc91 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33484b3c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37cfa523 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x406d4310 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x46d26135 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d7cb0c9 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x508b06db iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x59f00282 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x609faa0d iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6c5fa902 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fde9d89 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71282d82 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x731737ce iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84b1e701 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x92e183a6 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a688c4b iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b965ad4 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9caf8156 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa96a903e iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcab5a0cb iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4e8d733 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe8f00d3e iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb920164 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf5757cda iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3ba2058f sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x6297a25d sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa937e0c9 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xc0d9eb98 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 0x18750905 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2c0c778f srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3ae1d234 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd3ec0675 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xee87f750 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1364591e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3a488105 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5807f43b spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7d0cf709 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x8478102f spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd9339b6b spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x6c7d9d74 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x83d5b790 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb298f4b8 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbd61d9ed dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbe4810bf dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xdc875100 ssb_pmu_spuravoid_pllupdate +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 0xaac87930 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x1cff999c ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x9df3ae95 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb8ce324b ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xbcb5a946 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd0a0e834 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf80f0d19 ipack_driver_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 0x24fa721d usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x34aa2003 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3b040e55 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3c0e28ae usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4fbbbb30 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x67020e44 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7035f0c7 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x9596ebf4 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb5df5aab usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb98e1da5 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xcf48b8e0 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd53803cb usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xf898501e usbip_recv +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x47fd32ff max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x53051333 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x60fec032 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x67fe0f71 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7710247f max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xa0719319 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/uio/uio 0x391dcd09 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa7dee0ec uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb42ed7c0 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5867f8dc usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x88dc3fee 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 0x0fedf481 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x623db4a8 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7448d962 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9b578597 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb702c33c usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd8b0198e usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe20c8a85 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe5f4d646 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfb0e23ec usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x5c59a306 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xbdbcacab musb_dma_completion +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x5f2c06bf isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0059a80b usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04c783ff usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x091dce3e usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0c367fe0 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2976cab6 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2e5cc158 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x37bad7ce usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x388ac055 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x484143b0 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5b044595 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x673d2420 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6a14e6d4 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7c066f53 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x881d74bc usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9a64eada usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa7585667 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbe31ef94 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xca0582f4 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcf81f17f usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0566cf3a usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1023826b usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14562bc1 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14d7a0d3 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3981dcee usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3cef0263 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3f9f42ac usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x538ddee2 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x659a9a6a usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x748a5350 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x77f7c5c3 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8a616c5e usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8f69b2a5 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x939140f8 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9b8a37b3 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9e33425c usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb9ef89e9 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbbad9bc5 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc2769373 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcfc3253c fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda6165a0 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xed0bf493 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x204d1c6c auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x3d949c01 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x4d84ac2f auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x59786296 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6bee08a3 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6d19d10f auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc3a52d07 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xccc1f391 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xcdfe928f auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xdb242d5f auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x72cdf591 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8527f05a ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x899aee46 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x98c0a22d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd1ca5acd ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xea3c622c ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf0c18c9d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x71858b7b fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd3225886 fb_sys_write +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4a39611c w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6f299f85 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9d9efdfb w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb9a069db w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc70d0a92 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdee32dae w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe6df29b7 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xef78c939 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfe92acf9 w1_next_pullup +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x16891ea8 dlm_posix_get +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 0xf0c7cd81 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf4a910ce dlm_posix_lock +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 0x1b7f1f85 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4e29c028 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7146eb02 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x71910abe nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x74cc6bb4 lockd_up +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 0xd40d381d nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf5ccca00 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0506d855 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a60dca1 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c4d32a8 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0dacbc30 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fda7dd3 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17e3840b pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a008442 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21077aa4 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2325a3e8 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x238e5e82 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25a10607 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28c0e13a nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e0957e8 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3075fc61 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x453fd2ce nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x469903d1 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a01d9bd nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c78e757 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x528ff7e4 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x601e380e nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x657f2246 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69427fac nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b455f2f nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e5bdbb6 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e7a36c2 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fc21a60 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8845d5ac nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88f4c091 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91758785 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ed2b7d9 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab1cc7b8 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4314ea7 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce332ce2 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcfd73311 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1696137 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1992383 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde590b66 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde9f1b3e pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdedd077d nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3bc5312 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5d6c6cb nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef540827 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0af2ac7 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3b4ec02 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf71b436e nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe9ee5ff pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x769c062d nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7bd9c835 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 0x201347c2 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2ea34ace o2hb_setup_callback +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 0x6c88e832 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x80670029 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x87a7c77f o2hb_register_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 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 0xc24cd8f3 o2hb_unregister_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 0xee36fc75 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4f597fa0 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5945c305 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7f9055d9 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb7f688b7 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 0xebf80368 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf9e290e8 dlm_register_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 0x180eb3c3 ocfs2_stack_glue_unregister +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 0xb181e5f6 ocfs2_plock +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 0xf1992901 ocfs2_stack_glue_register +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 0x19373cc5 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x2d5d06be garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x74dc0a34 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8dc7e378 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x958cf36a garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xb16482d0 garp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x31aad7bd stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x858b6e40 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x2bdd8a88 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0x3de85ffe 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 0xd401f8a0 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x90d69b4d bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x06c965ba dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x08f6f3ca dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x214ec5c5 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x25cecd61 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x282c1025 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c26cdb7 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f5cd612 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39bc2c47 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39f52d1a dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3ac7e166 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c8bad03 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +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 0x4f90f74e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6034e97d dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x616957ba dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6201b0b2 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x721c1a8c dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x737ba4e4 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x79faafcf dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7dc56535 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x825d0479 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x891bad1b dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x90f91062 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x994ebdb5 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99b4377e dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa8155f73 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb712d433 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xca52eb05 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf105087 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3e6742e dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd9de6388 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf97ada9 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe61e217c dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf8331fd8 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf8ec96d7 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x22068490 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x98ba7293 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9925d8a8 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbfa5f310 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc68c0762 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xde5779df dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x273678e0 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xee6395d8 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x2d4a07d5 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xe1a58836 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2e0ca404 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4943e958 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x93b6bf5a inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xbfb3f397 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xcd5dd26b inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xef5a4452 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xa9969175 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x234ba525 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 0xdd8bea7b 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 0x03033659 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x18b59621 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 0x41756033 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 0x70a0f857 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x9aaf1df7 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 0x37788b3f tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4bdc6c2e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9a6045a7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd377548e tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xff583355 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x5dd31b11 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 0x2b0e9ca4 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x41b84526 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x51b3e6e3 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x69924e3b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8a37bf38 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8f33d999 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x906970fe l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x97fb8bf3 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9e2a81c4 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa31cfca9 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xab8af7a4 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd7d792d4 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x285ae4ec ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49d07d33 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x842eccd6 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x97d84459 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa16a19e0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb1e6c2d1 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd656a2e8 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea689c6c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf1739972 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4a4acf1d ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4f46429e ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7495dd5b ip_set_add +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 0x7bf14d35 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 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 0xb1467109 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdbfcf0e7 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe2d5129f ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xec6c88a0 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf4e190c2 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x2d68575e ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7263e4f9 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa4d7b7d8 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe4c997c3 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x006618ce nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x01c7d0b3 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a11a4b5 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11d7234d nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13d043d1 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bfb3f63 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1cf51b63 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f9a66a6 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x212b55be __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24f80746 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30eea2ed nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31db38e8 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x345b789e nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3655b6a0 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37c61bbb nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x386fe554 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3af7522e nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e263aeb nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f0cd61a nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x423324c3 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4621ddee nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4aa0aeee nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51f34a7b __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57f5d0d3 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5825fa1a nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x681751d6 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6bf6ab74 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c6823d5 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f9503a0 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x706a9116 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70a68b5a nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7bb6e774 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x826bd109 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x829f708a nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86b47bb6 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d2d167e __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8fae0735 nf_ct_expect_unregister_notifier +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 0x987cf58a nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a844bb4 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9cfe6dfe nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa136a388 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa54e8be9 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6c671b4 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacd3f6ef nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0a91208 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb24414fa seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2cefa02 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb75b4092 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc0c2ebe nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbfdcddc3 nf_ct_deliver_cached_events +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 0xc2e0b3bf nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc32386ee nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3299303 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcffa4fe7 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0608233 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd20a9386 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd253129e __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3a2f782 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd55eb039 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7e32ca9 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd19d53b nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdec3eb58 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf32b8a8 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe03cf104 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9f2a303 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef073de2 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9e6b3fbb nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x39fd65e0 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x091ff2d8 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0b1e0372 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x15336b26 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x22ffec34 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7b956c9c nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xaa450e2d set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbd327061 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc051b66d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd0e5f6f4 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xed12a9f2 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xffa2f94b set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x5ae2bfb1 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x14df14fd nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1c1497e9 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x62ecc7b0 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xda24a37b nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x97802c5b nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9d954bdd nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x096d8658 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x09bc1d66 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3fc8f0b3 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4804184e nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4a5338b1 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x571fc1dc ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x89d19749 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8c4adc41 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8d85c64d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9c2da559 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc1d87b5c ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdc67887c ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf238f562 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x15082552 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x6bbd3e51 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xbac48c92 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x25b989e3 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x401fefe3 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x98179bd6 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xcca281b0 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xec365cfd nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf7a91199 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xb7d6fc1a nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x2281b7a3 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04f2d2d9 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1b3e1f08 xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x29210102 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4047bd85 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x57fdedc8 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x61a1388f xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8dde6327 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9bd3cf07 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9dd998f5 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc2898a87 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0619e9a xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xed5f9d74 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xef3ff08e xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfe0e3d31 xt_proto_fini +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 0x12ef80ae rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x13841b73 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x14b2f2ec rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x24a82b22 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2521b738 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2e690130 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x358aaf03 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x35f03c92 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x3702e161 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x3a8bff56 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x4a5ffe7a rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x511e9d0a rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x59d308dd rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x62c0ebf0 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x680c6181 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x6e31a983 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x76e1b4c5 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7b430620 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9730196b rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x9fb8b5f0 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xa2e23080 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc7cb4abf rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xcb021ba0 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xd0d784b3 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xeaae12e7 rds_trans_register +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x4b89e027 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xe069c852 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 0x04f6627b gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0c0db722 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4a9e9fc7 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x50d74386 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x56638767 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7b4a146b 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 0x95c4a9aa gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x968ce856 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x972e039c gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb3faff97 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfc8389b1 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0001b772 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00c93958 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x024cc912 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x040be67f xprt_wait_for_buffer_space +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 0x0a19320f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d68f755 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fce250b cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11af4819 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1224bbbf rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12565a92 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1314ab83 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x131662f2 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14282d55 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1589d57d rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1877b161 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18c21955 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x190edb1f xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19100b3b write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a19b989 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b6f8aae xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d868db3 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e7a5ff8 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20f1f8fc svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21b3e47f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22751a84 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24330251 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26f13674 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x274d8b69 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c391fe7 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c71683b rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da0f0cd rpcauth_create +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 0x33acb155 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33ae9f53 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f20868 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3870080a bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39f2d995 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a7ec556 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ade7e8b rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c6c255d rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cace233 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d6e4f2b xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x406c4a7d xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x424789d1 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42926489 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42db2357 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43fb3d7e svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x450c4feb cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45238dd8 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45fcec06 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x464f34f1 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x473ecf3a rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x496a609b rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a9f4cfc xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c02a9ce rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c0d75d5 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d4ff5d6 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x507f32ae rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50937dce svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50b6c7ec xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x567b179b rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56ede3de rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5749ede6 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57f1e616 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59986fd3 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c6b6eec svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ef21822 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f4ba9e7 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f6398ea rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60355846 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61ca161d xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620306f5 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620c2b62 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6433506f rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x670efa17 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690ac893 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x709aec92 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x721c6779 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72b15e74 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7378c1f5 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74240350 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x743351df rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7502e5df xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75db4347 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775c68ff rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7834f272 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78cf6afa rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78f24569 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79e67d80 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a9c06c8 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e4f95df svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ece1a28 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f04a470 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f570258 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x855c3cde xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86684479 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8936dafa xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ec6e787 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90c21b6a rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92131647 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x930b9d39 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x935f6525 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a09a0e xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93c9aa7f rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e22dc6 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97bc7fc6 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97e093d9 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x985d6bcb xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98a6a2dc svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98bc5d6f svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b12194a rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bf8787c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e5a0e7b svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0cd362b svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa10ac441 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa149351c xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa157a84d rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa53e6db2 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5b6e0c1 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5f01640 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7a30cfe xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9068ac2 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad7d1f4b rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae74883a svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf27a192 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf293972 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7520b66 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9ee32ab svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9fe3a51 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba3d12d3 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc09dd966 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc192e469 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc28fd212 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2afe5ed rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2b31a8f xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4b2eef6 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc54875ee sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6c2c9cf auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc887cd7c svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8aa1b38 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8aa5680 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca16ad24 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca3a7797 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd0e7a54 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf918fef rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2ccbed7 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd34bf523 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7778c2e rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8687295 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdab72fe7 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbe0421b xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcc7cc99 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfb8f2bf svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe27eed27 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7aacca7 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7fffedd __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe80d4dfa cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea94ad9b svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecd96656 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed438eac xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed70d528 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedfe77ec rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf182c6b7 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf364ffb6 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf843d008 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d98de6 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa303034 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb415ae5 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc9ee815 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdc1b704 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfde37f0d unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfeb9620f svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff7f5e07 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/wimax/wimax 0x01c28cef wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x12791d2b wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1b1c48ca wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1d2f012a wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2dc7dad7 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x788fe2e0 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x86d7e708 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8d3fc386 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb0546b90 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb09c0c0c wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcad773d4 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd36afc9c wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd68e3930 wimax_dev_init +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x01cdcd00 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x053cb0df cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2a2f6731 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x32dedb6b cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x36c764ad cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5dff4314 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x814f0e98 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8bc5f599 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8de1f98d cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa1b5cc11 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcefd1877 cfg80211_wext_giwfrag +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 0x7af7748a pskb_put +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 0x99a34653 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xaf7a27a4 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xd11cc0e5 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xfeada537 ipcomp_output +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x44f3acbf pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x93a74313 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xbc40c04b v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xa969f219 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x49f978d9 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xee6b1031 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2c1a21b1 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x474a5937 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x5232195d twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x631856cd twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xbd815b38 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xe8ae8db7 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x243eee27 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4315f5ea wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x54c007db wm_hubs_add_analogue_controls +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 0x7ac99601 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd1feacc5 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd70295ed wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf3ea52c1 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf9d331fc wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x90538bdc wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe9d9facb wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x1d26140e wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xd00a0d57 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x0370cfaf wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xbed375e6 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0xcd5d0f22 wm8996_detect +EXPORT_SYMBOL_GPL vmlinux 0x000668dc irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x0007b4a7 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00ab5000 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00d312a4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00ffa971 snd_soc_default_writable_register +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 0x0180b00d ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f9a2d3 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x0212dce9 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0226eb04 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x028552b8 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x02c8a5e3 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x02cc2c9e crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x0314070a blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x035fde7c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0375ea8f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x039fdf82 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x03ae44df snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04251a3e led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x045e38b3 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04ae6b56 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x04c17c03 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04d1e5c5 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x04fcac4e fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x050f92d4 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x0523e5ec pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x0528a446 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x052f7091 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x0531264f inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05455978 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ad7124 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c77ad1 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x05d80238 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x05f645cd ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x0611f78e sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x06130df4 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0675c6b0 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x06aa8da8 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x06bf4eee spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x06c36136 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x06f04072 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x06f57384 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x0709a989 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x073ebdae sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0747181c snd_soc_register_dais +EXPORT_SYMBOL_GPL vmlinux 0x0759a36b scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x075ca5c6 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x076a68fa usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x077c0971 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b9892f ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x07e510af usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x080ddc9a omap_uninstall_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x0822176a ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x0858c9f0 mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x0889290e ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x08ce11e9 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL vmlinux 0x08eab084 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x094d38b8 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x097ad8a0 mtd_erase_callback +EXPORT_SYMBOL_GPL vmlinux 0x09b15110 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09d192f1 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0a0bf193 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x0a1812d8 snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a4f7895 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0a7de0c0 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a8f07d4 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0ac82454 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b2bae45 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0b32bbc8 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0b3f3715 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b713d33 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bb322c1 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x0bbae511 return_address +EXPORT_SYMBOL_GPL vmlinux 0x0bc64203 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bf4329a __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c001903 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0c01c84b __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x0c042caa power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c1f430b tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c736410 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0c76695d inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x0c7fbbb1 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x0c919cdf inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x0ca479d3 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cc59deb do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x0ccffe10 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0cfb73d3 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d1b26f9 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x0d24d2c3 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x0d30ea61 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d5b83cb md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x0d6cd567 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0d9c5570 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x0dcd6a4e blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e045a13 omap_dm_timer_stop +EXPORT_SYMBOL_GPL vmlinux 0x0e3dff3a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x0e42f03d tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x0e9915d5 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x0e9e220e usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0e9e6f43 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0ed2f405 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x0ee5184f tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x0ee97518 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x0ef90593 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x0f02209b wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0f1e068c __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x0f575f46 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x0f5cfd0b snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f8b9ee8 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0ff8a838 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x100d38fe ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x104e9840 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f5f964 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x110a093c klist_init +EXPORT_SYMBOL_GPL vmlinux 0x11646d1d single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11ce41ff bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x11d5052b get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f7cc48 snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x120ac879 gpmc_init_hwecc_bch +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 0x12834339 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x12a11d58 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x12cfcc74 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x12ec5dd1 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x12f8f654 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x131001eb tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1371d3d8 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x14026e07 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x142e8f50 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x1452dd15 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x14688203 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x149fd177 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x14bc98e6 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x14c5c204 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x14de1f80 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x14f0ae80 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x15067bde xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x1545f4de register_timer_hook +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 0x16239a78 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x16280b2e inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x1638a168 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x168fb583 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x16938715 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x16da80ac __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x16decba7 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x16e995d2 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x1724a0dd cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x1740031a device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x176e28d9 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x181a5a29 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x183dd256 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x18602c9f sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x187403cf disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1889059d ata_sff_tf_load +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 0x19456e90 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x1967eb51 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x196f60e3 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x199232b0 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x1995abcd debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19e893c5 snd_soc_set_runtime_hwparams +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 0x1a5a56e5 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x1a65920b omap_iommu_arch_version +EXPORT_SYMBOL_GPL vmlinux 0x1a67721b watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1a989ca0 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1aa1a59f modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x1abb724f cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1afaa190 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0x1b1715ca device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1b18f808 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x1b3f8b0f snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b660b6c sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x1b6d229c snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x1b84d428 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x1b85209d bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1b9beeb1 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1ba2a024 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1bc50751 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1bff2b8a attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cbb77f4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x1ce7347e __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x1cec09c2 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x1d07dc1d ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1d0fb021 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x1d116ac2 snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x1d3ca131 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1d4633c3 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x1d4f0133 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1da3db30 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x1dc63be5 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x1df4e510 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x1e009e84 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x1e087a5d snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e3bb8c3 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x1e4f2b8a snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x1e56b7ec regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x1e6689cf snd_soc_platform_write +EXPORT_SYMBOL_GPL vmlinux 0x1e74fc9d omap_install_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e92fced mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x1e939184 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x1e992a5e scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ecf3f2d rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f34b6e0 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1f37286e register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x1f41fdd7 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1fc0518a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x1fc7d787 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff10a76 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x201fb979 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2027bdef ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x202bec9f spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x202becb4 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x2034d592 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x204969e0 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x2072826a wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x208741a6 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x20b56ad3 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x20b79a2b __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20f38268 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x21037d6a aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x210852c7 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x210d7668 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x21169b80 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x212e0266 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x2139ce91 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2143b6bc spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x21458723 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x216a8c25 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x21969ccc usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x21ba8e3c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x21eed484 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x2201a12c regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x2209cf3c dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x220b9bc3 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x221e9136 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x22281114 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x2279c965 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x2283acca pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229df9e0 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x22a13f3f usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x22a2d7a2 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x22d3df5a dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x22e02e33 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x22f4a3e0 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL vmlinux 0x2345d4f0 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x2347e654 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x23562eb4 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23b5b1ed irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x23fe0eb7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x24202df7 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x2426758b ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b21940 of_regulator_match +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 0x250c68d3 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x2514df85 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x251ed837 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x254ec7ba __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x25b34ad0 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x25b8b8d3 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x25bba545 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL vmlinux 0x25d7f867 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x25f0acd8 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x2668f70e blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x26848962 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e33929 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x26e3f5b4 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x26fe7fd5 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x2736b3f7 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x275b6f8f amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x276d92b6 snd_soc_register_platform +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x278e8379 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x27959753 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x27985d3c hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x279a8c4d __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x27c70ac0 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x2884a0a7 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28ad8aed ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x28d4eed4 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29581b15 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x29768941 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2999b0d3 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x29cd67b7 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x29ddeb90 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x2a08330a snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0x2a0e293e ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x2a36fcdd anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x2a4dc33d vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a5748c9 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2a59b042 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2aeb82c0 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x2b3dbb12 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2b43313a fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x2b9efd41 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2bdeaa5d gpmc_calculate_ecc +EXPORT_SYMBOL_GPL vmlinux 0x2be49efa ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x2bf48622 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x2bf51e06 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x2c0b35b4 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x2c0fde5a usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c281127 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2c2cf22a blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x2c309940 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c5791fe inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca4518c __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x2ca4b0e6 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cc5c8e1 ip_route_output_flow +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 0x2d341d1b dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x2d8976e7 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2d91b312 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x2da165f4 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x2dac38c7 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x2dbba907 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x2df6cbbc ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e42197f of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2eae3434 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2eb03622 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x2eba89bb kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ed9efbd usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2ef26ef3 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f2ebc77 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x2f3dba94 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f43b790 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f957eee mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x2fa4bc35 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x2fd0b5cc snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0x2fe14140 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x2ffbc20c usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x300b7a1c sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x301a577a crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x3037218e led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x30513831 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x3069380a snd_soc_cache_sync +EXPORT_SYMBOL_GPL vmlinux 0x3079b7a6 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30a2e575 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30ab9b86 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x30cf592e sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x30d514aa hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x30d8063e simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x30e1f6df ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x30ef89ea sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31750e24 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x3183c6ef input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x3185ef6e security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x31a4ca2a of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x31a820ed register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c63a75 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x321bc043 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x32330a0b ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x323812b3 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x32a2eab5 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x32a9f51d i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32d6f49d sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x32f50f8e ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x3302b055 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x330b8a1c devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x332d9f38 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x33384735 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x338a188a devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x338d6665 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x33be418f unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x3404a0d0 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x341643ba omap_dm_timer_modify_idlect_mask +EXPORT_SYMBOL_GPL vmlinux 0x343864ae crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x343c18ff adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x343d028c sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x343d7004 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x344bde32 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x345b6210 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3485a848 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x34a7fe48 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x34a8b729 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x34aaa115 snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x34b269ee spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x34cc2c77 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x351cfbc5 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3554cc03 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x355678b1 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0x35b344b9 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x35cba215 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3601fac7 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x363fd6a6 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x36555e75 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x366d6033 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x3673e82e use_mm +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x3696bf4c __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x374794f2 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3769ab0c klist_next +EXPORT_SYMBOL_GPL vmlinux 0x37b0bf04 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x37bebe4a spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x37dc5604 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x385f9a69 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38af37ca exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x38b8506f generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x38ff29dd crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x38ff641c sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x390c966a sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x3945c2a9 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3955b482 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x396a0d62 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x39a6f0f9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x39a8b807 gpmc_enable_hwecc +EXPORT_SYMBOL_GPL vmlinux 0x39c68eba snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x39d90b9b firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x39dbfc5c tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3a20e500 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a28d051 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a71946c class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a74455d __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x3a7f4d98 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x3aa36c32 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3ab9fcb8 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3afeb259 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x3b1ff898 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x3b249699 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3b770113 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3b920168 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c150a48 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3c259a73 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x3c25c74a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x3c2efcfa regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x3c549160 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3c75f264 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x3c831441 arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x3c89520f crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x3c8f894c raw_unhash_sk +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 0x3cfd6c27 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d6adc5d debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x3d7fd8f4 mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3da142d0 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x3daa40bc user_describe +EXPORT_SYMBOL_GPL vmlinux 0x3dafdc20 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x3db91586 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd0b125 omap_dm_timer_start +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3de23d17 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e2f0c27 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3f07f953 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x3f210e75 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x3f3000e3 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x3f3e92cf omap_dm_timer_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f620a84 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3f63b97a handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f69c73a unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3f88de2d ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x3f95ec58 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x3fed5879 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x4017e969 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x408be912 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x40a7ebcc __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b3e67a dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x40bbf250 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x416fffaa driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4181aaa7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x419faf39 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x4229cad4 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x422e0cc0 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x4235c326 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x42782a37 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x4290f5c4 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4295844c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x429d4180 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x42b5de8e inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x42cdc1bb bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x42f61a6e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x43043cf5 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x431b9be9 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4365be89 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43adc0fa mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x43c77fce irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x43cdb68d tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x43e46498 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x43e4fe7d br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x43e871dc md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4411d77e fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x442fca0d regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x44303f1d pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x445f220b crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x446fc726 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4496bc3c blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44c10574 snd_soc_cache_read +EXPORT_SYMBOL_GPL vmlinux 0x44c6bf17 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x44cfa39f i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x44d10699 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x450a1a88 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x451739fa user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x45360c38 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x453fbd78 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x45588283 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45eff19d regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46253346 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4639ea0d uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x467622ec dapm_reg_event +EXPORT_SYMBOL_GPL vmlinux 0x468e303e scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x469c726c snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x46a2e121 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x46b08833 get_device +EXPORT_SYMBOL_GPL vmlinux 0x46dabf81 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x46ea1f4f dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x478d4ff7 gpmc_enable_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c2869d rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x47e7515d omap_dm_timer_set_pwm +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x481e9785 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x481f392b replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x484ed459 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x4853ddd9 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL vmlinux 0x48584e47 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x4864213e pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x48656f52 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x4876d9b9 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48b9a5b0 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x4907d875 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x490b5e08 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x49300c2e handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x493266d2 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x4946da71 omap_iotlb_cr_to_e +EXPORT_SYMBOL_GPL vmlinux 0x496b1b89 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x4985e88b power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499ebb2b tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x49b43b77 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x49c9ad37 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x49e6fb30 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x49fabbff rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x4a6325d3 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x4a6ea38d skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x4a765aeb dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a7a15b7 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ad9e3b2 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4b1fdec6 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4b34a185 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x4b3a56d4 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b4dec29 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6347ca usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x4bc01e89 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bce2091 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4bd7ca4a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x4bdeadfb i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x4bed686b mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x4bf47c01 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x4c250800 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x4c3ea3fd vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4ca61fe6 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4cc67961 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4cdce33b ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x4d03c759 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x4d29d347 omap_dm_timer_set_match +EXPORT_SYMBOL_GPL vmlinux 0x4d2c24c6 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4d444e6a ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x4d6ffd4d shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x4d865c68 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4d94f7ac snd_soc_jack_new +EXPORT_SYMBOL_GPL vmlinux 0x4dca7ba5 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e2453f9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x4e3a1490 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x4e5ce725 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4eccd53a setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x4ecdbfe4 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x4ee19ef8 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x4ee1d8d2 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef862f9 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4f185145 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f1be141 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f31e207 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x4f5085ee iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f752a9b clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ff5ae9f __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x50032054 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5004890f flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x501a49cc snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x502074c5 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5032a608 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x507b7f13 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508bbe81 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50b7b4f2 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e64aa6 blkdev_ioctl +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 0x512e364a kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x513c365d vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x51513102 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x51634a33 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x516f4d1f pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x5178c288 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x5181bcb9 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x518228c4 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x519be64b ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x51a7a44b dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x51ac8695 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d876dc usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x51df7e3f bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x51e8a5e9 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x5201dc3e css_depth +EXPORT_SYMBOL_GPL vmlinux 0x520cdfd0 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x52333b23 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x528b2f0d class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x52a3abc1 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x53292120 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x534983d3 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x535e4883 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x537259b4 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53efa450 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5404db1b wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x54123199 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x541a7d35 dapm_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5484b953 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x549496e7 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54aeef08 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x54b4392e skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x54c3f0d0 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x54e15101 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x5516980f tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x551f3492 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x555f2b9c fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557b69c1 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x568e11ee inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x5698ea94 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56c044b9 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x56c06bec evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56fad60a shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x56fc9785 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x5715aeb3 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x572c48fc device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x575238f7 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5757ae0a ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x577b07b1 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x578fe4dd cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a154b8 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x57a6af81 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x57a8029e rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x57d6e3f3 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x57eaf717 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58509211 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x589c26fe filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x58a19fdc fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x58edb307 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x590b3e42 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x599d0cb6 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x59ab8d0e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x59d8ef3b mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a0cf909 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a5acfa4 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x5a62a5a8 omap_dm_timer_get_fclk +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a939200 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x5a9d3593 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x5abebd53 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5ad2bab5 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x5ade5ae0 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x5aed1acc unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x5b083a66 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x5b3af0ba snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5b3b147c crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b5eac89 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x5b771bb9 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5b8e13a1 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5b9f2f45 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c3254f7 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5c32a257 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x5c5fb37c fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x5c7028c8 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x5c7ceff7 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x5c82c02c dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x5caa4720 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x5cc4010c snd_soc_default_readable_register +EXPORT_SYMBOL_GPL vmlinux 0x5cdd59bf stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5cf0ed5b sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x5d1212a5 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d23aa15 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x5d3196a5 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d960607 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x5dd4d595 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5deb1d31 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x5dfc1e40 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e206675 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x5e4d2e06 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x5eaecea8 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5ebb14f1 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x5edfe20d device_add +EXPORT_SYMBOL_GPL vmlinux 0x5efb9362 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f3c4dc9 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x5f4032b1 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f7cd8c3 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x5f9b1cc8 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x5f9edd0d tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x5fc3160a fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x5fd29c04 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x5fd2a143 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x5feba456 user_update +EXPORT_SYMBOL_GPL vmlinux 0x5ff48638 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6019c6b4 usb_bus_start_enum +EXPORT_SYMBOL_GPL vmlinux 0x601e0599 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x604b6f46 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x604fd5b4 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x605bd6e4 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x606098b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x608a11bf set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x60d50d7b mtd_point +EXPORT_SYMBOL_GPL vmlinux 0x60fc5bac fuse_do_open +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 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x6183cd68 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x619e6e24 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x61dd9bc9 snd_soc_cache_write +EXPORT_SYMBOL_GPL vmlinux 0x61f3959e regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x620537d3 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x622502f9 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x622d6e58 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x6262b550 snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x629c92ac fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x629f271a iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x62bba262 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x62fce7f4 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6308bbc0 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x63291c16 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x634fdf7d relay_close +EXPORT_SYMBOL_GPL vmlinux 0x63732503 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x6394d193 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x63dbf623 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x63f2691e sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x64032b16 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x640ffc0b ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x641723dd crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x642ab73c snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x64432317 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x644def47 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x647016e1 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x64728f0c trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x649da5c5 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x649f708b rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x64b3a46d sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x64df355a __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x6512320b fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x6517b709 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x6519050a usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6528ba71 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0x658184c7 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x659534cb fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x65b64e2a ata_port_schedule_eh +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 0x65e44a7d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x65fbdf7d usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x6601f3f8 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66316dfc usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x66512eba scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66843c1e subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6689c33c blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x66a5a902 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66ebec91 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x66f99f89 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x67027de4 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6712f177 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6739f22f ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x67480fff snd_soc_platform_read +EXPORT_SYMBOL_GPL vmlinux 0x676d7fd9 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x67885f98 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a08a6f crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x67cd87ce fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x681dbc63 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x68721443 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x6879d50d __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x68a762ee pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x68be26d0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x69050d83 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x6906cbe5 snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x69226869 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x692293dd ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69351400 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69aa7e9d sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x69b79e1d snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x69bb804c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e3de04 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a0b66f4 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x6a659a37 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x6aa26459 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x6aa45aea driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6ab1140e sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6adfd45c debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL vmlinux 0x6b7c38ab regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6ba7bbd4 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x6bd85cce each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x6bed13d9 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x6bf223f1 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c189c87 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x6c30dbe9 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cd102c0 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL vmlinux 0x6ce4f0b6 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6d2187b7 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d73326d vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x6d7b79ed xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x6d83f3b6 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6d9b2142 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x6dc16353 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x6dfbfd3b dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x6e2ad732 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x6e2f3bb6 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x6e695ae7 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ee88a9b sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x6ef1820e release_pmu +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f230820 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x6f2a7d37 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x6f7628e4 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x6f94e229 fat_alloc_new_dir +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 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70aad982 register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70de145d omap_dm_timer_write_status +EXPORT_SYMBOL_GPL vmlinux 0x71034655 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71710ec6 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x717a0d46 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x721df5e8 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x722e77c7 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7243472e blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x72437a97 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x72477eed crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x7259731f bus_register_notifier +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 0x72c32deb dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x72df4c59 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x7308f57c device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x7309c0c2 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x730bd0c7 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x73131fce device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7323d268 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7330aff8 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x73369bce omap_dm_timer_set_prescaler +EXPORT_SYMBOL_GPL vmlinux 0x736a3c18 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x737d65dd sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74605f8a ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x7478a36f inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a810ca sdev_evt_send +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 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7550c360 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x75644e17 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760d1413 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x7612c8a3 __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x761b3483 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x762f6a47 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x765b86d0 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x76667659 omap_iopgtable_store_entry +EXPORT_SYMBOL_GPL vmlinux 0x7667f957 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x766e9f52 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x769f5c16 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x76c32458 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x76c5f4fa wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x76d3ce33 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x76e961a3 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x76ea293a cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x770880e3 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x771806e6 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL vmlinux 0x77855246 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x7786cadc dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x77aca448 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x77acd49a omap_dm_timer_write_counter +EXPORT_SYMBOL_GPL vmlinux 0x77f8cb48 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x78238134 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x784dc899 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x786347fa nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x7889d819 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x789d1c85 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x78ca74d0 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x7912e3de dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x7931de91 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7944655c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79df8e6b usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x79f8c6a9 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7a35198c usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7a4cc7f4 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aad3e3d omap_dm_timer_set_int_enable +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ad250df md_run +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1ad141 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x7b1c88ae raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x7b1e2901 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7b23c329 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b24f155 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7b4620d8 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7b61e663 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7b666621 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0x7b6ef83f snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7ba450fe snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL vmlinux 0x7bc845fe blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x7bf84c5d regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7c16b0f0 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7c1a7d34 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x7c1ccee7 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x7c1d5004 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x7c8bc216 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7cb00f22 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc61437 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x7ce22de0 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d022742 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7d20a3b3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7d29f60b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x7d31317b md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x7d3d8011 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7d46779d sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd77e59 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7e0941e3 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e0ef9d9 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e277415 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x7e5086e2 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x7e57aebf unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x7e5949a8 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e8f5088 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x7ec41024 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7ed4cadf d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x7ed68941 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7efc8cc4 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x7f1663e7 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7f4168a7 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x7f799109 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x7f7b268b fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x7fafece8 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fb15981 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x801385fb scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x801c5bf1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x804241ee s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x804819c7 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x808b733d gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x81334c46 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x8138eb64 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x815d9e9f crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x81c9d6af usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x81cabffc crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x81e0bfde crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x81eb2add __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x81edc82e rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x8200f8bd usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82380d9f regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x82557071 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x825e0464 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x82b117fa i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x82c681ae usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x82d5d6b6 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e35e17 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x830b2c93 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x8323d77e proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x8392221c debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83c0511a ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x83cb1c85 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x83d781df pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x847e1433 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x84bfdd9d nand_release +EXPORT_SYMBOL_GPL vmlinux 0x84e641a4 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x84fbb2fe root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85112468 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x85221845 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8559a91e sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x855fc557 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x859a104c snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85dd5b1b ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x860088b2 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x8600c5de sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x860f1289 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8611afd5 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x862142a4 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x8630e5c1 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8638de93 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x863ff251 snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x8676d6d3 input_class +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868a8d6c snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x86a9cfe5 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x86bd8692 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86daae21 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x86e82b12 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x871500f8 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x87320b8b tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x876b4e3f tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87761c62 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87d06d0c crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8820ebaa omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x888725b2 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x88a77c53 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b76bbb adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x88cc1037 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x88ce8d90 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x88f67f94 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x88fd5b65 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x890e6ba6 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x89620b72 snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x89a6fb1f usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x89a88e5e wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x89b6fc7f regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89e6240c usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a30575e blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x8a367ad7 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a8401ca xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x8a8988e5 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x8a8c69ea crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8aa79491 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac707af tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x8ad888f5 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x8af16f3a omap_dm_timer_enable +EXPORT_SYMBOL_GPL vmlinux 0x8b4f3ec7 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x8b6ec0c3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b8c44df ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8ba2b339 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x8bf9a93e wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c2529e7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8c488cb0 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x8c73e80a ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x8ca3b618 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x8ceea4e0 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x8d11f0b1 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x8d4967e2 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x8d905aa5 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x8d970b94 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x8da4898b inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8db314f7 mtd_is_partition +EXPORT_SYMBOL_GPL vmlinux 0x8dbca616 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x8e636eb4 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL vmlinux 0x8e80fb8e fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x8f210793 deregister_mtd_blktrans +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 0x8f6009f8 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8034cb crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x8f9f11f4 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fda8027 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x8ff962fc do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x90136cd7 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90798a40 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL vmlinux 0x9082d068 kprobe_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x9091213d mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90adb5ac skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x90cf34dc device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x90d4cb8a fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x91183911 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x911dbb9e wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x911f06cf crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x9139b5af regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91682237 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91ae2b34 bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x91d42d0b map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x91dda801 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x92425533 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x9270d201 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x92973b0b amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x929749ff inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92cd4adf usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d73cca __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x92e0edf9 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x92e48200 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x92f124ec rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x932445d2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x9339de95 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x93410b60 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x93969ad8 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x93b629dc rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x94139684 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9434c482 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL vmlinux 0x94709640 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x9477d426 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94cd2785 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x94e2d32c fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x950b4930 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952962f0 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x95617a98 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x958207cf klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x95899f93 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x95c578a0 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x95cb581a blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x95f6ee15 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x969c949f bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96afd691 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x96bc03e3 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x96c95494 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9709ecae devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x971b823f snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x9746e8b3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97c01e00 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x97c96c2e regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97ec2774 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x97ef87c8 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x9804a5aa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983e332f securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985ea0dc spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x9891bb87 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x989e0950 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98de2856 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x98eb55a6 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9946bba8 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x9954d313 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x995b38b2 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99a3a888 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x99c1f496 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2bbe02 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a45b5ac of_get_regulator_init_data +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 0x9adfeb70 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x9aea0e6a blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9afc2284 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x9b197b52 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x9b22866a __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9b7f27de pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x9b990f57 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba1067c i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x9bb1c70b scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x9bc752b9 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x9bcf0ce6 omap_dm_timer_set_source +EXPORT_SYMBOL_GPL vmlinux 0x9bd6bd3d sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x9be5daea sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x9bf44a4e device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9c06ea3f ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x9c117f94 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x9cbf9b63 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x9cc242cf snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x9ce9340b page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x9cfa6e1b blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x9d0dbc0e unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9d64e5cf __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9de22d08 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e01b1d9 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e3f6c96 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x9e504019 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9e59a266 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x9e9fb545 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x9ede4308 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x9ee77182 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x9eeb0ab7 omap_dm_timer_trigger +EXPORT_SYMBOL_GPL vmlinux 0x9f0c013e dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9f1ea067 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9f3036d5 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f49340e mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x9f648a3c net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x9f75f167 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x9f96ff5f device_del +EXPORT_SYMBOL_GPL vmlinux 0x9fb1fa95 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe23e5d sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x9fe73082 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec6f2c dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xa0557c18 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0859bb9 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xa098b6b9 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xa0ae50fb fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xa0da1ce5 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xa13a23c3 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xa176673d cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa198c24e usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xa1bcdce6 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1f0c872 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xa1f6de69 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xa203d7e7 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xa27ac781 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2b20bb8 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xa2b3161e regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xa2b87467 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa2fa32f5 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa334cbb7 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xa346f784 omap_dm_timer_free +EXPORT_SYMBOL_GPL vmlinux 0xa370e796 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa378e5b5 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a2ec52 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa444a3b1 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4b5541c mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0xa4b8d113 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0xa4c08463 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xa4c67a64 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa4cbba0b device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xa4cc75c2 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xa4ceed39 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xa50650cf get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xa52eebbb dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xa53ab741 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xa56912af ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa56d6a82 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xa59d3013 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xa5af8e86 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6fae arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f2bd62 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6320ed5 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa657e98a device_rename +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b72549 device_move +EXPORT_SYMBOL_GPL vmlinux 0xa6b79a2d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa6ba0dc1 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xa6db0da7 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xa74cbd58 amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0xa74e6f13 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xa75bcd82 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa796c168 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xa7a8a46e blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa7e160ba regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa80ee58f rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa82de5b8 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa83941dc dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xa857450d pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xa8dc253b xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa8fd598b __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa8ff3caa md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xa9188cda blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xa9493a84 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xa94ead2d sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa9690353 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa9bd6c1e armpmu_get_pmu_id +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9c5e530 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa4e2c6e pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xaa4fed3f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa9c2b57 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabce0a3 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xaac307df console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xaaeec927 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab090efe blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xab18e6bd scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xab29f7b1 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xab3f7d29 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab709ab0 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xab83b70e bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xaba5f016 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xabedab9e usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xabf158d2 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xaca2496a ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xacb12b59 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xacd017b2 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacf82ff7 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad0308cb pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xad7940ce skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddb7633 nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xadfdf721 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae1b7eb6 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xae30f598 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xae421ea9 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae836d41 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xaebc643e bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xaec172f1 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaec71a47 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xaee6c045 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0xaef8f723 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xaefc7fac crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xaf0a9e65 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xaf0b08b8 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xaf14e750 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf416c6d relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xaf5ba8c7 css_id +EXPORT_SYMBOL_GPL vmlinux 0xaf72c996 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xafa616cb snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL vmlinux 0xafaec8e1 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xafcf58cd usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xafdc3592 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb021bde4 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0xb0410c7a ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xb059c859 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb0685e32 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb08d6bbc ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xb0a946a3 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xb0aa3965 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb0b39228 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c9f0db blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb172dfef skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1ef9c4d snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0xb221fd22 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb277efa1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb302bea9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb304f122 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xb3318b37 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb34bb410 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xb35000db register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xb3568db1 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xb361942c ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3a18690 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xb3fd0bde n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xb3fef20b spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xb41fdcd1 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xb43a3389 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb44bd89d ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xb44c6486 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xb459aac2 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xb45b0220 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xb469cc36 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xb4b02ac7 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb503120f bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb510ae56 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb5186e07 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb527f9ba mtd_read +EXPORT_SYMBOL_GPL vmlinux 0xb55756d9 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xb558a2a0 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb5927165 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xb59fd531 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xb59fdfcf dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5b63e40 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5dff999 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xb5e20479 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb6311771 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xb67ad1df s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6817dfd fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xb6a1d14e wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb6a5cf07 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6c900f1 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xb70084d4 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xb714ac0e dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb75185dc cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xb77758bf blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xb7aa0a74 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xb7d4f5a7 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xb7e0ae1a omap_dm_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb7f7d0f9 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb8414798 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xb8928157 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xb894cb6a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xb89fd8c0 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb8b25563 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xb8bfd926 snd_soc_read +EXPORT_SYMBOL_GPL vmlinux 0xb8d3f3b3 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb8e2f7fa disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb903eb0a mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb91f6f61 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xb9205987 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xb97619c3 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb99e91cf tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9a969fc sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xb9b875df fb_deferred_io_cleanup +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 0xba150c47 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0xba2ac508 mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0xba53a851 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xba6a8e52 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xba79ae5e init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xba996a3a sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb036c02 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb251af8 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xbb27c671 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9edd23 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbba07418 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xbbb3cf2b omap_dm_timer_request +EXPORT_SYMBOL_GPL vmlinux 0xbbd3fcf9 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xbbf826cb ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xbbfcdcb6 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xbbfda9f2 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc3d0c80 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xbc4e3e94 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbc518344 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xbc60a66c of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc78794c max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xbc922a2e gpmc_calculate_ecc_bch4 +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf0d703 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xbd0a75ec tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbd35fee1 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf512de free_bch +EXPORT_SYMBOL_GPL vmlinux 0xbe0c2de1 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2a0380 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbec89afb device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xbed0125d sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xbf2264b7 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL vmlinux 0xbf5ff109 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xbfaeed32 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0xbfaf8b7c ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xbfbcf60c pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbfe36caa rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xbfef84b2 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xc01cafd9 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL vmlinux 0xc02d498d blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc059c448 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xc07681e8 omap_dm_timer_set_load +EXPORT_SYMBOL_GPL vmlinux 0xc07a0a07 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0fb441e usb_store_new_id +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 0xc11f647e platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc15c52c7 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc188f863 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc1c567f5 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xc1ebd2d3 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xc20b2b17 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xc20f563e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc233108b crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xc23e79f3 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2a1cfa0 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xc2a30827 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc2f84ef3 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xc2fb9177 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xc303eb99 register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xc317dd77 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc319192e pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3e37d45 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xc3e74d69 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xc4170753 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xc424e0de usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +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 0xc490fa21 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xc52c8dbf md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xc52decc6 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xc52e5023 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc54860d5 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xc5620f13 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xc59a32d0 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xc5ebe28a da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc5ff351c fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xc60a44da da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xc60a730b klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc60eef71 device_register +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc616ed7e ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc68a13d1 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xc6942b39 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc6966361 omap_dm_timer_read_status +EXPORT_SYMBOL_GPL vmlinux 0xc6d3458e dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xc6f98add add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xc71b4cd8 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc72a32ed alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc7378b85 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xc7549be7 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xc756baed rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xc768bd7e subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc775ee7c ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc820012d md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc832a6aa wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xc86073ed inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc874ba86 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc881e453 put_device +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8afe20b snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0xc8c78968 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xc8d209fa snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0xc8e330a0 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc918a2f8 get_task_comm +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 0xc977635b wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc995ac7b wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc9ab1102 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc9b449a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc9c9a486 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xc9e18c33 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xc9e22a6d snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca0bdf81 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xca312c41 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0xca4f89a5 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xca55043f page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaac2b7d dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcad40ee2 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xcaefda5a spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xcb06a82a crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xcb273676 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb275b63 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcb8a8698 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xcb994aa4 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xcb9d7067 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xcba1a7df mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0xcbb45ee9 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xcbc17182 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xcbcaeebb of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0xcbda55f2 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xcbec06b9 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbff56a2 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcc026731 mount_mtd +EXPORT_SYMBOL_GPL vmlinux 0xcc1398fa serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc76d131 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcc902311 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xcca56d7b anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd08b49 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xcce741f5 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xccf7ff54 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcd02854b usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xcd104ee4 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xcd23dfdf snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xcd313597 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xcd5458bb sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xcd76c405 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xcd7ae18c sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcdaaff05 shmem_read_mapping_page_gfp +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 0xce4f940e snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0xce57e9cd crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xce6008db class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce7bb419 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xcee36dc0 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xcf5d7b85 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0xcf9e4dd2 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfe19301 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xcff6f0a4 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xd012b814 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd062888c i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd068f3e4 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xd0736fd5 omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0e635c6 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd0f25115 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd111479b tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xd1293399 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xd13ccf95 omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd197ed44 snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1b939ec snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0xd1b9444a debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xd1c0808e usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xd1ee912e ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd220dedd ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd222daff relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xd227d35d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd22f2596 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd2514a6c md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd279dc25 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xd28d1884 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2f337bc wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd2f6cf2a wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xd314a361 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xd3187c79 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xd31bb946 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd37f824e dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xd3a3aa43 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0xd3e61495 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xd3fe25cd mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4283980 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xd429ee11 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xd42b1739 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd48b693a rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4db6bf0 snd_soc_write +EXPORT_SYMBOL_GPL vmlinux 0xd514415d snd_soc_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xd53da4e3 omap_dm_timers_active +EXPORT_SYMBOL_GPL vmlinux 0xd547042f sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xd54ede1c omap_dm_timer_disable +EXPORT_SYMBOL_GPL vmlinux 0xd565403b usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xd56ef72f platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd588dc88 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd5915053 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5f56c8d debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd6060ec0 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd627647e usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xd63efdbd usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd667b1fc i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67d8256 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xd68e49c2 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0xd6a6e14a led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd736162d __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd752a7a0 da903x_writes +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 0xd7c16a01 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xd7edb262 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd8250b0e amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0xd8265dec ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xd82676f1 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0xd8318c60 debugfs_create_file +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 0xd8762bce put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xd8804eaf power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8813f9a device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xd88a4834 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xd8957ede shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd898cd9c enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd912fc05 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xd919cfdc get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd9410817 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd956cdf6 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd9574f05 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd96ee5c3 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd9ced00a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xd9e94c8c dm_underlying_device_busy +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 0xda25937b inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda597340 snd_soc_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xda5b3e75 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xda5f1ce7 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xda62d15c perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xda6742d3 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xda7b1989 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xda800d18 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xda9a2bd3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdab21d68 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xdab38ab3 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf4fe9e tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb1c893d da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xdb3e5eef attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb5a0dbf udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdb5e5b63 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba95fd5 reserve_pmu +EXPORT_SYMBOL_GPL vmlinux 0xdbaad53f wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xdbad017f wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xdbb86728 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xdbcf11fe bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdbd05d33 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xdbdad38f simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xdbf3a960 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdbf52114 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbf8bec0 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xdc15e80d scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc1766ca anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xdc1b73af class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdc36a34d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xdc5ca29c sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xdc85a993 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xdc962873 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd2f3c74 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd370548 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xdd50d516 device_create +EXPORT_SYMBOL_GPL vmlinux 0xdd5a790a flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xdd6a53cc regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd879c9 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xde00ea86 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0xde07cfc5 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xde2c2c9e regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xde3e38d6 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdefd54b2 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf11e863 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xdf1e18a8 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xdf8cbb8b blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xdf9f6635 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xdfaf4787 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xdfaf870b vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xdfe6e480 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xdffb6096 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0183ad1 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0xe01a792a cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe072b5f5 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe09e8c68 snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL vmlinux 0xe0a54d34 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0xe0cf8cc6 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe1090f59 find_module +EXPORT_SYMBOL_GPL vmlinux 0xe1311a0a ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xe13eaeb5 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xe14d302b usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0xe154bf63 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe164a309 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe1a54266 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xe1d652ca ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe1d71dbb wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xe20d2695 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe2261bdc platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe236c509 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xe2445b46 user_match +EXPORT_SYMBOL_GPL vmlinux 0xe2583226 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe26be2b1 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xe278f510 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe2a84110 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe2d614c0 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe324adb9 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe3292a91 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe35158fb rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe35bac32 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xe37ee91b otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3907f40 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xe3e75a53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xe3e993f0 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe44aae70 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xe548e50a mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0xe56554a8 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59343bf inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xe5998c23 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe5ad30e0 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe5e37ce1 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xe5ee5b7a get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xe5f93cc2 omap_dm_timer_set_load_start +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe631714c mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe660fafa sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xe665255d dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xe6bf7381 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6f0cd02 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xe700b604 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xe7170d55 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe738a885 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe780cf11 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe78beb9c kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe7a4a03b inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xe7a4ad0b crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe7b7874b fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xe7b822d8 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe7d5bb66 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe7edd2e7 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8051944 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe82479c7 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe8354afe device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe8452858 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85ade68 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xe85e8dc3 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0xe86049ab sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xe8611953 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe89ef198 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe8ba065b da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe8ef3755 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xe91c960c debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9443ec4 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xe95374b6 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9936b94 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xe9a27c2c rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xe9c9ab81 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xe9e49fd6 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea77fc68 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xeabfa0aa aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xeac15c33 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb4f2ebe bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xeb549e3a mtd_write +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xebcbd6bd sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xec03a6f5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xec13b91b snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec527b61 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0xec54d16f s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xec5955fe find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xec76924e queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xec887829 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xec893528 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xecada1bd usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xecfe2f2b netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xed16a780 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xed189b7d rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xed50c9e7 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xed695a2d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xed6a960e ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xed801d4a rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xed869964 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xed8d354b sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0xed909e79 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xed9bce50 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xeda63db3 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xedd6e35c wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xedf0bb65 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xedfa5ea9 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xee2cd56e blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xee315eb0 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xee4d7720 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xee54da53 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xee6446bd usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef4c0d44 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef8a576e bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xef8ba18f usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xef955710 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xefb2609d ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xefbad086 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xefc3ac6f shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xefdf1fd5 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xefdfe24e remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xefe817f5 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf052554c omap_dm_timer_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf053cabd ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xf06f9584 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf092aa80 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xf0a57af5 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xf0b8c741 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf0f238e0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xf1506559 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf1716491 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1862367 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1cc8cf8 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xf2068e6f dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xf211e6c5 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xf26722a2 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xf26b1efe dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xf2ceff1b pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf31f2146 __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0xf33d8903 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xf37fd1ca simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf38e03c0 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xf3a1e02b usb_root_hub_lost_power +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 0xf40feb48 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf421b4f7 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf445540a device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xf470e459 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xf4d5a902 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55b547e __class_create +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5e1f774 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xf61fcd87 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xf63d828b __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xf65c56dc debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xf68f7bcd eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xf6992887 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xf69da358 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xf69e7d6a blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xf6de56f0 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f49394 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xf6f67ae1 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf70432ff disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xf7402b37 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xf75cceff nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xf77d8696 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xf7b936fc crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xf7d1f860 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xf7e19dbc register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf8082bdf usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xf80e4473 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf883bcc2 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xf896a45d sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xf8aaf077 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf8caeef0 of_platform_populate +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 0xf94d69b8 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0xf95828d7 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0xf976b996 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9bd4f4f register_pernet_device +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 0xfa72f8bf rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xfabe3cdf cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xfabe5cad blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xfacd2ebc sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3ec969 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xfb42e363 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xfb4b798b locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xfb6a0493 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbeda43c devres_get +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc19dda9 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xfc478a68 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc4e8181 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xfc5039c3 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xfc53c1e1 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc58b637 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc84a9ab snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0xfcb29dd6 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xfcbf25ad da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfce68578 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xfd000a47 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xfd0cdd3b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xfd47264f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xfd58cb0a mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0xfd6ece00 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xfd761471 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xfd998c15 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xfda624c4 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdbd3cb1 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xfdc31930 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe46dc40 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfe5fe8a1 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xfe66c4e1 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfee44d70 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfef1b26f stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff08940f unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xff3f7174 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5dd275 snd_soc_register_codec +EXPORT_SYMBOL_GPL vmlinux 0xff73fa29 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xffa321d3 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffdf1120 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xffe0e6a4 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xffee9f04 raw_hash_sk --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/i386/generic.modules +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/i386/generic.modules @@ -0,0 +1,3701 @@ +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 +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 +alx +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 +blocklayoutdriver +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 +libahci +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 +nfs_layout_nfsv41_files +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 +objlayoutdriver +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 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +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 +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-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/i386/generic +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/i386/generic @@ -0,0 +1,13553 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x8a06ec54 kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0xce7ef49b kvm_read_guest_atomic +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 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/acpi/video 0xa4d86c5e acpi_video_get_edid +EXPORT_SYMBOL drivers/atm/suni 0x3d972a9d suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x40e0c0dd uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0xa1aa7cb7 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 0x2da147ad pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x4beaa666 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x528db16d pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x8db3f40d pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xacb0a1a2 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xadd17233 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xbfdd8214 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xcd5b2384 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xd20322e7 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xe3a8371d paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xe51c775d pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xea0a0077 pi_init +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 0x21285c49 ipmi_smi_add_proc_entry +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 0x468b7c0f ipmi_get_smi_info +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 0x84a9d419 ipmi_register_smi +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 0xb096a1fc ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd8f35047 ipmi_smi_watcher_register +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 0x83cc85e9 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x8f3378e7 nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0xfa78b1c9 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 0x2edfbd35 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0963b1dd fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0b1a1cef fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2396cabe fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ffd146b fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3130e238 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3846b1b3 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39ce3626 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x40c1ef74 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x541f7a67 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x593d14dd fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x63e7ffa8 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6abe4186 fw_core_remove_card +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 0x88b462ee fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9a8eb8db fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaaf772dc fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xac7f5b76 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb80dd2e0 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbd2d0ddf fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc88d56e2 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd1ff3432 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdd9040a3 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe04a9b58 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe0a1c146 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe68b09bf fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe7dc1b92 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf187d3fa fw_run_transaction +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x011aceb3 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01912718 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03792e55 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05258418 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0544d10a drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0647bbb4 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0656dc40 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070be091 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07c201f3 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x083fa427 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09a2d6e8 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b6f74af drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ed1120b drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1168437c drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x123b7f12 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x133382ff drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x139edff5 drm_mode_detachmode_crtc +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 0x173a82d6 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18234bb3 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18d467cf drm_agp_unbind +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 0x1bc1d541 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e198992 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f3748d6 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x200e0093 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x200e8046 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20df79c7 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21c9450f drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2275a4bc drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2323c3b7 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x238c7361 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25d7c9e3 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x262dd79c drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x263e8685 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27088914 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2711e63e drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2756eb21 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b1fa9fb drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e61c695 drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30797525 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33b40788 drm_prime_sg_to_page_addr_arrays +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 0x366ea6af drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36dcf6db drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3857656f drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3864a80e drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3985f2a7 drm_connector_attach_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 0x3f13ed0e drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2573b4 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +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 0x43e4172b drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x441acdb0 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4484b8f8 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47b16bdc drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47c95af7 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48a2ee7a drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48ebb121 drm_prime_lookup_buf_handle +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 0x4b81d4fe drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bfc7202 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d2a1a03 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dfb923b drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x517ebd2c drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549b2c8d drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55b84d6f drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x561a0164 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56b06cec drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b10363 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59d01cab drm_mode_create_tv_properties +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 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62bcd06b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63ba5f95 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x646c21c6 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6493e55d drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64c9f078 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65f7760d drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6619570f drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66a0597d drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67afc27e drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ba7a0e7 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d7a5739 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e044767 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e38d38c drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f2aaae8 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7102239e drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x713d63e8 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x720d32cc drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x733aa2bc drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x774ad3a2 drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a8e386b drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7eba9107 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81446009 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83950880 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x841c47b9 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85af4231 drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86136af0 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86911025 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88f008d5 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cb30b20 drm_pci_exit +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 0x920eb86c drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93ad2c48 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x956ac5b3 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98c0fbfe drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x991789c4 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e09a552 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0a33807 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1117a3d drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3a5bb34 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa432f744 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5ca7db7 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa68f286c drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6f7308e drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9273f97 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa948c601 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9c37fea drm_prime_destroy_file_private +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 0xaaa4f4df drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac297b4d drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacac158f drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xade1e269 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaea2e3b0 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4dfa881 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4eeea59 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6889c27 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb81af1f0 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb96f3de6 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe13ab8f drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe316ceb drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc07ccea9 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc25b99db drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc297ce99 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2ece9df drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4a7616a drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5ef4128 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6bc2f34 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6fe8cc8 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaa8922d drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcadb9d03 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb10816f drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb3c0291 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb517c3 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05d8aa3 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd097b3cc drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13fd695 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd203826f drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd325dad6 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3bf498d drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd40dbf31 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4356335 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd65cf8d2 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd73fa610 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7cdaae5 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda1c7def drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdaa1af1f drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd994ed2 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddd8b305 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdeb29bcd drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf48e06b drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe18b2c70 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe323b5c5 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe32f542a drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe38aa6d0 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe38dd206 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe459c1c5 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe50a2dff drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe638fb04 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6799f8a drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6c3129e drm_add_modes_noedid +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 0xe786b0df drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7c72e3d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe97d2900 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea56df2d drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeacb9c03 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaf5a1a9 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefad57ea drm_pci_alloc +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 0xf2da8f16 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf37cf48f drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf388e419 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3f038d8 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4834446 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b3b678 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7345393 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7aeeeb5 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7e3625d drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7f08d03 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8fc0eb1 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9214880 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9c06e62 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa75298f drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe17d1cb drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffb32123 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x000a1b6f drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fde4836 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10de0992 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x217e0b46 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x263a6b66 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d255388 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fb1b85c drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4369347a drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4936f018 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f4c5c3a drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68173616 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7398d103 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76f04530 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77a18f97 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7bf3585c drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c205f6f drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7cf09159 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8078b962 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85ead678 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89e4c193 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96907ee6 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x971032e3 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa70bf83b i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xafd892e3 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc039fd6b drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc20e9fe7 drm_fb_helper_fill_var +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 0xd4a7cc78 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed6780bc drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf668aae0 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf708523c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfba8a9af drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdfecdbd drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x18e118b5 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xa86a1b53 drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xcd802b35 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0035dd62 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03f1634d ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06c2d3b8 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a527aa7 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a6485ec ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e097ac1 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 0x160f2e6f ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba901fa ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1cabb695 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x211776b1 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +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 0x2e51b208 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30509d0e ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31f0b8c5 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3212e440 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34c269a1 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3684d3e7 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x45fff77f ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4915fb8c ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e257b39 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x562ecf54 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5841ff00 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a8f9558 ttm_dma_tt_init +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 0x6622655d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67b1d568 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b650d0a ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6bb4784e ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x71698fa7 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x799e21ad ttm_bo_clean_mm +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 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 0x8a20cb95 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8c9ca017 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8cb52819 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x92da04e8 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x97503421 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9885002e ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9fff5378 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa0343b40 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa62459ac ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa71c35e2 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa9edcf9f ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbaa2b414 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbde4465d ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4a6e5c5 ttm_agp_tt_unpopulate +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 0xd266b0aa ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd670b7c1 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdaf0f5e7 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdd39365d ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe116245c ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe5417038 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe6b090db ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xee4b265d ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf2eaa709 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4578b1a ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4d716b4 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf9281991 ttm_bo_synccpu_write_grab +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/hv/hv_vmbus 0x34789510 vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x819ef516 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 0xbb9a509d 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 0x2abca368 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x36c50bcf i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x42b3a645 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x06184da4 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xfc6e360e i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x91cc5a1c amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x0f712d6c iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0x216224f1 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0x220d3ae4 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3b7966ed iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x49716e30 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x50d6a42a iio_triggered_buffer_predisable +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 0x8d86de0a iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x91316ea5 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x960cc4f8 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x9f537e14 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xa12a3f87 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xa5ed22e2 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xa6931cea iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xb45ae01e iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xb5a90ffd iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xbebf25fc iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xbfd0e4a8 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xd04ec436 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xd43bbad8 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe4e9deb6 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xedaad082 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xf1bed805 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x2722e40b iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xd365f72b iio_kfifo_allocate +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x37838b44 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x706bd261 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 0x36610f9c ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7ae8e549 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7c2c22f0 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x899d8812 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9586dd15 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb631cd95 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb8681b59 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba7549ad ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbb212db6 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc1e38c53 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc682d8bb ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc69300f1 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xce41580e ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd12746e4 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe5e0afcb ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf6bf8d8c ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfa040af2 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01f2c827 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a108eaa ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a79fbce ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c9c0b39 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e381b49 ib_dispatch_event +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 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21aa0313 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21c7c9f3 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22e48ab8 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23f1fe14 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25e4e715 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x265cb844 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b10b62c ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e26f730 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31c2a398 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37eae882 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39ef4bb4 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47b9839c ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d1e7cb4 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e790638 ib_register_event_handler +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 0x52a68a36 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5430d253 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55f6b46a ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x569d6f10 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58b047e5 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60bc5501 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x640503a0 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x662fee69 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x664040b7 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68357152 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a12bb78 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d69a2af ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e5c9337 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x760f5ab0 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bbf3acb ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x812247ad ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85902a4f ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85e0ab27 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8854d94d ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8996c74a ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99dca1c7 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9cca36dc ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0308a6a ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2763b2f ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2a280f5 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5f99d0a ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa73ea767 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa85a0ec9 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa75ea7c ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae8ad0a7 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2403664 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb391b0f3 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40849ad ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbbe398f9 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd11dbfc ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc66ec48b ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcae6eecf ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd2f0efa ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1ea2d3c ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd42461bc ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7ee3328 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd95a6049 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdab5f313 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfcd5095 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe66b55c9 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe893282b ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea05c1e6 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebdcc3da ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed3a6443 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee7535ee ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6b5dbea ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf91f7a65 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcf1d037 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x03784c0d ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x427d84b4 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x58651b1c ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5d29aa48 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6d4963f5 ib_modify_mad +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 0x80f5b525 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x9da38b05 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa00a0a9d ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc8630e94 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xca8cecf2 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe3930b0d ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf52d9aea ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x366156b9 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x4e137880 ib_sa_path_rec_get +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 0x8dba2b37 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x942865bb ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb1630f64 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xbc33a616 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 0x0f8a789a iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x38bf32fd iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5abf906d iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9ac4b5d2 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb7108599 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc74a3f51 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcc11ed96 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf6b6b921 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0770e953 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x08d7d512 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0c0c57b1 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2a536851 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4dfdc255 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6410cbb1 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x74e2323a rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x74f18bf4 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7737cf73 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x82f6b26c rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x89e8d19a rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8b20aff9 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbc098ab8 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc8ad14d6 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd6ece31f rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe36a93e9 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe414a5d7 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe66263ca rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xecefaf60 rdma_set_ib_paths +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00134ec6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x12523fb4 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x36a43632 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x412fdd37 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x61f4d3e5 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8acc3fda gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb65f71ee gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcec7e80c __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd9632372 gameport_stop_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x0488380a input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x29e57637 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xae689ecf input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xba0df3bf input_free_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x54db82b7 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x85e2788b ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xaf1af2b6 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf1092a63 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf6e520e0 ad714x_probe +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 0xe0dd12b9 cma3000_init +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6b72d515 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x71913463 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x86ad668d sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x983c5cad sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x999e0da8 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0xdb8153b7 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x02984c50 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xa05f8cdc ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0a614e0a detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x201e8fc2 capi_ctr_ready +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 0x7086b786 capi_ctr_suspend_output +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 0x8c5944cf capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x95c99d73 capi_ctr_resume_output +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 0xb1701ded capi20_put_message +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 0xc3b9586a attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd464ad42 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xda950a59 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe4806846 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe8ad9bd1 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0f52427f avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x30e0bdd0 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3381bb15 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x392303d4 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x428172cd b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x435686c7 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4c3f4e70 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4d46d5ee b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x66b44253 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7a732873 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x848d4ae4 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8d5b370f b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xcfe0d06b b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd248a3a8 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe574c88c b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x142affc0 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x147a70ec b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x20c2f694 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x7ea1cdf9 b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xa89a9421 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xc29e385b t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd11f3cdf b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6fc0e4f b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xda3b17f4 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 0x475e127e proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1f0730d6 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2012ac57 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5143facc mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xe790b998 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x4c3c2673 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x595ec332 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 0x4691e992 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 0x2de5d579 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x8918ca65 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x8cc955a8 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x969651cf isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xd483a0dc isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x3392eb05 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xd910b8a8 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xdf4d9ff3 register_isdn +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 0x18947e44 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1d15e2cd mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x240232f7 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x302113fc recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x43ef23e1 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x454fc1c0 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5090f08a mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c14532 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 0x57dc001b bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5af36b5e mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6e833298 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7403009b 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 0xabfb17db mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xac1e6d82 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xae69e44a mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc7bcfbd0 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc8af0520 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xce498de4 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd3d66c33 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe816a628 mISDN_unregister_device +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 0xea719b87 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf5244a4f recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd0261cd mISDN_unregister_Bprotocol +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 0x20c601b9 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x2dbc9db1 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x34136f81 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x9b2b349a dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2f0289d9 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x492788a1 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x96e5dd2b dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb3373612 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xce426b59 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf9d7dd81 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0xb4cbe338 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0xbf0ff16c fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x8d516a7f max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xc038e7f5 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xc9f95923 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0xefdd6665 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x3a3522ba mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0xe56d6ea4 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xc690073a qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x754cc20c tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x3219df05 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0xfac59faa 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 0x6ad675b3 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xd847de0a xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xc863b4ce xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x08fab689 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1a657bf4 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1c9ed7ff flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x37bbdac6 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3d6212cc flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x51b87c3d flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x52b44d99 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x74d1a583 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x88e5f9f3 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x94347308 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa7e6b30d flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xab91fa62 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xac9d22f8 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb259245d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc654d6a4 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xca029013 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd124ae76 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf12b0157 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf6e05713 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf7f75d91 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x67a6a4d7 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x8fb411d4 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x9112ec52 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xb5065ad9 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x133542d8 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1349dff6 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x15d70c2a dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6268a9ab read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6de5f0f6 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6faf951f write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x9aae00ea dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb3850fff dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdfc15a54 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x3e80bad7 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x07ac0bd0 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x101a29b8 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14421a7f dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1559e42a dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x16bb9b94 dvb_unregister_device +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 0x237f7910 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x300f2abb dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3519aa33 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3ae07327 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4c70c35a dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x540beb48 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x60e41d7f dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x69599c25 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6b74442c dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x728b4945 dvb_register_frontend +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 0x94ec478e dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x97bd4310 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x987dcfde dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x99907037 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa6bdb8f6 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa6cc8903 dvb_ca_en50221_init +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 0xc7946d72 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca6cf59a dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc4340ae dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc801ae6 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xccce28bb dvb_ca_en50221_camchange_irq +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 0xdb5c53f4 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xee5c1aa2 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf3fc66c6 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf593acf3 dvb_net_release +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-core/dvb-core 0xfdc5b6fa dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x021bd272 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x025b5434 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x07dda818 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5fb04c1f dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xa0a2ca29 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xac97b394 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xb0a7a0f6 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 0xa54a161b 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 0x093e2834 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2947522b dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5ec2f02b dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x65eeda4a dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x69d67178 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x7fb67ea7 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x92114f2b dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x96d206c5 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 0xbbbb3e26 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbf4d7ee6 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xee01dced dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x8054eaf6 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x1a24adc6 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x0344fda5 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x81d00517 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2815361a au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x33d8d685 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x9a05e284 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x9bc2c138 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xa6572333 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe315cb3d au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xee6ec644 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf39985f3 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x63404342 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x871121bb bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xc7a8f98e cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x374e8beb cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x88079410 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x722bd7e9 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xa8805227 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0xc8ecb6e0 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xb293a4c7 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xdaee7025 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x1a35e1c2 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x80c879db dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xb05f855f dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xb5cb5315 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc52cdbd1 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd74efef2 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x201af225 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2bc4398c dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2d49d1b1 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3e96d605 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5609004e dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x72965026 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x85354172 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x94bd517e dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x9d37849e dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc16208e4 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc6b39b39 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc8fd38bd dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd944c779 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe257967f dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xebac0c0c dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x6c44db0a dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4359eeec dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5a9f9652 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x9495da07 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb4c5b130 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc0e314c7 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd58bd2a4 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x288b30bc dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x6a4ab341 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x821a34c5 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x8d4378ca dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x02134141 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0ff0d440 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1c527cbf dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x279a1201 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2a05667d dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cd1e858 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x54424eb8 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x66f41d9e dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x68a5a573 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7d5c0ac3 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9c11c55e dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa372227a dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb3bf1439 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbf03efc6 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf79e0648 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x04a146fb dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0d3fe329 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x295c89a7 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x2d916785 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x2e600be1 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3bd334bb dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x49c101d7 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4c835732 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x62fa2cf5 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6bde5908 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x74c04f4c dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8d0238f9 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x94d9ce83 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc8e0a3a0 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc8ee0e0b dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd20a7dd2 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe3e293ce dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf0efe9b0 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfbfdc2ad dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x252a234e dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x2eb8c75f dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x4f223aa3 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xba99eafb dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xcca2bfad dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x098ffcac drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x7bec0f06 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xac36c015 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x54cc9bf1 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x57f48016 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x6e8d2973 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0xbec56086 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x48781444 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xbc0b41b7 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x6bc0069b it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xb840f616 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0xc9cac4e7 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xb02b6653 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x3ef0b659 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xef597ad5 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x383dcbba lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xce70b7af lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x1578167d lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x73c2f65c lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x4ce36b06 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x0cc3271d m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x2542d5cf mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x1bd022dd mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xa2e32854 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xfa56e187 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x70159317 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x45a9a901 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xec521682 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x226fecc6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x33bb9e84 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x7bfbf759 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x83a3c6b3 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xdaa5dddb s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x4c438a56 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x621a9f56 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xcdfd1f31 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x15bb8a53 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x91f615df sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x3656bc6a sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x62fd5873 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xbd30e617 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x9e5e7966 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xa0bcd5a5 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xa20ed7bc stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x2d2ce97c stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x3c1f3f89 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xa6d5a7a6 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x7fa1efed stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x6058e329 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xf60e885d stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xb3b1f8e5 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x79c5b914 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x42d81b2c tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xb310c646 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xb6c7a1d2 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x29b682b0 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x498fcb3f tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0xf6e6a301 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x4df70952 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x9c5eed9b tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x485044ca tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xc8fdb895 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x16686e01 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xf5fcf7d2 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x978da273 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x053b081d ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xb1052580 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xfa6d74d9 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xa3c658e2 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xac0e8de5 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 0x411a8917 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x6add88dd ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x1c1823f6 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x247ba284 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x30194242 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x52ab48e6 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xabacb027 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xca6d660e lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd161c8a2 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xfe4364c4 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/rc-core 0xef37b063 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xfc8a6663 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x3f193618 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x5b68a64a bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x9ce0f007 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x86c36fde 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/btcx-risc 0xd80d0f1c btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x4d524cd2 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x6f9f9d4b cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x7084e73f cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x9253cc3f cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xdc0611f7 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x12b0bf2f cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x1608d96a cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2e4c4573 cx2341x_handler_set_busy +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 0x72d860ba 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/cx2341x 0xd1653204 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0xfc414552 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x16bfb3c1 altera_ci_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x271158e9 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 0xe1f616df altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x1937c83c cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x3d53694e cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x4f304ff1 cx25821_set_gpiopin_direction +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 0x8aa27abc cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x9296d9d6 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x936ef3b4 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xa9765f21 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xb8f0ef4d cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xc67ed749 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x1d261913 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x94ddc14f vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x10149f5d cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x25ea13b2 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4e0f2c0f cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x5fdaf98b cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x76e0a5b3 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xbb9f1d15 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1f08d200 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x2a63f38b cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5a089537 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x640ed9a5 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x8db91037 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xfd64441d cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0bab3d8c cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1f38f39a cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x216e9e0e cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2296d880 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x251f9ef4 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2dc5edb1 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2df1ec3e cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x30e5a672 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x52167496 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5bbd4c51 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5be2fba8 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x706c6d26 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8140b5ef cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x929603e2 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9dad6ff6 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xae9c8fdd cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbb723a31 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc1bd45af cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdb7680e6 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe68fa9b8 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xea887f2f cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xeab5105f cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x1cf0c186 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x3d61c0e4 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3ae1f7c2 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6803d417 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6c5d98d8 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7acf2422 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8134a7de gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb71e627a gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xd4d0fd7e gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xfecfb756 gspca_resume +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x09f4d65a ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3a9c1b37 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3e7296f3 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4a0accb0 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5bb41490 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5e8efd63 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6183cf29 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8793ba06 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb334da9f ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd48f04c3 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xefab35eb ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xffad5754 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x050cbff6 saa7134_set_dmabits +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 0x1f62be5b saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x20fde56c saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x272818a3 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x720a18ee saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7ef4be88 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9ffd0085 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xac4fd348 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xcdac196c saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xd32ebcdc saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe6df52a6 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf8227c97 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/soc_camera 0x4ec2d151 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x539cb855 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x772de5c6 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7e213199 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xad178013 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe8c2d667 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 0x24c8ca91 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xb4ce9db8 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xe8f8d388 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0x8f1cd952 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0xa7b3d72f tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x33af06dc v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x350f7b11 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-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x69d3466a v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xa636f6c4 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xdfb4fc5a v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x0019097e videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5b453c82 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xc6d5475b videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xcde6bdab videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd1631f1c videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd9b0d763 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xdebf79ef vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x03218f0b v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0f6bf582 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x10e3fae4 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x15f532f2 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x180d915a v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x1c28b60a v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x2021ddee v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x2218f67d v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x3323c9ab v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x382ce681 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bcd639a v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x430c9ffc v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4e380eb8 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x5154a3d5 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x52edf4d4 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x5950485c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x67f841f8 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x68334174 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x6dc7a860 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x70d8bde5 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x79a8d41c video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7c4c7c99 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x7ecac599 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x813a6b6e v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x82e9fa13 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x83a94bcf v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x93bc3844 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x94f93c0b v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x9f6f032f v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa257a2f3 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xa272c9d2 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xa448c503 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xa78e92d9 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa7e4feba video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0xab7d43da v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0xad36d62c video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xadd6502c v4l2_ctrl_poll +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 0xbe68e430 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc3ec0396 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd0a132a7 v4l2_ctrl_find +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 0xe81dfc27 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xeb87d627 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0xf1138a0e v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xf16b36a4 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x58f3d352 videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x60d838e7 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9037dd55 videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xd0f74d69 videocodec_unregister +EXPORT_SYMBOL drivers/memstick/core/memstick 0x030b8f74 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0320d35e memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0eda5e4e memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x27d5a87a memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b1e1b68 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x62445c7b memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5987a36 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa6b88226 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb68387b4 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd98c1c3d memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe70a9aaf memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe8c8f067 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xeb2a6c76 memstick_new_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x04f823d5 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0f94a7f3 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x150f989a mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x155f3306 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x158a8c44 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x16b16c32 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1e98d7ba mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x218a4961 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2683f7ab mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x26adbe3a mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x291d851a mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4020a624 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x428c3f37 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4c3748b2 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5daaeb3f mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x85c5f8cd mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8eb5d600 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d328f58 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d4d82ff mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb40753d0 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb5e1d6b0 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb991188d mpt_get_msg_frame +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 0xc4fd335a mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xccf96bf7 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd1c51047 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd3baddb4 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd540dcbc mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd85abba0 mpt_config +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 0xf229e5b9 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1b5f5ccd mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1e334014 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1ff1d7c5 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3444b2ec mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x38ac7d3d mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x425d9cb2 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ea477bc mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ebd6a84 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x683edc92 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x765f7460 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x85776e1b mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c43e92a mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x96672e9b mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x979fe2ef mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa304c5e6 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa315f9fe mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa68bfecc mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa7e15deb mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa9afb78a mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xafdd7310 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb33f10b8 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb3d40c30 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc7be265f mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xde94b592 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdf40ef57 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe655bf9f mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf131febe mptscsih_proc_info +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x19d14bbc i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x24549a37 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x460ac83a i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x48136930 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x85da53c8 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x87aaa34c i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x98cfcd55 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa9202160 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb05a7cbb i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xba4fc7e4 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc3edd5af i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc4c889df i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc71df33b i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc89bd575 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe0d7f13d i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xec1616eb i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xeea43d0e i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf870e827 i2o_device_claim +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x32eed5ae pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xcb00468a pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x09cd80b4 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4230f9d2 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7aba4e67 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7c5a9c36 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8eacd1f0 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8ed78957 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x95d12b9a mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x98fb8aeb mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9fd6d5be mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xaf66597a mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb6763d35 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xeaac910f mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xee72ac30 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/tps6105x 0x318bed2f tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xfb7d8dbc tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xfb9871d9 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 0x06fae09b ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xf3a9f50a ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x51ea2fb0 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x0ecf736a c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x47b19cc3 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x311426ae ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xdec9465b ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x430dea7d tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x4cc7b6a6 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x5d77021d tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x7e2d6276 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x834ef22e tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc6499e07 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc729de44 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xd3c7809e tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xde16f2cd tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xe2dc77c9 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xe9471cbd tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xf9c75813 tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xf2feab32 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x41338762 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7be8ae09 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe181d433 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1b67d57e do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3f2a03c4 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb1cf0f6b map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe5caa031 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x819a2796 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xd09e1bdf lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x41414e27 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xd9eca50b mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xf0cf97d5 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x08d2eed6 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x131f1f4b nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x3f5ea246 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6238d4cd nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x88c6563d nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xaad119bc nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0xe7f82713 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x81ca2c06 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xaf916dc7 nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xb2465df4 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 0xbe622320 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xd7927300 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 0x14db2dd7 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x686ccab6 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x6f10bfbc onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xcae63a47 onenand_default_bbt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0b711870 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1779376e arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6f1d48fc arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb3a526b3 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb81569f0 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbf8a0248 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc14f516a arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc36df63d alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd15e1771 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf86f6357 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x0a69c454 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xc85319c4 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xe98b766e com20020_check +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2537d460 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x470cabd4 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x53163f0f ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x615492c5 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7094f91d ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x74953875 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x797de909 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb94a20b4 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc3da7b73 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe25911aa ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x1939a29a eip_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x2820938e __alloc_eip_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x5636814d eip_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x73a1d5e8 eip_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x8dc33771 NS8390p_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x95e81759 eip_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x99c03fd7 eip_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xacfa6c00 eip_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xc37269ab eip_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xf3c14778 eip_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xfc186342 eip_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x12ee85ec bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0x0ad79791 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xfb0dda16 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0761d366 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0b9321d8 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x174af18f dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x18fa0358 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4ca3b581 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4e990717 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x501daf02 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5c21a43e cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x668f57bf cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6b35929e t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8307bd77 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa3caf0fe t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xcba5ae4f cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdb3c5fc4 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdc7974cc cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xef738ce0 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x107260ec cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1df30e1c cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x228c2b0c cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2c304d70 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c3719fd cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3ee9ab92 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4b78aa04 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4f512587 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x680d264f cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x693cad0c cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6b64df77 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x75fffa9f cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8d53518f cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x93629c9f cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbd4f18f3 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8fbd034 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xceb88d03 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 0xe10a8225 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeb28c104 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xecd0d22d cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x7e6ad4eb 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 0xbe50f089 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26f8f489 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x370092bf mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4d78219a mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57a2df92 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67b943b3 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82f028b6 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9d6079e mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae26c32e mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcba81767 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdabe525c mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x082823b5 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2a53191d hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x37771060 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xcfdcff84 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf10e7015 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x179c7371 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x39d44908 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3bb49594 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x55ffc18f sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x58f20518 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x726ab6b3 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x77949172 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc081b483 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf428d1b0 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf5cd6672 sirdev_write_complete +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 0x4f4a775c free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xd4f373b7 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x38f28a8c pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x79bc170c register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd58cca38 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xed62539c 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 0x02f47741 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x06ce842a hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x132b8c95 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x193b4d2f hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3f38b41c hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x636728a2 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6a8ad7a2 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x96293475 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb610bccc detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd5cf0ecb unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe7f1afae attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/z85230 0x0f18aec0 z8530_sync_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x10c78988 z8530_dead_port +EXPORT_SYMBOL drivers/net/wan/z85230 0x19462ba8 z8530_sync_txdma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x2876dbf7 z8530_sync_txdma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x2d74efcc z8530_sync_dma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x32a239bd z8530_shutdown +EXPORT_SYMBOL drivers/net/wan/z85230 0x5cd24d29 z8530_hdlc_kilostream +EXPORT_SYMBOL drivers/net/wan/z85230 0x629d4c72 z8530_sync_dma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x74b23d44 z8530_describe +EXPORT_SYMBOL drivers/net/wan/z85230 0x7572b6d9 z8530_sync_open +EXPORT_SYMBOL drivers/net/wan/z85230 0xad081d7d z8530_nop +EXPORT_SYMBOL drivers/net/wan/z85230 0xd1f19c76 z8530_init +EXPORT_SYMBOL drivers/net/wan/z85230 0xd4ffebf0 z8530_interrupt +EXPORT_SYMBOL drivers/net/wan/z85230 0xd73a55c3 z8530_queue_xmit +EXPORT_SYMBOL drivers/net/wan/z85230 0xdba380eb z8530_channel_load +EXPORT_SYMBOL drivers/net/wan/z85230 0xe062bd17 z8530_null_rx +EXPORT_SYMBOL drivers/net/wan/z85230 0xe3d80064 z8530_hdlc_kilostream_85230 +EXPORT_SYMBOL drivers/net/wan/z85230 0xe79b0315 z8530_sync +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x61b125b9 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x459823f9 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x4f676675 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x8776ef46 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x05873acf ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1037bcb7 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x115e50a3 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x27212f3a ath_hw_setbssidmask +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 0x69ef0187 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x77c7e8ef ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb4388f7a ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb66d5049 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbefa94b9 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd6c2e288 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x122122dc ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x290d0a72 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x367fdd8c ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x67849733 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x93bee349 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x984737b7 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb44fb17f ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd76940a0 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe5baf6e5 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf3401c17 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1c0aadc8 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x24ab46ef ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4f540759 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 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe12e66b1 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 0x020792eb ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x022b1f37 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x02dac764 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08d119a5 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b0fdaec ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0cb97b2f ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f7661a7 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x137557fe ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1498d3dc ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18470201 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1c342b21 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1c7bad2c ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fc4639e ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2140c47f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2db20bdf ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x318fcb7b ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36ff2a5a ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x374a19bd ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37ad8903 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3aacbdd2 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c84d59f ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3de8832f ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e261323 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44b80cf7 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c93a672 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4e9c382b ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x516701b2 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51fc3d9f ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52ec72f3 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54ea2950 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57a7e79f ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59166564 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5feb659f ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63125842 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63877cc7 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x650c52d7 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6606f221 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70b55696 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x77adea2c ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79f8c61b ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ac0bcac ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b5c3132 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c39f33d ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80659353 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80a25ece ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87cfe6e3 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x892ca1c2 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c40b9f2 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9184579d ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97a9452f ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98f0b74b ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x99a79792 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9df8429a ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9eb2ffed ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa008327e ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0532acf ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2d8b229 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47257cb ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47b674d ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47e1c7c ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab60c06b ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2050f83 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4bb7110 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4ee0c3c ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbb16dd94 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc35671c ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe9b1fd4 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbea5fc02 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1d9b96d ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc20faf85 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4f80391 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9570aaa ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca048a2d ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcefe6e14 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd12468c2 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd35f02e5 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4a75d5d ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb5b5189 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe28461cc ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6bf7926 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6ef534c ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe791fd8f ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea2a4746 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea518147 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeb97c623 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed3849f9 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee7bda2c ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xefcb05cd ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf24bb5f3 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf402132c ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf96d44d5 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe8807b7 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/atmel 0x571c62c8 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x5ce32185 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xe2c22841 atmel_open +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x1090aff6 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0xba23d0e4 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x12d67127 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x46bb8835 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6ba85654 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x77b5e00c brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x7e22eee7 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x80cc9186 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xb654d8bf brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xb70a91a2 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd55d241d brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xdc8f9954 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xed02d3ac brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf83123be brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0a87451c hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0c3f9df7 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x10ec70f5 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1ac18e63 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1c8ce12e prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21b9b6d3 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x22427fbf hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2301e7e4 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2d2445b5 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2e0ed141 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x484e99b9 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x58e577f6 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x59882363 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8c33d5fc hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8e9bc09e hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e987d5c hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa1b787f2 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa60d5a07 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa9835df6 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb198308b 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 0xbbeb720f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbcd2a082 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe9e3dd86 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xebf542ff hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xee280ca8 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x172413fa libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x259c3297 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x25d2c23c libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2e279504 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3bded8fe libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4c0a34ec libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5463198c libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x561f3acc libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x56845162 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x605ff068 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6cfa6d17 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7c4a3f54 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8113abbb free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8beac3a4 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x92e95001 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa2d3675d libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb7c16001 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc84acafb libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcae59839 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe2f617ca libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf517fe9f libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0085fa5c il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x031274b7 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x037cde38 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04bbf919 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04fcc375 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x078f6dc4 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a4dfe4a il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1e21dd01 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1f800f16 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x20c25561 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x20e9b9b1 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x22d8e0f7 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x25a2fdd9 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2a4c31a0 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2b369632 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2dda48ba il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x30d5c7a1 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x334f5aa3 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3565c894 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x35794707 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3690401c il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3b35bf62 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x45e33935 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x463a45d8 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4b57f3ba il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4d2e59c1 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x54dd1a52 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5d19e736 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5e62c79d il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5f0a74db il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x61705d66 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x62a5cff4 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x63169718 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x631b6691 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x66e9ecfc il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6a24e19b il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6c66fde3 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x729f9efe il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x73e5a8d4 il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7665401b il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7d46937b il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81400e5f il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81c1664e _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8708db18 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x873bd0aa il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x88d7553c il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8d43f45d il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8e1a2d22 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8fee0455 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x935844f1 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x960afc78 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x97d44f8d il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x985f766e il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9e0c601d il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa4d524d7 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa64e2f60 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa7221b84 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa81d26e8 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa85616dc il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa89695eb il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaacd33ed il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xabc7dedf il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xade79bb1 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaf764ea7 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb18e8dab il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb19ac3bc il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb5927484 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb9d2af99 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb172559 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbdeec3c7 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbe0e41c1 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbea1770c il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbebcb24c il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc14ab451 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc421ddf2 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc81220d4 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc9424af6 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xca737185 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd245ce2e il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd4f3eba8 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd719ea49 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd7a800ed il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd9216a15 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xda394c5e il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdba49e54 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdd6888db il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe45b0164 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe47dcb08 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe57b7e6e il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xede9115d il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xee3826c1 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xef060e16 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xef2077e0 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xefa790c4 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf225a9e6 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf2dd92e7 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf94fe19d il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfa8ce465 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfed2fa0a il_mac_config +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 0x079ecac2 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x124c8a5a free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1a68cc42 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x23c756cb orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x303fcbb0 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x3cbf4eb4 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4289ed97 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x510f8a1d orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5646acba __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7c1a121d orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x800bd2c7 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x95daf07c orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9d0b87b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa68a90e4 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd52db566 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfb0f776d orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfbd3407b orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0210edc9 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x06d83f11 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x184b8faf rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x367cd3f9 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3cef5c1c rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x40b56f54 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x425a0a6d rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4483ecf6 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4ae0fd0f rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4b99471e _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4fd0b2ab rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x55829bda rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x57432c42 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5bf30397 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x61005f0c rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x63b6fda9 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x64e698a1 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x65e7dd3f rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x691fa7cb rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6ddd516f rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8505a02d rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8ebcc45c rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa982f7c2 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xad550cd9 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaf3f112c rtl92c_set_fw_pwrmode_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 0xb42f4db4 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb5ffaa9e rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb60fe0fd rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbb4cc22a rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbb8a21c2 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc426cb4b rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcd581d6a _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd61308f0 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd81358e4 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd8d8afaf _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdab8a085 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdb291ab3 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdfa71753 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe15d0d47 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe4562608 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeb343f25 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xed4456da rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00d3420c rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x04a219c9 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x25f2baa8 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2936c9c7 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3008e988 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x33a2a44e rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x4312bd58 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x43225b2a rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x611afd56 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x73a0aff4 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x78110a0d rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7a17879f rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9b011a32 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9dbe249e efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa4db83b5 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa87bc830 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb39045b4 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb80fefc9 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xbdc45e81 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc69d50cc rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe57030d6 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xed22da6b rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfe666f2a rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfed32191 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x131ce4e5 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x8ed9e4c9 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x012840de parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x08d24cc6 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x13895be9 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x173271bf parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x1c26798f parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x26510843 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x2fbfd469 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3235c6e3 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x3bfd464c parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5959f34e parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x637450cd parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x66234cf9 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x6f209e75 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x86609e91 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x8cd683f9 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x8d493e6d parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x927ac050 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x9515591e parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x972c9d93 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x9e8d46ed parport_release +EXPORT_SYMBOL drivers/parport/parport 0xb36fbea9 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xb4a77dfe parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xb51758ff parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xcf325e7b parport_write +EXPORT_SYMBOL drivers/parport/parport 0xd9cb5089 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xe31c4835 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xe5f281f3 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xf2029ed9 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xf91afaae parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xfa272149 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xa0ea9749 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xebdb30dd parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0d0c9159 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0f86bce2 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1419547a pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1e17f88f pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1efbe939 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2fe9ef03 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4091ec48 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4100bc04 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x42772916 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x49960077 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5e5f702e pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6e3ab66c pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x791a4016 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x913ded52 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc6c8e196 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf3160161 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf40b212c __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf4409a95 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfe3d0cb8 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x27fdc4d0 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x287687d3 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x41282d22 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x48add214 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5937d849 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x966647cf pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa4e48f47 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xaa2a8638 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc617fe41 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe6694600 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfffb0e20 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x261676b1 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x372c36c7 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 0x26a76d2d pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x7353f2c1 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x7e64cb9f pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0xa4626e00 pps_event +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0x7f4268fb NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0xe1a53588 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0xbcc8d3e8 bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0f77ddb5 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1d41e6d0 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34c1d7b0 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x45d973db fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x52c4e69d fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6776fe69 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x726aaea1 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7d7e63e5 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x95d9ed33 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe18c7e08 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf7f11c94 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00d15af9 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x058ff2e4 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09d92543 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x11ed1ce0 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1b7c6f08 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23d282d9 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ae28039 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d8c1bdb fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f595b95 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x34b00375 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x41e5cfef fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43e3c85e fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x53c312e5 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x560a90a0 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x596ad1e7 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5a14b2ee fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b5eadc7 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5fa8da1b fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x634566e2 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x648454c3 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x682e319e fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x700ef4f7 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x72af3402 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7431fceb fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x746257d3 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cb68d9d fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83cf3c2d fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x94c1ab0b fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x94fd5352 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa006c3cb fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa0a5429a fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1d05afe fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6bff20c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa86badaf fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac071a3a fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac70a386 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xace28fbc fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0aafb37 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb20c2d74 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4cbee8c fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xba7b837d fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbeccd8f9 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd00354ef fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd5301f91 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd59c087f fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd9b2daf7 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdd57b46a fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe12a5d43 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe39e0f6e fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8dc48c6 fc_exch_mgr_add +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 0xd257d5a8 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x044fc7f3 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0b6b7abf osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x14dc18b5 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a269db9 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a6db095 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e7e9837 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2f7fe904 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3633cda1 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3d2d9f33 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x515096be osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x57a645d7 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6a046a5f osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6ec84b99 osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x706896b7 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x73a3b26d osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x84f4b324 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8c6a4625 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9306e017 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9643ea6b osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x98d75b34 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9ba3457b osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9c47fce8 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa6efdcea osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa764e497 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xafb72914 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb1cccd22 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbab89e51 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb648ca5 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc99a36d3 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcd4480d6 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd07c4207 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd59f47a2 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe56309dc osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf20bf5a4 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfeb6e158 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xff0ed7c3 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/osd 0x0b27d207 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x70b79745 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xd8c5e001 osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0xea8d50b0 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf0808354 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf296215f osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x11b2e3fc qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x162225a8 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x167d6199 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x325fd63c qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x3c8d235f qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x653d85b0 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x983bc9cc qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc49a4a3c qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xce720c05 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe115b269 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf76a6d26 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x245d5724 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x655d899e qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7ac41730 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x9f6b033b qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd4fa6635 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe7607aea qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x25a0b198 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x99f45769 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xb350ddb3 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2ac9332f fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3eebad86 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4cc9967d fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x58bd7e55 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6d9ba33f fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7d4e034a fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8844067b fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9902199f scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbf32debd fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd60112cb fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe5941359 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf0722300 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfb3f6af2 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0ab9e473 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2136f1ff sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x299e5f83 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2d5cd250 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x395db143 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x40e75e06 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45b3c1a3 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45f51df7 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6889082b sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6dd8c2ca sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x781a6586 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fb29b25 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x823895f1 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x84a721bd sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8d52c575 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9d3b46d6 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa2cc530e sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa3b5aec4 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbccbf437 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbf1b530d sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd2aa246a sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd345bb79 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd698e11f sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xda5f2955 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xde613960 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0850ef3 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf19e9ff4 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf7c60098 sas_remove_children +EXPORT_SYMBOL drivers/ssb/ssb 0x0ba9b067 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x0c20f268 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x28e44a07 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x29b5427e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x2c85f85c ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x432967d7 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x4a1773b9 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x50fc1f43 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x52b12c91 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x6ec756c0 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x88b04a85 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x8e29b2ba ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xa69ff07c ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xa7cb4bc0 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xa91d8abd ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xb46befed ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xba6ac374 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc645d4f1 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd3344546 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe3fcb08a ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xe733d03d ssb_bus_resume +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x19cda071 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x29b3c151 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2a42f0b1 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2ec4d2b4 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x390629e0 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3b0b69c5 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x414a1a08 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4537b488 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x702904fa comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x766e683d comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x92978aa4 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb67fbda7 comedi_check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd74fa826 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xde212f60 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfa144074 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x29e32142 subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x61b4a196 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x7eddddc4 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xbe0bf31c subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x0d9dc568 cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x44743599 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x472f6064 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x00dcd2e9 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x031f5dbb mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x06e2f47e mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0feb3491 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x141037c7 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x613005b9 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6448328a mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7a95f110 mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x86cb40d5 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8bde1be9 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9150abb6 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9b403eb8 mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa6a4c8be mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa7417f15 mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xbc509e93 mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xbd2f917f mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xcde1e4f6 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xdea94a47 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe6698f8e mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xff8b9a9e mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x37fb57b6 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x6f880ae6 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x89e50f6c subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xc8acb083 subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x6abc58ec comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x00bfadce comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0bfe1b46 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x38d46774 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x7885dc56 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8749453d comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9bc96b7d comedi_dio_config +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xc0b9c136 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xe1899ee3 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x6b8f3185 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xc3003855 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x566b259e iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xb7e70980 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x6408cc00 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x309704d1 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x42a0b02a go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x46ff1060 go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x48de88dc go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x6eaa4fc6 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x9fc0f442 go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xc665f410 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xf548988e go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xf8fe8a91 go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0423be23 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x06e27172 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0b6ccd2f rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x113c3014 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2ca0585c rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2f39b31a rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x30838911 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x32a8ad9f rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x34cb38fe rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3940ad6e rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3a5d9580 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x41d92122 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x429b63e6 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x48aa3f08 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5080d96a rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5e5d3655 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5f303664 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x679956e5 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e88f67e alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6fc82bc4 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x78a0e188 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d64f0be rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x86ab2fa6 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x89c3140a rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8cc7dd44 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8f2d4d52 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x98e34487 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa4bdb4c1 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xad528218 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb08f9417 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbbf9fc4a rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbcf76d07 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbf23ab31 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbf73936b rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc0a57a6f HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc1310391 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc36565be rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc72b66db rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc7439267 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd7878a1f rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdba98af0 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xddab82aa rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe4964c35 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe81fa661 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe8e0d526 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec3a825d rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xefa9aa87 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfa92ac17 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfcbc26ad rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfe93df8d rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03e83913 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03ff7829 Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x04404806 ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0f08c9a6 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x18cfc6e9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x19a70f19 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1af3ea7f ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x27bad3ea ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28051b67 IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2e748dd8 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cbb989d ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x40faa07f ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4b06074f ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5198f398 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x53ca5521 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5597e280 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x58bb9823 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5cd0033e ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e9d0af9 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x62c30035 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x639d72c2 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68e17fae ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x69993ecb HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6a994630 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c32c8b5 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6fb07641 ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76f97523 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c0bb97b SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x820fa0c3 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x84763e94 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x89507266 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8d5a26d2 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f7ea712 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93437b82 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa6689f8a DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa686b295 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa7aa4937 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa7ac645a notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbb55f33c ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbda3a134 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf2eb919 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc44dbd0c Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc97799fc ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xca6603c7 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcae6eb4f ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd3372548 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd9920c83 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf20c05d ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe0362992 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe8307ffc ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xebd74cc6 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xed254107 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf1cb41c5 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf39934f4 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5d9cb8e ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfb7218a6 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/telephony/ixj 0x5cce204e ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x09053f40 phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xad47aaea phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x001f087c transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x00ae3909 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x02a86cd8 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0709c7ca core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x07c1f625 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x11cdfb0a target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x142188ba iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x152500ed transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x1784f69b transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x19471221 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f957c53 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x20fa07c7 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x24f06d05 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x37bbcdb4 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c162082 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x477134c1 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4876f57b target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x4bed6590 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x4bed7d3a transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5379c36d core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x545c3f56 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5463465d sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x5edb9831 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x5f2258ac target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x61fced08 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x626e9f0d target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x62824b61 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x63c2655d core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x64b1af0c core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x6658c183 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x75eac162 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f0bc141 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x800d9615 target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x9057c2a1 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x981d48db target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e4e3852 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xadfa5263 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb6cd1532 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xc053ddee transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xc14d7434 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0xc406b68e transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc84635e4 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8842c2d core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xc94b822e transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xca85f6f3 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcb414b13 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xce7836e1 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0xd1494abb transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdbfe6d2e fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe3d63b7b iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe525d063 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xe714d896 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xee418f18 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01589ff target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf1e4aade core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0xf34607a1 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xf796870c transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf80fb2d4 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9f5e52e fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xfa177849 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xfce76f10 transport_init_session +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x792f4df6 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x91cf7b23 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 0x14ae615b usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x450b086b usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x48e3a881 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x60102565 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x71369a84 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7bb4ebda usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x899236c6 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8b544733 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa820c365 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc3038e07 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc3b173b8 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdcddfd8d usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe1d1575a usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf69fcd5c usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf8350b0c usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x19e5c776 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xfa61d59b usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x6ef3a783 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xfbcb2616 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x95dc8160 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/macmodes 0x19082709 mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x1d5e5e27 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x25b22f09 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xc2c05cb2 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x3600f47f DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x4677eb11 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x87502926 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xa1d507ed matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x26689796 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x4d01c537 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x40d12352 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x4b0f8d28 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x8c302a0a matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x9f2214a8 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x66f9aaca matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xe0d16581 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x199fedff matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x1a78348d matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x72b0a3d1 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xb609c624 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xf9f1bcc7 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0x25979c91 mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x59bcee9b video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xe2de6c37 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 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x7883b84f svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8690c458 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x87014be4 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x99131dba svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xb4ec4c2a svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xcab2dfce svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xce2243ae svga_tileblit +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/syscopyarea 0xea019476 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xed4c07a4 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0xcc8ff271 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 0x18ef7c42 vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x19050c21 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x2e9ae414 vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0x2fde8330 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x3e95083c vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x410eab49 vme_unregister_bridge +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 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x4c79e220 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x596c9a9c vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x68186d3f vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0x735114b8 vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x80720af0 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x90695906 vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0x918d92f2 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xb83b7823 vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0xc4f5222e vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0xcdcf58db vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0xd2131259 vme_master_request +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 0xe7e1969e vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xf8faf8d5 vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/vme/vme 0xfafdca3d vme_dma_request +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x14f6ee09 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x22e605c8 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4c6d5228 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf0974d23 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x6f7fab51 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x8aed87a0 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xaa0cc972 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x435173cf w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x624db73a w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7b5d8009 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x11ff67d6 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x574b72c8 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x886af0f0 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xa03f40b4 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 0x4b4a544f configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x704b1602 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x94aba213 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xcca348e8 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xcd70c511 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xcf126420 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xe2bc6b06 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xed7c27c4 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xedb98a16 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xf12fb193 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf1329028 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xf70f7613 config_item_get +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x10f9daf6 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x56bdc293 ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x592aefa9 ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0x605a6d5a ore_write +EXPORT_SYMBOL fs/exofs/libore 0x61156d48 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0x689bc754 ore_remove +EXPORT_SYMBOL fs/exofs/libore 0x6fab4136 ore_create +EXPORT_SYMBOL fs/exofs/libore 0x7b691ade ore_read +EXPORT_SYMBOL fs/exofs/libore 0x86d36c95 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xf35ef0c0 extract_attr_from_ios +EXPORT_SYMBOL fs/fscache/fscache 0x03a22c88 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x0ffd9b1c fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x1d6efe5a __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2948a5be __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2ea14e05 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3c57b663 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x3dac0617 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3e90f402 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x44a5bce0 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x44ed09e6 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x4aef0493 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x559c81e7 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x5ac893ac fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x712e93ae fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x87bcb346 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x8bba2d1d fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8e6d829b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x90c12300 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x9618c6d3 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xa265b565 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xa4296821 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xa5dcd972 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xadc66828 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb5453519 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xd44e2090 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xe1926629 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xf482f6b9 __fscache_maybe_release_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 0x2b482b83 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x512a14f5 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x84782337 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x8ba4c3e5 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xe7ca22fb qtree_delete_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 0x47fb6d98 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xe88a8d2b register_8022_client +EXPORT_SYMBOL net/802/p8023 0x31c755f0 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xa178e43c destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x282c137b register_snap_client +EXPORT_SYMBOL net/802/psnap 0x2d3cd809 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x00f016b4 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x04126213 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x0937837a p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x0c6081cb p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x0d07c59a p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1d3f3d35 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x1e2e5620 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x298ec027 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x29cce5e6 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x2a879717 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x395795ec p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x3c44a3e5 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x3d6c3c52 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x40adf8c1 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x432919d2 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x45ac1567 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x4a89a2cb p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x4ac90a1f p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x51b29c80 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x53208b4f p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x640eb14f p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x6a9c6323 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x6b9c5085 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x72c448c1 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x7380a5b0 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x79ca02d0 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x86d0f600 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x8b3dd0bb p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x8e10378b v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa437b215 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa5aa3586 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xb228415b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xbe4c0f2a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xc3c426d9 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xc400bb9d p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xcba9f962 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xd8eda45e p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xda977cbe p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe658db63 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xeeaa8a83 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfceb8139 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xffa72e5e p9_client_rename +EXPORT_SYMBOL net/appletalk/appletalk 0x4a89e95f alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x74f7fe91 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x7b93c6f5 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xe88ec708 atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x14cbf2ca atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x1a0856a6 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x335d566e vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x3498ada5 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x45525f24 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6859bb86 atm_charge +EXPORT_SYMBOL net/atm/atm 0x6a5281fa atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x7f4bf312 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x836291b1 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x93136f41 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xd020fa88 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xd40aa572 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xecb9b443 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xf420eb57 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf9c6259d atm_dev_register +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x16d24888 ax25_linkfail_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 0x4dbe733c ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x656fd410 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9aeb6581 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xb2dc881f ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcaa00c5c ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xcaca8287 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdd2d5e9e ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xfbdfc39a ax25_header_ops +EXPORT_SYMBOL net/bluetooth/bluetooth 0x07ceaf06 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0821c0f0 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x09052fa4 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0db717ac hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x15341a01 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x18a239c0 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x269d8480 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2cdc9f0c hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2d733f27 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x362e2c51 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x43066b2b bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4b44a8ad bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4e4e6d09 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x568b9f5f hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x57dcef08 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5cafcdc7 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60b55a2d bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64de3d9c hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6dae4a60 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f4444f6 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x78fb8a13 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x819be94c hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8efdb25e hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f8f0283 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92479c9a bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x97e4d66f bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9a88508b bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa3a5abea bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa70affad hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xac13cae7 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb7b6b654 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbefbda9c bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc09ef276 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd474f530 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd6d2ba6b hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe397e115 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf0a94e54 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5e316ac hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfe8fb2f7 hci_unregister_dev +EXPORT_SYMBOL net/bridge/bridge 0xcc5c8aa0 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x0fa1403e ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x74727fdc ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc38517a0 ebt_register_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x1bccd145 caif_enroll_dev +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 0x731880a1 caif_disconnect_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 0xc853e999 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xce759df9 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xe3f1ad99 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x54c3a203 can_rx_register +EXPORT_SYMBOL net/can/can 0x973c0102 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x9d7fecc3 can_proto_register +EXPORT_SYMBOL net/can/can 0xa7885b8b can_send +EXPORT_SYMBOL net/can/can 0xcc8f46ac can_ioctl +EXPORT_SYMBOL net/can/can 0xdd64e958 can_rx_unregister +EXPORT_SYMBOL net/ceph/libceph 0x054dbc99 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0988d798 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x0ca14f7c ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x0ed4da9a ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1a25dc49 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x1a84c687 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x1c4d8df3 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x21d4c198 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x22f1b6b5 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x23b86ff0 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x252f5bff ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x2ac20202 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2aeb442e ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x2feabfa6 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x33bbd225 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x34a64292 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x399b77b2 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3b6a4d39 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3d207d9f ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4898273d ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x5178bc75 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x53f8cf8d ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x55c38c94 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x618ff815 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +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 0x72d43d29 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x75b2b243 ceph_osdc_wait_event +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 0x7d994922 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x7f437b3b ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x97f6e0d5 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xa615c85c ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xa782ebf0 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0xaa347907 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0xac341029 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb13c9228 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb7d8be09 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xb8d31eb2 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xbad7bafb ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbe8e903a ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xbf966596 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0xc215a31e ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xc275e7d0 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc6d3f7c9 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc7a484f6 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xce2c9bd3 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd69a297b ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xdf0ef149 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xe1f851c8 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe3680669 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xe63d89b9 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xe9a03f33 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xebdf9362 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xf0842d9f ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf3902637 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xf8c4b1b7 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xa4dd2071 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x0b29de8f wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2c6ce870 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x323170a4 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x58b25b70 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5a650ec2 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5c5fe826 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x76fbd4a0 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8a73cbc6 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc07d951f wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe16d2ed5 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xea6c54de ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xfa08b0d0 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xfc3faaa0 wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x49625b2a arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7d1b07b8 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xa73c467f arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x1b447b19 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4baee2a0 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xf4263bcf ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x17e0ecb3 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x1936fe6e nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x20bca266 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2b00de0e nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x38194361 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x70b83537 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x977c3f6c nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x0ae630be xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x6c5f2543 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x031ad718 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x18230278 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x56038b0c ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x98b0b09f ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x5652d9e4 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xb2c0036e xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x0eb1827b xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x539e5188 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x183bcaa1 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2783c670 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2dfdb3cf ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x32d4cf6e ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4426161f ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x69aaab9f ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb2bb1438 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xda55ed2a ircomm_control_request +EXPORT_SYMBOL net/irda/irda 0x01dbeb0e irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x040f3704 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0b2d466c irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x0bab6037 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x147b7710 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x1589bb3a iriap_open +EXPORT_SYMBOL net/irda/irda 0x1876464a irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x196c551b async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x1b7fe5d2 proc_irda +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x230b7b02 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x23a2eee7 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x28834d72 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x33ac5bf2 iriap_close +EXPORT_SYMBOL net/irda/irda 0x359de411 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3ae30832 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x3b0a2ab6 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x3b9bdefe irias_add_octseq_attrib +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 0x4ad3cb92 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x4d397123 irlap_close +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 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x7199971a irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x735d8e6c irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7934935e irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7b11e437 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x7d54adaf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x7ff509a2 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x8b532283 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x8cd99be0 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9e326eb3 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0xa323ba9a async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xa370c681 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xaa77a268 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xada3387b irttp_dup +EXPORT_SYMBOL net/irda/irda 0xb0980bef irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xb3685d29 iriap_getvaluebyclass_request +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 0xc0bee29c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xd439fa99 irlap_open +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xdeb7811d irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xfe966a1e irttp_close_tsap +EXPORT_SYMBOL net/l2tp/l2tp_core 0xb703ef65 l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x1b369771 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x1ca2153c lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x331439ac lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x3f50ce8f lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x54ac4e0e lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xbf691af7 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xdc1a7594 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xfa0bceef lapb_connect_request +EXPORT_SYMBOL net/llc/llc 0x2a99a7f3 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x2b996b51 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x3f421b37 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x864b9762 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xc97bfed7 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xd629316a llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xd9c1c4e8 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xe3d77cfe llc_mac_hdr_init +EXPORT_SYMBOL net/mac80211/mac80211 0x003750bc ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x011a5ec9 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x032d442b rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x04fd6d39 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x0b369552 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x10623584 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x16029408 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x18bd3247 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x26433b99 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x2c5fd33a ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x31c106e7 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x3422ac86 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x392505e2 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x3af1a031 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4666f5e3 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x46a16fbe ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x4c1e8a88 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x52f15c8f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x550b8ff1 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x566b8437 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x57d74f99 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x595b36d9 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x5a10f5f2 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5dac84fc __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x608e792d ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x65d004f6 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x677ee983 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x69464019 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x72295530 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x73ef55c9 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x73f8fcff ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x79287759 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x8885b45b ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x893666cb ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x89b27f42 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x89fa872a ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x9288f552 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x98fc2ce6 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x9a46bebe ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x9d19df52 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9d5c4fe7 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9d8330a8 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9f211885 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa12d535b ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa61bbda7 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa852cab8 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xaa7b3a46 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xac77bc7d ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xb2f4fd50 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xbb05e1b7 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xbf4099bc ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xc0c6cc96 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc105bcf7 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xc82349a6 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xdb661780 ieee80211_generic_frame_duration +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 0xe5c71943 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xed11a90a __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xf13899eb __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf6745564 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xf678d06f ieee80211_wake_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x008d4ecc ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x240ed95d unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x277cd062 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3f93f455 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x746c147d register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9f8d01fe ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb7d8b104 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbe668ee6 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc2eecfb1 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc307977c unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc806d04a ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe7ceec39 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeb279ea1 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf87e0559 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x74bbd874 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9c878d56 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd2557ab2 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x10c3bf52 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x28d07026 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x2e0d0cb8 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x32ac2f0a xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x48ce98eb xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x5d246889 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x6c62c786 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x950c9bd3 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xa62b2a69 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xb965a0a0 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xf6ddd21b xt_register_match +EXPORT_SYMBOL net/nfc/hci/hci 0x091aca84 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x0b45ae18 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x337a3d3b nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x3835ebb5 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x3e404efb nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x6acd14a2 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x71012989 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x7d407cba nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7f940a8c nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x912d5c32 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xa6df8ec2 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xad1b73bc nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xb52ddc9e nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbda24ebc nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xc48476d0 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xc4f07e96 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc73fc305 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0xcc132d31 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd99a0e64 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xe2ef106e nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xe3faa9d6 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/nci/nci 0x9985f739 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa47d9008 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xb08f3c78 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc0c051c6 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xeb5be6c9 nci_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x15901a7a nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x35be0e4c nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x698cdbd5 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x71f19ed4 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x78e12bf3 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x80641ba2 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xbb0de24c nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xd18850f1 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xdb58772f nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xf1d7acfb nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xfe33dd06 nfc_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x156a9282 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x200a390a pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x2b89b1b9 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x7ef6377a phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xa63ab3ed phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xbc88d92e phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xd2cd7556 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xdd58313d pn_sock_unhash +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ab7b7c7 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x17f9d8ef rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x29adc04f rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2e181c68 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x32bb1745 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x578da559 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5b3a5429 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5fc10854 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6b4556a2 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x71f437da rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x73a4ec2c rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb6338fa8 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xbebcfb6a rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc7ba96e1 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd671594e rxrpc_kernel_end_call +EXPORT_SYMBOL net/sctp/sctp 0x3402b9c6 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xa5a3a875 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x311406b9 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x173a8389 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x295a72a7 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x0782f541 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x09bca8c2 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0ae696b9 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x0f40d9d5 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0fdaacc5 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x12769e70 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1ad51596 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x1d55d12c cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x272704bc wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x3156fc54 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3562a1f9 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x36feb94e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x39281122 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x39cf128a ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3dd1929c ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x4084b1d3 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x438c4358 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x4423aa90 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x45346ffe cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x457bfc76 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x4c5c3b94 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x4eabb692 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x522e8d9c cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x57a92138 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5d764807 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x62009449 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x6535d4f9 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x65526733 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x73c0cea1 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x76611cb5 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x77e9394b cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x807e92e2 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x94f7146d __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9a58ff5a wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x9be1ce77 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x9c5764e0 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa4a25d16 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xad30179c cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb4cd445f cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xb52f9298 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc6f13d31 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc8ec569e cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xcad0b566 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xccadd60b cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xcd1f3469 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xcd824ba4 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xcee5df66 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xcfd3539b cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xd2e492fd cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xd50804ce cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xd86521e9 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xd9464844 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xded7ad30 __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xdf4f40cf regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xe582c53a __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xe5982e01 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xe771b254 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xe8d19e04 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xeccee504 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xee688d10 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xffb46644 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x52fcc78f lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x80a8eaf5 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x823e365d lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x8b71e755 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xf9331663 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xfdd5f218 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0x623154c6 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x3f64b53d 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 0x517e4a4d snd_seq_kernel_client_enqueue_blocking +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 0x9ea8ee66 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xa35855e9 snd_seq_event_port_attach +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 0xf7a3d969 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x0c61cacb 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 0xc87af62e 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 0x5dfa48be snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x04f9bb3d snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x0c023d64 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x0d3076a2 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x0fe2d627 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x12ca8c4d snd_register_oss_device +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 0x1d4e6218 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x24516573 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x27cda8cb snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2bdf15cb snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x34dbde3a snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x39d42b27 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x3ce9aa92 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x3ea8fa88 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x425b19de snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x4873d2b7 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4af6f8a2 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x50b4fc1b snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x53b546c2 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x5da82561 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x609090d2 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x690dae39 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x6a4ecf11 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x6b00cdd8 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x6e9b7fee snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7594f286 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x7cb8ab42 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x7ceacdb5 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x854872e6 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x8cc89d08 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92d3172b snd_component_add +EXPORT_SYMBOL sound/core/snd 0x941f38ad snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x9468eeff snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x9a1420ff snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x9a8d0e08 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f7d2968 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xab8d2a5c snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb96dd868 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xb9b1dc40 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xcb29d4ae snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd30782bb snd_cards +EXPORT_SYMBOL sound/core/snd 0xd9443e9a snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xde1b4be5 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xdeaba9cc snd_device_free +EXPORT_SYMBOL sound/core/snd 0xe0d9fb2e _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xe2c59889 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xe50a054c snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xee7ae6a4 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xf5c1c6a7 snd_jack_report +EXPORT_SYMBOL sound/core/snd-hwdep 0x22f5c775 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x002fc2cb snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x2610408d snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x6a00d4be snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x787d985b snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xcb604ae2 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x048e1d46 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x06cca1d6 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x11fe3312 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x1a596c0a snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x1b063926 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x2236d959 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x2bace5a3 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x37d9c26b snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3de2e434 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x3fea55ea snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x480aba2e snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x4ca2c718 snd_pcm_lib_readv +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 0x4faa6768 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x59e1dad2 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x5e0a93d2 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5f97cb45 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x604395ad snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x64ba7335 snd_pcm_lib_read +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 0x69fc8be6 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x6d82a782 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x6dc22c0e snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7780eb39 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x7eb26550 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x8161ca0e snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x95cb319c snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x9e90d1f2 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x9f73709e snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xa5930a66 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa66f60a2 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xa9adc229 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xb09158ce snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xb6a2720e snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbd17e435 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xc92640cd snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xcb96ccf3 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0xd591f682 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xde0d3a6b snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xde5ee92b snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe1595cf6 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xe3575fa9 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe5fe4d68 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xf0c2606d snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xf1ad3668 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf7252e9b snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xfb343209 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-rawmidi 0x08ef5283 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0b44b993 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2063c4b8 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3311e426 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x33d6bc4b snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3d48e17e snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x40d67fc4 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5a8fa6d4 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6ac9a037 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x81829d28 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x878bff88 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa509ed1d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xac2ac0a4 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb0049925 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xba0a0b4b snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd1fe8fa7 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe409055d snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-timer 0x2170315c snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x4e32d9fa snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x61480182 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x76f988b3 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x7cf104db snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x91203f7e snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x9267a4e4 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xa50ec69e snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xb5841f15 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xb8804a33 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xc61619f3 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xd3bd6ab8 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xda766358 snd_timer_global_free +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xb5ef0098 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 0x0352ffc0 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x172fed77 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2f2540fb snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x49c5f1b5 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x790c170f snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x881bd28c snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa50cb2ae snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd246eed9 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf699551d snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x34897ffd snd_opl4_read_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x3b2b1933 snd_opl4_create +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xc745beec snd_opl4_write_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xd4f71fa9 snd_opl4_read +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xe9c05f9a snd_opl4_write +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x062b27cc snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1fb6823f snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x25f68e9f snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x375d0927 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x409aa631 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5c4d8183 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x77ed23c5 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7c294f5b snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb7ba1f24 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2177514d fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x26bdcc9e amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2919f86f amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3760e447 amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x37efb42d fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x45387301 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6c8771fb fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x74098730 amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x76ed0d3d cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x79668801 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x81fbe2a6 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x866580f5 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x89916b6e amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x961c63d8 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa1f905e8 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa6feeff0 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xad73da09 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbbed9c91 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbe0cac1f fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc0d83718 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc1eacac0 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd1765295 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdbd4ba65 amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xed9bfb9a cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf574de42 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xff45a02a amdtp_out_stream_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x49ee1ddb snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x514a2c7c snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x87ecc8cf snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x95dad223 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xaca6afa0 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd0540f93 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x24c72821 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4d5492f7 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5e321f39 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9b49d57a snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc438fd80 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xce94e3ed snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x2c8df64f snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6b678c88 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7921e984 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbf16e9eb snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x742f0f9e snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xbe9589ed snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x79d0d068 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x7d5e16ab snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x1cdeff87 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x471d97ec snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x64603af3 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x674d942f snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xab9fb4dc snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x04ad7a0c snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x257b5670 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x76527d0e snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbfe7e412 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe2588e33 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf89c5ad7 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x41f9786a snd_tea6330t_update_mixer +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0xc49f204e snd_tea6330t_detect +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x6081f3e9 snd_es1688_reset +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x988da6d7 snd_es1688_pcm +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xa5ebc6d0 snd_es1688_mixer_write +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xbf08f50f snd_es1688_create +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xf93bcbea snd_es1688_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x019da20d snd_gf1_rawmidi_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0a07cbfb snd_gf1_i_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x16eac908 snd_gus_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1c1ce117 snd_gus_interrupt +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1f682d96 snd_gf1_write_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1f6d307c snd_gf1_new_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x36611c8c snd_gf1_translate_freq +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x391c57bc snd_gf1_i_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x3b6dd828 snd_gf1_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x45146a89 snd_gf1_peek +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46454102 snd_gf1_poke +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46db8d67 snd_gf1_lvol_to_gvol_raw +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x5feeea6d snd_gf1_pcm_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x722a2378 snd_gf1_stop_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7ba1e3f0 snd_gf1_mem_xfree +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7bdb4f52 snd_gf1_delay +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8380af59 snd_gus_initialize +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x84bf69d5 snd_gf1_write16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8de1adeb snd_gus_dram_read +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa1b9c2a4 snd_gf1_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xad548e95 snd_gf1_mem_free +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb6882120 snd_gf1_free_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc43a5527 snd_gf1_atten_table +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc543fc8a snd_gf1_i_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc656a2e2 snd_gf1_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc69a2f54 snd_gf1_dram_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc90e6cdf snd_gf1_mem_lock +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc930642d snd_gf1_alloc_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc96b6065 snd_gus_dram_write +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xd6486e6d snd_gus_use_dec +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xdb2272e2 snd_gf1_ctrl_stop +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xe9a41814 snd_gf1_mem_alloc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xfea415a1 snd_gus_use_inc +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x040c3b97 snd_msndmix_new +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0e096be3 snd_msnd_init_queue +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x1faf44c4 snd_msndmix_force_recsrc +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x233953d4 snd_msnd_DARQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x3cbe13c3 snd_msnd_dsp_halt +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x4148a8b8 snd_msnd_enable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x42e84217 snd_msnd_upload_host +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x72fb5bbd snd_msnd_disable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x75026b24 snd_msndmidi_input_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x7a2cf751 snd_msnd_pcm +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x8dde4f92 snd_msnd_send_word +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xa6f43633 snd_msndmix_setup +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xcc06dca0 snd_msnd_DAPQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xed1745b4 snd_msnd_send_dsp_cmd +EXPORT_SYMBOL sound/isa/opti9xx/snd-miro 0xc415ea48 snd_aci_cmd +EXPORT_SYMBOL sound/isa/opti9xx/snd-miro 0xf39b91c6 snd_aci_get_aci +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x04135ab3 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x4ae3e615 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x6194220c snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x75bda864 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7ba66f87 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8b4fafc2 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9255871f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x968c5611 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe4bf3965 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf6fda668 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-csp 0x2f07cec3 snd_sb_csp_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x4a22ac4b snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x7064f421 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xb97cf924 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x8fb1a339 snd_sb8dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xa74ee236 snd_sb8dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xac61d46e snd_sb8dsp_midi_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xefc850a4 snd_sb8dsp_midi +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x008f761e snd_emu8000_init_fm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x037a767d snd_emu8000_dma_chan +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x3ceda9a7 snd_emu8000_poke_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x506bc68e snd_emu8000_peek +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x57906e16 snd_emu8000_load_reverb_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x5ec18e27 snd_emu8000_update_reverb_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x6e3c34fe snd_emu8000_update_equalizer +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x7390244e snd_emu8000_peek_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xd55a3ae2 snd_emu8000_load_chorus_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xe10bca22 snd_emu8000_poke +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xf2bb6919 snd_emu8000_update_chorus_mode +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x0cf629ee snd_wss_create +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1ab37de8 snd_wss_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1bed885f snd_wss_put_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1bf93dda snd_wss_overrange +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x2039a7a5 snd_wss_chip_id +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x343a9902 snd_wss_info_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x40c2df04 snd_wss_put_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x4e8f0fd0 snd_wss_pcm +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x59ba0b05 snd_wss_get_pcm_ops +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x7b202637 snd_wss_interrupt +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x8725925c snd_wss_mixer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x92f267d7 snd_wss_get_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xae67d874 snd_cs4236_ext_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc2611cdf snd_wss_mce_up +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc5c3dfbd snd_wss_info_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc9dd308c snd_wss_get_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd8222db7 snd_wss_mce_down +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd82e081f snd_cs4236_ext_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdbcbe93e snd_wss_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdd7a4e93 snd_wss_timer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1a8c0a07 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1ce77dfe snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x40e8a8e8 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x43ad5dec snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4f5213a5 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x508f72c4 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x57dd5783 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5c26abad snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8a15181f snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9a7d9aff snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9ccd7b7f snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb7b12417 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbff55270 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc76ffa2a snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc9f56ef8 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xde3756a3 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfb010b64 snd_ac97_write +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x29f200be hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x167b4e2f snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1ebb7442 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x48af00b6 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5f3fb63b snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x65910361 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x68e93310 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9f7fc200 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbf7d51f6 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xeae27cf4 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x3b309a1e snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x149cc566 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3912c0c2 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7ba40a97 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x011834bc oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x04ce8972 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x194d77f9 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x398bb45b oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x41a5e52a oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4ed1af60 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x50d944ec oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5a376244 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x70b973b8 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x82ab719f oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8341a9c0 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8c6a134b oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8d1b2fda oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x95a1778e oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9e28757f oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa846c99b oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa946ad7e oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc7912890 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd331eb4b oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xed9e4679 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf35cedda oxygen_write32 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0c8bb41a snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3d10462a snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x812c1427 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xd257d2d2 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe95802f9 snd_trident_stop_voice +EXPORT_SYMBOL sound/soundcore 0x2d539dc8 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x97d2d2f4 sound_class +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xaa45c1d4 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xb8927127 register_sound_special +EXPORT_SYMBOL sound/soundcore 0xc3607f08 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe7c396f2 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x01bbb554 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 0x76ce88b1 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x78f50ab1 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa37f77d5 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xae399792 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xbc3851c8 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x050e4fb7 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x613a9c3b snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x905caebd snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb8f3865c snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb9286061 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb997f2d5 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbd6b7a6c snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xcb83c0db 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 0xc6164b5c snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x029cbb1f dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x35c95b1b dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x835f7f0c 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 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 0x0030324a tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x00546f37 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x007b10f2 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x007e839b vfs_readv +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00ad2c86 netif_napi_add +EXPORT_SYMBOL vmlinux 0x00dc354e blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x00e7a375 seq_open_private +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00ef64b3 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x0105ed66 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01187491 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x0129d6fe __netif_schedule +EXPORT_SYMBOL vmlinux 0x01450a91 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x015eb55a netif_receive_skb +EXPORT_SYMBOL vmlinux 0x0170762e posix_test_lock +EXPORT_SYMBOL vmlinux 0x017d41c5 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x01819ad0 blk_init_queue +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01cf4c06 kern_path_create +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01d4d6fd blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x01fb3e5b input_register_device +EXPORT_SYMBOL vmlinux 0x020d704a vfs_writev +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x021f4f22 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x0220154f __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0288144b pci_set_master +EXPORT_SYMBOL vmlinux 0x028ad281 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x028ba9de swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x029b7366 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02dd7ea0 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x03013061 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x030c7eb6 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x03227c1c thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x032ebdc8 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033f1c26 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x03632a47 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03686d6b spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x038f0483 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x0396140e do_sync_read +EXPORT_SYMBOL vmlinux 0x03b580eb wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x03b7aaef account_page_redirty +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c4d611 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x03e947c9 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x03f18293 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x03f7db68 have_submounts +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x041a03ab __bio_clone +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04351d11 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044ef7bf serio_interrupt +EXPORT_SYMBOL vmlinux 0x04583939 sock_create_kern +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x046cd6e6 mnt_pin +EXPORT_SYMBOL vmlinux 0x0479022b fb_set_var +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04c43efc sock_rfree +EXPORT_SYMBOL vmlinux 0x04c7e272 bio_copy_user +EXPORT_SYMBOL vmlinux 0x04caf969 bio_endio +EXPORT_SYMBOL vmlinux 0x04d334d3 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x0559656d dquot_acquire +EXPORT_SYMBOL vmlinux 0x055a8ec1 kobject_init +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x056fe098 nf_register_hook +EXPORT_SYMBOL vmlinux 0x057cdc38 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05ac997d tty_kref_put +EXPORT_SYMBOL vmlinux 0x05bab8fa sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x05f8e5dd agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x06147677 dm_register_target +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06193d43 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x063aa162 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x06483828 neigh_create +EXPORT_SYMBOL vmlinux 0x066f2163 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x0676a103 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c3b69 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06bdd71a free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x06d2f086 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x06e6db51 neigh_update +EXPORT_SYMBOL vmlinux 0x06f4bf00 seq_escape +EXPORT_SYMBOL vmlinux 0x06f6ebf3 d_make_root +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0724a56b ilookup +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x07608604 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x076bedab elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x076ebea8 pv_lock_ops +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a30020 sk_dst_check +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b7122b page_address +EXPORT_SYMBOL vmlinux 0x07c2d41f input_grab_device +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d50a24 csum_partial +EXPORT_SYMBOL vmlinux 0x07d8a337 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07e7f7ee inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x07ec1789 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x07f56d0a nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x082509b7 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x082732cc scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082d8e50 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x083ca06e xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x083ef73b get_disk +EXPORT_SYMBOL vmlinux 0x08716c67 locks_init_lock +EXPORT_SYMBOL vmlinux 0x08842da4 generic_writepages +EXPORT_SYMBOL vmlinux 0x0889b932 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x088cbd47 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x0897287b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x08a14ec0 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x08bf826c _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x08e7874e vlan_vid_del +EXPORT_SYMBOL vmlinux 0x08ee4460 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x08ef5e9e bh_submit_read +EXPORT_SYMBOL vmlinux 0x08fdf77d journal_get_write_access +EXPORT_SYMBOL vmlinux 0x09396f8b twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x09552a83 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x09581e0b bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x096b6dff pnp_find_dev +EXPORT_SYMBOL vmlinux 0x097a2066 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0992780d efi_enabled +EXPORT_SYMBOL vmlinux 0x099c1a52 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x09a764ba bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x09aa3434 spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0x09ac6dc2 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x09bac111 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x09c55118 misc_deregister +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09c973bd pci_bus_type +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d7f9d8 put_disk +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ffc150 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x0a0538f2 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a3f0e3e clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x0a3fb323 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x0a455d11 __bforget +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a9908d9 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x0aad2af5 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0aeef7b8 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x0af20646 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1d63e0 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x0b1f7a86 devm_ioremap +EXPORT_SYMBOL vmlinux 0x0b29f734 request_firmware +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b505280 bio_split +EXPORT_SYMBOL vmlinux 0x0b7118a0 inet_frag_find +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b90dc7e tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x0b9a25f8 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x0bb1428d __dquot_free_space +EXPORT_SYMBOL vmlinux 0x0bbd6874 journal_set_features +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0c29cc19 tty_port_put +EXPORT_SYMBOL vmlinux 0x0c2e683b scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x0c2fe5aa xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x0c4b7e86 dquot_get_dqinfo +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 0x0c91ab74 free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x0c961389 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x0ca45b46 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb37595 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x0ce6c852 ip6_xmit +EXPORT_SYMBOL vmlinux 0x0cfeb1ce tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x0d10332d pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x0d27abdf wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x0d3a3ff3 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d44c227 inode_change_ok +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d6d4ad1 security_path_unlink +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dcbb22a pcim_iomap +EXPORT_SYMBOL vmlinux 0x0de7abc5 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x0de9c0f4 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e76b0e4 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x0e7878cc dev_deactivate +EXPORT_SYMBOL vmlinux 0x0ebd00cb ll_rw_block +EXPORT_SYMBOL vmlinux 0x0ec68dc0 phy_device_register +EXPORT_SYMBOL vmlinux 0x0ee4e7e7 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x0ef2fdc3 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x0efc413e account_page_writeback +EXPORT_SYMBOL vmlinux 0x0f46557c iterate_mounts +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f64bb90 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x0f6e10e9 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x0f8f3108 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x0f9959c3 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x0fa0dbe6 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x0fa3ae16 do_SAK +EXPORT_SYMBOL vmlinux 0x0fa45656 netif_rx +EXPORT_SYMBOL vmlinux 0x0fa6e36d neigh_lookup +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fc4d88f pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fd27bf3 elevator_exit +EXPORT_SYMBOL vmlinux 0x0fefb347 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x1003b8c7 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x102c56de irq_regs +EXPORT_SYMBOL vmlinux 0x10324b93 unlock_buffer +EXPORT_SYMBOL vmlinux 0x105964fa tcp_poll +EXPORT_SYMBOL vmlinux 0x1099ba56 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x109ee5e2 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x10ab7e68 down_killable +EXPORT_SYMBOL vmlinux 0x10accdfc pci_scan_slot +EXPORT_SYMBOL vmlinux 0x10af48a9 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x10c1fbea blk_start_queue +EXPORT_SYMBOL vmlinux 0x10d021ea blk_free_tags +EXPORT_SYMBOL vmlinux 0x10eba099 dev_printk +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11045b5d scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x110691e9 new_inode +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11145b15 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x113d5a96 eth_header_parse +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11749291 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x1175db4a xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x11774e85 vfs_rename +EXPORT_SYMBOL vmlinux 0x1189dd36 sock_i_uid +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1198dc00 journal_init_inode +EXPORT_SYMBOL vmlinux 0x11a40f50 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x11bbe5a2 dcb_setapp +EXPORT_SYMBOL vmlinux 0x11c8ed42 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x11cb7e76 mmc_card_awake +EXPORT_SYMBOL vmlinux 0x11d90043 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x11dd01ad intel_scu_ipc_command +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11ecd777 fasync_helper +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x121c2944 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x1240a58e inet_del_protocol +EXPORT_SYMBOL vmlinux 0x126ddb5c pci_find_capability +EXPORT_SYMBOL vmlinux 0x12728b64 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x127baf9d pci_restore_state +EXPORT_SYMBOL vmlinux 0x128a5cf9 complete_all +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12ab345e intel_gtt_insert_sg_entries_hsw +EXPORT_SYMBOL vmlinux 0x12bc47c8 cad_pid +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12ee8bc2 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1359ad87 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x137a6f3e i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x13b65a01 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x13b69ae0 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x13bb55cd skb_find_text +EXPORT_SYMBOL vmlinux 0x13c677de journal_create +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x140231a5 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x1414ceb7 mdiobus_register +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x1449e0a0 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x14668aa8 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x1471220a dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x14a4b9d2 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x14a6043d dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x14acfe25 processors +EXPORT_SYMBOL vmlinux 0x14b1caae fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x14ca4db8 __ht_create_irq +EXPORT_SYMBOL vmlinux 0x14e2ca76 pci_iomap +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14eb8c1f twl6040_power +EXPORT_SYMBOL vmlinux 0x150389d6 acpi_processor_power_init_bm_check +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 0x157e359c mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x15978267 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x15b44254 netdev_features_change +EXPORT_SYMBOL vmlinux 0x15b5b58e km_state_notify +EXPORT_SYMBOL vmlinux 0x15cc073c tty_port_close_end +EXPORT_SYMBOL vmlinux 0x15e40757 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x15ef64b7 get_super +EXPORT_SYMBOL vmlinux 0x160abbe3 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1637f3a3 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x163af339 i2c_release_client +EXPORT_SYMBOL vmlinux 0x163c0c21 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x16660e21 kill_anon_super +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x167ffd34 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x168f1082 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x16a426d0 inode_permission +EXPORT_SYMBOL vmlinux 0x16b793bd vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16db0f0a ppp_dev_name +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x1710cf4e pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x1712a0e1 __nla_reserve +EXPORT_SYMBOL vmlinux 0x171f8138 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x1729550f sock_wmalloc +EXPORT_SYMBOL vmlinux 0x17661c5d inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x1768fe92 save_mount_options +EXPORT_SYMBOL vmlinux 0x1786f0f9 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0x1790d76b _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x179ca187 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x17b5e202 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x17cfcb92 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x17de9589 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x18366921 vfs_readdir +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1848f128 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184dd76b page_symlink +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x186acd5d xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18cb3527 genphy_suspend +EXPORT_SYMBOL vmlinux 0x18cf62d3 follow_down_one +EXPORT_SYMBOL vmlinux 0x18d8dc0d rtnl_create_link +EXPORT_SYMBOL vmlinux 0x18d96501 atomic64_dec_if_positive_cx8 +EXPORT_SYMBOL vmlinux 0x18da4109 block_truncate_page +EXPORT_SYMBOL vmlinux 0x18eb9908 framebuffer_release +EXPORT_SYMBOL vmlinux 0x18fee9b9 unregister_key_type +EXPORT_SYMBOL vmlinux 0x19190fff setattr_copy +EXPORT_SYMBOL vmlinux 0x1919226d unbind_con_driver +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x19912407 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a5852e bio_clone +EXPORT_SYMBOL vmlinux 0x19a9e62b complete +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19ca57a6 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x19cb57e8 sock_wfree +EXPORT_SYMBOL vmlinux 0x19dff2cd neigh_compat_output +EXPORT_SYMBOL vmlinux 0x1a146233 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x1a23252a netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x1a24cae4 napi_complete +EXPORT_SYMBOL vmlinux 0x1a4090f5 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a54e263 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x1a62228a padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a760a2e scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x1a7d8a31 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x1a801bc5 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x1a960022 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0x1a97df8c dev_warn +EXPORT_SYMBOL vmlinux 0x1a9d76ad pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x1ac6b878 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ae14ef5 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x1afcbb94 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b1ffa94 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x1b27e7fc input_inject_event +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b639e4f mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x1b6fd6b9 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x1b76f291 vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b8cce54 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x1b98e71c dev_get_stats +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bb69b76 pipe_unlock +EXPORT_SYMBOL vmlinux 0x1bc8585b idr_remove_all +EXPORT_SYMBOL vmlinux 0x1bdbb1e0 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x1be4eb75 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x1be6da2b fb_pan_display +EXPORT_SYMBOL vmlinux 0x1be70896 skb_make_writable +EXPORT_SYMBOL vmlinux 0x1c0e7de4 dma_ops +EXPORT_SYMBOL vmlinux 0x1c0f0717 vfs_unlink +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c9b3f15 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x1c9ff42e padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x1ca1e6ee d_obtain_alias +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ceed168 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x1cf930b7 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x1d024cef devm_iounmap +EXPORT_SYMBOL vmlinux 0x1d21d158 gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0x1d5720b0 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x1d7259b8 dev_emerg +EXPORT_SYMBOL vmlinux 0x1d77c979 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1d78db66 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x1d7c2bb6 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x1d7fe376 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dc3b298 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x1dd4bdc8 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e2ffcf9 free_netdev +EXPORT_SYMBOL vmlinux 0x1e4b8826 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x1e597e13 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x1e665d87 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e79eef1 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x1e90d0ce nla_append +EXPORT_SYMBOL vmlinux 0x1e9ab15e agp_bridge +EXPORT_SYMBOL vmlinux 0x1e9e9f25 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea461b5 ipv4_specific +EXPORT_SYMBOL vmlinux 0x1eaa6d92 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x1eb2d8c4 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x1eb57f62 scsi_free_command +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ec913bd netdev_crit +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f0fb040 kmap_high +EXPORT_SYMBOL vmlinux 0x1f2555e5 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x1f695671 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x1f75295c nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x1f757504 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x1f7e6d67 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f9e16d3 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x1fb8a460 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fcf3b66 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe0d189 thaw_bdev +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff6417b mmc_can_erase +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x201372e3 ps2_command +EXPORT_SYMBOL vmlinux 0x201400e8 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x2050c2f4 key_type_keyring +EXPORT_SYMBOL vmlinux 0x205c3dee generic_block_bmap +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a24283 vfs_statfs +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c404e9 netdev_set_master +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20c6192f intel_scu_ipc_ioread32 +EXPORT_SYMBOL vmlinux 0x210b4ca8 path_get +EXPORT_SYMBOL vmlinux 0x211309c1 consume_skb +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x214ceb3e dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x2199337a down_timeout +EXPORT_SYMBOL vmlinux 0x219fad14 input_event +EXPORT_SYMBOL vmlinux 0x21bc0e8f bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x21d2bc60 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x21d39f54 register_cdrom +EXPORT_SYMBOL vmlinux 0x21deca44 inet_release +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e2985b pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x21ee539d kernel_getpeername +EXPORT_SYMBOL vmlinux 0x21f9038a x86_hyper_ms_hyperv +EXPORT_SYMBOL vmlinux 0x21fb443e _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x221b8fac get_phy_device +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22459658 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2265b5b5 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x226f92ab locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2285f1d4 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x228a7d74 register_netdevice +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22df21ec dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x231f39b0 single_open +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x237135e5 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x237ef779 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x238b906e dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b015bb dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244d3605 sock_no_poll +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24696ffa scsi_device_resume +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2483467a dquot_enable +EXPORT_SYMBOL vmlinux 0x2486f2d4 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x2487b4ec dquot_operations +EXPORT_SYMBOL vmlinux 0x24a5b2d9 block_write_begin +EXPORT_SYMBOL vmlinux 0x24a84cf1 proc_symlink +EXPORT_SYMBOL vmlinux 0x24d26e81 pci_select_bars +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 0x2521ebb7 inode_init_always +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253baa35 init_net +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25522667 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x25569f00 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x25715b50 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25bcbb6b key_payload_reserve +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25d4e39b simple_transaction_get +EXPORT_SYMBOL vmlinux 0x25d915e5 inet_getname +EXPORT_SYMBOL vmlinux 0x25e17a03 drop_nlink +EXPORT_SYMBOL vmlinux 0x260ee15a add_disk +EXPORT_SYMBOL vmlinux 0x2635a38b tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x264591f7 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x2647a236 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x264d3c3d idr_get_next +EXPORT_SYMBOL vmlinux 0x2651fe9a jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x2669ef81 nobh_write_end +EXPORT_SYMBOL vmlinux 0x267ebc77 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268cc6a2 sys_close +EXPORT_SYMBOL vmlinux 0x2694511f inode_only_permission +EXPORT_SYMBOL vmlinux 0x26b08922 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x26b86c0e jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26bd3c05 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26e79bd0 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x26ef5736 unlock_rename +EXPORT_SYMBOL vmlinux 0x27127633 inet_shutdown +EXPORT_SYMBOL vmlinux 0x27152b66 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x2737cf03 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x2748ef8e sock_create_lite +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x276369ad udp_proc_register +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27893d40 noop_llseek +EXPORT_SYMBOL vmlinux 0x27933d50 padata_do_serial +EXPORT_SYMBOL vmlinux 0x27ae7d0c ec_transaction +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27d45aa1 pci_disable_device +EXPORT_SYMBOL vmlinux 0x27db385f pci_enable_device +EXPORT_SYMBOL vmlinux 0x27ef51a0 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x27f57b67 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x27fcefe8 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x280175d6 dcb_getapp +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28481e17 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x285814b5 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28af24bc skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x28b715a6 isapnp_cfg_end +EXPORT_SYMBOL vmlinux 0x28c3ffbf pci_fixup_device +EXPORT_SYMBOL vmlinux 0x28e372d7 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x290eb655 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x29193f00 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x292bb584 dev_uc_init +EXPORT_SYMBOL vmlinux 0x2951a9bf __frontswap_load +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295db419 x86_hyper +EXPORT_SYMBOL vmlinux 0x2960e474 input_free_device +EXPORT_SYMBOL vmlinux 0x29986ad9 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x29e9023a writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a0f772c ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x2a136cd2 inet_listen +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a347f81 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a4d7ce7 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x2a5def2f intel_scu_ipc_iowrite32 +EXPORT_SYMBOL vmlinux 0x2a6718e5 arp_invalidate +EXPORT_SYMBOL vmlinux 0x2a678d0c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x2a6f0d73 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x2a8a5fad dm_io +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ac3e017 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x2af8215a scsi_dma_map +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b179c55 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x2b26e4b3 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x2b27af24 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x2b2c8684 locks_delete_block +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b658527 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x2b689814 seq_path +EXPORT_SYMBOL vmlinux 0x2b711b03 __alloc_skb +EXPORT_SYMBOL vmlinux 0x2b842a74 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x2b87809e ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x2b8c7c5a udp_sendmsg +EXPORT_SYMBOL vmlinux 0x2b9d3e41 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba079b6 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bc95bd4 memset +EXPORT_SYMBOL vmlinux 0x2bd25177 vfs_fsync +EXPORT_SYMBOL vmlinux 0x2bf8d577 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x2bfa7ac1 sk_stream_error +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c054728 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x2c101a83 pci_get_class +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c1447bc pipe_to_file +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c266e9c ppp_unit_number +EXPORT_SYMBOL vmlinux 0x2c5c677d dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x2c640d00 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x2c6cf672 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x2c92f67e netdev_warn +EXPORT_SYMBOL vmlinux 0x2ce2fb86 build_skb +EXPORT_SYMBOL vmlinux 0x2cfb3300 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d270391 pci_disable_ido +EXPORT_SYMBOL vmlinux 0x2d37342e cpu_online_mask +EXPORT_SYMBOL vmlinux 0x2d44615f bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x2d53fd10 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x2d7e052c __napi_complete +EXPORT_SYMBOL vmlinux 0x2d8807d6 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dbc76d1 bdev_read_only +EXPORT_SYMBOL vmlinux 0x2dc7e067 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd646af cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x2de8af44 scsi_reset_provider +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 0x2dfb3a52 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x2e107564 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x2e18cc4b call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x2e20cf63 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x2e27bb65 genl_register_ops +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e3219a5 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x2e3c1902 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x2e58712a generic_readlink +EXPORT_SYMBOL vmlinux 0x2e60bace memcpy +EXPORT_SYMBOL vmlinux 0x2e7b450f sock_no_accept +EXPORT_SYMBOL vmlinux 0x2e935c03 blk_delay_queue +EXPORT_SYMBOL vmlinux 0x2ea7d424 gen_pool_free +EXPORT_SYMBOL vmlinux 0x2ec2e6a4 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ee27b6b d_drop +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 0x2f16fadf xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f3a3239 simple_setattr +EXPORT_SYMBOL vmlinux 0x2f494a13 simple_lookup +EXPORT_SYMBOL vmlinux 0x2f61b583 dqput +EXPORT_SYMBOL vmlinux 0x2f6e66c8 security_inode_permission +EXPORT_SYMBOL vmlinux 0x2f730732 generic_read_dir +EXPORT_SYMBOL vmlinux 0x2f983180 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x2fa88e38 skb_dequeue +EXPORT_SYMBOL vmlinux 0x2fb2c27c __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fbe222b init_buffer +EXPORT_SYMBOL vmlinux 0x2fe2aa39 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x2fe9eb07 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x302b865b x86_hyper_vmware +EXPORT_SYMBOL vmlinux 0x3048b657 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x3057a930 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x306d29ca simple_empty +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x3083ff04 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x308b46e7 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30c22209 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ef4656 inet_addr_type +EXPORT_SYMBOL vmlinux 0x30f670ce d_rehash +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x31082cb2 register_framebuffer +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31294066 d_move +EXPORT_SYMBOL vmlinux 0x3132753e buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x313302e1 pci_save_state +EXPORT_SYMBOL vmlinux 0x3134a249 seq_release +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x315545a6 block_read_full_page +EXPORT_SYMBOL vmlinux 0x31624e01 sk_alloc +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31a435f7 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x31b6cdea __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x31bcf4be user_revoke +EXPORT_SYMBOL vmlinux 0x31c87136 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x31de90a2 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x31e0d0f0 misc_register +EXPORT_SYMBOL vmlinux 0x31e5eb9a tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x31f0e082 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x3202807a skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x3212057a __scsi_add_device +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x329d5618 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x32a76fe0 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x32cea339 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x32e3fc43 module_refcount +EXPORT_SYMBOL vmlinux 0x32ed77ed tcp_make_synack +EXPORT_SYMBOL vmlinux 0x32eeaded _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x33079611 eth_header +EXPORT_SYMBOL vmlinux 0x331f4222 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x33b0a2b9 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x33bd7c25 km_policy_notify +EXPORT_SYMBOL vmlinux 0x33c8475b journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x33d2d189 truncate_setsize +EXPORT_SYMBOL vmlinux 0x33d8c938 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33ebc3c8 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +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 0x3437fbe9 pci_disable_obff +EXPORT_SYMBOL vmlinux 0x34532c18 freeze_bdev +EXPORT_SYMBOL vmlinux 0x346218e4 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x346d7320 set_security_override +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x3470b0c5 update_time +EXPORT_SYMBOL vmlinux 0x3473a6b0 set_pages_x +EXPORT_SYMBOL vmlinux 0x347abad4 intel_gtt_map_memory +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349f5973 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x34a34e4d nf_ct_attach +EXPORT_SYMBOL vmlinux 0x34b37549 dev_addr_del +EXPORT_SYMBOL vmlinux 0x34b72a34 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x34c6fc00 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x34f00314 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x3501ad0b dev_addr_flush +EXPORT_SYMBOL vmlinux 0x3525a3ed security_path_rmdir +EXPORT_SYMBOL vmlinux 0x3535e26a __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x353db5a8 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x35445d53 kset_register +EXPORT_SYMBOL vmlinux 0x356be81e copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x3596e41a pci_pme_capable +EXPORT_SYMBOL vmlinux 0x35978610 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x35a980a1 dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x35ae3084 is_container_init +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x36439aec bio_integrity_free +EXPORT_SYMBOL vmlinux 0x364b4b37 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x3656d3c4 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x36587a29 generic_show_options +EXPORT_SYMBOL vmlinux 0x3673413f genl_notify +EXPORT_SYMBOL vmlinux 0x3674e07b pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x3692238a mmc_can_discard +EXPORT_SYMBOL vmlinux 0x36aad357 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x36bdcfe6 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x36c6af51 intel_scu_ipc_iowrite8 +EXPORT_SYMBOL vmlinux 0x36cd2eca dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3711c8cb proto_unregister +EXPORT_SYMBOL vmlinux 0x3712f0ec eth_mac_addr +EXPORT_SYMBOL vmlinux 0x373cf65f console_start +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374fe40c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x3751988f cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x3754f46d acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x375a191b tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x37647d77 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x376cb128 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f1a95c poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37fa34b2 abx500_get_register_page_interruptible +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 0x3821daea i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x384c3d76 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x3851105a neigh_connected_output +EXPORT_SYMBOL vmlinux 0x38640ee3 put_io_context +EXPORT_SYMBOL vmlinux 0x3868a4ed tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388799f6 unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x3889adee journal_load +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38ab2cb7 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x38cd494b vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x38e0327f nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x38e039b7 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x38e417bc dst_alloc +EXPORT_SYMBOL vmlinux 0x38ec37f8 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x38f9d69d wireless_send_event +EXPORT_SYMBOL vmlinux 0x39166847 ilookup5 +EXPORT_SYMBOL vmlinux 0x391c003f tcp_seq_open +EXPORT_SYMBOL vmlinux 0x392d77d7 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x3930c24e unregister_cdrom +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x395215de alloc_fddidev +EXPORT_SYMBOL vmlinux 0x396f1d60 mii_check_media +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x399eb65c sock_sendmsg +EXPORT_SYMBOL vmlinux 0x399f43bc netdev_state_change +EXPORT_SYMBOL vmlinux 0x39a055f3 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x39b2f616 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x39bac7c4 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x39cea155 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x39e5389c nlmsg_notify +EXPORT_SYMBOL vmlinux 0x39f2f6df led_blink_set +EXPORT_SYMBOL vmlinux 0x3a013b7d remove_wait_queue +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a176e6a sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x3a1b6b56 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x3a1bc5af kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a34b765 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x3a4ff8ff dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x3a680f90 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa0a50b pci_find_bus +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3ac67832 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x3acadf70 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x3ae1950b free_buffer_head +EXPORT_SYMBOL vmlinux 0x3af9f246 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3b2bdd filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x3b72fc98 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x3b75e173 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x3b763c23 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x3b8bd825 __invalidate_device +EXPORT_SYMBOL vmlinux 0x3b91462a dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0x3ba26ba0 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x3bb1d14a phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x3bb9e651 thaw_super +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd73f20 read_dev_sector +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c0dfa9b skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x3c12afb8 iget5_locked +EXPORT_SYMBOL vmlinux 0x3c2caead seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x3c506a99 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x3c6d68c6 security_file_permission +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c91f401 bdget +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb3931b sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x3cc2254f __register_chrdev +EXPORT_SYMBOL vmlinux 0x3cde2965 tcf_register_action +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfb1fb3 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x3d0f6d5b netlink_ack +EXPORT_SYMBOL vmlinux 0x3d177a4b netif_device_detach +EXPORT_SYMBOL vmlinux 0x3d2fd7b7 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x3d3b2900 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x3d3c5ee4 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x3d463635 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x3d574fc5 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da7b029 netdev_notice +EXPORT_SYMBOL vmlinux 0x3dab9815 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x3db2e9b7 unlock_page +EXPORT_SYMBOL vmlinux 0x3dc08dbf vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x3dc9db6a elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3de017fe spi_dv_device +EXPORT_SYMBOL vmlinux 0x3def44c5 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0ddfa5 first_ec +EXPORT_SYMBOL vmlinux 0x3e193159 aio_complete +EXPORT_SYMBOL vmlinux 0x3e199f32 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x3e261193 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e2ba9e4 d_delete +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e7441a7 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x3e7e0f98 sock_no_bind +EXPORT_SYMBOL vmlinux 0x3e853d40 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x3e880bf8 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +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 0x3ef212c4 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x3ef78d80 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3eff5ac2 intel_scu_ipc_writev +EXPORT_SYMBOL vmlinux 0x3efff469 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f214b1d pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x3f3214ca input_allocate_device +EXPORT_SYMBOL vmlinux 0x3f33f88d find_inode_number +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f48fd51 mpage_writepages +EXPORT_SYMBOL vmlinux 0x3f62e61d d_genocide +EXPORT_SYMBOL vmlinux 0x3f81ddad seq_read +EXPORT_SYMBOL vmlinux 0x3f9f868f __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x3fa58ef8 wait_for_completion +EXPORT_SYMBOL vmlinux 0x3fccb474 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3fec939c path_is_under +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x4067708d __pci_register_driver +EXPORT_SYMBOL vmlinux 0x4079fd4a scsi_register_interface +EXPORT_SYMBOL vmlinux 0x4081de92 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x40866083 journal_dirty_metadata +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 0x409cc0fc tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a2d1dd dm_table_get_size +EXPORT_SYMBOL vmlinux 0x40a60998 dev_mc_init +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40aca0cd pcim_enable_device +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d071e7 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x40d6bd13 unregister_nls +EXPORT_SYMBOL vmlinux 0x40e9af14 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x40eca00c pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x41034f37 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x411fbb8e skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x413f6063 commit_creds +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41549857 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x4166b739 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x41831f3b iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x419ee6e8 idr_pre_get +EXPORT_SYMBOL vmlinux 0x41bf707f phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x41bfe0aa check_disk_size_change +EXPORT_SYMBOL vmlinux 0x41e7a3db blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x41ee8504 generic_write_checks +EXPORT_SYMBOL vmlinux 0x41fbb49f blk_run_queue +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x422bc3c6 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x422dd3a3 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x4239de63 ida_init +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42640181 tty_port_init +EXPORT_SYMBOL vmlinux 0x427a093d tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x4292364c schedule +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x429c8a0c block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x42a7b3c6 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x42be1b11 is_bad_inode +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42e786f5 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x42fe26c1 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4308cea0 intel_gtt_get +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x4350b74e scsi_finish_command +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435c0750 log_wait_commit +EXPORT_SYMBOL vmlinux 0x43636194 security_path_symlink +EXPORT_SYMBOL vmlinux 0x436b020b do_splice_from +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x439449c5 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43a52ac3 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x43e9b761 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x43f60a84 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x441751a1 get_gendisk +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x4460aa4f __blk_run_queue +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x4470db1b kill_litter_super +EXPORT_SYMBOL vmlinux 0x447e57a9 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x44838d21 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x4497a0a4 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x44a8c4eb kill_pid +EXPORT_SYMBOL vmlinux 0x44aa3f41 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44ad34e7 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x44b7dcee __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c6dc66 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x44cfd0f4 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f1606d down_trylock +EXPORT_SYMBOL vmlinux 0x450755e2 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450be17a set_groups +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4540ebe2 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x4578661a _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457ce5ed netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x457e3793 replace_mount_options +EXPORT_SYMBOL vmlinux 0x45a4059c dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45bafbad i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45ea383a arp_find +EXPORT_SYMBOL vmlinux 0x45f60db5 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x46046626 drop_super +EXPORT_SYMBOL vmlinux 0x46068868 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x460b693f gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x462dff6a generic_removexattr +EXPORT_SYMBOL vmlinux 0x463a7f8d udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x4648587f blk_init_tags +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x46626a26 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46798b95 input_close_device +EXPORT_SYMBOL vmlinux 0x468a226e generic_file_fsync +EXPORT_SYMBOL vmlinux 0x4695e407 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x4699c1a3 bd_set_size +EXPORT_SYMBOL vmlinux 0x46c6cb85 bio_alloc +EXPORT_SYMBOL vmlinux 0x46dfdff6 datagram_poll +EXPORT_SYMBOL vmlinux 0x46ef36e7 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x46fa46d3 phy_print_status +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4720746f dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x4774774a pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x4781ea93 igrab +EXPORT_SYMBOL vmlinux 0x478391b8 udp_disconnect +EXPORT_SYMBOL vmlinux 0x4785861d devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x4792c572 down_interruptible +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479588bf netif_skb_features +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 0x47c7b0d2 cpu_number +EXPORT_SYMBOL vmlinux 0x47c975c7 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x47c9eb4f ip_defrag +EXPORT_SYMBOL vmlinux 0x48059794 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481963d5 fget +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 0x484cb1ed tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4852c43d input_unregister_handler +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486d2f29 dqstats +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48805092 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x48a771c5 cpu_core_map +EXPORT_SYMBOL vmlinux 0x48aa7a7e write_one_page +EXPORT_SYMBOL vmlinux 0x48b4be3e km_policy_expired +EXPORT_SYMBOL vmlinux 0x48d3a7ab dev_err +EXPORT_SYMBOL vmlinux 0x48df461a skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x48f9ad6b input_register_handle +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4920520f registered_fb +EXPORT_SYMBOL vmlinux 0x49319cc6 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x495a4fd6 neigh_for_each +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x497b15a6 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49b12684 journal_force_commit +EXPORT_SYMBOL vmlinux 0x49b96018 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x4a0d25a7 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x4a176a65 file_update_time +EXPORT_SYMBOL vmlinux 0x4a24de75 pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a3c099d writeback_in_progress +EXPORT_SYMBOL vmlinux 0x4a6e7696 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x4a6eb9fe directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x4aa1b5ba ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x4aa84c44 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x4aad52ee inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x4ab40e32 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4acc0dea lock_sock_nested +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4ad747fb key_validate +EXPORT_SYMBOL vmlinux 0x4ae47f40 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b091719 nf_afinfo +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b221356 __lock_buffer +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b37e191 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x4b5057b8 __serio_register_port +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b860b09 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x4b94236d clear_inode +EXPORT_SYMBOL vmlinux 0x4bc4d5a5 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4bca4219 __register_binfmt +EXPORT_SYMBOL vmlinux 0x4beed73e cdev_del +EXPORT_SYMBOL vmlinux 0x4bf39317 pci_request_regions +EXPORT_SYMBOL vmlinux 0x4bf56acb bdi_destroy +EXPORT_SYMBOL vmlinux 0x4bf7b27d inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1e6406 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c3ecd80 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x4c41257a dev_close +EXPORT_SYMBOL vmlinux 0x4c4702b6 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x4ca9b9da blk_get_request +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cf24ac3 sget +EXPORT_SYMBOL vmlinux 0x4d0d688f sock_release +EXPORT_SYMBOL vmlinux 0x4d1431a5 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x4d193a7b set_binfmt +EXPORT_SYMBOL vmlinux 0x4d1fa98a kern_path +EXPORT_SYMBOL vmlinux 0x4d330ae8 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x4d3726da __d_drop +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d5992f1 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x4d6416ed alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x4d787937 mount_pseudo +EXPORT_SYMBOL vmlinux 0x4d828052 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dcee9d3 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e106b1a acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x4e21999c acpi_get_child +EXPORT_SYMBOL vmlinux 0x4e29c7cb idr_for_each +EXPORT_SYMBOL vmlinux 0x4e317062 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e47fa42 blkdev_put +EXPORT_SYMBOL vmlinux 0x4e545177 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x4e5aa8c9 elv_register_queue +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e88a88e skb_split +EXPORT_SYMBOL vmlinux 0x4e92149d pci_get_slot +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eb11f1f seq_bitmap +EXPORT_SYMBOL vmlinux 0x4ec815c3 abort_creds +EXPORT_SYMBOL vmlinux 0x4ee2258a pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x4eec52d3 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x4eef19dc tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x4ef510c5 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x4efc7574 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x4f036a1b generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f31e693 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f490107 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x4f5661ce dst_discard +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f73291e dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f7c962e mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x4fb0da8d generic_file_llseek +EXPORT_SYMBOL vmlinux 0x4fb363f3 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x4fd89fc7 set_pages_wb +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x502ea1ad mapping_tagged +EXPORT_SYMBOL vmlinux 0x5039a98a ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x503f36cc neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x504a9be8 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x50529870 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x509acf8e try_to_release_page +EXPORT_SYMBOL vmlinux 0x50c2fd27 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x50e439eb register_md_personality +EXPORT_SYMBOL vmlinux 0x50eedeb8 printk +EXPORT_SYMBOL vmlinux 0x510c14e9 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x512eefd9 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x51443c65 mem_map +EXPORT_SYMBOL vmlinux 0x5152e605 memcmp +EXPORT_SYMBOL vmlinux 0x516fdd38 elevator_init +EXPORT_SYMBOL vmlinux 0x5186518f profile_pc +EXPORT_SYMBOL vmlinux 0x518d4f30 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x519e4767 __find_get_block +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51d188d3 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x51d816e4 seq_write +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x51f81fbb neigh_seq_next +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 0x52423a0c ida_pre_get +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x52492021 mb_cache_create +EXPORT_SYMBOL vmlinux 0x525e026f acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0x52728499 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x527f1a35 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528e6eee mpage_readpages +EXPORT_SYMBOL vmlinux 0x52a43a6d scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x52b7e34b scsi_add_device +EXPORT_SYMBOL vmlinux 0x52be2d90 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e686a8 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x52f8ea19 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x530b1e4c rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530d7c50 kernel_connect +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53200c58 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x5320741d bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x532e1ad9 do_splice_direct +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5344b77d sock_no_getname +EXPORT_SYMBOL vmlinux 0x5345450d notify_change +EXPORT_SYMBOL vmlinux 0x534568ea elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x5350fd97 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5383f34b _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53b5b61b netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x53bddd7a vfs_follow_link +EXPORT_SYMBOL vmlinux 0x53c7196f sock_no_mmap +EXPORT_SYMBOL vmlinux 0x53cc90d8 fd_install +EXPORT_SYMBOL vmlinux 0x53d6cc12 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x53e3edfc scsi_register +EXPORT_SYMBOL vmlinux 0x53f2ef10 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x54152e04 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x541e37a1 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x54282eac jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x543127b2 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5444bbc2 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x547c0d48 bio_add_page +EXPORT_SYMBOL vmlinux 0x548ccf17 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x54935666 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54b09587 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x54c8a6e0 dquot_transfer +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x550a0603 ps2_end_command +EXPORT_SYMBOL vmlinux 0x550f24a5 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x551a8642 do_sync_write +EXPORT_SYMBOL vmlinux 0x55222b65 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x553a71a9 send_sig_info +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x555de14e inet_recvmsg +EXPORT_SYMBOL vmlinux 0x55640cd3 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x557c4b48 nla_put +EXPORT_SYMBOL vmlinux 0x557d8e9a dev_get_by_name +EXPORT_SYMBOL vmlinux 0x5585601f i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x5590ed39 skb_put +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x559f64d8 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x55bcd4d6 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x55cb0dc8 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0x55e8c778 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x55f173cf vm_map_ram +EXPORT_SYMBOL vmlinux 0x55f8a0f4 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x55fb25a2 do_splice_to +EXPORT_SYMBOL vmlinux 0x5609de41 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x560c6a38 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x56129589 dma_pool_create +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5622bc0c scsi_ioctl +EXPORT_SYMBOL vmlinux 0x562d2910 dget_parent +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5676a3e5 intel_scu_ipc_ioread8 +EXPORT_SYMBOL vmlinux 0x567b7395 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x568d43b5 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x5694b600 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x56a2ac3e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x56bdb623 i2c_master_send +EXPORT_SYMBOL vmlinux 0x56c06c7e pci_dev_driver +EXPORT_SYMBOL vmlinux 0x56c86dc4 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56f6aaa5 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x5705088a __vmalloc +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57438fab alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575a2bfe mmc_detect_change +EXPORT_SYMBOL vmlinux 0x575af70c on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5781d754 tty_name +EXPORT_SYMBOL vmlinux 0x579fbcd2 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x57bf64d2 cdev_alloc +EXPORT_SYMBOL vmlinux 0x57f54173 fail_migrate_page +EXPORT_SYMBOL vmlinux 0x5836c9c2 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58458b56 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x585c2dec __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x586103be acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x5867eb5c start_tty +EXPORT_SYMBOL vmlinux 0x586b6072 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x5892d54c acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x589599c1 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x58a4c192 nonseekable_open +EXPORT_SYMBOL vmlinux 0x58aca68f tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x58d1fb81 softnet_data +EXPORT_SYMBOL vmlinux 0x58e8450f vfs_open +EXPORT_SYMBOL vmlinux 0x58eb4de8 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x58fef6f8 ist_info +EXPORT_SYMBOL vmlinux 0x590560cf dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x5917a496 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x5929af26 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x592b59af acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594484c3 __quota_error +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x5981a558 ata_port_printk +EXPORT_SYMBOL vmlinux 0x598d1eed f_setown +EXPORT_SYMBOL vmlinux 0x59a4ca10 nf_log_register +EXPORT_SYMBOL vmlinux 0x59b12ac6 kmap_atomic_to_page +EXPORT_SYMBOL vmlinux 0x59b427fa dev_load +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59e986cc netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x5a1126d1 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x5a2aa62e __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x5a341cf9 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4f20d7 tcf_em_register +EXPORT_SYMBOL vmlinux 0x5a6eb806 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a86f6a3 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x5a8ebce8 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x5aa2b873 block_write_end +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5aeae954 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x5aed6ee7 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x5b0e3218 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x5b1004d6 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b4b46ca __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5b67bd7b blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5ba9dab1 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x5bba1e9a mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x5bc76b82 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x5c121af1 scsi_device_get +EXPORT_SYMBOL vmlinux 0x5c3edd59 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x5c6bda2e bprm_change_interp +EXPORT_SYMBOL vmlinux 0x5c7e3f2e pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x5c8f8d88 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x5c969d8f alloc_disk +EXPORT_SYMBOL vmlinux 0x5ccfda6d sock_init_data +EXPORT_SYMBOL vmlinux 0x5cef4874 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d25f59d sock_no_listen +EXPORT_SYMBOL vmlinux 0x5d302a4a nf_setsockopt +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d7366ea fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d9d15aa pci_choose_state +EXPORT_SYMBOL vmlinux 0x5d9f83f4 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x5dce6b75 complete_and_exit +EXPORT_SYMBOL vmlinux 0x5dead1e5 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x5ded4fba pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x5e11300a generic_write_end +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e86127d mii_link_ok +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ebdc8fc dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5ec3b68e tty_register_driver +EXPORT_SYMBOL vmlinux 0x5ece5de2 elv_rb_del +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed446f9 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x5edb62ab padata_alloc +EXPORT_SYMBOL vmlinux 0x5edb76af input_register_handler +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee9e611 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x5ef8b646 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f1a4ccf intel_scu_ipc_update_register +EXPORT_SYMBOL vmlinux 0x5f1fb228 complete_request_key +EXPORT_SYMBOL vmlinux 0x5f27544a mempool_destroy +EXPORT_SYMBOL vmlinux 0x5f2ccaac dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f4e7f68 skb_checksum +EXPORT_SYMBOL vmlinux 0x5f568426 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f81cafc mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fd44d2d fput +EXPORT_SYMBOL vmlinux 0x5fd56d28 inet_twsk_deschedule +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 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6045528d amd_northbridges +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x60874d16 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b2e38a rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x60c572ec netdev_err +EXPORT_SYMBOL vmlinux 0x60c7a510 vm_insert_page +EXPORT_SYMBOL vmlinux 0x60eed68f tty_check_change +EXPORT_SYMBOL vmlinux 0x610027a2 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x611d0381 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x614419cb send_sig +EXPORT_SYMBOL vmlinux 0x614a07fa pnp_possible_config +EXPORT_SYMBOL vmlinux 0x614f0a7c textsearch_destroy +EXPORT_SYMBOL vmlinux 0x61528b43 kobject_get +EXPORT_SYMBOL vmlinux 0x61536865 idr_destroy +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x617738fc netlink_broadcast +EXPORT_SYMBOL vmlinux 0x6186a4bb blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x619441ea mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x619b187b add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x61b5ade0 down_write +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61dda269 md_write_end +EXPORT_SYMBOL vmlinux 0x61ecd152 dev_notice +EXPORT_SYMBOL vmlinux 0x61feb126 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620a8292 pneigh_enqueue +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 0x622fa02a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x623b6166 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x6241a2ab __copy_from_user_ll_nocache +EXPORT_SYMBOL vmlinux 0x624387ef napi_get_frags +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62bb5e39 register_key_type +EXPORT_SYMBOL vmlinux 0x62cb4cee interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x62edf527 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6304f708 inet_sendpage +EXPORT_SYMBOL vmlinux 0x630dd9df acpi_bus_start +EXPORT_SYMBOL vmlinux 0x6314bf0f bmap +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x63207d2a load_nls +EXPORT_SYMBOL vmlinux 0x632354d6 __lock_page +EXPORT_SYMBOL vmlinux 0x632c2853 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x632f6752 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x6383707b sk_reset_timer +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63972cb2 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x63a4041f __seq_open_private +EXPORT_SYMBOL vmlinux 0x63aa8a87 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x63b5a132 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x63ce3c1d remap_pfn_range +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f08634 eth_header_cache +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641d8457 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x643017a2 skb_insert +EXPORT_SYMBOL vmlinux 0x645916b7 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x645ac307 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x6467888e skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x646eb139 vfs_read +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64d49c2b filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64f4bfea genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x64fa2846 dev_get_flags +EXPORT_SYMBOL vmlinux 0x65072cda xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x65125138 acpi_check_address_range +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6519cc2f max8998_read_reg +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65220759 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x652e7bed pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6546756c udp_poll +EXPORT_SYMBOL vmlinux 0x655f1ab0 set_memory_array_wc +EXPORT_SYMBOL vmlinux 0x65655818 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x6565d33f scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x657879ce __init_rwsem +EXPORT_SYMBOL vmlinux 0x657ecc4c pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x6582e9dd padata_start +EXPORT_SYMBOL vmlinux 0x65839085 blk_end_request +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x65983783 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x65a295bb atomic64_xchg_cx8 +EXPORT_SYMBOL vmlinux 0x65a37537 seq_lseek +EXPORT_SYMBOL vmlinux 0x65b09a86 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0099b tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65f84a77 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x66355efc vprintk +EXPORT_SYMBOL vmlinux 0x664cb492 page_put_link +EXPORT_SYMBOL vmlinux 0x667e9817 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x667fadd3 log_start_commit +EXPORT_SYMBOL vmlinux 0x6689bfb1 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66b4ace7 alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x66e3f9e8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x66eb35d3 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x6718b515 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x671ab099 generic_setxattr +EXPORT_SYMBOL vmlinux 0x6722d74b skb_free_datagram +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673829fd cdev_init +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6756ca5b sg_miter_next +EXPORT_SYMBOL vmlinux 0x675b46ac agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x67666df3 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x676c21b6 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x67773290 skb_add_rx_frag +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 0x67dcd1ef pci_pme_active +EXPORT_SYMBOL vmlinux 0x67dcffb7 lg_lock_init +EXPORT_SYMBOL vmlinux 0x67f3515b scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x67f66fac nf_reinject +EXPORT_SYMBOL vmlinux 0x67f7403e _raw_spin_lock +EXPORT_SYMBOL vmlinux 0x68041430 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x68095343 security_path_link +EXPORT_SYMBOL vmlinux 0x68277ba2 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68b49a12 skb_copy +EXPORT_SYMBOL vmlinux 0x68b89b7e jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x68c66c21 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x68da6d92 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x68dfc59f __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68feaafd ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x6904448e __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x691dea89 seq_release_private +EXPORT_SYMBOL vmlinux 0x692116a9 default_llseek +EXPORT_SYMBOL vmlinux 0x692186bf current_task +EXPORT_SYMBOL vmlinux 0x6929c56e sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x6944f61c sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x69678c90 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x696e6cc0 revalidate_disk +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69732c52 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x697e9352 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x698eed7d iput +EXPORT_SYMBOL vmlinux 0x698f8c60 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x699a9c6b dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x699e0e61 tcp_prot +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b348b6 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x69bb1aae d_alloc_name +EXPORT_SYMBOL vmlinux 0x69cc1592 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a27bfce csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x6a3b618b vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x6a48e16b percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x6a48eade prepare_binprm +EXPORT_SYMBOL vmlinux 0x6a68fb42 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7d8405 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x6a8d6257 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x6a8f45d6 genphy_resume +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6acd10ad d_lookup +EXPORT_SYMBOL vmlinux 0x6ad22e96 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae87002 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x6af91968 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x6b073bb4 da903x_query_status +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b30d81a ppp_input +EXPORT_SYMBOL vmlinux 0x6b3a6dea get_agp_version +EXPORT_SYMBOL vmlinux 0x6b490ab0 journal_update_format +EXPORT_SYMBOL vmlinux 0x6b739f9c find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6baa5886 kdb_current_task +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bdeee1b devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x6c091b50 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c2e3320 strncmp +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c42b10b __serio_register_driver +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c61ec5a jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x6c690f2e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c80540b d_prune_aliases +EXPORT_SYMBOL vmlinux 0x6ca98ff5 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6ccbd5d5 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cf0a463 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d07092c dmam_release_declared_memory +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 0x6d5bfec4 x86_hyper_xen_hvm +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d8932c9 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x6d8def73 __devm_release_region +EXPORT_SYMBOL vmlinux 0x6dced056 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df51af5 __rta_fill +EXPORT_SYMBOL vmlinux 0x6e05f401 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x6e2c8b48 blkdev_get +EXPORT_SYMBOL vmlinux 0x6e51ac2e _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x6e6547d7 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x6e65f2dc rtc_lock +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7c90c8 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb63d4a generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x6ed36e81 pci_request_region +EXPORT_SYMBOL vmlinux 0x6ee2dfb6 module_put +EXPORT_SYMBOL vmlinux 0x6ef728cd take_over_console +EXPORT_SYMBOL vmlinux 0x6efbe5e6 skb_clone +EXPORT_SYMBOL vmlinux 0x6f04bbfc brioctl_set +EXPORT_SYMBOL vmlinux 0x6f0885bc request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x6f1f6989 simple_statfs +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f385e8e nobh_write_begin +EXPORT_SYMBOL vmlinux 0x6f3c6f5e dcache_dir_open +EXPORT_SYMBOL vmlinux 0x6f468ed9 generic_setlease +EXPORT_SYMBOL vmlinux 0x6f4c6b71 lg_local_unlock +EXPORT_SYMBOL vmlinux 0x6f53f5c1 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f569a86 unlock_super +EXPORT_SYMBOL vmlinux 0x6f780ccd kunmap_high +EXPORT_SYMBOL vmlinux 0x6f900259 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x6f9c229d sk_wait_data +EXPORT_SYMBOL vmlinux 0x6fa534dc md_unregister_thread +EXPORT_SYMBOL vmlinux 0x6fc027c9 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x6fc2a688 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0x6fc2d0a4 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcdcba1 tty_vhangup +EXPORT_SYMBOL vmlinux 0x6fd3cad1 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6ffe9901 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x7013406e blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x703b4352 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x70515684 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70806ccb pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70bc568c phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d1f8f3 strncat +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70da3452 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x70e1aaf2 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x7112fef0 fb_find_mode +EXPORT_SYMBOL vmlinux 0x7114a71f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x7124f231 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71da472e tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x72233911 mntget +EXPORT_SYMBOL vmlinux 0x7229c27c __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x722df4fa textsearch_unregister +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x7240236f sock_create +EXPORT_SYMBOL vmlinux 0x72466bf0 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x7252374e pci_write_vpd +EXPORT_SYMBOL vmlinux 0x7267b5f7 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x729169f5 i2c_transfer +EXPORT_SYMBOL vmlinux 0x7292fe17 pci_release_region +EXPORT_SYMBOL vmlinux 0x72a23206 I_BDEV +EXPORT_SYMBOL vmlinux 0x72b0a36c kobject_set_name +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c77633 netdev_change_features +EXPORT_SYMBOL vmlinux 0x72ca09d0 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x72cca5c3 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x72d2c6f5 phy_device_free +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72df2f2a up_read +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x730e78ad mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x7316b2b8 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x731cee67 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x7331a81d con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x734d04db napi_gro_flush +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x7361dc4e scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7364e41d dentry_unhash +EXPORT_SYMBOL vmlinux 0x7365e737 uart_match_port +EXPORT_SYMBOL vmlinux 0x737356fc bioset_free +EXPORT_SYMBOL vmlinux 0x7378984d scm_detach_fds +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738803e6 strnlen +EXPORT_SYMBOL vmlinux 0x739f5e0c vc_cons +EXPORT_SYMBOL vmlinux 0x73ad938f serio_rescan +EXPORT_SYMBOL vmlinux 0x73afbc34 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x73b43672 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x73d769be dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x73d9cc32 unload_nls +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73edcd5a mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x73f11212 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x74061068 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x7406f5c5 kobject_put +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x740b86d5 genl_register_family +EXPORT_SYMBOL vmlinux 0x740f80a9 phy_driver_register +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x741a6e22 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x742df0f6 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x743621da dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x743b4ae3 atomic64_inc_not_zero_cx8 +EXPORT_SYMBOL vmlinux 0x74677a28 sock_wake_async +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748eef0c xen_biovec_phys_mergeable +EXPORT_SYMBOL vmlinux 0x748f66fb ht_create_irq +EXPORT_SYMBOL vmlinux 0x749f4165 irq_stat +EXPORT_SYMBOL vmlinux 0x74a33c44 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c7e7d5 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d1a9f5 mount_subtree +EXPORT_SYMBOL vmlinux 0x74d80856 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x74dd3c62 module_layout +EXPORT_SYMBOL vmlinux 0x74e22fe6 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x75271716 save_processor_state +EXPORT_SYMBOL vmlinux 0x752a7fb0 xfrm_input +EXPORT_SYMBOL vmlinux 0x7531e3dc acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0x75325b7d cdrom_open +EXPORT_SYMBOL vmlinux 0x7533d7ef input_release_device +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754fec57 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x75524f2d i2c_del_driver +EXPORT_SYMBOL vmlinux 0x75603153 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x75656456 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x756bedeb i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x759662da xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x75a802a2 __napi_schedule +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 0x75d56dc3 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x75fc819d devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760f6d34 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x7628f3c7 this_cpu_off +EXPORT_SYMBOL vmlinux 0x762add85 atomic64_inc_return_cx8 +EXPORT_SYMBOL vmlinux 0x763d49d2 dquot_release +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x7650991a netdev_update_features +EXPORT_SYMBOL vmlinux 0x7674d8ab cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x7680164b phy_stop +EXPORT_SYMBOL vmlinux 0x768376e1 sk_filter +EXPORT_SYMBOL vmlinux 0x76993a31 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x769e06d7 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x76abbe4f netdev_emerg +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76cdbb55 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x76d09fcc mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x770a0036 isapnp_cfg_begin +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x771d9746 input_flush_device +EXPORT_SYMBOL vmlinux 0x772a5816 journal_stop +EXPORT_SYMBOL vmlinux 0x772f9eec __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x773532ef mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x77412bbb pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x7759499f journal_clear_err +EXPORT_SYMBOL vmlinux 0x777539b7 cpu_info +EXPORT_SYMBOL vmlinux 0x777bd0c2 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77a86fed kmap +EXPORT_SYMBOL vmlinux 0x77b94596 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x77bb6f7c blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c616e2 __inet6_hash +EXPORT_SYMBOL vmlinux 0x77ce4224 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x77d36f75 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e8993e thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x77f7af64 submit_bio +EXPORT_SYMBOL vmlinux 0x77faaffa inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x780618a5 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x78092a12 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x780fa24a tty_set_operations +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x781416e3 revert_creds +EXPORT_SYMBOL vmlinux 0x7825200a __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x78309a59 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x78390f26 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x786cbe41 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7885bcfa inode_needs_sync +EXPORT_SYMBOL vmlinux 0x78968c01 pci_release_regions +EXPORT_SYMBOL vmlinux 0x789f9b1c key_revoke +EXPORT_SYMBOL vmlinux 0x78bb2011 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0x78c79643 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x78d2e572 mmc_free_host +EXPORT_SYMBOL vmlinux 0x78d377ee simple_write_begin +EXPORT_SYMBOL vmlinux 0x78db38d3 proc_dointvec +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78ef4c0e rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x7902a14c swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x790fa160 km_query +EXPORT_SYMBOL vmlinux 0x790fd459 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x791c43cb vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x792028d3 mdiobus_free +EXPORT_SYMBOL vmlinux 0x7949da53 usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79815f8b vfs_llseek +EXPORT_SYMBOL vmlinux 0x7987d1d9 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ac411b inet_bind +EXPORT_SYMBOL vmlinux 0x79e38dbd bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x79e9d45b dput +EXPORT_SYMBOL vmlinux 0x79fa51ec pagevec_lookup +EXPORT_SYMBOL vmlinux 0x7a107f3c locks_remove_posix +EXPORT_SYMBOL vmlinux 0x7a1b175c pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a8fb05b pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x7a9bf88d udplite_table +EXPORT_SYMBOL vmlinux 0x7aa81449 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x7ab4168c scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abdbaa1 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7b01bc93 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b134ddf acpi_get_name +EXPORT_SYMBOL vmlinux 0x7b3e8bfd dquot_disable +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b691282 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x7b7f1367 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x7b99b058 sg_miter_start +EXPORT_SYMBOL vmlinux 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL vmlinux 0x7ba64643 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x7bcfcc56 journal_ack_err +EXPORT_SYMBOL vmlinux 0x7bd50599 install_exec_creds +EXPORT_SYMBOL vmlinux 0x7bfc078b neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x7c112f76 sync_blockdev +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c1c07a9 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x7c216cb3 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c47a29a blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x7c5422ba pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c6b8386 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c930094 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7cac0df8 journal_wipe +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cc37196 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x7cf1bcba netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x7d09d678 block_commit_write +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d30e217 rtnl_notify +EXPORT_SYMBOL vmlinux 0x7d3f7400 blk_put_queue +EXPORT_SYMBOL vmlinux 0x7d4baa4c inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7d746dde mii_check_link +EXPORT_SYMBOL vmlinux 0x7d86e36a twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x7da4ea1c __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x7dbc2e57 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x7ddc079d sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e377f5d jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e44d0c3 d_set_d_op +EXPORT_SYMBOL vmlinux 0x7e83e164 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x7e946013 tcp_close +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec959af genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7ef03246 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x7f18b194 kacpi_hotplug_wq +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f41face security_inode_readlink +EXPORT_SYMBOL vmlinux 0x7f4f3520 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x7f658e80 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7fa9060e sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x7fac17fe crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x7fb20747 kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x7fcab86b tty_write_room +EXPORT_SYMBOL vmlinux 0x7fd192ee pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x7fd56c29 elv_add_request +EXPORT_SYMBOL vmlinux 0x80210c43 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x80255412 dquot_initialize +EXPORT_SYMBOL vmlinux 0x806146c2 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x807061b3 get_user_pages +EXPORT_SYMBOL vmlinux 0x80b1f10e pnp_register_driver +EXPORT_SYMBOL vmlinux 0x80bf5730 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x80dc7e81 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x811fb170 fb_blank +EXPORT_SYMBOL vmlinux 0x813fceb1 release_sock +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 0x815b62b9 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x815c56d0 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x815eeea9 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816ae41d __get_user_pages +EXPORT_SYMBOL vmlinux 0x817c249e address_space_init_once +EXPORT_SYMBOL vmlinux 0x819e1c25 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x81a6f71e find_get_page +EXPORT_SYMBOL vmlinux 0x81b9995a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81d241d0 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fba284 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x82236f0a lro_receive_frags +EXPORT_SYMBOL vmlinux 0x8223c459 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x8235805b memmove +EXPORT_SYMBOL vmlinux 0x823baa77 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x82464885 padata_free +EXPORT_SYMBOL vmlinux 0x82489b12 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x82a12f43 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82e71496 ihold +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x83261fb3 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x832878ec __getblk +EXPORT_SYMBOL vmlinux 0x833c03aa acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x833fbd55 give_up_console +EXPORT_SYMBOL vmlinux 0x83693736 genphy_read_status +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x83903429 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x839900e9 tcp_check_req +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83a7467c scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x83b496e5 pnpbios_protocol +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d3fe25 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x83f14991 __break_lease +EXPORT_SYMBOL vmlinux 0x84060081 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x8411f45a intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x8417f512 acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0x84375f1d blkdev_fsync +EXPORT_SYMBOL vmlinux 0x8439274a netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x84393cae __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x843bd22c kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x8446fa13 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x8452d460 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x845e6d4d backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x848c2bde mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x84b274ef __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x84b65de5 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x84be886f completion_done +EXPORT_SYMBOL vmlinux 0x84c2d185 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x84c55776 __destroy_inode +EXPORT_SYMBOL vmlinux 0x84cd47d2 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x84d5ebd1 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x84d9a32a tty_devnum +EXPORT_SYMBOL vmlinux 0x84e69950 journal_init_dev +EXPORT_SYMBOL vmlinux 0x84f8469a splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x84f8dfbd dm_unregister_target +EXPORT_SYMBOL vmlinux 0x850e8aca dev_uc_add +EXPORT_SYMBOL vmlinux 0x851736c9 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x852b5131 set_device_ro +EXPORT_SYMBOL vmlinux 0x853af298 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x85621868 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856dd2b0 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x857375e0 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x8574c938 tcp_connect +EXPORT_SYMBOL vmlinux 0x858eead6 task_nice +EXPORT_SYMBOL vmlinux 0x859dc4fe mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85cf9f08 inet_select_addr +EXPORT_SYMBOL vmlinux 0x85d16790 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x85de3ecc locks_free_lock +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e381d1 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85ed8d29 acpi_bus_add +EXPORT_SYMBOL vmlinux 0x8603d526 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x861e7fa8 kick_iocb +EXPORT_SYMBOL vmlinux 0x8640b564 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x86782c76 ip6_route_output +EXPORT_SYMBOL vmlinux 0x867c6fe6 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86b0318a blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x86bfae20 acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x86d136eb mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x86d5255f _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x86df6f06 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x86fa0fb7 qdisc_reset +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x873cf70b blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x873ed741 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x875bfe77 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x87836252 irq_to_desc +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b37b57 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x87c13d87 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88290f62 seq_open +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x883461f3 bio_put +EXPORT_SYMBOL vmlinux 0x8845a743 kernel_accept +EXPORT_SYMBOL vmlinux 0x886dfc90 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x8873b29e dump_write +EXPORT_SYMBOL vmlinux 0x887535cc skb_trim +EXPORT_SYMBOL vmlinux 0x8887b89a dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x88d04323 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x88f9f4c9 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x8900e260 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x8909cea4 genlmsg_put +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x893c4c31 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x8941a808 netdev_printk +EXPORT_SYMBOL vmlinux 0x894385d8 mpage_readpage +EXPORT_SYMBOL vmlinux 0x8947055b simple_rmdir +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x894df45e dev_change_flags +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x89671916 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x897922eb iunique +EXPORT_SYMBOL vmlinux 0x897f5dd1 pci_target_state +EXPORT_SYMBOL vmlinux 0x89add1b7 icmp_send +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89b27c56 scsi_init_io +EXPORT_SYMBOL vmlinux 0x89bbeab6 unregister_console +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89d838a1 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x89f267b8 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x8a1615d6 mempool_create_node +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a2145c9 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x8a2260c4 lock_rename +EXPORT_SYMBOL vmlinux 0x8a3bc9ce lock_fb_info +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a5e05b4 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a93b57a ida_destroy +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8b18496f __copy_to_user_ll +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b243c3e agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x8b33cdd5 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b3815cf eisa_driver_register +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b83da15 scsi_print_command +EXPORT_SYMBOL vmlinux 0x8b8c3d6e flush_signals +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba58cc7 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x8bb7e160 inet6_bind +EXPORT_SYMBOL vmlinux 0x8be1c6a4 md_register_thread +EXPORT_SYMBOL vmlinux 0x8beb2a3d simple_rename +EXPORT_SYMBOL vmlinux 0x8bf2d015 poll_freewait +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0226f7 dcache_readdir +EXPORT_SYMBOL vmlinux 0x8c10b82c mount_ns +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c260633 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x8c2b1e34 bdi_register +EXPORT_SYMBOL vmlinux 0x8c37d680 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x8c3bc747 dquot_alloc +EXPORT_SYMBOL vmlinux 0x8c7caf00 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x8c8b8e84 elv_rb_add +EXPORT_SYMBOL vmlinux 0x8c95191a mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x8ca66931 dm_put_device +EXPORT_SYMBOL vmlinux 0x8cc4f7fd tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cd8c0d0 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8d09ed24 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x8d2d93e5 mmc_add_host +EXPORT_SYMBOL vmlinux 0x8d4bf436 key_unlink +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d93fd2f netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x8da1a3cb acpi_remove_interface +EXPORT_SYMBOL vmlinux 0x8daf8c42 dql_init +EXPORT_SYMBOL vmlinux 0x8dc67d00 d_add_ci +EXPORT_SYMBOL vmlinux 0x8dc6e564 restore_processor_state +EXPORT_SYMBOL vmlinux 0x8def339e contig_page_data +EXPORT_SYMBOL vmlinux 0x8df28856 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0a5b18 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e1bd4f8 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e28eac0 pci_clear_master +EXPORT_SYMBOL vmlinux 0x8e2df488 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x8e6d0b32 md_error +EXPORT_SYMBOL vmlinux 0x8e888ec3 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8eca1181 udplite_prot +EXPORT_SYMBOL vmlinux 0x8ee1c863 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x8eef483a __free_pages +EXPORT_SYMBOL vmlinux 0x8f0028cc eisa_bus_type +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f36dfa2 iget_locked +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f52a18e would_dump +EXPORT_SYMBOL vmlinux 0x8f69381f napi_frags_finish +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f877ed3 noop_fsync +EXPORT_SYMBOL vmlinux 0x8f8b4bb7 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fa12b39 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x8fe29b94 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0x8fe64ba3 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x8febdf83 bio_map_kern +EXPORT_SYMBOL vmlinux 0x8ff4079b pv_irq_ops +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x9011e06e pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x90285bf3 __dev_printk +EXPORT_SYMBOL vmlinux 0x90438aca security_path_chmod +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x9046fb68 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x905020d6 pci_dev_put +EXPORT_SYMBOL vmlinux 0x905d0ae4 vc_resize +EXPORT_SYMBOL vmlinux 0x9073c992 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x907b80bf tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x90808c23 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x908afc30 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x908d37f0 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90d15b09 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x90d3cd76 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x911a1b9a thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x9141ec9e proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914c6293 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x91505119 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x919572c2 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x919e0bdb wake_up_process +EXPORT_SYMBOL vmlinux 0x91a4db66 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x91a6a6ac __ps2_command +EXPORT_SYMBOL vmlinux 0x91b1887f mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x91bf1b39 inet6_release +EXPORT_SYMBOL vmlinux 0x91cbe435 generic_fillattr +EXPORT_SYMBOL vmlinux 0x91d45345 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x91ec802e init_task +EXPORT_SYMBOL vmlinux 0x921adc2e pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x92291b21 agp_backend_release +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924918cc qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x925a2b61 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x9265487a freeze_super +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x9289bd34 clear_nlink +EXPORT_SYMBOL vmlinux 0x92a05f3d idr_get_new +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92ad4310 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x92d31344 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x92d411ad tty_unthrottle +EXPORT_SYMBOL vmlinux 0x92e3a563 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x92f1b1c4 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x93041927 filemap_fault +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93169cb5 request_key +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x932a7620 netdev_info +EXPORT_SYMBOL vmlinux 0x93414acd iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x937b0e16 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x93936c92 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93aa68d0 mddev_congested +EXPORT_SYMBOL vmlinux 0x93ad2e6a scsi_device_put +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93d6c6a3 simple_fill_super +EXPORT_SYMBOL vmlinux 0x93de2307 read_cache_pages +EXPORT_SYMBOL vmlinux 0x93f54f3e tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9412f3c0 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x94160e3d blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x94347703 make_EII_client +EXPORT_SYMBOL vmlinux 0x94546d8c single_release +EXPORT_SYMBOL vmlinux 0x94774f7f scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x94836f3a journal_forget +EXPORT_SYMBOL vmlinux 0x94879a45 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x948fa334 mount_bdev +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a30d07 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x94af219b simple_dir_operations +EXPORT_SYMBOL vmlinux 0x94b541b5 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x94cfe245 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x951a6907 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x95323e4f dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x95349b39 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954bc89a abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x954caa23 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x956190b9 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x95785194 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x957f9287 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x958520c3 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x958e48eb dump_trace +EXPORT_SYMBOL vmlinux 0x958f1400 fget_raw +EXPORT_SYMBOL vmlinux 0x95a80727 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x95c2d414 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x95f89a33 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x9620d08d mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x9634a9b7 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x963cd8d9 serio_close +EXPORT_SYMBOL vmlinux 0x96436a75 netlink_set_err +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x966335f8 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x9674de0b __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x9696ac72 rename_lock +EXPORT_SYMBOL vmlinux 0x96a592f6 seq_puts +EXPORT_SYMBOL vmlinux 0x96c7e43b seq_printf +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e0e531 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x96e79739 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x96f91b64 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x9712c249 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x971a835c tcp_init_sock +EXPORT_SYMBOL vmlinux 0x971c0b8e override_creds +EXPORT_SYMBOL vmlinux 0x97208537 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x97243220 __f_setown +EXPORT_SYMBOL vmlinux 0x97384eea __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x97428091 mutex_unlock +EXPORT_SYMBOL vmlinux 0x974526a0 vfs_mknod +EXPORT_SYMBOL vmlinux 0x9748af3a isapnp_protocol +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9761bc18 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x9784b2ca set_bh_page +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 0x97d4a949 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x97dcef29 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98497228 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0x9852b1a4 console_stop +EXPORT_SYMBOL vmlinux 0x985f8860 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9879dce6 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x98876e58 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98921d98 icmpv6_send +EXPORT_SYMBOL vmlinux 0x98a24365 blk_make_request +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x99052a84 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x9915e708 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x9916868a bdgrab +EXPORT_SYMBOL vmlinux 0x992f20a5 get_task_io_context +EXPORT_SYMBOL vmlinux 0x99372f4c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x99397ea4 ata_link_printk +EXPORT_SYMBOL vmlinux 0x994796da i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99521c58 sk_free +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x996f4845 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x99847fd8 dm_get_device +EXPORT_SYMBOL vmlinux 0x998d222f pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x9991dd9e netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999de148 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x999ff2c5 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x99ba313b backlight_force_update +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c0e522 simple_link +EXPORT_SYMBOL vmlinux 0x99c23321 inode_dio_done +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ed7010 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x9a127a05 pci_map_rom +EXPORT_SYMBOL vmlinux 0x9a15b25b __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1f4939 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a1feb84 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x9a628aeb dev_mc_flush +EXPORT_SYMBOL vmlinux 0x9a6a83f9 cmos_lock +EXPORT_SYMBOL vmlinux 0x9a78ed66 phy_connect +EXPORT_SYMBOL vmlinux 0x9af6851e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x9afa6ec2 kern_unmount +EXPORT_SYMBOL vmlinux 0x9b18df7d jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x9b2f61f7 serio_reconnect +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b5aae2d input_open_device +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b75cb81 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x9b9cfe54 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9baedb2c twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x9baefc63 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x9c2c944a __copy_from_user_ll_nocache_nozero +EXPORT_SYMBOL vmlinux 0x9c48c9aa tty_port_hangup +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c6a4a10 simple_write_end +EXPORT_SYMBOL vmlinux 0x9c6cbfbf ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x9c752710 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x9c8c7cf7 serio_open +EXPORT_SYMBOL vmlinux 0x9c8dc2b4 request_key_async +EXPORT_SYMBOL vmlinux 0x9c8ecd26 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x9c99af8b bio_free +EXPORT_SYMBOL vmlinux 0x9cb25be6 md_flush_request +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cbabf01 set_anon_super +EXPORT_SYMBOL vmlinux 0x9cc848be simple_getattr +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf68b49 __brelse +EXPORT_SYMBOL vmlinux 0x9cf94d9e acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d1a0922 lookup_one_len +EXPORT_SYMBOL vmlinux 0x9d287615 keyring_clear +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d656411 blk_rq_init +EXPORT_SYMBOL vmlinux 0x9d828e72 tty_mutex +EXPORT_SYMBOL vmlinux 0x9d82f2e7 dev_mc_add +EXPORT_SYMBOL vmlinux 0x9db1fd8f dma_find_channel +EXPORT_SYMBOL vmlinux 0x9dbe51b6 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x9dd0ffc4 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x9dd264e3 acpi_root_dir +EXPORT_SYMBOL vmlinux 0x9e0440e1 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e1511b2 arp_send +EXPORT_SYMBOL vmlinux 0x9e1ab005 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9e1af984 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e425a42 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x9e4b3747 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e71c3a0 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x9e77ae71 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9eaf0eb5 follow_up +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ecc3c80 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eebe40c journal_start_commit +EXPORT_SYMBOL vmlinux 0x9f1b5b98 simple_release_fs +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f501146 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x9f558783 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x9f622606 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x9f68eb85 phy_find_first +EXPORT_SYMBOL vmlinux 0x9f7566e2 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x9f7a5bc2 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x9f86254a nobh_writepage +EXPORT_SYMBOL vmlinux 0x9f9749c8 generic_file_open +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9f7e96 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x9f9fdeb3 blk_get_queue +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fb565c8 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ff6701e register_console +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0569ba3 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xa056d671 pci_bus_find_capability +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 0xa08e67d5 dma_supported +EXPORT_SYMBOL vmlinux 0xa09d644a bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xa09e3bd7 user_path_at +EXPORT_SYMBOL vmlinux 0xa0a2bc1e pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xa0a75ca2 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xa0aa31e8 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0f1ef99 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xa0f2c2b0 km_report +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa10063b8 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10f7099 neigh_table_init +EXPORT_SYMBOL vmlinux 0xa1194592 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa144e40e fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa17434d2 pnp_device_attach +EXPORT_SYMBOL vmlinux 0xa1a94315 uart_register_driver +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c4a7c8 kfree_skb +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1dbf870 nla_reserve +EXPORT_SYMBOL vmlinux 0xa1dc1bd0 __blk_end_request +EXPORT_SYMBOL vmlinux 0xa1f61226 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xa2002f0b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xa201af3d twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa23b4fbe __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa251865a register_gifconf +EXPORT_SYMBOL vmlinux 0xa27285a6 arp_xmit +EXPORT_SYMBOL vmlinux 0xa272b1f1 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa29e4f19 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ad28b3 tty_port_close +EXPORT_SYMBOL vmlinux 0xa2dfe4cd may_umount_tree +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa3397a7d generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +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 0xa38adb40 file_sb_list_del +EXPORT_SYMBOL vmlinux 0xa38f95e8 phy_attach +EXPORT_SYMBOL vmlinux 0xa3b0866e jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa420941a scsi_get_command +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa445563b security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xa446b4d2 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa47e3b0c force_sig +EXPORT_SYMBOL vmlinux 0xa48ff053 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c7d6f0 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4eb097d secpath_dup +EXPORT_SYMBOL vmlinux 0xa4eb4eff _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xa5000274 pci_enable_ido +EXPORT_SYMBOL vmlinux 0xa51cdfe8 __FIXADDR_TOP +EXPORT_SYMBOL vmlinux 0xa5243378 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xa548e773 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xa567b588 bio_pair_release +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa57f5b67 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xa592889d scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a4851b xfrm_state_update +EXPORT_SYMBOL vmlinux 0xa5b73e84 blk_peek_request +EXPORT_SYMBOL vmlinux 0xa5bc4eb3 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xa5ca78fa inetdev_by_index +EXPORT_SYMBOL vmlinux 0xa5da0abd acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0xa5e8636b vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xa62e6e4f acpi_get_table_with_size +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa6759295 phy_detach +EXPORT_SYMBOL vmlinux 0xa67da660 mempool_alloc +EXPORT_SYMBOL vmlinux 0xa67e2845 dq_data_lock +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa685aba5 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6a00b03 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xa6b13658 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xa6dc8323 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e2ddf5 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xa6e352f0 pci_get_device +EXPORT_SYMBOL vmlinux 0xa703b578 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71e7463 __first_cpu +EXPORT_SYMBOL vmlinux 0xa770dc23 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xa792fbe7 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xa7a31106 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xa7c2d314 pnp_find_card +EXPORT_SYMBOL vmlinux 0xa7c6c8d8 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xa7cda962 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xa7ce61c3 path_put +EXPORT_SYMBOL vmlinux 0xa7cf6c2f atomic64_dec_return_cx8 +EXPORT_SYMBOL vmlinux 0xa7d366de simple_readpage +EXPORT_SYMBOL vmlinux 0xa7dc8a16 md_write_start +EXPORT_SYMBOL vmlinux 0xa80ca167 dev_addr_add +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa88bd1bd con_copy_unimap +EXPORT_SYMBOL vmlinux 0xa892a8a4 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa89e4154 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8adeb36 block_write_full_page +EXPORT_SYMBOL vmlinux 0xa8d479b5 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8f58e48 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xa8fec908 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa92d8df3 unregister_netdev +EXPORT_SYMBOL vmlinux 0xa9458111 follow_down +EXPORT_SYMBOL vmlinux 0xa97aa513 ps2_drain +EXPORT_SYMBOL vmlinux 0xa97bc746 set_user_nice +EXPORT_SYMBOL vmlinux 0xa9b1e4fe simple_pin_fs +EXPORT_SYMBOL vmlinux 0xa9b8bc49 __put_cred +EXPORT_SYMBOL vmlinux 0xa9c1b627 intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0xa9fd3552 journal_dirty_data +EXPORT_SYMBOL vmlinux 0xaa397122 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xaa45cd3f init_special_inode +EXPORT_SYMBOL vmlinux 0xaa503bfd simple_unlink +EXPORT_SYMBOL vmlinux 0xaa574a48 cdev_add +EXPORT_SYMBOL vmlinux 0xaa5ddaa1 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa886d4c tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xaa8fea18 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xaaab8067 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaabfdddb vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0xaad65952 blk_complete_request +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae87824 __mutex_init +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaeb69ce kill_fasync +EXPORT_SYMBOL vmlinux 0xaaef3ab2 register_con_driver +EXPORT_SYMBOL vmlinux 0xaaefef0e pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaaf4d70f tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0b19d0 search_binary_handler +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab28271c i8253_lock +EXPORT_SYMBOL vmlinux 0xab3d9bc2 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab61d3be dquot_alloc_inode +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 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabffbb63 free_task +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac0c6c55 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xac2dba29 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xac33396b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac9fa4e3 vfs_getattr +EXPORT_SYMBOL vmlinux 0xacbf1859 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xacc4def7 vfs_link +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xace0e8e3 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xace57e6d pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad07f027 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad2191ca pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xad29b304 skb_store_bits +EXPORT_SYMBOL vmlinux 0xad3faa34 dquot_quota_on +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad606683 agp_copy_info +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadc9a018 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xade0264d security_path_rename +EXPORT_SYMBOL vmlinux 0xadf5e0aa cdrom_release +EXPORT_SYMBOL vmlinux 0xae080067 journal_extend +EXPORT_SYMBOL vmlinux 0xae29eca3 __netdev_printk +EXPORT_SYMBOL vmlinux 0xae3ab9c8 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xae43d1a1 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xae558ede write_cache_pages +EXPORT_SYMBOL vmlinux 0xae714993 genphy_update_link +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae72f7b2 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xae806cc3 page_follow_link_light +EXPORT_SYMBOL vmlinux 0xae9b4531 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xaea976a8 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xaebd2c84 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xaebe6f6d bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xaec0f69d bio_phys_segments +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaedda232 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xaeffd697 d_invalidate +EXPORT_SYMBOL vmlinux 0xaf275868 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xaf27f85c tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xaf367cc7 tcp_shutdown +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 0xaf769c4a security_path_chown +EXPORT_SYMBOL vmlinux 0xaf79fc9b scsi_put_command +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xaf9d9ecc __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xafa56daf scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xafb767b2 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xafba49e5 vfs_write +EXPORT_SYMBOL vmlinux 0xafc47f0e spi_attach_transport +EXPORT_SYMBOL vmlinux 0xafdc3b16 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xafeef049 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xaff71b77 set_trace_device +EXPORT_SYMBOL vmlinux 0xb00125b1 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xb0020183 vfs_readlink +EXPORT_SYMBOL vmlinux 0xb0207ecf ___ratelimit +EXPORT_SYMBOL vmlinux 0xb0535715 generic_permission +EXPORT_SYMBOL vmlinux 0xb05ab5e1 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb061bff7 vga_tryget +EXPORT_SYMBOL vmlinux 0xb0a8fd0a intel_gtt_unmap_memory +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c6ae04 fb_get_mode +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e4d8fe md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xb0e61371 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xb1133d23 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12c0345 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xb147ef76 generic_make_request +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb16f8e0a __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xb1828cdf deactivate_super +EXPORT_SYMBOL vmlinux 0xb1851739 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xb18d9a59 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xb18dcdb8 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c28be8 ip_cmsg_recv +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 0xb1d1f2ae km_new_mapping +EXPORT_SYMBOL vmlinux 0xb1d9523e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb21e8ff8 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0xb21efcc5 security_mmap_file +EXPORT_SYMBOL vmlinux 0xb2285f43 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xb2311817 prepare_creds +EXPORT_SYMBOL vmlinux 0xb23a82da netlink_unicast +EXPORT_SYMBOL vmlinux 0xb24f461a scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb26cf75f dev_get_by_index +EXPORT_SYMBOL vmlinux 0xb2744b36 down_write_trylock +EXPORT_SYMBOL vmlinux 0xb2756a98 vga_client_register +EXPORT_SYMBOL vmlinux 0xb2a9befb mmc_release_host +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e207f5 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30ec523 padata_add_cpu +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb3407122 d_validate +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb34d6ffc __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb350e08e pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb35bfeb7 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xb3632596 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0xb37ab726 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xb39bcca3 padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0xb3b51da6 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xb3be3305 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xb3cc6a63 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb3e0590d acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0xb3f49225 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xb404b592 release_firmware +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb44c5a4f netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xb45578b8 memscan +EXPORT_SYMBOL vmlinux 0xb468ec99 register_netdev +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb499d4dc generic_listxattr +EXPORT_SYMBOL vmlinux 0xb4d6e420 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xb4f21a19 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xb508e508 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xb5107b18 register_nls +EXPORT_SYMBOL vmlinux 0xb515819d tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xb52452c2 touch_atime +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb53d7ab5 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb549444c ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xb54e476d __breadahead +EXPORT_SYMBOL vmlinux 0xb54f79ef netif_device_attach +EXPORT_SYMBOL vmlinux 0xb5665f21 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb577ee8d register_sysctl +EXPORT_SYMBOL vmlinux 0xb57c3572 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5c05878 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d0618f splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xb5fda335 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0xb6115623 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb62870dd dqget +EXPORT_SYMBOL vmlinux 0xb6588e7a idr_remove +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 0xb693489c blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xb6a14316 journal_revoke +EXPORT_SYMBOL vmlinux 0xb6a3e6a1 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b32c98 km_state_expired +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6ed1e53 strncpy +EXPORT_SYMBOL vmlinux 0xb7061c00 lookup_bdev +EXPORT_SYMBOL vmlinux 0xb713d2b2 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xb72aa2e3 key_alloc +EXPORT_SYMBOL vmlinux 0xb72ec667 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xb742fa6e dst_destroy +EXPORT_SYMBOL vmlinux 0xb7472817 fb_class +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb78bdbe9 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xb7aa60f8 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7bcf6be fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xb7f55ecc atomic64_add_return_cx8 +EXPORT_SYMBOL vmlinux 0xb806bd7f udp_prot +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb825a4ff vga_get +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb85cc1a2 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xb863e8df seq_putc +EXPORT_SYMBOL vmlinux 0xb86a5dc9 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb90064d0 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb91ed936 netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xb9366b80 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xb967d374 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xb975ad46 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xb9767ca4 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xb97f9853 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb99cf582 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xb9b6e221 register_exec_domain +EXPORT_SYMBOL vmlinux 0xb9c98845 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xb9d26627 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xb9d613f4 agp_enable +EXPORT_SYMBOL vmlinux 0xb9f5f808 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xb9f66a18 bio_unmap_user +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba17b86f set_create_files_as +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba44fe33 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xba46b8c4 bdput +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba569761 inet_accept +EXPORT_SYMBOL vmlinux 0xba8ea6ad rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xba96fcec bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xbaac3ac2 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xbaba611c request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xbac91c5b follow_pfn +EXPORT_SYMBOL vmlinux 0xbafc29d0 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xbafdf8c0 inode_init_owner +EXPORT_SYMBOL vmlinux 0xbb138387 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb4a4926 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb62b4bd inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbb6fd717 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0xbb8025f1 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xbb830af8 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xbb837d27 machine_real_restart +EXPORT_SYMBOL vmlinux 0xbb949502 pci_dev_get +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbba0ac93 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xbbd2696c blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xbc1afedf up_write +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc409ee8 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xbc43ef06 alloc_file +EXPORT_SYMBOL vmlinux 0xbc46db35 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xbc4a1df2 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xbc673ee9 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xbc831b14 fsync_bdev +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccb7984 tty_free_termios +EXPORT_SYMBOL vmlinux 0xbcde8119 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xbce0fee7 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xbcfb30e1 ip_fragment +EXPORT_SYMBOL vmlinux 0xbd0af10b skb_seq_read +EXPORT_SYMBOL vmlinux 0xbd182aed dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xbd200fe9 ether_setup +EXPORT_SYMBOL vmlinux 0xbd2743ab tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xbd3fd0cb unregister_con_driver +EXPORT_SYMBOL vmlinux 0xbd4c81c6 led_brightness_set +EXPORT_SYMBOL vmlinux 0xbd7eec6b pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xbd871fe1 md_integrity_register +EXPORT_SYMBOL vmlinux 0xbda8b673 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbda9b0d5 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xbdad79f5 inode_init_once +EXPORT_SYMBOL vmlinux 0xbdbad7ba default_file_splice_read +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0ba137 simple_open +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe169375 inet_put_port +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe4b7dbf pnp_is_active +EXPORT_SYMBOL vmlinux 0xbe5ba693 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xbe8c37d9 intel_scu_ipc_simple_command +EXPORT_SYMBOL vmlinux 0xbebf56cd arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xbec30d05 x86_match_cpu +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbee99b7a pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xbef1b0fa intel_gtt_insert_pages +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf1112c7 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xbf1e6e61 md_check_recovery +EXPORT_SYMBOL vmlinux 0xbf2b245d dev_add_pack +EXPORT_SYMBOL vmlinux 0xbf597b35 tty_port_open +EXPORT_SYMBOL vmlinux 0xbf7009a9 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8b39e9 isapnp_present +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa539f3 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xbfb0ed83 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xbfb11d98 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xbfb8a006 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xbfbe4895 journal_destroy +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfda2d4d phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xbfe094ec skb_push +EXPORT_SYMBOL vmlinux 0xbfe4784c efi +EXPORT_SYMBOL vmlinux 0xbfe81f26 bio_init +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc00ab45a inet_register_protosw +EXPORT_SYMBOL vmlinux 0xc00fc5f4 generic_getxattr +EXPORT_SYMBOL vmlinux 0xc015f100 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xc01cf848 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xc01eed33 __copy_from_user_ll_nozero +EXPORT_SYMBOL vmlinux 0xc0403e95 sock_i_ino +EXPORT_SYMBOL vmlinux 0xc041727c __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xc0493e8f mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc0653599 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07f18d4 __lru_cache_add +EXPORT_SYMBOL vmlinux 0xc0a30f25 vmtruncate +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a477c0 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc0a8ff16 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc168f3af skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xc16a5967 flush_old_exec +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1b2e025 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xc1b43a6b journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xc1b9f3af tty_throttle +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1cdc9a5 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xc218df98 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc24ff476 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc2594e72 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xc263acfb lock_may_write +EXPORT_SYMBOL vmlinux 0xc27d3e66 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xc280a525 __copy_from_user_ll +EXPORT_SYMBOL vmlinux 0xc2887709 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xc293a804 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xc2c41b83 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2d7c2c7 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f88523 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc32beef1 sync_inode +EXPORT_SYMBOL vmlinux 0xc3528a44 __scm_send +EXPORT_SYMBOL vmlinux 0xc352c430 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xc35e0c6c scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3b5291a inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xc3fa6a59 memchr +EXPORT_SYMBOL vmlinux 0xc3ff7f6a pcibios_set_irq_routing +EXPORT_SYMBOL vmlinux 0xc402c487 names_cachep +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc41e8f7a wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xc4554217 up +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4ef1782 find_lock_page +EXPORT_SYMBOL vmlinux 0xc533367d update_region +EXPORT_SYMBOL vmlinux 0xc54e0711 inet6_getname +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc5696d04 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xc57ab7bc proc_dostring +EXPORT_SYMBOL vmlinux 0xc5bfe873 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e1a19a open_exec +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fc177e elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xc60502a6 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xc624e65b write_inode_now +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63cc125 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc65097ca invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xc6597188 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc65f6ead fifo_set_limit +EXPORT_SYMBOL vmlinux 0xc66af43b agp_backend_acquire +EXPORT_SYMBOL vmlinux 0xc6884c17 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xc6890ef3 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xc6a0847a nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xc6b23120 intel_scu_ipc_iowrite16 +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6ccacf8 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc6e61430 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xc6eb6af9 empty_aops +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 0xc74ea3fe vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0xc7556d5f jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xc768de19 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc76aaa4c d_instantiate +EXPORT_SYMBOL vmlinux 0xc77bb5d8 sk_run_filter +EXPORT_SYMBOL vmlinux 0xc77d0f1c thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7903acf __pagevec_release +EXPORT_SYMBOL vmlinux 0xc79b8e3a jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a26c26 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b46a1b sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xc7c21012 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xc7c7defb input_unregister_device +EXPORT_SYMBOL vmlinux 0xc7d9230e posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc802e301 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xc8034ef4 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xc80ec43b jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xc810e64c inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84b3f2e try_module_get +EXPORT_SYMBOL vmlinux 0xc864fbbd skb_pull +EXPORT_SYMBOL vmlinux 0xc88c21a1 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8a56ea7 pipe_lock +EXPORT_SYMBOL vmlinux 0xc8acc191 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8d699e5 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xc919664c tcp_child_process +EXPORT_SYMBOL vmlinux 0xc919d6b4 mmc_start_req +EXPORT_SYMBOL vmlinux 0xc925f95e get_write_access +EXPORT_SYMBOL vmlinux 0xc943211a netif_napi_del +EXPORT_SYMBOL vmlinux 0xc94acd11 key_invalidate +EXPORT_SYMBOL vmlinux 0xc94e6634 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xc95882d2 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xc95dd473 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xc96a3444 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xc9871fe3 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xc990fec9 dquot_drop +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc9a7b6dc sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9b363f4 find_or_create_page +EXPORT_SYMBOL vmlinux 0xc9dbd759 ping_prot +EXPORT_SYMBOL vmlinux 0xc9dea002 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xc9f074c6 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xca041b34 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xca22b0d2 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xca27d290 __kfree_skb +EXPORT_SYMBOL vmlinux 0xca41c5a1 file_open_root +EXPORT_SYMBOL vmlinux 0xca472cc0 __devm_request_region +EXPORT_SYMBOL vmlinux 0xca496da9 put_tty_driver +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca811329 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcaba8610 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xcad717f4 backlight_device_register +EXPORT_SYMBOL vmlinux 0xcaf29a27 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xcb18f9be dquot_free_inode +EXPORT_SYMBOL vmlinux 0xcb2a4274 mdiobus_write +EXPORT_SYMBOL vmlinux 0xcb39a01c no_llseek +EXPORT_SYMBOL vmlinux 0xcb451e56 idr_init +EXPORT_SYMBOL vmlinux 0xcb5bcdb1 fb_set_cmap +EXPORT_SYMBOL vmlinux 0xcb600f6a con_is_bound +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7648a0 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xcb955cfd mmc_request_done +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcb9ec296 kmap_atomic +EXPORT_SYMBOL vmlinux 0xcbaee54a register_qdisc +EXPORT_SYMBOL vmlinux 0xcbbfad24 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbda30a7 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xcbe778fa scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xcbec6cb0 iterate_supers_type +EXPORT_SYMBOL vmlinux 0xcc01c6af bdevname +EXPORT_SYMBOL vmlinux 0xcc145dd1 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xcc1b04fd _dev_info +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4d1bfb atomic64_read_cx8 +EXPORT_SYMBOL vmlinux 0xcc4ebbbf abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5b27b5 acpi_extract_package +EXPORT_SYMBOL vmlinux 0xcc68d133 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc88193f qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xcca608eb bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xcca8f548 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xcccde3a6 __block_write_begin +EXPORT_SYMBOL vmlinux 0xcced421d dentry_path_raw +EXPORT_SYMBOL vmlinux 0xccfae62e inet_stream_ops +EXPORT_SYMBOL vmlinux 0xcd0c0b95 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xcd0e2604 release_pages +EXPORT_SYMBOL vmlinux 0xcd10c2b1 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xcd1bf3d2 ppp_input_error +EXPORT_SYMBOL vmlinux 0xcd20fe8c dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2c69da inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xcd358c51 create_proc_entry +EXPORT_SYMBOL vmlinux 0xcd482c94 bdget_disk +EXPORT_SYMBOL vmlinux 0xcd6e5494 user_path_create +EXPORT_SYMBOL vmlinux 0xcd8adb70 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xcdace526 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xcdcfbb1b ip_setsockopt +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdee532c set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xcdf872e8 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xce0a3059 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce1ca6fa skb_pad +EXPORT_SYMBOL vmlinux 0xce1f5873 kobject_add +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce318cb7 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xce406ffd pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce4bde13 kill_pgrp +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5b18ec dump_seek +EXPORT_SYMBOL vmlinux 0xce642bf6 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xce67b153 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xce6ffaba blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xce779ee3 mutex_trylock +EXPORT_SYMBOL vmlinux 0xce82eb42 phy_start +EXPORT_SYMBOL vmlinux 0xce980f40 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xcec7e13d eth_type_trans +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf14bcc5 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xcf156793 blk_register_region +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf22e025 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xcf411b84 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0xcf4e7bff neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xcf557bd5 should_remove_suid +EXPORT_SYMBOL vmlinux 0xcf634900 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf75e8ef lookup_hash +EXPORT_SYMBOL vmlinux 0xcf89a09a migrate_page +EXPORT_SYMBOL vmlinux 0xcfb66f78 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xcfc3b492 posix_lock_file +EXPORT_SYMBOL vmlinux 0xcfd805f1 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xcfdd7663 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xcfe05d4d register_kmmio_probe +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcff6d05d __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd02bc163 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xd0318a60 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xd046580c dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd08dc9ef pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +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 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1250fd1 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd1507862 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xd163dc0c tty_register_device +EXPORT_SYMBOL vmlinux 0xd1785c82 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd185aadd netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xd189e5f9 sk_common_release +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd19e172d security_path_truncate +EXPORT_SYMBOL vmlinux 0xd1c8e40f key_link +EXPORT_SYMBOL vmlinux 0xd1cc1e73 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd202f1d1 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xd20502ac dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2329de3 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xd242497d sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xd2519095 cfb_imageblit +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 0xd2952d03 get_fs_type +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a539d2 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2b1ffd8 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xd2b5195a i8042_install_filter +EXPORT_SYMBOL vmlinux 0xd2d9270a netif_rx_ni +EXPORT_SYMBOL vmlinux 0xd2e6a582 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xd2fd86e3 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xd31915ed inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xd31d55e0 input_set_keycode +EXPORT_SYMBOL vmlinux 0xd3286cf4 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xd346461a tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xd35e249a _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xd36b4745 sock_update_classid +EXPORT_SYMBOL vmlinux 0xd3780174 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3926cce padata_stop +EXPORT_SYMBOL vmlinux 0xd3c08471 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3cfd1c5 filemap_flush +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3de2649 ata_print_version +EXPORT_SYMBOL vmlinux 0xd3e1277f __elv_add_request +EXPORT_SYMBOL vmlinux 0xd3ec4be1 current_fs_time +EXPORT_SYMBOL vmlinux 0xd410c88b dev_crit +EXPORT_SYMBOL vmlinux 0xd42a1270 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xd44d0016 journal_flush +EXPORT_SYMBOL vmlinux 0xd4597574 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd463566e kthread_bind +EXPORT_SYMBOL vmlinux 0xd4664fba cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xd495967b locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd4997394 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xd4af9174 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xd4c3b174 printk_emit +EXPORT_SYMBOL vmlinux 0xd4cf65ea netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xd4d36f89 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xd4d42e9b udp_ioctl +EXPORT_SYMBOL vmlinux 0xd4dcacfa xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xd4df6661 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd5209095 inc_nlink +EXPORT_SYMBOL vmlinux 0xd53ef3ac journal_get_create_access +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5ffd65f generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd6241572 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd6403979 ps2_init +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd64f98e0 dquot_file_open +EXPORT_SYMBOL vmlinux 0xd67e8a7e d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xd69d5094 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xd6b21ffa sock_no_connect +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6b9ecdc i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xd6c56d6e noop_qdisc +EXPORT_SYMBOL vmlinux 0xd6c62cfe blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xd6cfee7e neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd7045e6c scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xd74a05a1 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xd74e3da1 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xd759b140 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xd75bb60d scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd796babb agp_find_bridge +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79fe982 mntput +EXPORT_SYMBOL vmlinux 0xd7bd3af2 add_wait_queue +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e7dcc3 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0xd820042c acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd83c344f sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xd85252b0 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xd85833cb __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xd85df7d4 boot_cpu_data +EXPORT_SYMBOL vmlinux 0xd85fb79c block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xd86d47cd register_quota_format +EXPORT_SYMBOL vmlinux 0xd86f3c4f sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xd88a7179 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a1dd93 journal_restart +EXPORT_SYMBOL vmlinux 0xd8a94b87 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xd8be212d pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xd8de7c81 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xd8deef59 __nla_put +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd964f62d sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xd969b2c7 amd_e400_c1e_detected +EXPORT_SYMBOL vmlinux 0xd9747762 vfs_rmdir +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 0xd9917c6d dquot_quota_off +EXPORT_SYMBOL vmlinux 0xd99722bf mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xd9d458a0 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xda08c0d7 pcibios_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda134e63 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xda20ec29 set_nlink +EXPORT_SYMBOL vmlinux 0xda301770 ip_options_compile +EXPORT_SYMBOL vmlinux 0xda548d9c mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xda68740d __scm_destroy +EXPORT_SYMBOL vmlinux 0xda7aed68 d_alloc +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 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaa90363 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xdaacad7f dquot_commit_info +EXPORT_SYMBOL vmlinux 0xdabf9111 setup_new_exec +EXPORT_SYMBOL vmlinux 0xdac27af1 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xdacf9e2d __module_get +EXPORT_SYMBOL vmlinux 0xdae7e900 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xdaf74f5c tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xdb148162 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xdb19cd46 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xdb302f73 pci_match_id +EXPORT_SYMBOL vmlinux 0xdb33b5ad sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xdb417d5b genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xdb5e20ea blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb82ba3e set_pages_uc +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb955d86 elv_rb_find +EXPORT_SYMBOL vmlinux 0xdb990769 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xdb99e592 lro_flush_all +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba139ee skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xdbbc2778 pci_iounmap +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc0e0960 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc333eb0 set_pages_nx +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc4640b2 scsi_print_result +EXPORT_SYMBOL vmlinux 0xdc570f62 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xdc57f532 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xdc5b4099 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0xdc60fe33 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc749379 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xdc93d261 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xdc953b9e bdi_unregister +EXPORT_SYMBOL vmlinux 0xdca2b271 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xdca36c2d netif_carrier_off +EXPORT_SYMBOL vmlinux 0xdcbbf1dd unlink_framebuffer +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcd3d355 devm_free_irq +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1a2871 down +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd26d525 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xdd2b798b cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xdd34fd07 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd527e7b inet_ioctl +EXPORT_SYMBOL vmlinux 0xdd5ea63c pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xdd88bf8e serial8250_register_port +EXPORT_SYMBOL vmlinux 0xddacc1a0 __nlmsg_put +EXPORT_SYMBOL vmlinux 0xddee1d80 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xde01a29f mmc_resume_host +EXPORT_SYMBOL vmlinux 0xde34c68c mmc_erase +EXPORT_SYMBOL vmlinux 0xde381ac6 vga_put +EXPORT_SYMBOL vmlinux 0xde385cda set_bdi_congested +EXPORT_SYMBOL vmlinux 0xde54072a twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xde80a95d sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde99e337 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdebed2a5 tty_hangup +EXPORT_SYMBOL vmlinux 0xdec778f6 ida_get_new +EXPORT_SYMBOL vmlinux 0xdec7f6c1 do_truncate +EXPORT_SYMBOL vmlinux 0xdf08f687 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf24ee3c pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xdf3d507e kthread_stop +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf5ec026 agp_create_memory +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf73fd2c sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfa8d90e swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd044f9 scsi_host_get +EXPORT_SYMBOL vmlinux 0xe0263e27 fb_show_logo +EXPORT_SYMBOL vmlinux 0xe0320776 kunmap +EXPORT_SYMBOL vmlinux 0xe046c08f set_page_dirty +EXPORT_SYMBOL vmlinux 0xe04b064a dev_addr_init +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe06f3253 skb_queue_head +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe08a1106 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xe0907fa6 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xe09391ea tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xe095ab5a skb_copy_expand +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 0xe0ca0551 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xe0cc4ec9 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xe0d07b7b stop_tty +EXPORT_SYMBOL vmlinux 0xe0fc852e journal_errno +EXPORT_SYMBOL vmlinux 0xe1060f40 vfs_create +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe17d36a1 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xe189b950 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xe1c59e61 dev_uc_del +EXPORT_SYMBOL vmlinux 0xe1fa85cd vfsmount_lock +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24464d3 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xe247678e agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe27d45d3 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0xe27f447f ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xe287d354 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xe293cf62 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xe2a722e8 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xe2b16e18 input_reset_device +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3093c4f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xe319eb24 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xe31e5b64 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xe32e1350 poll_initwait +EXPORT_SYMBOL vmlinux 0xe33b6a73 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xe3497c2a mpage_writepage +EXPORT_SYMBOL vmlinux 0xe36fff2a posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xe378722f pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xe384e541 dentry_open +EXPORT_SYMBOL vmlinux 0xe3d4b428 netdev_alert +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe43f68f9 inet_frags_init +EXPORT_SYMBOL vmlinux 0xe4447f38 bioset_create +EXPORT_SYMBOL vmlinux 0xe45f60d8 __wake_up +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48a0008 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xe490e07f put_page +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4bcf716 journal_abort +EXPORT_SYMBOL vmlinux 0xe4f4c29e __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xe50f904f intel_scu_ipc_ioread16 +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe530ad6f mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xe530d757 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xe53a2f1d inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57b5206 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xe585080a nf_log_packet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5885c82 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xe5980063 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xe59a0119 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xe5bd90ff d_path +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d048a1 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xe5d5a2b6 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed1656 d_find_alias +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe617078e file_remove_suid +EXPORT_SYMBOL vmlinux 0xe6301db4 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe6557757 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xe672b521 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xe67a852a scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xe6910a7e __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a79105 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xe6aee950 kill_bdev +EXPORT_SYMBOL vmlinux 0xe6b3fe21 interruptible_sleep_on_timeout +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 0xe72a0949 invalidate_partition +EXPORT_SYMBOL vmlinux 0xe76f179e agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe781b5f6 intel_scu_ipc_readv +EXPORT_SYMBOL vmlinux 0xe78bf5e1 get_super_thawed +EXPORT_SYMBOL vmlinux 0xe78eed36 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7ae0b43 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xe7b5d51b bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7f08ac7 pci_set_ltr +EXPORT_SYMBOL vmlinux 0xe802b7c3 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe80f3295 mdiobus_read +EXPORT_SYMBOL vmlinux 0xe80fcc47 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xe8272d68 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe83e4a3f xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xe84a994f inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87b3d9d max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xe88e7a93 lg_global_lock +EXPORT_SYMBOL vmlinux 0xe8b3d611 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b68849 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xe8b88631 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xe8e1e5ac blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe946476d tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95a3b21 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xe9610616 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xe965a65f max8925_reg_write +EXPORT_SYMBOL vmlinux 0xe99151f7 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea51f43f generic_write_sync +EXPORT_SYMBOL vmlinux 0xea571be1 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea7b8a44 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xea7f92bb generic_cont_expand_simple +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 0xeaef6b5e tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xeb2fa90a nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xeb31ac2a mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xeb327aeb aio_put_req +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5ed4c9 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xeb662409 blk_start_request +EXPORT_SYMBOL vmlinux 0xeb79df3a agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0xeb94ebb1 check_disk_change +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebacbcca set_blocksize +EXPORT_SYMBOL vmlinux 0xebb66fc5 __get_page_tail +EXPORT_SYMBOL vmlinux 0xebbd01f5 dst_release +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebdd65a0 arp_tbl +EXPORT_SYMBOL vmlinux 0xebeb9fc2 kernel_read +EXPORT_SYMBOL vmlinux 0xec0d7fda blk_recount_segments +EXPORT_SYMBOL vmlinux 0xec0e1387 vm_mmap +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec3e5209 scsi_execute +EXPORT_SYMBOL vmlinux 0xec4c1f95 i2c_use_client +EXPORT_SYMBOL vmlinux 0xec54c941 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xec5c7244 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xec7f2a2c arp_create +EXPORT_SYMBOL vmlinux 0xec9c7b44 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xecb28ee7 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xecb3a5e1 clocksource_register +EXPORT_SYMBOL vmlinux 0xecb721f1 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xecfc0e59 bdi_init +EXPORT_SYMBOL vmlinux 0xecffc561 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed402697 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xed562e3f rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xed9826ec vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd9392a kernel_bind +EXPORT_SYMBOL vmlinux 0xede5511c neigh_destroy +EXPORT_SYMBOL vmlinux 0xededa327 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xee2805e9 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee4c7557 key_task_permission +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee837d79 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeab140d input_get_keycode +EXPORT_SYMBOL vmlinux 0xeecb5be2 dquot_commit +EXPORT_SYMBOL vmlinux 0xeee830bc proto_register +EXPORT_SYMBOL vmlinux 0xeee958c9 d_splice_alias +EXPORT_SYMBOL vmlinux 0xef1d35b7 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xef321beb pcim_pin_device +EXPORT_SYMBOL vmlinux 0xef3477b8 uart_resume_port +EXPORT_SYMBOL vmlinux 0xef3c546c max8998_update_reg +EXPORT_SYMBOL vmlinux 0xef8f5d54 pci_remove_bus +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb0b63f scsi_register_driver +EXPORT_SYMBOL vmlinux 0xefb2684e mount_nodev +EXPORT_SYMBOL vmlinux 0xefb7cf22 dev_alert +EXPORT_SYMBOL vmlinux 0xefd714dd soft_cursor +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xefe0da4d blk_stop_queue +EXPORT_SYMBOL vmlinux 0xeff878e0 kill_block_super +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0040079 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf034c062 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0xf03a26c7 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xf03f5ec5 scsi_unregister +EXPORT_SYMBOL vmlinux 0xf042ac64 filp_open +EXPORT_SYMBOL vmlinux 0xf050f624 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf078c6a5 __pskb_copy +EXPORT_SYMBOL vmlinux 0xf09a5200 pid_task +EXPORT_SYMBOL vmlinux 0xf0a22c18 vmap +EXPORT_SYMBOL vmlinux 0xf0b6eef2 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xf0b7e345 __sock_create +EXPORT_SYMBOL vmlinux 0xf0c5ff83 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xf0ce7d50 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xf0d396dd ata_dev_printk +EXPORT_SYMBOL vmlinux 0xf0db076d pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xf0ee34ca set_disk_ro +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 0xf10f11e5 udp_seq_open +EXPORT_SYMBOL vmlinux 0xf11382ff ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf1215d86 cont_write_begin +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf12a5c83 idr_find +EXPORT_SYMBOL vmlinux 0xf12d331c lg_local_lock +EXPORT_SYMBOL vmlinux 0xf1381066 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf1424170 proc_mkdir +EXPORT_SYMBOL vmlinux 0xf153920d __frontswap_store +EXPORT_SYMBOL vmlinux 0xf157c5a0 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xf15d7e37 dquot_destroy +EXPORT_SYMBOL vmlinux 0xf1704b23 blk_put_request +EXPORT_SYMBOL vmlinux 0xf18242e1 atomic64_set_cx8 +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1b00258 read_cache_page +EXPORT_SYMBOL vmlinux 0xf1b1a5f7 input_set_capability +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f27494 dev_activate +EXPORT_SYMBOL vmlinux 0xf1faac3a _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf221c09e swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xf2256c9e ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xf232b0e4 sock_register +EXPORT_SYMBOL vmlinux 0xf2349453 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xf2357254 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf244bab8 filp_close +EXPORT_SYMBOL vmlinux 0xf26ceedb loop_register_transfer +EXPORT_SYMBOL vmlinux 0xf26e04d7 lease_modify +EXPORT_SYMBOL vmlinux 0xf279d72c vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xf287972c ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2b5188e pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xf2ee32ec gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xf30f8234 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf32055e7 dev_base_lock +EXPORT_SYMBOL vmlinux 0xf328980f proc_create_data +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf342f742 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34926a1 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xf37260ab _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xf379a296 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xf37a414e vlan_vids_del_by_dev +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 0xf399aa23 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xf3aa9971 md_done_sync +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e6c463 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xf3f5faa9 register_filesystem +EXPORT_SYMBOL vmlinux 0xf3fd22c5 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xf406e5cd generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0xf424d7b5 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xf427027b rt6_lookup +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf444e81d textsearch_register +EXPORT_SYMBOL vmlinux 0xf4497578 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xf44fe6cd dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf49634fd mark_info_dirty +EXPORT_SYMBOL vmlinux 0xf49eb6eb ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bb33f8 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f19e51 downgrade_write +EXPORT_SYMBOL vmlinux 0xf4fb6501 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xf5006e5c unlazy_fpu +EXPORT_SYMBOL vmlinux 0xf502d273 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0xf506b65c md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xf517f6dc submit_bh +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf528e8f3 agp_free_memory +EXPORT_SYMBOL vmlinux 0xf536d22e acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53d9caa ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xf5473a15 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xf54cd88a agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xf557ca5c kobject_del +EXPORT_SYMBOL vmlinux 0xf55d4883 end_page_writeback +EXPORT_SYMBOL vmlinux 0xf56e50eb find_vma +EXPORT_SYMBOL vmlinux 0xf57e6032 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xf58cf42a pnp_start_dev +EXPORT_SYMBOL vmlinux 0xf59190b4 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xf5ba2dcf __dst_free +EXPORT_SYMBOL vmlinux 0xf5bb2544 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5e5bab5 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5f63f5f destroy_EII_client +EXPORT_SYMBOL vmlinux 0xf62b083c blk_integrity_register +EXPORT_SYMBOL vmlinux 0xf62da359 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf63f8a79 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf6404819 __bread +EXPORT_SYMBOL vmlinux 0xf64ab633 load_nls_default +EXPORT_SYMBOL vmlinux 0xf65c636e tc_classify +EXPORT_SYMBOL vmlinux 0xf67db974 vfs_symlink +EXPORT_SYMBOL vmlinux 0xf68343ed __page_symlink +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c33b4c __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xf6daebec cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xf6e321d8 security_path_mknod +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf7228338 netpoll_setup +EXPORT_SYMBOL vmlinux 0xf726d02f atomic64_add_unless_cx8 +EXPORT_SYMBOL vmlinux 0xf72fbf54 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xf745cb16 atomic64_sub_return_cx8 +EXPORT_SYMBOL vmlinux 0xf74848d7 lock_super +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75bc434 files_lglock +EXPORT_SYMBOL vmlinux 0xf75f2711 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xf762b9ec xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xf78c3fbf dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7929048 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xf7c30688 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xf7e37635 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80409e6 skb_unlink +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf815327b pci_set_mwi +EXPORT_SYMBOL vmlinux 0xf8208cd8 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf832779d nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf8357f09 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xf8871364 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf894c976 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xf8a55e1e dcache_dir_close +EXPORT_SYMBOL vmlinux 0xf8c2494b pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xf8dd1a82 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0xf908e261 bio_sector_offset +EXPORT_SYMBOL vmlinux 0xf91d156f scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xf92a54f5 genl_unregister_family +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf940a328 __next_cpu +EXPORT_SYMBOL vmlinux 0xf94886c5 wait_iff_congested +EXPORT_SYMBOL vmlinux 0xf949e64c dev_mc_del +EXPORT_SYMBOL vmlinux 0xf953b1f4 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xf97456ea _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xf987d4ee lock_may_read +EXPORT_SYMBOL vmlinux 0xf98c0014 dquot_resume +EXPORT_SYMBOL vmlinux 0xf98ffdd2 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xf99b7312 tty_shutdown +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ad8bcb blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xf9ce2d8f kmem_cache_create +EXPORT_SYMBOL vmlinux 0xf9dd6fb8 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xf9f6b6ba inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xf9fe38c8 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xf9fea288 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xfa30957c mempool_free +EXPORT_SYMBOL vmlinux 0xfa357d17 dev_driver_string +EXPORT_SYMBOL vmlinux 0xfabc075c __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae61ad4 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xfae62050 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb1be686 ida_remove +EXPORT_SYMBOL vmlinux 0xfb1e8b0e mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xfb43296d ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xfb461174 spi_release_transport +EXPORT_SYMBOL vmlinux 0xfb49f556 page_readlink +EXPORT_SYMBOL vmlinux 0xfb6422a8 scsi_host_put +EXPORT_SYMBOL vmlinux 0xfb65a9b3 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb6d29b8 sock_map_fd +EXPORT_SYMBOL vmlinux 0xfb773e3b journal_start +EXPORT_SYMBOL vmlinux 0xfb80c7a0 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc00b17e pskb_expand_head +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc205d9c dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc52d22f make_bad_inode +EXPORT_SYMBOL vmlinux 0xfc562165 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc75833f blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xfc80ace8 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0xfc872fd1 get_ibs_caps +EXPORT_SYMBOL vmlinux 0xfc880fb9 may_umount +EXPORT_SYMBOL vmlinux 0xfca65d9e mount_single +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcac0d40 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0xfcbe6e19 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcdaea2b generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfcff038b keyring_search +EXPORT_SYMBOL vmlinux 0xfd142da1 kset_unregister +EXPORT_SYMBOL vmlinux 0xfd2cf9b5 dev_open +EXPORT_SYMBOL vmlinux 0xfd4cb3c1 phy_disconnect +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd6d3d42 skb_append +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7345f2 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xfd73603c bio_map_user +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd816fbb redraw_screen +EXPORT_SYMBOL vmlinux 0xfd980fda max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdb9162f del_gendisk +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdc7f3ba idr_replace +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 0xfe031c66 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xfe0420d0 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xfe117c7b key_put +EXPORT_SYMBOL vmlinux 0xfe3ea255 dma_set_mask +EXPORT_SYMBOL vmlinux 0xfe5254e0 kernel_listen +EXPORT_SYMBOL vmlinux 0xfe54b333 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xfe5c7522 dev_trans_start +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe94349f mutex_lock +EXPORT_SYMBOL vmlinux 0xfeb81538 register_xen_selfballooning +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfee60c71 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xfef8b91d elevator_change +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff21c01d get_io_context +EXPORT_SYMBOL vmlinux 0xff480992 dump_fpu +EXPORT_SYMBOL vmlinux 0xff591371 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xff5a42c4 vlan_vid_add +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6ca058 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff8d6b0a serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xff939bf1 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa19009 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xffb56e74 mnt_unpin +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffde295e jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe56de4 dev_set_group +EXPORT_SYMBOL vmlinux 0xfff632cd bdev_stack_limits +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 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0203a233 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x10edacd0 gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x123240d5 kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x13b7400b is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x16ca5bf3 kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17c81003 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18e257ab __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a4342a5 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1b422c77 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cfe78d1 kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e0832b2 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x204a36fc kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x205b03ce kvm_after_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x23ddd12b kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x240026d2 kvm_queue_exception +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 0x25f966ef kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27bca836 kvm_before_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28f3e374 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x29866b52 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2bf67e5d kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f636c31 kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f68836f kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30fdd633 kvm_fast_pio_out +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3171899e kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x318856fd gfn_to_pfn_async +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x345bc36d kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35701a33 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3664df97 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x38c9a877 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3967d54a fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3d763017 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de08404 kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de61ece kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e34af45 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e8bf046 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ee59a92 __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f5e2a7f __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41dc1a54 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x49c033cb kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4acefe6a kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4b585ae9 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4ee49022 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4f0e4f83 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5276672d gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52c0a231 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x54d6b946 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5be85e89 handle_mmio_page_fault_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ca6287b kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61ebc490 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x657df903 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669da1fd kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c516ca0 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6db19e07 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74fbc94a is_fault_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x77e6e5e1 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7aa64803 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c674bc5 hva_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c9b19a5 is_noslot_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7cfe17e0 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e2f216d kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f4a58b9 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f880e40 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x81d0eccf gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8203e222 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x820a42de kvm_requeue_exception_e +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 0x864890b8 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x864c59f4 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x887efba5 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x88866677 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a83db19 kvm_get_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 0x8f69747b kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9079850e kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x91336aa8 kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92ecc6f7 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x965c77be kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a216313 kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9adac2f0 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9b5ec527 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ba57599 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9dfd8b94 kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1eb465d kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa2a2c818 x86_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa30662d0 kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa318d891 kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa5f49b56 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa91845be is_invalid_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa9363c4c kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaac7c868 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab042fbd kvm_lmsw +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 0xb77278c7 kvm_mmu_invlpg +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 0xbc2b538e __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc2b937d is_hwpoison_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf05ab76 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3eb8ff0 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc8c4c90b kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb3acbe8 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb67ce10 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd4904af kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xce9103b0 kvm_get_cr8 +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 0xd10a8f80 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xde16265b kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdf87364c kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1cf2c4f kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9790e86 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xebdf7707 kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeeb69c0e kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeffd35b7 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf049604f kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfc09b0a7 kvm_get_kvm +EXPORT_SYMBOL_GPL crypto/af_alg 0x273b9db0 af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x38b4d982 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x7e7cde9c af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x830fb8a1 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x93188c87 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0xc1b54570 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xeccb7a6f af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xfdcf683f af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe7878199 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4621a546 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xad96fa98 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x43a1b231 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xeee393ba async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x23909720 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x2670bcd4 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xcc233431 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xf5067cab async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x62a6d937 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa5c5b0fb async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xdb0309db blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x13699895 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x21497e40 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x335c9ce7 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x6d46c0a7 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x7a33f907 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x84a0f73f cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb7ffa918 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xe247c2ad cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xe41f1d23 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xf4ee86cd cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x14957fe1 lrw_crypt +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +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 0xf91ad22c serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x3eff55fa twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x3b41a9e6 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/libahci 0x00c1c032 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x08295220 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1208d6a1 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1f212be8 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x44b6c9a2 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4ee65294 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7a9a344b ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8c559a27 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa656f97b ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa667d750 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbbede5f9 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc56c3b60 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc8ca6a25 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcb967da0 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd1d07446 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe3336a11 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf1133a52 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf7de8a14 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x07529dd2 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xa3d14340 __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 0x0b4743a4 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x28d93c41 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x36cb6a09 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x479743fc bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x57fa1548 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x762f4d78 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x990b6085 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9c0eb8d8 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc06690c8 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc526bf97 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcc509ff8 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe6291e47 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeeda0a62 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf1136272 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfb320ed2 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x36ce0aee btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x43ea7608 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5cbae34a btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x67a43db1 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x980b339e btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9ebe059b btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9f8376b6 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe00f22a9 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe4e0b8c5 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf6da28a9 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/char/scx200_gpio 0xbf6eb386 scx200_gpio_ops +EXPORT_SYMBOL_GPL drivers/dca/dca 0x034b57ad dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x03b40461 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x1823ce08 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x300ee658 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x58af2cf1 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xb3c7575e unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xde554a17 free_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0e9cc54c edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x142c6a2c edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1bfde70c edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x20f9a0c9 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2105d462 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4698a154 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4faee601 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x69259f22 edac_mem_types +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6ad0c590 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x759600b0 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x800d5cce edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8e5d2ae6 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8f9bd9b8 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb995b903 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb9cf5ed1 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc5c8b17e find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc713abc5 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc776bf92 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd562e757 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd65d0f92 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf25b75cc edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf4ae0910 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfb97a838 edac_device_free_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 0x20cecb36 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x380579c6 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4486b909 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x86e1928e extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x95c2ac44 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa615ef4b extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb334f0ad extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xba8d2511 extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbd20a564 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc5226788 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd2eeccac extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe6b3a640 extcon_register_notifier +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 0x2e8ec591 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x76987a0f bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x5b290d82 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x5bd80e86 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaf91b5a1 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb138554b 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 0xd9520451 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xdd3963ed ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xea1c1de7 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0ab72047 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17adc684 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x190b6784 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a7f90e1 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x261ffa1f hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x27133862 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2f64a239 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31f71323 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x503b2308 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x50f7f7b5 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52762002 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x60bf65af hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x818b51b4 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x862fa552 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8ee1135d hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x961338fe hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9dc4c407 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa2f581ec hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb32ca4bd hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb95215e9 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbbad220a hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc2d69555 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcf26c7cd hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd32357d0 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd3a2e267 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd4f71469 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe10bd61f hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf5295c3f hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfec98b53 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x782d98db roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x8ca3db0b roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xfbb779e5 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x048f18e3 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x4889db3b usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x4f1d4566 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x99dd6097 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x22b17b52 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x27e08685 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3cf30a5a hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x57e9b8f0 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6c3c5d53 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7a0107a6 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x81ffe7a0 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa47d891f hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xadd9f6f3 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xaef1eaee hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb70216f5 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe6ec1633 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf07ab93d hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2948e770 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x37cb2075 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x725c9c2b vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7dba111e vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8f88f791 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x9cd96951 vmbus_sendpacket_multipagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xaba53df0 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc91a78a4 vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd245a530 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe2aad7d9 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x1c3e92a4 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x390b7134 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x42806144 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x488e280d 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 0x5d6ec46c i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x649c8819 i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x9399f36a i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcc386a3c i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe600f895 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x71280630 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0bb0c15b i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xcf8053db i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x21e27374 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6d18ab0f i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1b8365d6 iio_update_demux +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 0x8bdf4366 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8f142e60 iio_alloc_pollfunc +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/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xba266751 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 0xa49d12c1 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x1b8b250c cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x61200d6a cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x79c3db2b cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4e1eeaf6 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x55af9716 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6af14555 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x84bb8ad2 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x99059788 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa9ddd3da wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xae18761c wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb23d4f28 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb51d8177 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbced1fbf wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xca27747e wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf7a244d9 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 0x1282cc9d gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x578a9fda gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x58e7bfd7 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5e436848 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6dc86412 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7322ee92 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x83685d41 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa4010bf5 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb242be6b gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb97f89b8 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc1b8491a gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc3d9c7f4 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc83d9b04 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd56342db gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xdf6c2037 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe14677c9 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf45952d3 gigaset_add_event +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 0xa3233b01 dm_bufio_client_create +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 0xd26111e2 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xe4c593f8 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 0x2f204312 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 0x5e35b916 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 0x77e492fb dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x97d7636f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x9c134494 dm_region_hash_create +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 0xb44992fc dm_rh_inc_pending +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 0x40a5cd98 dm_block_manager_create +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 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 0x224d8095 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x95474a68 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5600b771 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x629c96b3 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6df31dfd saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xa3182eb4 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb5b00e96 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbd544e28 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbdf5f949 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe1090977 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe9e82d23 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xeb4c1464 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf48e5362 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x0d0448e9 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x28547fda saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x36aa8dcb saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5083e0f2 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5bceeab5 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9233021f saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe2c704e7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x002379d3 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x00923f3e tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x14c62c06 tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x2b568b3f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x531ef479 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x29556564 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x7a8caed1 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x06b8d716 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x8375e836 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x93f485d6 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xdc623fd9 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xfe0fba51 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x1c01473c tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x42495d51 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x1db69cca simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x4d9fc8a3 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x7c97ef5b mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x8dffdfdd tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0175159d mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x069546de mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0c823457 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x2011c165 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x33104990 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x41f52899 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x6137bdd4 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x6cc09c1e mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x758d7306 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x94d720ea mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xa6ca5287 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xb297799b mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc65e128e mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd8be13e9 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xdf22f018 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe4efc714 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe846edc8 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x17b2cdc7 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x196e8377 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1d4e9727 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x23a7b402 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x31d8dac4 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3aab3201 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4a90590a sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7253ae10 sms_board_setup +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 0x86c2d6b8 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb01c81f2 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc7de6737 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd1f3b902 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe56f9b60 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe9581450 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xee88da3c smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf36b1b85 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf3ca83fa smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x407bcf6e ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x4751f0bb ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x5e84f884 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x74f0300d ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8c1fcfdf ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x926d917a ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xa6cdaa8d ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x26c96b38 radio_isa_probe +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x442b1212 radio_isa_remove +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x79954dcb radio_isa_match +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0xd288e549 radio_isa_pnp_probe +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0xee0faf0c radio_isa_pnp_remove +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x08866745 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x13104891 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1e12faff ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1f7b45ca rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2f777531 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4a7af1f6 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5cda42fd rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6332de4e rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x874b1033 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8a466eb8 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8a6b36ee ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xab17da08 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb4fcb11b rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xdc5fd145 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf9776fc7 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfa0f59be rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfec8cf8e rc_map_get +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0106927d cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x02f2f399 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x063b5791 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x11bdd772 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x155c12af cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4655d23e cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4fd551d6 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x50f21f13 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x62310c32 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x65fe5c1f cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6dafa6ee cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x835d3ffa cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaf488204 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbbb648f9 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc2e4e3c2 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc937bb3d cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd25a31dc cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xda464924 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xdce67c09 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x4d04663f cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0aa15c09 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1e7e3d2a em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x28ce2b9c em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x54698d9e em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x59bbefbf em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5ce4df48 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x73a53a70 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9033bdd2 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xafaa240b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xcdcb6cfc em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd6138e23 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xdcd9da70 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe16f7d1d em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xef0069ed em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x38bd7604 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x4d7bbfb8 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x59e07fb0 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x71d575a0 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xb5ab90a3 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x221b4b80 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x280eee50 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x6b594c88 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xd0142da4 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x6b3385df v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7d27feb0 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7fed2d64 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x830c89be v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa182ea6e v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xc9c6d5ec v4l2_i2c_subdev_addr +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 0x094fd43a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1e4a600f v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x60344350 v4l2_int_device_unregister +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 0xb4d63914 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x0126f5d4 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x07adea87 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x11b9403f v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x4f65ef70 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x56fa1566 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x62eee2bc v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7c365b7d v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x988daa2c v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xba2c5909 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc8e0f41e v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xec0feffd v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfdf5625f v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x084ad935 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12e04c0f videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x18a114bb videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1fd8a461 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3ba0ad01 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x42d8c569 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4bbff154 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x50ebb190 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x55bfda4a videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6dfb547c videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6eaabedd videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f58f99a videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9288f88b videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x96333260 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa356774f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa4de19c8 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xabd6e68e videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc0edd135 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc204de75 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc6111f23 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd7edb54c __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xea9fe643 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xef69188e videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xff585478 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x4d231b5f videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x7161e71a videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x87b49601 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xeed16507 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x0223d4b1 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x27aaf497 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3bce8c65 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x410358bd videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x4251bee5 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5f6ddede videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa1381840 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc4130552 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe8e90752 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x35f0e12b videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x37e17bc4 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xc208427e videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x02746560 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x02cfb61f vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x07dfbf0a vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x21e079b3 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x675eb279 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x711ebb67 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9861e1c4 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x999ea6b8 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa83d5046 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa945084f vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb1c26967 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb23e9027 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb6b79cc6 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd78116df vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xedfbe8ec vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf67f2931 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfb54de70 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x25a81274 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x4ab1fc82 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 0x0d470ba0 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x19b19111 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x28e2937f vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x4679d50d vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xf9136789 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xff4d8aeb vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x04e552ab v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2e3d43e6 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x36123c0e v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x41a1dc71 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x44bb5984 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x53c02783 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x71926fe4 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7343cdaa v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x76334d75 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7e7f9ec7 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90f3ce9e v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x95c4f9ff v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc82b5b5b v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc8eb8fb1 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xcb70bd9b v4l2_event_unsubscribe_all +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 0xdf59060c v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe06af09b v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf2f0bc09 v4l2_event_pending +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 0x2ac3f2c6 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5506c567 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x9d076047 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb44b5abd i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb8852ada i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xdf6fa072 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe0f030d3 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x286df6a1 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x74be753e lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x961792bc lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2c7ec434 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4fb68664 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x88aa03a6 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8a1c7201 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb6364f89 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc12c246e lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf799d87b lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x1474a79b mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xa1bfcd0e mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xdc7ee7d1 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x397ac36b pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x39ed130e pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3d2e601d pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x87b0ce7f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x893753bb pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9da351b4 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xae66a3ff pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd4c7d9aa pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe4ba1869 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeaae93dc pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeb5e45b3 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x578eccbe pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x65fe2bf7 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x18e72b8a pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x565b8e86 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7bdc7400 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8aa35031 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9787b297 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0e070a49 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x2719e4eb rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x33f1698e rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x3fb6514f rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x5bd9eaf7 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x6439c7d0 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7511f57d rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x786549c8 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7a8ceb83 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7d90d243 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x902468c5 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xa8e1fefb rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xad0e2e5d rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb4df2eff rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xbff109f2 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xc473466e rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xdc23684c rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xe6f791ca rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf002fce3 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf4b23b4d rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xfa154d0d rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x0c105ef8 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x4cde834a sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6b4f2890 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe70a906c sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xfb924546 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x27c3940e tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x3219d9c3 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x7216ca6f tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x7eb3fc5b tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x44bb6bba ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x3bcb37f5 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4b8e0f65 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xc781b2d9 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xff9e7e7f 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 0x094a4171 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x218d9362 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4877c628 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x55bcc73f enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5d004762 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd3a495ce enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xfb524a62 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x108bb336 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x64f39c50 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6d7b6aad lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8096c142 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8c40aab7 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa1102023 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xe00fba27 lis3lv02d_joystick_enable +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 0x5efd0d03 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xf552cd54 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x32d44fc5 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x58bbc27d sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x850aa5be sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x85c86c9c sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa399668f sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd08e6c49 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe44dd987 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe6fdfbea sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfd2fb9d5 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4aef52b3 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4b6d4c5d sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x791d8d57 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x7d379464 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8023a533 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8bace40a sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1ca5270e cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xba3f5517 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xe5db4fa2 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x2791c1d8 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9859f4b2 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc89eaca3 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc3217874 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x5efa7eeb cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x8c9411d2 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa68831ed cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xc9b26601 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0ddb9915 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x171b9afe mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1a320718 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2235955f unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x24c5c6b0 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25461c66 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2eda185c mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x357caf9f __get_mtd_device +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 0x7237e52d mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x72db087e mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7d5704af mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x807a054a mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x902ae8d4 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x934ca611 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9449333c mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98357cff __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9a034a03 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9b24c004 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9ff1ddd4 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa3744caf mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa7c03751 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa8b47fd2 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xabcc60b4 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xace236c5 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xad53af66 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb6ea378b mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb79ae0f2 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc224c571 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc4e85124 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc83f5906 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd03cb8cb put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe00877ca get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe370964b register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe6e3731e mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf1baa056 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfaea1071 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc02d4e0 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x14111a6f deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x5415f130 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa500b6bb del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd842f3a4 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xef283956 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x264f1eef nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x27802ecf nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0x9270a27d sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x134507b7 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x74d448ce onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x15c8cff3 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x32e34180 ubi_open_volume_nm +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 0x59b6f66f ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x67dfb4f9 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6be5f06c ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7595a585 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x94d12a5e ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa0debc55 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb5aa8ae3 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc10a0092 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcf79b772 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xda9247f4 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe9b6b772 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 0x843c914d unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x9a6ee223 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xcbd33cfa free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xeb3b8229 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x28467c2e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x307d1dab close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x35b08bc3 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3c01d585 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x557c5321 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6201ed3e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6616ace9 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x671db099 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7ba49712 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xa5355898 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xcb589b8b can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xda86392d alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x37341bd2 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x80509e04 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb00f7ba7 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xbdc65403 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0bfcf645 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x14069d95 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x414c5417 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x76258b22 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x001e278c mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01038d7b mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x024f8654 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08f99c80 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0add6a28 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b2b7e87 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d018408 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d3b2afe mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e24c445 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f1866db mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16c60154 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a84b639 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1afa22db mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2138b1d5 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x261fed63 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26b2f827 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x27a27c2b mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a380243 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d55b04c mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31de5a78 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e4d5bf6 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f98f60e mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4095de02 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b46fda2 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4bf2c4b4 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c220853 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4cf287c3 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e4437b1 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5019b173 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x507bae44 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5359e794 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cc94603 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x624fca5e mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a70e211 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fb318b4 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70138cad mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8228f453 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84463cfa mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a858997 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x903668d8 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9477feac mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x974cf9cb mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97887724 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97a800a0 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x989254df mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa34a53b5 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6031e23 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8a697b4 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa5fa48e mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0f75742 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5390eef mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5e2fcc4 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba06e659 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbdb9b8a1 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc29c6b9d mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcadc7a32 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd51b9ab mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd088a292 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd64417bf mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd68e1266 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb74138a mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcc261ce mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe004e8bd mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3a94734 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3b85b9b mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9545efa mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeaece1e8 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed2f9133 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf16592ae mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf16940ec mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3520c98 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf4d4572c mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf52579b8 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc93ffad mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0f7e6f44 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x16b8efe0 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xb62bf4ef macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc2c39346 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xda31e92c macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfaf5c130 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7471cf93 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8ee23493 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc2c76c01 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xf46af944 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1041022c rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x45982449 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x971b84ca rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa4f29d0f rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa7d9eba1 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb3f0c50a rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x053bbb18 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x06ea2a5d usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0dd01a90 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1c2f20e2 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x220fa681 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3303adac usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x38a63d8c usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x398739d8 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3b5a4885 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x46d78fec usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4c402c9e usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x626308c5 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x795e57ef usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8361f692 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8401a789 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8b6d5c57 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb177125a usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb8141fe8 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcc89f329 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcff568a0 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd3b574a3 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9119eef usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe7ec6204 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf3c9949b usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x073b085b i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1bfc7546 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1c0200a6 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1f3b7310 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x37eeaa5f i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3efae52f i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x49a5a7c3 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x508f6889 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x50f70c17 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x79128af4 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7f77b735 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x93687fe5 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x975f572b i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbc39f91a i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe4e7fc5b i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfab48a94 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xaeff5e56 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x98ffa429 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc287d01d il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc4d5fd72 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xcf00b3a9 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xcf1d6387 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x07736f13 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0892d4a9 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0cabb5ca lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x16cea6c7 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x43b31372 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8bf6609b lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa0989f71 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb75c1447 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc5e0b714 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd0039e59 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd4b777ea lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd679f0a3 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdab34a64 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf1283162 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf33ac67a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfb71c4cc lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1f804ea4 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x2aadacff lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x711fb135 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7c45537b __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7c868735 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x81f6e212 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x945ccf70 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbff29d4c lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x18e6f899 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xdf86c84f if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x127f3509 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2d8ff825 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x4f933b19 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x56332d41 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x573869e3 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x59cfc95d mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x5bbc3391 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x79dbdb20 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x94c037e2 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x981f31d8 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbc39f475 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbddef8df mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf8700306 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0833c3d7 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x09b74188 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x577cfb12 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7a0d53b6 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x82f16fad p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x917c8608 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x9562c902 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe21fec2d p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfd2d2500 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0cc90a2c rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0ff3e237 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1041c53a rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x110c2278 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x13b134f7 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1747afaa rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x205f84bd rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x20d08f8a rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x29d8b946 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4bae7faf rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x698e6436 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6abd9771 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6b48e598 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x76990b26 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7db20251 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x806b6d7c rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8167b73f rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x81d1e38b rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8867d9d0 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x90f227ab rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x942a47dc rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x97cb950d rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x99400ea0 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa47a11ef rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xac7ada06 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xaf584862 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb4539e9b rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbf53a267 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc174303b rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc7441915 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcc8f4d6c rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcca86d19 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd024f78f rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd8b4fc2a rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdce938d9 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe25860c4 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe3f568be rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xeed1526b rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf721192a rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0ed84fb0 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x13fd7f13 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x15548cd8 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1e26cc5b rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x256ad219 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2eaa5bfa rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x32b86973 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x38be74c7 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3bbaf0fd rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3e4d3a0b rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4671b637 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x478b3a88 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4d5e8949 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5069ef94 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x55acec62 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x56f9f3a4 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5b9e0b71 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5f4b4240 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x664240aa rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x676227e9 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x683efd45 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x79106800 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x846a5520 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x846aa05b rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8b01bd5b rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8b05d079 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8f9149e3 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x978a3d75 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9a0d00a8 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xab6e64b9 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaf64347f rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb1b2a903 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb1eff306 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb8f449cd rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb95a6546 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc9d82783 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd4999bda rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd5548671 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdbd44b5c rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdc19168a rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe17eb5cc rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe51d8029 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf59ae1a1 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf815fdba rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfb3f3a9c rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfec2df1d rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x1ca43dd8 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x67613d55 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x6f184730 rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x714e7915 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x779fd6a2 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb6b4dab5 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc97ac4f0 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd08f4fb9 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe713d5ff rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x05f42591 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x27349109 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x39e93b79 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x462a40be rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4f375808 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x51a1b0c7 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6a020f9a rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x782fff76 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x80bfd8b7 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8b327d0b rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb3df63df rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcb862350 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xce95558a rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcefdec1f rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xecd9b517 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf144115e rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x3616e17e wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xbfa9e55e wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xfd49fb25 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0bf853ea wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x39ca1e98 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 0x54c80b23 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x623b9de2 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8afa7539 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8f90f52f wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9620e7a9 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa626f83e wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa8009aa6 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa9e7392f wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcc1a622a wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe6e4a6b2 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe762e49e wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfaeb9cd6 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x84687e6b acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xfbc329f8 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x18598173 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x780c664f asus_wmi_register_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 0x360606c6 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x838c598d pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xf7716711 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x41aeeb78 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x934e17ff mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa61dbc42 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb7fd532a mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xbf4578e5 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xfe8e8f18 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x47dd88d2 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5797bb1d wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8d4274af wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc5d12ddd wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc8dfd463 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xeb96849f wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xb20698f9 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x010d8fe5 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x033c2ade cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0ae64c15 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x13457bd6 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1958fbdf cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x29bb99c7 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2d5e532f cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x33ec0b67 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x38df6024 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x38f32128 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4900a0cf cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4a42ad3a cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f2f10ed cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f3a9053 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4fca5821 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5dadd474 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x62d10e9f cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6e6582bf cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x779f5325 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x853cde46 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x87f72227 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8de02603 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f14ef9b cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa1423736 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa4645d58 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaaeff036 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xabb19fbf cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb1ab2f51 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb7b2c817 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbf96a4b6 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc4cfef58 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc5ec522b cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc9bf0124 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd301d2cc cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd66938ae cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd9f9b84e cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdbb5a255 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe0444234 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe19f0588 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe3c9e0d5 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe6a1f6a0 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xed1cc69e cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xeee9bafc cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf2d360d3 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x26482a60 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2b292f8b scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x4ea6652a 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 0x696076ca scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x80255368 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x9f4705c5 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0002a2c1 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f810d66 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x405876d4 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x49d0c369 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5ad9ffd7 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x682dcacb fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7c228284 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7d54140f fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7e08e8de __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x805be864 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd43dba6d fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf6cbe707 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfb6c41be 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 0x07138576 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0fa36d24 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d56cb57 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2fe260d6 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31f9be52 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x434119ee iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48b77553 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x554822be iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5914f7cf iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b012eae iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5e09c41f iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x63ee5a81 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x67a81299 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6800d945 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6837dedf iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x69874d70 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7010d334 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7201581d iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7e7e55d0 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8218fa4e iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x85565d2b iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d622ca7 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x90b8855a iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x917ef481 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x985e50a7 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9de5ac66 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa692ffda __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa8681a4b iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb48ed12d iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb80c64c1 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbd3f6176 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc81474c4 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc8db8323 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2431b25 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4390fae iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd44276d4 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb5321fb iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdbe1b3e2 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf1651ddc iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf169f6ed __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf419112f iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf8289746 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf973b476 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x005b3904 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2bea76f0 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3962b9fb iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3e3dcc27 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4c7afdc9 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5579da10 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x634a72a5 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6ab66aba iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6f297448 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa941eb92 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb2a2b757 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc9201086 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xceef7cec iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd0be4028 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd24dcee3 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xda9f8b25 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf8e013a8 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x08db1a6f sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0d3299be sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1852c965 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1acd9bd5 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2460fd4b sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x32841161 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3d7aecde sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x404fc5d9 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4097f4b8 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4b8f437f sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6e27be68 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6edc5832 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x78975731 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x79831e34 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x877ef08e sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9df2491a sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa8f5cd72 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb4b59083 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbe3130fa sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc6825cfd sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcbda0d09 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe38d70b5 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf57e3c4e sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3727a58e srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x377245ad srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3bcac22f srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xaa06eed9 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xaaa4bc51 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xcdab59df srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0d7b9a5b scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x501104a9 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x59c032d2 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5fb6738d scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb331ca58 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xca47df9d scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd879fd5b scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe00c1f91 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfe3a41e1 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0182cc33 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0414fd76 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x08650418 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0bf66c80 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ee68bb5 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1751f4e6 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x186ee529 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x21259d22 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a3473d6 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2bc5d3e3 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x34ca39fd iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35290945 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3ae93595 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x43d8d307 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x473f6420 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4a4e9df2 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66dae375 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7873ab3c iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x78b0a815 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83089609 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x846591d9 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x876916c7 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8bee9dce iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa7296cf7 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9782eba iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xba3bb4bb iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc37ef0e iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5d6b7b1 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe87492fb iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb4b5252 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfac38281 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfcd73082 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x08b540e2 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x4af4bf79 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x64fbb8cd sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xdc308d43 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x194a7980 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x792fe6f6 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7efca298 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xde292299 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfc4e9098 srp_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3cfb89e2 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x4913342e spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x62c0120d spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x891c231c spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xacd46ec7 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xee0d7511 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x23f8e728 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x43a8b5f9 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x5707483a dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9f307544 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xd38c47a7 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x42ac2cc5 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x00f76c20 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0a1ec932 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2aca58ae comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x387e45e6 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x90b07a80 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9b6bc08f comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdbc8a88b comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe62d3267 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfbf8e009 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x2dfc0a94 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x75b2acd7 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x03e9849e 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 0x9ff5abc2 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_tio 0x00e4f535 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1baa3510 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1daad9d6 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4b1345fc ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4c553cf8 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x53b51795 ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x9fe99341 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc7e2ddf1 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x0f057113 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x1c839ac6 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x29cddf8b ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x64ee7a03 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa30655a8 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf92b9446 ni_tio_set_mite_channel +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 0x0e7841ce adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x23b91c71 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xa31b80a8 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb8930692 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb9eb2d10 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd325dc0b ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe8fc3a3f ipack_driver_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 0x24dd4193 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x29c3137b usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x332b4114 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3cc72a42 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4bd93ce9 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x728de1ae usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8b4c4176 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xabbe33b6 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xba049c4b usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xbf2d9a39 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xcfd30753 sockfd_to_socket +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 0xe293bbec dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe2eac08f usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x40bbeed2 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x5f92febc max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x79fcb270 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xe98592ca max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf91271ab max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xfb61b3a7 max3107_remove +EXPORT_SYMBOL_GPL drivers/uio/uio 0x5320ea8d uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x851a35e5 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf64a6720 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x76982f57 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xa308c9a9 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 0x0829a324 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x746caee2 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x75bb91e5 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xb0d64ee0 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xc44671e8 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xdaaf51e7 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x17082223 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x36a20aa0 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3807c2f1 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x39977b2d usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x82122c72 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb407d1ff usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb433fb5b usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb699ecad ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf75e7eeb usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09649ff6 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0x90769855 tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x36db20f1 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x02c229b8 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0edfb608 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x39ee2e6a usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x46e3d24c usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x50422549 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x53020bd8 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5abcd9d3 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x669d374c ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x71a91bc9 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8eea7fdd usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x99502caa usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa814197a usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb631556e usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xba928611 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc61f1533 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc90e8283 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd2f394f9 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe1a6858c usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf3283ba2 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x095fa55d usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0b77298a usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2123692f usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x225650af usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2611f3df usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x27f4d185 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2fd08526 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3a36987e usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9c387c54 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa29b2aaa usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xacd9b0b1 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbc25ce18 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc9224ebc usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xce48c4eb usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd3bdfe42 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd6052261 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdc9e533a usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdf428f68 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe33235c0 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf440eb18 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf4b1b449 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf59ba960 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x1629d566 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x3ad01187 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x76fe99fc wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x804cf44b rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa55a531e wa_urb_dequeue +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 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0eae1f8e wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x124c26f0 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1828f21c wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x23dc464b wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x47bbe1ac wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x558af155 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5e03c5df wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5fcea007 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6605a5d3 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8b0aa155 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x988f8b66 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xad4faf76 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb83d80c3 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xed1b8013 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf0f47300 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf36210d0 wusbhc_b_destroy +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 0x2a638170 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x7fb3d3a0 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x876297bd i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x02c260ae umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x0d5bca50 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x37efb0b3 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x4a1aada8 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x86101c3c umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa0595a7d umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa1b55621 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xef1f3ca5 umc_match_pci_id +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 0x1495e243 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x15c0f877 uwb_rc_put +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 0x46a7f871 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4754fa1a __uwb_rc_try_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 0x5cd6a20b uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6f176fab uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6fac3673 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x760caa9f uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7ba5817a uwb_rc_get_by_dev +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 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 0x9c3f3489 uwb_rc_get_by_grandpa +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 0xb14eb6ab uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb5d35189 uwb_rsv_destroy +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 0xee890e51 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf31f8904 uwb_rc_add +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 0xa9290864 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x201efb22 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x241ad9aa auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x350984ac auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x56dbc4f9 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x57b70bb9 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x640a3605 auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x7230b2da auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x90a67070 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb571cbe3 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb6d56b3f auok190x_send_cmdargs_pixels +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 0x06a74025 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0cba7e03 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x3f0dbcf9 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4398fcaa ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x78f128f5 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9bb446dc ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa7875b50 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x6bdd1eb4 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x5976e2b1 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x7167ccf4 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x897198af sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xe576a6b6 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 0x7cdcd28d 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 0x072c5652 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3f93ccd6 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x56401fd6 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8258e7e0 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x86caf3c9 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaf0c3e7d w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb5a19637 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc8ca5d30 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd59951ec w1_write_block +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xccb96467 xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x491c335b dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xb2b4761b dlm_posix_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 0xe5d9ff79 dlm_posix_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 0x227ee38f nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x38c7b4e8 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3f211e8a 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 0x78fefc01 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc367840e lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc6e6a17f lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf4dcc662 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03fef4ea pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0461e849 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0634c04e nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d4259d4 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15e575b0 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f8043cb pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x284b0c6c nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a7c6212 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35ec236c pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x486e1a6d nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52f57075 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5367d21b nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5573d4c9 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55daabaf nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58483e75 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x602581b1 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63e065ed nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64aff0f7 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x661bdc2e nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66911eb3 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69e12471 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x750ef902 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8476507a nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8df6ba1e pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9548ebe5 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x996485b8 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9bcb7bd7 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ede6f5e nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa46c6076 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb1dc82e9 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb693b155 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb749e768 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc22fb10 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe806444 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc759990a pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd6868299 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7b03b46 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd84ddc04 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd965304f pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdafe1667 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc07c8fa nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd25b841 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe58ecf0d pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xecdba219 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefb5edf3 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf2d19c5a nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xb356c5ac nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xe380f0f2 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 0x2f00a7f8 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x33c26865 o2hb_register_callback +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 0x700b6b81 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9927b3c2 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa34bef22 o2nm_node_get +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 0xc6fad4fb o2hb_setup_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 0xead79e9e o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7eb0d097 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8d0df073 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9fad3e52 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc5042583 dlm_unregister_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 0xe19f27e2 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xee213325 dlm_print_one_lock +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 0x29cb99d1 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4424ba0e ocfs2_stack_glue_unregister +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 0xc547d163 ocfs2_plock +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 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 0x280a2278 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x70c5be70 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x7b7b6bb6 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xa7426ba7 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xc83f7ed1 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xea0ee967 garp_request_join +EXPORT_SYMBOL_GPL net/802/stp 0x4b5c3680 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x6e8cac1a stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x1a6ceaff p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x566b909f 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 0x52cf0417 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 0x014e9de0 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0f5b72a7 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x170c400e inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1a77302c dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1c2f33ca dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2407bcd0 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2b0801ab dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c8b5bab dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33357003 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x36a721fb dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3bbd912a 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 0x5e3d347c dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6b4f1288 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x732a31c7 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x73e95e06 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7451ba0d dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x75c66657 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x77223923 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7b394a7b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x81a72ab7 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8637c5fc dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8ea64b6f dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eb68a86 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9cf37358 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e14cf85 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e6200d5 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa165fac7 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8e60bae dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb913109d dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc20470f0 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc9909de8 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcbad566c dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcd79998e dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xda288f0e dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf33a594f dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfc9c8d34 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2a9fc5c4 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x50bf2313 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5aaa235d dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x75af6a4c dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb73f2cb2 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfbfe57a7 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x040d3cd9 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c59105c register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x54a726dc gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7bc7e2ee gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2629d90a inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x30c7fd83 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4e6427e0 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x789a5abb inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x93b842e4 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xfc04e79d inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x7eb0b8c3 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x9d4382c4 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 0x7a93755d 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 0x160695b2 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 0x56a35b45 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x944b3df3 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xafc45db6 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbd2b05e9 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 0x1cc01e2c tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x330e3d1a tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x58fc5105 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x6122e91d tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9dbd4f94 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x5c236e14 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 0x04d7d52d l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x052810f2 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x090b118a l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x24e5948e l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2b6c4b7d l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3d3d6fea l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa0ceb3fb l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa7c3704f l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa7de5e6b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb67cb26b l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbff6226a l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe875ab45 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x16321860 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x285ae4ec ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49d07d33 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7aeba3d6 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x86216886 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa16a19e0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa19fb5fc ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcf1b8aa5 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea689c6c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x08f4f877 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x291a76cb ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x33076e65 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 0x4fec7cae ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x60a0af24 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x67958913 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x78cb0de2 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7ed61060 ip_set_test +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 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdbcbb79e ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x5dd4a360 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa46355fc ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xbd936b94 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf8bbf55e register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x071295b1 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x076a1036 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x122af173 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16304693 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1884151a __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25dc7dc7 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2a66c313 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3555d533 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x398e04dc nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3dd60e8f nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e0c4b68 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x424c29e5 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4363b412 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4687ba39 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5167fe22 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56530e1f nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5853f920 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a8a2135 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5b40f4b0 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6402e32a nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6cd62c49 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7155d690 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7740b9b6 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77ddf8af nf_ct_expect_find_get +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 0x7bc2a708 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81d0776c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8333f353 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86f10771 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a3f4156 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a6f97f4 __nf_ct_refresh_acct +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 0x96204a50 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x985fe695 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98b67394 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b9d3e99 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c2cd222 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9f7dd563 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa61e2954 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa891f8cf nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9436231 nf_conntrack_free +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 0xb23b50ea nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3929341 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3ffb31f nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4acbdbe nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6be49f9 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6f0626a nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd7c0142 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbe0b11f5 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbee5654f nf_ct_delete_from_lists +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 0xc44eaa8d nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc4e8e283 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6652ee1 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcd7f5828 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5fa9e86 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbbeb4ad nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc287f9a nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd193782 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe1c7ca97 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe263a9b7 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe57912b2 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7ccfc04 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8445cc8 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9eed4f6 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xefc5fa9d nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf5d7805d nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf6879c2c __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x7b0ef39f nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x74c0944c nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xae5c2d5a nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x01f69cb5 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1c88ea0f nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2a9ec4fc set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3a857adb set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x62fc59ee nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7e2cbefc nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xea0e63f6 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf6268e07 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfa64c184 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xff5b2658 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x49335067 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x796d70cd nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8395d4e1 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x90cd30ab nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xe9dbf466 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9e466124 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xeb72f94e nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3862440e nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6a95cac1 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6f47b475 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7b5d2d0b nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa38f2349 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcbe151db ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd7e3e00a ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdb14d0f7 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe041a0ad nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe96756bc nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xeb7731de ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf02c78a0 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf252c812 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x94ee2922 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x5311bc0e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x9170bfa8 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2241646d nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x40375c3c nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8be4c987 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa1d8c2b8 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa9146a45 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb7a132ab nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x4494bafb nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xdade3a1f nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x01a02f74 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x079bc0ef xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x53acb316 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x708b3e66 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7b91b784 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x830690b6 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x88624d7e xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xab2aee5a xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd2a6aa5a xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe56665be xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xea01b313 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xed526f23 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf7e709cc xt_proto_fini +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 0x0f15da74 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x127a7274 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x14eb6c55 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x24e8307a rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x267b8591 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x26f02e50 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x27624288 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 0x370cd2d7 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x38da29ca rds_conn_drop +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 0x68b9cc5b rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x711f31eb rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x9343100c rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x99db6ef1 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb7d63800 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xc220818d rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xc2c4ae5e rds_message_put +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 0xd434f63d rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xd48426ea rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0xdbe20fa6 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xdf3bcde2 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xedae515d rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xf57f1211 rds_inc_init +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x1bb22769 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xad04bac7 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 0x1547d102 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3bc09c14 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x43f474b3 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4b590163 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5a67d305 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x63f21140 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6a184bf6 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7bfcfe28 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7c9cfd81 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8954f0cb 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 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdcf1df66 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00c0576e svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00dc94dc xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00dfc2f0 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05464114 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05619bf9 xdr_skb_read_bits +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 0x06f43238 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0941345d rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a335400 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0afa7951 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bae9bec xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c29cb02 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d64c1a9 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ed12423 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x125cd172 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x153a6ade xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x158df26e cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x160f580f rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x188bf37c svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18d084b1 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1999c6cd svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c0a0822 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f15d5b2 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fea7a34 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x224f6922 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x227442cc xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22be3293 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23765bc4 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24fea944 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27508eaa rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2864d9f5 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29a5eec5 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29ac28e0 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a040974 rpc_d_lookup_sb +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 0x3034515e __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x308ff5e2 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x310bc83a xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x324be336 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f18d85 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3802e64e rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3984dfb2 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ad57513 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b9b0770 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x421babe4 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42ad3e85 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x448107ff xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4651a3cb rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47a9ae3e rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47d1a243 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4886584c rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49c11807 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49fd1b1c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a99b110 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bf34cbb xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c8e9ca5 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d1074de xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f942d90 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50327adb cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5106293b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x510e97ad rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x527e966f rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52f0ccf4 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5758112d xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x584e8525 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58ad7826 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f15cdf9 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60bfe1b9 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x618bdbd6 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64496d52 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x653ebc3a rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a092125 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b7c0b60 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c4ff018 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d7d1b63 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dd383dd rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e81011a svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71061ee1 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73d7dd2a read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74020dca svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7599ebe6 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7673ed9a rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x786d54e7 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79142df3 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7964d0bf svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79c7e75d rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a25ac2d rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b4a6b89 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cb3f51e rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cbe4602 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e75601b xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80e169b6 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8507a1b3 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85fe47b3 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8665ede0 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88799778 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x894fd754 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x895bcbce rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ad7646a xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d59d658 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f119519 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fcfde06 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ffdefd1 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91a9f1ad sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91f0f7e9 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x940f2dc8 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x947c0dd6 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9562aae2 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96953c50 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x987a2a9b sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b4fb2f7 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bad750c xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bb8b27d xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bc0595d xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9dd48843 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e719379 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0dc7ab7 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1d70dde rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb23707ed bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2f32fa7 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3414272 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb41e5b34 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb42cff8e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4b58014 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5610595 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb720a7cb rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb72526a5 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb76453e1 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7ce974c svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb82892a2 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb27daef rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc9004db svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd12ab4d csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd405449 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd60979b rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe4d27a9 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe9479dc rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbef2c0d9 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf2111bd xdr_encode_array2 +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 0xc1d7a9ff xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2f07f10 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3ef22da svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3fac1c9 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5be611e svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6d6de96 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7c224eb xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcae633d8 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc50d5a3 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc608f8f xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc67554b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd464460 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce606564 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfc14f02 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd923d528 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9b78019 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdaa188ef svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdce1e354 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde2aac5d svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe04c44bb rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2604212 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe46e2ef7 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5522867 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7890ac6 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7c6e6ce rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee082ccd svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf280014b rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2b64155 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf74f743b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf927346b rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf940b85f sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc61fcaa rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd7fff15 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe7e09e9 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffac58c3 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/wimax/wimax 0x055d02ac wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x07aa52bb wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x14066299 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2fa1ccb8 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x472be3dd wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5449c646 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5d1f45b4 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6a232e77 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7a090e12 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd6102e5a wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf92e3243 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfb9d6bc2 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfc1cb8c9 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0aa406f9 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1c92c679 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x226519c2 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x65bcef7d cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x817a0e5d cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ed05598 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x95d04263 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x994e8fe9 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb09ea103 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd46a1183 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe6550f67 cfg80211_wext_siwfrag +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 0xb6677fc7 pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x5566f6dd ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9911dd1d ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb72bb731 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe0be33e0 ipcomp_input +EXPORT_SYMBOL_GPL sound/core/snd 0x075642f8 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x1e568ae2 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0x48697e83 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0xa3fde145 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xf5b589e0 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5854f78a 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 0x0125d505 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x67df0af0 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x88a7a516 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xac9e05db snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xc56d8d9d snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf4083b3a snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x020ea0a4 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x044baa4f snd_hda_add_codec_preset +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 0x06d04782 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x077dffa1 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f6eb020 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1156de6d snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1292ac4a snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b2705a8 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1efd5733 snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x207f30e3 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25110cee snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27672ae6 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28a5d21a snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bddea69 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e0d4dee snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x31514a4d snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32c76f26 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32eb6c75 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x332ea6a2 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34bd5c35 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34ed9146 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x367dcf9d snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37296f79 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3841a1a9 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b03ca70 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bb234f3 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f45420c snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d695400 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x503b0a71 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5299e90f snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53389971 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5461898b snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55a9e0a8 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57d9750e is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a5a1859 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b4750be snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f18c7ce snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f4ced6d snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6111d3d4 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61770d4a snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x621f7df7 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x633715fd snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x652612a3 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6667c5ce snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6786bbe2 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68372139 snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x686e23d8 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68ca899d snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d63e139 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f7847c5 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7330c088 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74b2df57 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75d9286e snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x766c845d snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ae3e991 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cd9197a snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e59e396 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x816f23be snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83b894ce snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x844e9632 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x899da52d snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x89f6e669 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e5ccf9d snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f43614f snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9048c721 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9124e6d4 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93213c3d snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b0e3c91 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9d0fd308 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f8c5d65 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fb0ac60 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa39adf84 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa553b790 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5fda8f4 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa708ecc4 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8664508 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafe5a9d2 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0a52877 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0eed785 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb27fd5de snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb362dbd6 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3c4286a snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3e0c3a0 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6c32971 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb76cc85a snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb31c72e snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc23b49c snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcb120fe 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 0xc0090185 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc23ac2b0 snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc5ffb531 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc736a1e0 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc99a512e query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce152f34 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce500aba snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd100539f snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3814bf0 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8a58846 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9dcdeb7 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb1ce590 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdc774c56 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf8bcc49 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe33b2234 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7903de7 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe894af3c snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8e6ca90 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xea96342a snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeca5c3ff snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef27a028 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef64d54f snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf403e169 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf433e5a7 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb384b1a snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc31af66 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc496171 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xffd4729b snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x1e03bbc2 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xa92cf5e7 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x8553c30e v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x0d82b171 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sn95031 0xf1257d38 sn95031_jack_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x0df6597f tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x6bf00d11 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x28ff0d42 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2c50dbdf twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x80374f77 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xde0df496 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xeef9784d twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x37e52258 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x150908ce wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x1d8e41fa wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x1da942ba wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x40403f18 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x594c7aff wm_hubs_hpr_mux +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 0x60901914 wm_hubs_hpl_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 0x7b9ee448 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe67c7063 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x7cd81f1e wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xdd992464 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x0bc6e0b3 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xa2f78dfb wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x567a0d03 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xa5389f0b wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x1915e267 wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/mid-x86/snd-soc-sst-platform 0x2428fb01 sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/mid-x86/snd-soc-sst-platform 0xc35cc424 sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00ccbe39 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d3a08e3 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e36d56a snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10c493b4 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13a60eed snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14401755 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x144cb617 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a5f45ba snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c039c1e dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c42d0f2 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x207a81c4 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2124c383 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x235777c2 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2504ef29 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25285be4 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25a9be9f snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27d24a47 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28c585bd snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29eac70e snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x329962c1 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34e452dc snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x379d1bbd snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x396969ac snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b1b2a9b snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3be50a3c snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3db64983 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40d9aa81 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4375508c snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4715fbfe snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b1de175 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cae38e3 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d3477b7 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dd3c323 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54c5d955 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c3461c4 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5cf52d6c snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d7a96df snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x622d71af snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65641ca8 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65d02b56 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66730f1e snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67749b5d snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x680683ba snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68f97380 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69f8e5ae snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cb73d2a snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d200765 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e602a96 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fdbb9c1 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7030aec4 snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73050209 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73eb65b0 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7491c568 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x775b52e5 snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b6d9bad snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c58f6c1 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81468fee snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x816ad898 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83342c6e snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83e66610 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x856b847d snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8897403d snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d5e7417 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d88dd5e snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e18323d snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e5efa07 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e97d296 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90d62b55 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9298c573 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92af1f8a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94f9d4ab snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96c5e16a snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97483d80 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d68c6ce snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d93119d snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e41c886 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1b1bdb7 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa2375f0e snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa34dde02 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6465dac snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa859f7bb snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8b2523a snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9a64cdc snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaaff8cfb snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab57c0cc snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabcee4b2 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xacb27234 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4d7906c snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6d154bb snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7967a8c snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7b2fc85 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb2e5710 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbfcc15f snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdf2f638 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6698d9c snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc682dc45 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcaaad23e snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbd42878 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce928d68 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf4c104a snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcffddea1 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1111991 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1413d8d snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd601b5c9 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7338c5b snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd828acd9 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd85da561 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8c60310 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda6c3ea4 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdaa08b74 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb4b679c snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc266f26 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddd9925e snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe35435b9 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe382d37d snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3e8015b snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7b60fd2 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef8e942f snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeffb06d9 snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf06b1df4 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf10d1770 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf15d42a0 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf29b33f8 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf54ea83c snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf91d5b69 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x005d72d2 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00791ae8 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x008b0d15 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x00956802 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x00a4ae0a transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x00b6c993 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00c5411c tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x0109fa29 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x010db10b sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x014e4b59 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x016671d3 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x019bb9a8 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01cc2586 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x01d11a05 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e4d5ae nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x01f1d1f9 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x021947c0 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x023f6ee4 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x024043b3 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x024cc21e fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x026211e2 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x02876909 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x02c467c5 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x02e933e6 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x02f49ac6 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x0339d033 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0343e57a each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x0345ea9f rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x03882d6f driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x03e2efcc dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x0471db55 wm8350_set_bits +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 0x04cbefd4 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x04d69462 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x04ef8a1b __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x053bba45 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0577aa56 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05f17283 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x05f84e71 __class_create +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 0x06765e23 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x06963c36 intel_msic_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x06ab47b3 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x06d22282 md_run +EXPORT_SYMBOL_GPL vmlinux 0x06db0c71 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x073551ca attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x0758d905 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x078c0137 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x07a98a6d simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07d20a36 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0x07f300c3 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x0847a537 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0855024c vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x0858bb06 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x0865f535 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x086b187e tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x087c2524 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x0892c1e8 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x08bea3ef power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x08cf9580 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0909661a dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x090eb935 zs_free +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092aba9f sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x093e4517 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x0962d0e8 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0975f5b8 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x0a08b412 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0a3c7067 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a86a9b3 device_create +EXPORT_SYMBOL_GPL vmlinux 0x0ac34209 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0acfeaa5 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x0aefa953 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b19ed7c apei_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b643277 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x0b98b7f5 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bcb022c ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c120df9 print_context_stack_bp +EXPORT_SYMBOL_GPL vmlinux 0x0c21cacb cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x0c2abe8b ref_module +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c343a7b bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0c6e188a disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c82b111 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0d35d494 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x0d36ff8b bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x0d5a1b50 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x0d6eb8ab vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0dbe1829 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0de628f1 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x0dea2d67 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0deb0ade register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x0df5af3a cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x0df95774 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e19b210 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x0e3e505b pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x0e50914e cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x0e595304 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x0e770427 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x0ea962a5 register_mce_write_callback +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ed84c12 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0eede84e tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x0eef6dc1 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f1aa1c2 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0fa138de xen_hvm_need_lapic +EXPORT_SYMBOL_GPL vmlinux 0x0fa46f0c wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0fa6b190 d_materialise_unique +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 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101d4dcd regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x10210d75 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x10214e8b dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x10273254 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f59f62 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x1110960a led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x115c66ad pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x117123a3 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11c3bf3c input_class +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f59b39 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x123ad178 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x123bc9e8 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1250ce4a platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1293643d adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x12a8e204 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x12b67b2b wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x12bfb26b sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x12c15049 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x12d0aa0e inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x12d544f5 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13058388 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x130f4d28 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132b64ea fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x134faf36 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x13867c67 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1386b99c inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x13abf850 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13b98abd virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x13f17c9e regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x13f3e3fb klist_init +EXPORT_SYMBOL_GPL vmlinux 0x14054c65 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x142ae8e4 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x142f1bc0 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x1448c0c9 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0x144f767f inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x145784d1 gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x14622464 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x14663668 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x14f8ff54 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x15010e1f arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x15304626 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x153a0c91 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x15568631 lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1594acb9 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1595cca6 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15b70fdd dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x15cd992e rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1603c49f n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x161b4f8d fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x162e9c60 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x1672574d dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x167b69c6 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x16ad5615 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x16c203f5 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x16c57b0c unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x16d01dd8 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x170e7d36 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x1715ac95 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x17169728 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x171b577b unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x172e72d4 vdso_enabled +EXPORT_SYMBOL_GPL vmlinux 0x17518b47 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1758f654 xen_swiotlb_dma_mapping_error +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x17b6ea5b vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x17be9d47 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x17c8431b blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x17f78860 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x180861ed sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x180b955a digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x181ba943 usb_get_current_frame_number +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 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18a3d9f3 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x18c8ccd6 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x18c9f605 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x18ca8c5e wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x18d02645 fat_remove_entries +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 0x18fd6e1a fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x191043f0 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x19496284 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1959cdc2 __scsi_get_command +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 0x19b37f72 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x19eb375c fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x19f68156 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x19f86fb4 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x19fbf93c ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x19fd848f single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a1f44e2 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x1a2ca188 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1ac0e048 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1afa077f power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x1b1f2bda speedstep_get_freqs +EXPORT_SYMBOL_GPL vmlinux 0x1b242b69 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x1b2a5a14 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x1b417630 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x1b4d7c32 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b7adb01 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1ba73ae5 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1bacdc7b ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x1bb21345 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x1bcb9ed5 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x1c1292de usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x1c206ab4 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5beb68 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8cd5dc tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1c8d5422 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x1cb26cb0 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x1cd507a4 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1cd89a5a sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x1cdf8b78 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1ced3f67 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x1cf178f9 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x1d2b1e03 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1d3fff1c zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x1d459685 xstate_size +EXPORT_SYMBOL_GPL vmlinux 0x1d485573 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d739e1c xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x1d88f93e __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1db86280 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x1dc73c8c zs_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x1de2a49f ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x1e02bd74 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x1e175dd3 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e46888d ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x1e61dc53 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x1e6e7afa pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x1e7181a7 simple_attr_read +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 0x1ec6a83a usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x1f3efa0f s5m_bulk_write +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 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x20159020 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x2060b2ed bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x20953c5f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20cec5dc key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x20dab947 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x211b5592 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x212e5c8b usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x21369ee8 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x2141ae6d sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x214f8481 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x21aa3e13 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x21b3f73d srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x22094290 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22ab42e8 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x22b76666 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x22c3fe9c flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x22cb95bf fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x22e85e41 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x22f29e27 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x22fe9a90 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x23086c28 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x230bb624 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x234b655a da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2381be7e register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23a43571 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x23f285c7 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x23f78fe4 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x23fc5bc8 device_add +EXPORT_SYMBOL_GPL vmlinux 0x240580a9 xenbus_probe +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x245262ce pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x245c6cc9 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x24758b6f scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x2476e26a ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24a11638 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b73519 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +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 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x2568a11c rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x2575dfab crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x257ad627 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x25b97cf3 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x26423707 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x26ae90e2 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26dc2161 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x26eb9e4b dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x2702f280 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x2715c3eb dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x2741106e usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x278ec596 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x278ecd16 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x279ca9b3 xen_swiotlb_map_sg_attrs +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 0x27fd0bd2 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x280cabe4 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x280e4516 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x28185e9d wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x2843adee perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x284669d4 zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x286cc2a5 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x28805ab2 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28c52f5a subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e2b4d0 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e9c2f4 xen_swiotlb_sync_single_for_device +EXPORT_SYMBOL_GPL vmlinux 0x28fcd20f usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29059b53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x291d5153 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x291d56b4 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x293f073e vrtc_cmos_write +EXPORT_SYMBOL_GPL vmlinux 0x2976818e simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x2986c635 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x29c5ba23 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x29faa7ef md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x2a24e077 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2aa617cf mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x2ac36de7 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2b097dfc device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2b0bec59 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x2b1e20ae fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2b46f062 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2b4d7679 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x2b54e167 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x2b638af1 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x2b67f096 speedstep_get_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2b87ec38 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x2baa0565 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x2bbb02ab sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x2bd66f01 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x2be6155f dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x2be7fb8e disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2beb9428 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +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 0x2ca28198 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cba736b inet6_destroy_sock +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 0x2d1c8263 dma_buf_kunmap_atomic +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 0x2de6d9f0 wm8994_bulk_write +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 0x2e5b756e cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2e8b6c8c __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2e91515b pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x2e963e8c debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x2eb76e2f transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ef0dce3 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f5d8ec8 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f977b1a task_xstate_cachep +EXPORT_SYMBOL_GPL vmlinux 0x2f97de38 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x2fa42838 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x2faf7889 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2fb0969f pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x30386e21 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x3051bd3f timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x30714b10 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x307d4993 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30a8cb7a page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x30adfbee cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x30caf926 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x30cf28e7 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x30dcdc67 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x3101ae1b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x315a1a92 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x3183be7e debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x319d05fe usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x31b09ab5 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x32010521 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x320e1105 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x322260d2 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x3225659c cpufreq_get_measured_perf +EXPORT_SYMBOL_GPL vmlinux 0x3241a99b perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x324626f6 pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x324e490a yield_to +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x32923c4d fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x32924a4d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32e52e5b cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x32f24a69 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x32fd4b62 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x333228ec intel_msic_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x334deb02 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x3380ec6d fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x33936ea2 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x33950d59 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x339576b0 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x33a98b3c cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x33b96e5d apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x33ff3d81 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x34076a7b xen_swiotlb_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x34162ce4 swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x344b92fb regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x346c5ad5 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3482a926 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3494900f __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34e61ff1 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x35227b73 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x357b187b gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x35ca66c8 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x35f3ae51 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x36066507 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x360d3c3a dev_pm_qos_remove_notifier +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 0x36595a3e debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x366df3b3 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x3686b7c1 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x369acb4c crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x36ab29b5 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36ba2551 intel_scu_devices_destroy +EXPORT_SYMBOL_GPL vmlinux 0x36cbc4cf device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x36ec7321 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x36f0e965 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x36ff9fd7 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x372d1f0c pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x377266f2 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x37751584 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x379344f2 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x37a252b2 usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x37d01a55 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x381e23ae inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x38304aa6 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x3841ab01 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x38620e38 gnttab_grant_foreign_access_trans_ref +EXPORT_SYMBOL_GPL vmlinux 0x386f9adc pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x38989700 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38c204a1 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x38fbc7b0 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x390d79aa cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x394246ca pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x39670247 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x39b0b1a6 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e670aa kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x39e97749 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a38dc65 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x3a3c2b32 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x3a4863fe sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3ad4bd66 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x3adb532d crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x3aecf944 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x3b7145bb apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x3ba4c531 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x3bb48dec led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x3bb5f081 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3bcfd84c blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bebca32 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x3c3402c9 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x3c47696b crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3c4fe9e1 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x3c747ae2 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c9c7e45 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cec93f2 device_move +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d0f57d7 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x3d20b97e sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3d2c0d4d __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d390ce1 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x3d4112ee relay_open +EXPORT_SYMBOL_GPL vmlinux 0x3d546888 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3d870467 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x3d99a9d2 rio_mport_read_config_16 +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 0x3de7ce77 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3def2216 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x3dfcb599 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x3e064125 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x3e128c71 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x3e6a83c6 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e757637 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x3e791604 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x3e7c0320 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x3e7f0dfc __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3eb07a96 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3edfd50d ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x3ef0c856 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f120d13 css_id +EXPORT_SYMBOL_GPL vmlinux 0x3f1ca6c5 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x3f229c4c oops_begin +EXPORT_SYMBOL_GPL vmlinux 0x3f3ad15e sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x3f74bb96 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f922442 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x3fa03019 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3fa68177 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x3faa6ac3 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x3fdd26dd zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0x3fe92d0a mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x4002cade iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x4014da18 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x401e0a92 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x402b5d73 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x40322be1 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x408f29b9 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x409b6fd9 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40cd761d vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x40cf5db8 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x41159f3f exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41233337 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x413b4f2c acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x4145f087 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x414b4ee9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x416769ca pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41ac794c relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x41aed5ed fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x41e08b0a queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x41e36ca0 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x4245db27 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x426014f0 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42a34a8b shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x42a72977 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x42afd112 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x42c989ff iomap_atomic_prot_pfn +EXPORT_SYMBOL_GPL vmlinux 0x42d7b0df usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x42f98710 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x4319b7f9 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43386cde usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x435e6c6e crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x436da38a crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x43977a59 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x43a26bf8 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43c2194d pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x43db95a1 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43fabe2d hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x44274a46 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +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 0x44cc9c55 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x44d00dbc devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x44ec4dae pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x4512b086 intel_scu_devices_create +EXPORT_SYMBOL_GPL vmlinux 0x4519682b ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x4541fe5d pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x455cb90f stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x4568c58e rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x4570cdb3 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45819276 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x45adb8cb usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x45b3986f fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45dfb016 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x45fa2f9a wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x460446fd dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46079032 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x4621bab0 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x4635b465 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x466a9f83 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x4671fc99 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46cad91e mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x46e635ce mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c8a833 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x47e88a1d dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x47f95683 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4847b5cb fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x48682db9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x488e7da4 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x489bc2e1 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48bfffc1 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x48d4df2d driver_find +EXPORT_SYMBOL_GPL vmlinux 0x48d587b8 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x497caec4 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x498838e4 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4999e451 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x49bbfa0e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x49bf26d8 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x49db8db4 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x4a00765d get_device +EXPORT_SYMBOL_GPL vmlinux 0x4a05fa6a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x4a2c8226 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x4a45bc23 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x4a5ddecd zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x4aa8a8c1 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ac82a3e usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x4ae1d50f xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x4afb573b vrtc_cmos_read +EXPORT_SYMBOL_GPL vmlinux 0x4b12b52b fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x4b2a9988 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b488d30 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6265b8 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4b81a955 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x4b85550c __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bde1527 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4bebffbe dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x4c10d14d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x4c16f764 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x4c58cbbb xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x4c5be174 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x4c5cf56e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cefe3a6 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x4d3074df rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x4d529c02 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x4d6f7bae fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x4d8f8d9e srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x4d902214 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x4dac507a pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x4db8747f uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x4dc0683b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4dcf6ee5 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x4de0aca9 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x4dfadb55 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x4dff3a38 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e49c9bd blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x4e57723d apei_read +EXPORT_SYMBOL_GPL vmlinux 0x4e66edc8 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e89cf0e ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x4ed6e906 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4eec5f4d ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efaa814 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x4efd6806 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f2f6938 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x4f3006fd hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4f3890e2 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x4f3c5f9f regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x4f40b523 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x4fa75363 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x4fa91197 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x4fa9ba99 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x4fad7ef8 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4fd3a04f ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fdf462b clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x500053e4 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5001fc5c xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x50245138 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x5032b3e6 bio_blkcg +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 0x5087a8d2 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50ba3bec acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e61bd9 pm_wakeup_event +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 0x5108b3fc acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x5142ea47 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x514c80fb tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x51827ae4 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51cbf517 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x51d59819 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x51e58d81 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x52463a25 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x526fee42 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x5286f9b3 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x528d24ec device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x52c755b7 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x52d090f2 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x52da3e33 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x53001559 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x53174ef0 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x5322d8e8 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x5330b5e2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53605ed8 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x536ebc72 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x538f8a5c __pci_reset_function +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 0x53d372fc driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x53e5f624 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5484eda9 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x548ee4f9 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54cd9b04 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x54e4502e bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x54f74436 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x552f7a51 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x55346dba spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x553923a8 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5551c680 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x5571f44b blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x559a4c0d __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x559cff0a led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x55a9601a platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x55d15a9d device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x55d8efcd sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x56204a7b pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x562775ab bus_create_file +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 0x5641c480 shmem_read_mapping_page_gfp +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 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56ad6c5e part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56c06af2 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x56c4ae94 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56ec5781 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x57173afe tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x57344e84 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5738bbaf debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x573b0521 xenbus_dev_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x57538b5e usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5774468f device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x578573b8 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57aba04e fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x57bd967b platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x57be368e inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x57e95cba stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x58008bc0 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x582dd95f usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58606f4a fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x58bd6026 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x58f16df0 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x58f1e08b devres_release +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x5907f85f bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x591a0263 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x5983a797 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a063909 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a41638c __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x5a421f0d sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x5a441ebd efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x5a44ba3b virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a4867c6 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x5a6a85c7 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5ae0eb9d rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x5aebd5d6 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b577791 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x5b69986b register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bc46a40 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x5bde9ade xen_swiotlb_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x5be1f3b4 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x5bef7826 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5bfc6e06 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x5bfeff28 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x5c058b4b add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5c204ee3 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x5c5768aa usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x5c5da411 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x5caf5307 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5cb80dcf input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x5cf5923c ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x5d090dba raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d2ed152 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d46a77f tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x5d48a650 m2p_find_override_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d8bff87 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x5dc8cea6 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5f1835e3 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5fdc8abd posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x5fdf043d __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x60044352 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x603b0727 m2p_remove_override +EXPORT_SYMBOL_GPL vmlinux 0x603e6df8 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x60481843 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x604a112d regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x605205ac usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x6054bafa wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x605e7b96 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x606b804f pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x607cb4bf __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x609478bb rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x609a3bb6 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60f14bc0 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x60f1a670 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6116d091 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x61183b79 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x612a8ef9 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x61338b0d rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x613ef5f8 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x614688c1 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x616b7f9c __mrst_cpu_chip +EXPORT_SYMBOL_GPL vmlinux 0x6190871a tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x61b9038c iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x61eaa1b0 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x623803c8 hest_disable +EXPORT_SYMBOL_GPL vmlinux 0x624367db subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x6252f1d2 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x62824e61 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x62963fc0 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x62f61357 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x633ce2f8 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x6345099b ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x635ec980 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0x63877c60 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x63b02efb crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x641a2967 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6434fc07 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x643b157b md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x64450aee tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x649a1af9 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x64bb7266 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x64ed74cb pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x64f49179 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x64fd4bbc watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x653555a8 user_match +EXPORT_SYMBOL_GPL vmlinux 0x653cb02d intel_msic_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x6592c5e7 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x65a34c41 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c6a338 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d26e6f ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65df5e22 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x65eca383 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x65f1d023 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x65fa533b usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x65fa709a set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6616c7e3 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x662335e2 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x663c16d6 gnttab_grant_foreign_access_subpage_ref +EXPORT_SYMBOL_GPL vmlinux 0x664f7d31 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6664b21f default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x66670485 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66ca4d50 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x671c18a5 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x671f7be6 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x6724c76e subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x67512f1e regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x6757c5c6 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x675f6a74 __css_put +EXPORT_SYMBOL_GPL vmlinux 0x678a3ded evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x678acaec rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67ab3d48 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x6830bd5e pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x6838b00f xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x684d8178 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6865a2be usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x686b5436 xen_swiotlb_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x68710251 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x68a27aa4 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x68a4c04e kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x68a71e80 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x68cadbf0 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x68d83835 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x68fdcfbd scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x6901c0d6 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69274dba unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x69349bc7 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x693aff8c xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x695511c9 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x698854e8 cpufreq_frequency_table_cpuinfo +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 0x69c03ee3 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e1d98e pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a038a07 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6a3dba9a __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x6a45d20d inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a79bf3f dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa24d14 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6ab75a20 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6abcde41 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x6ac2ad89 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x6acad21f acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x6accbfe6 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b3b0d04 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x6b56a55f platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b94c408 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6bb1e9e4 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x6be3daa2 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x6bf85334 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6c1251fd apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x6c338601 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c825308 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d415996 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x6d4ba4a2 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x6d5ce6d4 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x6d7af81c ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x6d8226b8 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x6df3502b dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x6e05b52a blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x6e0db4d6 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x6e1b631c __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x6e278988 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x6e3d1854 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x6e480e2b regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e782c23 iomap_create_wc +EXPORT_SYMBOL_GPL vmlinux 0x6e83d345 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x6e861656 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea0d0c4 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6eb50796 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6ed3415c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x6eda9749 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x6eebd88d __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6eee1187 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x6efba653 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x6efc10c3 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x6efd9467 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x6f09cb5c blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x6f0ef8c7 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x6f0f9c86 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x6f1a5f31 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f66ddb2 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x6f85070d modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x6f998eee __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x6fbc7afe xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x6fd361d8 tpm_dev_release +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 0x70578cb0 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad8134 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70dfe2c5 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70e693d9 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x7151dffa power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x717240ed user_describe +EXPORT_SYMBOL_GPL vmlinux 0x7174582f crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7181561a usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x719e9128 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x71b86537 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x71c3a8b0 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x71f85a28 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x71fbbc29 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x721a6c97 srcu_init_notifier_head +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 0x72820e4f print_context_stack +EXPORT_SYMBOL_GPL vmlinux 0x72855659 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7285f84f unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72c93d7f sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x72f7a1e9 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x73013896 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x73215257 xen_swiotlb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x73303ba8 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x7342b84a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x735b1cd6 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x738fd248 intel_msic_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x739de711 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a809e3 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d10cb0 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73fa9ffb device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x743025c6 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74408c35 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7441dc6b regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7454efe9 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x7492c0d6 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a0c9c4 vfs_lock_file +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 0x74c91903 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x74d19985 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74f38a96 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x74fdd29e driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7534f875 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x753fc64b da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x7557b5fd rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x756450c7 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x7579f22b tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x757ee7c6 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x759826ea fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75eff258 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x7610f838 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x76877ebc ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x769b945b perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x76a048d6 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76de3ebc tpm_bios_log_setup +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x773774ca __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x773f4c75 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x775a6ef5 kvm_read_and_reset_pf_reason +EXPORT_SYMBOL_GPL vmlinux 0x777b7bab usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x7790adc0 aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x779c04ba rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x77c09855 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x77d18145 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x77d69555 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x77e7865b acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x78311453 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7834c482 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x7846f2ae pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0x786678d3 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7866e06c usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x786c23f4 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x787cd43a relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x787cf7f4 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x789a8ec5 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x78a00740 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x78a7a6a4 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x78c31fc4 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79508dc2 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79962342 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x79a71c48 kernel_stack_pointer +EXPORT_SYMBOL_GPL vmlinux 0x79b32fb6 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x79b5f144 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x79c2bff6 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x79c2f2cb usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x79d027e3 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x79dbaffd regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x7a00985c ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7a2ded9a rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a6f5e8b usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7a7c5175 amd_erratum_383 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aae4555 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ac8e5b0 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ae0ff6a bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7aeec1e0 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b69189f bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x7b78c2b7 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7bb811ac regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x7bbf7702 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x7c207da6 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x7c5020fc usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7c5a7883 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x7c5e4d1c sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x7c7c4ce7 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7c882596 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x7c9d3502 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x7cad06bc xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0x7cadd220 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7ce0f989 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cef4d6a irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x7cfdfefd ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x7d10702e __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x7d190f0a tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x7d2f7500 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7d307852 pxa_ssp_free +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5a3f36 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x7d5bb3a8 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x7d6d9edc regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x7d8dd6a6 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dadb29f ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e162d14 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e1ecdc5 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e3d8b69 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e68abdc tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x7e8eb9df rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x7ec22f9a apei_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x7ede89aa device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x7ef96394 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7f29ed9d crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x7f41e663 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7f4f2deb tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x7f845c50 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0x7f86d4b1 fpu_finit +EXPORT_SYMBOL_GPL vmlinux 0x7f9205b4 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7f9dece2 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fa872a1 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7fe3114c inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x800f2d56 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x801ce998 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x803fd0c1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x804d9b53 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x8080c31f platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80a4ebe1 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x80b58603 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x80c6c6c7 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80f9bd8e pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x81047a87 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x810d9231 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x813b0db9 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814f686b ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x81def195 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x81e3f5e8 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x81ecba77 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x82140d91 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x821d3f95 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82525332 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x826cc835 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x82771744 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82a3b8a6 proc_net_mkdir +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 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x82f89884 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x83504b4b usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x83700a43 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83ebd0ae dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x840acc6f sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x840d9c65 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x842a0d6f xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x844c5cb8 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x84a7d082 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x84b546bf rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x84ce12ce usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x84ce9d33 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x85031896 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x850e7f19 xen_swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x854f9e3a inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x85526eef usb_show_dynids +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 0x8593fbe1 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85a8ec26 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85d6ace2 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85dea3db crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x860cbb18 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x862f98a3 xen_create_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x867542f7 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86aa16e6 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x86ba9f83 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x86c0f66d driver_register +EXPORT_SYMBOL_GPL vmlinux 0x86c7eda4 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x8703dc99 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x8734eab0 virtqueue_kick +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 0x876b4b01 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x878c0801 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87c97bc3 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x87cf0a90 injectm +EXPORT_SYMBOL_GPL vmlinux 0x87e60ae9 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x87f84955 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8831f8b1 kmap_atomic_pfn +EXPORT_SYMBOL_GPL vmlinux 0x8887eef3 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b0844e btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x88c2721a fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x88cc6715 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x88f2a164 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x891c1dfc sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x89269601 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x89354774 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x89502f0c gnttab_subpage_grants_available +EXPORT_SYMBOL_GPL vmlinux 0x8956aeae apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0x8968b94c tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x89693614 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x8983a08a posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a6fb824 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8aa968f9 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8aec360a __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8b04668e bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x8b37163f scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x8b66f9e0 xen_platform_pci_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8bb5aa6c debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c1a6524 xen_swiotlb_sync_single_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c4db1b5 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8c57e19a pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x8c6baf17 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8ca7bd09 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x8cc25127 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8cc65e54 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x8cd9f935 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0x8d100b90 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x8d1348c6 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x8d307d61 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x8d59fb9c regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x8e06c666 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x8e196820 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x8e3d95e5 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8e9f8dd0 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x8edfc605 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x8ee31dfe spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x8ee93b72 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x8efc4282 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8f361cfc __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f5b34a6 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8982cb sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x8f8ac682 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x8fa7da75 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x8fabc705 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x8fb576b8 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8fd89d8c ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x8fe78bc7 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90525113 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x905dc9d4 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x9079e808 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x90942cd0 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90b4b8d7 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x90e795f5 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x913c95e9 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x9159efe8 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x916a88c5 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91966964 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x91b428b2 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x91c18084 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91cd1c9c tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x91cd670f device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x92393a83 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x92585fac unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9259dcdd md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x927c2158 xenbus_dev_cancel +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 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92ef8ab3 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x92f06426 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x9312d80e evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x93215a16 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x932da817 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x934af37f iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x935d165e ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x936ca9d0 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x937a2ad9 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x9386a1e0 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93ebda53 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x947de5eb fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x949271ed irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94c318be apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x94d156ad gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x94ec6d05 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9531cf6e xenbus_dev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x959a6e02 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c556d6 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x95da94ca perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x95e845de tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x9604af1a __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x961b4b49 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x962aa799 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x964add15 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x96603ff2 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x966d16af led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x96774cff ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96aaf265 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x96b07e26 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d5e168 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x96d8f2c9 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96efb631 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x97353ff1 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x9744fec9 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x97547b69 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x977f68e1 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x97b093dd btree_update +EXPORT_SYMBOL_GPL vmlinux 0x97e0e3fd unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x97e819ab usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x97f9c45a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x981a0e14 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983568d4 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x9842f28e blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x98470836 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98aa8f9b init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x98ac18bd ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x990e18ed devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x991761f1 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9930ea2a tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x996a2ab4 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x997577d7 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x99ad235b unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x99dcc378 xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x99e378d8 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x99f12b63 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a6f8f5d sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9a9824ef btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9aaa726b blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ae0aa87 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x9ae2fd8e bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x9ae63ae6 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9aecc6b2 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x9b10b984 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x9b2eeee1 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x9b8958c3 usb_usual_ignore_device +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 0x9baea031 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x9bd72b78 apei_write +EXPORT_SYMBOL_GPL vmlinux 0x9c16163c uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x9c399432 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x9c46337f dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x9c4d5989 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x9c4e5cb9 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x9c646e1d bus_get_device_klist +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 0x9d0de1b8 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9d353a76 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x9d3645c4 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9db56890 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9dcfaf53 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x9deca68a xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e0314d8 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9e231ab2 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x9e5d807e regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x9e5e7b1d rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x9e82bebf da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x9e8312f9 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x9eba5600 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x9ebff902 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x9ed307d7 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x9eda7495 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x9ee865a2 pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0x9f118cd9 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x9f211208 register_efivars +EXPORT_SYMBOL_GPL vmlinux 0x9f29601a atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9f2f37ba debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f5f45dd __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x9f67e736 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x9f7af331 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x9f967787 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x9fa0c206 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd9666c usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x9fe8025c unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa00ec688 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa01db1ca tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa01e096b virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0xa0208e02 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa06401a1 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xa077acac __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xa0972ffd regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa0c53576 xen_swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa107eecb virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xa14db67d platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa15f1ce1 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa174fb17 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xa1abb0c3 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa1b0acc8 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1c97e75 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa21ddb67 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xa23ad8c2 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0xa24f38c0 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xa261796c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xa2952635 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xa2986cd1 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa2c79ca6 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xa2ca0dd2 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa3470bb8 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa375a1b6 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b2a84d xen_swiotlb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa41f44de dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa455d5c1 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0xa4602f9f pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4946c98 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa4b04d8b tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xa4b7517e ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa4ca0d4e unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4f83a60 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xa543d7cd sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa549efcc class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa5982e0a devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xa5b6652e trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xa5bb95c0 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa5e9a033 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa64ff96c eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xa65b8c54 blk_queue_lld_busy +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 0xa70742b8 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa722a819 cpu_has_amd_erratum +EXPORT_SYMBOL_GPL vmlinux 0xa79e98c8 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xa7aae053 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa7c4a9e8 init_fpu +EXPORT_SYMBOL_GPL vmlinux 0xa7d72050 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa8038d0c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xa8191cda sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xa82407d1 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xa838b6b8 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xa8604444 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xa8773aa5 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xa8b82a53 xen_destroy_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0xa8d41a91 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa8d51202 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9072fdc ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9208264 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xa931410c pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa9317566 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xa94f349a crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa99f34df attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xa9a82042 gnttab_trans_grants_available +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9d3b480 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9f863d2 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9fc3f54 gnttab_grant_foreign_access_trans +EXPORT_SYMBOL_GPL vmlinux 0xaa096aaf cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0xaa2212ba power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xaa24eeae cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xaa2558ac m2p_add_override +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3904fe ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xaa3f13f7 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa4f1237 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xaa5336fb edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab1297a regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabed9c8 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xaac0ba2a ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xaac703e9 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xaaedfe1e da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xaafbc7ff driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab475a8e fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xab5838dc serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xab682dec platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xabb0fade xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xabba3bbb crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xabc47f60 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xabd07051 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xabd387d8 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xac14dfc5 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xac3c3fbb ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xac56c56d fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xac742b49 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0xac7525a1 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xac78a212 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xac8a15bf find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xac9ce195 kvm_async_pf_task_wait +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacb6c294 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xacdfb8c3 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad817989 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xad843bd6 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xadcf9b20 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xade92753 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae07b294 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6c4432 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xae7c5411 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0xaefb4247 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xaf26fd5f gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xaf31d33e apic +EXPORT_SYMBOL_GPL vmlinux 0xaf51c869 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xaf6635b8 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xaf6a9404 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xaf8abe91 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xaf98889b pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xafa2b7b9 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xaffeeed7 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xb0402358 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xb054a8c0 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xb09713a9 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb0adee56 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xb0b7351f serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d785bd dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb0ed3610 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb129a01f ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xb1369fc1 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb16f29f4 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb190992c inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1a038cc ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb23b8665 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xb25b6cd9 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xb26786c1 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xb27a051b cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0xb2828183 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb289f18d usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xb2ad884a handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xb2c9cdb4 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ec120d ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xb2ec94aa shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb317b5a6 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb326c0ee usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xb35a63a1 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xb380a2da task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb3838b85 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3f5004d regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb404ffc5 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xb40824f6 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb4450259 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xb4783532 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb499d642 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xb4b3d88f ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4e887f0 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb55a5659 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xb578e3d7 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb57bfc46 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5aeae8c devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5d2b1d3 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xb5d8913d register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb60fd2a7 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb6120301 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb650b509 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6536e8f rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6901ae2 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb69236e1 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xb6a6a208 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6bc49a9 __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xb6c19e4e adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb6c77f2e platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xb6deca9e ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xb6e900e4 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xb6e9a679 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0xb7025069 intel_idle_cpu_init +EXPORT_SYMBOL_GPL vmlinux 0xb7059483 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb734650f get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb75286ac inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xb75d662a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb76544ee stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xb79349dc vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xb79e2aaa devres_remove +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 0xb80eabfd transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb845209a find_module +EXPORT_SYMBOL_GPL vmlinux 0xb8535e11 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xb86bcceb klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb879b844 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xb87d7ac1 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xb8864332 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0xb88864df disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb8bc1156 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xb8cb51da ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb8cf65ea pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb912e8d8 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0xb96b53c5 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb976bac3 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xb97dde2d get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xb97e2483 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +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 0xba3260a6 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xba791aff xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xbaa6a7bf usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbab7d653 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbae6fca4 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xbae7fe3d tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xbae965f0 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb3d0418 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xbb3e8828 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xbb3eb460 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xbb58b814 iomap_free +EXPORT_SYMBOL_GPL vmlinux 0xbb6584fc cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xbb7a21fd sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9f154b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbf202a3 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc2bf721 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xbc49b54e tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xbc52aaaa rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc7c3b45 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xbc821abd usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbc982eea devres_add +EXPORT_SYMBOL_GPL vmlinux 0xbca0201a sfi_mrtc_array +EXPORT_SYMBOL_GPL vmlinux 0xbca238ed inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xbcb248a2 user_read +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf05e97 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xbd09147d blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xbd0a0c12 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xbd140078 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xbd16aacc power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd4f01bf tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd7088bc platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xbd9f579e rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xbdb27929 input_ff_create +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 0xbdf739a1 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xbe124ffd tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xbe14ed43 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe299c50 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xbe514686 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xbe5648c6 device_del +EXPORT_SYMBOL_GPL vmlinux 0xbe7e2fd5 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xbe8d59d5 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xbeb00b90 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbef4a5f9 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xbf37478b fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xbf4cd49e md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xbf63ef65 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xbf95b0b6 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfc89573 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xbfdde8fc fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xbfdffe04 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xbfe37434 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xbffcb3b7 acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +EXPORT_SYMBOL_GPL vmlinux 0xc016815c usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc07dd47d pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xc08171c3 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc097f71e vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xc0a48b4d __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xc0a55cfd tps65090_read +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 0xc0ec7d43 use_mm +EXPORT_SYMBOL_GPL vmlinux 0xc10372ec ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc11b4470 balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc12b6b6b pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc164642e xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc19edebe ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xc20973b4 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc20d123c ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xc20f0391 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc292d77a tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc395ee35 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3b974af pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xc3bd4952 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xc3fea19b sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc4031455 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xc414b1ca dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4373f03 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xc45bad16 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xc461b976 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc4774b40 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc48f7df7 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xc4b1986e xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0xc4c55b14 put_device +EXPORT_SYMBOL_GPL vmlinux 0xc4e3510b fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xc501b2fe security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xc512bdc7 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xc5171653 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xc52a3674 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xc53471ed inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc53d78de sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xc5504e50 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xc5afe5d9 adp5520_write +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 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66e33c8 dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xc67682a9 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xc68b5019 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xc6b54f1f virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xc6e15d71 xen_swiotlb_sync_sg_for_device +EXPORT_SYMBOL_GPL vmlinux 0xc6f0ceaf __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xc7002ac4 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0xc726ad2c led_trigger_unregister +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 0xc7ab1750 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xc7c5510a ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7d0d713 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0xc825153e usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc84ea5f7 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xc8626e68 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc86d5237 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc88f5940 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc8968258 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc89924a7 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8dac30a devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xc8de9dc9 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc90f6e52 tty_find_polling_driver +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 0xc97490a9 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xc9886f89 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xc98e1958 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xc99b5a67 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9cdfc8c tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca02e9c5 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xca065edc rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xca1c7740 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xca41007b pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xca6c9d56 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca80f077 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaa9007a usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcaeed4ca dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xcaf8fccd i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xcb04dd81 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb21479d rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xcb4027f9 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcb537095 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcb62dbae __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xcb697d40 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcb8715f8 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xcb91cc6f intel_scu_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcbce34ff rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xcbd80a80 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xcbe4fef3 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc3da32d aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc736194 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xcc898280 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xcca1666d ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xccaed1f1 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccfee247 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xcd01b895 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcd211b96 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcd5075ea anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xcd78ffac unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd8bcf2b xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xcd8e8851 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcda387ca seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xcdb77420 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd19d2e free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce2a3332 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xce2ba65b clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xce3cc269 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xce43a665 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce88c6ea devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xceddc6aa i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xceeae8a5 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xcef9018e i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xcf74aa78 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xcfad48a7 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc0fca3 ata_sff_drain_fifo +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 0xd088ebe2 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xd0bad2eb xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c2abe8 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd0f9c855 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xd14484a0 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xd148f19e class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1507e59 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0xd1570f90 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1a2fcd7 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0xd1acae87 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1cb63a7 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xd1d11e82 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xd1d1fd79 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xd1f7787c clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xd1f7ecc6 cpci_hp_register_controller +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 0xd2b284df xen_swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xd2c1c323 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xd2c58ab2 apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0xd2d4dac8 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xd2daabff xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xd32ae6be pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd346949e proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xd35c5411 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xd364afae remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xd3698c53 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd38364a1 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd3aba231 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xd3e0e5be ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xd3e39433 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xd3e6528f hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd3f40ee7 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40f2ae1 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xd469f505 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd4a86aa0 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d15843 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4e73ce8 usb_deregister_dev +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 0xd561eab7 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xd570ad48 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5eb39ea usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd610b084 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xd613d644 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xd630a106 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67f2c72 virtqueue_add_buf +EXPORT_SYMBOL_GPL vmlinux 0xd67f5217 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd6888369 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xd6909430 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xd6c1e365 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6c39339 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd6cc8992 wm831x_auxadc_read +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 0xd7121bf9 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd75c6cea vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7a399db device_register +EXPORT_SYMBOL_GPL vmlinux 0xd7ab2c0c speedstep_detect_processor +EXPORT_SYMBOL_GPL vmlinux 0xd7b6e73f mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd808989e usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xd810b8ef ip6_datagram_connect +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 0xd842606b platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xd850c642 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd853c859 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8a599a3 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd8be2362 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xd8cd8dfe crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd8cf78dc crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd93e3971 wm8400_block_read +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 0xd96d9fb0 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xd9a0effb css_depth +EXPORT_SYMBOL_GPL vmlinux 0xd9e9793e edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9fba524 crypto_alloc_ablkcipher +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 0xda42a87f tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda9bc05f ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdabf2d98 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdac91452 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb17502f ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xdb1ee87e rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xdb28b24c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xdb513d80 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xdb6ebf56 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xdb7a4560 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdbb27293 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc308698 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xdc3afbd0 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xdc4d45df sysfs_update_group +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 0xdc8b949e rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xdc97660e blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9c6684 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xdc9f61de sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0xdca75aab iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xdcac6552 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xdcd69028 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xdce12dcf usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xdce57037 apei_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xdd2572b9 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd41ca40 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xddc09dc7 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd5f44d dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xddddcdd0 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde6fc414 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xde747356 intel_msic_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xde8f877f kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdeb24a30 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xdeb3bc10 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xdee33b39 mmput +EXPORT_SYMBOL_GPL vmlinux 0xdefc9fb8 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xdf05d18c cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0xdf0c0f4b pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf5f6685 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xdf7b677c tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xdfa1fd06 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xdfa7cdb5 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xdfc383b8 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xdfc5354a crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe02c62e4 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe03554ee handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xe03f8687 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0ee4147 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe120cd55 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe14ae536 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xe1549e9f srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe17d4227 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xe1962984 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe1ec36d4 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xe24d8d97 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xe255164d ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xe255f897 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2962ff1 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xe2bfdcaf pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xe2cc4d08 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xe2dc0024 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30cea62 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xe31bcdde ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xe322f6f8 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe32aea61 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe39a032c da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xe39dfcef tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xe3a6986e isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe3b29c61 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xe3b913d0 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe41534ce bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xe415aad5 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xe428895a dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe439815c erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xe49bde74 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xe4ba9175 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xe4c331b6 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xe4c623bf cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe4d0f4f0 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0xe4e68bc8 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0xe52e84f8 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xe53ea0b2 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe59d42de fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xe5befd35 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe60f75c8 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6377c51 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe648a40a __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6be0795 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xe6d1c398 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe6d24b18 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xe6d38e4c rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xe6dd3f42 xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6f04edc pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xe707342d ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xe70a853a __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xe713113d crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe777398b tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xe787dd53 crypto_lookup_template +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 0xe825361a dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xe8440f7b sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe89513c4 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xe8de06eb rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xe8eb64fd crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xe8ee5629 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xe8fadc3d ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xe91948bd cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe92af511 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9488532 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xe9573f72 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95e0971 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe95f6281 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe98e55a6 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe98fcd1e scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xe9ca93a6 unregister_efivars +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9e44df9 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe9ed7c9e blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe9f2e71d dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xe9f92996 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea088b11 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea765c36 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xea905975 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xeaac001d usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xeadde77f ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeaf82d2d led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb370805 __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xeb70e45b debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xeb8ff15c tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xeb91dc13 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xebd12a5f pxa_ssp_request +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xeccd4c7c dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xece6562d flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xed52f156 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xed9823c4 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xedcd1eac __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xedcfbf88 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xedf3f1f1 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0xee23a263 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xee274f97 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xee565051 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xeeaf04c8 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xeeb23dba led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xeec24d31 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xeecad0e8 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xeeec07b0 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xeeece938 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xef0947a1 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef23d470 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xef321a83 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef45608f platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef782b88 gnttab_grant_foreign_access_subpage +EXPORT_SYMBOL_GPL vmlinux 0xef7d2c5c pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xefa151d1 user_update +EXPORT_SYMBOL_GPL vmlinux 0xefa1fbb5 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xefb2550b stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xefcbb9bf tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xefcf1488 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xefd0b040 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xefea0386 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xefef0909 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xeff3732b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xeffb4606 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xf02a5fa5 xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xf054ac97 intel_msic_irq_read +EXPORT_SYMBOL_GPL vmlinux 0xf0673fdb class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06c1cc7 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xf07f987d relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xf0a893e7 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xf0c7e265 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xf0d4fe4e timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0e93727 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xf0edf0e4 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xf114e597 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xf168cf17 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xf168e13d ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf19c16c4 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xf1a4b6fb xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b551d9 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xf1bf770d crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf1d41a2b virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0xf1d84eae register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf1ea147e __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xf1ee558b pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xf203d699 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xf20594d6 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xf2294d61 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xf26d70ff usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xf281d21c xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xf28eb5ba shash_free_instance +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 0xf3197d4a usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf34846ee udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf3b437d0 ata_sff_qc_fill_rtf +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 0xf3de021c blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xf4082a40 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf409603b ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a63f41 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xf4aba689 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xf4be20e6 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf4cfb5c7 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf4d00a48 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xf4d3f416 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf51b9a46 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54a34af ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf56e15a6 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf5716d1f class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf57311b5 bmp085_regmap_config +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 0xf5fbb7f9 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf615c8f1 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xf626a5d4 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xf63efa3f pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xf645e955 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xf6550dd3 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf683158f rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xf68663cb ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xf68d05de sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf69e4833 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xf6a5a0ee xen_remap_domain_mfn_range +EXPORT_SYMBOL_GPL vmlinux 0xf6a86b1f pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf6c76b07 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xf6de29b2 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e834b0 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6fc9735 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf70683d5 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf70cad08 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf725de9a bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xf72954d6 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf7322bc8 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7420ddf xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xf7425c2d rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xf75c16bd alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xf765953a inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xf76e3d56 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xf7a14f56 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xf7afef33 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xf7d65c95 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf86d40ab skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xf8741939 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf88e02c8 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xf895e336 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xf8cf6fd5 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xf8d76e6e fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf943ec05 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf956c52a device_bind_driver +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 0xf9b47a26 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf9b63fb2 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9cc3166 mnt_clone_write +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 0xfa31130a class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xfa5e5b57 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xfa843500 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfa84a858 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfa85b94b crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xfaf26db6 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb5974ac find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xfb5b3b0f console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xfb67ff4e ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb7c9f9f dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xfb872fd1 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xfbc91ff6 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfbcefcc8 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xfbd01273 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xfbec18a5 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xfbf66ed8 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc3993f0 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc447d24 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xfc78a449 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xfc7bdd85 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xfc816cd2 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xfc968c8b apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0xfca46cd0 acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfcd1559a pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfced3606 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xfd05464b klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xfd12934c __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd9177a2 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdc279c6 xen_swiotlb_unmap_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0xfdd358cf platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe03bee5 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xfe07b816 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xfe13398a uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xfe1970f5 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xfe201b13 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xfe3ebbec xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xfe4247d5 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +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 0xff360106 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xff456af5 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5f2b0e __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xff620220 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xff8da346 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffb25532 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xffc92e06 device_pm_wait_for_dev --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/i386/generic.compiler +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/i386/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/amd64/generic.modules +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/amd64/generic.modules @@ -0,0 +1,3481 @@ +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 +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 +alx +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 +blocklayoutdriver +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 +libahci +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 +nfs_layout_nfsv41_files +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 +objlayoutdriver +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 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +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 +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-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/amd64/generic +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/amd64/generic @@ -0,0 +1,13422 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x3fccb907 kvm_read_guest_atomic +EXPORT_SYMBOL arch/x86/kvm/kvm 0xff320582 kvm_cpu_has_pending_timer +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 0x1eb36f4b 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 0xd616de5a suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xab5153eb uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0xa8caff73 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 0x0faf2677 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x2009c0a4 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x21da67df pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x3cadf3a1 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x592fa266 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x634cb4b9 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x65f6e67a pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x674cefa2 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x70ea63a9 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x737577cd pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x8e24ef29 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xd8f960de pi_write_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 0x486449b3 ipmi_get_smi_info +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 0xb3b1a563 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbc3be9f9 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd8a78477 ipmi_register_smi +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 0xf267a853 ipmi_smi_watcher_unregister +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 0x1fc0b128 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x02b760a3 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04d0f641 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0db28048 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7d6af8 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x12da4374 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1edd62cd fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x27308677 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x27adc4af fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ce06ec6 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x35bbe484 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39f0f05a fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x406f366b fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4bb572ed fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4e79855f fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x62d8fd60 fw_iso_context_start +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 0x664f142e fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x73786990 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7ef1cf57 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90630017 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9b6ec225 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9c9fa78f fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb0763a9c fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcd780096 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd6be09b3 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd7d41a33 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe985e3a3 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xee02bdc5 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfc310522 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05b048e9 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e5859d drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bbded10 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c566222 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cbb7a0d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1004398d drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10f4ae81 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11ff0385 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x139341b5 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x141c776d drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1483299b drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x189ecc32 drm_gem_prime_handle_to_fd +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 0x1c13ca2a drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c7252dc drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d0b2276 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e80ee59 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20e004d5 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2335d085 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23e48bda drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24c3d419 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x290bb97a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29e3b61d drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b6459f8 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c59950b drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fb4d93e drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3347b81d drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x348fc813 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36242f1f drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3802571e drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38345837 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3880eb66 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3913c481 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a6ed063 drm_i2c_encoder_destroy +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 0x3bc4a22c drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d47a34a drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dbd50ce drm_mm_scan_add_block_hsw +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 0x415f5b74 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x416e4369 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4277b9af drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x456c62da drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x479f4343 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x480ccbd4 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x488f4971 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49db983f drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4af28d25 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2f0d69 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e937bae drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e96240a drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ef9c427 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c1e6be drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51b72b30 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5281fdac drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x542c91db drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55373543 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5836d2b1 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59bfa575 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59f02411 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7318dc drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f436dd0 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x602d19c1 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61021abe drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x628fdca4 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62d27333 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63c10b55 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x645c73e0 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65b87011 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x661f51cc drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6687ea53 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69a38e90 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a4f2e9d drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac8a25f drm_master_get +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 0x6e49ed28 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fcad356 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70e3d610 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7229c812 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72535a1b drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73db3708 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x744b0fef drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7603c921 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77810996 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78032605 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79cd2b04 drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a66fd05 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7accb485 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ba112c1 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7be11a8b drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d44046b drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7db30ca7 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e2410c0 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7efa5483 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x810eced6 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83aeb51e drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x851299d4 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x861bb3bb drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87b8b344 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87f3be4e drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8882d79b drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x889c2dc5 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88f28389 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bcbd9e4 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c101bc6 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ce0e11d drm_unplug_dev +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 0x8e85b35e drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ea56942 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f2807f5 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f6c55fa drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9054bb37 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x907f9110 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9310525a drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x950f4f76 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x952701e9 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x958212e3 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96c579c2 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9866e2d8 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ae71c3a drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9aece6f3 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b3f4cb7 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c71d9f9 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ddbd1c7 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa037973a drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa439687e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5b1b419 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa76b9d19 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7800720 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa96a2407 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac5f3489 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad6d3bf6 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafa5f894 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafbfc734 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafe794b7 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0aa7d4b drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1e6a3bc drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2319c95 drm_agp_bind_pages +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 0xb5fef1da drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb73e39a0 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb868112d drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb90c39ca drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaa5a8a9 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb2969f0 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb799ad5 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb987a98 drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbf6578a drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd63b38f drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeeacbf6 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf09eed3 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfcf0718 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2a11df0 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc377712f drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f212ed drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5e44a9a drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc72185de drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc871667b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca6c3c7e drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd444b34 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd452c2c drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd7e4247 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcda02a18 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcec4e17a drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf43e265 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1ae9331 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd28d16b6 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd307e4d6 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd32108ea drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3f2728a drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4e8530c drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd524a5f0 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5d606b5 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd60221ce drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd68d40a7 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd82d8385 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb219f49 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbe06773 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc192508 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcdc35ab drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xded28fbd drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe66f0b18 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7137875 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8656dd8 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8c43861 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8efd24c drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9562a1f drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00c75d drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaad8a9a drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeac8c343 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedc12f1a drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefa0e8d3 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefd5d7c6 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf090822e drm_mm_init_scan_with_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 0xf3476d90 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3b2bbb1 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7a68cb3 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9d91d11 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd0335f8 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe070d0c drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x008792a9 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x014c00c3 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01fa926a drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x093273e3 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a35533f drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1810564e drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1897938e drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20be874b drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d62072d 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 0x3069cb37 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31d1d77a drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32ec8248 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38dcf1ca drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a341193 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6940258f drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ac933d1 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6fd6a358 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a24d892 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95b2766c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c0bf7d1 drm_fb_helper_single_fb_probe +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 0xa9b79c75 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaeddafdb drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3d2b029 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb977e8ca drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba010213 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbcef59ea drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbcfc078e drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2761940 drm_crtc_helper_set_config +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 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe42698b2 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe44c687d drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed177086 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdeb71ea drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x0c1efba8 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xc44d5569 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xce7fb72b drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x067a8716 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0730220c ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x081d6d3d ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0c662dc0 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0ca0859a ttm_bo_move_accel_cleanup +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 0x1cb95dcf ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1f437dc6 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20725bfb ttm_bo_mem_put +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 0x279da633 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2960390c ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a4d991d ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x305f6d3f ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a0782fe ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4475bc1d ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d43b8da ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e8dd264 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5087453f ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x549435d2 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x564e1aee ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x57d103da ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x58866c0b ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a684493 ttm_bo_wait +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 0x61f71b5e ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65463f99 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67d494a4 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x721ddd52 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x75dd9e69 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7ca80165 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7eb7ba30 ttm_agp_tt_unpopulate +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 0x89e47dbf ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x90839ee7 ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9157600c ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x981a3e81 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x989e3839 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9c708f4f ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4a57d62 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab312393 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb0c7140f ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2df6f94 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb79d1f6f ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb98c377f ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbc23a3a7 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbded874e ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc13b38b4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4d4618d ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc652db66 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcae8a57f ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcdd19bda ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce64de15 ttm_bo_wait_unreserved +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 0xe5051420 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9cd9f61 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeca8b597 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf81972b8 ttm_bo_wait_cpu +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 0xfd6d5b69 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x88d1f640 vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xef92706c 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 0xd4af4121 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 0x3669e38f i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7a1333ac i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe74b7789 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x1b7f5482 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xab83b46e i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xb2415781 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x08705ef8 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x099945fe iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x1941d8f3 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x35660ff2 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x46a92a7b iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x4b020adc iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x51feb58c iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x5208aadf iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x63baa8e6 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x85fa4694 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xa5a84abc iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xaee6e304 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xb1c3ea14 iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xb7528ea9 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xc2d64047 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xcee5f19d iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xcf4537df iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe0deaef8 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xe613aca5 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xed4a73d5 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xf365c51f iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xf6591620 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xfaa66f3b iio_device_free +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 0x414635c7 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 0x9a128d7c rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9d1f522d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x094ce0b9 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x20a6a38b ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x27707f04 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x39021dbd ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x523dbbfd ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x58b4f976 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x68918c8d ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x73cf850e ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x88fbd7cc ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9f6daf2f ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xafc5ef78 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb6956717 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbc38d8a3 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc4c692a5 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcb72f835 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd9470ee1 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xed313fe0 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x070c12c8 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x097a06d1 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c03e01b ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0da45136 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ff92c35 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12f68fb4 rdma_port_get_link_layer +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 0x17df3057 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x193af9b5 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21f78698 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x244d7b99 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x247cb51c ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2480b83c ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ad7cbba ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c7f18ec ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e8f69ad ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31a03670 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32b8726d ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x338f7173 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3688dfa7 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3919bb1d ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d7d88eb ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42f5f089 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42f76ea3 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49c06d8b ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4a1f63c7 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4aa04e59 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x618622d2 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a7c7089 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e01c854 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7481f64f ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76bf89ff ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a2439a6 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fc71a3d ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80f16ec1 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83ff7518 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84e6bddd ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x899ac6ef ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x923c0f0a ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93e3d33f ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa169fdc2 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa29c6232 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa3531d3e ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4da4f11 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb366acb3 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5546bdc ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9977898 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc333590a ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6fb7fc3 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d917ed ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca257b1f ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbb49a6a ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdadfac7 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfb221c5 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1591e71 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd28cf1ea ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd371ffec ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd78dea78 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde3afd3c ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdec2be2f ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf7d994c ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2007c29 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe20d3dc1 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe54e435a ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe61f881f ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea242ad4 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed7d06dd ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf49b559f ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf68707ac ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8c37365 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9a598de ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa4fbb04 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfed90183 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2763771e ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x42fc6716 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5856e019 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5f64aaaf ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x78d3ec78 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x89c51326 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb007d3dc ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbd29d814 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbf77a9ca ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd26afdfe ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe8fc3893 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xecc3afbb ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x22f7f3af ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x2fd0e42f ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x37243c3a ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5944c11a ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7dd27826 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb45c9631 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb8fa1b43 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc1955a3f ib_sa_register_client +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 0x032657f2 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0a485c8d iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x42dce703 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x52fbd776 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x53b4716c iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa1bec143 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcdf8a63e iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3b31be1 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x03e1f66f rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x11687696 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x25e42085 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x42fb1ae7 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x53df547a rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5c36866b rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6051ce86 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6960db00 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x82f8e97a rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x84e572fa rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9441d7c4 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa70ecf1c rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xadeecabc rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbc27662e rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc65de43f rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc7bff211 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc8a3d5bb rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe577a36a rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf922a711 rdma_create_id +EXPORT_SYMBOL drivers/input/gameport/gameport 0x039fbedc gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x0af9ef87 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x12260359 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x33ba05a5 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7f0d847c gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x848a0c2b __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xaad77f9e gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbf5ef3b1 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xdabc28a5 gameport_start_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x581b89c3 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc8d38b98 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xe0fac8ea input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xe1a7e2ac input_register_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xc7494afb matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9643b24f ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9cf66ab0 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xe584a437 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf14fcb9d ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x1342b92e 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 0x162e60a7 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x38ed715c sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3c08cf71 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7213749c sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbb1c048f sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xf589fb3e sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x57ea7efd ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x816c0da8 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x3497c16b amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x419319bc amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x4a80b2d8 amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x9191a365 amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xb03ec129 amd_iommu_init_device +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xbe849b56 amd_iommu_set_invalid_ppr_cb +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 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 0x4ea0a56d capi_ctr_resume_output +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 0x6b637a76 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x714154ac capi_ctr_ready +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 0x91f00b87 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9b0285b7 attach_capi_ctr +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 0xb5547b92 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xca2c1c0f capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xdba6972b capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe2d9173d capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xebbda764 capi_ctr_suspend_output +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 0x33d25c38 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3be43796 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4765e10c b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4d811718 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x59fd042a b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6ec8a505 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7e3a50e5 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x94daba7d b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa101677a avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc48a4ecc b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xcdc6e46b avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd9a0f334 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfb31e44 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xeaf76386 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xffa49a38 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x282d8de5 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x53976828 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x5f00c4dc b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x89e766a6 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8c46d1ca b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8d21be70 b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb3f900a0 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb8da866c b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xeb023a33 t1pci_detect +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 0x04addde1 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xabb2629e mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc3d7fa45 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xec24e041 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf30196e1 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x8d0ee2a4 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x9f48f659 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x082cd687 hisax_init_pcmcia +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 0x00e5eb93 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x1514c626 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x31c64f4f isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x89a8b6d5 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x9f750a41 isacsx_irq +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x746e40dc isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xedfa4b0b register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xf0e8cd47 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 0x0ddd7851 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x253e6588 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30da92f6 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x312e18b0 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ca662c1 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x46912731 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x49e1ceb2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4a54c353 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4d41fb44 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x509e1b63 recv_Bchannel_skb +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 0x55ddbe00 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5ac3c917 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7b7803ae bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x829828ae mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8651ca3c mISDN_freedchannel +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 0x9c908578 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb69f8e4d recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbd5bf25f mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc45e670b mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc6497ab9 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc857bd79 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd43691b7 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd6b2d6da recv_Dchannel_skb +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 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 0x087cae52 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x17a54393 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x44dd7a97 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xc934cb84 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x1cf57982 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x28f8fd50 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x77ede9e7 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fd6164d dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x9cd20c12 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfcabda3c dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x42eb9517 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x43e59596 fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x1fa8ad01 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x74847667 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xa61d34ea mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x80390bac mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x39e806ad mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x1fc3f735 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xc54d232d qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x6a11180c tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0xde7750b9 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x91038428 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 0xf7a277a4 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xfa27e444 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x74d75e03 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0b5cd04b flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0ecadf68 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x354e7790 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4961c9f2 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4a1c73cf flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5d2af65d flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6ba5e232 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6ed639ba flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7316dfe0 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7cfa1f9d flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8c04c927 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9126948f flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x95ff4f21 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa75e71c8 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd31de153 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd8800df2 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe06ea67a flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe4e6d2bf flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xefd460c1 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf9d7208f flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x1771a558 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x885e69a0 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xddcdd13d bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xed8c6d1e bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x037bee50 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0a9e7f42 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x285a08b8 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3413a030 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6b4bf69e dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x83dd9d2c read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa52c179c dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xd7a5e6f4 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xeb98485b rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xba573c3d dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c651bb2 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x236ec3d8 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2fbf4aff dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x383bbee8 dvb_dmxdev_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 0x39fcbec4 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x40df1d29 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x44420bb4 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x48824cf1 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x522905e8 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5443bd25 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5cd2abc3 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x64d6d7a9 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x650aa052 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x69f2f692 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x70e5eb1b dvb_frontend_reinitialise +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 0x85473e29 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x887caf4f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x88d25e5b dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8988cc8b dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8d0df2a1 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x94750e36 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa2a65e70 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb20eadbe dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb290ee7b dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca4965f1 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca636d06 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd1db1be1 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd26dcfbf dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe066191b dvb_ca_en50221_camready_irq +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 0xe88290a9 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe9a6d470 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xefcef46b dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf23798e2 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0382b4bf dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x080fd679 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x382d1a94 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x476d98f9 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7900f283 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x8457fbb0 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe0891ce8 dvb_usb_device_exit +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 0x5a130d18 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 0x30fb5779 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x543c916d dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5e7b1d0e dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9186a54c dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9e98222b dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9f3a5ea1 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xa2ee2f17 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 0xb810898d dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd42352e4 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xdfa814ba dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe139ba4a dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x0384b215 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0xf7fdfc06 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0xaeb8fabf af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x8db51ab8 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x286f2437 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2b669c9f au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x39ed8f70 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x571f3b5c au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x5c0a0255 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x85666b91 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x96cfbf23 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xd94315ed au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x85f849f6 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x8512bfb1 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x1c1d010e cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x27ad71d2 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x53b26c90 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x2631ff3f cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xef8ce676 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x25b4e22a cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x4b06f081 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x5db71ef6 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0xafff5f18 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x3d282638 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x6a7856ee dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xac01afe6 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xba1173c8 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf53ec6a9 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0693ead5 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0f047964 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x31c57bca dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x4a2b3474 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x93fecc15 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xa7386841 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb080aa51 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb7a20992 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xbdd18c72 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd85efa85 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xdf27b847 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe026cea8 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe50d7b43 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe8f97975 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xee75081e dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x5392ceaa dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x11151503 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x46d398fe dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4eed7558 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x668b3b3d dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7ffe92a8 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb3f3a2bc dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x1f46d0b7 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x53fc40c1 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xdbbbc31e dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xf2ee61f6 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x020029d3 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0d17e291 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3ba5b2c1 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x4242b0a5 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x762262bb dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x79e3511c dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa111a4cb dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa7d56cb8 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa8195cc3 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc78a35a0 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc9d177d4 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xcedb3550 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd3ba2427 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe095654b dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe3d9958c dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x02274ecb dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0d528f4a dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x22227967 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3bfaed43 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3d306a7c dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4dee07d4 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5ba56f30 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x73c2ad8c dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7416f552 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8491ab46 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8a033849 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8e937658 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xac2c5399 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb64f5059 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb809b926 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbb88630e dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc82657df dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf475d14c dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf620b084 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1a877472 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x33ad797c dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x4363829b dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x467177e0 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xf61aa639 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x04450aa0 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x22d23c35 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0x5f980e29 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x544a4a62 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x4b09a121 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xea638cbc ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x84f3b124 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x724ec5e6 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa4e9a278 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x3a7e39ec it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x81c0958c itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x92a516ee ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x5af57e5b l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x61a7b025 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xb8686849 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0xd954b97e lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x140accf0 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x96f87a1c lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xd7b4413c lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x72b6c202 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0xdb557ce8 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x25c4045c mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x483ca486 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xbc5666ad mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x52a078de mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x4562007c nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xef157a6e nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xd92585e9 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xc5c1e00e or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xca2ecac2 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xd30d6e00 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x6e7a9773 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xf8c5e795 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x22345375 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x9b8fcb10 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x2c9d3041 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x0558706a si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xf7f03148 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x505098fd sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xb7f2aeeb stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x976b4d0b stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x320bcab8 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x234d8c58 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x60354694 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xac5125d6 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x5fb2eb6b stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xc5787344 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x0cdb1a5e stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x08de228f stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x9422e227 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x5fdf7759 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xc1f388f9 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x11349d77 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x709fb9be tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x574ecbc7 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x35834f58 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x55ba06d7 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x92b4ef27 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x1698db5b tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x3f9d5aef tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x93e5bc4a tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xd7a06295 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x4c5d49f3 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xdfa75cce tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x7c1378b3 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xb214ade1 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xe2e7718f zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xceedfc22 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xf4c85e36 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x343b6e06 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 0xdae20875 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xf12509bf ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x22e610ec lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x354005a3 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x40cc92fb lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xa9dbe551 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xb1d8da43 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd28c0742 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xefb26bee lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf5642aee lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/rc-core 0x6d808c6b ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xf0c2e7f7 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x5b0edfe7 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x7c682c02 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xa4a10f59 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x4087b91f btcx_riscmem_alloc +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 0xc0a72d0a btcx_riscmem_free +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 0x475e55a7 cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x78b51836 cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xab428d30 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xdcb96f74 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xef751b46 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x818957e0 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xa57b7818 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x08dc54fa cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x29087078 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x324e17b0 cx2341x_handler_setup +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 0xb3ef681d cx2341x_handler_init +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 0x00fbd109 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 0x76a608b7 altera_ci_init +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 0xe44abd40 altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x0a41a5e8 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x120c2a0b cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x2d951b2d cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x4aa81ac1 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 0x94c139c9 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x9c2e4e4a cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x9f24ede0 cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xe3877c97 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xfa84980c cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x7981346d vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xfb3dd8b8 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x043e5f61 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x04cffba9 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x119a5b07 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x40171809 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xce73bf9d cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xea315f37 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x3ac462f5 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x470f57e2 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x6ccb0ab9 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x7cb7ea2b cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9025e023 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xaf1b5835 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x08d8b01b cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x22200bcf cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x30c37410 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3e148a0f cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x439dcfa2 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x451d4593 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x49507e4f cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6534e170 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x692cca79 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x69772c1a cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x70124a3e cx88_wakeup +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 0xa492cce0 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xada892ff cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbc15e53d cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc04ea486 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xcfc3075e cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd1fe26cb cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd7380a52 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd7df85ff cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe39eb03e cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xeb95ecd0 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf4461c06 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x43d6dd36 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xa116d6c6 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x05a22672 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x0c97eb2d gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3fedaab1 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x590abe95 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x72c9013f gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7f7ab0ef gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa5c3a31e gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc53a88ca gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1c68a150 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x21e4d3eb ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x350fcfdb ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3e30a9a5 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x63727df7 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6689631e ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6b41004b ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x70f19931 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x7bd49f37 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x83eb66a1 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x985238c5 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa845787d ivtv_vapi +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0338315b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x07afa55d saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0a8c0ea1 saa7134_ts_unregister +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 0x1b6ba536 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x20ff1944 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x54517f28 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x70d68c82 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x76051314 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x84080196 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x990fe5fc saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb5756838 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc9f55391 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1d3a2304 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x28ea6130 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7f3414b3 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x86e74839 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd73d43f2 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xf10952c7 soc_camera_unlock +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 0x3226b396 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x4df1d02a tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xfe0f1528 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0xbb11ba9e tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xbf45d668 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 0x7058ab1e v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x903b9cb6 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x0c850074 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x3ab656d9 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xf2c816bf v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x67084edf videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x7e0af5eb videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x805da28c videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xb47f8a1e videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd67ee4ce videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xefcf5586 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x4827d3d6 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x00c896ac v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x015c067a v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x069342e6 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x070578ae v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x0bc22923 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x0cc1aed7 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x10ab374a video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x154d4419 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x195fdb1c video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x19d406d1 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x2e86de83 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x379dccb2 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x38c8579b v4l2_subdev_s_ext_ctrls +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 0x48daaba4 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4d79d4f6 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x514ab049 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x519ffe56 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x54020352 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x5e57f550 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x67301363 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x6cf464e7 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x6d0da1e5 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x6d86cfce v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x6e8fd2e5 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x74bf651f v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7f83a9e7 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x81aefcc5 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8e652469 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x94c4db2c video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x95abcea3 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x96159ccf v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0xafc08dca video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb8df3038 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc054931b v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc44bdc04 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xc7f4566c v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xc9053b73 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd63400f8 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xdf79b75d v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe20aa654 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe6e256d2 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xe79fd159 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0xea84bb8a v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xffbbfab3 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x066c7e7f videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4ff81c2b videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x890a7073 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xffcb68b1 videocodec_register +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0dae98ae memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x208944c6 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x21b16a2e memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x393ab324 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x68f42c00 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x71513d04 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7dd94e7b memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9428c4f3 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb79e7bc2 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcb5d8680 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc07e67e memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xea40d328 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xebd48836 memstick_new_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x123e9716 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1958c644 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2aa8015e mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3695aeb2 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3e3f9169 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x46506165 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x478cebc6 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4f385d60 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x50f9f2e0 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x57a6c781 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5f051e8f mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x647d6ded mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6bc4e697 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7d1cbf1f mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x846c533d mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x88edb1c6 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8baa5e1c mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9c99c7fa mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa0be5643 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad0536a0 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xafa7727b mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb840393e mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbb2a6cb6 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbf3f61a9 mpt_detach +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 0xd12062bb mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdafaadaf mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe2007a50 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xea3ffc1d mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf5032b54 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x01e40c84 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0a675ea9 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x12aa638d mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x15cc6080 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x26067b7a mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x293a3407 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2ebc3647 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3ef0666a mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x422362bb mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4dd52e1c mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5b179d75 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6c18a867 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x74b4938b mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x86981d62 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa2063722 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa458f32f mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaceff282 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb3a706c7 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb7c3e27d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbffa91a2 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc24e3144 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc5d2c035 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcf6a1c0f mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd1cdb539 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd40da843 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe15925f1 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfa09e409 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x067e5853 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x12f95548 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1a853452 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1f124b14 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2eec5805 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3a5d26cc i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5ca45b66 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5d6a45a2 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x60ab293c i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7e55c2b8 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8e35a5c5 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9ab2e717 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa858249c i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb51c963f i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc3f723ac i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc75bff92 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc8a01402 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xca8ee9cc i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd34cefa9 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe1d75211 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe964cbd9 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfd31aad9 i2o_driver_unregister +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x0a3e46dd pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xe6186738 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0c6cdff7 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1f371a53 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x22b7264a mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2b1c0645 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2c910cdf mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5667b336 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x671fbd1c mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6d6c21e5 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f60ece4 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x74d38bf0 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xab464941 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xaf5326da mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd1ef3948 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/tps6105x 0x26085586 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0x65571dcc tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xa246d77c 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 0x34052b07 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x71b25a1b ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x3e6bb317 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x9beb041a c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xc42b565b c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x349a2d50 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x91552322 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x1266a966 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x230cc7d5 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x2e37dcef tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x3080440b tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x5a4e7431 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x6cebb2d2 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x964e0ec4 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xa8c2ec46 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xb9a771bd tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd2c7348 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xd664389b tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xe3352a1c tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfb1bd096 tifm_free_adapter +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xe7a27690 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x173ad1ad cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x36ef1a0f cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x46ca5148 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x050680c9 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x42e14363 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x83843a1a register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe024371a map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x6be94731 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xb64188d6 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x01c346fb simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xb3966393 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0xdffdc57e mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x350159a7 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x567d0aa2 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6b366593 nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0xb4c32128 nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0xbfb3ff57 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0xc37f8b3b nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xc9307ded nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x46e2b4b9 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x73cd406c nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xd3e53a42 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x2d464246 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x84bc043d 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 0x9ad829d9 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xa4e253db onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd9f104d9 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfe8e61d2 flexonenand_region +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2f602194 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6a5cb89c arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8af313ea alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x90f192a0 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x91bee502 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb11847e6 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xddfde880 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe8bf6609 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf56e1974 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfc8d1fb4 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x62b513d4 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xbaa2774d com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xc7e7c693 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0b9b74c5 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x25ad5c7d ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x404071f3 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x5ff7d715 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x60e6a9d5 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8af7dc73 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbb50b208 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc291eb17 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xdbb9134b ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe5ac5519 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x1a61e37a bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0x4892bf94 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x7783f345 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0dccf810 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1ee97d45 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5719f6fe t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6a8d8e52 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6f805d49 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x760d4b07 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7faa55ca cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8f0aa059 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa7a48d17 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xafb9f03d cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc3f4eae9 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xca17ef4c cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd5e1e824 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe7ea6832 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf90a0834 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfb74a871 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b2f0675 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x116450eb cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x14644095 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2012d4c5 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x391d4274 cxgb4_dbfifo_count +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 0x59d47f36 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x618da1b3 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x69d9c1af cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x79b94669 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8dbd5fbb cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x96f3194e cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa1995153 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xab9b5285 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xae2f94bf cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb0334e5e cxgb4_create_server +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 0xe8d235a1 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfae66a38 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xffeab0cc cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x2a0f4bbf 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 0xbb613edf be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03326eb4 mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a3626f1 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41750d6e mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50daf751 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f3511cf mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92ef005b mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad8fb1ce mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0318c51 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf2271556 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf99b0f8c mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x17a3a30c hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3f139eea hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x40d5c552 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x853cac7e hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc8bb9161 hdlcdrv_register +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x08622efd sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x122aa3d8 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2cfa5ff9 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6ae8a8e1 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6e862382 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x890740cd sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb2ff9c84 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbe391d40 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc8f81efd irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdc5cb8c5 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 0x85f254d8 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xdf603a5a alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x8da0ced7 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xb1026891 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xef2eada8 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0xd57debd5 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 0x144b71e5 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1812290d unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x49c6e10e hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5394b902 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7bae2088 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc5b4d19e hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xce5af6c2 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe41a8606 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xed532b13 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf48ea3cc hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf4d517e4 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x0e2f0abd i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x1387d890 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xa19f46f9 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xc63e4d12 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x03ee09ec ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x09dceda7 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0ba0fdf6 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1115e451 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3d431787 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x43cd0a5c ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5235951a ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8d080e65 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd8e02a4b ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xff43e97d ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3a8512ed ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4ce760e6 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x646e6df7 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x80588990 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x864ae940 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 0xa46dedcb ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xae630e67 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xddd784d7 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe77677ac ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xea714d15 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x377ab15f ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x713ad88d ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7158e719 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x78304e70 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 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 0x0211ab5e ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0591a709 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08a93462 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d8471f0 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f6043ec ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x156326d8 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x167da512 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18a6effb ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18bb9ae6 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a13c2d7 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b4d3b23 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f3efcdf ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2237a2f5 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27262a90 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2a3d4db7 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d14c1cd ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x325fae51 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x336d66d7 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3830e474 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50357047 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x512ef287 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x518f7914 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x548289b9 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5663a8a8 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a040add ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d4caedb ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5ff13082 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x633bc218 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x642c2300 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x670c18ef ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67605af0 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6acfe21e ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e6a4024 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6faf90e2 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6fbe63ac ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x704e8b22 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x735402e8 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74e7bad5 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x759eb6cc ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x795d3797 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7dcbd798 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ec13f8b ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80332877 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x838a2eaf ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x84d91e4e ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x877e5138 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88a61405 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8d0596d8 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9009b218 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90ea6ab0 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x91bdcc55 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97431912 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9bfa5438 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9e684728 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa04d98ab ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0e3ed84 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa1cc5637 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa371413c ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa60d42fc ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa71ad785 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa8fa55e7 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf42a437 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3ffa1c0 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5efb787 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb61cde42 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb7bad9f5 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb801ca54 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbaa41752 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbaa61076 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf71c986 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc0b5a26e ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc2d9ba5c ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc328d83d ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc73b94b5 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca7ae89c ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd1107bbc ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd141da90 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd144cbe8 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9ac323d ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdbc1e51b ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe20fa911 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe52cfebb ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe67697b1 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe703df2b ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea6aea89 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf23ae735 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf331524d ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf48a9856 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf923f27c ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9ed17b9 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfccaa4f1 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe9ed266 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/atmel 0x2b0b42f4 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x9e59e90f stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xd284c6be atmel_open +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x6611338f brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x8121f7f9 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2703f371 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x279f3e96 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x3f567f56 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x5e8428be brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6029a0ab brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x648a86eb brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x69d11784 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8c016059 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa3f006fd brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xbe19af9d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd5c26464 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf1123594 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0f2901ba hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x13d843ad hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1723ac32 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1c917a9d hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1e2e3c46 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x280fdf5d hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x339eeeef hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3694aef1 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3f0cf614 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4507ec77 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4d4ca22d hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4e272091 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x55978b57 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5cc38aef hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5e905f46 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6615a942 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6ad851d9 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7b8627fb prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x995ce7ad hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaccf14a1 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb32d94d3 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcc156f2c hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd04d8e26 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd5dc2f41 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdb8cf896 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xede9183e hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0e0b832d libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x119b76c3 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x15b86486 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x17852c87 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x319fbd1a libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x31ada3b3 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x35257c97 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x457a4212 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4a61b9a4 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x50475ed4 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5d302af9 free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x71d27816 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7cd33924 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x88ba2a61 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x97eab141 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9c76a75a libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9e88df5a libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbcf96b4b libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd4f448aa libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd531b315 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe9376e8d libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x019f2dc7 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x05ebe8e0 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0736a4c5 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a6e8536 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0e31cb42 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0eb41b74 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0fd2868c il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1666f17b il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x16d08d09 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1c80cc33 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x227adca4 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x26890316 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x27094f1b il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2aee3441 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2c5b174e il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2f851554 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x35116311 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x35dbb97e il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c40caa6 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c9479cf il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3cc66bd3 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3f6a44eb il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x40a9a14a il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x43f72f3d il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x442cdaba il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x46aa1d7c il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x49d112ba il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x49e87593 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4a68ad20 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x54390023 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x60d006c7 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x62fb7333 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x643a820a il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x65ae8b28 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x65dc164c il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x66e5a3a6 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x675def24 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6b5aad1c il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6eaf6ee5 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x70db9d9e il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x70eacad9 il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x71d110c5 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x72f29c42 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x77175686 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x79a3fe9c il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7ceb5fbd il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7ebe91e1 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x83d7585d il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x869fbea0 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x87a698e9 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x88fa888a il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8be6751c il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x912e57d4 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x91929fc7 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x93186ea4 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x938ff333 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x94285cad il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x94d73676 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9a2dcadf il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9c8939f2 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9e46721c il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa6cd1869 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa823ed17 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaba7d25d il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xae7151b2 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb39dbcd9 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb702be40 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb549da5 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbdd2b507 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc27bf518 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc2a959fc il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc5bca7cd il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc6c6edb3 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc74d7385 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc81e47b6 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc8d85678 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc9b3192e il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcace790b il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd44fcff1 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd5434ac2 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd55ceecc il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd67c28b1 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd6f28828 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd7cf403f il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd91c48c3 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdefd55d7 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe03a200c il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe39aff21 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe6656e61 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe6f1fc8b il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xea1dee2c il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xeccc2afa il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xed92a526 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf1be083a il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf4311e1c il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf4ef3c73 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf84a6187 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfcc4cb87 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xffaab6c2 il_init_channel_map +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 0x0a3c90a0 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x14543f5f __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x15afd8f2 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x313e3fce orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x38e10443 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x3a5cd5e1 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x42c9efa8 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x515477ef orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7eca89b3 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8e86e69f orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb2a08024 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc4d45fc6 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc77d904d orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc86222c9 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xdb0cbd65 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe3446111 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfc908f17 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x049f57d2 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x063b4e1b rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x08da5b77 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1cf4acdc rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x269d4a54 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2c0e29f6 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x33812792 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x399f92a9 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3d51a5a5 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x41e9dc88 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x512c7d7b rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x56e42c46 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5ae3d642 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x612df6e2 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x65959d5b _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x68f7abd9 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6ab086e0 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6d7cf5f7 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x71445209 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x74ecca23 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x80de73bd rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8399123f rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x89dbc464 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8b836b1d _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x90c4e1b3 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x90d58b2d rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96306ddc _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9d39c87c _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa7008b0e rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaf37075e _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb08d7a3c rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb637d8d4 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb98caf87 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbe7dd1d4 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xce28751f rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcf947561 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd748171f rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xea0e346f rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf143b35d rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf8261c50 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf836e446 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf9956590 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x08f81ddf rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0d60e044 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2453dae4 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3ce825f7 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x4e78a540 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x50101caa rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5fd74d4e rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x60ca02e7 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6c94fefb rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x80145d3a rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x877d4ed7 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x930f0588 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa1d24198 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa84d3172 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xaad4532a efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xadecd4b0 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb2099455 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb68650b1 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xbca504b6 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc9251e1a rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd2a32ccb rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd464eb36 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xdc55185d rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf3635696 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x4da9a16d wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xd69c13ad wl1271_tx_complete +EXPORT_SYMBOL drivers/parport/parport 0x0827c97c parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x0f2e99a9 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x2409bf9a parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x24d9dd6a parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x27dc62eb parport_read +EXPORT_SYMBOL drivers/parport/parport 0x2eea9b67 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x34445884 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x3e3de84c parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x41ae0a19 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x44d9fbd1 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x509b2b79 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x50daaaec parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x5cf644ae parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x6ae3028c parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x6bee9de8 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x73a9ac6a parport_release +EXPORT_SYMBOL drivers/parport/parport 0x74f3cffa parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x798f2796 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x7b47c8e6 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x7eaf8a6e parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x8b4480e0 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x9a190982 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xa3aaa089 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xc1057cbf parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xc1ce1c00 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xc3507573 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xcc0b4efd parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd0230b6c parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xd784b4b7 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd847c61f parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x3c817cfd parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x7086646e parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x07e6323c pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0ca95809 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2abc3999 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3877ef11 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3d6eed91 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3fb07a68 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5dfa9ac5 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x62d46a2a pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6c481ef6 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x743a66a2 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x76407ba3 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7fa65cbf pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x99cb4e0c pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xaba06df0 __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb7b829b4 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbe9f29ec pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc2584da8 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc5899d51 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xce1b1cc6 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0fff2415 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x10090acc pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x19c1c5bc pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x36ce2516 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x38d164e0 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8cdebfc6 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9c6e6a1b pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa6686241 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc2018f4f pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc913a026 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xecedd3e1 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x2c447116 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x9d56c4cc 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 0x4467b223 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x516ea92b pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x8d6a4840 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0xb850561c pps_event +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0x1595319c bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x01563905 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x386ca6d2 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3f79453c fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x41ab4184 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x722093c3 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x864e7575 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8c363067 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9444e70b fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc2294dbb fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xda235f88 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdd0af43a fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0087b4a5 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09a6dbc3 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ab60eb4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0dcb21f1 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x19ac2fde fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22470e96 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25380153 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25a8bcff fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27aef3c6 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2b70a78b fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e1de2eb fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x333b85de fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38922203 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3a8b0a88 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3fd0d3ae fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5105ad22 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52c410d1 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c3698fb fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x643f0c1b fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6550e01d fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x65649bbe fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a958101 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6b172e08 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x72a42b62 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x855f6f82 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8589fef8 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a5d4c3b fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b304a23 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b665cc2 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b881b28 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x90f6020e fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9a403e93 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9fb73118 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae133f32 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb2b6b218 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb2cc57fc fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3fbd502 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc9ea96d fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbd7e9985 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc23dd7bc fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc28d0fd9 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xca2ca7ae _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce561e8c libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf587154 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe099ab98 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4a35f61 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4ccfffc fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe6ca2581 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf815552e fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfddfa194 fc_fcp_destroy +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 0xb7127475 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x05dfcc1d osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0ad30c71 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x15a1631a osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x17f38d68 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x29ebee09 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x50f44604 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x598a309c osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x653c11d4 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x68addd01 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6e3dd55a osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7ac87957 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7c7b24cd osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x80434809 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x85997158 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8aba3e2d osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8d40388d osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8dcdb0ef osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9a73c5d0 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9b69136c osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9d08904d osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa0077613 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa0885d0 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb02742be osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb998a800 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb49e3c4 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb9531bf osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc89b1f70 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcda817d1 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd4269a2f osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdaeea245 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe7ef0fbe osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeb9e3ba0 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xefb534ff osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf68790ea osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfc634f45 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfcb68a2f osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/osd 0x16538c08 osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0x4edbe740 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x58c913aa osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x8b770e53 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xa915b319 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf9b569eb osduld_put_device +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2352a244 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4df63eb4 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x708cd71d qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7aa20549 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8b3cccf1 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8da5b3f0 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa2d4fadd qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb1dac547 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe1246703 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xeab3e844 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xfd32920b qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x10eefe68 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1ff6bac6 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x243da0d8 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x52f6ec07 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8aa19a47 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x95f1a259 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x0a128de9 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x6ee3be3a raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xfc0064e6 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x086d8b34 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x157bb064 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3021188c fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x520426bd fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5f5cbd6d fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x62e03c1e fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x657fa206 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x94dc11f6 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9c75e98a fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa1a5d99e fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc29b0d05 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd2fd5788 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdd981aa4 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0562e153 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x07707914 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x07972928 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0cbecf46 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0ec4fa58 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x13642a99 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x16f092ea sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2fdbdebc sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x38f6fa99 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x52030f05 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x532173ee sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6765e23b sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6c12977c scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6e6dc902 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6ea24234 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9f174091 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9fa65cc3 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab96f589 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbf2c586d sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc311d941 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc8719dab sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc94ec679 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcc4edc1a sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdf05b676 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe12489f5 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe97dd344 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xecddd25c sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfa49e987 sas_remove_children +EXPORT_SYMBOL drivers/ssb/ssb 0x0005c8dd ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x02d444f3 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1529b0d6 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x1d3a959b ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x30b6c454 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x3989591e ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x48d699c3 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x55a2acbd ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x668d863d ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x687a2271 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x817f025c ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x888fe4d4 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x910ced87 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x9b828e24 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa2b8e546 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xb908b50e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd5838c4d ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xe4fc9c58 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xf325b3a2 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xf3bac9a4 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xf5053a55 ssb_bus_suspend +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0eba590d comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x255933dc comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x29a061a3 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x29e3204e comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2b58dd2d comedi_check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3b1cb409 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3b7208bc comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3cd9cf1e comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x5a9abdc5 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7c96ec80 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8744744a comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa7134d75 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa7c9d529 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd0b3efb4 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfe1a0cb1 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x75c515bd subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xc0174dac subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf2b76538 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf49f71bc subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x542bd83f cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x68aad35e cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x96ef8630 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x022ef566 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x22ab2c1c mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x22c5e945 mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x27ade0c4 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2dde1d24 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x34f45bba mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x556a4b42 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7ed74fca mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8b717761 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x98fcc2f3 mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9c48774e mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9e1d99e5 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa4de9a4d mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa97f7341 mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xab2fe6ab mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb5f87f7e mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb81a6b5b mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc9fae6f9 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xdab35b7c mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xeb1339b5 mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x0dfef354 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x253d5e2b subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x5968021a subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x9ed240a0 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x88ca83e9 comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x2858e6d0 comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x2b872079 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x6949ff1e comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x877fbb67 comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xad70feb7 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc2837349 comedi_open +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x6408a8d5 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x84047475 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x14025cd9 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xb725d21c ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x513620a3 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x6aef310a iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x076cd190 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x11c41132 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x3c431671 go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x46adc140 go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x66b1294d go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x795e16ec go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x82763235 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x94e608e0 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xe89912ac go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xf7f158b5 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x01ddfe0b notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x04555db8 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x07fc2953 rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1401c932 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ee730a8 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22064d06 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x232fe7a7 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x24a86014 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x263e3ee6 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x26b65e35 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2f20636d rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x317de456 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3710faff rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3dc1b6ac rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3e17938c rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x405cfef3 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x46befec0 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x489ab799 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x48d621b3 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ad4ae3c rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4b000493 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4e5538a0 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5711da19 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58f5d966 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5a719fc2 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6851f1dd rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x686cdec6 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7964b57b rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x939a2aca rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x94218791 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x979329f4 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9824260a rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9ca001c0 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9eaf9d5c rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa22f22b9 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xab315931 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xae01e300 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb64cc17a rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc9265096 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcab179f3 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcf939d4a rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd70c85a0 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd738b5a6 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdbd4524a rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde4517f5 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde48bed4 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe1948202 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe23b9de2 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe39b1e9e rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf72e4208 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x02796bf7 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x10428bf8 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x134a83c9 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x14559643 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1c956c68 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d9a2f1f ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2664ccd2 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2dde0b1a ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3676a260 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x39c91174 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42ced9f0 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4305adcf Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x433c0fac ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4882be38 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x52ea2c91 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x53a1ff62 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5995800d ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e01de33 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5f920feb IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x626f22c7 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x647d590b HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68e5475e ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6ced864f ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x70529df9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x731612b0 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x791caa7e ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7a88904f ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x91ebb2e3 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93b434e4 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9f81cd71 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xacdd4349 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae399fe5 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae77f00b ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb5025fcc ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbb68205e ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbcc5317c Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbe442785 SendDisassociation_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 0xc4b73bb0 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc594510e ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5a8d15a ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5ad48b3 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5cdcc1c ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc6f23b73 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xca6aed0d ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd2f8ae0b notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd3f1387b ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe218a8f2 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe4368fff DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xebfb9290 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf02c4593 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf0c60e32 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf22cddcb ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf51021b4 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf6b112f1 ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc2cddc8 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/telephony/ixj 0xce0cba25 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x8e2776d7 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xfe567cf1 phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x01023b06 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x015645a1 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x040f7187 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x0b645a17 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x1328e150 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x1343c271 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x16812baa target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x17f7e9d2 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x18c18439 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x195697b5 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a581311 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a66dbfd transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x1d6f1179 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x20104223 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x217cac93 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x24b2a748 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d9ad0e8 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x3355e404 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3571ef6e iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e005759 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x403e4687 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4394c700 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x45f74fd4 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4afb4b09 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x58b13601 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x598e8696 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x615415d5 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6159eb8a core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x68cd43e7 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x695f8d7a transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x777dcaec sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x77f93ad0 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f90ed01 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x82e335a4 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x8366d067 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x8594a963 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x89f73489 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x8e1c4aac core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e321e39 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9ec05939 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3416072 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xabd2e333 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xaf287919 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xb54449d1 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xb66b2021 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xbd17006e target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xbf65b4d8 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7b76c08 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7bfa80c transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xc9e1e425 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd1c1204c transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xd600c604 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xd879f672 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb0db096 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb9a0606 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdbd49267 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xee9ec239 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xef9cb3fd core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf07433b6 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0a8f9d3 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9e2b6e8 core_tpg_deregister +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xf11bacf3 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x7128cc02 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 0x0ca36ed6 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2082ab8a usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2c17361e usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5d3193b0 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x66f0be68 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x74072c74 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x889768d5 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x95d247bb usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x97487aba usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x989b15dc usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa0798bf9 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa5f49792 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xacf51e7e usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc7bb7ec3 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xcd72279a usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x71a8d979 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xcf500756 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x197b3932 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xbc6d9399 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x05edeae4 cyber2000fb_attach +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/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x2bb48a4c mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x475ad8b6 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xbc5a310a matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xc3a504ce g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x07ae4a33 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x21da2ed2 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xb1afc353 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xfb37b126 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x3c04a5c9 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x03799630 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x2a66baf5 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xb00641e5 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xd39db7dd matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xe289a966 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x112b5554 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x4d2e52f4 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x08823cb5 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x4da61c91 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x4f6b1ebf matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x6d9150b3 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x91e3f085 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0xfcc11d3f mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x4ecedc13 video_output_register +EXPORT_SYMBOL drivers/video/output 0xa3b674a2 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 0x036fc244 svga_tilefill +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 0x520c89cb svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x78a1be10 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0xac1e4742 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xc63873bf svga_tilecursor +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 0xd4cd0747 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xe1a71587 svga_tileblit +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/syscopyarea 0xfd230ffb sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xb5056134 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x32d05d17 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 0x02e83cf2 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/vme/vme 0x083decd8 vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x097723ac vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x12c0f582 vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x282c36b8 vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0x2930233b vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0x2a782dfc vme_dma_list_free +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 0x689bea1f vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x6cf1c197 vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0x79a33f85 vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7d8e52b1 vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x87ce1e91 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x9601f0d4 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0x9b1eb949 vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0xa2a335bd vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xabddc6cc vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0xb92be399 vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0xca5ee09a vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0xcdea1fa2 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xeb40d161 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xfa1817b1 vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x1818086d w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x6962d57c w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xd60e7ad1 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xdaf616f7 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x87202eb0 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xa02d9e4d w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xfe88daad w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x4b10f1a9 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x6c0ae2fc w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xa27359be w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x1a3b89bb w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x21fa135c w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x44ac5dfb w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xd9db82c1 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 0x11d5c0f7 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x29d0127e config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x49845c65 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x5498bed0 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x589cc1b1 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x9e5af878 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xa3ca0a5c configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xafa0ffbe config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xc2f330bc config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xe1c7f2fc config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xf046b205 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xfc5f1df6 config_group_init_type_name +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x15cdd608 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x35f5cf0f ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0x523cefba ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x6b7e0eca ore_read +EXPORT_SYMBOL fs/exofs/libore 0x823bba46 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xa8d815cb ore_remove +EXPORT_SYMBOL fs/exofs/libore 0xbf466720 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0xdb3a1b17 ore_write +EXPORT_SYMBOL fs/exofs/libore 0xe6651aa2 ore_create +EXPORT_SYMBOL fs/exofs/libore 0xf8a3612e extract_attr_from_ios +EXPORT_SYMBOL fs/fscache/fscache 0x07075376 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x087f3320 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x0a02c992 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x109e9a27 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x13631dbb __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x27d00813 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2ae3cea1 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x369a4a31 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3bea1c5b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x50191e64 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x5098e723 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x53da9a7a __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x75b5769d fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x7c6ea5da fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x83455281 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x834aa161 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8c33715b __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x9583100f __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x9b95eaa4 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xb8b34999 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xca826c8f fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xcceb3c43 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xcee40c1a __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xcf59709a fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xdb3f53ad fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe74bdba6 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xea1e469c __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xf7657b16 __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 0x20c627f2 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x5b87ea33 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xbe9665b8 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xc8867f25 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xd6b5a585 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 0x1c18b163 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xebc65239 register_8022_client +EXPORT_SYMBOL net/802/p8023 0x0c9f6a85 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xb745dc47 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x0b269e86 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x7403e646 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0bc6b9b2 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x10594a8d p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x13e9379a p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x1ab77114 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x1c746db3 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x26cae657 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x2f840f10 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3aeaa2d6 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3e0c3608 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x41c91486 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x428434dc p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x45d2812e p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4b5e1ebc p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x4c321d1c p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4db2bce0 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x5a8dcf2b p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x5d28b915 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x5ebb1a37 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x643ea77c p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x785ec9a2 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7afd8a14 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x7f73f72f p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x8d7f84ee p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x93701233 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x950f847e p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x958c5cea p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x98e96bda p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x9c4149ad p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa0edf17e p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xa554ac5c p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xa7978b35 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xaddbb035 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xaf42c2e4 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xb0a593d3 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xb9a3386d p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xbb649c0d p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xbcfdae5c v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xce2d649a p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd5749a47 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xd79a53b7 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xe1207ffc p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe49aafff p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xfd6c520e v9fs_get_default_trans +EXPORT_SYMBOL net/appletalk/appletalk 0x79d1eba2 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x92431192 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xa3c9ccdd aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xf9cdd07e atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x03ac660c atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x0b854497 atm_charge +EXPORT_SYMBOL net/atm/atm 0x210f862d register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x23df6420 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3477c7fc vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x36d99459 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x54801111 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x67f4d46b atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6d667ba0 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x83d7b9cf atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x8c1aa77e atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x93136f41 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xd5d8c04b atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xe5c0a160 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xf37adea8 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x11caed29 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x39359b7d ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x470404c7 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x4d54ca3c ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5ae2c6b0 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x5d51ca11 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x87d4eab4 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xaccaf976 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xbf73eba1 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00677c46 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x065245ba hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0761bfc3 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1188d921 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1260f44a hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1c0e1dc7 hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1f28ad66 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ffad466 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3690c151 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42e8c0ae hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4310cfb3 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x44b096c6 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47782c14 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5b6c0d2c bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5f54f52d hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60d1066d bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x63760835 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6488d08a hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6c40c854 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x78ee27d2 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8b908408 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d37330c hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f70fae2 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96affcf5 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xafcd4abc bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc1f3718a hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc26d48de bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcb8908d4 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc193ea5 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcdd7d81d bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcf0f02af hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd527c10b hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe0d2cd7b hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe1baed95 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe82d7769 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe835e8b3 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeeae4246 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf3aaebe4 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc248a20 bt_sock_poll +EXPORT_SYMBOL net/bridge/bridge 0x076828c1 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x091b099e ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2f219b09 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x5dc7242d ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x11730af5 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 0x7d9fd2f0 caif_disconnect_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 0xa6ea2318 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xc0fc1604 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xe2250302 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x02230099 can_send +EXPORT_SYMBOL net/can/can 0x46363982 can_rx_register +EXPORT_SYMBOL net/can/can 0x6511e1ca can_proto_unregister +EXPORT_SYMBOL net/can/can 0xc24382e1 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xc842d1f0 can_proto_register +EXPORT_SYMBOL net/can/can 0xd58a931a can_ioctl +EXPORT_SYMBOL net/ceph/libceph 0x07d99dcc ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0d1bc1d3 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x0d61c270 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x1237833f ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x177478c2 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1a2d90c4 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x1c9c0ac5 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x242897d9 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x2b10d4ba ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x2efedffa ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x35635bd5 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3aceff4f ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x3b8f382e ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x3ca3d0f0 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x3deb1fa9 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x3e8cb896 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x41cdbdc9 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x47e047bc ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4a283545 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x4a7ea932 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x54c139f5 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x570ceb67 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5d67f3c8 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x65a61b9f ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x69dbaa45 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x6c13174a ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x7168baf8 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x74e22b0c ceph_monc_create_snapid +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 0x797b65ee ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x799a52ae ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x7dfd3439 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x8012ca0c ceph_monc_init +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 0x860f02b8 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x97d008a8 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9a723695 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x9c13aaac ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa00ebf74 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xa2de8083 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0xaf29ed29 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb7c55954 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xbd8e0972 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xbe0c164f ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc128b711 ceph_put_page_vector +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 0xcf340a83 ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd80a3917 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xda65358e ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xdf6f8c67 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xe379bdbc ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xe45a5d0b ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0xe7801a03 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe7acde18 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xe918b4cf ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xea667e69 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xeb1378ec ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xebe0224b ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0xed229339 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xf1436cde ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xf50e497c ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xf5774cba ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfff961a0 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xc55b9b4c dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x087847bb ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x089ff0cf ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x22cca0bb ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x438cafd5 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4b276d00 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4e708f7d wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x71f2be85 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x764907e7 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7f7b5a48 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb2454f35 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd8952d4f wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xde77eb2e ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf4d12574 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x27d1187d arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb8f54108 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe142a560 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x087b473a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x453e04d2 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9dc2d9fe ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x380846f7 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3f6156ed __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3f9fec55 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x67db27c6 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x68017ade nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x88de9c7c nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x8db5a28f nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/tunnel4 0x56eb1b26 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xa1b97469 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x01138f5d ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2116a220 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8bae87c1 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xaa925d3c ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x129337a9 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x41887fdb xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x1ce6978d xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xa08b88b2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x075c9937 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x3c8fbeba ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8267b7e1 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xbe7160af ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xcfa00267 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd1e82908 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd216dc59 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf5895b83 ircomm_connect_response +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x0773dc71 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x09f58a8b hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x1600ec9d irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x1a5c3998 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x1ea7abeb irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x26c0babf iriap_open +EXPORT_SYMBOL net/irda/irda 0x26e6b539 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x35420113 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x38637055 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3b6d5f65 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x3d36ddac iriap_getvaluebyclass_request +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 0x454ba140 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x512f5c30 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x540ddade async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x57d886ad irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x5c059ca3 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x615ee918 irias_new_object +EXPORT_SYMBOL net/irda/irda 0x66ef7db3 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x67a5463d irttp_flow_request +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 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 0x8d4e2f77 irlap_open +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa25d195c irlap_close +EXPORT_SYMBOL net/irda/irda 0xa4548c32 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0xa9977d4f irttp_dup +EXPORT_SYMBOL net/irda/irda 0xad66e1db hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xb1502037 irttp_open_tsap +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 0xc310cf21 hashbin_new +EXPORT_SYMBOL net/irda/irda 0xc4c5aba5 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xccb5741b iriap_close +EXPORT_SYMBOL net/irda/irda 0xcf91c9a4 proc_irda +EXPORT_SYMBOL net/irda/irda 0xd04fd452 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xd1ae6745 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xd57045a8 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xd78ea659 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe3a1d73f irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xe6381824 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xee6a02d5 irda_notify_init +EXPORT_SYMBOL net/l2tp/l2tp_core 0xc230879f l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x087aaade lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x37d2bce1 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x3f07b65e lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x550f1f9b lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x80c84766 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xd3f36884 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xe7516352 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xf3f82c62 lapb_connect_request +EXPORT_SYMBOL net/llc/llc 0x3038e0c1 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x5473aafe llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x6a7dea86 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x6c6cdb31 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0x8c4200c9 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xad17ae64 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xdd79b575 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xf1d63ab6 llc_add_pack +EXPORT_SYMBOL net/mac80211/mac80211 0x005c8e96 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x0a71e35f ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x0e674b3c ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x12341f04 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x128b30ae ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x1c27d405 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x1cfcd8fe ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x24b1aea0 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x2ba8fbda ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x2d571b2b ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2d7b2776 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x321713ce ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x35755439 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x41389b83 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x41ff560d ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x446c5be8 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x47117a8f ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x49835938 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x4a349129 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4ce6522d ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x529796fd ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x56bcb397 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5ce9aa2c ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x6051bb55 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x626182a5 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x68b8bf24 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x6ddb9ad0 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7484265c ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x766dbf8d ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x76ac2310 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x79811418 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7a5f5957 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7cc7fd3a ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x7dd6f6d2 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7efa4c2a ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x80dbbf57 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x815f990f ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x90accffd ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x9a6aee36 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa56fd829 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa5a5ba4e ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xba746676 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xbc3c3fc1 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xbcdc2ed0 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xbe3dbcb2 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xc0f0685e ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xc114327c ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc42ecff2 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcc7e658c ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xce71e033 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xd27fa5b4 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xd561bdf0 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xd5b2a62e __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xdffedb95 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe51091b9 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xef93e519 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xf0c02ca7 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xf2d33ca6 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf6dcc60b ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xfdaf20e0 ieee80211_stop_queues +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x03268a0a ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x56bc43ad unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x68db1ec3 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7d25f581 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x876f8ac4 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x98af8b19 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9d86fa22 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb6ab007d ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd5d754b0 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe2fe14e6 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe7bf4ac2 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf55b0bd4 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf5bc7dba ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf7c0a383 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x2d4b8381 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x72f23275 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xe3e07d4f __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x780eabad nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x12703ce3 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x16e5b078 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x20ee5bf7 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x253e8b44 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x2ce7415d xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x5172658f xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x664f37a0 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x8a574eb2 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xbb73df1e xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfd84f2d6 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xff7fb76d xt_register_match +EXPORT_SYMBOL net/nfc/hci/hci 0x02d0359f nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x0ff966ca nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x1a213766 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x26c128da nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x283a2dc9 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x691171d2 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x750e606b nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x75fade8e nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x93a6f24c nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x9e1872da nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xb8c89712 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xbb7f8b0a nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd53349c3 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd704edae nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd97e9280 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xdcdd37ab nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0xdd0355d2 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xdf83a6e4 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0xef4122f0 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xf0f8a8ea nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0xf4e5910c nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x15981ca6 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x76ce2d4c nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8cf35fbb nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xd34fb8a6 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xe448ec1f nci_recv_frame +EXPORT_SYMBOL net/nfc/nfc 0x347fc903 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x451130b1 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x5b297634 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x75eac6a1 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x84806129 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x94dc4cf8 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xc0e10da5 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xc54b13ad nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xc6296a48 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xf45262ea nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xf61a7a0b nfc_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x14b1d45d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x3e66a7c4 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x49f4e2c9 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x53d11728 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xa0463492 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xad8f3f0c pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xae39a5bf pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xe5b1329c pn_sock_hash +EXPORT_SYMBOL net/rds/rds 0x7505d413 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x11291a4d rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x14aa9687 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x199931e6 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2c45b122 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2d6aa693 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2fd992f0 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x35619823 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x73714f61 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8518469d rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8e6941e7 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x94d30a23 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa05376dc key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe6325b42 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe9c67510 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfc773469 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/sctp/sctp 0x7858a27a sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x37e8ac71 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xf1877ee3 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x1ab4c692 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x9257a522 wimax_reset +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 0x09e1ea82 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x0df3e7f3 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x1161966b cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x11bac49d __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x22a0d79e ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x2b6b03b7 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x2e153d0e cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x347a7db4 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x35e8388a cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x38ae4eaf cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x38c1362b regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x395cff80 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x3b39d449 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x429fe2ae cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x43f7239c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x4a2eb1e9 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x4e5ad808 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4f7c9b10 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x5027c774 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x53bd644a ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x61988397 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x61ff2f88 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x62556504 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x66d4cf3e cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x6963a773 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6fc424b7 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x71309813 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x73398e85 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x76bf978b cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7cf3abde cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x812831da cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x82f6a62e cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x83f22277 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x85fbab09 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x8e6ec346 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x90ba488f cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x9144bd5b cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x96b86f40 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9d18ba2a cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa2515b74 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa390c673 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xabfd1337 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xac02e1a1 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xafe3f54a cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb4138824 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xbbb86286 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xbe2541bb ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xbea578d7 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xbff3e136 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xc1617897 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc57ced41 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xce255814 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xd1397f92 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xda0a2456 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xde88087a cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xdef21556 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xe1746d20 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xe88d5a5a cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xea2a7a94 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xf0d566f0 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xf799b977 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xf9dcd654 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfd5e645d cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfe196601 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x05033ac4 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x27f28093 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x302fcb7c lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x465c89b3 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x5bec5dcb lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x85fcf8f5 lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x5da7b03d ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xc464f314 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 0x2b6e4a91 snd_seq_create_kernel_client +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 0x4d3228d8 snd_seq_kernel_client_write_poll +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 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 0xeb84bd71 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf684512e snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x4e47a215 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x9e09dc79 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 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 0xedfe1e29 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x049b61bf snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x0d3175ee snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x11495e92 snd_jack_report +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 0x21e4a4e4 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x2223d128 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x22943a5f snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x244398c2 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x346baf02 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3997e255 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x3d5f6aac snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x3f2660c7 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x456a1875 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x4655fc50 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x4678cfa7 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x4cb51a44 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x56109dff snd_component_add +EXPORT_SYMBOL sound/core/snd 0x58bc27de snd_device_register +EXPORT_SYMBOL sound/core/snd 0x5c41a416 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x61c9823c snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x6449b42e snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x72a07bd7 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x748169e4 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x7a978114 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x8728ea64 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0x8debf6cb _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 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f741029 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xa07a1e6c snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xa71c597f snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xa9824b1b snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xa99e1ecc snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xad10d2e3 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xb2793179 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb348b911 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xb62fc42f snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xb82e1ff8 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xb94aeaaa snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xbed7d454 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xc6cdcd19 snd_card_create +EXPORT_SYMBOL sound/core/snd 0xd3d3bbba snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xdaa99069 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xdfb50619 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xe318529c snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xe4b5786c snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xeee6e670 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xf1cc3ec5 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xf623eeb3 snd_cards +EXPORT_SYMBOL sound/core/snd 0xf98f7e1f snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xfdb8d93a snd_card_register +EXPORT_SYMBOL sound/core/snd 0xfe07418a snd_device_free +EXPORT_SYMBOL sound/core/snd 0xfffd024d snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0xe5a45606 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x06b310c9 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x206d6b11 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x4b9cd8ab snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5898dcba snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5e400d51 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xa620c9b4 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xeef74979 snd_dma_alloc_pages_fallback +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 0x07c1af12 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x09912c8e snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x09bcd61c snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x0e3b09e2 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x0fd70df7 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x148e3cfd snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x1a2093be snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1e01e23b snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x2134ad0e snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x22a2d4e5 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x23bd9152 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x2763f431 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x2793c108 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x2d3c590f snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x2da3109b snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x2daa36e3 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x30e825d0 snd_pcm_set_sync +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 0x3a678a20 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x41be98e2 snd_pcm_hw_param_last +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 0x535268e2 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x56db13c4 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x63c0920e snd_pcm_new_stream +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 0x68b40d2e snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x6bbe724b snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7108f438 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x73f78f4c snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0x7e84ce1f snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x8246b9df snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x86766e7e snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9ed582a4 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xa289d7b5 snd_pcm_new_internal +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 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbf38683b snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0xc34a0b12 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xc73d1a2d snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xca1c3b36 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcbddebd7 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0xd7c12461 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0xd8ce508d snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xde93aa5d snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe83bfb4a snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xeb9538dd snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xf2b5cecd snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xf35b74f8 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf8902c9b snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-rawmidi 0x075944cb snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1008f045 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x21bdd2b8 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2ee6e849 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x446537f0 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4b023f53 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x53462623 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x53ac720d snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x57f1a108 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5ebad6aa snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6921ef81 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x75d836f9 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9233b970 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xac05ba04 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbf4b801d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd614b18e snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf80567b5 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-timer 0x08a9bfcc snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x200b7425 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x368ec14c snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x6cf7cde1 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x7062b54d snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x7c4ce1e4 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x81ad689f snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x91e5b32a snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xc9995b8f snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xcedc4d50 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xe44cedde snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xe80671f5 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xea489e58 snd_timer_open +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xa5e1997b 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 0x14ea605f snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x366fc163 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x506cddbe snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x726c19c0 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x88f5e6d6 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb05d3874 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb917555d snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xdaf2aead snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf6237bf1 snd_opl3_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x26e8300c snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x356ce9e9 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x46e680bf snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5dc7423f snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x84ffef9a snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x92b3cb3d snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa37d891e snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xebef4718 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xeef7915d snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0a809cfe iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0e63e3a4 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x243e5e45 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x24d0e0cb amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x26e0ffe3 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2bd3d051 amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2eb8fd79 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3954fa32 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x41367528 amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x530dd56c amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x55824ab2 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6ab60928 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6b64b220 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x73c07fa0 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8ecafdbb fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x95c29366 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9b1a2d23 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb3995a38 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc1e3a5c4 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc8bd4a7f amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd1bd3eda amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe4f3ce03 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xed7447ee cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xee3e3347 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf5e83d77 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfc1daec5 fcp_bus_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x244657d7 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x29d51350 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x501fd0c1 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5106f445 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8cc72d10 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xed2716ff snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x17707e13 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x40ddeac8 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4c2bc1d6 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7b026ca8 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x95683e70 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa36daedf snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x15f20c97 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x8bb20445 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x981cd85e snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xaf9706f6 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x53cf9e3c snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xae1b2d7c snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x27c5853f snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x6aea1877 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x30fe4bba snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xb20f3134 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xba78c2d6 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd8adf2ee snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xfdd43117 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-i2c 0x39498f8a snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x77c91b0f snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x937c11d1 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xaa8506d5 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xac853cf1 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc84c2716 snd_i2c_bus_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0bcd0d1f snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x18bd3789 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x308ab1c4 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x50e40eb8 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5e2fa57e snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x909c174f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x99263f89 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9bf7d630 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9e066ca3 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xb074716b snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x3dbc7a88 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x84c71301 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x86df7d39 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1f7c8918 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4e06b0f5 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5cd183c8 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5d6c7f6c snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x68531a38 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e3095fc snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x89315e52 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8c363791 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8d99c27b snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x99fdb87e snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9ecedd15 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa9a455f6 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb1b1a624 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb7f4f7d7 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcacdcb37 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe7e32f8b snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf3c6de40 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x74056d81 hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x00a379e0 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x22317358 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x48e468cf snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x63cb9410 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x8c35824c snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9545f36b snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa0859cdf snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd4e25be5 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf7e132ab snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xc44ad46a snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x0cfbf290 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3e4bf923 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x678235a6 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0d993d8b oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1699e718 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2b7ffcab oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x32e26f00 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3785e0e6 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4080af6e oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5fc83c48 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x62333a29 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x655f86c5 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6c122b3b oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6f2a5953 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7c0298e4 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x896052a0 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9ac8e8e6 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa1d7fd35 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb2af0a74 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb9b9ac6c oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbc715c97 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc4163070 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xed82d5e6 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xef643b7f oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x1046a558 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x266e431c snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x82d6fe5e snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xb3e03c02 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xdd9683ac snd_trident_stop_voice +EXPORT_SYMBOL sound/soundcore 0x121a0dcb register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x3853394f register_sound_special +EXPORT_SYMBOL sound/soundcore 0x6439d078 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x87c592ea register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x96648425 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0x9c17d15c sound_class +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x58c7ac6b snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x62d8a05a 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 0x7758c1d2 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x861e6ea0 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x967baea8 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x977f8316 snd_emux_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x235127a5 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x272bb287 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x4f5f9c27 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5d488b70 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x94cd5f3d snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbe37bfda snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd0884f22 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xdb5bf9b8 snd_util_memhdr_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 0xc00fdf5b 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 0x712cb70d 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 0x885bce51 dm_mem_cache_free +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 0x00003553 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x00290667 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x003d5cbe netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x004a099c pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x004ed52c kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x00575f5a put_page +EXPORT_SYMBOL vmlinux 0x006cda98 genl_register_ops +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00aa4281 cdev_add +EXPORT_SYMBOL vmlinux 0x00b20d6e kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x00c623a9 bdget +EXPORT_SYMBOL vmlinux 0x00c9366d ipv4_specific +EXPORT_SYMBOL vmlinux 0x00f76c25 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01093ca5 cpu_info +EXPORT_SYMBOL vmlinux 0x01111c06 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x013b8ef7 dev_addr_init +EXPORT_SYMBOL vmlinux 0x014be63b arp_find +EXPORT_SYMBOL vmlinux 0x015ddbdc wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x01862a15 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01dd0222 netdev_crit +EXPORT_SYMBOL vmlinux 0x01df2f51 sget +EXPORT_SYMBOL vmlinux 0x01f1faa9 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x01f34f35 mount_pseudo +EXPORT_SYMBOL vmlinux 0x0201dbb8 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0216889f intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x02170f9f unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023d3087 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x024067c0 simple_rename +EXPORT_SYMBOL vmlinux 0x0245b4c4 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x025840a6 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02734930 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x027cf834 nla_reserve +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x02952cbc init_special_inode +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b346b1 tcf_register_action +EXPORT_SYMBOL vmlinux 0x02d06208 seq_lseek +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02f26438 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x0304152c fb_set_cmap +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0348659b devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x034f646f __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x03520490 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x03564e24 proc_symlink +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x038313e2 spi_release_transport +EXPORT_SYMBOL vmlinux 0x039028dd inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x039755c3 generic_write_sync +EXPORT_SYMBOL vmlinux 0x03bbf8e8 pci_set_master +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c5aa39 abort_creds +EXPORT_SYMBOL vmlinux 0x03ebda85 dns_query +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040004e0 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x04047b25 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x040c6ba9 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04277dba cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0456e0ba cfb_fillrect +EXPORT_SYMBOL vmlinux 0x045bb663 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x04617687 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0476db95 clear_nlink +EXPORT_SYMBOL vmlinux 0x0479aeb6 mii_nway_restart +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 0x04d78f9e compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f09c21 bdput +EXPORT_SYMBOL vmlinux 0x04f39cda dentry_open +EXPORT_SYMBOL vmlinux 0x0510d9d0 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x0546aefb blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x055c8559 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x0563cc85 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x057055e3 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x05ab2cc8 netif_skb_features +EXPORT_SYMBOL vmlinux 0x05bade20 mnt_unpin +EXPORT_SYMBOL vmlinux 0x05d66b15 skb_checksum +EXPORT_SYMBOL vmlinux 0x05edd240 scsi_register +EXPORT_SYMBOL vmlinux 0x060ccedd __napi_schedule +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061f4039 acpi_get_table_with_size +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0634cbba vfs_unlink +EXPORT_SYMBOL vmlinux 0x0676f666 idr_destroy +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x068faac5 tcf_em_register +EXPORT_SYMBOL vmlinux 0x069b77e9 padata_alloc +EXPORT_SYMBOL vmlinux 0x06c709a8 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x06e38380 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x06eb5a78 release_pages +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x06ff2dc1 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x07001db7 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x07194838 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x072d7943 generic_write_end +EXPORT_SYMBOL vmlinux 0x0738afc4 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x0748361b xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x074d5e1c genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x076654dd register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x0771dc36 dst_destroy +EXPORT_SYMBOL vmlinux 0x0777b643 set_blocksize +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07ac3086 empty_aops +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d45dfd input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07f1120a phy_attach +EXPORT_SYMBOL vmlinux 0x080a8638 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x0817e588 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0854dd5b dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x08692ece neigh_event_ns +EXPORT_SYMBOL vmlinux 0x087fa211 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x0884a102 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x0897287b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x08a65947 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x08c3a73c tcf_hash_release +EXPORT_SYMBOL vmlinux 0x08f2efaf fb_blank +EXPORT_SYMBOL vmlinux 0x08f51e0e sk_wait_data +EXPORT_SYMBOL vmlinux 0x08f64aa4 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x092344c1 put_disk +EXPORT_SYMBOL vmlinux 0x09308484 idr_get_new +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0964bcb2 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x096664ae blkdev_put +EXPORT_SYMBOL vmlinux 0x097d2ffb invalidate_bdev +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 0x098f48ac tty_mutex +EXPORT_SYMBOL vmlinux 0x0992780d efi_enabled +EXPORT_SYMBOL vmlinux 0x09b1b948 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x09ba48cb lease_modify +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ec13ac tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x0a00e430 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x0a0c2b3a skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a2b614a set_user_nice +EXPORT_SYMBOL vmlinux 0x0a423a15 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x0a87e603 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x0aa71e7b bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x0abe6bcf handle_edge_irq +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae8ce92 poll_freewait +EXPORT_SYMBOL vmlinux 0x0b0b4fcd twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1870f1 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x0b1a64ed pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b2a9b61 put_io_context +EXPORT_SYMBOL vmlinux 0x0b4e1c0e start_tty +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b75ce43 security_file_permission +EXPORT_SYMBOL vmlinux 0x0b9ccb8a jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x0baab999 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be6eca3 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x0c4768c0 __frontswap_load +EXPORT_SYMBOL vmlinux 0x0c49211a journal_extend +EXPORT_SYMBOL vmlinux 0x0c4be44c scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c835f8b x86_hyper_ms_hyperv +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb733e9 sk_stream_error +EXPORT_SYMBOL vmlinux 0x0cc24c1a unregister_netdev +EXPORT_SYMBOL vmlinux 0x0d069003 sock_create_kern +EXPORT_SYMBOL vmlinux 0x0d2787b2 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d652bb4 unregister_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x0d82dafa tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da1c580 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x0dc7fd81 input_get_keycode +EXPORT_SYMBOL vmlinux 0x0deeec61 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x0df44e9c call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x0e03c7b9 sk_alloc +EXPORT_SYMBOL vmlinux 0x0e0f14d1 page_readlink +EXPORT_SYMBOL vmlinux 0x0e102abc generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x0e2b163d i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x0e322fec dm_register_target +EXPORT_SYMBOL vmlinux 0x0e4f61b5 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0ed8cc7b acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x0efcdcb8 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x0f036c67 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x0f1722ba netif_rx +EXPORT_SYMBOL vmlinux 0x0f257f73 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x0f262b56 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x0f290fae pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f65bdbb dev_alloc_name +EXPORT_SYMBOL vmlinux 0x0f7367f6 vmap +EXPORT_SYMBOL vmlinux 0x0f88fbf9 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x0f8b0b63 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fe07258 posix_test_lock +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ff7300a iget_locked +EXPORT_SYMBOL vmlinux 0x1023ec06 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x104159d3 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x10692022 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x106c6177 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x1084195d fb_show_logo +EXPORT_SYMBOL vmlinux 0x108ebda8 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x108fad06 redraw_screen +EXPORT_SYMBOL vmlinux 0x10ba3e1f get_io_context +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x111661b4 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x11206570 ip_defrag +EXPORT_SYMBOL vmlinux 0x1124cc3d mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x1129a9fa register_framebuffer +EXPORT_SYMBOL vmlinux 0x1140abf2 register_netdevice +EXPORT_SYMBOL vmlinux 0x1157d5ae serial8250_register_port +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11899757 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1190106a netif_receive_skb +EXPORT_SYMBOL vmlinux 0x11c697dc soft_cursor +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11eb67f1 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x11eeb809 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x11f70a11 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x12074d2d pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x1209f322 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x120b295d eth_type_trans +EXPORT_SYMBOL vmlinux 0x12328392 account_page_redirty +EXPORT_SYMBOL vmlinux 0x123b867c tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x127b4c4d dev_addr_del +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 0x12b04c07 locks_delete_block +EXPORT_SYMBOL vmlinux 0x12c8918a pci_select_bars +EXPORT_SYMBOL vmlinux 0x12d44577 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x12d5dee3 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x12d69860 inet6_release +EXPORT_SYMBOL vmlinux 0x12dfeb12 vprintk_emit +EXPORT_SYMBOL vmlinux 0x12f37130 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1344f183 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x1355a8a1 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x135a53d0 freeze_bdev +EXPORT_SYMBOL vmlinux 0x135e388d scm_fp_dup +EXPORT_SYMBOL vmlinux 0x136a7137 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x1372dfbb bio_kmalloc +EXPORT_SYMBOL vmlinux 0x13976736 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x13a150ee fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x13b65a01 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x13d063af __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d1f1ef scsi_put_command +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x141126f7 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x1411dbd5 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x1425c38f nf_hook_slow +EXPORT_SYMBOL vmlinux 0x142e4ce6 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x14315731 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x1432b368 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x143ccc43 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x14410f31 kill_anon_super +EXPORT_SYMBOL vmlinux 0x14490c82 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x14507a4b pci_remove_bus +EXPORT_SYMBOL vmlinux 0x14649804 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x1481b9e7 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x149ed566 make_EII_client +EXPORT_SYMBOL vmlinux 0x149f7fb9 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x14c93d89 processors +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14faea22 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x150389d6 acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0x1508442b fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x15085d13 fget_raw +EXPORT_SYMBOL vmlinux 0x1517b6ae unregister_binfmt +EXPORT_SYMBOL vmlinux 0x152ebfca udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x15424999 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x154bb6d1 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x155e1198 input_flush_device +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x156cf0e8 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x15abf9e2 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x15de3bd6 write_one_page +EXPORT_SYMBOL vmlinux 0x15fc312f locks_copy_lock +EXPORT_SYMBOL vmlinux 0x160a1571 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x1610c806 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x16144855 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1637ff0f _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x16679781 replace_mount_options +EXPORT_SYMBOL vmlinux 0x166f8505 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168f1082 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x16a364dc vfs_mknod +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16c4bb49 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x16cfd352 bdgrab +EXPORT_SYMBOL vmlinux 0x16daaec2 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x16e08742 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x170de865 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x174b0238 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x17597df0 __napi_complete +EXPORT_SYMBOL vmlinux 0x1762870f cdev_del +EXPORT_SYMBOL vmlinux 0x1790d76b _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x1793e663 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x17a24a8d pci_get_subsys +EXPORT_SYMBOL vmlinux 0x17a2ff3e dev_mc_del +EXPORT_SYMBOL vmlinux 0x17b64d09 dqstats +EXPORT_SYMBOL vmlinux 0x17d07c6e unregister_md_personality +EXPORT_SYMBOL vmlinux 0x17d275b0 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x18064b88 napi_get_frags +EXPORT_SYMBOL vmlinux 0x183e10f7 tcp_sync_mss +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 0x1866d8f2 del_gendisk +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18a561bd pci_get_device +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18bcaf3f phy_connect +EXPORT_SYMBOL vmlinux 0x18c7f571 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x18db8a1a tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x19012d79 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x19288fcb gen_pool_create +EXPORT_SYMBOL vmlinux 0x194355e6 bioset_create +EXPORT_SYMBOL vmlinux 0x19444627 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0x1947bcad dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x1948f620 __quota_error +EXPORT_SYMBOL vmlinux 0x196c59f9 ida_remove +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x1980cdaf napi_frags_finish +EXPORT_SYMBOL vmlinux 0x19831ccf jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b2d2c6 put_tty_driver +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19d61415 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x1a24333e scsi_execute +EXPORT_SYMBOL vmlinux 0x1a3868fe dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a488739 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x1a5ae3c6 input_register_handler +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a6c9c89 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x1ab11ee5 user_path_create +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad242f6 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x1ae14ef5 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x1afa35e6 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b159ab9 dev_driver_string +EXPORT_SYMBOL vmlinux 0x1b241231 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b871807 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bafc0d6 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x1bb93485 mount_subtree +EXPORT_SYMBOL vmlinux 0x1bdc26cf sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x1c29e3cd eth_mac_addr +EXPORT_SYMBOL vmlinux 0x1c4db99d i2c_master_recv +EXPORT_SYMBOL vmlinux 0x1c6418b1 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x1c730d95 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c91cf11 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x1cbe3b63 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cf1e64e kick_iocb +EXPORT_SYMBOL vmlinux 0x1d19fde7 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x1d785e5e pid_task +EXPORT_SYMBOL vmlinux 0x1d7e5924 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1db84e3b abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dc49d35 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x1dc6ced3 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd7a8ad km_state_expired +EXPORT_SYMBOL vmlinux 0x1dd7e200 pci_pme_active +EXPORT_SYMBOL vmlinux 0x1de33e9b kern_unmount +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0967a7 get_agp_version +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e2311f6 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e3f38c6 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x1e4a588b md_write_end +EXPORT_SYMBOL vmlinux 0x1e664b68 dquot_operations +EXPORT_SYMBOL vmlinux 0x1e6bf81e bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e7e7013 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec2ac62 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ed0e282 __break_lease +EXPORT_SYMBOL vmlinux 0x1ef15231 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f23995c inet_put_port +EXPORT_SYMBOL vmlinux 0x1f3f0125 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x1f495a99 sock_register +EXPORT_SYMBOL vmlinux 0x1f64afc4 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x1f97bd2c tcp_poll +EXPORT_SYMBOL vmlinux 0x1face536 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x1fadf253 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc24446 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff312ed mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x20092385 acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x2013ba70 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x2031f1dd pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x203f5bfa complete_request_key +EXPORT_SYMBOL vmlinux 0x20455a55 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x20492ee1 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x205d06b1 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2067cf0b i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x207704d8 vga_put +EXPORT_SYMBOL vmlinux 0x2082760a bio_copy_kern +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x2089839b dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20abc15b acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0x20b96a29 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20c9746f skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x20e4e101 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20ee8488 input_inject_event +EXPORT_SYMBOL vmlinux 0x211767c7 ida_destroy +EXPORT_SYMBOL vmlinux 0x211ecc67 bio_map_kern +EXPORT_SYMBOL vmlinux 0x21252ec6 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2170662f mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x217b9df3 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x21cf5ef9 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21f4e352 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x21f4fc1e vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x21fd5f19 simple_release_fs +EXPORT_SYMBOL vmlinux 0x221d7a22 mpage_readpage +EXPORT_SYMBOL vmlinux 0x222d583b pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2252808b ata_link_printk +EXPORT_SYMBOL vmlinux 0x226b929d poll_initwait +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22cb78b1 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x22de6b9f vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x22fd9ad0 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x232a6b92 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x2334f947 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x235fe371 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x23608b83 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x23636a76 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x238d948c vfs_writev +EXPORT_SYMBOL vmlinux 0x23979e3d agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x23a4559e fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b344ef wireless_spy_update +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23c9a9b7 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x23ca9da8 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x23de18d0 __kfree_skb +EXPORT_SYMBOL vmlinux 0x23f7fb32 filemap_flush +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x241c0286 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2426ac41 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x243f8160 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2452faae netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24779fc4 clocksource_register +EXPORT_SYMBOL vmlinux 0x247ccde6 phy_disconnect +EXPORT_SYMBOL vmlinux 0x247e4d64 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x24864d31 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x24877968 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x249dc8f0 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x24bdbb57 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x24d2dca8 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x24e30a0a input_register_handle +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x24ffd80b sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x2511771d x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0x2523c971 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x25323ad6 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25629e70 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x2570d90a dcb_getapp +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x259c7491 arp_tbl +EXPORT_SYMBOL vmlinux 0x25afa03e udp_sendmsg +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x2612373f uart_suspend_port +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 0x265e21cb scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x2665d53a key_create_or_update +EXPORT_SYMBOL vmlinux 0x267e4028 inet_ioctl +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268f9221 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x26b6504a setattr_copy +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f74192 tcp_close +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x27277915 vm_stat +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x27350543 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x276c5d35 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x2778a2e1 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x27839032 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ae7d0c ec_transaction +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c1468c pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x280a615e blk_end_request_all +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2829ac93 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x28318305 snprintf +EXPORT_SYMBOL vmlinux 0x28612128 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x288c30b7 tty_port_put +EXPORT_SYMBOL vmlinux 0x28900578 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x2895ff75 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28a579bc xen_biovec_phys_mergeable +EXPORT_SYMBOL vmlinux 0x28a696dc security_path_link +EXPORT_SYMBOL vmlinux 0x28abfe6e scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x28c25e62 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x28e34152 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x28f2a373 mutex_unlock +EXPORT_SYMBOL vmlinux 0x2904569d end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29822e53 sock_rfree +EXPORT_SYMBOL vmlinux 0x2997d5bd kernel_bind +EXPORT_SYMBOL vmlinux 0x29b1de8a inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x29ba0e41 security_mmap_file +EXPORT_SYMBOL vmlinux 0x29d4a0d4 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x29d5f2d6 scsi_finish_command +EXPORT_SYMBOL vmlinux 0x2a0ae99e dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x2a1ca376 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x2a1d2cc0 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x2a1eb8a1 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x2a22b47a build_skb +EXPORT_SYMBOL vmlinux 0x2a2386b2 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a38c377 journal_init_inode +EXPORT_SYMBOL vmlinux 0x2a45b8b2 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x2a4938b6 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x2a4c657e jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x2a501336 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x2a53264b phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x2a5a2a8d mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x2a5ca7e0 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x2a66c470 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x2a6e6109 __init_rwsem +EXPORT_SYMBOL vmlinux 0x2a7ab002 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x2aa9d747 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x2ab5c267 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x2aeff938 follow_down +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b0e63e3 seq_puts +EXPORT_SYMBOL vmlinux 0x2b248e7b blk_integrity_register +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b3dc2b2 update_region +EXPORT_SYMBOL vmlinux 0x2b425f1e vfs_rename +EXPORT_SYMBOL vmlinux 0x2b51837e proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x2b8a4b9a current_fs_time +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2ba882cd inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x2bac0fdf tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bca2c75 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x2becd5cf inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x2bf99ddd __devm_request_region +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c138e77 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x2c1ecb33 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c36fb01 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x2c730265 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x2c7e5381 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x2cb78289 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x2cd97808 register_filesystem +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2cf97c7a nonseekable_open +EXPORT_SYMBOL vmlinux 0x2d00bc0f md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x2d0804c1 fd_install +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d17424f eth_header_parse +EXPORT_SYMBOL vmlinux 0x2d1dbacb bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x2d4b6711 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x2d4baa31 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x2d4e32e2 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x2d7b608f kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d894c70 bdi_unregister +EXPORT_SYMBOL vmlinux 0x2d8dfc4c inet_frags_init +EXPORT_SYMBOL vmlinux 0x2d9fe2e1 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x2db04681 log_wait_commit +EXPORT_SYMBOL vmlinux 0x2db4c99b flush_delayed_work +EXPORT_SYMBOL vmlinux 0x2dbe51a5 ida_get_new +EXPORT_SYMBOL vmlinux 0x2dca3c41 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +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 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2d1684 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x2e32c87c truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x2e50043e d_lookup +EXPORT_SYMBOL vmlinux 0x2e5a704c udp_table +EXPORT_SYMBOL vmlinux 0x2e9c3cc2 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x2ed53dd3 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x2ee1ab92 bdget_disk +EXPORT_SYMBOL vmlinux 0x2ee74e05 cdrom_release +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2efc8cf8 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f064b55 allocate_resource +EXPORT_SYMBOL vmlinux 0x2f135eb9 inode_only_permission +EXPORT_SYMBOL vmlinux 0x2f6d838e dquot_resume +EXPORT_SYMBOL vmlinux 0x2f780390 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x2f838f13 dquot_initialize +EXPORT_SYMBOL vmlinux 0x2f9466b4 tcp_child_process +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 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x301d3061 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x302eb23a blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x30399b80 cdev_alloc +EXPORT_SYMBOL vmlinux 0x307b62ac idr_replace +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308a9945 skb_split +EXPORT_SYMBOL vmlinux 0x308bf457 blk_get_request +EXPORT_SYMBOL vmlinux 0x30a565cc __d_drop +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30aaeefa __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x30b18f16 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x30c9e9da skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30deeb42 __bread +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f8f3d2 bio_endio +EXPORT_SYMBOL vmlinux 0x30fdd658 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x31045e7f xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x312fd3f6 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31495418 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x31503fa1 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x31643cf4 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x31671909 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x316af518 vfs_write +EXPORT_SYMBOL vmlinux 0x3172c2df nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x318427ab key_type_keyring +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3194755f cont_write_begin +EXPORT_SYMBOL vmlinux 0x319bb5c9 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x319e0726 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x31a8fb72 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x31b1f0be input_unregister_handle +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31c5fa0c elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31fe183d qdisc_reset +EXPORT_SYMBOL vmlinux 0x3236772a cfb_imageblit +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x326533fb elevator_change +EXPORT_SYMBOL vmlinux 0x327cce13 generic_getxattr +EXPORT_SYMBOL vmlinux 0x329ac501 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x32afa0e7 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x32b5f5db ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x32debb16 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x32eeaded _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x3307ad13 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x33287fa1 __pagevec_release +EXPORT_SYMBOL vmlinux 0x332939fe blk_put_request +EXPORT_SYMBOL vmlinux 0x333cb37c __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x33463161 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x3348c001 lookup_one_len +EXPORT_SYMBOL vmlinux 0x334d86e4 sock_release +EXPORT_SYMBOL vmlinux 0x336478d3 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x336ff78b genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x3390b657 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33c29752 security_path_rename +EXPORT_SYMBOL vmlinux 0x33d00fec unlock_buffer +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33f2d1ed mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34038811 skb_store_bits +EXPORT_SYMBOL vmlinux 0x340d437b ether_setup +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x34193214 keyring_clear +EXPORT_SYMBOL vmlinux 0x341cbed2 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x341ffaf0 blk_make_request +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x3473a2b8 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349da488 single_open +EXPORT_SYMBOL vmlinux 0x34a25fb6 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x34c0a4e9 get_phy_device +EXPORT_SYMBOL vmlinux 0x34d7f418 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x34e326bd dput +EXPORT_SYMBOL vmlinux 0x350465b1 arp_invalidate +EXPORT_SYMBOL vmlinux 0x350b7310 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x351c5f45 pci_match_id +EXPORT_SYMBOL vmlinux 0x35225ea3 down_write_trylock +EXPORT_SYMBOL vmlinux 0x3523bfb8 iterate_mounts +EXPORT_SYMBOL vmlinux 0x35303467 generic_file_open +EXPORT_SYMBOL vmlinux 0x35330a4f d_validate +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353cb384 i2c_release_client +EXPORT_SYMBOL vmlinux 0x35448c2b sync_blockdev +EXPORT_SYMBOL vmlinux 0x356588de blk_complete_request +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x3585a445 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x35a3d218 release_sock +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35defc50 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x35df0add dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x35e23d59 devm_free_irq +EXPORT_SYMBOL vmlinux 0x35f48581 simple_lookup +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x361ed337 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x3646717b create_empty_buffers +EXPORT_SYMBOL vmlinux 0x365e1aae bio_phys_segments +EXPORT_SYMBOL vmlinux 0x366587ef blk_requeue_request +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x36930481 bd_set_size +EXPORT_SYMBOL vmlinux 0x369e1115 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x369f5f7f skb_seq_read +EXPORT_SYMBOL vmlinux 0x36af9dcb set_bh_page +EXPORT_SYMBOL vmlinux 0x36db8ae3 load_nls_default +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36f54de6 pci_disable_ido +EXPORT_SYMBOL vmlinux 0x36fe24ef d_alloc_name +EXPORT_SYMBOL vmlinux 0x3701a196 csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0x37070cdf blk_delay_queue +EXPORT_SYMBOL vmlinux 0x370b7ec9 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x3710b3af inet_shutdown +EXPORT_SYMBOL vmlinux 0x3723000b register_md_personality +EXPORT_SYMBOL vmlinux 0x37308ef3 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x373fee82 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x376ffbf4 netdev_info +EXPORT_SYMBOL vmlinux 0x378e7074 set_trace_device +EXPORT_SYMBOL vmlinux 0x3795c70d pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x379889a3 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x379cc671 fb_get_mode +EXPORT_SYMBOL vmlinux 0x379f4780 neigh_destroy +EXPORT_SYMBOL vmlinux 0x37a0c2fd pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x37a19fa6 pci_enable_ido +EXPORT_SYMBOL vmlinux 0x37b5dd0a sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37ddce5c unregister_qdisc +EXPORT_SYMBOL vmlinux 0x37df790d genlmsg_put +EXPORT_SYMBOL vmlinux 0x37e42b9a block_commit_write +EXPORT_SYMBOL vmlinux 0x3819f228 bdi_init +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38204bb3 input_release_device +EXPORT_SYMBOL vmlinux 0x384479f8 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x384b4882 generic_show_options +EXPORT_SYMBOL vmlinux 0x3853053a padata_do_serial +EXPORT_SYMBOL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x389bfe0d rtc_lock +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38d7161d pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x38d9d775 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x390c23f5 napi_complete +EXPORT_SYMBOL vmlinux 0x3923d03d invalidate_partition +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x392d4179 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x3930b3c1 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x39372b93 register_key_type +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39426f95 scsi_host_get +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3972d7ae keyring_search +EXPORT_SYMBOL vmlinux 0x3975d393 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x39790fa6 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39853063 dquot_alloc +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a055f3 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x39a99c42 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x39bb372f dq_data_lock +EXPORT_SYMBOL vmlinux 0x39cf9cf9 scsi_unregister +EXPORT_SYMBOL vmlinux 0x39f9a5ad locks_free_lock +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a17e5e4 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x3a188458 dev_deactivate +EXPORT_SYMBOL vmlinux 0x3a20ff73 __crc32c_le +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a551d1f intel_gtt_map_memory +EXPORT_SYMBOL vmlinux 0x3a7cd28e bio_init +EXPORT_SYMBOL vmlinux 0x3a865acb proto_register +EXPORT_SYMBOL vmlinux 0x3a9a85d2 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3abc99cc input_event +EXPORT_SYMBOL vmlinux 0x3acd8524 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x3ace0838 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x3ad68fdd journal_forget +EXPORT_SYMBOL vmlinux 0x3aecfbfb nla_put +EXPORT_SYMBOL vmlinux 0x3b2921b7 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b4ceb4a up_write +EXPORT_SYMBOL vmlinux 0x3b6e48e0 simple_write_begin +EXPORT_SYMBOL vmlinux 0x3b72fc98 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x3b9107dc kmem_cache_size +EXPORT_SYMBOL vmlinux 0x3bc7071a sock_map_fd +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3beae4e0 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x3beb690b lg_local_unlock +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3bfbd127 dev_load +EXPORT_SYMBOL vmlinux 0x3c162ab7 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x3c32bcf0 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x3c3edb08 pci_dev_put +EXPORT_SYMBOL vmlinux 0x3c51e0c0 dma_set_mask +EXPORT_SYMBOL vmlinux 0x3c621e23 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x3c629a78 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca01351 tty_check_change +EXPORT_SYMBOL vmlinux 0x3ca6e4fc path_get +EXPORT_SYMBOL vmlinux 0x3ca9c719 lock_may_read +EXPORT_SYMBOL vmlinux 0x3cb78d33 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x3cc64807 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x3cc992c3 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf04e49 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x3d0f3e10 find_lock_page +EXPORT_SYMBOL vmlinux 0x3d1003dc scsi_print_command +EXPORT_SYMBOL vmlinux 0x3d286720 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x3d5844b3 strnicmp +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d8cd304 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da07e6c dump_write +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3db746f8 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x3dc426bf spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3de18508 input_allocate_device +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e28b1d2 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e66f492 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x3e77f292 inode_init_once +EXPORT_SYMBOL vmlinux 0x3e81bbda __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9ce6a5 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x3ea0fe2e skb_clone +EXPORT_SYMBOL vmlinux 0x3ea25c26 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ebc9596 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ee5d828 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f06824f get_gendisk +EXPORT_SYMBOL vmlinux 0x3f1fcfbd sg_miter_start +EXPORT_SYMBOL vmlinux 0x3f228386 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x3f2f8905 revert_creds +EXPORT_SYMBOL vmlinux 0x3f3bc02c pnp_is_active +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f71c832 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x3f71faa1 mempool_create +EXPORT_SYMBOL vmlinux 0x3fb5920d pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x3fcec492 journal_load +EXPORT_SYMBOL vmlinux 0x3fe4878c journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x402256a5 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x40256835 complete_all +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x402e86f1 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x4036beef agp_bridge +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x406640cb tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x406fb19d phy_register_fixup_for_id +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 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a590a5 pm860x_page_bulk_read +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 0x40ddb309 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x40dffb3b udp_prot +EXPORT_SYMBOL vmlinux 0x40e1714b ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x40f0fdb5 udp_proc_register +EXPORT_SYMBOL vmlinux 0x41013f9c tty_devnum +EXPORT_SYMBOL vmlinux 0x4104369d get_user_pages +EXPORT_SYMBOL vmlinux 0x41088e03 journal_update_format +EXPORT_SYMBOL vmlinux 0x4121007e serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x41444478 simple_open +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x417f3444 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x4180e241 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41db2d68 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x41e87d9d qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x42032580 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x421e86ab scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x4233dff3 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x423432b4 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42615019 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x428da234 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x4293193f d_make_root +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42a70313 pipe_lock +EXPORT_SYMBOL vmlinux 0x42b0325e gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x42c7aa85 dquot_destroy +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42d52f34 default_llseek +EXPORT_SYMBOL vmlinux 0x42fef35e mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +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 0x435c928d bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x4369f8d9 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x437d7919 pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x437dfe15 notify_change +EXPORT_SYMBOL vmlinux 0x437f84cf sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x438a5a26 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x439e4e81 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43b2fdcc agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x43b7543e generic_setxattr +EXPORT_SYMBOL vmlinux 0x43beae0a uart_add_one_port +EXPORT_SYMBOL vmlinux 0x43c80a42 netif_napi_del +EXPORT_SYMBOL vmlinux 0x43d2745f lock_super +EXPORT_SYMBOL vmlinux 0x43df9da6 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x43e7e5be dquot_transfer +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4403fce1 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x440d334d vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0x44146e63 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x443f9853 input_unregister_device +EXPORT_SYMBOL vmlinux 0x4451b1ce neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x4457caf3 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x44678b82 arp_create +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x44845632 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x4487366b sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x448eac3e kmemdup +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a1ab98 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x44a7a520 generic_removexattr +EXPORT_SYMBOL vmlinux 0x44a81d5f acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44e798e8 __register_binfmt +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45029581 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x45044497 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x45157f6e sock_i_ino +EXPORT_SYMBOL vmlinux 0x45158fdd __alloc_skb +EXPORT_SYMBOL vmlinux 0x45198266 i2c_smbus_read_word_data +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 0x455dae52 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x456120df dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45b02701 uart_match_port +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45d89679 inet_listen +EXPORT_SYMBOL vmlinux 0x45dc376a pci_dev_driver +EXPORT_SYMBOL vmlinux 0x4605a23d ida_simple_get +EXPORT_SYMBOL vmlinux 0x46071366 vc_cons +EXPORT_SYMBOL vmlinux 0x460f1c8e xfrm_register_km +EXPORT_SYMBOL vmlinux 0x4611b569 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x462177c6 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x46548b1e pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x4656a433 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46713d5c d_drop +EXPORT_SYMBOL vmlinux 0x46bf39f9 sock_no_bind +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cadb5a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x46cfc9e9 elv_rb_add +EXPORT_SYMBOL vmlinux 0x46ea2728 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4727e517 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +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 0x47b2d6d6 pci_bus_type +EXPORT_SYMBOL vmlinux 0x47b3b985 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47b834b7 mutex_lock +EXPORT_SYMBOL vmlinux 0x47c7b0d2 cpu_number +EXPORT_SYMBOL vmlinux 0x47f067cb amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x47f46fc8 pci_get_class +EXPORT_SYMBOL vmlinux 0x4813d168 block_write_begin +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x481ce849 md_check_recovery +EXPORT_SYMBOL vmlinux 0x4835daa3 simple_unlink +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x48675c1e lock_fb_info +EXPORT_SYMBOL vmlinux 0x4872b422 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x4875ff21 vfs_create +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x488285ed pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x488371c0 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x48e0e5a9 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49062df3 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x4910b212 udp_disconnect +EXPORT_SYMBOL vmlinux 0x4927350f dev_err +EXPORT_SYMBOL vmlinux 0x493666a8 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x494a3e95 read_cache_pages +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x49811cb8 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x498d5b79 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49bb5809 sync_inode +EXPORT_SYMBOL vmlinux 0x49cdbaea kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x49e0acdf mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x49f31a27 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x49f40d05 have_submounts +EXPORT_SYMBOL vmlinux 0x49fa45b9 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x4a0e5d28 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x4a27fbec __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x4a2a7fda padata_free +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a65c87d netpoll_print_options +EXPORT_SYMBOL vmlinux 0x4a68b5f0 console_stop +EXPORT_SYMBOL vmlinux 0x4a6dd6f0 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x4a9a0073 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x4aad52d7 mempool_free +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b06d2e7 complete +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b35d104 alloc_disk +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4bce61f1 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x4be7e3b5 seq_putc +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c4fef19 kernel_stack +EXPORT_SYMBOL vmlinux 0x4c708e75 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x4ca86fd9 free_buffer_head +EXPORT_SYMBOL vmlinux 0x4ca9669f scnprintf +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4ccc4947 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x4cd97103 register_console +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4ce50ec8 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x4ceb42a9 set_device_ro +EXPORT_SYMBOL vmlinux 0x4cf5d90d __put_cred +EXPORT_SYMBOL vmlinux 0x4cfab726 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x4d031497 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x4d1023f8 mempool_resize +EXPORT_SYMBOL vmlinux 0x4d3f7db7 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d46b889 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x4d4c78bf dquot_file_open +EXPORT_SYMBOL vmlinux 0x4d4ecfa6 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x4d674900 intel_gtt_get +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d99bcd1 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x4dbbbb2a tcp_shutdown +EXPORT_SYMBOL vmlinux 0x4dbd37ac writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x4dbe24cd netdev_state_change +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4de7c2fe amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x4df0fc31 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e21999c acpi_get_child +EXPORT_SYMBOL vmlinux 0x4e24f174 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x4e28ba91 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x4e34554a setup_new_exec +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4ec1e910 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4efa9f63 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x4f002a45 security_path_truncate +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f1d90fe pci_pme_capable +EXPORT_SYMBOL vmlinux 0x4f31e0ef inet_getname +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3e4825 elv_add_request +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f5a18dd filp_open +EXPORT_SYMBOL vmlinux 0x4f654603 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f6b400b _copy_from_user +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f89c888 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x4f8b5ddb _copy_to_user +EXPORT_SYMBOL vmlinux 0x4faf64c8 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x4fbb22e2 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x4fda2240 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x501cbdea fb_pan_display +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503f8711 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x504822c3 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x50529870 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x5059d081 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x505a2a32 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x5081efde sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x5084dbe0 dquot_commit +EXPORT_SYMBOL vmlinux 0x50a90e8d bsearch +EXPORT_SYMBOL vmlinux 0x50b3dd84 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x50d2592d hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x50fd4d8c i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x50fff519 softnet_data +EXPORT_SYMBOL vmlinux 0x5106c7c2 x86_dma_fallback_dev +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 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x51504081 pcim_iomap +EXPORT_SYMBOL vmlinux 0x516c5620 tty_write_room +EXPORT_SYMBOL vmlinux 0x517be4fe sock_wfree +EXPORT_SYMBOL vmlinux 0x519a8c6b journal_get_create_access +EXPORT_SYMBOL vmlinux 0x519fdea5 file_open_root +EXPORT_SYMBOL vmlinux 0x51bf7315 get_write_access +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51f07336 __register_chrdev +EXPORT_SYMBOL vmlinux 0x51fce100 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5200af82 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x520671ba jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x5206f108 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x52130046 acpi_check_address_range +EXPORT_SYMBOL vmlinux 0x5231d339 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x524948aa phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x525e026f acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0x526ed3fb blk_init_tags +EXPORT_SYMBOL vmlinux 0x52b56e2d ip_route_input_common +EXPORT_SYMBOL vmlinux 0x52bad38a inet_frag_find +EXPORT_SYMBOL vmlinux 0x52c12bfc scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e44561 rtnl_notify +EXPORT_SYMBOL vmlinux 0x52ecc787 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x52f6d60b dev_get_flags +EXPORT_SYMBOL vmlinux 0x52f746f1 sock_no_poll +EXPORT_SYMBOL vmlinux 0x5305e40f pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x532f04c2 cad_pid +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x534a4165 d_invalidate +EXPORT_SYMBOL vmlinux 0x5377e556 hex2bin +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5395bac5 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53bbd4a2 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x53c584df security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x53ddcf53 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x53e014e0 tty_free_termios +EXPORT_SYMBOL vmlinux 0x53f5c59b pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x53f6ffbc wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x53fc5232 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x5439858a kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54554948 kobject_put +EXPORT_SYMBOL vmlinux 0x54568b75 register_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x547500af task_nice +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54edb667 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x55025ef1 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x55030002 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x550424d6 journal_create +EXPORT_SYMBOL vmlinux 0x550ba4a3 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x55265520 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x552aaeeb bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x55385a83 phy_start +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x555c8526 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x55671680 lg_lock_init +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a72f1d sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x55f4f86c amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0x55f5019b __kmalloc_node +EXPORT_SYMBOL vmlinux 0x560c6a38 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x5613d2c6 sk_filter +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x562384c1 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563864ad mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x564a9a81 submit_bio +EXPORT_SYMBOL vmlinux 0x56618424 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x566bf946 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x567a7231 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x56836dc9 find_vma +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d1cf51 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x56e98e0d may_umount_tree +EXPORT_SYMBOL vmlinux 0x56fcce81 brioctl_set +EXPORT_SYMBOL vmlinux 0x57141336 save_mount_options +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57390db3 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x5754b0f8 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x5756cfe7 drop_super +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x5765e5e0 amd_northbridges +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x57880904 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57a6ccd0 down_read +EXPORT_SYMBOL vmlinux 0x57b644f9 mii_link_ok +EXPORT_SYMBOL vmlinux 0x57c928b5 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x57cb60af dev_disable_lro +EXPORT_SYMBOL vmlinux 0x57d107e4 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x57d665e8 simple_rmdir +EXPORT_SYMBOL vmlinux 0x57db798d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x57e4c9bf journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x580eb2e9 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x5811b2f3 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x583d2e2a filemap_fault +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x58554788 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x585f9550 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x5860aad4 add_wait_queue +EXPORT_SYMBOL vmlinux 0x586103be acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x5862d67a give_up_console +EXPORT_SYMBOL vmlinux 0x586b8ea9 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x588bb875 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x58b3ba79 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x58bed68a register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x58e1598b generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x5967c929 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x59729379 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x59759b2b vfsmount_lock +EXPORT_SYMBOL vmlinux 0x599e4353 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x59a14ac0 pci_save_state +EXPORT_SYMBOL vmlinux 0x59b6c592 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59e52722 textsearch_register +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a0c42f7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x5a1206fe pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x5a17ed8b dst_discard +EXPORT_SYMBOL vmlinux 0x5a219013 padata_stop +EXPORT_SYMBOL vmlinux 0x5a2c7c08 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x5a2d28d1 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x5a37a8fa ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x5a3fe9ec skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4f8f2d is_container_init +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a82abfe scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x5a85940f napi_gro_receive +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5ac0ceee dquot_commit_info +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5aceaf88 md_write_start +EXPORT_SYMBOL vmlinux 0x5ad0f0cb dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x5aeb145f complete_and_exit +EXPORT_SYMBOL vmlinux 0x5af37054 key_alloc +EXPORT_SYMBOL vmlinux 0x5af5513a blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x5af9e884 set_pages_wb +EXPORT_SYMBOL vmlinux 0x5afca952 __inet6_hash +EXPORT_SYMBOL vmlinux 0x5b15591f get_super_thawed +EXPORT_SYMBOL vmlinux 0x5b2698db input_free_device +EXPORT_SYMBOL vmlinux 0x5b2ef77f skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x5b43d96b pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b6bb51f kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x5b875e3c mutex_trylock +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bc10524 printk_emit +EXPORT_SYMBOL vmlinux 0x5bc45e1b i2c_register_driver +EXPORT_SYMBOL vmlinux 0x5bc83818 inode_change_ok +EXPORT_SYMBOL vmlinux 0x5be4fc07 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x5c18b62a pci_enable_msix +EXPORT_SYMBOL vmlinux 0x5c294114 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x5c3edd59 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x5c44a9a6 padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x5c8b5ce8 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x5cbbd330 fsync_bdev +EXPORT_SYMBOL vmlinux 0x5cc8f175 __block_write_begin +EXPORT_SYMBOL vmlinux 0x5cd6ab79 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x5cf04dfe tc_classify +EXPORT_SYMBOL vmlinux 0x5cfd1e71 current_task +EXPORT_SYMBOL vmlinux 0x5d068984 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d1e44a4 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x5d45eb2d dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x5d4f1dfc tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d9a1b5f inet_stream_connect +EXPORT_SYMBOL vmlinux 0x5db3ab26 lock_may_write +EXPORT_SYMBOL vmlinux 0x5db79d46 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x5dbb2d66 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x5dbf6aa1 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5dc565dd pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x5e2dea42 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e8a495a tty_kref_put +EXPORT_SYMBOL vmlinux 0x5e8b575a skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9a8a0f __lock_page +EXPORT_SYMBOL vmlinux 0x5ea0df7c bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed45c30 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x5edbe549 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee2e031 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x5ee7367f netlink_unicast +EXPORT_SYMBOL vmlinux 0x5ef1ea7a inode_set_bytes +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f33da3b inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x5f395bf4 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f6c59ff pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x5f7f274c tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x5f8ed2a8 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fd20221 journal_destroy +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x5ffeb4fc dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6031f8d2 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x60632305 __sock_create +EXPORT_SYMBOL vmlinux 0x606b1769 genphy_read_status +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x6076533a generic_setlease +EXPORT_SYMBOL vmlinux 0x607b7d66 ip6_route_output +EXPORT_SYMBOL vmlinux 0x607cda9c xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x609095a1 proc_mkdir +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b0ae86 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x60b74532 serio_reconnect +EXPORT_SYMBOL vmlinux 0x60cf0530 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x60f21583 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x61106fb1 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x6117882e security_path_mkdir +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61421d04 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x6167098d generic_file_llseek +EXPORT_SYMBOL vmlinux 0x616f41d7 elevator_init +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x61829333 skb_find_text +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x6196b971 init_buffer +EXPORT_SYMBOL vmlinux 0x6197ed06 scsi_init_io +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a1afa6 module_refcount +EXPORT_SYMBOL vmlinux 0x61ab27be __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bd1828 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x61c98f19 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x61cd228e iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620b2e3e do_truncate +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 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 0x628e0783 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x629b7d91 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x62b865ec __pskb_copy +EXPORT_SYMBOL vmlinux 0x62d5030a d_delete +EXPORT_SYMBOL vmlinux 0x62e43e24 scsi_host_put +EXPORT_SYMBOL vmlinux 0x62e824d8 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x62f22e99 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6313368b sock_wake_async +EXPORT_SYMBOL vmlinux 0x631587b4 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x6332c909 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x634d13c1 dcache_readdir +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x637d3b59 pci_find_capability +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63a021a2 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x63aa2b2d netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x63aaed68 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x63adf340 vfs_getattr +EXPORT_SYMBOL vmlinux 0x63c2694a ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x63c73c6e vfs_readv +EXPORT_SYMBOL vmlinux 0x63e26b8b wireless_send_event +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f5d5db mdiobus_read +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640cbbed posix_lock_file +EXPORT_SYMBOL vmlinux 0x642592c6 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x6449fd41 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0x646ea10c blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x646ec453 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x6486456a pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x648c4cc4 force_sig +EXPORT_SYMBOL vmlinux 0x6490d070 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649b26b8 udp_poll +EXPORT_SYMBOL vmlinux 0x649d4ef9 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x649e87b5 lock_rename +EXPORT_SYMBOL vmlinux 0x64b0b183 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x64c4bde8 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x64c51228 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x64e210a6 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x64e3b91a flush_signals +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64fc9bca dev_remove_pack +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x655f1ab0 set_memory_array_wc +EXPORT_SYMBOL vmlinux 0x656af6e5 key_revoke +EXPORT_SYMBOL vmlinux 0x656dd7f8 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x657c1877 dev_trans_start +EXPORT_SYMBOL vmlinux 0x658c2619 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x658e3ced tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x65908ade sock_no_getname +EXPORT_SYMBOL vmlinux 0x65bf35df skb_queue_tail +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65ec67df input_set_keycode +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x660c7498 unregister_key_type +EXPORT_SYMBOL vmlinux 0x661cf209 mmc_free_host +EXPORT_SYMBOL vmlinux 0x6659a668 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x668d8e51 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669ea296 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66c547bb aio_put_req +EXPORT_SYMBOL vmlinux 0x670380fd kmem_cache_create +EXPORT_SYMBOL vmlinux 0x6704ec47 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x671c9d8d xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x6725b918 phy_detach +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673e2fb6 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x676693e1 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x677a5192 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x678dff7d tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x679e84dd tcp_sendmsg +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 0x67c4cd51 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x67d396b0 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x67ee61ef thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x680d69d2 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x6821ffdf generic_make_request +EXPORT_SYMBOL vmlinux 0x68384054 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x683a22db new_inode +EXPORT_SYMBOL vmlinux 0x6854e3dd sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x68591ec5 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x6886b9b3 phy_find_first +EXPORT_SYMBOL vmlinux 0x68873198 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x68aca4ad down +EXPORT_SYMBOL vmlinux 0x68cb8a72 phy_device_free +EXPORT_SYMBOL vmlinux 0x68d207a5 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x68d8de53 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68f2fddc lookup_hash +EXPORT_SYMBOL vmlinux 0x68f650d3 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x690ff2c3 make_bad_inode +EXPORT_SYMBOL vmlinux 0x691001b5 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x69247dfe xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x6958c972 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x6959d0fb get_super +EXPORT_SYMBOL vmlinux 0x69612143 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69799b9a registered_fb +EXPORT_SYMBOL vmlinux 0x697ac9bd __dquot_free_space +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a32c6c neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69a3a483 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x69aa73f0 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b5b5b2 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x69bb6aeb arp_xmit +EXPORT_SYMBOL vmlinux 0x69ca3ba0 nf_reinject +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69dbc121 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e5ab7f splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x69ec8994 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x69f43292 dev_add_pack +EXPORT_SYMBOL vmlinux 0x69f9a0ba agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x69fbc0a2 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a162f84 inet_sendpage +EXPORT_SYMBOL vmlinux 0x6a216c02 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6ab9ee6c stop_tty +EXPORT_SYMBOL vmlinux 0x6aba782d skb_pad +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae06f5d blk_start_request +EXPORT_SYMBOL vmlinux 0x6af5a137 spi_attach_transport +EXPORT_SYMBOL vmlinux 0x6b025fc7 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x6b1329d2 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x6b1adbac neigh_parms_release +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b272f40 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b39a9a5 dm_get_device +EXPORT_SYMBOL vmlinux 0x6b44f9b7 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x6b460967 idr_get_next +EXPORT_SYMBOL vmlinux 0x6b4c8ced acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x6b523df1 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b6e3040 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b75d42b generic_permission +EXPORT_SYMBOL vmlinux 0x6b7a1d3b qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x6b85df24 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x6b89e921 dev_change_flags +EXPORT_SYMBOL vmlinux 0x6b89ffbe tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x6b93072a netdev_warn +EXPORT_SYMBOL vmlinux 0x6bb9ec33 netlink_ack +EXPORT_SYMBOL vmlinux 0x6bc1d881 scsi_add_device +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd41134 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf6018a inode_permission +EXPORT_SYMBOL vmlinux 0x6c1333e3 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x6c1b890d ps2_command +EXPORT_SYMBOL vmlinux 0x6c2d4995 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c3b2201 kthread_stop +EXPORT_SYMBOL vmlinux 0x6c3c043e mii_check_link +EXPORT_SYMBOL vmlinux 0x6c508696 datagram_poll +EXPORT_SYMBOL vmlinux 0x6c5101d8 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c69ba9e dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c70353b __nla_put +EXPORT_SYMBOL vmlinux 0x6c75c083 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x6c76ba95 skb_make_writable +EXPORT_SYMBOL vmlinux 0x6cb4397c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x6cb974ca key_validate +EXPORT_SYMBOL vmlinux 0x6cd3b919 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x6cdd6386 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0500a6 log_start_commit +EXPORT_SYMBOL vmlinux 0x6d0aba34 wait_for_completion +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d2125a7 amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0x6d26cbfc elv_abort_queue +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 0x6d36a3cd dev_mc_sync +EXPORT_SYMBOL vmlinux 0x6d612c27 tcp_connect +EXPORT_SYMBOL vmlinux 0x6d61f683 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x6d64acfd mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d6ee4b8 bioset_free +EXPORT_SYMBOL vmlinux 0x6dbe59ca tcp_prot +EXPORT_SYMBOL vmlinux 0x6dc6c08e read_dev_sector +EXPORT_SYMBOL vmlinux 0x6dd39029 i2c_transfer +EXPORT_SYMBOL vmlinux 0x6dd5fcc6 padata_add_cpu +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df8c499 no_llseek +EXPORT_SYMBOL vmlinux 0x6e270849 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x6e297a62 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6e66abe4 fput +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ed0c1de ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6ed12914 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x6f16595e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x6f19ff74 first_ec +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f25e74f mmc_can_discard +EXPORT_SYMBOL vmlinux 0x6f27df72 irq_set_chip +EXPORT_SYMBOL vmlinux 0x6f344f8b dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x6f48b5df d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x6f4c812f __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f89277b tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x6fbc7b3f uart_register_driver +EXPORT_SYMBOL vmlinux 0x6fc0f8c9 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x6fcac759 input_reset_device +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd040ec generic_segment_checks +EXPORT_SYMBOL vmlinux 0x6fe419c3 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x70177606 pci_bus_write_config_byte +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 0x7067de52 __lock_buffer +EXPORT_SYMBOL vmlinux 0x706c287e padata_do_parallel +EXPORT_SYMBOL vmlinux 0x7092e8ca buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x709a7b85 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x709ef882 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70eee9cb inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x711152f3 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712b1a65 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x712d803b neigh_seq_start +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71882480 dev_addr_add +EXPORT_SYMBOL vmlinux 0x718f5b26 mount_nodev +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71c27a48 skb_dequeue +EXPORT_SYMBOL vmlinux 0x71dec4f6 inet_addr_type +EXPORT_SYMBOL vmlinux 0x71e3cecb up +EXPORT_SYMBOL vmlinux 0x71e69ebd netdev_features_change +EXPORT_SYMBOL vmlinux 0x71f2602d gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x7209bf57 serio_rescan +EXPORT_SYMBOL vmlinux 0x722b88be nobh_write_end +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x7254d9b7 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x72732834 thaw_bdev +EXPORT_SYMBOL vmlinux 0x727f093c scsi_free_command +EXPORT_SYMBOL vmlinux 0x729a56a3 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x72a74b4e pcim_enable_device +EXPORT_SYMBOL vmlinux 0x72a98fdb copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72dfb417 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x7323a130 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x733d986e pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x733e8a81 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x7348d7b3 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x73496315 vfs_statfs +EXPORT_SYMBOL vmlinux 0x7351d5ba dev_open +EXPORT_SYMBOL vmlinux 0x73571aeb led_brightness_set +EXPORT_SYMBOL vmlinux 0x7359f169 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x73652373 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x737984e8 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738ec879 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x7395abf6 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x73a78bc4 downgrade_write +EXPORT_SYMBOL vmlinux 0x73d0ff81 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73fe90fd tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x74074028 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x742e086c unregister_nls +EXPORT_SYMBOL vmlinux 0x743786a8 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x743b19b0 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x743f4184 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x744cb234 skb_append +EXPORT_SYMBOL vmlinux 0x744fc2c2 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x7466c5d6 led_blink_set +EXPORT_SYMBOL vmlinux 0x7469830b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x747ebe5e netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748e3c91 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x749f4165 irq_stat +EXPORT_SYMBOL vmlinux 0x74bb3e73 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d826e2 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74e8b522 tty_throttle +EXPORT_SYMBOL vmlinux 0x74f8b038 km_query +EXPORT_SYMBOL vmlinux 0x7501484d dma_async_device_register +EXPORT_SYMBOL vmlinux 0x7507dbd0 jbd2_journal_destroy +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 0x7559b1ce xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x756927f5 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x756f7b1f posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x757f1320 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x75b097fa __module_get +EXPORT_SYMBOL vmlinux 0x75b1f1fb kobject_get +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 0x76011256 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7611c0d0 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7611e4e8 i8042_install_filter +EXPORT_SYMBOL vmlinux 0x7628f3c7 this_cpu_off +EXPORT_SYMBOL vmlinux 0x762b2492 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x765fbc7e ip_options_compile +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 0x7687d79d __ip_select_ident +EXPORT_SYMBOL vmlinux 0x76a4d3fc kill_litter_super +EXPORT_SYMBOL vmlinux 0x76ab1e57 netdev_alert +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76f5b5dd pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x77242178 bdi_register +EXPORT_SYMBOL vmlinux 0x773568ea follow_pfn +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x777bfd3f d_find_alias +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c16897 skb_queue_head +EXPORT_SYMBOL vmlinux 0x77c70516 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e6b61e dm_put_device +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x782941da inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x78314ace dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7844a4b3 user_path_at +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x785ae4a0 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x785eae0e twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x7874191f mmc_request_done +EXPORT_SYMBOL vmlinux 0x78764f4e pv_irq_ops +EXPORT_SYMBOL vmlinux 0x787af54a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78974cec generic_fillattr +EXPORT_SYMBOL vmlinux 0x789bdca3 seq_printf +EXPORT_SYMBOL vmlinux 0x789e7049 key_link +EXPORT_SYMBOL vmlinux 0x78ba3d0a dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x78bb3e24 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f46807 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x791cce81 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x792b9ddf blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7972d0e5 phy_driver_register +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79883443 udplite_prot +EXPORT_SYMBOL vmlinux 0x798d2759 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x79945d9f proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x799be490 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x79a38e61 ___ratelimit +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79c1e93a inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x79f82a7e agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x79f9daf1 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a2991b1 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x7a2e2f09 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4773b1 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x7a4fe490 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x7a616134 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x7a809366 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x7aa57c5c blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac0b2f3 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x7ac6582c setup_arg_pages +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b10aeff ppp_input_error +EXPORT_SYMBOL vmlinux 0x7b1ad14a names_cachep +EXPORT_SYMBOL vmlinux 0x7b2aef6c __krealloc +EXPORT_SYMBOL vmlinux 0x7b399007 scsi_device_get +EXPORT_SYMBOL vmlinux 0x7b4a663c inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b559ed8 __devm_release_region +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b78fbe4 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL vmlinux 0x7baf08a0 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x7bbd8e71 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x7bfbf3cd get_unmapped_area +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c24e92f lro_flush_all +EXPORT_SYMBOL vmlinux 0x7c2d098f krealloc +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9a46ad tty_set_operations +EXPORT_SYMBOL vmlinux 0x7ca46555 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7ceaa22c mark_buffer_dirty_inode +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 0x7d2f1127 skb_unlink +EXPORT_SYMBOL vmlinux 0x7d4e1e3a generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x7d59a6ef writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x7d6895ad usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x7d887890 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7db42a4e vga_get +EXPORT_SYMBOL vmlinux 0x7dbc2e57 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7de2ea53 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e02f0ac simple_statfs +EXPORT_SYMBOL vmlinux 0x7e0d1b42 unregister_console +EXPORT_SYMBOL vmlinux 0x7e11e053 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x7e1a08d9 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x7e1b74a0 kernel_read +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e39cd81 dev_uc_del +EXPORT_SYMBOL vmlinux 0x7e567aa3 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x7e7cd961 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7e843253 __bforget +EXPORT_SYMBOL vmlinux 0x7e86429b pipe_unlock +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7eac4a40 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x7eb075a3 fb_class +EXPORT_SYMBOL vmlinux 0x7ec042b0 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x7ec60050 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x7ec8f9a7 x86_hyper_vmware +EXPORT_SYMBOL vmlinux 0x7ef35a93 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x7ef6db30 journal_start_commit +EXPORT_SYMBOL vmlinux 0x7ef99e4c blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x7f0d96cf tcf_hash_check +EXPORT_SYMBOL vmlinux 0x7f18b194 kacpi_hotplug_wq +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f4c00b1 ip6_xmit +EXPORT_SYMBOL vmlinux 0x7f576e33 __getblk +EXPORT_SYMBOL vmlinux 0x7f658e80 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7f70774b tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x7f93710e pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x7fd734c2 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x7fde3716 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x7fe38f48 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x7ff8d84f dev_printk +EXPORT_SYMBOL vmlinux 0x7ffaa967 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x801923b1 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x802d0e93 crc32_le +EXPORT_SYMBOL vmlinux 0x8039589f vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x80431ae1 vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0x8060dfa2 arp_send +EXPORT_SYMBOL vmlinux 0x808ebf18 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x809be149 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x80bef9b5 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x80c9461e journal_stop +EXPORT_SYMBOL vmlinux 0x80cc2cd4 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x80e07abc seq_bitmap +EXPORT_SYMBOL vmlinux 0x810dc172 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x811475ee genphy_update_link +EXPORT_SYMBOL vmlinux 0x811b1788 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x81317c26 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x81359ce4 __brelse +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x8149c640 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x8151c85f mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x8158b4ad pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816b73bd uart_update_timeout +EXPORT_SYMBOL vmlinux 0x8185153c tty_port_close +EXPORT_SYMBOL vmlinux 0x819c892c __netdev_printk +EXPORT_SYMBOL vmlinux 0x81a08839 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x81aeada2 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81d3dc99 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x821ab36d fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x821af5c2 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x8221b80a __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8255fe9e read_cache_page +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x826b098a fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x829d4e08 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82c3b3b5 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x82e70357 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x8320c391 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x83260059 prepare_binprm +EXPORT_SYMBOL vmlinux 0x832c4c7a may_umount +EXPORT_SYMBOL vmlinux 0x833c03aa acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x8353b73e remove_proc_entry +EXPORT_SYMBOL vmlinux 0x8356d143 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x835cf6d1 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x8369c831 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x836b83ff input_register_device +EXPORT_SYMBOL vmlinux 0x836fe927 submit_bh +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x8399e157 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x84060081 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x840de663 mmc_release_host +EXPORT_SYMBOL vmlinux 0x8417f512 acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0x841e6900 skb_insert +EXPORT_SYMBOL vmlinux 0x84507ede tcf_hash_search +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x8473c614 dump_trace +EXPORT_SYMBOL vmlinux 0x847d66b3 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x848ee70c idr_remove +EXPORT_SYMBOL vmlinux 0x84ebdc6e cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x84ee60ff end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x8506549f gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x8508a7ec dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x852087a4 set_anon_super +EXPORT_SYMBOL vmlinux 0x85287b87 mntget +EXPORT_SYMBOL vmlinux 0x8532d1c2 km_report +EXPORT_SYMBOL vmlinux 0x854c4b28 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x854cb78e jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x8556df7a gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x8562a3d5 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x8563e3d6 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x856437fd __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8588b3b4 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x859463aa seq_release_private +EXPORT_SYMBOL vmlinux 0x859718a8 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x85a40bf6 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x85b46ec4 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bff0b7 journal_restart +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85fd75fb seq_release +EXPORT_SYMBOL vmlinux 0x86122692 __invalidate_device +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x86510032 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x865cfdbd blk_init_queue +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8690db0d dev_set_mtu +EXPORT_SYMBOL vmlinux 0x86b30a5e kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x86bfae20 acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x86c57e41 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x86d5255f _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x86f9c858 write_inode_now +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87081b98 bdevname +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871859dc kernel_connect +EXPORT_SYMBOL vmlinux 0x871a91ff pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872130f7 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x8736ca23 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x873be55a xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x874d5f88 dma_find_channel +EXPORT_SYMBOL vmlinux 0x875db8f3 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b16771 uart_resume_port +EXPORT_SYMBOL vmlinux 0x87c56201 load_nls +EXPORT_SYMBOL vmlinux 0x87c58a96 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x880ea315 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x880eb42e ip_fragment +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881906d2 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x8823fc0e iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x882f21df compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x8830fcdd dev_notice +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x8848ed45 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x8866bcbd unlock_rename +EXPORT_SYMBOL vmlinux 0x886b612a I_BDEV +EXPORT_SYMBOL vmlinux 0x886ecba4 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x88904f38 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x889a0098 neigh_for_each +EXPORT_SYMBOL vmlinux 0x88a79192 mnt_pin +EXPORT_SYMBOL vmlinux 0x88b04e39 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0x88cad03c sg_miter_next +EXPORT_SYMBOL vmlinux 0x88d318da dev_addr_flush +EXPORT_SYMBOL vmlinux 0x88d65e6c file_sb_list_del +EXPORT_SYMBOL vmlinux 0x88d6f304 dev_emerg +EXPORT_SYMBOL vmlinux 0x88e6fc11 km_policy_expired +EXPORT_SYMBOL vmlinux 0x88f00d18 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x88f561b7 console_start +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x8948d056 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x89517d85 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x89558edd mpage_writepage +EXPORT_SYMBOL vmlinux 0x89714968 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8975b4ec generic_delete_inode +EXPORT_SYMBOL vmlinux 0x89a46c5e cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x89a57c02 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89c89999 do_splice_from +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 0x8a22fed8 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a790394 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aac8acf unregister_quota_format +EXPORT_SYMBOL vmlinux 0x8aad7b04 dma_supported +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8afa48f1 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x8b144ddb compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b50d6ab register_sysctl +EXPORT_SYMBOL vmlinux 0x8b51eb54 would_dump +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7fadc2 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8b7fd9e7 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x8b8f25b0 dquot_release +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bda613b mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x8bee4733 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c01721f alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x8c17401b genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c220320 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x8c2f167d xfrm_input +EXPORT_SYMBOL vmlinux 0x8c55a07f pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x8c5e8245 register_quota_format +EXPORT_SYMBOL vmlinux 0x8c848bd1 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x8c8daf48 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x8c98d33f framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x8cb2adc3 idr_for_each +EXPORT_SYMBOL vmlinux 0x8cbef51d simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cc95e8e tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x8cd88c07 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cea3b2d amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0x8d443aac compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d56025c sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d9f029f pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x8da1a3cb acpi_remove_interface +EXPORT_SYMBOL vmlinux 0x8daf8c42 dql_init +EXPORT_SYMBOL vmlinux 0x8dc7b465 phy_device_register +EXPORT_SYMBOL vmlinux 0x8ddb8b73 misc_deregister +EXPORT_SYMBOL vmlinux 0x8defa3d9 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8df33ec8 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8dfe6fab inode_init_always +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0da1c3 tcp_check_req +EXPORT_SYMBOL vmlinux 0x8e280491 agp_copy_info +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e4293db free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x8e584f67 dst_alloc +EXPORT_SYMBOL vmlinux 0x8e62cbd7 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x8e7a29f8 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x8e903051 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x8e94ea5e inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8ed25bb1 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x8ed376bb agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x8ef772a1 kill_bdev +EXPORT_SYMBOL vmlinux 0x8f1b7be9 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f51cc8f __frontswap_store +EXPORT_SYMBOL vmlinux 0x8f51fe11 agp_free_page_array +EXPORT_SYMBOL vmlinux 0x8f52a40d kobject_set_name +EXPORT_SYMBOL vmlinux 0x8f637c81 nobh_writepage +EXPORT_SYMBOL vmlinux 0x8f681f4c devm_gpio_request +EXPORT_SYMBOL vmlinux 0x8f6f00e8 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f719cfe textsearch_unregister +EXPORT_SYMBOL vmlinux 0x8f75321b skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x8f7ee7bb ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fe2c137 tty_name +EXPORT_SYMBOL vmlinux 0x8ff52750 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x90465df2 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x904a269d elv_register_queue +EXPORT_SYMBOL vmlinux 0x905210f7 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x905eb8c0 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x905eeaac pci_request_regions +EXPORT_SYMBOL vmlinux 0x905f5e72 mount_bdev +EXPORT_SYMBOL vmlinux 0x907f3d9f blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90e5d0b8 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x90f76acc ihold +EXPORT_SYMBOL vmlinux 0x9104245d max8925_set_bits +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x915e853e netdev_change_features +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x918c6ad8 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x91a3cdf4 down_timeout +EXPORT_SYMBOL vmlinux 0x91ac822f vscnprintf +EXPORT_SYMBOL vmlinux 0x91ac9319 revalidate_disk +EXPORT_SYMBOL vmlinux 0x91b1c90e gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x91bcf679 netdev_emerg +EXPORT_SYMBOL vmlinux 0x91c846ad abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x91e9fd9f vmtruncate +EXPORT_SYMBOL vmlinux 0x91f47514 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x91f6cfaf jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x9218e3d9 end_page_writeback +EXPORT_SYMBOL vmlinux 0x92295a0d kmalloc_caches +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9252fa8d dev_mc_add +EXPORT_SYMBOL vmlinux 0x9255146c simple_dir_operations +EXPORT_SYMBOL vmlinux 0x925cb5de simple_pin_fs +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92ec35ea scm_detach_fds +EXPORT_SYMBOL vmlinux 0x92f4f6fc dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x931138f5 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x9327f5ce _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x93363036 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x933f07c4 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x93576f6c sock_create +EXPORT_SYMBOL vmlinux 0x9382270d ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x938de8f3 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x939e847b writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b43a2e journal_errno +EXPORT_SYMBOL vmlinux 0x93b732d8 pci_set_ltr +EXPORT_SYMBOL vmlinux 0x93c2c24f __destroy_inode +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93c85e9e take_over_console +EXPORT_SYMBOL vmlinux 0x93dfd52b blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x93f3e52b acpi_extract_package +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x947290d2 dev_warn +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94bc4259 spi_dv_device +EXPORT_SYMBOL vmlinux 0x94de56a9 set_disk_ro +EXPORT_SYMBOL vmlinux 0x94fce247 __page_symlink +EXPORT_SYMBOL vmlinux 0x9518b623 register_shrinker +EXPORT_SYMBOL vmlinux 0x9537e575 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x9537f801 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x956e582e d_splice_alias +EXPORT_SYMBOL vmlinux 0x957f9287 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x9583c172 blk_peek_request +EXPORT_SYMBOL vmlinux 0x95c930b0 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x95f89a33 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x96068e3e __dst_free +EXPORT_SYMBOL vmlinux 0x960a3ce4 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x9652f24e do_SAK +EXPORT_SYMBOL vmlinux 0x967b00c3 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x96999131 nf_log_packet +EXPORT_SYMBOL vmlinux 0x969c0f35 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b4b195 devm_iounmap +EXPORT_SYMBOL vmlinux 0x96b607d3 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x96bfe85b dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x96c9c955 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96eb828f md_done_sync +EXPORT_SYMBOL vmlinux 0x96f5869a scsi_device_put +EXPORT_SYMBOL vmlinux 0x96f5dcb5 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9704c59e simple_setattr +EXPORT_SYMBOL vmlinux 0x9724126a fifo_set_limit +EXPORT_SYMBOL vmlinux 0x9725b589 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x97343c8f inet_frag_kill +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x975ae7dd tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x976f8a26 netif_device_detach +EXPORT_SYMBOL vmlinux 0x978369c0 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x97868aef __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x97992d36 seq_open_private +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x97e066ae acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x97f1cd3b tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x98019f2b padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98234bd8 secpath_dup +EXPORT_SYMBOL vmlinux 0x9823eda9 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x983192ab dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x9853a234 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988dbda5 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98901c46 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x98a471fc mfd_add_devices +EXPORT_SYMBOL vmlinux 0x98a7e7dc pci_find_bus +EXPORT_SYMBOL vmlinux 0x98b4325e user_revoke +EXPORT_SYMBOL vmlinux 0x98e66eae vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x98f01814 journal_abort +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x990782d4 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x991520c1 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x99195078 vsnprintf +EXPORT_SYMBOL vmlinux 0x99383f63 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x99452d1c pci_wake_from_d3 +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 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c283e2 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x99c86b1b generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d3577f sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x99d3a43c dm_table_get_size +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a537c99 idr_pre_get +EXPORT_SYMBOL vmlinux 0x9a5efc33 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x9a5ffc64 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9aa86570 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x9aaa26b3 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x9ab45f2f dev_get_stats +EXPORT_SYMBOL vmlinux 0x9abf4e11 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x9acee672 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x9ad4deae input_close_device +EXPORT_SYMBOL vmlinux 0x9ae1e4d0 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x9af89f98 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9b0c33b2 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x9b25b611 __serio_register_port +EXPORT_SYMBOL vmlinux 0x9b29106d key_task_permission +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b75cb81 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x9b8797ef neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bcb5fbb __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x9beefafb __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x9c0c761a elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x9c25243a mmc_add_host +EXPORT_SYMBOL vmlinux 0x9c288234 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0x9c42da48 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x9c46d06b gen_new_estimator +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c4df62b pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x9c5d9420 journal_set_features +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c73e105 ps2_init +EXPORT_SYMBOL vmlinux 0x9c7b472d __get_user_pages +EXPORT_SYMBOL vmlinux 0x9c85233c inet_release +EXPORT_SYMBOL vmlinux 0x9cabf367 get_task_io_context +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd1d983 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x9cf94d9e acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d07b1fb dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x9d101aaa misc_register +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3d06be eth_header +EXPORT_SYMBOL vmlinux 0x9d527d1b blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x9d5a6734 journal_start +EXPORT_SYMBOL vmlinux 0x9d6dbebd kobject_init +EXPORT_SYMBOL vmlinux 0x9d8266e9 inode_init_owner +EXPORT_SYMBOL vmlinux 0x9d9348f9 vm_map_ram +EXPORT_SYMBOL vmlinux 0x9d9cc2e1 twl6040_power +EXPORT_SYMBOL vmlinux 0x9de00815 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x9dea92e4 init_net +EXPORT_SYMBOL vmlinux 0x9ded188e kobject_del +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fc792 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x9e33e6fb mark_info_dirty +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e68e7b0 unlock_super +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e8b3ffa km_new_mapping +EXPORT_SYMBOL vmlinux 0x9e9d4fbd amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9eba279b find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x9ebc1677 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ebdf059 x86_hyper +EXPORT_SYMBOL vmlinux 0x9ed36b4b framebuffer_release +EXPORT_SYMBOL vmlinux 0x9edd0b04 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x9ee517d8 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x9ee51d2c agp_put_bridge +EXPORT_SYMBOL vmlinux 0x9eecc127 try_to_release_page +EXPORT_SYMBOL vmlinux 0x9f0bd695 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x9f1a1479 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x9f1d5fe5 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f469f66 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f6d261c check_disk_size_change +EXPORT_SYMBOL vmlinux 0x9f6e19ab mem_section +EXPORT_SYMBOL vmlinux 0x9f7c82a6 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x9f8c4439 sock_i_uid +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fc2209b inetdev_by_index +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ffb6bed sg_miter_stop +EXPORT_SYMBOL vmlinux 0xa0026d02 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa02d8d71 mount_ns +EXPORT_SYMBOL vmlinux 0xa03e63e2 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa04c7604 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xa0597f88 free_netdev +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06f4747 vfs_symlink +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b3f6c3 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d7847c acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0xa0dd6a74 backlight_force_update +EXPORT_SYMBOL vmlinux 0xa0e59761 phy_stop +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff74d6 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa108e6a4 tcp_init_sock +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa110b4c9 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa1384a2a amd_iommu_get_v2_domain +EXPORT_SYMBOL vmlinux 0xa14b2525 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1520587 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xa168a957 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xa1920abd netdev_set_master +EXPORT_SYMBOL vmlinux 0xa1927bc7 simple_getattr +EXPORT_SYMBOL vmlinux 0xa1928516 kern_path +EXPORT_SYMBOL vmlinux 0xa1b1559f rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1b9cd9c kill_pgrp +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1d1fe0d dump_seek +EXPORT_SYMBOL vmlinux 0xa1dd09ee dquot_acquire +EXPORT_SYMBOL vmlinux 0xa1fdb82d simple_fill_super +EXPORT_SYMBOL vmlinux 0xa202a8e5 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xa20c9e80 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa287ce3f mmc_register_driver +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bd6d1e blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2f379db get_fs_type +EXPORT_SYMBOL vmlinux 0xa2f47b24 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xa2fa019b cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xa303019f kfree_skb +EXPORT_SYMBOL vmlinux 0xa305f731 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xa317aff1 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xa31a6206 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xa31a9a66 icmpv6_send +EXPORT_SYMBOL vmlinux 0xa31d36c4 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa3398a22 set_pages_x +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa37065c6 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xa3710674 dev_crit +EXPORT_SYMBOL vmlinux 0xa3847106 netdev_printk +EXPORT_SYMBOL vmlinux 0xa3a77c69 down_read_trylock +EXPORT_SYMBOL vmlinux 0xa3b63a81 journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa3c4c75b dquot_drop +EXPORT_SYMBOL vmlinux 0xa3ce08ce jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xa3fc3d50 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xa400159f crc32_be +EXPORT_SYMBOL vmlinux 0xa40b50e9 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xa422a094 nf_log_register +EXPORT_SYMBOL vmlinux 0xa44620d6 __scm_send +EXPORT_SYMBOL vmlinux 0xa4511467 crc16 +EXPORT_SYMBOL vmlinux 0xa45a255f ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xa46cec6f pci_write_vpd +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4703984 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xa474f6db iunique +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c8778d consume_skb +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4d7a076 open_exec +EXPORT_SYMBOL vmlinux 0xa4df5a49 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa4e4f1fb neigh_create +EXPORT_SYMBOL vmlinux 0xa4f07109 mii_check_media +EXPORT_SYMBOL vmlinux 0xa4fec508 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xa51893de mempool_create_node +EXPORT_SYMBOL vmlinux 0xa51df2b4 down_killable +EXPORT_SYMBOL vmlinux 0xa563517f iterate_supers_type +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa5798132 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xa58a3166 lg_local_lock +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5e4f65c __next_cpu_nr +EXPORT_SYMBOL vmlinux 0xa5edc114 __lru_cache_add +EXPORT_SYMBOL vmlinux 0xa601e978 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xa60ba40d security_inode_readlink +EXPORT_SYMBOL vmlinux 0xa6128285 set_groups +EXPORT_SYMBOL vmlinux 0xa631725c dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6597573 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xa66f3f84 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6c50440 ilookup5 +EXPORT_SYMBOL vmlinux 0xa6d6081a dqget +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ef1b09 register_xen_selfballooning +EXPORT_SYMBOL vmlinux 0xa6efab09 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xa6f24ee4 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xa7031b03 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71c4b6a sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa73ba4af con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xa73d8578 bio_clone +EXPORT_SYMBOL vmlinux 0xa75ff818 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xa77418bc blk_get_queue +EXPORT_SYMBOL vmlinux 0xa7764a52 bio_integrity_split +EXPORT_SYMBOL vmlinux 0xa77774de serio_open +EXPORT_SYMBOL vmlinux 0xa7c44c75 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xa7f811fe dm_io +EXPORT_SYMBOL vmlinux 0xa8059942 do_sync_read +EXPORT_SYMBOL vmlinux 0xa80c1976 blkdev_get +EXPORT_SYMBOL vmlinux 0xa816c525 schedule_work_on +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa82247c5 elv_rb_del +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa83df742 vfs_readlink +EXPORT_SYMBOL vmlinux 0xa83f2394 security_path_chmod +EXPORT_SYMBOL vmlinux 0xa8493768 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa855edbe dev_alert +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa873d5bb pv_mmu_ops +EXPORT_SYMBOL vmlinux 0xa88f9620 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xa8929ece do_splice_direct +EXPORT_SYMBOL vmlinux 0xa8a0d3ac module_layout +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8abce5f mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xa8b177f4 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xa8d25942 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xa8d50c17 register_cdrom +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8da8d66 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xa8e45286 rt6_lookup +EXPORT_SYMBOL vmlinux 0xa8f41263 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa9386df2 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xa94b2ae3 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xa96fe422 seq_write +EXPORT_SYMBOL vmlinux 0xa9725d78 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xa9745ccc account_page_writeback +EXPORT_SYMBOL vmlinux 0xa981fa2d iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9c1b627 intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0xa9d1e078 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0xa9e78fdf pci_scan_slot +EXPORT_SYMBOL vmlinux 0xa9ec5d1b sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xaa069188 blkdev_fsync +EXPORT_SYMBOL vmlinux 0xaa229581 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xaa39175f generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xaa405025 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xaa5b18d2 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xaa798342 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xaaa1fff8 ppp_input +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaeabe86 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaaf53e33 skb_push +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab08cab2 pci_disable_device +EXPORT_SYMBOL vmlinux 0xab12bff1 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab2abddf dma_spin_lock +EXPORT_SYMBOL vmlinux 0xab5cd19f flush_old_exec +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xab7ff3f3 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xaba74a31 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xaba8997f bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd20fa7 blk_run_queue +EXPORT_SYMBOL vmlinux 0xabd77091 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xabe118cf call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xabf1b116 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xac0a629d tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac1b8843 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xac315589 kdb_current_task +EXPORT_SYMBOL vmlinux 0xac4e6950 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac608055 idr_init +EXPORT_SYMBOL vmlinux 0xac63c188 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac795291 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xac7a482e mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xac8f282c pci_iounmap +EXPORT_SYMBOL vmlinux 0xac96ec0d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xaca39ad9 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0xacc195b1 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xacc27cb7 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0xacc61d80 n_tty_compat_ioctl_helper +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad01744f kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0a2abe neigh_lookup +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad164875 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xad184a7a iget_failed +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad583761 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xad6d29d0 agp_create_memory +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad92b9be scsi_target_resume +EXPORT_SYMBOL vmlinux 0xad94260b register_gifconf +EXPORT_SYMBOL vmlinux 0xad9ab8f9 __seq_open_private +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadaabe1b pv_lock_ops +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xae0a315e read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xae0ce61f uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xae2c3a87 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xae3f350f twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xae4f4a15 mmc_start_req +EXPORT_SYMBOL vmlinux 0xae633d71 file_update_time +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae748d25 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xae920a07 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xae9d7012 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xaea976a8 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xaeb0acfe bitmap_unplug +EXPORT_SYMBOL vmlinux 0xaeb0cc2a inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xaeccf5eb skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xaeceb07c sock_no_connect +EXPORT_SYMBOL vmlinux 0xaef3637b kill_pid +EXPORT_SYMBOL vmlinux 0xaf1680ac amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0xaf378924 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4a5dc0 vfs_read +EXPORT_SYMBOL vmlinux 0xaf4d5393 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xaf611eac amd_nb_misc_ids +EXPORT_SYMBOL vmlinux 0xaf68d59c phy_start_aneg +EXPORT_SYMBOL vmlinux 0xaf6ae696 kstrndup +EXPORT_SYMBOL vmlinux 0xaf7eac79 input_grab_device +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafb8c6ff copy_user_generic_string +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafd8d4bb dmam_pool_create +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xb024572f ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xb037e497 pci_restore_state +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0606302 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xb06370fa fget +EXPORT_SYMBOL vmlinux 0xb07d9f4a tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xb07f6536 netif_device_attach +EXPORT_SYMBOL vmlinux 0xb08037d7 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xb09c9a19 journal_wipe +EXPORT_SYMBOL vmlinux 0xb09ef10a vfs_mkdir +EXPORT_SYMBOL vmlinux 0xb0a8fd0a intel_gtt_unmap_memory +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0b92c3b phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xb0bfe498 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb0f0f47d __nlmsg_put +EXPORT_SYMBOL vmlinux 0xb11ec876 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb138d0bf dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb16681d5 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xb17135ff pipe_to_file +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb19d51e1 tcp_syn_ack_timeout +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 0xb1d23be8 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb20f162e nlmsg_notify +EXPORT_SYMBOL vmlinux 0xb2190ac4 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb2475e2a genl_notify +EXPORT_SYMBOL vmlinux 0xb24db11a jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xb25c150d add_disk +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2a77232 search_binary_handler +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e08e7b lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xb2ecde1d neigh_ifdown +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 0xb335e672 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb38ab8ac tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xb3d9842d noop_fsync +EXPORT_SYMBOL vmlinux 0xb405d2b7 set_pages_uc +EXPORT_SYMBOL vmlinux 0xb40beb96 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb459bb7e spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47f81fc key_put +EXPORT_SYMBOL vmlinux 0xb4a294b5 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xb4b7b067 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xb4d371eb fb_find_mode +EXPORT_SYMBOL vmlinux 0xb4d88312 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5685e93 seq_read +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb575f818 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xb583678a noop_llseek +EXPORT_SYMBOL vmlinux 0xb586ec83 ht_create_irq +EXPORT_SYMBOL vmlinux 0xb58e0fc9 register_netdev +EXPORT_SYMBOL vmlinux 0xb5901c2e pci_target_state +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a7d6b7 security_path_unlink +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5dcab5b remove_wait_queue +EXPORT_SYMBOL vmlinux 0xb602c6f1 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0xb60ab58d ip6_frag_init +EXPORT_SYMBOL vmlinux 0xb61c76b7 dquot_enable +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb626a7bc __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xb63d24c2 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xb64ce7e7 d_path +EXPORT_SYMBOL vmlinux 0xb65d3c38 journal_force_commit +EXPORT_SYMBOL vmlinux 0xb6649554 update_time +EXPORT_SYMBOL vmlinux 0xb66e6be5 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xb676a677 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67a277d tty_hangup +EXPORT_SYMBOL vmlinux 0xb67b16c6 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xb67c09f3 dev_close +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb694a610 locks_init_lock +EXPORT_SYMBOL vmlinux 0xb697145b __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b9bc64 ata_port_printk +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6e0d274 vfs_link +EXPORT_SYMBOL vmlinux 0xb6e78f53 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xb70cabbb journal_get_write_access +EXPORT_SYMBOL vmlinux 0xb712ebcd ping_prot +EXPORT_SYMBOL vmlinux 0xb729b4f0 __ps2_command +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb77cab06 __nla_reserve +EXPORT_SYMBOL vmlinux 0xb77fe23a block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xb78f74a5 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xb7aec31b neigh_compat_output +EXPORT_SYMBOL vmlinux 0xb7b9f170 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xb7dae0ba inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xb7f47feb inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0xb82cf5eb max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8cef6e3 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xb8e01dad vfs_fsync +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8eb5346 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb919d9a6 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xb91eba3a proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xb9249d16 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb9713c0c gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xb97b63e6 d_rehash +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a0109d unlock_page +EXPORT_SYMBOL vmlinux 0xb9b4e181 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0xb9bf4fce pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xb9c9787e jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xb9e801ae touch_atime +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba0fce25 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xba182186 agp_bind_memory +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba4366f7 destroy_EII_client +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba5741a5 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xba63339c _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xbaa588e0 mddev_congested +EXPORT_SYMBOL vmlinux 0xbaaf6601 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xbac9731c swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xbae03cbf pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xbaf85797 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xbafc1b5f sk_reset_timer +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb34134a iov_shorten +EXPORT_SYMBOL vmlinux 0xbb413bb5 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbba23cb0 cpu_core_map +EXPORT_SYMBOL vmlinux 0xbbaeb559 memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0xbbbf5644 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xbbccc01e input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xbbd28e3b vfs_llseek +EXPORT_SYMBOL vmlinux 0xbbd28f22 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xbbe20028 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xbbfcaca5 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xbc03714a register_sysctl_table +EXPORT_SYMBOL vmlinux 0xbc16cc0c nf_register_hook +EXPORT_SYMBOL vmlinux 0xbc171762 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc2978e9 lg_global_lock +EXPORT_SYMBOL vmlinux 0xbc2d3351 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xbc3a523a simple_link +EXPORT_SYMBOL vmlinux 0xbc3ea471 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xbc3fc586 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xbc7eb891 set_page_dirty +EXPORT_SYMBOL vmlinux 0xbc80a8fd pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xbc85dd85 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xbc8e2149 mapping_tagged +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc3e2d0 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xbcd4dd16 release_firmware +EXPORT_SYMBOL vmlinux 0xbcfced4b md_finish_reshape +EXPORT_SYMBOL vmlinux 0xbd0a0ef1 thaw_super +EXPORT_SYMBOL vmlinux 0xbd100793 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xbd13799c ps2_drain +EXPORT_SYMBOL vmlinux 0xbd285cc7 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd730450 alloc_file +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdc89bea seq_escape +EXPORT_SYMBOL vmlinux 0xbdd8bc2d cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe096929 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xbe104abb pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xbe18153d try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xbe213954 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe288a9c skb_trim +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe32798e commit_creds +EXPORT_SYMBOL vmlinux 0xbe7994b6 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xbe83e4ff kset_unregister +EXPORT_SYMBOL vmlinux 0xbe88445b do_splice_to +EXPORT_SYMBOL vmlinux 0xbeb56cb8 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xbeb64771 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xbebe265e swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xbec30d05 x86_match_cpu +EXPORT_SYMBOL vmlinux 0xbecb293e scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xbed40c89 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf146162 vm_event_states +EXPORT_SYMBOL vmlinux 0xbf2aa41c __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xbf382509 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xbf46091c wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xbf5189c7 mount_single +EXPORT_SYMBOL vmlinux 0xbf6e7772 set_bdi_congested +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfdc8029 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xbfdcd2d3 sk_run_filter +EXPORT_SYMBOL vmlinux 0xbfe4784c efi +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc0020fee set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xc01cf848 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xc055ea3b input_set_capability +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06c7f0a kill_block_super +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07d99b4 deactivate_super +EXPORT_SYMBOL vmlinux 0xc08450d1 kernel_accept +EXPORT_SYMBOL vmlinux 0xc091d5ec _dev_info +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a73fc4 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xc0ef95ba mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0xc159eeba generic_read_dir +EXPORT_SYMBOL vmlinux 0xc1690062 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xc1697732 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc18eb184 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xc19a59bd dev_activate +EXPORT_SYMBOL vmlinux 0xc1a9af1a genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xc1b56fed mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xc1b6abcd pci_get_slot +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1d7d179 blk_stack_limits +EXPORT_SYMBOL vmlinux 0xc20c547c cdev_init +EXPORT_SYMBOL vmlinux 0xc20ef2d6 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc22f2f67 eth_header_cache +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25a956b inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc29e50eb dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xc2a74344 vga_tryget +EXPORT_SYMBOL vmlinux 0xc2c5c4d7 dev_mc_init +EXPORT_SYMBOL vmlinux 0xc2cffb90 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xc2d1da27 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xc2d32a3c ata_print_version +EXPORT_SYMBOL vmlinux 0xc2dd08f4 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ef71de ppp_channel_index +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc3099677 ilookup +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc32af8a5 inet_select_addr +EXPORT_SYMBOL vmlinux 0xc32f66cf request_key +EXPORT_SYMBOL vmlinux 0xc3416bff alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xc349a69a ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xc363696c jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xc3727fa1 elv_rb_find +EXPORT_SYMBOL vmlinux 0xc37b00e9 journal_init_dev +EXPORT_SYMBOL vmlinux 0xc396229e dquot_scan_active +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3bb6478 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0xc3ccce89 dqput +EXPORT_SYMBOL vmlinux 0xc3fc35f5 idr_find +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc410491f kill_fasync +EXPORT_SYMBOL vmlinux 0xc42682a4 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xc4453418 genphy_suspend +EXPORT_SYMBOL vmlinux 0xc458ee4f skb_put +EXPORT_SYMBOL vmlinux 0xc483a2d3 register_nls +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a27157 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xc4aad04c scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xc4aceb81 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xc4bbc279 dget_parent +EXPORT_SYMBOL vmlinux 0xc4c7d9d4 get_disk +EXPORT_SYMBOL vmlinux 0xc4eac1f4 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xc4f5b925 install_exec_creds +EXPORT_SYMBOL vmlinux 0xc5062e4c pci_choose_state +EXPORT_SYMBOL vmlinux 0xc50bab05 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xc5215c69 f_setown +EXPORT_SYMBOL vmlinux 0xc545f5a9 blk_free_tags +EXPORT_SYMBOL vmlinux 0xc54dbbf4 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xc550a804 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc564e332 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc596c446 blk_rq_init +EXPORT_SYMBOL vmlinux 0xc5c48be3 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e02d03 files_lglock +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5ff0089 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xc618e48a __rta_fill +EXPORT_SYMBOL vmlinux 0xc61b5c6b journal_flush +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63bb71d bio_copy_user +EXPORT_SYMBOL vmlinux 0xc640527f inet_csk_accept +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66b1f76 pci_dev_get +EXPORT_SYMBOL vmlinux 0xc6890ef3 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xc6a66180 rwsem_wake +EXPORT_SYMBOL vmlinux 0xc6b4e9cb jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xc6c9f275 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6dd7545 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xc6f450e3 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xc6f824b7 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7064278 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc7303645 proc_create_data +EXPORT_SYMBOL vmlinux 0xc7433720 bio_put +EXPORT_SYMBOL vmlinux 0xc74dffe5 mdiobus_free +EXPORT_SYMBOL vmlinux 0xc76f215c scsi_print_result +EXPORT_SYMBOL vmlinux 0xc77a3a08 dst_release +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc789202a max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xc79b862a input_unregister_handler +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7ba9ff5 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xc7bdac76 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0xc7c6bf57 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xc7e41c6c gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xc8178fd8 vm_insert_page +EXPORT_SYMBOL vmlinux 0xc83b6758 dev_uc_init +EXPORT_SYMBOL vmlinux 0xc83df087 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xc84295b8 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84adbf7 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xc84cc6fd vfs_readdir +EXPORT_SYMBOL vmlinux 0xc8765df6 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xc87e253a mpage_readpages +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8a91df7 journal_revoke +EXPORT_SYMBOL vmlinux 0xc8aa9daa bdi_destroy +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ef2095 intel_gtt_insert_pages +EXPORT_SYMBOL vmlinux 0xc8ef4d64 address_space_init_once +EXPORT_SYMBOL vmlinux 0xc93df35b bio_sector_offset +EXPORT_SYMBOL vmlinux 0xc9523b5b mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xc958dd9b tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xc977d51f tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xc978479a xz_dec_run +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9ce2c95 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc9e72bc1 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xc9f66d26 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0xc9fc3354 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xc9fe09a8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xca074eca pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xca26ca4e pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xca2f47f6 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca7a1802 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xca8d16c2 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xca96f269 dev_set_group +EXPORT_SYMBOL vmlinux 0xcaa46e77 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xcabb8f73 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xcae350b1 d_instantiate +EXPORT_SYMBOL vmlinux 0xcae5b7ed acpi_root_dir +EXPORT_SYMBOL vmlinux 0xcafacb1a generic_ro_fops +EXPORT_SYMBOL vmlinux 0xcb02ff6f xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xcb640997 netpoll_setup +EXPORT_SYMBOL vmlinux 0xcb66b124 block_truncate_page +EXPORT_SYMBOL vmlinux 0xcb693bb8 acpi_bus_add +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb73ad3b amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0xcb7a37aa input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xcb807a6c qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xcb86bfaa sk_free +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcba12a4e __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xcbb7a1c4 write_cache_pages +EXPORT_SYMBOL vmlinux 0xcbc26532 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbdd4519 __dev_printk +EXPORT_SYMBOL vmlinux 0xcbe8a6ea scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xcc1994e3 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xcc1998bf dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2ecb54 phy_print_status +EXPORT_SYMBOL vmlinux 0xcc3112ce generic_readlink +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4fbe22 send_sig_info +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc6b175d blk_start_queue +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc99724a jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xcca684c6 kthread_bind +EXPORT_SYMBOL vmlinux 0xcccc1c73 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xccda37d5 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xccf7385d pci_release_regions +EXPORT_SYMBOL vmlinux 0xcd082257 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xcd0a5c54 register_qdisc +EXPORT_SYMBOL vmlinux 0xcd0da59e generic_block_bmap +EXPORT_SYMBOL vmlinux 0xcd0e4798 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xcd20667a kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2cefe8 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xcd37f74e __elv_add_request +EXPORT_SYMBOL vmlinux 0xcd3bc598 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xcd55a68d mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xcd726a38 d_move +EXPORT_SYMBOL vmlinux 0xcdd98fff thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xcddc6e32 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcde7e29b compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0xcdf14bf6 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xce05d32a pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xce0cce06 tty_register_driver +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +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 0xce724d24 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xce8e6feb pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xceb1348e mmc_remove_host +EXPORT_SYMBOL vmlinux 0xceb89b5b __free_pages +EXPORT_SYMBOL vmlinux 0xcec4a5ab unlazy_fpu +EXPORT_SYMBOL vmlinux 0xcecf0011 bdi_register_dev +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf1697b8 dentry_unhash +EXPORT_SYMBOL vmlinux 0xcf1b126e set_create_files_as +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf21d241 __wake_up +EXPORT_SYMBOL vmlinux 0xcf695f8c mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf99030e fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xcf9b64df key_unlink +EXPORT_SYMBOL vmlinux 0xcfa14dc3 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xcfab2d6f mmc_can_trim +EXPORT_SYMBOL vmlinux 0xcfb5c4e7 security_path_mknod +EXPORT_SYMBOL vmlinux 0xcfced507 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xcfdea19f bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd000400e skb_copy_bits +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01cbdf1 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xd0298b8b proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xd03ce233 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xd0676bec scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xd067fc5c proc_dointvec +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd089c33d dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd0a667bd kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xd0a84867 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b311fd ip6_frag_match +EXPORT_SYMBOL vmlinux 0xd0ba0516 set_nlink +EXPORT_SYMBOL vmlinux 0xd0c07089 security_path_symlink +EXPORT_SYMBOL vmlinux 0xd0c4bf9c clear_inode +EXPORT_SYMBOL vmlinux 0xd0d0aa72 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0d5afc0 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xd0eb779e kfree_skb_partial +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 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd10ad30b agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xd1130e05 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1381b43 dquot_disable +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd14e4fd7 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xd17b9302 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18685ec ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd1af8cde set_pages_nx +EXPORT_SYMBOL vmlinux 0xd1c17633 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xd1c705e9 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xd1d0f470 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd227892e sleep_on +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd254fb70 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26122ff sock_kfree_s +EXPORT_SYMBOL vmlinux 0xd27827af pnp_device_detach +EXPORT_SYMBOL vmlinux 0xd27a4863 icmp_send +EXPORT_SYMBOL vmlinux 0xd2946e11 dma_sync_wait +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a4f845 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2b09ce5 __kmalloc +EXPORT_SYMBOL vmlinux 0xd2dc76d8 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xd2e19ceb max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xd2f1b260 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xd2f1fc66 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xd31561b4 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xd3192355 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xd31b0832 aio_complete +EXPORT_SYMBOL vmlinux 0xd35e249a _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xd36257ba memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0xd370cd23 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3901000 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xd39db610 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xd3b24b1f __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xd3c2af55 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3ec07f1 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xd3faf920 sock_no_listen +EXPORT_SYMBOL vmlinux 0xd4001be4 noop_qdisc +EXPORT_SYMBOL vmlinux 0xd401b549 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xd412ace3 km_policy_notify +EXPORT_SYMBOL vmlinux 0xd422be20 sock_update_classid +EXPORT_SYMBOL vmlinux 0xd4439f67 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xd45b381d scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xd46c68e2 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xd47a67e1 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xd4924acc dcache_dir_close +EXPORT_SYMBOL vmlinux 0xd49c1dc2 page_put_link +EXPORT_SYMBOL vmlinux 0xd4aa27d4 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xd4b09b81 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xd4b28c8e serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xd4b847c3 dcb_setapp +EXPORT_SYMBOL vmlinux 0xd4bd3eab neigh_table_init +EXPORT_SYMBOL vmlinux 0xd5028aee mdiobus_write +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51ad2b0 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xd51fc160 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xd52bf1ce _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xd5798115 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5acbf2a mpage_writepages +EXPORT_SYMBOL vmlinux 0xd5b4eafd unload_nls +EXPORT_SYMBOL vmlinux 0xd5bb1a1a xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xd5ca5e65 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xd5e699bd generic_write_checks +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd6100677 kern_path_create +EXPORT_SYMBOL vmlinux 0xd611bca3 completion_done +EXPORT_SYMBOL vmlinux 0xd614276c pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd61e585a agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62f67bb __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd65329f6 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xd6719833 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd6839038 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd683d786 serio_interrupt +EXPORT_SYMBOL vmlinux 0xd69cc596 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xd6a4b26d mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6ce67f9 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xd6d3a17b xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f7f17b dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xd720a816 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xd731cf3d mmc_erase +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd7627468 __dquot_transfer +EXPORT_SYMBOL vmlinux 0xd766cc22 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xd77387fb freeze_super +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7b66e15 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd7bea153 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xd7cbddda memcpy_toiovec +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea3120 elevator_exit +EXPORT_SYMBOL vmlinux 0xd82ab4d2 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xd849dd66 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0xd8500a82 find_get_page +EXPORT_SYMBOL vmlinux 0xd8679b30 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xd897edf8 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a07885 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd918169f sk_receive_skb +EXPORT_SYMBOL vmlinux 0xd91ea38c x86_hyper_xen_hvm +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92e16ba csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0xd93b64b0 swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0xd94322e7 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xd94743ef node_states +EXPORT_SYMBOL vmlinux 0xd969a18a __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xd969b2c7 amd_e400_c1e_detected +EXPORT_SYMBOL vmlinux 0xd9859d4e sk_dst_check +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd986dad1 kernel_fpu_begin +EXPORT_SYMBOL vmlinux 0xd989e68e dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xd98cf393 blk_end_request +EXPORT_SYMBOL vmlinux 0xd992dcaa __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd9d68f65 vc_resize +EXPORT_SYMBOL vmlinux 0xd9e079aa register_con_driver +EXPORT_SYMBOL vmlinux 0xd9f26670 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda0eb26e sk_common_release +EXPORT_SYMBOL vmlinux 0xda2f4e68 pci_disable_obff +EXPORT_SYMBOL vmlinux 0xda3d58a5 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xda3d968b security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xda66f34e neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xda715ee4 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda83e261 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda91bab7 inet_bind +EXPORT_SYMBOL vmlinux 0xdaab03e4 __netif_schedule +EXPORT_SYMBOL vmlinux 0xdab25e74 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xdacd840c qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xdad820b5 netdev_notice +EXPORT_SYMBOL vmlinux 0xdaea6e0d mfd_clone_cell +EXPORT_SYMBOL vmlinux 0xdaf38675 inet_accept +EXPORT_SYMBOL vmlinux 0xdb246bc3 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb73b066 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb78919b compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xdb8e2a39 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xdb91f1d5 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba23ee8 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xdbae249e pci_set_power_state +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd8347b iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xdbe90351 inode_dio_wait +EXPORT_SYMBOL vmlinux 0xdbf944ec fifo_create_dflt +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 0xdc388ffb cap_mmap_file +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc4f651f seq_open +EXPORT_SYMBOL vmlinux 0xdc57f532 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc73b6c2 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xdc8d1dde _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0xdc92d8ff __scm_destroy +EXPORT_SYMBOL vmlinux 0xdc99d73c acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xdca09c7f __breadahead +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb10f4d find_inode_number +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcf60d2e dquot_quota_off +EXPORT_SYMBOL vmlinux 0xdcf982e0 netlink_set_err +EXPORT_SYMBOL vmlinux 0xdd0adcee bdev_read_only +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd3be02a inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xdd4506bd single_release +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd4aecf7 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xdd889053 security_path_chown +EXPORT_SYMBOL vmlinux 0xdd9192c9 md_error +EXPORT_SYMBOL vmlinux 0xddb00966 napi_gro_flush +EXPORT_SYMBOL vmlinux 0xddbddcea nf_afinfo +EXPORT_SYMBOL vmlinux 0xddc6dd60 pci_release_region +EXPORT_SYMBOL vmlinux 0xdde90de1 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xde00910e dquot_quota_on +EXPORT_SYMBOL vmlinux 0xde16dc16 tboot +EXPORT_SYMBOL vmlinux 0xde1d3ce0 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xde495caf __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xde6151db tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xde6622e3 padata_start +EXPORT_SYMBOL vmlinux 0xde692d9f bio_map_user +EXPORT_SYMBOL vmlinux 0xde918eb1 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde95babd block_write_end +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xde9faeb4 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xdea95482 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xded46080 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xded8b3e0 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf1098bb agp_backend_release +EXPORT_SYMBOL vmlinux 0xdf20f028 page_symlink +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf616601 block_write_full_page +EXPORT_SYMBOL vmlinux 0xdf79ea2d vga_client_register +EXPORT_SYMBOL vmlinux 0xdf88a5fc pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfa9e999 should_remove_suid +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfebcc1c sock_setsockopt +EXPORT_SYMBOL vmlinux 0xdfee7c48 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xe0092dcb mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xe044dba3 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe05113c9 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe061cbd6 generic_listxattr +EXPORT_SYMBOL vmlinux 0xe0626ee3 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xe06e4199 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xe06f4c89 tc_classify_compat +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe078e4a6 serio_close +EXPORT_SYMBOL vmlinux 0xe07f95b5 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xe0a9bbb6 md_register_thread +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 0xe0e6d4c1 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xe0fa8bdd dev_uc_sync +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe116cf1e jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe147d78e seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xe148d7b2 amd_iommu_enable_device_erratum +EXPORT_SYMBOL vmlinux 0xe151c88c xfrm4_rcv_encap +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 0xe19e6f36 __f_setown +EXPORT_SYMBOL vmlinux 0xe1a9487e i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xe1b7e555 lro_receive_skb +EXPORT_SYMBOL vmlinux 0xe1e69e8d generic_writepages +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe2081e06 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xe20d8948 pci_map_rom +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe24daa0e usb_set_transceiver +EXPORT_SYMBOL vmlinux 0xe261d943 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0xe29a07f2 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe2b1f02b frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xe2be0c35 con_is_bound +EXPORT_SYMBOL vmlinux 0xe2cfb038 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe306e51d agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xe308cf29 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xe319eb24 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xe31e2541 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xe3339d8f agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xe350b555 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xe3564ba8 __mutex_init +EXPORT_SYMBOL vmlinux 0xe36ba2f7 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xe37a1c7e pci_clear_master +EXPORT_SYMBOL vmlinux 0xe384f912 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xe3a2364d skb_pull +EXPORT_SYMBOL vmlinux 0xe3a53f4c sort +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3d72b57 sock_create_lite +EXPORT_SYMBOL vmlinux 0xe3d9a865 filp_close +EXPORT_SYMBOL vmlinux 0xe3dae024 agp_free_memory +EXPORT_SYMBOL vmlinux 0xe3e12008 __first_cpu +EXPORT_SYMBOL vmlinux 0xe3eea540 do_sync_write +EXPORT_SYMBOL vmlinux 0xe3f54f70 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe4250fa9 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xe44a43fa twl6040_irq_init +EXPORT_SYMBOL vmlinux 0xe466d7ee compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xe475e4ad fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48bb166 tty_vhangup +EXPORT_SYMBOL vmlinux 0xe4bc6174 rename_lock +EXPORT_SYMBOL vmlinux 0xe4d85c1d ida_pre_get +EXPORT_SYMBOL vmlinux 0xe4e245a4 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xe4ed42bb agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xe510cf88 vm_mmap +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe5205074 follow_down_one +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe527395c compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xe52947e7 __phys_addr +EXPORT_SYMBOL vmlinux 0xe52a6cbc simple_transaction_read +EXPORT_SYMBOL vmlinux 0xe52db7a3 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xe530d757 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xe54917da compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0xe56bde09 agp_generic_enable +EXPORT_SYMBOL vmlinux 0xe577de97 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57ac486 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xe57c5eab blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xe582af30 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xe5854dad alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58d2963 bh_submit_read +EXPORT_SYMBOL vmlinux 0xe58d36e5 free_task +EXPORT_SYMBOL vmlinux 0xe58fe25d zero_fill_bio +EXPORT_SYMBOL vmlinux 0xe590185d jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xe5a0b201 simple_empty +EXPORT_SYMBOL vmlinux 0xe5bec95c i8253_lock +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5fef88d default_file_splice_read +EXPORT_SYMBOL vmlinux 0xe6053d70 neigh_update +EXPORT_SYMBOL vmlinux 0xe60b4600 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xe612eef0 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xe6245e68 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe63b4112 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xe65a1b46 journal_clear_err +EXPORT_SYMBOL vmlinux 0xe65ccb48 tty_register_device +EXPORT_SYMBOL vmlinux 0xe667cec0 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xe687cc83 read_cache_page_async +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe69874b0 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe6aa2a3c dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe6d5d42c bio_split +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 0xe742d178 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xe75c1a8f iput +EXPORT_SYMBOL vmlinux 0xe768c332 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe7816ed9 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xe79328fa blk_register_region +EXPORT_SYMBOL vmlinux 0xe7a5d5a6 scsi_get_command +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7da5c26 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xe7df8381 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe84aa32f mdiobus_register +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87b2039 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xe88b3ea6 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8cc4cfd mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xe8dbafef __next_cpu +EXPORT_SYMBOL vmlinux 0xe905b76c genphy_resume +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9268f24 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xe9281109 i2c_use_client +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9812c02 set_binfmt +EXPORT_SYMBOL vmlinux 0xe98fd202 kset_register +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9988279 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xe99c5109 d_genocide +EXPORT_SYMBOL vmlinux 0xe9b88a0c ps2_end_command +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 0xea3627ff netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xea46a006 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xea56049e bio_free +EXPORT_SYMBOL vmlinux 0xea6dcc15 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xea761ebe rfkill_alloc +EXPORT_SYMBOL vmlinux 0xea7b8a44 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xea8ce93e journal_check_used_features +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xeac73847 irq_regs +EXPORT_SYMBOL vmlinux 0xeaca58a6 da903x_query_status +EXPORT_SYMBOL vmlinux 0xeacb8e84 create_proc_entry +EXPORT_SYMBOL vmlinux 0xead955f5 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeb05bfa4 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xeb09a1a3 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xeb257584 inet6_getname +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3e1b07 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xeb3e69c7 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb526fb3 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xeb6e14d8 tty_port_init +EXPORT_SYMBOL vmlinux 0xeb86ebc9 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xeb990c59 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xeb9a9249 __get_page_tail +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebbefb5e swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebedfe53 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xebf4a400 udp_ioctl +EXPORT_SYMBOL vmlinux 0xebf70d0a filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec28919f pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xec381605 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xec5d14f6 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xec7112ef simple_readpage +EXPORT_SYMBOL vmlinux 0xec730387 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xec7ee02f udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xec846919 d_set_d_op +EXPORT_SYMBOL vmlinux 0xec88a391 i2c_master_send +EXPORT_SYMBOL vmlinux 0xec989f02 input_open_device +EXPORT_SYMBOL vmlinux 0xec9b7593 skb_copy +EXPORT_SYMBOL vmlinux 0xec9e30e8 free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xeca18dde pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xece5390e scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xece76c4f skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed54eece bio_add_page +EXPORT_SYMBOL vmlinux 0xed8a5234 mmc_resume_host +EXPORT_SYMBOL vmlinux 0xed94cbc2 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xee059622 dma_pool_create +EXPORT_SYMBOL vmlinux 0xee0a055c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xee14326d vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xee28d471 agp_enable +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee46885d add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xee617189 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb5bd3b __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xeee161ef tty_port_close_start +EXPORT_SYMBOL vmlinux 0xeee22a7f mmc_card_awake +EXPORT_SYMBOL vmlinux 0xeef9be06 netdev_err +EXPORT_SYMBOL vmlinux 0xef1dfcdf writeback_in_progress +EXPORT_SYMBOL vmlinux 0xef26c534 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xef28d15e km_state_notify +EXPORT_SYMBOL vmlinux 0xef69631a d_add_ci +EXPORT_SYMBOL vmlinux 0xef9a4b72 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb6b186 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xefba93e1 mempool_destroy +EXPORT_SYMBOL vmlinux 0xefd53482 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xefdbeeda jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xefe2e3f6 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0333dc8 mb_cache_create +EXPORT_SYMBOL vmlinux 0xf03feaf6 file_remove_suid +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf0616414 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06629af pci_enable_device +EXPORT_SYMBOL vmlinux 0xf0668483 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xf0758deb md_flush_request +EXPORT_SYMBOL vmlinux 0xf0768c0e migrate_page +EXPORT_SYMBOL vmlinux 0xf07dfa13 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xf09625aa sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0xf09729a0 unbind_con_driver +EXPORT_SYMBOL vmlinux 0xf0b31b88 sock_init_data +EXPORT_SYMBOL vmlinux 0xf0b45f26 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xf0c71943 pnp_register_driver +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 0xf1210725 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf140d4d3 devm_ioremap +EXPORT_SYMBOL vmlinux 0xf147ecb1 down_trylock +EXPORT_SYMBOL vmlinux 0xf14ecd74 truncate_setsize +EXPORT_SYMBOL vmlinux 0xf172ed71 account_page_dirtied +EXPORT_SYMBOL vmlinux 0xf181c457 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xf184cc5b set_security_override +EXPORT_SYMBOL vmlinux 0xf1893fc5 __bio_clone +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1982480 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xf1bea6f1 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xf1cd9ee6 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1da8902 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1eacb8c scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xf1fa6082 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2198a5f block_read_full_page +EXPORT_SYMBOL vmlinux 0xf21a0e1e abx500_register_ops +EXPORT_SYMBOL vmlinux 0xf22449ae down_interruptible +EXPORT_SYMBOL vmlinux 0xf226c98c tty_port_open +EXPORT_SYMBOL vmlinux 0xf23a452f __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2431ed2 register_exec_domain +EXPORT_SYMBOL vmlinux 0xf24d65fc init_task +EXPORT_SYMBOL vmlinux 0xf269be4e fail_migrate_page +EXPORT_SYMBOL vmlinux 0xf279d1c2 d_alloc +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2c8f19d ps2_begin_command +EXPORT_SYMBOL vmlinux 0xf2d4d525 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xf30b76e3 blk_put_queue +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf32055e7 dev_base_lock +EXPORT_SYMBOL vmlinux 0xf32e5e47 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33a01be twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf36ea3f2 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xf37260ab _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xf376b0ef find_or_create_page +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38dfb17 ip_getsockopt +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 0xf39c8097 sock_no_accept +EXPORT_SYMBOL vmlinux 0xf3ba5778 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3d8f21e proto_unregister +EXPORT_SYMBOL vmlinux 0xf3e8451d mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xf40cbae9 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xf410d280 nla_append +EXPORT_SYMBOL vmlinux 0xf41f0407 try_module_get +EXPORT_SYMBOL vmlinux 0xf432dd3d __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xf438b75e generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf44ced70 iget5_locked +EXPORT_SYMBOL vmlinux 0xf45c92f4 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0xf4676444 __ht_create_irq +EXPORT_SYMBOL vmlinux 0xf467f5aa ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xf468e221 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xf4907b9e __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4e59d04 node_data +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf5001d69 inet6_bind +EXPORT_SYMBOL vmlinux 0xf512b443 path_put +EXPORT_SYMBOL vmlinux 0xf515a877 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf51bf88b nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf52269cb fasync_helper +EXPORT_SYMBOL vmlinux 0xf52c1b17 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xf5354eb9 vfs_open +EXPORT_SYMBOL vmlinux 0xf536d22e acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57fd7fd lookup_bdev +EXPORT_SYMBOL vmlinux 0xf5828cef inode_dio_done +EXPORT_SYMBOL vmlinux 0xf5893abf up_read +EXPORT_SYMBOL vmlinux 0xf58fb95b kobject_add +EXPORT_SYMBOL vmlinux 0xf590f28c sk_reset_txq +EXPORT_SYMBOL vmlinux 0xf598be6a rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xf5a55fda scsi_scan_target +EXPORT_SYMBOL vmlinux 0xf5acb9a2 pci_iomap +EXPORT_SYMBOL vmlinux 0xf5b7a010 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xf5c9c2ee swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xf5e64514 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf6019345 udp_seq_open +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf64dca1b fb_set_var +EXPORT_SYMBOL vmlinux 0xf657194e backlight_device_register +EXPORT_SYMBOL vmlinux 0xf6a6838c md_integrity_register +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6efae4e d_find_any_alias +EXPORT_SYMBOL vmlinux 0xf70f0230 kernel_listen +EXPORT_SYMBOL vmlinux 0xf7289d14 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf72ae98a set_pages_array_wb +EXPORT_SYMBOL vmlinux 0xf72b6176 netif_notify_peers +EXPORT_SYMBOL vmlinux 0xf732060a inc_nlink +EXPORT_SYMBOL vmlinux 0xf73e54a8 ll_rw_block +EXPORT_SYMBOL vmlinux 0xf74785d8 igrab +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf759a00e amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0xf766b122 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xf77f5cb2 security_inode_permission +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf797c259 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xf7a2c63f tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xf7adcaf3 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7cacfe2 simple_write_end +EXPORT_SYMBOL vmlinux 0xf7d3a9ae is_bad_inode +EXPORT_SYMBOL vmlinux 0xf7dbe2df scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xf7f9b204 follow_up +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80cf96f check_disk_change +EXPORT_SYMBOL vmlinux 0xf810127b __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf82139fe wake_up_process +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82cfd1a proc_dostring +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf833dea2 key_invalidate +EXPORT_SYMBOL vmlinux 0xf83ba39c netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xf84687d2 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0xf8588af2 mntput +EXPORT_SYMBOL vmlinux 0xf85ecbd3 bio_alloc +EXPORT_SYMBOL vmlinux 0xf876931b tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xf88a3c76 test_set_page_writeback +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 0xf8a3bf71 path_is_under +EXPORT_SYMBOL vmlinux 0xf8c4efd8 journal_ack_err +EXPORT_SYMBOL vmlinux 0xf952ceb4 vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0xf952db5a ab3100_event_register +EXPORT_SYMBOL vmlinux 0xf99048c4 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xf995334c vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9d6d2be twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xfa625ef9 request_key_async +EXPORT_SYMBOL vmlinux 0xfa66f77c finish_wait +EXPORT_SYMBOL vmlinux 0xfa67c245 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xfa94edd5 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xfaac4503 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae2cbe7 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfae95d62 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xfaf6355b tty_shutdown +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb241507 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xfb480bf6 pci_bus_set_ops +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 0xfb8969a0 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbbfbde4 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xfbc9c832 dev_uc_add +EXPORT_SYMBOL vmlinux 0xfbce032b pci_request_region +EXPORT_SYMBOL vmlinux 0xfbd4a185 send_sig +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc04f8ff remap_pfn_range +EXPORT_SYMBOL vmlinux 0xfc1cf710 module_put +EXPORT_SYMBOL vmlinux 0xfc2fcf4b bmap +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc590030 netif_napi_add +EXPORT_SYMBOL vmlinux 0xfc68fd2d prepare_creds +EXPORT_SYMBOL vmlinux 0xfc84fdce __scsi_add_device +EXPORT_SYMBOL vmlinux 0xfc872fd1 get_ibs_caps +EXPORT_SYMBOL vmlinux 0xfc8f4892 pci_vpd_truncate +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 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc54f91 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xfcc6127e __blk_end_request +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfceb6aa8 alloc_pages_current +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd1d886b __find_get_block +EXPORT_SYMBOL vmlinux 0xfd22ccc1 request_firmware +EXPORT_SYMBOL vmlinux 0xfd27fea9 cdrom_open +EXPORT_SYMBOL vmlinux 0xfd2d7d48 netdev_update_features +EXPORT_SYMBOL vmlinux 0xfd31c360 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xfd61eef3 bitmap_end_sync +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 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd853394 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xfd85e352 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xfd9f5093 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdb581d6 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdd1b475 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xfdd36b8d amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0xfdd3785c vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xfddca267 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xfde46809 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xfdee7d42 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xfdfa34b9 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe048baf genl_register_family +EXPORT_SYMBOL vmlinux 0xfe17e586 dma_ops +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe46a790 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xfe481a3b bio_pair_release +EXPORT_SYMBOL vmlinux 0xfe4e8eae xfrm_lookup +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6879d9 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfedb5be4 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xfee3954e xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff0e02c1 irq_to_desc +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff27cbf8 drop_nlink +EXPORT_SYMBOL vmlinux 0xff39fc91 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xff48890b mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xff5a9539 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6f4e3b try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff93595c bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa19009 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xffa2ac1a journal_dirty_data +EXPORT_SYMBOL vmlinux 0xffb9840a udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe354c0 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +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 0x004a1f8f kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x02cd0372 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0676de90 hva_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09421137 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0af64f0f kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0dc72773 kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0eae3055 handle_mmio_page_fault_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14a4f2a0 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x181f1a69 kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18c79973 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18dc279c kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cfe78d1 kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x21b19446 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27e2a7f4 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2ffdab50 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x31b0d368 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35c046af kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3668ee8d __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x379ee14d kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39548890 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b023590 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b5dd35e __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b8f9027 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de08404 kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x40244707 kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41f29305 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x438f7226 fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x449c21f1 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x465c1dd5 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x48037402 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x492e4a4d gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4ba78af0 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4c51f664 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x502d2230 kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x516d402c kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52a4a85a kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53a2a3f7 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5a6372fc kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5be435bc kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5e9e4238 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x600adaf7 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61f4f8f2 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62977bb6 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64a34f49 __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64cdaaf1 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x659e7650 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669da1fd kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6b424786 kvm_task_switch +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 0x7140ab6a kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74fbc94a is_fault_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x75bb7d69 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x76bb1064 kvm_require_cpl +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 0x7f0019ad x86_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f2c1163 __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x831327da kvm_max_guest_tsc_khz +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85ca0ca2 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85d1bb76 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x885441a6 kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a26f7b0 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c098354 kvm_requeue_exception_e +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 0x95a19787 gfn_to_pfn_async +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a216313 kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e0acc41 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e533043 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ee59155 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa422f41b kvm_mmu_page_fault +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 0xaa15f8f9 kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa79cab5 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xac17e172 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaef7bd01 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf275715 __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb1ac0156 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2f2d691 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb31f7f3e kvm_before_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb333982a kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb573c500 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba6b4e05 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 0xbc2b937d is_hwpoison_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbdd8d944 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbec604be kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf45dc16 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf642c90 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc06ecc60 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1cabe82 kvm_fast_pio_out +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc415c426 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc6c17325 kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc81f4745 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc84d723d kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc9a36f15 kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc5e13eb kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd1357e7 kvm_clear_guest +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 0xd209cc6f kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2368396 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2d08a0f kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd79cb8ea kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd880f8b0 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xda6997ea kvm_after_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xddaa4131 gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xde297e33 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdeb9e564 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe326ce6c kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe650c515 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe83fc7c1 kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xed4f3f07 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xee1fb4d9 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf27cd321 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2aa9d5e kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf7e6531f kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf83fcd4f kvm_x86_ops +EXPORT_SYMBOL_GPL crypto/af_alg 0x0a1089dd af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x289197b2 af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x52d98dc6 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x65eef7f4 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x6efd6e41 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xa02fd95a af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xbdf3e520 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xe0266ea6 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xf4359c66 af_alg_accept +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xb95f33c4 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x860a2e3f async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xf0a9179d async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8e1b84c5 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc593e249 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x207a8fa9 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x75e5b0cf async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb616eda3 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbd93d2d2 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x051f9d4a async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x31281eea async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xad2ce854 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x06446d95 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x15ef1dca cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x743cbe37 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x911d0859 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x9d00ce23 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xa1427598 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xa33e90aa cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb1c4877f cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xb2dce258 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xca9724d8 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x9d37b004 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 0x8bf81396 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x3c29787b twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x72e0b48a 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/libahci 0x00e9bd94 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0ba8b94a ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x103fb536 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1275ad38 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x169b5059 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2f25e0ae ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x3cedc119 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x43b97fc7 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x58d8b09e ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5a8ed595 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8dcb143b ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa264193d ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa656fe8f ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xadf4ec11 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdf9a5c0c ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe9952239 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf4add4cb ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6fa82af ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x2a2decc9 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x4862851c __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 0x269a4083 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2c836664 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x37eb42f2 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x38755b3f bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4ea32a02 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x57a184a1 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x601e511f bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x643a6b42 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x645b4eb3 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x66f89fcc bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x82d29607 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x83b71813 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x945f48bc bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb8c356e0 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xebba5422 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x075fdbea btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x08f2260c btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5d6a42f6 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7661e84b btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa4cf4596 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa76d707c btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xac2f7441 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd9632436 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdc7c3ccb btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe3ffecdd btmrvl_process_event +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 0x3896efd2 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x5f50aa09 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x94a3919f free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x9cae6f6f alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xa6b16969 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xbf7b355d dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xe89a4947 register_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0x9e0b722b amd64_get_dram_hole_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x09f8f4ca edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x17be950b edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x217eef87 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x25a6491a edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x26b1a681 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x31edc289 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x355b1746 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x45443084 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x463ef985 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x46ecbe1d edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4baac494 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x546639cd edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x66a4a278 edac_mc_free +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 0x79575e8d edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7f545645 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8b49a266 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa7048178 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb28dd459 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbc28da0c edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xca1694a9 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xda02913e edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf359486d edac_device_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 0x1b7d00ac extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x55a7688c extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x88f45a13 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8cebd44d extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9d446e6b extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9fc9c0cf extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc7bea0fe extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd8cb3fc4 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xdc5fe5b7 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe610c217 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe6fa1114 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf3ba968a extcon_register_notifier +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 0x7b0b39bb bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa6abdf51 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xc24dbbe8 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xff1bc217 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xca62c15c drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe0606322 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 0x033c133c ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x33392cc5 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xaa4aba55 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/hid/hid 0x01e61565 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x086e10cd hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08a2664e hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d0a154e hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d6212a1 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1ecbe0fa hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x27bd43be hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x404e23db hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x44ddc7bb hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4ce5fc26 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x579fa6c6 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x717e5590 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7adc5722 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x849a030c hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x867568c4 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8aad088f hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8c9839c5 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8caa848f hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9100f98c __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaf980d77 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb496d9d9 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6a1be59 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd34491d7 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdb8cf3d8 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdcfd2028 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6482253 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6eed78c hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xebc93325 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf6161fb7 hid_parse_report +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 0xb62365ae roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x624311d7 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xe1b0ac42 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x18d7a163 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x1c6c5985 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x278503e0 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x2cb6ffc7 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0edde6ba hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4885a681 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x55e3ffe6 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x65cd0fd5 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6b1043ca hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x84145caf hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8476578e hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x93d98bce hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xed38eb96 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf13f8eb6 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf1873bda hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfa709781 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfce55dde hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x14d73dbe vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4fb472b1 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x53d893c2 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5ffac524 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x670eebf6 vmbus_sendpacket_multipagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa3cf4790 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc17bc5b5 vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc28be2c3 vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc63c0808 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc91a78a4 vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x08b9d98c i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0e2ccda7 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x6bf809ac i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x6f4abd14 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x960d9486 i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa6d87749 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xab6de838 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xbf91fe21 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe2cb7df4 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xa244ac60 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1c4b2a6f i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x8b8c6517 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x429d57cc i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x97304262 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 0x628df0bb iio_dealloc_pollfunc +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 0xe76bca37 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xeba1a425 iio_alloc_pollfunc +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 0x316b2532 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x2dd419ee 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 0x0dedb280 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x4613cccc cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x662bd0c2 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x06691112 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0bb1f9c0 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x191f1f7d wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2de17365 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4d1521c5 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x50ab3c9f wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x55242d2d wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7cb22d43 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x81bf215b wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbd2b5b19 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbf59d482 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf08662ab wm97xx_unregister_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 0x14d280d3 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x1bebcf3c gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x43251af0 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5a5e38f9 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5cf4eaa1 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6289a3b6 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6a2e1065 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6c51b535 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x701c4d28 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x707864d9 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8f040fb9 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9d678804 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3151853 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3d37380 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb302c83 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb92bdf4 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe947dc00 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf6b21c7f gigaset_skb_rcvd +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 0xf7d5f939 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x7aceaf95 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x92955987 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 0x23510c7d dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x2d9542b6 dm_rh_inc_pending +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 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 0x85deed80 dm_region_hash_create +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 0xa74fcc0f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa9d4f4e3 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 0xce74510b dm_rh_delay +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 0xb9e133a5 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 0x78e95419 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0xba53ee40 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x2bc100f2 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x35bbbb23 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3807a15b saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x4f70e1ac saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x675743eb saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x885d2b05 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xa8de4eeb saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbf579f5f saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcc06d114 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcd5675e8 saa7146_vfree_destroy_pgtable +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 0xf94790a2 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1c350aaa saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x49f7b1c2 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x506311a7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x70724517 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9442d44f saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9556282a saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xd498f2f9 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xb49fe841 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xbff979d6 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xf4bcac17 tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x3f7d8cdb microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x1a3bc0ae mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x1ac688d1 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x4b93772d tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xb6027b5d tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xf52b2222 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x28dae10c tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x35262d1c tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xe8e2b722 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x76c9d5aa tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xa27e1b0f tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x04173ef9 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x8aa41494 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x7b3c0d06 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0xc0e9c832 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x28b907b2 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x59e4a5dc mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7bd67797 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7ea73fe1 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x91071404 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xab6c762f mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xacaebe90 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc3a2adad mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc6d3e5db mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xccd77629 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd1b86e40 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd4c92636 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd5ced4b3 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe2802480 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe5749de9 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf1ffc62d mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf5e6e323 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x02688ad4 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x05fd557c sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x10a08e2f sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1a9f1e98 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x27919df7 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4463988f 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 0x5a658d12 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5bf5e8e9 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7367440b smscore_onresponse +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 0x78ff7cb7 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7ed52e8c sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x818f3308 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x953bff2e smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa14df01d smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb9a78493 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc08f16a5 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfe55da93 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x1a99ef6b ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x56e83848 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x63e15d43 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x663186d6 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x77e0956f ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8f0763db ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xf1d83ace ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0197a0b8 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0df9c38c ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1dbeff2a rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4733fb55 rc_free_device +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 0x63db2647 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7960b17a rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x80430d3b rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84d449e8 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x935bd165 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x94f15a05 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb306d15f rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbfc88d2f ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc3e4bdc3 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc4160528 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf4531647 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf8c91229 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x09d5a383 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0c272995 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x1e98fc1e cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3bdc3644 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x58a3398e cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5b1502d0 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6559cf8c cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x730b103e cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x76b29dc1 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7f7133a8 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7fe82ed3 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x80837704 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x861b84fd cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x99efa735 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa951dae9 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbe4fdff9 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc210fd71 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc54ed2f8 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xfc0ae333 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xe9be2fd9 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x016cdb09 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0c4b264e em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0cf892e7 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x24a05096 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x3d75c51d em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x494dda08 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6ff47207 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7e95c52b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x89876adf em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x97ff9f2e em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9b1d60df em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xa3b0762c em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xbfe7ab5c em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd82d1c10 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x3154a352 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x39bd090f saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x42bf3384 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xd7106223 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xdbfaf059 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x21dc809f tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x337da6df tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdba70ca8 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xfc807d9c tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x09d306ea v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x0b0cef0e v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x16aef9c3 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x559fef25 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7d25ed5d 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 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa7d8815c v4l2_i2c_subdev_addr +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 0x9ebfe743 v4l2_int_device_unregister +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 0xe7d49095 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xf14fa130 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xff9640d4 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x109027e7 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x140437c3 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x19bbd6d5 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5d04130c v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x68395d24 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x76c8667d v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x780886f9 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7dd003ea v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x85783c4d v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb604a265 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xe26143e1 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xe3db2126 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x022b7611 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x064e4d7f videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x30b20e5e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31b3c594 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3698ee0d videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x396e1c49 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x43f49aac videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x568c6210 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5cd87d58 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6cc73ea3 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x740a3150 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x87556d68 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8bb1fe75 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x92748a25 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x94eb363d videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb3dea7cd videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbca50e69 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc05d4f5f videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcb36bdca videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcc3f64b5 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe8a08514 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xebca37de videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf6793e82 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf8608f07 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x084a145e videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x1545050b videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x4f1844f7 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x506d87bb videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1b9dd3fc videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x51cdb3f4 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 0x57c3acd9 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5e58b239 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x732ce192 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9675944a videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa72cde0a videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcee01801 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xf556e4af videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x3484d2b6 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x7c93ad86 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xb4976852 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1b68e8a0 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1f5e139b vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x22a42636 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x397a9c7b vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4d41545e vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x56676697 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5ca502d0 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6942619c vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6b1409d4 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x868fbc2e vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x94c960db vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa280680d vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa4a8b0e2 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa983a79f vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xc0e8678a vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xda1d66c8 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf7b6d824 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x92afb86b 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-dma-contig 0xf10e6b0d vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x078208e3 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x12436337 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xa928000e vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xf222672b vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xfa864f5f vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xa43ae763 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00aa5859 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0cea7417 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0ddbbb80 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x113ee5a0 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x13c9d842 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1451eec5 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x25cfcbbd v4l2_device_register_subdev_nodes +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 0x4a5aff46 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5b3d354d v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7c1d0165 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x80d5ff9a v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x92169097 v4l2_device_set_name +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 0x9c447726 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9e8382ab v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbbf55264 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc55132c7 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd686b1ea v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xeea3f59f v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfdeb2ccc v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x05443c0e i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1a551199 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x411df73e i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5dd629c4 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xad029e3d i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb294920c i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe88c9fa1 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xfd32c0b4 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x847e97c3 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x86cb4838 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xe30047df lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4b873bc5 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x53c965dd lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x68cdd4bf lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6a8380e7 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7393727b lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xde7f0293 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf2f03e05 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x366c7dc8 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xafcebba0 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xb6056c1d mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x07f75bc4 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x167fb879 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x546fbd21 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6feed140 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7c4972cb pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x960e4932 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9c38e60d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa1213e9a pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa12ef077 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc687344e pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc938b074 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x5a7b0e4b pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xa535e579 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x30032ee6 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3e4582b1 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6c8aaa08 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x70b90385 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xbb5e2e11 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x04dadb32 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0c0dda0e rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1358801e rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x15c5c85b rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1c13a6a4 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1d75833a rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x30cf3360 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x41926044 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x47a87b26 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x4e7fae4a rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7984e608 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x8ea6d074 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x990127d2 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x9bfcbfb8 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xa1d63375 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb60c1fa9 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb93427a0 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xbf8ba2ce rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xcca754b1 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xd4de7f84 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf8215d00 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x06faecfd sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x34e732d7 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8360d9fb sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x940e1d89 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe3390ae8 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x837a8cba tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x9a70efd1 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xb672e70d tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xeeeb42d3 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xeb8ad244 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x3143c34e cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4008f49b cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x91f67214 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd6ba1e1a cb710_pci_update_config_reg +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 0x081b5aa5 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2e9a9b20 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x3466c428 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5a8c6b69 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa4946db1 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc18963c2 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf7727c50 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x034a23a7 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4f8434b8 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6e55c126 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa415c3c2 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa96556de lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xccad9993 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xcfab87c9 lis3lv02d_joystick_disable +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 0xe141f61d st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xfac3a53c st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x08a0da1f sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3d880992 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x46fe5e4b sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x49051566 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7dabe969 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x88177cf2 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa3a44fb6 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbbf89470 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xddfbce4c sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x2548fa0a sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x82e63a33 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x9d515735 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc98cf74c sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xce282d04 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xe1ee7597 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x238ca46b cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7c68bede cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x8516d672 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x01ea05ce cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x512d5ddf cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xbe2230a4 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x5a928908 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x0f593bd7 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x1c19b566 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x9da9d2c8 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x410dcd60 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x07f216f1 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0f20c1a5 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x228ee144 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x273dca40 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2c023e04 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x313ef176 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3a41ace9 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4648235d mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5359a7a0 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x56064974 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5a231bf6 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5b8bc49a mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6d217802 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74245231 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x770c4dce mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7c5b1e9b get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8ade3007 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa1c67beb mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaa256738 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaaa0cb92 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xace4fff6 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb645b477 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7de878b mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbf2636a1 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc2cf65c6 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc381582a mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd04a9c31 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd16194fc mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd58830a7 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd6904d9f mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdea44e6e mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdfa52cce mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe016a656 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe674ba0d __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe7feb97a __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe88fadf5 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe95133fd mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xedbc399d mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf4b29015 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x10617c82 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x54f7e2e5 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x72d98aad mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x7dfb781d register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xec8c2038 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x26ba6d4d nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xacce763c nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0xf913b822 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xa0ad0d7a onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xbbeb59f6 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x03fd01e5 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d103717 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d2d1211 ubi_close_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 0x4b7ae552 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x58ebf06b ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x69c7ebfd ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x912ef8de ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x949bb075 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9504f99b ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb090ded8 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc34908a9 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf095fdf6 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf6138ca4 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 0x331e7e51 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x575ce9c4 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7a22b931 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc2dd50d5 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x243cec42 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x2e3bb92e open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3be2fe6a alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5af67c3a alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5bd7a22f register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x87096f2c can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8a1ae11c free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9b3143ca can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xbf435ac4 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc5da5aaf unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf565e864 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf88f0511 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x28a143fd unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x3f6d852c free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x650cacce alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7d216e1b register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x68119d9b free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x8235198c unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xbb1780c5 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcfce4413 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04af732a mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x065b1e20 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06ee6276 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0863b9aa mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c28592c mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15842445 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x159337b7 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a39c879 mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1aa8ff9e mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2218e069 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x232729b6 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2413816d mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29e7a1a0 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a1ec61a mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c22c038 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c36cba0 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3237d0e8 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a42d38e mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x405dfe4d mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x48ca07db mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f9b1356 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51f61436 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57650023 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a8efd43 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60888acd mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x621dc3a3 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b6402ce mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c5560a0 mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6cd2f7aa mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e7e710a mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7144b43f mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73e05ccc mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77697578 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7afba4fc mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d442e7c mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7dd99267 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8116a2fb mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83462a0d mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x892010ce mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b0aa7e8 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d8e8f8b mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f58beb3 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92c0a7ec mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x967ef72d mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x968eb9f0 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96c9f780 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97e16c89 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9fc11e08 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa0700627 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6e349ae mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9e546b0 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbd82423 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc902983 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbda39bc4 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1f4f43e mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2dd2309 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8b0ef63 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca21205e mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd58fa088 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7bbd417 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb27fe8a mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe55f5ffa mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6b43517 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8e1d986 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedc5b0d6 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf143fd7c mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf43d804c mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7c2e7bf mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf802bdb4 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9a29c11 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfdd8e43e mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfdf40c21 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe957aa2 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff3df1d2 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x1afe292b macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x1c7c6519 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x57d73331 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa26c233e macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xcc0e8475 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x06d519b3 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x0cdece25 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5571d252 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x61d47edf usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xa5333af7 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x10a765e6 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1c42799c rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbb29cca4 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbe56d095 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdd714330 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf8dc1c0b rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00613d19 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0b8701ff usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0d07257d usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x251dd1bd usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2f43f2e5 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x37c3332c usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x38156cce usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x40561378 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ff2a0d0 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ff322e3 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88e7e313 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x90a4cdf7 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa6325008 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb154eed5 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbb84c62e usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc1351b36 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc2084f27 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc58ccb91 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc7b27cb7 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xca211bc3 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1960cba usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb523865 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe11f7bd0 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf504a1d2 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2cc56eb3 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x38165e81 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x38529e3d i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3e986f93 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x41f90e69 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x48ab0787 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4dc54b73 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x563c7a0f i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5b4b1ccc i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5e535d44 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6bf9f147 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x87b38cdb i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x993b4ee8 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9cac798b i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9e961dbd i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xebb5712a i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x77416fd2 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x431fd8c5 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x640cfd05 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xac7d8929 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xb3b54497 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc7a08094 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x04eb3777 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x05f8900e lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0c7251e2 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2c5ee995 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2e07a624 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x333c668e lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x376fe804 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x57cfb90c lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x58c2bc47 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x919eb71b lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9a824a8f lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc8d3504a __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe9e146e4 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xed4940a6 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfc69c1df lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfdd45194 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x019da2ac lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1cb4159a lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3133215f lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x53e172e8 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x59648c90 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x694d1f51 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x801c20a1 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa6755a96 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x01d6ae39 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x0a2b73a5 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x23489746 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2caaab61 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x33e303b6 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x5a243938 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x76fe8adc mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8091164d mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x85fd97c0 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xadaf4049 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbfc7212e mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc8612325 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd5a1b83e mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xde538f73 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe746e09d mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0108d1ea p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2dff0bb4 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x3bf520b2 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4493f842 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4cf39f15 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x71fbbab7 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8f7dc0ef p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb73a7c02 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc94a1ace p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x05ceb5c2 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0be9d8cb rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1e07de6b rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x23cd280a rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2ad75268 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2e4cc679 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2f07ae67 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x33e018ee rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x351d8f86 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3bd4e127 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x40e16f1f rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x42d19b11 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x49383ee7 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x49e8b82b rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x50b7207e rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x63ec461b rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x640ecaa0 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x70eba414 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x77e2cd49 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x85697195 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8d756c50 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9a759d8e rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9fde880c rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa47d35d4 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa6c25853 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb002628d rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb1154c86 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb7d6d584 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbb8eb4fc rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc03d5a39 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc1d564a7 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xce7a77ea rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd8b50cbe rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe5f420a5 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe8d19f48 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xefb318de rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf13ce5ea rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf2f701bc rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf7ef37a7 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x03e0c336 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0603d561 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1305789b rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x187336ee rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1b8020ff rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1f3c03a4 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x26fa82d6 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2f1b53b5 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34ea7676 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x43f78ced rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4445c0e2 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x466fb16d rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x52c643a2 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x699857a5 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6c709517 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6dfccecc rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x705e30d8 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x78ae6923 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x798012f5 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x819102a4 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x83059d06 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x84d2729f rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x84f57b71 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8856afe7 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x893ea34e rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8a923020 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8aa1df98 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x92fe4bac rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9616ff59 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9bdec2c9 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9fabc438 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa338873a rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa5627033 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa8aad5c7 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb2c0cfed rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb2c659c2 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb5d48288 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb60f4845 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbb2a442f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcab48ff4 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd071ba54 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd504a50b rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe38b5743 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe879e9a2 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf217bb3c rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf8d8f7a7 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0cae92c7 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x15fa6de7 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x28019cdf rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x2e1cca57 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x32ad5fc3 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x668ec46a rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x790982ff rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xad984201 rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf57b6df1 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x16868344 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2155eb89 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3688eeb5 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3a494781 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x470a7339 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4a8c9383 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6939710d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6e0651ec rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x815d3e40 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9bb99cbc rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa5557dee rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xaa401b02 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb6b7ecf4 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdc9c2e74 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xde2757f5 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf7875bf1 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x595aaf1d wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xb499e2c4 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xed0e5db3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0f1ec934 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1577ab4a wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1687a841 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x33241c51 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x339353b5 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x408b1009 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x51c7d6b5 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 0x6d05e579 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7c70fc8e wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x88b1a286 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9fbbb0fe wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb85cf637 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xecce21aa wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xee5d0687 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x9d167636 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xd7fb530a acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xd3a272c7 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xf7eda948 asus_wmi_register_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 0x042a86b3 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x6f553512 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8688c891 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x06b6ab44 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x088aba8f mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4629bac6 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7bef9d7c mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x87c8b841 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xcfdabe25 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x21df8e7c wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5beca077 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8c45ff68 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x94c8da56 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xaeb749c8 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf2d08966 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x2c65934f wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x068eb321 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x11936fc7 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x16f94086 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x278bf9da cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x321fb9bd cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3276c917 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4bb92ff5 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4dbaabdf cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f42ff31 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x55da345f cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5ebf4ad1 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x604b0ad7 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x65485684 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x67c8c433 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f08b568 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f7dde30 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7233492c cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x73ebe576 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7b2e763d cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7cff47f0 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e09d5ef cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7ed110c3 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x88b6504d cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8b238f5b cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f722136 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94dff1c0 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa1230d80 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa74eea1b cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaa76cc52 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xab50c0e1 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xae6f95ab cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbe0e4fc8 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc6f377dc cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc724b4f8 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcd8399ac cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd02de46f cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd06d5a90 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd653d9b1 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdac01b96 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe1885ecd cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe86244b3 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf0a5a071 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf34167a8 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfea9c602 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0ab4c9de scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0cdfa155 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x52a5a759 scsi_register_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 0x6808fc77 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x6f3bcdb3 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xd2ca53a4 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0e01aced fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2be65373 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f0d2670 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x306c960d fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5f4dacd1 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x71188b22 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x74b43b2e fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8f8e1388 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x94d3d92d fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb33079b0 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb345ee15 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf618d3cb fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf7859647 fcoe_clean_pending_queue +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 0x06e1ae30 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0841655f iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09f2cd8f iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0c673396 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1eb5d53f iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f27ce4b iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x21e85a8d iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2c4459ef iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d27ab1d __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x30e39411 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31db503e iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31e43e3e iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3751d32a iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x375b8805 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x390251e0 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3eb2069c iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3feec11b iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4543d2db iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x467fd871 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x484261da iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x49e2ff19 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58bb6dc3 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x790995f6 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b433cf3 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d2d1c13 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d34f9be iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x915d860a iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x929c65fa __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x95dd290d iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb490bbfe iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc1b071f1 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc4fe9e7b iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcffff456 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd77b5890 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd782cb6c iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7d4009f iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdce1821a iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe82150c5 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeac5bb48 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeb58f1b0 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeddb3a87 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfdf86604 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff2fc6d1 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0b236f45 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1dde2230 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x25de688b iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3fd962c8 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x409e9d1b iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x61920cd9 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x65a410c9 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x839b062f iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x85d4040f iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x87c9c4db iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8ad0b1db iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbc180c1a iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbf1f0cd4 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xca871db8 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcf20cbce iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe7fa9122 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf5f8e11e iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x23d5d005 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x26953a69 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x31855b9a sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x45052eaf sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x45cb576e sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5706d58b sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5901adf0 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5aee7511 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x62f022ab sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x69e1269c sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7a1c4295 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7c1ef678 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ccc7a87 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x977cd34e sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9bf41127 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9e880ec2 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9f1251d3 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa4ffcf5a sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb3360b71 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc65aa02e sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9988135 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9e3b232 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xea02e32c sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x2a41733a srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7361ece9 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x90e9b428 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x92a316c7 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xa9970ea0 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb0c8cd8c srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x745a8bd6 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x833f054a scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9ac1cf7a scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9c5064bc scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa9289001 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xaaa459e9 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xcc994197 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xda0087e3 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe63fb206 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00df3dff iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0246e15f iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ddb4fba iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11419edf iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x14733aa9 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17b91c9c iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1c46dfdf iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x25f54172 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37cae6c6 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50b12a44 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x58ff49a9 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5efbef9d iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66ae1185 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7034a795 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x741a6905 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x743bcbde iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76654049 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x857acd30 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8fad6c29 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa8d20066 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xabde8542 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb002d249 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5bd7244 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc9ffed84 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca9af665 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc404f51 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd06d4e48 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0b1c82c iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe2f3477c iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe7da89a9 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf4233a90 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfd90ec7a iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x023026cc sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x08769c6a sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x65e3c2d7 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xcb64e7f5 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x0c3bbf40 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x4bcbe47a srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xc3c69727 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd2ae2556 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfcc1f5a6 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3dbd2ab5 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x478ea140 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7ca08855 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x80b8717b spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbd6ba53e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc059a16e spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0b345c52 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x120885da dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x413cf5f7 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb0ce993b dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc667bca1 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xb0217ee4 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cb866aa comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4c9c4633 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7fe0cac8 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x977580f2 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9f87b85e comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5634800 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd45ca353 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf69a9dd0 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf6c0bf70 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x74063a99 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xef44131e das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x166e712b labpc_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 0x2cfc1d30 labpc_common_detach +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 0x0b90e28f ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x109a9d86 ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x158a0158 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1d70cb4e ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1d94b1fa ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x2c099886 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x35a61cdc ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3ea9a7e3 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x508a66d8 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x518bbf3c ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x7fb355e9 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd4842e96 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd5742ad2 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf2ac1a05 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 0x980f9867 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x0bd53ca6 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x57a9bb52 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd33353e9 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe36a3d32 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe9d8082a ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf293fe6c 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 0x0905d604 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2991a504 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2f7ecca5 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x35590902 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x5fae642b usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x631b73d2 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x6a5c06f4 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x76c2b376 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8372acae usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x914f6af0 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb9c1dd47 dev_attr_usbip_debug +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 0xeab156cc usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xef809dd4 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x052dc0ec max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x1ce5d063 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x21f6698e max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x45c69444 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x793bd92b max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x8c52efd3 max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x15bf28c8 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3c4e0613 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xece08961 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5552f86b usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x6dbd8f23 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 0x12ba05eb usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x31c6f56d usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x32c8add9 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x618deeee usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x73d388ef usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xc488ef76 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x334df691 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x485c99ac usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5d176c12 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6c2953da usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x719222d0 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x76d9d14d usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa239d90c usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa5b7912f usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb923209f usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x7f529b9b musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0xf8bfde4f tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x574b4a6c isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04c77c5b usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x08368675 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1a64801a usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1aa5210c usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3684e450 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4f2e9af4 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x59e1fb9d usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x627d7e12 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x70958cb2 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x909fc621 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb4635f65 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd8906c1c usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdcf84371 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xddf1bd46 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xeb9a9b0e usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xed5bc31a usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xee27a0e8 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf2481db3 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf5fac818 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x001a386a usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0fb7b3c3 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x19a86057 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1f2ec150 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2cec8c0d usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x56431118 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6ac75534 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7e4bfdd1 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8d8c8fd0 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x998a8780 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9be5cff0 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa56d88e7 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa6b64e9e usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb678b03c usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc5a09c23 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc9345047 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xce09e89e usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda225a8d usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda23fb72 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe43cfd4b usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe98e2e52 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf272cc2e usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x122f15ac wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x29a04c9a wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa756abfb wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xbeee0055 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xd31df510 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xfe329b84 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x082c04ee wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1adb0d40 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1df33030 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x20f81057 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3c57a753 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4c790c5b wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x56bd1532 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6c6bbce3 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x730ef7d5 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7680f0e8 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8a82e980 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x92bf69e8 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbc0f70cf wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbdf134c8 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbeeca948 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc16018b8 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 0x297263d9 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x9888439f i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xf048cba4 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x000d6ebb umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x0944da80 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x2c49ede7 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x74690a23 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xabad612c __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc99e53b1 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xf9862672 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfb41bca0 umc_device_unregister +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 0x14e6accb uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1655a849 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e17f291 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2e121c98 uwb_rc_mac_addr_get +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 0x4530868a uwb_rc_rm +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 0x66ef85b8 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x724a9f83 uwb_rc_dev_addr_get +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 0x816b9e92 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8baf3c6b uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9087580b uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xaaef7a37 uwb_rc_get_by_grandpa +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 0xbf238c1c uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc1b67dda uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcd43d4db uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd3d46621 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1e442ba uwb_rc_put +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 0xef01bc95 __uwb_rc_try_get +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 0x5b48cfb6 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0a05f388 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0b76149f auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x351fd383 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x4321a723 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x58dfa644 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x78ba1525 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x81324de5 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf0b9906e auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf64c7b2d auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf809e46c auok190x_common_remove +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 0x348169aa ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x903d1500 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb6a67887 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb6f5bf7d ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe385a7ba ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe3c4b054 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xef660255 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x770ca658 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x98bea8c7 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd31009d9 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xa9bfe20e sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xaf0d8545 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 0x045a737e viafb_find_i2c_adapter +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 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 0x04eed353 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x12426f1c w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4869d50d w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x57208937 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63bdead4 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xac64cf28 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd1213da3 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd40854f4 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe08fc826 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x5ad217ca xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4ded6483 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x66c19077 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 0xf69527ed dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0fea5e4c nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x113b62f5 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2e4861ff lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x662f0fe3 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 0x80cd16d6 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9e960f80 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd816fdc2 nlmclnt_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07582837 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0985e89a nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a495e3b pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fd3ced2 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x165d8cab nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c00fd95 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c5db06f pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2969d804 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29f52ca8 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f6b8d68 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3136e3be nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x33ea50ff pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35e2af02 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x422310cc nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42c456cc pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x45d3ca62 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a39dbab nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4d02ac3a pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55319748 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x56491ac1 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5be5b9b1 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d204122 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78a43848 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x83c5e5ff nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86a72124 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8971eeea nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c5d5554 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d0cf546 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8ecb01db nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8f90d90c pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9304ac57 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9610e008 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa645b65d pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac91a89d nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb700208a nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb71f2266 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbab77159 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb323e3d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcca2397f nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1ff2b43 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd1c4969 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xddcb5a0f pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3cf400a nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5a0a949 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe752ed09 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9209dda nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x798fdb27 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa55a4a3a nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x18b961df o2hb_setup_callback +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 0x2bb9eaa8 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x31567a06 o2nm_node_put +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 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6b04cd98 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7ce96c38 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7e6b616a o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9767a424 o2hb_register_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 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/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00135ea9 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x67c51285 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x777fbbc9 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 0x987426a4 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9d33edf7 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc21a2079 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 0x05647749 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 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb8ca4415 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc066bee6 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 0x263ad6d5 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x2c234afb garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x639e13a2 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8cf6d9eb garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xbcf34471 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xf655912f garp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0xba2b1678 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xd2f74091 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x8de0074f p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xc4889292 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 0x99493545 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 0xffd37386 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x03bdd8e1 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x09f2afe7 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x158fe37b dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x199af5ec dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2201aebc dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x294c2144 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2b9479af dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c3de2a4 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2e2f5888 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x34522871 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3bdb4460 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3cd15e64 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4db92190 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x573d77fa dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5c2d4f7b dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d81988b dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e4f53e0 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x64ee0eab dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6d0be3d3 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76da6ec0 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x79d009f7 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7f29b7e2 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80f2d22b dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x89f4da09 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab52136e compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba34fe34 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc1b2ed63 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc4efe957 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc6755bb3 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf9af1e7 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd4ad35e7 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf491d76 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe13acb86 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3691b9d dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf707464d dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf9faf356 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfbf4beca dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1757fa49 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3fdede87 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8461798c dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbea9ea06 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe532999d dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf087ab12 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x117fa4c6 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5716181c register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x177ac175 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xd6692e32 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x06ab0018 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3a4652d3 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x417975de inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x79202a28 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x907be983 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xb797cdcc inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x5c23fc3c arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x6b114443 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 0x71263dda 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 0x3b639fde 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 0x468669ee nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x6ed515ce nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x91be437a nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb605cbce 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 0x73a526af tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7ea7edd4 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xae003af3 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb22243b4 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc9e15f47 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xfb89fb3a 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 0x0af4a883 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x147640eb l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x28909d44 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5cba04e8 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x692b4294 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6f9945d0 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7824a949 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x82c503be l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8365b189 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb9a0b28d l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe0f6ec5a l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xef971154 l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x13f40f3a ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4394a921 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x648d4a87 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x845759f4 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x91e571a3 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb9f11e5f ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe3db0004 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe52c46a4 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xffbdd37b ieee80211_request_smps +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x14b09779 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x56077a6e ip_set_add +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 0x8aff0b70 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x97102557 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9b175f75 ip_set_get_byname +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 0xb073352c ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb759cb67 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc72d7eed ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd3df2b1e ip_set_test +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 0x245812ca register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x34d28fc7 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa48d0c6f ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xd2a8ef1a unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0044e313 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0575634d nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x073b7dcb nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1938a9c6 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22970014 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2662ee88 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2e0f0a03 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30544e38 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34eb7fc6 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36a24f5e nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b97b649 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c24380c nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e3ed68b __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4190ec58 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4e80f927 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ec03234 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a9ef1c9 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c083375 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c82c513 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e13e91a nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e41257c nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f637d4b nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62acb754 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a63dfc0 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6be2b4ba __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fa52f8f nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7079c9ff nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x76c71703 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77826690 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78979028 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b1b1596 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8156b3ca nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81a52456 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x89f63e07 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ab5be3a nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8b633d5b nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90e0eff0 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x983ff434 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c3775bf nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab8202b5 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafc63d08 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0525504 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2df7a9b nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb360d148 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb75313cd nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb8b0cbf3 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb80be52 nf_conntrack_flush_report +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 0xc41398e0 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc84d2627 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc8d07cd3 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcee417b8 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc6db22a nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf5e0b65 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe125142a nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe76e210f nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe87fe97a nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9588db8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xee0dd96d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4a590cf nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf7d5eaf8 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf8f49c8d __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf964358b nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa7b44a5 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa937718 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfda5ceb3 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9f5b39cc nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xf7968516 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x197c94fc nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0fc6fe98 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1f10573d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x61c33d27 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8a0a6720 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x92dd5e7f set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa3c0f277 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb2bda19f set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd9787e1b get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe58d150e nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xeccc292d nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x2c19d99a nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x16cd3c26 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa8d40cdd nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xaebe05ae nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xce7d3a12 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x615cd5e5 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xe6b3c99a nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3485d6a3 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x54ed4344 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x62ec44bd ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x831d5a8d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9e5e9f6f nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa137301a ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb57dd499 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbf66567a ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcbc9e78a ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd403f7f5 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdda2b468 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf02fb0d0 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf79481ea nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xfef3588d nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xa3d4bc5b nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xc88d4d8a nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x29260c04 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x39fb59f4 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x50b5e7e2 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xacbf95cc nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf81ea97c nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfcc3a3ff nfnetlink_send +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_acct 0xc945af82 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xad57845f nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x02e00ec4 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x040cf2bf xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x07646795 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x08ad198c xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0ebca5f7 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x196dc04d xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3a5366d1 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3fec839f xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40b72204 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4a720f28 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x568ed783 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x581b22fd xt_compat_target_offset +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 0x72e9802f xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x90bdca07 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa98b036b xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xaa83d453 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbae6c5ea xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc38f3f30 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec24fd82 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xff785da0 xt_register_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 0x05fa8700 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x0832ea72 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x195d91cf rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2d30c499 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x36fe10c1 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x3b4fc0fc rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x3e87f3b7 rds_message_unmapped +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 0x6b50b66e rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x7298423a rds_atomic_send_complete +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 0x81a8019b rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x8d4476c4 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x91692a82 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xa94b5b35 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xb6df8b15 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xbac88e6a rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xbb4f37f8 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xbb851ae8 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xc0a01bfa rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xc0fc9d39 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcf110cf0 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xe156e1d7 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xe98e9b39 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xf91030aa rds_send_get_message +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x762e83c3 rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xc94a7bb4 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 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x47a1f1fe gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6cb9e9b3 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x82da639c svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8babfbc2 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 0xa6633f65 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xaa7aebb8 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 0xbb9a98ec gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd5d9f1de gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdaf8cae6 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe3a36fce 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 0xfe21db01 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01545355 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02fa6e7f rpc_count_iostats +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 0x08ed8fb2 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a7e7059 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d61b1b5 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f5a21e6 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x117db25d rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11834e80 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x132ae9de rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13b2eb61 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14743700 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1760b495 svc_exit_thread +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 0x1bb069a4 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c20f6ba xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c26d66e xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ed8dd01 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20d78c85 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x219a9fb8 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x241ae1f7 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25a0e2ec rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26787a79 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27643988 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27ddc7ee xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a1773ed xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b170edd rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bb2d03c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d584a13 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x306c58dc xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x306d64c0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30f3f244 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30f94126 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x318e539a rpc_call_start +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 0x32fa017c rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3369c51a rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33fb238c svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x354e4b02 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35d37f89 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36d98ce6 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x376ee1fb xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c0e597e rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e5e5b95 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e77ed31 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x405417c6 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c03a57e cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cdf1f7b rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3572b0 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e579e62 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4eb8d869 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ee356a3 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5510cd74 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x565538ed auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58420833 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5875a8f2 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59cb85f3 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c3f0549 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dbabd2f rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eaf0332 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0d8683 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60dd7606 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61f8e449 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65c3e3af svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x664a308f rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b7357ad rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cb12832 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6fd098de rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7769f9d3 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77c332b0 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7819f0fe svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a2d756c svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ad2c416 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d408221 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d77c55d svc_proc_register +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 0x7dee9495 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f0efd74 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f359cdb svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81b12f0a rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x821a602c rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x825fa02b cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82fa61a7 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86213a4d write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86f43ce0 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cab09ba svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8da9954d rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dca04a7 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8deaef4f cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f18b526 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93d2f677 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x940508ad xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x950da472 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9852bba8 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x988397fe rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98ec602d rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a632690 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b1aa66b rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b52b00a xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b608b4c svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fbc8ee7 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fd370d6 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa63a89a6 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa82b95fa rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa91af6f1 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa36e04d svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac07562f svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac59a1a3 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xace5998c xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb142d4f6 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1bbe607 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb205b8e2 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb29acd2f auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3d07510 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb56fffed xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5ff393b rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb645ecdf rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb74e2fd6 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba59d4d4 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb638535 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbd3a5f2 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd430585 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd6e712c xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd836f1a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdd6bbeb xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe437013 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf50c32e svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfb4cbc1 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbff0bf05 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1196c48 rpc_mkpipe_data +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 0xc4275c19 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc49fc8a1 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5af3495 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5c3cf11 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6ae75c4 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9ae0e45 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9af7552 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca6b0183 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd504e64 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd60a63a svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0539e02 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5dad4f0 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6a12910 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6ea6b46 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7db02a4 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7f636a3 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9f4d7b1 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde07f242 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfe9b6b5 sunrpc_cache_unregister_pipefs +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 0xe7869e7d svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7f553f4 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe837b109 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8703f95 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe907414c svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea9e29ff svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeba4104d rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec468410 xprt_release_xprt_cong +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 0xef0c3c25 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef5cb93a rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf016bf28 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0324183 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0c2f0d0 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf10e7adc xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2d21dc7 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4d73f27 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf75db5b8 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf80ea425 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfac7b230 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb47975d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcb0a67e svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd74a708 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe64517e rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff79c2be put_rpccred +EXPORT_SYMBOL_GPL net/wimax/wimax 0x141190df wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x255afa0b wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3f35dc2f wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4b0270fc wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6c147ad9 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6c3cdf96 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x81ca72da wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x83d2c4ad wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8642e1d2 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xaba1e55c wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb8bd5ef5 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcd1cf9f4 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcec136eb wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x05b346c4 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0cbdc1e1 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6768041a cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6bc36707 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x850efc47 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x85a8ace3 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x89053705 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x91266937 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcd727213 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcf47ade3 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdc1ed0dc cfg80211_wext_giwscan +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 0x5e45d69a pskb_put +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 0x2b4994d7 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x36a85449 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x93c4652e ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xde1362bb ipcomp_destroy +EXPORT_SYMBOL_GPL sound/core/snd 0x6b2b8653 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x996aa92d snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0xaa1f0320 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xbae7b11f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xff3c6401 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe182236f snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x0cff627c snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x3ddeb72a snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x8641f538 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x88fa5337 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x9d8157d8 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb6633193 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04f2ef6d snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0670822b 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 0x07716941 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0847ebc2 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a4468f6 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a75aa09 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c5c87be snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c91ef6c snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d50f851 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f963765 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12c807af snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13324b32 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1750a93d snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18b47325 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18f45294 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c744d57 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d9a3b68 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e92120e snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21bd3403 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2744606e snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27ba3f4b __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27db7499 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28d47108 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a0b611b snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b8863e8 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bc8b88d snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c3d3de4 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2dddee97 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e6bdbac snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x320478c3 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32bd4e88 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3466d82c snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34a0d52a snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36f231ed snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a0cc670 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bfe40d8 snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47d43fa5 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4cfce103 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dadbf84 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50786ac1 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x513d7088 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51ba690b snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51ffa2e5 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x533d8d74 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54b540f4 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x552013d6 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a55b8e4 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5eabbea1 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f17280f snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x631cde73 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6332d97c snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63596615 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63a161f4 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65f02958 snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65f37d0d snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6851cc0e snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ce7d8be snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7069e988 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x721cdfd0 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72e3fab6 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78ba14d5 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79b1ad23 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b51da73 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cdfbd42 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cf285b5 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e865c0f snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x825211f9 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8327d8e0 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8607bace snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87953bfd snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8adb0e9c snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c8c4c12 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d7dcd2c snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f21c651 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9418a6a3 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9789bf2e snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x982753fa snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a6fa2f1 snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c503dab snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9cc2d560 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa399272f snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5e8ad76 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa61e9700 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf535f7e is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2e0387c hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3448c77 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3a36a1f snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6de2e59 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7bb4fe5 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbaaaff51 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc89ef2d snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcfeb4e5 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbfe52439 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1d324cf snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc560b41f snd_hda_mixer_bind_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 0xca35181d snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc97cf9e snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdbc1c32 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdc586a5 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce2da662 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf812c99 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd05b5200 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd2a56e9a snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3567c95 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd42228ae snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4c5c7ce snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6e64c62 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd75321d4 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9a83b18 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb07aa9d snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde16fa88 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdec4304d snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe50810cb snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe52bc155 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef8a9c5a snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf43deb88 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x5ed2f619 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xf7f185fe pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x33dab9ce v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x288cbb3d max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x1eee5c16 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xafc4108e tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x26c8fdeb twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2e8db803 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x5d9b9720 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x7dcea760 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xf5510c51 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x6fbaabfd 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 0x6a9ceb0a 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 0x7b778ea0 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x8f653819 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x9e2b1541 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xa7f776aa wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc2493010 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc9ef2421 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe9f1e0db wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x595b6662 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe7a6f78d wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xb85268dc wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xfdc1f6d1 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x603a20cf wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xd2891696 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x3bbcdf1b wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x01c46554 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x020debd5 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03933201 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04182c19 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0608131f snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08bf5320 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0bc3c9cf snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c727025 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c83231d snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0dca4c34 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0eacdb6a snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x106d346a snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1182861d snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x119faa03 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15c95c31 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18d0bfcb snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18d7a6b5 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a469cad snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ce20c4c snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d1a05d5 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26e93264 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27ab2178 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28884583 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e8cf8f5 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30ebd8b0 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3123855d snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33a063b7 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3468d7e6 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3597afef snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3716dad0 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x378ac450 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x396ef2db snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c71bd60 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x412f1c71 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47c6ff33 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a714f18 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f361684 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f8a9e0c snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x514218ce snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a239cf2 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e1b82d4 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60b639f3 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60e8a16d snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61296dc9 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x625c25d1 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6322f750 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63a92ec8 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x651f82d2 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x692db590 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ecc282a snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72529d8c snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x756b9b64 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77534d78 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77debb16 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78645978 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x786b9968 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ab3fcd8 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7be53f1b snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d2ef8b9 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d5d4bea snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80fec494 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8132df18 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82d96cff snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83d57d3a snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x85fafc14 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8622b324 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a5bf0fc snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c0ece44 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8cbb2b2d snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ce541c1 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x918f32f2 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9531e0d7 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95cd72a5 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95f13873 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ee72667 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0b54f77 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0df7eb3 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa5297c09 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa694ce81 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7f34f07 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa882d108 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa074ba4 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad5337f4 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae2254a9 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae947249 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb2bf8b6c snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4c7f9a0 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb63aece9 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7515de9 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7ff30ff snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb87f751e snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba43f81b snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba8b2f04 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba8f90ee snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc24a1fe3 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4352c5c snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc61a9bf4 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc621b377 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6d2c400 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc78f285f snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc83b583d snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc280ec8 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd01a29cb snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd122f845 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd31c9e1e snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7840df8 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7a3e5c4 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd974f4a4 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc4d791a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde3f082e snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdebaa92d snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfbb9b4e snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0f87acc snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe187dd87 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe52434e2 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8e54957 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9d42be3 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9db2c1d snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec9ff70c snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedb12d27 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee1eb50b dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf093e4f3 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1803d43 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8057aca snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb7f303b snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x00232e7c tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x0055f1da disk_part_iter_next +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 0x00780d01 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00e5f8b3 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f94fde register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x00facc6d edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x010c1200 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x010d0183 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x011fa0d1 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x01330a06 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0141bed1 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x016d32e4 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x0184abeb usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x019a5c90 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01ce2bc7 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x01d8fdef i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e2c0e4 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x0200a24a usb_string +EXPORT_SYMBOL_GPL vmlinux 0x022d726f scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x02448233 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x026211e2 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x0262ebad tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0268bf80 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x02b597be fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x02df3fc3 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x031a7cb1 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x03326bb4 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036583cf __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x03837325 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x038ba57e ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x03a3f86d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x03a7e0c9 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x03dbcbee pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x03e13014 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x03e326a7 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03ec249d bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x03eca9a1 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x04acf043 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x04adf9a4 xen_swiotlb_sync_sg_for_device +EXPORT_SYMBOL_GPL vmlinux 0x04c18212 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04d82000 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f6bca2 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x05288643 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x053e9370 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x058624a3 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058cdfe8 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x0593f6f8 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x05a19bb3 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c41fb5 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x05ef2daf crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x062fc169 xen_hvm_resume_frames +EXPORT_SYMBOL_GPL vmlinux 0x06493f08 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x064ed088 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x069917f5 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x06b3f66f cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x06ce16a9 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x070c5927 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x07309db6 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x073af818 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x073f5a50 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0756790a pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x075d9e74 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0792d6cf blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x07933ac6 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07b09b0c swiotlb_tbl_sync_single +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 0x07e53d8f crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x080a4e41 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x08473616 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x084d322e free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x0880c84b __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x088bfa7e cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08933684 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x089ed8f1 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x08a42504 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x08bc0870 compat_put_timespec +EXPORT_SYMBOL_GPL vmlinux 0x08ed8a9e bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x08f274b6 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092d661b find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x0967596e tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x09c734e5 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x09f781d8 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x09ff90a5 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x0a076743 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x0a288348 flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0a3a8eb5 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x0a3e11ac blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a6267b7 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0a722b46 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x0a74a165 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x0a92a7f2 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x0abfd97d ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x0ac5f06f regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0ad5e52c usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b19ed7c apei_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x0b258e5f perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x0b4b73b5 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0b51fd7c ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b7b9554 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0baf1fec rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0bd5e0ec wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0be8cb31 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0bed3563 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x0bf907e9 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c625892 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cd10a4e work_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0cf08a88 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x0d02cec0 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x0d136adf zs_free +EXPORT_SYMBOL_GPL vmlinux 0x0d3c8f7d mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x0d59e90e usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x0d834f0c sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0df0509b user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e2d9337 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x0e54e148 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0e6a05be tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0e6bd273 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x0e8ba7ce part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ecf823a static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x0ed09bae rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f2450c3 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x0f58d623 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x0f698998 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0fa138de xen_hvm_need_lapic +EXPORT_SYMBOL_GPL vmlinux 0x0fa3faad raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x0fbcba91 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fcfb433 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0fe59ccc user_read +EXPORT_SYMBOL_GPL vmlinux 0x1002336a blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10557279 md_run +EXPORT_SYMBOL_GPL vmlinux 0x10856bdf devres_get +EXPORT_SYMBOL_GPL vmlinux 0x10857e39 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x10ad35f4 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x10e2a9a1 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x11473e98 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x114f1a20 balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x119af014 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x11e09ad4 agp_add_bridge +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 0x123e392f evm_verifyxattr +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 0x129baf1f platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x129c125d ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x12bb4645 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x136fc96a ata_scsi_port_error_handler +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 0x13c6918f blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x13e19abd inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x13f03ea5 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x1416c8d6 put_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0x14325b3a ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x145e21ee rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x145fd596 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x147132db blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x14a395b5 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x14c460c9 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x14f8c422 platform_device_add_resources +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 0x1513188a ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x153241b7 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x15517275 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x1571e3f8 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x15781d63 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x157a878b pid_vnr +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 0x15b25267 find_module +EXPORT_SYMBOL_GPL vmlinux 0x15cfdaf8 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x15e5c21f sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1605d819 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x1611d699 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x164c6592 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x167ef155 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x16eabe1e sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x171839aa pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x1724f34a init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x17416ed0 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x17513e5d anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x1771f873 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x17b81649 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x17ce154b xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x17e10d9a tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x1807a040 zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x183401a5 iommu_detach_device +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 0x18608412 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x1878f284 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x1894f0f0 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x18aeb308 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18f0193d dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x191fb032 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x192bb231 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x195b687f dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a63d3f blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a2a1912 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a2c4f26 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a37bbdd sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x1a3a2e7c relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x1a51dbe6 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x1a7ad4da ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x1a979e1c generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x1a9f401e scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x1ac42747 xen_remap_domain_mfn_range +EXPORT_SYMBOL_GPL vmlinux 0x1ac6641a crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1ae955ab fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x1b0def7c usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1b1ffe6f tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x1b3c9291 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1b74efea __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x1b7cfae8 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1ba97886 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x1baa0e73 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x1c0cac67 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c8217a1 xen_swiotlb_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c931ca0 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x1cb289b9 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x1cc9e797 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x1cf63240 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x1cf88ebf dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x1cfd95c1 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x1d000756 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x1d2c7078 blkdev_aio_write +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 0x1da000c4 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x1db67ebe ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e325760 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e43c813 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e8a14e6 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed6df90 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1edb78d0 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1edfb44f pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x1f0c0ef7 task_xstate_cachep +EXPORT_SYMBOL_GPL vmlinux 0x1f14e86d put_pid +EXPORT_SYMBOL_GPL vmlinux 0x1f169a37 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x1f2b8c88 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x1f2c1603 ata_bmdma_qc_issue +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 0x1fc320ce sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fd2dc98 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x1fde7f46 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x20049a95 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2005f155 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x20176bda print_context_stack_bp +EXPORT_SYMBOL_GPL vmlinux 0x204365e7 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x204b15ee blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x205858e9 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x20a8ee0a timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20dee312 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x210e335f bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x210e7e07 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x21346828 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x21360f59 register_efivars +EXPORT_SYMBOL_GPL vmlinux 0x21493cfb shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2156967e __css_put +EXPORT_SYMBOL_GPL vmlinux 0x21647a8e pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2172ba33 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x21a2052e dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x21a83f8e mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x21cb51e4 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x2292beb9 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229b90bd aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x22a4001f alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x22bfa33c add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x22e675f8 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x2338c6b3 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x234519e7 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x2358a54d device_move +EXPORT_SYMBOL_GPL vmlinux 0x237db659 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238b59bd save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x23d0f789 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x23e91e5c ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x24011e14 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x24120a06 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24755c4c tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b11e90 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24e74c74 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fb56d4 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x24fee48f sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2507c71d kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2533e09a pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x254c8623 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x255e8ca5 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x259cb0cd register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x25a80851 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x25cf328d platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x25ec114f ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x2621f1b5 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x263dcb96 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x2640874c spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x26576139 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x26988bdb gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x26a89747 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c551ad tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26de4fb2 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x270ec305 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x27216b53 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x2740179c __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x2744c4ca disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x276302bc irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x27661293 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x276f33b2 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2797dee0 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x279cb985 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x27afaf4c xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x27c0c4be eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27d46df6 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x28033a90 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x28ca91d8 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x28d08a65 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0x28d517bf usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2908879b blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x2912fe8d platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2922fb6e ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2974ab66 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x29868518 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x29adb101 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x29bd2eb8 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x29d540c6 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x29f58dfa device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x29f73ca7 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x2a02b1d1 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x2a20dd63 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2a2c8bdb ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a852737 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x2aa617cf mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x2ad381c8 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x2afcd501 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x2b25429c xenbus_dev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x2ba4f6d4 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x2bae871d ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2bccb9ea usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2bcdfeb3 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x2bcf1c64 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x2bd72b76 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x2c0f1ac3 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c16fa9b dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2e7878 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x2c524046 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x2c7d9c64 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8fd48a bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cb7b56f class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x2ccb4d4b md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x2ccd0cda gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2ccd9399 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x2cdda7a9 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2ce3b07c crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cfd7f1b xen_swiotlb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x2d0ebb89 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2ccb41 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d3b288d hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d4976cb bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d4cfb6a blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2d74dec4 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2d82be33 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x2d8b186b rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x2d9bc95c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2da0e308 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x2db0df28 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x2dba276a __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2dba6108 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x2dcc2a65 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x2dd0e35d dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x2dfeffd4 platform_bus +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 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e68e570 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x2e9ea099 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x2eb87e29 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2efb422e pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x2f221a47 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x2f353624 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x2f3e36c9 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f4fa644 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2f65578e led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x2f65ef7f regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2fc6dacd perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x2fd98645 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x2fea4c29 trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x30021308 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x30220c01 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x303ae617 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3062e48e usb_hc_died +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 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3151e40c sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x31831037 register_pernet_device +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 0x321bdbb1 compat_get_timeval +EXPORT_SYMBOL_GPL vmlinux 0x3245eb21 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x329c7b09 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x32b1139b rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32bded08 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x32bf0f80 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x32bf9908 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x32c2c579 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32ccc31b ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x32df958d shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x332af68c xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x334b6b00 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x33712103 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x33901000 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x339d0c37 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x339f225b device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x33b64db9 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x33b96e5d apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x33c63014 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x33e117df wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x33e2e1ae cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x33ee8a83 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x33f7ab15 get_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x3437c379 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x3465fce6 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3469f0de bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x348d8171 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3490f43c filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x3491150e cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x34ebeca3 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x352c55cd xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3596cb5e trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x35aaf026 get_device +EXPORT_SYMBOL_GPL vmlinux 0x36101354 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x361c0aaf dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x364c7a78 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x3655748e tty_set_termios +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 0x3693f5b6 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x36a3ed60 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36c0e522 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x36d37d24 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x36d5d8aa vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x36e45b69 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x370a39af tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x3734282f cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x378d0b30 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x37cd6d5f dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x37d36afd hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x37f1ffbf gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x384f289e blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x38620e38 gnttab_grant_foreign_access_trans_ref +EXPORT_SYMBOL_GPL vmlinux 0x38796f1b xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x388ae43f usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x38aa70de spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x38b4326f bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x38beff78 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x38e26753 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x38e2a8a0 device_create +EXPORT_SYMBOL_GPL vmlinux 0x390e4d3a shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x3910d89d tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x39db4bd1 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e97f91 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a38dc65 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x3a3980b7 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a5376dd __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x3a91cb21 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x3aa24773 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x3ad0e201 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x3ad73548 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3adf3d50 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x3b03347b bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x3b10b4a6 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x3b22256f ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3b2aced7 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x3b4e787a sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x3b7145bb apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x3b7353f4 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x3b8874db hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bf7e806 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x3c24cdc4 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x3c33d270 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x3c52daae usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x3c6ceedd ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3ca9e1a6 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cb05b8e iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x3cc55bf5 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cf3ccd2 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d3659ae ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d470604 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3d4d19bb fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dadc1a6 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e3bfe19 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x3e463b10 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x3e5fd10f iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x3e60e55e shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ea02a3f irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f12ba60 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x3f15a750 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3f229c4c oops_begin +EXPORT_SYMBOL_GPL vmlinux 0x3f2a00cc tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x3f4b712d platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f8a7a1f pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x3fad0830 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x3fc72d3d __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3fca7de2 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x3fe92d0a mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x3ffaa6f1 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x402e4eb0 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x40351fdf debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40425593 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x4083d8ba adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x409b2114 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40afa554 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x40c8ab5b crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x414fe3cd wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4180a503 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418806ef power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x41d00c7b shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x41e3859f ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x41f469c6 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4205be78 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x4209b013 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x420fb87c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x42203770 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x423824e8 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x423f171c pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x4253725f pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x425df8c6 xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0x425eabf4 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4289dff2 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x4297b25f firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x42a4b952 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x42afc1a4 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x4301a8ef ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x432d4169 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4331b3f3 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x434dd2ab bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x435b7d6d cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x439869f1 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43d94371 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44003b8b sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x4426e156 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x444207b4 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x44727911 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x4475cc6c cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4494392e zs_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x44b475ee ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44d2b6ad disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x450fb522 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x4546a4d9 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x4556abf1 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45990ec2 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45c1f0fe __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45d850e1 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x467143ab mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46b305fe ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x46c0f6c0 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x46f732de queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x471abc88 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4724654b cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x4760548d usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x47692a01 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x479b828b max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x47bdd4f6 xen_swiotlb_unmap_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0x47e21324 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x47f0400c tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x47f1f1c9 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4821387f __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0x482eaa0b inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x48682db9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x4895f147 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x4896714e anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48a5c2de n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x48b57abf gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x48ec2242 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x48ee4a63 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x491476f0 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x491f0a43 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x4938762f mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x493a4b5d pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x494ca974 apic +EXPORT_SYMBOL_GPL vmlinux 0x498ee4a5 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a2ed3a simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x49ab9a13 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x4a1fa762 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x4a552316 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4a64deab crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x4a813ef0 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x4a90160e bprintf +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ab37a08 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x4affd08b put_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x4b048478 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x4b23ff2e pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x4b281af2 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b4b1c20 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6d6f56 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4b7e89c4 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x4b8d6840 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bd36099 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0x4be8219e xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x4bf0d6d1 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x4c1554f3 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x4c1822da sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x4c2706f6 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c942889 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4ca1acef platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4cb4127d usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x4cc79135 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x4cc86b6f i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4ccffd07 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x4d2f0127 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x4d3ccbca __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x4d5960d0 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x4d6e8709 bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x4d92cd49 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4df27919 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4dff0908 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e42a17f securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x4e57723d apei_read +EXPORT_SYMBOL_GPL vmlinux 0x4e72c04f rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x4e76172a pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4ebc6924 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x4ec7b8e3 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x4ed47c06 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f0f9528 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f55957c crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x4f5fd4d7 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe20e81 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ff842c4 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x4ff97d71 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506bf95e tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x506c464c tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x50744c0e crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x5074ef40 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x50777b9c adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50a827ab tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x50ba3bec acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x50c6bd37 attribute_container_register +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 0x511472ae fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x513281b6 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x51355d58 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51a5022c crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x520ee395 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x522f538b tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x52304e15 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x525b89d5 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x526b752d tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x527144b6 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x529190e0 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x52a84db3 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x52d80eb3 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x5310b3cc device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x5311774f usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x532f865c usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x5336046e debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x534c4782 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5367f946 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x537b9c1b crypto_register_shash +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 0x53afee95 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x53c9d478 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x53ecbc10 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x53ed4588 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5448341e rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5465ce9e usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x54696cf6 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54cd9b04 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x54e07fba page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x550e23ef sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x550f2d76 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x5510c9e4 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x551aca40 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +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 0x55b6a2d2 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x55ded41c ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x561e5bb7 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x56216c8d tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5633c6db xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56430c20 ftrace_event_reg +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 0x566476a1 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x567a32e0 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56a8b42e __rtnl_af_register +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 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x5733b61c tpm_bios_log_teardown +EXPORT_SYMBOL_GPL vmlinux 0x5736f1be device_reprobe +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 0x57845250 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x578d7e77 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x578dbb2a max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x579867d7 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57b11af2 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x57c4691b queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x57caa734 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x57dd7984 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x57f1ebc9 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x582f0237 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58825ce7 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x58b61c0d crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x58bdcba6 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x58c3bb27 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x58c59296 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x592ceafe nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x592cf416 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x592e605e ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x594fdea1 edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x596b05b0 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59b7c66c inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x59d7ddb6 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x59de5bb3 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x59e37275 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a441ebd efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a48e98c inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x5a48fba2 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a726186 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa8d66a elv_register +EXPORT_SYMBOL_GPL vmlinux 0x5ac2727f smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x5adc8c7e __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b10909c i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x5b150156 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x5b435139 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5b4bd4f8 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x5b4cfd62 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5b589061 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x5b6c477e do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x5b6d396c vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x5b7ae8f8 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x5b918910 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x5b98cac8 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bc953ef usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x5bf49125 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5bf92c89 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c1830af ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x5c268364 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x5c2e98ec ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x5c7ba06d regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x5c9aedf2 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x5ca8777a pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x5ca93699 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5cab70d6 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x5cbe4dbc acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x5cc5b28f tpm_bios_log_setup +EXPORT_SYMBOL_GPL vmlinux 0x5ccd4949 flush_kthread_work +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 0x5d48a650 m2p_find_override_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5d4dff17 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5d65bf8a raw_seq_stop +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 0x5db7e5ec inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5df366c8 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e41f19f tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x5e42131c bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e69ec34 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x5e6f7d5e synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x5e7607da cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x5e7e50f9 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x5e95b3b2 __online_page_increment_counters +EXPORT_SYMBOL_GPL vmlinux 0x5ea0c63e led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x5ea836f7 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5eae3cda class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5ebf18df lookup_instantiate_filp +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 0x5f3b0374 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5f4d6e0d inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x5f4f0a93 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x5f79a98b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5fa67f92 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x5fba01bb usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5fbb6dae dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x60564547 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x60576a82 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x608c00f3 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x608d2565 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x60970629 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x609d963c m2p_add_override +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60b99b63 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x60c33963 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x60c95350 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60cfafed __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x60daffd3 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x60fcca6d cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6116e430 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6120d88d ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x61313adc wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x618efb64 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x6194ffea do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x61976568 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x61a42b63 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x61d23c4d blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x62253472 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x623803c8 hest_disable +EXPORT_SYMBOL_GPL vmlinux 0x6242c465 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x6257b448 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x626b0aeb crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6277dc9d tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x62b6081c platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x62c1a88e uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x62c6c809 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x62df2c11 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x62e2e789 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x62ebcafc dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x630095f8 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x63205c5b fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x633560f4 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x634a081e sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x634cb2e5 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x635ec980 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0x6396e7c8 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x63b9811f wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x63f75d3f xen_swiotlb_map_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0x640adbce device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x6474611d fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x64836674 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x6495a39b rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x64b1d822 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x64c672f3 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x64cb0b1c zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x6515c357 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x653f7a99 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x6546ac72 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x655fc5a6 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x65867fe3 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x65b899e7 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c30756 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65ee6a40 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662b2b84 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x663c16d6 gnttab_grant_foreign_access_subpage_ref +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6684a9b0 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x668695ee usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x66b2099f device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66fba05f pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x66feca59 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x670c5b2a ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x67108108 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x67218e87 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x672f453f class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673a1863 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6742f0e8 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x674c8d8f inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x675de729 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x678dbd09 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6795f221 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x67ab3d48 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0x67ad140f usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x67b20b7a sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x67c589e1 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x67cfe232 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x67f05326 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x6812f461 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x68528a05 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x68674cf1 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x6872212e led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68777e41 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x687d3f4c ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6898152e pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x68b14122 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x68e61113 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x69076c86 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x690e50b5 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x691a4059 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x691bb787 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x6921aa34 compat_put_timeval +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x692a8b75 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x69581924 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x695c8d10 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x6967f05c debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x696e8ce5 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6987b782 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x69880e19 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69a4f134 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a2c940e ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6a2d7006 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6a2e2fe5 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x6a4dc189 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a638f89 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6a6cafd2 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x6a6ef236 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6a7d881d usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6ab0ea44 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x6ab7867e fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6abc537b sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x6ac12230 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x6acad21f acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x6ad2d082 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6af9beeb crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b2c4eb0 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6b3129d3 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x6b35bb80 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x6b5539b9 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x6b60971c pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x6b78bb9f find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b93bf60 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x6baa2cbf platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6bbaed18 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6bbd11fd blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x6bbe30a9 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x6be074d1 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x6c1251fd apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c4a1af7 xen_swiotlb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x6c662ce9 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c9d4701 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6cc61c30 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x6ccc955a xen_swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x6d0c4de4 __online_page_free +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d42454a rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6db46bae usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6dc2d09b wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x6dec7077 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e72d5f7 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x6e78848a cpufreq_get_measured_perf +EXPORT_SYMBOL_GPL vmlinux 0x6e830e64 pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea98361 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f34ffed invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x6f4fa1d0 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x6f8a1293 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6fa0fdb4 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x6fa4cf38 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x6fc6aaa0 free_vm_area +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 0x703baf16 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7048fe08 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x70653592 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70bede19 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70d14196 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x70e8494c agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x710c9701 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x71594de0 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71769ee1 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x71e05bbc __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x71f53a4f rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x7207bd41 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x722fcfeb crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7288ed8c usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x72a30808 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72c584ab pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x72cd636d locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x72d7700f acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x72d77ec1 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x72ddbac3 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x72e8850f __irq_set_handler +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 0x736e86a1 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x73835059 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73ba6b46 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x73bb86b6 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x73bf8a18 crypto_rng_type +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 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x747a1b64 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x747b08a8 __atomic_notifier_call_chain +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 0x74c08941 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x74da486b ipv6_recv_error +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 0x752c7480 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x7538003e s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x755d3b64 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x75670727 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x75706a7f rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x757b49d2 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7595701b inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x75ac256a rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x75d2b529 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x75e2f9c7 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75fafae9 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x76338b88 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7645c1c5 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x764baae6 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x76c6d86f __add_pages +EXPORT_SYMBOL_GPL vmlinux 0x76d11511 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x76ea506b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x76fe361b register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x771b14c0 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x77217bae rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x772735cb tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x7741a78f ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x775a6ef5 kvm_read_and_reset_pf_reason +EXPORT_SYMBOL_GPL vmlinux 0x779e0fb7 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x77aeae46 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x77c51b21 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x77d5dd73 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x77db0d86 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x780cc77a scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x78153e82 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x78165663 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x782cdf4f ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x78766327 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78a5c3df pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x78b99daa pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x78d3d2aa dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x78ebba1e pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x78f442b9 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x7921371b zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7949d37c ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x796299a2 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x798419a0 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x79c48f38 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x7a2a95a5 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a3c3d9c uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x7a7c5175 amd_erratum_383 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7ac8e5b0 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ad4d253 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x7ad798c5 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d0fcb usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b43f287 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b728b17 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x7b8e7fa6 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9a8f73 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x7bfdfad5 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7bff79ea __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7c03fbe2 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7c0f1bc0 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7c1b0d75 pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7c80056a ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x7cb3ff61 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cdfb1b3 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ced76fd fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x7d155f9a __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7d4ff570 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d8fa83d platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x7d9d305a stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7da7f351 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd08c5c led_trigger_blink +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 0x7e37316f devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7e5e301f unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7ea1a2bc probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x7ec22f9a apei_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x7f02ab5f ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x7f5da4e1 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x7f9c281c xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x7fc8d03b class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x7fd2e5cf pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fdbfae1 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x7fecb59f tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x80126a8f inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x803146f3 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x806e502f btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8089bd55 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80dbf542 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x80dbfc6d usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80f9e535 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8111c3b8 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x81170d78 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814a2856 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x814b2c5d dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x816a721e spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x817275a3 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x818befb4 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x81b2b85a sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x81ba9953 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x81c61a2a regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8258415c __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x8270e099 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x827ba56d xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x8286630a driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x8297a209 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x8298261c __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x829d1003 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x82bfdd6d inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x82c8f23b mmput +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82cdd5e5 crypto_alloc_ablkcipher +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 0x82fedbef register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x8345e65e acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x834de163 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x838aeea6 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x839a5091 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x83b5732f driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x83c351ed fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x83c820ef ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x83d5ccd3 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x844e4435 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8474fd15 __online_page_set_limits +EXPORT_SYMBOL_GPL vmlinux 0x8484fc26 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x8487a2b6 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x84c4fa62 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x84fdf269 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85098308 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x8543350b __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8564d008 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x8585d582 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x859aea9a xen_set_domain_pte +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85c946a8 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85fa44ee __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x861ce0c3 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x862f98a3 xen_create_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0x86432520 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x8659c34c xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868c3847 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x86fced6c cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x870fb61b tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x871875a4 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x871aafeb usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x872897cd dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x8757cdd1 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x8769c123 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8794cd19 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x87bddee4 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87cf0a90 injectm +EXPORT_SYMBOL_GPL vmlinux 0x87d839eb attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x880205a8 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x882f0d1a register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x882f8876 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x8842f41b i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x885d8736 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x887fbd15 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x88900992 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x889422ae blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8895f591 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x88a6fa18 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88e2970e ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x88f64381 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x8917f4eb inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892850dd sata_link_debounce +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 0x899f9239 sysfs_create_group +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 0x89f612e6 tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a129e06 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8a86a124 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac300da yield_to +EXPORT_SYMBOL_GPL vmlinux 0x8ad7e23c md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x8ad980b3 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x8b04668e bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x8b052c33 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x8b14f912 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x8b3650ec sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x8b39cf9d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8b3b2b7b dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x8b631ba0 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x8b66f9e0 xen_platform_pci_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8b68ce9f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b897bc7 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8babeea8 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x8bc985aa i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x8be7c4fd platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x8befa8e9 tty_init_termios +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 0x8c441936 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x8c53895a crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8c599e55 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x8c7eb8d2 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x8cc6b6c8 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x8cd9f935 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0x8cde4420 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x8d1611d2 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d20db13 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x8d3502e1 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x8d391fa3 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8d6d04bf __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x8da2f32f sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x8dcfb1ba spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x8e2e87c8 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x8e4c00f6 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x8e51939b class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e822216 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x8e937a0f usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8e9d108b crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x8edfc605 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x8ee7c8ff xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x8f212967 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f6530ad ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f7213b2 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8f838732 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fe2ab34 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x9003aa50 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90187b56 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x902089a9 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x9048a388 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x90554bf6 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90a3b968 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x90dc29df aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x90fe3cb1 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x910845fd init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x916d4dd6 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x917edb14 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x918ed4df scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x9195b8bb tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x919bcf7d posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x91ac1f93 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91d8682f dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x91f03752 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x91f128d0 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x9237d695 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x9264eed1 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x926edc02 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x9272a1d7 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x927381dd __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x927845a8 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9282f5a8 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x9293196e spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x92a91dc2 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d510f4 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x92d7dfb3 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x92f427c9 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x9312d80e evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x9318e7ff ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x93260715 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x934da3c4 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x935feda0 swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x9387faa5 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x93a742a3 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x93abb1c6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93ed472a driver_register +EXPORT_SYMBOL_GPL vmlinux 0x93f1ecf6 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x93fdbbf0 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x945790ae sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x9457c5c8 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x949aadad pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x949bb34e virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +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 0x954810c9 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x9559a228 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955ddd9f ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9575b8c0 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x957d6703 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x958235f2 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x95b136ca __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95d692c2 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x9604b35d regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x96433c4a rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x964add15 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x964eec0d __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x96540748 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d4ec7e unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x96de2eb5 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x97033761 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x972b8748 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x976c62ec pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x976e3bc6 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x97768cd4 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x9778c554 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x978d7ff0 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x97a00b18 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x97ba3e92 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x97f359c1 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x98033981 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9843fd8c virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985f04b9 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x98677020 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x98780312 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x987d69b4 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x98857c7a ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x9921f9e3 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99328feb bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x993e8b67 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9965e8f2 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2ab858 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x9a33917d ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9a4d1034 idle_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9a73463e invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x9a7c219a ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9a7c6900 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9a8ecfe3 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x9aa482b5 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x9aac3db1 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ad1b3ba rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9adb809a __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b77ae37 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x9b79c756 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba0e4ff restore_online_page_callback +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 0x9c1169e0 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x9c2b4b74 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x9c2de449 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x9c43e8d2 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x9c4d01f8 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x9c62612b inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x9caa70a5 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x9cd5541c crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x9ce1e8f7 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x9cfc8603 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x9cfd61c5 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d1d90c9 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x9d2cba9a sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x9d37921f __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d525e40 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x9d57b47d sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x9d9e155d pv_info +EXPORT_SYMBOL_GPL vmlinux 0x9dad0d70 register_mce_write_callback +EXPORT_SYMBOL_GPL vmlinux 0x9de9a0fb blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x9defa7b9 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x9e7796eb tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x9e822866 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x9e9072c0 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x9e92999d rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x9eb25545 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x9ed3143c leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x9ee5a903 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x9f2943b0 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x9f3ed7d6 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f4dbbab crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x9f5c1aeb device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x9f8804c5 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x9fcdf34e cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff1f79b power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xa0168188 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xa01d46e4 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xa02dc5a7 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xa0542559 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0655011 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0c588ad ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0dadd11 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa10525b8 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xa120ed05 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa15f2ad8 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa1774422 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xa17dce11 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa1a6ebb8 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xa1aa5c5a iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa1dd565e usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xa1ef6174 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xa20557bd __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa2324fe2 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xa23ccaed transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa2503f41 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa25d2080 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xa27ac374 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2e7407e regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xa2f68c60 m2p_remove_override +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa370e0f3 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa3f8a1ee __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xa43d656d br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xa442be13 xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa46a2f32 user_update +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4ca0d4e unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa4cb8e1b usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4dd3055 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xa544bbbb tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa56ca855 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xa5705807 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6175dba driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6574cf1 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xa66438e8 erst_read +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6a77494 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa6a9e463 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6ccfaa4 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6ef789e sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xa71aaa6f fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xa722a819 cpu_has_amd_erratum +EXPORT_SYMBOL_GPL vmlinux 0xa7275b4b wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xa735c1f8 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa7411356 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa741757e __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xa7567962 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa785868a rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xa7c25c15 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa834010a pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xa85840c9 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa8b82a53 xen_destroy_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0xa8dd009a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9010c7b xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xa901dbe4 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa925e478 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xa96336a0 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xa969bdf9 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xa9a82042 gnttab_trans_grants_available +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9dbf455 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xa9fc3f54 gnttab_grant_foreign_access_trans +EXPORT_SYMBOL_GPL vmlinux 0xaa13ca33 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xaa26c88a klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xaa3f13f7 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa42ae7b pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xaa687877 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0xaa83435c device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa0a7e6 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xaaa8e372 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabf2735 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xaadc0906 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab3207c0 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab734b57 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xab73c693 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xab77b1d5 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xab7aaa0d led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xab997430 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xabc743fb __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xabeaef39 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xac138ea0 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xac1bbf77 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xac34465b spi_bus_lock +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 0xacb159d9 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xada739a7 static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddf9c3f tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae39def6 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0xae3af27a tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xae486bfb swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0xae4f2b46 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6d41d7 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xae7c5411 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0xae7deba6 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xae928185 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaec134ec da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xaec1e13b wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xaec87e5a wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xaec974c8 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xaf1caae6 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xaf68da47 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xaf981c8f swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xafac72f4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xafb535d2 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xb00b9d6e user_match +EXPORT_SYMBOL_GPL vmlinux 0xb028b741 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb039abcb xen_swiotlb_dma_mapping_error +EXPORT_SYMBOL_GPL vmlinux 0xb0482ceb unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xb05ec728 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c8da58 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xb0c9f02d swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb15f807d inet6_csk_search_req +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 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1b7aaf2 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c1d380 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xb2062ecc sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xb218bb1f uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xb23049d9 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xb2650213 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xb269d287 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xb2939933 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xb2a60cc9 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xb2b7f471 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ea1aaf root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb347bb2c work_busy +EXPORT_SYMBOL_GPL vmlinux 0xb38287d3 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3caf722 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xb3cfdd3c rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xb3dbe435 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xb41128ff __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0xb42aa863 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xb43dcbee adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xb46cbc00 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xb4759adc stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xb4bbb3c1 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb5271307 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb54d2947 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xb568bc66 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xb57b123f ata_eh_freeze_port +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 0xb5b5cd23 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5db96bd init_fpu +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb5f31556 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb65be61e dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xb6702700 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb68e7a9b PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xb68eb828 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb6936f99 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xb6acc39e nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6ba7f8f blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xb6bd9902 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xb6e416ac replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0xb7025069 intel_idle_cpu_init +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb72547af hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xb72a9bed usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb73dcb03 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb77b94ca get_task_mm +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 0xb80dc1c0 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb84fc620 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xb8542274 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb8dd194b crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xb8dddaaa usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb9042458 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xb94db510 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9a1957c aead_geniv_exit +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 0xb9fb06b7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xba375b3c scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xba3c6ccb devres_release +EXPORT_SYMBOL_GPL vmlinux 0xba9f735e pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xbaac78f0 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xbab2c567 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xbab85399 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xbac0aa48 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbaf1e625 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xbafb5539 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xbafd8e51 spi_unregister_master +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 0xbb254bb9 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xbb671ddc ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xbb8f33b4 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xbb9d76b8 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbbb38239 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbf0dac4 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xbc01685b usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc19ebdd ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xbc1d21f2 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xbc234998 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbc4dd6a4 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc6f9c2c each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xbc982bc4 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xbca0391f skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xbca4ff64 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbcb6b353 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbce7b364 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xbcee9271 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd2957f4 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd8e09ed sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xbdaf5686 get_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0xbdb47b1d class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xbdc69b44 virtqueue_poll +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 0xbe264c91 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xbe2876c9 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xbe41490e ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe499dab uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xbe710a0a pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xbe762686 xen_swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xbe80bf32 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xbe84aa9f crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xbebac904 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xbec549c4 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbec89dcd da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xbed20d9a __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xbeea8ca5 device_register +EXPORT_SYMBOL_GPL vmlinux 0xbf1cfac9 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xbf48212d sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xbf6ab426 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbf78186f ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xbf7a60c0 css_id +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc0223aeb sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc03fe0a1 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc051b94e class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc088a1c5 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xc0900fcf acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0xc0b0e6ec btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xc0b7d93c dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +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 0xc14021b7 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc14c2824 xenbus_probe +EXPORT_SYMBOL_GPL vmlinux 0xc15e4afc usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xc164642e xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17532f3 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc17ed4bb usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xc1b57e3e device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc1d119c6 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xc1d43dff register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xc1d53be3 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc1e0f6a9 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xc1e17166 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xc1e3bed0 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xc1fb1f50 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xc2080928 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc272c2fd rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2830c7f blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc2b9a221 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xc30cbfb3 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc34001eb scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xc34a84c0 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc34d7886 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3511398 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xc36a28cc usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc38cd6e5 md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3af2020 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xc3d9e95c pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xc4034caa enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc40eec14 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4494a56 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xc466df89 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4c9cf1b blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc4ce6189 idle_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4cf4e80 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc52a3642 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc55a8350 device_del +EXPORT_SYMBOL_GPL vmlinux 0xc55e3403 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc5c264a5 amd_erratum_400 +EXPORT_SYMBOL_GPL vmlinux 0xc5ea8d4b fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc62da024 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc64a95d2 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66e33c8 dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xc6b65dc0 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xc6d3f94c ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc6d7ad42 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0xc6e25e99 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xc6e31580 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xc6ea2a12 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xc6f062f1 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xc6fbaa6c __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc7002ac4 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0xc70c9000 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc70fe607 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xc726ce1b dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc736ad60 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xc73f7328 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xc741683c usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xc7608b5c acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7b4fb5e ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc7c53d44 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc82358a7 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc8490eb4 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xc850c7c8 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xc8516208 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xc854082a fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xc85ad4a5 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xc87880fe sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8951505 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xc899c0f2 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b033ac tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xc8c8c11a __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xc8d04ce7 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc8f46dc5 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc94cbd0d do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc990d4a6 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc992c63b gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9c45421 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ef9ed6 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xc9fe6766 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xca434f51 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0xca5f7bcc relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xca61595b regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca7f3b6b ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xca8077fc tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xca80fe6f blk_abort_request +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 0xcadd0eaa __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xcaef2f94 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0xcaf23812 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcaf87cd7 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb3ca7c7 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xcb41039f dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xcb4535ee queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xcbab2c11 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcbbd3880 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xcbe2351f debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbf4bb21 put_device +EXPORT_SYMBOL_GPL vmlinux 0xcc18d05c cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc2e8c93 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcc3da32d aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc4b68ae ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc95bb9e unregister_efivars +EXPORT_SYMBOL_GPL vmlinux 0xcca7a14f crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce231ec adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcce36b22 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xcce9577c xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xcd40dfe1 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xcd6ca60b crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xcd74d95c mnt_want_write +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 0xcdaac7a6 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xcdbfc4d9 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xcdc13d9a ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdf1c67d unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcdf66951 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xcdf85a18 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce1dacee device_add +EXPORT_SYMBOL_GPL vmlinux 0xce2c42ad usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xce2d6942 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xce316a27 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xce354dba usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce5526af ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce791f68 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xce8518bd input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xcead8b9a pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0xcecc8e6f acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xcece4070 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xcede50e1 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xcf066890 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xcf0d2d6f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xcf0dd969 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xcf4064b0 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xcf7117ed spi_async +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 0xcfde5862 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xcfe3fc44 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xcfee2d07 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL vmlinux 0xd01ba320 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd05bf574 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0xd086b253 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0e4dcf8 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd0ee2e63 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd12d1a25 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0xd143ac3c cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1507e59 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0xd15afed8 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd17f7ce8 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1de3a07 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd1f1be16 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd1f30262 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0xd2073af2 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0xd209565a sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd2468e8d xen_swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd288539a led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xd299dec5 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2c58ab2 apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0xd2d8062c i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xd30c694a crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xd31a3a2b virtqueue_add_buf +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd34a65b5 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0xd35b4e71 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd36706d3 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd3973225 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xd3ab8db5 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xd3ada9d2 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xd3da82b9 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xd3e82843 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xd3fdee91 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40f3337 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd431b590 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xd4336e7b wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd45753a6 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xd45e5abd usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xd46bd2c7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xd4891d6d tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xd4ba06cb pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xd4bb540b regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd50923ae da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd517ea27 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd52fc85e input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xd532530b ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xd53bc067 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd56310b0 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xd57f7920 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5a9a0f4 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd630f888 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd64794e3 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xd64d488d debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd66903a6 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6ed3a8e cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0xd6f7a8fc transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd6fa6905 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd720f31a vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd75bc70e devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7950bcc register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xd7974171 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd7c7ce56 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7eee0be device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd83dee58 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd86ea463 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8b2f022 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xd8b81da5 print_context_stack +EXPORT_SYMBOL_GPL vmlinux 0xd8e6e3cb pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd91b14d0 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0xd939f31f pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0xd94096de kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd952b614 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd9634727 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xd97fe007 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +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 0xda49da08 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xda5c435d dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xda86d94d usb_reset_configuration +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 0xdb470551 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xdb6f0348 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb9b54ed md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xdbc20838 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xdbf6294e ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc1f8f2e register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdc41bd09 input_class +EXPORT_SYMBOL_GPL vmlinux 0xdc5ce0a3 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdcbc08c8 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdce57037 apei_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xdce851cd sigset_from_compat +EXPORT_SYMBOL_GPL vmlinux 0xdd210ea2 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd6618ba btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xdd775686 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xddba43a9 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xddbab840 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddf4d9e4 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xde03e970 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde497c11 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0xde4e19ba klist_next +EXPORT_SYMBOL_GPL vmlinux 0xde751c8f zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xde7a017a iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xde84c115 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xdeae3827 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xdec18c56 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xdef5befa pci_stop_bus_device +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 0xdf434f85 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xdfa506d6 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xdfbca5b7 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe00c6731 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe05df6b8 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0be1261 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xe0c22798 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0e5b68f rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe0fac8e8 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe132b37f tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0xe148a3cb ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xe1498eb6 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xe15b9021 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xe19b880e xenbus_dev_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe1c5ec8c rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xe1c88ed4 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xe1ccea60 shake_page +EXPORT_SYMBOL_GPL vmlinux 0xe1dc3277 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe20fd33b register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xe21e4a52 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xe2482562 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xe24ea745 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe2dfc77b xen_swiotlb_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0xe2ef9f68 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xe2f9509e rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe31d5d64 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xe367fe9e gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xe36e7606 xen_swiotlb_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3ac04bc i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3f102d9 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe3f12187 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xe3f8c8b0 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xe40f015a power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xe412418b dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xe41534ce bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4428977 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe45461fb wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe47b42bb fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xe47d8efd driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xe4951487 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xe4ae252e rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe4e68bc8 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0xe523ec69 xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xe524ccac usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe588fb0e simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5b3b146 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xe5b7f0bf usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xe5ff3745 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe63c97c0 bsg_request_fn +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 0xe6602e9f perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0xe66f3179 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xe67c343a regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xe6a3dac6 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xe6a45c15 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6e729c9 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xe6f422ea ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xe6ffab82 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xe704c22b get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe70c5c97 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe746ad3c dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xe762cb45 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe78322d9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xe7b537f4 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe83ba2e2 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xe845f592 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85931ff sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8642cfd tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xe89bd243 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe8b00de3 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe8b1fdc2 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xe8cbb885 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe8d5de6c xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xe9011563 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe914fa7e __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xe9152ad6 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xe91f2e28 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe941d510 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe94249e4 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe954c642 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xea03923f key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea08d7f7 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea1a5f1f power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xea2c4d73 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xea339d63 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xea392757 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea52f6a3 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xea628c20 bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xea7d6da4 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xea7f91ca __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xeadf816e klist_init +EXPORT_SYMBOL_GPL vmlinux 0xeae13bd0 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb21a188 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0xeb370805 __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xeb413650 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xeb489088 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeb48fbca rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xeb71e662 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xeba26b5c spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xeba745e1 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xebd47db1 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xebe83b34 xen_swiotlb_sync_single_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xebf8c165 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xec080db6 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xec097c86 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec35ed81 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xec5c672e devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xec6a5bd6 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xeca0aa35 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xecb38bdb xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xecc3c7d7 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xecd73962 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xed02b6f3 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xed5dfd4d unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xed6236e7 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xed90e82a crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0xed91f3f4 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xedafbf4d attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xede45ce6 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee278b36 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xee2f2ef1 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xee49069b crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xeeaa4ca8 xen_swiotlb_sync_single_for_device +EXPORT_SYMBOL_GPL vmlinux 0xeec02a5d __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xeecefdd0 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xeedd1181 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef20857b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xef3f2c19 ata_bmdma_stop +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 0xef81188a serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xef8c705c tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xeff0051d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xeff46b7d debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xeffa6b8f __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xf041fb89 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf04a24d0 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xf04aeefe ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xf0566486 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf0af3795 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xf0af554c zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xf0cb01d0 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xf0d0964c md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xf0e0ed79 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xf0f8bff1 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xf105b27d usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xf12796cc tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf13253ca watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf16fb49a relay_file_operations +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 0xf1eaf360 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xf2687e1e fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xf27b1e25 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xf28804aa scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xf2c6103d subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf2e8476d blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0xf2e8fa7e seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +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 0xf399f0ee fat_add_entries +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 0xf3e1e1c8 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xf4499a2e dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xf453921c usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xf459d229 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xf464b8a6 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xf470803f __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a0462d cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xf4c6c53f bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf51feaca register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf570d314 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xf5785b42 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xf582e8d4 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5e472dc debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xf6323a50 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xf6748423 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xf67d6fb5 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf6abd58b xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xf6db3498 pm_runtime_irq_safe +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 0xf7322bc8 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7350ac7 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf7354799 pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf735c56f hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xf7752300 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xf795286a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xf7a14f56 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xf7ab1226 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xf8021ffc vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xf82996c5 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf862e6a6 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8c3b760 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xf8e09c84 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf93f5c32 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf9767575 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0xf987d6fe usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf98e8ed0 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xf9924426 arch_add_memory +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9ce2e69 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xf9dcae77 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa060eb4 usb_autopm_get_interface_no_resume +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 0xfa54b134 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xfa66dc0b get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xfa693f23 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfa901b31 compat_get_timespec +EXPORT_SYMBOL_GPL vmlinux 0xfa946496 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xfaa7a15a pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xfb085f97 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb17dec1 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb2c3718 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xfb312286 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3f4d0c cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb750891 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0xfb8c51eb pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0xfbb26614 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0xfbd10577 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc0a94bf sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfc35e8c3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc4af308 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xfc5ea807 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xfc7a7fc9 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xfc968c8b apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0xfc98d2ac sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfcef269a ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xfd4d3d32 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd8c07bb sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdd690f3 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xfddb48ba xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe04eb92 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfe5f426f perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe92d248 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe9e4cc4 dma_get_required_mask +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 0xff202b41 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff65d13f usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xff69cafe devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffe6c306 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xffef2171 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xfff24e5d udp4_lib_lookup --- linux-lts-quantal-3.5.0.orig/debian.quantal/abi/3.5.0-42.65/amd64/generic.compiler +++ linux-lts-quantal-3.5.0/debian.quantal/abi/3.5.0-42.65/amd64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.quantal/control.d/vars.generic +++ linux-lts-quantal-3.5.0/debian.quantal/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, ndiswrapper-modules-1.9" --- linux-lts-quantal-3.5.0.orig/debian.quantal/control.d/flavour-control.stub +++ linux-lts-quantal-3.5.0/debian.quantal/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), crda (>=1.1.1-1ubuntu2) | wireless-crda +Conflicts: hotplug (<< 0.0.20040105-1) +Recommends: BOOTLOADER +Suggests: fdutils, SRCPKGNAME-doc-PKGVER | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR +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 +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}, 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/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/package-list +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/kernel-versions +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/kernel-versions @@ -0,0 +1,14 @@ +# arch version flavour installedname suffix bdep +amd64 3.5.0-43 generic 3.5.0-43-generic - + +i386 3.5.0-43 generic 3.5.0-43-generic - + +armel 3.5.0-43 omap 3.5.0-43-omap - + +armhf 3.5.0-43 omap 3.5.0-43-omap - +armhf 3.5.0-43 highbank 3.5.0-43-highbank - + +# Ports +# arch version flavour installedname suffix bdep +powerpc 3.5.0-43 powerpc-smp 3.5.0-43-powerpc-smp - +powerpc 3.5.0-43 powerpc64-smp 3.5.0-43-powerpc64-smp - --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/kernel-versions.in +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/crypto-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/usb-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/fat-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/fat-modules @@ -0,0 +1,7 @@ +fat ? +vfat ? + +# Supporting modules ? +nls_cp437 ? +nls_iso8859-1 ? +nls_utf8 ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/virtio-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/nic-shared-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/squashfs-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/squashfs-modules @@ -0,0 +1 @@ +squashfs ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/nfs-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/nfs-modules @@ -0,0 +1,5 @@ +nfs ? +nfs_acl ? +lockd ? +sunrpc ? +cifs ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/speakup-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/fb-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/parport-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/storage-core-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/pcmcia-storage-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/pcmcia-storage-modules @@ -0,0 +1,6 @@ +pata_pcmcia ? +qlogic_cs ? +fdomain_cs ? +aha152x_cs ? +nsp_cs ? +sym53c500_cs ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/scsi-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/plip-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/fs-secondary-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/nic-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/nic-modules @@ -0,0 +1,169 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +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 ? +mlx4_core ? +mlx4_en ? +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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/nic-pcmcia-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/message-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/serial-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/serial-modules @@ -0,0 +1,3 @@ +generic_serial ? +serial_cs ? +synclink_cs ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/sata-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/vlan-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/md-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/ipmi-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/ipmi-modules @@ -0,0 +1,5 @@ +ipmi_devintf ? +ipmi_msghandler ? +ipmi_poweroff ? +ipmi_si ? +ipmi_watchdog ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/pcmcia-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/pcmcia-modules @@ -0,0 +1,8 @@ +i82092 ? +i82365 ? +pcmcia ? +pcmcia_core ? +pd6729 ? +rsrc_nonstatic ? +tcic ? +yenta_socket ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/ppp-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/ppp-modules @@ -0,0 +1,6 @@ +ppp_async ? +ppp_deflate ? +ppp_mppe ? +pppoe ? +pppox ? +ppp_synctty ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/firewire-core-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/multipath-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/multipath-modules @@ -0,0 +1,2 @@ +dm-multipath ? +dm-round-robin ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/mouse-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/irda-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/pata-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/block-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/floppy-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/fs-core-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/modules/fs-core-modules @@ -0,0 +1,4 @@ +ext2 ? +jfs ? +reiserfs ? +xfs ? --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/nic-usb-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/modules/input-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/d-i/firmware/README.txt +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/firmware/scsi-modules +++ linux-lts-quantal-3.5.0/debian.quantal/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin +qlogic/12160.bin +qlogic/1280.bin --- linux-lts-quantal-3.5.0.orig/debian.quantal/d-i/firmware/nic-modules +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/config/config.common.ubuntu +++ linux-lts-quantal-3.5.0/debian.quantal/config/config.common.ubuntu @@ -0,0 +1,6007 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_3C515=m +CONFIG_60XX_WDT=m +CONFIG_6PACK=m +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_ABX500_CORE=y +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=y +# 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_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_ADVANTECH_WDT=m +CONFIG_ADXRS450=m +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_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_AIC79XX_RESET_DELAY_MS=5000 +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_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_ALIX=y +CONFIG_ALI_FIR=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALX=m +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_AMIGA_PARTITION=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_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_APPLE_GMUX=m +CONFIG_APPLICOM=m +CONFIG_APRICOT=m +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_ARCH_CPU_PROBE_RELEASE=y +CONFIG_ARCH_DISCARD_MEMBLOCK=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CPU_AUTOPROBE=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_RANDOM=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_MSI=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +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_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_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_ACPI=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_GENERIC=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=y +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_LEGACY_RATE_CONTROL=y +# CONFIG_ATH9K_MAC_DEBUG is not set +CONFIG_ATH9K_PCI=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_ATM_AMBASSADOR=m +# CONFIG_ATM_AMBASSADOR_DEBUG is not set +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +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_AUXDISPLAY=y +CONFIG_AVERAGE=y +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +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_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_PCF50633=m +CONFIG_BACKLIGHT_PROGEAR=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_SBS=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCH=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_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_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_DAC960=m +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_HD is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_IO_TRACE=y +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_NVME=m +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +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_SD=y +CONFIG_BLK_DEV_SR=y +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLK_DEV_UB=m +CONFIG_BLK_DEV_UMEM=m +# CONFIG_BLK_DEV_XD is not set +# CONFIG_BLK_DEV_XIP is not set +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +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_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_BSD_DISKLABEL=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_BTRFS_FS_POSIX_ACL=y +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_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_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_PLATFORM=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=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_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_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_REG_DEBUG=y +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_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_CLEANCACHE=y +CONFIG_CLKBLD_I8253=y +CONFIG_CLKEVT_I8253=y +CONFIG_CLKSRC_I8253=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLZ_TAB=y +# CONFIG_CMDLINE_BOOL is not set +CONFIG_CNIC=m +CONFIG_CODA_FS=m +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_COMPACTION=y +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_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_COSA=m +# CONFIG_CPA_DEBUG is not set +CONFIG_CPU5_WDT=m +CONFIG_CPUSETS=y +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_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m +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_CRAMFS=m +CONFIG_CRASH_DUMP=y +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_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_LZO=y +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_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_HIGHMEM is not set +CONFIG_DEBUG_INFO=y +# 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_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_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_MMAP_MIN_ADDR=65536 +# 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_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_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_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_RAID45=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_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_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_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_FE_CUSTOMISE is not set +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y +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_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_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_MB_FAULTY is not set +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_DX_SEP=m +# CONFIG_DYNAMIC_DEBUG is not set +CONFIG_DYNAMIC_FTRACE=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +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=y +CONFIG_EDAC_AMD64=m +# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set +CONFIG_EDAC_AMD76X=m +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_E7XXX=m +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_MM_EDAC=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_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_EFI_VARS_PSTORE is not set +CONFIG_EFS_FS=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_ELF_CORE=y +CONFIG_ELPLUS=m +# CONFIG_EMBEDDED is not set +# CONFIG_ENABLE_MUST_CHECK is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ENCRYPTED_KEYS=y +CONFIG_ENIC=m +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_EVM=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=m +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_EXYNOS_VIDEO=y +CONFIG_EZX_PCAP=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_FAT_FS=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_FB=y +CONFIG_FB_3DFX=m +# CONFIG_FB_3DFX_ACCEL is not set +CONFIG_FB_3DFX_I2C=y +CONFIG_FB_ARC=m +CONFIG_FB_ARK=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=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_BACKLIGHT=y +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_BROADSHEET=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CARMINE_DRAM_EVAL=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_CIRRUS=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_CYBER2000_DDC=y +CONFIG_FB_DDC=m +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_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_MACMODES is not set +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_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_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +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_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_TMIO=m +CONFIG_FB_TMIO_ACCELL=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +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_VOODOO1=m +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_EDID=y +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_FONTS is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FORCEDETH=m +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_FSNOTIFY=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FT1000=m +CONFIG_FT1000_PCMCIA=m +CONFIG_FT1000_USB=m +CONFIG_FTL=m +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +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_FUNCTION_TRACER=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_GENERIC_ACL=y +CONFIG_GENERIC_ALLOCATOR=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_ISA_DMA=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_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GEOS=y +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_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_RC5T583=y +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SX150X=y +CONFIG_GPIO_SYSFS=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_GREENASIA_FF=y +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +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_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ATOMIC_IOMAP=y +CONFIG_HAVE_BPF_JIT=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_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_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_TEXT_POKE_SMP=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +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_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_HIDRAW=y +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_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_I2CPLD=y +CONFIG_HTC_PASIC3=m +CONFIG_HT_IRQ=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=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_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_GEODE=m +CONFIG_HW_RANDOM_INTEL=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=250 +# 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_ALGOBIT=m +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_CORE=m +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_I801=m +CONFIG_I2C_INTEL_MID=m +CONFIG_I2C_ISCH=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_PARPORT=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_PCA_ISA=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +# 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_IBM_ASM=m +CONFIG_IBM_RTL=m +CONFIG_ICPLUS_PHY=y +CONFIG_ICS932S401=m +# CONFIG_IDE is not set +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_IDE_PHISON=m +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_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_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_APANEL=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_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_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +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_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_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_PRIVACY=y +CONFIG_IPV6_ROUTER_PREF=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 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_IRDA_CACHE_LAST_LSAP=y +CONFIG_IRDA_DEBUG=y +CONFIG_IRDA_FAST_RR=y +CONFIG_IRDA_ULTRA=y +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_ISA=y +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=y +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_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_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_IWMC3200TOP_DEBUGFS=y +# 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_KARMA_PARTITION=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=y +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_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_KEYS_DEBUG_PROC_KEYS is not set +CONFIG_KGDB=y +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_KSM=y +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_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_LATENCYTOP=y +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_LDM_PARTITION=y +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_ADP5520=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_REGULATOR=m +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_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_LEGACY_PTY_COUNT=0 +# 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_MESH=y +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_LIBIPW_DEBUG=y +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=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_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_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_LOGO is not set +CONFIG_LOOPBACK_TARGET=m +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_DEBUG_MENU=y +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_MESH=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_MACHZ_WDT=m +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_MAC_EMUMOUSEBTN=m +CONFIG_MAC_PARTITION=y +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_MAX8925_POWER=m +# CONFIG_MAXSMP is not set +CONFIG_MAX_RAW_DEVS=256 +# 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_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_MEMORY_HOTREMOVE=y +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_MEMSTICK_REALTEK_PCI=m +CONFIG_MEMSTICK_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MEMTEST=y +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=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_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_MC13783=m +CONFIG_MFD_MC13XXX=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MC13XXX_SPI=m +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RTSX_PCI=m +CONFIG_MFD_S5M_CORE=y +CONFIG_MFD_SM501=m +# CONFIG_MFD_SM501_GPIO is not set +CONFIG_MFD_STMPE=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TIMBERDALE=m +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_VX855=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8400=y +CONFIG_MFD_WM8994=y +# CONFIG_MGEODEGX1 is not set +# CONFIG_MGEODE_LX is not set +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_MINIX_SUBPARTITION=y +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_BLOCK=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_REALTEK_PCI=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_SPI=m +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=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_SRCVERSION_ALL=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=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_MPILIB=y +# CONFIG_MPSC is not set +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +CONFIG_MSI_LAPTOP=m +CONFIG_MSI_WMI=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MTD=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_ALAUDA=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=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_CHAR=m +CONFIG_MTD_CK804XROM=m +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_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=m +CONFIG_MTD_NAND_BCH=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=m +CONFIG_MTD_NAND_ECC_BCH=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_IDS=m +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_NANDSIM=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_RICOH=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_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_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_SM_COMMON=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_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +# 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_DMA_MAP_STATE=y +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEED_SG_DMA_LENGTH=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_DMA=y +# 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_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_FUJITSU=y +CONFIG_NET_VENDOR_HP=y +CONFIG_NET_VENDOR_I825XX=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_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_VIA=y +CONFIG_NET_VENDOR_WIZNET=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_DEBUG=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=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +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_NL80211_TESTMODE=y +CONFIG_NLATTR=y +CONFIG_NLS=y +CONFIG_NLS_ASCII=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_CODEPAGE_437=y +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_DEFAULT="utf8" +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_SHIFT=6 +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NOHIGHMEM is not set +CONFIG_NOP_TRACER=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_NORTEL_HERMES=m +CONFIG_NOZOMI=m +CONFIG_NO_BOOTMEM=y +CONFIG_NO_HZ=y +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_NVRAM=m +CONFIG_NV_TCO=m +# CONFIG_N_GSM is not set +CONFIG_N_HDLC=m +# 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_OLD_BELKIN_DONGLE=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_OSF_PARTITION=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_PAGE_OFFSET=0xC0000000 +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PROFILE=5 +# 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_1284=y +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_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_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=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_SIS=y +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=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_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_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PID_NS=y +CONFIG_PLIP=m +CONFIG_PLX_HERMES=m +CONFIG_PM=y +# CONFIG_PMBUS is not set +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PMIC_DA9052=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=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_PNFS_BLOCK=m +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_PNFS_OBJLAYOUT=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_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG 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_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +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_PREEMPT is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_NOTIFIERS=y +# CONFIG_PREEMPT_RCU is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_PRINTER=m +CONFIG_PRINTK=y +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRISM2_USB=m +# CONFIG_PRISM54 is not set +CONFIG_PROBE_EVENTS=y +CONFIG_PROCESSOR_SELECT=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_PSTORE=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_NETLINK_INTERFACE=y +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_FIXED_VOLTAGE=m +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_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_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_RT2800USB_UNKNOWN=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_DEBUGFS is not set +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_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_CMOS=y +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_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_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_GENERIC_SPINLOCK 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=m +CONFIG_SATA_AHCI_PLATFORM=m +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_SVW=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_SCC=m +# CONFIG_SCC_DELAY is not set +# CONFIG_SCC_TRXECHO is not set +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_SMT=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_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_LOGGING=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +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_INITIATOR=m +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_SCAN_ASYNC=y +CONFIG_SCSI_SIM710=m +CONFIG_SCSI_SPI_ATTRS=y +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=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_DISABLE=y +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_TOMOYO=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_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_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_SCH56XX_COMMON=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_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=y +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_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_PCI=y +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_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# 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_NONSTANDARD=y +CONFIG_SERIAL_PCH_UART=m +CONFIG_SERIAL_TIMBERDALE=m +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_SERIO=y +CONFIG_SERIO_ALTERA_PS2=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_SERPORT=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_SGI_PARTITION=y +CONFIG_SHMEM=y +CONFIG_SIGMATEL_FIR=m +CONFIG_SIGNALFD=y +CONFIG_SIGNATURE=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_SMC9194=m +CONFIG_SMC_IRCC_FIR=m +CONFIG_SMP=y +CONFIG_SMSC37B787_WDT=m +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=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_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_BT87X_OVERCLOCK is not set +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_EMU10K1_SEQ=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_OPL3SA2=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL3_LIB_SEQ=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_PCM=m +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_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=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_I2C_AND_SPI=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_TIMER=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_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_SOFT_WATCHDOG=m +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOLO6X10=m +CONFIG_SONYPI=m +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +# 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_PCI=m +CONFIG_SPI_GPIO=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_OC_TINY=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_SQUASHFS=m +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +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 is not set +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_STACK_TRACER=y +CONFIG_STAGING=y +CONFIG_STAGING_MEDIA=y +CONFIG_STALDRV=y +# CONFIG_STANDALONE is not set +CONFIG_STE10XP=y +# CONFIG_STMMAC_CHAINED is not set +# CONFIG_STMMAC_DA is not set +# CONFIG_STMMAC_DEBUG_FS is not set +CONFIG_STMMAC_ETH=m +# 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_BACKCHANNEL=y +CONFIG_SUNRPC_DEBUG=y +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUN_PARTITION=y +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_SYSCTL_SYSCALL=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_HYPERVISOR=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_XACCT=y +CONFIG_TC1100_WMI=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_TIS=m +CONFIG_TCG_TPM=y +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_TCP_MD5SIG=y +CONFIG_TEHUTI=m +CONFIG_TEKRAM_DONGLE=m +CONFIG_TELCLOCK=m +CONFIG_TEST_KSTRTOX=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_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_TICK_ONESHOT=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIMB_DMA=m +CONFIG_TIMERFD=y +CONFIG_TIMER_STATS=y +CONFIG_TIPC=m +# CONFIG_TIPC_ADVANCED is not set +# CONFIG_TIPC_DEBUG is not set +CONFIG_TI_DAC7512=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_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=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_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_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_TWL4030_CORE is not set +CONFIG_TWL6040_CORE=y +CONFIG_TYPHOON=m +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_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_ULTRIX_PARTITION=y +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNIX_DIAG=m +CONFIG_UNUSED_SYMBOLS=y +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_EHCI=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_XHCI=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_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=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_GADGET=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 is not set +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_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSO=m +CONFIG_USB_HWA_HCD=m +CONFIG_USB_IDMOUSE=m +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_HDRC=m +CONFIG_USB_MUSB_TUSB6010=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_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG 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_UEAGLEATM=m +CONFIG_USB_UHCI_HCD=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_ZR364XX=m +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_GENERIC_SMP_HELPERS=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_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VFAT_FS=y +# CONFIG_VGACON_SOFT_SCROLLBACK is not set +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +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_ADV_DEBUG is not set +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_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_HELPER_CHIPS_AUTO=y +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_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_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_TIMBERDALE=m +CONFIG_VIDEO_TLG2300=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_TVP5150=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_VPX3220=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=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRTUALIZATION=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VITESSE_PHY=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +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_VT=y +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_VT_HW_CONSOLE_BINDING=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_WAN=y +CONFIG_WANXL=m +CONFIG_WAN_ROUTER=m +CONFIG_WAN_ROUTER_DRIVERS=m +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +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_I2400M_SDIO=m +CONFIG_WIMAX_I2400M_USB=m +CONFIG_WIMAX_IWMC3200_SDIO=y +CONFIG_WINBOND_840=m +CONFIG_WINBOND_FIR=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_WM8350_WATCHDOG=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_XFS_RT=y +CONFIG_XO15_EBOOK=m +CONFIG_XOR_BLOCKS=m +CONFIG_XPS=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_ZCACHE=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZISOFS=y +CONFIG_ZLIB_DEFLATE=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZNET=m +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_ZRAM=m +# CONFIG_ZRAM_DEBUG is not set +CONFIG_ZSMALLOC=y --- linux-lts-quantal-3.5.0.orig/debian.quantal/config/enforce +++ linux-lts-quantal-3.5.0/debian.quantal/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-lts-quantal-3.5.0.orig/debian.quantal/config/i386/config.flavour.generic +++ linux-lts-quantal-3.5.0/debian.quantal/config/i386/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lts-quantal-3.5.0.orig/debian.quantal/config/i386/config.common.i386 +++ linux-lts-quantal-3.5.0/debian.quantal/config/i386/config.common.i386 @@ -0,0 +1,29 @@ +# +# Config options for config.common.i386 automatically generated by splitconfig.pl +# +# CONFIG_64BIT is not set +CONFIG_ACPI_BLACKLIST_YEAR=2000 +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" +CONFIG_ASYNC_TX_DMA=y +# CONFIG_AUDIT_ARCH is not set +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_ILLEGAL_POINTER_VALUE=0 +# CONFIG_INTEL_TXT is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_NR_CPUS=8 +CONFIG_OUTPUT_FORMAT="elf32-i386" +CONFIG_PM_WAKELOCKS=y +CONFIG_RCU_FANOUT=32 +CONFIG_REGULATOR_DEBUG=y +CONFIG_SND_OPL4_LIB_SEQ=m +CONFIG_SND_SBAWE_SEQ=m +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPI_PXA2XX_PCI=y +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_ZONE_DMA32 is not set --- linux-lts-quantal-3.5.0.orig/debian.quantal/config/amd64/config.common.amd64 +++ linux-lts-quantal-3.5.0/debian.quantal/config/amd64/config.common.amd64 @@ -0,0 +1,29 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_64BIT=y +CONFIG_ACPI_BLACKLIST_YEAR=0 +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +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_ASYNC_TX_DMA is not set +CONFIG_AUDIT_ARCH=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_INTEL_TXT=y +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_NR_CPUS=256 +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +# CONFIG_PM_WAKELOCKS is not set +CONFIG_RCU_FANOUT=64 +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SPARSEMEM_MANUAL=y +# CONFIG_SPI_PXA2XX_PCI is not set +# 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_ZONE_DMA32=y --- linux-lts-quantal-3.5.0.orig/debian.quantal/config/amd64/config.flavour.generic +++ linux-lts-quantal-3.5.0/debian.quantal/config/amd64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-lts-quantal-3.5.0.orig/debian.quantal/rules.d/amd64.mk +++ linux-lts-quantal-3.5.0/debian.quantal/rules.d/amd64.mk @@ -0,0 +1,17 @@ +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 +skipabi = true +skipmodule = true +do_libc_dev_package=false +do_tools = true +do_doc_package = false +do_source_package=false --- linux-lts-quantal-3.5.0.orig/debian.quantal/rules.d/i386.mk +++ linux-lts-quantal-3.5.0/debian.quantal/rules.d/i386.mk @@ -0,0 +1,16 @@ +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 +skipabi = true +skipmodule = true +do_libc_dev_package=false +do_tools = true +do_doc_package = false +do_source_package=false --- linux-lts-quantal-3.5.0.orig/lib/gcd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/lib/digsig.c +++ linux-lts-quantal-3.5.0/lib/digsig.c @@ -162,10 +162,14 @@ memset(out1, 0, head); memcpy(out1 + head, p, l); + kfree(p); + 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-lts-quantal-3.5.0.orig/lib/idr.c +++ linux-lts-quantal-3.5.0/lib/idr.c @@ -39,6 +39,14 @@ static struct kmem_cache *idr_layer_cache; static DEFINE_SPINLOCK(simple_ida_lock); +/* the maximum ID which can be allocated given idr->layers */ +static int idr_max(int layers) +{ + int bits = min_t(int, layers * IDR_BITS, MAX_ID_SHIFT); + + return (1 << bits) - 1; +} + static struct idr_layer *get_from_free_list(struct idr *idp) { struct idr_layer *p; @@ -223,7 +231,7 @@ * Add a new layer to the top of the tree if the requested * id is larger than the currently allocated space. */ - while ((layers < (MAX_LEVEL - 1)) && (id >= (1 << (layers*IDR_BITS)))) { + while (id > idr_max(layers)) { layers++; if (!p->count) { /* special case: if the tree is currently empty, @@ -265,7 +273,7 @@ static int idr_get_new_above_int(struct idr *idp, void *ptr, int starting_id) { - struct idr_layer *pa[MAX_LEVEL]; + struct idr_layer *pa[MAX_LEVEL + 1]; int id; id = idr_get_empty_slot(idp, starting_id, pa); @@ -357,7 +365,7 @@ static void sub_remove(struct idr *idp, int shift, int id) { struct idr_layer *p = idp->top; - struct idr_layer **pa[MAX_LEVEL]; + struct idr_layer **pa[MAX_LEVEL + 1]; struct idr_layer ***paa = &pa[0]; struct idr_layer *to_free; int n; @@ -451,16 +459,16 @@ int n, id, max; int bt_mask; struct idr_layer *p; - struct idr_layer *pa[MAX_LEVEL]; + struct idr_layer *pa[MAX_LEVEL + 1]; struct idr_layer **paa = &pa[0]; n = idp->layers * IDR_BITS; p = idp->top; rcu_assign_pointer(idp->top, NULL); - max = 1 << n; + max = idr_max(idp->layers); id = 0; - while (id < max) { + while (id >= 0 && id <= max) { while (n > IDR_BITS && p) { n -= IDR_BITS; *paa++ = p; @@ -519,7 +527,7 @@ /* Mask off upper bits we don't use for the search. */ id &= MAX_ID_MASK; - if (id >= (1 << n)) + if (id > idr_max(p->layer + 1)) return NULL; BUG_ON(n == 0); @@ -555,15 +563,15 @@ { int n, id, max, error = 0; struct idr_layer *p; - struct idr_layer *pa[MAX_LEVEL]; + struct idr_layer *pa[MAX_LEVEL + 1]; struct idr_layer **paa = &pa[0]; n = idp->layers * IDR_BITS; p = rcu_dereference_raw(idp->top); - max = 1 << n; + max = idr_max(idp->layers); id = 0; - while (id < max) { + while (id >= 0 && id <= max) { while (n > 0 && p) { n -= IDR_BITS; *paa++ = p; @@ -601,7 +609,7 @@ */ void *idr_get_next(struct idr *idp, int *nextidp) { - struct idr_layer *p, *pa[MAX_LEVEL]; + struct idr_layer *p, *pa[MAX_LEVEL + 1]; struct idr_layer **paa = &pa[0]; int id = *nextidp; int n, max; @@ -611,9 +619,9 @@ if (!p) return NULL; n = (p->layer + 1) * IDR_BITS; - max = 1 << n; + max = idr_max(p->layer + 1); - while (id < max) { + while (id >= 0 && id <= max) { while (n > 0 && p) { n -= IDR_BITS; *paa++ = p; @@ -625,7 +633,14 @@ return p; } - id += 1 << n; + /* + * Proceed to the next layer at the current level. Unlike + * idr_for_each(), @id isn't guaranteed to be aligned to + * layer boundary at this point and adding 1 << n may + * incorrectly skip IDs. Make sure we jump to the + * beginning of the next layer using round_up(). + */ + id = round_up(id + 1, 1 << n); while (n < fls(id)) { n += IDR_BITS; p = *--paa; @@ -780,7 +795,7 @@ */ int ida_get_new_above(struct ida *ida, int starting_id, int *p_id) { - struct idr_layer *pa[MAX_LEVEL]; + struct idr_layer *pa[MAX_LEVEL + 1]; struct ida_bitmap *bitmap; unsigned long flags; int idr_id = starting_id / IDA_BITMAP_BITS; --- linux-lts-quantal-3.5.0.orig/lib/genalloc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/lib/kobject.c +++ linux-lts-quantal-3.5.0/lib/kobject.c @@ -529,6 +529,13 @@ return kobj; } +static struct kobject *kobject_get_unless_zero(struct kobject *kobj) +{ + if (!kref_get_unless_zero(&kobj->kref)) + kobj = NULL; + return kobj; +} + /* * kobject_cleanup - free kobject resources. * @kobj: object to cleanup @@ -751,7 +758,7 @@ list_for_each_entry(k, &kset->list, entry) { if (kobject_name(k) && !strcmp(kobject_name(k), name)) { - ret = kobject_get(k); + ret = kobject_get_unless_zero(k); break; } } --- linux-lts-quantal-3.5.0.orig/lib/vsprintf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/lib/klist.c +++ linux-lts-quantal-3.5.0/lib/klist.c @@ -193,10 +193,10 @@ if (waiter->node != n) continue; + list_del(&waiter->list); waiter->woken = 1; mb(); wake_up_process(waiter->process); - list_del(&waiter->list); } spin_unlock(&klist_remove_lock); knode_set_klist(n, NULL); --- linux-lts-quantal-3.5.0.orig/lib/dynamic_debug.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/lib/bug.c +++ linux-lts-quantal-3.5.0/lib/bug.c @@ -55,6 +55,7 @@ } #ifdef CONFIG_MODULES +/* Updates are protected by module mutex */ static LIST_HEAD(module_bug_list); static const struct bug_entry *module_find_bug(unsigned long bugaddr) --- linux-lts-quantal-3.5.0.orig/net/socket.c +++ linux-lts-quantal-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)); @@ -1895,7 +1898,7 @@ unsigned int name_len; }; -static int __sys_sendmsg(struct socket *sock, struct msghdr __user *msg, +static int ___sys_sendmsg(struct socket *sock, struct msghdr __user *msg, struct msghdr *msg_sys, unsigned int flags, struct used_address *used_address) { @@ -2010,22 +2013,30 @@ * BSD sendmsg interface */ -SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned int, flags) +long __sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags) { int fput_needed, err; struct msghdr msg_sys; - struct socket *sock = sockfd_lookup_light(fd, &err, &fput_needed); + struct socket *sock; + sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock) goto out; - err = __sys_sendmsg(sock, msg, &msg_sys, flags, NULL); + err = ___sys_sendmsg(sock, msg, &msg_sys, flags, NULL); fput_light(sock->file, fput_needed); out: return err; } +SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned int, flags) +{ + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; + return __sys_sendmsg(fd, msg, flags); +} + /* * Linux sendmmsg interface */ @@ -2056,15 +2067,16 @@ while (datagrams < vlen) { if (MSG_CMSG_COMPAT & flags) { - err = __sys_sendmsg(sock, (struct msghdr __user *)compat_entry, - &msg_sys, flags, &used_address); + err = ___sys_sendmsg(sock, (struct msghdr __user *)compat_entry, + &msg_sys, flags, &used_address); if (err < 0) break; err = __put_user(err, &compat_entry->msg_len); ++compat_entry; } else { - err = __sys_sendmsg(sock, (struct msghdr __user *)entry, - &msg_sys, flags, &used_address); + err = ___sys_sendmsg(sock, + (struct msghdr __user *)entry, + &msg_sys, flags, &used_address); if (err < 0) break; err = put_user(err, &entry->msg_len); @@ -2088,10 +2100,12 @@ SYSCALL_DEFINE4(sendmmsg, int, fd, struct mmsghdr __user *, mmsg, unsigned int, vlen, unsigned int, flags) { + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; return __sys_sendmmsg(fd, mmsg, vlen, flags); } -static int __sys_recvmsg(struct socket *sock, struct msghdr __user *msg, +static int ___sys_recvmsg(struct socket *sock, struct msghdr __user *msg, struct msghdr *msg_sys, unsigned int flags, int nosec) { struct compat_msghdr __user *msg_compat = @@ -2183,23 +2197,31 @@ * BSD recvmsg interface */ -SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg, - unsigned int, flags) +long __sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags) { int fput_needed, err; struct msghdr msg_sys; - struct socket *sock = sockfd_lookup_light(fd, &err, &fput_needed); + struct socket *sock; + sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock) goto out; - err = __sys_recvmsg(sock, msg, &msg_sys, flags, 0); + err = ___sys_recvmsg(sock, msg, &msg_sys, flags, 0); fput_light(sock->file, fput_needed); out: return err; } +SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg, + unsigned int, flags) +{ + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; + return __sys_recvmsg(fd, msg, flags); +} + /* * Linux recvmmsg interface */ @@ -2237,17 +2259,18 @@ * No need to ask LSM for more than the first datagram. */ if (MSG_CMSG_COMPAT & flags) { - err = __sys_recvmsg(sock, (struct msghdr __user *)compat_entry, - &msg_sys, flags & ~MSG_WAITFORONE, - datagrams); + err = ___sys_recvmsg(sock, (struct msghdr __user *)compat_entry, + &msg_sys, flags & ~MSG_WAITFORONE, + datagrams); if (err < 0) break; err = __put_user(err, &compat_entry->msg_len); ++compat_entry; } else { - err = __sys_recvmsg(sock, (struct msghdr __user *)entry, - &msg_sys, flags & ~MSG_WAITFORONE, - datagrams); + err = ___sys_recvmsg(sock, + (struct msghdr __user *)entry, + &msg_sys, flags & ~MSG_WAITFORONE, + datagrams); if (err < 0) break; err = put_user(err, &entry->msg_len); @@ -2314,6 +2337,9 @@ int datagrams; struct timespec timeout_sys; + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; + if (!timeout) return __sys_recvmmsg(fd, mmsg, vlen, flags, NULL); @@ -2602,7 +2628,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 +2644,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 +2681,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-lts-quantal-3.5.0.orig/net/compat.c +++ linux-lts-quantal-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; @@ -735,19 +735,25 @@ asmlinkage long compat_sys_sendmsg(int fd, struct compat_msghdr __user *msg, unsigned int flags) { - return sys_sendmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT); + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; + return __sys_sendmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT); } asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg, unsigned int vlen, unsigned int flags) { + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; return __sys_sendmmsg(fd, (struct mmsghdr __user *)mmsg, vlen, flags | MSG_CMSG_COMPAT); } asmlinkage long compat_sys_recvmsg(int fd, struct compat_msghdr __user *msg, unsigned int flags) { - return sys_recvmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT); + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; + return __sys_recvmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT); } asmlinkage long compat_sys_recv(int fd, void __user *buf, size_t len, unsigned int flags) @@ -769,6 +775,9 @@ int datagrams; struct timespec ktspec; + if (flags & MSG_CMSG_COMPAT) + return -EINVAL; + if (COMPAT_USE_64BIT_TIME) return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen, flags | MSG_CMSG_COMPAT, --- linux-lts-quantal-3.5.0.orig/net/netfilter/nf_conntrack_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/netfilter/core.c +++ linux-lts-quantal-3.5.0/net/netfilter/core.c @@ -29,6 +29,8 @@ const struct nf_afinfo __rcu *nf_afinfo[NFPROTO_NUMPROTO] __read_mostly; EXPORT_SYMBOL(nf_afinfo); +const struct nf_ipv6_ops __rcu *nf_ipv6_ops __read_mostly; +EXPORT_SYMBOL_GPL(nf_ipv6_ops); int nf_register_afinfo(const struct nf_afinfo *afinfo) { --- linux-lts-quantal-3.5.0.orig/net/netfilter/nfnetlink_acct.c +++ linux-lts-quantal-3.5.0/net/netfilter/nfnetlink_acct.c @@ -147,9 +147,12 @@ rcu_read_lock(); list_for_each_entry_rcu(cur, &nfnl_acct_list, head) { - if (last && cur != last) - continue; + if (last) { + if (cur != last) + continue; + last = NULL; + } if (nfnl_acct_fill_info(skb, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, NFNL_MSG_TYPE(cb->nlh->nlmsg_type), --- linux-lts-quantal-3.5.0.orig/net/netfilter/nfnetlink_log.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/netfilter/xt_TCPOPTSTRIP.c +++ linux-lts-quantal-3.5.0/net/netfilter/xt_TCPOPTSTRIP.c @@ -30,18 +30,31 @@ static unsigned int tcpoptstrip_mangle_packet(struct sk_buff *skb, - const struct xt_tcpoptstrip_target_info *info, + const struct xt_action_param *par, unsigned int tcphoff, unsigned int minlen) { + const struct xt_tcpoptstrip_target_info *info = par->targinfo; unsigned int optl, i, j; struct tcphdr *tcph; u_int16_t n, o; u_int8_t *opt; + int len; + + /* This is a fragment, no TCP header is available */ + if (par->fragoff != 0) + return XT_CONTINUE; if (!skb_make_writable(skb, skb->len)) return NF_DROP; + len = skb->len - tcphoff; + if (len < (int)sizeof(struct tcphdr)) + return NF_DROP; + tcph = (struct tcphdr *)(skb_network_header(skb) + tcphoff); + if (tcph->doff * 4 > len) + return NF_DROP; + opt = (u_int8_t *)tcph; /* @@ -76,7 +89,7 @@ static unsigned int tcpoptstrip_tg4(struct sk_buff *skb, const struct xt_action_param *par) { - return tcpoptstrip_mangle_packet(skb, par->targinfo, ip_hdrlen(skb), + return tcpoptstrip_mangle_packet(skb, par, ip_hdrlen(skb), sizeof(struct iphdr) + sizeof(struct tcphdr)); } @@ -94,7 +107,7 @@ if (tcphoff < 0) return NF_DROP; - return tcpoptstrip_mangle_packet(skb, par->targinfo, tcphoff, + return tcpoptstrip_mangle_packet(skb, par, tcphoff, sizeof(*ipv6h) + sizeof(struct tcphdr)); } #endif --- linux-lts-quantal-3.5.0.orig/net/netfilter/xt_TCPMSS.c +++ linux-lts-quantal-3.5.0/net/netfilter/xt_TCPMSS.c @@ -44,17 +44,22 @@ static int tcpmss_mangle_packet(struct sk_buff *skb, - const struct xt_tcpmss_info *info, + const struct xt_action_param *par, unsigned int in_mtu, unsigned int tcphoff, unsigned int minlen) { + const struct xt_tcpmss_info *info = par->targinfo; struct tcphdr *tcph; unsigned int tcplen, i; __be16 oldval; u16 newmss; u8 *opt; + /* This is a fragment, no TCP header is available */ + if (par->fragoff != 0) + return XT_CONTINUE; + if (!skb_make_writable(skb, skb->len)) return -1; @@ -124,6 +129,18 @@ skb_put(skb, TCPOLEN_MSS); + /* + * IPv4: RFC 1122 states "If an MSS option is not received at + * connection setup, TCP MUST assume a default send MSS of 536". + * IPv6: RFC 2460 states IPv6 has a minimum MTU of 1280 and a minimum + * length IPv6 header of 60, ergo the default MSS value is 1220 + * Since no MSS was provided, we must use the default values + */ + if (par->family == NFPROTO_IPV4) + newmss = min(newmss, (u16)536); + else + newmss = min(newmss, (u16)1220); + opt = (u_int8_t *)tcph + sizeof(struct tcphdr); memmove(opt + TCPOLEN_MSS, opt, tcplen - sizeof(struct tcphdr)); @@ -181,7 +198,7 @@ __be16 newlen; int ret; - ret = tcpmss_mangle_packet(skb, par->targinfo, + ret = tcpmss_mangle_packet(skb, par, tcpmss_reverse_mtu(skb, PF_INET), iph->ihl * 4, sizeof(*iph) + sizeof(struct tcphdr)); @@ -210,7 +227,7 @@ tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr, &frag_off); if (tcphoff < 0) return NF_DROP; - ret = tcpmss_mangle_packet(skb, par->targinfo, + ret = tcpmss_mangle_packet(skb, par, tcpmss_reverse_mtu(skb, PF_INET6), tcphoff, sizeof(*ipv6h) + sizeof(struct tcphdr)); --- linux-lts-quantal-3.5.0.orig/net/netfilter/nf_conntrack_proto_tcp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/netfilter/nfnetlink_cttimeout.c +++ linux-lts-quantal-3.5.0/net/netfilter/nfnetlink_cttimeout.c @@ -216,9 +216,12 @@ rcu_read_lock(); list_for_each_entry_rcu(cur, &cttimeout_list, head) { - if (last && cur != last) - continue; + if (last) { + if (cur != last) + continue; + last = NULL; + } if (ctnl_timeout_fill_info(skb, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, NFNL_MSG_TYPE(cb->nlh->nlmsg_type), --- linux-lts-quantal-3.5.0.orig/net/netfilter/xt_addrtype.c +++ linux-lts-quantal-3.5.0/net/netfilter/xt_addrtype.c @@ -22,6 +22,7 @@ #include #endif +#include #include #include @@ -33,12 +34,12 @@ #if IS_ENABLED(CONFIG_IP6_NF_IPTABLES) static u32 match_lookup_rt6(struct net *net, const struct net_device *dev, - const struct in6_addr *addr) + const struct in6_addr *addr, u16 mask) { const struct nf_afinfo *afinfo; struct flowi6 flow; struct rt6_info *rt; - u32 ret; + u32 ret = 0; int route_err; memset(&flow, 0, sizeof(flow)); @@ -49,12 +50,19 @@ rcu_read_lock(); afinfo = nf_get_afinfo(NFPROTO_IPV6); - if (afinfo != NULL) + if (afinfo != NULL) { + const struct nf_ipv6_ops *v6ops; + + if (dev && (mask & XT_ADDRTYPE_LOCAL)) { + v6ops = nf_get_ipv6_ops(); + if (v6ops && v6ops->chk_addr(net, addr, dev, true)) + ret = XT_ADDRTYPE_LOCAL; + } route_err = afinfo->route(net, (struct dst_entry **)&rt, - flowi6_to_flowi(&flow), !!dev); - else + flowi6_to_flowi(&flow), false); + } else { route_err = 1; - + } rcu_read_unlock(); if (route_err) @@ -62,15 +70,12 @@ if (rt->rt6i_flags & RTF_REJECT) ret = XT_ADDRTYPE_UNREACHABLE; - else - ret = 0; - if (rt->rt6i_flags & RTF_LOCAL) + if (dev == NULL && rt->rt6i_flags & RTF_LOCAL) ret |= XT_ADDRTYPE_LOCAL; if (rt->rt6i_flags & RTF_ANYCAST) ret |= XT_ADDRTYPE_ANYCAST; - dst_release(&rt->dst); return ret; } @@ -90,7 +95,7 @@ if ((XT_ADDRTYPE_LOCAL | XT_ADDRTYPE_ANYCAST | XT_ADDRTYPE_UNREACHABLE) & mask) - return !!(mask & match_lookup_rt6(net, dev, addr)); + return !!(mask & match_lookup_rt6(net, dev, addr, mask)); return true; } --- linux-lts-quantal-3.5.0.orig/net/netfilter/xt_limit.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/netfilter/nf_conntrack_expect.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/netfilter/xt_LOG.c +++ linux-lts-quantal-3.5.0/net/netfilter/xt_LOG.c @@ -727,7 +727,7 @@ } /* Max length: 16 "MARK=0xFFFFFFFF " */ - if (!recurse && skb->mark) + if (recurse && skb->mark) sb_add(m, "MARK=0x%x ", skb->mark); } --- linux-lts-quantal-3.5.0.orig/net/netfilter/ipvs/ip_vs_core.c +++ linux-lts-quantal-3.5.0/net/netfilter/ipvs/ip_vs_core.c @@ -1378,7 +1378,8 @@ /* do the statistics and put it back */ ip_vs_in_stats(cp, skb); - if (IPPROTO_TCP == cih->protocol || IPPROTO_UDP == cih->protocol) + if (IPPROTO_TCP == cih->protocol || IPPROTO_UDP == cih->protocol || + IPPROTO_SCTP == cih->protocol) offset += 2 * sizeof(__u16); verdict = ip_vs_icmp_xmit(skb, cp, pp, offset, hooknum); --- linux-lts-quantal-3.5.0.orig/net/netfilter/ipvs/ip_vs_ctl.c +++ linux-lts-quantal-3.5.0/net/netfilter/ipvs/ip_vs_ctl.c @@ -2549,6 +2549,7 @@ struct ip_vs_dest *dest; struct ip_vs_dest_entry entry; + memset(&entry, 0, sizeof(entry)); list_for_each_entry(dest, &svc->destinations, n_list) { if (count >= get->num_dests) break; @@ -2759,6 +2760,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-lts-quantal-3.5.0.orig/net/netfilter/ipvs/ip_vs_pe_sip.c +++ linux-lts-quantal-3.5.0/net/netfilter/ipvs/ip_vs_pe_sip.c @@ -37,14 +37,10 @@ if (ret > 0) break; if (!ret) - return 0; + return -EINVAL; dataoff += *matchoff; } - /* Empty callid is useless */ - if (!*matchlen) - return -EINVAL; - /* Too large is useless */ if (*matchlen > IP_VS_PEDATA_MAXLEN) return -EINVAL; --- linux-lts-quantal-3.5.0.orig/net/netfilter/ipvs/ip_vs_xmit.c +++ linux-lts-quantal-3.5.0/net/netfilter/ipvs/ip_vs_xmit.c @@ -853,7 +853,7 @@ iph->daddr = cp->daddr.ip; iph->saddr = saddr; iph->ttl = old_iph->ttl; - ip_select_ident(iph, &rt->dst, NULL); + ip_select_ident(skb, &rt->dst, NULL); /* Another hack: avoid icmp_send in ip_fragment */ skb->local_df = 1; --- linux-lts-quantal-3.5.0.orig/net/packet/af_packet.c +++ linux-lts-quantal-3.5.0/net/packet/af_packet.c @@ -812,37 +812,33 @@ smp_rmb(); - if (likely(TP_STATUS_KERNEL == BLOCK_STATUS(pbd1))) { + /* We could have just memset this but we will lose the + * flexibility of making the priv area sticky + */ - /* We could have just memset this but we will lose the - * flexibility of making the priv area sticky - */ - BLOCK_SNUM(pbd1) = pkc1->knxt_seq_num++; - BLOCK_NUM_PKTS(pbd1) = 0; - BLOCK_LEN(pbd1) = BLK_PLUS_PRIV(pkc1->blk_sizeof_priv); - getnstimeofday(&ts); - h1->ts_first_pkt.ts_sec = ts.tv_sec; - h1->ts_first_pkt.ts_nsec = ts.tv_nsec; - pkc1->pkblk_start = (char *)pbd1; - pkc1->nxt_offset = (char *)(pkc1->pkblk_start + - BLK_PLUS_PRIV(pkc1->blk_sizeof_priv)); - BLOCK_O2FP(pbd1) = (__u32)BLK_PLUS_PRIV(pkc1->blk_sizeof_priv); - BLOCK_O2PRIV(pbd1) = BLK_HDR_LEN; - pbd1->version = pkc1->version; - pkc1->prev = pkc1->nxt_offset; - pkc1->pkblk_end = pkc1->pkblk_start + pkc1->kblk_size; - prb_thaw_queue(pkc1); - _prb_refresh_rx_retire_blk_timer(pkc1); + BLOCK_SNUM(pbd1) = pkc1->knxt_seq_num++; + BLOCK_NUM_PKTS(pbd1) = 0; + BLOCK_LEN(pbd1) = BLK_PLUS_PRIV(pkc1->blk_sizeof_priv); - smp_wmb(); + getnstimeofday(&ts); - return; - } + h1->ts_first_pkt.ts_sec = ts.tv_sec; + h1->ts_first_pkt.ts_nsec = ts.tv_nsec; - WARN(1, "ERROR block:%p is NOT FREE status:%d kactive_blk_num:%d\n", - pbd1, BLOCK_STATUS(pbd1), pkc1->kactive_blk_num); - dump_stack(); - BUG(); + pkc1->pkblk_start = (char *)pbd1; + pkc1->nxt_offset = pkc1->pkblk_start + BLK_PLUS_PRIV(pkc1->blk_sizeof_priv); + + BLOCK_O2FP(pbd1) = (__u32)BLK_PLUS_PRIV(pkc1->blk_sizeof_priv); + BLOCK_O2PRIV(pbd1) = BLK_HDR_LEN; + + pbd1->version = pkc1->version; + pkc1->prev = pkc1->nxt_offset; + pkc1->pkblk_end = pkc1->pkblk_start + pkc1->kblk_size; + + prb_thaw_queue(pkc1); + _prb_refresh_rx_retire_blk_timer(pkc1); + + smp_wmb(); } /* @@ -933,10 +929,6 @@ prb_close_block(pkc, pbd, po, status); return; } - - WARN(1, "ERROR-pbd[%d]:%p\n", pkc->kactive_blk_num, pbd); - dump_stack(); - BUG(); } static int prb_curr_blk_in_use(struct tpacket_kbdq_core *pkc, @@ -1280,6 +1272,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 +1332,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 +1944,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); @@ -2442,13 +2442,15 @@ packet_flush_mclist(sk); - memset(&req_u, 0, sizeof(req_u)); - - if (po->rx_ring.pg_vec) + if (po->rx_ring.pg_vec) { + memset(&req_u, 0, sizeof(req_u)); packet_set_ring(sk, &req_u, 1, 0); + } - if (po->tx_ring.pg_vec) + if (po->tx_ring.pg_vec) { + memset(&req_u, 0, sizeof(req_u)); packet_set_ring(sk, &req_u, 1, 1); + } fanout_release(sk); @@ -2852,12 +2854,11 @@ return -EOPNOTSUPP; uaddr->sa_family = AF_PACKET; + memset(uaddr->sa_data, 0, sizeof(uaddr->sa_data)); rcu_read_lock(); dev = dev_get_by_index_rcu(sock_net(sk), pkt_sk(sk)->ifindex); if (dev) - strncpy(uaddr->sa_data, dev->name, 14); - else - memset(uaddr->sa_data, 0, 14); + strlcpy(uaddr->sa_data, dev->name, sizeof(uaddr->sa_data)); rcu_read_unlock(); *uaddr_len = sizeof(*uaddr); --- linux-lts-quantal-3.5.0.orig/net/bluetooth/af_bluetooth.c +++ linux-lts-quantal-3.5.0/net/bluetooth/af_bluetooth.c @@ -240,6 +240,8 @@ if (flags & (MSG_OOB)) return -EOPNOTSUPP; + msg->msg_namelen = 0; + skb = skb_recv_datagram(sk, flags, noblock, &err); if (!skb) { if (sk->sk_shutdown & RCV_SHUTDOWN) @@ -247,8 +249,6 @@ return err; } - msg->msg_namelen = 0; - copied = skb->len; if (len < copied) { msg->msg_flags |= MSG_TRUNC; --- linux-lts-quantal-3.5.0.orig/net/bluetooth/smp.c +++ linux-lts-quantal-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; @@ -853,6 +855,19 @@ skb_pull(skb, sizeof(code)); + /* + * The SMP context must be initialized for all other PDUs except + * pairing and security requests. If we get any other PDU when + * not initialized simply disconnect (done if this function + * returns an error). + */ + if (code != SMP_CMD_PAIRING_REQ && code != SMP_CMD_SECURITY_REQ && + !conn->smp_chan) { + BT_ERR("Unexpected SMP command 0x%02x. Disconnecting.", code); + kfree_skb(skb); + return -ENOTSUPP; + } + switch (code) { case SMP_CMD_PAIRING_REQ: reason = smp_cmd_pairing_req(conn, skb); --- linux-lts-quantal-3.5.0.orig/net/bluetooth/hci_event.c +++ linux-lts-quantal-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; @@ -2377,7 +2393,7 @@ if (ev->opcode != HCI_OP_NOP) del_timer(&hdev->cmd_timer); - if (ev->ncmd) { + if (ev->ncmd && !test_bit(HCI_RESET, &hdev->flags)) { atomic_set(&hdev->cmd_cnt, 1); if (!skb_queue_empty(&hdev->cmd_q)) queue_work(hdev->workqueue, &hdev->cmd_work); @@ -3436,7 +3452,11 @@ cp.handle = cpu_to_le16(conn->handle); if (ltk->authenticated) - conn->sec_level = BT_SECURITY_HIGH; + conn->pending_sec_level = BT_SECURITY_HIGH; + else + conn->pending_sec_level = BT_SECURITY_MEDIUM; + + conn->enc_key_size = ltk->enc_size; hci_send_cmd(hdev, HCI_OP_LE_LTK_REPLY, sizeof(cp), &cp); --- linux-lts-quantal-3.5.0.orig/net/bluetooth/hci_sock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/bluetooth/hci_core.c +++ linux-lts-quantal-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); @@ -1095,11 +1099,15 @@ static void hci_power_on(struct work_struct *work) { struct hci_dev *hdev = container_of(work, struct hci_dev, power_on); + int err; BT_DBG("%s", hdev->name); - if (hci_dev_open(hdev->id) < 0) + err = hci_dev_open(hdev->id); + if (err < 0) { + mgmt_set_powered_failed(hdev, err); return; + } if (test_bit(HCI_AUTO_OFF, &hdev->dev_flags)) schedule_delayed_work(&hdev->power_off, @@ -1798,6 +1806,8 @@ for (i = 0; i < NUM_REASSEMBLY; i++) kfree_skb(hdev->reassembly[i]); + cancel_work_sync(&hdev->power_on); + if (!test_bit(HCI_INIT, &hdev->flags) && !test_bit(HCI_SETUP, &hdev->dev_flags)) { hci_dev_lock(hdev); @@ -2124,6 +2134,7 @@ return 0; } +EXPORT_SYMBOL(hci_send_cmd); /* Get data from the previously sent command */ void *hci_sent_cmd_data(struct hci_dev *hdev, __u16 opcode) --- linux-lts-quantal-3.5.0.orig/net/bluetooth/l2cap_sock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/bluetooth/l2cap_core.c +++ linux-lts-quantal-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) { @@ -2189,6 +2191,9 @@ BT_DBG("conn %p, code 0x%2.2x, ident 0x%2.2x, len %d", conn, code, ident, dlen); + if (conn->mtu < L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE) + return NULL; + len = L2CAP_HDR_SIZE + L2CAP_CMD_HDR_SIZE + dlen; count = min_t(unsigned int, conn->mtu, len); --- linux-lts-quantal-3.5.0.orig/net/bluetooth/sco.c +++ linux-lts-quantal-3.5.0/net/bluetooth/sco.c @@ -378,6 +378,7 @@ sco_chan_del(sk, ECONNRESET); break; + case BT_CONNECT2: case BT_CONNECT: case BT_DISCONN: sco_chan_del(sk, ECONNRESET); --- linux-lts-quantal-3.5.0.orig/net/bluetooth/mgmt.c +++ linux-lts-quantal-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); @@ -2894,6 +2911,27 @@ return err; } + +int mgmt_set_powered_failed(struct hci_dev *hdev, int err) +{ + struct pending_cmd *cmd; + u8 status; + + cmd = mgmt_pending_find(MGMT_OP_SET_POWERED, hdev); + if (!cmd) + return -ENOENT; + + if (err == -ERFKILL) + status = MGMT_STATUS_RFKILLED; + else + status = MGMT_STATUS_FAILED; + + err = cmd_status(cmd->sk, hdev->id, MGMT_OP_SET_POWERED, status); + + mgmt_pending_remove(cmd); + + return err; +} int mgmt_discoverable(struct hci_dev *hdev, u8 discoverable) { --- linux-lts-quantal-3.5.0.orig/net/bluetooth/hci_conn.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/bluetooth/hidp/core.c +++ linux-lts-quantal-3.5.0/net/bluetooth/hidp/core.c @@ -949,7 +949,7 @@ hid->version = req->version; hid->country = req->country; - strncpy(hid->name, req->name, 128); + strncpy(hid->name, req->name, sizeof(req->name) - 1); strncpy(hid->phys, batostr(&bt_sk(session->ctrl_sock->sk)->src), 64); strncpy(hid->uniq, batostr(&bt_sk(session->ctrl_sock->sk)->dst), 64); --- linux-lts-quantal-3.5.0.orig/net/bluetooth/rfcomm/sock.c +++ linux-lts-quantal-3.5.0/net/bluetooth/rfcomm/sock.c @@ -486,7 +486,7 @@ long timeo; int err = 0; - lock_sock(sk); + lock_sock_nested(sk, SINGLE_DEPTH_NESTING); if (sk->sk_type != SOCK_STREAM) { err = -EINVAL; @@ -523,7 +523,7 @@ release_sock(sk); timeo = schedule_timeout(timeo); - lock_sock(sk); + lock_sock_nested(sk, SINGLE_DEPTH_NESTING); } __set_current_state(TASK_RUNNING); remove_wait_queue(sk_sleep(sk), &wait); @@ -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) @@ -628,6 +629,7 @@ if (test_and_clear_bit(RFCOMM_DEFER_SETUP, &d->flags)) { rfcomm_dlc_accept(d); + msg->msg_namelen = 0; return 0; } @@ -841,6 +843,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-lts-quantal-3.5.0.orig/net/bluetooth/rfcomm/tty.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/dcb/dcbnl.c +++ linux-lts-quantal-3.5.0/net/dcb/dcbnl.c @@ -337,6 +337,7 @@ dcb->dcb_family = AF_UNSPEC; dcb->cmd = DCB_CMD_GPERM_HWADDR; + memset(perm_addr, 0, sizeof(perm_addr)); netdev->dcbnl_ops->getpermhwaddr(netdev, perm_addr); ret = nla_put(dcbnl_skb, DCB_ATTR_PERM_HWADDR, sizeof(perm_addr), @@ -1243,6 +1244,7 @@ if (ops->ieee_getets) { struct ieee_ets ets; + memset(&ets, 0, sizeof(ets)); err = ops->ieee_getets(netdev, &ets); if (!err && nla_put(skb, DCB_ATTR_IEEE_ETS, sizeof(ets), &ets)) @@ -1251,6 +1253,7 @@ if (ops->ieee_getmaxrate) { struct ieee_maxrate maxrate; + memset(&maxrate, 0, sizeof(maxrate)); err = ops->ieee_getmaxrate(netdev, &maxrate); if (!err) { err = nla_put(skb, DCB_ATTR_IEEE_MAXRATE, @@ -1262,6 +1265,7 @@ if (ops->ieee_getpfc) { struct ieee_pfc pfc; + memset(&pfc, 0, sizeof(pfc)); err = ops->ieee_getpfc(netdev, &pfc); if (!err && nla_put(skb, DCB_ATTR_IEEE_PFC, sizeof(pfc), &pfc)) @@ -1295,6 +1299,7 @@ /* get peer info if available */ if (ops->ieee_peer_getets) { struct ieee_ets ets; + memset(&ets, 0, sizeof(ets)); err = ops->ieee_peer_getets(netdev, &ets); if (!err && nla_put(skb, DCB_ATTR_IEEE_PEER_ETS, sizeof(ets), &ets)) @@ -1303,6 +1308,7 @@ if (ops->ieee_peer_getpfc) { struct ieee_pfc pfc; + memset(&pfc, 0, sizeof(pfc)); err = ops->ieee_peer_getpfc(netdev, &pfc); if (!err && nla_put(skb, DCB_ATTR_IEEE_PEER_PFC, sizeof(pfc), &pfc)) @@ -1487,6 +1493,7 @@ /* peer info if available */ if (ops->cee_peer_getpg) { struct cee_pg pg; + memset(&pg, 0, sizeof(pg)); err = ops->cee_peer_getpg(netdev, &pg); if (!err && nla_put(skb, DCB_ATTR_CEE_PEER_PG, sizeof(pg), &pg)) @@ -1495,6 +1502,7 @@ if (ops->cee_peer_getpfc) { struct cee_pfc pfc; + memset(&pfc, 0, sizeof(pfc)); err = ops->cee_peer_getpfc(netdev, &pfc); if (!err && nla_put(skb, DCB_ATTR_CEE_PEER_PFC, sizeof(pfc), &pfc)) --- linux-lts-quantal-3.5.0.orig/net/sctp/ipv6.c +++ linux-lts-quantal-3.5.0/net/sctp/ipv6.c @@ -205,45 +205,24 @@ in6_dev_put(idev); } -/* Based on tcp_v6_xmit() in tcp_ipv6.c. */ static int sctp_v6_xmit(struct sk_buff *skb, struct sctp_transport *transport) { struct sock *sk = skb->sk; struct ipv6_pinfo *np = inet6_sk(sk); - struct flowi6 fl6; - - memset(&fl6, 0, sizeof(fl6)); - - fl6.flowi6_proto = sk->sk_protocol; - - /* Fill in the dest address from the route entry passed with the skb - * and the source address from the transport. - */ - fl6.daddr = transport->ipaddr.v6.sin6_addr; - fl6.saddr = transport->saddr.v6.sin6_addr; - - fl6.flowlabel = np->flow_label; - IP6_ECN_flow_xmit(sk, fl6.flowlabel); - if (ipv6_addr_type(&fl6.saddr) & IPV6_ADDR_LINKLOCAL) - fl6.flowi6_oif = transport->saddr.v6.sin6_scope_id; - else - fl6.flowi6_oif = sk->sk_bound_dev_if; - - if (np->opt && np->opt->srcrt) { - struct rt0_hdr *rt0 = (struct rt0_hdr *) np->opt->srcrt; - fl6.daddr = *rt0->addr; - } + struct flowi6 *fl6 = &transport->fl.u.ip6; SCTP_DEBUG_PRINTK("%s: skb:%p, len:%d, src:%pI6 dst:%pI6\n", __func__, skb, skb->len, - &fl6.saddr, &fl6.daddr); + &fl6->saddr, &fl6->daddr); - SCTP_INC_STATS(SCTP_MIB_OUTSCTPPACKS); + IP6_ECN_flow_xmit(sk, fl6->flowlabel); if (!(transport->param_flags & SPP_PMTUD_ENABLE)) skb->local_df = 1; - return ip6_xmit(sk, skb, &fl6, np->opt, np->tclass); + SCTP_INC_STATS(SCTP_MIB_OUTSCTPPACKS); + + return ip6_xmit(sk, skb, fl6, np->opt, np->tclass); } /* Returns the dst cache entry for the given source and destination ip @@ -256,10 +235,12 @@ struct dst_entry *dst = NULL; struct flowi6 *fl6 = &fl->u.ip6; struct sctp_bind_addr *bp; + struct ipv6_pinfo *np = inet6_sk(sk); struct sctp_sockaddr_entry *laddr; union sctp_addr *baddr = NULL; union sctp_addr *daddr = &t->ipaddr; union sctp_addr dst_saddr; + struct in6_addr *final_p, final; __u8 matchlen = 0; __u8 bmatchlen; sctp_scope_t scope; @@ -282,7 +263,8 @@ SCTP_DEBUG_PRINTK("SRC=%pI6 - ", &fl6->saddr); } - dst = ip6_dst_lookup_flow(sk, fl6, NULL, false); + final_p = fl6_update_dst(fl6, np->opt, &final); + dst = ip6_dst_lookup_flow(sk, fl6, final_p, false); if (!asoc || saddr) goto out; @@ -333,10 +315,12 @@ } } rcu_read_unlock(); + if (baddr) { fl6->saddr = baddr->v6.sin6_addr; fl6->fl6_sport = baddr->v6.sin6_port; - dst = ip6_dst_lookup_flow(sk, fl6, NULL, false); + final_p = fl6_update_dst(fl6, np->opt, &final); + dst = ip6_dst_lookup_flow(sk, fl6, final_p, false); } out: --- linux-lts-quantal-3.5.0.orig/net/sctp/socket.c +++ linux-lts-quantal-3.5.0/net/sctp/socket.c @@ -814,6 +814,9 @@ goto skip_mkasconf; } + if (laddr == NULL) + return -EINVAL; + /* We do not need RCU protection throughout this loop * because this is done under a socket lock from the * setsockopt call. @@ -1908,8 +1911,8 @@ /* Break the message into multiple chunks of maximum size. */ datamsg = sctp_datamsg_from_user(asoc, sinfo, msg, msg_len); - if (!datamsg) { - err = -ENOMEM; + if (IS_ERR(datamsg)) { + err = PTR_ERR(datamsg); goto out_free; } @@ -3375,7 +3378,7 @@ ret = sctp_auth_set_key(sctp_sk(sk)->ep, asoc, authkey); out: - kfree(authkey); + kzfree(authkey); return ret; } @@ -3929,6 +3932,12 @@ /* Release our hold on the endpoint. */ sp = sctp_sk(sk); + /* This could happen during socket init, thus we bail out + * early, since the rest of the below is not setup either. + */ + if (sp->ep == NULL) + return; + if (sp->do_auto_asconf) { sp->do_auto_asconf = 0; list_del(&sp->auto_asconf_list); --- linux-lts-quantal-3.5.0.orig/net/sctp/auth.c +++ linux-lts-quantal-3.5.0/net/sctp/auth.c @@ -71,7 +71,7 @@ return; if (atomic_dec_and_test(&key->refcnt)) { - kfree(key); + kzfree(key); SCTP_DBG_OBJCNT_DEC(keys); } } --- linux-lts-quantal-3.5.0.orig/net/sctp/outqueue.c +++ linux-lts-quantal-3.5.0/net/sctp/outqueue.c @@ -205,6 +205,8 @@ */ void sctp_outq_init(struct sctp_association *asoc, struct sctp_outq *q) { + memset(q, 0, sizeof(struct sctp_outq)); + q->asoc = asoc; INIT_LIST_HEAD(&q->out_chunk_list); INIT_LIST_HEAD(&q->control_chunk_list); @@ -212,18 +214,12 @@ INIT_LIST_HEAD(&q->sacked); INIT_LIST_HEAD(&q->abandoned); - q->fast_rtx = 0; - q->outstanding_bytes = 0; q->empty = 1; - q->cork = 0; - - q->malloced = 0; - q->out_qlen = 0; } /* Free the outqueue structure and any related pending chunks. */ -void sctp_outq_teardown(struct sctp_outq *q) +static void __sctp_outq_teardown(struct sctp_outq *q) { struct sctp_transport *transport; struct list_head *lchunk, *temp; @@ -276,8 +272,6 @@ sctp_chunk_free(chunk); } - q->error = 0; - /* Throw away any leftover control chunks. */ list_for_each_entry_safe(chunk, tmp, &q->control_chunk_list, list) { list_del_init(&chunk->list); @@ -285,11 +279,17 @@ } } +void sctp_outq_teardown(struct sctp_outq *q) +{ + __sctp_outq_teardown(q); + sctp_outq_init(q->asoc, q); +} + /* Free the outqueue structure and any related pending chunks. */ void sctp_outq_free(struct sctp_outq *q) { /* Throw away leftover chunks. */ - sctp_outq_teardown(q); + __sctp_outq_teardown(q); /* If we were kmalloc()'d, free the memory. */ if (q->malloced) --- linux-lts-quantal-3.5.0.orig/net/sctp/sm_statefuns.c +++ linux-lts-quantal-3.5.0/net/sctp/sm_statefuns.c @@ -2042,7 +2042,7 @@ } /* Delete the tempory new association. */ - sctp_add_cmd_sf(commands, SCTP_CMD_NEW_ASOC, SCTP_ASOC(new_asoc)); + sctp_add_cmd_sf(commands, SCTP_CMD_SET_ASOC, SCTP_ASOC(new_asoc)); sctp_add_cmd_sf(commands, SCTP_CMD_DELETE_TCB, SCTP_NULL()); /* Restore association pointer to provide SCTP command interpeter --- linux-lts-quantal-3.5.0.orig/net/sctp/endpointola.c +++ linux-lts-quantal-3.5.0/net/sctp/endpointola.c @@ -248,6 +248,8 @@ /* Final destructor for endpoint. */ static void sctp_endpoint_destroy(struct sctp_endpoint *ep) { + int i; + SCTP_ASSERT(ep->base.dead, "Endpoint is not dead", return); /* Free up the HMAC transform. */ @@ -270,6 +272,9 @@ sctp_inq_free(&ep->base.inqueue); sctp_bind_addr_free(&ep->base.bind_addr); + for (i = 0; i < SCTP_HOW_MANY_SECRETS; ++i) + memset(&ep->secret_key[i], 0, SCTP_SECRET_SIZE); + /* Remove and free the port */ if (sctp_sk(ep->base.sk)->bind_hash) sctp_put_port(ep->base.sk); --- linux-lts-quantal-3.5.0.orig/net/sctp/chunk.c +++ linux-lts-quantal-3.5.0/net/sctp/chunk.c @@ -183,7 +183,7 @@ msg = sctp_datamsg_new(GFP_KERNEL); if (!msg) - return NULL; + return ERR_PTR(-ENOMEM); /* Note: Calculate this outside of the loop, so that all fragments * have the same expiration. @@ -280,11 +280,14 @@ chunk = sctp_make_datafrag_empty(asoc, sinfo, len, frag, 0); - if (!chunk) + if (!chunk) { + err = -ENOMEM; goto errout; + } + err = sctp_user_addto_chunk(chunk, offset, len, msgh->msg_iov); if (err < 0) - goto errout; + goto errout_chunk_free; offset += len; @@ -315,8 +318,10 @@ chunk = sctp_make_datafrag_empty(asoc, sinfo, over, frag, 0); - if (!chunk) + if (!chunk) { + err = -ENOMEM; goto errout; + } err = sctp_user_addto_chunk(chunk, offset, over,msgh->msg_iov); @@ -324,7 +329,7 @@ __skb_pull(chunk->skb, (__u8 *)chunk->chunk_hdr - (__u8 *)chunk->skb->data); if (err < 0) - goto errout; + goto errout_chunk_free; sctp_datamsg_assign(msg, chunk); list_add_tail(&chunk->frag_list, &msg->chunks); @@ -332,6 +337,9 @@ return msg; +errout_chunk_free: + sctp_chunk_free(chunk); + errout: list_for_each_safe(pos, temp, &msg->chunks) { list_del_init(pos); @@ -339,7 +347,7 @@ sctp_chunk_free(chunk); } sctp_datamsg_put(msg); - return NULL; + return ERR_PTR(err); } /* Check whether this message has expired. */ --- linux-lts-quantal-3.5.0.orig/net/sctp/associola.c +++ linux-lts-quantal-3.5.0/net/sctp/associola.c @@ -1051,7 +1051,7 @@ transports) { if (transport == active) - break; + continue; list_for_each_entry(chunk, &transport->transmitted, transmitted_list) { if (key == chunk->subh.data_hdr->tsn) { --- linux-lts-quantal-3.5.0.orig/net/sctp/output.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/8021q/vlan.c +++ linux-lts-quantal-3.5.0/net/8021q/vlan.c @@ -86,13 +86,6 @@ grp = &vlan_info->grp; - /* Take it out of our own structures, but be sure to interlock with - * HW accelerating devices or SW vlan input packet processing if - * VLAN is not 0 (leave it there for 802.1p). - */ - if (vlan_id) - vlan_vid_del(real_dev, vlan_id); - grp->nr_vlan_devs--; if (vlan->flags & VLAN_FLAG_GVRP) @@ -108,6 +101,13 @@ if (grp->nr_vlan_devs == 0) vlan_gvrp_uninit_applicant(real_dev); + /* Take it out of our own structures, but be sure to interlock with + * HW accelerating devices or SW vlan input packet processing if + * VLAN is not 0 (leave it there for 802.1p). + */ + if (vlan_id) + vlan_vid_del(real_dev, vlan_id); + /* Get rid of the vlan's reference to real_dev */ dev_put(real_dev); } --- linux-lts-quantal-3.5.0.orig/net/8021q/vlan_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/8021q/vlan_dev.c +++ linux-lts-quantal-3.5.0/net/8021q/vlan_dev.c @@ -73,6 +73,8 @@ { struct vlan_priority_tci_mapping *mp; + smp_rmb(); /* coupled with smp_wmb() in vlan_dev_set_egress_priority() */ + mp = vlan_dev_priv(dev)->egress_priority_map[(skb->priority & 0xF)]; while (mp) { if (mp->priority == skb->priority) { @@ -235,6 +237,11 @@ np->next = mp; np->priority = skb_prio; np->vlan_qos = vlan_qos; + /* Before inserting this element in hash table, make sure all its fields + * are committed to memory. + * coupled with smp_rmb() in vlan_dev_get_egress_qos_mask() + */ + smp_wmb(); vlan->egress_priority_map[skb_prio & 0xF] = np; if (vlan_qos) vlan->nr_egress_mappings++; @@ -598,7 +605,7 @@ netdev_features_t features) { struct net_device *real_dev = vlan_dev_priv(dev)->real_dev; - u32 old_features = features; + netdev_features_t old_features = features; features &= real_dev->vlan_features; features |= NETIF_F_RXCSUM; --- linux-lts-quantal-3.5.0.orig/net/ieee802154/6lowpan.h +++ linux-lts-quantal-3.5.0/net/ieee802154/6lowpan.h @@ -84,7 +84,7 @@ (memcmp(addr1, addr2, length >> 3) == 0) /* local link, i.e. FE80::/10 */ -#define is_addr_link_local(a) (((a)->s6_addr16[0]) == 0x80FE) +#define is_addr_link_local(a) (((a)->s6_addr16[0]) == htons(0xFE80)) /* * check whether we can compress the IID to 16 bits, --- linux-lts-quantal-3.5.0.orig/net/llc/af_llc.c +++ linux-lts-quantal-3.5.0/net/llc/af_llc.c @@ -720,6 +720,8 @@ int target; /* Read at least this many bytes */ long timeo; + msg->msg_namelen = 0; + lock_sock(sk); copied = -ENOTCONN; if (unlikely(sk->sk_type == SOCK_STREAM && sk->sk_state == TCP_LISTEN)) @@ -969,14 +971,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-lts-quantal-3.5.0.orig/net/ax25/af_ax25.c +++ linux-lts-quantal-3.5.0/net/ax25/af_ax25.c @@ -1647,6 +1647,7 @@ ax25_address src; const unsigned char *mac = skb_mac_header(skb); + memset(sax, 0, sizeof(struct full_sockaddr_ax25)); ax25_addr_parse(mac + 1, skb->data - mac - 1, &src, NULL, &digi, NULL, NULL); sax->sax25_family = AF_AX25; --- linux-lts-quantal-3.5.0.orig/net/openvswitch/vport-internal_dev.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/bridge/br_stp_timer.c +++ linux-lts-quantal-3.5.0/net/bridge/br_stp_timer.c @@ -107,7 +107,7 @@ br_debug(br, "tcn timer expired\n"); spin_lock(&br->lock); - if (br->dev->flags & IFF_UP) { + if (!br_is_root_bridge(br) && (br->dev->flags & IFF_UP)) { br_transmit_tcn(br); mod_timer(&br->tcn_timer,jiffies + br->bridge_hello_time); --- linux-lts-quantal-3.5.0.orig/net/bridge/br_stp_bpdu.c +++ linux-lts-quantal-3.5.0/net/bridge/br_stp_bpdu.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +41,7 @@ skb->dev = p->dev; skb->protocol = htons(ETH_P_802_2); + skb->priority = TC_PRIO_CONTROL; skb_reserve(skb, LLC_RESERVE); memcpy(__skb_put(skb, length), data, length); --- linux-lts-quantal-3.5.0.orig/net/bridge/br_private.h +++ linux-lts-quantal-3.5.0/net/bridge/br_private.h @@ -512,6 +512,7 @@ extern void br_init_port(struct net_bridge_port *p); extern void br_become_designated_port(struct net_bridge_port *p); +extern void __br_set_forward_delay(struct net_bridge *br, unsigned long t); extern int br_set_forward_delay(struct net_bridge *br, unsigned long x); extern int br_set_hello_time(struct net_bridge *br, unsigned long x); extern int br_set_max_age(struct net_bridge *br, unsigned long x); --- linux-lts-quantal-3.5.0.orig/net/bridge/br_stp.c +++ linux-lts-quantal-3.5.0/net/bridge/br_stp.c @@ -189,7 +189,7 @@ p->designated_age = jiffies - bpdu->message_age; mod_timer(&p->message_age_timer, jiffies - + (p->br->max_age - bpdu->message_age)); + + (bpdu->max_age - bpdu->message_age)); } /* called under bridge lock */ @@ -517,18 +517,27 @@ } +void __br_set_forward_delay(struct net_bridge *br, unsigned long t) +{ + br->bridge_forward_delay = t; + if (br_is_root_bridge(br)) + br->forward_delay = br->bridge_forward_delay; +} + int br_set_forward_delay(struct net_bridge *br, unsigned long val) { unsigned long t = clock_t_to_jiffies(val); + int err = -ERANGE; + spin_lock_bh(&br->lock); if (br->stp_enabled != BR_NO_STP && (t < BR_MIN_FORWARD_DELAY || t > BR_MAX_FORWARD_DELAY)) - return -ERANGE; + goto unlock; - spin_lock_bh(&br->lock); - br->bridge_forward_delay = t; - if (br_is_root_bridge(br)) - br->forward_delay = br->bridge_forward_delay; + __br_set_forward_delay(br, t); + err = 0; + +unlock: spin_unlock_bh(&br->lock); - return 0; + return err; } --- linux-lts-quantal-3.5.0.orig/net/bridge/br_netfilter.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/bridge/br_stp_if.c +++ linux-lts-quantal-3.5.0/net/bridge/br_stp_if.c @@ -129,6 +129,14 @@ char *envp[] = { NULL }; r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC); + + spin_lock_bh(&br->lock); + + if (br->bridge_forward_delay < BR_MIN_FORWARD_DELAY) + __br_set_forward_delay(br, BR_MIN_FORWARD_DELAY); + else if (br->bridge_forward_delay < BR_MAX_FORWARD_DELAY) + __br_set_forward_delay(br, BR_MAX_FORWARD_DELAY); + if (r == 0) { br->stp_enabled = BR_USER_STP; br_debug(br, "userspace STP started\n"); @@ -137,10 +145,10 @@ br_debug(br, "using kernel STP\n"); /* To start timers on any ports left in blocking */ - spin_lock_bh(&br->lock); br_port_state_selection(br); - spin_unlock_bh(&br->lock); } + + spin_unlock_bh(&br->lock); } static void br_stp_stop(struct net_bridge *br) --- linux-lts-quantal-3.5.0.orig/net/bridge/br_multicast.c +++ linux-lts-quantal-3.5.0/net/bridge/br_multicast.c @@ -469,8 +469,9 @@ skb_set_transport_header(skb, skb->len); mldq = (struct mld_msg *) icmp6_hdr(skb); - interval = ipv6_addr_any(group) ? br->multicast_last_member_interval : - br->multicast_query_response_interval; + interval = ipv6_addr_any(group) ? + br->multicast_query_response_interval : + br->multicast_last_member_interval; mldq->mld_type = ICMPV6_MGM_QUERY; mldq->mld_code = 0; @@ -1171,7 +1172,8 @@ mld2q = (struct mld2_query *)icmp6_hdr(skb); if (!mld2q->mld2q_nsrcs) group = &mld2q->mld2q_mca; - max_delay = mld2q->mld2q_mrc ? MLDV2_MRC(mld2q->mld2q_mrc) : 1; + + max_delay = max(msecs_to_jiffies(MLDV2_MRC(ntohs(mld2q->mld2q_mrc))), 1UL); } if (!group) --- linux-lts-quantal-3.5.0.orig/net/tipc/socket.c +++ linux-lts-quantal-3.5.0/net/tipc/socket.c @@ -802,6 +802,7 @@ if (addr) { addr->family = AF_TIPC; addr->addrtype = TIPC_ADDR_ID; + memset(&addr->addr, 0, sizeof(addr->addr)); addr->addr.id.ref = msg_origport(msg); addr->addr.id.node = msg_orignode(msg); addr->addr.name.domain = 0; /* could leave uninitialized */ @@ -916,6 +917,9 @@ goto exit; } + /* will be updated in set_orig_addr() if needed */ + m->msg_namelen = 0; + timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); restart: @@ -1032,6 +1036,9 @@ goto exit; } + /* will be updated in set_orig_addr() if needed */ + m->msg_namelen = 0; + target = sock_rcvlowat(sk, flags & MSG_WAITALL, buf_len); timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); --- linux-lts-quantal-3.5.0.orig/net/tipc/eth_media.c +++ linux-lts-quantal-3.5.0/net/tipc/eth_media.c @@ -46,12 +46,14 @@ * @bearer: ptr to associated "generic" bearer structure * @dev: ptr to associated Ethernet network device * @tipc_packet_type: used in binding TIPC to Ethernet driver + * @setup: work item used when enabling bearer * @cleanup: work item used when disabling bearer */ struct eth_bearer { struct tipc_bearer *bearer; struct net_device *dev; struct packet_type tipc_packet_type; + struct work_struct setup; struct work_struct cleanup; }; @@ -134,6 +136,17 @@ } /** + * setup_bearer - setup association between Ethernet bearer and interface + */ +static void setup_bearer(struct work_struct *work) +{ + struct eth_bearer *eb_ptr = + container_of(work, struct eth_bearer, setup); + + dev_add_pack(&eb_ptr->tipc_packet_type); +} + +/** * enable_bearer - attach TIPC bearer to an Ethernet interface */ static int enable_bearer(struct tipc_bearer *tb_ptr) @@ -173,7 +186,8 @@ eb_ptr->tipc_packet_type.func = recv_msg; eb_ptr->tipc_packet_type.af_packet_priv = eb_ptr; INIT_LIST_HEAD(&(eb_ptr->tipc_packet_type.list)); - dev_add_pack(&eb_ptr->tipc_packet_type); + INIT_WORK(&eb_ptr->setup, setup_bearer); + schedule_work(&eb_ptr->setup); /* Associate TIPC bearer with Ethernet bearer */ eb_ptr->bearer = tb_ptr; --- linux-lts-quantal-3.5.0.orig/net/x25/af_x25.c +++ linux-lts-quantal-3.5.0/net/x25/af_x25.c @@ -1586,11 +1586,11 @@ case SIOCX25CALLACCPTAPPRV: { rc = -EINVAL; lock_sock(sk); - if (sk->sk_state != TCP_CLOSE) - break; - clear_bit(X25_ACCPT_APPRV_FLAG, &x25->flags); + if (sk->sk_state == TCP_CLOSE) { + clear_bit(X25_ACCPT_APPRV_FLAG, &x25->flags); + rc = 0; + } release_sock(sk); - rc = 0; break; } @@ -1598,14 +1598,15 @@ rc = -EINVAL; lock_sock(sk); if (sk->sk_state != TCP_ESTABLISHED) - break; + goto out_sendcallaccpt_release; /* must call accptapprv above */ if (test_bit(X25_ACCPT_APPRV_FLAG, &x25->flags)) - break; + goto out_sendcallaccpt_release; x25_write_internal(sk, X25_CALL_ACCEPTED); x25->state = X25_STATE_3; - release_sock(sk); rc = 0; +out_sendcallaccpt_release: + release_sock(sk); break; } --- linux-lts-quantal-3.5.0.orig/net/rose/af_rose.c +++ linux-lts-quantal-3.5.0/net/rose/af_rose.c @@ -1257,6 +1257,7 @@ skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); if (srose != NULL) { + memset(srose, 0, msg->msg_namelen); srose->srose_family = AF_ROSE; srose->srose_addr = rose->dest_addr; srose->srose_call = rose->dest_call; --- linux-lts-quantal-3.5.0.orig/net/mac80211/driver-trace.h +++ linux-lts-quantal-3.5.0/net/mac80211/driver-trace.h @@ -306,7 +306,8 @@ __field(u8, dtimper) __field(u16, bcnint) __field(u16, assoc_cap) - __field(u64, timestamp) + __field(u64, sync_tsf) + __field(u32, sync_device_ts) __field(u32, basic_rates) __field(u32, changed) __field(bool, enable_beacon) @@ -325,7 +326,8 @@ __entry->dtimper = info->dtim_period; __entry->bcnint = info->beacon_int; __entry->assoc_cap = info->assoc_capability; - __entry->timestamp = info->last_tsf; + __entry->sync_tsf = info->sync_tsf; + __entry->sync_device_ts = info->sync_device_ts; __entry->basic_rates = info->basic_rates; __entry->enable_beacon = info->enable_beacon; __entry->ht_operation_mode = info->ht_operation_mode; --- linux-lts-quantal-3.5.0.orig/net/mac80211/ibss.c +++ linux-lts-quantal-3.5.0/net/mac80211/ibss.c @@ -665,8 +665,8 @@ printk(KERN_DEBUG "%s: No active IBSS STAs - trying to scan for other " "IBSS networks with same SSID (merge)\n", sdata->name); - ieee80211_request_internal_scan(sdata, - ifibss->ssid, ifibss->ssid_len, NULL); + ieee80211_request_ibss_scan(sdata, ifibss->ssid, ifibss->ssid_len, + NULL); } static void ieee80211_sta_create_ibss(struct ieee80211_sub_if_data *sdata) @@ -773,9 +773,8 @@ printk(KERN_DEBUG "%s: Trigger new scan to find an IBSS to " "join\n", sdata->name); - ieee80211_request_internal_scan(sdata, - ifibss->ssid, ifibss->ssid_len, - ifibss->fixed_channel ? ifibss->channel : NULL); + ieee80211_request_ibss_scan(sdata, ifibss->ssid, + ifibss->ssid_len, chan); } else { int interval = IEEE80211_SCAN_INTERVAL; @@ -1111,7 +1110,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 +1153,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 +1173,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-lts-quantal-3.5.0.orig/net/mac80211/wpa.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/mac80211/scan.c +++ linux-lts-quantal-3.5.0/net/mac80211/scan.c @@ -83,13 +83,14 @@ cbss = cfg80211_inform_bss_frame(local->hw.wiphy, channel, mgmt, len, signal, GFP_ATOMIC); - if (!cbss) return NULL; cbss->free_priv = ieee80211_rx_bss_free; bss = (void *)cbss->priv; + bss->device_ts = rx_status->device_timestamp; + if (elems->parse_error) { if (beacon) bss->corrupt_data |= IEEE80211_BSS_CORRUPT_BEACON; @@ -112,19 +113,6 @@ bss->valid_data |= IEEE80211_BSS_VALID_ERP; } - if (elems->tim && (!elems->parse_error || - !(bss->valid_data & IEEE80211_BSS_VALID_DTIM))) { - struct ieee80211_tim_ie *tim_ie = - (struct ieee80211_tim_ie *)elems->tim; - bss->dtim_period = tim_ie->dtim_period; - if (!elems->parse_error) - bss->valid_data |= IEEE80211_BSS_VALID_DTIM; - } - - /* If the beacon had no TIM IE, or it was invalid, use 1 */ - if (beacon && !bss->dtim_period) - bss->dtim_period = 1; - /* replace old supported rates if we get new values */ if (!elems->parse_error || !(bss->valid_data & IEEE80211_BSS_VALID_RATES)) { @@ -315,7 +303,7 @@ if (!was_hw_scan) { ieee80211_configure_filter(local); drv_sw_scan_complete(local); - ieee80211_offchannel_return(local, true); + ieee80211_offchannel_return(local); } ieee80211_recalc_idle(local); @@ -360,7 +348,7 @@ local->next_scan_state = SCAN_DECISION; local->scan_channel_idx = 0; - ieee80211_offchannel_stop_vifs(local, true); + ieee80211_offchannel_stop_vifs(local); ieee80211_configure_filter(local); @@ -679,12 +667,8 @@ local->scan_channel = NULL; ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_CHANNEL); - /* - * Re-enable vifs and beaconing. Leave PS - * in off-channel state..will put that back - * on-channel at the end of scanning. - */ - ieee80211_offchannel_return(local, false); + /* disable PS */ + ieee80211_offchannel_return(local); *next_delay = HZ / 5; /* afterwards, resume scan & go to next channel */ @@ -694,8 +678,7 @@ static void ieee80211_scan_state_resume(struct ieee80211_local *local, unsigned long *next_delay) { - /* PS already is in off-channel mode */ - ieee80211_offchannel_stop_vifs(local, false); + ieee80211_offchannel_stop_vifs(local); if (local->ops->flush) { drv_flush(local, false); @@ -817,9 +800,9 @@ return res; } -int ieee80211_request_internal_scan(struct ieee80211_sub_if_data *sdata, - const u8 *ssid, u8 ssid_len, - struct ieee80211_channel *chan) +int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata, + const u8 *ssid, u8 ssid_len, + struct ieee80211_channel *chan) { struct ieee80211_local *local = sdata->local; int ret = -EBUSY; @@ -833,22 +816,36 @@ /* fill internal scan request */ if (!chan) { - int i, nchan = 0; + int i, max_n; + int n_ch = 0; for (band = 0; band < IEEE80211_NUM_BANDS; band++) { if (!local->hw.wiphy->bands[band]) continue; - for (i = 0; - i < local->hw.wiphy->bands[band]->n_channels; - i++) { - local->int_scan_req->channels[nchan] = + + max_n = local->hw.wiphy->bands[band]->n_channels; + for (i = 0; i < max_n; i++) { + struct ieee80211_channel *tmp_ch = &local->hw.wiphy->bands[band]->channels[i]; - nchan++; + + if (tmp_ch->flags & (IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_DISABLED)) + continue; + + local->int_scan_req->channels[n_ch] = tmp_ch; + n_ch++; } } - local->int_scan_req->n_channels = nchan; + if (WARN_ON_ONCE(n_ch == 0)) + goto unlock; + + local->int_scan_req->n_channels = n_ch; } else { + if (WARN_ON_ONCE(chan->flags & (IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_DISABLED))) + goto unlock; + local->int_scan_req->channels[0] = chan; local->int_scan_req->n_channels = 1; } --- linux-lts-quantal-3.5.0.orig/net/mac80211/cfg.c +++ linux-lts-quantal-3.5.0/net/mac80211/cfg.c @@ -151,7 +151,17 @@ sta = sta_info_get(sdata, mac_addr); else sta = sta_info_get_bss(sdata, mac_addr); - if (!sta) { + /* + * The ASSOC test makes sure the driver is ready to + * receive the key. When wpa_supplicant has roamed + * using FT, it attempts to set the key before + * association has completed, this rejects that attempt + * so it will set the key again after assocation. + * + * TODO: accept the key if we have a station entry and + * add it to the device after the station. + */ + if (!sta || !test_sta_flag(sta, WLAN_STA_ASSOC)) { ieee80211_key_free(sdata->local, key); err = -ENOENT; goto out_unlock; @@ -551,6 +561,8 @@ if (sta->sdata->dev != dev) continue; + sinfo.filled = 0; + sta_set_sinfo(sta, &sinfo); i = 0; ADD_STA_STATS(sta); } --- linux-lts-quantal-3.5.0.orig/net/mac80211/util.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/mac80211/mesh.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/mac80211/sta_info.c +++ linux-lts-quantal-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); } /* @@ -664,6 +664,7 @@ struct ieee80211_sub_if_data *sdata; int ret, i, ac; struct tid_ampdu_tx *tid_tx; + bool have_key = false; might_sleep(); @@ -691,12 +692,19 @@ list_del_rcu(&sta->list); mutex_lock(&local->key_mtx); - for (i = 0; i < NUM_DEFAULT_KEYS; i++) + for (i = 0; i < NUM_DEFAULT_KEYS; i++) { __ieee80211_key_free(key_mtx_dereference(local, sta->gtk[i])); - if (sta->ptk) + have_key = true; + } + if (sta->ptk) { __ieee80211_key_free(key_mtx_dereference(local, sta->ptk)); + have_key = true; + } mutex_unlock(&local->key_mtx); + if (!have_key) + synchronize_net(); + sta->dead = true; local->num_sta--; @@ -738,8 +746,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 +782,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); } @@ -844,7 +852,7 @@ void sta_info_stop(struct ieee80211_local *local) { - del_timer(&local->sta_cleanup); + del_timer_sync(&local->sta_cleanup); sta_info_flush(local, NULL); } @@ -959,6 +967,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 +983,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-lts-quantal-3.5.0.orig/net/mac80211/work.c +++ linux-lts-quantal-3.5.0/net/mac80211/work.c @@ -150,7 +150,7 @@ } if (!started && !local->tmp_channel) { - ieee80211_offchannel_stop_vifs(local, true); + ieee80211_offchannel_stop_vifs(local); local->tmp_channel = wk->chan; local->tmp_channel_type = wk->chan_type; @@ -222,7 +222,7 @@ local->tmp_channel = NULL; ieee80211_hw_config(local, 0); - ieee80211_offchannel_return(local, true); + ieee80211_offchannel_return(local); /* give connection some time to breathe */ run_again(local, jiffies + HZ/2); --- linux-lts-quantal-3.5.0.orig/net/mac80211/rx.c +++ linux-lts-quantal-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 && @@ -826,8 +831,14 @@ struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(rx->skb); - /* Drop duplicate 802.11 retransmissions (IEEE 802.11 Chap. 9.2.9) */ - if (rx->sta && !is_multicast_ether_addr(hdr->addr1)) { + /* + * Drop duplicate 802.11 retransmissions + * (IEEE 802.11-2012: 9.3.2.10 "Duplicate detection and recovery") + */ + if (rx->skb->len >= 24 && rx->sta && + !ieee80211_is_ctl(hdr->frame_control) && + !ieee80211_is_qos_nullfunc(hdr->frame_control) && + !is_multicast_ether_addr(hdr->addr1)) { if (unlikely(ieee80211_has_retry(hdr->frame_control) && rx->sta->last_seq_ctrl[rx->seqno_idx] == hdr->seq_ctrl)) { @@ -869,14 +880,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 +1478,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 +1908,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 +1930,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 +1945,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 +1978,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 +2388,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 +2410,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) && @@ -2828,6 +2867,9 @@ * and location updates. Note that mac80211 * itself never looks at these frames. */ + if (!multicast && + !ether_addr_equal(sdata->vif.addr, hdr->addr1)) + return 0; if (!(status->rx_flags & IEEE80211_RX_IN_SCAN) && ieee80211_is_public_action(hdr, skb->len)) return 1; @@ -2921,10 +2963,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-lts-quantal-3.5.0.orig/net/mac80211/status.c +++ linux-lts-quantal-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) @@ -435,7 +435,11 @@ IEEE80211_BAR_CTRL_TID_INFO_MASK) >> IEEE80211_BAR_CTRL_TID_INFO_SHIFT; - ieee80211_set_bar_pending(sta, tid, ssn); + if (local->hw.flags & + IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL) + ieee80211_stop_tx_ba_session(&sta->sta, tid); + else + ieee80211_set_bar_pending(sta, tid, ssn); } } @@ -666,3 +670,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-lts-quantal-3.5.0.orig/net/mac80211/tx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/mac80211/mlme.c +++ linux-lts-quantal-3.5.0/net/mac80211/mlme.c @@ -994,12 +994,8 @@ if (beaconint_us > latency) { local->ps_sdata = NULL; } else { - struct ieee80211_bss *bss; int maxslp = 1; - u8 dtimper; - - bss = (void *)found->u.mgd.associated->priv; - dtimper = bss->dtim_period; + u8 dtimper = found->u.mgd.dtim_period; /* If the TIM IE is invalid, pretend the value is 1 */ if (!dtimper) @@ -1284,11 +1280,6 @@ struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; bss_info_changed |= BSS_CHANGED_ASSOC; - /* set timing information */ - bss_conf->beacon_int = cbss->beacon_interval; - bss_conf->last_tsf = cbss->tsf; - - bss_info_changed |= BSS_CHANGED_BEACON_INT; bss_info_changed |= ieee80211_handle_bss_capability(sdata, cbss->capability, bss->has_erp_value, bss->erp_value); @@ -1305,10 +1296,17 @@ ieee80211_led_assoc(local, 1); - if (local->hw.flags & IEEE80211_HW_NEED_DTIM_PERIOD) - bss_conf->dtim_period = bss->dtim_period; - else + if (local->hw.flags & IEEE80211_HW_NEED_DTIM_PERIOD) { + /* + * If the AP is buggy we may get here with no DTIM period + * known, so assume it's 1 which is the only safe assumption + * in that case, although if the TIM IE is broken powersave + * probably just won't work at all. + */ + bss_conf->dtim_period = sdata->u.mgd.dtim_period ?: 1; + } else { bss_conf->dtim_period = 0; + } bss_conf->assoc = 1; @@ -1441,6 +1439,8 @@ del_timer_sync(&sdata->u.mgd.bcn_mon_timer); del_timer_sync(&sdata->u.mgd.timer); del_timer_sync(&sdata->u.mgd.chswitch_timer); + + sdata->vif.bss_conf.dtim_period = 0; } void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, @@ -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); @@ -2205,11 +2205,18 @@ struct ieee80211_channel *channel; bool need_ps = false; - if (sdata->u.mgd.associated && - ether_addr_equal(mgmt->bssid, sdata->u.mgd.associated->bssid)) { - bss = (void *)sdata->u.mgd.associated->priv; + if ((sdata->u.mgd.associated && + ether_addr_equal(mgmt->bssid, sdata->u.mgd.associated->bssid)) || + (sdata->u.mgd.assoc_data && + ether_addr_equal(mgmt->bssid, + sdata->u.mgd.assoc_data->bss->bssid))) { /* not previously set so we may need to recalc */ - need_ps = !bss->dtim_period; + need_ps = sdata->u.mgd.associated && !sdata->u.mgd.dtim_period; + + if (elems->tim && !elems->parse_error) { + struct ieee80211_tim_ie *tim_ie = elems->tim; + sdata->u.mgd.dtim_period = tim_ie->dtim_period; + } } if (elems->ds_params && elems->ds_params_len == 1) @@ -3161,9 +3168,15 @@ memcpy(ifmgd->bssid, cbss->bssid, ETH_ALEN); - /* tell driver about BSSID and basic rates */ + /* set timing information */ + sdata->vif.bss_conf.beacon_int = cbss->beacon_interval; + sdata->vif.bss_conf.sync_tsf = cbss->tsf; + sdata->vif.bss_conf.sync_device_ts = bss->device_ts; + + /* tell driver about BSSID, basic rates and timing */ ieee80211_bss_info_change_notify(sdata, - BSS_CHANGED_BSSID | BSS_CHANGED_BASIC_RATES); + BSS_CHANGED_BSSID | BSS_CHANGED_BASIC_RATES | + BSS_CHANGED_BEACON_INT); if (assoc) sta_info_pre_move_state(sta, IEEE80211_STA_AUTH); @@ -3270,6 +3283,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); @@ -3411,20 +3426,39 @@ /* kick off associate process */ ifmgd->assoc_data = assoc_data; + ifmgd->dtim_period = 0; err = ieee80211_prep_connection(sdata, req->bss, true); if (err) goto err_clear; - if (!bss->dtim_period && - sdata->local->hw.flags & IEEE80211_HW_NEED_DTIM_PERIOD) { - /* - * Wait up to one beacon interval ... - * should this be more if we miss one? - */ - printk(KERN_DEBUG "%s: waiting for beacon from %pM\n", - sdata->name, ifmgd->bssid); - assoc_data->timeout = TU_TO_EXP_TIME(req->bss->beacon_interval); + if (sdata->local->hw.flags & IEEE80211_HW_NEED_DTIM_PERIOD) { + const u8 *beacon_ies = req->bss->beacon_ies; + size_t beacon_ies_len = req->bss->len_beacon_ies; + + if (!beacon_ies_len) { + /* + * Wait up to one beacon interval ... + * should this be more if we miss one? + */ + printk(KERN_DEBUG "%s: waiting for beacon from %pM\n", + sdata->name, ifmgd->bssid); + assoc_data->timeout = + TU_TO_EXP_TIME(req->bss->beacon_interval); + } else { + const u8 *tim_ie = cfg80211_find_ie(WLAN_EID_TIM, + beacon_ies, + beacon_ies_len); + if (tim_ie && tim_ie[1] >= + sizeof(struct ieee80211_tim_ie)) { + const struct ieee80211_tim_ie *tim; + tim = (void *)(tim_ie + 2); + ifmgd->dtim_period = tim->dtim_period; + } + assoc_data->have_beacon = true; + assoc_data->sent_assoc = false; + assoc_data->timeout = jiffies; + } } else { assoc_data->have_beacon = true; assoc_data->sent_assoc = false; @@ -3449,6 +3483,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 +3499,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 +3516,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-lts-quantal-3.5.0.orig/net/mac80211/iface.c +++ linux-lts-quantal-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); } } } @@ -1408,6 +1408,15 @@ ASSERT_RTNL(); + /* + * Close all AP_VLAN interfaces first, as otherwise they + * might be closed while the AP interface they belong to + * is closed, causing unregister_netdevice_many() to crash. + */ + list_for_each_entry(sdata, &local->interfaces, list) + if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) + dev_close(sdata->dev); + mutex_lock(&local->iflist_mtx); list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) { list_del(&sdata->list); --- linux-lts-quantal-3.5.0.orig/net/mac80211/ieee80211_i.h +++ linux-lts-quantal-3.5.0/net/mac80211/ieee80211_i.h @@ -81,7 +81,7 @@ size_t ssid_len; u8 ssid[IEEE80211_MAX_SSID_LEN]; - u8 dtim_period; + u32 device_ts; bool wmm_used; bool uapsd_supported; @@ -129,7 +129,6 @@ /** * enum ieee80211_valid_data_flags - BSS valid data flags - * @IEEE80211_BSS_VALID_DTIM: DTIM data was gathered from non-corrupt IE * @IEEE80211_BSS_VALID_WMM: WMM/UAPSD data was gathered from non-corrupt IE * @IEEE80211_BSS_VALID_RATES: Supported rates were gathered from non-corrupt IE * @IEEE80211_BSS_VALID_ERP: ERP flag was gathered from non-corrupt IE @@ -140,7 +139,6 @@ * beacon/probe response. */ enum ieee80211_bss_valid_data_flags { - IEEE80211_BSS_VALID_DTIM = BIT(0), IEEE80211_BSS_VALID_WMM = BIT(1), IEEE80211_BSS_VALID_RATES = BIT(2), IEEE80211_BSS_VALID_ERP = BIT(3) @@ -444,6 +442,7 @@ unsigned long timers_running; /* used for quiesce/restart */ bool powersave; /* powersave requested for this iface */ bool broken_ap; /* AP is broken -- turn off powersave */ + u8 dtim_period; enum ieee80211_smps_mode req_smps, /* requested smps mode */ ap_smps, /* smps mode AP thinks we're in */ driver_smps_mode; /* smps mode request */ @@ -1257,9 +1256,9 @@ /* scan/BSS handling */ void ieee80211_scan_work(struct work_struct *work); -int ieee80211_request_internal_scan(struct ieee80211_sub_if_data *sdata, - const u8 *ssid, u8 ssid_len, - struct ieee80211_channel *chan); +int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata, + const u8 *ssid, u8 ssid_len, + struct ieee80211_channel *chan); int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata, struct cfg80211_scan_request *req); void ieee80211_scan_cancel(struct ieee80211_local *local); @@ -1286,10 +1285,8 @@ void ieee80211_sched_scan_stopped_work(struct work_struct *work); /* off-channel helpers */ -void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local, - bool offchannel_ps_enable); -void ieee80211_offchannel_return(struct ieee80211_local *local, - bool offchannel_ps_disable); +void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local); +void ieee80211_offchannel_return(struct ieee80211_local *local); void ieee80211_hw_roc_setup(struct ieee80211_local *local); /* interface handling */ @@ -1319,6 +1316,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-lts-quantal-3.5.0.orig/net/mac80211/offchannel.c +++ linux-lts-quantal-3.5.0/net/mac80211/offchannel.c @@ -103,8 +103,7 @@ ieee80211_sta_reset_conn_monitor(sdata); } -void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local, - bool offchannel_ps_enable) +void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local) { struct ieee80211_sub_if_data *sdata; @@ -129,8 +128,7 @@ if (sdata->vif.type != NL80211_IFTYPE_MONITOR) { netif_tx_stop_all_queues(sdata->dev); - if (offchannel_ps_enable && - (sdata->vif.type == NL80211_IFTYPE_STATION) && + if (sdata->vif.type == NL80211_IFTYPE_STATION && sdata->u.mgd.associated) ieee80211_offchannel_ps_enable(sdata, true); } @@ -138,8 +136,7 @@ mutex_unlock(&local->iflist_mtx); } -void ieee80211_offchannel_return(struct ieee80211_local *local, - bool offchannel_ps_disable) +void ieee80211_offchannel_return(struct ieee80211_local *local) { struct ieee80211_sub_if_data *sdata; @@ -152,11 +149,9 @@ continue; /* Tell AP we're back */ - if (offchannel_ps_disable && - sdata->vif.type == NL80211_IFTYPE_STATION) { - if (sdata->u.mgd.associated) - ieee80211_offchannel_ps_disable(sdata); - } + if (sdata->vif.type == NL80211_IFTYPE_STATION && + sdata->u.mgd.associated) + ieee80211_offchannel_ps_disable(sdata); if (sdata->vif.type != NL80211_IFTYPE_MONITOR) { /* --- linux-lts-quantal-3.5.0.orig/net/ceph/auth_x.c +++ linux-lts-quantal-3.5.0/net/ceph/auth_x.c @@ -298,6 +298,7 @@ return -ENOMEM; } au->service = th->service; + au->secret_id = th->secret_id; msg_a = au->buf->vec.iov_base; msg_a->struct_v = 1; @@ -555,6 +556,26 @@ return 0; } +static int ceph_x_update_authorizer( + struct ceph_auth_client *ac, int peer_type, + struct ceph_auth_handshake *auth) +{ + struct ceph_x_authorizer *au; + struct ceph_x_ticket_handler *th; + + th = get_ticket_handler(ac, peer_type); + if (IS_ERR(th)) + return PTR_ERR(th); + + au = (struct ceph_x_authorizer *)auth->authorizer; + if (au->secret_id < th->secret_id) { + dout("ceph_x_update_authorizer service %u secret %llu < %llu\n", + au->service, au->secret_id, th->secret_id); + return ceph_x_build_authorizer(ac, th, au); + } + return 0; +} + static int ceph_x_verify_authorizer_reply(struct ceph_auth_client *ac, struct ceph_authorizer *a, size_t len) { @@ -630,7 +651,7 @@ th = get_ticket_handler(ac, peer_type); if (!IS_ERR(th)) - remove_ticket_handler(ac, th); + memset(&th->validity, 0, sizeof(th->validity)); } @@ -641,6 +662,7 @@ .build_request = ceph_x_build_request, .handle_reply = ceph_x_handle_reply, .create_authorizer = ceph_x_create_authorizer, + .update_authorizer = ceph_x_update_authorizer, .verify_authorizer_reply = ceph_x_verify_authorizer_reply, .destroy_authorizer = ceph_x_destroy_authorizer, .invalidate_authorizer = ceph_x_invalidate_authorizer, --- linux-lts-quantal-3.5.0.orig/net/ceph/auth.c +++ linux-lts-quantal-3.5.0/net/ceph/auth.c @@ -47,6 +47,7 @@ if (!ac) goto out; + mutex_init(&ac->mutex); ac->negotiating = true; if (name) ac->name = name; @@ -73,10 +74,12 @@ */ void ceph_auth_reset(struct ceph_auth_client *ac) { + mutex_lock(&ac->mutex); dout("auth_reset %p\n", ac); if (ac->ops && !ac->negotiating) ac->ops->reset(ac); ac->negotiating = true; + mutex_unlock(&ac->mutex); } int ceph_entity_name_encode(const char *name, void **p, void *end) @@ -102,6 +105,7 @@ int i, num; int ret; + mutex_lock(&ac->mutex); dout("auth_build_hello\n"); monhdr->have_version = 0; monhdr->session_mon = cpu_to_le16(-1); @@ -122,15 +126,19 @@ ret = ceph_entity_name_encode(ac->name, &p, end); if (ret < 0) - return ret; + goto out; ceph_decode_need(&p, end, sizeof(u64), bad); ceph_encode_64(&p, ac->global_id); ceph_encode_32(&lenp, p - lenp - sizeof(u32)); - return p - buf; + ret = p - buf; +out: + mutex_unlock(&ac->mutex); + return ret; bad: - return -ERANGE; + ret = -ERANGE; + goto out; } static int ceph_build_auth_request(struct ceph_auth_client *ac, @@ -151,11 +159,13 @@ if (ret < 0) { pr_err("error %d building auth method %s request\n", ret, ac->ops->name); - return ret; + goto out; } dout(" built request %d bytes\n", ret); ceph_encode_32(&p, ret); - return p + ret - msg_buf; + ret = p + ret - msg_buf; +out: + return ret; } /* @@ -176,6 +186,7 @@ int result_msg_len; int ret = -EINVAL; + mutex_lock(&ac->mutex); dout("handle_auth_reply %p %p\n", p, end); ceph_decode_need(&p, end, sizeof(u32) * 3 + sizeof(u64), bad); protocol = ceph_decode_32(&p); @@ -227,33 +238,103 @@ ret = ac->ops->handle_reply(ac, result, payload, payload_end); if (ret == -EAGAIN) { - return ceph_build_auth_request(ac, reply_buf, reply_len); + ret = ceph_build_auth_request(ac, reply_buf, reply_len); } else if (ret) { pr_err("auth method '%s' error %d\n", ac->ops->name, ret); - return ret; } - return 0; -bad: - pr_err("failed to decode auth msg\n"); out: + mutex_unlock(&ac->mutex); return ret; + +bad: + pr_err("failed to decode auth msg\n"); + ret = -EINVAL; + goto out; } int ceph_build_auth(struct ceph_auth_client *ac, void *msg_buf, size_t msg_len) { + int ret = 0; + + mutex_lock(&ac->mutex); if (!ac->protocol) - return ceph_auth_build_hello(ac, msg_buf, msg_len); - BUG_ON(!ac->ops); - if (ac->ops->should_authenticate(ac)) - return ceph_build_auth_request(ac, msg_buf, msg_len); - return 0; + ret = ceph_auth_build_hello(ac, msg_buf, msg_len); + else if (ac->ops->should_authenticate(ac)) + ret = ceph_build_auth_request(ac, msg_buf, msg_len); + mutex_unlock(&ac->mutex); + return ret; } int ceph_auth_is_authenticated(struct ceph_auth_client *ac) { - if (!ac->ops) - return 0; - return ac->ops->is_authenticated(ac); + int ret = 0; + + mutex_lock(&ac->mutex); + if (ac->ops) + ret = ac->ops->is_authenticated(ac); + mutex_unlock(&ac->mutex); + return ret; +} +EXPORT_SYMBOL(ceph_auth_is_authenticated); + +int ceph_auth_create_authorizer(struct ceph_auth_client *ac, + int peer_type, + struct ceph_auth_handshake *auth) +{ + int ret = 0; + + mutex_lock(&ac->mutex); + if (ac->ops && ac->ops->create_authorizer) + ret = ac->ops->create_authorizer(ac, peer_type, auth); + mutex_unlock(&ac->mutex); + return ret; +} +EXPORT_SYMBOL(ceph_auth_create_authorizer); + +void ceph_auth_destroy_authorizer(struct ceph_auth_client *ac, + struct ceph_authorizer *a) +{ + mutex_lock(&ac->mutex); + if (ac->ops && ac->ops->destroy_authorizer) + ac->ops->destroy_authorizer(ac, a); + mutex_unlock(&ac->mutex); +} +EXPORT_SYMBOL(ceph_auth_destroy_authorizer); + +int ceph_auth_update_authorizer(struct ceph_auth_client *ac, + int peer_type, + struct ceph_auth_handshake *a) +{ + int ret = 0; + + mutex_lock(&ac->mutex); + if (ac->ops && ac->ops->update_authorizer) + ret = ac->ops->update_authorizer(ac, peer_type, a); + mutex_unlock(&ac->mutex); + return ret; +} +EXPORT_SYMBOL(ceph_auth_update_authorizer); + +int ceph_auth_verify_authorizer_reply(struct ceph_auth_client *ac, + struct ceph_authorizer *a, size_t len) +{ + int ret = 0; + + mutex_lock(&ac->mutex); + if (ac->ops && ac->ops->verify_authorizer_reply) + ret = ac->ops->verify_authorizer_reply(ac, a, len); + mutex_unlock(&ac->mutex); + return ret; +} +EXPORT_SYMBOL(ceph_auth_verify_authorizer_reply); + +void ceph_auth_invalidate_authorizer(struct ceph_auth_client *ac, int peer_type) +{ + mutex_lock(&ac->mutex); + if (ac->ops && ac->ops->invalidate_authorizer) + ac->ops->invalidate_authorizer(ac, peer_type); + mutex_unlock(&ac->mutex); } +EXPORT_SYMBOL(ceph_auth_invalidate_authorizer); --- linux-lts-quantal-3.5.0.orig/net/ceph/crypto.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ceph/osdmap.c +++ linux-lts-quantal-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); @@ -1042,7 +1064,7 @@ /* pg_temp? */ t = ceph_stable_mod(ps, le32_to_cpu(pool->v.pg_num), - pool->pgp_num_mask); + pool->pg_num_mask); pgid.ps = cpu_to_le16(t); pg = __lookup_pg_mapping(&osdmap->pg_temp, pgid); if (pg) { --- linux-lts-quantal-3.5.0.orig/net/ceph/messenger.c +++ linux-lts-quantal-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) @@ -1406,8 +1548,7 @@ con->error_msg = "connect authorization failure"; 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 +1569,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 +1581,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 +1594,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 +1611,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 +1629,10 @@ fail_protocol(con); return -1; } - clear_bit(CONNECTING, &con->state); + + BUG_ON(con->state != CON_STATE_NEGOTIATING); + con->state = CON_STATE_OPEN; + con->auth_retry = 0; /* we authenticated; clear flag */ con->peer_global_seq = le32_to_cpu(con->in_reply.global_seq); con->connect_seq++; con->peer_features = server_feat; @@ -1501,7 +1644,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 +1732,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 +1775,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 +1811,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 +1861,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 +1878,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 +1892,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 +1913,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 +1923,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 +1977,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 +2001,6 @@ con->ops->dispatch(con, msg); mutex_lock(&con->mutex); - prepare_read_tag(con); } @@ -1870,22 +2012,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 +2071,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 +2081,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 +2106,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 +2155,8 @@ goto more; } + BUG_ON(con->state != CON_STATE_OPEN); + if (con->in_base_pos < 0) { /* * skipping + discarding content. @@ -2040,7 +2190,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 +2214,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 +2244,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 +2268,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 +2295,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 +2339,6 @@ return; fault: - mutex_unlock(&con->mutex); ceph_fault(con); /* error/fault path */ goto done_unlocked; } @@ -2183,26 +2349,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 +2382,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 +2409,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 +2431,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 +2451,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 +2476,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 +2502,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 +2516,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 +2551,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 +2582,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 +2594,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 +2617,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 +2714,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-lts-quantal-3.5.0.orig/net/ceph/ceph_common.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ceph/osd_client.c +++ linux-lts-quantal-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; @@ -667,8 +672,7 @@ if (atomic_dec_and_test(&osd->o_ref) && osd->o_auth.authorizer) { struct ceph_auth_client *ac = osd->o_osdc->client->monc.auth; - if (ac->ops && ac->ops->destroy_authorizer) - ac->ops->destroy_authorizer(ac, osd->o_auth.authorizer); + ceph_auth_destroy_authorizer(ac, osd->o_auth.authorizer); kfree(osd); } } @@ -752,7 +756,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 +858,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 +885,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 +895,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 +1005,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) { @@ -1293,7 +1300,7 @@ * Requeue requests whose mapping to an OSD has changed. If requests map to * no osd, request a new map. * - * Caller should hold map_sem for read and request_mutex. + * Caller should hold map_sem for read. */ static void kick_requests(struct ceph_osd_client *osdc, int force_resend) { @@ -1304,8 +1311,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 +1321,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); } } @@ -1337,9 +1358,10 @@ dout("kicking lingering %p tid %llu osd%d\n", req, req->r_tid, req->r_osd ? req->r_osd->o_osd : -1); - __unregister_linger_request(osdc, req); __register_request(osdc, req); + __unregister_linger_request(osdc, req); } + reset_changed_osds(osdc); mutex_unlock(&osdc->request_mutex); if (needmap) { @@ -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; @@ -1402,7 +1424,6 @@ osdc->osdmap = newmap; } kick_requests(osdc, 0); - reset_changed_osds(osdc); } else { dout("ignoring incremental map %u len %d\n", epoch, maplen); @@ -1724,6 +1745,8 @@ dout("osdc_start_request failed map, " " will retry %lld\n", req->r_tid); rc = 0; + } else { + __unregister_request(osdc, req); } goto out_unlock; } @@ -1839,11 +1862,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 +2049,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 +2104,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: @@ -2127,13 +2152,17 @@ struct ceph_auth_handshake *auth = &o->o_auth; if (force_new && auth->authorizer) { - if (ac->ops && ac->ops->destroy_authorizer) - ac->ops->destroy_authorizer(ac, auth->authorizer); + ceph_auth_destroy_authorizer(ac, auth->authorizer); auth->authorizer = NULL; } - if (!auth->authorizer && ac->ops && ac->ops->create_authorizer) { - int ret = ac->ops->create_authorizer(ac, CEPH_ENTITY_TYPE_OSD, - auth); + if (!auth->authorizer) { + int ret = ceph_auth_create_authorizer(ac, CEPH_ENTITY_TYPE_OSD, + auth); + if (ret) + return ERR_PTR(ret); + } else { + int ret = ceph_auth_update_authorizer(ac, CEPH_ENTITY_TYPE_OSD, + auth); if (ret) return ERR_PTR(ret); } @@ -2149,11 +2178,7 @@ struct ceph_osd_client *osdc = o->o_osdc; struct ceph_auth_client *ac = osdc->client->monc.auth; - /* - * XXX If ac->ops or ac->ops->verify_authorizer_reply is null, - * XXX which do we do: succeed or fail? - */ - return ac->ops->verify_authorizer_reply(ac, o->o_auth.authorizer, len); + return ceph_auth_verify_authorizer_reply(ac, o->o_auth.authorizer, len); } static int invalidate_authorizer(struct ceph_connection *con) @@ -2162,9 +2187,7 @@ struct ceph_osd_client *osdc = o->o_osdc; struct ceph_auth_client *ac = osdc->client->monc.auth; - if (ac->ops && ac->ops->invalidate_authorizer) - ac->ops->invalidate_authorizer(ac, CEPH_ENTITY_TYPE_OSD); - + ceph_auth_invalidate_authorizer(ac, CEPH_ENTITY_TYPE_OSD); return ceph_monc_validate_auth(&osdc->client->monc); } --- linux-lts-quantal-3.5.0.orig/net/ceph/msgpool.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ceph/debugfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ceph/mon_client.c +++ linux-lts-quantal-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,11 +733,11 @@ __close_session(monc); __open_session(monc); /* continue hunting */ } else { - ceph_con_keepalive(monc->con); + ceph_con_keepalive(&monc->con); __validate_auth(monc); - if (monc->auth->ops->is_authenticated(monc->auth)) + if (ceph_auth_is_authenticated(monc->auth)) __send_subscribe(monc); } __schedule_delayed(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,10 +889,11 @@ { int ret; int was_auth = 0; + int had_debugfs_info, init_debugfs = 0; mutex_lock(&monc->mutex); - if (monc->auth->ops) - was_auth = monc->auth->ops->is_authenticated(monc->auth); + had_debugfs_info = have_debugfs_info(monc); + was_auth = ceph_auth_is_authenticated(monc->auth); monc->pending_auth = 0; ret = ceph_handle_auth_reply(monc->auth, msg->front.iov_base, msg->front.iov_len, @@ -885,17 +904,32 @@ wake_up_all(&monc->client->auth_wq); } else if (ret > 0) { __send_prepared_auth_request(monc, ret); - } else if (!was_auth && monc->auth->ops->is_authenticated(monc->auth)) { + } else if (!was_auth && ceph_auth_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 +1034,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 +1065,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 +1080,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-lts-quantal-3.5.0.orig/net/ceph/auth_none.c +++ linux-lts-quantal-3.5.0/net/ceph/auth_none.c @@ -39,6 +39,11 @@ return xi->starting; } +static int build_request(struct ceph_auth_client *ac, void *buf, void *end) +{ + return 0; +} + /* * the generic auth code decode the global_id, and we carry no actual * authenticate state, so nothing happens here. @@ -106,6 +111,7 @@ .destroy = destroy, .is_authenticated = is_authenticated, .should_authenticate = should_authenticate, + .build_request = build_request, .handle_reply = handle_reply, .create_authorizer = ceph_auth_none_create_authorizer, .destroy_authorizer = ceph_auth_none_destroy_authorizer, --- linux-lts-quantal-3.5.0.orig/net/ceph/crypto.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ceph/auth_x.h +++ linux-lts-quantal-3.5.0/net/ceph/auth_x.h @@ -29,6 +29,7 @@ struct ceph_buffer *buf; unsigned int service; u64 nonce; + u64 secret_id; char reply_buf[128]; /* big enough for encrypted blob */ }; --- linux-lts-quantal-3.5.0.orig/net/netlabel/netlabel_domainhash.c +++ linux-lts-quantal-3.5.0/net/netlabel/netlabel_domainhash.c @@ -245,6 +245,71 @@ } } +/** + * netlbl_domhsh_validate - Validate a new domain mapping entry + * @entry: the entry to validate + * + * This function validates the new domain mapping entry to ensure that it is + * a valid entry. Returns zero on success, negative values on failure. + * + */ +static int netlbl_domhsh_validate(const struct netlbl_dom_map *entry) +{ + struct netlbl_af4list *iter4; + struct netlbl_domaddr4_map *map4; +#if IS_ENABLED(CONFIG_IPV6) + struct netlbl_af6list *iter6; + struct netlbl_domaddr6_map *map6; +#endif /* IPv6 */ + + if (entry == NULL) + return -EINVAL; + + switch (entry->type) { + case NETLBL_NLTYPE_UNLABELED: + if (entry->type_def.cipsov4 != NULL || + entry->type_def.addrsel != NULL) + return -EINVAL; + break; + case NETLBL_NLTYPE_CIPSOV4: + if (entry->type_def.cipsov4 == NULL) + return -EINVAL; + break; + case NETLBL_NLTYPE_ADDRSELECT: + netlbl_af4list_foreach(iter4, &entry->type_def.addrsel->list4) { + map4 = netlbl_domhsh_addr4_entry(iter4); + switch (map4->type) { + case NETLBL_NLTYPE_UNLABELED: + if (map4->type_def.cipsov4 != NULL) + return -EINVAL; + break; + case NETLBL_NLTYPE_CIPSOV4: + if (map4->type_def.cipsov4 == NULL) + return -EINVAL; + break; + default: + return -EINVAL; + } + } +#if IS_ENABLED(CONFIG_IPV6) + netlbl_af6list_foreach(iter6, &entry->type_def.addrsel->list6) { + map6 = netlbl_domhsh_addr6_entry(iter6); + switch (map6->type) { + case NETLBL_NLTYPE_UNLABELED: + break; + default: + return -EINVAL; + } + } +#endif /* IPv6 */ + break; + default: + return -EINVAL; + } + + return 0; +} + /* * Domain Hash Table Functions */ @@ -311,6 +376,10 @@ struct netlbl_af6list *tmp6; #endif /* IPv6 */ + ret_val = netlbl_domhsh_validate(entry); + if (ret_val != 0) + return ret_val; + /* XXX - we can remove this RCU read lock as the spinlock protects the * entire function, but before we do we need to fixup the * netlbl_af[4,6]list RCU functions to do "the right thing" with --- linux-lts-quantal-3.5.0.orig/net/netlabel/netlabel_unlabeled.c +++ linux-lts-quantal-3.5.0/net/netlabel/netlabel_unlabeled.c @@ -1189,8 +1189,6 @@ struct netlbl_unlhsh_walk_arg cb_arg; u32 skip_bkt = cb->args[0]; u32 skip_chain = cb->args[1]; - u32 skip_addr4 = cb->args[2]; - u32 skip_addr6 = cb->args[3]; u32 iter_bkt; u32 iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0; struct netlbl_unlhsh_iface *iface; @@ -1215,7 +1213,7 @@ continue; netlbl_af4list_foreach_rcu(addr4, &iface->addr4_list) { - if (iter_addr4++ < skip_addr4) + if (iter_addr4++ < cb->args[2]) continue; if (netlbl_unlabel_staticlist_gen( NLBL_UNLABEL_C_STATICLIST, @@ -1231,7 +1229,7 @@ #if IS_ENABLED(CONFIG_IPV6) netlbl_af6list_foreach_rcu(addr6, &iface->addr6_list) { - if (iter_addr6++ < skip_addr6) + if (iter_addr6++ < cb->args[3]) continue; if (netlbl_unlabel_staticlist_gen( NLBL_UNLABEL_C_STATICLIST, @@ -1250,10 +1248,10 @@ unlabel_staticlist_return: rcu_read_unlock(); - cb->args[0] = skip_bkt; - cb->args[1] = skip_chain; - cb->args[2] = skip_addr4; - cb->args[3] = skip_addr6; + cb->args[0] = iter_bkt; + cb->args[1] = iter_chain; + cb->args[2] = iter_addr4; + cb->args[3] = iter_addr6; return skb->len; } @@ -1273,12 +1271,9 @@ { struct netlbl_unlhsh_walk_arg cb_arg; struct netlbl_unlhsh_iface *iface; - u32 skip_addr4 = cb->args[0]; - u32 skip_addr6 = cb->args[1]; - u32 iter_addr4 = 0; + u32 iter_addr4 = 0, iter_addr6 = 0; struct netlbl_af4list *addr4; #if IS_ENABLED(CONFIG_IPV6) - u32 iter_addr6 = 0; struct netlbl_af6list *addr6; #endif @@ -1292,7 +1287,7 @@ goto unlabel_staticlistdef_return; netlbl_af4list_foreach_rcu(addr4, &iface->addr4_list) { - if (iter_addr4++ < skip_addr4) + if (iter_addr4++ < cb->args[0]) continue; if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF, iface, @@ -1305,7 +1300,7 @@ } #if IS_ENABLED(CONFIG_IPV6) netlbl_af6list_foreach_rcu(addr6, &iface->addr6_list) { - if (iter_addr6++ < skip_addr6) + if (iter_addr6++ < cb->args[1]) continue; if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF, iface, @@ -1320,8 +1315,8 @@ unlabel_staticlistdef_return: rcu_read_unlock(); - cb->args[0] = skip_addr4; - cb->args[1] = skip_addr6; + cb->args[0] = iter_addr4; + cb->args[1] = iter_addr6; return skb->len; } --- linux-lts-quantal-3.5.0.orig/net/iucv/af_iucv.c +++ linux-lts-quantal-3.5.0/net/iucv/af_iucv.c @@ -1331,6 +1331,8 @@ struct sk_buff *skb, *rskb, *cskb; int err = 0; + msg->msg_namelen = 0; + if ((sk->sk_state == IUCV_DISCONN) && skb_queue_empty(&iucv->backlog_skb_q) && skb_queue_empty(&sk->sk_receive_queue) && --- linux-lts-quantal-3.5.0.orig/net/rds/ib_send.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/rds/recv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/rds/message.c +++ linux-lts-quantal-3.5.0/net/rds/message.c @@ -197,6 +197,9 @@ { struct rds_message *rm; + if (extra_len > KMALLOC_MAX_SIZE - sizeof(struct rds_message)) + return NULL; + rm = kzalloc(sizeof(struct rds_message) + extra_len, gfp); if (!rm) goto out; --- linux-lts-quantal-3.5.0.orig/net/rds/send.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv6/udp_impl.h +++ linux-lts-quantal-3.5.0/net/ipv6/udp_impl.h @@ -31,6 +31,8 @@ extern int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb); extern void udpv6_destroy_sock(struct sock *sk); +extern void udp_v6_clear_sk(struct sock *sk, int size); + #ifdef CONFIG_PROC_FS extern int udp6_seq_show(struct seq_file *seq, void *v); #endif --- linux-lts-quantal-3.5.0.orig/net/ipv6/reassembly.c +++ linux-lts-quantal-3.5.0/net/ipv6/reassembly.c @@ -26,6 +26,9 @@ * YOSHIFUJI,H. @USAGI Always remove fragment header to * calculate ICV correctly. */ + +#define pr_fmt(fmt) "IPv6: " fmt + #include #include #include @@ -241,9 +244,10 @@ hash = inet6_hash_frag(id, src, dst, ip6_frags.rnd); q = inet_frag_find(&net->ipv6.frags, &ip6_frags, &arg, hash); - if (q == NULL) + if (IS_ERR_OR_NULL(q)) { + inet_frag_maybe_warn_overflow(q, pr_fmt()); return NULL; - + } return container_of(q, struct frag_queue, q); } @@ -382,8 +386,17 @@ } if (fq->q.last_in == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) && - fq->q.meat == fq->q.len) - return ip6_frag_reasm(fq, prev, dev); + fq->q.meat == fq->q.len) { + int res; + unsigned long orefdst = skb->_skb_refdst; + + skb->_skb_refdst = 0UL; + res = ip6_frag_reasm(fq, prev, dev); + skb->_skb_refdst = orefdst; + return res; + } + + skb_dst_drop(skb); write_lock(&ip6_frags.lock); list_move_tail(&fq->q.lru_list, &fq->q.net->lru_list); @@ -518,6 +531,7 @@ head->tstamp = fq->q.stamp; ipv6_hdr(head)->payload_len = htons(payload_len); IP6CB(head)->nhoff = nhoff; + IP6CB(head)->flags |= IP6SKB_FRAGMENTED; /* Yes, and fold redundant checksum back. 8) */ if (head->ip_summed == CHECKSUM_COMPLETE) @@ -551,6 +565,9 @@ const struct ipv6hdr *hdr = ipv6_hdr(skb); struct net *net = dev_net(skb_dst(skb)->dev); + if (IP6CB(skb)->flags & IP6SKB_FRAGMENTED) + goto fail_hdr; + IP6_INC_STATS_BH(net, ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_REASMREQDS); /* Jumbo payload inhibits frag. header */ @@ -571,6 +588,7 @@ ip6_dst_idev(skb_dst(skb)), IPSTATS_MIB_REASMOKS); IP6CB(skb)->nhoff = (u8 *)fhdr - skb_network_header(skb); + IP6CB(skb)->flags |= IP6SKB_FRAGMENTED; return 1; } --- linux-lts-quantal-3.5.0.orig/net/ipv6/ip6_output.c +++ linux-lts-quantal-3.5.0/net/ipv6/ip6_output.c @@ -919,11 +919,17 @@ const struct flowi6 *fl6) { struct ipv6_pinfo *np = inet6_sk(sk); - struct rt6_info *rt = (struct rt6_info *)dst; + struct rt6_info *rt; if (!dst) goto out; + if (dst->ops->family != AF_INET6) { + dst_release(dst); + return NULL; + } + + rt = (struct rt6_info *)dst; /* Yes, checking route validity in not connected * case is not very simple. Take into account, * that we do not support routing by source, TOS, @@ -1129,6 +1135,8 @@ * udp datagram */ if ((skb = skb_peek_tail(&sk->sk_write_queue)) == NULL) { + struct frag_hdr fhdr; + skb = sock_alloc_send_skb(sk, hh_len + fragheaderlen + transhdrlen + 20, (flags & MSG_DONTWAIT), &err); @@ -1149,12 +1157,6 @@ skb->ip_summed = CHECKSUM_PARTIAL; skb->csum = 0; - } - - err = skb_append_datato_frags(sk,skb, getfrag, from, - (length - transhdrlen)); - if (!err) { - struct frag_hdr fhdr; /* Specify the length of each IPv6 datagram fragment. * It has to be a multiple of 8. @@ -1165,15 +1167,10 @@ ipv6_select_ident(&fhdr, rt); skb_shinfo(skb)->ip6_frag_id = fhdr.identification; __skb_queue_tail(&sk->sk_write_queue, skb); - - return 0; } - /* There is not enough support do UPD LSO, - * so follow normal path - */ - kfree_skb(skb); - return err; + return skb_append_datato_frags(sk, skb, getfrag, from, + (length - transhdrlen)); } static inline struct ipv6_opt_hdr *ip6_opt_dup(struct ipv6_opt_hdr *src, @@ -1188,11 +1185,12 @@ return src ? kmemdup(src, (src->hdrlen + 1) * 8, gfp) : NULL; } -static void ip6_append_data_mtu(int *mtu, +static void ip6_append_data_mtu(unsigned int *mtu, int *maxfraglen, unsigned int fragheaderlen, struct sk_buff *skb, - struct rt6_info *rt) + struct rt6_info *rt, + bool pmtuprobe) { if (!(rt->dst.flags & DST_XFRM_TUNNEL)) { if (skb == NULL) { @@ -1204,7 +1202,9 @@ * this fragment is not first, the headers * space is regarded as data space. */ - *mtu = dst_mtu(rt->dst.path); + *mtu = min(*mtu, pmtuprobe ? + rt->dst.dev->mtu : + dst_mtu(rt->dst.path)); } *maxfraglen = ((*mtu - fragheaderlen) & ~7) + fragheaderlen - sizeof(struct frag_hdr); @@ -1221,11 +1221,10 @@ struct ipv6_pinfo *np = inet6_sk(sk); struct inet_cork *cork; struct sk_buff *skb, *skb_prev = NULL; - unsigned int maxfraglen, fragheaderlen; + unsigned int maxfraglen, fragheaderlen, mtu; int exthdrlen; int dst_exthdrlen; int hh_len; - int mtu; int copy; int err; int offset = 0; @@ -1242,7 +1241,7 @@ if (WARN_ON(np->cork.opt)) return -EINVAL; - np->cork.opt = kmalloc(opt->tot_len, sk->sk_allocation); + np->cork.opt = kzalloc(opt->tot_len, sk->sk_allocation); if (unlikely(np->cork.opt == NULL)) return -ENOBUFS; @@ -1293,10 +1292,10 @@ cork->length = 0; sk->sk_sndmsg_page = NULL; sk->sk_sndmsg_off = 0; - exthdrlen = (opt ? opt->opt_flen : 0) - rt->rt6i_nfheader_len; + exthdrlen = (opt ? opt->opt_flen : 0); length += exthdrlen; transhdrlen += exthdrlen; - dst_exthdrlen = rt->dst.header_len; + dst_exthdrlen = rt->dst.header_len - rt->rt6i_nfheader_len; } else { rt = (struct rt6_info *)cork->dst; fl6 = &inet->cork.fl.u.ip6; @@ -1343,27 +1342,27 @@ * --yoshfuji */ - cork->length += length; - if (length > mtu) { - int proto = sk->sk_protocol; - if (dontfrag && (proto == IPPROTO_UDP || proto == IPPROTO_RAW)){ - ipv6_local_rxpmtu(sk, fl6, mtu-exthdrlen); - return -EMSGSIZE; - } - - if (proto == IPPROTO_UDP && - (rt->dst.dev->features & NETIF_F_UFO)) { + if ((length > mtu) && dontfrag && (sk->sk_protocol == IPPROTO_UDP || + sk->sk_protocol == IPPROTO_RAW)) { + ipv6_local_rxpmtu(sk, fl6, mtu-exthdrlen); + return -EMSGSIZE; + } - err = ip6_ufo_append_data(sk, getfrag, from, length, - hh_len, fragheaderlen, - transhdrlen, mtu, flags, rt); - if (err) - goto error; - return 0; - } + skb = skb_peek_tail(&sk->sk_write_queue); + cork->length += length; + if (((length > mtu) || + (skb && skb_is_gso(skb))) && + (sk->sk_protocol == IPPROTO_UDP) && + (rt->dst.dev->features & NETIF_F_UFO)) { + err = ip6_ufo_append_data(sk, getfrag, from, length, + hh_len, fragheaderlen, + transhdrlen, mtu, flags, rt); + if (err) + goto error; + return 0; } - if ((skb = skb_peek_tail(&sk->sk_write_queue)) == NULL) + if (!skb) goto alloc_new_skb; while (length > 0) { @@ -1387,7 +1386,9 @@ /* update mtu and maxfraglen if necessary */ if (skb == NULL || skb_prev == NULL) ip6_append_data_mtu(&mtu, &maxfraglen, - fragheaderlen, skb, rt); + fragheaderlen, skb, rt, + np->pmtudisc == + IPV6_PMTUDISC_PROBE); skb_prev = skb; --- linux-lts-quantal-3.5.0.orig/net/ipv6/ip6mr.c +++ linux-lts-quantal-3.5.0/net/ipv6/ip6mr.c @@ -256,10 +256,12 @@ { struct mr6_table *mrt, *next; + rtnl_lock(); list_for_each_entry_safe(mrt, next, &net->ipv6.mr6_tables, list) { list_del(&mrt->list); ip6mr_free_table(mrt); } + rtnl_unlock(); fib_rules_unregister(net->ipv6.mr6_rules_ops); } #else @@ -286,7 +288,10 @@ static void __net_exit ip6mr_rules_exit(struct net *net) { + rtnl_lock(); ip6mr_free_table(net->ipv6.mrt6); + net->ipv6.mrt6 = NULL; + rtnl_unlock(); } #endif --- linux-lts-quantal-3.5.0.orig/net/ipv6/icmp.c +++ linux-lts-quantal-3.5.0/net/ipv6/icmp.c @@ -917,6 +917,14 @@ .err = ECONNREFUSED, .fatal = 1, }, + { /* POLICY_FAIL */ + .err = EACCES, + .fatal = 1, + }, + { /* REJECT_ROUTE */ + .err = EACCES, + .fatal = 1, + }, }; int icmpv6_err_convert(u8 type, u8 code, int *err) @@ -928,7 +936,7 @@ switch (type) { case ICMPV6_DEST_UNREACH: fatal = 1; - if (code <= ICMPV6_PORT_UNREACH) { + if (code < ARRAY_SIZE(tab_unreach)) { *err = tab_unreach[code].err; fatal = tab_unreach[code].fatal; } --- linux-lts-quantal-3.5.0.orig/net/ipv6/ip6_fib.c +++ linux-lts-quantal-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 @@ -945,14 +949,22 @@ if (ipv6_prefix_equal(&key->addr, args->addr, key->plen)) { #ifdef CONFIG_IPV6_SUBTREES - if (fn->subtree) - fn = fib6_lookup_1(fn->subtree, args + 1); + if (fn->subtree) { + struct fib6_node *sfn; + sfn = fib6_lookup_1(fn->subtree, + args + 1); + if (!sfn) + goto backtrack; + fn = sfn; + } #endif - if (!fn || fn->fn_flags & RTN_RTINFO) + if (fn->fn_flags & RTN_RTINFO) return fn; } } - +#ifdef CONFIG_IPV6_SUBTREES +backtrack: +#endif if (fn->fn_flags & RTN_ROOT) break; --- linux-lts-quantal-3.5.0.orig/net/ipv6/mcast.c +++ linux-lts-quantal-3.5.0/net/ipv6/mcast.c @@ -1334,8 +1334,9 @@ return scount; } -static struct sk_buff *mld_newpack(struct net_device *dev, int size) +static struct sk_buff *mld_newpack(struct inet6_dev *idev, int size) { + struct net_device *dev = idev->dev; struct net *net = dev_net(dev); struct sock *sk = net->ipv6.igmp_sk; struct sk_buff *skb; @@ -1360,7 +1361,7 @@ skb_reserve(skb, hlen); - if (ipv6_get_lladdr(dev, &addr_buf, IFA_F_TENTATIVE)) { + if (__ipv6_get_lladdr(idev, &addr_buf, IFA_F_TENTATIVE)) { /* : * use unspecified address as the source address * when a valid link-local address is not available. @@ -1456,7 +1457,7 @@ struct mld2_grec *pgr; if (!skb) - skb = mld_newpack(dev, dev->mtu); + skb = mld_newpack(pmc->idev, dev->mtu); if (!skb) return NULL; pgr = (struct mld2_grec *)skb_put(skb, sizeof(struct mld2_grec)); @@ -1476,7 +1477,8 @@ static struct sk_buff *add_grec(struct sk_buff *skb, struct ifmcaddr6 *pmc, int type, int gdeleted, int sdeleted) { - struct net_device *dev = pmc->idev->dev; + struct inet6_dev *idev = pmc->idev; + struct net_device *dev = idev->dev; struct mld2_report *pmr; struct mld2_grec *pgr = NULL; struct ip6_sf_list *psf, *psf_next, *psf_prev, **psf_list; @@ -1505,7 +1507,7 @@ AVAILABLE(skb) < grec_size(pmc, type, gdeleted, sdeleted)) { if (skb) mld_sendpack(skb); - skb = mld_newpack(dev, dev->mtu); + skb = mld_newpack(idev, dev->mtu); } } first = 1; @@ -1532,7 +1534,7 @@ pgr->grec_nsrcs = htons(scount); if (skb) mld_sendpack(skb); - skb = mld_newpack(dev, dev->mtu); + skb = mld_newpack(idev, dev->mtu); first = 1; scount = 0; } @@ -1587,8 +1589,8 @@ struct sk_buff *skb = NULL; int type; + read_lock_bh(&idev->lock); if (!pmc) { - read_lock_bh(&idev->lock); for (pmc=idev->mc_list; pmc; pmc=pmc->next) { if (pmc->mca_flags & MAF_NOREPORT) continue; @@ -1600,7 +1602,6 @@ skb = add_grec(skb, pmc, type, 0, 0); spin_unlock_bh(&pmc->mca_lock); } - read_unlock_bh(&idev->lock); } else { spin_lock_bh(&pmc->mca_lock); if (pmc->mca_sfcount[MCAST_EXCLUDE]) @@ -1610,6 +1611,7 @@ skb = add_grec(skb, pmc, type, 0, 0); spin_unlock_bh(&pmc->mca_lock); } + read_unlock_bh(&idev->lock); if (skb) mld_sendpack(skb); } @@ -2147,7 +2149,7 @@ idev->mc_gq_running = 0; mld_send_report(idev, NULL); - __in6_dev_put(idev); + in6_dev_put(idev); } static void mld_ifc_timer_expire(unsigned long data) @@ -2160,7 +2162,7 @@ if (idev->mc_ifc_count) mld_ifc_start_timer(idev, idev->mc_maxdelay); } - __in6_dev_put(idev); + in6_dev_put(idev); } static void mld_ifc_event(struct inet6_dev *idev) --- linux-lts-quantal-3.5.0.orig/net/ipv6/addrconf.c +++ linux-lts-quantal-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; @@ -905,12 +909,10 @@ if (ifp->flags & IFA_F_OPTIMISTIC) addr_flags |= IFA_F_OPTIMISTIC; - ift = !max_addresses || - ipv6_count_addresses(idev) < max_addresses ? - ipv6_add_addr(idev, &addr, tmp_plen, - ipv6_addr_type(&addr)&IPV6_ADDR_SCOPE_MASK, - addr_flags) : NULL; - if (!ift || IS_ERR(ift)) { + ift = ipv6_add_addr(idev, &addr, tmp_plen, + ipv6_addr_type(&addr)&IPV6_ADDR_SCOPE_MASK, + addr_flags); + if (IS_ERR(ift)) { in6_ifa_put(ifp); in6_dev_put(idev); pr_info("%s: retry temporary address regeneration\n", __func__); @@ -1227,6 +1229,23 @@ } EXPORT_SYMBOL(ipv6_dev_get_saddr); +int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr, + unsigned char banned_flags) +{ + struct inet6_ifaddr *ifp; + int err = -EADDRNOTAVAIL; + + list_for_each_entry(ifp, &idev->addr_list, if_list) { + if (ifp->scope == IFA_LINK && + !(ifp->flags & banned_flags)) { + *addr = ifp->addr; + err = 0; + break; + } + } + return err; +} + int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr, unsigned char banned_flags) { @@ -1236,17 +1255,8 @@ rcu_read_lock(); idev = __in6_dev_get(dev); if (idev) { - struct inet6_ifaddr *ifp; - read_lock_bh(&idev->lock); - list_for_each_entry(ifp, &idev->addr_list, if_list) { - if (ifp->scope == IFA_LINK && - !(ifp->flags & banned_flags)) { - *addr = ifp->addr; - err = 0; - break; - } - } + err = __ipv6_get_lladdr(idev, addr, banned_flags); read_unlock_bh(&idev->lock); } rcu_read_unlock(); @@ -1266,7 +1276,7 @@ } int ipv6_chk_addr(struct net *net, const struct in6_addr *addr, - struct net_device *dev, int strict) + const struct net_device *dev, int strict) { struct inet6_ifaddr *ifp; struct hlist_node *node; @@ -1737,7 +1747,7 @@ continue; if ((rt->rt6i_flags & flags) != flags) continue; - if ((noflags != 0) && ((rt->rt6i_flags & flags) != 0)) + if ((rt->rt6i_flags & noflags) != 0) continue; dst_hold(&rt->dst); break; @@ -2398,6 +2408,9 @@ static void init_loopback(struct net_device *dev) { struct inet6_dev *idev; + struct net_device *sp_dev; + struct inet6_ifaddr *sp_ifa; + struct rt6_info *sp_rt; /* ::1 */ @@ -2409,6 +2422,35 @@ } add_addr(idev, &in6addr_loopback, 128, IFA_HOST); + + /* Add routes to other interface's IPv6 addresses */ + for_each_netdev(dev_net(dev), sp_dev) { + if (!strcmp(sp_dev->name, dev->name)) + continue; + + idev = __in6_dev_get(sp_dev); + if (!idev) + continue; + + read_lock_bh(&idev->lock); + list_for_each_entry(sp_ifa, &idev->addr_list, if_list) { + + if (sp_ifa->flags & (IFA_F_DADFAILED | IFA_F_TENTATIVE)) + continue; + + if (sp_ifa->rt) + continue; + + sp_rt = addrconf_dst_alloc(idev, &sp_ifa->addr, 0); + + /* Failure cases are ignored */ + if (!IS_ERR(sp_rt)) { + sp_ifa->rt = sp_rt; + ip6_ins_rt(sp_rt); + } + } + read_unlock_bh(&idev->lock); + } } static void addrconf_add_linklocal(struct inet6_dev *idev, const struct in6_addr *addr) @@ -3089,14 +3131,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 +3157,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 +4405,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 +4573,7 @@ .data = &ipv6_devconf.use_tempaddr, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = addrconf_sysctl_tempaddr, }, { .procname = "temp_valid_lft", @@ -4651,26 +4774,20 @@ static int __net_init addrconf_init_net(struct net *net) { - int err; + int err = -ENOMEM; struct ipv6_devconf *all, *dflt; - err = -ENOMEM; - all = &ipv6_devconf; - dflt = &ipv6_devconf_dflt; - - if (!net_eq(net, &init_net)) { - all = kmemdup(all, sizeof(ipv6_devconf), GFP_KERNEL); - if (all == NULL) - goto err_alloc_all; - - dflt = kmemdup(dflt, sizeof(ipv6_devconf_dflt), GFP_KERNEL); - if (dflt == NULL) - goto err_alloc_dflt; - } else { - /* these will be inherited by all namespaces */ - dflt->autoconf = ipv6_defaults.autoconf; - dflt->disable_ipv6 = ipv6_defaults.disable_ipv6; - } + all = kmemdup(&ipv6_devconf, sizeof(ipv6_devconf), GFP_KERNEL); + if (all == NULL) + goto err_alloc_all; + + dflt = kmemdup(&ipv6_devconf_dflt, sizeof(ipv6_devconf_dflt), GFP_KERNEL); + if (dflt == NULL) + goto err_alloc_dflt; + + /* these will be inherited by all namespaces */ + dflt->autoconf = ipv6_defaults.autoconf; + dflt->disable_ipv6 = ipv6_defaults.disable_ipv6; net->ipv6.devconf_all = all; net->ipv6.devconf_dflt = dflt; --- linux-lts-quantal-3.5.0.orig/net/ipv6/ipv6_sockglue.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv6/mip6.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv6/udp.c +++ linux-lts-quantal-3.5.0/net/ipv6/udp.c @@ -937,11 +937,16 @@ struct udphdr *uh; struct udp_sock *up = udp_sk(sk); struct inet_sock *inet = inet_sk(sk); - struct flowi6 *fl6 = &inet->cork.fl.u.ip6; + struct flowi6 *fl6; int err = 0; int is_udplite = IS_UDPLITE(sk); __wsum csum = 0; + if (up->pending == AF_INET) + return udp_push_pending_frames(sk); + + fl6 = &inet->cork.fl.u.ip6; + /* Grab the skbuff where UDP header space exists. */ if ((skb = skb_peek(&sk->sk_write_queue)) == NULL) goto out; @@ -1499,6 +1504,17 @@ } #endif /* CONFIG_PROC_FS */ +void udp_v6_clear_sk(struct sock *sk, int size) +{ + struct inet_sock *inet = inet_sk(sk); + + /* we do not want to clear pinet6 field, because of RCU lookups */ + sk_prot_clear_portaddr_nulls(sk, offsetof(struct inet_sock, pinet6)); + + size -= offsetof(struct inet_sock, pinet6) + sizeof(inet->pinet6); + memset(&inet->pinet6 + 1, 0, size); +} + /* ------------------------------------------------------------------------ */ struct proto udpv6_prot = { @@ -1529,7 +1545,7 @@ .compat_setsockopt = compat_udpv6_setsockopt, .compat_getsockopt = compat_udpv6_getsockopt, #endif - .clear_sk = sk_prot_clear_portaddr_nulls, + .clear_sk = udp_v6_clear_sk, }; static struct inet_protosw udpv6_protosw = { --- linux-lts-quantal-3.5.0.orig/net/ipv6/ndisc.c +++ linux-lts-quantal-3.5.0/net/ipv6/ndisc.c @@ -429,7 +429,6 @@ int hlen = LL_RESERVED_SPACE(dev); int tlen = dev->needed_tailroom; int len; - int err; u8 *opt; if (!dev->addr_len) @@ -439,13 +438,11 @@ if (llinfo) len += ndisc_opt_addr_space(dev); - skb = sock_alloc_send_skb(sk, - (MAX_HEADER + sizeof(struct ipv6hdr) + - len + hlen + tlen), - 1, &err); + skb = alloc_skb((MAX_HEADER + sizeof(struct ipv6hdr) + + len + hlen + tlen), GFP_ATOMIC); if (!skb) { - ND_PRINTK(0, err, "ND: %s failed to allocate an skb, err=%d\n", - __func__, err); + ND_PRINTK(0, err, "ND: %s failed to allocate an skb\n", + __func__); return NULL; } @@ -473,6 +470,11 @@ csum_partial(hdr, len, 0)); + /* Manually assign socket ownership as we avoid calling + * sock_alloc_send_pskb() to bypass wmem buffer limits + */ + skb_set_owner_w(skb, sk); + return skb; } @@ -580,7 +582,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 +590,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-lts-quantal-3.5.0.orig/net/ipv6/route.c +++ linux-lts-quantal-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 = { @@ -846,7 +846,8 @@ dst_hold(&rt->dst); read_unlock_bh(&table->tb6_lock); - if (!dst_get_neighbour_noref_raw(&rt->dst) && !(rt->rt6i_flags & RTF_NONEXTHOP)) + if (!dst_get_neighbour_noref_raw(&rt->dst) && + !(rt->rt6i_flags & (RTF_NONEXTHOP | RTF_LOCAL))) nrt = rt6_alloc_cow(rt, &fl6->daddr, &fl6->saddr); else if (!(rt->dst.flags & DST_HOST)) nrt = rt6_alloc_clone(rt, &fl6->daddr); @@ -1031,10 +1032,13 @@ rt = (struct rt6_info *) skb_dst(skb); if (rt) { - if (rt->rt6i_flags & RTF_CACHE) - rt6_update_expires(rt, 0); - else if (rt->rt6i_node && (rt->rt6i_flags & RTF_DEFAULT)) + if (rt->rt6i_flags & RTF_CACHE) { + dst_hold(&rt->dst); + if (ip6_del_rt(rt)) + dst_free(&rt->dst); + } else if (rt->rt6i_node && (rt->rt6i_flags & RTF_DEFAULT)) { rt->rt6i_node->fn_sernum = -1; + } } } @@ -1135,7 +1139,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 +1489,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; } @@ -1969,7 +1974,8 @@ restart: read_lock_bh(&table->tb6_lock); for (rt = table->tb6_root.leaf; rt; rt = rt->dst.rt6_next) { - if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF)) { + if (rt->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF) && + (!rt->rt6i_idev || rt->rt6i_idev->cnf.accept_ra != 2)) { dst_hold(&rt->dst); read_unlock_bh(&table->tb6_lock); ip6_del_rt(rt); --- linux-lts-quantal-3.5.0.orig/net/ipv6/udplite.c +++ linux-lts-quantal-3.5.0/net/ipv6/udplite.c @@ -56,7 +56,7 @@ .compat_setsockopt = compat_udpv6_setsockopt, .compat_getsockopt = compat_udpv6_getsockopt, #endif - .clear_sk = sk_prot_clear_portaddr_nulls, + .clear_sk = udp_v6_clear_sk, }; static struct inet_protosw udplite6_protosw = { --- linux-lts-quantal-3.5.0.orig/net/ipv6/netfilter.c +++ linux-lts-quantal-3.5.0/net/ipv6/netfilter.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -172,6 +173,10 @@ return csum; }; +static const struct nf_ipv6_ops ipv6ops = { + .chk_addr = ipv6_chk_addr, +}; + static const struct nf_afinfo nf_ip6_afinfo = { .family = AF_INET6, .checksum = nf_ip6_checksum, @@ -184,6 +189,7 @@ int __init ipv6_netfilter_init(void) { + RCU_INIT_POINTER(nf_ipv6_ops, &ipv6ops); return nf_register_afinfo(&nf_ip6_afinfo); } @@ -192,5 +198,6 @@ */ void ipv6_netfilter_fini(void) { + RCU_INIT_POINTER(nf_ipv6_ops, NULL); nf_unregister_afinfo(&nf_ip6_afinfo); } --- linux-lts-quantal-3.5.0.orig/net/ipv6/ip6_input.c +++ linux-lts-quantal-3.5.0/net/ipv6/ip6_input.c @@ -111,6 +111,27 @@ ipv6_addr_loopback(&hdr->daddr)) goto err; + /* RFC4291 Errata ID: 3480 + * Interface-Local scope spans only a single interface on a + * node and is useful only for loopback transmission of + * multicast. Packets with interface-local scope received + * from another node must be discarded. + */ + if (!(skb->pkt_type == PACKET_LOOPBACK || + dev->flags & IFF_LOOPBACK) && + ipv6_addr_is_multicast(&hdr->daddr) && + IPV6_ADDR_MC_SCOPE(&hdr->daddr) == 1) + goto err; + + /* RFC4291 2.7 + * Nodes must not originate a packet to a multicast address whose scope + * field contains the reserved value 0; if such a packet is received, it + * must be silently dropped. + */ + if (ipv6_addr_is_multicast(&hdr->daddr) && + IPV6_ADDR_MC_SCOPE(&hdr->daddr) == 0) + goto err; + /* * RFC4291 2.7 * Multicast addresses must not be used as source addresses in IPv6 @@ -266,7 +287,8 @@ * IPv6 multicast router mode is now supported ;) */ if (dev_net(skb->dev)->ipv6.devconf_all->mc_forwarding && - !(ipv6_addr_type(&hdr->daddr) & IPV6_ADDR_LINKLOCAL) && + !(ipv6_addr_type(&hdr->daddr) & + (IPV6_ADDR_LOOPBACK|IPV6_ADDR_LINKLOCAL)) && likely(!(IP6CB(skb)->flags & IP6SKB_FORWARDED))) { /* * Okay, we try to forward - split and duplicate --- linux-lts-quantal-3.5.0.orig/net/ipv6/raw.c +++ linux-lts-quantal-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); + struct icmp6hdr *_hdr; + const struct icmp6hdr *hdr; - if (pskb_may_pull(skb, sizeof(struct icmp6hdr))) { - __u32 *data = &rp->filter.data[0]; - int bit_nr; + 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; - icmph = (struct icmp6hdr *) skb->data; - bit_nr = icmph->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-lts-quantal-3.5.0.orig/net/ipv6/tcp_ipv6.c +++ linux-lts-quantal-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)); @@ -1412,7 +1413,8 @@ #endif if (__inet_inherit_port(sk, newsk) < 0) { - sock_put(newsk); + inet_csk_prepare_forced_close(newsk); + tcp_done(newsk); goto out; } __inet6_hash(newsk, NULL); @@ -1571,7 +1573,7 @@ if (np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) np->mcast_hops = ipv6_hdr(opt_skb)->hop_limit; if (np->rxopt.bits.rxtclass) - np->rcv_tclass = ipv6_tclass(ipv6_hdr(skb)); + np->rcv_tclass = ipv6_tclass(ipv6_hdr(opt_skb)); if (ipv6_opt_accepted(sk, opt_skb)) { skb_set_owner_r(opt_skb, sk); opt_skb = xchg(&np->pktoptions, opt_skb); @@ -2032,6 +2034,17 @@ } #endif +static void tcp_v6_clear_sk(struct sock *sk, int size) +{ + struct inet_sock *inet = inet_sk(sk); + + /* we do not want to clear pinet6 field, because of RCU lookups */ + sk_prot_clear_nulls(sk, offsetof(struct inet_sock, pinet6)); + + size -= offsetof(struct inet_sock, pinet6) + sizeof(inet->pinet6); + memset(&inet->pinet6 + 1, 0, size); +} + struct proto tcpv6_prot = { .name = "TCPv6", .owner = THIS_MODULE, @@ -2073,6 +2086,7 @@ #ifdef CONFIG_CGROUP_MEM_RES_CTLR_KMEM .proto_cgroup = tcp_proto_cgroup, #endif + .clear_sk = tcp_v6_clear_sk, }; static const struct inet6_protocol tcpv6_protocol = { --- linux-lts-quantal-3.5.0.orig/net/ipv6/xfrm6_policy.c +++ linux-lts-quantal-3.5.0/net/ipv6/xfrm6_policy.c @@ -96,8 +96,10 @@ dev_hold(dev); xdst->u.rt6.rt6i_idev = in6_dev_get(dev); - if (!xdst->u.rt6.rt6i_idev) + if (!xdst->u.rt6.rt6i_idev) { + dev_put(dev); return -ENODEV; + } xdst->u.rt6.rt6i_peer = rt->rt6i_peer; if (rt->rt6i_peer) --- linux-lts-quantal-3.5.0.orig/net/ipv6/netfilter/nf_conntrack_reasm.c +++ linux-lts-quantal-3.5.0/net/ipv6/netfilter/nf_conntrack_reasm.c @@ -14,6 +14,8 @@ * 2 of the License, or (at your option) any later version. */ +#define pr_fmt(fmt) "IPv6-nf: " fmt + #include #include #include @@ -176,13 +178,12 @@ q = inet_frag_find(&nf_init_frags, &nf_frags, &arg, hash); local_bh_enable(); - if (q == NULL) - goto oom; + if (IS_ERR_OR_NULL(q)) { + inet_frag_maybe_warn_overflow(q, pr_fmt()); + return NULL; + } return container_of(q, struct nf_ct_frag6_queue, q); - -oom: - return NULL; } --- linux-lts-quantal-3.5.0.orig/net/ipv4/inet_diag.c +++ linux-lts-quantal-3.5.0/net/ipv4/inet_diag.c @@ -44,6 +44,10 @@ u16 dport; u16 family; u16 userlocks; +#if IS_ENABLED(CONFIG_IPV6) + struct in6_addr saddr_storage; /* for IPv4-mapped-IPv6 addresses */ + struct in6_addr daddr_storage; /* for IPv4-mapped-IPv6 addresses */ +#endif }; #define INET_DIAG_PUT(skb, attrtype, attrlen) \ @@ -419,25 +423,31 @@ break; } - if (cond->prefix_len == 0) - break; - if (op->code == INET_DIAG_BC_S_COND) addr = entry->saddr; else addr = entry->daddr; + if (cond->family != AF_UNSPEC && + cond->family != entry->family) { + if (entry->family == AF_INET6 && + cond->family == AF_INET) { + if (addr[0] == 0 && addr[1] == 0 && + addr[2] == htonl(0xffff) && + bitstring_match(addr + 3, + cond->addr, + cond->prefix_len)) + break; + } + yes = 0; + break; + } + + if (cond->prefix_len == 0) + break; if (bitstring_match(addr, cond->addr, cond->prefix_len)) break; - if (entry->family == AF_INET6 && - cond->family == AF_INET) { - if (addr[0] == 0 && addr[1] == 0 && - addr[2] == htonl(0xffff) && - bitstring_match(addr + 3, cond->addr, - cond->prefix_len)) - break; - } yes = 0; break; } @@ -500,6 +510,55 @@ return 0; } +/* Validate an inet_diag_hostcond. */ +static bool valid_hostcond(const struct inet_diag_bc_op *op, int len, + int *min_len) +{ + int addr_len; + struct inet_diag_hostcond *cond; + + /* Check hostcond space. */ + *min_len += sizeof(struct inet_diag_hostcond); + if (len < *min_len) + return false; + cond = (struct inet_diag_hostcond *)(op + 1); + + /* Check address family and address length. */ + switch (cond->family) { + case AF_UNSPEC: + addr_len = 0; + break; + case AF_INET: + addr_len = sizeof(struct in_addr); + break; + case AF_INET6: + addr_len = sizeof(struct in6_addr); + break; + default: + return false; + } + *min_len += addr_len; + if (len < *min_len) + return false; + + /* Check prefix length (in bits) vs address length (in bytes). */ + if (cond->prefix_len > 8 * addr_len) + return false; + + return true; +} + +/* Validate a port comparison operator. */ +static inline bool valid_port_comparison(const struct inet_diag_bc_op *op, + int len, int *min_len) +{ + /* Port comparisons put the port in a follow-on inet_diag_bc_op. */ + *min_len += sizeof(struct inet_diag_bc_op); + if (len < *min_len) + return false; + return true; +} + static int inet_diag_bc_audit(const void *bytecode, int bytecode_len) { const void *bc = bytecode; @@ -507,29 +566,39 @@ while (len > 0) { const struct inet_diag_bc_op *op = bc; + int min_len = sizeof(struct inet_diag_bc_op); //printk("BC: %d %d %d {%d} / %d\n", op->code, op->yes, op->no, op[1].no, len); switch (op->code) { - case INET_DIAG_BC_AUTO: case INET_DIAG_BC_S_COND: case INET_DIAG_BC_D_COND: + if (!valid_hostcond(bc, len, &min_len)) + return -EINVAL; + break; case INET_DIAG_BC_S_GE: case INET_DIAG_BC_S_LE: case INET_DIAG_BC_D_GE: case INET_DIAG_BC_D_LE: - case INET_DIAG_BC_JMP: - if (op->no < 4 || op->no > len + 4 || op->no & 3) - return -EINVAL; - if (op->no < len && - !valid_cc(bytecode, bytecode_len, len - op->no)) + if (!valid_port_comparison(bc, len, &min_len)) return -EINVAL; break; + case INET_DIAG_BC_AUTO: + case INET_DIAG_BC_JMP: case INET_DIAG_BC_NOP: break; default: return -EINVAL; } - if (op->yes < 4 || op->yes > len + 4 || op->yes & 3) + + if (op->code != INET_DIAG_BC_NOP) { + if (op->no < min_len || op->no > len + 4 || op->no & 3) + return -EINVAL; + if (op->no < len && + !valid_cc(bytecode, bytecode_len, len - op->no)) + return -EINVAL; + } + + if (op->yes < min_len || op->yes > len + 4 || op->yes & 3) return -EINVAL; bc += op->yes; len -= op->yes; @@ -586,6 +655,36 @@ cb->nlh->nlmsg_seq, NLM_F_MULTI, cb->nlh); } +/* Get the IPv4, IPv6, or IPv4-mapped-IPv6 local and remote addresses + * from a request_sock. For IPv4-mapped-IPv6 we must map IPv4 to IPv6. + */ +static inline void inet_diag_req_addrs(const struct sock *sk, + const struct request_sock *req, + struct inet_diag_entry *entry) +{ + struct inet_request_sock *ireq = inet_rsk(req); + +#if IS_ENABLED(CONFIG_IPV6) + if (sk->sk_family == AF_INET6) { + if (req->rsk_ops->family == AF_INET6) { + entry->saddr = inet6_rsk(req)->loc_addr.s6_addr32; + entry->daddr = inet6_rsk(req)->rmt_addr.s6_addr32; + } else if (req->rsk_ops->family == AF_INET) { + ipv6_addr_set_v4mapped(ireq->loc_addr, + &entry->saddr_storage); + ipv6_addr_set_v4mapped(ireq->rmt_addr, + &entry->daddr_storage); + entry->saddr = entry->saddr_storage.s6_addr32; + entry->daddr = entry->daddr_storage.s6_addr32; + } + } else +#endif + { + entry->saddr = &ireq->loc_addr; + entry->daddr = &ireq->rmt_addr; + } +} + static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk, struct request_sock *req, u32 pid, u32 seq, const struct nlmsghdr *unlh) @@ -624,8 +723,10 @@ r->idiag_inode = 0; #if IS_ENABLED(CONFIG_IPV6) if (r->idiag_family == AF_INET6) { - *(struct in6_addr *)r->id.idiag_src = inet6_rsk(req)->loc_addr; - *(struct in6_addr *)r->id.idiag_dst = inet6_rsk(req)->rmt_addr; + struct inet_diag_entry entry; + inet_diag_req_addrs(sk, req, &entry); + memcpy(r->id.idiag_src, entry.saddr, sizeof(struct in6_addr)); + memcpy(r->id.idiag_dst, entry.daddr, sizeof(struct in6_addr)); } #endif nlh->nlmsg_len = skb_tail_pointer(skb) - b; @@ -683,18 +784,7 @@ continue; if (bc) { - entry.saddr = -#if IS_ENABLED(CONFIG_IPV6) - (entry.family == AF_INET6) ? - inet6_rsk(req)->loc_addr.s6_addr32 : -#endif - &ireq->loc_addr; - entry.daddr = -#if IS_ENABLED(CONFIG_IPV6) - (entry.family == AF_INET6) ? - inet6_rsk(req)->rmt_addr.s6_addr32 : -#endif - &ireq->rmt_addr; + inet_diag_req_addrs(sk, req, &entry); entry.dport = ntohs(ireq->rmt_port); if (!inet_diag_bc_run(bc, &entry)) @@ -875,13 +965,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-lts-quantal-3.5.0.orig/net/ipv4/ip_sockglue.c +++ linux-lts-quantal-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; @@ -580,7 +589,7 @@ case IP_TTL: if (optlen < 1) goto e_inval; - if (val != -1 && (val < 0 || val > 255)) + if (val != -1 && (val < 1 || val > 255)) goto e_inval; inet->uc_ttl = val; break; --- linux-lts-quantal-3.5.0.orig/net/ipv4/inetpeer.c +++ linux-lts-quantal-3.5.0/net/ipv4/inetpeer.c @@ -32,8 +32,8 @@ * At the moment of writing this notes identifier of IP packets is generated * to be unpredictable using this code only for packets subjected * (actually or potentially) to defragmentation. I.e. DF packets less than - * PMTU in size uses a constant ID and do not use this code (see - * ip_select_ident() in include/net/ip.h). + * PMTU in size when local fragmentation is disabled use a constant ID and do + * not use this code (see ip_select_ident() in include/net/ip.h). * * Route cache entries hold references to our nodes. * New cache entries get references via lookup by destination IP address in --- linux-lts-quantal-3.5.0.orig/net/ipv4/esp4.c +++ linux-lts-quantal-3.5.0/net/ipv4/esp4.c @@ -139,8 +139,6 @@ /* skb is pure payload to encrypt */ - err = -ENOMEM; - esp = x->data; aead = esp->aead; alen = crypto_aead_authsize(aead); @@ -176,8 +174,10 @@ } tmp = esp_alloc_tmp(aead, nfrags + sglists, seqhilen); - if (!tmp) + if (!tmp) { + err = -ENOMEM; goto error; + } seqhi = esp_tmp_seqhi(tmp); iv = esp_tmp_iv(aead, tmp, seqhilen); --- linux-lts-quantal-3.5.0.orig/net/ipv4/af_inet.c +++ linux-lts-quantal-3.5.0/net/ipv4/af_inet.c @@ -227,8 +227,12 @@ u32 inet_ehash_secret __read_mostly; EXPORT_SYMBOL(inet_ehash_secret); +u32 ipv6_hash_secret __read_mostly; +EXPORT_SYMBOL(ipv6_hash_secret); + /* - * inet_ehash_secret must be set exactly once + * inet_ehash_secret must be set exactly once, and to a non nul value + * ipv6_hash_secret must be set exactly once. */ void build_ehash_secret(void) { @@ -238,7 +242,8 @@ get_random_bytes(&rnd, sizeof(rnd)); } while (rnd == 0); - cmpxchg(&inet_ehash_secret, 0, rnd); + if (cmpxchg(&inet_ehash_secret, 0, rnd) == 0) + get_random_bytes(&ipv6_hash_secret, sizeof(ipv6_hash_secret)); } EXPORT_SYMBOL(build_ehash_secret); --- linux-lts-quantal-3.5.0.orig/net/ipv4/ipmr.c +++ linux-lts-quantal-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) @@ -1562,7 +1572,7 @@ iph->protocol = IPPROTO_IPIP; iph->ihl = 5; iph->tot_len = htons(skb->len); - ip_select_ident(iph, skb_dst(skb), NULL); + ip_select_ident(skb, skb_dst(skb), NULL); ip_send_check(iph); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); --- linux-lts-quantal-3.5.0.orig/net/ipv4/fib_trie.c +++ linux-lts-quantal-3.5.0/net/ipv4/fib_trie.c @@ -71,7 +71,6 @@ #include #include #include -#include #include #include #include @@ -1772,10 +1771,8 @@ if (!c) continue; - if (IS_LEAF(c)) { - prefetch(rcu_dereference_rtnl(p->child[idx])); + if (IS_LEAF(c)) return (struct leaf *) c; - } /* Rescan start scanning in new node */ p = (struct tnode *) c; --- linux-lts-quantal-3.5.0.orig/net/ipv4/syncookies.c +++ linux-lts-quantal-3.5.0/net/ipv4/syncookies.c @@ -347,8 +347,8 @@ * hasn't changed since we received the original syn, but I see * no easy way to do this. */ - flowi4_init_output(&fl4, 0, sk->sk_mark, RT_CONN_FLAGS(sk), - RT_SCOPE_UNIVERSE, IPPROTO_TCP, + flowi4_init_output(&fl4, sk->sk_bound_dev_if, sk->sk_mark, + RT_CONN_FLAGS(sk), RT_SCOPE_UNIVERSE, IPPROTO_TCP, inet_sk_flowi_flags(sk), (opt && opt->srr) ? opt->faddr : ireq->rmt_addr, ireq->loc_addr, th->source, th->dest); --- linux-lts-quantal-3.5.0.orig/net/ipv4/inet_connection_sock.c +++ linux-lts-quantal-3.5.0/net/ipv4/inet_connection_sock.c @@ -673,6 +673,22 @@ } EXPORT_SYMBOL(inet_csk_destroy_sock); +/* This function allows to force a closure of a socket after the call to + * tcp/dccp_create_openreq_child(). + */ +void inet_csk_prepare_forced_close(struct sock *sk) +{ + /* sk_clone_lock locked the socket and set refcnt to 2 */ + bh_unlock_sock(sk); + sock_put(sk); + + /* The below has to be done to allow calling inet_csk_destroy_sock */ + sock_set_flag(sk, SOCK_DEAD); + percpu_counter_inc(sk->sk_prot->orphan_count); + inet_sk(sk)->inet_num = 0; +} +EXPORT_SYMBOL(inet_csk_prepare_forced_close); + int inet_csk_listen_start(struct sock *sk, const int nr_table_entries) { struct inet_sock *inet = inet_sk(sk); --- linux-lts-quantal-3.5.0.orig/net/ipv4/proc.c +++ linux-lts-quantal-3.5.0/net/ipv4/proc.c @@ -232,7 +232,6 @@ SNMP_MIB_ITEM("TCPDSACKOfoSent", LINUX_MIB_TCPDSACKOFOSENT), SNMP_MIB_ITEM("TCPDSACKRecv", LINUX_MIB_TCPDSACKRECV), SNMP_MIB_ITEM("TCPDSACKOfoRecv", LINUX_MIB_TCPDSACKOFORECV), - SNMP_MIB_ITEM("TCPAbortOnSyn", LINUX_MIB_TCPABORTONSYN), SNMP_MIB_ITEM("TCPAbortOnData", LINUX_MIB_TCPABORTONDATA), SNMP_MIB_ITEM("TCPAbortOnClose", LINUX_MIB_TCPABORTONCLOSE), SNMP_MIB_ITEM("TCPAbortOnMemory", LINUX_MIB_TCPABORTONMEMORY), @@ -258,6 +257,8 @@ SNMP_MIB_ITEM("TCPReqQFullDrop", LINUX_MIB_TCPREQQFULLDROP), SNMP_MIB_ITEM("TCPRetransFail", LINUX_MIB_TCPRETRANSFAIL), SNMP_MIB_ITEM("TCPRcvCoalesce", LINUX_MIB_TCPRCVCOALESCE), + SNMP_MIB_ITEM("TCPChallengeACK", LINUX_MIB_TCPCHALLENGEACK), + SNMP_MIB_ITEM("TCPSYNChallenge", LINUX_MIB_TCPSYNCHALLENGE), SNMP_MIB_SENTINEL }; --- linux-lts-quantal-3.5.0.orig/net/ipv4/sysctl_net_ipv4.c +++ linux-lts-quantal-3.5.0/net/ipv4/sysctl_net_ipv4.c @@ -35,6 +35,8 @@ static int tcp_adv_win_scale_max = 31; static int ip_ttl_min = 1; static int ip_ttl_max = 255; +static int tcp_syn_retries_min = 1; +static int tcp_syn_retries_max = MAX_TCP_SYNCNT; static int ip_ping_group_range_min[] = { 0, 0 }; static int ip_ping_group_range_max[] = { GID_T_MAX, GID_T_MAX }; @@ -277,7 +279,9 @@ .data = &sysctl_tcp_syn_retries, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec + .proc_handler = proc_dointvec_minmax, + .extra1 = &tcp_syn_retries_min, + .extra2 = &tcp_syn_retries_max }, { .procname = "tcp_synack_retries", @@ -590,6 +594,13 @@ .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec + }, + { + .procname = "tcp_challenge_ack_limit", + .data = &sysctl_tcp_challenge_ack_limit, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec }, #ifdef CONFIG_NET_DMA { --- linux-lts-quantal-3.5.0.orig/net/ipv4/udp.c +++ linux-lts-quantal-3.5.0/net/ipv4/udp.c @@ -769,7 +769,7 @@ /* * Push out all pending data as one UDP datagram. Socket is locked. */ -static int udp_push_pending_frames(struct sock *sk) +int udp_push_pending_frames(struct sock *sk) { struct udp_sock *up = udp_sk(sk); struct inet_sock *inet = inet_sk(sk); @@ -788,6 +788,7 @@ up->pending = 0; return err; } +EXPORT_SYMBOL(udp_push_pending_frames); int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t len) --- linux-lts-quantal-3.5.0.orig/net/ipv4/tcp_cubic.c +++ linux-lts-quantal-3.5.0/net/ipv4/tcp_cubic.c @@ -206,8 +206,8 @@ */ static inline void bictcp_update(struct bictcp *ca, u32 cwnd) { - u64 offs; - u32 delta, t, bic_target, max_cnt; + u32 delta, bic_target, max_cnt; + u64 offs, t; ca->ack_cnt++; /* count the number of ACKs */ @@ -250,9 +250,11 @@ * if the cwnd < 1 million packets !!! */ + t = (s32)(tcp_time_stamp - ca->epoch_start); + t += msecs_to_jiffies(ca->delay_min >> 3); /* change the unit from HZ to bictcp_HZ */ - t = ((tcp_time_stamp + msecs_to_jiffies(ca->delay_min>>3) - - ca->epoch_start) << BICTCP_HZ) / HZ; + t <<= BICTCP_HZ; + do_div(t, HZ); if (t < ca->bic_K) /* t - K */ offs = ca->bic_K - t; @@ -414,7 +416,7 @@ return; /* Discard delay samples right after fast recovery */ - if ((s32)(tcp_time_stamp - ca->epoch_start) < HZ) + if (ca->epoch_start && (s32)(tcp_time_stamp - ca->epoch_start) < HZ) return; delay = (rtt_us << 3) / USEC_PER_MSEC; --- linux-lts-quantal-3.5.0.orig/net/ipv4/tcp_ipv4.c +++ linux-lts-quantal-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; @@ -988,7 +989,7 @@ struct tcp_sock *tp = tcp_sk(sk); struct tcp_md5sig_info *md5sig; - key = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&addr, AF_INET); + key = tcp_md5_do_lookup(sk, addr, family); if (key) { /* Pre-existing entry - just update that one. */ memcpy(key->key, newkey, newkeylen); @@ -1033,7 +1034,7 @@ struct tcp_md5sig_key *key; struct tcp_md5sig_info *md5sig; - key = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&addr, AF_INET); + key = tcp_md5_do_lookup(sk, addr, family); if (!key) return -ENOENT; hlist_del_rcu(&key->node); @@ -1538,10 +1539,8 @@ NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS); return NULL; put_and_exit: - tcp_clear_xmit_timers(newsk); - tcp_cleanup_congestion_control(newsk); - bh_unlock_sock(newsk); - sock_put(newsk); + inet_csk_prepare_forced_close(newsk); + tcp_done(newsk); goto exit; } EXPORT_SYMBOL(tcp_v4_syn_recv_sock); --- linux-lts-quantal-3.5.0.orig/net/ipv4/inet_fragment.c +++ linux-lts-quantal-3.5.0/net/ipv4/inet_fragment.c @@ -21,6 +21,7 @@ #include #include +#include #include static void inet_frag_secret_rebuild(unsigned long dummy) @@ -271,6 +272,7 @@ { struct inet_frag_queue *q; struct hlist_node *n; + int depth = 0; hlist_for_each_entry(q, n, &f->hash[hash], list) { if (q->net == nf && f->match(q, key)) { @@ -278,9 +280,25 @@ read_unlock(&f->lock); return q; } + depth++; } read_unlock(&f->lock); - return inet_frag_create(nf, f, key); + if (depth <= INETFRAGS_MAXDEPTH) + return inet_frag_create(nf, f, key); + else + return ERR_PTR(-ENOBUFS); } EXPORT_SYMBOL(inet_frag_find); + +void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q, + const char *prefix) +{ + static const char msg[] = "inet_frag_find: Fragment hash bucket" + " list length grew over limit " __stringify(INETFRAGS_MAXDEPTH) + ". Dropping fragment.\n"; + + if (PTR_ERR(q) == -ENOBUFS) + LIMIT_NETDEBUG(KERN_WARNING "%s%s", prefix, msg); +} +EXPORT_SYMBOL(inet_frag_maybe_warn_overflow); --- linux-lts-quantal-3.5.0.orig/net/ipv4/ipip.c +++ linux-lts-quantal-3.5.0/net/ipv4/ipip.c @@ -465,6 +465,7 @@ if (tos & 1) tos = old_iph->tos; + memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); if (!dst) { /* NBMA tunnel */ if ((rt = skb_rtable(skb)) == NULL) { @@ -547,7 +548,6 @@ skb->transport_header = skb->network_header; skb_push(skb, sizeof(struct iphdr)); skb_reset_network_header(skb); - memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); IPCB(skb)->flags &= ~(IPSKB_XFRM_TUNNEL_SIZE | IPSKB_XFRM_TRANSFORMED | IPSKB_REROUTED); skb_dst_drop(skb); --- linux-lts-quantal-3.5.0.orig/net/ipv4/ip_output.c +++ linux-lts-quantal-3.5.0/net/ipv4/ip_output.c @@ -161,7 +161,7 @@ iph->daddr = (opt && opt->opt.srr ? opt->opt.faddr : daddr); iph->saddr = saddr; iph->protocol = sk->sk_protocol; - ip_select_ident(iph, &rt->dst, sk); + ip_select_ident(skb, &rt->dst, sk); if (opt && opt->opt.optlen) { iph->ihl += opt->opt.optlen>>2; @@ -403,7 +403,7 @@ ip_options_build(skb, &inet_opt->opt, inet->inet_daddr, rt, 0); } - ip_select_ident_more(iph, &rt->dst, sk, + ip_select_ident_more(skb, &rt->dst, sk, (skb_shinfo(skb)->gso_segs ?: 1) - 1); skb->priority = sk->sk_priority; @@ -1342,12 +1342,12 @@ else ttl = ip_select_ttl(inet, &rt->dst); - iph = (struct iphdr *)skb->data; + iph = ip_hdr(skb); iph->version = 4; iph->ihl = 5; iph->tos = inet->tos; iph->frag_off = df; - ip_select_ident(iph, &rt->dst, sk); + ip_select_ident(skb, &rt->dst, sk); iph->ttl = ttl; iph->protocol = sk->sk_protocol; ip_copy_addrs(iph, fl4); --- linux-lts-quantal-3.5.0.orig/net/ipv4/ip_fragment.c +++ linux-lts-quantal-3.5.0/net/ipv4/ip_fragment.c @@ -251,8 +251,7 @@ if (!head->dev) goto out_rcu_unlock; - /* skb dst is stale, drop it, and perform route lookup again */ - skb_dst_drop(head); + /* skb has no dst, perform route lookup again */ iph = ip_hdr(head); err = ip_route_input_noref(head, iph->daddr, iph->saddr, iph->tos, head->dev); @@ -295,14 +294,11 @@ hash = ipqhashfn(iph->id, iph->saddr, iph->daddr, iph->protocol); q = inet_frag_find(&net->ipv4.frags, &ip4_frags, &arg, hash); - if (q == NULL) - goto out_nomem; - + if (IS_ERR_OR_NULL(q)) { + inet_frag_maybe_warn_overflow(q, pr_fmt()); + return NULL; + } return container_of(q, struct ipq, q); - -out_nomem: - LIMIT_NETDEBUG(KERN_ERR pr_fmt("ip_frag_create: no memory left !\n")); - return NULL; } /* Is the fragment too far ahead to be part of ipq? */ @@ -520,8 +516,16 @@ qp->q.last_in |= INET_FRAG_FIRST_IN; if (qp->q.last_in == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) && - qp->q.meat == qp->q.len) - return ip_frag_reasm(qp, prev, dev); + qp->q.meat == qp->q.len) { + unsigned long orefdst = skb->_skb_refdst; + + skb->_skb_refdst = 0UL; + err = ip_frag_reasm(qp, prev, dev); + skb->_skb_refdst = orefdst; + return err; + } + + skb_dst_drop(skb); write_lock(&ip4_frags.lock); list_move_tail(&qp->q.lru_list, &qp->q.net->lru_list); @@ -698,28 +702,27 @@ struct sk_buff *ip_check_defrag(struct sk_buff *skb, u32 user) { - const struct iphdr *iph; + struct iphdr iph; u32 len; if (skb->protocol != htons(ETH_P_IP)) return skb; - if (!pskb_may_pull(skb, sizeof(struct iphdr))) + if (!skb_copy_bits(skb, 0, &iph, sizeof(iph))) return skb; - iph = ip_hdr(skb); - if (iph->ihl < 5 || iph->version != 4) - return skb; - if (!pskb_may_pull(skb, iph->ihl*4)) + if (iph.ihl < 5 || iph.version != 4) return skb; - iph = ip_hdr(skb); - len = ntohs(iph->tot_len); - if (skb->len < len || len < (iph->ihl * 4)) + + len = ntohs(iph.tot_len); + if (skb->len < len || len < (iph.ihl * 4)) return skb; - if (ip_is_fragment(ip_hdr(skb))) { + if (ip_is_fragment(&iph)) { skb = skb_share_check(skb, GFP_ATOMIC); if (skb) { + if (!pskb_may_pull(skb, iph.ihl*4)) + return skb; if (pskb_trim_rcsum(skb, len)) return skb; memset(IPCB(skb), 0, sizeof(struct inet_skb_parm)); --- linux-lts-quantal-3.5.0.orig/net/ipv4/ip_gre.c +++ linux-lts-quantal-3.5.0/net/ipv4/ip_gre.c @@ -743,6 +743,7 @@ tiph = &tunnel->parms.iph; } + memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); if ((dst = tiph->daddr) == 0) { /* NBMA tunnel */ @@ -886,7 +887,6 @@ skb_reset_transport_header(skb); skb_push(skb, gre_hlen); skb_reset_network_header(skb); - memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); IPCB(skb)->flags &= ~(IPSKB_XFRM_TUNNEL_SIZE | IPSKB_XFRM_TRANSFORMED | IPSKB_REROUTED); skb_dst_drop(skb); --- linux-lts-quantal-3.5.0.orig/net/ipv4/tcp_input.c +++ linux-lts-quantal-3.5.0/net/ipv4/tcp_input.c @@ -88,6 +88,9 @@ int sysctl_tcp_adv_win_scale __read_mostly = 1; EXPORT_SYMBOL(sysctl_tcp_adv_win_scale); +/* rfc5961 challenge ack rate limiting */ +int sysctl_tcp_challenge_ack_limit = 100; + int sysctl_tcp_stdurg __read_mostly; int sysctl_tcp_rfc1337 __read_mostly; int sysctl_tcp_max_orphans __read_mostly = NR_FILE; @@ -114,6 +117,7 @@ #define FLAG_DSACKING_ACK 0x800 /* SACK blocks contained D-SACK info */ #define FLAG_NONHEAD_RETRANS_ACKED 0x1000 /* Non-head rexmitted data was ACKed */ #define FLAG_SACK_RENEGING 0x2000 /* snd_una advanced to a sacked seq */ +#define FLAG_UPDATE_TS_RECENT 0x4000 /* tcp_replace_ts_recent() */ #define FLAG_ACKED (FLAG_DATA_ACKED|FLAG_SYN_ACKED) #define FLAG_NOT_DUP (FLAG_DATA|FLAG_WIN_UPDATE|FLAG_ACKED) @@ -2264,11 +2268,8 @@ if (tcp_is_reno(tp)) tcp_reset_reno_sack(tp); - if (!how) { - /* Push undo marker, if it was plain RTO and nothing - * was retransmitted. */ - tp->undo_marker = tp->snd_una; - } else { + tp->undo_marker = tp->snd_una; + if (how) { tp->sacked_out = 0; tp->fackets_out = 0; } @@ -3107,13 +3108,14 @@ * tcp_xmit_retransmit_queue(). */ static void tcp_fastretrans_alert(struct sock *sk, int pkts_acked, - int newly_acked_sacked, bool is_dupack, - int flag) + int prior_sacked, int prior_packets, + 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 +3175,8 @@ tcp_add_reno_sack(sk); } else do_lost = tcp_try_undo_partial(sk, pkts_acked); + newly_acked_sacked = prior_packets - tp->packets_out + + tp->sacked_out - prior_sacked; break; case TCP_CA_Loss: if (flag & FLAG_DATA_ACKED) @@ -3194,6 +3198,8 @@ if (is_dupack) tcp_add_reno_sack(sk); } + newly_acked_sacked = prior_packets - tp->packets_out + + tp->sacked_out - prior_sacked; if (icsk->icsk_ca_state <= TCP_CA_Disorder) tcp_try_undo_dsack(sk); @@ -3709,6 +3715,11 @@ } } else { if (!(flag & FLAG_DATA_ACKED) && (tp->frto_counter == 1)) { + if (!tcp_packets_in_flight(tp)) { + tcp_enter_frto_loss(sk, 2, flag); + return true; + } + /* Prevent sending of new data. */ tp->snd_cwnd = min(tp->snd_cwnd, tcp_packets_in_flight(tp)); @@ -3757,6 +3768,45 @@ return false; } +/* RFC 5961 7 [ACK Throttling] */ +static void tcp_send_challenge_ack(struct sock *sk) +{ + /* unprotected vars, we dont care of overwrites */ + static u32 challenge_timestamp; + static unsigned int challenge_count; + u32 now = jiffies / HZ; + + if (now != challenge_timestamp) { + challenge_timestamp = now; + challenge_count = 0; + } + if (++challenge_count <= sysctl_tcp_challenge_ack_limit) { + NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPCHALLENGEACK); + tcp_send_ack(sk); + } +} + +static void tcp_store_ts_recent(struct tcp_sock *tp) +{ + tp->rx_opt.ts_recent = tp->rx_opt.rcv_tsval; + tp->rx_opt.ts_recent_stamp = get_seconds(); +} + +static void tcp_replace_ts_recent(struct tcp_sock *tp, u32 seq) +{ + if (tp->rx_opt.saw_tstamp && !after(seq, tp->rcv_wup)) { + /* PAWS bug workaround wrt. ACK frames, the PAWS discard + * extra check below makes sure this can only happen + * for pure ACK frames. -DaveM + * + * Not only, also it occurs for expired timestamps. + */ + + if (tcp_paws_check(&tp->rx_opt, 0)) + tcp_store_ts_recent(tp); + } +} + /* This routine deals with incoming acks, but not outgoing ones. */ static int tcp_ack(struct sock *sk, const struct sk_buff *skb, int flag) { @@ -3768,17 +3818,23 @@ bool is_dupack = false; u32 prior_in_flight; u32 prior_fackets; - int prior_packets; + int prior_packets = tp->packets_out; int prior_sacked = tp->sacked_out; int pkts_acked = 0; - int newly_acked_sacked = 0; + int previous_packets_out = 0; bool frto_cwnd = false; /* If the ack is older than previous acks * then we can probably ignore it. */ - if (before(ack, prior_snd_una)) + if (before(ack, prior_snd_una)) { + /* RFC 5961 5.2 [Blind Data Injection Attack].[Mitigation] */ + if (before(ack, prior_snd_una - tp->max_window)) { + tcp_send_challenge_ack(sk); + return -1; + } goto old_ack; + } /* If the ack includes data we haven't sent yet, discard * this segment (RFC793 Section 3.9). @@ -3804,6 +3860,12 @@ prior_fackets = tp->fackets_out; prior_in_flight = tcp_packets_in_flight(tp); + /* ts_recent update must be made after we are sure that the packet + * is in window. + */ + if (flag & FLAG_UPDATE_TS_RECENT) + tcp_replace_ts_recent(tp, TCP_SKB_CB(skb)->seq); + if (!(flag & FLAG_SLOWPATH) && after(ack, prior_snd_una)) { /* Window is constant, pure forward advance. * No more checks are required. @@ -3839,16 +3901,14 @@ sk->sk_err_soft = 0; icsk->icsk_probes_out = 0; tp->rcv_tstamp = tcp_time_stamp; - prior_packets = tp->packets_out; if (!prior_packets) goto no_queue; /* See if we can take anything off of the retransmit queue. */ + previous_packets_out = tp->packets_out; 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); + pkts_acked = previous_packets_out - tp->packets_out; if (tp->frto_counter) frto_cwnd = tcp_process_frto(sk, flag); @@ -3862,8 +3922,8 @@ 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, - is_dupack, flag); + tcp_fastretrans_alert(sk, pkts_acked, prior_sacked, + prior_packets, is_dupack, flag); } else { if ((flag & FLAG_DATA_ACKED) && !frto_cwnd) tcp_cong_avoid(sk, ack, prior_in_flight); @@ -3877,8 +3937,8 @@ 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, - is_dupack, flag); + tcp_fastretrans_alert(sk, pkts_acked, prior_sacked, + prior_packets, 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 * it needs to be for normal retransmission. @@ -3897,9 +3957,8 @@ */ 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, - is_dupack, flag); + tcp_fastretrans_alert(sk, pkts_acked, prior_sacked, + prior_packets, is_dupack, flag); } SOCK_DEBUG(sk, "Ack %u before %u:%u\n", ack, tp->snd_una, tp->snd_nxt); @@ -4103,27 +4162,6 @@ EXPORT_SYMBOL(tcp_parse_md5sig_option); #endif -static inline void tcp_store_ts_recent(struct tcp_sock *tp) -{ - tp->rx_opt.ts_recent = tp->rx_opt.rcv_tsval; - tp->rx_opt.ts_recent_stamp = get_seconds(); -} - -static inline void tcp_replace_ts_recent(struct tcp_sock *tp, u32 seq) -{ - if (tp->rx_opt.saw_tstamp && !after(seq, tp->rcv_wup)) { - /* PAWS bug workaround wrt. ACK frames, the PAWS discard - * extra check below makes sure this can only happen - * for pure ACK frames. -DaveM - * - * Not only, also it occurs for expired timestamps. - */ - - if (tcp_paws_check(&tp->rx_opt, 0)) - tcp_store_ts_recent(tp); - } -} - /* Sorry, PAWS as specified is broken wrt. pure-ACKs -DaveM * * It is not fatal. If this ACK does _not_ change critical state (seqs, window) @@ -4714,6 +4752,9 @@ struct tcphdr *th; bool fragstolen; + if (size == 0) + return 0; + if (tcp_try_rmem_schedule(sk, size + sizeof(*th))) goto err; @@ -4819,7 +4860,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; } @@ -5429,8 +5470,8 @@ /* Does PAWS and seqno based validation of an incoming segment, flags will * play significant role here. */ -static int tcp_validate_incoming(struct sock *sk, struct sk_buff *skb, - const struct tcphdr *th, int syn_inerr) +static bool tcp_validate_incoming(struct sock *sk, struct sk_buff *skb, + const struct tcphdr *th, int syn_inerr) { const u8 *hash_location; struct tcp_sock *tp = tcp_sk(sk); @@ -5455,38 +5496,48 @@ * an acknowledgment should be sent in reply (unless the RST * bit is set, if so drop the segment and return)". */ - if (!th->rst) + if (!th->rst) { + if (th->syn) + goto syn_challenge; tcp_send_dupack(sk, skb); + } goto discard; } /* Step 2: check RST bit */ if (th->rst) { - tcp_reset(sk); + /* RFC 5961 3.2 : + * If sequence number exactly matches RCV.NXT, then + * RESET the connection + * else + * Send a challenge ACK + */ + if (TCP_SKB_CB(skb)->seq == tp->rcv_nxt) + tcp_reset(sk); + else + tcp_send_challenge_ack(sk); goto discard; } - /* ts_recent update must be made after we are sure that the packet - * is in window. - */ - tcp_replace_ts_recent(tp, TCP_SKB_CB(skb)->seq); - /* step 3: check security and precedence [ignored] */ - /* step 4: Check for a SYN in window. */ - if (th->syn && !before(TCP_SKB_CB(skb)->seq, tp->rcv_nxt)) { + /* step 4: Check for a SYN + * RFC 5691 4.2 : Send a challenge ack + */ + if (th->syn) { +syn_challenge: if (syn_inerr) TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_INERRS); - NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPABORTONSYN); - tcp_reset(sk); - return -1; + NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPSYNCHALLENGE); + tcp_send_challenge_ack(sk); + goto discard; } - return 1; + return true; discard: __kfree_skb(skb); - return 0; + return false; } /* @@ -5516,7 +5567,6 @@ const struct tcphdr *th, unsigned int len) { struct tcp_sock *tp = tcp_sk(sk); - int res; /* * Header prediction. @@ -5602,7 +5652,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; } @@ -5638,6 +5690,9 @@ if (tcp_checksum_complete_user(sk, skb)) goto csum_error; + if ((int)skb->truesize > sk->sk_forward_alloc) + goto step5; + /* Predicted packet is in window by definition. * seq == rcv_nxt and rcv_wup <= rcv_nxt. * Hence, check seq<=rcv_wup reduces to: @@ -5649,9 +5704,6 @@ tcp_rcv_rtt_measure_ts(sk, skb); - if ((int)skb->truesize > sk->sk_forward_alloc) - goto step5; - NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPHPHITS); /* Bulk data transfer: receiver */ @@ -5679,8 +5731,7 @@ #endif if (eaten) kfree_skb_partial(skb, fragstolen); - else - sk->sk_data_ready(sk, 0); + sk->sk_data_ready(sk, 0); return 0; } } @@ -5693,12 +5744,11 @@ * Standard slow path. */ - res = tcp_validate_incoming(sk, skb, th, 1); - if (res <= 0) - return -res; + if (!tcp_validate_incoming(sk, skb, th, 1)) + return 0; step5: - if (th->ack && tcp_ack(sk, skb, FLAG_SLOWPATH) < 0) + if (th->ack && tcp_ack(sk, skb, FLAG_SLOWPATH | FLAG_UPDATE_TS_RECENT) < 0) goto discard; tcp_rcv_rtt_measure_ts(sk, skb); @@ -6013,7 +6063,6 @@ struct tcp_sock *tp = tcp_sk(sk); struct inet_connection_sock *icsk = inet_csk(sk); int queued = 0; - int res; tp->rx_opt.saw_tstamp = 0; @@ -6068,13 +6117,13 @@ return 0; } - res = tcp_validate_incoming(sk, skb, th, 0); - if (res <= 0) - return -res; + if (!tcp_validate_incoming(sk, skb, th, 0)) + return 0; /* step 5: check the ACK field */ if (th->ack) { - int acceptable = tcp_ack(sk, skb, FLAG_SLOWPATH) > 0; + int acceptable = tcp_ack(sk, skb, FLAG_SLOWPATH | + FLAG_UPDATE_TS_RECENT) > 0; switch (sk->sk_state) { case TCP_SYN_RECV: --- linux-lts-quantal-3.5.0.orig/net/ipv4/tcp_output.c +++ linux-lts-quantal-3.5.0/net/ipv4/tcp_output.c @@ -836,11 +836,13 @@ &md5); tcp_header_size = tcp_options_size + sizeof(struct tcphdr); - if (tcp_packets_in_flight(tp) == 0) { + if (tcp_packets_in_flight(tp) == 0) tcp_ca_event(sk, CA_EVENT_TX_START); - skb->ooo_okay = 1; - } else - skb->ooo_okay = 0; + + /* if no packet is in qdisc/device queue, then allow XPS to select + * another queue. + */ + skb->ooo_okay = sk_wmem_alloc_get(sk) == 0; skb_push(skb, tcp_header_size); skb_reset_transport_header(skb); @@ -1097,7 +1099,6 @@ eat = min_t(int, len, skb_headlen(skb)); if (eat) { __skb_pull(skb, eat); - skb->avail_size -= eat; len -= eat; if (!len) return; @@ -1334,21 +1335,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 +1578,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? */ @@ -1604,8 +1606,11 @@ goto send_now; } - /* Ok, it looks like it is advisable to defer. */ - tp->tso_deferred = 1 | (jiffies << 1); + /* Ok, it looks like it is advisable to defer. + * Do not rearm the timer if already set to not break TCP ACK clocking. + */ + if (!tp->tso_deferred) + tp->tso_deferred = 1 | (jiffies << 1); return true; @@ -1783,6 +1788,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 +1811,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 +1824,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. */ @@ -2166,8 +2177,12 @@ */ TCP_SKB_CB(skb)->when = tcp_time_stamp; - /* make sure skb->data is aligned on arches that require it */ - if (unlikely(NET_IP_ALIGN && ((unsigned long)skb->data & 3))) { + /* make sure skb->data is aligned on arches that require it + * and check if ack-trimming & collapsing extended the headroom + * beyond what csum_start can cover. + */ + if (unlikely((NET_IP_ALIGN && ((unsigned long)skb->data & 3)) || + skb_headroom(skb) >= 0xFFFF)) { struct sk_buff *nskb = __pskb_copy(skb, MAX_TCP_HEADER, GFP_ATOMIC); err = nskb ? tcp_transmit_skb(sk, nskb, 0, GFP_ATOMIC) : --- linux-lts-quantal-3.5.0.orig/net/ipv4/xfrm4_mode_tunnel.c +++ linux-lts-quantal-3.5.0/net/ipv4/xfrm4_mode_tunnel.c @@ -54,7 +54,7 @@ top_iph->frag_off = (flags & XFRM_STATE_NOPMTUDISC) ? 0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF)); - ip_select_ident(top_iph, dst->child, NULL); + ip_select_ident(skb, dst->child, NULL); top_iph->ttl = ip4_dst_hoplimit(dst->child); --- linux-lts-quantal-3.5.0.orig/net/ipv4/tcp.c +++ linux-lts-quantal-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); @@ -771,7 +769,7 @@ * Make sure that we have exactly size bytes * available to the caller, no more, no less. */ - skb->avail_size = size; + skb->reserved_tailroom = skb->end - skb->tail - size; return skb; } __kfree_skb(skb); @@ -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; @@ -3285,8 +3294,11 @@ for (i = 0; i < shi->nr_frags; ++i) { const struct skb_frag_struct *f = &shi->frags[i]; - struct page *page = skb_frag_page(f); - sg_set_page(&sg, page, skb_frag_size(f), f->page_offset); + unsigned int offset = f->page_offset; + struct page *page = skb_frag_page(f) + (offset >> PAGE_SHIFT); + + sg_set_page(&sg, page, skb_frag_size(f), + offset_in_page(offset)); if (crypto_hash_update(desc, &sg, skb_frag_size(f))) return 1; } --- linux-lts-quantal-3.5.0.orig/net/ipv4/ip_options.c +++ linux-lts-quantal-3.5.0/net/ipv4/ip_options.c @@ -360,7 +360,6 @@ } switch (optptr[3]&0xF) { case IPOPT_TS_TSONLY: - opt->ts = optptr - iph; if (skb) timeptr = &optptr[optptr[2]-1]; opt->ts_needtime = 1; @@ -371,7 +370,6 @@ pp_ptr = optptr + 2; goto error; } - opt->ts = optptr - iph; if (rt) { memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4); timeptr = &optptr[optptr[2]+3]; @@ -385,7 +383,6 @@ pp_ptr = optptr + 2; goto error; } - opt->ts = optptr - iph; { __be32 addr; memcpy(&addr, &optptr[optptr[2]-1], 4); @@ -418,12 +415,12 @@ pp_ptr = optptr + 3; goto error; } - opt->ts = optptr - iph; if (skb) { optptr[3] = (optptr[3]&0xF)|((overflow+1)<<4); opt->is_changed = 1; } } + opt->ts = optptr - iph; break; case IPOPT_RA: if (optlen < 4) { --- linux-lts-quantal-3.5.0.orig/net/ipv4/raw.c +++ linux-lts-quantal-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 */ @@ -382,7 +384,7 @@ iph->check = 0; iph->tot_len = htons(length); if (!iph->id) - ip_select_ident(iph, &rt->dst, NULL); + ip_select_ident(skb, &rt->dst, NULL); iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); } --- linux-lts-quantal-3.5.0.orig/net/ipv4/ping.c +++ linux-lts-quantal-3.5.0/net/ipv4/ping.c @@ -328,8 +328,8 @@ struct iphdr *iph = (struct iphdr *)skb->data; struct icmphdr *icmph = (struct icmphdr *)(skb->data+(iph->ihl<<2)); struct inet_sock *inet_sock; - int type = icmph->type; - int code = icmph->code; + int type = icmp_hdr(skb)->type; + int code = icmp_hdr(skb)->code; struct net *net = dev_net(skb->dev); struct sock *sk; int harderr; --- linux-lts-quantal-3.5.0.orig/net/ipv4/fib_frontend.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv4/tcp_cong.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv4/igmp.c +++ linux-lts-quantal-3.5.0/net/ipv4/igmp.c @@ -343,7 +343,7 @@ pip->saddr = fl4.saddr; pip->protocol = IPPROTO_IGMP; pip->tot_len = 0; /* filled in later */ - ip_select_ident(pip, &rt->dst, NULL); + ip_select_ident(skb, &rt->dst, NULL); ((u8 *)&pip[1])[0] = IPOPT_RA; ((u8 *)&pip[1])[1] = 4; ((u8 *)&pip[1])[2] = 0; @@ -687,7 +687,7 @@ iph->daddr = dst; iph->saddr = fl4.saddr; iph->protocol = IPPROTO_IGMP; - ip_select_ident(iph, &rt->dst, NULL); + ip_select_ident(skb, &rt->dst, NULL); ((u8 *)&iph[1])[0] = IPOPT_RA; ((u8 *)&iph[1])[1] = 4; ((u8 *)&iph[1])[2] = 0; @@ -709,7 +709,7 @@ in_dev->mr_gq_running = 0; igmpv3_send_report(in_dev, NULL); - __in_dev_put(in_dev); + in_dev_put(in_dev); } static void igmp_ifc_timer_expire(unsigned long data) @@ -721,7 +721,7 @@ in_dev->mr_ifc_count--; igmp_ifc_start_timer(in_dev, IGMP_Unsolicited_Report_Interval); } - __in_dev_put(in_dev); + in_dev_put(in_dev); } static void igmp_ifc_event(struct in_device *in_dev) --- linux-lts-quantal-3.5.0.orig/net/ipv4/tcp_illinois.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv4/netfilter/nf_nat_sip.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv4/netfilter/nf_nat_standalone.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/ipv4/netfilter/ipt_ULOG.c +++ linux-lts-quantal-3.5.0/net/ipv4/netfilter/ipt_ULOG.c @@ -214,8 +214,10 @@ put_unaligned(tv.tv_usec, &pm->timestamp_usec); put_unaligned(skb->mark, &pm->mark); pm->hook = hooknum; - if (prefix != NULL) - strncpy(pm->prefix, prefix, sizeof(pm->prefix)); + if (prefix != NULL) { + strncpy(pm->prefix, prefix, sizeof(pm->prefix) - 1); + pm->prefix[sizeof(pm->prefix) - 1] = '\0'; + } else if (loginfo->prefix[0] != '\0') strncpy(pm->prefix, loginfo->prefix, sizeof(pm->prefix)); else --- linux-lts-quantal-3.5.0.orig/net/wanrouter/wanmain.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/batman-adv/bat_iv_ogm.c +++ linux-lts-quantal-3.5.0/net/batman-adv/bat_iv_ogm.c @@ -117,7 +117,7 @@ { return jiffies + msecs_to_jiffies( atomic_read(&bat_priv->orig_interval) - - JITTER + (random32() % 2*JITTER)); + JITTER + (random32() % (2*JITTER))); } /* when do we schedule a ogm packet to be sent */ --- linux-lts-quantal-3.5.0.orig/net/batman-adv/routing.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/batman-adv/bridge_loop_avoidance.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/batman-adv/bitarray.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sched/sch_qfq.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sched/act_gact.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sched/sch_htb.c +++ linux-lts-quantal-3.5.0/net/sched/sch_htb.c @@ -86,7 +86,7 @@ unsigned int children; struct htb_class *parent; /* parent class */ - int prio; /* these two are used only by leaves... */ + u32 prio; /* these two are used only by leaves... */ int quantum; /* but stored for parent-to-leaf return */ union { @@ -874,7 +874,7 @@ q->now = psched_get_time(); start_at = jiffies; - next_event = q->now + 5 * PSCHED_TICKS_PER_SEC; + next_event = q->now + 5LLU * PSCHED_TICKS_PER_SEC; for (level = 0; level < TC_HTB_MAXDEPTH; level++) { /* common case optimization - skip event handler quickly */ --- linux-lts-quantal-3.5.0.orig/net/sched/sch_atm.c +++ linux-lts-quantal-3.5.0/net/sched/sch_atm.c @@ -605,6 +605,7 @@ struct sockaddr_atmpvc pvc; int state; + memset(&pvc, 0, sizeof(pvc)); pvc.sap_family = AF_ATMPVC; pvc.sap_addr.itf = flow->vcc->dev ? flow->vcc->dev->number : -1; pvc.sap_addr.vpi = flow->vcc->vpi; --- linux-lts-quantal-3.5.0.orig/net/sched/sch_cbq.c +++ linux-lts-quantal-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: @@ -962,8 +963,11 @@ cbq_update(q); if ((incr -= incr2) < 0) incr = 0; + q->now += incr; + } else { + if (now > q->now) + q->now = now; } - q->now += incr; q->now_rt = now; for (;;) { @@ -1465,6 +1469,7 @@ unsigned char *b = skb_tail_pointer(skb); struct tc_cbq_wrropt opt; + memset(&opt, 0, sizeof(opt)); opt.flags = 0; opt.allot = cl->allot; opt.priority = cl->priority + 1; --- linux-lts-quantal-3.5.0.orig/net/sched/act_ipt.c +++ linux-lts-quantal-3.5.0/net/sched/act_ipt.c @@ -8,7 +8,7 @@ * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. * - * Copyright: Jamal Hadi Salim (2002-4) + * Copyright: Jamal Hadi Salim (2002-13) */ #include @@ -300,17 +300,44 @@ .walk = tcf_generic_walker }; -MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); +static struct tc_action_ops act_xt_ops = { + .kind = "xt", + .hinfo = &ipt_hash_info, + .type = TCA_ACT_IPT, + .capab = TCA_CAP_NONE, + .owner = THIS_MODULE, + .act = tcf_ipt, + .dump = tcf_ipt_dump, + .cleanup = tcf_ipt_cleanup, + .lookup = tcf_hash_search, + .init = tcf_ipt_init, + .walk = tcf_generic_walker +}; + +MODULE_AUTHOR("Jamal Hadi Salim(2002-13)"); MODULE_DESCRIPTION("Iptables target actions"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("act_xt"); static int __init ipt_init_module(void) { - return tcf_register_action(&act_ipt_ops); + int ret1, ret2; + ret1 = tcf_register_action(&act_xt_ops); + if (ret1 < 0) + printk("Failed to load xt action\n"); + ret2 = tcf_register_action(&act_ipt_ops); + if (ret2 < 0) + printk("Failed to load ipt action\n"); + + if (ret1 < 0 && ret2 < 0) + return ret1; + else + return 0; } static void __exit ipt_cleanup_module(void) { + tcf_unregister_action(&act_xt_ops); tcf_unregister_action(&act_ipt_ops); } --- linux-lts-quantal-3.5.0.orig/net/wireless/core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/wireless/core.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/wireless/util.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/wireless/reg.c +++ linux-lts-quantal-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; } @@ -857,7 +864,7 @@ return; REG_DBG_PRINT("Disabling freq %d MHz\n", chan->center_freq); - chan->flags = IEEE80211_CHAN_DISABLED; + chan->flags |= IEEE80211_CHAN_DISABLED; return; } @@ -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-lts-quantal-3.5.0.orig/net/wireless/nl80211.c +++ linux-lts-quantal-3.5.0/net/wireless/nl80211.c @@ -5212,12 +5212,14 @@ void cfg80211_testmode_event(struct sk_buff *skb, gfp_t gfp) { + struct cfg80211_registered_device *rdev = ((void **)skb->cb)[0]; void *hdr = ((void **)skb->cb)[1]; struct nlattr *data = ((void **)skb->cb)[2]; nla_nest_end(skb, data); genlmsg_end(skb, hdr); - genlmsg_multicast(skb, 0, nl80211_testmode_mcgrp.id, gfp); + genlmsg_multicast_netns(wiphy_net(&rdev->wiphy), skb, 0, + nl80211_testmode_mcgrp.id, gfp); } EXPORT_SYMBOL(cfg80211_testmode_event); #endif @@ -7925,7 +7927,8 @@ genlmsg_end(msg, hdr); - genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, gfp); + genlmsg_multicast_netns(wiphy_net(&rdev->wiphy), msg, 0, + nl80211_mlme_mcgrp.id, gfp); return; nla_put_failure: --- linux-lts-quantal-3.5.0.orig/net/wireless/sme.c +++ linux-lts-quantal-3.5.0/net/wireless/sme.c @@ -222,6 +222,9 @@ mutex_lock(&rdev->devlist_mtx); list_for_each_entry(wdev, &rdev->netdev_list, list) { + if (!wdev->netdev) + continue; + wdev_lock(wdev); if (!netif_running(wdev->netdev)) { wdev_unlock(wdev); --- linux-lts-quantal-3.5.0.orig/net/wireless/mlme.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/l2tp/l2tp_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/l2tp/l2tp_ip6.c +++ linux-lts-quantal-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; @@ -683,6 +684,7 @@ lsa->l2tp_addr = ipv6_hdr(skb)->saddr; lsa->l2tp_flowinfo = 0; lsa->l2tp_scope_id = 0; + lsa->l2tp_conn_id = 0; if (ipv6_addr_type(&lsa->l2tp_addr) & IPV6_ADDR_LINKLOCAL) lsa->l2tp_scope_id = IP6CB(skb)->iif; } --- linux-lts-quantal-3.5.0.orig/net/l2tp/l2tp_eth.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/l2tp/l2tp_ppp.c +++ linux-lts-quantal-3.5.0/net/l2tp/l2tp_ppp.c @@ -345,18 +345,19 @@ skb_put(skb, 2); /* Copy user data into skb */ - error = memcpy_fromiovec(skb->data, m->msg_iov, total_len); + error = memcpy_fromiovec(skb_put(skb, total_len), m->msg_iov, + total_len); if (error < 0) { kfree_skb(skb); goto error_put_sess_tun; } - skb_put(skb, total_len); l2tp_xmit_skb(session, skb, session->hdr_len); sock_put(ps->tunnel_sock); + sock_put(sk); - return error; + return total_len; error_put_sess_tun: sock_put(ps->tunnel_sock); @@ -1836,7 +1837,8 @@ static const struct pppox_proto pppol2tp_proto = { .create = pppol2tp_create, - .ioctl = pppol2tp_ioctl + .ioctl = pppol2tp_ioctl, + .owner = THIS_MODULE, }; #ifdef CONFIG_L2TP_V3 --- linux-lts-quantal-3.5.0.orig/net/l2tp/l2tp_core.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sunrpc/xprt.c +++ linux-lts-quantal-3.5.0/net/sunrpc/xprt.c @@ -485,13 +485,17 @@ * xprt_wait_for_buffer_space - wait for transport output buffer to clear * @task: task to be put to sleep * @action: function pointer to be executed after wait + * + * Note that we only set the timer for the case of RPC_IS_SOFT(), since + * we don't in general want to force a socket disconnection due to + * an incomplete RPC call transmission. */ void xprt_wait_for_buffer_space(struct rpc_task *task, rpc_action action) { struct rpc_rqst *req = task->tk_rqstp; struct rpc_xprt *xprt = req->rq_xprt; - task->tk_timeout = req->rq_timeout; + task->tk_timeout = RPC_IS_SOFT(task) ? req->rq_timeout : 0; rpc_sleep_on(&xprt->pending, task, action); } EXPORT_SYMBOL_GPL(xprt_wait_for_buffer_space); @@ -969,11 +973,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 +998,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 +1104,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) @@ -1133,10 +1143,18 @@ void xprt_release(struct rpc_task *task) { struct rpc_xprt *xprt; - struct rpc_rqst *req; + struct rpc_rqst *req = task->tk_rqstp; - if (!(req = task->tk_rqstp)) + if (req == NULL) { + if (task->tk_client) { + rcu_read_lock(); + xprt = rcu_dereference(task->tk_client->cl_xprt); + if (xprt->snd_task == task) + xprt_release_write(xprt, task); + rcu_read_unlock(); + } return; + } xprt = req->rq_xprt; if (task->tk_ops->rpc_count_stats != NULL) --- linux-lts-quantal-3.5.0.orig/net/sunrpc/svc_xprt.c +++ linux-lts-quantal-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); @@ -816,7 +814,6 @@ struct svc_serv *serv = (struct svc_serv *)closure; struct svc_xprt *xprt; struct list_head *le, *next; - LIST_HEAD(to_be_aged); dprintk("svc_age_temp_xprts\n"); @@ -837,25 +834,15 @@ if (atomic_read(&xprt->xpt_ref.refcount) > 1 || test_bit(XPT_BUSY, &xprt->xpt_flags)) continue; - svc_xprt_get(xprt); - list_move(le, &to_be_aged); + list_del_init(le); set_bit(XPT_CLOSE, &xprt->xpt_flags); set_bit(XPT_DETACHED, &xprt->xpt_flags); - } - spin_unlock_bh(&serv->sv_lock); - - while (!list_empty(&to_be_aged)) { - le = to_be_aged.next; - /* fiddling the xpt_list node is safe 'cos we're XPT_DETACHED */ - list_del_init(le); - xprt = list_entry(le, struct svc_xprt, xpt_list); - dprintk("queuing xprt %p for closing\n", xprt); /* a thread will dequeue and close it soon */ svc_xprt_enqueue(xprt); - svc_xprt_put(xprt); } + spin_unlock_bh(&serv->sv_lock); mod_timer(&serv->sv_temptimer, jiffies + svc_conn_age_period * HZ); } --- linux-lts-quantal-3.5.0.orig/net/sunrpc/cache.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sunrpc/rpc_pipe.c +++ linux-lts-quantal-3.5.0/net/sunrpc/rpc_pipe.c @@ -1152,14 +1152,19 @@ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); mutex_lock(&sn->pipefs_sb_lock); + if (sn->pipefs_sb != sb) { + mutex_unlock(&sn->pipefs_sb_lock); + goto out; + } sn->pipefs_sb = NULL; mutex_unlock(&sn->pipefs_sb_lock); - put_net(net); dprintk("RPC: sending pipefs UMOUNT notification for net %p%s\n", net, NET_NAME(net)); blocking_notifier_call_chain(&rpc_pipefs_notifier_list, RPC_PIPEFS_UMOUNT, sb); + put_net(net); +out: kill_litter_super(sb); } --- linux-lts-quantal-3.5.0.orig/net/sunrpc/rpcb_clnt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sunrpc/xprtsock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sunrpc/sched.c +++ linux-lts-quantal-3.5.0/net/sunrpc/sched.c @@ -143,6 +143,8 @@ list_add_tail(&task->u.tk_wait.list, &queue->tasks[0]); task->tk_waitqueue = queue; queue->qlen++; + /* barrier matches the read in rpc_wake_up_task_queue_locked() */ + smp_wmb(); rpc_set_queued(task); dprintk("RPC: %5u added to queue %p \"%s\"\n", @@ -300,13 +302,20 @@ /* * Make an RPC task runnable. * - * Note: If the task is ASYNC, this must be called with - * the spinlock held to protect the wait queue operation. + * Note: If the task is ASYNC, and is being made runnable after sitting on an + * rpc_wait_queue, this must be called with the queue spinlock held to protect + * the wait queue operation. + * Note the ordering of rpc_test_and_set_running() and rpc_clear_queued(), + * which is needed to ensure that __rpc_execute() doesn't loop (due to the + * lockless RPC_IS_QUEUED() test) before we've had a chance to test + * the RPC_TASK_RUNNING flag. */ static void rpc_make_runnable(struct rpc_task *task) { + bool need_wakeup = !rpc_test_and_set_running(task); + rpc_clear_queued(task); - if (rpc_test_and_set_running(task)) + if (!need_wakeup) return; if (RPC_IS_ASYNC(task)) { INIT_WORK(&task->u.tk_work, rpc_async_schedule); @@ -399,8 +408,11 @@ */ static void rpc_wake_up_task_queue_locked(struct rpc_wait_queue *queue, struct rpc_task *task) { - if (RPC_IS_QUEUED(task) && task->tk_waitqueue == queue) - __rpc_do_wake_up_task(queue, task); + if (RPC_IS_QUEUED(task)) { + smp_rmb(); + if (task->tk_waitqueue == queue) + __rpc_do_wake_up_task(queue, task); + } } /* @@ -790,7 +802,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; } /** @@ -913,16 +927,35 @@ return task; } +/* + * rpc_free_task - release rpc task and perform cleanups + * + * Note that we free up the rpc_task _after_ rpc_release_calldata() + * in order to work around a workqueue dependency issue. + * + * Tejun Heo states: + * "Workqueue currently considers two work items to be the same if they're + * on the same address and won't execute them concurrently - ie. it + * makes a work item which is queued again while being executed wait + * for the previous execution to complete. + * + * If a work function frees the work item, and then waits for an event + * which should be performed by another work item and *that* work item + * recycles the freed work item, it can create a false dependency loop. + * There really is no reliable way to detect this short of verifying + * every memory free." + * + */ static void rpc_free_task(struct rpc_task *task) { - const struct rpc_call_ops *tk_ops = task->tk_ops; - void *calldata = task->tk_calldata; + unsigned short tk_flags = task->tk_flags; + + rpc_release_calldata(task->tk_ops, task->tk_calldata); - if (task->tk_flags & RPC_TASK_DYNAMIC) { + if (tk_flags & RPC_TASK_DYNAMIC) { dprintk("RPC: %5u freeing task\n", task->tk_pid); mempool_free(task, rpc_task_mempool); } - rpc_release_calldata(tk_ops, calldata); } static void rpc_async_release(struct work_struct *work) @@ -932,8 +965,7 @@ static void rpc_release_resources_task(struct rpc_task *task) { - if (task->tk_rqstp) - xprt_release(task); + xprt_release(task); if (task->tk_msg.rpc_cred) { put_rpccred(task->tk_msg.rpc_cred); task->tk_msg.rpc_cred = NULL; --- linux-lts-quantal-3.5.0.orig/net/sunrpc/xdr.c +++ linux-lts-quantal-3.5.0/net/sunrpc/xdr.c @@ -233,10 +233,13 @@ pgfrom_base -= copy; vto = kmap_atomic(*pgto); - vfrom = kmap_atomic(*pgfrom); - memmove(vto + pgto_base, vfrom + pgfrom_base, copy); + if (*pgto != *pgfrom) { + vfrom = kmap_atomic(*pgfrom); + memcpy(vto + pgto_base, vfrom + pgfrom_base, copy); + kunmap_atomic(vfrom); + } else + memmove(vto + pgto_base, vto + pgfrom_base, copy); flush_dcache_page(*pgto); - kunmap_atomic(vfrom); kunmap_atomic(vto); } while ((len -= copy) != 0); --- linux-lts-quantal-3.5.0.orig/net/sunrpc/svcsock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/sunrpc/clnt.c +++ linux-lts-quantal-3.5.0/net/sunrpc/clnt.c @@ -234,7 +234,7 @@ spin_lock(&sn->rpc_client_lock); list_for_each_entry(clnt, &sn->all_clients, cl_clients) { if (clnt->cl_program->pipe_dir_name == NULL) - break; + continue; if (rpc_clnt_skip_event(clnt, event)) continue; if (atomic_inc_not_zero(&clnt->cl_count) == 0) @@ -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-lts-quantal-3.5.0.orig/net/sunrpc/xprtrdma/svc_rdma_marshal.c +++ linux-lts-quantal-3.5.0/net/sunrpc/xprtrdma/svc_rdma_marshal.c @@ -98,6 +98,7 @@ */ static u32 *decode_write_list(u32 *va, u32 *vaend) { + unsigned long start, end; int nchunks; struct rpcrdma_write_array *ary = @@ -113,9 +114,12 @@ return NULL; } nchunks = ntohl(ary->wc_nchunks); - if (((unsigned long)&ary->wc_array[0] + - (sizeof(struct rpcrdma_write_chunk) * nchunks)) > - (unsigned long)vaend) { + + start = (unsigned long)&ary->wc_array[0]; + end = (unsigned long)vaend; + if (nchunks < 0 || + nchunks > (SIZE_MAX - start) / sizeof(struct rpcrdma_write_chunk) || + (start + (sizeof(struct rpcrdma_write_chunk) * nchunks)) > end) { dprintk("svcrdma: ary=%p, wc_nchunks=%d, vaend=%p\n", ary, nchunks, vaend); return NULL; @@ -129,6 +133,7 @@ static u32 *decode_reply_array(u32 *va, u32 *vaend) { + unsigned long start, end; int nchunks; struct rpcrdma_write_array *ary = (struct rpcrdma_write_array *)va; @@ -143,9 +148,12 @@ return NULL; } nchunks = ntohl(ary->wc_nchunks); - if (((unsigned long)&ary->wc_array[0] + - (sizeof(struct rpcrdma_write_chunk) * nchunks)) > - (unsigned long)vaend) { + + start = (unsigned long)&ary->wc_array[0]; + end = (unsigned long)vaend; + if (nchunks < 0 || + nchunks > (SIZE_MAX - start) / sizeof(struct rpcrdma_write_chunk) || + (start + (sizeof(struct rpcrdma_write_chunk) * nchunks)) > end) { dprintk("svcrdma: ary=%p, wc_nchunks=%d, vaend=%p\n", ary, nchunks, vaend); return NULL; --- linux-lts-quantal-3.5.0.orig/net/sunrpc/xprtrdma/transport.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/caif/cfctrl.c +++ linux-lts-quantal-3.5.0/net/caif/cfctrl.c @@ -291,9 +291,10 @@ count = cfctrl_cancel_req(&cfctrl->serv.layer, user_layer); - if (count != 1) + if (count != 1) { pr_err("Could not remove request (%d)", count); return -ENODEV; + } } return 0; } --- linux-lts-quantal-3.5.0.orig/net/caif/caif_socket.c +++ linux-lts-quantal-3.5.0/net/caif/caif_socket.c @@ -286,6 +286,8 @@ if (m->msg_flags&MSG_OOB) goto read_error; + m->msg_namelen = 0; + skb = skb_recv_datagram(sk, flags, 0 , &ret); if (!skb) goto read_error; --- linux-lts-quantal-3.5.0.orig/net/netlink/genetlink.c +++ linux-lts-quantal-3.5.0/net/netlink/genetlink.c @@ -142,6 +142,7 @@ int err = 0; BUG_ON(grp->name[0] == '\0'); + BUG_ON(memchr(grp->name, '\0', GENL_NAMSIZ) == NULL); genl_lock(); --- linux-lts-quantal-3.5.0.orig/net/netlink/af_netlink.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/nfc/llcp/llcp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/nfc/llcp/sock.c +++ linux-lts-quantal-3.5.0/net/nfc/llcp/sock.c @@ -570,6 +570,8 @@ pr_debug("%p %zu\n", sk, len); + msg->msg_namelen = 0; + lock_sock(sk); if (sk->sk_state == LLCP_CLOSED && --- linux-lts-quantal-3.5.0.orig/net/9p/trans_common.c +++ linux-lts-quantal-3.5.0/net/9p/trans_common.c @@ -24,11 +24,11 @@ */ void p9_release_pages(struct page **pages, int nr_pages) { - int i = 0; - while (pages[i] && nr_pages--) { - put_page(pages[i]); - i++; - } + int i; + + for (i = 0; i < nr_pages; i++) + if (pages[i]) + put_page(pages[i]); } EXPORT_SYMBOL(p9_release_pages); --- linux-lts-quantal-3.5.0.orig/net/can/bcm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/can/gw.c +++ linux-lts-quantal-3.5.0/net/can/gw.c @@ -436,7 +436,7 @@ if (gwj->src.dev == dev || gwj->dst.dev == dev) { hlist_del(&gwj->list); cgw_unregister_filter(gwj); - kfree(gwj); + kmem_cache_free(cgw_cache, gwj); } } } @@ -850,7 +850,7 @@ hlist_for_each_entry_safe(gwj, n, nx, &cgw_list, list) { hlist_del(&gwj->list); cgw_unregister_filter(gwj); - kfree(gwj); + kmem_cache_free(cgw_cache, gwj); } } @@ -903,7 +903,7 @@ hlist_del(&gwj->list); cgw_unregister_filter(gwj); - kfree(gwj); + kmem_cache_free(cgw_cache, gwj); err = 0; break; } --- linux-lts-quantal-3.5.0.orig/net/core/flow_dissector.c +++ linux-lts-quantal-3.5.0/net/core/flow_dissector.c @@ -133,8 +133,8 @@ if (poff >= 0) { __be32 *ports, _ports; - nhoff += poff; - ports = skb_header_pointer(skb, nhoff, sizeof(_ports), &_ports); + ports = skb_header_pointer(skb, nhoff + poff, + sizeof(_ports), &_ports); if (ports) flow->ports = *ports; } --- linux-lts-quantal-3.5.0.orig/net/core/sysctl_net_core.c +++ linux-lts-quantal-3.5.0/net/core/sysctl_net_core.c @@ -20,6 +20,9 @@ #include #include +static int zero = 0; +static int ushort_max = USHRT_MAX; + #ifdef CONFIG_RPS static int rps_sock_flow_sysctl(ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) @@ -198,7 +201,9 @@ .data = &init_net.core.sysctl_somaxconn, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec + .extra1 = &zero, + .extra2 = &ushort_max, + .proc_handler = proc_dointvec_minmax }, { } }; --- linux-lts-quantal-3.5.0.orig/net/core/ethtool.c +++ linux-lts-quantal-3.5.0/net/core/ethtool.c @@ -1384,7 +1384,7 @@ void __user *useraddr = ifr->ifr_data; u32 ethcmd; int rc; - u32 old_features; + netdev_features_t old_features; if (!dev || !netif_device_present(dev)) return -ENODEV; --- linux-lts-quantal-3.5.0.orig/net/core/rtnetlink.c +++ linux-lts-quantal-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; } @@ -975,6 +981,7 @@ * report anything. */ ivi.spoofchk = -1; + memset(ivi.mac, 0, sizeof(ivi.mac)); if (dev->netdev_ops->ndo_get_vf_config(dev, i, &ivi)) break; vf_mac.vf = @@ -1066,7 +1073,7 @@ rcu_read_lock(); cb->seq = net->dev_base_seq; - if (nlmsg_parse(cb->nlh, sizeof(struct rtgenmsg), tb, IFLA_MAX, + if (nlmsg_parse(cb->nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX, ifla_policy) >= 0) { if (tb[IFLA_EXT_MASK]) @@ -1378,6 +1385,7 @@ goto errout; send_addr_notify = 1; modified = 1; + add_device_randomness(dev->dev_addr, dev->addr_len); } if (tb[IFLA_MTU]) { @@ -1908,7 +1916,7 @@ u32 ext_filter_mask = 0; u16 min_ifinfo_dump_size = 0; - if (nlmsg_parse(nlh, sizeof(struct rtgenmsg), tb, IFLA_MAX, + if (nlmsg_parse(nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX, ifla_policy) >= 0) { if (tb[IFLA_EXT_MASK]) ext_filter_mask = nla_get_u32(tb[IFLA_EXT_MASK]); @@ -2309,7 +2317,7 @@ struct rtattr *attr = (void *)nlh + NLMSG_ALIGN(min_len); while (RTA_OK(attr, attrlen)) { - unsigned int flavor = attr->rta_type; + unsigned int flavor = attr->rta_type & NLA_TYPE_MASK; if (flavor) { if (flavor > rta_max[sz_idx]) return -EINVAL; --- linux-lts-quantal-3.5.0.orig/net/core/sock_diag.c +++ linux-lts-quantal-3.5.0/net/core/sock_diag.c @@ -126,6 +126,9 @@ if (nlmsg_len(nlh) < sizeof(*req)) return -EINVAL; + if (req->sdiag_family >= AF_MAX) + return -EINVAL; + hndl = sock_diag_lock_handler(req->sdiag_family); if (hndl == NULL) err = -ENOENT; --- linux-lts-quantal-3.5.0.orig/net/core/dev.c +++ linux-lts-quantal-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; @@ -1477,7 +1481,6 @@ return; } #endif - WARN_ON(in_interrupt()); static_key_slow_inc(&netstamp_needed); } EXPORT_SYMBOL(net_enable_timestamp); @@ -1624,6 +1627,7 @@ skb->mark = 0; secpath_reset(skb); nf_reset(skb); + nf_reset_trace(skb); return netif_rx(skb); } EXPORT_SYMBOL_GPL(dev_forward_skb); @@ -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; @@ -1877,6 +1893,9 @@ struct net_device *dev = skb->dev; const char *driver = ""; + if (!net_ratelimit()) + return; + if (dev && dev->dev.parent) driver = dev_driver_string(dev->dev.parent); @@ -2103,7 +2122,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 +2138,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; @@ -2145,7 +2168,7 @@ * support DMA from it. */ static inline int skb_needs_linearize(struct sk_buff *skb, - int features) + netdev_features_t features) { return skb_is_nonlinear(skb) && ((skb_has_frag_list(skb) && @@ -2596,15 +2619,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 +2764,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; @@ -3099,6 +3125,7 @@ if (dev->rx_handler) return -EBUSY; + /* Note: rx_handler_data must be set before rx_handler */ rcu_assign_pointer(dev->rx_handler_data, rx_handler_data); rcu_assign_pointer(dev->rx_handler, rx_handler); @@ -3119,6 +3146,11 @@ ASSERT_RTNL(); RCU_INIT_POINTER(dev->rx_handler, NULL); + /* a reader seeing a non NULL rx_handler in a rcu_read_lock() + * section has a guarantee to see a non NULL rx_handler_data + * as well. + */ + synchronize_net(); RCU_INIT_POINTER(dev->rx_handler_data, NULL); } EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister); @@ -3185,18 +3217,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); @@ -3204,6 +3236,7 @@ } switch (rx_handler(&skb)) { case RX_HANDLER_CONSUMED: + ret = NET_RX_SUCCESS; goto out; case RX_HANDLER_ANOTHER: goto another_round; @@ -3216,6 +3249,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 +4803,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 +5582,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 +5946,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-lts-quantal-3.5.0.orig/net/core/sock.c +++ linux-lts-quantal-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); @@ -806,15 +807,20 @@ void cred_to_ucred(struct pid *pid, const struct cred *cred, - struct ucred *ucred) + struct ucred *ucred, bool use_effective) { ucred->pid = pid_vnr(pid); ucred->uid = ucred->gid = -1; if (cred) { struct user_namespace *current_ns = current_user_ns(); - ucred->uid = from_kuid(current_ns, cred->euid); - ucred->gid = from_kgid(current_ns, cred->egid); + if (use_effective) { + ucred->uid = from_kuid(current_ns, cred->euid); + ucred->gid = from_kgid(current_ns, cred->egid); + } else { + ucred->uid = from_kuid(current_ns, cred->uid); + ucred->gid = from_kgid(current_ns, cred->gid); + } } } EXPORT_SYMBOL_GPL(cred_to_ucred); @@ -975,7 +981,8 @@ struct ucred peercred; if (len > sizeof(peercred)) len = sizeof(peercred); - cred_to_ucred(sk->sk_peer_pid, sk->sk_peer_cred, &peercred); + cred_to_ucred(sk->sk_peer_pid, sk->sk_peer_cred, + &peercred, true); if (copy_to_user(optval, &peercred, len)) return -EFAULT; goto lenout; @@ -1078,18 +1085,6 @@ #endif } -/* - * caches using SLAB_DESTROY_BY_RCU should let .next pointer from nulls nodes - * un-modified. Special care is taken when initializing object to zero. - */ -static inline void sk_prot_clear_nulls(struct sock *sk, int size) -{ - if (offsetof(struct sock, sk_node.next) != 0) - memset(sk, 0, offsetof(struct sock, sk_node.next)); - memset(&sk->sk_node.pprev, 0, - size - offsetof(struct sock, sk_node.pprev)); -} - void sk_prot_clear_portaddr_nulls(struct sock *sk, int size) { unsigned long nulls1, nulls2; @@ -1403,6 +1398,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-lts-quantal-3.5.0.orig/net/core/dev_addr_lists.c +++ linux-lts-quantal-3.5.0/net/core/dev_addr_lists.c @@ -38,7 +38,7 @@ ha->type = addr_type; ha->refcount = 1; ha->global_use = global; - ha->synced = false; + ha->synced = 0; list_add_tail_rcu(&ha->list, &list->list); list->count++; @@ -164,7 +164,7 @@ addr_len, ha->type); if (err) break; - ha->synced = true; + ha->synced++; ha->refcount++; } else if (ha->refcount == 1) { __hw_addr_del(to_list, ha->addr, addr_len, ha->type); @@ -185,7 +185,7 @@ if (ha->synced) { __hw_addr_del(to_list, ha->addr, addr_len, ha->type); - ha->synced = false; + ha->synced--; __hw_addr_del(from_list, ha->addr, addr_len, ha->type); } @@ -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-lts-quantal-3.5.0.orig/net/core/neighbour.c +++ linux-lts-quantal-3.5.0/net/core/neighbour.c @@ -239,7 +239,7 @@ we must kill timers etc. and move it to safe state. */ - skb_queue_purge(&n->arp_queue); + __skb_queue_purge(&n->arp_queue); n->arp_queue_len_bytes = 0; n->output = neigh_blackhole; if (n->nud_state & NUD_VALID) @@ -302,7 +302,7 @@ if (!n) goto out_entries; - skb_queue_head_init(&n->arp_queue); + __skb_queue_head_init(&n->arp_queue); rwlock_init(&n->lock); seqlock_init(&n->ha_lock); n->updated = n->used = now; @@ -722,7 +722,9 @@ if (neigh_del_timer(neigh)) pr_warn("Impossible event\n"); - skb_queue_purge(&neigh->arp_queue); + write_lock_bh(&neigh->lock); + __skb_queue_purge(&neigh->arp_queue); + write_unlock_bh(&neigh->lock); neigh->arp_queue_len_bytes = 0; if (dev->netdev_ops->ndo_neigh_destroy) @@ -868,7 +870,7 @@ neigh->ops->error_report(neigh, skb); write_lock(&neigh->lock); } - skb_queue_purge(&neigh->arp_queue); + __skb_queue_purge(&neigh->arp_queue); neigh->arp_queue_len_bytes = 0; } @@ -1207,7 +1209,7 @@ write_lock_bh(&neigh->lock); } - skb_queue_purge(&neigh->arp_queue); + __skb_queue_purge(&neigh->arp_queue); neigh->arp_queue_len_bytes = 0; } out: @@ -1286,8 +1288,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 +1297,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 +1328,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); @@ -1443,16 +1443,18 @@ atomic_set(&p->refcnt, 1); p->reachable_time = neigh_rand_reach_time(p->base_reachable_time); + dev_hold(dev); + p->dev = dev; + write_pnet(&p->net, hold_net(net)); + p->sysctl_table = NULL; if (ops->ndo_neigh_setup && ops->ndo_neigh_setup(dev, p)) { + release_net(net); + dev_put(dev); kfree(p); return NULL; } - dev_hold(dev); - p->dev = dev; - write_pnet(&p->net, hold_net(net)); - p->sysctl_table = NULL; write_lock_bh(&tbl->lock); p->next = tbl->parms.next; tbl->parms.next = p; --- linux-lts-quantal-3.5.0.orig/net/core/datagram.c +++ linux-lts-quantal-3.5.0/net/core/datagram.c @@ -187,7 +187,7 @@ skb_queue_walk(queue, skb) { *peeked = skb->peeked; if (flags & MSG_PEEK) { - if (*off >= skb->len) { + if (*off >= skb->len && skb->len) { *off -= skb->len; continue; } --- linux-lts-quantal-3.5.0.orig/net/core/pktgen.c +++ linux-lts-quantal-3.5.0/net/core/pktgen.c @@ -1797,10 +1797,13 @@ return -EFAULT; i += len; mutex_lock(&pktgen_thread_lock); - pktgen_add_device(t, f); + ret = pktgen_add_device(t, f); mutex_unlock(&pktgen_thread_lock); - ret = count; - sprintf(pg_result, "OK: add_device=%s", f); + if (!ret) { + ret = count; + sprintf(pg_result, "OK: add_device=%s", f); + } else + sprintf(pg_result, "ERROR: can not add device %s", f); goto out; } @@ -2927,7 +2930,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-lts-quantal-3.5.0.orig/net/core/skbuff.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/core/netpoll.c +++ linux-lts-quantal-3.5.0/net/core/netpoll.c @@ -920,15 +920,14 @@ void netpoll_cleanup(struct netpoll *np) { - if (!np->dev) - return; - rtnl_lock(); + if (!np->dev) + goto out; __netpoll_cleanup(np); - rtnl_unlock(); - dev_put(np->dev); np->dev = NULL; +out: + rtnl_unlock(); } EXPORT_SYMBOL(netpoll_cleanup); --- linux-lts-quantal-3.5.0.orig/net/atm/common.c +++ linux-lts-quantal-3.5.0/net/atm/common.c @@ -520,6 +520,8 @@ struct sk_buff *skb; int copied, error = -EINVAL; + msg->msg_namelen = 0; + if (sock->state != SS_CONNECTED) return -ENOTCONN; @@ -812,6 +814,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-lts-quantal-3.5.0.orig/net/atm/pvc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/netrom/af_netrom.c +++ linux-lts-quantal-3.5.0/net/netrom/af_netrom.c @@ -1169,9 +1169,15 @@ 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) { + memset(sax, 0, sizeof(*sax)); sax->sax25_family = AF_NETROM; skb_copy_from_linear_data_offset(skb, 7, sax->sax25_call.ax25_call, AX25_ADDR_LEN); --- linux-lts-quantal-3.5.0.orig/net/irda/af_irda.c +++ linux-lts-quantal-3.5.0/net/irda/af_irda.c @@ -1386,6 +1386,8 @@ IRDA_DEBUG(4, "%s()\n", __func__); + msg->msg_namelen = 0; + skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, flags & MSG_DONTWAIT, &err); if (!skb) @@ -2584,8 +2586,10 @@ NULL, NULL, NULL); /* Check if the we got some results */ - if (!self->cachedaddr) - return -EAGAIN; /* Didn't find any devices */ + if (!self->cachedaddr) { + err = -EAGAIN; /* Didn't find any devices */ + goto out; + } daddr = self->cachedaddr; /* Cleanup */ self->cachedaddr = 0; --- linux-lts-quantal-3.5.0.orig/net/unix/af_unix.c +++ linux-lts-quantal-3.5.0/net/unix/af_unix.c @@ -375,7 +375,7 @@ #endif } -static int unix_release_sock(struct sock *sk, int embrion) +static void unix_release_sock(struct sock *sk, int embrion) { struct unix_sock *u = unix_sk(sk); struct path path; @@ -444,8 +444,6 @@ if (unix_tot_inflight) unix_gc(); /* Garbage collect fds */ - - return 0; } static void init_peercred(struct sock *sk) @@ -695,9 +693,10 @@ if (!sk) return 0; + unix_release_sock(sk, 0); sock->sk = NULL; - return unix_release_sock(sk, 0); + return 0; } static int unix_autobind(struct socket *sock) @@ -1448,7 +1447,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 +1616,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; @@ -1997,7 +1996,7 @@ if ((UNIXCB(skb).pid != siocb->scm->pid) || (UNIXCB(skb).cred != siocb->scm->cred)) break; - } else { + } else if (test_bit(SOCK_PASSCRED, &sock->flags)) { /* Copy credentials */ scm_set_cred(siocb->scm, UNIXCB(skb).pid, UNIXCB(skb).cred); check_creds = 1; --- linux-lts-quantal-3.5.0.orig/net/dccp/ipv6.c +++ linux-lts-quantal-3.5.0/net/dccp/ipv6.c @@ -612,7 +612,8 @@ newinet->inet_rcv_saddr = LOOPBACK4_IPV6; if (__inet_inherit_port(sk, newsk) < 0) { - sock_put(newsk); + inet_csk_prepare_forced_close(newsk); + dccp_done(newsk); goto out; } __inet6_hash(newsk, NULL); --- linux-lts-quantal-3.5.0.orig/net/dccp/ipv4.c +++ linux-lts-quantal-3.5.0/net/dccp/ipv4.c @@ -435,8 +435,8 @@ NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS); return NULL; put_and_exit: - bh_unlock_sock(newsk); - sock_put(newsk); + inet_csk_prepare_forced_close(newsk); + dccp_done(newsk); goto exit; } --- linux-lts-quantal-3.5.0.orig/net/dccp/ccid.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/dccp/ccids/ccid3.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/key/af_key.c +++ linux-lts-quantal-3.5.0/net/key/af_key.c @@ -1705,6 +1705,7 @@ hdr->sadb_msg_version = PF_KEY_V2; hdr->sadb_msg_errno = (uint8_t) 0; hdr->sadb_msg_len = (sizeof(struct sadb_msg) / sizeof(uint64_t)); + hdr->sadb_msg_reserved = 0; pfkey_broadcast(skb, GFP_ATOMIC, BROADCAST_ALL, NULL, c->net); @@ -2072,6 +2073,7 @@ pol->sadb_x_policy_type = IPSEC_POLICY_NONE; } pol->sadb_x_policy_dir = dir+1; + pol->sadb_x_policy_reserved = 0; pol->sadb_x_policy_id = xp->index; pol->sadb_x_policy_priority = xp->priority; @@ -2685,7 +2687,9 @@ hdr->sadb_msg_pid = c->pid; hdr->sadb_msg_version = PF_KEY_V2; hdr->sadb_msg_errno = (uint8_t) 0; + hdr->sadb_msg_satype = SADB_SATYPE_UNSPEC; hdr->sadb_msg_len = (sizeof(struct sadb_msg) / sizeof(uint64_t)); + hdr->sadb_msg_reserved = 0; pfkey_broadcast(skb_out, GFP_ATOMIC, BROADCAST_ALL, NULL, c->net); return 0; @@ -3106,7 +3110,9 @@ pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; pol->sadb_x_policy_dir = dir+1; + pol->sadb_x_policy_reserved = 0; pol->sadb_x_policy_id = xp->index; + pol->sadb_x_policy_priority = xp->priority; /* Set sadb_comb's. */ if (x->id.proto == IPPROTO_AH) @@ -3494,6 +3500,7 @@ pol->sadb_x_policy_exttype = SADB_X_EXT_POLICY; pol->sadb_x_policy_type = IPSEC_POLICY_IPSEC; pol->sadb_x_policy_dir = dir + 1; + pol->sadb_x_policy_reserved = 0; pol->sadb_x_policy_id = 0; pol->sadb_x_policy_priority = 0; --- linux-lts-quantal-3.5.0.orig/net/xfrm/xfrm_policy.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/xfrm/xfrm_user.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/xfrm/xfrm_replay.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/net/xfrm/xfrm_input.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ipc/shm.c +++ linux-lts-quantal-3.5.0/ipc/shm.c @@ -462,7 +462,7 @@ size_t size = params->u.size; int error; struct shmid_kernel *shp; - int numpages = (size + PAGE_SIZE -1) >> PAGE_SHIFT; + size_t numpages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; struct file * file; char name[13]; int id; @@ -491,10 +491,12 @@ sprintf (name, "SYSV%08x", key); if (shmflg & SHM_HUGETLB) { + size_t hugesize = ALIGN(size, huge_page_size(&default_hstate)); + /* hugetlb_file_setup applies strict accounting */ if (shmflg & SHM_NORESERVE) acctflag = VM_NORESERVE; - file = hugetlb_file_setup(name, 0, size, acctflag, + file = hugetlb_file_setup(name, hugesize, acctflag, &shp->mlock_user, HUGETLB_SHMFS_INODE); } else { /* --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/omap_hsmmc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/host/Kconfig +++ linux-lts-quantal-3.5.0/drivers/mmc/host/Kconfig @@ -300,16 +300,6 @@ endchoice -config MMC_ATMELMCI_DMA - bool "Atmel MCI DMA support" - depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE - help - Say Y here to have the Atmel MCI driver use a DMA engine to - do data transfers and thus increase the throughput and - reduce the CPU utilization. - - If unsure, say N. - config MMC_MSM tristate "Qualcomm SDCC Controller Support" depends on MMC && ARCH_MSM @@ -612,3 +602,10 @@ Note: These controllers only support SDIO cards and do not support MMC or SD memory cards. + +config MMC_REALTEK_PCI + tristate "Realtek PCI-E SD/MMC Card Interface Driver" + depends on MFD_RTSX_PCI + help + Say Y here to include driver code to support SD/MMC card interface + of Realtek PCI-E card reader --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/sdhci-esdhc-imx.c +++ linux-lts-quantal-3.5.0/drivers/mmc/host/sdhci-esdhc-imx.c @@ -237,15 +237,18 @@ static u16 esdhc_readw_le(struct sdhci_host *host, int reg) { + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct pltfm_imx_data *imx_data = pltfm_host->priv; + if (unlikely(reg == SDHCI_HOST_VERSION)) { - u16 val = readw(host->ioaddr + (reg ^ 2)); - /* - * uSDHC supports SDHCI v3.0, but it's encoded as value - * 0x3 in host controller version register, which violates - * SDHCI_SPEC_300 definition. Work it around here. - */ - if ((val & SDHCI_SPEC_VER_MASK) == 3) - return --val; + reg ^= 2; + if (is_imx6q_usdhc(imx_data)) { + /* + * The usdhc register returns a wrong host version. + * Correct it here. + */ + return SDHCI_SPEC_300; + } } return readw(host->ioaddr + reg); --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/sdhci-pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/host/Makefile +++ linux-lts-quantal-3.5.0/drivers/mmc/host/Makefile @@ -45,6 +45,8 @@ obj-$(CONFIG_MMC_VUB300) += vub300.o obj-$(CONFIG_MMC_USHC) += ushc.o +obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o + obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-pltfm.o obj-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/atmel-mci.c +++ linux-lts-quantal-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 { @@ -174,6 +175,7 @@ void __iomem *regs; struct scatterlist *sg; + unsigned int sg_len; unsigned int pio_offset; unsigned int *buffer; unsigned int buf_size; @@ -818,6 +820,7 @@ data->error = -EINPROGRESS; host->sg = data->sg; + host->sg_len = data->sg_len; host->data = data; host->data_chan = NULL; @@ -1619,7 +1622,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) { @@ -1749,7 +1753,8 @@ if (offset == sg->length) { flush_dcache_page(sg_page(sg)); host->sg = sg = sg_next(sg); - if (!sg) + host->sg_len--; + if (!sg || !host->sg_len) goto done; offset = 0; @@ -1762,7 +1767,8 @@ flush_dcache_page(sg_page(sg)); host->sg = sg = sg_next(sg); - if (!sg) + host->sg_len--; + if (!sg || !host->sg_len) goto done; offset = 4 - remaining; @@ -1813,7 +1819,8 @@ nbytes += 4; if (offset == sg->length) { host->sg = sg = sg_next(sg); - if (!sg) + host->sg_len--; + if (!sg || !host->sg_len) goto done; offset = 0; @@ -1827,7 +1834,8 @@ nbytes += remaining; host->sg = sg = sg_next(sg); - if (!sg) { + host->sg_len--; + if (!sg || !host->sg_len) { atmci_writel(host, ATMCI_TDR, value); goto done; } @@ -2212,6 +2220,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 +2241,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; @@ -2397,10 +2407,8 @@ atmci_readl(host, ATMCI_SR); clk_disable(host->mck); -#ifdef CONFIG_MMC_ATMELMCI_DMA if (host->dma.chan) dma_release_channel(host->dma.chan); -#endif free_irq(platform_get_irq(pdev, 0), host); iounmap(host->regs); --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/tmio_mmc_dma.c +++ linux-lts-quantal-3.5.0/drivers/mmc/host/tmio_mmc_dma.c @@ -104,6 +104,7 @@ pio: if (!desc) { /* DMA failed, fall back to PIO */ + tmio_mmc_enable_dma(host, false); if (ret >= 0) ret = -EIO; host->chan_rx = NULL; @@ -116,7 +117,6 @@ } dev_warn(&host->pdev->dev, "DMA failed: %d, falling back to PIO\n", ret); - tmio_mmc_enable_dma(host, false); } dev_dbg(&host->pdev->dev, "%s(): desc %p, cookie %d, sg[%d]\n", __func__, @@ -185,6 +185,7 @@ pio: if (!desc) { /* DMA failed, fall back to PIO */ + tmio_mmc_enable_dma(host, false); if (ret >= 0) ret = -EIO; host->chan_tx = NULL; @@ -197,7 +198,6 @@ } dev_warn(&host->pdev->dev, "DMA failed: %d, falling back to PIO\n", ret); - tmio_mmc_enable_dma(host, false); } dev_dbg(&host->pdev->dev, "%s(): desc %p, cookie %d\n", __func__, --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/mxs-mmc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/host/sdhci-s3c.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/host/sh_mmcif.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/host/rtsx_pci_sdmmc.c +++ linux-lts-quantal-3.5.0/drivers/mmc/host/rtsx_pci_sdmmc.c @@ -0,0 +1,1339 @@ +/* Realtek PCI-Express SD/MMC Card Interface driver + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* SD Tuning Data Structure + * Record continuous timing phase path + */ +struct timing_phase_path { + int start; + int end; + int mid; + int len; +}; + +struct realtek_pci_sdmmc { + struct platform_device *pdev; + struct rtsx_pcr *pcr; + struct mmc_host *mmc; + struct mmc_request *mrq; + + struct mutex host_mutex; + + u8 ssc_depth; + unsigned int clock; + bool vpclk; + bool double_clk; + bool eject; + bool initial_mode; + bool ddr_mode; +}; + +static inline struct device *sdmmc_dev(struct realtek_pci_sdmmc *host) +{ + return &(host->pdev->dev); +} + +static inline void sd_clear_error(struct realtek_pci_sdmmc *host) +{ + rtsx_pci_write_register(host->pcr, CARD_STOP, + SD_STOP | SD_CLR_ERR, SD_STOP | SD_CLR_ERR); +} + +#ifdef DEBUG +static void sd_print_debug_regs(struct realtek_pci_sdmmc *host) +{ + struct rtsx_pcr *pcr = host->pcr; + u16 i; + u8 *ptr; + + /* Print SD host internal registers */ + rtsx_pci_init_cmd(pcr); + for (i = 0xFDA0; i <= 0xFDAE; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, i, 0, 0); + for (i = 0xFD52; i <= 0xFD69; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, i, 0, 0); + rtsx_pci_send_cmd(pcr, 100); + + ptr = rtsx_pci_get_cmd_data(pcr); + for (i = 0xFDA0; i <= 0xFDAE; i++) + dev_dbg(sdmmc_dev(host), "0x%04X: 0x%02x\n", i, *(ptr++)); + for (i = 0xFD52; i <= 0xFD69; i++) + dev_dbg(sdmmc_dev(host), "0x%04X: 0x%02x\n", i, *(ptr++)); +} +#else +#define sd_print_debug_regs(host) +#endif /* DEBUG */ + +static int sd_read_data(struct realtek_pci_sdmmc *host, u8 *cmd, u16 byte_cnt, + u8 *buf, int buf_len, int timeout) +{ + struct rtsx_pcr *pcr = host->pcr; + int err, i; + u8 trans_mode; + + dev_dbg(sdmmc_dev(host), "%s: SD/MMC CMD%d\n", __func__, cmd[0] - 0x40); + + if (!buf) + buf_len = 0; + + if ((cmd[0] & 0x3F) == MMC_SEND_TUNING_BLOCK) + trans_mode = SD_TM_AUTO_TUNING; + else + trans_mode = SD_TM_NORMAL_READ; + + rtsx_pci_init_cmd(pcr); + + for (i = 0; i < 5; i++) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CMD0 + i, 0xFF, cmd[i]); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BYTE_CNT_L, 0xFF, (u8)byte_cnt); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BYTE_CNT_H, + 0xFF, (u8)(byte_cnt >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BLOCK_CNT_L, 0xFF, 1); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BLOCK_CNT_H, 0xFF, 0); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG2, 0xFF, + SD_CALCULATE_CRC7 | SD_CHECK_CRC16 | + SD_NO_WAIT_BUSY_END | SD_CHECK_CRC7 | SD_RSP_LEN_6); + if (trans_mode != SD_TM_AUTO_TUNING) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + CARD_DATA_SOURCE, 0x01, PINGPONG_BUFFER); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_TRANSFER, + 0xFF, trans_mode | SD_TRANSFER_START); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, SD_TRANSFER, + SD_TRANSFER_END, SD_TRANSFER_END); + + err = rtsx_pci_send_cmd(pcr, timeout); + if (err < 0) { + sd_print_debug_regs(host); + dev_dbg(sdmmc_dev(host), + "rtsx_pci_send_cmd fail (err = %d)\n", err); + return err; + } + + if (buf && buf_len) { + err = rtsx_pci_read_ppbuf(pcr, buf, buf_len); + if (err < 0) { + dev_dbg(sdmmc_dev(host), + "rtsx_pci_read_ppbuf fail (err = %d)\n", err); + return err; + } + } + + return 0; +} + +static int sd_write_data(struct realtek_pci_sdmmc *host, u8 *cmd, u16 byte_cnt, + u8 *buf, int buf_len, int timeout) +{ + struct rtsx_pcr *pcr = host->pcr; + int err, i; + u8 trans_mode; + + if (!buf) + buf_len = 0; + + if (buf && buf_len) { + err = rtsx_pci_write_ppbuf(pcr, buf, buf_len); + if (err < 0) { + dev_dbg(sdmmc_dev(host), + "rtsx_pci_write_ppbuf fail (err = %d)\n", err); + return err; + } + } + + trans_mode = cmd ? SD_TM_AUTO_WRITE_2 : SD_TM_AUTO_WRITE_3; + rtsx_pci_init_cmd(pcr); + + if (cmd) { + dev_dbg(sdmmc_dev(host), "%s: SD/MMC CMD %d\n", __func__, + cmd[0] - 0x40); + + for (i = 0; i < 5; i++) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + SD_CMD0 + i, 0xFF, cmd[i]); + } + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BYTE_CNT_L, 0xFF, (u8)byte_cnt); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BYTE_CNT_H, + 0xFF, (u8)(byte_cnt >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BLOCK_CNT_L, 0xFF, 1); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BLOCK_CNT_H, 0xFF, 0); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG2, 0xFF, + SD_CALCULATE_CRC7 | SD_CHECK_CRC16 | + SD_NO_WAIT_BUSY_END | SD_CHECK_CRC7 | SD_RSP_LEN_6); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_TRANSFER, 0xFF, + trans_mode | SD_TRANSFER_START); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, SD_TRANSFER, + SD_TRANSFER_END, SD_TRANSFER_END); + + err = rtsx_pci_send_cmd(pcr, timeout); + if (err < 0) { + sd_print_debug_regs(host); + dev_dbg(sdmmc_dev(host), + "rtsx_pci_send_cmd fail (err = %d)\n", err); + return err; + } + + return 0; +} + +static void sd_send_cmd_get_rsp(struct realtek_pci_sdmmc *host, + struct mmc_command *cmd) +{ + struct rtsx_pcr *pcr = host->pcr; + u8 cmd_idx = (u8)cmd->opcode; + u32 arg = cmd->arg; + int err = 0; + int timeout = 100; + int i; + u8 *ptr; + int stat_idx = 0; + u8 rsp_type; + int rsp_len = 5; + + dev_dbg(sdmmc_dev(host), "%s: SD/MMC CMD %d, arg = 0x%08x\n", + __func__, cmd_idx, arg); + + /* Response type: + * R0 + * R1, R5, R6, R7 + * R1b + * R2 + * R3, R4 + */ + switch (mmc_resp_type(cmd)) { + case MMC_RSP_NONE: + rsp_type = SD_RSP_TYPE_R0; + rsp_len = 0; + break; + case MMC_RSP_R1: + rsp_type = SD_RSP_TYPE_R1; + break; + case MMC_RSP_R1B: + rsp_type = SD_RSP_TYPE_R1b; + break; + case MMC_RSP_R2: + rsp_type = SD_RSP_TYPE_R2; + rsp_len = 16; + break; + case MMC_RSP_R3: + rsp_type = SD_RSP_TYPE_R3; + break; + default: + dev_dbg(sdmmc_dev(host), "cmd->flag is not valid\n"); + err = -EINVAL; + goto out; + } + + if (rsp_type == SD_RSP_TYPE_R1b) + timeout = 3000; + + if (cmd->opcode == SD_SWITCH_VOLTAGE) { + err = rtsx_pci_write_register(pcr, SD_BUS_STAT, + 0xFF, SD_CLK_TOGGLE_EN); + if (err < 0) + goto out; + } + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CMD0, 0xFF, 0x40 | cmd_idx); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CMD1, 0xFF, (u8)(arg >> 24)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CMD2, 0xFF, (u8)(arg >> 16)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CMD3, 0xFF, (u8)(arg >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CMD4, 0xFF, (u8)arg); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG2, 0xFF, rsp_type); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_DATA_SOURCE, + 0x01, PINGPONG_BUFFER); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_TRANSFER, + 0xFF, SD_TM_CMD_RSP | SD_TRANSFER_START); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, SD_TRANSFER, + SD_TRANSFER_END | SD_STAT_IDLE, + SD_TRANSFER_END | SD_STAT_IDLE); + + if (rsp_type == SD_RSP_TYPE_R2) { + /* Read data from ping-pong buffer */ + for (i = PPBUF_BASE2; i < PPBUF_BASE2 + 16; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, (u16)i, 0, 0); + stat_idx = 16; + } else if (rsp_type != SD_RSP_TYPE_R0) { + /* Read data from SD_CMDx registers */ + for (i = SD_CMD0; i <= SD_CMD4; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, (u16)i, 0, 0); + stat_idx = 5; + } + + rtsx_pci_add_cmd(pcr, READ_REG_CMD, SD_STAT1, 0, 0); + + err = rtsx_pci_send_cmd(pcr, timeout); + if (err < 0) { + sd_print_debug_regs(host); + sd_clear_error(host); + dev_dbg(sdmmc_dev(host), + "rtsx_pci_send_cmd error (err = %d)\n", err); + goto out; + } + + if (rsp_type == SD_RSP_TYPE_R0) { + err = 0; + goto out; + } + + /* Eliminate returned value of CHECK_REG_CMD */ + ptr = rtsx_pci_get_cmd_data(pcr) + 1; + + /* Check (Start,Transmission) bit of Response */ + if ((ptr[0] & 0xC0) != 0) { + err = -EILSEQ; + dev_dbg(sdmmc_dev(host), "Invalid response bit\n"); + goto out; + } + + /* Check CRC7 */ + if (!(rsp_type & SD_NO_CHECK_CRC7)) { + if (ptr[stat_idx] & SD_CRC7_ERR) { + err = -EILSEQ; + dev_dbg(sdmmc_dev(host), "CRC7 error\n"); + goto out; + } + } + + if (rsp_type == SD_RSP_TYPE_R2) { + for (i = 0; i < 4; i++) { + cmd->resp[i] = get_unaligned_be32(ptr + 1 + i * 4); + dev_dbg(sdmmc_dev(host), "cmd->resp[%d] = 0x%08x\n", + i, cmd->resp[i]); + } + } else { + cmd->resp[0] = get_unaligned_be32(ptr + 1); + dev_dbg(sdmmc_dev(host), "cmd->resp[0] = 0x%08x\n", + cmd->resp[0]); + } + +out: + cmd->error = err; +} + +static int sd_rw_multi(struct realtek_pci_sdmmc *host, struct mmc_request *mrq) +{ + struct rtsx_pcr *pcr = host->pcr; + struct mmc_host *mmc = host->mmc; + struct mmc_card *card = mmc->card; + struct mmc_data *data = mrq->data; + int uhs = mmc_sd_card_uhs(card); + int read = (data->flags & MMC_DATA_READ) ? 1 : 0; + u8 cfg2, trans_mode; + int err; + size_t data_len = data->blksz * data->blocks; + + if (read) { + cfg2 = SD_CALCULATE_CRC7 | SD_CHECK_CRC16 | + SD_NO_WAIT_BUSY_END | SD_CHECK_CRC7 | SD_RSP_LEN_0; + trans_mode = SD_TM_AUTO_READ_3; + } else { + cfg2 = SD_NO_CALCULATE_CRC7 | SD_CHECK_CRC16 | + SD_NO_WAIT_BUSY_END | SD_NO_CHECK_CRC7 | SD_RSP_LEN_0; + trans_mode = SD_TM_AUTO_WRITE_3; + } + + if (!uhs) + cfg2 |= SD_NO_CHECK_WAIT_CRC_TO; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BYTE_CNT_L, 0xFF, 0x00); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BYTE_CNT_H, 0xFF, 0x02); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BLOCK_CNT_L, + 0xFF, (u8)data->blocks); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_BLOCK_CNT_H, + 0xFF, (u8)(data->blocks >> 8)); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, IRQSTAT0, + DMA_DONE_INT, DMA_DONE_INT); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC3, + 0xFF, (u8)(data_len >> 24)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC2, + 0xFF, (u8)(data_len >> 16)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC1, + 0xFF, (u8)(data_len >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC0, 0xFF, (u8)data_len); + if (read) { + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMACTL, + 0x03 | DMA_PACK_SIZE_MASK, + DMA_DIR_FROM_CARD | DMA_EN | DMA_512); + } else { + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMACTL, + 0x03 | DMA_PACK_SIZE_MASK, + DMA_DIR_TO_CARD | DMA_EN | DMA_512); + } + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_DATA_SOURCE, + 0x01, RING_BUFFER); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG2, 0xFF, cfg2); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_TRANSFER, 0xFF, + trans_mode | SD_TRANSFER_START); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, SD_TRANSFER, + SD_TRANSFER_END, SD_TRANSFER_END); + + rtsx_pci_send_cmd_no_wait(pcr); + + err = rtsx_pci_transfer_data(pcr, data->sg, data->sg_len, read, 10000); + if (err < 0) { + sd_clear_error(host); + return err; + } + + return 0; +} + +static inline void sd_enable_initial_mode(struct realtek_pci_sdmmc *host) +{ + rtsx_pci_write_register(host->pcr, SD_CFG1, + SD_CLK_DIVIDE_MASK, SD_CLK_DIVIDE_128); +} + +static inline void sd_disable_initial_mode(struct realtek_pci_sdmmc *host) +{ + rtsx_pci_write_register(host->pcr, SD_CFG1, + SD_CLK_DIVIDE_MASK, SD_CLK_DIVIDE_0); +} + +static void sd_normal_rw(struct realtek_pci_sdmmc *host, + struct mmc_request *mrq) +{ + struct mmc_command *cmd = mrq->cmd; + struct mmc_data *data = mrq->data; + u8 _cmd[5], *buf; + + _cmd[0] = 0x40 | (u8)cmd->opcode; + put_unaligned_be32(cmd->arg, (u32 *)(&_cmd[1])); + + buf = kzalloc(data->blksz, GFP_NOIO); + if (!buf) { + cmd->error = -ENOMEM; + return; + } + + if (data->flags & MMC_DATA_READ) { + if (host->initial_mode) + sd_disable_initial_mode(host); + + cmd->error = sd_read_data(host, _cmd, (u16)data->blksz, buf, + data->blksz, 200); + + if (host->initial_mode) + sd_enable_initial_mode(host); + + sg_copy_from_buffer(data->sg, data->sg_len, buf, data->blksz); + } else { + sg_copy_to_buffer(data->sg, data->sg_len, buf, data->blksz); + + cmd->error = sd_write_data(host, _cmd, (u16)data->blksz, buf, + data->blksz, 200); + } + + kfree(buf); +} + +static int sd_change_phase(struct realtek_pci_sdmmc *host, u8 sample_point) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + + dev_dbg(sdmmc_dev(host), "%s: sample_point = %d\n", + __func__, sample_point); + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, CHANGE_CLK, CHANGE_CLK); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPRX_CTL, 0x1F, sample_point); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK0_CTL, PHASE_NOT_RESET, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK0_CTL, + PHASE_NOT_RESET, PHASE_NOT_RESET); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, CHANGE_CLK, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG1, SD_ASYNC_FIFO_NOT_RST, 0); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + return 0; +} + +static u8 sd_search_final_phase(struct realtek_pci_sdmmc *host, u32 phase_map) +{ + struct timing_phase_path path[MAX_PHASE + 1]; + int i, j, cont_path_cnt; + int new_block, max_len, final_path_idx; + u8 final_phase = 0xFF; + + /* Parse phase_map, take it as a bit-ring */ + cont_path_cnt = 0; + new_block = 1; + j = 0; + for (i = 0; i < MAX_PHASE + 1; i++) { + if (phase_map & (1 << i)) { + if (new_block) { + new_block = 0; + j = cont_path_cnt++; + path[j].start = i; + path[j].end = i; + } else { + path[j].end = i; + } + } else { + new_block = 1; + if (cont_path_cnt) { + /* Calculate path length and middle point */ + int idx = cont_path_cnt - 1; + path[idx].len = + path[idx].end - path[idx].start + 1; + path[idx].mid = + path[idx].start + path[idx].len / 2; + } + } + } + + if (cont_path_cnt == 0) { + dev_dbg(sdmmc_dev(host), "No continuous phase path\n"); + goto finish; + } else { + /* Calculate last continuous path length and middle point */ + int idx = cont_path_cnt - 1; + path[idx].len = path[idx].end - path[idx].start + 1; + path[idx].mid = path[idx].start + path[idx].len / 2; + } + + /* Connect the first and last continuous paths if they are adjacent */ + if (!path[0].start && (path[cont_path_cnt - 1].end == MAX_PHASE)) { + /* Using negative index */ + path[0].start = path[cont_path_cnt - 1].start - MAX_PHASE - 1; + path[0].len += path[cont_path_cnt - 1].len; + path[0].mid = path[0].start + path[0].len / 2; + /* Convert negative middle point index to positive one */ + if (path[0].mid < 0) + path[0].mid += MAX_PHASE + 1; + cont_path_cnt--; + } + + /* Choose the longest continuous phase path */ + max_len = 0; + final_phase = 0; + final_path_idx = 0; + for (i = 0; i < cont_path_cnt; i++) { + if (path[i].len > max_len) { + max_len = path[i].len; + final_phase = (u8)path[i].mid; + final_path_idx = i; + } + + dev_dbg(sdmmc_dev(host), "path[%d].start = %d\n", + i, path[i].start); + dev_dbg(sdmmc_dev(host), "path[%d].end = %d\n", + i, path[i].end); + dev_dbg(sdmmc_dev(host), "path[%d].len = %d\n", + i, path[i].len); + dev_dbg(sdmmc_dev(host), "path[%d].mid = %d\n", + i, path[i].mid); + } + +finish: + dev_dbg(sdmmc_dev(host), "Final chosen phase: %d\n", final_phase); + return final_phase; +} + +static void sd_wait_data_idle(struct realtek_pci_sdmmc *host) +{ + int err, i; + u8 val = 0; + + for (i = 0; i < 100; i++) { + err = rtsx_pci_read_register(host->pcr, SD_DATA_STATE, &val); + if (val & SD_DATA_IDLE) + return; + + udelay(100); + } +} + +static int sd_tuning_rx_cmd(struct realtek_pci_sdmmc *host, + u8 opcode, u8 sample_point) +{ + int err; + u8 cmd[5] = {0}; + + err = sd_change_phase(host, sample_point); + if (err < 0) + return err; + + cmd[0] = 0x40 | opcode; + err = sd_read_data(host, cmd, 0x40, NULL, 0, 100); + if (err < 0) { + /* Wait till SD DATA IDLE */ + sd_wait_data_idle(host); + sd_clear_error(host); + return err; + } + + return 0; +} + +static int sd_tuning_phase(struct realtek_pci_sdmmc *host, + u8 opcode, u32 *phase_map) +{ + int err, i; + u32 raw_phase_map = 0; + + for (i = MAX_PHASE; i >= 0; i--) { + err = sd_tuning_rx_cmd(host, opcode, (u8)i); + if (err == 0) + raw_phase_map |= 1 << i; + } + + if (phase_map) + *phase_map = raw_phase_map; + + return 0; +} + +static int sd_tuning_rx(struct realtek_pci_sdmmc *host, u8 opcode) +{ + int err, i; + u32 raw_phase_map[RX_TUNING_CNT] = {0}, phase_map; + u8 final_phase; + + for (i = 0; i < RX_TUNING_CNT; i++) { + err = sd_tuning_phase(host, opcode, &(raw_phase_map[i])); + if (err < 0) + return err; + + if (raw_phase_map[i] == 0) + break; + } + + phase_map = 0xFFFFFFFF; + for (i = 0; i < RX_TUNING_CNT; i++) { + dev_dbg(sdmmc_dev(host), "RX raw_phase_map[%d] = 0x%08x\n", + i, raw_phase_map[i]); + phase_map &= raw_phase_map[i]; + } + dev_dbg(sdmmc_dev(host), "RX phase_map = 0x%08x\n", phase_map); + + if (phase_map) { + final_phase = sd_search_final_phase(host, phase_map); + if (final_phase == 0xFF) + return -EINVAL; + + err = sd_change_phase(host, final_phase); + if (err < 0) + return err; + } else { + return -EINVAL; + } + + return 0; +} + +static void sdmmc_request(struct mmc_host *mmc, struct mmc_request *mrq) +{ + struct realtek_pci_sdmmc *host = mmc_priv(mmc); + struct rtsx_pcr *pcr = host->pcr; + struct mmc_command *cmd = mrq->cmd; + struct mmc_data *data = mrq->data; + unsigned int data_size = 0; + int err; + + if (host->eject) { + cmd->error = -ENOMEDIUM; + goto finish; + } + + err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD); + if (err) { + cmd->error = err; + goto finish; + } + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + rtsx_pci_switch_clock(pcr, host->clock, host->ssc_depth, + host->initial_mode, host->double_clk, host->vpclk); + rtsx_pci_write_register(pcr, CARD_SELECT, 0x07, SD_MOD_SEL); + rtsx_pci_write_register(pcr, CARD_SHARE_MODE, + CARD_SHARE_MASK, CARD_SHARE_48_SD); + + mutex_lock(&host->host_mutex); + host->mrq = mrq; + mutex_unlock(&host->host_mutex); + + if (mrq->data) + data_size = data->blocks * data->blksz; + + if (!data_size || mmc_op_multi(cmd->opcode) || + (cmd->opcode == MMC_READ_SINGLE_BLOCK) || + (cmd->opcode == MMC_WRITE_BLOCK)) { + sd_send_cmd_get_rsp(host, cmd); + + if (!cmd->error && data_size) { + sd_rw_multi(host, mrq); + + if (mmc_op_multi(cmd->opcode) && mrq->stop) + sd_send_cmd_get_rsp(host, mrq->stop); + } + } else { + sd_normal_rw(host, mrq); + } + + if (mrq->data) { + if (cmd->error || data->error) + data->bytes_xfered = 0; + else + data->bytes_xfered = data->blocks * data->blksz; + } + + mutex_unlock(&pcr->pcr_mutex); + +finish: + if (cmd->error) + dev_dbg(sdmmc_dev(host), "cmd->error = %d\n", cmd->error); + + mutex_lock(&host->host_mutex); + host->mrq = NULL; + mutex_unlock(&host->host_mutex); + + mmc_request_done(mmc, mrq); +} + +static int sd_set_bus_width(struct realtek_pci_sdmmc *host, + unsigned char bus_width) +{ + int err = 0; + u8 width[] = { + [MMC_BUS_WIDTH_1] = SD_BUS_WIDTH_1BIT, + [MMC_BUS_WIDTH_4] = SD_BUS_WIDTH_4BIT, + [MMC_BUS_WIDTH_8] = SD_BUS_WIDTH_8BIT, + }; + + if (bus_width <= MMC_BUS_WIDTH_8) + err = rtsx_pci_write_register(host->pcr, SD_CFG1, + 0x03, width[bus_width]); + + return err; +} + +static int sd_power_on(struct realtek_pci_sdmmc *host) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_SELECT, 0x07, SD_MOD_SEL); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_SHARE_MODE, + CARD_SHARE_MASK, CARD_SHARE_48_SD); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_EN, + SD_CLK_EN, SD_CLK_EN); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + err = rtsx_pci_card_pull_ctl_enable(pcr, RTSX_SD_CARD); + if (err < 0) + return err; + + err = rtsx_pci_card_power_on(pcr, RTSX_SD_CARD); + if (err < 0) + return err; + + err = rtsx_pci_write_register(pcr, CARD_OE, SD_OUTPUT_EN, SD_OUTPUT_EN); + if (err < 0) + return err; + + return 0; +} + +static int sd_power_off(struct realtek_pci_sdmmc *host) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_EN, SD_CLK_EN, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_OE, SD_OUTPUT_EN, 0); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + err = rtsx_pci_card_power_off(pcr, RTSX_SD_CARD); + if (err < 0) + return err; + + return rtsx_pci_card_pull_ctl_disable(pcr, RTSX_SD_CARD); +} + +static int sd_set_power_mode(struct realtek_pci_sdmmc *host, + unsigned char power_mode) +{ + int err; + + if (power_mode == MMC_POWER_OFF) + err = sd_power_off(host); + else + err = sd_power_on(host); + + return err; +} + +static int sd_set_timing(struct realtek_pci_sdmmc *host, + unsigned char timing, bool *ddr_mode) +{ + struct rtsx_pcr *pcr = host->pcr; + int err = 0; + + *ddr_mode = false; + + rtsx_pci_init_cmd(pcr); + + switch (timing) { + case MMC_TIMING_UHS_SDR104: + case MMC_TIMING_UHS_SDR50: + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG1, + 0x0C | SD_ASYNC_FIFO_NOT_RST, + SD_30_MODE | SD_ASYNC_FIFO_NOT_RST); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, + CLK_LOW_FREQ, CLK_LOW_FREQ); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_SOURCE, 0xFF, + CRC_VAR_CLK0 | SD30_FIX_CLK | SAMPLE_VAR_CLK1); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, CLK_LOW_FREQ, 0); + break; + + case MMC_TIMING_UHS_DDR50: + *ddr_mode = true; + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG1, + 0x0C | SD_ASYNC_FIFO_NOT_RST, + SD_DDR_MODE | SD_ASYNC_FIFO_NOT_RST); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, + CLK_LOW_FREQ, CLK_LOW_FREQ); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_SOURCE, 0xFF, + CRC_VAR_CLK0 | SD30_FIX_CLK | SAMPLE_VAR_CLK1); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, CLK_LOW_FREQ, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_PUSH_POINT_CTL, + DDR_VAR_TX_CMD_DAT, DDR_VAR_TX_CMD_DAT); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_SAMPLE_POINT_CTL, + DDR_VAR_RX_DAT | DDR_VAR_RX_CMD, + DDR_VAR_RX_DAT | DDR_VAR_RX_CMD); + break; + + case MMC_TIMING_MMC_HS: + case MMC_TIMING_SD_HS: + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_CFG1, + 0x0C, SD_20_MODE); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, + CLK_LOW_FREQ, CLK_LOW_FREQ); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_SOURCE, 0xFF, + CRC_FIX_CLK | SD30_VAR_CLK0 | SAMPLE_VAR_CLK1); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, CLK_LOW_FREQ, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_PUSH_POINT_CTL, + SD20_TX_SEL_MASK, SD20_TX_14_AHEAD); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_SAMPLE_POINT_CTL, + SD20_RX_SEL_MASK, SD20_RX_14_DELAY); + break; + + default: + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + SD_CFG1, 0x0C, SD_20_MODE); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, + CLK_LOW_FREQ, CLK_LOW_FREQ); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_SOURCE, 0xFF, + CRC_FIX_CLK | SD30_VAR_CLK0 | SAMPLE_VAR_CLK1); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, CLK_LOW_FREQ, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + SD_PUSH_POINT_CTL, 0xFF, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_SAMPLE_POINT_CTL, + SD20_RX_SEL_MASK, SD20_RX_POS_EDGE); + break; + } + + err = rtsx_pci_send_cmd(pcr, 100); + + return err; +} + +static void sdmmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) +{ + struct realtek_pci_sdmmc *host = mmc_priv(mmc); + struct rtsx_pcr *pcr = host->pcr; + + if (host->eject) + return; + + if (rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD)) + return; + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + sd_set_bus_width(host, ios->bus_width); + sd_set_power_mode(host, ios->power_mode); + sd_set_timing(host, ios->timing, &host->ddr_mode); + + host->vpclk = false; + host->double_clk = true; + + switch (ios->timing) { + case MMC_TIMING_UHS_SDR104: + case MMC_TIMING_UHS_SDR50: + host->ssc_depth = RTSX_SSC_DEPTH_2M; + host->vpclk = true; + host->double_clk = false; + break; + case MMC_TIMING_UHS_DDR50: + case MMC_TIMING_UHS_SDR25: + host->ssc_depth = RTSX_SSC_DEPTH_1M; + break; + default: + host->ssc_depth = RTSX_SSC_DEPTH_500K; + break; + } + + host->initial_mode = (ios->clock <= 1000000) ? true : false; + + host->clock = ios->clock; + rtsx_pci_switch_clock(pcr, ios->clock, host->ssc_depth, + host->initial_mode, host->double_clk, host->vpclk); + + mutex_unlock(&pcr->pcr_mutex); +} + +static int sdmmc_get_ro(struct mmc_host *mmc) +{ + struct realtek_pci_sdmmc *host = mmc_priv(mmc); + struct rtsx_pcr *pcr = host->pcr; + int ro = 0; + u32 val; + + if (host->eject) + return -ENOMEDIUM; + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + /* Check SD mechanical write-protect switch */ + val = rtsx_pci_readl(pcr, RTSX_BIPR); + dev_dbg(sdmmc_dev(host), "%s: RTSX_BIPR = 0x%08x\n", __func__, val); + if (val & SD_WRITE_PROTECT) + ro = 1; + + mutex_unlock(&pcr->pcr_mutex); + + return ro; +} + +static int sdmmc_get_cd(struct mmc_host *mmc) +{ + struct realtek_pci_sdmmc *host = mmc_priv(mmc); + struct rtsx_pcr *pcr = host->pcr; + int cd = 0; + u32 val; + + if (host->eject) + return -ENOMEDIUM; + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + /* Check SD card detect */ + val = rtsx_pci_card_exist(pcr); + dev_dbg(sdmmc_dev(host), "%s: RTSX_BIPR = 0x%08x\n", __func__, val); + if (val & SD_EXIST) + cd = 1; + + mutex_unlock(&pcr->pcr_mutex); + + return cd; +} + +static int sd_wait_voltage_stable_1(struct realtek_pci_sdmmc *host) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + u8 stat; + + /* Reference to Signal Voltage Switch Sequence in SD spec. + * Wait for a period of time so that the card can drive SD_CMD and + * SD_DAT[3:0] to low after sending back CMD11 response. + */ + mdelay(1); + + /* SD_CMD, SD_DAT[3:0] should be driven to low by card; + * If either one of SD_CMD,SD_DAT[3:0] is not low, + * abort the voltage switch sequence; + */ + err = rtsx_pci_read_register(pcr, SD_BUS_STAT, &stat); + if (err < 0) + return err; + + if (stat & (SD_CMD_STATUS | SD_DAT3_STATUS | SD_DAT2_STATUS | + SD_DAT1_STATUS | SD_DAT0_STATUS)) + return -EINVAL; + + /* Stop toggle SD clock */ + err = rtsx_pci_write_register(pcr, SD_BUS_STAT, + 0xFF, SD_CLK_FORCE_STOP); + if (err < 0) + return err; + + return 0; +} + +static int sd_wait_voltage_stable_2(struct realtek_pci_sdmmc *host) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + u8 stat, mask, val; + + /* Wait 1.8V output of voltage regulator in card stable */ + msleep(50); + + /* Toggle SD clock again */ + err = rtsx_pci_write_register(pcr, SD_BUS_STAT, 0xFF, SD_CLK_TOGGLE_EN); + if (err < 0) + return err; + + /* Wait for a period of time so that the card can drive + * SD_DAT[3:0] to high at 1.8V + */ + msleep(20); + + /* SD_CMD, SD_DAT[3:0] should be pulled high by host */ + err = rtsx_pci_read_register(pcr, SD_BUS_STAT, &stat); + if (err < 0) + return err; + + mask = SD_CMD_STATUS | SD_DAT3_STATUS | SD_DAT2_STATUS | + SD_DAT1_STATUS | SD_DAT0_STATUS; + val = SD_CMD_STATUS | SD_DAT3_STATUS | SD_DAT2_STATUS | + SD_DAT1_STATUS | SD_DAT0_STATUS; + if ((stat & mask) != val) { + dev_dbg(sdmmc_dev(host), + "%s: SD_BUS_STAT = 0x%x\n", __func__, stat); + rtsx_pci_write_register(pcr, SD_BUS_STAT, + SD_CLK_TOGGLE_EN | SD_CLK_FORCE_STOP, 0); + rtsx_pci_write_register(pcr, CARD_CLK_EN, 0xFF, 0); + return -EINVAL; + } + + return 0; +} + +static int sdmmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios) +{ + struct realtek_pci_sdmmc *host = mmc_priv(mmc); + struct rtsx_pcr *pcr = host->pcr; + int err = 0; + u8 voltage; + + dev_dbg(sdmmc_dev(host), "%s: signal_voltage = %d\n", + __func__, ios->signal_voltage); + + if (host->eject) + return -ENOMEDIUM; + + err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD); + if (err) + return err; + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) + voltage = OUTPUT_3V3; + else + voltage = OUTPUT_1V8; + + if (voltage == OUTPUT_1V8) { + err = sd_wait_voltage_stable_1(host); + if (err < 0) + goto out; + } + + err = rtsx_pci_switch_output_voltage(pcr, voltage); + if (err < 0) + goto out; + + if (voltage == OUTPUT_1V8) { + err = sd_wait_voltage_stable_2(host); + if (err < 0) + goto out; + } + + /* Stop toggle SD clock in idle */ + err = rtsx_pci_write_register(pcr, SD_BUS_STAT, + SD_CLK_TOGGLE_EN | SD_CLK_FORCE_STOP, 0); + +out: + mutex_unlock(&pcr->pcr_mutex); + + return err; +} + +static int sdmmc_execute_tuning(struct mmc_host *mmc, u32 opcode) +{ + struct realtek_pci_sdmmc *host = mmc_priv(mmc); + struct rtsx_pcr *pcr = host->pcr; + int err = 0; + + if (host->eject) + return -ENOMEDIUM; + + err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_SD_CARD); + if (err) + return err; + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + if (!host->ddr_mode) + err = sd_tuning_rx(host, MMC_SEND_TUNING_BLOCK); + + mutex_unlock(&pcr->pcr_mutex); + + return err; +} + +static const struct mmc_host_ops realtek_pci_sdmmc_ops = { + .request = sdmmc_request, + .set_ios = sdmmc_set_ios, + .get_ro = sdmmc_get_ro, + .get_cd = sdmmc_get_cd, + .start_signal_voltage_switch = sdmmc_switch_voltage, + .execute_tuning = sdmmc_execute_tuning, +}; + +#ifdef CONFIG_PM +static int rtsx_pci_sdmmc_suspend(struct platform_device *pdev, + pm_message_t state) +{ + struct realtek_pci_sdmmc *host = platform_get_drvdata(pdev); + struct mmc_host *mmc = host->mmc; + int err; + + dev_dbg(sdmmc_dev(host), "--> %s\n", __func__); + + err = mmc_suspend_host(mmc); + if (err) + return err; + + return 0; +} + +static int rtsx_pci_sdmmc_resume(struct platform_device *pdev) +{ + struct realtek_pci_sdmmc *host = platform_get_drvdata(pdev); + struct mmc_host *mmc = host->mmc; + + dev_dbg(sdmmc_dev(host), "--> %s\n", __func__); + + return mmc_resume_host(mmc); +} +#else /* CONFIG_PM */ +#define rtsx_pci_sdmmc_suspend NULL +#define rtsx_pci_sdmmc_resume NULL +#endif /* CONFIG_PM */ + +static void init_extra_caps(struct realtek_pci_sdmmc *host) +{ + struct mmc_host *mmc = host->mmc; + struct rtsx_pcr *pcr = host->pcr; + + dev_dbg(sdmmc_dev(host), "pcr->extra_caps = 0x%x\n", pcr->extra_caps); + + if (pcr->extra_caps & EXTRA_CAPS_SD_SDR50) + mmc->caps |= MMC_CAP_UHS_SDR50; + if (pcr->extra_caps & EXTRA_CAPS_SD_SDR104) + mmc->caps |= MMC_CAP_UHS_SDR104; + if (pcr->extra_caps & EXTRA_CAPS_SD_DDR50) + mmc->caps |= MMC_CAP_UHS_DDR50; + if (pcr->extra_caps & EXTRA_CAPS_MMC_HSDDR) + mmc->caps |= MMC_CAP_1_8V_DDR; + if (pcr->extra_caps & EXTRA_CAPS_MMC_8BIT) + mmc->caps |= MMC_CAP_8_BIT_DATA; +} + +static void realtek_init_host(struct realtek_pci_sdmmc *host) +{ + struct mmc_host *mmc = host->mmc; + + mmc->f_min = 250000; + mmc->f_max = 208000000; + mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195; + mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED | + MMC_CAP_MMC_HIGHSPEED | MMC_CAP_BUS_WIDTH_TEST | + MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 | MMC_CAP_MAX_CURRENT_800; + mmc->ops = &realtek_pci_sdmmc_ops; + + init_extra_caps(host); + + mmc->max_segs = 256; + mmc->max_seg_size = 65536; + mmc->max_blk_size = 512; + mmc->max_blk_count = 65535; + mmc->max_req_size = 524288; +} + +static void rtsx_pci_sdmmc_card_event(struct platform_device *pdev) +{ + struct realtek_pci_sdmmc *host = platform_get_drvdata(pdev); + + mmc_detect_change(host->mmc, 0); +} + +static int rtsx_pci_sdmmc_drv_probe(struct platform_device *pdev) +{ + struct mmc_host *mmc; + struct realtek_pci_sdmmc *host; + struct rtsx_pcr *pcr; + struct pcr_handle *handle = pdev->dev.platform_data; + + if (!handle) + return -ENXIO; + + pcr = handle->pcr; + if (!pcr) + return -ENXIO; + + dev_dbg(&(pdev->dev), ": Realtek PCI-E SDMMC controller found\n"); + + mmc = mmc_alloc_host(sizeof(*host), &pdev->dev); + if (!mmc) + return -ENOMEM; + + host = mmc_priv(mmc); + host->pcr = pcr; + host->mmc = mmc; + host->pdev = pdev; + platform_set_drvdata(pdev, host); + pcr->slots[RTSX_SD_CARD].p_dev = pdev; + pcr->slots[RTSX_SD_CARD].card_event = rtsx_pci_sdmmc_card_event; + + mutex_init(&host->host_mutex); + + realtek_init_host(host); + + mmc_add_host(mmc); + + return 0; +} + +static int rtsx_pci_sdmmc_drv_remove(struct platform_device *pdev) +{ + struct realtek_pci_sdmmc *host = platform_get_drvdata(pdev); + struct rtsx_pcr *pcr; + struct mmc_host *mmc; + + if (!host) + return 0; + + pcr = host->pcr; + pcr->slots[RTSX_SD_CARD].p_dev = NULL; + pcr->slots[RTSX_SD_CARD].card_event = NULL; + mmc = host->mmc; + host->eject = true; + + mutex_lock(&host->host_mutex); + if (host->mrq) { + dev_dbg(&(pdev->dev), + "%s: Controller removed during transfer\n", + mmc_hostname(mmc)); + + rtsx_pci_complete_unfinished_transfer(pcr); + + host->mrq->cmd->error = -ENOMEDIUM; + if (host->mrq->stop) + host->mrq->stop->error = -ENOMEDIUM; + mmc_request_done(mmc, host->mrq); + } + mutex_unlock(&host->host_mutex); + + mmc_remove_host(mmc); + mmc_free_host(mmc); + + platform_set_drvdata(pdev, NULL); + + dev_dbg(&(pdev->dev), + ": Realtek PCI-E SDMMC controller has been removed\n"); + + return 0; +} + +static struct platform_device_id rtsx_pci_sdmmc_ids[] = { + { + .name = DRV_NAME_RTSX_PCI_SDMMC, + }, { + /* sentinel */ + } +}; +MODULE_DEVICE_TABLE(platform, rtsx_pci_sdmmc_ids); + +static struct platform_driver rtsx_pci_sdmmc_driver = { + .probe = rtsx_pci_sdmmc_drv_probe, + .remove = rtsx_pci_sdmmc_drv_remove, + .id_table = rtsx_pci_sdmmc_ids, + .suspend = rtsx_pci_sdmmc_suspend, + .resume = rtsx_pci_sdmmc_resume, + .driver = { + .owner = THIS_MODULE, + .name = DRV_NAME_RTSX_PCI_SDMMC, + }, +}; +module_platform_driver(rtsx_pci_sdmmc_driver); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Wei WANG "); +MODULE_DESCRIPTION("Realtek PCI-E SD/MMC Card Host Driver"); --- linux-lts-quantal-3.5.0.orig/drivers/mmc/host/sdhci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/host/sdhci-esdhc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/card/block.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mmc/core/host.c +++ linux-lts-quantal-3.5.0/drivers/mmc/core/host.c @@ -430,3 +430,4 @@ } EXPORT_SYMBOL(mmc_free_host); + --- linux-lts-quantal-3.5.0.orig/drivers/mmc/core/mmc.c +++ linux-lts-quantal-3.5.0/drivers/mmc/core/mmc.c @@ -368,13 +368,13 @@ ext_csd[EXT_CSD_SEC_FEATURE_SUPPORT]; card->ext_csd.raw_trim_mult = ext_csd[EXT_CSD_TRIM_MULT]; + card->ext_csd.raw_partition_support = ext_csd[EXT_CSD_PARTITION_SUPPORT]; if (card->ext_csd.rev >= 4) { /* * Enhanced area feature support -- check whether the eMMC * card has the Enhanced area enabled. If so, export enhanced * area offset and size to user by adding sysfs interface. */ - card->ext_csd.raw_partition_support = ext_csd[EXT_CSD_PARTITION_SUPPORT]; if ((ext_csd[EXT_CSD_PARTITION_SUPPORT] & 0x2) && (ext_csd[EXT_CSD_PARTITION_ATTRIBUTE] & 0x1)) { hc_erase_grp_sz = --- linux-lts-quantal-3.5.0.orig/drivers/remoteproc/Kconfig +++ linux-lts-quantal-3.5.0/drivers/remoteproc/Kconfig @@ -4,7 +4,8 @@ config REMOTEPROC tristate depends on EXPERIMENTAL - select FW_CONFIG + select FW_LOADER + select VIRTIO config OMAP_REMOTEPROC tristate "OMAP remoteproc support" --- linux-lts-quantal-3.5.0.orig/drivers/remoteproc/remoteproc_core.c +++ linux-lts-quantal-3.5.0/drivers/remoteproc/remoteproc_core.c @@ -440,10 +440,12 @@ /* it is now safe to add the virtio device */ ret = rproc_add_virtio_dev(rvdev, rsc->id); if (ret) - goto free_vrings; + goto remove_rvdev; return 0; +remove_rvdev: + list_del(&rvdev->node); free_vrings: __rproc_free_vrings(rvdev, i); kfree(rvdev); @@ -643,17 +645,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 +678,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 +730,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-lts-quantal-3.5.0.orig/drivers/usb/host/ohci-at91.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/host/ehci-hub.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/ehci-hub.c @@ -613,7 +613,11 @@ status = STS_PCD; } } - /* FIXME autosuspend idle root hubs */ + + /* If a resume is in progress, make sure it can finish */ + if (ehci->resuming_ports) + mod_timer(&hcd->rh_timer, jiffies + msecs_to_jiffies(25)); + spin_unlock_irqrestore (&ehci->lock, flags); return status ? retval : 0; } @@ -823,6 +827,7 @@ /* resume signaling for 20 msec */ ehci->reset_done[wIndex] = jiffies + msecs_to_jiffies(20); + set_bit(wIndex, &ehci->resuming_ports); /* check the port again */ mod_timer(&ehci_to_hcd(ehci)->rh_timer, ehci->reset_done[wIndex]); --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/uhci-hcd.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/uhci-hcd.c @@ -447,6 +447,10 @@ return IRQ_NONE; uhci_writew(uhci, status, USBSTS); /* Clear it */ + spin_lock(&uhci->lock); + if (unlikely(!uhci->is_initialized)) /* not yet configured */ + goto done; + if (status & ~(USBSTS_USBINT | USBSTS_ERROR | USBSTS_RD)) { if (status & USBSTS_HSE) dev_err(uhci_dev(uhci), "host system error, " @@ -455,7 +459,6 @@ dev_err(uhci_dev(uhci), "host controller process " "error, something bad happened!\n"); if (status & USBSTS_HCH) { - spin_lock(&uhci->lock); if (uhci->rh_state >= UHCI_RH_RUNNING) { dev_err(uhci_dev(uhci), "host controller halted, " @@ -473,15 +476,15 @@ * pending unlinks */ mod_timer(&hcd->rh_timer, jiffies); } - spin_unlock(&uhci->lock); } } - if (status & USBSTS_RD) + if (status & USBSTS_RD) { + spin_unlock(&uhci->lock); usb_hcd_poll_rh_status(hcd); - else { - spin_lock(&uhci->lock); + } else { uhci_scan_schedule(uhci); + done: spin_unlock(&uhci->lock); } @@ -662,9 +665,9 @@ */ mb(); + spin_lock_irq(&uhci->lock); configure_hc(uhci); uhci->is_initialized = 1; - spin_lock_irq(&uhci->lock); start_rh(uhci); spin_unlock_irq(&uhci->lock); return 0; --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/ehci-omap.c +++ linux-lts-quantal-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); @@ -443,31 +286,14 @@ { struct device *dev = &pdev->dev; struct usb_hcd *hcd = dev_get_drvdata(dev); - struct ehci_hcd_omap_platform_data *pdata = dev->platform_data; usb_remove_hcd(hcd); 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); - if (pdata->phy_reset) { - if (gpio_is_valid(pdata->reset_gpio_port[0])) - gpio_free(pdata->reset_gpio_port[0]); - - if (gpio_is_valid(pdata->reset_gpio_port[1])) - gpio_free(pdata->reset_gpio_port[1]); - } return 0; } @@ -528,14 +354,14 @@ * 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, .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete, }; -MODULE_ALIAS("platform:omap-ehci"); +MODULE_ALIAS("platform:ehci-omap"); MODULE_AUTHOR("Texas Instruments, Inc."); MODULE_AUTHOR("Felipe Balbi "); --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci-hub.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/xhci-hub.c @@ -287,7 +287,7 @@ if (virt_dev->eps[i].ring && virt_dev->eps[i].ring->dequeue) xhci_queue_stop_endpoint(xhci, slot_id, i, suspend); } - cmd->command_trb = xhci->cmd_ring->enqueue; + cmd->command_trb = xhci_find_next_enqueue(xhci->cmd_ring); list_add_tail(&cmd->cmd_list, &virt_dev->cmd_list); xhci_queue_stop_endpoint(xhci, slot_id, 0, suspend); xhci_ring_cmd_db(xhci); @@ -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; @@ -714,12 +762,39 @@ break; case USB_PORT_FEAT_LINK_STATE: temp = xhci_readl(xhci, port_array[wIndex]); + + /* Disable port */ + if (link_state == USB_SS_PORT_LS_SS_DISABLED) { + xhci_dbg(xhci, "Disable port %d\n", wIndex); + temp = xhci_port_state_to_neutral(temp); + /* + * Clear all change bits, so that we get a new + * connection event. + */ + temp |= PORT_CSC | PORT_PEC | PORT_WRC | + PORT_OCC | PORT_RC | PORT_PLC | + PORT_CEC; + xhci_writel(xhci, temp | PORT_PE, + port_array[wIndex]); + temp = xhci_readl(xhci, port_array[wIndex]); + break; + } + + /* Put link in RxDetect (enable port) */ + if (link_state == USB_SS_PORT_LS_RX_DETECT) { + xhci_dbg(xhci, "Enable port %d\n", wIndex); + xhci_set_link_state(xhci, port_array, wIndex, + link_state); + temp = xhci_readl(xhci, port_array[wIndex]); + break; + } + /* Software should not attempt to set - * port link state above '5' (Rx.Detect) and the port + * port link state above '3' (U3) and the port * must be enabled. */ if ((temp & PORT_PE) == 0 || - (link_state > USB_SS_PORT_LS_RX_DETECT)) { + (link_state > USB_SS_PORT_LS_U3)) { xhci_warn(xhci, "Cannot set link state.\n"); goto error; } @@ -785,18 +860,18 @@ case USB_PORT_FEAT_U1_TIMEOUT: if (hcd->speed != HCD_USB3) goto error; - temp = xhci_readl(xhci, port_array[wIndex] + 1); + temp = xhci_readl(xhci, port_array[wIndex] + PORTPMSC); temp &= ~PORT_U1_TIMEOUT_MASK; temp |= PORT_U1_TIMEOUT(timeout); - xhci_writel(xhci, temp, port_array[wIndex] + 1); + xhci_writel(xhci, temp, port_array[wIndex] + PORTPMSC); break; case USB_PORT_FEAT_U2_TIMEOUT: if (hcd->speed != HCD_USB3) goto error; - temp = xhci_readl(xhci, port_array[wIndex] + 1); + temp = xhci_readl(xhci, port_array[wIndex] + PORTPMSC); temp &= ~PORT_U2_TIMEOUT_MASK; temp |= PORT_U2_TIMEOUT(timeout); - xhci_writel(xhci, temp, port_array[wIndex] + 1); + xhci_writel(xhci, temp, port_array[wIndex] + PORTPMSC); break; default: goto error; @@ -890,6 +965,7 @@ int max_ports; __le32 __iomem **port_array; struct xhci_bus_state *bus_state; + bool reset_change = false; max_ports = xhci_get_ports(hcd, &port_array); bus_state = &xhci->bus_state[hcd_index(hcd)]; @@ -921,6 +997,12 @@ buf[(i + 1) / 8] |= 1 << (i + 1) % 8; status = 1; } + if ((temp & PORT_RC)) + reset_change = true; + } + if (!status && !reset_change) { + xhci_dbg(xhci, "%s: stopping port polling.\n", __func__); + clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); } spin_unlock_irqrestore(&xhci->lock, flags); return status ? retval : 0; @@ -997,10 +1079,8 @@ __le32 __iomem *addr; u32 tmp; - /* Add one to the port status register address to get - * the port power control register address. - */ - addr = port_array[port_index] + 1; + /* Get the port power control register address. */ + addr = port_array[port_index] + PORTPMSC; tmp = xhci_readl(xhci, addr); tmp |= PORT_RWE; xhci_writel(xhci, tmp, addr); @@ -1092,7 +1172,7 @@ /* Add one to the port status register address to get * the port power control register address. */ - addr = port_array[port_index] + 1; + addr = port_array[port_index] + PORTPMSC; tmp = xhci_readl(xhci, addr); tmp &= ~PORT_RWE; xhci_writel(xhci, tmp, addr); --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/ehci-pci.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/ehci-pci.c @@ -362,7 +362,8 @@ pdev->vendor == PCI_VENDOR_ID_INTEL && (pdev->device == 0x1E26 || pdev->device == 0x8C2D || - pdev->device == 0x8C26); + pdev->device == 0x8C26 || + pdev->device == 0x9C26); } static void ehci_enable_xhci_companion(void) @@ -548,7 +549,7 @@ .remove = usb_hcd_pci_remove, .shutdown = usb_hcd_pci_shutdown, -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_PM .driver = { .pm = &usb_hcd_pci_pm_ops }, --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci-mem.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/xhci-mem.c @@ -205,7 +205,12 @@ next = xhci_segment_alloc(xhci, cycle_state, flags); if (!next) { - xhci_free_segments_for_ring(xhci, *first); + prev = *first; + while (prev) { + next = prev->next; + xhci_segment_free(xhci, prev); + prev = next; + } return -ENOMEM; } xhci_link_segments(xhci, prev, next, type); @@ -258,7 +263,7 @@ return ring; fail: - xhci_ring_free(xhci, ring); + kfree(ring); return NULL; } @@ -364,6 +369,10 @@ ctx->size += CTX_SIZE(xhci->hcc_params); ctx->bytes = dma_pool_alloc(xhci->device_pool, flags, &ctx->dma); + if (!ctx->bytes) { + kfree(ctx); + return NULL; + } memset(ctx->bytes, 0, ctx->size); return ctx; } @@ -1245,6 +1254,8 @@ static unsigned int xhci_parse_microframe_interval(struct usb_device *udev, struct usb_host_endpoint *ep) { + if (ep->desc.bInterval == 0) + return 0; return xhci_microframes_to_exponent(udev, ep, ep->desc.bInterval, 0, 15); } @@ -1436,15 +1447,17 @@ ep_ctx->ep_info2 |= cpu_to_le32(xhci_get_endpoint_type(udev, ep)); /* Set the max packet size and max burst */ + max_packet = GET_MAX_PACKET(usb_endpoint_maxp(&ep->desc)); + max_burst = 0; switch (udev->speed) { case USB_SPEED_SUPER: - max_packet = usb_endpoint_maxp(&ep->desc); - ep_ctx->ep_info2 |= cpu_to_le32(MAX_PACKET(max_packet)); /* dig out max burst from ep companion desc */ - max_packet = ep->ss_ep_comp.bMaxBurst; - ep_ctx->ep_info2 |= cpu_to_le32(MAX_BURST(max_packet)); + max_burst = ep->ss_ep_comp.bMaxBurst; break; case USB_SPEED_HIGH: + /* Some devices get this wrong */ + if (usb_endpoint_xfer_bulk(&ep->desc)) + max_packet = 512; /* bits 11:12 specify the number of additional transaction * opportunities per microframe (USB 2.0, section 9.6.6) */ @@ -1452,17 +1465,16 @@ usb_endpoint_xfer_int(&ep->desc)) { max_burst = (usb_endpoint_maxp(&ep->desc) & 0x1800) >> 11; - ep_ctx->ep_info2 |= cpu_to_le32(MAX_BURST(max_burst)); } - /* Fall through */ + break; case USB_SPEED_FULL: case USB_SPEED_LOW: - max_packet = GET_MAX_PACKET(usb_endpoint_maxp(&ep->desc)); - ep_ctx->ep_info2 |= cpu_to_le32(MAX_PACKET(max_packet)); break; default: BUG(); } + ep_ctx->ep_info2 |= cpu_to_le32(MAX_PACKET(max_packet) | + MAX_BURST(max_burst)); max_esit_payload = xhci_get_max_esit_payload(xhci, udev, ep); ep_ctx->tx_info = cpu_to_le32(MAX_ESIT_PAYLOAD_FOR_EP(max_esit_payload)); @@ -1772,6 +1784,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 +1808,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); @@ -1833,6 +1851,9 @@ } spin_unlock_irqrestore(&xhci->lock, flags); + if (!xhci->rh_bw) + goto no_bw; + num_ports = HCS_MAX_PORTS(xhci->hcs_params1); for (i = 0; i < num_ports; i++) { struct xhci_interval_bw_table *bwt = &xhci->rh_bw[i].bw_table; @@ -1851,6 +1872,7 @@ } } +no_bw: xhci->num_usb2_ports = 0; xhci->num_usb3_ports = 0; xhci->num_active_eps = 0; @@ -2262,6 +2284,9 @@ u32 page_size, temp; int i; + INIT_LIST_HEAD(&xhci->lpm_failed_devs); + INIT_LIST_HEAD(&xhci->cancel_cmd_list); + page_size = xhci_readl(xhci, &xhci->op_regs->page_size); xhci_dbg(xhci, "Supported page size register = 0x%x\n", page_size); for (i = 0; i < 16; i++) { @@ -2450,8 +2475,6 @@ if (xhci_setup_port_arrays(xhci, flags)) goto fail; - INIT_LIST_HEAD(&xhci->lpm_failed_devs); - /* Enable USB 3.0 device notifications for function remote wake, which * is necessary for allowing USB 3.0 devices to do remote wakeup from * U3 (device suspend). --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci.c +++ linux-lts-quantal-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; @@ -339,15 +342,20 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); + struct pci_dev *pdev; int ret; + /* The xhci platform device has set up IRQs through usb_add_hcd. */ + if (xhci->quirks & XHCI_PLAT) + return 0; + + pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); /* * Some Fresco Logic host controllers advertise MSI, but fail to * generate interrupts. Don't even try to enable MSI. */ if (xhci->quirks & XHCI_BROKEN_MSI) - return 0; + goto legacy_irq; /* unregister the legacy interrupt */ if (hcd->irq) @@ -368,6 +376,7 @@ return -EINVAL; } + legacy_irq: /* fall back to legacy interrupt*/ ret = request_irq(pdev->irq, &usb_hcd_irq, IRQF_SHARED, hcd->irq_descr, hcd); @@ -397,6 +406,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 Workstation")) + 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 +521,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 +591,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 +736,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 +771,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); @@ -770,6 +886,11 @@ struct usb_hcd *hcd = xhci_to_hcd(xhci); u32 command; + /* Don't poll the roothubs on bus suspend. */ + xhci_dbg(xhci, "%s: stopping port polling.\n", __func__); + clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); + del_timer_sync(&hcd->rh_timer); + spin_lock_irq(&xhci->lock); clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); clear_bit(HCD_FLAG_HW_ACCESSIBLE, &xhci->shared_hcd->flags); @@ -781,7 +902,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 +923,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); @@ -821,6 +952,7 @@ struct usb_hcd *hcd = xhci_to_hcd(xhci); struct usb_hcd *secondary_hcd; int retval = 0; + bool comp_timer_running = false; /* Wait a bit if either of the roothubs need to settle from the * transition into bus suspend. @@ -858,6 +990,13 @@ /* If restore operation fails, re-initialize the HC during resume */ if ((temp & STS_SRE) || hibernated) { + + 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"); + } + /* Let the USB core know _both_ roothubs lost power. */ usb_root_hub_lost_power(xhci->main_hcd->self.root_hub); usb_root_hub_lost_power(xhci->shared_hcd->self.root_hub); @@ -900,6 +1039,8 @@ retval = xhci_init(hcd->primary_hcd); if (retval) return retval; + comp_timer_running = true; + xhci_dbg(xhci, "Start the primary HCD\n"); retval = xhci_run(hcd->primary_hcd); if (!retval) { @@ -934,6 +1075,21 @@ 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) && !comp_timer_running) + compliance_mode_recovery_timer_init(xhci); + + /* Re-enable port polling. */ + xhci_dbg(xhci, "%s: starting port polling.\n", __func__); + set_bit(HCD_FLAG_POLL_RH, &hcd->flags); + usb_hcd_poll_rh_status(hcd); + return retval; } #endif /* CONFIG_PM */ @@ -1011,9 +1167,6 @@ } xhci = hcd_to_xhci(hcd); - if (xhci->xhc_state & XHCI_STATE_HALTED) - return -ENODEV; - if (check_virt_dev) { if (!udev->slot_id || !xhci->devs[udev->slot_id]) { printk(KERN_DEBUG "xHCI %s called with unaddressed " @@ -1029,6 +1182,9 @@ } } + if (xhci->xhc_state & XHCI_STATE_HALTED) + return -ENODEV; + return 1; } @@ -2123,7 +2279,7 @@ static bool xhci_is_sync_in_ep(unsigned int ep_type) { - return (ep_type == ISOC_IN_EP || ep_type != INT_IN_EP); + return (ep_type == ISOC_IN_EP || ep_type == INT_IN_EP); } static unsigned int xhci_get_ss_bw_consumed(struct xhci_bw_info *ep_bw) @@ -2396,6 +2552,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]; @@ -2425,15 +2582,7 @@ if (command) { cmd_completion = command->completion; cmd_status = &command->status; - command->command_trb = xhci->cmd_ring->enqueue; - - /* Enqueue pointer can be left pointing to the link TRB, - * we must handle that - */ - if (TRB_TYPE_LINK_LE32(command->command_trb->link.control)) - command->command_trb = - xhci->cmd_ring->enq_seg->next->trbs; - + command->command_trb = xhci_find_next_enqueue(xhci->cmd_ring); list_add_tail(&command->cmd_list, &virt_dev->cmd_list); } else { cmd_completion = &virt_dev->cmd_completion; @@ -2441,6 +2590,7 @@ } init_completion(cmd_completion); + cmd_trb = xhci_find_next_enqueue(xhci->cmd_ring); if (!ctx_change) ret = xhci_queue_configure_endpoint(xhci, in_ctx->dma, udev->slot_id, must_succeed); @@ -2462,14 +2612,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; } @@ -3222,14 +3375,7 @@ /* Attempt to submit the Reset Device command to the command ring */ spin_lock_irqsave(&xhci->lock, flags); - reset_device_cmd->command_trb = xhci->cmd_ring->enqueue; - - /* Enqueue pointer can be left pointing to the link TRB, - * we must handle that - */ - if (TRB_TYPE_LINK_LE32(reset_device_cmd->command_trb->link.control)) - reset_device_cmd->command_trb = - xhci->cmd_ring->enq_seg->next->trbs; + reset_device_cmd->command_trb = xhci_find_next_enqueue(xhci->cmd_ring); list_add_tail(&reset_device_cmd->cmd_list, &virt_dev->cmd_list); ret = xhci_queue_reset_device(xhci, slot_id); @@ -3340,10 +3486,21 @@ { struct xhci_hcd *xhci = hcd_to_xhci(hcd); struct xhci_virt_device *virt_dev; + struct device *dev = hcd->self.controller; unsigned long flags; u32 state; int i, ret; +#ifndef CONFIG_USB_DEFAULT_PERSIST + /* + * We called pm_runtime_get_noresume when the device was attached. + * Decrement the counter here to allow controller to runtime suspend + * if no devices remain. + */ + if (xhci->quirks & XHCI_RESET_ON_RESUME) + pm_runtime_put_noidle(dev); +#endif + ret = xhci_check_args(hcd, udev, NULL, 0, true, __func__); /* If the host is halted due to driver unload, we still need to free the * device. @@ -3415,11 +3572,14 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct device *dev = hcd->self.controller; unsigned long flags; int timeleft; int ret; + union xhci_trb *cmd_trb; spin_lock_irqsave(&xhci->lock, flags); + cmd_trb = xhci_find_next_enqueue(xhci->cmd_ring); ret = xhci_queue_slot_control(xhci, TRB_ENABLE_SLOT, 0); if (ret) { spin_unlock_irqrestore(&xhci->lock, flags); @@ -3431,12 +3591,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) { @@ -3465,6 +3625,16 @@ goto disable_slot; } udev->slot_id = xhci->slot_id; + +#ifndef CONFIG_USB_DEFAULT_PERSIST + /* + * If resetting upon resume, we can't put the controller into runtime + * suspend if there is a device attached. + */ + if (xhci->quirks & XHCI_RESET_ON_RESUME) + pm_runtime_get_noresume(dev); +#endif + /* Is this a LS or FS device under a HS hub? */ /* Hub or peripherial? */ return 1; @@ -3497,6 +3667,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 +3706,7 @@ xhci_dbg_ctx(xhci, virt_dev->in_ctx, 2); spin_lock_irqsave(&xhci->lock, flags); + cmd_trb = xhci_find_next_enqueue(xhci->cmd_ring); ret = xhci_queue_address_device(xhci, virt_dev->in_ctx->dma, udev->slot_id); if (ret) { @@ -3547,7 +3719,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 +3727,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; } @@ -3620,6 +3795,56 @@ return 0; } +/* + * Issue an Evaluate Context command to change the Maximum Exit Latency in the + * slot context. If that succeeds, store the new MEL in the xhci_virt_device. + */ +static int xhci_change_max_exit_latency(struct xhci_hcd *xhci, + struct usb_device *udev, u16 max_exit_latency) +{ + struct xhci_virt_device *virt_dev; + struct xhci_command *command; + struct xhci_input_control_ctx *ctrl_ctx; + struct xhci_slot_ctx *slot_ctx; + unsigned long flags; + int ret; + + spin_lock_irqsave(&xhci->lock, flags); + if (max_exit_latency == xhci->devs[udev->slot_id]->current_mel) { + spin_unlock_irqrestore(&xhci->lock, flags); + return 0; + } + + /* Attempt to issue an Evaluate Context command to change the MEL. */ + virt_dev = xhci->devs[udev->slot_id]; + command = xhci->lpm_command; + xhci_slot_copy(xhci, command->in_ctx, virt_dev->out_ctx); + spin_unlock_irqrestore(&xhci->lock, flags); + + ctrl_ctx = xhci_get_input_control_ctx(xhci, command->in_ctx); + ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG); + slot_ctx = xhci_get_slot_ctx(xhci, command->in_ctx); + slot_ctx->dev_info2 &= cpu_to_le32(~((u32) MAX_EXIT)); + slot_ctx->dev_info2 |= cpu_to_le32(max_exit_latency); + + xhci_dbg(xhci, "Set up evaluate context for LPM MEL change.\n"); + xhci_dbg(xhci, "Slot %u Input Context:\n", udev->slot_id); + xhci_dbg_ctx(xhci, command->in_ctx, 0); + + /* Issue and wait for the evaluate context command. */ + ret = xhci_configure_endpoint(xhci, udev, command, + true, true); + xhci_dbg(xhci, "Slot %u Output Context:\n", udev->slot_id); + xhci_dbg_ctx(xhci, virt_dev->out_ctx, 0); + + if (!ret) { + spin_lock_irqsave(&xhci->lock, flags); + virt_dev->current_mel = max_exit_latency; + spin_unlock_irqrestore(&xhci->lock, flags); + } + return ret; +} + #ifdef CONFIG_USB_SUSPEND /* BESL to HIRD Encoding array for USB2 LPM */ @@ -3661,6 +3886,28 @@ return besl; } +/* Calculate BESLD, L1 timeout and HIRDM for USB2 PORTHLPMC */ +static int xhci_calculate_usb2_hw_lpm_params(struct usb_device *udev) +{ + u32 field; + int l1; + int besld = 0; + int hirdm = 0; + + field = le32_to_cpu(udev->bos->ext_cap->bmAttributes); + + /* xHCI l1 is set in steps of 256us, xHCI 1.0 section 5.4.11.2 */ + l1 = XHCI_L1_TIMEOUT / 256; + + /* device has preferred BESLD */ + if (field & USB_BESL_DEEP_VALID) { + besld = USB_GET_BESL_DEEP(field); + hirdm = 1; + } + + return PORT_BESLD(besld) | PORT_L1_TIMEOUT(l1) | PORT_HIRDM(hirdm); +} + static int xhci_usb2_software_lpm_test(struct usb_hcd *hcd, struct usb_device *udev) { @@ -3716,7 +3963,7 @@ * Check device's USB 2.0 extension descriptor to determine whether * HIRD or BESL shoule be used. See USB2.0 LPM errata. */ - pm_addr = port_array[port_num] + 1; + pm_addr = port_array[port_num] + PORTPMSC; hird = xhci_calculate_hird_besl(xhci, udev); temp = PORT_L1DS(udev->slot_id) | PORT_HIRD(hird); xhci_writel(xhci, temp, pm_addr); @@ -3792,11 +4039,12 @@ { struct xhci_hcd *xhci = hcd_to_xhci(hcd); __le32 __iomem **port_array; - __le32 __iomem *pm_addr; - u32 temp; + __le32 __iomem *pm_addr, *hlpm_addr; + u32 pm_val, hlpm_val, field; unsigned int port_num; unsigned long flags; - int hird; + int hird, exit_latency; + int ret; if (hcd->speed == HCD_USB3 || !xhci->hw_lpm_support || !udev->lpm_capable) @@ -3813,24 +4061,74 @@ port_array = xhci->usb2_ports; port_num = udev->portnum - 1; - pm_addr = port_array[port_num] + 1; - temp = xhci_readl(xhci, pm_addr); + pm_addr = port_array[port_num] + PORTPMSC; + pm_val = xhci_readl(xhci, pm_addr); + hlpm_addr = port_array[port_num] + PORTHLPMC; + field = le32_to_cpu(udev->bos->ext_cap->bmAttributes); xhci_dbg(xhci, "%s port %d USB2 hardware LPM\n", enable ? "enable" : "disable", port_num); - hird = xhci_calculate_hird_besl(xhci, udev); - if (enable) { - temp &= ~PORT_HIRD_MASK; - temp |= PORT_HIRD(hird) | PORT_RWE; - xhci_writel(xhci, temp, pm_addr); - temp = xhci_readl(xhci, pm_addr); - temp |= PORT_HLE; - xhci_writel(xhci, temp, pm_addr); + /* Host supports BESL timeout instead of HIRD */ + if (udev->usb2_hw_lpm_capable) { + /* if device doesn't have a preferred BESL value use a + * default one which works with mixed HIRD and BESL + * systems. See XHCI_DEFAULT_BESL definition in xhci.h + */ + if ((field & USB_BESL_SUPPORT) && + (field & USB_BESL_BASELINE_VALID)) + hird = USB_GET_BESL_BASELINE(field); + else + hird = XHCI_DEFAULT_BESL; + + exit_latency = xhci_besl_encoding[hird]; + spin_unlock_irqrestore(&xhci->lock, flags); + + /* USB 3.0 code dedicate one xhci->lpm_command->in_ctx + * input context for link powermanagement evaluate + * context commands. It is protected by hcd->bandwidth + * mutex and is shared by all devices. We need to set + * the max ext latency in USB 2 BESL LPM as well, so + * use the same mutex and xhci_change_max_exit_latency() + */ + mutex_lock(hcd->bandwidth_mutex); + ret = xhci_change_max_exit_latency(xhci, udev, + exit_latency); + mutex_unlock(hcd->bandwidth_mutex); + + if (ret < 0) + return ret; + spin_lock_irqsave(&xhci->lock, flags); + + hlpm_val = xhci_calculate_usb2_hw_lpm_params(udev); + xhci_writel(xhci, hlpm_val, hlpm_addr); + /* flush write */ + xhci_readl(xhci, hlpm_addr); + } else { + hird = xhci_calculate_hird_besl(xhci, udev); + } + + pm_val &= ~PORT_HIRD_MASK; + pm_val |= PORT_HIRD(hird) | PORT_RWE; + xhci_writel(xhci, pm_val, pm_addr); + pm_val = xhci_readl(xhci, pm_addr); + pm_val |= PORT_HLE; + xhci_writel(xhci, pm_val, pm_addr); + /* flush write */ + xhci_readl(xhci, pm_addr); } else { - temp &= ~(PORT_HLE | PORT_RWE | PORT_HIRD_MASK); - xhci_writel(xhci, temp, pm_addr); + pm_val &= ~(PORT_HLE | PORT_RWE | PORT_HIRD_MASK); + xhci_writel(xhci, pm_val, pm_addr); + /* flush write */ + xhci_readl(xhci, pm_addr); + if (udev->usb2_hw_lpm_capable) { + spin_unlock_irqrestore(&xhci->lock, flags); + mutex_lock(hcd->bandwidth_mutex); + xhci_change_max_exit_latency(xhci, udev, 0); + mutex_unlock(hcd->bandwidth_mutex); + return 0; + } } spin_unlock_irqrestore(&xhci->lock, flags); @@ -3878,7 +4176,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 +4297,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; @@ -4177,56 +4475,6 @@ return timeout; } -/* - * Issue an Evaluate Context command to change the Maximum Exit Latency in the - * slot context. If that succeeds, store the new MEL in the xhci_virt_device. - */ -static int xhci_change_max_exit_latency(struct xhci_hcd *xhci, - struct usb_device *udev, u16 max_exit_latency) -{ - struct xhci_virt_device *virt_dev; - struct xhci_command *command; - struct xhci_input_control_ctx *ctrl_ctx; - struct xhci_slot_ctx *slot_ctx; - unsigned long flags; - int ret; - - spin_lock_irqsave(&xhci->lock, flags); - if (max_exit_latency == xhci->devs[udev->slot_id]->current_mel) { - spin_unlock_irqrestore(&xhci->lock, flags); - return 0; - } - - /* Attempt to issue an Evaluate Context command to change the MEL. */ - virt_dev = xhci->devs[udev->slot_id]; - command = xhci->lpm_command; - xhci_slot_copy(xhci, command->in_ctx, virt_dev->out_ctx); - spin_unlock_irqrestore(&xhci->lock, flags); - - ctrl_ctx = xhci_get_input_control_ctx(xhci, command->in_ctx); - ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG); - slot_ctx = xhci_get_slot_ctx(xhci, command->in_ctx); - slot_ctx->dev_info2 &= cpu_to_le32(~((u32) MAX_EXIT)); - slot_ctx->dev_info2 |= cpu_to_le32(max_exit_latency); - - xhci_dbg(xhci, "Set up evaluate context for LPM MEL change.\n"); - xhci_dbg(xhci, "Slot %u Input Context:\n", udev->slot_id); - xhci_dbg_ctx(xhci, command->in_ctx, 0); - - /* Issue and wait for the evaluate context command. */ - ret = xhci_configure_endpoint(xhci, udev, command, - true, true); - xhci_dbg(xhci, "Slot %u Output Context:\n", udev->slot_id); - xhci_dbg_ctx(xhci, virt_dev->out_ctx, 0); - - if (!ret) { - spin_lock_irqsave(&xhci->lock, flags); - virt_dev->current_mel = max_exit_latency; - spin_unlock_irqrestore(&xhci->lock, flags); - } - return ret; -} - static int calculate_max_exit_latency(struct usb_device *udev, enum usb3_link_state state_changed, u16 hub_encoded_timeout) @@ -4499,6 +4747,13 @@ get_quirks(dev, xhci); + /* In xhci controllers which follow xhci 1.0 spec gives a spurious + * success event after a short transfer. This quirk will ignore such + * spurious event. + */ + if (xhci->hci_version > 0x96) + xhci->quirks |= XHCI_SPURIOUS_SUCCESS; + /* Make sure the HC is halted. */ retval = xhci_halt(xhci); if (retval) --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/pci-quirks.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/host/ehci-mxc.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/ehci-mxc.c @@ -291,7 +291,7 @@ if (pdata && pdata->exit) pdata->exit(pdev); - if (pdata->otg) + if (pdata && pdata->otg) usb_phy_shutdown(pdata->otg); usb_remove_hcd(hcd); --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci-pci.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/xhci-pci.c @@ -29,6 +29,7 @@ /* Device for a quirk */ #define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73 #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000 +#define PCI_DEVICE_ID_FRESCO_LOGIC_FL1400 0x1400 #define PCI_VENDOR_ID_ETRON 0x1b6f #define PCI_DEVICE_ID_ASROCK_P67 0x7023 @@ -58,8 +59,10 @@ /* Look for vendor-specific quirks */ if (pdev->vendor == PCI_VENDOR_ID_FRESCO_LOGIC && - pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK) { - if (pdev->revision == 0x0) { + (pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK || + pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_FL1400)) { + if (pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK && + pdev->revision == 0x0) { xhci->quirks |= XHCI_RESET_EP_QUIRK; xhci_dbg(xhci, "QUIRK: Fresco Logic xHC needs configure" " endpoint cmd after reset endpoint\n"); @@ -90,15 +93,25 @@ } if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == PCI_DEVICE_ID_INTEL_PANTHERPOINT_XHCI) { - xhci->quirks |= XHCI_SPURIOUS_SUCCESS; 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; @@ -330,7 +343,7 @@ /* suspend and resume implemented later */ .shutdown = usb_hcd_pci_shutdown, -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_PM .driver = { .pm = &usb_hcd_pci_pm_ops }, --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/pci-quirks.c +++ linux-lts-quantal-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-"), }, }, { } @@ -714,6 +723,7 @@ } #define PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI 0x8C31 +#define PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI 0x9C31 bool usb_is_intel_ppt_switchable_xhci(struct pci_dev *pdev) { @@ -727,7 +737,8 @@ { return pdev->class == PCI_CLASS_SERIAL_USB_XHCI && pdev->vendor == PCI_VENDOR_ID_INTEL && - pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI; + (pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI); } bool usb_is_intel_switchable_xhci(struct pci_dev *pdev) @@ -769,13 +780,22 @@ "defaulting to EHCI.\n"); dev_warn(&xhci_pdev->dev, "USB 3.0 devices will work at USB 2.0 speeds.\n"); + usb_disable_xhci_ports(xhci_pdev); 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 +805,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 +829,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 +851,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 +866,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 +907,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-lts-quantal-3.5.0.orig/drivers/usb/host/ohci-pci.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/ohci-pci.c @@ -414,7 +414,7 @@ .remove = usb_hcd_pci_remove, .shutdown = usb_hcd_pci_shutdown, -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_PM .driver = { .pm = &usb_hcd_pci_pm_ops }, --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/ohci-q.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/ohci-q.c @@ -1128,6 +1128,25 @@ while (td) { struct td *td_next = td->next_dl_td; + struct ed *ed = td->ed; + + /* + * Some OHCI controllers (NVIDIA for sure, maybe others) + * occasionally forget to add TDs to the done queue. Since + * TDs for a given endpoint are always processed in order, + * if we find a TD on the donelist then all of its + * predecessors must be finished as well. + */ + for (;;) { + struct td *td2; + + td2 = list_first_entry(&ed->td_list, struct td, + td_list); + if (td2 == td) + break; + takeback_td(ohci, td2); + } + takeback_td(ohci, td); td = td_next; } --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci.h +++ linux-lts-quantal-3.5.0/drivers/usb/host/xhci.h @@ -132,6 +132,11 @@ /* Number of registers per port */ #define NUM_PORT_REGS 4 +#define PORTSC 0 +#define PORTPMSC 1 +#define PORTLI 2 +#define PORTHLPMC 3 + /** * struct xhci_op_regs - xHCI Host Controller Operational Registers. * @command: USBCMD - xHC command register @@ -206,8 +211,8 @@ /* bits 12:31 are reserved (and should be preserved on writes). */ /* IMAN - Interrupt Management Register */ -#define IMAN_IP (1 << 1) -#define IMAN_IE (1 << 0) +#define IMAN_IE (1 << 1) +#define IMAN_IP (1 << 0) /* USBSTS - USB status - status bitmasks */ /* HC not running - set to 1 when run/stop bit is cleared. */ @@ -381,6 +386,27 @@ #define PORT_L1DS(p) (((p) & 0xff) << 8) #define PORT_HLE (1 << 16) + +/* USB2 Protocol PORTHLPMC */ +#define PORT_HIRDM(p)((p) & 3) +#define PORT_L1_TIMEOUT(p)(((p) & 0xff) << 2) +#define PORT_BESLD(p)(((p) & 0xf) << 10) + +/* use 512 microseconds as USB2 LPM L1 default timeout. */ +#define XHCI_L1_TIMEOUT 512 + +/* Set default HIRD/BESL value to 4 (350/400us) for USB2 L1 LPM resume latency. + * Safe to use with mixed HIRD and BESL systems (host and device) and is used + * by other operating systems. + * + * XHCI 1.0 errata 8/14/12 Table 13 notes: + * "Software should choose xHC BESL/BESLD field values that do not violate a + * device's resume latency requirements, + * e.g. not program values > '4' if BLC = '1' and a HIRD device is attached, + * or not program values < '4' if BLC = '0' and a BESL device is attached. + */ +#define XHCI_DEFAULT_BESL 4 + /** * struct xhci_intr_reg - Interrupt Register Set * @irq_pending: IMAN - Interrupt Management Register. Used to enable @@ -972,6 +998,10 @@ __le32 flags; }; +/* Transfer event TRB length bit mask */ +/* bits 0:23 */ +#define EVENT_TRB_LEN(p) ((p) & 0xffffff) + /** Transfer Event bit fields **/ #define TRB_TO_EP_ID(p) (((p) >> 16) & 0x1f) @@ -1256,6 +1286,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 +1461,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 +1539,10 @@ #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) +#define XHCI_PLAT (1 << 16) unsigned int num_active_eps; unsigned int limit_active_eps; /* There are two roothubs to keep track of bus suspend info for */ @@ -1510,6 +1559,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 +1591,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 +1751,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,8 +1843,11 @@ 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); +union xhci_trb *xhci_find_next_enqueue(struct xhci_ring *ring); /* xHCI roothub code */ void xhci_set_link_state(struct xhci_hcd *xhci, __le32 __iomem **port_array, --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci-plat.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/xhci-plat.c @@ -24,7 +24,7 @@ * here that the generic code does not try to make a pci_dev from our * dev struct in order to setup MSI */ - xhci->quirks |= XHCI_BROKEN_MSI; + xhci->quirks |= XHCI_PLAT; } /* called during probe() after chip reset completes */ @@ -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; @@ -179,6 +179,7 @@ usb_remove_hcd(hcd); iounmap(hcd->regs); + release_mem_region(hcd->rsrc_start, hcd->rsrc_len); usb_put_hcd(hcd); kfree(xhci); --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/xhci-ring.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/xhci-ring.c @@ -122,6 +122,16 @@ return TRB_TYPE_LINK_LE32(link->control); } +union xhci_trb *xhci_find_next_enqueue(struct xhci_ring *ring) +{ + /* Enqueue pointer can be left pointing to the link TRB, + * we must handle that + */ + if (TRB_TYPE_LINK_LE32(ring->enqueue->link.control)) + return ring->enq_seg->next->trbs; + return ring->enqueue; +} + /* Updates trb to point to the next TRB in the ring, and updates seg if the next * TRB is in a new segment. This does not skip over link TRBs, and it does not * effect the ring dequeue or enqueue pointers. @@ -145,29 +155,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 +290,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, @@ -315,7 +444,7 @@ /* A ring has pending URBs if its TD list is not empty */ if (!(ep->ep_state & EP_HAS_STREAMS)) { - if (!(list_empty(&ep->ring->td_list))) + if (ep->ring && !(list_empty(&ep->ring->td_list))) xhci_ring_ep_doorbell(xhci, slot_id, ep_index, 0); return; } @@ -728,8 +857,12 @@ /* Otherwise ring the doorbell(s) to restart queued transfers */ ring_doorbell_for_active_rings(xhci, slot_id, ep_index); } - ep->stopped_td = NULL; - ep->stopped_trb = NULL; + + /* Clear stopped_td and stopped_trb if endpoint is not halted */ + if (!(ep->ep_state & EP_HALTED)) { + ep->stopped_td = NULL; + ep->stopped_trb = NULL; + } /* * Drop the lock and complete the URBs in the cancelled TD list. @@ -1051,6 +1184,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 +1216,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 +1390,28 @@ 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; + } + /* There is no command to handle if we get a stop event when the + * command ring is empty, event->cmd_trb points to the next + * unset command + */ + if (xhci->cmd_ring->dequeue == xhci->cmd_ring->enqueue) + return; + } + switch (le32_to_cpu(xhci->cmd_ring->dequeue->generic.field[3]) & TRB_TYPE_BITMASK) { case TRB_TYPE(TRB_ENABLE_SLOT): @@ -1409,7 +1718,7 @@ faked_port_index + 1); if (slot_id && xhci->devs[slot_id]) xhci_ring_device(xhci, slot_id); - if (bus_state->port_remote_wakeup && (1 << faked_port_index)) { + if (bus_state->port_remote_wakeup & (1 << faked_port_index)) { bus_state->port_remote_wakeup &= ~(1 << faked_port_index); xhci_test_and_clear_bit(xhci, port_array, @@ -1436,6 +1745,15 @@ if (bogus_port_status) return; + /* + * xHCI port-status-change events occur when the "or" of all the + * status-change bits in the portsc register changes from 0 to 1. + * New status changes won't cause an event if any other change + * bits are still set. When an event occurs, switch over to + * polling to avoid losing status changes. + */ + xhci_dbg(xhci, "%s: starting port polling.\n", __func__); + set_bit(HCD_FLAG_POLL_RH, &hcd->flags); spin_unlock(&xhci->lock); /* Pass this up to the core */ usb_hcd_poll_rh_status(hcd); @@ -1729,8 +2047,8 @@ if (event_trb != ep_ring->dequeue && event_trb != td->last_trb) td->urb->actual_length = - td->urb->transfer_buffer_length - - TRB_LEN(le32_to_cpu(event->transfer_len)); + td->urb->transfer_buffer_length - + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)); else td->urb->actual_length = 0; @@ -1762,7 +2080,7 @@ /* Maybe the event was for the data stage? */ td->urb->actual_length = td->urb->transfer_buffer_length - - TRB_LEN(le32_to_cpu(event->transfer_len)); + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)); xhci_dbg(xhci, "Waiting for status " "stage event\n"); return 0; @@ -1798,7 +2116,7 @@ /* handle completion code */ switch (trb_comp_code) { case COMP_SUCCESS: - if (TRB_LEN(le32_to_cpu(event->transfer_len)) == 0) { + if (EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)) == 0) { frame->status = 0; break; } @@ -1843,7 +2161,7 @@ len += TRB_LEN(le32_to_cpu(cur_trb->generic.field[2])); } len += TRB_LEN(le32_to_cpu(cur_trb->generic.field[2])) - - TRB_LEN(le32_to_cpu(event->transfer_len)); + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)); if (trb_comp_code != COMP_STOP_INVAL) { frame->actual_length = len; @@ -1901,7 +2219,7 @@ case COMP_SUCCESS: /* Double check that the HW transferred everything. */ if (event_trb != td->last_trb || - TRB_LEN(le32_to_cpu(event->transfer_len)) != 0) { + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)) != 0) { xhci_warn(xhci, "WARN Successful completion " "on short TX\n"); if (td->urb->transfer_flags & URB_SHORT_NOT_OK) @@ -1929,18 +2247,18 @@ "%d bytes untransferred\n", td->urb->ep->desc.bEndpointAddress, td->urb->transfer_buffer_length, - TRB_LEN(le32_to_cpu(event->transfer_len))); + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len))); /* Fast path - was this the last TRB in the TD for this URB? */ if (event_trb == td->last_trb) { - if (TRB_LEN(le32_to_cpu(event->transfer_len)) != 0) { + if (EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)) != 0) { td->urb->actual_length = td->urb->transfer_buffer_length - - TRB_LEN(le32_to_cpu(event->transfer_len)); + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)); if (td->urb->transfer_buffer_length < td->urb->actual_length) { xhci_warn(xhci, "HC gave bad length " "of %d bytes left\n", - TRB_LEN(le32_to_cpu(event->transfer_len))); + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len))); td->urb->actual_length = 0; if (td->urb->transfer_flags & URB_SHORT_NOT_OK) *status = -EREMOTEIO; @@ -1982,7 +2300,7 @@ if (trb_comp_code != COMP_STOP_INVAL) td->urb->actual_length += TRB_LEN(le32_to_cpu(cur_trb->generic.field[2])) - - TRB_LEN(le32_to_cpu(event->transfer_len)); + EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)); } return finish_td(xhci, td, event_trb, event, ep, status, false); @@ -2068,13 +2386,13 @@ * transfer type */ case COMP_SUCCESS: - if (TRB_LEN(le32_to_cpu(event->transfer_len)) == 0) + if (EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)) == 0) break; 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: @@ -2161,14 +2479,21 @@ * TD list. */ if (list_empty(&ep_ring->td_list)) { - xhci_warn(xhci, "WARN Event TRB for slot %d ep %d " - "with no TDs queued?\n", - TRB_TO_SLOT_ID(le32_to_cpu(event->flags)), - ep_index); - xhci_dbg(xhci, "Event TRB with TRB type ID %u\n", - (le32_to_cpu(event->flags) & - TRB_TYPE_BITMASK)>>10); - xhci_print_trb_offsets(xhci, (union xhci_trb *) event); + /* + * A stopped endpoint may generate an extra completion + * event if the device was suspended. Don't print + * warnings. + */ + if (!(trb_comp_code == COMP_STOP || + trb_comp_code == COMP_STOP_INVAL)) { + xhci_warn(xhci, "WARN Event TRB for slot %d ep %d with no TDs queued?\n", + TRB_TO_SLOT_ID(le32_to_cpu(event->flags)), + ep_index); + xhci_dbg(xhci, "Event TRB with TRB type ID %u\n", + (le32_to_cpu(event->flags) & + TRB_TYPE_BITMASK)>>10); + xhci_print_trb_offsets(xhci, (union xhci_trb *) event); + } if (ep->skip) { ep->skip = false; xhci_dbg(xhci, "td_list is empty while skip " @@ -2289,6 +2614,8 @@ (trb_comp_code != COMP_STALL && trb_comp_code != COMP_BABBLE)) xhci_urb_free_priv(xhci, urb_priv); + else + kfree(urb_priv); usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb); if ((urb->actual_length != urb->transfer_buffer_length && @@ -2780,11 +3107,11 @@ } /* - * For xHCI 1.0 host controllers, TD size is the number of packets remaining in - * the TD (*not* including this TRB). + * For xHCI 1.0 host controllers, TD size is the number of max packet sized + * packets remaining in the TD (*not* including this TRB). * * Total TD packet count = total_packet_count = - * roundup(TD size in bytes / wMaxPacketSize) + * DIV_ROUND_UP(TD size in bytes / wMaxPacketSize) * * Packets transferred up to and including this TRB = packets_transferred = * rounddown(total bytes transferred including this TRB / wMaxPacketSize) @@ -2792,24 +3119,27 @@ * TD size = total_packet_count - packets_transferred * * It must fit in bits 21:17, so it can't be bigger than 31. + * The last TRB in a TD must have the TD size set to zero. */ - static u32 xhci_v1_0_td_remainder(int running_total, int trb_buff_len, - unsigned int total_packet_count, struct urb *urb) + unsigned int total_packet_count, struct urb *urb, + unsigned int num_trbs_left) { int packets_transferred; /* One TRB with a zero-length data packet. */ - if (running_total == 0 && trb_buff_len == 0) + if (num_trbs_left == 0 || (running_total == 0 && trb_buff_len == 0)) return 0; /* All the TRB queueing functions don't count the current TRB in * running_total. */ packets_transferred = (running_total + trb_buff_len) / - usb_endpoint_maxp(&urb->ep->desc); + GET_MAX_PACKET(usb_endpoint_maxp(&urb->ep->desc)); - return xhci_td_remainder(total_packet_count - packets_transferred); + if ((total_packet_count - packets_transferred) > 31) + return 31 << 17; + return (total_packet_count - packets_transferred) << 17; } static int queue_bulk_sg_tx(struct xhci_hcd *xhci, gfp_t mem_flags, @@ -2836,7 +3166,7 @@ num_trbs = count_sg_trbs_needed(xhci, urb); num_sgs = urb->num_mapped_sgs; - total_packet_count = roundup(urb->transfer_buffer_length, + total_packet_count = DIV_ROUND_UP(urb->transfer_buffer_length, usb_endpoint_maxp(&urb->ep->desc)); trb_buff_len = prepare_transfer(xhci, xhci->devs[slot_id], @@ -2919,7 +3249,8 @@ running_total); } else { remainder = xhci_v1_0_td_remainder(running_total, - trb_buff_len, total_packet_count, urb); + trb_buff_len, total_packet_count, urb, + num_trbs - 1); } length_field = TRB_LEN(trb_buff_len) | remainder | @@ -3027,7 +3358,7 @@ start_cycle = ep_ring->cycle_state; running_total = 0; - total_packet_count = roundup(urb->transfer_buffer_length, + total_packet_count = DIV_ROUND_UP(urb->transfer_buffer_length, usb_endpoint_maxp(&urb->ep->desc)); /* How much data is in the first TRB? */ addr = (u64) urb->transfer_dma; @@ -3073,7 +3404,8 @@ running_total); } else { remainder = xhci_v1_0_td_remainder(running_total, - trb_buff_len, total_packet_count, urb); + trb_buff_len, total_packet_count, urb, + num_trbs - 1); } length_field = TRB_LEN(trb_buff_len) | remainder | @@ -3336,8 +3668,9 @@ addr = start_addr + urb->iso_frame_desc[i].offset; td_len = urb->iso_frame_desc[i].length; td_remain_len = td_len; - total_packet_count = roundup(td_len, - usb_endpoint_maxp(&urb->ep->desc)); + total_packet_count = DIV_ROUND_UP(td_len, + GET_MAX_PACKET( + usb_endpoint_maxp(&urb->ep->desc))); /* A zero-length transfer still involves at least one packet. */ if (total_packet_count == 0) total_packet_count++; @@ -3359,9 +3692,11 @@ td = urb_priv->td[i]; for (j = 0; j < trbs_per_td; j++) { u32 remainder = 0; - field = TRB_TBC(burst_count) | TRB_TLBPC(residue); + field = 0; if (first_trb) { + field = TRB_TBC(burst_count) | + TRB_TLBPC(residue); /* Queue the isoc TRB */ field |= TRB_TYPE(TRB_ISOC); /* Assume URB_ISO_ASAP is set */ @@ -3392,7 +3727,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; @@ -3413,7 +3750,8 @@ } else { remainder = xhci_v1_0_td_remainder( running_total, trb_buff_len, - total_packet_count, urb); + total_packet_count, urb, + (trbs_per_td - j - 1)); } length_field = TRB_LEN(trb_buff_len) | remainder | --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/ehci-q.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/host/uhci-pci.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/uhci-pci.c @@ -293,7 +293,7 @@ .remove = usb_hcd_pci_remove, .shutdown = uhci_shutdown, -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_PM .driver = { .pm = &usb_hcd_pci_pm_ops }, --- linux-lts-quantal-3.5.0.orig/drivers/usb/host/uhci-hub.c +++ linux-lts-quantal-3.5.0/drivers/usb/host/uhci-hub.c @@ -222,7 +222,8 @@ /* auto-stop if nothing connected for 1 second */ if (any_ports_active(uhci)) uhci->rh_state = UHCI_RH_RUNNING; - else if (time_after_eq(jiffies, uhci->auto_stop_time)) + else if (time_after_eq(jiffies, uhci->auto_stop_time) && + !uhci->wait_for_hp) suspend_rh(uhci, UHCI_RH_AUTO_STOPPED); break; --- linux-lts-quantal-3.5.0.orig/drivers/usb/chipidea/host.c +++ linux-lts-quantal-3.5.0/drivers/usb/chipidea/host.c @@ -128,6 +128,9 @@ else ci->hcd = hcd; + if (ci->udc_driver->flags & CI13XXX_DISABLE_STREAMING) + hw_write(ci, OP_USBMODE, USBMODE_CI_SDIS, USBMODE_CI_SDIS); + return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/usb/chipidea/udc.c +++ linux-lts-quantal-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; @@ -441,6 +439,8 @@ mReq->ptr->page[i] = (mReq->req.dma + i * CI13XXX_PAGE_SIZE) & ~TD_RESERVED_MASK; + wmb(); + if (!list_empty(&mEp->qh.queue)) { struct ci13xxx_req *mReqPrev; int n = hw_ep_bit(mEp->num, mEp->dir); @@ -541,6 +541,12 @@ struct ci13xxx_req *mReq = \ list_entry(mEp->qh.queue.next, struct ci13xxx_req, queue); + + if (mReq->zptr) { + dma_pool_free(mEp->td_pool, mReq->zptr, mReq->zdma); + mReq->zptr = NULL; + } + list_del_init(&mReq->queue); mReq->req.status = -ESHUTDOWN; @@ -773,10 +779,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 +1422,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 +1449,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 +1473,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 +1498,7 @@ else udc->ep0in = mEp; + mEp->ep.maxpacket = CTRL_PAYLOAD_MAX; continue; } @@ -1483,6 +1508,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 +1728,7 @@ if (udc->udc_driver->flags & CI13XXX_REQUIRE_TRANSCEIVER) { if (udc->transceiver == NULL) { retval = -ENODEV; - goto free_pools; + goto destroy_eps; } } @@ -1730,7 +1766,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 +1778,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 +1794,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-lts-quantal-3.5.0.orig/drivers/usb/chipidea/udc.h +++ linux-lts-quantal-3.5.0/drivers/usb/chipidea/udc.h @@ -40,7 +40,7 @@ #define TD_CURR_OFFSET (0x0FFFUL << 0) #define TD_FRAME_NUM (0x07FFUL << 0) #define TD_RESERVED_MASK (0x0FFFUL << 0) -} __attribute__ ((packed)); +} __attribute__ ((packed, aligned(4))); /* DMA layout of queue heads */ struct ci13xxx_qh { @@ -57,7 +57,7 @@ /* 9 */ u32 RESERVED; struct usb_ctrlrequest setup; -} __attribute__ ((packed)); +} __attribute__ ((packed, aligned(4))); /** * struct ci13xxx_req - usb request representation --- linux-lts-quantal-3.5.0.orig/drivers/usb/class/cdc-acm.c +++ linux-lts-quantal-3.5.0/drivers/usb/class/cdc-acm.c @@ -601,7 +601,6 @@ dev_dbg(&acm->control->dev, "%s\n", __func__); - tty_unregister_device(acm_tty_driver, acm->minor); acm_release_minor(acm); usb_put_intf(acm->control); kfree(acm->country_codes); @@ -788,6 +787,10 @@ tmp.flags = ASYNC_LOW_LATENCY; tmp.xmit_fifo_size = acm->writesize; tmp.baud_base = le32_to_cpu(acm->line.dwDTERate); + tmp.close_delay = acm->port.close_delay / 10; + tmp.closing_wait = acm->port.closing_wait == ASYNC_CLOSING_WAIT_NONE ? + ASYNC_CLOSING_WAIT_NONE : + acm->port.closing_wait / 10; if (copy_to_user(info, &tmp, sizeof(tmp))) return -EFAULT; @@ -795,6 +798,37 @@ return 0; } +static int set_serial_info(struct acm *acm, + struct serial_struct __user *newinfo) +{ + struct serial_struct new_serial; + unsigned int closing_wait, close_delay; + int retval = 0; + + if (copy_from_user(&new_serial, newinfo, sizeof(new_serial))) + return -EFAULT; + + close_delay = new_serial.close_delay * 10; + closing_wait = new_serial.closing_wait == ASYNC_CLOSING_WAIT_NONE ? + ASYNC_CLOSING_WAIT_NONE : new_serial.closing_wait * 10; + + mutex_lock(&acm->port.mutex); + + if (!capable(CAP_SYS_ADMIN)) { + if ((close_delay != acm->port.close_delay) || + (closing_wait != acm->port.closing_wait)) + retval = -EPERM; + else + retval = -EOPNOTSUPP; + } else { + acm->port.close_delay = close_delay; + acm->port.closing_wait = closing_wait; + } + + mutex_unlock(&acm->port.mutex); + return retval; +} + static int acm_tty_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) { @@ -805,6 +839,9 @@ case TIOCGSERIAL: /* gets serial port data */ rv = get_serial_info(acm, (struct serial_struct __user *) arg); break; + case TIOCSSERIAL: + rv = set_serial_info(acm, (struct serial_struct __user *) arg); + break; } return rv; @@ -818,10 +855,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 +868,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 +1151,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 +1281,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, @@ -1369,6 +1417,8 @@ stop_data_traffic(acm); + tty_unregister_device(acm_tty_driver, acm->minor); + usb_free_urb(acm->ctrlurb); for (i = 0; i < ACM_NW; i++) usb_free_urb(acm->wb[i].urb); @@ -1550,6 +1600,12 @@ Maybe we should define a new quirk for this. */ }, + { USB_DEVICE(0x0572, 0x1340), /* Conexant CX93010-2x UCMxx */ + .driver_info = NO_UNION_NORMAL, + }, + { USB_DEVICE(0x05f9, 0x4002), /* PSC Scanning, Magellan 800i */ + .driver_info = NO_UNION_NORMAL, + }, { USB_DEVICE(0x1bbb, 0x0003), /* Alcatel OT-I650 */ .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ }, --- linux-lts-quantal-3.5.0.orig/drivers/usb/class/cdc-wdm.c +++ linux-lts-quantal-3.5.0/drivers/usb/class/cdc-wdm.c @@ -81,6 +81,7 @@ #define WDM_RESPONDING 7 #define WDM_SUSPENDING 8 #define WDM_RESETTING 9 +#define WDM_OVERFLOW 10 #define WDM_MAX 16 @@ -134,12 +135,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 +150,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; @@ -176,6 +181,7 @@ { struct wdm_device *desc = urb->context; int status = urb->status; + int length = urb->actual_length; spin_lock(&desc->iuspin); clear_bit(WDM_RESPONDING, &desc->flags); @@ -206,9 +212,17 @@ } desc->rerr = status; - desc->reslength = urb->actual_length; - memmove(desc->ubuf + desc->length, desc->inbuf, desc->reslength); - desc->length += desc->reslength; + if (length + desc->length > desc->wMaxCommand) { + /* The buffer would overflow */ + set_bit(WDM_OVERFLOW, &desc->flags); + } else { + /* we may already be in overflow */ + if (!test_bit(WDM_OVERFLOW, &desc->flags)) { + memmove(desc->ubuf + desc->length, desc->inbuf, length); + desc->length += length; + desc->reslength = length; + } + } skip_error: wake_up(&desc->wait); @@ -219,6 +233,7 @@ static void wdm_int_callback(struct urb *urb) { int rv = 0; + int responding; int status = urb->status; struct wdm_device *desc; struct usb_cdc_notification *dr; @@ -272,8 +287,8 @@ spin_lock(&desc->iuspin); clear_bit(WDM_READ, &desc->flags); - set_bit(WDM_RESPONDING, &desc->flags); - if (!test_bit(WDM_DISCONNECTING, &desc->flags) + responding = test_and_set_bit(WDM_RESPONDING, &desc->flags); + if (!responding && !test_bit(WDM_DISCONNECTING, &desc->flags) && !test_bit(WDM_SUSPENDING, &desc->flags)) { rv = usb_submit_urb(desc->response, GFP_ATOMIC); dev_dbg(&desc->intf->dev, "%s: usb_submit_urb %d", @@ -456,6 +471,11 @@ rv = -ENODEV; goto err; } + if (test_bit(WDM_OVERFLOW, &desc->flags)) { + clear_bit(WDM_OVERFLOW, &desc->flags); + rv = -ENOBUFS; + goto err; + } i++; if (file->f_flags & O_NONBLOCK) { if (!test_bit(WDM_READ, &desc->flags)) { @@ -499,6 +519,7 @@ spin_unlock_irq(&desc->iuspin); goto retry; } + if (!desc->reslength) { /* zero length read */ dev_dbg(&desc->intf->dev, "%s: zero length - clearing WDM_READ\n", __func__); clear_bit(WDM_READ, &desc->flags); @@ -671,16 +692,20 @@ { struct wdm_device *desc = container_of(work, struct wdm_device, rxwork); unsigned long flags; - int rv; + int rv = 0; + int responding; spin_lock_irqsave(&desc->iuspin, flags); if (test_bit(WDM_DISCONNECTING, &desc->flags)) { spin_unlock_irqrestore(&desc->iuspin, flags); } else { + responding = test_and_set_bit(WDM_RESPONDING, &desc->flags); spin_unlock_irqrestore(&desc->iuspin, flags); - rv = usb_submit_urb(desc->response, GFP_KERNEL); + if (!responding) + rv = usb_submit_urb(desc->response, GFP_KERNEL); if (rv < 0 && rv != -EPERM) { spin_lock_irqsave(&desc->iuspin, flags); + clear_bit(WDM_RESPONDING, &desc->flags); if (!test_bit(WDM_DISCONNECTING, &desc->flags)) schedule_work(&desc->rxwork); spin_unlock_irqrestore(&desc->iuspin, flags); @@ -1025,6 +1050,7 @@ struct wdm_device *desc = wdm_find_device(intf); int rv; + clear_bit(WDM_OVERFLOW, &desc->flags); clear_bit(WDM_RESETTING, &desc->flags); rv = recover_from_urb_loss(desc); mutex_unlock(&desc->wlock); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/tcm_usb_gadget.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_subset.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_subset.c @@ -370,9 +370,9 @@ usb_free_descriptors(f->hs_descriptors); /* we might as well release our claims on endpoints */ - if (geth->port.out_ep->desc) + if (geth->port.out_ep) geth->port.out_ep->driver_data = NULL; - if (geth->port.in_ep->desc) + if (geth->port.in_ep) geth->port.in_ep->driver_data = NULL; ERROR(cdev, "%s: can't bind, err %d\n", f->name, status); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_ecm.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_ecm.c @@ -808,9 +808,9 @@ /* we might as well release our claims on endpoints */ if (ecm->notify) ecm->notify->driver_data = NULL; - if (ecm->port.out_ep->desc) + if (ecm->port.out_ep) ecm->port.out_ep->driver_data = NULL; - if (ecm->port.in_ep->desc) + if (ecm->port.in_ep) ecm->port.in_ep->driver_data = NULL; ERROR(cdev, "%s: can't bind, err %d\n", f->name, status); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_midi.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_midi.c @@ -416,6 +416,7 @@ midi->id = NULL; usb_free_descriptors(f->descriptors); + usb_free_descriptors(f->hs_descriptors); kfree(midi); } --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_rndis.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_rndis.c @@ -803,9 +803,9 @@ /* we might as well release our claims on endpoints */ if (rndis->notify) rndis->notify->driver_data = NULL; - if (rndis->port.out_ep->desc) + if (rndis->port.out_ep) rndis->port.out_ep->driver_data = NULL; - if (rndis->port.in_ep->desc) + if (rndis->port.in_ep) rndis->port.in_ep->driver_data = NULL; ERROR(cdev, "%s: can't bind, err %d\n", f->name, status); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_eem.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_eem.c @@ -319,10 +319,9 @@ if (f->hs_descriptors) usb_free_descriptors(f->hs_descriptors); - /* we might as well release our claims on endpoints */ - if (eem->port.out_ep->desc) + if (eem->port.out_ep) eem->port.out_ep->driver_data = NULL; - if (eem->port.in_ep->desc) + if (eem->port.in_ep) eem->port.in_ep->driver_data = NULL; ERROR(cdev, "%s: can't bind, err %d\n", f->name, status); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/printer.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/gadget/tcm_usb_gadget.c +++ linux-lts-quantal-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 = { @@ -2163,6 +2161,7 @@ (struct usb_descriptor_header *) &uasp_status_pipe_desc, (struct usb_descriptor_header *) &uasp_fs_cmd_desc, (struct usb_descriptor_header *) &uasp_cmd_pipe_desc, + NULL, }; static struct usb_descriptor_header *uasp_hs_function_desc[] = { @@ -2215,20 +2214,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 +2245,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 +2417,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 +2434,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-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_fs.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_fs.c @@ -1031,37 +1031,19 @@ struct ffs_file_perms perms; umode_t root_mode; const char *dev_name; - union { - /* set by ffs_fs_mount(), read by ffs_sb_fill() */ - void *private_data; - /* set by ffs_sb_fill(), read by ffs_fs_mount */ - struct ffs_data *ffs_data; - }; + struct ffs_data *ffs_data; }; static int ffs_sb_fill(struct super_block *sb, void *_data, int silent) { struct ffs_sb_fill_data *data = _data; struct inode *inode; - struct ffs_data *ffs; + struct ffs_data *ffs = data->ffs_data; ENTER(); - /* Initialise data */ - ffs = ffs_data_new(); - if (unlikely(!ffs)) - goto Enomem; - ffs->sb = sb; - ffs->dev_name = kstrdup(data->dev_name, GFP_KERNEL); - if (unlikely(!ffs->dev_name)) - goto Enomem; - ffs->file_perms = data->perms; - ffs->private_data = data->private_data; - - /* used by the caller of this function */ - data->ffs_data = ffs; - + data->ffs_data = NULL; sb->s_fs_info = ffs; sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; @@ -1077,17 +1059,14 @@ &data->perms); sb->s_root = d_make_root(inode); if (unlikely(!sb->s_root)) - goto Enomem; + return -ENOMEM; /* EP0 file */ if (unlikely(!ffs_sb_create_file(sb, "ep0", ffs, &ffs_ep0_operations, NULL))) - goto Enomem; + return -ENOMEM; return 0; - -Enomem: - return -ENOMEM; } static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts) @@ -1182,6 +1161,7 @@ struct dentry *rv; int ret; void *ffs_dev; + struct ffs_data *ffs; ENTER(); @@ -1189,18 +1169,30 @@ if (unlikely(ret < 0)) return ERR_PTR(ret); + ffs = ffs_data_new(); + if (unlikely(!ffs)) + return ERR_PTR(-ENOMEM); + ffs->file_perms = data.perms; + + ffs->dev_name = kstrdup(dev_name, GFP_KERNEL); + if (unlikely(!ffs->dev_name)) { + ffs_data_put(ffs); + return ERR_PTR(-ENOMEM); + } + ffs_dev = functionfs_acquire_dev_callback(dev_name); - if (IS_ERR(ffs_dev)) - return ffs_dev; + if (IS_ERR(ffs_dev)) { + ffs_data_put(ffs); + return ERR_CAST(ffs_dev); + } + ffs->private_data = ffs_dev; + data.ffs_data = ffs; - data.dev_name = dev_name; - data.private_data = ffs_dev; rv = mount_nodev(t, flags, &data, ffs_sb_fill); - - /* data.ffs_data is set by ffs_sb_fill */ - if (IS_ERR(rv)) + if (IS_ERR(rv) && data.ffs_data) { functionfs_release_dev_callback(data.ffs_data); - + ffs_data_put(data.ffs_data); + } return rv; } --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/at91_udc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_phonet.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_phonet.c @@ -531,7 +531,7 @@ req = usb_ep_alloc_request(fp->out_ep, GFP_KERNEL); if (!req) - goto err; + goto err_req; req->complete = pn_rx_complete; fp->out_reqv[i] = req; @@ -540,14 +540,18 @@ /* Outgoing USB requests */ fp->in_req = usb_ep_alloc_request(fp->in_ep, GFP_KERNEL); if (!fp->in_req) - goto err; + goto err_req; INFO(cdev, "USB CDC Phonet function\n"); INFO(cdev, "using %s, OUT %s, IN %s\n", cdev->gadget->name, fp->out_ep->name, fp->in_ep->name); return 0; +err_req: + for (i = 0; i < phonet_rxq_size && fp->out_reqv[i]; i++) + usb_ep_free_request(fp->out_ep, fp->out_reqv[i]); err: + if (fp->out_ep) fp->out_ep->driver_data = NULL; if (fp->in_ep) --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/u_ether.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_uvc.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_uvc.c @@ -335,7 +335,6 @@ return -ENOMEM; video->parent = &cdev->gadget->dev; - video->minor = -1; video->fops = &uvc_v4l2_fops; video->release = video_device_release; strncpy(video->name, cdev->gadget->name, sizeof(video->name)); @@ -462,23 +461,12 @@ INFO(cdev, "uvc_function_unbind\n"); - if (uvc->vdev) { - if (uvc->vdev->minor == -1) - video_device_release(uvc->vdev); - else - video_unregister_device(uvc->vdev); - uvc->vdev = NULL; - } - - if (uvc->control_ep) - uvc->control_ep->driver_data = NULL; - if (uvc->video.ep) - uvc->video.ep->driver_data = NULL; + video_unregister_device(uvc->vdev); + uvc->control_ep->driver_data = NULL; + uvc->video.ep->driver_data = NULL; - if (uvc->control_req) { - usb_ep_free_request(cdev->gadget->ep0, uvc->control_req); - kfree(uvc->control_buf); - } + usb_ep_free_request(cdev->gadget->ep0, uvc->control_req); + kfree(uvc->control_buf); kfree(f->descriptors); kfree(f->hs_descriptors); @@ -563,7 +551,22 @@ return 0; error: - uvc_function_unbind(c, f); + if (uvc->vdev) + video_device_release(uvc->vdev); + + if (uvc->control_ep) + uvc->control_ep->driver_data = NULL; + if (uvc->video.ep) + uvc->video.ep->driver_data = NULL; + + if (uvc->control_req) { + usb_ep_free_request(cdev->gadget->ep0, uvc->control_req); + kfree(uvc->control_buf); + } + + kfree(f->descriptors); + kfree(f->hs_descriptors); + kfree(f->ss_descriptors); return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_ncm.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_ncm.c @@ -1259,9 +1259,9 @@ /* we might as well release our claims on endpoints */ if (ncm->notify) ncm->notify->driver_data = NULL; - if (ncm->port.out_ep->desc) + if (ncm->port.out_ep) ncm->port.out_ep->driver_data = NULL; - if (ncm->port.in_ep->desc) + if (ncm->port.in_ep) ncm->port.in_ep->driver_data = NULL; ERROR(cdev, "%s: can't bind, err %d\n", f->name, status); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/g_ffs.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/g_ffs.c @@ -358,7 +358,7 @@ if (unlikely(ret < 0)) goto error; - for (i = func_num; --i; ) { + for (i = func_num; i--; ) { ret = functionfs_bind(ffs_tab[i].ffs_data, cdev); if (unlikely(ret < 0)) { while (++i < func_num) @@ -413,7 +413,7 @@ gether_cleanup(); gfs_ether_setup = false; - for (i = func_num; --i; ) + for (i = func_num; i--; ) if (ffs_tab[i].ffs_data) functionfs_unbind(ffs_tab[i].ffs_data); --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/dummy_hcd.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/dummy_hcd.c @@ -126,10 +126,7 @@ static const char *const ep_name[] = { ep0name, /* everyone has ep0 */ - /* act like a net2280: high speed, six configurable endpoints */ - "ep-a", "ep-b", "ep-c", "ep-d", "ep-e", "ep-f", - - /* or like pxa250: fifteen fixed function endpoints */ + /* act like a pxa250: fifteen fixed function endpoints */ "ep1in-bulk", "ep2out-bulk", "ep3in-iso", "ep4out-iso", "ep5in-int", "ep6in-bulk", "ep7out-bulk", "ep8in-iso", "ep9out-iso", "ep10in-int", "ep11in-bulk", "ep12out-bulk", "ep13in-iso", "ep14out-iso", @@ -137,6 +134,10 @@ /* or like sa1100: two fixed function endpoints */ "ep1out-bulk", "ep2in-bulk", + + /* and now some generic EPs so we have enough in multi config */ + "ep3out", "ep4in", "ep5out", "ep6out", "ep7in", "ep8out", "ep9in", + "ep10out", "ep11out", "ep12in", "ep13out", "ep14in", "ep15out", }; #define DUMMY_ENDPOINTS ARRAY_SIZE(ep_name) @@ -920,8 +921,9 @@ struct dummy_hcd *dum_hcd = gadget_to_dummy_hcd(g); struct dummy *dum = dum_hcd->dum; - dev_dbg(udc_dev(dum), "unregister gadget driver '%s'\n", - driver->driver.name); + if (driver) + dev_dbg(udc_dev(dum), "unregister gadget driver '%s'\n", + driver->driver.name); dum->driver = NULL; @@ -1010,9 +1012,9 @@ { struct dummy *dum = platform_get_drvdata(pdev); - usb_del_gadget_udc(&dum->gadget); platform_set_drvdata(pdev, NULL); device_remove_file(&dum->gadget.dev, &dev_attr_function); + usb_del_gadget_udc(&dum->gadget); device_unregister(&dum->gadget.dev); return 0; } @@ -1916,6 +1918,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 +2029,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 +2538,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 +2558,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-lts-quantal-3.5.0.orig/drivers/usb/gadget/f_mass_storage.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/f_mass_storage.c @@ -511,6 +511,7 @@ /* Caller must hold fsg->lock */ static void wakeup_thread(struct fsg_common *common) { + smp_wmb(); /* ensure the write of bh->state is complete */ /* Tell the main thread that something has happened */ common->thread_wakeup_needed = 1; if (common->thread_task) @@ -730,6 +731,7 @@ } __set_current_state(TASK_RUNNING); common->thread_wakeup_needed = 0; + smp_rmb(); /* ensure the latest bh->state is visible */ return rc; } --- linux-lts-quantal-3.5.0.orig/drivers/usb/gadget/udc-core.c +++ linux-lts-quantal-3.5.0/drivers/usb/gadget/udc-core.c @@ -265,7 +265,7 @@ udc->driver->disconnect(udc->gadget); usb_gadget_disconnect(udc->gadget); udc->driver->unbind(udc->gadget); - usb_gadget_udc_stop(udc->gadget, udc->driver); + usb_gadget_udc_stop(udc->gadget, NULL); } else { usb_gadget_stop(udc->gadget, udc->driver); } --- linux-lts-quantal-3.5.0.orig/drivers/usb/dwc3/dwc3-pci.c +++ linux-lts-quantal-3.5.0/drivers/usb/dwc3/dwc3-pci.c @@ -47,6 +47,7 @@ /* FIXME define these in */ #define PCI_VENDOR_ID_SYNOPSYS 0x16c3 #define PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3 0xabcd +#define PCI_DEVICE_ID_INTEL_BYT 0x0f37 struct dwc3_pci { struct device *dev; @@ -155,6 +156,7 @@ PCI_DEVICE(PCI_VENDOR_ID_SYNOPSYS, PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3), }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BYT), }, { } /* Terminating Entry */ }; MODULE_DEVICE_TABLE(pci, dwc3_pci_id_table); --- linux-lts-quantal-3.5.0.orig/drivers/usb/dwc3/core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/dwc3/core.h +++ linux-lts-quantal-3.5.0/drivers/usb/dwc3/core.h @@ -669,8 +669,8 @@ struct dwc3_event_type { u32 is_devspec:1; - u32 type:6; - u32 reserved8_31:25; + u32 type:7; + u32 reserved8_31:24; } __packed; #define DWC3_DEPEVT_XFERCOMPLETE 0x01 --- linux-lts-quantal-3.5.0.orig/drivers/usb/dwc3/gadget.c +++ linux-lts-quantal-3.5.0/drivers/usb/dwc3/gadget.c @@ -231,6 +231,7 @@ if (((dep->busy_slot & DWC3_TRB_MASK) == DWC3_TRB_NUM - 1) && usb_endpoint_xfer_isoc(dep->endpoint.desc)) dep->busy_slot++; + req->queued = false; } list_del(&req->list); req->trb = NULL; @@ -238,8 +239,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, @@ -707,21 +711,18 @@ struct dwc3 *dwc = dep->dwc; struct dwc3_trb *trb; - unsigned int cur_slot; - dev_vdbg(dwc->dev, "%s: req %p dma %08llx length %d%s%s\n", dep->name, req, (unsigned long long) dma, length, last ? " last" : "", chain ? " chain" : ""); - trb = &dep->trb_pool[dep->free_slot & DWC3_TRB_MASK]; - cur_slot = dep->free_slot; - dep->free_slot++; - /* Skip the LINK-TRB on ISOC */ - if (((cur_slot & DWC3_TRB_MASK) == DWC3_TRB_NUM - 1) && + if (((dep->free_slot & DWC3_TRB_MASK) == DWC3_TRB_NUM - 1) && usb_endpoint_xfer_isoc(dep->endpoint.desc)) - return; + dep->free_slot++; + + trb = &dep->trb_pool[dep->free_slot & DWC3_TRB_MASK]; + dep->free_slot++; if (!req->trb) { dwc3_gadget_move_request_queued(req); @@ -741,8 +742,7 @@ case USB_ENDPOINT_XFER_ISOC: trb->ctrl = DWC3_TRBCTL_ISOCHRONOUS_FIRST; - /* IOC every DWC3_TRB_NUM / 4 so we can refill */ - if (!(cur_slot % (DWC3_TRB_NUM / 4))) + if (!req->request.no_interrupt) trb->ctrl |= DWC3_TRB_CTRL_IOC; break; @@ -1445,6 +1445,7 @@ __dwc3_gadget_ep_disable(dwc->eps[0]); err0: + dwc->gadget_driver = NULL; spin_unlock_irqrestore(&dwc->lock, flags); return ret; @@ -1505,6 +1506,7 @@ if (epnum == 0 || epnum == 1) { dep->endpoint.maxpacket = 512; + dep->endpoint.maxburst = 1; dep->endpoint.ops = &dwc3_gadget_ep0_ops; if (!epnum) dwc->gadget.ep0 = &dep->endpoint; @@ -1536,10 +1538,19 @@ for (epnum = 0; epnum < DWC3_ENDPOINTS_NUM; epnum++) { dep = dwc->eps[epnum]; - dwc3_free_trb_pool(dep); - - if (epnum != 0 && epnum != 1) + /* + * Physical endpoints 0 and 1 are special; they form the + * bi-directional USB endpoint 0. + * + * For those two physical endpoints, we don't allocate a TRB + * pool nor do we add them the endpoints list. Due to that, we + * shouldn't do these two operations otherwise we would end up + * with all sorts of bugs when removing dwc3.ko. + */ + if (epnum != 0 && epnum != 1) { + dwc3_free_trb_pool(dep); list_del(&dep->endpoint.ep_list); + } kfree(dep); } @@ -1829,6 +1840,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-lts-quantal-3.5.0.orig/drivers/usb/dwc3/ep0.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/serial/cypress_m8.h +++ linux-lts-quantal-3.5.0/drivers/usb/serial/cypress_m8.h @@ -24,6 +24,10 @@ #define VENDOR_ID_CYPRESS 0x04b4 #define PRODUCT_ID_CYPHIDCOM 0x5500 +/* FRWD Dongle - a GPS sports watch */ +#define VENDOR_ID_FRWD 0x6737 +#define PRODUCT_ID_CYPHIDCOM_FRWD 0x0001 + /* Powercom UPS, chip CY7C63723 */ #define VENDOR_ID_POWERCOM 0x0d9f #define PRODUCT_ID_UPS 0x0002 --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/mos7840.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/mos7840.c @@ -188,7 +188,9 @@ #define LED_ON_MS 500 #define LED_OFF_MS 500 -static int device_type; +enum mos7840_flag { + MOS7840_FLAG_CTRL_BUSY, +}; static const struct usb_device_id id_table[] = { {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7840)}, @@ -219,14 +221,11 @@ 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; struct async_icount icount; struct usb_serial_port *port; /* loop back to the owner of this object */ @@ -251,6 +250,8 @@ bool led_flag; struct timer_list led_timer1; /* Timer for LED on */ struct timer_list led_timer2; /* Timer for LED off */ + + unsigned long flags; }; static bool debug; @@ -444,6 +445,9 @@ icount->rng++; smp_wmb(); } + + mos7840_port->delta_msr_cond = 1; + wake_up_interruptible(&port->port->delta_msr_wait); } } @@ -494,7 +498,6 @@ unsigned char *data; struct moschip_port *mos7840_port; __u8 regval = 0x0; - int result = 0; int status = urb->status; mos7840_port = urb->context; @@ -509,11 +512,11 @@ /* this urb is terminated, clean up */ dbg("%s - urb shutting down with status: %d", __func__, status); - return; + goto out; default: dbg("%s - nonzero urb status received: %d", __func__, status); - goto exit; + goto out; } dbg("%s urb buffer size is %d", __func__, urb->actual_length); @@ -526,17 +529,8 @@ 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); - } +out: + clear_bit_unlock(MOS7840_FLAG_CTRL_BUSY, &mos7840_port->flags); } static int mos7840_get_reg(struct moschip_port *mcs, __u16 Wval, __u16 reg, @@ -547,6 +541,9 @@ unsigned char *buffer = mcs->ctrl_buf; int ret; + if (test_and_set_bit_lock(MOS7840_FLAG_CTRL_BUSY, &mcs->flags)) + return -EBUSY; + dr->bRequestType = MCS_RD_RTYPE; dr->bRequest = MCS_RDREQ; dr->wValue = cpu_to_le16(Wval); /* 0 */ @@ -558,6 +555,9 @@ mos7840_control_callback, mcs); mcs->control_urb->transfer_buffer_length = 2; ret = usb_submit_urb(mcs->control_urb, GFP_ATOMIC); + if (ret) + clear_bit_unlock(MOS7840_FLAG_CTRL_BUSY, &mcs->flags); + return ret; } @@ -705,14 +705,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); } } } @@ -899,18 +892,6 @@ /************************************************************************/ /* D R I V E R T T Y I N T E R F A C E F U N C T I O N S */ /************************************************************************/ -#ifdef MCSSerialProbe -static int mos7840_serial_probe(struct usb_serial *serial, - const struct usb_device_id *id) -{ - - /*need to implement the mode_reg reading and updating\ - structures usb_serial_ device_type\ - (i.e num_ports, num_bulkin,bulkout etc) */ - /* Also we can update the changes attach */ - return 1; -} -#endif /***************************************************************************** * mos7840_open @@ -992,20 +973,20 @@ status = mos7840_get_reg_sync(port, mos7840_port->SpRegOffset, &Data); if (status < 0) { dbg("Reading Spreg failed"); - return -1; + goto err; } Data |= 0x80; status = mos7840_set_reg_sync(port, mos7840_port->SpRegOffset, Data); if (status < 0) { dbg("writing Spreg failed"); - return -1; + goto err; } Data &= ~0x80; status = mos7840_set_reg_sync(port, mos7840_port->SpRegOffset, Data); if (status < 0) { dbg("writing Spreg failed"); - return -1; + goto err; } /* End of block to be checked */ @@ -1014,7 +995,7 @@ &Data); if (status < 0) { dbg("Reading Controlreg failed"); - return -1; + goto err; } Data |= 0x08; /* Driver done bit */ Data |= 0x20; /* rx_disable */ @@ -1022,7 +1003,7 @@ mos7840_port->ControlRegOffset, Data); if (status < 0) { dbg("writing Controlreg failed"); - return -1; + goto err; } /* do register settings here */ /* Set all regs to the device default values. */ @@ -1033,21 +1014,21 @@ status = mos7840_set_uart_reg(port, INTERRUPT_ENABLE_REGISTER, Data); if (status < 0) { dbg("disabling interrupts failed"); - return -1; + goto err; } /* Set FIFO_CONTROL_REGISTER to the default value */ Data = 0x00; status = mos7840_set_uart_reg(port, FIFO_CONTROL_REGISTER, Data); if (status < 0) { dbg("Writing FIFO_CONTROL_REGISTER failed"); - return -1; + goto err; } Data = 0xcf; status = mos7840_set_uart_reg(port, FIFO_CONTROL_REGISTER, Data); if (status < 0) { dbg("Writing FIFO_CONTROL_REGISTER failed"); - return -1; + goto err; } Data = 0x03; @@ -1184,7 +1165,6 @@ /* initialize our wait queues */ init_waitqueue_head(&mos7840_port->wait_chase); - init_waitqueue_head(&mos7840_port->delta_msr_wait); /* initialize our icount structure */ memset(&(mos7840_port->icount), 0x00, sizeof(mos7840_port->icount)); @@ -1202,6 +1182,15 @@ serial, mos7840_port, port); return 0; +err: + for (j = 0; j < NUM_URBS; ++j) { + urb = mos7840_port->write_urb_pool[j]; + if (!urb) + continue; + kfree(urb->transfer_buffer); + usb_free_urb(urb); + } + return status; } /***************************************************************************** @@ -1232,9 +1221,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; @@ -2114,8 +2106,6 @@ mos7840_port->read_urb_busy = false; } } - wake_up(&mos7840_port->delta_msr_wait); - mos7840_port->delta_msr_cond = 1; dbg("mos7840_change_port_settings mos7840_port->shadowLCR is End %x", mos7840_port->shadowLCR); } @@ -2324,13 +2314,18 @@ while (1) { /* interruptible_sleep_on(&mos7840_port->delta_msr_wait); */ mos7840_port->delta_msr_cond = 0; - wait_event_interruptible(mos7840_port->delta_msr_wait, - (mos7840_port-> + wait_event_interruptible(port->delta_msr_wait, + (port->serial->disconnected || + mos7840_port-> delta_msr_cond == 1)); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + cnow = mos7840_port->icount; smp_rmb(); if (cnow.rng == cprev.rng && cnow.dsr == cprev.dsr && @@ -2356,13 +2351,21 @@ static int mos7810_check(struct usb_serial *serial) { int i, pass_count = 0; + u8 *buf; __u16 data = 0, mcr_data = 0; __u16 test_pattern = 0x55AA; + int res; + + buf = kmalloc(VENDOR_READ_LENGTH, GFP_KERNEL); + if (!buf) + return 0; /* failed to identify 7810 */ /* Store MCR setting */ - usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), + res = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), MCS_RDREQ, MCS_RD_RTYPE, 0x0300, MODEM_CONTROL_REGISTER, - &mcr_data, VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); + buf, VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); + if (res == VENDOR_READ_LENGTH) + mcr_data = *buf; for (i = 0; i < 16; i++) { /* Send the 1-bit test pattern out to MCS7810 test pin */ @@ -2372,9 +2375,12 @@ MODEM_CONTROL_REGISTER, NULL, 0, MOS_WDR_TIMEOUT); /* Read the test pattern back */ - usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), - MCS_RDREQ, MCS_RD_RTYPE, 0, GPIO_REGISTER, &data, - VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); + res = usb_control_msg(serial->dev, + usb_rcvctrlpipe(serial->dev, 0), MCS_RDREQ, + MCS_RD_RTYPE, 0, GPIO_REGISTER, buf, + VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); + if (res == VENDOR_READ_LENGTH) + data = *buf; /* If this is a MCS7810 device, both test patterns must match */ if (((test_pattern >> i) ^ (~data >> 1)) & 0x0001) @@ -2388,38 +2394,56 @@ MCS_WR_RTYPE, 0x0300 | mcr_data, MODEM_CONTROL_REGISTER, NULL, 0, MOS_WDR_TIMEOUT); + kfree(buf); + if (pass_count == 16) return 1; return 0; } -static int mos7840_calc_num_ports(struct usb_serial *serial) +static int mos7840_probe(struct usb_serial *serial, + const struct usb_device_id *id) { - __u16 data = 0x00; - int mos7840_num_ports; + u16 product = le16_to_cpu(serial->dev->descriptor.idProduct); + u8 *buf; + int device_type; + + if (product == MOSCHIP_DEVICE_ID_7810 || + product == MOSCHIP_DEVICE_ID_7820) { + device_type = product; + goto out; + } + + buf = kzalloc(VENDOR_READ_LENGTH, GFP_KERNEL); + if (!buf) + return -ENOMEM; usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0), - MCS_RDREQ, MCS_RD_RTYPE, 0, GPIO_REGISTER, &data, - VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); + MCS_RDREQ, MCS_RD_RTYPE, 0, GPIO_REGISTER, buf, + VENDOR_READ_LENGTH, MOS_WDR_TIMEOUT); - if (serial->dev->descriptor.idProduct == MOSCHIP_DEVICE_ID_7810 || - serial->dev->descriptor.idProduct == MOSCHIP_DEVICE_ID_7820) { - device_type = serial->dev->descriptor.idProduct; - } else { - /* For a MCS7840 device GPIO0 must be set to 1 */ - if ((data & 0x01) == 1) - device_type = MOSCHIP_DEVICE_ID_7840; - else if (mos7810_check(serial)) - device_type = MOSCHIP_DEVICE_ID_7810; - else - device_type = MOSCHIP_DEVICE_ID_7820; - } + /* For a MCS7840 device GPIO0 must be set to 1 */ + if (buf[0] & 0x01) + device_type = MOSCHIP_DEVICE_ID_7840; + else if (mos7810_check(serial)) + device_type = MOSCHIP_DEVICE_ID_7810; + else + device_type = MOSCHIP_DEVICE_ID_7820; + + kfree(buf); +out: + usb_set_serial_data(serial, (void *)(unsigned long)device_type); + + return 0; +} + +static int mos7840_calc_num_ports(struct usb_serial *serial) +{ + int device_type = (unsigned long)usb_get_serial_data(serial); + int mos7840_num_ports; mos7840_num_ports = (device_type >> 4) & 0x000F; - serial->num_bulk_in = mos7840_num_ports; - serial->num_bulk_out = mos7840_num_ports; - serial->num_ports = mos7840_num_ports; return mos7840_num_ports; } @@ -2430,6 +2454,7 @@ static int mos7840_startup(struct usb_serial *serial) { + int device_type = (unsigned long)usb_get_serial_data(serial); struct moschip_port *mos7840_port; struct usb_device *dev; int i, status; @@ -2682,7 +2707,6 @@ kfree(mos7840_port->ctrl_buf); usb_free_urb(mos7840_port->control_urb); kfree(mos7840_port); - serial->port[i] = NULL; } return status; } @@ -2695,7 +2719,6 @@ static void mos7840_disconnect(struct usb_serial *serial) { int i; - unsigned long flags; struct moschip_port *mos7840_port; if (!serial) { @@ -2712,9 +2735,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 +2772,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); @@ -2775,9 +2796,7 @@ .throttle = mos7840_throttle, .unthrottle = mos7840_unthrottle, .calc_num_ports = mos7840_calc_num_ports, -#ifdef MCSSerialProbe - .probe = mos7840_serial_probe, -#endif + .probe = mos7840_probe, .ioctl = mos7840_ioctl, .set_termios = mos7840_set_termios, .break_ctl = mos7840_break, --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/iuu_phoenix.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/iuu_phoenix.c @@ -308,7 +308,7 @@ usb_bulk_msg(serial->dev, usb_sndbulkpipe(serial->dev, port->bulk_out_endpointAddress), buf, - count, &actual, HZ * 1); + count, &actual, 1000); if (status != IUU_OPERATION_OK) dbg("%s - error = %2x", __func__, status); @@ -328,7 +328,7 @@ usb_bulk_msg(serial->dev, usb_rcvbulkpipe(serial->dev, port->bulk_in_endpointAddress), buf, - count, &actual, HZ * 1); + count, &actual, 1000); if (status != IUU_OPERATION_OK) dbg("%s - error = %2x", __func__, status); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/pl2303.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/pl2303.c @@ -137,7 +137,6 @@ struct pl2303_private { spinlock_t lock; - wait_queue_head_t delta_msr_wait; u8 line_control; u8 line_status; enum pl2303_type type; @@ -193,7 +192,6 @@ if (!priv) goto cleanup; spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->delta_msr_wait); priv->type = type; usb_set_serial_port_data(serial->port[i], priv); } @@ -260,7 +258,7 @@ serial settings even to the same values as before. Thus we actually need to filter in this specific case */ - if (!tty_termios_hw_change(tty->termios, old_termios)) + if (old_termios && !tty_termios_hw_change(tty->termios, old_termios)) return; cflag = tty->termios->c_cflag; @@ -269,7 +267,8 @@ if (!buf) { dev_err(&port->dev, "%s - out of memory.\n", __func__); /* Report back no change occurred */ - *tty->termios = *old_termios; + if (old_termios) + *tty->termios = *old_termios; return; } @@ -409,7 +408,7 @@ control = priv->line_control; if ((cflag & CBAUD) == B0) priv->line_control &= ~(CONTROL_DTR | CONTROL_RTS); - else if ((old_termios->c_cflag & CBAUD) == B0) + else if (old_termios && (old_termios->c_cflag & CBAUD) == B0) priv->line_control |= (CONTROL_DTR | CONTROL_RTS); if (control != priv->line_control) { control = priv->line_control; @@ -468,7 +467,6 @@ static int pl2303_open(struct tty_struct *tty, struct usb_serial_port *port) { - struct ktermios tmp_termios; struct usb_serial *serial = port->serial; struct pl2303_private *priv = usb_get_serial_port_data(port); int result; @@ -484,7 +482,7 @@ /* Setup termios */ if (tty) - pl2303_set_termios(tty, port, &tmp_termios); + pl2303_set_termios(tty, port, NULL); result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); if (result) { @@ -582,11 +580,14 @@ spin_unlock_irqrestore(&priv->lock, flags); while (1) { - interruptible_sleep_on(&priv->delta_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->lock, flags); status = priv->line_status; spin_unlock_irqrestore(&priv->lock, flags); @@ -705,7 +706,7 @@ spin_unlock_irqrestore(&priv->lock, flags); if (priv->line_status & UART_BREAK_ERROR) usb_serial_handle_break(port); - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); tty = tty_port_tty_get(&port->port); if (!tty) @@ -770,7 +771,7 @@ line_status = priv->line_status; priv->line_status &= ~UART_STATE_TRANSIENT_MASK; spin_unlock_irqrestore(&priv->lock, flags); - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); if (!urb->actual_length) return; --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/io_ti.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/io_ti.c @@ -91,9 +91,6 @@ int close_pending; int lsr_event; struct async_icount icount; - wait_queue_head_t delta_msr_wait; /* for handling sleeping while - waiting for msr change to - happen */ struct edgeport_serial *edge_serial; struct usb_serial_port *port; __u8 bUartMode; /* Port type, 0: RS232, etc. */ @@ -543,6 +540,9 @@ wait_queue_t wait; unsigned long flags; + if (!tty) + return; + if (!timeout) timeout = (HZ * EDGE_CLOSING_WAIT)/100; @@ -1539,7 +1539,7 @@ icount->dcd++; if (msr & EDGEPORT_MSR_DELTA_RI) icount->rng++; - wake_up_interruptible(&edge_port->delta_msr_wait); + wake_up_interruptible(&edge_port->port->delta_msr_wait); } /* Save the new modem status */ @@ -1857,7 +1857,6 @@ dev = port->serial->dev; memset(&(edge_port->icount), 0x00, sizeof(edge_port->icount)); - init_waitqueue_head(&edge_port->delta_msr_wait); /* turn off loopback */ status = ti_do_config(edge_port, UMPC_SET_CLR_LOOPBACK, 0); @@ -2549,10 +2548,14 @@ dbg("%s - (%d) TIOCMIWAIT", __func__, port->number); cprev = edge_port->icount; while (1) { - interruptible_sleep_on(&edge_port->delta_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + cnow = edge_port->icount; if (cnow.rng == cprev.rng && cnow.dsr == cprev.dsr && cnow.dcd == cprev.dcd && cnow.cts == cprev.cts) @@ -2769,6 +2772,7 @@ .set_termios = edge_set_termios, .tiocmget = edge_tiocmget, .tiocmset = edge_tiocmset, + .get_icount = edge_get_icount, .write = edge_write, .write_room = edge_write_room, .chars_in_buffer = edge_chars_in_buffer, --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/keyspan.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/keyspan.c @@ -1670,7 +1670,7 @@ d_details = s_priv->device_details; device_port = port->number - port->serial->minor; - outcont_urb = d_details->outcont_endpoints[port->number]; + outcont_urb = d_details->outcont_endpoints[device_port]; this_urb = p_priv->outcont_urb; dbg("%s - endpoint %d", __func__, usb_pipeendpoint(this_urb->pipe)); @@ -2439,7 +2439,7 @@ if (d_details == NULL) { dev_err(&serial->dev->dev, "%s - unknown product id %x\n", __func__, le16_to_cpu(serial->dev->descriptor.idProduct)); - return 1; + return -ENODEV; } /* Setup private data for serial driver */ --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/oti6858.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/oti6858.c @@ -191,7 +191,6 @@ u8 setup_done; struct delayed_work delayed_setup_work; - wait_queue_head_t intr_wait; struct usb_serial_port *port; /* USB port with which associated */ }; @@ -345,7 +344,6 @@ break; spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->intr_wait); /* INIT_WORK(&priv->setup_work, setup_line, serial->port[i]); */ /* INIT_WORK(&priv->write_work, send_data, serial->port[i]); */ priv->port = port; @@ -672,11 +670,15 @@ spin_unlock_irqrestore(&priv->lock, flags); while (1) { - wait_event_interruptible(priv->intr_wait, + wait_event_interruptible(port->delta_msr_wait, + port->serial->disconnected || priv->status.pin_state != prev); if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->lock, flags); status = priv->status.pin_state & PIN_MASK; spin_unlock_irqrestore(&priv->lock, flags); @@ -783,7 +785,7 @@ if (!priv->transient) { if (xs->pin_state != priv->status.pin_state) - wake_up_interruptible(&priv->intr_wait); + wake_up_interruptible(&port->delta_msr_wait); memcpy(&priv->status, xs, OTI6858_CTRL_PKT_SIZE); } --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/qcserial.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/qcserial.c @@ -37,7 +37,13 @@ {DEVICE_G1K(0x04da, 0x250c)}, /* Panasonic Gobi QDL device */ {DEVICE_G1K(0x413c, 0x8172)}, /* Dell Gobi Modem device */ {DEVICE_G1K(0x413c, 0x8171)}, /* Dell Gobi QDL device */ - {DEVICE_G1K(0x1410, 0xa001)}, /* Novatel Gobi Modem device */ + {DEVICE_G1K(0x1410, 0xa001)}, /* Novatel/Verizon USB-1000 */ + {DEVICE_G1K(0x1410, 0xa002)}, /* Novatel Gobi Modem device */ + {DEVICE_G1K(0x1410, 0xa003)}, /* Novatel Gobi Modem device */ + {DEVICE_G1K(0x1410, 0xa004)}, /* Novatel Gobi Modem device */ + {DEVICE_G1K(0x1410, 0xa005)}, /* Novatel Gobi Modem device */ + {DEVICE_G1K(0x1410, 0xa006)}, /* Novatel Gobi Modem device */ + {DEVICE_G1K(0x1410, 0xa007)}, /* Novatel Gobi Modem device */ {DEVICE_G1K(0x1410, 0xa008)}, /* Novatel Gobi QDL device */ {DEVICE_G1K(0x0b05, 0x1776)}, /* Asus Gobi Modem device */ {DEVICE_G1K(0x0b05, 0x1774)}, /* Asus Gobi QDL device */ @@ -55,6 +61,7 @@ {DEVICE_G1K(0x05c6, 0x9221)}, /* Generic Gobi QDL device */ {DEVICE_G1K(0x05c6, 0x9231)}, /* Generic Gobi QDL device */ {DEVICE_G1K(0x1f45, 0x0001)}, /* Unknown Gobi QDL device */ + {DEVICE_G1K(0x1bc7, 0x900e)}, /* Telit Gobi QDL device */ /* Gobi 2000 devices */ {USB_DEVICE(0x1410, 0xa010)}, /* Novatel Gobi 2000 QDL device */ @@ -114,6 +121,8 @@ {USB_DEVICE(0x1199, 0x9019)}, /* Sierra Wireless Gobi 3000 Modem device */ {USB_DEVICE(0x12D1, 0x14F0)}, /* Sony Gobi 3000 QDL */ {USB_DEVICE(0x12D1, 0x14F1)}, /* Sony Gobi 3000 Composite */ + {USB_DEVICE(0x0AF0, 0x8120)}, /* Option GTM681W */ + { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, id_table); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/usb-serial.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/usb-serial.c @@ -157,6 +157,7 @@ } } + usb_put_intf(serial->interface); usb_put_dev(serial->dev); kfree(serial); } @@ -614,7 +615,7 @@ } serial->dev = usb_get_dev(dev); serial->type = driver; - serial->interface = interface; + serial->interface = usb_get_intf(interface); kref_init(&serial->kref); mutex_init(&serial->disc_mutex); serial->minor = SERIAL_TTY_NO_MINOR; @@ -688,10 +689,20 @@ static void serial_dtr_rts(struct tty_port *port, int on) { struct usb_serial_port *p = container_of(port, struct usb_serial_port, port); - struct usb_serial_driver *drv = p->serial->type; + struct usb_serial *serial = p->serial; + struct usb_serial_driver *drv = serial->type; - if (drv->dtr_rts) + if (!drv->dtr_rts) + return; + /* + * Work-around bug in the tty-layer which can result in dtr_rts + * being called after a disconnect (and tty_unregister_device + * has returned). Remove once bug has been squashed. + */ + mutex_lock(&serial->disc_mutex); + if (!serial->disconnected) drv->dtr_rts(p, on); + mutex_unlock(&serial->disc_mutex); } static const struct tty_port_operations serial_port_ops = { @@ -888,6 +899,7 @@ port->port.ops = &serial_port_ops; port->serial = serial; spin_lock_init(&port->lock); + init_waitqueue_head(&port->delta_msr_wait); /* Keep this for private driver use for the moment but should probably go away */ INIT_WORK(&port->work, usb_serial_port_work); @@ -1426,9 +1438,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-lts-quantal-3.5.0.orig/drivers/usb/serial/whiteheat.c +++ linux-lts-quantal-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: @@ -726,7 +727,7 @@ struct whiteheat_port_settings port_settings; unsigned int cflag = tty->termios->c_cflag; - port_settings.port = port->number + 1; + port_settings.port = port->number - port->serial->minor + 1; /* get the byte size */ switch (cflag & CSIZE) { --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/garmin_gps.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/garmin_gps.c @@ -959,10 +959,7 @@ if (!serial) return; - mutex_lock(&port->serial->disc_mutex); - - if (!port->serial->disconnected) - garmin_clear(garmin_data_p); + garmin_clear(garmin_data_p); /* shutdown our urbs */ usb_kill_urb(port->read_urb); @@ -971,8 +968,6 @@ /* keep reset state so we know that we must start a new session */ if (garmin_data_p->state != STATE_RESET) garmin_data_p->state = STATE_DISCONNECTED; - - mutex_unlock(&port->serial->disc_mutex); } --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ti_usb_3410_5052.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ti_usb_3410_5052.c @@ -75,7 +75,6 @@ int tp_flags; int tp_closing_wait;/* in .01 secs */ struct async_icount tp_icount; - wait_queue_head_t tp_msr_wait; /* wait for msr change */ wait_queue_head_t tp_write_wait; struct ti_device *tp_tdev; struct usb_serial_port *tp_port; @@ -179,7 +178,8 @@ { USB_DEVICE(IBM_VENDOR_ID, IBM_4543_PRODUCT_ID) }, { USB_DEVICE(IBM_VENDOR_ID, IBM_454B_PRODUCT_ID) }, { USB_DEVICE(IBM_VENDOR_ID, IBM_454C_PRODUCT_ID) }, - { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_PRODUCT_ID) }, + { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_STEREO_PLUG_ID) }, + { USB_DEVICE(ABBOTT_VENDOR_ID, ABBOTT_STRIP_PORT_ID) }, { USB_DEVICE(TI_VENDOR_ID, FRI2_PRODUCT_ID) }, }; @@ -380,7 +380,7 @@ usb_set_serial_data(serial, tdev); /* determine device type */ - if (usb_match_id(serial->interface, ti_id_table_3410)) + if (serial->type == &ti_1port_device) tdev->td_is_3410 = 1; dbg("%s - device type is %s", __func__, tdev->td_is_3410 ? "3410" : "5052"); @@ -421,7 +421,6 @@ tport->tp_uart_base_addr = (i == 0 ? TI_UART1_BASE_ADDR : TI_UART2_BASE_ADDR); tport->tp_closing_wait = closing_wait; - init_waitqueue_head(&tport->tp_msr_wait); init_waitqueue_head(&tport->tp_write_wait); if (kfifo_alloc(&tport->write_fifo, TI_WRITE_BUF_SIZE, GFP_KERNEL)) { @@ -800,9 +799,13 @@ dbg("%s - (%d) TIOCMIWAIT", __func__, port->number); cprev = tport->tp_icount; while (1) { - interruptible_sleep_on(&tport->tp_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + cnow = tport->tp_icount; if (cnow.rng == cprev.rng && cnow.dsr == cprev.dsr && cnow.dcd == cprev.dcd && cnow.cts == cprev.cts) @@ -1414,7 +1417,7 @@ icount->dcd++; if (msr & TI_MSR_DELTA_RI) icount->rng++; - wake_up_interruptible(&tport->tp_msr_wait); + wake_up_interruptible(&tport->tp_port->delta_msr_wait); spin_unlock_irqrestore(&tport->tp_lock, flags); } @@ -1638,14 +1641,15 @@ char buf[32]; /* try ID specific firmware first, then try generic firmware */ - sprintf(buf, "ti_usb-v%04x-p%04x.fw", dev->descriptor.idVendor, - dev->descriptor.idProduct); + sprintf(buf, "ti_usb-v%04x-p%04x.fw", + le16_to_cpu(dev->descriptor.idVendor), + le16_to_cpu(dev->descriptor.idProduct)); status = request_firmware(&fw_p, buf, &dev->dev); if (status != 0) { buf[0] = '\0'; - if (dev->descriptor.idVendor == MTS_VENDOR_ID) { - switch (dev->descriptor.idProduct) { + if (le16_to_cpu(dev->descriptor.idVendor) == MTS_VENDOR_ID) { + switch (le16_to_cpu(dev->descriptor.idProduct)) { case MTS_CDMA_PRODUCT_ID: strcpy(buf, "mts_cdma.fw"); break; --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/sierra.c +++ linux-lts-quantal-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; } @@ -872,29 +866,32 @@ static void sierra_dtr_rts(struct usb_serial_port *port, int on) { - struct usb_serial *serial = port->serial; struct sierra_port_private *portdata; portdata = usb_get_serial_port_data(port); portdata->rts_state = on; portdata->dtr_state = on; - if (serial->dev) { - mutex_lock(&serial->disc_mutex); - if (!serial->disconnected) - sierra_send_setup(port); - mutex_unlock(&serial->disc_mutex); - } + sierra_send_setup(port); } 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 +907,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 +944,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 +969,7 @@ continue; kfree(portdata); } + kfree(serial->private); } #ifdef CONFIG_PM --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/mct_u232.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/mct_u232.c @@ -118,8 +118,6 @@ unsigned char last_msr; /* Modem Status Register */ unsigned int rx_flags; /* Throttling flags */ struct async_icount icount; - wait_queue_head_t msr_wait; /* for handling sleeping while waiting - for msr change to happen */ }; #define THROTTLED 0x01 @@ -399,7 +397,6 @@ if (!priv) return -ENOMEM; spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->msr_wait); usb_set_serial_port_data(serial->port[0], priv); init_waitqueue_head(&serial->port[0]->write_wait); @@ -416,7 +413,6 @@ return 0; } /* mct_u232_startup */ - static void mct_u232_release(struct usb_serial *serial) { struct mct_u232_private *priv; @@ -502,29 +498,27 @@ unsigned int control_state; struct mct_u232_private *priv = usb_get_serial_port_data(port); - mutex_lock(&port->serial->disc_mutex); - if (!port->serial->disconnected) { - /* drop DTR and RTS */ - spin_lock_irq(&priv->lock); - if (on) - priv->control_state |= TIOCM_DTR | TIOCM_RTS; - else - priv->control_state &= ~(TIOCM_DTR | TIOCM_RTS); - control_state = priv->control_state; - spin_unlock_irq(&priv->lock); - mct_u232_set_modem_ctrl(port->serial, control_state); - } - mutex_unlock(&port->serial->disc_mutex); + spin_lock_irq(&priv->lock); + if (on) + priv->control_state |= TIOCM_DTR | TIOCM_RTS; + else + priv->control_state &= ~(TIOCM_DTR | TIOCM_RTS); + control_state = priv->control_state; + spin_unlock_irq(&priv->lock); + + mct_u232_set_modem_ctrl(port, control_state); } 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 */ @@ -618,7 +612,7 @@ tty_kref_put(tty); } #endif - wake_up_interruptible(&priv->msr_wait); + wake_up_interruptible(&port->delta_msr_wait); spin_unlock_irqrestore(&priv->lock, flags); exit: retval = usb_submit_urb(urb, GFP_ATOMIC); @@ -829,13 +823,17 @@ cprev = mct_u232_port->icount; spin_unlock_irqrestore(&mct_u232_port->lock, flags); for ( ; ; ) { - prepare_to_wait(&mct_u232_port->msr_wait, + prepare_to_wait(&port->delta_msr_wait, &wait, TASK_INTERRUPTIBLE); schedule(); - finish_wait(&mct_u232_port->msr_wait, &wait); + finish_wait(&port->delta_msr_wait, &wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&mct_u232_port->lock, flags); cnow = mct_u232_port->icount; spin_unlock_irqrestore(&mct_u232_port->lock, flags); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/f81232.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/f81232.c @@ -49,7 +49,6 @@ struct f81232_private { spinlock_t lock; - wait_queue_head_t delta_msr_wait; u8 line_control; u8 line_status; }; @@ -114,7 +113,7 @@ line_status = priv->line_status; priv->line_status &= ~UART_STATE_TRANSIENT_MASK; spin_unlock_irqrestore(&priv->lock, flags); - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); if (!urb->actual_length) return; @@ -262,11 +261,14 @@ spin_unlock_irqrestore(&priv->lock, flags); while (1) { - interruptible_sleep_on(&priv->delta_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->lock, flags); status = priv->line_status; spin_unlock_irqrestore(&priv->lock, flags); @@ -329,7 +331,6 @@ if (!priv) goto cleanup; spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->delta_msr_wait); usb_set_serial_port_data(serial->port[i], priv); } return 0; --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ch341.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ch341.c @@ -82,7 +82,6 @@ struct ch341_private { spinlock_t lock; /* access lock */ - wait_queue_head_t delta_msr_wait; /* wait queue for modem status */ unsigned baud_rate; /* set baud rate */ u8 line_control; /* set line control value RTS/DTR */ u8 line_status; /* active status of modem control inputs */ @@ -253,7 +252,6 @@ return -ENOMEM; spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->delta_msr_wait); priv->baud_rate = DEFAULT_BAUD_RATE; priv->line_control = CH341_BIT_RTS | CH341_BIT_DTR; @@ -289,7 +287,7 @@ priv->line_control &= ~(CH341_BIT_RTS | CH341_BIT_DTR); spin_unlock_irqrestore(&priv->lock, flags); ch341_set_handshake(port->serial->dev, priv->line_control); - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); } static void ch341_close(struct usb_serial_port *port) @@ -482,7 +480,7 @@ tty_kref_put(tty); } - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); } exit: @@ -508,11 +506,14 @@ spin_unlock_irqrestore(&priv->lock, flags); while (!multi_change) { - interruptible_sleep_on(&priv->delta_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->lock, flags); status = priv->line_status; multi_change = priv->multi_status_change; --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/option.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/option.c @@ -80,85 +80,11 @@ #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_E173 0x140C +#define HUAWEI_PRODUCT_E1750 0x1406 #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,8 +159,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_G1 0xA001 -#define NOVATELWIRELESS_PRODUCT_G1_M 0xA002 +#define NOVATELWIRELESS_PRODUCT_E362 0x9010 #define NOVATELWIRELESS_PRODUCT_G2 0xA010 #define NOVATELWIRELESS_PRODUCT_MC551 0xB001 @@ -268,6 +193,10 @@ #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 DELL_PRODUCT_5804_MINICARD_ATT 0x819b /* Novatel E371 */ + #define KYOCERA_VENDOR_ID 0x0c88 #define KYOCERA_PRODUCT_KPC650 0x17da #define KYOCERA_PRODUCT_KPC680 0x180a @@ -313,6 +242,7 @@ #define TELIT_PRODUCT_CC864_DUAL 0x1005 #define TELIT_PRODUCT_CC864_SINGLE 0x1006 #define TELIT_PRODUCT_DE910_DUAL 0x1010 +#define TELIT_PRODUCT_LE920 0x1200 /* ZTE PRODUCTS */ #define ZTE_VENDOR_ID 0x19d2 @@ -358,6 +288,8 @@ /* ALCATEL PRODUCTS */ #define ALCATEL_VENDOR_ID 0x1bbb #define ALCATEL_PRODUCT_X060S_X200 0x0000 +#define ALCATEL_PRODUCT_X220_X500D 0x0017 +#define ALCATEL_PRODUCT_L100V 0x011e #define PIRELLI_VENDOR_ID 0x1266 #define PIRELLI_PRODUCT_C100_1 0x1002 @@ -409,21 +341,19 @@ #define CINTERION_PRODUCT_EU3_E 0x0051 #define CINTERION_PRODUCT_EU3_P 0x0052 #define CINTERION_PRODUCT_PH8 0x0053 +#define CINTERION_PRODUCT_AHXX 0x0055 +#define CINTERION_PRODUCT_PLXX 0x0060 /* Olivetti products */ #define OLIVETTI_VENDOR_ID 0x0b3c #define OLIVETTI_PRODUCT_OLICARD100 0xc000 +#define OLIVETTI_PRODUCT_OLICARD145 0xc003 +#define OLIVETTI_PRODUCT_OLICARD200 0xc005 /* Celot products */ #define CELOT_VENDOR_ID 0x211f #define CELOT_PRODUCT_CT680M 0x6801 -/* ONDA Communication vendor id */ -#define ONDA_VENDOR_ID 0x1ee8 - -/* ONDA MT825UP HSDPA 14.2 modem */ -#define ONDA_MT825UP 0x000b - /* Samsung products */ #define SAMSUNG_VENDOR_ID 0x04e8 #define SAMSUNG_PRODUCT_GT_B3730 0x6889 @@ -499,9 +429,12 @@ #define MEDIATEK_VENDOR_ID 0x0e8d #define MEDIATEK_PRODUCT_DC_1COM 0x00a0 #define MEDIATEK_PRODUCT_DC_4COM 0x00a5 +#define MEDIATEK_PRODUCT_DC_4COM2 0x00a7 #define MEDIATEK_PRODUCT_DC_5COM 0x00a4 #define MEDIATEK_PRODUCT_7208_1COM 0x7101 #define MEDIATEK_PRODUCT_7208_2COM 0x7102 +#define MEDIATEK_PRODUCT_7103_2COM 0x7103 +#define MEDIATEK_PRODUCT_7106_2COM 0x7106 #define MEDIATEK_PRODUCT_FP_1COM 0x0003 #define MEDIATEK_PRODUCT_FP_2COM 0x0023 #define MEDIATEK_PRODUCT_FPDC_1COM 0x0043 @@ -511,6 +444,19 @@ #define CELLIENT_VENDOR_ID 0x2692 #define CELLIENT_PRODUCT_MEN200 0x9005 +/* Hyundai Petatel Inc. products */ +#define PETATEL_VENDOR_ID 0x1ff4 +#define PETATEL_PRODUCT_NP10T_600A 0x600a +#define PETATEL_PRODUCT_NP10T_600E 0x600e + +/* TP-LINK Incorporated products */ +#define TPLINK_VENDOR_ID 0x2357 +#define TPLINK_PRODUCT_MA180 0x0201 + +/* Changhong products */ +#define CHANGHONG_VENDOR_ID 0x2077 +#define CHANGHONG_PRODUCT_CH690 0x7001 + /* some devices interfaces need special handling due to a number of reasons */ enum option_blacklist_reason { OPTION_BLACKLIST_NONE = 0, @@ -532,6 +478,7 @@ static const struct option_blacklist_info alcatel_x200_blacklist = { .sendsetup = BIT(0) | BIT(1), + .reserved = BIT(4), }; static const struct option_blacklist_info zte_0037_blacklist = { @@ -579,11 +526,24 @@ .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 option_blacklist_info telit_le920_blacklist = { + .sendsetup = BIT(0), + .reserved = BIT(1) | BIT(5), +}; + 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 +575,136 @@ { 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(QUANTA_VENDOR_ID, 0xea42), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c05, USB_CLASS_COMM, 0x02, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c1f, USB_CLASS_COMM, 0x02, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c23, USB_CLASS_COMM, 0x02, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E173, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t) &net_intf1_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1750, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t) &net_intf2_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1441, USB_CLASS_COMM, 0x02, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1442, USB_CLASS_COMM, 0x02, 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, 0x14ac, 0xff, 0xff, 0xff), /* Huawei E1820 */ + .driver_info = (kernel_ulong_t) &net_intf1_blacklist }, { 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) }, @@ -749,11 +741,10 @@ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC547) }, { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_HIGHSPEED) }, { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED) }, - { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1) }, - { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G1_M) }, { 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 +767,9 @@ { 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_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5804_MINICARD_ATT, 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) }, @@ -802,6 +796,7 @@ { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) }, { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000)}, /* SIMCom SIM5218 */ { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6280) }, /* BP3-USB & BP3-EXT HSDPA */ { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6008) }, @@ -810,6 +805,8 @@ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_DUAL) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) }, + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920), + .driver_info = (kernel_ulong_t)&telit_le920_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf1_blacklist }, @@ -835,7 +832,8 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0017, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0018, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0019, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0019, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0020, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0021, 0xff, 0xff, 0xff), .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, @@ -910,14 +908,24 @@ { 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, 0x0135, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0136, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0137, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0139, 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) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0144, 0xff, 0xff, 0xff) }, @@ -927,8 +935,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 +946,40 @@ { 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, 0x0189, 0xff, 0xff, 0xff) }, + { 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, 0x0196, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0197, 0xff, 0xff, 0xff) }, + { 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, 0x0200, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0201, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0254, 0xff, 0xff, 0xff) }, + { 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, 0x0265, 0xff, 0xff, 0xff), /* ONDA MT8205 */ + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0284, 0xff, 0xff, 0xff), /* ZTE MF880 */ + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0317, 0xff, 0xff, 0xff) }, + { 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, 0x0330, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0395, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0412, 0xff, 0xff, 0xff), /* Telewell TW-LTE 4G */ + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0414, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0417, 0xff, 0xff, 0xff) }, { 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, 0x1018, 0xff, 0xff, 0xff) }, + { 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 +1095,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 +1157,20 @@ { 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, 0x1301, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1302, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1303, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1333, 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 +1182,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 +1208,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 +1229,16 @@ { 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), + .driver_info = (kernel_ulong_t)&net_intf6_blacklist }, + { USB_DEVICE(ALCATEL_VENDOR_ID, 0x0052), + .driver_info = (kernel_ulong_t)&net_intf6_blacklist }, + { USB_DEVICE(ALCATEL_VENDOR_ID, 0x00b6), + .driver_info = (kernel_ulong_t)&net_intf3_blacklist }, + { USB_DEVICE(ALCATEL_VENDOR_ID, 0x00b7), + .driver_info = (kernel_ulong_t)&net_intf5_blacklist }, + { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_L100V), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { 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), @@ -1190,6 +1267,9 @@ { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_E) }, { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_P) }, { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8) }, + { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX) }, + { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLXX), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) }, @@ -1198,8 +1278,9 @@ { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) }, + { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD145) }, + { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD200) }, { USB_DEVICE(CELOT_VENDOR_ID, CELOT_PRODUCT_CT680M) }, /* CT-650 CDMA 450 1xEVDO modem */ - { USB_DEVICE(ONDA_VENDOR_ID, ONDA_MT825UP) }, /* ONDA MT825UP modem */ { USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_GT_B3730, USB_CLASS_CDC_DATA, 0x00, 0x00) }, /* Samsung GT-B3730 LTE USB modem.*/ { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM600) }, { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM610) }, @@ -1266,7 +1347,26 @@ { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FP_2COM, 0x0a, 0x00, 0x00) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FPDC_1COM, 0x0a, 0x00, 0x00) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FPDC_2COM, 0x0a, 0x00, 0x00) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_7103_2COM, 0xff, 0x00, 0x00) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_7106_2COM, 0x02, 0x02, 0x01) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) }, + { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, + { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) }, + { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) }, + { USB_DEVICE(TPLINK_VENDOR_ID, TPLINK_PRODUCT_MA180), + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE(TPLINK_VENDOR_ID, 0x9000), /* TP-Link MA260 */ + .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, + { USB_DEVICE(CHANGHONG_VENDOR_ID, CHANGHONG_PRODUCT_CH690) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d01, 0xff, 0x02, 0x01) }, /* D-Link DWM-156 (variant) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d01, 0xff, 0x00, 0x00) }, /* D-Link DWM-156 (variant) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d02, 0xff, 0x02, 0x01) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d02, 0xff, 0x00, 0x00) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d03, 0xff, 0x02, 0x01) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x7d03, 0xff, 0x00, 0x00) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff) }, /* D-Link DWM-152/C1 */ + { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/C1 */ { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, option_ids); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/visor.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/visor.c @@ -570,10 +570,19 @@ */ #define COPY_PORT(dest, src) \ do { \ + int i; \ + \ + for (i = 0; i < ARRAY_SIZE(src->read_urbs); ++i) { \ + dest->read_urbs[i] = src->read_urbs[i]; \ + dest->read_urbs[i]->context = dest; \ + dest->bulk_in_buffers[i] = src->bulk_in_buffers[i]; \ + } \ dest->read_urb = src->read_urb; \ dest->bulk_in_endpointAddress = src->bulk_in_endpointAddress;\ dest->bulk_in_buffer = src->bulk_in_buffer; \ + dest->bulk_in_size = src->bulk_in_size; \ dest->interrupt_in_urb = src->interrupt_in_urb; \ + dest->interrupt_in_urb->context = dest; \ dest->interrupt_in_endpointAddress = \ src->interrupt_in_endpointAddress;\ dest->interrupt_in_buffer = src->interrupt_in_buffer; \ --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/quatech2.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/quatech2.c @@ -132,7 +132,6 @@ u8 shadowLSR; u8 shadowMSR; - wait_queue_head_t delta_msr_wait; /* Used for TIOCMIWAIT */ struct async_icount icount; struct usb_serial_port *port; @@ -434,6 +433,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 +470,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) @@ -521,8 +527,9 @@ spin_unlock_irqrestore(&priv->lock, flags); while (1) { - wait_event_interruptible(priv->delta_msr_wait, - ((priv->icount.rng != prev.rng) || + wait_event_interruptible(port->delta_msr_wait, + (port->serial->disconnected || + (priv->icount.rng != prev.rng) || (priv->icount.dsr != prev.dsr) || (priv->icount.dcd != prev.dcd) || (priv->icount.cts != prev.cts))); @@ -530,6 +537,9 @@ if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->lock, flags); cur = priv->icount; spin_unlock_irqrestore(&priv->lock, flags); @@ -829,6 +839,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; } @@ -873,7 +884,6 @@ spin_lock_init(&port_priv->lock); spin_lock_init(&port_priv->urb_lock); - init_waitqueue_head(&port_priv->delta_msr_wait); port_priv->port = serial->port[pcount]; @@ -968,19 +978,17 @@ struct usb_device *dev = port->serial->dev; struct qt2_port_private *port_priv = usb_get_serial_port_data(port); - mutex_lock(&port->serial->disc_mutex); - if (!port->serial->disconnected) { - /* Disable flow control */ - if (!on && qt2_setregister(dev, port_priv->device_port, + /* Disable flow control */ + if (!on) { + if (qt2_setregister(dev, port_priv->device_port, UART_MCR, 0) < 0) dev_warn(&port->dev, "error from flowcontrol urb\n"); - /* drop RTS and DTR */ - if (on) - update_mctrl(port_priv, TIOCM_DTR | TIOCM_RTS, 0); - else - update_mctrl(port_priv, 0, TIOCM_DTR | TIOCM_RTS); } - mutex_unlock(&port->serial->disc_mutex); + /* drop RTS and DTR */ + if (on) + update_mctrl(port_priv, TIOCM_DTR | TIOCM_RTS, 0); + else + update_mctrl(port_priv, 0, TIOCM_DTR | TIOCM_RTS); } static void qt2_update_msr(struct usb_serial_port *port, unsigned char *ch) @@ -1009,7 +1017,7 @@ if (newMSR & UART_MSR_TERI) port_priv->icount.rng++; - wake_up_interruptible(&port_priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); } } --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ftdi_sio_ids.h +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ftdi_sio_ids.h @@ -74,6 +74,10 @@ #define FTDI_OPENDCC_THROTTLE_PID 0xBFDA #define FTDI_OPENDCC_GATEWAY_PID 0xBFDB #define FTDI_OPENDCC_GBM_PID 0xBFDC +#define FTDI_OPENDCC_GBM_BOOST_PID 0xBFDD + +/* 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) @@ -144,6 +148,11 @@ #define XSENS_CONVERTER_6_PID 0xD38E #define XSENS_CONVERTER_7_PID 0xD38F +/** + * Zolix (www.zolix.com.cb) product ids + */ +#define FTDI_OMNI1509 0xD491 /* Omni1509 embedded USB-serial */ + /* * NDI (www.ndigital.com) product ids */ @@ -201,7 +210,7 @@ /* * ELV USB devices submitted by Christian Abt of ELV (www.elv.de). - * All of these devices use FTDI's vendor ID (0x0403). + * Almost all of these devices use FTDI's vendor ID (0x0403). * Further IDs taken from ELV Windows .inf file. * * The previously included PID for the UO 100 module was incorrect. @@ -209,6 +218,8 @@ * * Armin Laeuger originally sent the PID for the UM 100 module. */ +#define FTDI_ELV_VID 0x1B1F /* ELV AG */ +#define FTDI_ELV_WS300_PID 0xC006 /* eQ3 WS 300 PC II */ #define FTDI_ELV_USR_PID 0xE000 /* ELV Universal-Sound-Recorder */ #define FTDI_ELV_MSM1_PID 0xE001 /* ELV Mini-Sound-Modul */ #define FTDI_ELV_KL100_PID 0xE002 /* ELV Kfz-Leistungsmesser KL 100 */ @@ -514,6 +525,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 +555,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/ */ @@ -566,6 +585,13 @@ #define CONTEC_COM1USBH_PID 0x8311 /* COM-1(USB)H */ /* + * Mitsubishi Electric Corp. (http://www.meau.com) + * Submitted by Konstantin Holoborodko + */ +#define MITSUBISHI_VID 0x06D3 +#define MITSUBISHI_FXUSB_PID 0x0284 /* USB/RS422 converters: FX-USB-AW/-BD */ + +/* * Definitions for B&B Electronics products. */ #define BANDB_VID 0x0856 /* B&B Electronics Vendor ID */ @@ -741,6 +767,14 @@ #define TTI_VID 0x103E /* Vendor Id */ #define TTI_QL355P_PID 0x03E8 /* TTi QL355P power supply */ +/* + * Newport Cooperation (www.newport.com) + */ +#define NEWPORT_VID 0x104D +#define NEWPORT_AGILIS_PID 0x3000 +#define NEWPORT_CONEX_CC_PID 0x3002 +#define NEWPORT_CONEX_AGP_PID 0x3006 + /* Interbiometrics USB I/O Board */ /* Developed for Interbiometrics by Rudolf Gugler */ #define INTERBIOMETRICS_VID 0x1209 @@ -781,18 +815,68 @@ /* * RT Systems programming cables for various ham radios */ -#define RTSYSTEMS_VID 0x2100 /* Vendor ID */ -#define RTSYSTEMS_SERIAL_VX7_PID 0x9e52 /* Serial converter for VX-7 Radios using FT232RL */ -#define RTSYSTEMS_CT29B_PID 0x9e54 /* CT29B Radio Cable */ -#define RTSYSTEMS_RTS01_PID 0x9e57 /* USB-RTS01 Radio Cable */ - +#define RTSYSTEMS_VID 0x2100 /* Vendor ID */ +#define RTSYSTEMS_USB_S03_PID 0x9001 /* RTS-03 USB to Serial Adapter */ +#define RTSYSTEMS_USB_59_PID 0x9e50 /* USB-59 USB to 8 pin plug */ +#define RTSYSTEMS_USB_57A_PID 0x9e51 /* USB-57A USB to 4pin 3.5mm plug */ +#define RTSYSTEMS_USB_57B_PID 0x9e52 /* USB-57B USB to extended 4pin 3.5mm plug */ +#define RTSYSTEMS_USB_29A_PID 0x9e53 /* USB-29A USB to 3.5mm stereo plug */ +#define RTSYSTEMS_USB_29B_PID 0x9e54 /* USB-29B USB to 6 pin mini din */ +#define RTSYSTEMS_USB_29F_PID 0x9e55 /* USB-29F USB to 6 pin modular plug */ +#define RTSYSTEMS_USB_62B_PID 0x9e56 /* USB-62B USB to 8 pin mini din plug*/ +#define RTSYSTEMS_USB_S01_PID 0x9e57 /* USB-RTS01 USB to 3.5 mm stereo plug*/ +#define RTSYSTEMS_USB_63_PID 0x9e58 /* USB-63 USB to 9 pin female*/ +#define RTSYSTEMS_USB_29C_PID 0x9e59 /* USB-29C USB to 4 pin modular plug*/ +#define RTSYSTEMS_USB_81B_PID 0x9e5A /* USB-81 USB to 8 pin mini din plug*/ +#define RTSYSTEMS_USB_82B_PID 0x9e5B /* USB-82 USB to 2.5 mm stereo plug*/ +#define RTSYSTEMS_USB_K5D_PID 0x9e5C /* USB-K5D USB to 8 pin modular plug*/ +#define RTSYSTEMS_USB_K4Y_PID 0x9e5D /* USB-K4Y USB to 2.5/3.5 mm plugs*/ +#define RTSYSTEMS_USB_K5G_PID 0x9e5E /* USB-K5G USB to 8 pin modular plug*/ +#define RTSYSTEMS_USB_S05_PID 0x9e5F /* USB-RTS05 USB to 2.5 mm stereo plug*/ +#define RTSYSTEMS_USB_60_PID 0x9e60 /* USB-60 USB to 6 pin din*/ +#define RTSYSTEMS_USB_61_PID 0x9e61 /* USB-61 USB to 6 pin mini din*/ +#define RTSYSTEMS_USB_62_PID 0x9e62 /* USB-62 USB to 8 pin mini din*/ +#define RTSYSTEMS_USB_63B_PID 0x9e63 /* USB-63 USB to 9 pin female*/ +#define RTSYSTEMS_USB_64_PID 0x9e64 /* USB-64 USB to 9 pin male*/ +#define RTSYSTEMS_USB_65_PID 0x9e65 /* USB-65 USB to 9 pin female null modem*/ +#define RTSYSTEMS_USB_92_PID 0x9e66 /* USB-92 USB to 12 pin plug*/ +#define RTSYSTEMS_USB_92D_PID 0x9e67 /* USB-92D USB to 12 pin plug data*/ +#define RTSYSTEMS_USB_W5R_PID 0x9e68 /* USB-W5R USB to 8 pin modular plug*/ +#define RTSYSTEMS_USB_A5R_PID 0x9e69 /* USB-A5R USB to 8 pin modular plug*/ +#define RTSYSTEMS_USB_PW1_PID 0x9e6A /* USB-PW1 USB to 8 pin modular plug*/ /* * 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. @@ -1093,7 +1177,8 @@ * STMicroelectonics */ #define ST_VID 0x0483 -#define ST_STMCLT1030_PID 0x3747 /* ST Micro Connect Lite STMCLT1030 */ +#define ST_STMCLT_2232_PID 0x3746 +#define ST_STMCLT_4232_PID 0x3747 /* * Papouch products (http://www.papouch.com/) @@ -1216,3 +1301,9 @@ * ATI command output: Cinterion MC55i */ #define FTDI_CINTERION_MC55I_PID 0xA951 + +/* + * Product: Comet Caller ID decoder + * Manufacturer: Crucible Technologies + */ +#define FTDI_CT_COMET_PID 0x8e08 --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/usb_wwan.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/usb_wwan.c @@ -41,7 +41,6 @@ void usb_wwan_dtr_rts(struct usb_serial_port *port, int on) { - struct usb_serial *serial = port->serial; struct usb_wwan_port_private *portdata; struct usb_wwan_intf_private *intfdata; @@ -51,12 +50,11 @@ return; portdata = usb_get_serial_port_data(port); - mutex_lock(&serial->disc_mutex); + /* FIXME: locking */ portdata->rts_state = on; portdata->dtr_state = on; - if (serial->dev) - intfdata->send_setup(port); - mutex_unlock(&serial->disc_mutex); + + intfdata->send_setup(port); } EXPORT_SYMBOL(usb_wwan_dtr_rts); @@ -299,18 +297,18 @@ tty_kref_put(tty); } - /* Resubmit urb so we continue receiving */ - err = usb_submit_urb(urb, GFP_ATOMIC); - if (err) { - if (err != -EPERM) { - printk(KERN_ERR "%s: resubmit read urb failed. " - "(%d)", __func__, err); - /* busy also in error unless we are killed */ - usb_mark_last_busy(port->serial->dev); - } - } else { + } + /* Resubmit urb so we continue receiving */ + err = usb_submit_urb(urb, GFP_ATOMIC); + if (err) { + if (err != -EPERM) { + printk(KERN_ERR "%s: resubmit read urb failed. (%d)\n", + __func__, err); + /* busy also in error unless we are killed */ usb_mark_last_busy(port->serial->dev); } + } else { + usb_mark_last_busy(port->serial->dev); } } @@ -453,9 +451,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 +478,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 +494,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 +530,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 +540,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-lts-quantal-3.5.0.orig/drivers/usb/serial/qcaux.c +++ linux-lts-quantal-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,10 @@ { 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 */ + { USB_DEVICE_AND_INTERFACE_INFO(0x1fac, 0x0151, 0xff, 0xff, 0xff) }, { }, }; MODULE_DEVICE_TABLE(usb, id_table); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/io_edgeport.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/io_edgeport.c @@ -114,7 +114,6 @@ wait_queue_head_t wait_chase; /* for handling sleeping while waiting for chase to finish */ wait_queue_head_t wait_open; /* for handling sleeping while waiting for open to finish */ wait_queue_head_t wait_command; /* for handling sleeping while waiting for command to finish */ - wait_queue_head_t delta_msr_wait; /* for handling sleeping while waiting for msr change to happen */ struct async_icount icount; struct usb_serial_port *port; /* loop back to the owner of this object */ @@ -884,7 +883,6 @@ /* initialize our wait queues */ init_waitqueue_head(&edge_port->wait_open); init_waitqueue_head(&edge_port->wait_chase); - init_waitqueue_head(&edge_port->delta_msr_wait); init_waitqueue_head(&edge_port->wait_command); /* initialize our icount structure */ @@ -1701,13 +1699,17 @@ dbg("%s (%d) TIOCMIWAIT", __func__, port->number); cprev = edge_port->icount; while (1) { - prepare_to_wait(&edge_port->delta_msr_wait, + prepare_to_wait(&port->delta_msr_wait, &wait, TASK_INTERRUPTIBLE); schedule(); - finish_wait(&edge_port->delta_msr_wait, &wait); + finish_wait(&port->delta_msr_wait, &wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + cnow = edge_port->icount; if (cnow.rng == cprev.rng && cnow.dsr == cprev.dsr && cnow.dcd == cprev.dcd && cnow.cts == cprev.cts) @@ -2088,7 +2090,7 @@ icount->dcd++; if (newMsr & EDGEPORT_MSR_DELTA_RI) icount->rng++; - wake_up_interruptible(&edge_port->delta_msr_wait); + wake_up_interruptible(&edge_port->port->delta_msr_wait); } /* Save the new modem status */ --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/mos7720.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/mos7720.c @@ -44,7 +44,7 @@ #define DRIVER_DESC "Moschip USB Serial Driver" /* default urb timeout */ -#define MOS_WDR_TIMEOUT (HZ * 5) +#define MOS_WDR_TIMEOUT 5000 #define MOS_MAX_PORT 0x02 #define MOS_WRITE 0x0E @@ -97,6 +97,7 @@ struct list_head urblist_entry; struct kref ref_count; struct urb *urb; + struct usb_ctrlrequest *setup; }; enum mos7715_pp_modes { @@ -234,11 +235,22 @@ __u8 requesttype = (__u8)0xc0; __u16 index = get_reg_index(reg); __u16 value = get_reg_value(reg, serial_portnum); - int status = usb_control_msg(usbdev, pipe, request, requesttype, value, - index, data, 1, MOS_WDR_TIMEOUT); - if (status < 0) + u8 *buf; + int status; + + buf = kmalloc(1, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + status = usb_control_msg(usbdev, pipe, request, requesttype, value, + index, buf, 1, MOS_WDR_TIMEOUT); + if (status == 1) + *data = *buf; + else if (status < 0) dev_err(&usbdev->dev, "mos7720: usb_control_msg() failed: %d", status); + kfree(buf); + return status; } @@ -267,6 +279,7 @@ struct mos7715_parport *mos_parport = urbtrack->mos_parport; usb_free_urb(urbtrack->urb); + kfree(urbtrack->setup); kfree(urbtrack); kref_put(&mos_parport->ref_count, destroy_mos_parport); } @@ -349,7 +362,6 @@ struct urbtracker *urbtrack; int ret_val; unsigned long flags; - struct usb_ctrlrequest setup; struct usb_serial *serial = mos_parport->serial; struct usb_device *usbdev = serial->dev; @@ -367,14 +379,20 @@ kfree(urbtrack); return -ENOMEM; } - setup.bRequestType = (__u8)0x40; - setup.bRequest = (__u8)0x0e; - setup.wValue = get_reg_value(reg, dummy); - setup.wIndex = get_reg_index(reg); - setup.wLength = 0; + urbtrack->setup = kmalloc(sizeof(*urbtrack->setup), GFP_ATOMIC); + if (!urbtrack->setup) { + usb_free_urb(urbtrack->urb); + kfree(urbtrack); + return -ENOMEM; + } + urbtrack->setup->bRequestType = (__u8)0x40; + urbtrack->setup->bRequest = (__u8)0x0e; + urbtrack->setup->wValue = cpu_to_le16(get_reg_value(reg, dummy)); + urbtrack->setup->wIndex = cpu_to_le16(get_reg_index(reg)); + urbtrack->setup->wLength = 0; usb_fill_control_urb(urbtrack->urb, usbdev, usb_sndctrlpipe(usbdev, 0), - (unsigned char *)&setup, + (unsigned char *)urbtrack->setup, NULL, 0, async_complete, urbtrack); kref_init(&urbtrack->ref_count); INIT_LIST_HEAD(&urbtrack->urblist_entry); @@ -1684,7 +1702,7 @@ mos7720_port->shadowMCR |= (UART_MCR_XONANY); /* To set hardware flow control to the specified * * serial port, in SP1/2_CONTROL_REG */ - if (port->number) + if (port_number) write_mos_reg(serial, dummy, SP_CONTROL_REG, 0x01); else write_mos_reg(serial, dummy, SP_CONTROL_REG, 0x02); @@ -2088,7 +2106,7 @@ /* setting configuration feature to one */ usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), - (__u8)0x03, 0x00, 0x01, 0x00, NULL, 0x00, 5*HZ); + (__u8)0x03, 0x00, 0x01, 0x00, NULL, 0x00, 5000); /* start the interrupt urb */ ret_val = usb_submit_urb(serial->port[0]->interrupt_in_urb, GFP_KERNEL); @@ -2133,7 +2151,7 @@ /* wait for synchronous usb calls to return */ if (mos_parport->msg_pending) wait_for_completion_timeout(&mos_parport->syncmsg_compl, - MOS_WDR_TIMEOUT); + msecs_to_jiffies(MOS_WDR_TIMEOUT)); parport_remove_port(mos_parport->pp); usb_set_serial_data(serial, NULL); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/cp210x.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/cp210x.c @@ -60,6 +60,7 @@ { USB_DEVICE(0x0489, 0xE000) }, /* Pirelli Broadband S.p.A, DP-L10 SIP/GSM Mobile */ { USB_DEVICE(0x0489, 0xE003) }, /* Pirelli Broadband S.p.A, DP-L10 SIP/GSM Mobile */ { USB_DEVICE(0x0745, 0x1000) }, /* CipherLab USB CCD Barcode Scanner 1000 */ + { USB_DEVICE(0x0846, 0x1100) }, /* NetGear Managed Switch M4100 series, M5300 series, M7100 series */ { USB_DEVICE(0x08e6, 0x5501) }, /* Gemalto Prox-PU/CU contactless smartcard reader */ { USB_DEVICE(0x08FD, 0x000A) }, /* Digianswer A/S , ZigBee/802.15.4 MAC Device */ { USB_DEVICE(0x0BED, 0x1100) }, /* MEI (TM) Cashflow-SC Bill/Voucher Acceptor */ @@ -91,6 +92,7 @@ { USB_DEVICE(0x10C4, 0x813F) }, /* Tams Master Easy Control */ { USB_DEVICE(0x10C4, 0x814A) }, /* West Mountain Radio RIGblaster P&P */ { USB_DEVICE(0x10C4, 0x814B) }, /* West Mountain Radio RIGtalk */ + { USB_DEVICE(0x2405, 0x0003) }, /* West Mountain Radio RIGblaster Advantage */ { USB_DEVICE(0x10C4, 0x8156) }, /* B&G H3000 link cable */ { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */ { USB_DEVICE(0x10C4, 0x815F) }, /* Timewave HamLinkUSB */ @@ -120,8 +122,11 @@ { USB_DEVICE(0x10C4, 0x8477) }, /* Balluff RFID */ { USB_DEVICE(0x10C4, 0x85EA) }, /* AC-Services IBUS-IF */ { USB_DEVICE(0x10C4, 0x85EB) }, /* AC-Services CIS-IBUS */ + { USB_DEVICE(0x10C4, 0x85F8) }, /* Virtenio Preon32 */ { USB_DEVICE(0x10C4, 0x8664) }, /* AC-Services CAN-IF */ { USB_DEVICE(0x10C4, 0x8665) }, /* AC-Services OBD-IF */ + { USB_DEVICE(0x10C4, 0x88A4) }, /* MMB Networks ZigBee USB Device */ + { USB_DEVICE(0x10C4, 0x88A5) }, /* Planet Innovation Ingeni ZigBee USB Device */ { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */ { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */ { USB_DEVICE(0x10C4, 0xEA70) }, /* Silicon Labs factory default */ @@ -152,9 +157,29 @@ { USB_DEVICE(0x17F4, 0xAAAA) }, /* Wavesense Jazz blood glucose meter */ { USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */ { USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */ + { USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */ { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */ { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */ { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */ + { USB_DEVICE(0x1FB9, 0x0100) }, /* Lake Shore Model 121 Current Source */ + { USB_DEVICE(0x1FB9, 0x0200) }, /* Lake Shore Model 218A Temperature Monitor */ + { USB_DEVICE(0x1FB9, 0x0201) }, /* Lake Shore Model 219 Temperature Monitor */ + { USB_DEVICE(0x1FB9, 0x0202) }, /* Lake Shore Model 233 Temperature Transmitter */ + { USB_DEVICE(0x1FB9, 0x0203) }, /* Lake Shore Model 235 Temperature Transmitter */ + { USB_DEVICE(0x1FB9, 0x0300) }, /* Lake Shore Model 335 Temperature Controller */ + { USB_DEVICE(0x1FB9, 0x0301) }, /* Lake Shore Model 336 Temperature Controller */ + { USB_DEVICE(0x1FB9, 0x0302) }, /* Lake Shore Model 350 Temperature Controller */ + { USB_DEVICE(0x1FB9, 0x0303) }, /* Lake Shore Model 371 AC Bridge */ + { USB_DEVICE(0x1FB9, 0x0400) }, /* Lake Shore Model 411 Handheld Gaussmeter */ + { USB_DEVICE(0x1FB9, 0x0401) }, /* Lake Shore Model 425 Gaussmeter */ + { USB_DEVICE(0x1FB9, 0x0402) }, /* Lake Shore Model 455A Gaussmeter */ + { USB_DEVICE(0x1FB9, 0x0403) }, /* Lake Shore Model 475A Gaussmeter */ + { USB_DEVICE(0x1FB9, 0x0404) }, /* Lake Shore Model 465 Three Axis Gaussmeter */ + { USB_DEVICE(0x1FB9, 0x0600) }, /* Lake Shore Model 625A Superconducting MPS */ + { USB_DEVICE(0x1FB9, 0x0601) }, /* Lake Shore Model 642A Magnet Power Supply */ + { USB_DEVICE(0x1FB9, 0x0602) }, /* Lake Shore Model 648 Magnet Power Supply */ + { USB_DEVICE(0x1FB9, 0x0700) }, /* Lake Shore Model 737 VSM Controller */ + { USB_DEVICE(0x1FB9, 0x0701) }, /* Lake Shore Model 776 Hall Matrix */ { USB_DEVICE(0x3195, 0xF190) }, /* Link Instruments MSO-19 */ { USB_DEVICE(0x3195, 0xF280) }, /* Link Instruments MSO-28 */ { USB_DEVICE(0x3195, 0xF281) }, /* Link Instruments MSO-28 */ --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/metro-usb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/serial/spcp8x5.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/spcp8x5.c @@ -154,7 +154,6 @@ struct spcp8x5_private { spinlock_t lock; enum spcp8x5_type type; - wait_queue_head_t delta_msr_wait; u8 line_control; u8 line_status; }; @@ -188,7 +187,6 @@ goto cleanup; spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->delta_msr_wait); priv->type = type; usb_set_serial_port_data(serial->port[i] , priv); } @@ -331,7 +329,6 @@ struct spcp8x5_private *priv = usb_get_serial_port_data(port); unsigned long flags; unsigned int cflag = tty->termios->c_cflag; - unsigned int old_cflag = old_termios->c_cflag; unsigned short uartdata; unsigned char buf[2] = {0, 0}; int baud; @@ -340,15 +337,15 @@ /* check that they really want us to change something */ - if (!tty_termios_hw_change(tty->termios, old_termios)) + if (old_termios && !tty_termios_hw_change(tty->termios, old_termios)) return; /* set DTR/RTS active */ spin_lock_irqsave(&priv->lock, flags); control = priv->line_control; - if ((old_cflag & CBAUD) == B0) { + if (old_termios && (old_termios->c_cflag & CBAUD) == B0) { priv->line_control |= MCR_DTR; - if (!(old_cflag & CRTSCTS)) + if (!(old_termios->c_cflag & CRTSCTS)) priv->line_control |= MCR_RTS; } if (control != priv->line_control) { @@ -438,7 +435,6 @@ * status of the device. */ static int spcp8x5_open(struct tty_struct *tty, struct usb_serial_port *port) { - struct ktermios tmp_termios; struct usb_serial *serial = port->serial; struct spcp8x5_private *priv = usb_get_serial_port_data(port); int ret; @@ -459,7 +455,7 @@ /* Setup termios */ if (tty) - spcp8x5_set_termios(tty, port, &tmp_termios); + spcp8x5_set_termios(tty, port, NULL); spcp8x5_get_msr(serial->dev, &status, priv->type); @@ -491,7 +487,7 @@ priv->line_status &= ~UART_STATE_TRANSIENT_MASK; spin_unlock_irqrestore(&priv->lock, flags); /* wake up the wait for termios */ - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); if (!urb->actual_length) return; @@ -541,12 +537,15 @@ while (1) { /* wake up in bulk read */ - interruptible_sleep_on(&priv->delta_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->lock, flags); status = priv->line_status; spin_unlock_irqrestore(&priv->lock, flags); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ssu100.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ssu100.c @@ -65,7 +65,6 @@ spinlock_t status_lock; u8 shadowLSR; u8 shadowMSR; - wait_queue_head_t delta_msr_wait; /* Used for TIOCMIWAIT */ struct async_icount icount; }; @@ -366,8 +365,9 @@ spin_unlock_irqrestore(&priv->status_lock, flags); while (1) { - wait_event_interruptible(priv->delta_msr_wait, - ((priv->icount.rng != prev.rng) || + wait_event_interruptible(port->delta_msr_wait, + (port->serial->disconnected || + (priv->icount.rng != prev.rng) || (priv->icount.dsr != prev.dsr) || (priv->icount.dcd != prev.dcd) || (priv->icount.cts != prev.cts))); @@ -375,6 +375,9 @@ if (signal_pending(current)) return -ERESTARTSYS; + if (port->serial->disconnected) + return -EIO; + spin_lock_irqsave(&priv->status_lock, flags); cur = priv->icount; spin_unlock_irqrestore(&priv->status_lock, flags); @@ -455,7 +458,6 @@ } spin_lock_init(&priv->status_lock); - init_waitqueue_head(&priv->delta_msr_wait); usb_set_serial_port_data(port, priv); return ssu100_initdevice(serial->dev); @@ -505,19 +507,16 @@ { struct usb_device *dev = port->serial->dev; - mutex_lock(&port->serial->disc_mutex); - if (!port->serial->disconnected) { - /* Disable flow control */ - if (!on && - ssu100_setregister(dev, 0, UART_MCR, 0) < 0) + /* Disable flow control */ + if (!on) { + if (ssu100_setregister(dev, 0, UART_MCR, 0) < 0) dev_err(&port->dev, "error from flowcontrol urb\n"); - /* drop RTS and DTR */ - if (on) - set_mctrl(dev, TIOCM_DTR | TIOCM_RTS); - else - clear_mctrl(dev, TIOCM_DTR | TIOCM_RTS); } - mutex_unlock(&port->serial->disc_mutex); + /* drop RTS and DTR */ + if (on) + set_mctrl(dev, TIOCM_DTR | TIOCM_RTS); + else + clear_mctrl(dev, TIOCM_DTR | TIOCM_RTS); } static void ssu100_update_msr(struct usb_serial_port *port, u8 msr) @@ -539,7 +538,7 @@ priv->icount.dcd++; if (msr & UART_MSR_TERI) priv->icount.rng++; - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); } } --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ftdi_sio.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ftdi_sio.c @@ -74,9 +74,7 @@ int flags; /* some ASYNC_xxxx flags are supported */ unsigned long last_dtr_rts; /* saved modem control outputs */ struct async_icount icount; - wait_queue_head_t delta_msr_wait; /* Used for TIOCMIWAIT */ char prev_status; /* Used for TIOCMIWAIT */ - bool dev_gone; /* Used to abort TIOCMIWAIT */ char transmit_empty; /* If transmitter is empty or not */ struct usb_serial_port *port; __u16 interface; /* FT2232C, FT2232H or FT4232H port interface @@ -197,6 +195,10 @@ { USB_DEVICE(FTDI_VID, FTDI_OPENDCC_THROTTLE_PID) }, { USB_DEVICE(FTDI_VID, FTDI_OPENDCC_GATEWAY_PID) }, { USB_DEVICE(FTDI_VID, FTDI_OPENDCC_GBM_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_OPENDCC_GBM_BOOST_PID) }, + { USB_DEVICE(NEWPORT_VID, NEWPORT_AGILIS_PID) }, + { USB_DEVICE(NEWPORT_VID, NEWPORT_CONEX_CC_PID) }, + { USB_DEVICE(NEWPORT_VID, NEWPORT_CONEX_AGP_PID) }, { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SPROG_II) }, @@ -584,9 +586,12 @@ { 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: */ + { USB_DEVICE(FTDI_ELV_VID, FTDI_ELV_WS300_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_USR_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_MSM1_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ELV_KL100_PID) }, @@ -644,6 +649,7 @@ { USB_DEVICE(FTDI_VID, FTDI_RM_CANVIEW_PID) }, { USB_DEVICE(ACTON_VID, ACTON_SPECTRAPRO_PID) }, { USB_DEVICE(CONTEC_VID, CONTEC_COM1USBH_PID) }, + { USB_DEVICE(MITSUBISHI_VID, MITSUBISHI_FXUSB_PID) }, { USB_DEVICE(BANDB_VID, BANDB_USOTL4_PID) }, { USB_DEVICE(BANDB_VID, BANDB_USTL4_PID) }, { USB_DEVICE(BANDB_VID, BANDB_USO9ML2_PID) }, @@ -673,6 +679,7 @@ { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_5_PID) }, { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_6_PID) }, { USB_DEVICE(FTDI_VID, XSENS_CONVERTER_7_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_OMNI1509) }, { USB_DEVICE(MOBILITY_VID, MOBILITY_USB_SERIAL_PID) }, { USB_DEVICE(FTDI_VID, FTDI_ACTIVE_ROBOTS_PID) }, { USB_DEVICE(FTDI_VID, FTDI_MHAM_KW_PID) }, @@ -704,6 +711,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) }, @@ -735,9 +743,34 @@ { USB_DEVICE(FTDI_VID, FTDI_NDI_AURORA_SCU_PID), .driver_info = (kernel_ulong_t)&ftdi_NDI_device_quirk }, { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) }, - { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_SERIAL_VX7_PID) }, - { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_CT29B_PID) }, - { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_RTS01_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_S03_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_59_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_57A_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_57B_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_29A_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_29B_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_29F_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_62B_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_S01_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_63_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_29C_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_81B_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_82B_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_K5D_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_K4Y_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_K5G_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_S05_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_60_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_61_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_62_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_63B_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_64_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_65_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_92_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_92D_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_W5R_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_A5R_PID) }, + { USB_DEVICE(RTSYSTEMS_VID, RTSYSTEMS_USB_PW1_PID) }, { USB_DEVICE(FTDI_VID, FTDI_MAXSTREAM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_PHI_FISCO_PID) }, { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) }, @@ -804,13 +837,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 }, @@ -851,12 +904,16 @@ { USB_DEVICE(FTDI_VID, FTDI_DOTEC_PID) }, { USB_DEVICE(QIHARDWARE_VID, MILKYMISTONE_JTAGSERIAL_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, - { USB_DEVICE(ST_VID, ST_STMCLT1030_PID), + { USB_DEVICE(ST_VID, ST_STMCLT_2232_PID), + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, + { USB_DEVICE(ST_VID, ST_STMCLT_4232_PID), .driver_info = (kernel_ulong_t)&ftdi_stmclite_quirk }, { USB_DEVICE(FTDI_VID, FTDI_RF_R106) }, { USB_DEVICE(FTDI_VID, FTDI_DISTORTEC_JTAG_LOCK_PICK_PID), .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, { USB_DEVICE(FTDI_VID, FTDI_LUMEL_PD12_PID) }, + /* Crucible Devices */ + { USB_DEVICE(FTDI_VID, FTDI_CT_COMET_PID) }, { }, /* Optional parameter entry */ { } /* Terminating entry */ }; @@ -1666,10 +1723,8 @@ kref_init(&priv->kref); mutex_init(&priv->cfg_lock); memset(&priv->icount, 0x00, sizeof(priv->icount)); - init_waitqueue_head(&priv->delta_msr_wait); priv->flags = ASYNC_LOW_LATENCY; - priv->dev_gone = false; if (quirk && quirk->port_probe) quirk->port_probe(priv); @@ -1764,27 +1819,31 @@ struct usb_device *udev = serial->dev; if ((udev->manufacturer && !strcmp(udev->manufacturer, "CALAO Systems")) || - (udev->product && !strcmp(udev->product, "BeagleBone/XDS100"))) + (udev->product && !strcmp(udev->product, "BeagleBone/XDS100V2"))) return ftdi_jtag_probe(serial); return 0; } /* - * First and second port on STMCLiteadaptors is reserved for JTAG interface - * and the forth port for pio + * First two ports on JTAG adaptors using an FT4232 such as STMicroelectronics's + * ST Micro Connect Lite are reserved for JTAG or other non-UART interfaces and + * can be accessed from userspace. + * The next two ports are enabled as UARTs by default, where port 2 is + * a conventional RS-232 UART. */ static int ftdi_stmclite_probe(struct usb_serial *serial) { struct usb_device *udev = serial->dev; struct usb_interface *interface = serial->interface; - if (interface == udev->actconfig->interface[2]) - return 0; - - dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n"); + if (interface == udev->actconfig->interface[0] || + interface == udev->actconfig->interface[1]) { + dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n"); + return -ENODEV; + } - return -ENODEV; + return 0; } /* @@ -1816,8 +1875,7 @@ { struct ftdi_private *priv = usb_get_serial_port_data(port); - priv->dev_gone = true; - wake_up_interruptible_all(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); remove_sysfs_attrs(port); @@ -1862,24 +1920,22 @@ { struct ftdi_private *priv = usb_get_serial_port_data(port); - mutex_lock(&port->serial->disc_mutex); - if (!port->serial->disconnected) { - /* Disable flow control */ - if (!on && usb_control_msg(port->serial->dev, + /* Disable flow control */ + if (!on) { + if (usb_control_msg(port->serial->dev, usb_sndctrlpipe(port->serial->dev, 0), FTDI_SIO_SET_FLOW_CTRL_REQUEST, FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE, 0, priv->interface, NULL, 0, WDR_TIMEOUT) < 0) { - dev_err(&port->dev, "error from flowcontrol urb\n"); + dev_err(&port->dev, "error from flowcontrol urb\n"); } - /* drop RTS and DTR */ - if (on) - set_mctrl(port, TIOCM_DTR | TIOCM_RTS); - else - clear_mctrl(port, TIOCM_DTR | TIOCM_RTS); } - mutex_unlock(&port->serial->disc_mutex); + /* drop RTS and DTR */ + if (on) + set_mctrl(port, TIOCM_DTR | TIOCM_RTS); + else + clear_mctrl(port, TIOCM_DTR | TIOCM_RTS); } /* @@ -1968,7 +2024,7 @@ if (diff_status & FTDI_RS0_RLSD) priv->icount.dcd++; - wake_up_interruptible_all(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); priv->prev_status = status; } @@ -2106,7 +2162,7 @@ cflag = termios->c_cflag; - if (old_termios == 0) + if (!old_termios) goto no_skip; if (old_termios->c_cflag == termios->c_cflag @@ -2367,11 +2423,15 @@ */ case TIOCMIWAIT: cprev = priv->icount; - while (!priv->dev_gone) { - interruptible_sleep_on(&priv->delta_msr_wait); + for (;;) { + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + cnow = priv->icount; if (((arg & TIOCM_RNG) && (cnow.rng != cprev.rng)) || ((arg & TIOCM_DSR) && (cnow.dsr != cprev.dsr)) || @@ -2381,8 +2441,6 @@ } cprev = cnow; } - return -EIO; - break; case TIOCSERGETLSR: return get_lsr_info(port, (struct serial_struct __user *)arg); break; --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/opticon.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/serial/cypress_m8.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/cypress_m8.c @@ -70,6 +70,7 @@ static const struct usb_device_id id_table_cyphidcomrs232[] = { { USB_DEVICE(VENDOR_ID_CYPRESS, PRODUCT_ID_CYPHIDCOM) }, { USB_DEVICE(VENDOR_ID_POWERCOM, PRODUCT_ID_UPS) }, + { USB_DEVICE(VENDOR_ID_FRWD, PRODUCT_ID_CYPHIDCOM_FRWD) }, { } /* Terminating entry */ }; @@ -83,6 +84,7 @@ { USB_DEVICE(VENDOR_ID_DELORME, PRODUCT_ID_EARTHMATEUSB_LT20) }, { USB_DEVICE(VENDOR_ID_CYPRESS, PRODUCT_ID_CYPHIDCOM) }, { USB_DEVICE(VENDOR_ID_POWERCOM, PRODUCT_ID_UPS) }, + { USB_DEVICE(VENDOR_ID_FRWD, PRODUCT_ID_CYPHIDCOM_FRWD) }, { USB_DEVICE(VENDOR_ID_DAZZLE, PRODUCT_ID_CA42) }, { } /* Terminating entry */ }; @@ -116,7 +118,6 @@ int baud_rate; /* stores current baud rate in integer form */ int isthrottled; /* if throttled, discard reads */ - wait_queue_head_t delta_msr_wait; /* used for TIOCMIWAIT */ char prev_status, diff_status; /* used for TIOCMIWAIT */ /* we pass a pointer to this as the argument sent to cypress_set_termios old_termios */ @@ -236,6 +237,12 @@ * Cypress serial helper functions *****************************************************************************/ +/* FRWD Dongle hidcom needs to skip reset and speed checks */ +static inline bool is_frwd(struct usb_device *dev) +{ + return ((le16_to_cpu(dev->descriptor.idVendor) == VENDOR_ID_FRWD) && + (le16_to_cpu(dev->descriptor.idProduct) == PRODUCT_ID_CYPHIDCOM_FRWD)); +} static int analyze_baud_rate(struct usb_serial_port *port, speed_t new_rate) { @@ -245,6 +252,10 @@ if (unstable_bauds) return new_rate; + /* FRWD Dongle uses 115200 bps */ + if (is_frwd(port->serial->dev)) + return new_rate; + /* * The general purpose firmware for the Cypress M8 allows for * a maximum speed of 57600bps (I have no idea whether DeLorme @@ -452,9 +463,12 @@ kfree(priv); return -ENOMEM; } - init_waitqueue_head(&priv->delta_msr_wait); - usb_reset_configuration(serial->dev); + /* Skip reset for FRWD device. It is a workaound: + device hangs if it receives SET_CONFIGURE in Configured + state. */ + if (!is_frwd(serial->dev)) + usb_reset_configuration(serial->dev); priv->cmd_ctrl = 0; priv->line_control = 0; @@ -872,12 +886,16 @@ switch (cmd) { /* This code comes from drivers/char/serial.c and ftdi_sio.c */ case TIOCMIWAIT: - while (priv != NULL) { - interruptible_sleep_on(&priv->delta_msr_wait); + for (;;) { + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; - else { + + if (port->serial->disconnected) + return -EIO; + + { char diff = priv->diff_status; if (diff == 0) return -EIO; /* no change => error */ @@ -1193,7 +1211,7 @@ if (priv->current_status != priv->prev_status) { priv->diff_status |= priv->current_status ^ priv->prev_status; - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); priv->prev_status = priv->current_status; } spin_unlock_irqrestore(&priv->lock, flags); --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ti_usb_3410_5052.h +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ti_usb_3410_5052.h @@ -52,7 +52,9 @@ /* Abbott Diabetics vendor and product ids */ #define ABBOTT_VENDOR_ID 0x1a61 -#define ABBOTT_PRODUCT_ID 0x3410 +#define ABBOTT_STEREO_PLUG_ID 0x3410 +#define ABBOTT_PRODUCT_ID ABBOTT_STEREO_PLUG_ID +#define ABBOTT_STRIP_PORT_ID 0x3420 /* Commands */ #define TI_GET_VERSION 0x01 --- linux-lts-quantal-3.5.0.orig/drivers/usb/serial/ark3116.c +++ linux-lts-quantal-3.5.0/drivers/usb/serial/ark3116.c @@ -49,7 +49,7 @@ #define DRIVER_NAME "ark3116" /* usb timeout of 1 second */ -#define ARK_TIMEOUT (1*HZ) +#define ARK_TIMEOUT 1000 static const struct usb_device_id id_table[] = { { USB_DEVICE(0x6547, 0x0232) }, @@ -68,7 +68,6 @@ } struct ark3116_private { - wait_queue_head_t delta_msr_wait; struct async_icount icount; int irda; /* 1 for irda device */ @@ -148,7 +147,6 @@ if (!priv) return -ENOMEM; - init_waitqueue_head(&priv->delta_msr_wait); mutex_init(&priv->hw_lock); spin_lock_init(&priv->status_lock); @@ -461,10 +459,14 @@ case TIOCMIWAIT: for (;;) { struct async_icount prev = priv->icount; - interruptible_sleep_on(&priv->delta_msr_wait); + interruptible_sleep_on(&port->delta_msr_wait); /* see if a signal did it */ if (signal_pending(current)) return -ERESTARTSYS; + + if (port->serial->disconnected) + return -EIO; + if ((prev.rng == priv->icount.rng) && (prev.dsr == priv->icount.dsr) && (prev.dcd == priv->icount.dcd) && @@ -585,7 +587,7 @@ priv->icount.dcd++; if (msr & UART_MSR_TERI) priv->icount.rng++; - wake_up_interruptible(&priv->delta_msr_wait); + wake_up_interruptible(&port->delta_msr_wait); } } --- linux-lts-quantal-3.5.0.orig/drivers/usb/early/ehci-dbgp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/wusbcore/wa-xfer.c +++ linux-lts-quantal-3.5.0/drivers/usb/wusbcore/wa-xfer.c @@ -1110,6 +1110,12 @@ } spin_lock_irqsave(&xfer->lock, flags); rpipe = xfer->ep->hcpriv; + if (rpipe == NULL) { + pr_debug("%s: xfer id 0x%08X has no RPIPE. %s", + __func__, wa_xfer_id(xfer), + "Probably already aborted.\n" ); + goto out_unlock; + } /* Check the delayed list -> if there, release and complete */ spin_lock_irqsave(&wa->xfer_list_lock, flags2); if (!list_empty(&xfer->list_node) && xfer->seg == NULL) @@ -1493,8 +1499,7 @@ break; } usb_status = xfer_result->bTransferStatus & 0x3f; - if (usb_status == WA_XFER_STATUS_ABORTED - || usb_status == WA_XFER_STATUS_NOT_FOUND) + if (usb_status == WA_XFER_STATUS_NOT_FOUND) /* taken care of already */ break; xfer_id = xfer_result->dwTransferID; --- linux-lts-quantal-3.5.0.orig/drivers/usb/core/hub.c +++ linux-lts-quantal-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) @@ -709,6 +711,15 @@ static inline int hub_clear_tt_buffer (struct usb_device *hdev, u16 devinfo, u16 tt) { + /* Need to clear both directions for control ep */ + if (((devinfo >> 11) & USB_ENDPOINT_XFERTYPE_MASK) == + USB_ENDPOINT_XFER_CONTROL) { + int status = usb_control_msg(hdev, usb_sndctrlpipe(hdev, 0), + HUB_CLEAR_TT_BUFFER, USB_RT_PORT, + devinfo ^ 0x8000, tt, NULL, 0, 1000); + if (status) + return status; + } return usb_control_msg(hdev, usb_sndctrlpipe(hdev, 0), HUB_CLEAR_TT_BUFFER, USB_RT_PORT, devinfo, tt, NULL, 0, 1000); @@ -728,13 +739,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); @@ -862,6 +876,60 @@ return ret; } +static int hub_set_port_link_state(struct usb_hub *hub, int port1, + unsigned int link_status) +{ + return set_port_feature(hub->hdev, + port1 | (link_status << 3), + USB_PORT_FEAT_LINK_STATE); +} + +/* + * If USB 3.0 ports are placed into the Disabled state, they will no longer + * detect any device connects or disconnects. This is generally not what the + * USB core wants, since it expects a disabled port to produce a port status + * change event when a new device connects. + * + * Instead, set the link state to Disabled, wait for the link to settle into + * that state, clear any change bits, and then put the port into the RxDetect + * state. + */ +static int hub_usb3_port_disable(struct usb_hub *hub, int port1) +{ + int ret; + int total_time; + u16 portchange, portstatus; + + if (!hub_is_superspeed(hub->hdev)) + return -EINVAL; + + ret = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_SS_DISABLED); + if (ret) { + dev_err(hub->intfdev, "cannot disable port %d (err = %d)\n", + port1, ret); + return ret; + } + + /* Wait for the link to enter the disabled state. */ + for (total_time = 0; ; total_time += HUB_DEBOUNCE_STEP) { + ret = hub_port_status(hub, port1, &portstatus, &portchange); + if (ret < 0) + return ret; + + if ((portstatus & USB_PORT_STAT_LINK_STATE) == + USB_SS_PORT_LS_SS_DISABLED) + break; + if (total_time >= HUB_DEBOUNCE_TIMEOUT) + break; + msleep(HUB_DEBOUNCE_STEP); + } + if (total_time >= HUB_DEBOUNCE_TIMEOUT) + dev_warn(hub->intfdev, "Could not disable port %d after %d ms\n", + port1, total_time); + + return hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_RX_DETECT); +} + static int hub_port_disable(struct usb_hub *hub, int port1, int set_state) { struct usb_device *hdev = hub->hdev; @@ -870,8 +938,13 @@ if (hdev->children[port1-1] && set_state) usb_set_device_state(hdev->children[port1-1], USB_STATE_NOTATTACHED); - if (!hub->error && !hub_is_superspeed(hub->hdev)) - ret = clear_port_feature(hdev, port1, USB_PORT_FEAT_ENABLE); + if (!hub->error) { + if (hub_is_superspeed(hub->hdev)) + ret = hub_usb3_port_disable(hub, port1); + else + ret = clear_port_feature(hdev, port1, + USB_PORT_FEAT_ENABLE); + } if (ret) dev_err(hub->intfdev, "cannot disable port %d (err = %d)\n", port1, ret); @@ -1199,7 +1272,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 +1344,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 +1723,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 +1738,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 +1753,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 +1768,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 +2249,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 +2302,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 +2313,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 +2326,12 @@ out_unauthorized: usb_unlock_device(usb_dev); + if (product || manufacturer || serial) { + synchronize_rcu(); + kfree(product); + kfree(manufacturer); + kfree(serial); + } return 0; } @@ -2244,6 +2339,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 +2360,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 +2393,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; } @@ -2319,7 +2424,7 @@ #define HUB_SHORT_RESET_TIME 10 #define HUB_BH_RESET_TIME 50 #define HUB_LONG_RESET_TIME 200 -#define HUB_RESET_TIMEOUT 500 +#define HUB_RESET_TIMEOUT 800 static int hub_port_reset(struct usb_hub *hub, int port1, struct usb_device *udev, unsigned int delay, bool warm); @@ -2354,73 +2459,43 @@ if (ret < 0) return ret; - /* - * Some buggy devices require a warm reset to be issued even - * when the port appears not to be connected. + /* The port state is unknown until the reset completes. */ + if ((portstatus & USB_PORT_STAT_RESET)) + goto delay; + + if (hub_port_warm_reset_required(hub, portstatus)) + return -ENOTCONN; + + /* Device went away? */ + if (!(portstatus & USB_PORT_STAT_CONNECTION)) + return -ENOTCONN; + + /* bomb out completely if the connection bounced. A USB 3.0 + * connection may bounce if multiple warm resets were issued, + * but the device may have successfully re-connected. Ignore it. */ - if (!warm) { - /* - * Some buggy devices can cause an NEC host controller - * to transition to the "Error" state after a hot port - * reset. This will show up as the port state in - * "Inactive", and the port may also report a - * disconnect. Forcing a warm port reset seems to make - * the device work. - * - * See https://bugzilla.kernel.org/show_bug.cgi?id=41752 - */ - if (hub_port_warm_reset_required(hub, portstatus)) { - int ret; - - if ((portchange & USB_PORT_STAT_C_CONNECTION)) - clear_port_feature(hub->hdev, port1, - USB_PORT_FEAT_C_CONNECTION); - if (portchange & USB_PORT_STAT_C_LINK_STATE) - clear_port_feature(hub->hdev, port1, - USB_PORT_FEAT_C_PORT_LINK_STATE); - if (portchange & USB_PORT_STAT_C_RESET) - clear_port_feature(hub->hdev, port1, - USB_PORT_FEAT_C_RESET); - dev_dbg(hub->intfdev, "hot reset failed, warm reset port %d\n", - port1); - ret = hub_port_reset(hub, port1, - udev, HUB_BH_RESET_TIME, - true); - if ((portchange & USB_PORT_STAT_C_CONNECTION)) - clear_port_feature(hub->hdev, port1, - USB_PORT_FEAT_C_CONNECTION); - return ret; - } - /* Device went away? */ - if (!(portstatus & USB_PORT_STAT_CONNECTION)) - return -ENOTCONN; - - /* bomb out completely if the connection bounced */ - if ((portchange & USB_PORT_STAT_C_CONNECTION)) - return -ENOTCONN; + if (!hub_is_superspeed(hub->hdev) && + (portchange & USB_PORT_STAT_C_CONNECTION)) + return -ENOTCONN; - /* if we`ve finished resetting, then break out of - * the loop - */ - if (!(portstatus & USB_PORT_STAT_RESET) && - (portstatus & USB_PORT_STAT_ENABLE)) { - if (hub_is_wusb(hub)) - udev->speed = USB_SPEED_WIRELESS; - else if (hub_is_superspeed(hub->hdev)) - udev->speed = USB_SPEED_SUPER; - else if (portstatus & USB_PORT_STAT_HIGH_SPEED) - udev->speed = USB_SPEED_HIGH; - else if (portstatus & USB_PORT_STAT_LOW_SPEED) - udev->speed = USB_SPEED_LOW; - else - udev->speed = USB_SPEED_FULL; - return 0; - } - } else { - if (portchange & USB_PORT_STAT_C_BH_RESET) + if ((portstatus & USB_PORT_STAT_ENABLE)) { + if (!udev) return 0; + + if (hub_is_wusb(hub)) + udev->speed = USB_SPEED_WIRELESS; + else if (hub_is_superspeed(hub->hdev)) + udev->speed = USB_SPEED_SUPER; + else if (portstatus & USB_PORT_STAT_HIGH_SPEED) + udev->speed = USB_SPEED_HIGH; + else if (portstatus & USB_PORT_STAT_LOW_SPEED) + udev->speed = USB_SPEED_LOW; + else + udev->speed = USB_SPEED_FULL; + return 0; } +delay: /* switch to the long delay after two short delay failures */ if (delay_time >= 2 * HUB_SHORT_RESET_TIME) delay = HUB_LONG_RESET_TIME; @@ -2434,41 +2509,39 @@ } static void hub_port_finish_reset(struct usb_hub *hub, int port1, - struct usb_device *udev, int *status, bool warm) + struct usb_device *udev, int *status) { switch (*status) { case 0: - if (!warm) { - struct usb_hcd *hcd; - /* TRSTRCY = 10 ms; plus some extra */ - msleep(10 + 40); + /* TRSTRCY = 10 ms; plus some extra */ + msleep(10 + 40); + if (udev) { + struct usb_hcd *hcd = bus_to_hcd(udev->bus); + update_devnum(udev, 0); - hcd = bus_to_hcd(udev->bus); - if (hcd->driver->reset_device) { - *status = hcd->driver->reset_device(hcd, udev); - if (*status < 0) { - dev_err(&udev->dev, "Cannot reset " - "HCD device state\n"); - break; - } - } + /* The xHC may think the device is already reset, + * so ignore the status. + */ + if (hcd->driver->reset_device) + hcd->driver->reset_device(hcd, udev); } /* FALL THROUGH */ case -ENOTCONN: case -ENODEV: clear_port_feature(hub->hdev, port1, USB_PORT_FEAT_C_RESET); - /* FIXME need disconnect() for NOTATTACHED device */ - if (warm) { + if (hub_is_superspeed(hub->hdev)) { clear_port_feature(hub->hdev, port1, USB_PORT_FEAT_C_BH_PORT_RESET); clear_port_feature(hub->hdev, port1, USB_PORT_FEAT_C_PORT_LINK_STATE); - } else { + clear_port_feature(hub->hdev, port1, + USB_PORT_FEAT_C_CONNECTION); + } + if (udev) usb_set_device_state(udev, *status ? USB_STATE_NOTATTACHED : USB_STATE_DEFAULT); - } break; } } @@ -2478,18 +2551,30 @@ struct usb_device *udev, unsigned int delay, bool warm) { int i, status; + u16 portchange, portstatus; - if (!warm) { - /* Block EHCI CF initialization during the port reset. - * Some companion controllers don't like it when they mix. - */ - down_read(&ehci_cf_port_reset_rwsem); - } else { - if (!hub_is_superspeed(hub->hdev)) { + if (!hub_is_superspeed(hub->hdev)) { + if (warm) { dev_err(hub->intfdev, "only USB3 hub support " "warm reset\n"); return -EINVAL; } + /* Block EHCI CF initialization during the port reset. + * Some companion controllers don't like it when they mix. + */ + down_read(&ehci_cf_port_reset_rwsem); + } else if (!warm) { + /* + * If the caller hasn't explicitly requested a warm reset, + * double check and see if one is needed. + */ + status = hub_port_status(hub, port1, + &portstatus, &portchange); + if (status < 0) + goto done; + + if (hub_port_warm_reset_required(hub, portstatus)) + warm = true; } /* Reset the port */ @@ -2510,10 +2595,33 @@ status); } - /* return on disconnect or reset */ + /* Check for disconnect or reset */ if (status == 0 || status == -ENOTCONN || status == -ENODEV) { - hub_port_finish_reset(hub, port1, udev, &status, warm); - goto done; + hub_port_finish_reset(hub, port1, udev, &status); + + if (!hub_is_superspeed(hub->hdev)) + goto done; + + /* + * If a USB 3.0 device migrates from reset to an error + * state, re-issue the warm reset. + */ + if (hub_port_status(hub, port1, + &portstatus, &portchange) < 0) + goto done; + + if (!hub_port_warm_reset_required(hub, portstatus)) + goto done; + + /* + * If the port is in SS.Inactive or Compliance Mode, the + * hot or warm reset failed. Try another warm reset. + */ + if (!warm) { + dev_dbg(hub->intfdev, "hot reset failed, warm reset port %d\n", + port1); + warm = true; + } } dev_dbg (hub->intfdev, @@ -2527,7 +2635,7 @@ port1); done: - if (!warm) + if (!hub_is_superspeed(hub->hdev)) up_read(&ehci_cf_port_reset_rwsem); return status; @@ -2611,7 +2719,75 @@ 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 +/* + * usb_disable_function_remotewakeup - disable usb3.0 + * device's function remote wakeup + * @udev: target device + * + * Assume there's only one function on the USB 3.0 + * device and disable remote wake for the first + * interface. FIXME if the interface association + * descriptor shows there's more than one function. + */ +static int usb_disable_function_remotewakeup(struct usb_device *udev) +{ + return usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, USB_RECIP_INTERFACE, + USB_INTRF_FUNC_SUSPEND, 0, NULL, 0, + USB_CTRL_SET_TIMEOUT); +} /* * usb_port_suspend - suspend a usb device's upstream port @@ -2698,7 +2874,7 @@ status); /* bail if autosuspend is requested */ if (PMSG_IS_AUTO(msg)) - return status; + goto err_wakeup; } } @@ -2706,10 +2882,17 @@ if (udev->usb2_hw_lpm_enabled == 1) usb_set_usb2_hardware_lpm(udev, 0); + if (usb_disable_ltm(udev)) { + dev_err(&udev->dev, "Failed to disable LTM before suspend\n."); + status = -ENOMEM; + if (PMSG_IS_AUTO(msg)) + goto err_ltm; + } if (usb_unlocked_disable_lpm(udev)) { - dev_err(&udev->dev, "%s Failed to disable LPM before suspend\n.", - __func__); - return -ENOMEM; + dev_err(&udev->dev, "Failed to disable LPM before suspend\n."); + status = -ENOMEM; + if (PMSG_IS_AUTO(msg)) + goto err_lpm3; } /* see 7.1.7.6 */ @@ -2723,20 +2906,32 @@ if (status) { dev_dbg(hub->intfdev, "can't suspend port %d, status %d\n", port1, status); - /* paranoia: "should not happen" */ - if (udev->do_remote_wakeup) - (void) usb_control_msg(udev, usb_sndctrlpipe(udev, 0), - USB_REQ_CLEAR_FEATURE, USB_RECIP_DEVICE, - USB_DEVICE_REMOTE_WAKEUP, 0, - NULL, 0, - USB_CTRL_SET_TIMEOUT); + + /* Try to enable USB3 LPM and LTM again */ + usb_unlocked_enable_lpm(udev); + err_lpm3: + usb_enable_ltm(udev); + err_ltm: /* Try to enable USB2 hardware LPM again */ if (udev->usb2_hw_lpm_capable == 1) usb_set_usb2_hardware_lpm(udev, 1); - /* Try to enable USB3 LPM again */ - usb_unlocked_enable_lpm(udev); + if (udev->do_remote_wakeup) { + if (udev->speed < USB_SPEED_SUPER) + usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, + USB_RECIP_DEVICE, + USB_DEVICE_REMOTE_WAKEUP, 0, + NULL, 0, USB_CTRL_SET_TIMEOUT); + else + usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, + USB_RECIP_INTERFACE, + USB_INTRF_FUNC_SUSPEND, 0, + NULL, 0, USB_CTRL_SET_TIMEOUT); + } + err_wakeup: /* System sleep transitions should never fail */ if (!PMSG_IS_AUTO(msg)) @@ -2767,7 +2962,7 @@ static int finish_port_resume(struct usb_device *udev) { int status = 0; - u16 devstatus; + u16 devstatus = 0; /* caller owns the udev device lock */ dev_dbg(&udev->dev, "%s\n", @@ -2812,21 +3007,37 @@ if (status) { dev_dbg(&udev->dev, "gone after usb resume? status %d\n", status); - } else if (udev->actconfig) { - le16_to_cpus(&devstatus); - if (devstatus & (1 << USB_DEVICE_REMOTE_WAKEUP)) { - status = usb_control_msg(udev, - usb_sndctrlpipe(udev, 0), - USB_REQ_CLEAR_FEATURE, + /* + * There are a few quirky devices which violate the standard + * by claiming to have remote wakeup enabled after a reset, + * which crash if the feature is cleared, hence check for + * udev->reset_resume + */ + } else if (udev->actconfig && !udev->reset_resume) { + if (!hub_is_superspeed(udev->parent)) { + le16_to_cpus(&devstatus); + if (devstatus & (1 << USB_DEVICE_REMOTE_WAKEUP)) + status = usb_control_msg(udev, + usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, USB_RECIP_DEVICE, - USB_DEVICE_REMOTE_WAKEUP, 0, - NULL, 0, - USB_CTRL_SET_TIMEOUT); - if (status) - dev_dbg(&udev->dev, - "disable remote wakeup, status %d\n", - status); + USB_DEVICE_REMOTE_WAKEUP, 0, + NULL, 0, + USB_CTRL_SET_TIMEOUT); + } else { + status = usb_get_status(udev, USB_RECIP_INTERFACE, 0, + &devstatus); + le16_to_cpus(&devstatus); + if (!status && devstatus & (USB_INTRF_STAT_FUNC_RW_CAP + | USB_INTRF_STAT_FUNC_RW)) + status = + usb_disable_function_remotewakeup(udev); } + + if (status) + dev_dbg(&udev->dev, + "disable remote wakeup, status %d\n", + status); status = 0; } return status; @@ -2936,7 +3147,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 +3402,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 +3486,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 +3712,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 @@ -4413,9 +4645,24 @@ * SS.Inactive state. */ if (hub_port_warm_reset_required(hub, portstatus)) { + int status; + struct usb_device *udev = + hub->hdev->children[i - 1]; + dev_dbg(hub_dev, "warm reset port %d\n", i); - hub_port_reset(hub, i, NULL, - HUB_BH_RESET_TIME, true); + if (!udev || !(portstatus & + USB_PORT_STAT_CONNECTION)) { + status = hub_port_reset(hub, i, + NULL, HUB_BH_RESET_TIME, + true); + if (status < 0) + hub_port_disable(hub, i, 1); + } else { + usb_lock_device(udev); + status = usb_reset_device(udev); + usb_unlock_device(udev); + connect_change = 0; + } } if (connect_change) @@ -4672,6 +4919,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 +4963,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 +4979,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 +5017,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-lts-quantal-3.5.0.orig/drivers/usb/core/hcd-pci.c +++ linux-lts-quantal-3.5.0/drivers/usb/core/hcd-pci.c @@ -173,6 +173,7 @@ struct hc_driver *driver; struct usb_hcd *hcd; int retval; + int hcd_irq = 0; if (usb_disabled()) return -ENODEV; @@ -187,15 +188,19 @@ return -ENODEV; dev->current_state = PCI_D0; - /* The xHCI driver supports MSI and MSI-X, - * so don't fail if the BIOS doesn't provide a legacy IRQ. + /* + * The xHCI driver has its own irq management + * make sure irq setup is not touched for xhci in generic hcd code */ - if (!dev->irq && (driver->flags & HCD_MASK) != HCD_USB3) { - dev_err(&dev->dev, - "Found HC with no IRQ. Check BIOS/PCI %s setup!\n", - pci_name(dev)); - retval = -ENODEV; - goto disable_pci; + if ((driver->flags & HCD_MASK) != HCD_USB3) { + if (!dev->irq) { + dev_err(&dev->dev, + "Found HC with no IRQ. Check BIOS/PCI %s setup!\n", + pci_name(dev)); + retval = -ENODEV; + goto disable_pci; + } + hcd_irq = dev->irq; } hcd = usb_create_hcd(driver, &dev->dev, pci_name(dev)); @@ -245,7 +250,7 @@ pci_set_master(dev); - retval = usb_add_hcd(hcd, dev->irq, IRQF_SHARED); + retval = usb_add_hcd(hcd, hcd_irq, IRQF_SHARED); if (retval != 0) goto unmap_registers; set_hs_companion(dev, hcd); --- linux-lts-quantal-3.5.0.orig/drivers/usb/core/driver.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/core/hcd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/core/config.c +++ linux-lts-quantal-3.5.0/drivers/usb/core/config.c @@ -424,7 +424,8 @@ memcpy(&config->desc, buffer, USB_DT_CONFIG_SIZE); if (config->desc.bDescriptorType != USB_DT_CONFIG || - config->desc.bLength < USB_DT_CONFIG_SIZE) { + config->desc.bLength < USB_DT_CONFIG_SIZE || + config->desc.bLength > size) { dev_err(ddev, "invalid descriptor for config index %d: " "type = 0x%X, length = %d\n", cfgidx, config->desc.bDescriptorType, config->desc.bLength); --- linux-lts-quantal-3.5.0.orig/drivers/usb/core/usb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/core/message.c +++ linux-lts-quantal-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,42 +1793,22 @@ * 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); - mutex_unlock(hcd->bandwidth_mutex); - usb_autosuspend_device(dev); - goto free_interfaces; - } - - ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), - USB_REQ_SET_CONFIGURATION, 0, configuration, 0, - NULL, 0, USB_CTRL_SET_TIMEOUT); - if (ret < 0) { - /* All the old state is gone, so what else can we do? - * The device is probably useless now anyway. - */ - cp = NULL; - } - - dev->actconfig = cp; - if (!cp) { - usb_set_device_state(dev, USB_STATE_ADDRESS); - usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL); - usb_enable_lpm(dev); + if (dev->actconfig) + usb_enable_lpm(dev); mutex_unlock(hcd->bandwidth_mutex); usb_autosuspend_device(dev); goto free_interfaces; } - mutex_unlock(hcd->bandwidth_mutex); - usb_set_device_state(dev, USB_STATE_CONFIGURED); - /* Initialize the new interface structures and the + /* + * Initialize the new interface structures and the * hc/hcd/usbcore interface/endpoint state. */ for (i = 0; i < nintf; ++i) { @@ -1870,12 +1852,43 @@ } kfree(new_interfaces); + ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), + USB_REQ_SET_CONFIGURATION, 0, configuration, 0, + NULL, 0, USB_CTRL_SET_TIMEOUT); + if (ret < 0 && cp) { + /* + * All the old state is gone, so what else can we do? + * The device is probably useless now anyway. + */ + usb_hcd_alloc_bandwidth(dev, NULL, NULL, NULL); + for (i = 0; i < nintf; ++i) { + usb_disable_interface(dev, cp->interface[i], true); + put_device(&cp->interface[i]->dev); + cp->interface[i] = NULL; + } + cp = NULL; + } + + dev->actconfig = cp; + mutex_unlock(hcd->bandwidth_mutex); + + if (!cp) { + usb_set_device_state(dev, USB_STATE_ADDRESS); + + /* Leave LPM disabled while the device is unconfigured. */ + usb_autosuspend_device(dev); + return ret; + } + usb_set_device_state(dev, USB_STATE_CONFIGURED); + if (cp->string == NULL && !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) cp->string = usb_cache_string(dev, cp->desc.iConfiguration); /* 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-lts-quantal-3.5.0.orig/drivers/usb/core/devio.c +++ linux-lts-quantal-3.5.0/drivers/usb/core/devio.c @@ -681,7 +681,25 @@ index &= 0xff; switch (requesttype & USB_RECIP_MASK) { case USB_RECIP_ENDPOINT: + if ((index & ~USB_DIR_IN) == 0) + return 0; ret = findintfep(ps->dev, index); + if (ret < 0) { + /* + * Some not fully compliant Win apps seem to get + * index wrong and have the endpoint number here + * rather than the endpoint address (with the + * correct direction). Win does let this through, + * so we'll not reject it here but leave it to + * the device to not break KVM. But we warn. + */ + ret = findintfep(ps->dev, index ^ 0x80); + if (ret >= 0) + dev_info(&ps->dev->dev, + "%s: process %i (%s) requesting ep %02x but needs %02x\n", + __func__, task_pid_nr(current), + current->comm, index, index ^ 0x80); + } if (ret >= 0) ret = checkintf(ps, ret); break; @@ -1604,10 +1622,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-lts-quantal-3.5.0.orig/drivers/usb/core/quirks.c +++ linux-lts-quantal-3.5.0/drivers/usb/core/quirks.c @@ -38,6 +38,9 @@ /* Creative SB Audigy 2 NX */ { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Microsoft LifeCam-VX700 v2.0 */ + { USB_DEVICE(0x045e, 0x0770), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Logitech Webcam C200 */ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, @@ -96,6 +99,16 @@ { 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 }, + + /* CarrolTouch 4000U */ + { USB_DEVICE(0x04e7, 0x0009), .driver_info = USB_QUIRK_RESET_RESUME }, + + /* CarrolTouch 4500U */ + { USB_DEVICE(0x04e7, 0x0030), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Samsung Android phone modem - ID conflict with SPH-I500 */ { USB_DEVICE(0x04e8, 0x6601), .driver_info = USB_QUIRK_CONFIG_INTF_STRINGS }, @@ -106,6 +119,9 @@ /* Edirol SD-20 */ { USB_DEVICE(0x0582, 0x0027), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Alcor Micro Corp. Hub */ + { USB_DEVICE(0x058f, 0x9254), .driver_info = USB_QUIRK_RESET_RESUME }, + /* appletouch */ { USB_DEVICE(0x05ac, 0x021a), .driver_info = USB_QUIRK_RESET_RESUME }, --- linux-lts-quantal-3.5.0.orig/drivers/usb/core/usb.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/core/sysfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/core/devices.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/atm/cxacru.c +++ linux-lts-quantal-3.5.0/drivers/usb/atm/cxacru.c @@ -686,7 +686,8 @@ { int ret, len; __le32 *buf; - int offb, offd; + int offb; + unsigned int offd; const int stride = CMD_PACKET_SIZE / (4 * 2) - 1; int buflen = ((size - 1) / stride + 1 + size * 2) * 4; --- linux-lts-quantal-3.5.0.orig/drivers/usb/atm/ueagle-atm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/misc/emi62.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/misc/adutux.c +++ linux-lts-quantal-3.5.0/drivers/usb/misc/adutux.c @@ -829,7 +829,7 @@ /* let the user know what node this device is now attached to */ dev_info(&interface->dev, "ADU%d %s now attached to /dev/usb/adutux%d\n", - udev->descriptor.idProduct, dev->serial_number, + le16_to_cpu(udev->descriptor.idProduct), dev->serial_number, (dev->minor - ADU_MINOR_BASE)); exit: dbg(2," %s : leave, return value %p (dev)", __func__, dev); --- linux-lts-quantal-3.5.0.orig/drivers/usb/misc/appledisplay.c +++ linux-lts-quantal-3.5.0/drivers/usb/misc/appledisplay.c @@ -63,6 +63,7 @@ { APPLEDISPLAY_DEVICE(0x9219) }, { APPLEDISPLAY_DEVICE(0x921c) }, { APPLEDISPLAY_DEVICE(0x921d) }, + { APPLEDISPLAY_DEVICE(0x9236) }, /* Terminating entry */ { } --- linux-lts-quantal-3.5.0.orig/drivers/usb/misc/sisusbvga/sisusb.c +++ linux-lts-quantal-3.5.0/drivers/usb/misc/sisusbvga/sisusb.c @@ -3247,6 +3247,7 @@ { USB_DEVICE(0x0711, 0x0903) }, { USB_DEVICE(0x0711, 0x0918) }, { USB_DEVICE(0x0711, 0x0920) }, + { USB_DEVICE(0x0711, 0x0950) }, { USB_DEVICE(0x182d, 0x021c) }, { USB_DEVICE(0x182d, 0x0269) }, { } --- linux-lts-quantal-3.5.0.orig/drivers/usb/musb/cppi_dma.c +++ linux-lts-quantal-3.5.0/drivers/usb/musb/cppi_dma.c @@ -1314,6 +1314,7 @@ return IRQ_HANDLED; } +EXPORT_SYMBOL_GPL(cppi_interrupt); /* Instantiate a software object representing a DMA controller. */ struct dma_controller *__init --- linux-lts-quantal-3.5.0.orig/drivers/usb/musb/musb_core.c +++ linux-lts-quantal-3.5.0/drivers/usb/musb/musb_core.c @@ -2402,10 +2402,7 @@ if (usb_disabled()) return 0; - pr_info("%s: version " MUSB_VERSION ", " - "?dma?" - ", " - "otg (peripheral+host)", + pr_info("%s: version " MUSB_VERSION ", ?dma?, otg (peripheral+host)\n", musb_driver_name); return platform_driver_register(&musb_driver); } --- linux-lts-quantal-3.5.0.orig/drivers/usb/musb/am35x.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/storage/usual-tables.c +++ linux-lts-quantal-3.5.0/drivers/usb/storage/usual-tables.c @@ -46,6 +46,20 @@ { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, useProto, useTrans), \ .driver_info = ((useType)<<24) } +/* Define the device is matched with Vendor ID and interface descriptors */ +#define UNUSUAL_VENDOR_INTF(id_vendor, cl, sc, pr, \ + vendorName, productName, useProtocol, useTransport, \ + initFunction, flags) \ +{ \ + .match_flags = USB_DEVICE_ID_MATCH_INT_INFO \ + | USB_DEVICE_ID_MATCH_VENDOR, \ + .idVendor = (id_vendor), \ + .bInterfaceClass = (cl), \ + .bInterfaceSubClass = (sc), \ + .bInterfaceProtocol = (pr), \ + .driver_info = (flags) \ +} + struct usb_device_id usb_storage_usb_ids[] = { # include "unusual_devs.h" { } /* Terminating entry */ @@ -57,6 +71,7 @@ #undef UNUSUAL_DEV #undef COMPLIANT_DEV #undef USUAL_DEV +#undef UNUSUAL_VENDOR_INTF /* --- linux-lts-quantal-3.5.0.orig/drivers/usb/storage/Kconfig +++ linux-lts-quantal-3.5.0/drivers/usb/storage/Kconfig @@ -203,7 +203,7 @@ config USB_UAS tristate "USB Attached SCSI" - depends on USB && SCSI + depends on USB && SCSI && BROKEN help The USB Attached SCSI protocol is supported by some USB storage devices. It permits higher performance by supporting --- linux-lts-quantal-3.5.0.orig/drivers/usb/storage/uas.c +++ linux-lts-quantal-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) -{ - 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; - - 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) +static void uas_data_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; - + 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 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-lts-quantal-3.5.0.orig/drivers/usb/storage/cypress_atacb.c +++ linux-lts-quantal-3.5.0/drivers/usb/storage/cypress_atacb.c @@ -248,14 +248,26 @@ { struct us_data *us; int result; + struct usb_device *device; result = usb_stor_probe1(&us, intf, id, (id - cypress_usb_ids) + cypress_unusual_dev_list); if (result) return result; - us->protocol_name = "Transparent SCSI with Cypress ATACB"; - us->proto_handler = cypress_atacb_passthrough; + /* Among CY7C68300 chips, the A revision does not support Cypress ATACB + * Filter out this revision from EEPROM default descriptor values + */ + device = interface_to_usbdev(intf); + if (device->descriptor.iManufacturer != 0x38 || + device->descriptor.iProduct != 0x4e || + device->descriptor.iSerialNumber != 0x64) { + us->protocol_name = "Transparent SCSI with Cypress ATACB"; + us->proto_handler = cypress_atacb_passthrough; + } else { + us->protocol_name = "Transparent SCSI"; + us->proto_handler = usb_stor_transparent_scsi_command; + } result = usb_stor_probe2(us); return result; --- linux-lts-quantal-3.5.0.orig/drivers/usb/storage/usb.c +++ linux-lts-quantal-3.5.0/drivers/usb/storage/usb.c @@ -120,6 +120,17 @@ .useTransport = use_transport, \ } +#define UNUSUAL_VENDOR_INTF(idVendor, cl, sc, pr, \ + vendor_name, product_name, use_protocol, use_transport, \ + init_function, Flags) \ +{ \ + .vendorName = vendor_name, \ + .productName = product_name, \ + .useProtocol = use_protocol, \ + .useTransport = use_transport, \ + .initFunction = init_function, \ +} + static struct us_unusual_dev us_unusual_dev_list[] = { # include "unusual_devs.h" { } /* Terminating entry */ @@ -131,6 +142,7 @@ #undef UNUSUAL_DEV #undef COMPLIANT_DEV #undef USUAL_DEV +#undef UNUSUAL_VENDOR_INTF #ifdef CONFIG_LOCKDEP --- linux-lts-quantal-3.5.0.orig/drivers/usb/storage/ene_ub6250.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/usb/storage/unusual_devs.h +++ linux-lts-quantal-3.5.0/drivers/usb/storage/unusual_devs.h @@ -488,6 +488,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_MAX_SECTORS_64 | US_FL_BULK_IGNORE_TAG), +/* Added by Dmitry Artamonow */ +UNUSUAL_DEV( 0x04e8, 0x5136, 0x0000, 0x9999, + "Samsung", + "YP-Z3", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_MAX_SECTORS_64), + /* Entry and supporting patch by Theodore Kilgore . * Device uses standards-violating 32-byte Bulk Command Block Wrappers and * reports itself as "Proprietary SCSI Bulk." Cf. device entry 0x084d:0x0011. @@ -650,6 +657,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_FIX_INQUIRY ), +/* Submitted by Ren Bigcren */ +UNUSUAL_DEV( 0x054c, 0x02a5, 0x0100, 0x0100, + "Sony Corp.", + "MicroVault Flash Drive", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_NO_READ_CAPACITY_16 ), + /* floppy reports multiple luns */ UNUSUAL_DEV( 0x055d, 0x2020, 0x0000, 0x0210, "SAMSUNG", @@ -1004,6 +1018,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 +1183,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-lts-quantal-3.5.0.orig/drivers/usb/storage/unusual_cypress.h +++ linux-lts-quantal-3.5.0/drivers/usb/storage/unusual_cypress.h @@ -31,7 +31,7 @@ "Cypress ISD-300LP", USB_SC_CYP_ATACB, USB_PR_DEVICE, NULL, 0), -UNUSUAL_DEV( 0x14cd, 0x6116, 0x0000, 0x9999, +UNUSUAL_DEV( 0x14cd, 0x6116, 0x0000, 0x0219, "Super Top", "USB 2.0 SATA BRIDGE", USB_SC_CYP_ATACB, USB_PR_DEVICE, NULL, 0), --- linux-lts-quantal-3.5.0.orig/drivers/gpio/gpio-lpc32xx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpio/gpiolib.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpio/gpio-ich.c +++ linux-lts-quantal-3.5.0/drivers/gpio/gpio-ich.c @@ -328,6 +328,7 @@ return -ENODEV; } + spin_lock_init(&ichx_priv.lock); res_base = platform_get_resource(pdev, IORESOURCE_IO, ICH_RES_GPIO); if (!res_base || !res_base->start || !res_base->end) return -ENODEV; --- linux-lts-quantal-3.5.0.orig/drivers/gpio/gpio-timberdale.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/gigaset/bas-gigaset.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/gigaset/capi.c +++ linux-lts-quantal-3.5.0/drivers/isdn/gigaset/capi.c @@ -248,6 +248,8 @@ CAPIMSG_APPID(data), CAPIMSG_MSGID(data), l, CAPIMSG_CONTROL(data)); l -= 12; + if (l <= 0) + return; dbgline = kmalloc(3 * l, GFP_ATOMIC); if (!dbgline) return; --- linux-lts-quantal-3.5.0.orig/drivers/isdn/mISDN/layer2.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/mISDN/hwchannel.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/isdnloop/isdnloop.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/hardware/mISDN/avmfritz.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/hardware/mISDN/netjet.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/hardware/mISDN/w6692.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/hardware/mISDN/mISDNisar.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/isdn/hardware/mISDN/mISDNipac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/xen/platform-pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/xen/swiotlb-xen.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/xen/grant-table.c +++ linux-lts-quantal-3.5.0/drivers/xen/grant-table.c @@ -54,10 +54,6 @@ /* External tools reserve first few grant table entries. */ #define NR_RESERVED_ENTRIES 8 #define GNTTAB_LIST_END 0xffffffff -#define GREFS_PER_GRANT_FRAME \ -(grant_table_version == 1 ? \ -(PAGE_SIZE / sizeof(struct grant_entry_v1)) : \ -(PAGE_SIZE / sizeof(union grant_entry_v2))) static grant_ref_t **gnttab_list; static unsigned int nr_grant_frames; @@ -152,6 +148,7 @@ static grant_status_t *grstatus; static int grant_table_version; +static int grefs_per_grant_frame; static struct gnttab_free_callback *gnttab_free_callback_list; @@ -731,9 +728,18 @@ void (*fn)(void *), void *arg, u16 count) { unsigned long flags; + struct gnttab_free_callback *cb; + spin_lock_irqsave(&gnttab_list_lock, flags); - if (callback->next) - goto out; + + /* Check if the callback is already on the list */ + cb = gnttab_free_callback_list; + while (cb) { + if (cb == callback) + goto out; + cb = cb->next; + } + callback->fn = fn; callback->arg = arg; callback->count = count; @@ -766,12 +772,14 @@ unsigned int new_nr_grant_frames, extra_entries, i; unsigned int nr_glist_frames, new_nr_glist_frames; + BUG_ON(grefs_per_grant_frame == 0); + new_nr_grant_frames = nr_grant_frames + more_frames; - extra_entries = more_frames * GREFS_PER_GRANT_FRAME; + extra_entries = more_frames * grefs_per_grant_frame; - nr_glist_frames = (nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP; + nr_glist_frames = (nr_grant_frames * grefs_per_grant_frame + RPP - 1) / RPP; new_nr_glist_frames = - (new_nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP; + (new_nr_grant_frames * grefs_per_grant_frame + RPP - 1) / RPP; for (i = nr_glist_frames; i < new_nr_glist_frames; i++) { gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_ATOMIC); if (!gnttab_list[i]) @@ -779,12 +787,12 @@ } - for (i = GREFS_PER_GRANT_FRAME * nr_grant_frames; - i < GREFS_PER_GRANT_FRAME * new_nr_grant_frames - 1; i++) + for (i = grefs_per_grant_frame * nr_grant_frames; + i < grefs_per_grant_frame * new_nr_grant_frames - 1; i++) gnttab_entry(i) = i + 1; gnttab_entry(i) = gnttab_free_head; - gnttab_free_head = GREFS_PER_GRANT_FRAME * nr_grant_frames; + gnttab_free_head = grefs_per_grant_frame * nr_grant_frames; gnttab_free_count += extra_entries; nr_grant_frames = new_nr_grant_frames; @@ -870,7 +878,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 +897,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; } @@ -902,7 +912,8 @@ static unsigned nr_status_frames(unsigned nr_grant_frames) { - return (nr_grant_frames * GREFS_PER_GRANT_FRAME + SPP - 1) / SPP; + BUG_ON(grefs_per_grant_frame == 0); + return (nr_grant_frames * grefs_per_grant_frame + SPP - 1) / SPP; } static int gnttab_map_frames_v1(unsigned long *frames, unsigned int nr_gframes) @@ -1060,6 +1071,7 @@ rc = HYPERVISOR_grant_table_op(GNTTABOP_set_version, &gsv, 1); if (rc == 0 && gsv.version == 2) { grant_table_version = 2; + grefs_per_grant_frame = PAGE_SIZE / sizeof(union grant_entry_v2); gnttab_interface = &gnttab_v2_ops; } else if (grant_table_version == 2) { /* @@ -1072,17 +1084,17 @@ panic("we need grant tables version 2, but only version 1 is available"); } else { grant_table_version = 1; + grefs_per_grant_frame = PAGE_SIZE / sizeof(struct grant_entry_v1); gnttab_interface = &gnttab_v1_ops; } printk(KERN_INFO "Grant tables using version %d layout.\n", grant_table_version); } -int gnttab_resume(void) +static int gnttab_setup(void) { unsigned int max_nr_gframes; - gnttab_request_version(); max_nr_gframes = gnttab_max_grant_frames(); if (max_nr_gframes < nr_grant_frames) return -ENOSYS; @@ -1105,6 +1117,12 @@ return 0; } +int gnttab_resume(void) +{ + gnttab_request_version(); + return gnttab_setup(); +} + int gnttab_suspend(void) { gnttab_interface->unmap_frames(); @@ -1116,9 +1134,10 @@ int rc; unsigned int cur, extra; + BUG_ON(grefs_per_grant_frame == 0); cur = nr_grant_frames; - extra = ((req_entries + (GREFS_PER_GRANT_FRAME-1)) / - GREFS_PER_GRANT_FRAME); + extra = ((req_entries + (grefs_per_grant_frame-1)) / + grefs_per_grant_frame); if (cur + extra > gnttab_max_grant_frames()) return -ENOSPC; @@ -1136,21 +1155,23 @@ unsigned int nr_init_grefs; int ret; + gnttab_request_version(); nr_grant_frames = 1; boot_max_nr_grant_frames = __max_nr_grant_frames(); /* Determine the maximum number of frames required for the * grant reference free list on the current hypervisor. */ + BUG_ON(grefs_per_grant_frame == 0); max_nr_glist_frames = (boot_max_nr_grant_frames * - GREFS_PER_GRANT_FRAME / RPP); + grefs_per_grant_frame / RPP); gnttab_list = kmalloc(max_nr_glist_frames * sizeof(grant_ref_t *), GFP_KERNEL); if (gnttab_list == NULL) return -ENOMEM; - nr_glist_frames = (nr_grant_frames * GREFS_PER_GRANT_FRAME + RPP - 1) / RPP; + nr_glist_frames = (nr_grant_frames * grefs_per_grant_frame + RPP - 1) / RPP; for (i = 0; i < nr_glist_frames; i++) { gnttab_list[i] = (grant_ref_t *)__get_free_page(GFP_KERNEL); if (gnttab_list[i] == NULL) { @@ -1159,12 +1180,12 @@ } } - if (gnttab_resume() < 0) { + if (gnttab_setup() < 0) { ret = -ENODEV; goto ini_nomem; } - nr_init_grefs = nr_grant_frames * GREFS_PER_GRANT_FRAME; + nr_init_grefs = nr_grant_frames * grefs_per_grant_frame; for (i = NR_RESERVED_ENTRIES; i < nr_init_grefs - 1; i++) gnttab_entry(i) = i + 1; --- linux-lts-quantal-3.5.0.orig/drivers/xen/evtchn.c +++ linux-lts-quantal-3.5.0/drivers/xen/evtchn.c @@ -269,6 +269,14 @@ u->name, (void *)(unsigned long)port); if (rc >= 0) rc = evtchn_make_refcounted(port); + else { + /* bind failed, should close the port now */ + struct evtchn_close close; + close.port = port; + if (HYPERVISOR_event_channel_op(EVTCHNOP_close, &close) != 0) + BUG(); + set_port_user(port, NULL); + } return rc; } @@ -277,6 +285,8 @@ { int irq = irq_from_evtchn(port); + BUG_ON(irq < 0); + unbind_from_irqhandler(irq, (void *)(unsigned long)port); set_port_user(port, NULL); @@ -367,18 +377,12 @@ if (unbind.port >= NR_EVENT_CHANNELS) break; - spin_lock_irq(&port_user_lock); - rc = -ENOTCONN; - if (get_port_user(unbind.port) != u) { - spin_unlock_irq(&port_user_lock); + if (get_port_user(unbind.port) != u) break; - } disable_irq(irq_from_evtchn(unbind.port)); - spin_unlock_irq(&port_user_lock); - evtchn_unbind_from_user(u, unbind.port); rc = 0; @@ -478,26 +482,15 @@ int i; struct per_user_data *u = filp->private_data; - spin_lock_irq(&port_user_lock); - - free_page((unsigned long)u->ring); - for (i = 0; i < NR_EVENT_CHANNELS; i++) { if (get_port_user(i) != u) continue; disable_irq(irq_from_evtchn(i)); - } - - spin_unlock_irq(&port_user_lock); - - for (i = 0; i < NR_EVENT_CHANNELS; i++) { - if (get_port_user(i) != u) - continue; - evtchn_unbind_from_user(get_port_user(i), i); } + free_page((unsigned long)u->ring); kfree(u->name); kfree(u); --- linux-lts-quantal-3.5.0.orig/drivers/xen/events.c +++ linux-lts-quantal-3.5.0/drivers/xen/events.c @@ -324,7 +324,7 @@ for_each_possible_cpu(i) memset(per_cpu(cpu_evtchn_mask, i), - (i == 0) ? ~0 : 0, sizeof(*per_cpu(cpu_evtchn_mask, i))); + (i == 0) ? ~0 : 0, NR_EVENT_CHANNELS/8); } static inline void clear_evtchn(int port) @@ -1267,7 +1267,7 @@ { int start_word_idx, start_bit_idx; int word_idx, bit_idx; - int i; + int i, irq; int cpu = get_cpu(); struct shared_info *s = HYPERVISOR_shared_info; struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); @@ -1275,6 +1275,8 @@ do { unsigned long pending_words; + unsigned long pending_bits; + struct irq_desc *desc; vcpu_info->evtchn_upcall_pending = 0; @@ -1285,6 +1287,17 @@ /* Clear master flag /before/ clearing selector flag. */ wmb(); #endif + if ((irq = per_cpu(virq_to_irq, cpu)[VIRQ_TIMER]) != -1) { + int evtchn = evtchn_from_irq(irq); + word_idx = evtchn / BITS_PER_LONG; + pending_bits = evtchn % BITS_PER_LONG; + if (active_evtchns(cpu, s, word_idx) & (1ULL << pending_bits)) { + desc = irq_to_desc(irq); + if (desc) + generic_handle_irq_desc(irq, desc); + } + } + pending_words = xchg(&vcpu_info->evtchn_pending_sel, 0); start_word_idx = __this_cpu_read(current_word_idx); @@ -1293,7 +1306,6 @@ word_idx = start_word_idx; for (i = 0; pending_words != 0; i++) { - unsigned long pending_bits; unsigned long words; words = MASK_LSBS(pending_words, word_idx); @@ -1322,8 +1334,7 @@ do { unsigned long bits; - int port, irq; - struct irq_desc *desc; + int port; bits = MASK_LSBS(pending_bits, bit_idx); @@ -1374,8 +1385,8 @@ { struct pt_regs *old_regs = set_irq_regs(regs); - exit_idle(); irq_enter(); + exit_idle(); __xen_evtchn_do_upcall(); @@ -1420,8 +1431,10 @@ /* Rebind an evtchn so that it gets delivered to a specific cpu */ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu) { + struct shared_info *s = HYPERVISOR_shared_info; struct evtchn_bind_vcpu bind_vcpu; int evtchn = evtchn_from_irq(irq); + int masked; if (!VALID_EVTCHN(evtchn)) return -1; @@ -1438,6 +1451,12 @@ bind_vcpu.vcpu = tcpu; /* + * Mask the event while changing the VCPU binding to prevent + * it being delivered on an unexpected VCPU. + */ + masked = sync_test_and_set_bit(evtchn, s->evtchn_mask); + + /* * If this fails, it usually just indicates that we're dealing with a * virq or IPI channel, which don't actually need to be rebound. Ignore * it, but don't do the xenlinux-level rebind in that case. @@ -1445,6 +1464,9 @@ if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_vcpu, &bind_vcpu) >= 0) bind_evtchn_to_cpu(evtchn, tcpu); + if (!masked) + unmask_evtchn(evtchn); + return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/xen/gntdev.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/xen/xenbus/xenbus_client.c +++ linux-lts-quantal-3.5.0/drivers/xen/xenbus/xenbus_client.c @@ -30,6 +30,7 @@ * IN THE SOFTWARE. */ +#include #include #include #include --- linux-lts-quantal-3.5.0.orig/drivers/xen/xen-pciback/pciback_ops.c +++ linux-lts-quantal-3.5.0/drivers/xen/xen-pciback/pciback_ops.c @@ -113,7 +113,8 @@ if (dev->msi_enabled) pci_disable_msi(dev); #endif - pci_disable_device(dev); + if (pci_is_enabled(dev)) + pci_disable_device(dev); pci_write_config_word(dev, PCI_COMMAND, 0); @@ -135,7 +136,6 @@ struct pci_dev *dev, struct xen_pci_op *op) { struct xen_pcibk_dev_data *dev_data; - int otherend = pdev->xdev->otherend_id; int status; if (unlikely(verbose_request)) @@ -144,8 +144,9 @@ status = pci_enable_msi(dev); if (status) { - printk(KERN_ERR "error enable msi for guest %x status %x\n", - otherend, status); + pr_warn_ratelimited(DRV_NAME ": %s: error enabling MSI for guest %u: err %d\n", + pci_name(dev), pdev->xdev->otherend_id, + status); op->value = 0; return XEN_PCI_ERR_op_failed; } @@ -223,10 +224,10 @@ pci_name(dev), i, op->msix_entries[i].vector); } - } else { - printk(KERN_WARNING DRV_NAME ": %s: failed to enable MSI-X: err %d!\n", - pci_name(dev), result); - } + } else + pr_warn_ratelimited(DRV_NAME ": %s: error enabling MSI-X for guest %u: err %d!\n", + pci_name(dev), pdev->xdev->otherend_id, + result); kfree(entries); op->value = result; --- linux-lts-quantal-3.5.0.orig/drivers/xen/xen-pciback/pci_stub.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/ata/Kconfig +++ linux-lts-quantal-3.5.0/drivers/ata/Kconfig @@ -93,7 +93,7 @@ If unsure, say N. config SATA_INIC162X - tristate "Initio 162x SATA support" + tristate "Initio 162x SATA support (Very Experimental)" depends on PCI help This option enables support for Initio 162x Serial ATA. @@ -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-lts-quantal-3.5.0.orig/drivers/ata/ahci_platform.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/ata/libata-scsi.c +++ linux-lts-quantal-3.5.0/drivers/ata/libata-scsi.c @@ -309,7 +309,8 @@ struct ata_port *ap = ata_shost_to_port(sdev->host); struct ata_device *atadev = ata_scsi_find_dev(ap, sdev); - if (ap->ops->sw_activity_show && (ap->flags & ATA_FLAG_SW_ACTIVITY)) + if (atadev && ap->ops->sw_activity_show && + (ap->flags & ATA_FLAG_SW_ACTIVITY)) return ap->ops->sw_activity_show(atadev, buf); return -EINVAL; } @@ -324,7 +325,8 @@ enum sw_activity val; int rc; - if (ap->ops->sw_activity_store && (ap->flags & ATA_FLAG_SW_ACTIVITY)) { + if (atadev && ap->ops->sw_activity_store && + (ap->flags & ATA_FLAG_SW_ACTIVITY)) { val = simple_strtoul(buf, NULL, 0); switch (val) { case OFF: case BLINK_ON: case BLINK_OFF: --- linux-lts-quantal-3.5.0.orig/drivers/ata/sata_fsl.c +++ linux-lts-quantal-3.5.0/drivers/ata/sata_fsl.c @@ -290,6 +290,7 @@ { struct sata_fsl_host_priv *host_priv = host->private_data; void __iomem *hcr_base = host_priv->hcr_base; + unsigned long flags; if (count > ICC_MAX_INT_COUNT_THRESHOLD) count = ICC_MAX_INT_COUNT_THRESHOLD; @@ -302,12 +303,12 @@ (count > ICC_MIN_INT_COUNT_THRESHOLD)) ticks = ICC_SAFE_INT_TICKS; - spin_lock(&host->lock); + spin_lock_irqsave(&host->lock, flags); iowrite32((count << 24 | ticks), hcr_base + ICC); intr_coalescing_count = count; intr_coalescing_ticks = ticks; - spin_unlock(&host->lock); + spin_unlock_irqrestore(&host->lock, flags); DPRINTK("intrrupt coalescing, count = 0x%x, ticks = %x\n", intr_coalescing_count, intr_coalescing_ticks); --- linux-lts-quantal-3.5.0.orig/drivers/ata/ata_piix.c +++ linux-lts-quantal-3.5.0/drivers/ata/ata_piix.c @@ -150,6 +150,8 @@ tolapai_sata, piix_pata_vmw, /* PIIX4 for VMware, spurious DMA_ERR */ ich8_sata_snb, + ich8_2port_sata_snb, + ich8_2port_sata_byt, }; struct piix_map_db { @@ -326,11 +328,41 @@ /* SATA Controller IDE (Lynx Point) */ { 0x8086, 0x8c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, /* SATA Controller IDE (Lynx Point) */ - { 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + { 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb }, /* SATA Controller IDE (Lynx Point) */ { 0x8086, 0x8c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (Lynx Point-LP) */ + { 0x8086, 0x9c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, + /* SATA Controller IDE (Lynx Point-LP) */ + { 0x8086, 0x9c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, + /* SATA Controller IDE (Lynx Point-LP) */ + { 0x8086, 0x9c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (Lynx Point-LP) */ + { 0x8086, 0x9c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, /* SATA Controller IDE (DH89xxCC) */ { 0x8086, 0x2326, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (Avoton) */ + { 0x8086, 0x1f20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, + /* SATA Controller IDE (Avoton) */ + { 0x8086, 0x1f21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, + /* SATA Controller IDE (Avoton) */ + { 0x8086, 0x1f30, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (Avoton) */ + { 0x8086, 0x1f31, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (Wellsburg) */ + { 0x8086, 0x8d00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, + /* SATA Controller IDE (Wellsburg) */ + { 0x8086, 0x8d08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb }, + /* SATA Controller IDE (Wellsburg) */ + { 0x8086, 0x8d60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb }, + /* SATA Controller IDE (Wellsburg) */ + { 0x8086, 0x8d68, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + /* SATA Controller IDE (BayTrail) */ + { 0x8086, 0x0F20, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_byt }, + { 0x8086, 0x0F21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_byt }, + /* SATA Controller IDE (Coleto Creek) */ + { 0x8086, 0x23a6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, + { } /* terminate list */ }; @@ -494,6 +526,8 @@ [ich8m_apple_sata] = &ich8m_apple_map_db, [tolapai_sata] = &tolapai_map_db, [ich8_sata_snb] = &ich8_map_db, + [ich8_2port_sata_snb] = &ich8_2port_map_db, + [ich8_2port_sata_byt] = &ich8_2port_map_db, }; static struct ata_port_info piix_port_info[] = { @@ -635,6 +669,24 @@ .port_ops = &piix_sata_ops, }, + [ich8_2port_sata_snb] = + { + .flags = PIIX_SATA_FLAGS | PIIX_FLAG_SIDPR + | PIIX_FLAG_PIO16, + .pio_mask = ATA_PIO4, + .mwdma_mask = ATA_MWDMA2, + .udma_mask = ATA_UDMA6, + .port_ops = &piix_sata_ops, + }, + + [ich8_2port_sata_byt] = + { + .flags = PIIX_SATA_FLAGS | PIIX_FLAG_SIDPR | PIIX_FLAG_PIO16, + .pio_mask = ATA_PIO4, + .mwdma_mask = ATA_MWDMA2, + .udma_mask = ATA_UDMA6, + .port_ops = &piix_sata_ops, + }, }; static struct pci_bits piix_enable_bits[] = { @@ -1577,12 +1629,31 @@ }, { } /* terminate list */ }; - const struct dmi_system_id *dmi = dmi_first_match(ignore_hyperv); + static const struct dmi_system_id allow_virtual_pc[] = { + { + /* In MS Virtual PC guests the DMI ident is nearly + * identical to a Hyper-V guest. One difference is the + * product version which is used here to identify + * a Virtual PC guest. This entry allows ata_piix to + * drive the emulated hardware. + */ + .ident = "MS Virtual PC 2007", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, + "Microsoft Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"), + DMI_MATCH(DMI_PRODUCT_VERSION, "VS2005R2"), + }, + }, + { } /* terminate list */ + }; + const struct dmi_system_id *ignore = dmi_first_match(ignore_hyperv); + const struct dmi_system_id *allow = dmi_first_match(allow_virtual_pc); - if (dmi && prefer_ms_hyperv) { + if (ignore && !allow && prefer_ms_hyperv) { host->flags |= ATA_HOST_IGNORE_ATA; dev_info(host->dev, "%s detected, ATA device ignore set\n", - dmi->ident); + ignore->ident); } #endif } @@ -1719,10 +1790,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 +1816,6 @@ pci_unregister_driver(&piix_pci_driver); } +module_param(disable_driver, bool, 0); module_init(piix_init); module_exit(piix_exit); --- linux-lts-quantal-3.5.0.orig/drivers/ata/libahci.c +++ linux-lts-quantal-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) @@ -1543,8 +1544,7 @@ u32 fbs = readl(port_mmio + PORT_FBS); int pmp = fbs >> PORT_FBS_DWE_OFFSET; - if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links) && - ata_link_online(&ap->pmp_link[pmp])) { + if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links)) { link = &ap->pmp_link[pmp]; fbs_need_dec = true; } --- linux-lts-quantal-3.5.0.orig/drivers/ata/sata_inic162x.c +++ linux-lts-quantal-3.5.0/drivers/ata/sata_inic162x.c @@ -6,6 +6,18 @@ * * This file is released under GPL v2. * + * **** WARNING **** + * + * This driver never worked properly and unfortunately data corruption is + * relatively common. There isn't anyone working on the driver and there's + * no support from the vendor. Do not use this driver in any production + * environment. + * + * http://thread.gmane.org/gmane.linux.debian.devel.bugs.rc/378525/focus=54491 + * https://bugzilla.kernel.org/show_bug.cgi?id=60565 + * + * ***************** + * * This controller is eccentric and easily locks up if something isn't * right. Documentation is available at initio's website but it only * documents registers (not programming model). @@ -809,6 +821,8 @@ ata_print_version_once(&pdev->dev, DRV_VERSION); + dev_alert(&pdev->dev, "inic162x support is broken with common data corruption issues and will be disabled by default, contact linux-ide@vger.kernel.org if in production use\n"); + /* alloc host */ host = ata_host_alloc_pinfo(&pdev->dev, ppi, NR_PORTS); hpriv = devm_kzalloc(&pdev->dev, sizeof(*hpriv), GFP_KERNEL); --- linux-lts-quantal-3.5.0.orig/drivers/ata/ahci.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/ata/ahci.c +++ linux-lts-quantal-3.5.0/drivers/ata/ahci.c @@ -53,6 +53,7 @@ enum { AHCI_PCI_BAR_STA2X11 = 0, + AHCI_PCI_BAR_ENMOTUS = 2, AHCI_PCI_BAR_STANDARD = 5, }; @@ -267,6 +268,39 @@ { PCI_VDEVICE(INTEL, 0x8c07), board_ahci }, /* Lynx Point RAID */ { PCI_VDEVICE(INTEL, 0x8c0e), board_ahci }, /* Lynx Point RAID */ { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci }, /* Lynx Point RAID */ + { PCI_VDEVICE(INTEL, 0x9c02), board_ahci }, /* Lynx Point-LP AHCI */ + { PCI_VDEVICE(INTEL, 0x9c03), board_ahci }, /* Lynx Point-LP AHCI */ + { PCI_VDEVICE(INTEL, 0x9c04), board_ahci }, /* Lynx Point-LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c05), board_ahci }, /* Lynx Point-LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c06), board_ahci }, /* Lynx Point-LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c07), board_ahci }, /* Lynx Point-LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci }, /* Lynx Point-LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci }, /* Lynx Point-LP RAID */ + { PCI_VDEVICE(INTEL, 0x1f22), board_ahci }, /* Avoton AHCI */ + { PCI_VDEVICE(INTEL, 0x1f23), board_ahci }, /* Avoton AHCI */ + { PCI_VDEVICE(INTEL, 0x1f24), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f25), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f26), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f27), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f2e), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f2f), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f32), board_ahci }, /* Avoton AHCI */ + { PCI_VDEVICE(INTEL, 0x1f33), board_ahci }, /* Avoton AHCI */ + { PCI_VDEVICE(INTEL, 0x1f34), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f35), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f36), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f37), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f3e), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x1f3f), board_ahci }, /* Avoton RAID */ + { PCI_VDEVICE(INTEL, 0x8d02), board_ahci }, /* Wellsburg AHCI */ + { PCI_VDEVICE(INTEL, 0x8d04), board_ahci }, /* Wellsburg RAID */ + { PCI_VDEVICE(INTEL, 0x8d06), board_ahci }, /* Wellsburg RAID */ + { PCI_VDEVICE(INTEL, 0x8d0e), board_ahci }, /* Wellsburg RAID */ + { PCI_VDEVICE(INTEL, 0x8d62), board_ahci }, /* Wellsburg AHCI */ + { PCI_VDEVICE(INTEL, 0x8d64), board_ahci }, /* Wellsburg RAID */ + { PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */ + { PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */ + { PCI_VDEVICE(INTEL, 0x23a3), board_ahci }, /* Coleto Creek AHCI */ /* JMicron 360/1/3/5/6, match class to avoid IDE function */ { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, @@ -283,6 +317,7 @@ /* AMD */ { PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD Hudson-2 */ + { PCI_VDEVICE(AMD, 0x7900), board_ahci }, /* AMD CZ */ /* AMD is using RAID class only for ahci controllers */ { PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, @@ -396,6 +431,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 }, @@ -403,7 +440,13 @@ { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ /* Asmedia */ - { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1061 */ + { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci }, /* ASM1060 */ + { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci }, /* ASM1060 */ + { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */ + { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */ + + /* Enmotus */ + { PCI_DEVICE(0x1c44, 0x8000), board_ahci }, /* Generic, PCI class code for AHCI */ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, @@ -1077,9 +1120,11 @@ dev_info(&pdev->dev, "PDC42819 can only drive SATA devices with this driver\n"); - /* The Connext uses non-standard BAR */ + /* Both Connext and Enmotus devices use non-standard BARs */ if (pdev->vendor == PCI_VENDOR_ID_STMICRO && pdev->device == 0xCC06) ahci_pci_bar = AHCI_PCI_BAR_STA2X11; + else if (pdev->vendor == 0x1c44 && pdev->device == 0x8000) + ahci_pci_bar = AHCI_PCI_BAR_ENMOTUS; /* acquire resources */ rc = pcim_enable_device(pdev); --- linux-lts-quantal-3.5.0.orig/drivers/ata/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/ata/libata-core.c +++ linux-lts-quantal-3.5.0/drivers/ata/libata-core.c @@ -1599,6 +1599,12 @@ qc->tf = *tf; if (cdb) memcpy(qc->cdb, cdb, ATAPI_CDB_LEN); + + /* some SATA bridges need us to indicate data xfer direction */ + if (tf->protocol == ATAPI_PROT_DMA && (dev->flags & ATA_DFLAG_DMADIR) && + dma_dir == DMA_FROM_DEVICE) + qc->tf.feature |= ATAPI_DMADIR; + qc->flags |= ATA_QCFLAG_RESULT_TF; qc->dma_dir = dma_dir; if (dma_dir != DMA_NONE) { @@ -2408,6 +2414,9 @@ dev->max_sectors = min_t(unsigned int, ATA_MAX_SECTORS_128, dev->max_sectors); + if (dev->horkage & ATA_HORKAGE_MAX_SEC_LBA48) + dev->max_sectors = ATA_MAX_SECTORS_LBA48; + if (ap->ops->dev_config) ap->ops->dev_config(dev); @@ -2536,6 +2545,7 @@ * bus as we may be talking too fast. */ dev->pio_mode = XFER_PIO_0; + dev->dma_mode = 0xff; /* If the controller has a pio mode setup function * then use it to set the chipset to rights. Don't @@ -4064,6 +4074,7 @@ /* Weird ATAPI devices */ { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, { "QUANTUM DAT DAT72-000", NULL, ATA_HORKAGE_ATAPI_MOD16_DMA }, + { "Slimtype DVD A DS8A8SH", NULL, ATA_HORKAGE_MAX_SEC_LBA48 }, /* Devices we expect to fail diagnostics */ @@ -4126,6 +4137,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-lts-quantal-3.5.0.orig/drivers/ata/sata_highbank.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/ata/libata-eh.c +++ linux-lts-quantal-3.5.0/drivers/ata/libata-eh.c @@ -2057,7 +2057,7 @@ */ static inline int ata_eh_worth_retry(struct ata_queued_cmd *qc) { - if (qc->flags & AC_ERR_MEDIA) + if (qc->err_mask & AC_ERR_MEDIA) return 0; /* don't retry media errors */ if (qc->flags & ATA_QCFLAG_IO) return 1; /* otherwise retry anything from fs stack */ @@ -2618,6 +2618,7 @@ * bus as we may be talking too fast. */ dev->pio_mode = XFER_PIO_0; + dev->dma_mode = 0xff; /* If the controller has a pio mode setup function * then use it to set the chipset to rights. Don't --- linux-lts-quantal-3.5.0.orig/drivers/ata/sata_promise.c +++ linux-lts-quantal-3.5.0/drivers/ata/sata_promise.c @@ -147,6 +147,10 @@ dma_addr_t pkt_dma; }; +struct pdc_host_priv { + spinlock_t hard_reset_lock; +}; + static int pdc_sata_scr_read(struct ata_link *link, unsigned int sc_reg, u32 *val); static int pdc_sata_scr_write(struct ata_link *link, unsigned int sc_reg, u32 val); static int pdc_ata_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); @@ -801,9 +805,10 @@ void __iomem *host_mmio = ap->host->iomap[PDC_MMIO_BAR]; void __iomem *pcictl_b1_mmio = host_mmio + PDC_PCI_CTL + 1; unsigned int ata_no = pdc_ata_port_to_ata_no(ap); + struct pdc_host_priv *hpriv = ap->host->private_data; u8 tmp; - spin_lock(&ap->host->lock); + spin_lock(&hpriv->hard_reset_lock); tmp = readb(pcictl_b1_mmio); tmp &= ~(0x10 << ata_no); @@ -814,7 +819,7 @@ writeb(tmp, pcictl_b1_mmio); readb(pcictl_b1_mmio); /* flush */ - spin_unlock(&ap->host->lock); + spin_unlock(&hpriv->hard_reset_lock); } static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class, @@ -1182,6 +1187,7 @@ const struct ata_port_info *pi = &pdc_port_info[ent->driver_data]; const struct ata_port_info *ppi[PDC_MAX_PORTS]; struct ata_host *host; + struct pdc_host_priv *hpriv; void __iomem *host_mmio; int n_ports, i, rc; int is_sataii_tx4; @@ -1218,6 +1224,11 @@ dev_err(&pdev->dev, "failed to allocate host\n"); return -ENOMEM; } + hpriv = devm_kzalloc(&pdev->dev, sizeof *hpriv, GFP_KERNEL); + if (!hpriv) + return -ENOMEM; + spin_lock_init(&hpriv->hard_reset_lock); + host->private_data = hpriv; host->iomap = pcim_iomap_table(pdev); is_sataii_tx4 = pdc_is_sataii_tx4(pi->flags); --- linux-lts-quantal-3.5.0.orig/drivers/ata/sata_svw.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/ata/libata-pmp.c +++ linux-lts-quantal-3.5.0/drivers/ata/libata-pmp.c @@ -289,24 +289,24 @@ /* Disable sending Early R_OK. * With "cached read" HDD testing and multiple ports busy on a SATA - * host controller, 3726 PMP will very rarely drop a deferred + * host controller, 3x26 PMP will very rarely drop a deferred * R_OK that was intended for the host. Symptom will be all * 5 drives under test will timeout, get reset, and recover. */ - if (vendor == 0x1095 && devid == 0x3726) { + if (vendor == 0x1095 && (devid == 0x3726 || devid == 0x3826)) { u32 reg; err_mask = sata_pmp_read(&ap->link, PMP_GSCR_SII_POL, ®); if (err_mask) { rc = -EIO; - reason = "failed to read Sil3726 Private Register"; + reason = "failed to read Sil3x26 Private Register"; goto fail; } reg &= ~0x1; err_mask = sata_pmp_write(&ap->link, PMP_GSCR_SII_POL, reg); if (err_mask) { rc = -EIO; - reason = "failed to write Sil3726 Private Register"; + reason = "failed to write Sil3x26 Private Register"; goto fail; } } @@ -383,15 +383,19 @@ u16 devid = sata_pmp_gscr_devid(gscr); struct ata_link *link; - if (vendor == 0x1095 && devid == 0x3726) { - /* sil3726 quirks */ + if (vendor == 0x1095 && (devid == 0x3726 || devid == 0x3826)) { + /* sil3x26 quirks */ ata_for_each_link(link, ap, EDGE) { /* link reports offline after LPM */ link->flags |= ATA_LFLAG_NO_LPM; - /* Class code report is unreliable. */ + /* + * Class code report is unreliable and SRST times + * out under certain configurations. + */ if (link->pmp < 5) - link->flags |= ATA_LFLAG_ASSUME_ATA; + link->flags |= ATA_LFLAG_NO_SRST | + ATA_LFLAG_ASSUME_ATA; /* port 5 is for SEMB device and it doesn't like SRST */ if (link->pmp == 5) @@ -399,20 +403,17 @@ ATA_LFLAG_ASSUME_SEMB; } } else if (vendor == 0x1095 && devid == 0x4723) { - /* sil4723 quirks */ - ata_for_each_link(link, ap, EDGE) { - /* link reports offline after LPM */ - link->flags |= ATA_LFLAG_NO_LPM; - - /* class code report is unreliable */ - if (link->pmp < 2) - link->flags |= ATA_LFLAG_ASSUME_ATA; - - /* the config device at port 2 locks up on SRST */ - if (link->pmp == 2) - link->flags |= ATA_LFLAG_NO_SRST | - ATA_LFLAG_ASSUME_ATA; - } + /* + * sil4723 quirks + * + * Link reports offline after LPM. Class code report is + * unreliable. SIMG PMPs never got SRST reliable and the + * config device at port 2 locks up on SRST. + */ + ata_for_each_link(link, ap, EDGE) + link->flags |= ATA_LFLAG_NO_LPM | + ATA_LFLAG_NO_SRST | + ATA_LFLAG_ASSUME_ATA; } else if (vendor == 0x1095 && devid == 0x4726) { /* sil4726 quirks */ ata_for_each_link(link, ap, EDGE) { --- linux-lts-quantal-3.5.0.orig/drivers/bluetooth/btmrvl_main.c +++ linux-lts-quantal-3.5.0/drivers/bluetooth/btmrvl_main.c @@ -496,6 +496,10 @@ add_wait_queue(&thread->wait_q, &wait); set_current_state(TASK_INTERRUPTIBLE); + if (kthread_should_stop()) { + BT_DBG("main_thread: break from main thread"); + break; + } if (adapter->wakeup_tries || ((!adapter->int_count) && @@ -511,11 +515,6 @@ BT_DBG("main_thread woke up"); - if (kthread_should_stop()) { - BT_DBG("main_thread: break from main thread"); - break; - } - spin_lock_irqsave(&priv->driver_lock, flags); if (adapter->int_count) { adapter->int_count = 0; --- linux-lts-quantal-3.5.0.orig/drivers/bluetooth/ath3k.c +++ linux-lts-quantal-3.5.0/drivers/bluetooth/ath3k.c @@ -67,24 +67,42 @@ { 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) }, /* Atheros AR3012 with sflash firmware*/ + { USB_DEVICE(0x0CF3, 0x0036) }, { USB_DEVICE(0x0CF3, 0x3004) }, + { USB_DEVICE(0x0CF3, 0x3008) }, { USB_DEVICE(0x0CF3, 0x311D) }, + { USB_DEVICE(0x0CF3, 0x817a) }, { USB_DEVICE(0x13d3, 0x3375) }, + { USB_DEVICE(0x04CA, 0x3004) }, { USB_DEVICE(0x04CA, 0x3005) }, + { USB_DEVICE(0x04CA, 0x3006) }, + { USB_DEVICE(0x04CA, 0x3008) }, { USB_DEVICE(0x13d3, 0x3362) }, { USB_DEVICE(0x0CF3, 0xE004) }, + { USB_DEVICE(0x0CF3, 0xE005) }, { USB_DEVICE(0x0930, 0x0219) }, + { USB_DEVICE(0x0489, 0xe057) }, + { USB_DEVICE(0x13d3, 0x3393) }, + { USB_DEVICE(0x0489, 0xe04e) }, + { USB_DEVICE(0x0489, 0xe056) }, + { USB_DEVICE(0x0489, 0xe04d) }, + { USB_DEVICE(0x04c5, 0x1330) }, + { USB_DEVICE(0x13d3, 0x3402) }, + { USB_DEVICE(0x0cf3, 0x3121) }, + { USB_DEVICE(0x0cf3, 0xe003) }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xE02C) }, /* Atheros AR5BBU22 with sflash firmware */ { USB_DEVICE(0x0489, 0xE03C) }, + { USB_DEVICE(0x0489, 0xE036) }, { } /* Terminating entry */ }; @@ -97,16 +115,33 @@ static struct usb_device_id ath3k_blist_tbl[] = { /* Atheros AR3012 with sflash firmware*/ + { USB_DEVICE(0x0CF3, 0x0036), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x311D), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0CF3, 0x817a), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe005), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe003), .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-lts-quantal-3.5.0.orig/drivers/bluetooth/btusb.c +++ linux-lts-quantal-3.5.0/drivers/bluetooth/btusb.c @@ -31,6 +31,8 @@ #include #include +#include +#include #include #include @@ -55,11 +57,18 @@ #define BTUSB_BROKEN_ISOC 0x20 #define BTUSB_WRONG_SCO_MTU 0x40 #define BTUSB_ATH3012 0x80 +#define BTUSB_BCM_PATCHRAM 0x800 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) }, + + /* MediaTek MT76x0E */ + { USB_DEVICE(0x0e8d, 0x763f) }, + /* Broadcom SoftSailing reporting vendor specific */ { USB_DEVICE(0x0a5c, 0x21e1) }, @@ -101,15 +110,24 @@ { USB_DEVICE(0x0c10, 0x0000) }, /* Broadcom BCM20702A0 */ + { USB_DEVICE(0x0b05, 0x17b5) }, + { USB_DEVICE(0x0b05, 0x17cb) }, + { USB_DEVICE(0x04ca, 0x2003) }, { 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 }, + { USB_DEVICE(0x413c, 0x8143), .driver_info = BTUSB_BCM_PATCHRAM }, + + /* Broadcom BCM43142A0 */ + { USB_DEVICE(0x04ca, 0x2007), .driver_info = BTUSB_BCM_PATCHRAM }, + { USB_DEVICE(0x105b, 0xe065), .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,24 +147,42 @@ { 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 }, /* Atheros 3012 with sflash firmware */ + { USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe005), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0cf3, 0xe003), .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,6 +244,7 @@ #define BTUSB_ISOC_RUNNING 2 #define BTUSB_SUSPENDING 3 #define BTUSB_DID_ISO_RESUME 4 +#define BTUSB_FIRMWARE_DONE 7 struct btusb_data { struct hci_dev *hdev; @@ -918,6 +955,71 @@ usb_autopm_put_interface(data->intf); } +#define PATCHRAM_NAME_LEN 20 +#define PATCHRAM_BUF_SIZE (256 + 4) + +static void btusb_load_firmware(struct hci_dev *hdev) +{ + struct btusb_data *data = hci_get_drvdata(hdev); + struct usb_device *udev = data->udev; + size_t pos = 0; + int err = 0; + char filename[PATCHRAM_NAME_LEN]; + const struct firmware *fw; + u8 *buf = NULL; + u8 val = 0; + + 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; + } + + buf = kmalloc(PATCHRAM_BUF_SIZE, GFP_KERNEL); + if (!buf) + goto out; + + err= hci_send_cmd(hdev, 0x0c03, 1, &val); + if (err) + goto out; + msleep(300); + + err = hci_send_cmd(hdev, 0xfc2e, 1, &val); + if (err) + goto out; + msleep(1000); + + while (pos < fw->size) { + size_t len; + len = fw->data[pos + 2] + 3; + if (pos + len > fw->size) { + err = -EINVAL; + goto out; + } + memcpy(buf, fw->data + pos, len); + err = hci_send_cmd(hdev, le16_to_cpu(*(u16*)buf), + *(buf + sizeof(u16)), buf + sizeof(u16) + 1); + if (err) + goto out; + pos += len; + } + + err = hci_send_cmd(hdev, 0x0c03, 1, &val); +out: + if (err) + BT_INFO("fail to load firmware"); + else + BT_INFO("firmware loaded"); + if (buf) + kfree(buf); + release_firmware(fw); +} + static int btusb_probe(struct usb_interface *intf, const struct usb_device_id *id) { @@ -1024,6 +1126,9 @@ hdev->send = btusb_send_frame; hdev->notify = btusb_notify; + if (id->driver_info & BTUSB_BCM_PATCHRAM) + hdev->load_firmware = btusb_load_firmware; + /* Interface numbers are hardcoded in the specification */ data->isoc = usb_ifnum_to_if(data->udev, 1); --- linux-lts-quantal-3.5.0.orig/drivers/power/charger-manager.c +++ linux-lts-quantal-3.5.0/drivers/power/charger-manager.c @@ -371,7 +371,7 @@ strncpy(env_str, event, UEVENT_BUF_SIZE); kobject_uevent(&cm->dev->kobj, KOBJ_CHANGE); - dev_info(cm->dev, event); + dev_info(cm->dev, "%s", event); } /** --- linux-lts-quantal-3.5.0.orig/drivers/power/ab8500_btemp.c +++ linux-lts-quantal-3.5.0/drivers/power/ab8500_btemp.c @@ -1119,7 +1119,7 @@ platform_driver_unregister(&ab8500_btemp_driver); } -subsys_initcall_sync(ab8500_btemp_init); +device_initcall(ab8500_btemp_init); module_exit(ab8500_btemp_exit); MODULE_LICENSE("GPL v2"); --- linux-lts-quantal-3.5.0.orig/drivers/power/abx500_chargalg.c +++ linux-lts-quantal-3.5.0/drivers/power/abx500_chargalg.c @@ -1698,7 +1698,7 @@ static struct attribute abx500_chargalg_en_charger = \ { .name = "chargalg", - .mode = S_IWUGO, + .mode = S_IWUSR, }; static struct attribute *abx500_chargalg_chg[] = { --- linux-lts-quantal-3.5.0.orig/drivers/pps/pps.c +++ linux-lts-quantal-3.5.0/drivers/pps/pps.c @@ -247,12 +247,15 @@ struct pps_device *pps = container_of(inode->i_cdev, struct pps_device, cdev); file->private_data = pps; - + kobject_get(&pps->dev->kobj); return 0; } static int pps_cdev_release(struct inode *inode, struct file *file) { + struct pps_device *pps = container_of(inode->i_cdev, + struct pps_device, cdev); + kobject_put(&pps->dev->kobj); return 0; } @@ -274,8 +277,10 @@ { struct pps_device *pps = dev_get_drvdata(dev); - /* release id here to protect others from using it while it's - * still in use */ + cdev_del(&pps->cdev); + + /* Now we can release the ID for re-use */ + pr_debug("deallocating pps%d\n", pps->id); mutex_lock(&pps_idr_lock); idr_remove(&pps_idr, pps->id); mutex_unlock(&pps_idr_lock); @@ -330,6 +335,7 @@ if (IS_ERR(pps->dev)) goto del_cdev; + /* Override the release function with our own */ pps->dev->release = pps_device_destruct; pr_debug("source %s got cdev (%d:%d)\n", pps->info.name, @@ -350,11 +356,44 @@ void pps_unregister_cdev(struct pps_device *pps) { + pr_debug("unregistering pps%d\n", pps->id); + pps->lookup_cookie = NULL; device_destroy(pps_class, pps->dev->devt); - cdev_del(&pps->cdev); } /* + * Look up a pps device by magic cookie. + * The cookie is usually a pointer to some enclosing device, but this + * code doesn't care; you should never be dereferencing it. + * + * This is a bit of a kludge that is currently used only by the PPS + * serial line discipline. It may need to be tweaked when a second user + * is found. + * + * There is no function interface for setting the lookup_cookie field. + * It's initialized to NULL when the pps device is created, and if a + * client wants to use it, just fill it in afterward. + * + * The cookie is automatically set to NULL in pps_unregister_source() + * so that it will not be used again, even if the pps device cannot + * be removed from the idr due to pending references holding the minor + * number in use. + */ +struct pps_device *pps_lookup_dev(void const *cookie) +{ + struct pps_device *pps; + unsigned id; + + rcu_read_lock(); + idr_for_each_entry(&pps_idr, pps, id) + if (cookie == pps->lookup_cookie) + break; + rcu_read_unlock(); + return pps; +} +EXPORT_SYMBOL(pps_lookup_dev); + +/* * Module stuff */ --- linux-lts-quantal-3.5.0.orig/drivers/pps/clients/pps-ldisc.c +++ linux-lts-quantal-3.5.0/drivers/pps/clients/pps-ldisc.c @@ -31,7 +31,7 @@ static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status, struct pps_event_time *ts) { - struct pps_device *pps = (struct pps_device *)tty->disc_data; + struct pps_device *pps = pps_lookup_dev(tty); BUG_ON(pps == NULL); @@ -67,9 +67,9 @@ pr_err("cannot register PPS source \"%s\"\n", info.path); return -ENOMEM; } - tty->disc_data = pps; + pps->lookup_cookie = tty; - /* Should open N_TTY ldisc too */ + /* Now open the base class N_TTY ldisc */ ret = alias_n_tty_open(tty); if (ret < 0) { pr_err("cannot open tty ldisc \"%s\"\n", info.path); @@ -81,7 +81,6 @@ return 0; err_unregister: - tty->disc_data = NULL; pps_unregister_source(pps); return ret; } @@ -90,11 +89,10 @@ static void pps_tty_close(struct tty_struct *tty) { - struct pps_device *pps = (struct pps_device *)tty->disc_data; + struct pps_device *pps = pps_lookup_dev(tty); alias_n_tty_close(tty); - tty->disc_data = NULL; dev_info(pps->dev, "removed\n"); pps_unregister_source(pps); } --- linux-lts-quantal-3.5.0.orig/drivers/clk/clkdev.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/clk/clk-fixed-rate.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/clk/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/clk/clk.c +++ linux-lts-quantal-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); @@ -1538,6 +1539,7 @@ /* XXX the notifier code should handle this better */ if (!cn->notifier_head.head) { srcu_cleanup_notifier_head(&cn->notifier_head); + list_del(&cn->node); kfree(cn); } @@ -1550,3 +1552,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-lts-quantal-3.5.0.orig/drivers/clk/clk-highbank.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwspinlock/hwspinlock_core.c +++ linux-lts-quantal-3.5.0/drivers/hwspinlock/hwspinlock_core.c @@ -416,6 +416,8 @@ ret = pm_runtime_get_sync(dev); if (ret < 0) { dev_err(dev, "%s: can't power on device\n", __func__); + pm_runtime_put_noidle(dev); + module_put(dev->driver->owner); return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/char/random.c +++ linux-lts-quantal-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; - - desc = irq_to_desc(irq); + unsigned long time = get_cycles() ^ jiffies; - 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); } } @@ -782,6 +855,7 @@ int reserved) { unsigned long flags; + int wakeup_write = 0; /* Hold lock while accounting */ spin_lock_irqsave(&r->lock, flags); @@ -794,19 +868,25 @@ if (r->entropy_count / 8 < min + reserved) { nbytes = 0; } else { + int entropy_count, orig; +retry: + entropy_count = orig = ACCESS_ONCE(r->entropy_count); /* If limited, never pull more than available */ - if (r->limit && nbytes + reserved >= r->entropy_count / 8) - nbytes = r->entropy_count/8 - reserved; + if (r->limit && nbytes + reserved >= entropy_count / 8) + nbytes = entropy_count/8 - reserved; - if (r->entropy_count / 8 >= nbytes + reserved) - r->entropy_count -= nbytes*8; - else - r->entropy_count = reserved; - - if (r->entropy_count < random_write_wakeup_thresh) { - wake_up_interruptible(&random_write_wait); - kill_fasync(&fasync, SIGIO, POLL_OUT); + if (entropy_count / 8 >= nbytes + reserved) { + entropy_count -= nbytes*8; + if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig) + goto retry; + } else { + entropy_count = reserved; + if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig) + goto retry; } + + if (entropy_count < random_write_wakeup_thresh) + wakeup_write = 1; } DEBUG_ENT("debiting %d entropy credits from %s%s\n", @@ -814,19 +894,30 @@ spin_unlock_irqrestore(&r->lock, flags); + if (wakeup_write) { + wake_up_interruptible(&random_write_wait); + kill_fasync(&fasync, SIGIO, POLL_OUT); + } + return nbytes; } 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 +928,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 +944,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 +977,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 +1004,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 +1038,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 +1075,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 +1093,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 +1126,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 +1233,7 @@ count -= bytes; p += bytes; - mix_pool_bytes(r, buf, bytes); + mix_pool_bytes(r, buf, bytes, NULL); cond_resched(); } --- linux-lts-quantal-3.5.0.orig/drivers/char/hpet.c +++ linux-lts-quantal-3.5.0/drivers/char/hpet.c @@ -373,26 +373,14 @@ struct hpet_dev *devp; unsigned long addr; - if (((vma->vm_end - vma->vm_start) != PAGE_SIZE) || vma->vm_pgoff) - return -EINVAL; - devp = file->private_data; addr = devp->hd_hpets->hp_hpet_phys; if (addr & (PAGE_SIZE - 1)) return -ENOSYS; - vma->vm_flags |= VM_IO; vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); - - if (io_remap_pfn_range(vma, vma->vm_start, addr >> PAGE_SHIFT, - PAGE_SIZE, vma->vm_page_prot)) { - printk(KERN_ERR "%s: io_remap_pfn_range failed\n", - __func__); - return -EAGAIN; - } - - return 0; + return vm_iomap_memory(vma, addr, PAGE_SIZE); #else return -ENOSYS; #endif --- linux-lts-quantal-3.5.0.orig/drivers/char/virtio_console.c +++ linux-lts-quantal-3.5.0/drivers/char/virtio_console.c @@ -131,7 +131,8 @@ spinlock_t ports_lock; /* To protect the vq operations for the control channel */ - spinlock_t cvq_lock; + spinlock_t c_ivq_lock; + spinlock_t c_ovq_lock; /* The current config space is stored here */ struct virtio_console_config config; @@ -256,9 +257,12 @@ unsigned long flags; spin_lock_irqsave(&portdev->ports_lock, flags); - list_for_each_entry(port, &portdev->ports, list) - if (port->cdev->dev == dev) + list_for_each_entry(port, &portdev->ports, list) { + if (port->cdev->dev == dev) { + kref_get(&port->kref); goto out; + } + } port = NULL; out: spin_unlock_irqrestore(&portdev->ports_lock, flags); @@ -457,11 +461,13 @@ vq = portdev->c_ovq; sg_init_one(sg, &cpkt, sizeof(cpkt)); + spin_lock(&portdev->c_ovq_lock); if (virtqueue_add_buf(vq, sg, 1, 0, &cpkt, GFP_ATOMIC) >= 0) { virtqueue_kick(vq); while (!virtqueue_get_buf(vq, &len)) cpu_relax(); } + spin_unlock(&portdev->c_ovq_lock); return 0; } @@ -630,6 +636,10 @@ port = filp->private_data; + /* Port is hot-unplugged. */ + if (!port->guest_connected) + return -ENODEV; + if (!port_has_data(port)) { /* * If nothing's connected on the host just return 0 in @@ -646,7 +656,7 @@ if (ret < 0) return ret; } - /* Port got hot-unplugged. */ + /* Port got hot-unplugged while we were waiting above. */ if (!port->guest_connected) return -ENODEV; /* @@ -789,14 +799,14 @@ struct port *port; int ret; + /* We get the port with a kref here */ port = find_port_by_devt(cdev->dev); + if (!port) { + /* Port was unplugged before we could proceed */ + return -ENXIO; + } filp->private_data = port; - /* Prevent against a port getting hot-unplugged at the same time */ - spin_lock_irq(&port->portdev->ports_lock); - kref_get(&port->kref); - spin_unlock_irq(&port->portdev->ports_lock); - /* * Don't allow opening of console port devices -- that's done * via /dev/hvc @@ -1254,14 +1264,6 @@ port = container_of(kref, struct port, kref); - sysfs_remove_group(&port->dev->kobj, &port_attribute_group); - device_destroy(pdrvdata.class, port->dev->devt); - cdev_del(port->cdev); - - kfree(port->name); - - debugfs_remove(port->debugfs_file); - kfree(port); } @@ -1291,12 +1293,14 @@ spin_unlock_irq(&port->portdev->ports_lock); if (port->guest_connected) { + /* Let the app know the port is going down. */ + send_sigio_to_port(port); + + /* Do this after sigio is actually sent */ port->guest_connected = false; port->host_connected = false; - wake_up_interruptible(&port->waitqueue); - /* Let the app know the port is going down. */ - send_sigio_to_port(port); + wake_up_interruptible(&port->waitqueue); } if (is_console_port(port)) { @@ -1315,6 +1319,14 @@ */ port->portdev = NULL; + sysfs_remove_group(&port->dev->kobj, &port_attribute_group); + device_destroy(pdrvdata.class, port->dev->devt); + cdev_del(port->cdev); + + kfree(port->name); + + debugfs_remove(port->debugfs_file); + /* * Locks around here are not necessary - a port can't be * opened after we removed the port struct from ports_list @@ -1465,23 +1477,23 @@ portdev = container_of(work, struct ports_device, control_work); vq = portdev->c_ivq; - spin_lock(&portdev->cvq_lock); + spin_lock(&portdev->c_ivq_lock); while ((buf = virtqueue_get_buf(vq, &len))) { - spin_unlock(&portdev->cvq_lock); + spin_unlock(&portdev->c_ivq_lock); buf->len = len; buf->offset = 0; handle_control_message(portdev, buf); - spin_lock(&portdev->cvq_lock); + spin_lock(&portdev->c_ivq_lock); if (add_inbuf(portdev->c_ivq, buf) < 0) { dev_warn(&portdev->vdev->dev, "Error adding buffer to queue\n"); free_buf(buf); } } - spin_unlock(&portdev->cvq_lock); + spin_unlock(&portdev->c_ivq_lock); } static void out_intr(struct virtqueue *vq) @@ -1742,10 +1754,12 @@ if (multiport) { unsigned int nr_added_bufs; - spin_lock_init(&portdev->cvq_lock); + spin_lock_init(&portdev->c_ivq_lock); + spin_lock_init(&portdev->c_ovq_lock); INIT_WORK(&portdev->control_work, &control_work_handler); - nr_added_bufs = fill_queue(portdev->c_ivq, &portdev->cvq_lock); + nr_added_bufs = fill_queue(portdev->c_ivq, + &portdev->c_ivq_lock); if (!nr_added_bufs) { dev_err(&vdev->dev, "Error allocating buffers for control queue\n"); @@ -1808,7 +1822,8 @@ /* Disable interrupts for vqs */ vdev->config->reset(vdev); /* Finish up work that's lined up */ - cancel_work_sync(&portdev->control_work); + if (use_multiport(portdev)) + cancel_work_sync(&portdev->control_work); list_for_each_entry_safe(port, port2, &portdev->ports, list) unplug_port(port); @@ -1885,7 +1900,7 @@ return ret; if (use_multiport(portdev)) - fill_queue(portdev->c_ivq, &portdev->cvq_lock); + fill_queue(portdev->c_ivq, &portdev->c_ivq_lock); list_for_each_entry(port, &portdev->ports, list) { port->in_vq = portdev->in_vqs[port->id]; --- linux-lts-quantal-3.5.0.orig/drivers/char/mspec.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/char/ttyprintk.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/char/hw_random/core.c +++ linux-lts-quantal-3.5.0/drivers/char/hw_random/core.c @@ -40,6 +40,7 @@ #include #include #include +#include #include @@ -52,8 +53,12 @@ static LIST_HEAD(rng_list); static DEFINE_MUTEX(rng_mutex); static int data_avail; -static u8 rng_buffer[SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES] - __cacheline_aligned; +static u8 *rng_buffer; + +static size_t rng_buffer_size(void) +{ + return SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES; +} static inline int hwrng_init(struct hwrng *rng) { @@ -116,7 +121,7 @@ if (!data_avail) { bytes_read = rng_get_data(current_rng, rng_buffer, - sizeof(rng_buffer), + rng_buffer_size(), !(filp->f_flags & O_NONBLOCK)); if (bytes_read < 0) { err = bytes_read; @@ -307,6 +312,14 @@ mutex_lock(&rng_mutex); + /* kmalloc makes this safe for virt_to_page() in virtio_rng.c */ + err = -ENOMEM; + if (!rng_buffer) { + rng_buffer = kmalloc(rng_buffer_size(), GFP_KERNEL); + if (!rng_buffer) + goto out_unlock; + } + /* Must not register two RNGs with the same name. */ err = -EEXIST; list_for_each_entry(tmp, &rng_list, list) { --- linux-lts-quantal-3.5.0.orig/drivers/char/hw_random/virtio-rng.c +++ linux-lts-quantal-3.5.0/drivers/char/hw_random/virtio-rng.c @@ -89,14 +89,22 @@ { int err; + if (vq) { + /* We only support one device for now */ + return -EBUSY; + } /* We expect a single virtqueue. */ vq = virtio_find_single_vq(vdev, random_recv_done, "input"); - if (IS_ERR(vq)) - return PTR_ERR(vq); + if (IS_ERR(vq)) { + err = PTR_ERR(vq); + vq = NULL; + return err; + } err = hwrng_register(&virtio_hwrng); if (err) { vdev->config->del_vqs(vdev); + vq = NULL; return err; } @@ -108,6 +116,7 @@ vdev->config->reset(vdev); hwrng_unregister(&virtio_hwrng); vdev->config->del_vqs(vdev); + vq = NULL; } static struct virtio_device_id id_table[] = { --- linux-lts-quantal-3.5.0.orig/drivers/char/ipmi/ipmi_devintf.c +++ linux-lts-quantal-3.5.0/drivers/char/ipmi/ipmi_devintf.c @@ -837,13 +837,25 @@ return ipmi_ioctl(filep, cmd, arg); } } + +static long unlocked_compat_ipmi_ioctl(struct file *filep, unsigned int cmd, + unsigned long arg) +{ + int ret; + + mutex_lock(&ipmi_mutex); + ret = compat_ipmi_ioctl(filep, cmd, arg); + mutex_unlock(&ipmi_mutex); + + return ret; +} #endif static const struct file_operations ipmi_fops = { .owner = THIS_MODULE, .unlocked_ioctl = ipmi_unlocked_ioctl, #ifdef CONFIG_COMPAT - .compat_ioctl = compat_ipmi_ioctl, + .compat_ioctl = unlocked_compat_ipmi_ioctl, #endif .open = ipmi_open, .release = ipmi_release, --- linux-lts-quantal-3.5.0.orig/drivers/char/ipmi/ipmi_bt_sm.c +++ linux-lts-quantal-3.5.0/drivers/char/ipmi/ipmi_bt_sm.c @@ -95,9 +95,9 @@ enum bt_states state; unsigned char seq; /* BT sequence number */ struct si_sm_io *io; - unsigned char write_data[IPMI_MAX_MSG_LENGTH]; + unsigned char write_data[IPMI_MAX_MSG_LENGTH + 2]; /* +2 for memcpy */ int write_count; - unsigned char read_data[IPMI_MAX_MSG_LENGTH]; + unsigned char read_data[IPMI_MAX_MSG_LENGTH + 2]; /* +2 for memcpy */ int read_count; int truncated; long timeout; /* microseconds countdown */ --- linux-lts-quantal-3.5.0.orig/drivers/char/tpm/tpm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/char/agp/intel-agp.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/char/agp/intel-gtt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/char/agp/intel-agp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mfd/rtsx_pcr.h +++ linux-lts-quantal-3.5.0/drivers/mfd/rtsx_pcr.h @@ -0,0 +1,66 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#ifndef __RTSX_PCR_H +#define __RTSX_PCR_H + +#include + +#define MIN_DIV_N_PCR 80 +#define MAX_DIV_N_PCR 208 + +void rts5209_init_params(struct rtsx_pcr *pcr); +void rts5229_init_params(struct rtsx_pcr *pcr); +void rtl8411_init_params(struct rtsx_pcr *pcr); +void rts5227_init_params(struct rtsx_pcr *pcr); +void rtl8411b_init_params(struct rtsx_pcr *pcr); + +static inline u8 map_sd_drive(int idx) +{ + u8 sd_drive[4] = { + 0x01, /* Type D */ + 0x02, /* Type C */ + 0x05, /* Type A */ + 0x03 /* Type B */ + }; + + return sd_drive[idx]; +} + +#define rtsx_vendor_setting_valid(reg) (!((reg) & 0x1000000)) +#define rts5209_vendor_setting1_valid(reg) (!((reg) & 0x80)) +#define rts5209_vendor_setting2_valid(reg) ((reg) & 0x80) + +#define rtsx_reg_to_aspm(reg) (((reg) >> 28) & 0x03) +#define rtsx_reg_to_sd30_drive_sel_1v8(reg) (((reg) >> 26) & 0x03) +#define rtsx_reg_to_sd30_drive_sel_3v3(reg) (((reg) >> 5) & 0x03) +#define rtsx_reg_to_card_drive_sel(reg) ((((reg) >> 25) & 0x01) << 6) +#define rtsx_reg_check_reverse_socket(reg) ((reg) & 0x4000) +#define rts5209_reg_to_aspm(reg) (((reg) >> 5) & 0x03) +#define rts5209_reg_check_ms_pmos(reg) (!((reg) & 0x08)) +#define rts5209_reg_to_sd30_drive_sel_1v8(reg) (((reg) >> 3) & 0x07) +#define rts5209_reg_to_sd30_drive_sel_3v3(reg) ((reg) & 0x07) +#define rts5209_reg_to_card_drive_sel(reg) ((reg) >> 8) +#define rtl8411_reg_to_sd30_drive_sel_3v3(reg) (((reg) >> 5) & 0x07) +#define rtl8411b_reg_to_sd30_drive_sel_3v3(reg) ((reg) & 0x03) + +#endif --- linux-lts-quantal-3.5.0.orig/drivers/mfd/ab3100-core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mfd/Kconfig +++ linux-lts-quantal-3.5.0/drivers/mfd/Kconfig @@ -38,6 +38,15 @@ lines on the SM501. The platform data is used to supply the base number for the first GPIO line to register. +config MFD_RTSX_PCI + tristate "Support for Realtek PCI-E card reader" + depends on PCI + help + This supports for Realtek PCI-Express card reader including rts5209, + rts5229, rtl8411, etc. Realtek card reader supports access to many + types of memory cards, such as Memory Stick, Memory Stick Pro, + Secure Digital and MultiMediaCard. + config MFD_ASIC3 bool "Support for Compaq ASIC3" depends on GENERIC_HARDIRQS && GPIOLIB && ARM --- linux-lts-quantal-3.5.0.orig/drivers/mfd/rts5209.c +++ linux-lts-quantal-3.5.0/drivers/mfd/rts5209.c @@ -0,0 +1,270 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#include +#include +#include + +#include "rtsx_pcr.h" + +static u8 rts5209_get_ic_version(struct rtsx_pcr *pcr) +{ + u8 val; + + val = rtsx_pci_readb(pcr, 0x1C); + return val & 0x0F; +} + +static void rts5209_fetch_vendor_settings(struct rtsx_pcr *pcr) +{ + u32 reg; + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG1, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg); + + if (rts5209_vendor_setting1_valid(reg)) { + if (rts5209_reg_check_ms_pmos(reg)) + pcr->flags |= PCR_MS_PMOS; + pcr->aspm_en = rts5209_reg_to_aspm(reg); + } + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG2, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG2, reg); + + if (rts5209_vendor_setting2_valid(reg)) { + pcr->sd30_drive_sel_1v8 = + rts5209_reg_to_sd30_drive_sel_1v8(reg); + pcr->sd30_drive_sel_3v3 = + rts5209_reg_to_sd30_drive_sel_3v3(reg); + pcr->card_drive_sel = rts5209_reg_to_card_drive_sel(reg); + } +} + +static int rts5209_extra_init_hw(struct rtsx_pcr *pcr) +{ + rtsx_pci_init_cmd(pcr); + + /* Turn off LED */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_GPIO, 0xFF, 0x03); + /* Configure GPIO as output */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_GPIO_DIR, 0xFF, 0x03); + /* Configure driving */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_DRIVE_SEL, + 0xFF, pcr->sd30_drive_sel_3v3); + + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rts5209_optimize_phy(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_phy_register(pcr, 0x00, 0xB966); +} + +static int rts5209_turn_on_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_GPIO, 0x01, 0x00); +} + +static int rts5209_turn_off_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_GPIO, 0x01, 0x01); +} + +static int rts5209_enable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_AUTO_BLINK, 0xFF, 0x0D); +} + +static int rts5209_disable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_AUTO_BLINK, 0x08, 0x00); +} + +static int rts5209_card_power_on(struct rtsx_pcr *pcr, int card) +{ + int err; + u8 pwr_mask, partial_pwr_on, pwr_on; + + pwr_mask = SD_POWER_MASK; + partial_pwr_on = SD_PARTIAL_POWER_ON; + pwr_on = SD_POWER_ON; + + if ((pcr->flags & PCR_MS_PMOS) && (card == RTSX_MS_CARD)) { + pwr_mask = MS_POWER_MASK; + partial_pwr_on = MS_PARTIAL_POWER_ON; + pwr_on = MS_POWER_ON; + } + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + pwr_mask, partial_pwr_on); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x04); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + /* To avoid too large in-rush current */ + udelay(150); + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, pwr_mask, pwr_on); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x00); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + return 0; +} + +static int rts5209_card_power_off(struct rtsx_pcr *pcr, int card) +{ + u8 pwr_mask, pwr_off; + + pwr_mask = SD_POWER_MASK; + pwr_off = SD_POWER_OFF; + + if ((pcr->flags & PCR_MS_PMOS) && (card == RTSX_MS_CARD)) { + pwr_mask = MS_POWER_MASK; + pwr_off = MS_POWER_OFF; + } + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + pwr_mask | PMOS_STRG_MASK, pwr_off | PMOS_STRG_400mA); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x06); + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rts5209_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) +{ + int err; + + if (voltage == OUTPUT_3V3) { + err = rtsx_pci_write_register(pcr, + SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_3v3); + if (err < 0) + return err; + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4FC0 | 0x24); + if (err < 0) + return err; + } else if (voltage == OUTPUT_1V8) { + err = rtsx_pci_write_register(pcr, + SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_1v8); + if (err < 0) + return err; + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4C40 | 0x24); + if (err < 0) + return err; + } else { + return -EINVAL; + } + + return 0; +} + +static const struct pcr_ops rts5209_pcr_ops = { + .fetch_vendor_settings = rts5209_fetch_vendor_settings, + .extra_init_hw = rts5209_extra_init_hw, + .optimize_phy = rts5209_optimize_phy, + .turn_on_led = rts5209_turn_on_led, + .turn_off_led = rts5209_turn_off_led, + .enable_auto_blink = rts5209_enable_auto_blink, + .disable_auto_blink = rts5209_disable_auto_blink, + .card_power_on = rts5209_card_power_on, + .card_power_off = rts5209_card_power_off, + .switch_output_voltage = rts5209_switch_output_voltage, + .cd_deglitch = NULL, + .conv_clk_and_div_n = NULL, +}; + +/* SD Pull Control Enable: + * SD_DAT[3:0] ==> pull up + * SD_CD ==> pull up + * SD_WP ==> pull up + * SD_CMD ==> pull up + * SD_CLK ==> pull down + */ +static const u32 rts5209_sd_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xE9), + 0, +}; + +/* SD Pull Control Disable: + * SD_DAT[3:0] ==> pull down + * SD_CD ==> pull up + * SD_WP ==> pull down + * SD_CMD ==> pull down + * SD_CLK ==> pull down + */ +static const u32 rts5209_sd_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xD5), + 0, +}; + +/* MS Pull Control Enable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rts5209_ms_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x15), + 0, +}; + +/* MS Pull Control Disable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rts5209_ms_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x15), + 0, +}; + +void rts5209_init_params(struct rtsx_pcr *pcr) +{ + pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | + EXTRA_CAPS_SD_SDR104 | EXTRA_CAPS_MMC_8BIT; + pcr->num_slots = 2; + pcr->ops = &rts5209_pcr_ops; + + pcr->flags = 0; + pcr->card_drive_sel = RTS5209_CARD_DRIVE_DEFAULT; + pcr->sd30_drive_sel_1v8 = DRIVER_TYPE_B; + pcr->sd30_drive_sel_3v3 = DRIVER_TYPE_D; + pcr->aspm_en = ASPM_L1_EN; + + pcr->ic_version = rts5209_get_ic_version(pcr); + pcr->sd_pull_ctl_enable_tbl = rts5209_sd_pull_ctl_enable_tbl; + pcr->sd_pull_ctl_disable_tbl = rts5209_sd_pull_ctl_disable_tbl; + pcr->ms_pull_ctl_enable_tbl = rts5209_ms_pull_ctl_enable_tbl; + pcr->ms_pull_ctl_disable_tbl = rts5209_ms_pull_ctl_disable_tbl; +} --- linux-lts-quantal-3.5.0.orig/drivers/mfd/rts5229.c +++ linux-lts-quantal-3.5.0/drivers/mfd/rts5229.c @@ -0,0 +1,266 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#include +#include +#include + +#include "rtsx_pcr.h" + +static u8 rts5229_get_ic_version(struct rtsx_pcr *pcr) +{ + u8 val; + + rtsx_pci_read_register(pcr, DUMMY_REG_RESET_0, &val); + return val & 0x0F; +} + +static void rts5229_fetch_vendor_settings(struct rtsx_pcr *pcr) +{ + u32 reg; + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG1, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg); + + if (!rtsx_vendor_setting_valid(reg)) + return; + + pcr->aspm_en = rtsx_reg_to_aspm(reg); + pcr->sd30_drive_sel_1v8 = + map_sd_drive(rtsx_reg_to_sd30_drive_sel_1v8(reg)); + pcr->card_drive_sel &= 0x3F; + pcr->card_drive_sel |= rtsx_reg_to_card_drive_sel(reg); + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG2, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG2, reg); + pcr->sd30_drive_sel_3v3 = + map_sd_drive(rtsx_reg_to_sd30_drive_sel_3v3(reg)); +} + +static int rts5229_extra_init_hw(struct rtsx_pcr *pcr) +{ + rtsx_pci_init_cmd(pcr); + + /* Configure GPIO as output */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, GPIO_CTL, 0x02, 0x02); + /* Switch LDO3318 source from DV33 to card_3v3 */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_PWR_SEL, 0x03, 0x00); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_PWR_SEL, 0x03, 0x01); + /* LED shine disabled, set initial shine cycle period */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, OLT_LED_CTL, 0x0F, 0x02); + /* Configure driving */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_DRIVE_SEL, + 0xFF, pcr->sd30_drive_sel_3v3); + + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rts5229_optimize_phy(struct rtsx_pcr *pcr) +{ + /* Optimize RX sensitivity */ + return rtsx_pci_write_phy_register(pcr, 0x00, 0xBA42); +} + +static int rts5229_turn_on_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, GPIO_CTL, 0x02, 0x02); +} + +static int rts5229_turn_off_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, GPIO_CTL, 0x02, 0x00); +} + +static int rts5229_enable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, OLT_LED_CTL, 0x08, 0x08); +} + +static int rts5229_disable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, OLT_LED_CTL, 0x08, 0x00); +} + +static int rts5229_card_power_on(struct rtsx_pcr *pcr, int card) +{ + int err; + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + SD_POWER_MASK, SD_PARTIAL_POWER_ON); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x02); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + /* To avoid too large in-rush current */ + udelay(150); + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + SD_POWER_MASK, SD_POWER_ON); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x06); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + return 0; +} + +static int rts5229_card_power_off(struct rtsx_pcr *pcr, int card) +{ + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + SD_POWER_MASK | PMOS_STRG_MASK, + SD_POWER_OFF | PMOS_STRG_400mA); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x00); + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rts5229_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) +{ + int err; + + if (voltage == OUTPUT_3V3) { + err = rtsx_pci_write_register(pcr, + SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_3v3); + if (err < 0) + return err; + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4FC0 | 0x24); + if (err < 0) + return err; + } else if (voltage == OUTPUT_1V8) { + err = rtsx_pci_write_register(pcr, + SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_1v8); + if (err < 0) + return err; + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4C40 | 0x24); + if (err < 0) + return err; + } else { + return -EINVAL; + } + + return 0; +} + +static const struct pcr_ops rts5229_pcr_ops = { + .fetch_vendor_settings = rts5229_fetch_vendor_settings, + .extra_init_hw = rts5229_extra_init_hw, + .optimize_phy = rts5229_optimize_phy, + .turn_on_led = rts5229_turn_on_led, + .turn_off_led = rts5229_turn_off_led, + .enable_auto_blink = rts5229_enable_auto_blink, + .disable_auto_blink = rts5229_disable_auto_blink, + .card_power_on = rts5229_card_power_on, + .card_power_off = rts5229_card_power_off, + .switch_output_voltage = rts5229_switch_output_voltage, + .cd_deglitch = NULL, + .conv_clk_and_div_n = NULL, +}; + +/* SD Pull Control Enable: + * SD_DAT[3:0] ==> pull up + * SD_CD ==> pull up + * SD_WP ==> pull up + * SD_CMD ==> pull up + * SD_CLK ==> pull down + */ +static const u32 rts5229_sd_pull_ctl_enable_tbl1[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xE9), + 0, +}; + +/* For RTS5229 version C */ +static const u32 rts5229_sd_pull_ctl_enable_tbl2[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xD9), + 0, +}; + +/* SD Pull Control Disable: + * SD_DAT[3:0] ==> pull down + * SD_CD ==> pull up + * SD_WP ==> pull down + * SD_CMD ==> pull down + * SD_CLK ==> pull down + */ +static const u32 rts5229_sd_pull_ctl_disable_tbl1[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xD5), + 0, +}; + +/* For RTS5229 version C */ +static const u32 rts5229_sd_pull_ctl_disable_tbl2[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xE5), + 0, +}; + +/* MS Pull Control Enable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rts5229_ms_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x15), + 0, +}; + +/* MS Pull Control Disable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rts5229_ms_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x15), + 0, +}; + +void rts5229_init_params(struct rtsx_pcr *pcr) +{ + pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; + pcr->num_slots = 2; + pcr->ops = &rts5229_pcr_ops; + + pcr->flags = 0; + pcr->card_drive_sel = RTSX_CARD_DRIVE_DEFAULT; + pcr->sd30_drive_sel_1v8 = DRIVER_TYPE_B; + pcr->sd30_drive_sel_3v3 = DRIVER_TYPE_D; + pcr->aspm_en = ASPM_L1_EN; + + pcr->ic_version = rts5229_get_ic_version(pcr); + if (pcr->ic_version == IC_VER_C) { + pcr->sd_pull_ctl_enable_tbl = rts5229_sd_pull_ctl_enable_tbl2; + pcr->sd_pull_ctl_disable_tbl = rts5229_sd_pull_ctl_disable_tbl2; + } else { + pcr->sd_pull_ctl_enable_tbl = rts5229_sd_pull_ctl_enable_tbl1; + pcr->sd_pull_ctl_disable_tbl = rts5229_sd_pull_ctl_disable_tbl1; + } + pcr->ms_pull_ctl_enable_tbl = rts5229_ms_pull_ctl_enable_tbl; + pcr->ms_pull_ctl_disable_tbl = rts5229_ms_pull_ctl_disable_tbl; +} --- linux-lts-quantal-3.5.0.orig/drivers/mfd/rtl8411.c +++ linux-lts-quantal-3.5.0/drivers/mfd/rtl8411.c @@ -0,0 +1,487 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#include +#include +#include +#include + +#include "rtsx_pcr.h" + +static u8 rtl8411_get_ic_version(struct rtsx_pcr *pcr) +{ + u8 val; + + rtsx_pci_read_register(pcr, SYS_VER, &val); + return val & 0x0F; +} + +static int rtl8411b_is_qfn48(struct rtsx_pcr *pcr) +{ + u8 val = 0; + + rtsx_pci_read_register(pcr, RTL8411B_PACKAGE_MODE, &val); + + if (val & 0x2) + return 1; + else + return 0; +} + +static void rtl8411_fetch_vendor_settings(struct rtsx_pcr *pcr) +{ + u32 reg1; + u8 reg3; + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG1, ®1); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg1); + + if (!rtsx_vendor_setting_valid(reg1)) + return; + + pcr->aspm_en = rtsx_reg_to_aspm(reg1); + pcr->sd30_drive_sel_1v8 = + map_sd_drive(rtsx_reg_to_sd30_drive_sel_1v8(reg1)); + pcr->card_drive_sel &= 0x3F; + pcr->card_drive_sel |= rtsx_reg_to_card_drive_sel(reg1); + + rtsx_pci_read_config_byte(pcr, PCR_SETTING_REG3, ®3); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG3, reg3); + pcr->sd30_drive_sel_3v3 = rtl8411_reg_to_sd30_drive_sel_3v3(reg3); +} + +static void rtl8411b_fetch_vendor_settings(struct rtsx_pcr *pcr) +{ + u32 reg; + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG1, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg); + + if (!rtsx_vendor_setting_valid(reg)) + return; + + pcr->aspm_en = rtsx_reg_to_aspm(reg); + pcr->sd30_drive_sel_1v8 = + map_sd_drive(rtsx_reg_to_sd30_drive_sel_1v8(reg)); + pcr->sd30_drive_sel_3v3 = + map_sd_drive(rtl8411b_reg_to_sd30_drive_sel_3v3(reg)); +} + +static int rtl8411_extra_init_hw(struct rtsx_pcr *pcr) +{ + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_DRIVE_SEL, + 0xFF, pcr->sd30_drive_sel_3v3); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CD_PAD_CTL, + CD_DISABLE_MASK | CD_AUTO_DISABLE, CD_ENABLE); + + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rtl8411b_extra_init_hw(struct rtsx_pcr *pcr) +{ + rtsx_pci_init_cmd(pcr); + + if (rtl8411b_is_qfn48(pcr)) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + CARD_PULL_CTL3, 0xFF, 0xF5); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_DRIVE_SEL, + 0xFF, pcr->sd30_drive_sel_3v3); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CD_PAD_CTL, + CD_DISABLE_MASK | CD_AUTO_DISABLE, CD_ENABLE); + + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rtl8411_turn_on_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_GPIO, 0x01, 0x00); +} + +static int rtl8411_turn_off_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_GPIO, 0x01, 0x01); +} + +static int rtl8411_enable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_AUTO_BLINK, 0xFF, 0x0D); +} + +static int rtl8411_disable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, CARD_AUTO_BLINK, 0x08, 0x00); +} + +static int rtl8411_card_power_on(struct rtsx_pcr *pcr, int card) +{ + int err; + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_5_PERCENT_ON); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_CTL, + BPP_LDO_POWB, BPP_LDO_SUSPEND); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + /* To avoid too large in-rush current */ + udelay(150); + + err = rtsx_pci_write_register(pcr, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_10_PERCENT_ON); + if (err < 0) + return err; + + udelay(150); + + err = rtsx_pci_write_register(pcr, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_15_PERCENT_ON); + if (err < 0) + return err; + + udelay(150); + + err = rtsx_pci_write_register(pcr, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_ON); + if (err < 0) + return err; + + return rtsx_pci_write_register(pcr, LDO_CTL, BPP_LDO_POWB, BPP_LDO_ON); +} + +static int rtl8411_card_power_off(struct rtsx_pcr *pcr, int card) +{ + int err; + + err = rtsx_pci_write_register(pcr, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_OFF); + if (err < 0) + return err; + + return rtsx_pci_write_register(pcr, LDO_CTL, + BPP_LDO_POWB, BPP_LDO_SUSPEND); +} + +static int rtl8411_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) +{ + u8 mask, val; + int err; + + mask = (BPP_REG_TUNED18 << BPP_TUNED18_SHIFT_8411) | BPP_PAD_MASK; + if (voltage == OUTPUT_3V3) { + err = rtsx_pci_write_register(pcr, + SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_3v3); + if (err < 0) + return err; + val = (BPP_ASIC_3V3 << BPP_TUNED18_SHIFT_8411) | BPP_PAD_3V3; + } else if (voltage == OUTPUT_1V8) { + err = rtsx_pci_write_register(pcr, + SD30_DRIVE_SEL, 0x07, pcr->sd30_drive_sel_1v8); + if (err < 0) + return err; + val = (BPP_ASIC_1V8 << BPP_TUNED18_SHIFT_8411) | BPP_PAD_1V8; + } else { + return -EINVAL; + } + + return rtsx_pci_write_register(pcr, LDO_CTL, mask, val); +} + +static unsigned int rtl8411_cd_deglitch(struct rtsx_pcr *pcr) +{ + unsigned int card_exist; + + card_exist = rtsx_pci_readl(pcr, RTSX_BIPR); + card_exist &= CARD_EXIST; + if (!card_exist) { + /* Enable card CD */ + rtsx_pci_write_register(pcr, CD_PAD_CTL, + CD_DISABLE_MASK, CD_ENABLE); + /* Enable card interrupt */ + rtsx_pci_write_register(pcr, EFUSE_CONTENT, 0xe0, 0x00); + return 0; + } + + if (hweight32(card_exist) > 1) { + rtsx_pci_write_register(pcr, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_5_PERCENT_ON); + msleep(100); + + card_exist = rtsx_pci_readl(pcr, RTSX_BIPR); + if (card_exist & MS_EXIST) + card_exist = MS_EXIST; + else if (card_exist & SD_EXIST) + card_exist = SD_EXIST; + else + card_exist = 0; + + rtsx_pci_write_register(pcr, CARD_PWR_CTL, + BPP_POWER_MASK, BPP_POWER_OFF); + + dev_dbg(&(pcr->pci->dev), + "After CD deglitch, card_exist = 0x%x\n", + card_exist); + } + + if (card_exist & MS_EXIST) { + /* Disable SD interrupt */ + rtsx_pci_write_register(pcr, EFUSE_CONTENT, 0xe0, 0x40); + rtsx_pci_write_register(pcr, CD_PAD_CTL, + CD_DISABLE_MASK, MS_CD_EN_ONLY); + } else if (card_exist & SD_EXIST) { + /* Disable MS interrupt */ + rtsx_pci_write_register(pcr, EFUSE_CONTENT, 0xe0, 0x80); + rtsx_pci_write_register(pcr, CD_PAD_CTL, + CD_DISABLE_MASK, SD_CD_EN_ONLY); + } + + return card_exist; +} + +static int rtl8411_conv_clk_and_div_n(int input, int dir) +{ + int output; + + if (dir == CLK_TO_DIV_N) + output = input * 4 / 5 - 2; + else + output = (input + 2) * 5 / 4; + + return output; +} + +static const struct pcr_ops rtl8411_pcr_ops = { + .fetch_vendor_settings = rtl8411_fetch_vendor_settings, + .extra_init_hw = rtl8411_extra_init_hw, + .optimize_phy = NULL, + .turn_on_led = rtl8411_turn_on_led, + .turn_off_led = rtl8411_turn_off_led, + .enable_auto_blink = rtl8411_enable_auto_blink, + .disable_auto_blink = rtl8411_disable_auto_blink, + .card_power_on = rtl8411_card_power_on, + .card_power_off = rtl8411_card_power_off, + .switch_output_voltage = rtl8411_switch_output_voltage, + .cd_deglitch = rtl8411_cd_deglitch, + .conv_clk_and_div_n = rtl8411_conv_clk_and_div_n, +}; + +static const struct pcr_ops rtl8411b_pcr_ops = { + .fetch_vendor_settings = rtl8411b_fetch_vendor_settings, + .extra_init_hw = rtl8411b_extra_init_hw, + .optimize_phy = NULL, + .turn_on_led = rtl8411_turn_on_led, + .turn_off_led = rtl8411_turn_off_led, + .enable_auto_blink = rtl8411_enable_auto_blink, + .disable_auto_blink = rtl8411_disable_auto_blink, + .card_power_on = rtl8411_card_power_on, + .card_power_off = rtl8411_card_power_off, + .switch_output_voltage = rtl8411_switch_output_voltage, + .cd_deglitch = rtl8411_cd_deglitch, + .conv_clk_and_div_n = rtl8411_conv_clk_and_div_n, +}; + +/* SD Pull Control Enable: + * SD_DAT[3:0] ==> pull up + * SD_CD ==> pull up + * SD_WP ==> pull up + * SD_CMD ==> pull up + * SD_CLK ==> pull down + */ +static const u32 rtl8411_sd_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xA9), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x09), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x09), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04), + 0, +}; + +/* SD Pull Control Disable: + * SD_DAT[3:0] ==> pull down + * SD_CD ==> pull up + * SD_WP ==> pull down + * SD_CMD ==> pull down + * SD_CLK ==> pull down + */ +static const u32 rtl8411_sd_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x65), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x95), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x09), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04), + 0, +}; + +/* MS Pull Control Enable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rtl8411_ms_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x65), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x95), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x05), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04), + 0, +}; + +/* MS Pull Control Disable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rtl8411_ms_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x65), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x95), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x09), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04), + 0, +}; + +static const u32 rtl8411b_qfn64_sd_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x09 | 0xD0), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x09 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn48_sd_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x69 | 0x90), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x08 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn64_sd_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x65), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x05 | 0xD0), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x09 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn48_sd_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x65 | 0x90), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn64_ms_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x65), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x05 | 0xD0), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x05 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn48_ms_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x65 | 0x90), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn64_ms_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL1, 0x65), + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x05 | 0xD0), + RTSX_REG_PAIR(CARD_PULL_CTL4, 0x09 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x05 | 0x50), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +static const u32 rtl8411b_qfn48_ms_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0x65 | 0x90), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x04 | 0x11), + 0, +}; + +void rtl8411_init_params(struct rtsx_pcr *pcr) +{ + pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; + pcr->num_slots = 2; + pcr->ops = &rtl8411_pcr_ops; + + pcr->flags = 0; + pcr->card_drive_sel = RTL8411_CARD_DRIVE_DEFAULT; + pcr->sd30_drive_sel_1v8 = DRIVER_TYPE_B; + pcr->sd30_drive_sel_3v3 = DRIVER_TYPE_D; + pcr->aspm_en = ASPM_L1_EN; + + pcr->ic_version = rtl8411_get_ic_version(pcr); + pcr->sd_pull_ctl_enable_tbl = rtl8411_sd_pull_ctl_enable_tbl; + pcr->sd_pull_ctl_disable_tbl = rtl8411_sd_pull_ctl_disable_tbl; + pcr->ms_pull_ctl_enable_tbl = rtl8411_ms_pull_ctl_enable_tbl; + pcr->ms_pull_ctl_disable_tbl = rtl8411_ms_pull_ctl_disable_tbl; +} + +void rtl8411b_init_params(struct rtsx_pcr *pcr) +{ + pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; + pcr->num_slots = 2; + pcr->ops = &rtl8411b_pcr_ops; + + pcr->flags = 0; + pcr->card_drive_sel = RTL8411_CARD_DRIVE_DEFAULT; + pcr->sd30_drive_sel_1v8 = DRIVER_TYPE_B; + pcr->sd30_drive_sel_3v3 = DRIVER_TYPE_D; + pcr->aspm_en = ASPM_L1_EN; + + pcr->ic_version = rtl8411_get_ic_version(pcr); + + if (rtl8411b_is_qfn48(pcr)) { + pcr->sd_pull_ctl_enable_tbl = + rtl8411b_qfn48_sd_pull_ctl_enable_tbl; + pcr->sd_pull_ctl_disable_tbl = + rtl8411b_qfn48_sd_pull_ctl_disable_tbl; + pcr->ms_pull_ctl_enable_tbl = + rtl8411b_qfn48_ms_pull_ctl_enable_tbl; + pcr->ms_pull_ctl_disable_tbl = + rtl8411b_qfn48_ms_pull_ctl_disable_tbl; + } else { + pcr->sd_pull_ctl_enable_tbl = + rtl8411b_qfn64_sd_pull_ctl_enable_tbl; + pcr->sd_pull_ctl_disable_tbl = + rtl8411b_qfn64_sd_pull_ctl_disable_tbl; + pcr->ms_pull_ctl_enable_tbl = + rtl8411b_qfn64_ms_pull_ctl_enable_tbl; + pcr->ms_pull_ctl_disable_tbl = + rtl8411b_qfn64_ms_pull_ctl_disable_tbl; + } +} --- linux-lts-quantal-3.5.0.orig/drivers/mfd/rtsx_pcr.c +++ linux-lts-quantal-3.5.0/drivers/mfd/rtsx_pcr.c @@ -0,0 +1,1340 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "rtsx_pcr.h" + +static bool msi_en = true; +module_param(msi_en, bool, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(msi_en, "Enable MSI"); + +static DEFINE_IDR(rtsx_pci_idr); +static DEFINE_SPINLOCK(rtsx_pci_lock); + +static struct mfd_cell rtsx_pcr_cells[] = { + [RTSX_SD_CARD] = { + .name = DRV_NAME_RTSX_PCI_SDMMC, + }, + [RTSX_MS_CARD] = { + .name = DRV_NAME_RTSX_PCI_MS, + }, +}; + +static DEFINE_PCI_DEVICE_TABLE(rtsx_pci_ids) = { + { PCI_DEVICE(0x10EC, 0x5209), PCI_CLASS_OTHERS << 16, 0xFF0000 }, + { PCI_DEVICE(0x10EC, 0x5229), PCI_CLASS_OTHERS << 16, 0xFF0000 }, + { PCI_DEVICE(0x10EC, 0x5289), PCI_CLASS_OTHERS << 16, 0xFF0000 }, + { PCI_DEVICE(0x10EC, 0x5227), PCI_CLASS_OTHERS << 16, 0xFF0000 }, + { PCI_DEVICE(0x10EC, 0x5287), PCI_CLASS_OTHERS << 16, 0xFF0000 }, + { 0, } +}; + +MODULE_DEVICE_TABLE(pci, rtsx_pci_ids); + +void rtsx_pci_start_run(struct rtsx_pcr *pcr) +{ + /* If pci device removed, don't queue idle work any more */ + if (pcr->remove_pci) + return; + + if (pcr->state != PDEV_STAT_RUN) { + pcr->state = PDEV_STAT_RUN; + if (pcr->ops->enable_auto_blink) + pcr->ops->enable_auto_blink(pcr); + + if (pcr->aspm_en) + rtsx_pci_write_config_byte(pcr, LCTLR, 0); + } + + cancel_delayed_work(&pcr->idle_work); + queue_delayed_work(system_wq, &pcr->idle_work, msecs_to_jiffies(200)); +} +EXPORT_SYMBOL_GPL(rtsx_pci_start_run); + +int rtsx_pci_write_register(struct rtsx_pcr *pcr, u16 addr, u8 mask, u8 data) +{ + int i; + u32 val = HAIMR_WRITE_START; + + val |= (u32)(addr & 0x3FFF) << 16; + val |= (u32)mask << 8; + val |= (u32)data; + + rtsx_pci_writel(pcr, RTSX_HAIMR, val); + + for (i = 0; i < MAX_RW_REG_CNT; i++) { + val = rtsx_pci_readl(pcr, RTSX_HAIMR); + if ((val & HAIMR_TRANS_END) == 0) { + if (data != (u8)val) + return -EIO; + return 0; + } + } + + return -ETIMEDOUT; +} +EXPORT_SYMBOL_GPL(rtsx_pci_write_register); + +int rtsx_pci_read_register(struct rtsx_pcr *pcr, u16 addr, u8 *data) +{ + u32 val = HAIMR_READ_START; + int i; + + val |= (u32)(addr & 0x3FFF) << 16; + rtsx_pci_writel(pcr, RTSX_HAIMR, val); + + for (i = 0; i < MAX_RW_REG_CNT; i++) { + val = rtsx_pci_readl(pcr, RTSX_HAIMR); + if ((val & HAIMR_TRANS_END) == 0) + break; + } + + if (i >= MAX_RW_REG_CNT) + return -ETIMEDOUT; + + if (data) + *data = (u8)(val & 0xFF); + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_read_register); + +int rtsx_pci_write_phy_register(struct rtsx_pcr *pcr, u8 addr, u16 val) +{ + int err, i, finished = 0; + u8 tmp; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PHYDATA0, 0xFF, (u8)val); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PHYDATA1, 0xFF, (u8)(val >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PHYADDR, 0xFF, addr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PHYRWCTL, 0xFF, 0x81); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + for (i = 0; i < 100000; i++) { + err = rtsx_pci_read_register(pcr, PHYRWCTL, &tmp); + if (err < 0) + return err; + + if (!(tmp & 0x80)) { + finished = 1; + break; + } + } + + if (!finished) + return -ETIMEDOUT; + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_write_phy_register); + +int rtsx_pci_read_phy_register(struct rtsx_pcr *pcr, u8 addr, u16 *val) +{ + int err, i, finished = 0; + u16 data; + u8 *ptr, tmp; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PHYADDR, 0xFF, addr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PHYRWCTL, 0xFF, 0x80); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + for (i = 0; i < 100000; i++) { + err = rtsx_pci_read_register(pcr, PHYRWCTL, &tmp); + if (err < 0) + return err; + + if (!(tmp & 0x80)) { + finished = 1; + break; + } + } + + if (!finished) + return -ETIMEDOUT; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, READ_REG_CMD, PHYDATA0, 0, 0); + rtsx_pci_add_cmd(pcr, READ_REG_CMD, PHYDATA1, 0, 0); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + ptr = rtsx_pci_get_cmd_data(pcr); + data = ((u16)ptr[1] << 8) | ptr[0]; + + if (val) + *val = data; + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_read_phy_register); + +void rtsx_pci_stop_cmd(struct rtsx_pcr *pcr) +{ + rtsx_pci_writel(pcr, RTSX_HCBCTLR, STOP_CMD); + rtsx_pci_writel(pcr, RTSX_HDBCTLR, STOP_DMA); + + rtsx_pci_write_register(pcr, DMACTL, 0x80, 0x80); + rtsx_pci_write_register(pcr, RBCTL, 0x80, 0x80); +} +EXPORT_SYMBOL_GPL(rtsx_pci_stop_cmd); + +void rtsx_pci_add_cmd(struct rtsx_pcr *pcr, + u8 cmd_type, u16 reg_addr, u8 mask, u8 data) +{ + unsigned long flags; + u32 val = 0; + u32 *ptr = (u32 *)(pcr->host_cmds_ptr); + + val |= (u32)(cmd_type & 0x03) << 30; + val |= (u32)(reg_addr & 0x3FFF) << 16; + val |= (u32)mask << 8; + val |= (u32)data; + + spin_lock_irqsave(&pcr->lock, flags); + ptr += pcr->ci; + if (pcr->ci < (HOST_CMDS_BUF_LEN / 4)) { + put_unaligned_le32(val, ptr); + ptr++; + pcr->ci++; + } + spin_unlock_irqrestore(&pcr->lock, flags); +} +EXPORT_SYMBOL_GPL(rtsx_pci_add_cmd); + +void rtsx_pci_send_cmd_no_wait(struct rtsx_pcr *pcr) +{ + u32 val = 1 << 31; + + rtsx_pci_writel(pcr, RTSX_HCBAR, pcr->host_cmds_addr); + + val |= (u32)(pcr->ci * 4) & 0x00FFFFFF; + /* Hardware Auto Response */ + val |= 0x40000000; + rtsx_pci_writel(pcr, RTSX_HCBCTLR, val); +} +EXPORT_SYMBOL_GPL(rtsx_pci_send_cmd_no_wait); + +int rtsx_pci_send_cmd(struct rtsx_pcr *pcr, int timeout) +{ + struct completion trans_done; + u32 val = 1 << 31; + long timeleft; + unsigned long flags; + int err = 0; + + spin_lock_irqsave(&pcr->lock, flags); + + /* set up data structures for the wakeup system */ + pcr->done = &trans_done; + pcr->trans_result = TRANS_NOT_READY; + init_completion(&trans_done); + + rtsx_pci_writel(pcr, RTSX_HCBAR, pcr->host_cmds_addr); + + val |= (u32)(pcr->ci * 4) & 0x00FFFFFF; + /* Hardware Auto Response */ + val |= 0x40000000; + rtsx_pci_writel(pcr, RTSX_HCBCTLR, val); + + spin_unlock_irqrestore(&pcr->lock, flags); + + /* Wait for TRANS_OK_INT */ + timeleft = wait_for_completion_interruptible_timeout( + &trans_done, msecs_to_jiffies(timeout)); + if (timeleft <= 0) { + dev_dbg(&(pcr->pci->dev), "Timeout (%s %d)\n", + __func__, __LINE__); + err = -ETIMEDOUT; + goto finish_send_cmd; + } + + spin_lock_irqsave(&pcr->lock, flags); + if (pcr->trans_result == TRANS_RESULT_FAIL) + err = -EINVAL; + else if (pcr->trans_result == TRANS_RESULT_OK) + err = 0; + else if (pcr->trans_result == TRANS_NO_DEVICE) + err = -ENODEV; + spin_unlock_irqrestore(&pcr->lock, flags); + +finish_send_cmd: + spin_lock_irqsave(&pcr->lock, flags); + pcr->done = NULL; + spin_unlock_irqrestore(&pcr->lock, flags); + + if ((err < 0) && (err != -ENODEV)) + rtsx_pci_stop_cmd(pcr); + + if (pcr->finish_me) + complete(pcr->finish_me); + + return err; +} +EXPORT_SYMBOL_GPL(rtsx_pci_send_cmd); + +static void rtsx_pci_add_sg_tbl(struct rtsx_pcr *pcr, + dma_addr_t addr, unsigned int len, int end) +{ + u64 *ptr = (u64 *)(pcr->host_sg_tbl_ptr) + pcr->sgi; + u64 val; + u8 option = SG_VALID | SG_TRANS_DATA; + + dev_dbg(&(pcr->pci->dev), "DMA addr: 0x%x, Len: 0x%x\n", + (unsigned int)addr, len); + + if (end) + option |= SG_END; + val = ((u64)addr << 32) | ((u64)len << 12) | option; + + put_unaligned_le64(val, ptr); + ptr++; + pcr->sgi++; +} + +int rtsx_pci_transfer_data(struct rtsx_pcr *pcr, struct scatterlist *sglist, + int num_sg, bool read, int timeout) +{ + struct completion trans_done; + u8 dir; + int err = 0, i, count; + long timeleft; + unsigned long flags; + struct scatterlist *sg; + enum dma_data_direction dma_dir; + u32 val; + dma_addr_t addr; + unsigned int len; + + dev_dbg(&(pcr->pci->dev), "--> %s: num_sg = %d\n", __func__, num_sg); + + /* don't transfer data during abort processing */ + if (pcr->remove_pci) + return -EINVAL; + + if ((sglist == NULL) || (num_sg <= 0)) + return -EINVAL; + + if (read) { + dir = DEVICE_TO_HOST; + dma_dir = DMA_FROM_DEVICE; + } else { + dir = HOST_TO_DEVICE; + dma_dir = DMA_TO_DEVICE; + } + + count = dma_map_sg(&(pcr->pci->dev), sglist, num_sg, dma_dir); + if (count < 1) { + dev_err(&(pcr->pci->dev), "scatterlist map failed\n"); + return -EINVAL; + } + dev_dbg(&(pcr->pci->dev), "DMA mapping count: %d\n", count); + + val = ((u32)(dir & 0x01) << 29) | TRIG_DMA | ADMA_MODE; + pcr->sgi = 0; + for_each_sg(sglist, sg, count, i) { + addr = sg_dma_address(sg); + len = sg_dma_len(sg); + rtsx_pci_add_sg_tbl(pcr, addr, len, i == count - 1); + } + + spin_lock_irqsave(&pcr->lock, flags); + + pcr->done = &trans_done; + pcr->trans_result = TRANS_NOT_READY; + init_completion(&trans_done); + rtsx_pci_writel(pcr, RTSX_HDBAR, pcr->host_sg_tbl_addr); + rtsx_pci_writel(pcr, RTSX_HDBCTLR, val); + + spin_unlock_irqrestore(&pcr->lock, flags); + + timeleft = wait_for_completion_interruptible_timeout( + &trans_done, msecs_to_jiffies(timeout)); + if (timeleft <= 0) { + dev_dbg(&(pcr->pci->dev), "Timeout (%s %d)\n", + __func__, __LINE__); + err = -ETIMEDOUT; + goto out; + } + + spin_lock_irqsave(&pcr->lock, flags); + + if (pcr->trans_result == TRANS_RESULT_FAIL) + err = -EINVAL; + else if (pcr->trans_result == TRANS_NO_DEVICE) + err = -ENODEV; + + spin_unlock_irqrestore(&pcr->lock, flags); + +out: + spin_lock_irqsave(&pcr->lock, flags); + pcr->done = NULL; + spin_unlock_irqrestore(&pcr->lock, flags); + + dma_unmap_sg(&(pcr->pci->dev), sglist, num_sg, dma_dir); + + if ((err < 0) && (err != -ENODEV)) + rtsx_pci_stop_cmd(pcr); + + if (pcr->finish_me) + complete(pcr->finish_me); + + return err; +} +EXPORT_SYMBOL_GPL(rtsx_pci_transfer_data); + +int rtsx_pci_read_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len) +{ + int err; + int i, j; + u16 reg; + u8 *ptr; + + if (buf_len > 512) + buf_len = 512; + + ptr = buf; + reg = PPBUF_BASE2; + for (i = 0; i < buf_len / 256; i++) { + rtsx_pci_init_cmd(pcr); + + for (j = 0; j < 256; j++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, reg++, 0, 0); + + err = rtsx_pci_send_cmd(pcr, 250); + if (err < 0) + return err; + + memcpy(ptr, rtsx_pci_get_cmd_data(pcr), 256); + ptr += 256; + } + + if (buf_len % 256) { + rtsx_pci_init_cmd(pcr); + + for (j = 0; j < buf_len % 256; j++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, reg++, 0, 0); + + err = rtsx_pci_send_cmd(pcr, 250); + if (err < 0) + return err; + } + + memcpy(ptr, rtsx_pci_get_cmd_data(pcr), buf_len % 256); + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_read_ppbuf); + +int rtsx_pci_write_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len) +{ + int err; + int i, j; + u16 reg; + u8 *ptr; + + if (buf_len > 512) + buf_len = 512; + + ptr = buf; + reg = PPBUF_BASE2; + for (i = 0; i < buf_len / 256; i++) { + rtsx_pci_init_cmd(pcr); + + for (j = 0; j < 256; j++) { + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + reg++, 0xFF, *ptr); + ptr++; + } + + err = rtsx_pci_send_cmd(pcr, 250); + if (err < 0) + return err; + } + + if (buf_len % 256) { + rtsx_pci_init_cmd(pcr); + + for (j = 0; j < buf_len % 256; j++) { + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + reg++, 0xFF, *ptr); + ptr++; + } + + err = rtsx_pci_send_cmd(pcr, 250); + if (err < 0) + return err; + } + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_write_ppbuf); + +static int rtsx_pci_set_pull_ctl(struct rtsx_pcr *pcr, const u32 *tbl) +{ + int err; + + rtsx_pci_init_cmd(pcr); + + while (*tbl & 0xFFFF0000) { + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + (u16)(*tbl >> 16), 0xFF, (u8)(*tbl)); + tbl++; + } + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + return 0; +} + +int rtsx_pci_card_pull_ctl_enable(struct rtsx_pcr *pcr, int card) +{ + const u32 *tbl; + + if (card == RTSX_SD_CARD) + tbl = pcr->sd_pull_ctl_enable_tbl; + else if (card == RTSX_MS_CARD) + tbl = pcr->ms_pull_ctl_enable_tbl; + else + return -EINVAL; + + return rtsx_pci_set_pull_ctl(pcr, tbl); +} +EXPORT_SYMBOL_GPL(rtsx_pci_card_pull_ctl_enable); + +int rtsx_pci_card_pull_ctl_disable(struct rtsx_pcr *pcr, int card) +{ + const u32 *tbl; + + if (card == RTSX_SD_CARD) + tbl = pcr->sd_pull_ctl_disable_tbl; + else if (card == RTSX_MS_CARD) + tbl = pcr->ms_pull_ctl_disable_tbl; + else + return -EINVAL; + + + return rtsx_pci_set_pull_ctl(pcr, tbl); +} +EXPORT_SYMBOL_GPL(rtsx_pci_card_pull_ctl_disable); + +static void rtsx_pci_enable_bus_int(struct rtsx_pcr *pcr) +{ + pcr->bier = TRANS_OK_INT_EN | TRANS_FAIL_INT_EN | SD_INT_EN; + + if (pcr->num_slots > 1) + pcr->bier |= MS_INT_EN; + + /* Enable Bus Interrupt */ + rtsx_pci_writel(pcr, RTSX_BIER, pcr->bier); + + dev_dbg(&(pcr->pci->dev), "RTSX_BIER: 0x%08x\n", pcr->bier); +} + +static inline u8 double_ssc_depth(u8 depth) +{ + return ((depth > 1) ? (depth - 1) : depth); +} + +static u8 revise_ssc_depth(u8 ssc_depth, u8 div) +{ + if (div > CLK_DIV_1) { + if (ssc_depth > (div - 1)) + ssc_depth -= (div - 1); + else + ssc_depth = SSC_DEPTH_4M; + } + + return ssc_depth; +} + +int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, + u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk) +{ + int err, clk; + u8 N, min_N, max_N, clk_divider; + u8 mcu_cnt, div, max_div; + u8 depth[] = { + [RTSX_SSC_DEPTH_4M] = SSC_DEPTH_4M, + [RTSX_SSC_DEPTH_2M] = SSC_DEPTH_2M, + [RTSX_SSC_DEPTH_1M] = SSC_DEPTH_1M, + [RTSX_SSC_DEPTH_500K] = SSC_DEPTH_500K, + [RTSX_SSC_DEPTH_250K] = SSC_DEPTH_250K, + }; + + if (initial_mode) { + /* We use 250k(around) here, in initial stage */ + clk_divider = SD_CLK_DIVIDE_128; + card_clock = 30000000; + } else { + clk_divider = SD_CLK_DIVIDE_0; + } + err = rtsx_pci_write_register(pcr, SD_CFG1, + SD_CLK_DIVIDE_MASK, clk_divider); + if (err < 0) + return err; + + card_clock /= 1000000; + dev_dbg(&(pcr->pci->dev), "Switch card clock to %dMHz\n", card_clock); + + min_N = 80; + max_N = 208; + max_div = CLK_DIV_8; + + clk = card_clock; + if (!initial_mode && double_clk) + clk = card_clock * 2; + dev_dbg(&(pcr->pci->dev), + "Internal SSC clock: %dMHz (cur_clock = %d)\n", + clk, pcr->cur_clock); + + if (clk == pcr->cur_clock) + return 0; + + if (pcr->ops->conv_clk_and_div_n) + N = (u8)pcr->ops->conv_clk_and_div_n(clk, CLK_TO_DIV_N); + else + N = (u8)(clk - 2); + if ((clk <= 2) || (N > max_N)) + return -EINVAL; + + mcu_cnt = (u8)(125/clk + 3); + if (mcu_cnt > 15) + mcu_cnt = 15; + + /* Make sure that the SSC clock div_n is equal or greater than min_N */ + div = CLK_DIV_1; + while ((N < min_N) && (div < max_div)) { + if (pcr->ops->conv_clk_and_div_n) { + int dbl_clk = pcr->ops->conv_clk_and_div_n(N, + DIV_N_TO_CLK) * 2; + N = (u8)pcr->ops->conv_clk_and_div_n(dbl_clk, + CLK_TO_DIV_N); + } else { + N = (N + 2) * 2 - 2; + } + div++; + } + dev_dbg(&(pcr->pci->dev), "N = %d, div = %d\n", N, div); + + ssc_depth = depth[ssc_depth]; + if (double_clk) + ssc_depth = double_ssc_depth(ssc_depth); + + ssc_depth = revise_ssc_depth(ssc_depth, div); + dev_dbg(&(pcr->pci->dev), "ssc_depth = %d\n", ssc_depth); + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_CTL, + CLK_LOW_FREQ, CLK_LOW_FREQ); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_DIV, + 0xFF, (div << 4) | mcu_cnt); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL1, SSC_RSTB, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL2, + SSC_DEPTH_MASK, ssc_depth); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_DIV_N_0, 0xFF, N); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL1, SSC_RSTB, SSC_RSTB); + if (vpclk) { + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK0_CTL, + PHASE_NOT_RESET, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD_VPCLK0_CTL, + PHASE_NOT_RESET, PHASE_NOT_RESET); + } + + err = rtsx_pci_send_cmd(pcr, 2000); + if (err < 0) + return err; + + /* Wait SSC clock stable */ + udelay(10); + err = rtsx_pci_write_register(pcr, CLK_CTL, CLK_LOW_FREQ, 0); + if (err < 0) + return err; + + pcr->cur_clock = clk; + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_switch_clock); + +int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card) +{ + if (pcr->ops->card_power_on) + return pcr->ops->card_power_on(pcr, card); + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_card_power_on); + +int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card) +{ + if (pcr->ops->card_power_off) + return pcr->ops->card_power_off(pcr, card); + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_card_power_off); + +int rtsx_pci_card_exclusive_check(struct rtsx_pcr *pcr, int card) +{ + unsigned int cd_mask[] = { + [RTSX_SD_CARD] = SD_EXIST, + [RTSX_MS_CARD] = MS_EXIST + }; + + if (!(pcr->flags & PCR_MS_PMOS)) { + /* When using single PMOS, accessing card is not permitted + * if the existing card is not the designated one. + */ + if (pcr->card_exist & (~cd_mask[card])) + return -EIO; + } + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_card_exclusive_check); + +int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) +{ + if (pcr->ops->switch_output_voltage) + return pcr->ops->switch_output_voltage(pcr, voltage); + + return 0; +} +EXPORT_SYMBOL_GPL(rtsx_pci_switch_output_voltage); + +unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr) +{ + unsigned int val; + + val = rtsx_pci_readl(pcr, RTSX_BIPR); + if (pcr->ops->cd_deglitch) + val = pcr->ops->cd_deglitch(pcr); + + return val; +} +EXPORT_SYMBOL_GPL(rtsx_pci_card_exist); + +void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr) +{ + struct completion finish; + + pcr->finish_me = &finish; + init_completion(&finish); + + if (pcr->done) + complete(pcr->done); + + if (!pcr->remove_pci) + rtsx_pci_stop_cmd(pcr); + + wait_for_completion_interruptible_timeout(&finish, + msecs_to_jiffies(2)); + pcr->finish_me = NULL; +} +EXPORT_SYMBOL_GPL(rtsx_pci_complete_unfinished_transfer); + +static void rtsx_pci_card_detect(struct work_struct *work) +{ + struct delayed_work *dwork; + struct rtsx_pcr *pcr; + unsigned long flags; + unsigned int card_detect = 0, card_inserted, card_removed; + u32 irq_status; + + dwork = to_delayed_work(work); + pcr = container_of(dwork, struct rtsx_pcr, carddet_work); + + dev_dbg(&(pcr->pci->dev), "--> %s\n", __func__); + + mutex_lock(&pcr->pcr_mutex); + spin_lock_irqsave(&pcr->lock, flags); + + irq_status = rtsx_pci_readl(pcr, RTSX_BIPR); + dev_dbg(&(pcr->pci->dev), "irq_status: 0x%08x\n", irq_status); + + irq_status &= CARD_EXIST; + card_inserted = pcr->card_inserted & irq_status; + card_removed = pcr->card_removed; + pcr->card_inserted = 0; + pcr->card_removed = 0; + + spin_unlock_irqrestore(&pcr->lock, flags); + + if (card_inserted || card_removed) { + dev_dbg(&(pcr->pci->dev), + "card_inserted: 0x%x, card_removed: 0x%x\n", + card_inserted, card_removed); + + if (pcr->ops->cd_deglitch) + card_inserted = pcr->ops->cd_deglitch(pcr); + + card_detect = card_inserted | card_removed; + + pcr->card_exist |= card_inserted; + pcr->card_exist &= ~card_removed; + } + + mutex_unlock(&pcr->pcr_mutex); + + if ((card_detect & SD_EXIST) && pcr->slots[RTSX_SD_CARD].card_event) + pcr->slots[RTSX_SD_CARD].card_event( + pcr->slots[RTSX_SD_CARD].p_dev); + if ((card_detect & MS_EXIST) && pcr->slots[RTSX_MS_CARD].card_event) + pcr->slots[RTSX_MS_CARD].card_event( + pcr->slots[RTSX_MS_CARD].p_dev); +} + +static irqreturn_t rtsx_pci_isr(int irq, void *dev_id) +{ + struct rtsx_pcr *pcr = dev_id; + u32 int_reg; + + if (!pcr) + return IRQ_NONE; + + spin_lock(&pcr->lock); + + int_reg = rtsx_pci_readl(pcr, RTSX_BIPR); + /* Clear interrupt flag */ + rtsx_pci_writel(pcr, RTSX_BIPR, int_reg); + if ((int_reg & pcr->bier) == 0) { + spin_unlock(&pcr->lock); + return IRQ_NONE; + } + if (int_reg == 0xFFFFFFFF) { + spin_unlock(&pcr->lock); + return IRQ_HANDLED; + } + + int_reg &= (pcr->bier | 0x7FFFFF); + + if (int_reg & SD_INT) { + if (int_reg & SD_EXIST) { + pcr->card_inserted |= SD_EXIST; + } else { + pcr->card_removed |= SD_EXIST; + pcr->card_inserted &= ~SD_EXIST; + } + } + + if (int_reg & MS_INT) { + if (int_reg & MS_EXIST) { + pcr->card_inserted |= MS_EXIST; + } else { + pcr->card_removed |= MS_EXIST; + pcr->card_inserted &= ~MS_EXIST; + } + } + + if (int_reg & (NEED_COMPLETE_INT | DELINK_INT)) { + if (int_reg & (TRANS_FAIL_INT | DELINK_INT)) { + pcr->trans_result = TRANS_RESULT_FAIL; + if (pcr->done) + complete(pcr->done); + } else if (int_reg & TRANS_OK_INT) { + pcr->trans_result = TRANS_RESULT_OK; + if (pcr->done) + complete(pcr->done); + } + } + + if (pcr->card_inserted || pcr->card_removed) + schedule_delayed_work(&pcr->carddet_work, + msecs_to_jiffies(200)); + + spin_unlock(&pcr->lock); + return IRQ_HANDLED; +} + +static int rtsx_pci_acquire_irq(struct rtsx_pcr *pcr) +{ + dev_info(&(pcr->pci->dev), "%s: pcr->msi_en = %d, pci->irq = %d\n", + __func__, pcr->msi_en, pcr->pci->irq); + + if (request_irq(pcr->pci->irq, rtsx_pci_isr, + pcr->msi_en ? 0 : IRQF_SHARED, + DRV_NAME_RTSX_PCI, pcr)) { + dev_err(&(pcr->pci->dev), + "rtsx_sdmmc: unable to grab IRQ %d, disabling device\n", + pcr->pci->irq); + return -1; + } + + pcr->irq = pcr->pci->irq; + pci_intx(pcr->pci, !pcr->msi_en); + + return 0; +} + +static void rtsx_pci_idle_work(struct work_struct *work) +{ + struct delayed_work *dwork = to_delayed_work(work); + struct rtsx_pcr *pcr = container_of(dwork, struct rtsx_pcr, idle_work); + + dev_dbg(&(pcr->pci->dev), "--> %s\n", __func__); + + mutex_lock(&pcr->pcr_mutex); + + pcr->state = PDEV_STAT_IDLE; + + if (pcr->ops->disable_auto_blink) + pcr->ops->disable_auto_blink(pcr); + if (pcr->ops->turn_off_led) + pcr->ops->turn_off_led(pcr); + + if (pcr->aspm_en) + rtsx_pci_write_config_byte(pcr, LCTLR, pcr->aspm_en); + + mutex_unlock(&pcr->pcr_mutex); +} + +static int rtsx_pci_init_hw(struct rtsx_pcr *pcr) +{ + int err; + + rtsx_pci_writel(pcr, RTSX_HCBAR, pcr->host_cmds_addr); + + rtsx_pci_enable_bus_int(pcr); + + /* Power on SSC */ + err = rtsx_pci_write_register(pcr, FPDCTL, SSC_POWER_DOWN, 0); + if (err < 0) + return err; + + /* Wait SSC power stable */ + udelay(200); + + if (pcr->ops->optimize_phy) { + err = pcr->ops->optimize_phy(pcr); + if (err < 0) + return err; + } + + rtsx_pci_init_cmd(pcr); + + /* Set mcu_cnt to 7 to ensure data can be sampled properly */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CLK_DIV, 0x07, 0x07); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, HOST_SLEEP_STATE, 0x03, 0x00); + /* Disable card clock */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_EN, 0x1E, 0); + /* Reset ASPM state to default value */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, ASPM_FORCE_CTL, 0x3F, 0); + /* Reset delink mode */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CHANGE_LINK_STATE, 0x0A, 0); + /* Card driving select */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_DRIVE_SEL, + 0xFF, pcr->card_drive_sel); + /* Enable SSC Clock */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL1, + 0xFF, SSC_8X_EN | SSC_SEL_4M); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SSC_CTL2, 0xFF, 0x12); + /* Disable cd_pwr_save */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CHANGE_LINK_STATE, 0x16, 0x10); + /* Clear Link Ready Interrupt */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, IRQSTAT0, + LINK_RDY_INT, LINK_RDY_INT); + /* Enlarge the estimation window of PERST# glitch + * to reduce the chance of invalid card interrupt + */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PERST_GLITCH_WIDTH, 0xFF, 0x80); + /* Update RC oscillator to 400k + * bit[0] F_HIGH: for RC oscillator, Rst_value is 1'b1 + * 1: 2M 0: 400k + */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, RCCTL, 0x01, 0x00); + /* Set interrupt write clear + * bit 1: U_elbi_if_rd_clr_en + * 1: Enable ELBI interrupt[31:22] & [7:0] flag read clear + * 0: ELBI interrupt flag[31:22] & [7:0] only can be write clear + */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, NFTS_TX_CTRL, 0x02, 0); + /* Force CLKREQ# PIN to drive 0 to request clock */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PETXCFG, 0x08, 0x08); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + rtsx_pci_write_config_byte(pcr, LCTLR, 0); + + /* Enable clk_request_n to enable clock power management */ + rtsx_pci_write_config_byte(pcr, 0x81, 1); + /* Enter L1 when host tx idle */ + rtsx_pci_write_config_byte(pcr, 0x70F, 0x5B); + + if (pcr->ops->extra_init_hw) { + err = pcr->ops->extra_init_hw(pcr); + if (err < 0) + return err; + } + + /* No CD interrupt if probing driver with card inserted. + * So we need to initialize pcr->card_exist here. + */ + if (pcr->ops->cd_deglitch) + pcr->card_exist = pcr->ops->cd_deglitch(pcr); + else + pcr->card_exist = rtsx_pci_readl(pcr, RTSX_BIPR) & CARD_EXIST; + + return 0; +} + +static int rtsx_pci_init_chip(struct rtsx_pcr *pcr) +{ + int err; + + spin_lock_init(&pcr->lock); + mutex_init(&pcr->pcr_mutex); + + switch (PCI_PID(pcr)) { + default: + case 0x5209: + rts5209_init_params(pcr); + break; + + case 0x5229: + rts5229_init_params(pcr); + break; + + case 0x5289: + rtl8411_init_params(pcr); + break; + + case 0x5227: + rts5227_init_params(pcr); + break; + + case 0x5287: + rtl8411b_init_params(pcr); + break; + } + + dev_dbg(&(pcr->pci->dev), "PID: 0x%04x, IC version: 0x%02x\n", + PCI_PID(pcr), pcr->ic_version); + + pcr->slots = kcalloc(pcr->num_slots, sizeof(struct rtsx_slot), + GFP_KERNEL); + if (!pcr->slots) + return -ENOMEM; + + if (pcr->ops->fetch_vendor_settings) + pcr->ops->fetch_vendor_settings(pcr); + + dev_dbg(&(pcr->pci->dev), "pcr->aspm_en = 0x%x\n", pcr->aspm_en); + dev_dbg(&(pcr->pci->dev), "pcr->sd30_drive_sel_1v8 = 0x%x\n", + pcr->sd30_drive_sel_1v8); + dev_dbg(&(pcr->pci->dev), "pcr->sd30_drive_sel_3v3 = 0x%x\n", + pcr->sd30_drive_sel_3v3); + dev_dbg(&(pcr->pci->dev), "pcr->card_drive_sel = 0x%x\n", + pcr->card_drive_sel); + dev_dbg(&(pcr->pci->dev), "pcr->flags = 0x%x\n", pcr->flags); + + pcr->state = PDEV_STAT_IDLE; + err = rtsx_pci_init_hw(pcr); + if (err < 0) { + kfree(pcr->slots); + return err; + } + + return 0; +} + +static int __devinit rtsx_pci_probe(struct pci_dev *pcidev, + const struct pci_device_id *id) +{ + struct rtsx_pcr *pcr; + struct pcr_handle *handle; + u32 base, len; + int ret, i; + + dev_dbg(&(pcidev->dev), + ": Realtek PCI-E Card Reader found at %s [%04x:%04x] (rev %x)\n", + pci_name(pcidev), (int)pcidev->vendor, (int)pcidev->device, + (int)pcidev->revision); + + ret = pci_enable_device(pcidev); + if (ret) + return ret; + + ret = pci_request_regions(pcidev, DRV_NAME_RTSX_PCI); + if (ret) + goto disable; + + pcr = kzalloc(sizeof(*pcr), GFP_KERNEL); + if (!pcr) { + ret = -ENOMEM; + goto release_pci; + } + + handle = kzalloc(sizeof(*handle), GFP_KERNEL); + if (!handle) { + ret = -ENOMEM; + goto free_pcr; + } + handle->pcr = pcr; + + if (!idr_pre_get(&rtsx_pci_idr, GFP_KERNEL)) { + ret = -ENOMEM; + goto free_handle; + } + + spin_lock(&rtsx_pci_lock); + ret = idr_get_new(&rtsx_pci_idr, pcr, &pcr->id); + spin_unlock(&rtsx_pci_lock); + if (ret) + goto free_handle; + + pcr->pci = pcidev; + dev_set_drvdata(&pcidev->dev, handle); + + len = pci_resource_len(pcidev, 0); + base = pci_resource_start(pcidev, 0); + pcr->remap_addr = ioremap_nocache(base, len); + if (!pcr->remap_addr) { + ret = -ENOMEM; + goto free_host; + } + + pcr->rtsx_resv_buf = dma_alloc_coherent(&(pcidev->dev), + RTSX_RESV_BUF_LEN, &(pcr->rtsx_resv_buf_addr), + GFP_KERNEL); + if (pcr->rtsx_resv_buf == NULL) { + ret = -ENXIO; + goto unmap; + } + pcr->host_cmds_ptr = pcr->rtsx_resv_buf; + pcr->host_cmds_addr = pcr->rtsx_resv_buf_addr; + pcr->host_sg_tbl_ptr = pcr->rtsx_resv_buf + HOST_CMDS_BUF_LEN; + pcr->host_sg_tbl_addr = pcr->rtsx_resv_buf_addr + HOST_CMDS_BUF_LEN; + + pcr->card_inserted = 0; + pcr->card_removed = 0; + INIT_DELAYED_WORK(&pcr->carddet_work, rtsx_pci_card_detect); + INIT_DELAYED_WORK(&pcr->idle_work, rtsx_pci_idle_work); + + pcr->msi_en = msi_en; + if (pcr->msi_en) { + ret = pci_enable_msi(pcidev); + if (ret < 0) + pcr->msi_en = false; + } + + ret = rtsx_pci_acquire_irq(pcr); + if (ret < 0) + goto disable_msi; + + pci_set_master(pcidev); + synchronize_irq(pcr->irq); + + ret = rtsx_pci_init_chip(pcr); + if (ret < 0) + goto disable_irq; + + for (i = 0; i < ARRAY_SIZE(rtsx_pcr_cells); i++) { + rtsx_pcr_cells[i].platform_data = handle; + rtsx_pcr_cells[i].pdata_size = sizeof(*handle); + } + ret = mfd_add_devices(&pcidev->dev, pcr->id, rtsx_pcr_cells, + ARRAY_SIZE(rtsx_pcr_cells), NULL, 0); + if (ret < 0) + goto disable_irq; + + schedule_delayed_work(&pcr->idle_work, msecs_to_jiffies(200)); + + return 0; + +disable_irq: + free_irq(pcr->irq, (void *)pcr); +disable_msi: + if (pcr->msi_en) + pci_disable_msi(pcr->pci); + dma_free_coherent(&(pcr->pci->dev), RTSX_RESV_BUF_LEN, + pcr->rtsx_resv_buf, pcr->rtsx_resv_buf_addr); +unmap: + iounmap(pcr->remap_addr); +free_host: + dev_set_drvdata(&pcidev->dev, NULL); +free_handle: + kfree(handle); +free_pcr: + kfree(pcr); +release_pci: + pci_release_regions(pcidev); +disable: + pci_disable_device(pcidev); + + return ret; +} + +static void __devexit rtsx_pci_remove(struct pci_dev *pcidev) +{ + struct pcr_handle *handle = pci_get_drvdata(pcidev); + struct rtsx_pcr *pcr = handle->pcr; + + pcr->remove_pci = true; + + cancel_delayed_work(&pcr->carddet_work); + cancel_delayed_work(&pcr->idle_work); + + mfd_remove_devices(&pcidev->dev); + + dma_free_coherent(&(pcr->pci->dev), RTSX_RESV_BUF_LEN, + pcr->rtsx_resv_buf, pcr->rtsx_resv_buf_addr); + free_irq(pcr->irq, (void *)pcr); + if (pcr->msi_en) + pci_disable_msi(pcr->pci); + iounmap(pcr->remap_addr); + + dev_set_drvdata(&pcidev->dev, NULL); + pci_release_regions(pcidev); + pci_disable_device(pcidev); + + spin_lock(&rtsx_pci_lock); + idr_remove(&rtsx_pci_idr, pcr->id); + spin_unlock(&rtsx_pci_lock); + + kfree(pcr->slots); + kfree(pcr); + kfree(handle); + + dev_dbg(&(pcidev->dev), + ": Realtek PCI-E Card Reader at %s [%04x:%04x] has been removed\n", + pci_name(pcidev), (int)pcidev->vendor, (int)pcidev->device); +} + +#ifdef CONFIG_PM + +static int rtsx_pci_suspend(struct pci_dev *pcidev, pm_message_t state) +{ + struct pcr_handle *handle; + struct rtsx_pcr *pcr; + int ret = 0; + + dev_dbg(&(pcidev->dev), "--> %s\n", __func__); + + handle = pci_get_drvdata(pcidev); + pcr = handle->pcr; + + cancel_delayed_work(&pcr->carddet_work); + cancel_delayed_work(&pcr->idle_work); + + mutex_lock(&pcr->pcr_mutex); + + if (pcr->ops->turn_off_led) + pcr->ops->turn_off_led(pcr); + + rtsx_pci_writel(pcr, RTSX_BIER, 0); + pcr->bier = 0; + + rtsx_pci_write_register(pcr, PETXCFG, 0x08, 0x08); + rtsx_pci_write_register(pcr, HOST_SLEEP_STATE, 0x03, 0x02); + + pci_save_state(pcidev); + pci_enable_wake(pcidev, pci_choose_state(pcidev, state), 0); + pci_disable_device(pcidev); + pci_set_power_state(pcidev, pci_choose_state(pcidev, state)); + + mutex_unlock(&pcr->pcr_mutex); + return ret; +} + +static int rtsx_pci_resume(struct pci_dev *pcidev) +{ + struct pcr_handle *handle; + struct rtsx_pcr *pcr; + int ret = 0; + + dev_dbg(&(pcidev->dev), "--> %s\n", __func__); + + handle = pci_get_drvdata(pcidev); + pcr = handle->pcr; + + mutex_lock(&pcr->pcr_mutex); + + pci_set_power_state(pcidev, PCI_D0); + pci_restore_state(pcidev); + ret = pci_enable_device(pcidev); + if (ret) + goto out; + pci_set_master(pcidev); + + ret = rtsx_pci_write_register(pcr, HOST_SLEEP_STATE, 0x03, 0x00); + if (ret) + goto out; + + ret = rtsx_pci_init_hw(pcr); + if (ret) + goto out; + + schedule_delayed_work(&pcr->idle_work, msecs_to_jiffies(200)); + +out: + mutex_unlock(&pcr->pcr_mutex); + return ret; +} + +#else /* CONFIG_PM */ + +#define rtsx_pci_suspend NULL +#define rtsx_pci_resume NULL + +#endif /* CONFIG_PM */ + +static struct pci_driver rtsx_pci_driver = { + .name = DRV_NAME_RTSX_PCI, + .id_table = rtsx_pci_ids, + .probe = rtsx_pci_probe, + .remove = __devexit_p(rtsx_pci_remove), + .suspend = rtsx_pci_suspend, + .resume = rtsx_pci_resume, +}; +module_pci_driver(rtsx_pci_driver); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Wei WANG "); +MODULE_DESCRIPTION("Realtek PCI-E Card Reader Driver"); --- linux-lts-quantal-3.5.0.orig/drivers/mfd/mfd-core.c +++ linux-lts-quantal-3.5.0/drivers/mfd/mfd-core.c @@ -19,6 +19,10 @@ #include #include +static struct device_type mfd_dev_type = { + .name = "mfd_device", +}; + int mfd_cell_enable(struct platform_device *pdev) { const struct mfd_cell *cell = mfd_get_cell(pdev); @@ -88,6 +92,7 @@ goto fail_device; pdev->dev.parent = parent; + pdev->dev.type = &mfd_dev_type; if (cell->pdata_size) { ret = platform_device_add_data(pdev, @@ -183,10 +188,16 @@ static int mfd_remove_devices_fn(struct device *dev, void *c) { - struct platform_device *pdev = to_platform_device(dev); - const struct mfd_cell *cell = mfd_get_cell(pdev); + struct platform_device *pdev; + const struct mfd_cell *cell; atomic_t **usage_count = c; + if (dev->type != &mfd_dev_type) + return 0; + + pdev = to_platform_device(dev); + cell = mfd_get_cell(pdev); + /* find the base address of usage_count pointers (for freeing) */ if (!*usage_count || (cell->usage_count < *usage_count)) *usage_count = cell->usage_count; --- linux-lts-quantal-3.5.0.orig/drivers/mfd/Makefile +++ linux-lts-quantal-3.5.0/drivers/mfd/Makefile @@ -7,6 +7,9 @@ obj-$(CONFIG_MFD_SM501) += sm501.o obj-$(CONFIG_MFD_ASIC3) += asic3.o tmio_core.o +rtsx_pci-objs := rtsx_pcr.o rts5209.o rts5229.o rtl8411.o rts5227.o +obj-$(CONFIG_MFD_RTSX_PCI) += rtsx_pci.o + obj-$(CONFIG_HTC_EGPIO) += htc-egpio.o obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o obj-$(CONFIG_HTC_I2CPLD) += htc-i2cpld.o --- linux-lts-quantal-3.5.0.orig/drivers/mfd/wm8994-core.c +++ linux-lts-quantal-3.5.0/drivers/mfd/wm8994-core.c @@ -542,6 +542,7 @@ case 1: case 2: case 3: + case 4: regmap_patch = wm1811_reva_patch; patch_regs = ARRAY_SIZE(wm1811_reva_patch); break; --- linux-lts-quantal-3.5.0.orig/drivers/mfd/ezx-pcap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mfd/adp5520.c +++ linux-lts-quantal-3.5.0/drivers/mfd/adp5520.c @@ -36,6 +36,7 @@ struct blocking_notifier_head notifier_list; int irq; unsigned long id; + uint8_t mode; }; static int __adp5520_read(struct i2c_client *client, @@ -326,7 +327,10 @@ struct i2c_client *client = to_i2c_client(dev); struct adp5520_chip *chip = dev_get_drvdata(&client->dev); - adp5520_clr_bits(chip->dev, ADP5520_MODE_STATUS, ADP5520_nSTNBY); + adp5520_read(chip->dev, ADP5520_MODE_STATUS, &chip->mode); + /* All other bits are W1C */ + chip->mode &= ADP5520_BL_EN | ADP5520_DIM_EN | ADP5520_nSTNBY; + adp5520_write(chip->dev, ADP5520_MODE_STATUS, 0); return 0; } @@ -335,7 +339,7 @@ struct i2c_client *client = to_i2c_client(dev); struct adp5520_chip *chip = dev_get_drvdata(&client->dev); - adp5520_set_bits(chip->dev, ADP5520_MODE_STATUS, ADP5520_nSTNBY); + adp5520_write(chip->dev, ADP5520_MODE_STATUS, chip->mode); return 0; } #endif --- linux-lts-quantal-3.5.0.orig/drivers/mfd/wm831x-otp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mfd/88pm860x-core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mfd/max8925-core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mfd/rts5227.c +++ linux-lts-quantal-3.5.0/drivers/mfd/rts5227.c @@ -0,0 +1,285 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + * + * Roger Tseng + * No. 2, Innovation Road II, Hsinchu Science Park, Hsinchu 300, Taiwan + */ + +#include +#include +#include + +#include "rtsx_pcr.h" + +static void rts5227_fill_driving(struct rtsx_pcr *pcr, u8 voltage) +{ + u8 driving_3v3[4][3] = { + {0x13, 0x13, 0x13}, + {0x96, 0x96, 0x96}, + {0x7F, 0x7F, 0x7F}, + {0x96, 0x96, 0x96}, + }; + u8 driving_1v8[4][3] = { + {0x99, 0x99, 0x99}, + {0xAA, 0xAA, 0xAA}, + {0xFE, 0xFE, 0xFE}, + {0xB3, 0xB3, 0xB3}, + }; + u8 (*driving)[3], drive_sel; + + if (voltage == OUTPUT_3V3) { + driving = driving_3v3; + drive_sel = pcr->sd30_drive_sel_3v3; + } else { + driving = driving_1v8; + drive_sel = pcr->sd30_drive_sel_1v8; + } + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_CLK_DRIVE_SEL, + 0xFF, driving[drive_sel][0]); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_CMD_DRIVE_SEL, + 0xFF, driving[drive_sel][1]); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, SD30_DAT_DRIVE_SEL, + 0xFF, driving[drive_sel][2]); +} + +static void rts5227_fetch_vendor_settings(struct rtsx_pcr *pcr) +{ + u32 reg; + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG1, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG1, reg); + + if (!rtsx_vendor_setting_valid(reg)) + return; + + pcr->aspm_en = rtsx_reg_to_aspm(reg); + pcr->sd30_drive_sel_1v8 = rtsx_reg_to_sd30_drive_sel_1v8(reg); + pcr->card_drive_sel &= 0x3F; + pcr->card_drive_sel |= rtsx_reg_to_card_drive_sel(reg); + + rtsx_pci_read_config_dword(pcr, PCR_SETTING_REG2, ®); + dev_dbg(&(pcr->pci->dev), "Cfg 0x%x: 0x%x\n", PCR_SETTING_REG2, reg); + pcr->sd30_drive_sel_3v3 = rtsx_reg_to_sd30_drive_sel_3v3(reg); + if (rtsx_reg_check_reverse_socket(reg)) + pcr->flags |= PCR_REVERSE_SOCKET; +} + +static int rts5227_extra_init_hw(struct rtsx_pcr *pcr) +{ + u16 cap; + + rtsx_pci_init_cmd(pcr); + + /* Configure GPIO as output */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, GPIO_CTL, 0x02, 0x02); + /* Switch LDO3318 source from DV33 to card_3v3 */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_PWR_SEL, 0x03, 0x00); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LDO_PWR_SEL, 0x03, 0x01); + /* LED shine disabled, set initial shine cycle period */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, OLT_LED_CTL, 0x0F, 0x02); + /* Configure LTR */ + /*pcie_capability_read_word(pcr->pci, PCI_EXP_DEVCTL2, &cap);*/ cap=0; /*backport*/ + if (cap & PCI_EXP_LTR_EN) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, LTR_CTL, 0xFF, 0xA3); + /* Configure OBFF */ + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, OBFF_CFG, 0x03, 0x03); + /* Configure driving */ + rts5227_fill_driving(pcr, OUTPUT_3V3); + /* Configure force_clock_req */ + if (pcr->flags & PCR_REVERSE_SOCKET) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + AUTOLOAD_CFG_BASE + 3, 0xB8, 0xB8); + else + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + AUTOLOAD_CFG_BASE + 3, 0xB8, 0x88); + + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rts5227_optimize_phy(struct rtsx_pcr *pcr) +{ + /* Optimize RX sensitivity */ + return rtsx_pci_write_phy_register(pcr, 0x00, 0xBA42); +} + +static int rts5227_turn_on_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, GPIO_CTL, 0x02, 0x02); +} + +static int rts5227_turn_off_led(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, GPIO_CTL, 0x02, 0x00); +} + +static int rts5227_enable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, OLT_LED_CTL, 0x08, 0x08); +} + +static int rts5227_disable_auto_blink(struct rtsx_pcr *pcr) +{ + return rtsx_pci_write_register(pcr, OLT_LED_CTL, 0x08, 0x00); +} + +static int rts5227_card_power_on(struct rtsx_pcr *pcr, int card) +{ + int err; + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + SD_POWER_MASK, SD_PARTIAL_POWER_ON); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x02); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + /* To avoid too large in-rush current */ + udelay(150); + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + SD_POWER_MASK, SD_POWER_ON); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0x06); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + return 0; +} + +static int rts5227_card_power_off(struct rtsx_pcr *pcr, int card) +{ + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_PWR_CTL, + SD_POWER_MASK | PMOS_STRG_MASK, + SD_POWER_OFF | PMOS_STRG_400mA); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, PWR_GATE_CTRL, + LDO3318_PWR_MASK, 0X00); + return rtsx_pci_send_cmd(pcr, 100); +} + +static int rts5227_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage) +{ + int err; + + if (voltage == OUTPUT_3V3) { + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4FC0 | 0x24); + if (err < 0) + return err; + } else if (voltage == OUTPUT_1V8) { + err = rtsx_pci_write_phy_register(pcr, 0x11, 0x3C02); + if (err < 0) + return err; + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4C80 | 0x24); + if (err < 0) + return err; + } else { + return -EINVAL; + } + + /* set pad drive */ + rtsx_pci_init_cmd(pcr); + rts5227_fill_driving(pcr, voltage); + return rtsx_pci_send_cmd(pcr, 100); +} + +static const struct pcr_ops rts5227_pcr_ops = { + .fetch_vendor_settings = rts5227_fetch_vendor_settings, + .extra_init_hw = rts5227_extra_init_hw, + .optimize_phy = rts5227_optimize_phy, + .turn_on_led = rts5227_turn_on_led, + .turn_off_led = rts5227_turn_off_led, + .enable_auto_blink = rts5227_enable_auto_blink, + .disable_auto_blink = rts5227_disable_auto_blink, + .card_power_on = rts5227_card_power_on, + .card_power_off = rts5227_card_power_off, + .switch_output_voltage = rts5227_switch_output_voltage, + .cd_deglitch = NULL, + .conv_clk_and_div_n = NULL, +}; + +/* SD Pull Control Enable: + * SD_DAT[3:0] ==> pull up + * SD_CD ==> pull up + * SD_WP ==> pull up + * SD_CMD ==> pull up + * SD_CLK ==> pull down + */ +static const u32 rts5227_sd_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0xAA), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xE9), + 0, +}; + +/* SD Pull Control Disable: + * SD_DAT[3:0] ==> pull down + * SD_CD ==> pull up + * SD_WP ==> pull down + * SD_CMD ==> pull down + * SD_CLK ==> pull down + */ +static const u32 rts5227_sd_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL2, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL3, 0xD5), + 0, +}; + +/* MS Pull Control Enable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rts5227_ms_pull_ctl_enable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x15), + 0, +}; + +/* MS Pull Control Disable: + * MS CD ==> pull up + * others ==> pull down + */ +static const u32 rts5227_ms_pull_ctl_disable_tbl[] = { + RTSX_REG_PAIR(CARD_PULL_CTL5, 0x55), + RTSX_REG_PAIR(CARD_PULL_CTL6, 0x15), + 0, +}; + +void rts5227_init_params(struct rtsx_pcr *pcr) +{ + pcr->extra_caps = EXTRA_CAPS_SD_SDR50 | EXTRA_CAPS_SD_SDR104; + pcr->num_slots = 2; + pcr->ops = &rts5227_pcr_ops; + + pcr->flags = 0; + pcr->card_drive_sel = RTSX_CARD_DRIVE_DEFAULT; + pcr->sd30_drive_sel_1v8 = CFG_DRIVER_TYPE_B; + pcr->sd30_drive_sel_3v3 = CFG_DRIVER_TYPE_B; + pcr->aspm_en = ASPM_L1_EN; + + pcr->sd_pull_ctl_enable_tbl = rts5227_sd_pull_ctl_enable_tbl; + pcr->sd_pull_ctl_disable_tbl = rts5227_sd_pull_ctl_disable_tbl; + pcr->ms_pull_ctl_enable_tbl = rts5227_ms_pull_ctl_enable_tbl; + pcr->ms_pull_ctl_disable_tbl = rts5227_ms_pull_ctl_disable_tbl; +} --- linux-lts-quantal-3.5.0.orig/drivers/dma/ep93xx_dma.c +++ linux-lts-quantal-3.5.0/drivers/dma/ep93xx_dma.c @@ -1118,7 +1118,7 @@ * @chan: channel * @dma_addr: DMA mapped address of the buffer * @buf_len: length of the buffer (in bytes) - * @period_len: lenght of a single period + * @period_len: length of a single period * @dir: direction of the operation * @context: operation context (ignored) * --- linux-lts-quantal-3.5.0.orig/drivers/dma/intel_mid_dma_regs.h +++ linux-lts-quantal-3.5.0/drivers/dma/intel_mid_dma_regs.h @@ -168,9 +168,9 @@ * @active_list: current active descriptors * @queue: current queued up descriptors * @free_list: current free descriptors - * @slave: dma slave struture - * @descs_allocated: total number of decsiptors allocated - * @dma: dma device struture pointer + * @slave: dma slave structure + * @descs_allocated: total number of descriptors allocated + * @dma: dma device structure pointer * @busy: bool representing if ch is busy (active txn) or not * @in_use: bool representing if ch is in use or not * @raw_tfr: raw trf interrupt received --- linux-lts-quantal-3.5.0.orig/drivers/dma/sirf-dma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/dma/dmaengine.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/dma/ste_dma40.c +++ linux-lts-quantal-3.5.0/drivers/dma/ste_dma40.c @@ -1393,10 +1393,13 @@ return; } - if (d40_queue_start(d40c) == NULL) + if (d40_queue_start(d40c) == NULL) { d40c->busy = false; - pm_runtime_mark_last_busy(d40c->base->dev); - pm_runtime_put_autosuspend(d40c->base->dev); + + pm_runtime_mark_last_busy(d40c->base->dev); + pm_runtime_put_autosuspend(d40c->base->dev); + } + } d40c->pending_tx++; --- linux-lts-quantal-3.5.0.orig/drivers/dma/imx-dma.c +++ linux-lts-quantal-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]; @@ -373,17 +374,18 @@ struct imxdma_engine *imxdma = imxdmac->imxdma; int chno = imxdmac->channel; struct imxdma_desc *desc; + unsigned long flags; - spin_lock(&imxdma->lock); + spin_lock_irqsave(&imxdma->lock, flags); if (list_empty(&imxdmac->ld_active)) { - spin_unlock(&imxdma->lock); + spin_unlock_irqrestore(&imxdma->lock, flags); goto out; } desc = list_first_entry(&imxdmac->ld_active, struct imxdma_desc, node); - spin_unlock(&imxdma->lock); + spin_unlock_irqrestore(&imxdma->lock, flags); if (desc->sg) { u32 tmp; @@ -455,7 +457,6 @@ { struct imxdma_channel *imxdmac = to_imxdma_chan(d->desc.chan); struct imxdma_engine *imxdma = imxdmac->imxdma; - unsigned long flags; int slot = -1; int i; @@ -463,7 +464,6 @@ switch (d->type) { case IMXDMA_DESC_INTERLEAVED: /* Try to get a free 2D slot */ - spin_lock_irqsave(&imxdma->lock, flags); for (i = 0; i < IMX_DMA_2D_SLOTS; i++) { if ((imxdma->slots_2d[i].count > 0) && ((imxdma->slots_2d[i].xsr != d->x) || @@ -483,7 +483,6 @@ imxdmac->slot_2d = slot; imxdmac->enabled_2d = true; - spin_unlock_irqrestore(&imxdma->lock, flags); if (slot == IMX_DMA_2D_SLOT_A) { d->config_mem &= ~CCR_MSEL_B; @@ -559,20 +558,19 @@ struct imxdma_channel *imxdmac = (void *)data; struct imxdma_engine *imxdma = imxdmac->imxdma; struct imxdma_desc *desc; + unsigned long flags; - spin_lock(&imxdma->lock); + spin_lock_irqsave(&imxdma->lock, flags); if (list_empty(&imxdmac->ld_active)) { /* Someone might have called terminate all */ - goto out; + spin_unlock_irqrestore(&imxdma->lock, flags); + return; } desc = list_first_entry(&imxdmac->ld_active, struct imxdma_desc, node); - if (desc->desc.callback) - desc->desc.callback(desc->desc.callback_param); - - /* If we are dealing with a cyclic descriptor keep it on ld_active - * and dont mark the descripor as complete. + /* If we are dealing with a cyclic descriptor, keep it on ld_active + * and dont mark the descriptor as complete. * Only in non-cyclic cases it would be marked as complete */ if (imxdma_chan_is_doing_cyclic(imxdmac)) @@ -597,7 +595,11 @@ __func__, imxdmac->channel); } out: - spin_unlock(&imxdma->lock); + spin_unlock_irqrestore(&imxdma->lock, flags); + + if (desc->desc.callback) + desc->desc.callback(desc->desc.callback_param); + } static int imxdma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd, @@ -821,7 +823,7 @@ kfree(imxdmac->sg_list); imxdmac->sg_list = kcalloc(periods + 1, - sizeof(struct scatterlist), GFP_KERNEL); + sizeof(struct scatterlist), GFP_ATOMIC); if (!imxdmac->sg_list) return NULL; @@ -976,10 +978,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 +1000,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 +1104,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 +1127,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-lts-quantal-3.5.0.orig/drivers/dma/pch_dma.c +++ linux-lts-quantal-3.5.0/drivers/dma/pch_dma.c @@ -476,7 +476,7 @@ dev_dbg(chan2dev(&pd_chan->chan), "scanned %d descriptors\n", i); if (!ret) { - ret = pdc_alloc_desc(&pd_chan->chan, GFP_NOIO); + ret = pdc_alloc_desc(&pd_chan->chan, GFP_ATOMIC); if (ret) { spin_lock(&pd_chan->lock); pd_chan->descs_allocated++; --- linux-lts-quantal-3.5.0.orig/drivers/dma/pl330.c +++ linux-lts-quantal-3.5.0/drivers/dma/pl330.c @@ -522,7 +522,7 @@ /* In the DMAC pool */ FREE, /* - * Allocted to some channel during prep_xxx + * Allocated to some channel during prep_xxx * Also may be sitting on the work_list. */ PREP, @@ -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)) { @@ -2460,10 +2462,10 @@ struct dma_pl330_chan *pch = to_pchan(chan); unsigned long flags; - spin_lock_irqsave(&pch->lock, flags); - tasklet_kill(&pch->task); + spin_lock_irqsave(&pch->lock, flags); + pl330_release_channel(pch->pl330_chid); pch->pl330_chid = NULL; @@ -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-lts-quantal-3.5.0.orig/drivers/dma/at_hdmac.c +++ linux-lts-quantal-3.5.0/drivers/dma/at_hdmac.c @@ -169,9 +169,9 @@ } /** - * atc_desc_chain - build chain adding a descripor - * @first: address of first descripor of the chain - * @prev: address of previous descripor of the chain + * atc_desc_chain - build chain adding a descriptor + * @first: address of first descriptor of the chain + * @prev: address of previous descriptor of the chain * @desc: descriptor to queue * * Called from prep_* functions @@ -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; } @@ -786,7 +797,7 @@ } /** - * atc_dma_cyclic_fill_desc - Fill one period decriptor + * atc_dma_cyclic_fill_desc - Fill one period descriptor */ static int atc_dma_cyclic_fill_desc(struct dma_chan *chan, struct at_desc *desc, --- linux-lts-quantal-3.5.0.orig/drivers/dma/fsldma.c +++ linux-lts-quantal-3.5.0/drivers/dma/fsldma.c @@ -1015,7 +1015,7 @@ /* * Programming Error * The DMA_INTERRUPT async_tx is a NULL transfer, which will - * triger a PE interrupt. + * trigger a PE interrupt. */ if (stat & FSL_DMA_SR_PE) { chan_dbg(chan, "irq: Programming Error INT\n"); --- linux-lts-quantal-3.5.0.orig/drivers/dma/ste_dma40_ll.h +++ linux-lts-quantal-3.5.0/drivers/dma/ste_dma40_ll.h @@ -202,7 +202,7 @@ /* LLI related structures */ /** - * struct d40_phy_lli - The basic configration register for each physical + * struct d40_phy_lli - The basic configuration register for each physical * channel. * * @reg_cfg: The configuration register. --- linux-lts-quantal-3.5.0.orig/drivers/dma/ioat/dma_v3.c +++ linux-lts-quantal-3.5.0/drivers/dma/ioat/dma_v3.c @@ -951,7 +951,7 @@ goto free_resources; } } - dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_TO_DEVICE); + dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_FROM_DEVICE); /* skip validate if the capability is not present */ if (!dma_has_cap(DMA_XOR_VAL, dma_chan->device->cap_mask)) --- linux-lts-quantal-3.5.0.orig/drivers/dma/ppc4xx/adma.c +++ linux-lts-quantal-3.5.0/drivers/dma/ppc4xx/adma.c @@ -4446,7 +4446,7 @@ ret = -ENOMEM; goto err_dma_alloc; } - dev_dbg(&ofdev->dev, "allocted descriptor pool virt 0x%p phys 0x%llx\n", + dev_dbg(&ofdev->dev, "allocated descriptor pool virt 0x%p phys 0x%llx\n", adev->dma_desc_pool_virt, (u64)adev->dma_desc_pool); regs = ioremap(res.start, resource_size(&res)); --- linux-lts-quantal-3.5.0.orig/drivers/acpi/video.c +++ linux-lts-quantal-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 */ @@ -389,6 +397,12 @@ return 0; } +static int video_ignore_initial_backlight(const struct dmi_system_id *d) +{ + use_bios_initial_backlight = 0; + return 0; +} + static struct dmi_system_id video_dmi_table[] __initdata = { /* * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 @@ -433,6 +447,46 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720"), }, }, + { + .callback = video_ignore_initial_backlight, + .ident = "HP Folio 13-2000", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13 - 2000 Notebook PC"), + }, + }, + { + .callback = video_ignore_initial_backlight, + .ident = "HP Pavilion dm4", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dm4 Notebook PC"), + }, + }, + { + .callback = video_ignore_initial_backlight, + .ident = "HP Pavilion g6 Notebook PC", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion g6 Notebook PC"), + }, + }, + { + .callback = video_ignore_initial_backlight, + .ident = "HP 1000 Notebook PC", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP 1000 Notebook PC"), + }, + }, + { + .callback = video_ignore_initial_backlight, + .ident = "HP Pavilion m4", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion m4 Notebook PC"), + }, + }, {} }; @@ -1345,12 +1399,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 +1482,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) @@ -1448,8 +1505,7 @@ case ACPI_VIDEO_NOTIFY_SWITCH: /* User requested a switch, * most likely via hotkey. */ acpi_bus_generate_proc_event(device, event, 0); - if (!acpi_notifier_call_chain(device, event, 0)) - keycode = KEY_SWITCHVIDEOMODE; + keycode = KEY_SWITCHVIDEOMODE; break; case ACPI_VIDEO_NOTIFY_PROBE: /* User plugged in or removed a video @@ -1479,8 +1535,9 @@ break; } - if (event != ACPI_VIDEO_NOTIFY_SWITCH) - acpi_notifier_call_chain(device, event, 0); + if (acpi_notifier_call_chain(device, event, 0)) + /* Something vetoed the keypress. */ + keycode = 0; if (keycode) { input_report_key(input, keycode, 1); --- linux-lts-quantal-3.5.0.orig/drivers/acpi/acpi_memhotplug.c +++ linux-lts-quantal-3.5.0/drivers/acpi/acpi_memhotplug.c @@ -421,6 +421,7 @@ /* Get the range from the _CRS */ result = acpi_memory_get_device_resources(mem_device); if (result) { + device->driver_data = NULL; kfree(mem_device); return result; } --- linux-lts-quantal-3.5.0.orig/drivers/acpi/scan.c +++ linux-lts-quantal-3.5.0/drivers/acpi/scan.c @@ -789,8 +789,8 @@ static void acpi_bus_set_run_wake_flags(struct acpi_device *device) { struct acpi_device_id button_device_ids[] = { - {"PNP0C0D", 0}, {"PNP0C0C", 0}, + {"PNP0C0D", 0}, {"PNP0C0E", 0}, {"", 0}, }; @@ -802,6 +802,11 @@ /* Power button, Lid switch always enable wakeup */ if (!acpi_match_device_ids(device, button_device_ids)) { device->wakeup.flags.run_wake = 1; + if (!acpi_match_device_ids(device, &button_device_ids[1])) { + /* Do not use Lid/sleep button for S5 wakeup */ + if (device->wakeup.sleep_state == ACPI_STATE_S5) + device->wakeup.sleep_state = ACPI_STATE_S4; + } device_set_wakeup_capable(&device->dev, true); return; } @@ -1157,7 +1162,7 @@ acpi_add_id(device, ACPI_DOCK_HID); else if (!acpi_ibm_smbus_match(device)) acpi_add_id(device, ACPI_SMBUS_IBM_HID); - else if (!acpi_device_hid(device) && + else if (list_empty(&device->pnp.ids) && ACPI_IS_ROOT_DEVICE(device->parent)) { acpi_add_id(device, ACPI_BUS_HID); /* \_SB, LNXSYBUS */ strcpy(device->pnp.device_name, ACPI_BUS_DEVICE_NAME); --- linux-lts-quantal-3.5.0.orig/drivers/acpi/battery.c +++ linux-lts-quantal-3.5.0/drivers/acpi/battery.c @@ -34,6 +34,7 @@ #include #include #include +#include #ifdef CONFIG_ACPI_PROCFS_POWER #include @@ -95,6 +96,18 @@ ACPI_BATTERY_ALARM_PRESENT, ACPI_BATTERY_XINFO_PRESENT, ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY, + /* On Lenovo Thinkpad models from 2010 and 2011, the power unit + switches between mWh and mAh depending on whether the system + is running on battery or not. When mAh is the unit, most + reported values are incorrect and need to be adjusted by + 10000/design_voltage. Verified on x201, t410, t410s, and x220. + Pre-2010 and 2012 models appear to always report in mWh and + are thus unaffected (tested with t42, t61, t500, x200, x300, + and x230). Also, in mid-2012 Lenovo issued a BIOS update for + the 2011 models that fixes the issue (tested on x220 with a + post-1.29 BIOS), but as of Nov. 2012, no such update is + available for the 2010 models. */ + ACPI_BATTERY_QUIRK_THINKPAD_MAH, }; struct acpi_battery { @@ -104,6 +117,7 @@ struct acpi_device *device; struct notifier_block pm_nb; unsigned long update_time; + int revision; int rate_now; int capacity_now; int voltage_now; @@ -337,6 +351,7 @@ }; static struct acpi_offsets extended_info_offsets[] = { + {offsetof(struct acpi_battery, revision), 0}, {offsetof(struct acpi_battery, power_unit), 0}, {offsetof(struct acpi_battery, design_capacity), 0}, {offsetof(struct acpi_battery, full_charge_capacity), 0}, @@ -429,6 +444,21 @@ kfree(buffer.pointer); if (test_bit(ACPI_BATTERY_QUIRK_PERCENTAGE_CAPACITY, &battery->flags)) battery->full_charge_capacity = battery->design_capacity; + if (test_bit(ACPI_BATTERY_QUIRK_THINKPAD_MAH, &battery->flags) && + battery->power_unit && battery->design_voltage) { + battery->design_capacity = battery->design_capacity * + 10000 / battery->design_voltage; + battery->full_charge_capacity = battery->full_charge_capacity * + 10000 / battery->design_voltage; + battery->design_capacity_warning = + battery->design_capacity_warning * + 10000 / battery->design_voltage; + /* Curiously, design_capacity_low, unlike the rest of them, + is correct. */ + /* capacity_granularity_* equal 1 on the systems tested, so + it's impossible to tell if they would need an adjustment + or not if their values were higher. */ + } return result; } @@ -477,6 +507,11 @@ && battery->capacity_now >= 0 && battery->capacity_now <= 100) battery->capacity_now = (battery->capacity_now * battery->full_charge_capacity) / 100; + if (test_bit(ACPI_BATTERY_QUIRK_THINKPAD_MAH, &battery->flags) && + battery->power_unit && battery->design_voltage) { + battery->capacity_now = battery->capacity_now * + 10000 / battery->design_voltage; + } return result; } @@ -586,6 +621,24 @@ mutex_unlock(&battery->sysfs_lock); } +static void find_battery(const struct dmi_header *dm, void *private) +{ + struct acpi_battery *battery = (struct acpi_battery *)private; + /* Note: the hardcoded offsets below have been extracted from + the source code of dmidecode. */ + if (dm->type == DMI_ENTRY_PORTABLE_BATTERY && dm->length >= 8) { + const u8 *dmi_data = (const u8 *)(dm + 1); + int dmi_capacity = get_unaligned((const u16 *)(dmi_data + 6)); + if (dm->length >= 18) + dmi_capacity *= dmi_data[17]; + if (battery->design_capacity * battery->design_voltage / 1000 + != dmi_capacity && + battery->design_capacity * 10 == dmi_capacity) + set_bit(ACPI_BATTERY_QUIRK_THINKPAD_MAH, + &battery->flags); + } +} + /* * According to the ACPI spec, some kinds of primary batteries can * report percentage battery remaining capacity directly to OS. @@ -611,6 +664,32 @@ battery->capacity_now = (battery->capacity_now * battery->full_charge_capacity) / 100; } + + if (test_bit(ACPI_BATTERY_QUIRK_THINKPAD_MAH, &battery->flags)) + return ; + + if (battery->power_unit && dmi_name_in_vendors("LENOVO")) { + const char *s; + s = dmi_get_system_info(DMI_PRODUCT_VERSION); + if (s && !strnicmp(s, "ThinkPad", 8)) { + dmi_walk(find_battery, battery); + if (test_bit(ACPI_BATTERY_QUIRK_THINKPAD_MAH, + &battery->flags) && + battery->design_voltage) { + battery->design_capacity = + battery->design_capacity * + 10000 / battery->design_voltage; + battery->full_charge_capacity = + battery->full_charge_capacity * + 10000 / battery->design_voltage; + battery->design_capacity_warning = + battery->design_capacity_warning * + 10000 / battery->design_voltage; + battery->capacity_now = battery->capacity_now * + 10000 / battery->design_voltage; + } + } + } } static int acpi_battery_update(struct acpi_battery *battery) @@ -976,6 +1055,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 +1086,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 +1125,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 +1166,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-lts-quantal-3.5.0.orig/drivers/acpi/bus.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/acpi/processor_driver.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/acpi/ec.c +++ linux-lts-quantal-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); @@ -211,7 +217,7 @@ static int ec_poll(struct acpi_ec *ec) { unsigned long flags; - int repeat = 2; /* number of command restarts */ + int repeat = 5; /* number of command restarts */ while (repeat--) { unsigned long delay = jiffies + msecs_to_jiffies(ec_delay); @@ -229,8 +235,6 @@ } advance_transaction(ec, acpi_ec_read_status(ec)); } while (time_before(jiffies, delay)); - if (acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) - break; pr_debug(PREFIX "controller reset, restart transaction\n"); spin_lock_irqsave(&ec->curr_lock, flags); start_transaction(ec); @@ -319,7 +323,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 +928,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 +970,21 @@ { 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}, + { + ec_skip_dsdt_scan, "HP Folio 13", { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13"),}, NULL}, + { + ec_validate_ecdt, "ASUS hardware", { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTek Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "L4R"),}, NULL}, {}, }; - int __init acpi_ec_ecdt_probe(void) { acpi_status status; --- linux-lts-quantal-3.5.0.orig/drivers/acpi/sleep.c +++ linux-lts-quantal-3.5.0/drivers/acpi/sleep.c @@ -137,6 +137,188 @@ old_suspend_ordering = true; } +static int __init init_old_suspend_ordering(const struct dmi_system_id *d) +{ + acpi_old_suspend_ordering(); + return 0; +} + +static int __init init_nvs_nosave(const struct dmi_system_id *d) +{ + acpi_nvs_nosave(); + return 0; +} + +static struct dmi_system_id __initdata acpisleep_dmi_table[] = { + { + .callback = init_old_suspend_ordering, + .ident = "Abit KN9 (nForce4 variant)", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "http://www.abit.com.tw/"), + DMI_MATCH(DMI_BOARD_NAME, "KN9 Series(NF-CK804)"), + }, + }, + { + .callback = init_old_suspend_ordering, + .ident = "HP xw4600 Workstation", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP xw4600 Workstation"), + }, + }, + { + .callback = init_old_suspend_ordering, + .ident = "Asus Pundit P1-AH2 (M2N8L motherboard)", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTek Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "M2N8L"), + }, + }, + { + .callback = init_old_suspend_ordering, + .ident = "Panasonic CF51-2L", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, + "Matsushita Electric Industrial Co.,Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VGN-FW41E_H", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW41E_H"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VGN-FW21E", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21E"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VPCEB17FX", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB17FX"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VGN-SR11M", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR11M"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Everex StepNote Series", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Everex Systems, Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Everex StepNote Series"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VPCEB1Z1E", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB1Z1E"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VGN-NW130D", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-NW130D"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VPCCW29FX", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VPCCW29FX"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Averatec AV1020-ED2", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "AVERATEC"), + DMI_MATCH(DMI_PRODUCT_NAME, "1000 Series"), + }, + }, + { + .callback = init_old_suspend_ordering, + .ident = "Asus A8N-SLI DELUXE", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI DELUXE"), + }, + }, + { + .callback = init_old_suspend_ordering, + .ident = "Asus A8N-SLI Premium", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI Premium"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VGN-SR26GN_P", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR26GN_P"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VPCEB1S1E", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB1S1E"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Sony Vaio VGN-FW520F", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW520F"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Asus K54C", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "K54C"), + }, + }, + { + .callback = init_nvs_nosave, + .ident = "Asus K54HR", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "K54HR"), + }, + }, + {}, +}; + +static void acpi_sleep_dmi_check(void) +{ + dmi_check_system(acpisleep_dmi_table); +} + /** * acpi_pm_freeze - Disable the GPEs and suspend EC transactions. */ @@ -252,6 +434,7 @@ } #else /* !CONFIG_ACPI_SLEEP */ #define acpi_target_sleep_state ACPI_STATE_S0 +static inline void acpi_sleep_dmi_check(void) {} #endif /* CONFIG_ACPI_SLEEP */ #ifdef CONFIG_SUSPEND @@ -410,167 +593,6 @@ .end = acpi_pm_end, .recover = acpi_pm_finish, }; - -static int __init init_old_suspend_ordering(const struct dmi_system_id *d) -{ - old_suspend_ordering = true; - return 0; -} - -static int __init init_nvs_nosave(const struct dmi_system_id *d) -{ - acpi_nvs_nosave(); - return 0; -} - -static struct dmi_system_id __initdata acpisleep_dmi_table[] = { - { - .callback = init_old_suspend_ordering, - .ident = "Abit KN9 (nForce4 variant)", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "http://www.abit.com.tw/"), - DMI_MATCH(DMI_BOARD_NAME, "KN9 Series(NF-CK804)"), - }, - }, - { - .callback = init_old_suspend_ordering, - .ident = "HP xw4600 Workstation", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP xw4600 Workstation"), - }, - }, - { - .callback = init_old_suspend_ordering, - .ident = "Asus Pundit P1-AH2 (M2N8L motherboard)", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTek Computer INC."), - DMI_MATCH(DMI_BOARD_NAME, "M2N8L"), - }, - }, - { - .callback = init_old_suspend_ordering, - .ident = "Panasonic CF51-2L", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, - "Matsushita Electric Industrial Co.,Ltd."), - DMI_MATCH(DMI_BOARD_NAME, "CF51-2L"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VGN-FW21E", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21E"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VPCEB17FX", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB17FX"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VGN-SR11M", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR11M"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Everex StepNote Series", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Everex Systems, Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Everex StepNote Series"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VPCEB1Z1E", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB1Z1E"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VGN-NW130D", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-NW130D"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VPCCW29FX", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VPCCW29FX"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Averatec AV1020-ED2", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "AVERATEC"), - DMI_MATCH(DMI_PRODUCT_NAME, "1000 Series"), - }, - }, - { - .callback = init_old_suspend_ordering, - .ident = "Asus A8N-SLI DELUXE", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), - DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI DELUXE"), - }, - }, - { - .callback = init_old_suspend_ordering, - .ident = "Asus A8N-SLI Premium", - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), - DMI_MATCH(DMI_BOARD_NAME, "A8N-SLI Premium"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VGN-SR26GN_P", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-SR26GN_P"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Sony Vaio VGN-FW520F", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW520F"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Asus K54C", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "K54C"), - }, - }, - { - .callback = init_nvs_nosave, - .ident = "Asus K54HR", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "K54HR"), - }, - }, - {}, -}; #endif /* CONFIG_SUSPEND */ #ifdef CONFIG_HIBERNATION @@ -911,13 +933,13 @@ u8 type_a, type_b; #ifdef CONFIG_SUSPEND int i = 0; - - dmi_check_system(acpisleep_dmi_table); #endif if (acpi_disabled) return 0; + acpi_sleep_dmi_check(); + sleep_states[ACPI_STATE_S0] = 1; printk(KERN_INFO PREFIX "(supports S0"); --- linux-lts-quantal-3.5.0.orig/drivers/acpi/power.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/acpi/ac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/acpi/video_detect.c +++ linux-lts-quantal-3.5.0/drivers/acpi/video_detect.c @@ -132,6 +132,49 @@ return AE_OK; } +/* Force to use vendor driver when the ACPI device is known to be + * buggy */ +static int video_detect_force_vendor(const struct dmi_system_id *d) +{ + acpi_video_support |= ACPI_VIDEO_BACKLIGHT_DMI_VENDOR; + return 0; +} + +static struct dmi_system_id video_detect_dmi_table[] = { + /* On Samsung X360, the BIOS will set a flag (VDRV) if generic + * ACPI backlight device is used. This flag will definitively break + * the backlight interface (even the vendor interface) untill next + * reboot. It's why we should prevent video.ko from being used here + * and we can't rely on a later call to acpi_video_unregister(). + */ + { + .callback = video_detect_force_vendor, + .ident = "X360", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), + DMI_MATCH(DMI_PRODUCT_NAME, "X360"), + DMI_MATCH(DMI_BOARD_NAME, "X360"), + }, + }, + { + .callback = video_detect_force_vendor, + .ident = "Asus UL30VT", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "UL30VT"), + }, + }, + { + .callback = video_detect_force_vendor, + .ident = "Asus UL30A", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "UL30A"), + }, + }, + { }, +}; + /* * Returns the video capabilities of a specific ACPI graphics device * @@ -164,6 +207,8 @@ * ACPI_VIDEO_BACKLIGHT_DMI_VENDOR; *} */ + + dmi_check_system(video_detect_dmi_table); } else { status = acpi_bus_get_device(graphics_handle, &tmp_dev); if (ACPI_FAILURE(status)) { --- linux-lts-quantal-3.5.0.orig/drivers/acpi/osl.c +++ linux-lts-quantal-3.5.0/drivers/acpi/osl.c @@ -250,7 +250,7 @@ return acpi_rsdp; #endif - if (efi_enabled) { + if (efi_enabled(EFI_CONFIG_TABLES)) { if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) return efi.acpi20; else if (efi.acpi != EFI_INVALID_TABLE_ADDR) --- linux-lts-quantal-3.5.0.orig/drivers/acpi/processor_idle.c +++ linux-lts-quantal-3.5.0/drivers/acpi/processor_idle.c @@ -1046,6 +1046,9 @@ return -EINVAL; } + if (!dev) + return -EINVAL; + dev->cpu = pr->id; if (max_cstate == 0) @@ -1233,6 +1236,7 @@ } /* Populate Updated C-state information */ + acpi_processor_get_power_info(pr); acpi_processor_setup_cpuidle_states(pr); /* Enable all cpuidle devices */ --- linux-lts-quantal-3.5.0.orig/drivers/acpi/pci_root.c +++ linux-lts-quantal-3.5.0/drivers/acpi/pci_root.c @@ -247,8 +247,8 @@ *control &= OSC_PCI_CONTROL_MASKS; capbuf[OSC_CONTROL_TYPE] = *control | root->osc_control_set; } else { - /* Run _OSC query for all possible controls. */ - capbuf[OSC_CONTROL_TYPE] = OSC_PCI_CONTROL_MASKS; + /* Run _OSC query only with existing controls. */ + capbuf[OSC_CONTROL_TYPE] = root->osc_control_set; } status = acpi_pci_run_osc(root->device->handle, capbuf, &result); --- linux-lts-quantal-3.5.0.orig/drivers/acpi/acpica/exfldio.c +++ linux-lts-quantal-3.5.0/drivers/acpi/acpica/exfldio.c @@ -722,7 +722,19 @@ if ((obj_desc->common_field.start_field_bit_offset == 0) && (obj_desc->common_field.bit_length == access_bit_width)) { - status = acpi_ex_field_datum_io(obj_desc, 0, buffer, ACPI_READ); + if (buffer_length >= sizeof(u64)) { + status = + acpi_ex_field_datum_io(obj_desc, 0, buffer, + ACPI_READ); + } else { + /* Use raw_datum (u64) to handle buffers < 64 bits */ + + status = + acpi_ex_field_datum_io(obj_desc, 0, &raw_datum, + ACPI_READ); + ACPI_MEMCPY(buffer, &raw_datum, buffer_length); + } + return_ACPI_STATUS(status); } --- linux-lts-quantal-3.5.0.orig/drivers/acpi/acpica/hwxfsleep.c +++ linux-lts-quantal-3.5.0/drivers/acpi/acpica/hwxfsleep.c @@ -242,12 +242,14 @@ &acpi_sleep_dispatch[function_id]; #if (!ACPI_REDUCED_HARDWARE) - /* * If the Hardware Reduced flag is set (from the FADT), we must - * use the extended sleep registers + * use the extended sleep registers (FADT). Note: As per the ACPI + * specification, these extended registers are to be used for HW-reduced + * platforms only. They are not general-purpose replacements for the + * legacy PM register sleep support. */ - if (acpi_gbl_reduced_hardware || acpi_gbl_FADT.sleep_control.address) { + if (acpi_gbl_reduced_hardware) { status = sleep_functions->extended_function(sleep_state, flags); } else { /* Legacy sleep */ --- linux-lts-quantal-3.5.0.orig/drivers/acpi/acpica/tbxface.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/acpi/apei/apei-base.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/cpuidle/cpuidle.c +++ linux-lts-quantal-3.5.0/drivers/cpuidle/cpuidle.c @@ -72,7 +72,7 @@ int i, dead_state = -1; int power_usage = -1; - if (!drv) + if (!drv || !dev) return -ENODEV; /* Find lowest-power state that supports long-term idle */ --- linux-lts-quantal-3.5.0.orig/drivers/of/base.c +++ linux-lts-quantal-3.5.0/drivers/of/base.c @@ -1227,6 +1227,7 @@ ap = dt_alloc(sizeof(*ap) + len + 1, 4); if (!ap) continue; + memset(ap, 0, sizeof(*ap) + len + 1); ap->alias = start; of_alias_add(ap, np, id, start, len); } --- linux-lts-quantal-3.5.0.orig/drivers/of/fdt.c +++ linux-lts-quantal-3.5.0/drivers/of/fdt.c @@ -390,6 +390,8 @@ mem = (unsigned long) dt_alloc(size + 4, __alignof__(struct device_node)); + memset((void *)mem, 0, size); + ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeef); pr_debug(" unflattening %lx...\n", mem); --- linux-lts-quantal-3.5.0.orig/drivers/bcma/main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/bcma/driver_mips.c +++ linux-lts-quantal-3.5.0/drivers/bcma/driver_mips.c @@ -115,7 +115,7 @@ bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0)) & ~(1 << irqflag)); else - bcma_write32(mdev, BCMA_MIPS_MIPS74K_INTMASK(irq), 0); + bcma_write32(mdev, BCMA_MIPS_MIPS74K_INTMASK(oldirq), 0); /* assign the new one */ if (irq == 0) { --- linux-lts-quantal-3.5.0.orig/drivers/watchdog/watchdog_dev.c +++ linux-lts-quantal-3.5.0/drivers/watchdog/watchdog_dev.c @@ -524,6 +524,7 @@ int err, devno; if (watchdog->id == 0) { + old_wdd = watchdog; watchdog_miscdev.parent = watchdog->parent; err = misc_register(&watchdog_miscdev); if (err != 0) { @@ -532,9 +533,9 @@ if (err == -EBUSY) pr_err("%s: a legacy watchdog module is probably present.\n", watchdog->info->identity); + old_wdd = NULL; return err; } - old_wdd = watchdog; } /* Fill in the data structures */ --- linux-lts-quantal-3.5.0.orig/drivers/watchdog/hpwdt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/macvtap.c +++ linux-lts-quantal-3.5.0/drivers/net/macvtap.c @@ -534,8 +534,10 @@ return -EMSGSIZE; num_pages = get_user_pages_fast(base, size, 0, &page[i]); if (num_pages != size) { - for (i = 0; i < num_pages; i++) - put_page(page[i]); + int j; + + for (j = 0; j < num_pages; j++) + put_page(page[i + j]); return -EFAULT; } truesize = size * PAGE_SIZE; @@ -641,6 +643,28 @@ return 0; } +static unsigned long iov_pages(const struct iovec *iv, int offset, + unsigned long nr_segs) +{ + unsigned long seg, base; + int pages = 0, len, size; + + while (nr_segs && (offset >= iv->iov_len)) { + offset -= iv->iov_len; + ++iv; + --nr_segs; + } + + for (seg = 0; seg < nr_segs; seg++) { + base = (unsigned long)iv[seg].iov_base + offset; + len = iv[seg].iov_len - offset; + size = ((base & ~PAGE_MASK) + len + ~PAGE_MASK) >> PAGE_SHIFT; + pages += size; + offset = 0; + } + + return pages; +} /* Get packet from user space buffer */ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m, @@ -655,6 +679,7 @@ int vnet_hdr_len = 0; int copylen = 0; bool zerocopy = false; + size_t linear; if (q->flags & IFF_VNET_HDR) { vnet_hdr_len = q->vnet_hdr_sz; @@ -686,42 +711,35 @@ if (unlikely(count > UIO_MAXIOV)) goto err; - if (m && m->msg_control && sock_flag(&q->sk, SOCK_ZEROCOPY)) - zerocopy = true; + if (m && m->msg_control && sock_flag(&q->sk, SOCK_ZEROCOPY)) { + copylen = vnet_hdr.hdr_len ? vnet_hdr.hdr_len : GOODCOPY_LEN; + linear = copylen; + if (iov_pages(iv, vnet_hdr_len + copylen, count) + <= MAX_SKB_FRAGS) + zerocopy = true; + } - if (zerocopy) { - /* Userspace may produce vectors with count greater than - * MAX_SKB_FRAGS, so we need to linearize parts of the skb - * to let the rest of data to be fit in the frags. - */ - if (count > MAX_SKB_FRAGS) { - copylen = iov_length(iv, count - MAX_SKB_FRAGS); - if (copylen < vnet_hdr_len) - copylen = 0; - else - copylen -= vnet_hdr_len; - } - /* There are 256 bytes to be copied in skb, so there is enough - * room for skb expand head in case it is used. - * The rest buffer is mapped from userspace. - */ - if (copylen < vnet_hdr.hdr_len) - copylen = vnet_hdr.hdr_len; - if (!copylen) - copylen = GOODCOPY_LEN; - } else + if (!zerocopy) { copylen = len; + linear = vnet_hdr.hdr_len; + } skb = macvtap_alloc_skb(&q->sk, NET_IP_ALIGN, copylen, - vnet_hdr.hdr_len, noblock, &err); + linear, noblock, &err); if (!skb) goto err; if (zerocopy) err = zerocopy_sg_from_iovec(skb, iv, vnet_hdr_len, count); - else + else { err = skb_copy_datagram_from_iovec(skb, 0, iv, vnet_hdr_len, len); + if (!err && m && m->msg_control) { + struct ubuf_info *uarg = m->msg_control; + uarg->callback(uarg); + } + } + if (err) goto err_kfree; --- linux-lts-quantal-3.5.0.orig/drivers/net/veth.c +++ linux-lts-quantal-3.5.0/drivers/net/veth.c @@ -25,18 +25,15 @@ #define MIN_MTU 68 /* Min L3 MTU */ #define MAX_MTU 65535 /* Max L3 MTU (arbitrary) */ -struct veth_net_stats { - u64 rx_packets; - u64 rx_bytes; - u64 tx_packets; - u64 tx_bytes; - u64 rx_dropped; +struct pcpu_vstats { + u64 packets; + u64 bytes; struct u64_stats_sync syncp; }; struct veth_priv { - struct net_device *peer; - struct veth_net_stats __percpu *stats; + struct net_device __rcu *peer; + atomic64_t dropped; }; /* @@ -92,10 +89,10 @@ static void veth_get_ethtool_stats(struct net_device *dev, struct ethtool_stats *stats, u64 *data) { - struct veth_priv *priv; + struct veth_priv *priv = netdev_priv(dev); + struct net_device *peer = rtnl_dereference(priv->peer); - priv = netdev_priv(dev); - data[0] = priv->peer->ifindex; + data[0] = peer ? peer->ifindex : 0; } static const struct ethtool_ops veth_ethtool_ops = { @@ -107,50 +104,37 @@ .get_ethtool_stats = veth_get_ethtool_stats, }; -/* - * xmit - */ - static netdev_tx_t veth_xmit(struct sk_buff *skb, struct net_device *dev) { - struct net_device *rcv = NULL; - struct veth_priv *priv, *rcv_priv; - struct veth_net_stats *stats, *rcv_stats; - int length; - - priv = netdev_priv(dev); - rcv = priv->peer; - rcv_priv = netdev_priv(rcv); - - stats = this_cpu_ptr(priv->stats); - rcv_stats = this_cpu_ptr(rcv_priv->stats); + struct veth_priv *priv = netdev_priv(dev); + struct net_device *rcv; + int length = skb->len; + rcu_read_lock(); + rcv = rcu_dereference(priv->peer); + if (unlikely(!rcv)) { + kfree_skb(skb); + goto drop; + } /* don't change ip_summed == CHECKSUM_PARTIAL, as that - will cause bad checksum on forwarded packets */ + * will cause bad checksum on forwarded packets + */ if (skb->ip_summed == CHECKSUM_NONE && rcv->features & NETIF_F_RXCSUM) skb->ip_summed = CHECKSUM_UNNECESSARY; - length = skb->len; - if (dev_forward_skb(rcv, skb) != NET_RX_SUCCESS) - goto rx_drop; - - u64_stats_update_begin(&stats->syncp); - stats->tx_bytes += length; - stats->tx_packets++; - u64_stats_update_end(&stats->syncp); - - u64_stats_update_begin(&rcv_stats->syncp); - rcv_stats->rx_bytes += length; - rcv_stats->rx_packets++; - u64_stats_update_end(&rcv_stats->syncp); + if (likely(dev_forward_skb(rcv, skb) == NET_RX_SUCCESS)) { + struct pcpu_vstats *stats = this_cpu_ptr(dev->vstats); - return NETDEV_TX_OK; - -rx_drop: - u64_stats_update_begin(&rcv_stats->syncp); - rcv_stats->rx_dropped++; - u64_stats_update_end(&rcv_stats->syncp); + u64_stats_update_begin(&stats->syncp); + stats->bytes += length; + stats->packets++; + u64_stats_update_end(&stats->syncp); + } else { +drop: + atomic64_inc(&priv->dropped); + } + rcu_read_unlock(); return NETDEV_TX_OK; } @@ -158,47 +142,63 @@ * general routines */ -static struct rtnl_link_stats64 *veth_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *tot) +static u64 veth_stats_one(struct pcpu_vstats *result, struct net_device *dev) { struct veth_priv *priv = netdev_priv(dev); int cpu; + result->packets = 0; + result->bytes = 0; for_each_possible_cpu(cpu) { - struct veth_net_stats *stats = per_cpu_ptr(priv->stats, cpu); - u64 rx_packets, rx_bytes, rx_dropped; - u64 tx_packets, tx_bytes; + struct pcpu_vstats *stats = per_cpu_ptr(dev->vstats, cpu); + u64 packets, bytes; unsigned int start; do { start = u64_stats_fetch_begin_bh(&stats->syncp); - rx_packets = stats->rx_packets; - tx_packets = stats->tx_packets; - rx_bytes = stats->rx_bytes; - tx_bytes = stats->tx_bytes; - rx_dropped = stats->rx_dropped; + packets = stats->packets; + bytes = stats->bytes; } while (u64_stats_fetch_retry_bh(&stats->syncp, start)); - tot->rx_packets += rx_packets; - tot->tx_packets += tx_packets; - tot->rx_bytes += rx_bytes; - tot->tx_bytes += tx_bytes; - tot->rx_dropped += rx_dropped; + result->packets += packets; + result->bytes += bytes; } + return atomic64_read(&priv->dropped); +} + +static struct rtnl_link_stats64 *veth_get_stats64(struct net_device *dev, + struct rtnl_link_stats64 *tot) +{ + struct veth_priv *priv = netdev_priv(dev); + struct net_device *peer; + struct pcpu_vstats one; + + tot->tx_dropped = veth_stats_one(&one, dev); + tot->tx_bytes = one.bytes; + tot->tx_packets = one.packets; + + rcu_read_lock(); + peer = rcu_dereference(priv->peer); + if (peer) { + tot->rx_dropped = veth_stats_one(&one, peer); + tot->rx_bytes = one.bytes; + tot->rx_packets = one.packets; + } + rcu_read_unlock(); return tot; } static int veth_open(struct net_device *dev) { - struct veth_priv *priv; + struct veth_priv *priv = netdev_priv(dev); + struct net_device *peer = rtnl_dereference(priv->peer); - priv = netdev_priv(dev); - if (priv->peer == NULL) + if (!peer) return -ENOTCONN; - if (priv->peer->flags & IFF_UP) { + if (peer->flags & IFF_UP) { netif_carrier_on(dev); - netif_carrier_on(priv->peer); + netif_carrier_on(peer); } return 0; } @@ -206,9 +206,11 @@ static int veth_close(struct net_device *dev) { struct veth_priv *priv = netdev_priv(dev); + struct net_device *peer = rtnl_dereference(priv->peer); netif_carrier_off(dev); - netif_carrier_off(priv->peer); + if (peer) + netif_carrier_off(peer); return 0; } @@ -228,24 +230,16 @@ static int veth_dev_init(struct net_device *dev) { - struct veth_net_stats __percpu *stats; - struct veth_priv *priv; - - stats = alloc_percpu(struct veth_net_stats); - if (stats == NULL) + dev->vstats = alloc_percpu(struct pcpu_vstats); + if (!dev->vstats) return -ENOMEM; - priv = netdev_priv(dev); - priv->stats = stats; return 0; } static void veth_dev_free(struct net_device *dev) { - struct veth_priv *priv; - - priv = netdev_priv(dev); - free_percpu(priv->stats); + free_percpu(dev->vstats); free_netdev(dev); } @@ -259,6 +253,10 @@ .ndo_set_mac_address = eth_mac_addr, }; +#define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_ALL_TSO | \ + NETIF_F_HW_CSUM | NETIF_F_RXCSUM | NETIF_F_HIGHDMA | \ + NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX) + static void veth_setup(struct net_device *dev) { ether_setup(dev); @@ -268,9 +266,10 @@ dev->netdev_ops = &veth_netdev_ops; dev->ethtool_ops = &veth_ethtool_ops; dev->features |= NETIF_F_LLTX; + dev->features |= VETH_FEATURES; dev->destructor = veth_dev_free; - dev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_RXCSUM; + dev->hw_features = VETH_FEATURES; } /* @@ -392,10 +391,10 @@ */ priv = netdev_priv(dev); - priv->peer = peer; + rcu_assign_pointer(priv->peer, peer); priv = netdev_priv(peer); - priv->peer = dev; + rcu_assign_pointer(priv->peer, dev); return 0; err_register_dev: @@ -416,10 +415,20 @@ struct net_device *peer; priv = netdev_priv(dev); - peer = priv->peer; + peer = rtnl_dereference(priv->peer); + /* Note : dellink() is called from default_device_exit_batch(), + * before a rcu_synchronize() point. The devices are guaranteed + * not being freed before one RCU grace period. + */ + RCU_INIT_POINTER(priv->peer, NULL); unregister_netdevice_queue(dev, head); - unregister_netdevice_queue(peer, head); + + if (peer) { + priv = netdev_priv(peer); + RCU_INIT_POINTER(priv->peer, NULL); + unregister_netdevice_queue(peer, head); + } } static const struct nla_policy veth_policy[VETH_INFO_MAX + 1] = { --- linux-lts-quantal-3.5.0.orig/drivers/net/tun.c +++ linux-lts-quantal-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); } @@ -416,6 +417,8 @@ * for indefinite time. */ skb_orphan(skb); + nf_reset(skb); + /* Enqueue packet */ skb_queue_tail(&tun->socket.sk->sk_receive_queue, skb); @@ -612,8 +615,9 @@ int offset = 0; if (!(tun->flags & TUN_NO_PI)) { - if ((len -= sizeof(pi)) > count) + if (len < sizeof(pi)) return -EINVAL; + len -= sizeof(pi); if (memcpy_fromiovecend((void *)&pi, iv, 0, sizeof(pi))) return -EFAULT; @@ -621,8 +625,9 @@ } if (tun->flags & TUN_VNET_HDR) { - if ((len -= tun->vnet_hdr_sz) > count) + if (len < tun->vnet_hdr_sz) return -EINVAL; + len -= tun->vnet_hdr_sz; if (memcpy_fromiovecend((void *)&gso, iv, offset, sizeof(gso))) return -EFAULT; @@ -1115,6 +1120,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 +1258,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-lts-quantal-3.5.0.orig/drivers/net/dummy.c +++ linux-lts-quantal-3.5.0/drivers/net/dummy.c @@ -186,6 +186,8 @@ rtnl_lock(); err = __rtnl_link_register(&dummy_link_ops); + if (err < 0) + goto out; for (i = 0; i < numdummies && !err; i++) { err = dummy_init_one(); @@ -193,6 +195,8 @@ } if (err < 0) __rtnl_link_unregister(&dummy_link_ops); + +out: rtnl_unlock(); return err; --- linux-lts-quantal-3.5.0.orig/drivers/net/xen-netfront.c +++ linux-lts-quantal-3.5.0/drivers/net/xen-netfront.c @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include #include @@ -481,7 +481,6 @@ struct netfront_info *np = netdev_priv(dev); struct netfront_stats *stats = this_cpu_ptr(np->stats); struct xen_netif_tx_request *tx; - struct xen_netif_extra_info *extra; char *data = skb->data; RING_IDX i; grant_ref_t ref; @@ -492,6 +491,16 @@ unsigned int len = skb_headlen(skb); unsigned long flags; + /* If skb->len is too big for wire format, drop skb and alert + * user about misconfiguration. + */ + if (unlikely(skb->len > XEN_NETIF_MAX_TX_SIZE)) { + net_alert_ratelimited( + "xennet: skb->len = %u, too big for wire format\n", + skb->len); + goto drop; + } + frags += DIV_ROUND_UP(offset + len, PAGE_SIZE); if (unlikely(frags > MAX_SKB_FRAGS + 1)) { printk(KERN_ALERT "xennet: skb rides the rocket: %d frags\n", @@ -525,7 +534,6 @@ tx->gref = np->grant_tx_ref[id] = ref; tx->offset = offset; tx->size = len; - extra = NULL; tx->flags = 0; if (skb->ip_summed == CHECKSUM_PARTIAL) @@ -541,10 +549,7 @@ gso = (struct xen_netif_extra_info *) RING_GET_REQUEST(&np->tx, ++i); - if (extra) - extra->flags |= XEN_NETIF_EXTRA_FLAG_MORE; - else - tx->flags |= XEN_NETTXF_extra_info; + tx->flags |= XEN_NETTXF_extra_info; gso->u.gso.size = skb_shinfo(skb)->gso_size; gso->u.gso.type = XEN_NETIF_GSO_TYPE_TCPV4; @@ -553,7 +558,6 @@ gso->type = XEN_NETIF_EXTRA_TYPE_GSO; gso->flags = 0; - extra = gso; } np->tx.req_prod_pvt = i + 1; @@ -662,7 +666,7 @@ struct sk_buff *skb = xennet_get_rx_skb(np, cons); grant_ref_t ref = xennet_get_rx_ref(np, cons); int max = MAX_SKB_FRAGS + (rx->status <= RX_COPY_THRESHOLD); - int frags = 1; + int slots = 1; int err = 0; unsigned long ret; @@ -685,7 +689,7 @@ /* * This definitely indicates a bug, either in this driver or in * the backend driver. In future this should flag the bad - * situation to the system controller to reboot the backed. + * situation to the system controller to reboot the backend. */ if (ref == GRANT_INVALID_REF) { if (net_ratelimit()) @@ -706,27 +710,27 @@ if (!(rx->flags & XEN_NETRXF_more_data)) break; - if (cons + frags == rp) { + if (cons + slots == rp) { if (net_ratelimit()) - dev_warn(dev, "Need more frags\n"); + dev_warn(dev, "Need more slots\n"); err = -ENOENT; break; } - rx = RING_GET_RESPONSE(&np->rx, cons + frags); - skb = xennet_get_rx_skb(np, cons + frags); - ref = xennet_get_rx_ref(np, cons + frags); - frags++; + rx = RING_GET_RESPONSE(&np->rx, cons + slots); + skb = xennet_get_rx_skb(np, cons + slots); + ref = xennet_get_rx_ref(np, cons + slots); + slots++; } - if (unlikely(frags > max)) { + if (unlikely(slots > max)) { if (net_ratelimit()) - dev_warn(dev, "Too many frags\n"); + dev_warn(dev, "Too many slots\n"); err = -E2BIG; } if (unlikely(err)) - np->rx.rsp_cons = cons + frags; + np->rx.rsp_cons = cons + slots; return err; } @@ -1045,7 +1049,8 @@ static int xennet_change_mtu(struct net_device *dev, int mtu) { - int max = xennet_can_sg(dev) ? 65535 - ETH_HLEN : ETH_DATA_LEN; + int max = xennet_can_sg(dev) ? + XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER : ETH_DATA_LEN; if (mtu > max) return -EINVAL; @@ -1349,6 +1354,8 @@ SET_ETHTOOL_OPS(netdev, &xennet_ethtool_ops); SET_NETDEV_DEV(netdev, &dev->dev); + netif_set_gso_max_size(netdev, XEN_NETIF_MAX_TX_SIZE - MAX_TCP_HEADER); + np->netdev = netdev; netif_carrier_off(netdev); --- linux-lts-quantal-3.5.0.orig/drivers/net/netconsole.c +++ linux-lts-quantal-3.5.0/drivers/net/netconsole.c @@ -626,6 +626,7 @@ goto done; spin_lock_irqsave(&target_list_lock, flags); +restart: list_for_each_entry(nt, &target_list, list) { netconsole_target_get(nt); if (nt->np.dev == dev) { @@ -638,21 +639,17 @@ case NETDEV_UNREGISTER: /* * rtnl_lock already held + * we might sleep in __netpoll_cleanup() */ - if (nt->np.dev) { - spin_unlock_irqrestore( - &target_list_lock, - flags); - __netpoll_cleanup(&nt->np); - spin_lock_irqsave(&target_list_lock, - flags); - dev_put(nt->np.dev); - nt->np.dev = NULL; - netconsole_target_put(nt); - } + spin_unlock_irqrestore(&target_list_lock, flags); + __netpoll_cleanup(&nt->np); + spin_lock_irqsave(&target_list_lock, flags); + dev_put(nt->np.dev); + nt->np.dev = NULL; nt->enabled = 0; stopped = true; - break; + netconsole_target_put(nt); + goto restart; } } netconsole_target_put(nt); --- linux-lts-quantal-3.5.0.orig/drivers/net/loopback.c +++ linux-lts-quantal-3.5.0/drivers/net/loopback.c @@ -77,6 +77,11 @@ skb_orphan(skb); + /* Before queueing this packet to netif_rx(), + * make sure dst is refcounted. + */ + skb_dst_force(skb); + skb->protocol = eth_type_trans(skb, dev); /* it's OK to use per_cpu_ptr() because BHs are off */ --- linux-lts-quantal-3.5.0.orig/drivers/net/rionet.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/macvlan.c +++ linux-lts-quantal-3.5.0/drivers/net/macvlan.c @@ -204,7 +204,8 @@ } if (port->passthru) - vlan = list_first_entry(&port->vlans, struct macvlan_dev, list); + vlan = list_first_or_null_rcu(&port->vlans, + struct macvlan_dev, list); else vlan = macvlan_hash_lookup(port, eth->h_dest); if (vlan == NULL) @@ -628,6 +629,7 @@ ether_setup(dev); dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_TX_SKB_SHARING); + dev->priv_flags |= IFF_UNICAST_FLT; dev->netdev_ops = &macvlan_netdev_ops; dev->destructor = free_netdev; dev->header_ops = &macvlan_hard_header_ops, @@ -770,7 +772,7 @@ if (err < 0) goto destroy_port; - list_add_tail(&vlan->list, &port->vlans); + list_add_tail_rcu(&vlan->list, &port->vlans); netif_stacked_transfer_operstate(lowerdev, dev); return 0; @@ -796,7 +798,7 @@ { struct macvlan_dev *vlan = netdev_priv(dev); - list_del(&vlan->list); + list_del_rcu(&vlan->list); unregister_netdevice_queue(dev, head); } EXPORT_SYMBOL_GPL(macvlan_dellink); @@ -822,7 +824,10 @@ static size_t macvlan_get_size(const struct net_device *dev) { - return nla_total_size(4); + return (0 + + nla_total_size(4) /* IFLA_MACVLAN_MODE */ + + nla_total_size(2) /* IFLA_MACVLAN_FLAGS */ + ); } static int macvlan_fill_info(struct sk_buff *skb, --- linux-lts-quantal-3.5.0.orig/drivers/net/ifb.c +++ linux-lts-quantal-3.5.0/drivers/net/ifb.c @@ -290,11 +290,17 @@ rtnl_lock(); err = __rtnl_link_register(&ifb_link_ops); + if (err < 0) + goto out; - for (i = 0; i < numifbs && !err; i++) + for (i = 0; i < numifbs && !err; i++) { err = ifb_init_one(i); + cond_resched(); + } if (err) __rtnl_link_unregister(&ifb_link_ops); + +out: rtnl_unlock(); return err; --- linux-lts-quantal-3.5.0.orig/drivers/net/virtio_net.c +++ linux-lts-quantal-3.5.0/drivers/net/virtio_net.c @@ -528,7 +528,7 @@ { struct virtnet_info *vi = container_of(napi, struct virtnet_info, napi); void *buf; - unsigned int len, received = 0; + unsigned int r, len, received = 0; again: while (received < budget && @@ -545,8 +545,9 @@ /* Out of packets? */ if (received < budget) { + r = virtqueue_enable_cb_prepare(vi->rvq); napi_complete(napi); - if (unlikely(!virtqueue_enable_cb(vi->rvq)) && + if (unlikely(virtqueue_poll(vi->rvq, r)) && napi_schedule_prep(napi)) { virtqueue_disable_cb(vi->rvq); __napi_schedule(napi); --- linux-lts-quantal-3.5.0.orig/drivers/net/usb/sierra_net.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/usb/cdc_ether.c +++ linux-lts-quantal-3.5.0/drivers/net/usb/cdc_ether.c @@ -487,6 +487,7 @@ #define HUAWEI_VENDOR_ID 0x12D1 #define NOVATEL_VENDOR_ID 0x1410 #define ZTE_VENDOR_ID 0x19D2 +#define DELL_VENDOR_ID 0x413C static const struct usb_device_id products [] = { /* @@ -592,6 +593,53 @@ .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, +}, + +/* Dell Wireless 5800 (Novatel E362) - handled by qmi_wwan */ +{ + USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, 0x8195, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = 0, +}, + +/* Dell Wireless 5800 (Novatel E362) - handled by qmi_wwan */ +{ + USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, 0x8196, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = 0, +}, + +/* Dell Wireless 5804 (Novatel E371) - handled by qmi_wwan */ +{ + USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, 0x819b, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = 0, +}, + /* * WHITELIST!!! * @@ -604,21 +652,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 @@ -674,6 +707,11 @@ .bInterfaceProtocol = USB_CDC_PROTO_NONE, .driver_info = (unsigned long)&wwan_info, }, { + /* Telit modules */ + USB_VENDOR_AND_INTERFACE_INFO(0x1bc7, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = (kernel_ulong_t) &wwan_info, +}, { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), .driver_info = (unsigned long) &cdc_info, --- linux-lts-quantal-3.5.0.orig/drivers/net/usb/usbnet.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/usb/qmi_wwan.c +++ linux-lts-quantal-3.5.0/drivers/net/usb/qmi_wwan.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -174,6 +175,93 @@ return status; } +/* default ethernet address used by the modem */ +static const u8 default_modem_addr[ETH_ALEN] = {0x02, 0x50, 0xf3}; + +/* Make up an ethernet header if the packet doesn't have one. + * + * A firmware bug common among several devices cause them to send raw + * IP packets under some circumstances. There is no way for the + * driver/host to know when this will happen. And even when the bug + * hits, some packets will still arrive with an intact header. + * + * The supported devices are only capably of sending IPv4, IPv6 and + * ARP packets on a point-to-point link. Any packet with an ethernet + * header will have either our address or a broadcast/multicast + * address as destination. ARP packets will always have a header. + * + * This means that this function will reliably add the appropriate + * header iff necessary, provided our hardware address does not start + * with 4 or 6. + * + * Another common firmware bug results in all packets being addressed + * to 00:a0:c6:00:00:00 despite the host address being different. + * This function will also fixup such packets. + */ +static int qmi_wwan_rx_fixup(struct usbnet *dev, struct sk_buff *skb) +{ + __be16 proto; + + /* usbnet rx_complete guarantees that skb->len is at least + * hard_header_len, so we can inspect the dest address without + * checking skb->len + */ + switch (skb->data[0] & 0xf0) { + case 0x40: + proto = htons(ETH_P_IP); + break; + case 0x60: + proto = htons(ETH_P_IPV6); + break; + case 0x00: + if (is_multicast_ether_addr(skb->data)) + return 1; + /* possibly bogus destination - rewrite just in case */ + skb_reset_mac_header(skb); + goto fix_dest; + default: + /* pass along other packets without modifications */ + return 1; + } + if (skb_headroom(skb) < ETH_HLEN) + return 0; + skb_push(skb, ETH_HLEN); + skb_reset_mac_header(skb); + eth_hdr(skb)->h_proto = proto; + memset(eth_hdr(skb)->h_source, 0, ETH_ALEN); +fix_dest: + memcpy(eth_hdr(skb)->h_dest, dev->net->dev_addr, ETH_ALEN); + return 1; +} + +/* very simplistic detection of IPv4 or IPv6 headers */ +static bool possibly_iphdr(const char *data) +{ + return (data[0] & 0xd0) == 0x40; +} + +/* disallow addresses which may be confused with IP headers */ +static int qmi_wwan_mac_addr(struct net_device *dev, void *p) +{ + struct sockaddr *addr = p; + + if (!is_valid_ether_addr(addr->sa_data) || + possibly_iphdr(addr->sa_data)) + return -EADDRNOTAVAIL; + memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); + return 0; +} + +static const struct net_device_ops qmi_wwan_netdev_ops = { + .ndo_open = usbnet_open, + .ndo_stop = usbnet_stop, + .ndo_start_xmit = usbnet_start_xmit, + .ndo_tx_timeout = usbnet_tx_timeout, + .ndo_change_mtu = usbnet_change_mtu, + .ndo_set_mac_address = qmi_wwan_mac_addr, + .ndo_validate_addr = eth_validate_addr, +}; + /* using a counter to merge subdriver requests with our own into a combined state */ static int qmi_wwan_manage_power(struct usbnet *dev, int on) { @@ -257,6 +345,18 @@ /* save subdriver struct for suspend/resume wrappers */ dev->data[0] = (unsigned long)subdriver; + /* Never use the same address on both ends of the link, even + * if the buggy firmware told us to. + */ + if (!compare_ether_addr(dev->net->dev_addr, default_modem_addr)) + eth_hw_addr_random(dev->net); + + /* make MAC addr easily distinguishable from an IP header */ + if (possibly_iphdr(dev->net->dev_addr)) { + dev->net->dev_addr[0] |= 0x02; /* set local assignment bit */ + dev->net->dev_addr[0] &= 0xbf; /* clear "IP" bit */ + } + dev->net->netdev_ops = &qmi_wwan_netdev_ops; err: return rv; } @@ -326,6 +426,7 @@ .bind = qmi_wwan_bind_shared, .unbind = qmi_wwan_unbind_shared, .manage_power = qmi_wwan_manage_power, + .rx_fixup = qmi_wwan_rx_fixup, }; static const struct driver_info qmi_wwan_force_int0 = { @@ -444,6 +545,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 +563,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 +626,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 +653,68 @@ .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, + }, + { /* Dell Wireless 5800 (Novatel E362) */ + USB_DEVICE_AND_INTERFACE_INFO(0x413C, 0x8195, + USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&qmi_wwan_info, + }, + { /* Dell Wireless 5800 V2 (Novatel E362) */ + USB_DEVICE_AND_INTERFACE_INFO(0x413C, 0x8196, + USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&qmi_wwan_info, + }, + { /* Dell Wireless 5804 (Novatel E371) */ + USB_DEVICE_AND_INTERFACE_INFO(0x413C, 0x819b, + 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 +742,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 +760,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-lts-quantal-3.5.0.orig/drivers/net/usb/smsc75xx.c +++ linux-lts-quantal-3.5.0/drivers/net/usb/smsc75xx.c @@ -43,7 +43,6 @@ #define EEPROM_MAC_OFFSET (0x01) #define DEFAULT_TX_CSUM_ENABLE (true) #define DEFAULT_RX_CSUM_ENABLE (true) -#define DEFAULT_TSO_ENABLE (true) #define SMSC75XX_INTERNAL_PHY_ID (1) #define SMSC75XX_TX_OVERHEAD (8) #define MAX_RX_FIFO_SIZE (20 * 1024) @@ -724,8 +723,12 @@ static int smsc75xx_change_mtu(struct net_device *netdev, int new_mtu) { struct usbnet *dev = netdev_priv(netdev); + int ret; + + if (new_mtu > MAX_SINGLE_PACKET_SIZE) + return -EINVAL; - int ret = smsc75xx_set_rx_max_frame_length(dev, new_mtu); + ret = smsc75xx_set_rx_max_frame_length(dev, new_mtu + ETH_HLEN); check_warn_return(ret, "Failed to set mac rx frame length"); return usbnet_change_mtu(netdev, new_mtu); @@ -983,7 +986,7 @@ netif_dbg(dev, ifup, dev->net, "FCT_TX_CTL set to 0x%08x", buf); - ret = smsc75xx_set_rx_max_frame_length(dev, 1514); + ret = smsc75xx_set_rx_max_frame_length(dev, dev->net->mtu + ETH_HLEN); check_warn_return(ret, "Failed to set max rx frame length"); ret = smsc75xx_read_reg(dev, MAC_RX, &buf); @@ -1049,17 +1052,14 @@ INIT_WORK(&pdata->set_multicast, smsc75xx_deferred_multicast_write); - if (DEFAULT_TX_CSUM_ENABLE) { + if (DEFAULT_TX_CSUM_ENABLE) dev->net->features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM; - if (DEFAULT_TSO_ENABLE) - dev->net->features |= NETIF_F_SG | - NETIF_F_TSO | NETIF_F_TSO6; - } + if (DEFAULT_RX_CSUM_ENABLE) dev->net->features |= NETIF_F_RXCSUM; dev->net->hw_features = NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | - NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_RXCSUM; + NETIF_F_RXCSUM; /* Init all registers */ ret = smsc75xx_reset(dev); @@ -1127,8 +1127,8 @@ else if (rx_cmd_a & (RX_CMD_A_LONG | RX_CMD_A_RUNT)) dev->net->stats.rx_frame_errors++; } else { - /* ETH_FRAME_LEN + 4(CRC) + 2(COE) + 4(Vlan) */ - if (unlikely(size > (ETH_FRAME_LEN + 12))) { + /* MAX_SINGLE_PACKET_SIZE + 4(CRC) + 2(COE) + 4(Vlan) */ + if (unlikely(size > (MAX_SINGLE_PACKET_SIZE + ETH_HLEN + 12))) { netif_dbg(dev, rx_err, dev->net, "size err rx_cmd_a=0x%08x", rx_cmd_a); return 0; @@ -1184,8 +1184,6 @@ { u32 tx_cmd_a, tx_cmd_b; - skb_linearize(skb); - if (skb_headroom(skb) < SMSC75XX_TX_OVERHEAD) { struct sk_buff *skb2 = skb_copy_expand(skb, SMSC75XX_TX_OVERHEAD, 0, flags); --- linux-lts-quantal-3.5.0.orig/drivers/net/usb/dm9601.c +++ linux-lts-quantal-3.5.0/drivers/net/usb/dm9601.c @@ -384,7 +384,7 @@ rx_ctl |= 0x02; } else if (net->flags & IFF_ALLMULTI || netdev_mc_count(net) > DM_MAX_MCAST) { - rx_ctl |= 0x04; + rx_ctl |= 0x08; } else if (!netdev_mc_empty(net)) { struct netdev_hw_addr *ha; --- linux-lts-quantal-3.5.0.orig/drivers/net/usb/asix.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/usb/kaweth.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/usb/ipheth.c +++ linux-lts-quantal-3.5.0/drivers/net/usb/ipheth.c @@ -62,6 +62,7 @@ #define USB_PRODUCT_IPAD 0x129a #define USB_PRODUCT_IPHONE_4_VZW 0x129c #define USB_PRODUCT_IPHONE_4S 0x12a0 +#define USB_PRODUCT_IPHONE_5 0x12a8 #define IPHETH_USBINTF_CLASS 255 #define IPHETH_USBINTF_SUBCLASS 253 @@ -113,6 +114,10 @@ USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_4S, IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, IPHETH_USBINTF_PROTO) }, + { USB_DEVICE_AND_INTERFACE_INFO( + USB_VENDOR_APPLE, USB_PRODUCT_IPHONE_5, + IPHETH_USBINTF_CLASS, IPHETH_USBINTF_SUBCLASS, + IPHETH_USBINTF_PROTO) }, { } }; MODULE_DEVICE_TABLE(usb, ipheth_table); --- linux-lts-quantal-3.5.0.orig/drivers/net/ppp/pptp.c +++ linux-lts-quantal-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, @@ -281,7 +281,7 @@ nf_reset(skb); skb->ip_summed = CHECKSUM_NONE; - ip_select_ident(iph, &rt->dst, NULL); + ip_select_ident(skb, &rt->dst, NULL); ip_send_check(iph); ip_local_out(skb); @@ -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-lts-quantal-3.5.0.orig/drivers/net/ppp/pppoe.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/team/team_mode_roundrobin.c +++ linux-lts-quantal-3.5.0/drivers/net/team/team_mode_roundrobin.c @@ -52,6 +52,8 @@ port_index = rr_priv(team)->sent_packets++ % team->en_port_count; port = team_get_port_by_index_rcu(team, port_index); + if (unlikely(!port)) + goto drop; port = __get_first_port_up(team, port); if (unlikely(!port)) goto drop; --- linux-lts-quantal-3.5.0.orig/drivers/net/team/team.c +++ linux-lts-quantal-3.5.0/drivers/net/team/team.c @@ -817,8 +817,8 @@ } port->index = -1; - team_port_enable(team, port); list_add_tail_rcu(&port->list, &team->port_list); + team_port_enable(team, port); team_adjust_ops(team); __team_compute_features(team); __team_port_change_check(port, !!netif_carrier_ok(port_dev)); --- linux-lts-quantal-3.5.0.orig/drivers/net/xen-netback/netback.c +++ linux-lts-quantal-3.5.0/drivers/net/xen-netback/netback.c @@ -46,11 +46,33 @@ #include #include +/* + * This is the maximum slots a skb can have. If a guest sends a skb + * which exceeds this limit it is considered malicious. + */ +#define FATAL_SKB_SLOTS_DEFAULT 20 +static unsigned int fatal_skb_slots = FATAL_SKB_SLOTS_DEFAULT; +module_param(fatal_skb_slots, uint, 0444); + +/* + * To avoid confusion, we define XEN_NETBK_LEGACY_SLOTS_MAX indicating + * the maximum slots a valid packet can use. Now this value is defined + * to be XEN_NETIF_NR_SLOTS_MIN, which is supposed to be supported by + * all backend. + */ +#define XEN_NETBK_LEGACY_SLOTS_MAX XEN_NETIF_NR_SLOTS_MIN + +typedef unsigned int pending_ring_idx_t; +#define INVALID_PENDING_RING_IDX (~0U) + struct pending_tx_info { - struct xen_netif_tx_request req; + struct xen_netif_tx_request req; /* coalesced tx request */ struct xenvif *vif; + pending_ring_idx_t head; /* head != INVALID_PENDING_RING_IDX + * if it is head of one or more tx + * reqs + */ }; -typedef unsigned int pending_ring_idx_t; struct netbk_rx_meta { int id; @@ -101,7 +123,11 @@ atomic_t netfront_count; struct pending_tx_info pending_tx_info[MAX_PENDING_REQS]; - struct gnttab_copy tx_copy_ops[MAX_PENDING_REQS]; + /* Coalescing tx requests before copying makes number of grant + * copy ops greater or equal to number of slots required. In + * worst case a tx request consumes 2 gnttab_copy. + */ + struct gnttab_copy tx_copy_ops[2*MAX_PENDING_REQS]; u16 pending_ring[MAX_PENDING_REQS]; @@ -117,6 +143,16 @@ static struct xen_netbk *xen_netbk; static int xen_netbk_group_nr; +/* + * If head != INVALID_PENDING_RING_IDX, it means this tx request is head of + * one or more merged tx requests, otherwise it is the continuation of + * previous tx request. + */ +static inline int pending_tx_is_head(struct xen_netbk *netbk, RING_IDX idx) +{ + return netbk->pending_tx_info[idx].head != INVALID_PENDING_RING_IDX; +} + void xen_netbk_add_xenvif(struct xenvif *vif) { int i; @@ -146,7 +182,8 @@ atomic_dec(&netbk->netfront_count); } -static void xen_netbk_idx_release(struct xen_netbk *netbk, u16 pending_idx); +static void xen_netbk_idx_release(struct xen_netbk *netbk, u16 pending_idx, + u8 status); static void make_tx_response(struct xenvif *vif, struct xen_netif_tx_request *txp, s8 st); @@ -248,6 +285,7 @@ { int max = DIV_ROUND_UP(vif->dev->mtu, PAGE_SIZE); + /* XXX FIXME: RX path dependent on MAX_SKB_FRAGS */ if (vif->can_sg || vif->gso || vif->gso_prefix) max += MAX_SKB_FRAGS + 1; /* extra_info + frags */ @@ -625,6 +663,7 @@ __skb_queue_tail(&rxq, skb); /* Filled the batch queue? */ + /* XXX FIXME: RX path dependent on MAX_SKB_FRAGS */ if (count + MAX_SKB_FRAGS >= XEN_NETIF_RX_RING_SIZE) break; } @@ -850,7 +889,7 @@ do { make_tx_response(vif, txp, XEN_NETIF_RSP_ERROR); - if (cons >= end) + if (cons == end) break; txp = RING_GET_REQUEST(&vif->tx, cons++); } while (1); @@ -859,49 +898,112 @@ xenvif_put(vif); } +static void netbk_fatal_tx_err(struct xenvif *vif) +{ + netdev_err(vif->dev, "fatal error; disabling device\n"); + xenvif_carrier_off(vif); + xenvif_put(vif); +} + static int netbk_count_requests(struct xenvif *vif, struct xen_netif_tx_request *first, struct xen_netif_tx_request *txp, int work_to_do) { RING_IDX cons = vif->tx.req_cons; - int frags = 0; + int slots = 0; + int drop_err = 0; + int more_data; if (!(first->flags & XEN_NETTXF_more_data)) return 0; do { - if (frags >= work_to_do) { - netdev_dbg(vif->dev, "Need more frags\n"); - return -frags; + struct xen_netif_tx_request dropped_tx = { 0 }; + + if (slots >= work_to_do) { + netdev_err(vif->dev, + "Asked for %d slots but exceeds this limit\n", + work_to_do); + netbk_fatal_tx_err(vif); + return -ENODATA; } - if (unlikely(frags >= MAX_SKB_FRAGS)) { - netdev_dbg(vif->dev, "Too many frags\n"); - return -frags; + /* This guest is really using too many slots and + * considered malicious. + */ + if (unlikely(slots >= fatal_skb_slots)) { + netdev_err(vif->dev, + "Malicious frontend using %d slots, threshold %u\n", + slots, fatal_skb_slots); + netbk_fatal_tx_err(vif); + return -E2BIG; } - memcpy(txp, RING_GET_REQUEST(&vif->tx, cons + frags), + /* Xen network protocol had implicit dependency on + * MAX_SKB_FRAGS. XEN_NETBK_LEGACY_SLOTS_MAX is set to + * the historical MAX_SKB_FRAGS value 18 to honor the + * same behavior as before. Any packet using more than + * 18 slots but less than fatal_skb_slots slots is + * dropped + */ + if (!drop_err && slots >= XEN_NETBK_LEGACY_SLOTS_MAX) { + if (net_ratelimit()) + netdev_dbg(vif->dev, + "Too many slots (%d) exceeding limit (%d), dropping packet\n", + slots, XEN_NETBK_LEGACY_SLOTS_MAX); + drop_err = -E2BIG; + } + + if (drop_err) + txp = &dropped_tx; + + memcpy(txp, RING_GET_REQUEST(&vif->tx, cons + slots), sizeof(*txp)); - if (txp->size > first->size) { - netdev_dbg(vif->dev, "Frags galore\n"); - return -frags; + + /* If the guest submitted a frame >= 64 KiB then + * first->size overflowed and following slots will + * appear to be larger than the frame. + * + * This cannot be fatal error as there are buggy + * frontends that do this. + * + * Consume all slots and drop the packet. + */ + if (!drop_err && txp->size > first->size) { + if (net_ratelimit()) + netdev_dbg(vif->dev, + "Invalid tx request, slot size %u > remaining size %u\n", + txp->size, first->size); + drop_err = -EIO; } first->size -= txp->size; - frags++; + slots++; if (unlikely((txp->offset + txp->size) > PAGE_SIZE)) { - netdev_dbg(vif->dev, "txp->offset: %x, size: %u\n", + netdev_err(vif->dev, "Cross page boundary, txp->offset: %x, size: %u\n", txp->offset, txp->size); - return -frags; + netbk_fatal_tx_err(vif); + return -EINVAL; } - } while ((txp++)->flags & XEN_NETTXF_more_data); - return frags; + + more_data = txp->flags & XEN_NETTXF_more_data; + + if (!drop_err) + txp++; + + } while (more_data); + + if (drop_err) { + netbk_tx_err(vif, first, cons + slots); + return drop_err; + } + + return slots; } static struct page *xen_netbk_alloc_page(struct xen_netbk *netbk, - struct sk_buff *skb, u16 pending_idx) { struct page *page; @@ -922,43 +1024,123 @@ struct skb_shared_info *shinfo = skb_shinfo(skb); skb_frag_t *frags = shinfo->frags; u16 pending_idx = *((u16 *)skb->data); - int i, start; + u16 head_idx = 0; + int slot, start; + struct page *page; + pending_ring_idx_t index, start_idx = 0; + uint16_t dst_offset; + unsigned int nr_slots; + struct pending_tx_info *first = NULL; + + /* At this point shinfo->nr_frags is in fact the number of + * slots, which can be as large as XEN_NETBK_LEGACY_SLOTS_MAX. + */ + nr_slots = shinfo->nr_frags; /* Skip first skb fragment if it is on same page as header fragment. */ start = (frag_get_pending_idx(&shinfo->frags[0]) == pending_idx); - for (i = start; i < shinfo->nr_frags; i++, txp++) { - struct page *page; - pending_ring_idx_t index; + /* Coalesce tx requests, at this point the packet passed in + * should be <= 64K. Any packets larger than 64K have been + * handled in netbk_count_requests(). + */ + for (shinfo->nr_frags = slot = start; slot < nr_slots; + shinfo->nr_frags++) { struct pending_tx_info *pending_tx_info = netbk->pending_tx_info; - index = pending_index(netbk->pending_cons++); - pending_idx = netbk->pending_ring[index]; - page = xen_netbk_alloc_page(netbk, skb, pending_idx); + page = alloc_page(GFP_KERNEL|__GFP_COLD); if (!page) - return NULL; + goto err; - gop->source.u.ref = txp->gref; - gop->source.domid = vif->domid; - gop->source.offset = txp->offset; - - gop->dest.u.gmfn = virt_to_mfn(page_address(page)); - gop->dest.domid = DOMID_SELF; - gop->dest.offset = txp->offset; + dst_offset = 0; + first = NULL; + while (dst_offset < PAGE_SIZE && slot < nr_slots) { + gop->flags = GNTCOPY_source_gref; + + gop->source.u.ref = txp->gref; + gop->source.domid = vif->domid; + gop->source.offset = txp->offset; + + gop->dest.domid = DOMID_SELF; + + gop->dest.offset = dst_offset; + gop->dest.u.gmfn = virt_to_mfn(page_address(page)); + + if (dst_offset + txp->size > PAGE_SIZE) { + /* This page can only merge a portion + * of tx request. Do not increment any + * pointer / counter here. The txp + * will be dealt with in future + * rounds, eventually hitting the + * `else` branch. + */ + gop->len = PAGE_SIZE - dst_offset; + txp->offset += gop->len; + txp->size -= gop->len; + dst_offset += gop->len; /* quit loop */ + } else { + /* This tx request can be merged in the page */ + gop->len = txp->size; + dst_offset += gop->len; + + index = pending_index(netbk->pending_cons++); + + pending_idx = netbk->pending_ring[index]; + + memcpy(&pending_tx_info[pending_idx].req, txp, + sizeof(*txp)); + xenvif_get(vif); + + pending_tx_info[pending_idx].vif = vif; + + /* Poison these fields, corresponding + * fields for head tx req will be set + * to correct values after the loop. + */ + netbk->mmap_pages[pending_idx] = (void *)(~0UL); + pending_tx_info[pending_idx].head = + INVALID_PENDING_RING_IDX; + + if (!first) { + first = &pending_tx_info[pending_idx]; + start_idx = index; + head_idx = pending_idx; + } - gop->len = txp->size; - gop->flags = GNTCOPY_source_gref; + txp++; + slot++; + } - gop++; + gop++; + } - memcpy(&pending_tx_info[pending_idx].req, txp, sizeof(*txp)); - xenvif_get(vif); - pending_tx_info[pending_idx].vif = vif; - frag_set_pending_idx(&frags[i], pending_idx); + first->req.offset = 0; + first->req.size = dst_offset; + first->head = start_idx; + set_page_ext(page, netbk, head_idx); + netbk->mmap_pages[head_idx] = page; + frag_set_pending_idx(&frags[shinfo->nr_frags], head_idx); } + BUG_ON(shinfo->nr_frags > MAX_SKB_FRAGS); + return gop; +err: + /* + * Unwind, freeing all pages and sending error + * reponses. + */ + while (shinfo->nr_frags-- > start) { + xen_netbk_idx_release(netbk, + frag_get_pending_idx(&frags[shinfo->nr_frags]), + XEN_NETIF_RSP_ERROR); + } + /* The head too, if necessary. */ + if (start) + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_ERROR); + + return NULL; } static int xen_netbk_tx_check_gop(struct xen_netbk *netbk, @@ -967,48 +1149,45 @@ { struct gnttab_copy *gop = *gopp; u16 pending_idx = *((u16 *)skb->data); - struct pending_tx_info *pending_tx_info = netbk->pending_tx_info; - struct xenvif *vif = pending_tx_info[pending_idx].vif; - struct xen_netif_tx_request *txp; struct skb_shared_info *shinfo = skb_shinfo(skb); + struct pending_tx_info *tx_info; int nr_frags = shinfo->nr_frags; int i, err, start; + u16 peek; /* peek into next tx request */ /* Check status of header. */ err = gop->status; - if (unlikely(err)) { - pending_ring_idx_t index; - index = pending_index(netbk->pending_prod++); - txp = &pending_tx_info[pending_idx].req; - make_tx_response(vif, txp, XEN_NETIF_RSP_ERROR); - netbk->pending_ring[index] = pending_idx; - xenvif_put(vif); - } + if (unlikely(err)) + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_ERROR); /* Skip first skb fragment if it is on same page as header fragment. */ start = (frag_get_pending_idx(&shinfo->frags[0]) == pending_idx); for (i = start; i < nr_frags; i++) { int j, newerr; - pending_ring_idx_t index; + pending_ring_idx_t head; pending_idx = frag_get_pending_idx(&shinfo->frags[i]); + tx_info = &netbk->pending_tx_info[pending_idx]; + head = tx_info->head; /* Check error status: if okay then remember grant handle. */ - newerr = (++gop)->status; + do { + newerr = (++gop)->status; + if (newerr) + break; + peek = netbk->pending_ring[pending_index(++head)]; + } while (!pending_tx_is_head(netbk, peek)); + if (likely(!newerr)) { /* Had a previous error? Invalidate this fragment. */ if (unlikely(err)) - xen_netbk_idx_release(netbk, pending_idx); + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_OKAY); continue; } /* Error on this fragment: respond to client with an error. */ - txp = &netbk->pending_tx_info[pending_idx].req; - make_tx_response(vif, txp, XEN_NETIF_RSP_ERROR); - index = pending_index(netbk->pending_prod++); - netbk->pending_ring[index] = pending_idx; - xenvif_put(vif); + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_ERROR); /* Not the first error? Preceding frags already invalidated. */ if (err) @@ -1016,10 +1195,10 @@ /* First error: invalidate header and preceding fragments. */ pending_idx = *((u16 *)skb->data); - xen_netbk_idx_release(netbk, pending_idx); + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_OKAY); for (j = start; j < i; j++) { pending_idx = frag_get_pending_idx(&shinfo->frags[j]); - xen_netbk_idx_release(netbk, pending_idx); + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_OKAY); } /* Remember the error: invalidate all subsequent fragments. */ @@ -1053,7 +1232,7 @@ /* Take an extra reference to offset xen_netbk_idx_release */ get_page(netbk->mmap_pages[pending_idx]); - xen_netbk_idx_release(netbk, pending_idx); + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_OKAY); } } @@ -1066,7 +1245,8 @@ do { if (unlikely(work_to_do-- <= 0)) { - netdev_dbg(vif->dev, "Missing extra info\n"); + netdev_err(vif->dev, "Missing extra info\n"); + netbk_fatal_tx_err(vif); return -EBADR; } @@ -1075,8 +1255,9 @@ if (unlikely(!extra.type || extra.type >= XEN_NETIF_EXTRA_TYPE_MAX)) { vif->tx.req_cons = ++cons; - netdev_dbg(vif->dev, + netdev_err(vif->dev, "Invalid extra type: %d\n", extra.type); + netbk_fatal_tx_err(vif); return -EINVAL; } @@ -1092,13 +1273,15 @@ struct xen_netif_extra_info *gso) { if (!gso->u.gso.size) { - netdev_dbg(vif->dev, "GSO size must not be zero.\n"); + netdev_err(vif->dev, "GSO size must not be zero.\n"); + netbk_fatal_tx_err(vif); return -EINVAL; } /* Currently only TCPv4 S.O. is supported. */ if (gso->u.gso.type != XEN_NETIF_GSO_TYPE_TCPV4) { - netdev_dbg(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); + netdev_err(vif->dev, "Bad GSO type %d.\n", gso->u.gso.type); + netbk_fatal_tx_err(vif); return -EINVAL; } @@ -1220,11 +1403,12 @@ struct sk_buff *skb; int ret; - while (((nr_pending_reqs(netbk) + MAX_SKB_FRAGS) < MAX_PENDING_REQS) && + while ((nr_pending_reqs(netbk) + XEN_NETBK_LEGACY_SLOTS_MAX + < MAX_PENDING_REQS) && !list_empty(&netbk->net_schedule_list)) { struct xenvif *vif; struct xen_netif_tx_request txreq; - struct xen_netif_tx_request txfrags[MAX_SKB_FRAGS]; + struct xen_netif_tx_request txfrags[XEN_NETBK_LEGACY_SLOTS_MAX]; struct page *page; struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX-1]; u16 pending_idx; @@ -1235,9 +1419,26 @@ /* Get a netif from the list with work to do. */ vif = poll_net_schedule_list(netbk); + /* + * This can sometimes happen because the test of + * list_empty(net_schedule_list) at the top of the + * loop is unlocked. Just go back and have another + * look. + */ if (!vif) continue; + if (vif->tx.sring->req_prod - vif->tx.req_cons > + XEN_NETIF_TX_RING_SIZE) { + netdev_err(vif->dev, + "Impossible number of requests. " + "req_prod %d, req_cons %d, size %ld\n", + vif->tx.sring->req_prod, vif->tx.req_cons, + XEN_NETIF_TX_RING_SIZE); + netbk_fatal_tx_err(vif); + continue; + } + RING_FINAL_CHECK_FOR_REQUESTS(&vif->tx, work_to_do); if (!work_to_do) { xenvif_put(vif); @@ -1265,17 +1466,14 @@ work_to_do = xen_netbk_get_extras(vif, extras, work_to_do); idx = vif->tx.req_cons; - if (unlikely(work_to_do < 0)) { - netbk_tx_err(vif, &txreq, idx); + if (unlikely(work_to_do < 0)) continue; - } } ret = netbk_count_requests(vif, &txreq, txfrags, work_to_do); - if (unlikely(ret < 0)) { - netbk_tx_err(vif, &txreq, idx - ret); + if (unlikely(ret < 0)) continue; - } + idx += ret; if (unlikely(txreq.size < ETH_HLEN)) { @@ -1287,11 +1485,11 @@ /* No crossing a page as the payload mustn't fragment. */ if (unlikely((txreq.offset + txreq.size) > PAGE_SIZE)) { - netdev_dbg(vif->dev, + netdev_err(vif->dev, "txreq.offset: %x, size: %u, end: %lu\n", txreq.offset, txreq.size, (txreq.offset&~PAGE_MASK) + txreq.size); - netbk_tx_err(vif, &txreq, idx); + netbk_fatal_tx_err(vif); continue; } @@ -1299,7 +1497,7 @@ pending_idx = netbk->pending_ring[index]; data_len = (txreq.size > PKT_PROT_LEN && - ret < MAX_SKB_FRAGS) ? + ret < XEN_NETBK_LEGACY_SLOTS_MAX) ? PKT_PROT_LEN : txreq.size; skb = alloc_skb(data_len + NET_SKB_PAD + NET_IP_ALIGN, @@ -1319,14 +1517,14 @@ gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1]; if (netbk_set_skb_gso(vif, skb, gso)) { + /* Failure in netbk_set_skb_gso is fatal. */ kfree_skb(skb); - netbk_tx_err(vif, &txreq, idx); continue; } } /* XXX could copy straight to head */ - page = xen_netbk_alloc_page(netbk, skb, pending_idx); + page = xen_netbk_alloc_page(netbk, pending_idx); if (!page) { kfree_skb(skb); netbk_tx_err(vif, &txreq, idx); @@ -1349,6 +1547,7 @@ memcpy(&netbk->pending_tx_info[pending_idx].req, &txreq, sizeof(txreq)); netbk->pending_tx_info[pending_idx].vif = vif; + netbk->pending_tx_info[pending_idx].head = index; *((u16 *)skb->data) = pending_idx; __skb_put(skb, data_len); @@ -1419,7 +1618,7 @@ txp->size -= data_len; } else { /* Schedule a response immediately. */ - xen_netbk_idx_release(netbk, pending_idx); + xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_OKAY); } if (txp->flags & XEN_NETTXF_csum_blank) @@ -1474,11 +1673,15 @@ } -static void xen_netbk_idx_release(struct xen_netbk *netbk, u16 pending_idx) +static void xen_netbk_idx_release(struct xen_netbk *netbk, u16 pending_idx, + u8 status) { struct xenvif *vif; struct pending_tx_info *pending_tx_info; - pending_ring_idx_t index; + pending_ring_idx_t head; + u16 peek; /* peek into next tx request */ + + BUG_ON(netbk->mmap_pages[pending_idx] == (void *)(~0UL)); /* Already complete? */ if (netbk->mmap_pages[pending_idx] == NULL) @@ -1487,19 +1690,40 @@ pending_tx_info = &netbk->pending_tx_info[pending_idx]; vif = pending_tx_info->vif; + head = pending_tx_info->head; + + BUG_ON(!pending_tx_is_head(netbk, head)); + BUG_ON(netbk->pending_ring[pending_index(head)] != pending_idx); + + do { + pending_ring_idx_t index; + pending_ring_idx_t idx = pending_index(head); + u16 info_idx = netbk->pending_ring[idx]; + + pending_tx_info = &netbk->pending_tx_info[info_idx]; + make_tx_response(vif, &pending_tx_info->req, status); - make_tx_response(vif, &pending_tx_info->req, XEN_NETIF_RSP_OKAY); + /* Setting any number other than + * INVALID_PENDING_RING_IDX indicates this slot is + * starting a new packet / ending a previous packet. + */ + pending_tx_info->head = 0; - index = pending_index(netbk->pending_prod++); - netbk->pending_ring[index] = pending_idx; + index = pending_index(netbk->pending_prod++); + netbk->pending_ring[index] = netbk->pending_ring[info_idx]; - xenvif_put(vif); + xenvif_put(vif); + + peek = netbk->pending_ring[pending_index(++head)]; + + } while (!pending_tx_is_head(netbk, peek)); netbk->mmap_pages[pending_idx]->mapping = 0; put_page(netbk->mmap_pages[pending_idx]); netbk->mmap_pages[pending_idx] = NULL; } + static void make_tx_response(struct xenvif *vif, struct xen_netif_tx_request *txp, s8 st) @@ -1552,8 +1776,9 @@ static inline int tx_work_todo(struct xen_netbk *netbk) { - if (((nr_pending_reqs(netbk) + MAX_SKB_FRAGS) < MAX_PENDING_REQS) && - !list_empty(&netbk->net_schedule_list)) + if ((nr_pending_reqs(netbk) + XEN_NETBK_LEGACY_SLOTS_MAX + < MAX_PENDING_REQS) && + !list_empty(&netbk->net_schedule_list)) return 1; return 0; @@ -1636,6 +1861,13 @@ if (!xen_domain()) return -ENODEV; + if (fatal_skb_slots < XEN_NETBK_LEGACY_SLOTS_MAX) { + printk(KERN_INFO + "xen-netback: fatal_skb_slots too small (%d), bump it to XEN_NETBK_LEGACY_SLOTS_MAX (%d)\n", + fatal_skb_slots, XEN_NETBK_LEGACY_SLOTS_MAX); + fatal_skb_slots = XEN_NETBK_LEGACY_SLOTS_MAX; + } + xen_netbk_group_nr = num_online_cpus(); xen_netbk = vzalloc(sizeof(struct xen_netbk) * xen_netbk_group_nr); if (!xen_netbk) --- linux-lts-quantal-3.5.0.orig/drivers/net/xen-netback/interface.c +++ linux-lts-quantal-3.5.0/drivers/net/xen-netback/interface.c @@ -132,6 +132,7 @@ static void xenvif_down(struct xenvif *vif) { disable_irq(vif->irq); + del_timer_sync(&vif->credit_timeout); xen_netbk_deschedule_xenvif(vif); xen_netbk_remove_xenvif(vif); } @@ -343,23 +344,26 @@ return err; } -void xenvif_disconnect(struct xenvif *vif) +void xenvif_carrier_off(struct xenvif *vif) { struct net_device *dev = vif->dev; - if (netif_carrier_ok(dev)) { - rtnl_lock(); - netif_carrier_off(dev); /* discard queued packets */ - if (netif_running(dev)) - xenvif_down(vif); - rtnl_unlock(); - xenvif_put(vif); - } + + rtnl_lock(); + netif_carrier_off(dev); /* discard queued packets */ + if (netif_running(dev)) + xenvif_down(vif); + rtnl_unlock(); + xenvif_put(vif); +} + +void xenvif_disconnect(struct xenvif *vif) +{ + if (netif_carrier_ok(vif->dev)) + xenvif_carrier_off(vif); atomic_dec(&vif->refcnt); wait_event(vif->waiting_to_free, atomic_read(&vif->refcnt) == 0); - del_timer_sync(&vif->credit_timeout); - if (vif->irq) unbind_from_irqhandler(vif->irq, vif); --- linux-lts-quantal-3.5.0.orig/drivers/net/xen-netback/common.h +++ linux-lts-quantal-3.5.0/drivers/net/xen-netback/common.h @@ -151,6 +151,9 @@ /* Notify xenvif that ring now has space to send an skb to the frontend */ void xenvif_notify_tx_completion(struct xenvif *vif); +/* Prevent the device from generating any further traffic. */ +void xenvif_carrier_off(struct xenvif *vif); + /* Returns number of ring slots required to send an skb to the frontend */ unsigned int xen_netbk_count_skb_slots(struct xenvif *vif, struct sk_buff *skb); --- linux-lts-quantal-3.5.0.orig/drivers/net/wimax/i2400m/i2400m-usb.h +++ linux-lts-quantal-3.5.0/drivers/net/wimax/i2400m/i2400m-usb.h @@ -152,6 +152,9 @@ /* Device IDs */ USB_DEVICE_ID_I6050 = 0x0186, USB_DEVICE_ID_I6050_2 = 0x0188, + USB_DEVICE_ID_I6150 = 0x07d6, + USB_DEVICE_ID_I6150_2 = 0x07d7, + USB_DEVICE_ID_I6150_3 = 0x07d9, USB_DEVICE_ID_I6250 = 0x0187, }; --- linux-lts-quantal-3.5.0.orig/drivers/net/wimax/i2400m/usb.c +++ linux-lts-quantal-3.5.0/drivers/net/wimax/i2400m/usb.c @@ -510,6 +510,9 @@ switch (id->idProduct) { case USB_DEVICE_ID_I6050: case USB_DEVICE_ID_I6050_2: + case USB_DEVICE_ID_I6150: + case USB_DEVICE_ID_I6150_2: + case USB_DEVICE_ID_I6150_3: case USB_DEVICE_ID_I6250: i2400mu->i6050 = 1; break; @@ -759,6 +762,9 @@ struct usb_device_id i2400mu_id_table[] = { { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050) }, { USB_DEVICE(0x8086, USB_DEVICE_ID_I6050_2) }, + { USB_DEVICE(0x8087, USB_DEVICE_ID_I6150) }, + { USB_DEVICE(0x8087, USB_DEVICE_ID_I6150_2) }, + { USB_DEVICE(0x8087, USB_DEVICE_ID_I6150_3) }, { USB_DEVICE(0x8086, USB_DEVICE_ID_I6250) }, { USB_DEVICE(0x8086, 0x0181) }, { USB_DEVICE(0x8086, 0x1403) }, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/zd1201.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/zd1201.c @@ -98,10 +98,12 @@ goto exit; err = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 0x4, - USB_DIR_IN | 0x40, 0,0, &ret, sizeof(ret), ZD1201_FW_TIMEOUT); + USB_DIR_IN | 0x40, 0, 0, buf, sizeof(ret), ZD1201_FW_TIMEOUT); if (err < 0) goto exit; + memcpy(&ret, buf, sizeof(ret)); + if (ret & 0x80) { err = -EIO; goto exit; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/cfg80211.c +++ linux-lts-quantal-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 */ @@ -1368,7 +1368,8 @@ } } - for (i = 0; i < request->n_channels; i++) { + for (i = 0; i < min_t(u32, request->n_channels, + MWIFIEX_USER_SCAN_CHAN_MAX); i++) { chan = request->channels[i]; priv->user_scan_cfg->chan_list[i].chan_number = chan->hw_value; priv->user_scan_cfg->chan_list[i].radio_type = chan->band; @@ -1621,9 +1622,6 @@ if (dev->reg_state == NETREG_REGISTERED) unregister_netdevice(dev); - if (dev->reg_state == NETREG_UNREGISTERED) - free_netdev(dev); - /* Clear the priv in adapter */ priv->netdev = NULL; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/pcie.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/pcie.c @@ -161,7 +161,7 @@ if (pdev) { card = (struct pcie_service_card *) pci_get_drvdata(pdev); - if (!card || card->adapter) { + if (!card || !card->adapter) { pr_err("Card or adapter structure is not valid\n"); return 0; } @@ -291,7 +291,7 @@ i++; usleep_range(10, 20); /* 50ms max wait */ - if (i == 50000) + if (i == 5000) break; } @@ -1831,9 +1831,9 @@ if (pdev) { pci_iounmap(pdev, card->pci_mmap); pci_iounmap(pdev, card->pci_mmap1); - - pci_release_regions(pdev); pci_disable_device(pdev); + pci_release_region(pdev, 2); + pci_release_region(pdev, 0); pci_set_drvdata(pdev, NULL); } } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/11n_aggr.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/11n_aggr.h @@ -26,7 +26,7 @@ int mwifiex_11n_deaggregate_pkt(struct mwifiex_private *priv, struct sk_buff *skb); int mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv, - struct mwifiex_ra_list_tbl *ptr, int headroom, + struct mwifiex_ra_list_tbl *ptr, int ptr_index, unsigned long flags) __releases(&priv->wmm.ra_list_spinlock); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/join.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/join.c @@ -1093,10 +1093,9 @@ adhoc_join->bss_descriptor.bssid, adhoc_join->bss_descriptor.ssid); - for (i = 0; bss_desc->supported_rates[i] && - i < MWIFIEX_SUPPORTED_RATES; - i++) - ; + for (i = 0; i < MWIFIEX_SUPPORTED_RATES && + bss_desc->supported_rates[i]; i++) + ; rates_size = i; /* Copy Data Rates from the Rates recorded in scan response */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/scan.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/scan.c @@ -1553,7 +1553,7 @@ dev_err(adapter->dev, "SCAN_RESP: too many AP returned (%d)\n", scan_rsp->number_of_sets); ret = -1; - goto done; + goto check_next_scan; } bytes_left = le16_to_cpu(scan_rsp->bss_descript_size); @@ -1624,7 +1624,8 @@ if (!beacon_size || beacon_size > bytes_left) { bss_info += bytes_left; bytes_left = 0; - return -1; + ret = -1; + goto check_next_scan; } /* Initialize the current working beacon pointer for this BSS @@ -1680,7 +1681,7 @@ dev_err(priv->adapter->dev, "%s: bytes left < IE length\n", __func__); - goto done; + goto check_next_scan; } if (element_id == WLAN_EID_DS_PARAMS) { channel = *(u8 *) (current_ptr + @@ -1744,6 +1745,7 @@ } } +check_next_scan: spin_lock_irqsave(&adapter->scan_pending_q_lock, flags); if (list_empty(&adapter->scan_pending_q)) { spin_unlock_irqrestore(&adapter->scan_pending_q_lock, flags); @@ -1782,7 +1784,6 @@ mwifiex_insert_cmd_to_pending_q(adapter, cmd_node, true); } -done: return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/main.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/main.c @@ -571,9 +571,8 @@ mcast_list.mode = MWIFIEX_ALL_MULTI_MODE; } else { mcast_list.mode = MWIFIEX_MULTICAST_MODE; - if (netdev_mc_count(dev)) - mcast_list.num_multicast_addr = - mwifiex_copy_mcast_addr(&mcast_list, dev); + mcast_list.num_multicast_addr = + mwifiex_copy_mcast_addr(&mcast_list, dev); } mwifiex_request_set_multicast_list(priv, &mcast_list); } @@ -636,6 +635,7 @@ struct net_device *dev) { dev->netdev_ops = &mwifiex_netdev_ops; + dev->destructor = free_netdev; /* Initialize private structure */ priv->current_key_index = 0; priv->media_connected = false; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/usb.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/usb.c @@ -446,9 +446,6 @@ */ adapter->is_suspended = true; - for (i = 0; i < adapter->priv_num; i++) - netif_carrier_off(adapter->priv[i]->netdev); - if (atomic_read(&card->rx_cmd_urb_pending) && card->rx_cmd.urb) usb_kill_urb(card->rx_cmd.urb); @@ -508,10 +505,6 @@ MWIFIEX_RX_CMD_BUF_SIZE); } - for (i = 0; i < adapter->priv_num; i++) - if (adapter->priv[i]->media_connected) - netif_carrier_on(adapter->priv[i]->netdev); - /* Disable Host Sleep */ if (adapter->hs_activated) mwifiex_cancel_hs(mwifiex_get_priv(adapter, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/11n_aggr.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/11n_aggr.c @@ -153,7 +153,7 @@ */ int mwifiex_11n_aggregate_pkt(struct mwifiex_private *priv, - struct mwifiex_ra_list_tbl *pra_list, int headroom, + struct mwifiex_ra_list_tbl *pra_list, int ptrindex, unsigned long ra_list_flags) __releases(&priv->wmm.ra_list_spinlock) { @@ -163,6 +163,7 @@ int pad = 0, ret; struct mwifiex_tx_param tx_param; struct txpd *ptx_pd = NULL; + int headroom = adapter->iface_type == MWIFIEX_USB ? 0 : INTF_HEADER_LEN; skb_src = skb_peek(&pra_list->skb_head); if (!skb_src) { --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/sdio.c +++ linux-lts-quantal-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; @@ -1454,8 +1455,8 @@ /* Allocate buffer and copy payload */ blk_size = MWIFIEX_SDIO_BLOCK_SIZE; buf_block_len = (pkt_len + blk_size - 1) / blk_size; - *(u16 *) &payload[0] = (u16) pkt_len; - *(u16 *) &payload[2] = type; + *(__le16 *)&payload[0] = cpu_to_le16((u16)pkt_len); + *(__le16 *)&payload[2] = cpu_to_le16(type); /* * This is SDIO specific header --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/wmm.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/wmm.c @@ -1246,8 +1246,7 @@ if (mwifiex_is_amsdu_allowed(priv, tid) && mwifiex_is_11n_aggragation_possible(priv, ptr, adapter->tx_buf_size)) - mwifiex_11n_aggregate_pkt(priv, ptr, INTF_HEADER_LEN, - ptr_index, flags); + mwifiex_11n_aggregate_pkt(priv, ptr, ptr_index, flags); /* ra_list_spinlock has been freed in mwifiex_11n_aggregate_pkt() */ else --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/sta_ioctl.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/mwifiex/sta_ioctl.c @@ -53,7 +53,6 @@ */ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter) { - bool cancel_flag = false; int status; struct cmd_ctrl_node *cmd_queued; @@ -70,14 +69,11 @@ queue_work(adapter->workqueue, &adapter->main_work); /* Wait for completion */ - wait_event_interruptible(adapter->cmd_wait_q.wait, - *(cmd_queued->condition)); - if (!*(cmd_queued->condition)) - cancel_flag = true; - - if (cancel_flag) { - mwifiex_cancel_pending_ioctl(adapter); - dev_dbg(adapter->dev, "cmd cancel\n"); + status = wait_event_interruptible(adapter->cmd_wait_q.wait, + *(cmd_queued->condition)); + if (status) { + dev_err(adapter->dev, "cmd_wait_q terminated: %d\n", status); + return status; } status = adapter->cmd_wait_q.status; @@ -109,7 +105,7 @@ } else { /* Multicast */ priv->curr_pkt_filter &= ~HostCmd_ACT_MAC_PROMISCUOUS_ENABLE; - if (mcast_list->mode == MWIFIEX_MULTICAST_MODE) { + if (mcast_list->mode == MWIFIEX_ALL_MULTI_MODE) { dev_dbg(priv->adapter->dev, "info: Enabling All Multicast!\n"); priv->curr_pkt_filter |= @@ -117,25 +113,14 @@ } else { priv->curr_pkt_filter &= ~HostCmd_ACT_MAC_ALL_MULTICAST_ENABLE; - if (mcast_list->num_multicast_addr) { - dev_dbg(priv->adapter->dev, - "info: Set multicast list=%d\n", - mcast_list->num_multicast_addr); - /* Set multicast addresses to firmware */ - if (old_pkt_filter == priv->curr_pkt_filter) { - /* Send request to firmware */ - ret = mwifiex_send_cmd_async(priv, - HostCmd_CMD_MAC_MULTICAST_ADR, - HostCmd_ACT_GEN_SET, 0, - mcast_list); - } else { - /* Send request to firmware */ - ret = mwifiex_send_cmd_async(priv, - HostCmd_CMD_MAC_MULTICAST_ADR, - HostCmd_ACT_GEN_SET, 0, - mcast_list); - } - } + dev_dbg(priv->adapter->dev, + "info: Set multicast list=%d\n", + mcast_list->num_multicast_addr); + /* Send multicast addresses to firmware */ + ret = mwifiex_send_cmd_async(priv, + HostCmd_CMD_MAC_MULTICAST_ADR, + HostCmd_ACT_GEN_SET, 0, + mcast_list); } } dev_dbg(priv->adapter->dev, @@ -430,8 +415,11 @@ return false; } - wait_event_interruptible(adapter->hs_activate_wait_q, - adapter->hs_activate_wait_q_woken); + if (wait_event_interruptible(adapter->hs_activate_wait_q, + adapter->hs_activate_wait_q_woken)) { + dev_err(adapter->dev, "hs_activate_wait_q terminated\n"); + return false; + } return true; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/mwifiex/cmdevt.c +++ linux-lts-quantal-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); @@ -1136,6 +1141,7 @@ adapter->if_ops.wakeup(adapter); adapter->hs_activated = false; adapter->is_hs_configured = false; + adapter->is_suspended = false; mwifiex_hs_activated_event(mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY), false); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/base.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rtlwifi/base.c @@ -980,7 +980,8 @@ is_tx ? "Tx" : "Rx"); if (is_tx) { - rtl_lps_leave(hw); + schedule_work(&rtlpriv-> + works.lps_leave_work); ppsc->last_delaylps_stamp_jiffies = jiffies; } @@ -990,7 +991,7 @@ } } else if (ETH_P_ARP == ether_type) { if (is_tx) { - rtl_lps_leave(hw); + schedule_work(&rtlpriv->works.lps_leave_work); ppsc->last_delaylps_stamp_jiffies = jiffies; } @@ -1000,7 +1001,7 @@ "802.1X %s EAPOL pkt!!\n", is_tx ? "Tx" : "Rx"); if (is_tx) { - rtl_lps_leave(hw); + schedule_work(&rtlpriv->works.lps_leave_work); ppsc->last_delaylps_stamp_jiffies = jiffies; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/wifi.h +++ linux-lts-quantal-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; @@ -1700,7 +1701,7 @@ that it points to the data allocated beyond this structure like: rtl_pci_priv or rtl_usb_priv */ - u8 priv[0]; + u8 priv[0] __aligned(sizeof(void *)); }; #define rtl_priv(hw) (((struct rtl_priv *)(hw)->priv)) --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/usb.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rtlwifi/usb.c @@ -42,8 +42,12 @@ static void usbctrl_async_callback(struct urb *urb) { - if (urb) - kfree(urb->context); + if (urb) { + /* free dr */ + kfree(urb->setup_packet); + /* free databuf */ + kfree(urb->transfer_buffer); + } } static int _usbctrl_vendorreq_async_write(struct usb_device *udev, u8 request, @@ -55,39 +59,47 @@ u8 reqtype; struct usb_ctrlrequest *dr; struct urb *urb; - struct rtl819x_async_write_data { - u8 data[REALTEK_USB_VENQT_MAX_BUF_SIZE]; - struct usb_ctrlrequest dr; - } *buf; + const u16 databuf_maxlen = REALTEK_USB_VENQT_MAX_BUF_SIZE; + u8 *databuf; + + if (WARN_ON_ONCE(len > databuf_maxlen)) + len = databuf_maxlen; pipe = usb_sndctrlpipe(udev, 0); /* write_out */ reqtype = REALTEK_USB_VENQT_WRITE; - buf = kmalloc(sizeof(*buf), GFP_ATOMIC); - if (!buf) + dr = kmalloc(sizeof(*dr), GFP_ATOMIC); + if (!dr) + return -ENOMEM; + + databuf = kmalloc(databuf_maxlen, GFP_ATOMIC); + if (!databuf) { + kfree(dr); return -ENOMEM; + } urb = usb_alloc_urb(0, GFP_ATOMIC); if (!urb) { - kfree(buf); + kfree(databuf); + kfree(dr); return -ENOMEM; } - dr = &buf->dr; - dr->bRequestType = reqtype; dr->bRequest = request; dr->wValue = cpu_to_le16(value); dr->wIndex = cpu_to_le16(index); dr->wLength = cpu_to_le16(len); /* data are already in little-endian order */ - memcpy(buf, pdata, len); + memcpy(databuf, pdata, len); usb_fill_control_urb(urb, udev, pipe, - (unsigned char *)dr, buf, len, - usbctrl_async_callback, buf); + (unsigned char *)dr, databuf, len, + usbctrl_async_callback, NULL); rc = usb_submit_urb(urb, GFP_ATOMIC); - if (rc < 0) - kfree(buf); + if (rc < 0) { + kfree(databuf); + kfree(dr); + } usb_free_urb(urb); return rc; } @@ -131,15 +143,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); } @@ -206,17 +222,16 @@ u16 index = REALTEK_USB_VENQT_CMD_IDX; int pipe = usb_sndctrlpipe(udev, 0); /* write_out */ u8 *buffer; - dma_addr_t dma_addr; - wvalue = (u16)(addr&0x0000ffff); - buffer = usb_alloc_coherent(udev, (size_t)len, GFP_ATOMIC, &dma_addr); + wvalue = (u16)(addr & 0x0000ffff); + buffer = kmalloc(len, GFP_ATOMIC); if (!buffer) return; memcpy(buffer, data, len); usb_control_msg(udev, pipe, request, reqtype, wvalue, index, buffer, len, 50); - usb_free_coherent(udev, (size_t)len, buffer, dma_addr); + kfree(buffer); } static void _rtl_usb_io_handler_init(struct device *dev, @@ -539,8 +554,8 @@ WARN_ON(skb_queue_empty(&rx_queue)); while (!skb_queue_empty(&rx_queue)) { _skb = skb_dequeue(&rx_queue); - _rtl_usb_rx_process_agg(hw, skb); - ieee80211_rx_irqsafe(hw, skb); + _rtl_usb_rx_process_agg(hw, _skb); + ieee80211_rx_irqsafe(hw, _skb); } } @@ -838,6 +853,7 @@ if (unlikely(!_urb)) { RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, "Can't allocate urb. Drop skb!\n"); + kfree_skb(skb); return; } urb_list = &rtlusb->tx_pending[ep_num]; @@ -932,7 +948,8 @@ }; int __devinit rtl_usb_probe(struct usb_interface *intf, - const struct usb_device_id *id) + const struct usb_device_id *id, + struct rtl_hal_cfg *rtl_hal_cfg) { int err; struct ieee80211_hw *hw = NULL; @@ -951,6 +968,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); @@ -963,7 +984,7 @@ usb_set_intfdata(intf, hw); /* init cfg & intf_ops */ rtlpriv->rtlhal.interface = INTF_USB; - rtlpriv->cfg = (struct rtl_hal_cfg *)(id->driver_info); + rtlpriv->cfg = rtl_hal_cfg; rtlpriv->intf_ops = &rtl_usb_ops; rtl_dbgp_flag_init(hw); /* Init IO handler */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/usb.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rtlwifi/usb.h @@ -157,7 +157,8 @@ int __devinit rtl_usb_probe(struct usb_interface *intf, - const struct usb_device_id *id); + const struct usb_device_id *id, + struct rtl_hal_cfg *rtl92cu_hal_cfg); void rtl_usb_disconnect(struct usb_interface *intf); int rtl_usb_suspend(struct usb_interface *pusb_intf, pm_message_t message); int rtl_usb_resume(struct usb_interface *pusb_intf); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192ce/def.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c @@ -1377,74 +1377,57 @@ void rtl92cu_set_check_bssid(struct ieee80211_hw *hw, bool check_bssid) { - /* dummy routine needed for callback from rtl_op_configure_filter() */ -} - -/*========================================================================== */ - -static void _rtl92cu_set_check_bssid(struct ieee80211_hw *hw, - enum nl80211_iftype type) -{ struct rtl_priv *rtlpriv = rtl_priv(hw); - u32 reg_rcr = rtl_read_dword(rtlpriv, REG_RCR); struct rtl_hal *rtlhal = rtl_hal(rtlpriv); - struct rtl_phy *rtlphy = &(rtlpriv->phy); - u8 filterout_non_associated_bssid = false; + u32 reg_rcr = rtl_read_dword(rtlpriv, REG_RCR); - switch (type) { - case NL80211_IFTYPE_ADHOC: - case NL80211_IFTYPE_STATION: - filterout_non_associated_bssid = true; - break; - case NL80211_IFTYPE_UNSPECIFIED: - case NL80211_IFTYPE_AP: - default: - break; - } - if (filterout_non_associated_bssid) { + if (rtlpriv->psc.rfpwr_state != ERFON) + return; + + if (check_bssid) { + u8 tmp; if (IS_NORMAL_CHIP(rtlhal->version)) { - switch (rtlphy->current_io_type) { - case IO_CMD_RESUME_DM_BY_SCAN: - reg_rcr |= (RCR_CBSSID_DATA | RCR_CBSSID_BCN); - rtlpriv->cfg->ops->set_hw_reg(hw, - HW_VAR_RCR, (u8 *)(®_rcr)); - /* enable update TSF */ - _rtl92cu_set_bcn_ctrl_reg(hw, 0, BIT(4)); - break; - case IO_CMD_PAUSE_DM_BY_SCAN: - reg_rcr &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN); - rtlpriv->cfg->ops->set_hw_reg(hw, - HW_VAR_RCR, (u8 *)(®_rcr)); - /* disable update TSF */ - _rtl92cu_set_bcn_ctrl_reg(hw, BIT(4), 0); - break; - } + reg_rcr |= (RCR_CBSSID_DATA | RCR_CBSSID_BCN); + tmp = BIT(4); } else { - reg_rcr |= (RCR_CBSSID); - rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR, - (u8 *)(®_rcr)); - _rtl92cu_set_bcn_ctrl_reg(hw, 0, (BIT(4)|BIT(5))); + reg_rcr |= RCR_CBSSID; + tmp = BIT(4) | BIT(5); } - } else if (filterout_non_associated_bssid == false) { + rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR, + (u8 *) (®_rcr)); + _rtl92cu_set_bcn_ctrl_reg(hw, 0, tmp); + } else { + u8 tmp; if (IS_NORMAL_CHIP(rtlhal->version)) { - reg_rcr &= (~(RCR_CBSSID_DATA | RCR_CBSSID_BCN)); - rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR, - (u8 *)(®_rcr)); - _rtl92cu_set_bcn_ctrl_reg(hw, BIT(4), 0); + reg_rcr &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN); + tmp = BIT(4); } else { - reg_rcr &= (~RCR_CBSSID); - rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR, - (u8 *)(®_rcr)); - _rtl92cu_set_bcn_ctrl_reg(hw, (BIT(4)|BIT(5)), 0); + reg_rcr &= ~RCR_CBSSID; + tmp = BIT(4) | BIT(5); } + reg_rcr &= (~(RCR_CBSSID_DATA | RCR_CBSSID_BCN)); + rtlpriv->cfg->ops->set_hw_reg(hw, + HW_VAR_RCR, (u8 *) (®_rcr)); + _rtl92cu_set_bcn_ctrl_reg(hw, tmp, 0); } } +/*========================================================================== */ + int rtl92cu_set_network_type(struct ieee80211_hw *hw, enum nl80211_iftype type) { + struct rtl_priv *rtlpriv = rtl_priv(hw); + if (_rtl92cu_set_media_status(hw, type)) return -EOPNOTSUPP; - _rtl92cu_set_check_bssid(hw, type); + + if (rtlpriv->mac80211.link_state == MAC80211_LINKED) { + if (type != NL80211_IFTYPE_AP) + rtl92cu_set_check_bssid(hw, true); + } else { + rtl92cu_set_check_bssid(hw, false); + } + return 0; } @@ -2059,8 +2042,6 @@ (shortgi_rate << 4) | (shortgi_rate); } rtl_write_dword(rtlpriv, REG_ARFR0 + ratr_index * 4, ratr_value); - RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG, "%x\n", - rtl_read_dword(rtlpriv, REG_ARFR0)); } void rtl92cu_update_hal_rate_mask(struct ieee80211_hw *hw, u8 rssi_level) --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c @@ -285,6 +285,7 @@ {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x817f, rtl92cu_hal_cfg)}, /* RTL8188CUS-VL */ {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x818a, rtl92cu_hal_cfg)}, + {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x819a, rtl92cu_hal_cfg)}, /* 8188 Combo for BC4 */ {RTL_USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8754, rtl92cu_hal_cfg)}, @@ -297,6 +298,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*/ @@ -356,15 +358,22 @@ {RTL_USB_DEVICE(0x2001, 0x330a, rtl92cu_hal_cfg)}, /*D-Link-Alpha*/ {RTL_USB_DEVICE(0x2019, 0xab2b, rtl92cu_hal_cfg)}, /*Planex -Abocom*/ {RTL_USB_DEVICE(0x20f4, 0x624d, rtl92cu_hal_cfg)}, /*TRENDNet*/ + {RTL_USB_DEVICE(0x2357, 0x0100, rtl92cu_hal_cfg)}, /*TP-Link WN8200ND*/ {RTL_USB_DEVICE(0x7392, 0x7822, rtl92cu_hal_cfg)}, /*Edimax -Edimax*/ {} }; MODULE_DEVICE_TABLE(usb, rtl8192c_usb_ids); +static int rtl8192cu_probe(struct usb_interface *intf, + const struct usb_device_id *id) +{ + return rtl_usb_probe(intf, id, &rtl92cu_hal_cfg); +} + static struct usb_driver rtl8192cu_driver = { .name = "rtl8192cu", - .probe = rtl_usb_probe, + .probe = rtl8192cu_probe, .disconnect = rtl_usb_disconnect, .id_table = rtl8192c_usb_ids, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192cu/rf.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rtlwifi/rtl8192cu/rf.c @@ -104,7 +104,7 @@ tx_agc[RF90_PATH_A] = 0x10101010; tx_agc[RF90_PATH_B] = 0x10101010; } else if (rtlpriv->dm.dynamic_txhighpower_lvl == - TXHIGHPWRLEVEL_LEVEL1) { + TXHIGHPWRLEVEL_LEVEL2) { tx_agc[RF90_PATH_A] = 0x00000000; tx_agc[RF90_PATH_B] = 0x00000000; } else{ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtlwifi/rtl8192de/phy.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlegacy/4965-mac.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlegacy/4965-mac.c @@ -4411,13 +4411,13 @@ * is killed. Hence update the killswitch state here. The * rfkill handler will care about restarting if needed. */ - if (!test_bit(S_ALIVE, &il->status)) { - if (hw_rf_kill) - set_bit(S_RFKILL, &il->status); - else - clear_bit(S_RFKILL, &il->status); - wiphy_rfkill_set_hw_state(il->hw->wiphy, hw_rf_kill); + if (hw_rf_kill) { + set_bit(S_RFKILL, &il->status); + } else { + clear_bit(S_RFKILL, &il->status); + il_force_reset(il, true); } + wiphy_rfkill_set_hw_state(il->hw->wiphy, hw_rf_kill); handled |= CSR_INT_BIT_RF_KILL; } @@ -5285,6 +5285,9 @@ il->active_rate = RATES_MASK; + il_power_update_mode(il, true); + D_INFO("Updated power mode\n"); + if (il_is_associated(il)) { struct il_rxon_cmd *active_rxon = (struct il_rxon_cmd *)&il->active; @@ -5315,9 +5318,6 @@ D_INFO("ALIVE processing complete.\n"); wake_up(&il->wait_command_queue); - il_power_update_mode(il, true); - D_INFO("Updated power mode\n"); - return; restart: --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlegacy/common.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlegacy/common.c @@ -3957,17 +3957,21 @@ memset(&il->staging, 0, sizeof(il->staging)); - if (!il->vif) { + switch (il->iw_mode) { + case NL80211_IFTYPE_UNSPECIFIED: il->staging.dev_type = RXON_DEV_TYPE_ESS; - } else if (il->vif->type == NL80211_IFTYPE_STATION) { + break; + case NL80211_IFTYPE_STATION: il->staging.dev_type = RXON_DEV_TYPE_ESS; il->staging.filter_flags = RXON_FILTER_ACCEPT_GRP_MSK; - } else if (il->vif->type == NL80211_IFTYPE_ADHOC) { + break; + case NL80211_IFTYPE_ADHOC: il->staging.dev_type = RXON_DEV_TYPE_IBSS; il->staging.flags = RXON_FLG_SHORT_PREAMBLE_MSK; il->staging.filter_flags = RXON_FILTER_BCON_AWARE_MSK | RXON_FILTER_ACCEPT_GRP_MSK; - } else { + break; + default: IL_ERR("Unsupported interface type %d\n", il->vif->type); return; } @@ -4550,8 +4554,7 @@ EXPORT_SYMBOL(il_mac_add_interface); static void -il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif, - bool mode_change) +il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif) { lockdep_assert_held(&il->mutex); @@ -4560,9 +4563,7 @@ il_force_scan_end(il); } - if (!mode_change) - il_set_mode(il); - + il_set_mode(il); } void @@ -4575,8 +4576,8 @@ WARN_ON(il->vif != vif); il->vif = NULL; - - il_teardown_interface(il, vif, false); + il->iw_mode = NL80211_IFTYPE_UNSPECIFIED; + il_teardown_interface(il, vif); memset(il->bssid, 0, ETH_ALEN); D_MAC80211("leave\n"); @@ -4658,6 +4659,7 @@ return 0; } +EXPORT_SYMBOL(il_force_reset); int il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -4685,18 +4687,10 @@ } /* success */ - il_teardown_interface(il, vif, true); vif->type = newtype; vif->p2p = false; - err = il_set_mode(il); - WARN_ON(err); - /* - * We've switched internally, but submitting to the - * device may have failed for some reason. Mask this - * error, because otherwise mac80211 will not switch - * (and set the interface type back) and we'll be - * out of sync with it. - */ + il->iw_mode = newtype; + il_teardown_interface(il, vif); err = 0; out: @@ -5358,7 +5352,7 @@ if (changes & BSS_CHANGED_ASSOC) { D_MAC80211("ASSOC %d\n", bss_conf->assoc); if (bss_conf->assoc) { - il->timestamp = bss_conf->last_tsf; + il->timestamp = bss_conf->sync_tsf; if (!il_is_rfkill(il)) il->ops->post_associate(il); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/libertas/if_sdio.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/libertas/if_sdio.c @@ -804,6 +804,11 @@ sdio_release_host(func); + /* Set fw_ready before queuing any commands so that + * lbs_thread won't block from sending them to firmware. + */ + priv->fw_ready = 1; + /* * FUNC_INIT is required for SD8688 WLAN/BT multiple functions */ @@ -818,7 +823,6 @@ netdev_alert(priv->dev, "CMD_FUNC_INIT cmd failed\n"); } - priv->fw_ready = 1; wake_up(&card->pwron_waitq); if (!card->started) { --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2x00queue.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rt2x00/rt2x00queue.c @@ -877,13 +877,8 @@ spin_unlock_irqrestore(&queue->index_lock, irqflags); } -void rt2x00queue_pause_queue(struct data_queue *queue) +void rt2x00queue_pause_queue_nocheck(struct data_queue *queue) { - if (!test_bit(DEVICE_STATE_PRESENT, &queue->rt2x00dev->flags) || - !test_bit(QUEUE_STARTED, &queue->flags) || - test_and_set_bit(QUEUE_PAUSED, &queue->flags)) - return; - switch (queue->qid) { case QID_AC_VO: case QID_AC_VI: @@ -899,6 +894,15 @@ break; } } +void rt2x00queue_pause_queue(struct data_queue *queue) +{ + if (!test_bit(DEVICE_STATE_PRESENT, &queue->rt2x00dev->flags) || + !test_bit(QUEUE_STARTED, &queue->flags) || + test_and_set_bit(QUEUE_PAUSED, &queue->flags)) + return; + + rt2x00queue_pause_queue_nocheck(queue); +} EXPORT_SYMBOL_GPL(rt2x00queue_pause_queue); void rt2x00queue_unpause_queue(struct data_queue *queue) @@ -960,7 +964,7 @@ return; } - rt2x00queue_pause_queue(queue); + rt2x00queue_pause_queue_nocheck(queue); queue->rt2x00dev->ops->lib->stop_queue(queue); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2800pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2400pci.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt73usb.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2400pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2800usb.c +++ linux-lts-quantal-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) }, @@ -987,6 +1005,7 @@ { USB_DEVICE(0x07d1, 0x3c15) }, { USB_DEVICE(0x07d1, 0x3c16) }, { USB_DEVICE(0x2001, 0x3c1b) }, + { USB_DEVICE(0x2001, 0x3c1e) }, /* Draytek */ { USB_DEVICE(0x07fa, 0x7712) }, /* DVICO */ @@ -1137,6 +1156,8 @@ #ifdef CONFIG_RT2800USB_RT33XX /* Belkin */ { USB_DEVICE(0x050d, 0x945b) }, + /* D-Link */ + { USB_DEVICE(0x2001, 0x3c17) }, /* Panasonic */ { USB_DEVICE(0x083a, 0xb511) }, /* Philips */ @@ -1154,6 +1175,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 +1242,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 +1259,6 @@ /* D-Link */ { USB_DEVICE(0x07d1, 0x3c0b) }, { USB_DEVICE(0x07d1, 0x3c17) }, - { USB_DEVICE(0x2001, 0x3c17) }, /* Encore */ { USB_DEVICE(0x203d, 0x14a1) }, /* Gemtek */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2500usb.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt61pci.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2800lib.c +++ linux-lts-quantal-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; /* @@ -3862,7 +3862,9 @@ rt2800_register_write(rt2x00dev, OPT_14_CSR, reg); if (!rt2x00_rt(rt2x00dev, RT5390) && - !rt2x00_rt(rt2x00dev, RT5392)) { + !rt2x00_rt(rt2x00dev, RT5392)) { + u8 min_gain = rt2x00_rt(rt2x00dev, RT3070) ? 1 : 2; + rt2800_rfcsr_read(rt2x00dev, 17, &rfcsr); rt2x00_set_field8(&rfcsr, RFCSR17_TX_LO1_EN, 0); if (rt2x00_rt(rt2x00dev, RT3070) || @@ -3873,8 +3875,10 @@ &rt2x00dev->cap_flags)) rt2x00_set_field8(&rfcsr, RFCSR17_R, 1); } - rt2x00_set_field8(&rfcsr, RFCSR17_TXMIXER_GAIN, - drv_data->txmixer_gain_24g); + if (drv_data->txmixer_gain_24g >= min_gain) { + rt2x00_set_field8(&rfcsr, RFCSR17_TXMIXER_GAIN, + drv_data->txmixer_gain_24g); + } rt2800_rfcsr_write(rt2x00dev, 17, rfcsr); } @@ -4524,7 +4528,8 @@ IEEE80211_HW_SUPPORTS_PS | IEEE80211_HW_PS_NULLFUNC_STACK | IEEE80211_HW_AMPDU_AGGREGATION | - IEEE80211_HW_REPORTS_TX_ACK_STATUS; + IEEE80211_HW_REPORTS_TX_ACK_STATUS | + IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL; /* * Don't set IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING for USB devices @@ -4650,8 +4655,8 @@ default_power2 = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A2); for (i = 14; i < spec->num_channels; i++) { - info[i].default_power1 = default_power1[i]; - info[i].default_power2 = default_power2[i]; + info[i].default_power1 = default_power1[i - 14]; + info[i].default_power2 = default_power2[i - 14]; } } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt61pci.c +++ linux-lts-quantal-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); } @@ -2823,7 +2822,8 @@ tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START); for (i = 14; i < spec->num_channels; i++) { info[i].max_power = MAX_TXPOWER; - info[i].default_power1 = TXPOWER_FROM_DEV(tx_power[i]); + info[i].default_power1 = + TXPOWER_FROM_DEV(tx_power[i - 14]); } } @@ -2833,6 +2833,7 @@ static int rt61pci_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Disable power saving. @@ -2851,6 +2852,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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2500usb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2x00config.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rt2x00/rt2x00config.c @@ -102,7 +102,7 @@ /* Update the AID, this is needed for dynamic PS support */ rt2x00dev->aid = bss_conf->assoc ? bss_conf->aid : 0; - rt2x00dev->last_beacon = bss_conf->last_tsf; + rt2x00dev->last_beacon = bss_conf->sync_tsf; /* Update global beacon interval time, this is needed for PS support */ rt2x00dev->beacon_int = bss_conf->beacon_int; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2x00pci.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rt2x00/rt2x00pci.c @@ -52,8 +52,8 @@ udelay(REGISTER_BUSY_DELAY); } - ERROR(rt2x00dev, "Indirect register access failed: " - "offset=0x%.08x, value=0x%.08x\n", offset, *reg); + printk_once(KERN_ERR "%s() Indirect register access failed: " + "offset=0x%.08x, value=0x%.08x\n", __func__, offset, *reg); *reg = ~0; return 0; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2500pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt2x00dev.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -391,10 +391,9 @@ tx_info->flags |= IEEE80211_TX_STAT_AMPDU; tx_info->status.ampdu_len = 1; tx_info->status.ampdu_ack_len = success ? 1 : 0; - /* - * TODO: Need to tear down BA session here - * if not successful. - */ + + if (!success) + tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK; } if (rate_flags & IEEE80211_TX_RC_USE_RTS_CTS) { @@ -629,7 +628,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; @@ -1158,7 +1157,9 @@ rt2x00dev->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC) | BIT(NL80211_IFTYPE_AP) | +#ifdef CONFIG_MAC80211_MESH BIT(NL80211_IFTYPE_MESH_POINT) | +#endif BIT(NL80211_IFTYPE_WDS); /* --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rt2x00/rt73usb.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/rt2x00/rt73usb.c @@ -2167,7 +2167,8 @@ tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START); for (i = 14; i < spec->num_channels; i++) { info[i].max_power = MAX_TXPOWER; - info[i].default_power1 = TXPOWER_FROM_DEV(tx_power[i]); + info[i].default_power1 = + TXPOWER_FROM_DEV(tx_power[i - 14]); } } @@ -2177,6 +2178,7 @@ static int rt73usb_probe_hw(struct rt2x00_dev *rt2x00dev) { int retval; + u32 reg; /* * Allocate eeprom data. @@ -2190,6 +2192,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-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c +++ linux-lts-quantal-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; @@ -1395,9 +1398,10 @@ #endif t->ms = ms; t->periodic = (bool) periodic; - t->set = true; - - atomic_inc(&t->wl->callbacks); + if (!t->set) { + t->set = true; + atomic_inc(&t->wl->callbacks); + } ieee80211_queue_delayed_work(hw, &t->dly_wrk, msecs_to_jiffies(ms)); } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/channel.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/dma.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/brcm80211/brcmsmac/dma.c @@ -1013,9 +1013,10 @@ /* * post receive buffers - * return false is refill failed completely and ring is empty this will stall - * the rx dma and user might want to call rxfill again asap. This unlikely - * happens on memory-rich NIC, but often on memory-constrained dongle + * Return false if refill failed completely or dma mapping failed. The ring + * is empty, which will stall the rx dma and user might want to call rxfill + * again asap. This is unlikely to happen on a memory-rich NIC, but often on + * memory-constrained dongle. */ bool dma_rxfill(struct dma_pub *pub) { @@ -1074,6 +1075,8 @@ pa = dma_map_single(di->dmadev, p->data, di->rxbufsize, DMA_FROM_DEVICE); + if (dma_mapping_error(di->dmadev, pa)) + return false; /* save the free packet pointer */ di->rxp[rxout] = p; @@ -1294,6 +1297,9 @@ /* get physical address of buffer start */ pa = dma_map_single(di->dmadev, data, len, DMA_TO_DEVICE); + /* if mapping failed, free skb */ + if (dma_mapping_error(di->dmadev, pa)) + goto outoftxd; /* With a DMA segment list, Descriptor table is filled * using the segment list instead of looping over --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmsmac/channel.c +++ linux-lts-quantal-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 = 6, + .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-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-tx.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn-tx.c @@ -1094,29 +1094,6 @@ } } -static int iwl_reclaim(struct iwl_priv *priv, int sta_id, int tid, - int txq_id, int ssn, struct sk_buff_head *skbs) -{ - if (unlikely(txq_id >= IWLAGN_FIRST_AMPDU_QUEUE && - tid != IWL_TID_NON_QOS && - txq_id != priv->tid_data[sta_id][tid].agg.txq_id)) { - /* - * FIXME: this is a uCode bug which need to be addressed, - * log the information and return for now. - * Since it is can possibly happen very often and in order - * not to fill the syslog, don't use IWL_ERR or IWL_WARN - */ - IWL_DEBUG_TX_QUEUES(priv, - "Bad queue mapping txq_id=%d, agg_txq[sta:%d,tid:%d]=%d\n", - txq_id, sta_id, tid, - priv->tid_data[sta_id][tid].agg.txq_id); - return 1; - } - - iwl_trans_reclaim(priv->trans, txq_id, ssn, skbs); - return 0; -} - int iwlagn_rx_reply_tx(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb, struct iwl_device_cmd *cmd) { @@ -1175,8 +1152,8 @@ next_reclaimed); } - /*we can free until ssn % q.n_bd not inclusive */ - WARN_ON(iwl_reclaim(priv, sta_id, tid, txq_id, ssn, &skbs)); + iwl_trans_reclaim(priv->trans, txq_id, ssn, &skbs); + iwlagn_check_ratid_empty(priv, sta_id, tid); freed = 0; @@ -1289,16 +1266,27 @@ return 0; } + if (unlikely(scd_flow != agg->txq_id)) { + /* + * FIXME: this is a uCode bug which need to be addressed, + * log the information and return for now. + * Since it is can possibly happen very often and in order + * not to fill the syslog, don't use IWL_ERR or IWL_WARN + */ + IWL_DEBUG_TX_QUEUES(priv, + "Bad queue mapping txq_id=%d, agg_txq[sta:%d,tid:%d]=%d\n", + scd_flow, sta_id, tid, agg->txq_id); + spin_unlock(&priv->sta_lock); + return 0; + } + __skb_queue_head_init(&reclaimed_skbs); /* Release all TFDs before the SSN, i.e. all TFDs in front of * block-ack window (we assume that they've been successfully * transmitted ... if not, it's too late anyway). */ - if (iwl_reclaim(priv, sta_id, tid, scd_flow, - ba_resp_scd_ssn, &reclaimed_skbs)) { - spin_unlock(&priv->sta_lock); - return 0; - } + iwl_trans_reclaim(priv->trans, scd_flow, ba_resp_scd_ssn, + &reclaimed_skbs); IWL_DEBUG_TX_REPLY(priv, "REPLY_COMPRESSED_BA [%d] Received from %pM, " "sta_id = %d\n", --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ linux-lts-quantal-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 */ @@ -1254,6 +1259,15 @@ return -EIO; } + /* + * This can happen upon FW ASSERT: we clear the STATUS_FW_ERROR flag + * in iwl_down but cancel the workers only later. + */ + if (!priv->ucode_loaded) { + IWL_ERR(priv, "Fw not loaded - dropping CMD: %x\n", cmd->id); + return -EIO; + } + /* * Synchronous commands from this op-mode must hold * the mutex, this ensures we don't try to send two --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c +++ linux-lts-quantal-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); } @@ -900,12 +919,20 @@ * back-to-back ISRs and sporadic interrupts from our NIC. * If we have something to service, the tasklet will re-enable ints. * If we *don't* have something, we'll re-enable before leaving here. */ - inta_mask = iwl_read32(trans, CSR_INT_MASK); /* just for debug */ + inta_mask = iwl_read32(trans, CSR_INT_MASK); iwl_write32(trans, CSR_INT_MASK, 0x00000000); /* Discover which interrupts are active/pending */ inta = iwl_read32(trans, CSR_INT); + if (inta & (~inta_mask)) { + IWL_DEBUG_ISR(trans, + "We got a masked interrupt (0x%08x)...Ack and ignore\n", + inta & (~inta_mask)); + iwl_write32(trans, CSR_INT, inta & (~inta_mask)); + inta &= inta_mask; + } + /* Ignore interrupt if there's nothing in NIC to service. * This may be due to IRQ shared with another device, * or due to sporadic interrupts thrown from our NIC. */ @@ -989,7 +1016,7 @@ * If we have something to service, the tasklet will re-enable ints. * If we *don't* have something, we'll re-enable before leaving here. */ - inta_mask = iwl_read32(trans, CSR_INT_MASK); /* just for debug */ + inta_mask = iwl_read32(trans, CSR_INT_MASK); iwl_write32(trans, CSR_INT_MASK, 0x00000000); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-mac80211.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlwifi/iwl-mac80211.c @@ -776,9 +776,23 @@ mutex_lock(&priv->mutex); if (vif->type == NL80211_IFTYPE_STATION) { if (old_state == IEEE80211_STA_NOTEXIST && - new_state == IEEE80211_STA_NONE) + new_state == IEEE80211_STA_NONE) { + /* + * Firmware bug - it'll crash if the beacon interval is less + * than 16. We can't avoid connecting at all, so refuse the + * station state change, this will cause mac80211 to abandon + * attempts to connect to this AP, and eventually wpa_s will + * blacklist the AP... + */ + if (vif->bss_conf.beacon_int < 16) { + IWL_ERR(priv, + "AP %pM beacon interval is %d, refusing due to firmware bug!\n", + sta->addr, vif->bss_conf.beacon_int); + ret = -EINVAL; + goto out_unlock; + } op = ADD; - else if (old_state == IEEE80211_STA_NONE && + } else if (old_state == IEEE80211_STA_NONE && new_state == IEEE80211_STA_NOTEXIST) op = REMOVE; else if (old_state == IEEE80211_STA_AUTH && @@ -846,6 +860,7 @@ if (iwl_is_rfkill(priv)) ret = 0; +out_unlock: mutex_unlock(&priv->mutex); IWL_DEBUG_MAC80211(priv, "leave\n"); @@ -943,7 +958,10 @@ if (test_bit(STATUS_EXIT_PENDING, &priv->status)) return; - if (test_and_clear_bit(STATUS_CHANNEL_SWITCH_PENDING, &priv->status)) + if (!test_and_clear_bit(STATUS_CHANNEL_SWITCH_PENDING, &priv->status)) + return; + + if (ctx->vif) ieee80211_chswitch_done(ctx->vif, is_success); } @@ -1343,6 +1361,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-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +++ linux-lts-quantal-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; @@ -1393,7 +1393,7 @@ struct iwl_chain_noise_data *data = &priv->chain_noise_data; int ret; - if (!(priv->calib_disabled & IWL_CHAIN_NOISE_CALIB_DISABLED)) + if (priv->calib_disabled & IWL_CHAIN_NOISE_CALIB_DISABLED) return; if ((data->state == IWL_CHAIN_NOISE_ALIVE) && @@ -1463,7 +1463,7 @@ if (changes & BSS_CHANGED_ASSOC) { if (bss_conf->assoc) { - priv->timestamp = bss_conf->last_tsf; + priv->timestamp = bss_conf->sync_tsf; ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK; } else { /* --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-ucode.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlwifi/iwl-ucode.c @@ -425,6 +425,8 @@ return -EIO; } + priv->ucode_loaded = true; + /* * This step takes a long time (60-80ms!!) and * WoWLAN image should be loaded quickly, so @@ -449,8 +451,6 @@ return ret; } - priv->ucode_loaded = true; - return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlwifi/iwl-agn.c @@ -799,7 +799,7 @@ BT_COEX_PRIO_TBL_EVT_INIT_CALIB2); if (ret) return ret; - } else { + } else if (priv->cfg->bt_params) { /* * default is 2-wire BT coexexistence support */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-sta.c +++ linux-lts-quantal-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) ? @@ -722,6 +723,7 @@ void iwl_restore_stations(struct iwl_priv *priv, struct iwl_rxon_context *ctx) { struct iwl_addsta_cmd sta_cmd; + static const struct iwl_link_quality_cmd zero_lq = {}; struct iwl_link_quality_cmd lq; int i; bool found = false; @@ -760,7 +762,9 @@ else memcpy(&lq, priv->stations[i].lq, sizeof(struct iwl_link_quality_cmd)); - send_lq = true; + + if (memcmp(&lq, &zero_lq, sizeof(lq))) + send_lq = true; } spin_unlock_bh(&priv->sta_lock); ret = iwl_send_add_sta(priv, &sta_cmd, CMD_SYNC); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlwifi/iwl-trans-pcie.c @@ -439,6 +439,9 @@ q->read_ptr = iwl_queue_inc_wrap(q->read_ptr, q->n_bd); } spin_unlock_bh(&txq->lock); + + /* just in case - this queue may have been stopped */ + iwl_wake_queue(trans, txq); } /** @@ -1437,6 +1440,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 +1658,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 +1672,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 +1995,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); @@ -2101,16 +2107,16 @@ spin_lock_init(&trans_pcie->irq_lock); init_waitqueue_head(&trans_pcie->ucode_write_waitq); - /* W/A - seems to solve weird behavior. We need to remove this if we - * don't want to stay in L1 all the time. This wastes a lot of power */ - pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | - PCIE_LINK_STATE_CLKPM); - if (pci_enable_device(pdev)) { err = -ENODEV; goto out_no_pci; } + /* W/A - seems to solve weird behavior. We need to remove this if we + * don't want to stay in L1 all the time. This wastes a lot of power */ + pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | + PCIE_LINK_STATE_CLKPM); + pci_set_master(pdev); err = pci_set_dma_mask(pdev, DMA_BIT_MASK(36)); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-pci.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/iwlwifi/iwl-pci.c @@ -131,6 +131,7 @@ {IWL_PCI_DEVICE(0x423C, 0x1306, iwl5150_abg_cfg)}, /* Half Mini Card */ {IWL_PCI_DEVICE(0x423C, 0x1221, iwl5150_agn_cfg)}, /* Mini Card */ {IWL_PCI_DEVICE(0x423C, 0x1321, iwl5150_agn_cfg)}, /* Half Mini Card */ + {IWL_PCI_DEVICE(0x423C, 0x1326, iwl5150_abg_cfg)}, /* Half Mini Card */ {IWL_PCI_DEVICE(0x423D, 0x1211, iwl5150_agn_cfg)}, /* Mini Card */ {IWL_PCI_DEVICE(0x423D, 0x1311, iwl5150_agn_cfg)}, /* Half Mini Card */ @@ -243,6 +244,7 @@ {IWL_PCI_DEVICE(0x088F, 0x4260, iwl6035_2agn_cfg)}, {IWL_PCI_DEVICE(0x088E, 0x4460, iwl6035_2agn_cfg)}, {IWL_PCI_DEVICE(0x088E, 0x4860, iwl6035_2agn_cfg)}, + {IWL_PCI_DEVICE(0x088F, 0x5260, iwl6035_2agn_cfg)}, /* 105 Series */ {IWL_PCI_DEVICE(0x0894, 0x0022, iwl105_bgn_cfg)}, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-debugfs.c +++ linux-lts-quantal-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; @@ -2245,15 +2248,15 @@ size_t count, loff_t *ppos) { struct iwl_priv *priv = file->private_data; - char *buf; - int pos = 0; - ssize_t ret = -ENOMEM; + char *buf = NULL; + ssize_t ret; - ret = pos = iwl_dump_nic_event_log(priv, true, &buf, true); - if (buf) { - ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos); - kfree(buf); - } + ret = iwl_dump_nic_event_log(priv, true, &buf, true); + if (ret < 0) + goto err; + ret = simple_read_from_buffer(user_buf, count, ppos, buf, ret); +err: + kfree(buf); return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/iwlwifi/iwl-agn-devices.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/p54/p54usb.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/p54/p54usb.c @@ -42,11 +42,12 @@ * 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 */ {USB_DEVICE(0x0506, 0x0a11)}, /* 3COM 3CRWE254G72 */ + {USB_DEVICE(0x0675, 0x0530)}, /* DrayTek Vigor 530 */ {USB_DEVICE(0x06b9, 0x0120)}, /* Thomson SpeedTouch 120g */ {USB_DEVICE(0x0707, 0xee06)}, /* SMC 2862W-G */ {USB_DEVICE(0x07aa, 0x001c)}, /* Corega CG-WLUSB2GT */ @@ -82,7 +83,10 @@ {USB_DEVICE(0x06a9, 0x000e)}, /* Westell 802.11g USB (A90-211WG-01) */ {USB_DEVICE(0x06b9, 0x0121)}, /* Thomson SpeedTouch 121g */ {USB_DEVICE(0x0707, 0xee13)}, /* SMC 2862W-G version 2 */ + {USB_DEVICE(0x07aa, 0x0020)}, /* Corega WLUSB2GTST USB */ + {USB_DEVICE(0x0803, 0x4310)}, /* Zoom 4410a */ {USB_DEVICE(0x083a, 0x4521)}, /* Siemens Gigaset USB Adapter 54 version 2 */ + {USB_DEVICE(0x083a, 0x4531)}, /* T-Com Sinus 154 data II */ {USB_DEVICE(0x083a, 0xc501)}, /* Zoom Wireless-G 4410 */ {USB_DEVICE(0x083a, 0xf503)}, /* Accton FD7050E ver 1010ec */ {USB_DEVICE(0x0846, 0x4240)}, /* Netgear WG111 (v2) */ @@ -101,6 +105,7 @@ {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */ {USB_DEVICE(0x1413, 0x5400)}, /* Telsey 802.11g USB2.0 Adapter */ {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */ + /* {USB_DEVICE(0x15a9, 0x0002)}, * Also SparkLAN WL-682 with 3887 */ {USB_DEVICE(0x1668, 0x1050)}, /* Actiontec 802UIG-1 */ {USB_DEVICE(0x1740, 0x1000)}, /* Senao NUB-350 */ {USB_DEVICE(0x2001, 0x3704)}, /* DLink DWL-G122 rev A2 */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath5k/base.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath5k/base.c @@ -845,7 +845,7 @@ return; dma_unmap_single(ah->dev, bf->skbaddr, bf->skb->len, DMA_TO_DEVICE); - dev_kfree_skb_any(bf->skb); + ieee80211_free_txskb(ah->hw, bf->skb); bf->skb = NULL; bf->skbaddr = 0; bf->desc->ds_data = 0; @@ -1572,7 +1572,7 @@ return; drop_packet: - dev_kfree_skb_any(skb); + ieee80211_free_txskb(hw, skb); } static void --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath5k/mac80211-ops.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath5k/mac80211-ops.c @@ -61,7 +61,7 @@ u16 qnum = skb_get_queue_mapping(skb); if (WARN_ON(qnum >= ah->ah_capabilities.cap_queues.q_tx_num)) { - dev_kfree_skb_any(skb); + ieee80211_free_txskb(hw, skb); return; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c @@ -3578,7 +3578,7 @@ static void ar9003_hw_ant_ctrl_apply(struct ath_hw *ah, bool is2ghz) { int chain; - u32 regval; + u32 regval, value; u32 ant_div_ctl1; static const u32 switch_chain_reg[AR9300_MAX_CHAINS] = { AR_PHY_SWITCH_CHAIN_0, @@ -3586,7 +3586,11 @@ AR_PHY_SWITCH_CHAIN_2, }; - u32 value = ar9003_hw_ant_ctrl_common_get(ah, is2ghz); + if (AR_SREV_9485(ah) && (ar9003_hw_get_rx_gain_idx(ah) == 0)) + ath9k_hw_cfg_output(ah, AR9300_EXT_LNA_CTL_GPIO_AR9485, + AR_GPIO_OUTPUT_MUX_AS_PCIE_ATTENTION_LED); + + value = ar9003_hw_ant_ctrl_common_get(ah, is2ghz); if (AR_SREV_9462(ah)) { REG_RMW_FIELD(ah, AR_PHY_SWITCH_COM, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/calib.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/calib.c @@ -69,6 +69,7 @@ if (chan && chan->noisefloor) { s8 delta = chan->noisefloor - + ATH9K_NF_CAL_NOISE_THRESH - ath9k_hw_get_default_nf(ah, chan); if (delta > 0) noise += delta; @@ -368,7 +369,6 @@ struct ieee80211_channel *c = chan->chan; struct ath9k_hw_cal_data *caldata = ah->caldata; - chan->channelFlags &= (~CHANNEL_CW_INT); if (REG_READ(ah, AR_PHY_AGC_CONTROL) & AR_PHY_AGC_CONTROL_NF) { ath_dbg(common, CALIBRATE, "NF did not complete in calibration window\n"); @@ -383,12 +383,10 @@ ath_dbg(common, CALIBRATE, "noise floor failed detected; detected %d, threshold %d\n", nf, nfThresh); - chan->channelFlags |= CHANNEL_CW_INT; } if (!caldata) { chan->noisefloor = nf; - ah->noise = ath9k_hw_getchan_noise(ah, chan); return false; } @@ -409,7 +407,8 @@ int i, j; ah->caldata->channel = chan->channel; - ah->caldata->channelFlags = chan->channelFlags & ~CHANNEL_CW_INT; + ah->caldata->channelFlags = chan->channelFlags; + ah->caldata->chanmode = chan->chanmode; h = ah->caldata->nfCalHist; default_nf = ath9k_hw_get_default_nf(ah, chan); for (i = 0; i < NUM_NF_READINGS; i++) { --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_hw.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_hw.c @@ -307,13 +307,13 @@ /* Awake -> Sleep Setting */ INIT_INI_ARRAY(&ah->iniPcieSerdes, - PCIE_PLL_ON_CREQ_DIS_L1_2P0, - ARRAY_SIZE(PCIE_PLL_ON_CREQ_DIS_L1_2P0), + ar9462_pciephy_clkreq_disable_L1_2p0, + ARRAY_SIZE(ar9462_pciephy_clkreq_disable_L1_2p0), 2); /* Sleep -> Awake Setting */ INIT_INI_ARRAY(&ah->iniPcieSerdesLowPower, - PCIE_PLL_ON_CREQ_DIS_L1_2P0, - ARRAY_SIZE(PCIE_PLL_ON_CREQ_DIS_L1_2P0), + ar9462_pciephy_clkreq_disable_L1_2p0, + ARRAY_SIZE(ar9462_pciephy_clkreq_disable_L1_2p0), 2); /* Fast clock modal settings */ @@ -632,8 +632,8 @@ 2); else if (AR_SREV_9485_11(ah)) INIT_INI_ARRAY(&ah->iniModesRxGain, - ar9485Common_wo_xlna_rx_gain_1_1, - ARRAY_SIZE(ar9485Common_wo_xlna_rx_gain_1_1), + ar9485_common_rx_gain_1_1, + ARRAY_SIZE(ar9485_common_rx_gain_1_1), 2); else if (AR_SREV_9580(ah)) INIT_INI_ARRAY(&ah->iniModesRxGain, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/Kconfig +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/Kconfig @@ -89,13 +89,17 @@ This option enables collection of statistics for Rx/Tx status data and some other MAC related statistics -config ATH9K_RATE_CONTROL +config ATH9K_LEGACY_RATE_CONTROL bool "Atheros ath9k rate control" depends on ATH9K - default y + default n ---help--- Say Y, if you want to use the ath9k specific rate control - module instead of minstrel_ht. + module instead of minstrel_ht. Be warned that there are various + issues with the ath9k RC and minstrel is a more robust algorithm. + Note that even if this option is selected, "ath9k_rate_control" + has to be passed to mac80211 using the module parameter, + ieee80211_default_rc_algo. config ATH9K_HTC tristate "Atheros HTC based wireless cards support" --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -448,6 +448,7 @@ struct ieee80211_conf *cur_conf = &priv->hw->conf; bool txok; int slot; + int hdrlen, padsize; slot = strip_drv_header(priv, skb); if (slot < 0) { @@ -504,6 +505,15 @@ ath9k_htc_tx_clear_slot(priv, slot); + /* Remove padding before handing frame back to mac80211 */ + hdrlen = ieee80211_get_hdrlen_from_skb(skb); + + padsize = hdrlen & 3; + if (padsize && skb->len > hdrlen + padsize) { + memmove(skb->data + padsize, skb->data, hdrlen); + skb_pull(skb, padsize); + } + /* Send status to mac80211 */ ieee80211_tx_status(priv->hw, skb); } @@ -1067,15 +1077,19 @@ last_rssi = priv->rx.last_rssi; - if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER)) - rxbuf->rxstatus.rs_rssi = ATH_EP_RND(last_rssi, - ATH_RSSI_EP_MULTIPLIER); + if (ieee80211_is_beacon(hdr->frame_control) && + !is_zero_ether_addr(common->curbssid) && + ether_addr_equal(hdr->addr3, common->curbssid)) { + s8 rssi = rxbuf->rxstatus.rs_rssi; + + if (likely(last_rssi != ATH_RSSI_DUMMY_MARKER)) + rssi = ATH_EP_RND(last_rssi, ATH_RSSI_EP_MULTIPLIER); - if (rxbuf->rxstatus.rs_rssi < 0) - rxbuf->rxstatus.rs_rssi = 0; + if (rssi < 0) + rssi = 0; - if (ieee80211_is_beacon(fc)) - priv->ah->stats.avgbrssi = rxbuf->rxstatus.rs_rssi; + priv->ah->stats.avgbrssi = rssi; + } rx_status->mactime = be64_to_cpu(rxbuf->rxstatus.rs_tstamp); rx_status->band = hw->conf.channel->band; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ath9k.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ath9k.h @@ -79,10 +79,6 @@ sizeof(struct ath_buf_state)); \ } while (0) -#define ATH_RXBUF_RESET(_bf) do { \ - (_bf)->bf_stale = false; \ - } while (0) - /** * enum buffer_type - Buffer type flags * @@ -309,18 +305,17 @@ u8 rxotherant; u32 *rxlink; unsigned int rxfilter; - spinlock_t rxbuflock; struct list_head rxbuf; struct ath_descdma rxdma; struct ath_buf *rx_bufptr; struct ath_rx_edma rx_edma[ATH9K_RX_QUEUE_MAX]; + struct ath_buf *buf_hold; struct sk_buff *frag; }; int ath_startrecv(struct ath_softc *sc); bool ath_stoprecv(struct ath_softc *sc); -void ath_flushrecv(struct ath_softc *sc); u32 ath_calcrxfilter(struct ath_softc *sc); int ath_rx_init(struct ath_softc *sc, int nbufs); void ath_rx_cleanup(struct ath_softc *sc); @@ -588,7 +583,6 @@ #define SC_OP_INVALID BIT(0) #define SC_OP_BEACONS BIT(1) #define SC_OP_OFFCHANNEL BIT(2) -#define SC_OP_RXFLUSH BIT(3) #define SC_OP_TSF_RESET BIT(4) #define SC_OP_BT_PRIORITY_DETECTED BIT(5) #define SC_OP_BT_SCAN BIT(6) --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/recv.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/recv.c @@ -78,8 +78,6 @@ struct ath_desc *ds; struct sk_buff *skb; - ATH_RXBUF_RESET(bf); - ds = bf->bf_desc; ds->ds_link = 0; /* link to null */ ds->ds_data = bf->bf_buf_addr; @@ -106,6 +104,14 @@ sc->rx.rxlink = &ds->ds_link; } +static void ath_rx_buf_relink(struct ath_softc *sc, struct ath_buf *bf) +{ + if (sc->rx.buf_hold) + ath_rx_buf_link(sc, sc->rx.buf_hold); + + sc->rx.buf_hold = bf; +} + static void ath_setdefantenna(struct ath_softc *sc, u32 antenna) { /* XXX block beacon interrupts */ @@ -153,7 +159,6 @@ skb = bf->bf_mpdu; - ATH_RXBUF_RESET(bf); memset(skb->data, 0, ah->caps.rx_status_len); dma_sync_single_for_device(sc->dev, bf->bf_buf_addr, ah->caps.rx_status_len, DMA_TO_DEVICE); @@ -291,8 +296,6 @@ static void ath_edma_start_recv(struct ath_softc *sc) { - spin_lock_bh(&sc->rx.rxbuflock); - ath9k_hw_rxena(sc->sc_ah); ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_HP, @@ -304,8 +307,6 @@ ath_opmode_init(sc); ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); - - spin_unlock_bh(&sc->rx.rxbuflock); } static void ath_edma_stop_recv(struct ath_softc *sc) @@ -322,8 +323,6 @@ int error = 0; spin_lock_init(&sc->sc_pcu_lock); - sc->sc_flags &= ~SC_OP_RXFLUSH; - spin_lock_init(&sc->rx.rxbuflock); common->rx_bufsize = IEEE80211_MAX_MPDU_LEN / 2 + sc->sc_ah->caps.rx_status_len; @@ -481,10 +480,10 @@ return 0; } - spin_lock_bh(&sc->rx.rxbuflock); if (list_empty(&sc->rx.rxbuf)) goto start_recv; + sc->rx.buf_hold = NULL; sc->rx.rxlink = NULL; list_for_each_entry_safe(bf, tbf, &sc->rx.rxbuf, list) { ath_rx_buf_link(sc, bf); @@ -502,26 +501,31 @@ ath_opmode_init(sc); ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); - spin_unlock_bh(&sc->rx.rxbuflock); - return 0; } +static void ath_flushrecv(struct ath_softc *sc) +{ + if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) + ath_rx_tasklet(sc, 1, true); + ath_rx_tasklet(sc, 1, false); +} + bool ath_stoprecv(struct ath_softc *sc) { struct ath_hw *ah = sc->sc_ah; bool stopped, reset = false; - spin_lock_bh(&sc->rx.rxbuflock); ath9k_hw_abortpcurecv(ah); ath9k_hw_setrxfilter(ah, 0); stopped = ath9k_hw_stopdmarecv(ah, &reset); + ath_flushrecv(sc); + if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) ath_edma_stop_recv(sc); else sc->rx.rxlink = NULL; - spin_unlock_bh(&sc->rx.rxbuflock); if (!(ah->ah_flags & AH_UNPLUGGED) && unlikely(!stopped)) { @@ -533,15 +537,6 @@ return stopped && !reset; } -void ath_flushrecv(struct ath_softc *sc) -{ - sc->sc_flags |= SC_OP_RXFLUSH; - if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) - ath_rx_tasklet(sc, 1, true); - ath_rx_tasklet(sc, 1, false); - sc->sc_flags &= ~SC_OP_RXFLUSH; -} - static bool ath_beacon_dtim_pending_cab(struct sk_buff *skb) { /* Check whether the Beacon frame has DTIM indicating buffered bc/mc */ @@ -734,6 +729,9 @@ } bf = list_first_entry(&sc->rx.rxbuf, struct ath_buf, list); + if (bf == sc->rx.buf_hold) + return NULL; + ds = bf->bf_desc; /* @@ -778,6 +776,7 @@ return NULL; } + list_del(&bf->list); if (!bf->bf_mpdu) return bf; @@ -1781,7 +1780,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); @@ -1797,15 +1795,12 @@ dma_type = DMA_FROM_DEVICE; qtype = hp ? ATH9K_RX_QUEUE_HP : ATH9K_RX_QUEUE_LP; - spin_lock_bh(&sc->rx.rxbuflock); tsf = ath9k_hw_gettsf64(ah); tsf_lower = tsf & 0xffffffff; do { - /* If handling rx interrupt and flush is in progress => exit */ - if ((sc->sc_flags & SC_OP_RXFLUSH) && (flush == 0)) - break; + bool decrypt_error = false; memset(&rs, 0, sizeof(rs)); if (edma) @@ -1844,15 +1839,6 @@ ath_debug_stat_rx(sc, &rs); - /* - * If we're asked to flush receive queue, directly - * chain it back at the queue without processing it. - */ - if (sc->sc_flags & SC_OP_RXFLUSH) { - RX_STAT_INC(rx_drop_rxflush); - goto requeue_drop_frag; - } - memset(rxs, 0, sizeof(struct ieee80211_rx_status)); rxs->mactime = (tsf & ~0xffffffffULL) | rs.rs_tstamp; @@ -1988,19 +1974,18 @@ sc->rx.frag = NULL; } requeue: + list_add_tail(&bf->list, &sc->rx.rxbuf); + if (flush) + continue; + if (edma) { - list_add_tail(&bf->list, &sc->rx.rxbuf); ath_rx_edma_buf_link(sc, qtype); } else { - list_move_tail(&bf->list, &sc->rx.rxbuf); - ath_rx_buf_link(sc, bf); - if (!flush) - ath9k_hw_rxena(ah); + ath_rx_buf_relink(sc, bf); + ath9k_hw_rxena(ah); } } while (1); - spin_unlock_bh(&sc->rx.rxbuflock); - if (!(ah->imask & ATH9K_INT_RXEOL)) { ah->imask |= (ATH9K_INT_RXEOL | ATH9K_INT_RXORN); ath9k_hw_set_interrupts(ah); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_calib.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_calib.c @@ -910,6 +910,9 @@ AR_PHY_CL_TAB_1, AR_PHY_CL_TAB_2 }; + /* Use chip chainmask only for calibration */ + ar9003_hw_set_chain_masks(ah, ah->caps.rx_chainmask, ah->caps.tx_chainmask); + if (rtt) { if (!ar9003_hw_rtt_restore(ah, chan)) run_rtt_cal = true; @@ -1055,6 +1058,9 @@ ar9003_hw_rtt_disable(ah); } + /* Revert chainmask to runtime parameters */ + ar9003_hw_set_chain_masks(ah, ah->rxchainmask, ah->txchainmask); + /* Initialize list pointers */ ah->cal_list = ah->cal_list_last = ah->cal_list_curr = NULL; ah->supp_cals = IQ_MISMATCH_CAL; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/hw.c +++ linux-lts-quantal-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) @@ -1471,7 +1472,9 @@ reset_type = ATH9K_RESET_POWER_ON; else reset_type = ATH9K_RESET_COLD; - } + } else if (ah->chip_fullsleep || REG_READ(ah, AR_Q_TXE) || + (REG_READ(ah, AR_CR) & AR_CR_RXE)) + reset_type = ATH9K_RESET_COLD; if (!ath9k_hw_set_reset_reg(ah, reset_type)) return false; @@ -1770,10 +1773,9 @@ ath9k_hw_getnf(ah, ah->curchan); ah->caldata = caldata; - if (caldata && - (chan->channel != caldata->channel || - (chan->channelFlags & ~CHANNEL_CW_INT) != - (caldata->channelFlags & ~CHANNEL_CW_INT))) { + if (caldata && (chan->channel != caldata->channel || + chan->channelFlags != caldata->channelFlags || + chan->chanmode != caldata->chanmode)) { /* Operating channel changed, reset channel calibration data */ memset(caldata, 0, sizeof(*caldata)); ath9k_init_nfcal_hist_buffer(ah, chan); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/Makefile +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/Makefile @@ -6,7 +6,7 @@ xmit.o ath9k-$(CONFIG_ATH9K_BTCOEX_SUPPORT) += mci.o -ath9k-$(CONFIG_ATH9K_RATE_CONTROL) += rc.o +ath9k-$(CONFIG_ATH9K_LEGACY_RATE_CONTROL) += rc.o ath9k-$(CONFIG_ATH9K_PCI) += pci.o ath9k-$(CONFIG_ATH9K_AHB) += ahb.o ath9k-$(CONFIG_ATH9K_DEBUGFS) += debug.o --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/main.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/main.c @@ -235,7 +235,7 @@ cancel_work_sync(&sc->hw_reset_work); } -static bool ath_prepare_reset(struct ath_softc *sc, bool retry_tx, bool flush) +static bool ath_prepare_reset(struct ath_softc *sc, bool retry_tx) { struct ath_hw *ah = sc->sc_ah; struct ath_common *common = ath9k_hw_common(ah); @@ -256,14 +256,6 @@ if (!ath_drain_all_txq(sc, retry_tx)) ret = false; - if (!flush) { - if (ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) - ath_rx_tasklet(sc, 1, true); - ath_rx_tasklet(sc, 1, false); - } else { - ath_flushrecv(sc); - } - return ret; } @@ -321,11 +313,11 @@ struct ath_common *common = ath9k_hw_common(ah); struct ath9k_hw_cal_data *caldata = NULL; bool fastcc = true; - bool flush = false; int r; __ath_cancel_work(sc); + tasklet_disable(&sc->intr_tq); spin_lock_bh(&sc->sc_pcu_lock); if (!(sc->sc_flags & SC_OP_OFFCHANNEL)) { @@ -335,11 +327,10 @@ if (!hchan) { fastcc = false; - flush = true; hchan = ah->curchan; } - if (!ath_prepare_reset(sc, retry_tx, flush)) + if (!ath_prepare_reset(sc, retry_tx)) fastcc = false; ath_dbg(common, CONFIG, "Reset to %u MHz, HT40: %d fastcc: %d\n", @@ -357,6 +348,8 @@ out: spin_unlock_bh(&sc->sc_pcu_lock); + tasklet_enable(&sc->intr_tq); + return r; } @@ -1161,7 +1154,7 @@ return; exit: - dev_kfree_skb_any(skb); + ieee80211_free_txskb(hw, skb); } static void ath9k_stop(struct ieee80211_hw *hw) @@ -1214,7 +1207,7 @@ ath9k_hw_cfg_gpio_input(ah, ah->led_pin); } - ath_prepare_reset(sc, false, true); + ath_prepare_reset(sc, false); if (sc->rx.frag) { dev_kfree_skb_any(sc->rx.frag); @@ -1631,13 +1624,6 @@ ath_update_survey_stats(sc); spin_unlock_irqrestore(&common->cc_lock, flags); - /* - * Preserve the current channel values, before updating - * the same channel - */ - if (ah->curchan && (old_pos == pos)) - ath9k_hw_getnf(ah, ah->curchan); - ath9k_cmn_update_ichannel(&sc->sc_ah->channels[pos], curchan, conf->channel_type); @@ -1729,6 +1715,7 @@ struct ath_common *common = ath9k_hw_common(sc->sc_ah); struct ath_node *an = (struct ath_node *) sta->drv_priv; struct ieee80211_key_conf ps_key = { }; + int key; ath_node_attach(sc, sta, vif); @@ -1736,7 +1723,9 @@ vif->type != NL80211_IFTYPE_AP_VLAN) return 0; - an->ps_key = ath_key_config(common, vif, sta, &ps_key); + key = ath_key_config(common, vif, sta, &ps_key); + if (key > 0) + an->ps_key = key; return 0; } @@ -1753,6 +1742,7 @@ return; ath_key_delete(common, &ps_key); + an->ps_key = 0; } static int ath9k_sta_remove(struct ieee80211_hw *hw, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/calib.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/calib.h @@ -21,6 +21,9 @@ #define AR_PHY_CCA_FILTERWINDOW_LENGTH 5 +/* Internal noise floor can vary by about 6db depending on the frequency */ +#define ATH9K_NF_CAL_NOISE_THRESH 6 + #define NUM_NF_READINGS 6 #define ATH9K_NF_CAL_HIST_MAX 5 --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_eeprom.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_eeprom.h @@ -68,13 +68,13 @@ #define AR9300_BASE_ADDR 0x3ff #define AR9300_BASE_ADDR_512 0x1ff -#define AR9300_OTP_BASE 0x14000 -#define AR9300_OTP_STATUS 0x15f18 +#define AR9300_OTP_BASE (AR_SREV_9340(ah) ? 0x30000 : 0x14000) +#define AR9300_OTP_STATUS (AR_SREV_9340(ah) ? 0x30018 : 0x15f18) #define AR9300_OTP_STATUS_TYPE 0x7 #define AR9300_OTP_STATUS_VALID 0x4 #define AR9300_OTP_STATUS_ACCESS_BUSY 0x2 #define AR9300_OTP_STATUS_SM_BUSY 0x1 -#define AR9300_OTP_READ_DATA 0x15f1c +#define AR9300_OTP_READ_DATA (AR_SREV_9340(ah) ? 0x3001c : 0x15f1c) enum targetPowerHTRates { HT_TARGET_RATE_0_8_16, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/init.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/init.c @@ -696,8 +696,7 @@ hw->wiphy->iface_combinations = &if_comb; hw->wiphy->n_iface_combinations = 1; - if (AR_SREV_5416(sc->sc_ah)) - hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; + hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS; @@ -721,10 +720,6 @@ sc->ant_rx = hw->wiphy->available_antennas_rx; sc->ant_tx = hw->wiphy->available_antennas_tx; -#ifdef CONFIG_ATH9K_RATE_CONTROL - hw->rate_control_algorithm = "ath9k_rate_control"; -#endif - if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ) hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &sc->sbands[IEEE80211_BAND_2GHZ]; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/xmit.c +++ linux-lts-quantal-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; @@ -2247,21 +2258,21 @@ sc->tx_complete_poll_work_seen++; #endif - for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++) - if (ATH_TXQ_SETUP(sc, i)) { - txq = &sc->tx.txq[i]; - ath_txq_lock(sc, txq); - if (txq->axq_depth) { - if (txq->axq_tx_inprogress) { - needreset = true; - ath_txq_unlock(sc, txq); - break; - } else { - txq->axq_tx_inprogress = true; - } + for (i = 0; i < IEEE80211_NUM_ACS; i++) { + txq = sc->tx.txq_map[i]; + + ath_txq_lock(sc, txq); + if (txq->axq_depth) { + if (txq->axq_tx_inprogress) { + needreset = true; + ath_txq_unlock(sc, txq); + break; + } else { + txq->axq_tx_inprogress = true; } - ath_txq_unlock_complete(sc, txq); } + ath_txq_unlock_complete(sc, txq); + } if (needreset) { ath_dbg(ath9k_hw_common(sc->sc_ah), RESET, @@ -2468,6 +2479,7 @@ for (acno = 0, ac = &an->ac[acno]; acno < WME_NUM_AC; acno++, ac++) { ac->sched = false; + ac->clear_ps_filter = true; ac->txq = sc->tx.txq_map[acno]; INIT_LIST_HEAD(&ac->tid_q); } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/debug.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/debug.h @@ -184,7 +184,6 @@ * @rx_oom_err: No. of frames dropped due to OOM issues. * @rx_rate_err: No. of frames dropped due to rate errors. * @rx_too_many_frags_err: Frames dropped due to too-many-frags received. - * @rx_drop_rxflush: No. of frames dropped due to RX-FLUSH. * @rx_beacons: No. of beacons received. * @rx_frags: No. of rx-fragements received. */ @@ -203,7 +202,6 @@ u32 rx_oom_err; u32 rx_rate_err; u32 rx_too_many_frags_err; - u32 rx_drop_rxflush; u32 rx_beacons; u32 rx_frags; }; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/htc.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/htc.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/debug.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/debug.c @@ -919,7 +919,6 @@ RXS_ERR("RX-LENGTH-ERR", rx_len_err); RXS_ERR("RX-OOM-ERR", rx_oom_err); RXS_ERR("RX-RATE-ERR", rx_rate_err); - RXS_ERR("RX-DROP-RXFLUSH", rx_drop_rxflush); RXS_ERR("RX-TOO-MANY-FRAGS", rx_too_many_frags_err); PHY_ERR("UNDERRUN ERR", ATH9K_PHYERR_UNDERRUN); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/common.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/common.h @@ -35,7 +35,7 @@ #define WME_AC_BK 3 #define WME_NUM_AC 4 -#define ATH_RSSI_DUMMY_MARKER 0x127 +#define ATH_RSSI_DUMMY_MARKER 127 #define ATH_RSSI_LPF_LEN 10 #define RSSI_LPF_THRESHOLD -20 #define ATH_RSSI_EP_MULTIPLIER (1<<7) --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_phy.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_phy.c @@ -532,35 +532,20 @@ ath9k_hw_synth_delay(ah, chan, synthDelay); } -static void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx) +void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx) { - switch (rx) { - case 0x5: + if (ah->caps.tx_chainmask == 5 || ah->caps.rx_chainmask == 5) REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP, AR_PHY_SWAP_ALT_CHAIN); - case 0x3: - case 0x1: - case 0x2: - case 0x7: - REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx); - REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx); - break; - default: - break; - } - if ((ah->caps.hw_caps & ATH9K_HW_CAP_APM) && (tx == 0x7)) - REG_WRITE(ah, AR_SELFGEN_MASK, 0x3); - else if (AR_SREV_9462(ah)) - /* xxx only when MCI support is enabled */ - REG_WRITE(ah, AR_SELFGEN_MASK, 0x3); - else - REG_WRITE(ah, AR_SELFGEN_MASK, tx); + REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx); + REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx); - if (tx == 0x5) { - REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP, - AR_PHY_SWAP_ALT_CHAIN); - } + if (((ah->caps.hw_caps & ATH9K_HW_CAP_APM) && (tx == 0x7)) || + AR_SREV_9462(ah)) + tx = 3; + + REG_WRITE(ah, AR_SELFGEN_MASK, tx); } /* @@ -971,6 +956,10 @@ * is_on == 0 means MRC CCK is OFF (more noise imm) */ bool is_on = param ? 1 : 0; + + if (ah->caps.rx_chainmask == 1) + break; + REG_RMW_FIELD(ah, AR_PHY_MRC_CCK_CTRL, AR_PHY_MRC_CCK_ENABLE, is_on); REG_RMW_FIELD(ah, AR_PHY_MRC_CCK_CTRL, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/hw.h +++ linux-lts-quantal-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 @@ -316,7 +317,6 @@ ATH9K_INT_NOCARD = 0xffffffff }; -#define CHANNEL_CW_INT 0x00002 #define CHANNEL_CCK 0x00020 #define CHANNEL_OFDM 0x00040 #define CHANNEL_2GHZ 0x00080 @@ -354,6 +354,7 @@ struct ath9k_hw_cal_data { u16 channel; u32 channelFlags; + u32 chanmode; int32_t CalValid; int8_t iCoff; int8_t qCoff; @@ -1007,6 +1008,7 @@ int ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain); int ar9003_paprd_init_table(struct ath_hw *ah); bool ar9003_paprd_is_done(struct ath_hw *ah); +void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx); /* Hardware family op attach helpers */ void ar5008_hw_attach_phy_ops(struct ath_hw *ah); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h @@ -648,7 +648,7 @@ {0x00008258, 0x00000000}, {0x0000825c, 0x40000000}, {0x00008260, 0x00080922}, - {0x00008264, 0x9bc00010}, + {0x00008264, 0x9d400010}, {0x00008268, 0xffffffff}, {0x0000826c, 0x0000ffff}, {0x00008270, 0x00000000}, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/htc_drv_init.c @@ -774,7 +774,7 @@ * required version. */ if (priv->fw_version_major != MAJOR_VERSION_REQ || - priv->fw_version_minor != MINOR_VERSION_REQ) { + priv->fw_version_minor < MINOR_VERSION_REQ) { dev_err(priv->dev, "ath9k_htc: Please upgrade to FW version %d.%d\n", MAJOR_VERSION_REQ, MINOR_VERSION_REQ); return -EINVAL; @@ -824,6 +824,7 @@ if (error != 0) goto err_rx; + ath9k_hw_disable(priv->ah); #ifdef CONFIG_MAC80211_LEDS /* must be initialized before ieee80211_register_hw */ priv->led_cdev.default_trigger = ieee80211_create_tpt_led_trigger(priv->hw, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/htc_hst.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/htc_hst.c @@ -344,6 +344,8 @@ endpoint->ep_callbacks.tx(endpoint->ep_callbacks.priv, skb, htc_hdr->endpoint_id, txok); + } else { + kfree_skb(skb); } } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/rc.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/rc.h @@ -219,7 +219,7 @@ struct ath_rc_stats rcstats[RATE_TABLE_SIZE]; }; -#ifdef CONFIG_ATH9K_RATE_CONTROL +#ifdef CONFIG_ATH9K_LEGACY_RATE_CONTROL int ath_rate_control_register(void); void ath_rate_control_unregister(void); #else --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/beacon.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_phy.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/ath/ath9k/ar9003_phy.h @@ -339,6 +339,8 @@ #define AR_PHY_CCA_NOM_VAL_9330_2GHZ -118 +#define AR9300_EXT_LNA_CTL_GPIO_AR9485 9 + /* * AGC Field Definitions */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ linux-lts-quantal-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, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, + {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, + {0x0000a2e4, 0x03ff0000, 0x03ff0000, 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}, - {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}, + {0x0000a410, 0x000050d8, 0x000050d8, 0x000050d9, 0x000050d9}, + {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, + {0x0000a504, 0x04002222, 0x04002222, 0x04000002, 0x04000002}, + {0x0000a508, 0x09002421, 0x09002421, 0x08000004, 0x08000004}, + {0x0000a50c, 0x0d002621, 0x0d002621, 0x0b000200, 0x0b000200}, + {0x0000a510, 0x13004620, 0x13004620, 0x0f000202, 0x0f000202}, + {0x0000a514, 0x19004a20, 0x19004a20, 0x11000400, 0x11000400}, + {0x0000a518, 0x1d004e20, 0x1d004e20, 0x15000402, 0x15000402}, + {0x0000a51c, 0x21005420, 0x21005420, 0x19000404, 0x19000404}, + {0x0000a520, 0x26005e20, 0x26005e20, 0x1b000603, 0x1b000603}, + {0x0000a524, 0x2b005e40, 0x2b005e40, 0x1f000a02, 0x1f000a02}, + {0x0000a528, 0x2f005e42, 0x2f005e42, 0x23000a04, 0x23000a04}, + {0x0000a52c, 0x33005e44, 0x33005e44, 0x26000a20, 0x26000a20}, + {0x0000a530, 0x38005e65, 0x38005e65, 0x2a000e20, 0x2a000e20}, + {0x0000a534, 0x3c005e69, 0x3c005e69, 0x2e000e22, 0x2e000e22}, + {0x0000a538, 0x40005e6b, 0x40005e6b, 0x31000e24, 0x31000e24}, + {0x0000a53c, 0x44005e6d, 0x44005e6d, 0x34001640, 0x34001640}, + {0x0000a540, 0x49005e72, 0x49005e72, 0x38001660, 0x38001660}, + {0x0000a544, 0x4e005eb2, 0x4e005eb2, 0x3b001861, 0x3b001861}, + {0x0000a548, 0x53005f12, 0x53005f12, 0x3e001a81, 0x3e001a81}, + {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, + {0x0000a550, 0x5e025f12, 0x5e025f12, 0x44001c84, 0x44001c84}, + {0x0000a554, 0x61027f12, 0x61027f12, 0x48001ce3, 0x48001ce3}, + {0x0000a558, 0x6702bf12, 0x6702bf12, 0x4c001ce5, 0x4c001ce5}, + {0x0000a55c, 0x6b02bf14, 0x6b02bf14, 0x50001ce9, 0x50001ce9}, + {0x0000a560, 0x6f02bf16, 0x6f02bf16, 0x54001ceb, 0x54001ceb}, + {0x0000a564, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a568, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a56c, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a570, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a574, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a578, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a57c, 0x6f02bf16, 0x6f02bf16, 0x56001eec, 0x56001eec}, + {0x0000a580, 0x00802220, 0x00802220, 0x00800000, 0x00800000}, + {0x0000a584, 0x04802222, 0x04802222, 0x04800002, 0x04800002}, + {0x0000a588, 0x09802421, 0x09802421, 0x08800004, 0x08800004}, + {0x0000a58c, 0x0d802621, 0x0d802621, 0x0b800200, 0x0b800200}, + {0x0000a590, 0x13804620, 0x13804620, 0x0f800202, 0x0f800202}, + {0x0000a594, 0x19804a20, 0x19804a20, 0x11800400, 0x11800400}, + {0x0000a598, 0x1d804e20, 0x1d804e20, 0x15800402, 0x15800402}, + {0x0000a59c, 0x21805420, 0x21805420, 0x19800404, 0x19800404}, + {0x0000a5a0, 0x26805e20, 0x26805e20, 0x1b800603, 0x1b800603}, + {0x0000a5a4, 0x2b805e40, 0x2b805e40, 0x1f800a02, 0x1f800a02}, + {0x0000a5a8, 0x2f805e42, 0x2f805e42, 0x23800a04, 0x23800a04}, + {0x0000a5ac, 0x33805e44, 0x33805e44, 0x26800a20, 0x26800a20}, + {0x0000a5b0, 0x38805e65, 0x38805e65, 0x2a800e20, 0x2a800e20}, + {0x0000a5b4, 0x3c805e69, 0x3c805e69, 0x2e800e22, 0x2e800e22}, + {0x0000a5b8, 0x40805e6b, 0x40805e6b, 0x31800e24, 0x31800e24}, + {0x0000a5bc, 0x44805e6d, 0x44805e6d, 0x34801640, 0x34801640}, + {0x0000a5c0, 0x49805e72, 0x49805e72, 0x38801660, 0x38801660}, + {0x0000a5c4, 0x4e805eb2, 0x4e805eb2, 0x3b801861, 0x3b801861}, + {0x0000a5c8, 0x53805f12, 0x53805f12, 0x3e801a81, 0x3e801a81}, + {0x0000a5cc, 0x59825eb2, 0x59825eb2, 0x42801a83, 0x42801a83}, + {0x0000a5d0, 0x5e825f12, 0x5e825f12, 0x44801c84, 0x44801c84}, + {0x0000a5d4, 0x61827f12, 0x61827f12, 0x48801ce3, 0x48801ce3}, + {0x0000a5d8, 0x6782bf12, 0x6782bf12, 0x4c801ce5, 0x4c801ce5}, + {0x0000a5dc, 0x6b82bf14, 0x6b82bf14, 0x50801ce9, 0x50801ce9}, + {0x0000a5e0, 0x6f82bf16, 0x6f82bf16, 0x54801ceb, 0x54801ceb}, + {0x0000a5e4, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a5e8, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a5ec, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a5f0, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a5f4, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a5f8, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, + {0x0000a5fc, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, {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, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, + {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, + {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, + {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, + {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, + {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, + {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, + {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, + {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, + {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, + {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, + {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, + {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, + {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, + {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03f0f800, 0x03f0f800}, {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, - {0x0000c2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, - {0x0000c2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, - {0x0000c2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000c2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, + {0x0000c2e0, 0x0000f800, 0x0000f800, 0x03ccc584, 0x03ccc584}, + {0x0000c2e4, 0x03ff0000, 0x03ff0000, 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}, }; @@ -777,11 +777,11 @@ {0x0000a074, 0x00000000}, {0x0000a078, 0x00000000}, {0x0000a07c, 0x00000000}, - {0x0000a080, 0x1a1a1a1a}, - {0x0000a084, 0x1a1a1a1a}, - {0x0000a088, 0x1a1a1a1a}, - {0x0000a08c, 0x1a1a1a1a}, - {0x0000a090, 0x171a1a1a}, + {0x0000a080, 0x22222229}, + {0x0000a084, 0x1d1d1d1d}, + {0x0000a088, 0x1d1d1d1d}, + {0x0000a08c, 0x1d1d1d1d}, + {0x0000a090, 0x171d1d1d}, {0x0000a094, 0x11111717}, {0x0000a098, 0x00030311}, {0x0000a09c, 0x00000000}, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/hostap/hostap_ioctl.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/hostap/hostap_ioctl.c @@ -522,9 +522,9 @@ data->length = prism2_ap_get_sta_qual(local, addr, qual, IW_MAX_AP, 1); - memcpy(extra, &addr, sizeof(struct sockaddr) * data->length); + memcpy(extra, addr, sizeof(struct sockaddr) * data->length); data->flags = 1; /* has quality information */ - memcpy(extra + sizeof(struct sockaddr) * data->length, &qual, + memcpy(extra + sizeof(struct sockaddr) * data->length, qual, sizeof(struct iw_quality) * data->length); kfree(addr); --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/hostap/hostap_hw.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/ti/wlcore/main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/ipw2x00/ipw2200.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/Kconfig +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/Kconfig @@ -28,7 +28,7 @@ config B43_BCMA bool "Support for BCMA bus" - depends on B43 && BCMA + depends on B43 && (BCMA = y || BCMA = B43) default y config B43_BCMA_EXTRA @@ -39,7 +39,7 @@ config B43_SSB bool - depends on B43 && SSB + depends on B43 && (SSB = y || SSB = B43) default y # Auto-select SSB PCI-HOST support, if possible --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/main.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/main.h @@ -137,9 +137,8 @@ struct b43_request_fw_context; -int b43_do_request_fw(struct b43_request_fw_context *ctx, - const char *name, - struct b43_firmware_file *fw); +int b43_do_request_fw(struct b43_request_fw_context *ctx, const char *name, + struct b43_firmware_file *fw, bool async); void b43_do_release_fw(struct b43_firmware_file *fw); #endif /* B43_MAIN_H_ */ --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/b43.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/b43.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include "debugfs.h" @@ -718,6 +719,10 @@ struct b43_request_fw_context { /* The device we are requesting the fw for. */ struct b43_wldev *dev; + /* a completion event structure needed if this call is asynchronous */ + struct completion fw_load_complete; + /* a pointer to the firmware object */ + const struct firmware *blob; /* The type of firmware to request. */ enum b43_firmware_file_type req_type; /* Error messages for each firmware type. */ @@ -870,13 +875,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-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/main.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/main.c @@ -1895,30 +1895,18 @@ } } - if (unlikely(merged_dma_reason & (B43_DMAIRQ_FATALMASK | - B43_DMAIRQ_NONFATALMASK))) { - if (merged_dma_reason & B43_DMAIRQ_FATALMASK) { - b43err(dev->wl, "Fatal DMA error: " - "0x%08X, 0x%08X, 0x%08X, " - "0x%08X, 0x%08X, 0x%08X\n", - dma_reason[0], dma_reason[1], - dma_reason[2], dma_reason[3], - dma_reason[4], dma_reason[5]); - b43err(dev->wl, "This device does not support DMA " + if (unlikely(merged_dma_reason & (B43_DMAIRQ_FATALMASK))) { + b43err(dev->wl, + "Fatal DMA error: 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X\n", + dma_reason[0], dma_reason[1], + dma_reason[2], dma_reason[3], + dma_reason[4], dma_reason[5]); + b43err(dev->wl, "This device does not support DMA " "on your system. It will now be switched to PIO.\n"); - /* Fall back to PIO transfers if we get fatal DMA errors! */ - dev->use_pio = true; - b43_controller_restart(dev, "DMA error"); - return; - } - if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) { - b43err(dev->wl, "DMA error: " - "0x%08X, 0x%08X, 0x%08X, " - "0x%08X, 0x%08X, 0x%08X\n", - dma_reason[0], dma_reason[1], - dma_reason[2], dma_reason[3], - dma_reason[4], dma_reason[5]); - } + /* Fall back to PIO transfers if we get fatal DMA errors! */ + dev->use_pio = true; + b43_controller_restart(dev, "DMA error"); + return; } if (unlikely(reason & B43_IRQ_UCODE_DEBUG)) @@ -1937,6 +1925,11 @@ handle_irq_noise(dev); /* Check the DMA reason registers for received data. */ + if (dma_reason[0] & B43_DMAIRQ_RDESC_UFLOW) { + if (B43_DEBUG) + b43warn(dev->wl, "RX descriptor underrun\n"); + b43_dma_handle_rx_overflow(dev->dma.rx_ring); + } if (dma_reason[0] & B43_DMAIRQ_RX_DONE) { if (b43_using_pio_transfers(dev)) b43_pio_rx(dev->pio.rx_queue); @@ -1994,7 +1987,7 @@ return IRQ_NONE; dev->dma_reason[0] = b43_read32(dev, B43_MMIO_DMA0_REASON) - & 0x0001DC00; + & 0x0001FC00; dev->dma_reason[1] = b43_read32(dev, B43_MMIO_DMA1_REASON) & 0x0000DC00; dev->dma_reason[2] = b43_read32(dev, B43_MMIO_DMA2_REASON) @@ -2088,11 +2081,18 @@ b43warn(wl, text); } +static void b43_fw_cb(const struct firmware *firmware, void *context) +{ + struct b43_request_fw_context *ctx = context; + + ctx->blob = firmware; + complete(&ctx->fw_load_complete); +} + int b43_do_request_fw(struct b43_request_fw_context *ctx, const char *name, - struct b43_firmware_file *fw) + struct b43_firmware_file *fw, bool async) { - const struct firmware *blob; struct b43_fw_header *hdr; u32 size; int err; @@ -2131,11 +2131,31 @@ B43_WARN_ON(1); return -ENOSYS; } - err = request_firmware(&blob, ctx->fwname, ctx->dev->dev->dev); + if (async) { + /* do this part asynchronously */ + init_completion(&ctx->fw_load_complete); + err = request_firmware_nowait(THIS_MODULE, 1, ctx->fwname, + ctx->dev->dev->dev, GFP_KERNEL, + ctx, b43_fw_cb); + if (err < 0) { + pr_err("Unable to load firmware\n"); + return err; + } + /* stall here until fw ready */ + wait_for_completion(&ctx->fw_load_complete); + if (ctx->blob) + goto fw_ready; + /* On some ARM systems, the async request will fail, but the next sync + * request works. For this reason, we dall through here + */ + } + err = request_firmware(&ctx->blob, ctx->fwname, + ctx->dev->dev->dev); if (err == -ENOENT) { snprintf(ctx->errors[ctx->req_type], sizeof(ctx->errors[ctx->req_type]), - "Firmware file \"%s\" not found\n", ctx->fwname); + "Firmware file \"%s\" not found\n", + ctx->fwname); return err; } else if (err) { snprintf(ctx->errors[ctx->req_type], @@ -2144,14 +2164,15 @@ ctx->fwname, err); return err; } - if (blob->size < sizeof(struct b43_fw_header)) +fw_ready: + if (ctx->blob->size < sizeof(struct b43_fw_header)) goto err_format; - hdr = (struct b43_fw_header *)(blob->data); + hdr = (struct b43_fw_header *)(ctx->blob->data); switch (hdr->type) { case B43_FW_TYPE_UCODE: case B43_FW_TYPE_PCM: size = be32_to_cpu(hdr->size); - if (size != blob->size - sizeof(struct b43_fw_header)) + if (size != ctx->blob->size - sizeof(struct b43_fw_header)) goto err_format; /* fallthrough */ case B43_FW_TYPE_IV: @@ -2162,7 +2183,7 @@ goto err_format; } - fw->data = blob; + fw->data = ctx->blob; fw->filename = name; fw->type = ctx->req_type; @@ -2172,7 +2193,7 @@ snprintf(ctx->errors[ctx->req_type], sizeof(ctx->errors[ctx->req_type]), "Firmware file \"%s\" format error.\n", ctx->fwname); - release_firmware(blob); + release_firmware(ctx->blob); return -EPROTO; } @@ -2223,7 +2244,7 @@ goto err_no_ucode; } } - err = b43_do_request_fw(ctx, filename, &fw->ucode); + err = b43_do_request_fw(ctx, filename, &fw->ucode, true); if (err) goto err_load; @@ -2235,7 +2256,7 @@ else goto err_no_pcm; fw->pcm_request_failed = false; - err = b43_do_request_fw(ctx, filename, &fw->pcm); + err = b43_do_request_fw(ctx, filename, &fw->pcm, false); if (err == -ENOENT) { /* We did not find a PCM file? Not fatal, but * core rev <= 10 must do without hwcrypto then. */ @@ -2296,7 +2317,7 @@ default: goto err_no_initvals; } - err = b43_do_request_fw(ctx, filename, &fw->initvals); + err = b43_do_request_fw(ctx, filename, &fw->initvals, false); if (err) goto err_load; @@ -2355,10 +2376,12 @@ default: goto err_no_initvals; } - err = b43_do_request_fw(ctx, filename, &fw->initvals_band); + err = b43_do_request_fw(ctx, filename, &fw->initvals_band, false); if (err) goto err_load; + fw->opensource = (ctx->req_type == B43_FWTYPE_OPENSOURCE); + return 0; err_no_ucode: @@ -2428,12 +2451,16 @@ for (i = 0; i < B43_NR_FWTYPES; i++) { errmsg = ctx->errors[i]; if (strlen(errmsg)) - b43err(dev->wl, errmsg); + b43err(dev->wl, "%s", errmsg); } b43_print_fw_helptext(dev->wl, 1); 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 +2564,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 +2584,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", @@ -3095,7 +3114,7 @@ b43_write32(dev, 0x018C, 0x02000000); } b43_write32(dev, B43_MMIO_GEN_IRQ_REASON, 0x00004000); - b43_write32(dev, B43_MMIO_DMA0_IRQ_MASK, 0x0001DC00); + b43_write32(dev, B43_MMIO_DMA0_IRQ_MASK, 0x0001FC00); b43_write32(dev, B43_MMIO_DMA1_IRQ_MASK, 0x0000DC00); b43_write32(dev, B43_MMIO_DMA2_IRQ_MASK, 0x0000DC00); b43_write32(dev, B43_MMIO_DMA3_IRQ_MASK, 0x0001DC00); @@ -3394,7 +3413,7 @@ break; } if (unlikely(err)) - dev_kfree_skb(skb); /* Drop it */ + ieee80211_free_txskb(wl->hw, skb); err = 0; } @@ -3415,7 +3434,7 @@ if (unlikely(skb->len < 2 + 2 + 6)) { /* Too short, this can't be a valid frame. */ - dev_kfree_skb_any(skb); + ieee80211_free_txskb(hw, skb); return; } B43_WARN_ON(skb_shinfo(skb)->nr_frags); @@ -4182,7 +4201,6 @@ mutex_unlock(&wl->mutex); cancel_delayed_work_sync(&dev->periodic_work); cancel_work_sync(&wl->tx_work); - cancel_work_sync(&wl->firmware_load); mutex_lock(&wl->mutex); dev = wl->current_dev; if (!dev || b43_status(dev) < B43_STAT_STARTED) { @@ -4225,8 +4243,12 @@ /* Drain all TX queues. */ for (queue_num = 0; queue_num < B43_QOS_QUEUE_NUM; queue_num++) { - while (skb_queue_len(&wl->tx_queue[queue_num])) - dev_kfree_skb(skb_dequeue(&wl->tx_queue[queue_num])); + while (skb_queue_len(&wl->tx_queue[queue_num])) { + struct sk_buff *skb; + + skb = skb_dequeue(&wl->tx_queue[queue_num]); + ieee80211_free_txskb(wl->hw, skb); + } } b43_mac_suspend(dev); @@ -5298,8 +5320,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); @@ -5371,13 +5391,12 @@ /* We must cancel any work here before unregistering from ieee80211, * as the ieee80211 unreg will destroy the workqueue. */ cancel_work_sync(&wldev->restart_work); + cancel_work_sync(&wl->firmware_load); 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); } @@ -5449,13 +5468,12 @@ /* We must cancel any work here before unregistering from ieee80211, * as the ieee80211 unreg will destroy the workqueue. */ cancel_work_sync(&wldev->restart_work); + cancel_work_sync(&wl->firmware_load); 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-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/pio.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/pio.c @@ -196,7 +196,7 @@ for (i = 0; i < ARRAY_SIZE(q->packets); i++) { pack = &(q->packets[i]); if (pack->skb) { - dev_kfree_skb_any(pack->skb); + ieee80211_free_txskb(q->dev->wl->hw, pack->skb); pack->skb = NULL; } } @@ -552,7 +552,7 @@ if (unlikely(err == -ENOKEY)) { /* Drop this packet, as we don't have the encryption key * anymore and must not transmit it unencrypted. */ - dev_kfree_skb_any(skb); + ieee80211_free_txskb(dev->wl->hw, skb); err = 0; goto out; } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/dma.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/dma.h @@ -9,7 +9,7 @@ /* DMA-Interrupt reasons. */ #define B43_DMAIRQ_FATALMASK ((1 << 10) | (1 << 11) | (1 << 12) \ | (1 << 14) | (1 << 15)) -#define B43_DMAIRQ_NONFATALMASK (1 << 13) +#define B43_DMAIRQ_RDESC_UFLOW (1 << 13) #define B43_DMAIRQ_RX_DONE (1 << 16) /*** 32-bit DMA Engine. ***/ @@ -169,7 +169,7 @@ /* DMA engine tuning knobs */ #define B43_TXRING_SLOTS 256 -#define B43_RXRING_SLOTS 64 +#define B43_RXRING_SLOTS 256 #define B43_DMA0_RX_FW598_BUFSIZE (B43_DMA0_RX_FW598_FO + IEEE80211_MAX_FRAME_LEN) #define B43_DMA0_RX_FW351_BUFSIZE (B43_DMA0_RX_FW351_FO + IEEE80211_MAX_FRAME_LEN) @@ -295,6 +295,8 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev, const struct b43_txstatus *status); +void b43_dma_handle_rx_overflow(struct b43_dmaring *ring); + void b43_dma_rx(struct b43_dmaring *ring); void b43_dma_direct_fifo_rx(struct b43_wldev *dev, --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/dma.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/dma.c @@ -409,7 +409,10 @@ struct b43_dmadesc_meta *meta) { if (meta->skb) { - dev_kfree_skb_any(meta->skb); + if (ring->tx) + ieee80211_free_txskb(ring->dev->wl->hw, meta->skb); + else + dev_kfree_skb_any(meta->skb); meta->skb = NULL; } } @@ -1454,7 +1457,7 @@ if (unlikely(err == -ENOKEY)) { /* Drop this packet, as we don't have the encryption key * anymore and must not transmit it unencrypted. */ - dev_kfree_skb_any(skb); + ieee80211_free_txskb(dev->wl->hw, skb); err = 0; goto out; } @@ -1484,8 +1487,12 @@ const struct b43_dma_ops *ops; struct b43_dmaring *ring; struct b43_dmadesc_meta *meta; + static const struct b43_txstatus fake; /* filled with 0 */ + const struct b43_txstatus *txstat; int slot, firstused; bool frame_succeed; + int skip; + static u8 err_out1, err_out2; ring = parse_cookie(dev, status->cookie, &slot); if (unlikely(!ring)) @@ -1498,13 +1505,36 @@ firstused = ring->current_slot - ring->used_slots + 1; if (firstused < 0) firstused = ring->nr_slots + firstused; + + skip = 0; if (unlikely(slot != firstused)) { /* This possibly is a firmware bug and will result in - * malfunction, memory leaks and/or stall of DMA functionality. */ - b43dbg(dev->wl, "Out of order TX status report on DMA ring %d. " - "Expected %d, but got %d\n", - ring->index, firstused, slot); - return; + * malfunction, memory leaks and/or stall of DMA functionality. + */ + if (slot == next_slot(ring, next_slot(ring, firstused))) { + /* If a single header/data pair was missed, skip over + * the first two slots in an attempt to recover. + */ + slot = firstused; + skip = 2; + if (!err_out1) { + /* Report the error once. */ + b43dbg(dev->wl, + "Skip on DMA ring %d slot %d.\n", + ring->index, slot); + err_out1 = 1; + } + } else { + /* More than a single header/data pair were missed. + * Report this error once. + */ + if (!err_out2) + b43dbg(dev->wl, + "Out of order TX status report on DMA ring %d. Expected %d, but got %d\n", + ring->index, firstused, slot); + err_out2 = 1; + return; + } } ops = ring->ops; @@ -1519,11 +1549,13 @@ slot, firstused, ring->index); break; } + if (meta->skb) { struct b43_private_tx_info *priv_info = - b43_get_priv_tx_info(IEEE80211_SKB_CB(meta->skb)); + b43_get_priv_tx_info(IEEE80211_SKB_CB(meta->skb)); - unmap_descbuffer(ring, meta->dmaaddr, meta->skb->len, 1); + unmap_descbuffer(ring, meta->dmaaddr, + meta->skb->len, 1); kfree(priv_info->bouncebuffer); priv_info->bouncebuffer = NULL; } else { @@ -1535,8 +1567,9 @@ struct ieee80211_tx_info *info; if (unlikely(!meta->skb)) { - /* This is a scatter-gather fragment of a frame, so - * the skb pointer must not be NULL. */ + /* This is a scatter-gather fragment of a frame, + * so the skb pointer must not be NULL. + */ b43dbg(dev->wl, "TX status unexpected NULL skb " "at slot %d (first=%d) on ring %d\n", slot, firstused, ring->index); @@ -1547,9 +1580,18 @@ /* * Call back to inform the ieee80211 subsystem about - * the status of the transmission. + * the status of the transmission. When skipping over + * a missed TX status report, use a status structure + * filled with zeros to indicate that the frame was not + * sent (frame_count 0) and not acknowledged */ - frame_succeed = b43_fill_txstatus_report(dev, info, status); + if (unlikely(skip)) + txstat = &fake; + else + txstat = status; + + frame_succeed = b43_fill_txstatus_report(dev, info, + txstat); #ifdef CONFIG_B43_DEBUG if (frame_succeed) ring->nr_succeed_tx_packets++; @@ -1577,12 +1619,14 @@ /* Everything unmapped and free'd. So it's not used anymore. */ ring->used_slots--; - if (meta->is_last_fragment) { + if (meta->is_last_fragment && !skip) { /* This is the last scatter-gather * fragment of the frame. We are done. */ break; } slot = next_slot(ring, slot); + if (skip > 0) + --skip; } if (ring->stopped) { B43_WARN_ON(free_slots(ring) < TX_SLOTS_PER_FRAME); @@ -1689,6 +1733,25 @@ sync_descbuffer_for_device(ring, dmaaddr, ring->rx_buffersize); } +void b43_dma_handle_rx_overflow(struct b43_dmaring *ring) +{ + int current_slot, previous_slot; + + B43_WARN_ON(ring->tx); + + /* Device has filled all buffers, drop all packets and let TCP + * decrease speed. + * Decrement RX index by one will let the device to see all slots + * as free again + */ + /* + *TODO: How to increase rx_drop in mac80211? + */ + current_slot = ring->ops->get_current_rxslot(ring); + previous_slot = prev_slot(ring, current_slot); + ring->ops->set_current_rxslot(ring, previous_slot); +} + void b43_dma_rx(struct b43_dmaring *ring) { const struct b43_dma_ops *ops = ring->ops; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/b43/phy_n.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43/phy_n.c @@ -1320,7 +1320,7 @@ u16 clip_off[2] = { 0xFFFF, 0xFFFF }; u8 vcm_final = 0; - s8 offset[4]; + s32 offset[4]; s32 results[8][4] = { }; s32 results_min[4] = { }; s32 poll_results[4] = { }; @@ -1371,7 +1371,7 @@ } for (i = 0; i < 4; i++) { s32 curr; - s32 mind = 40; + s32 mind = 0x100000; s32 minpoll = 249; u8 minvcm = 0; if (2 * core != i) @@ -1487,7 +1487,7 @@ u8 regs_save_radio[2]; u16 regs_save_phy[2]; - s8 offset[4]; + s32 offset[4]; u8 core; u8 rail; @@ -1554,7 +1554,7 @@ } for (i = 0; i < 4; i++) { - s32 mind = 40; + s32 mind = 0x100000; u8 minvcm = 0; s32 minpoll = 249; s32 curr; @@ -4582,7 +4582,8 @@ #endif #ifdef CONFIG_B43_SSB case B43_BUS_SSB: - /* FIXME */ + ssb_pmu_spuravoid_pllupdate(&dev->dev->sdev->bus->chipco, + avoid); break; #endif } --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/rtl818x/rtl8187/dev.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wireless/b43legacy/b43legacy.h +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43legacy/b43legacy.h @@ -13,6 +13,7 @@ #include #include +#include #include @@ -733,6 +734,10 @@ /* Firmware data */ struct b43legacy_firmware fw; + const struct firmware *fwp; /* needed to pass fw pointer */ + + /* completion struct for firmware loading */ + struct completion fw_load_complete; /* Devicelist in struct b43legacy_wl (all 802.11 cores) */ struct list_head list; --- linux-lts-quantal-3.5.0.orig/drivers/net/wireless/b43legacy/main.c +++ linux-lts-quantal-3.5.0/drivers/net/wireless/b43legacy/main.c @@ -1513,9 +1513,17 @@ "and download the correct firmware (version 3).\n"); } +static void b43legacy_fw_cb(const struct firmware *firmware, void *context) +{ + struct b43legacy_wldev *dev = context; + + dev->fwp = firmware; + complete(&dev->fw_load_complete); +} + static int do_request_fw(struct b43legacy_wldev *dev, const char *name, - const struct firmware **fw) + const struct firmware **fw, bool async) { char path[sizeof(modparam_fwpostfix) + 32]; struct b43legacy_fw_header *hdr; @@ -1528,7 +1536,24 @@ snprintf(path, ARRAY_SIZE(path), "b43legacy%s/%s.fw", modparam_fwpostfix, name); - err = request_firmware(fw, path, dev->dev->dev); + b43legacyinfo(dev->wl, "Loading firmware %s\n", path); + if (async) { + init_completion(&dev->fw_load_complete); + err = request_firmware_nowait(THIS_MODULE, 1, path, + dev->dev->dev, GFP_KERNEL, + dev, b43legacy_fw_cb); + if (err) { + b43legacyerr(dev->wl, "Unable to load firmware\n"); + return err; + } + /* stall here until fw ready */ + wait_for_completion(&dev->fw_load_complete); + if (!dev->fwp) + err = -EINVAL; + *fw = dev->fwp; + } else { + err = request_firmware(fw, path, dev->dev->dev); + } if (err) { b43legacyerr(dev->wl, "Firmware file \"%s\" not found " "or load failed.\n", path); @@ -1580,7 +1605,7 @@ filename = "ucode4"; else filename = "ucode5"; - err = do_request_fw(dev, filename, &fw->ucode); + err = do_request_fw(dev, filename, &fw->ucode, true); if (err) goto err_load; } @@ -1589,7 +1614,7 @@ filename = "pcm4"; else filename = "pcm5"; - err = do_request_fw(dev, filename, &fw->pcm); + err = do_request_fw(dev, filename, &fw->pcm, false); if (err) goto err_load; } @@ -1607,7 +1632,7 @@ default: goto err_no_initvals; } - err = do_request_fw(dev, filename, &fw->initvals); + err = do_request_fw(dev, filename, &fw->initvals, false); if (err) goto err_load; } @@ -1627,7 +1652,7 @@ default: goto err_no_initvals; } - err = do_request_fw(dev, filename, &fw->initvals_band); + err = do_request_fw(dev, filename, &fw->initvals_band, false); if (err) goto err_load; } @@ -3894,6 +3919,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-lts-quantal-3.5.0.orig/drivers/net/caif/caif_serial.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/can/pch_can.c +++ linux-lts-quantal-3.5.0/drivers/net/can/pch_can.c @@ -560,7 +560,7 @@ stats->rx_errors++; break; case PCH_CRC_ERR: - cf->data[2] |= CAN_ERR_PROT_LOC_CRC_SEQ | + cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ | CAN_ERR_PROT_LOC_CRC_DEL; priv->can.can_stats.bus_error++; stats->rx_errors++; --- linux-lts-quantal-3.5.0.orig/drivers/net/can/janz-ican3.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/can/dev.c +++ linux-lts-quantal-3.5.0/drivers/net/can/dev.c @@ -576,8 +576,7 @@ { struct can_priv *priv = netdev_priv(dev); - if (del_timer_sync(&priv->restart_timer)) - dev_put(dev); + del_timer_sync(&priv->restart_timer); can_flush_echo_skb(dev); } EXPORT_SYMBOL_GPL(close_candev); --- linux-lts-quantal-3.5.0.orig/drivers/net/can/ti_hecc.c +++ linux-lts-quantal-3.5.0/drivers/net/can/ti_hecc.c @@ -746,12 +746,12 @@ } if (err_status & HECC_CANES_CRCE) { hecc_set_bit(priv, HECC_CANES, HECC_CANES_CRCE); - cf->data[2] |= CAN_ERR_PROT_LOC_CRC_SEQ | + cf->data[3] |= CAN_ERR_PROT_LOC_CRC_SEQ | CAN_ERR_PROT_LOC_CRC_DEL; } if (err_status & HECC_CANES_ACKE) { hecc_set_bit(priv, HECC_CANES, HECC_CANES_ACKE); - cf->data[2] |= CAN_ERR_PROT_LOC_ACK | + cf->data[3] |= CAN_ERR_PROT_LOC_ACK | CAN_ERR_PROT_LOC_ACK_DEL; } } @@ -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-lts-quantal-3.5.0.orig/drivers/net/can/mcp251x.c +++ linux-lts-quantal-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, @@ -913,6 +922,7 @@ struct mcp251x_priv *priv = netdev_priv(net); struct spi_device *spi = priv->spi; struct mcp251x_platform_data *pdata = spi->dev.platform_data; + unsigned long flags; int ret; ret = open_candev(net); @@ -929,9 +939,14 @@ priv->tx_skb = NULL; priv->tx_len = 0; + flags = IRQF_ONESHOT; + if (pdata->irq_flags) + flags |= pdata->irq_flags; + else + flags |= IRQF_TRIGGER_FALLING; + ret = request_threaded_irq(spi->irq, NULL, mcp251x_can_ist, - pdata->irq_flags ? pdata->irq_flags : IRQF_TRIGGER_FALLING, - DEVICE_NAME, priv); + flags, DEVICE_NAME, priv); if (ret) { dev_err(&spi->dev, "failed to acquire irq %d\n", spi->irq); if (pdata->transceiver_enable) --- linux-lts-quantal-3.5.0.orig/drivers/net/can/usb/peak_usb/pcan_usb_pro.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/can/usb/peak_usb/pcan_usb.c +++ linux-lts-quantal-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) @@ -646,13 +649,14 @@ if ((mc->ptr + rec_len) > mc->end) goto decode_failed; - memcpy(cf->data, mc->ptr, rec_len); + memcpy(cf->data, mc->ptr, cf->can_dlc); mc->ptr += rec_len; } /* 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-lts-quantal-3.5.0.orig/drivers/net/can/c_can/c_can.c +++ linux-lts-quantal-3.5.0/drivers/net/can/c_can/c_can.c @@ -446,8 +446,12 @@ priv->write_reg(priv, &priv->regs->ifregs[iface].mask1, IFX_WRITE_LOW_16BIT(mask)); + + /* According to C_CAN documentation, the reserved bit + * in IFx_MASK2 register is fixed 1 + */ priv->write_reg(priv, &priv->regs->ifregs[iface].mask2, - IFX_WRITE_HIGH_16BIT(mask)); + IFX_WRITE_HIGH_16BIT(mask) | BIT(13)); priv->write_reg(priv, &priv->regs->ifregs[iface].arb1, IFX_WRITE_LOW_16BIT(id)); @@ -914,7 +918,7 @@ break; case LEC_ACK_ERROR: netdev_dbg(dev, "ack error\n"); - cf->data[2] |= (CAN_ERR_PROT_LOC_ACK | + cf->data[3] |= (CAN_ERR_PROT_LOC_ACK | CAN_ERR_PROT_LOC_ACK_DEL); break; case LEC_BIT1_ERROR: @@ -927,7 +931,7 @@ break; case LEC_CRC_ERROR: netdev_dbg(dev, "CRC error\n"); - cf->data[2] |= (CAN_ERR_PROT_LOC_CRC_SEQ | + cf->data[3] |= (CAN_ERR_PROT_LOC_CRC_SEQ | CAN_ERR_PROT_LOC_CRC_DEL); break; default: --- linux-lts-quantal-3.5.0.orig/drivers/net/can/sja1000/plx_pci.c +++ linux-lts-quantal-3.5.0/drivers/net/can/sja1000/plx_pci.c @@ -329,7 +329,7 @@ */ if ((priv->read_reg(priv, REG_CR) & REG_CR_BASICCAN_INITIAL_MASK) == REG_CR_BASICCAN_INITIAL && - (priv->read_reg(priv, REG_SR) == REG_SR_BASICCAN_INITIAL) && + (priv->read_reg(priv, SJA1000_REG_SR) == REG_SR_BASICCAN_INITIAL) && (priv->read_reg(priv, REG_IR) == REG_IR_BASICCAN_INITIAL)) flag = 1; @@ -341,7 +341,7 @@ * See states on p. 23 of the Datasheet. */ if (priv->read_reg(priv, REG_MOD) == REG_MOD_PELICAN_INITIAL && - priv->read_reg(priv, REG_SR) == REG_SR_PELICAN_INITIAL && + priv->read_reg(priv, SJA1000_REG_SR) == REG_SR_PELICAN_INITIAL && priv->read_reg(priv, REG_IR) == REG_IR_PELICAN_INITIAL) return flag; --- linux-lts-quantal-3.5.0.orig/drivers/net/can/sja1000/sja1000.c +++ linux-lts-quantal-3.5.0/drivers/net/can/sja1000/sja1000.c @@ -91,7 +91,7 @@ */ spin_lock_irqsave(&priv->cmdreg_lock, flags); priv->write_reg(priv, REG_CMR, val); - priv->read_reg(priv, REG_SR); + priv->read_reg(priv, SJA1000_REG_SR); spin_unlock_irqrestore(&priv->cmdreg_lock, flags); } @@ -496,7 +496,7 @@ while ((isrc = priv->read_reg(priv, REG_IR)) && (n < SJA1000_MAX_IRQ)) { n++; - status = priv->read_reg(priv, REG_SR); + status = priv->read_reg(priv, SJA1000_REG_SR); /* check for absent controller due to hw unplug */ if (status == 0xFF && sja1000_is_absent(priv)) return IRQ_NONE; @@ -515,7 +515,7 @@ /* receive interrupt */ while (status & SR_RBS) { sja1000_rx(dev); - status = priv->read_reg(priv, REG_SR); + status = priv->read_reg(priv, SJA1000_REG_SR); /* check for absent controller */ if (status == 0xFF && sja1000_is_absent(priv)) return IRQ_NONE; --- linux-lts-quantal-3.5.0.orig/drivers/net/can/sja1000/sja1000.h +++ linux-lts-quantal-3.5.0/drivers/net/can/sja1000/sja1000.h @@ -56,7 +56,7 @@ /* SJA1000 registers - manual section 6.4 (Pelican Mode) */ #define REG_MOD 0x00 #define REG_CMR 0x01 -#define REG_SR 0x02 +#define SJA1000_REG_SR 0x02 #define REG_IR 0x03 #define REG_IER 0x04 #define REG_ALC 0x0B --- linux-lts-quantal-3.5.0.orig/drivers/net/can/sja1000/sja1000_of_platform.c +++ linux-lts-quantal-3.5.0/drivers/net/can/sja1000/sja1000_of_platform.c @@ -94,8 +94,8 @@ struct net_device *dev; struct sja1000_priv *priv; struct resource res; - const u32 *prop; - int err, irq, res_size, prop_size; + u32 prop; + int err, irq, res_size; void __iomem *base; err = of_address_to_resource(np, 0, &res); @@ -136,27 +136,27 @@ priv->read_reg = sja1000_ofp_read_reg; priv->write_reg = sja1000_ofp_write_reg; - prop = of_get_property(np, "nxp,external-clock-frequency", &prop_size); - if (prop && (prop_size == sizeof(u32))) - priv->can.clock.freq = *prop / 2; + err = of_property_read_u32(np, "nxp,external-clock-frequency", &prop); + if (!err) + priv->can.clock.freq = prop / 2; else priv->can.clock.freq = SJA1000_OFP_CAN_CLOCK; /* default */ - prop = of_get_property(np, "nxp,tx-output-mode", &prop_size); - if (prop && (prop_size == sizeof(u32))) - priv->ocr |= *prop & OCR_MODE_MASK; + err = of_property_read_u32(np, "nxp,tx-output-mode", &prop); + if (!err) + priv->ocr |= prop & OCR_MODE_MASK; else priv->ocr |= OCR_MODE_NORMAL; /* default */ - prop = of_get_property(np, "nxp,tx-output-config", &prop_size); - if (prop && (prop_size == sizeof(u32))) - priv->ocr |= (*prop << OCR_TX_SHIFT) & OCR_TX_MASK; + err = of_property_read_u32(np, "nxp,tx-output-config", &prop); + if (!err) + priv->ocr |= (prop << OCR_TX_SHIFT) & OCR_TX_MASK; else priv->ocr |= OCR_TX0_PULLDOWN; /* default */ - prop = of_get_property(np, "nxp,clock-out-frequency", &prop_size); - if (prop && (prop_size == sizeof(u32)) && *prop) { - u32 divider = priv->can.clock.freq * 2 / *prop; + err = of_property_read_u32(np, "nxp,clock-out-frequency", &prop); + if (!err && prop) { + u32 divider = priv->can.clock.freq * 2 / prop; if (divider > 1) priv->cdr |= divider / 2 - 1; @@ -166,8 +166,7 @@ priv->cdr |= CDR_CLK_OFF; /* default */ } - prop = of_get_property(np, "nxp,no-comparator-bypass", NULL); - if (!prop) + if (!of_property_read_bool(np, "nxp,no-comparator-bypass")) priv->cdr |= CDR_CBP; /* default */ priv->irq_flags = IRQF_SHARED; --- linux-lts-quantal-3.5.0.orig/drivers/net/can/mscan/mpc5xxx_can.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/8390/ne.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/8390/ne.c @@ -813,6 +813,7 @@ dev->irq = irq[this_dev]; dev->mem_end = bad[this_dev]; } + SET_NETDEV_DEV(dev, &pdev->dev); err = do_ne_probe(dev); if (err) { free_netdev(dev); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/stmicro/stmmac/mmc_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/calxeda/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/calxeda/xgmac.c +++ linux-lts-quantal-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; @@ -547,6 +548,10 @@ return -1; } + /* All frames should fit into a single buffer */ + if (!(status & RXDESC_FIRST_SEG) || !(status & RXDESC_LAST_SEG)) + return -1; + /* Check if packet has checksum already */ if ((status & RXDESC_FRAME_TYPE) && (status & RXDESC_EXT_STATUS) && !(ext_status & RXDESC_IP_PAYLOAD_MASK)) @@ -671,26 +676,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 +853,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 +888,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 +921,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 +961,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 +969,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 +1006,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 +1042,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 +1063,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 +1112,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 +1123,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 +1141,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 +1179,6 @@ xgmac_rx_refill(priv); - writel(1, priv->base + XGMAC_DMA_RX_POLL); - return count; } @@ -1221,7 +1202,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 +1347,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 +1365,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 +1402,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/intel/e1000e/ich8lan.c @@ -3690,6 +3690,17 @@ if (hw->mac.type == e1000_ich8lan) reg |= (E1000_RFCTL_IPV6_EX_DIS | E1000_RFCTL_NEW_IPV6_EXT_DIS); ew32(RFCTL, reg); + + /* Enable ECC on Lynxpoint */ + if (hw->mac.type == e1000_pch_lpt) { + reg = er32(PBECCSTS); + reg |= E1000_PBECCSTS_ECC_ENABLE; + ew32(PBECCSTS, reg); + + reg = er32(CTRL); + reg |= E1000_CTRL_MEHE; + ew32(CTRL, reg); + } } /** --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/ethtool.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/intel/e1000e/ethtool.c @@ -108,6 +108,8 @@ E1000_STAT("dropped_smbus", stats.mgpdc), E1000_STAT("rx_dma_failed", rx_dma_failed), E1000_STAT("tx_dma_failed", tx_dma_failed), + E1000_STAT("uncorr_ecc_errors", uncorr_errors), + E1000_STAT("corr_ecc_errors", corr_errors), }; #define E1000_GLOBAL_STATS_LEN ARRAY_SIZE(e1000_gstrings_stats) @@ -1897,7 +1899,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 +1917,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 +2063,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/defines.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/intel/e1000e/defines.h @@ -233,6 +233,7 @@ #define E1000_CTRL_FRCDPX 0x00001000 /* Force Duplex */ #define E1000_CTRL_LANPHYPC_OVERRIDE 0x00010000 /* SW control of LANPHYPC */ #define E1000_CTRL_LANPHYPC_VALUE 0x00020000 /* SW value of LANPHYPC */ +#define E1000_CTRL_MEHE 0x00080000 /* Memory Error Handling Enable */ #define E1000_CTRL_SWDPIN0 0x00040000 /* SWDPIN 0 value */ #define E1000_CTRL_SWDPIN1 0x00080000 /* SWDPIN 1 value */ #define E1000_CTRL_SWDPIO0 0x00400000 /* SWDPIN 0 Input or output */ @@ -391,6 +392,12 @@ #define E1000_PBS_16K E1000_PBA_16K +/* Uncorrectable/correctable ECC Error counts and enable bits */ +#define E1000_PBECCSTS_CORR_ERR_CNT_MASK 0x000000FF +#define E1000_PBECCSTS_UNCORR_ERR_CNT_MASK 0x0000FF00 +#define E1000_PBECCSTS_UNCORR_ERR_CNT_SHIFT 8 +#define E1000_PBECCSTS_ECC_ENABLE 0x00010000 + #define IFS_MAX 80 #define IFS_MIN 40 #define IFS_RATIO 4 @@ -410,6 +417,7 @@ #define E1000_ICR_RXSEQ 0x00000008 /* Rx sequence error */ #define E1000_ICR_RXDMT0 0x00000010 /* Rx desc min. threshold (0) */ #define E1000_ICR_RXT0 0x00000080 /* Rx timer intr (ring 0) */ +#define E1000_ICR_ECCER 0x00400000 /* Uncorrectable ECC Error */ #define E1000_ICR_INT_ASSERTED 0x80000000 /* If this bit asserted, the driver should claim the interrupt */ #define E1000_ICR_RXQ0 0x00100000 /* Rx Queue 0 Interrupt */ #define E1000_ICR_RXQ1 0x00200000 /* Rx Queue 1 Interrupt */ @@ -446,6 +454,7 @@ #define E1000_IMS_RXSEQ E1000_ICR_RXSEQ /* Rx sequence error */ #define E1000_IMS_RXDMT0 E1000_ICR_RXDMT0 /* Rx desc min. threshold */ #define E1000_IMS_RXT0 E1000_ICR_RXT0 /* Rx timer intr */ +#define E1000_IMS_ECCER E1000_ICR_ECCER /* Uncorrectable ECC Error */ #define E1000_IMS_RXQ0 E1000_ICR_RXQ0 /* Rx Queue 0 Interrupt */ #define E1000_IMS_RXQ1 E1000_ICR_RXQ1 /* Rx Queue 1 Interrupt */ #define E1000_IMS_TXQ0 E1000_ICR_TXQ0 /* Tx Queue 0 Interrupt */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/param.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/netdev.c +++ linux-lts-quantal-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); } @@ -1671,6 +1691,23 @@ mod_timer(&adapter->watchdog_timer, jiffies + 1); } + /* Reset on uncorrectable ECC error */ + if ((icr & E1000_ICR_ECCER) && (hw->mac.type == e1000_pch_lpt)) { + u32 pbeccsts = er32(PBECCSTS); + + adapter->corr_errors += + pbeccsts & E1000_PBECCSTS_CORR_ERR_CNT_MASK; + adapter->uncorr_errors += + (pbeccsts & E1000_PBECCSTS_UNCORR_ERR_CNT_MASK) >> + E1000_PBECCSTS_UNCORR_ERR_CNT_SHIFT; + + /* Do the reset outside of interrupt context */ + schedule_work(&adapter->reset_task); + + /* return immediately since reset is imminent */ + return IRQ_HANDLED; + } + if (napi_schedule_prep(&adapter->napi)) { adapter->total_tx_bytes = 0; adapter->total_tx_packets = 0; @@ -1738,6 +1775,23 @@ mod_timer(&adapter->watchdog_timer, jiffies + 1); } + /* Reset on uncorrectable ECC error */ + if ((icr & E1000_ICR_ECCER) && (hw->mac.type == e1000_pch_lpt)) { + u32 pbeccsts = er32(PBECCSTS); + + adapter->corr_errors += + pbeccsts & E1000_PBECCSTS_CORR_ERR_CNT_MASK; + adapter->uncorr_errors += + (pbeccsts & E1000_PBECCSTS_UNCORR_ERR_CNT_MASK) >> + E1000_PBECCSTS_UNCORR_ERR_CNT_SHIFT; + + /* Do the reset outside of interrupt context */ + schedule_work(&adapter->reset_task); + + /* return immediately since reset is imminent */ + return IRQ_HANDLED; + } + if (napi_schedule_prep(&adapter->napi)) { adapter->total_tx_bytes = 0; adapter->total_tx_packets = 0; @@ -2101,6 +2155,8 @@ if (adapter->msix_entries) { ew32(EIAC_82574, adapter->eiac_mask & E1000_EIAC_MASK_82574); ew32(IMS, adapter->eiac_mask | E1000_IMS_OTHER | E1000_IMS_LSC); + } else if (hw->mac.type == e1000_pch_lpt) { + ew32(IMS, IMS_ENABLE_MASK | E1000_IMS_ECCER); } else { ew32(IMS, IMS_ENABLE_MASK); } @@ -2474,6 +2530,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 +3139,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 +3557,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 +3575,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); } } @@ -4240,6 +4329,16 @@ adapter->stats.mgptc += er32(MGTPTC); adapter->stats.mgprc += er32(MGTPRC); adapter->stats.mgpdc += er32(MGTPDC); + + /* Correctable ECC Errors */ + if (hw->mac.type == e1000_pch_lpt) { + u32 pbeccsts = er32(PBECCSTS); + adapter->corr_errors += + pbeccsts & E1000_PBECCSTS_CORR_ERR_CNT_MASK; + adapter->uncorr_errors += + (pbeccsts & E1000_PBECCSTS_UNCORR_ERR_CNT_MASK) >> + E1000_PBECCSTS_UNCORR_ERR_CNT_SHIFT; + } } /** @@ -4576,7 +4675,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 +4844,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 +5079,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 +5111,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 +5142,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 +5189,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; @@ -5516,7 +5604,7 @@ */ e1000e_release_hw_control(adapter); - pci_disable_device(pdev); + pci_clear_master(pdev); return 0; } @@ -6191,7 +6279,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 +6330,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 +6346,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 +6381,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 +6618,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/hw.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/intel/e1000e/hw.h @@ -77,6 +77,7 @@ #define E1000_POEMB E1000_PHY_CTRL /* PHY OEM Bits */ E1000_PBA = 0x01000, /* Packet Buffer Allocation - RW */ E1000_PBS = 0x01008, /* Packet Buffer Size */ + E1000_PBECCSTS = 0x0100C, /* Packet Buffer ECC Status - RW */ E1000_EEMNGCTL = 0x01010, /* MNG EEprom Control */ E1000_EEWR = 0x0102C, /* EEPROM Write Register - RW */ E1000_FLOP = 0x0103C, /* FLASH Opcode Register */ @@ -412,6 +413,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/e1000.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/intel/e1000e/e1000.h @@ -310,9 +310,12 @@ */ struct e1000_ring *tx_ring /* One per active queue */ ____cacheline_aligned_in_smp; + u32 tx_fifo_limit; struct napi_struct napi; + unsigned int uncorr_errors; /* uncorrectable ECC errors */ + unsigned int corr_errors; /* correctable ECC errors */ unsigned int restart_queue; u32 txd_cmd; @@ -514,6 +517,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000e/82571.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c @@ -108,9 +108,8 @@ /* Enable arbiter */ reg &= ~IXGBE_DPMCS_ARBDIS; - /* Enable DFP and Recycle mode */ - reg |= (IXGBE_DPMCS_TDPAC | IXGBE_DPMCS_TRM); reg |= IXGBE_DPMCS_TSOEF; + /* Configure Max TSO packet size 34KB including payload and headers */ reg |= (0x4 << IXGBE_DPMCS_MTSOS_SHIFT); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ linux-lts-quantal-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, } }; @@ -2292,6 +2293,16 @@ * with the write to EICR. */ eicr = IXGBE_READ_REG(hw, IXGBE_EICS); + + /* The lower 16bits of the EICR register are for the queue interrupts + * which should be masked here in order to not accidently clear them if + * the bits are high when ixgbe_msix_other is called. There is a race + * condition otherwise which results in possible performance loss + * especially if the ixgbe_msix_other interrupt is triggering + * consistently (as it would when PPS is turned on for the X540 device) + */ + eicr &= 0xFFFF0000; + IXGBE_WRITE_REG(hw, IXGBE_EICR, eicr); if (eicr & IXGBE_EICR_LSC) @@ -6953,6 +6964,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) && @@ -7660,12 +7672,15 @@ pr_info("%s - version %s\n", ixgbe_driver_string, ixgbe_driver_version); pr_info("%s\n", ixgbe_copyright); + ret = pci_register_driver(&ixgbe_driver); + if (ret) + return ret; + #ifdef CONFIG_IXGBE_DCA dca_register_notify(&dca_notifier); #endif - ret = pci_register_driver(&ixgbe_driver); - return ret; + return 0; } module_init(ixgbe_init_module); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000/e1000_main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/e1000/e1000_ethtool.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/igb/e1000_82575.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/igb/igb_ptp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/igb/igb.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/igb/e1000_regs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/intel/igb/igb_main.c +++ linux-lts-quantal-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); } } @@ -937,17 +936,18 @@ { struct net_device *netdev = adapter->netdev; struct e1000_hw *hw = &adapter->hw; - int i, err = 0, vector = 0; + int i, err = 0, vector = 0, free_vector = 0; err = request_irq(adapter->msix_entries[vector].vector, igb_msix_other, 0, netdev->name, adapter); if (err) - goto out; - vector++; + goto err_out; for (i = 0; i < adapter->num_q_vectors; i++) { struct igb_q_vector *q_vector = adapter->q_vector[i]; + vector++; + q_vector->itr_register = hw->hw_addr + E1000_EITR(vector); if (q_vector->rx.ring && q_vector->tx.ring) @@ -966,13 +966,22 @@ igb_msix_ring, 0, q_vector->name, q_vector); if (err) - goto out; - vector++; + goto err_free; } igb_configure_msix(adapter); return 0; -out: + +err_free: + /* free already assigned IRQs */ + free_irq(adapter->msix_entries[free_vector++].vector, adapter); + + vector--; + for (i = 0; i < vector; i++) { + free_irq(adapter->msix_entries[free_vector++].vector, + adapter->q_vector[i]); + } +err_out: return err; } @@ -1048,11 +1057,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 +1509,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 +1826,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 +2098,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 +2409,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 +2442,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) * @@ -4570,11 +4671,13 @@ bytes = 0; packets = 0; for (i = 0; i < adapter->num_rx_queues; i++) { - u32 rqdpc_tmp = rd32(E1000_RQDPC(i)) & 0x0FFF; + u32 rqdpc = rd32(E1000_RQDPC(i)); struct igb_ring *ring = adapter->rx_ring[i]; - ring->rx_stats.drops += rqdpc_tmp; - net_stats->rx_fifo_errors += rqdpc_tmp; + if (rqdpc) { + ring->rx_stats.drops += rqdpc; + net_stats->rx_fifo_errors += rqdpc; + } do { start = u64_stats_fetch_begin_bh(&ring->rx_syncp); @@ -6997,6 +7100,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c @@ -1747,9 +1747,9 @@ skb->protocol = eth_type_trans(skb, netdev); if (tcp_ip_status & PCH_GBE_RXD_ACC_STAT_TCPIPOK) - skb->ip_summed = CHECKSUM_NONE; - else skb->ip_summed = CHECKSUM_UNNECESSARY; + else + skb->ip_summed = CHECKSUM_NONE; napi_gro_receive(&adapter->napi, skb); (*work_done)++; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/davicom/dm9000.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/davicom/dm9000.c @@ -257,6 +257,107 @@ tmp = readl(reg); } +/* + * Sleep, either by using msleep() or if we are suspending, then + * use mdelay() to sleep. + */ +static void dm9000_msleep(board_info_t *db, unsigned int ms) +{ + if (db->in_suspend) + mdelay(ms); + else + msleep(ms); +} + +/* Read a word from phyxcer */ +static int +dm9000_phy_read(struct net_device *dev, int phy_reg_unused, int reg) +{ + board_info_t *db = netdev_priv(dev); + unsigned long flags; + unsigned int reg_save; + int ret; + + mutex_lock(&db->addr_lock); + + spin_lock_irqsave(&db->lock, flags); + + /* Save previous register address */ + reg_save = readb(db->io_addr); + + /* Fill the phyxcer register into REG_0C */ + iow(db, DM9000_EPAR, DM9000_PHY | reg); + + /* Issue phyxcer read command */ + iow(db, DM9000_EPCR, EPCR_ERPRR | EPCR_EPOS); + + writeb(reg_save, db->io_addr); + spin_unlock_irqrestore(&db->lock, flags); + + dm9000_msleep(db, 1); /* Wait read complete */ + + spin_lock_irqsave(&db->lock, flags); + reg_save = readb(db->io_addr); + + iow(db, DM9000_EPCR, 0x0); /* Clear phyxcer read command */ + + /* The read data keeps on REG_0D & REG_0E */ + ret = (ior(db, DM9000_EPDRH) << 8) | ior(db, DM9000_EPDRL); + + /* restore the previous address */ + writeb(reg_save, db->io_addr); + spin_unlock_irqrestore(&db->lock, flags); + + mutex_unlock(&db->addr_lock); + + dm9000_dbg(db, 5, "phy_read[%02x] -> %04x\n", reg, ret); + return ret; +} + +/* Write a word to phyxcer */ +static void +dm9000_phy_write(struct net_device *dev, + int phyaddr_unused, int reg, int value) +{ + board_info_t *db = netdev_priv(dev); + unsigned long flags; + unsigned long reg_save; + + dm9000_dbg(db, 5, "phy_write[%02x] = %04x\n", reg, value); + mutex_lock(&db->addr_lock); + + spin_lock_irqsave(&db->lock, flags); + + /* Save previous register address */ + reg_save = readb(db->io_addr); + + /* Fill the phyxcer register into REG_0C */ + iow(db, DM9000_EPAR, DM9000_PHY | reg); + + /* Fill the written data into REG_0D & REG_0E */ + iow(db, DM9000_EPDRL, value); + iow(db, DM9000_EPDRH, value >> 8); + + /* Issue phyxcer write command */ + iow(db, DM9000_EPCR, EPCR_EPOS | EPCR_ERPRW); + + writeb(reg_save, db->io_addr); + spin_unlock_irqrestore(&db->lock, flags); + + dm9000_msleep(db, 1); /* Wait write complete */ + + spin_lock_irqsave(&db->lock, flags); + reg_save = readb(db->io_addr); + + iow(db, DM9000_EPCR, 0x0); /* Clear phyxcer write command */ + + /* restore the previous address */ + writeb(reg_save, db->io_addr); + + spin_unlock_irqrestore(&db->lock, flags); + mutex_unlock(&db->addr_lock); +} + /* dm9000_set_io * * select the specified set of io routines to use with the @@ -794,6 +895,9 @@ iow(db, DM9000_GPCR, GPCR_GEP_CNTL); /* Let GPIO0 output */ + dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); /* PHY RESET */ + dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM); /* Init */ + ncr = (db->flags & DM9000_PLATF_EXT_PHY) ? NCR_EXT_PHY : 0; /* if wol is needed, then always set NCR_WAKEEN otherwise we end @@ -1200,109 +1304,6 @@ return 0; } -/* - * Sleep, either by using msleep() or if we are suspending, then - * use mdelay() to sleep. - */ -static void dm9000_msleep(board_info_t *db, unsigned int ms) -{ - if (db->in_suspend) - mdelay(ms); - else - msleep(ms); -} - -/* - * Read a word from phyxcer - */ -static int -dm9000_phy_read(struct net_device *dev, int phy_reg_unused, int reg) -{ - board_info_t *db = netdev_priv(dev); - unsigned long flags; - unsigned int reg_save; - int ret; - - mutex_lock(&db->addr_lock); - - spin_lock_irqsave(&db->lock,flags); - - /* Save previous register address */ - reg_save = readb(db->io_addr); - - /* Fill the phyxcer register into REG_0C */ - iow(db, DM9000_EPAR, DM9000_PHY | reg); - - iow(db, DM9000_EPCR, EPCR_ERPRR | EPCR_EPOS); /* Issue phyxcer read command */ - - writeb(reg_save, db->io_addr); - spin_unlock_irqrestore(&db->lock,flags); - - dm9000_msleep(db, 1); /* Wait read complete */ - - spin_lock_irqsave(&db->lock,flags); - reg_save = readb(db->io_addr); - - iow(db, DM9000_EPCR, 0x0); /* Clear phyxcer read command */ - - /* The read data keeps on REG_0D & REG_0E */ - ret = (ior(db, DM9000_EPDRH) << 8) | ior(db, DM9000_EPDRL); - - /* restore the previous address */ - writeb(reg_save, db->io_addr); - spin_unlock_irqrestore(&db->lock,flags); - - mutex_unlock(&db->addr_lock); - - dm9000_dbg(db, 5, "phy_read[%02x] -> %04x\n", reg, ret); - return ret; -} - -/* - * Write a word to phyxcer - */ -static void -dm9000_phy_write(struct net_device *dev, - int phyaddr_unused, int reg, int value) -{ - board_info_t *db = netdev_priv(dev); - unsigned long flags; - unsigned long reg_save; - - dm9000_dbg(db, 5, "phy_write[%02x] = %04x\n", reg, value); - mutex_lock(&db->addr_lock); - - spin_lock_irqsave(&db->lock,flags); - - /* Save previous register address */ - reg_save = readb(db->io_addr); - - /* Fill the phyxcer register into REG_0C */ - iow(db, DM9000_EPAR, DM9000_PHY | reg); - - /* Fill the written data into REG_0D & REG_0E */ - iow(db, DM9000_EPDRL, value); - iow(db, DM9000_EPDRH, value >> 8); - - iow(db, DM9000_EPCR, EPCR_EPOS | EPCR_ERPRW); /* Issue phyxcer write command */ - - writeb(reg_save, db->io_addr); - spin_unlock_irqrestore(&db->lock, flags); - - dm9000_msleep(db, 1); /* Wait write complete */ - - spin_lock_irqsave(&db->lock,flags); - reg_save = readb(db->io_addr); - - iow(db, DM9000_EPCR, 0x0); /* Clear phyxcer write command */ - - /* restore the previous address */ - writeb(reg_save, db->io_addr); - - spin_unlock_irqrestore(&db->lock, flags); - mutex_unlock(&db->addr_lock); -} - static void dm9000_shutdown(struct net_device *dev) { @@ -1501,7 +1502,12 @@ db->flags |= DM9000_PLATF_SIMPLE_PHY; #endif - dm9000_reset(db); + /* Fixing bug on dm9000_probe, takeover dm9000_reset(db), + * Need 'NCR_MAC_LBK' bit to indeed stable our DM9000 fifo + * while probe stage. + */ + + iow(db, DM9000_NCR, NCR_MAC_LBK | NCR_RST); /* try multiple times, DM9000 sometimes gets the read wrong */ for (i = 0; i < 8; i++) { --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/davicom/dm9000.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/davicom/dm9000.h @@ -69,7 +69,9 @@ #define NCR_WAKEEN (1<<6) #define NCR_FCOL (1<<4) #define NCR_FDX (1<<3) -#define NCR_LBK (3<<1) + +#define NCR_RESERVED (3<<1) +#define NCR_MAC_LBK (1<<1) #define NCR_RST (1<<0) #define NSR_SPEED (1<<7) @@ -167,5 +169,12 @@ #define ISR_LNKCHNG (1<<5) #define ISR_UNDERRUN (1<<4) +/* Davicom MII registers. + */ + +#define MII_DM_DSPCR 0x1b /* DSP Control Register */ + +#define DSPCR_INIT_PARAM 0xE100 /* DSP init parameter */ + #endif /* _DM9000X_H_ */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/nxp/lpc_eth.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/ibm/ibmveth.c +++ linux-lts-quantal-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; @@ -1335,7 +1327,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_id *id) { - int rc, i; + int rc, i, mac_len; struct net_device *netdev; struct ibmveth_adapter *adapter; unsigned char *mac_addr_p; @@ -1345,11 +1337,19 @@ dev->unit_address); mac_addr_p = (unsigned char *)vio_get_attribute(dev, VETH_MAC_ADDR, - NULL); + &mac_len); if (!mac_addr_p) { dev_err(&dev->dev, "Can't find VETH_MAC_ADDR attribute\n"); return -EINVAL; } + /* Workaround for old/broken pHyp */ + if (mac_len == 8) + mac_addr_p += 2; + else if (mac_len != 6) { + dev_err(&dev->dev, "VETH_MAC_ADDR attribute wrong len %d\n", + mac_len); + return -EINVAL; + } mcastFilterSize_p = (unsigned int *)vio_get_attribute(dev, VETH_MCAST_FILTER_SIZE, NULL); @@ -1374,17 +1374,6 @@ netif_napi_add(netdev, &adapter->napi, ibmveth_poll, 16); - /* - * Some older boxes running PHYP non-natively have an OF that returns - * a 8-byte local-mac-address field (and the first 2 bytes have to be - * ignored) while newer boxes' OF return a 6-byte field. Note that - * IEEE 1275 specifies that local-mac-address must be a 6-byte field. - * The RPA doc specifies that the first byte must be 10b, so we'll - * just look for it to solve this 8 vs. 6 byte field issue - */ - if ((*mac_addr_p & 0x3) != 0x02) - mac_addr_p += 2; - adapter->mac_addr = 0; memcpy(&adapter->mac_addr, mac_addr_p, 6); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/broadcom/tg3.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/broadcom/tg3.h @@ -1376,7 +1376,12 @@ #define TG3_LSO_RD_DMA_CRPTEN_CTRL 0x00004910 #define TG3_LSO_RD_DMA_CRPTEN_CTRL_BLEN_BD_4K 0x00030000 #define TG3_LSO_RD_DMA_CRPTEN_CTRL_BLEN_LSO_4K 0x000c0000 -/* 0x4914 --> 0x4c00 unused */ +#define TG3_LSO_RD_DMA_TX_LENGTH_WA_5719 0x02000000 +#define TG3_LSO_RD_DMA_TX_LENGTH_WA_5720 0x00200000 +/* 0x4914 --> 0x4be0 unused */ + +#define TG3_NUM_RDMA_CHANNELS 4 +#define TG3_RDMA_LENGTH 0x00004be0 /* Write DMA control registers */ #define WDMAC_MODE 0x00004c00 @@ -2920,6 +2925,7 @@ TG3_FLAG_L1PLLPD_EN, TG3_FLAG_APE_HAS_NCSI, TG3_FLAG_4K_FIFO_LIMIT, + TG3_FLAG_5719_5720_RDMA_BUG, TG3_FLAG_RESET_TASK_PENDING, TG3_FLAG_5705_PLUS, TG3_FLAG_IS_5788, --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/broadcom/tg3.c +++ linux-lts-quantal-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)}, @@ -688,6 +689,9 @@ status = tg3_ape_read32(tp, gnt + off); if (status == bit) break; + if (pci_channel_offline(tp->pdev)) + break; + udelay(10); } @@ -1135,14 +1139,26 @@ return tg3_writephy(tp, MII_TG3_AUX_CTRL, set | reg); } -#define TG3_PHY_AUXCTL_SMDSP_ENABLE(tp) \ - tg3_phy_auxctl_write((tp), MII_TG3_AUXCTL_SHDWSEL_AUXCTL, \ - MII_TG3_AUXCTL_ACTL_SMDSP_ENA | \ - MII_TG3_AUXCTL_ACTL_TX_6DB) - -#define TG3_PHY_AUXCTL_SMDSP_DISABLE(tp) \ - tg3_phy_auxctl_write((tp), MII_TG3_AUXCTL_SHDWSEL_AUXCTL, \ - MII_TG3_AUXCTL_ACTL_TX_6DB); +static int tg3_phy_toggle_auxctl_smdsp(struct tg3 *tp, bool enable) +{ + u32 val; + int err; + + err = tg3_phy_auxctl_read(tp, MII_TG3_AUXCTL_SHDWSEL_AUXCTL, &val); + + if (err) + return err; + if (enable) + + val |= MII_TG3_AUXCTL_ACTL_SMDSP_ENA; + else + val &= ~MII_TG3_AUXCTL_ACTL_SMDSP_ENA; + + err = tg3_phy_auxctl_write((tp), MII_TG3_AUXCTL_SHDWSEL_AUXCTL, + val | MII_TG3_AUXCTL_ACTL_TX_6DB); + + return err; +} static int tg3_bmcr_reset(struct tg3 *tp) { @@ -1453,6 +1469,9 @@ for (i = 0; i < delay_cnt; i++) { if (!(tr32(GRC_RX_CPU_EVENT) & GRC_RX_CPU_DRIVER_EVENT)) break; + if (pci_channel_offline(tp->pdev)) + break; + udelay(8); } } @@ -1618,11 +1637,17 @@ int i; u32 val; + if (tg3_flag(tp, NO_FWARE_REPORTED)) + return 0; + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) { /* Wait up to 20ms for init done. */ for (i = 0; i < 200; i++) { if (tr32(VCPU_STATUS) & VCPU_STATUS_INIT_DONE) return 0; + if (pci_channel_offline(tp->pdev)) + return -ENODEV; + udelay(100); } return -ENODEV; @@ -1633,6 +1658,15 @@ tg3_read_mem(tp, NIC_SRAM_FIRMWARE_MBOX, &val); if (val == ~NIC_SRAM_FIRMWARE_MBOX_MAGIC1) break; + if (pci_channel_offline(tp->pdev)) { + if (!tg3_flag(tp, NO_FWARE_REPORTED)) { + tg3_flag_set(tp, NO_FWARE_REPORTED); + netdev_info(tp->dev, "No firmware running\n"); + } + + break; + } + udelay(10); } @@ -2075,7 +2109,7 @@ otp = tp->phy_otp; - if (TG3_PHY_AUXCTL_SMDSP_ENABLE(tp)) + if (tg3_phy_toggle_auxctl_smdsp(tp, true)) return; phy = ((otp & TG3_OTP_AGCTGT_MASK) >> TG3_OTP_AGCTGT_SHIFT); @@ -2100,7 +2134,7 @@ ((otp & TG3_OTP_RCOFF_MASK) >> TG3_OTP_RCOFF_SHIFT); tg3_phydsp_write(tp, MII_TG3_DSP_EXP97, phy); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); } static void tg3_phy_eee_adjust(struct tg3 *tp, u32 current_link_up) @@ -2136,9 +2170,9 @@ if (!tp->setlpicnt) { if (current_link_up == 1 && - !TG3_PHY_AUXCTL_SMDSP_ENABLE(tp)) { + !tg3_phy_toggle_auxctl_smdsp(tp, true)) { tg3_phydsp_write(tp, MII_TG3_DSP_TAP26, 0x0000); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); } val = tr32(TG3_CPMU_EEE_MODE); @@ -2154,11 +2188,11 @@ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 || GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5719 || tg3_flag(tp, 57765_CLASS)) && - !TG3_PHY_AUXCTL_SMDSP_ENABLE(tp)) { + !tg3_phy_toggle_auxctl_smdsp(tp, true)) { val = MII_TG3_DSP_TAP26_ALNOKO | MII_TG3_DSP_TAP26_RMRXSTO; tg3_phydsp_write(tp, MII_TG3_DSP_TAP26, val); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); } val = tr32(TG3_CPMU_EEE_MODE); @@ -2302,7 +2336,7 @@ tg3_writephy(tp, MII_CTRL1000, CTL1000_AS_MASTER | CTL1000_ENABLE_MASTER); - err = TG3_PHY_AUXCTL_SMDSP_ENABLE(tp); + err = tg3_phy_toggle_auxctl_smdsp(tp, true); if (err) return err; @@ -2323,7 +2357,7 @@ tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x8200); tg3_writephy(tp, MII_TG3_DSP_CONTROL, 0x0000); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); tg3_writephy(tp, MII_CTRL1000, phy9_orig); @@ -2412,10 +2446,10 @@ out: if ((tp->phy_flags & TG3_PHYFLG_ADC_BUG) && - !TG3_PHY_AUXCTL_SMDSP_ENABLE(tp)) { + !tg3_phy_toggle_auxctl_smdsp(tp, true)) { tg3_phydsp_write(tp, 0x201f, 0x2aaa); tg3_phydsp_write(tp, 0x000a, 0x0323); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); } if (tp->phy_flags & TG3_PHYFLG_5704_A0_BUG) { @@ -2424,14 +2458,14 @@ } if (tp->phy_flags & TG3_PHYFLG_BER_BUG) { - if (!TG3_PHY_AUXCTL_SMDSP_ENABLE(tp)) { + if (!tg3_phy_toggle_auxctl_smdsp(tp, true)) { tg3_phydsp_write(tp, 0x000a, 0x310b); tg3_phydsp_write(tp, 0x201f, 0x9506); tg3_phydsp_write(tp, 0x401f, 0x14e2); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); } } else if (tp->phy_flags & TG3_PHYFLG_JITTER_BUG) { - if (!TG3_PHY_AUXCTL_SMDSP_ENABLE(tp)) { + if (!tg3_phy_toggle_auxctl_smdsp(tp, true)) { tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x000a); if (tp->phy_flags & TG3_PHYFLG_ADJUST_TRIM) { tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x110b); @@ -2440,7 +2474,7 @@ } else tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x010b); - TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + tg3_phy_toggle_auxctl_smdsp(tp, false); } } @@ -2724,6 +2758,45 @@ return 0; } +static bool tg3_phy_power_bug(struct tg3 *tp) +{ + switch (GET_ASIC_REV(tp->pci_chip_rev_id)) { + case ASIC_REV_5700: + case ASIC_REV_5704: + return true; + case ASIC_REV_5780: + if (tp->phy_flags & TG3_PHYFLG_MII_SERDES) + return true; + return false; + case ASIC_REV_5717: + if (!tp->pci_fn) + return true; + return false; + case ASIC_REV_5719: + case ASIC_REV_5720: + if ((tp->phy_flags & TG3_PHYFLG_PHY_SERDES) && + !tp->pci_fn) + return true; + return false; + } + + return false; +} + +static bool tg3_phy_led_bug(struct tg3 *tp) +{ + switch (GET_ASIC_REV(tp->pci_chip_rev_id)) { + case ASIC_REV_5719: + case ASIC_REV_5720: + if ((tp->phy_flags & TG3_PHYFLG_MII_SERDES) && + !tp->pci_fn) + return true; + return false; + } + + return false; +} + static void tg3_power_down_phy(struct tg3 *tp, bool do_low_power) { u32 val; @@ -2768,8 +2841,9 @@ } return; } else if (do_low_power) { - tg3_writephy(tp, MII_TG3_EXT_CTRL, - MII_TG3_EXT_CTRL_FORCE_LED_OFF); + if (!tg3_phy_led_bug(tp)) + tg3_writephy(tp, MII_TG3_EXT_CTRL, + MII_TG3_EXT_CTRL_FORCE_LED_OFF); val = MII_TG3_AUXCTL_PCTL_100TX_LPWR | MII_TG3_AUXCTL_PCTL_SPR_ISOLATE | @@ -2780,12 +2854,7 @@ /* The PHY should not be powered down on some chips because * of bugs. */ - if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 || - GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || - (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780 && - (tp->phy_flags & TG3_PHYFLG_MII_SERDES)) || - (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 && - !tp->pci_fn)) + if (tg3_phy_power_bug(tp)) return; if (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5784_AX || @@ -3269,6 +3338,8 @@ tw32(offset + CPU_MODE, CPU_MODE_HALT); if (tr32(offset + CPU_MODE) & CPU_MODE_HALT) break; + if (pci_channel_offline(tp->pdev)) + return -EBUSY; } tw32(offset + CPU_STATE, 0xffffffff); @@ -3280,6 +3351,8 @@ tw32(offset + CPU_MODE, CPU_MODE_HALT); if (tr32(offset + CPU_MODE) & CPU_MODE_HALT) break; + if (pci_channel_offline(tp->pdev)) + return -EBUSY; } } @@ -3857,7 +3930,7 @@ tw32(TG3_CPMU_EEE_MODE, tr32(TG3_CPMU_EEE_MODE) & ~TG3_CPMU_EEEMD_LPI_ENABLE); - err = TG3_PHY_AUXCTL_SMDSP_ENABLE(tp); + err = tg3_phy_toggle_auxctl_smdsp(tp, true); if (!err) { u32 err2; @@ -3890,7 +3963,7 @@ MII_TG3_DSP_CH34TP2_HIBW01); } - err2 = TG3_PHY_AUXCTL_SMDSP_DISABLE(tp); + err2 = tg3_phy_toggle_auxctl_smdsp(tp, false); if (!err) err = err2; } @@ -3933,6 +4006,14 @@ tp->link_config.active_speed = tp->link_config.speed; tp->link_config.active_duplex = tp->link_config.duplex; + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5714) { + /* With autoneg disabled, 5715 only links up when the + * advertisement register has the configured speed + * enabled. + */ + tg3_writephy(tp, MII_ADVERTISE, ADVERTISE_ALL); + } + bmcr = 0; switch (tp->link_config.speed) { default: @@ -6593,6 +6674,9 @@ int i; struct tg3 *tp = netdev_priv(dev); + if (tg3_irq_sync(tp)) + return; + for (i = 0; i < tp->irq_cnt; i++) tg3_interrupt(tp->napi[i].irq_vec, &tp->napi[i]); } @@ -7676,6 +7760,14 @@ tw32_f(ofs, val); for (i = 0; i < MAX_WAIT_CNT; i++) { + if (pci_channel_offline(tp->pdev)) { + dev_err(&tp->pdev->dev, + "tg3_stop_block device offline, " + "ofs=%lx enable_bit=%x\n", + ofs, enable_bit); + return -ENODEV; + } + udelay(100); val = tr32(ofs); if ((val & enable_bit) == 0) @@ -7699,6 +7791,13 @@ tg3_disable_ints(tp); + if (pci_channel_offline(tp->pdev)) { + tp->rx_mode &= ~(RX_MODE_ENABLE | TX_MODE_ENABLE); + tp->mac_mode &= ~MAC_MODE_TDE_ENABLE; + err = -ENODEV; + goto err_no_dev; + } + tp->rx_mode &= ~RX_MODE_ENABLE; tw32_f(MAC_RX_MODE, tp->rx_mode); udelay(10); @@ -7747,6 +7846,7 @@ err |= tg3_stop_block(tp, BUFMGR_MODE, BUFMGR_MODE_ENABLE, silent); err |= tg3_stop_block(tp, MEMARB_MODE, MEMARB_MODE_ENABLE, silent); +err_no_dev: for (i = 0; i < tp->irq_cnt; i++) { struct tg3_napi *tnapi = &tp->napi[i]; if (tnapi->hw_status) @@ -8528,6 +8628,14 @@ } } +static inline u32 tg3_lso_rd_dma_workaround_bit(struct tg3 *tp) +{ + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5719) + return TG3_LSO_RD_DMA_TX_LENGTH_WA_5719; + else + return TG3_LSO_RD_DMA_TX_LENGTH_WA_5720; +} + /* tp->lock is held. */ static int tg3_reset_hw(struct tg3 *tp, int reset_phy) { @@ -8974,8 +9082,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); @@ -9165,6 +9272,20 @@ tw32_f(RDMAC_MODE, rdmac_mode); udelay(40); + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5719 || + GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5720) { + for (i = 0; i < TG3_NUM_RDMA_CHANNELS; i++) { + if (tr32(TG3_RDMA_LENGTH + (i << 2)) > TG3_MAX_MTU(tp)) + break; + } + if (i < TG3_NUM_RDMA_CHANNELS) { + val = tr32(TG3_LSO_RD_DMA_CRPTEN_CTRL); + val |= tg3_lso_rd_dma_workaround_bit(tp); + tw32(TG3_LSO_RD_DMA_CRPTEN_CTRL, val); + tg3_flag_set(tp, 5719_5720_RDMA_BUG); + } + } + tw32(RCVDCC_MODE, RCVDCC_MODE_ENABLE | RCVDCC_MODE_ATTN_ENABLE); if (!tg3_flag(tp, 5705_PLUS)) tw32(MBFREE_MODE, MBFREE_MODE_ENABLE); @@ -9386,6 +9507,13 @@ */ static int tg3_init_hw(struct tg3 *tp, int reset_phy) { + /* Chip may have been just powered on. If so, the boot code may still + * be running initialization. Wait for it to finish to avoid races in + * accessing the hardware. + */ + tg3_enable_register_access(tp); + tg3_poll_fw(tp); + tg3_switch_clocks(tp); tw32(TG3PCI_MEM_WIN_BASE_ADDR, 0); @@ -9420,6 +9548,16 @@ TG3_STAT_ADD32(&sp->tx_ucast_packets, MAC_TX_STATS_UCAST); TG3_STAT_ADD32(&sp->tx_mcast_packets, MAC_TX_STATS_MCAST); TG3_STAT_ADD32(&sp->tx_bcast_packets, MAC_TX_STATS_BCAST); + if (unlikely(tg3_flag(tp, 5719_5720_RDMA_BUG) && + (sp->tx_ucast_packets.low + sp->tx_mcast_packets.low + + sp->tx_bcast_packets.low) > TG3_NUM_RDMA_CHANNELS)) { + u32 val; + + val = tr32(TG3_LSO_RD_DMA_CRPTEN_CTRL); + val &= ~tg3_lso_rd_dma_workaround_bit(tp); + tw32(TG3_LSO_RD_DMA_CRPTEN_CTRL, val); + tg3_flag_clear(tp, 5719_5720_RDMA_BUG); + } TG3_STAT_ADD32(&sp->rx_octets, MAC_RX_STATS_OCTETS); TG3_STAT_ADD32(&sp->rx_fragments, MAC_RX_STATS_FRAGMENTS); @@ -12282,10 +12420,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); @@ -13592,8 +13732,11 @@ if (j + len > block_end) goto partno; - memcpy(tp->fw_ver, &vpd_data[j], len); - strncat(tp->fw_ver, " bc ", vpdlen - len - 1); + if (len >= sizeof(tp->fw_ver)) + len = sizeof(tp->fw_ver) - 1; + memset(tp->fw_ver, 0, sizeof(tp->fw_ver)); + snprintf(tp->fw_ver, sizeof(tp->fw_ver), "%.*s bc ", len, + &vpd_data[j]); } partno: @@ -15554,6 +15697,7 @@ tp->pm_cap = pm_cap; tp->rx_mode = TG3_DEF_RX_MODE; tp->tx_mode = TG3_DEF_TX_MODE; + tp->irq_sync = 1; if (tg3_debug > 0) tp->msg_enable = tg3_debug; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.h @@ -451,8 +451,9 @@ #define UPDATE_QSTAT(s, t) \ do { \ - qstats->t##_hi = qstats_old->t##_hi + le32_to_cpu(s.hi); \ qstats->t##_lo = qstats_old->t##_lo + le32_to_cpu(s.lo); \ + qstats->t##_hi = qstats_old->t##_hi + le32_to_cpu(s.hi) \ + + ((qstats->t##_lo < qstats_old->t##_lo) ? 1 : 0); \ } while (0) #define UPDATE_QSTAT_OLD(f) \ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/cirrus/cs89x0.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/mellanox/mlx4/cmd.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/mellanox/mlx4/cmd.c @@ -1256,6 +1256,7 @@ u32 reply; u8 is_going_down = 0; int i; + unsigned long flags; slave_state[slave].comm_toggle ^= 1; reply = (u32) slave_state[slave].comm_toggle << 31; @@ -1330,12 +1331,12 @@ mlx4_warn(dev, "Bad comm cmd:%d from slave:%d\n", cmd, slave); goto reset_slave; } - spin_lock(&priv->mfunc.master.slave_state_lock); + spin_lock_irqsave(&priv->mfunc.master.slave_state_lock, flags); if (!slave_state[slave].is_slave_going_down) slave_state[slave].last_cmd = cmd; else is_going_down = 1; - spin_unlock(&priv->mfunc.master.slave_state_lock); + spin_unlock_irqrestore(&priv->mfunc.master.slave_state_lock, flags); if (is_going_down) { mlx4_warn(dev, "Slave is going down aborting command(%d)" " executing from slave:%d\n", @@ -1351,10 +1352,10 @@ reset_slave: /* cleanup any slave resources */ mlx4_delete_all_resources_for_slave(dev, slave); - spin_lock(&priv->mfunc.master.slave_state_lock); + spin_lock_irqsave(&priv->mfunc.master.slave_state_lock, flags); if (!slave_state[slave].is_slave_going_down) slave_state[slave].last_cmd = MLX4_COMM_CMD_RESET; - spin_unlock(&priv->mfunc.master.slave_state_lock); + spin_unlock_irqrestore(&priv->mfunc.master.slave_state_lock, flags); /*with slave in the middle of flr, no need to clean resources again.*/ inform_slave_state: memset(&slave_state[slave].event_eq, 0, --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/mellanox/mlx4/en_tx.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/mellanox/mlx4/en_tx.c @@ -633,10 +633,15 @@ ring->tx_csum++; } - /* Copy dst mac address to wqe */ - ethh = (struct ethhdr *)skb->data; - tx_desc->ctrl.srcrb_flags16[0] = get_unaligned((__be16 *)ethh->h_dest); - tx_desc->ctrl.imm = get_unaligned((__be32 *)(ethh->h_dest + 2)); + if (mlx4_is_mfunc(mdev->dev) || priv->validate_loopback) { + /* Copy dst mac address to wqe. This allows loopback in eSwitch, + * so that VFs and PF can communicate with each other + */ + ethh = (struct ethhdr *)skb->data; + tx_desc->ctrl.srcrb_flags16[0] = get_unaligned((__be16 *)ethh->h_dest); + tx_desc->ctrl.imm = get_unaligned((__be32 *)(ethh->h_dest + 2)); + } + /* Handle LSO (TSO) packets */ if (lso_header_size) { /* Mark opcode as LSO */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/mellanox/mlx4/main.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/mellanox/mlx4/main.c @@ -1545,15 +1545,8 @@ int i; if (msi_x) { - /* In multifunction mode each function gets 2 msi-X vectors - * one for data path completions anf the other for asynch events - * or command completions */ - if (mlx4_is_mfunc(dev)) { - nreq = 2; - } else { - nreq = min_t(int, dev->caps.num_eqs - - dev->caps.reserved_eqs, nreq); - } + nreq = min_t(int, dev->caps.num_eqs - dev->caps.reserved_eqs, + nreq); entries = kcalloc(nreq, sizeof *entries, GFP_KERNEL); if (!entries) --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/mellanox/mlx4/eq.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/mellanox/mlx4/eq.c @@ -203,6 +203,7 @@ struct mlx4_slave_state *slave_state = priv->mfunc.master.slave_state; int i; int err; + unsigned long flags; mlx4_dbg(dev, "mlx4_handle_slave_flr\n"); @@ -214,10 +215,10 @@ mlx4_delete_all_resources_for_slave(dev, i); /*return the slave to running mode*/ - spin_lock(&priv->mfunc.master.slave_state_lock); + spin_lock_irqsave(&priv->mfunc.master.slave_state_lock, flags); slave_state[i].last_cmd = MLX4_COMM_CMD_RESET; slave_state[i].is_slave_going_down = 0; - spin_unlock(&priv->mfunc.master.slave_state_lock); + spin_unlock_irqrestore(&priv->mfunc.master.slave_state_lock, flags); /*notify the FW:*/ err = mlx4_cmd(dev, 0, i, 0, MLX4_CMD_INFORM_FLR_DONE, MLX4_CMD_TIME_CLASS_A, MLX4_CMD_WRAPPED); @@ -241,6 +242,7 @@ u32 flr_slave; u8 update_slave_state; int i; + unsigned long flags; while ((eqe = next_eqe_sw(eq))) { /* @@ -434,13 +436,13 @@ } else update_slave_state = 1; - spin_lock(&priv->mfunc.master.slave_state_lock); + spin_lock_irqsave(&priv->mfunc.master.slave_state_lock, flags); if (update_slave_state) { priv->mfunc.master.slave_state[flr_slave].active = false; priv->mfunc.master.slave_state[flr_slave].last_cmd = MLX4_COMM_CMD_FLR; priv->mfunc.master.slave_state[flr_slave].is_slave_going_down = 1; } - spin_unlock(&priv->mfunc.master.slave_state_lock); + spin_unlock_irqrestore(&priv->mfunc.master.slave_state_lock, flags); queue_work(priv->mfunc.master.comm_wq, &priv->mfunc.master.slave_flr_event_work); break; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/via/via-rhine.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/via/via-rhine.c @@ -32,7 +32,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define DRV_NAME "via-rhine" -#define DRV_VERSION "1.5.0" +#define DRV_VERSION "1.5.1" #define DRV_RELDATE "2010-10-09" #include @@ -1684,7 +1684,12 @@ cpu_to_le32(TXDESC | (skb->len >= ETH_ZLEN ? skb->len : ETH_ZLEN)); if (unlikely(vlan_tx_tag_present(skb))) { - rp->tx_ring[entry].tx_status = cpu_to_le32((vlan_tx_tag_get(skb)) << 16); + u16 vid_pcp = vlan_tx_tag_get(skb); + + /* drop CFI/DEI bit, register needs VID and PCP */ + vid_pcp = (vid_pcp & VLAN_VID_MASK) | + ((vid_pcp & VLAN_PRIO_MASK) >> 1); + rp->tx_ring[entry].tx_status = cpu_to_le32((vid_pcp) << 16); /* request tagging */ rp->tx_ring[entry].desc_length |= cpu_to_le32(0x020000); } @@ -1802,7 +1807,7 @@ rp->tx_skbuff[entry]->len, PCI_DMA_TODEVICE); } - dev_kfree_skb_irq(rp->tx_skbuff[entry]); + dev_kfree_skb(rp->tx_skbuff[entry]); rp->tx_skbuff[entry] = NULL; entry = (++rp->dirty_tx) % TX_RING_SIZE; } @@ -2011,11 +2016,7 @@ if (intr_status & IntrPCIErr) netif_warn(rp, hw, dev, "PCI error\n"); - napi_disable(&rp->napi); - rhine_irq_disable(rp); - /* Slow and safe. Consider __napi_schedule as a replacement ? */ - napi_enable(&rp->napi); - napi_schedule(&rp->napi); + iowrite16(RHINE_EVENT & 0xffff, rp->base + IntrEnable); out_unlock: mutex_unlock(&rp->task_lock); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/realtek/8139cp.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/realtek/8139cp.c @@ -478,7 +478,7 @@ while (1) { u32 status, len; - dma_addr_t mapping; + dma_addr_t mapping, new_mapping; struct sk_buff *skb, *new_skb; struct cp_desc *desc; const unsigned buflen = cp->rx_buf_sz; @@ -520,6 +520,14 @@ goto rx_next; } + new_mapping = dma_map_single(&cp->pdev->dev, new_skb->data, buflen, + PCI_DMA_FROMDEVICE); + if (dma_mapping_error(&cp->pdev->dev, new_mapping)) { + dev->stats.rx_dropped++; + kfree_skb(new_skb); + goto rx_next; + } + dma_unmap_single(&cp->pdev->dev, mapping, buflen, PCI_DMA_FROMDEVICE); @@ -531,12 +539,11 @@ skb_put(skb, len); - mapping = dma_map_single(&cp->pdev->dev, new_skb->data, buflen, - PCI_DMA_FROMDEVICE); cp->rx_skb[rx_tail] = new_skb; cp_rx_skb(cp, skb, desc); rx++; + mapping = new_mapping; rx_next: cp->rx_ring[rx_tail].opts2 = 0; @@ -707,6 +714,22 @@ TxVlanTag | swab16(vlan_tx_tag_get(skb)) : 0x00; } +static void unwind_tx_frag_mapping(struct cp_private *cp, struct sk_buff *skb, + int first, int entry_last) +{ + int frag, index; + struct cp_desc *txd; + skb_frag_t *this_frag; + for (frag = 0; frag+first < entry_last; frag++) { + index = first+frag; + cp->tx_skb[index] = NULL; + txd = &cp->tx_ring[index]; + this_frag = &skb_shinfo(skb)->frags[frag]; + dma_unmap_single(&cp->pdev->dev, le64_to_cpu(txd->addr), + skb_frag_size(this_frag), PCI_DMA_TODEVICE); + } +} + static netdev_tx_t cp_start_xmit (struct sk_buff *skb, struct net_device *dev) { @@ -740,6 +763,9 @@ len = skb->len; mapping = dma_map_single(&cp->pdev->dev, skb->data, len, PCI_DMA_TODEVICE); + if (dma_mapping_error(&cp->pdev->dev, mapping)) + goto out_dma_error; + txd->opts2 = opts2; txd->addr = cpu_to_le64(mapping); wmb(); @@ -777,6 +803,9 @@ first_len = skb_headlen(skb); first_mapping = dma_map_single(&cp->pdev->dev, skb->data, first_len, PCI_DMA_TODEVICE); + if (dma_mapping_error(&cp->pdev->dev, first_mapping)) + goto out_dma_error; + cp->tx_skb[entry] = skb; entry = NEXT_TX(entry); @@ -790,6 +819,11 @@ mapping = dma_map_single(&cp->pdev->dev, skb_frag_address(this_frag), len, PCI_DMA_TODEVICE); + if (dma_mapping_error(&cp->pdev->dev, mapping)) { + unwind_tx_frag_mapping(cp, skb, first_entry, entry); + goto out_dma_error; + } + eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0; ctrl = eor | len | DescOwn; @@ -848,11 +882,16 @@ if (TX_BUFFS_AVAIL(cp) <= (MAX_SKB_FRAGS + 1)) netif_stop_queue(dev); +out_unlock: spin_unlock_irqrestore(&cp->lock, intr_flags); cpw8(TxPoll, NormalTxPoll); return NETDEV_TX_OK; +out_dma_error: + kfree_skb(skb); + cp->dev->stats.tx_dropped++; + goto out_unlock; } /* Set or clear the multicast filter for this adaptor. @@ -957,7 +996,35 @@ static inline void cp_start_hw (struct cp_private *cp) { + dma_addr_t ring_dma; + cpw16(CpCmd, cp->cpcmd); + + /* + * These (at least TxRingAddr) need to be configured after the + * corresponding bits in CpCmd are enabled. Datasheet v1.6 §6.33 + * (C+ Command Register) recommends that these and more be configured + * *after* the [RT]xEnable bits in CpCmd are set. And on some hardware + * it's been observed that the TxRingAddr is actually reset to garbage + * when C+ mode Tx is enabled in CpCmd. + */ + 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); + + /* + * Strictly speaking, the datasheet says this should be enabled + * *before* setting the descriptor addresses. But what, then, would + * prevent it from doing DMA to random unconfigured addresses? + * This variant appears to work fine. + */ cpw8(Cmd, RxOn | TxOn); } @@ -969,7 +1036,6 @@ static void cp_init_hw (struct cp_private *cp) { struct net_device *dev = cp->dev; - dma_addr_t ring_dma; cp_reset_hw(cp); @@ -979,17 +1045,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 */ @@ -1023,6 +1078,10 @@ mapping = dma_map_single(&cp->pdev->dev, skb->data, cp->rx_buf_sz, PCI_DMA_FROMDEVICE); + if (dma_mapping_error(&cp->pdev->dev, mapping)) { + kfree_skb(skb); + goto err_out; + } cp->rx_skb[i] = skb; cp->rx_ring[i].opts2 = 0; @@ -1100,6 +1159,7 @@ cp->dev->stats.tx_dropped++; } } + netdev_reset_queue(cp->dev); memset(cp->rx_ring, 0, sizeof(struct cp_desc) * CP_RX_RING_SIZE); memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/realtek/r8169.c +++ linux-lts-quantal-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 */ @@ -1687,8 +1687,6 @@ if (opts2 & RxVlanTag) __vlan_hwaccel_put_tag(skb, swab16(opts2 & 0xffff)); - - desc->opts2 = 0; } static int rtl8169_gset_tbi(struct net_device *dev, struct ethtool_cmd *cmd) @@ -3596,11 +3594,37 @@ } } +static void rtl_speed_down(struct rtl8169_private *tp) +{ + u32 adv; + int lpa; + + rtl_writephy(tp, 0x1f, 0x0000); + lpa = rtl_readphy(tp, MII_LPA); + + if (lpa & (LPA_10HALF | LPA_10FULL)) + adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full; + else if (lpa & (LPA_100HALF | LPA_100FULL)) + adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full | + ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full; + else + adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full | + ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full | + (tp->mii.supports_gmii ? + ADVERTISED_1000baseT_Half | + ADVERTISED_1000baseT_Full : 0); + + rtl8169_set_speed(tp->dev, AUTONEG_ENABLE, SPEED_1000, DUPLEX_FULL, + adv); +} + static void rtl_wol_suspend_quirk(struct rtl8169_private *tp) { 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: @@ -3621,9 +3645,7 @@ if (!(__rtl8169_get_wol(tp) & WAKE_ANY)) return false; - rtl_writephy(tp, 0x1f, 0x0000); - rtl_writephy(tp, MII_BMCR, 0x0000); - + rtl_speed_down(tp); rtl_wol_suspend_quirk(tp); return true; @@ -4271,6 +4293,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]); @@ -4549,8 +4574,10 @@ RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK); - rtl_tx_performance_tweak(pdev, - (0x5 << MAX_READ_REQUEST_SHIFT) | PCI_EXP_DEVCTL_NOSNOOP_EN); + if (tp->dev->mtu <= ETH_DATA_LEN) { + rtl_tx_performance_tweak(pdev, (0x5 << MAX_READ_REQUEST_SHIFT) | + PCI_EXP_DEVCTL_NOSNOOP_EN); + } } static void rtl_hw_start_8168bef(struct rtl8169_private *tp) @@ -4573,7 +4600,8 @@ RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); rtl_disable_clock_request(pdev); @@ -4607,7 +4635,8 @@ RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK); } @@ -4626,7 +4655,8 @@ RTL_W8(MaxTxPacketSize, TxPacketMax); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK); } @@ -4687,7 +4717,8 @@ RTL_W8(MaxTxPacketSize, TxPacketMax); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); RTL_W16(CPlusCmd, RTL_R16(CPlusCmd) & ~R8168_CPCMD_QUIRK_MASK); } @@ -4699,7 +4730,8 @@ rtl_csi_access_enable_1(tp); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); RTL_W8(MaxTxPacketSize, TxPacketMax); @@ -4758,7 +4790,8 @@ rtl_ephy_init(ioaddr, e_info_8168e_1, ARRAY_SIZE(e_info_8168e_1)); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); RTL_W8(MaxTxPacketSize, TxPacketMax); @@ -4784,7 +4817,8 @@ rtl_ephy_init(ioaddr, e_info_8168e_2, ARRAY_SIZE(e_info_8168e_2)); - rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); + if (tp->dev->mtu <= ETH_DATA_LEN) + rtl_tx_performance_tweak(pdev, 0x5 << MAX_READ_REQUEST_SHIFT); rtl_eri_write(ioaddr, 0xc0, ERIAR_MASK_0011, 0x0000, ERIAR_EXGMAC); rtl_eri_write(ioaddr, 0xb8, ERIAR_MASK_0011, 0x0000, ERIAR_EXGMAC); @@ -5380,7 +5414,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) @@ -5464,7 +5497,20 @@ return -EIO; } -static inline void rtl8169_tso_csum(struct rtl8169_private *tp, +static bool rtl_skb_pad(struct sk_buff *skb) +{ + if (skb_padto(skb, ETH_ZLEN)) + return false; + skb_put(skb, ETH_ZLEN - skb->len); + return true; +} + +static bool rtl_test_hw_pad_bug(struct rtl8169_private *tp, struct sk_buff *skb) +{ + return skb->len < ETH_ZLEN && tp->mac_version == RTL_GIGA_MAC_VER_34; +} + +static inline bool rtl8169_tso_csum(struct rtl8169_private *tp, struct sk_buff *skb, u32 *opts) { const struct rtl_tx_desc_info *info = tx_desc_info + tp->txd_version; @@ -5477,13 +5523,20 @@ } else if (skb->ip_summed == CHECKSUM_PARTIAL) { const struct iphdr *ip = ip_hdr(skb); + if (unlikely(rtl_test_hw_pad_bug(tp, skb))) + return skb_checksum_help(skb) == 0 && rtl_skb_pad(skb); + if (ip->protocol == IPPROTO_TCP) opts[offset] |= info->checksum.tcp; else if (ip->protocol == IPPROTO_UDP) opts[offset] |= info->checksum.udp; else WARN_ON_ONCE(1); + } else { + if (unlikely(rtl_test_hw_pad_bug(tp, skb))) + return rtl_skb_pad(skb); } + return true; } static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, @@ -5507,6 +5560,12 @@ if (unlikely(le32_to_cpu(txd->opts1) & DescOwn)) goto err_stop_0; + opts[1] = cpu_to_le32(rtl8169_tx_vlan_tag(tp, skb)); + opts[0] = DescOwn; + + if (!rtl8169_tso_csum(tp, skb, opts)) + goto err_update_stats; + len = skb_headlen(skb); mapping = dma_map_single(d, skb->data, len, DMA_TO_DEVICE); if (unlikely(dma_mapping_error(d, mapping))) { @@ -5518,11 +5577,6 @@ tp->tx_skb[entry].len = len; txd->addr = cpu_to_le64(mapping); - opts[1] = cpu_to_le32(rtl8169_tx_vlan_tag(tp, skb)); - opts[0] = DescOwn; - - rtl8169_tso_csum(tp, skb, opts); - frags = rtl8169_xmit_frags(tp, skb, opts); if (frags < 0) goto err_dma_1; @@ -5535,8 +5589,6 @@ txd->opts2 = cpu_to_le32(opts[1]); - netdev_sent_queue(dev, skb->len); - skb_tx_timestamp(skb); wmb(); @@ -5577,6 +5629,7 @@ rtl8169_unmap_tx_skb(d, tp->tx_skb + entry, txd); err_dma_0: dev_kfree_skb(skb); +err_update_stats: dev->stats.tx_dropped++; return NETDEV_TX_OK; @@ -5633,16 +5686,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 +5707,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: @@ -5777,8 +5816,6 @@ !(status & (RxRWT | RxFOVF)) && (dev->features & NETIF_F_RXALL)) goto process_pkt; - - rtl8169_mark_to_asic(desc, rx_buf_sz); } else { struct sk_buff *skb; dma_addr_t addr; @@ -5799,16 +5836,14 @@ if (unlikely(rtl8169_fragmented_frame(status))) { dev->stats.rx_dropped++; dev->stats.rx_length_errors++; - rtl8169_mark_to_asic(desc, rx_buf_sz); - continue; + goto release_descriptor; } skb = rtl8169_try_rx_copy(tp->Rx_databuff[entry], tp, pkt_size, addr); - rtl8169_mark_to_asic(desc, rx_buf_sz); if (!skb) { dev->stats.rx_dropped++; - continue; + goto release_descriptor; } rtl8169_rx_csum(skb, status); @@ -5824,13 +5859,10 @@ tp->rx_stats.bytes += pkt_size; u64_stats_update_end(&tp->rx_stats.syncp); } - - /* Work around for AMD plateform. */ - if ((desc->opts2 & cpu_to_le32(0xfffe000)) && - (tp->mac_version == RTL_GIGA_MAC_VER_05)) { - desc->opts2 = 0; - cur_rx++; - } +release_descriptor: + desc->opts2 = 0; + wmb(); + rtl8169_mark_to_asic(desc, rx_buf_sz); } count = cur_rx - tp->cur_rx; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/3com/3c59x.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/3com/3c59x.c @@ -632,7 +632,6 @@ pm_state_valid:1, /* pci_dev->saved_config_space has sane contents */ open:1, medialock:1, - must_free_region:1, /* Flag: if zero, Cardbus owns the I/O region */ large_frames:1, /* accept large frames */ handling_irq:1; /* private in_irq indicator */ /* {get|set}_wol operations are already serialized by rtnl. @@ -951,7 +950,7 @@ unregister_netdev(dev); iowrite16(TotalReset|0x14, ioaddr + EL3_CMD); - release_region(dev->base_addr, VORTEX_TOTAL_SIZE); + release_region(edev->base_addr, VORTEX_TOTAL_SIZE); free_netdev(dev); return 0; @@ -1012,6 +1011,12 @@ if (rc < 0) goto out; + rc = pci_request_regions(pdev, DRV_NAME); + if (rc < 0) { + pci_disable_device(pdev); + goto out; + } + unit = vortex_cards_found; if (global_use_mmio < 0 && (unit >= MAX_UNITS || use_mmio[unit] < 0)) { @@ -1027,6 +1032,7 @@ if (!ioaddr) /* If mapping fails, fall-back to BAR 0... */ ioaddr = pci_iomap(pdev, 0, 0); if (!ioaddr) { + pci_release_regions(pdev); pci_disable_device(pdev); rc = -ENOMEM; goto out; @@ -1036,6 +1042,7 @@ ent->driver_data, unit); if (rc < 0) { pci_iounmap(pdev, ioaddr); + pci_release_regions(pdev); pci_disable_device(pdev); goto out; } @@ -1179,11 +1186,6 @@ /* PCI-only startup logic */ if (pdev) { - /* EISA resources already marked, so only PCI needs to do this here */ - /* Ignore return value, because Cardbus drivers already allocate for us */ - if (request_region(dev->base_addr, vci->io_size, print_name) != NULL) - vp->must_free_region = 1; - /* enable bus-mastering if necessary */ if (vci->flags & PCI_USES_MASTER) pci_set_master(pdev); @@ -1221,7 +1223,7 @@ &vp->rx_ring_dma); retval = -ENOMEM; if (!vp->rx_ring) - goto free_region; + goto free_device; vp->tx_ring = (struct boom_tx_desc *)(vp->rx_ring + RX_RING_SIZE); vp->tx_ring_dma = vp->rx_ring_dma + sizeof(struct boom_rx_desc) * RX_RING_SIZE; @@ -1486,9 +1488,7 @@ + sizeof(struct boom_tx_desc) * TX_RING_SIZE, vp->rx_ring, vp->rx_ring_dma); -free_region: - if (vp->must_free_region) - release_region(dev->base_addr, vci->io_size); +free_device: free_netdev(dev); pr_err(PFX "vortex_probe1 fails. Returns %d\n", retval); out: @@ -3256,8 +3256,9 @@ + sizeof(struct boom_tx_desc) * TX_RING_SIZE, vp->rx_ring, vp->rx_ring_dma); - if (vp->must_free_region) - release_region(dev->base_addr, vp->io_size); + + pci_release_regions(pdev); + free_netdev(dev); } --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/3com/3c509.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/3com/3c509.c @@ -308,6 +308,7 @@ if (!dev) return -ENOMEM; + SET_NETDEV_DEV(dev, pdev); netdev_boot_setup_check(dev); if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) { @@ -598,6 +599,7 @@ return -ENOMEM; } + SET_NETDEV_DEV(dev, device); netdev_boot_setup_check(dev); el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/atheros/atl1e/atl1e_main.c @@ -1688,8 +1688,8 @@ return 0; } -static void atl1e_tx_map(struct atl1e_adapter *adapter, - struct sk_buff *skb, struct atl1e_tpd_desc *tpd) +static int atl1e_tx_map(struct atl1e_adapter *adapter, + struct sk_buff *skb, struct atl1e_tpd_desc *tpd) { struct atl1e_tpd_desc *use_tpd = NULL; struct atl1e_tx_buffer *tx_buffer = NULL; @@ -1700,6 +1700,8 @@ u16 nr_frags; u16 f; int segment; + int ring_start = adapter->tx_ring.next_to_use; + int ring_end; nr_frags = skb_shinfo(skb)->nr_frags; segment = (tpd->word3 >> TPD_SEGMENT_EN_SHIFT) & TPD_SEGMENT_EN_MASK; @@ -1712,6 +1714,9 @@ tx_buffer->length = map_len; tx_buffer->dma = pci_map_single(adapter->pdev, skb->data, hdr_len, PCI_DMA_TODEVICE); + if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) + return -ENOSPC; + ATL1E_SET_PCIMAP_TYPE(tx_buffer, ATL1E_TX_PCIMAP_SINGLE); mapped_len += map_len; use_tpd->buffer_addr = cpu_to_le64(tx_buffer->dma); @@ -1738,6 +1743,22 @@ tx_buffer->dma = pci_map_single(adapter->pdev, skb->data + mapped_len, map_len, PCI_DMA_TODEVICE); + + if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) { + /* We need to unwind the mappings we've done */ + ring_end = adapter->tx_ring.next_to_use; + adapter->tx_ring.next_to_use = ring_start; + while (adapter->tx_ring.next_to_use != ring_end) { + tpd = atl1e_get_tpd(adapter); + tx_buffer = atl1e_get_tx_buffer(adapter, tpd); + pci_unmap_single(adapter->pdev, tx_buffer->dma, + tx_buffer->length, PCI_DMA_TODEVICE); + } + /* Reset the tx rings next pointer */ + adapter->tx_ring.next_to_use = ring_start; + return -ENOSPC; + } + ATL1E_SET_PCIMAP_TYPE(tx_buffer, ATL1E_TX_PCIMAP_SINGLE); mapped_len += map_len; use_tpd->buffer_addr = cpu_to_le64(tx_buffer->dma); @@ -1773,6 +1794,23 @@ (i * MAX_TX_BUF_LEN), tx_buffer->length, DMA_TO_DEVICE); + + if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) { + /* We need to unwind the mappings we've done */ + ring_end = adapter->tx_ring.next_to_use; + adapter->tx_ring.next_to_use = ring_start; + while (adapter->tx_ring.next_to_use != ring_end) { + tpd = atl1e_get_tpd(adapter); + tx_buffer = atl1e_get_tx_buffer(adapter, tpd); + dma_unmap_page(&adapter->pdev->dev, tx_buffer->dma, + tx_buffer->length, DMA_TO_DEVICE); + } + + /* Reset the ring next to use pointer */ + adapter->tx_ring.next_to_use = ring_start; + return -ENOSPC; + } + ATL1E_SET_PCIMAP_TYPE(tx_buffer, ATL1E_TX_PCIMAP_PAGE); use_tpd->buffer_addr = cpu_to_le64(tx_buffer->dma); use_tpd->word2 = (use_tpd->word2 & (~TPD_BUFLEN_MASK)) | @@ -1790,6 +1828,7 @@ /* The last buffer info contain the skb address, so it will be free after unmap */ tx_buffer->skb = skb; + return 0; } static void atl1e_tx_queue(struct atl1e_adapter *adapter, u16 count, @@ -1857,10 +1896,15 @@ return NETDEV_TX_OK; } - atl1e_tx_map(adapter, skb, tpd); + if (atl1e_tx_map(adapter, skb, tpd)) { + dev_kfree_skb_any(skb); + goto out; + } + atl1e_tx_queue(adapter, tpd_req, tpd); netdev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */ +out: spin_unlock_irqrestore(&adapter->tx_lock, flags); return NETDEV_TX_OK; } @@ -1870,34 +1914,19 @@ struct net_device *netdev = adapter->netdev; free_irq(adapter->pdev->irq, netdev); - - if (adapter->have_msi) - pci_disable_msi(adapter->pdev); } static int atl1e_request_irq(struct atl1e_adapter *adapter) { struct pci_dev *pdev = adapter->pdev; struct net_device *netdev = adapter->netdev; - int flags = 0; int err = 0; - adapter->have_msi = true; - err = pci_enable_msi(pdev); - if (err) { - netdev_dbg(netdev, - "Unable to allocate MSI interrupt Error: %d\n", err); - adapter->have_msi = false; - } - - if (!adapter->have_msi) - flags |= IRQF_SHARED; - err = request_irq(pdev->irq, atl1e_intr, flags, netdev->name, netdev); + err = request_irq(pdev->irq, atl1e_intr, IRQF_SHARED, netdev->name, + netdev); if (err) { netdev_dbg(adapter->netdev, "Unable to allocate interrupt Error: %d\n", err); - if (adapter->have_msi) - pci_disable_msi(pdev); return err; } netdev_dbg(netdev, "atl1e_request_irq OK\n"); @@ -2367,6 +2396,7 @@ INIT_WORK(&adapter->reset_task, atl1e_reset_task); INIT_WORK(&adapter->link_chg_task, atl1e_link_chg_task); + netif_set_gso_max_size(netdev, MAX_TSO_SEG_SIZE); err = register_netdev(netdev); if (err) { netdev_err(netdev, "register netdevice failed\n"); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/atheros/atl1e/atl1e.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/atheros/atl1e/atl1e.h @@ -186,7 +186,7 @@ /* how about 0x2000 */ #define MAX_TX_BUF_LEN 0x2000 #define MAX_TX_BUF_SHIFT 13 -/*#define MAX_TX_BUF_LEN 0x3000 */ +#define MAX_TSO_SEG_SIZE 0x3c00 /* rrs word 1 bit 0:31 */ #define RRS_RX_CSUM_MASK 0xFFFF @@ -438,7 +438,6 @@ struct atl1e_hw hw; struct atl1e_hw_stats hw_stats; - bool have_msi; u32 wol; u16 link_speed; u16 link_duplex; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/atheros/atl1c/atl1c_hw.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/renesas/sh_eth.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/renesas/sh_eth.h @@ -468,7 +468,7 @@ #define DEFAULT_TX_CHECK (EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | \ EESR_RTO) -#define DEFAULT_EESR_ERR_CHECK (EESR_TWB | EESR_TABT | EESR_RABT | \ +#define DEFAULT_EESR_ERR_CHECK (EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE | \ EESR_RDE | EESR_RFRMER | EESR_ADE | \ EESR_TFE | EESR_TDE | EESR_ECI) #define DEFAULT_TX_ERROR_CHECK (EESR_TWB | EESR_TABT | EESR_ADE | EESR_TDE | \ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/renesas/sh_eth.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/renesas/sh_eth.c @@ -88,8 +88,9 @@ .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x01ff009f, .tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO, - .eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RDE | - EESR_RFRMER | EESR_TFE | EESR_TDE | EESR_ECI, + .eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE | + EESR_RDE | EESR_RFRMER | EESR_TFE | EESR_TDE | + EESR_ECI, .tx_error_check = EESR_TWB | EESR_TABT | EESR_TDE | EESR_TFE, .apr = 1, @@ -137,8 +138,9 @@ .rmcr_value = 0x00000001, .tx_check = EESR_FTC | EESR_CND | EESR_DLC | EESR_CD | EESR_RTO, - .eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RDE | - EESR_RFRMER | EESR_TFE | EESR_TDE | EESR_ECI, + .eesr_err_check = EESR_TWB | EESR_TABT | EESR_RABT | EESR_RFE | + EESR_RDE | EESR_RFRMER | EESR_TFE | EESR_TDE | + EESR_ECI, .tx_error_check = EESR_TWB | EESR_TABT | EESR_TDE | EESR_TFE, .apr = 1, @@ -252,9 +254,9 @@ .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff, .tx_check = EESR_TC1 | EESR_FTC, - .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | \ - EESR_RDE | EESR_RFRMER | EESR_TFE | EESR_TDE | \ - EESR_ECI, + .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | + EESR_RFE | EESR_RDE | EESR_RFRMER | EESR_TFE | + EESR_TDE | EESR_ECI, .tx_error_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_TDE | \ EESR_TFE, .fdr_value = 0x0000072f, @@ -361,9 +363,9 @@ .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff, .tx_check = EESR_TC1 | EESR_FTC, - .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | \ - EESR_RDE | EESR_RFRMER | EESR_TFE | EESR_TDE | \ - EESR_ECI, + .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | + EESR_RFE | EESR_RDE | EESR_RFRMER | EESR_TFE | + EESR_TDE | EESR_ECI, .tx_error_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_TDE | \ EESR_TFE, @@ -478,9 +480,9 @@ .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff, .tx_check = EESR_TC1 | EESR_FTC, - .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | \ - EESR_RDE | EESR_RFRMER | EESR_TFE | EESR_TDE | \ - EESR_ECI, + .eesr_err_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_RABT | + EESR_RFE | EESR_RDE | EESR_RFRMER | EESR_TFE | + EESR_TDE | EESR_ECI, .tx_error_check = EESR_TWB1 | EESR_TWB | EESR_TABT | EESR_TDE | \ EESR_TFE, @@ -1027,16 +1029,23 @@ desc_status = edmac_to_cpu(mdp, rxdesc->status); pkt_len = rxdesc->frame_length; -#if defined(CONFIG_ARCH_R8A7740) - desc_status >>= 16; -#endif - if (--boguscnt < 0) break; if (!(desc_status & RDFEND)) ndev->stats.rx_length_errors++; +#if defined(CONFIG_ARCH_R8A7740) + /* + * In case of almost all GETHER/ETHERs, the Receive Frame State + * (RFS) bits in the Receive Descriptor 0 are from bit 9 to + * bit 0. However, in case of the R8A7740's GETHER, the RFS + * bits are from bit 25 to bit 16. So, the driver needs right + * shifting by 16. + */ + desc_status >>= 16; +#endif + if (desc_status & (RD_RFS1 | RD_RFS2 | RD_RFS3 | RD_RFS4 | RD_RFS5 | RD_RFS6 | RD_RFS10)) { ndev->stats.rx_errors++; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/neterion/vxge/vxge-main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/sis/sis900.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sis/sis900.c @@ -2477,7 +2477,7 @@ netif_start_queue(net_dev); /* Workaround for EDB */ - sis900_set_mode(ioaddr, HW_SPEED_10_MBPS, FDX_CAPABLE_HALF_SELECTED); + sis900_set_mode(sis_priv, HW_SPEED_10_MBPS, FDX_CAPABLE_HALF_SELECTED); /* Enable all known interrupts by setting the interrupt mask. */ sw32(imr, RxSOVR | RxORN | RxERR | RxOK | TxURN | TxERR | TxIDLE); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/nic.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/nic.h @@ -316,6 +316,8 @@ /* Global Resources */ extern int efx_nic_flush_queues(struct efx_nic *efx); +extern void siena_prepare_flush(struct efx_nic *efx); +extern void siena_finish_flush(struct efx_nic *efx); extern void falcon_start_nic_stats(struct efx_nic *efx); extern void falcon_stop_nic_stats(struct efx_nic *efx); extern void falcon_setup_xaui(struct efx_nic *efx); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/nic.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/nic.c @@ -73,6 +73,8 @@ _EFX_CHANNEL_MAGIC(_EFX_CHANNEL_MAGIC_TX_DRAIN, \ (_tx_queue)->queue) +static void efx_magic_event(struct efx_channel *channel, u32 magic); + /************************************************************************** * * Solarstorm hardware access @@ -124,9 +126,6 @@ unsigned address = 0, i, j; efx_oword_t mask, imask, original, reg, buf; - /* Falcon should be in loopback to isolate the XMAC from the PHY */ - WARN_ON(!LOOPBACK_INTERNAL(efx)); - for (i = 0; i < n_regs; ++i) { address = regs[i].address; mask = imask = regs[i].mask; @@ -380,7 +379,8 @@ return false; tx_queue->empty_read_count = 0; - return ((empty_read_count ^ write_count) & ~EFX_EMPTY_COUNT_VALID) == 0; + return ((empty_read_count ^ write_count) & ~EFX_EMPTY_COUNT_VALID) == 0 + && tx_queue->write_count - write_count == 1; } /* For each entry inserted into the software descriptor ring, create a @@ -495,6 +495,9 @@ struct efx_nic *efx = tx_queue->efx; efx_oword_t tx_flush_descq; + WARN_ON(atomic_read(&tx_queue->flush_outstanding)); + atomic_set(&tx_queue->flush_outstanding, 1); + EFX_POPULATE_OWORD_2(tx_flush_descq, FRF_AZ_TX_FLUSH_DESCQ_CMD, 1, FRF_AZ_TX_FLUSH_DESCQ, tx_queue->queue); @@ -670,6 +673,47 @@ && atomic_read(&efx->rxq_flush_pending) > 0)); } +static bool efx_check_tx_flush_complete(struct efx_nic *efx) +{ + bool i = true; + efx_oword_t txd_ptr_tbl; + struct efx_channel *channel; + struct efx_tx_queue *tx_queue; + + efx_for_each_channel(channel, efx) { + efx_for_each_channel_tx_queue(tx_queue, channel) { + efx_reado_table(efx, &txd_ptr_tbl, + FR_BZ_TX_DESC_PTR_TBL, tx_queue->queue); + if (EFX_OWORD_FIELD(txd_ptr_tbl, + FRF_AZ_TX_DESCQ_FLUSH) || + EFX_OWORD_FIELD(txd_ptr_tbl, + FRF_AZ_TX_DESCQ_EN)) { + netif_dbg(efx, hw, efx->net_dev, + "flush did not complete on TXQ %d\n", + tx_queue->queue); + i = false; + } else if (atomic_cmpxchg(&tx_queue->flush_outstanding, + 1, 0)) { + /* The flush is complete, but we didn't + * receive a flush completion event + */ + netif_dbg(efx, hw, efx->net_dev, + "flush complete on TXQ %d, so drain " + "the queue\n", tx_queue->queue); + /* Don't need to increment drain_pending as it + * has already been incremented for the queues + * which did not drain + */ + efx_magic_event(channel, + EFX_CHANNEL_MAGIC_TX_DRAIN( + tx_queue)); + } + } + } + + return i; +} + /* Flush all the transmit queues, and continue flushing receive queues until * they're all flushed. Wait for the DRAIN events to be recieved so that there * are no more RX and TX events left on any channel. */ @@ -681,7 +725,6 @@ struct efx_tx_queue *tx_queue; int rc = 0; - efx->fc_disable++; efx->type->prepare_flush(efx); efx_for_each_channel(channel, efx) { @@ -731,7 +774,8 @@ timeout); } - if (atomic_read(&efx->drain_pending)) { + if (atomic_read(&efx->drain_pending) && + !efx_check_tx_flush_complete(efx)) { netif_err(efx, hw, efx->net_dev, "failed to flush %d queues " "(rx %d+%d)\n", atomic_read(&efx->drain_pending), atomic_read(&efx->rxq_flush_outstanding), @@ -743,7 +787,7 @@ atomic_set(&efx->rxq_flush_outstanding, 0); } - efx->fc_disable--; + efx->type->finish_flush(efx); return rc; } @@ -1018,9 +1062,10 @@ if (qid < EFX_TXQ_TYPES * efx->n_tx_channels) { tx_queue = efx_get_tx_queue(efx, qid / EFX_TXQ_TYPES, qid % EFX_TXQ_TYPES); - - efx_magic_event(tx_queue->channel, - EFX_CHANNEL_MAGIC_TX_DRAIN(tx_queue)); + if (atomic_cmpxchg(&tx_queue->flush_outstanding, 1, 0)) { + efx_magic_event(tx_queue->channel, + EFX_CHANNEL_MAGIC_TX_DRAIN(tx_queue)); + } } } --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/efx.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/efx.c @@ -754,6 +754,7 @@ tx_queue->txd.entries); } + efx_device_detach_sync(efx); efx_stop_all(efx); efx_stop_interrupts(efx, true); @@ -807,6 +808,7 @@ efx_start_interrupts(efx, true); efx_start_all(efx); + netif_device_attach(efx->net_dev); return rc; rollback: @@ -1503,6 +1505,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); @@ -1596,8 +1603,12 @@ /* Flush efx_mac_work(), refill_workqueue, monitor_work */ efx_flush_all(efx); - /* Stop the kernel transmit interface late, so the watchdog - * timer isn't ticking over the flush */ + /* Stop the kernel transmit interface. This is only valid if + * the device is stopped or detached; otherwise the watchdog + * may fire immediately. + */ + WARN_ON(netif_running(efx->net_dev) && + netif_device_present(efx->net_dev)); netif_tx_disable(efx->net_dev); efx_stop_datapath(efx); @@ -1916,10 +1927,11 @@ if (new_mtu > EFX_MAX_MTU) return -EINVAL; - efx_stop_all(efx); - netif_dbg(efx, drv, efx->net_dev, "changing MTU to %d\n", new_mtu); + efx_device_detach_sync(efx); + efx_stop_all(efx); + mutex_lock(&efx->mac_lock); /* Reconfigure the MAC before enabling the dma queues so that * the RX buffers don't overflow */ @@ -1928,6 +1940,7 @@ mutex_unlock(&efx->mac_lock); efx_start_all(efx); + netif_device_attach(efx->net_dev); return 0; } @@ -2070,6 +2083,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(); @@ -2218,7 +2232,7 @@ netif_info(efx, drv, efx->net_dev, "resetting (%s)\n", RESET_TYPE(method)); - netif_device_detach(efx->net_dev); + efx_device_detach_sync(efx); efx_reset_down(efx, method); rc = efx->type->reset(efx, method); @@ -2712,8 +2726,7 @@ struct efx_nic *efx = pci_get_drvdata(to_pci_dev(dev)); efx->state = STATE_FINI; - - netif_device_detach(efx->net_dev); + efx_device_detach_sync(efx); efx_stop_all(efx); efx_stop_interrupts(efx, false); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/net_driver.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/net_driver.h @@ -68,6 +68,8 @@ #define EFX_TXQ_TYPES 4 #define EFX_MAX_TX_QUEUES (EFX_TXQ_TYPES * EFX_MAX_CHANNELS) +struct efx_self_tests; + /** * struct efx_special_buffer - An Efx special buffer * @addr: CPU base address of the buffer @@ -194,6 +196,7 @@ /* Members shared between paths and sometimes updated */ unsigned int empty_read_count ____cacheline_aligned_in_smp; #define EFX_EMPTY_COUNT_VALID 0x80000000 + atomic_t flush_outstanding; }; /** @@ -203,6 +206,7 @@ * Will be %NULL if the buffer slot is currently free. * @page: The associated page buffer. Valif iff @flags & %EFX_RX_BUF_PAGE. * Will be %NULL if the buffer slot is currently free. + * @page_offset: Offset within page. Valid iff @flags & %EFX_RX_BUF_PAGE. * @len: Buffer length, in bytes. * @flags: Flags for buffer and packet state. */ @@ -212,7 +216,8 @@ struct sk_buff *skb; struct page *page; } u; - unsigned int len; + u16 page_offset; + u16 len; u16 flags; }; #define EFX_RX_BUF_PAGE 0x0001 @@ -889,6 +894,7 @@ * @remove_port: Free resources allocated by probe_port() * @handle_global_event: Handle a "global" event (may be %NULL) * @prepare_flush: Prepare the hardware for flushing the DMA queues + * @finish_flush: Clean up after flushing the DMA queues * @update_stats: Update statistics not provided by event handling * @start_stats: Start the regular fetching of statistics * @stop_stats: Stop the regular fetching of statistics @@ -901,7 +907,8 @@ * @get_wol: Get WoL configuration from driver state * @set_wol: Push WoL configuration to the NIC * @resume_wol: Synchronise WoL state between driver and MC (e.g. after resume) - * @test_registers: Test read/write functionality of control registers + * @test_chip: Test registers. Should use efx_nic_test_registers(), and is + * expected to reset the NIC. * @test_nvram: Test validity of NVRAM contents * @revision: Hardware architecture revision * @mem_map_size: Memory BAR mapped size @@ -935,6 +942,7 @@ void (*remove_port)(struct efx_nic *efx); bool (*handle_global_event)(struct efx_channel *channel, efx_qword_t *); void (*prepare_flush)(struct efx_nic *efx); + void (*finish_flush)(struct efx_nic *efx); void (*update_stats)(struct efx_nic *efx); void (*start_stats)(struct efx_nic *efx); void (*stop_stats)(struct efx_nic *efx); @@ -946,7 +954,7 @@ void (*get_wol)(struct efx_nic *efx, struct ethtool_wolinfo *wol); int (*set_wol)(struct efx_nic *efx, u32 type); void (*resume_wol)(struct efx_nic *efx); - int (*test_registers)(struct efx_nic *efx); + int (*test_chip)(struct efx_nic *efx, struct efx_self_tests *tests); int (*test_nvram)(struct efx_nic *efx); int revision; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/ethtool.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/efx.h +++ linux-lts-quantal-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); @@ -156,4 +162,17 @@ extern void efx_link_set_advertising(struct efx_nic *efx, u32); extern void efx_link_set_wanted_fc(struct efx_nic *efx, u8); +static inline void efx_device_detach_sync(struct efx_nic *efx) +{ + struct net_device *dev = efx->net_dev; + + /* Lock/freeze all TX queues so that we can be sure the + * TX scheduler is stopped when we're done and before + * netif_device_present() becomes false. + */ + netif_tx_lock_bh(dev); + netif_device_detach(dev); + netif_tx_unlock_bh(dev); +} + #endif /* EFX_EFX_H */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/bitfield.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/bitfield.h @@ -120,10 +120,10 @@ * [0,high-low), with garbage in bits [high-low+1,...). */ #define EFX_EXTRACT_NATIVE(native_element, min, max, low, high) \ - (((low > max) || (high < min)) ? 0 : \ - ((low > min) ? \ - ((native_element) >> (low - min)) : \ - ((native_element) << (min - low)))) + ((low) > (max) || (high) < (min) ? 0 : \ + (low) > (min) ? \ + (native_element) >> ((low) - (min)) : \ + (native_element) << ((min) - (low))) /* * Extract bit field portion [low,high) from the 64-bit little-endian @@ -142,27 +142,27 @@ #define EFX_EXTRACT_OWORD64(oword, low, high) \ ((EFX_EXTRACT64((oword).u64[0], 0, 63, low, high) | \ EFX_EXTRACT64((oword).u64[1], 64, 127, low, high)) & \ - EFX_MASK64(high + 1 - low)) + EFX_MASK64((high) + 1 - (low))) #define EFX_EXTRACT_QWORD64(qword, low, high) \ (EFX_EXTRACT64((qword).u64[0], 0, 63, low, high) & \ - EFX_MASK64(high + 1 - low)) + EFX_MASK64((high) + 1 - (low))) #define EFX_EXTRACT_OWORD32(oword, low, high) \ ((EFX_EXTRACT32((oword).u32[0], 0, 31, low, high) | \ EFX_EXTRACT32((oword).u32[1], 32, 63, low, high) | \ EFX_EXTRACT32((oword).u32[2], 64, 95, low, high) | \ EFX_EXTRACT32((oword).u32[3], 96, 127, low, high)) & \ - EFX_MASK32(high + 1 - low)) + EFX_MASK32((high) + 1 - (low))) #define EFX_EXTRACT_QWORD32(qword, low, high) \ ((EFX_EXTRACT32((qword).u32[0], 0, 31, low, high) | \ EFX_EXTRACT32((qword).u32[1], 32, 63, low, high)) & \ - EFX_MASK32(high + 1 - low)) + EFX_MASK32((high) + 1 - (low))) #define EFX_EXTRACT_DWORD(dword, low, high) \ (EFX_EXTRACT32((dword).u32[0], 0, 31, low, high) & \ - EFX_MASK32(high + 1 - low)) + EFX_MASK32((high) + 1 - (low))) #define EFX_OWORD_FIELD64(oword, field) \ EFX_EXTRACT_OWORD64(oword, EFX_LOW_BIT(field), \ @@ -442,10 +442,10 @@ cpu_to_le32(EFX_INSERT_NATIVE(min, max, low, high, value)) #define EFX_INPLACE_MASK64(min, max, low, high) \ - EFX_INSERT64(min, max, low, high, EFX_MASK64(high + 1 - low)) + EFX_INSERT64(min, max, low, high, EFX_MASK64((high) + 1 - (low))) #define EFX_INPLACE_MASK32(min, max, low, high) \ - EFX_INSERT32(min, max, low, high, EFX_MASK32(high + 1 - low)) + EFX_INSERT32(min, max, low, high, EFX_MASK32((high) + 1 - (low))) #define EFX_SET_OWORD64(oword, low, high, value) do { \ (oword).u64[0] = (((oword).u64[0] \ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/falcon.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/falcon.c @@ -25,9 +25,12 @@ #include "io.h" #include "phy.h" #include "workarounds.h" +#include "selftest.h" /* Hardware control for SFC4000 (aka Falcon). */ +static int falcon_reset_hw(struct efx_nic *efx, enum reset_type method); + static const unsigned int /* "Large" EEPROM device: Atmel AT25640 or similar * 8 KB, 16-bit address, 32 B write block */ @@ -1034,10 +1037,34 @@ EFX_OWORD32(0x0003FF0F, 0x00000000, 0x00000000, 0x00000000) }, }; -static int falcon_b0_test_registers(struct efx_nic *efx) +static int +falcon_b0_test_chip(struct efx_nic *efx, struct efx_self_tests *tests) { - return efx_nic_test_registers(efx, falcon_b0_register_tests, - ARRAY_SIZE(falcon_b0_register_tests)); + enum reset_type reset_method = RESET_TYPE_INVISIBLE; + int rc, rc2; + + mutex_lock(&efx->mac_lock); + if (efx->loopback_modes) { + /* We need the 312 clock from the PHY to test the XMAC + * registers, so move into XGMII loopback if available */ + if (efx->loopback_modes & (1 << LOOPBACK_XGMII)) + efx->loopback_mode = LOOPBACK_XGMII; + else + efx->loopback_mode = __ffs(efx->loopback_modes); + } + __efx_reconfigure_port(efx); + mutex_unlock(&efx->mac_lock); + + efx_reset_down(efx, reset_method); + + tests->registers = + efx_nic_test_registers(efx, falcon_b0_register_tests, + ARRAY_SIZE(falcon_b0_register_tests)) + ? -1 : 1; + + rc = falcon_reset_hw(efx, reset_method); + rc2 = efx_reset_up(efx, reset_method, rc == 0); + return rc ? rc : rc2; } /************************************************************************** @@ -1765,6 +1792,7 @@ .remove_port = falcon_remove_port, .handle_global_event = falcon_handle_global_event, .prepare_flush = falcon_prepare_flush, + .finish_flush = efx_port_dummy_op_void, .update_stats = falcon_update_nic_stats, .start_stats = falcon_start_nic_stats, .stop_stats = falcon_stop_nic_stats, @@ -1807,6 +1835,7 @@ .remove_port = falcon_remove_port, .handle_global_event = falcon_handle_global_event, .prepare_flush = falcon_prepare_flush, + .finish_flush = efx_port_dummy_op_void, .update_stats = falcon_update_nic_stats, .start_stats = falcon_start_nic_stats, .stop_stats = falcon_stop_nic_stats, @@ -1818,7 +1847,7 @@ .get_wol = falcon_get_wol, .set_wol = falcon_set_wol, .resume_wol = efx_port_dummy_op_void, - .test_registers = falcon_b0_test_registers, + .test_chip = falcon_b0_test_chip, .test_nvram = falcon_test_nvram, .revision = EFX_REV_FALCON_B0, --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/selftest.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/selftest.c @@ -120,19 +120,6 @@ return rc; } -static int efx_test_chip(struct efx_nic *efx, struct efx_self_tests *tests) -{ - int rc = 0; - - /* Test register access */ - if (efx->type->test_registers) { - rc = efx->type->test_registers(efx); - tests->registers = rc ? -1 : 1; - } - - return rc; -} - /************************************************************************** * * Interrupt and event queue testing @@ -699,8 +686,7 @@ { enum efx_loopback_mode loopback_mode = efx->loopback_mode; int phy_mode = efx->phy_mode; - enum reset_type reset_method = RESET_TYPE_INVISIBLE; - int rc_test = 0, rc_reset = 0, rc; + int rc_test = 0, rc_reset, rc; efx_selftest_async_cancel(efx); @@ -735,46 +721,28 @@ /* Detach the device so the kernel doesn't transmit during the * loopback test and the watchdog timeout doesn't fire. */ - netif_device_detach(efx->net_dev); - - mutex_lock(&efx->mac_lock); - if (efx->loopback_modes) { - /* We need the 312 clock from the PHY to test the XMAC - * registers, so move into XGMII loopback if available */ - if (efx->loopback_modes & (1 << LOOPBACK_XGMII)) - efx->loopback_mode = LOOPBACK_XGMII; - else - efx->loopback_mode = __ffs(efx->loopback_modes); - } - - __efx_reconfigure_port(efx); - mutex_unlock(&efx->mac_lock); - - /* free up all consumers of SRAM (including all the queues) */ - efx_reset_down(efx, reset_method); + efx_device_detach_sync(efx); - rc = efx_test_chip(efx, tests); - if (rc && !rc_test) - rc_test = rc; + if (efx->type->test_chip) { + rc_reset = efx->type->test_chip(efx, tests); + if (rc_reset) { + netif_err(efx, hw, efx->net_dev, + "Unable to recover from chip test\n"); + efx_schedule_reset(efx, RESET_TYPE_DISABLE); + return rc_reset; + } - /* reset the chip to recover from the register test */ - rc_reset = efx->type->reset(efx, reset_method); + if ((tests->registers < 0) && !rc_test) + rc_test = -EIO; + } /* Ensure that the phy is powered and out of loopback * for the bist and loopback tests */ + mutex_lock(&efx->mac_lock); efx->phy_mode &= ~PHY_MODE_LOW_POWER; efx->loopback_mode = LOOPBACK_NONE; - - rc = efx_reset_up(efx, reset_method, rc_reset == 0); - if (rc && !rc_reset) - rc_reset = rc; - - if (rc_reset) { - netif_err(efx, drv, efx->net_dev, - "Unable to recover from chip test\n"); - efx_schedule_reset(efx, RESET_TYPE_DISABLE); - return rc_reset; - } + __efx_reconfigure_port(efx); + mutex_unlock(&efx->mac_lock); rc = efx_test_phy(efx, tests, flags); if (rc && !rc_test) --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/mcdi.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/mcdi.c @@ -22,7 +22,7 @@ ************************************************************************** */ -#define MCDI_RPC_TIMEOUT 10 /*seconds */ +#define MCDI_RPC_TIMEOUT (10 * HZ) #define MCDI_PDU(efx) \ (efx_port_num(efx) ? MC_SMEM_P1_PDU_OFST : MC_SMEM_P0_PDU_OFST) @@ -120,7 +120,7 @@ static int efx_mcdi_poll(struct efx_nic *efx) { struct efx_mcdi_iface *mcdi = efx_mcdi(efx); - unsigned int time, finish; + unsigned long time, finish; unsigned int respseq, respcmd, error; unsigned int pdu = FR_CZ_MC_TREG_SMEM + MCDI_PDU(efx); unsigned int rc, spins; @@ -136,7 +136,7 @@ * and poll once a jiffy (approximately) */ spins = TICK_USEC; - finish = get_seconds() + MCDI_RPC_TIMEOUT; + finish = jiffies + MCDI_RPC_TIMEOUT; while (1) { if (spins != 0) { @@ -146,7 +146,7 @@ schedule_timeout_uninterruptible(1); } - time = get_seconds(); + time = jiffies; rmb(); efx_readd(efx, ®, pdu); @@ -158,7 +158,7 @@ EFX_DWORD_FIELD(reg, MCDI_HEADER_RESPONSE)) break; - if (time >= finish) + if (time_after(time, finish)) return -ETIMEDOUT; } @@ -250,7 +250,7 @@ if (wait_event_timeout( mcdi->wq, atomic_read(&mcdi->state) == MCDI_STATE_COMPLETED, - msecs_to_jiffies(MCDI_RPC_TIMEOUT * 1000)) == 0) + MCDI_RPC_TIMEOUT) == 0) return -ETIMEDOUT; /* Check if efx_mcdi_set_mode() switched us back to polled completions. @@ -640,10 +640,9 @@ int efx_mcdi_get_board_cfg(struct efx_nic *efx, u8 *mac_address, u16 *fw_subtype_list, u32 *capabilities) { - uint8_t outbuf[MC_CMD_GET_BOARD_CFG_OUT_LENMIN]; - size_t outlen; + uint8_t outbuf[MC_CMD_GET_BOARD_CFG_OUT_LENMAX]; + size_t outlen, offset, i; int port_num = efx_port_num(efx); - int offset; int rc; BUILD_BUG_ON(MC_CMD_GET_BOARD_CFG_IN_LEN != 0); @@ -663,11 +662,16 @@ : MC_CMD_GET_BOARD_CFG_OUT_MAC_ADDR_BASE_PORT0_OFST; if (mac_address) memcpy(mac_address, outbuf + offset, ETH_ALEN); - if (fw_subtype_list) - memcpy(fw_subtype_list, - outbuf + MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST, - MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_MINNUM * - sizeof(fw_subtype_list[0])); + if (fw_subtype_list) { + offset = MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST; + for (i = 0; + i < MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_MINNUM; + i++) { + fw_subtype_list[i] = + le16_to_cpup((__le16 *)(outbuf + offset)); + offset += 2; + } + } if (capabilities) { if (port_num) *capabilities = MCDI_DWORD(outbuf, @@ -1164,6 +1168,9 @@ __le32 *qid; int rc, count; + BUILD_BUG_ON(EFX_MAX_CHANNELS > + MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_MAXNUM); + qid = kmalloc(EFX_MAX_CHANNELS * sizeof(*qid), GFP_KERNEL); if (qid == NULL) return -ENOMEM; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/mcdi.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/mcdi.h @@ -107,11 +107,13 @@ #define MCDI_EVENT_FIELD(_ev, _field) \ EFX_QWORD_FIELD(_ev, MCDI_EVENT_ ## _field) #define MCDI_ARRAY_FIELD(_buf, _field1, _type, _index, _field2) \ - EFX_DWORD_FIELD( \ + EFX_EXTRACT_DWORD( \ *((efx_dword_t *) \ (MCDI_ARRAY_PTR(_buf, _field1, _type, _index) + \ (MC_CMD_ ## _type ## _TYPEDEF_ ## _field2 ## _OFST & ~3))), \ - MC_CMD_ ## _type ## _TYPEDEF_ ## _field2) + MC_CMD_ ## _type ## _TYPEDEF_ ## _field2 ## _LBN & 0x1f, \ + (MC_CMD_ ## _type ## _TYPEDEF_ ## _field2 ## _LBN & 0x1f) + \ + MC_CMD_ ## _type ## _TYPEDEF_ ## _field2 ## _WIDTH - 1) extern void efx_mcdi_print_fwver(struct efx_nic *efx, char *buf, size_t len); extern int efx_mcdi_drv_attach(struct efx_nic *efx, bool driver_operating, --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/siena.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/siena.c @@ -25,10 +25,12 @@ #include "workarounds.h" #include "mcdi.h" #include "mcdi_pcol.h" +#include "selftest.h" /* Hardware control for SFC9000 family including SFL9021 (aka Siena). */ static void siena_init_wol(struct efx_nic *efx); +static int siena_reset_hw(struct efx_nic *efx, enum reset_type method); static void siena_push_irq_moderation(struct efx_channel *channel) @@ -125,6 +127,18 @@ efx_nic_free_buffer(efx, &efx->stats_buffer); } +void siena_prepare_flush(struct efx_nic *efx) +{ + if (efx->fc_disable++ == 0) + efx_mcdi_set_mac(efx); +} + +void siena_finish_flush(struct efx_nic *efx) +{ + if (--efx->fc_disable == 0) + efx_mcdi_set_mac(efx); +} + static const struct efx_nic_register_test siena_register_tests[] = { { FR_AZ_ADR_REGION, EFX_OWORD32(0x0003FFFF, 0x0003FFFF, 0x0003FFFF, 0x0003FFFF) }, @@ -154,10 +168,29 @@ EFX_OWORD32(0xFFFFFFFF, 0xFFFFFFFF, 0x00000007, 0x00000000) }, }; -static int siena_test_registers(struct efx_nic *efx) +static int siena_test_chip(struct efx_nic *efx, struct efx_self_tests *tests) { - return efx_nic_test_registers(efx, siena_register_tests, - ARRAY_SIZE(siena_register_tests)); + enum reset_type reset_method = RESET_TYPE_ALL; + int rc, rc2; + + efx_reset_down(efx, reset_method); + + /* Reset the chip immediately so that it is completely + * quiescent regardless of what any VF driver does. + */ + rc = siena_reset_hw(efx, reset_method); + if (rc) + goto out; + + tests->registers = + efx_nic_test_registers(efx, siena_register_tests, + ARRAY_SIZE(siena_register_tests)) + ? -1 : 1; + + rc = siena_reset_hw(efx, reset_method); +out: + rc2 = efx_reset_up(efx, reset_method, rc == 0); + return rc ? rc : rc2; } /************************************************************************** @@ -637,7 +670,8 @@ .reset = siena_reset_hw, .probe_port = siena_probe_port, .remove_port = siena_remove_port, - .prepare_flush = efx_port_dummy_op_void, + .prepare_flush = siena_prepare_flush, + .finish_flush = siena_finish_flush, .update_stats = siena_update_nic_stats, .start_stats = siena_start_nic_stats, .stop_stats = siena_stop_nic_stats, @@ -649,7 +683,7 @@ .get_wol = siena_get_wol, .set_wol = siena_set_wol, .resume_wol = siena_init_wol, - .test_registers = siena_test_registers, + .test_chip = siena_test_chip, .test_nvram = efx_mcdi_nvram_test_all, .revision = EFX_REV_SIENA_A0, --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/rx.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/rx.c @@ -90,11 +90,7 @@ static inline unsigned int efx_rx_buf_offset(struct efx_nic *efx, struct efx_rx_buffer *buf) { - /* Offset is always within one page, so we don't need to consider - * the page order. - */ - return ((unsigned int) buf->dma_addr & (PAGE_SIZE - 1)) + - efx->type->rx_buffer_hash_size; + return buf->page_offset + efx->type->rx_buffer_hash_size; } static inline unsigned int efx_rx_buf_size(struct efx_nic *efx) { @@ -188,6 +184,7 @@ struct efx_rx_buffer *rx_buf; struct page *page; void *page_addr; + unsigned int page_offset; struct efx_rx_page_state *state; dma_addr_t dma_addr; unsigned index, count; @@ -214,12 +211,14 @@ page_addr += sizeof(struct efx_rx_page_state); dma_addr += sizeof(struct efx_rx_page_state); + page_offset = sizeof(struct efx_rx_page_state); split: index = rx_queue->added_count & rx_queue->ptr_mask; rx_buf = efx_rx_buffer(rx_queue, index); rx_buf->dma_addr = dma_addr + EFX_PAGE_IP_ALIGN; rx_buf->u.page = page; + rx_buf->page_offset = page_offset + EFX_PAGE_IP_ALIGN; rx_buf->len = efx->rx_buffer_len - EFX_PAGE_IP_ALIGN; rx_buf->flags = EFX_RX_BUF_PAGE; ++rx_queue->added_count; @@ -231,6 +230,7 @@ get_page(page); dma_addr += (PAGE_SIZE >> 1); page_addr += (PAGE_SIZE >> 1); + page_offset += (PAGE_SIZE >> 1); ++count; goto split; } @@ -240,7 +240,8 @@ } static void efx_unmap_rx_buffer(struct efx_nic *efx, - struct efx_rx_buffer *rx_buf) + struct efx_rx_buffer *rx_buf, + unsigned int used_len) { if ((rx_buf->flags & EFX_RX_BUF_PAGE) && rx_buf->u.page) { struct efx_rx_page_state *state; @@ -251,6 +252,10 @@ state->dma_addr, efx_rx_buf_size(efx), PCI_DMA_FROMDEVICE); + } else if (used_len) { + dma_sync_single_for_cpu(&efx->pci_dev->dev, + rx_buf->dma_addr, used_len, + DMA_FROM_DEVICE); } } else if (!(rx_buf->flags & EFX_RX_BUF_PAGE) && rx_buf->u.skb) { pci_unmap_single(efx->pci_dev, rx_buf->dma_addr, @@ -273,7 +278,7 @@ static void efx_fini_rx_buffer(struct efx_rx_queue *rx_queue, struct efx_rx_buffer *rx_buf) { - efx_unmap_rx_buffer(rx_queue->efx, rx_buf); + efx_unmap_rx_buffer(rx_queue->efx, rx_buf, 0); efx_free_rx_buffer(rx_queue->efx, rx_buf); } @@ -301,8 +306,9 @@ index = rx_queue->added_count & rx_queue->ptr_mask; new_buf = efx_rx_buffer(rx_queue, index); - new_buf->dma_addr = rx_buf->dma_addr ^ (PAGE_SIZE >> 1); new_buf->u.page = rx_buf->u.page; + new_buf->page_offset = rx_buf->page_offset ^ (PAGE_SIZE >> 1); + new_buf->dma_addr = state->dma_addr + new_buf->page_offset; new_buf->len = rx_buf->len; new_buf->flags = EFX_RX_BUF_PAGE; ++rx_queue->added_count; @@ -538,10 +544,10 @@ goto out; } - /* Release card resources - assumes all RX buffers consumed in-order - * per RX queue + /* Release and/or sync DMA mapping - assumes all RX buffers + * consumed in-order per RX queue */ - efx_unmap_rx_buffer(efx, rx_buf); + efx_unmap_rx_buffer(efx, rx_buf, len); /* Prefetch nice and early so data will (hopefully) be in cache by * the time we look at it. --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/siena_sriov.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sfc/siena_sriov.c @@ -21,6 +21,9 @@ /* Number of longs required to track all the VIs in a VF */ #define VI_MASK_LENGTH BITS_TO_LONGS(1 << EFX_VI_SCALE_MAX) +/* Maximum number of RX queues supported */ +#define VF_MAX_RX_QUEUES 63 + /** * enum efx_vf_tx_filter_mode - TX MAC filtering behaviour * @VF_TX_FILTER_OFF: Disabled @@ -578,6 +581,7 @@ efx_oword_t reg; if (bad_vf_index(efx, vf_evq) || bad_vf_index(efx, vf_rxq) || + vf_rxq >= VF_MAX_RX_QUEUES || bad_buf_count(buf_count, EFX_MAX_DMAQ_SIZE)) { if (net_ratelimit()) netif_err(efx, hw, efx->net_dev, @@ -683,13 +687,15 @@ __le32 *rxqs; int rc; + BUILD_BUG_ON(VF_MAX_RX_QUEUES > + MC_CMD_FLUSH_RX_QUEUES_IN_QID_OFST_MAXNUM); + rxqs = kmalloc(count * sizeof(*rxqs), GFP_KERNEL); if (rxqs == NULL) return VFDI_RC_ENOMEM; rtnl_lock(); - if (efx->fc_disable++ == 0) - efx_mcdi_set_mac(efx); + siena_prepare_flush(efx); rtnl_unlock(); /* Flush all the initialized queues */ @@ -726,8 +732,7 @@ } rtnl_lock(); - if (--efx->fc_disable == 0) - efx_mcdi_set_mac(efx); + siena_finish_flush(efx); rtnl_unlock(); /* Irrespective of success/failure, fini the queues */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sfc/tx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/emulex/benet/be.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/emulex/benet/be.h @@ -110,6 +110,7 @@ #define MAX_RX_POST BE_NAPI_WEIGHT /* Frags posted at a time */ #define RX_FRAGS_REFILL_WM (RX_Q_LEN - MAX_RX_POST) +#define MAX_VFS 30 /* Max VFs supported by BE3 FW */ #define FW_VER_LEN 32 struct be_dma_mem { @@ -336,7 +337,6 @@ u16 auto_speeds_supported; u16 fixed_speeds_supported; int link_speed; - int forced_port_speed; u32 dac_cable_len; u32 advertising; u32 supported; @@ -389,6 +389,7 @@ struct delayed_work work; u16 work_counter; + struct delayed_work func_recovery_work; u32 flags; /* Ethtool knobs and info */ char fw_ver[FW_VER_LEN]; @@ -396,9 +397,10 @@ u32 *pmac_id; /* MAC addr handle used by BE card */ u32 beacon_state; /* for set_phys_id */ - bool eeh_err; - bool ue_detected; + bool eeh_error; bool fw_timeout; + bool hw_error; + u32 port_num; bool promiscuous; u32 function_mode; @@ -435,6 +437,7 @@ u32 max_pmac_cnt; /* Max secondary UC MACs programmable */ u32 uc_macs; /* Count of secondary UC MAC programmed */ u32 msg_enable; + int be_get_temp_freq; }; #define be_physfn(adapter) (!adapter->virtfn) @@ -454,6 +457,9 @@ #define lancer_chip(adapter) ((adapter->pdev->device == OC_DEVICE_ID3) || \ (adapter->pdev->device == OC_DEVICE_ID4)) +#define skyhawk_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID5) + + #define be_roce_supported(adapter) ((adapter->if_type == SLI_INTF_TYPE_3 || \ adapter->sli_family == SKYHAWK_SLI_FAMILY) && \ (adapter->function_mode & RDMA_ENABLED)) @@ -573,6 +579,11 @@ return val; } +static inline bool is_ipv4_pkt(struct sk_buff *skb) +{ + return skb->protocol == htons(ETH_P_IP) && ip_hdr(skb)->version == 4; +} + static inline void be_vf_eth_addr_generate(struct be_adapter *adapter, u8 *mac) { u32 addr; @@ -593,7 +604,19 @@ static inline bool be_error(struct be_adapter *adapter) { - return adapter->eeh_err || adapter->ue_detected || adapter->fw_timeout; + return adapter->eeh_error || adapter->hw_error || adapter->fw_timeout; +} + +static inline bool be_crit_error(struct be_adapter *adapter) +{ + return adapter->eeh_error || adapter->hw_error; +} + +static inline void be_clear_all_error(struct be_adapter *adapter) +{ + adapter->eeh_error = false; + adapter->hw_error = false; + adapter->fw_timeout = false; } static inline bool be_is_wol_excluded(struct be_adapter *adapter) --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_hw.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/emulex/benet/be_hw.h @@ -45,20 +45,19 @@ #define POST_STAGE_ARMFW_RDY 0xc000 /* FW is done with POST */ -/* Lancer SLIPORT_CONTROL SLIPORT_STATUS registers */ +/* Lancer SLIPORT registers */ #define SLIPORT_STATUS_OFFSET 0x404 #define SLIPORT_CONTROL_OFFSET 0x408 #define SLIPORT_ERROR1_OFFSET 0x40C #define SLIPORT_ERROR2_OFFSET 0x410 +#define PHYSDEV_CONTROL_OFFSET 0x414 #define SLIPORT_STATUS_ERR_MASK 0x80000000 #define SLIPORT_STATUS_RN_MASK 0x01000000 #define SLIPORT_STATUS_RDY_MASK 0x00800000 - - #define SLI_PORT_CONTROL_IP_MASK 0x08000000 - -#define PCICFG_CUST_SCRATCHPAD_CSR 0x1EC +#define PHYSDEV_CONTROL_FW_RESET_MASK 0x00000002 +#define PHYSDEV_CONTROL_INP_MASK 0x40000000 /********* Memory BAR register ************/ #define PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET 0xfc --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_ethtool.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/emulex/benet/be_ethtool.c @@ -512,28 +512,6 @@ return val; } -static int convert_to_et_speed(u32 be_speed) -{ - int et_speed = SPEED_10000; - - switch (be_speed) { - case PHY_LINK_SPEED_10MBPS: - et_speed = SPEED_10; - break; - case PHY_LINK_SPEED_100MBPS: - et_speed = SPEED_100; - break; - case PHY_LINK_SPEED_1GBPS: - et_speed = SPEED_1000; - break; - case PHY_LINK_SPEED_10GBPS: - et_speed = SPEED_10000; - break; - } - - return et_speed; -} - bool be_pause_supported(struct be_adapter *adapter) { return (adapter->phy.interface_type == PHY_TYPE_SFP_PLUS_10GB || @@ -544,27 +522,16 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) { struct be_adapter *adapter = netdev_priv(netdev); - u8 port_speed = 0; - u16 link_speed = 0; u8 link_status; - u32 et_speed = 0; + u16 link_speed = 0; int status; - if (adapter->phy.link_speed < 0 || !(netdev->flags & IFF_UP)) { - if (adapter->phy.forced_port_speed < 0) { - status = be_cmd_link_status_query(adapter, &port_speed, - &link_speed, &link_status, 0); - if (!status) - be_link_status_update(adapter, link_status); - if (link_speed) - et_speed = link_speed * 10; - else if (link_status) - et_speed = convert_to_et_speed(port_speed); - } else { - et_speed = adapter->phy.forced_port_speed; - } - - ethtool_cmd_speed_set(ecmd, et_speed); + if (adapter->phy.link_speed < 0) { + status = be_cmd_link_status_query(adapter, &link_speed, + &link_status, 0); + if (!status) + be_link_status_update(adapter, link_status); + ethtool_cmd_speed_set(ecmd, link_speed); status = be_cmd_get_phy_info(adapter); if (status) @@ -648,7 +615,7 @@ struct be_adapter *adapter = netdev_priv(netdev); int status; - if (ecmd->autoneg != 0) + if (ecmd->autoneg != adapter->phy.fc_autoneg) return -EINVAL; adapter->tx_fc = ecmd->tx_pause; adapter->rx_fc = ecmd->rx_pause; @@ -773,8 +740,8 @@ be_self_test(struct net_device *netdev, struct ethtool_test *test, u64 *data) { struct be_adapter *adapter = netdev_priv(netdev); - u8 mac_speed = 0; - u16 qos_link_speed = 0; + int status; + u8 link_status = 0; memset(data, 0, sizeof(u64) * ETHTOOL_TESTS_NUM); @@ -798,11 +765,11 @@ test->flags |= ETH_TEST_FL_FAILED; } - if (be_cmd_link_status_query(adapter, &mac_speed, - &qos_link_speed, NULL, 0) != 0) { + status = be_cmd_link_status_query(adapter, NULL, &link_status, 0); + if (status) { test->flags |= ETH_TEST_FL_FAILED; data[4] = -1; - } else if (!mac_speed) { + } else if (!link_status) { test->flags |= ETH_TEST_FL_FAILED; data[4] = 1; } @@ -910,8 +877,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_cmds.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/emulex/benet/be_cmds.c @@ -19,9 +19,6 @@ #include "be.h" #include "be_cmds.h" -/* Must be a power of 2 or else MODULO will BUG_ON */ -static int be_get_temp_freq = 64; - static inline void *embedded_payload(struct be_mcc_wrb *wrb) { return wrb->payload.embedded_payload; @@ -115,7 +112,7 @@ } } else { if (opcode == OPCODE_COMMON_GET_CNTL_ADDITIONAL_ATTRIBUTES) - be_get_temp_freq = 0; + adapter->be_get_temp_freq = 0; if (compl_status == MCC_STATUS_NOT_SUPPORTED || compl_status == MCC_STATUS_ILLEGAL_REQUEST) @@ -144,6 +141,11 @@ /* When link status changes, link speed must be re-queried from FW */ adapter->phy.link_speed = -1; + /* Ignore physical link event */ + if (lancer_chip(adapter) && + !(evt->port_link_status & LOGICAL_LINK_STATUS_MASK)) + return; + /* For the initial link status do not rely on the ASYNC event as * it may not be received in some cases. */ @@ -163,14 +165,13 @@ } } -/* Grp5 QOS Speed evt */ +/* Grp5 QOS Speed evt: qos_link_speed is in units of 10 Mbps */ static void be_async_grp5_qos_speed_process(struct be_adapter *adapter, struct be_async_event_grp5_qos_link_speed *evt) { - if (evt->physical_port == adapter->port_num) { - /* qos_link_speed is in units of 10 Mbps */ - adapter->phy.link_speed = evt->qos_link_speed * 10; - } + if (adapter->phy.link_speed >= 0 && + evt->physical_port == adapter->port_num) + adapter->phy.link_speed = le16_to_cpu(evt->qos_link_speed) * 10; } /*Grp5 PVID evt*/ @@ -257,7 +258,7 @@ int num = 0, status = 0; struct be_mcc_obj *mcc_obj = &adapter->mcc_obj; - spin_lock_bh(&adapter->mcc_cq_lock); + spin_lock(&adapter->mcc_cq_lock); while ((compl = be_mcc_compl_get(adapter))) { if (compl->flags & CQE_FLAGS_ASYNC_MASK) { /* Interpret flags as an async trailer */ @@ -278,7 +279,7 @@ if (num) be_cq_notify(adapter, mcc_obj->cq.id, mcc_obj->rearm_cq, num); - spin_unlock_bh(&adapter->mcc_cq_lock); + spin_unlock(&adapter->mcc_cq_lock); return status; } @@ -293,7 +294,9 @@ if (be_error(adapter)) return -EIO; + local_bh_disable(); status = be_process_mcc(adapter); + local_bh_enable(); if (atomic_read(&mcc_obj->q.used) == 0) break; @@ -352,7 +355,7 @@ if (msecs > 4000) { dev_err(&adapter->pdev->dev, "FW not responding\n"); adapter->fw_timeout = true; - be_detect_dump_ue(adapter); + be_detect_error(adapter); return -1; } @@ -429,12 +432,65 @@ return 0; } -int be_cmd_POST(struct be_adapter *adapter) +int lancer_wait_ready(struct be_adapter *adapter) +{ +#define SLIPORT_READY_TIMEOUT 30 + u32 sliport_status; + int status = 0, i; + + for (i = 0; i < SLIPORT_READY_TIMEOUT; i++) { + sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET); + if (sliport_status & SLIPORT_STATUS_RDY_MASK) + break; + + msleep(1000); + } + + if (i == SLIPORT_READY_TIMEOUT) + status = -1; + + return status; +} + +int lancer_test_and_set_rdy_state(struct be_adapter *adapter) +{ + int status; + u32 sliport_status, err, reset_needed; + status = lancer_wait_ready(adapter); + if (!status) { + sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET); + err = sliport_status & SLIPORT_STATUS_ERR_MASK; + reset_needed = sliport_status & SLIPORT_STATUS_RN_MASK; + if (err && reset_needed) { + iowrite32(SLI_PORT_CONTROL_IP_MASK, + adapter->db + SLIPORT_CONTROL_OFFSET); + + /* check adapter has corrected the error */ + status = lancer_wait_ready(adapter); + sliport_status = ioread32(adapter->db + + SLIPORT_STATUS_OFFSET); + sliport_status &= (SLIPORT_STATUS_ERR_MASK | + SLIPORT_STATUS_RN_MASK); + if (status || sliport_status) + status = -1; + } else if (err || reset_needed) { + status = -1; + } + } + return status; +} + +int be_fw_wait_ready(struct be_adapter *adapter) { u16 stage; int status, timeout = 0; struct device *dev = &adapter->pdev->dev; + if (lancer_chip(adapter)) { + status = lancer_wait_ready(adapter); + return status; + } + do { status = be_POST_stage_get(adapter, &stage); if (status) { @@ -565,6 +621,9 @@ u8 *wrb; int status; + if (lancer_chip(adapter)) + return 0; + if (mutex_lock_interruptible(&adapter->mbox_lock)) return -1; @@ -592,6 +651,9 @@ u8 *wrb; int status; + if (lancer_chip(adapter)) + return 0; + if (mutex_lock_interruptible(&adapter->mbox_lock)) return -1; @@ -610,6 +672,7 @@ mutex_unlock(&adapter->mbox_lock); return status; } + int be_cmd_eq_create(struct be_adapter *adapter, struct be_queue_info *eq, int eq_delay) { @@ -1132,7 +1195,7 @@ * Uses MCCQ */ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags, - u8 *mac, u32 *if_handle, u32 *pmac_id, u32 domain) + u32 *if_handle, u32 domain) { struct be_mcc_wrb *wrb; struct be_cmd_req_if_create *req; @@ -1152,17 +1215,13 @@ req->hdr.domain = domain; req->capability_flags = cpu_to_le32(cap_flags); req->enable_flags = cpu_to_le32(en_flags); - if (mac) - memcpy(req->mac_addr, mac, ETH_ALEN); - else - req->pmac_invalid = true; + + req->pmac_invalid = true; status = be_mcc_notify_wait(adapter); if (!status) { struct be_cmd_resp_if_create *resp = embedded_payload(wrb); *if_handle = le32_to_cpu(resp->interface_id); - if (mac) - *pmac_id = le32_to_cpu(resp->pmac_id); } err: @@ -1210,9 +1269,6 @@ struct be_cmd_req_hdr *hdr; int status = 0; - if (MODULO(adapter->work_counter, be_get_temp_freq) == 0) - be_cmd_get_die_temperature(adapter); - spin_lock_bh(&adapter->mcc_lock); wrb = wrb_from_mccq(adapter); @@ -1269,9 +1325,28 @@ return status; } -/* Uses synchronous mcc */ -int be_cmd_link_status_query(struct be_adapter *adapter, u8 *mac_speed, - u16 *link_speed, u8 *link_status, u32 dom) +static int be_mac_to_link_speed(int mac_speed) +{ + switch (mac_speed) { + case PHY_LINK_SPEED_ZERO: + return 0; + case PHY_LINK_SPEED_10MBPS: + return 10; + case PHY_LINK_SPEED_100MBPS: + return 100; + case PHY_LINK_SPEED_1GBPS: + return 1000; + case PHY_LINK_SPEED_10GBPS: + return 10000; + } + return 0; +} + +/* Uses synchronous mcc + * Returns link_speed in Mbps + */ +int be_cmd_link_status_query(struct be_adapter *adapter, u16 *link_speed, + u8 *link_status, u32 dom) { struct be_mcc_wrb *wrb; struct be_cmd_req_link_status *req; @@ -1300,11 +1375,13 @@ status = be_mcc_notify_wait(adapter); if (!status) { struct be_cmd_resp_link_status *resp = embedded_payload(wrb); - if (resp->mac_speed != PHY_LINK_SPEED_ZERO) { - if (link_speed) - *link_speed = le16_to_cpu(resp->link_speed); - if (mac_speed) - *mac_speed = resp->mac_speed; + if (link_speed) { + *link_speed = resp->link_speed ? + le16_to_cpu(resp->link_speed) * 10 : + be_mac_to_link_speed(resp->mac_speed); + + if (!resp->logical_link_status) + *link_speed = 0; } if (link_status) *link_status = resp->logical_link_status; @@ -1581,7 +1658,8 @@ /* Reset mcast promisc mode if already set by setting mask * and not setting flags field */ - req->if_flags_mask |= + if (!lancer_chip(adapter) || be_physfn(adapter)) + req->if_flags_mask |= cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); req->mcast_num = cpu_to_le32(netdev_mc_count(adapter->netdev)); @@ -1692,6 +1770,20 @@ struct be_cmd_req_hdr *req; int status; + if (lancer_chip(adapter)) { + status = lancer_wait_ready(adapter); + if (!status) { + iowrite32(SLI_PORT_CONTROL_IP_MASK, + adapter->db + SLIPORT_CONTROL_OFFSET); + status = lancer_test_and_set_rdy_state(adapter); + } + if (status) { + dev_err(&adapter->pdev->dev, + "Adapter in non recoverable error\n"); + } + return status; + } + if (mutex_lock_interruptible(&adapter->mbox_lock)) return -1; @@ -1728,6 +1820,13 @@ req->if_id = cpu_to_le32(adapter->if_handle); req->enable_rss = cpu_to_le16(RSS_ENABLE_TCP_IPV4 | RSS_ENABLE_IPV4 | RSS_ENABLE_TCP_IPV6 | RSS_ENABLE_IPV6); + + if (lancer_chip(adapter) || skyhawk_chip(adapter)) { + req->hdr.version = 1; + req->enable_rss |= cpu_to_le16(RSS_ENABLE_UDP_IPV4 | + RSS_ENABLE_UDP_IPV6); + } + req->cpu_table_size_log2 = cpu_to_le16(fls(table_size) - 1); memcpy(req->cpu_table, rsstable, table_size); memcpy(req->hash, myhash, sizeof(myhash)); @@ -1805,8 +1904,9 @@ } int lancer_cmd_write_object(struct be_adapter *adapter, struct be_dma_mem *cmd, - u32 data_size, u32 data_offset, const char *obj_name, - u32 *data_written, u8 *addn_status) + u32 data_size, u32 data_offset, + const char *obj_name, u32 *data_written, + u8 *change_status, u8 *addn_status) { struct be_mcc_wrb *wrb; struct lancer_cmd_req_write_object *req; @@ -1862,10 +1962,12 @@ status = adapter->flash_status; resp = embedded_payload(wrb); - if (!status) + if (!status) { *data_written = le32_to_cpu(resp->actual_write_len); - else + *change_status = resp->change_status; + } else { *addn_status = resp->additional_status; + } return status; @@ -2330,8 +2432,8 @@ } /* Uses synchronous MCCQ */ -int be_cmd_get_mac_from_list(struct be_adapter *adapter, u32 domain, - bool *pmac_id_active, u32 *pmac_id, u8 *mac) +int be_cmd_get_mac_from_list(struct be_adapter *adapter, u8 *mac, + bool *pmac_id_active, u32 *pmac_id, u8 domain) { struct be_mcc_wrb *wrb; struct be_cmd_req_get_mac_list *req; @@ -2376,8 +2478,9 @@ get_mac_list_cmd.va; mac_count = resp->true_mac_count + resp->pseudo_mac_count; /* Mac list returned could contain one or more active mac_ids - * or one or more pseudo permanant mac addresses. If an active - * mac_id is present, return first active mac_id found + * or one or more true or pseudo permanant mac addresses. + * If an active mac_id is present, return first active mac_id + * found. */ for (i = 0; i < mac_count; i++) { struct get_list_macaddr *mac_entry; @@ -2396,7 +2499,7 @@ goto out; } } - /* If no active mac_id found, return first pseudo mac addr */ + /* If no active mac_id found, return first mac addr */ *pmac_id_active = false; memcpy(mac, resp->macaddr_list[0].mac_addr_id.macaddr, ETH_ALEN); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_cmds.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/emulex/benet/be_cmds.h @@ -93,6 +93,7 @@ LINK_UP = 0x1 }; #define LINK_STATUS_MASK 0x1 +#define LOGICAL_LINK_STATUS_MASK 0x2 /* When the event code of an async trailer is link-state, the mcc_compl * must be interpreted as follows @@ -1088,6 +1089,8 @@ #define RSS_ENABLE_TCP_IPV4 0x2 #define RSS_ENABLE_IPV6 0x4 #define RSS_ENABLE_TCP_IPV6 0x8 +#define RSS_ENABLE_UDP_IPV4 0x10 +#define RSS_ENABLE_UDP_IPV6 0x20 struct be_cmd_req_rss_config { struct be_cmd_req_hdr hdr; @@ -1163,6 +1166,8 @@ u32 addr_high; }; +#define LANCER_NO_RESET_NEEDED 0x00 +#define LANCER_FW_RESET_NEEDED 0x02 struct lancer_cmd_resp_write_object { u8 opcode; u8 subsystem; @@ -1173,6 +1178,8 @@ u32 resp_len; u32 actual_resp_len; u32 actual_write_len; + u8 change_status; + u8 rsvd3[3]; }; /************************ Lancer Read FW info **************/ @@ -1656,7 +1663,7 @@ }; extern int be_pci_fnum_get(struct be_adapter *adapter); -extern int be_cmd_POST(struct be_adapter *adapter); +extern int be_fw_wait_ready(struct be_adapter *adapter); extern int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr, u8 type, bool permanent, u32 if_handle, u32 pmac_id); extern int be_cmd_pmac_add(struct be_adapter *adapter, u8 *mac_addr, @@ -1664,8 +1671,7 @@ extern int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, int pmac_id, u32 domain); extern int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, - u32 en_flags, u8 *mac, u32 *if_handle, u32 *pmac_id, - u32 domain); + u32 en_flags, u32 *if_handle, u32 domain); extern int be_cmd_if_destroy(struct be_adapter *adapter, int if_handle, u32 domain); extern int be_cmd_eq_create(struct be_adapter *adapter, @@ -1686,8 +1692,8 @@ int type); extern int be_cmd_rxq_destroy(struct be_adapter *adapter, struct be_queue_info *q); -extern int be_cmd_link_status_query(struct be_adapter *adapter, u8 *mac_speed, - u16 *link_speed, u8 *link_status, u32 dom); +extern int be_cmd_link_status_query(struct be_adapter *adapter, u16 *link_speed, + u8 *link_status, u32 dom); extern int be_cmd_reset(struct be_adapter *adapter); extern int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd); @@ -1719,10 +1725,11 @@ struct be_dma_mem *cmd, u32 flash_oper, u32 flash_opcode, u32 buf_size); extern int lancer_cmd_write_object(struct be_adapter *adapter, - struct be_dma_mem *cmd, - u32 data_size, u32 data_offset, - const char *obj_name, - u32 *data_written, u8 *addn_status); + struct be_dma_mem *cmd, + u32 data_size, u32 data_offset, + const char *obj_name, + u32 *data_written, u8 *change_status, + u8 *addn_status); int lancer_cmd_read_object(struct be_adapter *adapter, struct be_dma_mem *cmd, u32 data_size, u32 data_offset, const char *obj_name, u32 *data_read, u32 *eof, u8 *addn_status); @@ -1745,14 +1752,15 @@ u8 loopback_type, u8 enable); extern int be_cmd_get_phy_info(struct be_adapter *adapter); extern int be_cmd_set_qos(struct be_adapter *adapter, u32 bps, u32 domain); -extern void be_detect_dump_ue(struct be_adapter *adapter); +extern void be_detect_error(struct be_adapter *adapter); extern int be_cmd_get_die_temperature(struct be_adapter *adapter); extern int be_cmd_get_cntl_attributes(struct be_adapter *adapter); extern int be_cmd_req_native_mode(struct be_adapter *adapter); extern int be_cmd_get_reg_len(struct be_adapter *adapter, u32 *log_size); extern void be_cmd_get_regs(struct be_adapter *adapter, u32 buf_len, void *buf); -extern int be_cmd_get_mac_from_list(struct be_adapter *adapter, u32 domain, - bool *pmac_id_active, u32 *pmac_id, u8 *mac); +extern int be_cmd_get_mac_from_list(struct be_adapter *adapter, u8 *mac, + bool *pmac_id_active, u32 *pmac_id, + u8 domain); extern int be_cmd_set_mac_list(struct be_adapter *adapter, u8 *mac_array, u8 mac_count, u32 domain); extern int be_cmd_set_hsw_config(struct be_adapter *adapter, u16 pvid, @@ -1765,4 +1773,6 @@ extern int be_cmd_set_ext_fat_capabilites(struct be_adapter *adapter, struct be_dma_mem *cmd, struct be_fat_conf_params *cfgs); +extern int lancer_wait_ready(struct be_adapter *adapter); +extern int lancer_test_and_set_rdy_state(struct be_adapter *adapter); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/emulex/benet/be_main.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/emulex/benet/be_main.c @@ -155,7 +155,7 @@ { u32 reg, enabled; - if (adapter->eeh_err) + if (adapter->eeh_error) return; pci_read_config_dword(adapter->pdev, PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET, @@ -201,7 +201,7 @@ val |= ((qid & DB_EQ_RING_ID_EXT_MASK) << DB_EQ_RING_ID_EXT_MASK_SHIFT); - if (adapter->eeh_err) + if (adapter->eeh_error) return; if (arm) @@ -220,7 +220,7 @@ val |= ((qid & DB_CQ_RING_ID_EXT_MASK) << DB_CQ_RING_ID_EXT_MASK_SHIFT); - if (adapter->eeh_err) + if (adapter->eeh_error) return; if (arm) @@ -558,6 +558,7 @@ wrb->frag_pa_hi = upper_32_bits(addr); wrb->frag_pa_lo = addr & 0xFFFFFFFF; wrb->frag_len = len & ETH_WRB_FRAG_LEN_MASK; + wrb->rsvd0 = 0; } static inline u16 be_get_tx_vlan_tag(struct be_adapter *adapter, @@ -576,6 +577,11 @@ return vlan_tag; } +static int be_vlan_tag_chk(struct be_adapter *adapter, struct sk_buff *skb) +{ + return vlan_tx_tag_present(skb) || adapter->pvid; +} + static void wrb_fill_hdr(struct be_adapter *adapter, struct be_eth_hdr_wrb *hdr, struct sk_buff *skb, u32 wrb_cnt, u32 len) { @@ -703,33 +709,56 @@ return 0; } +static struct sk_buff *be_insert_vlan_in_pkt(struct be_adapter *adapter, + struct sk_buff *skb) +{ + u16 vlan_tag = 0; + + skb = skb_share_check(skb, GFP_ATOMIC); + if (unlikely(!skb)) + return skb; + + if (vlan_tx_tag_present(skb)) { + vlan_tag = be_get_tx_vlan_tag(adapter, skb); + __vlan_put_tag(skb, vlan_tag); + skb->vlan_tci = 0; + } + + return skb; +} + static netdev_tx_t be_xmit(struct sk_buff *skb, struct net_device *netdev) { struct be_adapter *adapter = netdev_priv(netdev); struct be_tx_obj *txo = &adapter->tx_obj[skb_get_queue_mapping(skb)]; struct be_queue_info *txq = &txo->q; + struct iphdr *ip = NULL; u32 wrb_cnt = 0, copied = 0; - u32 start = txq->head; + u32 start = txq->head, eth_hdr_len; bool dummy_wrb, stopped = false; - /* For vlan tagged pkts, BE - * 1) calculates checksum even when CSO is not requested - * 2) calculates checksum wrongly for padded pkt less than - * 60 bytes long. - * As a workaround disable TX vlan offloading in such cases. + eth_hdr_len = ntohs(skb->protocol) == ETH_P_8021Q ? + VLAN_ETH_HLEN : ETH_HLEN; + + /* HW has a bug which considers padding bytes as legal + * and modifies the IPv4 hdr's 'tot_len' field */ - if (unlikely(vlan_tx_tag_present(skb) && - (skb->ip_summed != CHECKSUM_PARTIAL || skb->len <= 60))) { - skb = skb_share_check(skb, GFP_ATOMIC); - if (unlikely(!skb)) - goto tx_drop; + if (skb->len <= 60 && be_vlan_tag_chk(adapter, skb) && + is_ipv4_pkt(skb)) { + ip = (struct iphdr *)ip_hdr(skb); + pskb_trim(skb, eth_hdr_len + ntohs(ip->tot_len)); + } - skb = __vlan_put_tag(skb, be_get_tx_vlan_tag(adapter, skb)); + /* HW has a bug wherein it will calculate CSUM for VLAN + * pkts even though it is disabled. + * Manually insert VLAN in pkt. + */ + if (skb->ip_summed != CHECKSUM_PARTIAL && + be_vlan_tag_chk(adapter, skb)) { + skb = be_insert_vlan_in_pkt(adapter, skb); if (unlikely(!skb)) goto tx_drop; - - skb->vlan_tci = 0; } wrb_cnt = wrb_cnt_for_skb(adapter, skb, &dummy_wrb); @@ -786,19 +815,12 @@ * A max of 64 (BE_NUM_VLANS_SUPPORTED) vlans can be configured in BE. * If the user configures more, place BE in vlan promiscuous mode. */ -static int be_vid_config(struct be_adapter *adapter, bool vf, u32 vf_num) +static int be_vid_config(struct be_adapter *adapter) { - struct be_vf_cfg *vf_cfg = &adapter->vf_cfg[vf_num]; - u16 vtag[BE_NUM_VLANS_SUPPORTED]; - u16 ntags = 0, i; + u16 vids[BE_NUM_VLANS_SUPPORTED]; + u16 num = 0, i; int status = 0; - if (vf) { - vtag[0] = cpu_to_le16(vf_cfg->vlan_tag); - status = be_cmd_vlan_config(adapter, vf_cfg->if_handle, vtag, - 1, 1, 0); - } - /* No need to further configure vids if in promiscuous mode */ if (adapter->promiscuous) return 0; @@ -809,10 +831,10 @@ /* Construct VLAN Table to give to HW */ for (i = 0; i < VLAN_N_VID; i++) if (adapter->vlan_tag[i]) - vtag[ntags++] = cpu_to_le16(i); + vids[num++] = cpu_to_le16(i); status = be_cmd_vlan_config(adapter, adapter->if_handle, - vtag, ntags, 1, 0); + vids, num, 1, 0); /* Set to VLAN promisc mode as setting VLAN filter failed */ if (status) { @@ -841,7 +863,7 @@ adapter->vlan_tag[vid] = 1; if (adapter->vlans_added <= (adapter->max_vlans + 1)) - status = be_vid_config(adapter, false, 0); + status = be_vid_config(adapter); if (!status) adapter->vlans_added++; @@ -863,7 +885,7 @@ adapter->vlan_tag[vid] = 0; if (adapter->vlans_added <= adapter->max_vlans) - status = be_vid_config(adapter, false, 0); + status = be_vid_config(adapter); if (!status) adapter->vlans_added--; @@ -890,7 +912,7 @@ be_cmd_rx_filter(adapter, IFF_PROMISC, OFF); if (adapter->vlans_added) - be_vid_config(adapter, false, 0); + be_vid_config(adapter); } /* Enable multicast promisc if num configured exceeds what we support */ @@ -1053,17 +1075,18 @@ static int be_find_vfs(struct be_adapter *adapter, int vf_state) { struct pci_dev *dev, *pdev = adapter->pdev; - int vfs = 0, assigned_vfs = 0, pos, vf_fn; + int vfs = 0, assigned_vfs = 0, pos; u16 offset, stride; pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_SRIOV); + if (!pos) + return 0; pci_read_config_word(pdev, pos + PCI_SRIOV_VF_OFFSET, &offset); pci_read_config_word(pdev, pos + PCI_SRIOV_VF_STRIDE, &stride); dev = pci_get_device(pdev->vendor, PCI_ANY_ID, NULL); while (dev) { - vf_fn = (pdev->devfn + offset + stride * vfs) & 0xFFFF; - if (dev->is_virtfn && dev->devfn == vf_fn) { + if (dev->is_virtfn && pci_physfn(dev) == pdev) { vfs++; if (dev->dev_flags & PCI_DEV_FLAGS_ASSIGNED) assigned_vfs++; @@ -1203,16 +1226,16 @@ /* Copy data in the first descriptor of this completion */ curr_frag_len = min(rxcp->pkt_size, rx_frag_size); - /* Copy the header portion into skb_data */ - hdr_len = min(BE_HDR_LEN, curr_frag_len); - memcpy(skb->data, start, hdr_len); skb->len = curr_frag_len; if (curr_frag_len <= BE_HDR_LEN) { /* tiny packet */ + memcpy(skb->data, start, curr_frag_len); /* Complete packet has now been moved to data */ put_page(page_info->page); skb->data_len = 0; skb->tail += curr_frag_len; } else { + hdr_len = ETH_HLEN; + memcpy(skb->data, start, hdr_len); skb_shinfo(skb)->nr_frags = 1; skb_frag_set_page(skb, 0, page_info->page); skb_shinfo(skb)->frags[0].page_offset = @@ -1372,7 +1395,7 @@ rxcp->pkt_type = AMAP_GET_BITS(struct amap_eth_rx_compl_v1, cast_enc, compl); rxcp->rss_hash = - AMAP_GET_BITS(struct amap_eth_rx_compl_v1, rsshash, rxcp); + AMAP_GET_BITS(struct amap_eth_rx_compl_v1, rsshash, compl); if (rxcp->vlanf) { rxcp->vtm = AMAP_GET_BITS(struct amap_eth_rx_compl_v1, vtm, compl); @@ -1404,7 +1427,7 @@ rxcp->pkt_type = AMAP_GET_BITS(struct amap_eth_rx_compl_v0, cast_enc, compl); rxcp->rss_hash = - AMAP_GET_BITS(struct amap_eth_rx_compl_v0, rsshash, rxcp); + AMAP_GET_BITS(struct amap_eth_rx_compl_v0, rsshash, compl); if (rxcp->vlanf) { rxcp->vtm = AMAP_GET_BITS(struct amap_eth_rx_compl_v0, vtm, compl); @@ -1709,9 +1732,10 @@ int i; for_all_evt_queues(adapter, eqo, i) { - be_eq_clean(eqo); - if (eqo->q.created) + if (eqo->q.created) { + be_eq_clean(eqo); be_cmd_q_destroy(adapter, &eqo->q, QTYPE_EQ); + } be_queue_free(adapter, &eqo->q); } } @@ -1898,6 +1922,12 @@ */ adapter->num_rx_qs = (num_irqs(adapter) > 1) ? num_irqs(adapter) + 1 : 1; + if (adapter->num_rx_qs != MAX_RX_QS) { + rtnl_lock(); + netif_set_real_num_rx_queues(adapter->netdev, + adapter->num_rx_qs); + rtnl_unlock(); + } adapter->big_page_size = (1 << get_order(rx_frag_size)) * PAGE_SIZE; for_all_rx_queues(adapter, rxo, i) { @@ -2067,13 +2097,13 @@ return max_work; } -void be_detect_dump_ue(struct be_adapter *adapter) +void be_detect_error(struct be_adapter *adapter) { u32 ue_lo = 0, ue_hi = 0, ue_lo_mask = 0, ue_hi_mask = 0; u32 sliport_status = 0, sliport_err1 = 0, sliport_err2 = 0; u32 i; - if (adapter->eeh_err || adapter->ue_detected) + if (be_crit_error(adapter)) return; if (lancer_chip(adapter)) { @@ -2094,16 +2124,27 @@ pci_read_config_dword(adapter->pdev, PCICFG_UE_STATUS_HI_MASK, &ue_hi_mask); - ue_lo = (ue_lo & (~ue_lo_mask)); - ue_hi = (ue_hi & (~ue_hi_mask)); + ue_lo = (ue_lo & ~ue_lo_mask); + ue_hi = (ue_hi & ~ue_hi_mask); } - if (ue_lo || ue_hi || - sliport_status & SLIPORT_STATUS_ERR_MASK) { - adapter->ue_detected = true; - adapter->eeh_err = true; + /* On certain platforms BE hardware can indicate spurious UEs. + * Allow the h/w to stop working completely in case of a real UE. + * Hence not setting the hw_error for UE detection. + */ + if (sliport_status & SLIPORT_STATUS_ERR_MASK) { + adapter->hw_error = true; dev_err(&adapter->pdev->dev, - "Unrecoverable error in the card\n"); + "Error detected in the card\n"); + } + + if (sliport_status & SLIPORT_STATUS_ERR_MASK) { + dev_err(&adapter->pdev->dev, + "ERR: sliport status 0x%x\n", sliport_status); + dev_err(&adapter->pdev->dev, + "ERR: sliport error1 0x%x\n", sliport_err1); + dev_err(&adapter->pdev->dev, + "ERR: sliport error2 0x%x\n", sliport_err2); } if (ue_lo) { @@ -2113,6 +2154,7 @@ "UE: %s bit set\n", ue_status_low_desc[i]); } } + if (ue_hi) { for (i = 0; ue_hi; ue_hi >>= 1, i++) { if (ue_hi & 1) @@ -2121,14 +2163,6 @@ } } - if (sliport_status & SLIPORT_STATUS_ERR_MASK) { - dev_err(&adapter->pdev->dev, - "sliport status 0x%x\n", sliport_status); - dev_err(&adapter->pdev->dev, - "sliport error1 0x%x\n", sliport_err1); - dev_err(&adapter->pdev->dev, - "sliport error2 0x%x\n", sliport_err2); - } } static void be_msix_disable(struct be_adapter *adapter) @@ -2142,8 +2176,7 @@ static uint be_num_rss_want(struct be_adapter *adapter) { if ((adapter->function_caps & BE_FUNCTION_CAPS_RSS) && - !sriov_want(adapter) && be_physfn(adapter) && - !be_is_mc(adapter)) + !sriov_want(adapter) && be_physfn(adapter)) return (adapter->be3_native) ? BE3_MAX_RSS_QS : BE2_MAX_RSS_QS; else return 0; @@ -2406,8 +2439,7 @@ be_eq_notify(adapter, eqo->q.id, true, false, 0); } - status = be_cmd_link_status_query(adapter, NULL, NULL, - &link_status, 0); + status = be_cmd_link_status_query(adapter, NULL, &link_status, 0); if (!status) be_link_status_update(adapter, link_status); @@ -2540,11 +2572,7 @@ be_tx_queues_destroy(adapter); be_evt_queues_destroy(adapter); - /* tell fw we're done with firing cmds */ - be_cmd_fw_clean(adapter); - be_msix_disable(adapter); - pci_write_config_dword(adapter->pdev, PCICFG_CUST_SCRATCHPAD_CSR, 0); return 0; } @@ -2602,8 +2630,8 @@ cap_flags = en_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST | BE_IF_FLAGS_MULTICAST; for_all_vfs(adapter, vf_cfg, vf) { - status = be_cmd_if_create(adapter, cap_flags, en_flags, NULL, - &vf_cfg->if_handle, NULL, vf + 1); + status = be_cmd_if_create(adapter, cap_flags, en_flags, + &vf_cfg->if_handle, vf + 1); if (status) goto err; } @@ -2615,8 +2643,8 @@ } for_all_vfs(adapter, vf_cfg, vf) { - status = be_cmd_link_status_query(adapter, NULL, &lnk_speed, - NULL, vf + 1); + lnk_speed = 1000; + status = be_cmd_set_qos(adapter, lnk_speed, vf + 1); if (status) goto err; vf_cfg->tx_rate = lnk_speed * 10; @@ -2640,32 +2668,45 @@ adapter->be3_native = false; adapter->promiscuous = false; adapter->eq_next_idx = 0; - adapter->phy.forced_port_speed = -1; } -static int be_add_mac_from_list(struct be_adapter *adapter, u8 *mac) +static int be_get_mac_addr(struct be_adapter *adapter, u8 *mac, u32 if_handle, + bool *active_mac, u32 *pmac_id) { - u32 pmac_id; - int status; - bool pmac_id_active; + int status = 0; - status = be_cmd_get_mac_from_list(adapter, 0, &pmac_id_active, - &pmac_id, mac); - if (status != 0) - goto do_none; + if (!is_zero_ether_addr(adapter->netdev->perm_addr)) { + memcpy(mac, adapter->netdev->dev_addr, ETH_ALEN); + if (!lancer_chip(adapter) && !be_physfn(adapter)) + *active_mac = true; + else + *active_mac = false; - if (pmac_id_active) { - status = be_cmd_mac_addr_query(adapter, mac, - MAC_ADDRESS_TYPE_NETWORK, - false, adapter->if_handle, pmac_id); + return status; + } - if (!status) - adapter->pmac_id[0] = pmac_id; + if (lancer_chip(adapter)) { + status = be_cmd_get_mac_from_list(adapter, mac, + active_mac, pmac_id, 0); + if (*active_mac) { + status = be_cmd_mac_addr_query(adapter, mac, + MAC_ADDRESS_TYPE_NETWORK, + false, if_handle, + *pmac_id); + } + } else if (be_physfn(adapter)) { + /* For BE3, for PF get permanent MAC */ + status = be_cmd_mac_addr_query(adapter, mac, + MAC_ADDRESS_TYPE_NETWORK, true, + 0, 0); + *active_mac = false; } else { - status = be_cmd_pmac_add(adapter, mac, - adapter->if_handle, &adapter->pmac_id[0], 0); + /* For BE3, for VF get soft MAC assigned by PF*/ + status = be_cmd_mac_addr_query(adapter, mac, + MAC_ADDRESS_TYPE_NETWORK, false, + if_handle, 0); + *active_mac = true; } -do_none: return status; } @@ -2679,6 +2720,8 @@ if (pos) { pci_read_config_word(adapter->pdev, pos + PCI_SRIOV_TOTAL_VF, &dev_num_vfs); + if (!lancer_chip(adapter)) + dev_num_vfs = min_t(u16, dev_num_vfs, MAX_VFS); adapter->dev_num_vfs = dev_num_vfs; } return 0; @@ -2686,12 +2729,12 @@ static int be_setup(struct be_adapter *adapter) { - struct net_device *netdev = adapter->netdev; struct device *dev = &adapter->pdev->dev; u32 cap_flags, en_flags; u32 tx_fc, rx_fc; int status; u8 mac[ETH_ALEN]; + bool active_mac; be_setup_init(adapter); @@ -2717,14 +2760,6 @@ if (status) goto err; - memset(mac, 0, ETH_ALEN); - status = be_cmd_mac_addr_query(adapter, mac, MAC_ADDRESS_TYPE_NETWORK, - true /*permanent */, 0, 0); - if (status) - return status; - memcpy(adapter->netdev->dev_addr, mac, ETH_ALEN); - memcpy(adapter->netdev->perm_addr, mac, ETH_ALEN); - en_flags = BE_IF_FLAGS_UNTAGGED | BE_IF_FLAGS_BROADCAST | BE_IF_FLAGS_MULTICAST | BE_IF_FLAGS_PASS_L3L4_ERRORS; cap_flags = en_flags | BE_IF_FLAGS_MCAST_PROMISCUOUS | @@ -2734,27 +2769,36 @@ cap_flags |= BE_IF_FLAGS_RSS; en_flags |= BE_IF_FLAGS_RSS; } + + if (lancer_chip(adapter) && !be_physfn(adapter)) { + en_flags = BE_IF_FLAGS_UNTAGGED | + BE_IF_FLAGS_BROADCAST | + BE_IF_FLAGS_MULTICAST; + cap_flags = en_flags; + } + status = be_cmd_if_create(adapter, cap_flags, en_flags, - netdev->dev_addr, &adapter->if_handle, - &adapter->pmac_id[0], 0); + &adapter->if_handle, 0); if (status != 0) goto err; - /* The VF's permanent mac queried from card is incorrect. - * For BEx: Query the mac configued by the PF using if_handle - * For Lancer: Get and use mac_list to obtain mac address. - */ - if (!be_physfn(adapter)) { - if (lancer_chip(adapter)) - status = be_add_mac_from_list(adapter, mac); - else - status = be_cmd_mac_addr_query(adapter, mac, - MAC_ADDRESS_TYPE_NETWORK, false, - adapter->if_handle, 0); - if (!status) { - memcpy(adapter->netdev->dev_addr, mac, ETH_ALEN); - memcpy(adapter->netdev->perm_addr, mac, ETH_ALEN); - } + memset(mac, 0, ETH_ALEN); + active_mac = false; + status = be_get_mac_addr(adapter, mac, adapter->if_handle, + &active_mac, &adapter->pmac_id[0]); + if (status != 0) + goto err; + + if (!active_mac) { + status = be_cmd_pmac_add(adapter, mac, adapter->if_handle, + &adapter->pmac_id[0], 0); + if (status != 0) + goto err; + } + + if (is_zero_ether_addr(adapter->netdev->dev_addr)) { + memcpy(adapter->netdev->dev_addr, mac, ETH_ALEN); + memcpy(adapter->netdev->perm_addr, mac, ETH_ALEN); } status = be_tx_qs_create(adapter); @@ -2763,7 +2807,8 @@ be_cmd_get_fw_ver(adapter, adapter->fw_ver, NULL); - be_vid_config(adapter, false, 0); + if (adapter->vlans_added) + be_vid_config(adapter); be_set_rx_mode(adapter->netdev); @@ -2773,8 +2818,6 @@ be_cmd_set_flow_control(adapter, adapter->tx_fc, adapter->rx_fc); - pcie_set_readrq(adapter->pdev, 4096); - if (be_physfn(adapter) && num_vfs) { if (adapter->dev_num_vfs) be_vf_setup(adapter); @@ -2788,8 +2831,6 @@ schedule_delayed_work(&adapter->work, msecs_to_jiffies(1000)); adapter->flags |= BE_FLAGS_WORKER_SCHEDULED; - - pci_write_config_dword(adapter->pdev, PCICFG_CUST_SCRATCHPAD_CSR, 1); return 0; err: be_clear(adapter); @@ -3033,6 +3074,40 @@ return 0; } +static int lancer_wait_idle(struct be_adapter *adapter) +{ +#define SLIPORT_IDLE_TIMEOUT 30 + u32 reg_val; + int status = 0, i; + + for (i = 0; i < SLIPORT_IDLE_TIMEOUT; i++) { + reg_val = ioread32(adapter->db + PHYSDEV_CONTROL_OFFSET); + if ((reg_val & PHYSDEV_CONTROL_INP_MASK) == 0) + break; + + ssleep(1); + } + + if (i == SLIPORT_IDLE_TIMEOUT) + status = -1; + + return status; +} + +static int lancer_fw_reset(struct be_adapter *adapter) +{ + int status = 0; + + status = lancer_wait_idle(adapter); + if (status) + return status; + + iowrite32(PHYSDEV_CONTROL_FW_RESET_MASK, adapter->db + + PHYSDEV_CONTROL_OFFSET); + + return status; +} + static int lancer_fw_download(struct be_adapter *adapter, const struct firmware *fw) { @@ -3047,6 +3122,7 @@ u32 offset = 0; int status = 0; u8 add_status = 0; + u8 change_status; if (!IS_ALIGNED(fw->size, sizeof(u32))) { dev_err(&adapter->pdev->dev, @@ -3079,9 +3155,10 @@ memcpy(dest_image_ptr, data_ptr, chunk_size); status = lancer_cmd_write_object(adapter, &flash_cmd, - chunk_size, offset, LANCER_FW_DOWNLOAD_LOCATION, - &data_written, &add_status); - + chunk_size, offset, + LANCER_FW_DOWNLOAD_LOCATION, + &data_written, &change_status, + &add_status); if (status) break; @@ -3093,8 +3170,10 @@ if (!status) { /* Commit the FW written */ status = lancer_cmd_write_object(adapter, &flash_cmd, - 0, offset, LANCER_FW_DOWNLOAD_LOCATION, - &data_written, &add_status); + 0, offset, + LANCER_FW_DOWNLOAD_LOCATION, + &data_written, &change_status, + &add_status); } dma_free_coherent(&adapter->pdev->dev, flash_cmd.size, flash_cmd.va, @@ -3107,6 +3186,20 @@ goto lancer_fw_exit; } + if (change_status == LANCER_FW_RESET_NEEDED) { + status = lancer_fw_reset(adapter); + if (status) { + dev_err(&adapter->pdev->dev, + "Adapter busy for FW reset.\n" + "New FW will not be active.\n"); + goto lancer_fw_exit; + } + } else if (change_status != LANCER_NO_RESET_NEEDED) { + dev_err(&adapter->pdev->dev, + "System reboot required for new FW" + " to be active\n"); + } + dev_info(&adapter->pdev->dev, "Firmware flashed successfully\n"); lancer_fw_exit: return status; @@ -3342,6 +3435,7 @@ if (mem->va) dma_free_coherent(&adapter->pdev->dev, mem->size, mem->va, mem->dma); + kfree(adapter->pmac_id); } static int be_ctrl_init(struct be_adapter *adapter) @@ -3378,6 +3472,12 @@ } memset(rx_filter->va, 0, rx_filter->size); + /* primary mac needs 1 pmac entry */ + adapter->pmac_id = kcalloc(adapter->max_pmac_cnt + 1, + sizeof(*adapter->pmac_id), GFP_KERNEL); + if (!adapter->pmac_id) + return -ENOMEM; + mutex_init(&adapter->mbox_lock); spin_lock_init(&adapter->mcc_lock); spin_lock_init(&adapter->mcc_cq_lock); @@ -3435,10 +3535,15 @@ be_roce_dev_remove(adapter); + cancel_delayed_work_sync(&adapter->func_recovery_work); + unregister_netdev(adapter->netdev); be_clear(adapter); + /* tell fw we're done with firing cmds */ + be_cmd_fw_clean(adapter); + be_stats_cleanup(adapter); be_ctrl_cleanup(adapter); @@ -3479,7 +3584,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; } @@ -3509,12 +3614,6 @@ else adapter->max_pmac_cnt = BE_VF_UC_PMAC_COUNT; - /* primary mac needs 1 pmac entry */ - adapter->pmac_id = kcalloc(adapter->max_pmac_cnt + 1, - sizeof(u32), GFP_KERNEL); - if (!adapter->pmac_id) - return -ENOMEM; - status = be_cmd_get_cntl_attributes(adapter); if (status) return status; @@ -3530,6 +3629,9 @@ if (be_is_wol_supported(adapter)) adapter->wol = true; + /* Must be a power of 2 or else MODULO will BUG_ON */ + adapter->be_get_temp_freq = 64; + level = be_get_fw_log_level(adapter); adapter->msg_enable = level <= FW_LOG_LEVEL_DEFAULT ? NETIF_MSG_HW : 0; @@ -3585,101 +3687,68 @@ return 0; } -static int lancer_wait_ready(struct be_adapter *adapter) +static int lancer_recover_func(struct be_adapter *adapter) { -#define SLIPORT_READY_TIMEOUT 30 - u32 sliport_status; - int status = 0, i; + int status; - for (i = 0; i < SLIPORT_READY_TIMEOUT; i++) { - sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET); - if (sliport_status & SLIPORT_STATUS_RDY_MASK) - break; + status = lancer_test_and_set_rdy_state(adapter); + if (status) + goto err; - msleep(1000); - } + if (netif_running(adapter->netdev)) + be_close(adapter->netdev); - if (i == SLIPORT_READY_TIMEOUT) - status = -1; + be_clear(adapter); - return status; -} + adapter->hw_error = false; + adapter->fw_timeout = false; -static int lancer_test_and_set_rdy_state(struct be_adapter *adapter) -{ - int status; - u32 sliport_status, err, reset_needed; - status = lancer_wait_ready(adapter); - if (!status) { - sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET); - err = sliport_status & SLIPORT_STATUS_ERR_MASK; - reset_needed = sliport_status & SLIPORT_STATUS_RN_MASK; - if (err && reset_needed) { - iowrite32(SLI_PORT_CONTROL_IP_MASK, - adapter->db + SLIPORT_CONTROL_OFFSET); + status = be_setup(adapter); + if (status) + goto err; - /* check adapter has corrected the error */ - status = lancer_wait_ready(adapter); - sliport_status = ioread32(adapter->db + - SLIPORT_STATUS_OFFSET); - sliport_status &= (SLIPORT_STATUS_ERR_MASK | - SLIPORT_STATUS_RN_MASK); - if (status || sliport_status) - status = -1; - } else if (err || reset_needed) { - status = -1; - } + if (netif_running(adapter->netdev)) { + status = be_open(adapter->netdev); + if (status) + goto err; } + + dev_err(&adapter->pdev->dev, + "Adapter SLIPORT recovery succeeded\n"); + return 0; +err: + dev_err(&adapter->pdev->dev, + "Adapter SLIPORT recovery failed\n"); + return status; } -static void lancer_test_and_recover_fn_err(struct be_adapter *adapter) +static void be_func_recovery_task(struct work_struct *work) { + struct be_adapter *adapter = + container_of(work, struct be_adapter, func_recovery_work.work); int status; - u32 sliport_status; - if (adapter->eeh_err || adapter->ue_detected) - return; + be_detect_error(adapter); - sliport_status = ioread32(adapter->db + SLIPORT_STATUS_OFFSET); + if (adapter->hw_error && lancer_chip(adapter)) { - if (sliport_status & SLIPORT_STATUS_ERR_MASK) { - dev_err(&adapter->pdev->dev, - "Adapter in error state." - "Trying to recover.\n"); - - status = lancer_test_and_set_rdy_state(adapter); - if (status) - goto err; + if (adapter->eeh_error) + goto out; + rtnl_lock(); netif_device_detach(adapter->netdev); + rtnl_unlock(); - if (netif_running(adapter->netdev)) - be_close(adapter->netdev); - - be_clear(adapter); - - adapter->fw_timeout = false; - - status = be_setup(adapter); - if (status) - goto err; - - if (netif_running(adapter->netdev)) { - status = be_open(adapter->netdev); - if (status) - goto err; - } - - netif_device_attach(adapter->netdev); + status = lancer_recover_func(adapter); - dev_err(&adapter->pdev->dev, - "Adapter error recovery succeeded\n"); + if (!status) + netif_device_attach(adapter->netdev); } - return; -err: - dev_err(&adapter->pdev->dev, - "Adapter error recovery failed\n"); + +out: + schedule_delayed_work(&adapter->func_recovery_work, + msecs_to_jiffies(1000)); } static void be_worker(struct work_struct *work) @@ -3690,15 +3759,12 @@ struct be_eq_obj *eqo; int i; - if (lancer_chip(adapter)) - lancer_test_and_recover_fn_err(adapter); - - be_detect_dump_ue(adapter); - /* when interrupts are not yet enabled, just reap any pending * mcc completions */ if (!netif_running(adapter->netdev)) { + local_bh_disable(); be_process_mcc(adapter); + local_bh_enable(); goto reschedule; } @@ -3710,6 +3776,9 @@ be_cmd_get_stats(adapter, &adapter->stats_cmd); } + if (MODULO(adapter->work_counter, adapter->be_get_temp_freq) == 0) + be_cmd_get_die_temperature(adapter); + for_all_rx_queues(adapter, rxo, i) { if (rxo->rx_post_starved) { rxo->rx_post_starved = false; @@ -3727,10 +3796,7 @@ static bool be_reset_required(struct be_adapter *adapter) { - u32 reg; - - pci_read_config_dword(adapter->pdev, PCICFG_CUST_SCRATCHPAD_CSR, ®); - return reg; + return be_find_vfs(adapter, ENABLED) > 0 ? false : true; } static int __devinit be_probe(struct pci_dev *pdev, @@ -3749,7 +3815,7 @@ goto disable_dev; pci_set_master(pdev); - netdev = alloc_etherdev_mq(sizeof(struct be_adapter), MAX_TX_QS); + netdev = alloc_etherdev_mqs(sizeof(*adapter), MAX_TX_QS, MAX_RX_QS); if (netdev == NULL) { status = -ENOMEM; goto rel_reg; @@ -3780,22 +3846,9 @@ if (status) goto free_netdev; - if (lancer_chip(adapter)) { - status = lancer_wait_ready(adapter); - if (!status) { - iowrite32(SLI_PORT_CONTROL_IP_MASK, - adapter->db + SLIPORT_CONTROL_OFFSET); - status = lancer_test_and_set_rdy_state(adapter); - } - if (status) { - dev_err(&pdev->dev, "Adapter in non recoverable error\n"); - goto ctrl_clean; - } - } - /* sync up with fw's ready state */ if (be_physfn(adapter)) { - status = be_cmd_POST(adapter); + status = be_fw_wait_ready(adapter); if (status) goto ctrl_clean; } @@ -3826,11 +3879,12 @@ goto stats_clean; INIT_DELAYED_WORK(&adapter->work, be_worker); + INIT_DELAYED_WORK(&adapter->func_recovery_work, be_func_recovery_task); adapter->rx_fc = adapter->tx_fc = true; status = be_setup(adapter); if (status) - goto msix_disable; + goto stats_clean; be_netdev_init(netdev); status = register_netdev(netdev); @@ -3839,6 +3893,8 @@ be_roce_dev_add(adapter); + schedule_delayed_work(&adapter->func_recovery_work, + msecs_to_jiffies(1000)); dev_info(&pdev->dev, "%s: %s port %d\n", netdev->name, nic_name(pdev), adapter->port_num); @@ -3846,8 +3902,6 @@ unsetup: be_clear(adapter); -msix_disable: - be_msix_disable(adapter); stats_clean: be_stats_cleanup(adapter); ctrl_clean: @@ -3872,6 +3926,8 @@ if (adapter->wol) be_setup_wol(adapter, true); + cancel_delayed_work_sync(&adapter->func_recovery_work); + netif_device_detach(netdev); if (netif_running(netdev)) { rtnl_lock(); @@ -3912,6 +3968,9 @@ be_open(netdev); rtnl_unlock(); } + + schedule_delayed_work(&adapter->func_recovery_work, + msecs_to_jiffies(1000)); netif_device_attach(netdev); if (adapter->wol) @@ -3931,6 +3990,7 @@ return; cancel_delayed_work_sync(&adapter->work); + cancel_delayed_work_sync(&adapter->func_recovery_work); netif_device_detach(adapter->netdev); @@ -3950,9 +4010,13 @@ dev_err(&adapter->pdev->dev, "EEH error detected\n"); - adapter->eeh_err = true; + adapter->eeh_error = true; + cancel_delayed_work_sync(&adapter->func_recovery_work); + + rtnl_lock(); netif_device_detach(netdev); + rtnl_unlock(); if (netif_running(netdev)) { rtnl_lock(); @@ -3980,9 +4044,7 @@ int status; dev_info(&adapter->pdev->dev, "EEH reset\n"); - adapter->eeh_err = false; - adapter->ue_detected = false; - adapter->fw_timeout = false; + be_clear_all_error(adapter); status = pci_enable_device(pdev); if (status) @@ -3993,7 +4055,7 @@ pci_restore_state(pdev); /* Check if card is ok and fw is ready */ - status = be_cmd_POST(adapter); + status = be_fw_wait_ready(adapter); if (status) return PCI_ERS_RESULT_DISCONNECT; @@ -4015,6 +4077,10 @@ if (status) goto err; + status = be_cmd_reset_function(adapter); + if (status) + goto err; + status = be_setup(adapter); if (status) goto err; @@ -4024,6 +4090,9 @@ if (status) goto err; } + + schedule_delayed_work(&adapter->func_recovery_work, + msecs_to_jiffies(1000)); netif_device_attach(netdev); return; err: --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/marvell/sky2.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/marvell/sky2.h @@ -2069,7 +2069,7 @@ GM_IS_RX_FF_OR = 1<<1, /* Receive FIFO Overrun */ GM_IS_RX_COMPL = 1<<0, /* Frame Reception Complete */ -#define GMAC_DEF_MSK GM_IS_TX_FF_UR +#define GMAC_DEF_MSK (GM_IS_TX_FF_UR | GM_IS_RX_FF_OR) }; /* GMAC_LINK_CTRL 16 bit GMAC Link Control Reg (YUKON only) */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/marvell/sky2.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/marvell/sky2.c @@ -1066,7 +1066,7 @@ sky2_write32(hw, RB_ADDR(q, RB_RX_UTHP), tp); sky2_write32(hw, RB_ADDR(q, RB_RX_LTHP), space/2); - tp = space - 2048/8; + tp = space - 8192/8; sky2_write32(hw, RB_ADDR(q, RB_RX_UTPP), tp); sky2_write32(hw, RB_ADDR(q, RB_RX_LTPP), space/4); } else { @@ -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-lts-quantal-3.5.0.orig/drivers/net/ethernet/marvell/skge.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/marvell/mv643xx_eth.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c @@ -144,7 +144,7 @@ buffrag->length, PCI_DMA_TODEVICE); buffrag->dma = 0ULL; } - for (j = 0; j < cmd_buf->frag_count; j++) { + for (j = 1; j < cmd_buf->frag_count; j++) { buffrag++; if (buffrag->dma) { pci_unmap_page(adapter->pdev, buffrag->dma, --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +++ linux-lts-quantal-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; @@ -1959,10 +1963,12 @@ while (--i >= 0) { nf = &pbuf->frag_array[i+1]; pci_unmap_page(pdev, nf->dma, nf->length, PCI_DMA_TODEVICE); + nf->dma = 0ULL; } nf = &pbuf->frag_array[0]; pci_unmap_single(pdev, nf->dma, skb_headlen(skb), PCI_DMA_TODEVICE); + nf->dma = 0ULL; out_err: return -ENOMEM; --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/freescale/gianfar_ptp.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/freescale/gianfar_ptp.c @@ -127,7 +127,6 @@ #define DRIVER "gianfar_ptp" #define DEFAULT_CKSEL 1 -#define N_ALARM 1 /* first alarm is used internally to reset fipers */ #define N_EXT_TS 2 #define REG_SIZE sizeof(struct gianfar_ptp_registers) @@ -410,7 +409,7 @@ .owner = THIS_MODULE, .name = "gianfar clock", .max_adj = 512000, - .n_alarm = N_ALARM, + .n_alarm = 0, .n_ext_ts = N_EXT_TS, .n_per_out = 0, .pps = 1, @@ -515,13 +514,14 @@ 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); return 0; no_clock: + iounmap(etsects->regs); no_ioremap: release_resource(etsects->rsrc); no_resource: @@ -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-lts-quantal-3.5.0.orig/drivers/net/ethernet/freescale/ucc_geth.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/freescale/gianfar.h +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/freescale/gianfar.h @@ -301,8 +301,16 @@ #define TCTRL_TFCPAUSE 0x00000008 #define TCTRL_TXSCHED_MASK 0x00000006 #define TCTRL_TXSCHED_INIT 0x00000000 +/* priority scheduling */ #define TCTRL_TXSCHED_PRIO 0x00000002 +/* weighted round-robin scheduling (WRRS) */ #define TCTRL_TXSCHED_WRRS 0x00000004 +/* default WRRS weight and policy setting, + * tailored to the tr03wt and tr47wt registers: + * equal weight for all Tx Qs, measured in 64byte units + */ +#define DEFAULT_WRRS_WEIGHT 0x18181818 + #define TCTRL_INIT_CSUM (TCTRL_TUCSEN | TCTRL_IPCSEN) #define IEVENT_INIT_CLEAR 0xffffffff @@ -1072,8 +1080,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; @@ -1098,7 +1104,8 @@ extended_hash:1, bd_stash_en:1, rx_filer_enable:1, - wol_en:1; /* Wake-on-LAN enabled */ + wol_en:1, /* Wake-on-LAN enabled */ + prio_sched_en:1; /* Enable priorty based Tx scheduling in Hw */ unsigned short padding; /* PHY stuff */ --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/freescale/gianfar.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/freescale/gianfar.c @@ -394,7 +394,13 @@ if (ndev->features & NETIF_F_IP_CSUM) tctrl |= TCTRL_INIT_CSUM; - tctrl |= TCTRL_TXSCHED_PRIO; + if (priv->prio_sched_en) + tctrl |= TCTRL_TXSCHED_PRIO; + else { + tctrl |= TCTRL_TXSCHED_WRRS; + gfar_write(®s->tr03wt, DEFAULT_WRRS_WEIGHT); + gfar_write(®s->tr47wt, DEFAULT_WRRS_WEIGHT); + } gfar_write(®s->tctrl, tctrl); @@ -1037,7 +1043,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) { @@ -1153,6 +1159,9 @@ priv->rx_filer_enable = 1; /* Enable most messages by default */ priv->msg_enable = (NETIF_MSG_IFUP << 1 ) - 1; + /* use pritority h/w tx queue scheduling for single queue devices */ + if (priv->num_tx_queues == 1) + priv->prio_sched_en = 1; /* Carrier starts down, phylib will bring it up */ netif_carrier_off(dev); @@ -1746,7 +1755,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 +1929,6 @@ enable_napi(priv); - skb_queue_head_init(&priv->rx_recycle); - /* Initialize a bunch of registers */ init_registers(dev); @@ -2513,17 +2519,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 +2586,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 +2599,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 +2757,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-lts-quantal-3.5.0.orig/drivers/net/ethernet/freescale/gianfar_ethtool.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/freescale/ucc_geth.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/tile/tilegx.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/tile/tilegx.c @@ -927,7 +927,7 @@ if (info->has_iqueue) { gxio_mpipe_request_notif_ring_interrupt( &context, cpu_x(cpu), cpu_y(cpu), - 1, ingress_irq, info->iqueue.ring); + KERNEL_PL, ingress_irq, info->iqueue.ring); } } --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/ti/cpsw.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/ti/cpsw.c @@ -249,7 +249,7 @@ struct cpsw_priv *priv = netdev_priv(ndev); if (unlikely(netif_queue_stopped(ndev))) - netif_start_queue(ndev); + netif_wake_queue(ndev); priv->stats.tx_packets++; priv->stats.tx_bytes += len; dev_kfree_skb_any(skb); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/ti/davinci_cpdma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/ethernet/ti/davinci_emac.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/ti/davinci_emac.c @@ -1053,7 +1053,7 @@ atomic_dec(&priv->cur_tx); if (unlikely(netif_queue_stopped(ndev))) - netif_start_queue(ndev); + netif_wake_queue(ndev); ndev->stats.tx_packets++; ndev->stats.tx_bytes += len; dev_kfree_skb_any(skb); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/xilinx/ll_temac_main.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/xilinx/ll_temac_main.c @@ -308,6 +308,12 @@ lp->rx_bd_p + (sizeof(*lp->rx_bd_v) * (RX_BD_NUM - 1))); lp->dma_out(lp, TX_CURDESC_PTR, lp->tx_bd_p); + /* Init descriptor indexes */ + lp->tx_bd_ci = 0; + lp->tx_bd_next = 0; + lp->tx_bd_tail = 0; + lp->rx_bd_ci = 0; + return 0; out: --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/micrel/ks8851.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/micrel/ks8851.c @@ -547,7 +547,7 @@ for (; rxfc != 0; rxfc--) { rxh = ks8851_rdreg32(ks, KS_RXFHSR); rxstat = rxh & 0xffff; - rxlen = rxh >> 16; + rxlen = (rxh >> 16) & 0xfff; netif_dbg(ks, rx_status, ks->netdev, "rx: stat 0x%04x, len 0x%04x\n", rxstat, rxlen); --- linux-lts-quantal-3.5.0.orig/drivers/net/ethernet/sun/sunvnet.c +++ linux-lts-quantal-3.5.0/drivers/net/ethernet/sun/sunvnet.c @@ -1243,6 +1243,8 @@ dev_set_drvdata(&vdev->dev, NULL); kfree(port); + + unregister_netdev(vp->dev); } return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/net/arcnet/arcnet.c +++ linux-lts-quantal-3.5.0/drivers/net/arcnet/arcnet.c @@ -1007,7 +1007,7 @@ soft = &pkt.soft.rfc1201; - lp->hw.copy_from_card(dev, bufnum, 0, &pkt, sizeof(ARC_HDR_SIZE)); + lp->hw.copy_from_card(dev, bufnum, 0, &pkt, ARC_HDR_SIZE); if (pkt.hard.offset[0]) { ofs = pkt.hard.offset[0]; length = 256 - ofs; --- linux-lts-quantal-3.5.0.orig/drivers/net/irda/sir_dev.c +++ linux-lts-quantal-3.5.0/drivers/net/irda/sir_dev.c @@ -222,7 +222,7 @@ break; case SIRDEV_STATE_DONGLE_SPEED: - if (dev->dongle_drv->reset) { + if (dev->dongle_drv->set_speed) { ret = dev->dongle_drv->set_speed(dev, fsm->param); if (ret < 0) { fsm->result = ret; --- linux-lts-quantal-3.5.0.orig/drivers/net/bonding/bond_sysfs.c +++ linux-lts-quantal-3.5.0/drivers/net/bonding/bond_sysfs.c @@ -183,6 +183,11 @@ sprintf(linkname, "slave_%s", slave->name); ret = sysfs_create_link(&(master->dev.kobj), &(slave->dev.kobj), linkname); + + /* free the master link created earlier in case of error */ + if (ret) + sysfs_remove_link(&(slave->dev.kobj), "master"); + return ret; } @@ -513,6 +518,8 @@ int new_value, ret = count; struct bonding *bond = to_bond(d); + if (!rtnl_trylock()) + return restart_syscall(); if (sscanf(buf, "%d", &new_value) != 1) { pr_err("%s: no arp_interval value specified.\n", bond->dev->name); @@ -520,7 +527,7 @@ goto out; } if (new_value < 0) { - pr_err("%s: Invalid arp_interval value %d not in range 1-%d; rejected.\n", + pr_err("%s: Invalid arp_interval value %d not in range 0-%d; rejected.\n", bond->dev->name, new_value, INT_MAX); ret = -EINVAL; goto out; @@ -535,18 +542,15 @@ pr_info("%s: Setting ARP monitoring interval to %d.\n", bond->dev->name, new_value); bond->params.arp_interval = new_value; - if (bond->params.miimon) { - pr_info("%s: ARP monitoring cannot be used with MII monitoring. %s Disabling MII monitoring.\n", - bond->dev->name, bond->dev->name); - bond->params.miimon = 0; - if (delayed_work_pending(&bond->mii_work)) { - cancel_delayed_work(&bond->mii_work); - flush_workqueue(bond->wq); + if (new_value) { + if (bond->params.miimon) { + pr_info("%s: ARP monitoring cannot be used with MII monitoring. %s Disabling MII monitoring.\n", + bond->dev->name, bond->dev->name); + bond->params.miimon = 0; } - } - if (!bond->params.arp_targets[0]) { - pr_info("%s: ARP monitoring has been set up, but no ARP targets have been specified.\n", - bond->dev->name); + if (!bond->params.arp_targets[0]) + pr_info("%s: ARP monitoring has been set up, but no ARP targets have been specified.\n", + bond->dev->name); } if (bond->dev->flags & IFF_UP) { /* If the interface is up, we may need to fire off @@ -554,19 +558,15 @@ * timer will get fired off when the open function * is called. */ - if (!delayed_work_pending(&bond->arp_work)) { - if (bond->params.mode == BOND_MODE_ACTIVEBACKUP) - INIT_DELAYED_WORK(&bond->arp_work, - bond_activebackup_arp_mon); - else - INIT_DELAYED_WORK(&bond->arp_work, - bond_loadbalance_arp_mon); - + if (!new_value) { + cancel_delayed_work_sync(&bond->arp_work); + } else { + cancel_delayed_work_sync(&bond->mii_work); queue_delayed_work(bond->wq, &bond->arp_work, 0); } } - out: + rtnl_unlock(); return ret; } static DEVICE_ATTR(arp_interval, S_IRUGO | S_IWUSR, @@ -706,7 +706,7 @@ } if (new_value < 0) { pr_err("%s: Invalid down delay value %d not in range %d-%d; rejected.\n", - bond->dev->name, new_value, 1, INT_MAX); + bond->dev->name, new_value, 0, INT_MAX); ret = -EINVAL; goto out; } else { @@ -761,8 +761,8 @@ goto out; } if (new_value < 0) { - pr_err("%s: Invalid down delay value %d not in range %d-%d; rejected.\n", - bond->dev->name, new_value, 1, INT_MAX); + pr_err("%s: Invalid up delay value %d not in range %d-%d; rejected.\n", + bond->dev->name, new_value, 0, INT_MAX); ret = -EINVAL; goto out; } else { @@ -962,6 +962,8 @@ int new_value, ret = count; struct bonding *bond = to_bond(d); + if (!rtnl_trylock()) + return restart_syscall(); if (sscanf(buf, "%d", &new_value) != 1) { pr_err("%s: no miimon value specified.\n", bond->dev->name); @@ -970,50 +972,43 @@ } if (new_value < 0) { pr_err("%s: Invalid miimon value %d not in range %d-%d; rejected.\n", - bond->dev->name, new_value, 1, INT_MAX); + bond->dev->name, new_value, 0, INT_MAX); ret = -EINVAL; goto out; - } else { - pr_info("%s: Setting MII monitoring interval to %d.\n", - bond->dev->name, new_value); - bond->params.miimon = new_value; - if (bond->params.updelay) - pr_info("%s: Note: Updating updelay (to %d) since it is a multiple of the miimon value.\n", - bond->dev->name, - bond->params.updelay * bond->params.miimon); - if (bond->params.downdelay) - pr_info("%s: Note: Updating downdelay (to %d) since it is a multiple of the miimon value.\n", - bond->dev->name, - bond->params.downdelay * bond->params.miimon); - if (bond->params.arp_interval) { - pr_info("%s: MII monitoring cannot be used with ARP monitoring. Disabling ARP monitoring...\n", - bond->dev->name); - bond->params.arp_interval = 0; - if (bond->params.arp_validate) { - bond->params.arp_validate = - BOND_ARP_VALIDATE_NONE; - } - if (delayed_work_pending(&bond->arp_work)) { - cancel_delayed_work(&bond->arp_work); - flush_workqueue(bond->wq); - } - } - - if (bond->dev->flags & IFF_UP) { - /* If the interface is up, we may need to fire off - * the MII timer. If the interface is down, the - * timer will get fired off when the open function - * is called. - */ - if (!delayed_work_pending(&bond->mii_work)) { - INIT_DELAYED_WORK(&bond->mii_work, - bond_mii_monitor); - queue_delayed_work(bond->wq, - &bond->mii_work, 0); - } + } + pr_info("%s: Setting MII monitoring interval to %d.\n", + bond->dev->name, new_value); + bond->params.miimon = new_value; + if (bond->params.updelay) + pr_info("%s: Note: Updating updelay (to %d) since it is a multiple of the miimon value.\n", + bond->dev->name, + bond->params.updelay * bond->params.miimon); + if (bond->params.downdelay) + pr_info("%s: Note: Updating downdelay (to %d) since it is a multiple of the miimon value.\n", + bond->dev->name, + bond->params.downdelay * bond->params.miimon); + if (new_value && bond->params.arp_interval) { + pr_info("%s: MII monitoring cannot be used with ARP monitoring. Disabling ARP monitoring...\n", + bond->dev->name); + bond->params.arp_interval = 0; + if (bond->params.arp_validate) + bond->params.arp_validate = BOND_ARP_VALIDATE_NONE; + } + if (bond->dev->flags & IFF_UP) { + /* If the interface is up, we may need to fire off + * the MII timer. If the interface is down, the + * timer will get fired off when the open function + * is called. + */ + if (!new_value) { + cancel_delayed_work_sync(&bond->mii_work); + } else { + cancel_delayed_work_sync(&bond->arp_work); + queue_delayed_work(bond->wq, &bond->mii_work, 0); } } out: + rtnl_unlock(); return ret; } static DEVICE_ATTR(miimon, S_IRUGO | S_IWUSR, @@ -1582,6 +1577,7 @@ goto out; } + read_lock(&bond->lock); bond_for_each_slave(bond, slave, i) { if (!bond_is_active_slave(slave)) { if (new_value) @@ -1590,6 +1586,7 @@ slave->inactive = 1; } } + read_unlock(&bond->lock); out: return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/net/bonding/bonding.h +++ linux-lts-quantal-3.5.0/drivers/net/bonding/bonding.h @@ -22,6 +22,7 @@ #include #include #include +#include #include "bond_3ad.h" #include "bond_alb.h" @@ -450,6 +451,18 @@ } #endif +static inline struct slave *bond_slave_has_mac(struct bonding *bond, + const u8 *mac) +{ + int i = 0; + struct slave *tmp; + + bond_for_each_slave(bond, tmp, i) + if (ether_addr_equal_64bits(mac, tmp->dev->dev_addr)) + return tmp; + + return NULL; +} /* exported from bond_main.c */ extern int bond_net_id; --- linux-lts-quantal-3.5.0.orig/drivers/net/bonding/bond_main.c +++ linux-lts-quantal-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); @@ -1730,6 +1737,8 @@ bond_compute_features(bond); + bond_update_speed_duplex(new_slave); + read_lock(&bond->lock); new_slave->last_arp_rx = jiffies - @@ -1782,8 +1791,6 @@ new_slave->link == BOND_LINK_DOWN ? "DOWN" : (new_slave->link == BOND_LINK_UP ? "UP" : "BACK")); - bond_update_speed_duplex(new_slave); - if (USES_PRIMARY(bond->params.mode) && bond->params.primary[0]) { /* if there is a primary slave, remember it */ if (strcmp(bond->params.primary, new_slave->dev->name) == 0) { @@ -1890,6 +1897,7 @@ write_unlock_bh(&bond->lock); err_close: + slave_dev->priv_flags &= ~IFF_BONDING; dev_close(slave_dev); err_unset_master: @@ -1934,6 +1942,7 @@ struct bonding *bond = netdev_priv(bond_dev); struct slave *slave, *oldcurrent; struct sockaddr addr; + int old_flags = bond_dev->flags; netdev_features_t old_features = bond_dev->features; /* slave is not a slave or master is not master of this slave */ @@ -1958,12 +1967,11 @@ return -EINVAL; } + write_unlock_bh(&bond->lock); /* unregister rx_handler early so bond_handle_frame wouldn't be called * for this slave anymore. */ netdev_rx_handler_unregister(slave_dev); - write_unlock_bh(&bond->lock); - synchronize_net(); write_lock_bh(&bond->lock); if (!bond->params.fail_over_mac) { @@ -2068,12 +2076,18 @@ * already taken care of above when we detached the slave */ if (!USES_PRIMARY(bond->params.mode)) { - /* unset promiscuity level from slave */ - if (bond_dev->flags & IFF_PROMISC) + /* unset promiscuity level from slave + * NOTE: The NETDEV_CHANGEADDR call above may change the value + * of the IFF_PROMISC flag in the bond_dev, but we need the + * value of that flag before that change, as that was the value + * when this slave was attached, so we cache at the start of the + * function and use it here. Same goes for ALLMULTI below + */ + if (old_flags & IFF_PROMISC) dev_set_promiscuity(slave_dev, -1); /* unset allmulti level from slave */ - if (bond_dev->flags & IFF_ALLMULTI) + if (old_flags & IFF_ALLMULTI) dev_set_allmulti(slave_dev, -1); /* flush master's mc_list from slave */ @@ -2464,8 +2478,6 @@ bond_set_backup_slave(slave); } - bond_update_speed_duplex(slave); - pr_info("%s: link status definitely up for interface %s, %u Mbps %s duplex.\n", bond->dev->name, slave->dev->name, slave->speed, slave->duplex ? "full" : "half"); @@ -3402,6 +3414,28 @@ /*-------------------------- Device entry points ----------------------------*/ +static void bond_work_init_all(struct bonding *bond) +{ + INIT_DELAYED_WORK(&bond->mcast_work, + bond_resend_igmp_join_requests_delayed); + INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor); + INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor); + if (bond->params.mode == BOND_MODE_ACTIVEBACKUP) + INIT_DELAYED_WORK(&bond->arp_work, bond_activebackup_arp_mon); + else + INIT_DELAYED_WORK(&bond->arp_work, bond_loadbalance_arp_mon); + INIT_DELAYED_WORK(&bond->ad_work, bond_3ad_state_machine_handler); +} + +static void bond_work_cancel_all(struct bonding *bond) +{ + cancel_delayed_work_sync(&bond->mii_work); + cancel_delayed_work_sync(&bond->arp_work); + cancel_delayed_work_sync(&bond->alb_work); + cancel_delayed_work_sync(&bond->ad_work); + cancel_delayed_work_sync(&bond->mcast_work); +} + static int bond_open(struct net_device *bond_dev) { struct bonding *bond = netdev_priv(bond_dev); @@ -3424,41 +3458,27 @@ } read_unlock(&bond->lock); - INIT_DELAYED_WORK(&bond->mcast_work, bond_resend_igmp_join_requests_delayed); + bond_work_init_all(bond); if (bond_is_lb(bond)) { /* bond_alb_initialize must be called before the timer * is started. */ - if (bond_alb_initialize(bond, (bond->params.mode == BOND_MODE_ALB))) { - /* something went wrong - fail the open operation */ + if (bond_alb_initialize(bond, (bond->params.mode == BOND_MODE_ALB))) return -ENOMEM; - } - - INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor); queue_delayed_work(bond->wq, &bond->alb_work, 0); } - if (bond->params.miimon) { /* link check interval, in milliseconds. */ - INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor); + if (bond->params.miimon) /* link check interval, in milliseconds. */ queue_delayed_work(bond->wq, &bond->mii_work, 0); - } if (bond->params.arp_interval) { /* arp interval, in milliseconds. */ - if (bond->params.mode == BOND_MODE_ACTIVEBACKUP) - INIT_DELAYED_WORK(&bond->arp_work, - bond_activebackup_arp_mon); - else - INIT_DELAYED_WORK(&bond->arp_work, - bond_loadbalance_arp_mon); - queue_delayed_work(bond->wq, &bond->arp_work, 0); if (bond->params.arp_validate) bond->recv_probe = bond_arp_rcv; } if (bond->params.mode == BOND_MODE_8023AD) { - INIT_DELAYED_WORK(&bond->ad_work, bond_3ad_state_machine_handler); queue_delayed_work(bond->wq, &bond->ad_work, 0); /* register to receive LACPDUs */ bond->recv_probe = bond_3ad_lacpdu_recv; @@ -3473,34 +3493,10 @@ struct bonding *bond = netdev_priv(bond_dev); write_lock_bh(&bond->lock); - bond->send_peer_notif = 0; - write_unlock_bh(&bond->lock); - if (bond->params.miimon) { /* link check interval, in milliseconds. */ - cancel_delayed_work_sync(&bond->mii_work); - } - - if (bond->params.arp_interval) { /* arp interval, in milliseconds. */ - cancel_delayed_work_sync(&bond->arp_work); - } - - switch (bond->params.mode) { - case BOND_MODE_8023AD: - cancel_delayed_work_sync(&bond->ad_work); - break; - case BOND_MODE_TLB: - case BOND_MODE_ALB: - cancel_delayed_work_sync(&bond->alb_work); - break; - default: - break; - } - - if (delayed_work_pending(&bond->mcast_work)) - cancel_delayed_work_sync(&bond->mcast_work); - + bond_work_cancel_all(bond); if (bond_is_lb(bond)) { /* Must be called only after all * slaves have been released @@ -3770,11 +3766,17 @@ * The bonding ndo_neigh_setup is called at init time beofre any * slave exists. So we must declare proxy setup function which will * be used at run time to resolve the actual slave neigh param setup. + * + * It's also called by master devices (such as vlans) to setup their + * underlying devices. In that case - do nothing, we're already set up from + * our init. */ static int bond_neigh_setup(struct net_device *dev, struct neigh_parms *parms) { - parms->neigh_setup = bond_neigh_init; + /* modify only our neigh_parms */ + if (parms->dev == dev) + parms->neigh_setup = bond_neigh_init; return 0; } @@ -4379,26 +4381,6 @@ bond_dev->features |= bond_dev->hw_features; } -static void bond_work_cancel_all(struct bonding *bond) -{ - if (bond->params.miimon && delayed_work_pending(&bond->mii_work)) - cancel_delayed_work_sync(&bond->mii_work); - - if (bond->params.arp_interval && delayed_work_pending(&bond->arp_work)) - cancel_delayed_work_sync(&bond->arp_work); - - if (bond->params.mode == BOND_MODE_ALB && - delayed_work_pending(&bond->alb_work)) - cancel_delayed_work_sync(&bond->alb_work); - - if (bond->params.mode == BOND_MODE_8023AD && - delayed_work_pending(&bond->ad_work)) - cancel_delayed_work_sync(&bond->ad_work); - - if (delayed_work_pending(&bond->mcast_work)) - cancel_delayed_work_sync(&bond->mcast_work); -} - /* * Destroy a bonding device. * Must be under rtnl_lock when this function is called. @@ -4902,9 +4884,18 @@ static void __net_exit bond_net_exit(struct net *net) { struct bond_net *bn = net_generic(net, bond_net_id); + struct bonding *bond, *tmp_bond; + LIST_HEAD(list); bond_destroy_sysfs(bn); bond_destroy_proc_dir(bn); + + /* Kill off any bonds created after unregistering bond rtnl ops */ + rtnl_lock(); + list_for_each_entry_safe(bond, tmp_bond, &bn->dev_list, bond_list) + unregister_netdevice_queue(bond->dev, &list); + unregister_netdevice_many(&list); + rtnl_unlock(); } static struct pernet_operations bond_net_ops = { --- linux-lts-quantal-3.5.0.orig/drivers/net/bonding/bond_alb.c +++ linux-lts-quantal-3.5.0/drivers/net/bonding/bond_alb.c @@ -704,6 +704,12 @@ struct arp_pkt *arp = arp_pkt(skb); struct slave *tx_slave = NULL; + /* Don't modify or load balance ARPs that do not originate locally + * (e.g.,arrive via a bridge). + */ + if (!bond_slave_has_mac(bond, arp->mac_src)) + return NULL; + if (arp->op_code == htons(ARPOP_REPLY)) { /* the arp must be sent on the selected * rx channel --- linux-lts-quantal-3.5.0.orig/drivers/net/wan/ixp4xx_hss.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/net/wan/dlci.c +++ linux-lts-quantal-3.5.0/drivers/net/wan/dlci.c @@ -384,21 +384,37 @@ struct frad_local *flp; struct net_device *master, *slave; int err; + bool found = false; + + rtnl_lock(); /* validate slave device */ master = __dev_get_by_name(&init_net, dlci->devname); - if (!master) - return -ENODEV; + if (!master) { + err = -ENODEV; + goto out; + } + + list_for_each_entry(dlp, &dlci_devs, list) { + if (dlp->master == master) { + found = true; + break; + } + } + if (!found) { + err = -ENODEV; + goto out; + } if (netif_running(master)) { - return -EBUSY; + err = -EBUSY; + goto out; } dlp = netdev_priv(master); slave = dlp->slave; flp = netdev_priv(slave); - rtnl_lock(); err = (*flp->deassoc)(slave, master); if (!err) { list_del(&dlp->list); @@ -407,8 +423,8 @@ dev_put(slave); } +out: rtnl_unlock(); - return err; } --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_file.h +++ linux-lts-quantal-3.5.0/drivers/target/target_core_file.h @@ -7,13 +7,14 @@ #define FD_DEVICE_QUEUE_DEPTH 32 #define FD_MAX_DEVICE_QUEUE_DEPTH 128 #define FD_BLOCKSIZE 512 -#define FD_MAX_SECTORS 1024 +#define FD_MAX_SECTORS 2048 #define RRF_EMULATE_CDB 0x01 #define RRF_GOT_LBA 0x02 #define FBDF_HAS_PATH 0x01 #define FBDF_HAS_SIZE 0x02 +#define FDBD_HAS_BUFFERED_IO_WCE 0x04 struct fd_dev { u32 fbd_flags; --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_cdb.c +++ linux-lts-quantal-3.5.0/drivers/target/target_core_cdb.c @@ -97,9 +97,12 @@ buf[7] = 0x2; /* CmdQue=1 */ - snprintf(&buf[8], 8, "LIO-ORG"); - snprintf(&buf[16], 16, "%s", dev->se_sub_dev->t10_wwn.model); - snprintf(&buf[32], 4, "%s", dev->se_sub_dev->t10_wwn.revision); + memcpy(&buf[8], "LIO-ORG ", 8); + memset(&buf[16], 0x20, 16); + memcpy(&buf[16], dev->se_sub_dev->t10_wwn.model, + min_t(size_t, strlen(dev->se_sub_dev->t10_wwn.model), 16)); + memcpy(&buf[32], dev->se_sub_dev->t10_wwn.revision, + min_t(size_t, strlen(dev->se_sub_dev->t10_wwn.revision), 4)); buf[4] = 31; /* Set additional length to 31 */ return 0; @@ -605,29 +608,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 +646,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 +861,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 +894,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 +904,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 +917,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 +996,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 +1009,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-lts-quantal-3.5.0.orig/drivers/target/target_core_pscsi.c +++ linux-lts-quantal-3.5.0/drivers/target/target_core_pscsi.c @@ -1000,7 +1000,6 @@ bio = NULL; } - page++; len -= bytes; data_len -= bytes; off = 0; --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_file.c +++ linux-lts-quantal-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; @@ -260,7 +279,7 @@ for_each_sg(sgl, sg, sgl_nents, i) { iov[i].iov_len = sg->length; - iov[i].iov_base = sg_virt(sg); + iov[i].iov_base = kmap(sg_page(sg)) + sg->offset; } old_fs = get_fs(); @@ -268,6 +287,8 @@ ret = vfs_readv(fd, &iov[0], sgl_nents, &pos); set_fs(old_fs); + for_each_sg(sgl, sg, sgl_nents, i) + kunmap(sg_page(sg)); kfree(iov); /* * Return zeros and GOOD status even if the READ did not return @@ -313,7 +334,7 @@ for_each_sg(sgl, sg, sgl_nents, i) { iov[i].iov_len = sg->length; - iov[i].iov_base = sg_virt(sg); + iov[i].iov_base = kmap(sg_page(sg)) + sg->offset; } old_fs = get_fs(); @@ -321,6 +342,9 @@ ret = vfs_writev(fd, &iov[0], sgl_nents, &pos); set_fs(old_fs); + for_each_sg(sgl, sg, sgl_nents, i) + kunmap(sg_page(sg)); + kfree(iov); if (ret < 0 || ret != cmd->data_length) { @@ -422,6 +446,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 +458,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 +502,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 +546,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-lts-quantal-3.5.0.orig/drivers/target/target_core_alua.c +++ linux-lts-quantal-3.5.0/drivers/target/target_core_alua.c @@ -413,6 +413,7 @@ case REPORT_LUNS: case RECEIVE_DIAGNOSTIC: case SEND_DIAGNOSTIC: + return 0; case MAINTENANCE_IN: switch (cdb[1] & 0x1f) { case MI_REPORT_TARGET_PGS: @@ -455,6 +456,7 @@ switch (cdb[0]) { case INQUIRY: case REPORT_LUNS: + return 0; case MAINTENANCE_IN: switch (cdb[1] & 0x1f) { case MI_REPORT_TARGET_PGS: @@ -495,6 +497,7 @@ switch (cdb[0]) { case INQUIRY: case REPORT_LUNS: + return 0; case MAINTENANCE_IN: switch (cdb[1] & 0x1f) { case MI_REPORT_TARGET_PGS: --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_tmr.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/target/target_core_configfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/target/target_core_device.c +++ linux-lts-quantal-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( @@ -1167,6 +1167,8 @@ int se_dev_set_fabric_max_sectors(struct se_device *dev, u32 fabric_max_sectors) { + int block_size = dev->se_sub_dev->se_dev_attrib.block_size; + if (atomic_read(&dev->dev_export_obj.obj_access_count)) { pr_err("dev[%p]: Unable to change SE Device" " fabric_max_sectors while dev_export_obj: %d count exists\n", @@ -1204,8 +1206,12 @@ /* * Align max_sectors down to PAGE_SIZE to follow transport_allocate_data_tasks() */ + if (!block_size) { + block_size = 512; + pr_warn("Defaulting to 512 for zero block_size\n"); + } fabric_max_sectors = se_dev_align_max_sectors(fabric_max_sectors, - dev->se_sub_dev->se_dev_attrib.block_size); + block_size); dev->se_sub_dev->se_dev_attrib.fabric_max_sectors = fabric_max_sectors; pr_debug("dev[%p]: SE Device max_sectors changed to %u\n", @@ -1409,24 +1415,18 @@ struct se_lun_acl *core_dev_init_initiator_node_lun_acl( struct se_portal_group *tpg, + struct se_node_acl *nacl, u32 mapped_lun, - char *initiatorname, int *ret) { struct se_lun_acl *lacl; - struct se_node_acl *nacl; - if (strlen(initiatorname) >= TRANSPORT_IQN_LEN) { + if (strlen(nacl->initiatorname) >= TRANSPORT_IQN_LEN) { pr_err("%s InitiatorName exceeds maximum size.\n", tpg->se_tpg_tfo->get_fabric_name()); *ret = -EOVERFLOW; return NULL; } - nacl = core_tpg_get_initiator_node_acl(tpg, initiatorname); - if (!nacl) { - *ret = -EINVAL; - return NULL; - } lacl = kzalloc(sizeof(struct se_lun_acl), GFP_KERNEL); if (!lacl) { pr_err("Unable to allocate memory for struct se_lun_acl.\n"); @@ -1437,7 +1437,8 @@ INIT_LIST_HEAD(&lacl->lacl_list); lacl->mapped_lun = mapped_lun; lacl->se_lun_nacl = nacl; - snprintf(lacl->initiatorname, TRANSPORT_IQN_LEN, "%s", initiatorname); + snprintf(lacl->initiatorname, TRANSPORT_IQN_LEN, "%s", + nacl->initiatorname); return lacl; } --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_tpg.c +++ linux-lts-quantal-3.5.0/drivers/target/target_core_tpg.c @@ -114,16 +114,10 @@ struct se_node_acl *acl; spin_lock_irq(&tpg->acl_node_lock); - list_for_each_entry(acl, &tpg->acl_node_list, acl_list) { - if (!strcmp(acl->initiatorname, initiatorname) && - !acl->dynamic_node_acl) { - spin_unlock_irq(&tpg->acl_node_lock); - return acl; - } - } + acl = __core_tpg_get_initiator_node_acl(tpg, initiatorname); spin_unlock_irq(&tpg->acl_node_lock); - return NULL; + return acl; } /* core_tpg_add_node_to_devs(): --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_transport.c +++ linux-lts-quantal-3.5.0/drivers/target/target_core_transport.c @@ -586,9 +586,6 @@ void transport_cmd_finish_abort(struct se_cmd *cmd, int remove) { - if (!(cmd->se_cmd_flags & SCF_SCSI_TMR_CDB)) - transport_lun_remove_cmd(cmd); - if (transport_cmd_check_stop_to_fabric(cmd)) return; if (remove) { @@ -1617,7 +1614,8 @@ 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); + + transport_cmd_check_stop_to_fabric(se_cmd); } /** @@ -1797,6 +1795,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 +2259,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 +2269,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 +2289,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 +2978,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 +3149,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 +3170,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 +3457,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 +4193,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; @@ -4240,7 +4230,7 @@ /* ILLEGAL REQUEST */ buffer[offset+SPC_SENSE_KEY_OFFSET] = ILLEGAL_REQUEST; /* LOGICAL UNIT COMMUNICATION FAILURE */ - buffer[offset+SPC_ASC_KEY_OFFSET] = 0x80; + buffer[offset+SPC_ASC_KEY_OFFSET] = 0x08; break; } /* @@ -4305,6 +4295,8 @@ } cmd->scsi_status = SAM_STAT_TASK_ABORTED; + transport_lun_remove_cmd(cmd); + pr_debug("Setting SAM_STAT_TASK_ABORTED status for CDB: 0x%02x," " ITT: 0x%08x\n", cmd->t_task_cdb[0], cmd->se_tfo->get_task_tag(cmd)); --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_fabric_configfs.c +++ linux-lts-quantal-3.5.0/drivers/target/target_core_fabric_configfs.c @@ -350,9 +350,25 @@ ret = -EINVAL; goto out; } + if (mapped_lun > (TRANSPORT_MAX_LUNS_PER_TPG-1)) { + pr_err("Mapped LUN: %lu exceeds TRANSPORT_MAX_LUNS_PER_TPG" + "-1: %u for Target Portal Group: %u\n", mapped_lun, + TRANSPORT_MAX_LUNS_PER_TPG-1, + se_tpg->se_tpg_tfo->tpg_get_tag(se_tpg)); + ret = -EINVAL; + goto out; + } + if (mapped_lun > (TRANSPORT_MAX_LUNS_PER_TPG-1)) { + pr_err("Mapped LUN: %lu exceeds TRANSPORT_MAX_LUNS_PER_TPG" + "-1: %u for Target Portal Group: %u\n", mapped_lun, + TRANSPORT_MAX_LUNS_PER_TPG-1, + se_tpg->se_tpg_tfo->tpg_get_tag(se_tpg)); + ret = -EINVAL; + goto out; + } - lacl = core_dev_init_initiator_node_lun_acl(se_tpg, mapped_lun, - config_item_name(acl_ci), &ret); + lacl = core_dev_init_initiator_node_lun_acl(se_tpg, se_nacl, + mapped_lun, &ret); if (!lacl) { ret = -EINVAL; goto out; --- linux-lts-quantal-3.5.0.orig/drivers/target/target_core_internal.h +++ linux-lts-quantal-3.5.0/drivers/target/target_core_internal.h @@ -61,7 +61,7 @@ int core_dev_del_lun(struct se_portal_group *, u32); struct se_lun *core_get_lun_from_tpg(struct se_portal_group *, u32); struct se_lun_acl *core_dev_init_initiator_node_lun_acl(struct se_portal_group *, - u32, char *, int *); + struct se_node_acl *, u32, int *); int core_dev_add_initiator_node_lun_acl(struct se_portal_group *, struct se_lun_acl *, u32, u32); int core_dev_del_initiator_node_lun_acl(struct se_portal_group *, --- linux-lts-quantal-3.5.0.orig/drivers/target/tcm_fc/tfc_sess.c +++ linux-lts-quantal-3.5.0/drivers/target/tcm_fc/tfc_sess.c @@ -356,11 +356,11 @@ tport = ft_tport_create(rdata->local_port); if (!tport) - return 0; /* not a target for this local port */ + goto not_target; /* not a target for this local port */ acl = ft_acl_get(tport->tpg, rdata); if (!acl) - return 0; + goto not_target; /* no target for this remote */ if (!rspp) goto fill; @@ -397,12 +397,18 @@ /* * OR in our service parameters with other provider (initiator), if any. - * TBD XXX - indicate RETRY capability? */ fill: fcp_parm = ntohl(spp->spp_params); + fcp_parm &= ~FCP_SPPF_RETRY; spp->spp_params = htonl(fcp_parm | FCP_SPPF_TARG_FCN); return FC_SPP_RESP_ACK; + +not_target: + fcp_parm = ntohl(spp->spp_params); + fcp_parm &= ~FCP_SPPF_TARG_FCN; + spp->spp_params = htonl(fcp_parm); + return 0; } /** @@ -431,7 +437,6 @@ { struct ft_sess *sess = container_of(rcu, struct ft_sess, rcu); - transport_deregister_session(sess->se_sess); kfree(sess); } @@ -439,6 +444,7 @@ { struct ft_sess *sess = container_of(kref, struct ft_sess, kref); + transport_deregister_session(sess->se_sess); call_rcu(&sess->rcu, ft_sess_rcu_free); } --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_erl0.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_erl0.c @@ -834,11 +834,11 @@ return 0; sess->time2retain_timer_flags |= ISCSI_TF_STOP; - spin_unlock_bh(&se_tpg->session_lock); + spin_unlock(&se_tpg->session_lock); del_timer_sync(&sess->time2retain_timer); - spin_lock_bh(&se_tpg->session_lock); + spin_lock(&se_tpg->session_lock); sess->time2retain_timer_flags &= ~ISCSI_TF_RUNNING; pr_debug("Stopped Time2Retain Timer for SID: %u\n", sess->sid); --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_erl1.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_erl1.c @@ -819,7 +819,7 @@ /* * CmdSN is greater than the tail of the list. */ - if (ooo_tail->cmdsn < ooo_cmdsn->cmdsn) + if (iscsi_sna_lt(ooo_tail->cmdsn, ooo_cmdsn->cmdsn)) list_add_tail(&ooo_cmdsn->ooo_list, &sess->sess_ooo_cmdsn_list); else { @@ -829,11 +829,12 @@ */ list_for_each_entry(ooo_tmp, &sess->sess_ooo_cmdsn_list, ooo_list) { - if (ooo_tmp->cmdsn < ooo_cmdsn->cmdsn) + if (iscsi_sna_lt(ooo_tmp->cmdsn, ooo_cmdsn->cmdsn)) continue; + /* Insert before this entry */ list_add(&ooo_cmdsn->ooo_list, - &ooo_tmp->ooo_list); + ooo_tmp->ooo_list.prev); break; } } --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_tmr.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_tmr.c @@ -49,8 +49,8 @@ if (!ref_cmd) { pr_err("Unable to locate RefTaskTag: 0x%08x on CID:" " %hu.\n", hdr->rtt, conn->cid); - return ((hdr->refcmdsn >= conn->sess->exp_cmd_sn) && - (hdr->refcmdsn <= conn->sess->max_cmd_sn)) ? + return (iscsi_sna_gte(hdr->refcmdsn, conn->sess->exp_cmd_sn) && + iscsi_sna_lte(hdr->refcmdsn, conn->sess->max_cmd_sn)) ? ISCSI_TMF_RSP_COMPLETE : ISCSI_TMF_RSP_NO_TASK; } if (ref_cmd->cmd_sn != hdr->refcmdsn) { --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_login.c +++ linux-lts-quantal-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); @@ -130,13 +131,13 @@ initiatorname_param = iscsi_find_param_from_key( INITIATORNAME, conn->param_list); - if (!initiatorname_param) - return -1; - sessiontype_param = iscsi_find_param_from_key( SESSIONTYPE, conn->param_list); - if (!sessiontype_param) + if (!initiatorname_param || !sessiontype_param) { + iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, + ISCSI_LOGIN_STATUS_MISSING_FIELDS); return -1; + } sessiontype = (strncmp(sessiontype_param->value, NORMAL, 6)) ? 1 : 0; @@ -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-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_nego.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_nego.c @@ -628,8 +628,11 @@ login->req_buf, payload_length, conn->param_list); - if (ret < 0) + if (ret < 0) { + iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, + ISCSI_LOGIN_STATUS_INIT_ERR); return -1; + } if (login->first_request) if (iscsi_target_check_first_request(conn, login) < 0) @@ -644,8 +647,11 @@ login->rsp_buf, &login->rsp_length, conn->param_list); - if (ret < 0) + if (ret < 0) { + iscsit_tx_login_rsp(conn, ISCSI_STATUS_CLS_INITIATOR_ERR, + ISCSI_LOGIN_STATUS_INIT_ERR); return -1; + } if (!login->auth_complete && ISCSI_TPG_ATTRIB(ISCSI_TPG_C(conn))->authentication) { --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_configfs.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_configfs.c @@ -415,7 +415,7 @@ if (!capable(CAP_SYS_ADMIN)) \ return -EPERM; \ \ - snprintf(auth->name, PAGE_SIZE, "%s", page); \ + snprintf(auth->name, sizeof(auth->name), "%s", page); \ if (!strncmp("NULL", auth->name, 4)) \ auth->naf_flags &= ~flags; \ else \ --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_util.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_erl2.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_erl2.c @@ -374,7 +374,7 @@ * made generic here. */ if (!(cmd->cmd_flags & ICF_OOO_CMDSN) && !cmd->immediate_cmd && - (cmd->cmd_sn >= conn->sess->exp_cmd_sn)) { + iscsi_sna_gte(cmd->cmd_sn, conn->sess->exp_cmd_sn)) { list_del(&cmd->i_conn_node); spin_unlock_bh(&conn->cmd_lock); iscsit_free_cmd(cmd); --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_auth.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_auth.c @@ -166,6 +166,7 @@ { char *endptr; unsigned long id; + unsigned char id_as_uchar; unsigned char digest[MD5_SIGNATURE_SIZE]; unsigned char type, response[MD5_SIGNATURE_SIZE * 2 + 2]; unsigned char identifier[10], *challenge = NULL; @@ -355,7 +356,9 @@ goto out; } - sg_init_one(&sg, &id, 1); + /* To handle both endiannesses */ + id_as_uchar = id; + sg_init_one(&sg, &id_as_uchar, 1); ret = crypto_hash_update(&desc, &sg, 1); if (ret < 0) { pr_err("crypto_hash_update() failed for id\n"); --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_tpg.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_core.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_parameters.c +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_parameters.c @@ -713,9 +713,9 @@ } INIT_LIST_HEAD(&extra_response->er_list); - strncpy(extra_response->key, key, strlen(key) + 1); - strncpy(extra_response->value, NOTUNDERSTOOD, - strlen(NOTUNDERSTOOD) + 1); + strlcpy(extra_response->key, key, sizeof(extra_response->key)); + strlcpy(extra_response->value, NOTUNDERSTOOD, + sizeof(extra_response->value)); list_add_tail(&extra_response->er_list, ¶m_list->extra_response_list); @@ -1554,8 +1554,6 @@ if (phase & PHASE_SECURITY) { if (iscsi_check_for_auth_key(key) > 0) { - char *tmpptr = key + strlen(key); - *tmpptr = '='; kfree(tmpbuf); return 1; } --- linux-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target.c +++ linux-lts-quantal-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; } @@ -746,7 +735,7 @@ list_for_each_entry(cmd, &conn->conn_cmd_list, i_conn_node) { spin_lock(&cmd->istate_lock); if ((cmd->i_state == ISTATE_SENT_STATUS) && - (cmd->stat_sn < exp_statsn)) { + iscsi_sna_lt(cmd->stat_sn, exp_statsn)) { cmd->i_state = ISTATE_REMOVE; spin_unlock(&cmd->istate_lock); iscsit_add_cmd_to_immediate_queue(cmd, conn, @@ -2393,7 +2382,7 @@ if (!conn_p) return; - cmd = iscsit_allocate_cmd(conn_p, GFP_KERNEL); + cmd = iscsit_allocate_cmd(conn_p, GFP_ATOMIC); if (!cmd) { iscsit_dec_conn_usage_count(conn_p); return; @@ -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); @@ -3619,6 +3608,10 @@ spin_lock_bh(&cmd->istate_lock); cmd->i_state = ISTATE_SENT_STATUS; spin_unlock_bh(&cmd->istate_lock); + + if (atomic_read(&conn->check_immediate_queue)) + return 1; + continue; } else if (ret == 2) { /* Still must send status, @@ -3708,7 +3701,7 @@ } if (atomic_read(&conn->check_immediate_queue)) - break; + return 1; } return 0; @@ -3744,18 +3737,23 @@ */ 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)) goto transport_err; +get_immediate: ret = handle_immediate_queue(conn); if (ret < 0) goto transport_err; ret = handle_response_queue(conn); - if (ret == -EAGAIN) + if (ret == 1) + goto get_immediate; + else if (ret == -EAGAIN) goto restart; else if (ret < 0) goto transport_err; @@ -4077,13 +4075,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-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_util.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/target/iscsi/iscsi_target_parameters.h +++ linux-lts-quantal-3.5.0/drivers/target/iscsi/iscsi_target_parameters.h @@ -1,8 +1,10 @@ #ifndef ISCSI_PARAMETERS_H #define ISCSI_PARAMETERS_H +#include + struct iscsi_extra_response { - char key[64]; + char key[KEY_MAXLEN]; char value[32]; struct list_head er_list; } ____cacheline_aligned; --- linux-lts-quantal-3.5.0.orig/drivers/target/sbp/sbp_target.c +++ linux-lts-quantal-3.5.0/drivers/target/sbp/sbp_target.c @@ -2221,20 +2221,23 @@ tport->mgt_agt = sbp_management_agent_register(tport); if (IS_ERR(tport->mgt_agt)) { ret = PTR_ERR(tport->mgt_agt); - kfree(tpg); - return ERR_PTR(ret); + goto out_free_tpg; } ret = core_tpg_register(&sbp_fabric_configfs->tf_ops, wwn, &tpg->se_tpg, (void *)tpg, TRANSPORT_TPG_TYPE_NORMAL); - if (ret < 0) { - sbp_management_agent_unregister(tport->mgt_agt); - kfree(tpg); - return ERR_PTR(ret); - } + if (ret < 0) + goto out_unreg_mgt_agt; return &tpg->se_tpg; + +out_unreg_mgt_agt: + sbp_management_agent_unregister(tport->mgt_agt); +out_free_tpg: + tport->tpg = NULL; + kfree(tpg); + return ERR_PTR(ret); } static void sbp_drop_tpg(struct se_portal_group *se_tpg) --- linux-lts-quantal-3.5.0.orig/drivers/connector/cn_proc.c +++ linux-lts-quantal-3.5.0/drivers/connector/cn_proc.c @@ -303,7 +303,13 @@ if (msg->len != sizeof(*mc_op)) return; - mc_op = (enum proc_cn_mcast_op*)msg->data; + /* Can only change if privileged. */ + if (!capable(CAP_NET_ADMIN)) { + err = EPERM; + goto out; + } + + mc_op = (enum proc_cn_mcast_op *)msg->data; switch (*mc_op) { case PROC_CN_MCAST_LISTEN: atomic_inc(&proc_event_num_listeners); @@ -315,6 +321,8 @@ err = EINVAL; break; } + +out: cn_proc_ack(err, msg->seq, msg->ack); } --- linux-lts-quantal-3.5.0.orig/drivers/cdrom/cdrom.c +++ linux-lts-quantal-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 */ @@ -2882,7 +2882,7 @@ if (lba < 0) return -EINVAL; - cgc->buffer = kmalloc(blocksize, GFP_KERNEL); + cgc->buffer = kzalloc(blocksize, GFP_KERNEL); if (cgc->buffer == NULL) return -ENOMEM; --- linux-lts-quantal-3.5.0.orig/drivers/block/virtio_blk.c +++ linux-lts-quantal-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,35 +573,30 @@ { struct virtio_blk *vblk = vdev->priv; int index = vblk->index; - struct virtblk_req *vbr; - unsigned long flags; + int refc; /* 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); + refc = atomic_read(&disk_to_dev(vblk->disk)->kobj.kref.refcount); put_disk(vblk->disk); mempool_destroy(vblk->pool); vdev->config->del_vqs(vdev); kfree(vblk); - ida_simple_remove(&vd_index_ida, index); + + /* Only free device id if we don't have any users */ + if (refc == 1) + ida_simple_remove(&vd_index_ida, index); } #ifdef CONFIG_PM --- linux-lts-quantal-3.5.0.orig/drivers/block/sunvdc.c +++ linux-lts-quantal-3.5.0/drivers/block/sunvdc.c @@ -461,7 +461,7 @@ int op_len, err; void *req_buf; - if (!(((u64)1 << ((u64)op - 1)) & port->operations)) + if (!(((u64)1 << (u64)op) & port->operations)) return -EOPNOTSUPP; switch (op) { --- linux-lts-quantal-3.5.0.orig/drivers/block/floppy.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/block/loop.c +++ linux-lts-quantal-3.5.0/drivers/block/loop.c @@ -908,6 +908,11 @@ lo->lo_flags |= LO_FLAGS_PARTSCAN; if (lo->lo_flags & LO_FLAGS_PARTSCAN) ioctl_by_bdev(bdev, BLKRRPART, 0); + + /* Grab the block_device to prevent its destruction after we + * put /dev/loopXX inode. Later in loop_clr_fd() we bdput(bdev). + */ + bdgrab(bdev); return 0; out_clr: @@ -1004,8 +1009,10 @@ memset(lo->lo_encrypt_key, 0, LO_KEY_SIZE); memset(lo->lo_crypt_name, 0, LO_NAME_SIZE); memset(lo->lo_file_name, 0, LO_NAME_SIZE); - if (bdev) + if (bdev) { + bdput(bdev); invalidate_bdev(bdev); + } set_capacity(lo->lo_disk, 0); loop_sysfs_exit(lo); if (bdev) { @@ -1263,11 +1270,9 @@ /* the width of sector_t may be narrow for bit-shift */ sz = sec; sz <<= 9; - mutex_lock(&bdev->bd_mutex); bd_set_size(bdev, sz); /* let user-space know about the new size */ kobject_uevent(&disk_to_dev(bdev->bd_disk)->kobj, KOBJ_CHANGE); - mutex_unlock(&bdev->bd_mutex); out: return err; @@ -1835,11 +1840,15 @@ max_part = (1UL << part_shift) - 1; } - if ((1UL << part_shift) > DISK_MAX_PARTS) - return -EINVAL; + if ((1UL << part_shift) > DISK_MAX_PARTS) { + err = -EINVAL; + goto misc_out; + } - if (max_loop > 1UL << (MINORBITS - part_shift)) - return -EINVAL; + if (max_loop > 1UL << (MINORBITS - part_shift)) { + err = -EINVAL; + goto misc_out; + } /* * If max_loop is specified, create that many devices upfront. @@ -1857,8 +1866,10 @@ range = 1UL << MINORBITS; } - if (register_blkdev(LOOP_MAJOR, "loop")) - return -EIO; + if (register_blkdev(LOOP_MAJOR, "loop")) { + err = -EIO; + goto misc_out; + } blk_register_region(MKDEV(LOOP_MAJOR, 0), range, THIS_MODULE, loop_probe, NULL, NULL); @@ -1871,6 +1882,10 @@ printk(KERN_INFO "loop: module loaded\n"); return 0; + +misc_out: + misc_deregister(&loop_misc); + return err; } static int loop_exit_cb(int id, void *ptr, void *data) --- linux-lts-quantal-3.5.0.orig/drivers/block/brd.c +++ linux-lts-quantal-3.5.0/drivers/block/brd.c @@ -117,13 +117,13 @@ spin_lock(&brd->brd_lock); idx = sector >> PAGE_SECTORS_SHIFT; + page->index = idx; if (radix_tree_insert(&brd->brd_pages, idx, page)) { __free_page(page); page = radix_tree_lookup(&brd->brd_pages, idx); BUG_ON(!page); BUG_ON(page->index != idx); - } else - page->index = idx; + } spin_unlock(&brd->brd_lock); radix_tree_preload_end(); --- linux-lts-quantal-3.5.0.orig/drivers/block/cciss_scsi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/block/cciss.c +++ linux-lts-quantal-3.5.0/drivers/block/cciss.c @@ -161,8 +161,6 @@ static int cciss_open(struct block_device *bdev, fmode_t mode); static int cciss_unlocked_open(struct block_device *bdev, fmode_t mode); static int cciss_release(struct gendisk *disk, fmode_t mode); -static int do_ioctl(struct block_device *bdev, fmode_t mode, - unsigned int cmd, unsigned long arg); static int cciss_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg); static int cciss_getgeo(struct block_device *bdev, struct hd_geometry *geo); @@ -229,7 +227,7 @@ .owner = THIS_MODULE, .open = cciss_unlocked_open, .release = cciss_release, - .ioctl = do_ioctl, + .ioctl = cciss_ioctl, .getgeo = cciss_getgeo, #ifdef CONFIG_COMPAT .compat_ioctl = cciss_compat_ioctl, @@ -1140,16 +1138,6 @@ return 0; } -static int do_ioctl(struct block_device *bdev, fmode_t mode, - unsigned cmd, unsigned long arg) -{ - int ret; - mutex_lock(&cciss_mutex); - ret = cciss_ioctl(bdev, mode, cmd, arg); - mutex_unlock(&cciss_mutex); - return ret; -} - #ifdef CONFIG_COMPAT static int cciss_ioctl32_passthru(struct block_device *bdev, fmode_t mode, @@ -1176,7 +1164,7 @@ case CCISS_REGNEWD: case CCISS_RESCANDISK: case CCISS_GETLUNINFO: - return do_ioctl(bdev, mode, cmd, arg); + return cciss_ioctl(bdev, mode, cmd, arg); case CCISS_PASSTHRU32: return cciss_ioctl32_passthru(bdev, mode, cmd, arg); @@ -1198,6 +1186,7 @@ int err; u32 cp; + memset(&arg64, 0, sizeof(arg64)); err = 0; err |= copy_from_user(&arg64.LUN_info, &arg32->LUN_info, @@ -1216,7 +1205,7 @@ if (err) return -EFAULT; - err = do_ioctl(bdev, mode, CCISS_PASSTHRU, (unsigned long)p); + err = cciss_ioctl(bdev, mode, CCISS_PASSTHRU, (unsigned long)p); if (err) return err; err |= @@ -1258,7 +1247,7 @@ if (err) return -EFAULT; - err = do_ioctl(bdev, mode, CCISS_BIG_PASSTHRU, (unsigned long)p); + err = cciss_ioctl(bdev, mode, CCISS_BIG_PASSTHRU, (unsigned long)p); if (err) return err; err |= @@ -1308,11 +1297,14 @@ static int cciss_getintinfo(ctlr_info_t *h, void __user *argp) { cciss_coalint_struct intinfo; + unsigned long flags; if (!argp) return -EINVAL; + spin_lock_irqsave(&h->lock, flags); intinfo.delay = readl(&h->cfgtable->HostWrite.CoalIntDelay); intinfo.count = readl(&h->cfgtable->HostWrite.CoalIntCount); + spin_unlock_irqrestore(&h->lock, flags); if (copy_to_user (argp, &intinfo, sizeof(cciss_coalint_struct))) return -EFAULT; @@ -1353,12 +1345,15 @@ static int cciss_getnodename(ctlr_info_t *h, void __user *argp) { NodeName_type NodeName; + unsigned long flags; int i; if (!argp) return -EINVAL; + spin_lock_irqsave(&h->lock, flags); for (i = 0; i < 16; i++) NodeName[i] = readb(&h->cfgtable->ServerName[i]); + spin_unlock_irqrestore(&h->lock, flags); if (copy_to_user(argp, NodeName, sizeof(NodeName_type))) return -EFAULT; return 0; @@ -1395,10 +1390,13 @@ static int cciss_getheartbeat(ctlr_info_t *h, void __user *argp) { Heartbeat_type heartbeat; + unsigned long flags; if (!argp) return -EINVAL; + spin_lock_irqsave(&h->lock, flags); heartbeat = readl(&h->cfgtable->HeartBeat); + spin_unlock_irqrestore(&h->lock, flags); if (copy_to_user(argp, &heartbeat, sizeof(Heartbeat_type))) return -EFAULT; return 0; @@ -1407,10 +1405,13 @@ static int cciss_getbustypes(ctlr_info_t *h, void __user *argp) { BusTypes_type BusTypes; + unsigned long flags; if (!argp) return -EINVAL; + spin_lock_irqsave(&h->lock, flags); BusTypes = readl(&h->cfgtable->BusTypes); + spin_unlock_irqrestore(&h->lock, flags); if (copy_to_user(argp, &BusTypes, sizeof(BusTypes_type))) return -EFAULT; return 0; --- linux-lts-quantal-3.5.0.orig/drivers/block/cpqarray.c +++ linux-lts-quantal-3.5.0/drivers/block/cpqarray.c @@ -1195,6 +1195,7 @@ ida_pci_info_struct pciinfo; if (!arg) return -EINVAL; + memset(&pciinfo, 0, sizeof(pciinfo)); pciinfo.bus = host->pci_dev->bus->number; pciinfo.dev_fn = host->pci_dev->devfn; pciinfo.board_id = host->board_id; --- linux-lts-quantal-3.5.0.orig/drivers/block/nbd.c +++ linux-lts-quantal-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); + } } @@ -576,14 +584,24 @@ struct request sreq; dev_info(disk_to_dev(nbd->disk), "NBD_DISCONNECT\n"); + if (!nbd->sock) + return -EINVAL; + mutex_unlock(&nbd->tx_lock); + fsync_bdev(bdev); + mutex_lock(&nbd->tx_lock); blk_rq_init(NULL, &sreq); sreq.cmd_type = REQ_TYPE_SPECIAL; nbd_cmd(&sreq) = NBD_CMD_DISC; + + /* Check again after getting mutex back. */ if (!nbd->sock) return -EINVAL; + + nbd->disconnect = 1; + nbd_send_req(nbd, &sreq); - return 0; + return 0; } case NBD_CLEAR_SOCK: { @@ -594,6 +612,8 @@ nbd->file = NULL; nbd_clear_que(nbd); BUG_ON(!list_empty(&nbd->queue_head)); + BUG_ON(!list_empty(&nbd->waiting_queue)); + kill_bdev(bdev); if (file) fput(file); return 0; @@ -611,6 +631,7 @@ nbd->sock = SOCKET_I(inode); if (max_part > 0) bdev->bd_invalidated = 1; + nbd->disconnect = 0; /* we're connected now */ return 0; } else { fput(file); @@ -657,7 +678,8 @@ mutex_unlock(&nbd->tx_lock); - thread = kthread_create(nbd_thread, nbd, nbd->disk->disk_name); + thread = kthread_create(nbd_thread, nbd, "%s", + nbd->disk->disk_name); if (IS_ERR(thread)) { mutex_lock(&nbd->tx_lock); return PTR_ERR(thread); @@ -674,6 +696,7 @@ nbd->file = NULL; nbd_clear_que(nbd); dev_warn(disk_to_dev(nbd->disk), "queue cleared\n"); + kill_bdev(bdev); if (file) fput(file); nbd->bytesize = 0; @@ -681,6 +704,8 @@ set_capacity(nbd->disk, 0); if (max_part > 0) ioctl_by_bdev(bdev, BLKRRPART, 0); + if (nbd->disconnect) /* user requested, ignore socket errors */ + return 0; return nbd->harderror; } --- linux-lts-quantal-3.5.0.orig/drivers/block/drbd/drbd_receiver.c +++ linux-lts-quantal-3.5.0/drivers/block/drbd/drbd_receiver.c @@ -2260,7 +2260,6 @@ if (hg == -1 && mdev->state.role == R_PRIMARY) { enum drbd_state_rv rv2; - drbd_set_role(mdev, R_SECONDARY, 0); /* drbd_change_state() does not sleep while in SS_IN_TRANSIENT_STATE, * we might be here in C_WF_REPORT_PARAMS which is transient. * we do not need to wait for the after state change work either. */ --- linux-lts-quantal-3.5.0.orig/drivers/block/xen-blkback/xenbus.c +++ linux-lts-quantal-3.5.0/drivers/block/xen-blkback/xenbus.c @@ -118,6 +118,7 @@ atomic_set(&blkif->drain, 0); blkif->st_print = jiffies; init_waitqueue_head(&blkif->waiting_to_free); + init_waitqueue_head(&blkif->shutdown_wq); return blkif; } @@ -178,6 +179,7 @@ { if (blkif->xenblkd) { kthread_stop(blkif->xenblkd); + wake_up(&blkif->shutdown_wq); blkif->xenblkd = NULL; } @@ -367,6 +369,7 @@ be->blkif = NULL; } + kfree(be->mode); kfree(be); dev_set_drvdata(&dev->dev, NULL); return 0; @@ -502,6 +505,7 @@ = container_of(watch, struct backend_info, backend_watch); struct xenbus_device *dev = be->dev; int cdrom = 0; + unsigned long handle; char *device_type; DPRINTK(""); @@ -521,10 +525,10 @@ return; } - if ((be->major || be->minor) && - ((be->major != major) || (be->minor != minor))) { - pr_warn(DRV_PFX "changing physical device (from %x:%x to %x:%x) not supported.\n", - be->major, be->minor, major, minor); + if (be->major | be->minor) { + if (be->major != major || be->minor != minor) + pr_warn(DRV_PFX "changing physical device (from %x:%x to %x:%x) not supported.\n", + be->major, be->minor, major, minor); return; } @@ -542,36 +546,33 @@ kfree(device_type); } - if (be->major == 0 && be->minor == 0) { - /* Front end dir is a number, which is used as the handle. */ + /* Front end dir is a number, which is used as the handle. */ + err = strict_strtoul(strrchr(dev->otherend, '/') + 1, 0, &handle); + if (err) + return; - char *p = strrchr(dev->otherend, '/') + 1; - long handle; - err = strict_strtoul(p, 0, &handle); - if (err) - return; + be->major = major; + be->minor = minor; - be->major = major; - be->minor = minor; - - err = xen_vbd_create(be->blkif, handle, major, minor, - (NULL == strchr(be->mode, 'w')), cdrom); - if (err) { - be->major = 0; - be->minor = 0; - xenbus_dev_fatal(dev, err, "creating vbd structure"); - return; - } + err = xen_vbd_create(be->blkif, handle, major, minor, + !strchr(be->mode, 'w'), cdrom); + if (err) + xenbus_dev_fatal(dev, err, "creating vbd structure"); + else { err = xenvbd_sysfs_addif(dev); if (err) { xen_vbd_free(&be->blkif->vbd); - be->major = 0; - be->minor = 0; xenbus_dev_fatal(dev, err, "creating sysfs entries"); - return; } + } + if (err) { + kfree(be->mode); + be->mode = NULL; + be->major = 0; + be->minor = 0; + } else { /* We're potentially connected now */ xen_update_blkif_status(be->blkif); } --- linux-lts-quantal-3.5.0.orig/drivers/block/xen-blkback/common.h +++ linux-lts-quantal-3.5.0/drivers/block/xen-blkback/common.h @@ -76,11 +76,18 @@ uint64_t nr_sectors; } __attribute__((__packed__)); +struct blkif_x86_32_request_other { + uint8_t _pad1; + blkif_vdev_t _pad2; + uint64_t id; /* private guest value, echoed in resp */ +} __attribute__((__packed__)); + struct blkif_x86_32_request { uint8_t operation; /* BLKIF_OP_??? */ union { struct blkif_x86_32_request_rw rw; struct blkif_x86_32_request_discard discard; + struct blkif_x86_32_request_other other; } u; } __attribute__((__packed__)); @@ -112,11 +119,19 @@ uint64_t nr_sectors; } __attribute__((__packed__)); +struct blkif_x86_64_request_other { + uint8_t _pad1; + blkif_vdev_t _pad2; + uint32_t _pad3; /* offsetof(blkif_..,u.discard.id)==8 */ + uint64_t id; /* private guest value, echoed in resp */ +} __attribute__((__packed__)); + struct blkif_x86_64_request { uint8_t operation; /* BLKIF_OP_??? */ union { struct blkif_x86_64_request_rw rw; struct blkif_x86_64_request_discard discard; + struct blkif_x86_64_request_other other; } u; } __attribute__((__packed__)); @@ -201,6 +216,8 @@ int st_wr_sect; wait_queue_head_t waiting_to_free; + /* Thread shutdown wait queue. */ + wait_queue_head_t shutdown_wq; }; @@ -262,6 +279,11 @@ dst->u.discard.nr_sectors = src->u.discard.nr_sectors; break; default: + /* + * Don't know how to translate this op. Only get the + * ID so failure can be reported to the frontend. + */ + dst->u.other.id = src->u.other.id; break; } } @@ -293,6 +315,11 @@ dst->u.discard.nr_sectors = src->u.discard.nr_sectors; break; default: + /* + * Don't know how to translate this op. Only get the + * ID so failure can be reported to the frontend. + */ + dst->u.other.id = src->u.other.id; break; } } --- linux-lts-quantal-3.5.0.orig/drivers/block/xen-blkback/blkback.c +++ linux-lts-quantal-3.5.0/drivers/block/xen-blkback/blkback.c @@ -274,6 +274,7 @@ { struct xen_blkif *blkif = arg; struct xen_vbd *vbd = &blkif->vbd; + int ret; xen_blkif_get(blkif); @@ -294,8 +295,12 @@ blkif->waiting_reqs = 0; smp_mb(); /* clear flag *before* checking for work */ - if (do_block_io_op(blkif)) + ret = do_block_io_op(blkif); + if (ret > 0) blkif->waiting_reqs = 1; + if (ret == -EACCES) + wait_event_interruptible(blkif->shutdown_wq, + kthread_should_stop()); if (log_stats && time_after(jiffies, blkif->st_print)) print_stats(blkif); @@ -337,7 +342,7 @@ invcount++; } - ret = gnttab_unmap_refs(unmap, pages, invcount, false); + ret = gnttab_unmap_refs(unmap, NULL, pages, invcount); BUG_ON(ret); } @@ -399,7 +404,18 @@ int status = BLKIF_RSP_OKAY; struct block_device *bdev = blkif->vbd.bdev; unsigned long secure; + struct phys_req preq; + + preq.sector_number = req->u.discard.sector_number; + preq.nr_sects = req->u.discard.nr_sectors; + err = xen_vbd_translate(&preq, blkif, WRITE); + if (err) { + pr_warn(DRV_PFX "access denied: DISCARD [%llu->%llu] on dev=%04x\n", + preq.sector_number, + preq.sector_number + preq.nr_sects, blkif->vbd.pdevice); + goto fail_response; + } blkif->st_ds_req++; xen_blkif_get(blkif); @@ -410,7 +426,7 @@ err = blkdev_issue_discard(bdev, req->u.discard.sector_number, req->u.discard.nr_sectors, GFP_KERNEL, secure); - +fail_response: if (err == -EOPNOTSUPP) { pr_debug(DRV_PFX "discard op failed, not supported\n"); status = BLKIF_RSP_EOPNOTSUPP; @@ -422,6 +438,16 @@ return err; } +static int dispatch_other_io(struct xen_blkif *blkif, + struct blkif_request *req, + struct pending_req *pending_req) +{ + free_req(pending_req); + make_response(blkif, req->u.other.id, req->operation, + BLKIF_RSP_EOPNOTSUPP); + return -EIO; +} + static void xen_blk_drain_io(struct xen_blkif *blkif) { atomic_set(&blkif->drain, 1); @@ -509,6 +535,12 @@ rp = blk_rings->common.sring->req_prod; rmb(); /* Ensure we see queued requests up to 'rp'. */ + if (RING_REQUEST_PROD_OVERFLOW(&blk_rings->common, rp)) { + rc = blk_rings->common.rsp_prod_pvt; + pr_warn(DRV_PFX "Frontend provided bogus ring requests (%d - %d = %d). Halting ring processing on dev=%04x\n", + rp, rc, rp - rc, blkif->vbd.pdevice); + return -EACCES; + } while (rc != rp) { if (RING_REQUEST_CONS_OVERFLOW(&blk_rings->common, rc)) @@ -543,17 +575,30 @@ /* Apply all sanity checks to /private copy/ of request. */ barrier(); - if (unlikely(req.operation == BLKIF_OP_DISCARD)) { + + switch (req.operation) { + case BLKIF_OP_READ: + case BLKIF_OP_WRITE: + case BLKIF_OP_WRITE_BARRIER: + case BLKIF_OP_FLUSH_DISKCACHE: + if (dispatch_rw_block_io(blkif, &req, pending_req)) + goto done; + break; + case BLKIF_OP_DISCARD: free_req(pending_req); if (dispatch_discard_io(blkif, &req)) - break; - } else if (dispatch_rw_block_io(blkif, &req, pending_req)) + goto done; + break; + default: + if (dispatch_other_io(blkif, &req, pending_req)) + goto done; break; + } /* Yield point for this unbounded loop. */ cond_resched(); } - +done: return more_to_do; } @@ -720,13 +765,7 @@ bio->bi_end_io = end_block_io_op; } - /* - * We set it one so that the last submit_bio does not have to call - * atomic_inc. - */ atomic_set(&pending_req->pendcnt, nbio); - - /* Get a reference count for the disk queue and start sending I/O */ blk_start_plug(&plug); for (i = 0; i < nbio; i++) @@ -754,6 +793,7 @@ fail_put_bio: for (i = 0; i < nbio; i++) bio_put(biolist[i]); + atomic_set(&pending_req->pendcnt, 1); __end_block_io_op(pending_req, -EINVAL); msleep(1); /* back off a bit */ return -EIO; --- linux-lts-quantal-3.5.0.orig/drivers/block/mtip32xx/mtip32xx.c +++ linux-lts-quantal-3.5.0/drivers/block/mtip32xx/mtip32xx.c @@ -559,7 +559,7 @@ struct mtip_cmd *command; int tag, cmdto_cnt = 0; unsigned int bit, group; - unsigned int num_command_slots = port->dd->slot_groups * 32; + unsigned int num_command_slots; unsigned long to, tagaccum[SLOTBITS_IN_LONGS]; if (unlikely(!port)) @@ -572,6 +572,7 @@ } /* clear the tag accumulator */ memset(tagaccum, 0, SLOTBITS_IN_LONGS * sizeof(long)); + num_command_slots = port->dd->slot_groups * 32; for (tag = 0; tag < num_command_slots; tag++) { /* @@ -1148,11 +1149,15 @@ reply = port->rxfis + RX_FIS_D2H_REG; task_file_data = readl(port->mmio+PORT_TFDATA); - if ((task_file_data & 1) || (fis->command == ATA_CMD_SEC_ERASE_UNIT)) + if (fis->command == ATA_CMD_SEC_ERASE_UNIT) + clear_bit(MTIP_DDF_SEC_LOCK_BIT, &port->dd->dd_flag); + + if ((task_file_data & 1)) return false; if (fis->command == ATA_CMD_SEC_ERASE_PREP) { set_bit(MTIP_PF_SE_ACTIVE_BIT, &port->flags); + set_bit(MTIP_DDF_SEC_LOCK_BIT, &port->dd->dd_flag); port->ic_pause_timer = jiffies; return true; } else if ((fis->command == ATA_CMD_DOWNLOAD_MICRO) && @@ -1900,7 +1905,7 @@ int rv = 0, xfer_sz = command[3]; if (xfer_sz) { - if (user_buffer) + if (!user_buffer) return -EFAULT; buf = dmam_alloc_coherent(&port->dd->pdev->dev, @@ -2031,8 +2036,9 @@ } return rv; } - -static void mtip_set_timeout(struct host_to_dev_fis *fis, unsigned int *timeout) +static void mtip_set_timeout(struct driver_data *dd, + struct host_to_dev_fis *fis, + unsigned int *timeout, u8 erasemode) { switch (fis->command) { case ATA_CMD_DOWNLOAD_MICRO: @@ -2040,10 +2046,13 @@ break; case ATA_CMD_SEC_ERASE_UNIT: case 0xFC: - *timeout = 240000; /* 4 minutes */ + if (erasemode) + *timeout = ((*(dd->port->identify + 90) * 2) * 60000); + else + *timeout = ((*(dd->port->identify + 89) * 2) * 60000); break; case ATA_CMD_STANDBYNOW1: - *timeout = 10000; /* 10 seconds */ + *timeout = 120000; /* 2 minutes */ break; case 0xF7: case 0xFA: @@ -2083,6 +2092,7 @@ unsigned int transfer_size; unsigned long task_file_data; int intotal = outtotal + req_task->out_size; + int erasemode = 0; taskout = req_task->out_size; taskin = req_task->in_size; @@ -2208,7 +2218,13 @@ fis.lba_hi, fis.device); - mtip_set_timeout(&fis, &timeout); + /* check for erase mode support during secure erase.*/ + if ((fis.command == ATA_CMD_SEC_ERASE_UNIT) && outbuf && + (outbuf[0] & MTIP_SEC_ERASE_MODE)) { + erasemode = 1; + } + + mtip_set_timeout(dd, &fis, &timeout, erasemode); /* Determine the correct transfer size.*/ if (force_single_sector) @@ -2424,7 +2440,7 @@ * return value * None */ -static void mtip_hw_submit_io(struct driver_data *dd, sector_t start, +static void mtip_hw_submit_io(struct driver_data *dd, sector_t sector, int nsect, int nents, int tag, void *callback, void *data, int dir) { @@ -2432,6 +2448,7 @@ struct mtip_port *port = dd->port; struct mtip_cmd *command = &port->commands[tag]; int dma_dir = (dir == READ) ? DMA_FROM_DEVICE : DMA_TO_DEVICE; + u64 start = sector; /* Map the scatter list for DMA access */ nents = dma_map_sg(&dd->pdev->dev, command->sg, nents, dma_dir); @@ -2450,8 +2467,12 @@ fis->opts = 1 << 7; fis->command = (dir == READ ? ATA_CMD_FPDMA_READ : ATA_CMD_FPDMA_WRITE); - *((unsigned int *) &fis->lba_low) = (start & 0xFFFFFF); - *((unsigned int *) &fis->lba_low_ex) = ((start >> 24) & 0xFFFFFF); + fis->lba_low = start & 0xFF; + fis->lba_mid = (start >> 8) & 0xFF; + fis->lba_hi = (start >> 16) & 0xFF; + fis->lba_low_ex = (start >> 24) & 0xFF; + fis->lba_mid_ex = (start >> 32) & 0xFF; + fis->lba_hi_ex = (start >> 40) & 0xFF; fis->device = 1 << 6; fis->features = nsect & 0xFF; fis->features_ex = (nsect >> 8) & 0xFF; @@ -2588,9 +2609,6 @@ if (!len || size) return 0; - if (size < 0) - return -EINVAL; - size += sprintf(&buf[size], "H/ S ACTive : [ 0x"); for (n = dd->slot_groups-1; n >= 0; n--) @@ -2660,9 +2678,6 @@ if (!len || size) return 0; - if (size < 0) - return -EINVAL; - size += sprintf(&buf[size], "Flag-port : [ %08lX ]\n", dd->port->flags); size += sprintf(&buf[size], "Flag-dd : [ %08lX ]\n", @@ -3214,8 +3229,8 @@ "Unable to check write protect progress\n"); else dev_info(&dd->pdev->dev, - "Write protect progress: %d%% (%d blocks)\n", - attr242.cur, attr242.data); + "Write protect progress: %u%% (%u blocks)\n", + attr242.cur, le32_to_cpu(attr242.data)); return rv; out3: @@ -3619,6 +3634,10 @@ bio_endio(bio, -ENODATA); return; } + if (unlikely(test_bit(MTIP_DDF_SEC_LOCK_BIT, &dd->dd_flag))) { + bio_endio(bio, -ENODATA); + return; + } } if (unlikely(!bio_has_data(bio))) { @@ -4168,7 +4187,13 @@ /* Table of device ids supported by this driver. */ static DEFINE_PCI_DEVICE_TABLE(mtip_pci_tbl) = { - { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P320_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P320H_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P320M_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P320S_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P325M_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P420H_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P420M_DEVICE_ID) }, + { PCI_DEVICE(PCI_VENDOR_ID_MICRON, P425M_DEVICE_ID) }, { 0 } }; @@ -4199,12 +4224,12 @@ { int error; - printk(KERN_INFO MTIP_DRV_NAME " Version " MTIP_DRV_VERSION "\n"); + pr_info(MTIP_DRV_NAME " Version " MTIP_DRV_VERSION "\n"); /* Allocate a major block device number to use with this driver. */ error = register_blkdev(0, MTIP_DRV_NAME); if (error <= 0) { - printk(KERN_ERR "Unable to register block device (%d)\n", + pr_err("Unable to register block device (%d)\n", error); return -EBUSY; } @@ -4213,7 +4238,7 @@ if (!dfs_parent) { dfs_parent = debugfs_create_dir("rssd", NULL); if (IS_ERR_OR_NULL(dfs_parent)) { - printk(KERN_WARNING "Error creating debugfs parent\n"); + pr_warn("Error creating debugfs parent\n"); dfs_parent = NULL; } } --- linux-lts-quantal-3.5.0.orig/drivers/block/mtip32xx/mtip32xx.h +++ linux-lts-quantal-3.5.0/drivers/block/mtip32xx/mtip32xx.h @@ -33,6 +33,9 @@ /* offset of Device Control register in PCIe extended capabilites space */ #define PCIE_CONFIG_EXT_DEVICE_CONTROL_OFFSET 0x48 +/* check for erase mode support during secure erase */ +#define MTIP_SEC_ERASE_MODE 0x2 + /* # of times to retry timed out/failed IOs */ #define MTIP_MAX_RETRIES 2 @@ -76,7 +79,13 @@ /* Micron Vendor ID & P320x SSD Device ID */ #define PCI_VENDOR_ID_MICRON 0x1344 -#define P320_DEVICE_ID 0x5150 +#define P320H_DEVICE_ID 0x5150 +#define P320M_DEVICE_ID 0x5151 +#define P320S_DEVICE_ID 0x5152 +#define P325M_DEVICE_ID 0x5153 +#define P420H_DEVICE_ID 0x5160 +#define P420M_DEVICE_ID 0x5161 +#define P425M_DEVICE_ID 0x5163 /* Driver name and version strings */ #define MTIP_DRV_NAME "mtip32xx" @@ -131,10 +140,12 @@ MTIP_PF_SVC_THD_STOP_BIT = 8, /* below are bit numbers in 'dd_flag' defined in driver_data */ + MTIP_DDF_SEC_LOCK_BIT = 0, MTIP_DDF_REMOVE_PENDING_BIT = 1, MTIP_DDF_OVER_TEMP_BIT = 2, MTIP_DDF_WRITE_PROTECT_BIT = 3, MTIP_DDF_STOP_IO = ((1 << MTIP_DDF_REMOVE_PENDING_BIT) | \ + (1 << MTIP_DDF_SEC_LOCK_BIT) | \ (1 << MTIP_DDF_OVER_TEMP_BIT) | \ (1 << MTIP_DDF_WRITE_PROTECT_BIT)), @@ -144,14 +155,14 @@ MTIP_DDF_REBUILD_FAILED_BIT = 8, }; -__packed struct smart_attr{ +struct smart_attr { u8 attr_id; u16 flags; u8 cur; u8 worst; u32 data; u8 res[3]; -}; +} __packed; /* Register Frame Information Structure (FIS), host to device. */ struct host_to_dev_fis { --- linux-lts-quantal-3.5.0.orig/drivers/block/aoe/aoeblk.c +++ linux-lts-quantal-3.5.0/drivers/block/aoe/aoeblk.c @@ -276,8 +276,6 @@ goto err_mempool; blk_queue_make_request(d->blkq, aoeblk_make_request); d->blkq->backing_dev_info.name = "aoe"; - if (bdi_init(&d->blkq->backing_dev_info)) - goto err_blkq; spin_lock_irqsave(&d->lock, flags); gd->major = AOE_MAJOR; gd->first_minor = d->sysminor * AOE_PARTITIONS; @@ -298,9 +296,6 @@ aoedisk_add_sysfs(d); return; -err_blkq: - blk_cleanup_queue(d->blkq); - d->blkq = NULL; err_mempool: mempool_destroy(d->bufpool); err_disk: --- linux-lts-quantal-3.5.0.orig/drivers/block/aoe/aoecmd.c +++ linux-lts-quantal-3.5.0/drivers/block/aoe/aoecmd.c @@ -30,11 +30,13 @@ { struct sk_buff *skb; - skb = alloc_skb(len, GFP_ATOMIC); + skb = alloc_skb(len + MAX_HEADER, GFP_ATOMIC); if (skb) { + skb_reserve(skb, MAX_HEADER); 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-lts-quantal-3.5.0.orig/drivers/block/aoe/aoe.h +++ linux-lts-quantal-3.5.0/drivers/block/aoe/aoe.h @@ -1,5 +1,5 @@ /* Copyright (c) 2007 Coraid, Inc. See COPYING for GPL terms. */ -#define VERSION "47" +#define VERSION "47q" #define AOE_MAJOR 152 #define DEVICE_NAME "aoe" --- linux-lts-quantal-3.5.0.orig/drivers/eisa/pci_eisa.c +++ linux-lts-quantal-3.5.0/drivers/eisa/pci_eisa.c @@ -19,10 +19,10 @@ /* There is only *one* pci_eisa device per machine, right ? */ static struct eisa_root_device pci_eisa_root; -static int __init pci_eisa_init(struct pci_dev *pdev, - const struct pci_device_id *ent) +static int __init pci_eisa_init(struct pci_dev *pdev) { - int rc; + int rc, i; + struct resource *res, *bus_res = NULL; if ((rc = pci_enable_device (pdev))) { printk (KERN_ERR "pci_eisa : Could not enable device %s\n", @@ -30,9 +30,30 @@ return rc; } + /* + * The Intel 82375 PCI-EISA bridge is a subtractive-decode PCI + * device, so the resources available on EISA are the same as those + * available on the 82375 bus. This works the same as a PCI-PCI + * bridge in subtractive-decode mode (see pci_read_bridge_bases()). + * We assume other PCI-EISA bridges are similar. + * + * eisa_root_register() can only deal with a single io port resource, + * so we use the first valid io port resource. + */ + pci_bus_for_each_resource(pdev->bus, res, i) + if (res && (res->flags & IORESOURCE_IO)) { + bus_res = res; + break; + } + + if (!bus_res) { + dev_err(&pdev->dev, "No resources available\n"); + return -1; + } + pci_eisa_root.dev = &pdev->dev; - pci_eisa_root.res = pdev->bus->resource[0]; - pci_eisa_root.bus_base_addr = pdev->bus->resource[0]->start; + pci_eisa_root.res = bus_res; + pci_eisa_root.bus_base_addr = bus_res->start; pci_eisa_root.slots = EISA_MAX_SLOTS; pci_eisa_root.dma_mask = pdev->dma_mask; dev_set_drvdata(pci_eisa_root.dev, &pci_eisa_root); @@ -45,22 +66,26 @@ return 0; } -static struct pci_device_id pci_eisa_pci_tbl[] = { - { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, - PCI_CLASS_BRIDGE_EISA << 8, 0xffff00, 0 }, - { 0, } -}; - -static struct pci_driver __refdata pci_eisa_driver = { - .name = "pci_eisa", - .id_table = pci_eisa_pci_tbl, - .probe = pci_eisa_init, -}; - -static int __init pci_eisa_init_module (void) +/* + * We have to call pci_eisa_init_early() before pnpacpi_init()/isapnp_init(). + * Otherwise pnp resource will get enabled early and could prevent eisa + * to be initialized. + * Also need to make sure pci_eisa_init_early() is called after + * x86/pci_subsys_init(). + * So need to use subsys_initcall_sync with it. + */ +static int __init pci_eisa_init_early(void) { - return pci_register_driver (&pci_eisa_driver); -} + struct pci_dev *dev = NULL; + int ret; + + for_each_pci_dev(dev) + if ((dev->class >> 8) == PCI_CLASS_BRIDGE_EISA) { + ret = pci_eisa_init(dev); + if (ret) + return ret; + } -device_initcall(pci_eisa_init_module); -MODULE_DEVICE_TABLE(pci, pci_eisa_pci_tbl); + return 0; +} +subsys_initcall_sync(pci_eisa_init_early); --- linux-lts-quantal-3.5.0.orig/drivers/regulator/core.c +++ linux-lts-quantal-3.5.0/drivers/regulator/core.c @@ -2769,9 +2769,13 @@ return 0; err: - pr_err("Failed to enable %s: %d\n", consumers[i].supply, ret); - while (--i >= 0) - regulator_disable(consumers[i].consumer); + for (i = 0; i < num_consumers; i++) { + if (consumers[i].ret < 0) + pr_err("Failed to enable %s: %d\n", consumers[i].supply, + consumers[i].ret); + else + regulator_disable(consumers[i].consumer); + } return ret; } --- linux-lts-quantal-3.5.0.orig/drivers/regulator/max8998.c +++ linux-lts-quantal-3.5.0/drivers/regulator/max8998.c @@ -51,39 +51,39 @@ int step; }; -/* Voltage maps */ +/* Voltage maps in uV*/ static const struct voltage_map_desc ldo23_voltage_map_desc = { - .min = 800, .step = 50, .max = 1300, + .min = 800000, .step = 50000, .max = 1300000, }; static const struct voltage_map_desc ldo456711_voltage_map_desc = { - .min = 1600, .step = 100, .max = 3600, + .min = 1600000, .step = 100000, .max = 3600000, }; static const struct voltage_map_desc ldo8_voltage_map_desc = { - .min = 3000, .step = 100, .max = 3600, + .min = 3000000, .step = 100000, .max = 3600000, }; static const struct voltage_map_desc ldo9_voltage_map_desc = { - .min = 2800, .step = 100, .max = 3100, + .min = 2800000, .step = 100000, .max = 3100000, }; static const struct voltage_map_desc ldo10_voltage_map_desc = { - .min = 950, .step = 50, .max = 1300, + .min = 950000, .step = 50000, .max = 1300000, }; static const struct voltage_map_desc ldo1213_voltage_map_desc = { - .min = 800, .step = 100, .max = 3300, + .min = 800000, .step = 100000, .max = 3300000, }; static const struct voltage_map_desc ldo1415_voltage_map_desc = { - .min = 1200, .step = 100, .max = 3300, + .min = 1200000, .step = 100000, .max = 3300000, }; static const struct voltage_map_desc ldo1617_voltage_map_desc = { - .min = 1600, .step = 100, .max = 3600, + .min = 1600000, .step = 100000, .max = 3600000, }; static const struct voltage_map_desc buck12_voltage_map_desc = { - .min = 750, .step = 25, .max = 1525, + .min = 750000, .step = 25000, .max = 1525000, }; static const struct voltage_map_desc buck3_voltage_map_desc = { - .min = 1600, .step = 100, .max = 3600, + .min = 1600000, .step = 100000, .max = 3600000, }; static const struct voltage_map_desc buck4_voltage_map_desc = { - .min = 800, .step = 100, .max = 2300, + .min = 800000, .step = 100000, .max = 2300000, }; static const struct voltage_map_desc *ldo_voltage_map[] = { @@ -111,27 +111,6 @@ &buck4_voltage_map_desc, /* BUCK4 */ }; -static int max8998_list_voltage(struct regulator_dev *rdev, - unsigned int selector) -{ - const struct voltage_map_desc *desc; - int ldo = rdev_get_id(rdev); - int val; - - if (ldo >= ARRAY_SIZE(ldo_voltage_map)) - return -EINVAL; - - desc = ldo_voltage_map[ldo]; - if (desc == NULL) - return -EINVAL; - - val = desc->min + desc->step * selector; - if (val > desc->max) - return -EINVAL; - - return val * 1000; -} - static int max8998_get_enable_register(struct regulator_dev *rdev, int *reg, int *shift) { @@ -297,41 +276,18 @@ return val; } -static int max8998_set_voltage_ldo(struct regulator_dev *rdev, - int min_uV, int max_uV, unsigned *selector) +static int max8998_set_voltage_ldo_sel(struct regulator_dev *rdev, + unsigned selector) { struct max8998_data *max8998 = rdev_get_drvdata(rdev); struct i2c_client *i2c = max8998->iodev->i2c; - int min_vol = min_uV / 1000, max_vol = max_uV / 1000; - const struct voltage_map_desc *desc; - int ldo = rdev_get_id(rdev); - int reg, shift = 0, mask, ret, i; - - if (ldo >= ARRAY_SIZE(ldo_voltage_map)) - return -EINVAL; - - desc = ldo_voltage_map[ldo]; - if (desc == NULL) - return -EINVAL; - - if (max_vol < desc->min || min_vol > desc->max) - return -EINVAL; - - if (min_vol < desc->min) - min_vol = desc->min; - - i = DIV_ROUND_UP(min_vol - desc->min, desc->step); - - if (desc->min + desc->step*i > max_vol) - return -EINVAL; - - *selector = i; + int reg, shift = 0, mask, ret; ret = max8998_get_voltage_register(rdev, ®, &shift, &mask); if (ret) return ret; - ret = max8998_update_reg(i2c, reg, i<iodev->dev); struct i2c_client *i2c = max8998->iodev->i2c; - int min_vol = min_uV / 1000, max_vol = max_uV / 1000; - const struct voltage_map_desc *desc; int buck = rdev_get_id(rdev); int reg, shift = 0, mask, ret; - int i, j, previous_sel; + int j, previous_sel; static u8 buck1_last_val; - if (buck >= ARRAY_SIZE(ldo_voltage_map)) - return -EINVAL; - - desc = ldo_voltage_map[buck]; - - if (desc == NULL) - return -EINVAL; - - if (max_vol < desc->min || min_vol > desc->max) - return -EINVAL; - - if (min_vol < desc->min) - min_vol = desc->min; - - i = DIV_ROUND_UP(min_vol - desc->min, desc->step); - - if (desc->min + desc->step*i > max_vol) - return -EINVAL; - - *selector = i; - ret = max8998_get_voltage_register(rdev, ®, &shift, &mask); if (ret) return ret; @@ -390,19 +323,19 @@ /* Check if voltage needs to be changed */ /* if previous_voltage equal new voltage, return */ - if (previous_sel == i) { + if (previous_sel == selector) { dev_dbg(max8998->dev, "No voltage change, old:%d, new:%d\n", - max8998_list_voltage(rdev, previous_sel), - max8998_list_voltage(rdev, i)); + regulator_list_voltage_linear(rdev, previous_sel), + regulator_list_voltage_linear(rdev, selector)); return ret; } switch (buck) { case MAX8998_BUCK1: dev_dbg(max8998->dev, - "BUCK1, i:%d, buck1_vol1:%d, buck1_vol2:%d\n" + "BUCK1, selector:%d, buck1_vol1:%d, buck1_vol2:%d\n" "buck1_vol3:%d, buck1_vol4:%d\n", - i, max8998->buck1_vol[0], max8998->buck1_vol[1], + selector, max8998->buck1_vol[0], max8998->buck1_vol[1], max8998->buck1_vol[2], max8998->buck1_vol[3]); if (gpio_is_valid(pdata->buck1_set1) && @@ -411,7 +344,7 @@ /* check if requested voltage */ /* value is already defined */ for (j = 0; j < ARRAY_SIZE(max8998->buck1_vol); j++) { - if (max8998->buck1_vol[j] == i) { + if (max8998->buck1_vol[j] == selector) { max8998->buck1_idx = j; buck1_gpio_set(pdata->buck1_set1, pdata->buck1_set2, j); @@ -426,11 +359,11 @@ max8998->buck1_idx = (buck1_last_val % 2) + 2; dev_dbg(max8998->dev, "max8998->buck1_idx:%d\n", max8998->buck1_idx); - max8998->buck1_vol[max8998->buck1_idx] = i; + max8998->buck1_vol[max8998->buck1_idx] = selector; ret = max8998_get_voltage_register(rdev, ®, &shift, &mask); - ret = max8998_write_reg(i2c, reg, i); + ret = max8998_write_reg(i2c, reg, selector); buck1_gpio_set(pdata->buck1_set1, pdata->buck1_set2, max8998->buck1_idx); buck1_last_val++; @@ -440,20 +373,20 @@ gpio_get_value(pdata->buck1_set2)); break; } else { - ret = max8998_write_reg(i2c, reg, i); + ret = max8998_write_reg(i2c, reg, selector); } break; case MAX8998_BUCK2: dev_dbg(max8998->dev, - "BUCK2, i:%d buck2_vol1:%d, buck2_vol2:%d\n" - , i, max8998->buck2_vol[0], max8998->buck2_vol[1]); + "BUCK2, selector:%d buck2_vol1:%d, buck2_vol2:%d\n", + selector, max8998->buck2_vol[0], max8998->buck2_vol[1]); if (gpio_is_valid(pdata->buck2_set3)) { /* check if requested voltage */ /* value is already defined */ for (j = 0; j < ARRAY_SIZE(max8998->buck2_vol); j++) { - if (max8998->buck2_vol[j] == i) { + if (max8998->buck2_vol[j] == selector) { max8998->buck2_idx = j; buck2_gpio_set(pdata->buck2_set3, j); goto buck2_exit; @@ -465,20 +398,21 @@ max8998_get_voltage_register(rdev, ®, &shift, &mask); - ret = max8998_write_reg(i2c, reg, i); - max8998->buck2_vol[max8998->buck2_idx] = i; + ret = max8998_write_reg(i2c, reg, selector); + max8998->buck2_vol[max8998->buck2_idx] = selector; buck2_gpio_set(pdata->buck2_set3, max8998->buck2_idx); buck2_exit: dev_dbg(max8998->dev, "%s: SET3:%d\n", i2c->name, gpio_get_value(pdata->buck2_set3)); } else { - ret = max8998_write_reg(i2c, reg, i); + ret = max8998_write_reg(i2c, reg, selector); } break; case MAX8998_BUCK3: case MAX8998_BUCK4: - ret = max8998_update_reg(i2c, reg, i<iodev->type == TYPE_MAX8998 && !(val & MAX8998_ENRAMP)) return 0; - difference = (new_selector - old_selector) * desc->step; + difference = (new_selector - old_selector) * desc->step / 1000; if (difference > 0) - return difference / ((val & 0x0f) + 1); + return DIV_ROUND_UP(difference, (val & 0x0f) + 1); return 0; } static struct regulator_ops max8998_ldo_ops = { - .list_voltage = max8998_list_voltage, + .list_voltage = regulator_list_voltage_linear, + .map_voltage = regulator_map_voltage_linear, .is_enabled = max8998_ldo_is_enabled, .enable = max8998_ldo_enable, .disable = max8998_ldo_disable, .get_voltage_sel = max8998_get_voltage_sel, - .set_voltage = max8998_set_voltage_ldo, + .set_voltage_sel = max8998_set_voltage_ldo_sel, .set_suspend_enable = max8998_ldo_enable, .set_suspend_disable = max8998_ldo_disable, }; static struct regulator_ops max8998_buck_ops = { - .list_voltage = max8998_list_voltage, + .list_voltage = regulator_list_voltage_linear, + .map_voltage = regulator_map_voltage_linear, .is_enabled = max8998_ldo_is_enabled, .enable = max8998_ldo_enable, .disable = max8998_ldo_disable, .get_voltage_sel = max8998_get_voltage_sel, - .set_voltage = max8998_set_voltage_buck, + .set_voltage_sel = max8998_set_voltage_buck_sel, .set_voltage_time_sel = max8998_set_voltage_buck_time_sel, .set_suspend_enable = max8998_ldo_enable, .set_suspend_disable = max8998_ldo_disable, @@ -772,7 +708,7 @@ i = 0; while (buck12_voltage_map_desc.min + buck12_voltage_map_desc.step*i - < (pdata->buck1_voltage1 / 1000)) + < pdata->buck1_voltage1) i++; max8998->buck1_vol[0] = i; ret = max8998_write_reg(i2c, MAX8998_REG_BUCK1_VOLTAGE1, i); @@ -783,7 +719,7 @@ i = 0; while (buck12_voltage_map_desc.min + buck12_voltage_map_desc.step*i - < (pdata->buck1_voltage2 / 1000)) + < pdata->buck1_voltage2) i++; max8998->buck1_vol[1] = i; @@ -795,7 +731,7 @@ i = 0; while (buck12_voltage_map_desc.min + buck12_voltage_map_desc.step*i - < (pdata->buck1_voltage3 / 1000)) + < pdata->buck1_voltage3) i++; max8998->buck1_vol[2] = i; @@ -807,7 +743,7 @@ i = 0; while (buck12_voltage_map_desc.min + buck12_voltage_map_desc.step*i - < (pdata->buck1_voltage4 / 1000)) + < pdata->buck1_voltage4) i++; max8998->buck1_vol[3] = i; @@ -833,7 +769,7 @@ i = 0; while (buck12_voltage_map_desc.min + buck12_voltage_map_desc.step*i - < (pdata->buck2_voltage1 / 1000)) + < pdata->buck2_voltage1) i++; max8998->buck2_vol[0] = i; ret = max8998_write_reg(i2c, MAX8998_REG_BUCK2_VOLTAGE1, i); @@ -844,7 +780,7 @@ i = 0; while (buck12_voltage_map_desc.min + buck12_voltage_map_desc.step*i - < (pdata->buck2_voltage2 / 1000)) + < pdata->buck2_voltage2) i++; max8998->buck2_vol[1] = i; ret = max8998_write_reg(i2c, MAX8998_REG_BUCK2_VOLTAGE2, i); @@ -860,7 +796,10 @@ desc = ldo_voltage_map[id]; if (desc && regulators[index].ops != &max8998_others_ops) { int count = (desc->max - desc->min) / desc->step + 1; + regulators[index].n_voltages = count; + regulators[index].min_uV = desc->min; + regulators[index].uV_step = desc->step; } config.dev = max8998->dev; --- linux-lts-quantal-3.5.0.orig/drivers/regulator/max8997.c +++ linux-lts-quantal-3.5.0/drivers/regulator/max8997.c @@ -69,26 +69,26 @@ int step; }; -/* Voltage maps in mV */ +/* Voltage maps in uV */ static const struct voltage_map_desc ldo_voltage_map_desc = { - .min = 800, .max = 3950, .step = 50, + .min = 800000, .max = 3950000, .step = 50000, }; /* LDO1 ~ 18, 21 all */ static const struct voltage_map_desc buck1245_voltage_map_desc = { - .min = 650, .max = 2225, .step = 25, + .min = 650000, .max = 2225000, .step = 25000, }; /* Buck1, 2, 4, 5 */ static const struct voltage_map_desc buck37_voltage_map_desc = { - .min = 750, .max = 3900, .step = 50, + .min = 750000, .max = 3900000, .step = 50000, }; /* Buck3, 7 */ -/* current map in mA */ +/* current map in uA */ static const struct voltage_map_desc charger_current_map_desc = { - .min = 200, .max = 950, .step = 50, + .min = 200000, .max = 950000, .step = 50000, }; static const struct voltage_map_desc topoff_current_map_desc = { - .min = 50, .max = 200, .step = 10, + .min = 50000, .max = 200000, .step = 10000, }; static const struct voltage_map_desc *reg_voltage_map[] = { @@ -192,7 +192,7 @@ if (val > desc->max) return -EINVAL; - return val * 1000; + return val; } static int max8997_get_enable_register(struct regulator_dev *rdev, @@ -483,7 +483,6 @@ { struct max8997_data *max8997 = rdev_get_drvdata(rdev); struct i2c_client *i2c = max8997->iodev->i2c; - int min_vol = min_uV / 1000, max_vol = max_uV / 1000; const struct voltage_map_desc *desc; int rid = rdev_get_id(rdev); int i, reg, shift, mask, ret; @@ -507,7 +506,7 @@ desc = reg_voltage_map[rid]; - i = max8997_get_voltage_proper_val(desc, min_vol, max_vol); + i = max8997_get_voltage_proper_val(desc, min_uV, max_uV); if (i < 0) return i; @@ -555,7 +554,7 @@ case MAX8997_BUCK4: case MAX8997_BUCK5: return DIV_ROUND_UP(desc->step * (new_selector - old_selector), - max8997->ramp_delay); + max8997->ramp_delay * 1000); } return 0; @@ -654,7 +653,6 @@ const struct voltage_map_desc *desc; int new_val, new_idx, damage, tmp_val, tmp_idx, tmp_dmg; bool gpio_dvs_mode = false; - int min_vol = min_uV / 1000, max_vol = max_uV / 1000; if (rid < MAX8997_BUCK1 || rid > MAX8997_BUCK7) return -EINVAL; @@ -679,7 +677,7 @@ selector); desc = reg_voltage_map[rid]; - new_val = max8997_get_voltage_proper_val(desc, min_vol, max_vol); + new_val = max8997_get_voltage_proper_val(desc, min_uV, max_uV); if (new_val < 0) return new_val; @@ -977,8 +975,8 @@ max8997->buck1_vol[i] = ret = max8997_get_voltage_proper_val( &buck1245_voltage_map_desc, - pdata->buck1_voltage[i] / 1000, - pdata->buck1_voltage[i] / 1000 + + pdata->buck1_voltage[i], + pdata->buck1_voltage[i] + buck1245_voltage_map_desc.step); if (ret < 0) goto err_out; @@ -986,8 +984,8 @@ max8997->buck2_vol[i] = ret = max8997_get_voltage_proper_val( &buck1245_voltage_map_desc, - pdata->buck2_voltage[i] / 1000, - pdata->buck2_voltage[i] / 1000 + + pdata->buck2_voltage[i], + pdata->buck2_voltage[i] + buck1245_voltage_map_desc.step); if (ret < 0) goto err_out; @@ -995,8 +993,8 @@ max8997->buck5_vol[i] = ret = max8997_get_voltage_proper_val( &buck1245_voltage_map_desc, - pdata->buck5_voltage[i] / 1000, - pdata->buck5_voltage[i] / 1000 + + pdata->buck5_voltage[i], + pdata->buck5_voltage[i] + buck1245_voltage_map_desc.step); if (ret < 0) goto err_out; --- linux-lts-quantal-3.5.0.orig/drivers/regulator/wm831x-dcdc.c +++ linux-lts-quantal-3.5.0/drivers/regulator/wm831x-dcdc.c @@ -296,7 +296,7 @@ if (vsel > dcdc->dvs_vsel) { ret = wm831x_set_bits(wm831x, dvs_reg, WM831X_DC1_DVS_VSEL_MASK, - dcdc->dvs_vsel); + vsel); if (ret == 0) dcdc->dvs_vsel = vsel; else --- linux-lts-quantal-3.5.0.orig/drivers/regulator/twl-regulator.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/regulator/palmas-regulator.c +++ linux-lts-quantal-3.5.0/drivers/regulator/palmas-regulator.c @@ -675,7 +675,7 @@ pmic->desc[id].vsel_mask = SMPS10_VSEL; pmic->desc[id].enable_reg = PALMAS_BASE_TO_REG(PALMAS_SMPS_BASE, - PALMAS_SMPS10_STATUS); + PALMAS_SMPS10_CTRL); pmic->desc[id].enable_mask = SMPS10_BOOST_EN; } --- linux-lts-quantal-3.5.0.orig/drivers/staging/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/iio/light/tsl2x7x_core.c +++ linux-lts-quantal-3.5.0/drivers/staging/iio/light/tsl2x7x_core.c @@ -1924,6 +1924,7 @@ dev_info(&chip->client->dev, "%s: i2c device found does not match expected id\n", __func__); + ret = -EINVAL; goto fail1; } @@ -1962,7 +1963,7 @@ if (ret) { dev_err(&clientp->dev, "%s: irq request failed", __func__); - goto fail2; + goto fail1; } } @@ -1975,17 +1976,17 @@ if (ret) { dev_err(&clientp->dev, "%s: iio registration failed\n", __func__); - goto fail1; + goto fail2; } dev_info(&clientp->dev, "%s Light sensor found.\n", id->name); return 0; -fail1: +fail2: if (clientp->irq) free_irq(clientp->irq, indio_dev); -fail2: +fail1: iio_device_free(indio_dev); return ret; --- linux-lts-quantal-3.5.0.orig/drivers/staging/zram/zram_sysfs.c +++ linux-lts-quantal-3.5.0/drivers/staging/zram/zram_sysfs.c @@ -186,10 +186,12 @@ u64 val = 0; struct zram *zram = dev_to_zram(dev); + down_read(&zram->init_lock); if (zram->init_done) { val = zs_get_total_size_bytes(zram->mem_pool) + ((u64)(zram->stats.pages_expand) << PAGE_SHIFT); } + up_read(&zram->init_lock); return sprintf(buf, "%llu\n", val); } --- linux-lts-quantal-3.5.0.orig/drivers/staging/zram/zram_drv.c +++ linux-lts-quantal-3.5.0/drivers/staging/zram/zram_drv.c @@ -235,7 +235,7 @@ if (is_partial_io(bvec)) { /* Use a temporary buffer to decompress the page */ - uncmem = kmalloc(PAGE_SIZE, GFP_KERNEL); + uncmem = kmalloc(PAGE_SIZE, GFP_NOIO); if (!uncmem) { pr_info("Error allocating temp memory!\n"); return -ENOMEM; @@ -330,7 +330,7 @@ * This is a partial IO. We need to read the full page * before to write the changes. */ - uncmem = kmalloc(PAGE_SIZE, GFP_KERNEL); + uncmem = kmalloc(PAGE_SIZE, GFP_NOIO); if (!uncmem) { pr_info("Error allocating temp memory!\n"); ret = -ENOMEM; @@ -361,8 +361,6 @@ if (page_zero_filled(uncmem)) { kunmap_atomic(user_mem); - if (is_partial_io(bvec)) - kfree(uncmem); zram_stat_inc(&zram->stats.pages_zero); zram_set_flag(zram, index, ZRAM_ZERO); ret = 0; @@ -535,13 +533,20 @@ */ static inline int valid_io_request(struct zram *zram, struct bio *bio) { - if (unlikely( - (bio->bi_sector >= (zram->disksize >> SECTOR_SHIFT)) || - (bio->bi_sector & (ZRAM_SECTOR_PER_LOGICAL_BLOCK - 1)) || - (bio->bi_size & (ZRAM_LOGICAL_BLOCK_SIZE - 1)))) { + u64 start, end, bound; + + /* unaligned request */ + if (unlikely(bio->bi_sector & (ZRAM_SECTOR_PER_LOGICAL_BLOCK - 1))) + return 0; + if (unlikely(bio->bi_size & (ZRAM_LOGICAL_BLOCK_SIZE - 1))) + return 0; + start = bio->bi_sector; + end = start + (bio->bi_size >> SECTOR_SHIFT); + bound = zram->disksize >> SECTOR_SHIFT; + /* out of range range */ + if (unlikely(start >= bound || end > bound || start > end)) return 0; - } /* I/O request is valid */ return 1; @@ -703,7 +708,7 @@ static int create_device(struct zram *zram, int device_id) { - int ret = 0; + int ret = -ENOMEM; init_rwsem(&zram->lock); init_rwsem(&zram->init_lock); @@ -713,7 +718,6 @@ if (!zram->queue) { pr_err("Error allocating disk queue for device %d\n", device_id); - ret = -ENOMEM; goto out; } @@ -723,11 +727,9 @@ /* gendisk structure */ zram->disk = alloc_disk(1); if (!zram->disk) { - blk_cleanup_queue(zram->queue); pr_warning("Error allocating disk structure for device %d\n", device_id); - ret = -ENOMEM; - goto out; + goto out_free_queue; } zram->disk->major = zram_major; @@ -756,11 +758,17 @@ &zram_disk_attr_group); if (ret < 0) { pr_warning("Error creating sysfs group"); - goto out; + goto out_free_disk; } zram->init_done = 0; + return 0; +out_free_disk: + del_gendisk(zram->disk); + put_disk(zram->disk); +out_free_queue: + blk_cleanup_queue(zram->queue); out: return ret; } @@ -841,9 +849,11 @@ for (i = 0; i < num_devices; i++) { zram = &zram_devices[i]; + get_disk(zram->disk); destroy_device(zram); if (zram->init_done) zram_reset_device(zram); + put_disk(zram->disk); } unregister_blkdev(zram_major, "zram"); --- linux-lts-quantal-3.5.0.orig/drivers/staging/speakup/main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/speakup/synth.c +++ linux-lts-quantal-3.5.0/drivers/staging/speakup/synth.c @@ -342,7 +342,7 @@ mutex_lock(&spk_mutex); /* First, check if we already have it loaded. */ - for (i = 0; synths[i] != NULL && i < MAXSYNTHS; i++) + for (i = 0; i < MAXSYNTHS && synths[i] != NULL; i++) if (strcmp(synths[i]->name, synth_name) == 0) synth = synths[i]; @@ -423,7 +423,7 @@ int i; int status = 0; mutex_lock(&spk_mutex); - for (i = 0; synths[i] != NULL && i < MAXSYNTHS; i++) + for (i = 0; i < MAXSYNTHS && synths[i] != NULL; i++) /* synth_remove() is responsible for rotating the array down */ if (in_synth == synths[i]) { mutex_unlock(&spk_mutex); --- linux-lts-quantal-3.5.0.orig/drivers/staging/speakup/speakup_soft.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/zcache/zcache-main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/android/binder.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/android/logger.c +++ linux-lts-quantal-3.5.0/drivers/staging/android/logger.c @@ -357,7 +357,7 @@ unsigned long nr_segs, loff_t ppos) { struct logger_log *log = file_get_log(iocb->ki_filp); - size_t orig = log->w_off; + size_t orig; struct logger_entry header; struct timespec now; ssize_t ret = 0; @@ -376,6 +376,8 @@ mutex_lock(&log->mutex); + orig = log->w_off; + /* * Fix up any readers, pulling them forward to the first readable * entry after (what will be) the new write offset. We do this now --- linux-lts-quantal-3.5.0.orig/drivers/staging/bcm/InterfaceInit.h +++ linux-lts-quantal-3.5.0/drivers/staging/bcm/InterfaceInit.h @@ -8,10 +8,10 @@ #define BCM_USB_PRODUCT_ID_T3 0x0300 #define BCM_USB_PRODUCT_ID_T3B 0x0210 #define BCM_USB_PRODUCT_ID_T3L 0x0220 -#define BCM_USB_PRODUCT_ID_SM250 0xbccd #define BCM_USB_PRODUCT_ID_SYM 0x15E #define BCM_USB_PRODUCT_ID_1901 0xe017 #define BCM_USB_PRODUCT_ID_226 0x0132 +#define BCM_USB_PRODUCT_ID_ZTE_326 0x173 /* ZTE AX326 */ #define BCM_USB_PRODUCT_ID_ZTE_TU25 0x0007 #define BCM_USB_MINOR_BASE 192 --- linux-lts-quantal-3.5.0.orig/drivers/staging/bcm/InterfaceInit.c +++ linux-lts-quantal-3.5.0/drivers/staging/bcm/InterfaceInit.c @@ -4,10 +4,11 @@ { USB_DEVICE(BCM_USB_VENDOR_ID_T3, BCM_USB_PRODUCT_ID_T3) }, { USB_DEVICE(BCM_USB_VENDOR_ID_T3, BCM_USB_PRODUCT_ID_T3B) }, { USB_DEVICE(BCM_USB_VENDOR_ID_T3, BCM_USB_PRODUCT_ID_T3L) }, - { USB_DEVICE(BCM_USB_VENDOR_ID_T3, BCM_USB_PRODUCT_ID_SM250) }, + { USB_DEVICE(BCM_USB_VENDOR_ID_T3, BCM_USB_PRODUCT_ID_SYM) }, { USB_DEVICE(BCM_USB_VENDOR_ID_ZTE, BCM_USB_PRODUCT_ID_226) }, { USB_DEVICE(BCM_USB_VENDOR_ID_FOXCONN, BCM_USB_PRODUCT_ID_1901) }, { USB_DEVICE(BCM_USB_VENDOR_ID_ZTE, BCM_USB_PRODUCT_ID_ZTE_TU25) }, + { USB_DEVICE(BCM_USB_VENDOR_ID_ZTE, BCM_USB_PRODUCT_ID_ZTE_326) }, { } }; MODULE_DEVICE_TABLE(usb, InterfaceUsbtable); --- linux-lts-quantal-3.5.0.orig/drivers/staging/rtl8192e/rtl8192e/rtl_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/rtl8192e/rtl8192e/r8192E_firmware.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/Kconfig +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/Kconfig @@ -447,6 +447,7 @@ config COMEDI_NI_AT_A2150 tristate "NI AT-A2150 ISA card support" + select COMEDI_FC depends on COMEDI_NI_COMMON depends on VIRT_TO_BUS ---help--- --- linux-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/comedi_fops.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/comedi_fops.c @@ -425,8 +425,16 @@ /* Device config is special, because it must work on * an unconfigured device. */ if (cmd == COMEDI_DEVCONFIG) { + if (minor >= COMEDI_NUM_BOARD_MINORS) { + /* Device config not appropriate on non-board minors. */ + rc = -ENOTTY; + goto done; + } rc = do_devconfig_ioctl(dev, (struct comedi_devconfig __user *)arg); + if (rc == 0) + /* Evade comedi_auto_unconfig(). */ + dev_file_info->hardware_device = NULL; goto done; } @@ -1132,7 +1140,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; @@ -1359,25 +1367,21 @@ DPRINTK("subdevice busy\n"); return -EBUSY; } - s->busy = file; /* make sure channel/gain list isn't too long */ if (user_cmd.chanlist_len > s->len_chanlist) { DPRINTK("channel/gain list too long %u > %d\n", user_cmd.chanlist_len, s->len_chanlist); - ret = -EINVAL; - goto cleanup; + return -EINVAL; } /* make sure channel/gain list isn't too short */ if (user_cmd.chanlist_len < 1) { DPRINTK("channel/gain list too short %u < 1\n", user_cmd.chanlist_len); - ret = -EINVAL; - goto cleanup; + return -EINVAL; } - kfree(async->cmd.chanlist); async->cmd = user_cmd; async->cmd.data = NULL; /* load channel/gain list */ @@ -1385,8 +1389,7 @@ kmalloc(async->cmd.chanlist_len * sizeof(int), GFP_KERNEL); if (!async->cmd.chanlist) { DPRINTK("allocation failed\n"); - ret = -ENOMEM; - goto cleanup; + return -ENOMEM; } if (copy_from_user(async->cmd.chanlist, user_cmd.chanlist, @@ -1438,6 +1441,9 @@ comedi_set_subdevice_runflags(s, ~0, SRF_USER | SRF_RUNNING); + /* set s->busy _after_ setting SRF_RUNNING flag to avoid race with + * comedi_read() or comedi_write() */ + s->busy = file; ret = s->do_cmd(dev, s); if (ret == 0) return 0; @@ -1652,6 +1658,7 @@ void *file) { struct comedi_subdevice *s; + int ret; if (arg >= dev->n_subdevices) return -EINVAL; @@ -1668,7 +1675,11 @@ if (s->busy != file) return -EBUSY; - return do_cancel(dev, s); + ret = do_cancel(dev, s); + if (comedi_get_subdevice_runflags(s) & SRF_USER) + wake_up_interruptible(&s->async->wait_head); + + return ret; } /* @@ -1859,7 +1870,7 @@ mask = 0; read_subdev = comedi_get_read_subdevice(dev_file_info); - if (read_subdev) { + if (read_subdev && read_subdev->async) { poll_wait(file, &read_subdev->async->wait_head, wait); if (!read_subdev->busy || comedi_buf_read_n_available(read_subdev->async) > 0 @@ -1869,7 +1880,7 @@ } } write_subdev = comedi_get_write_subdevice(dev_file_info); - if (write_subdev) { + if (write_subdev && write_subdev->async) { poll_wait(file, &write_subdev->async->wait_head, wait); comedi_buf_write_alloc(write_subdev->async, write_subdev->async->prealloc_bufsz); @@ -1911,7 +1922,7 @@ } s = comedi_get_write_subdevice(dev_file_info); - if (s == NULL) { + if (!s || !s->async) { retval = -EIO; goto done; } @@ -1935,6 +1946,7 @@ if (!(comedi_get_subdevice_runflags(s) & SRF_RUNNING)) { if (count == 0) { + mutex_lock(&dev->mutex); if (comedi_get_subdevice_runflags(s) & SRF_ERROR) { retval = -EPIPE; @@ -1942,6 +1954,7 @@ retval = 0; } do_become_nonbusy(dev, s); + mutex_unlock(&dev->mutex); } break; } @@ -2022,7 +2035,7 @@ } s = comedi_get_read_subdevice(dev_file_info); - if (s == NULL) { + if (!s || !s->async) { retval = -EIO; goto done; } @@ -2056,6 +2069,7 @@ if (n == 0) { if (!(comedi_get_subdevice_runflags(s) & SRF_RUNNING)) { + mutex_lock(&dev->mutex); do_become_nonbusy(dev, s); if (comedi_get_subdevice_runflags(s) & SRF_ERROR) { @@ -2063,6 +2077,7 @@ } else { retval = 0; } + mutex_unlock(&dev->mutex); break; } if (file->f_flags & O_NONBLOCK) { @@ -2100,9 +2115,11 @@ buf += n; break; /* makes device work like a pipe */ } - if (!(comedi_get_subdevice_runflags(s) & (SRF_ERROR | SRF_RUNNING)) && - async->buf_read_count - async->buf_write_count == 0) { - do_become_nonbusy(dev, s); + if (!(comedi_get_subdevice_runflags(s) & (SRF_ERROR | SRF_RUNNING))) { + mutex_lock(&dev->mutex); + if (async->buf_read_count - async->buf_write_count == 0) + do_become_nonbusy(dev, s); + mutex_unlock(&dev->mutex); } set_current_state(TASK_RUNNING); remove_wait_queue(&async->wait_head, &wait); @@ -2122,6 +2139,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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/ni_pcimio.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/drivers/ni_pcimio.c @@ -963,7 +963,7 @@ .ao_range_table = &range_ni_M_625x_ao, .reg_type = ni_reg_625x, .ao_unipolar = 0, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 8, .caldac = {caldac_none}, .has_8255 = 0, @@ -982,7 +982,7 @@ .ao_range_table = &range_ni_M_625x_ao, .reg_type = ni_reg_625x, .ao_unipolar = 0, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 8, .caldac = {caldac_none}, .has_8255 = 0, @@ -1001,7 +1001,7 @@ .ao_range_table = &range_ni_M_625x_ao, .reg_type = ni_reg_625x, .ao_unipolar = 0, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 8, .caldac = {caldac_none}, .has_8255 = 0, @@ -1037,7 +1037,7 @@ .ao_range_table = &range_ni_M_625x_ao, .reg_type = ni_reg_625x, .ao_unipolar = 0, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 32, .caldac = {caldac_none}, .has_8255 = 0, @@ -1056,7 +1056,7 @@ .ao_range_table = &range_ni_M_625x_ao, .reg_type = ni_reg_625x, .ao_unipolar = 0, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 32, .caldac = {caldac_none}, .has_8255 = 0, @@ -1092,7 +1092,7 @@ .ao_range_table = &range_ni_M_628x_ao, .reg_type = ni_reg_628x, .ao_unipolar = 1, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 8, .caldac = {caldac_none}, .has_8255 = 0, @@ -1111,7 +1111,7 @@ .ao_range_table = &range_ni_M_628x_ao, .reg_type = ni_reg_628x, .ao_unipolar = 1, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 8, .caldac = {caldac_none}, .has_8255 = 0, @@ -1147,7 +1147,7 @@ .ao_range_table = &range_ni_M_628x_ao, .reg_type = ni_reg_628x, .ao_unipolar = 1, - .ao_speed = 357, + .ao_speed = 350, .num_p0_dio_channels = 32, .caldac = {caldac_none}, .has_8255 = 0, --- linux-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/usbduxfast.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/s626.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/drivers/s626.c @@ -1823,7 +1823,7 @@ case TRIG_NONE: /* continous acquisition */ devpriv->ai_continous = 1; - devpriv->ai_sample_count = 0; + devpriv->ai_sample_count = 1; break; } @@ -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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/usbduxsigma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/usbdux.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/ni_labpc.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/drivers/ni_labpc.c @@ -1259,7 +1259,9 @@ else channel = CR_CHAN(cmd->chanlist[0]); /* munge channel bits for differential / scan disabled mode */ - if (labpc_ai_scan_mode(cmd) != MODE_SINGLE_CHAN && aref == AREF_DIFF) + if ((labpc_ai_scan_mode(cmd) == MODE_SINGLE_CHAN || + labpc_ai_scan_mode(cmd) == MODE_SINGLE_CHAN_INTERVAL) && + aref == AREF_DIFF) channel *= 2; devpriv->command1_bits |= ADC_CHAN_BITS(channel); devpriv->command1_bits |= thisboard->ai_range_code[range]; @@ -1275,21 +1277,6 @@ devpriv->write_byte(devpriv->command1_bits, dev->iobase + COMMAND1_REG); } - /* setup any external triggering/pacing (command4 register) */ - devpriv->command4_bits = 0; - if (cmd->convert_src != TRIG_EXT) - devpriv->command4_bits |= EXT_CONVERT_DISABLE_BIT; - /* XXX should discard first scan when using interval scanning - * since manual says it is not synced with scan clock */ - if (labpc_use_continuous_mode(cmd) == 0) { - devpriv->command4_bits |= INTERVAL_SCAN_EN_BIT; - if (cmd->scan_begin_src == TRIG_EXT) - devpriv->command4_bits |= EXT_SCAN_EN_BIT; - } - /* single-ended/differential */ - if (aref == AREF_DIFF) - devpriv->command4_bits |= ADC_DIFF_BIT; - devpriv->write_byte(devpriv->command4_bits, dev->iobase + COMMAND4_REG); devpriv->write_byte(cmd->chanlist_len, dev->iobase + INTERVAL_COUNT_REG); @@ -1369,6 +1356,22 @@ devpriv->command3_bits &= ~ADC_FNE_INTR_EN_BIT; devpriv->write_byte(devpriv->command3_bits, dev->iobase + COMMAND3_REG); + /* setup any external triggering/pacing (command4 register) */ + devpriv->command4_bits = 0; + if (cmd->convert_src != TRIG_EXT) + devpriv->command4_bits |= EXT_CONVERT_DISABLE_BIT; + /* XXX should discard first scan when using interval scanning + * since manual says it is not synced with scan clock */ + if (labpc_use_continuous_mode(cmd) == 0) { + devpriv->command4_bits |= INTERVAL_SCAN_EN_BIT; + if (cmd->scan_begin_src == TRIG_EXT) + devpriv->command4_bits |= EXT_SCAN_EN_BIT; + } + /* single-ended/differential */ + if (aref == AREF_DIFF) + devpriv->command4_bits |= ADC_DIFF_BIT; + devpriv->write_byte(devpriv->command4_bits, dev->iobase + COMMAND4_REG); + /* startup acquisition */ /* command2 reg */ --- linux-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/jr3_pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/amplc_pci224.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/amplc_pc236.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/ni_65xx.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/drivers/ni_65xx.c @@ -411,29 +411,25 @@ struct comedi_subdevice *s, struct comedi_insn *insn, unsigned int *data) { - unsigned base_bitfield_channel; - const unsigned max_ports_per_bitfield = 5; + int base_bitfield_channel; unsigned read_bits = 0; - unsigned j; + int last_port_offset = ni_65xx_port_by_channel(s->n_chan - 1); + int port_offset; + if (insn->n != 2) return -EINVAL; base_bitfield_channel = CR_CHAN(insn->chanspec); - for (j = 0; j < max_ports_per_bitfield; ++j) { - const unsigned port_offset = - ni_65xx_port_by_channel(base_bitfield_channel) + j; - const unsigned port = - sprivate(s)->base_port + port_offset; - unsigned base_port_channel; + for (port_offset = ni_65xx_port_by_channel(base_bitfield_channel); + port_offset <= last_port_offset; port_offset++) { + unsigned port = sprivate(s)->base_port + port_offset; + int base_port_channel = port_offset * ni_65xx_channels_per_port; unsigned port_mask, port_data, port_read_bits; - int bitshift; - if (port >= ni_65xx_total_num_ports(board(dev))) + int bitshift = base_port_channel - base_bitfield_channel; + + if (bitshift >= 32) break; - base_port_channel = port_offset * ni_65xx_channels_per_port; port_mask = data[0]; port_data = data[1]; - bitshift = base_port_channel - base_bitfield_channel; - if (bitshift >= 32 || bitshift <= -32) - break; if (bitshift > 0) { port_mask >>= bitshift; port_data >>= bitshift; --- linux-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/dt282x.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/drivers/dt282x.c @@ -277,8 +277,9 @@ } \ udelay(5); \ } \ - if (_i) \ + if (_i) { \ b \ + } \ } while (0) static int prep_ai_dma(struct comedi_device *dev, int chan, int size); --- linux-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/das08.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/comedi/drivers/comedi_test.c +++ linux-lts-quantal-3.5.0/drivers/staging/comedi/drivers/comedi_test.c @@ -398,7 +398,7 @@ struct comedi_subdevice *s) { devpriv->timer_running = 0; - del_timer(&devpriv->timer); + del_timer_sync(&devpriv->timer); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/staging/wlan-ng/prism2mgmt.c +++ linux-lts-quantal-3.5.0/drivers/staging/wlan-ng/prism2mgmt.c @@ -406,7 +406,7 @@ /* SSID */ req->ssid.status = P80211ENUM_msgitem_status_data_ok; req->ssid.data.len = le16_to_cpu(item->ssid.len); - req->ssid.data.len = min_t(u16, req->ssid.data.len, WLAN_BSSID_LEN); + req->ssid.data.len = min_t(u16, req->ssid.data.len, WLAN_SSID_MAXLEN); memcpy(req->ssid.data.data, item->ssid.data, req->ssid.data.len); /* supported rates */ --- linux-lts-quantal-3.5.0.orig/drivers/staging/line6/pcm.c +++ linux-lts-quantal-3.5.0/drivers/staging/line6/pcm.c @@ -378,8 +378,11 @@ */ static void pcm_disconnect_substream(struct snd_pcm_substream *substream) { - if (substream->runtime && snd_pcm_running(substream)) + if (substream->runtime && snd_pcm_running(substream)) { + snd_pcm_stream_lock_irq(substream); snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED); + snd_pcm_stream_unlock_irq(substream); + } } /* --- linux-lts-quantal-3.5.0.orig/drivers/staging/media/lirc/lirc_sir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/omapdrm/omap_gem_dmabuf.c +++ linux-lts-quantal-3.5.0/drivers/staging/omapdrm/omap_gem_dmabuf.c @@ -207,7 +207,12 @@ obj = buffer->priv; /* is it from our device? */ if (obj->dev == dev) { + /* + * Importing dmabuf exported from out own gem increases + * refcount on gem itself instead of f_count of dmabuf. + */ drm_gem_object_reference(obj); + dma_buf_put(buffer); return obj; } } --- linux-lts-quantal-3.5.0.orig/drivers/staging/omapdrm/omap_connector.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/rtl8712/recv_linux.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/rtl8712/rtl8712_recv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/rtl8712/usb_intf.c +++ linux-lts-quantal-3.5.0/drivers/staging/rtl8712/usb_intf.c @@ -66,6 +66,8 @@ {USB_DEVICE(0x0B05, 0x1791)}, /* 11n mode disable */ /* Belkin */ {USB_DEVICE(0x050D, 0x945A)}, + /* ISY IWL - Belkin clone */ + {USB_DEVICE(0x050D, 0x11F1)}, /* Corega */ {USB_DEVICE(0x07AA, 0x0047)}, /* D-Link */ --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/wpa2.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/wpa2.h @@ -45,8 +45,8 @@ } PMKIDInfo, *PPMKIDInfo; typedef struct tagSPMKIDCache { - unsigned long BSSIDInfoCount; - PMKIDInfo BSSIDInfo[MAX_PMKID_CACHE]; + u32 BSSIDInfoCount; + PMKIDInfo BSSIDInfo[MAX_PMKID_CACHE]; } SPMKIDCache, *PSPMKIDCache; --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/usbpipe.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/usbpipe.c @@ -168,6 +168,11 @@ if (pDevice->Flags & fMP_CONTROL_WRITES) return STATUS_FAILURE; + if (pDevice->Flags & fMP_CONTROL_READS) + return STATUS_FAILURE; + + MP_SET_FLAG(pDevice, fMP_CONTROL_WRITES); + pDevice->sUsbCtlRequest.bRequestType = 0x40; pDevice->sUsbCtlRequest.bRequest = byRequest; pDevice->sUsbCtlRequest.wValue = cpu_to_le16p(&wValue); @@ -182,12 +187,13 @@ ntStatus = usb_submit_urb(pDevice->pControlURB, GFP_ATOMIC); if (ntStatus != 0) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"control send request submission failed: %d\n", ntStatus); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "control send request submission failed: %d\n", + ntStatus); + MP_CLEAR_FLAG(pDevice, fMP_CONTROL_WRITES); return STATUS_FAILURE; } - else { - MP_SET_FLAG(pDevice, fMP_CONTROL_WRITES); - } + spin_unlock_irq(&pDevice->lock); for (ii = 0; ii <= USB_CTL_WAIT; ii ++) { @@ -227,6 +233,11 @@ if (pDevice->Flags & fMP_CONTROL_READS) return STATUS_FAILURE; + if (pDevice->Flags & fMP_CONTROL_WRITES) + return STATUS_FAILURE; + + MP_SET_FLAG(pDevice, fMP_CONTROL_READS); + pDevice->sUsbCtlRequest.bRequestType = 0xC0; pDevice->sUsbCtlRequest.bRequest = byRequest; pDevice->sUsbCtlRequest.wValue = cpu_to_le16p(&wValue); @@ -240,10 +251,11 @@ ntStatus = usb_submit_urb(pDevice->pControlURB, GFP_ATOMIC); if (ntStatus != 0) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"control request submission failed: %d\n", ntStatus); - }else { - MP_SET_FLAG(pDevice, fMP_CONTROL_READS); - } + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "control request submission failed: %d\n", ntStatus); + MP_CLEAR_FLAG(pDevice, fMP_CONTROL_READS); + return STATUS_FAILURE; + } spin_unlock_irq(&pDevice->lock); for (ii = 0; ii <= USB_CTL_WAIT; ii ++) { --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/key.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/key.h @@ -58,7 +58,7 @@ typedef struct tagSKeyItem { BOOL bKeyValid; - unsigned long uKeyLength; + u32 uKeyLength; BYTE abyKey[MAX_KEY_LEN]; QWORD KeyRSC; DWORD dwTSC47_16; @@ -107,7 +107,7 @@ PSKeyManagement pTable, PBYTE pbyBSSID, DWORD dwKeyIndex, - unsigned long uKeyLength, + u32 uKeyLength, PQWORD pKeyRSC, PBYTE pbyKey, BYTE byKeyDecMode @@ -146,7 +146,7 @@ void *pDeviceHandler, PSKeyManagement pTable, DWORD dwKeyIndex, - unsigned long uKeyLength, + u32 uKeyLength, PQWORD pKeyRSC, PBYTE pbyKey, BYTE byKeyDecMode @@ -156,7 +156,7 @@ void *pDeviceHandler, PSKeyManagement pTable, DWORD dwKeyIndex, - unsigned long uKeyLength, + u32 uKeyLength, PQWORD pKeyRSC, PBYTE pbyKey, BYTE byKeyDecMode --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/bssdb.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/bssdb.h @@ -92,7 +92,6 @@ } SRSNCapObject, *PSRSNCapObject; // BSS info(AP) -#pragma pack(1) typedef struct tagKnownBSS { // BSS info BOOL bActive; --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/key.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/key.c @@ -223,7 +223,7 @@ PSKeyManagement pTable, PBYTE pbyBSSID, DWORD dwKeyIndex, - unsigned long uKeyLength, + u32 uKeyLength, PQWORD pKeyRSC, PBYTE pbyKey, BYTE byKeyDecMode @@ -235,7 +235,8 @@ PSKeyItem pKey; unsigned int uKeyIdx; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetKey: %lX\n", dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "Enter KeybSetKey: %X\n", dwKeyIndex); j = (MAX_KEY_TABLE-1); for (i=0;i<(MAX_KEY_TABLE-1);i++) { @@ -261,7 +262,9 @@ if ((dwKeyIndex & TRANSMIT_KEY) != 0) { // Group transmit key pTable->KeyTable[i].dwGTKeyIndex = dwKeyIndex; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Group transmit key(R)[%lX]: %d\n", pTable->KeyTable[i].dwGTKeyIndex, i); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "Group transmit key(R)[%X]: %d\n", + pTable->KeyTable[i].dwGTKeyIndex, i); } pTable->KeyTable[i].wKeyCtl &= 0xFF0F; // clear group key control filed pTable->KeyTable[i].wKeyCtl |= (byKeyDecMode << 4); @@ -302,9 +305,12 @@ } DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"\n"); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwTSC47_16: %lx\n ", pKey->dwTSC47_16); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->wTSC15_0: %x\n ", pKey->wTSC15_0); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwKeyIndex: %lx\n ", pKey->dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwTSC47_16: %x\n ", + pKey->dwTSC47_16); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->wTSC15_0: %x\n ", + pKey->wTSC15_0); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwKeyIndex: %x\n ", + pKey->dwKeyIndex); return (TRUE); } @@ -326,7 +332,9 @@ if ((dwKeyIndex & TRANSMIT_KEY) != 0) { // Group transmit key pTable->KeyTable[j].dwGTKeyIndex = dwKeyIndex; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Group transmit key(N)[%lX]: %d\n", pTable->KeyTable[j].dwGTKeyIndex, j); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "Group transmit key(N)[%X]: %d\n", + pTable->KeyTable[j].dwGTKeyIndex, j); } pTable->KeyTable[j].wKeyCtl &= 0xFF0F; // clear group key control filed pTable->KeyTable[j].wKeyCtl |= (byKeyDecMode << 4); @@ -367,9 +375,11 @@ } DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"\n"); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwTSC47_16: %lx\n ", pKey->dwTSC47_16); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwTSC47_16: %x\n ", + pKey->dwTSC47_16); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->wTSC15_0: %x\n ", pKey->wTSC15_0); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwKeyIndex: %lx\n ", pKey->dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwKeyIndex: %x\n ", + pKey->dwKeyIndex); return (TRUE); } @@ -597,7 +607,8 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"%x ", pTable->KeyTable[i].abyBSSID[ii]); } DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"\n"); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"dwGTKeyIndex: %lX\n", pTable->KeyTable[i].dwGTKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"dwGTKeyIndex: %X\n", + pTable->KeyTable[i].dwGTKeyIndex); return (TRUE); } @@ -664,7 +675,7 @@ void *pDeviceHandler, PSKeyManagement pTable, DWORD dwKeyIndex, - unsigned long uKeyLength, + u32 uKeyLength, PQWORD pKeyRSC, PBYTE pbyKey, BYTE byKeyDecMode @@ -696,7 +707,10 @@ if ((dwKeyIndex & TRANSMIT_KEY) != 0) { // Group transmit key pTable->KeyTable[MAX_KEY_TABLE-1].dwGTKeyIndex = dwKeyIndex; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Group transmit key(R)[%lX]: %d\n", pTable->KeyTable[MAX_KEY_TABLE-1].dwGTKeyIndex, MAX_KEY_TABLE-1); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "Group transmit key(R)[%X]: %d\n", + pTable->KeyTable[MAX_KEY_TABLE-1].dwGTKeyIndex, + MAX_KEY_TABLE-1); } pTable->KeyTable[MAX_KEY_TABLE-1].wKeyCtl &= 0x7F00; // clear all key control filed @@ -747,9 +761,11 @@ } DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"\n"); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwTSC47_16: %lx\n", pKey->dwTSC47_16); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwTSC47_16: %x\n", + pKey->dwTSC47_16); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->wTSC15_0: %x\n", pKey->wTSC15_0); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwKeyIndex: %lx\n", pKey->dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"pKey->dwKeyIndex: %x\n", + pKey->dwKeyIndex); return (TRUE); } @@ -775,7 +791,7 @@ void *pDeviceHandler, PSKeyManagement pTable, DWORD dwKeyIndex, - unsigned long uKeyLength, + u32 uKeyLength, PQWORD pKeyRSC, PBYTE pbyKey, BYTE byKeyDecMode @@ -787,7 +803,8 @@ PSKeyItem pKey; unsigned int uKeyIdx; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetAllGroupKey: %lX\n", dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Enter KeybSetAllGroupKey: %X\n", + dwKeyIndex); if ((dwKeyIndex & PAIRWISE_KEY) != 0) { // Pairwise key @@ -804,7 +821,9 @@ if ((dwKeyIndex & TRANSMIT_KEY) != 0) { // Group transmit key pTable->KeyTable[i].dwGTKeyIndex = dwKeyIndex; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Group transmit key(R)[%lX]: %d\n", pTable->KeyTable[i].dwGTKeyIndex, i); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "Group transmit key(R)[%X]: %d\n", + pTable->KeyTable[i].dwGTKeyIndex, i); } pTable->KeyTable[i].wKeyCtl &= 0xFF0F; // clear group key control filed --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/wcmd.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/wcmd.c @@ -316,17 +316,19 @@ return pTxPacket; } -void vCommandTimerWait(void *hDeviceContext, unsigned int MSecond) +void vCommandTimerWait(void *hDeviceContext, unsigned long MSecond) { - PSDevice pDevice = (PSDevice)hDeviceContext; + PSDevice pDevice = (PSDevice)hDeviceContext; - init_timer(&pDevice->sTimerCommand); - pDevice->sTimerCommand.data = (unsigned long)pDevice; - pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; - // RUN_AT :1 msec ~= (HZ/1024) - pDevice->sTimerCommand.expires = (unsigned int)RUN_AT((MSecond * HZ) >> 10); - add_timer(&pDevice->sTimerCommand); - return; + init_timer(&pDevice->sTimerCommand); + + pDevice->sTimerCommand.data = (unsigned long)pDevice; + pDevice->sTimerCommand.function = (TimerFunction)vRunCommand; + pDevice->sTimerCommand.expires = RUN_AT((MSecond * HZ) / 1000); + + add_timer(&pDevice->sTimerCommand); + + return; } void vRunCommand(void *hDeviceContext) --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/iowpa.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/iowpa.h @@ -67,12 +67,11 @@ -#pragma pack(1) typedef struct viawget_wpa_header { u8 type; u16 req_ie_len; u16 resp_ie_len; -} viawget_wpa_header; +} __packed viawget_wpa_header; struct viawget_wpa_param { u32 cmd; @@ -113,9 +112,8 @@ u8 *buf; } scan_results; } u; -}; +} __packed; -#pragma pack(1) struct viawget_scan_result { u8 bssid[6]; u8 ssid[32]; @@ -130,7 +128,7 @@ int noise; int level; int maxrate; -}; +} __packed; /*--------------------- Export Classes ----------------------------*/ --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/rxtx.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/rxtx.c @@ -377,7 +377,8 @@ *(pbyIVHead+3) = (BYTE)(((pDevice->byKeyIndex << 6) & 0xc0) | 0x20); // 0x20 is ExtIV // Append IV&ExtIV after Mac Header *pdwExtIV = cpu_to_le32(pTransmitKey->dwTSC47_16); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vFillTxKey()---- pdwExtIV: %lx\n", *pdwExtIV); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vFillTxKey()---- pdwExtIV: %x\n", + *pdwExtIV); } else if (pTransmitKey->byCipherSuite == KEY_CTL_CCMP) { pTransmitKey->wTSC15_0++; @@ -1701,7 +1702,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); @@ -1753,7 +1754,8 @@ MIC_vAppend((PBYTE)&(psEthHeader->abyDstAddr[0]), 12); dwMIC_Priority = 0; MIC_vAppend((PBYTE)&dwMIC_Priority, 4); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"MIC KEY: %lX, %lX\n", dwMICKey0, dwMICKey1); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"MIC KEY: %X, %X\n", + dwMICKey0, dwMICKey1); /////////////////////////////////////////////////////////////////// @@ -2635,7 +2637,8 @@ MIC_vAppend((PBYTE)&(sEthHeader.abyDstAddr[0]), 12); dwMIC_Priority = 0; MIC_vAppend((PBYTE)&dwMIC_Priority, 4); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"DMA0_tx_8021:MIC KEY: %lX, %lX\n", dwMICKey0, dwMICKey1); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"DMA0_tx_8021:MIC KEY:"\ + " %X, %X\n", dwMICKey0, dwMICKey1); uLength = cbHeaderSize + cbMacHdLen + uPadding + cbIVlen; @@ -2655,7 +2658,8 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"uLength: %d, %d\n", uLength, cbFrameBodySize); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"cbReqCount:%d, %d, %d, %d\n", cbReqCount, cbHeaderSize, uPadding, cbIVlen); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"MIC:%lx, %lx\n", *pdwMIC_L, *pdwMIC_R); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"MIC:%x, %x\n", + *pdwMIC_L, *pdwMIC_R); } @@ -2840,10 +2844,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 +2993,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 +3021,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)) { @@ -3029,7 +3033,8 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"error: KEY is GTK!!~~\n"); } else { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Find PTK [%lX]\n", pTransmitKey->dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Find PTK [%X]\n", + pTransmitKey->dwKeyIndex); bNeedEncryption = TRUE; } } @@ -3043,7 +3048,8 @@ if (pDevice->bEnableHostWEP) { if ((uNodeIndex != 0) && (pMgmt->sNodeDBTable[uNodeIndex].dwKeyIndex & PAIRWISE_KEY)) { - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Find PTK [%lX]\n", pTransmitKey->dwKeyIndex); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"Find PTK [%X]\n", + pTransmitKey->dwKeyIndex); bNeedEncryption = TRUE; } } --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/main_usb.c +++ linux-lts-quantal-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)}, {} }; @@ -718,8 +718,6 @@ if (device->flags & DEVICE_FLAGS_OPENED) device_close(device->dev); - usb_put_dev(interface_to_usbdev(intf)); - return 0; } @@ -730,8 +728,6 @@ if (!device || !device->dev) return -ENODEV; - usb_get_dev(interface_to_usbdev(intf)); - if (!(device->flags & DEVICE_FLAGS_OPENED)) device_open(device->dev); @@ -1224,6 +1220,8 @@ memset(pMgmt->abyCurrBSSID, 0, 6); pMgmt->eCurrState = WMAC_STATE_IDLE; + pDevice->flags &= ~DEVICE_FLAGS_OPENED; + device_free_tx_bufs(pDevice); device_free_rx_bufs(pDevice); device_free_int_bufs(pDevice); @@ -1235,7 +1233,6 @@ usb_free_urb(pDevice->pInterruptURB); BSSvClearNodeDBTable(pDevice, 0); - pDevice->flags &=(~DEVICE_FLAGS_OPENED); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "device_close2 \n"); --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/dpc.c +++ linux-lts-quantal-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); @@ -1238,7 +1238,7 @@ PayloadLen -= (WLAN_HDR_ADDR3_LEN + 8 + 4); // 24 is 802.11 header, 8 is IV&ExtIV, 4 is crc *pdwRxTSC47_16 = cpu_to_le32(*(PDWORD)(pbyIV + 4)); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ExtIV: %lx\n",*pdwRxTSC47_16); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ExtIV: %x\n", *pdwRxTSC47_16); if (byDecMode == KEY_CTL_TKIP) { *pwRxTSC15_0 = cpu_to_le16(MAKEWORD(*(pbyIV+2), *pbyIV)); } else { @@ -1349,7 +1349,7 @@ PayloadLen -= (WLAN_HDR_ADDR3_LEN + 8 + 4); // 24 is 802.11 header, 8 is IV&ExtIV, 4 is crc *pdwRxTSC47_16 = cpu_to_le32(*(PDWORD)(pbyIV + 4)); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ExtIV: %lx\n",*pdwRxTSC47_16); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"ExtIV: %x\n", *pdwRxTSC47_16); if (byDecMode == KEY_CTL_TKIP) { *pwRxTSC15_0 = cpu_to_le16(MAKEWORD(*(pbyIV+2), *pbyIV)); --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/ttype.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/ttype.h @@ -29,6 +29,8 @@ #ifndef __TTYPE_H__ #define __TTYPE_H__ +#include + /******* Common definitions and typedefs ***********************************/ typedef int BOOL; @@ -42,17 +44,17 @@ /****** Simple typedefs ***************************************************/ -typedef unsigned char BYTE; // 8-bit -typedef unsigned short WORD; // 16-bit -typedef unsigned long DWORD; // 32-bit +typedef u8 BYTE; +typedef u16 WORD; +typedef u32 DWORD; // QWORD is for those situation that we want // an 8-byte-aligned 8 byte long structure // which is NOT really a floating point number. typedef union tagUQuadWord { struct { - DWORD dwLowDword; - DWORD dwHighDword; + u32 dwLowDword; + u32 dwHighDword; } u; double DoNotUseThisField; } UQuadWord; @@ -60,8 +62,8 @@ /****** Common pointer types ***********************************************/ -typedef unsigned long ULONG_PTR; // 32-bit -typedef unsigned long DWORD_PTR; // 32-bit +typedef u32 ULONG_PTR; +typedef u32 DWORD_PTR; // boolean pointer --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/rf.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/rf.c @@ -769,6 +769,9 @@ return TRUE; } + if (uCH == 0) + return -EINVAL; + switch (uRATE) { case RATE_1M: case RATE_2M: --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/hostap.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/hostap.c @@ -153,7 +153,7 @@ DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO "%s: Netdevice %s unregistered\n", pDevice->dev->name, pDevice->apdev->name); } - kfree(pDevice->apdev); + free_netdev(pDevice->apdev); pDevice->apdev = NULL; pDevice->bEnable8021x = FALSE; pDevice->bEnableHostWEP = FALSE; --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/mac.c +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/mac.c @@ -260,7 +260,8 @@ dwData1 <<= 16; dwData1 |= MAKEWORD(*(pbyAddr+4), *(pbyAddr+5)); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"1. wOffset: %d, Data: %lX, KeyCtl:%X\n", wOffset, dwData1, wKeyCtl); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"1. wOffset: %d, Data: %X,"\ + " KeyCtl:%X\n", wOffset, dwData1, wKeyCtl); //VNSvOutPortW(dwIoBase + MAC_REG_MISCFFNDEX, wOffset); //VNSvOutPortD(dwIoBase + MAC_REG_MISCFFDATA, dwData); @@ -277,7 +278,8 @@ dwData2 <<= 8; dwData2 |= *(pbyAddr+0); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"2. wOffset: %d, Data: %lX\n", wOffset, dwData2); + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"2. wOffset: %d, Data: %X\n", + wOffset, dwData2); //VNSvOutPortW(dwIoBase + MAC_REG_MISCFFNDEX, wOffset); //VNSvOutPortD(dwIoBase + MAC_REG_MISCFFDATA, dwData); --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/iocmd.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/iocmd.h @@ -95,13 +95,12 @@ // Ioctl interface structure // Command structure // -#pragma pack(1) typedef struct tagSCmdRequest { u8 name[16]; void *data; u16 wResult; u16 wCmdCode; -} SCmdRequest, *PSCmdRequest; +} __packed SCmdRequest, *PSCmdRequest; // // Scan @@ -111,7 +110,7 @@ u8 ssid[SSID_MAXLEN + 2]; -} SCmdScan, *PSCmdScan; +} __packed SCmdScan, *PSCmdScan; // // BSS Join @@ -126,7 +125,7 @@ BOOL bPSEnable; BOOL bShareKeyAuth; -} SCmdBSSJoin, *PSCmdBSSJoin; +} __packed SCmdBSSJoin, *PSCmdBSSJoin; // // Zonetype Setting @@ -137,7 +136,7 @@ BOOL bWrite; WZONETYPE ZoneType; -} SCmdZoneTypeSet, *PSCmdZoneTypeSet; +} __packed SCmdZoneTypeSet, *PSCmdZoneTypeSet; typedef struct tagSWPAResult { char ifname[100]; @@ -145,7 +144,7 @@ u8 key_mgmt; u8 eap_type; BOOL authenticated; -} SWPAResult, *PSWPAResult; +} __packed SWPAResult, *PSWPAResult; typedef struct tagSCmdStartAP { @@ -157,7 +156,7 @@ BOOL bShareKeyAuth; u8 byBasicRate; -} SCmdStartAP, *PSCmdStartAP; +} __packed SCmdStartAP, *PSCmdStartAP; typedef struct tagSCmdSetWEP { @@ -167,7 +166,7 @@ BOOL bWepKeyAvailable[WEP_NKEYS]; u32 auWepKeyLength[WEP_NKEYS]; -} SCmdSetWEP, *PSCmdSetWEP; +} __packed SCmdSetWEP, *PSCmdSetWEP; typedef struct tagSBSSIDItem { @@ -180,14 +179,14 @@ BOOL bWEPOn; u32 uRSSI; -} SBSSIDItem; +} __packed SBSSIDItem; typedef struct tagSBSSIDList { u32 uItem; SBSSIDItem sBSSIDList[0]; -} SBSSIDList, *PSBSSIDList; +} __packed SBSSIDList, *PSBSSIDList; typedef struct tagSNodeItem { @@ -208,7 +207,7 @@ u32 uTxAttempts; u16 wFailureRatio; -} SNodeItem; +} __packed SNodeItem; typedef struct tagSNodeList { @@ -216,7 +215,7 @@ u32 uItem; SNodeItem sNodeList[0]; -} SNodeList, *PSNodeList; +} __packed SNodeList, *PSNodeList; typedef struct tagSCmdLinkStatus { @@ -229,7 +228,7 @@ u32 uChannel; u32 uLinkRate; -} SCmdLinkStatus, *PSCmdLinkStatus; +} __packed SCmdLinkStatus, *PSCmdLinkStatus; // // 802.11 counter @@ -247,7 +246,7 @@ u32 ReceivedFragmentCount; u32 MulticastReceivedFrameCount; u32 FCSErrorCount; -} SDot11MIBCount, *PSDot11MIBCount; +} __packed SDot11MIBCount, *PSDot11MIBCount; @@ -355,13 +354,13 @@ u32 ullTxBroadcastBytes[2]; u32 ullTxMulticastBytes[2]; u32 ullTxDirectedBytes[2]; -} SStatMIBCount, *PSStatMIBCount; +} __packed SStatMIBCount, *PSStatMIBCount; typedef struct tagSCmdValue { u32 dwValue; -} SCmdValue, *PSCmdValue; +} __packed SCmdValue, *PSCmdValue; // // hostapd & viawget ioctl related @@ -431,7 +430,7 @@ u8 ssid[32]; } scan_req; } u; -}; +} __packed; /*--------------------- Export Classes ----------------------------*/ --- linux-lts-quantal-3.5.0.orig/drivers/staging/vt6656/int.h +++ linux-lts-quantal-3.5.0/drivers/staging/vt6656/int.h @@ -34,7 +34,6 @@ #include "device.h" /*--------------------- Export Definitions -------------------------*/ -#pragma pack(1) typedef struct tagSINTData { BYTE byTSR0; BYTE byPkt0; --- linux-lts-quantal-3.5.0.orig/drivers/staging/zsmalloc/zsmalloc-main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/winbond/wbusb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/staging/telephony/ixj.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/md/dm-thin.c +++ linux-lts-quantal-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); } @@ -2034,6 +2035,7 @@ * thin devices' discard limits consistent). */ ti->discards_supported = 1; + ti->discard_zeroes_data_unsupported = 1; } ti->private = pt; @@ -2495,7 +2497,6 @@ * bios that overlap 2 blocks. */ limits->discard_granularity = pool->sectors_per_block << SECTOR_SHIFT; - limits->discard_zeroes_data = pool->pf.zero_new_blocks; } static void pool_io_hints(struct dm_target *ti, struct queue_limits *limits) @@ -2513,7 +2514,7 @@ .name = "thin-pool", .features = DM_TARGET_SINGLETON | DM_TARGET_ALWAYS_WRITEABLE | DM_TARGET_IMMUTABLE, - .version = {1, 2, 0}, + .version = {1, 2, 1}, .module = THIS_MODULE, .ctr = pool_ctr, .dtr = pool_dtr, @@ -2786,7 +2787,7 @@ static struct target_type thin_target = { .name = "thin", - .version = {1, 1, 0}, + .version = {1, 1, 1}, .module = THIS_MODULE, .ctr = thin_ctr, .dtr = thin_dtr, --- linux-lts-quantal-3.5.0.orig/drivers/md/dm-table.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/md/dm-ioctl.c +++ linux-lts-quantal-3.5.0/drivers/md/dm-ioctl.c @@ -1563,6 +1563,14 @@ if (copy_from_user(dmi, user, tmp.data_size)) goto bad; + /* + * Abort if something changed the ioctl data while it was being copied. + */ + if (dmi->data_size != tmp.data_size) { + DMERR("rejecting ioctl: data size modified while processing parameters"); + goto bad; + } + /* Wipe the user buffer so we do not return it to userspace */ if (secure_data && clear_user(user, tmp.data_size)) goto bad; --- linux-lts-quantal-3.5.0.orig/drivers/md/raid5.h +++ linux-lts-quantal-3.5.0/drivers/md/raid5.h @@ -307,6 +307,7 @@ STRIPE_SYNC_REQUESTED, STRIPE_SYNCING, STRIPE_INSYNC, + STRIPE_REPLACED, STRIPE_PREREAD_ACTIVE, STRIPE_DELAYED, STRIPE_DEGRADED, --- linux-lts-quantal-3.5.0.orig/drivers/md/raid0.c +++ linux-lts-quantal-3.5.0/drivers/md/raid0.c @@ -280,7 +280,7 @@ kfree(conf->strip_zone); kfree(conf->devlist); kfree(conf); - *private_conf = NULL; + *private_conf = ERR_PTR(err); return err; } @@ -402,7 +402,8 @@ "%s does not support generic reshape\n", __func__); rdev_for_each(rdev, mddev) - array_sectors += rdev->sectors; + array_sectors += (rdev->sectors & + ~(sector_t)(mddev->chunk_sectors-1)); return array_sectors; } --- linux-lts-quantal-3.5.0.orig/drivers/md/dm-snap.c +++ linux-lts-quantal-3.5.0/drivers/md/dm-snap.c @@ -721,17 +721,16 @@ */ static int init_hash_tables(struct dm_snapshot *s) { - sector_t hash_size, cow_dev_size, origin_dev_size, max_buckets; + sector_t hash_size, cow_dev_size, max_buckets; /* * Calculate based on the size of the original volume or * the COW volume... */ cow_dev_size = get_dev_size(s->cow->bdev); - origin_dev_size = get_dev_size(s->origin->bdev); max_buckets = calc_max_buckets(); - hash_size = min(origin_dev_size, cow_dev_size) >> s->store->chunk_shift; + hash_size = cow_dev_size >> s->store->chunk_shift; hash_size = min(hash_size, max_buckets); if (hash_size < 64) @@ -1117,6 +1116,7 @@ s->pending_pool = mempool_create_slab_pool(MIN_IOS, pending_cache); if (!s->pending_pool) { ti->error = "Could not allocate mempool for pending exceptions"; + r = -ENOMEM; goto bad_pending_pool; } @@ -2327,3 +2327,5 @@ MODULE_DESCRIPTION(DM_NAME " snapshot target"); MODULE_AUTHOR("Joe Thornber"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("dm-snapshot-origin"); +MODULE_ALIAS("dm-snapshot-merge"); --- linux-lts-quantal-3.5.0.orig/drivers/md/raid5.c +++ linux-lts-quantal-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)) @@ -3368,6 +3372,7 @@ if (test_and_clear_bit(STRIPE_SYNC_REQUESTED, &sh->state)) { set_bit(STRIPE_SYNCING, &sh->state); clear_bit(STRIPE_INSYNC, &sh->state); + clear_bit(STRIPE_REPLACED, &sh->state); } clear_bit(STRIPE_DELAYED, &sh->state); @@ -3507,19 +3512,23 @@ handle_parity_checks5(conf, sh, &s, disks); } - if (s.replacing && s.locked == 0 - && !test_bit(STRIPE_INSYNC, &sh->state)) { + if ((s.replacing || s.syncing) && s.locked == 0 + && !test_bit(STRIPE_COMPUTE_RUN, &sh->state) + && !test_bit(STRIPE_REPLACED, &sh->state)) { /* Write out to replacement devices where possible */ for (i = 0; i < conf->raid_disks; i++) - if (test_bit(R5_UPTODATE, &sh->dev[i].flags) && - test_bit(R5_NeedReplace, &sh->dev[i].flags)) { + if (test_bit(R5_NeedReplace, &sh->dev[i].flags)) { + WARN_ON(!test_bit(R5_UPTODATE, &sh->dev[i].flags)); set_bit(R5_WantReplace, &sh->dev[i].flags); set_bit(R5_LOCKED, &sh->dev[i].flags); s.locked++; } - set_bit(STRIPE_INSYNC, &sh->state); + if (s.replacing) + set_bit(STRIPE_INSYNC, &sh->state); + set_bit(STRIPE_REPLACED, &sh->state); } if ((s.syncing || s.replacing) && s.locked == 0 && + !test_bit(STRIPE_COMPUTE_RUN, &sh->state) && test_bit(STRIPE_INSYNC, &sh->state)) { md_done_sync(conf->mddev, STRIPE_SECTORS, 1); clear_bit(STRIPE_SYNCING, &sh->state); --- linux-lts-quantal-3.5.0.orig/drivers/md/dm-snap-persistent.c +++ linux-lts-quantal-3.5.0/drivers/md/dm-snap-persistent.c @@ -256,7 +256,7 @@ */ INIT_WORK_ONSTACK(&req.work, do_metadata); queue_work(ps->metadata_wq, &req.work); - flush_work(&req.work); + flush_workqueue(ps->metadata_wq); return req.result; } --- linux-lts-quantal-3.5.0.orig/drivers/md/dm-mpath.c +++ linux-lts-quantal-3.5.0/drivers/md/dm-mpath.c @@ -1520,12 +1520,12 @@ unsigned long arg) { struct multipath *m = ti->private; + struct pgpath *pgpath; struct block_device *bdev; fmode_t mode; unsigned long flags; int r; -again: bdev = NULL; mode = 0; r = 0; @@ -1535,13 +1535,15 @@ 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) - r = -EAGAIN; + if ((pgpath && m->queue_io) || (!pgpath && m->queue_if_no_path)) + r = -ENOTCONN; else if (!bdev) r = -EIO; @@ -1553,11 +1555,8 @@ if (!r && ti->len != i_size_read(bdev->bd_inode) >> SECTOR_SHIFT) r = scsi_verify_blk_ioctl(NULL, cmd); - if (r == -EAGAIN && !fatal_signal_pending(current)) { + if (r == -ENOTCONN && !fatal_signal_pending(current)) queue_work(kmultipathd, &m->process_queued_ios); - msleep(10); - goto again; - } return r ? : __blkdev_driver_ioctl(bdev, mode, cmd, arg); } --- linux-lts-quantal-3.5.0.orig/drivers/md/dm.c +++ linux-lts-quantal-3.5.0/drivers/md/dm.c @@ -414,10 +414,12 @@ unsigned int cmd, unsigned long arg) { struct mapped_device *md = bdev->bd_disk->private_data; - struct dm_table *map = dm_get_live_table(md); + struct dm_table *map; struct dm_target *tgt; int r = -ENOTTY; +retry: + map = dm_get_live_table(md); if (!map || !dm_table_get_size(map)) goto out; @@ -438,6 +440,11 @@ out: dm_table_put(map); + if (r == -ENOTCONN) { + msleep(10); + goto retry; + } + return r; } @@ -754,8 +761,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 +878,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 +1583,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 +1614,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 +1663,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 +1697,6 @@ blk_delay_queue(q, HZ / 10); out: dm_table_put(map); - - return; } int dm_underlying_device_busy(struct request_queue *q) @@ -2653,6 +2686,7 @@ { return md->disk; } +EXPORT_SYMBOL_GPL(dm_disk); struct kobject *dm_kobject(struct mapped_device *md) { --- linux-lts-quantal-3.5.0.orig/drivers/md/raid10.c +++ linux-lts-quantal-3.5.0/drivers/md/raid10.c @@ -461,7 +461,17 @@ sector_t first_bad; int bad_sectors; - set_bit(R10BIO_Uptodate, &r10_bio->state); + /* + * Do not set R10BIO_Uptodate if the current device is + * rebuilding or Faulty. This is because we cannot use + * such device for properly reading the data back (we could + * potentially use it, if the current write would have felt + * before rdev->recovery_offset, but for simplicity we don't + * check this here. + */ + if (test_bit(In_sync, &rdev->flags) && + !test_bit(Faulty, &rdev->flags)) + set_bit(R10BIO_Uptodate, &r10_bio->state); /* Maybe we can clear some bad blocks. */ if (is_badblock(rdev, @@ -485,7 +495,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 +655,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 +667,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 +690,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( @@ -981,17 +995,17 @@ wake_up(&conf->wait_barrier); } -static void freeze_array(struct r10conf *conf) +static void freeze_array(struct r10conf *conf, int extra) { /* stop syncio and normal IO and wait for everything to * go quiet. * We increment barrier and nr_waiting, and then - * wait until nr_pending match nr_queued+1 + * wait until nr_pending match nr_queued+extra * This is called in the context of one normal IO request * that has failed. Thus any sync request that might be pending * will be blocked by nr_pending, and we need to wait for * pending IO requests to complete or be queued for re-try. - * Thus the number queued (nr_queued) plus this request (1) + * Thus the number queued (nr_queued) plus this request (extra) * must match the number of pending IOs (nr_pending) before * we continue. */ @@ -999,7 +1013,7 @@ conf->barrier++; conf->nr_waiting++; wait_event_lock_irq(conf->wait_barrier, - conf->nr_pending == conf->nr_queued+1, + conf->nr_pending == conf->nr_queued+extra, conf->resync_lock, flush_pending_writes(conf)); @@ -1263,18 +1277,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 +1333,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 +1392,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 +1507,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; } @@ -1694,8 +1715,8 @@ * we wait for all outstanding requests to complete. */ synchronize_sched(); - raise_barrier(conf, 0); - lower_barrier(conf); + freeze_array(conf, 0); + unfreeze_array(conf); clear_bit(Unmerged, &rdev->flags); } md_integrity_add_rdev(rdev, mddev); @@ -2109,12 +2130,18 @@ d = r10_bio->devs[1].devnum; wbio = r10_bio->devs[1].bio; wbio2 = r10_bio->devs[1].repl_bio; + /* Need to test wbio2->bi_end_io before we call + * generic_make_request as if the former is NULL, + * the latter is free to free wbio2. + */ + if (wbio2 && !wbio2->bi_end_io) + wbio2 = NULL; if (wbio->bi_end_io) { atomic_inc(&conf->mirrors[d].rdev->nr_pending); md_sync_acct(conf->mirrors[d].rdev->bdev, wbio->bi_size >> 9); generic_make_request(wbio); } - if (wbio2 && wbio2->bi_end_io) { + if (wbio2) { atomic_inc(&conf->mirrors[d].replacement->nr_pending); md_sync_acct(conf->mirrors[d].replacement->bdev, wbio2->bi_size >> 9); @@ -2488,7 +2515,7 @@ r10_bio->devs[slot].bio = NULL; if (mddev->ro == 0) { - freeze_array(conf); + freeze_array(conf, 1); fix_read_error(conf, mddev, r10_bio); unfreeze_array(conf); } else @@ -3133,7 +3160,7 @@ else { bad_sectors -= (sector - first_bad); if (max_sync > bad_sectors) - max_sync = max_sync; + max_sync = bad_sectors; continue; } } @@ -3389,7 +3416,7 @@ /* FIXME calc properly */ conf->mirrors = kzalloc(sizeof(struct mirror_info)*(mddev->raid_disks + - max(0,mddev->delta_disks)), + max(0,-mddev->delta_disks)), GFP_KERNEL); if (!conf->mirrors) goto out; @@ -3530,7 +3557,7 @@ conf->geo.far_offset == 0) goto out_free_conf; if (conf->prev.far_copies != 1 && - conf->geo.far_offset == 0) + conf->prev.far_offset == 0) goto out_free_conf; } @@ -4389,14 +4416,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 +4438,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 +4446,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-lts-quantal-3.5.0.orig/drivers/md/md.c +++ linux-lts-quantal-3.5.0/drivers/md/md.c @@ -344,6 +344,10 @@ bio_io_error(bio); return; } + if (mddev->ro == 1 && unlikely(rw == WRITE)) { + bio_endio(bio, bio_sectors(bio) == 0 ? 0 : -EROFS); + return; + } smp_rmb(); /* Ensure implications of 'active' are visible */ rcu_read_lock(); if (mddev->suspended) { @@ -1157,8 +1161,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 +1456,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); @@ -1622,8 +1629,8 @@ sector, count, 1) == 0) return -EINVAL; } - } else if (sb->bblog_offset == 0) - rdev->badblocks.shift = -1; + } else if (sb->bblog_offset != 0) + rdev->badblocks.shift = 0; if (!refdev) { ret = 1; @@ -1878,10 +1885,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)) @@ -3050,6 +3057,9 @@ } else if (!sectors) sectors = (i_size_read(rdev->bdev->bd_inode) >> 9) - rdev->data_offset; + if (!my_mddev->pers->resize) + /* Cannot change size for RAID0 or Linear etc */ + return -EINVAL; } if (sectors < my_mddev->dev_sectors) return -EINVAL; /* component must fit device */ @@ -3270,7 +3280,7 @@ * be used - I wonder if that matters */ rdev->badblocks.count = 0; - rdev->badblocks.shift = 0; + rdev->badblocks.shift = -1; /* disabled until explicitly enabled */ rdev->badblocks.page = kmalloc(PAGE_SIZE, GFP_KERNEL); seqlock_init(&rdev->badblocks.lock); if (rdev->badblocks.page == NULL) @@ -3342,9 +3352,6 @@ goto abort_free; } } - if (super_format == -1) - /* hot-add for 0.90, or non-persistent: so no badblocks */ - rdev->badblocks.shift = -1; return rdev; @@ -7669,6 +7676,8 @@ } } } + if (removed) + set_bit(MD_CHANGE_DEVS, &mddev->flags); return spares; } @@ -7682,9 +7691,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 +7964,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 +7981,8 @@ retry: seq = read_seqbegin(&bb->lock); - + lo = 0; + rv = 0; hi = bb->count; /* Binary search between lo and hi for 'target' --- linux-lts-quantal-3.5.0.orig/drivers/md/dm-bufio.c +++ linux-lts-quantal-3.5.0/drivers/md/dm-bufio.c @@ -321,6 +321,9 @@ static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask, enum data_mode *data_mode) { + unsigned noio_flag; + void *ptr; + if (c->block_size <= DM_BUFIO_BLOCK_SIZE_SLAB_LIMIT) { *data_mode = DATA_MODE_SLAB; return kmem_cache_alloc(DM_BUFIO_CACHE(c), gfp_mask); @@ -334,7 +337,28 @@ } *data_mode = DATA_MODE_VMALLOC; - return __vmalloc(c->block_size, gfp_mask, PAGE_KERNEL); + + /* + * __vmalloc allocates the data pages and auxiliary structures with + * gfp_flags that were specified, but pagetables are always allocated + * with GFP_KERNEL, no matter what was specified as gfp_mask. + * + * Consequently, we must set per-process flag PF_MEMALLOC_NOIO so that + * all allocations done by this process (including pagetables) are done + * as if GFP_NOIO was specified. + */ + + if (gfp_mask & __GFP_NORETRY) { + noio_flag = current->flags & PF_MEMALLOC; + current->flags |= PF_MEMALLOC; + } + + ptr = __vmalloc(c->block_size, gfp_mask, PAGE_KERNEL); + + if (gfp_mask & __GFP_NORETRY) + current->flags = (current->flags & ~PF_MEMALLOC) | noio_flag; + + return ptr; } /* @@ -1029,6 +1053,8 @@ { struct blk_plug plug; + BUG_ON(dm_bufio_in_request()); + blk_start_plug(&plug); dm_bufio_lock(c); --- linux-lts-quantal-3.5.0.orig/drivers/md/dm-verity.c +++ linux-lts-quantal-3.5.0/drivers/md/dm-verity.c @@ -95,6 +95,13 @@ */ }; +struct dm_verity_prefetch_work { + struct work_struct work; + struct dm_verity *v; + sector_t block; + unsigned n_blocks; +}; + static struct shash_desc *io_hash_desc(struct dm_verity *v, struct dm_verity_io *io) { return (struct shash_desc *)(io + 1); @@ -428,15 +435,18 @@ * The root buffer is not prefetched, it is assumed that it will be cached * all the time. */ -static void verity_prefetch_io(struct dm_verity *v, struct dm_verity_io *io) +static void verity_prefetch_io(struct work_struct *work) { + struct dm_verity_prefetch_work *pw = + container_of(work, struct dm_verity_prefetch_work, work); + struct dm_verity *v = pw->v; int i; for (i = v->levels - 2; i >= 0; i--) { sector_t hash_block_start; sector_t hash_block_end; - verity_hash_at_level(v, io->block, i, &hash_block_start, NULL); - verity_hash_at_level(v, io->block + io->n_blocks - 1, i, &hash_block_end, NULL); + verity_hash_at_level(v, pw->block, i, &hash_block_start, NULL); + verity_hash_at_level(v, pw->block + pw->n_blocks - 1, i, &hash_block_end, NULL); if (!i) { unsigned cluster = *(volatile unsigned *)&dm_verity_prefetch_cluster; @@ -456,6 +466,25 @@ dm_bufio_prefetch(v->bufio, hash_block_start, hash_block_end - hash_block_start + 1); } + + kfree(pw); +} + +static void verity_submit_prefetch(struct dm_verity *v, struct dm_verity_io *io) +{ + struct dm_verity_prefetch_work *pw; + + pw = kmalloc(sizeof(struct dm_verity_prefetch_work), + GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN); + + if (!pw) + return; + + INIT_WORK(&pw->work, verity_prefetch_io); + pw->v = v; + pw->block = io->block; + pw->n_blocks = io->n_blocks; + queue_work(v->verify_wq, &pw->work); } /* @@ -504,7 +533,7 @@ memcpy(io->io_vec, bio_iovec(bio), io->io_vec_size * sizeof(struct bio_vec)); - verity_prefetch_io(v, io); + verity_submit_prefetch(v, io); generic_make_request(bio); @@ -718,8 +747,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 +762,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; @@ -813,9 +842,8 @@ for (i = v->levels - 1; i >= 0; i--) { sector_t s; v->hash_level_block[i] = hash_position; - s = verity_position_at_level(v, v->data_blocks, i); - s = (s >> v->hash_per_block_bits) + - !!(s & ((1 << v->hash_per_block_bits) - 1)); + s = (v->data_blocks + ((sector_t)1 << ((i + 1) * v->hash_per_block_bits)) - 1) + >> ((i + 1) * v->hash_per_block_bits); if (hash_position + s < hash_position) { ti->error = "Hash device offset overflow"; r = -E2BIG; @@ -875,7 +903,7 @@ static struct target_type verity_target = { .name = "verity", - .version = {1, 0, 0}, + .version = {1, 0, 1}, .module = THIS_MODULE, .ctr = verity_ctr, .dtr = verity_dtr, --- linux-lts-quantal-3.5.0.orig/drivers/md/raid1.c +++ linux-lts-quantal-3.5.0/drivers/md/raid1.c @@ -413,7 +413,17 @@ r1_bio->bios[mirror] = NULL; to_put = bio; - set_bit(R1BIO_Uptodate, &r1_bio->state); + /* + * Do not set R1BIO_Uptodate if the current device is + * rebuilding or Faulty. This is because we cannot use + * such device for properly reading the data back (we could + * potentially use it, if the current write would have felt + * before rdev->recovery_offset, but for simplicity we don't + * check this here. + */ + if (test_bit(In_sync, &conf->mirrors[mirror].rdev->flags) && + !test_bit(Faulty, &conf->mirrors[mirror].rdev->flags)) + set_bit(R1BIO_Uptodate, &r1_bio->state); /* Maybe we can clear some bad blocks. */ if (is_badblock(conf->mirrors[mirror].rdev, @@ -802,17 +812,17 @@ wake_up(&conf->wait_barrier); } -static void freeze_array(struct r1conf *conf) +static void freeze_array(struct r1conf *conf, int extra) { /* stop syncio and normal IO and wait for everything to * go quite. * We increment barrier and nr_waiting, and then - * wait until nr_pending match nr_queued+1 + * wait until nr_pending match nr_queued+extra * This is called in the context of one normal IO request * that has failed. Thus any sync request that might be pending * will be blocked by nr_pending, and we need to wait for * pending IO requests to complete or be queued for re-try. - * Thus the number queued (nr_queued) plus this request (1) + * Thus the number queued (nr_queued) plus this request (extra) * must match the number of pending IOs (nr_pending) before * we continue. */ @@ -820,7 +830,7 @@ conf->barrier++; conf->nr_waiting++; wait_event_lock_irq(conf->wait_barrier, - conf->nr_pending == conf->nr_queued+1, + conf->nr_pending == conf->nr_queued+extra, conf->resync_lock, flush_pending_writes(conf)); spin_unlock_irq(&conf->resync_lock); @@ -1419,8 +1429,8 @@ * we wait for all outstanding requests to complete. */ synchronize_sched(); - raise_barrier(conf); - lower_barrier(conf); + freeze_array(conf, 0); + unfreeze_array(conf); clear_bit(Unmerged, &rdev->flags); } md_integrity_add_rdev(rdev, mddev); @@ -1468,11 +1478,11 @@ */ struct md_rdev *repl = conf->mirrors[conf->raid_disks + number].rdev; - raise_barrier(conf); + freeze_array(conf, 0); clear_bit(Replacement, &repl->flags); p->rdev = repl; conf->mirrors[conf->raid_disks + number].rdev = NULL; - lower_barrier(conf); + unfreeze_array(conf); clear_bit(WantReplacement, &rdev->flags); } else clear_bit(WantReplacement, &rdev->flags); @@ -2089,7 +2099,7 @@ * frozen */ if (mddev->ro == 0) { - freeze_array(conf); + freeze_array(conf, 1); fix_read_error(conf, r1_bio->read_disk, r1_bio->sector, r1_bio->sectors); unfreeze_array(conf); @@ -2428,7 +2438,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 +2573,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; @@ -2849,7 +2862,7 @@ return -ENOMEM; } - raise_barrier(conf); + freeze_array(conf, 0); /* ok, everything is stopped */ oldpool = conf->r1bio_pool; @@ -2881,7 +2894,7 @@ mddev->delta_disks = 0; conf->last_used = 0; /* just make sure it is in-range */ - lower_barrier(conf); + unfreeze_array(conf); set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); md_wakeup_thread(mddev->thread); --- linux-lts-quantal-3.5.0.orig/drivers/md/raid10.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/md/persistent-data/dm-btree.c +++ linux-lts-quantal-3.5.0/drivers/md/persistent-data/dm-btree.c @@ -38,7 +38,7 @@ /*----------------------------------------------------------------*/ /* makes the assumption that no two keys are the same. */ -static int bsearch(struct node *n, uint64_t key, int want_hi) +static int bsearch(struct btree_node *n, uint64_t key, int want_hi) { int lo = -1, hi = le32_to_cpu(n->header.nr_entries); @@ -58,12 +58,12 @@ return want_hi ? hi : lo; } -int lower_bound(struct node *n, uint64_t key) +int lower_bound(struct btree_node *n, uint64_t key) { return bsearch(n, key, 0); } -void inc_children(struct dm_transaction_manager *tm, struct node *n, +void inc_children(struct dm_transaction_manager *tm, struct btree_node *n, struct dm_btree_value_type *vt) { unsigned i; @@ -77,7 +77,7 @@ vt->inc(vt->context, value_ptr(n, i)); } -static int insert_at(size_t value_size, struct node *node, unsigned index, +static int insert_at(size_t value_size, struct btree_node *node, unsigned index, uint64_t key, void *value) __dm_written_to_disk(value) { @@ -122,7 +122,7 @@ { int r; struct dm_block *b; - struct node *n; + struct btree_node *n; size_t block_size; uint32_t max_entries; @@ -154,7 +154,7 @@ #define MAX_SPINE_DEPTH 64 struct frame { struct dm_block *b; - struct node *n; + struct btree_node *n; unsigned level; unsigned nr_children; unsigned current_child; @@ -295,7 +295,7 @@ /*----------------------------------------------------------------*/ static int btree_lookup_raw(struct ro_spine *s, dm_block_t block, uint64_t key, - int (*search_fn)(struct node *, uint64_t), + int (*search_fn)(struct btree_node *, uint64_t), uint64_t *result_key, void *v, size_t value_size) { int i, r; @@ -406,7 +406,7 @@ size_t size; unsigned nr_left, nr_right; struct dm_block *left, *right, *parent; - struct node *ln, *rn, *pn; + struct btree_node *ln, *rn, *pn; __le64 location; left = shadow_current(s); @@ -491,7 +491,7 @@ size_t size; unsigned nr_left, nr_right; struct dm_block *left, *right, *new_parent; - struct node *pn, *ln, *rn; + struct btree_node *pn, *ln, *rn; __le64 val; new_parent = shadow_current(s); @@ -576,7 +576,7 @@ uint64_t key, unsigned *index) { int r, i = *index, top = 1; - struct node *node; + struct btree_node *node; for (;;) { r = shadow_step(s, root, vt); @@ -643,7 +643,7 @@ unsigned level, index = -1, last_level = info->levels - 1; dm_block_t block = root; struct shadow_spine spine; - struct node *n; + struct btree_node *n; struct dm_btree_value_type le64_type; le64_type.context = NULL; --- linux-lts-quantal-3.5.0.orig/drivers/md/persistent-data/dm-btree-spine.c +++ linux-lts-quantal-3.5.0/drivers/md/persistent-data/dm-btree-spine.c @@ -23,7 +23,7 @@ struct dm_block *b, size_t block_size) { - struct node *n = dm_block_data(b); + struct btree_node *n = dm_block_data(b); struct node_header *h = &n->header; h->blocknr = cpu_to_le64(dm_block_location(b)); @@ -38,7 +38,7 @@ struct dm_block *b, size_t block_size) { - struct node *n = dm_block_data(b); + struct btree_node *n = dm_block_data(b); struct node_header *h = &n->header; size_t value_size; __le32 csum_disk; @@ -164,7 +164,7 @@ return r; } -struct node *ro_node(struct ro_spine *s) +struct btree_node *ro_node(struct ro_spine *s) { struct dm_block *block; --- linux-lts-quantal-3.5.0.orig/drivers/md/persistent-data/dm-btree-remove.c +++ linux-lts-quantal-3.5.0/drivers/md/persistent-data/dm-btree-remove.c @@ -53,7 +53,7 @@ /* * Some little utilities for moving node data around. */ -static void node_shift(struct node *n, int shift) +static void node_shift(struct btree_node *n, int shift) { uint32_t nr_entries = le32_to_cpu(n->header.nr_entries); uint32_t value_size = le32_to_cpu(n->header.value_size); @@ -79,7 +79,7 @@ } } -static void node_copy(struct node *left, struct node *right, int shift) +static void node_copy(struct btree_node *left, struct btree_node *right, int shift) { uint32_t nr_left = le32_to_cpu(left->header.nr_entries); uint32_t value_size = le32_to_cpu(left->header.value_size); @@ -108,7 +108,7 @@ /* * Delete a specific entry from a leaf node. */ -static void delete_at(struct node *n, unsigned index) +static void delete_at(struct btree_node *n, unsigned index) { unsigned nr_entries = le32_to_cpu(n->header.nr_entries); unsigned nr_to_copy = nr_entries - (index + 1); @@ -128,7 +128,7 @@ n->header.nr_entries = cpu_to_le32(nr_entries - 1); } -static unsigned merge_threshold(struct node *n) +static unsigned merge_threshold(struct btree_node *n) { return le32_to_cpu(n->header.max_entries) / 3; } @@ -136,18 +136,11 @@ struct child { unsigned index; struct dm_block *block; - struct node *n; + struct btree_node *n; }; -static struct dm_btree_value_type le64_type = { - .context = NULL, - .size = sizeof(__le64), - .inc = NULL, - .dec = NULL, - .equal = NULL -}; - -static int init_child(struct dm_btree_info *info, struct node *parent, +static int init_child(struct dm_btree_info *info, struct dm_btree_value_type *vt, + struct btree_node *parent, unsigned index, struct child *result) { int r, inc; @@ -164,7 +157,7 @@ result->n = dm_block_data(result->block); if (inc) - inc_children(info->tm, result->n, &le64_type); + inc_children(info->tm, result->n, vt); *((__le64 *) value_ptr(parent, index)) = cpu_to_le64(dm_block_location(result->block)); @@ -177,7 +170,7 @@ return dm_tm_unlock(info->tm, c->block); } -static void shift(struct node *left, struct node *right, int count) +static void shift(struct btree_node *left, struct btree_node *right, int count) { uint32_t nr_left = le32_to_cpu(left->header.nr_entries); uint32_t nr_right = le32_to_cpu(right->header.nr_entries); @@ -203,11 +196,11 @@ right->header.nr_entries = cpu_to_le32(nr_right + count); } -static void __rebalance2(struct dm_btree_info *info, struct node *parent, +static void __rebalance2(struct dm_btree_info *info, struct btree_node *parent, struct child *l, struct child *r) { - struct node *left = l->n; - struct node *right = r->n; + struct btree_node *left = l->n; + struct btree_node *right = r->n; uint32_t nr_left = le32_to_cpu(left->header.nr_entries); uint32_t nr_right = le32_to_cpu(right->header.nr_entries); unsigned threshold = 2 * merge_threshold(left) + 1; @@ -236,19 +229,19 @@ } static int rebalance2(struct shadow_spine *s, struct dm_btree_info *info, - unsigned left_index) + struct dm_btree_value_type *vt, unsigned left_index) { int r; - struct node *parent; + struct btree_node *parent; struct child left, right; parent = dm_block_data(shadow_current(s)); - r = init_child(info, parent, left_index, &left); + r = init_child(info, vt, parent, left_index, &left); if (r) return r; - r = init_child(info, parent, left_index + 1, &right); + r = init_child(info, vt, parent, left_index + 1, &right); if (r) { exit_child(info, &left); return r; @@ -270,9 +263,9 @@ * in right, then rebalance2. This wastes some cpu, but I want something * simple atm. */ -static void delete_center_node(struct dm_btree_info *info, struct node *parent, +static void delete_center_node(struct dm_btree_info *info, struct btree_node *parent, struct child *l, struct child *c, struct child *r, - struct node *left, struct node *center, struct node *right, + struct btree_node *left, struct btree_node *center, struct btree_node *right, uint32_t nr_left, uint32_t nr_center, uint32_t nr_right) { uint32_t max_entries = le32_to_cpu(left->header.max_entries); @@ -301,9 +294,9 @@ /* * Redistributes entries among 3 sibling nodes. */ -static void redistribute3(struct dm_btree_info *info, struct node *parent, +static void redistribute3(struct dm_btree_info *info, struct btree_node *parent, struct child *l, struct child *c, struct child *r, - struct node *left, struct node *center, struct node *right, + struct btree_node *left, struct btree_node *center, struct btree_node *right, uint32_t nr_left, uint32_t nr_center, uint32_t nr_right) { int s; @@ -343,12 +336,12 @@ *key_ptr(parent, r->index) = right->keys[0]; } -static void __rebalance3(struct dm_btree_info *info, struct node *parent, +static void __rebalance3(struct dm_btree_info *info, struct btree_node *parent, struct child *l, struct child *c, struct child *r) { - struct node *left = l->n; - struct node *center = c->n; - struct node *right = r->n; + struct btree_node *left = l->n; + struct btree_node *center = c->n; + struct btree_node *right = r->n; uint32_t nr_left = le32_to_cpu(left->header.nr_entries); uint32_t nr_center = le32_to_cpu(center->header.nr_entries); @@ -368,26 +361,26 @@ } static int rebalance3(struct shadow_spine *s, struct dm_btree_info *info, - unsigned left_index) + struct dm_btree_value_type *vt, unsigned left_index) { int r; - struct node *parent = dm_block_data(shadow_current(s)); + struct btree_node *parent = dm_block_data(shadow_current(s)); struct child left, center, right; /* * FIXME: fill out an array? */ - r = init_child(info, parent, left_index, &left); + r = init_child(info, vt, parent, left_index, &left); if (r) return r; - r = init_child(info, parent, left_index + 1, ¢er); + r = init_child(info, vt, parent, left_index + 1, ¢er); if (r) { exit_child(info, &left); return r; } - r = init_child(info, parent, left_index + 2, &right); + r = init_child(info, vt, parent, left_index + 2, &right); if (r) { exit_child(info, &left); exit_child(info, ¢er); @@ -421,7 +414,7 @@ { int r; struct dm_block *block; - struct node *n; + struct btree_node *n; r = dm_tm_read_lock(tm, b, &btree_node_validator, &block); if (r) @@ -434,11 +427,12 @@ } static int rebalance_children(struct shadow_spine *s, - struct dm_btree_info *info, uint64_t key) + struct dm_btree_info *info, + struct dm_btree_value_type *vt, uint64_t key) { int i, r, has_left_sibling, has_right_sibling; uint32_t child_entries; - struct node *n; + struct btree_node *n; n = dm_block_data(shadow_current(s)); @@ -472,18 +466,18 @@ has_right_sibling = i < (le32_to_cpu(n->header.nr_entries) - 1); if (!has_left_sibling) - r = rebalance2(s, info, i); + r = rebalance2(s, info, vt, i); else if (!has_right_sibling) - r = rebalance2(s, info, i - 1); + r = rebalance2(s, info, vt, i - 1); else - r = rebalance3(s, info, i - 1); + r = rebalance3(s, info, vt, i - 1); return r; } -static int do_leaf(struct node *n, uint64_t key, unsigned *index) +static int do_leaf(struct btree_node *n, uint64_t key, unsigned *index) { int i = lower_bound(n, key); @@ -506,7 +500,7 @@ uint64_t key, unsigned *index) { int i = *index, r; - struct node *n; + struct btree_node *n; for (;;) { r = shadow_step(s, root, vt); @@ -529,7 +523,7 @@ if (le32_to_cpu(n->header.flags) & LEAF_NODE) return do_leaf(n, key, index); - r = rebalance_children(s, info, key); + r = rebalance_children(s, info, vt, key); if (r) break; @@ -550,13 +544,21 @@ return r; } +static struct dm_btree_value_type le64_type = { + .context = NULL, + .size = sizeof(__le64), + .inc = NULL, + .dec = NULL, + .equal = NULL +}; + int dm_btree_remove(struct dm_btree_info *info, dm_block_t root, uint64_t *keys, dm_block_t *new_root) { unsigned level, last_level = info->levels - 1; int index = 0, r = 0; struct shadow_spine spine; - struct node *n; + struct btree_node *n; init_shadow_spine(&spine, info); for (level = 0; level < info->levels; level++) { --- linux-lts-quantal-3.5.0.orig/drivers/md/persistent-data/dm-btree-internal.h +++ linux-lts-quantal-3.5.0/drivers/md/persistent-data/dm-btree-internal.h @@ -36,13 +36,13 @@ __le32 padding; } __packed; -struct node { +struct btree_node { struct node_header header; __le64 keys[0]; } __packed; -void inc_children(struct dm_transaction_manager *tm, struct node *n, +void inc_children(struct dm_transaction_manager *tm, struct btree_node *n, struct dm_btree_value_type *vt); int new_block(struct dm_btree_info *info, struct dm_block **result); @@ -64,7 +64,7 @@ void init_ro_spine(struct ro_spine *s, struct dm_btree_info *info); int exit_ro_spine(struct ro_spine *s); int ro_step(struct ro_spine *s, dm_block_t new_child); -struct node *ro_node(struct ro_spine *s); +struct btree_node *ro_node(struct ro_spine *s); struct shadow_spine { struct dm_btree_info *info; @@ -98,17 +98,17 @@ /* * Some inlines. */ -static inline __le64 *key_ptr(struct node *n, uint32_t index) +static inline __le64 *key_ptr(struct btree_node *n, uint32_t index) { return n->keys + index; } -static inline void *value_base(struct node *n) +static inline void *value_base(struct btree_node *n) { return &n->keys[le32_to_cpu(n->header.max_entries)]; } -static inline void *value_ptr(struct node *n, uint32_t index) +static inline void *value_ptr(struct btree_node *n, uint32_t index) { uint32_t value_size = le32_to_cpu(n->header.value_size); return value_base(n) + (value_size * index); @@ -117,7 +117,7 @@ /* * Assumes the values are suitably-aligned and converts to core format. */ -static inline uint64_t value64(struct node *n, uint32_t index) +static inline uint64_t value64(struct btree_node *n, uint32_t index) { __le64 *values_le = value_base(n); @@ -127,7 +127,7 @@ /* * Searching for a key within a single node. */ -int lower_bound(struct node *n, uint64_t key); +int lower_bound(struct btree_node *n, uint64_t key); extern struct dm_block_validator btree_node_validator; --- linux-lts-quantal-3.5.0.orig/drivers/extcon/extcon_class.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/firewire/ohci.c +++ linux-lts-quantal-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[]. */ @@ -2692,8 +2694,11 @@ { u32 *ctx_hdr; - if (ctx->header_length + ctx->base.header_size > PAGE_SIZE) + if (ctx->header_length + ctx->base.header_size > PAGE_SIZE) { + if (ctx->base.drop_overflow_headers) + return; flush_iso_completions(ctx); + } ctx_hdr = ctx->header + ctx->header_length; ctx->last_timestamp = (u16)le32_to_cpu((__force __le32)dma_hdr[0]); @@ -2853,8 +2858,11 @@ sync_it_packet_for_cpu(context, d); - if (ctx->header_length + 4 > PAGE_SIZE) + if (ctx->header_length + 4 > PAGE_SIZE) { + if (ctx->base.drop_overflow_headers) + return 1; flush_iso_completions(ctx); + } ctx_hdr = ctx->header + ctx->header_length; ctx->last_timestamp = le16_to_cpu(last->res_count); --- linux-lts-quantal-3.5.0.orig/drivers/firewire/net.c +++ linux-lts-quantal-3.5.0/drivers/firewire/net.c @@ -861,8 +861,8 @@ if (specifier_id == IANA_SPECIFIER_ID && ver == RFC2734_SW_VERSION) { buf_ptr += 2; length -= IEEE1394_GASP_HDR_SIZE; - fwnet_incoming_packet(dev, buf_ptr, length, - source_node_id, -1, true); + fwnet_incoming_packet(dev, buf_ptr, length, source_node_id, + context->card->generation, true); } packet.payload_length = dev->rcv_buffer_size; @@ -958,7 +958,12 @@ break; } - skb_pull(skb, ptask->max_payload); + if (ptask->dest_node == IEEE1394_ALL_NODES) { + skb_pull(skb, + ptask->max_payload + IEEE1394_GASP_HDR_SIZE); + } else { + skb_pull(skb, ptask->max_payload); + } if (ptask->outstanding_pkts > 1) { fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_INTFRAG, dg_size, fg_off, datagram_label); @@ -1062,7 +1067,7 @@ smp_rmb(); node_id = dev->card->node_id; - p = skb_push(ptask->skb, 8); + p = skb_push(ptask->skb, IEEE1394_GASP_HDR_SIZE); put_unaligned_be32(node_id << 16 | IANA_SPECIFIER_ID >> 8, p); put_unaligned_be32((IANA_SPECIFIER_ID & 0xff) << 24 | RFC2734_SW_VERSION, &p[4]); --- linux-lts-quantal-3.5.0.orig/drivers/firewire/core-device.c +++ linux-lts-quantal-3.5.0/drivers/firewire/core-device.c @@ -1010,6 +1010,10 @@ ret = idr_pre_get(&fw_device_idr, GFP_KERNEL) ? idr_get_new(&fw_device_idr, device, &minor) : -ENOMEM; + if (minor >= 1 << MINORBITS) { + idr_remove(&fw_device_idr, minor); + minor = -ENOSPC; + } up_write(&fw_device_rwsem); if (ret < 0) --- linux-lts-quantal-3.5.0.orig/drivers/firewire/core-cdev.c +++ linux-lts-quantal-3.5.0/drivers/firewire/core-cdev.c @@ -54,6 +54,7 @@ #define FW_CDEV_KERNEL_VERSION 5 #define FW_CDEV_VERSION_EVENT_REQUEST2 4 #define FW_CDEV_VERSION_ALLOCATE_REGION_END 4 +#define FW_CDEV_VERSION_AUTO_FLUSH_ISO_OVERFLOW 5 struct client { u32 version; @@ -473,8 +474,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); @@ -1009,6 +1010,8 @@ a->channel, a->speed, a->header_size, cb, client); if (IS_ERR(context)) return PTR_ERR(context); + if (client->version < FW_CDEV_VERSION_AUTO_FLUSH_ISO_OVERFLOW) + context->drop_overflow_headers = true; /* We only support one context at this time. */ spin_lock_irq(&client->lock); --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/applesmc.c +++ linux-lts-quantal-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; @@ -489,16 +511,25 @@ { struct applesmc_registers *s = &smcreg; bool left_light_sensor, right_light_sensor; + unsigned int count; u8 tmp[1]; int ret; if (s->init_complete) return 0; - ret = read_register_count(&s->key_count); + ret = read_register_count(&count); if (ret) return ret; + if (s->cache && s->key_count != count) { + pr_warn("key count changed from %d to %d\n", + s->key_count, count); + kfree(s->cache); + s->cache = NULL; + } + s->key_count = count; + if (!s->cache) s->cache = kcalloc(s->key_count, sizeof(*s->cache), GFP_KERNEL); if (!s->cache) --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/lineage-pem.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/lineage-pem.c @@ -421,6 +421,7 @@ &sensor_dev_attr_in2_input.dev_attr.attr, &sensor_dev_attr_curr1_input.dev_attr.attr, &sensor_dev_attr_power1_input.dev_attr.attr, + NULL }; static const struct attribute_group pem_input_group = { @@ -431,6 +432,7 @@ &sensor_dev_attr_fan1_input.dev_attr.attr, &sensor_dev_attr_fan2_input.dev_attr.attr, &sensor_dev_attr_fan3_input.dev_attr.attr, + NULL }; static const struct attribute_group pem_fan_group = { --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/sht15.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/sht15.c @@ -926,7 +926,13 @@ if (voltage) data->supply_uV = voltage; - regulator_enable(data->reg); + ret = regulator_enable(data->reg); + if (ret != 0) { + dev_err(&pdev->dev, + "failed to enable regulator: %d\n", ret); + goto err_free_data; + } + /* * Setup a notifier block to update this if another device * causes the voltage to change --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/abituguru.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/abituguru.c @@ -1410,14 +1410,18 @@ pr_info("found Abit uGuru\n"); /* Register sysfs hooks */ - for (i = 0; i < sysfs_attr_i; i++) - if (device_create_file(&pdev->dev, - &data->sysfs_attr[i].dev_attr)) + for (i = 0; i < sysfs_attr_i; i++) { + res = device_create_file(&pdev->dev, + &data->sysfs_attr[i].dev_attr); + if (res) goto abituguru_probe_error; - for (i = 0; i < ARRAY_SIZE(abituguru_sysfs_attr); i++) - if (device_create_file(&pdev->dev, - &abituguru_sysfs_attr[i].dev_attr)) + } + for (i = 0; i < ARRAY_SIZE(abituguru_sysfs_attr); i++) { + res = device_create_file(&pdev->dev, + &abituguru_sysfs_attr[i].dev_attr); + if (res) goto abituguru_probe_error; + } data->hwmon_dev = hwmon_device_register(&pdev->dev); if (!IS_ERR(data->hwmon_dev)) --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/ina2xx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/twl4030-madc-hwmon.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/asus_atk0110.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/lm73.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/lm73.c @@ -49,6 +49,7 @@ struct i2c_client *client = to_i2c_client(dev); long temp; short value; + s32 err; int status = kstrtol(buf, 10, &temp); if (status < 0) @@ -57,8 +58,8 @@ /* Write value */ value = (short) SENSORS_LIMIT(temp/250, (LM73_TEMP_MIN*4), (LM73_TEMP_MAX*4)) << 5; - i2c_smbus_write_word_swapped(client, attr->index, value); - return count; + err = i2c_smbus_write_word_swapped(client, attr->index, value); + return (err < 0) ? err : count; } static ssize_t show_temp(struct device *dev, struct device_attribute *da, @@ -66,11 +67,16 @@ { struct sensor_device_attribute *attr = to_sensor_dev_attr(da); struct i2c_client *client = to_i2c_client(dev); + int temp; + + s32 err = i2c_smbus_read_word_swapped(client, attr->index); + if (err < 0) + return err; + /* use integer division instead of equivalent right shift to guarantee arithmetic shift and preserve the sign */ - int temp = ((s16) (i2c_smbus_read_word_swapped(client, - attr->index))*250) / 32; - return sprintf(buf, "%d\n", temp); + temp = (((s16) err) * 250) / 32; + return scnprintf(buf, PAGE_SIZE, "%d\n", temp); } --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/adm1021.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/adm1021.c @@ -332,26 +332,68 @@ man_id = i2c_smbus_read_byte_data(client, ADM1021_REG_MAN_ID); dev_id = i2c_smbus_read_byte_data(client, ADM1021_REG_DEV_ID); + if (man_id < 0 || dev_id < 0) + return -ENODEV; + if (man_id == 0x4d && dev_id == 0x01) type_name = "max1617a"; else if (man_id == 0x41) { if ((dev_id & 0xF0) == 0x30) type_name = "adm1023"; - else + else if ((dev_id & 0xF0) == 0x00) type_name = "adm1021"; + else + return -ENODEV; } else if (man_id == 0x49) type_name = "thmc10"; else if (man_id == 0x23) type_name = "gl523sm"; else if (man_id == 0x54) type_name = "mc1066"; - /* LM84 Mfr ID in a different place, and it has more unused bits */ - else if (conv_rate == 0x00 - && (config & 0x7F) == 0x00 - && (status & 0xAB) == 0x00) - type_name = "lm84"; - else - type_name = "max1617"; + else { + int lte, rte, lhi, rhi, llo, rlo; + + /* extra checks for LM84 and MAX1617 to avoid misdetections */ + + llo = i2c_smbus_read_byte_data(client, ADM1021_REG_THYST_R(0)); + rlo = i2c_smbus_read_byte_data(client, ADM1021_REG_THYST_R(1)); + + /* fail if any of the additional register reads failed */ + if (llo < 0 || rlo < 0) + return -ENODEV; + + lte = i2c_smbus_read_byte_data(client, ADM1021_REG_TEMP(0)); + rte = i2c_smbus_read_byte_data(client, ADM1021_REG_TEMP(1)); + lhi = i2c_smbus_read_byte_data(client, ADM1021_REG_TOS_R(0)); + rhi = i2c_smbus_read_byte_data(client, ADM1021_REG_TOS_R(1)); + + /* + * Fail for negative temperatures and negative high limits. + * This check also catches read errors on the tested registers. + */ + if ((s8)lte < 0 || (s8)rte < 0 || (s8)lhi < 0 || (s8)rhi < 0) + return -ENODEV; + + /* fail if all registers hold the same value */ + if (lte == rte && lte == lhi && lte == rhi && lte == llo + && lte == rlo) + return -ENODEV; + + /* + * LM84 Mfr ID is in a different place, + * and it has more unused bits. + */ + if (conv_rate == 0x00 + && (config & 0x7F) == 0x00 + && (status & 0xAB) == 0x00) { + type_name = "lm84"; + } else { + /* fail if low limits are larger than high limits */ + if ((s8)llo > lhi || (s8)rlo > rhi) + return -ENODEV; + type_name = "max1617"; + } + } pr_debug("adm1021: Detected chip %s at adapter %d, address 0x%02x.\n", type_name, i2c_adapter_id(adapter), client->addr); --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/fam15h_power.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/fam15h_power.c @@ -31,6 +31,9 @@ MODULE_AUTHOR("Andreas Herrmann "); MODULE_LICENSE("GPL"); +/* Family 16h Northbridge's function 4 PCI ID */ +#define PCI_DEVICE_ID_AMD_16H_NB_F4 0x1534 + /* D18F3 */ #define REG_NORTHBRIDGE_CAP 0xe8 @@ -128,12 +131,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 +160,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) { @@ -246,6 +259,7 @@ static DEFINE_PCI_DEVICE_TABLE(fam15h_power_id_table) = { { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F4) }, + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_NB_F4) }, {} }; MODULE_DEVICE_TABLE(pci, fam15h_power_id_table); @@ -255,6 +269,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-lts-quantal-3.5.0.orig/drivers/hwmon/coretemp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/w83627ehf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/ad7314.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/adt7470.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/adt7470.c @@ -215,7 +215,7 @@ u16 value) { return i2c_smbus_write_byte_data(client, reg, value & 0xFF) - && i2c_smbus_write_byte_data(client, reg + 1, value >> 8); + || i2c_smbus_write_byte_data(client, reg + 1, value >> 8); } static void adt7470_init_client(struct i2c_client *client) --- linux-lts-quantal-3.5.0.orig/drivers/hwmon/ads7871.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hwmon/pmbus/ltc2978.c +++ linux-lts-quantal-3.5.0/drivers/hwmon/pmbus/ltc2978.c @@ -59,10 +59,10 @@ struct ltc2978_data { enum chips id; int vin_min, vin_max; - int temp_min, temp_max; + int temp_min, temp_max[2]; int vout_min[8], vout_max[8]; int iout_max[2]; - int temp2_max[2]; + int temp2_max; struct pmbus_driver_info info; }; @@ -113,9 +113,10 @@ ret = pmbus_read_word_data(client, page, LTC2978_MFR_TEMPERATURE_PEAK); if (ret >= 0) { - if (lin11_to_val(ret) > lin11_to_val(data->temp_max)) - data->temp_max = ret; - ret = data->temp_max; + if (lin11_to_val(ret) + > lin11_to_val(data->temp_max[page])) + data->temp_max[page] = ret; + ret = data->temp_max[page]; } break; case PMBUS_VIRT_RESET_VOUT_HISTORY: @@ -204,10 +205,9 @@ ret = pmbus_read_word_data(client, page, LTC3880_MFR_TEMPERATURE2_PEAK); if (ret >= 0) { - if (lin11_to_val(ret) - > lin11_to_val(data->temp2_max[page])) - data->temp2_max[page] = ret; - ret = data->temp2_max[page]; + if (lin11_to_val(ret) > lin11_to_val(data->temp2_max)) + data->temp2_max = ret; + ret = data->temp2_max; } break; case PMBUS_VIRT_READ_VIN_MIN: @@ -248,11 +248,11 @@ switch (reg) { case PMBUS_VIRT_RESET_IOUT_HISTORY: - data->iout_max[page] = 0x7fff; + data->iout_max[page] = 0x7c00; ret = ltc2978_clear_peaks(client, page, data->id); break; case PMBUS_VIRT_RESET_TEMP2_HISTORY: - data->temp2_max[page] = 0x7fff; + data->temp2_max = 0x7c00; ret = ltc2978_clear_peaks(client, page, data->id); break; case PMBUS_VIRT_RESET_VOUT_HISTORY: @@ -262,12 +262,12 @@ break; case PMBUS_VIRT_RESET_VIN_HISTORY: data->vin_min = 0x7bff; - data->vin_max = 0; + data->vin_max = 0x7c00; ret = ltc2978_clear_peaks(client, page, data->id); break; case PMBUS_VIRT_RESET_TEMP_HISTORY: data->temp_min = 0x7bff; - data->temp_max = 0x7fff; + data->temp_max[page] = 0x7c00; ret = ltc2978_clear_peaks(client, page, data->id); break; default: @@ -321,12 +321,14 @@ info = &data->info; info->write_word_data = ltc2978_write_word_data; - data->vout_min[0] = 0xffff; data->vin_min = 0x7bff; + data->vin_max = 0x7c00; data->temp_min = 0x7bff; - data->temp_max = 0x7fff; + for (i = 0; i < ARRAY_SIZE(data->temp_max); i++) + data->temp_max[i] = 0x7c00; + data->temp2_max = 0x7c00; - switch (id->driver_data) { + switch (data->id) { case ltc2978: info->read_word_data = ltc2978_read_word_data; info->pages = 8; @@ -336,7 +338,6 @@ for (i = 1; i < 8; i++) { info->func[i] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT; - data->vout_min[i] = 0xffff; } break; case ltc3880: @@ -352,11 +353,14 @@ | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT | PMBUS_HAVE_POUT | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; - data->vout_min[1] = 0xffff; + data->iout_max[0] = 0x7c00; + data->iout_max[1] = 0x7c00; break; default: return -ENODEV; } + for (i = 0; i < info->pages; i++) + data->vout_min[i] = 0xffff; return pmbus_do_probe(client, id, info); } --- linux-lts-quantal-3.5.0.orig/drivers/video/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/video/vesafb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/video/udlfb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/video/fbsysfs.c +++ linux-lts-quantal-3.5.0/drivers/video/fbsysfs.c @@ -177,6 +177,8 @@ if (i * sizeof(struct fb_videomode) != count) return -EINVAL; + if (!lock_fb_info(fb_info)) + return -ENODEV; console_lock(); list_splice(&fb_info->modelist, &old_list); fb_videomode_to_modelist((const struct fb_videomode *)buf, i, @@ -188,6 +190,7 @@ fb_destroy_modelist(&old_list); console_unlock(); + unlock_fb_info(fb_info); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/video/atmel_lcdfb.c +++ linux-lts-quantal-3.5.0/drivers/video/atmel_lcdfb.c @@ -422,17 +422,22 @@ = var->bits_per_pixel; break; case 16: + /* Older SOCs use IBGR:555 rather than BGR:565. */ + if (sinfo->have_intensity_bit) + var->green.length = 5; + else + var->green.length = 6; + if (sinfo->lcd_wiring_mode == ATMEL_LCDC_WIRING_RGB) { - /* RGB:565 mode */ - var->red.offset = 11; + /* RGB:5X5 mode */ + var->red.offset = var->green.length + 5; var->blue.offset = 0; } else { - /* BGR:565 mode */ + /* BGR:5X5 mode */ var->red.offset = 0; - var->blue.offset = 11; + var->blue.offset = var->green.length + 5; } var->green.offset = 5; - var->green.length = 6; var->red.length = var->blue.length = 5; break; case 32: @@ -679,8 +684,7 @@ case FB_VISUAL_PSEUDOCOLOR: if (regno < 256) { - if (cpu_is_at91sam9261() || cpu_is_at91sam9263() - || cpu_is_at91sam9rl()) { + if (sinfo->have_intensity_bit) { /* old style I+BGR:555 */ val = ((red >> 11) & 0x001f); val |= ((green >> 6) & 0x03e0); @@ -870,6 +874,10 @@ } sinfo->info = info; sinfo->pdev = pdev; + if (cpu_is_at91sam9261() || cpu_is_at91sam9263() || + cpu_is_at91sam9rl()) { + sinfo->have_intensity_bit = true; + } strcpy(info->fix.id, sinfo->pdev->name); info->flags = ATMEL_LCDFB_FBINFO_DEFAULT; --- linux-lts-quantal-3.5.0.orig/drivers/video/fbmem.c +++ linux-lts-quantal-3.5.0/drivers/video/fbmem.c @@ -1177,8 +1177,10 @@ event.data = &con2fb; if (!lock_fb_info(info)) return -ENODEV; + console_lock(); event.info = info; ret = fb_notifier_call_chain(FB_EVENT_SET_CONSOLE_MAP, &event); + console_unlock(); unlock_fb_info(info); break; case FBIOBLANK: @@ -1371,15 +1373,12 @@ { struct fb_info *info = file_fb_info(file); struct fb_ops *fb; - unsigned long off; + unsigned long mmio_pgoff; unsigned long start; u32 len; if (!info) return -ENODEV; - if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT)) - return -EINVAL; - off = vma->vm_pgoff << PAGE_SHIFT; fb = info->fbops; if (!fb) return -ENODEV; @@ -1391,33 +1390,24 @@ return res; } - /* frame buffer memory */ + /* + * Ugh. This can be either the frame buffer mapping, or + * if pgoff points past it, the mmio mapping. + */ start = info->fix.smem_start; - len = PAGE_ALIGN((start & ~PAGE_MASK) + info->fix.smem_len); - if (off >= len) { - /* memory mapped io */ - off -= len; - if (info->var.accel_flags) { - mutex_unlock(&info->mm_lock); - return -EINVAL; - } + len = info->fix.smem_len; + mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT; + if (vma->vm_pgoff >= mmio_pgoff) { + vma->vm_pgoff -= mmio_pgoff; start = info->fix.mmio_start; - len = PAGE_ALIGN((start & ~PAGE_MASK) + info->fix.mmio_len); + len = info->fix.mmio_len; } mutex_unlock(&info->mm_lock); - start &= PAGE_MASK; - if ((vma->vm_end - vma->vm_start + off) > len) - return -EINVAL; - off += start; - vma->vm_pgoff = off >> PAGE_SHIFT; - /* This is an IO map - tell maydump to skip this VMA */ - vma->vm_flags |= VM_IO | VM_RESERVED; + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); - fb_pgprotect(file, vma, off); - if (io_remap_pfn_range(vma, vma->vm_start, off >> PAGE_SHIFT, - vma->vm_end - vma->vm_start, vma->vm_page_prot)) - return -EAGAIN; - return 0; + fb_pgprotect(file, vma, start); + + return vm_iomap_memory(vma, start, len); } static int @@ -1651,7 +1641,9 @@ event.info = fb_info; if (!lock_fb_info(fb_info)) return -ENODEV; + console_lock(); fb_notifier_call_chain(FB_EVENT_FB_REGISTERED, &event); + console_unlock(); unlock_fb_info(fb_info); return 0; } @@ -1667,8 +1659,10 @@ if (!lock_fb_info(fb_info)) return -ENODEV; + console_lock(); event.info = fb_info; ret = fb_notifier_call_chain(FB_EVENT_FB_UNBIND, &event); + console_unlock(); unlock_fb_info(fb_info); if (ret) @@ -1683,7 +1677,9 @@ num_registered_fb--; fb_cleanup_device(fb_info); event.info = fb_info; + console_lock(); fb_notifier_call_chain(FB_EVENT_FB_UNREGISTERED, &event); + console_unlock(); /* this may free fb info */ put_fb_info(fb_info); @@ -1854,11 +1850,8 @@ err = 1; if (!list_empty(&info->modelist)) { - if (!lock_fb_info(info)) - return -ENODEV; event.info = info; err = fb_notifier_call_chain(FB_EVENT_NEW_MODELIST, &event); - unlock_fb_info(info); } return err; --- linux-lts-quantal-3.5.0.orig/drivers/video/fsl-diu-fb.c +++ linux-lts-quantal-3.5.0/drivers/video/fsl-diu-fb.c @@ -922,7 +922,7 @@ #define PF_COMP_0_MASK 0x0000000F #define PF_COMP_0_SHIFT 0 -#define MAKE_PF(alpha, red, blue, green, size, c0, c1, c2, c3) \ +#define MAKE_PF(alpha, red, green, blue, size, c0, c1, c2, c3) \ cpu_to_le32(PF_BYTE_F | (alpha << PF_ALPHA_C_SHIFT) | \ (blue << PF_BLUE_C_SHIFT) | (green << PF_GREEN_C_SHIFT) | \ (red << PF_RED_C_SHIFT) | (c3 << PF_COMP_3_SHIFT) | \ @@ -932,10 +932,10 @@ switch (bits_per_pixel) { case 32: /* 0x88883316 */ - return MAKE_PF(3, 2, 0, 1, 3, 8, 8, 8, 8); + return MAKE_PF(3, 2, 1, 0, 3, 8, 8, 8, 8); case 24: /* 0x88082219 */ - return MAKE_PF(4, 0, 1, 2, 2, 0, 8, 8, 8); + return MAKE_PF(4, 0, 1, 2, 2, 8, 8, 8, 0); case 16: /* 0x65053118 */ return MAKE_PF(4, 2, 1, 0, 1, 5, 6, 5, 0); --- linux-lts-quantal-3.5.0.orig/drivers/video/mxsfb.c +++ linux-lts-quantal-3.5.0/drivers/video/mxsfb.c @@ -367,7 +367,8 @@ loop--; } - writel(VDCTRL4_SYNC_SIGNALS_ON, host->base + LCDC_VDCTRL4 + REG_CLR); + reg = readl(host->base + LCDC_VDCTRL4); + writel(reg & ~VDCTRL4_SYNC_SIGNALS_ON, host->base + LCDC_VDCTRL4); clk_disable_unprepare(host->clk); @@ -615,6 +616,7 @@ break; case 3: bits_per_pixel = 32; + break; case 1: default: return -EINVAL; --- linux-lts-quantal-3.5.0.orig/drivers/video/smscufx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/video/omap2/omapfb/omapfb-main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/video/backlight/adp8860_bl.c +++ linux-lts-quantal-3.5.0/drivers/video/backlight/adp8860_bl.c @@ -783,7 +783,7 @@ static int adp8860_i2c_resume(struct i2c_client *client) { - adp8860_set_bits(client, ADP8860_MDCR, NSTBY); + adp8860_set_bits(client, ADP8860_MDCR, NSTBY | BLEN); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/video/backlight/adp8870_bl.c +++ linux-lts-quantal-3.5.0/drivers/video/backlight/adp8870_bl.c @@ -957,7 +957,7 @@ static int adp8870_i2c_resume(struct i2c_client *client) { - adp8870_set_bits(client, ADP8870_MDCR, NSTBY); + adp8870_set_bits(client, ADP8870_MDCR, NSTBY | BLEN); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/video/via/via_clock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/video/console/vgacon.c +++ linux-lts-quantal-3.5.0/drivers/video/console/vgacon.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -1064,7 +1065,7 @@ unsigned short video_port_status = vga_video_port_reg + 6; int font_select = 0x00, beg, i; char *charmap; - + bool clear_attribs = false; if (vga_video_type != VIDEO_TYPE_EGAM) { charmap = (char *) VGA_MAP_MEM(colourmap, 0); beg = 0x0e; @@ -1124,11 +1125,15 @@ if (arg) { if (set) - for (i = 0; i < cmapsz; i++) + for (i = 0; i < cmapsz; i++) { vga_writeb(arg[i], charmap + i); + cond_resched(); + } else - for (i = 0; i < cmapsz; i++) + for (i = 0; i < cmapsz; i++) { arg[i] = vga_readb(charmap + i); + cond_resched(); + } /* * In 512-character mode, the character map is not contiguous if @@ -1139,11 +1144,15 @@ charmap += 2 * cmapsz; arg += cmapsz; if (set) - for (i = 0; i < cmapsz; i++) + for (i = 0; i < cmapsz; i++) { vga_writeb(arg[i], charmap + i); + cond_resched(); + } else - for (i = 0; i < cmapsz; i++) + for (i = 0; i < cmapsz; i++) { arg[i] = vga_readb(charmap + i); + cond_resched(); + } } } @@ -1169,12 +1178,6 @@ /* if 512 char mode is already enabled don't re-enable it. */ if ((set) && (ch512 != vga_512_chars)) { - /* attribute controller */ - for (i = 0; i < MAX_NR_CONSOLES; i++) { - struct vc_data *c = vc_cons[i].d; - if (c && c->vc_sw == &vga_con) - c->vc_hi_font_mask = ch512 ? 0x0800 : 0; - } vga_512_chars = ch512; /* 256-char: enable intensity bit 512-char: disable intensity bit */ @@ -1185,8 +1188,22 @@ it means, but it works, and it appears necessary */ inb_p(video_port_status); vga_wattr(state->vgabase, VGA_AR_ENABLE_DISPLAY, 0); + clear_attribs = true; } raw_spin_unlock_irq(&vga_lock); + + if (clear_attribs) { + for (i = 0; i < MAX_NR_CONSOLES; i++) { + struct vc_data *c = vc_cons[i].d; + if (c && c->vc_sw == &vga_con) { + /* force hi font mask to 0, so we always clear + the bit on either transition */ + c->vc_hi_font_mask = 0x00; + clear_buffer_attributes(c); + c->vc_hi_font_mask = ch512 ? 0x0800 : 0; + } + } + } return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/video/console/fbcon.c +++ linux-lts-quantal-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; @@ -522,6 +529,33 @@ return retval; } +static int do_fbcon_takeover(int show_logo) +{ + int err, i; + + if (!num_registered_fb) + return -ENODEV; + + if (!show_logo) + logo_shown = FBCON_LOGO_DONTSHOW; + + for (i = first_fb_vc; i <= last_fb_vc; i++) + con2fb_map[i] = info_idx; + + err = do_take_over_console(&fb_con, first_fb_vc, last_fb_vc, + fbcon_is_default); + + if (err) { + for (i = first_fb_vc; i <= last_fb_vc; i++) + con2fb_map[i] = -1; + info_idx = -1; + } else { + fbcon_has_console_bind = 1; + } + + return err; +} + static int fbcon_takeover(int show_logo) { int err, i; @@ -808,6 +842,8 @@ * * Maps a virtual console @unit to a frame buffer device * @newidx. + * + * This should be called with the console lock held. */ static int set_con2fb_map(int unit, int newidx, int user) { @@ -825,7 +861,7 @@ if (!search_for_mapped_con() || !con_is_bound(&fb_con)) { info_idx = newidx; - return fbcon_takeover(0); + return do_fbcon_takeover(0); } if (oldidx != -1) @@ -833,7 +869,6 @@ found = search_fb_in_map(newidx); - console_lock(); con2fb_map[unit] = newidx; if (!err && !found) err = con2fb_acquire_newinfo(vc, info, unit, oldidx); @@ -860,7 +895,6 @@ if (!search_fb_in_map(info_idx)) info_idx = newidx; - console_unlock(); return err; } @@ -983,7 +1017,7 @@ } /* Setup default font */ - if (!p->fontdata) { + if (!p->fontdata && !vc->vc_font.data) { if (!fontname[0] || !(font = find_font(fontname))) font = get_default_font(info->var.xres, info->var.yres, @@ -993,6 +1027,8 @@ vc->vc_font.height = font->height; vc->vc_font.data = (void *)(p->fontdata = font->data); vc->vc_font.charcount = 256; /* FIXME Need to support more fonts */ + } else { + p->fontdata = vc->vc_font.data; } cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); @@ -1152,9 +1188,9 @@ ops->p = &fb_display[fg_console]; } -static void fbcon_free_font(struct display *p) +static void fbcon_free_font(struct display *p, bool freefont) { - if (p->userfont && p->fontdata && (--REFCOUNT(p->fontdata) == 0)) + if (freefont && p->userfont && p->fontdata && (--REFCOUNT(p->fontdata) == 0)) kfree(p->fontdata - FONT_EXTRA_WORDS * sizeof(int)); p->fontdata = NULL; p->userfont = 0; @@ -1166,8 +1202,8 @@ struct fb_info *info; struct fbcon_ops *ops; int idx; + bool free_font = true; - fbcon_free_font(p); idx = con2fb_map[vc->vc_num]; if (idx == -1) @@ -1178,6 +1214,8 @@ if (!info) goto finished; + if (info->flags & FBINFO_MISC_FIRMWARE) + free_font = false; ops = info->fbcon_par; if (!ops) @@ -1189,6 +1227,10 @@ ops->flags &= ~FBCON_FLAGS_INIT; finished: + fbcon_free_font(p, free_font); + if (free_font) + vc->vc_font.data = NULL; + if (!con_is_bound(&fb_con)) fbcon_exit(); @@ -2970,7 +3012,7 @@ { int ret; - ret = unbind_con_driver(&fb_con, first_fb_vc, last_fb_vc, + ret = do_unbind_con_driver(&fb_con, first_fb_vc, last_fb_vc, fbcon_is_default); if (!ret) @@ -2985,6 +3027,7 @@ } #endif /* CONFIG_VT_HW_CONSOLE_BINDING */ +/* called with console_lock held */ static int fbcon_fb_unbind(int idx) { int i, new_idx = -1, ret = 0; @@ -3011,6 +3054,7 @@ return ret; } +/* called with console_lock held */ static int fbcon_fb_unregistered(struct fb_info *info) { int i, idx; @@ -3043,11 +3087,12 @@ primary_device = -1; if (!num_registered_fb) - unregister_con_driver(&fb_con); + do_unregister_con_driver(&fb_con); return 0; } +/* called with console_lock held */ static void fbcon_remap_all(int idx) { int i; @@ -3092,6 +3137,7 @@ } #endif /* CONFIG_FRAMEBUFFER_DETECT_PRIMARY */ +/* called with console_lock held */ static int fbcon_fb_registered(struct fb_info *info) { int ret = 0, i, idx; @@ -3108,7 +3154,7 @@ } if (info_idx != -1) - ret = fbcon_takeover(1); + ret = do_fbcon_takeover(1); } else { for (i = first_fb_vc; i <= last_fb_vc; i++) { if (con2fb_map_boot[i] == idx) @@ -3244,6 +3290,7 @@ ret = fbcon_fb_unregistered(info); break; case FB_EVENT_SET_CONSOLE_MAP: + /* called with console lock held */ con2fb = event->data; ret = set_con2fb_map(con2fb->console - 1, con2fb->framebuffer, 1); --- linux-lts-quantal-3.5.0.orig/drivers/base/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/base/core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/base/bus.c +++ linux-lts-quantal-3.5.0/drivers/base/bus.c @@ -293,7 +293,7 @@ struct device *dev; int error = 0; - if (!bus) + if (!bus || !bus->p) return -EINVAL; klist_iter_init_node(&bus->p->klist_devices, &i, @@ -327,7 +327,7 @@ struct klist_iter i; struct device *dev; - if (!bus) + if (!bus || !bus->p) return NULL; klist_iter_init_node(&bus->p->klist_devices, &i, --- linux-lts-quantal-3.5.0.orig/drivers/base/memory.c +++ linux-lts-quantal-3.5.0/drivers/base/memory.c @@ -154,6 +154,8 @@ container_of(dev, struct memory_block, dev); for (i = 0; i < sections_per_block; i++) { + if (!present_section_nr(mem->start_section_nr + i)) + continue; pfn = section_nr_to_pfn(mem->start_section_nr + i); ret &= is_mem_section_removable(pfn, PAGES_PER_SECTION); } --- linux-lts-quantal-3.5.0.orig/drivers/base/dd.c +++ linux-lts-quantal-3.5.0/drivers/base/dd.c @@ -161,6 +161,8 @@ driver_deferred_probe_enable = true; driver_deferred_probe_trigger(); + /* Sort as many dependencies as possible before exiting initcalls */ + flush_workqueue(deferred_wq); return 0; } late_initcall(deferred_probe_initcall); --- linux-lts-quantal-3.5.0.orig/drivers/base/power/runtime.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/base/power/main.c +++ linux-lts-quantal-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); @@ -507,6 +527,8 @@ error = dpm_run_callback(callback, dev, state, info); TRACE_RESUME(error); + + pm_runtime_enable(dev); return error; } @@ -565,6 +587,7 @@ char *info = NULL; int error = 0; bool put = false; + ktime_t starttime = ktime_get(); TRACE_DEVICE(dev); TRACE_RESUME(0); @@ -581,7 +604,6 @@ if (!dev->power.is_suspended) goto Unlock; - pm_runtime_enable(dev); put = true; if (dev->pm_domain) { @@ -625,6 +647,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 +855,7 @@ { pm_callback_t callback = NULL; char *info = NULL; + ktime_t starttime = ktime_get(); if (dev->pm_domain) { info = "noirq power domain "; @@ -845,6 +869,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) { @@ -915,6 +940,8 @@ pm_callback_t callback = NULL; char *info = NULL; + __pm_runtime_disable(dev, false); + if (dev->pm_domain) { info = "late power domain "; callback = pm_late_early_op(&dev->pm_domain->ops, state); @@ -989,8 +1016,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 +1062,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 +1124,7 @@ error = dpm_run_callback(callback, dev, state, info); + device_show_time(dev, starttime, state, NULL); End: if (!error) { dev->power.is_suspended = true; @@ -1100,12 +1137,9 @@ Complete: complete_all(&dev->power.completion); - if (error) { pm_runtime_put_sync(dev); async_error = error; - } else if (dev->power.is_suspended) { - __pm_runtime_disable(dev, false); } return error; --- linux-lts-quantal-3.5.0.orig/drivers/base/power/qos.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/base/regmap/regmap.c +++ linux-lts-quantal-3.5.0/drivers/base/regmap/regmap.c @@ -69,7 +69,7 @@ } static bool regmap_volatile_range(struct regmap *map, unsigned int reg, - unsigned int num) + size_t num) { unsigned int i; --- linux-lts-quantal-3.5.0.orig/drivers/base/regmap/regcache-rbtree.c +++ linux-lts-quantal-3.5.0/drivers/base/regmap/regcache-rbtree.c @@ -398,7 +398,7 @@ base = 0; if (max < rbnode->base_reg + rbnode->blklen) - end = rbnode->base_reg + rbnode->blklen - max; + end = max - rbnode->base_reg + 1; else end = rbnode->blklen; --- linux-lts-quantal-3.5.0.orig/drivers/base/regmap/regmap-debugfs.c +++ linux-lts-quantal-3.5.0/drivers/base/regmap/regmap-debugfs.c @@ -90,7 +90,7 @@ /* If we're in the region the user is trying to read */ if (p >= *ppos) { /* ...but not beyond it */ - if (buf_pos >= count - 1 - tot_len) + if (buf_pos + 1 + tot_len >= count) break; /* Format the register */ --- linux-lts-quantal-3.5.0.orig/drivers/dca/dca-core.c +++ linux-lts-quantal-3.5.0/drivers/dca/dca-core.c @@ -420,6 +420,11 @@ raw_spin_lock_irqsave(&dca_lock, flags); + if (list_empty(&dca_domains)) { + raw_spin_unlock_irqrestore(&dca_lock, flags); + return; + } + list_del(&dca->node); pci_rc = dca_pci_rc_from_dev(dev); --- linux-lts-quantal-3.5.0.orig/drivers/pci/pci.c +++ linux-lts-quantal-3.5.0/drivers/pci/pci.c @@ -674,15 +674,11 @@ error = platform_pci_set_power_state(dev, state); if (!error) pci_update_current_state(dev, state); - /* Fall back to PCI_D0 if native PM is not supported */ - if (!dev->pm_cap) - dev->current_state = PCI_D0; - } else { + } else error = -ENODEV; - /* Fall back to PCI_D0 if native PM is not supported */ - if (!dev->pm_cap) - dev->current_state = PCI_D0; - } + + if (error && !dev->pm_cap) /* Fall back to PCI_D0 */ + dev->current_state = PCI_D0; return error; } --- linux-lts-quantal-3.5.0.orig/drivers/pci/remove.c +++ linux-lts-quantal-3.5.0/drivers/pci/remove.c @@ -19,6 +19,8 @@ static void pci_stop_dev(struct pci_dev *dev) { + pci_pme_active(dev, false); + if (dev->is_added) { pci_proc_detach_device(dev); pci_remove_sysfs_dev_files(dev); --- linux-lts-quantal-3.5.0.orig/drivers/pci/pci-driver.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pci/probe.c +++ linux-lts-quantal-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; } @@ -1623,8 +1625,10 @@ bridge->dev.release = pci_release_bus_bridge_dev; dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus); error = device_register(&bridge->dev); - if (error) - goto bridge_dev_reg_err; + if (error) { + put_device(&bridge->dev); + goto err_out; + } b->bridge = get_device(&bridge->dev); device_enable_async_suspend(b->bridge); pci_set_bus_of_node(b); @@ -1677,8 +1681,6 @@ class_dev_reg_err: put_device(&bridge->dev); device_unregister(&bridge->dev); -bridge_dev_reg_err: - kfree(bridge); err_out: kfree(b); return NULL; --- linux-lts-quantal-3.5.0.orig/drivers/pci/quirks.c +++ linux-lts-quantal-3.5.0/drivers/pci/quirks.c @@ -44,6 +44,21 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); +/* The BAR0 ~ BAR4 of Marvell 9125 device can't be accessed +* by IO resource file, and need to skip the files +*/ +static void quirk_marvell_mask_bar(struct pci_dev *dev) +{ + int i; + + for (i = 0; i < 5; i++) + if (dev->resource[i].start) + dev->resource[i].start = + dev->resource[i].end = 0; +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9125, + quirk_marvell_mask_bar); + /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow * PCI scanning code to "skip" this now blacklisted device. @@ -1062,6 +1077,8 @@ DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE, quirk_amd_ide_mode); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE, quirk_amd_ide_mode); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode); +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode); /* * Serverworks CSB5 IDE does not fully support native mode @@ -2720,7 +2737,7 @@ if (PCI_FUNC(dev->devfn)) return; /* - * RICOH 0xe823 SD/MMC card reader fails to recognize + * RICOH 0xe822 and 0xe823 SD/MMC card readers fail to recognize * certain types of SD/MMC cards. Lowering the SD base * clock frequency from 200Mhz to 50Mhz fixes this issue. * @@ -2731,7 +2748,8 @@ * 0xf9 - Key register for 0x150 * 0xfc - key register for 0xe1 */ - if (dev->device == PCI_DEVICE_ID_RICOH_R5CE823) { + if (dev->device == PCI_DEVICE_ID_RICOH_R5CE822 || + dev->device == PCI_DEVICE_ID_RICOH_R5CE823) { pci_write_config_byte(dev, 0xf9, 0xfc); pci_write_config_byte(dev, 0x150, 0x10); pci_write_config_byte(dev, 0xf9, 0x00); @@ -2758,6 +2776,8 @@ } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE822, ricoh_mmc_fixup_r5c832); +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE822, ricoh_mmc_fixup_r5c832); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832); #endif /*CONFIG_MMC_RICOH_MMC*/ --- linux-lts-quantal-3.5.0.orig/drivers/pci/hotplug/pciehp_core.c +++ linux-lts-quantal-3.5.0/drivers/pci/hotplug/pciehp_core.c @@ -42,7 +42,6 @@ bool pciehp_poll_mode; int pciehp_poll_time; bool pciehp_force; -struct workqueue_struct *pciehp_wq; #define DRIVER_VERSION "0.4" #define DRIVER_AUTHOR "Dan Zink , Greg Kroah-Hartman , Dely Sy " @@ -340,18 +339,13 @@ { int retval = 0; - pciehp_wq = alloc_workqueue("pciehp", 0, 0); - if (!pciehp_wq) - return -ENOMEM; - pciehp_firmware_init(); retval = pcie_port_service_register(&hpdriver_portdrv); dbg("pcie_port_service_register = %d\n", retval); info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); - if (retval) { - destroy_workqueue(pciehp_wq); + if (retval) dbg("Failure to register service\n"); - } + return retval; } @@ -359,7 +353,6 @@ { dbg("unload_pciehpd()\n"); pcie_port_service_unregister(&hpdriver_portdrv); - destroy_workqueue(pciehp_wq); info(DRIVER_DESC " version: " DRIVER_VERSION " unloaded\n"); } --- linux-lts-quantal-3.5.0.orig/drivers/pci/hotplug/acpiphp_glue.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pci/hotplug/pciehp_ctrl.c +++ linux-lts-quantal-3.5.0/drivers/pci/hotplug/pciehp_ctrl.c @@ -49,7 +49,7 @@ info->p_slot = p_slot; INIT_WORK(&info->work, interrupt_event_handler); - queue_work(pciehp_wq, &info->work); + queue_work(p_slot->wq, &info->work); return 0; } @@ -344,7 +344,7 @@ kfree(info); goto out; } - queue_work(pciehp_wq, &info->work); + queue_work(p_slot->wq, &info->work); out: mutex_unlock(&p_slot->lock); } @@ -377,7 +377,7 @@ if (ATTN_LED(ctrl)) pciehp_set_attention_status(p_slot, 0); - queue_delayed_work(pciehp_wq, &p_slot->work, 5*HZ); + queue_delayed_work(p_slot->wq, &p_slot->work, 5*HZ); break; case BLINKINGOFF_STATE: case BLINKINGON_STATE: @@ -439,7 +439,7 @@ else p_slot->state = POWERON_STATE; - queue_work(pciehp_wq, &info->work); + queue_work(p_slot->wq, &info->work); } static void interrupt_event_handler(struct work_struct *work) --- linux-lts-quantal-3.5.0.orig/drivers/pci/hotplug/pciehp_hpc.c +++ linux-lts-quantal-3.5.0/drivers/pci/hotplug/pciehp_hpc.c @@ -874,23 +874,32 @@ static int pcie_init_slot(struct controller *ctrl) { struct slot *slot; + char name[32]; slot = kzalloc(sizeof(*slot), GFP_KERNEL); if (!slot) return -ENOMEM; + snprintf(name, sizeof(name), "pciehp-%u", PSN(ctrl)); + slot->wq = alloc_workqueue(name, 0, 0); + if (!slot->wq) + goto abort; + slot->ctrl = ctrl; mutex_init(&slot->lock); INIT_DELAYED_WORK(&slot->work, pciehp_queue_pushbutton_work); ctrl->slot = slot; return 0; +abort: + kfree(slot); + return -ENOMEM; } static void pcie_cleanup_slot(struct controller *ctrl) { struct slot *slot = ctrl->slot; cancel_delayed_work(&slot->work); - flush_workqueue(pciehp_wq); + destroy_workqueue(slot->wq); kfree(slot); } --- linux-lts-quantal-3.5.0.orig/drivers/pci/hotplug/pciehp.h +++ linux-lts-quantal-3.5.0/drivers/pci/hotplug/pciehp.h @@ -44,7 +44,6 @@ extern int pciehp_poll_time; extern bool pciehp_debug; extern bool pciehp_force; -extern struct workqueue_struct *pciehp_wq; #define dbg(format, arg...) \ do { \ @@ -78,6 +77,7 @@ struct hotplug_slot *hotplug_slot; struct delayed_work work; /* work for button event */ struct mutex lock; + struct workqueue_struct *wq; }; struct event_info { --- linux-lts-quantal-3.5.0.orig/drivers/pci/pcie/aspm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pci/pcie/aer/aerdrv_core.c +++ linux-lts-quantal-3.5.0/drivers/pci/pcie/aer/aerdrv_core.c @@ -637,6 +637,7 @@ continue; } do_recovery(pdev, entry.severity); + pci_dev_put(pdev); } } #endif --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-wiimote-ext.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-wiimote-ext.c @@ -378,14 +378,14 @@ if (ext->motionp) { input_report_key(ext->input, - wiiext_keymap[WIIEXT_KEY_Z], !!(payload[5] & 0x04)); + wiiext_keymap[WIIEXT_KEY_Z], !(payload[5] & 0x04)); input_report_key(ext->input, - wiiext_keymap[WIIEXT_KEY_C], !!(payload[5] & 0x08)); + wiiext_keymap[WIIEXT_KEY_C], !(payload[5] & 0x08)); } else { input_report_key(ext->input, - wiiext_keymap[WIIEXT_KEY_Z], !!(payload[5] & 0x01)); + wiiext_keymap[WIIEXT_KEY_Z], !(payload[5] & 0x01)); input_report_key(ext->input, - wiiext_keymap[WIIEXT_KEY_C], !!(payload[5] & 0x02)); + wiiext_keymap[WIIEXT_KEY_C], !(payload[5] & 0x02)); } input_sync(ext->input); --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-input.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-input.c @@ -325,7 +325,7 @@ { struct hid_device *dev = container_of(psy, struct hid_device, battery); int ret = 0; - __u8 buf[2] = {}; + __u8 *buf; switch (prop) { case POWER_SUPPLY_PROP_PRESENT: @@ -334,21 +334,29 @@ break; case POWER_SUPPLY_PROP_CAPACITY: + + buf = kmalloc(2 * sizeof(__u8), GFP_KERNEL); + if (!buf) { + ret = -ENOMEM; + break; + } ret = dev->hid_get_raw_report(dev, dev->battery_report_id, - buf, sizeof(buf), + buf, 2, dev->battery_report_type); if (ret != 2) { - if (ret >= 0) - ret = -EINVAL; + ret = -ENODATA; + kfree(buf); break; } + ret = 0; if (dev->battery_min < dev->battery_max && buf[1] >= dev->battery_min && buf[1] <= dev->battery_max) val->intval = (100 * (buf[1] - dev->battery_min)) / (dev->battery_max - dev->battery_min); + kfree(buf); break; case POWER_SUPPLY_PROP_MODEL_NAME: @@ -462,6 +470,10 @@ if (field->flags & HID_MAIN_ITEM_CONSTANT) goto ignore; + /* Ignore if report count is out of bounds. */ + if (field->report_count < 1) + goto ignore; + /* only LED usages are supported in output fields */ if (field->report_type == HID_OUTPUT_REPORT && (usage->hid & HID_USAGE_PAGE) != HID_UP_LED) { @@ -837,6 +849,15 @@ } break; + case HID_UP_HPVENDOR2: + set_bit(EV_REP, input->evbit); + switch (usage->hid & HID_USAGE) { + case 0x003: map_key_clear(KEY_BRIGHTNESSDOWN); break; + case 0x004: map_key_clear(KEY_BRIGHTNESSUP); break; + default: goto ignore; + } + break; + case HID_UP_MSVENDOR: goto ignore; @@ -1126,7 +1147,11 @@ rep_enum = &hid->report_enum[HID_FEATURE_REPORT]; list_for_each_entry(rep, &rep_enum->report_list, list) - for (i = 0; i < rep->maxfield; i++) + for (i = 0; i < rep->maxfield; i++) { + /* Ignore if report count is out of bounds. */ + if (rep->field[i]->report_count < 1) + continue; + for (j = 0; j < rep->field[i]->maxusage; j++) { /* Verify if Battery Strength feature is available */ hidinput_setup_battery(hid, HID_FEATURE_REPORT, rep->field[i]); @@ -1135,6 +1160,7 @@ drv->feature_mapping(hid, rep->field[i], rep->field[i]->usage + j); } + } } /* --- linux-lts-quantal-3.5.0.orig/drivers/hid/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hid/hid-cypress.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hid/hid-picolcd.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-picolcd.c @@ -1424,7 +1424,7 @@ buf += 10; cnt -= 10; } - if (!report) + if (!report || report->maxfield != 1) return -EINVAL; while (cnt > 0 && (buf[cnt-1] == '\n' || buf[cnt-1] == '\r')) --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-lg4ff.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-lg4ff.c @@ -424,34 +424,16 @@ int lg4ff_init(struct hid_device *hid) { struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); - struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; struct input_dev *dev = hidinput->input; - struct hid_report *report; - struct hid_field *field; struct lg4ff_device_entry *entry; struct lg_drv_data *drv_data; struct usb_device_descriptor *udesc; int error, i, j; __u16 bcdDevice, rev_maj, rev_min; - /* Find the report to use */ - if (list_empty(report_list)) { - hid_err(hid, "No output report found\n"); - return -1; - } - /* Check that the report looks ok */ - report = list_entry(report_list->next, struct hid_report, list); - if (!report) { - hid_err(hid, "NULL output report\n"); - return -1; - } - - field = report->field[0]; - if (!field) { - hid_err(hid, "NULL field\n"); + if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) return -1; - } /* Check what wheel has been connected */ for (i = 0; i < ARRAY_SIZE(lg4ff_devices); i++) { --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-zpff.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-zpff.c @@ -70,21 +70,13 @@ struct hid_report *report; struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); - struct list_head *report_list = - &hid->report_enum[HID_OUTPUT_REPORT].report_list; struct input_dev *dev = hidinput->input; - int error; + int i, error; - if (list_empty(report_list)) { - hid_err(hid, "no output report found\n"); - return -ENODEV; - } - - report = list_entry(report_list->next, struct hid_report, list); - - if (report->maxfield < 4) { - hid_err(hid, "not enough fields in report\n"); - return -ENODEV; + for (i = 0; i < 4; i++) { + report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, i, 1); + if (!report) + return -ENODEV; } zpff = kzalloc(sizeof(struct zpff_device), GFP_KERNEL); --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-logitech-dj.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hid/hid-logitech-dj.c +++ linux-lts-quantal-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; } @@ -419,19 +459,25 @@ struct dj_report *dj_report) { struct hid_device *hdev = djrcv_dev->hdev; - int sent_bytes; + struct hid_report *report; + struct hid_report_enum *output_report_enum; + u8 *data = (u8 *)(&dj_report->device_index); + unsigned int i; - if (!hdev->hid_output_raw_report) { - dev_err(&hdev->dev, "%s:" - "hid_output_raw_report is null\n", __func__); + output_report_enum = &hdev->report_enum[HID_OUTPUT_REPORT]; + report = output_report_enum->report_id_hash[REPORT_ID_DJ_SHORT]; + + if (!report) { + dev_err(&hdev->dev, "%s: unable to find dj report\n", __func__); return -ENODEV; } - sent_bytes = hdev->hid_output_raw_report(hdev, (u8 *) dj_report, - sizeof(struct dj_report), - HID_OUTPUT_REPORT); + for (i = 0; i < DJREPORT_SHORT_LENGTH - 1; i++) + report->field[0]->value[i] = data[i]; + + usbhid_submit_report(hdev, report, USB_DIR_OUT); - return (sent_bytes < 0) ? sent_bytes : 0; + return 0; } static int logi_dj_recv_query_paired_devices(struct dj_receiver_dev *djrcv_dev) @@ -439,7 +485,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 +500,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; @@ -733,6 +784,12 @@ goto hid_parse_fail; } + if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, REPORT_ID_DJ_SHORT, + 0, DJREPORT_SHORT_LENGTH - 1)) { + retval = -ENODEV; + goto hid_parse_fail; + } + /* Starts the usb device and connects to upper interfaces hiddev and * hidraw */ retval = hid_hw_start(hdev, HID_CONNECT_DEFAULT); --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-ntrig.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-ntrig.c @@ -115,7 +115,8 @@ struct hid_report *report = hdev->report_enum[HID_FEATURE_REPORT]. report_id_hash[0x0d]; - if (!report) + if (!report || report->maxfield < 1 || + report->field[0]->report_count < 1) return -EINVAL; usbhid_submit_report(hdev, report, USB_DIR_IN); @@ -882,10 +883,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-lts-quantal-3.5.0.orig/drivers/hid/hid-speedlink.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-speedlink.c @@ -3,7 +3,7 @@ * Fixes "jumpy" cursor and removes nonexistent keyboard LEDS from * the HID descriptor. * - * Copyright (c) 2011 Stefan Kriwanek + * Copyright (c) 2011, 2013 Stefan Kriwanek */ /* @@ -48,8 +48,13 @@ struct hid_usage *usage, __s32 value) { /* No other conditions due to usage_table. */ - /* Fix "jumpy" cursor (invalid events sent by device). */ - if (value == 256) + + /* This fixes the "jumpy" cursor occuring due to invalid events sent + * by the device. Some devices only send them with value==+256, others + * don't. However, catching abs(value)>=256 is restrictive enough not + * to interfere with devices that were bug-free (has been tested). + */ + if (abs(value) >= 256) return 1; /* Drop useless distance 0 events (on button clicks etc.) as well */ if (value == 0) --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-core.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-core.c @@ -63,6 +63,8 @@ struct hid_report_enum *report_enum = device->report_enum + type; struct hid_report *report; + if (id >= HID_MAX_IDS) + return NULL; if (report_enum->report_id_hash[id]) return report_enum->report_id_hash[id]; @@ -92,6 +94,7 @@ static struct hid_field *hid_register_field(struct hid_report *report, unsigned usages, unsigned values) { struct hid_field *field; + int i; if (report->maxfield == HID_MAX_FIELDS) { hid_err(report->device, "too many fields in report\n"); @@ -110,6 +113,9 @@ field->value = (s32 *)(field->usage + usages); field->report = report; + for (i = 0; i < usages; i++) + field->usage[i].usage_index = i; + return field; } @@ -220,9 +226,9 @@ { struct hid_report *report; struct hid_field *field; - int usages; + unsigned usages; unsigned offset; - int i; + unsigned i; report = hid_register_report(parser->device, report_type, parser->global.report_id); if (!report) { @@ -249,7 +255,8 @@ if (!parser->local.usage_index) /* Ignore padding fields */ return 0; - usages = max_t(int, parser->local.usage_index, parser->global.report_count); + usages = max_t(unsigned, parser->local.usage_index, + parser->global.report_count); field = hid_register_field(report, usages, parser->global.report_count); if (!field) @@ -260,13 +267,14 @@ field->application = hid_lookup_collection(parser, HID_COLLECTION_APPLICATION); for (i = 0; i < usages; i++) { - int j = i; + unsigned j = i; /* Duplicate the last usage we parsed if we have excess values */ if (i >= parser->local.usage_index) j = parser->local.usage_index - 1; field->usage[i].hid = parser->local.usage[j]; field->usage[i].collection_index = parser->local.collection_index[j]; + field->usage[i].usage_index = i; } field->maxusage = usages; @@ -392,8 +400,10 @@ case HID_GLOBAL_ITEM_TAG_REPORT_ID: parser->global.report_id = item_udata(item); - if (parser->global.report_id == 0) { - hid_err(parser->device, "report_id 0 is invalid\n"); + if (parser->global.report_id == 0 || + parser->global.report_id >= HID_MAX_IDS) { + hid_err(parser->device, "report_id %u is invalid\n", + parser->global.report_id); return -1; } return 0; @@ -563,7 +573,7 @@ for (i = 0; i < HID_REPORT_TYPES; i++) { struct hid_report_enum *report_enum = device->report_enum + i; - for (j = 0; j < 256; j++) { + for (j = 0; j < HID_MAX_IDS; j++) { struct hid_report *report = report_enum->report_id_hash[j]; if (report) hid_free_report(report); @@ -739,6 +749,64 @@ } EXPORT_SYMBOL_GPL(hid_parse_report); +static const char * const hid_report_names[] = { + "HID_INPUT_REPORT", + "HID_OUTPUT_REPORT", + "HID_FEATURE_REPORT", +}; +/** + * hid_validate_values - validate existing device report's value indexes + * + * @device: hid device + * @type: which report type to examine + * @id: which report ID to examine (0 for first) + * @field_index: which report field to examine + * @report_counts: expected number of values + * + * Validate the number of values in a given field of a given report, after + * parsing. + */ +struct hid_report *hid_validate_values(struct hid_device *hid, + unsigned int type, unsigned int id, + unsigned int field_index, + unsigned int report_counts) +{ + struct hid_report *report; + + if (type > HID_FEATURE_REPORT) { + hid_err(hid, "invalid HID report type %u\n", type); + return NULL; + } + + if (id >= HID_MAX_IDS) { + hid_err(hid, "invalid HID report id %u\n", id); + return NULL; + } + + /* + * Explicitly not using hid_get_report() here since it depends on + * ->numbered being checked, which may not always be the case when + * drivers go to access report values. + */ + report = hid->report_enum[type].report_id_hash[id]; + if (!report) { + hid_err(hid, "missing %s %u\n", hid_report_names[type], id); + return NULL; + } + if (report->maxfield <= field_index) { + hid_err(hid, "not enough fields in %s %u\n", + hid_report_names[type], id); + return NULL; + } + if (report->field[field_index]->report_count < report_counts) { + hid_err(hid, "not enough values in %s %u field %u\n", + hid_report_names[type], id, field_index); + return NULL; + } + return report; +} +EXPORT_SYMBOL_GPL(hid_validate_values); + /** * hid_open_report - open a driver-specific device report * @@ -757,6 +825,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 +844,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)); @@ -1119,7 +1197,12 @@ int hid_set_field(struct hid_field *field, unsigned offset, __s32 value) { - unsigned size = field->report_size; + unsigned size; + + if (!field) + return -1; + + size = field->report_size; hid_dump_input(field->report->device, field->usage + offset, value); @@ -1509,6 +1592,7 @@ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI) }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, @@ -1521,10 +1605,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 +1698,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) }, @@ -1628,6 +1713,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER) }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) }, + { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE) }, { HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300) }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) }, @@ -1999,6 +2085,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HYBRID) }, { HID_USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_HEATCONTROL) }, { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_BEATPAD) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MASTERKIT, USB_DEVICE_ID_MASTERKIT_MA901RADIO) }, { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1024LS) }, { HID_USB_DEVICE(USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1208LS) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICKIT1) }, --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-microsoft.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hid/hid-pl.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-pl.c @@ -129,8 +129,14 @@ strong = &report->field[0]->value[2]; weak = &report->field[0]->value[3]; debug("detected single-field device"); - } else if (report->maxfield >= 4 && report->field[0]->maxusage == 1 && - report->field[0]->usage[0].hid == (HID_UP_LED | 0x43)) { + } else if (report->field[0]->maxusage == 1 && + report->field[0]->usage[0].hid == + (HID_UP_LED | 0x43) && + report->maxfield >= 4 && + report->field[0]->report_count >= 1 && + report->field[1]->report_count >= 1 && + report->field[2]->report_count >= 1 && + report->field[3]->report_count >= 1) { report->field[0]->value[0] = 0x00; report->field[1]->value[0] = 0x00; strong = &report->field[2]->value[0]; --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-lg3ff.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-lg3ff.c @@ -68,10 +68,11 @@ int x, y; /* - * Maxusage should always be 63 (maximum fields) - * likely a better way to ensure this data is clean + * Available values in the field should always be 63, but we only use up to + * 35. Instead, clear the entire area, however big it is. */ - memset(report->field[0]->value, 0, sizeof(__s32)*report->field[0]->maxusage); + memset(report->field[0]->value, 0, + sizeof(__s32) * report->field[0]->report_count); switch (effect->type) { case FF_CONSTANT: @@ -131,32 +132,14 @@ int lg3ff_init(struct hid_device *hid) { struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); - struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; struct input_dev *dev = hidinput->input; - struct hid_report *report; - struct hid_field *field; const signed short *ff_bits = ff3_joystick_ac; int error; int i; - /* Find the report to use */ - if (list_empty(report_list)) { - hid_err(hid, "No output report found\n"); - return -1; - } - /* Check that the report looks ok */ - report = list_entry(report_list->next, struct hid_report, list); - if (!report) { - hid_err(hid, "NULL output report\n"); - return -1; - } - - field = report->field[0]; - if (!field) { - hid_err(hid, "NULL field\n"); - return -1; - } + if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 35)) + return -ENODEV; /* Assume single fixed device G940 */ for (i = 0; ff_bits[i] >= 0; i++) --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-ids.h +++ linux-lts-quantal-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,12 @@ #define USB_VENDOR_ID_EZKEY 0x0518 #define USB_DEVICE_ID_BTC_8193 0x0002 +#define USB_VENDOR_ID_FORMOSA 0x147a +#define USB_DEVICE_ID_FORMOSA_IR_RECEIVER 0xe03e + +#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 @@ -524,6 +532,9 @@ #define USB_VENDOR_ID_MADCATZ 0x0738 #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 +#define USB_VENDOR_ID_MASTERKIT 0x16c0 +#define USB_DEVICE_ID_MASTERKIT_MA901RADIO 0x05df + #define USB_VENDOR_ID_MCC 0x09db #define USB_DEVICE_ID_MCC_PMD1024LS 0x0076 #define USB_DEVICE_ID_MCC_PMD1208LS 0x007a @@ -554,6 +565,9 @@ #define USB_VENDOR_ID_MONTEREY 0x0566 #define USB_DEVICE_ID_GENIUS_KB29E 0x3004 +#define USB_VENDOR_ID_MSI 0x1770 +#define USB_DEVICE_ID_MSI_GX680R_LED_PANEL 0xff00 + #define USB_VENDOR_ID_NATIONAL_SEMICONDUCTOR 0x0400 #define USB_DEVICE_ID_N_S_HARMONY 0xc359 @@ -573,6 +587,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 @@ -593,6 +610,7 @@ #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_16 0x0012 #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_17 0x0013 #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18 0x0014 +#define USB_DEVICE_ID_NTRIG_DUOSENSE 0x1500 #define USB_VENDOR_ID_ONTRAK 0x0a07 #define USB_DEVICE_ID_ONTRAK_ADU100 0x0064 @@ -642,6 +660,9 @@ #define USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008 0x3008 #define USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN 0x3001 +#define USB_VENDOR_ID_REALTEK 0x0bda +#define USB_DEVICE_ID_REALTEK_READER 0x0152 + #define USB_VENDOR_ID_ROCCAT 0x1e7d #define USB_DEVICE_ID_ROCCAT_ARVO 0x30d4 #define USB_DEVICE_ID_ROCCAT_ISKU 0x319c @@ -670,6 +691,7 @@ #define USB_VENDOR_ID_SONY 0x054c #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b +#define USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE 0x0374 #define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 #define USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER 0x042f --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-chicony.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hid/hid-multitouch.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-multitouch.c @@ -82,8 +82,9 @@ multitouch fields */ 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 maxcontact_report_id; /* Maximum Contact Number HID feature, + __s16 inputmode; /* InputMode HID feature, -1 if non-existent */ + __s16 inputmode_index; /* InputMode HID feature index in the report */ + __s16 maxcontact_report_id; /* Maximum Contact Number HID feature, -1 if non-existent */ __u8 num_received; /* how many contacts we received */ __u8 num_expected; /* expected last contact index */ @@ -263,7 +264,15 @@ switch (usage->hid) { case HID_DG_INPUTMODE: + /* Ignore if value index is out of bounds. */ + if (usage->usage_index >= field->report_count) { + dev_err(&hdev->dev, "HID_DG_INPUTMODE out of range\n"); + break; + } + td->inputmode = field->report->id; + td->inputmode_index = usage->usage_index; + break; case HID_DG_CONTACTMAX: td->maxcontact_report_id = field->report->id; @@ -414,6 +423,10 @@ td->last_field_index = field->index; return 1; case HID_DG_CONTACTCOUNT: + /* Ignore if indexes are out of bounds. */ + if (field->index >= field->report->maxfield || + usage->usage_index >= field->report_count) + return 1; td->last_field_index = field->index; return 1; case HID_DG_CONTACTMAX: @@ -618,7 +631,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 +964,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-lts-quantal-3.5.0.orig/drivers/hid/hid-lg2ff.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-lg2ff.c @@ -66,26 +66,13 @@ struct hid_report *report; struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); - struct list_head *report_list = - &hid->report_enum[HID_OUTPUT_REPORT].report_list; struct input_dev *dev = hidinput->input; int error; - if (list_empty(report_list)) { - hid_err(hid, "no output report found\n"); + /* Check that the report looks ok */ + report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7); + if (!report) return -ENODEV; - } - - report = list_entry(report_list->next, struct hid_report, list); - - if (report->maxfield < 1) { - hid_err(hid, "output report is empty\n"); - return -ENODEV; - } - if (report->field[0]->report_count < 7) { - hid_err(hid, "not enough values in the field\n"); - return -ENODEV; - } lg2ff = kmalloc(sizeof(struct lg2ff_device), GFP_KERNEL); if (!lg2ff) --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-sony.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-sony.c @@ -44,9 +44,19 @@ { struct sony_sc *sc = hid_get_drvdata(hdev); - if ((sc->quirks & VAIO_RDESC_CONSTANT) && - *rsize >= 56 && rdesc[54] == 0x81 && rdesc[55] == 0x07) { - hid_info(hdev, "Fixing up Sony Vaio VGX report descriptor\n"); + /* + * Some Sony RF receivers wrongly declare the mouse pointer as a + * a constant non-data variable. + */ + if ((sc->quirks & VAIO_RDESC_CONSTANT) && *rsize >= 56 && + /* usage page: generic desktop controls */ + /* rdesc[0] == 0x05 && rdesc[1] == 0x01 && */ + /* usage: mouse */ + rdesc[2] == 0x09 && rdesc[3] == 0x02 && + /* input (usage page for x,y axes): constant, variable, relative */ + rdesc[54] == 0x81 && rdesc[55] == 0x07) { + hid_info(hdev, "Fixing up Sony RF Receiver report descriptor\n"); + /* input: data, variable, relative */ rdesc[55] = 0x06; } @@ -218,6 +228,8 @@ .driver_data = SIXAXIS_CONTROLLER_BT }, { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE), .driver_data = VAIO_RDESC_CONSTANT }, + { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGP_MOUSE), + .driver_data = VAIO_RDESC_CONSTANT }, { } }; MODULE_DEVICE_TABLE(hid, sony_devices); --- linux-lts-quantal-3.5.0.orig/drivers/hid/hid-lgff.c +++ linux-lts-quantal-3.5.0/drivers/hid/hid-lgff.c @@ -130,27 +130,14 @@ int lgff_init(struct hid_device* hid) { struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); - struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; struct input_dev *dev = hidinput->input; - struct hid_report *report; - struct hid_field *field; const signed short *ff_bits = ff_joystick; int error; int i; - /* Find the report to use */ - if (list_empty(report_list)) { - hid_err(hid, "No output report found\n"); - return -1; - } - /* Check that the report looks ok */ - report = list_entry(report_list->next, struct hid_report, list); - field = report->field[0]; - if (!field) { - hid_err(hid, "NULL field\n"); - return -1; - } + if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) + return -ENODEV; for (i = 0; i < ARRAY_SIZE(devices); i++) { if (dev->id.vendor == devices[i].idVendor && --- linux-lts-quantal-3.5.0.orig/drivers/hid/usbhid/hid-core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hid/usbhid/hid-quirks.c +++ linux-lts-quantal-3.5.0/drivers/hid/usbhid/hid-quirks.c @@ -70,12 +70,17 @@ { 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_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, + { 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_MSI, USB_DEVICE_ID_MSI_GX680R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS }, { 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 }, { USB_VENDOR_ID_PRODIGE, USB_DEVICE_ID_PRODIGE_CORDLESS, HID_QUIRK_NOGET }, { USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN, HID_QUIRK_NOGET }, { USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH_3008, HID_QUIRK_NOGET }, + { USB_VENDOR_ID_REALTEK, USB_DEVICE_ID_REALTEK_READER, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SENNHEISER, USB_DEVICE_ID_SENNHEISER_BTD500USB, HID_QUIRK_NOGET }, { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, { USB_VENDOR_ID_SYMBOL, USB_DEVICE_ID_SYMBOL_SCANNER_1, HID_QUIRK_NOGET }, @@ -101,6 +106,8 @@ { USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X, HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X, HID_QUIRK_MULTI_INPUT }, + { USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_DUOSENSE, HID_QUIRK_NO_INIT_REPORTS }, + { 0, 0 } }; --- linux-lts-quantal-3.5.0.orig/drivers/ssb/driver_chipcommon_pmu.c +++ linux-lts-quantal-3.5.0/drivers/ssb/driver_chipcommon_pmu.c @@ -645,3 +645,32 @@ return 0; } } + +void ssb_pmu_spuravoid_pllupdate(struct ssb_chipcommon *cc, int spuravoid) +{ + u32 pmu_ctl = 0; + + switch (cc->dev->bus->chip_id) { + case 0x4322: + ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL0, 0x11100070); + ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL1, 0x1014140a); + ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL5, 0x88888854); + if (spuravoid == 1) + ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL2, 0x05201828); + else + ssb_chipco_pll_write(cc, SSB_PMU1_PLLCTL2, 0x05001828); + pmu_ctl = SSB_CHIPCO_PMU_CTL_PLL_UPD; + break; + case 43222: + /* TODO: BCM43222 requires updating PLLs too */ + return; + default: + ssb_printk(KERN_ERR PFX + "Unknown spuravoidance settings for chip 0x%04X, not changing PLL\n", + cc->dev->bus->chip_id); + return; + } + + chipco_set32(cc, SSB_CHIPCO_PMU_CTL, pmu_ctl); +} +EXPORT_SYMBOL_GPL(ssb_pmu_spuravoid_pllupdate); --- linux-lts-quantal-3.5.0.orig/drivers/scsi/nsp32.c +++ linux-lts-quantal-3.5.0/drivers/scsi/nsp32.c @@ -2926,7 +2926,7 @@ * reset SCSI bus */ nsp32_write1(base, SCSI_BUS_CONTROL, BUSCTL_RST); - udelay(RESET_HOLD_TIME); + mdelay(RESET_HOLD_TIME / 1000); nsp32_write1(base, SCSI_BUS_CONTROL, 0); for(i = 0; i < 5; i++) { intrdat = nsp32_read2(base, IRQ_STATUS); /* dummy read */ --- linux-lts-quantal-3.5.0.orig/drivers/scsi/dc395x.c +++ linux-lts-quantal-3.5.0/drivers/scsi/dc395x.c @@ -3747,13 +3747,13 @@ dcb->max_command = 1; dcb->target_id = target; dcb->target_lun = lun; + dcb->dev_mode = eeprom->target[target].cfg0; #ifndef DC395x_NO_DISCONNECT dcb->identify_msg = IDENTIFY(dcb->dev_mode & NTC_DO_DISCONNECT, lun); #else dcb->identify_msg = IDENTIFY(0, lun); #endif - dcb->dev_mode = eeprom->target[target].cfg0; dcb->inquiry7 = 0; dcb->sync_mode = 0; dcb->min_nego_period = clock_period[period_index]; --- linux-lts-quantal-3.5.0.orig/drivers/scsi/atp870u.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/scsi_lib.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/scsi.c +++ linux-lts-quantal-3.5.0/drivers/scsi/scsi.c @@ -1029,6 +1029,9 @@ { int i, result; + if (sdev->skip_vpd_pages) + goto fail; + /* Ask for all the pages supported by this device */ result = scsi_vpd_inquiry(sdev, buf, 0, buf_len); if (result) --- linux-lts-quantal-3.5.0.orig/drivers/scsi/scsi_scan.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/scsi_error.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/scsi_priv.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/esp_scsi.c +++ linux-lts-quantal-3.5.0/drivers/scsi/esp_scsi.c @@ -530,7 +530,7 @@ static int esp_alloc_lun_tag(struct esp_cmd_entry *ent, struct esp_lun_data *lp) { - if (!ent->tag[0]) { + if (!ent->orig_tag[0]) { /* Non-tagged, slot already taken? */ if (lp->non_tagged_cmd) return -EBUSY; @@ -564,9 +564,9 @@ return -EBUSY; } - BUG_ON(lp->tagged_cmds[ent->tag[1]]); + BUG_ON(lp->tagged_cmds[ent->orig_tag[1]]); - lp->tagged_cmds[ent->tag[1]] = ent; + lp->tagged_cmds[ent->orig_tag[1]] = ent; lp->num_tagged++; return 0; @@ -575,9 +575,9 @@ static void esp_free_lun_tag(struct esp_cmd_entry *ent, struct esp_lun_data *lp) { - if (ent->tag[0]) { - BUG_ON(lp->tagged_cmds[ent->tag[1]] != ent); - lp->tagged_cmds[ent->tag[1]] = NULL; + if (ent->orig_tag[0]) { + BUG_ON(lp->tagged_cmds[ent->orig_tag[1]] != ent); + lp->tagged_cmds[ent->orig_tag[1]] = NULL; lp->num_tagged--; } else { BUG_ON(lp->non_tagged_cmd != ent); @@ -667,6 +667,8 @@ ent->tag[0] = 0; ent->tag[1] = 0; } + ent->orig_tag[0] = ent->tag[0]; + ent->orig_tag[1] = ent->tag[1]; if (esp_alloc_lun_tag(ent, lp) < 0) continue; --- linux-lts-quantal-3.5.0.orig/drivers/scsi/storvsc_drv.c +++ linux-lts-quantal-3.5.0/drivers/scsi/storvsc_drv.c @@ -467,6 +467,7 @@ if (!bounce_sgl) return NULL; + sg_init_table(bounce_sgl, num_pages); for (i = 0; i < num_pages; i++) { page_buf = alloc_page(GFP_ATOMIC); if (!page_buf) @@ -1221,7 +1222,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-lts-quantal-3.5.0.orig/drivers/scsi/hosts.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/scsi_debug.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/esp_scsi.h +++ linux-lts-quantal-3.5.0/drivers/scsi/esp_scsi.h @@ -271,6 +271,7 @@ #define ESP_CMD_FLAG_AUTOSENSE 0x04 /* Doing automatic REQUEST_SENSE */ u8 tag[2]; + u8 orig_tag[2]; u8 status; u8 message; --- linux-lts-quantal-3.5.0.orig/drivers/scsi/scsi_sysfs.c +++ linux-lts-quantal-3.5.0/drivers/scsi/scsi_sysfs.c @@ -246,11 +246,11 @@ static DEVICE_ATTR(active_mode, S_IRUGO | S_IWUSR, show_shost_active_mode, NULL); -static int check_reset_type(char *str) +static int check_reset_type(const char *str) { - if (strncmp(str, "adapter", 10) == 0) + if (sysfs_streq(str, "adapter")) return SCSI_ADAPTER_RESET; - else if (strncmp(str, "firmware", 10) == 0) + else if (sysfs_streq(str, "firmware")) return SCSI_FIRMWARE_RESET; else return 0; @@ -263,12 +263,9 @@ struct Scsi_Host *shost = class_to_shost(dev); struct scsi_host_template *sht = shost->hostt; int ret = -EINVAL; - char str[10]; int type; - sscanf(buf, "%s", str); - type = check_reset_type(str); - + type = check_reset_type(buf); if (!type) goto exit_store_host_reset; @@ -971,11 +968,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 +994,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 +1007,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 +1019,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-lts-quantal-3.5.0.orig/drivers/scsi/hpsa.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/sd.c +++ linux-lts-quantal-3.5.0/drivers/scsi/sd.c @@ -141,6 +141,7 @@ char *buffer_data; struct scsi_mode_data data; struct scsi_sense_hdr sshdr; + static const char temp[] = "temporary "; int len; if (sdp->type != TYPE_DISK) @@ -149,6 +150,13 @@ * it's not worth the risk */ return -EINVAL; + if (strncmp(buf, temp, sizeof(temp) - 1) == 0) { + buf += sizeof(temp) - 1; + sdkp->cache_override = 1; + } else { + sdkp->cache_override = 0; + } + for (i = 0; i < ARRAY_SIZE(sd_cache_types); i++) { len = strlen(sd_cache_types[i]); if (strncmp(sd_cache_types[i], buf, len) == 0 && @@ -161,6 +169,13 @@ return -EINVAL; rcd = ct & 0x01 ? 1 : 0; wce = ct & 0x02 ? 1 : 0; + + if (sdkp->cache_override) { + sdkp->WCE = wce; + sdkp->RCD = rcd; + return count; + } + if (scsi_mode_sense(sdp, 0x08, 8, buffer, sizeof(buffer), SD_TIMEOUT, SD_MAX_RETRIES, &data, NULL)) return -EINVAL; @@ -658,10 +673,17 @@ static void sd_unprep_fn(struct request_queue *q, struct request *rq) { + struct scsi_cmnd *SCpnt = rq->special; + if (rq->cmd_flags & REQ_DISCARD) { free_page((unsigned long)rq->buffer); rq->buffer = NULL; } + if (SCpnt->cmnd != rq->cmd) { + mempool_free(SCpnt->cmnd, sd_cdb_pool); + SCpnt->cmnd = NULL; + SCpnt->cmd_len = 0; + } } /** @@ -1525,21 +1547,6 @@ if (rq_data_dir(SCpnt->request) == READ && scsi_prot_sg_count(SCpnt)) sd_dif_complete(SCpnt, good_bytes); - if (scsi_host_dif_capable(sdkp->device->host, sdkp->protection_type) - == SD_DIF_TYPE2_PROTECTION && SCpnt->cmnd != SCpnt->request->cmd) { - - /* We have to print a failed command here as the - * extended CDB gets freed before scsi_io_completion() - * is called. - */ - if (result) - scsi_print_command(SCpnt); - - mempool_free(SCpnt->cmnd, sd_cdb_pool); - SCpnt->cmnd = NULL; - SCpnt->cmd_len = 0; - } - return good_bytes; } @@ -2127,6 +2134,10 @@ int old_rcd = sdkp->RCD; int old_dpofua = sdkp->DPOFUA; + + if (sdkp->cache_override) + return; + first_len = 4; if (sdp->skip_ms_page_8) { if (sdp->type == TYPE_RBC) @@ -2215,14 +2226,9 @@ } } - if (modepage == 0x3F) { - sd_printk(KERN_ERR, sdkp, "No Caching mode page " - "present\n"); - goto defaults; - } else if ((buffer[offset] & 0x3f) != modepage) { - sd_printk(KERN_ERR, sdkp, "Got wrong page\n"); - goto defaults; - } + sd_printk(KERN_ERR, sdkp, "No Caching mode page found\n"); + goto defaults; + Page_found: if (modepage == 8) { sdkp->WCE = ((buffer[offset + 2] & 0x04) != 0); @@ -2608,6 +2614,7 @@ sdkp->capacity = 0; sdkp->media_present = 1; sdkp->write_prot = 0; + sdkp->cache_override = 0; sdkp->WCE = 0; sdkp->RCD = 0; sdkp->ATO = 0; @@ -2920,10 +2927,6 @@ if (err) goto err_out; - err = scsi_register_driver(&sd_template.gendrv); - if (err) - goto err_out_class; - sd_cdb_cache = kmem_cache_create("sd_ext_cdb", SD_EXT_CDB_SIZE, 0, 0, NULL); if (!sd_cdb_cache) { @@ -2937,8 +2940,15 @@ goto err_out_cache; } + err = scsi_register_driver(&sd_template.gendrv); + if (err) + goto err_out_driver; + return 0; +err_out_driver: + mempool_destroy(sd_cdb_pool); + err_out_cache: kmem_cache_destroy(sd_cdb_cache); @@ -2961,10 +2971,10 @@ SCSI_LOG_HLQUEUE(3, printk("exit_sd: exiting sd driver\n")); + scsi_unregister_driver(&sd_template.gendrv); mempool_destroy(sd_cdb_pool); kmem_cache_destroy(sd_cdb_cache); - scsi_unregister_driver(&sd_template.gendrv); class_unregister(&sd_disk_class); for (i = 0; i < SD_MAJORS; i++) --- linux-lts-quantal-3.5.0.orig/drivers/scsi/sd.h +++ linux-lts-quantal-3.5.0/drivers/scsi/sd.h @@ -67,6 +67,7 @@ u8 protection_type;/* Data Integrity Field */ u8 provisioning_mode; unsigned ATO : 1; /* state of disk ATO bit */ + unsigned cache_override : 1; /* temp override of WCE,RCD */ unsigned WCE : 1; /* state of disk WCE bit */ unsigned RCD : 1; /* state of disk RCD bit, unused */ unsigned DPOFUA : 1; /* state of disk DPOFUA bit */ --- linux-lts-quantal-3.5.0.orig/drivers/scsi/virtio_scsi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/bnx2fc/bnx2fc_io.c +++ linux-lts-quantal-3.5.0/drivers/scsi/bnx2fc/bnx2fc_io.c @@ -1814,7 +1814,7 @@ fcp_sns_len = SCSI_SENSE_BUFFERSIZE; } - memset(sc_cmd->sense_buffer, 0, sizeof(sc_cmd->sense_buffer)); + memset(sc_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); if (fcp_sns_len) memcpy(sc_cmd->sense_buffer, rq_data, fcp_sns_len); --- linux-lts-quantal-3.5.0.orig/drivers/scsi/ibmvscsi/ibmvscsi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/megaraid/megaraid_sas_base.c +++ linux-lts-quantal-3.5.0/drivers/scsi/megaraid/megaraid_sas_base.c @@ -3493,11 +3493,21 @@ break; } - /* - * We expect the FW state to be READY - */ - if (megasas_transition_to_ready(instance, 0)) - goto fail_ready_state; + if (megasas_transition_to_ready(instance, 0)) { + atomic_set(&instance->fw_reset_no_pci_access, 1); + instance->instancet->adp_reset + (instance, instance->reg_set); + atomic_set(&instance->fw_reset_no_pci_access, 0); + dev_info(&instance->pdev->dev, + "megasas: FW restarted successfully from %s!\n", + __func__); + + /*waitting for about 30 second before retry*/ + ssleep(30); + + if (megasas_transition_to_ready(instance, 0)) + goto fail_ready_state; + } /* Check if MSI-X is supported while in ready state */ msix_enable = (instance->instancet->read_fw_status_reg(reg_set) & @@ -4066,7 +4076,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); @@ -4818,10 +4827,12 @@ sense, sense_handle); } - for (i = 0; i < ioc->sge_count && kbuff_arr[i]; i++) { - dma_free_coherent(&instance->pdev->dev, - kern_sge32[i].length, - kbuff_arr[i], kern_sge32[i].phys_addr); + for (i = 0; i < ioc->sge_count; i++) { + if (kbuff_arr[i]) + dma_free_coherent(&instance->pdev->dev, + kern_sge32[i].length, + kbuff_arr[i], + kern_sge32[i].phys_addr); } megasas_return_cmd(instance, cmd); @@ -5392,6 +5403,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-lts-quantal-3.5.0.orig/drivers/scsi/mvsas/mv_94xx.h +++ linux-lts-quantal-3.5.0/drivers/scsi/mvsas/mv_94xx.h @@ -258,21 +258,11 @@ #define SPI_ADDR_VLD_94XX (1U << 1) #define SPI_CTRL_SpiStart_94XX (1U << 0) -#define mv_ffc(x) ffz(x) - static inline int mv_ffc64(u64 v) { - int i; - i = mv_ffc((u32)v); - if (i >= 0) - return i; - i = mv_ffc((u32)(v>>32)); - - if (i != 0) - return 32 + i; - - return -1; + u64 x = ~v; + return x ? __ffs64(x) : -1; } #define r_reg_set_enable(i) \ --- linux-lts-quantal-3.5.0.orig/drivers/scsi/mvsas/mv_sas.c +++ linux-lts-quantal-3.5.0/drivers/scsi/mvsas/mv_sas.c @@ -1630,7 +1630,7 @@ mv_dprintk("mvs_abort_task() mvi=%p task=%p " "slot=%p slot_idx=x%x\n", mvi, task, slot, slot_idx); - mvs_tmf_timedout((unsigned long)task); + task->task_state_flags |= SAS_TASK_STATE_ABORTED; mvs_slot_task_free(mvi, task, slot, slot_idx); rc = TMF_RESP_FUNC_COMPLETE; goto out; --- linux-lts-quantal-3.5.0.orig/drivers/scsi/mvsas/mv_sas.h +++ linux-lts-quantal-3.5.0/drivers/scsi/mvsas/mv_sas.h @@ -69,7 +69,7 @@ #define DEV_IS_EXPANDER(type) \ ((type == EDGE_DEV) || (type == FANOUT_DEV)) -#define bit(n) ((u32)1 << n) +#define bit(n) ((u64)1 << n) #define for_each_phy(__lseq_mask, __mc, __lseq) \ for ((__mc) = (__lseq_mask), (__lseq) = 0; \ --- linux-lts-quantal-3.5.0.orig/drivers/scsi/lpfc/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/mpt2sas/mpt2sas_base.h +++ linux-lts-quantal-3.5.0/drivers/scsi/mpt2sas/mpt2sas_base.h @@ -1048,6 +1048,9 @@ void mpt2sas_halt_firmware(struct MPT2SAS_ADAPTER *ioc); +void mpt2sas_base_update_missing_delay(struct MPT2SAS_ADAPTER *ioc, + u16 device_missing_delay, u8 io_missing_delay); + int mpt2sas_port_enable(struct MPT2SAS_ADAPTER *ioc); /* scsih shared API */ --- linux-lts-quantal-3.5.0.orig/drivers/scsi/mpt2sas/mpt2sas_base.c +++ linux-lts-quantal-3.5.0/drivers/scsi/mpt2sas/mpt2sas_base.c @@ -80,10 +80,6 @@ module_param(msix_disable, int, 0); MODULE_PARM_DESC(msix_disable, " disable msix routed interrupts (default=0)"); -static int missing_delay[2] = {-1, -1}; -module_param_array(missing_delay, int, NULL, 0); -MODULE_PARM_DESC(missing_delay, " device missing delay , io missing delay"); - static int mpt2sas_fwfault_debug; MODULE_PARM_DESC(mpt2sas_fwfault_debug, " enable detection of firmware fault " "and halt firmware - (default=0)"); @@ -1209,6 +1205,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 " @@ -2168,7 +2171,7 @@ } /** - * _base_update_missing_delay - change the missing delay timers + * mpt2sas_base_update_missing_delay - change the missing delay timers * @ioc: per adapter object * @device_missing_delay: amount of time till device is reported missing * @io_missing_delay: interval IO is returned when there is a missing device @@ -2179,8 +2182,8 @@ * delay, as well as the io missing delay. This should be called at driver * load time. */ -static void -_base_update_missing_delay(struct MPT2SAS_ADAPTER *ioc, +void +mpt2sas_base_update_missing_delay(struct MPT2SAS_ADAPTER *ioc, u16 device_missing_delay, u8 io_missing_delay) { u16 dmd, dmd_new, dmd_orignal; @@ -2424,10 +2427,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 +2508,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)); @@ -4373,10 +4379,6 @@ if (r) goto out_free_resources; - if (missing_delay[0] != -1 && missing_delay[1] != -1) - _base_update_missing_delay(ioc, missing_delay[0], - missing_delay[1]); - return 0; out_free_resources: --- linux-lts-quantal-3.5.0.orig/drivers/scsi/mpt2sas/mpt2sas_scsih.c +++ linux-lts-quantal-3.5.0/drivers/scsi/mpt2sas/mpt2sas_scsih.c @@ -101,6 +101,10 @@ module_param(max_sectors, ushort, 0); MODULE_PARM_DESC(max_sectors, "max sectors, range 64 to 32767 default=32767"); +static int missing_delay[2] = {-1, -1}; +module_param_array(missing_delay, int, NULL, 0); +MODULE_PARM_DESC(missing_delay, " device missing delay , io missing delay"); + /* scsi-mid layer global parmeter is max_report_luns, which is 511 */ #define MPT2SAS_MAX_LUN (16895) static int max_lun = MPT2SAS_MAX_LUN; @@ -3995,11 +3999,7 @@ else mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; } else -/* MPI Revision I (UNIT = 0xA) - removed MPI2_SCSIIO_CONTROL_UNTAGGED */ -/* mpi_control |= MPI2_SCSIIO_CONTROL_UNTAGGED; - */ - mpi_control |= (0x500); - + mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; } else mpi_control |= MPI2_SCSIIO_CONTROL_SIMPLEQ; /* Make sure Device is not raid volume. @@ -7088,12 +7088,15 @@ struct _sas_device *sas_device; struct _sas_node *expander_device; static struct _raid_device *raid_device; + u8 retry_count; unsigned long flags; printk(MPT2SAS_INFO_FMT "scan devices: start\n", ioc->name); _scsih_sas_host_refresh(ioc); + printk(MPT2SAS_INFO_FMT "\tscan devices: expanders start\n", + ioc->name); /* expanders */ handle = 0xFFFF; while (!(mpt2sas_config_get_expander_pg0(ioc, &mpi_reply, &expander_pg0, @@ -7102,6 +7105,13 @@ MPI2_IOCSTATUS_MASK; if (ioc_status == MPI2_IOCSTATUS_CONFIG_INVALID_PAGE) break; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { + printk(MPT2SAS_INFO_FMT "\tbreak from expander scan: " + "ioc_status(0x%04x), loginfo(0x%08x)\n", + ioc->name, ioc_status, + le32_to_cpu(mpi_reply.IOCLogInfo)); + break; + } handle = le16_to_cpu(expander_pg0.DevHandle); spin_lock_irqsave(&ioc->sas_node_lock, flags); expander_device = mpt2sas_scsih_expander_find_by_sas_address( @@ -7110,13 +7120,26 @@ if (expander_device) _scsih_refresh_expander_links(ioc, expander_device, handle); - else + else { + printk(MPT2SAS_INFO_FMT "\tBEFORE adding expander: " + "handle (0x%04x), sas_addr(0x%016llx)\n", + ioc->name, handle, (unsigned long long) + le64_to_cpu(expander_pg0.SASAddress)); _scsih_expander_add(ioc, handle); + printk(MPT2SAS_INFO_FMT "\tAFTER adding expander: " + "handle (0x%04x), sas_addr(0x%016llx)\n", + ioc->name, handle, (unsigned long long) + le64_to_cpu(expander_pg0.SASAddress)); + } } + printk(MPT2SAS_INFO_FMT "\tscan devices: expanders complete\n", + ioc->name); + if (!ioc->ir_firmware) goto skip_to_sas; + printk(MPT2SAS_INFO_FMT "\tscan devices phys disk start\n", ioc->name); /* phys disk */ phys_disk_num = 0xFF; while (!(mpt2sas_config_get_phys_disk_pg0(ioc, &mpi_reply, @@ -7126,6 +7149,13 @@ MPI2_IOCSTATUS_MASK; if (ioc_status == MPI2_IOCSTATUS_CONFIG_INVALID_PAGE) break; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { + printk(MPT2SAS_INFO_FMT "\tbreak from phys disk scan:" + "ioc_status(0x%04x), loginfo(0x%08x)\n", + ioc->name, ioc_status, + le32_to_cpu(mpi_reply.IOCLogInfo)); + break; + } phys_disk_num = pd_pg0.PhysDiskNum; handle = le16_to_cpu(pd_pg0.DevHandle); spin_lock_irqsave(&ioc->sas_device_lock, flags); @@ -7137,17 +7167,46 @@ &sas_device_pg0, MPI2_SAS_DEVICE_PGAD_FORM_HANDLE, handle) != 0) continue; + ioc_status = le16_to_cpu(mpi_reply.IOCStatus) & + MPI2_IOCSTATUS_MASK; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { + printk(MPT2SAS_INFO_FMT "\tbreak from phys disk scan " + "ioc_status(0x%04x), loginfo(0x%08x)\n", + ioc->name, ioc_status, + le32_to_cpu(mpi_reply.IOCLogInfo)); + break; + } parent_handle = le16_to_cpu(sas_device_pg0.ParentDevHandle); if (!_scsih_get_sas_address(ioc, parent_handle, &sas_address)) { + printk(MPT2SAS_INFO_FMT "\tBEFORE adding phys disk: " + " handle (0x%04x), sas_addr(0x%016llx)\n", + ioc->name, handle, (unsigned long long) + le64_to_cpu(sas_device_pg0.SASAddress)); mpt2sas_transport_update_links(ioc, sas_address, handle, sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5); set_bit(handle, ioc->pd_handles); - _scsih_add_device(ioc, handle, 0, 1); + retry_count = 0; + /* This will retry adding the end device. + * _scsih_add_device() will decide on retries and + * return "1" when it should be retried + */ + while (_scsih_add_device(ioc, handle, retry_count++, + 1)) { + ssleep(1); + } + printk(MPT2SAS_INFO_FMT "\tAFTER adding phys disk: " + " handle (0x%04x), sas_addr(0x%016llx)\n", + ioc->name, handle, (unsigned long long) + le64_to_cpu(sas_device_pg0.SASAddress)); } } + printk(MPT2SAS_INFO_FMT "\tscan devices: phys disk complete\n", + ioc->name); + + printk(MPT2SAS_INFO_FMT "\tscan devices: volumes start\n", ioc->name); /* volumes */ handle = 0xFFFF; while (!(mpt2sas_config_get_raid_volume_pg1(ioc, &mpi_reply, @@ -7156,6 +7215,13 @@ MPI2_IOCSTATUS_MASK; if (ioc_status == MPI2_IOCSTATUS_CONFIG_INVALID_PAGE) break; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { + printk(MPT2SAS_INFO_FMT "\tbreak from volume scan: " + "ioc_status(0x%04x), loginfo(0x%08x)\n", + ioc->name, ioc_status, + le32_to_cpu(mpi_reply.IOCLogInfo)); + break; + } handle = le16_to_cpu(volume_pg1.DevHandle); spin_lock_irqsave(&ioc->raid_device_lock, flags); raid_device = _scsih_raid_device_find_by_wwid(ioc, @@ -7167,18 +7233,38 @@ &volume_pg0, MPI2_RAID_VOLUME_PGAD_FORM_HANDLE, handle, sizeof(Mpi2RaidVolPage0_t))) continue; + ioc_status = le16_to_cpu(mpi_reply.IOCStatus) & + MPI2_IOCSTATUS_MASK; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { + printk(MPT2SAS_INFO_FMT "\tbreak from volume scan: " + "ioc_status(0x%04x), loginfo(0x%08x)\n", + ioc->name, ioc_status, + le32_to_cpu(mpi_reply.IOCLogInfo)); + break; + } if (volume_pg0.VolumeState == MPI2_RAID_VOL_STATE_OPTIMAL || volume_pg0.VolumeState == MPI2_RAID_VOL_STATE_ONLINE || volume_pg0.VolumeState == MPI2_RAID_VOL_STATE_DEGRADED) { memset(&element, 0, sizeof(Mpi2EventIrConfigElement_t)); element.ReasonCode = MPI2_EVENT_IR_CHANGE_RC_ADDED; element.VolDevHandle = volume_pg1.DevHandle; + printk(MPT2SAS_INFO_FMT "\tBEFORE adding volume: " + " handle (0x%04x)\n", ioc->name, + volume_pg1.DevHandle); _scsih_sas_volume_add(ioc, &element); + printk(MPT2SAS_INFO_FMT "\tAFTER adding volume: " + " handle (0x%04x)\n", ioc->name, + volume_pg1.DevHandle); } } + printk(MPT2SAS_INFO_FMT "\tscan devices: volumes complete\n", + ioc->name); + skip_to_sas: + printk(MPT2SAS_INFO_FMT "\tscan devices: end devices start\n", + ioc->name); /* sas devices */ handle = 0xFFFF; while (!(mpt2sas_config_get_sas_device_pg0(ioc, &mpi_reply, @@ -7188,6 +7274,13 @@ MPI2_IOCSTATUS_MASK; if (ioc_status == MPI2_IOCSTATUS_CONFIG_INVALID_PAGE) break; + if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { + printk(MPT2SAS_INFO_FMT "\tbreak from end device scan:" + " ioc_status(0x%04x), loginfo(0x%08x)\n", + ioc->name, ioc_status, + le32_to_cpu(mpi_reply.IOCLogInfo)); + break; + } handle = le16_to_cpu(sas_device_pg0.DevHandle); if (!(_scsih_is_end_device( le32_to_cpu(sas_device_pg0.DeviceInfo)))) @@ -7200,12 +7293,31 @@ continue; parent_handle = le16_to_cpu(sas_device_pg0.ParentDevHandle); if (!_scsih_get_sas_address(ioc, parent_handle, &sas_address)) { + printk(MPT2SAS_INFO_FMT "\tBEFORE adding end device: " + "handle (0x%04x), sas_addr(0x%016llx)\n", + ioc->name, handle, (unsigned long long) + le64_to_cpu(sas_device_pg0.SASAddress)); mpt2sas_transport_update_links(ioc, sas_address, handle, sas_device_pg0.PhyNum, MPI2_SAS_NEG_LINK_RATE_1_5); - _scsih_add_device(ioc, handle, 0, 0); + retry_count = 0; + /* This will retry adding the end device. + * _scsih_add_device() will decide on retries and + * return "1" when it should be retried + */ + while (_scsih_add_device(ioc, handle, retry_count++, + 0)) { + ssleep(1); + } + printk(MPT2SAS_INFO_FMT "\tAFTER adding end device: " + "handle (0x%04x), sas_addr(0x%016llx)\n", + ioc->name, handle, (unsigned long long) + le64_to_cpu(sas_device_pg0.SASAddress)); } } + printk(MPT2SAS_INFO_FMT "\tscan devices: end devices complete\n", + ioc->name); + printk(MPT2SAS_INFO_FMT "scan devices: complete\n", ioc->name); } @@ -7297,7 +7409,9 @@ case MPT2SAS_PORT_ENABLE_COMPLETE: ioc->start_scan = 0; - + if (missing_delay[0] != -1 && missing_delay[1] != -1) + mpt2sas_base_update_missing_delay(ioc, missing_delay[0], + missing_delay[1]); dewtprintk(ioc, printk(MPT2SAS_INFO_FMT "port enable: complete " "from worker thread\n", ioc->name)); @@ -8056,7 +8170,7 @@ if (max_sectors < 64) { shost->max_sectors = 64; printk(MPT2SAS_WARN_FMT "Invalid value %d passed " - "for max_sectors, range is 64 to 8192. Assigning " + "for max_sectors, range is 64 to 32767. Assigning " "value of 64.\n", ioc->name, max_sectors); } else if (max_sectors > 32767) { shost->max_sectors = 32767; --- linux-lts-quantal-3.5.0.orig/drivers/scsi/libsas/sas_expander.c +++ linux-lts-quantal-3.5.0/drivers/scsi/libsas/sas_expander.c @@ -235,6 +235,17 @@ linkrate = phy->linkrate; memcpy(sas_addr, phy->attached_sas_addr, SAS_ADDR_SIZE); + /* Handle vacant phy - rest of dr data is not valid so skip it */ + if (phy->phy_state == PHY_VACANT) { + memset(phy->attached_sas_addr, 0, SAS_ADDR_SIZE); + phy->attached_dev_type = NO_DEVICE; + if (!test_bit(SAS_HA_ATA_EH_ACTIVE, &ha->state)) { + phy->phy_id = phy_id; + goto skip; + } else + goto out; + } + phy->attached_dev_type = to_dev_type(dr); if (test_bit(SAS_HA_ATA_EH_ACTIVE, &ha->state)) goto out; @@ -272,6 +283,7 @@ phy->phy->maximum_linkrate = dr->pmax_linkrate; phy->phy->negotiated_linkrate = phy->linkrate; + skip: if (new_phy) if (sas_phy_add(phy->phy)) { sas_phy_free(phy->phy); @@ -868,7 +880,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 +896,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 +1042,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 +1088,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 +1953,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 +1976,6 @@ break; } } -out: return res; } @@ -2109,9 +2106,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 +2118,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-lts-quantal-3.5.0.orig/drivers/scsi/device_handler/scsi_dh_alua.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/aacraid/src.c +++ linux-lts-quantal-3.5.0/drivers/scsi/aacraid/src.c @@ -101,6 +101,9 @@ struct list_head *entry; int send_it = 0; + src_writel(dev, MUnit.ODR_C, bellbits); + src_readl(dev, MUnit.ODR_C); + if (dev->sync_fib) { our_interrupt = 1; if (dev->sync_fib->callback) --- linux-lts-quantal-3.5.0.orig/drivers/scsi/isci/request.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/isci/probe_roms.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/isci/init.c +++ linux-lts-quantal-3.5.0/drivers/scsi/isci/init.c @@ -630,7 +630,7 @@ return -ENOMEM; pci_set_drvdata(pdev, pci_info); - if (efi_enabled) + if (efi_enabled(EFI_RUNTIME_SERVICES)) orom = isci_get_efi_var(pdev); if (!orom) @@ -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-lts-quantal-3.5.0.orig/drivers/scsi/isci/task.c +++ linux-lts-quantal-3.5.0/drivers/scsi/isci/task.c @@ -491,6 +491,7 @@ struct isci_tmf tmf; int ret = TMF_RESP_FUNC_FAILED; unsigned long flags; + int target_done_already = 0; /* Get the isci_request reference from the task. Note that * this check does not depend on the pending request list @@ -505,9 +506,11 @@ /* If task is already done, the request isn't valid */ if (!(task->task_state_flags & SAS_TASK_STATE_DONE) && (task->task_state_flags & SAS_TASK_AT_INITIATOR) && - old_request) + old_request) { idev = isci_get_device(task->dev->lldd_dev); - + target_done_already = test_bit(IREQ_COMPLETE_IN_TARGET, + &old_request->flags); + } spin_unlock(&task->task_state_lock); spin_unlock_irqrestore(&ihost->scic_lock, flags); @@ -561,7 +564,7 @@ if (task->task_proto == SAS_PROTOCOL_SMP || sas_protocol_ata(task->task_proto) || - test_bit(IREQ_COMPLETE_IN_TARGET, &old_request->flags) || + target_done_already || test_bit(IDEV_GONE, &idev->flags)) { spin_unlock_irqrestore(&ihost->scic_lock, flags); --- linux-lts-quantal-3.5.0.orig/drivers/scsi/bnx2i/bnx2i_hwi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/osd/osd_uld.c +++ linux-lts-quantal-3.5.0/drivers/scsi/osd/osd_uld.c @@ -465,7 +465,7 @@ oud->class_dev.class = &osd_uld_class; oud->class_dev.parent = dev; oud->class_dev.release = __remove; - error = dev_set_name(&oud->class_dev, disk->disk_name); + error = dev_set_name(&oud->class_dev, "%s", disk->disk_name); if (error) { OSD_ERR("dev_set_name failed => %d\n", error); goto err_put_cdev; --- linux-lts-quantal-3.5.0.orig/drivers/scsi/qla2xxx/qla_iocb.c +++ linux-lts-quantal-3.5.0/drivers/scsi/qla2xxx/qla_iocb.c @@ -424,6 +424,8 @@ __constant_cpu_to_le16(CF_SIMPLE_TAG); break; } + } else { + cmd_pkt->control_flags = __constant_cpu_to_le16(CF_SIMPLE_TAG); } /* Load SCSI command packet. */ @@ -1353,11 +1355,11 @@ fcp_cmnd->task_attribute = TSK_ORDERED; break; default: - fcp_cmnd->task_attribute = 0; + fcp_cmnd->task_attribute = TSK_SIMPLE; break; } } else { - fcp_cmnd->task_attribute = 0; + fcp_cmnd->task_attribute = TSK_SIMPLE; } cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ @@ -1563,7 +1565,12 @@ case ORDERED_QUEUE_TAG: cmd_pkt->task = TSK_ORDERED; break; + default: + cmd_pkt->task = TSK_SIMPLE; + break; } + } else { + cmd_pkt->task = TSK_SIMPLE; } /* Load SCSI command packet. */ --- linux-lts-quantal-3.5.0.orig/drivers/scsi/qla2xxx/qla_target.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/scsi/qla2xxx/qla_os.c +++ linux-lts-quantal-3.5.0/drivers/scsi/qla2xxx/qla_os.c @@ -3801,9 +3801,9 @@ "ISP abort end.\n"); } - if (test_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags)) { + if (test_and_clear_bit(FCPORT_UPDATE_NEEDED, + &base_vha->dpc_flags)) { qla2x00_update_fcports(base_vha); - clear_bit(FCPORT_UPDATE_NEEDED, &base_vha->dpc_flags); } if (test_bit(SCR_PENDING, &base_vha->dpc_flags)) { --- linux-lts-quantal-3.5.0.orig/drivers/scsi/qla2xxx/qla_target.c +++ linux-lts-quantal-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) { @@ -1267,8 +1264,27 @@ struct abts_recv_from_24xx *abts, struct qla_tgt_sess *sess) { struct qla_hw_data *ha = vha->hw; + struct se_session *se_sess = sess->se_sess; struct qla_tgt_mgmt_cmd *mcmd; + struct se_cmd *se_cmd; + u32 lun = 0; int rc; + bool found_lun = false; + + spin_lock(&se_sess->sess_cmd_lock); + list_for_each_entry(se_cmd, &se_sess->sess_cmd_list, se_cmd_list) { + struct qla_tgt_cmd *cmd = + container_of(se_cmd, struct qla_tgt_cmd, se_cmd); + if (cmd->tag == abts->exchange_addr_to_abort) { + lun = cmd->unpacked_lun; + found_lun = true; + break; + } + } + spin_unlock(&se_sess->sess_cmd_lock); + + if (!found_lun) + return -ENOENT; ql_dbg(ql_dbg_tgt_mgt, vha, 0xf00f, "qla_target(%d): task abort (tag=%d)\n", @@ -1286,7 +1302,7 @@ mcmd->sess = sess; memcpy(&mcmd->orig_iocb.abts, abts, sizeof(mcmd->orig_iocb.abts)); - rc = ha->tgt.tgt_ops->handle_tmr(mcmd, 0, TMR_ABORT_TASK, + rc = ha->tgt.tgt_ops->handle_tmr(mcmd, lun, TMR_ABORT_TASK, abts->exchange_addr_to_abort); if (rc != 0) { ql_dbg(ql_dbg_tgt_mgt, vha, 0xf052, @@ -1403,7 +1419,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-lts-quantal-3.5.0.orig/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ linux-lts-quantal-3.5.0/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -702,8 +702,12 @@ * For FCP_READ with CHECK_CONDITION status, clear cmd->bufflen * for qla_tgt_xmit_response LLD code */ + if (se_cmd->se_cmd_flags & SCF_OVERFLOW_BIT) { + se_cmd->se_cmd_flags &= ~SCF_OVERFLOW_BIT; + se_cmd->residual_count = 0; + } se_cmd->se_cmd_flags |= SCF_UNDERFLOW_BIT; - se_cmd->residual_count = se_cmd->data_length; + se_cmd->residual_count += se_cmd->data_length; cmd->bufflen = 0; } @@ -1482,6 +1486,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 +1568,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-lts-quantal-3.5.0.orig/drivers/iommu/tegra-smmu.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/iommu/amd_iommu_types.h +++ linux-lts-quantal-3.5.0/drivers/iommu/amd_iommu_types.h @@ -99,6 +99,7 @@ #define PASID_MASK 0x000fffff /* MMIO status bits */ +#define MMIO_STATUS_EVT_INT_MASK (1 << 1) #define MMIO_STATUS_COM_WAIT_INT_MASK (1 << 2) #define MMIO_STATUS_PPR_INT_MASK (1 << 6) --- linux-lts-quantal-3.5.0.orig/drivers/iommu/intel-iommu.c +++ linux-lts-quantal-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)) { @@ -885,56 +887,54 @@ return order; } +static void dma_pte_free_level(struct dmar_domain *domain, int level, + struct dma_pte *pte, unsigned long pfn, + unsigned long start_pfn, unsigned long last_pfn) +{ + pfn = max(start_pfn, pfn); + pte = &pte[pfn_level_offset(pfn, level)]; + + do { + unsigned long level_pfn; + struct dma_pte *level_pte; + + if (!dma_pte_present(pte) || dma_pte_superpage(pte)) + goto next; + + level_pfn = pfn & level_mask(level - 1); + level_pte = phys_to_virt(dma_pte_addr(pte)); + + if (level > 2) + dma_pte_free_level(domain, level - 1, level_pte, + level_pfn, start_pfn, last_pfn); + + /* If range covers entire pagetable, free it */ + if (!(start_pfn > level_pfn || + last_pfn < level_pfn + level_size(level))) { + dma_clear_pte(pte); + domain_flush_cache(domain, pte, sizeof(*pte)); + free_pgtable_page(level_pte); + } +next: + pfn += level_size(level); + } while (!first_pte_in_page(++pte) && pfn <= last_pfn); +} + /* free page table pages. last level pte should already be cleared */ static void dma_pte_free_pagetable(struct dmar_domain *domain, unsigned long start_pfn, unsigned long last_pfn) { int addr_width = agaw_to_width(domain->agaw) - VTD_PAGE_SHIFT; - struct dma_pte *first_pte, *pte; - int total = agaw_to_level(domain->agaw); - int level; - unsigned long tmp; - int large_page = 2; BUG_ON(addr_width < BITS_PER_LONG && start_pfn >> addr_width); BUG_ON(addr_width < BITS_PER_LONG && last_pfn >> addr_width); BUG_ON(start_pfn > last_pfn); /* We don't need lock here; nobody else touches the iova range */ - level = 2; - while (level <= total) { - tmp = align_to_level(start_pfn, level); - - /* If we can't even clear one PTE at this level, we're done */ - if (tmp + level_size(level) - 1 > last_pfn) - return; - - do { - large_page = level; - first_pte = pte = dma_pfn_level_pte(domain, tmp, level, &large_page); - if (large_page > level) - level = large_page + 1; - if (!pte) { - tmp = align_to_level(tmp + 1, level + 1); - continue; - } - do { - if (dma_pte_present(pte)) { - free_pgtable_page(phys_to_virt(dma_pte_addr(pte))); - dma_clear_pte(pte); - } - pte++; - tmp += level_size(level); - } while (!first_pte_in_page(pte) && - tmp + level_size(level) - 1 <= last_pfn); + dma_pte_free_level(domain, agaw_to_level(domain->agaw), + domain->pgd, 0, start_pfn, last_pfn); - domain_flush_cache(domain, first_pte, - (void *)pte - (void *)first_pte); - - } while (tmp && tmp + level_size(level) - 1 <= last_pfn); - level++; - } /* free pgd */ if (start_pfn == 0 && last_pfn == DOMAIN_MAX_PFN(domain->gaw)) { free_pgtable_page(domain->pgd); @@ -1825,10 +1825,17 @@ if (!pte) return -ENOMEM; /* It is large page*/ - if (largepage_lvl > 1) + if (largepage_lvl > 1) { pteval |= DMA_PTE_LARGE_PAGE; - else + /* Ensure that old small page tables are removed to make room + for superpage, if they exist. */ + dma_pte_clear_range(domain, iov_pfn, + iov_pfn + lvl_to_nr_pages(largepage_lvl) - 1); + dma_pte_free_pagetable(domain, iov_pfn, + iov_pfn + lvl_to_nr_pages(largepage_lvl) - 1); + } else { pteval &= ~(uint64_t)DMA_PTE_LARGE_PAGE; + } } /* We don't need lock here, nobody else @@ -2317,8 +2324,39 @@ return 0; } +static bool device_has_rmrr(struct pci_dev *dev) +{ + struct dmar_rmrr_unit *rmrr; + int i; + + for_each_rmrr_units(rmrr) { + for (i = 0; i < rmrr->devices_cnt; i++) { + /* + * Return TRUE if this RMRR contains the device that + * is passed in. + */ + if (rmrr->devices[i] == dev) + return true; + } + } + return false; +} + static int iommu_should_identity_map(struct pci_dev *pdev, int startup) { + + /* + * We want to prevent any device associated with an RMRR from + * getting placed into the SI Domain. This is done because + * problems exist when devices are moved in and out of domains + * and their respective RMRR info is lost. We exempt USB devices + * from this process due to their usage of RMRRs that are known + * to not be needed after BIOS hand-off to OS. + */ + if (device_has_rmrr(pdev) && + (pdev->class >> 8) != PCI_CLASS_SERIAL_USB) + return 0; + if ((iommu_identity_mapping & IDENTMAP_AZALIA) && IS_AZALIA(pdev)) return 1; @@ -4151,23 +4189,38 @@ .pgsize_bitmap = INTEL_IOMMU_PGSIZES, }; +static void quirk_iommu_g4x_gfx(struct pci_dev *dev) +{ + /* G4x/GM45 integrated gfx dmar support is totally busted. */ + printk(KERN_INFO "DMAR: Disabling IOMMU for graphics on this chipset\n"); + dmar_map_gfx = 0; +} + +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_g4x_gfx); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e00, quirk_iommu_g4x_gfx); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e10, quirk_iommu_g4x_gfx); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e20, quirk_iommu_g4x_gfx); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e30, quirk_iommu_g4x_gfx); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e40, quirk_iommu_g4x_gfx); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e90, quirk_iommu_g4x_gfx); + static void __devinit quirk_iommu_rwbf(struct pci_dev *dev) { /* * Mobile 4 Series Chipset neglects to set RWBF capability, - * but needs it: + * but needs it. Same seems to hold for the desktop versions. */ printk(KERN_INFO "DMAR: Forcing write-buffer flush capability\n"); rwbf_quirk = 1; - - /* https://bugzilla.redhat.com/show_bug.cgi?id=538163 */ - if (dev->revision == 0x07) { - printk(KERN_INFO "DMAR: Disabling IOMMU for graphics on this chipset\n"); - dmar_map_gfx = 0; - } } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e00, quirk_iommu_rwbf); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e10, quirk_iommu_rwbf); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e20, quirk_iommu_rwbf); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e30, quirk_iommu_rwbf); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e40, quirk_iommu_rwbf); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e90, quirk_iommu_rwbf); #define GGC 0x52 #define GGC_MEMORY_SIZE_MASK (0xf << 8) --- linux-lts-quantal-3.5.0.orig/drivers/iommu/amd_iommu_v2.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/iommu/amd_iommu.c +++ linux-lts-quantal-3.5.0/drivers/iommu/amd_iommu.c @@ -531,11 +531,23 @@ static void iommu_poll_events(struct amd_iommu *iommu) { - u32 head, tail; + u32 head, tail, status; unsigned long flags; spin_lock_irqsave(&iommu->lock, flags); + /* enable event interrupts again */ + do { + /* + * Workaround for Erratum ERBT1312 + * Clearing the EVT_INT bit may race in the hardware, so read + * it again and make sure it was really cleared + */ + status = readl(iommu->mmio_base + MMIO_STATUS_OFFSET); + writel(MMIO_STATUS_EVT_INT_MASK, + iommu->mmio_base + MMIO_STATUS_OFFSET); + } while (status & MMIO_STATUS_EVT_INT_MASK); + head = readl(iommu->mmio_base + MMIO_EVT_HEAD_OFFSET); tail = readl(iommu->mmio_base + MMIO_EVT_TAIL_OFFSET); @@ -572,16 +584,25 @@ static void iommu_poll_ppr_log(struct amd_iommu *iommu) { unsigned long flags; - u32 head, tail; + u32 head, tail, status; if (iommu->ppr_log == NULL) return; - /* enable ppr interrupts again */ - writel(MMIO_STATUS_PPR_INT_MASK, iommu->mmio_base + MMIO_STATUS_OFFSET); - spin_lock_irqsave(&iommu->lock, flags); + /* enable ppr interrupts again */ + do { + /* + * Workaround for Erratum ERBT1312 + * Clearing the PPR_INT bit may race in the hardware, so read + * it again and make sure it was really cleared + */ + status = readl(iommu->mmio_base + MMIO_STATUS_OFFSET); + writel(MMIO_STATUS_PPR_INT_MASK, + iommu->mmio_base + MMIO_STATUS_OFFSET); + } while (status & MMIO_STATUS_PPR_INT_MASK); + head = readl(iommu->mmio_base + MMIO_PPR_HEAD_OFFSET); tail = readl(iommu->mmio_base + MMIO_PPR_TAIL_OFFSET); @@ -1288,6 +1309,10 @@ /* Large PTE found which maps this address */ unmap_size = PTE_PAGE_SIZE(*pte); + + /* Only unmap from the first pte in the page */ + if ((unmap_size - 1) & bus_addr) + break; count = PAGE_SIZE_PTE_COUNT(unmap_size); for (i = 0; i < count; i++) pte[i] = 0ULL; @@ -1297,7 +1322,7 @@ unmapped += unmap_size; } - BUG_ON(!is_power_of_2(unmapped)); + BUG_ON(unmapped && !is_power_of_2(unmapped)); return unmapped; } @@ -2254,27 +2279,34 @@ 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 */ dma_domain = find_protection_domain(devid); - if (dma_domain) - goto out; - dma_domain = dma_ops_domain_alloc(); - if (!dma_domain) - goto out; - dma_domain->target_dev = devid; - - spin_lock_irqsave(&iommu_pd_list_lock, flags); - list_add_tail(&dma_domain->list, &iommu_pd_list); - spin_unlock_irqrestore(&iommu_pd_list_lock, flags); - - dev_data = get_dev_data(dev); + if (!dma_domain) { + dma_domain = dma_ops_domain_alloc(); + if (!dma_domain) + goto out; + dma_domain->target_dev = devid; + + spin_lock_irqsave(&iommu_pd_list_lock, flags); + list_add_tail(&dma_domain->list, &iommu_pd_list); + spin_unlock_irqrestore(&iommu_pd_list_lock, flags); + } - 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-lts-quantal-3.5.0.orig/drivers/iommu/amd_iommu_init.c +++ linux-lts-quantal-3.5.0/drivers/iommu/amd_iommu_init.c @@ -1002,6 +1002,38 @@ } /* + * Family15h Model 10h-1fh erratum 746 (IOMMU Logging May Stall Translations) + * Workaround: + * BIOS should disable L2B micellaneous clock gating by setting + * L2_L2B_CK_GATE_CONTROL[CKGateL2BMiscDisable](D0F2xF4_x90[2]) = 1b + */ +static void __init amd_iommu_erratum_746_workaround(struct amd_iommu *iommu) +{ + u32 value; + + if ((boot_cpu_data.x86 != 0x15) || + (boot_cpu_data.x86_model < 0x10) || + (boot_cpu_data.x86_model > 0x1f)) + return; + + pci_write_config_dword(iommu->dev, 0xf0, 0x90); + pci_read_config_dword(iommu->dev, 0xf4, &value); + + if (value & BIT(2)) + return; + + /* Select NB indirect register 0x90 and enable writing */ + pci_write_config_dword(iommu->dev, 0xf0, 0x90 | (1 << 8)); + + pci_write_config_dword(iommu->dev, 0xf4, value | 0x4); + pr_info("AMD-Vi: Applying erratum 746 workaround for IOMMU at %s\n", + dev_name(&iommu->dev->dev)); + + /* Clear the enable writing bit */ + pci_write_config_dword(iommu->dev, 0xf0, 0x90); +} + +/* * This function clues the initialization function for one IOMMU * together and also allocates the command buffer and programs the * hardware. It does NOT enable the IOMMU. This is done afterwards. @@ -1062,6 +1094,8 @@ if (iommu->cap & (1UL << IOMMU_CAP_NPCACHE)) amd_iommu_np_cache = true; + amd_iommu_erratum_746_workaround(iommu); + return pci_enable_device(iommu->dev); } @@ -1538,9 +1572,6 @@ if (amd_iommu_pd_alloc_bitmap == NULL) goto free; - /* init the device table */ - init_device_table(); - /* * let all alias entries point to itself */ @@ -1621,6 +1652,7 @@ */ static int __init amd_iommu_init(void) { + struct amd_iommu *iommu; int ret = 0; ret = amd_iommu_init_hardware(); @@ -1639,6 +1671,12 @@ if (ret) goto free; + /* init the device table */ + init_device_table(); + + for_each_iommu(iommu) + iommu_flush_all_caches(iommu); + amd_iommu_init_api(); x86_platform.iommu_shutdown = disable_iommus; --- linux-lts-quantal-3.5.0.orig/drivers/iommu/intel_irq_remapping.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/rc/ite-cir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/rc/rc-main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/rc/ene_ir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/dvb/frontends/lgs8gxx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/dvb/mantis/mantis_dvb.c +++ linux-lts-quantal-3.5.0/drivers/media/dvb/mantis/mantis_dvb.c @@ -248,8 +248,10 @@ err5: tasklet_kill(&mantis->tasklet); dvb_net_release(&mantis->dvbnet); - dvb_unregister_frontend(mantis->fe); - dvb_frontend_detach(mantis->fe); + if (mantis->fe) { + dvb_unregister_frontend(mantis->fe); + dvb_frontend_detach(mantis->fe); + } err4: mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_mem); --- linux-lts-quantal-3.5.0.orig/drivers/media/dvb/siano/smsusb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/dvb/dvb-core/dmxdev.c +++ linux-lts-quantal-3.5.0/drivers/media/dvb/dvb-core/dmxdev.c @@ -379,10 +379,8 @@ ret = dvb_dmxdev_buffer_write(&dmxdevfilter->buffer, buffer2, buffer2_len); } - if (ret < 0) { - dvb_ringbuffer_flush(&dmxdevfilter->buffer); + if (ret < 0) dmxdevfilter->buffer.error = ret; - } if (dmxdevfilter->params.sec.flags & DMX_ONESHOT) dmxdevfilter->state = DMXDEV_STATE_DONE; spin_unlock(&dmxdevfilter->dev->lock); @@ -418,10 +416,8 @@ ret = dvb_dmxdev_buffer_write(buffer, buffer1, buffer1_len); if (ret == buffer1_len) ret = dvb_dmxdev_buffer_write(buffer, buffer2, buffer2_len); - if (ret < 0) { - dvb_ringbuffer_flush(buffer); + if (ret < 0) buffer->error = ret; - } spin_unlock(&dmxdevfilter->dev->lock); wake_up(&buffer->queue); return 0; --- linux-lts-quantal-3.5.0.orig/drivers/media/common/tuners/xc5000.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/s2255drv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/v4l2-device.c +++ linux-lts-quantal-3.5.0/drivers/media/video/v4l2-device.c @@ -159,31 +159,21 @@ sd->v4l2_dev = v4l2_dev; if (sd->internal_ops && sd->internal_ops->registered) { err = sd->internal_ops->registered(sd); - if (err) { - module_put(sd->owner); - return err; - } + if (err) + goto error_module; } /* This just returns 0 if either of the two args is NULL */ err = v4l2_ctrl_add_handler(v4l2_dev->ctrl_handler, sd->ctrl_handler); - if (err) { - if (sd->internal_ops && sd->internal_ops->unregistered) - sd->internal_ops->unregistered(sd); - module_put(sd->owner); - return err; - } + if (err) + goto error_unregister; #if defined(CONFIG_MEDIA_CONTROLLER) /* Register the entity. */ if (v4l2_dev->mdev) { err = media_device_register_entity(v4l2_dev->mdev, entity); - if (err < 0) { - if (sd->internal_ops && sd->internal_ops->unregistered) - sd->internal_ops->unregistered(sd); - module_put(sd->owner); - return err; - } + if (err < 0) + goto error_unregister; } #endif @@ -192,6 +182,14 @@ spin_unlock(&v4l2_dev->lock); return 0; + +error_unregister: + if (sd->internal_ops && sd->internal_ops->unregistered) + sd->internal_ops->unregistered(sd); +error_module: + module_put(sd->owner); + sd->v4l2_dev = NULL; + return err; } EXPORT_SYMBOL_GPL(v4l2_device_register_subdev); --- linux-lts-quantal-3.5.0.orig/drivers/media/video/videobuf-dma-contig.c +++ linux-lts-quantal-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; + + 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; + if (size > PAGE_SIZE) + size -= PAGE_SIZE; + else + size = 0; + } } vma->vm_ops = &videobuf_vm_ops; --- linux-lts-quantal-3.5.0.orig/drivers/media/video/cx231xx/cx231xx-417.c +++ linux-lts-quantal-3.5.0/drivers/media/video/cx231xx/cx231xx-417.c @@ -2193,3 +2193,5 @@ return 0; } + +MODULE_FIRMWARE(CX231xx_FIRM_IMAGE_NAME); --- linux-lts-quantal-3.5.0.orig/drivers/media/video/au0828/au0828-video.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/gspca/jl2005bcd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/gspca/spca506.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/gspca/kinect.c +++ linux-lts-quantal-3.5.0/drivers/media/video/gspca/kinect.c @@ -390,6 +390,7 @@ /* -- module initialisation -- */ static const struct usb_device_id device_table[] = { {USB_DEVICE(0x045e, 0x02ae)}, + {USB_DEVICE(0x045e, 0x02bf)}, {} }; --- linux-lts-quantal-3.5.0.orig/drivers/media/video/gspca/pac7302.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/pvrusb2/pvrusb2-devattr.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/uvc/uvc_queue.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/uvc/uvc_video.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/m5mols/m5mols_controls.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/cx23885/cx23885-417.c +++ linux-lts-quantal-3.5.0/drivers/media/video/cx23885/cx23885-417.c @@ -1786,3 +1786,5 @@ return 0; } + +MODULE_FIRMWARE(CX23885_FIRM_IMAGE_NAME); --- linux-lts-quantal-3.5.0.orig/drivers/media/video/saa7134/saa7134-alsa.c +++ linux-lts-quantal-3.5.0/drivers/media/video/saa7134/saa7134-alsa.c @@ -172,7 +172,9 @@ dprintk("irq: overrun [full=%d/%d] - Blocks in %d\n",dev->dmasound.read_count, dev->dmasound.bufsize, dev->dmasound.blocks); spin_unlock(&dev->slock); + snd_pcm_stream_lock(dev->dmasound.substream); snd_pcm_stop(dev->dmasound.substream,SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock(dev->dmasound.substream); return; } --- linux-lts-quantal-3.5.0.orig/drivers/media/video/ivtv/ivtv-firmware.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/s5p-g2d/g2d.c +++ linux-lts-quantal-3.5.0/drivers/media/video/s5p-g2d/g2d.c @@ -753,6 +753,7 @@ This driver needs auditing so that this flag can be removed. */ set_bit(V4L2_FL_LOCK_ALL_FOPS, &vfd->flags); vfd->lock = &dev->mutex; + vfd->v4l2_dev = &dev->v4l2_dev; ret = video_register_device(vfd, VFL_TYPE_GRABBER, 0); if (ret) { v4l2_err(&dev->v4l2_dev, "Failed to register video device\n"); --- linux-lts-quantal-3.5.0.orig/drivers/media/video/em28xx/em28xx-cards.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/tlg2300/pd-main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/s5p-fimc/fimc-mdevice.c +++ linux-lts-quantal-3.5.0/drivers/media/video/s5p-fimc/fimc-mdevice.c @@ -980,9 +980,9 @@ err_unlock: mutex_unlock(&fmd->media_dev.graph_mutex); err_clk: - media_device_unregister(&fmd->media_dev); fimc_md_put_clocks(fmd); fimc_md_unregister_entities(fmd); + media_device_unregister(&fmd->media_dev); err_md: v4l2_device_unregister(&fmd->v4l2_dev); return ret; --- linux-lts-quantal-3.5.0.orig/drivers/media/video/s5p-fimc/fimc-lite.c +++ linux-lts-quantal-3.5.0/drivers/media/video/s5p-fimc/fimc-lite.c @@ -75,14 +75,14 @@ }, { .name = "RAW10 (GRBG)", .fourcc = V4L2_PIX_FMT_SGRBG10, - .depth = { 10 }, + .depth = { 16 }, .color = FIMC_FMT_RAW10, .memplanes = 1, .mbus_code = V4L2_MBUS_FMT_SGRBG10_1X10, }, { .name = "RAW12 (GRBG)", .fourcc = V4L2_PIX_FMT_SGRBG12, - .depth = { 12 }, + .depth = { 16 }, .color = FIMC_FMT_RAW12, .memplanes = 1, .mbus_code = V4L2_MBUS_FMT_SGRBG12_1X12, @@ -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-lts-quantal-3.5.0.orig/drivers/media/video/cpia2/cpia2_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/hdpvr/hdpvr-core.c +++ linux-lts-quantal-3.5.0/drivers/media/video/hdpvr/hdpvr-core.c @@ -309,6 +309,11 @@ dev->workqueue = 0; + /* init video transfer queues first of all */ + /* to prevent oops in hdpvr_delete() on error paths */ + INIT_LIST_HEAD(&dev->free_buff_list); + INIT_LIST_HEAD(&dev->rec_buff_list); + /* register v4l2_device early so it can be used for printks */ if (v4l2_device_register(&interface->dev, &dev->v4l2_dev)) { dev_err(&interface->dev, "v4l2_device_register failed\n"); @@ -331,10 +336,6 @@ if (!dev->workqueue) goto error; - /* init video transfer queues */ - INIT_LIST_HEAD(&dev->free_buff_list); - INIT_LIST_HEAD(&dev->rec_buff_list); - dev->options = hdpvr_default_options; if (default_video_input < HDPVR_VIDEO_INPUTS) --- linux-lts-quantal-3.5.0.orig/drivers/media/video/cx25840/cx25840-firmware.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/omap/omap_vout.c +++ linux-lts-quantal-3.5.0/drivers/media/video/omap/omap_vout.c @@ -206,19 +206,21 @@ struct vm_area_struct *vma; struct mm_struct *mm = current->mm; - vma = find_vma(mm, virtp); /* For kernel direct-mapped memory, take the easy way */ - if (virtp >= PAGE_OFFSET) { - physp = virt_to_phys((void *) virtp); - } else if (vma && (vma->vm_flags & VM_IO) && vma->vm_pgoff) { + if (virtp >= PAGE_OFFSET) + return virt_to_phys((void *) virtp); + + down_read(¤t->mm->mmap_sem); + vma = find_vma(mm, virtp); + if (vma && (vma->vm_flags & VM_IO) && vma->vm_pgoff) { /* this will catch, kernel-allocated, mmaped-to-usermode addresses */ physp = (vma->vm_pgoff << PAGE_SHIFT) + (virtp - vma->vm_start); + up_read(¤t->mm->mmap_sem); } else { /* otherwise, use get_user_pages() for general userland pages */ int res, nr_pages = 1; struct page *pages; - down_read(¤t->mm->mmap_sem); res = get_user_pages(current, current->mm, virtp, nr_pages, 1, 0, &pages, NULL); --- linux-lts-quantal-3.5.0.orig/drivers/media/video/cx18/cx18-driver.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/media/video/cx18/cx18-av-firmware.c +++ linux-lts-quantal-3.5.0/drivers/media/video/cx18/cx18-av-firmware.c @@ -221,3 +221,5 @@ release_firmware(fw); return 0; } + +MODULE_FIRMWARE(FWFILE); --- linux-lts-quantal-3.5.0.orig/drivers/media/video/cx18/cx18-firmware.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/thermal/thermal_sys.c +++ linux-lts-quantal-3.5.0/drivers/thermal/thermal_sys.c @@ -1383,6 +1383,7 @@ idr_destroy(&thermal_cdev_idr); mutex_destroy(&thermal_idr_lock); mutex_destroy(&thermal_list_lock); + return result; } result = genetlink_init(); return result; --- linux-lts-quantal-3.5.0.orig/drivers/i2c/muxes/i2c-mux-pinctrl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/i2c/busses/Kconfig +++ linux-lts-quantal-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. @@ -136,6 +137,7 @@ ATI SB700 ATI SB800 AMD Hudson-2 + AMD CZ Serverworks OSB4 Serverworks CSB5 Serverworks CSB6 @@ -350,9 +352,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 +369,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-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-powermac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-i801.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/i2c/busses/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-piix4.c +++ linux-lts-quantal-3.5.0/drivers/i2c/busses/i2c-piix4.c @@ -22,7 +22,7 @@ Intel PIIX4, 440MX Serverworks OSB4, CSB5, CSB6, HT-1000, HT-1100 ATI IXP200, IXP300, IXP400, SB600, SB700, SB800 - AMD Hudson-2 + AMD Hudson-2, CZ SMSC Victory66 Note: we assume there can only be one device, with one SMBus interface. @@ -481,6 +481,7 @@ { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS) }, { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SMBUS) }, + { PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x790b) }, { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4) }, { PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, --- linux-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-tegra.c +++ linux-lts-quantal-3.5.0/drivers/i2c/busses/i2c-tegra.c @@ -341,7 +341,11 @@ u32 val; int err = 0; - clk_enable(i2c_dev->clk); + err = clk_enable(i2c_dev->clk); + if (err < 0) { + dev_err(i2c_dev->dev, "Clock enable failed %d\n", err); + return err; + } tegra_periph_reset_assert(i2c_dev->clk); udelay(2); @@ -546,7 +550,12 @@ if (i2c_dev->is_suspended) return -EBUSY; - clk_enable(i2c_dev->clk); + ret = clk_enable(i2c_dev->clk); + if (ret < 0) { + dev_err(i2c_dev->dev, "Clock enable failed %d\n", ret); + return ret; + } + for (i = 0; i < num; i++) { int stop = (i == (num - 1)) ? 1 : 0; ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], stop); --- linux-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-mxs.c +++ linux-lts-quantal-3.5.0/drivers/i2c/busses/i2c-mxs.c @@ -110,7 +110,7 @@ struct device *dev; void __iomem *regs; struct completion cmd_complete; - u32 cmd_err; + int cmd_err; struct i2c_adapter adapter; }; --- linux-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-xiic.c +++ linux-lts-quantal-3.5.0/drivers/i2c/busses/i2c-xiic.c @@ -312,10 +312,8 @@ /* last message in transfer -> STOP */ data |= XIIC_TX_DYN_STOP_MASK; dev_dbg(i2c->adap.dev.parent, "%s TX STOP\n", __func__); - - xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, data); - } else - xiic_setreg8(i2c, XIIC_DTR_REG_OFFSET, data); + } + xiic_setreg16(i2c, XIIC_DTR_REG_OFFSET, data); } } --- linux-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-designware-core.h +++ linux-lts-quantal-3.5.0/drivers/i2c/busses/i2c-designware-core.h @@ -60,6 +60,7 @@ * @adapter: i2c subsystem adapter node * @tx_fifo_depth: depth of the hardware tx fifo * @rx_fifo_depth: depth of the hardware rx fifo + * @rx_outstanding: current master-rx elements in tx fifo */ struct dw_i2c_dev { struct device *dev; @@ -88,6 +89,7 @@ u32 master_cfg; unsigned int tx_fifo_depth; unsigned int rx_fifo_depth; + int rx_outstanding; }; #define ACCESS_SWAP 0x00000001 --- linux-lts-quantal-3.5.0.orig/drivers/i2c/busses/i2c-designware-core.c +++ linux-lts-quantal-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 @@ -358,7 +360,8 @@ /* Enable the adapter */ dw_writel(dev, 1, DW_IC_ENABLE); - /* Enable interrupts */ + /* Clear and enable interrupts */ + i2c_dw_clear_int(dev); dw_writel(dev, DW_IC_INTR_DEFAULT_MASK, DW_IC_INTR_MASK); } @@ -411,8 +414,14 @@ while (buf_len > 0 && tx_limit > 0 && rx_limit > 0) { if (msgs[dev->msg_write_idx].flags & I2C_M_RD) { + + /* avoid rx buffer overrun */ + if (rx_limit - dev->rx_outstanding <= 0) + break; + dw_writel(dev, 0x100, DW_IC_DATA_CMD); rx_limit--; + dev->rx_outstanding++; } else dw_writel(dev, *buf++, DW_IC_DATA_CMD); tx_limit--; buf_len--; @@ -465,8 +474,10 @@ rx_valid = dw_readl(dev, DW_IC_RXFLR); - for (; len > 0 && rx_valid > 0; len--, rx_valid--) + for (; len > 0 && rx_valid > 0; len--, rx_valid--) { *buf++ = dw_readl(dev, DW_IC_DATA_CMD); + dev->rx_outstanding--; + } if (len > 0) { dev->status |= STATUS_READ_IN_PROGRESS; @@ -524,6 +535,7 @@ dev->msg_err = 0; dev->status = STATUS_IDLE; dev->abort_source = 0; + dev->rx_outstanding = 0; ret = i2c_dw_wait_bus_not_busy(dev); if (ret < 0) @@ -568,12 +580,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 +692,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 +716,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-lts-quantal-3.5.0.orig/drivers/idle/intel_idle.c +++ linux-lts-quantal-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); @@ -405,10 +442,8 @@ if (boot_cpu_has(X86_FEATURE_ARAT)) /* Always Reliable APIC Timer */ lapic_timer_reliable_states = LAPIC_TIMER_ALWAYS_RELIABLE; - else { + else on_each_cpu(__setup_broadcast_timer, (void *)true, 1); - register_cpu_notifier(&setup_broadcast_notifier); - } pr_debug(PREFIX "v" INTEL_IDLE_VERSION " model 0x%X\n", boot_cpu_data.x86_model); @@ -573,6 +608,9 @@ } } + if (lapic_timer_reliable_states != LAPIC_TIMER_ALWAYS_RELIABLE) + register_cpu_notifier(&setup_broadcast_notifier); + return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/pcmcia/pxa2xx_sharpsl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pcmcia/at91_cf.c +++ linux-lts-quantal-3.5.0/drivers/pcmcia/at91_cf.c @@ -100,9 +100,9 @@ int vcc = gpio_is_valid(cf->board->vcc_pin); *sp = SS_DETECT | SS_3VCARD; - if (!rdy || gpio_get_value(rdy)) + if (!rdy || gpio_get_value(cf->board->irq_pin)) *sp |= SS_READY; - if (!vcc || gpio_get_value(vcc)) + if (!vcc || gpio_get_value(cf->board->vcc_pin)) *sp |= SS_POWERON; } else *sp = 0; --- linux-lts-quantal-3.5.0.orig/drivers/pcmcia/vrc4171_card.c +++ linux-lts-quantal-3.5.0/drivers/pcmcia/vrc4171_card.c @@ -246,6 +246,7 @@ socket = &vrc4171_sockets[slot]; socket->csc_irq = search_nonuse_irq(); socket->io_irq = search_nonuse_irq(); + spin_lock_init(&socket->lock); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/macintosh/windfarm_rm31.c +++ linux-lts-quantal-3.5.0/drivers/macintosh/windfarm_rm31.c @@ -439,15 +439,15 @@ /* Slots fan */ static const struct wf_pid_param slots_param = { - .interval = 5, - .history_len = 2, - .gd = 30 << 20, - .gp = 5 << 20, - .gr = 0, - .itarget = 40 << 16, - .additive = 1, - .min = 300, - .max = 4000, + .interval = 1, + .history_len = 20, + .gd = 0, + .gp = 0, + .gr = 0x00100000, + .itarget = 3200000, + .additive = 0, + .min = 20, + .max = 100, }; static void slots_fan_tick(void) --- linux-lts-quantal-3.5.0.orig/drivers/rapidio/devices/tsi721.c +++ linux-lts-quantal-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); } /** @@ -464,6 +471,10 @@ u32 intval; u32 ch_inte; + /* For MSI mode disable all device-level interrupts */ + if (priv->flags & TSI721_USING_MSI) + iowrite32(0, priv->regs + TSI721_DEV_INTE); + dev_int = ioread32(priv->regs + TSI721_DEV_INT); if (!dev_int) return IRQ_NONE; @@ -553,6 +564,14 @@ } } #endif + + /* For MSI mode re-enable device-level interrupts */ + if (priv->flags & TSI721_USING_MSI) { + dev_int = TSI721_DEV_INT_SR2PC_CH | TSI721_DEV_INT_SRIO | + TSI721_DEV_INT_SMSG_CH | TSI721_DEV_INT_BDMA_CH; + iowrite32(dev_int, priv->regs + TSI721_DEV_INTE); + } + return IRQ_HANDLED; } @@ -2212,7 +2231,7 @@ const struct pci_device_id *id) { struct tsi721_device *priv; - int i, cap; + int cap; int err; u32 regval; @@ -2232,12 +2251,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-lts-quantal-3.5.0.orig/drivers/w1/w1.c +++ linux-lts-quantal-3.5.0/drivers/w1/w1.c @@ -928,7 +928,8 @@ tmp64 = (triplet_ret >> 2); rn |= (tmp64 << i); - if (kthread_should_stop()) { + /* ensure we're called from kthread and not by netlink callback */ + if (!dev->priv && kthread_should_stop()) { dev_dbg(&dev->dev, "Abort w1_search\n"); return; } --- linux-lts-quantal-3.5.0.orig/drivers/edac/i7300_edac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/amd64_edac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/i82975x_edac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/highbank_mc_edac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/highbank_l2_edac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/edac/edac_pci_sysfs.c +++ linux-lts-quantal-3.5.0/drivers/edac/edac_pci_sysfs.c @@ -257,7 +257,7 @@ struct edac_pci_dev_attribute *edac_pci_dev; edac_pci_dev = (struct edac_pci_dev_attribute *)attr; - if (edac_pci_dev->show) + if (edac_pci_dev->store) return edac_pci_dev->store(edac_pci_dev->value, buffer, count); return -EIO; } --- linux-lts-quantal-3.5.0.orig/drivers/nfc/pn533.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/mtdpart.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/mtdchar.c +++ linux-lts-quantal-3.5.0/drivers/mtd/mtdchar.c @@ -1132,32 +1132,17 @@ struct mtd_file_info *mfi = file->private_data; struct mtd_info *mtd = mfi->mtd; struct map_info *map = mtd->priv; - unsigned long start; - unsigned long off; - u32 len; - - if (mtd->type == MTD_RAM || mtd->type == MTD_ROM) { - off = vma->vm_pgoff << PAGE_SHIFT; - start = map->phys; - len = PAGE_ALIGN((start & ~PAGE_MASK) + map->size); - start &= PAGE_MASK; - if ((vma->vm_end - vma->vm_start + off) > len) - return -EINVAL; - - off += start; - vma->vm_pgoff = off >> PAGE_SHIFT; - vma->vm_flags |= VM_IO | VM_RESERVED; + /* This is broken because it assumes the MTD device is map-based + and that mtd->priv is a valid struct map_info. It should be + replaced with something that uses the mtd_get_unmapped_area() + operation properly. */ + if (0 /*mtd->type == MTD_RAM || mtd->type == MTD_ROM*/) { #ifdef pgprot_noncached - if (file->f_flags & O_DSYNC || off >= __pa(high_memory)) + if (file->f_flags & O_DSYNC || map->phys >= __pa(high_memory)) vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); #endif - if (io_remap_pfn_range(vma, vma->vm_start, off >> PAGE_SHIFT, - vma->vm_end - vma->vm_start, - vma->vm_page_prot)) - return -EAGAIN; - - return 0; + return vm_iomap_memory(vma, map->phys, map->size); } return -ENOSYS; #else --- linux-lts-quantal-3.5.0.orig/drivers/mtd/ofpart.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/devices/slram.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/maps/autcpu12-nvram.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/nand/cs553x_nand.c +++ linux-lts-quantal-3.5.0/drivers/mtd/nand/cs553x_nand.c @@ -237,6 +237,7 @@ this->ecc.hwctl = cs_enable_hwecc; this->ecc.calculate = cs_calculate_ecc; this->ecc.correct = nand_correct_data; + this->ecc.strength = 1; /* Enable the following for a flash based bad block table */ this->bbt_options = NAND_BBT_USE_FLASH; @@ -247,8 +248,6 @@ goto out_ior; } - this->ecc.strength = 1; - new_mtd->name = kasprintf(GFP_KERNEL, "cs553x_nand_cs%d", cs); cs553x_mtd[cs] = new_mtd; --- linux-lts-quantal-3.5.0.orig/drivers/mtd/nand/nand_base.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/nand/omap2.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/nand/nand_bbt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/nand/nandsim.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/nand/gpmi-nand/gpmi-lib.c +++ linux-lts-quantal-3.5.0/drivers/mtd/nand/gpmi-nand/gpmi-lib.c @@ -136,6 +136,15 @@ if (ret) goto err_out; + /* + * Reset BCH here, too. We got failures otherwise :( + * See later BCH reset for explanation of MX23 handling + */ + ret = gpmi_reset_block(r->bch_regs, GPMI_IS_MX23(this)); + if (ret) + goto err_out; + + /* Choose NAND mode. */ writel(BM_GPMI_CTRL1_GPMI_MODE, r->gpmi_regs + HW_GPMI_CTRL1_CLR); --- linux-lts-quantal-3.5.0.orig/drivers/mtd/ubi/build.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/ubi/vtbl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/mtd/ubi/attach.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/matrix-keymap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/touchscreen/egalax_ts.c +++ linux-lts-quantal-3.5.0/drivers/input/touchscreen/egalax_ts.c @@ -203,7 +203,7 @@ input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, EGALAX_MAX_X, 0, 0); input_set_abs_params(input_dev, - ABS_MT_POSITION_X, 0, EGALAX_MAX_Y, 0, 0); + ABS_MT_POSITION_Y, 0, EGALAX_MAX_Y, 0, 0); input_mt_init_slots(input_dev, MAX_SUPPORT_POINTS); input_set_drvdata(input_dev, ts); --- linux-lts-quantal-3.5.0.orig/drivers/input/touchscreen/eeti_ts.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/touchscreen/cyttsp_core.c +++ linux-lts-quantal-3.5.0/drivers/input/touchscreen/cyttsp_core.c @@ -133,7 +133,7 @@ memcpy(bl_cmd, bl_command, sizeof(bl_command)); if (ts->pdata->bl_keys) memcpy(&bl_cmd[sizeof(bl_command) - CY_NUM_BL_KEYS], - ts->pdata->bl_keys, sizeof(bl_command)); + ts->pdata->bl_keys, CY_NUM_BL_KEYS); error = ttsp_write_block_data(ts, CY_REG_BASE, sizeof(bl_cmd), bl_cmd); --- linux-lts-quantal-3.5.0.orig/drivers/input/touchscreen/tsc40.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/joystick/walkera0701.c +++ linux-lts-quantal-3.5.0/drivers/input/joystick/walkera0701.c @@ -196,6 +196,7 @@ struct walkera_dev *w = input_get_drvdata(dev); parport_disable_irq(w->parport); + hrtimer_cancel(&w->timer); } static int walkera0701_connect(struct walkera_dev *w, int parport) @@ -224,6 +225,9 @@ if (parport_claim(w->pardevice)) goto init_err1; + hrtimer_init(&w->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + w->timer.function = timer_handler; + w->input_dev = input_allocate_device(); if (!w->input_dev) goto init_err2; @@ -254,8 +258,6 @@ if (err) goto init_err3; - hrtimer_init(&w->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); - w->timer.function = timer_handler; return 0; init_err3: @@ -271,7 +273,6 @@ static void walkera0701_disconnect(struct walkera_dev *w) { - hrtimer_cancel(&w->timer); input_unregister_device(w->input_dev); parport_release(w->pardevice); parport_unregister_device(w->pardevice); --- linux-lts-quantal-3.5.0.orig/drivers/input/keyboard/gpio_keys.c +++ linux-lts-quantal-3.5.0/drivers/input/keyboard/gpio_keys.c @@ -548,6 +548,7 @@ struct device_node *node, *pp; int i; struct gpio_keys_button *buttons; + int error = -ENODEV; u32 reg; node = dev->of_node; @@ -574,6 +575,7 @@ pp = NULL; i = 0; while ((pp = of_get_next_child(node, pp))) { + int gpio; enum of_gpio_flags flags; if (!of_find_property(pp, "gpios", NULL)) { @@ -581,7 +583,17 @@ dev_warn(dev, "Found button without gpios\n"); continue; } - buttons[i].gpio = of_get_gpio_flags(pp, 0, &flags); + + gpio = of_get_gpio_flags(pp, 0, &flags); + if (gpio < 0) { + error = gpio; + dev_err(dev, + "Failed to get gpio flags, error: %d\n", + error); + goto out_fail; + } + + buttons[i].gpio = gpio; buttons[i].active_low = flags & OF_GPIO_ACTIVE_LOW; if (of_property_read_u32(pp, "linux,code", ®)) { @@ -613,7 +625,7 @@ out_fail: kfree(buttons); - return -ENODEV; + return error; } static struct of_device_id gpio_keys_of_match[] = { --- linux-lts-quantal-3.5.0.orig/drivers/input/tablet/wacom_sys.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/tablet/wacom_wac.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/tablet/wacom_wac.c +++ linux-lts-quantal-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 }; @@ -1904,7 +1918,8 @@ .touch_max = 2 }; static const struct wacom_features wacom_features_0xD2 = { "Wacom Bamboo Craft", WACOM_PKGLEN_BBFUN, 14720, 9200, 1023, - 31, BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; + 31, BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, + .touch_max = 2 }; static const struct wacom_features wacom_features_0xD3 = { "Wacom Bamboo 2FG 6x8", WACOM_PKGLEN_BBFUN, 21648, 13700, 1023, 31, BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, @@ -2064,6 +2079,7 @@ { USB_DEVICE_WACOM(0xEC) }, { USB_DEVICE_WACOM(0x47) }, { USB_DEVICE_WACOM(0xF4) }, + { USB_DEVICE_WACOM(0xFA) }, { USB_DEVICE_LENOVO(0x6004) }, { } }; --- linux-lts-quantal-3.5.0.orig/drivers/input/serio/i8042-x86ia64io.h +++ linux-lts-quantal-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"), }, @@ -901,6 +921,7 @@ int retval; #ifdef CONFIG_X86 + u8 a20_on = 0xdf; /* Just return if pre-detection shows no i8042 controller exist */ if (!x86_platform.i8042_detect()) return -ENODEV; @@ -940,6 +961,14 @@ if (dmi_check_system(i8042_dmi_dritek_table)) i8042_dritek = true; + + /* + * A20 was already enabled during early kernel init. But some buggy + * BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to + * resume from S3. So we do it here and hope that nothing breaks. + */ + i8042_command(&a20_on, 0x10d1); + i8042_command(NULL, 0x00ff); /* Null command for SMM firmware */ #endif /* CONFIG_X86 */ return retval; --- linux-lts-quantal-3.5.0.orig/drivers/input/mouse/cypress_ps2.c +++ linux-lts-quantal-3.5.0/drivers/input/mouse/cypress_ps2.c @@ -0,0 +1,965 @@ +/* + * 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; + + /* + * Trackpad fw_version 11 (in Dell XPS12) yields a bogus response to + * CYTP_CMD_READ_VITAL_STATISTICS so do not try to use it. LP: #1103594. + */ + if (cytp->fw_version >= 11) + cytp->vital_statics_supported = 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; + + if (!cytp->vital_statics_supported) + return 0; + + 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) +{ + int ret; + + if (cypress_read_fw_version(psmouse)) + return -1; + + ret = cypress_read_vital_statistics(psmouse); + if (ret) + 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-lts-quantal-3.5.0.orig/drivers/input/mouse/psmouse-base.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/synaptics.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/elantech.c +++ linux-lts-quantal-3.5.0/drivers/input/mouse/elantech.c @@ -694,18 +694,18 @@ static int elantech_packet_check_v4(struct psmouse *psmouse) { unsigned char *packet = psmouse->packet; + unsigned char packet_type = packet[3] & 0x03; - if ((packet[0] & 0x0c) == 0x04 && - (packet[3] & 0x1f) == 0x11) + switch (packet_type) { + case 0: + return PACKET_V4_STATUS; + + case 1: return PACKET_V4_HEAD; - if ((packet[0] & 0x0c) == 0x04 && - (packet[3] & 0x1f) == 0x12) + case 2: return PACKET_V4_MOTION; - - if ((packet[0] & 0x0c) == 0x04 && - (packet[3] & 0x1f) == 0x10) - return PACKET_V4_STATUS; + } return PACKET_UNKNOWN; } @@ -1282,6 +1282,7 @@ etd->hw_version = 3; break; case 6: + case 7: etd->hw_version = 4; break; default: --- linux-lts-quantal-3.5.0.orig/drivers/input/mouse/sentelic.c +++ linux-lts-quantal-3.5.0/drivers/input/mouse/sentelic.c @@ -780,7 +780,7 @@ fsp_set_slot(dev, 0, fgrs > 0, abs_x, abs_y); fsp_set_slot(dev, 1, false, 0, 0); } - if (fgrs > 0) { + if (fgrs == 1 || (fgrs == 2 && !(packet[0] & FSP_PB0_MFMC_FGR2))) { input_report_abs(dev, ABS_X, abs_x); input_report_abs(dev, ABS_Y, abs_y); } --- linux-lts-quantal-3.5.0.orig/drivers/input/mouse/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/synaptics.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/cypress_ps2.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/alps.c +++ linux-lts-quantal-3.5.0/drivers/input/mouse/alps.c @@ -27,14 +27,11 @@ /* * Definitions for ALPS version 3 and 4 command mode protocol */ -#define ALPS_V3_X_MAX 2000 -#define ALPS_V3_Y_MAX 1400 - -#define ALPS_BITMAP_X_BITS 15 -#define ALPS_BITMAP_Y_BITS 11 - #define ALPS_CMD_NIBBLE_10 0x01f2 +#define ALPS_REG_BASE_RUSHMORE 0xc2c0 +#define ALPS_REG_BASE_PINNACLE 0x0000 + static const struct alps_nibble_commands alps_v3_nibble_commands[] = { { PSMOUSE_CMD_SETPOLL, 0x00 }, /* 0 */ { PSMOUSE_CMD_RESET_DIS, 0x00 }, /* 1 */ @@ -109,11 +106,14 @@ { { 0x73, 0x02, 0x50 }, 0x00, ALPS_PROTO_V2, 0xcf, 0xcf, ALPS_FOUR_BUTTONS }, /* Dell Vostro 1400 */ { { 0x52, 0x01, 0x14 }, 0x00, ALPS_PROTO_V2, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */ - { { 0x73, 0x02, 0x64 }, 0x9b, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT }, - { { 0x73, 0x02, 0x64 }, 0x9d, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT }, { { 0x73, 0x02, 0x64 }, 0x8a, ALPS_PROTO_V4, 0x8f, 0x8f, 0 }, }; +static void alps_set_abs_params_st(struct alps_data *priv, + struct input_dev *dev1); +static void alps_set_abs_params_mt(struct alps_data *priv, + struct input_dev *dev1); + /* * XXX - this entry is suspicious. First byte has zero lower nibble, * which is what a normal mouse would report. Also, the value 0x0e @@ -122,10 +122,10 @@ /* Packet formats are described in Documentation/input/alps.txt */ -static bool alps_is_valid_first_byte(const struct alps_model_info *model, +static bool alps_is_valid_first_byte(struct alps_data *priv, unsigned char data) { - return (data & model->mask0) == model->byte0; + return (data & priv->mask0) == priv->byte0; } static void alps_report_buttons(struct psmouse *psmouse, @@ -158,14 +158,13 @@ static void alps_process_packet_v1_v2(struct psmouse *psmouse) { struct alps_data *priv = psmouse->private; - const struct alps_model_info *model = priv->i; unsigned char *packet = psmouse->packet; struct input_dev *dev = psmouse->dev; struct input_dev *dev2 = priv->dev2; int x, y, z, ges, fin, left, right, middle; int back = 0, forward = 0; - if (model->proto_version == ALPS_PROTO_V1) { + if (priv->proto_version == ALPS_PROTO_V1) { left = packet[2] & 0x10; right = packet[2] & 0x08; middle = 0; @@ -181,12 +180,12 @@ z = packet[5]; } - if (model->flags & ALPS_FW_BK_1) { + if (priv->flags & ALPS_FW_BK_1) { back = packet[0] & 0x10; forward = packet[2] & 4; } - if (model->flags & ALPS_FW_BK_2) { + if (priv->flags & ALPS_FW_BK_2) { back = packet[3] & 4; forward = packet[2] & 4; if ((middle = forward && back)) @@ -196,7 +195,7 @@ ges = packet[2] & 1; fin = packet[2] & 2; - if ((model->flags & ALPS_DUALPOINT) && z == 127) { + if ((priv->flags & ALPS_DUALPOINT) && z == 127) { input_report_rel(dev2, REL_X, (x > 383 ? (x - 768) : x)); input_report_rel(dev2, REL_Y, -(y > 255 ? (y - 512) : y)); @@ -239,15 +238,15 @@ input_report_abs(dev, ABS_PRESSURE, z); input_report_key(dev, BTN_TOOL_FINGER, z > 0); - if (model->flags & ALPS_WHEEL) + if (priv->flags & ALPS_WHEEL) input_report_rel(dev, REL_WHEEL, ((packet[2] << 1) & 0x08) - ((packet[0] >> 4) & 0x07)); - if (model->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { + if (priv->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { input_report_key(dev, BTN_FORWARD, forward); input_report_key(dev, BTN_BACK, back); } - if (model->flags & ALPS_FOUR_BUTTONS) { + if (priv->flags & ALPS_FOUR_BUTTONS) { input_report_key(dev, BTN_0, packet[2] & 4); input_report_key(dev, BTN_1, packet[0] & 0x10); input_report_key(dev, BTN_2, packet[3] & 4); @@ -267,7 +266,8 @@ * These points are returned in x1, y1, x2, and y2 when the return value * is greater than 0. */ -static int alps_process_bitmap(unsigned int x_map, unsigned int y_map, +static int alps_process_bitmap(struct alps_data *priv, + unsigned int x_map, unsigned int y_map, int *x1, int *y1, int *x2, int *y2) { struct alps_bitmap_point { @@ -309,7 +309,7 @@ * y bitmap is reversed for what we need (lower positions are in * higher bits), so we process from the top end. */ - y_map = y_map << (sizeof(y_map) * BITS_PER_BYTE - ALPS_BITMAP_Y_BITS); + y_map = y_map << (sizeof(y_map) * BITS_PER_BYTE - priv->y_bits); prev_bit = 0; point = &y_low; for (i = 0; y_map != 0; i++, y_map <<= 1) { @@ -355,16 +355,18 @@ } } - *x1 = (ALPS_V3_X_MAX * (2 * x_low.start_bit + x_low.num_bits - 1)) / - (2 * (ALPS_BITMAP_X_BITS - 1)); - *y1 = (ALPS_V3_Y_MAX * (2 * y_low.start_bit + y_low.num_bits - 1)) / - (2 * (ALPS_BITMAP_Y_BITS - 1)); + *x1 = (priv->x_max * (2 * x_low.start_bit + x_low.num_bits - 1)) / + (2 * (priv->x_bits - 1)); + *y1 = (priv->y_max * (2 * y_low.start_bit + y_low.num_bits - 1)) / + (2 * (priv->y_bits - 1)); if (fingers > 1) { - *x2 = (ALPS_V3_X_MAX * (2 * x_high.start_bit + x_high.num_bits - 1)) / - (2 * (ALPS_BITMAP_X_BITS - 1)); - *y2 = (ALPS_V3_Y_MAX * (2 * y_high.start_bit + y_high.num_bits - 1)) / - (2 * (ALPS_BITMAP_Y_BITS - 1)); + *x2 = (priv->x_max * + (2 * x_high.start_bit + x_high.num_bits - 1)) / + (2 * (priv->x_bits - 1)); + *y2 = (priv->y_max * + (2 * y_high.start_bit + y_high.num_bits - 1)) / + (2 * (priv->y_bits - 1)); } return fingers; @@ -448,17 +450,80 @@ return; } +static void alps_decode_buttons_v3(struct alps_fields *f, unsigned char *p) +{ + f->left = !!(p[3] & 0x01); + f->right = !!(p[3] & 0x02); + f->middle = !!(p[3] & 0x04); + + f->ts_left = !!(p[3] & 0x10); + f->ts_right = !!(p[3] & 0x20); + f->ts_middle = !!(p[3] & 0x40); +} + +static void alps_decode_pinnacle(struct alps_fields *f, unsigned char *p) +{ + f->first_mp = !!(p[4] & 0x40); + f->is_mp = !!(p[0] & 0x40); + + f->fingers = (p[5] & 0x3) + 1; + f->x_map = ((p[4] & 0x7e) << 8) | + ((p[1] & 0x7f) << 2) | + ((p[0] & 0x30) >> 4); + f->y_map = ((p[3] & 0x70) << 4) | + ((p[2] & 0x7f) << 1) | + (p[4] & 0x01); + + f->x = ((p[1] & 0x7f) << 4) | ((p[4] & 0x30) >> 2) | + ((p[0] & 0x30) >> 4); + f->y = ((p[2] & 0x7f) << 4) | (p[4] & 0x0f); + f->z = p[5] & 0x7f; + + alps_decode_buttons_v3(f, p); +} + +static void alps_decode_rushmore(struct alps_fields *f, unsigned char *p) +{ + alps_decode_pinnacle(f, p); + + f->x_map |= (p[5] & 0x10) << 11; + f->y_map |= (p[5] & 0x20) << 6; +} + +static void alps_decode_dolphin(struct alps_fields *f, unsigned char *p) +{ + f->first_mp = !!(p[0] & 0x02); + f->is_mp = !!(p[0] & 0x20); + + f->fingers = ((p[0] & 0x6) >> 1 | + (p[0] & 0x10) >> 2); + f->x_map = ((p[2] & 0x60) >> 5) | + ((p[4] & 0x7f) << 2) | + ((p[5] & 0x7f) << 9) | + ((p[3] & 0x07) << 16) | + ((p[3] & 0x70) << 15) | + ((p[0] & 0x01) << 22); + f->y_map = (p[1] & 0x7f) | + ((p[2] & 0x1f) << 7); + + f->x = ((p[1] & 0x7f) | ((p[4] & 0x0f) << 7)); + f->y = ((p[2] & 0x7f) | ((p[4] & 0xf0) << 3)); + f->z = (p[0] & 4) ? 0 : p[5] & 0x7f; + + alps_decode_buttons_v3(f, p); +} + static void alps_process_touchpad_packet_v3(struct psmouse *psmouse) { struct alps_data *priv = psmouse->private; unsigned char *packet = psmouse->packet; struct input_dev *dev = psmouse->dev; struct input_dev *dev2 = priv->dev2; - int x, y, z; - int left, right, middle; int x1 = 0, y1 = 0, x2 = 0, y2 = 0; int fingers = 0, bmap_fingers; - unsigned int x_bitmap, y_bitmap; + struct alps_fields f; + + priv->decode_fields(&f, packet); /* * There's no single feature of touchpad position and bitmap packets @@ -473,16 +538,10 @@ * packet. Check for this, and when it happens process the * position packet as usual. */ - if (packet[0] & 0x40) { - fingers = (packet[5] & 0x3) + 1; - x_bitmap = ((packet[4] & 0x7e) << 8) | - ((packet[1] & 0x7f) << 2) | - ((packet[0] & 0x30) >> 4); - y_bitmap = ((packet[3] & 0x70) << 4) | - ((packet[2] & 0x7f) << 1) | - (packet[4] & 0x01); - - bmap_fingers = alps_process_bitmap(x_bitmap, y_bitmap, + if (f.is_mp) { + fingers = f.fingers; + bmap_fingers = alps_process_bitmap(priv, + f.x_map, f.y_map, &x1, &y1, &x2, &y2); /* @@ -493,7 +552,7 @@ fingers = bmap_fingers; /* Now process position packet */ - packet = priv->multi_data; + priv->decode_fields(&f, priv->multi_data); } else { priv->multi_packet = 0; } @@ -507,10 +566,10 @@ * out misidentified bitmap packets, we reject anything with this * bit set. */ - if (packet[0] & 0x40) + if (f.is_mp) return; - if (!priv->multi_packet && (packet[4] & 0x40)) { + if (!priv->multi_packet && f.first_mp) { priv->multi_packet = 1; memcpy(priv->multi_data, packet, sizeof(priv->multi_data)); return; @@ -518,22 +577,13 @@ priv->multi_packet = 0; - left = packet[3] & 0x01; - right = packet[3] & 0x02; - middle = packet[3] & 0x04; - - x = ((packet[1] & 0x7f) << 4) | ((packet[4] & 0x30) >> 2) | - ((packet[0] & 0x30) >> 4); - y = ((packet[2] & 0x7f) << 4) | (packet[4] & 0x0f); - z = packet[5] & 0x7f; - /* * Sometimes the hardware sends a single packet with z = 0 * in the middle of a stream. Real releases generate packets * with x, y, and z all zero, so these seem to be flukes. * Ignore them. */ - if (x && y && !z) + if (f.x && f.y && !f.z) return; /* @@ -541,12 +591,12 @@ * to rely on ST data. */ if (!fingers) { - x1 = x; - y1 = y; - fingers = z > 0 ? 1 : 0; + x1 = f.x; + y1 = f.y; + fingers = f.z > 0 ? 1 : 0; } - if (z >= 64) + if (f.z >= 64) input_report_key(dev, BTN_TOUCH, 1); else input_report_key(dev, BTN_TOUCH, 0); @@ -555,26 +605,22 @@ input_mt_report_finger_count(dev, fingers); - input_report_key(dev, BTN_LEFT, left); - input_report_key(dev, BTN_RIGHT, right); - input_report_key(dev, BTN_MIDDLE, middle); - - if (z > 0) { - input_report_abs(dev, ABS_X, x); - input_report_abs(dev, ABS_Y, y); + input_report_key(dev, BTN_LEFT, f.left); + input_report_key(dev, BTN_RIGHT, f.right); + input_report_key(dev, BTN_MIDDLE, f.middle); + + if (f.z > 0) { + input_report_abs(dev, ABS_X, f.x); + input_report_abs(dev, ABS_Y, f.y); } - input_report_abs(dev, ABS_PRESSURE, z); + input_report_abs(dev, ABS_PRESSURE, f.z); input_sync(dev); if (!(priv->quirks & ALPS_QUIRK_TRACKSTICK_BUTTONS)) { - left = packet[3] & 0x10; - right = packet[3] & 0x20; - middle = packet[3] & 0x40; - - input_report_key(dev2, BTN_LEFT, left); - input_report_key(dev2, BTN_RIGHT, right); - input_report_key(dev2, BTN_MIDDLE, middle); + input_report_key(dev2, BTN_LEFT, f.ts_left); + input_report_key(dev2, BTN_RIGHT, f.ts_right); + input_report_key(dev2, BTN_MIDDLE, f.ts_middle); input_sync(dev2); } } @@ -639,7 +685,7 @@ ((priv->multi_data[3] & 0x1f) << 5) | (priv->multi_data[1] & 0x1f); - fingers = alps_process_bitmap(x_bitmap, y_bitmap, + fingers = alps_process_bitmap(priv, x_bitmap, y_bitmap, &x1, &y1, &x2, &y2); /* Store MT data.*/ @@ -696,25 +742,6 @@ input_sync(dev); } -static void alps_process_packet(struct psmouse *psmouse) -{ - struct alps_data *priv = psmouse->private; - const struct alps_model_info *model = priv->i; - - switch (model->proto_version) { - case ALPS_PROTO_V1: - case ALPS_PROTO_V2: - alps_process_packet_v1_v2(psmouse); - break; - case ALPS_PROTO_V3: - alps_process_packet_v3(psmouse); - break; - case ALPS_PROTO_V4: - alps_process_packet_v4(psmouse); - break; - } -} - static void alps_report_bare_ps2_packet(struct psmouse *psmouse, unsigned char packet[], bool report_buttons) @@ -765,7 +792,7 @@ if (((psmouse->packet[3] | psmouse->packet[4] | psmouse->packet[5]) & 0x80) || - (!alps_is_valid_first_byte(priv->i, psmouse->packet[6]))) { + (!alps_is_valid_first_byte(priv, psmouse->packet[6]))) { psmouse_dbg(psmouse, "refusing packet %x %x %x %x (suspected interleaved ps/2)\n", psmouse->packet[3], psmouse->packet[4], @@ -773,7 +800,7 @@ return PSMOUSE_BAD_DATA; } - alps_process_packet(psmouse); + priv->process_packet(psmouse); /* Continue with the next packet */ psmouse->packet[0] = psmouse->packet[6]; @@ -817,6 +844,7 @@ static void alps_flush_packet(unsigned long data) { struct psmouse *psmouse = (struct psmouse *)data; + struct alps_data *priv = psmouse->private; serio_pause_rx(psmouse->ps2dev.serio); @@ -835,7 +863,7 @@ psmouse->packet[3], psmouse->packet[4], psmouse->packet[5]); } else { - alps_process_packet(psmouse); + priv->process_packet(psmouse); } psmouse->pktcnt = 0; } @@ -846,7 +874,6 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse) { struct alps_data *priv = psmouse->private; - const struct alps_model_info *model = priv->i; if ((psmouse->packet[0] & 0xc8) == 0x08) { /* PS/2 packet */ if (psmouse->pktcnt == 3) { @@ -859,20 +886,21 @@ /* Check for PS/2 packet stuffed in the middle of ALPS packet. */ - if ((model->flags & ALPS_PS2_INTERLEAVED) && + if ((priv->flags & ALPS_PS2_INTERLEAVED) && psmouse->pktcnt >= 4 && (psmouse->packet[3] & 0x0f) == 0x0f) { return alps_handle_interleaved_ps2(psmouse); } - if (!alps_is_valid_first_byte(model, psmouse->packet[0])) { + if (!alps_is_valid_first_byte(priv, psmouse->packet[0])) { psmouse_dbg(psmouse, "refusing packet[0] = %x (mask0 = %x, byte0 = %x)\n", - psmouse->packet[0], model->mask0, model->byte0); + psmouse->packet[0], priv->mask0, priv->byte0); return PSMOUSE_BAD_DATA; } /* Bytes 2 - pktsize should have 0 in the highest bit */ - if (psmouse->pktcnt >= 2 && psmouse->pktcnt <= psmouse->pktsize && + if (priv->proto_version != ALPS_PROTO_V5 && + psmouse->pktcnt >= 2 && psmouse->pktcnt <= psmouse->pktsize && (psmouse->packet[psmouse->pktcnt - 1] & 0x80)) { psmouse_dbg(psmouse, "refusing packet[%i] = %x\n", psmouse->pktcnt - 1, @@ -881,7 +909,7 @@ } if (psmouse->pktcnt == psmouse->pktsize) { - alps_process_packet(psmouse); + priv->process_packet(psmouse); return PSMOUSE_FULL_PACKET; } @@ -969,29 +997,44 @@ return __alps_command_mode_write_reg(psmouse, value); } -static int alps_enter_command_mode(struct psmouse *psmouse, - unsigned char *resp) +static int alps_rpt_cmd(struct psmouse *psmouse, int init_command, + int repeated_command, unsigned char *param) { - unsigned char param[4]; struct ps2dev *ps2dev = &psmouse->ps2dev; - if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_RESET_WRAP) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_RESET_WRAP) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_RESET_WRAP) || - ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) { + param[0] = 0; + if (init_command && ps2_command(ps2dev, param, init_command)) + return -EIO; + + if (ps2_command(ps2dev, NULL, repeated_command) || + ps2_command(ps2dev, NULL, repeated_command) || + ps2_command(ps2dev, NULL, repeated_command)) + return -EIO; + + param[0] = param[1] = param[2] = 0xff; + if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) + return -EIO; + + psmouse_dbg(psmouse, "%2.2X report: %2.2x %2.2x %2.2x\n", + repeated_command, param[0], param[1], param[2]); + return 0; +} + +static int alps_enter_command_mode(struct psmouse *psmouse) +{ + unsigned char param[4]; + + if (alps_rpt_cmd(psmouse, 0, PSMOUSE_CMD_RESET_WRAP, param)) { psmouse_err(psmouse, "failed to enter command mode\n"); return -1; } - if (param[0] != 0x88 && param[1] != 0x07) { + if ((param[0] != 0x88 || (param[1] != 0x07 && param[1] != 0x08)) && + param[0] != 0x73) { psmouse_dbg(psmouse, - "unknown response while entering command mode: %2.2x %2.2x %2.2x\n", - param[0], param[1], param[2]); + "unknown response while entering command mode\n"); return -1; } - - if (resp) - *resp = param[2]; return 0; } @@ -1003,99 +1046,6 @@ return 0; } -static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int *version) -{ - struct ps2dev *ps2dev = &psmouse->ps2dev; - static const unsigned char rates[] = { 0, 10, 20, 40, 60, 80, 100, 200 }; - unsigned char param[4]; - const struct alps_model_info *model = NULL; - int i; - - /* - * First try "E6 report". - * ALPS should return 0,0,10 or 0,0,100 if no buttons are pressed. - * The bits 0-2 of the first byte will be 1s if some buttons are - * pressed. - */ - param[0] = 0; - if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11)) - return NULL; - - param[0] = param[1] = param[2] = 0xff; - if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) - return NULL; - - psmouse_dbg(psmouse, "E6 report: %2.2x %2.2x %2.2x", - param[0], param[1], param[2]); - - if ((param[0] & 0xf8) != 0 || param[1] != 0 || - (param[2] != 10 && param[2] != 100)) - return NULL; - - /* - * Now try "E7 report". Allowed responses are in - * alps_model_data[].signature - */ - param[0] = 0; - if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21)) - return NULL; - - param[0] = param[1] = param[2] = 0xff; - if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) - return NULL; - - psmouse_dbg(psmouse, "E7 report: %2.2x %2.2x %2.2x", - param[0], param[1], param[2]); - - if (version) { - for (i = 0; i < ARRAY_SIZE(rates) && param[2] != rates[i]; i++) - /* empty */; - *version = (param[0] << 8) | (param[1] << 4) | i; - } - - for (i = 0; i < ARRAY_SIZE(alps_model_data); i++) { - if (!memcmp(param, alps_model_data[i].signature, - sizeof(alps_model_data[i].signature))) { - model = alps_model_data + i; - break; - } - } - - if (model && model->proto_version > ALPS_PROTO_V2) { - /* - * Need to check command mode response to identify - * model - */ - model = NULL; - if (alps_enter_command_mode(psmouse, param)) { - psmouse_warn(psmouse, - "touchpad failed to enter command mode\n"); - } else { - for (i = 0; i < ARRAY_SIZE(alps_model_data); i++) { - if (alps_model_data[i].proto_version > ALPS_PROTO_V2 && - alps_model_data[i].command_mode_resp == param[0]) { - model = alps_model_data + i; - break; - } - } - alps_exit_command_mode(psmouse); - - if (!model) - psmouse_dbg(psmouse, - "Unknown command mode response %2.2x\n", - param[0]); - } - } - - return model; -} - /* * For DualPoint devices select the device that should respond to * subsequent commands. It looks like glidepad is behind stickpointer, @@ -1139,18 +1089,10 @@ static int alps_get_status(struct psmouse *psmouse, char *param) { - struct ps2dev *ps2dev = &psmouse->ps2dev; - /* Get status: 0xF5 0xF5 0xF5 0xE9 */ - if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE) || - ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) + if (alps_rpt_cmd(psmouse, 0, PSMOUSE_CMD_DISABLE, param)) return -1; - psmouse_dbg(psmouse, "Status: %2.2x %2.2x %2.2x", - param[0], param[1], param[2]); - return 0; } @@ -1192,16 +1134,16 @@ unsigned char buf[sizeof(psmouse->packet)]; bool poll_failed; - if (priv->i->flags & ALPS_PASS) + if (priv->flags & ALPS_PASS) alps_passthrough_mode_v2(psmouse, true); poll_failed = ps2_command(&psmouse->ps2dev, buf, PSMOUSE_CMD_POLL | (psmouse->pktsize << 8)) < 0; - if (priv->i->flags & ALPS_PASS) + if (priv->flags & ALPS_PASS) alps_passthrough_mode_v2(psmouse, false); - if (poll_failed || (buf[0] & priv->i->mask0) != priv->i->byte0) + if (poll_failed || (buf[0] & priv->mask0) != priv->byte0) return -1; if ((psmouse->badbyte & 0xc8) == 0x08) { @@ -1219,9 +1161,8 @@ static int alps_hw_init_v1_v2(struct psmouse *psmouse) { struct alps_data *priv = psmouse->private; - const struct alps_model_info *model = priv->i; - if ((model->flags & ALPS_PASS) && + if ((priv->flags & ALPS_PASS) && alps_passthrough_mode_v2(psmouse, true)) { return -1; } @@ -1236,7 +1177,7 @@ return -1; } - if ((model->flags & ALPS_PASS) && + if ((priv->flags & ALPS_PASS) && alps_passthrough_mode_v2(psmouse, false)) { return -1; } @@ -1251,26 +1192,31 @@ } /* - * Enable or disable passthrough mode to the trackstick. Must be in - * command mode when calling this function. + * Enable or disable passthrough mode to the trackstick. */ -static int alps_passthrough_mode_v3(struct psmouse *psmouse, bool enable) +static int alps_passthrough_mode_v3(struct psmouse *psmouse, + int reg_base, bool enable) { - int reg_val; + int reg_val, ret = -1; - reg_val = alps_command_mode_read_reg(psmouse, 0x0008); - if (reg_val == -1) + if (alps_enter_command_mode(psmouse)) return -1; + reg_val = alps_command_mode_read_reg(psmouse, reg_base + 0x0008); + if (reg_val == -1) + goto error; + if (enable) reg_val |= 0x01; else reg_val &= ~0x01; - if (__alps_command_mode_write_reg(psmouse, reg_val)) - return -1; + ret = __alps_command_mode_write_reg(psmouse, reg_val); - return 0; +error: + if (alps_exit_command_mode(psmouse)) + ret = -1; + return ret; } /* Must be in command mode when calling this function */ @@ -1289,73 +1235,102 @@ return 0; } -static int alps_hw_init_v3(struct psmouse *psmouse) +static int alps_probe_trackstick_v3(struct psmouse *psmouse, int reg_base) { - struct alps_data *priv = psmouse->private; - struct ps2dev *ps2dev = &psmouse->ps2dev; - int reg_val; - unsigned char param[4]; + int ret = -EIO, reg_val; - priv->nibble_commands = alps_v3_nibble_commands; - priv->addr_command = PSMOUSE_CMD_RESET_WRAP; - - if (alps_enter_command_mode(psmouse, NULL)) + if (alps_enter_command_mode(psmouse)) goto error; - /* Check for trackstick */ - reg_val = alps_command_mode_read_reg(psmouse, 0x0008); + reg_val = alps_command_mode_read_reg(psmouse, reg_base + 0x08); if (reg_val == -1) goto error; - if (reg_val & 0x80) { - if (alps_passthrough_mode_v3(psmouse, true)) - goto error; - if (alps_exit_command_mode(psmouse)) - goto error; + + /* bit 7: trackstick is present */ + ret = reg_val & 0x80 ? 0 : -ENODEV; + +error: + alps_exit_command_mode(psmouse); + return ret; +} + +static int alps_setup_trackstick_v3(struct psmouse *psmouse, int reg_base) +{ + struct ps2dev *ps2dev = &psmouse->ps2dev; + int ret = 0; + unsigned char param[4]; + + if (alps_passthrough_mode_v3(psmouse, reg_base, true)) + return -EIO; + + /* + * E7 report for the trackstick + * + * There have been reports of failures to seem to trace back + * to the above trackstick check failing. When these occur + * this E7 report fails, so when that happens we continue + * with the assumption that there isn't a trackstick after + * all. + */ + if (alps_rpt_cmd(psmouse, 0, PSMOUSE_CMD_SETSCALE21, param)) { + psmouse_warn(psmouse, "trackstick E7 report failed\n"); + ret = -ENODEV; + } else { + psmouse_dbg(psmouse, + "trackstick E7 report: %2.2x %2.2x %2.2x\n", + param[0], param[1], param[2]); /* - * E7 report for the trackstick - * - * There have been reports of failures to seem to trace back - * to the above trackstick check failing. When these occur - * this E7 report fails, so when that happens we continue - * with the assumption that there isn't a trackstick after - * all. + * Not sure what this does, but it is absolutely + * essential. Without it, the touchpad does not + * work at all and the trackstick just emits normal + * PS/2 packets. */ - param[0] = 0x64; - if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21) || - ps2_command(ps2dev, param, PSMOUSE_CMD_GETINFO)) { - psmouse_warn(psmouse, "trackstick E7 report failed\n"); - } else { - psmouse_dbg(psmouse, - "trackstick E7 report: %2.2x %2.2x %2.2x\n", - param[0], param[1], param[2]); - - /* - * Not sure what this does, but it is absolutely - * essential. Without it, the touchpad does not - * work at all and the trackstick just emits normal - * PS/2 packets. - */ - if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || - ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || - alps_command_mode_send_nibble(psmouse, 0x9) || - alps_command_mode_send_nibble(psmouse, 0x4)) { - psmouse_err(psmouse, - "Error sending magic E6 sequence\n"); - goto error_passthrough; - } + if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || + ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || + ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE11) || + alps_command_mode_send_nibble(psmouse, 0x9) || + alps_command_mode_send_nibble(psmouse, 0x4)) { + psmouse_err(psmouse, + "Error sending magic E6 sequence\n"); + ret = -EIO; + goto error; } - if (alps_enter_command_mode(psmouse, NULL)) - goto error_passthrough; - if (alps_passthrough_mode_v3(psmouse, false)) - goto error; + /* + * This ensures the trackstick packets are in the format + * supported by this driver. If bit 1 isn't set the packet + * format is different. + */ + if (alps_enter_command_mode(psmouse) || + alps_command_mode_write_reg(psmouse, + reg_base + 0x08, 0x82) || + alps_exit_command_mode(psmouse)) + ret = -EIO; } - if (alps_absolute_mode_v3(psmouse)) { +error: + if (alps_passthrough_mode_v3(psmouse, reg_base, false)) + ret = -EIO; + + return ret; +} + +static int alps_hw_init_v3(struct psmouse *psmouse) +{ + struct ps2dev *ps2dev = &psmouse->ps2dev; + int reg_val; + unsigned char param[4]; + + reg_val = alps_probe_trackstick_v3(psmouse, ALPS_REG_BASE_PINNACLE); + if (reg_val == -EIO) + goto error; + if (reg_val == 0 && + alps_setup_trackstick_v3(psmouse, ALPS_REG_BASE_PINNACLE) == -EIO) + goto error; + + if (alps_enter_command_mode(psmouse) || + alps_absolute_mode_v3(psmouse)) { psmouse_err(psmouse, "Failed to enter absolute mode\n"); goto error; } @@ -1392,14 +1367,6 @@ if (alps_command_mode_write_reg(psmouse, 0x0162, 0x04)) goto error; - /* - * This ensures the trackstick packets are in the format - * supported by this driver. If bit 1 isn't set the packet - * format is different. - */ - if (alps_command_mode_write_reg(psmouse, 0x0008, 0x82)) - goto error; - alps_exit_command_mode(psmouse); /* Set rate and enable data reporting */ @@ -1412,10 +1379,6 @@ return 0; -error_passthrough: - /* Something failed while in passthrough mode, so try to get out */ - if (!alps_enter_command_mode(psmouse, NULL)) - alps_passthrough_mode_v3(psmouse, false); error: /* * Leaving the touchpad in command mode will essentially render @@ -1426,6 +1389,50 @@ return -1; } +static int alps_hw_init_rushmore_v3(struct psmouse *psmouse) +{ + struct alps_data *priv = psmouse->private; + struct ps2dev *ps2dev = &psmouse->ps2dev; + int reg_val, ret = -1; + + if (priv->flags & ALPS_DUALPOINT) { + reg_val = alps_setup_trackstick_v3(psmouse, + ALPS_REG_BASE_RUSHMORE); + if (reg_val == -EIO) + goto error; + if (reg_val == -ENODEV) + priv->flags &= ~ALPS_DUALPOINT; + } + + if (alps_enter_command_mode(psmouse) || + alps_command_mode_read_reg(psmouse, 0xc2d9) == -1 || + alps_command_mode_write_reg(psmouse, 0xc2cb, 0x00)) + goto error; + + reg_val = alps_command_mode_read_reg(psmouse, 0xc2c6); + if (reg_val == -1) + goto error; + if (__alps_command_mode_write_reg(psmouse, reg_val & 0xfd)) + goto error; + + if (alps_command_mode_write_reg(psmouse, 0xc2c9, 0x64)) + goto error; + + /* enter absolute mode */ + reg_val = alps_command_mode_read_reg(psmouse, 0xc2c4); + if (reg_val == -1) + goto error; + if (__alps_command_mode_write_reg(psmouse, reg_val | 0x02)) + goto error; + + alps_exit_command_mode(psmouse); + return ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE); + +error: + alps_exit_command_mode(psmouse); + return ret; +} + /* Must be in command mode when calling this function */ static int alps_absolute_mode_v4(struct psmouse *psmouse) { @@ -1444,14 +1451,10 @@ static int alps_hw_init_v4(struct psmouse *psmouse) { - struct alps_data *priv = psmouse->private; struct ps2dev *ps2dev = &psmouse->ps2dev; unsigned char param[4]; - priv->nibble_commands = alps_v4_nibble_commands; - priv->addr_command = PSMOUSE_CMD_DISABLE; - - if (alps_enter_command_mode(psmouse, NULL)) + if (alps_enter_command_mode(psmouse)) goto error; if (alps_absolute_mode_v4(psmouse)) { @@ -1519,39 +1522,178 @@ return -1; } -static int alps_hw_init(struct psmouse *psmouse) +static int alps_hw_init_dolphin_v1(struct psmouse *psmouse) { - struct alps_data *priv = psmouse->private; - const struct alps_model_info *model = priv->i; - int ret = -1; + struct ps2dev *ps2dev = &psmouse->ps2dev; + unsigned char param[2]; - switch (model->proto_version) { + /* This is dolphin "v1" as empirically defined by florin9doi */ + param[0] = 0x64; + param[1] = 0x28; + + if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSTREAM) || + ps2_command(ps2dev, ¶m[0], PSMOUSE_CMD_SETRATE) || + ps2_command(ps2dev, ¶m[1], PSMOUSE_CMD_SETRATE)) + return -1; + + return 0; +} + +static void alps_set_defaults(struct alps_data *priv) +{ + priv->byte0 = 0x8f; + priv->mask0 = 0x8f; + priv->flags = ALPS_DUALPOINT; + + priv->x_max = 2000; + priv->y_max = 1400; + priv->x_bits = 15; + priv->y_bits = 11; + + switch (priv->proto_version) { case ALPS_PROTO_V1: case ALPS_PROTO_V2: - ret = alps_hw_init_v1_v2(psmouse); + priv->hw_init = alps_hw_init_v1_v2; + priv->process_packet = alps_process_packet_v1_v2; + priv->set_abs_params = alps_set_abs_params_st; break; case ALPS_PROTO_V3: - ret = alps_hw_init_v3(psmouse); + priv->hw_init = alps_hw_init_v3; + priv->process_packet = alps_process_packet_v3; + priv->set_abs_params = alps_set_abs_params_mt; + priv->decode_fields = alps_decode_pinnacle; + priv->nibble_commands = alps_v3_nibble_commands; + priv->addr_command = PSMOUSE_CMD_RESET_WRAP; break; case ALPS_PROTO_V4: - ret = alps_hw_init_v4(psmouse); + priv->hw_init = alps_hw_init_v4; + priv->process_packet = alps_process_packet_v4; + priv->set_abs_params = alps_set_abs_params_mt; + priv->nibble_commands = alps_v4_nibble_commands; + priv->addr_command = PSMOUSE_CMD_DISABLE; + break; + case ALPS_PROTO_V5: + priv->hw_init = alps_hw_init_dolphin_v1; + priv->process_packet = alps_process_packet_v3; + priv->decode_fields = alps_decode_dolphin; + priv->set_abs_params = alps_set_abs_params_mt; + priv->nibble_commands = alps_v3_nibble_commands; + priv->addr_command = PSMOUSE_CMD_RESET_WRAP; + priv->byte0 = 0xc8; + priv->mask0 = 0xc8; + priv->flags = 0; + priv->x_max = 1360; + priv->y_max = 660; + priv->x_bits = 23; + priv->y_bits = 12; break; } +} - return ret; +static int alps_match_table(struct psmouse *psmouse, struct alps_data *priv, + unsigned char *e7, unsigned char *ec) +{ + const struct alps_model_info *model; + int i; + + for (i = 0; i < ARRAY_SIZE(alps_model_data); i++) { + model = &alps_model_data[i]; + + if (!memcmp(e7, model->signature, sizeof(model->signature)) && + (!model->command_mode_resp || + model->command_mode_resp == ec[2])) { + + priv->proto_version = model->proto_version; + alps_set_defaults(priv); + + priv->flags = model->flags; + priv->byte0 = model->byte0; + priv->mask0 = model->mask0; + + return 0; + } + } + + return -EINVAL; +} + +static int alps_identify(struct psmouse *psmouse, struct alps_data *priv) +{ + unsigned char e6[4], e7[4], ec[4]; + + /* + * First try "E6 report". + * ALPS should return 0,0,10 or 0,0,100 if no buttons are pressed. + * The bits 0-2 of the first byte will be 1s if some buttons are + * pressed. + */ + if (alps_rpt_cmd(psmouse, PSMOUSE_CMD_SETRES, + PSMOUSE_CMD_SETSCALE11, e6)) + return -EIO; + + if ((e6[0] & 0xf8) != 0 || e6[1] != 0 || (e6[2] != 10 && e6[2] != 100)) + return -EINVAL; + + /* + * Now get the "E7" and "EC" reports. These will uniquely identify + * most ALPS touchpads. + */ + if (alps_rpt_cmd(psmouse, PSMOUSE_CMD_SETRES, + PSMOUSE_CMD_SETSCALE21, e7) || + alps_rpt_cmd(psmouse, PSMOUSE_CMD_SETRES, + PSMOUSE_CMD_RESET_WRAP, ec) || + alps_exit_command_mode(psmouse)) + return -EIO; + + if (alps_match_table(psmouse, priv, e7, ec) == 0) { + return 0; + } else if (e7[0] == 0x73 && e7[1] == 0x03 && e7[2] == 0x50 && + ec[0] == 0x73 && ec[1] == 0x01) { + priv->proto_version = ALPS_PROTO_V5; + alps_set_defaults(priv); + + return 0; + } else if (ec[0] == 0x88 && ec[1] == 0x08) { + priv->proto_version = ALPS_PROTO_V3; + alps_set_defaults(priv); + + priv->hw_init = alps_hw_init_rushmore_v3; + priv->decode_fields = alps_decode_rushmore; + priv->x_bits = 16; + priv->y_bits = 12; + + /* hack to make addr_command, nibble_command available */ + psmouse->private = priv; + + if (alps_probe_trackstick_v3(psmouse, ALPS_REG_BASE_RUSHMORE)) + priv->flags &= ~ALPS_DUALPOINT; + + return 0; + } else if (ec[0] == 0x88 && ec[1] == 0x07 && + ec[2] >= 0x90 && ec[2] <= 0x9d) { + priv->proto_version = ALPS_PROTO_V3; + alps_set_defaults(priv); + + return 0; + } + + psmouse_info(psmouse, + "Unknown ALPS touchpad: E7=%2.2x %2.2x %2.2x, EC=%2.2x %2.2x %2.2x\n", + e7[0], e7[1], e7[2], ec[0], ec[1], ec[2]); + + return -EINVAL; } static int alps_reconnect(struct psmouse *psmouse) { - const struct alps_model_info *model; + struct alps_data *priv = psmouse->private; psmouse_reset(psmouse); - model = alps_get_model(psmouse, NULL); - if (!model) + if (alps_identify(psmouse, priv) < 0) return -1; - return alps_hw_init(psmouse); + return priv->hw_init(psmouse); } static void alps_disconnect(struct psmouse *psmouse) @@ -1564,12 +1706,33 @@ kfree(priv); } +static void alps_set_abs_params_st(struct alps_data *priv, + struct input_dev *dev1) +{ + input_set_abs_params(dev1, ABS_X, 0, 1023, 0, 0); + input_set_abs_params(dev1, ABS_Y, 0, 767, 0, 0); +} + +static void alps_set_abs_params_mt(struct alps_data *priv, + struct input_dev *dev1) +{ + set_bit(INPUT_PROP_SEMI_MT, dev1->propbit); + input_mt_init_slots(dev1, 2); + input_set_abs_params(dev1, ABS_MT_POSITION_X, 0, priv->x_max, 0, 0); + input_set_abs_params(dev1, ABS_MT_POSITION_Y, 0, priv->y_max, 0, 0); + + set_bit(BTN_TOOL_DOUBLETAP, dev1->keybit); + set_bit(BTN_TOOL_TRIPLETAP, dev1->keybit); + set_bit(BTN_TOOL_QUADTAP, dev1->keybit); + + input_set_abs_params(dev1, ABS_X, 0, priv->x_max, 0, 0); + input_set_abs_params(dev1, ABS_Y, 0, priv->y_max, 0, 0); +} + int alps_init(struct psmouse *psmouse) { struct alps_data *priv; - const struct alps_model_info *model; struct input_dev *dev1 = psmouse->dev, *dev2; - int version; priv = kzalloc(sizeof(struct alps_data), GFP_KERNEL); dev2 = input_allocate_device(); @@ -1583,13 +1746,10 @@ psmouse_reset(psmouse); - model = alps_get_model(psmouse, &version); - if (!model) + if (alps_identify(psmouse, priv) < 0) goto init_fail; - priv->i = model; - - if (alps_hw_init(psmouse)) + if (priv->hw_init(psmouse)) goto init_fail; /* @@ -1611,41 +1771,20 @@ dev1->evbit[BIT_WORD(EV_ABS)] |= BIT_MASK(EV_ABS); - switch (model->proto_version) { - case ALPS_PROTO_V1: - case ALPS_PROTO_V2: - input_set_abs_params(dev1, ABS_X, 0, 1023, 0, 0); - input_set_abs_params(dev1, ABS_Y, 0, 767, 0, 0); - break; - case ALPS_PROTO_V3: - case ALPS_PROTO_V4: - set_bit(INPUT_PROP_SEMI_MT, dev1->propbit); - input_mt_init_slots(dev1, 2); - input_set_abs_params(dev1, ABS_MT_POSITION_X, 0, ALPS_V3_X_MAX, 0, 0); - input_set_abs_params(dev1, ABS_MT_POSITION_Y, 0, ALPS_V3_Y_MAX, 0, 0); - - set_bit(BTN_TOOL_DOUBLETAP, dev1->keybit); - set_bit(BTN_TOOL_TRIPLETAP, dev1->keybit); - set_bit(BTN_TOOL_QUADTAP, dev1->keybit); - - input_set_abs_params(dev1, ABS_X, 0, ALPS_V3_X_MAX, 0, 0); - input_set_abs_params(dev1, ABS_Y, 0, ALPS_V3_Y_MAX, 0, 0); - break; - } - + priv->set_abs_params(priv, dev1); input_set_abs_params(dev1, ABS_PRESSURE, 0, 127, 0, 0); - if (model->flags & ALPS_WHEEL) { + if (priv->flags & ALPS_WHEEL) { dev1->evbit[BIT_WORD(EV_REL)] |= BIT_MASK(EV_REL); dev1->relbit[BIT_WORD(REL_WHEEL)] |= BIT_MASK(REL_WHEEL); } - if (model->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { + if (priv->flags & (ALPS_FW_BK_1 | ALPS_FW_BK_2)) { dev1->keybit[BIT_WORD(BTN_FORWARD)] |= BIT_MASK(BTN_FORWARD); dev1->keybit[BIT_WORD(BTN_BACK)] |= BIT_MASK(BTN_BACK); } - if (model->flags & ALPS_FOUR_BUTTONS) { + if (priv->flags & ALPS_FOUR_BUTTONS) { dev1->keybit[BIT_WORD(BTN_0)] |= BIT_MASK(BTN_0); dev1->keybit[BIT_WORD(BTN_1)] |= BIT_MASK(BTN_1); dev1->keybit[BIT_WORD(BTN_2)] |= BIT_MASK(BTN_2); @@ -1656,7 +1795,8 @@ snprintf(priv->phys, sizeof(priv->phys), "%s/input1", psmouse->ps2dev.serio->phys); dev2->phys = priv->phys; - dev2->name = (model->flags & ALPS_DUALPOINT) ? "DualPoint Stick" : "PS/2 Mouse"; + dev2->name = (priv->flags & ALPS_DUALPOINT) ? + "DualPoint Stick" : "PS/2 Mouse"; dev2->id.bustype = BUS_I8042; dev2->id.vendor = 0x0002; dev2->id.product = PSMOUSE_ALPS; @@ -1675,7 +1815,7 @@ psmouse->poll = alps_poll; psmouse->disconnect = alps_disconnect; psmouse->reconnect = alps_reconnect; - psmouse->pktsize = model->proto_version == ALPS_PROTO_V4 ? 8 : 6; + psmouse->pktsize = priv->proto_version == ALPS_PROTO_V4 ? 8 : 6; /* We are having trouble resyncing ALPS touchpads so disable it for now */ psmouse->resync_time = 0; @@ -1692,18 +1832,16 @@ int alps_detect(struct psmouse *psmouse, bool set_properties) { - int version; - const struct alps_model_info *model; + struct alps_data dummy; - model = alps_get_model(psmouse, &version); - if (!model) + if (alps_identify(psmouse, &dummy) < 0) return -1; if (set_properties) { psmouse->vendor = "ALPS"; - psmouse->name = model->flags & ALPS_DUALPOINT ? + psmouse->name = dummy.flags & ALPS_DUALPOINT ? "DualPoint TouchPad" : "GlidePoint"; - psmouse->model = version; + psmouse->model = dummy.proto_version << 8; } return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/input/mouse/psmouse.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/input/mouse/alps.h +++ linux-lts-quantal-3.5.0/drivers/input/mouse/alps.h @@ -12,35 +12,147 @@ #ifndef _ALPS_H #define _ALPS_H -#define ALPS_PROTO_V1 0 -#define ALPS_PROTO_V2 1 -#define ALPS_PROTO_V3 2 -#define ALPS_PROTO_V4 3 +#define ALPS_PROTO_V1 1 +#define ALPS_PROTO_V2 2 +#define ALPS_PROTO_V3 3 +#define ALPS_PROTO_V4 4 +#define ALPS_PROTO_V5 5 +/** + * struct alps_model_info - touchpad ID table + * @signature: E7 response string to match. + * @command_mode_resp: For V3/V4 touchpads, the final byte of the EC response + * (aka command mode response) identifies the firmware minor version. This + * can be used to distinguish different hardware models which are not + * uniquely identifiable through their E7 responses. + * @proto_version: Indicates V1/V2/V3/... + * @byte0: Helps figure out whether a position report packet matches the + * known format for this model. The first byte of the report, ANDed with + * mask0, should match byte0. + * @mask0: The mask used to check the first byte of the report. + * @flags: Additional device capabilities (passthrough port, trackstick, etc.). + * + * Many (but not all) ALPS touchpads can be identified by looking at the + * values returned in the "E7 report" and/or the "EC report." This table + * lists a number of such touchpads. + */ struct alps_model_info { - unsigned char signature[3]; - unsigned char command_mode_resp; /* v3/v4 only */ + unsigned char signature[3]; + unsigned char command_mode_resp; unsigned char proto_version; - unsigned char byte0, mask0; - unsigned char flags; + unsigned char byte0, mask0; + unsigned char flags; }; +/** + * struct alps_nibble_commands - encodings for register accesses + * @command: PS/2 command used for the nibble + * @data: Data supplied as an argument to the PS/2 command, if applicable + * + * The ALPS protocol uses magic sequences to transmit binary data to the + * touchpad, as it is generally not OK to send arbitrary bytes out the + * PS/2 port. Each of the sequences in this table sends one nibble of the + * register address or (write) data. Different versions of the ALPS protocol + * use slightly different encodings. + */ struct alps_nibble_commands { int command; unsigned char data; }; +/** + * struct alps_fields - decoded version of the report packet + * @x_map: Bitmap of active X positions for MT. + * @y_map: Bitmap of active Y positions for MT. + * @fingers: Number of fingers for MT. + * @x: X position for ST. + * @y: Y position for ST. + * @z: Z position for ST. + * @first_mp: Packet is the first of a multi-packet report. + * @is_mp: Packet is part of a multi-packet report. + * @left: Left touchpad button is active. + * @right: Right touchpad button is active. + * @middle: Middle touchpad button is active. + * @ts_left: Left trackstick button is active. + * @ts_right: Right trackstick button is active. + * @ts_middle: Middle trackstick button is active. + */ +struct alps_fields { + unsigned int x_map; + unsigned int y_map; + unsigned int fingers; + unsigned int x; + unsigned int y; + unsigned int z; + unsigned int first_mp:1; + unsigned int is_mp:1; + + unsigned int left:1; + unsigned int right:1; + unsigned int middle:1; + + unsigned int ts_left:1; + unsigned int ts_right:1; + unsigned int ts_middle:1; +}; + +/** + * struct alps_data - private data structure for the ALPS driver + * @dev2: "Relative" device used to report trackstick or mouse activity. + * @phys: Physical path for the relative device. + * @nibble_commands: Command mapping used for touchpad register accesses. + * @addr_command: Command used to tell the touchpad that a register address + * follows. + * @proto_version: Indicates V1/V2/V3/... + * @byte0: Helps figure out whether a position report packet matches the + * known format for this model. The first byte of the report, ANDed with + * mask0, should match byte0. + * @mask0: The mask used to check the first byte of the report. + * @flags: Additional device capabilities (passthrough port, trackstick, etc.). + * @x_max: Largest possible X position value. + * @y_max: Largest possible Y position value. + * @x_bits: Number of X bits in the MT bitmap. + * @y_bits: Number of Y bits in the MT bitmap. + * @hw_init: Protocol-specific hardware init function. + * @process_packet: Protocol-specific function to process a report packet. + * @decode_fields: Protocol-specific function to read packet bitfields. + * @set_abs_params: Protocol-specific function to configure the input_dev. + * @prev_fin: Finger bit from previous packet. + * @multi_packet: Multi-packet data in progress. + * @multi_data: Saved multi-packet data. + * @x1: First X coordinate from last MT report. + * @x2: Second X coordinate from last MT report. + * @y1: First Y coordinate from last MT report. + * @y2: Second Y coordinate from last MT report. + * @fingers: Number of fingers from last MT report. + * @quirks: Bitmap of ALPS_QUIRK_*. + * @timer: Timer for flushing out the final report packet in the stream. + */ struct alps_data { - struct input_dev *dev2; /* Relative device */ - char phys[32]; /* Phys */ - const struct alps_model_info *i;/* Info */ + struct input_dev *dev2; + char phys[32]; + + /* these are autodetected when the device is identified */ const struct alps_nibble_commands *nibble_commands; - int addr_command; /* Command to set register address */ - int prev_fin; /* Finger bit from previous packet */ - int multi_packet; /* Multi-packet data in progress */ - unsigned char multi_data[6]; /* Saved multi-packet data */ - int x1, x2, y1, y2; /* Coordinates from last MT report */ - int fingers; /* Number of fingers from MT report */ + int addr_command; + unsigned char proto_version; + unsigned char byte0, mask0; + unsigned char flags; + int x_max; + int y_max; + int x_bits; + int y_bits; + + int (*hw_init)(struct psmouse *psmouse); + void (*process_packet)(struct psmouse *psmouse); + void (*decode_fields)(struct alps_fields *f, unsigned char *p); + void (*set_abs_params)(struct alps_data *priv, struct input_dev *dev1); + + int prev_fin; + int multi_packet; + unsigned char multi_data[6]; + int x1, x2, y1, y2; + int fingers; u8 quirks; struct timer_list timer; }; --- linux-lts-quantal-3.5.0.orig/drivers/infiniband/ulp/srpt/ib_srpt.c +++ linux-lts-quantal-3.5.0/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -1609,7 +1609,7 @@ int resp_data_len; int resp_len; - resp_data_len = (rsp_code == SRP_TSK_MGMT_SUCCESS) ? 0 : 4; + resp_data_len = 4; resp_len = sizeof(*srp_rsp) + resp_data_len; srp_rsp = ioctx->ioctx.buf; @@ -1621,11 +1621,9 @@ + atomic_xchg(&ch->req_lim_delta, 0)); srp_rsp->tag = tag; - if (rsp_code != SRP_TSK_MGMT_SUCCESS) { - srp_rsp->flags |= SRP_RSP_FLAG_RSPVALID; - srp_rsp->resp_data_len = cpu_to_be32(resp_data_len); - srp_rsp->data[3] = rsp_code; - } + srp_rsp->flags |= SRP_RSP_FLAG_RSPVALID; + srp_rsp->resp_data_len = cpu_to_be32(resp_data_len); + srp_rsp->data[3] = rsp_code; return resp_len; } @@ -2372,6 +2370,8 @@ transport_deregister_session(ch->sess); ch->sess = NULL; + ib_destroy_cm_id(ch->cm_id); + srpt_destroy_ch_ib(ch); srpt_free_ioctx_ring((struct srpt_ioctx **)ch->ioctx_ring, @@ -2382,8 +2382,6 @@ list_del(&ch->list); spin_unlock_irq(&sdev->spinlock); - ib_destroy_cm_id(ch->cm_id); - if (ch->release_done) complete(ch->release_done); --- linux-lts-quantal-3.5.0.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ linux-lts-quantal-3.5.0/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -755,9 +755,13 @@ if (++priv->tx_outstanding == ipoib_sendq_size) { ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", tx->qp->qp_num); - if (ib_req_notify_cq(priv->send_cq, IB_CQ_NEXT_COMP)) - ipoib_warn(priv, "request notify on send CQ failed\n"); netif_stop_queue(dev); + rc = ib_req_notify_cq(priv->send_cq, + IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS); + if (rc < 0) + ipoib_warn(priv, "request notify on send CQ failed\n"); + else if (rc) + ipoib_send_comp_handler(priv->send_cq, dev); } } } --- linux-lts-quantal-3.5.0.orig/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/infiniband/ulp/srp/ib_srp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/infiniband/core/cma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/infiniband/core/netlink.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/infiniband/hw/nes/nes.h +++ linux-lts-quantal-3.5.0/drivers/infiniband/hw/nes/nes.h @@ -524,6 +524,7 @@ int nes_destroy_cqp(struct nes_device *); int nes_nic_cm_xmit(struct sk_buff *, struct net_device *); void nes_recheck_link_status(struct work_struct *work); +void nes_terminate_timeout(unsigned long context); /* nes_nic.c */ struct net_device *nes_netdev_init(struct nes_device *, void __iomem *); --- linux-lts-quantal-3.5.0.orig/drivers/infiniband/hw/nes/nes_verbs.c +++ linux-lts-quantal-3.5.0/drivers/infiniband/hw/nes/nes_verbs.c @@ -1404,6 +1404,9 @@ } nesqp->sig_all = (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR); + init_timer(&nesqp->terminate_timer); + nesqp->terminate_timer.function = nes_terminate_timeout; + nesqp->terminate_timer.data = (unsigned long)nesqp; /* update the QP table */ nesdev->nesadapter->qp_table[nesqp->hwqp.qp_id-NES_FIRST_QPN] = nesqp; @@ -1413,7 +1416,6 @@ return &nesqp->ibqp; } - /** * nes_clean_cq */ @@ -2559,6 +2561,11 @@ return ibmr; case IWNES_MEMREG_TYPE_QP: case IWNES_MEMREG_TYPE_CQ: + if (!region->length) { + nes_debug(NES_DBG_MR, "Unable to register zero length region for CQ\n"); + ib_umem_release(region); + return ERR_PTR(-EINVAL); + } nespbl = kzalloc(sizeof(*nespbl), GFP_KERNEL); if (!nespbl) { nes_debug(NES_DBG_MR, "Unable to allocate PBL\n"); --- linux-lts-quantal-3.5.0.orig/drivers/infiniband/hw/nes/nes_hw.c +++ linux-lts-quantal-3.5.0/drivers/infiniband/hw/nes/nes_hw.c @@ -75,7 +75,6 @@ static void process_critical_error(struct nes_device *nesdev); static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number); static unsigned int nes_reset_adapter_ne020(struct nes_device *nesdev, u8 *OneG_Mode); -static void nes_terminate_timeout(unsigned long context); static void nes_terminate_start_timer(struct nes_qp *nesqp); #ifdef CONFIG_INFINIBAND_NES_DEBUG @@ -3522,7 +3521,7 @@ } /* Timeout routine in case terminate fails to complete */ -static void nes_terminate_timeout(unsigned long context) +void nes_terminate_timeout(unsigned long context) { struct nes_qp *nesqp = (struct nes_qp *)(unsigned long)context; @@ -3532,11 +3531,7 @@ /* Set a timer in case hw cannot complete the terminate sequence */ static void nes_terminate_start_timer(struct nes_qp *nesqp) { - init_timer(&nesqp->terminate_timer); - nesqp->terminate_timer.function = nes_terminate_timeout; - nesqp->terminate_timer.expires = jiffies + HZ; - nesqp->terminate_timer.data = (unsigned long)nesqp; - add_timer(&nesqp->terminate_timer); + mod_timer(&nesqp->terminate_timer, (jiffies + HZ)); } /** --- linux-lts-quantal-3.5.0.orig/drivers/tty/tty_io.c +++ linux-lts-quantal-3.5.0/drivers/tty/tty_io.c @@ -939,6 +939,14 @@ EXPORT_SYMBOL(start_tty); +/* We limit tty time update visibility to every 8 seconds or so. */ +static void tty_update_time(struct timespec *time) +{ + unsigned long sec = get_seconds() & ~7; + if ((long)(sec - time->tv_sec) > 0) + time->tv_sec = sec; +} + /** * tty_read - read method for tty device files * @file: pointer to tty file @@ -975,8 +983,10 @@ else i = -EIO; tty_ldisc_deref(ld); + if (i > 0) - inode->i_atime = current_fs_time(inode->i_sb); + tty_update_time(&inode->i_atime); + return i; } @@ -1079,7 +1089,7 @@ } if (written) { struct inode *inode = file->f_path.dentry->d_inode; - inode->i_mtime = current_fs_time(inode->i_sb); + tty_update_time(&inode->i_mtime); ret = written; } out: --- linux-lts-quantal-3.5.0.orig/drivers/tty/n_gsm.c +++ linux-lts-quantal-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 */ @@ -1682,6 +1692,8 @@ kref_put(&dlci->ref, gsm_dlci_free); } +static void gsm_destroy_network(struct gsm_dlci *dlci); + /** * gsm_dlci_release - release DLCI * @dlci: DLCI to destroy @@ -1695,9 +1707,19 @@ { struct tty_struct *tty = tty_port_tty_get(&dlci->port); if (tty) { + mutex_lock(&dlci->mutex); + gsm_destroy_network(dlci); + mutex_unlock(&dlci->mutex); + + /* tty_vhangup needs the tty_lock, so unlock and + relock after doing the hangup. */ + tty_unlock(); tty_vhangup(tty); + tty_lock(); + tty_port_tty_set(&dlci->port, NULL); tty_kref_put(tty); } + dlci->state = DLCI_CLOSED; dlci_put(dlci); } @@ -2377,12 +2399,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 +2911,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); @@ -2919,6 +2945,8 @@ if (dlci == NULL) return; + if (dlci->state == DLCI_CLOSED) + return; mutex_lock(&dlci->mutex); gsm_destroy_network(dlci); mutex_unlock(&dlci->mutex); @@ -2937,6 +2965,8 @@ static void gsmtty_hangup(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return; tty_port_hangup(&dlci->port); gsm_dlci_begin_close(dlci); } @@ -2944,9 +2974,12 @@ static int gsmtty_write(struct tty_struct *tty, const unsigned char *buf, int len) { + int sent; struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return -EINVAL; /* Stuff the bytes into the fifo queue */ - int sent = kfifo_in_locked(dlci->fifo, buf, len, &dlci->lock); + sent = kfifo_in_locked(dlci->fifo, buf, len, &dlci->lock); /* Need to kick the channel */ gsm_dlci_data_kick(dlci); return sent; @@ -2955,18 +2988,24 @@ static int gsmtty_write_room(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return -EINVAL; return TX_SIZE - kfifo_len(dlci->fifo); } static int gsmtty_chars_in_buffer(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return -EINVAL; return kfifo_len(dlci->fifo); } static void gsmtty_flush_buffer(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return; /* Caution needed: If we implement reliable transport classes then the data being transmitted can't simply be junked once it has first hit the stack. Until then we can just blow it @@ -2985,6 +3024,8 @@ static int gsmtty_tiocmget(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return -EINVAL; return dlci->modem_rx; } @@ -2994,6 +3035,8 @@ struct gsm_dlci *dlci = tty->driver_data; unsigned int modem_tx = dlci->modem_tx; + if (dlci->state == DLCI_CLOSED) + return -EINVAL; modem_tx &= ~clear; modem_tx |= set; @@ -3012,6 +3055,8 @@ struct gsm_netconfig nc; int index; + if (dlci->state == DLCI_CLOSED) + return -EINVAL; switch (cmd) { case GSMIOC_ENABLE_NET: if (copy_from_user(&nc, (void __user *)arg, sizeof(nc))) @@ -3038,6 +3083,9 @@ static void gsmtty_set_termios(struct tty_struct *tty, struct ktermios *old) { + struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return; /* For the moment its fixed. In actual fact the speed information for the virtual channel can be propogated in both directions by the RPN control message. This however rapidly gets nasty as we @@ -3049,6 +3097,8 @@ static void gsmtty_throttle(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return; if (tty->termios->c_cflag & CRTSCTS) dlci->modem_tx &= ~TIOCM_DTR; dlci->throttled = 1; @@ -3059,6 +3109,8 @@ static void gsmtty_unthrottle(struct tty_struct *tty) { struct gsm_dlci *dlci = tty->driver_data; + if (dlci->state == DLCI_CLOSED) + return; if (tty->termios->c_cflag & CRTSCTS) dlci->modem_tx |= TIOCM_DTR; dlci->throttled = 0; @@ -3070,6 +3122,8 @@ { struct gsm_dlci *dlci = tty->driver_data; int encode = 0; /* Off */ + if (dlci->state == DLCI_CLOSED) + return -EINVAL; if (state == -1) /* "On indefinitely" - we can't encode this properly */ --- linux-lts-quantal-3.5.0.orig/drivers/tty/pty.c +++ linux-lts-quantal-3.5.0/drivers/tty/pty.c @@ -49,7 +49,6 @@ tty->packet = 0; if (!tty->link) return; - tty->link->packet = 0; set_bit(TTY_OTHER_CLOSED, &tty->link->flags); wake_up_interruptible(&tty->link->read_wait); wake_up_interruptible(&tty->link->write_wait); @@ -617,6 +616,9 @@ nonseekable_open(inode, filp); + /* We refuse fsnotify events on ptmx, since it's a shared resource */ + filp->f_mode |= FMODE_NONOTIFY; + retval = tty_alloc_file(filp); if (retval) return retval; --- linux-lts-quantal-3.5.0.orig/drivers/tty/n_tty.c +++ linux-lts-quantal-3.5.0/drivers/tty/n_tty.c @@ -101,9 +101,16 @@ * pending newlines, let characters through without limit, so * that erase characters will be handled. Other excess * characters will be beeped. + * If there is no reader waiting for the input, block instead of + * letting the characters through. */ if (left <= 0) - left = tty->icanon && !tty->canon_data; + if (waitqueue_active(&tty->read_wait)) { + left = tty->icanon && !tty->canon_data; + } else { + left = 0; + } + old_left = tty->receive_room; tty->receive_room = left; @@ -1529,6 +1536,14 @@ tty->real_raw = 0; } n_tty_set_room(tty); + /* + * Fix tty hang when I_IXON(tty) is cleared, but the tty + * been stopped by STOP_CHAR(tty) before it. + */ + if (!I_IXON(tty) && old && (old->c_iflag & IXON) && !tty->flow_stopped) { + start_tty(tty); + } + /* The termios change make the tty ready for I/O */ wake_up_interruptible(&tty->write_wait); wake_up_interruptible(&tty->read_wait); @@ -1728,7 +1743,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-lts-quantal-3.5.0.orig/drivers/tty/tty_ioctl.c +++ linux-lts-quantal-3.5.0/drivers/tty/tty_ioctl.c @@ -617,7 +617,7 @@ if (opt & TERMIOS_WAIT) { tty_wait_until_sent(tty, 0); if (signal_pending(current)) - return -EINTR; + return -ERESTARTSYS; } tty_set_termios(tty, &tmp_termios); @@ -684,7 +684,7 @@ if (opt & TERMIOS_WAIT) { tty_wait_until_sent(tty, 0); if (signal_pending(current)) - return -EINTR; + return -ERESTARTSYS; } mutex_lock(&tty->termios_mutex); --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/Kconfig +++ linux-lts-quantal-3.5.0/drivers/tty/serial/Kconfig @@ -197,7 +197,7 @@ config SERIAL_SAMSUNG_UARTS int depends on ARM && PLAT_SAMSUNG - default 6 if ARCH_S5P6450 + default 6 if CPU_S5P6450 default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416 default 3 help --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/atmel_serial.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/atmel_serial.c @@ -159,7 +159,7 @@ }; static struct atmel_uart_port atmel_ports[ATMEL_MAX_UART]; -static unsigned long atmel_ports_in_use; +static DECLARE_BITMAP(atmel_ports_in_use, ATMEL_MAX_UART); #ifdef SUPPORT_SYSRQ static struct console atmel_console; @@ -1785,15 +1785,14 @@ if (ret < 0) /* port id not found in platform data nor device-tree aliases: * auto-enumerate it */ - ret = find_first_zero_bit(&atmel_ports_in_use, - sizeof(atmel_ports_in_use)); + ret = find_first_zero_bit(atmel_ports_in_use, ATMEL_MAX_UART); - if (ret > ATMEL_MAX_UART) { + if (ret >= ATMEL_MAX_UART) { ret = -ENODEV; goto err; } - if (test_and_set_bit(ret, &atmel_ports_in_use)) { + if (test_and_set_bit(ret, atmel_ports_in_use)) { /* port already in use */ ret = -EBUSY; goto err; @@ -1867,7 +1866,7 @@ /* "port" is allocated statically, so we shouldn't free it */ - clear_bit(port->line, &atmel_ports_in_use); + clear_bit(port->line, atmel_ports_in_use); clk_put(atmel_port->clk); --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/pch_uart.c +++ linux-lts-quantal-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; }; /** @@ -640,11 +643,12 @@ dev_warn(port->dev, "Rx overrun: dropping %u bytes\n", size - room); if (!room) - return room; + goto out; tty_insert_flip_string(tty, sg_virt(&priv->sg_rx), size); port->icount.rx += room; +out: tty_kref_put(tty); return room; @@ -754,7 +758,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 +814,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; @@ -1029,22 +1035,39 @@ static void pch_uart_err_ir(struct eg20t_port *priv, unsigned int lsr) { u8 fcr = ioread8(priv->membase + UART_FCR); + struct uart_port *port = &priv->port; + struct tty_struct *tty = tty_port_tty_get(&port->state->port); + char *error_msg[5] = {}; + int i = 0; /* Reset FIFO */ fcr |= UART_FCR_CLEAR_RCVR; iowrite8(fcr, priv->membase + UART_FCR); if (lsr & PCH_UART_LSR_ERR) - dev_err(&priv->pdev->dev, "Error data in FIFO\n"); + error_msg[i++] = "Error data in FIFO\n"; + + if (lsr & UART_LSR_FE) { + port->icount.frame++; + error_msg[i++] = " Framing Error\n"; + } - if (lsr & UART_LSR_FE) - dev_err(&priv->pdev->dev, "Framing Error\n"); + if (lsr & UART_LSR_PE) { + port->icount.parity++; + error_msg[i++] = " Parity Error\n"; + } - if (lsr & UART_LSR_PE) - dev_err(&priv->pdev->dev, "Parity Error\n"); + if (lsr & UART_LSR_OE) { + port->icount.overrun++; + error_msg[i++] = " Overrun Error\n"; + } - if (lsr & UART_LSR_OE) - dev_err(&priv->pdev->dev, "Overrun Error\n"); + if (tty == NULL) { + for (i = 0; error_msg[i] != NULL; i++) + dev_err(&priv->pdev->dev, error_msg[i]); + } else { + tty_kref_put(tty); + } } static irqreturn_t pch_uart_interrupt(int irq, void *dev_id) @@ -1058,7 +1081,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 +1101,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 +1141,7 @@ handled |= (unsigned int)ret; } - spin_unlock_irqrestore(&priv->port.lock, flags); + spin_unlock_irqrestore(&priv->lock, flags); return IRQ_RETVAL(handled); } @@ -1208,7 +1233,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 +1252,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 +1289,7 @@ break; case 16: fifo_size = PCH_UART_HAL_FIFO16; + break; case 1: default: fifo_size = PCH_UART_HAL_FIFO_DIS; @@ -1300,7 +1327,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 +1386,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 +1404,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 +1418,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 +1568,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 +1578,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 +1605,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 +1706,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-lts-quantal-3.5.0.orig/drivers/tty/serial/of_serial.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/of_serial.c @@ -208,6 +208,12 @@ { .compatible = "ns16750", .data = (void *)PORT_16750, }, { .compatible = "ns16850", .data = (void *)PORT_16850, }, { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, }, + { .compatible = "altr,16550-FIFO32", + .data = (void *)PORT_ALTR_16550_F32, }, + { .compatible = "altr,16550-FIFO64", + .data = (void *)PORT_ALTR_16550_F64, }, + { .compatible = "altr,16550-FIFO128", + .data = (void *)PORT_ALTR_16550_F128, }, #ifdef CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL { .compatible = "ibm,qpace-nwp-serial", .data = (void *)PORT_NWPSERIAL, }, --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/imx.c +++ linux-lts-quantal-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,15 @@ struct imx_port *sport = imx_ports[co->index]; struct imx_port_ucrs old_ucr; unsigned int ucr1; + unsigned long flags; + int locked = 1; + + if (sport->port.sysrq) + locked = 0; + else if (oops_in_progress) + locked = spin_trylock_irqsave(&sport->port.lock, flags); + else + spin_lock_irqsave(&sport->port.lock, flags); /* * First, save UCR1/2/3 and then disable interrupts @@ -1246,6 +1250,9 @@ while (!(readl(sport->port.membase + USR2) & USR2_TXDC)); imx_port_ucrs_restore(&sport->port, &old_ucr); + + if (locked) + spin_unlock_irqrestore(&sport->port.lock, flags); } /* --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/ifx6x60.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/ifx6x60.c @@ -552,6 +552,7 @@ container_of(port, struct ifx_spi_device, tty_port); mrdy_set_low(ifx_dev); + del_timer(&ifx_dev->spi_timer); clear_bit(IFX_SPI_STATE_TIMER_PENDING, &ifx_dev->flags); tasklet_kill(&ifx_dev->io_work_tasklet); } --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/serial_core.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/serial_core.c @@ -1877,6 +1877,8 @@ mutex_unlock(&port->mutex); return 0; } + put_device(tty_dev); + if (console_suspend_enabled || !uart_console(uport)) uport->suspended = 1; @@ -1942,9 +1944,11 @@ disable_irq_wake(uport->irq); uport->irq_wake = 0; } + put_device(tty_dev); mutex_unlock(&port->mutex); return 0; } + put_device(tty_dev); uport->suspended = 0; /* --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/sunsu.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/sunsu.c @@ -968,6 +968,7 @@ #define UART_NR 4 static struct uart_sunsu_port sunsu_ports[UART_NR]; +static int nr_inst; /* Number of already registered ports */ #ifdef CONFIG_SERIO @@ -1337,13 +1338,8 @@ printk("Console: ttyS%d (SU)\n", (sunsu_reg.minor - 64) + co->index); - /* - * Check whether an invalid uart number has been specified, and - * if so, search for the first available port that does have - * console support. - */ - if (co->index >= UART_NR) - co->index = 0; + if (co->index > nr_inst) + return -ENODEV; port = &sunsu_ports[co->index].port; /* @@ -1408,7 +1404,6 @@ static int __devinit su_probe(struct platform_device *op) { - static int inst; struct device_node *dp = op->dev.of_node; struct uart_sunsu_port *up; struct resource *rp; @@ -1418,16 +1413,16 @@ type = su_get_type(dp); if (type == SU_PORT_PORT) { - if (inst >= UART_NR) + if (nr_inst >= UART_NR) return -EINVAL; - up = &sunsu_ports[inst]; + up = &sunsu_ports[nr_inst]; } else { up = kzalloc(sizeof(*up), GFP_KERNEL); if (!up) return -ENOMEM; } - up->port.line = inst; + up->port.line = nr_inst; spin_lock_init(&up->port.lock); @@ -1461,6 +1456,8 @@ } dev_set_drvdata(&op->dev, up); + nr_inst++; + return 0; } @@ -1488,7 +1485,7 @@ dev_set_drvdata(&op->dev, up); - inst++; + nr_inst++; return 0; --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/amba-pl011.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/tty/serial/pmac_zilog.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/tty/serial/mxs-auart.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/mxs-auart.c @@ -376,11 +376,18 @@ static irqreturn_t mxs_auart_irq_handle(int irq, void *context) { - u32 istatus, istat; + u32 istat; struct mxs_auart_port *s = context; u32 stat = readl(s->port.membase + AUART_STAT); - istatus = istat = readl(s->port.membase + AUART_INTR); + istat = readl(s->port.membase + AUART_INTR); + + /* ack irq */ + writel(istat & (AUART_INTR_RTIS + | AUART_INTR_TXIS + | AUART_INTR_RXIS + | AUART_INTR_CTSMIS), + s->port.membase + AUART_INTR_CLR); if (istat & AUART_INTR_CTSMIS) { uart_handle_cts_change(&s->port, stat & AUART_STAT_CTS); @@ -399,12 +406,6 @@ istat &= ~AUART_INTR_TXIS; } - writel(istatus & (AUART_INTR_RTIS - | AUART_INTR_TXIS - | AUART_INTR_RXIS - | AUART_INTR_CTSMIS), - s->port.membase + AUART_INTR_CLR); - return IRQ_HANDLED; } @@ -544,9 +545,9 @@ struct mxs_auart_port *s; struct uart_port *port; unsigned int old_ctrl0, old_ctrl2; - unsigned int to = 1000; + unsigned int to = 20000; - if (co->index > MXS_AUART_PORTS || co->index < 0) + if (co->index >= MXS_AUART_PORTS || co->index < 0) return; s = auart_port[co->index]; @@ -565,18 +566,23 @@ uart_console_write(port, str, count, mxs_auart_console_putchar); - /* - * Finally, wait for transmitter to become empty - * and restore the TCR - */ + /* Finally, wait for transmitter to become empty ... */ while (readl(port->membase + AUART_STAT) & AUART_STAT_BUSY) { + udelay(1); if (!to--) break; - udelay(1); } - writel(old_ctrl0, port->membase + AUART_CTRL0); - writel(old_ctrl2, port->membase + AUART_CTRL2); + /* + * ... and restore the TCR if we waited long enough for the transmitter + * to be idle. This might keep the transmitter enabled although it is + * unused, but that is better than to disable it while it is still + * transmitting. + */ + if (!(readl(port->membase + AUART_STAT) & AUART_STAT_BUSY)) { + writel(old_ctrl0, port->membase + AUART_CTRL0); + writel(old_ctrl2, port->membase + AUART_CTRL2); + } clk_disable(s->clk); } --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/8250/8250_pci.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/8250/8250_pci.c @@ -1078,6 +1078,18 @@ return setup_port(priv, port, 2, idx * 8, 0); } +static int +pci_brcm_trumanage_setup(struct serial_private *priv, + const struct pciserial_board *board, + struct uart_port *port, int idx) +{ + int ret = pci_default_setup(priv, board, port, idx); + + port->type = PORT_BRCM_TRUMANAGE; + port->flags = (port->flags | UPF_FIXED_PORT | UPF_FIXED_TYPE); + return ret; +} + static int skip_tx_en_setup(struct serial_private *priv, const struct pciserial_board *board, struct uart_port *port, int idx) @@ -1164,6 +1176,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 @@ -1187,9 +1201,11 @@ #define PCIE_DEVICE_ID_NEO_2_OX_IBM 0x00F6 #define PCI_DEVICE_ID_PLX_CRONYX_OMEGA 0xc001 #define PCI_DEVICE_ID_INTEL_PATSBURG_KT 0x1d3d +#define PCI_DEVICE_ID_BROADCOM_TRUMANAGE 0x160a /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 +#define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588 /* * Master list of serial port init/setup/exit quirks. @@ -1461,15 +1477,6 @@ }, { .vendor = PCI_VENDOR_ID_PLX, - .device = PCI_DEVICE_ID_PLX_9050, - .subvendor = PCI_VENDOR_ID_PLX, - .subdevice = PCI_SUBDEVICE_ID_UNKNOWN_0x1584, - .init = pci_plx9050_init, - .setup = pci_default_setup, - .exit = __devexit_p(pci_plx9050_exit), - }, - { - .vendor = PCI_VENDOR_ID_PLX, .device = PCI_DEVICE_ID_PLX_ROMULUS, .subvendor = PCI_VENDOR_ID_PLX, .subdevice = PCI_DEVICE_ID_PLX_ROMULUS, @@ -1728,6 +1735,17 @@ .setup = pci_omegapci_setup, }, /* + * Broadcom TruManage (NetXtreme) + */ + { + .vendor = PCI_VENDOR_ID_BROADCOM, + .device = PCI_DEVICE_ID_BROADCOM_TRUMANAGE, + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + .setup = pci_brcm_trumanage_setup, + }, + + /* * Default "match everything" terminator entry */ { @@ -1916,6 +1934,7 @@ pbn_ce4100_1_115200, pbn_omegapci, pbn_NETMOS9900_2s_115200, + pbn_brcm_trumanage, }; /* @@ -2622,6 +2641,12 @@ .num_ports = 2, .base_baud = 115200, }, + [pbn_brcm_trumanage] = { + .flags = FL_BASE0, + .num_ports = 1, + .reg_shift = 2, + .base_baud = 115200, + }, }; static const struct pci_device_id softmodem_blacklist[] = { @@ -3151,7 +3176,12 @@ { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, PCI_VENDOR_ID_PLX, PCI_SUBDEVICE_ID_UNKNOWN_0x1584, 0, 0, - pbn_b0_4_115200 }, + pbn_b2_4_115200 }, + /* Unknown card - subdevice 0x1588 */ + { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, + PCI_VENDOR_ID_PLX, + PCI_SUBDEVICE_ID_UNKNOWN_0x1588, 0, 0, + pbn_b2_8_115200 }, { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, PCI_SUBVENDOR_ID_KEYSPAN, PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0, @@ -3232,8 +3262,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 }, @@ -4179,6 +4212,13 @@ pbn_omegapci }, /* + * Broadcom TruManage + */ + { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_BROADCOM_TRUMANAGE, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, + pbn_brcm_trumanage }, + + /* * These entries match devices with class COMMUNICATION_SERIAL, * COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL */ --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/8250/8250.h +++ linux-lts-quantal-3.5.0/drivers/tty/serial/8250/8250.h @@ -73,6 +73,7 @@ #define UART_CAP_AFE (1 << 11) /* MCR-based hw flow control */ #define UART_CAP_UUE (1 << 12) /* UART needs IER bit 6 set (Xscale) */ #define UART_CAP_RTOIE (1 << 13) /* UART needs IER bit 4 set (Xscale, Tegra) */ +#define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/8250/8250.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/8250/8250.c @@ -282,6 +282,33 @@ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, .flags = UART_CAP_FIFO | UART_CAP_AFE | UART_CAP_EFR, }, + [PORT_BRCM_TRUMANAGE] = { + .name = "TruManage", + .fifo_size = 1, + .tx_loadsz = 1024, + .flags = UART_CAP_HFIFO, + }, + [PORT_ALTR_16550_F32] = { + .name = "Altera 16550 FIFO32", + .fifo_size = 32, + .tx_loadsz = 32, + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, + .flags = UART_CAP_FIFO | UART_CAP_AFE, + }, + [PORT_ALTR_16550_F64] = { + .name = "Altera 16550 FIFO64", + .fifo_size = 64, + .tx_loadsz = 64, + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, + .flags = UART_CAP_FIFO | UART_CAP_AFE, + }, + [PORT_ALTR_16550_F128] = { + .name = "Altera 16550 FIFO128", + .fifo_size = 128, + .tx_loadsz = 128, + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, + .flags = UART_CAP_FIFO | UART_CAP_AFE, + }, }; /* Uart divisor latch read */ @@ -1427,6 +1454,11 @@ port->icount.tx++; if (uart_circ_empty(xmit)) break; + if (up->capabilities & UART_CAP_HFIFO) { + if ((serial_port_in(port, UART_LSR) & BOTH_EMPTY) != + BOTH_EMPTY) + break; + } } while (--count > 0); if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) --- linux-lts-quantal-3.5.0.orig/drivers/tty/serial/8250/8250_dw.c +++ linux-lts-quantal-3.5.0/drivers/tty/serial/8250/8250_dw.c @@ -79,7 +79,7 @@ } else if ((iir & UART_IIR_BUSY) == UART_IIR_BUSY) { /* Clear the USR and write the LCR again. */ (void)p->serial_in(p, UART_USR); - p->serial_out(p, d->last_lcr, UART_LCR); + p->serial_out(p, UART_LCR, d->last_lcr); return 1; } --- linux-lts-quantal-3.5.0.orig/drivers/tty/hvc/hvsi_lib.c +++ linux-lts-quantal-3.5.0/drivers/tty/hvc/hvsi_lib.c @@ -341,8 +341,8 @@ pr_devel("HVSI@%x: ... waiting handshake\n", pv->termno); - /* Try for up to 200s */ - for (timeout = 0; timeout < 20; timeout++) { + /* Try for up to 400ms */ + for (timeout = 0; timeout < 40; timeout++) { if (pv->established) goto established; if (!hvsi_get_packet(pv)) --- linux-lts-quantal-3.5.0.orig/drivers/tty/vt/vt_ioctl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/tty/vt/keyboard.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/tty/vt/vc_screen.c +++ linux-lts-quantal-3.5.0/drivers/tty/vt/vc_screen.c @@ -93,7 +93,7 @@ static struct vcs_poll_data * vcs_poll_data_get(struct file *file) { - struct vcs_poll_data *poll = file->private_data; + struct vcs_poll_data *poll = file->private_data, *kill = NULL; if (poll) return poll; @@ -122,10 +122,12 @@ file->private_data = poll; } else { /* someone else raced ahead of us */ - vcs_poll_data_free(poll); + kill = poll; poll = file->private_data; } spin_unlock(&file->f_lock); + if (kill) + vcs_poll_data_free(kill); return poll; } --- linux-lts-quantal-3.5.0.orig/drivers/tty/vt/vt.c +++ linux-lts-quantal-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. @@ -656,7 +660,7 @@ * Redrawing of screen */ -static void clear_buffer_attributes(struct vc_data *vc) +void clear_buffer_attributes(struct vc_data *vc) { unsigned short *p = (unsigned short *)vc->vc_origin; int count = vc->vc_screenbuf_size / 2; @@ -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); @@ -3017,7 +3050,7 @@ static struct class *vtconsole_class; -static int bind_con_driver(const struct consw *csw, int first, int last, +static int do_bind_con_driver(const struct consw *csw, int first, int last, int deflt) { struct module *owner = csw->owner; @@ -3028,7 +3061,7 @@ if (!try_module_get(owner)) return -ENODEV; - console_lock(); + WARN_CONSOLE_UNLOCKED(); /* check if driver is registered */ for (i = 0; i < MAX_NR_CON_DRIVER; i++) { @@ -3113,11 +3146,22 @@ retval = 0; err: - console_unlock(); module_put(owner); return retval; }; + +static int bind_con_driver(const struct consw *csw, int first, int last, + int deflt) +{ + int ret; + + console_lock(); + ret = do_bind_con_driver(csw, first, last, deflt); + console_unlock(); + return ret; +} + #ifdef CONFIG_VT_HW_CONSOLE_BINDING static int con_is_graphics(const struct consw *csw, int first, int last) { @@ -3154,6 +3198,18 @@ */ int unbind_con_driver(const struct consw *csw, int first, int last, int deflt) { + int retval; + + console_lock(); + retval = do_unbind_con_driver(csw, first, last, deflt); + console_unlock(); + return retval; +} +EXPORT_SYMBOL(unbind_con_driver); + +/* unlocked version of unbind_con_driver() */ +int do_unbind_con_driver(const struct consw *csw, int first, int last, int deflt) +{ struct module *owner = csw->owner; const struct consw *defcsw = NULL; struct con_driver *con_driver = NULL, *con_back = NULL; @@ -3162,7 +3218,7 @@ if (!try_module_get(owner)) return -ENODEV; - console_lock(); + WARN_CONSOLE_UNLOCKED(); /* check if driver is registered and if it is unbindable */ for (i = 0; i < MAX_NR_CON_DRIVER; i++) { @@ -3175,10 +3231,8 @@ } } - if (retval) { - console_unlock(); + if (retval) goto err; - } retval = -ENODEV; @@ -3194,15 +3248,11 @@ } } - if (retval) { - console_unlock(); + if (retval) goto err; - } - if (!con_is_bound(csw)) { - console_unlock(); + if (!con_is_bound(csw)) goto err; - } first = max(first, con_driver->first); last = min(last, con_driver->last); @@ -3229,15 +3279,14 @@ if (!con_is_bound(csw)) con_driver->flag &= ~CON_DRIVER_FLAG_INIT; - console_unlock(); /* ignore return value, binding should not fail */ - bind_con_driver(defcsw, first, last, deflt); + do_bind_con_driver(defcsw, first, last, deflt); err: module_put(owner); return retval; } -EXPORT_SYMBOL(unbind_con_driver); +EXPORT_SYMBOL_GPL(do_unbind_con_driver); static int vt_bind(struct con_driver *con) { @@ -3475,6 +3524,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; } @@ -3509,28 +3571,18 @@ } EXPORT_SYMBOL_GPL(con_debug_leave); -/** - * register_con_driver - register console driver to console layer - * @csw: console driver - * @first: the first console to take over, minimum value is 0 - * @last: the last console to take over, maximum value is MAX_NR_CONSOLES -1 - * - * DESCRIPTION: This function registers a console driver which can later - * bind to a range of consoles specified by @first and @last. It will - * also initialize the console driver by calling con_startup(). - */ -int register_con_driver(const struct consw *csw, int first, int last) +static int do_register_con_driver(const struct consw *csw, int first, int last) { struct module *owner = csw->owner; struct con_driver *con_driver; const char *desc; int i, retval = 0; + WARN_CONSOLE_UNLOCKED(); + if (!try_module_get(owner)) return -ENODEV; - console_lock(); - for (i = 0; i < MAX_NR_CON_DRIVER; i++) { con_driver = ®istered_con_driver[i]; @@ -3583,10 +3635,29 @@ } err: - console_unlock(); module_put(owner); return retval; } + +/** + * register_con_driver - register console driver to console layer + * @csw: console driver + * @first: the first console to take over, minimum value is 0 + * @last: the last console to take over, maximum value is MAX_NR_CONSOLES -1 + * + * DESCRIPTION: This function registers a console driver which can later + * bind to a range of consoles specified by @first and @last. It will + * also initialize the console driver by calling con_startup(). + */ +int register_con_driver(const struct consw *csw, int first, int last) +{ + int retval; + + console_lock(); + retval = do_register_con_driver(csw, first, last); + console_unlock(); + return retval; +} EXPORT_SYMBOL(register_con_driver); /** @@ -3602,9 +3673,18 @@ */ int unregister_con_driver(const struct consw *csw) { - int i, retval = -ENODEV; + int retval; console_lock(); + retval = do_unregister_con_driver(csw); + console_unlock(); + return retval; +} +EXPORT_SYMBOL(unregister_con_driver); + +int do_unregister_con_driver(const struct consw *csw) +{ + int i, retval = -ENODEV; /* cannot unregister a bound driver */ if (con_is_bound(csw)) @@ -3630,27 +3710,53 @@ } } err: - console_unlock(); return retval; } -EXPORT_SYMBOL(unregister_con_driver); +EXPORT_SYMBOL_GPL(do_unregister_con_driver); /* * If we support more console drivers, this function is used * when a driver wants to take over some existing consoles * and become default driver for newly opened ones. * - * take_over_console is basically a register followed by unbind + * take_over_console is basically a register followed by unbind + */ +int do_take_over_console(const struct consw *csw, int first, int last, int deflt) +{ + int err; + + err = do_register_con_driver(csw, first, last); + /* + * If we get an busy error we still want to bind the console driver + * and return success, as we may have unbound the console driver + * but not unregistered it. + */ + if (err == -EBUSY) + err = 0; + if (!err) + do_bind_con_driver(csw, first, last, deflt); + + return err; +} +EXPORT_SYMBOL_GPL(do_take_over_console); + +/* + * If we support more console drivers, this function is used + * when a driver wants to take over some existing consoles + * and become default driver for newly opened ones. + * + * take_over_console is basically a register followed by unbind */ int take_over_console(const struct consw *csw, int first, int last, int deflt) { int err; err = register_con_driver(csw, first, last); - /* if we get an busy error we still want to bind the console driver + /* + * If we get an busy error we still want to bind the console driver * and return success, as we may have unbound the console driver -  * but not unregistered it. - */ + * but not unregistered it. + */ if (err == -EBUSY) err = 0; if (!err) --- linux-lts-quantal-3.5.0.orig/drivers/spi/spi-mpc512x-psc.c +++ linux-lts-quantal-3.5.0/drivers/spi/spi-mpc512x-psc.c @@ -164,7 +164,7 @@ for (i = count; i > 0; i--) { data = tx_buf ? *tx_buf++ : 0; - if (len == EOFBYTE) + if (len == EOFBYTE && t->cs_change) setbits32(&fifo->txcmd, MPC512x_PSC_FIFO_EOF); out_8(&fifo->txdata_8, data); len--; --- linux-lts-quantal-3.5.0.orig/drivers/spi/spi-s3c64xx.c +++ linux-lts-quantal-3.5.0/drivers/spi/spi-s3c64xx.c @@ -889,25 +889,30 @@ { struct s3c64xx_spi_driver_data *sdd = data; struct spi_master *spi = sdd->master; - unsigned int val; - - val = readl(sdd->regs + S3C64XX_SPI_PENDING_CLR); - - val &= S3C64XX_SPI_PND_RX_OVERRUN_CLR | - S3C64XX_SPI_PND_RX_UNDERRUN_CLR | - S3C64XX_SPI_PND_TX_OVERRUN_CLR | - S3C64XX_SPI_PND_TX_UNDERRUN_CLR; + unsigned int val, clr = 0; - writel(val, sdd->regs + S3C64XX_SPI_PENDING_CLR); + val = readl(sdd->regs + S3C64XX_SPI_STATUS); - if (val & S3C64XX_SPI_PND_RX_OVERRUN_CLR) + if (val & S3C64XX_SPI_ST_RX_OVERRUN_ERR) { + clr = S3C64XX_SPI_PND_RX_OVERRUN_CLR; dev_err(&spi->dev, "RX overrun\n"); - if (val & S3C64XX_SPI_PND_RX_UNDERRUN_CLR) + } + if (val & S3C64XX_SPI_ST_RX_UNDERRUN_ERR) { + clr |= S3C64XX_SPI_PND_RX_UNDERRUN_CLR; dev_err(&spi->dev, "RX underrun\n"); - if (val & S3C64XX_SPI_PND_TX_OVERRUN_CLR) + } + if (val & S3C64XX_SPI_ST_TX_OVERRUN_ERR) { + clr |= S3C64XX_SPI_PND_TX_OVERRUN_CLR; dev_err(&spi->dev, "TX overrun\n"); - if (val & S3C64XX_SPI_PND_TX_UNDERRUN_CLR) + } + if (val & S3C64XX_SPI_ST_TX_UNDERRUN_ERR) { + clr |= S3C64XX_SPI_PND_TX_UNDERRUN_CLR; dev_err(&spi->dev, "TX underrun\n"); + } + + /* Clear the pending irq by setting and then clearing it */ + writel(clr, sdd->regs + S3C64XX_SPI_PENDING_CLR); + writel(0, sdd->regs + S3C64XX_SPI_PENDING_CLR); return IRQ_HANDLED; } @@ -931,9 +936,13 @@ writel(0, regs + S3C64XX_SPI_MODE_CFG); writel(0, regs + S3C64XX_SPI_PACKET_CNT); - /* Clear any irq pending bits */ - writel(readl(regs + S3C64XX_SPI_PENDING_CLR), - regs + S3C64XX_SPI_PENDING_CLR); + /* Clear any irq pending bits, should set and clear the bits */ + val = S3C64XX_SPI_PND_RX_OVERRUN_CLR | + S3C64XX_SPI_PND_RX_UNDERRUN_CLR | + S3C64XX_SPI_PND_TX_OVERRUN_CLR | + S3C64XX_SPI_PND_TX_UNDERRUN_CLR; + writel(val, regs + S3C64XX_SPI_PENDING_CLR); + writel(0, regs + S3C64XX_SPI_PENDING_CLR); writel(0, regs + S3C64XX_SPI_SWAP_CFG); --- linux-lts-quantal-3.5.0.orig/drivers/spi/spi-pl022.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/hv/channel.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/memstick/host/Kconfig +++ linux-lts-quantal-3.5.0/drivers/memstick/host/Kconfig @@ -42,3 +42,13 @@ To compile this driver as a module, choose M here: the module will be called r592. + +config MEMSTICK_REALTEK_PCI + tristate "Realtek PCI-E Memstick Card Interface Driver" + depends on MFD_RTSX_PCI + help + Say Y here to include driver code to support Memstick card interface + of Realtek PCI-E card reader + + To compile this driver as a module, choose M here: the module will + be called rtsx_pci_ms. --- linux-lts-quantal-3.5.0.orig/drivers/memstick/host/Makefile +++ linux-lts-quantal-3.5.0/drivers/memstick/host/Makefile @@ -5,3 +5,4 @@ obj-$(CONFIG_MEMSTICK_TIFM_MS) += tifm_ms.o obj-$(CONFIG_MEMSTICK_JMICRON_38X) += jmb38x_ms.o obj-$(CONFIG_MEMSTICK_R592) += r592.o +obj-$(CONFIG_MEMSTICK_REALTEK_PCI) += rtsx_pci_ms.o --- linux-lts-quantal-3.5.0.orig/drivers/memstick/host/rtsx_pci_ms.c +++ linux-lts-quantal-3.5.0/drivers/memstick/host/rtsx_pci_ms.c @@ -0,0 +1,648 @@ +/* Realtek PCI-Express Memstick Card Interface driver + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#include +#include +#include +#include +#include +#include +#include + +struct realtek_pci_ms { + struct platform_device *pdev; + struct rtsx_pcr *pcr; + struct memstick_host *msh; + struct memstick_request *req; + + struct mutex host_mutex; + struct work_struct handle_req; + + u8 ssc_depth; + unsigned int clock; + unsigned char ifmode; + bool eject; +}; + +static inline struct device *ms_dev(struct realtek_pci_ms *host) +{ + return &(host->pdev->dev); +} + +static inline void ms_clear_error(struct realtek_pci_ms *host) +{ + rtsx_pci_write_register(host->pcr, CARD_STOP, + MS_STOP | MS_CLR_ERR, MS_STOP | MS_CLR_ERR); +} + +#ifdef DEBUG + +static void ms_print_debug_regs(struct realtek_pci_ms *host) +{ + struct rtsx_pcr *pcr = host->pcr; + u16 i; + u8 *ptr; + + /* Print MS host internal registers */ + rtsx_pci_init_cmd(pcr); + for (i = 0xFD40; i <= 0xFD44; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, i, 0, 0); + for (i = 0xFD52; i <= 0xFD69; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, i, 0, 0); + rtsx_pci_send_cmd(pcr, 100); + + ptr = rtsx_pci_get_cmd_data(pcr); + for (i = 0xFD40; i <= 0xFD44; i++) + dev_dbg(ms_dev(host), "0x%04X: 0x%02x\n", i, *(ptr++)); + for (i = 0xFD52; i <= 0xFD69; i++) + dev_dbg(ms_dev(host), "0x%04X: 0x%02x\n", i, *(ptr++)); +} + +#else + +#define ms_print_debug_regs(host) + +#endif + +static int ms_power_on(struct realtek_pci_ms *host) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + + rtsx_pci_init_cmd(pcr); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_SELECT, 0x07, MS_MOD_SEL); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_SHARE_MODE, + CARD_SHARE_MASK, CARD_SHARE_48_MS); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_EN, + MS_CLK_EN, MS_CLK_EN); + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + err = rtsx_pci_card_pull_ctl_enable(pcr, RTSX_MS_CARD); + if (err < 0) + return err; + + err = rtsx_pci_card_power_on(pcr, RTSX_MS_CARD); + if (err < 0) + return err; + + /* Wait ms power stable */ + msleep(150); + + err = rtsx_pci_write_register(pcr, CARD_OE, + MS_OUTPUT_EN, MS_OUTPUT_EN); + if (err < 0) + return err; + + return 0; +} + +static int ms_power_off(struct realtek_pci_ms *host) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_CLK_EN, MS_CLK_EN, 0); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_OE, MS_OUTPUT_EN, 0); + + err = rtsx_pci_send_cmd(pcr, 100); + if (err < 0) + return err; + + err = rtsx_pci_card_power_off(pcr, RTSX_MS_CARD); + if (err < 0) + return err; + + return rtsx_pci_card_pull_ctl_disable(pcr, RTSX_MS_CARD); +} + +static int ms_transfer_data(struct realtek_pci_ms *host, unsigned char data_dir, + u8 tpc, u8 cfg, struct scatterlist *sg) +{ + struct rtsx_pcr *pcr = host->pcr; + int err; + unsigned int length = sg->length; + u16 sec_cnt = (u16)(length / 512); + u8 val, trans_mode, dma_dir; + + dev_dbg(ms_dev(host), "%s: tpc = 0x%02x, data_dir = %s, length = %d\n", + __func__, tpc, (data_dir == READ) ? "READ" : "WRITE", + length); + + if (data_dir == READ) { + dma_dir = DMA_DIR_FROM_CARD; + trans_mode = MS_TM_AUTO_READ; + } else { + dma_dir = DMA_DIR_TO_CARD; + trans_mode = MS_TM_AUTO_WRITE; + } + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TPC, 0xFF, tpc); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_SECTOR_CNT_H, + 0xFF, (u8)(sec_cnt >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_SECTOR_CNT_L, + 0xFF, (u8)sec_cnt); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, cfg); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, IRQSTAT0, + DMA_DONE_INT, DMA_DONE_INT); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC3, 0xFF, (u8)(length >> 24)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC2, 0xFF, (u8)(length >> 16)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC1, 0xFF, (u8)(length >> 8)); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMATC0, 0xFF, (u8)length); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, DMACTL, + 0x03 | DMA_PACK_SIZE_MASK, dma_dir | DMA_EN | DMA_512); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_DATA_SOURCE, + 0x01, RING_BUFFER); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TRANSFER, + 0xFF, MS_TRANSFER_START | trans_mode); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, MS_TRANSFER, + MS_TRANSFER_END, MS_TRANSFER_END); + + rtsx_pci_send_cmd_no_wait(pcr); + + err = rtsx_pci_transfer_data(pcr, sg, 1, data_dir == READ, 10000); + if (err < 0) { + ms_clear_error(host); + return err; + } + + rtsx_pci_read_register(pcr, MS_TRANS_CFG, &val); + if (val & (MS_INT_CMDNK | MS_INT_ERR | MS_CRC16_ERR | MS_RDY_TIMEOUT)) + return -EIO; + + return 0; +} + +static int ms_write_bytes(struct realtek_pci_ms *host, u8 tpc, + u8 cfg, u8 cnt, u8 *data, u8 *int_reg) +{ + struct rtsx_pcr *pcr = host->pcr; + int err, i; + + dev_dbg(ms_dev(host), "%s: tpc = 0x%02x\n", __func__, tpc); + + if (!data) + return -EINVAL; + + rtsx_pci_init_cmd(pcr); + + for (i = 0; i < cnt; i++) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + PPBUF_BASE2 + i, 0xFF, data[i]); + if (cnt % 2) + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, + PPBUF_BASE2 + i, 0xFF, 0xFF); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TPC, 0xFF, tpc); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_BYTE_CNT, 0xFF, cnt); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, cfg); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_DATA_SOURCE, + 0x01, PINGPONG_BUFFER); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TRANSFER, + 0xFF, MS_TRANSFER_START | MS_TM_WRITE_BYTES); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, MS_TRANSFER, + MS_TRANSFER_END, MS_TRANSFER_END); + if (int_reg) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, MS_TRANS_CFG, 0, 0); + + err = rtsx_pci_send_cmd(pcr, 5000); + if (err < 0) { + u8 val; + + rtsx_pci_read_register(pcr, MS_TRANS_CFG, &val); + dev_dbg(ms_dev(host), "MS_TRANS_CFG: 0x%02x\n", val); + + if (int_reg) + *int_reg = val & 0x0F; + + ms_print_debug_regs(host); + + ms_clear_error(host); + + if (!(tpc & 0x08)) { + if (val & MS_CRC16_ERR) + return -EIO; + } else { + if (!(val & 0x80)) { + if (val & (MS_INT_ERR | MS_INT_CMDNK)) + return -EIO; + } + } + + return -ETIMEDOUT; + } + + if (int_reg) { + u8 *ptr = rtsx_pci_get_cmd_data(pcr) + 1; + *int_reg = *ptr & 0x0F; + } + + return 0; +} + +static int ms_read_bytes(struct realtek_pci_ms *host, u8 tpc, + u8 cfg, u8 cnt, u8 *data, u8 *int_reg) +{ + struct rtsx_pcr *pcr = host->pcr; + int err, i; + u8 *ptr; + + dev_dbg(ms_dev(host), "%s: tpc = 0x%02x\n", __func__, tpc); + + if (!data) + return -EINVAL; + + rtsx_pci_init_cmd(pcr); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TPC, 0xFF, tpc); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_BYTE_CNT, 0xFF, cnt); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TRANS_CFG, 0xFF, cfg); + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, CARD_DATA_SOURCE, + 0x01, PINGPONG_BUFFER); + + rtsx_pci_add_cmd(pcr, WRITE_REG_CMD, MS_TRANSFER, + 0xFF, MS_TRANSFER_START | MS_TM_READ_BYTES); + rtsx_pci_add_cmd(pcr, CHECK_REG_CMD, MS_TRANSFER, + MS_TRANSFER_END, MS_TRANSFER_END); + for (i = 0; i < cnt - 1; i++) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, PPBUF_BASE2 + i, 0, 0); + if (cnt % 2) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, PPBUF_BASE2 + cnt, 0, 0); + else + rtsx_pci_add_cmd(pcr, READ_REG_CMD, + PPBUF_BASE2 + cnt - 1, 0, 0); + if (int_reg) + rtsx_pci_add_cmd(pcr, READ_REG_CMD, MS_TRANS_CFG, 0, 0); + + err = rtsx_pci_send_cmd(pcr, 5000); + if (err < 0) { + u8 val; + + rtsx_pci_read_register(pcr, MS_TRANS_CFG, &val); + dev_dbg(ms_dev(host), "MS_TRANS_CFG: 0x%02x\n", val); + + if (int_reg) + *int_reg = val & 0x0F; + + ms_print_debug_regs(host); + + ms_clear_error(host); + + if (!(tpc & 0x08)) { + if (val & MS_CRC16_ERR) + return -EIO; + } else { + if (!(val & 0x80)) { + if (val & (MS_INT_ERR | MS_INT_CMDNK)) + return -EIO; + } + } + + return -ETIMEDOUT; + } + + ptr = rtsx_pci_get_cmd_data(pcr) + 1; + for (i = 0; i < cnt; i++) + data[i] = *ptr++; + + if (int_reg) + *int_reg = *ptr & 0x0F; + + return 0; +} + +static int rtsx_pci_ms_issue_cmd(struct realtek_pci_ms *host) +{ + struct memstick_request *req = host->req; + int err = 0; + u8 cfg = 0, int_reg; + + dev_dbg(ms_dev(host), "%s\n", __func__); + + if (req->need_card_int) { + if (host->ifmode != MEMSTICK_SERIAL) + cfg = WAIT_INT; + } + + if (req->long_data) { + err = ms_transfer_data(host, req->data_dir, + req->tpc, cfg, &(req->sg)); + } else { + if (req->data_dir == READ) { + err = ms_read_bytes(host, req->tpc, cfg, + req->data_len, req->data, &int_reg); + } else { + err = ms_write_bytes(host, req->tpc, cfg, + req->data_len, req->data, &int_reg); + } + } + if (err < 0) + return err; + + if (req->need_card_int && (host->ifmode == MEMSTICK_SERIAL)) { + err = ms_read_bytes(host, MS_TPC_GET_INT, + NO_WAIT_INT, 1, &int_reg, NULL); + if (err < 0) + return err; + } + + if (req->need_card_int) { + dev_dbg(ms_dev(host), "int_reg: 0x%02x\n", int_reg); + + if (int_reg & MS_INT_CMDNK) + req->int_reg |= MEMSTICK_INT_CMDNAK; + if (int_reg & MS_INT_BREQ) + req->int_reg |= MEMSTICK_INT_BREQ; + if (int_reg & MS_INT_ERR) + req->int_reg |= MEMSTICK_INT_ERR; + if (int_reg & MS_INT_CED) + req->int_reg |= MEMSTICK_INT_CED; + } + + return 0; +} + +static void rtsx_pci_ms_handle_req(struct work_struct *work) +{ + struct realtek_pci_ms *host = container_of(work, + struct realtek_pci_ms, handle_req); + struct rtsx_pcr *pcr = host->pcr; + struct memstick_host *msh = host->msh; + int rc; + + mutex_lock(&pcr->pcr_mutex); + + rtsx_pci_start_run(pcr); + + rtsx_pci_switch_clock(host->pcr, host->clock, host->ssc_depth, + false, true, false); + rtsx_pci_write_register(pcr, CARD_SELECT, 0x07, MS_MOD_SEL); + rtsx_pci_write_register(pcr, CARD_SHARE_MODE, + CARD_SHARE_MASK, CARD_SHARE_48_MS); + + if (!host->req) { + do { + rc = memstick_next_req(msh, &host->req); + dev_dbg(ms_dev(host), "next req %d\n", rc); + + if (!rc) + host->req->error = rtsx_pci_ms_issue_cmd(host); + } while (!rc); + } + + mutex_unlock(&pcr->pcr_mutex); +} + +static void rtsx_pci_ms_request(struct memstick_host *msh) +{ + struct realtek_pci_ms *host = memstick_priv(msh); + + dev_dbg(ms_dev(host), "--> %s\n", __func__); + + if (rtsx_pci_card_exclusive_check(host->pcr, RTSX_MS_CARD)) + return; + + schedule_work(&host->handle_req); +} + +static int rtsx_pci_ms_set_param(struct memstick_host *msh, + enum memstick_param param, int value) +{ + struct realtek_pci_ms *host = memstick_priv(msh); + struct rtsx_pcr *pcr = host->pcr; + unsigned int clock = 0; + u8 ssc_depth = 0; + int err; + + dev_dbg(ms_dev(host), "%s: param = %d, value = %d\n", + __func__, param, value); + + err = rtsx_pci_card_exclusive_check(host->pcr, RTSX_MS_CARD); + if (err) + return err; + + switch (param) { + case MEMSTICK_POWER: + if (value == MEMSTICK_POWER_ON) + err = ms_power_on(host); + else if (value == MEMSTICK_POWER_OFF) + err = ms_power_off(host); + else + return -EINVAL; + break; + + case MEMSTICK_INTERFACE: + if (value == MEMSTICK_SERIAL) { + clock = 19000000; + ssc_depth = RTSX_SSC_DEPTH_500K; + + err = rtsx_pci_write_register(pcr, MS_CFG, + 0x18, MS_BUS_WIDTH_1); + if (err < 0) + return err; + } else if (value == MEMSTICK_PAR4) { + clock = 39000000; + ssc_depth = RTSX_SSC_DEPTH_1M; + + err = rtsx_pci_write_register(pcr, MS_CFG, + 0x58, MS_BUS_WIDTH_4 | PUSH_TIME_ODD); + if (err < 0) + return err; + } else { + return -EINVAL; + } + + err = rtsx_pci_switch_clock(pcr, clock, + ssc_depth, false, true, false); + if (err < 0) + return err; + + host->ssc_depth = ssc_depth; + host->clock = clock; + host->ifmode = value; + break; + } + + return 0; +} + +#ifdef CONFIG_PM + +static int rtsx_pci_ms_suspend(struct platform_device *pdev, pm_message_t state) +{ + struct realtek_pci_ms *host = platform_get_drvdata(pdev); + struct memstick_host *msh = host->msh; + + dev_dbg(ms_dev(host), "--> %s\n", __func__); + + memstick_suspend_host(msh); + return 0; +} + +static int rtsx_pci_ms_resume(struct platform_device *pdev) +{ + struct realtek_pci_ms *host = platform_get_drvdata(pdev); + struct memstick_host *msh = host->msh; + + dev_dbg(ms_dev(host), "--> %s\n", __func__); + + memstick_resume_host(msh); + return 0; +} + +#else /* CONFIG_PM */ + +#define rtsx_pci_ms_suspend NULL +#define rtsx_pci_ms_resume NULL + +#endif /* CONFIG_PM */ + +static void rtsx_pci_ms_card_event(struct platform_device *pdev) +{ + struct realtek_pci_ms *host = platform_get_drvdata(pdev); + + memstick_detect_change(host->msh); +} + +static int rtsx_pci_ms_drv_probe(struct platform_device *pdev) +{ + struct memstick_host *msh; + struct realtek_pci_ms *host; + struct rtsx_pcr *pcr; + struct pcr_handle *handle = pdev->dev.platform_data; + int rc; + + if (!handle) + return -ENXIO; + + pcr = handle->pcr; + if (!pcr) + return -ENXIO; + + dev_dbg(&(pdev->dev), + ": Realtek PCI-E Memstick controller found\n"); + + msh = memstick_alloc_host(sizeof(*host), &pdev->dev); + if (!msh) + return -ENOMEM; + + host = memstick_priv(msh); + host->pcr = pcr; + host->msh = msh; + host->pdev = pdev; + platform_set_drvdata(pdev, host); + pcr->slots[RTSX_MS_CARD].p_dev = pdev; + pcr->slots[RTSX_MS_CARD].card_event = rtsx_pci_ms_card_event; + + mutex_init(&host->host_mutex); + + INIT_WORK(&host->handle_req, rtsx_pci_ms_handle_req); + msh->request = rtsx_pci_ms_request; + msh->set_param = rtsx_pci_ms_set_param; + msh->caps = MEMSTICK_CAP_PAR4; + + rc = memstick_add_host(msh); + if (rc) { + memstick_free_host(msh); + return rc; + } + + return 0; +} + +static int rtsx_pci_ms_drv_remove(struct platform_device *pdev) +{ + struct realtek_pci_ms *host = platform_get_drvdata(pdev); + struct rtsx_pcr *pcr; + struct memstick_host *msh; + int rc; + + if (!host) + return 0; + + pcr = host->pcr; + pcr->slots[RTSX_MS_CARD].p_dev = NULL; + pcr->slots[RTSX_MS_CARD].card_event = NULL; + msh = host->msh; + host->eject = true; + + mutex_lock(&host->host_mutex); + if (host->req) { + dev_dbg(&(pdev->dev), + "%s: Controller removed during transfer\n", + dev_name(&msh->dev)); + + rtsx_pci_complete_unfinished_transfer(pcr); + + host->req->error = -ENOMEDIUM; + do { + rc = memstick_next_req(msh, &host->req); + if (!rc) + host->req->error = -ENOMEDIUM; + } while (!rc); + } + mutex_unlock(&host->host_mutex); + + memstick_remove_host(msh); + memstick_free_host(msh); + + platform_set_drvdata(pdev, NULL); + + dev_dbg(&(pdev->dev), + ": Realtek PCI-E Memstick controller has been removed\n"); + + return 0; +} + +static struct platform_device_id rtsx_pci_ms_ids[] = { + { + .name = DRV_NAME_RTSX_PCI_MS, + }, { + /* sentinel */ + } +}; +MODULE_DEVICE_TABLE(platform, rtsx_pci_ms_ids); + +static struct platform_driver rtsx_pci_ms_driver = { + .probe = rtsx_pci_ms_drv_probe, + .remove = rtsx_pci_ms_drv_remove, + .id_table = rtsx_pci_ms_ids, + .suspend = rtsx_pci_ms_suspend, + .resume = rtsx_pci_ms_resume, + .driver = { + .owner = THIS_MODULE, + .name = DRV_NAME_RTSX_PCI_MS, + }, +}; +module_platform_driver(rtsx_pci_ms_driver); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Wei WANG "); +MODULE_DESCRIPTION("Realtek PCI-E Memstick Card Host Driver"); --- linux-lts-quantal-3.5.0.orig/drivers/pinctrl/core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pinctrl/pinctrl-tegra.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pinctrl/pinconf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/pinctrl/pinctrl-tegra30.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/leds/leds-ot200.c +++ linux-lts-quantal-3.5.0/drivers/leds/leds-ot200.c @@ -47,37 +47,37 @@ { .name = "led_1", .port = 0x49, - .mask = BIT(7), + .mask = BIT(6), }, { .name = "led_2", .port = 0x49, - .mask = BIT(6), + .mask = BIT(5), }, { .name = "led_3", .port = 0x49, - .mask = BIT(5), + .mask = BIT(4), }, { .name = "led_4", .port = 0x49, - .mask = BIT(4), + .mask = BIT(3), }, { .name = "led_5", .port = 0x49, - .mask = BIT(3), + .mask = BIT(2), }, { .name = "led_6", .port = 0x49, - .mask = BIT(2), + .mask = BIT(1), }, { .name = "led_7", .port = 0x49, - .mask = BIT(1), + .mask = BIT(0), } }; --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/asus-nb-wmi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/platform/x86/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/platform/x86/hp_accel.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/hp_accel.c @@ -362,7 +362,8 @@ static int lis3lv02d_resume(struct acpi_device *device) { - return lis3lv02d_poweron(&lis3_dev); + lis3lv02d_poweron(&lis3_dev); + return 0; } #else #define lis3lv02d_suspend NULL --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/sony-laptop.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/sony-laptop.c @@ -784,28 +784,29 @@ static int sony_nc_buffer_call(acpi_handle handle, char *name, u64 *value, void *buffer, size_t buflen) { + int ret = 0; size_t len = len; union acpi_object *object = __call_snc_method(handle, name, value); if (!object) return -EINVAL; - if (object->type == ACPI_TYPE_BUFFER) + if (object->type == ACPI_TYPE_BUFFER) { len = MIN(buflen, object->buffer.length); + memcpy(buffer, object->buffer.pointer, len); - else if (object->type == ACPI_TYPE_INTEGER) + } else if (object->type == ACPI_TYPE_INTEGER) { len = MIN(buflen, sizeof(object->integer.value)); + memcpy(buffer, &object->integer.value, len); - else { + } else { pr_warn("Invalid acpi_object: expected 0x%x got 0x%x\n", ACPI_TYPE_BUFFER, object->type); - kfree(object); - return -EINVAL; + ret = -EINVAL; } - memcpy(buffer, object->buffer.pointer, len); kfree(object); - return 0; + return ret; } struct sony_nc_handles { @@ -1527,7 +1528,7 @@ int argument = sony_rfkill_address[(long) data] + 0x100; if (!blocked) - argument |= 0x030000; + argument |= 0x070000; return sony_call_snc_handle(sony_rfkill_handle, argument, &result); } @@ -2802,6 +2803,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 +2817,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 +4252,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 +4328,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 +4352,8 @@ DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), DMI_MATCH(DMI_PRODUCT_NAME, "VGN-"), }, + .callback = dmi_matched, + .driver_data = &sony_pic_vaio_vgn, }, { } }; --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/asus-wmi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/platform/x86/samsung-laptop.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/samsung-laptop.c @@ -26,6 +26,7 @@ #include #include #include +#include #if (defined CONFIG_ACPI_VIDEO || defined CONFIG_ACPI_VIDEO_MODULE) #include #endif @@ -1506,6 +1507,26 @@ }, .driver_data = &samsung_broken_acpi_video, }, + { + .callback = samsung_dmi_matched, + .ident = "N250P", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), + DMI_MATCH(DMI_PRODUCT_NAME, "N250P"), + DMI_MATCH(DMI_BOARD_NAME, "N250P"), + }, + .driver_data = &samsung_broken_acpi_video, + }, + { + .callback = samsung_dmi_matched, + .ident = "N250P", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."), + DMI_MATCH(DMI_PRODUCT_NAME, "N250P"), + DMI_MATCH(DMI_BOARD_NAME, "N250P"), + }, + .driver_data = &samsung_broken_acpi_video, + }, { }, }; MODULE_DEVICE_TABLE(dmi, samsung_dmi_table); @@ -1517,6 +1538,9 @@ struct samsung_laptop *samsung; int ret; + if (efi_enabled(EFI_BOOT)) + return -ENODEV; + quirks = &samsung_unknown; if (!force && !dmi_check_system(samsung_dmi_table)) return -ENODEV; --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/dell-wmi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/platform/x86/asus-laptop.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/asus-laptop.c @@ -860,12 +860,14 @@ /* * The HWRS method return informations about the hardware. * 0x80 bit is for WLAN, 0x100 for Bluetooth. + * 0x40 for WWAN, 0x10 for WIMAX. * The significance of others is yet to be found. - * If we don't find the method, we assume the device are present. + * We don't currently use this for device detection, and it + * takes several seconds to run on some systems. */ - 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 @@ -1682,7 +1684,7 @@ { struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; union acpi_object *model = NULL; - unsigned long long bsts_result, hwrs_result; + unsigned long long bsts_result; char *string = NULL; acpi_status status; @@ -1744,17 +1746,6 @@ if (*string) pr_notice(" %s model detected\n", string); - /* - * The HWRS method return informations about the hardware. - * 0x80 bit is for WLAN, 0x100 for Bluetooth, - * 0x40 for WWAN, 0x10 for WIMAX. - * The significance of others is yet to be found. - */ - status = - acpi_evaluate_integer(asus->handle, "HRWS", NULL, &hwrs_result); - if (!ACPI_FAILURE(status)) - pr_notice(" HRWS returned %x", (int)hwrs_result); - if (!acpi_check_handle(asus->handle, METHOD_WL_STATUS, NULL)) asus->have_rsts = true; --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/thinkpad_acpi.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/thinkpad_acpi.c @@ -8662,6 +8662,13 @@ tp->model_str = kstrdup(s, GFP_KERNEL); if (!tp->model_str) return -ENOMEM; + } else { + s = dmi_get_system_info(DMI_BIOS_VENDOR); + if (s && !(strnicmp(s, "Lenovo", 6))) { + tp->model_str = kstrdup(s, GFP_KERNEL); + if (!tp->model_str) + return -ENOMEM; + } } s = dmi_get_system_info(DMI_PRODUCT_NAME); --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/acer-wmi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/platform/x86/hp-wmi.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/hp-wmi.c @@ -70,6 +70,14 @@ HPWMI_WIRELESS = 5, HPWMI_CPU_BATTERY_THROTTLE = 6, HPWMI_LOCK_SWITCH = 7, + HPWMI_LID_SWITCH = 8, + HPWMI_SCREEN_ROTATION = 9, + HPWMI_COOLSENSE_SYSTEM_MOBILE = 0x0A, + HPWMI_COOLSENSE_SYSTEM_HOT = 0x0B, + HPWMI_PROXIMITY_SENSOR = 0x0C, + HPWMI_BACKLIT_KB_BRIGHTNESS = 0x0D, + HPWMI_PEAKSHIFT_PERIOD = 0x0F, + HPWMI_BATTERY_CHARGE_PERIOD = 0x10, }; static int __devinit hp_wmi_bios_setup(struct platform_device *device); @@ -549,6 +557,22 @@ break; case HPWMI_LOCK_SWITCH: break; + case HPWMI_LID_SWITCH: + break; + case HPWMI_SCREEN_ROTATION: + break; + case HPWMI_COOLSENSE_SYSTEM_MOBILE: + break; + case HPWMI_COOLSENSE_SYSTEM_HOT: + break; + case HPWMI_PROXIMITY_SENSOR: + break; + case HPWMI_BACKLIT_KB_BRIGHTNESS: + break; + case HPWMI_PEAKSHIFT_PERIOD: + break; + case HPWMI_BATTERY_CHARGE_PERIOD: + break; default: pr_info("Unknown event_id - %d - 0x%x\n", event_id, event_data); break; --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/apple-gmux.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/platform/x86/intel_ips.c +++ linux-lts-quantal-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; } @@ -1501,6 +1534,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP ProBook"), }, }, + { + .callback = ips_blacklist_callback, + .ident = "G60JX", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "G60JX"), + }, + }, { } /* terminating entry */ }; --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/ibm_rtl.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/ibm_rtl.c @@ -244,7 +244,7 @@ if (force) pr_warn("module loaded by force\n"); /* first ensure that we are running on IBM HW */ - else if (efi_enabled || !dmi_check_system(ibm_rtl_dmi_table)) + else if (efi_enabled(EFI_BOOT) || !dmi_check_system(ibm_rtl_dmi_table)) return -ENODEV; /* Get the address for the Extended BIOS Data Area */ --- linux-lts-quantal-3.5.0.orig/drivers/platform/x86/msi-wmi.c +++ linux-lts-quantal-3.5.0/drivers/platform/x86/msi-wmi.c @@ -176,7 +176,7 @@ pr_debug("Suppressed key event 0x%X - " "Last press was %lld us ago\n", key->code, ktime_to_us(diff)); - return; + goto msi_wmi_notify_exit; } last_pressed[key->code - SCANCODE_BASE] = cur; @@ -195,6 +195,8 @@ pr_info("Unknown key pressed - %x\n", eventcode); } else pr_info("Unknown event received\n"); + +msi_wmi_notify_exit: kfree(response.pointer); } --- linux-lts-quantal-3.5.0.orig/drivers/virtio/virtio.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/virtio/virtio_ring.c +++ linux-lts-quantal-3.5.0/drivers/virtio/virtio_ring.c @@ -132,6 +132,13 @@ unsigned head; int i; + /* + * We require lowmem mappings for the descriptors because + * otherwise virt_to_phys will give us bogus addresses in the + * virtqueue. + */ + gfp &= ~(__GFP_HIGHMEM | __GFP_HIGH); + desc = kmalloc((out + in) * sizeof(struct vring_desc), gfp); if (!desc) return -ENOMEM; @@ -491,16 +498,18 @@ * virtqueue_enable_cb - restart callbacks after disable_cb. * @vq: the struct virtqueue we're talking about. * - * This re-enables callbacks; it returns "false" if there are pending - * buffers in the queue, to detect a possible race between the driver - * checking for more work, and enabling callbacks. + * This re-enables callbacks; it returns current queue state + * in an opaque unsigned value. This value should be later tested by + * virtqueue_poll, to detect a possible race between the driver checking for + * more work, and enabling callbacks. * * Caller must ensure we don't call this with other virtqueue * operations at the same time (except where noted). */ -bool virtqueue_enable_cb(struct virtqueue *_vq) +unsigned virtqueue_enable_cb_prepare(struct virtqueue *_vq) { struct vring_virtqueue *vq = to_vvq(_vq); + u16 last_used_idx; START_USE(vq); @@ -510,15 +519,45 @@ * either clear the flags bit or point the event index at the next * entry. Always do both to keep code simple. */ vq->vring.avail->flags &= ~VRING_AVAIL_F_NO_INTERRUPT; - vring_used_event(&vq->vring) = vq->last_used_idx; + vring_used_event(&vq->vring) = last_used_idx = vq->last_used_idx; + END_USE(vq); + return last_used_idx; +} +EXPORT_SYMBOL_GPL(virtqueue_enable_cb_prepare); + +/** + * virtqueue_poll - query pending used buffers + * @vq: the struct virtqueue we're talking about. + * @last_used_idx: virtqueue state (from call to virtqueue_enable_cb_prepare). + * + * Returns "true" if there are pending used buffers in the queue. + * + * This does not need to be serialized. + */ +bool virtqueue_poll(struct virtqueue *_vq, unsigned last_used_idx) +{ + struct vring_virtqueue *vq = to_vvq(_vq); + virtio_mb(vq); - if (unlikely(more_used(vq))) { - END_USE(vq); - return false; - } + return (u16)last_used_idx != vq->vring.used->idx; +} +EXPORT_SYMBOL_GPL(virtqueue_poll); - END_USE(vq); - return true; +/** + * virtqueue_enable_cb - restart callbacks after disable_cb. + * @vq: the struct virtqueue we're talking about. + * + * This re-enables callbacks; it returns "false" if there are pending + * buffers in the queue, to detect a possible race between the driver + * checking for more work, and enabling callbacks. + * + * Caller must ensure we don't call this with other virtqueue + * operations at the same time (except where noted). + */ +bool virtqueue_enable_cb(struct virtqueue *_vq) +{ + unsigned last_used_idx = virtqueue_enable_cb_prepare(_vq); + return !virtqueue_poll(_vq, last_used_idx); } EXPORT_SYMBOL_GPL(virtqueue_enable_cb); --- linux-lts-quantal-3.5.0.orig/drivers/pnp/pnpacpi/core.c +++ linux-lts-quantal-3.5.0/drivers/pnp/pnpacpi/core.c @@ -58,7 +58,7 @@ if (!(('0' <= (c) && (c) <= '9') || ('A' <= (c) && (c) <= 'F'))) \ return 0 #define TEST_ALPHA(c) \ - if (!('@' <= (c) || (c) <= 'Z')) \ + if (!('A' <= (c) && (c) <= 'Z')) \ return 0 static int __init ispnpidacpi(const char *id) { @@ -95,6 +95,9 @@ return -ENODEV; } + if (WARN_ON_ONCE(acpi_dev != dev->data)) + dev->data = acpi_dev; + ret = pnpacpi_build_resource_template(dev, &buffer); if (ret) return ret; --- linux-lts-quantal-3.5.0.orig/drivers/pnp/isapnp/core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/parport/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/atm/solos-pci.c +++ linux-lts-quantal-3.5.0/drivers/atm/solos-pci.c @@ -967,10 +967,11 @@ for (port = 0; tx_pending; tx_pending >>= 1, port++) { if (tx_pending & 1) { struct sk_buff *oldskb = card->tx_skb[port]; - if (oldskb) + if (oldskb) { pci_unmap_single(card->dev, SKB_CB(oldskb)->dma_addr, oldskb->len, PCI_DMA_TODEVICE); - + card->tx_skb[port] = NULL; + } spin_lock(&card->tx_queue_lock); skb = skb_dequeue(&card->tx_queue[port]); if (!skb) --- linux-lts-quantal-3.5.0.orig/drivers/atm/iphase.h +++ linux-lts-quantal-3.5.0/drivers/atm/iphase.h @@ -636,82 +636,82 @@ #define SEG_BASE IPHASE5575_FRAG_CONTROL_REG_BASE #define REASS_BASE IPHASE5575_REASS_CONTROL_REG_BASE -typedef volatile u_int freg_t; +typedef volatile u_int ffreg_t; typedef u_int rreg_t; typedef struct _ffredn_t { - freg_t idlehead_high; /* Idle cell header (high) */ - freg_t idlehead_low; /* Idle cell header (low) */ - freg_t maxrate; /* Maximum rate */ - freg_t stparms; /* Traffic Management Parameters */ - freg_t abrubr_abr; /* ABRUBR Priority Byte 1, TCR Byte 0 */ - freg_t rm_type; /* */ - u_int filler5[0x17 - 0x06]; - freg_t cmd_reg; /* Command register */ - u_int filler18[0x20 - 0x18]; - freg_t cbr_base; /* CBR Pointer Base */ - freg_t vbr_base; /* VBR Pointer Base */ - freg_t abr_base; /* ABR Pointer Base */ - freg_t ubr_base; /* UBR Pointer Base */ - u_int filler24; - freg_t vbrwq_base; /* VBR Wait Queue Base */ - freg_t abrwq_base; /* ABR Wait Queue Base */ - freg_t ubrwq_base; /* UBR Wait Queue Base */ - freg_t vct_base; /* Main VC Table Base */ - freg_t vcte_base; /* Extended Main VC Table Base */ - u_int filler2a[0x2C - 0x2A]; - freg_t cbr_tab_beg; /* CBR Table Begin */ - freg_t cbr_tab_end; /* CBR Table End */ - freg_t cbr_pointer; /* CBR Pointer */ - u_int filler2f[0x30 - 0x2F]; - freg_t prq_st_adr; /* Packet Ready Queue Start Address */ - freg_t prq_ed_adr; /* Packet Ready Queue End Address */ - freg_t prq_rd_ptr; /* Packet Ready Queue read pointer */ - freg_t prq_wr_ptr; /* Packet Ready Queue write pointer */ - freg_t tcq_st_adr; /* Transmit Complete Queue Start Address*/ - freg_t tcq_ed_adr; /* Transmit Complete Queue End Address */ - freg_t tcq_rd_ptr; /* Transmit Complete Queue read pointer */ - freg_t tcq_wr_ptr; /* Transmit Complete Queue write pointer*/ - u_int filler38[0x40 - 0x38]; - freg_t queue_base; /* Base address for PRQ and TCQ */ - freg_t desc_base; /* Base address of descriptor table */ - u_int filler42[0x45 - 0x42]; - freg_t mode_reg_0; /* Mode register 0 */ - freg_t mode_reg_1; /* Mode register 1 */ - freg_t intr_status_reg;/* Interrupt Status register */ - freg_t mask_reg; /* Mask Register */ - freg_t cell_ctr_high1; /* Total cell transfer count (high) */ - freg_t cell_ctr_lo1; /* Total cell transfer count (low) */ - freg_t state_reg; /* Status register */ - u_int filler4c[0x58 - 0x4c]; - freg_t curr_desc_num; /* Contains the current descriptor num */ - freg_t next_desc; /* Next descriptor */ - freg_t next_vc; /* Next VC */ - u_int filler5b[0x5d - 0x5b]; - freg_t present_slot_cnt;/* Present slot count */ - u_int filler5e[0x6a - 0x5e]; - freg_t new_desc_num; /* New descriptor number */ - freg_t new_vc; /* New VC */ - freg_t sched_tbl_ptr; /* Schedule table pointer */ - freg_t vbrwq_wptr; /* VBR wait queue write pointer */ - freg_t vbrwq_rptr; /* VBR wait queue read pointer */ - freg_t abrwq_wptr; /* ABR wait queue write pointer */ - freg_t abrwq_rptr; /* ABR wait queue read pointer */ - freg_t ubrwq_wptr; /* UBR wait queue write pointer */ - freg_t ubrwq_rptr; /* UBR wait queue read pointer */ - freg_t cbr_vc; /* CBR VC */ - freg_t vbr_sb_vc; /* VBR SB VC */ - freg_t abr_sb_vc; /* ABR SB VC */ - freg_t ubr_sb_vc; /* UBR SB VC */ - freg_t vbr_next_link; /* VBR next link */ - freg_t abr_next_link; /* ABR next link */ - freg_t ubr_next_link; /* UBR next link */ - u_int filler7a[0x7c-0x7a]; - freg_t out_rate_head; /* Out of rate head */ - u_int filler7d[0xca-0x7d]; /* pad out to full address space */ - freg_t cell_ctr_high1_nc;/* Total cell transfer count (high) */ - freg_t cell_ctr_lo1_nc;/* Total cell transfer count (low) */ - u_int fillercc[0x100-0xcc]; /* pad out to full address space */ + ffreg_t idlehead_high; /* Idle cell header (high) */ + ffreg_t idlehead_low; /* Idle cell header (low) */ + ffreg_t maxrate; /* Maximum rate */ + ffreg_t stparms; /* Traffic Management Parameters */ + ffreg_t abrubr_abr; /* ABRUBR Priority Byte 1, TCR Byte 0 */ + ffreg_t rm_type; /* */ + u_int filler5[0x17 - 0x06]; + ffreg_t cmd_reg; /* Command register */ + u_int filler18[0x20 - 0x18]; + ffreg_t cbr_base; /* CBR Pointer Base */ + ffreg_t vbr_base; /* VBR Pointer Base */ + ffreg_t abr_base; /* ABR Pointer Base */ + ffreg_t ubr_base; /* UBR Pointer Base */ + u_int filler24; + ffreg_t vbrwq_base; /* VBR Wait Queue Base */ + ffreg_t abrwq_base; /* ABR Wait Queue Base */ + ffreg_t ubrwq_base; /* UBR Wait Queue Base */ + ffreg_t vct_base; /* Main VC Table Base */ + ffreg_t vcte_base; /* Extended Main VC Table Base */ + u_int filler2a[0x2C - 0x2A]; + ffreg_t cbr_tab_beg; /* CBR Table Begin */ + ffreg_t cbr_tab_end; /* CBR Table End */ + ffreg_t cbr_pointer; /* CBR Pointer */ + u_int filler2f[0x30 - 0x2F]; + ffreg_t prq_st_adr; /* Packet Ready Queue Start Address */ + ffreg_t prq_ed_adr; /* Packet Ready Queue End Address */ + ffreg_t prq_rd_ptr; /* Packet Ready Queue read pointer */ + ffreg_t prq_wr_ptr; /* Packet Ready Queue write pointer */ + ffreg_t tcq_st_adr; /* Transmit Complete Queue Start Address*/ + ffreg_t tcq_ed_adr; /* Transmit Complete Queue End Address */ + ffreg_t tcq_rd_ptr; /* Transmit Complete Queue read pointer */ + ffreg_t tcq_wr_ptr; /* Transmit Complete Queue write pointer*/ + u_int filler38[0x40 - 0x38]; + ffreg_t queue_base; /* Base address for PRQ and TCQ */ + ffreg_t desc_base; /* Base address of descriptor table */ + u_int filler42[0x45 - 0x42]; + ffreg_t mode_reg_0; /* Mode register 0 */ + ffreg_t mode_reg_1; /* Mode register 1 */ + ffreg_t intr_status_reg;/* Interrupt Status register */ + ffreg_t mask_reg; /* Mask Register */ + ffreg_t cell_ctr_high1; /* Total cell transfer count (high) */ + ffreg_t cell_ctr_lo1; /* Total cell transfer count (low) */ + ffreg_t state_reg; /* Status register */ + u_int filler4c[0x58 - 0x4c]; + ffreg_t curr_desc_num; /* Contains the current descriptor num */ + ffreg_t next_desc; /* Next descriptor */ + ffreg_t next_vc; /* Next VC */ + u_int filler5b[0x5d - 0x5b]; + ffreg_t present_slot_cnt;/* Present slot count */ + u_int filler5e[0x6a - 0x5e]; + ffreg_t new_desc_num; /* New descriptor number */ + ffreg_t new_vc; /* New VC */ + ffreg_t sched_tbl_ptr; /* Schedule table pointer */ + ffreg_t vbrwq_wptr; /* VBR wait queue write pointer */ + ffreg_t vbrwq_rptr; /* VBR wait queue read pointer */ + ffreg_t abrwq_wptr; /* ABR wait queue write pointer */ + ffreg_t abrwq_rptr; /* ABR wait queue read pointer */ + ffreg_t ubrwq_wptr; /* UBR wait queue write pointer */ + ffreg_t ubrwq_rptr; /* UBR wait queue read pointer */ + ffreg_t cbr_vc; /* CBR VC */ + ffreg_t vbr_sb_vc; /* VBR SB VC */ + ffreg_t abr_sb_vc; /* ABR SB VC */ + ffreg_t ubr_sb_vc; /* UBR SB VC */ + ffreg_t vbr_next_link; /* VBR next link */ + ffreg_t abr_next_link; /* ABR next link */ + ffreg_t ubr_next_link; /* UBR next link */ + u_int filler7a[0x7c-0x7a]; + ffreg_t out_rate_head; /* Out of rate head */ + u_int filler7d[0xca-0x7d]; /* pad out to full address space */ + ffreg_t cell_ctr_high1_nc;/* Total cell transfer count (high) */ + ffreg_t cell_ctr_lo1_nc;/* Total cell transfer count (low) */ + u_int fillercc[0x100-0xcc]; /* pad out to full address space */ } ffredn_t; typedef struct _rfredn_t { --- linux-lts-quantal-3.5.0.orig/drivers/s390/cio/device_pgid.c +++ linux-lts-quantal-3.5.0/drivers/s390/cio/device_pgid.c @@ -234,7 +234,7 @@ * Determine pathgroup state from PGID data. */ static void pgid_analyze(struct ccw_device *cdev, struct pgid **p, - int *mismatch, int *reserved, u8 *reset) + int *mismatch, u8 *reserved, u8 *reset) { struct pgid *pgid = &cdev->private->pgid[0]; struct pgid *first = NULL; @@ -248,7 +248,7 @@ if ((cdev->private->pgid_valid_mask & lpm) == 0) continue; if (pgid->inf.ps.state2 == SNID_STATE2_RESVD_ELSE) - *reserved = 1; + *reserved |= lpm; if (pgid_is_reset(pgid)) { *reset |= lpm; continue; @@ -316,14 +316,14 @@ struct subchannel *sch = to_subchannel(cdev->dev.parent); struct pgid *pgid; int mismatch = 0; - int reserved = 0; + u8 reserved = 0; u8 reset = 0; u8 donepm; if (rc) goto out; pgid_analyze(cdev, &pgid, &mismatch, &reserved, &reset); - if (reserved) + if (reserved == cdev->private->pgid_valid_mask) rc = -EUSERS; else if (mismatch) rc = -EOPNOTSUPP; @@ -336,7 +336,7 @@ } out: CIO_MSG_EVENT(2, "snid: device 0.%x.%04x: rc=%d pvm=%02x vpm=%02x " - "todo=%02x mism=%d rsvd=%d reset=%02x\n", id->ssid, + "todo=%02x mism=%d rsvd=%02x reset=%02x\n", id->ssid, id->devno, rc, cdev->private->pgid_valid_mask, sch->vpm, cdev->private->pgid_todo_mask, mismatch, reserved, reset); switch (rc) { --- linux-lts-quantal-3.5.0.orig/drivers/s390/char/sclp_cmd.c +++ linux-lts-quantal-3.5.0/drivers/s390/char/sclp_cmd.c @@ -529,6 +529,8 @@ add_memory_merged(0); } +#define MEM_SCT_SIZE (1UL << SECTION_SIZE_BITS) + static void __init insert_increment(u16 rn, int standby, int assigned) { struct memory_increment *incr, *new_incr; @@ -541,7 +543,7 @@ new_incr->rn = rn; new_incr->standby = standby; if (!standby) - new_incr->usecount = 1; + new_incr->usecount = rzm > MEM_SCT_SIZE ? rzm/MEM_SCT_SIZE : 1; last_rn = 0; prev = &sclp_mem_list; list_for_each_entry(incr, &sclp_mem_list, list) { --- linux-lts-quantal-3.5.0.orig/drivers/s390/net/qeth_l3_main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/kvm/kvm_virtio.c +++ linux-lts-quantal-3.5.0/drivers/s390/kvm/kvm_virtio.c @@ -418,6 +418,26 @@ } /* + * For s390-virtio, we expect a page above main storage containing + * the virtio configuration. Try to actually load from this area + * in order to figure out if the host provides this page. + */ +static int __init test_devices_support(unsigned long addr) +{ + int ret = -EIO; + + asm volatile( + "0: lura 0,%1\n" + "1: xgr %0,%0\n" + "2:\n" + EX_TABLE(0b,2b) + EX_TABLE(1b,2b) + : "+d" (ret) + : "a" (addr) + : "0", "cc"); + return ret; +} +/* * Init function for virtio * devices are in a single page above top of "normal" mem */ @@ -428,21 +448,23 @@ if (!MACHINE_IS_KVM) return -ENODEV; + if (test_devices_support(real_memory_size) < 0) + return -ENODEV; + + rc = vmem_add_mapping(real_memory_size, PAGE_SIZE); + if (rc) + return rc; + + kvm_devices = (void *) real_memory_size; + kvm_root = root_device_register("kvm_s390"); if (IS_ERR(kvm_root)) { rc = PTR_ERR(kvm_root); printk(KERN_ERR "Could not register kvm_s390 root device"); + vmem_remove_mapping(real_memory_size, PAGE_SIZE); return rc; } - rc = vmem_add_mapping(real_memory_size, PAGE_SIZE); - if (rc) { - root_device_unregister(kvm_root); - return rc; - } - - kvm_devices = (void *) real_memory_size; - INIT_WORK(&hotplug_work, hotplug_devices); service_subclass_irq_register(); --- linux-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_ext.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_unit.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_fsf.c +++ linux-lts-quantal-3.5.0/drivers/s390/scsi/zfcp_fsf.c @@ -3,7 +3,7 @@ * * Implementation of FSF commands. * - * Copyright IBM Corporation 2002, 2010 + * Copyright IBM Corp. 2002, 2013 */ #define KMSG_COMPONENT "zfcp" @@ -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; @@ -455,11 +483,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_supported_classes(shost) = FC_COS_CLASS2 | FC_COS_CLASS3; - adapter->hydra_version = bottom->adapter_type; adapter->timer_ticks = bottom->timer_interval & ZFCP_FSF_TIMER_INT_MASK; adapter->stat_read_buf_num = max(bottom->status_read_buf_num, (u16)FSF_STATUS_READS_RECOM); @@ -467,6 +492,19 @@ if (fc_host_permanent_port_name(shost) == -1) fc_host_permanent_port_name(shost) = fc_host_port_name(shost); + zfcp_scsi_set_prot(adapter); + + /* no error return above here, otherwise must fix call chains */ + /* do not evaluate invalid fields */ + if (req->qtcb->header.fsf_status == FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE) + return 0; + + fc_host_port_id(shost) = ntoh24(bottom->s_id); + fc_host_speed(shost) = + zfcp_fsf_convert_portspeed(bottom->fc_link_speed); + + adapter->hydra_version = bottom->adapter_type; + switch (bottom->fc_topology) { case FSF_TOPO_P2P: adapter->peer_d_id = ntoh24(bottom->peer_d_id); @@ -488,8 +526,6 @@ return -EIO; } - zfcp_scsi_set_prot(adapter); - return 0; } @@ -534,8 +570,14 @@ fc_host_port_type(shost) = FC_PORTTYPE_UNKNOWN; adapter->hydra_version = 0; + /* avoids adapter shutdown to be able to recognize + * events such as LINK UP */ + atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK, + &adapter->status); zfcp_fsf_link_down_info_eval(req, &qtcb->header.fsf_status_qual.link_down_info); + if (zfcp_fsf_exchange_config_evaluate(req)) + return; break; default: zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh3"); @@ -580,7 +622,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 +814,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 +930,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 +1784,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 +1903,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 +1999,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 +2014,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 +2052,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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_ccw.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_aux.c +++ linux-lts-quantal-3.5.0/drivers/s390/scsi/zfcp_aux.c @@ -3,7 +3,7 @@ * * Module interface and handling of zfcp data structures. * - * Copyright IBM Corporation 2002, 2010 + * Copyright IBM Corp. 2002, 2013 */ /* @@ -23,6 +23,7 @@ * Christof Schmitt * Martin Petermann * Sven Schuetz + * Steffen Maier */ #define KMSG_COMPONENT "zfcp" @@ -415,6 +416,8 @@ adapter->dma_parms.max_segment_size = ZFCP_QDIO_SBALE_LEN; adapter->ccw_device->dev.dma_parms = &adapter->dma_parms; + adapter->stat_read_buf_num = FSF_STATUS_READS_RECOM; + if (!zfcp_scsi_adapter_register(adapter)) return adapter; @@ -519,6 +522,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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_scsi.c +++ linux-lts-quantal-3.5.0/drivers/s390/scsi/zfcp_scsi.c @@ -3,7 +3,7 @@ * * Interface to Linux SCSI midlayer. * - * Copyright IBM Corporation 2002, 2010 + * Copyright IBM Corp. 2002, 2013 */ #define KMSG_COMPONENT "zfcp" @@ -311,8 +311,12 @@ .proc_name = "zfcp", .can_queue = 4096, .this_id = -1, - .sg_tablesize = 1, /* adjusted later */ - .max_sectors = 8, /* adjusted later */ + .sg_tablesize = (((QDIO_MAX_ELEMENTS_PER_BUFFER - 1) + * ZFCP_QDIO_MAX_SBALS_PER_REQ) - 2), + /* GCD, adjusted later */ + .max_sectors = (((QDIO_MAX_ELEMENTS_PER_BUFFER - 1) + * ZFCP_QDIO_MAX_SBALS_PER_REQ) - 2) * 8, + /* GCD, adjusted later */ .dma_boundary = ZFCP_QDIO_SBALE_LEN - 1, .cmd_per_lun = 1, .use_clustering = 1, --- linux-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_dbf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_qdio.c +++ linux-lts-quantal-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) % @@ -220,11 +224,9 @@ static int zfcp_qdio_sbal_check(struct zfcp_qdio *qdio) { - spin_lock_irq(&qdio->req_q_lock); if (atomic_read(&qdio->req_q_free) || !(atomic_read(&qdio->adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP)) return 1; - spin_unlock_irq(&qdio->req_q_lock); return 0; } @@ -242,9 +244,8 @@ { long ret; - spin_unlock_irq(&qdio->req_q_lock); - ret = wait_event_interruptible_timeout(qdio->req_q_wq, - zfcp_qdio_sbal_check(qdio), 5 * HZ); + ret = wait_event_interruptible_lock_irq_timeout(qdio->req_q_wq, + zfcp_qdio_sbal_check(qdio), qdio->req_q_lock, 5 * HZ); if (!(atomic_read(&qdio->adapter->status) & ZFCP_STATUS_ADAPTER_QDIOUP)) return -EIO; @@ -258,7 +259,6 @@ zfcp_erp_adapter_reopen(qdio->adapter, 0, "qdsbg_1"); } - spin_lock_irq(&qdio->req_q_lock); return -EIO; } --- linux-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_cfdc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_dbf.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_erp.c +++ linux-lts-quantal-3.5.0/drivers/s390/scsi/zfcp_erp.c @@ -102,10 +102,13 @@ if (atomic_read(&port->status) & ZFCP_STATUS_COMMON_ERP_INUSE) zfcp_erp_action_dismiss(&port->erp_action); - else - shost_for_each_device(sdev, port->adapter->scsi_host) + else { + spin_lock(port->adapter->scsi_host->host_lock); + __shost_for_each_device(sdev, port->adapter->scsi_host) if (sdev_to_zfcp(sdev)->port == port) zfcp_erp_action_dismiss_lun(sdev); + spin_unlock(port->adapter->scsi_host->host_lock); + } } static void zfcp_erp_action_dismiss_adapter(struct zfcp_adapter *adapter) @@ -592,9 +595,11 @@ { struct scsi_device *sdev; - shost_for_each_device(sdev, port->adapter->scsi_host) + spin_lock(port->adapter->scsi_host->host_lock); + __shost_for_each_device(sdev, port->adapter->scsi_host) if (sdev_to_zfcp(sdev)->port == port) _zfcp_erp_lun_reopen(sdev, clear, id, 0); + spin_unlock(port->adapter->scsi_host->host_lock); } static void zfcp_erp_strategy_followup_failed(struct zfcp_erp_action *act) @@ -1435,8 +1440,10 @@ atomic_set_mask(common_mask, &port->status); read_unlock_irqrestore(&adapter->port_list_lock, flags); - shost_for_each_device(sdev, adapter->scsi_host) + spin_lock_irqsave(adapter->scsi_host->host_lock, flags); + __shost_for_each_device(sdev, adapter->scsi_host) atomic_set_mask(common_mask, &sdev_to_zfcp(sdev)->status); + spin_unlock_irqrestore(adapter->scsi_host->host_lock, flags); } /** @@ -1470,11 +1477,13 @@ } read_unlock_irqrestore(&adapter->port_list_lock, flags); - shost_for_each_device(sdev, adapter->scsi_host) { + spin_lock_irqsave(adapter->scsi_host->host_lock, flags); + __shost_for_each_device(sdev, adapter->scsi_host) { atomic_clear_mask(common_mask, &sdev_to_zfcp(sdev)->status); if (clear_counter) atomic_set(&sdev_to_zfcp(sdev)->erp_counter, 0); } + spin_unlock_irqrestore(adapter->scsi_host->host_lock, flags); } /** @@ -1488,16 +1497,19 @@ { struct scsi_device *sdev; u32 common_mask = mask & ZFCP_COMMON_FLAGS; + unsigned long flags; atomic_set_mask(mask, &port->status); if (!common_mask) return; - shost_for_each_device(sdev, port->adapter->scsi_host) + spin_lock_irqsave(port->adapter->scsi_host->host_lock, flags); + __shost_for_each_device(sdev, port->adapter->scsi_host) if (sdev_to_zfcp(sdev)->port == port) atomic_set_mask(common_mask, &sdev_to_zfcp(sdev)->status); + spin_unlock_irqrestore(port->adapter->scsi_host->host_lock, flags); } /** @@ -1512,6 +1524,7 @@ struct scsi_device *sdev; u32 common_mask = mask & ZFCP_COMMON_FLAGS; u32 clear_counter = mask & ZFCP_STATUS_COMMON_ERP_FAILED; + unsigned long flags; atomic_clear_mask(mask, &port->status); @@ -1521,13 +1534,15 @@ if (clear_counter) atomic_set(&port->erp_counter, 0); - shost_for_each_device(sdev, port->adapter->scsi_host) + spin_lock_irqsave(port->adapter->scsi_host->host_lock, flags); + __shost_for_each_device(sdev, port->adapter->scsi_host) if (sdev_to_zfcp(sdev)->port == port) { atomic_clear_mask(common_mask, &sdev_to_zfcp(sdev)->status); if (clear_counter) atomic_set(&sdev_to_zfcp(sdev)->erp_counter, 0); } + spin_unlock_irqrestore(port->adapter->scsi_host->host_lock, flags); } /** --- linux-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_sysfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/s390/scsi/zfcp_def.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/rtc/rtc-at91rm9200.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-at91rm9200.c @@ -297,7 +297,7 @@ if (ret) { printk(KERN_ERR "at91_rtc: IRQ %d already in use.\n", irq); - return ret; + goto err_unmap; } /* cpu init code should really have flagged this device as @@ -309,13 +309,20 @@ rtc = rtc_device_register(pdev->name, &pdev->dev, &at91_rtc_ops, THIS_MODULE); if (IS_ERR(rtc)) { - free_irq(irq, pdev); - return PTR_ERR(rtc); + ret = PTR_ERR(rtc); + goto err_free_irq; } platform_set_drvdata(pdev, rtc); printk(KERN_INFO "AT91 Real Time Clock driver.\n"); return 0; + +err_free_irq: + free_irq(irq, pdev); +err_unmap: + iounmap(at91_rtc_regs); + + return ret; } /* @@ -332,6 +339,7 @@ free_irq(irq, pdev); rtc_device_unregister(rtc); + iounmap(at91_rtc_regs); platform_set_drvdata(pdev, NULL); return 0; --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-cmos.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-cmos.c @@ -805,9 +805,8 @@ mask = RTC_IRQMASK; tmp &= ~mask; CMOS_WRITE(tmp, RTC_CONTROL); + hpet_mask_rtc_irq_bit(mask); - /* shut down hpet emulation - we don't need it for alarm */ - hpet_mask_rtc_irq_bit(RTC_PIE|RTC_AIE|RTC_UIE); cmos_checkintr(cmos, tmp); } spin_unlock_irq(&rtc_lock); @@ -872,6 +871,7 @@ rtc_update_irq(cmos->rtc, 1, mask); tmp &= ~RTC_AIE; hpet_mask_rtc_irq_bit(RTC_AIE); + hpet_rtc_timer_init(); } while (mask & RTC_AIE); spin_unlock_irq(&rtc_lock); } --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-wm831x.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/rtc/rtc-pcf2123.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-pcf2123.c @@ -264,6 +264,7 @@ if (!(rxbuf[0] & 0x20)) { dev_err(&spi->dev, "chip not found\n"); + ret = -ENODEV; goto kfree_exit; } --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-vt8500.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-vt8500.c @@ -69,7 +69,7 @@ | ALARM_SEC_BIT) #define VT8500_RTC_CR_ENABLE (1 << 0) /* Enable RTC */ -#define VT8500_RTC_CR_24H (1 << 1) /* 24h time format */ +#define VT8500_RTC_CR_12H (1 << 1) /* 12h time format */ #define VT8500_RTC_CR_SM_ENABLE (1 << 2) /* Enable periodic irqs */ #define VT8500_RTC_CR_SM_SEC (1 << 3) /* 0: 1Hz/60, 1: 1Hz */ #define VT8500_RTC_CR_CALIB (1 << 4) /* Enable calibration */ @@ -118,7 +118,7 @@ tm->tm_min = bcd2bin((time & TIME_MIN_MASK) >> TIME_MIN_S); tm->tm_hour = bcd2bin((time & TIME_HOUR_MASK) >> TIME_HOUR_S); tm->tm_mday = bcd2bin(date & DATE_DAY_MASK); - tm->tm_mon = bcd2bin((date & DATE_MONTH_MASK) >> DATE_MONTH_S); + tm->tm_mon = bcd2bin((date & DATE_MONTH_MASK) >> DATE_MONTH_S) - 1; tm->tm_year = bcd2bin((date & DATE_YEAR_MASK) >> DATE_YEAR_S) + ((date >> DATE_CENTURY_S) & 1 ? 200 : 100); tm->tm_wday = (time & TIME_DOW_MASK) >> TIME_DOW_S; @@ -137,8 +137,9 @@ } writel((bin2bcd(tm->tm_year - 100) << DATE_YEAR_S) - | (bin2bcd(tm->tm_mon) << DATE_MONTH_S) - | (bin2bcd(tm->tm_mday)), + | (bin2bcd(tm->tm_mon + 1) << DATE_MONTH_S) + | (bin2bcd(tm->tm_mday)) + | ((tm->tm_year >= 200) << DATE_CENTURY_S), vt8500_rtc->regbase + VT8500_RTC_DS); writel((bin2bcd(tm->tm_wday) << TIME_DOW_S) | (bin2bcd(tm->tm_hour) << TIME_HOUR_S) @@ -248,7 +249,7 @@ } /* Enable RTC and set it to 24-hour mode */ - writel(VT8500_RTC_CR_ENABLE | VT8500_RTC_CR_24H, + writel(VT8500_RTC_CR_ENABLE, vt8500_rtc->regbase + VT8500_RTC_CR); vt8500_rtc->rtc = rtc_device_register("vt8500-rtc", &pdev->dev, --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-rv3029c2.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-rv3029c2.c @@ -310,7 +310,7 @@ dev_dbg(&client->dev, "alarm IRQ armed\n"); } else { /* disable AIE irq */ - ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 1); + ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 0); if (ret) return ret; --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-isl1208.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-isl1208.c @@ -494,6 +494,7 @@ { unsigned long timeout = jiffies + msecs_to_jiffies(1000); struct i2c_client *client = data; + struct rtc_device *rtc = i2c_get_clientdata(client); int handled = 0, sr, err; /* @@ -516,6 +517,8 @@ if (sr & ISL1208_REG_SR_ALM) { dev_dbg(&client->dev, "alarm!\n"); + rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF); + /* Clear the alarm */ sr &= ~ISL1208_REG_SR_ALM; sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr); --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-rs5c348.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/rtc/rtc-imxdi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/rtc/rtc-pl031.c +++ linux-lts-quantal-3.5.0/drivers/rtc/rtc-pl031.c @@ -44,6 +44,7 @@ #define RTC_YMR 0x34 /* Year match register */ #define RTC_YLR 0x38 /* Year data load register */ +#define RTC_CR_EN (1 << 0) /* counter enable bit */ #define RTC_CR_CWEN (1 << 26) /* Clockwatch enable bit */ #define RTC_TCR_EN (1 << 1) /* Periodic timer enable bit */ @@ -304,7 +305,7 @@ int ret; struct pl031_local *ldata; struct rtc_class_ops *ops = id->data; - unsigned long time; + unsigned long time, data; ret = amba_request_regions(adev, NULL); if (ret) @@ -331,10 +332,13 @@ dev_dbg(&adev->dev, "designer ID = 0x%02x\n", ldata->hw_designer); dev_dbg(&adev->dev, "revision = 0x%01x\n", ldata->hw_revision); + data = readl(ldata->base + RTC_CR); /* Enable the clockwatch on ST Variants */ if (ldata->hw_designer == AMBA_VENDOR_ST) - writel(readl(ldata->base + RTC_CR) | RTC_CR_CWEN, - ldata->base + RTC_CR); + data |= RTC_CR_CWEN; + else + data |= RTC_CR_EN; + writel(data, ldata->base + RTC_CR); /* * On ST PL031 variants, the RTC reset value does not provide correct --- linux-lts-quantal-3.5.0.orig/drivers/rtc/rtc-twl.c +++ linux-lts-quantal-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) @@ -518,6 +523,7 @@ } platform_set_drvdata(pdev, rtc); + device_init_wakeup(&pdev->dev, 1); return 0; out2: --- linux-lts-quantal-3.5.0.orig/drivers/misc/hpilo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/wd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/iorw.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/interface.c +++ linux-lts-quantal-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) +int mei_write_message(struct mei_device *dev, struct mei_msg_hdr *header, + unsigned char *buf, unsigned long length) { - u32 temp_msg = 0; - unsigned long bytes_written = 0; - unsigned char buffer_depth, filled_slots, empty_slots; - unsigned long dw_to_write; + unsigned long rem, dw_cnt; + u32 *reg_buf = (u32 *)buf; + int i; + int empty_slots; - dev->host_hw_state = mei_hcsr_read(dev); - - 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); + empty_slots = mei_hbuf_empty_slots(dev); + dev_dbg(&dev->pdev->dev, "empty slots = %hu.\n", empty_slots); - dw_to_write = ((write_length + 3) / 4); - - 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-lts-quantal-3.5.0.orig/drivers/misc/mei/main.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/interrupt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/init.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/interface.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/mei/mei_dev.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/misc/sgi-xp/xpc_main.c +++ linux-lts-quantal-3.5.0/drivers/misc/sgi-xp/xpc_main.c @@ -53,6 +53,10 @@ #include #include "xpc.h" +#ifdef CONFIG_X86_64 +#include +#endif + /* define two XPC debug device structures to be used with dev_dbg() et al */ struct device_driver xpc_dbg_name = { @@ -1079,6 +1083,9 @@ return NOTIFY_DONE; } +/* Used to only allow one cpu to complete disconnect */ +static unsigned int xpc_die_disconnecting; + /* * Notify other partitions to deactivate from us by first disengaging from all * references to our memory. @@ -1092,6 +1099,9 @@ long keep_waiting; long wait_to_print; + if (cmpxchg(&xpc_die_disconnecting, 0, 1)) + return; + /* keep xpc_hb_checker thread from doing anything (just in case) */ xpc_exiting = 1; @@ -1159,7 +1169,7 @@ * about the lack of a heartbeat. */ static int -xpc_system_die(struct notifier_block *nb, unsigned long event, void *unused) +xpc_system_die(struct notifier_block *nb, unsigned long event, void *_die_args) { #ifdef CONFIG_IA64 /* !!! temporary kludge */ switch (event) { @@ -1191,7 +1201,27 @@ break; } #else - xpc_die_deactivate(); + struct die_args *die_args = _die_args; + + switch (event) { + case DIE_TRAP: + if (die_args->trapnr == X86_TRAP_DF) + xpc_die_deactivate(); + + if (((die_args->trapnr == X86_TRAP_MF) || + (die_args->trapnr == X86_TRAP_XF)) && + !user_mode_vm(die_args->regs)) + xpc_die_deactivate(); + + break; + case DIE_INT3: + case DIE_DEBUG: + break; + case DIE_OOPS: + case DIE_GPF: + default: + xpc_die_deactivate(); + } #endif return NOTIFY_DONE; --- linux-lts-quantal-3.5.0.orig/drivers/misc/sgi-xp/xpc_uv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/cpufreq/cpufreq.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/cpufreq/cpufreq_stats.c +++ linux-lts-quantal-3.5.0/drivers/cpufreq/cpufreq_stats.c @@ -328,6 +328,7 @@ cpufreq_update_policy(cpu); break; case CPU_DOWN_PREPARE: + case CPU_DOWN_PREPARE_FROZEN: cpufreq_stats_free_sysfs(cpu); break; case CPU_DEAD: --- linux-lts-quantal-3.5.0.orig/drivers/cpufreq/longhaul.c +++ linux-lts-quantal-3.5.0/drivers/cpufreq/longhaul.c @@ -77,7 +77,7 @@ static int scale_voltage; static int disable_acpi_c3; static int revid_errata; - +static int enable; /* Clock ratios multiplied by 10 */ static int mults[32]; @@ -965,6 +965,10 @@ if (!x86_match_cpu(longhaul_id)) return -ENODEV; + if (!enable) { + printk(KERN_ERR PFX "Option \"enable\" not set. Aborting.\n"); + return -ENODEV; + } #ifdef CONFIG_SMP if (num_online_cpus() > 1) { printk(KERN_ERR PFX "More than 1 CPU detected, " @@ -1021,6 +1025,10 @@ * such. */ module_param(revid_errata, int, 0644); MODULE_PARM_DESC(revid_errata, "Ignore CPU Revision ID"); +/* By default driver is disabled to prevent incompatible + * system freeze. */ +module_param(enable, int, 0644); +MODULE_PARM_DESC(enable, "Enable driver"); MODULE_AUTHOR("Dave Jones "); MODULE_DESCRIPTION("Longhaul driver for VIA Cyrix processors."); --- linux-lts-quantal-3.5.0.orig/drivers/cpufreq/powernow-k8.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/cpufreq/exynos-cpufreq.c +++ linux-lts-quantal-3.5.0/drivers/cpufreq/exynos-cpufreq.c @@ -210,8 +210,6 @@ cpufreq_frequency_table_get_attr(exynos_info->freq_table, policy->cpu); - locking_frequency = exynos_getspeed(0); - /* set the transition latency value */ policy->cpuinfo.transition_latency = 100000; @@ -275,6 +273,8 @@ goto err_vdd_arm; } + locking_frequency = exynos_getspeed(0); + register_pm_notifier(&exynos_cpufreq_nb); if (cpufreq_register_driver(&exynos_driver)) { --- linux-lts-quantal-3.5.0.orig/drivers/vhost/vhost.c +++ linux-lts-quantal-3.5.0/drivers/vhost/vhost.c @@ -1077,7 +1077,7 @@ } _iov = iov + ret; size = reg->memory_size - addr + reg->guest_phys_addr; - _iov->iov_len = min((u64)len, size); + _iov->iov_len = min((u64)len - s, size); _iov->iov_base = (void __user *)(unsigned long) (reg->userspace_addr + addr - reg->guest_phys_addr); s += size; --- linux-lts-quantal-3.5.0.orig/drivers/vhost/net.c +++ linux-lts-quantal-3.5.0/drivers/vhost/net.c @@ -235,7 +235,8 @@ msg.msg_controllen = 0; ubufs = NULL; } else { - struct ubuf_info *ubuf = &vq->ubuf_info[head]; + struct ubuf_info *ubuf; + ubuf = vq->ubuf_info + vq->upend_idx; vq->heads[vq->upend_idx].len = len; ubuf->callback = vhost_zerocopy_callback; @@ -379,7 +380,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-lts-quantal-3.5.0.orig/drivers/gpu/vga/vga_switcheroo.c +++ linux-lts-quantal-3.5.0/drivers/gpu/vga/vga_switcheroo.c @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -70,27 +71,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 +84,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 +100,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 +152,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(); } @@ -323,8 +339,10 @@ if (new_client->fb_info) { struct fb_event event; + console_lock(); event.info = new_client->fb_info; fb_notifier_call_chain(FB_EVENT_REMAP_ALL_CONSOLE, &event); + console_unlock(); } ret = vgasr_priv.handler->switchto(new_client->id); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_crtc.c +++ linux-lts-quantal-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); @@ -2023,7 +2023,7 @@ switch (bpp) { case 8: - fmt = DRM_FORMAT_RGB332; + fmt = DRM_FORMAT_C8; break; case 16: if (depth == 15) @@ -3633,6 +3633,7 @@ int *bpp) { switch (format) { + case DRM_FORMAT_C8: case DRM_FORMAT_RGB332: case DRM_FORMAT_BGR233: *depth = 8; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_crtc_helper.c +++ linux-lts-quantal-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); @@ -328,8 +346,8 @@ * drm_crtc_set_mode - set a mode * @crtc: CRTC to program * @mode: mode to use - * @x: width of mode - * @y: height of mode + * @x: horizontal offset into the surface + * @y: vertical offset into the surface * * LOCKING: * Caller must hold mode config lock. --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_fb_helper.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_pci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_edid_load.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_cache.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_dp_i2c_helper.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_stub.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_platform.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_prime.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/drm_prime.c @@ -61,6 +61,7 @@ struct dma_buf *dma_buf; uint32_t handle; }; +static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle); int drm_gem_prime_handle_to_fd(struct drm_device *dev, struct drm_file *file_priv, uint32_t handle, uint32_t flags, @@ -68,7 +69,8 @@ { struct drm_gem_object *obj; void *buf; - int ret; + int ret = 0; + struct dma_buf *dmabuf; obj = drm_gem_object_lookup(dev, file_priv, handle); if (!obj) @@ -77,43 +79,44 @@ mutex_lock(&file_priv->prime.lock); /* re-export the original imported object */ if (obj->import_attach) { - get_dma_buf(obj->import_attach->dmabuf); - *prime_fd = dma_buf_fd(obj->import_attach->dmabuf, flags); - drm_gem_object_unreference_unlocked(obj); - mutex_unlock(&file_priv->prime.lock); - return 0; + dmabuf = obj->import_attach->dmabuf; + goto out_have_obj; } if (obj->export_dma_buf) { - get_dma_buf(obj->export_dma_buf); - *prime_fd = dma_buf_fd(obj->export_dma_buf, flags); - drm_gem_object_unreference_unlocked(obj); - } else { - buf = dev->driver->gem_prime_export(dev, obj, flags); - if (IS_ERR(buf)) { - /* normally the created dma-buf takes ownership of the ref, - * but if that fails then drop the ref - */ - drm_gem_object_unreference_unlocked(obj); - mutex_unlock(&file_priv->prime.lock); - return PTR_ERR(buf); - } - obj->export_dma_buf = buf; - *prime_fd = dma_buf_fd(buf, flags); + dmabuf = obj->export_dma_buf; + goto out_have_obj; } + + buf = dev->driver->gem_prime_export(dev, obj, flags); + if (IS_ERR(buf)) { + /* normally the created dma-buf takes ownership of the ref, + * but if that fails then drop the ref + */ + ret = PTR_ERR(buf); + goto out; + } + obj->export_dma_buf = buf; + /* if we've exported this buffer the cheat and add it to the import list * so we get the correct handle back */ - ret = drm_prime_add_imported_buf_handle(&file_priv->prime, - obj->export_dma_buf, handle); - if (ret) { - drm_gem_object_unreference_unlocked(obj); - mutex_unlock(&file_priv->prime.lock); - return ret; - } + ret = drm_prime_add_buf_handle(&file_priv->prime, + obj->export_dma_buf, handle); + if (ret) + goto out; + *prime_fd = dma_buf_fd(buf, flags); mutex_unlock(&file_priv->prime.lock); return 0; + +out_have_obj: + get_dma_buf(dmabuf); + *prime_fd = dma_buf_fd(dmabuf, flags); +out: + drm_gem_object_unreference_unlocked(obj); + mutex_unlock(&file_priv->prime.lock); + return ret; } EXPORT_SYMBOL(drm_gem_prime_handle_to_fd); @@ -130,7 +133,7 @@ mutex_lock(&file_priv->prime.lock); - ret = drm_prime_lookup_imported_buf_handle(&file_priv->prime, + ret = drm_prime_lookup_buf_handle(&file_priv->prime, dma_buf, handle); if (!ret) { ret = 0; @@ -149,7 +152,7 @@ if (ret) goto out_put; - ret = drm_prime_add_imported_buf_handle(&file_priv->prime, + ret = drm_prime_add_buf_handle(&file_priv->prime, dma_buf, *handle); if (ret) goto fail; @@ -307,7 +310,7 @@ } EXPORT_SYMBOL(drm_prime_destroy_file_private); -int drm_prime_add_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle) +static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle) { struct drm_prime_member *member; @@ -315,14 +318,14 @@ if (!member) return -ENOMEM; + get_dma_buf(dma_buf); member->dma_buf = dma_buf; member->handle = handle; list_add(&member->entry, &prime_fpriv->head); return 0; } -EXPORT_SYMBOL(drm_prime_add_imported_buf_handle); -int drm_prime_lookup_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle) +int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle) { struct drm_prime_member *member; @@ -334,19 +337,20 @@ } return -ENOENT; } -EXPORT_SYMBOL(drm_prime_lookup_imported_buf_handle); +EXPORT_SYMBOL(drm_prime_lookup_buf_handle); -void drm_prime_remove_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf) +void drm_prime_remove_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf) { struct drm_prime_member *member, *safe; mutex_lock(&prime_fpriv->lock); list_for_each_entry_safe(member, safe, &prime_fpriv->head, entry) { if (member->dma_buf == dma_buf) { + dma_buf_put(dma_buf); list_del(&member->entry); kfree(member); } } mutex_unlock(&prime_fpriv->lock); } -EXPORT_SYMBOL(drm_prime_remove_imported_buf_handle); +EXPORT_SYMBOL(drm_prime_remove_buf_handle); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_gem.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/drm_gem.c @@ -205,11 +205,11 @@ drm_gem_remove_prime_handles(struct drm_gem_object *obj, struct drm_file *filp) { if (obj->import_attach) { - drm_prime_remove_imported_buf_handle(&filp->prime, + drm_prime_remove_buf_handle(&filp->prime, obj->import_attach->dmabuf); } if (obj->export_dma_buf) { - drm_prime_remove_imported_buf_handle(&filp->prime, + drm_prime_remove_buf_handle(&filp->prime, obj->export_dma_buf); } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_irq.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/drm_irq.c @@ -981,7 +981,7 @@ */ void drm_vblank_pre_modeset(struct drm_device *dev, int crtc) { - /* vblank is not initialized (IRQ not installed ?) */ + /* vblank is not initialized (IRQ not installed ?), or has been freed */ if (!dev->num_crtcs) return; /* @@ -1003,6 +1003,10 @@ { unsigned long irqflags; + /* vblank is not initialized (IRQ not installed ?), or has been freed */ + if (!dev->num_crtcs) + return; + if (dev->vblank_inmodeset[crtc]) { spin_lock_irqsave(&dev->vbl_lock, irqflags); dev->vblank_disable_allowed = 1; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_usb.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/drm_usb.c @@ -18,7 +18,7 @@ usbdev = interface_to_usbdev(interface); dev->usbdev = usbdev; - dev->dev = &usbdev->dev; + dev->dev = &interface->dev; mutex_lock(&drm_global_mutex); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_fops.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_mm_hsw.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/drm_mm_hsw.c @@ -0,0 +1,762 @@ +/************************************************************************** + * + * 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 +#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_hsw structure + * drm_mm_hsw: 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_generic_hsw(struct drm_mm_hsw *mm, struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment, + unsigned long color) +{ + struct drm_mm_node_hsw *hole_node; + + hole_node = drm_mm_search_free_generic_hsw(mm, size, alignment, + color, 0); + if (!hole_node) + return -ENOSPC; + + drm_mm_insert_helper_hsw(hole_node, node, size, alignment, color); + return 0; +} +EXPORT_SYMBOL(drm_mm_insert_node_generic_hsw); + +int drm_mm_insert_node_hsw(struct drm_mm_hsw *mm, struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment) +{ + return drm_mm_insert_node_generic_hsw(mm, node, size, alignment, 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 (adj_start < start) + adj_start = start; + if (adj_end > end) + adj_end = end; + + 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); + 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_generic_hsw(struct drm_mm_hsw *mm, struct drm_mm_node_hsw *node, + unsigned long size, unsigned alignment, unsigned long color, + 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, color, + start, end, 0); + if (!hole_node) + return -ENOSPC; + + drm_mm_insert_helper_range_hsw(hole_node, node, + size, alignment, color, + start, end); + return 0; +} +EXPORT_SYMBOL(drm_mm_insert_node_in_range_generic_hsw); + +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) +{ + return drm_mm_insert_node_in_range_generic_hsw(mm, node, size, alignment, 0, start, end); +} +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_hsw. Only to be used on a struct drm_mm_node_hsw obtained by one of the + * drm_mm_get_block_hsw 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_end = 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_end = 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, 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; + + adj_start = hole_start = drm_mm_hole_node_start_hsw(prev_node); + adj_end = hole_end = drm_mm_hole_node_end_hsw(prev_node); + + 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 (mm->color_adjust) + mm->color_adjust(prev_node, mm->scan_color, + &adj_start, &adj_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_end = 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_hsw 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; + list_add(&node->node_list, &prev_node->node_list); + + return (drm_mm_hole_node_end_hsw(node) > mm->scan_hit_start && + node->start < mm->scan_hit_end); +} +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-lts-quantal-3.5.0.orig/drivers/gpu/drm/drm_edid.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/drm_edid.c @@ -125,6 +125,9 @@ /* ViewSonic VA2026w */ { "VSC", 5020, EDID_QUIRK_FORCE_REDUCED_BLANKING }, + + /* Medion MD 30217 PG */ + { "MED", 0x7b8, EDID_QUIRK_PREFER_LARGE_75 }, }; /*** DDC fetch and block validation ***/ @@ -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); @@ -876,7 +877,7 @@ unsigned vblank = (pt->vactive_vblank_hi & 0xf) << 8 | pt->vblank_lo; unsigned hsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc0) << 2 | pt->hsync_offset_lo; unsigned hsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x30) << 4 | pt->hsync_pulse_width_lo; - unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) >> 2 | pt->vsync_offset_pulse_width_lo >> 4; + unsigned vsync_offset = (pt->hsync_vsync_offset_pulse_width_hi & 0xc) << 2 | pt->vsync_offset_pulse_width_lo >> 4; unsigned vsync_pulse_width = (pt->hsync_vsync_offset_pulse_width_hi & 0x3) << 4 | (pt->vsync_offset_pulse_width_lo & 0xf); /* ignore tiny modes */ @@ -957,6 +958,7 @@ } mode->type = DRM_MODE_TYPE_DRIVER; + mode->vrefresh = drm_mode_vrefresh(mode); drm_mode_set_name(mode); return mode; @@ -1921,7 +1923,8 @@ num_modes += add_cvt_modes(connector, edid); num_modes += add_standard_modes(connector, edid); num_modes += add_established_modes(connector, edid); - num_modes += add_inferred_modes(connector, edid); + if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF) + num_modes += add_inferred_modes(connector, edid); num_modes += add_cea_modes(connector, edid); if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75)) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/mgag200/mgag200_ttm.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/mgag200/mgag200_ttm.c @@ -315,8 +315,8 @@ ret = ttm_bo_reserve(&bo->bo, true, no_wait, false, 0); if (ret) { - if (ret != -ERESTARTSYS) - DRM_ERROR("reserve failed %p\n", bo); + if (ret != -ERESTARTSYS && ret != -EBUSY) + DRM_ERROR("reserve failed %p %d\n", bo, ret); return ret; } return 0; @@ -347,6 +347,7 @@ mgabo->gem.driver_private = NULL; mgabo->bo.bdev = &mdev->ttm.bdev; + mgabo->bo.bdev->dev_mapping = dev->dev_mapping; mgag200_ttm_placement(mgabo, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_SYSTEM); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/mgag200/mgag200_drv.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/mgag200/mgag200_drv.h @@ -116,6 +116,8 @@ void *sysram; int size; struct ttm_bo_kmap_obj mapping; + int x1, y1, x2, y2; /* dirty rect */ + spinlock_t dirty_lock; }; struct mga_crtc { @@ -198,7 +200,8 @@ atomic_t validate_sequence; } ttm; - u32 reg_1e24; /* SE model number */ + /* SE model number stored in reg 0x1e24 */ + u32 unique_rev_id; }; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/mgag200/mgag200_fb.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/mgag200/mgag200_fb.c @@ -29,16 +29,52 @@ int bpp = (mfbdev->mfb.base.bits_per_pixel + 7)/8; int ret; bool unmap = false; + bool store_for_later = false; + int x2, y2; + unsigned long flags; obj = mfbdev->mfb.obj; bo = gem_to_mga_bo(obj); + /* + * try and reserve the BO, if we fail with busy + * then the BO is being moved and we should + * store up the damage until later. + */ ret = mgag200_bo_reserve(bo, true); if (ret) { - DRM_ERROR("failed to reserve fb bo\n"); + if (ret != -EBUSY) + return; + + store_for_later = true; + } + + x2 = x + width - 1; + y2 = y + height - 1; + spin_lock_irqsave(&mfbdev->dirty_lock, flags); + + if (mfbdev->y1 < y) + y = mfbdev->y1; + if (mfbdev->y2 > y2) + y2 = mfbdev->y2; + if (mfbdev->x1 < x) + x = mfbdev->x1; + if (mfbdev->x2 > x2) + x2 = mfbdev->x2; + + if (store_for_later) { + mfbdev->x1 = x; + mfbdev->x2 = x2; + mfbdev->y1 = y; + mfbdev->y2 = y2; + spin_unlock_irqrestore(&mfbdev->dirty_lock, flags); return; } + mfbdev->x1 = mfbdev->y1 = INT_MAX; + mfbdev->x2 = mfbdev->y2 = 0; + spin_unlock_irqrestore(&mfbdev->dirty_lock, flags); + if (!bo->kmap.virtual) { ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap); if (ret) { @@ -48,10 +84,10 @@ } unmap = true; } - for (i = y; i < y + height; i++) { + for (i = y; i <= y2; i++) { /* assume equal stride for now */ src_offset = dst_offset = i * mfbdev->mfb.base.pitches[0] + (x * bpp); - memcpy_toio(bo->kmap.virtual + src_offset, mfbdev->sysram + src_offset, width * bpp); + memcpy_toio(bo->kmap.virtual + src_offset, mfbdev->sysram + src_offset, (x2 - x + 1) * bpp); } if (unmap) @@ -270,6 +306,7 @@ mdev->mfbdev = mfbdev; mfbdev->helper.funcs = &mga_fb_helper_funcs; + spin_lock_init(&mfbdev->dirty_lock); ret = drm_fb_helper_init(mdev->dev, &mfbdev->helper, mdev->num_crtc, MGAG200FB_CONN_LIMIT); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/mgag200/mgag200_mode.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/mgag200/mgag200_mode.c @@ -190,12 +190,12 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS; - WREG_DAC(MGA1064_PIX_CLK_CTL_CLK_DIS, tmp); + WREG8(DAC_DATA, tmp); WREG8(DAC_INDEX, MGA1064_REMHEADCTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_REMHEADCTL_CLKDIS; - WREG_DAC(MGA1064_REMHEADCTL, tmp); + WREG8(DAC_DATA, tmp); /* select PLL Set C */ tmp = RREG8(MGAREG_MEM_MISC_READ); @@ -205,7 +205,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_POW_DOWN | 0x80; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); udelay(500); @@ -213,7 +213,7 @@ WREG8(DAC_INDEX, MGA1064_VREF_CTL); tmp = RREG8(DAC_DATA); tmp &= ~0x04; - WREG_DAC(MGA1064_VREF_CTL, tmp); + WREG8(DAC_DATA, tmp); udelay(50); @@ -237,13 +237,13 @@ tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_SEL_MSK; tmp |= MGA1064_PIX_CLK_CTL_SEL_PLL; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); WREG8(DAC_INDEX, MGA1064_REMHEADCTL); tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_REMHEADCTL_CLKSL_MSK; tmp |= MGA1064_REMHEADCTL_CLKSL_PLL; - WREG_DAC(MGA1064_REMHEADCTL, tmp); + WREG8(DAC_DATA, tmp); /* reset dotclock rate bit */ WREG8(MGAREG_SEQ_INDEX, 1); @@ -254,7 +254,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_CLK_DIS; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); vcount = RREG8(MGAREG_VCOUNT); @@ -319,7 +319,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS; - WREG_DAC(MGA1064_PIX_CLK_CTL_CLK_DIS, tmp); + WREG8(DAC_DATA, tmp); tmp = RREG8(MGAREG_MEM_MISC_READ); tmp |= 0x3 << 2; @@ -327,12 +327,12 @@ WREG8(DAC_INDEX, MGA1064_PIX_PLL_STAT); tmp = RREG8(DAC_DATA); - WREG_DAC(MGA1064_PIX_PLL_STAT, tmp & ~0x40); + WREG8(DAC_DATA, tmp & ~0x40); WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_POW_DOWN; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); WREG_DAC(MGA1064_EV_PIX_PLLC_M, m); WREG_DAC(MGA1064_EV_PIX_PLLC_N, n); @@ -343,7 +343,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_CLK_POW_DOWN; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); udelay(500); @@ -351,11 +351,11 @@ tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_SEL_MSK; tmp |= MGA1064_PIX_CLK_CTL_SEL_PLL; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); WREG8(DAC_INDEX, MGA1064_PIX_PLL_STAT); tmp = RREG8(DAC_DATA); - WREG_DAC(MGA1064_PIX_PLL_STAT, tmp | 0x40); + WREG8(DAC_DATA, tmp | 0x40); tmp = RREG8(MGAREG_MEM_MISC_READ); tmp |= (0x3 << 2); @@ -364,7 +364,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_CLK_DIS; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); return 0; } @@ -383,19 +383,19 @@ m = n = p = 0; vcomax = 800000; vcomin = 400000; - pllreffreq = 3333; + pllreffreq = 33333; delta = 0xffffffff; permitteddelta = clock * 5 / 1000; - for (testp = 16; testp > 0; testp--) { + for (testp = 16; testp > 0; testp >>= 1) { if (clock * testp > vcomax) continue; if (clock * testp < vcomin) continue; for (testm = 1; testm < 33; testm++) { - for (testn = 1; testn < 257; testn++) { + for (testn = 17; testn < 257; testn++) { computed = (pllreffreq * testn) / (testm * testp); if (computed > clock) @@ -405,11 +405,11 @@ if (tmpdelta < delta) { delta = tmpdelta; n = testn - 1; - m = (testm - 1) | ((n >> 1) & 0x80); + m = (testm - 1); p = testp - 1; } if ((clock * testp) >= 600000) - p |= 80; + p |= 0x80; } } } @@ -417,7 +417,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS; - WREG_DAC(MGA1064_PIX_CLK_CTL_CLK_DIS, tmp); + WREG8(DAC_DATA, tmp); tmp = RREG8(MGAREG_MEM_MISC_READ); tmp |= 0x3 << 2; @@ -426,7 +426,7 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_POW_DOWN; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); udelay(500); @@ -440,13 +440,13 @@ tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_SEL_MSK; tmp |= MGA1064_PIX_CLK_CTL_SEL_PLL; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_CLK_DIS; tmp &= ~MGA1064_PIX_CLK_CTL_CLK_POW_DOWN; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); vcount = RREG8(MGAREG_VCOUNT); @@ -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 @@ -514,12 +516,12 @@ WREG8(DAC_INDEX, MGA1064_PIX_CLK_CTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_PIX_CLK_CTL_CLK_DIS; - WREG_DAC(MGA1064_PIX_CLK_CTL_CLK_DIS, tmp); + WREG8(DAC_DATA, tmp); WREG8(DAC_INDEX, MGA1064_REMHEADCTL); tmp = RREG8(DAC_DATA); tmp |= MGA1064_REMHEADCTL_CLKDIS; - WREG_DAC(MGA1064_REMHEADCTL, tmp); + WREG8(DAC_DATA, tmp); tmp = RREG8(MGAREG_MEM_MISC_READ); tmp |= (0x3<<2) | 0xc0; @@ -529,7 +531,7 @@ tmp = RREG8(DAC_DATA); tmp &= ~MGA1064_PIX_CLK_CTL_CLK_DIS; tmp |= MGA1064_PIX_CLK_CTL_CLK_POW_DOWN; - WREG_DAC(MGA1064_PIX_CLK_CTL, tmp); + WREG8(DAC_DATA, tmp); udelay(500); @@ -656,12 +658,26 @@ WREG_DAC(MGA1064_GEN_IO_DATA, tmp); } - +/* + This is how the framebuffer base address is stored in g200 cards: + * Assume @offset is the gpu_addr variable of the framebuffer object + * Then addr is the number of _pixels_ (not bytes) from the start of + VRAM to the first pixel we want to display. (divided by 2 for 32bit + framebuffers) + * addr is stored in the CRTCEXT0, CRTCC and CRTCD registers + addr<20> -> CRTCEXT0<6> + addr<19-16> -> CRTCEXT0<3-0> + addr<15-8> -> CRTCC<7-0> + addr<7-0> -> CRTCD<7-0> + CRTCEXT0 has to be programmed last to trigger an update and make the + new addr variable take effect. + */ void mga_set_start_address(struct drm_crtc *crtc, unsigned offset) { struct mga_device *mdev = crtc->dev->dev_private; u32 addr; int count; + u8 crtcext0; while (RREG8(0x1fda) & 0x08); while (!(RREG8(0x1fda) & 0x08)); @@ -669,10 +685,17 @@ count = RREG8(MGAREG_VCOUNT) + 2; while (RREG8(MGAREG_VCOUNT) < count); - addr = offset >> 2; + WREG8(MGAREG_CRTCEXT_INDEX, 0); + crtcext0 = RREG8(MGAREG_CRTCEXT_DATA); + crtcext0 &= 0xB0; + addr = offset / 8; + /* Can't store addresses any higher than that... + but we also don't have more than 16MB of memory, so it should be fine. */ + WARN_ON(addr > 0x1fffff); + crtcext0 |= (!!(addr & (1<<20)))<<6; WREG_CRT(0x0d, (u8)(addr & 0xff)); WREG_CRT(0x0c, (u8)(addr >> 8) & 0xff); - WREG_CRT(0xaf, (u8)(addr >> 16) & 0xf); + WREG_ECRT(0x0, ((u8)(addr >> 16) & 0xf) | crtcext0); } @@ -750,8 +773,6 @@ int i; unsigned char misc = 0; unsigned char ext_vga[6]; - unsigned char ext_vga_index24; - unsigned char dac_index90 = 0; u8 bppshift; static unsigned char dacvalue[] = { @@ -802,7 +823,6 @@ option2 = 0x0000b000; break; case G200_ER: - dac_index90 = 0; break; } @@ -851,10 +871,8 @@ WREG_DAC(i, dacvalue[i]); } - if (mdev->type == G200_ER) { - WREG_DAC(0x90, dac_index90); - } - + if (mdev->type == G200_ER) + WREG_DAC(0x90, 0); if (option) pci_write_config_dword(dev->pdev, PCI_MGA_OPTION, option); @@ -951,8 +969,6 @@ if (mdev->type == G200_WB) ext_vga[1] |= 0x88; - ext_vga_index24 = 0x05; - /* Set pixel clocks */ misc = 0x2d; WREG8(MGA_MISC_OUT, misc); @@ -964,7 +980,7 @@ } if (mdev->type == G200_ER) - WREG_ECRT(24, ext_vga_index24); + WREG_ECRT(0x24, 0x5); if (mdev->type == G200_EV) { WREG_ECRT(6, 0); @@ -1000,7 +1016,7 @@ if (IS_G200_SE(mdev)) { - if (mdev->reg_1e24 >= 0x02) { + if (mdev->unique_rev_id >= 0x02) { u8 hi_pri_lvl; u32 bpp; u32 mb; @@ -1026,13 +1042,14 @@ else hi_pri_lvl = 5; - WREG8(0x1fde, 0x06); - WREG8(0x1fdf, hi_pri_lvl); + WREG8(MGAREG_CRTCEXT_INDEX, 0x06); + WREG8(MGAREG_CRTCEXT_DATA, hi_pri_lvl); } else { - if (mdev->reg_1e24 >= 0x01) - WREG8(0x1fdf, 0x03); + WREG8(MGAREG_CRTCEXT_INDEX, 0x06); + if (mdev->unique_rev_id >= 0x01) + WREG8(MGAREG_CRTCEXT_DATA, 0x03); else - WREG8(0x1fdf, 0x04); + WREG8(MGAREG_CRTCEXT_DATA, 0x04); } } return 0; @@ -1397,16 +1414,87 @@ 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; } +static uint32_t mga_vga_calculate_mode_bandwidth(struct drm_display_mode *mode, + int bits_per_pixel) +{ + uint32_t total_area, divisor; + int64_t active_area, pixels_per_second, bandwidth; + uint64_t bytes_per_pixel = (bits_per_pixel + 7) / 8; + + divisor = 1024; + + if (!mode->htotal || !mode->vtotal || !mode->clock) + return 0; + + active_area = mode->hdisplay * mode->vdisplay; + total_area = mode->htotal * mode->vtotal; + + pixels_per_second = active_area * mode->clock * 1000; + do_div(pixels_per_second, total_area); + + bandwidth = pixels_per_second * bytes_per_pixel * 100; + do_div(bandwidth, divisor); + + return (uint32_t)(bandwidth); +} + +#define MODE_BANDWIDTH MODE_BAD + static int mga_vga_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { - /* FIXME: Add bandwidth and g200se limitations */ + struct drm_device *dev = connector->dev; + struct mga_device *mdev = (struct mga_device*)dev->dev_private; + struct mga_fbdev *mfbdev = mdev->mfbdev; + struct drm_fb_helper *fb_helper = &mfbdev->helper; + struct drm_fb_helper_connector *fb_helper_conn = NULL; + int bpp = 32; + int i = 0; + + if (IS_G200_SE(mdev)) { + if (mdev->unique_rev_id == 0x01) { + if (mode->hdisplay > 1600) + return MODE_VIRTUAL_X; + if (mode->vdisplay > 1200) + return MODE_VIRTUAL_Y; + if (mga_vga_calculate_mode_bandwidth(mode, bpp) + > (24400 * 1024)) + return MODE_BANDWIDTH; + } else if (mdev->unique_rev_id >= 0x02) { + if (mode->hdisplay > 1920) + return MODE_VIRTUAL_X; + if (mode->vdisplay > 1200) + return MODE_VIRTUAL_Y; + if (mga_vga_calculate_mode_bandwidth(mode, bpp) + > (30100 * 1024)) + return MODE_BANDWIDTH; + } + } else if (mdev->type == G200_WB) { + if (mode->hdisplay > 1280) + return MODE_VIRTUAL_X; + if (mode->vdisplay > 1024) + return MODE_VIRTUAL_Y; + if (mga_vga_calculate_mode_bandwidth(mode, + bpp > (31877 * 1024))) + return MODE_BANDWIDTH; + } else if (mdev->type == G200_EV && + (mga_vga_calculate_mode_bandwidth(mode, bpp) + > (32700 * 1024))) { + return MODE_BANDWIDTH; + } else if (mode->type == G200_EH && + (mga_vga_calculate_mode_bandwidth(mode, bpp) + > (37500 * 1024))) { + return MODE_BANDWIDTH; + } else if (mode->type == G200_ER && + (mga_vga_calculate_mode_bandwidth(mode, + bpp) > (55000 * 1024))) { + return MODE_BANDWIDTH; + } if (mode->crtc_hdisplay > 2048 || mode->crtc_hsync_start > 4096 || mode->crtc_hsync_end > 4096 || mode->crtc_htotal > 4096 || @@ -1415,6 +1503,25 @@ return MODE_BAD; } + /* Validate the mode input by the user */ + for (i = 0; i < fb_helper->connector_count; i++) { + if (fb_helper->connector_info[i]->connector == connector) { + /* Found the helper for this connector */ + fb_helper_conn = fb_helper->connector_info[i]; + if (fb_helper_conn->cmdline_mode.specified) { + if (fb_helper_conn->cmdline_mode.bpp_specified) { + bpp = fb_helper_conn->cmdline_mode.bpp; + } + } + } + } + + if ((mode->hdisplay * mode->vdisplay * (bpp/8)) > mdev->mc.vram_size) { + if (fb_helper_conn) + fb_helper_conn->cmdline_mode.specified = false; + return MODE_BAD; + } + return MODE_OK; } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/mgag200/mgag200_main.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/mgag200/mgag200_main.c @@ -190,7 +190,7 @@ /* stash G200 SE model number for later use */ if (IS_G200_SE(mdev)) - mdev->reg_1e24 = RREG32(0x1e24); + mdev->unique_rev_id = RREG32(0x1e24); ret = mga_vram_init(mdev); if (ret) { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c @@ -199,7 +199,12 @@ /* is it from our device? */ if (obj->dev == drm_dev) { + /* + * Importing dmabuf exported from out own gem increases + * refcount on gem itself instead of f_count of dmabuf. + */ drm_gem_object_reference(obj); + dma_buf_put(dma_buf); return obj; } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/exynos/exynos_drm_connector.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/ttm/ttm_tt.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/ttm/ttm_tt.c @@ -170,7 +170,7 @@ ttm_tt_unbind(ttm); } - if (likely(ttm->pages != NULL)) { + if (ttm->state == tt_unbound) { ttm->bdev->driver->ttm_tt_unpopulate(ttm); } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/ttm/ttm_page_alloc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/psb_intel_sdvo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/psb_irq.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/gma500/psb_irq.c @@ -211,7 +211,7 @@ vdc_stat = PSB_RVDC32(PSB_INT_IDENTITY_R); - if (vdc_stat & _PSB_PIPE_EVENT_FLAG) + if (vdc_stat & (_PSB_PIPE_EVENT_FLAG|_PSB_IRQ_ASLE)) dsp_int = 1; /* FIXME: Handle Medfield --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/cdv_intel_hdmi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/oaktrail_hdmi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/cdv_intel_display.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/gma500/cdv_intel_display.c @@ -1600,6 +1600,19 @@ kfree(psb_intel_crtc); } +static void cdv_intel_crtc_disable(struct drm_crtc *crtc) +{ + struct gtt_range *gt; + struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; + + crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF); + + if (crtc->fb) { + gt = to_psb_fb(crtc->fb)->gtt; + psb_gtt_unpin(gt); + } +} + const struct drm_crtc_helper_funcs cdv_intel_helper_funcs = { .dpms = cdv_intel_crtc_dpms, .mode_fixup = cdv_intel_crtc_mode_fixup, @@ -1607,6 +1620,7 @@ .mode_set_base = cdv_intel_pipe_set_base, .prepare = cdv_intel_crtc_prepare, .commit = cdv_intel_crtc_commit, + .disable = cdv_intel_crtc_disable, }; const struct drm_crtc_funcs cdv_intel_crtc_funcs = { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/framebuffer.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/gma500/framebuffer.c @@ -793,8 +793,8 @@ for (i = 0; i < dev_priv->num_pipe; i++) psb_intel_crtc_init(dev, i, mode_dev); - dev->mode_config.max_width = 2048; - dev->mode_config.max_height = 2048; + dev->mode_config.max_width = 4096; + dev->mode_config.max_height = 4096; psb_setup_outputs(dev); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/oaktrail_device.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/gma500/psb_intel_display.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/gma500/psb_intel_display.c @@ -1246,6 +1246,19 @@ kfree(psb_intel_crtc); } +static void psb_intel_crtc_disable(struct drm_crtc *crtc) +{ + struct gtt_range *gt; + struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; + + crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF); + + if (crtc->fb) { + gt = to_psb_fb(crtc->fb)->gtt; + psb_gtt_unpin(gt); + } +} + const struct drm_crtc_helper_funcs psb_intel_helper_funcs = { .dpms = psb_intel_crtc_dpms, .mode_fixup = psb_intel_crtc_mode_fixup, @@ -1253,6 +1266,7 @@ .mode_set_base = psb_intel_pipe_set_base, .prepare = psb_intel_crtc_prepare, .commit = psb_intel_crtc_commit, + .disable = psb_intel_crtc_disable, }; const struct drm_crtc_funcs psb_intel_crtc_funcs = { @@ -1362,6 +1376,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/cirrus/cirrus_fbdev.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/cirrus/cirrus_fbdev.c @@ -27,16 +27,51 @@ int bpp = (afbdev->gfb.base.bits_per_pixel + 7)/8; int ret; bool unmap = false; + bool store_for_later = false; + int x2, y2; + unsigned long flags; obj = afbdev->gfb.obj; bo = gem_to_cirrus_bo(obj); + /* + * try and reserve the BO, if we fail with busy + * then the BO is being moved and we should + * store up the damage until later. + */ ret = cirrus_bo_reserve(bo, true); if (ret) { - DRM_ERROR("failed to reserve fb bo\n"); + if (ret != -EBUSY) + return; + store_for_later = true; + } + + x2 = x + width - 1; + y2 = y + height - 1; + spin_lock_irqsave(&afbdev->dirty_lock, flags); + + if (afbdev->y1 < y) + y = afbdev->y1; + if (afbdev->y2 > y2) + y2 = afbdev->y2; + if (afbdev->x1 < x) + x = afbdev->x1; + if (afbdev->x2 > x2) + x2 = afbdev->x2; + + if (store_for_later) { + afbdev->x1 = x; + afbdev->x2 = x2; + afbdev->y1 = y; + afbdev->y2 = y2; + spin_unlock_irqrestore(&afbdev->dirty_lock, flags); return; } + afbdev->x1 = afbdev->y1 = INT_MAX; + afbdev->x2 = afbdev->y2 = 0; + spin_unlock_irqrestore(&afbdev->dirty_lock, flags); + if (!bo->kmap.virtual) { ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap); if (ret) { @@ -283,6 +318,7 @@ cdev->mode_info.gfbdev = gfbdev; gfbdev->helper.funcs = &cirrus_fb_helper_funcs; + spin_lock_init(&gfbdev->dirty_lock); ret = drm_fb_helper_init(cdev->dev, &gfbdev->helper, cdev->num_crtc, CIRRUSFB_CONN_LIMIT); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/cirrus/cirrus_drv.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/cirrus/cirrus_drv.h @@ -155,6 +155,8 @@ struct list_head fbdev_list; void *sysram; int size; + int x1, y1, x2, y2; /* dirty rect */ + spinlock_t dirty_lock; }; struct cirrus_bo { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/cirrus/cirrus_ttm.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/cirrus/cirrus_ttm.c @@ -321,7 +321,7 @@ ret = ttm_bo_reserve(&bo->bo, true, no_wait, false, 0); if (ret) { - if (ret != -ERESTARTSYS) + if (ret != -ERESTARTSYS && ret != -EBUSY) DRM_ERROR("reserve failed %p\n", bo); return ret; } @@ -353,6 +353,7 @@ cirrusbo->gem.driver_private = NULL; cirrusbo->bo.bdev = &cirrus->ttm.bdev; + cirrusbo->bo.bdev->dev_mapping = dev->dev_mapping; cirrus_ttm_placement(cirrusbo, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_SYSTEM); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/udl/udl_transfer.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/udl/udl_drv.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/udl/udl_drv.h @@ -75,6 +75,8 @@ struct drm_framebuffer base; struct udl_gem_object *obj; bool active_16; /* active on the 16-bit channel */ + int x1, y1, x2, y2; /* dirty rect */ + spinlock_t dirty_lock; }; #define to_udl_fb(x) container_of(x, struct udl_framebuffer, base) @@ -104,7 +106,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/udl/udl_connector.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/udl/udl_connector.c @@ -22,13 +22,17 @@ static u8 *udl_get_edid(struct udl_device *udl) { u8 *block; - char rbuf[3]; + char *rbuf; int ret, i; block = kmalloc(EDID_LENGTH, GFP_KERNEL); if (block == NULL) return NULL; + rbuf = kmalloc(2, GFP_KERNEL); + if (rbuf == NULL) + goto error; + for (i = 0; i < EDID_LENGTH; i++) { ret = usb_control_msg(udl->ddev->usbdev, usb_rcvctrlpipe(udl->ddev->usbdev, 0), (0x02), @@ -36,16 +40,17 @@ HZ); if (ret < 1) { DRM_ERROR("Read EDID byte %d failed err %x\n", i, ret); - i--; goto error; } block[i] = rbuf[1]; } + kfree(rbuf); return block; error: kfree(block); + kfree(rbuf); return NULL; } @@ -56,12 +61,21 @@ int ret; edid = (struct edid *)udl_get_edid(udl); + if (!edid) { + drm_mode_connector_update_edid_property(connector, NULL); + return 0; + } - connector->display_info.raw_edid = (char *)edid; + /* + * We only read the main block, but if the monitor reports extension + * blocks then the drm edid code expects them to be present, so patch + * the extension count to 0. + */ + edid->checksum += edid->extensions; + edid->extensions = 0; 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 +83,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/udl/udl_fb.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/udl/udl_fb.c @@ -22,9 +22,9 @@ #include "drm_fb_helper.h" -#define DL_DEFIO_WRITE_DELAY 5 /* fb_deferred_io.delay in jiffies */ +#define DL_DEFIO_WRITE_DELAY (HZ/20) /* fb_deferred_io.delay in jiffies */ -static int fb_defio = 1; /* Optionally enable experimental fb_defio mmap support */ +static int fb_defio = 0; /* Optionally enable experimental fb_defio mmap support */ static int fb_bpp = 16; module_param(fb_bpp, int, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP); @@ -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; } @@ -152,6 +153,9 @@ struct urb *urb; int aligned_x; int bpp = (fb->base.bits_per_pixel / 8); + int x2, y2; + bool store_for_later = false; + unsigned long flags; if (!fb->active_16) return 0; @@ -168,8 +172,6 @@ } } - start_cycles = get_cycles(); - aligned_x = DL_ALIGN_DOWN(x, sizeof(unsigned long)); width = DL_ALIGN_UP(width + (x-aligned_x), sizeof(unsigned long)); x = aligned_x; @@ -179,18 +181,53 @@ (y + height > fb->base.height)) return -EINVAL; + /* if we are in atomic just store the info + can't test inside spin lock */ + if (in_atomic()) + store_for_later = true; + + x2 = x + width - 1; + y2 = y + height - 1; + + spin_lock_irqsave(&fb->dirty_lock, flags); + + if (fb->y1 < y) + y = fb->y1; + if (fb->y2 > y2) + y2 = fb->y2; + if (fb->x1 < x) + x = fb->x1; + if (fb->x2 > x2) + x2 = fb->x2; + + if (store_for_later) { + fb->x1 = x; + fb->x2 = x2; + fb->y1 = y; + fb->y2 = y2; + spin_unlock_irqrestore(&fb->dirty_lock, flags); + return 0; + } + + fb->x1 = fb->y1 = INT_MAX; + fb->x2 = fb->y2 = 0; + + spin_unlock_irqrestore(&fb->dirty_lock, flags); + start_cycles = get_cycles(); + urb = udl_get_urb(dev); if (!urb) return 0; cmd = urb->transfer_buffer; - for (i = y; i < y + height ; i++) { + for (i = y; i <= y2 ; 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, + (x2 - x + 1) * bpp, &bytes_identical, &bytes_sent)) goto error; } @@ -415,6 +452,7 @@ { int ret; + spin_lock_init(&ufb->dirty_lock); ufb->obj = obj; ret = drm_framebuffer_init(dev, &ufb->base, &udlfb_funcs); drm_helper_mode_fill_fb_struct(&ufb->base, mode_cmd); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/ast/ast_drv.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/ast/ast_drv.h @@ -176,7 +176,7 @@ static inline void ast_open_key(struct ast_private *ast) { - ast_set_index_reg_mask(ast, AST_IO_CRTC_PORT, 0xA1, 0xFF, 0x04); + ast_set_index_reg(ast, AST_IO_CRTC_PORT, 0x80, 0xA8); } #define AST_VIDMEM_SIZE_8M 0x00800000 @@ -240,6 +240,8 @@ void *sysram; int size; struct ttm_bo_kmap_obj mapping; + int x1, y1, x2, y2; /* dirty rect */ + spinlock_t dirty_lock; }; #define to_ast_crtc(x) container_of(x, struct ast_crtc, base) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/ast/ast_ttm.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/ast/ast_ttm.c @@ -316,7 +316,7 @@ ret = ttm_bo_reserve(&bo->bo, true, no_wait, false, 0); if (ret) { - if (ret != -ERESTARTSYS) + if (ret != -ERESTARTSYS && ret != -EBUSY) DRM_ERROR("reserve failed %p\n", bo); return ret; } @@ -348,6 +348,7 @@ astbo->gem.driver_private = NULL; astbo->bo.bdev = &ast->ttm.bdev; + astbo->bo.bdev->dev_mapping = dev->dev_mapping; ast_ttm_placement(astbo, TTM_PL_FLAG_VRAM | TTM_PL_FLAG_SYSTEM); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/ast/ast_fb.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/ast/ast_fb.c @@ -53,16 +53,52 @@ int bpp = (afbdev->afb.base.bits_per_pixel + 7)/8; int ret; bool unmap = false; + bool store_for_later = false; + int x2, y2; + unsigned long flags; obj = afbdev->afb.obj; bo = gem_to_ast_bo(obj); + /* + * try and reserve the BO, if we fail with busy + * then the BO is being moved and we should + * store up the damage until later. + */ ret = ast_bo_reserve(bo, true); if (ret) { - DRM_ERROR("failed to reserve fb bo\n"); + if (ret != -EBUSY) + return; + + store_for_later = true; + } + + x2 = x + width - 1; + y2 = y + height - 1; + spin_lock_irqsave(&afbdev->dirty_lock, flags); + + if (afbdev->y1 < y) + y = afbdev->y1; + if (afbdev->y2 > y2) + y2 = afbdev->y2; + if (afbdev->x1 < x) + x = afbdev->x1; + if (afbdev->x2 > x2) + x2 = afbdev->x2; + + if (store_for_later) { + afbdev->x1 = x; + afbdev->x2 = x2; + afbdev->y1 = y; + afbdev->y2 = y2; + spin_unlock_irqrestore(&afbdev->dirty_lock, flags); return; } + afbdev->x1 = afbdev->y1 = INT_MAX; + afbdev->x2 = afbdev->y2 = 0; + spin_unlock_irqrestore(&afbdev->dirty_lock, flags); + if (!bo->kmap.virtual) { ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap); if (ret) { @@ -72,10 +108,10 @@ } unmap = true; } - for (i = y; i < y + height; i++) { + for (i = y; i <= y2; i++) { /* assume equal stride for now */ src_offset = dst_offset = i * afbdev->afb.base.pitches[0] + (x * bpp); - memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, width * bpp); + memcpy_toio(bo->kmap.virtual + src_offset, afbdev->sysram + src_offset, (x2 - x + 1) * bpp); } if (unmap) @@ -306,6 +342,7 @@ ast->fbdev = afbdev; afbdev->helper.funcs = &ast_fb_helper_funcs; + spin_lock_init(&afbdev->dirty_lock); ret = drm_fb_helper_init(dev, &afbdev->helper, 1, 1); if (ret) { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_display.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_display.c @@ -141,8 +141,8 @@ .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 }, + .m1 = { .min = 8, .max = 18 }, + .m2 = { .min = 3, .max = 7 }, .p = { .min = 5, .max = 80 }, .p1 = { .min = 1, .max = 8 }, .p2 = { .dot_limit = 200000, @@ -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); @@ -2165,18 +2165,6 @@ 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); -} - /* The FDI link training functions for ILK/Ibexpeak. */ static void ironlake_fdi_link_train(struct drm_crtc *crtc) { @@ -2327,9 +2315,6 @@ POSTING_READ(reg); udelay(150); - if (HAS_PCH_CPT(dev)) - cpt_phase_pointer_enable(dev, pipe); - for (i = 0; i < 4; i++) { reg = FDI_TX_CTL(pipe); temp = I915_READ(reg); @@ -2456,9 +2441,6 @@ POSTING_READ(reg); udelay(150); - if (HAS_PCH_CPT(dev)) - cpt_phase_pointer_enable(dev, pipe); - for (i = 0; i < 4; i++) { reg = FDI_TX_CTL(pipe); temp = I915_READ(reg); @@ -2572,17 +2554,6 @@ } } -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; @@ -2609,11 +2580,6 @@ /* 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); - I915_WRITE(FDI_RX_CHICKEN(pipe), - I915_READ(FDI_RX_CHICKEN(pipe) & - ~FDI_RX_PHASE_SYNC_POINTER_EN)); - } else if (HAS_PCH_CPT(dev)) { - cpt_phase_pointer_disable(dev, pipe); } /* still set train pattern 1 */ @@ -2641,13 +2607,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); @@ -3033,7 +3020,11 @@ * as some pre-programmed values are broken, * e.g. x201. */ - I915_WRITE(PF_CTL(pipe), PF_ENABLE | PF_FILTER_MED_3x3); + 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); } @@ -3235,6 +3226,7 @@ struct intel_crtc *intel_crtc = to_intel_crtc(crtc); int pipe = intel_crtc->pipe; int plane = intel_crtc->plane; + u32 pctl; if (!intel_crtc->active) return; @@ -3250,6 +3242,13 @@ intel_disable_plane(dev_priv, plane, pipe); intel_disable_pipe(dev_priv, pipe); + + /* Disable pannel fitter if it is on this pipe. */ + pctl = I915_READ(PFIT_CONTROL); + if ((pctl & PFIT_ENABLE) && + ((pctl & PFIT_PIPE_MASK) >> PFIT_PIPE_SHIFT) == pipe) + I915_WRITE(PFIT_CONTROL, 0); + intel_disable_pll(dev_priv, pipe); intel_crtc->active = false; @@ -3581,17 +3580,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 +3594,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 +3936,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 +3943,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 +4076,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 +4453,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; @@ -5851,14 +5850,19 @@ { struct intel_unpin_work *work = container_of(__work, struct intel_unpin_work, work); + struct drm_device *dev = work->crtc->dev; - mutex_lock(&work->dev->struct_mutex); + 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(work->dev); - mutex_unlock(&work->dev->struct_mutex); + 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); } @@ -5881,11 +5885,18 @@ spin_lock_irqsave(&dev->event_lock, flags); work = intel_crtc->unpin_work; - if (work == NULL || !work->pending) { + + /* Ensure we don't miss a work->pending update ... */ + smp_rmb(); + + if (work == NULL || atomic_read(&work->pending) < INTEL_FLIP_COMPLETE) { spin_unlock_irqrestore(&dev->event_lock, flags); return; } + /* and that the unpin work is consistent wrt ->pending. */ + smp_rmb(); + intel_crtc->unpin_work = NULL; if (work->event) { @@ -5927,10 +5938,9 @@ 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); + queue_work(dev_priv->wq, &work->work); trace_i915_flip_complete(intel_crtc->plane, work->pending_flip_obj); } @@ -5958,16 +5968,25 @@ to_intel_crtc(dev_priv->plane_to_crtc_mapping[plane]); unsigned long flags; + /* NB: An MMIO update of the plane base pointer will also + * generate a page-flip completion irq, i.e. every modeset + * is also accompanied by a spurious intel_prepare_page_flip(). + */ 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"); - } + if (intel_crtc->unpin_work) + atomic_inc_not_zero(&intel_crtc->unpin_work->pending); spin_unlock_irqrestore(&dev->event_lock, flags); } +inline static void intel_mark_page_flip_active(struct intel_crtc *intel_crtc) +{ + /* Ensure that the work item is consistent when activating it ... */ + smp_wmb(); + atomic_set(&intel_crtc->unpin_work->pending, INTEL_FLIP_PENDING); + /* and that it is marked active as soon as the irq could fire. */ + smp_wmb(); +} + static int intel_gen2_queue_flip(struct drm_device *dev, struct drm_crtc *crtc, struct drm_framebuffer *fb, @@ -6005,6 +6024,8 @@ intel_ring_emit(ring, fb->pitches[0]); intel_ring_emit(ring, obj->gtt_offset + offset); intel_ring_emit(ring, 0); /* aux display base address, unused */ + + intel_mark_page_flip_active(intel_crtc); intel_ring_advance(ring); return 0; @@ -6049,6 +6070,7 @@ intel_ring_emit(ring, obj->gtt_offset + offset); intel_ring_emit(ring, MI_NOOP); + intel_mark_page_flip_active(intel_crtc); intel_ring_advance(ring); return 0; @@ -6093,6 +6115,8 @@ pf = 0; pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; intel_ring_emit(ring, pf | pipesrc); + + intel_mark_page_flip_active(intel_crtc); intel_ring_advance(ring); return 0; @@ -6135,6 +6159,8 @@ pf = 0; pipesrc = I915_READ(PIPESRC(intel_crtc->pipe)) & 0x0fff0fff; intel_ring_emit(ring, pf | pipesrc); + + intel_mark_page_flip_active(intel_crtc); intel_ring_advance(ring); return 0; @@ -6178,7 +6204,7 @@ default: WARN_ONCE(1, "unknown plane in flip command\n"); ret = -ENODEV; - goto err; + goto err_unpin; } ret = intel_ring_begin(ring, 4); @@ -6189,6 +6215,8 @@ intel_ring_emit(ring, (fb->pitches[0] | obj->tiling_mode)); intel_ring_emit(ring, (obj->gtt_offset)); intel_ring_emit(ring, (MI_NOOP)); + + intel_mark_page_flip_active(intel_crtc); intel_ring_advance(ring); return 0; @@ -6212,8 +6240,8 @@ { 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 drm_framebuffer *old_fb = crtc->fb; + struct drm_i915_gem_object *obj = to_intel_framebuffer(fb)->obj; struct intel_crtc *intel_crtc = to_intel_crtc(crtc); struct intel_unpin_work *work; unsigned long flags; @@ -6224,9 +6252,8 @@ return -ENOMEM; work->event = event; - work->dev = crtc->dev; - intel_fb = to_intel_framebuffer(crtc->fb); - work->old_fb_obj = intel_fb->obj; + work->crtc = crtc; + work->old_fb_obj = to_intel_framebuffer(old_fb)->obj; INIT_WORK(&work->work, intel_unpin_work_fn); ret = drm_vblank_get(dev, intel_crtc->pipe); @@ -6246,8 +6273,8 @@ 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); mutex_lock(&dev->struct_mutex); @@ -6265,6 +6292,7 @@ * 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) @@ -6279,7 +6307,9 @@ return 0; cleanup_pending: + atomic_dec(&intel_crtc->unpin_work_count); atomic_sub(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip); + crtc->fb = old_fb; drm_gem_object_unreference(&work->old_fb_obj->base); drm_gem_object_unreference(&obj->base); mutex_unlock(&dev->struct_mutex); @@ -6844,6 +6874,24 @@ 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"); +} + +/* + * Some machines (Dell XPS13) suffer broken backlight controls if + * BLM_PCH_PWM_ENABLE is set. + */ +static void quirk_no_pcm_pwm_enable(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + dev_priv->quirks |= QUIRK_NO_PCH_PWM_ENABLE; + DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n"); +} + struct intel_quirk { int device; int subsystem_vendor; @@ -6851,6 +6899,34 @@ 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 }, @@ -6879,6 +6955,29 @@ /* 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 }, + + /* Acer Aspire 4736Z */ + { 0x2a42, 0x1025, 0x0260, quirk_invert_brightness }, + + /* Acer/eMachines G725 */ + { 0x2a42, 0x1025, 0x0210, quirk_invert_brightness }, + + /* Acer/eMachines e725 */ + { 0x2a42, 0x1025, 0x0212, quirk_invert_brightness }, + + /* Acer/Packard Bell NCL20 */ + { 0x2a42, 0x1025, 0x034b, quirk_invert_brightness }, + + /* Dell XPS13 HD Sandy Bridge */ + { 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable }, + /* Dell XPS13 HD and XPS13 FHD Ivy Bridge */ + { 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable }, }; static void intel_init_quirks(struct drm_device *dev) @@ -6896,6 +6995,10 @@ 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 */ @@ -6925,6 +7028,8 @@ { struct drm_i915_private *dev_priv = dev->dev_private; + intel_prepare_ddi(dev); + intel_init_clock_gating(dev); if (IS_IRONLAKE_M(dev)) { @@ -6939,6 +7044,23 @@ } } +void i915_redisable_vga(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 vga_reg; + + if (HAS_PCH_SPLIT(dev)) + vga_reg = CPU_VGACNTRL; + else + vga_reg = VGACNTRL; + + if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { + DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); + I915_WRITE(vga_reg, VGA_DISP_DISABLE); + POSTING_READ(vga_reg); + } +} + void intel_modeset_init(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; @@ -6958,8 +7080,6 @@ intel_init_pm(dev); - intel_prepare_ddi(dev); - intel_init_display(dev); if (IS_GEN2(dev)) { @@ -6972,7 +7092,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" : ""); @@ -7055,6 +7175,9 @@ del_timer_sync(&dev_priv->idle_timer); cancel_work_sync(&dev_priv->idle_work); + /* destroy backlight, if any, before the connectors */ + intel_panel_destroy_backlight(dev); + drm_mode_config_cleanup(dev); } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_stolen.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/i915_gem_stolen.c @@ -43,56 +43,50 @@ * 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) +static unsigned long i915_stolen_to_physical(struct drm_device *dev) { 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. + * is unreliable, so on those 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. + * + * On gen2, the layout is slightly different with the Graphics Segment + * immediately following Top of Memory (or Top of Usable DRAM). Note + * it appears that TOUD is only reported by 865g, so we just use the + * top of memory as determined by the e820 probe. + * + * XXX gen2 requires an unavailable symbol and 945gm fails with + * its value of TOLUD. */ - if (INTEL_INFO(dev)->gen > 3 || IS_G33(dev)) { - /* top 32bits are reserved = 0 */ + base = 0; + if (INTEL_INFO(dev)->gen >= 6) { + /* Read Base Data of Stolen Memory Register (BDSM) directly. + * Note that there is also a MCHBAR miror at 0x1080c0 or + * we could use device 2:0x5c instead. + */ + pci_read_config_dword(pdev, 0xB0, &base); + base &= ~4095; /* lower bits used for locking register */ + } else if (INTEL_INFO(dev)->gen > 3 || IS_G33(dev)) { + /* Read Graphics Base of Stolen Memory directly */ 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 { +#if 0 + } else if (IS_GEN3(dev)) { u8 val; + /* Stolen is immediately below Top of Low Usable DRAM */ pci_read_config_byte(pdev, 0x9c, &val); base = val >> 3 << 27; - } - base -= dev_priv->mm.gtt->stolen_size; + base -= dev_priv->mm.gtt->stolen_size; + } else { + /* Stolen is immediately above Top of Memory */ + base = max_low_pfn_mapped << PAGE_SHIFT; #endif + } - return base + offset; + return base; } static void i915_warn_stolen(struct drm_device *dev) @@ -117,7 +111,7 @@ if (!compressed_fb) goto err; - cfb_base = i915_stolen_to_phys(dev, compressed_fb->start); + cfb_base = dev_priv->mm.stolen_base + compressed_fb->start; if (!cfb_base) goto err_fb; @@ -130,7 +124,7 @@ if (!compressed_llb) goto err_fb; - ll_base = i915_stolen_to_phys(dev, compressed_llb->start); + ll_base = dev_priv->mm.stolen_base + compressed_llb->start; if (!ll_base) goto err_llb; } @@ -149,7 +143,7 @@ } DRM_DEBUG_KMS("FBC base 0x%08lx, ll base 0x%08lx, size %dM\n", - cfb_base, ll_base, size >> 20); + (long)cfb_base, (long)ll_base, size >> 20); return; err_llb: @@ -181,6 +175,13 @@ struct drm_i915_private *dev_priv = dev->dev_private; unsigned long prealloc_size = dev_priv->mm.gtt->stolen_size; + dev_priv->mm.stolen_base = i915_stolen_to_physical(dev); + if (dev_priv->mm.stolen_base == 0) + return 0; + + DRM_DEBUG_KMS("found %d bytes of stolen memory at %08lx\n", + dev_priv->mm.gtt->stolen_size, dev_priv->mm.stolen_base); + /* Basic memrange allocator for stolen space */ drm_mm_init(&dev_priv->mm.stolen, 0, prealloc_size); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_fb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_reg.h +++ linux-lts-quantal-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) @@ -237,8 +238,12 @@ */ #define MI_LOAD_REGISTER_IMM(x) MI_INSTR(0x22, 2*x-1) #define MI_FLUSH_DW MI_INSTR(0x26, 1) /* for GEN6 */ -#define MI_INVALIDATE_TLB (1<<18) -#define MI_INVALIDATE_BSD (1<<7) +#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) #define MI_BATCH_NON_SECURE_I965 (1<<8) @@ -299,6 +304,7 @@ #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) @@ -501,6 +507,7 @@ * the enables for writing to the corresponding low bit. */ #define _3D_CHICKEN 0x02084 +#define _3D_CHICKEN_HIZ_PLANE_DISABLE_MSAA_4X_SNB (1 << 10) #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 @@ -508,11 +515,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 ASYNC_FLIP_PERF_DISABLE (1 << 14) + +#define GEN6_GT_MODE 0x20d0 +#define GEN6_GT_MODE_HI (1 << 9) #define GFX_MODE 0x02520 #define GFX_MODE_GEN7 0x0229c @@ -567,6 +578,8 @@ will not assert AGPBUSY# and will only be delivered when out of C3. */ #define INSTPM_FORCE_ORDERING (1<<7) /* GEN6+ */ +#define INSTPM_TLB_INVALIDATE (1<<9) +#define INSTPM_SYNC_FLUSH (1<<5) #define ACTHD 0x020c8 #define FW_BLC 0x020d8 #define FW_BLC2 0x020dc @@ -1453,6 +1466,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 @@ -1704,6 +1721,10 @@ /* 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) @@ -3179,6 +3200,8 @@ #define _PFA_CTL_1 0x68080 #define _PFB_CTL_1 0x68880 #define PF_ENABLE (1<<31) +#define PF_PIPE_SEL_MASK_IVB (3<<29) +#define PF_PIPE_SEL_IVB(pipe) ((pipe)<<29) #define PF_FILTER_MASK (3<<23) #define PF_FILTER_PROGRAMMED (0<<23) #define PF_FILTER_MED_3x3 (1<<23) @@ -3978,7 +4001,7 @@ #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) +#define EDP_LINK_TRAIN_800MV_3_5DB_IVB (0x3e <<22) /* legacy values */ #define EDP_LINK_TRAIN_500MV_0DB_IVB (0x00 <<22) @@ -3992,6 +4015,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 @@ -4034,7 +4058,9 @@ #define GEN6_RP_INTERRUPT_LIMITS 0xA014 #define GEN6_RPSTAT1 0xA01C #define GEN6_CAGF_SHIFT 8 +#define HSW_CAGF_SHIFT 7 #define GEN6_CAGF_MASK (0x7f << GEN6_CAGF_SHIFT) +#define HSW_CAGF_MASK (0x7f << HSW_CAGF_SHIFT) #define GEN6_RP_CONTROL 0xA024 #define GEN6_RP_MEDIA_TURBO (1<<11) #define GEN6_RP_MEDIA_MODE_MASK (3<<9) @@ -4047,6 +4073,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 +4138,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 +4224,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 +4394,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_irq.c +++ linux-lts-quantal-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) @@ -1336,7 +1419,9 @@ spin_lock_irqsave(&dev->event_lock, flags); work = intel_crtc->unpin_work; - if (work == NULL || work->pending || !work->enable_stall_check) { + if (work == NULL || + atomic_read(&work->pending) >= INTEL_FLIP_COMPLETE || + !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; @@ -1648,7 +1733,6 @@ atomic_set(&dev_priv->irq_received, 0); - I915_WRITE(HWSTAM, 0xeffe); /* XXX hotplug from PCH */ @@ -1811,13 +1895,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 +2659,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 +2711,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_sysfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_modes.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_dvo.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_dvo.c @@ -370,6 +370,7 @@ const struct intel_dvo_device *dvo = &intel_dvo_devices[i]; struct i2c_adapter *i2c; int gpio; + bool dvoinit; /* Allow the I2C driver info to specify the GPIO to be used in * special cases, but otherwise default to what's defined @@ -389,7 +390,17 @@ i2c = intel_gmbus_get_adapter(dev_priv, gpio); intel_dvo->dev = *dvo; - if (!dvo->dev_ops->init(&intel_dvo->dev, i2c)) + + /* GMBUS NAK handling seems to be unstable, hence let the + * transmitter detection run in bit banging mode for now. + */ + intel_gmbus_force_bit(i2c, true); + + dvoinit = dvo->dev_ops->init(&intel_dvo->dev, i2c); + + intel_gmbus_force_bit(i2c, false); + + if (!dvoinit) continue; intel_encoder->type = INTEL_OUTPUT_DVO; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_drv.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_drv.h @@ -176,6 +176,8 @@ struct intel_unpin_work *unpin_work; int fdi_lanes; + atomic_t unpin_work_count; + struct drm_i915_gem_object *cursor_bo; uint32_t cursor_addr; int16_t cursor_x, cursor_y; @@ -319,11 +321,14 @@ struct intel_unpin_work { struct work_struct work; - struct drm_device *dev; + 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; + atomic_t pending; +#define INTEL_FLIP_INACTIVE 0 +#define INTEL_FLIP_PENDING 1 +#define INTEL_FLIP_COMPLETE 2 bool enable_stall_check; }; @@ -334,6 +339,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_sdvo_regs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_dp.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_dp.c @@ -631,7 +631,18 @@ DRM_DEBUG_KMS("aux_ch native nack\n"); return -EREMOTEIO; case AUX_NATIVE_REPLY_DEFER: - udelay(100); + /* + * For now, just give more slack to branch devices. We + * could check the DPCD for I2C bit rate capabilities, + * and if available, adjust the interval. We could also + * be more careful with DP-to-Legacy adapters where a + * long legacy cable may force very low I2C bit rates. + */ + if (intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] & + DP_DWN_STRM_PORT_PRESENT) + usleep_range(500, 600); + else + usleep_range(300, 400); continue; default: DRM_ERROR("aux_ch invalid native reply 0x%02x\n", @@ -726,8 +737,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 +1182,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 +1299,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 +1336,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 +1779,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 +1933,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 +2170,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 +2215,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 +2279,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); } @@ -2336,11 +2343,6 @@ static void intel_dp_destroy(struct drm_connector *connector) { - struct drm_device *dev = connector->dev; - - if (intel_dpd_is_edp(dev)) - intel_panel_destroy_backlight(dev); - drm_sysfs_connector_remove(connector); drm_connector_cleanup(connector); kfree(connector); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_ringbuffer.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_ringbuffer.h @@ -175,6 +175,8 @@ * 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); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_drv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_opregion.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_opregion.c @@ -163,7 +163,7 @@ max = intel_panel_get_max_backlight(dev); intel_panel_set_backlight(dev, bclp * max / 255); - iowrite32((bclp*0x64)/0xff | ASLE_CBLV_VALID, &asle->cblv); + iowrite32(DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID, &asle->cblv); return 0; } @@ -427,6 +427,25 @@ 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; @@ -436,8 +455,10 @@ return; if (opregion->acpi) { - if (drm_core_check_feature(dev, DRIVER_MODESET)) + 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. --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_debug.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_overlay.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_dmabuf.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/i915_gem_dmabuf.c @@ -169,8 +169,7 @@ { struct drm_i915_gem_object *obj = to_intel_bo(gem_obj); - return dma_buf_export(obj, &i915_dmabuf_ops, - obj->base.size, 0600); + return dma_buf_export(obj, &i915_dmabuf_ops, obj->base.size, flags); } struct drm_gem_object *i915_gem_prime_import(struct drm_device *dev, @@ -188,7 +187,12 @@ obj = dma_buf->priv; /* is it from our device? */ if (obj->base.dev == dev) { + /* + * Importing dmabuf exported from out own gem increases + * refcount on gem itself instead of f_count of dmabuf. + */ drm_gem_object_reference(&obj->base); + dma_buf_put(dma_buf); return &obj->base; } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_sdvo.c +++ linux-lts-quantal-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); } } @@ -1573,11 +1592,14 @@ * 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; + intel_ddc_get_modes(connector, &intel_sdvo->ddc); - /* Fetch modes from VBT */ + /* + * Fetch modes from VBT. For SDVO prefer the VBT mode since some + * SDVO->LVDS transcoders can't cope with the EDID mode. Since + * drm_mode_probed_add adds the mode at the head of the list we add it + * last. + */ if (dev_priv->sdvo_lvds_vbt_mode != NULL) { newmode = drm_mode_duplicate(connector->dev, dev_priv->sdvo_lvds_vbt_mode); @@ -1589,7 +1611,6 @@ } } -end: list_for_each_entry(newmode, &connector->probed_modes, head) { if (newmode->type & DRM_MODE_TYPE_PREFERRED) { intel_sdvo->sdvo_lvds_fixed_mode = @@ -2256,6 +2277,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 +2585,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 +2638,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_debugfs.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/i915_debugfs.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "drmP.h" #include "drm.h" #include "intel_drv.h" @@ -121,7 +122,7 @@ 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%s%s%s", + seq_printf(m, "%pK: %s%s %8zdKiB %04x %04x %d %d%s%s%s", &obj->base, get_pin_flag(obj), get_tiling_flag(obj), @@ -324,7 +325,7 @@ seq_printf(m, "No flip due on pipe %c (plane %c)\n", pipe, plane); } else { - if (!work->pending) { + if (atomic_read(&work->pending) < INTEL_FLIP_COMPLETE) { seq_printf(m, "Flip queued on pipe %c (plane %c)\n", pipe, plane); } else { @@ -335,7 +336,7 @@ 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); + seq_printf(m, "%d prepares\n", atomic_read(&work->pending)); if (work->old_fb_obj) { struct drm_i915_gem_object *obj = work->old_fb_obj; @@ -709,6 +710,7 @@ seq_printf(m, "Time: %ld s %ld us\n", error->time.tv_sec, error->time.tv_usec); + seq_printf(m, "Kernel: " UTS_RELEASE "\n"); 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); @@ -892,7 +894,7 @@ 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 rpstat, cagf; u32 rpupei, rpcurup, rpprevup; u32 rpdownei, rpcurdown, rpprevdown; int max_freq; @@ -911,6 +913,11 @@ rpdownei = I915_READ(GEN6_RP_CUR_DOWN_EI); rpcurdown = I915_READ(GEN6_RP_CUR_DOWN); rpprevdown = I915_READ(GEN6_RP_PREV_DOWN); + if (IS_HASWELL(dev)) + cagf = (rpstat & HSW_CAGF_MASK) >> HSW_CAGF_SHIFT; + else + cagf = (rpstat & GEN6_CAGF_MASK) >> GEN6_CAGF_SHIFT; + cagf *= 50; gen6_gt_force_wake_put(dev_priv); mutex_unlock(&dev->struct_mutex); @@ -923,8 +930,7 @@ 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) * 50); + seq_printf(m, "CAGF: %dMHz\n", cagf); seq_printf(m, "RP CUR UP EI: %dus\n", rpupei & GEN6_CURICONT_MASK); seq_printf(m, "RP CUR UP: %dus\n", rpcurup & --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_dma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_panel.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_panel.c @@ -285,6 +285,17 @@ { struct drm_i915_private *dev_priv = dev->dev_private; + /* + * Do not disable backlight on the vgaswitcheroo path. When switching + * away from i915, the other client may depend on i915 to handle the + * backlight. This will leave the backlight on unnecessarily when + * another client is not activated. + */ + if (dev->switch_power_state == DRM_SWITCH_POWER_CHANGING) { + DRM_DEBUG_DRIVER("Skipping backlight disable on vga switch\n"); + return; + } + dev_priv->backlight_enabled = false; intel_panel_actually_set_backlight(dev, 0); } @@ -361,6 +372,9 @@ intel_panel_init_backlight(dev); + if (WARN_ON(dev_priv->backlight)) + return -ENODEV; + if (dev_priv->int_lvds_connector) connector = dev_priv->int_lvds_connector; else if (dev_priv->int_edp_connector) @@ -389,8 +403,10 @@ void intel_panel_destroy_backlight(struct drm_device *dev) { struct drm_i915_private *dev_priv = dev->dev_private; - if (dev_priv->backlight) + if (dev_priv->backlight) { backlight_device_unregister(dev_priv->backlight); + dev_priv->backlight = NULL; + } } #else int intel_panel_setup_backlight(struct drm_device *dev) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_ringbuffer.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -219,30 +219,44 @@ int ret; /* Force SNB workarounds for PIPE_CONTROL flushes */ - intel_emit_post_sync_nonzero_flush(ring); + 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. */ - flags |= PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH; - flags |= PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE; - flags |= PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE; - flags |= PIPE_CONTROL_DEPTH_CACHE_FLUSH; - flags |= PIPE_CONTROL_VF_CACHE_INVALIDATE; - flags |= PIPE_CONTROL_CONST_CACHE_INVALIDATE; - flags |= PIPE_CONTROL_STATE_CACHE_INVALIDATE; + 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, 6); + ret = intel_ring_begin(ring, 4); if (ret) return ret; - intel_ring_emit(ring, GFX_OP_PIPE_CONTROL(5)); + 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); /* lower dword */ - intel_ring_emit(ring, 0); /* uppwer dword */ - intel_ring_emit(ring, MI_NOOP); + intel_ring_emit(ring, 0); intel_ring_advance(ring); return 0; @@ -411,13 +425,20 @@ struct drm_i915_private *dev_priv = dev->dev_private; int ret = init_ring_common(ring); - if (INTEL_INFO(dev)->gen > 3) { + 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)); - } + + /* We need to disable the AsyncFlip performance optimisations in order + * to use MI_WAIT_FOR_EVENT within the CS. It should already be + * programmed to '1' on all products. + */ + if (INTEL_INFO(dev)->gen >= 6) + I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE)); + + 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); @@ -438,6 +459,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; } @@ -766,6 +790,18 @@ I915_WRITE(mmio, (u32)ring->status_page.gfx_addr); POSTING_READ(mmio); + + /* Flush the TLB for this page */ + if (INTEL_INFO(dev)->gen >= 6) { + u32 reg = RING_INSTPM(ring->mmio_base); + I915_WRITE(reg, + _MASKED_BIT_ENABLE(INSTPM_TLB_INVALIDATE | + INSTPM_SYNC_FLUSH)); + if (wait_for((I915_READ(reg) & INSTPM_SYNC_FLUSH) == 0, + 1000)) + DRM_ERROR("%s: wait for SyncFlush to complete for TLB invalidation timed out\n", + ring->name); + } } static int @@ -825,7 +861,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 +884,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 +1012,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 +1046,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; @@ -1277,10 +1322,17 @@ 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; + 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, 0); + 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); @@ -1318,10 +1370,17 @@ 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; + cmd |= MI_INVALIDATE_TLB | MI_FLUSH_DW_STORE_INDEX | + MI_FLUSH_DW_OP_STOREDW | MI_FLUSH_DW_OP_STOREDW; intel_ring_emit(ring, cmd); - intel_ring_emit(ring, 0); + 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); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_drv.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/i915_drv.h @@ -329,6 +329,8 @@ #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) +#define QUIRK_NO_PCH_PWM_ENABLE (1<<4) struct intel_fbdev; struct intel_fbc_work; @@ -650,13 +652,17 @@ unsigned long gtt_start; unsigned long gtt_mappable_end; unsigned long gtt_end; + unsigned long stolen_base; /* limited to low memory (32-bit) */ 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 +823,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 +1323,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); @@ -1467,6 +1476,7 @@ /* modesetting */ extern void intel_modeset_init_hw(struct drm_device *dev); +extern void i915_redisable_vga(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); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_lvds.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_lvds.c @@ -408,13 +408,7 @@ { struct intel_lvds *intel_lvds = to_intel_lvds(encoder); - /* - * Prior to Ironlake, we must disable the pipe if we want to adjust - * the panel fitter. However at all other times we can just reset - * the registers regardless. - */ - if (!HAS_PCH_SPLIT(encoder->dev) && intel_lvds->pfit_dirty) - intel_lvds_disable(intel_lvds); + intel_lvds_disable(intel_lvds); } static void intel_lvds_commit(struct drm_encoder *encoder) @@ -541,6 +535,7 @@ mutex_lock(&dev->mode_config.mutex); drm_helper_resume_force_mode(dev); + i915_redisable_vga(dev); mutex_unlock(&dev->mode_config.mutex); return NOTIFY_OK; @@ -558,8 +553,6 @@ struct drm_device *dev = connector->dev; struct drm_i915_private *dev_priv = dev->dev_private; - intel_panel_destroy_backlight(dev); - if (dev_priv->lid_notifier.notifier_call) acpi_lid_notifier_unregister(&dev_priv->lid_notifier); drm_sysfs_connector_remove(connector); @@ -747,10 +740,10 @@ }, { .callback = intel_no_lvds_dmi_callback, - .ident = "Hewlett-Packard HP t5740e Thin Client", + .ident = "Hewlett-Packard HP t5740", .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP t5740e Thin Client"), + DMI_MATCH(DMI_PRODUCT_NAME, " t5740"), }, }, { @@ -777,6 +770,30 @@ DMI_MATCH(DMI_BOARD_NAME, "MS-7469"), }, }, + { + .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"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Fujitsu Esprimo Q900", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO Q900"), + }, + }, { } /* terminating entry */ }; @@ -1074,7 +1091,8 @@ goto failed; out: - if (HAS_PCH_SPLIT(dev)) { + if (HAS_PCH_SPLIT(dev) && + !(dev_priv->quirks & QUIRK_NO_PCH_PWM_ENABLE)) { u32 pwm; pipe = (I915_READ(PCH_LVDS) & LVDS_PIPEB_SELECT) ? 1 : 0; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_crt.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ linux-lts-quantal-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); } @@ -748,6 +749,8 @@ total = 0; for (i = 0; i < count; i++) { struct drm_i915_gem_relocation_entry __user *user_relocs; + u64 invalid_offset = (u64)-1; + int j; user_relocs = (void __user *)(uintptr_t)exec[i].relocs_ptr; @@ -758,6 +761,25 @@ goto err; } + /* As we do not update the known relocation offsets after + * relocating (due to the complexities in lock handling), + * we need to mark them as invalid now so that we force the + * relocation processing next time. Just in case the target + * object is evicted and then rebound into its old + * presumed_offset before the next execbuffer - if that + * happened we would make the mistake of assuming that the + * relocations were valid. + */ + for (j = 0; j < exec[i].relocation_count; j++) { + if (copy_to_user(&user_relocs[j].presumed_offset, + &invalid_offset, + sizeof(invalid_offset))) { + ret = -EFAULT; + mutex_lock(&dev->struct_mutex); + goto err; + } + } + reloc_offset[i] = total; total += exec[i].relocation_count; } @@ -919,15 +941,20 @@ int count) { int i; + int relocs_total = 0; + int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry); 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)) + /* First check for malicious input causing overflow in + * the worst case where we need to allocate the entire + * relocation tree as a single array. + */ + if (exec[i].relocation_count > relocs_max - relocs_total) return -EINVAL; + relocs_total += exec[i].relocation_count; length = exec[i].relocation_count * sizeof(struct drm_i915_gem_relocation_entry); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_gem_gtt.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -72,7 +72,7 @@ /* 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 = 512*1024 - I915_PPGTT_PD_ENTRIES; + 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) @@ -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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_hdmi.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/i915/intel_hdmi.c @@ -141,16 +141,22 @@ 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, @@ -190,16 +196,22 @@ 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, @@ -229,16 +241,22 @@ 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, @@ -262,16 +280,22 @@ 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, @@ -294,13 +318,19 @@ 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, @@ -400,7 +430,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 +504,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 +544,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_pm.c +++ linux-lts-quantal-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 @@ -2397,23 +2404,27 @@ 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_RC6p_THRESHOLD, 150000); 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)) @@ -3307,6 +3327,10 @@ I915_READ(ILK_DISPLAY_CHICKEN2) | ILK_ELPIN_409_SELECT); + /* WaDisableHiZPlanesWhenMSAAEnabled */ + I915_WRITE(_3D_CHICKEN, + _MASKED_BIT_ENABLE(_3D_CHICKEN_HIZ_PLANE_DISABLE_MSAA_4X_SNB)); + I915_WRITE(WM3_LP_ILK, 0); I915_WRITE(WM2_LP_ILK, 0); I915_WRITE(WM1_LP_ILK, 0); @@ -3334,8 +3358,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 +3387,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 +3406,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 +3619,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 +3850,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/i915_gem.c +++ linux-lts-quantal-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; @@ -2327,17 +2332,35 @@ return fence - dev_priv->fence_regs; } +static void i915_gem_write_fence__ipi(void *data) +{ + wbinvd(); +} + 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); + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + int fence_reg = fence_number(dev_priv, fence); - i915_gem_write_fence(obj->base.dev, reg, enable ? obj : NULL); + /* In order to fully serialize access to the fenced region and + * the update to the fence register we need to take extreme + * measures on SNB+. In theory, the write to the fence register + * flushes all memory transactions before, and coupled with the + * mb() placed around the register write we serialise all memory + * operations with respect to the changes in the tiler. Yet, on + * SNB+ we need to take a step further and emit an explicit wbinvd() + * on each processor in order to manually flush all memory + * transactions before updating the fence register. + */ + if (HAS_LLC(obj->base.dev)) + on_each_cpu(i915_gem_write_fence__ipi, NULL, 1); + i915_gem_write_fence(dev, fence_reg, enable ? obj : NULL); if (enable) { - obj->fence_reg = reg; + obj->fence_reg = fence_reg; fence->obj = obj; list_move_tail(&fence->lru_list, &dev_priv->mm.fence_list); } else { @@ -3044,7 +3067,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)) || @@ -3119,14 +3143,15 @@ goto out; } - obj->user_pin_count++; - obj->pin_filp = file; - if (obj->user_pin_count == 1) { + if (obj->user_pin_count == 0) { ret = i915_gem_object_pin(obj, args->alignment, true); if (ret) goto out; } + obj->user_pin_count++; + obj->pin_filp = file; + /* XXX - flush the CPU caches for pinned objects * as the X server doesn't manage domains yet */ @@ -3435,6 +3460,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 +3581,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 +3716,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/i915/intel_bios.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/atom.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/atom.c @@ -1222,12 +1222,17 @@ int r; mutex_lock(&ctx->mutex); + /* reset data block */ + ctx->data_block = 0; /* reset reg block */ ctx->reg_block = 0; /* reset fb window */ ctx->fb_base = 0; /* reset io mode */ ctx->io_mode = ATOM_IO_MM; + /* reset divmul */ + ctx->divmul[0] = 0; + ctx->divmul[1] = 0; r = atom_execute_table_locked(ctx, index, params); mutex_unlock(&ctx->mutex); return r; @@ -1389,10 +1394,10 @@ firmware_usage = (struct _ATOM_VRAM_USAGE_BY_FIRMWARE *)(ctx->bios + data_offset); DRM_DEBUG("atom firmware requested %08x %dkb\n", - firmware_usage->asFirmwareVramReserveInfo[0].ulStartAddrUsedByFirmware, - firmware_usage->asFirmwareVramReserveInfo[0].usFirmwareUseInKb); + le32_to_cpu(firmware_usage->asFirmwareVramReserveInfo[0].ulStartAddrUsedByFirmware), + le16_to_cpu(firmware_usage->asFirmwareVramReserveInfo[0].usFirmwareUseInKb)); - usage_bytes = firmware_usage->asFirmwareVramReserveInfo[0].usFirmwareUseInKb * 1024; + usage_bytes = le16_to_cpu(firmware_usage->asFirmwareVramReserveInfo[0].usFirmwareUseInKb) * 1024; } ctx->scratch_size_bytes = 0; if (usage_bytes == 0) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_connectors.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_connectors.c @@ -40,10 +40,6 @@ struct drm_encoder *encoder, bool connected); -extern void -radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder, - struct drm_connector *drm_connector); - void radeon_connector_hotplug(struct drm_connector *connector) { struct drm_device *dev = connector->dev; @@ -64,14 +60,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; + + /* if existing sink type was not DP no need to retrain */ + if (dig_connector->dp_sink_type != CONNECTOR_OBJECT_ID_DISPLAYPORT) + return; - /* 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; + /* 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; + } } } @@ -726,7 +741,7 @@ ret = connector_status_disconnected; if (radeon_connector->ddc_bus) - dret = radeon_ddc_probe(radeon_connector); + dret = radeon_ddc_probe(radeon_connector, false); if (dret) { radeon_connector->detected_by_load = false; if (radeon_connector->edid) { @@ -932,7 +947,7 @@ return connector->status; if (radeon_connector->ddc_bus) - dret = radeon_ddc_probe(radeon_connector); + dret = radeon_ddc_probe(radeon_connector, false); if (dret) { radeon_connector->detected_by_load = false; if (radeon_connector->edid) { @@ -1372,7 +1387,8 @@ if (encoder) { /* setup ddc on the bridge */ radeon_atom_ext_encoder_setup_ddc(encoder); - if (radeon_ddc_probe(radeon_connector)) /* try DDC */ + /* bridge chips are always aux */ + if (radeon_ddc_probe(radeon_connector, true)) /* try DDC */ ret = connector_status_connected; else if (radeon_connector->dac_load_detect) { /* try load detection */ struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; @@ -1390,7 +1406,8 @@ if (radeon_dp_getdpcd(radeon_connector)) ret = connector_status_connected; } else { - if (radeon_ddc_probe(radeon_connector)) + /* try non-aux ddc (DP to DVI/HMDI/etc. adapter) */ + if (radeon_ddc_probe(radeon_connector, false)) ret = connector_status_connected; } } @@ -1458,6 +1475,24 @@ .force = radeon_dvi_force, }; +static const struct drm_connector_funcs radeon_edp_connector_funcs = { + .dpms = drm_helper_connector_dpms, + .detect = radeon_dp_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = radeon_lvds_set_property, + .destroy = radeon_dp_connector_destroy, + .force = radeon_dvi_force, +}; + +static const struct drm_connector_funcs radeon_lvds_bridge_connector_funcs = { + .dpms = drm_helper_connector_dpms, + .detect = radeon_dp_detect, + .fill_modes = drm_helper_probe_single_connector_modes, + .set_property = radeon_lvds_set_property, + .destroy = radeon_dp_connector_destroy, + .force = radeon_dvi_force, +}; + void radeon_add_atom_connector(struct drm_device *dev, uint32_t connector_id, @@ -1549,8 +1584,6 @@ goto failed; radeon_dig_connector->igp_lane_info = igp_lane_info; radeon_connector->con_priv = radeon_dig_connector; - drm_connector_init(dev, &radeon_connector->base, &radeon_dp_connector_funcs, connector_type); - drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs); if (i2c_bus->valid) { /* add DP i2c bus */ if (connector_type == DRM_MODE_CONNECTOR_eDP) @@ -1567,6 +1600,10 @@ case DRM_MODE_CONNECTOR_VGA: case DRM_MODE_CONNECTOR_DVIA: default: + drm_connector_init(dev, &radeon_connector->base, + &radeon_dp_connector_funcs, connector_type); + drm_connector_helper_add(&radeon_connector->base, + &radeon_dp_connector_helper_funcs); connector->interlace_allowed = true; connector->doublescan_allowed = true; radeon_connector->dac_load_detect = true; @@ -1579,6 +1616,10 @@ case DRM_MODE_CONNECTOR_HDMIA: case DRM_MODE_CONNECTOR_HDMIB: case DRM_MODE_CONNECTOR_DisplayPort: + drm_connector_init(dev, &radeon_connector->base, + &radeon_dp_connector_funcs, connector_type); + drm_connector_helper_add(&radeon_connector->base, + &radeon_dp_connector_helper_funcs); drm_connector_attach_property(&radeon_connector->base, rdev->mode_info.underscan_property, UNDERSCAN_OFF); @@ -1603,6 +1644,10 @@ break; case DRM_MODE_CONNECTOR_LVDS: case DRM_MODE_CONNECTOR_eDP: + drm_connector_init(dev, &radeon_connector->base, + &radeon_lvds_bridge_connector_funcs, connector_type); + drm_connector_helper_add(&radeon_connector->base, + &radeon_dp_connector_helper_funcs); drm_connector_attach_property(&radeon_connector->base, dev->mode_config.scaling_mode_property, DRM_MODE_SCALE_FULLSCREEN); @@ -1766,7 +1811,7 @@ goto failed; radeon_dig_connector->igp_lane_info = igp_lane_info; radeon_connector->con_priv = radeon_dig_connector; - drm_connector_init(dev, &radeon_connector->base, &radeon_dp_connector_funcs, connector_type); + drm_connector_init(dev, &radeon_connector->base, &radeon_edp_connector_funcs, connector_type); drm_connector_helper_add(&radeon_connector->base, &radeon_dp_connector_helper_funcs); if (i2c_bus->valid) { /* add DP i2c bus */ @@ -1989,15 +2034,4 @@ connector->polled = DRM_CONNECTOR_POLL_HPD; connector->display_info.subpixel_order = subpixel_order; drm_sysfs_connector_add(connector); - if (connector_type == DRM_MODE_CONNECTOR_LVDS) { - struct drm_encoder *drm_encoder; - - list_for_each_entry(drm_encoder, &dev->mode_config.encoder_list, head) { - struct radeon_encoder *radeon_encoder; - - radeon_encoder = to_radeon_encoder(drm_encoder); - if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_LVDS) - radeon_legacy_backlight_init(radeon_encoder, connector); - } - } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_combios.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_combios.c @@ -147,7 +147,7 @@ enum radeon_combios_table_offset table) { struct radeon_device *rdev = dev->dev_private; - int rev; + int rev, size; uint16_t offset = 0, check_offset; if (!rdev->bios) @@ -156,174 +156,106 @@ switch (table) { /* absolute offset tables */ case COMBIOS_ASIC_INIT_1_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0xc); - if (check_offset) - offset = check_offset; + check_offset = 0xc; break; case COMBIOS_BIOS_SUPPORT_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x14); - if (check_offset) - offset = check_offset; + check_offset = 0x14; break; case COMBIOS_DAC_PROGRAMMING_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x2a); - if (check_offset) - offset = check_offset; + check_offset = 0x2a; break; case COMBIOS_MAX_COLOR_DEPTH_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x2c); - if (check_offset) - offset = check_offset; + check_offset = 0x2c; break; case COMBIOS_CRTC_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x2e); - if (check_offset) - offset = check_offset; + check_offset = 0x2e; break; case COMBIOS_PLL_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x30); - if (check_offset) - offset = check_offset; + check_offset = 0x30; break; case COMBIOS_TV_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x32); - if (check_offset) - offset = check_offset; + check_offset = 0x32; break; case COMBIOS_DFP_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x34); - if (check_offset) - offset = check_offset; + check_offset = 0x34; break; case COMBIOS_HW_CONFIG_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x36); - if (check_offset) - offset = check_offset; + check_offset = 0x36; break; case COMBIOS_MULTIMEDIA_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x38); - if (check_offset) - offset = check_offset; + check_offset = 0x38; break; case COMBIOS_TV_STD_PATCH_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x3e); - if (check_offset) - offset = check_offset; + check_offset = 0x3e; break; case COMBIOS_LCD_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x40); - if (check_offset) - offset = check_offset; + check_offset = 0x40; break; case COMBIOS_MOBILE_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x42); - if (check_offset) - offset = check_offset; + check_offset = 0x42; break; case COMBIOS_PLL_INIT_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x46); - if (check_offset) - offset = check_offset; + check_offset = 0x46; break; case COMBIOS_MEM_CONFIG_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x48); - if (check_offset) - offset = check_offset; + check_offset = 0x48; break; case COMBIOS_SAVE_MASK_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x4a); - if (check_offset) - offset = check_offset; + check_offset = 0x4a; break; case COMBIOS_HARDCODED_EDID_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x4c); - if (check_offset) - offset = check_offset; + check_offset = 0x4c; break; case COMBIOS_ASIC_INIT_2_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x4e); - if (check_offset) - offset = check_offset; + check_offset = 0x4e; break; case COMBIOS_CONNECTOR_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x50); - if (check_offset) - offset = check_offset; + check_offset = 0x50; break; case COMBIOS_DYN_CLK_1_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x52); - if (check_offset) - offset = check_offset; + check_offset = 0x52; break; case COMBIOS_RESERVED_MEM_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x54); - if (check_offset) - offset = check_offset; + check_offset = 0x54; break; case COMBIOS_EXT_TMDS_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x58); - if (check_offset) - offset = check_offset; + check_offset = 0x58; break; case COMBIOS_MEM_CLK_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x5a); - if (check_offset) - offset = check_offset; + check_offset = 0x5a; break; case COMBIOS_EXT_DAC_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x5c); - if (check_offset) - offset = check_offset; + check_offset = 0x5c; break; case COMBIOS_MISC_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x5e); - if (check_offset) - offset = check_offset; + check_offset = 0x5e; break; case COMBIOS_CRT_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x60); - if (check_offset) - offset = check_offset; + check_offset = 0x60; break; case COMBIOS_INTEGRATED_SYSTEM_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x62); - if (check_offset) - offset = check_offset; + check_offset = 0x62; break; case COMBIOS_COMPONENT_VIDEO_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x64); - if (check_offset) - offset = check_offset; + check_offset = 0x64; break; case COMBIOS_FAN_SPEED_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x66); - if (check_offset) - offset = check_offset; + check_offset = 0x66; break; case COMBIOS_OVERDRIVE_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x68); - if (check_offset) - offset = check_offset; + check_offset = 0x68; break; case COMBIOS_OEM_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x6a); - if (check_offset) - offset = check_offset; + check_offset = 0x6a; break; case COMBIOS_DYN_CLK_2_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x6c); - if (check_offset) - offset = check_offset; + check_offset = 0x6c; break; case COMBIOS_POWER_CONNECTOR_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x6e); - if (check_offset) - offset = check_offset; + check_offset = 0x6e; break; case COMBIOS_I2C_INFO_TABLE: - check_offset = RBIOS16(rdev->bios_header_start + 0x70); - if (check_offset) - offset = check_offset; + check_offset = 0x70; break; /* relative offset tables */ case COMBIOS_ASIC_INIT_3_TABLE: /* offset from misc info */ @@ -439,11 +371,16 @@ } break; default: + check_offset = 0; break; } - return offset; + size = RBIOS8(rdev->bios_header_start + 0x6); + /* check absolute offset tables */ + if (table < COMBIOS_ASIC_INIT_3_TABLE && check_offset && check_offset < size) + offset = RBIOS16(rdev->bios_header_start + check_offset); + return offset; } bool radeon_combios_check_hardcoded_edid(struct radeon_device *rdev) @@ -953,11 +890,26 @@ dac = RBIOS8(dac_info + 0x3) & 0xf; p_dac->ps2_pdac_adj = (bg << 8) | (dac); } - /* if the values are all zeros, use the table */ - if (p_dac->ps2_pdac_adj) + /* if the values are zeros, use the table */ + if ((dac == 0) || (bg == 0)) + found = 0; + else found = 1; } + /* quirks */ + /* Radeon 7000 (RV100) */ + if (((dev->pdev->device == 0x5159) && + (dev->pdev->subsystem_vendor == 0x174B) && + (dev->pdev->subsystem_device == 0x7c28)) || + /* Radeon 9100 (R200) */ + ((dev->pdev->device == 0x514D) && + (dev->pdev->subsystem_vendor == 0x174B) && + (dev->pdev->subsystem_device == 0x7149))) { + /* vbios value is bad, use the default */ + found = 0; + } + if (!found) /* fallback to defaults */ radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac); @@ -1536,6 +1488,9 @@ of_machine_is_compatible("PowerBook6,7")) { /* ibook */ rdev->mode_info.connector_table = CT_IBOOK; + } else if (of_machine_is_compatible("PowerMac3,5")) { + /* PowerMac G4 Silver radeon 7500 */ + rdev->mode_info.connector_table = CT_MAC_G4_SILVER; } else if (of_machine_is_compatible("PowerMac4,4")) { /* emac */ rdev->mode_info.connector_table = CT_EMAC; @@ -2200,6 +2155,54 @@ CONNECTOR_OBJECT_ID_SVIDEO, &hpd); break; + case CT_MAC_G4_SILVER: + DRM_INFO("Connector Table: %d (mac g4 silver)\n", + rdev->mode_info.connector_table); + /* DVI-I - tv dac, int tmds */ + ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0); + hpd.hpd = RADEON_HPD_1; /* ??? */ + radeon_add_legacy_encoder(dev, + radeon_get_encoder_enum(dev, + ATOM_DEVICE_DFP1_SUPPORT, + 0), + ATOM_DEVICE_DFP1_SUPPORT); + radeon_add_legacy_encoder(dev, + radeon_get_encoder_enum(dev, + ATOM_DEVICE_CRT2_SUPPORT, + 2), + ATOM_DEVICE_CRT2_SUPPORT); + radeon_add_legacy_connector(dev, 0, + ATOM_DEVICE_DFP1_SUPPORT | + ATOM_DEVICE_CRT2_SUPPORT, + DRM_MODE_CONNECTOR_DVII, &ddc_i2c, + CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I, + &hpd); + /* VGA - primary dac */ + ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0); + hpd.hpd = RADEON_HPD_NONE; + radeon_add_legacy_encoder(dev, + radeon_get_encoder_enum(dev, + ATOM_DEVICE_CRT1_SUPPORT, + 1), + ATOM_DEVICE_CRT1_SUPPORT); + radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT1_SUPPORT, + DRM_MODE_CONNECTOR_VGA, &ddc_i2c, + CONNECTOR_OBJECT_ID_VGA, + &hpd); + /* TV - TV DAC */ + ddc_i2c.valid = false; + hpd.hpd = RADEON_HPD_NONE; + radeon_add_legacy_encoder(dev, + radeon_get_encoder_enum(dev, + ATOM_DEVICE_TV1_SUPPORT, + 2), + ATOM_DEVICE_TV1_SUPPORT); + radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT, + DRM_MODE_CONNECTOR_SVIDEO, + &ddc_i2c, + CONNECTOR_OBJECT_ID_SVIDEO, + &hpd); + break; default: DRM_INFO("Connector table: %d (invalid)\n", rdev->mode_info.connector_table); @@ -2404,6 +2407,14 @@ 1), ATOM_DEVICE_CRT1_SUPPORT); } + /* RV100 board with external TDMS bit mis-set. + * Actually uses internal TMDS, clear the bit. + */ + if (dev->pdev->device == 0x5159 && + dev->pdev->subsystem_vendor == 0x1014 && + dev->pdev->subsystem_device == 0x029A) { + tmp &= ~(1 << 4); + } if ((tmp >> 4) & 0x1) { devices |= ATOM_DEVICE_DFP2_SUPPORT; radeon_add_legacy_encoder(dev, --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r300.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r300.c @@ -1382,6 +1382,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r100_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -1519,9 +1525,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r600_cs.c +++ linux-lts-quantal-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; @@ -2328,8 +2330,10 @@ kfree(parser->relocs); for (i = 0; i < parser->nchunks; i++) { kfree(parser->chunks[i].kdata); - kfree(parser->chunks[i].kpage[0]); - kfree(parser->chunks[i].kpage[1]); + if (parser->rdev && (parser->rdev->flags & RADEON_IS_AGP)) { + kfree(parser->chunks[i].kpage[0]); + kfree(parser->chunks[i].kpage[1]); + } } kfree(parser->chunks); kfree(parser->chunks_array); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ linux-lts-quantal-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. @@ -171,9 +181,6 @@ int i; int r = 0; - INIT_WORK(&rdev->hotplug_work, radeon_hotplug_work_func); - INIT_WORK(&rdev->audio_work, r600_audio_update_hdmi); - spin_lock_init(&rdev->irq.sw_lock); for (i = 0; i < rdev->num_crtc; i++) spin_lock_init(&rdev->irq.pflip_lock[i]); @@ -191,12 +198,18 @@ dev_info(rdev->dev, "radeon: using MSI.\n"); } } + + INIT_WORK(&rdev->hotplug_work, radeon_hotplug_work_func); + INIT_WORK(&rdev->audio_work, r600_audio_update_hdmi); + rdev->irq.installed = true; r = drm_irq_install(rdev->ddev); if (r) { rdev->irq.installed = false; + flush_work(&rdev->hotplug_work); return r; } + DRM_INFO("radeon: irq initialized.\n"); return 0; } @@ -209,8 +222,8 @@ rdev->irq.installed = false; if (rdev->msi_enabled) pci_disable_msi(rdev->pdev); + flush_work_sync(&rdev->hotplug_work); } - flush_work_sync(&rdev->hotplug_work); } void radeon_irq_kms_sw_irq_get(struct radeon_device *rdev, int ring) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_legacy_encoders.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_legacy_encoders.c @@ -271,13 +271,6 @@ #if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) -#define MAX_RADEON_LEVEL 0xFF - -struct radeon_backlight_privdata { - struct radeon_encoder *encoder; - uint8_t negative; -}; - static uint8_t radeon_legacy_lvds_level(struct backlight_device *bd) { struct radeon_backlight_privdata *pdata = bl_get_data(bd); @@ -286,13 +279,13 @@ /* Convert brightness to hardware level */ if (bd->props.brightness < 0) level = 0; - else if (bd->props.brightness > MAX_RADEON_LEVEL) - level = MAX_RADEON_LEVEL; + else if (bd->props.brightness > RADEON_MAX_BL_LEVEL) + level = RADEON_MAX_BL_LEVEL; else level = bd->props.brightness; if (pdata->negative) - level = MAX_RADEON_LEVEL - level; + level = RADEON_MAX_BL_LEVEL - level; return level; } @@ -336,7 +329,7 @@ backlight_level = (RREG32(RADEON_LVDS_GEN_CNTL) >> RADEON_LVDS_BL_MOD_LEVEL_SHIFT) & 0xff; - return pdata->negative ? MAX_RADEON_LEVEL - backlight_level : backlight_level; + return pdata->negative ? RADEON_MAX_BL_LEVEL - backlight_level : backlight_level; } static const struct backlight_ops radeon_backlight_ops = { @@ -370,7 +363,7 @@ } memset(&props, 0, sizeof(props)); - props.max_brightness = MAX_RADEON_LEVEL; + props.max_brightness = RADEON_MAX_BL_LEVEL; props.type = BACKLIGHT_RAW; bd = backlight_device_register("radeon_bl", &drm_connector->kdev, pdata, &radeon_backlight_ops, &props); @@ -449,7 +442,7 @@ } if (bd) { - struct radeon_legacy_backlight_privdata *pdata; + struct radeon_backlight_privdata *pdata; pdata = bl_get_data(bd); backlight_device_unregister(bd); @@ -618,6 +611,14 @@ enum drm_connector_status found = connector_status_disconnected; bool color = true; + /* just don't bother on RN50 those chip are often connected to remoting + * console hw and often we get failure to load detect those. So to make + * everyone happy report the encoder as always connected. + */ + if (ASIC_IS_RN50(rdev)) { + return connector_status_connected; + } + /* save the regs we need */ vclk_ecp_cntl = RREG32_PLL(RADEON_VCLK_ECP_CNTL); crtc_ext_cntl = RREG32(RADEON_CRTC_EXT_CNTL); @@ -651,6 +652,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 +976,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_fence.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_device.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_device.c @@ -359,22 +359,22 @@ { uint32_t reg; - if (efi_enabled && rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE) + if (efi_enabled(EFI_BOOT) && + rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE) return false; /* first check CRTCs */ - if (ASIC_IS_DCE41(rdev)) { + if (ASIC_IS_DCE4(rdev)) { reg = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET) | RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET); - if (reg & EVERGREEN_CRTC_MASTER_EN) - return true; - } else if (ASIC_IS_DCE4(rdev)) { - reg = RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET) | - RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET) | - RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET) | - RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET) | - RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET) | - RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET); + if (rdev->num_crtc >= 4) { + reg |= RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET) | + RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET); + } + if (rdev->num_crtc >= 6) { + reg |= RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET) | + RREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET); + } if (reg & EVERGREEN_CRTC_MASTER_EN) return true; } else if (ASIC_IS_AVIVO(rdev)) { @@ -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; @@ -834,13 +834,22 @@ return r; } if ((radeon_testing & 1)) { - radeon_test_moves(rdev); + if (rdev->accel_working) + radeon_test_moves(rdev); + else + DRM_INFO("radeon: acceleration disabled, skipping move tests\n"); } if ((radeon_testing & 2)) { - radeon_test_syncing(rdev); + if (rdev->accel_working) + radeon_test_syncing(rdev); + else + DRM_INFO("radeon: acceleration disabled, skipping sync tests\n"); } if (radeon_benchmarking) { - radeon_benchmark(rdev, radeon_benchmarking); + if (rdev->accel_working) + radeon_benchmark(rdev, radeon_benchmarking); + else + DRM_INFO("radeon: acceleration disabled, skipping benchmarks\n"); } return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r520.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r520.c @@ -194,6 +194,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + rs600_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -299,9 +305,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/atombios_crtc.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/atombios_crtc.c @@ -258,9 +258,6 @@ 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)) - atombios_powergate_crtc(crtc, ATOM_DISABLE); atombios_enable_crtc(crtc, ATOM_ENABLE); if (ASIC_IS_DCE3(rdev) && !ASIC_IS_DCE6(rdev)) atombios_enable_crtc_memreq(crtc, ATOM_ENABLE); @@ -278,25 +275,6 @@ 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; - } - } - } /* adjust pm to dpms changes AFTER disabling crtcs */ radeon_pm_compute_clocks(rdev); break; @@ -444,11 +422,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)) { @@ -578,6 +573,11 @@ /* use frac fb div on APUs */ if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE61(rdev)) pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV; + /* use frac fb div on RS780/RS880 */ + if ((rdev->family == CHIP_RS780) || (rdev->family == CHIP_RS880)) + pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV; + if (ASIC_IS_DCE32(rdev) && mode->clock > 165000) + pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV; } else { pll->flags |= RADEON_PLL_LEGACY; @@ -1036,7 +1036,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 +1059,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 +1576,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 +1639,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,8 +1669,23 @@ 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); + if (ASIC_IS_DCE6(rdev)) + atombios_powergate_crtc(crtc, ATOM_ENABLE); + + 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: @@ -1678,6 +1703,7 @@ default: break; } +done: radeon_crtc->pll_id = -1; } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_display.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_display.c @@ -695,10 +695,15 @@ if (radeon_connector->router.ddc_valid) radeon_router_select_ddc_port(radeon_connector); - if ((radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort) || - (radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP) || - (radeon_connector_encoder_get_dp_bridge_encoder_id(&radeon_connector->base) != - ENCODER_OBJECT_ID_NONE)) { + if (radeon_connector_encoder_get_dp_bridge_encoder_id(&radeon_connector->base) != + ENCODER_OBJECT_ID_NONE) { + struct radeon_connector_atom_dig *dig = radeon_connector->con_priv; + + if (dig->dp_i2c_bus) + radeon_connector->edid = drm_get_edid(&radeon_connector->base, + &dig->dp_i2c_bus->adapter); + } else if ((radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_DisplayPort) || + (radeon_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)) { struct radeon_connector_atom_dig *dig = radeon_connector->con_priv; if ((dig->dp_sink_type == CONNECTOR_OBJECT_ID_DISPLAYPORT || @@ -1106,14 +1111,16 @@ } radeon_fb = kzalloc(sizeof(*radeon_fb), GFP_KERNEL); - if (radeon_fb == NULL) + if (radeon_fb == NULL) { + drm_gem_object_unreference_unlocked(obj); return ERR_PTR(-ENOMEM); + } ret = radeon_framebuffer_init(dev, radeon_fb, mode_cmd, obj); if (ret) { kfree(radeon_fb); drm_gem_object_unreference_unlocked(obj); - return NULL; + return ERR_PTR(ret); } return &radeon_fb->base; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r600.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r600.c @@ -1383,12 +1383,15 @@ u32 disabled_rb_mask) { u32 rendering_pipe_num, rb_num_width, req_rb_num; - u32 pipe_rb_ratio, pipe_rb_remain; + u32 pipe_rb_ratio, pipe_rb_remain, tmp; u32 data = 0, mask = 1 << (max_rb_num - 1); unsigned i, j; /* mask out the RBs that don't exist on that asic */ - disabled_rb_mask |= (0xff << max_rb_num) & 0xff; + tmp = disabled_rb_mask | ((0xff << max_rb_num) & 0xff); + /* make sure at least one RB is available */ + if ((tmp & 0xff) != 0xff) + disabled_rb_mask = tmp; rendering_pipe_num = 1 << tiling_pipe_num; req_rb_num = total_max_rb_num - r600_count_pipe_bits(disabled_rb_mask); @@ -2358,6 +2361,13 @@ /* enable pcie gen2 link */ r600_pcie_gen2_enable(rdev); + /* scratch needs to be initialized before MC */ + r = r600_vram_scratch_init(rdev); + if (r) + return r; + + r600_mc_program(rdev); + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { r = r600_init_microcode(rdev); if (r) { @@ -2366,11 +2376,6 @@ } } - r = r600_vram_scratch_init(rdev); - if (r) - return r; - - r600_mc_program(rdev); if (rdev->flags & RADEON_IS_AGP) { r600_agp_enable(rdev); } else { @@ -2398,6 +2403,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r = r600_irq_init(rdev); if (r) { DRM_ERROR("radeon: IH init failed (%d).\n", r); @@ -2545,10 +2556,6 @@ if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; - rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL; r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_drv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_gem.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_kms.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_kms.c @@ -39,8 +39,13 @@ if (rdev == NULL) return 0; + if (rdev->rmmio == NULL) + goto done_free; + radeon_acpi_fini(rdev); radeon_modeset_fini(rdev); radeon_device_fini(rdev); + +done_free: kfree(rdev); dev->dev_private = NULL; return 0; @@ -78,11 +83,6 @@ goto out; } - /* Call ACPI methods */ - acpi_status = radeon_acpi_init(rdev); - if (acpi_status) - dev_dbg(&dev->pdev->dev, "Error during ACPI methods call\n"); - /* Again modeset_init should fail only on fatal error * otherwise it should provide enough functionalities * for shadowfb to run @@ -90,6 +90,17 @@ r = radeon_modeset_init(rdev); if (r) dev_err(&dev->pdev->dev, "Fatal error during modeset init\n"); + + /* Call ACPI methods: require modeset init + * but failure is not fatal + */ + if (!r) { + acpi_status = radeon_acpi_init(rdev); + if (acpi_status) + dev_dbg(&dev->pdev->dev, + "Error during ACPI methods call\n"); + } + out: if (r) radeon_driver_unload_kms(dev); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_cs.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_cs.c @@ -274,13 +274,15 @@ p->chunks[p->chunk_ib_idx].length_dw); return -EINVAL; } - if ((p->rdev->flags & RADEON_IS_AGP)) { + if (p->rdev && (p->rdev->flags & RADEON_IS_AGP)) { p->chunks[p->chunk_ib_idx].kpage[0] = kmalloc(PAGE_SIZE, GFP_KERNEL); p->chunks[p->chunk_ib_idx].kpage[1] = kmalloc(PAGE_SIZE, GFP_KERNEL); if (p->chunks[p->chunk_ib_idx].kpage[0] == NULL || p->chunks[p->chunk_ib_idx].kpage[1] == NULL) { - kfree(p->chunks[i].kpage[0]); - kfree(p->chunks[i].kpage[1]); + kfree(p->chunks[p->chunk_ib_idx].kpage[0]); + kfree(p->chunks[p->chunk_ib_idx].kpage[1]); + p->chunks[p->chunk_ib_idx].kpage[0] = NULL; + p->chunks[p->chunk_ib_idx].kpage[1] = NULL; return -ENOMEM; } } @@ -294,6 +296,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 +330,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 +404,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 +434,6 @@ if (parser->chunk_ib_idx == -1) return 0; - if ((parser->cs_flags & RADEON_CS_USE_VM) == 0) return 0; @@ -589,7 +615,8 @@ struct radeon_cs_chunk *ibc = &p->chunks[p->chunk_ib_idx]; int i; int size = PAGE_SIZE; - bool copy1 = (p->rdev->flags & RADEON_IS_AGP) ? false : true; + bool copy1 = (p->rdev && (p->rdev->flags & RADEON_IS_AGP)) ? + false : true; for (i = ibc->last_copied_page + 1; i < pg_idx; i++) { if (DRM_COPY_FROM_USER(p->ib.ptr + (i * (PAGE_SIZE/4)), --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_pm.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_pm.c @@ -24,9 +24,6 @@ #include "radeon.h" #include "avivod.h" #include "atom.h" -#ifdef CONFIG_ACPI -#include -#endif #include #include #include @@ -51,8 +48,6 @@ static void radeon_pm_update_profile(struct radeon_device *rdev); static void radeon_pm_set_clocks(struct radeon_device *rdev); -#define ACPI_AC_CLASS "ac_adapter" - int radeon_pm_get_type_index(struct radeon_device *rdev, enum radeon_pm_state_type ps_type, int instance) @@ -71,33 +66,17 @@ return rdev->pm.default_power_state_index; } -#ifdef CONFIG_ACPI -static int radeon_acpi_event(struct notifier_block *nb, - unsigned long val, - void *data) -{ - struct radeon_device *rdev = container_of(nb, struct radeon_device, acpi_nb); - struct acpi_bus_event *entry = (struct acpi_bus_event *)data; - - if (strcmp(entry->device_class, ACPI_AC_CLASS) == 0) { - if (power_supply_is_system_supplied() > 0) - DRM_DEBUG_DRIVER("pm: AC\n"); - else - DRM_DEBUG_DRIVER("pm: DC\n"); - - if (rdev->pm.pm_method == PM_METHOD_PROFILE) { - if (rdev->pm.profile == PM_PROFILE_AUTO) { - mutex_lock(&rdev->pm.mutex); - radeon_pm_update_profile(rdev); - radeon_pm_set_clocks(rdev); - mutex_unlock(&rdev->pm.mutex); - } +void radeon_pm_acpi_event_handler(struct radeon_device *rdev) +{ + if (rdev->pm.pm_method == PM_METHOD_PROFILE) { + if (rdev->pm.profile == PM_PROFILE_AUTO) { + mutex_lock(&rdev->pm.mutex); + radeon_pm_update_profile(rdev); + radeon_pm_set_clocks(rdev); + mutex_unlock(&rdev->pm.mutex); } } - - return NOTIFY_OK; } -#endif static void radeon_pm_update_profile(struct radeon_device *rdev) { @@ -555,7 +534,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 +591,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); @@ -640,10 +623,6 @@ if (ret) DRM_ERROR("failed to create device file for power method\n"); -#ifdef CONFIG_ACPI - rdev->acpi_nb.notifier_call = radeon_acpi_event; - register_acpi_notifier(&rdev->acpi_nb); -#endif if (radeon_debugfs_pm_init(rdev)) { DRM_ERROR("Failed to register debugfs file for PM!\n"); } @@ -674,9 +653,6 @@ device_remove_file(rdev->dev, &dev_attr_power_profile); device_remove_file(rdev->dev, &dev_attr_power_method); -#ifdef CONFIG_ACPI - unregister_acpi_notifier(&rdev->acpi_nb); -#endif } if (rdev->pm.power_state) @@ -860,7 +836,11 @@ struct radeon_device *rdev = dev->dev_private; seq_printf(m, "default engine clock: %u0 kHz\n", rdev->pm.default_sclk); - seq_printf(m, "current engine clock: %u0 kHz\n", radeon_get_engine_clock(rdev)); + /* radeon_get_engine_clock is not reliable on APUs so just print the current clock */ + if ((rdev->family >= CHIP_PALM) && (rdev->flags & RADEON_IS_IGP)) + seq_printf(m, "current engine clock: %u0 kHz\n", rdev->pm.current_sclk); + else + seq_printf(m, "current engine clock: %u0 kHz\n", radeon_get_engine_clock(rdev)); seq_printf(m, "default memory clock: %u0 kHz\n", rdev->pm.default_mclk); if (rdev->asic->pm.get_memory_clock) seq_printf(m, "current memory clock: %u0 kHz\n", radeon_get_memory_clock(rdev)); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/rv515.c +++ linux-lts-quantal-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); } @@ -399,6 +386,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + rs600_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -531,9 +524,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r100.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r100.c @@ -3896,6 +3896,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r100_irq_set(rdev); rdev->config.r100.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -4054,9 +4060,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/rv770.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/rv770.c @@ -890,6 +890,13 @@ /* enable pcie gen2 link */ rv770_pcie_gen2_enable(rdev); + /* scratch needs to be initialized before MC */ + r = r600_vram_scratch_init(rdev); + if (r) + return r; + + rv770_mc_program(rdev); + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { r = r600_init_microcode(rdev); if (r) { @@ -898,11 +905,6 @@ } } - r = r600_vram_scratch_init(rdev); - if (r) - return r; - - rv770_mc_program(rdev); if (rdev->flags & RADEON_IS_AGP) { rv770_agp_enable(rdev); } else { @@ -931,6 +933,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r = r600_irq_init(rdev); if (r) { DRM_ERROR("radeon: IH init failed (%d).\n", r); @@ -1062,10 +1070,6 @@ if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; - rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL; r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/evergreen_cs.c +++ linux-lts-quantal-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; @@ -2670,7 +2672,11 @@ /* check config regs */ switch (reg) { + case WAIT_UNTIL: 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 +2781,7 @@ case CAYMAN_SQ_EX_ALLOC_TABLE_SLOTS: return true; default: + DRM_ERROR("Invalid register 0x%x in CS\n", reg); return false; } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_ring.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_ring.c @@ -219,8 +219,18 @@ { int r; + /* make sure we aren't trying to allocate more space than there is on the ring */ + if (ndw > (ring->ring_size / 4)) + return -ENOMEM; /* Align requested size with padding so unlock_commit can * pad safely */ + radeon_ring_free_size(rdev, ring); + if (ring->ring_free_dw == (ring->ring_size / 4)) { + /* This is an empty ring update lockup info to avoid + * false positive. + */ + radeon_ring_lockup_update(ring); + } ndw = (ndw + ring->align_mask) & ~ring->align_mask; while (ndw > (ring->ring_free_dw - 1)) { radeon_ring_free_size(rdev, ring); @@ -394,6 +404,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/sid.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/sid.h @@ -60,6 +60,12 @@ #define DMIF_ADDR_CONFIG 0xBD4 +#define DMIF_ADDR_CALC 0xC00 + +#define PIPE0_DMIF_BUFFER_CONTROL 0x0ca0 +# define DMIF_BUFFERS_ALLOCATED(x) ((x) << 0) +# define DMIF_BUFFERS_ALLOCATED_COMPLETED (1 << 4) + #define SRBM_STATUS 0xE50 #define CC_SYS_RB_BACKEND_DISABLE 0xe80 @@ -91,7 +97,18 @@ #define VM_CONTEXT0_CNTL 0x1410 #define ENABLE_CONTEXT (1 << 0) #define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) +#define RANGE_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 3) #define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) +#define DUMMY_PAGE_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 6) +#define DUMMY_PAGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 7) +#define PDE0_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 9) +#define PDE0_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 10) +#define VALID_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 12) +#define VALID_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 13) +#define READ_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 15) +#define READ_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 16) +#define WRITE_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 18) +#define WRITE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 19) #define VM_CONTEXT1_CNTL 0x1414 #define VM_CONTEXT0_CNTL2 0x1430 #define VM_CONTEXT1_CNTL2 0x1434 @@ -104,6 +121,9 @@ #define VM_CONTEXT14_PAGE_TABLE_BASE_ADDR 0x1450 #define VM_CONTEXT15_PAGE_TABLE_BASE_ADDR 0x1454 +#define VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x14FC +#define VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x14DC + #define VM_INVALIDATE_REQUEST 0x1478 #define VM_INVALIDATE_RESPONSE 0x147c @@ -424,6 +444,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/nid.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/nid.h @@ -45,6 +45,10 @@ #define ARUBA_GB_ADDR_CONFIG_GOLDEN 0x12010001 #define DMIF_ADDR_CONFIG 0xBD4 + +/* DCE6 only */ +#define DMIF_ADDR_CALC 0xC00 + #define SRBM_GFX_CNTL 0x0E44 #define RINGID(x) (((x) & 0x3) << 0) #define VMID(x) (((x) & 0x7) << 0) @@ -80,7 +84,18 @@ #define VM_CONTEXT0_CNTL 0x1410 #define ENABLE_CONTEXT (1 << 0) #define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) +#define RANGE_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 3) #define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) +#define DUMMY_PAGE_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 6) +#define DUMMY_PAGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 7) +#define PDE0_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 9) +#define PDE0_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 10) +#define VALID_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 12) +#define VALID_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 13) +#define READ_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 15) +#define READ_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 16) +#define WRITE_PROTECTION_FAULT_ENABLE_INTERRUPT (1 << 18) +#define WRITE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 19) #define VM_CONTEXT1_CNTL 0x1414 #define VM_CONTEXT0_CNTL2 0x1430 #define VM_CONTEXT1_CNTL2 0x1434 --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/rs400.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/rs400.c @@ -174,10 +174,13 @@ /* FIXME: according to doc we should set HIDE_MMCFG_BAR=0, * AGPMODE30=0 & AGP30ENHANCED=0 in NB_CNTL */ if ((rdev->family == CHIP_RS690) || (rdev->family == CHIP_RS740)) { - WREG32_MC(RS480_MC_MISC_CNTL, - (RS480_GART_INDEX_REG_EN | RS690_BLOCK_GFX_D3_EN)); + tmp = RREG32_MC(RS480_MC_MISC_CNTL); + tmp |= RS480_GART_INDEX_REG_EN | RS690_BLOCK_GFX_D3_EN; + WREG32_MC(RS480_MC_MISC_CNTL, tmp); } else { - WREG32_MC(RS480_MC_MISC_CNTL, RS480_GART_INDEX_REG_EN); + tmp = RREG32_MC(RS480_MC_MISC_CNTL); + tmp |= RS480_GART_INDEX_REG_EN; + WREG32_MC(RS480_MC_MISC_CNTL, tmp); } /* Enable gart */ WREG32_MC(RS480_AGP_ADDRESS_SPACE_SIZE, (RS480_GART_EN | size_reg)); @@ -417,6 +420,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r100_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -538,9 +547,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/rs690.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/rs690.c @@ -628,6 +628,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + rs600_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -756,9 +762,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_agp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_object.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_i2c.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_i2c.c @@ -39,7 +39,7 @@ * radeon_ddc_probe * */ -bool radeon_ddc_probe(struct radeon_connector *radeon_connector) +bool radeon_ddc_probe(struct radeon_connector *radeon_connector, bool use_aux) { u8 out = 0x0; u8 buf[8]; @@ -63,7 +63,13 @@ if (radeon_connector->router.ddc_valid) radeon_router_select_ddc_port(radeon_connector); - ret = i2c_transfer(&radeon_connector->ddc_bus->adapter, msgs, 2); + if (use_aux) { + struct radeon_connector_atom_dig *dig = radeon_connector->con_priv; + ret = i2c_transfer(&dig->dp_i2c_bus->adapter, msgs, 2); + } else { + ret = i2c_transfer(&radeon_connector->ddc_bus->adapter, msgs, 2); + } + if (ret != 2) /* Couldn't find an accessible DDC on this connector */ return false; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_acpi.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_acpi.h @@ -0,0 +1,445 @@ +/* + * Copyright 2012 Advanced Micro Devices, 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 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 COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 RADEON_ACPI_H +#define RADEON_ACPI_H + +struct radeon_device; +struct acpi_bus_event; + +int radeon_atif_handler(struct radeon_device *rdev, + struct acpi_bus_event *event); + +/* AMD hw uses four ACPI control methods: + * 1. ATIF + * ARG0: (ACPI_INTEGER) function code + * ARG1: (ACPI_BUFFER) parameter buffer, 256 bytes + * OUTPUT: (ACPI_BUFFER) output buffer, 256 bytes + * ATIF provides an entry point for the gfx driver to interact with the sbios. + * The AMD ACPI notification mechanism uses Notify (VGA, 0x81) or a custom + * notification. Which notification is used as indicated by the ATIF Control + * Method GET_SYSTEM_PARAMETERS. When the driver receives Notify (VGA, 0x81) or + * a custom notification it invokes ATIF Control Method GET_SYSTEM_BIOS_REQUESTS + * to identify pending System BIOS requests and associated parameters. For + * example, if one of the pending requests is DISPLAY_SWITCH_REQUEST, the driver + * will perform display device detection and invoke ATIF Control Method + * SELECT_ACTIVE_DISPLAYS. + * + * 2. ATPX + * ARG0: (ACPI_INTEGER) function code + * ARG1: (ACPI_BUFFER) parameter buffer, 256 bytes + * OUTPUT: (ACPI_BUFFER) output buffer, 256 bytes + * ATPX methods are used on PowerXpress systems to handle mux switching and + * discrete GPU power control. + * + * 3. ATRM + * ARG0: (ACPI_INTEGER) offset of vbios rom data + * ARG1: (ACPI_BUFFER) size of the buffer to fill (up to 4K). + * OUTPUT: (ACPI_BUFFER) output buffer + * ATRM provides an interfacess to access the discrete GPU vbios image on + * PowerXpress systems with multiple GPUs. + * + * 4. ATCS + * ARG0: (ACPI_INTEGER) function code + * ARG1: (ACPI_BUFFER) parameter buffer, 256 bytes + * OUTPUT: (ACPI_BUFFER) output buffer, 256 bytes + * ATCS provides an interface to AMD chipset specific functionality. + * + */ +/* ATIF */ +#define ATIF_FUNCTION_VERIFY_INTERFACE 0x0 +/* ARG0: ATIF_FUNCTION_VERIFY_INTERFACE + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * WORD - version + * DWORD - supported notifications mask + * DWORD - supported functions bit vector + */ +/* Notifications mask */ +# define ATIF_DISPLAY_SWITCH_REQUEST_SUPPORTED (1 << 0) +# define ATIF_EXPANSION_MODE_CHANGE_REQUEST_SUPPORTED (1 << 1) +# define ATIF_THERMAL_STATE_CHANGE_REQUEST_SUPPORTED (1 << 2) +# define ATIF_FORCED_POWER_STATE_CHANGE_REQUEST_SUPPORTED (1 << 3) +# define ATIF_SYSTEM_POWER_SOURCE_CHANGE_REQUEST_SUPPORTED (1 << 4) +# define ATIF_DISPLAY_CONF_CHANGE_REQUEST_SUPPORTED (1 << 5) +# define ATIF_PX_GFX_SWITCH_REQUEST_SUPPORTED (1 << 6) +# define ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST_SUPPORTED (1 << 7) +# define ATIF_DGPU_DISPLAY_EVENT_SUPPORTED (1 << 8) +/* supported functions vector */ +# define ATIF_GET_SYSTEM_PARAMETERS_SUPPORTED (1 << 0) +# define ATIF_GET_SYSTEM_BIOS_REQUESTS_SUPPORTED (1 << 1) +# define ATIF_SELECT_ACTIVE_DISPLAYS_SUPPORTED (1 << 2) +# define ATIF_GET_LID_STATE_SUPPORTED (1 << 3) +# define ATIF_GET_TV_STANDARD_FROM_CMOS_SUPPORTED (1 << 4) +# define ATIF_SET_TV_STANDARD_IN_CMOS_SUPPORTED (1 << 5) +# define ATIF_GET_PANEL_EXPANSION_MODE_FROM_CMOS_SUPPORTED (1 << 6) +# define ATIF_SET_PANEL_EXPANSION_MODE_IN_CMOS_SUPPORTED (1 << 7) +# define ATIF_TEMPERATURE_CHANGE_NOTIFICATION_SUPPORTED (1 << 12) +# define ATIF_GET_GRAPHICS_DEVICE_TYPES_SUPPORTED (1 << 14) +#define ATIF_FUNCTION_GET_SYSTEM_PARAMETERS 0x1 +/* ARG0: ATIF_FUNCTION_GET_SYSTEM_PARAMETERS + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * DWORD - valid flags mask + * DWORD - flags + * + * OR + * + * WORD - structure size in bytes (includes size field) + * DWORD - valid flags mask + * DWORD - flags + * BYTE - notify command code + * + * flags + * bits 1:0: + * 0 - Notify(VGA, 0x81) is not used for notification + * 1 - Notify(VGA, 0x81) is used for notification + * 2 - Notify(VGA, n) is used for notification where + * n (0xd0-0xd9) is specified in notify command code. + * bit 2: + * 1 - lid changes not reported though int10 + */ +#define ATIF_FUNCTION_GET_SYSTEM_BIOS_REQUESTS 0x2 +/* ARG0: ATIF_FUNCTION_GET_SYSTEM_BIOS_REQUESTS + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * DWORD - pending sbios requests + * BYTE - panel expansion mode + * BYTE - thermal state: target gfx controller + * BYTE - thermal state: state id (0: exit state, non-0: state) + * BYTE - forced power state: target gfx controller + * BYTE - forced power state: state id + * BYTE - system power source + * BYTE - panel backlight level (0-255) + */ +/* pending sbios requests */ +# define ATIF_DISPLAY_SWITCH_REQUEST (1 << 0) +# define ATIF_EXPANSION_MODE_CHANGE_REQUEST (1 << 1) +# define ATIF_THERMAL_STATE_CHANGE_REQUEST (1 << 2) +# define ATIF_FORCED_POWER_STATE_CHANGE_REQUEST (1 << 3) +# define ATIF_SYSTEM_POWER_SOURCE_CHANGE_REQUEST (1 << 4) +# define ATIF_DISPLAY_CONF_CHANGE_REQUEST (1 << 5) +# define ATIF_PX_GFX_SWITCH_REQUEST (1 << 6) +# define ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST (1 << 7) +# define ATIF_DGPU_DISPLAY_EVENT (1 << 8) +/* panel expansion mode */ +# define ATIF_PANEL_EXPANSION_DISABLE 0 +# define ATIF_PANEL_EXPANSION_FULL 1 +# define ATIF_PANEL_EXPANSION_ASPECT 2 +/* target gfx controller */ +# define ATIF_TARGET_GFX_SINGLE 0 +# define ATIF_TARGET_GFX_PX_IGPU 1 +# define ATIF_TARGET_GFX_PX_DGPU 2 +/* system power source */ +# define ATIF_POWER_SOURCE_AC 1 +# define ATIF_POWER_SOURCE_DC 2 +# define ATIF_POWER_SOURCE_RESTRICTED_AC_1 3 +# define ATIF_POWER_SOURCE_RESTRICTED_AC_2 4 +#define ATIF_FUNCTION_SELECT_ACTIVE_DISPLAYS 0x3 +/* ARG0: ATIF_FUNCTION_SELECT_ACTIVE_DISPLAYS + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - selected displays + * WORD - connected displays + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * WORD - selected displays + */ +# define ATIF_LCD1 (1 << 0) +# define ATIF_CRT1 (1 << 1) +# define ATIF_TV (1 << 2) +# define ATIF_DFP1 (1 << 3) +# define ATIF_CRT2 (1 << 4) +# define ATIF_LCD2 (1 << 5) +# define ATIF_DFP2 (1 << 7) +# define ATIF_CV (1 << 8) +# define ATIF_DFP3 (1 << 9) +# define ATIF_DFP4 (1 << 10) +# define ATIF_DFP5 (1 << 11) +# define ATIF_DFP6 (1 << 12) +#define ATIF_FUNCTION_GET_LID_STATE 0x4 +/* ARG0: ATIF_FUNCTION_GET_LID_STATE + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * BYTE - lid state (0: open, 1: closed) + * + * GET_LID_STATE only works at boot and resume, for general lid + * status, use the kernel provided status + */ +#define ATIF_FUNCTION_GET_TV_STANDARD_FROM_CMOS 0x5 +/* ARG0: ATIF_FUNCTION_GET_TV_STANDARD_FROM_CMOS + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * BYTE - 0 + * BYTE - TV standard + */ +# define ATIF_TV_STD_NTSC 0 +# define ATIF_TV_STD_PAL 1 +# define ATIF_TV_STD_PALM 2 +# define ATIF_TV_STD_PAL60 3 +# define ATIF_TV_STD_NTSCJ 4 +# define ATIF_TV_STD_PALCN 5 +# define ATIF_TV_STD_PALN 6 +# define ATIF_TV_STD_SCART_RGB 9 +#define ATIF_FUNCTION_SET_TV_STANDARD_IN_CMOS 0x6 +/* ARG0: ATIF_FUNCTION_SET_TV_STANDARD_IN_CMOS + * ARG1: + * WORD - structure size in bytes (includes size field) + * BYTE - 0 + * BYTE - TV standard + * OUTPUT: none + */ +#define ATIF_FUNCTION_GET_PANEL_EXPANSION_MODE_FROM_CMOS 0x7 +/* ARG0: ATIF_FUNCTION_GET_PANEL_EXPANSION_MODE_FROM_CMOS + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * BYTE - panel expansion mode + */ +#define ATIF_FUNCTION_SET_PANEL_EXPANSION_MODE_IN_CMOS 0x8 +/* ARG0: ATIF_FUNCTION_SET_PANEL_EXPANSION_MODE_IN_CMOS + * ARG1: + * WORD - structure size in bytes (includes size field) + * BYTE - panel expansion mode + * OUTPUT: none + */ +#define ATIF_FUNCTION_TEMPERATURE_CHANGE_NOTIFICATION 0xD +/* ARG0: ATIF_FUNCTION_TEMPERATURE_CHANGE_NOTIFICATION + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - gfx controller id + * BYTE - current temperature (degress Celsius) + * OUTPUT: none + */ +#define ATIF_FUNCTION_GET_GRAPHICS_DEVICE_TYPES 0xF +/* ARG0: ATIF_FUNCTION_GET_GRAPHICS_DEVICE_TYPES + * ARG1: none + * OUTPUT: + * WORD - number of gfx devices + * WORD - device structure size in bytes (excludes device size field) + * DWORD - flags \ + * WORD - bus number } repeated structure + * WORD - device number / + */ +/* flags */ +# define ATIF_PX_REMOVABLE_GRAPHICS_DEVICE (1 << 0) +# define ATIF_XGP_PORT (1 << 1) +# define ATIF_VGA_ENABLED_GRAPHICS_DEVICE (1 << 2) +# define ATIF_XGP_PORT_IN_DOCK (1 << 3) + +/* ATPX */ +#define ATPX_FUNCTION_VERIFY_INTERFACE 0x0 +/* ARG0: ATPX_FUNCTION_VERIFY_INTERFACE + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * WORD - version + * DWORD - supported functions bit vector + */ +/* supported functions vector */ +# define ATPX_GET_PX_PARAMETERS_SUPPORTED (1 << 0) +# define ATPX_POWER_CONTROL_SUPPORTED (1 << 1) +# define ATPX_DISPLAY_MUX_CONTROL_SUPPORTED (1 << 2) +# define ATPX_I2C_MUX_CONTROL_SUPPORTED (1 << 3) +# define ATPX_GRAPHICS_DEVICE_SWITCH_START_NOTIFICATION_SUPPORTED (1 << 4) +# define ATPX_GRAPHICS_DEVICE_SWITCH_END_NOTIFICATION_SUPPORTED (1 << 5) +# define ATPX_GET_DISPLAY_CONNECTORS_MAPPING_SUPPORTED (1 << 7) +# define ATPX_GET_DISPLAY_DETECTION_PORTS_SUPPORTED (1 << 8) +#define ATPX_FUNCTION_GET_PX_PARAMETERS 0x1 +/* ARG0: ATPX_FUNCTION_GET_PX_PARAMETERS + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * DWORD - valid flags mask + * DWORD - flags + */ +/* flags */ +# define ATPX_LVDS_I2C_AVAILABLE_TO_BOTH_GPUS (1 << 0) +# define ATPX_CRT1_I2C_AVAILABLE_TO_BOTH_GPUS (1 << 1) +# define ATPX_DVI1_I2C_AVAILABLE_TO_BOTH_GPUS (1 << 2) +# define ATPX_CRT1_RGB_SIGNAL_MUXED (1 << 3) +# define ATPX_TV_SIGNAL_MUXED (1 << 4) +# define ATPX_DFP_SIGNAL_MUXED (1 << 5) +# define ATPX_SEPARATE_MUX_FOR_I2C (1 << 6) +# define ATPX_DYNAMIC_PX_SUPPORTED (1 << 7) +# define ATPX_ACF_NOT_SUPPORTED (1 << 8) +# define ATPX_FIXED_NOT_SUPPORTED (1 << 9) +# define ATPX_DYNAMIC_DGPU_POWER_OFF_SUPPORTED (1 << 10) +# define ATPX_DGPU_REQ_POWER_FOR_DISPLAYS (1 << 11) +#define ATPX_FUNCTION_POWER_CONTROL 0x2 +/* ARG0: ATPX_FUNCTION_POWER_CONTROL + * ARG1: + * WORD - structure size in bytes (includes size field) + * BYTE - dGPU power state (0: power off, 1: power on) + * OUTPUT: none + */ +#define ATPX_FUNCTION_DISPLAY_MUX_CONTROL 0x3 +/* ARG0: ATPX_FUNCTION_DISPLAY_MUX_CONTROL + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - display mux control (0: iGPU, 1: dGPU) + * OUTPUT: none + */ +# define ATPX_INTEGRATED_GPU 0 +# define ATPX_DISCRETE_GPU 1 +#define ATPX_FUNCTION_I2C_MUX_CONTROL 0x4 +/* ARG0: ATPX_FUNCTION_I2C_MUX_CONTROL + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - i2c/aux/hpd mux control (0: iGPU, 1: dGPU) + * OUTPUT: none + */ +#define ATPX_FUNCTION_GRAPHICS_DEVICE_SWITCH_START_NOTIFICATION 0x5 +/* ARG0: ATPX_FUNCTION_GRAPHICS_DEVICE_SWITCH_START_NOTIFICATION + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - target gpu (0: iGPU, 1: dGPU) + * OUTPUT: none + */ +#define ATPX_FUNCTION_GRAPHICS_DEVICE_SWITCH_END_NOTIFICATION 0x6 +/* ARG0: ATPX_FUNCTION_GRAPHICS_DEVICE_SWITCH_END_NOTIFICATION + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - target gpu (0: iGPU, 1: dGPU) + * OUTPUT: none + */ +#define ATPX_FUNCTION_GET_DISPLAY_CONNECTORS_MAPPING 0x8 +/* ARG0: ATPX_FUNCTION_GET_DISPLAY_CONNECTORS_MAPPING + * ARG1: none + * OUTPUT: + * WORD - number of display connectors + * WORD - connector structure size in bytes (excludes connector size field) + * BYTE - flags \ + * BYTE - ATIF display vector bit position } repeated + * BYTE - adapter id (0: iGPU, 1-n: dGPU ordered by pcie bus number) } structure + * WORD - connector ACPI id / + */ +/* flags */ +# define ATPX_DISPLAY_OUTPUT_SUPPORTED_BY_ADAPTER_ID_DEVICE (1 << 0) +# define ATPX_DISPLAY_HPD_SUPPORTED_BY_ADAPTER_ID_DEVICE (1 << 1) +# define ATPX_DISPLAY_I2C_SUPPORTED_BY_ADAPTER_ID_DEVICE (1 << 2) +#define ATPX_FUNCTION_GET_DISPLAY_DETECTION_PORTS 0x9 +/* ARG0: ATPX_FUNCTION_GET_DISPLAY_DETECTION_PORTS + * ARG1: none + * OUTPUT: + * WORD - number of HPD/DDC ports + * WORD - port structure size in bytes (excludes port size field) + * BYTE - ATIF display vector bit position \ + * BYTE - hpd id } reapeated structure + * BYTE - ddc id / + * + * available on A+A systems only + */ +/* hpd id */ +# define ATPX_HPD_NONE 0 +# define ATPX_HPD1 1 +# define ATPX_HPD2 2 +# define ATPX_HPD3 3 +# define ATPX_HPD4 4 +# define ATPX_HPD5 5 +# define ATPX_HPD6 6 +/* ddc id */ +# define ATPX_DDC_NONE 0 +# define ATPX_DDC1 1 +# define ATPX_DDC2 2 +# define ATPX_DDC3 3 +# define ATPX_DDC4 4 +# define ATPX_DDC5 5 +# define ATPX_DDC6 6 +# define ATPX_DDC7 7 +# define ATPX_DDC8 8 + +/* ATCS */ +#define ATCS_FUNCTION_VERIFY_INTERFACE 0x0 +/* ARG0: ATCS_FUNCTION_VERIFY_INTERFACE + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * WORD - version + * DWORD - supported functions bit vector + */ +/* supported functions vector */ +# define ATCS_GET_EXTERNAL_STATE_SUPPORTED (1 << 0) +# define ATCS_PCIE_PERFORMANCE_REQUEST_SUPPORTED (1 << 1) +# define ATCS_PCIE_DEVICE_READY_NOTIFICATION_SUPPORTED (1 << 2) +# define ATCS_SET_PCIE_BUS_WIDTH_SUPPORTED (1 << 3) +#define ATCS_FUNCTION_GET_EXTERNAL_STATE 0x1 +/* ARG0: ATCS_FUNCTION_GET_EXTERNAL_STATE + * ARG1: none + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * DWORD - valid flags mask + * DWORD - flags (0: undocked, 1: docked) + */ +/* flags */ +# define ATCS_DOCKED (1 << 0) +#define ATCS_FUNCTION_PCIE_PERFORMANCE_REQUEST 0x2 +/* ARG0: ATCS_FUNCTION_PCIE_PERFORMANCE_REQUEST + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) + * WORD - valid flags mask + * WORD - flags + * BYTE - request type + * BYTE - performance request + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * BYTE - return value + */ +/* flags */ +# define ATCS_ADVERTISE_CAPS (1 << 0) +# define ATCS_WAIT_FOR_COMPLETION (1 << 1) +/* request type */ +# define ATCS_PCIE_LINK_SPEED 1 +/* performance request */ +# define ATCS_REMOVE 0 +# define ATCS_FORCE_LOW_POWER 1 +# define ATCS_PERF_LEVEL_1 2 /* PCIE Gen 1 */ +# define ATCS_PERF_LEVEL_2 3 /* PCIE Gen 2 */ +# define ATCS_PERF_LEVEL_3 4 /* PCIE Gen 3 */ +/* return value */ +# define ATCS_REQUEST_REFUSED 1 +# define ATCS_REQUEST_COMPLETE 2 +# define ATCS_REQUEST_IN_PROGRESS 3 +#define ATCS_FUNCTION_PCIE_DEVICE_READY_NOTIFICATION 0x3 +/* ARG0: ATCS_FUNCTION_PCIE_DEVICE_READY_NOTIFICATION + * ARG1: none + * OUTPUT: none + */ +#define ATCS_FUNCTION_SET_PCIE_BUS_WIDTH 0x4 +/* ARG0: ATCS_FUNCTION_SET_PCIE_BUS_WIDTH + * ARG1: + * WORD - structure size in bytes (includes size field) + * WORD - client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) + * BYTE - number of active lanes + * OUTPUT: + * WORD - structure size in bytes (includes size field) + * BYTE - number of active lanes + */ + +#endif --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_gart.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_atombios.c +++ linux-lts-quantal-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) { @@ -715,13 +715,16 @@ (ATOM_SRC_DST_TABLE_FOR_ONE_OBJECT *) (ctx->bios + data_offset + le16_to_cpu(router_obj->asObjects[k].usSrcDstTableOffset)); + u8 *num_dst_objs = (u8 *) + ((u8 *)router_src_dst_table + 1 + + (router_src_dst_table->ucNumberOfSrc * 2)); + u16 *dst_objs = (u16 *)(num_dst_objs + 1); int enum_id; router.router_id = router_obj_id; - for (enum_id = 0; enum_id < router_src_dst_table->ucNumberOfDst; - enum_id++) { + for (enum_id = 0; enum_id < (*num_dst_objs); enum_id++) { if (le16_to_cpu(path->usConnObjectId) == - le16_to_cpu(router_src_dst_table->usDstObjectID[enum_id])) + le16_to_cpu(dst_objs[enum_id])) break; } @@ -1254,6 +1257,10 @@ if (rdev->clock.max_pixel_clock == 0) rdev->clock.max_pixel_clock = 40000; + /* not technically a clock, but... */ + rdev->mode_info.firmware_flags = + le16_to_cpu(firmware_info->info.usFirmwareCapability.susAccess); + return true; } @@ -1622,7 +1629,9 @@ kfree(edid); } } - record += sizeof(ATOM_FAKE_EDID_PATCH_RECORD); + record += fake_edid_record->ucFakeEDIDLength ? + fake_edid_record->ucFakeEDIDLength + 2 : + sizeof(ATOM_FAKE_EDID_PATCH_RECORD); break; case LCD_PANEL_RESOLUTION_RECORD_TYPE: panel_res_record = (ATOM_PANEL_RESOLUTION_PATCH_RECORD *)record; @@ -1998,6 +2007,8 @@ num_modes = power_info->info.ucNumOfPowerModeEntries; if (num_modes > ATOM_MAX_NUMBEROF_POWER_BLOCK) num_modes = ATOM_MAX_NUMBEROF_POWER_BLOCK; + if (num_modes == 0) + return state_index; rdev->pm.power_state = kzalloc(sizeof(struct radeon_power_state) * num_modes, GFP_KERNEL); if (!rdev->pm.power_state) return state_index; @@ -2396,6 +2407,8 @@ power_info = (union power_info *)(mode_info->atom_context->bios + data_offset); radeon_atombios_add_pplib_thermal_controller(rdev, &power_info->pplib.sThermalController); + if (power_info->pplib.ucNumStates == 0) + return state_index; rdev->pm.power_state = kzalloc(sizeof(struct radeon_power_state) * power_info->pplib.ucNumStates, GFP_KERNEL); if (!rdev->pm.power_state) @@ -2478,6 +2491,7 @@ int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); u16 data_offset; u8 frev, crev; + u8 *power_state_offset; if (!atom_parse_data_header(mode_info->atom_context, index, NULL, &frev, &crev, &data_offset)) @@ -2494,15 +2508,17 @@ non_clock_info_array = (struct _NonClockInfoArray *) (mode_info->atom_context->bios + data_offset + le16_to_cpu(power_info->pplib.usNonClockInfoArrayOffset)); + if (state_array->ucNumEntries == 0) + return state_index; rdev->pm.power_state = kzalloc(sizeof(struct radeon_power_state) * state_array->ucNumEntries, GFP_KERNEL); if (!rdev->pm.power_state) return state_index; + power_state_offset = (u8 *)state_array->states; for (i = 0; i < state_array->ucNumEntries; i++) { mode_index = 0; - power_state = (union pplib_power_state *)&state_array->states[i]; - /* XXX this might be an inagua bug... */ - non_clock_array_index = i; /* power_state->v2.nonClockInfoIndex */ + power_state = (union pplib_power_state *)power_state_offset; + non_clock_array_index = power_state->v2.nonClockInfoIndex; non_clock_info = (struct _ATOM_PPLIB_NONCLOCK_INFO *) &non_clock_info_array->nonClockInfo[non_clock_array_index]; rdev->pm.power_state[i].clock_info = kzalloc(sizeof(struct radeon_pm_clock_info) * @@ -2514,9 +2530,6 @@ if (power_state->v2.ucNumDPMLevels) { for (j = 0; j < power_state->v2.ucNumDPMLevels; j++) { clock_array_index = power_state->v2.clockInfoIndex[j]; - /* XXX this might be an inagua bug... */ - if (clock_array_index >= clock_info_array->ucNumEntries) - continue; clock_info = (union pplib_clock_info *) &clock_info_array->clockInfo[clock_array_index * clock_info_array->ucEntrySize]; valid = radeon_atombios_parse_pplib_clock_info(rdev, @@ -2538,6 +2551,7 @@ non_clock_info); state_index++; } + power_state_offset += 2 + power_state->v2.ucNumDPMLevels; } /* if multiple clock modes, mark the lowest as no display */ for (i = 0; i < state_index; i++) { @@ -2584,7 +2598,9 @@ default: break; } - } else { + } + + if (state_index == 0) { rdev->pm.power_state = kzalloc(sizeof(struct radeon_power_state), GFP_KERNEL); if (rdev->pm.power_state) { rdev->pm.power_state[0].clock_info = --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_benchmark.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_benchmark.c @@ -141,13 +141,15 @@ sdomain, ddomain, "dma"); } - time = radeon_benchmark_do_move(rdev, size, saddr, daddr, - RADEON_BENCHMARK_COPY_BLIT, n); - if (time < 0) - goto out_cleanup; - if (time > 0) - radeon_benchmark_log_results(n, size, time, - sdomain, ddomain, "blit"); + if (rdev->asic->copy.blit) { + time = radeon_benchmark_do_move(rdev, size, saddr, daddr, + RADEON_BENCHMARK_COPY_BLIT, n); + if (time < 0) + goto out_cleanup; + if (time > 0) + radeon_benchmark_log_results(n, size, time, + sdomain, ddomain, "blit"); + } out_cleanup: if (sobj) { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_bios.c +++ linux-lts-quantal-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; - if (!radeon_atrm_supported(rdev->pdev)) + /* 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 (!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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/atombios_i2c.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/atombios_i2c.c @@ -27,6 +27,8 @@ #include "radeon.h" #include "atom.h" +extern void radeon_atom_copy_swap(u8 *dst, u8 *src, u8 num_bytes, bool to_le); + #define TARGET_HW_I2C_CLOCK 50 /* these are a limitation of ProcessI2cChannelTransaction not the hw */ @@ -77,7 +79,7 @@ } if (!(flags & HW_I2C_WRITE)) - memcpy(buf, base, num); + radeon_atom_copy_swap(buf, base, num, false); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/atombios_encoders.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/atombios_encoders.c @@ -28,9 +28,238 @@ #include "radeon_drm.h" #include "radeon.h" #include "atom.h" +#include extern int atom_debug; +#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) + +static u8 +radeon_atom_get_backlight_level_from_reg(struct radeon_device *rdev) +{ + u8 backlight_level; + u32 bios_2_scratch; + + if (rdev->family >= CHIP_R600) + bios_2_scratch = RREG32(R600_BIOS_2_SCRATCH); + else + bios_2_scratch = RREG32(RADEON_BIOS_2_SCRATCH); + + backlight_level = ((bios_2_scratch & ATOM_S2_CURRENT_BL_LEVEL_MASK) >> + ATOM_S2_CURRENT_BL_LEVEL_SHIFT); + + return backlight_level; +} + +static void +radeon_atom_set_backlight_level_to_reg(struct radeon_device *rdev, + u8 backlight_level) +{ + u32 bios_2_scratch; + + if (rdev->family >= CHIP_R600) + bios_2_scratch = RREG32(R600_BIOS_2_SCRATCH); + else + bios_2_scratch = RREG32(RADEON_BIOS_2_SCRATCH); + + bios_2_scratch &= ~ATOM_S2_CURRENT_BL_LEVEL_MASK; + bios_2_scratch |= ((backlight_level << ATOM_S2_CURRENT_BL_LEVEL_SHIFT) & + ATOM_S2_CURRENT_BL_LEVEL_MASK); + + if (rdev->family >= CHIP_R600) + WREG32(R600_BIOS_2_SCRATCH, bios_2_scratch); + else + WREG32(RADEON_BIOS_2_SCRATCH, bios_2_scratch); +} + +void +atombios_set_panel_brightness(struct radeon_encoder *radeon_encoder) +{ + struct drm_encoder *encoder = &radeon_encoder->base; + struct drm_device *dev = radeon_encoder->base.dev; + struct radeon_device *rdev = dev->dev_private; + struct radeon_encoder_atom_dig *dig; + DISPLAY_DEVICE_OUTPUT_CONTROL_PS_ALLOCATION args; + int index; + + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { + dig = radeon_encoder->enc_priv; + radeon_atom_set_backlight_level_to_reg(rdev, dig->backlight_level); + + switch (radeon_encoder->encoder_id) { + case ENCODER_OBJECT_ID_INTERNAL_LVDS: + case ENCODER_OBJECT_ID_INTERNAL_LVTM1: + index = GetIndexIntoMasterTable(COMMAND, LCD1OutputControl); + if (dig->backlight_level == 0) { + args.ucAction = ATOM_LCD_BLOFF; + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); + } else { + args.ucAction = ATOM_LCD_BL_BRIGHTNESS_CONTROL; + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); + args.ucAction = ATOM_LCD_BLON; + atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args); + } + break; + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: + case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1: + case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2: + if (dig->backlight_level == 0) + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_LCD_BLOFF, 0, 0); + else { + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_BL_BRIGHTNESS_CONTROL, 0, 0); + atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_LCD_BLON, 0, 0); + } + break; + default: + break; + } + } +} + +static u8 radeon_atom_bl_level(struct backlight_device *bd) +{ + u8 level; + + /* Convert brightness to hardware level */ + if (bd->props.brightness < 0) + level = 0; + else if (bd->props.brightness > RADEON_MAX_BL_LEVEL) + level = RADEON_MAX_BL_LEVEL; + else + level = bd->props.brightness; + + return level; +} + +static int radeon_atom_backlight_update_status(struct backlight_device *bd) +{ + struct radeon_backlight_privdata *pdata = bl_get_data(bd); + struct radeon_encoder *radeon_encoder = pdata->encoder; + + if (radeon_encoder->enc_priv) { + struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; + dig->backlight_level = radeon_atom_bl_level(bd); + atombios_set_panel_brightness(radeon_encoder); + } + + return 0; +} + +static int radeon_atom_backlight_get_brightness(struct backlight_device *bd) +{ + struct radeon_backlight_privdata *pdata = bl_get_data(bd); + struct radeon_encoder *radeon_encoder = pdata->encoder; + struct drm_device *dev = radeon_encoder->base.dev; + struct radeon_device *rdev = dev->dev_private; + + return radeon_atom_get_backlight_level_from_reg(rdev); +} + +static const struct backlight_ops radeon_atom_backlight_ops = { + .get_brightness = radeon_atom_backlight_get_brightness, + .update_status = radeon_atom_backlight_update_status, +}; + +void radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder, + struct drm_connector *drm_connector) +{ + struct drm_device *dev = radeon_encoder->base.dev; + struct radeon_device *rdev = dev->dev_private; + struct backlight_device *bd; + struct backlight_properties props; + struct radeon_backlight_privdata *pdata; + struct radeon_encoder_atom_dig *dig; + u8 backlight_level; + + if (!radeon_encoder->enc_priv) + return; + + if (!rdev->is_atom_bios) + return; + + if (!(rdev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) + return; + + pdata = kmalloc(sizeof(struct radeon_backlight_privdata), GFP_KERNEL); + if (!pdata) { + DRM_ERROR("Memory allocation failed\n"); + goto error; + } + + memset(&props, 0, sizeof(props)); + props.max_brightness = RADEON_MAX_BL_LEVEL; + props.type = BACKLIGHT_RAW; + bd = backlight_device_register("radeon_bl", &drm_connector->kdev, + pdata, &radeon_atom_backlight_ops, &props); + if (IS_ERR(bd)) { + DRM_ERROR("Backlight registration failed\n"); + goto error; + } + + pdata->encoder = radeon_encoder; + + backlight_level = radeon_atom_get_backlight_level_from_reg(rdev); + + dig = radeon_encoder->enc_priv; + dig->bl_dev = bd; + + bd->props.brightness = radeon_atom_backlight_get_brightness(bd); + bd->props.power = FB_BLANK_UNBLANK; + backlight_update_status(bd); + + DRM_INFO("radeon atom DIG backlight initialized\n"); + + return; + +error: + kfree(pdata); + return; +} + +static void radeon_atom_backlight_exit(struct radeon_encoder *radeon_encoder) +{ + struct drm_device *dev = radeon_encoder->base.dev; + struct radeon_device *rdev = dev->dev_private; + struct backlight_device *bd = NULL; + struct radeon_encoder_atom_dig *dig; + + if (!radeon_encoder->enc_priv) + return; + + if (!rdev->is_atom_bios) + return; + + if (!(rdev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) + return; + + dig = radeon_encoder->enc_priv; + bd = dig->bl_dev; + dig->bl_dev = NULL; + + if (bd) { + struct radeon_legacy_backlight_privdata *pdata; + + pdata = bl_get_data(bd); + backlight_device_unregister(bd); + kfree(pdata); + + DRM_INFO("radeon atom LVDS backlight unloaded\n"); + } +} + +#else /* !CONFIG_BACKLIGHT_CLASS_DEVICE */ + +void radeon_atom_backlight_init(struct radeon_encoder *encoder) +{ +} + +static void radeon_atom_backlight_exit(struct radeon_encoder *encoder) +{ +} + +#endif + /* evil but including atombios.h is much worse */ bool radeon_atom_get_tv_timings(struct radeon_device *rdev, int index, struct drm_display_mode *mode); @@ -95,7 +324,7 @@ ((radeon_encoder->active_device & (ATOM_DEVICE_DFP_SUPPORT | ATOM_DEVICE_LCD_SUPPORT)) || (radeon_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE))) { struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); - radeon_dp_set_link_config(connector, mode); + radeon_dp_set_link_config(connector, adjusted_mode); } return true; @@ -396,6 +625,8 @@ int atombios_get_encoder_mode(struct drm_encoder *encoder) { + struct drm_device *dev = encoder->dev; + struct radeon_device *rdev = dev->dev_private; struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); struct drm_connector *connector; struct radeon_connector *radeon_connector; @@ -421,7 +652,8 @@ case DRM_MODE_CONNECTOR_DVII: case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */ if (drm_detect_hdmi_monitor(radeon_connector->edid) && - radeon_audio) + radeon_audio && + !ASIC_IS_DCE6(rdev)) /* remove once we support DCE6 */ return ATOM_ENCODER_MODE_HDMI; else if (radeon_connector->use_digital) return ATOM_ENCODER_MODE_DVI; @@ -432,7 +664,8 @@ case DRM_MODE_CONNECTOR_HDMIA: default: if (drm_detect_hdmi_monitor(radeon_connector->edid) && - radeon_audio) + radeon_audio && + !ASIC_IS_DCE6(rdev)) /* remove once we support DCE6 */ return ATOM_ENCODER_MODE_HDMI; else return ATOM_ENCODER_MODE_DVI; @@ -446,7 +679,8 @@ (dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) return ATOM_ENCODER_MODE_DP; else if (drm_detect_hdmi_monitor(radeon_connector->edid) && - radeon_audio) + radeon_audio && + !ASIC_IS_DCE6(rdev)) /* remove once we support DCE6 */ return ATOM_ENCODER_MODE_HDMI; else return ATOM_ENCODER_MODE_DVI; @@ -1379,6 +1613,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 +1626,42 @@ 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 dce3.x boards have a bug in their transmitter control table. + * ACTION_ENABLE_OUTPUT can probably be dropped since ACTION_ENABLE + * does the same thing and more. + */ + if ((rdev->family != CHIP_RV710) && (rdev->family != CHIP_RV730) && + (rdev->family != CHIP_RS880)) + 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 +1678,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 +2007,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 +2136,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 +2160,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 +2181,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 +2367,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 +2387,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 +2428,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: @@ -2272,6 +2524,8 @@ void radeon_enc_destroy(struct drm_encoder *encoder) { struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) + radeon_atom_backlight_exit(radeon_encoder); kfree(radeon_encoder->enc_priv); drm_encoder_cleanup(encoder); kfree(radeon_encoder); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_prime.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_prime.c @@ -195,6 +195,7 @@ bo = dma_buf->priv; if (bo->gem_base.dev == dev) { drm_gem_object_reference(&bo->gem_base); + dma_buf_put(dma_buf); return &bo->gem_base; } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r600_hdmi.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r600_hdmi.c @@ -322,6 +322,9 @@ struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; uint32_t offset; + if (!dig || !dig->afmt) + return; + /* Silent, r600_hdmi_enable will raise WARN for us */ if (!dig->afmt->enabled) return; @@ -480,6 +483,9 @@ uint32_t offset; u32 hdmi; + if (!dig || !dig->afmt) + return; + if (ASIC_IS_DCE6(rdev)) return; @@ -489,7 +495,7 @@ offset = dig->afmt->offset; /* Older chipsets require setting HDMI and routing manually */ - if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) { + if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) { hdmi = HDMI0_ERROR_ACK | HDMI0_ENABLE; switch (radeon_encoder->encoder_id) { case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: @@ -545,7 +551,6 @@ /* Called for ATOM_ENCODER_MODE_HDMI only */ if (!dig || !dig->afmt) { - WARN_ON(1); return; } if (!dig->afmt->enabled) @@ -560,7 +565,7 @@ radeon_irq_set(rdev); /* Older chipsets not handled by AtomBIOS */ - if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) { + if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) { switch (radeon_encoder->encoder_id) { case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1: WREG32_P(AVIVO_TMDSA_CNTL, 0, --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_atpx_handler.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_atpx_handler.c @@ -12,75 +12,15 @@ #include #include -#define ATPX_VERSION 0 -#define ATPX_GPU_PWR 2 -#define ATPX_MUX_SELECT 3 -#define ATPX_I2C_MUX_SELECT 4 -#define ATPX_SWITCH_START 5 -#define ATPX_SWITCH_END 6 - -#define ATPX_INTEGRATED 0 -#define ATPX_DISCRETE 1 - -#define ATPX_MUX_IGD 0 -#define ATPX_MUX_DISCRETE 1 +#include "radeon_acpi.h" static struct radeon_atpx_priv { bool atpx_detected; /* 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; @@ -92,10 +32,10 @@ atpx_arg.pointer = &atpx_arg_elements[0]; atpx_arg_elements[0].type = ACPI_TYPE_INTEGER; - atpx_arg_elements[0].integer.value = ATPX_VERSION; + atpx_arg_elements[0].integer.value = ATPX_FUNCTION_VERIFY_INTERFACE; atpx_arg_elements[1].type = ACPI_TYPE_INTEGER; - atpx_arg_elements[1].integer.value = ATPX_VERSION; + atpx_arg_elements[1].integer.value = 0; status = acpi_evaluate_object(handle, NULL, &atpx_arg, &buffer); if (ACPI_FAILURE(status)) { @@ -145,27 +85,31 @@ static int radeon_atpx_set_discrete_state(acpi_handle handle, int state) { - return radeon_atpx_execute(handle, ATPX_GPU_PWR, state); + return radeon_atpx_execute(handle, ATPX_FUNCTION_POWER_CONTROL, state); } static int radeon_atpx_switch_mux(acpi_handle handle, int mux_id) { - return radeon_atpx_execute(handle, ATPX_MUX_SELECT, mux_id); + return radeon_atpx_execute(handle, ATPX_FUNCTION_DISPLAY_MUX_CONTROL, mux_id); } static int radeon_atpx_switch_i2c_mux(acpi_handle handle, int mux_id) { - return radeon_atpx_execute(handle, ATPX_I2C_MUX_SELECT, mux_id); + return radeon_atpx_execute(handle, ATPX_FUNCTION_I2C_MUX_CONTROL, mux_id); } static int radeon_atpx_switch_start(acpi_handle handle, int gpu_id) { - return radeon_atpx_execute(handle, ATPX_SWITCH_START, gpu_id); + return radeon_atpx_execute(handle, + ATPX_FUNCTION_GRAPHICS_DEVICE_SWITCH_START_NOTIFICATION, + gpu_id); } static int radeon_atpx_switch_end(acpi_handle handle, int gpu_id) { - return radeon_atpx_execute(handle, ATPX_SWITCH_END, gpu_id); + return radeon_atpx_execute(handle, + ATPX_FUNCTION_GRAPHICS_DEVICE_SWITCH_END_NOTIFICATION, + gpu_id); } static int radeon_atpx_switchto(enum vga_switcheroo_client_id id) @@ -173,9 +117,9 @@ int gpu_id; if (id == VGA_SWITCHEROO_IGD) - gpu_id = ATPX_INTEGRATED; + gpu_id = ATPX_INTEGRATED_GPU; else - gpu_id = ATPX_DISCRETE; + gpu_id = ATPX_DISCRETE_GPU; radeon_atpx_switch_start(radeon_atpx_priv.atpx_handle, gpu_id); radeon_atpx_switch_mux(radeon_atpx_priv.atpx_handle, gpu_id); @@ -198,7 +142,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 +153,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/atombios_dp.c +++ linux-lts-quantal-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" @@ -44,6 +45,41 @@ }; /***** radeon AUX functions *****/ + +/* Atom needs data in little endian format + * so swap as appropriate when copying data to + * or from atom. Note that atom operates on + * dw units. + */ +void radeon_atom_copy_swap(u8 *dst, u8 *src, u8 num_bytes, bool to_le) +{ +#ifdef __BIG_ENDIAN + u8 src_tmp[20], dst_tmp[20]; /* used for byteswapping */ + u32 *dst32, *src32; + int i; + + memcpy(src_tmp, src, num_bytes); + src32 = (u32 *)src_tmp; + dst32 = (u32 *)dst_tmp; + if (to_le) { + for (i = 0; i < ((num_bytes + 3) / 4); i++) + dst32[i] = cpu_to_le32(src32[i]); + memcpy(dst, dst_tmp, num_bytes); + } else { + u8 dws = num_bytes & ~3; + for (i = 0; i < ((num_bytes + 3) / 4); i++) + dst32[i] = le32_to_cpu(src32[i]); + memcpy(dst, dst_tmp, dws); + if (num_bytes % 4) { + for (i = 0; i < (num_bytes % 4); i++) + dst[dws+i] = dst_tmp[dws+i]; + } + } +#else + memcpy(dst, src, num_bytes); +#endif +} + union aux_channel_transaction { PROCESS_AUX_CHANNEL_TRANSACTION_PS_ALLOCATION v1; PROCESS_AUX_CHANNEL_TRANSACTION_PARAMETERS_V2 v2; @@ -65,10 +101,10 @@ base = (unsigned char *)(rdev->mode_info.atom_context->scratch + 1); - memcpy(base, send, send_bytes); + radeon_atom_copy_swap(base, send, send_bytes, true); - args.v1.lpAuxRequest = 0 + 4; - args.v1.lpDataOut = 16 + 4; + args.v1.lpAuxRequest = cpu_to_le16((u16)(0 + 4)); + args.v1.lpDataOut = cpu_to_le16((u16)(16 + 4)); args.v1.ucDataOutLen = 0; args.v1.ucChannelID = chan->rec.i2c_id; args.v1.ucDelay = delay / 10; @@ -102,7 +138,7 @@ recv_bytes = recv_size; if (recv && recv_size) - memcpy(recv, base + 16, recv_bytes); + radeon_atom_copy_swap(recv, base + 16, recv_bytes, false); return recv_bytes; } @@ -654,7 +690,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 +868,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 +933,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/si.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/si.c @@ -411,7 +411,8 @@ struct drm_display_mode *mode, struct drm_display_mode *other_mode) { - u32 tmp; + u32 tmp, buffer_alloc, i; + u32 pipe_offset = radeon_crtc->crtc_id * 0x20; /* * Line Buffer Setup * There are 3 line buffers, each one shared by 2 display controllers. @@ -426,16 +427,30 @@ * non-linked crtcs for maximum line buffer allocation. */ if (radeon_crtc->base.enabled && mode) { - if (other_mode) + if (other_mode) { tmp = 0; /* 1/2 */ - else + buffer_alloc = 1; + } else { tmp = 2; /* whole */ - } else + buffer_alloc = 2; + } + } else { tmp = 0; + buffer_alloc = 0; + } WREG32(DC_LB_MEMORY_SPLIT + radeon_crtc->crtc_offset, DC_LB_MEMORY_CONFIG(tmp)); + WREG32(PIPE0_DMIF_BUFFER_CONTROL + pipe_offset, + DMIF_BUFFERS_ALLOCATED(buffer_alloc)); + for (i = 0; i < rdev->usec_timeout; i++) { + if (RREG32(PIPE0_DMIF_BUFFER_CONTROL + pipe_offset) & + DMIF_BUFFERS_ALLOCATED_COMPLETED) + break; + udelay(1); + } + if (radeon_crtc->base.enabled && mode) { switch (tmp) { case 0: @@ -1374,7 +1389,7 @@ u32 data = INSTANCE_BROADCAST_WRITES; if ((se_num == 0xffffffff) && (sh_num == 0xffffffff)) - data = SH_BROADCAST_WRITES | SE_BROADCAST_WRITES; + data |= SH_BROADCAST_WRITES | SE_BROADCAST_WRITES; else if (se_num == 0xffffffff) data |= SE_BROADCAST_WRITES | SH_INDEX(sh_num); else if (sh_num == 0xffffffff) @@ -1556,7 +1571,7 @@ default: rdev->config.si.max_shader_engines = 1; rdev->config.si.max_tile_pipes = 4; - rdev->config.si.max_cu_per_sh = 2; + rdev->config.si.max_cu_per_sh = 5; rdev->config.si.max_sh_per_se = 2; rdev->config.si.max_backends_per_se = 4; rdev->config.si.max_texture_channel_caches = 4; @@ -1640,10 +1655,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 |= @@ -1651,6 +1674,7 @@ WREG32(GB_ADDR_CONFIG, gb_addr_config); WREG32(DMIF_ADDR_CONFIG, gb_addr_config); + WREG32(DMIF_ADDR_CALC, gb_addr_config); WREG32(HDP_ADDR_CONFIG, gb_addr_config); si_tiling_mode_table_init(rdev); @@ -2301,8 +2325,8 @@ rdev->mc.aper_base = pci_resource_start(rdev->pdev, 0); rdev->mc.aper_size = pci_resource_len(rdev->pdev, 0); /* size in MB on si */ - rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024; - rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024; + rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; + rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; rdev->mc.visible_vram_size = rdev->mc.aper_size; si_vram_gtt_location(rdev, &rdev->mc); radeon_update_bandwidth_info(rdev); @@ -2383,9 +2407,20 @@ /* enable context1-15 */ WREG32(VM_CONTEXT1_PROTECTION_FAULT_DEFAULT_ADDR, (u32)(rdev->dummy_page.addr >> 12)); - WREG32(VM_CONTEXT1_CNTL2, 0); + WREG32(VM_CONTEXT1_CNTL2, 4); WREG32(VM_CONTEXT1_CNTL, ENABLE_CONTEXT | PAGE_TABLE_DEPTH(0) | - RANGE_PROTECTION_FAULT_ENABLE_DEFAULT); + RANGE_PROTECTION_FAULT_ENABLE_INTERRUPT | + RANGE_PROTECTION_FAULT_ENABLE_DEFAULT | + DUMMY_PAGE_PROTECTION_FAULT_ENABLE_INTERRUPT | + DUMMY_PAGE_PROTECTION_FAULT_ENABLE_DEFAULT | + PDE0_PROTECTION_FAULT_ENABLE_INTERRUPT | + PDE0_PROTECTION_FAULT_ENABLE_DEFAULT | + VALID_PROTECTION_FAULT_ENABLE_INTERRUPT | + VALID_PROTECTION_FAULT_ENABLE_DEFAULT | + READ_PROTECTION_FAULT_ENABLE_INTERRUPT | + READ_PROTECTION_FAULT_ENABLE_DEFAULT | + WRITE_PROTECTION_FAULT_ENABLE_INTERRUPT | + WRITE_PROTECTION_FAULT_ENABLE_DEFAULT); si_pcie_gart_tlb_flush(rdev); DRM_INFO("PCIE GART of %uM enabled (table at 0x%016llX).\n", @@ -2431,6 +2466,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: @@ -3595,6 +3631,16 @@ break; } break; + case 146: + case 147: + dev_err(rdev->dev, "GPU fault detected: %d 0x%08x\n", src_id, src_data); + dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x%08X\n", + RREG32(VM_CONTEXT1_PROTECTION_FAULT_ADDR)); + dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x%08X\n", + RREG32(VM_CONTEXT1_PROTECTION_FAULT_STATUS)); + /* reset addr and status */ + WREG32_P(VM_CONTEXT1_CNTL2, 1, ~1); + break; case 176: /* RINGID0 CP_INT */ radeon_fence_process(rdev, RADEON_RING_TYPE_GFX_INDEX); break; @@ -3652,6 +3698,13 @@ struct radeon_ring *ring; int r; + /* scratch needs to be initialized before MC */ + r = r600_vram_scratch_init(rdev); + if (r) + return r; + + si_mc_program(rdev); + if (!rdev->me_fw || !rdev->pfp_fw || !rdev->ce_fw || !rdev->rlc_fw || !rdev->mc_fw) { r = si_init_microcode(rdev); @@ -3667,11 +3720,6 @@ return r; } - r = r600_vram_scratch_init(rdev); - if (r) - return r; - - si_mc_program(rdev); r = si_pcie_gart_enable(rdev); if (r) return r; @@ -3716,6 +3764,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r = si_irq_init(rdev); if (r) { DRM_ERROR("radeon: IH init failed (%d).\n", r); @@ -3880,10 +3934,6 @@ if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; - ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]; ring->ring_obj = NULL; r600_ring_init(rdev, ring, 1024 * 1024); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/evergreen_reg.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/evergreen_reg.h @@ -218,11 +218,15 @@ #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 #define EVERGREEN_MASTER_UPDATE_MODE 0x6ef8 #define EVERGREEN_CRTC_UPDATE_LOCK 0x6ed4 +#define EVERGREEN_MASTER_UPDATE_LOCK 0x6ef4 +#define EVERGREEN_MASTER_UPDATE_MODE 0x6ef8 #define EVERGREEN_DC_GPIO_HPD_MASK 0x64b0 #define EVERGREEN_DC_GPIO_HPD_A 0x64b4 --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_cursor.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_cursor.c @@ -238,7 +238,8 @@ y = 0; } - if (ASIC_IS_AVIVO(rdev)) { + /* fixed on DCE6 and newer */ + if (ASIC_IS_AVIVO(rdev) && !ASIC_IS_DCE6(rdev)) { int i = 0; struct drm_crtc *crtc_p; @@ -262,8 +263,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_encoders.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_encoders.c @@ -29,6 +29,14 @@ #include "radeon.h" #include "atom.h" +extern void +radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder, + struct drm_connector *drm_connector); +extern void +radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder, + struct drm_connector *drm_connector); + + static uint32_t radeon_encoder_clones(struct drm_encoder *encoder) { struct drm_device *dev = encoder->dev; @@ -153,6 +161,7 @@ void radeon_link_encoder_connector(struct drm_device *dev) { + struct radeon_device *rdev = dev->dev_private; struct drm_connector *connector; struct radeon_connector *radeon_connector; struct drm_encoder *encoder; @@ -163,8 +172,15 @@ radeon_connector = to_radeon_connector(connector); list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { radeon_encoder = to_radeon_encoder(encoder); - if (radeon_encoder->devices & radeon_connector->devices) + if (radeon_encoder->devices & radeon_connector->devices) { drm_mode_connector_attach_encoder(connector, encoder); + if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) { + if (rdev->is_atom_bios) + radeon_atom_backlight_init(radeon_encoder, connector); + else + radeon_legacy_backlight_init(radeon_encoder, connector); + } + } } } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/evergreen.c +++ linux-lts-quantal-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); } @@ -433,6 +445,16 @@ list_for_each_entry(connector, &dev->mode_config.connector_list, head) { struct radeon_connector *radeon_connector = to_radeon_connector(connector); + + if (connector->connector_type == DRM_MODE_CONNECTOR_eDP || + connector->connector_type == DRM_MODE_CONNECTOR_LVDS) { + /* don't try to enable hpd on eDP or LVDS avoid breaking the + * aux dp channel on imac and help (but not completely fix) + * https://bugzilla.redhat.com/show_bug.cgi?id=726143 + * also avoid interrupt storms during dpms. + */ + continue; + } switch (radeon_connector->hpd.hpd) { case RADEON_HPD_1: WREG32(DC_HPD1_CONTROL, tmp); @@ -512,7 +534,8 @@ struct drm_display_mode *mode, struct drm_display_mode *other_mode) { - u32 tmp; + u32 tmp, buffer_alloc, i; + u32 pipe_offset = radeon_crtc->crtc_id * 0x20; /* * Line Buffer Setup * There are 3 line buffers, each one shared by 2 display controllers. @@ -535,18 +558,34 @@ * non-linked crtcs for maximum line buffer allocation. */ if (radeon_crtc->base.enabled && mode) { - if (other_mode) + if (other_mode) { tmp = 0; /* 1/2 */ - else + buffer_alloc = 1; + } else { tmp = 2; /* whole */ - } else + buffer_alloc = 2; + } + } else { tmp = 0; + buffer_alloc = 0; + } /* second controller of the pair uses second half of the lb */ if (radeon_crtc->crtc_id % 2) tmp += 4; WREG32(DC_LB_MEMORY_SPLIT + radeon_crtc->crtc_offset, tmp); + if (ASIC_IS_DCE41(rdev) || ASIC_IS_DCE5(rdev)) { + WREG32(PIPE0_DMIF_BUFFER_CONTROL + pipe_offset, + DMIF_BUFFERS_ALLOCATED(buffer_alloc)); + for (i = 0; i < rdev->usec_timeout; i++) { + if (RREG32(PIPE0_DMIF_BUFFER_CONTROL + pipe_offset) & + DMIF_BUFFERS_ALLOCATED_COMPLETED) + break; + udelay(1); + } + } + if (radeon_crtc->base.enabled && mode) { switch (tmp) { case 0: @@ -1117,175 +1156,168 @@ 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); + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 1); + 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); + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 1); + tmp |= EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE; + WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp); + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 0); + } + } + /* 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); + } + + /* XXX this is a hack to avoid strange behavior with EFI on certain systems */ + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 1); + tmp = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]); + tmp &= ~EVERGREEN_CRTC_MASTER_EN; + WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp); + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 0); + save->crtc_enabled[i] = false; + /* ***** */ + } 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); + 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); } - if (rdev->num_crtc >= 6) { - WREG32(EVERGREEN_D5VGA_CONTROL, 0); - WREG32(EVERGREEN_D6VGA_CONTROL, 0); + /* wait for the MC to settle */ + udelay(100); + + /* lock double buffered regs */ + for (i = 0; i < rdev->num_crtc; i++) { + if (save->crtc_enabled[i]) { + tmp = RREG32(EVERGREEN_GRPH_UPDATE + crtc_offsets[i]); + if (!(tmp & EVERGREEN_GRPH_UPDATE_LOCK)) { + tmp |= EVERGREEN_GRPH_UPDATE_LOCK; + WREG32(EVERGREEN_GRPH_UPDATE + crtc_offsets[i], tmp); + } + tmp = RREG32(EVERGREEN_MASTER_UPDATE_LOCK + crtc_offsets[i]); + if (!(tmp & 1)) { + tmp |= 1; + WREG32(EVERGREEN_MASTER_UPDATE_LOCK + crtc_offsets[i], tmp); + } + } } } 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); + u32 tmp, frame_count; + int i, j; - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC3_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_CRTC3_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_CRTC3_REGISTER_OFFSET, + WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + crtc_offsets[i], (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC3_REGISTER_OFFSET, + WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + crtc_offsets[i], (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); + 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); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC5_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC5_REGISTER_OFFSET, - upper_32_bits(rdev->mc.vram_start)); - WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC5_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); - WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC5_REGISTER_OFFSET, - (u32)rdev->mc.vram_start); + /* unlock regs and wait for update */ + for (i = 0; i < rdev->num_crtc; i++) { + if (save->crtc_enabled[i]) { + tmp = RREG32(EVERGREEN_MASTER_UPDATE_MODE + crtc_offsets[i]); + if ((tmp & 0x3) != 0) { + tmp &= ~0x3; + WREG32(EVERGREEN_MASTER_UPDATE_MODE + crtc_offsets[i], tmp); + } + tmp = RREG32(EVERGREEN_GRPH_UPDATE + crtc_offsets[i]); + if (tmp & EVERGREEN_GRPH_UPDATE_LOCK) { + tmp &= ~EVERGREEN_GRPH_UPDATE_LOCK; + WREG32(EVERGREEN_GRPH_UPDATE + crtc_offsets[i], tmp); + } + tmp = RREG32(EVERGREEN_MASTER_UPDATE_LOCK + crtc_offsets[i]); + if (tmp & 1) { + tmp &= ~1; + WREG32(EVERGREEN_MASTER_UPDATE_LOCK + crtc_offsets[i], tmp); + } + for (j = 0; j < rdev->usec_timeout; j++) { + tmp = RREG32(EVERGREEN_GRPH_UPDATE + crtc_offsets[i]); + if ((tmp & EVERGREEN_GRPH_SURFACE_UPDATE_PENDING) == 0) + break; + udelay(1); + } + } } - 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_UPDATE_LOCK + crtc_offsets[i], 1); + WREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i], tmp); + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 0); + } else { + tmp = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]); + tmp &= ~EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE; + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 1); + WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp); + WREG32(EVERGREEN_CRTC_UPDATE_LOCK + crtc_offsets[i], 0); + } + /* 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); } @@ -1695,7 +1727,7 @@ case CHIP_SUMO: rdev->config.evergreen.num_ses = 1; rdev->config.evergreen.max_pipes = 4; - rdev->config.evergreen.max_tile_pipes = 2; + rdev->config.evergreen.max_tile_pipes = 4; if (rdev->pdev->device == 0x9648) rdev->config.evergreen.max_simds = 3; else if ((rdev->pdev->device == 0x9647) || @@ -1718,7 +1750,7 @@ rdev->config.evergreen.sc_prim_fifo_size = 0x40; rdev->config.evergreen.sc_hiz_tile_fifo_size = 0x30; rdev->config.evergreen.sc_earlyz_tile_fifo_size = 0x130; - gb_addr_config = REDWOOD_GB_ADDR_CONFIG_GOLDEN; + gb_addr_config = SUMO_GB_ADDR_CONFIG_GOLDEN; break; case CHIP_SUMO2: rdev->config.evergreen.num_ses = 1; @@ -1740,7 +1772,7 @@ rdev->config.evergreen.sc_prim_fifo_size = 0x40; rdev->config.evergreen.sc_hiz_tile_fifo_size = 0x30; rdev->config.evergreen.sc_earlyz_tile_fifo_size = 0x130; - gb_addr_config = REDWOOD_GB_ADDR_CONFIG_GOLDEN; + gb_addr_config = SUMO2_GB_ADDR_CONFIG_GOLDEN; break; case CHIP_BARTS: rdev->config.evergreen.num_ses = 2; @@ -1788,7 +1820,7 @@ break; case CHIP_CAICOS: rdev->config.evergreen.num_ses = 1; - rdev->config.evergreen.max_pipes = 4; + rdev->config.evergreen.max_pipes = 2; rdev->config.evergreen.max_tile_pipes = 2; rdev->config.evergreen.max_simds = 2; rdev->config.evergreen.max_backends = 1 * rdev->config.evergreen.num_ses; @@ -1858,10 +1890,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 |= @@ -1901,9 +1941,20 @@ WREG32(DMIF_ADDR_CONFIG, gb_addr_config); WREG32(HDP_ADDR_CONFIG, gb_addr_config); - tmp = gb_addr_config & NUM_PIPES_MASK; - tmp = r6xx_remap_render_backend(rdev, tmp, rdev->config.evergreen.max_backends, - EVERGREEN_MAX_BACKENDS, disabled_rb_mask); + if ((rdev->config.evergreen.max_backends == 1) && + (rdev->flags & RADEON_IS_IGP)) { + if ((disabled_rb_mask & 3) == 1) { + /* RB0 disabled, RB1 enabled */ + tmp = 0x11111111; + } else { + /* RB1 disabled, RB0 enabled */ + tmp = 0x00000000; + } + } else { + tmp = gb_addr_config & NUM_PIPES_MASK; + tmp = r6xx_remap_render_backend(rdev, tmp, rdev->config.evergreen.max_backends, + EVERGREEN_MAX_BACKENDS, disabled_rb_mask); + } WREG32(GB_BACKEND_MAP, tmp); WREG32(CGTS_SYS_TCC_DISABLE, 0); @@ -2142,8 +2193,8 @@ rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE); } else { /* size in MB on evergreen/cayman/tn */ - rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024; - rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024; + rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; + rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL; } rdev->mc.visible_vram_size = rdev->mc.aper_size; r700_vram_gtt_location(rdev, &rdev->mc); @@ -2961,6 +3012,16 @@ break; } break; + case 146: + case 147: + dev_err(rdev->dev, "GPU fault detected: %d 0x%08x\n", src_id, src_data); + dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x%08X\n", + RREG32(VM_CONTEXT1_PROTECTION_FAULT_ADDR)); + dev_err(rdev->dev, " VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x%08X\n", + RREG32(VM_CONTEXT1_PROTECTION_FAULT_STATUS)); + /* reset addr and status */ + WREG32_P(VM_CONTEXT1_CNTL2, 1, ~1); + break; case 176: /* CP_INT in ring buffer */ case 177: /* CP_INT in IB1 */ case 178: /* CP_INT in IB2 */ @@ -3020,6 +3081,13 @@ /* enable pcie gen2 link */ evergreen_pcie_gen2_enable(rdev); + /* scratch needs to be initialized before MC */ + r = r600_vram_scratch_init(rdev); + if (r) + return r; + + evergreen_mc_program(rdev); + if (ASIC_IS_DCE5(rdev)) { if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw || !rdev->mc_fw) { r = ni_init_microcode(rdev); @@ -3043,11 +3111,6 @@ } } - r = r600_vram_scratch_init(rdev); - if (r) - return r; - - evergreen_mc_program(rdev); if (rdev->flags & RADEON_IS_AGP) { evergreen_agp_enable(rdev); } else { @@ -3076,6 +3139,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r = r600_irq_init(rdev); if (r) { DRM_ERROR("radeon: IH init failed (%d).\n", r); @@ -3220,10 +3289,6 @@ if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; - rdev->ring[RADEON_RING_TYPE_GFX_INDEX].ring_obj = NULL; r600_ring_init(rdev, &rdev->ring[RADEON_RING_TYPE_GFX_INDEX], 1024 * 1024); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/evergreend.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/evergreend.h @@ -45,6 +45,8 @@ #define TURKS_GB_ADDR_CONFIG_GOLDEN 0x02010002 #define CEDAR_GB_ADDR_CONFIG_GOLDEN 0x02010001 #define CAICOS_GB_ADDR_CONFIG_GOLDEN 0x02010001 +#define SUMO_GB_ADDR_CONFIG_GOLDEN 0x02010002 +#define SUMO2_GB_ADDR_CONFIG_GOLDEN 0x02010002 /* Registers */ @@ -87,6 +89,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 +436,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 @@ -636,6 +649,7 @@ #define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) #define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) #define VM_CONTEXT1_CNTL 0x1414 +#define VM_CONTEXT1_CNTL2 0x1434 #define VM_CONTEXT0_PAGE_TABLE_BASE_ADDR 0x153C #define VM_CONTEXT0_PAGE_TABLE_END_ADDR 0x157C #define VM_CONTEXT0_PAGE_TABLE_START_ADDR 0x155C @@ -657,6 +671,8 @@ #define CACHE_UPDATE_MODE(x) ((x) << 6) #define VM_L2_STATUS 0x140C #define L2_BUSY (1 << 0) +#define VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x14FC +#define VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x14DC #define WAIT_UNTIL 0x8040 @@ -691,6 +707,10 @@ # define LATENCY_LOW_WATERMARK(x) ((x) << 0) # define LATENCY_HIGH_WATERMARK(x) ((x) << 16) +#define PIPE0_DMIF_BUFFER_CONTROL 0x0ca0 +# define DMIF_BUFFERS_ALLOCATED(x) ((x) << 0) +# define DMIF_BUFFERS_ALLOCATED_COMPLETED (1 << 4) + #define IH_RB_CNTL 0x3e00 # define IH_RB_ENABLE (1 << 0) # define IH_IB_SIZE(x) ((x) << 1) /* log2 */ @@ -1273,6 +1293,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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_ttm.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_ttm.c @@ -753,7 +753,7 @@ return r; } DRM_INFO("radeon: %uM of VRAM memory ready\n", - (unsigned)rdev->mc.real_vram_size / (1024 * 1024)); + (unsigned) (rdev->mc.real_vram_size / (1024 * 1024))); r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_TT, rdev->mc.gtt_size >> PAGE_SHIFT); if (r) { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/rs600.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/rs600.c @@ -899,6 +899,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + rs600_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -1026,9 +1032,6 @@ r = radeon_fence_driver_init(rdev); if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; /* Memory manager */ r = radeon_bo_init(rdev); if (r) --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r420.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r420.c @@ -265,6 +265,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r100_irq_set(rdev); rdev->config.r300.hdp_cntl = RREG32(RADEON_HOST_PATH_CNTL); /* 1M ring buffer */ @@ -414,10 +420,6 @@ if (r) { return r; } - r = radeon_irq_kms_init(rdev); - if (r) { - return r; - } /* Memory manager */ r = radeon_bo_init(rdev); if (r) { --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon.h +++ linux-lts-quantal-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; }; @@ -1456,6 +1442,45 @@ u64 gpu_addr; }; +/* + * ACPI + */ +struct radeon_atif_notification_cfg { + bool enabled; + int command_code; +}; + +struct radeon_atif_notifications { + bool display_switch; + bool expansion_mode_change; + bool thermal_state; + bool forced_power_state; + bool system_power_state; + bool display_conf_change; + bool px_gfx_switch; + bool brightness_change; + bool dgpu_display_event; +}; + +struct radeon_atif_functions { + bool system_params; + bool sbios_requests; + bool select_active_disp; + bool lid_state; + bool get_tv_standard; + bool set_tv_standard; + bool get_panel_expansion_mode; + bool set_panel_expansion_mode; + bool temperature_change; + bool graphics_device_types; +}; + +struct radeon_atif { + struct radeon_atif_notifications notifications; + struct radeon_atif_functions functions; + struct radeon_atif_notification_cfg notification_cfg; + struct radeon_encoder *backlight_ctl; +}; /* * Core structure, functions and helpers. @@ -1548,6 +1573,9 @@ unsigned debugfs_count; /* virtual memory */ struct radeon_vm_manager vm_manager; + struct mutex gpu_clock_mutex; + /* ACPI interface */ + struct radeon_atif atif; }; int radeon_device_init(struct radeon_device *rdev, @@ -1862,12 +1890,14 @@ extern int ni_init_microcode(struct radeon_device *rdev); extern int ni_mc_load_microcode(struct radeon_device *rdev); -/* radeon_acpi.c */ -#if defined(CONFIG_ACPI) -extern int radeon_acpi_init(struct radeon_device *rdev); -#else -static inline int radeon_acpi_init(struct radeon_device *rdev) { return 0; } -#endif +/* radeon_acpi.c */ +#if defined(CONFIG_ACPI) +extern int radeon_acpi_init(struct radeon_device *rdev); +extern void radeon_acpi_fini(struct radeon_device *rdev); +#else +static inline int radeon_acpi_init(struct radeon_device *rdev) { return 0; } +static inline void radeon_acpi_fini(struct radeon_device *rdev) { } +#endif #include "radeon_object.h" --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/ni.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/ni.c @@ -466,21 +466,32 @@ (rdev->pdev->device == 0x9907) || (rdev->pdev->device == 0x9908) || (rdev->pdev->device == 0x9909) || + (rdev->pdev->device == 0x990B) || + (rdev->pdev->device == 0x990C) || + (rdev->pdev->device == 0x990F) || (rdev->pdev->device == 0x9910) || - (rdev->pdev->device == 0x9917)) { + (rdev->pdev->device == 0x9917) || + (rdev->pdev->device == 0x9999) || + (rdev->pdev->device == 0x999C)) { rdev->config.cayman.max_simds_per_se = 6; rdev->config.cayman.max_backends_per_se = 2; } else if ((rdev->pdev->device == 0x9903) || (rdev->pdev->device == 0x9904) || (rdev->pdev->device == 0x990A) || + (rdev->pdev->device == 0x990D) || + (rdev->pdev->device == 0x990E) || (rdev->pdev->device == 0x9913) || - (rdev->pdev->device == 0x9918)) { + (rdev->pdev->device == 0x9918) || + (rdev->pdev->device == 0x999D)) { rdev->config.cayman.max_simds_per_se = 4; rdev->config.cayman.max_backends_per_se = 2; } else if ((rdev->pdev->device == 0x9919) || (rdev->pdev->device == 0x9990) || (rdev->pdev->device == 0x9991) || (rdev->pdev->device == 0x9994) || + (rdev->pdev->device == 0x9995) || + (rdev->pdev->device == 0x9996) || + (rdev->pdev->device == 0x999A) || (rdev->pdev->device == 0x99A0)) { rdev->config.cayman.max_simds_per_se = 3; rdev->config.cayman.max_backends_per_se = 1; @@ -574,10 +585,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; @@ -602,13 +621,26 @@ WREG32(GB_ADDR_CONFIG, gb_addr_config); WREG32(DMIF_ADDR_CONFIG, gb_addr_config); + if (ASIC_IS_DCE6(rdev)) + WREG32(DMIF_ADDR_CALC, gb_addr_config); WREG32(HDP_ADDR_CONFIG, gb_addr_config); - tmp = gb_addr_config & NUM_PIPES_MASK; - tmp = r6xx_remap_render_backend(rdev, tmp, - rdev->config.cayman.max_backends_per_se * - rdev->config.cayman.max_shader_engines, - CAYMAN_MAX_BACKENDS, disabled_rb_mask); + if ((rdev->config.cayman.max_backends_per_se == 1) && + (rdev->flags & RADEON_IS_IGP)) { + if ((disabled_rb_mask & 3) == 1) { + /* RB0 disabled, RB1 enabled */ + tmp = 0x11111111; + } else { + /* RB1 disabled, RB0 enabled */ + tmp = 0x00000000; + } + } else { + tmp = gb_addr_config & NUM_PIPES_MASK; + tmp = r6xx_remap_render_backend(rdev, tmp, + rdev->config.cayman.max_backends_per_se * + rdev->config.cayman.max_shader_engines, + CAYMAN_MAX_BACKENDS, disabled_rb_mask); + } WREG32(GB_BACKEND_MAP, tmp); cgts_tcc_disable = 0xffff0000; @@ -772,10 +804,20 @@ /* enable context1-7 */ WREG32(VM_CONTEXT1_PROTECTION_FAULT_DEFAULT_ADDR, (u32)(rdev->dummy_page.addr >> 12)); - WREG32(VM_CONTEXT1_CNTL2, 0); - WREG32(VM_CONTEXT1_CNTL, 0); + WREG32(VM_CONTEXT1_CNTL2, 4); WREG32(VM_CONTEXT1_CNTL, ENABLE_CONTEXT | PAGE_TABLE_DEPTH(0) | - RANGE_PROTECTION_FAULT_ENABLE_DEFAULT); + RANGE_PROTECTION_FAULT_ENABLE_INTERRUPT | + RANGE_PROTECTION_FAULT_ENABLE_DEFAULT | + DUMMY_PAGE_PROTECTION_FAULT_ENABLE_INTERRUPT | + DUMMY_PAGE_PROTECTION_FAULT_ENABLE_DEFAULT | + PDE0_PROTECTION_FAULT_ENABLE_INTERRUPT | + PDE0_PROTECTION_FAULT_ENABLE_DEFAULT | + VALID_PROTECTION_FAULT_ENABLE_INTERRUPT | + VALID_PROTECTION_FAULT_ENABLE_DEFAULT | + READ_PROTECTION_FAULT_ENABLE_INTERRUPT | + READ_PROTECTION_FAULT_ENABLE_DEFAULT | + WRITE_PROTECTION_FAULT_ENABLE_INTERRUPT | + WRITE_PROTECTION_FAULT_ENABLE_DEFAULT); cayman_pcie_gart_tlb_flush(rdev); DRM_INFO("PCIE GART of %uM enabled (table at 0x%016llX).\n", @@ -1197,6 +1239,13 @@ /* enable pcie gen2 link */ evergreen_pcie_gen2_enable(rdev); + /* scratch needs to be initialized before MC */ + r = r600_vram_scratch_init(rdev); + if (r) + return r; + + evergreen_mc_program(rdev); + if (rdev->flags & RADEON_IS_IGP) { if (!rdev->me_fw || !rdev->pfp_fw || !rdev->rlc_fw) { r = ni_init_microcode(rdev); @@ -1221,11 +1270,6 @@ } } - r = r600_vram_scratch_init(rdev); - if (r) - return r; - - evergreen_mc_program(rdev); r = cayman_pcie_gart_enable(rdev); if (r) return r; @@ -1271,6 +1315,12 @@ } /* Enable IRQ */ + if (!rdev->irq.installed) { + r = radeon_irq_kms_init(rdev); + if (r) + return r; + } + r = r600_irq_init(rdev); if (r) { DRM_ERROR("radeon: IH init failed (%d).\n", r); @@ -1399,10 +1449,6 @@ if (r) return r; - r = radeon_irq_kms_init(rdev); - if (r) - return r; - ring->ring_obj = NULL; r600_ring_init(rdev, ring, 1024 * 1024); --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_acpi.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_acpi.c @@ -1,35 +1,104 @@ +/* + * Copyright 2012 Advanced Micro Devices, 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 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 COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 #include +#include #include "drmP.h" #include "drm.h" #include "drm_sarea.h" #include "drm_crtc_helper.h" #include "radeon.h" +#include "radeon_acpi.h" +#include "atom.h" #include +#define ACPI_AC_CLASS "ac_adapter" + +extern void radeon_pm_acpi_event_handler(struct radeon_device *rdev); + +struct atif_verify_interface { + u16 size; /* structure size in bytes (includes size field) */ + u16 version; /* version */ + u32 notification_mask; /* supported notifications mask */ + u32 function_bits; /* supported functions bit vector */ +} __packed; + +struct atif_system_params { + u16 size; /* structure size in bytes (includes size field) */ + u32 valid_mask; /* valid flags mask */ + u32 flags; /* flags */ + u8 command_code; /* notify command code */ +} __packed; + +struct atif_sbios_requests { + u16 size; /* structure size in bytes (includes size field) */ + u32 pending; /* pending sbios requests */ + u8 panel_exp_mode; /* panel expansion mode */ + u8 thermal_gfx; /* thermal state: target gfx controller */ + u8 thermal_state; /* thermal state: state id (0: exit state, non-0: state) */ + u8 forced_power_gfx; /* forced power state: target gfx controller */ + u8 forced_power_state; /* forced power state: state id */ + u8 system_power_src; /* system power source */ + u8 backlight_level; /* panel backlight level (0-255) */ +} __packed; + +#define ATIF_NOTIFY_MASK 0x3 +#define ATIF_NOTIFY_NONE 0 +#define ATIF_NOTIFY_81 1 +#define ATIF_NOTIFY_N 2 + /* Call the ATIF method - * - * Note: currently we discard the output */ -static int radeon_atif_call(acpi_handle handle) +static union acpi_object *radeon_atif_call(acpi_handle handle, int function, + struct acpi_buffer *params) { acpi_status status; union acpi_object atif_arg_elements[2]; struct acpi_object_list atif_arg; - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL}; + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; atif_arg.count = 2; atif_arg.pointer = &atif_arg_elements[0]; atif_arg_elements[0].type = ACPI_TYPE_INTEGER; - atif_arg_elements[0].integer.value = 0; - atif_arg_elements[1].type = ACPI_TYPE_INTEGER; - atif_arg_elements[1].integer.value = 0; + atif_arg_elements[0].integer.value = function; + + if (params) { + atif_arg_elements[1].type = ACPI_TYPE_BUFFER; + atif_arg_elements[1].buffer.length = params->length; + atif_arg_elements[1].buffer.pointer = params->pointer; + } else { + /* We need a second fake parameter */ + atif_arg_elements[1].type = ACPI_TYPE_INTEGER; + atif_arg_elements[1].integer.value = 0; + } status = acpi_evaluate_object(handle, "ATIF", &atif_arg, &buffer); @@ -38,17 +107,233 @@ DRM_DEBUG_DRIVER("failed to evaluate ATIF got %s\n", acpi_format_exception(status)); kfree(buffer.pointer); - return 1; + return NULL; } - kfree(buffer.pointer); - return 0; + return buffer.pointer; +} + +static void radeon_atif_parse_notification(struct radeon_atif_notifications *n, u32 mask) +{ + n->display_switch = mask & ATIF_DISPLAY_SWITCH_REQUEST_SUPPORTED; + n->expansion_mode_change = mask & ATIF_EXPANSION_MODE_CHANGE_REQUEST_SUPPORTED; + n->thermal_state = mask & ATIF_THERMAL_STATE_CHANGE_REQUEST_SUPPORTED; + n->forced_power_state = mask & ATIF_FORCED_POWER_STATE_CHANGE_REQUEST_SUPPORTED; + n->system_power_state = mask & ATIF_SYSTEM_POWER_SOURCE_CHANGE_REQUEST_SUPPORTED; + n->display_conf_change = mask & ATIF_DISPLAY_CONF_CHANGE_REQUEST_SUPPORTED; + n->px_gfx_switch = mask & ATIF_PX_GFX_SWITCH_REQUEST_SUPPORTED; + n->brightness_change = mask & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST_SUPPORTED; + n->dgpu_display_event = mask & ATIF_DGPU_DISPLAY_EVENT_SUPPORTED; +} + +static void radeon_atif_parse_functions(struct radeon_atif_functions *f, u32 mask) +{ + f->system_params = mask & ATIF_GET_SYSTEM_PARAMETERS_SUPPORTED; + f->sbios_requests = mask & ATIF_GET_SYSTEM_BIOS_REQUESTS_SUPPORTED; + f->select_active_disp = mask & ATIF_SELECT_ACTIVE_DISPLAYS_SUPPORTED; + f->lid_state = mask & ATIF_GET_LID_STATE_SUPPORTED; + f->get_tv_standard = mask & ATIF_GET_TV_STANDARD_FROM_CMOS_SUPPORTED; + f->set_tv_standard = mask & ATIF_SET_TV_STANDARD_IN_CMOS_SUPPORTED; + f->get_panel_expansion_mode = mask & ATIF_GET_PANEL_EXPANSION_MODE_FROM_CMOS_SUPPORTED; + f->set_panel_expansion_mode = mask & ATIF_SET_PANEL_EXPANSION_MODE_IN_CMOS_SUPPORTED; + f->temperature_change = mask & ATIF_TEMPERATURE_CHANGE_NOTIFICATION_SUPPORTED; + f->graphics_device_types = mask & ATIF_GET_GRAPHICS_DEVICE_TYPES_SUPPORTED; +} + +static int radeon_atif_verify_interface(acpi_handle handle, + struct radeon_atif *atif) +{ + union acpi_object *info; + struct atif_verify_interface output; + size_t size; + int err = 0; + + info = radeon_atif_call(handle, ATIF_FUNCTION_VERIFY_INTERFACE, NULL); + if (!info) + return -EIO; + + memset(&output, 0, sizeof(output)); + + size = *(u16 *) info->buffer.pointer; + if (size < 12) { + DRM_INFO("ATIF buffer is too small: %lu\n", size); + err = -EINVAL; + goto out; + } + size = min(sizeof(output), size); + + memcpy(&output, info->buffer.pointer, size); + + /* TODO: check version? */ + DRM_DEBUG_DRIVER("ATIF version %u\n", output.version); + + radeon_atif_parse_notification(&atif->notifications, output.notification_mask); + radeon_atif_parse_functions(&atif->functions, output.function_bits); + +out: + kfree(info); + return err; +} + +static int radeon_atif_get_notification_params(acpi_handle handle, + struct radeon_atif_notification_cfg *n) +{ + union acpi_object *info; + struct atif_system_params params; + size_t size; + int err = 0; + + info = radeon_atif_call(handle, ATIF_FUNCTION_GET_SYSTEM_PARAMETERS, NULL); + if (!info) { + err = -EIO; + goto out; + } + + size = *(u16 *) info->buffer.pointer; + if (size < 10) { + err = -EINVAL; + goto out; + } + + memset(¶ms, 0, sizeof(params)); + size = min(sizeof(params), size); + memcpy(¶ms, info->buffer.pointer, size); + + DRM_DEBUG_DRIVER("SYSTEM_PARAMS: mask = %#x, flags = %#x\n", + params.flags, params.valid_mask); + params.flags = params.flags & params.valid_mask; + + if ((params.flags & ATIF_NOTIFY_MASK) == ATIF_NOTIFY_NONE) { + n->enabled = false; + n->command_code = 0; + } else if ((params.flags & ATIF_NOTIFY_MASK) == ATIF_NOTIFY_81) { + n->enabled = true; + n->command_code = 0x81; + } else { + if (size < 11) { + err = -EINVAL; + goto out; + } + n->enabled = true; + n->command_code = params.command_code; + } + +out: + DRM_DEBUG_DRIVER("Notification %s, command code = %#x\n", + (n->enabled ? "enabled" : "disabled"), + n->command_code); + kfree(info); + return err; +} + +static int radeon_atif_get_sbios_requests(acpi_handle handle, + struct atif_sbios_requests *req) +{ + union acpi_object *info; + size_t size; + int count = 0; + + info = radeon_atif_call(handle, ATIF_FUNCTION_GET_SYSTEM_BIOS_REQUESTS, NULL); + if (!info) + return -EIO; + + size = *(u16 *)info->buffer.pointer; + if (size < 0xd) { + count = -EINVAL; + goto out; + } + memset(req, 0, sizeof(*req)); + + size = min(sizeof(*req), size); + memcpy(req, info->buffer.pointer, size); + DRM_DEBUG_DRIVER("SBIOS pending requests: %#x\n", req->pending); + + count = hweight32(req->pending); + +out: + kfree(info); + return count; +} + +int radeon_atif_handler(struct radeon_device *rdev, + struct acpi_bus_event *event) +{ + struct radeon_atif *atif = &rdev->atif; + struct atif_sbios_requests req; + acpi_handle handle; + int count; + + DRM_DEBUG_DRIVER("event, device_class = %s, type = %#x\n", + event->device_class, event->type); + + if (strcmp(event->device_class, ACPI_VIDEO_CLASS) != 0) + return NOTIFY_DONE; + + if (!atif->notification_cfg.enabled || + event->type != atif->notification_cfg.command_code) + /* Not our event */ + return NOTIFY_DONE; + + /* Check pending SBIOS requests */ + handle = DEVICE_ACPI_HANDLE(&rdev->pdev->dev); + count = radeon_atif_get_sbios_requests(handle, &req); + + if (count <= 0) + return NOTIFY_DONE; + + DRM_DEBUG_DRIVER("ATIF: %d pending SBIOS requests\n", count); + + if (req.pending & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST) { + struct radeon_encoder *enc = atif->backlight_ctl; + + if (enc) { + struct radeon_encoder_atom_dig *dig = enc->enc_priv; + dig->backlight_level = req.backlight_level; + + DRM_DEBUG_DRIVER("Changing brightness to %d\n", + req.backlight_level); + + atombios_set_panel_brightness(enc); + + backlight_force_update(dig->bl_dev, + BACKLIGHT_UPDATE_HOTKEY); + } + } + /* TODO: check other events */ + + /* We've handled the event, stop the notifier chain. The ACPI interface + * overloads ACPI_VIDEO_NOTIFY_PROBE, we don't want to send that to + * userspace if the event was generated only to signal a SBIOS + * request. + */ + return NOTIFY_BAD; +} + +static int radeon_acpi_event(struct notifier_block *nb, + unsigned long val, + void *data) +{ + struct radeon_device *rdev = container_of(nb, struct radeon_device, acpi_nb); + struct acpi_bus_event *entry = (struct acpi_bus_event *)data; + + if (strcmp(entry->device_class, ACPI_AC_CLASS) == 0) { + if (power_supply_is_system_supplied() > 0) + DRM_DEBUG_DRIVER("pm: AC\n"); + else + DRM_DEBUG_DRIVER("pm: DC\n"); + + radeon_pm_acpi_event_handler(rdev); + } + + /* Check for pending SBIOS requests */ + return radeon_atif_handler(rdev, entry); } /* Call all ACPI methods here */ int radeon_acpi_init(struct radeon_device *rdev) { acpi_handle handle; + struct radeon_atif *atif = &rdev->atif; int ret; /* Get the device handle */ @@ -59,10 +344,66 @@ return 0; /* Call the ATIF method */ - ret = radeon_atif_call(handle); - if (ret) - return ret; + ret = radeon_atif_verify_interface(handle, atif); + if (ret) { + DRM_DEBUG_DRIVER("Call to verify_interface failed: %d\n", ret); + goto out; + } - return 0; + if (atif->notifications.brightness_change) { + struct drm_encoder *tmp; + struct radeon_encoder *target = NULL; + + /* Find the encoder controlling the brightness */ + list_for_each_entry(tmp, &rdev->ddev->mode_config.encoder_list, + head) { + struct radeon_encoder *enc = to_radeon_encoder(tmp); + struct radeon_encoder_atom_dig *dig = enc->enc_priv; + + if ((enc->devices & (ATOM_DEVICE_LCD_SUPPORT)) && + dig->bl_dev != NULL) { + target = enc; + break; + } + } + + atif->backlight_ctl = target; + if (!target) { + /* Brightness change notification is enabled, but we + * didn't find a backlight controller, this should + * never happen. + */ + DRM_ERROR("Cannot find a backlight controller\n"); + } + } + + if (atif->functions.sbios_requests && !atif->functions.system_params) { + /* XXX check this workraround, if sbios request function is + * present we have to see how it's configured in the system + * params + */ + atif->functions.system_params = true; + } + + if (atif->functions.system_params) { + ret = radeon_atif_get_notification_params(handle, + &atif->notification_cfg); + if (ret) { + DRM_DEBUG_DRIVER("Call to GET_SYSTEM_PARAMS failed: %d\n", + ret); + /* Disable notification */ + atif->notification_cfg.enabled = false; + } + } + +out: + rdev->acpi_nb.notifier_call = radeon_acpi_event; + register_acpi_notifier(&rdev->acpi_nb); + + return ret; } +void radeon_acpi_fini(struct radeon_device *rdev) +{ + unregister_acpi_notifier(&rdev->acpi_nb); +} --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_asic.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/evergreen_hdmi.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/evergreen_hdmi.c @@ -156,6 +156,9 @@ struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; uint32_t offset; + if (!dig || !dig->afmt) + return; + /* Silent, r600_hdmi_enable will raise WARN for us */ if (!dig->afmt->enabled) return; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/radeon_mode.h +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/radeon_mode.h @@ -210,7 +210,8 @@ CT_RN50_POWER, CT_MAC_X800, CT_MAC_G5_9600, - CT_SAM440EP + CT_SAM440EP, + CT_MAC_G4_SILVER }; enum radeon_dvo_chip { @@ -252,8 +253,21 @@ /* pointer to fbdev info structure */ struct radeon_fbdev *rfbdev; + /* firmware flags */ + u16 firmware_flags; }; +#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) + +#define RADEON_MAX_BL_LEVEL 0xFF + +struct radeon_backlight_privdata { + struct radeon_encoder *encoder; + uint8_t negative; +}; + +#endif + #define MAX_H_CODE_TIMING_LEN 32 #define MAX_V_CODE_TIMING_LEN 32 @@ -275,6 +289,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; @@ -533,7 +548,7 @@ u8 val); extern void radeon_router_select_ddc_port(struct radeon_connector *radeon_connector); extern void radeon_router_select_cd_port(struct radeon_connector *radeon_connector); -extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector); +extern bool radeon_ddc_probe(struct radeon_connector *radeon_connector, bool use_aux); extern int radeon_ddc_get_modes(struct radeon_connector *radeon_connector); extern struct drm_encoder *radeon_best_encoder(struct drm_connector *connector); @@ -684,6 +699,8 @@ struct drm_display_mode *adjusted_mode); void atom_rv515_force_tv_scaler(struct radeon_device *rdev, struct radeon_crtc *radeon_crtc); +void atombios_set_panel_brightness(struct radeon_encoder *radeon_encoder); + /* legacy tv */ void radeon_legacy_tv_adjust_crtc_reg(struct drm_encoder *encoder, uint32_t *h_total_disp, uint32_t *h_sync_strt_wid, --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/r300_cmdbuf.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/r300_cmdbuf.c @@ -74,7 +74,7 @@ OUT_RING(CP_PACKET0(R300_RE_CLIPRECT_TL_0, nr * 2 - 1)); for (i = 0; i < nr; ++i) { - if (DRM_COPY_FROM_USER_UNCHECKED + if (DRM_COPY_FROM_USER (&box, &cmdbuf->boxes[n + i], sizeof(box))) { DRM_ERROR("copy cliprect faulted\n"); return -EFAULT; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/radeon/reg_srcs/cayman +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/radeon/reg_srcs/cayman @@ -1,5 +1,6 @@ cayman 0x9400 0x0000802C GRBM_GFX_INDEX +0x00008040 WAIT_UNTIL 0x000084FC CP_STRMOUT_CNTL 0x000085F0 CP_COHER_CNTL 0x000085F4 CP_COHER_SIZE --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c @@ -29,7 +29,9 @@ #include "drmP.h" #include "ttm/ttm_bo_driver.h" -#define VMW_PPN_SIZE sizeof(unsigned long) +#define VMW_PPN_SIZE (sizeof(unsigned long)) +/* A future safe maximum remap size. */ +#define VMW_PPN_PER_REMAP ((31 * 1024) / VMW_PPN_SIZE) static int vmw_gmr2_bind(struct vmw_private *dev_priv, struct page *pages[], @@ -38,43 +40,61 @@ { SVGAFifoCmdDefineGMR2 define_cmd; SVGAFifoCmdRemapGMR2 remap_cmd; - uint32_t define_size = sizeof(define_cmd) + 4; - uint32_t remap_size = VMW_PPN_SIZE * num_pages + sizeof(remap_cmd) + 4; uint32_t *cmd; uint32_t *cmd_orig; + uint32_t define_size = sizeof(define_cmd) + sizeof(*cmd); + uint32_t remap_num = num_pages / VMW_PPN_PER_REMAP + ((num_pages % VMW_PPN_PER_REMAP) > 0); + uint32_t remap_size = VMW_PPN_SIZE * num_pages + (sizeof(remap_cmd) + sizeof(*cmd)) * remap_num; + uint32_t remap_pos = 0; + uint32_t cmd_size = define_size + remap_size; uint32_t i; - cmd_orig = cmd = vmw_fifo_reserve(dev_priv, define_size + remap_size); + cmd_orig = cmd = vmw_fifo_reserve(dev_priv, cmd_size); if (unlikely(cmd == NULL)) return -ENOMEM; define_cmd.gmrId = gmr_id; define_cmd.numPages = num_pages; + *cmd++ = SVGA_CMD_DEFINE_GMR2; + memcpy(cmd, &define_cmd, sizeof(define_cmd)); + cmd += sizeof(define_cmd) / sizeof(*cmd); + + /* + * Need to split the command if there are too many + * pages that goes into the gmr. + */ + remap_cmd.gmrId = gmr_id; remap_cmd.flags = (VMW_PPN_SIZE > sizeof(*cmd)) ? SVGA_REMAP_GMR2_PPN64 : SVGA_REMAP_GMR2_PPN32; - remap_cmd.offsetPages = 0; - remap_cmd.numPages = num_pages; - *cmd++ = SVGA_CMD_DEFINE_GMR2; - memcpy(cmd, &define_cmd, sizeof(define_cmd)); - cmd += sizeof(define_cmd) / sizeof(uint32); + while (num_pages > 0) { + unsigned long nr = min(num_pages, (unsigned long)VMW_PPN_PER_REMAP); + + remap_cmd.offsetPages = remap_pos; + remap_cmd.numPages = nr; - *cmd++ = SVGA_CMD_REMAP_GMR2; - memcpy(cmd, &remap_cmd, sizeof(remap_cmd)); - cmd += sizeof(remap_cmd) / sizeof(uint32); - - for (i = 0; i < num_pages; ++i) { - if (VMW_PPN_SIZE <= 4) - *cmd = page_to_pfn(*pages++); - else - *((uint64_t *)cmd) = page_to_pfn(*pages++); + *cmd++ = SVGA_CMD_REMAP_GMR2; + memcpy(cmd, &remap_cmd, sizeof(remap_cmd)); + cmd += sizeof(remap_cmd) / sizeof(*cmd); + + for (i = 0; i < nr; ++i) { + if (VMW_PPN_SIZE <= 4) + *cmd = page_to_pfn(*pages++); + else + *((uint64_t *)cmd) = page_to_pfn(*pages++); - cmd += VMW_PPN_SIZE / sizeof(*cmd); + cmd += VMW_PPN_SIZE / sizeof(*cmd); + } + + num_pages -= nr; + remap_pos += nr; } - vmw_fifo_commit(dev_priv, define_size + remap_size); + BUG_ON(cmd != cmd_orig + cmd_size / sizeof(*cmd)); + + vmw_fifo_commit(dev_priv, cmd_size); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_dmabuf.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/savage/savage_bci.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_software.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nvc0_copy.fuc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nvc0_pm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nv04_dac.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_bo.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -1179,7 +1179,7 @@ if (dev_priv->gart_info.type == NOUVEAU_GART_AGP) { mem->bus.offset = mem->start << PAGE_SHIFT; mem->bus.base = dev_priv->gart_info.aper_base; - mem->bus.is_iomem = true; + mem->bus.is_iomem = !dev->agp->cant_use_aperture; } #endif break; --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nv04_dfp.c +++ linux-lts-quantal-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) @@ -504,7 +504,7 @@ static inline bool is_powersaving_dpms(int mode) { - return (mode != DRM_MODE_DPMS_ON); + return mode != DRM_MODE_DPMS_ON && mode != NV_DPMS_CLEARED; } static void nv04_lvds_dpms(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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nva3_copy.fuc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_irq.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nv10_fence.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/nouveau/nv10_fence.c @@ -155,6 +155,10 @@ static int nv10_fence_init(struct drm_device *dev, int engine) { + struct nv10_fence_priv *priv = nv_engine(dev, engine); + + if (priv->bo) + nouveau_bo_wr32(priv->bo, 0, priv->sequence); return 0; } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nv50_gpio.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_acpi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nv84_fifo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_display.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nv04_tv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_prime.c +++ linux-lts-quantal-3.5.0/drivers/gpu/drm/nouveau/nouveau_prime.c @@ -199,6 +199,7 @@ if (nvbo->gem) { if (nvbo->gem->dev == dev) { drm_gem_object_reference(nvbo->gem); + dma_buf_put(dma_buf); return nvbo->gem; } } --- linux-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nvd0_display.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nva3_copy.fuc +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_drv.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nvc0_fence.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_drv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/gpu/drm/nouveau/nouveau_state.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/firmware/Kconfig +++ linux-lts-quantal-3.5.0/drivers/firmware/Kconfig @@ -53,6 +53,24 @@ Subsequent efibootmgr releases may be found at: +config EFI_VARS_PSTORE + bool "Register efivars backend for pstore" + depends on EFI_VARS && PSTORE + default y + help + Say Y here to enable use efivars as a backend to pstore. This + will allow writing console messages, crash dumps, or anything + else supported by pstore to EFI variables. + +config EFI_VARS_PSTORE_DEFAULT_DISABLE + bool "Disable using efivars as a pstore backend by default" + depends on EFI_VARS_PSTORE + default n + help + Saying Y here will disable the use of efivars as a storage + backend for pstore by default. This setting can be overridden + using the efivars module's pstore_disable parameter. + config EFI_PCDP bool "Console device selection via EFI PCDP or HCDP table" depends on ACPI && EFI && IA64 --- linux-lts-quantal-3.5.0.orig/drivers/firmware/pcdp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/drivers/firmware/dmi_scan.c +++ linux-lts-quantal-3.5.0/drivers/firmware/dmi_scan.c @@ -6,6 +6,7 @@ #include #include #include +#include #include /* @@ -15,6 +16,7 @@ */ static char dmi_empty_string[] = " "; +static u16 __initdata dmi_ver; /* * Catch too early calls to dmi_check_system(): */ @@ -111,16 +113,18 @@ dmi_table(buf, dmi_len, dmi_num, decode, NULL); + add_device_randomness(buf, dmi_len); + dmi_iounmap(buf, dmi_len); return 0; } -static int __init dmi_checksum(const u8 *buf) +static int __init dmi_checksum(const u8 *buf, u8 len) { u8 sum = 0; int a; - for (a = 0; a < 15; a++) + for (a = 0; a < len; a++) sum += buf[a]; return sum == 0; @@ -158,8 +162,10 @@ return; for (i = 0; i < 16 && (is_ff || is_00); i++) { - if(d[i] != 0x00) is_ff = 0; - if(d[i] != 0xFF) is_00 = 0; + if (d[i] != 0x00) + is_00 = 0; + if (d[i] != 0xFF) + is_ff = 0; } if (is_ff || is_00) @@ -169,7 +175,15 @@ if (!s) return; - sprintf(s, "%pUB", d); + /* + * As of version 2.6 of the SMBIOS specification, the first 3 fields of + * the UUID are supposed to be little-endian encoded. The specification + * says that this is the defacto standard. + */ + if (dmi_ver >= 0x0206) + sprintf(s, "%pUL", d); + else + sprintf(s, "%pUB", d); dmi_ident[slot] = s; } @@ -401,26 +415,53 @@ u8 buf[15]; memcpy_fromio(buf, p, 15); - if ((memcmp(buf, "_DMI_", 5) == 0) && dmi_checksum(buf)) { + if (dmi_checksum(buf, 15)) { dmi_num = (buf[13] << 8) | buf[12]; dmi_len = (buf[7] << 8) | buf[6]; dmi_base = (buf[11] << 24) | (buf[10] << 16) | (buf[9] << 8) | buf[8]; - /* - * DMI version 0.0 means that the real version is taken from - * the SMBIOS version, which we don't know at this point. - */ - if (buf[14] != 0) - printk(KERN_INFO "DMI %d.%d present.\n", - buf[14] >> 4, buf[14] & 0xF); - else - printk(KERN_INFO "DMI present.\n"); if (dmi_walk_early(dmi_decode) == 0) { + if (dmi_ver) + pr_info("SMBIOS %d.%d present.\n", + dmi_ver >> 8, dmi_ver & 0xFF); + else { + dmi_ver = (buf[14] & 0xF0) << 4 | + (buf[14] & 0x0F); + pr_info("Legacy DMI %d.%d present.\n", + dmi_ver >> 8, dmi_ver & 0xFF); + } dmi_dump_ids(); return 0; } } + dmi_ver = 0; + return 1; +} + +static int __init smbios_present(const char __iomem *p) +{ + u8 buf[32]; + + memcpy_fromio(buf, p, 32); + if ((buf[5] < 32) && dmi_checksum(buf, buf[5])) { + dmi_ver = (buf[6] << 8) + buf[7]; + + /* Some BIOS report weird SMBIOS version, fix that up */ + switch (dmi_ver) { + case 0x021F: + case 0x0221: + pr_debug("SMBIOS version fixup(2.%d->2.%d)\n", + dmi_ver & 0xFF, 3); + dmi_ver = 0x0203; + break; + case 0x0233: + pr_debug("SMBIOS version fixup(2.%d->2.%d)\n", 51, 6); + dmi_ver = 0x0206; + break; + } + return memcmp(p + 16, "_DMI_", 5) || dmi_present(p + 16); + } return 1; } @@ -429,7 +470,7 @@ char __iomem *p, *q; int rc; - if (efi_enabled) { + if (efi_enabled(EFI_CONFIG_TABLES)) { if (efi.smbios == EFI_INVALID_TABLE_ADDR) goto error; @@ -441,7 +482,7 @@ if (p == NULL) goto error; - rc = dmi_present(p + 0x10); /* offset of _DMI_ string */ + rc = smbios_present(p); dmi_iounmap(p, 32); if (!rc) { dmi_available = 1; @@ -459,7 +500,12 @@ goto error; for (q = p; q < p + 0x10000; q += 16) { - rc = dmi_present(q); + if (memcmp(q, "_SM_", 4) == 0 && q - p <= 0xFFE0) + rc = smbios_present(q); + else if (memcmp(q, "_DMI_", 5) == 0) + rc = dmi_present(q); + else + continue; if (!rc) { dmi_available = 1; dmi_iounmap(p, 0x10000); --- linux-lts-quantal-3.5.0.orig/drivers/firmware/iscsi_ibft_find.c +++ linux-lts-quantal-3.5.0/drivers/firmware/iscsi_ibft_find.c @@ -99,7 +99,7 @@ /* iBFT 1.03 section 1.4.3.1 mandates that UEFI machines will * only use ACPI for this */ - if (!efi_enabled) + if (!efi_enabled(EFI_BOOT)) find_ibft_in_mem(); if (ibft_addr) { --- linux-lts-quantal-3.5.0.orig/drivers/firmware/efivars.c +++ linux-lts-quantal-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,12 @@ MODULE_VERSION(EFIVARS_VERSION); #define DUMP_NAME_LEN 52 +#define GUID_LEN 37 + +static bool efivars_pstore_disable = + IS_ENABLED(CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE); + +module_param_named(pstore_disable, efivars_pstore_disable, bool, 0644); /* * The maximum size of VariableName + Data = 1024 @@ -108,7 +118,6 @@ __u32 Attributes; } __attribute__((packed)); - struct efivar_entry { struct efivars *efivars; struct efi_variable var; @@ -122,6 +131,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 | \ @@ -393,10 +405,11 @@ get_var_data(struct efivars *efivars, struct efi_variable *var) { efi_status_t status; + unsigned long flags; - spin_lock(&efivars->lock); + spin_lock_irqsave(&efivars->lock, flags); status = get_var_data_locked(efivars, var); - spin_unlock(&efivars->lock); + spin_unlock_irqrestore(&efivars->lock, flags); if (status != EFI_SUCCESS) { printk(KERN_WARNING "efivars: get_variable() failed 0x%lx!\n", @@ -405,6 +418,18 @@ return status; } +static efi_status_t +check_var_size_locked(struct efivars *efivars, u32 attributes, + unsigned long size) +{ + const struct efivar_operations *fops = efivars->ops; + + if (!efivars->ops->query_variable_store) + return EFI_UNSUPPORTED; + + return fops->query_variable_store(attributes, size); +} + static ssize_t efivar_guid_read(struct efivar_entry *entry, char *buf) { @@ -435,12 +460,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; } @@ -514,14 +550,19 @@ return -EINVAL; } - spin_lock(&efivars->lock); - status = efivars->ops->set_variable(new_var->VariableName, - &new_var->VendorGuid, - new_var->Attributes, - new_var->DataSize, - new_var->Data); + spin_lock_irq(&efivars->lock); - spin_unlock(&efivars->lock); + status = check_var_size_locked(efivars, new_var->Attributes, + new_var->DataSize + utf16_strsize(new_var->VariableName, 1024)); + + if (status == EFI_SUCCESS || status == EFI_UNSUPPORTED) + status = efivars->ops->set_variable(new_var->VariableName, + &new_var->VendorGuid, + new_var->Attributes, + new_var->DataSize, + new_var->Data); + + spin_unlock_irq(&efivars->lock); if (status != EFI_SUCCESS) { printk(KERN_WARNING "efivars: set_variable() failed: status=%lx\n", @@ -618,7 +659,35 @@ .default_attrs = def_attrs, }; -static struct pstore_info efi_pstore_info; +static int efi_status_to_err(efi_status_t status) +{ + int err; + + switch (status) { + case EFI_INVALID_PARAMETER: + err = -EINVAL; + break; + case EFI_OUT_OF_RESOURCES: + err = -ENOSPC; + break; + case EFI_DEVICE_ERROR: + err = -EIO; + break; + case EFI_WRITE_PROTECTED: + err = -EROFS; + break; + case EFI_SECURITY_VIOLATION: + err = -EACCES; + break; + case EFI_NOT_FOUND: + err = -ENOENT; + break; + default: + err = -EINVAL; + } + + return err; +} static inline void efivar_unregister(struct efivar_entry *var) @@ -626,13 +695,440 @@ kobject_put(&var->kobj); } -#ifdef CONFIG_PSTORE +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, +}; + +#ifdef CONFIG_EFI_VARS_PSTORE static int efi_pstore_open(struct pstore_info *psi) { struct efivars *efivars = psi->data; - spin_lock(&efivars->lock); + spin_lock_irq(&efivars->lock); efivars->walk_entry = list_first_entry(&efivars->list, struct efivar_entry, list); return 0; @@ -642,7 +1138,7 @@ { struct efivars *efivars = psi->data; - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); return 0; } @@ -696,11 +1192,28 @@ struct efivars *efivars = psi->data; struct efivar_entry *entry, *found = NULL; int i, ret = 0; + efi_status_t status = EFI_NOT_FOUND; + unsigned long flags; sprintf(stub_name, "dump-type%u-%u-", type, part); sprintf(name, "%s%lu", stub_name, get_seconds()); - spin_lock(&efivars->lock); + spin_lock_irqsave(&efivars->lock, flags); + + /* + * Check if there is a space enough to log. + * size: a size of logging data + * DUMP_NAME_LEN * 2: a maximum size of variable name + */ + + status = check_var_size_locked(efivars, PSTORE_EFI_ATTRIBUTES, + size + DUMP_NAME_LEN * 2); + + if (status) { + spin_unlock_irqrestore(&efivars->lock, flags); + *id = part; + return -ENOSPC; + } for (i = 0; i < DUMP_NAME_LEN; i++) efi_name[i] = stub_name[i]; @@ -738,7 +1251,7 @@ efivars->ops->set_variable(efi_name, &vendor, PSTORE_EFI_ATTRIBUTES, size, psi->buf); - spin_unlock(&efivars->lock); + spin_unlock_irqrestore(&efivars->lock, flags); if (found) efivar_unregister(found); @@ -760,37 +1273,6 @@ return 0; } -#else -static int efi_pstore_open(struct pstore_info *psi) -{ - return 0; -} - -static int efi_pstore_close(struct pstore_info *psi) -{ - return 0; -} - -static ssize_t efi_pstore_read(u64 *id, enum pstore_type_id *type, - struct timespec *timespec, - char **buf, struct pstore_info *psi) -{ - return -1; -} - -static int efi_pstore_write(enum pstore_type_id type, - enum kmsg_dump_reason reason, u64 *id, - unsigned int part, size_t size, struct pstore_info *psi) -{ - return 0; -} - -static int efi_pstore_erase(enum pstore_type_id type, u64 id, - struct pstore_info *psi) -{ - return 0; -} -#endif static struct pstore_info efi_pstore_info = { .owner = THIS_MODULE, @@ -802,6 +1284,24 @@ .erase = efi_pstore_erase, }; +static void efivar_pstore_register(struct efivars *efivars) +{ + efivars->efi_pstore_info = efi_pstore_info; + efivars->efi_pstore_info.buf = kmalloc(4096, GFP_KERNEL); + if (efivars->efi_pstore_info.buf) { + efivars->efi_pstore_info.bufsize = 1024; + efivars->efi_pstore_info.data = efivars; + spin_lock_init(&efivars->efi_pstore_info.buf_lock); + pstore_register(&efivars->efi_pstore_info); + } +} +#else +static void efivar_pstore_register(struct efivars *efivars) +{ + return; +} +#endif + static ssize_t efivar_create(struct file *filp, struct kobject *kobj, struct bin_attribute *bin_attr, char *buf, loff_t pos, size_t count) @@ -822,7 +1322,7 @@ return -EINVAL; } - spin_lock(&efivars->lock); + spin_lock_irq(&efivars->lock); /* * Does this variable already exist? @@ -840,10 +1340,18 @@ } } if (found) { - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); return -EINVAL; } + status = check_var_size_locked(efivars, new_var->Attributes, + new_var->DataSize + utf16_strsize(new_var->VariableName, 1024)); + + if (status && status != EFI_UNSUPPORTED) { + spin_unlock_irq(&efivars->lock); + return efi_status_to_err(status); + } + /* now *really* create the variable via EFI */ status = efivars->ops->set_variable(new_var->VariableName, &new_var->VendorGuid, @@ -854,10 +1362,10 @@ if (status != EFI_SUCCESS) { printk(KERN_WARNING "efivars: set_variable() failed: status=%lx\n", status); - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); return -EIO; } - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); /* Create the entry in sysfs. Locking is not required here */ status = efivar_create_sysfs_entry(efivars, @@ -885,7 +1393,7 @@ if (!capable(CAP_SYS_ADMIN)) return -EACCES; - spin_lock(&efivars->lock); + spin_lock_irq(&efivars->lock); /* * Does this variable already exist? @@ -903,7 +1411,7 @@ } } if (!found) { - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); return -EINVAL; } /* force the Attributes/DataSize to 0 to ensure deletion */ @@ -919,18 +1427,44 @@ if (status != EFI_SUCCESS) { printk(KERN_WARNING "efivars: set_variable() failed: status=%lx\n", status); - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); return -EIO; } list_del(&search_efivar->list); /* We need to release this lock before unregistering. */ - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); efivar_unregister(search_efivar); /* It's dead Jim.... */ return count; } + +/* + * Returns the size of variable_name, in bytes, including the + * terminating NULL character, or variable_name_size if no NULL + * character is found among the first variable_name_size bytes. + */ +static unsigned long var_name_strnsize(efi_char16_t *variable_name, + unsigned long variable_name_size) +{ + unsigned long len; + efi_char16_t c; + + /* + * The variable name is, by definition, a NULL-terminated + * string, so make absolutely sure that variable_name_size is + * the value we expect it to be. If not, return the real size. + */ + for (len = 2; len <= variable_name_size; len += sizeof(c)) { + c = variable_name[(len / sizeof(c)) - 1]; + if (!c) + break; + } + + return min(len, variable_name_size); +} + /* * Let's not leave out systab information that snuck into * the efivars driver @@ -1032,9 +1566,9 @@ kfree(short_name); short_name = NULL; - spin_lock(&efivars->lock); + spin_lock_irq(&efivars->lock); list_add(&new_efivar->list, &efivars->list); - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); return 0; } @@ -1103,9 +1637,9 @@ struct efivar_entry *entry, *n; list_for_each_entry_safe(entry, n, &efivars->list, list) { - spin_lock(&efivars->lock); + spin_lock_irq(&efivars->lock); list_del(&entry->list); - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); efivar_unregister(entry); } if (efivars->new_var) @@ -1114,6 +1648,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 +1680,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. @@ -1158,6 +1700,8 @@ &vendor_guid); switch (status) { case EFI_SUCCESS: + variable_name_size = var_name_strnsize(variable_name, + variable_name_size); efivar_create_sysfs_entry(efivars, variable_name_size, variable_name, @@ -1177,15 +1721,13 @@ if (error) unregister_efivars(efivars); - efivars->efi_pstore_info = efi_pstore_info; + if (!efivars_pstore_disable) + efivar_pstore_register(efivars); - efivars->efi_pstore_info.buf = kmalloc(4096, GFP_KERNEL); - if (efivars->efi_pstore_info.buf) { - efivars->efi_pstore_info.bufsize = 1024; - efivars->efi_pstore_info.data = efivars; - spin_lock_init(&efivars->efi_pstore_info.buf_lock); - pstore_register(&efivars->efi_pstore_info); - } + register_filesystem(&efivarfs_type); + +err_unreg_vars: + kset_unregister(efivars->kset); out: kfree(variable_name); @@ -1194,9 +1736,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 @@ -1213,7 +1752,7 @@ printk(KERN_INFO "EFI Variables Facility v%s %s\n", EFIVARS_VERSION, EFIVARS_DATE); - if (!efi_enabled) + if (!efi_enabled(EFI_RUNTIME_SERVICES)) return 0; /* For now we'll register the efi directory at /sys/firmware/efi */ @@ -1226,6 +1765,8 @@ ops.get_variable = efi.get_variable; ops.set_variable = efi.set_variable; ops.get_next_variable = efi.get_next_variable; + ops.query_variable_store = efi_query_variable_store; + error = register_efivars(&__efivars, &ops, efi_kobj); if (error) goto err_put; @@ -1251,7 +1792,7 @@ static void __exit efivars_exit(void) { - if (efi_enabled) { + if (efi_enabled(EFI_RUNTIME_SERVICES)) { unregister_efivars(&__efivars); kobject_put(efi_kobj); } --- linux-lts-quantal-3.5.0.orig/ubuntu/Kconfig +++ linux-lts-quantal-3.5.0/ubuntu/Kconfig @@ -0,0 +1,33 @@ +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" +## +## +## +source "ubuntu/alx/Kconfig" +## +## +## +## +## +## + +endmenu --- linux-lts-quantal-3.5.0.orig/ubuntu/Makefile +++ linux-lts-quantal-3.5.0/ubuntu/Makefile @@ -0,0 +1,36 @@ +# +# 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/ +## +## +## +obj-$(CONFIG_ALX) += alx/ +## +## +## +## +## +## + +# This is a stupid trick to get kbuild to create ubuntu/built-in.o +obj- += foo.o --- linux-lts-quantal-3.5.0.orig/ubuntu/aufs-update +++ linux-lts-quantal-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 +} +#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-lts-quantal-3.5.0.orig/ubuntu/aufs/poll.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/wbr_policy.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/conf.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/hfsnotify.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/whout.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/Kconfig +++ linux-lts-quantal-3.5.0/ubuntu/aufs/Kconfig @@ -0,0 +1,203 @@ +config AUFS_FS + tristate "Aufs (Advanced multi layered unification filesystem) support" + depends on EXPERIMENTAL + help + Aufs is a stackable unification filesystem such as Unionfs, + which unifies several directories and provides a merged single + directory. + In the early days, aufs was entirely re-designed and + re-implemented Unionfs Version 1.x series. Introducing many + original ideas, approaches and improvements, it becomes totally + different from Unionfs while keeping the basic features. + +if AUFS_FS +choice + prompt "Maximum number of branches" + default AUFS_BRANCH_MAX_127 + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_127 + bool "127" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_511 + bool "511" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_1023 + bool "1023" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +config AUFS_BRANCH_MAX_32767 + bool "32767" + help + Specifies the maximum number of branches (or member directories) + in a single aufs. The larger value consumes more system + resources and has a minor impact to performance. +endchoice + +config AUFS_SBILIST + bool + depends on AUFS_MAGIC_SYSRQ || PROC_FS + default y + help + Automatic configuration for internal use. + When aufs supports Magic SysRq or /proc, enabled automatically. + +config AUFS_HNOTIFY + bool "Detect direct branch access (bypassing aufs)" + help + If you want to modify files on branches directly, eg. bypassing aufs, + and want aufs to detect the changes of them fully, then enable this + option and use 'udba=notify' mount option. + Currently there is only one available configuration, "fsnotify". + It will have a negative impact to the performance. + See detail in aufs.5. + +choice + prompt "method" if AUFS_HNOTIFY + default AUFS_HFSNOTIFY +config AUFS_HFSNOTIFY + bool "fsnotify" + select FSNOTIFY +endchoice + +config AUFS_EXPORT + bool "NFS-exportable aufs" + depends on EXPORTFS + help + If you want to export your mounted aufs via NFS, then enable this + option. There are several requirements for this configuration. + See detail in aufs.5. + +config AUFS_INO_T_64 + bool + depends on AUFS_EXPORT + depends on 64BIT && !(ALPHA || S390) + default y + help + Automatic configuration for internal use. + /* typedef unsigned long/int __kernel_ino_t */ + /* alpha and s390x are int */ + +config AUFS_RDU + bool "Readdir in userspace" + help + Aufs has two methods to provide a merged view for a directory, + by a user-space library and by kernel-space natively. The latter + is always enabled but sometimes large and slow. + If you enable this option, install the library in aufs2-util + package, and set some environment variables for your readdir(3), + then the work will be handled in user-space which generally + shows better performance in most cases. + See detail in aufs.5. + +config AUFS_PROC_MAP + bool "support for /proc/maps and lsof(1)" + depends on PROC_FS + help + When you issue mmap(2) in aufs, it is actually a direct mmap(2) + call to the file on the branch fs since the file in aufs is + purely virtual. And the file path printed in /proc/maps (and + others) will be the path on the branch fs. In most cases, it + does no harm. But some utilities like lsof(1) may confuse since + the utility or user may expect the file path in aufs to be + printed. + To address this issue, aufs provides a patch which introduces a + new member called vm_prfile into struct vm_are_struct. The patch + is meaningless without enabling this configuration since nobody + sets the new vm_prfile member. + If you don't apply the patch, then enabling this configuration + will cause a compile error. + This approach is fragile since if someone else make some changes + around vm_file, then vm_prfile may not work anymore. As a + workaround such case, aufs provides this configuration. If you + disable it, then lsof(1) may produce incorrect result but the + problem will be gone even if the aufs patch is applied (I hope). + +config AUFS_SP_IATTR + bool "Respect the attributes (mtime/ctime mainly) of special files" + help + When you write something to a special file, some attributes of it + (mtime/ctime mainly) may be updated. Generally such updates are + less important (actually some device drivers and NFS ignore + it). But some applications (such like test program) requires + such updates. If you need these updates, then enable this + configuration which introduces some overhead. + Currently this configuration handles FIFO only. + +config AUFS_SHWH + bool "Show whiteouts" + help + If you want to make the whiteouts in aufs visible, then enable + this option and specify 'shwh' mount option. Although it may + sounds like philosophy or something, but in technically it + simply shows the name of whiteout with keeping its behaviour. + +config AUFS_BR_RAMFS + bool "Ramfs (initramfs/rootfs) as an aufs branch" + help + If you want to use ramfs as an aufs branch fs, then enable this + option. Generally tmpfs is recommended. + Aufs prohibited them to be a branch fs by default, because + initramfs becomes unusable after switch_root or something + generally. If you sets initramfs as an aufs branch and boot your + system by switch_root, you will meet a problem easily since the + files in initramfs may be inaccessible. + Unless you are going to use ramfs as an aufs branch fs without + switch_root or something, leave it N. + +config AUFS_BR_FUSE + bool "Fuse fs as an aufs branch" + depends on FUSE_FS + select AUFS_POLL + help + If you want to use fuse-based userspace filesystem as an aufs + branch fs, then enable this option. + It implements the internal poll(2) operation which is + implemented by fuse only (curretnly). + +config AUFS_POLL + bool + help + Automatic configuration for internal use. + +config AUFS_BR_HFSPLUS + bool "Hfsplus as an aufs branch" + depends on HFSPLUS_FS + default y + help + If you want to use hfsplus fs as an aufs branch fs, then enable + this option. This option introduces a small overhead at + copying-up a file on hfsplus. + +config AUFS_BDEV_LOOP + bool + depends on BLK_DEV_LOOP + default y + help + Automatic configuration for internal use. + Convert =[ym] into =y. + +config AUFS_DEBUG + bool "Debug aufs" + help + Enable this to compile aufs internal debug code. + It will have a negative impact to the performance. + +config AUFS_MAGIC_SYSRQ + bool + depends on AUFS_DEBUG && MAGIC_SYSRQ + default y + help + Automatic configuration for internal use. + When aufs supports Magic SysRq, enabled automatically. +endif --- linux-lts-quantal-3.5.0.orig/ubuntu/aufs/cpup.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/module.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/fstype.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/plink.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/rwsem.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/rdu.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/whout.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/sbinfo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/i_op_del.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/super.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/wkq.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/super.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/file.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/aufs.h +++ linux-lts-quantal-3.5.0/ubuntu/aufs/aufs.h @@ -0,0 +1,60 @@ +/* + * 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 + */ + +/* + * all header files + */ + +#ifndef __AUFS_H__ +#define __AUFS_H__ + +#ifdef __KERNEL__ + +#define AuStub(type, name, body, ...) \ + static inline type name(__VA_ARGS__) { body; } + +#define AuStubVoid(name, ...) \ + AuStub(void, name, , __VA_ARGS__) +#define AuStubInt0(name, ...) \ + AuStub(int, name, return 0, __VA_ARGS__) + +#include "debug.h" + +#include "branch.h" +#include "cpup.h" +#include "dcsub.h" +#include "dbgaufs.h" +#include "dentry.h" +#include "dir.h" +#include "dynop.h" +#include "file.h" +#include "fstype.h" +#include "inode.h" +#include "loop.h" +#include "module.h" +#include "opts.h" +#include "rwsem.h" +#include "spl.h" +#include "super.h" +#include "sysaufs.h" +#include "vfsub.h" +#include "whout.h" +#include "wkq.h" + +#endif /* __KERNEL__ */ +#endif /* __AUFS_H__ */ --- linux-lts-quantal-3.5.0.orig/ubuntu/aufs/i_op.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/inode.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dcsub.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/xino.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/procfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dynop.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/Makefile +++ linux-lts-quantal-3.5.0/ubuntu/aufs/Makefile @@ -0,0 +1,42 @@ + +include ${src}/magic.mk +ifeq (${CONFIG_AUFS_FS},m) +include ${src}/conf.mk +endif +-include ${src}/priv_def.mk + +# cf. include/linux/kernel.h +# enable pr_debug +ccflags-y += -DDEBUG +# sparse requires the full pathname +ifdef M +ccflags-y += -include ${M}/../../ubuntu/include/linux/aufs_type.h +else +ccflags-y += -include ${srctree}/ubuntu/include/linux/aufs_type.h +endif + +obj-$(CONFIG_AUFS_FS) += aufs.o +aufs-y := module.o sbinfo.o super.o branch.o xino.o sysaufs.o opts.o \ + wkq.o vfsub.o dcsub.o \ + cpup.o whout.o wbr_policy.o \ + dinfo.o dentry.o \ + dynop.o \ + finfo.o file.o f_op.o \ + dir.o vdir.o \ + iinfo.o inode.o i_op.o i_op_add.o i_op_del.o i_op_ren.o \ + ioctl.o + +# all are boolean +aufs-$(CONFIG_PROC_FS) += procfs.o plink.o +aufs-$(CONFIG_SYSFS) += sysfs.o +aufs-$(CONFIG_DEBUG_FS) += dbgaufs.o +aufs-$(CONFIG_AUFS_BDEV_LOOP) += loop.o +aufs-$(CONFIG_AUFS_HNOTIFY) += hnotify.o +aufs-$(CONFIG_AUFS_HFSNOTIFY) += hfsnotify.o +aufs-$(CONFIG_AUFS_EXPORT) += export.o +aufs-$(CONFIG_AUFS_POLL) += poll.o +aufs-$(CONFIG_AUFS_RDU) += rdu.o +aufs-$(CONFIG_AUFS_SP_IATTR) += f_op_sp.o +aufs-$(CONFIG_AUFS_BR_HFSPLUS) += hfsplus.o +aufs-$(CONFIG_AUFS_DEBUG) += debug.o +aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o --- linux-lts-quantal-3.5.0.orig/ubuntu/aufs/inode.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dynop.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/finfo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/module.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/file.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/sysaufs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/hfsplus.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/f_op_sp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dentry.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dbgaufs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/loop.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/f_op.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dinfo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/BOM.UPDATING +++ linux-lts-quantal-3.5.0/ubuntu/aufs/BOM.UPDATING @@ -0,0 +1,80 @@ += How to update AUFS2 = + +This document covers the process for updating aufs2 within the Ubuntu +drivers directory. + +== Background == + +Upstream aufs2 is maintained in a git tree as below (which is _not_ used +when updating Ubuntu). This represents the primary upstream source tree: + + http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-2.6.git + +However this is on an http: transport and incredibly slow. It is advisable +to also add the gitorius mirror to your tree, fetching that before origin +to reduce the objects you need from the main tree: + + git://gitorious.org/aufs2/aufs2.git + +Ubuntu updates are actually taken from the aufs2-standalone tree, somewhat +similar to the compat-wireless tree. The version in this tree is based on +the mainline tree above but is modularisable, a key requirement for Ubuntu. +This tree is found at the git tree below (check the BOM for the definative +location): + + http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git + +This tree contains a set of branches, one per upstream release. The +aufs2.1 branch represents the mainline tracking branch, with aufs-2.1-38 +representing the delta to mainline 2.6.38. Each branch contains a set +of patches which affect the core enabling the application of aufs2, plus +an open tree for the fs/aufs tree. The core patches tend to be static +from early in the line of an upstream release, and thus generally do not +need updating as often. + +== Updating the core patches == + +Ubuntu uses two of the core enablement patches, which are applied in the +order below. The remaining changes required to enable aufs are Ubuntu +specific and static: + + aufs2-base.patch + aufs2-standalone.patch + +In order to update these patches it is simplest to simply revert the +existing pair and apply these as two commit. This allows us to more +easily drop aufs in the future should that be required. + +As these core enablement patches are very slow in changing we normally +do not need to update these more than once per upstream mainline release +though sometimes changes do affect these. + +== Updating aufs2 == + +Once the enablement patches are updated we can simply use the aufs-update +script in the ubuntu/ directory to update the existing source. There are +regular updates to the aufs2 upstream and it is likely we will see updates +there more than once a month. + +Firstly checkout the upstream standalone tree (see the BOM for the +location) and checkout an appropriate branch for the release you are +updating. Then simply run the aufs-update command from within the ubuntu/ +drivers directory, supplying the location of the local aufs2-standalone tree +on the command line: + + cd ubuntu + sh aufs-update ../../aufs2-standalone + +This will result in an update commit containing the updated code and +also updating the BOM. Note that any local modifications are now lost. +Where those exist they should be cherry-picked and then squashed into +the update commit to ensure we retain them. + +== Ubuntu modifications == + +We carry a very small delta to the upstream aufs2 source. Any such changes +need to be cherry-picked from the history and squashed into any update +commit in order to prevent regression. Any current patches are listed below: + +Lucid/Maverick/Natty/Oneiric: + UBUNTU: ubuntu: AUFS -- suppress benign plink warning messages --- linux-lts-quantal-3.5.0.orig/ubuntu/aufs/cpup.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/opts.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/export.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dbgaufs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/magic.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/branch.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/debug.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dentry.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dcsub.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/vdir.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/ioctl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/i_op_ren.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/sysaufs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/debug.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/spl.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/loop.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/dir.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/i_op_add.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/BOM +++ linux-lts-quantal-3.5.0/ubuntu/aufs/BOM @@ -0,0 +1,3 @@ +URL: git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git +CHANGELOG: +COMMIT: 18e455787597579fe144cdb2f18aa6a0a32c46a4 --- linux-lts-quantal-3.5.0.orig/ubuntu/aufs/sysrq.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/hnotify.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/opts.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/iinfo.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/vfsub.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/vfsub.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/sysfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/wkq.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/aufs/branch.c +++ linux-lts-quantal-3.5.0/ubuntu/aufs/branch.c @@ -0,0 +1,1169 @@ +/* + * 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 management + */ + +#include +#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-lts-quantal-3.5.0.orig/ubuntu/alx/alx_ethtool.c +++ linux-lts-quantal-3.5.0/ubuntu/alx/alx_ethtool.c @@ -0,0 +1,1802 @@ +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "alx_reg.h" +#include "alx_hw.h" +#include "alx.h" + + +static int alx_get_settings(struct net_device *netdev, + struct ethtool_cmd *ecmd) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + + ecmd->supported = (SUPPORTED_10baseT_Half | + SUPPORTED_10baseT_Full | + SUPPORTED_100baseT_Half | + SUPPORTED_100baseT_Full | + SUPPORTED_Autoneg | + SUPPORTED_TP | + SUPPORTED_Pause); + if (ALX_CAP(hw, GIGA)) + ecmd->supported |= SUPPORTED_1000baseT_Full; + + ecmd->advertising = ADVERTISED_TP; + if (hw->adv_cfg & ADVERTISED_Autoneg) + ecmd->advertising |= hw->adv_cfg; + + ecmd->port = PORT_TP; + ecmd->phy_address = 0; + ecmd->autoneg = (hw->adv_cfg & ADVERTISED_Autoneg) ? + AUTONEG_ENABLE : AUTONEG_DISABLE; + ecmd->transceiver = XCVR_INTERNAL; + + if (hw->flowctrl & ALX_FC_ANEG && + hw->adv_cfg & ADVERTISED_Autoneg) { + if (hw->flowctrl & ALX_FC_RX) { + ecmd->advertising |= ADVERTISED_Pause; + if (!(hw->flowctrl & ALX_FC_TX)) + ecmd->advertising |= ADVERTISED_Asym_Pause; + } else if (hw->flowctrl & ALX_FC_TX) + ecmd->advertising |= ADVERTISED_Asym_Pause; + } + + if (hw->link_up) { + ethtool_cmd_speed_set(ecmd, hw->link_speed); + ecmd->duplex = hw->link_duplex == FULL_DUPLEX ? + DUPLEX_FULL : DUPLEX_HALF; + } else { + ethtool_cmd_speed_set(ecmd, -1); + ecmd->duplex = -1; + } + + return 0; +} + +static int alx_set_settings(struct net_device *netdev, + struct ethtool_cmd *ecmd) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + u32 adv_cfg; + int err = 0; + + while (test_and_set_bit(ALX_FLAG_RESETING, &adpt->flags)) + msleep(20); + + if (ecmd->autoneg == AUTONEG_ENABLE) { + if (ecmd->advertising & ADVERTISED_1000baseT_Half) { + dev_warn(&adpt->pdev->dev, "1000M half is invalid\n"); + ALX_FLAG_CLEAR(adpt, RESETING); + return -EINVAL; + } + adv_cfg = ecmd->advertising | ADVERTISED_Autoneg; + } else { + int speed = ethtool_cmd_speed(ecmd); + + switch (speed + ecmd->duplex) { + case SPEED_10 + DUPLEX_HALF: + adv_cfg = ADVERTISED_10baseT_Half; + break; + case SPEED_10 + DUPLEX_FULL: + adv_cfg = ADVERTISED_10baseT_Full; + break; + case SPEED_100 + DUPLEX_HALF: + adv_cfg = ADVERTISED_100baseT_Half; + break; + case SPEED_100 + DUPLEX_FULL: + adv_cfg = ADVERTISED_100baseT_Full; + break; + default: + err = -EINVAL; + break; + } + } + + if (!err) { + hw->adv_cfg = adv_cfg; + err = alx_setup_speed_duplex(hw, adv_cfg, hw->flowctrl); + if (err) { + dev_warn(&adpt->pdev->dev, + "config PHY speed/duplex failed,err=%d\n", + err); + err = -EIO; + } + } + + ALX_FLAG_CLEAR(adpt, RESETING); + + return err; +} + +static void alx_get_pauseparam(struct net_device *netdev, + struct ethtool_pauseparam *pause) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + + if (hw->flowctrl & ALX_FC_ANEG && + hw->adv_cfg & ADVERTISED_Autoneg) + pause->autoneg = AUTONEG_ENABLE; + else + pause->autoneg = AUTONEG_DISABLE; + + if (hw->flowctrl & ALX_FC_TX) + pause->tx_pause = 1; + else + pause->tx_pause = 0; + + if (hw->flowctrl & ALX_FC_RX) + pause->rx_pause = 1; + else + pause->rx_pause = 0; +} + + +static int alx_set_pauseparam(struct net_device *netdev, + struct ethtool_pauseparam *pause) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + int err = 0; + bool reconfig_phy = false; + u8 fc = 0; + + if (pause->tx_pause) + fc |= ALX_FC_TX; + if (pause->rx_pause) + fc |= ALX_FC_RX; + if (pause->autoneg) + fc |= ALX_FC_ANEG; + + while (test_and_set_bit(ALX_FLAG_RESETING, &adpt->flags)) + msleep(20); + + /* restart auto-neg for auto-mode */ + if (hw->adv_cfg & ADVERTISED_Autoneg) { + if (!((fc ^ hw->flowctrl) & ALX_FC_ANEG)) + reconfig_phy = true; + if (fc & hw->flowctrl & ALX_FC_ANEG && + (fc ^ hw->flowctrl) & (ALX_FC_RX | ALX_FC_TX)) + reconfig_phy = true; + } + + if (reconfig_phy) { + err = alx_setup_speed_duplex(hw, hw->adv_cfg, fc); + if (err) { + dev_warn(&adpt->pdev->dev, + "config PHY flow control failed,err=%d\n", + err); + err = -EIO; + } + } + + /* flow control on mac */ + if ((fc ^ hw->flowctrl) & (ALX_FC_RX | ALX_FC_TX)) + alx_cfg_mac_fc(hw, fc); + + hw->flowctrl = fc; + + ALX_FLAG_CLEAR(adpt, RESETING); + + return err; +} + +static u32 alx_get_msglevel(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + return adpt->msg_enable; +} + +static void alx_set_msglevel(struct net_device *netdev, u32 data) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + adpt->msg_enable = data; +} + +static const u32 hw_regs[] = { + ALX_DEV_CAP, ALX_DEV_CTRL, ALX_LNK_CAP, ALX_LNK_CTRL, + ALX_UE_SVRT, ALX_EFLD, ALX_SLD, ALX_PPHY_MISC1, + ALX_PPHY_MISC2, ALX_PDLL_TRNS1, + ALX_TLEXTN_STATS, ALX_EFUSE_CTRL, ALX_EFUSE_DATA, ALX_SPI_OP1, + ALX_SPI_OP2, ALX_SPI_OP3, ALX_EF_CTRL, ALX_EF_ADDR, + ALX_EF_DATA, ALX_SPI_ID, + ALX_SPI_CFG_START, ALX_PMCTRL, ALX_LTSSM_CTRL, ALX_MASTER, + ALX_MANU_TIMER, ALX_IRQ_MODU_TIMER, ALX_PHY_CTRL, ALX_MAC_STS, + ALX_MDIO, ALX_MDIO_EXTN, + ALX_PHY_STS, ALX_BIST0, ALX_BIST1, ALX_SERDES, + ALX_LED_CTRL, ALX_LED_PATN, ALX_LED_PATN2, ALX_SYSALV, + ALX_PCIERR_INST, ALX_LPI_DECISN_TIMER, + ALX_LPI_CTRL, ALX_LPI_WAIT, ALX_HRTBT_VLAN, ALX_HRTBT_CTRL, + ALX_RXPARSE, ALX_MAC_CTRL, ALX_GAP, ALX_STAD1, + ALX_LED_CTRL, ALX_HASH_TBL0, + ALX_HASH_TBL1, ALX_HALFD, ALX_DMA, ALX_WOL0, + ALX_WOL1, ALX_WOL2, ALX_WRR, ALX_HQTPD, + ALX_CPUMAP1, ALX_CPUMAP2, + ALX_MISC, ALX_RX_BASE_ADDR_HI, ALX_RFD_ADDR_LO, ALX_RFD_RING_SZ, + ALX_RFD_BUF_SZ, ALX_RRD_ADDR_LO, ALX_RRD_RING_SZ, + ALX_RFD_PIDX, ALX_RFD_CIDX, ALX_RXQ0, + ALX_RXQ1, ALX_RXQ2, ALX_RXQ3, ALX_TX_BASE_ADDR_HI, + ALX_TPD_PRI0_ADDR_LO, ALX_TPD_PRI1_ADDR_LO, + ALX_TPD_PRI2_ADDR_LO, ALX_TPD_PRI3_ADDR_LO, + ALX_TPD_PRI0_PIDX, ALX_TPD_PRI1_PIDX, + ALX_TPD_PRI2_PIDX, ALX_TPD_PRI3_PIDX, ALX_TPD_PRI0_CIDX, + ALX_TPD_PRI1_CIDX, ALX_TPD_PRI2_CIDX, ALX_TPD_PRI3_CIDX, + ALX_TPD_RING_SZ, ALX_TXQ0, ALX_TXQ1, ALX_TXQ2, + ALX_MSI_MAP_TBL1, ALX_MSI_MAP_TBL2, ALX_MSI_ID_MAP, + ALX_MSIX_MASK, ALX_MSIX_PENDING, + ALX_RSS_HASH_VAL, ALX_RSS_HASH_FLAG, ALX_RSS_BASE_CPU_NUM, +}; + +static int alx_get_regs_len(struct net_device *netdev) +{ + return (ARRAY_SIZE(hw_regs) + 0x20) * 4; +} + +static void alx_get_regs(struct net_device *netdev, + struct ethtool_regs *regs, void *buff) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + u32 *p = buff; + int i; + + regs->version = (ALX_DID(hw) << 16) | (ALX_REVID(hw) << 8) | 1; + + memset(buff, 0, (ARRAY_SIZE(hw_regs) + 0x20) * 4); + + for (i = 0; i < ARRAY_SIZE(hw_regs); i++, p++) + ALX_MEM_R32(hw, hw_regs[i], p); + + /* last 0x20 for PHY register */ + for (i = 0; i < 0x20; i++) { + alx_read_phy_reg(hw, i, (u16 *)p); + p++; + } +} + +static void alx_get_wol(struct net_device *netdev, + struct ethtool_wolinfo *wol) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + + wol->supported = WAKE_MAGIC | WAKE_PHY; + wol->wolopts = 0; + + if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) + wol->wolopts |= WAKE_MAGIC; + if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) + wol->wolopts |= WAKE_PHY; + + netif_info(adpt, wol, adpt->netdev, + "wolopts = %x\n", + wol->wolopts); +} + +static int alx_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + + if (wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE | + WAKE_UCAST | WAKE_BCAST | WAKE_MCAST)) + return -EOPNOTSUPP; + + hw->sleep_ctrl = 0; + + if (wol->wolopts & WAKE_MAGIC) + hw->sleep_ctrl |= ALX_SLEEP_WOL_MAGIC; + if (wol->wolopts & WAKE_PHY) + hw->sleep_ctrl |= ALX_SLEEP_WOL_PHY; + + netdev_info(adpt->netdev, "wol-ctrl=%X\n", hw->sleep_ctrl); + + device_set_wakeup_enable(&adpt->pdev->dev, hw->sleep_ctrl); + + return 0; +} + +static int alx_nway_reset(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + if (netif_running(netdev)) + alx_reinit(adpt, false); + + return 0; +} + +static const char alx_gstrings_test[][ETH_GSTRING_LEN] = { + "register test (offline)", + "memory test (offline)", + "interrupt test (offline)", + "loopback test (offline)", + "link test (offline)" +}; +#define ALX_TEST_LEN (sizeof(alx_gstrings_test) / ETH_GSTRING_LEN) + +/* private flags */ +#define ALX_ETH_PF_LNK_10MH BIT(0) +#define ALX_ETH_PF_LNK_10MF BIT(1) +#define ALX_ETH_PF_LNK_100MH BIT(2) +#define ALX_ETH_PF_LNK_100MF BIT(3) +#define ALX_ETH_PF_LNK_1000MF BIT(4) +#define ALX_ETH_PF_LNK_MASK (\ + ALX_ETH_PF_LNK_10MH |\ + ALX_ETH_PF_LNK_10MF |\ + ALX_ETH_PF_LNK_100MH |\ + ALX_ETH_PF_LNK_100MF |\ + ALX_ETH_PF_LNK_1000MF) + +static const char alx_gstrings_stats[][ETH_GSTRING_LEN] = { + "rx_packets", + "rx_bcast_packets", + "rx_mcast_packets", + "rx_pause_packets", + "rx_ctrl_packets", + "rx_fcs_errors", + "rx_length_errors", + "rx_bytes", + "rx_runt_packets", + "rx_fragments", + "rx_64B_or_less_packets", + "rx_65B_to_127B_packets", + "rx_128B_to_255B_packets", + "rx_256B_to_511B_packets", + "rx_512B_to_1023B_packets", + "rx_1024B_to_1518B_packets", + "rx_1519B_to_mtu_packets", + "rx_oversize_packets", + "rx_rxf_ov_drop_packets", + "rx_rrd_ov_drop_packets", + "rx_align_errors", + "rx_bcast_bytes", + "rx_mcast_bytes", + "rx_address_errors", + "tx_packets", + "tx_bcast_packets", + "tx_mcast_packets", + "tx_pause_packets", + "tx_exc_defer_packets", + "tx_ctrl_packets", + "tx_defer_packets", + "tx_bytes", + "tx_64B_or_less_packets", + "tx_65B_to_127B_packets", + "tx_128B_to_255B_packets", + "tx_256B_to_511B_packets", + "tx_512B_to_1023B_packets", + "tx_1024B_to_1518B_packets", + "tx_1519B_to_mtu_packets", + "tx_single_collision", + "tx_multiple_collisions", + "tx_late_collision", + "tx_abort_collision", + "tx_underrun", + "tx_trd_eop", + "tx_length_errors", + "tx_trunc_packets", + "tx_bcast_bytes", + "tx_mcast_bytes", + "tx_update", +}; + +#define ALX_STATS_LEN (sizeof(alx_gstrings_stats) / ETH_GSTRING_LEN) + +static void alx_get_strings(struct net_device *netdev, u32 stringset, u8 *buf) +{ + switch (stringset) { + case ETH_SS_TEST: + memcpy(buf, &alx_gstrings_test, sizeof(alx_gstrings_test)); + break; + case ETH_SS_STATS: + memcpy(buf, &alx_gstrings_stats, sizeof(alx_gstrings_stats)); + break; + } +} + +static int alx_get_sset_count(struct net_device *netdev, int sset) +{ + switch (sset) { + case ETH_SS_STATS: + return ALX_STATS_LEN; + case ETH_SS_TEST: + return ALX_TEST_LEN; + default: + return -ENOTSUPP; + } +} + +struct alx_reg_attr { + u16 reg; + u32 ro_mask; + u32 rw_mask; + u32 rc_mask; + u32 rst_val; + u8 rst_affect; +}; + +struct alx_reg_attr ar816x_regs_a[] = { + {0x1400, 0xffff80E0, 0x4D00, 0x0, 0x40020000, 0}, + {0x1404, 0x0, 0xffffffff, 0x0, 0x0, 1}, + {0x1408, 0x0, 0xffffffff, 0x0, 0x0, 1}, + {0x140c, 0xFFFF0000, 0x0, 0x0, 0xffff3800, 0}, + {0x1410, 0xffffffff, 0x0, 0x0, 0x0000, 0}, + {0x1414, 0x0, 0x0, 0x0, 0x0, 1}, + {0x141C, 0xfffffffe, 0x0, 0x0, 0x0, 1}, + {0x1420, 0xfffffffe, 0x0, 0x0, 0x0, 1}, + {0x1484, 0x0, 0x7f7f7f7f, 0x0, 0x60405060, 1}, + {0x1490, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1494, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1498, 0x0, 0xffff3ff, 0x0, 0x07a1f037, 1}, + {0x149C, 0xffff0000, 0xffff, 0x0, 0x600, 1}, + {0x14a0, 0x808078c0, 0x7f803f, 0x7f000700, 0x0, 1}, + {0x14a4, 0x0, 0xFFFFFFFF, 0x0, 0x0, 1}, + {0x14a8, 0xFF000000, 0x00FFFFFF, 0x0, 0x0, 1}, + {0x1540, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1544, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1550, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1560, 0xFFFFF000, 0xfff, 0x0, 0x0, 0}, + {0x1564, 0xFFFF0000, 0xffff, 0x0, 0x0, 0}, + {0x1568, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1578, 0xFFFFF000, 0xfff, 0x0, 0x0, 0}, + {0x157C, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1580, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1584, 0xFFFF0000, 0xffff, 0x0, 0x0, 0}, + {0x1588, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1590, 0xFF00, 0xFFFF00DF, 0x0, 0x01000045, 1}, + {0x1594, 0xFFFFF800, 0x7FF, 0x0, 191, 1}, + {0x15A0, 0x200E0040, 0x5FF1FFBF, 0x0, 0x40810083, 1}, + {0x15A4, 0xFFFFF000, 0xFFF, 0x0, 0x1210, 1}, + {0x15A8, 0xF000F000, 0x0FFF0FFF, 0x0, 0x02E003C0, 1}, + {0x15AC, 0xF000, 0xFFFF0FFF, 0x0, 0x0100, 1}, + {0x15C4, 0xFF000000, 0xFFFFFF, 0x0, 0x0, 1}, + {0x15C8, 0xFFFF0000, 0xFFFF, 0x0, 0x0100, 1}, + {0x15E0, 0xFFFFF000, 0xFFF, 0x0, 0x0, 1}, + {0x15F0, 0x0, 0xFFFFFFFF, 0x0, 0x0, 1}, + {0x15F4, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x15F8, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x15FC, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x1700, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1704, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1708, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x170c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1710, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1714, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1718, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x171c, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1720, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1724, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1728, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x172c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1730, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1734, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1738, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x173c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1740, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1744, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1748, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x174c, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x1750, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1754, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1758, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x175c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1760, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1764, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1768, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x176c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1770, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x1774, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1778, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x177c, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1780, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1784, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1788, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x178c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1790, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1794, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1798, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x179c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a0, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a4, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a8, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17ac, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b0, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b4, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b8, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17bc, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x17c0, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0xffff, 0, 0, 0, 0, 0}, +}; + +struct alx_reg_attr ar816x_regs_b[] = { + {0x1400, 0xffff80E0, 0x4D00, 0x0, 0x40020000, 0}, + {0x1404, 0x0, 0xffffffff, 0x0, 0x0, 1}, + {0x1408, 0x0, 0xffffffff, 0x0, 0x0, 1}, + {0x140c, 0xFFFF0000, 0x0, 0x0, 0xffff3800, 0}, + {0x1410, 0xffffffff, 0x0, 0x0, 0x0000, 0}, + {0x1414, 0x0, 0x0, 0x0, 0x0, 1}, + {0x141C, 0xfffffffe, 0x0, 0x0, 0x0, 1}, + {0x1420, 0xfffffffe, 0x0, 0x0, 0x0, 1}, + {0x1484, 0x0, 0x7f7f7f7f, 0x0, 0x60405018, 1}, + {0x1490, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1494, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1498, 0x0, 0xffff3ff, 0x0, 0x07a1f037, 1}, + {0x149C, 0xffff0000, 0xffff, 0x0, 0x600, 1}, + {0x14a0, 0x808078c0, 0x7f803f, 0x7f000700, 0x0, 1}, + {0x14a4, 0x0, 0xFFFFFFFF, 0x0, 0x0, 1}, + {0x14a8, 0xFF000000, 0x00FFFFFF, 0x0, 0x0, 1}, + {0x1540, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1544, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1550, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1560, 0xFFFFF000, 0xfff, 0x0, 0x0, 0}, + {0x1564, 0xFFFF0000, 0xffff, 0x0, 0x0, 0}, + {0x1568, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1578, 0xFFFFF000, 0xfff, 0x0, 0x0, 0}, + {0x157C, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1580, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1584, 0xFFFF0000, 0xffff, 0x0, 0x0, 0}, + {0x1588, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1590, 0xFF00, 0xFFFF00DF, 0x0, 0x01000045, 1}, + {0x1594, 0xFFFFF800, 0x7FF, 0x0, 191, 1}, + {0x15A0, 0x200E0040, 0x5FF1FFBF, 0x0, 0x40810083, 1}, + {0x15A4, 0xFFFFF000, 0xFFF, 0x0, 0x1210, 1}, + {0x15A8, 0xF000F000, 0x0FFF0FFF, 0x0, 0x02E003C0, 1}, + {0x15AC, 0xF000, 0xFFFF0FFF, 0x0, 0x0100, 1}, + {0x15C4, 0xFF000000, 0xFFFFFF, 0x0, 0x0, 1}, + {0x15C8, 0xFFFF0000, 0xFFFF, 0x0, 0x0100, 1}, + {0x15E0, 0xFFFFF000, 0xFFF, 0x0, 0x0, 1}, + {0x15F0, 0x0, 0xFFFFFFFF, 0x0, 0x0, 1}, + {0x15F4, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x15F8, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x15FC, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x1700, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1704, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1708, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x170c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1710, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1714, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1718, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x171c, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1720, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1724, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1728, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x172c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1730, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1734, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1738, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x173c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1740, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1744, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1748, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x174c, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x1750, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1754, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1758, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x175c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1760, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1764, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1768, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x176c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1770, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x1774, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1778, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x177c, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1780, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1784, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1788, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x178c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1790, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1794, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1798, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x179c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a0, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a4, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a8, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17ac, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b0, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b4, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b8, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17bc, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x17c0, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0xffff, 0, 0, 0, 0, 0}, +}; + +struct alx_reg_attr ar816x_regs_c[] = { + {0x1400, 0xffff80E0, 0x4D00, 0x0, 0x40020000, 0}, + {0x1404, 0x0, 0xffffffff, 0x0, 0x0, 1}, + {0x1408, 0x0, 0xffffffff, 0x0, 0x0, 1}, + {0x140c, 0xFFFF0000, 0x0, 0x0, 0xffff3800, 0}, + {0x1410, 0xffffffff, 0x0, 0x0, 0x0000, 0}, + {0x1414, 0x0, 0x0, 0x0, 0x0, 1}, + {0x141C, 0xfffffffe, 0x0, 0x0, 0x0, 1}, + {0x1420, 0xfffffffe, 0x0, 0x0, 0x0, 1}, + {0x1484, 0x0, 0x7f7f7f7f, 0x0, 0x60405018, 1}, + {0x1490, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1494, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1498, 0x0, 0xffff3ff, 0x0, 0x07a1f037, 1}, + {0x149C, 0xffff0000, 0xffff, 0x0, 0x600, 1}, + {0x14a0, 0x808078c0, 0x7f803f, 0x7f000700, 0x0, 1}, + {0x14a4, 0x0, 0xFFFFFFFF, 0x0, 0x0, 1}, + {0x14a8, 0xFF000000, 0x00FFFFFF, 0x0, 0x0, 1}, + {0x1540, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1544, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1550, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1560, 0xFFFFF000, 0xfff, 0x0, 0x0, 0}, + {0x1564, 0xFFFF0000, 0xffff, 0x0, 0x0, 0}, + {0x1568, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1578, 0xFFFFF000, 0xfff, 0x0, 0x0, 0}, + {0x157C, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1580, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1584, 0xFFFF0000, 0xffff, 0x0, 0x0, 0}, + {0x1588, 0x0, 0xffffffff, 0x0, 0x0, 0}, + {0x1590, 0xFF00, 0xFFFF00DF, 0x0, 0x01000045, 1}, + {0x1594, 0xFFFFF800, 0x7FF, 0x0, 191, 1}, + {0x15A0, 0x200E0040, 0x5FF1FFBF, 0x0, 0x40810083, 1}, + {0x15A4, 0xFFFFF000, 0xFFF, 0x0, 0x1210, 1}, + {0x15A8, 0xF000F000, 0x0FFF0FFF, 0x0, 0x02E009C0, 1}, + {0x15AC, 0xF000, 0xFFFF0FFF, 0x0, 0x0100, 1}, + {0x15C4, 0xFF000000, 0xFFFFFF, 0x0, 0x0, 1}, + {0x15C8, 0xFFFF0000, 0xFFFF, 0x0, 0x0100, 1}, + {0x15E0, 0xFFFFF000, 0xFFF, 0x0, 0x0, 1}, + {0x15F0, 0x0, 0xFFFFFFFF, 0x0, 0x0, 1}, + {0x15F4, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x15F8, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x15FC, 0xFFFFFFFF, 0x0, 0x0, 0x0, 1}, + {0x1700, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1704, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1708, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x170c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1710, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1714, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1718, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x171c, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1720, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1724, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1728, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x172c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1730, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1734, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1738, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x173c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1740, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1744, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1748, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x174c, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x1750, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1754, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1758, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x175c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1760, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1764, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1768, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x176c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1770, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x1774, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1778, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x177c, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x1780, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1784, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1788, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x178c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1790, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1794, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x1798, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x179c, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a0, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a4, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17a8, 0xffffffff, 0x0, 0xffffff, 0x0, 1}, + {0x17ac, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b0, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b4, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17b8, 0xffffffff, 0x0, 0xffff, 0x0, 1}, + {0x17bc, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0x17c0, 0xffffffff, 0x0, 0xffffffff, 0x0, 1}, + {0xffff, 0, 0, 0, 0, 0}, +}; + +static int alx_diag_register(struct alx_adapter *adpt, u64 *data) +{ + struct alx_hw *hw = &adpt->hw; + u8 rev = ALX_REVID(hw); + struct alx_reg_attr *preg, *oreg; + u32 val, old; + + switch (ALX_DID(hw)) { + case ALX_DEV_ID_AR8161: + case ALX_DEV_ID_AR8162: + case ALX_DEV_ID_AR8171: + case ALX_DEV_ID_AR8172: + if (rev == ALX_REV_B0) + oreg = ar816x_regs_b; + else if (rev == ALX_REV_C0) + oreg = ar816x_regs_c; + else + oreg = ar816x_regs_a; + break; + default: + /* unknow type */ + *data = 1; + return -EIO; + } + + /* issue a MAC-reset */ + ALX_MEM_W32(hw, ALX_MASTER, ALX_MASTER_DMA_MAC_RST); + msleep(50); + + /* check reset value */ + preg = oreg; + while (preg->reg != 0xffff) { + if (preg->rst_affect) { + ALX_MEM_R32(hw, preg->reg, &val); + if (val != preg->rst_val) { + netif_err(adpt, hw, adpt->netdev, + "register %X, hard-rst:%X, read-val:%X\n", + preg->reg, preg->rst_val, val); + *data = 2; + return -EIO; + } + } + preg++; + } + + /* check read-clear/read-write attribute */ + preg = oreg; + + while (preg->reg != 0xffff) { + ALX_MEM_R32(hw, preg->reg, &old); + + /* read clear */ + if (preg->rc_mask) { + u32 v2; + + msleep(20); + ALX_MEM_R32(hw, preg->reg, &v2); + if ((v2 & preg->rc_mask) != 0) { + netif_err(adpt, hw, adpt->netdev, + "register %X, RC-mask:%X, Old:%X, New:%X\n", + preg->reg, preg->rc_mask, old, v2); + *data = 3; + return -EIO; + } + } + + /* read/write */ + ALX_MEM_W32(hw, preg->reg, 0xffffffff & preg->rw_mask); + ALX_MEM_FLUSH(hw); + ALX_MEM_R32(hw, preg->reg, &val); + if ((val & preg->rw_mask) != preg->rw_mask) { + netif_err(adpt, hw, adpt->netdev, + "register %X, RW-mask:%X, val-1:%X\n", + preg->reg, preg->rw_mask, val); + *data = 4; + return -EIO; + } + ALX_MEM_W32(hw, preg->reg, 0); + ALX_MEM_FLUSH(hw); + ALX_MEM_R32(hw, preg->reg, &val); + if ((val & preg->rw_mask) != 0) { + netif_err(adpt, hw, adpt->netdev, + "register %X, RW-mask:%X, val-0:%X\n", + preg->reg, preg->rw_mask, val); + *data = 4; + return -EIO; + } + + /* restore */ + ALX_MEM_W32(hw, preg->reg, old); + + preg++; + } + + return 0; +} + +static int alx_diag_sram(struct alx_adapter *adpt, u64 *data) +{ + struct alx_hw *hw = &adpt->hw; + u32 ret[2]; + int i, err; + + err = alx_reset_mac(hw); + if (err) { + netif_err(adpt, hw, adpt->netdev, "reset_mac fail %d\n", err); + *data = 1; + goto out; + } + /* issue bist command */ + ALX_MEM_W32(hw, ALX_BIST0, ALX_BIST0_START); + ALX_MEM_W32(hw, ALX_BIST1, ALX_BIST1_START); + + /* wait for 100ms */ + ret[1] = ret[0] = 0; + for (i = 0; i < 5; i++) { + msleep(20); + ALX_MEM_R32(hw, ALX_BIST0, &ret[0]); + ALX_MEM_R32(hw, ALX_BIST1, &ret[1]); + if (ret[0] & ALX_BIST0_START || ret[1] & ALX_BIST1_START) + continue; + else + break; + } + + for (i = 0; i < 2; i++) { + if (ret[i] & ALX_BIST0_START) { + netif_err(adpt, hw, adpt->netdev, + "sram(%d) bist not complete(%X)!\n", + i, ret[i]); + *data = 2; + err = -EIO; + goto out; + } + if (ret[i] & ALX_BIST0_FAIL) { + netif_err(adpt, hw, adpt->netdev, + "sram(%d) bist fail(%X)!\n", + i, ret[i]); + *data = 3; + err = -EIO; + goto out; + } + } +out: + return err; +} + +static int alx_diag_reset(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + int err; + + alx_reset_pcie(hw); + alx_reset_phy(hw, !hw->hib_patch); + err = alx_reset_mac(hw); + if (!err) + err = alx_setup_speed_duplex(hw, hw->adv_cfg, hw->flowctrl); + + if (err) { + netif_err(adpt, hw, adpt->netdev, "alx_diag_reset err %X\n", + err); + } + + return err; +} + +static int alx_diag_link(struct alx_adapter *adpt, u64 *data) +{ + struct alx_hw *hw = &adpt->hw; + u32 flags, ethadv; + u16 speed; + u8 fc; + int i, err; + + ethadv = ADVERTISED_Autoneg; + flags = adpt->eth_pflags & ALX_ETH_PF_LNK_MASK; + if (flags == 0) + flags = ALX_ETH_PF_LNK_MASK; + if (flags & ALX_ETH_PF_LNK_10MH) + ethadv |= ADVERTISED_10baseT_Half; + if (flags & ALX_ETH_PF_LNK_10MF) + ethadv |= ADVERTISED_10baseT_Full; + if (flags & ALX_ETH_PF_LNK_100MH) + ethadv |= ADVERTISED_100baseT_Half; + if (flags & ALX_ETH_PF_LNK_100MF) + ethadv |= ADVERTISED_100baseT_Full; + if (flags & ALX_ETH_PF_LNK_1000MF) + ethadv |= ADVERTISED_1000baseT_Full; + + fc = ALX_FC_ANEG | ALX_FC_RX | ALX_FC_TX; + + alx_reset_phy(hw, !hw->hib_patch); + err = alx_setup_speed_duplex(hw, ethadv, fc); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "config PHY speed/duplex failed, adv=%X,err=%d\n", + ethadv, err); + *data = 1; + goto out; + } + + /* wait for linkup */ + for (i = 0; i < ALX_MAX_SETUP_LNK_CYCLE; i++) { + bool link_up; + + msleep(100); + err = alx_get_phy_link(hw, &link_up, &speed); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "get PHY speed/duplex failed,err=%d\n", + err); + *data = 2; + goto out; + } + if (link_up) + break; + } + if (i == ALX_MAX_SETUP_LNK_CYCLE) { + err = ALX_LINK_TIMEOUT; + netif_err(adpt, hw, adpt->netdev, + "get PHY speed/duplex timeout.\n"); + *data = 3; + goto out; + } + + netif_info(adpt, hw, adpt->netdev, "link:%s\n", speed_desc(speed)); + +out: + return err; +} + +static irqreturn_t alx_diag_msix_isr(int irq, void *data) +{ + struct alx_adapter *adpt = data; + struct alx_hw *hw = &adpt->hw; + u32 intr; + int i, vect = -1; + + for (i = 0; i < adpt->nr_vec; i++) + if (irq == adpt->msix_ent[i].vector) { + vect = i; + break; + } + if (vect == -1) { + netdev_err(adpt->netdev, "vector not found irq=%d\n", irq); + goto err_out; + } + if (adpt->eth_diag_vect != vect) { + netdev_err(adpt->netdev, "wrong msix interrupt, irq=%d\n", irq); + goto err_out; + } + + alx_mask_msix(hw, vect, true); + + ALX_MEM_R32(hw, ALX_ISR, &intr); + ALX_MEM_W32(hw, ALX_ISR, intr); + + alx_mask_msix(hw, vect, false); + + adpt->eth_diag_cnt++; + return IRQ_HANDLED; + +err_out: + + ALX_MEM_W32(hw, ALX_IMR, 0); + return IRQ_HANDLED; +} + +static irqreturn_t alx_diag_msi_isr(int irq, void *data) +{ + struct alx_adapter *adpt = data; + struct alx_hw *hw = &adpt->hw; + u32 intr; + + ALX_MEM_R32(hw, ALX_ISR, &intr); + ALX_MEM_W32(hw, ALX_ISR, intr | ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_ISR, 0); + + if (intr & ALX_ISR_MANU) + adpt->eth_diag_cnt++; + + return IRQ_HANDLED; +} + +static irqreturn_t alx_diag_intx_isr(int irq, void *data) +{ + struct alx_adapter *adpt = data; + struct alx_hw *hw = &adpt->hw; + u32 intr; + + /* read interrupt status */ + ALX_MEM_R32(hw, ALX_ISR, &intr); + if (intr & ALX_ISR_DIS) + return IRQ_NONE; + + ALX_MEM_W32(hw, ALX_ISR, intr | ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_ISR, 0); + + if (intr & ALX_ISR_MANU) + adpt->eth_diag_cnt++; + + return IRQ_HANDLED; +} + +static int alx_diag_msix(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + char irq_lbl[IFNAMSIZ]; + int test_vect, i = 0, err = 0; + u32 val; + + alx_init_intr(adpt); + if (!ALX_FLAG(adpt, USING_MSIX)) + goto out; + + ALX_MEM_W32(hw, ALX_MSI_RETRANS_TIMER, + FIELDX(ALX_MSI_RETRANS_TM, 100)); + ALX_MEM_W32(hw, ALX_MSI_ID_MAP, 0); + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, ALX_ISR_MANU); + + for (i = 0; i < adpt->nr_vec; i++) { + sprintf(irq_lbl, "%s-test-%d", adpt->netdev->name, i); + err = request_irq(adpt->msix_ent[i].vector, alx_diag_msix_isr, + 0, irq_lbl, adpt); + if (err) + goto out; + } + + for (test_vect = 0; test_vect < adpt->nr_vec; test_vect++) { + u32 tbl[2]; + u32 other_vec = test_vect + 1; + + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + + if (other_vec >= adpt->nr_vec) + other_vec = 0; + other_vec |= other_vec << 4; + other_vec |= other_vec << 8; + other_vec |= other_vec << 16; + tbl[1] = other_vec; + tbl[0] = (other_vec & 0x0FFFFFFF) | ((u32)test_vect << 28); + ALX_MEM_W32(hw, ALX_MSI_MAP_TBL1, tbl[0]); + ALX_MEM_W32(hw, ALX_MSI_MAP_TBL2, tbl[1]); + ALX_MEM_W32(hw, ALX_ISR, 0); + ALX_MEM_FLUSH(hw); + + adpt->eth_diag_vect = test_vect; + adpt->eth_diag_cnt = 0; + /* issue a manual interrupt */ + ALX_MEM_R32(hw, ALX_MASTER, &val); + val |= ALX_MASTER_MANU_INT; + ALX_MEM_W32(hw, ALX_MASTER, val); + + /* wait for 50ms */ + msleep(50); + if (adpt->eth_diag_cnt != 1) { + err = -EIO; + goto out; + } + } + +out: + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, 0); + for (i--; i >= 0; i--) { + synchronize_irq(adpt->msix_ent[i].vector); + free_irq(adpt->msix_ent[i].vector, adpt); + } + alx_disable_advanced_intr(adpt); + + return err; +} + + +static int alx_diag_msi(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + struct pci_dev *pdev = adpt->pdev; + unsigned long cap = hw->capability; + u32 val; + bool irq_installed = false; + int err = 0; + + ALX_CAP_CLEAR(hw, MSIX); + alx_init_intr(adpt); + if (!ALX_FLAG(adpt, USING_MSI)) + goto out; + + pci_disable_msix(pdev); + ALX_MEM_W32(hw, ALX_MSI_RETRANS_TIMER, + FIELDX(ALX_MSI_RETRANS_TM, 100) | ALX_MSI_MASK_SEL_LINE); + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, ALX_ISR_MANU); + err = request_irq(pdev->irq, alx_diag_msi_isr, 0, + adpt->netdev->name, adpt); + if (err) + goto out; + + irq_installed = true; + adpt->eth_diag_cnt = 0; + ALX_MEM_W32(hw, ALX_ISR, 0); + ALX_MEM_FLUSH(hw); + ALX_MEM_R32(hw, ALX_MASTER, &val); + val |= ALX_MASTER_MANU_INT; + ALX_MEM_W32(hw, ALX_MASTER, val); + + /* wait for 50ms */ + msleep(50); + if (adpt->eth_diag_cnt != 1) { + err = -EIO; + goto out; + } + +out: + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, 0); + if (irq_installed) { + synchronize_irq(pdev->irq); + free_irq(pdev->irq, adpt); + } + alx_disable_advanced_intr(adpt); + hw->capability = cap; + + return err; +} + +static int alx_diag_intx(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + struct pci_dev *pdev = adpt->pdev; + u32 val; + bool irq_installed = false; + int err = 0; + + pci_disable_msix(pdev); + pci_disable_msi(pdev); + ALX_MEM_W32(hw, ALX_MSI_RETRANS_TIMER, 0); + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, ALX_ISR_MANU); + err = request_irq(pdev->irq, alx_diag_intx_isr, IRQF_SHARED, + adpt->netdev->name, adpt); + if (err) + goto out; + + irq_installed = true; + adpt->eth_diag_cnt = 0; + ALX_MEM_W32(hw, ALX_ISR, 0); + ALX_MEM_FLUSH(hw); + ALX_MEM_R32(hw, ALX_MASTER, &val); + val |= ALX_MASTER_MANU_INT; + ALX_MEM_W32(hw, ALX_MASTER, val); + + /* wait for 50ms */ + msleep(50); + if (adpt->eth_diag_cnt != 1) { + err = -EIO; + goto out; + } + +out: + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, 0); + if (irq_installed) { + synchronize_irq(pdev->irq); + free_irq(pdev->irq, adpt); + } + alx_disable_advanced_intr(adpt); + + return err; +} + +static int alx_diag_interrupt(struct alx_adapter *adpt, u64 *data) +{ + int err; + + err = alx_diag_msix(adpt); + if (err) { + *data = 1; + goto out; + } + err = alx_diag_msi(adpt); + if (err) { + *data = 2; + goto out; + } + err = alx_diag_intx(adpt); + if (err) { + *data = 3; + goto out; + } + +out: + return err; +} + +static int alx_diag_pkt_len[] = {36, 512, 2048}; +static u8 alx_tso_pkt_hdr[] = { +0x08, 0x00, +0x45, 0x00, 0x00, 0x00, +0x00, 0x00, 0x40, 0x00, +0x40, 0x06, 0x00, 0x00, +0xc0, 0xa8, 0x64, 0x0A, +0xc0, 0xa8, 0x64, 0x0B, +0x0d, 0x00, 0xe0, 0x00, +0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x02, 0x00, +0x80, 0x10, 0x10, 0x00, +0x14, 0x09, 0x00, 0x00, +0x08, 0x0a, 0x11, 0x22, +0x33, 0x44, 0x55, 0x66, +0x77, 0x88, 0x01, 0x00, +}; +#define ALX_TSO_IP_HDR_LEN 20 +#define ALX_TSO_IP_OPT_LEN 0 +#define ALX_TSO_TCP_HDR_LEN 20 +#define ALX_TSO_TCP_OPT_LEN 12 + +static void alx_diag_build_pkt(struct sk_buff *skb, u8 *dest_addr, + int seq, bool lso) +{ + struct iphdr *iph; + struct tcphdr *tcph; + int offset; + u8 *pkt_data; + + pkt_data = skb->data; + memcpy(pkt_data, dest_addr, 6); + memset(pkt_data + 6, 0x0, 6); + offset = 2 * ETH_ALEN; + + if (lso) { + iph = (struct iphdr *)&pkt_data[ETH_HLEN]; + offset = ETH_HLEN + ALX_TSO_IP_HDR_LEN + ALX_TSO_IP_OPT_LEN; + tcph = (struct tcphdr *)&pkt_data[offset]; + memcpy(pkt_data + ETH_ALEN * 2, + alx_tso_pkt_hdr, sizeof(alx_tso_pkt_hdr)); + iph->tot_len = htons(skb->len - ETH_HLEN); + iph->check = 0; + tcph->check = ~csum_tcpudp_magic( + iph->saddr, + iph->daddr, + 0, IPPROTO_TCP, 0); + offset = ETH_ALEN * 2 + sizeof(alx_tso_pkt_hdr); + } else { + *(u16 *)&pkt_data[offset] = htons((u16)(skb->len - offset)); + offset += 2; + } + + *(u32 *)&pkt_data[offset] = (u32)seq; + offset += 4; + *(u16 *)&pkt_data[offset] = (u16)skb->len; + for (offset += 2; offset < skb->len; offset++) + pkt_data[offset] = (u8)(offset & 0xFF); +} + +static void alx_diag_rss_shift_key(u8 *pkey, int nkey) +{ + int len = nkey; + int i; + u8 carry = 0; + + for (i = len - 1; i >= 0; i--) { + if (pkey[i] & 0x80) { + pkey[i] = (pkey[i] << 1) | carry; + carry = 1; + } else { + pkey[i] = (pkey[i] << 1) | carry; + carry = 0; + } + } +} + +static int alx_diag_pkt_to_rxq(struct alx_adapter *adpt, struct sk_buff *skb) +{ + struct alx_hw *hw = &adpt->hw; + struct iphdr *iph; + struct tcphdr *tcph; + int i, j, que; + u8 hash_input[12], key[40]; + u32 hash; + + if (!ALX_CAP(hw, RSS) || ntohs(ETH_P_IP) != skb->data[ETH_ALEN * 2]) + return 0; + + iph = (struct iphdr *)&skb->data[ETH_HLEN]; + i = ETH_HLEN + iph->ihl * 4; + tcph = (struct tcphdr *)&skb->data[i]; + *(u32 *)&hash_input[0] = ntohl(be32_to_cpu(iph->saddr)); + *(u32 *)&hash_input[4] = ntohl(be32_to_cpu(iph->daddr)); + *(u16 *)&hash_input[8] = ntohs(be16_to_cpu(tcph->source)); + *(u16 *)&hash_input[10] = ntohs(be16_to_cpu(tcph->dest)); + + /* calcu hash */ + hash = 0; + memcpy(key, hw->rss_key, 40); + for (i = 0; i < 12; i++) { + for (j = 7; j >= 0; j--) { + if (hash_input[i] & (u8)(1 << j)) + hash ^= swab32(*(u32 *)key); + alx_diag_rss_shift_key(key, 40); + } + } + hash &= (hw->rss_idt_size - 1); + i = (int)(hash >> 3); + j = (int)(hash & 7); + que = (int)(hw->rss_idt[i] >> (j * 4) & 0xF); + + return que; +} + +static int alx_diag_rx_pkt(struct alx_adapter *adpt, int rx_qidx, + struct sk_buff **ppskb) +{ + struct alx_rx_queue *rxq; + struct rrd_desc *rrd; + struct alx_buffer *rxb; + struct sk_buff *skb; + u16 length; + int qnum; + + rxq = alx_hw_rxq(adpt->qnapi[rx_qidx]->rxq); + + rrd = rxq->rrd_hdr + rxq->rrd_cidx; + if (!(rrd->word3 & (1 << RRD_UPDATED_SHIFT))) + return 1; + + rrd->word3 &= ~(1 << RRD_UPDATED_SHIFT); + if (unlikely(FIELD_GETX(rrd->word0, RRD_SI) != rxq->cidx || + FIELD_GETX(rrd->word0, RRD_NOR) != 1)) { + netif_err(adpt, rx_err, adpt->netdev, + "wrong SI/NOR packet! rrd->word0= %08x\n", + rrd->word0); + return -1; + } + rxb = rxq->bf_info + rxq->cidx; + dma_unmap_single(rxq->dev, + dma_unmap_addr(rxb, dma), + dma_unmap_len(rxb, size), + DMA_FROM_DEVICE); + dma_unmap_len_set(rxb, size, 0); + skb = rxb->skb; + rxb->skb = NULL; + + if (unlikely(rrd->word3 & (1 << RRD_ERR_RES_SHIFT) || + rrd->word3 & (1 << RRD_ERR_LEN_SHIFT))) { + netif_err(adpt, rx_err, adpt->netdev, + "wrong packet! rrd->word3 is %08x\n", + rrd->word3); + rrd->word3 = 0; + return -2; + } + length = FIELD_GETX(rrd->word3, RRD_PKTLEN) - ETH_FCS_LEN; + skb_put(skb, length); + switch (FIELD_GETX(rrd->word2, RRD_PID)) { + case RRD_PID_IPV6UDP: + case RRD_PID_IPV4UDP: + case RRD_PID_IPV4TCP: + case RRD_PID_IPV6TCP: + if (rrd->word3 & ((1 << RRD_ERR_L4_SHIFT) | + (1 << RRD_ERR_IPV4_SHIFT))) { + netif_err(adpt, rx_err, adpt->netdev, + "rx-chksum error, w2=%X\n", + rrd->word2); + return -3; + } + skb->ip_summed = CHECKSUM_UNNECESSARY; + break; + } + qnum = FIELD_GETX(rrd->word2, RRD_RSSQ) % adpt->nr_rxq; + if (rx_qidx != qnum) { + netif_err(adpt, rx_err, adpt->netdev, + "rx Q-number is wrong (%d:%d), hash=%X,w2=%X\n", + rx_qidx, qnum, rrd->rss_hash, rrd->word2); + return -4; + } + + if (++rxq->cidx == rxq->count) + rxq->cidx = 0; + if (++rxq->rrd_cidx == rxq->count) + rxq->rrd_cidx = 0; + + alx_alloc_rxring_buf(adpt, rxq); + + *ppskb = skb; + return 0; +} + +static int alx_diag_cmp_pkts(struct sk_buff *tx_skb, struct sk_buff *rx_skb, + int mss, int seg_idx) +{ + int cmp_offs, cmp_len; + int hdr_len, tx_datalen; + + if (mss == 0) { + if (rx_skb->len < tx_skb->len || + memcmp(tx_skb->data, rx_skb->data, tx_skb->len)) + return -EIO; + return 0; + } + /* LSO */ + hdr_len = ETH_HLEN + ALX_TSO_IP_HDR_LEN + ALX_TSO_IP_OPT_LEN + + ALX_TSO_TCP_HDR_LEN + ALX_TSO_TCP_OPT_LEN; + tx_datalen = tx_skb->len - hdr_len; + cmp_offs = hdr_len + mss * seg_idx; + cmp_len = tx_skb->len - cmp_offs; + if (cmp_len > mss) + cmp_len = mss; + if (cmp_len > tx_skb->len) + return -EIO; + + return memcmp(&tx_skb->data[cmp_offs], + &rx_skb->data[hdr_len], + cmp_len); +} + +static int alx_diag_lpbk_run_packets(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + struct sk_buff *tx_skb, *rx_skb; + int i, j, pkt_len, max_len, mss; + struct alx_tx_queue *txq; + int q_idx, seg_idx, nr_pkts; + struct tpd_desc *tpd; + dma_addr_t dma; + int err; + + max_len = hw->mtu + ETH_HLEN; + for (i = 0; i < 1000; i++) { + pkt_len = alx_diag_pkt_len[i % ARRAY_SIZE(alx_diag_pkt_len)]; + mss = 0; + nr_pkts = 1; + if (pkt_len > max_len) { + mss = max_len - ETH_ALEN * 2 - sizeof(alx_tso_pkt_hdr); + if (mss < 0) { + mss = 0; + pkt_len = max_len; + } else { + nr_pkts = DIV_ROUND_UP(pkt_len - ETH_ALEN * 2 - + sizeof(alx_tso_pkt_hdr), mss); + } + } + tx_skb = netdev_alloc_skb(adpt->netdev, pkt_len); + if (!tx_skb) + return -ENOMEM; + skb_put(tx_skb, pkt_len); + alx_diag_build_pkt(tx_skb, hw->mac_addr, i, mss != 0); + dma = dma_map_single(&adpt->pdev->dev, tx_skb->data, pkt_len, + DMA_TO_DEVICE); + if (dma_mapping_error(&adpt->pdev->dev, dma)) { + dev_kfree_skb(tx_skb); + return -EIO; + } + + txq = adpt->qnapi[i % adpt->nr_txq]->txq; + tpd = txq->tpd_hdr + txq->pidx; + memset(tpd, 0, sizeof(struct tpd_desc)); + + if (mss) { + tpd->word1 |= 1 << TPD_IPV4_SHIFT; + tpd->word1 |= 1 << TPD_LSO_EN_SHIFT; + tpd->word1 |= FIELDX(TPD_MSS, mss); + tpd->word1 |= FIELDX(TPD_L4HDROFFSET, + ETH_HLEN + + ALX_TSO_IP_HDR_LEN + + ALX_TSO_IP_OPT_LEN); + } + tpd->adrl.addr = cpu_to_le64(dma); + FIELD_SET32(tpd->word0, TPD_BUFLEN, pkt_len); + tpd->word1 |= 1 << TPD_EOP_SHIFT; + + if (++txq->pidx == txq->count) + txq->pidx = 0; + wmb(); + ALX_MEM_W16(hw, txq->p_reg, txq->pidx); + + /* wait packet loopbacked. */ + q_idx = alx_diag_pkt_to_rxq(adpt, tx_skb); + seg_idx = 0; + + for (j = 0; j < 500 && nr_pkts > 0; j++) { + udelay(100); + err = alx_diag_rx_pkt(adpt, q_idx, &rx_skb); + if (err > 0) + continue; + if (err < 0) { + err = -EIO; + goto out; + } + + /* got 1 packet/segment, compare */ + err = alx_diag_cmp_pkts(tx_skb, rx_skb, mss, seg_idx); + dev_kfree_skb(rx_skb); + if (err) { + err = -EIO; + goto out; + } + seg_idx++; + nr_pkts--; + } + if (err) { + err = -EIO; + goto out; + } + dev_kfree_skb(tx_skb); + } + + return 0; + +out: + dma_unmap_single(&adpt->pdev->dev, dma, tx_skb->len, DMA_TO_DEVICE); + dev_kfree_skb(tx_skb); + return err; +} + +enum ALX_LPBK_MODE { + ALX_LPBK_MAC = 0, + ALX_LPBK_PHY, +}; +static int alx_diag_speed[] = {SPEED_1000, SPEED_100, SPEED_10}; + +static int alx_diag_lpbk_init_hw(struct alx_adapter *adpt, int mode, int speed) +{ + struct alx_hw *hw = &adpt->hw; + int i, err; + u32 val; + + alx_reset_pcie(hw); + alx_reset_phy(hw, false); + err = alx_reset_mac(hw); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "loopback: reset mac fail, err=%d\n", err); + goto err_hw; + } + hw->rx_ctrl |= ALX_MAC_CTRL_LPBACK_EN | + ALX_MAC_CTRL_DBG_EN; + + /* PHY configuration */ + if (hw->is_fpga) { + if (mode == ALX_LPBK_MAC) + goto cfg_hw; + netif_err(adpt, hw, adpt->netdev, + "loopback: FPGA not support PHY external lpbk!\n"); + goto err_hw; + } + err = alx_write_phy_reg(hw, 16, 0x0800); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "loopback: fix channel, err=%d\n", err); + goto err_hw; + } + switch (speed) { + case SPEED_1000: + alx_write_phy_dbg(hw, 0x11, 0x5553); + alx_write_phy_reg(hw, MII_BMCR, 0x8140); + break; + case SPEED_100: + alx_write_phy_reg(hw, MII_BMCR, 0xA100); + break; + default: + alx_write_phy_reg(hw, MII_BMCR, 0x8100); + break; + } + msleep(100); + + if (mode == ALX_LPBK_PHY) { + u16 spd; + bool linkup; + + /* wait for link */ + for (i = 0; i < 50; i++) { + msleep(100); + err = alx_get_phy_link(hw, &linkup, &spd); + if (err) + goto err_hw; + if (linkup) + break; + } + if (!linkup) { + netif_err(adpt, hw, adpt->netdev, + "no link, check your External-Loopback-Connector !\n"); + goto err_hw; + } + hw->rx_ctrl &= ~ALX_MAC_CTRL_LPBACK_EN; + } + +cfg_hw: + alx_init_intr(adpt); + alx_init_def_rss_idt(adpt); + err = alx_setup_all_ring_resources(adpt); + if (err) + goto out; + alx_configure(adpt); + /* disable clk gate for loopback */ + ALX_MEM_W32(hw, ALX_CLK_GATE, 0); + /* disable PLL clk switch for loopback */ + ALX_MEM_R32(hw, ALX_PHY_CTRL, &val); + ALX_MEM_W32(hw, ALX_PHY_CTRL, val | ALX_PHY_CTRL_PLL_ON); + hw->link_duplex = FULL_DUPLEX; + hw->link_speed = speed; + hw->link_up = true; + alx_enable_aspm(hw, false, false); + alx_start_mac(hw); + goto out; +err_hw: + err = -EIO; +out: + return err; +} + +static void alx_diag_lpbk_deinit_hw(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + u32 val; + + hw->link_up = false; + hw->link_speed = SPEED_0; + alx_reset_mac(hw); + hw->rx_ctrl &= ~(ALX_MAC_CTRL_LPBACK_EN | ALX_MAC_CTRL_DBG_EN); + alx_enable_aspm(hw, false, false); + alx_free_all_ring_resources(adpt); + alx_disable_advanced_intr(adpt); + /* enable PLL clk switch for loopback */ + ALX_MEM_R32(hw, ALX_PHY_CTRL, &val); + ALX_MEM_W32(hw, ALX_PHY_CTRL, val | ALX_PHY_CTRL_PLL_ON); +} + +static int alx_diag_loopback(struct alx_adapter *adpt, u64 *data, bool phy_lpbk) +{ + struct alx_hw *hw = &adpt->hw; + int i, err; + + if (hw->is_fpga && phy_lpbk) + return 0; + + for (i = 0; i < ARRAY_SIZE(alx_diag_speed); i++) { + err = alx_diag_lpbk_init_hw( + adpt, + phy_lpbk ? ALX_LPBK_PHY : ALX_LPBK_MAC, + alx_diag_speed[i]); + if (err) { + *data = i + 1; + goto out; + } + err = alx_diag_lpbk_run_packets(adpt); + if (err) { + *data = i + 10; + goto out; + } + alx_diag_lpbk_deinit_hw(adpt); + } +out: + if (err) + alx_diag_lpbk_deinit_hw(adpt); + + return err; +} + +static void alx_self_test(struct net_device *netdev, + struct ethtool_test *etest, + u64 *data) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + bool if_running = netif_running(netdev); + bool phy_lpback = etest->flags & ETH_TEST_FL_EXTERNAL_LB; + + ALX_FLAG_SET(adpt, TESTING); + memset(data, 0, sizeof(u64) * ALX_TEST_LEN); + + if (if_running) + dev_close(netdev); + + if (etest->flags == ETH_TEST_FL_OFFLINE) { + netif_info(adpt, hw, adpt->netdev, "offline test start...\n"); + + if (alx_diag_register(adpt, &data[0])) + etest->flags |= ETH_TEST_FL_FAILED; + + if (alx_diag_sram(adpt, &data[1])) + etest->flags |= ETH_TEST_FL_FAILED; + + if (alx_diag_interrupt(adpt, &data[2])) + etest->flags |= ETH_TEST_FL_FAILED; + + if (phy_lpback) + etest->flags |= ETH_TEST_FL_EXTERNAL_LB_DONE; + if (alx_diag_loopback(adpt, &data[3], phy_lpback)) + etest->flags |= ETH_TEST_FL_FAILED; + + } else { + netif_info(adpt, hw, adpt->netdev, "online test start...\n"); + + if (alx_diag_link(adpt, &data[4])) + etest->flags |= ETH_TEST_FL_FAILED; + } + + ALX_FLAG_CLEAR(adpt, TESTING); + alx_diag_reset(adpt); + + if (if_running) + dev_open(netdev); +} + +static void alx_get_ethtool_stats(struct net_device *netdev, + struct ethtool_stats *estats, u64 *data) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + + spin_lock(&adpt->smb_lock); + + __alx_update_hw_stats(hw); + memcpy(data, &hw->stats, sizeof(hw->stats)); + + spin_unlock(&adpt->smb_lock); +} + +static u32 alx_get_priv_flags(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + return adpt->eth_pflags; +} + +static int alx_set_priv_flags(struct net_device *netdev, u32 flags) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + adpt->eth_pflags = flags; + + return 0; +} + +static void alx_get_drvinfo(struct net_device *netdev, + struct ethtool_drvinfo *drvinfo) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + strlcpy(drvinfo->driver, alx_drv_name, sizeof(drvinfo->driver)); + strlcpy(drvinfo->version, alx_drv_version, sizeof(drvinfo->version)); + strlcpy(drvinfo->fw_version, "N/A", sizeof(drvinfo->fw_version)); + strlcpy(drvinfo->bus_info, pci_name(adpt->pdev), + sizeof(drvinfo->bus_info)); + drvinfo->n_stats = ALX_STATS_LEN; + drvinfo->testinfo_len = ALX_TEST_LEN; + drvinfo->n_priv_flags = 5; + drvinfo->regdump_len = alx_get_regs_len(netdev); + drvinfo->eedump_len = 0; +} + +static const struct ethtool_ops alx_ethtool_ops = { + .get_settings = alx_get_settings, + .set_settings = alx_set_settings, + .get_pauseparam = alx_get_pauseparam, + .set_pauseparam = alx_set_pauseparam, + .get_drvinfo = alx_get_drvinfo, + .get_regs_len = alx_get_regs_len, + .get_regs = alx_get_regs, + .get_wol = alx_get_wol, + .set_wol = alx_set_wol, + .get_msglevel = alx_get_msglevel, + .set_msglevel = alx_set_msglevel, + .nway_reset = alx_nway_reset, + .get_link = ethtool_op_get_link, + .get_strings = alx_get_strings, + .get_sset_count = alx_get_sset_count, + .get_ethtool_stats = alx_get_ethtool_stats, + .self_test = alx_self_test, + .get_priv_flags = alx_get_priv_flags, + .set_priv_flags = alx_set_priv_flags, +}; + +void alx_set_ethtool_ops(struct net_device *dev) +{ + SET_ETHTOOL_OPS(dev, &alx_ethtool_ops); +} + --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/alx_reg.h +++ linux-lts-quantal-3.5.0/ubuntu/alx/alx_reg.h @@ -0,0 +1,2295 @@ +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, 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 ALX_REG_H +#define ALX_REG_H + +/**********************************************************************/ +/* following registers are mapped to both pci config and memory space */ +/**********************************************************************/ + +#define ALX_VENDOR_ID PCI_VENDOR_ID_ATTANSIC + +/* pci dev-ids */ +#define ALX_DEV_ID_AR8161 0x1091 +#define ALX_DEV_ID_AR8162 0x1090 +#define ALX_DEV_ID_AR8171 0x10A1 +#define ALX_DEV_ID_AR8172 0x10A0 + +/* rev definition, + * bit(0): with xD support + * bit(1): with Card Reader function + * bit(7:2): real revision + */ +#define ALX_PCI_REVID_WTH_CR BIT(1) +#define ALX_PCI_REVID_WTH_XD BIT(0) +#define ALX_PCI_REVID_MASK 0x1FU +#define ALX_PCI_REVID_SHIFT 3 +#define ALX_REV_A0 0 +#define ALX_REV_A1 1 +#define ALX_REV_B0 2 +#define ALX_REV_C0 3 + +#define ALX_PM_CSR 0x0044 +#define ALX_PM_CSR_PME_STAT BIT(15) +#define ALX_PM_CSR_DSCAL_MASK 0x3U +#define ALX_PM_CSR_DSCAL_SHIFT 13 +#define ALX_PM_CSR_DSEL_MASK 0xFU +#define ALX_PM_CSR_DSEL_SHIFT 9 +#define ALX_PM_CSR_PME_EN BIT(8) +#define ALX_PM_CSR_PWST_MASK 0x3U +#define ALX_PM_CSR_PWST_SHIFT 0 + +#define ALX_DEV_CAP 0x005C +#define ALX_DEV_CAP_SPLSL_MASK 0x3UL +#define ALX_DEV_CAP_SPLSL_SHIFT 26 +#define ALX_DEV_CAP_SPLV_MASK 0xFFUL +#define ALX_DEV_CAP_SPLV_SHIFT 18 +#define ALX_DEV_CAP_RBER BIT(15) +#define ALX_DEV_CAP_PIPRS BIT(14) +#define ALX_DEV_CAP_AIPRS BIT(13) +#define ALX_DEV_CAP_ABPRS BIT(12) +#define ALX_DEV_CAP_L1ACLAT_MASK 0x7UL +#define ALX_DEV_CAP_L1ACLAT_SHIFT 9 +#define ALX_DEV_CAP_L0SACLAT_MASK 0x7UL +#define ALX_DEV_CAP_L0SACLAT_SHIFT 6 +#define ALX_DEV_CAP_EXTAG BIT(5) +#define ALX_DEV_CAP_PHANTOM BIT(4) +#define ALX_DEV_CAP_MPL_MASK 0x7UL +#define ALX_DEV_CAP_MPL_SHIFT 0 +#define ALX_DEV_CAP_MPL_128 1 +#define ALX_DEV_CAP_MPL_256 2 +#define ALX_DEV_CAP_MPL_512 3 +#define ALX_DEV_CAP_MPL_1024 4 +#define ALX_DEV_CAP_MPL_2048 5 +#define ALX_DEV_CAP_MPL_4096 6 + +#define ALX_DEV_CTRL 0x0060 +#define ALX_DEV_CTRL_MAXRRS_MASK 0x7U +#define ALX_DEV_CTRL_MAXRRS_SHIFT 12 +#define ALX_DEV_CTRL_MAXRRS_MIN 2 +#define ALX_DEV_CTRL_NOSNP_EN BIT(11) +#define ALX_DEV_CTRL_AUXPWR_EN BIT(10) +#define ALX_DEV_CTRL_PHANTOM_EN BIT(9) +#define ALX_DEV_CTRL_EXTAG_EN BIT(8) +#define ALX_DEV_CTRL_MPL_MASK 0x7U +#define ALX_DEV_CTRL_MPL_SHIFT 5 +#define ALX_DEV_CTRL_RELORD_EN BIT(4) +#define ALX_DEV_CTRL_URR_EN BIT(3) +#define ALX_DEV_CTRL_FERR_EN BIT(2) +#define ALX_DEV_CTRL_NFERR_EN BIT(1) +#define ALX_DEV_CTRL_CERR_EN BIT(0) + +#define ALX_DEV_STAT 0x0062 +#define ALX_DEV_STAT_XS_PEND BIT(5) +#define ALX_DEV_STAT_AUXPWR BIT(4) +#define ALX_DEV_STAT_UR BIT(3) +#define ALX_DEV_STAT_FERR BIT(2) +#define ALX_DEV_STAT_NFERR BIT(1) +#define ALX_DEV_STAT_CERR BIT(0) + +#define ALX_LNK_CAP 0x0064 +#define ALX_LNK_CAP_PRTNUM_MASK 0xFFUL +#define ALX_LNK_CAP_PRTNUM_SHIFT 24 +#define ALX_LNK_CAP_CLK_PM BIT(18) +#define ALX_LNK_CAP_L1EXTLAT_MASK 0x7UL +#define ALX_LNK_CAP_L1EXTLAT_SHIFT 15 +#define ALX_LNK_CAP_L0SEXTLAT_MASK 0x7UL +#define ALX_LNK_CAP_L0SEXTLAT_SHIFT 12 +#define ALX_LNK_CAP_ASPM_SUP_MASK 0x3UL +#define ALX_LNK_CAP_ASPM_SUP_SHIFT 10 +#define ALX_LNK_CAP_ASPM_SUP_L0S 1 +#define ALX_LNK_CAP_ASPM_SUP_L0SL1 3 +#define ALX_LNK_CAP_MAX_LWH_MASK 0x3FUL +#define ALX_LNK_CAP_MAX_LWH_SHIFT 4 +#define ALX_LNK_CAP_MAX_LSPD_MASK 0xFUL +#define ALX_LNK_CAP_MAX_LSPD_SHIFT 0 + +#define ALX_LNK_CTRL 0x0068 +#define ALX_LNK_CTRL_CLK_PM_EN BIT(8) +#define ALX_LNK_CTRL_EXTSYNC BIT(7) +#define ALX_LNK_CTRL_CMNCLK_CFG BIT(6) +#define ALX_LNK_CTRL_RCB_128B BIT(3) +#define ALX_LNK_CTRL_ASPM_MASK 0x3U +#define ALX_LNK_CTRL_ASPM_SHIFT 0 +#define ALX_LNK_CTRL_ASPM_DIS 0 +#define ALX_LNK_CTRL_ASPM_ENL0S 1 +#define ALX_LNK_CTRL_ASPM_ENL1 2 +#define ALX_LNK_CTRL_ASPM_ENL0SL1 3 + +#define ALX_LNK_STAT 0x006A +#define ALX_LNK_STAT_SCLKCFG BIT(12) +#define ALX_LNK_STAT_LNKTRAIN BIT(11) +#define ALX_LNK_STAT_TRNERR BIT(10) +#define ALX_LNK_STAT_LNKSPD_MASK 0xFU +#define ALX_LNK_STAT_LNKSPD_SHIFT 0 +#define ALX_LNK_STAT_NEGLW_MASK 0x3FU +#define ALX_LNK_STAT_NEGLW_SHIFT 4 + +#define ALX_MSIX_MASK 0x0090 +#define ALX_MSIX_PENDING 0x0094 + +#define ALX_UE_SVRT 0x010C +#define ALX_UE_SVRT_UR BIT(20) +#define ALX_UE_SVRT_ECRCERR BIT(19) +#define ALX_UE_SVRT_MTLP BIT(18) +#define ALX_UE_SVRT_RCVOVFL BIT(17) +#define ALX_UE_SVRT_UNEXPCPL BIT(16) +#define ALX_UE_SVRT_CPLABRT BIT(15) +#define ALX_UE_SVRT_CPLTO BIT(14) +#define ALX_UE_SVRT_FCPROTERR BIT(13) +#define ALX_UE_SVRT_PTLP BIT(12) +#define ALX_UE_SVRT_DLPROTERR BIT(4) +#define ALX_UE_SVRT_TRNERR BIT(0) + +/* eeprom & flash load register */ +#define ALX_EFLD 0x0204 +#define ALX_EFLD_F_ENDADDR_MASK 0x3FFUL +#define ALX_EFLD_F_ENDADDR_SHIFT 16 +#define ALX_EFLD_F_EXIST BIT(10) +#define ALX_EFLD_E_EXIST BIT(9) +#define ALX_EFLD_EXIST BIT(8) +#define ALX_EFLD_STAT BIT(5) +#define ALX_EFLD_IDLE BIT(4) +#define ALX_EFLD_START BIT(0) + +/* eFuse load register */ +#define ALX_SLD 0x0218 +#define ALX_SLD_FREQ_MASK 0x3UL +#define ALX_SLD_FREQ_SHIFT 24 +#define ALX_SLD_FREQ_100K 0 +#define ALX_SLD_FREQ_200K 1 +#define ALX_SLD_FREQ_300K 2 +#define ALX_SLD_FREQ_400K 3 +#define ALX_SLD_EXIST BIT(23) +#define ALX_SLD_SLVADDR_MASK 0x7FUL +#define ALX_SLD_SLVADDR_SHIFT 16 +#define ALX_SLD_IDLE BIT(13) +#define ALX_SLD_STAT BIT(12) +#define ALX_SLD_START BIT(11) +#define ALX_SLD_STARTADDR_MASK 0xFFUL +#define ALX_SLD_STARTADDR_SHIFT 0 +#define ALX_SLD_MAX_TO 100 + +#define ALX_PCIE_MSIC 0x021C +#define ALX_PCIE_MSIC_MSIX_DIS BIT(22) +#define ALX_PCIE_MSIC_MSI_DIS BIT(21) + +#define ALX_PPHY_MISC1 0x1000 +#define ALX_PPHY_MISC1_RCVDET BIT(2) +#define ALX_PPHY_MISC1_NFTS_MASK 0xFFUL +#define ALX_PPHY_MISC1_NFTS_SHIFT 16 +#define ALX_PPHY_MISC1_NFTS_HIPERF 0xA0 + +#define ALX_PPHY_MISC2 0x1004 +#define ALX_PPHY_MISC2_L0S_TH_MASK 0x3UL +#define ALX_PPHY_MISC2_L0S_TH_SHIFT 18 +#define ALX_PPHY_MISC2_CDR_BW_MASK 0x3UL +#define ALX_PPHY_MISC2_CDR_BW_SHIFT 16 + +#define ALX_PDLL_TRNS1 0x1104 +#define ALX_PDLL_TRNS1_D3PLLOFF_EN BIT(11) +#define ALX_PDLL_TRNS1_REGCLK_SEL_NORM BIT(10) +#define ALX_PDLL_TRNS1_REPLY_TO_MASK 0x3FFUL +#define ALX_PDLL_TRNS1_REPLY_TO_SHIFT 0 + +#define ALX_TLEXTN_STATS 0x1208 +#define ALX_TLEXTN_STATS_DEVNO_MASK 0x1FUL +#define ALX_TLEXTN_STATS_DEVNO_SHIFT 16 +#define ALX_TLEXTN_STATS_BUSNO_MASK 0xFFUL +#define ALX_TLEXTN_STATS_BUSNO_SHIFT 8 + +#define ALX_EFUSE_CTRL 0x12C0 +#define ALX_EFUSE_CTRL_FLAG BIT(31) +#define ALX_EUFSE_CTRL_ACK BIT(30) +#define ALX_EFUSE_CTRL_ADDR_MASK 0x3FFUL +#define ALX_EFUSE_CTRL_ADDR_SHIFT 16 + +#define ALX_EFUSE_DATA 0x12C4 + +#define ALX_SPI_OP1 0x12C8 +#define ALX_SPI_OP1_RDID_MASK 0xFFUL +#define ALX_SPI_OP1_RDID_SHIFT 24 +#define ALX_SPI_OP1_CE_MASK 0xFFUL +#define ALX_SPI_OP1_CE_SHIFT 16 +#define ALX_SPI_OP1_SE_MASK 0xFFUL +#define ALX_SPI_OP1_SE_SHIFT 8 +#define ALX_SPI_OP1_PRGRM_MASK 0xFFUL +#define ALX_SPI_OP1_PRGRM_SHIFT 0 + +#define ALX_SPI_OP2 0x12CC +#define ALX_SPI_OP2_READ_MASK 0xFFUL +#define ALX_SPI_OP2_READ_SHIFT 24 +#define ALX_SPI_OP2_WRSR_MASK 0xFFUL +#define ALX_SPI_OP2_WRSR_SHIFT 16 +#define ALX_SPI_OP2_RDSR_MASK 0xFFUL +#define ALX_SPI_OP2_RDSR_SHIFT 8 +#define ALX_SPI_OP2_WREN_MASK 0xFFUL +#define ALX_SPI_OP2_WREN_SHIFT 0 + +#define ALX_SPI_OP3 0x12E4 +#define ALX_SPI_OP3_WRDI_MASK 0xFFUL +#define ALX_SPI_OP3_WRDI_SHIFT 8 +#define ALX_SPI_OP3_EWSR_MASK 0xFFUL +#define ALX_SPI_OP3_EWSR_SHIFT 0 + +#define ALX_EF_CTRL 0x12D0 +#define ALX_EF_CTRL_FSTS_MASK 0xFFUL +#define ALX_EF_CTRL_FSTS_SHIFT 20 +#define ALX_EF_CTRL_CLASS_MASK 0x7UL +#define ALX_EF_CTRL_CLASS_SHIFT 16 +#define ALX_EF_CTRL_CLASS_F_UNKNOWN 0 +#define ALX_EF_CTRL_CLASS_F_STD 1 +#define ALX_EF_CTRL_CLASS_F_SST 2 +#define ALX_EF_CTRL_CLASS_E_UNKNOWN 0 +#define ALX_EF_CTRL_CLASS_E_1K 1 +#define ALX_EF_CTRL_CLASS_E_4K 2 +#define ALX_EF_CTRL_FRET BIT(15) +#define ALX_EF_CTRL_TYP_MASK 0x3UL +#define ALX_EF_CTRL_TYP_SHIFT 12 +#define ALX_EF_CTRL_TYP_NONE 0 +#define ALX_EF_CTRL_TYP_F 1 +#define ALX_EF_CTRL_TYP_E 2 +#define ALX_EF_CTRL_TYP_UNKNOWN 3 +#define ALX_EF_CTRL_ONE_CLK BIT(10) +#define ALX_EF_CTRL_ECLK_MASK 0x3UL +#define ALX_EF_CTRL_ECLK_SHIFT 8 +#define ALX_EF_CTRL_ECLK_125K 0 +#define ALX_EF_CTRL_ECLK_250K 1 +#define ALX_EF_CTRL_ECLK_500K 2 +#define ALX_EF_CTRL_ECLK_1M 3 +#define ALX_EF_CTRL_FBUSY BIT(7) +#define ALX_EF_CTRL_ACTION BIT(6) +#define ALX_EF_CTRL_AUTO_OP BIT(5) +#define ALX_EF_CTRL_SST_MODE BIT(4) +#define ALX_EF_CTRL_INST_MASK 0xFUL +#define ALX_EF_CTRL_INST_SHIFT 0 +#define ALX_EF_CTRL_INST_NONE 0 +#define ALX_EF_CTRL_INST_READ 1 +#define ALX_EF_CTRL_INST_RDID 2 +#define ALX_EF_CTRL_INST_RDSR 3 +#define ALX_EF_CTRL_INST_WREN 4 +#define ALX_EF_CTRL_INST_PRGRM 5 +#define ALX_EF_CTRL_INST_SE 6 +#define ALX_EF_CTRL_INST_CE 7 +#define ALX_EF_CTRL_INST_WRSR 10 +#define ALX_EF_CTRL_INST_EWSR 11 +#define ALX_EF_CTRL_INST_WRDI 12 +#define ALX_EF_CTRL_INST_WRITE 2 + +#define ALX_EF_ADDR 0x12D4 +#define ALX_EF_DATA 0x12D8 +#define ALX_SPI_ID 0x12DC + +#define ALX_SPI_CFG_START 0x12E0 + +#define ALX_PMCTRL 0x12F8 +#define ALX_PMCTRL_HOTRST_WTEN BIT(31) +/* bit30: L0s/L1 controlled by MAC based on throughput(setting in 15A0) */ +#define ALX_PMCTRL_ASPM_FCEN BIT(30) +#define ALX_PMCTRL_SADLY_EN BIT(29) +#define ALX_PMCTRL_L0S_BUFSRX_EN BIT(28) +#define ALX_PMCTRL_LCKDET_TIMER_MASK 0xFUL +#define ALX_PMCTRL_LCKDET_TIMER_SHIFT 24 +#define ALX_PMCTRL_LCKDET_TIMER_DEF 0xC +/* bit[23:20] if pm_request_l1 time > @, then enter L0s not L1 */ +#define ALX_PMCTRL_L1REQ_TO_MASK 0xFUL +#define ALX_PMCTRL_L1REQ_TO_SHIFT 20 +#define ALX_PMCTRL_L1REG_TO_DEF 0xF +#define ALX_PMCTRL_TXL1_AFTER_L0S BIT(19) +#define ALX_PMCTRL_L1_TIMER_MASK 0x7UL +#define ALX_PMCTRL_L1_TIMER_SHIFT 16 +#define ALX_PMCTRL_L1_TIMER_DIS 0 +#define ALX_PMCTRL_L1_TIMER_2US 1 +#define ALX_PMCTRL_L1_TIMER_4US 2 +#define ALX_PMCTRL_L1_TIMER_8US 3 +#define ALX_PMCTRL_L1_TIMER_16US 4 +#define ALX_PMCTRL_L1_TIMER_24US 5 +#define ALX_PMCTRL_L1_TIMER_32US 6 +#define ALX_PMCTRL_L1_TIMER_63US 7 +#define ALX_PMCTRL_RCVR_WT_1US BIT(15) +#define ALX_PMCTRL_PWM_VER_11 BIT(14) +/* bit13: enable pcie clk switch in L1 state */ +#define ALX_PMCTRL_L1_CLKSW_EN BIT(13) +#define ALX_PMCTRL_L0S_EN BIT(12) +#define ALX_PMCTRL_RXL1_AFTER_L0S BIT(11) +#define ALX_PMCTRL_L0S_TIMER_MASK 0x7UL +#define ALX_PMCTRL_L0S_TIMER_SHIFT 8 +#define ALX_PMCTRL_L1_BUFSRX_EN BIT(7) +/* bit6: power down serdes RX */ +#define ALX_PMCTRL_L1_SRDSRX_PWD BIT(6) +#define ALX_PMCTRL_L1_SRDSPLL_EN BIT(5) +#define ALX_PMCTRL_L1_SRDS_EN BIT(4) +#define ALX_PMCTRL_L1_EN BIT(3) +#define ALX_PMCTRL_CLKREQ_EN BIT(2) +#define ALX_PMCTRL_RBER_EN BIT(1) +#define ALX_PMCTRL_SPRSDWER_EN BIT(0) + +#define ALX_LTSSM_CTRL 0x12FC +#define ALX_LTSSM_WRO_EN BIT(12) + +/*******************************************************/ +/* following registers are mapped only to memory space */ +/*******************************************************/ + +#define ALX_MASTER 0x1400 +#define ALX_MASTER_OTP_FLG BIT(31) +#define ALX_MASTER_DEV_NUM_MASK 0x7FUL +#define ALX_MASTER_DEV_NUM_SHIFT 24 +#define ALX_MASTER_REV_NUM_MASK 0xFFUL +#define ALX_MASTER_REV_NUM_SHIFT 16 +#define ALX_MASTER_DEASSRT BIT(15) +#define ALX_MASTER_RDCLR_INT BIT(14) +#define ALX_MASTER_DMA_RST BIT(13) +/* bit12: 1:alwys select pclk from serdes, not sw to 25M */ +#define ALX_MASTER_PCLKSEL_SRDS BIT(12) +/* bit11: irq moduration for rx */ +#define ALX_MASTER_IRQMOD2_EN BIT(11) +/* bit10: irq moduration for tx/rx */ +#define ALX_MASTER_IRQMOD1_EN BIT(10) +#define ALX_MASTER_MANU_INT BIT(9) +#define ALX_MASTER_MANUTIMER_EN BIT(8) +#define ALX_MASTER_SYSALVTIMER_EN BIT(7) +#define ALX_MASTER_OOB_DIS BIT(6) +/* bit5: wakeup without pcie clk */ +#define ALX_MASTER_WAKEN_25M BIT(5) +#define ALX_MASTER_BERT_START BIT(4) +#define ALX_MASTER_PCIE_TSTMOD_MASK 0x3UL +#define ALX_MASTER_PCIE_TSTMOD_SHIFT 2 +#define ALX_MASTER_PCIE_RST BIT(1) +/* bit0: MAC & DMA reset */ +#define ALX_MASTER_DMA_MAC_RST BIT(0) +#define ALX_DMA_MAC_RST_TO 50 + +#define ALX_MANU_TIMER 0x1404 + +#define ALX_IRQ_MODU_TIMER 0x1408 +/* hi-16bit is only for RX */ +#define ALX_IRQ_MODU_TIMER2_MASK 0xFFFFUL +#define ALX_IRQ_MODU_TIMER2_SHIFT 16 +#define ALX_IRQ_MODU_TIMER1_MASK 0xFFFFUL +#define ALX_IRQ_MODU_TIMER1_SHIFT 0 + +#define ALX_PHY_CTRL 0x140C +#define ALX_PHY_CTRL_ADDR_MASK 0x1FUL +#define ALX_PHY_CTRL_ADDR_SHIFT 19 +#define ALX_PHY_CTRL_BP_VLTGSW BIT(18) +#define ALX_PHY_CTRL_100AB_EN BIT(17) +#define ALX_PHY_CTRL_10AB_EN BIT(16) +#define ALX_PHY_CTRL_PLL_BYPASS BIT(15) +/* bit14: affect MAC & PHY, go to low power sts */ +#define ALX_PHY_CTRL_POWER_DOWN BIT(14) +/* bit13: 1:pll always ON, 0:can switch in lpw */ +#define ALX_PHY_CTRL_PLL_ON BIT(13) +#define ALX_PHY_CTRL_RST_ANALOG BIT(12) +#define ALX_PHY_CTRL_HIB_PULSE BIT(11) +#define ALX_PHY_CTRL_HIB_EN BIT(10) +#define ALX_PHY_CTRL_GIGA_DIS BIT(9) +/* bit8: poweron rst */ +#define ALX_PHY_CTRL_IDDQ_DIS BIT(8) +/* bit7: while reboot, it affects bit8 */ +#define ALX_PHY_CTRL_IDDQ BIT(7) +#define ALX_PHY_CTRL_LPW_EXIT BIT(6) +#define ALX_PHY_CTRL_GATE_25M BIT(5) +#define ALX_PHY_CTRL_RVRS_ANEG BIT(4) +#define ALX_PHY_CTRL_ANEG_NOW BIT(3) +#define ALX_PHY_CTRL_LED_MODE BIT(2) +#define ALX_PHY_CTRL_RTL_MODE BIT(1) +/* bit0: out of dsp RST state */ +#define ALX_PHY_CTRL_DSPRST_OUT BIT(0) +#define ALX_PHY_CTRL_DSPRST_TO 80 +#define ALX_PHY_CTRL_CLS (\ + ALX_PHY_CTRL_LED_MODE |\ + ALX_PHY_CTRL_100AB_EN |\ + ALX_PHY_CTRL_PLL_ON) + +#define ALX_MAC_STS 0x1410 +#define ALX_MAC_STS_SFORCE_MASK 0xFUL +#define ALX_MAC_STS_SFORCE_SHIFT 14 +#define ALX_MAC_STS_CALIB_DONE BIT13 +#define ALX_MAC_STS_CALIB_RES_MASK 0x1FUL +#define ALX_MAC_STS_CALIB_RES_SHIFT 8 +#define ALX_MAC_STS_CALIBERR_MASK 0xFUL +#define ALX_MAC_STS_CALIBERR_SHIFT 4 +#define ALX_MAC_STS_TXQ_BUSY BIT(3) +#define ALX_MAC_STS_RXQ_BUSY BIT(2) +#define ALX_MAC_STS_TXMAC_BUSY BIT(1) +#define ALX_MAC_STS_RXMAC_BUSY BIT(0) +#define ALX_MAC_STS_IDLE (\ + ALX_MAC_STS_TXQ_BUSY |\ + ALX_MAC_STS_RXQ_BUSY |\ + ALX_MAC_STS_TXMAC_BUSY |\ + ALX_MAC_STS_RXMAC_BUSY) + +#define ALX_MDIO 0x1414 +#define ALX_MDIO_MODE_EXT BIT(30) +#define ALX_MDIO_POST_READ BIT(29) +#define ALX_MDIO_AUTO_POLLING BIT(28) +#define ALX_MDIO_BUSY BIT(27) +#define ALX_MDIO_CLK_SEL_MASK 0x7UL +#define ALX_MDIO_CLK_SEL_SHIFT 24 +#define ALX_MDIO_CLK_SEL_25MD4 0 +#define ALX_MDIO_CLK_SEL_25MD6 2 +#define ALX_MDIO_CLK_SEL_25MD8 3 +#define ALX_MDIO_CLK_SEL_25MD10 4 +#define ALX_MDIO_CLK_SEL_25MD32 5 +#define ALX_MDIO_CLK_SEL_25MD64 6 +#define ALX_MDIO_CLK_SEL_25MD128 7 +#define ALX_MDIO_START BIT(23) +#define ALX_MDIO_SPRES_PRMBL BIT(22) +/* bit21: 1:read,0:write */ +#define ALX_MDIO_OP_READ BIT(21) +#define ALX_MDIO_REG_MASK 0x1FUL +#define ALX_MDIO_REG_SHIFT 16 +#define ALX_MDIO_DATA_MASK 0xFFFFUL +#define ALX_MDIO_DATA_SHIFT 0 +#define ALX_MDIO_MAX_AC_TO 120 + +#define ALX_MDIO_EXTN 0x1448 +#define ALX_MDIO_EXTN_PORTAD_MASK 0x1FUL +#define ALX_MDIO_EXTN_PORTAD_SHIFT 21 +#define ALX_MDIO_EXTN_DEVAD_MASK 0x1FUL +#define ALX_MDIO_EXTN_DEVAD_SHIFT 16 +#define ALX_MDIO_EXTN_REG_MASK 0xFFFFUL +#define ALX_MDIO_EXTN_REG_SHIFT 0 + +#define ALX_PHY_STS 0x1418 +#define ALX_PHY_STS_LPW BIT(31) +#define ALX_PHY_STS_LPI BIT(30) +#define ALX_PHY_STS_PWON_STRIP_MASK 0xFFFUL +#define ALX_PHY_STS_PWON_STRIP_SHIFT 16 + +#define ALX_PHY_STS_DUPLEX BIT(3) +#define ALX_PHY_STS_LINKUP BIT(2) +#define ALX_PHY_STS_SPEED_MASK 0x3UL +#define ALX_PHY_STS_SPEED_SHIFT 0 +#define ALX_PHY_STS_SPEED_1000M 2 +#define ALX_PHY_STS_SPEED_100M 1 +#define ALX_PHY_STS_SPEED_10M 0 + +#define ALX_BIST0 0x141C +#define ALX_BIST0_COL_MASK 0x3FUL +#define ALX_BIST0_COL_SHIFT 24 +#define ALX_BIST0_ROW_MASK 0xFFFUL +#define ALX_BIST0_ROW_SHIFT 12 +#define ALX_BIST0_STEP_MASK 0xFUL +#define ALX_BIST0_STEP_SHIFT 8 +#define ALX_BIST0_PATTERN_MASK 0x7UL +#define ALX_BIST0_PATTERN_SHIFT 4 +#define ALX_BIST0_CRIT BIT(3) +#define ALX_BIST0_FIXED BIT(2) +#define ALX_BIST0_FAIL BIT(1) +#define ALX_BIST0_START BIT(0) + +#define ALX_BIST1 0x1420 +#define ALX_BIST1_COL_MASK 0x3FUL +#define ALX_BIST1_COL_SHIFT 24 +#define ALX_BIST1_ROW_MASK 0xFFFUL +#define ALX_BIST1_ROW_SHIFT 12 +#define ALX_BIST1_STEP_MASK 0xFUL +#define ALX_BIST1_STEP_SHIFT 8 +#define ALX_BIST1_PATTERN_MASK 0x7UL +#define ALX_BIST1_PATTERN_SHIFT 4 +#define ALX_BIST1_CRIT BIT(3) +#define ALX_BIST1_FIXED BIT(2) +#define ALX_BIST1_FAIL BIT(1) +#define ALX_BIST1_START BIT(0) + +#define ALX_SERDES 0x1424 +#define ALX_SERDES_PHYCLK_SLWDWN BIT(18) +#define ALX_SERDES_MACCLK_SLWDWN BIT(17) +#define ALX_SERDES_SELFB_PLL_MASK 0x3UL +#define ALX_SERDES_SELFB_PLL_SHIFT 14 +/* bit13: 1:gtx_clk, 0:25M */ +#define ALX_SERDES_PHYCLK_SEL_GTX BIT(13) +/* bit12: 1:serdes,0:25M */ +#define ALX_SERDES_PCIECLK_SEL_SRDS BIT(12) +#define ALX_SERDES_BUFS_RX_EN BIT(11) +#define ALX_SERDES_PD_RX BIT(10) +#define ALX_SERDES_PLL_EN BIT(9) +#define ALX_SERDES_EN BIT(8) +/* bit6: 0:state-machine,1:csr */ +#define ALX_SERDES_SELFB_PLL_SEL_CSR BIT(6) +#define ALX_SERDES_SELFB_PLL_CSR_MASK 0x3UL +#define ALX_SERDES_SELFB_PLL_CSR_SHIFT 4 +/* 4-12% OV-CLK */ +#define ALX_SERDES_SELFB_PLL_CSR_4 3 +/* 0-4% OV-CLK */ +#define ALX_SERDES_SELFB_PLL_CSR_0 2 +/* 12-18% OV-CLK */ +#define ALX_SERDES_SELFB_PLL_CSR_12 1 +/* 18-25% OV-CLK */ +#define ALX_SERDES_SELFB_PLL_CSR_18 0 +#define ALX_SERDES_VCO_SLOW BIT(3) +#define ALX_SERDES_VCO_FAST BIT(2) +#define ALX_SERDES_LOCKDCT_EN BIT(1) +#define ALX_SERDES_LOCKDCTED BIT(0) + +#define ALX_LED_CTRL 0x1428 +#define ALX_LED_CTRL_PATMAP2_MASK 0x3UL +#define ALX_LED_CTRL_PATMAP2_SHIFT 8 +#define ALX_LED_CTRL_PATMAP1_MASK 0x3UL +#define ALX_LED_CTRL_PATMAP1_SHIFT 6 +#define ALX_LED_CTRL_PATMAP0_MASK 0x3UL +#define ALX_LED_CTRL_PATMAP0_SHIFT 4 +#define ALX_LED_CTRL_D3_MODE_MASK 0x3UL +#define ALX_LED_CTRL_D3_MODE_SHIFT 2 +#define ALX_LED_CTRL_D3_MODE_NORMAL 0 +#define ALX_LED_CTRL_D3_MODE_WOL_DIS 1 +#define ALX_LED_CTRL_D3_MODE_WOL_ANY 2 +#define ALX_LED_CTRL_D3_MODE_WOL_EN 3 +#define ALX_LED_CTRL_DUTY_CYCL_MASK 0x3UL +#define ALX_LED_CTRL_DUTY_CYCL_SHIFT 0 +/* 50% */ +#define ALX_LED_CTRL_DUTY_CYCL_50 0 +/* 12.5% */ +#define ALX_LED_CTRL_DUTY_CYCL_125 1 +/* 25% */ +#define ALX_LED_CTRL_DUTY_CYCL_25 2 +/* 75% */ +#define ALX_LED_CTRL_DUTY_CYCL_75 3 + +#define ALX_LED_PATN 0x142C +#define ALX_LED_PATN1_MASK 0xFFFFUL +#define ALX_LED_PATN1_SHIFT 16 +#define ALX_LED_PATN0_MASK 0xFFFFUL +#define ALX_LED_PATN0_SHIFT 0 + +#define ALX_LED_PATN2 0x1430 +#define ALX_LED_PATN2_MASK 0xFFFFUL +#define ALX_LED_PATN2_SHIFT 0 + +#define ALX_SYSALV 0x1434 +#define ALX_SYSALV_FLAG BIT(0) + +#define ALX_PCIERR_INST 0x1438 +#define ALX_PCIERR_INST_TX_RATE_MASK 0xFUL +#define ALX_PCIERR_INST_TX_RATE_SHIFT 4 +#define ALX_PCIERR_INST_RX_RATE_MASK 0xFUL +#define ALX_PCIERR_INST_RX_RATE_SHIFT 0 + +#define ALX_LPI_DECISN_TIMER 0x143C + +#define ALX_LPI_CTRL 0x1440 +#define ALX_LPI_CTRL_CHK_DA BIT(31) +#define ALX_LPI_CTRL_ENH_TO_MASK 0x1FFFUL +#define ALX_LPI_CTRL_ENH_TO_SHIFT 12 +#define ALX_LPI_CTRL_ENH_TH_MASK 0x1FUL +#define ALX_LPI_CTRL_ENH_TH_SHIFT 6 +#define ALX_LPI_CTRL_ENH_EN BIT(5) +#define ALX_LPI_CTRL_CHK_RX BIT(4) +#define ALX_LPI_CTRL_CHK_STATE BIT(3) +#define ALX_LPI_CTRL_GMII BIT(2) +#define ALX_LPI_CTRL_TO_PHY BIT(1) +#define ALX_LPI_CTRL_EN BIT(0) + +#define ALX_LPI_WAIT 0x1444 +#define ALX_LPI_WAIT_TIMER_MASK 0xFFFFUL +#define ALX_LPI_WAIT_TIMER_SHIFT 0 + +/* heart-beat, for swoi/cifs */ +#define ALX_HRTBT_VLAN 0x1450 +#define ALX_HRTBT_VLANID_MASK 0xFFFFUL +#define ALX_HRRBT_VLANID_SHIFT 0 + +#define ALX_HRTBT_CTRL 0x1454 +#define ALX_HRTBT_CTRL_EN BIT(31) +#define ALX_HRTBT_CTRL_PERIOD_MASK 0x3FUL +#define ALX_HRTBT_CTRL_PERIOD_SHIFT 25 +#define ALX_HRTBT_CTRL_HASVLAN BIT(24) +#define ALX_HRTBT_CTRL_HDRADDR_MASK 0xFFFUL +#define ALX_HRTBT_CTRL_HDRADDR_SHIFT 12 +#define ALX_HRTBT_CTRL_HDRADDRB0_MASK 0x7FFUL +#define ALX_HRTBT_CTRL_HDRADDRB0_SHIFT 13 +#define ALX_HRTBT_CTRL_PKT_FRAG BIT(12) +#define ALX_HRTBT_CTRL_PKTLEN_MASK 0xFFFUL +#define ALX_HRTBT_CTRL_PKTLEN_SHIFT 0 + +/* for B0+, bit[13..] for C0+ */ +#define ALX_HRTBT_EXT_CTRL 0x1AD0 +#define L1F_HRTBT_EXT_CTRL_PERIOD_HIGH_MASK 0x3FUL +#define L1F_HRTBT_EXT_CTRL_PERIOD_HIGH_SHIFT 24 +#define L1F_HRTBT_EXT_CTRL_SWOI_STARTUP_PKT_EN BIT(23) +#define L1F_HRTBT_EXT_CTRL_IOAC_2_FRAGMENTED BIT(22) +#define L1F_HRTBT_EXT_CTRL_IOAC_1_FRAGMENTED BIT(21) +#define L1F_HRTBT_EXT_CTRL_IOAC_1_KEEPALIVE_EN BIT(20) +#define L1F_HRTBT_EXT_CTRL_IOAC_1_HAS_VLAN BIT(19) +#define L1F_HRTBT_EXT_CTRL_IOAC_1_IS_8023 BIT(18) +#define L1F_HRTBT_EXT_CTRL_IOAC_1_IS_IPV6 BIT(17) +#define L1F_HRTBT_EXT_CTRL_IOAC_2_KEEPALIVE_EN BIT(16) +#define L1F_HRTBT_EXT_CTRL_IOAC_2_HAS_VLAN BIT(15) +#define L1F_HRTBT_EXT_CTRL_IOAC_2_IS_8023 BIT(14) +#define L1F_HRTBT_EXT_CTRL_IOAC_2_IS_IPV6 BIT(13) +#define ALX_HRTBT_EXT_CTRL_NS_EN BIT(12) +#define ALX_HRTBT_EXT_CTRL_FRAG_LEN_MASK 0xFFUL +#define ALX_HRTBT_EXT_CTRL_FRAG_LEN_SHIFT 4 +#define ALX_HRTBT_EXT_CTRL_IS_8023 BIT(3) +#define ALX_HRTBT_EXT_CTRL_IS_IPV6 BIT(2) +#define ALX_HRTBT_EXT_CTRL_WAKEUP_EN BIT(1) +#define ALX_HRTBT_EXT_CTRL_ARP_EN BIT(0) + +#define ALX_HRTBT_REM_IPV4_ADDR 0x1AD4 +#define ALX_HRTBT_HOST_IPV4_ADDR 0x1478 +#define ALX_HRTBT_REM_IPV6_ADDR3 0x1AD8 +#define ALX_HRTBT_REM_IPV6_ADDR2 0x1ADC +#define ALX_HRTBT_REM_IPV6_ADDR1 0x1AE0 +#define ALX_HRTBT_REM_IPV6_ADDR0 0x1AE4 + +/* 1B8C ~ 1B94 for C0+ */ +#define ALX_SWOI_ACER_CTRL 0x1B8C +#define ALX_SWOI_ORIG_ACK_NAK_EN BIT(20) +#define ALX_SWOI_ORIG_ACK_NAK_PKT_LEN_MASK 0XFFUL +#define ALX_SWOI_ORIG_ACK_NAK_PKT_LEN_SHIFT 12 +#define ALX_SWOI_ORIG_ACK_ADDR_MASK 0XFFFUL +#define ALX_SWOI_ORIG_ACK_ADDR_SHIFT 0 + +#define ALX_SWOI_IOAC_CTRL_2 0x1B90 +#define ALX_SWOI_IOAC_CTRL_2_SWOI_1_FRAG_LEN_MASK 0xFFUL +#define ALX_SWOI_IOAC_CTRL_2_SWOI_1_FRAG_LEN_SHIFT 24 +#define ALX_SWOI_IOAC_CTRL_2_SWOI_1_PKT_LEN_MASK 0xFFFUL +#define ALX_SWOI_IOAC_CTRL_2_SWOI_1_PKT_LEN_SHIFT 12 +#define ALX_SWOI_IOAC_CTRL_2_SWOI_1_HDR_ADDR_MASK 0xFFFUL +#define ALX_SWOI_IOAC_CTRL_2_SWOI_1_HDR_ADDR_SHIFT 0 + +#define ALX_SWOI_IOAC_CTRL_3 0x1B94 +#define ALX_SWOI_IOAC_CTRL_3_SWOI_2_FRAG_LEN_MASK 0xFFUL +#define ALX_SWOI_IOAC_CTRL_3_SWOI_2_FRAG_LEN_SHIFT 24 +#define ALX_SWOI_IOAC_CTRL_3_SWOI_2_PKT_LEN_MASK 0xFFFUL +#define ALX_SWOI_IOAC_CTRL_3_SWOI_2_PKT_LEN_SHIFT 12 +#define ALX_SWOI_IOAC_CTRL_3_SWOI_2_HDR_ADDR_MASK 0xFFFUL +#define ALX_SWOI_IOAC_CTRL_3_SWOI_2_HDR_ADDR_SHIFT 0 + +/*SWOI_HOST_IPV6_ADDR reuse reg1a60-1a6c, 1a70-1a7c, 1aa0-1aac, 1ab0-1abc.*/ +#define ALX_HRTBT_WAKEUP_PORT 0x1AE8 +#define ALX_HRTBT_WAKEUP_PORT_SRC_MASK 0xFFFFUL +#define ALX_HRTBT_WAKEUP_PORT_SRC_SHIFT 16 +#define ALX_HRTBT_WAKEUP_PORT_DEST_MASK 0xFFFFUL +#define ALX_HRTBT_WAKEUP_PORT_DEST_SHIFT 0 + +#define ALX_HRTBT_WAKEUP_DATA7 0x1AEC +#define ALX_HRTBT_WAKEUP_DATA6 0x1AF0 +#define ALX_HRTBT_WAKEUP_DATA5 0x1AF4 +#define ALX_HRTBT_WAKEUP_DATA4 0x1AF8 +#define ALX_HRTBT_WAKEUP_DATA3 0x1AFC +#define ALX_HRTBT_WAKEUP_DATA2 0x1B80 +#define ALX_HRTBT_WAKEUP_DATA1 0x1B84 +#define ALX_HRTBT_WAKEUP_DATA0 0x1B88 + +#define ALX_RXPARSE 0x1458 +#define ALX_RXPARSE_FLT6_L4_MASK 0x3UL +#define ALX_RXPARSE_FLT6_L4_SHIFT 30 +#define ALX_RXPARSE_FLT6_L3_MASK 0x3UL +#define ALX_RXPARSE_FLT6_L3_SHIFT 28 +#define ALX_RXPARSE_FLT5_L4_MASK 0x3UL +#define ALX_RXPARSE_FLT5_L4_SHIFT 26 +#define ALX_RXPARSE_FLT5_L3_MASK 0x3UL +#define ALX_RXPARSE_FLT5_L3_SHIFT 24 +#define ALX_RXPARSE_FLT4_L4_MASK 0x3UL +#define ALX_RXPARSE_FLT4_L4_SHIFT 22 +#define ALX_RXPARSE_FLT4_L3_MASK 0x3UL +#define ALX_RXPARSE_FLT4_L3_SHIFT 20 +#define ALX_RXPARSE_FLT3_L4_MASK 0x3UL +#define ALX_RXPARSE_FLT3_L4_SHIFT 18 +#define ALX_RXPARSE_FLT3_L3_MASK 0x3UL +#define ALX_RXPARSE_FLT3_L3_SHIFT 16 +#define ALX_RXPARSE_FLT2_L4_MASK 0x3UL +#define ALX_RXPARSE_FLT2_L4_SHIFT 14 +#define ALX_RXPARSE_FLT2_L3_MASK 0x3UL +#define ALX_RXPARSE_FLT2_L3_SHIFT 12 +#define ALX_RXPARSE_FLT1_L4_MASK 0x3UL +#define ALX_RXPARSE_FLT1_L4_SHIFT 10 +#define ALX_RXPARSE_FLT1_L3_MASK 0x3UL +#define ALX_RXPARSE_FLT1_L3_SHIFT 8 +#define ALX_RXPARSE_FLT6_EN BIT(5) +#define ALX_RXPARSE_FLT5_EN BIT(4) +#define ALX_RXPARSE_FLT4_EN BIT(3) +#define ALX_RXPARSE_FLT3_EN BIT(2) +#define ALX_RXPARSE_FLT2_EN BIT(1) +#define ALX_RXPARSE_FLT1_EN BIT(0) +#define ALX_RXPARSE_FLT_L4_UDP 0 +#define ALX_RXPARSE_FLT_L4_TCP 1 +#define ALX_RXPARSE_FLT_L4_BOTH 2 +#define ALX_RXPARSE_FLT_L4_NONE 3 +#define ALX_RXPARSE_FLT_L3_IPV6 0 +#define ALX_RXPARSE_FLT_L3_IPV4 1 +#define ALX_RXPARSE_FLT_L3_BOTH 2 + +/* Terodo support */ +#define ALX_TRD_CTRL 0x145C +#define ALX_TRD_CTRL_EN BIT(31) +#define ALX_TRD_CTRL_BUBBLE_WAKE_EN BIT(30) +#define ALX_TRD_CTRL_PREFIX_CMP_HW BIT(28) +#define ALX_TRD_CTRL_RSHDR_ADDR_MASK 0xFFFUL +#define ALX_TRD_CTRL_RSHDR_ADDR_SHIFT 16 +#define ALX_TRD_CTRL_SINTV_MAX_MASK 0xFFUL +#define ALX_TRD_CTRL_SINTV_MAX_SHIFT 8 +#define ALX_TRD_CTRL_SINTV_MIN_MASK 0xFFUL +#define ALX_TRD_CTRL_SINTV_MIN_SHIFT 0 + +#define ALX_TRD_RS 0x1460 +#define ALX_TRD_RS_SZ_MASK 0xFFFUL +#define ALX_TRD_RS_SZ_SHIFT 20 +#define ALX_TRD_RS_NONCE_OFS_MASK 0xFFFUL +#define ALX_TRD_RS_NONCE_OFS_SHIFT 8 +#define ALX_TRD_RS_SEQ_OFS_MASK 0xFFUL +#define ALX_TRD_RS_SEQ_OFS_SHIFT 0 + +#define ALX_TRD_SRV_IP4 0x1464 + +#define ALX_TRD_CLNT_EXTNL_IP4 0x1468 + +#define ALX_TRD_PORT 0x146C +#define ALX_TRD_PORT_CLNT_EXTNL_MASK 0xFFFFUL +#define ALX_TRD_PORT_CLNT_EXTNL_SHIFT 16 +#define ALX_TRD_PORT_SRV_MASK 0xFFFFUL +#define ALX_TRD_PORT_SRV_SHIFT 0 + +#define ALX_TRD_PREFIX 0x1470 + +#define ALX_TRD_BUBBLE_DA_IP4 0x1478 + +#define ALX_TRD_BUBBLE_DA_PORT 0x147C + +/* for B0 */ +#define ALX_IDLE_DECISN_TIMER 0x1474 +/* 1ms */ +#define ALX_IDLE_DECISN_TIMER_DEF 0x400 + + +#define ALX_MAC_CTRL 0x1480 +#define ALX_MAC_CTRL_FAST_PAUSE BIT(31) +#define ALX_MAC_CTRL_WOLSPED_SWEN BIT(30) +/* bit29: 1:legacy(hi5b), 0:marvl(lo5b)*/ +#define ALX_MAC_CTRL_MHASH_ALG_HI5B BIT(29) +#define ALX_MAC_CTRL_SPAUSE_EN BIT(28) +#define ALX_MAC_CTRL_DBG_EN BIT(27) +#define ALX_MAC_CTRL_BRD_EN BIT(26) +#define ALX_MAC_CTRL_MULTIALL_EN BIT(25) +#define ALX_MAC_CTRL_RX_XSUM_EN BIT(24) +#define ALX_MAC_CTRL_THUGE BIT(23) +#define ALX_MAC_CTRL_MBOF BIT(22) +#define ALX_MAC_CTRL_SPEED_MASK 0x3UL +#define ALX_MAC_CTRL_SPEED_SHIFT 20 +#define ALX_MAC_CTRL_SPEED_10_100 1 +#define ALX_MAC_CTRL_SPEED_1000 2 +#define ALX_MAC_CTRL_SIMR BIT(19) +#define ALX_MAC_CTRL_SSTCT BIT(17) +#define ALX_MAC_CTRL_TPAUSE BIT(16) +#define ALX_MAC_CTRL_PROMISC_EN BIT(15) +#define ALX_MAC_CTRL_VLANSTRIP BIT(14) +#define ALX_MAC_CTRL_PRMBLEN_MASK 0xFUL +#define ALX_MAC_CTRL_PRMBLEN_SHIFT 10 +#define ALX_MAC_CTRL_RHUGE_EN BIT(9) +#define ALX_MAC_CTRL_FLCHK BIT(8) +#define ALX_MAC_CTRL_PCRCE BIT(7) +#define ALX_MAC_CTRL_CRCE BIT(6) +#define ALX_MAC_CTRL_FULLD BIT(5) +#define ALX_MAC_CTRL_LPBACK_EN BIT(4) +#define ALX_MAC_CTRL_RXFC_EN BIT(3) +#define ALX_MAC_CTRL_TXFC_EN BIT(2) +#define ALX_MAC_CTRL_RX_EN BIT(1) +#define ALX_MAC_CTRL_TX_EN BIT(0) + +#define ALX_GAP 0x1484 +#define ALX_GAP_IPGR2_MASK 0x7FUL +#define ALX_GAP_IPGR2_SHIFT 24 +#define ALX_GAP_IPGR1_MASK 0x7FUL +#define ALX_GAP_IPGR1_SHIFT 16 +#define ALX_GAP_MIN_IFG_MASK 0xFFUL +#define ALX_GAP_MIN_IFG_SHIFT 8 +#define ALX_GAP_IPGT_MASK 0x7FUL +#define ALX_GAP_IPGT_SHIFT 0 + +#define ALX_STAD0 0x1488 +#define ALX_STAD1 0x148C + +#define ALX_HASH_TBL0 0x1490 +#define ALX_HASH_TBL1 0x1494 + +#define ALX_HALFD 0x1498 +#define ALX_HALFD_JAM_IPG_MASK 0xFUL +#define ALX_HALFD_JAM_IPG_SHIFT 24 +#define ALX_HALFD_ABEBT_MASK 0xFUL +#define ALX_HALFD_ABEBT_SHIFT 20 +#define ALX_HALFD_ABEBE BIT(19) +#define ALX_HALFD_BPNB BIT(18) +#define ALX_HALFD_NOBO BIT(17) +#define ALX_HALFD_EDXSDFR BIT(16) +#define ALX_HALFD_RETRY_MASK 0xFUL +#define ALX_HALFD_RETRY_SHIFT 12 +#define ALX_HALFD_LCOL_MASK 0x3FFUL +#define ALX_HALFD_LCOL_SHIFT 0 + +#define ALX_MTU 0x149C +#define ALX_MTU_JUMBO_TH 1514 +#define ALX_MTU_STD_ALGN 1536 +#define ALX_MTU_MIN 64 + +#define ALX_SRAM0 0x1500 +#define ALX_SRAM_RFD_TAIL_ADDR_MASK 0xFFFUL +#define ALX_SRAM_RFD_TAIL_ADDR_SHIFT 16 +#define ALX_SRAM_RFD_HEAD_ADDR_MASK 0xFFFUL +#define ALX_SRAM_RFD_HEAD_ADDR_SHIFT 0 + +#define ALX_SRAM1 0x1510 +#define ALX_SRAM_RFD_LEN_MASK 0xFFFUL +#define ALX_SRAM_RFD_LEN_SHIFT 0 + +#define ALX_SRAM2 0x1518 +#define ALX_SRAM_TRD_TAIL_ADDR_MASK 0xFFFUL +#define ALX_SRAM_TRD_TAIL_ADDR_SHIFT 16 +#define ALX_SRMA_TRD_HEAD_ADDR_MASK 0xFFFUL +#define ALX_SRAM_TRD_HEAD_ADDR_SHIFT 0 + +#define ALX_SRAM3 0x151C +#define ALX_SRAM_TRD_LEN_MASK 0xFFFUL +#define ALX_SRAM_TRD_LEN_SHIFT 0 + +#define ALX_SRAM4 0x1520 +#define ALX_SRAM_RXF_TAIL_ADDR_MASK 0xFFFUL +#define ALX_SRAM_RXF_TAIL_ADDR_SHIFT 16 +#define ALX_SRAM_RXF_HEAD_ADDR_MASK 0xFFFUL +#define ALX_SRAM_RXF_HEAD_ADDR_SHIFT 0 + +#define ALX_SRAM5 0x1524 +#define ALX_SRAM_RXF_LEN_MASK 0xFFFUL +#define ALX_SRAM_RXF_LEN_SHIFT 0 +#define ALX_SRAM_RXF_LEN_8K (8*1024) + +#define ALX_SRAM6 0x1528 +#define ALX_SRAM_TXF_TAIL_ADDR_MASK 0xFFFUL +#define ALX_SRAM_TXF_TAIL_ADDR_SHIFT 16 +#define ALX_SRAM_TXF_HEAD_ADDR_MASK 0xFFFUL +#define ALX_SRAM_TXF_HEAD_ADDR_SHIFT 0 + +#define ALX_SRAM7 0x152C +#define ALX_SRAM_TXF_LEN_MASK 0xFFFUL +#define ALX_SRAM_TXF_LEN_SHIFT 0 + +#define ALX_SRAM8 0x1530 +#define ALX_SRAM_PATTERN_ADDR_MASK 0xFFFUL +#define ALX_SRAM_PATTERN_ADDR_SHIFT 16 +#define ALX_SRAM_TSO_ADDR_MASK 0xFFFUL +#define ALX_SRAM_TSO_ADDR_SHIFT 0 + +#define ALX_SRAM9 0x1534 +#define ALX_SRAM_LOAD_PTR BIT(0) + +#define ALX_RX_BASE_ADDR_HI 0x1540 + +#define ALX_TX_BASE_ADDR_HI 0x1544 + +#define ALX_RFD_ADDR_LO 0x1550 +#define ALX_RFD_RING_SZ 0x1560 +#define ALX_RFD_BUF_SZ 0x1564 +#define ALX_RFD_BUF_SZ_MASK 0xFFFFUL +#define ALX_RFD_BUF_SZ_SHIFT 0 + +#define ALX_RRD_ADDR_LO 0x1568 +#define ALX_RRD_RING_SZ 0x1578 +#define ALX_RRD_RING_SZ_MASK 0xFFFUL +#define ALX_RRD_RING_SZ_SHIFT 0 + +/* pri3: highest, pri0: lowest */ +#define ALX_TPD_PRI3_ADDR_LO 0x14E4 +#define ALX_TPD_PRI2_ADDR_LO 0x14E0 +#define ALX_TPD_PRI1_ADDR_LO 0x157C +#define ALX_TPD_PRI0_ADDR_LO 0x1580 + +/* producer index is 16bit */ +#define ALX_TPD_PRI3_PIDX 0x1618 +#define ALX_TPD_PRI2_PIDX 0x161A +#define ALX_TPD_PRI1_PIDX 0x15F0 +#define ALX_TPD_PRI0_PIDX 0x15F2 + +/* consumer index is 16bit */ +#define ALX_TPD_PRI3_CIDX 0x161C +#define ALX_TPD_PRI2_CIDX 0x161E +#define ALX_TPD_PRI1_CIDX 0x15F4 +#define ALX_TPD_PRI0_CIDX 0x15F6 + +#define ALX_TPD_RING_SZ 0x1584 +#define ALX_TPD_RING_SZ_MASK 0xFFFFUL +#define ALX_TPD_RING_SZ_SHIFT 0 + +#define ALX_CMB_ADDR_LO 0x1588 + +#define ALX_TXQ0 0x1590 +#define ALX_TXQ0_TXF_BURST_PREF_MASK 0xFFFFUL +#define ALX_TXQ0_TXF_BURST_PREF_SHIFT 16 +#define ALX_TXQ_TXF_BURST_PREF_DEF 0x200 +#define ALX_TXQ0_PEDING_CLR BIT(8) +#define ALX_TXQ0_LSO_8023_EN BIT(7) +#define ALX_TXQ0_MODE_ENHANCE BIT(6) +#define ALX_TXQ0_EN BIT(5) +#define ALX_TXQ0_SUPT_IPOPT BIT(4) +#define ALX_TXQ0_TPD_BURSTPREF_MASK 0xFUL +#define ALX_TXQ0_TPD_BURSTPREF_SHIFT 0 +#define ALX_TXQ_TPD_BURSTPREF_DEF 5 + +#define ALX_TXQ1 0x1594 +/* bit11: drop large packet, len > (rfd buf) */ +#define ALX_TXQ1_ERRLGPKT_DROP_EN BIT(11) +/* bit[9:0]: 8bytes unit */ +#define ALX_TXQ1_JUMBO_TSOTHR_MASK 0x7FFUL +#define ALX_TXQ1_JUMBO_TSOTHR_SHIFT 0 +#define ALX_TXQ1_JUMBO_TSO_TH (7*1024) + +/* L1 entrance control */ +#define ALX_TXQ2 0x1598 +#define ALX_TXQ2_BURST_EN BIT(31) +#define ALX_TXQ2_BURST_HI_WM_MASK 0xFFFUL +#define ALX_TXQ2_BURST_HI_WM_SHIFT 16 +#define ALX_TXQ2_BURST_LO_WM_MASK 0xFFFUL +#define ALX_TXQ2_BURST_LO_WM_SHIFT 0 + +#define ALX_RXQ0 0x15A0 +#define ALX_RXQ0_EN BIT(31) +#define ALX_RXQ0_CUT_THRU_EN BIT(30) +#define ALX_RXQ0_RSS_HASH_EN BIT(29) +/* bit28: 0:goto Q0, 1:as table */ +#define ALX_RXQ0_NON_IP_QTBL BIT(28) +#define ALX_RXQ0_RSS_MODE_MASK 0x3UL +#define ALX_RXQ0_RSS_MODE_SHIFT 26 +#define ALX_RXQ0_RSS_MODE_DIS 0 +#define ALX_RXQ0_RSS_MODE_SQSI 1 +#define ALX_RXQ0_RSS_MODE_MQSI 2 +#define ALX_RXQ0_RSS_MODE_MQMI 3 +#define ALX_RXQ0_NUM_RFD_PREF_MASK 0x3FUL +#define ALX_RXQ0_NUM_RFD_PREF_SHIFT 20 +#define ALX_RXQ0_NUM_RFD_PREF_DEF 8 +#define ALX_RXQ0_IDT_TBL_SIZE_MASK 0x1FFUL +#define ALX_RXQ0_IDT_TBL_SIZE_SHIFT 8 +#define ALX_RXQ0_IDT_TBL_SIZE_DEF 0x100 +#define ALX_RXQ0_IPV6_PARSE_EN BIT(7) +#define ALX_RXQ0_RSS_HSTYP_MASK 0xFUL +#define ALX_RXQ0_RSS_HSTYP_SHIFT 2 +#define ALX_RXQ0_RSS_HSTYP_IPV6_TCP_EN BIT(5) +#define ALX_RXQ0_RSS_HSTYP_IPV6_EN BIT(4) +#define ALX_RXQ0_RSS_HSTYP_IPV4_TCP_EN BIT(3) +#define ALX_RXQ0_RSS_HSTYP_IPV4_EN BIT(2) +#define ALX_RXQ0_RSS_HSTYP_ALL (\ + ALX_RXQ0_RSS_HSTYP_IPV6_TCP_EN |\ + ALX_RXQ0_RSS_HSTYP_IPV4_TCP_EN |\ + ALX_RXQ0_RSS_HSTYP_IPV6_EN |\ + ALX_RXQ0_RSS_HSTYP_IPV4_EN) +#define ALX_RXQ0_ASPM_THRESH_MASK 0x3UL +#define ALX_RXQ0_ASPM_THRESH_SHIFT 0 +#define ALX_RXQ0_ASPM_THRESH_NO 0 +#define ALX_RXQ0_ASPM_THRESH_1M 1 +#define ALX_RXQ0_ASPM_THRESH_10M 2 +#define ALX_RXQ0_ASPM_THRESH_100M 3 + +#define ALX_RXQ1 0x15A4 +/* 32bytes unit */ +#define ALX_RXQ1_JUMBO_LKAH_MASK 0xFUL +#define ALX_RXQ1_JUMBO_LKAH_SHIFT 12 +#define ALX_RXQ1_RFD_PREF_DOWN_MASK 0x3FUL +#define ALX_RXQ1_RFD_PREF_DOWN_SHIFT 6 +#define ALX_RXQ1_RFD_PREF_UP_MASK 0x3FUL +#define ALX_RXQ1_RFD_PREF_UP_SHIFT 0 + +#define ALX_RXQ2 0x15A8 +/* XOFF: USED SRAM LOWER THAN IT, THEN NOTIFY THE PEER TO SEND AGAIN */ +#define ALX_RXQ2_RXF_XOFF_THRESH_MASK 0xFFFUL +#define ALX_RXQ2_RXF_XOFF_THRESH_SHIFT 16 +#define ALX_RXQ2_RXF_XON_THRESH_MASK 0xFFFUL +#define ALX_RXQ2_RXF_XON_THRESH_SHIFT 0 +/* Size = tx-packet(1522) + IPG(12) + SOF(8) + 64(Pause) + IPG(12) + SOF(8) + + * rx-packet(1522) + delay-of-link(64) + * = 3212. + */ +#define ALX_RXQ2_RXF_FLOW_CTRL_RSVD 3212 + +#define ALX_RXQ3 0x15AC +#define ALX_RXQ3_RXD_TIMER_MASK 0x7FFFUL +#define ALX_RXQ3_RXD_TIMER_SHIFT 16 +/* 8bytes unit */ +#define ALX_RXQ3_RXD_THRESH_MASK 0xFFFUL +#define ALX_RXQ3_RXD_THRESH_SHIFT 0 + +#define ALX_DMA 0x15C0 +#define ALX_DMA_SMB_NOW BIT(31) +#define ALX_DMA_WPEND_CLR BIT(30) +#define ALX_DMA_RPEND_CLR BIT(29) +#define ALX_DMA_WSRAM_RDCTRL BIT(28) +#define ALX_DMA_RCHNL_SEL_MASK 0x3UL +#define ALX_DMA_RCHNL_SEL_SHIFT 26 +#define ALX_DMA_RCHNL_SEL_1 0 +#define ALX_DMA_RCHNL_SEL_2 1 +#define ALX_DMA_RCHNL_SEL_3 2 +#define ALX_DMA_RCHNL_SEL_4 3 +#define ALX_DMA_SMB_EN BIT(21) +#define ALX_DMA_WDLY_CNT_MASK 0xFUL +#define ALX_DMA_WDLY_CNT_SHIFT 16 +#define ALX_DMA_WDLY_CNT_DEF 4 +#define ALX_DMA_RDLY_CNT_MASK 0x1FUL +#define ALX_DMA_RDLY_CNT_SHIFT 11 +#define ALX_DMA_RDLY_CNT_DEF 15 +/* bit10: 0:tpd with pri, 1: data */ +#define ALX_DMA_RREQ_PRI_DATA BIT(10) +#define ALX_DMA_WREQ_BLEN_MASK 0x7UL +#define ALX_DMA_WREQ_BLEN_SHIFT 7 +#define ALX_DMA_RREQ_BLEN_MASK 0x7UL +#define ALX_DMA_RREQ_BLEN_SHIFT 4 +#define ALX_DMA_PENDING_AUTO_RST BIT(3) +#define ALX_DMA_RORDER_MODE_MASK 0x7UL +#define ALX_DMA_RORDER_MODE_SHIFT 0 +#define ALX_DMA_RORDER_MODE_OUT 4 +#define ALX_DMA_RORDER_MODE_ENHANCE 2 +#define ALX_DMA_RORDER_MODE_IN 1 + +#define ALX_WOL0 0x14A0 +#define ALX_WOL0_PT7_MATCH BIT(31) +#define ALX_WOL0_PT6_MATCH BIT(30) +#define ALX_WOL0_PT5_MATCH BIT(29) +#define ALX_WOL0_PT4_MATCH BIT(28) +#define ALX_WOL0_PT3_MATCH BIT(27) +#define ALX_WOL0_PT2_MATCH BIT(26) +#define ALX_WOL0_PT1_MATCH BIT(25) +#define ALX_WOL0_PT0_MATCH BIT(24) +#define ALX_WOL0_PT7_EN BIT(23) +#define ALX_WOL0_PT6_EN BIT(22) +#define ALX_WOL0_PT5_EN BIT(21) +#define ALX_WOL0_PT4_EN BIT(20) +#define ALX_WOL0_PT3_EN BIT(19) +#define ALX_WOL0_PT2_EN BIT(18) +#define ALX_WOL0_PT1_EN BIT(17) +#define ALX_WOL0_PT0_EN BIT(16) +#define ALX_WOL0_IPV4_SYNC_EVT BIT(14) +#define ALX_WOL0_IPV6_SYNC_EVT BIT(13) +#define ALX_WOL0_LINK_EVT BIT(10) +#define ALX_WOL0_MAGIC_EVT BIT(9) +#define ALX_WOL0_PATTERN_EVT BIT(8) +#define ALX_WOL0_SWOI_EVT BIT(7) +#define ALX_WOL0_OOB_EN BIT(6) +#define ALX_WOL0_PME_LINK BIT(5) +#define ALX_WOL0_LINK_EN BIT(4) +#define ALX_WOL0_PME_MAGIC_EN BIT(3) +#define ALX_WOL0_MAGIC_EN BIT(2) +#define ALX_WOL0_PME_PATTERN_EN BIT(1) +#define ALX_WOL0_PATTERN_EN BIT(0) + +#define ALX_WOL1 0x14A4 +#define ALX_WOL1_PT3_LEN_MASK 0xFFUL +#define ALX_WOL1_PT3_LEN_SHIFT 24 +#define ALX_WOL1_PT2_LEN_MASK 0xFFUL +#define ALX_WOL1_PT2_LEN_SHIFT 16 +#define ALX_WOL1_PT1_LEN_MASK 0xFFUL +#define ALX_WOL1_PT1_LEN_SHIFT 8 +#define ALX_WOL1_PT0_LEN_MASK 0xFFUL +#define ALX_WOL1_PT0_LEN_SHIFT 0 + +#define ALX_WOL2 0x14A8 +#define ALX_WOL2_PT7_LEN_MASK 0xFFUL +#define ALX_WOL2_PT7_LEN_SHIFT 24 +#define ALX_WOL2_PT6_LEN_MASK 0xFFUL +#define ALX_WOL2_PT6_LEN_SHIFT 16 +#define ALX_WOL2_PT5_LEN_MASK 0xFFUL +#define ALX_WOL2_PT5_LEN_SHIFT 8 +#define ALX_WOL2_PT4_LEN_MASK 0xFFUL +#define ALX_WOL2_PT4_LEN_SHIFT 0 + +#define ALX_RFD_PIDX 0x15E0 +#define ALX_RFD_PIDX_MASK 0xFFFUL +#define ALX_RFD_PIDX_SHIFT 0 + +#define ALX_RFD_CIDX 0x15F8 +#define ALX_RFD_CIDX_MASK 0xFFFUL +#define ALX_RFD_CIDX_SHIFT 0 + +/* MIB */ +#define ALX_MIB_BASE 0x1700 +#define ALX_MIB_RX_OK (ALX_MIB_BASE + 0) +#define ALX_MIB_RX_BC (ALX_MIB_BASE + 4) +#define ALX_MIB_RX_MC (ALX_MIB_BASE + 8) +#define ALX_MIB_RX_PAUSE (ALX_MIB_BASE + 12) +#define ALX_MIB_RX_CTRL (ALX_MIB_BASE + 16) +#define ALX_MIB_RX_FCS (ALX_MIB_BASE + 20) +#define ALX_MIB_RX_LENERR (ALX_MIB_BASE + 24) +#define ALX_MIB_RX_BYTCNT (ALX_MIB_BASE + 28) +#define ALX_MIB_RX_RUNT (ALX_MIB_BASE + 32) +#define ALX_MIB_RX_FRAGMENT (ALX_MIB_BASE + 36) +#define ALX_MIB_RX_64B (ALX_MIB_BASE + 40) +#define ALX_MIB_RX_127B (ALX_MIB_BASE + 44) +#define ALX_MIB_RX_255B (ALX_MIB_BASE + 48) +#define ALX_MIB_RX_511B (ALX_MIB_BASE + 52) +#define ALX_MIB_RX_1023B (ALX_MIB_BASE + 56) +#define ALX_MIB_RX_1518B (ALX_MIB_BASE + 60) +#define ALX_MIB_RX_SZMAX (ALX_MIB_BASE + 64) +#define ALX_MIB_RX_OVSZ (ALX_MIB_BASE + 68) +#define ALX_MIB_RXF_OV (ALX_MIB_BASE + 72) +#define ALX_MIB_RRD_OV (ALX_MIB_BASE + 76) +#define ALX_MIB_RX_ALIGN (ALX_MIB_BASE + 80) +#define ALX_MIB_RX_BCCNT (ALX_MIB_BASE + 84) +#define ALX_MIB_RX_MCCNT (ALX_MIB_BASE + 88) +#define ALX_MIB_RX_ERRADDR (ALX_MIB_BASE + 92) +#define ALX_MIB_TX_OK (ALX_MIB_BASE + 96) +#define ALX_MIB_TX_BC (ALX_MIB_BASE + 100) +#define ALX_MIB_TX_MC (ALX_MIB_BASE + 104) +#define ALX_MIB_TX_PAUSE (ALX_MIB_BASE + 108) +#define ALX_MIB_TX_EXCDEFER (ALX_MIB_BASE + 112) +#define ALX_MIB_TX_CTRL (ALX_MIB_BASE + 116) +#define ALX_MIB_TX_DEFER (ALX_MIB_BASE + 120) +#define ALX_MIB_TX_BYTCNT (ALX_MIB_BASE + 124) +#define ALX_MIB_TX_64B (ALX_MIB_BASE + 128) +#define ALX_MIB_TX_127B (ALX_MIB_BASE + 132) +#define ALX_MIB_TX_255B (ALX_MIB_BASE + 136) +#define ALX_MIB_TX_511B (ALX_MIB_BASE + 140) +#define ALX_MIB_TX_1023B (ALX_MIB_BASE + 144) +#define ALX_MIB_TX_1518B (ALX_MIB_BASE + 148) +#define ALX_MIB_TX_SZMAX (ALX_MIB_BASE + 152) +#define ALX_MIB_TX_1COL (ALX_MIB_BASE + 156) +#define ALX_MIB_TX_2COL (ALX_MIB_BASE + 160) +#define ALX_MIB_TX_LATCOL (ALX_MIB_BASE + 164) +#define ALX_MIB_TX_ABRTCOL (ALX_MIB_BASE + 168) +#define ALX_MIB_TX_UNDRUN (ALX_MIB_BASE + 172) +#define ALX_MIB_TX_TRDBEOP (ALX_MIB_BASE + 176) +#define ALX_MIB_TX_LENERR (ALX_MIB_BASE + 180) +#define ALX_MIB_TX_TRUNC (ALX_MIB_BASE + 184) +#define ALX_MIB_TX_BCCNT (ALX_MIB_BASE + 188) +#define ALX_MIB_TX_MCCNT (ALX_MIB_BASE + 192) +#define ALX_MIB_UPDATE (ALX_MIB_BASE + 196) + +#define ALX_RX_STATS_BIN ALX_MIB_RX_OK +#define ALX_RX_STATS_END ALX_MIB_RX_ERRADDR +#define ALX_TX_STATS_BIN ALX_MIB_TX_OK +#define ALX_TX_STATS_END ALX_MIB_TX_MCCNT + +#define ALX_ISR 0x1600 +#define ALX_ISR_DIS BIT(31) +#define ALX_ISR_RX_Q7 BIT(30) +#define ALX_ISR_RX_Q6 BIT(29) +#define ALX_ISR_RX_Q5 BIT(28) +#define ALX_ISR_RX_Q4 BIT(27) +#define ALX_ISR_PCIE_LNKDOWN BIT(26) +#define ALX_ISR_PCIE_CERR BIT(25) +#define ALX_ISR_PCIE_NFERR BIT(24) +#define ALX_ISR_PCIE_FERR BIT(23) +#define ALX_ISR_PCIE_UR BIT(22) +#define ALX_ISR_MAC_TX BIT(21) +#define ALX_ISR_MAC_RX BIT(20) +#define ALX_ISR_RX_Q3 BIT(19) +#define ALX_ISR_RX_Q2 BIT(18) +#define ALX_ISR_RX_Q1 BIT(17) +#define ALX_ISR_RX_Q0 BIT(16) +#define ALX_ISR_TX_Q0 BIT(15) +#define ALX_ISR_TXQ_TO BIT(14) +#define ALX_ISR_PHY_LPW BIT(13) +#define ALX_ISR_PHY BIT(12) +#define ALX_ISR_TX_CREDIT BIT(11) +#define ALX_ISR_DMAW BIT(10) +#define ALX_ISR_DMAR BIT(9) +#define ALX_ISR_TXF_UR BIT(8) +#define ALX_ISR_TX_Q3 BIT(7) +#define ALX_ISR_TX_Q2 BIT(6) +#define ALX_ISR_TX_Q1 BIT(5) +#define ALX_ISR_RFD_UR BIT(4) +#define ALX_ISR_RXF_OV BIT(3) +#define ALX_ISR_MANU BIT(2) +#define ALX_ISR_TIMER BIT(1) +#define ALX_ISR_SMB BIT(0) + +#define ALX_IMR 0x1604 + +/* re-send assert msg if SW no response */ +#define ALX_INT_RETRIG 0x1608 +#define ALX_INT_RETRIG_TIMER_MASK 0xFFFFUL +#define ALX_INT_RETRIG_TIMER_SHIFT 0 +/* 40ms */ +#define ALX_INT_RETRIG_TO 20000 + +/* re-send deassert msg if SW no response */ +#define ALX_INT_DEASST_TIMER 0x1614 + +/* reg1620 used for sleep status */ +#define ALX_PATTERN_MASK 0x1620 +#define ALX_PATTERN_MASK_LEN 128 + + +#define ALX_FLT1_SRC_IP0 0x1A00 +#define ALX_FLT1_SRC_IP1 0x1A04 +#define ALX_FLT1_SRC_IP2 0x1A08 +#define ALX_FLT1_SRC_IP3 0x1A0C +#define ALX_FLT1_DST_IP0 0x1A10 +#define ALX_FLT1_DST_IP1 0x1A14 +#define ALX_FLT1_DST_IP2 0x1A18 +#define ALX_FLT1_DST_IP3 0x1A1C +#define ALX_FLT1_PORT 0x1A20 +#define ALX_FLT1_PORT_DST_MASK 0xFFFFUL +#define ALX_FLT1_PORT_DST_SHIFT 16 +#define ALX_FLT1_PORT_SRC_MASK 0xFFFFUL +#define ALX_FLT1_PORT_SRC_SHIFT 0 + +#define ALX_FLT2_SRC_IP0 0x1A24 +#define ALX_FLT2_SRC_IP1 0x1A28 +#define ALX_FLT2_SRC_IP2 0x1A2C +#define ALX_FLT2_SRC_IP3 0x1A30 +#define ALX_FLT2_DST_IP0 0x1A34 +#define ALX_FLT2_DST_IP1 0x1A38 +#define ALX_FLT2_DST_IP2 0x1A40 +#define ALX_FLT2_DST_IP3 0x1A44 +#define ALX_FLT2_PORT 0x1A48 +#define ALX_FLT2_PORT_DST_MASK 0xFFFFUL +#define ALX_FLT2_PORT_DST_SHIFT 16 +#define ALX_FLT2_PORT_SRC_MASK 0xFFFFUL +#define ALX_FLT2_PORT_SRC_SHIFT 0 + +#define ALX_FLT3_SRC_IP0 0x1A4C +#define ALX_FLT3_SRC_IP1 0x1A50 +#define ALX_FLT3_SRC_IP2 0x1A54 +#define ALX_FLT3_SRC_IP3 0x1A58 +#define ALX_FLT3_DST_IP0 0x1A5C +#define ALX_FLT3_DST_IP1 0x1A60 +#define ALX_FLT3_DST_IP2 0x1A64 +#define ALX_FLT3_DST_IP3 0x1A68 +#define ALX_FLT3_PORT 0x1A6C +#define ALX_FLT3_PORT_DST_MASK 0xFFFFUL +#define ALX_FLT3_PORT_DST_SHIFT 16 +#define ALX_FLT3_PORT_SRC_MASK 0xFFFFUL +#define ALX_FLT3_PORT_SRC_SHIFT 0 + +#define ALX_FLT4_SRC_IP0 0x1A70 +#define ALX_FLT4_SRC_IP1 0x1A74 +#define ALX_FLT4_SRC_IP2 0x1A78 +#define ALX_FLT4_SRC_IP3 0x1A7C +#define ALX_FLT4_DST_IP0 0x1A80 +#define ALX_FLT4_DST_IP1 0x1A84 +#define ALX_FLT4_DST_IP2 0x1A88 +#define ALX_FLT4_DST_IP3 0x1A8C +#define ALX_FLT4_PORT 0x1A90 +#define ALX_FLT4_PORT_DST_MASK 0xFFFFUL +#define ALX_FLT4_PORT_DST_SHIFT 16 +#define ALX_FLT4_PORT_SRC_MASK 0xFFFFUL +#define ALX_FLT4_PORT_SRC_SHIFT 0 + +#define ALX_FLT5_SRC_IP0 0x1A94 +#define ALX_FLT5_SRC_IP1 0x1A98 +#define ALX_FLT5_SRC_IP2 0x1A9C +#define ALX_FLT5_SRC_IP3 0x1AA0 +#define ALX_FLT5_DST_IP0 0x1AA4 +#define ALX_FLT5_DST_IP1 0x1AA8 +#define ALX_FLT5_DST_IP2 0x1AAC +#define ALX_FLT5_DST_IP3 0x1AB0 +#define ALX_FLT5_PORT 0x1AB4 +#define ALX_FLT5_PORT_DST_MASK 0xFFFFUL +#define ALX_FLT5_PORT_DST_SHIFT 16 +#define ALX_FLT5_PORT_SRC_MASK 0xFFFFUL +#define ALX_FLT5_PORT_SRC_SHIFT 0 + +#define ALX_FLT6_SRC_IP0 0x1AB8 +#define ALX_FLT6_SRC_IP1 0x1ABC +#define ALX_FLT6_SRC_IP2 0x1AC0 +#define ALX_FLT6_SRC_IP3 0x1AC8 +#define ALX_FLT6_DST_IP0 0x1620 +#define ALX_FLT6_DST_IP1 0x1624 +#define ALX_FLT6_DST_IP2 0x1628 +#define ALX_FLT6_DST_IP3 0x162C +#define ALX_FLT6_PORT 0x1630 +#define ALX_FLT6_PORT_DST_MASK 0xFFFFUL +#define ALX_FLT6_PORT_DST_SHIFT 16 +#define ALX_FLT6_PORT_SRC_MASK 0xFFFFUL +#define ALX_FLT6_PORT_SRC_SHIFT 0 + +#define ALX_FLTCTRL 0x1634 +#define ALX_FLTCTRL_PSTHR_TIMER_MASK 0xFFUL +#define ALX_FLTCTRL_PSTHR_TIMER_SHIFT 24 +#define ALX_FLTCTRL_CHK_DSTPRT6 BIT(23) +#define ALX_FLTCTRL_CHK_SRCPRT6 BIT(22) +#define ALX_FLTCTRL_CHK_DSTIP6 BIT(21) +#define ALX_FLTCTRL_CHK_SRCIP6 BIT(20) +#define ALX_FLTCTRL_CHK_DSTPRT5 BIT(19) +#define ALX_FLTCTRL_CHK_SRCPRT5 BIT(18) +#define ALX_FLTCTRL_CHK_DSTIP5 BIT(17) +#define ALX_FLTCTRL_CHK_SRCIP5 BIT(16) +#define ALX_FLTCTRL_CHK_DSTPRT4 BIT(15) +#define ALX_FLTCTRL_CHK_SRCPRT4 BIT(14) +#define ALX_FLTCTRL_CHK_DSTIP4 BIT(13) +#define ALX_FLTCTRL_CHK_SRCIP4 BIT(12) +#define ALX_FLTCTRL_CHK_DSTPRT3 BIT(11) +#define ALX_FLTCTRL_CHK_SRCPRT3 BIT(10) +#define ALX_FLTCTRL_CHK_DSTIP3 BIT(9) +#define ALX_FLTCTRL_CHK_SRCIP3 BIT(8) +#define ALX_FLTCTRL_CHK_DSTPRT2 BIT(7) +#define ALX_FLTCTRL_CHK_SRCPRT2 BIT(6) +#define ALX_FLTCTRL_CHK_DSTIP2 BIT(5) +#define ALX_FLTCTRL_CHK_SRCIP2 BIT(4) +#define ALX_FLTCTRL_CHK_DSTPRT1 BIT(3) +#define ALX_FLTCTRL_CHK_SRCPRT1 BIT(2) +#define ALX_FLTCTRL_CHK_DSTIP1 BIT(1) +#define ALX_FLTCTRL_CHK_SRCIP1 BIT(0) + +#define ALX_DROP_ALG1 0x1638 +#define ALX_DROP_ALG1_BWCHGVAL_MASK 0xFFFFFUL +#define ALX_DROP_ALG1_BWCHGVAL_SHIFT 12 +/* bit11: 0:3.125%, 1:6.25% */ +#define ALX_DROP_ALG1_BWCHGSCL_6 BIT(11) +#define ALX_DROP_ALG1_ASUR_LWQ_EN BIT(10) +#define ALX_DROP_ALG1_BWCHGVAL_EN BIT(9) +#define ALX_DROP_ALG1_BWCHGSCL_EN BIT(8) +#define ALX_DROP_ALG1_PSTHR_AUTO BIT(7) +#define ALX_DROP_ALG1_MIN_PSTHR_MASK 0x3UL +#define ALX_DROP_ALG1_MIN_PSTHR_SHIFT 5 +#define ALX_DROP_ALG1_MIN_PSTHR_1_16 0 +#define ALX_DROP_ALG1_MIN_PSTHR_1_8 1 +#define ALX_DROP_ALG1_MIN_PSTHR_1_4 2 +#define ALX_DROP_ALG1_MIN_PSTHR_1_2 3 +#define ALX_DROP_ALG1_PSCL_MASK 0x3UL +#define ALX_DROP_ALG1_PSCL_SHIFT 3 +#define ALX_DROP_ALG1_PSCL_1_4 0 +#define ALX_DROP_ALG1_PSCL_1_8 1 +#define ALX_DROP_ALG1_PSCL_1_16 2 +#define ALX_DROP_ALG1_PSCL_1_32 3 +#define ALX_DROP_ALG1_TIMESLOT_MASK 0x7UL +#define ALX_DROP_ALG1_TIMESLOT_SHIFT 0 +#define ALX_DROP_ALG1_TIMESLOT_4MS 0 +#define ALX_DROP_ALG1_TIMESLOT_8MS 1 +#define ALX_DROP_ALG1_TIMESLOT_16MS 2 +#define ALX_DROP_ALG1_TIMESLOT_32MS 3 +#define ALX_DROP_ALG1_TIMESLOT_64MS 4 +#define ALX_DROP_ALG1_TIMESLOT_128MS 5 +#define ALX_DROP_ALG1_TIMESLOT_256MS 6 +#define ALX_DROP_ALG1_TIMESLOT_512MS 7 + +#define ALX_DROP_ALG2 0x163C +#define ALX_DROP_ALG2_SMPLTIME_MASK 0xFUL +#define ALX_DROP_ALG2_SMPLTIME_SHIFT 24 +#define ALX_DROP_ALG2_LWQBW_MASK 0xFFFFFFUL +#define ALX_DROP_ALG2_LWQBW_SHIFT 0 + +#define ALX_SMB_TIMER 0x15C4 + +#define ALX_TINT_TPD_THRSHLD 0x15C8 + +#define ALX_TINT_TIMER 0x15CC + +#define ALX_CLK_GATE 0x1814 +/* bit[8:6]: for B0+ */ +#define ALX_CLK_GATE_125M_SW_DIS_CR BIT(8) +#define ALX_CLK_GATE_125M_SW_AZ BIT(7) +#define ALX_CLK_GATE_125M_SW_IDLE BIT(6) +#define ALX_CLK_GATE_RXMAC BIT(5) +#define ALX_CLK_GATE_TXMAC BIT(4) +#define ALX_CLK_GATE_RXQ BIT(3) +#define ALX_CLK_GATE_TXQ BIT(2) +#define ALX_CLK_GATE_DMAR BIT(1) +#define ALX_CLK_GATE_DMAW BIT(0) +#define ALX_CLK_GATE_ALL_A0 (\ + ALX_CLK_GATE_RXMAC |\ + ALX_CLK_GATE_TXMAC |\ + ALX_CLK_GATE_RXQ |\ + ALX_CLK_GATE_TXQ |\ + ALX_CLK_GATE_DMAR |\ + ALX_CLK_GATE_DMAW) +#define ALX_CLK_GATE_ALL_B0 (\ + ALX_CLK_GATE_ALL_A0) + +/* PORST affect */ +#define ALX_BTROM_CFG 0x1800 + +/* interop between drivers */ +#define ALX_DRV 0x1804 +#define ALX_DRV_PHY_AUTO BIT(28) +#define ALX_DRV_PHY_1000 BIT(27) +#define ALX_DRV_PHY_100 BIT(26) +#define ALX_DRV_PHY_10 BIT(25) +#define ALX_DRV_PHY_DUPLEX BIT(24) +/* bit23: adv Pause */ +#define ALX_DRV_PHY_PAUSE BIT(23) +/* bit22: adv Asym Pause */ +#define ALX_DRV_PHY_APAUSE BIT(22) +/* bit21: 1:en AZ */ +#define ALX_DRV_PHY_EEE BIT(21) +#define ALX_DRV_PHY_MASK 0xFFUL +#define ALX_DRV_PHY_SHIFT 21 +#define ALX_DRV_PHY_UNKNOWN 0 +#define ALX_DRV_DISABLE BIT(18) +#define ALX_DRV_WOLS5_EN BIT(17) +#define ALX_DRV_WOLS5_BIOS_EN BIT(16) +#define ALX_DRV_AZ_EN BIT(12) +#define ALX_DRV_WOLPATTERN_EN BIT(11) +#define ALX_DRV_WOLLINKUP_EN BIT(10) +#define ALX_DRV_WOLMAGIC_EN BIT(9) +#define ALX_DRV_WOLCAP_BIOS_EN BIT(8) +#define ALX_DRV_ASPM_SPD1000LMT_MASK 0x3UL +#define ALX_DRV_ASPM_SPD1000LMT_SHIFT 4 +#define ALX_DRV_ASPM_SPD1000LMT_100M 0 +#define ALX_DRV_ASPM_SPD1000LMT_NO 1 +#define ALX_DRV_ASPM_SPD1000LMT_1M 2 +#define ALX_DRV_ASPM_SPD1000LMT_10M 3 +#define ALX_DRV_ASPM_SPD100LMT_MASK 0x3UL +#define ALX_DRV_ASPM_SPD100LMT_SHIFT 2 +#define ALX_DRV_ASPM_SPD100LMT_1M 0 +#define ALX_DRV_ASPM_SPD100LMT_10M 1 +#define ALX_DRV_ASPM_SPD100LMT_100M 2 +#define ALX_DRV_ASPM_SPD100LMT_NO 3 +#define ALX_DRV_ASPM_SPD10LMT_MASK 0x3UL +#define ALX_DRV_ASPM_SPD10LMT_SHIFT 0 +#define ALX_DRV_ASPM_SPD10LMT_1M 0 +#define ALX_DRV_ASPM_SPD10LMT_10M 1 +#define ALX_DRV_ASPM_SPD10LMT_100M 2 +#define ALX_DRV_ASPM_SPD10LMT_NO 3 + +/* flag of phy inited */ +#define ALX_PHY_INITED 0x003F + +/* PERST affect */ +#define ALX_DRV_ERR1 0x1808 +#define ALX_DRV_ERR1_GEN BIT(31) +#define ALX_DRV_ERR1_NOR BIT(30) +#define ALX_DRV_ERR1_TRUNC BIT(29) +#define ALX_DRV_ERR1_RES BIT(28) +#define ALX_DRV_ERR1_INTFATAL BIT(27) +#define ALX_DRV_ERR1_TXQPEND BIT(26) +#define ALX_DRV_ERR1_DMAW BIT(25) +#define ALX_DRV_ERR1_DMAR BIT(24) +#define ALX_DRV_ERR1_PCIELNKDWN BIT(23) +#define ALX_DRV_ERR1_PKTSIZE BIT(22) +#define ALX_DRV_ERR1_FIFOFUL BIT(21) +#define ALX_DRV_ERR1_RFDUR BIT(20) +#define ALX_DRV_ERR1_RRDSI BIT(19) +#define ALX_DRV_ERR1_UPDATE BIT(18) + +#define ALX_DRV_ERR2 0x180C + +#define ALX_DBG_ADDR 0x1900 +#define ALX_DBG_DATA 0x1904 + +#define ALX_SYNC_IPV4_SA 0x1A00 +#define ALX_SYNC_IPV4_DA 0x1A04 + +#define ALX_SYNC_V4PORT 0x1A08 +#define ALX_SYNC_V4PORT_DST_MASK 0xFFFFUL +#define ALX_SYNC_V4PORT_DST_SHIFT 16 +#define ALX_SYNC_V4PORT_SRC_MASK 0xFFFFUL +#define ALX_SYNC_V4PORT_SRC_SHIFT 0 + +#define ALX_SYNC_IPV6_SA0 0x1A0C +#define ALX_SYNC_IPV6_SA1 0x1A10 +#define ALX_SYNC_IPV6_SA2 0x1A14 +#define ALX_SYNC_IPV6_SA3 0x1A18 +#define ALX_SYNC_IPV6_DA0 0x1A1C +#define ALX_SYNC_IPV6_DA1 0x1A20 +#define ALX_SYNC_IPV6_DA2 0x1A24 +#define ALX_SYNC_IPV6_DA3 0x1A28 + +#define ALX_SYNC_V6PORT 0x1A2C +#define ALX_SYNC_V6PORT_DST_MASK 0xFFFFUL +#define ALX_SYNC_V6PORT_DST_SHIFT 16 +#define ALX_SYNC_V6PORT_SRC_MASK 0xFFFFUL +#define ALX_SYNC_V6PORT_SRC_SHIFT 0 + +#define ALX_ARP_REMOTE_IPV4 0x1A30 +#define ALX_ARP_HOST_IPV4 0x1A34 +#define ALX_ARP_MAC0 0x1A38 +#define ALX_ARP_MAC1 0x1A3C + +#define ALX_1ST_REMOTE_IPV6_0 0x1A40 +#define ALX_1ST_REMOTE_IPV6_1 0x1A44 +#define ALX_1ST_REMOTE_IPV6_2 0x1A48 +#define ALX_1ST_REMOTE_IPV6_3 0x1A4C + +#define ALX_1ST_SN_IPV6_0 0x1A50 +#define ALX_1ST_SN_IPV6_1 0x1A54 +#define ALX_1ST_SN_IPV6_2 0x1A58 +#define ALX_1ST_SN_IPV6_3 0x1A5C + +#define ALX_1ST_TAR_IPV6_1_0 0x1A60 +#define ALX_1ST_TAR_IPV6_1_1 0x1A64 +#define ALX_1ST_TAR_IPV6_1_2 0x1A68 +#define ALX_1ST_TAR_IPV6_1_3 0x1A6C +#define ALX_1ST_TAR_IPV6_2_0 0x1A70 +#define ALX_1ST_TAR_IPV6_2_1 0x1A74 +#define ALX_1ST_TAR_IPV6_2_2 0x1A78 +#define ALX_1ST_TAR_IPV6_2_3 0x1A7C + +#define ALX_2ND_REMOTE_IPV6_0 0x1A80 +#define ALX_2ND_REMOTE_IPV6_1 0x1A84 +#define ALX_2ND_REMOTE_IPV6_2 0x1A88 +#define ALX_2ND_REMOTE_IPV6_3 0x1A8C + +#define ALX_2ND_SN_IPV6_0 0x1A90 +#define ALX_2ND_SN_IPV6_1 0x1A94 +#define ALX_2ND_SN_IPV6_2 0x1A98 +#define ALX_2ND_SN_IPV6_3 0x1A9C + +#define ALX_2ND_TAR_IPV6_1_0 0x1AA0 +#define ALX_2ND_TAR_IPV6_1_1 0x1AA4 +#define ALX_2ND_TAR_IPV6_1_2 0x1AA8 +#define ALX_2ND_TAR_IPV6_1_3 0x1AAC +#define ALX_2ND_TAR_IPV6_2_0 0x1AB0 +#define ALX_2ND_TAR_IPV6_2_1 0x1AB4 +#define ALX_2ND_TAR_IPV6_2_2 0x1AB8 +#define ALX_2ND_TAR_IPV6_2_3 0x1ABC + +#define ALX_1ST_NS_MAC0 0x1AC0 +#define ALX_1ST_NS_MAC1 0x1AC4 + +#define ALX_2ND_NS_MAC0 0x1AC8 +#define ALX_2ND_NS_MAC1 0x1ACC + +#define ALX_PMOFLD 0x144C +/* bit[11:10]: for B0+ */ +#define ALX_PMOFLD_ECMA_IGNR_FRG_SSSR BIT(11) +#define ALX_PMOFLD_ARP_CNFLCT_WAKEUP BIT(10) +#define ALX_PMOFLD_MULTI_SOLD BIT(9) +#define ALX_PMOFLD_ICMP_XSUM BIT(8) +#define ALX_PMOFLD_GARP_REPLY BIT(7) +#define ALX_PMOFLD_SYNCV6_ANY BIT(6) +#define ALX_PMOFLD_SYNCV4_ANY BIT(5) +#define ALX_PMOFLD_BY_HW BIT(4) +#define ALX_PMOFLD_NS_EN BIT(3) +#define ALX_PMOFLD_ARP_EN BIT(2) +#define ALX_PMOFLD_SYNCV6_EN BIT(1) +#define ALX_PMOFLD_SYNCV4_EN BIT(0) + +/* reg 1830 ~ 186C for C0+, 16 bit map patterns and wake packet detection */ +#define ALX_WOL_CTRL2 0x1830 +#define ALX_WOL_CTRL2_DATA_STORE BIT(3) +#define ALX_WOL_CTRL2_PTRN_EVT BIT(2) +#define ALX_WOL_CTRL2_PME_PTRN_EN BIT(1) +#define ALX_WOL_CTRL2_PTRN_EN BIT(0) + +#define ALX_WOL_CTRL3 0x1834 +#define ALX_WOL_CTRL3_PTRN_ADDR_MASK 0xFFFFFUL +#define ALX_WOL_CTRL3_PTRN_ADDR_SHIFT 0 + +#define ALX_WOL_CTRL4 0x1838 +#define ALX_WOL_CTRL4_PT15_MATCH BIT(31) +#define ALX_WOL_CTRL4_PT14_MATCH BIT(30) +#define ALX_WOL_CTRL4_PT13_MATCH BIT(29) +#define ALX_WOL_CTRL4_PT12_MATCH BIT(28) +#define ALX_WOL_CTRL4_PT11_MATCH BIT(27) +#define ALX_WOL_CTRL4_PT10_MATCH BIT(26) +#define ALX_WOL_CTRL4_PT9_MATCH BIT(25) +#define ALX_WOL_CTRL4_PT8_MATCH BIT(24) +#define ALX_WOL_CTRL4_PT7_MATCH BIT(23) +#define ALX_WOL_CTRL4_PT6_MATCH BIT(22) +#define ALX_WOL_CTRL4_PT5_MATCH BIT(21) +#define ALX_WOL_CTRL4_PT4_MATCH BIT(20) +#define ALX_WOL_CTRL4_PT3_MATCH BIT(19) +#define ALX_WOL_CTRL4_PT2_MATCH BIT(18) +#define ALX_WOL_CTRL4_PT1_MATCH BIT(17) +#define ALX_WOL_CTRL4_PT0_MATCH BIT(16) +#define ALX_WOL_CTRL4_PT15_EN BIT(15) +#define ALX_WOL_CTRL4_PT14_EN BIT(14) +#define ALX_WOL_CTRL4_PT13_EN BIT(13) +#define ALX_WOL_CTRL4_PT12_EN BIT(12) +#define ALX_WOL_CTRL4_PT11_EN BIT(11) +#define ALX_WOL_CTRL4_PT10_EN BIT(10) +#define ALX_WOL_CTRL4_PT9_EN BIT(9) +#define ALX_WOL_CTRL4_PT8_EN BIT(8) +#define ALX_WOL_CTRL4_PT7_EN BIT(7) +#define ALX_WOL_CTRL4_PT6_EN BIT(6) +#define ALX_WOL_CTRL4_PT5_EN BIT(5) +#define ALX_WOL_CTRL4_PT4_EN BIT(4) +#define ALX_WOL_CTRL4_PT3_EN BIT(3) +#define ALX_WOL_CTRL4_PT2_EN BIT(2) +#define ALX_WOL_CTRL4_PT1_EN BIT(1) +#define ALX_WOL_CTRL4_PT0_EN BIT(0) + +#define ALX_WOL_CTRL5 0x183C +#define ALX_WOL_CTRL5_PT3_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT3_LEN_SHIFT 24 +#define ALX_WOL_CTRL5_PT2_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT2_LEN_SHIFT 16 +#define ALX_WOL_CTRL5_PT1_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT1_LEN_SHIFT 8 +#define ALX_WOL_CTRL5_PT0_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT0_LEN_SHIFT 0 + +#define ALX_WOL_CTRL6 0x1840 +#define ALX_WOL_CTRL5_PT7_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT7_LEN_SHIFT 24 +#define ALX_WOL_CTRL5_PT6_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT6_LEN_SHIFT 16 +#define ALX_WOL_CTRL5_PT5_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT5_LEN_SHIFT 8 +#define ALX_WOL_CTRL5_PT4_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT4_LEN_SHIFT 0 + +#define ALX_WOL_CTRL7 0x1844 +#define ALX_WOL_CTRL5_PT11_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT11_LEN_SHIFT 24 +#define ALX_WOL_CTRL5_PT10_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT10_LEN_SHIFT 16 +#define ALX_WOL_CTRL5_PT9_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT9_LEN_SHIFT 8 +#define ALX_WOL_CTRL5_PT8_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT8_LEN_SHIFT 0 + +#define ALX_WOL_CTRL8 0x1848 +#define ALX_WOL_CTRL5_PT15_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT15_LEN_SHIFT 24 +#define ALX_WOL_CTRL5_PT14_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT14_LEN_SHIFT 16 +#define ALX_WOL_CTRL5_PT13_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT13_LEN_SHIFT 8 +#define ALX_WOL_CTRL5_PT12_LEN_MASK 0xFFUL +#define ALX_WOL_CTRL5_PT12_LEN_SHIFT 0 + +#define ALX_ACER_FIXED_PTN0 0x1850 +#define ALX_ACER_FIXED_PTN0_MASK 0xFFFFFFFFUL +#define ALX_ACER_FIXED_PTN0_SHIFT 0 + +#define ALX_ACER_FIXED_PTN1 0x1854 +#define ALX_ACER_FIXED_PTN1_MASK 0xFFFFUL +#define ALX_ACER_FIXED_PTN1_SHIFT 0 + +#define ALX_ACER_RANDOM_NUM0 0x1858 +#define ALX_ACER_RANDOM_NUM0_MASK 0xFFFFFFFFUL +#define ALX_ACER_RANDOM_NUM0_SHIFT 0 + +#define ALX_ACER_RANDOM_NUM1 0x185C +#define ALX_ACER_RANDOM_NUM1_MASK 0xFFFFFFFFUL +#define ALX_ACER_RANDOM_NUM1_SHIFT 0 + +#define ALX_ACER_RANDOM_NUM2 0x1860 +#define ALX_ACER_RANDOM_NUM2_MASK 0xFFFFFFFFUL +#define ALX_ACER_RANDOM_NUM2_SHIFT 0 + +#define ALX_ACER_RANDOM_NUM3 0x1864 +#define ALX_ACER_RANDOM_NUM3_MASK 0xFFFFFFFFUL +#define ALX_ACER_RANDOM_NUM3_SHIFT 0 + +#define ALX_ACER_MAGIC 0x1868 +#define ALX_ACER_MAGIC_EN BIT(31) +#define ALX_ACER_MAGIC_PME_EN BIT(30) +#define ALX_ACER_MAGIC_MATCH BIT(29) +#define ALX_ACER_MAGIC_FF_CHECK BIT(10) +#define ALX_ACER_MAGIC_RAN_LEN_MASK 0x1FUL +#define ALX_ACER_MAGIC_RAN_LEN_SHIFT 5 +#define ALX_ACER_MAGIC_FIX_LEN_MASK 0x1FUL +#define ALX_ACER_MAGIC_FIX_LEN_SHIFT 0 + +#define ALX_ACER_TIMER 0x186C +#define ALX_ACER_TIMER_EN BIT(31) +#define ALX_ACER_TIMER_PME_EN BIT(30) +#define ALX_ACER_TIMER_MATCH BIT(29) +#define ALX_ACER_TIMER_THRES_MASK 0x1FFFFUL +#define ALX_ACER_TIMER_THRES_SHIFT 0 +#define ALX_ACER_TIMER_THRES_DEF 1 + +/* RSS definitions */ +#define ALX_RSS_KEY0 0x14B0 +#define ALX_RSS_KEY1 0x14B4 +#define ALX_RSS_KEY2 0x14B8 +#define ALX_RSS_KEY3 0x14BC +#define ALX_RSS_KEY4 0x14C0 +#define ALX_RSS_KEY5 0x14C4 +#define ALX_RSS_KEY6 0x14C8 +#define ALX_RSS_KEY7 0x14CC +#define ALX_RSS_KEY8 0x14D0 +#define ALX_RSS_KEY9 0x14D4 + +#define ALX_RSS_IDT_TBL0 0x1B00 +#define ALX_RSS_IDT_TBL1 0x1B04 +#define ALX_RSS_IDT_TBL2 0x1B08 +#define ALX_RSS_IDT_TBL3 0x1B0C +#define ALX_RSS_IDT_TBL4 0x1B10 +#define ALX_RSS_IDT_TBL5 0x1B14 +#define ALX_RSS_IDT_TBL6 0x1B18 +#define ALX_RSS_IDT_TBL7 0x1B1C +#define ALX_RSS_IDT_TBL8 0x1B20 +#define ALX_RSS_IDT_TBL9 0x1B24 +#define ALX_RSS_IDT_TBL10 0x1B28 +#define ALX_RSS_IDT_TBL11 0x1B2C +#define ALX_RSS_IDT_TBL12 0x1B30 +#define ALX_RSS_IDT_TBL13 0x1B34 +#define ALX_RSS_IDT_TBL14 0x1B38 +#define ALX_RSS_IDT_TBL15 0x1B3C +#define ALX_RSS_IDT_TBL16 0x1B40 +#define ALX_RSS_IDT_TBL17 0x1B44 +#define ALX_RSS_IDT_TBL18 0x1B48 +#define ALX_RSS_IDT_TBL19 0x1B4C +#define ALX_RSS_IDT_TBL20 0x1B50 +#define ALX_RSS_IDT_TBL21 0x1B54 +#define ALX_RSS_IDT_TBL22 0x1B58 +#define ALX_RSS_IDT_TBL23 0x1B5C +#define ALX_RSS_IDT_TBL24 0x1B60 +#define ALX_RSS_IDT_TBL25 0x1B64 +#define ALX_RSS_IDT_TBL26 0x1B68 +#define ALX_RSS_IDT_TBL27 0x1B6C +#define ALX_RSS_IDT_TBL28 0x1B70 +#define ALX_RSS_IDT_TBL29 0x1B74 +#define ALX_RSS_IDT_TBL30 0x1B78 +#define ALX_RSS_IDT_TBL31 0x1B7C + +#define ALX_RSS_HASH_VAL 0x15B0 +#define ALX_RSS_HASH_FLAG 0x15B4 + +#define ALX_RSS_BASE_CPU_NUM 0x15B8 + +#define ALX_MSI_MAP_TBL1 0x15D0 +#define ALX_MSI_MAP_TBL1_ALERT_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_ALERT_SHIFT 28 +#define ALX_MSI_MAP_TBL1_TIMER_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_TIMER_SHIFT 24 +#define ALX_MSI_MAP_TBL1_TXQ1_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_TXQ1_SHIFT 20 +#define ALX_MSI_MAP_TBL1_TXQ0_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_TXQ0_SHIFT 16 +#define ALX_MSI_MAP_TBL1_RXQ3_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_RXQ3_SHIFT 12 +#define ALX_MSI_MAP_TBL1_RXQ2_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_RXQ2_SHIFT 8 +#define ALX_MSI_MAP_TBL1_RXQ1_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_RXQ1_SHIFT 4 +#define ALX_MSI_MAP_TBL1_RXQ0_MASK 0xFUL +#define ALX_MSI_MAP_TBL1_RXQ0_SHIFT 0 + +#define ALX_MSI_MAP_TBL2 0x15D8 +#define ALX_MSI_MAP_TBL2_PHY_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_PHY_SHIFT 28 +#define ALX_MSI_MAP_TBL2_SMB_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_SMB_SHIFT 24 +#define ALX_MSI_MAP_TBL2_TXQ3_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_TXQ3_SHIFT 20 +#define ALX_MSI_MAP_TBL2_TXQ2_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_TXQ2_SHIFT 16 +#define ALX_MSI_MAP_TBL2_RXQ7_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_RXQ7_SHIFT 12 +#define ALX_MSI_MAP_TBL2_RXQ6_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_RXQ6_SHIFT 8 +#define ALX_MSI_MAP_TBL2_RXQ5_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_RXQ5_SHIFT 4 +#define ALX_MSI_MAP_TBL2_RXQ4_MASK 0xFUL +#define ALX_MSI_MAP_TBL2_RXQ4_SHIFT 0 + +#define ALX_MSI_ID_MAP 0x15D4 +#define ALX_MSI_ID_MAP_RXQ7 BIT(30) +#define ALX_MSI_ID_MAP_RXQ6 BIT(29) +#define ALX_MSI_ID_MAP_RXQ5 BIT(28) +#define ALX_MSI_ID_MAP_RXQ4 BIT(27) +/* bit26: 0:common,1:timer */ +#define ALX_MSI_ID_MAP_PCIELNKDW BIT(26) +#define ALX_MSI_ID_MAP_PCIECERR BIT(25) +#define ALX_MSI_ID_MAP_PCIENFERR BIT(24) +#define ALX_MSI_ID_MAP_PCIEFERR BIT(23) +#define ALX_MSI_ID_MAP_PCIEUR BIT(22) +#define ALX_MSI_ID_MAP_MACTX BIT(21) +#define ALX_MSI_ID_MAP_MACRX BIT(20) +#define ALX_MSI_ID_MAP_RXQ3 BIT(19) +#define ALX_MSI_ID_MAP_RXQ2 BIT(18) +#define ALX_MSI_ID_MAP_RXQ1 BIT(17) +#define ALX_MSI_ID_MAP_RXQ0 BIT(16) +#define ALX_MSI_ID_MAP_TXQ0 BIT(15) +#define ALX_MSI_ID_MAP_TXQTO BIT(14) +#define ALX_MSI_ID_MAP_LPW BIT(13) +#define ALX_MSI_ID_MAP_PHY BIT(12) +#define ALX_MSI_ID_MAP_TXCREDIT BIT(11) +#define ALX_MSI_ID_MAP_DMAW BIT(10) +#define ALX_MSI_ID_MAP_DMAR BIT(9) +#define ALX_MSI_ID_MAP_TXFUR BIT(8) +#define ALX_MSI_ID_MAP_TXQ3 BIT(7) +#define ALX_MSI_ID_MAP_TXQ2 BIT(6) +#define ALX_MSI_ID_MAP_TXQ1 BIT(5) +#define ALX_MSI_ID_MAP_RFDUR BIT(4) +#define ALX_MSI_ID_MAP_RXFOV BIT(3) +#define ALX_MSI_ID_MAP_MANU BIT(2) +#define ALX_MSI_ID_MAP_TIMER BIT(1) +#define ALX_MSI_ID_MAP_SMB BIT(0) + +#define ALX_MSI_RETRANS_TIMER 0x1920 +/* bit16: 1:line,0:standard */ +#define ALX_MSI_MASK_SEL_LINE BIT(16) +#define ALX_MSI_RETRANS_TM_MASK 0xFFFFUL +#define ALX_MSI_RETRANS_TM_SHIFT 0 + +#define ALX_CR_DMA_CTRL 0x1930 +#define ALX_CR_DMA_CTRL_PRI BIT(22) +#define ALX_CR_DMA_CTRL_RRDRXD_JOINT BIT(21) +#define ALX_CR_DMA_CTRL_BWCREDIT_MASK 0x3UL +#define ALX_CR_DMA_CTRL_BWCREDIT_SHIFT 19 +#define ALX_CR_DMA_CTRL_BWCREDIT_2KB 0 +#define ALX_CR_DMA_CTRL_BWCREDIT_1KB 1 +#define ALX_CR_DMA_CTRL_BWCREDIT_4KB 2 +#define ALX_CR_DMA_CTRL_BWCREDIT_8KB 3 +#define ALX_CR_DMA_CTRL_BW_EN BIT(18) +#define ALX_CR_DMA_CTRL_BW_RATIO_MASK 0x3UL +#define ALX_CR_DMA_CTRL_BW_RATIO_1_2 0 +#define ALX_CR_DMA_CTRL_BW_RATIO_1_4 1 +#define ALX_CR_DMA_CTRL_BW_RATIO_1_8 2 +#define ALX_CR_DMA_CTRL_BW_RATIO_2_1 3 +#define ALX_CR_DMA_CTRL_SOFT_RST BIT(11) +#define ALX_CR_DMA_CTRL_TXEARLY_EN BIT(10) +#define ALX_CR_DMA_CTRL_RXEARLY_EN BIT(9) +#define ALX_CR_DMA_CTRL_WEARLY_EN BIT(8) +#define ALX_CR_DMA_CTRL_RXTH_MASK 0xFUL +#define ALX_CR_DMA_CTRL_WTH_MASK 0xFUL + + +#define ALX_EFUSE_BIST 0x1934 +#define ALX_EFUSE_BIST_COL_MASK 0x3FUL +#define ALX_EFUSE_BIST_COL_SHIFT 24 +#define ALX_EFUSE_BIST_ROW_MASK 0x7FUL +#define ALX_EFUSE_BIST_ROW_SHIFT 12 +#define ALX_EFUSE_BIST_STEP_MASK 0xFUL +#define ALX_EFUSE_BIST_STEP_SHIFT 8 +#define ALX_EFUSE_BIST_PAT_MASK 0x7UL +#define ALX_EFUSE_BIST_PAT_SHIFT 4 +#define ALX_EFUSE_BIST_CRITICAL BIT(3) +#define ALX_EFUSE_BIST_FIXED BIT(2) +#define ALX_EFUSE_BIST_FAIL BIT(1) +#define ALX_EFUSE_BIST_NOW BIT(0) + +/* CR DMA ctrl */ + +/* TX QoS */ +#define ALX_WRR 0x1938 +#define ALX_WRR_PRI_MASK 0x3UL +#define ALX_WRR_PRI_SHIFT 29 +#define ALX_WRR_PRI_RESTRICT_ALL 0 +#define ALX_WRR_PRI_RESTRICT_HI 1 +#define ALX_WRR_PRI_RESTRICT_HI2 2 +#define ALX_WRR_PRI_RESTRICT_NONE 3 +#define ALX_WRR_PRI3_MASK 0x1FUL +#define ALX_WRR_PRI3_SHIFT 24 +#define ALX_WRR_PRI2_MASK 0x1FUL +#define ALX_WRR_PRI2_SHIFT 16 +#define ALX_WRR_PRI1_MASK 0x1FUL +#define ALX_WRR_PRI1_SHIFT 8 +#define ALX_WRR_PRI0_MASK 0x1FUL +#define ALX_WRR_PRI0_SHIFT 0 + +#define ALX_HQTPD 0x193C +#define ALX_HQTPD_BURST_EN BIT(31) +#define ALX_HQTPD_Q3_NUMPREF_MASK 0xFUL +#define ALX_HQTPD_Q3_NUMPREF_SHIFT 8 +#define ALX_HQTPD_Q2_NUMPREF_MASK 0xFUL +#define ALX_HQTPD_Q2_NUMPREF_SHIFT 4 +#define ALX_HQTPD_Q1_NUMPREF_MASK 0xFUL +#define ALX_HQTPD_Q1_NUMPREF_SHIFT 0 + +#define ALX_CPUMAP1 0x19A0 +#define ALX_CPUMAP1_VCT7_MASK 0xFUL +#define ALX_CPUMAP1_VCT7_SHIFT 28 +#define ALX_CPUMAP1_VCT6_MASK 0xFUL +#define ALX_CPUMAP1_VCT6_SHIFT 24 +#define ALX_CPUMAP1_VCT5_MASK 0xFUL +#define ALX_CPUMAP1_VCT5_SHIFT 20 +#define ALX_CPUMAP1_VCT4_MASK 0xFUL +#define ALX_CPUMAP1_VCT4_SHIFT 16 +#define ALX_CPUMAP1_VCT3_MASK 0xFUL +#define ALX_CPUMAP1_VCT3_SHIFT 12 +#define ALX_CPUMAP1_VCT2_MASK 0xFUL +#define ALX_CPUMAP1_VCT2_SHIFT 8 +#define ALX_CPUMAP1_VCT1_MASK 0xFUL +#define ALX_CPUMAP1_VCT1_SHIFT 4 +#define ALX_CPUMAP1_VCT0_MASK 0xFUL +#define ALX_CPUMAP1_VCT0_SHIFT 0 + +#define ALX_CPUMAP2 0x19A4 +#define ALX_CPUMAP2_VCT15_MASK 0xFUL +#define ALX_CPUMAP2_VCT15_SHIFT 28 +#define ALX_CPUMAP2_VCT14_MASK 0xFUL +#define ALX_CPUMAP2_VCT14_SHIFT 24 +#define ALX_CPUMAP2_VCT13_MASK 0xFUL +#define ALX_CPUMAP2_VCT13_SHIFT 20 +#define ALX_CPUMAP2_VCT12_MASK 0xFUL +#define ALX_CPUMAP2_VCT12_SHIFT 16 +#define ALX_CPUMAP2_VCT11_MASK 0xFUL +#define ALX_CPUMAP2_VCT11_SHIFT 12 +#define ALX_CPUMAP2_VCT10_MASK 0xFUL +#define ALX_CPUMAP2_VCT10_SHIFT 8 +#define ALX_CPUMAP2_VCT9_MASK 0xFUL +#define ALX_CPUMAP2_VCT9_SHIFT 4 +#define ALX_CPUMAP2_VCT8_MASK 0xFUL +#define ALX_CPUMAP2_VCT8_SHIFT 0 + +#define ALX_MISC 0x19C0 +/* bit31: 0:vector,1:cpu */ +#define ALX_MISC_MODU BIT(31) +#define ALX_MISC_OVERCUR BIT(29) +#define ALX_MISC_PSWR_EN BIT(28) +#define ALX_MISC_PSW_CTRL_MASK 0xFUL +#define ALX_MISC_PSW_CTRL_SHIFT 24 +#define ALX_MISC_PSW_OCP_MASK 0x7UL +#define ALX_MISC_PSW_OCP_SHIFT 21 +#define ALX_MISC_PSW_OCP_DEF 0x7 +#define ALX_MISC_V18_HIGH BIT(20) +#define ALX_MISC_LPO_CTRL_MASK 0xFUL +#define ALX_MISC_LPO_CTRL_SHIFT 16 +#define ALX_MISC_ISO_EN BIT(12) +#define ALX_MISC_XSTANA_ALWAYS_ON BIT(11) +#define ALX_MISC_SYS25M_SEL_ADAPTIVE BIT(10) +#define ALX_MISC_SPEED_SIM BIT(9) +#define ALX_MISC_S1_LWP_EN BIT(8) +/* bit7: pcie/mac do pwsaving as phy in lpw state */ +#define ALX_MISC_MACLPW BIT(7) +#define ALX_MISC_125M_SW BIT(6) +#define ALX_MISC_INTNLOSC_OFF_EN BIT(5) +/* bit4: 0:chipset,1:crystle */ +#define ALX_MISC_EXTN25M_SEL BIT(4) +#define ALX_MISC_INTNLOSC_OPEN BIT(3) +#define ALX_MISC_SMBUS_AT_LED BIT(2) +#define ALX_MISC_PPS_AT_LED_MASK 0x3UL +#define ALX_MISC_PPS_AT_LED_SHIFT 0 +#define ALX_MISC_PPS_AT_LED_ACT 1 +#define ALX_MISC_PPS_AT_LED_10_100 2 +#define ALX_MISC_PPS_AT_LED_1000 3 + +#define ALX_MISC1 0x19C4 +#define ALX_MSC1_BLK_CRASPM_REQ BIT(15) + +#define ALX_MSIC2 0x19C8 +#define ALX_MSIC2_CALB_START BIT(0) + +#define ALX_MISC3 0x19CC +/* bit1: 1:Software control 25M */ +#define ALX_MISC3_25M_BY_SW BIT(1) +/* bit0: 25M switch to intnl OSC */ +#define ALX_MISC3_25M_NOTO_INTNL BIT(0) + +/* MSIX tbl in memory space */ +#define ALX_MSIX_ENTRY_BASE 0x2000 + +/***************************** IO mapping registers ***************************/ +#define ALX_IO_ADDR 0x00 +#define ALX_IO_DATA 0x04 +/* same as reg1400 */ +#define ALX_IO_MASTER 0x08 +/* same as reg1480 */ +#define ALX_IO_MAC_CTRL 0x0C +/* same as reg1600 */ +#define ALX_IO_ISR 0x10 +/* same as reg 1604 */ +#define ALX_IO_IMR 0x14 +/* word, same as reg15F0 */ +#define ALX_IO_TPD_PRI1_PIDX 0x18 +/* word, same as reg15F2 */ +#define ALX_IO_TPD_PRI0_PIDX 0x1A +/* word, same as reg15F4 */ +#define ALX_IO_TPD_PRI1_CIDX 0x1C +/* word, same as reg15F6 */ +#define ALX_IO_TPD_PRI0_CIDX 0x1E +/* word, same as reg15E0 */ +#define ALX_IO_RFD_PIDX 0x20 +/* word, same as reg15F8 */ +#define ALX_IO_RFD_CIDX 0x30 +/* same as reg1414 */ +#define ALX_IO_MDIO 0x38 +/* same as reg140C */ +#define ALX_IO_PHY_CTRL 0x3C + + +/********************* PHY regs definition ***************************/ + +/* Autoneg Advertisement Register */ +#define ALX_ADVERTISE_SPEED_MASK 0x01E0 +#define ALX_ADVERTISE_DEFAULT_CAP 0x1DE0 + +/* 1000BASE-T Control Register (0x9) */ +#define ALX_GIGA_CR_1000T_HD_CAPS 0x0100 +#define ALX_GIGA_CR_1000T_FD_CAPS 0x0200 +#define ALX_GIGA_CR_1000T_REPEATER_DTE 0x0400 + +#define ALX_GIGA_CR_1000T_MS_VALUE 0x0800 + +#define ALX_GIGA_CR_1000T_MS_ENABLE 0x1000 + +#define ALX_GIGA_CR_1000T_TEST_MODE_NORMAL 0x0000 +#define ALX_GIGA_CR_1000T_TEST_MODE_1 0x2000 +#define ALX_GIGA_CR_1000T_TEST_MODE_2 0x4000 +#define ALX_GIGA_CR_1000T_TEST_MODE_3 0x6000 +#define ALX_GIGA_CR_1000T_TEST_MODE_4 0x8000 +#define ALX_GIGA_CR_1000T_SPEED_MASK 0x0300 +#define ALX_GIGA_CR_1000T_DEFAULT_CAP 0x0300 + +/* 1000BASE-T Status Register */ +#define ALX_MII_GIGA_SR 0x0A + +/* PHY Specific Status Register */ +#define ALX_MII_GIGA_PSSR 0x11 +#define ALX_GIGA_PSSR_FC_RXEN 0x0004 +#define ALX_GIGA_PSSR_FC_TXEN 0x0008 +#define ALX_GIGA_PSSR_SPD_DPLX_RESOLVED 0x0800 +#define ALX_GIGA_PSSR_DPLX 0x2000 +#define ALX_GIGA_PSSR_SPEED 0xC000 +#define ALX_GIGA_PSSR_10MBS 0x0000 +#define ALX_GIGA_PSSR_100MBS 0x4000 +#define ALX_GIGA_PSSR_1000MBS 0x8000 + +/* PHY Interrupt Enable Register */ +#define ALX_MII_IER 0x12 +#define ALX_IER_LINK_UP 0x0400 +#define ALX_IER_LINK_DOWN 0x0800 + +/* PHY Interrupt Status Register */ +#define ALX_MII_ISR 0x13 +#define ALX_ISR_LINK_UP 0x0400 +#define ALX_ISR_LINK_DOWN 0x0800 + +/* Cable-Detect-Test Control Register */ +#define ALX_MII_CDTC 0x16 +/* self clear */ +#define ALX_CDTC_EN 1 +#define ALX_CDTC_PAIR_MASK 0x3U +#define ALX_CDTC_PAIR_SHIFT 8 + + +/* Cable-Detect-Test Status Register */ +#define ALX_MII_CDTS 0x1C +#define ALX_CDTS_STATUS_MASK 0x3U +#define ALX_CDTS_STATUS_SHIFT 8 +#define ALX_CDTS_STATUS_NORMAL 0 +#define ALX_CDTS_STATUS_SHORT 1 +#define ALX_CDTS_STATUS_OPEN 2 +#define ALX_CDTS_STATUS_INVALID 3 + +#define ALX_MII_DBG_ADDR 0x1D +#define ALX_MII_DBG_DATA 0x1E + +/***************************** debug port *************************************/ + +#define ALX_MIIDBG_ANACTRL 0x00 +#define ALX_ANACTRL_CLK125M_DELAY_EN 0x8000 +#define ALX_ANACTRL_VCO_FAST 0x4000 +#define ALX_ANACTRL_VCO_SLOW 0x2000 +#define ALX_ANACTRL_AFE_MODE_EN 0x1000 +#define ALX_ANACTRL_LCKDET_PHY 0x0800 +#define ALX_ANACTRL_LCKDET_EN 0x0400 +#define ALX_ANACTRL_OEN_125M 0x0200 +#define ALX_ANACTRL_HBIAS_EN 0x0100 +#define ALX_ANACTRL_HB_EN 0x0080 +#define ALX_ANACTRL_SEL_HSP 0x0040 +#define ALX_ANACTRL_CLASSA_EN 0x0020 +#define ALX_ANACTRL_MANUSWON_SWR_MASK 0x3U +#define ALX_ANACTRL_MANUSWON_SWR_SHIFT 2 +#define ALX_ANACTRL_MANUSWON_SWR_2V 0 +#define ALX_ANACTRL_MANUSWON_SWR_1P9V 1 +#define ALX_ANACTRL_MANUSWON_SWR_1P8V 2 +#define ALX_ANACTRL_MANUSWON_SWR_1P7V 3 +#define ALX_ANACTRL_MANUSWON_BW3_4M 0x0002 +#define ALX_ANACTRL_RESTART_CAL 0x0001 +#define ALX_ANACTRL_DEF 0x02EF + + +#define ALX_MIIDBG_SYSMODCTRL 0x04 +#define ALX_SYSMODCTRL_IECHOADJ_PFMH_PHY 0x8000 +#define ALX_SYSMODCTRL_IECHOADJ_BIASGEN 0x4000 +#define ALX_SYSMODCTRL_IECHOADJ_PFML_PHY 0x2000 +#define ALX_SYSMODCTRL_IECHOADJ_PS_MASK 0x3U +#define ALX_SYSMODCTRL_IECHOADJ_PS_SHIFT 10 +#define ALX_SYSMODCTRL_IECHOADJ_PS_40 3 +#define ALX_SYSMODCTRL_IECHOADJ_PS_20 2 +#define ALX_SYSMODCTRL_IECHOADJ_PS_0 1 +#define ALX_SYSMODCTRL_IECHOADJ_10BT_100MV 0x0040 +#define ALX_SYSMODCTRL_IECHOADJ_HLFAP_MASK 0x3U +#define ALX_SYSMODCTRL_IECHOADJ_HLFAP_SHIFT 4 +#define ALX_SYSMODCTRL_IECHOADJ_VDFULBW 0x0008 +#define ALX_SYSMODCTRL_IECHOADJ_VDBIASHLF 0x0004 +#define ALX_SYSMODCTRL_IECHOADJ_VDAMPHLF 0x0002 +#define ALX_SYSMODCTRL_IECHOADJ_VDLANSW 0x0001 +/* en half bias */ +#define ALX_SYSMODCTRL_IECHOADJ_DEF 0xBB8B + + +#define ALX_MIIDBG_SRDSYSMOD 0x05 +#define ALX_SRDSYSMOD_LCKDET_EN 0x2000 +#define ALX_SRDSYSMOD_PLL_EN 0x0800 +#define ALX_SRDSYSMOD_SEL_HSP 0x0400 +#define ALX_SRDSYSMOD_HLFTXDR 0x0200 +#define ALX_SRDSYSMOD_TXCLK_DELAY_EN 0x0100 +#define ALX_SRDSYSMOD_TXELECIDLE 0x0080 +#define ALX_SRDSYSMOD_DEEMP_EN 0x0040 +#define ALX_SRDSYSMOD_MS_PAD 0x0004 +#define ALX_SRDSYSMOD_CDR_ADC_VLTG 0x0002 +#define ALX_SRDSYSMOD_CDR_DAC_1MA 0x0001 +#define ALX_SRDSYSMOD_DEF 0x2C46 + + +#define ALX_MIIDBG_HIBNEG 0x0B +#define ALX_HIBNEG_PSHIB_EN 0x8000 +#define ALX_HIBNEG_WAKE_BOTH 0x4000 +#define ALX_HIBNEG_ONOFF_ANACHG_SUDEN 0x2000 +#define ALX_HIBNEG_HIB_PULSE 0x1000 +#define ALX_HIBNEG_GATE_25M_EN 0x0800 +#define ALX_HIBNEG_RST_80U 0x0400 +#define ALX_HIBNEG_RST_TIMER_MASK 0x3U +#define ALX_HIBNEG_RST_TIMER_SHIFT 8 +#define ALX_HIBNEG_GTX_CLK_DELAY_MASK 0x3U +#define ALX_HIBNEG_GTX_CLK_DELAY_SHIFT 5 +#define ALX_HIBNEG_BYPSS_BRKTIMER 0x0010 +#define ALX_HIBNEG_DEF 0xBC40 +#define ALX_HIBNEG_NOHIB (\ +ALX_HIBNEG_DEF & ~(ALX_HIBNEG_PSHIB_EN | ALX_HIBNEG_HIB_PULSE)) + +#define ALX_MIIDBG_TST10BTCFG 0x12 +#define ALX_TST10BTCFG_INTV_TIMER_MASK 0x3U +#define ALX_TST10BTCFG_INTV_TIMER_SHIFT 14 +#define ALX_TST10BTCFG_TRIGER_TIMER_MASK 0x3U +#define ALX_TST10BTCFG_TRIGER_TIMER_SHIFT 12 +#define ALX_TST10BTCFG_DIV_MAN_MLT3_EN 0x0800 +#define ALX_TST10BTCFG_OFF_DAC_IDLE 0x0400 +#define ALX_TST10BTCFG_LPBK_DEEP 0x0004 +#define ALX_TST10BTCFG_DEF 0x4C04 + +#define ALX_MIIDBG_AZ_ANADECT 0x15 +#define ALX_AZ_ANADECT_10BTRX_TH 0x8000 +#define ALX_AZ_ANADECT_BOTH_01CHNL 0x4000 +#define ALX_AZ_ANADECT_INTV_MASK 0x3FU +#define ALX_AZ_ANADECT_INTV_SHIFT 8 +#define ALX_AZ_ANADECT_THRESH_MASK 0xFU +#define ALX_AZ_ANADECT_THRESH_SHIFT 4 +#define ALX_AZ_ANADECT_CHNL_MASK 0xFU +#define ALX_AZ_ANADECT_CHNL_SHIFT 0 +#define ALX_AZ_ANADECT_DEF 0x3220 +#define ALX_AZ_ANADECT_LONG 0x3210 + +#define ALX_MIIDBG_MSE16DB 0x18 +#define ALX_MSE16DB_UP 0x05EA +#define ALX_MSE16DB_DOWN 0x02EA + +#define ALX_MIIDBG_MSE20DB 0x1C +#define ALX_MSE20DB_TH_MASK 0x7F +#define ALX_MSE20DB_TH_SHIFT 2 +#define ALX_MSE20DB_TH_DEF 0x2E +#define ALX_MSE20DB_TH_HI 0x54 + +#define ALX_MIIDBG_AGC 0x23 +#define ALX_AGC_2_VGA_MASK 0x3FU +#define ALX_AGC_2_VGA_SHIFT 8 +#define ALX_AGC_LONG1G_LIMT 40 +#define ALX_AGC_LONG100M_LIMT 44 + +#define ALX_MIIDBG_LEGCYPS 0x29 +#define ALX_LEGCYPS_EN 0x8000 +#define ALX_LEGCYPS_DAC_AMP1000_MASK 0x7U +#define ALX_LEGCYPS_DAC_AMP1000_SHIFT 12 +#define ALX_LEGCYPS_DAC_AMP100_MASK 0x7U +#define ALX_LEGCYPS_DAC_AMP100_SHIFT 9 +#define ALX_LEGCYPS_DAC_AMP10_MASK 0x7U +#define ALX_LEGCYPS_DAC_AMP10_SHIFT 6 +#define ALX_LEGCYPS_UNPLUG_TIMER_MASK 0x7U +#define ALX_LEGCYPS_UNPLUG_TIMER_SHIFT 3 +#define ALX_LEGCYPS_UNPLUG_DECT_EN 0x0004 +#define ALX_LEGCYPS_ECNC_PS_EN 0x0001 +#define ALX_LEGCYPS_DEF 0x129D + +#define ALX_MIIDBG_TST100BTCFG 0x36 +#define ALX_TST100BTCFG_NORMAL_BW_EN 0x8000 +#define ALX_TST100BTCFG_BADLNK_BYPASS 0x4000 +#define ALX_TST100BTCFG_SHORTCABL_TH_MASK 0x3FU +#define ALX_TST100BTCFG_SHORTCABL_TH_SHIFT 8 +#define ALX_TST100BTCFG_LITCH_EN 0x0080 +#define ALX_TST100BTCFG_VLT_SW 0x0040 +#define ALX_TST100BTCFG_LONGCABL_TH_MASK 0x3FU +#define ALX_TST100BTCFG_LONGCABL_TH_SHIFT 0 +#define ALX_TST100BTCFG_DEF 0xE12C + +#define ALX_MIIDBG_GREENCFG 0x3B +#define ALX_GREENCFG_MSTPS_MSETH2_MASK 0xFFU +#define ALX_GREENCFG_MSTPS_MSETH2_SHIFT 8 +#define ALX_GREENCFG_MSTPS_MSETH1_MASK 0xFFU +#define ALX_GREENCFG_MSTPS_MSETH1_SHIFT 0 +#define ALX_GREENCFG_DEF 0x7078 + +#define ALX_MIIDBG_GREENCFG2 0x3D +#define ALX_GREENCFG2_BP_GREEN 0x8000 +#define ALX_GREENCFG2_GATE_DFSE_EN 0x0080 + + +/***************************** extension **************************************/ + +/******* dev 3 *********/ +#define ALX_MIIEXT_PCS 3 + +#define ALX_MIIEXT_CLDCTRL3 0x8003 +#define ALX_CLDCTRL3_BP_CABLE1TH_DET_GT 0x8000 +#define ALX_CLDCTRL3_AZ_DISAMP 0x1000 + +#define ALX_MIIEXT_CLDCTRL5 0x8005 +#define ALX_CLDCTRL5_BP_VD_HLFBIAS 0x4000 + +#define ALX_MIIEXT_CLDCTRL6 0x8006 +#define ALX_CLDCTRL6_CAB_LEN_MASK 0xFFU +#define ALX_CLDCTRL6_CAB_LEN_SHIFT 0 +#define ALX_CLDCTRL6_CAB_LEN_SHORT1G 116 +#define ALX_CLDCTRL6_CAB_LEN_SHORT100M 152 + +#define ALX_MIIEXT_CLDCTRL7 0x8007 +#define ALX_CLDCTRL7_VDHLF_BIAS_TH_MASK 0x7FU +#define ALX_CLDCTRL7_VDHLF_BIAS_TH_SHIFT 9 +#define ALX_CLDCTRL7_AFE_AZ_MASK 0x1FU +#define ALX_CLDCTRL7_AFE_AZ_SHIFT 4 +#define ALX_CLDCTRL7_SIDE_PEAK_TH_MASK 0xFU +#define ALX_CLDCTRL7_SIDE_PEAK_TH_SHIFT 0 +#define ALX_CLDCTRL7_DEF 0x6BF6 + +#define ALX_MIIEXT_AZCTRL 0x8008 +#define ALX_AZCTRL_SHORT_TH_MASK 0xFFU +#define ALX_AZCTRL_SHORT_TH_SHIFT 8 +#define ALX_AZCTRL_LONG_TH_MASK 0xFFU +#define ALX_AZCTRL_LONG_TH_SHIFT 0 +#define ALX_AZCTRL_DEF 0x1629 + +#define ALX_MIIEXT_AZCTRL2 0x8009 +#define ALX_AZCTRL2_WAKETRNING_MASK 0xFFU +#define ALX_AZCTRL2_WAKETRNING_SHIFT 8 +#define ALX_AZCTRL2_QUIET_TIMER_MASK 0x3U +#define ALX_AZCTRL2_QUIET_TIMER_SHIFT 6 +#define ALX_AZCTRL2_PHAS_JMP2 0x0010 +#define ALX_AZCTRL2_CLKTRCV_125MD16 0x0008 +#define ALX_AZCTRL2_GATE1000_EN 0x0004 +#define ALX_AZCTRL2_AVRG_FREQ 0x0002 +#define ALX_AZCTRL2_PHAS_JMP4 0x0001 +#define ALX_AZCTRL2_DEF 0x32C0 + +#define ALX_MIIEXT_AZCTRL6 0x800D + +#define ALX_MIIEXT_VDRVBIAS 0x8062 +#define ALX_VDRVBIAS_SEL_MASK 0x3U +#define ALX_VDRVBIAS_SEL_SHIFT 0 +#define ALX_VDRVBIAS_DEF 0x3 + +/********* dev 7 **********/ +#define ALX_MIIEXT_ANEG 7 + +#define ALX_MIIEXT_LOCAL_EEEADV 0x3C +#define ALX_LOCAL_EEEADV_1000BT 0x0004 +#define ALX_LOCAL_EEEADV_100BT 0x0002 + +#define ALX_MIIEXT_REMOTE_EEEADV 0x3D +#define ALX_REMOTE_EEEADV_1000BT 0x0004 +#define ALX_REMOTE_EEEADV_100BT 0x0002 + +#define ALX_MIIEXT_EEE_ANEG 0x8000 +#define ALX_EEE_ANEG_1000M 0x0004 +#define ALX_EEE_ANEG_100M 0x0002 + +#define ALX_MIIEXT_AFE 0x801A +#define ALX_AFE_10BT_100M_TH 0x0040 + +#define ALX_MIIEXT_S3DIG10 0x8023 +/* bit0: 1:bypass 10BT rx fifo, 0:riginal 10BT rx */ +#define ALX_MIIEXT_S3DIG10_SL 0x0001 +#define ALX_MIIEXT_S3DIG10_DEF 0 + +#define ALX_MIIEXT_NLP34 0x8025 +/* for 160m */ +#define ALX_MIIEXT_NLP34_DEF 0x1010 + +#define ALX_MIIEXT_NLP56 0x8026 +/* for 160m */ +#define ALX_MIIEXT_NLP56_DEF 0x1010 + +#define ALX_MIIEXT_NLP78 0x8027 +/* for 160m */ +#define ALX_MIIEXT_NLP78_160M_DEF 0x8D05 +#define ALX_MIIEXT_NLP78_120M_DEF 0x8A05 + +#endif --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/Kconfig +++ linux-lts-quantal-3.5.0/ubuntu/alx/Kconfig @@ -0,0 +1,18 @@ + +config ALX + tristate "Qualcomm Atheros L1F Gigabit Ethernet support" + depends on PCI + select CRC32 + select NET_CORE + select MII + ---help--- + This driver supports the Qualcomm Atheros L1F ethernet adapter. + This driver supports following chipsets: + + 1969:1091 - AR8161 Gigabit Ethernet + 1969:1090 - AR8162 Fast Ethernet + 1969:10A1 - AR8171 Gigabit Ethernet + 1969:10A0 - AR8172 Fast Ethernet + + To compile this driver as a module, choose M here. The module + will be called alx. --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/alx_hw.c +++ linux-lts-quantal-3.5.0/ubuntu/alx/alx_hw.c @@ -0,0 +1,1461 @@ +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, 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. + */ +#include +#include +#include +#include + +#include "alx_reg.h" +#include "alx_hw.h" + +#define ALX_REV_A(_r) ((_r) == ALX_REV_A0 || (_r) == ALX_REV_A1) + +/* get permanent mac address from */ +int alx_get_perm_macaddr(struct alx_hw *hw, u8 *addr) +{ + u32 val, mac0, mac1; + u16 flag, i; + +#define INTN_LOADED 0x1 +#define EXTN_LOADED 0x2 + + flag = 0; + val = 0; + +read_mcadr: + + /* get it from register first */ + ALX_MEM_R32(hw, ALX_STAD0, &mac0); + ALX_MEM_R32(hw, ALX_STAD1, &mac1); + + /* addr should be big-endian */ + *(__be32 *)(addr + 2) = cpu_to_be32(mac0); + *(__be16 *)addr = cpu_to_be16((u16)mac1); + + if (is_valid_ether_addr(addr)) + return 0; + + if ((flag & INTN_LOADED) == 0) { + /* load from efuse ? */ + for (i = 0; i < ALX_SLD_MAX_TO; i++) { + ALX_MEM_R32(hw, ALX_SLD, &val); + if ((val & (ALX_SLD_STAT | ALX_SLD_START)) == 0) + break; + mdelay(1); + } + if (i == ALX_SLD_MAX_TO) + goto out; + ALX_MEM_W32(hw, ALX_SLD, val | ALX_SLD_START); + for (i = 0; i < ALX_SLD_MAX_TO; i++) { + mdelay(1); + ALX_MEM_R32(hw, ALX_SLD, &val); + if ((val & ALX_SLD_START) == 0) + break; + } + if (i == ALX_SLD_MAX_TO) + goto out; + flag |= INTN_LOADED; + goto read_mcadr; + } + + if ((flag & EXTN_LOADED) == 0) { + ALX_MEM_R32(hw, ALX_EFLD, &val); + if ((val & (ALX_EFLD_F_EXIST | ALX_EFLD_E_EXIST)) != 0) { + /* load from eeprom/flash ? */ + for (i = 0; i < ALX_SLD_MAX_TO; i++) { + ALX_MEM_R32(hw, ALX_EFLD, &val); + if ((val & (ALX_EFLD_STAT | + ALX_EFLD_START)) == 0) { + break; + } + mdelay(1); + } + if (i == ALX_SLD_MAX_TO) + goto out; + ALX_MEM_W32(hw, ALX_EFLD, val | ALX_EFLD_START); + for (i = 0; i < ALX_SLD_MAX_TO; i++) { + mdelay(1); + ALX_MEM_R32(hw, ALX_EFLD, &val); + if ((val & ALX_EFLD_START) == 0) + break; + } + if (i == ALX_SLD_MAX_TO) + goto out; + flag |= EXTN_LOADED; + goto read_mcadr; + } + } + +out: + return ALX_ERR_ALOAD; +} + +void alx_set_macaddr(struct alx_hw *hw, u8 *addr) +{ + u32 val; + + /* for example: 00-0B-6A-F6-00-DC * STAD0=6AF600DC, STAD1=000B */ + val = be32_to_cpu(*(__be32 *)(addr + 2)); + ALX_MEM_W32(hw, ALX_STAD0, val); + val = be16_to_cpu(*(__be16 *)addr); + ALX_MEM_W32(hw, ALX_STAD1, val); +} + +void alx_add_mc_addr(struct alx_hw *hw, u8 *addr) +{ + u32 crc32, bit, reg; + + crc32 = ether_crc(ETH_ALEN, addr); + + /* The HASH Table is a register array of 2 32-bit registers. + * It is treated like an array of 64 bits. We want to set + * bit BitArray[hash_value]. So we figure out what register + * the bit is in, read it, OR in the new bit, then write + * back the new value. The register is determined by the + * upper 7 bits of the hash value and the bit within that + * register are determined by the lower 5 bits of the value. + */ + reg = (crc32 >> 31) & 0x1; + bit = (crc32 >> 26) & 0x1F; + + hw->mc_hash[reg] |= (0x1 << bit); +} + +void alx_enable_osc(struct alx_hw *hw) +{ + u32 val; + + /* rising edge */ + ALX_MEM_R32(hw, ALX_MISC, &val); + ALX_MEM_W32(hw, ALX_MISC, val & ~ALX_MISC_INTNLOSC_OPEN); + ALX_MEM_W32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); +} + +void alx_reset_osc(struct alx_hw *hw, u8 rev) +{ + u32 val, val2; + + /* clear Internal OSC settings, switching OSC by hw itself */ + ALX_MEM_R32(hw, ALX_MISC3, &val); + ALX_MEM_W32(hw, ALX_MISC3, + (val & ~ALX_MISC3_25M_BY_SW) | ALX_MISC3_25M_NOTO_INTNL); + + /* 25M clk from chipset may be unstable 1s after de-assert of + * PERST, driver need re-calibrate before enter Sleep for WoL + */ + ALX_MEM_R32(hw, ALX_MISC, &val); + if (rev >= ALX_REV_B0) { + /* restore over current protection def-val, + * this val could be reset by MAC-RST + */ + FIELD_SET32(val, ALX_MISC_PSW_OCP, ALX_MISC_PSW_OCP_DEF); + /* a 0->1 change will update the internal val of osc */ + val &= ~ALX_MISC_INTNLOSC_OPEN; + ALX_MEM_W32(hw, ALX_MISC, val); + ALX_MEM_W32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); + /* hw will automatically dis OSC after cab. */ + ALX_MEM_R32(hw, ALX_MSIC2, &val2); + val2 &= ~ALX_MSIC2_CALB_START; + ALX_MEM_W32(hw, ALX_MSIC2, val2); + ALX_MEM_W32(hw, ALX_MSIC2, val2 | ALX_MSIC2_CALB_START); + } else { + val &= ~ALX_MISC_INTNLOSC_OPEN; + /* disable isoloate for A0 */ + if (ALX_REV_A(rev)) + val &= ~ALX_MISC_ISO_EN; + + ALX_MEM_W32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); + ALX_MEM_W32(hw, ALX_MISC, val); + } + + udelay(20); +} + +int alx_reset_mac(struct alx_hw *hw) +{ + u32 val, pmctrl; + int i, ret; + u8 rev; + bool a_cr; + + pmctrl = 0; + rev = (u8)ALX_REVID(hw); + a_cr = ALX_REV_A(rev) && ALX_WITH_CR(hw); + + /* disable all interrupts, RXQ/TXQ */ + ALX_MEM_W32(hw, ALX_MSIX_MASK, 0xFFFFFFFF); + ALX_MEM_W32(hw, ALX_IMR, 0); + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + + ret = alx_stop_mac(hw); + if (ret) + return ret; + + /* mac reset workaroud */ + ALX_MEM_W32(hw, ALX_RFD_PIDX, 1); + + /* dis l0s/l1 before mac reset */ + if (a_cr) { + ALX_MEM_R32(hw, ALX_PMCTRL, &pmctrl); + if ((pmctrl & (ALX_PMCTRL_L1_EN | ALX_PMCTRL_L0S_EN)) != 0) { + ALX_MEM_W32(hw, ALX_PMCTRL, + pmctrl & ~(ALX_PMCTRL_L1_EN | + ALX_PMCTRL_L0S_EN)); + } + } + + /* reset whole mac safely */ + ALX_MEM_R32(hw, ALX_MASTER, &val); + ALX_MEM_W32(hw, ALX_MASTER, + val | ALX_MASTER_DMA_MAC_RST | ALX_MASTER_OOB_DIS); + + /* make sure it's real idle */ + udelay(10); + for (i = 0; i < ALX_DMA_MAC_RST_TO; i++) { + ALX_MEM_R32(hw, ALX_RFD_PIDX, &val); + if (val == 0) + break; + udelay(10); + } + for (; i < ALX_DMA_MAC_RST_TO; i++) { + ALX_MEM_R32(hw, ALX_MASTER, &val); + if ((val & ALX_MASTER_DMA_MAC_RST) == 0) + break; + udelay(10); + } + if (i == ALX_DMA_MAC_RST_TO) + return ALX_ERR_RSTMAC; + udelay(10); + + if (a_cr) { + /* set ALX_MASTER_PCLKSEL_SRDS (affect by soft-rst, PERST) */ + ALX_MEM_W32(hw, ALX_MASTER, val | ALX_MASTER_PCLKSEL_SRDS); + /* resoter l0s / l1 */ + if (pmctrl & (ALX_PMCTRL_L1_EN | ALX_PMCTRL_L0S_EN)) + ALX_MEM_W32(hw, ALX_PMCTRL, pmctrl); + } + + alx_reset_osc(hw, rev); + /* clear Internal OSC settings, switching OSC by hw itself, + * disable isoloate for A version + */ + ALX_MEM_R32(hw, ALX_MISC3, &val); + ALX_MEM_W32(hw, ALX_MISC3, + (val & ~ALX_MISC3_25M_BY_SW) | ALX_MISC3_25M_NOTO_INTNL); + ALX_MEM_R32(hw, ALX_MISC, &val); + val &= ~ALX_MISC_INTNLOSC_OPEN; + if (ALX_REV_A(rev)) + val &= ~ALX_MISC_ISO_EN; + ALX_MEM_W32(hw, ALX_MISC, val); + udelay(20); + + /* driver control speed/duplex, hash-alg */ + ALX_MEM_W32(hw, ALX_MAC_CTRL, hw->rx_ctrl); + + /* clk sw */ + ALX_MEM_R32(hw, ALX_SERDES, &val); + ALX_MEM_W32(hw, ALX_SERDES, + val | ALX_SERDES_MACCLK_SLWDWN | ALX_SERDES_PHYCLK_SLWDWN); + + /* mac reset cause MDIO ctrl restore non-polling status */ + if (hw->is_fpga) + __alx_start_phy_polling(hw, ALX_MDIO_CLK_SEL_25MD128); + + + return ret; +} + +/* alx_reset_phy + * completely reset phy, all settings/workaround will be re-configureed + * hib_en: enable/disable hibernation on PHY + */ +void alx_reset_phy(struct alx_hw *hw, bool hib_en) +{ + int i; + u32 val; + u16 phy_val; + + /* (DSP)reset PHY core */ + ALX_MEM_R32(hw, ALX_PHY_CTRL, &val); + val &= ~(ALX_PHY_CTRL_DSPRST_OUT | ALX_PHY_CTRL_IDDQ | + ALX_PHY_CTRL_GATE_25M | ALX_PHY_CTRL_POWER_DOWN | + ALX_PHY_CTRL_CLS); + val |= ALX_PHY_CTRL_RST_ANALOG; + + if (hib_en) + val |= (ALX_PHY_CTRL_HIB_PULSE | ALX_PHY_CTRL_HIB_EN); + else + val &= ~(ALX_PHY_CTRL_HIB_PULSE | ALX_PHY_CTRL_HIB_EN); + ALX_MEM_W32(hw, ALX_PHY_CTRL, val); + udelay(10); + ALX_MEM_W32(hw, ALX_PHY_CTRL, val | ALX_PHY_CTRL_DSPRST_OUT); + + /* delay 800us */ + for (i = 0; i < ALX_PHY_CTRL_DSPRST_TO; i++) + udelay(10); + + if (hw->is_fpga) + goto set_imr; + + /* phy power saving & hib */ + if (hib_en) { + alx_write_phy_dbg(hw, ALX_MIIDBG_LEGCYPS, ALX_LEGCYPS_DEF); + alx_write_phy_dbg(hw, ALX_MIIDBG_SYSMODCTRL, + ALX_SYSMODCTRL_IECHOADJ_DEF); + alx_write_phy_ext(hw, ALX_MIIEXT_PCS, ALX_MIIEXT_VDRVBIAS, + ALX_VDRVBIAS_DEF); + } else { + alx_write_phy_dbg(hw, ALX_MIIDBG_LEGCYPS, + ALX_LEGCYPS_DEF & ~ALX_LEGCYPS_EN); + alx_write_phy_dbg(hw, ALX_MIIDBG_HIBNEG, ALX_HIBNEG_NOHIB); + alx_write_phy_dbg(hw, ALX_MIIDBG_GREENCFG, ALX_GREENCFG_DEF); + } + + /* EEE advertisement */ + if (ALX_CAP(hw, AZ)) { + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, + ALX_MIIEXT_LOCAL_EEEADV, + ALX_CAP(hw, GIGA) ? + ALX_LOCAL_EEEADV_1000BT | ALX_LOCAL_EEEADV_100BT : + ALX_LOCAL_EEEADV_100BT); + /* half amplify */ + alx_write_phy_dbg(hw, ALX_MIIDBG_AZ_ANADECT, + ALX_AZ_ANADECT_DEF); + } else { + ALX_MEM_R32(hw, ALX_LPI_CTRL, &val); + ALX_MEM_W32(hw, ALX_LPI_CTRL, val & ~ALX_LPI_CTRL_EN); + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, + ALX_MIIEXT_LOCAL_EEEADV, 0); + } + + /* phy power saving */ + alx_write_phy_dbg(hw, ALX_MIIDBG_TST10BTCFG, ALX_TST10BTCFG_DEF); + alx_write_phy_dbg(hw, ALX_MIIDBG_SRDSYSMOD, ALX_SRDSYSMOD_DEF); + alx_write_phy_dbg(hw, ALX_MIIDBG_TST100BTCFG, ALX_TST100BTCFG_DEF); + alx_write_phy_dbg(hw, ALX_MIIDBG_ANACTRL, ALX_ANACTRL_DEF); + alx_read_phy_dbg(hw, ALX_MIIDBG_GREENCFG2, &phy_val); + alx_write_phy_dbg(hw, ALX_MIIDBG_GREENCFG2, + phy_val & ~ALX_GREENCFG2_GATE_DFSE_EN); + /* rtl8139c, 120m issue */ + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_NLP78, + ALX_MIIEXT_NLP78_120M_DEF); + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_S3DIG10, + ALX_MIIEXT_S3DIG10_DEF); + + if (hw->lnk_patch) { + /* Turn off half amplitude */ + alx_read_phy_ext(hw, ALX_MIIEXT_PCS, ALX_MIIEXT_CLDCTRL3, + &phy_val); + alx_write_phy_ext(hw, ALX_MIIEXT_PCS, ALX_MIIEXT_CLDCTRL3, + phy_val | ALX_CLDCTRL3_BP_CABLE1TH_DET_GT); + /* Turn off Green feature */ + alx_read_phy_dbg(hw, ALX_MIIDBG_GREENCFG2, &phy_val); + alx_write_phy_dbg(hw, ALX_MIIDBG_GREENCFG2, + phy_val | ALX_GREENCFG2_BP_GREEN); + /* Turn off half Bias */ + alx_read_phy_ext(hw, ALX_MIIEXT_PCS, ALX_MIIEXT_CLDCTRL5, + &phy_val); + alx_write_phy_ext(hw, ALX_MIIEXT_PCS, ALX_MIIEXT_CLDCTRL5, + phy_val | ALX_CLDCTRL5_BP_VD_HLFBIAS); + } + +set_imr: + /* set phy interrupt mask */ + alx_write_phy_reg(hw, ALX_MII_IER, + ALX_IER_LINK_UP | ALX_IER_LINK_DOWN); +} + +#define ALX_PCI_CMD (\ + PCI_COMMAND_MASTER |\ + PCI_COMMAND_MEMORY |\ + PCI_COMMAND_IO) +/* + * alx_reset_pcie + * reset pcie relative registers (pci command, clk, aspm...) + */ +void alx_reset_pcie(struct alx_hw *hw) +{ + u32 val; + u16 val16; + u8 rev = (u8)ALX_REVID(hw); + + /* Workaround for PCI problem when BIOS sets MMRBC incorrectly. */ + ALX_CFG_R16(hw, PCI_COMMAND, &val16); + if (!(val16 & ALX_PCI_CMD) || (val16 & PCI_COMMAND_INTX_DISABLE)) { + val16 = (val16 | ALX_PCI_CMD) & ~PCI_COMMAND_INTX_DISABLE; + ALX_CFG_W16(hw, PCI_COMMAND, val16); + } + + /* clear WoL setting/status */ + ALX_MEM_R32(hw, ALX_WOL0, &val); + ALX_MEM_W32(hw, ALX_WOL0, 0); + + /* deflt val of PDLL D3PLLOFF */ + ALX_MEM_R32(hw, ALX_PDLL_TRNS1, &val); + ALX_MEM_W32(hw, ALX_PDLL_TRNS1, val & ~ALX_PDLL_TRNS1_D3PLLOFF_EN); + + /* mask some pcie error bits */ + ALX_MEM_R32(hw, ALX_UE_SVRT, &val); + val &= ~(ALX_UE_SVRT_DLPROTERR | ALX_UE_SVRT_FCPROTERR); + ALX_MEM_W32(hw, ALX_UE_SVRT, val); + + /* wol 25M & pclk */ + ALX_MEM_R32(hw, ALX_MASTER, &val); + if (ALX_REV_A(rev) && ALX_WITH_CR(hw)) { + if ((val & ALX_MASTER_WAKEN_25M) == 0 || + (val & ALX_MASTER_PCLKSEL_SRDS) == 0) { + ALX_MEM_W32(hw, ALX_MASTER, + val | ALX_MASTER_PCLKSEL_SRDS | + ALX_MASTER_WAKEN_25M); + } + } else { + if ((val & ALX_MASTER_WAKEN_25M) == 0 || + (val & ALX_MASTER_PCLKSEL_SRDS) != 0) { + ALX_MEM_W32(hw, ALX_MASTER, + (val & ~ALX_MASTER_PCLKSEL_SRDS) | + ALX_MASTER_WAKEN_25M); + } + } + + /* ASPM setting */ + alx_enable_aspm(hw, ALX_CAP(hw, L0S), ALX_CAP(hw, L1)); + + udelay(10); +} + +/* alx_stop_mac + * stop the mac, transmit & receive modules + * return : 0 if ok, none-0 if busy + */ +int alx_stop_mac(struct alx_hw *hw) +{ + u32 rxq, txq, val; + u16 i; + + ALX_MEM_R32(hw, ALX_RXQ0, &rxq); + ALX_MEM_W32(hw, ALX_RXQ0, rxq & ~ALX_RXQ0_EN); + ALX_MEM_R32(hw, ALX_TXQ0, &txq); + ALX_MEM_W32(hw, ALX_TXQ0, txq & ~ALX_TXQ0_EN); + + udelay(40); + + hw->rx_ctrl &= ~(ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_TX_EN); + ALX_MEM_W32(hw, ALX_MAC_CTRL, hw->rx_ctrl); + + for (i = 0; i < ALX_DMA_MAC_RST_TO; i++) { + ALX_MEM_R32(hw, ALX_MAC_STS, &val); + if (!(val & ALX_MAC_STS_IDLE)) + break; + udelay(10); + } + + return (ALX_DMA_MAC_RST_TO == i) ? ALX_ERR_RSTMAC : 0; +} + +/* alx_start_mac + * enable rx/tx MAC module + */ +void alx_start_mac(struct alx_hw *hw) +{ + u32 mac, txq, rxq; + + ALX_MEM_R32(hw, ALX_RXQ0, &rxq); + ALX_MEM_W32(hw, ALX_RXQ0, rxq | ALX_RXQ0_EN); + ALX_MEM_R32(hw, ALX_TXQ0, &txq); + ALX_MEM_W32(hw, ALX_TXQ0, txq | ALX_TXQ0_EN); + + mac = hw->rx_ctrl; + if (hw->link_duplex == FULL_DUPLEX) + mac |= ALX_MAC_CTRL_FULLD; + else + mac &= ~ALX_MAC_CTRL_FULLD; + FIELD_SET32(mac, ALX_MAC_CTRL_SPEED, hw->link_speed == SPEED_1000 ? + ALX_MAC_CTRL_SPEED_1000 : ALX_MAC_CTRL_SPEED_10_100); + mac |= ALX_MAC_CTRL_TX_EN | ALX_MAC_CTRL_RX_EN; + hw->rx_ctrl = mac; + ALX_MEM_W32(hw, ALX_MAC_CTRL, mac); +} + +/* set flow control on MAC side */ +void alx_cfg_mac_fc(struct alx_hw *hw, u8 fc) +{ + if (fc & ALX_FC_RX) + hw->rx_ctrl |= ALX_MAC_CTRL_RXFC_EN; + else + hw->rx_ctrl &= ~ALX_MAC_CTRL_RXFC_EN; + + if (fc & ALX_FC_TX) + hw->rx_ctrl |= ALX_MAC_CTRL_TXFC_EN; + else + hw->rx_ctrl &= ~ALX_MAC_CTRL_TXFC_EN; + + ALX_MEM_W32(hw, ALX_MAC_CTRL, hw->rx_ctrl); +} + +/* enable/disable aspm support */ +void alx_enable_aspm(struct alx_hw *hw, bool l0s_en, bool l1_en) +{ + u32 pmctrl; + u8 rev = (u8)ALX_REVID(hw); + + ALX_MEM_R32(hw, ALX_PMCTRL, &pmctrl); + + FIELD_SET32(pmctrl, ALX_PMCTRL_LCKDET_TIMER, + ALX_PMCTRL_LCKDET_TIMER_DEF); + pmctrl |= ALX_PMCTRL_RCVR_WT_1US | + ALX_PMCTRL_L1_CLKSW_EN | + ALX_PMCTRL_L1_SRDSRX_PWD ; + FIELD_SET32(pmctrl, ALX_PMCTRL_L1REQ_TO, ALX_PMCTRL_L1REG_TO_DEF); + FIELD_SET32(pmctrl, ALX_PMCTRL_L1_TIMER, ALX_PMCTRL_L1_TIMER_16US); + pmctrl &= ~(ALX_PMCTRL_L1_SRDS_EN | + ALX_PMCTRL_L1_SRDSPLL_EN | + ALX_PMCTRL_L1_BUFSRX_EN | + ALX_PMCTRL_SADLY_EN | + ALX_PMCTRL_HOTRST_WTEN| + ALX_PMCTRL_L0S_EN | + ALX_PMCTRL_L1_EN | + ALX_PMCTRL_ASPM_FCEN | + ALX_PMCTRL_TXL1_AFTER_L0S | + ALX_PMCTRL_RXL1_AFTER_L0S + ); + if (ALX_REV_A(rev) && ALX_WITH_CR(hw)) + pmctrl |= ALX_PMCTRL_L1_SRDS_EN | ALX_PMCTRL_L1_SRDSPLL_EN; + + if (l0s_en) + pmctrl |= (ALX_PMCTRL_L0S_EN | ALX_PMCTRL_ASPM_FCEN); + if (l1_en) + pmctrl |= (ALX_PMCTRL_L1_EN | ALX_PMCTRL_ASPM_FCEN); + + ALX_MEM_W32(hw, ALX_PMCTRL, pmctrl); +} + + +/* translate ethtool adv /speed/duplex settting to hw specific value */ +u32 ethadv_to_hw_cfg(struct alx_hw *hw, u32 ethadv_cfg) +{ + u32 cfg = 0; + + if (ethadv_cfg & ADVERTISED_Autoneg) { + cfg |= ALX_DRV_PHY_AUTO; + if (ethadv_cfg & ADVERTISED_10baseT_Half) + cfg |= ALX_DRV_PHY_10; + if (ethadv_cfg & ADVERTISED_10baseT_Full) + cfg |= ALX_DRV_PHY_10 | ALX_DRV_PHY_DUPLEX; + if (ethadv_cfg & ADVERTISED_100baseT_Half) + cfg |= ALX_DRV_PHY_100; + if (ethadv_cfg & ADVERTISED_100baseT_Full) + cfg |= ALX_DRV_PHY_100 | ALX_DRV_PHY_DUPLEX; + if (ethadv_cfg & ADVERTISED_1000baseT_Half) + cfg |= ALX_DRV_PHY_1000; + if (ethadv_cfg & ADVERTISED_1000baseT_Full) + cfg |= ALX_DRV_PHY_100 | ALX_DRV_PHY_DUPLEX; + if (ethadv_cfg & ADVERTISED_Pause) + cfg |= ADVERTISE_PAUSE_CAP; + if (ethadv_cfg & ADVERTISED_Asym_Pause) + cfg |= ADVERTISE_PAUSE_ASYM; + if (ALX_CAP(hw, AZ)) + cfg |= ALX_DRV_PHY_EEE; + } else { + switch (ethadv_cfg) { + case ADVERTISED_10baseT_Half: + cfg |= ALX_DRV_PHY_10; + break; + case ADVERTISED_100baseT_Half: + cfg |= ALX_DRV_PHY_100; + break; + case ADVERTISED_10baseT_Full: + cfg |= ALX_DRV_PHY_10 | ALX_DRV_PHY_DUPLEX; + break; + case ADVERTISED_100baseT_Full: + cfg |= ALX_DRV_PHY_100 | ALX_DRV_PHY_DUPLEX; + break; + } + } + + return cfg; +} + +/* initialize phy for speed / flow control + * ethadv: + * format from ethtool, we use it for both autoneg and force mode + */ +int alx_setup_speed_duplex(struct alx_hw *hw, u32 ethadv, u8 flowctrl) +{ + u16 adv, giga, cr; + u32 val; + int err = 0; + + /* clear flag */ + alx_write_phy_reg(hw, ALX_MII_DBG_ADDR, 0); + ALX_MEM_R32(hw, ALX_DRV, &val); + FIELD_SET32(val, ALX_DRV_PHY, 0); + + if (ethadv & ADVERTISED_Autoneg) { + adv = ADVERTISE_CSMA; + adv |= ethtool_adv_to_mii_adv_t(ethadv); + + if (flowctrl & ALX_FC_ANEG) { + if (flowctrl & ALX_FC_RX) { + adv |= ADVERTISED_Pause; + if (!(flowctrl & ALX_FC_TX)) + adv |= ADVERTISED_Asym_Pause; + } else if (flowctrl & ALX_FC_TX) + adv |= ADVERTISED_Asym_Pause; + } + giga = 0; + if (ALX_CAP(hw, GIGA)) + giga = ethtool_adv_to_mii_ctrl1000_t(ethadv); + + cr = BMCR_RESET | BMCR_ANENABLE | BMCR_ANRESTART; + + if (alx_write_phy_reg(hw, MII_ADVERTISE, adv) || + alx_write_phy_reg(hw, MII_CTRL1000, giga) || + alx_write_phy_reg(hw, MII_BMCR, cr)) + err = ALX_ERR_MIIBUSY; + } else { + cr = BMCR_RESET; + if (ethadv == ADVERTISED_100baseT_Half || + ethadv == ADVERTISED_100baseT_Full) + cr |= BMCR_SPEED100; + if (ethadv == ADVERTISED_10baseT_Full || + ethadv == ADVERTISED_100baseT_Full) + cr |= BMCR_FULLDPLX; + + err = alx_write_phy_reg(hw, MII_BMCR, cr); + } + + if (!err) { + alx_write_phy_reg(hw, ALX_MII_DBG_ADDR, ALX_PHY_INITED); + /* save config to HW */ + val |= ethadv_to_hw_cfg(hw, ethadv); + } + + ALX_MEM_W32(hw, ALX_DRV, val); + + return err; +} + + +/* do post setting on phy if link up/down event occur */ +void alx_post_phy_link(struct alx_hw *hw, u16 speed, bool az_en) +{ + u16 phy_val, len, agc; + u8 revid = (u8)ALX_REVID(hw); + bool adj_th; + + if (revid != ALX_REV_B0 && + revid != ALX_REV_A1 && + revid != ALX_REV_A0) { + return; + } + adj_th = (revid == ALX_REV_B0) ? true : false; + + /* 1000BT/AZ, wrong cable length */ + if (speed != SPEED_0) { + alx_read_phy_ext(hw, ALX_MIIEXT_PCS, ALX_MIIEXT_CLDCTRL6, + &phy_val); + len = FIELD_GETX(phy_val, ALX_CLDCTRL6_CAB_LEN); + alx_read_phy_dbg(hw, ALX_MIIDBG_AGC, &phy_val); + agc = FIELD_GETX(phy_val, ALX_AGC_2_VGA); + + if ((speed == SPEED_1000 && + (len > ALX_CLDCTRL6_CAB_LEN_SHORT1G || + (0 == len && agc > ALX_AGC_LONG1G_LIMT))) || + (speed == SPEED_100 && + (len > ALX_CLDCTRL6_CAB_LEN_SHORT100M || + (0 == len && agc > ALX_AGC_LONG100M_LIMT)))) { + alx_write_phy_dbg(hw, ALX_MIIDBG_AZ_ANADECT, + ALX_AZ_ANADECT_LONG); + alx_read_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_AFE, + &phy_val); + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_AFE, + phy_val | ALX_AFE_10BT_100M_TH); + } else { + alx_write_phy_dbg(hw, ALX_MIIDBG_AZ_ANADECT, + ALX_AZ_ANADECT_DEF); + alx_read_phy_ext(hw, ALX_MIIEXT_ANEG, + ALX_MIIEXT_AFE, &phy_val); + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_AFE, + phy_val & ~ALX_AFE_10BT_100M_TH); + } + + /* threashold adjust */ + if (adj_th && hw->lnk_patch) { + if (speed == SPEED_100) { + alx_write_phy_dbg(hw, ALX_MIIDBG_MSE16DB, + ALX_MSE16DB_UP); + } else if (speed == SPEED_1000) { + /* + * Giga link threshold, raise the tolerance of + * noise 50% + */ + alx_read_phy_dbg(hw, ALX_MIIDBG_MSE20DB, + &phy_val); + FIELD_SETS(phy_val, ALX_MSE20DB_TH, + ALX_MSE20DB_TH_HI); + alx_write_phy_dbg(hw, ALX_MIIDBG_MSE20DB, + phy_val); + } + } + /* phy link-down in 1000BT/AZ mode */ + if (az_en && revid == ALX_REV_B0 && speed == SPEED_1000) { + alx_write_phy_dbg(hw, ALX_MIIDBG_SRDSYSMOD, + ALX_SRDSYSMOD_DEF & ~ALX_SRDSYSMOD_DEEMP_EN); + } + } else { + alx_read_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_AFE, + &phy_val); + alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, ALX_MIIEXT_AFE, + phy_val & ~ALX_AFE_10BT_100M_TH); + + if (adj_th && hw->lnk_patch) { + alx_write_phy_dbg(hw, ALX_MIIDBG_MSE16DB, + ALX_MSE16DB_DOWN); + alx_read_phy_dbg(hw, ALX_MIIDBG_MSE20DB, &phy_val); + FIELD_SETS(phy_val, ALX_MSE20DB_TH, ALX_MSE20DB_TH_DEF); + alx_write_phy_dbg(hw, ALX_MIIDBG_MSE20DB, phy_val); + } + if (az_en && revid == ALX_REV_B0) { + alx_write_phy_dbg(hw, ALX_MIIDBG_SRDSYSMOD, + ALX_SRDSYSMOD_DEF); + } + } +} + + +/* do power saving setting befor enter suspend mode + * NOTE: + * 1. phy link must be established before calling this function + * 2. wol option (pattern,magic,link,etc.) is configed before call it. + */ +int alx_pre_suspend(struct alx_hw *hw, u16 speed) +{ + u32 master, mac, phy, val; + int err = 0; + + ALX_MEM_R32(hw, ALX_MASTER, &master); + master &= ~ALX_MASTER_PCLKSEL_SRDS; + mac = hw->rx_ctrl; + /* 10/100 half */ + FIELD_SET32(mac, ALX_MAC_CTRL_SPEED, ALX_MAC_CTRL_SPEED_10_100); + mac &= ~(ALX_MAC_CTRL_FULLD | ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_TX_EN); + + ALX_MEM_R32(hw, ALX_PHY_CTRL, &phy); + phy &= ~(ALX_PHY_CTRL_DSPRST_OUT | ALX_PHY_CTRL_CLS); + phy |= ALX_PHY_CTRL_RST_ANALOG | ALX_PHY_CTRL_HIB_PULSE | + ALX_PHY_CTRL_HIB_EN; + + /* without any activity */ + if (!(hw->sleep_ctrl & ALX_SLEEP_ACTIVE)) { + err = alx_write_phy_reg(hw, ALX_MII_IER, 0); + phy |= ALX_PHY_CTRL_IDDQ | ALX_PHY_CTRL_POWER_DOWN; + goto config_reg; + } + + if (hw->sleep_ctrl & (ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_CIFS)) + mac |= ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_BRD_EN; + if (hw->sleep_ctrl & ALX_SLEEP_CIFS) + mac |= ALX_MAC_CTRL_TX_EN; + if (speed % 10 == FULL_DUPLEX) + mac |= ALX_MAC_CTRL_FULLD; + if (speed >= SPEED_1000) + FIELD_SET32(mac, ALX_MAC_CTRL_SPEED, ALX_MAC_CTRL_SPEED_1000); + phy |= ALX_PHY_CTRL_DSPRST_OUT; + err = alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, + ALX_MIIEXT_S3DIG10, ALX_MIIEXT_S3DIG10_SL); +config_reg: + + if (!err) { + alx_enable_osc(hw); + hw->rx_ctrl = mac; + ALX_MEM_W32(hw, ALX_MASTER, master); + ALX_MEM_W32(hw, ALX_MAC_CTRL, mac); + ALX_MEM_W32(hw, ALX_PHY_CTRL, phy); + + /* set val of PDLL D3PLLOFF */ + ALX_MEM_R32(hw, ALX_PDLL_TRNS1, &val); + val |= ALX_PDLL_TRNS1_D3PLLOFF_EN; + ALX_MEM_W32(hw, ALX_PDLL_TRNS1, val); + } + + return err; +} + +/* wait mdio module to be idle */ +bool __alx_wait_mdio_idle(struct alx_hw *hw) +{ + u32 val; + int i; + + for (i = 0; i < ALX_MDIO_MAX_AC_TO; i++) { + ALX_MEM_R32(hw, ALX_MDIO, &val); + if (!(val & ALX_MDIO_BUSY)) + break; + udelay(10); + } + return i != ALX_MDIO_MAX_AC_TO; +} + +void __alx_stop_phy_polling(struct alx_hw *hw) +{ + if (!hw->is_fpga) + return; + + ALX_MEM_W32(hw, ALX_MDIO, 0); + __alx_wait_mdio_idle(hw); +} + +void __alx_start_phy_polling(struct alx_hw *hw, u16 clk_sel) +{ + u32 val; + + if (!hw->is_fpga) + return; + + val = ALX_MDIO_SPRES_PRMBL | + FIELDX(ALX_MDIO_CLK_SEL, clk_sel) | + FIELDX(ALX_MDIO_REG, 1) | + ALX_MDIO_START | + ALX_MDIO_OP_READ; + ALX_MEM_W32(hw, ALX_MDIO, val); + __alx_wait_mdio_idle(hw); + val |= ALX_MDIO_AUTO_POLLING; + val &= ~ALX_MDIO_START; + ALX_MEM_W32(hw, ALX_MDIO, val); + udelay(30); +} + +/* __alx_read_phy_core + * core function to read register in PHY via MDIO interface + * ext: extension register (see IEEE 802.3) + * dev: device address (see IEEE 802.3 DEVAD, PRTAD is fixed to 0) + * reg: register to read + */ +int __alx_read_phy_core(struct alx_hw *hw, bool ext, u8 dev, + u16 reg, u16 *phy_data) +{ + u32 val, clk_sel; + int err; + + __alx_stop_phy_polling(hw); + + *phy_data = 0; + + /* use slow clock when it's in hibernation status */ + clk_sel = !hw->link_up ? + ALX_MDIO_CLK_SEL_25MD128 : ALX_MDIO_CLK_SEL_25MD4; + + if (ext) { + val = FIELDX(ALX_MDIO_EXTN_DEVAD, dev) | + FIELDX(ALX_MDIO_EXTN_REG, reg); + ALX_MEM_W32(hw, ALX_MDIO_EXTN, val); + + val = ALX_MDIO_SPRES_PRMBL | + FIELDX(ALX_MDIO_CLK_SEL, clk_sel) | + ALX_MDIO_START | + ALX_MDIO_MODE_EXT | + ALX_MDIO_OP_READ; + } else { + val = ALX_MDIO_SPRES_PRMBL | + FIELDX(ALX_MDIO_CLK_SEL, clk_sel) | + FIELDX(ALX_MDIO_REG, reg) | + ALX_MDIO_START | + ALX_MDIO_OP_READ; + } + ALX_MEM_W32(hw, ALX_MDIO, val); + + if (unlikely(!__alx_wait_mdio_idle(hw))) + err = ALX_ERR_MIIBUSY; + else { + ALX_MEM_R32(hw, ALX_MDIO, &val); + *phy_data = (u16)FIELD_GETX(val, ALX_MDIO_DATA); + err = 0; + } + + __alx_start_phy_polling(hw, clk_sel); + + return err; +} + +/* __alx_write_phy_core + * core function to write to register in PHY via MDIO interface + * ext: extension register (see IEEE 802.3) + * dev: device address (see IEEE 802.3 DEVAD, PRTAD is fixed to 0) + * reg: register to write + */ +int __alx_write_phy_core(struct alx_hw *hw, bool ext, u8 dev, + u16 reg, u16 phy_data) +{ + u32 val, clk_sel; + int err = 0; + + __alx_stop_phy_polling(hw); + + /* use slow clock when it's in hibernation status */ + clk_sel = !hw->link_up ? + ALX_MDIO_CLK_SEL_25MD128 : ALX_MDIO_CLK_SEL_25MD4; + + if (ext) { + val = FIELDX(ALX_MDIO_EXTN_DEVAD, dev) | + FIELDX(ALX_MDIO_EXTN_REG, reg); + ALX_MEM_W32(hw, ALX_MDIO_EXTN, val); + + val = ALX_MDIO_SPRES_PRMBL | + FIELDX(ALX_MDIO_CLK_SEL, clk_sel) | + FIELDX(ALX_MDIO_DATA, phy_data) | + ALX_MDIO_START | + ALX_MDIO_MODE_EXT; + } else { + val = ALX_MDIO_SPRES_PRMBL | + FIELDX(ALX_MDIO_CLK_SEL, clk_sel) | + FIELDX(ALX_MDIO_REG, reg) | + FIELDX(ALX_MDIO_DATA, phy_data) | + ALX_MDIO_START; + } + ALX_MEM_W32(hw, ALX_MDIO, val); + + if (unlikely(!__alx_wait_mdio_idle(hw))) + err = ALX_ERR_MIIBUSY; + + __alx_start_phy_polling(hw, clk_sel); + + return err; +} + +/* read from PHY normal register */ +int __alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data) +{ + return __alx_read_phy_core(hw, false, 0, reg, phy_data); +} + +/* write to PHY normal register */ +int __alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data) +{ + return __alx_write_phy_core(hw, false, 0, reg, phy_data); +} + +/* read from PHY extension register */ +int __alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata) +{ + return __alx_read_phy_core(hw, true, dev, reg, pdata); +} + +/* write to PHY extension register */ +int __alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data) +{ + return __alx_write_phy_core(hw, true, dev, reg, data); +} + +/* read from PHY debug port */ +int __alx_read_phy_dbg(struct alx_hw *hw, u16 reg, u16 *pdata) +{ + int err; + + err = __alx_write_phy_reg(hw, ALX_MII_DBG_ADDR, reg); + if (unlikely(err)) + return err; + else + err = __alx_read_phy_reg(hw, ALX_MII_DBG_DATA, pdata); + + return err; +} + +/* write to PHY debug port */ +int __alx_write_phy_dbg(struct alx_hw *hw, u16 reg, u16 data) +{ + int err; + + err = __alx_write_phy_reg(hw, ALX_MII_DBG_ADDR, reg); + if (unlikely(err)) + return err; + else + err = __alx_write_phy_reg(hw, ALX_MII_DBG_DATA, data); + + return err; +} + +int alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data) +{ + int err; + + spin_lock(&hw->mdio_lock); + err = __alx_read_phy_reg(hw, reg, phy_data); + spin_unlock(&hw->mdio_lock); + + return err; +} + +int alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data) +{ + int err; + + spin_lock(&hw->mdio_lock); + err = __alx_write_phy_reg(hw, reg, phy_data); + spin_unlock(&hw->mdio_lock); + + return err; +} + +int alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata) +{ + int err; + + spin_lock(&hw->mdio_lock); + err = __alx_read_phy_ext(hw, dev, reg, pdata); + spin_unlock(&hw->mdio_lock); + + return err; +} + +int alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data) +{ + int err; + + spin_lock(&hw->mdio_lock); + err = __alx_write_phy_ext(hw, dev, reg, data); + spin_unlock(&hw->mdio_lock); + + return err; +} + +int alx_read_phy_dbg(struct alx_hw *hw, u16 reg, u16 *pdata) +{ + int err; + + spin_lock(&hw->mdio_lock); + err = __alx_read_phy_dbg(hw, reg, pdata); + spin_unlock(&hw->mdio_lock); + + return err; +} + +int alx_write_phy_dbg(struct alx_hw *hw, u16 reg, u16 data) +{ + int err; + + spin_lock(&hw->mdio_lock); + err = __alx_write_phy_dbg(hw, reg, data); + spin_unlock(&hw->mdio_lock); + + return err; +} + +u16 alx_get_phy_config(struct alx_hw *hw) +{ + u32 val; + u16 phy_val; + + ALX_MEM_R32(hw, ALX_PHY_CTRL, &val); + /* phy in rst */ + if ((val & ALX_PHY_CTRL_DSPRST_OUT) == 0) + return ALX_DRV_PHY_UNKNOWN; + + ALX_MEM_R32(hw, ALX_DRV, &val); + val = FIELD_GETX(val, ALX_DRV_PHY); + if (ALX_DRV_PHY_UNKNOWN == val) + return ALX_DRV_PHY_UNKNOWN; + + alx_read_phy_reg(hw, ALX_MII_DBG_ADDR, &phy_val); + if (ALX_PHY_INITED == phy_val) + return (u16) val; + + return ALX_DRV_PHY_UNKNOWN; +} + +bool alx_phy_configed(struct alx_hw *hw) +{ + u32 cfg, hw_cfg; + + cfg = ethadv_to_hw_cfg(hw, hw->adv_cfg); + cfg = FIELD_GETX(cfg, ALX_DRV_PHY); + hw_cfg = alx_get_phy_config(hw); + if (hw_cfg == ALX_DRV_PHY_UNKNOWN) + return false; + + return cfg == hw_cfg; +} + +int alx_get_phy_link(struct alx_hw *hw, bool *link_up, u16 *speed) +{ + struct pci_dev *pdev = hw->pdev; + u16 bmsr, giga; + int err; + + err = alx_read_phy_reg(hw, MII_BMSR, &bmsr); + err = alx_read_phy_reg(hw, MII_BMSR, &bmsr); + if (unlikely(err)) + goto out; + + if (!(bmsr & BMSR_LSTATUS)) { + *link_up = false; + goto out; + } + + *link_up = true; + + /* speed/duplex result is saved in PHY Specific Status Register */ + err = alx_read_phy_reg(hw, ALX_MII_GIGA_PSSR, &giga); + if (unlikely(err)) + goto out; + + if (!(giga & ALX_GIGA_PSSR_SPD_DPLX_RESOLVED)) + goto wrong_spd_out; + + switch (giga & ALX_GIGA_PSSR_SPEED) { + case ALX_GIGA_PSSR_1000MBS: + *speed = SPEED_1000; + break; + case ALX_GIGA_PSSR_100MBS: + *speed = SPEED_100; + break; + case ALX_GIGA_PSSR_10MBS: + *speed = SPEED_10; + break; + default: + goto wrong_spd_out; + } + *speed += (giga & ALX_GIGA_PSSR_DPLX) ? FULL_DUPLEX : HALF_DUPLEX; + goto out; + +wrong_spd_out: + dev_err(&pdev->dev, "PHY SPD/DPLX unresolved :%x\n", giga); + err = -EINVAL; +out: + return err; +} + +int alx_clear_phy_intr(struct alx_hw *hw) +{ + u16 isr; + + /* clear interrupt status by read it */ + return alx_read_phy_reg(hw, ALX_MII_ISR, &isr); +} + +int alx_config_wol(struct alx_hw *hw) +{ + u32 wol; + int err = 0; + + wol = 0; + /* turn on magic packet event */ + if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) { + wol |= ALX_WOL0_MAGIC_EN | ALX_WOL0_PME_MAGIC_EN; + /* magic packet maybe Broadcast&multicast&Unicast frame */ + /* mac |= MAC_CTRL_BC_EN; */ + } + + /* turn on link up event */ + if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) { + wol |= ALX_WOL0_LINK_EN | ALX_WOL0_PME_LINK; + /* only link up can wake up */ + err = alx_write_phy_reg(hw, ALX_MII_IER, ALX_IER_LINK_UP); + } + ALX_MEM_W32(hw, ALX_WOL0, wol); + + return err; +} + +void alx_configure_rss(struct alx_hw *hw, bool en) +{ + u32 ctrl; + int i; + + ALX_MEM_R32(hw, ALX_RXQ0, &ctrl); + + if (en) { + for (i = 0; i < sizeof(hw->rss_key); i++) { + /* rss key should be saved in chip with + * reversed order. + */ + int j = sizeof(hw->rss_key) - i - 1; + + ALX_MEM_W8(hw, ALX_RSS_KEY0 + j, hw->rss_key[i]); + } + + for (i = 0; i < ARRAY_SIZE(hw->rss_idt); i++) + ALX_MEM_W32(hw, ALX_RSS_IDT_TBL0 + i * 4, + hw->rss_idt[i]); + + FIELD_SET32(ctrl, ALX_RXQ0_RSS_HSTYP, hw->rss_hash_type); + FIELD_SET32(ctrl, ALX_RXQ0_RSS_MODE, ALX_RXQ0_RSS_MODE_MQMI); + FIELD_SET32(ctrl, ALX_RXQ0_IDT_TBL_SIZE, hw->rss_idt_size); + ctrl |= ALX_RXQ0_RSS_HASH_EN; + } else { + ctrl &= ~ALX_RXQ0_RSS_HASH_EN; + } + + ALX_MEM_W32(hw, ALX_RXQ0, ctrl); +} + +void alx_configure_basic(struct alx_hw *hw) +{ + u32 val, raw_mtu, max_payload; + u16 val16; + u8 chip_rev = ALX_REVID(hw); + + /* mac address */ + alx_set_macaddr(hw, hw->mac_addr); + + /* clk gating */ + ALX_MEM_W32(hw, ALX_CLK_GATE, ALX_CLK_GATE_ALL_A0); + + /* idle timeout to switch clk_125M */ + if (chip_rev >= ALX_REV_B0) { + ALX_MEM_W32(hw, ALX_IDLE_DECISN_TIMER, + ALX_IDLE_DECISN_TIMER_DEF); + } + + /* stats refresh timeout */ + ALX_MEM_W32(hw, ALX_SMB_TIMER, hw->smb_timer * 500UL); + + /* intr moduration */ + ALX_MEM_R32(hw, ALX_MASTER, &val); + val = val | ALX_MASTER_IRQMOD2_EN | + ALX_MASTER_IRQMOD1_EN | + ALX_MASTER_SYSALVTIMER_EN; + ALX_MEM_W32(hw, ALX_MASTER, val); + ALX_MEM_W32(hw, ALX_IRQ_MODU_TIMER, + FIELDX(ALX_IRQ_MODU_TIMER1, hw->imt >> 1)); + /* intr re-trig timeout */ + ALX_MEM_W32(hw, ALX_INT_RETRIG, ALX_INT_RETRIG_TO); + /* tpd threshold to trig int */ + ALX_MEM_W32(hw, ALX_TINT_TPD_THRSHLD, hw->ith_tpd); + ALX_MEM_W32(hw, ALX_TINT_TIMER, hw->imt); + + /* mtu, 8:fcs+vlan */ + raw_mtu = hw->mtu + ETH_HLEN; + ALX_MEM_W32(hw, ALX_MTU, raw_mtu + 8); + if (raw_mtu > ALX_MTU_JUMBO_TH) + hw->rx_ctrl &= ~ALX_MAC_CTRL_FAST_PAUSE; + + /* txq */ + if ((raw_mtu + 8) < ALX_TXQ1_JUMBO_TSO_TH) + val = (raw_mtu + 8 + 7) >> 3; + else + val = ALX_TXQ1_JUMBO_TSO_TH >> 3; + ALX_MEM_W32(hw, ALX_TXQ1, val | ALX_TXQ1_ERRLGPKT_DROP_EN); + max_payload = alx_get_readrq(hw) >> 8; + /* + * if BIOS had changed the default dma read max length, + * restore it to default value + */ + if (max_payload < ALX_DEV_CTRL_MAXRRS_MIN) + alx_set_readrq(hw, 128 << ALX_DEV_CTRL_MAXRRS_MIN); + + val = FIELDX(ALX_TXQ0_TPD_BURSTPREF, ALX_TXQ_TPD_BURSTPREF_DEF) | + ALX_TXQ0_MODE_ENHANCE | + ALX_TXQ0_LSO_8023_EN | + ALX_TXQ0_SUPT_IPOPT | + FIELDX(ALX_TXQ0_TXF_BURST_PREF, ALX_TXQ_TXF_BURST_PREF_DEF); + ALX_MEM_W32(hw, ALX_TXQ0, val); + val = FIELDX(ALX_HQTPD_Q1_NUMPREF, ALX_TXQ_TPD_BURSTPREF_DEF) | + FIELDX(ALX_HQTPD_Q2_NUMPREF, ALX_TXQ_TPD_BURSTPREF_DEF) | + FIELDX(ALX_HQTPD_Q3_NUMPREF, ALX_TXQ_TPD_BURSTPREF_DEF) | + ALX_HQTPD_BURST_EN; + ALX_MEM_W32(hw, ALX_HQTPD, val); + + /* rxq, flow control */ + ALX_MEM_R32(hw, ALX_SRAM5, &val); + val = FIELD_GETX(val, ALX_SRAM_RXF_LEN) << 3; + if (val > ALX_SRAM_RXF_LEN_8K) { + val16 = ALX_MTU_STD_ALGN >> 3; + val = (val - ALX_RXQ2_RXF_FLOW_CTRL_RSVD) >> 3; + } else { + val16 = ALX_MTU_STD_ALGN >> 3; + val = (val - ALX_MTU_STD_ALGN) >> 3; + } + ALX_MEM_W32(hw, ALX_RXQ2, + FIELDX(ALX_RXQ2_RXF_XOFF_THRESH, val16) | + FIELDX(ALX_RXQ2_RXF_XON_THRESH, val)); + val = FIELDX(ALX_RXQ0_NUM_RFD_PREF, ALX_RXQ0_NUM_RFD_PREF_DEF) | + FIELDX(ALX_RXQ0_RSS_MODE, ALX_RXQ0_RSS_MODE_DIS) | + FIELDX(ALX_RXQ0_IDT_TBL_SIZE, ALX_RXQ0_IDT_TBL_SIZE_DEF) | + ALX_RXQ0_RSS_HSTYP_ALL | + ALX_RXQ0_RSS_HASH_EN | + ALX_RXQ0_IPV6_PARSE_EN; + if (ALX_CAP(hw, GIGA)) { + FIELD_SET32(val, ALX_RXQ0_ASPM_THRESH, + ALX_RXQ0_ASPM_THRESH_100M); + } + ALX_MEM_W32(hw, ALX_RXQ0, val); + + /* DMA */ + ALX_MEM_R32(hw, ALX_DMA, &val); + val = FIELDX(ALX_DMA_RORDER_MODE, ALX_DMA_RORDER_MODE_OUT) | + ALX_DMA_RREQ_PRI_DATA | + FIELDX(ALX_DMA_RREQ_BLEN, max_payload) | + FIELDX(ALX_DMA_WDLY_CNT, ALX_DMA_WDLY_CNT_DEF) | + FIELDX(ALX_DMA_RDLY_CNT, ALX_DMA_RDLY_CNT_DEF) | + FIELDX(ALX_DMA_RCHNL_SEL, hw->dma_chnl - 1); + ALX_MEM_W32(hw, ALX_DMA, val); + + /* multi-tx-q weight */ + if (ALX_CAP(hw, MTQ)) { + val = FIELDX(ALX_WRR_PRI, hw->wrr_ctrl) | + FIELDX(ALX_WRR_PRI0, hw->wrr[0]) | + FIELDX(ALX_WRR_PRI1, hw->wrr[1]) | + FIELDX(ALX_WRR_PRI2, hw->wrr[2]) | + FIELDX(ALX_WRR_PRI3, hw->wrr[3]); + ALX_MEM_W32(hw, ALX_WRR, val); + } +} + +void alx_mask_msix(struct alx_hw *hw, int index, bool mask) +{ + u32 reg, val; + + reg = ALX_MSIX_ENTRY_BASE + index * PCI_MSIX_ENTRY_SIZE + + PCI_MSIX_ENTRY_VECTOR_CTRL; + + val = mask ? PCI_MSIX_ENTRY_CTRL_MASKBIT : 0; + + ALX_MEM_W32(hw, reg, val); + ALX_MEM_FLUSH(hw); +} + +int alx_select_powersaving_speed(struct alx_hw *hw, u16 *speed) +{ + int i, err; + u16 spd, lpa; + bool linkup; + + err = alx_get_phy_link(hw, &linkup, &spd); + if (err) + goto out; + + if (!linkup) { + *speed = SPEED_0; + goto out; + } + + err = alx_read_phy_reg(hw, MII_LPA, &lpa); + if (err) + goto out; + + if (!(lpa & LPA_LPACK)) { + *speed = spd; + goto out; + } + if (lpa & LPA_10FULL) + *speed = SPEED_10 + FULL_DUPLEX; + else if (lpa & LPA_10HALF) + *speed = SPEED_10 + HALF_DUPLEX; + else if (lpa & LPA_100FULL) + *speed = SPEED_100 + FULL_DUPLEX; + else + *speed = SPEED_100 + HALF_DUPLEX; + + if (*speed != spd) { + err = alx_write_phy_reg(hw, ALX_MII_IER, 0); + if (err) + goto out; + err = alx_setup_speed_duplex(hw, + ALX_SPEED_TO_ETHADV(*speed) | ADVERTISED_Autoneg, + ALX_FC_ANEG | ALX_FC_RX | ALX_FC_TX); + if (err) + goto out; + + /* wait for linkup */ + for (i = 0; i < ALX_MAX_SETUP_LNK_CYCLE; i++) { + u16 speed2; + bool link_on; + + msleep(100); + err = alx_get_phy_link(hw, &link_on, &speed2); + if (err) + goto out; + if (link_on) + break; + } + if (i == ALX_MAX_SETUP_LNK_CYCLE) { + err = ALX_LINK_TIMEOUT; + goto out; + } + } + +out: + return err; +} + +void __alx_update_hw_stats(struct alx_hw *hw) +{ + u16 reg; + u32 data; + unsigned long *p; + + /* RX stats */ + reg = ALX_RX_STATS_BIN; + p = &hw->stats.rx_ok; + while (reg <= ALX_RX_STATS_END) { + ALX_MEM_R32(hw, reg, &data); + *p++ += data; + reg += 4; + } + + /* TX stats */ + reg = ALX_TX_STATS_BIN; + p = &hw->stats.tx_ok; + while (reg <= ALX_TX_STATS_END) { + ALX_MEM_R32(hw, reg, &data); + *p++ += data; + reg += 4; + } +} + +static const struct alx_platform_patch plats[] = { +{0x1091, 0x00, 0x1969, 0x0091, 0x1001}, +{0}, +}; + +void alx_patch_assign(struct alx_hw *hw) +{ + int i = 0; + + while (plats[i].pci_did != 0) { + if (plats[i].pci_did == ALX_DID(hw) && + plats[i].subsystem_vid == ALX_SUB_VID(hw) && + plats[i].subsystem_did == ALX_SUB_DID(hw) && + (plats[i].pflag & ALX_PF_ANY_REV || + plats[i].pci_rev == hw->revision)) { + if (plats[i].pflag & ALX_PF_LINK) + hw->lnk_patch = true; + if (plats[i].pflag & ALX_PF_HIB) + hw->hib_patch = true; + } + i++; + } +} + +bool alx_get_phy_info(struct alx_hw *hw) +{ + u16 devs1, devs2; + + if (alx_read_phy_reg(hw, MII_PHYSID1, &hw->phy_id[0]) || + alx_read_phy_reg(hw, MII_PHYSID2, &hw->phy_id[1])) + return false; + + /* since we haven't PMA/PMD status2 register, we can't + * use mdio45_probe function for prtad and mmds. + * use fixed MMD3 to get mmds. + */ + if (alx_read_phy_ext(hw, 3, MDIO_DEVS1, &devs1) || + alx_read_phy_ext(hw, 3, MDIO_DEVS2, &devs2)) + return false; + hw->mdio.mmds = devs1 | devs2 << 16; + + return true; +} --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/alx.h +++ linux-lts-quantal-3.5.0/ubuntu/alx/alx.h @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, 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 _ALX_H_ +#define _ALX_H_ + +#define ALX_WATCHDOG_TIME (5 * HZ) + +/* alx_ring_header is a single, contiguous block of memory space + * used by the three descriptor rings (tpd, rfd, rrd) + */ +struct alx_ring_header { + /* virt addr */ + void *desc; + /* phy addr */ + dma_addr_t dma; + u32 size; +}; + +/* alx_buffer wraps around a pointer to a socket buffer + * so a DMA physical address can be stored along with the skb + */ +struct alx_buffer { + struct sk_buff *skb; + /* DMA address */ + DEFINE_DMA_UNMAP_ADDR(dma); + /* buffer size */ + DEFINE_DMA_UNMAP_LEN(size); + /* information of this buffer */ + u16 flags; +}; +#define ALX_BUF_TX_FIRSTFRAG 0x1 + +/* rx queue */ +struct alx_rx_queue { + struct net_device *netdev; + /* device pointer for dma operation */ + struct device *dev; + /* rrd ring virtual addr */ + struct rrd_desc *rrd_hdr; + /* rrd ring physical addr */ + dma_addr_t rrd_dma; + /* rfd ring virtual addr */ + struct rfd_desc *rfd_hdr; + /* rfd ring physical addr */ + dma_addr_t rfd_dma; + /* info for rx-skbs */ + struct alx_buffer *bf_info; + + /* number of ring elements */ + u16 count; + /* rfd producer index */ + u16 pidx; + /* rfd consumer index */ + u16 cidx; + u16 rrd_cidx; + /* register saving producer index */ + u16 p_reg; + /* register saving consumer index */ + u16 c_reg; + /* queue index */ + u16 qidx; + unsigned long flag; + + struct sk_buff_head list; +}; +#define ALX_RQ_USING 1 +#define ALX_RX_ALLOC_THRESH 32 + +/* tx queue */ +struct alx_tx_queue { + struct net_device *netdev; + /* device pointer for dma operation */ + struct device *dev; + /* tpd ring virtual addr */ + struct tpd_desc *tpd_hdr; + dma_addr_t tpd_dma; + /* info for tx-skbs pending on HW */ + struct alx_buffer *bf_info; + /* number of ring elements */ + u16 count; + /* producer index */ + u16 pidx; + /* consumer index */ + atomic_t cidx; + /* register saving producer index */ + u16 p_reg; + /* register saving consumer index */ + u16 c_reg; + /* queue index */ + u16 qidx; +}; + +#define ALX_TX_WAKEUP_THRESH(_tq) ((_tq)->count / 4) +#define ALX_DEFAULT_TX_WORK 128 + +struct alx_napi { + struct napi_struct napi; + struct alx_adapter *adpt; + struct alx_rx_queue *rxq; + struct alx_tx_queue *txq; + int vec_idx; + u32 vec_mask; + char irq_lbl[IFNAMSIZ]; +}; + +enum ALX_FLAGS { + ALX_FLAG_USING_MSIX = 0, + ALX_FLAG_USING_MSI, + ALX_FLAG_RESETING, + ALX_FLAG_TESTING, + ALX_FLAG_HALT, + ALX_FLAG_FPGA, + ALX_FLAG_TASK_PENDING, + ALX_FLAG_TASK_CHK_LINK, + ALX_FLAG_TASK_RESET, + ALX_FLAG_TASK_UPDATE_SMB, + + ALX_FLAG_NUMBER_OF_FLAGS, +}; + + +struct alx_hw; +/* + *board specific private data structure + */ +struct alx_adapter { + struct net_device *netdev; + struct pci_dev *pdev; + + struct alx_hw hw; + + u16 bd_number; + + /* totally msix vectors */ + int nr_vec; + struct msix_entry *msix_ent; + + /* all descriptor memory */ + struct alx_ring_header ring_header; + int tx_ringsz; + int rx_ringsz; + int rxbuf_size; + + struct alx_napi *qnapi[8]; + /* number of napi for TX-Q */ + int nr_txq; + /* number of napi for RX-Q */ + int nr_rxq; + /* number independent hw RX-Q */ + int nr_hwrxq; + /* total napi for TX-Q/RX-Q */ + int nr_napi; + + /* lock for updating stats */ + spinlock_t smb_lock; + + struct work_struct task; + struct net_device_stats net_stats; + atomic_t irq_sem; + u16 msg_enable; + + unsigned long flags; + + /* ethtool private flags */ + u32 eth_pflags; + int eth_diag_vect; + int eth_diag_cnt; +}; + + +#define ALX_FLAG(_adpt, _FLAG) (\ + test_bit(ALX_FLAG_##_FLAG, &(_adpt)->flags)) +#define ALX_FLAG_SET(_adpt, _FLAG) (\ + set_bit(ALX_FLAG_##_FLAG, &(_adpt)->flags)) +#define ALX_FLAG_CLEAR(_adpt, _FLAG) (\ + clear_bit(ALX_FLAG_##_FLAG, &(_adpt)->flags)) + +static inline struct alx_rx_queue *alx_hw_rxq(struct alx_rx_queue *rxq) +{ + struct alx_adapter *adpt = netdev_priv(rxq->netdev); + + return ALX_CAP(&adpt->hw, MRQ) ? rxq : adpt->qnapi[0]->rxq; +} + +/* needed by alx_ethtool.c */ +extern void alx_configure(struct alx_adapter *adpt); +extern void alx_free_all_ring_resources(struct alx_adapter *adpt); +extern int alx_setup_all_ring_resources(struct alx_adapter *adpt); +extern void alx_init_def_rss_idt(struct alx_adapter *adpt); +extern int alx_alloc_rxring_buf(struct alx_adapter *adpt, + struct alx_rx_queue *rxq); +extern void alx_init_intr(struct alx_adapter *adpt); +extern void alx_disable_advanced_intr(struct alx_adapter *adpt); +extern void alx_reinit(struct alx_adapter *adpt, bool in_task); +extern void alx_set_ethtool_ops(struct net_device *dev); +extern char alx_drv_name[]; +extern char alx_drv_version[]; + +#endif --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/alx_hw.h +++ linux-lts-quantal-3.5.0/ubuntu/alx/alx_hw.h @@ -0,0 +1,661 @@ +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, 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 ALX_HW_H_ +#define ALX_HW_H_ + +/* specific error info */ +#define ALX_ERR_SUCCESS 0x0000 +#define ALX_ERR_ALOAD 0x0001 +#define ALX_ERR_RSTMAC 0x0002 +#define ALX_ERR_PARM 0x0003 +#define ALX_ERR_MIIBUSY 0x0004 +#define ALX_LINK_TIMEOUT 0x0008 + +/* Transmit Packet Descriptor, contains 4 32-bit words. + * + * 31 16 0 + * +----------------+----------------+ + * | vlan-tag | buf length | + * +----------------+----------------+ + * | Word 1 | + * +----------------+----------------+ + * | Word 2: buf addr lo | + * +----------------+----------------+ + * | Word 3: buf addr hi | + * +----------------+----------------+ + * + * Word 2 and 3 combine to form a 64-bit buffer address + * + * Word 1 has three forms, depending on the state of bit 8/12/13: + * if bit8 =='1', the definition is just for custom checksum offload. + * if bit8 == '0' && bit12 == '1' && bit13 == '1', the *FIRST* descriptor + * for the skb is special for LSO V2, Word 2 become total skb length , + * Word 3 is meaningless. + * other condition, the definition is for general skb or ip/tcp/udp + * checksum or LSO(TSO) offload. + * + * Here is the depiction: + * + * 0-+ 0-+ + * 1 | 1 | + * 2 | 2 | + * 3 | Payload offset 3 | L4 header offset + * 4 | (7:0) 4 | (7:0) + * 5 | 5 | + * 6 | 6 | + * 7-+ 7-+ + * 8 Custom csum enable = 1 8 Custom csum enable = 0 + * 9 General IPv4 checksum 9 General IPv4 checksum + * 10 General TCP checksum 10 General TCP checksum + * 11 General UDP checksum 11 General UDP checksum + * 12 Large Send Segment enable 12 Large Send Segment enable + * 13 Large Send Segment type 13 Large Send Segment type + * 14 VLAN tagged 14 VLAN tagged + * 15 Insert VLAN tag 15 Insert VLAN tag + * 16 IPv4 packet 16 IPv4 packet + * 17 Ethernet frame type 17 Ethernet frame type + * 18-+ 18-+ + * 19 | 19 | + * 20 | 20 | + * 21 | Custom csum offset 21 | + * 22 | (25:18) 22 | + * 23 | 23 | MSS (30:18) + * 24 | 24 | + * 25-+ 25 | + * 26-+ 26 | + * 27 | 27 | + * 28 | Reserved 28 | + * 29 | 29 | + * 30-+ 30-+ + * 31 End of packet 31 End of packet + */ + +struct tpd_desc { + __le32 word0; + __le32 word1; + union { + __le64 addr; + struct { + __le32 pkt_len; + __le32 resvd; + } l; + } adrl; +} __packed; + +/* tpd word 0 */ +#define TPD_BUFLEN_MASK 0xFFFF +#define TPD_BUFLEN_SHIFT 0 +#define TPD_VLTAG_MASK 0xFFFF +#define TPD_VLTAG_SHIFT 16 + +/* tpd word 1 */ +#define TPD_CXSUMSTART_MASK 0x00FF +#define TPD_CXSUMSTART_SHIFT 0 +#define TPD_L4HDROFFSET_MASK 0x00FF +#define TPD_L4HDROFFSET_SHIFT 0 +#define TPD_CXSUM_EN_MASK 0x0001 +#define TPD_CXSUM_EN_SHIFT 8 +#define TPD_IP_XSUM_MASK 0x0001 +#define TPD_IP_XSUM_SHIFT 9 +#define TPD_TCP_XSUM_MASK 0x0001 +#define TPD_TCP_XSUM_SHIFT 10 +#define TPD_UDP_XSUM_MASK 0x0001 +#define TPD_UDP_XSUm_SHIFT 11 +#define TPD_LSO_EN_MASK 0x0001 +#define TPD_LSO_EN_SHIFT 12 +#define TPD_LSO_V2_MASK 0x0001 +#define TPD_LSO_V2_SHIFT 13 +#define TPD_VLTAGGED_MASK 0x0001 +#define TPD_VLTAGGED_SHIFT 14 +#define TPD_INS_VLTAG_MASK 0x0001 +#define TPD_INS_VLTAG_SHIFT 15 +#define TPD_IPV4_MASK 0x0001 +#define TPD_IPV4_SHIFT 16 +#define TPD_ETHTYPE_MASK 0x0001 +#define TPD_ETHTYPE_SHIFT 17 +#define TPD_CXSUMOFFSET_MASK 0x00FF +#define TPD_CXSUMOFFSET_SHIFT 18 +#define TPD_MSS_MASK 0x1FFF +#define TPD_MSS_SHIFT 18 +#define TPD_EOP_MASK 0x0001 +#define TPD_EOP_SHIFT 31 + +#define DESC_GET(_x, _name) ((_x) >> _name##SHIFT & _name##MASK) + +/* Receive Free Descriptor */ +struct rfd_desc { + __le64 addr; /* data buffer address, length is + * declared in register --- every + * buffer has the same size + */ +} __packed; + +/* Receive Return Descriptor, contains 4 32-bit words. + * + * 31 16 0 + * +----------------+----------------+ + * | Word 0 | + * +----------------+----------------+ + * | Word 1: RSS Hash value | + * +----------------+----------------+ + * | Word 2 | + * +----------------+----------------+ + * | Word 3 | + * +----------------+----------------+ + * + * Word 0 depiction & Word 2 depiction: + * + * 0--+ 0--+ + * 1 | 1 | + * 2 | 2 | + * 3 | 3 | + * 4 | 4 | + * 5 | 5 | + * 6 | 6 | + * 7 | IP payload checksum 7 | VLAN tag + * 8 | (15:0) 8 | (15:0) + * 9 | 9 | + * 10 | 10 | + * 11 | 11 | + * 12 | 12 | + * 13 | 13 | + * 14 | 14 | + * 15-+ 15-+ + * 16-+ 16-+ + * 17 | Number of RFDs 17 | + * 18 | (19:16) 18 | + * 19-+ 19 | Protocol ID + * 20-+ 20 | (23:16) + * 21 | 21 | + * 22 | 22 | + * 23 | 23-+ + * 24 | 24 | Reserved + * 25 | Start index of RFD-ring 25-+ + * 26 | (31:20) 26 | RSS Q-num (27:25) + * 27 | 27-+ + * 28 | 28-+ + * 29 | 29 | RSS Hash algorithm + * 30 | 30 | (31:28) + * 31-+ 31-+ + * + * Word 3 depiction: + * + * 0--+ + * 1 | + * 2 | + * 3 | + * 4 | + * 5 | + * 6 | + * 7 | Packet length (include FCS) + * 8 | (13:0) + * 9 | + * 10 | + * 11 | + * 12 | + * 13-+ + * 14 L4 Header checksum error + * 15 IPv4 checksum error + * 16 VLAN tagged + * 17-+ + * 18 | Protocol ID (19:17) + * 19-+ + * 20 Receive error summary + * 21 FCS(CRC) error + * 22 Frame alignment error + * 23 Truncated packet + * 24 Runt packet + * 25 Incomplete packet due to insufficient rx-desc + * 26 Broadcast packet + * 27 Multicast packet + * 28 Ethernet type (EII or 802.3) + * 29 FIFO overflow + * 30 Length error (for 802.3, length field mismatch with actual len) + * 31 Updated, indicate to driver that this RRD is refreshed. + */ + +struct rrd_desc { + __le32 word0; + __le32 rss_hash; + __le32 word2; + __le32 word3; +} __packed; + +/* rrd word 0 */ +#define RRD_XSUM_MASK 0xFFFF +#define RRD_XSUM_SHIFT 0 +#define RRD_NOR_MASK 0x000F +#define RRD_NOR_SHIFT 16 +#define RRD_SI_MASK 0x0FFF +#define RRD_SI_SHIFT 20 + +/* rrd word 2 */ +#define RRD_VLTAG_MASK 0xFFFF +#define RRD_VLTAG_SHIFT 0 +#define RRD_PID_MASK 0x00FF +#define RRD_PID_SHIFT 16 +/* non-ip packet */ +#define RRD_PID_NONIP 0 +/* ipv4(only) */ +#define RRD_PID_IPV4 1 +/* tcp/ipv6 */ +#define RRD_PID_IPV6TCP 2 +/* tcp/ipv4 */ +#define RRD_PID_IPV4TCP 3 +/* udp/ipv6 */ +#define RRD_PID_IPV6UDP 4 +/* udp/ipv4 */ +#define RRD_PID_IPV4UDP 5 +/* ipv6(only) */ +#define RRD_PID_IPV6 6 +/* LLDP packet */ +#define RRD_PID_LLDP 7 +/* 1588 packet */ +#define RRD_PID_1588 8 +#define RRD_RSSQ_MASK 0x0007 +#define RRD_RSSQ_SHIFT 25 +#define RRD_RSSALG_MASK 0x000F +#define RRD_RSSALG_SHIFT 28 +#define RRD_RSSALG_TCPV6 0x1 +#define RRD_RSSALG_IPV6 0x2 +#define RRD_RSSALG_TCPV4 0x4 +#define RRD_RSSALG_IPV4 0x8 + +/* rrd word 3 */ +#define RRD_PKTLEN_MASK 0x3FFF +#define RRD_PKTLEN_SHIFT 0 +#define RRD_ERR_L4_MASK 0x0001 +#define RRD_ERR_L4_SHIFT 14 +#define RRD_ERR_IPV4_MASK 0x0001 +#define RRD_ERR_IPV4_SHIFT 15 +#define RRD_VLTAGGED_MASK 0x0001 +#define RRD_VLTAGGED_SHIFT 16 +#define RRD_OLD_PID_MASK 0x0007 +#define RRD_OLD_PID_SHIFT 17 +#define RRD_ERR_RES_MASK 0x0001 +#define RRD_ERR_RES_SHIFT 20 +#define RRD_ERR_FCS_MASK 0x0001 +#define RRD_ERR_FCS_SHIFT 21 +#define RRD_ERR_FAE_MASK 0x0001 +#define RRD_ERR_FAE_SHIFT 22 +#define RRD_ERR_TRUNC_MASK 0x0001 +#define RRD_ERR_TRUNC_SHIFT 23 +#define RRD_ERR_RUNT_MASK 0x0001 +#define RRD_ERR_RUNT_SHIFT 24 +#define RRD_ERR_ICMP_MASK 0x0001 +#define RRD_ERR_ICMP_SHIFT 25 +#define RRD_BCAST_MASK 0x0001 +#define RRD_BCAST_SHIFT 26 +#define RRD_MCAST_MASK 0x0001 +#define RRD_MCAST_SHIFT 27 +#define RRD_ETHTYPE_MASK 0x0001 +#define RRD_ETHTYPE_SHIFT 28 +#define RRD_ERR_FIFOV_MASK 0x0001 +#define RRD_ERR_FIFOV_SHIFT 29 +#define RRD_ERR_LEN_MASK 0x0001 +#define RRD_ERR_LEN_SHIFT 30 +#define RRD_UPDATED_MASK 0x0001 +#define RRD_UPDATED_SHIFT 31 + + +/* Statistics counters collected by the MAC */ +struct alx_hw_stats { + /* rx */ + unsigned long rx_ok; + unsigned long rx_bcast; + unsigned long rx_mcast; + unsigned long rx_pause; + unsigned long rx_ctrl; + unsigned long rx_fcs_err; + unsigned long rx_len_err; + unsigned long rx_byte_cnt; + unsigned long rx_runt; + unsigned long rx_frag; + unsigned long rx_sz_64B; + unsigned long rx_sz_127B; + unsigned long rx_sz_255B; + unsigned long rx_sz_511B; + unsigned long rx_sz_1023B; + unsigned long rx_sz_1518B; + unsigned long rx_sz_max; + unsigned long rx_ov_sz; + unsigned long rx_ov_rxf; + unsigned long rx_ov_rrd; + unsigned long rx_align_err; + unsigned long rx_bc_byte_cnt; + unsigned long rx_mc_byte_cnt; + unsigned long rx_err_addr; + + /* tx */ + unsigned long tx_ok; + unsigned long tx_bcast; + unsigned long tx_mcast; + unsigned long tx_pause; + unsigned long tx_exc_defer; + unsigned long tx_ctrl; + unsigned long tx_defer; + unsigned long tx_byte_cnt; + unsigned long tx_sz_64B; + unsigned long tx_sz_127B; + unsigned long tx_sz_255B; + unsigned long tx_sz_511B; + unsigned long tx_sz_1023B; + unsigned long tx_sz_1518B; + unsigned long tx_sz_max; + unsigned long tx_single_col; + unsigned long tx_multi_col; + unsigned long tx_late_col; + unsigned long tx_abort_col; + unsigned long tx_underrun; + unsigned long tx_trd_eop; + unsigned long tx_len_err; + unsigned long tx_trunc; + unsigned long tx_bc_byte_cnt; + unsigned long tx_mc_byte_cnt; + unsigned long update; +}; + +#define SPEED_0 0 +#define HALF_DUPLEX 1 +#define FULL_DUPLEX 2 +#define ALX_MAX_SETUP_LNK_CYCLE 50 + +#define ALX_SPEED_TO_ETHADV(_speed) (\ +(_speed) == SPEED_1000 + FULL_DUPLEX ? ADVERTISED_1000baseT_Full : \ +(_speed) == SPEED_100 + FULL_DUPLEX ? ADVERTISED_100baseT_Full : \ +(_speed) == SPEED_100 + HALF_DUPLEX ? ADVERTISED_10baseT_Half : \ +(_speed) == SPEED_10 + FULL_DUPLEX ? ADVERTISED_10baseT_Full : \ +(_speed) == SPEED_10 + HALF_DUPLEX ? ADVERTISED_10baseT_Half : \ +0) + +#define speed_desc(_s) (\ + (_s) == SPEED_1000 + FULL_DUPLEX ? \ + "1 Gbps Full" : \ + (_s) == SPEED_100 + FULL_DUPLEX ? \ + "100 Mbps Full" : \ + (_s) == SPEED_100 + HALF_DUPLEX ? \ + "100 Mbps Half" : \ + (_s) == SPEED_10 + FULL_DUPLEX ? \ + "10 Mbps Full" : \ + (_s) == SPEED_10 + HALF_DUPLEX ? \ + "10 Mbps Half" : \ + "Unknown speed") + +/* for FlowControl */ +#define ALX_FC_RX 0x01 +#define ALX_FC_TX 0x02 +#define ALX_FC_ANEG 0x04 + +/* for sleep control */ +#define ALX_SLEEP_WOL_PHY 0x00000001 +#define ALX_SLEEP_WOL_MAGIC 0x00000002 +#define ALX_SLEEP_CIFS 0x00000004 +#define ALX_SLEEP_ACTIVE (\ + ALX_SLEEP_WOL_PHY | \ + ALX_SLEEP_WOL_MAGIC | \ + ALX_SLEEP_CIFS) + +/* for RSS hash type */ +#define ALX_RSS_HASH_TYPE_IPV4 0x1 +#define ALX_RSS_HASH_TYPE_IPV4_TCP 0x2 +#define ALX_RSS_HASH_TYPE_IPV6 0x4 +#define ALX_RSS_HASH_TYPE_IPV6_TCP 0x8 +#define ALX_RSS_HASH_TYPE_ALL (\ + ALX_RSS_HASH_TYPE_IPV4 |\ + ALX_RSS_HASH_TYPE_IPV4_TCP |\ + ALX_RSS_HASH_TYPE_IPV6 |\ + ALX_RSS_HASH_TYPE_IPV6_TCP) +#define ALX_DEF_RXBUF_SIZE 1536 +#define ALX_MAX_JUMBO_PKT_SIZE (9*1024) +#define ALX_MAX_TSO_PKT_SIZE (7*1024) +#define ALX_MAX_FRAME_SIZE ALX_MAX_JUMBO_PKT_SIZE +#define ALX_MIN_FRAME_SIZE 68 +#define ALX_RAW_MTU(_mtu) (_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN) + +#define ALX_MAX_RX_QUEUES 8 +#define ALX_MAX_TX_QUEUES 4 +#define ALX_MAX_HANDLED_INTRS 5 + +#define ALX_ISR_MISC (\ + ALX_ISR_PCIE_LNKDOWN | \ + ALX_ISR_DMAW | \ + ALX_ISR_DMAR | \ + ALX_ISR_SMB | \ + ALX_ISR_MANU | \ + ALX_ISR_TIMER) + +#define ALX_ISR_FATAL (\ + ALX_ISR_PCIE_LNKDOWN | \ + ALX_ISR_DMAW | \ + ALX_ISR_DMAR) + +#define ALX_ISR_ALERT (\ + ALX_ISR_RXF_OV | \ + ALX_ISR_TXF_UR | \ + ALX_ISR_RFD_UR) + +#define ALX_ISR_ALL_QUEUES (\ + ALX_ISR_TX_Q0 | \ + ALX_ISR_TX_Q1 | \ + ALX_ISR_TX_Q2 | \ + ALX_ISR_TX_Q3 | \ + ALX_ISR_RX_Q0 | \ + ALX_ISR_RX_Q1 | \ + ALX_ISR_RX_Q2 | \ + ALX_ISR_RX_Q3 | \ + ALX_ISR_RX_Q4 | \ + ALX_ISR_RX_Q5 | \ + ALX_ISR_RX_Q6 | \ + ALX_ISR_RX_Q7) + +/* maximum interrupt vectors for msix */ +#define ALX_MAX_MSIX_INTRS 16 + +#define FIELD_GETX(_x, _name) (((_x) >> (_name##_SHIFT)) & (_name##_MASK)) +#define FIELD_SETS(_x, _name, _v) (\ +(_x) = \ +((_x) & ~((_name##_MASK) << (_name##_SHIFT))) |\ +(((u16)(_v) & (_name##_MASK)) << (_name##_SHIFT))) +#define FIELD_SET32(_x, _name, _v) (\ +(_x) = \ +((_x) & ~((_name##_MASK) << (_name##_SHIFT))) |\ +(((_v) & (_name##_MASK)) << (_name##_SHIFT))) +#define FIELDX(_name, _v) (((_v) & (_name##_MASK)) << (_name##_SHIFT)) + +struct alx_hw { + void *pdev; + u8 __iomem *hw_addr; + + /* pci regs */ + u16 device_id; + u16 subdev_id; + u16 subven_id; + u8 revision; + + unsigned long capability; + + /* current & permanent mac addr */ + u8 mac_addr[ETH_ALEN]; + u8 perm_addr[ETH_ALEN]; + + u16 mtu; + u16 imt; + u8 dma_chnl; + u8 max_dma_chnl; + /* tpd threshold to trig INT */ + u32 ith_tpd; + u32 rx_ctrl; + u32 mc_hash[2]; + + u8 rss_key[40]; + u32 rss_idt[32]; + u16 rss_idt_size; + u8 rss_hash_type; + + /* weight round robin for multiple-tx-Q */ + u32 wrr[ALX_MAX_TX_QUEUES]; + /* prioirty control */ + u32 wrr_ctrl; + + /* interrupt mask for ALX_IMR */ + u32 imask; + u32 smb_timer; + bool link_up; + u16 link_speed; + u8 link_duplex; + + /* auto-neg advertisement or force mode config */ + u32 adv_cfg; + u8 flowctrl; + + struct alx_hw_stats hw_stats; + u32 sleep_ctrl; + /* sram address for pattern wol */ + u32 ptrn_ofs; + /* max patterns number */ + u16 max_ptrns; + + spinlock_t mdio_lock; + struct mdio_if_info mdio; + u16 phy_id[2]; + + struct alx_hw_stats stats; + /* PHY link patch flag */ + bool lnk_patch; + /* PHY hibernation patch flag */ + bool hib_patch; + /* FPGA or ASIC */ + bool is_fpga; +}; + +#define ALX_DID(_hw) ((_hw)->device_id) +#define ALX_SUB_VID(_hw) ((_hw)->subven_id) +#define ALX_SUB_DID(_hw) ((_hw)->subdev_id) +#define ALX_REVID(_hw) ((_hw)->revision >> ALX_PCI_REVID_SHIFT) +#define ALX_WITH_CR(_hw) ((_hw)->revision & 1) + +enum ALX_CAPS { + ALX_CAP_GIGA = 0, + ALX_CAP_PTP, + ALX_CAP_AZ, + ALX_CAP_L0S, + ALX_CAP_L1, + ALX_CAP_SWOI, + ALX_CAP_RSS, + ALX_CAP_MSIX, + /* support Multi-TX-Q */ + ALX_CAP_MTQ, + /* support Multi-RX-Q */ + ALX_CAP_MRQ, +}; +#define ALX_CAP(_hw, _cap) (\ + test_bit(ALX_CAP_##_cap, &(_hw)->capability)) +#define ALX_CAP_SET(_hw, _cap) (\ + set_bit(ALX_CAP_##_cap, &(_hw)->capability)) +#define ALX_CAP_CLEAR(_hw, _cap) (\ + clear_bit(ALX_CAP_##_cap, &(_hw)->capability)) + +/* write to 8bit register via pci memory space */ +#define ALX_MEM_W8(s, reg, val) (writeb((val), ((s)->hw_addr + reg))) + +/* read from 8bit register via pci memory space */ +#define ALX_MEM_R8(s, reg, pdat) (\ + *(u8 *)(pdat) = readb((s)->hw_addr + reg)) + +/* write to 16bit register via pci memory space */ +#define ALX_MEM_W16(s, reg, val) (writew((val), ((s)->hw_addr + reg))) + +/* read from 16bit register via pci memory space */ +#define ALX_MEM_R16(s, reg, pdat) (\ + *(u16 *)(pdat) = readw((s)->hw_addr + reg)) + +/* write to 32bit register via pci memory space */ +#define ALX_MEM_W32(s, reg, val) (writel((val), ((s)->hw_addr + reg))) + +/* read from 32bit register via pci memory space */ +#define ALX_MEM_R32(s, reg, pdat) (\ + *(u32 *)(pdat) = readl((s)->hw_addr + reg)) + +/* read from 16bit register via pci config space */ +#define ALX_CFG_R16(s, reg, pdat) (\ + pci_read_config_word((s)->pdev, (reg), (pdat))) + +/* write to 16bit register via pci config space */ +#define ALX_CFG_W16(s, reg, val) (\ + pci_write_config_word((s)->pdev, (reg), (val))) + +/* flush regs */ +#define ALX_MEM_FLUSH(s) (readl((s)->hw_addr)) + + +int alx_get_perm_macaddr(struct alx_hw *hw, u8 *addr); +void alx_add_mc_addr(struct alx_hw *hw, u8 *addr); +void alx_reset_phy(struct alx_hw *hw, bool hib_en); +void alx_reset_pcie(struct alx_hw *hw); +void alx_enable_aspm(struct alx_hw *hw, bool l0s_en, bool l1_en); +int alx_setup_speed_duplex(struct alx_hw *hw, u32 ethadv, u8 flowctrl); +void alx_post_phy_link(struct alx_hw *hw, u16 speed, bool az_en); +int alx_pre_suspend(struct alx_hw *hw, u16 speed); +int alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data); +int alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data); +int alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata); +int alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data); +int alx_read_phy_dbg(struct alx_hw *hw, u16 reg, u16 *pdata); +int alx_write_phy_dbg(struct alx_hw *hw, u16 reg, u16 data); +int alx_get_phy_link(struct alx_hw *hw, bool *link_up, u16 *speed); +int alx_clear_phy_intr(struct alx_hw *hw); +int alx_config_wol(struct alx_hw *hw); +void alx_cfg_mac_fc(struct alx_hw *hw, u8 fc); +void alx_start_mac(struct alx_hw *hw); +int alx_stop_mac(struct alx_hw *hw); +int alx_reset_mac(struct alx_hw *hw); +void alx_set_macaddr(struct alx_hw *hw, u8 *addr); +bool alx_phy_configed(struct alx_hw *hw); +void alx_configure_basic(struct alx_hw *hw); +void alx_configure_rss(struct alx_hw *hw, bool en); +void alx_mask_msix(struct alx_hw *hw, int index, bool mask); +int alx_select_powersaving_speed(struct alx_hw *hw, u16 *speed); +void __alx_update_hw_stats(struct alx_hw *hw); +void __alx_start_phy_polling(struct alx_hw *hw, u16 clk_sel); + +#define alx_get_readrq(_hw) pcie_get_readrq((_hw)->pdev) +#define alx_set_readrq(_hw, _v) pcie_set_readrq((_hw)->pdev, _v) + + +/* some issues are relavant to specific platforms + * we assign those patches for the chip by pci device id + * vendor id, subsystem id and revision number + */ +struct alx_platform_patch { + u16 pci_did; + u8 pci_rev; + u16 subsystem_vid; + u16 subsystem_did; + u32 pflag; +}; +/* PHY link issue */ +#define ALX_PF_LINK 0x00001 +/* Hibernatation issue */ +#define ALX_PF_HIB 0x00002 +/* not care revision number */ +#define ALX_PF_ANY_REV 0x10000 + + +void alx_patch_assign(struct alx_hw *hw); +bool alx_get_phy_info(struct alx_hw *hw); + +#endif --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/Makefile +++ linux-lts-quantal-3.5.0/ubuntu/alx/Makefile @@ -0,0 +1,3 @@ +obj-$(CONFIG_ALX) += alx.o +alx-objs := alx_main.o alx_ethtool.o alx_hw.o +ccflags-y += -D__CHECK_ENDIAN__ --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/update.sh +++ linux-lts-quantal-3.5.0/ubuntu/alx/update.sh @@ -0,0 +1,20 @@ +# +# Update from the upstream repository. +# + +### github:qca == QCA Project repo +ALX_REPO="git://github.com/qca/alx.git" + +ALX_AUTHOR="Qualcomm Atheros, Inc. " +set -e + +git clone "$ALX_REPO" +descr="UBUNTU: SAUCE: alx: Update to `(cd alx; git describe --all; echo; git remote -v |grep fetch; echo -n " "; git log --pretty=oneline -1)`" + +rsync -av alx/src/ alx/LICENSE alx/README.md . +rm -rf alx + +git add . +git commit --author="$ALX_AUTHOR" -s -m"$descr" + +git log -1 --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/alx_main.c +++ linux-lts-quantal-3.5.0/ubuntu/alx/alx_main.c @@ -0,0 +1,2818 @@ +/* + * Copyright (c) 2012 Qualcomm Atheros, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "alx_reg.h" +#include "alx_hw.h" +#include "alx.h" + +#define DRV_MAJ 1 +#define DRV_MIN 2 +#define DRV_PATCH 3 +#define DRV_MODULE_VER \ + __stringify(DRV_MAJ) "." __stringify(DRV_MIN) "." \ + __stringify(DRV_PATCH) + +char alx_drv_name[] = "alx"; +char alx_drv_version[] = DRV_MODULE_VER; +static const char alx_drv_desc[] = +"Qualcomm Atheros(R) AR816x/AR817x PCI-E Ethernet Network Driver"; + +/* alx_pci_tbl - PCI Device ID Table + * + * Wildcard entries (PCI_ANY_ID) should come last + * Last entry must be all 0s + * + * { Vendor ID, Device ID, SubVendor ID, SubDevice ID, + * Class, Class Mask, private data (not used) } + */ +#define ALX_ETHER_DEVICE(device_id) {\ + PCI_DEVICE(ALX_VENDOR_ID, device_id)} +static DEFINE_PCI_DEVICE_TABLE(alx_pci_tbl) = { + ALX_ETHER_DEVICE(ALX_DEV_ID_AR8161), + ALX_ETHER_DEVICE(ALX_DEV_ID_AR8162), + ALX_ETHER_DEVICE(ALX_DEV_ID_AR8171), + ALX_ETHER_DEVICE(ALX_DEV_ID_AR8172), + {0,} +}; + +MODULE_DEVICE_TABLE(pci, alx_pci_tbl); +MODULE_AUTHOR("Qualcomm Corporation, "); +MODULE_DESCRIPTION("Qualcomm Atheros Gigabit Ethernet Driver"); +MODULE_LICENSE("Dual BSD/GPL"); +MODULE_VERSION(DRV_MODULE_VER); + +static int alx_poll(struct napi_struct *napi, int budget); +static irqreturn_t alx_msix_ring(int irq, void *data); +static irqreturn_t alx_intr_msix_misc(int irq, void *data); +static irqreturn_t alx_intr_msi(int irq, void *data); +static irqreturn_t alx_intr_legacy(int irq, void *data); +static void alx_init_ring_ptrs(struct alx_adapter *adpt); +static int alx_reinit_rings(struct alx_adapter *adpt); + +static inline void alx_schedule_work(struct alx_adapter *adpt) +{ + if (!ALX_FLAG(adpt, HALT)) + schedule_work(&adpt->task); +} + +static inline void alx_cancel_work(struct alx_adapter *adpt) +{ + cancel_work_sync(&adpt->task); +} + + +static void __alx_set_rx_mode(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + struct netdev_hw_addr *ha; + + + /* comoute mc addresses' hash value ,and put it into hash table */ + netdev_for_each_mc_addr(ha, netdev) + alx_add_mc_addr(hw, ha->addr); + + ALX_MEM_W32(hw, ALX_HASH_TBL0, hw->mc_hash[0]); + ALX_MEM_W32(hw, ALX_HASH_TBL1, hw->mc_hash[1]); + + /* check for Promiscuous and All Multicast modes */ + hw->rx_ctrl &= ~(ALX_MAC_CTRL_MULTIALL_EN | ALX_MAC_CTRL_PROMISC_EN); + if (netdev->flags & IFF_PROMISC) + hw->rx_ctrl |= ALX_MAC_CTRL_PROMISC_EN; + if (netdev->flags & IFF_ALLMULTI) + hw->rx_ctrl |= ALX_MAC_CTRL_MULTIALL_EN; + + ALX_MEM_W32(hw, ALX_MAC_CTRL, hw->rx_ctrl); +} + +/* alx_set_rx_mode - Multicast and Promiscuous mode set */ +static void alx_set_rx_mode(struct net_device *netdev) +{ + __alx_set_rx_mode(netdev); +} + + +/* alx_set_mac - Change the Ethernet Address of the NIC */ +static int alx_set_mac_address(struct net_device *netdev, void *data) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + struct sockaddr *addr = data; + + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + + if (netdev->addr_assign_type & NET_ADDR_RANDOM) + netdev->addr_assign_type ^= NET_ADDR_RANDOM; + + memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); + memcpy(hw->mac_addr, addr->sa_data, netdev->addr_len); + alx_set_macaddr(hw, hw->mac_addr); + + return 0; +} + +static void alx_free_napis(struct alx_adapter *adpt) +{ + struct alx_napi *np; + int i; + + for (i = 0; i < adpt->nr_napi; i++) { + np = adpt->qnapi[i]; + if (!np) + continue; + + netif_napi_del(&np->napi); + kfree(np->txq); + np->txq = NULL; + kfree(np->rxq); + np->rxq = NULL; + adpt->qnapi[i] = NULL; + } +} +static u16 tx_pidx_reg[] = {ALX_TPD_PRI0_PIDX, ALX_TPD_PRI1_PIDX, + ALX_TPD_PRI2_PIDX, ALX_TPD_PRI3_PIDX}; +static u16 tx_cidx_reg[] = {ALX_TPD_PRI0_CIDX, ALX_TPD_PRI1_CIDX, + ALX_TPD_PRI2_CIDX, ALX_TPD_PRI3_CIDX}; +static u32 tx_vect_mask[] = {ALX_ISR_TX_Q0, ALX_ISR_TX_Q1, + ALX_ISR_TX_Q2, ALX_ISR_TX_Q3}; +static u32 rx_vect_mask[] = {ALX_ISR_RX_Q0, ALX_ISR_RX_Q1, + ALX_ISR_RX_Q2, ALX_ISR_RX_Q3, + ALX_ISR_RX_Q4, ALX_ISR_RX_Q5, + ALX_ISR_RX_Q6, ALX_ISR_RX_Q7}; +static int alx_alloc_napis(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + struct alx_napi *np; + struct alx_rx_queue *rxq; + struct alx_tx_queue *txq; + int i; + + hw->imask &= ~ALX_ISR_ALL_QUEUES; + + /* alloc alx_napi */ + for (i = 0; i < adpt->nr_napi; i++) { + np = kzalloc(sizeof(struct alx_napi), GFP_KERNEL); + if (!np) + goto err_out; + + np->adpt = adpt; + netif_napi_add(adpt->netdev, &np->napi, alx_poll, 64); + adpt->qnapi[i] = np; + } + + /* alloc tx queue */ + for (i = 0; i < adpt->nr_txq; i++) { + np = adpt->qnapi[i]; + txq = kzalloc(sizeof(struct alx_tx_queue), GFP_KERNEL); + if (!txq) + goto err_out; + np->txq = txq; + txq->p_reg = tx_pidx_reg[i]; + txq->c_reg = tx_cidx_reg[i]; + txq->count = adpt->tx_ringsz; + txq->qidx = (u16)i; + np->vec_mask |= tx_vect_mask[i]; + hw->imask |= tx_vect_mask[i]; + } + + /* alloc rx queue */ + for (i = 0; i < adpt->nr_rxq; i++) { + np = adpt->qnapi[i]; + rxq = kzalloc(sizeof(struct alx_rx_queue), GFP_KERNEL); + if (!rxq) + goto err_out; + np->rxq = rxq; + rxq->p_reg = ALX_RFD_PIDX; + rxq->c_reg = ALX_RFD_CIDX; + rxq->count = adpt->rx_ringsz; + rxq->qidx = (u16)i; + __skb_queue_head_init(&rxq->list); + np->vec_mask |= rx_vect_mask[i]; + hw->imask |= rx_vect_mask[i]; + } + + return 0; + +err_out: + alx_free_napis(adpt); + return -ENOMEM; +} + +static int alx_alloc_rings(struct alx_adapter *adpt) +{ + struct alx_buffer *bf; + u8 *desc; + dma_addr_t dma; + int i, size, offset; + + /* alx_buffer */ + size = sizeof(struct alx_buffer) * adpt->nr_txq * adpt->tx_ringsz + + sizeof(struct alx_buffer) * adpt->nr_hwrxq * adpt->rx_ringsz; + + bf = vzalloc(size); + if (!bf) + goto err_out; + + /* physical rx rings */ + size = sizeof(struct tpd_desc) * adpt->tx_ringsz * adpt->nr_txq + + (sizeof(struct rrd_desc) + sizeof(struct rfd_desc)) * + adpt->rx_ringsz * adpt->nr_hwrxq + + adpt->nr_txq * 8 + + adpt->nr_hwrxq * 8; + desc = dma_alloc_coherent(&adpt->pdev->dev, size, &dma, GFP_KERNEL); + if (!desc) + goto err_out; + + memset(desc, 0, size); + adpt->ring_header.desc = desc; + adpt->ring_header.dma = dma; + adpt->ring_header.size = size; + + size = sizeof(struct tpd_desc) * adpt->tx_ringsz; + for (i = 0; i < adpt->nr_txq; i++) { + offset = ALIGN(dma, 8) - dma; + desc += offset; + dma += offset; + adpt->qnapi[i]->txq->netdev = adpt->netdev; + adpt->qnapi[i]->txq->dev = &adpt->pdev->dev; + adpt->qnapi[i]->txq->tpd_hdr = (struct tpd_desc *)desc; + adpt->qnapi[i]->txq->tpd_dma = dma; + adpt->qnapi[i]->txq->count = adpt->tx_ringsz; + adpt->qnapi[i]->txq->bf_info = bf; + desc += size; + dma += size; + bf += adpt->tx_ringsz; + } + size = sizeof(struct rrd_desc) * adpt->rx_ringsz; + for (i = 0; i < adpt->nr_hwrxq; i++) { + offset = ALIGN(dma, 8) - dma; + desc += offset; + dma += offset; + adpt->qnapi[i]->rxq->rrd_hdr = (struct rrd_desc *)desc; + adpt->qnapi[i]->rxq->rrd_dma = dma; + adpt->qnapi[i]->rxq->bf_info = bf; + desc += size; + dma += size; + bf += adpt->rx_ringsz; + } + size = sizeof(struct rfd_desc) * adpt->rx_ringsz; + for (i = 0; i < adpt->nr_hwrxq; i++) { + offset = ALIGN(dma, 8) - dma; + desc += offset; + dma += offset; + adpt->qnapi[i]->rxq->rfd_hdr = (struct rfd_desc *)desc; + adpt->qnapi[i]->rxq->rfd_dma = dma; + desc += size; + dma += size; + } + for (i = 0; i < adpt->nr_rxq; i++) { + adpt->qnapi[i]->rxq->netdev = adpt->netdev; + adpt->qnapi[i]->rxq->dev = &adpt->pdev->dev; + adpt->qnapi[i]->rxq->count = adpt->rx_ringsz; + } + + return 0; + +err_out: + if (bf) + vfree(bf); + + return -ENOMEM; +} + +static void alx_free_rings(struct alx_adapter *adpt) +{ + struct alx_buffer *bf; + struct alx_napi *np; + + /* alx_buffer header is in the 1st tpdq->bf_info */ + np = adpt->qnapi[0]; + if (np) { + bf = np->txq->bf_info; + if (bf) { + vfree(bf); + np->txq->bf_info = NULL; + } + } + if (adpt->ring_header.desc) { + dma_free_coherent(&adpt->pdev->dev, + adpt->ring_header.size, + adpt->ring_header.desc, + adpt->ring_header.dma); + adpt->ring_header.desc = NULL; + } +} + +/* dequeue skb from RXQ, return true if the RXQ is empty */ +static inline bool alx_skb_dequeue_n(struct alx_rx_queue *rxq, int max_pkts, + struct sk_buff_head *list) +{ + struct alx_adapter *adpt = netdev_priv(rxq->netdev); + bool use_lock = !ALX_CAP(&adpt->hw, MRQ); + bool empty; + struct sk_buff *skb; + int count = 0; + + if (use_lock) + spin_lock(&rxq->list.lock); + + while (count < max_pkts || max_pkts == -1) { + skb = __skb_dequeue(&rxq->list); + if (skb) { + __skb_queue_tail(list, skb); + count++; + } else + break; + } + + empty = skb_queue_empty(&rxq->list); + + if (use_lock) + spin_unlock(&rxq->list.lock); + + netif_info(adpt, rx_status, adpt->netdev, + "RX %d packets\n", + count); + + return empty; +} + +static inline void alx_skb_queue_tail(struct alx_rx_queue *rxq, + struct sk_buff *skb) +{ + struct alx_adapter *adpt = netdev_priv(rxq->netdev); + bool use_lock = !ALX_CAP(&adpt->hw, MRQ); + + if (use_lock) + spin_lock(&rxq->list.lock); + + __skb_queue_tail(&rxq->list, skb); + + if (use_lock) + spin_unlock(&rxq->list.lock); +} + +int alx_alloc_rxring_buf(struct alx_adapter *adpt, + struct alx_rx_queue *rxq) +{ + struct sk_buff *skb; + struct alx_buffer *cur_buf; + struct rfd_desc *rfd; + dma_addr_t dma; + u16 cur, next, count = 0; + + next = cur = rxq->pidx; + if (++next == rxq->count) + next = 0; + cur_buf = rxq->bf_info + cur; + rfd = rxq->rfd_hdr + cur; + + while (!cur_buf->skb && next != rxq->cidx) { + skb = dev_alloc_skb(adpt->rxbuf_size); + if (unlikely(!skb)) { + netdev_warn(adpt->netdev, "alloc skb failed\n"); + break; + } + dma = dma_map_single(rxq->dev, + skb->data, + adpt->rxbuf_size, + DMA_FROM_DEVICE); + if (dma_mapping_error(rxq->dev, dma)) { + netdev_warn(adpt->netdev, "mapping rx-buffer failed\n"); + dev_kfree_skb(skb); + break; + } + cur_buf->skb = skb; + dma_unmap_len_set(cur_buf, size, adpt->rxbuf_size); + dma_unmap_addr_set(cur_buf, dma, dma); + rfd->addr = cpu_to_le64(dma); + + cur = next; + if (++next == rxq->count) + next = 0; + cur_buf = rxq->bf_info + cur; + rfd = rxq->rfd_hdr + cur; + count++; + } + + if (count) { + wmb(); + rxq->pidx = cur; + ALX_MEM_W16(&adpt->hw, rxq->p_reg, (u16)cur); + } + + return count; +} + +static void alx_free_rxring_buf(struct alx_rx_queue *rxq) +{ + struct alx_buffer *cur_buf; + struct sk_buff_head list; + u16 i; + + if (rxq == NULL) + return; + + for (i = 0; i < rxq->count; i++) { + cur_buf = rxq->bf_info + i; + if (cur_buf->skb) { + dma_unmap_single(rxq->dev, + dma_unmap_addr(cur_buf, dma), + dma_unmap_len(cur_buf, size), + DMA_FROM_DEVICE); + dev_kfree_skb(cur_buf->skb); + cur_buf->skb = NULL; + dma_unmap_len_set(cur_buf, size, 0); + dma_unmap_addr_set(cur_buf, dma, 0); + } + } + + /* some skbs might be pending in the list */ + __skb_queue_head_init(&list); + alx_skb_dequeue_n(rxq, -1, &list); + while (!skb_queue_empty(&list)) { + struct sk_buff *skb; + + skb = __skb_dequeue(&list); + dev_kfree_skb(skb); + } + + rxq->pidx = 0; + rxq->cidx = 0; + rxq->rrd_cidx = 0; +} + +int alx_setup_all_ring_resources(struct alx_adapter *adpt) +{ + int err; + + err = alx_alloc_napis(adpt); + if (err) + goto out; + + err = alx_alloc_rings(adpt); + if (err) + goto out; + + err = alx_reinit_rings(adpt); + +out: + if (unlikely(err)) { + netif_err(adpt, ifup, adpt->netdev, + "setup_all_ring_resources fail %d\n", + err); + } + return err; +} + +static void alx_txbuf_unmap_and_free(struct alx_tx_queue *txq, int entry) +{ + struct alx_buffer *txb = txq->bf_info + entry; + + if (dma_unmap_len(txb, size) && + txb->flags & ALX_BUF_TX_FIRSTFRAG) { + dma_unmap_single(txq->dev, + dma_unmap_addr(txb, dma), + dma_unmap_len(txb, size), + DMA_TO_DEVICE); + txb->flags &= ~ALX_BUF_TX_FIRSTFRAG; + } else if (dma_unmap_len(txb, size)) { + dma_unmap_page(txq->dev, + dma_unmap_addr(txb, dma), + dma_unmap_len(txb, size), + DMA_TO_DEVICE); + } + if (txb->skb) { + dev_kfree_skb_any(txb->skb); + txb->skb = NULL; + } + dma_unmap_len_set(txb, size, 0); +} + +static void alx_free_txring_buf(struct alx_tx_queue *txq) +{ + int i; + + if (!txq->bf_info) + return; + + for (i = 0; i < txq->count; i++) + alx_txbuf_unmap_and_free(txq, i); + + memset(txq->bf_info, 0, txq->count * sizeof(struct alx_buffer)); + memset(txq->tpd_hdr, 0, txq->count * sizeof(struct tpd_desc)); + txq->pidx = 0; + atomic_set(&txq->cidx, 0); + + netdev_tx_reset_queue(netdev_get_tx_queue(txq->netdev, txq->qidx)); +} + +/* free up pending skb for tx/rx */ +static void alx_free_all_rings_buf(struct alx_adapter *adpt) +{ + int i; + + for (i = 0; i < adpt->nr_txq; i++) + if (adpt->qnapi[i]) + alx_free_txring_buf(adpt->qnapi[i]->txq); + + for (i = 0; i < adpt->nr_hwrxq; i++) + if (adpt->qnapi[i]) + alx_free_rxring_buf(adpt->qnapi[i]->rxq); +} + +void alx_free_all_ring_resources(struct alx_adapter *adpt) +{ + alx_free_all_rings_buf(adpt); + alx_free_rings(adpt); + alx_free_napis(adpt); +} + +static inline int alx_tpd_avail(struct alx_tx_queue *txq) +{ + u16 cidx = atomic_read(&txq->cidx); + + return txq->pidx >= cidx ? + txq->count + cidx - txq->pidx - 1 : + cidx - txq->pidx - 1; +} + + + +static bool alx_clean_tx_irq(struct alx_tx_queue *txq) +{ + struct alx_adapter *adpt = netdev_priv(txq->netdev); + struct netdev_queue *netque; + u16 hw_cidx, sw_cidx; + unsigned int total_bytes = 0, total_packets = 0; + int budget = ALX_DEFAULT_TX_WORK; + + if (ALX_FLAG(adpt, HALT)) + return true; + + netque = netdev_get_tx_queue(adpt->netdev, txq->qidx); + sw_cidx = atomic_read(&txq->cidx); + + ALX_MEM_R16(&adpt->hw, txq->c_reg, &hw_cidx); + + if (sw_cidx != hw_cidx) { + + netif_info(adpt, tx_done, adpt->netdev, + "TX[Q:%d, Preg:%x]: cons = 0x%x, hw-cons = 0x%x\n", + txq->qidx, txq->p_reg, sw_cidx, hw_cidx); + + while (sw_cidx != hw_cidx && budget > 0) { + struct sk_buff *skb; + + skb = txq->bf_info[sw_cidx].skb; + if (skb) { + total_bytes += skb->len; + total_packets++; + budget--; + } + alx_txbuf_unmap_and_free(txq, sw_cidx); + if (++sw_cidx == txq->count) + sw_cidx = 0; + } + atomic_set(&txq->cidx, sw_cidx); + + netdev_tx_completed_queue(netque, total_packets, total_bytes); + } + + if (unlikely(netif_tx_queue_stopped(netque) && + netif_carrier_ok(adpt->netdev) && + alx_tpd_avail(txq) > ALX_TX_WAKEUP_THRESH(txq) && + !ALX_FLAG(adpt, HALT))) { + netif_tx_wake_queue(netque); + } + + return sw_cidx == hw_cidx; +} + +static bool alx_dispatch_skb(struct alx_rx_queue *rxq) +{ + struct alx_adapter *adpt = netdev_priv(rxq->netdev); + struct rrd_desc *rrd; + struct alx_buffer *rxb; + struct sk_buff *skb; + u16 length, rfd_cleaned = 0; + struct alx_rx_queue *tmp_rxq; + int qnum; + + if (test_and_set_bit(ALX_RQ_USING, &rxq->flag)) + return false; + + while (1) { + rrd = rxq->rrd_hdr + rxq->rrd_cidx; + if (!(rrd->word3 & (1 << RRD_UPDATED_SHIFT))) + break; + rrd->word3 &= ~(1 << RRD_UPDATED_SHIFT); + + if (unlikely(FIELD_GETX(rrd->word0, RRD_SI) != rxq->cidx || + FIELD_GETX(rrd->word0, RRD_NOR) != 1)) { + netif_err(adpt, rx_err, adpt->netdev, + "wrong SI/NOR packet! rrd->word0= %08x\n", + rrd->word0); + /* reset chip */ + ALX_FLAG_SET(adpt, TASK_RESET); + alx_schedule_work(adpt); + return true; + } + rxb = rxq->bf_info + rxq->cidx; + dma_unmap_single(rxq->dev, + dma_unmap_addr(rxb, dma), + dma_unmap_len(rxb, size), + DMA_FROM_DEVICE); + dma_unmap_len_set(rxb, size, 0); + skb = rxb->skb; + rxb->skb = NULL; + + if (unlikely(rrd->word3 & (1 << RRD_ERR_RES_SHIFT) || + rrd->word3 & (1 << RRD_ERR_LEN_SHIFT))) { + netdev_warn(adpt->netdev, + "wrong packet! rrd->word3 is %08x\n", + rrd->word3); + rrd->word3 = 0; + dev_kfree_skb_any(skb); + goto next_pkt; + } + length = FIELD_GETX(rrd->word3, RRD_PKTLEN) - ETH_FCS_LEN; + skb_put(skb, length); + skb->protocol = eth_type_trans(skb, adpt->netdev); + /* checksum */ + skb_checksum_none_assert(skb); + if (adpt->netdev->features & NETIF_F_RXCSUM) { + switch (FIELD_GETX(rrd->word2, RRD_PID)) { + case RRD_PID_IPV6UDP: + case RRD_PID_IPV4UDP: + case RRD_PID_IPV4TCP: + case RRD_PID_IPV6TCP: + if (rrd->word3 & ((1 << RRD_ERR_L4_SHIFT) | + (1 << RRD_ERR_IPV4_SHIFT))) { + netdev_warn( + adpt->netdev, + "rx-chksum error, w2=%X\n", + rrd->word2); + break; + } + skb->ip_summed = CHECKSUM_UNNECESSARY; + break; + } + } + /* vlan tag */ + if (rrd->word3 & (1 << RRD_VLTAGGED_SHIFT)) { + u16 tag = ntohs(FIELD_GETX(rrd->word2, RRD_VLTAG)); + __vlan_hwaccel_put_tag(skb, ntohs(tag)); + } + qnum = FIELD_GETX(rrd->word2, RRD_RSSQ) % adpt->nr_rxq; + tmp_rxq = ALX_CAP(&adpt->hw, MRQ) ? + rxq : adpt->qnapi[qnum]->rxq; + alx_skb_queue_tail(tmp_rxq, skb); + +next_pkt: + + if (++rxq->cidx == rxq->count) + rxq->cidx = 0; + if (++rxq->rrd_cidx == rxq->count) + rxq->rrd_cidx = 0; + + if (++rfd_cleaned > ALX_RX_ALLOC_THRESH) + rfd_cleaned -= alx_alloc_rxring_buf(adpt, rxq); + } + + if (rfd_cleaned) + alx_alloc_rxring_buf(adpt, rxq); + + clear_bit(ALX_RQ_USING, &rxq->flag); + + return true; +} + +static inline struct napi_struct *alx_rxq_to_napi( + struct alx_rx_queue *rxq) +{ + struct alx_adapter *adpt = netdev_priv(rxq->netdev); + + return &adpt->qnapi[rxq->qidx]->napi; +} + +static bool alx_clean_rx_irq(struct alx_rx_queue *rxq, int budget) +{ + struct sk_buff_head list; + bool empty; + + __skb_queue_head_init(&list); + alx_dispatch_skb(alx_hw_rxq(rxq)); + empty = alx_skb_dequeue_n(rxq, budget, &list); + if (!skb_queue_empty(&list)) { + struct napi_struct *napi; + struct sk_buff *skb; + + napi = alx_rxq_to_napi(rxq); + while (!skb_queue_empty(&list)) { + skb = __skb_dequeue(&list); + napi_gro_receive(napi, skb); + } + } else { + struct alx_adapter *adpt = netdev_priv(rxq->netdev); + + netif_info(adpt, rx_status, adpt->netdev, + "no packet received for this rxQ\n"); + } + + + return empty; +} + +static int alx_request_msix(struct alx_adapter *adpt) +{ + struct net_device *netdev = adpt->netdev; + int i, err; + int vec; + + err = request_irq(adpt->msix_ent[0].vector, + alx_intr_msix_misc, 0, netdev->name, adpt); + if (err) + goto out; + + vec = 1; + for (i = 0; i < adpt->nr_napi; i++) { + struct alx_napi *np = adpt->qnapi[i]; + + if (np->txq && np->rxq) + sprintf(np->irq_lbl, "%s-TR-%u", netdev->name, i); + else if (np->txq) + sprintf(np->irq_lbl, "%s-T-%u", netdev->name, i); + else + sprintf(np->irq_lbl, "%s-R-%u", netdev->name, i); + + np->vec_idx = vec; + err = request_irq(adpt->msix_ent[vec].vector, + alx_msix_ring, 0, np->irq_lbl, np); + if (err) { + for (i--, vec--; i >= 0; i--) { + np = adpt->qnapi[i]; + free_irq(adpt->msix_ent[vec].vector, np); + } + free_irq(adpt->msix_ent[0].vector, adpt); + goto out; + } + vec++; + } + +out: + return err; +} + +static void alx_disable_msix(struct alx_adapter *adpt) +{ + if (adpt->msix_ent) { + pci_disable_msix(adpt->pdev); + kfree(adpt->msix_ent); + adpt->msix_ent = NULL; + } + ALX_FLAG_CLEAR(adpt, USING_MSIX); +} + +static void alx_disable_msi(struct alx_adapter *adpt) +{ + if (ALX_FLAG(adpt, USING_MSI)) { + pci_disable_msi(adpt->pdev); + ALX_FLAG_CLEAR(adpt, USING_MSI); + } +} + +static int txq_vec_mapping_shift[] = { + 0, ALX_MSI_MAP_TBL1_TXQ0_SHIFT, + 0, ALX_MSI_MAP_TBL1_TXQ1_SHIFT, + 1, ALX_MSI_MAP_TBL2_TXQ2_SHIFT, + 1, ALX_MSI_MAP_TBL2_TXQ3_SHIFT, +}; +static int rxq_vec_mapping_shift[] = { + 0, ALX_MSI_MAP_TBL1_RXQ0_SHIFT, + 0, ALX_MSI_MAP_TBL1_RXQ1_SHIFT, + 0, ALX_MSI_MAP_TBL1_RXQ2_SHIFT, + 0, ALX_MSI_MAP_TBL1_RXQ3_SHIFT, + 1, ALX_MSI_MAP_TBL2_RXQ4_SHIFT, + 1, ALX_MSI_MAP_TBL2_RXQ5_SHIFT, + 1, ALX_MSI_MAP_TBL2_RXQ6_SHIFT, + 1, ALX_MSI_MAP_TBL2_RXQ7_SHIFT, +}; +static void alx_config_vector_mapping(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + u32 tbl[2]; + int vect, idx, shft; + int i; + + tbl[0] = tbl[1] = 0; + + if (ALX_FLAG(adpt, USING_MSIX)) { + for (vect = 1, i = 0; i < adpt->nr_txq; i++, vect++) { + idx = txq_vec_mapping_shift[i * 2]; + shft = txq_vec_mapping_shift[i * 2 + 1]; + tbl[idx] |= vect << shft; + } + for (vect = 1, i = 0; i < adpt->nr_rxq; i++, vect++) { + idx = rxq_vec_mapping_shift[i * 2]; + shft = rxq_vec_mapping_shift[i * 2 + 1]; + tbl[idx] |= vect << shft; + } + } + ALX_MEM_W32(hw, ALX_MSI_MAP_TBL1, tbl[0]); + ALX_MEM_W32(hw, ALX_MSI_MAP_TBL2, tbl[1]); + ALX_MEM_W32(hw, ALX_MSI_ID_MAP, 0); +} + +void alx_disable_advanced_intr(struct alx_adapter *adpt) +{ + alx_disable_msix(adpt); + alx_disable_msi(adpt); + + /* clear vector/intr-event mapping */ + alx_config_vector_mapping(adpt); +} + +static void alx_irq_enable(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + int i; + + if (!atomic_dec_and_test(&adpt->irq_sem)) + return; + + /* level-1 interrupt switch */ + ALX_MEM_W32(hw, ALX_ISR, 0); + ALX_MEM_W32(hw, ALX_IMR, hw->imask); + ALX_MEM_FLUSH(hw); + + if (!ALX_FLAG(adpt, USING_MSIX)) + return; + + /* enable all individual MSIX IRQs */ + for (i = 0; i < adpt->nr_vec; i++) + alx_mask_msix(hw, i, false); +} + +static void alx_irq_disable(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + int i; + + atomic_inc(&adpt->irq_sem); + + ALX_MEM_W32(hw, ALX_ISR, ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_IMR, 0); + ALX_MEM_FLUSH(hw); + + if (ALX_FLAG(adpt, USING_MSIX)) { + for (i = 0; i < adpt->nr_vec; i++) { + alx_mask_msix(hw, i, true); + synchronize_irq(adpt->msix_ent[i].vector); + } + } else { + synchronize_irq(adpt->pdev->irq); + } +} + +static int alx_request_irq(struct alx_adapter *adpt) +{ + struct pci_dev *pdev = adpt->pdev; + struct alx_hw *hw = &adpt->hw; + int err; + u32 msi_ctrl; + + msi_ctrl = FIELDX(ALX_MSI_RETRANS_TM, hw->imt >> 1); + + if (ALX_FLAG(adpt, USING_MSIX)) { + ALX_MEM_W32(hw, ALX_MSI_RETRANS_TIMER, msi_ctrl); + err = alx_request_msix(adpt); + if (!err) + goto out; + /* fall back to MSI or legacy interrupt mode, + * re-alloc all resources + */ + alx_free_all_ring_resources(adpt); + alx_disable_msix(adpt); + adpt->nr_rxq = 1; + adpt->nr_txq = 1; + adpt->nr_napi = 1; + adpt->nr_vec = 1; + adpt->nr_hwrxq = 1; + alx_configure_rss(hw, false); + if (!pci_enable_msi(pdev)) + ALX_FLAG_SET(adpt, USING_MSI); + + err = alx_setup_all_ring_resources(adpt); + if (err) + goto out; + } + + if (ALX_FLAG(adpt, USING_MSI)) { + ALX_MEM_W32(hw, ALX_MSI_RETRANS_TIMER, + msi_ctrl | ALX_MSI_MASK_SEL_LINE); + err = request_irq(pdev->irq, alx_intr_msi, 0, + adpt->netdev->name, adpt); + if (!err) + goto out; + /* fall back to legacy interrupt */ + alx_disable_msi(adpt); + } + + ALX_MEM_W32(hw, ALX_MSI_RETRANS_TIMER, 0); + err = request_irq(pdev->irq, alx_intr_legacy, IRQF_SHARED, + adpt->netdev->name, adpt); + + if (err) + netif_err(adpt, intr, adpt->netdev, + "request shared irq failed, err = %d\n", + err); + +out: + if (likely(!err)) { + alx_config_vector_mapping(adpt); + + netif_info(adpt, drv, adpt->netdev, + "nr_rxq=%d, nr_txq=%d, nr_napi=%d, nr_vec=%d\n", + adpt->nr_rxq, adpt->nr_txq, + adpt->nr_napi, adpt->nr_vec); + netif_info(adpt, drv, adpt->netdev, + "flags=%lX, Interrupt Mode: %s\n", + adpt->flags, + ALX_FLAG(adpt, USING_MSIX) ? "MSIX" : + ALX_FLAG(adpt, USING_MSI) ? "MSI" : "INTx"); + } else + netdev_err(adpt->netdev, + "register IRQ fail %d\n", + err); + + return err; +} + +static void alx_free_irq(struct alx_adapter *adpt) +{ + struct pci_dev *pdev = adpt->pdev; + int i, vec; + + if (ALX_FLAG(adpt, USING_MSIX)) { + free_irq(adpt->msix_ent[0].vector, adpt); + vec = 1; + for (i = 0; i < adpt->nr_napi; i++, vec++) + free_irq(adpt->msix_ent[vec].vector, adpt->qnapi[i]); + } else { + free_irq(pdev->irq, adpt); + } + alx_disable_advanced_intr(adpt); +} + + +static int alx_identify_hw(struct alx_adapter *adpt) +{ + struct pci_dev *pdev = adpt->pdev; + struct alx_hw *hw = &adpt->hw; + int rev; + int err = -EINVAL; + + hw->device_id = pdev->device; + hw->subdev_id = pdev->subsystem_device; + hw->subven_id = pdev->subsystem_vendor; + hw->revision = pdev->revision; + rev = ALX_REVID(hw); + + switch (ALX_DID(hw)) { + case ALX_DEV_ID_AR8161: + case ALX_DEV_ID_AR8162: + case ALX_DEV_ID_AR8171: + case ALX_DEV_ID_AR8172: + if (rev > ALX_REV_C0) + break; + err = 0; + ALX_CAP_SET(hw, L0S); + ALX_CAP_SET(hw, L1); + ALX_CAP_SET(hw, MTQ); + ALX_CAP_SET(hw, RSS); + ALX_CAP_SET(hw, MSIX); + ALX_CAP_SET(hw, SWOI); + hw->max_dma_chnl = rev >= ALX_REV_B0 ? 4 : 2; + if (rev < ALX_REV_C0) { + hw->ptrn_ofs = 0x600; + hw->max_ptrns = 8; + pdev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; + } else { + hw->ptrn_ofs = 0x14000; + hw->max_ptrns = 16; + } + break; + } + + if (!err && ALX_DID(hw) & 1) + ALX_CAP_SET(hw, GIGA); + + return err; +} + + +static const u8 def_rss_key[40] = { + 0xE2, 0x91, 0xD7, 0x3D, 0x18, 0x05, 0xEC, 0x6C, + 0x2A, 0x94, 0xB3, 0x0D, 0xA5, 0x4F, 0x2B, 0xEC, + 0xEA, 0x49, 0xAF, 0x7C, 0xE2, 0x14, 0xAD, 0x3D, + 0xB8, 0x55, 0xAA, 0xBE, 0x6A, 0x3E, 0x67, 0xEA, + 0x14, 0x36, 0x4D, 0x17, 0x3B, 0xED, 0x20, 0x0D, +}; + +void alx_init_def_rss_idt(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + int i, x, y; + u32 val; + + for (i = 0; i < hw->rss_idt_size; i++) { + val = ethtool_rxfh_indir_default(i, adpt->nr_rxq); + x = i >> 3; + y = i * 4 & 0x1F; + hw->rss_idt[x] &= ~(0xF << y); + hw->rss_idt[x] |= (val & 0xF) << y; + } +} + +/* alx_init_adapter - + * initialize general software structure (struct alx_adapter). + * fields are inited based on PCI device information. + */ +static int alx_init_sw(struct alx_adapter *adpt) +{ + struct pci_dev *pdev = adpt->pdev; + struct alx_hw *hw = &adpt->hw; + int i, err; + + err = alx_identify_hw(adpt); + if (err) { + dev_err(&pdev->dev, "unrecognize the chip, aborting\n"); + return err; + } + + /* assign patch flag for specific platforms */ + alx_patch_assign(hw); + + memcpy(hw->rss_key, def_rss_key, sizeof(def_rss_key)); + hw->rss_idt_size = 128; + hw->rss_hash_type = ALX_RSS_HASH_TYPE_ALL; + hw->smb_timer = 400; + hw->mtu = adpt->netdev->mtu; + adpt->rxbuf_size = ALIGN(ALX_RAW_MTU(hw->mtu), 8); + adpt->tx_ringsz = 256; + adpt->rx_ringsz = 512; + hw->sleep_ctrl = ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_WOL_PHY; + hw->imt = 200; + hw->imask = ALX_ISR_MISC; + hw->dma_chnl = hw->max_dma_chnl; + hw->ith_tpd = adpt->tx_ringsz / 3; + hw->link_up = false; + hw->link_duplex = 0; + hw->link_speed = SPEED_0; + hw->adv_cfg = ADVERTISED_Autoneg | + ADVERTISED_10baseT_Half | + ADVERTISED_10baseT_Full | + ADVERTISED_100baseT_Full | + ADVERTISED_100baseT_Half | + ADVERTISED_1000baseT_Full; + hw->flowctrl = ALX_FC_ANEG | ALX_FC_RX | ALX_FC_TX; + hw->wrr_ctrl = ALX_WRR_PRI_RESTRICT_NONE; + for (i = 0; i < ARRAY_SIZE(hw->wrr); i++) + hw->wrr[i] = 4; + + hw->rx_ctrl = ALX_MAC_CTRL_WOLSPED_SWEN | + ALX_MAC_CTRL_MHASH_ALG_HI5B | + ALX_MAC_CTRL_BRD_EN | + ALX_MAC_CTRL_PCRCE | + ALX_MAC_CTRL_CRCE | + ALX_MAC_CTRL_RXFC_EN | + ALX_MAC_CTRL_TXFC_EN | + FIELDX(ALX_MAC_CTRL_PRMBLEN, 7); + hw->is_fpga = false; + + atomic_set(&adpt->irq_sem, 1); + ALX_FLAG_SET(adpt, HALT); + + return err; +} + + +static void alx_set_vlan_mode(struct alx_hw *hw, + netdev_features_t features) +{ + if (features & NETIF_F_HW_VLAN_RX) + hw->rx_ctrl |= ALX_MAC_CTRL_VLANSTRIP; + else + hw->rx_ctrl &= ~ALX_MAC_CTRL_VLANSTRIP; + + ALX_MEM_W32(hw, ALX_MAC_CTRL, hw->rx_ctrl); +} + + +static netdev_features_t alx_fix_features(struct net_device *netdev, + netdev_features_t features) +{ + /* + * Since there is no support for separate rx/tx vlan accel + * enable/disable make sure tx flag is always in same state as rx. + */ + if (features & NETIF_F_HW_VLAN_RX) + features |= NETIF_F_HW_VLAN_TX; + else + features &= ~NETIF_F_HW_VLAN_TX; + + if (netdev->mtu > ALX_MAX_TSO_PKT_SIZE) + features &= ~(NETIF_F_TSO | NETIF_F_TSO6); + + return features; +} + + +static int alx_set_features(struct net_device *netdev, + netdev_features_t features) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + netdev_features_t changed = netdev->features ^ features; + + if (!(changed & NETIF_F_HW_VLAN_RX)) + return 0; + + alx_set_vlan_mode(&adpt->hw, features); + + return 0; +} + +/* alx_change_mtu - Change the Maximum Transfer Unit */ +static int alx_change_mtu(struct net_device *netdev, int new_mtu) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + int old_mtu = netdev->mtu; + int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN; + + if ((max_frame < ALX_MIN_FRAME_SIZE) || + (max_frame > ALX_MAX_FRAME_SIZE)) { + netif_err(adpt, hw, netdev, + "invalid MTU setting (%x)\n", + new_mtu); + return -EINVAL; + } + /* set MTU */ + if (old_mtu != new_mtu) { + netif_info(adpt, drv, adpt->netdev, + "changing MTU from %d to %d\n", + netdev->mtu, new_mtu); + netdev->mtu = new_mtu; + adpt->hw.mtu = new_mtu; + adpt->rxbuf_size = new_mtu > ALX_DEF_RXBUF_SIZE ? + ALIGN(max_frame, 8) : ALX_DEF_RXBUF_SIZE; + netdev_update_features(netdev); + if (netif_running(netdev)) + alx_reinit(adpt, false); + } + + return 0; +} + +/* configure hardware everything except: + * 1. interrupt vectors + * 2. enable control for rx modules + */ +void alx_configure(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + + alx_configure_basic(hw); + alx_configure_rss(hw, adpt->nr_rxq > 1); + __alx_set_rx_mode(adpt->netdev); + alx_set_vlan_mode(hw, adpt->netdev->features); +} + +static void alx_netif_stop(struct alx_adapter *adpt) +{ + int i; + + adpt->netdev->trans_start = jiffies; + if (netif_carrier_ok(adpt->netdev)) { + netif_carrier_off(adpt->netdev); + netif_tx_disable(adpt->netdev); + for (i = 0; i < adpt->nr_napi; i++) + napi_disable(&adpt->qnapi[i]->napi); + } +} + +static void alx_netif_start(struct alx_adapter *adpt) +{ + int i; + + netif_tx_wake_all_queues(adpt->netdev); + for (i = 0; i < adpt->nr_napi; i++) + napi_enable(&adpt->qnapi[i]->napi); + netif_carrier_on(adpt->netdev); +} + +static bool alx_enable_msix(struct alx_adapter *adpt) +{ + int nr_txq, nr_rxq, vec_req; + int i, err; + + nr_txq = min_t(int, num_online_cpus(), ALX_MAX_TX_QUEUES); + nr_rxq = min_t(int, num_online_cpus(), ALX_MAX_RX_QUEUES); + nr_rxq = rounddown_pow_of_two(nr_rxq); + /* one more vector for PHY link change & timer & other events */ + vec_req = max_t(int, nr_txq, nr_rxq) + 1; + + if (vec_req <= 2) { + netif_info(adpt, intr, adpt->netdev, + "cpu core num is less, MSI-X isn't necessary\n"); + return false; + } + + adpt->msix_ent = kcalloc(vec_req, + sizeof(struct msix_entry), + GFP_KERNEL); + if (!adpt->msix_ent) { + netif_warn(adpt, intr, adpt->netdev, + "can't alloc msix entries\n"); + return false; + } + for (i = 0; i < vec_req; i++) + adpt->msix_ent[i].entry = i; + + err = pci_enable_msix(adpt->pdev, adpt->msix_ent, vec_req); + if (err) { + kfree(adpt->msix_ent); + adpt->msix_ent = NULL; + netif_warn(adpt, intr, adpt->netdev, + "can't enable MSI-X interrupt\n"); + return false; + } + + adpt->nr_txq = nr_txq; + adpt->nr_rxq = nr_rxq; + adpt->nr_vec = vec_req; + adpt->nr_napi = vec_req - 1; + adpt->nr_hwrxq = ALX_CAP(&adpt->hw, MRQ) ? adpt->nr_rxq : 1; + + return true; +} + +void alx_init_intr(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + + if ((ALX_CAP(hw, MTQ) || ALX_CAP(hw, RSS)) && ALX_CAP(hw, MSIX)) { + if (alx_enable_msix(adpt)) + ALX_FLAG_SET(adpt, USING_MSIX); + } + if (!ALX_FLAG(adpt, USING_MSIX)) { + adpt->nr_txq = 1; + adpt->nr_rxq = 1; + adpt->nr_napi = 1; + adpt->nr_vec = 1; + adpt->nr_hwrxq = 1; + + if (!pci_enable_msi(adpt->pdev)) + ALX_FLAG_SET(adpt, USING_MSI); + } +} + +static int __alx_open(struct alx_adapter *adpt, bool resume) +{ + int err; + + /* decide interrupt mode, some resources allocation depend on it */ + alx_init_intr(adpt); + + /* init rss indirection table */ + alx_init_def_rss_idt(adpt); + + if (!resume) + netif_carrier_off(adpt->netdev); + + /* allocate all memory resources */ + err = alx_setup_all_ring_resources(adpt); + if (err) + goto err_out; + + /* make hardware ready before allocate interrupt */ + alx_configure(adpt); + + err = alx_request_irq(adpt); + if (err) + goto err_out; + + /* netif_set_real_num_tx/rx_queues need rtnl_lock held */ + if (resume) + rtnl_lock(); + netif_set_real_num_tx_queues(adpt->netdev, adpt->nr_txq); + netif_set_real_num_rx_queues(adpt->netdev, adpt->nr_rxq); + if (resume) + rtnl_unlock(); + + ALX_FLAG_CLEAR(adpt, HALT); + + /* clear old interrupts */ + ALX_MEM_W32(&adpt->hw, ALX_ISR, (u32)~ALX_ISR_DIS); + + alx_irq_enable(adpt); + + if (!resume) + netif_tx_start_all_queues(adpt->netdev); + + ALX_FLAG_SET(adpt, TASK_CHK_LINK); + alx_schedule_work(adpt); + return 0; + +err_out: + + alx_free_all_ring_resources(adpt); + alx_disable_advanced_intr(adpt); + return err; +} + +static void alx_halt(struct alx_adapter *adpt, bool in_task) +{ + struct alx_hw *hw = &adpt->hw; + + ALX_FLAG_SET(adpt, HALT); + if (!in_task) + alx_cancel_work(adpt); + + alx_netif_stop(adpt); + hw->link_up = false; + hw->link_speed = SPEED_0; + + alx_reset_mac(hw); + + /* disable l0s/l1 */ + alx_enable_aspm(hw, false, false); + alx_irq_disable(adpt); + alx_free_all_rings_buf(adpt); +} + +static void alx_activate(struct alx_adapter *adpt) +{ + /* hardware setting lost, restore it */ + alx_reinit_rings(adpt); + alx_configure(adpt); + + ALX_FLAG_CLEAR(adpt, HALT); + /* clear old interrupts */ + ALX_MEM_W32(&adpt->hw, ALX_ISR, (u32)~ALX_ISR_DIS); + + alx_irq_enable(adpt); + + ALX_FLAG_SET(adpt, TASK_CHK_LINK); + alx_schedule_work(adpt); +} + +static void __alx_stop(struct alx_adapter *adpt) +{ + alx_halt(adpt, false); + + alx_free_irq(adpt); + + alx_free_all_ring_resources(adpt); +} + +static void alx_init_ring_ptrs(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + struct alx_napi *np; + int i, tx_idx, rx_idx; + u32 addr_hi; + u16 txring_header_reg[] = {ALX_TPD_PRI0_ADDR_LO, ALX_TPD_PRI1_ADDR_LO, + ALX_TPD_PRI2_ADDR_LO, ALX_TPD_PRI3_ADDR_LO}; + u16 rfdring_header_reg[] = {ALX_RFD_ADDR_LO}; + u16 rrdring_header_reg[] = {ALX_RRD_ADDR_LO}; + + tx_idx = 0; + rx_idx = 0; + for (i = 0; i < adpt->nr_napi; i++) { + np = adpt->qnapi[i]; + if (np->rxq) { + np->rxq->pidx = 0; + np->rxq->cidx = 0; + np->rxq->rrd_cidx = 0; + if (!ALX_CAP(hw, MRQ) && rx_idx == 0) { + ALX_MEM_W32(hw, rfdring_header_reg[0], + np->rxq->rfd_dma); + ALX_MEM_W32(hw, rrdring_header_reg[0], + np->rxq->rrd_dma); + } + rx_idx++; + } + if (np->txq) { + np->txq->pidx = 0; + atomic_set(&np->txq->cidx, 0); + ALX_MEM_W32(hw, txring_header_reg[tx_idx], + np->txq->tpd_dma); + tx_idx++; + } + } + + addr_hi = ((u64)adpt->ring_header.dma) >> 32; + ALX_MEM_W32(hw, ALX_TX_BASE_ADDR_HI, addr_hi); + ALX_MEM_W32(hw, ALX_RX_BASE_ADDR_HI, addr_hi); + ALX_MEM_W32(hw, ALX_TPD_RING_SZ, adpt->tx_ringsz); + ALX_MEM_W32(hw, ALX_RRD_RING_SZ, adpt->rx_ringsz); + ALX_MEM_W32(hw, ALX_RFD_RING_SZ, adpt->rx_ringsz); + ALX_MEM_W32(hw, ALX_RFD_BUF_SZ, adpt->rxbuf_size); + + /* load these ptrs into chip internal */ + ALX_MEM_W32(hw, ALX_SRAM9, ALX_SRAM_LOAD_PTR); +} + +static void alx_show_speed(struct alx_adapter *adpt, u16 speed) +{ + netif_info(adpt, link, adpt->netdev, + "NIC Link Up: %s\n", + speed_desc(speed)); +} + +static int alx_reinit_rings(struct alx_adapter *adpt) +{ + int i, err = 0; + + alx_free_all_rings_buf(adpt); + + /* set rings' header to HW register */ + alx_init_ring_ptrs(adpt); + + /* alloc hw-rxing buf */ + for (i = 0; i < adpt->nr_hwrxq; i++) { + int count; + + count = alx_alloc_rxring_buf(adpt, adpt->qnapi[i]->rxq); + if (unlikely(!count)) { + err = -ENOMEM; + break; + } + } + + return err; +} + + + +static void alx_check_link(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + u16 speed, old_speed; + bool link_up, old_link_up; + int err; + + if (ALX_FLAG(adpt, HALT)) + return; + + /* clear PHY internal interrupt status, + * otherwise the Main interrupt status will be asserted + * for ever. + */ + alx_clear_phy_intr(hw); + + err = alx_get_phy_link(hw, &link_up, &speed); + if (err) + goto out; + + /* open interrutp mask */ + hw->imask |= ALX_ISR_PHY; + ALX_MEM_W32(hw, ALX_IMR, hw->imask); + + if (!link_up && !hw->link_up) + goto out; + + old_speed = hw->link_speed + hw->link_duplex; + old_link_up = hw->link_up; + + if (link_up) { + /* same speed ? */ + if (old_link_up && old_speed == speed) + goto out; + + alx_show_speed(adpt, speed); + hw->link_duplex = speed % 10; + hw->link_speed = speed - hw->link_duplex; + hw->link_up = true; + alx_post_phy_link(hw, hw->link_speed, ALX_CAP(hw, AZ)); + alx_enable_aspm(hw, ALX_CAP(hw, L0S), ALX_CAP(hw, L1)); + alx_start_mac(hw); + + /* link kept, just speed changed */ + if (old_link_up) + goto out; + /* link changed from 'down' to 'up' */ + alx_netif_start(adpt); + goto out; + } + + /* link changed from 'up' to 'down' */ + alx_netif_stop(adpt); + hw->link_up = false; + hw->link_speed = SPEED_0; + netif_info(adpt, link, adpt->netdev, "NIC Link Down\n"); + err = alx_reset_mac(hw); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "linkdown:reset_mac fail %d\n", err); + err = -EIO; + goto out; + } + alx_irq_disable(adpt); + + /* reset-mac cause all settings on HW lost, + * following steps restore all of them and + * refresh whole RX/TX rings + */ + err = alx_reinit_rings(adpt); + if (err) + goto out; + alx_configure(adpt); + alx_enable_aspm(hw, false, ALX_CAP(hw, L1)); + alx_post_phy_link(hw, SPEED_0, ALX_CAP(hw, AZ)); + alx_irq_enable(adpt); + +out: + + if (err) { + ALX_FLAG_SET(adpt, TASK_RESET); + alx_schedule_work(adpt); + } +} + +/* alx_open - Called when a network interface is made active */ +static int alx_open(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + int err; + + /* during diag running, disallow open */ + if (ALX_FLAG(adpt, TESTING)) + return -EBUSY; + + err = __alx_open(adpt, false); + + return err; +} + +/* alx_stop - Disables a network interface */ +static int alx_stop(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + WARN_ON(ALX_FLAG(adpt, RESETING)); + + __alx_stop(adpt); + + return 0; +} + +static int __alx_shutdown(struct pci_dev *pdev, bool *wol_en) +{ + struct alx_adapter *adpt = pci_get_drvdata(pdev); + struct net_device *netdev = adpt->netdev; + struct alx_hw *hw = &adpt->hw; + int err; + u16 speed; + + netif_device_detach(netdev); + if (netif_running(netdev)) + __alx_stop(adpt); + +#ifdef CONFIG_PM_SLEEP + err = pci_save_state(pdev); + if (err) + goto out; +#endif + + err = alx_select_powersaving_speed(hw, &speed); + if (!err) + err = alx_clear_phy_intr(hw); + if (!err) + err = alx_pre_suspend(hw, speed); + if (!err) + err = alx_config_wol(hw); + if (err) + goto out; + + *wol_en = false; + if (hw->sleep_ctrl & ALX_SLEEP_ACTIVE) { + netif_info(adpt, wol, netdev, + "wol: ctrl=%X, speed=%X\n", + hw->sleep_ctrl, speed); + + device_set_wakeup_enable(&pdev->dev, true); + *wol_en = true; + } + + pci_disable_device(pdev); + +out: + if (unlikely(err)) { + netif_info(adpt, hw, netdev, + "shutown err(%x)\n", + err); + err = -EIO; + } + + return err; +} + +static void alx_shutdown(struct pci_dev *pdev) +{ + int err; + bool wol_en; + + err = __alx_shutdown(pdev, &wol_en); + if (likely(!err)) { + pci_wake_from_d3(pdev, wol_en); + pci_set_power_state(pdev, PCI_D3hot); + } else { + dev_err(&pdev->dev, "shutdown fail %d\n", err); + } +} + +#ifdef CONFIG_PM_SLEEP +static int alx_suspend(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + int err; + bool wol_en; + + err = __alx_shutdown(pdev, &wol_en); + if (unlikely(err)) { + dev_err(&pdev->dev, "shutdown fail in suspend %d\n", err); + err = -EIO; + goto out; + } + if (wol_en) { + pci_prepare_to_sleep(pdev); + } else { + pci_wake_from_d3(pdev, false); + pci_set_power_state(pdev, PCI_D3hot); + } + +out: + return err; +} + +static int alx_resume(struct device *dev) +{ + struct pci_dev *pdev = to_pci_dev(dev); + struct alx_adapter *adpt = pci_get_drvdata(pdev); + struct net_device *netdev = adpt->netdev; + struct alx_hw *hw = &adpt->hw; + int err; + + pci_set_power_state(pdev, PCI_D0); + pci_restore_state(pdev); + pci_save_state(pdev); + + pci_enable_wake(pdev, PCI_D3hot, 0); + pci_enable_wake(pdev, PCI_D3cold, 0); + + hw->link_up = false; + hw->link_speed = SPEED_0; + hw->imask = ALX_ISR_MISC; + + alx_reset_pcie(hw); + alx_reset_phy(hw, !hw->hib_patch); + err = alx_reset_mac(hw); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "resume:reset_mac fail %d\n", + err); + return -EIO; + } + err = alx_setup_speed_duplex(hw, hw->adv_cfg, hw->flowctrl); + if (err) { + netif_err(adpt, hw, adpt->netdev, + "resume:setup_speed_duplex fail %d\n", + err); + return -EIO; + } + + if (netif_running(netdev)) { + err = __alx_open(adpt, true); + if (err) + return err; + } + + netif_device_attach(netdev); + + return err; +} +#endif + + + +/* alx_update_hw_stats - Update the board statistics counters. */ +static void alx_update_hw_stats(struct alx_adapter *adpt) +{ + if (ALX_FLAG(adpt, HALT) || ALX_FLAG(adpt, RESETING)) + return; + + __alx_update_hw_stats(&adpt->hw); +} + +/* alx_get_stats - Get System Network Statistics + * + * Returns the address of the device statistics structure. + * The statistics are actually updated from the timer callback. + */ +static struct net_device_stats *alx_get_stats(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct net_device_stats *net_stats = &netdev->stats; + struct alx_hw_stats *hw_stats = &adpt->hw.stats; + + spin_lock(&adpt->smb_lock); + + alx_update_hw_stats(adpt); + + net_stats->tx_packets = hw_stats->tx_ok; + net_stats->tx_bytes = hw_stats->tx_byte_cnt; + net_stats->rx_packets = hw_stats->rx_ok; + net_stats->rx_bytes = hw_stats->rx_byte_cnt; + net_stats->multicast = hw_stats->rx_mcast; + net_stats->collisions = hw_stats->tx_single_col + + hw_stats->tx_multi_col * 2 + + hw_stats->tx_late_col + hw_stats->tx_abort_col; + + net_stats->rx_errors = hw_stats->rx_frag + hw_stats->rx_fcs_err + + hw_stats->rx_len_err + hw_stats->rx_ov_sz + + hw_stats->rx_ov_rrd + hw_stats->rx_align_err; + + net_stats->rx_fifo_errors = hw_stats->rx_ov_rxf; + net_stats->rx_length_errors = hw_stats->rx_len_err; + net_stats->rx_crc_errors = hw_stats->rx_fcs_err; + net_stats->rx_frame_errors = hw_stats->rx_align_err; + net_stats->rx_over_errors = hw_stats->rx_ov_rrd + hw_stats->rx_ov_rxf; + + net_stats->rx_missed_errors = hw_stats->rx_ov_rrd + hw_stats->rx_ov_rxf; + + net_stats->tx_errors = hw_stats->tx_late_col + hw_stats->tx_abort_col + + hw_stats->tx_underrun + hw_stats->tx_trunc; + + net_stats->tx_aborted_errors = hw_stats->tx_abort_col; + net_stats->tx_fifo_errors = hw_stats->tx_underrun; + net_stats->tx_window_errors = hw_stats->tx_late_col; + + spin_unlock(&adpt->smb_lock); + + return net_stats; +} + +static void alx_update_stats(struct alx_adapter *adpt) +{ + spin_lock(&adpt->smb_lock); + alx_update_hw_stats(adpt); + spin_unlock(&adpt->smb_lock); +} + +void alx_reinit(struct alx_adapter *adpt, bool in_task) +{ + WARN_ON(in_interrupt()); + + while (test_and_set_bit(ALX_FLAG_RESETING, &adpt->flags)) + msleep(20); + + if (ALX_FLAG(adpt, HALT)) + return; + + alx_halt(adpt, in_task); + alx_activate(adpt); + + ALX_FLAG_CLEAR(adpt, RESETING); +} + +/* alx_task - manages and runs subtasks */ +static void alx_task(struct work_struct *work) +{ + struct alx_adapter *adpt = container_of(work, struct alx_adapter, task); + + /* don't support reentrance */ + while (test_and_set_bit(ALX_FLAG_TASK_PENDING, &adpt->flags)) + msleep(20); + + if (ALX_FLAG(adpt, HALT)) + goto out; + + if (test_and_clear_bit(ALX_FLAG_TASK_RESET, &adpt->flags)) { + netif_info(adpt, hw, adpt->netdev, + "task:alx_reinit\n"); + alx_reinit(adpt, true); + } + + if (test_and_clear_bit(ALX_FLAG_TASK_UPDATE_SMB, &adpt->flags)) + alx_update_stats(adpt); + + if (test_and_clear_bit(ALX_FLAG_TASK_CHK_LINK, &adpt->flags)) + alx_check_link(adpt); + +out: + ALX_FLAG_CLEAR(adpt, TASK_PENDING); +} + + +static irqreturn_t alx_msix_ring(int irq, void *data) +{ + struct alx_napi *np = data; + struct alx_adapter *adpt = np->adpt; + struct alx_hw *hw = &adpt->hw; + + /* mask interrupt to ACK chip */ + alx_mask_msix(hw, np->vec_idx, true); + /* clear interrutp status */ + ALX_MEM_W32(hw, ALX_ISR, np->vec_mask); + + if (!ALX_FLAG(adpt, HALT)) + napi_schedule(&np->napi); + + return IRQ_HANDLED; +} + +static inline bool alx_handle_intr_misc(struct alx_adapter *adpt, u32 intr) +{ + struct alx_hw *hw = &adpt->hw; + + if (unlikely(intr & ALX_ISR_FATAL)) { + netif_info(adpt, hw, adpt->netdev, + "intr-fatal:%08X\n", intr); + ALX_FLAG_SET(adpt, TASK_RESET); + alx_schedule_work(adpt); + return true; + } + + if (intr & ALX_ISR_ALERT) + netdev_warn(adpt->netdev, "interrutp alert :%x\n", intr); + + if (intr & ALX_ISR_SMB) { + ALX_FLAG_SET(adpt, TASK_UPDATE_SMB); + alx_schedule_work(adpt); + } + + if (intr & ALX_ISR_PHY) { + /* suppress PHY interrupt, because the source + * is from PHY internal. only the internal status + * is cleared, the interrupt status could be cleared. + */ + hw->imask &= ~ALX_ISR_PHY; + ALX_MEM_W32(hw, ALX_IMR, hw->imask); + ALX_FLAG_SET(adpt, TASK_CHK_LINK); + alx_schedule_work(adpt); + } + + return false; +} + +static irqreturn_t alx_intr_msix_misc(int irq, void *data) +{ + struct alx_adapter *adpt = data; + struct alx_hw *hw = &adpt->hw; + u32 intr; + + /* mask interrupt to ACK chip */ + alx_mask_msix(hw, 0, true); + + /* read interrupt status */ + ALX_MEM_R32(hw, ALX_ISR, &intr); + intr &= (hw->imask & ~ALX_ISR_ALL_QUEUES); + + if (alx_handle_intr_misc(adpt, intr)) + return IRQ_HANDLED; + + /* clear interrupt status */ + ALX_MEM_W32(hw, ALX_ISR, intr); + + /* enable interrupt again */ + if (!ALX_FLAG(adpt, HALT)) + alx_mask_msix(hw, 0, false); + + return IRQ_HANDLED; +} + +static inline irqreturn_t alx_intr_1(struct alx_adapter *adpt, u32 intr) +{ + struct alx_hw *hw = &adpt->hw; + + /* ACK interrupt */ + netif_info(adpt, intr, adpt->netdev, + "ACK interrupt: 0x%lx\n", + intr | ALX_ISR_DIS); + ALX_MEM_W32(hw, ALX_ISR, intr | ALX_ISR_DIS); + intr &= hw->imask; + + if (alx_handle_intr_misc(adpt, intr)) + return IRQ_HANDLED; + + if (intr & (ALX_ISR_TX_Q0 | ALX_ISR_RX_Q0)) { + napi_schedule(&adpt->qnapi[0]->napi); + /* mask rx/tx interrupt, enable them when napi complete */ + hw->imask &= ~ALX_ISR_ALL_QUEUES; + ALX_MEM_W32(hw, ALX_IMR, hw->imask); + } + + ALX_MEM_W32(hw, ALX_ISR, 0); + + return IRQ_HANDLED; +} + + +static irqreturn_t alx_intr_msi(int irq, void *data) +{ + struct alx_adapter *adpt = data; + u32 intr; + + /* read interrupt status */ + ALX_MEM_R32(&adpt->hw, ALX_ISR, &intr); + + return alx_intr_1(adpt, intr); +} + +static irqreturn_t alx_intr_legacy(int irq, void *data) +{ + struct alx_adapter *adpt = data; + struct alx_hw *hw = &adpt->hw; + u32 intr; + + /* read interrupt status */ + ALX_MEM_R32(hw, ALX_ISR, &intr); + if (intr & ALX_ISR_DIS || 0 == (intr & hw->imask)) { + u32 mask; + + ALX_MEM_R32(hw, ALX_IMR, &mask); + netif_info(adpt, intr, adpt->netdev, + "seems a wild interrupt, intr=%X, imask=%X, %X\n", + intr, hw->imask, mask); + + return IRQ_NONE; + } + + return alx_intr_1(adpt, intr); +} + + +static int alx_poll(struct napi_struct *napi, int budget) +{ + struct alx_napi *np = container_of(napi, struct alx_napi, napi); + struct alx_adapter *adpt = np->adpt; + bool complete = true; + + netif_info(adpt, intr, adpt->netdev, + "alx_poll, budget(%d)\n", + budget); + + if (np->txq) + complete = alx_clean_tx_irq(np->txq); + if (np->rxq) + complete &= alx_clean_rx_irq(np->rxq, budget); + + if (!complete) + return budget; + + /* rx-packet finished, exit the polling mode */ + napi_complete(&np->napi); + + /* enable interrupt */ + if (!ALX_FLAG(adpt, HALT)) { + struct alx_hw *hw = &adpt->hw; + + if (ALX_FLAG(adpt, USING_MSIX)) + alx_mask_msix(hw, np->vec_idx, false); + else { + /* TODO: need irq spinlock for imask ?? */ + hw->imask |= ALX_ISR_TX_Q0 | ALX_ISR_RX_Q0; + ALX_MEM_W32(hw, ALX_IMR, hw->imask); + } + ALX_MEM_FLUSH(hw); + } + + return 0; +} + +static inline struct alx_tx_queue *alx_tx_queue_mapping( + struct alx_adapter *adpt, + struct sk_buff *skb) +{ + int index = skb_get_queue_mapping(skb); + + if (index >= adpt->nr_txq) + index = index % adpt->nr_txq; + + return adpt->qnapi[index]->txq; +} + +static inline int alx_tpd_req(struct sk_buff *skb) +{ + int num; + + num = skb_shinfo(skb)->nr_frags + 1; + if (skb_is_gso(skb) && skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) + num++; + + return num; +} + +/* get custom checksum offload params + * return val: + * neg-val: drop this skb + * 0: no custom checksum offload + * pos-val: have custom cksum offload + */ +static int alx_tx_csum(struct sk_buff *skb, struct tpd_desc *first) +{ + u8 cso, css; + + if (skb->ip_summed != CHECKSUM_PARTIAL) + return 0; + + cso = skb_checksum_start_offset(skb); + if (cso & 0x1) + return -1; + + css = cso + skb->csum_offset; + first->word1 |= FIELDX(TPD_CXSUMSTART, cso >> 1); + first->word1 |= FIELDX(TPD_CXSUMOFFSET, css >> 1); + first->word1 |= 1 << TPD_CXSUM_EN_SHIFT; + + return 1; +} + +static int alx_tso(struct sk_buff *skb, struct tpd_desc *first) +{ + int hdr_len; + int err; + + if (skb->ip_summed != CHECKSUM_PARTIAL || + !skb_is_gso(skb)) + return 0; + + if (skb_header_cloned(skb)) { + err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); + if (unlikely(err)) + return err; + } + + if (skb->protocol == htons(ETH_P_IP)) { + struct iphdr *iph; + + iph = ip_hdr(skb); + hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); + iph->check = 0; + tcp_hdr(skb)->check = ~csum_tcpudp_magic( + iph->saddr, + iph->daddr, + 0, IPPROTO_TCP, 0); + first->word1 |= 1 << TPD_IPV4_SHIFT; + first->word1 |= FIELDX(TPD_L4HDROFFSET, + skb_transport_offset(skb)); + if (unlikely(skb->len == hdr_len)) { + /* no tcp payload */ + first->word1 |= 1 << TPD_IP_XSUM_SHIFT; + first->word1 |= 1 << TPD_TCP_XSUM_SHIFT; + return 0; + } + first->word1 |= 1 << TPD_LSO_EN_SHIFT; + first->word1 |= FIELDX(TPD_MSS, skb_shinfo(skb)->gso_size); + } else if (skb_is_gso_v6(skb)) { + struct ipv6hdr *ip6h; + + ip6h = ipv6_hdr(skb); + hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); + ip6h->payload_len = 0; + tcp_hdr(skb)->check = ~csum_ipv6_magic( + &ip6h->saddr, + &ip6h->daddr, + 0, IPPROTO_TCP, 0); + first->word1 |= FIELDX(TPD_L4HDROFFSET, + skb_transport_offset(skb)); + if (unlikely(skb->len == hdr_len)) { + /* no tcp payload */ + ip6h->payload_len = skb->len - + ((unsigned char *)ip6h - skb->data) - + sizeof(struct ipv6hdr); + first->word1 |= 1 << TPD_IP_XSUM_SHIFT; + first->word1 |= 1 << TPD_TCP_XSUM_SHIFT; + return 0; + } + /* for LSOv2, the 1st TPD just provides packet length */ + first->adrl.l.pkt_len = skb->len; + first->word1 |= 1 << TPD_LSO_EN_SHIFT; + first->word1 |= 1 << TPD_LSO_V2_SHIFT; + first->word1 |= FIELDX(TPD_MSS, skb_shinfo(skb)->gso_size); + } + + return 1; +} + +static int alx_tx_map(struct alx_tx_queue *txq, struct sk_buff *skb) +{ + struct tpd_desc *tpd, *first_tpd; + struct alx_buffer *buf, *first_buf; + dma_addr_t dma; + u16 producer, maplen, f; + + producer = txq->pidx; + + first_tpd = txq->tpd_hdr + producer; + first_buf = txq->bf_info + producer; + tpd = first_tpd; + buf = first_buf; + if (tpd->word1 & (1 << TPD_LSO_V2_SHIFT)) { + if (++producer == txq->count) + producer = 0; + tpd = txq->tpd_hdr + producer; + buf = txq->bf_info + producer; + tpd->word0 = first_tpd->word0; + tpd->word1 = first_tpd->word1; + } + maplen = skb_headlen(skb); + dma = dma_map_single(txq->dev, skb->data, maplen, DMA_TO_DEVICE); + if (dma_mapping_error(txq->dev, dma)) + goto err_dma; + + dma_unmap_len_set(buf, size, maplen); + dma_unmap_addr_set(buf, dma, dma); + + tpd->adrl.addr = cpu_to_le64(dma); + FIELD_SET32(tpd->word0, TPD_BUFLEN, maplen); + + for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) { + struct skb_frag_struct *frag; + + frag = &skb_shinfo(skb)->frags[f]; + if (++producer == txq->count) + producer = 0; + tpd = txq->tpd_hdr + producer; + buf = txq->bf_info + producer; + tpd->word0 = first_tpd->word0; + tpd->word1 = first_tpd->word1; + maplen = skb_frag_size(frag); + dma = skb_frag_dma_map(txq->dev, frag, 0, + maplen, DMA_TO_DEVICE); + if (dma_mapping_error(txq->dev, dma)) + goto err_dma; + dma_unmap_len_set(buf, size, maplen); + dma_unmap_addr_set(buf, dma, dma); + + tpd->adrl.addr = cpu_to_le64(dma); + FIELD_SET32(tpd->word0, TPD_BUFLEN, maplen); + } + /* last TPD */ + tpd->word1 |= 1 << TPD_EOP_SHIFT; + + if (++producer == txq->count) + producer = 0; + + first_buf->flags |= ALX_BUF_TX_FIRSTFRAG; + buf->skb = skb; + txq->pidx = producer; + + return 0; + +err_dma: + + for (f = txq->pidx; f != producer;) { + alx_txbuf_unmap_and_free(txq, f); + if (++f == txq->count) + f = 0; + } + return -1; +} + +static netdev_tx_t alx_start_xmit_ring(struct alx_tx_queue *txq, + struct sk_buff *skb) +{ + struct alx_adapter *adpt; + struct netdev_queue *netque; + struct tpd_desc *first; + int budget, tpdreq; + int do_tso; + + adpt = netdev_priv(txq->netdev); + netque = netdev_get_tx_queue(txq->netdev, skb_get_queue_mapping(skb)); + + tpdreq = alx_tpd_req(skb); + budget = alx_tpd_avail(txq); + + if (unlikely(budget < tpdreq)) { + if (!netif_tx_queue_stopped(netque)) { + netif_tx_stop_queue(netque); + + /* TX reclaim might have plenty of free TPD + * but see tx_queue is active (because its + * judement doesn't acquire tx-spin-lock, + * this situation cause the TX-queue stop and + * never be wakeup. + * try one more time + */ + budget = alx_tpd_avail(txq); + if (budget >= tpdreq) { + netif_tx_wake_queue(netque); + goto tx_conti; + } + netif_err(adpt, tx_err, adpt->netdev, + "TPD Ring is full when queue awake!\n"); + } + return NETDEV_TX_BUSY; + } + +tx_conti: + + first = txq->tpd_hdr + txq->pidx; + memset(first, 0, sizeof(struct tpd_desc)); + + /* NOTE, chip only supports single-VLAN insertion (81-00-TAG) */ + if (vlan_tx_tag_present(skb)) { + first->word1 |= 1 << TPD_INS_VLTAG_SHIFT; + first->word0 |= FIELDX(TPD_VLTAG, htons(vlan_tx_tag_get(skb))); + } + if (skb->protocol == htons(ETH_P_8021Q)) + first->word1 |= 1 << TPD_VLTAGGED_SHIFT; + if (skb_network_offset(skb) != ETH_HLEN) + first->word1 |= 1 << TPD_ETHTYPE_SHIFT; + + do_tso = alx_tso(skb, first); + if (do_tso < 0) + goto drop; + else if (!do_tso && alx_tx_csum(skb, first) < 0) + goto drop; + + if (alx_tx_map(txq, skb) < 0) + goto drop; + + netdev_tx_sent_queue(netque, skb->len); + + /* refresh produce idx on HW */ + wmb(); + ALX_MEM_W16(&adpt->hw, txq->p_reg, txq->pidx); + + netif_info(adpt, tx_done, adpt->netdev, + "TX[Preg:%X]: producer = 0x%x, consumer = 0x%x\n", + txq->p_reg, txq->pidx, atomic_read(&txq->cidx)); + + return NETDEV_TX_OK; + +drop: + netif_info(adpt, tx_done, adpt->netdev, + "tx-skb(%d) dropped\n", + skb->len); + memset(first, 0, sizeof(struct tpd_desc)); + dev_kfree_skb(skb); + + return NETDEV_TX_OK; +} + +static netdev_tx_t alx_start_xmit(struct sk_buff *skb, + struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + if (ALX_FLAG(adpt, HALT)) { + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + } + + if (skb->len <= 0) { + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + } + + return alx_start_xmit_ring(alx_tx_queue_mapping(adpt, skb), skb); +} + + +static void alx_dump_state(struct alx_adapter *adpt) +{ + struct alx_hw *hw = &adpt->hw; + struct alx_tx_queue *txq; + struct tpd_desc *tpd; + u16 begin, end; + int i; + + for (i = 0; i < adpt->nr_txq; i++) { + + txq = adpt->qnapi[i]->txq; + begin = txq->pidx >= 8 ? (txq->pidx - 8) : + (txq->count + txq->pidx - 8); + end = txq->pidx + 4; + if (end >= txq->count) + end -= txq->count; + + netif_err(adpt, tx_err, adpt->netdev, + "-----------------TPD-ring(%d)------------------\n", + i); + + while (begin != end) { + tpd = txq->tpd_hdr + begin; + netif_err(adpt, tx_err, adpt->netdev, + "%X: W0=%08X, W1=%08X, W2=%X\n", + begin, tpd->word0, tpd->word1, + tpd->adrl.l.pkt_len); + if (++begin >= txq->count) + begin = 0; + } + } + + netif_err(adpt, tx_err, adpt->netdev, + "---------------dump registers-----------------\n"); + end = 0x1800; + for (begin = 0x1400; begin < end; begin += 16) { + u32 v1, v2, v3, v4; + + ALX_MEM_R32(hw, begin, &v1); + ALX_MEM_R32(hw, begin+4, &v2); + ALX_MEM_R32(hw, begin+8, &v3); + ALX_MEM_R32(hw, begin+12, &v4); + netif_err(adpt, tx_err, adpt->netdev, + "%04X: %08X,%08X,%08X,%08X\n", + begin, v1, v2, v3, v4); + } +} + +static void alx_tx_timeout(struct net_device *dev) +{ + struct alx_adapter *adpt = netdev_priv(dev); + + alx_dump_state(adpt); + + ALX_FLAG_SET(adpt, TASK_RESET); + alx_schedule_work(adpt); +} + +static int alx_mdio_read(struct net_device *netdev, + int prtad, int devad, u16 addr) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + u16 val; + int err; + + netif_dbg(adpt, hw, netdev, + "alx_mdio_read, prtad=%d, devad=%d, addr=%X\n", + prtad, devad, addr); + + if (prtad != hw->mdio.prtad) + return -EINVAL; + + if (devad != MDIO_DEVAD_NONE) + err = alx_read_phy_ext(hw, devad, addr, &val); + else + err = alx_read_phy_reg(hw, addr, &val); + + return err ? -EIO : val; +} + +static int alx_mdio_write(struct net_device *netdev, + int prtad, int devad, u16 addr, u16 val) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + struct alx_hw *hw = &adpt->hw; + int err; + + netif_dbg(adpt, hw, netdev, + "alx_mdio_write: prtad=%d, devad=%d, addr=%X, val=%X\n", + prtad, devad, addr, val); + + if (prtad != hw->mdio.prtad) + return -EINVAL; + + if (devad != MDIO_DEVAD_NONE) + err = alx_write_phy_ext(hw, devad, addr, val); + else + err = alx_write_phy_reg(hw, addr, val); + + return err ? -EIO : 0; +} + +static int alx_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + + if (!netif_running(netdev)) + return -EAGAIN; + + return mdio_mii_ioctl(&adpt->hw.mdio, if_mii(ifr), cmd); +} + +#ifdef CONFIG_NET_POLL_CONTROLLER +static void alx_poll_controller(struct net_device *netdev) +{ + struct alx_adapter *adpt = netdev_priv(netdev); + int i; + + if (ALX_FLAG(adpt, HALT)) + return; + + if (ALX_FLAG(adpt, USING_MSIX)) { + alx_intr_msix_misc(0, adpt); + for (i = 0; i < adpt->nr_napi; i++) + alx_msix_ring(0, adpt->qnapi[i]); + } else if (ALX_FLAG(adpt, USING_MSI)) + alx_intr_msi(0, adpt); + else + alx_intr_legacy(0, adpt); + +} +#endif + +static const struct net_device_ops alx_netdev_ops = { + .ndo_open = alx_open, + .ndo_stop = alx_stop, + .ndo_start_xmit = alx_start_xmit, + .ndo_get_stats = alx_get_stats, + .ndo_set_rx_mode = alx_set_rx_mode, + .ndo_validate_addr = eth_validate_addr, + .ndo_set_mac_address = alx_set_mac_address, + .ndo_change_mtu = alx_change_mtu, + .ndo_do_ioctl = alx_ioctl, + .ndo_tx_timeout = alx_tx_timeout, + .ndo_fix_features = alx_fix_features, + .ndo_set_features = alx_set_features, +#ifdef CONFIG_NET_POLL_CONTROLLER + .ndo_poll_controller = alx_poll_controller, +#endif +}; + +/* alx_probe - Device Initialization Routine */ +static int +alx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +{ + struct net_device *netdev; + struct alx_adapter *adpt = NULL; + struct alx_hw *hw; + bool phy_cfged; + int bars, pm_cap, err; + static int cards_found; + + /* enable device (incl. PCI PM wakeup and hotplug setup) */ + err = pci_enable_device_mem(pdev); + if (err) { + dev_err(&pdev->dev, "cannot enable PCI device memory\n"); + return err; + } + + /* The alx chip can DMA to 64-bit addresses, but it uses a single + * shared register for the high 32 bits, so only a single, aligned, + * 4 GB physical address range can be used at a time. + */ + if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) && + !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { + dev_dbg(&pdev->dev, "DMA to 64-BIT addresses\n"); + } else { + err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); + if (err) { + err = dma_set_coherent_mask(&pdev->dev, + DMA_BIT_MASK(32)); + if (err) { + dev_err(&pdev->dev, + "No usable DMA config, aborting\n"); + goto err_dma_mask; + } + } + } + + /* obtain PCI resources */ + bars = pci_select_bars(pdev, IORESOURCE_MEM); + err = pci_request_selected_regions(pdev, bars, alx_drv_name); + if (err) { + dev_err(&pdev->dev, + "pci_request_selected_regions failed(bars:%d)\n", bars); + goto err_pci_region; + } + + pci_enable_pcie_error_reporting(pdev); + pci_set_master(pdev); + + /* find PM capability */ + pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM); + if (pm_cap == 0) { + dev_err(&pdev->dev, + "Can't find power management capability, aborting\n"); + err = -EIO; + goto err_pm; + } + err = pci_set_power_state(pdev, PCI_D0); + if (err) { + dev_err(&pdev->dev, "switch to D0 status failed, aborting\n"); + goto err_pm; + } + + /* netdev zeroed in init_etherdev */ + netdev = alloc_etherdev_mqs(sizeof(struct alx_adapter), + ALX_MAX_TX_QUEUES, + ALX_MAX_RX_QUEUES); + if (!netdev) { + dev_err(&pdev->dev, "etherdev_mq alloc failed\n"); + err = -ENOMEM; + goto err_alloc_ethdev; + } + + SET_NETDEV_DEV(netdev, &pdev->dev); + adpt = netdev_priv(netdev); + adpt->netdev = netdev; + adpt->pdev = pdev; + adpt->msg_enable = NETIF_MSG_LINK | + NETIF_MSG_HW | + NETIF_MSG_IFUP | + NETIF_MSG_TX_ERR | + NETIF_MSG_RX_ERR | + NETIF_MSG_WOL; + adpt->bd_number = cards_found; + hw = &adpt->hw; + hw->pdev = pdev; + pci_set_drvdata(pdev, adpt); + + hw->hw_addr = pci_ioremap_bar(pdev, 0); + if (!hw->hw_addr) { + dev_err(&pdev->dev, "cannot map device registers\n"); + err = -EIO; + goto err_iomap; + } + + netdev->netdev_ops = &alx_netdev_ops; + alx_set_ethtool_ops(netdev); + netdev->irq = pdev->irq; + netdev->watchdog_timeo = ALX_WATCHDOG_TIME; + + /* init alx_adapte structure */ + err = alx_init_sw(adpt); + if (err) { + dev_err(&pdev->dev, "net device private data init failed\n"); + goto err_init_sw; + } + + /* reset pcie */ + alx_reset_pcie(hw); + + /* check if phy already configed by ohter driver */ + phy_cfged = alx_phy_configed(hw); + + /* reset PHY to a known stable status */ + if (!phy_cfged) + alx_reset_phy(hw, !hw->hib_patch); + else + dev_info(&pdev->dev, "PHY has been configured.\n"); + + /* reset mac/dma controller */ + err = alx_reset_mac(hw); + if (err) { + dev_err(&pdev->dev, "MAC Reset failed, error = %d\n", err); + err = -EIO; + goto err_rst_mac; + } + + /* setup link to put it in a known good starting state */ + if (!phy_cfged) { + err = alx_setup_speed_duplex(hw, + hw->adv_cfg, hw->flowctrl); + if (err) { + dev_err(&pdev->dev, + "config PHY speed/duplex failed,err=%d\n", + err); + err = -EIO; + goto err_setup_link; + } + } + + netdev->hw_features = NETIF_F_SG | + NETIF_F_HW_CSUM | + NETIF_F_HW_VLAN_RX | + NETIF_F_TSO | + NETIF_F_TSO6; + netdev->features = netdev->hw_features | NETIF_F_HW_VLAN_TX; + + /* read permanent mac addr from register or eFuse */ + if (alx_get_perm_macaddr(hw, hw->perm_addr)) { + dev_warn(&pdev->dev, "invalid perm-address, use random one\n"); + eth_hw_addr_random(netdev); + memcpy(hw->perm_addr, netdev->dev_addr, netdev->addr_len); + } + /* using permanent address as current address */ + memcpy(hw->mac_addr, hw->perm_addr, ETH_ALEN); + memcpy(netdev->dev_addr, hw->mac_addr, ETH_ALEN); + memcpy(netdev->perm_addr, hw->perm_addr, ETH_ALEN); + + /* PHY mdio */ + hw->mdio.prtad = 0; + hw->mdio.mmds = 0; + hw->mdio.dev = netdev; + hw->mdio.mode_support = + MDIO_SUPPORTS_C45 | MDIO_SUPPORTS_C22 | MDIO_EMULATE_C22; + hw->mdio.mdio_read = alx_mdio_read; + hw->mdio.mdio_write = alx_mdio_write; + if (!alx_get_phy_info(hw)) { + dev_err(&pdev->dev, "identify PHY failed\n"); + err = -EIO; + goto err_id_phy; + } + + INIT_WORK(&adpt->task, alx_task); + + err = register_netdev(netdev); + if (err) { + dev_err(&pdev->dev, "register netdevice failed\n"); + goto err_register_netdev; + } + + /* carrier off reporting is important to ethtool even BEFORE open */ + netif_carrier_off(netdev); + + device_set_wakeup_enable(&pdev->dev, hw->sleep_ctrl); + cards_found++; + + dev_info(&pdev->dev, + "alx(%pM): Qualcomm Atheros Ethernet Network Connection\n", + netdev->dev_addr); + + return 0; + +err_id_phy: +err_register_netdev: +err_setup_link: +err_rst_mac: +err_init_sw: + iounmap(hw->hw_addr); +err_iomap: + free_netdev(netdev); +err_alloc_ethdev: +err_pm: + pci_release_selected_regions(pdev, bars); +err_pci_region: +err_dma_mask: + pci_disable_device(pdev); + dev_err(&pdev->dev, "error when probe device, error = %d\n", err); + return err; +} + +/* alx_remove - Device Removal Routine */ +static void alx_remove(struct pci_dev *pdev) +{ + struct alx_adapter *adpt = pci_get_drvdata(pdev); + struct alx_hw *hw = &adpt->hw; + struct net_device *netdev; + + if (!adpt) + return; + + netdev = adpt->netdev; + + ALX_FLAG_SET(adpt, HALT); + alx_cancel_work(adpt); + + /* restore permanent mac address */ + alx_set_macaddr(hw, hw->perm_addr); + + unregister_netdev(netdev); + iounmap(hw->hw_addr); + pci_release_selected_regions(pdev, + pci_select_bars(pdev, IORESOURCE_MEM)); + free_netdev(netdev); + pci_disable_pcie_error_reporting(pdev); + pci_disable_device(pdev); + pci_set_drvdata(pdev, NULL); +} + +/* alx_pci_error_detected */ +static pci_ers_result_t alx_pci_error_detected(struct pci_dev *pdev, + pci_channel_state_t state) +{ + struct alx_adapter *adpt = pci_get_drvdata(pdev); + struct net_device *netdev = adpt->netdev; + pci_ers_result_t rc = PCI_ERS_RESULT_NEED_RESET; + + dev_info(&pdev->dev, "pci error detected\n"); + + rtnl_lock(); + + if (netif_running(netdev)) { + netif_device_detach(netdev); + alx_halt(adpt, false); + } + if (state == pci_channel_io_perm_failure) + rc = PCI_ERS_RESULT_DISCONNECT; + else + pci_disable_device(pdev); + + rtnl_unlock(); + + return rc; +} + +/* alx_pci_error_slot_reset */ +static pci_ers_result_t alx_pci_error_slot_reset(struct pci_dev *pdev) +{ + struct alx_adapter *adpt = pci_get_drvdata(pdev); + struct alx_hw *hw = &adpt->hw; + pci_ers_result_t rc = PCI_ERS_RESULT_DISCONNECT; + + dev_info(&pdev->dev, "pci error slot reset\n"); + + rtnl_lock(); + + if (pci_enable_device(pdev)) { + dev_err(&pdev->dev, "Re-enable PCI device after reset fail\n"); + goto out; + } + + pci_set_master(pdev); + pci_enable_wake(pdev, PCI_D3hot, 0); + pci_enable_wake(pdev, PCI_D3cold, 0); + + alx_reset_pcie(hw); + if (!alx_reset_mac(hw)) + rc = PCI_ERS_RESULT_RECOVERED; +out: + pci_cleanup_aer_uncorrect_error_status(pdev); + + rtnl_unlock(); + + return rc; +} + +/* alx_pci_error_resume */ +static void alx_pci_error_resume(struct pci_dev *pdev) +{ + struct alx_adapter *adpt = pci_get_drvdata(pdev); + struct net_device *netdev = adpt->netdev; + + dev_info(&pdev->dev, "pci error resume\n"); + + rtnl_lock(); + + if (netif_running(netdev)) { + alx_activate(adpt); + netif_device_attach(netdev); + } + + rtnl_unlock(); +} + + +static struct pci_error_handlers alx_err_handler = { + .error_detected = alx_pci_error_detected, + .slot_reset = alx_pci_error_slot_reset, + .resume = alx_pci_error_resume, +}; + +#ifdef CONFIG_PM_SLEEP +static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); +#define ALX_PM_OPS (&alx_pm_ops) +#else +#define ALX_PM_OPS NULL +#endif + +static struct pci_driver alx_driver = { + .name = alx_drv_name, + .id_table = alx_pci_tbl, + .probe = alx_probe, + .remove = alx_remove, + .shutdown = alx_shutdown, + .err_handler = &alx_err_handler, + .driver.pm = ALX_PM_OPS, +}; + + +static int __init alx_init_module(void) +{ + pr_info("%s\n", alx_drv_desc); + return pci_register_driver(&alx_driver); +} +module_init(alx_init_module); + +static void __exit alx_exit_module(void) +{ + pci_unregister_driver(&alx_driver); +} +module_exit(alx_exit_module); --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/README.md +++ linux-lts-quantal-3.5.0/ubuntu/alx/README.md @@ -0,0 +1,60 @@ +# alx standalone development tree + +The puropose of this development tree is to enable us to do development +on alx for both BSD and Linux with a single unified repository. This enables +us to synchronize fixes for both BSD and Linux. The idea is to help end +typical proprietary driver development for good: + +http://www.youtube.com/watch?v=9P-r3H0bY8c + +# Linux support + +Linux support targets the alx driver to be built in synch with +linux-next.git as the base development tree. Backport kernel support +is provided by utilizing the compat-drivers framework. + +To build for linux you will need a few trees. We have scripts to let +you get all that you need: + +
+cd ~
+git clone git://github.com/mcgrof/compat.git
+cd compat
+./bin/get-compat-trees
+
+cd ~
+mkdir unified/
+git clone git://github.com/mcgrof/alx.git
+
+cd alx
+./make linux
+
+ +# Contributions + +Contributions to compat follow the same mechanisms as used in the Linux kernel, +this means you should provide as Singed-off-by tag as documented on the +Developer's Certificate of Origin 1.1. + +# Submitting patches + +compat and compat-drivers contributions follow the contribution model +implemented by the Linux kernel. Patches or pull requests for compat and +compat-drivers must have be signed-offed. If you don't sign off on them they +will not accepted. This means adding a line that says "Signed-off-by: Name +email" at the end of each commit, indicating that you wrote the code and have +the right to pass it on as an open source patch. For exact definition of what +the Signed-off-by tag is you can read the definition of the "Developer's +Certificate of Origin 1.1", which you can read here: + +http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html + +You can send patches as follows: + + * To: mcgrof@kernel.org, adrian@freebsd.org + * Cc: nic-devel@qualcomm.com + * Subject: alx: foo + +# BSD support + +TBD --- linux-lts-quantal-3.5.0.orig/ubuntu/alx/LICENSE +++ linux-lts-quantal-3.5.0/ubuntu/alx/LICENSE @@ -0,0 +1,15 @@ +Copyright (c) 2012, Luis R. Rodriguez +Copyright (c) 2012 Qualcomm Atheros, Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, 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. + --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/intel_display.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_display.c @@ -0,0 +1,9609 @@ +/* + * 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 +#include "intel_drv.h" +#include +#include "i915_drv.h" +#include "i915_trace.h" +#include +#include +#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 = 8, .max = 18 }, + .m2 = { .min = 3, .max = 7 }, + .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 (HAS_DDI(dev_priv->dev)) { + /* DDI does not have a specific FDI_TX register */ + 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 (HAS_DDI(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_page_offset(int *x, int *y, + unsigned int tiling_mode, + unsigned int cpp, + unsigned int pitch) +{ + if (tiling_mode != I915_TILING_NONE) { + unsigned int tile_rows, tiles; + + tile_rows = *y / 8; + *y %= 8; + + tiles = *x / (512/cpp); + *x %= 512/cpp; + + return tile_rows * pitch * 8 + tiles * 4096; + } else { + unsigned int offset; + + offset = *y * pitch + *x * cpp; + *y = 0; + *x = (offset & 4095) / cpp; + return offset & -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_page_offset(&x, &y, obj->tiling_mode, + 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_page_offset(&x, &y, obj->tiling_mode, + 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 > INTEL_INFO(dev)->num_pipes) { + DRM_ERROR("no plane for crtc: plane %d, num_pipes %d\n", + intel_crtc->plane, + INTEL_INFO(dev)->num_pipes); + 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 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); + + 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); + + 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 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); + } + + /* 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; + u32 pctl; + + + 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); + + /* Disable pannel fitter if it is on this pipe. */ + pctl = I915_READ(PFIT_CONTROL); + if ((pctl & PFIT_ENABLE) && + ((pctl & PFIT_PIPE_MASK) >> PFIT_PIPE_SHIFT) == pipe) + I915_WRITE(PFIT_CONTROL, 0); + + 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 > DATA_LINK_M_N_MASK || + *den > DATA_LINK_M_N_MASK) { + *num >>= 1; + *den >>= 1; + } +} + +static void compute_m_n(unsigned int m, unsigned int n, + uint32_t *ret_m, uint32_t *ret_n) +{ + *ret_n = min_t(unsigned int, roundup_pow_of_two(n), DATA_LINK_N_MAX); + *ret_m = div_u64((uint64_t) m * *ret_n, n); + fdi_reduce_ratio(ret_m, ret_n); +} + +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 */ + + compute_m_n(bits_per_pixel * pixel_clock, + link_clock * nlanes * 8, + &m_n->gmch_m, &m_n->gmch_n); + + compute_m_n(pixel_clock, link_clock, + &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; + } + + 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 (adjusted_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; + + /* XXX: Rip out SDV support once Haswell ships for real. */ + 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 reset 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); + } + + /* ULT uses SBI_GEN0, but ULT doesn't have VGA, so we don't care. */ + 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 (INTEL_INFO(dev)->num_pipes == 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; + } + + /* 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; + } + } + + /* 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; + + if (intel_crtc->active) + 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; + + if (intel_crtc->active) + 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) +{ + struct drm_crtc *crtc; + + if (!i915_powersave) + return; + + list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { + if (!crtc->fb) + continue; + + intel_decrease_pllclock(crtc); + } +} + +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); + } +} + +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; + + /* Ensure we don't miss a work->pending update ... */ + smp_rmb(); + + if (work == NULL || atomic_read(&work->pending) < INTEL_FLIP_COMPLETE) { + spin_unlock_irqrestore(&dev->event_lock, flags); + return; + } + + /* and that the unpin work is consistent wrt ->pending. */ + smp_rmb(); + + 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; + + /* NB: An MMIO update of the plane base pointer will also + * generate a page-flip completion irq, i.e. every modeset + * is also accompanied by a spurious intel_prepare_page_flip(). + */ + spin_lock_irqsave(&dev->event_lock, flags); + if (intel_crtc->unpin_work) + atomic_inc_not_zero(&intel_crtc->unpin_work->pending); + spin_unlock_irqrestore(&dev->event_lock, flags); +} + +inline static void intel_mark_page_flip_active(struct intel_crtc *intel_crtc) +{ + /* Ensure that the work item is consistent when activating it ... */ + smp_wmb(); + atomic_set(&intel_crtc->unpin_work->pending, INTEL_FLIP_PENDING); + /* and that it is marked active as soon as the irq could fire. */ + smp_wmb(); +} + +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_mark_page_flip_active(intel_crtc); + 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_mark_page_flip_active(intel_crtc); + 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_mark_page_flip_active(intel_crtc); + 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_mark_page_flip_active(intel_crtc); + 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_mark_page_flip_active(intel_crtc); + 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 drm_framebuffer *old_fb = crtc->fb; + struct drm_i915_gem_object *obj = to_intel_framebuffer(fb)->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; + work->old_fb_obj = to_intel_framebuffer(old_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); + + 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); + crtc->fb = old_fb; + 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; + + /* + * For simplicity do a full modeset on any pipe where the output routing + * changed. We could be more clever, but that would require us to be + * more careful with calling the relevant encoder->mode_set functions. + */ + if (*prepare_pipes) + *modeset_pipes = *prepare_pipes; + + /* ... and mask these out. */ + *modeset_pipes &= ~(*disable_pipes); + *prepare_pipes &= ~(*disable_pipes); + + /* + * HACK: We don't (yet) fully support global modesets. intel_set_config + * obies this rule, but the modeset restore mode of + * intel_modeset_setup_hw_state does not. + */ + *modeset_pipes &= 1 << intel_crtc->pipe; + *prepare_pipes &= 1 << intel_crtc->pipe; +} + +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_object_property_set_value(&connector->base, + 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; + } + } + /* 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 (HAS_DDI(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_ULT(dev)) + intel_crt_init(dev); + + if (HAS_DDI(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) { + DRM_DEBUG("hardware does not support tiling Y\n"); + return -EINVAL; + } + + if (mode_cmd->pitches[0] & 63) { + DRM_DEBUG("pitch (%d) must be at least 64 byte aligned\n", + mode_cmd->pitches[0]); + return -EINVAL; + } + + /* FIXME <= Gen4 stride limits are bit unclear */ + if (mode_cmd->pitches[0] > 32768) { + DRM_DEBUG("pitch (%d) must be at less than 32768\n", + mode_cmd->pitches[0]); + return -EINVAL; + } + + if (obj->tiling_mode != I915_TILING_NONE && + mode_cmd->pitches[0] != obj->stride) { + DRM_DEBUG("pitch (%d) must match tiling stride (%d)\n", + 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) { + DRM_DEBUG("invalid format: 0x%08x\n", mode_cmd->pixel_format); + 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) { + DRM_DEBUG("invalid format: 0x%08x\n", mode_cmd->pixel_format); + return -EINVAL; + } + break; + case DRM_FORMAT_YUYV: + case DRM_FORMAT_UYVY: + case DRM_FORMAT_YVYU: + case DRM_FORMAT_VYUY: + if (INTEL_INFO(dev)->gen < 5) { + DRM_DEBUG("invalid format: 0x%08x\n", mode_cmd->pixel_format); + return -EINVAL; + } + break; + default: + DRM_DEBUG("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 (HAS_DDI(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"); +} + +/* + * Some machines (Dell XPS13) suffer broken backlight controls if + * BLM_PCH_PWM_ENABLE is set. + */ +static void quirk_no_pcm_pwm_enable(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + dev_priv->quirks |= QUIRK_NO_PCH_PWM_ENABLE; + DRM_INFO("applying no-PCH_PWM_ENABLE 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 }, + + /* Acer Aspire 4736Z */ + { 0x2a42, 0x1025, 0x0260, quirk_invert_brightness }, + + /* Acer/eMachines G725 */ + { 0x2a42, 0x1025, 0x0210, quirk_invert_brightness }, + + /* Acer/eMachines e725 */ + { 0x2a42, 0x1025, 0x0212, quirk_invert_brightness }, + + /* Acer/Packard Bell NCL20 */ + { 0x2a42, 0x1025, 0x034b, quirk_invert_brightness }, + + /* Acer Aspire 4736Z */ + { 0x2a42, 0x1025, 0x0260, quirk_invert_brightness }, + + /* Dell XPS13 HD Sandy Bridge */ + { 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable }, + /* Dell XPS13 HD and XPS13 FHD Ivy Bridge */ + { 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable }, +}; + +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", + INTEL_INFO(dev)->num_pipes, + INTEL_INFO(dev)->num_pipes > 1 ? "s" : ""); + + for (i = 0; i < INTEL_INFO(dev)->num_pipes; 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_device *dev = crtc->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 reg, val; + + if (INTEL_INFO(dev)->num_pipes == 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. */ +} + +static void i915_redisable_vga(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 vga_reg; + + if (HAS_PCH_SPLIT(dev)) + vga_reg = CPU_VGACNTRL; + else + vga_reg = VGACNTRL; + + if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { + DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); + I915_WRITE(vga_reg, VGA_DISP_DISABLE); + POSTING_READ(vga_reg); + } +} + +/* 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, + bool force_restore) +{ + 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 (HAS_DDI(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 (HAS_DDI(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); + } + + if (force_restore) { + for_each_pipe(pipe) { + crtc = to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); + intel_set_mode(&crtc->base, &crtc->base.mode, + crtc->base.x, crtc->base.y, crtc->base.fb); + } + + i915_redisable_vga(dev); + } else { + 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, false); +} + +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(); + + /* destroy backlight, if any, before the connectors */ + intel_panel_destroy_backlight(dev); + + 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 { + + int num_transcoders; + + struct intel_cursor_error_state { + u32 control; + u32 position; + u32 base; + u32 size; + } cursor[I915_MAX_PIPES]; + + struct intel_pipe_error_state { + u32 source; + } 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_transcoder_error_state { + enum transcoder cpu_transcoder; + + u32 conf; + + u32 htotal; + u32 hblank; + u32 hsync; + u32 vtotal; + u32 vblank; + u32 vsync; + } transcoder[4]; +}; + +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; + int transcoders[] = { + TRANSCODER_A, + TRANSCODER_B, + TRANSCODER_C, + TRANSCODER_EDP, + }; + int i; + + if (INTEL_INFO(dev)->num_pipes == 0) + return NULL; + + error = kmalloc(sizeof(*error), GFP_ATOMIC); + if (error == NULL) + return NULL; + + for_each_pipe(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].source = I915_READ(PIPESRC(i)); + } + + error->num_transcoders = INTEL_INFO(dev)->num_pipes; + if (HAS_DDI(dev_priv->dev)) + error->num_transcoders++; /* Account for eDP. */ + + for (i = 0; i < error->num_transcoders; i++) { + enum transcoder cpu_transcoder = transcoders[i]; + + error->transcoder[i].cpu_transcoder = cpu_transcoder; + + error->transcoder[i].conf = I915_READ(PIPECONF(cpu_transcoder)); + error->transcoder[i].htotal = I915_READ(HTOTAL(cpu_transcoder)); + error->transcoder[i].hblank = I915_READ(HBLANK(cpu_transcoder)); + error->transcoder[i].hsync = I915_READ(HSYNC(cpu_transcoder)); + error->transcoder[i].vtotal = I915_READ(VTOTAL(cpu_transcoder)); + error->transcoder[i].vblank = I915_READ(VBLANK(cpu_transcoder)); + error->transcoder[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) +{ + int i; + + if (!error) + return; + + seq_printf(m, "Num Pipes: %d\n", INTEL_INFO(dev)->num_pipes); + for_each_pipe(i) { + seq_printf(m, "Pipe [%d]:\n", i); + seq_printf(m, " SRC: %08x\n", error->pipe[i].source); + + 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); + } + + for (i = 0; i < error->num_transcoders; i++) { + seq_printf(m, " CPU transcoder: %c\n", + transcoder_name(error->transcoder[i].cpu_transcoder)); + seq_printf(m, " CONF: %08x\n", error->transcoder[i].conf); + seq_printf(m, " HTOTAL: %08x\n", error->transcoder[i].htotal); + seq_printf(m, " HBLANK: %08x\n", error->transcoder[i].hblank); + seq_printf(m, " HSYNC: %08x\n", error->transcoder[i].hsync); + seq_printf(m, " VTOTAL: %08x\n", error->transcoder[i].vtotal); + seq_printf(m, " VBLANK: %08x\n", error->transcoder[i].vblank); + seq_printf(m, " VSYNC: %08x\n", error->transcoder[i].vsync); + } +} +#endif --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_stolen.c +++ linux-lts-quantal-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 +#include +#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. + */ + +static unsigned long i915_stolen_to_physical(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct pci_dev *pdev = dev_priv->bridge_dev; + u32 base; + + /* On the machines I have tested the Graphics Base of Stolen Memory + * is unreliable, so on those 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. + * + * On gen2, the layout is slightly different with the Graphics Segment + * immediately following Top of Memory (or Top of Usable DRAM). Note + * it appears that TOUD is only reported by 865g, so we just use the + * top of memory as determined by the e820 probe. + * + * XXX gen2 requires an unavailable symbol and 945gm fails with + * its value of TOLUD. + */ + base = 0; + if (INTEL_INFO(dev)->gen >= 6) { + /* Read Base Data of Stolen Memory Register (BDSM) directly. + * Note that there is also a MCHBAR miror at 0x1080c0 or + * we could use device 2:0x5c instead. + */ + pci_read_config_dword(pdev, 0xB0, &base); + base &= ~4095; /* lower bits used for locking register */ + } else if (INTEL_INFO(dev)->gen > 3 || IS_G33(dev)) { + /* Read Graphics Base of Stolen Memory directly */ + pci_read_config_dword(pdev, 0xA4, &base); +#if 0 + } else if (IS_GEN3(dev)) { + u8 val; + /* Stolen is immediately below Top of Low Usable DRAM */ + pci_read_config_byte(pdev, 0x9c, &val); + base = val >> 3 << 27; + base -= dev_priv->mm.gtt->stolen_size; + } else { + /* Stolen is immediately above Top of Memory */ + base = max_low_pfn_mapped << PAGE_SHIFT; +#endif + } + + return base; +} + +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 = dev_priv->mm.stolen_base + 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 = dev_priv->mm.stolen_base + 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", + (long)cfb_base, (long)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; + + dev_priv->mm.stolen_base = i915_stolen_to_physical(dev); + if (dev_priv->mm.stolen_base == 0) + return 0; + + DRM_DEBUG_KMS("found %d bytes of stolen memory at %08lx\n", + dev_priv->mm.gtt->stolen_size, dev_priv->mm.stolen_base); + + /* 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_fb.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_fb.c @@ -0,0 +1,294 @@ +/* + * 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 +#include +#include +#include "intel_drv.h" +#include +#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, + INTEL_INFO(dev)->num_pipes, + 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-lts-quantal-3.5.0.orig/ubuntu/i915/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_reg.h +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_reg.h @@ -0,0 +1,4660 @@ +/* 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) + +#define DERRMR 0x44050 + +/* 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_CHICKEN_HIZ_PLANE_DISABLE_MSAA_4X_SNB (1 << 10) +#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_CHICKEN3_SF_DISABLE_FASTCLIP_CULL (1 << 5) + +#define MI_MODE 0x0209c +# define VS_TIMER_DISPATCH (1 << 6) +# define MI_FLUSH_ENABLE (1 << 12) +# define ASYNC_FLIP_PERF_DISABLE (1 << 14) + +#define GEN6_GT_MODE 0x20d0 +#define GEN6_GT_MODE_HI (1 << 9) +#define GEN6_TD_FOUR_ROW_DISPATCH_DISABLE (1 << 5) + +#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 INSTPM_TLB_INVALIDATE (1<<9) +#define INSTPM_SYNC_FLUSH (1<<5) +#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)) +/* Haswell does have the CXT_SIZE register however it does not appear to be + * valid. Now, docs explain in dwords what is in the context object. The full + * size is 70720 bytes, however, the power context and execlist context will + * never be saved (power context is stored elsewhere, and execlists don't work + * on HSW) - so the final size is 66944 bytes, which rounds to 17 pages. + */ +#define HSW_CXT_TOTAL_SIZE (17 * PAGE_SIZE) + +/* + * 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 TU_SIZE(x) (((x)-1) << 25) /* default size 64 */ +#define TU_SIZE_MASK (0x3f << 25) + +#define DATA_LINK_M_N_MASK (0xffffff) +#define DATA_LINK_N_MAX (0x800000) + +#define _PIPEA_GMCH_DATA_N 0x70054 +#define _PIPEB_GMCH_DATA_N 0x71054 + +/* + * 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_N 0x70064 +#define _PIPEB_DP_LINK_N 0x71064 + +#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 (0x3e <<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 HSW_CAGF_SHIFT 7 +#define GEN6_CAGF_MASK (0x7f << GEN6_CAGF_SHIFT) +#define HSW_CAGF_MASK (0x7f << HSW_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) - 245) / 5) +#define GEN6_DECODE_RC6_VID(vids) (((vids) * 5) + 245) +#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_PORT_REVERSAL (1<<16) +#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-lts-quantal-3.5.0.orig/ubuntu/i915/dvo_sil164.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_irq.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_irq.c @@ -0,0 +1,2775 @@ +/* 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 +#include +#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_crtc *crtc; + + if (pipe < 0 || pipe >= INTEL_INFO(dev)->num_pipes) { + 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; + + if (HAS_BROKEN_CS_TLB(dev_priv->dev)) { + u32 acthd = I915_READ(ACTHD); + + if (WARN_ON(ring->id != RCS)) + return NULL; + + obj = ring->private; + if (acthd >= obj->gtt_offset && + acthd < obj->gtt_offset + obj->base.size) + return i915_error_object_create(dev_priv, obj); + } + + 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)); + error->semaphore_seqno[ring->id][0] = ring->sync_seqno[0]; + error->semaphore_seqno[ring->id][1] = ring->sync_seqno[1]; + } + + 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->ctl[ring->id] = I915_READ_CTL(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); + + if (INTEL_INFO(dev)->gen >= 6) + error->derrmr = I915_READ(DERRMR); + + if (IS_VALLEYVIEW(dev)) + error->forcewake = I915_READ(FORCEWAKE_VLV); + else if (INTEL_INFO(dev)->gen >= 7) + error->forcewake = I915_READ(FORCEWAKE_MT); + else if (INTEL_INFO(dev)->gen == 6) + error->forcewake = I915_READ(FORCEWAKE); + + 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 || + atomic_read(&work->pending) >= INTEL_FLIP_COMPLETE || + !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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_sysfs.c +++ linux-lts-quantal-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 (!HAS_L3_GPU_CACHE(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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_modes.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_modes.c @@ -0,0 +1,128 @@ +/* + * 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 +#include +#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_object_attach_property(&connector->base, 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_object_attach_property(&connector->base, prop, 0); +} --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/intel_dvo.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_dvo.c @@ -0,0 +1,534 @@ +/* + * 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 +#include +#include "intel_drv.h" +#include +#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; + bool dvoinit; + + /* 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; + + /* GMBUS NAK handling seems to be unstable, hence let the + * transmitter detection run in bit banging mode for now. + */ + intel_gmbus_force_bit(i2c, true); + + dvoinit = dvo->dev_ops->init(&intel_dvo->dev, i2c); + + intel_gmbus_force_bit(i2c, false); + + if (!dvoinit) + 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_drv.h +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_drv.h @@ -0,0 +1,687 @@ +/* + * 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 +#include "i915_drv.h" +#include +#include +#include +#include + +#define I915_PARAM_HAS_PINNED_BATCHES 24 +/** Inform the kernel that the batch is and will always be pinned. This + * negates the requirement for a workaround to be performed to avoid + * an incoherent CS (such as can be found on 830/845). If this flag is + * not passed, the kernel will endeavour to make sure the batch is + * coherent with the CS before execution. If this flag is passed, + * userspace assumes the responsibility for ensuring the same. + */ +#define I915_EXEC_IS_PINNED (1<<10) + +#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 hdmi_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; + u32 saved_port_bits; + 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; + atomic_t pending; +#define INTEL_FLIP_INACTIVE 0 +#define INTEL_FLIP_PENDING 1 +#define INTEL_FLIP_COMPLETE 2 + 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 hdmi_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_fb_busy(struct drm_i915_gem_object *obj); +extern void intel_mark_idle(struct drm_device *dev); +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_stop_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_page_offset(int *x, int *y, + unsigned int tiling_mode, + 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_sdvo_regs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_dp.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_dp.c @@ -0,0 +1,2959 @@ +/* + * 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 +#include +#include +#include +#include "intel_drv.h" +#include +#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 (HAS_DDI(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: + /* + * For now, just give more slack to branch devices. We + * could check the DPCD for I2C bit rate capabilities, + * and if available, adjust the interval. We could also + * be more careful with DP-to-Legacy adapters where a + * long legacy cable may force very low I2C bit rates. + */ + if (intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] & + DP_DWN_STRM_PORT_PRESENT) + usleep_range(500, 600); + else + usleep_range(300, 400); + 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; + int target_clock; + + /* + * 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; + } + } + + target_clock = mode->clock; + for_each_encoder_on_crtc(dev, crtc, intel_encoder) { + if (intel_encoder->type == INTEL_OUTPUT_EDP) { + target_clock = intel_edp_target_clock(intel_encoder, + mode); + 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, + target_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); + intel_dp_stop_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_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; +} + +static void intel_dp_set_idle_link_train(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; + enum port port = intel_dig_port->port; + uint32_t val; + + if (!HAS_DDI(dev)) + return; + + val = I915_READ(DP_TP_CTL(port)); + val &= ~DP_TP_CTL_LINK_TRAIN_MASK; + val |= DP_TP_CTL_LINK_TRAIN_IDLE; + I915_WRITE(DP_TP_CTL(port), val); + + /* + * On PORT_A we can have only eDP in SST mode. There the only reason + * we need to set idle transmission mode is to work around a HW issue + * where we enable the pipe while not in idle link-training mode. + * In this case there is requirement to wait for a minimum number of + * idle patterns to be sent. + */ + if (port == PORT_A) + return; + + 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"); +} + +/* 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 (HAS_DDI(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) { + ++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; + } + + intel_dp_set_idle_link_train(intel_dp); + + intel_dp->DP = DP; + + if (channel_eq) + DRM_DEBUG_KMS("Channel EQ done. DP Training successfull\n"); + +} + +void intel_dp_stop_link_train(struct intel_dp *intel_dp) +{ + intel_dp_set_link_train(intel_dp, 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 (HAS_DDI(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); + intel_dp_stop_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_object_property_set_value(&connector->base, 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 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_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_object_attach_property( + &connector->base, + 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 edp_power_seq *out) +{ + 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 + + 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); + + if (out) + *out = final; +} + +static void +intel_dp_init_panel_power_sequencer_registers(struct drm_device *dev, + struct intel_dp *intel_dp, + struct edp_power_seq *seq) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + u32 pp_on, pp_off, pp_div; + + /* And finally store the new values in the power sequencer. */ + pp_on = (seq->t1_t3 << PANEL_POWER_UP_DELAY_SHIFT) | + (seq->t8 << PANEL_LIGHT_ON_DELAY_SHIFT); + pp_off = (seq->t9 << PANEL_LIGHT_OFF_DELAY_SHIFT) | + (seq->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(seq->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 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; + struct edp_power_seq power_seq = { 0 }; + 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 (HAS_DDI(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, &power_seq); + + 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; + } + + /* We now know it's not a ghost, init power sequence regs. */ + intel_dp_init_panel_power_sequencer_registers(dev, intel_dp, + &power_seq); + + 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_ringbuffer.h +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_ringbuffer.h @@ -0,0 +1,242 @@ +#ifndef _INTEL_RINGBUFFER_H_ +#define _INTEL_RINGBUFFER_H_ + +/* + * Gen2 BSpec "1. Programming Environment" / 1.4.4.6 "Ring Buffer Use" + * Gen3 BSpec "vol1c Memory Interface Functions" / 2.3.4.5 "Ring Buffer Use" + * Gen4+ BSpec "vol1c Memory Interface and Command Stream" / 5.3.4.5 "Ring Buffer Use" + * + * "If the Ring Buffer Head Pointer and the Tail Pointer are on the same + * cacheline, the Head Pointer must not be greater than the Tail + * Pointer." + */ +#define I915_RING_FREE_SPACE 64 + +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); + /* 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 +#define I915_DISPATCH_PINNED 0x2 + 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_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); +int __must_check intel_ring_idle(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 u32 intel_ring_get_seqno(struct intel_ring_buffer *ring) +{ + BUG_ON(ring->outstanding_lazy_request == 0); + return ring->outstanding_lazy_request; +} + +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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_sprite.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_sprite.c @@ -0,0 +1,730 @@ +/* + * 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 +#include +#include +#include "intel_drv.h" +#include +#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 * pixel_size; + sprsurf_offset = + intel_gen4_compute_page_offset(&x, &y, obj->tiling_mode, + pixel_size, 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 * pixel_size; + dvssurf_offset = + intel_gen4_compute_page_offset(&x, &y, obj->tiling_mode, + pixel_size, 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-lts-quantal-3.5.0.orig/ubuntu/i915/dvo_tfp410.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_tiling.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_tiling.c @@ -0,0 +1,517 @@ +/* + * 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 +#include +#include +#include +#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-lts-quantal-3.5.0.orig/ubuntu/i915/dvo_ch7xxx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_drv.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_drv.c @@ -0,0 +1,1313 @@ +/* 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 +#include +#include "i915_drv.h" +#include "i915_trace.h" +#include "intel_drv.h" + +#include +#include +#include + +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)"); + +unsigned int i915_preliminary_hw_support __read_mostly = 0; +module_param_named(preliminary_hw_support, i915_preliminary_hw_support, int, 0600); +MODULE_PARM_DESC(preliminary_hw_support, + "Enable preliminary hardware support. " + "Enable Haswell and ValleyView Support. " + "(default: false)"); + +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, .num_pipes = 2, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_845g_info = { + .gen = 2, .num_pipes = 1, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_i85x_info = { + .gen = 2, .is_i85x = 1, .is_mobile = 1, .num_pipes = 2, + .cursor_needs_physical = 1, + .has_overlay = 1, .overlay_needs_physical = 1, +}; + +static const struct intel_device_info intel_i865g_info = { + .gen = 2, .num_pipes = 1, + .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, .num_pipes = 2, + .has_overlay = 1, .overlay_needs_physical = 1, +}; +static const struct intel_device_info intel_i915gm_info = { + .gen = 3, .is_mobile = 1, .num_pipes = 2, + .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, .num_pipes = 2, + .has_overlay = 1, .overlay_needs_physical = 1, +}; +static const struct intel_device_info intel_i945gm_info = { + .gen = 3, .is_i945gm = 1, .is_mobile = 1, .num_pipes = 2, + .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, .num_pipes = 2, + .has_hotplug = 1, + .has_overlay = 1, +}; + +static const struct intel_device_info intel_i965gm_info = { + .gen = 4, .is_crestline = 1, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 2, + .need_gfx_hws = 1, .has_hotplug = 1, + .has_overlay = 1, +}; + +static const struct intel_device_info intel_ironlake_d_info = { + .gen = 5, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 3, + .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, .num_pipes = 3, + .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, .num_pipes = 2, + .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, .num_pipes = 2, + .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, .num_pipes = 3, + .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, .num_pipes = 3, + .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), /* GT3 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), /* GT3 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(0x040B, &intel_haswell_d_info), /* GT1 reserved */ + INTEL_VGA_DEVICE(0x041B, &intel_haswell_d_info), /* GT2 reserved */ + INTEL_VGA_DEVICE(0x042B, &intel_haswell_d_info), /* GT3 reserved */ + INTEL_VGA_DEVICE(0x040E, &intel_haswell_d_info), /* GT1 reserved */ + INTEL_VGA_DEVICE(0x041E, &intel_haswell_d_info), /* GT2 reserved */ + INTEL_VGA_DEVICE(0x042E, &intel_haswell_d_info), /* GT3 reserved */ + 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 GT3 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 GT3 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 GT3 mobile */ + INTEL_VGA_DEVICE(0x0C0B, &intel_haswell_d_info), /* SDV GT1 reserved */ + INTEL_VGA_DEVICE(0x0C1B, &intel_haswell_d_info), /* SDV GT2 reserved */ + INTEL_VGA_DEVICE(0x0C2B, &intel_haswell_d_info), /* SDV GT3 reserved */ + INTEL_VGA_DEVICE(0x0C0E, &intel_haswell_d_info), /* SDV GT1 reserved */ + INTEL_VGA_DEVICE(0x0C1E, &intel_haswell_d_info), /* SDV GT2 reserved */ + INTEL_VGA_DEVICE(0x0C2E, &intel_haswell_d_info), /* SDV GT3 reserved */ + 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 GT3 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 GT3 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 GT3 mobile */ + INTEL_VGA_DEVICE(0x0A0B, &intel_haswell_d_info), /* ULT GT1 reserved */ + INTEL_VGA_DEVICE(0x0A1B, &intel_haswell_d_info), /* ULT GT2 reserved */ + INTEL_VGA_DEVICE(0x0A2B, &intel_haswell_d_info), /* ULT GT3 reserved */ + INTEL_VGA_DEVICE(0x0A0E, &intel_haswell_m_info), /* ULT GT1 reserved */ + INTEL_VGA_DEVICE(0x0A1E, &intel_haswell_m_info), /* ULT GT2 reserved */ + INTEL_VGA_DEVICE(0x0A2E, &intel_haswell_m_info), /* ULT GT3 reserved */ + INTEL_VGA_DEVICE(0x0D02, &intel_haswell_d_info), /* CRW GT1 desktop */ + INTEL_VGA_DEVICE(0x0D12, &intel_haswell_d_info), /* CRW GT2 desktop */ + INTEL_VGA_DEVICE(0x0D22, &intel_haswell_d_info), /* CRW GT3 desktop */ + INTEL_VGA_DEVICE(0x0D0A, &intel_haswell_d_info), /* CRW GT1 server */ + INTEL_VGA_DEVICE(0x0D1A, &intel_haswell_d_info), /* CRW GT2 server */ + INTEL_VGA_DEVICE(0x0D2A, &intel_haswell_d_info), /* CRW GT3 server */ + INTEL_VGA_DEVICE(0x0D06, &intel_haswell_m_info), /* CRW GT1 mobile */ + INTEL_VGA_DEVICE(0x0D16, &intel_haswell_m_info), /* CRW GT2 mobile */ + INTEL_VGA_DEVICE(0x0D26, &intel_haswell_m_info), /* CRW GT3 mobile */ + INTEL_VGA_DEVICE(0x0D0B, &intel_haswell_d_info), /* CRW GT1 reserved */ + INTEL_VGA_DEVICE(0x0D1B, &intel_haswell_d_info), /* CRW GT2 reserved */ + INTEL_VGA_DEVICE(0x0D2B, &intel_haswell_d_info), /* CRW GT3 reserved */ + INTEL_VGA_DEVICE(0x0D0E, &intel_haswell_d_info), /* CRW GT1 reserved */ + INTEL_VGA_DEVICE(0x0D1E, &intel_haswell_d_info), /* CRW GT2 reserved */ + INTEL_VGA_DEVICE(0x0D2E, &intel_haswell_d_info), /* CRW GT3 reserved */ + {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, false); + 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_sanitize(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_sanitize(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 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; + + if (intel_info->is_valleyview) + if(!i915_preliminary_hw_support) { + DRM_ERROR("Preliminary hardware support disabled\n"); + return -ENODEV; + } + + /* 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) { \ + unsigned long irqflags; \ + u##x val = 0; \ + spin_lock_irqsave(&dev_priv->gt_lock, irqflags); \ + if (IS_GEN5(dev_priv->dev)) \ + ilk_dummy_write(dev_priv); \ + if (NEEDS_FORCE_WAKE((dev_priv), (reg))) { \ + 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); \ + } 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); \ + } \ + spin_unlock_irqrestore(&dev_priv->gt_lock, irqflags); \ + 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) { \ + unsigned long irqflags; \ + u32 __fifo_ret = 0; \ + trace_i915_reg_rw(true, reg, val, sizeof(val)); \ + spin_lock_irqsave(&dev_priv->gt_lock, irqflags); \ + 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_DEBUG("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_DEBUG("Unclaimed write to %x\n", reg); \ + writel(ERR_INT_MMIO_UNCLAIMED, dev_priv->regs + GEN7_ERR_INT); \ + } \ + spin_unlock_irqrestore(&dev_priv->gt_lock, irqflags); \ +} +__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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_opregion.c +++ linux-lts-quantal-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 +#include +#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(DIV_ROUND_UP(bclp * 100, 255) | 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_debug.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_debug.c @@ -0,0 +1,187 @@ +/* + * 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 "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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_suspend.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_suspend.c @@ -0,0 +1,900 @@ +/* + * + * 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 +#include +#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-lts-quantal-3.5.0.orig/ubuntu/i915/dvo.h +++ linux-lts-quantal-3.5.0/ubuntu/i915/dvo.h @@ -0,0 +1,149 @@ +/* + * 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 +#include +#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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_overlay.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_overlay.c @@ -0,0 +1,1537 @@ +/* + * 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 +#include +#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-lts-quantal-3.5.0.orig/ubuntu/i915/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_tv.c +++ linux-lts-quantal-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 +#include +#include +#include "intel_drv.h" +#include +#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_object_property_set_value(&connector->base, + 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_object_property_set_value(&connector->base, 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_object_attach_property(&connector->base, dev->mode_config.tv_mode_property, + initial_mode); + drm_object_attach_property(&connector->base, + dev->mode_config.tv_left_margin_property, + intel_tv->margin[TV_MARGIN_LEFT]); + drm_object_attach_property(&connector->base, + dev->mode_config.tv_top_margin_property, + intel_tv->margin[TV_MARGIN_TOP]); + drm_object_attach_property(&connector->base, + dev->mode_config.tv_right_margin_property, + intel_tv->margin[TV_MARGIN_RIGHT]); + drm_object_attach_property(&connector->base, + dev->mode_config.tv_bottom_margin_property, + intel_tv->margin[TV_MARGIN_BOTTOM]); + drm_sysfs_connector_add(connector); +} --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/dvo_ivch.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_acpi.c +++ linux-lts-quantal-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 +#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-lts-quantal-3.5.0.orig/ubuntu/i915/dvo_ch7017.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_ddi.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_ddi.c @@ -0,0 +1,1527 @@ +/* + * 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 (HAS_DDI(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 = dev_priv->fdi_rx_config | FDI_RX_ENHANCE_FRAME_ENABLE | + FDI_RX_PLL_ENABLE | ((intel_crtc->fdi_lanes - 1) << 19); + 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. + * DDI E does not support port reversal, the functionality is + * achieved on the PCH side in FDI_RX_CTL, so no need to set the + * port reversal bit */ + 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); + struct intel_digital_port *intel_dig_port = + enc_to_dig_port(encoder); + + intel_dp->DP = intel_dig_port->saved_port_bits | + 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); + if (port != PORT_A) + intel_dp_stop_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) { + struct intel_digital_port *intel_dig_port = + enc_to_dig_port(encoder); + + /* 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), + intel_dig_port->saved_port_bits | + DDI_BUF_CTL_ENABLE); + } else if (type == INTEL_OUTPUT_EDP) { + struct intel_dp *intel_dp = enc_to_intel_dp(encoder); + + if (port == PORT_A) + intel_dp_stop_link_train(intel_dp); + + 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 drm_i915_private *dev_priv = dev->dev_private; + 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; + } + + 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; + intel_dig_port->saved_port_bits = I915_READ(DDI_BUF_CTL(port)) & + (DDI_BUF_PORT_REVERSAL | + DDI_A_4_LANES); + 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; + + intel_dp_init_connector(intel_dig_port, dp_connector); + + if (intel_encoder->type != INTEL_OUTPUT_EDP) { + hdmi_connector = kzalloc(sizeof(struct intel_connector), + GFP_KERNEL); + if (!hdmi_connector) { + return; + } + + intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port); + intel_hdmi_init_connector(intel_dig_port, hdmi_connector); + } +} --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_evict.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_evict.c @@ -0,0 +1,185 @@ +/* + * 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 +#include "i915_drv.h" +#include +#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_hsw 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-lts-quantal-3.5.0.orig/ubuntu/i915/dvo_ns2501.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_dmabuf.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_dmabuf.c @@ -0,0 +1,305 @@ +/* + * 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 +#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, flags); +} + +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) { + /* + * Importing dmabuf exported from out own gem increases + * refcount on gem itself instead of f_count of dmabuf. + */ + drm_gem_object_reference(&obj->base); + dma_buf_put(dma_buf); + 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_trace_points.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_context.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_context.c @@ -0,0 +1,540 @@ +/* + * 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 +#include +#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; + 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); + } + + if (INTEL_INFO(dev)->gen >= 7) { + ret = i915_gem_object_set_cache_level(ctx->obj, + I915_CACHE_LLC_MLC); + if (ret) + goto err_out; + } + + /* 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) { + from_obj->base.read_domains = I915_GEM_DOMAIN_INSTRUCTION; + i915_gem_object_move_to_active(from_obj, ring); + /* 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_sdvo.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_sdvo.c @@ -0,0 +1,2824 @@ +/* + * 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 +#include +#include +#include "intel_drv.h" +#include +#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 = 15; /* 5 quick checks, followed by 10 long checks */ + 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. + * + * Also beware that the first response by many devices is to + * reply PENDING and stall for time. TVs are notorious for + * requiring longer than specified to complete their replies. + * Originally (in the DDX long ago), the delay was only ever 15ms + * with an additional delay of 30ms applied for TVs added later after + * many experiments. To accommodate both sets of delays, we do a + * sequence of slow checks if the device is falling behind and fails + * to reply within 5*15µs. + */ + if (!intel_sdvo_read_byte(intel_sdvo, + SDVO_I2C_CMD_STATUS, + &status)) + goto log_fail; + + while (status == SDVO_CMD_STATUS_PENDING && --retry) { + if (retry < 10) + msleep(15); + else + 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, + 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); + u16 active_outputs; + u32 tmp; + + tmp = I915_READ(intel_sdvo->sdvo_reg); + intel_sdvo_get_active_outputs(intel_sdvo, &active_outputs); + + if (!(tmp & SDVO_ENABLE) && (active_outputs == 0)) + 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_get_value(intel_sdvo, + SDVO_CMD_GET_ATTACHED_DISPLAYS, + &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->ddc); + + /* + * Fetch modes from VBT. For SDVO prefer the VBT mode since some + * SDVO->LVDS transcoders can't cope with the EDID mode. Since + * drm_mode_probed_add adds the mode at the head of the list we add it + * last. + */ + 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); + } + } + + 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_object_property_set_value(&connector->base, 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_object_property_set_value(&connector->base, + 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_object_property_set_value(&connector->base, + 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_object_property_set_value(&connector->base, + 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_object_property_set_value(&connector->base, + 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_object_attach_property(&intel_sdvo_connector->base.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_object_attach_property(&connector->base, \ + 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_object_attach_property(&connector->base, + 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_object_attach_property(&connector->base, + 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_object_attach_property(&connector->base, + 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_object_attach_property(&connector->base, + 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_object_attach_property(&connector->base, + 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_debugfs.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_debugfs.c @@ -0,0 +1,2142 @@ +/* + * 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 +#include +#include "intel_drv.h" +#include "intel_ringbuffer.h" +#include +#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, "%pK: %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 (atomic_read(&work->pending) < INTEL_FLIP_COMPLETE) { + 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", atomic_read(&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, " CTL: 0x%08x\n", error->ctl[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 [last synced 0x%08x]\n", + error->semaphore_mboxes[ring][0], + error->semaphore_seqno[ring][0]); + seq_printf(m, " SYNC_1: 0x%08x [last synced 0x%08x]\n", + error->semaphore_mboxes[ring][1], + error->semaphore_seqno[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, "Kernel: " UTS_RELEASE "\n"); + 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, "FORCEWAKE: 0x%08x\n", error->forcewake); + seq_printf(m, "DERRMR: 0x%08x\n", error->derrmr); + 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, cagf; + 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); + if (IS_HASWELL(dev)) + cagf = (rpstat & HSW_CAGF_MASK) >> HSW_CAGF_SHIFT; + else + cagf = (rpstat & GEN6_CAGF_MASK) >> GEN6_CAGF_SHIFT; + cagf *= GT_FREQUENCY_MULTIPLIER; + + 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", cagf); + 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_dma.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_dma.c @@ -0,0 +1,1869 @@ +/* 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 +#include +#include +#include "intel_drv.h" +#include +#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 + I915_RING_FREE_SPACE); + 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) +{ + i915_kernel_lost_context(dev); + return intel_ring_idle(LP_RING(dev->dev_private)); +} + +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; + case I915_PARAM_HAS_PINNED_BATCHES: + value = 1; + 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; + + 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 = LP_RING(dev_priv); + 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; + + 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); + spin_lock_init(&dev_priv->gt_lock); + mutex_init(&dev_priv->rps.hw_lock); + + 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_pm_init(dev); + intel_gt_sanitize(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); + + ret = drm_vblank_init(dev, INTEL_INFO(dev)->num_pipes); + 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_panel.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_panel.c @@ -0,0 +1,498 @@ +/* + * 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_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + 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) { + val = dev_priv->regfile.saveBLC_PWM_CTL2; + I915_WRITE(BLC_PWM_PCH_CTL2, val); + } + } else { + val = I915_READ(BLC_PWM_CTL); + if (dev_priv->regfile.saveBLC_PWM_CTL == 0) { + dev_priv->regfile.saveBLC_PWM_CTL = val; + if (INTEL_INFO(dev)->gen >= 4) + dev_priv->regfile.saveBLC_PWM_CTL2 = + I915_READ(BLC_PWM_CTL2); + } else if (val == 0) { + val = dev_priv->regfile.saveBLC_PWM_CTL; + I915_WRITE(BLC_PWM_CTL, val); + if (INTEL_INFO(dev)->gen >= 4) + I915_WRITE(BLC_PWM_CTL2, + dev_priv->regfile.saveBLC_PWM_CTL2); + } + } + + return val; +} + +static u32 _intel_panel_get_max_backlight(struct drm_device *dev) +{ + u32 max; + + max = i915_read_blc_pwm_ctl(dev); + + 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; + + /* + * Do not disable backlight on the vgaswitcheroo path. When switching + * away from i915, the other client may depend on i915 to handle the + * backlight. This will leave the backlight on unnecessarily when + * another client is not activated. + */ + if (dev->switch_power_state == DRM_SWITCH_POWER_CHANGING) { + DRM_DEBUG_DRIVER("Skipping backlight disable on vga switch\n"); + return; + } + + 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 (INTEL_INFO(dev)->num_pipes == 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) && + !(dev_priv->quirks & QUIRK_NO_PCH_PWM_ENABLE)) { + 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); + + if (WARN_ON(dev_priv->backlight)) + return -ENODEV; + + 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); + dev_priv->backlight = NULL; + } +} +#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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_ringbuffer.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_ringbuffer.c @@ -0,0 +1,1864 @@ +/* + * 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 +#include "i915_drv.h" +#include +#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 + I915_RING_FREE_SPACE); + 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; + + obj = pc->obj; + + kunmap(sg_page(obj->pages->sgl)); + i915_gem_object_unpin(obj); + drm_gem_object_unreference(&obj->base); + + kfree(pc); +} + +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)); + + /* We need to disable the AsyncFlip performance optimisations in order + * to use MI_WAIT_FOR_EVENT within the CS. It should already be + * programmed to '1' on all products. + */ + if (INTEL_INFO(dev)->gen >= 6) + I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_DISABLE)); + + /* Required for the hardware to program scanline values for waiting */ + if (INTEL_INFO(dev)->gen == 6) + I915_WRITE(GFX_MODE, + _MASKED_BIT_ENABLE(GFX_TLB_INVALIDATE_ALWAYS)); + + 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) +{ + struct drm_device *dev = ring->dev; + + if (!ring->private) + return; + + if (HAS_BROKEN_CS_TLB(dev)) + drm_gem_object_unreference(to_gem_object(ring->private)); + + if (INTEL_INFO(dev)->gen >= 5) + cleanup_pipe_control(ring); + + ring->private = NULL; +} + +static void +update_mboxes(struct intel_ring_buffer *ring, + u32 mmio_offset) +{ + intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1)); + intel_ring_emit(ring, mmio_offset); + intel_ring_emit(ring, ring->outstanding_lazy_request); +} + +/** + * 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 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]; + + update_mboxes(ring, mbox1_reg); + update_mboxes(ring, 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, ring->outstanding_lazy_request); + 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) +{ + 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, ring->outstanding_lazy_request); + 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, ring->outstanding_lazy_request); + intel_ring_emit(ring, 0); + intel_ring_advance(ring); + + 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); + + /* Flush the TLB for this page */ + if (INTEL_INFO(dev)->gen >= 6) { + u32 reg = RING_INSTPM(ring->mmio_base); + I915_WRITE(reg, + _MASKED_BIT_ENABLE(INSTPM_TLB_INVALIDATE | + INSTPM_SYNC_FLUSH)); + if (wait_for((I915_READ(reg) & INSTPM_SYNC_FLUSH) == 0, + 1000)) + DRM_ERROR("%s: wait for SyncFlush to complete for TLB invalidation timed out\n", + ring->name); + } +} + +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) +{ + int ret; + + ret = intel_ring_begin(ring, 4); + if (ret) + return ret; + + 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, ring->outstanding_lazy_request); + intel_ring_emit(ring, MI_USER_INTERRUPT); + intel_ring_advance(ring); + + 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; +} + +/* Just userspace ABI convention to limit the wa batch bo to a resonable size */ +#define I830_BATCH_LIMIT (256*1024) +static int +i830_dispatch_execbuffer(struct intel_ring_buffer *ring, + u32 offset, u32 len, + unsigned flags) +{ + int ret; + + if (flags & I915_DISPATCH_PINNED) { + 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, MI_NOOP); + intel_ring_advance(ring); + } else { + struct drm_i915_gem_object *obj = ring->private; + u32 cs_offset = obj->gtt_offset; + + if (len > I830_BATCH_LIMIT) + return -ENOSPC; + + ret = intel_ring_begin(ring, 9+3); + if (ret) + return ret; + /* Blit the batch (which has now all relocs applied) to the stable batch + * scratch bo area (so that the CS never stumbles over its tlb + * invalidation bug) ... */ + intel_ring_emit(ring, XY_SRC_COPY_BLT_CMD | + XY_SRC_COPY_BLT_WRITE_ALPHA | + XY_SRC_COPY_BLT_WRITE_RGB); + intel_ring_emit(ring, BLT_DEPTH_32 | BLT_ROP_GXCOPY | 4096); + intel_ring_emit(ring, 0); + intel_ring_emit(ring, (DIV_ROUND_UP(len, 4096) << 16) | 1024); + intel_ring_emit(ring, cs_offset); + intel_ring_emit(ring, 0); + intel_ring_emit(ring, 4096); + intel_ring_emit(ring, offset); + intel_ring_emit(ring, MI_FLUSH); + + /* ... and execute it. */ + intel_ring_emit(ring, MI_BATCH_BUFFER); + intel_ring_emit(ring, cs_offset | (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE)); + intel_ring_emit(ring, cs_offset + len - 8); + 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; + memset(ring->sync_seqno, 0, sizeof(ring->sync_seqno)); + + 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_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_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 + I915_RING_FREE_SPACE); + 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; +} + +static int ring_wait_for_space(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; +} + +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 = ring_wait_for_space(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; +} + +int intel_ring_idle(struct intel_ring_buffer *ring) +{ + u32 seqno; + int ret; + + /* We need to add any requests required to flush the objects and ring */ + if (ring->outstanding_lazy_request) { + ret = i915_add_request(ring, NULL, NULL); + if (ret) + return ret; + } + + /* Wait upon the last request to be completed */ + if (list_empty(&ring->request_list)) + return 0; + + seqno = list_entry(ring->request_list.prev, + struct drm_i915_gem_request, + list)->seqno; + + return i915_wait_seqno(ring, seqno); +} + +static int +intel_ring_alloc_seqno(struct intel_ring_buffer *ring) +{ + if (ring->outstanding_lazy_request) + return 0; + + return i915_gem_get_seqno(ring->dev, &ring->outstanding_lazy_request); +} + +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; + + /* Preallocate the olr before touching the ring */ + ret = intel_ring_alloc_seqno(ring); + 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 = ring_wait_for_space(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; + + /* Workaround batchbuffer to combat CS tlb bug. */ + if (HAS_BROKEN_CS_TLB(dev)) { + struct drm_i915_gem_object *obj; + int ret; + + obj = i915_gem_alloc_object(dev, I830_BATCH_LIMIT); + if (obj == NULL) { + DRM_ERROR("Failed to allocate batch bo\n"); + return -ENOMEM; + } + + ret = i915_gem_object_pin(obj, 0, true, false); + if (ret != 0) { + drm_gem_object_unreference(&obj->base); + DRM_ERROR("Failed to ping batch bo\n"); + return ret; + } + + ring->private = obj; + } + + 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_ioc32.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_ioc32.c @@ -0,0 +1,221 @@ +/** + * \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 +#include +#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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_drv.h +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_drv.h @@ -0,0 +1,1754 @@ +/* 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) < INTEL_INFO(dev)->num_pipes; (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; + u32 derrmr; + u32 forcewake; + bool waiting[I915_NUM_RINGS]; + u32 pipestat[I915_MAX_PIPES]; + u32 tail[I915_NUM_RINGS]; + u32 head[I915_NUM_RINGS]; + u32 ctl[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 semaphore_seqno[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 num_pipes:3; + 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) +#define QUIRK_NO_PCH_PWM_ENABLE (1<<3) + +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_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; + unsigned int fdi_rx_polarity_inverted: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; + unsigned long stolen_base; /* limited to low memory (32-bit) */ + + 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; + bool shrinker_no_lock_stealing; + + /** + * 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; + + u32 fdi_rx_config; + + 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_gem_object(obj) (&((struct drm_i915_gem_object *)(obj))->base) + +#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_SNB_GT1(dev) ((dev)->pci_device == 0x0102 || \ + (dev)->pci_device == 0x0106 || \ + (dev)->pci_device == 0x010A) +#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) + +/* Early gen2 have a totally busted CS tlb and require pinned batches. */ +#define HAS_BROKEN_CS_TLB(dev) (IS_I830(dev) || IS_845G(dev)) + +/* 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 HAS_DDI(dev) (IS_HASWELL(dev)) + +#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 unsigned int i915_preliminary_hw_support __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_pm_init(struct drm_device *dev); +extern void intel_gt_init(struct drm_device *dev); +extern void intel_gt_sanitize(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); + +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; +} + +extern int i915_gem_get_seqno(struct drm_device *dev, u32 *seqno); + +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, + bool force_restore); +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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_lvds.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_lvds.c @@ -0,0 +1,1143 @@ +/* + * 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 +#include +#include +#include "intel_drv.h" +#include +#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_setup_hw_state(dev, true); + 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_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 t5740", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, " t5740"), + }, + }, + { + .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 = "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"), + }, + }, + { + .callback = intel_no_lvds_dmi_callback, + .ident = "Fujitsu Esprimo Q900", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO Q900"), + }, + }, + + { } /* 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_object_attach_property(&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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_crt.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_crt.c @@ -0,0 +1,807 @@ +/* + * 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 "intel_drv.h" +#include +#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; + /* DPMS state is stored in the connector, which we need in the + * encoder's enable/disable callbacks */ + struct intel_connector *connector; + 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; +} + +/* 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_disable_crt(struct intel_encoder *encoder) +{ + intel_crt_set_dpms(encoder, DRM_MODE_DPMS_OFF); +} + +static void intel_enable_crt(struct intel_encoder *encoder) +{ + struct intel_crt *crt = intel_encoder_to_crt(encoder); + + intel_crt_set_dpms(encoder, crt->connector->base.dpms); +} + + +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; + crt->connector = intel_connector; + 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 (HAS_DDI(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 the + * polarity and link reversal bits or not, instead of relying on the + * BIOS. + */ + if (HAS_PCH_LPT(dev)) { + u32 fdi_config = FDI_RX_POLARITY_REVERSED_LPT | + FDI_RX_LINK_REVERSAL_OVERRIDE; + + dev_priv->fdi_rx_config = I915_READ(_FDI_RXA_CTL) & fdi_config; + } +} --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/intel_bios.h +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_bios.h @@ -0,0 +1,621 @@ +/* + * 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 + +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:1; + u8 fdi_rx_polarity_inverted:1; + u8 rsvd10:4; /* 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_execbuffer.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_execbuffer.c @@ -0,0 +1,1231 @@ +/* + * 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 +#include +#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_NOT_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; + u64 invalid_offset = (u64)-1; + int j; + + 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; + } + + /* As we do not update the known relocation offsets after + * relocating (due to the complexities in lock handling), + * we need to mark them as invalid now so that we force the + * relocation processing next time. Just in case the target + * object is evicted and then rebound into its old + * presumed_offset before the next execbuffer - if that + * happened we would make the mistake of assuming that the + * relocations were valid. + */ + for (j = 0; j < exec[i].relocation_count; j++) { + if (copy_to_user(&user_relocs[j].presumed_offset, + &invalid_offset, + sizeof(invalid_offset))) { + 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; + int relocs_total = 0; + int relocs_max = INT_MAX / sizeof(struct drm_i915_gem_relocation_entry); + + 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 in + * the worst case where we need to allocate the entire + * relocation tree as a single array. + */ + if (exec[i].relocation_count > relocs_max - relocs_total) + return -EINVAL; + relocs_total += exec[i].relocation_count; + + 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) +{ + 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); + if (obj->base.write_domain) { + obj->dirty = 1; + obj->last_write_seqno = intel_ring_get_seqno(ring); + 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 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; + } + if (args->flags & I915_EXEC_IS_PINNED) + flags |= I915_DISPATCH_PINNED; + + 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; + + 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; + } + + 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; + } + + trace_i915_gem_ring_dispatch(ring, intel_ring_get_seqno(ring), flags); + + i915_gem_execbuffer_move_to_active(&objects, ring); + 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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_i2c.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_i2c.c @@ -0,0 +1,550 @@ +/* + * 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 +#include "intel_drv.h" +#include +#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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem_gtt.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem_gtt.c @@ -0,0 +1,708 @@ +/* + * 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 +#include +#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)); + +#ifdef CONFIG_INTEL_IOMMU + dev_priv->mm.gtt->needs_dmar = 1; +#endif + + /* 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_trace.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_hdmi.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_hdmi.c @@ -0,0 +1,1047 @@ +/* + * 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 +#include +#include +#include "intel_drv.h" +#include +#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 = HAS_DDI(dev) ? DDI_BUF_CTL_ENABLE : SDVO_ENABLE; + + WARN(I915_READ(intel_hdmi->hdmi_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->hdmi_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->hdmi_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 hdmi_val; + + hdmi_val = SDVO_ENCODING_HDMI; + if (!HAS_PCH_SPLIT(dev)) + hdmi_val |= intel_hdmi->color_range; + if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC) + hdmi_val |= SDVO_VSYNC_ACTIVE_HIGH; + if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC) + hdmi_val |= SDVO_HSYNC_ACTIVE_HIGH; + + if (intel_crtc->bpp > 24) + hdmi_val |= COLOR_FORMAT_12bpc; + else + hdmi_val |= COLOR_FORMAT_8bpc; + + /* Required on CPT */ + if (intel_hdmi->has_hdmi_sink && HAS_PCH_CPT(dev)) + hdmi_val |= HDMI_MODE_SELECT; + + if (intel_hdmi->has_audio) { + DRM_DEBUG_DRIVER("Enabling HDMI audio on pipe %c\n", + pipe_name(intel_crtc->pipe)); + hdmi_val |= SDVO_AUDIO_ENABLE; + hdmi_val |= SDVO_NULL_PACKETS_DURING_VSYNC; + intel_write_eld(encoder, adjusted_mode); + } + + if (HAS_PCH_CPT(dev)) + hdmi_val |= PORT_TRANS_SEL_CPT(intel_crtc->pipe); + else if (intel_crtc->pipe == PIPE_B) + hdmi_val |= SDVO_PIPE_B_SELECT; + + I915_WRITE(intel_hdmi->hdmi_reg, hdmi_val); + POSTING_READ(intel_hdmi->hdmi_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->hdmi_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->hdmi_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->hdmi_reg, temp & ~SDVO_ENABLE); + POSTING_READ(intel_hdmi->hdmi_reg); + } + + temp |= enable_bits; + + I915_WRITE(intel_hdmi->hdmi_reg, temp); + POSTING_READ(intel_hdmi->hdmi_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->hdmi_reg, temp); + POSTING_READ(intel_hdmi->hdmi_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->hdmi_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->hdmi_reg, temp); + POSTING_READ(intel_hdmi->hdmi_reg); + + /* Again we need to write this twice. */ + I915_WRITE(intel_hdmi->hdmi_reg, temp); + POSTING_READ(intel_hdmi->hdmi_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->hdmi_reg, temp & ~SDVO_ENABLE); + POSTING_READ(intel_hdmi->hdmi_reg); + } + + temp &= ~enable_bits; + + I915_WRITE(intel_hdmi->hdmi_reg, temp); + POSTING_READ(intel_hdmi->hdmi_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->hdmi_reg, temp); + POSTING_READ(intel_hdmi->hdmi_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 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; + + 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_object_property_set_value(&connector->base, 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 (HAS_DDI(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 hdmi_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.hdmi_reg = hdmi_reg; + intel_dig_port->dp.output_reg = 0; + + intel_hdmi_init_connector(intel_dig_port, intel_connector); +} --- linux-lts-quantal-3.5.0.orig/ubuntu/i915/intel_pm.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_pm.c @@ -0,0 +1,4505 @@ +/* + * 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 bool intel_crtc_active(struct drm_crtc *crtc) +{ + /* Be paranoid as we can arrive here with only partial + * state retrieved from the hardware during setup. + */ + return to_intel_crtc(crtc)->active && crtc->fb && crtc->mode.clock; +} + +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 (intel_crtc_active(tmp_crtc) && + !to_intel_crtc(tmp_crtc)->primary_disabled) { + 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 (intel_crtc_active(crtc)) { + 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 (!intel_crtc_active(crtc)) { + *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 (!intel_crtc_active(crtc)) + 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; + int ignore_plane_sr, ignore_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; + + if (single_plane_enabled(enabled) && + g4x_compute_srwm(dev, ffs(enabled) - 1, + sr_latency_ns, + &valleyview_wm_info, + &valleyview_cursor_wm_info, + &plane_sr, &ignore_cursor_sr) && + g4x_compute_srwm(dev, ffs(enabled) - 1, + 2*sr_latency_ns, + &valleyview_wm_info, + &valleyview_cursor_wm_info, + &ignore_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); + plane_sr = cursor_sr = 0; + } + + 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) & ~DSPFW_CURSOR_SR_MASK) | + (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; + + 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); + plane_sr = cursor_sr = 0; + } + + 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 | DSPFW_CURSOR_SR_MASK)) | + (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 (intel_crtc_active(crtc)) { + 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 (intel_crtc_active(crtc)) { + 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; + } + + /* + * 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 ivybridge_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; + int ignore_fbc_wm, ignore_plane_wm, ignore_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 (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, note we have to correct the cursor latency */ + if (!ironlake_compute_srwm(dev, 3, enabled, + SNB_READ_WM3_LATENCY() * 500, + &sandybridge_display_srwm_info, + &sandybridge_cursor_srwm_info, + &fbc_wm, &plane_wm, &ignore_cursor_wm) || + !ironlake_compute_srwm(dev, 3, enabled, + 2 * SNB_READ_WM3_LATENCY() * 500, + &sandybridge_display_srwm_info, + &sandybridge_cursor_srwm_info, + &ignore_fbc_wm, &ignore_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 (!intel_crtc_active(crtc)) { + *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, 150000); + 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]; + bool was_interruptible; + 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; + + was_interruptible = dev_priv->mm.interruptible; + dev_priv->mm.interruptible = false; + + /* + * 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); + dev_priv->mm.interruptible = was_interruptible; + 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_ring_idle(ring); + dev_priv->mm.interruptible = was_interruptible; + 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_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_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_read_mch_val); + +/** + * i915_gpu_raise - raise GPU frequency limit + * + * Raise the limit; IPS indicates we have thermal headroom. + */ +bool i915_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_gpu_raise); + +/** + * i915_gpu_lower - lower GPU frequency limit + * + * IPS indicates we're close to a thermal limit, so throttle back the GPU + * frequency maximum. + */ +bool i915_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_gpu_lower); + +/** + * i915_gpu_busy - indicate GPU business to IPS + * + * Tell the IPS driver whether or not the GPU is busy. + */ +bool i915_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_gpu_busy); + +/** + * i915_gpu_turbo_disable - disable graphics turbo + * + * Disable graphics turbo by resetting the max frequency and setting the + * current frequency to the default. + */ +bool i915_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_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; + uint32_t val; + + /* + * 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); + /* The below fixes the weird display corruption, a few pixels shifted + * downward, on (only) LVDS of some HP laptops with IVY. + */ + for_each_pipe(pipe) { + val = TRANS_CHICKEN2_TIMING_OVERRIDE; + if (dev_priv->fdi_rx_polarity_inverted) + val |= TRANS_CHICKEN2_FDI_POLARITY_REVERSED; + I915_WRITE(TRANS_CHICKEN2(pipe), val); + } + /* 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); + + /* WaDisableHiZPlanesWhenMSAAEnabled */ + I915_WRITE(_3D_CHICKEN, + _MASKED_BIT_ENABLE(_3D_CHICKEN_HIZ_PLANE_DISABLE_MSAA_4X_SNB)); + + /* WaSetupGtModeTdRowDispatch */ + if (IS_SNB_GT1(dev)) + I915_WRITE(GEN6_GT_MODE, + _MASKED_BIT_ENABLE(GEN6_TD_FOUR_ROW_DISPATCH_DISABLE)); + + 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 = ivybridge_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)); + /* something from same cacheline, but !FORCEWAKE_MT */ + POSTING_READ(ECOBUS); +} + +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)); + /* something from same cacheline, but !FORCEWAKE_MT */ + POSTING_READ(ECOBUS); + + 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); + /* something from same cacheline, but !FORCEWAKE */ + POSTING_READ(ECOBUS); + 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)); + /* something from same cacheline, but !FORCEWAKE_MT */ + POSTING_READ(ECOBUS); + 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)); + /* something from same cacheline, but !FORCEWAKE_VLV */ + POSTING_READ(FORCEWAKE_ACK_VLV); +} + +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)); + /* something from same cacheline, but !FORCEWAKE_VLV */ + POSTING_READ(FORCEWAKE_ACK_VLV); + gen6_gt_check_fifodbg(dev_priv); +} + +void intel_gt_sanitize(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); + } + + /* BIOS often leaves RC6 enabled, but disable it for hw init */ + if (INTEL_INFO(dev)->gen >= 6) + intel_disable_gt_powersave(dev); +} + +void intel_gt_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + 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_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_IVYBRIDGE(dev)) { + u32 ecobus; + + /* IVB configs may use multi-threaded forcewake */ + + /* A small trick here - if the bios hasn't configured + * MT forcewake, and if the device is in RC6, then + * force_wake_mt_get will not wake the device and the + * ECOBUS read will return zero. Which will be + * (correctly) interpreted by the test below as MT + * forcewake being disabled. + */ + mutex_lock(&dev->struct_mutex); + __gen6_gt_force_wake_mt_get(dev_priv); + ecobus = I915_READ_NOTRACE(ECOBUS); + __gen6_gt_force_wake_mt_put(dev_priv); + mutex_unlock(&dev->struct_mutex); + + if (ecobus & FORCEWAKE_MT_ENABLE) { + 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 { + DRM_INFO("No MT forcewake available on Ivybridge, this can result in issues\n"); + DRM_INFO("when using vblank-synced partial screen updates.\n"); + dev_priv->gt.force_wake_get = __gen6_gt_force_wake_get; + dev_priv->gt.force_wake_put = __gen6_gt_force_wake_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; + } +} + +void intel_pm_init(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + 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-lts-quantal-3.5.0.orig/ubuntu/i915/i915_gem.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/i915_gem.c @@ -0,0 +1,4429 @@ +/* + * 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 +#include +#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 (ret == 0 && + 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; + + dev_priv->mm.shrinker_no_lock_stealing = true; + + ret = drm_gem_create_mmap_offset(&obj->base); + if (ret != -ENOSPC) + goto out; + + /* 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) + goto out; + + i915_gem_shrink_all(dev_priv); + ret = drm_gem_create_mmap_offset(&obj->base); +out: + dev_priv->mm.shrinker_no_lock_stealing = false; + + return ret; +} + +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; + + /* ->put_pages might need to allocate memory for the bit17 swizzle + * array, hence protect them from being reaped by removing them from gtt + * lists early. */ + list_del(&obj->gtt_list); + + ops->put_pages(obj); + obj->pages = NULL; + + if (i915_gem_object_is_purgeable(obj)) + i915_gem_object_truncate(obj); + + return 0; +} + +static long +__i915_gem_shrink(struct drm_i915_private *dev_priv, long target, + bool purgeable_only) +{ + 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) || !purgeable_only) && + 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) || !purgeable_only) && + 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 long +i915_gem_purge(struct drm_i915_private *dev_priv, long target) +{ + return __i915_gem_shrink(dev_priv, target, true); +} + +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_NO_KSWAPD; + 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_NO_KSWAPD); + 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_NO_KSWAPD; + 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) +{ + struct drm_device *dev = obj->base.dev; + struct drm_i915_private *dev_priv = dev->dev_private; + u32 seqno = intel_ring_get_seqno(ring); + + BUG_ON(ring == NULL); + if (obj->ring != ring && obj->last_write_seqno) { + /* Keep the seqno relative to the current ring */ + obj->last_write_seqno = seqno; + } + 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); + + 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 int +i915_gem_handle_seqno_wrap(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + struct intel_ring_buffer *ring; + int ret, i, j; + + /* The hardware uses various monotonic 32-bit counters, if we + * detect that they will wraparound we need to idle the GPU + * and reset those counters. + */ + ret = 0; + for_each_ring(ring, dev_priv, i) { + for (j = 0; j < ARRAY_SIZE(ring->sync_seqno); j++) + ret |= ring->sync_seqno[j] != 0; + } + if (ret == 0) + return ret; + + ret = i915_gpu_idle(dev); + if (ret) + return ret; + + i915_gem_retire_requests(dev); + for_each_ring(ring, dev_priv, i) { + for (j = 0; j < ARRAY_SIZE(ring->sync_seqno); j++) + ring->sync_seqno[j] = 0; + } + + return 0; +} + +int +i915_gem_get_seqno(struct drm_device *dev, u32 *seqno) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + + /* reserve 0 for non-seqno */ + if (dev_priv->next_seqno == 0) { + int ret = i915_gem_handle_seqno_wrap(dev); + if (ret) + return ret; + + dev_priv->next_seqno = 1; + } + + *seqno = dev_priv->next_seqno++; + return 0; +} + +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; + 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; + + + /* 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); + if (ret) { + kfree(request); + return ret; + } + + request->seqno = intel_ring_get_seqno(ring); + 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); + } + + trace_i915_gem_request_add(ring, request->seqno); + 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 = request->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; + + if (list_empty(&ring->request_list)) + return; + + WARN_ON(i915_verify_lists(ring->dev)); + + seqno = ring->get_seqno(ring, true); + + 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) + /* We use last_read_seqno because sync_to() + * might have just caused seqno wrap under + * the radar. + */ + from->sync_seqno[idx] = obj->last_read_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; +} + +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 = intel_ring_idle(ring); + if (ret) + return ret; + } + + return 0; +} + +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; + int fence_reg; + int fence_pitch_shift; + + if (INTEL_INFO(dev)->gen >= 6) { + fence_reg = FENCE_REG_SANDYBRIDGE_0; + fence_pitch_shift = SANDYBRIDGE_FENCE_PITCH_SHIFT; + } else { + fence_reg = FENCE_REG_965_0; + fence_pitch_shift = I965_FENCE_PITCH_SHIFT; + } + + fence_reg += reg * 8; + + /* To w/a incoherency with non-atomic 64-bit register updates, + * we split the 64-bit update into two 32-bit writes. In order + * for a partial fence not to be evaluated between writes, we + * precede the update with write to turn off the fence register, + * and only enable the fence as the last step. + * + * For extra levels of paranoia, we make sure each step lands + * before applying the next step. + */ + I915_WRITE(fence_reg, 0); + POSTING_READ(fence_reg); + + if (obj) { + u32 size = obj->gtt_space->size; + uint64_t val; + + val = (uint64_t)((obj->gtt_offset + size - 4096) & + 0xfffff000) << 32; + val |= obj->gtt_offset & 0xfffff000; + val |= (uint64_t)((obj->stride / 128) - 1) << fence_pitch_shift; + if (obj->tiling_mode == I915_TILING_Y) + val |= 1 << I965_FENCE_TILING_Y_SHIFT; + val |= I965_FENCE_REG_VALID; + + I915_WRITE(fence_reg + 4, val >> 32); + POSTING_READ(fence_reg + 4); + + I915_WRITE(fence_reg + 0, val); + POSTING_READ(fence_reg); + } else { + I915_WRITE(fence_reg + 4, 0); + POSTING_READ(fence_reg + 4); + } +} + +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: + 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 *node; + 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); + + node = kzalloc(sizeof(*node), GFP_KERNEL); + if (node == NULL) { + i915_gem_object_unpin_pages(obj); + return -ENOMEM; + } + + search_free: + if (map_and_fenceable) + ret = drm_mm_insert_node_in_range_generic_hsw(&dev_priv->mm.gtt_space, node, + size, alignment, obj->cache_level, + 0, dev_priv->mm.gtt_mappable_end); + else + ret = drm_mm_insert_node_generic_hsw(&dev_priv->mm.gtt_space, node, + size, alignment, obj->cache_level); + if (ret) { + ret = i915_gem_evict_something(dev, size, alignment, + obj->cache_level, + map_and_fenceable, + nonblocking); + if (ret == 0) + goto search_free; + + i915_gem_object_unpin_pages(obj); + kfree(node); + return ret; + } + if (WARN_ON(!i915_gem_valid_gtt_space(dev, node, obj->cache_level))) { + i915_gem_object_unpin_pages(obj); + drm_mm_put_block_hsw(node); + return -EINVAL; + } + + ret = i915_gem_gtt_prepare_object(obj); + if (ret) { + i915_gem_object_unpin_pages(obj); + drm_mm_put_block_hsw(node); + 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 = node; + obj->gtt_offset = node->start; + + fenceable = + node->size == fence_size && + (node->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; + } + + if (obj->user_pin_count == 0) { + ret = i915_gem_object_pin(obj, args->alignment, true, false); + if (ret) + goto out; + } + + obj->user_pin_count++; + obj->pin_filp = file; + + /* 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 (!HAS_L3_GPU_CACHE(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; + + if (dev_priv->mm.shrinker_no_lock_stealing) + return 0; + + unlock = false; + } + + if (nr_to_scan) { + nr_to_scan -= i915_gem_purge(dev_priv, nr_to_scan); + if (nr_to_scan > 0) + nr_to_scan -= __i915_gem_shrink(dev_priv, nr_to_scan, + false); + 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.inactive_list, mm_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-lts-quantal-3.5.0.orig/ubuntu/i915/intel_bios.c +++ linux-lts-quantal-3.5.0/ubuntu/i915/intel_bios.c @@ -0,0 +1,768 @@ +/* + * 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 +#include +#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; + dev_priv->fdi_rx_polarity_inverted = general->fdi_rx_polarity_inverted; + 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 fdi_rx_polarity_inverted %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, + dev_priv->fdi_rx_polarity_inverted); + } +} + +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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-region-hash.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-memcache.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-message.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-memcache.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-raid4-5.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-raid4-5.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/BOM +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-message.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-region-hash.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/ubuntu/dm-raid4-5/dm-raid45.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/stable_kernel_rules.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/kernel-parameters.txt +++ linux-lts-quantal-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 @@ -570,6 +573,8 @@ UART at the specified I/O port or MMIO address, switching to the matching ttyS device later. The options are the same as for ttyS, above. + hvc Use the hypervisor console device . This is for + both Xen and PowerPC hypervisors. If the device connected to the port is not a TTY but a braille device, prepend "brl," before the device type, for instance @@ -585,6 +590,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 @@ -760,6 +769,7 @@ earlyprintk= [X86,SH,BLACKFIN] earlyprintk=vga + earlyprintk=xen earlyprintk=serial[,ttySn[,baudrate]] earlyprintk=ttySn[,baudrate] earlyprintk=dbgp[debugController#] @@ -777,6 +787,8 @@ The VGA output is eventually overwritten by the real console. + The xen output can only be used by Xen PV guests. + ekgdboc= [X86,KGDB] Allow early kernel console debugging ekgdboc=kbd @@ -786,6 +798,12 @@ edd= [EDD] Format: {"off" | "on" | "skip[mbr]"} + efi_no_storage_paranoia [EFI; X86] + Using this parameter you can use more than 50% of + your efi variable storage. Use this parameter only if + you are really sure that your UEFI does sane gc and + fulfills the spec otherwise your board may brick. + eisa_irq_edge= [PARISC,HW] See header of drivers/parisc/eisa.c. @@ -1080,6 +1098,8 @@ inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver Format: + int_pln_enable [x86] Enable power limit notification interrupt + intel_iommu= [DMAR] Intel IOMMU driver (DMAR) option on Enable intel iommu driver. --- linux-lts-quantal-3.5.0.orig/Documentation/DMA-attributes.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/filesystems/overlayfs.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/filesystems/Locking +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/filesystems/vfs.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/filesystems/efivarfs.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/filesystems/00-INDEX +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/power/runtime_pm.txt +++ linux-lts-quantal-3.5.0/Documentation/power/runtime_pm.txt @@ -642,12 +642,13 @@ * During system suspend it calls pm_runtime_get_noresume() and pm_runtime_barrier() for every device right before executing the subsystem-level .suspend() callback for it. In addition to that it calls - pm_runtime_disable() for every device right after executing the - subsystem-level .suspend() callback for it. + __pm_runtime_disable() with 'false' as the second argument for every device + right before executing the subsystem-level .suspend_late() callback for it. * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync() - for every device right before and right after executing the subsystem-level - .resume() callback for it, respectively. + for every device right after executing the subsystem-level .resume_early() + callback and right after executing the subsystem-level .resume() callback + for it, respectively. 7. Generic subsystem callbacks --- linux-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/dma/arm-pl330.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/net/calxeda-xgmac.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/arm/atmel-at91.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/arm/calxeda/combophy.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/arm/calxeda/mem-ctrlr.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/arm/calxeda/l2ecc.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/tty/serial/of-serial.txt +++ linux-lts-quantal-3.5.0/Documentation/devicetree/bindings/tty/serial/of-serial.txt @@ -10,6 +10,9 @@ - "ns16850" - "nvidia,tegra20-uart" - "ibm,qpace-nwp-serial" + - "altr,16550-FIFO32" + - "altr,16550-FIFO64" + - "altr,16550-FIFO128" - "serial" if the port type is unknown. - reg : offset and length of the register set for the device. - interrupts : should contain uart interrupt. --- linux-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/clock/clock-bindings.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/clock/fixed-clock.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/devicetree/bindings/clock/calxeda.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/serial/00-INDEX +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/cgroups/memory.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/dvb/get_dvb_firmware +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/sound/alsa/HD-Audio-Models.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/security/Yama.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/hwmon/coretemp +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/networking/ip-sysctl.txt +++ linux-lts-quantal-3.5.0/Documentation/networking/ip-sysctl.txt @@ -551,6 +551,11 @@ Documentation/networking/tcp-thin.txt Default: 0 +tcp_challenge_ack_limit - INTEGER + Limits number of Challenge ACK sent per second, as recommended + in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks) + Default: 100 + UDP variables: udp_mem - vector of 3 INTEGERs: min, pressure, max --- linux-lts-quantal-3.5.0.orig/Documentation/i2c/busses/i2c-i801 +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/i2c/busses/i2c-piix4 +++ linux-lts-quantal-3.5.0/Documentation/i2c/busses/i2c-piix4 @@ -8,7 +8,7 @@ Datasheet: Only available via NDA from ServerWorks * ATI IXP200, IXP300, IXP400, SB600, SB700 and SB800 southbridges Datasheet: Not publicly available - * AMD Hudson-2 + * AMD Hudson-2, CZ Datasheet: Not publicly available * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge Datasheet: Publicly available at the SMSC website http://www.smsc.com --- linux-lts-quantal-3.5.0.orig/Documentation/x86/boot.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/Documentation/DocBook/media_api.tmpl +++ linux-lts-quantal-3.5.0/Documentation/DocBook/media_api.tmpl @@ -1,6 +1,6 @@ - %media-entities; --- linux-lts-quantal-3.5.0.orig/sound/aoa/codecs/onyx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/aoa/codecs/tas.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/usb/pcm.c +++ linux-lts-quantal-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) @@ -980,7 +1014,7 @@ stride = runtime->frame_bits >> 3; for (i = 0; i < urb->number_of_packets; i++) { - cp = (unsigned char *)urb->transfer_buffer + urb->iso_frame_desc[i].offset; + cp = (unsigned char *)urb->transfer_buffer + urb->iso_frame_desc[i].offset + subs->pkt_offset_adj; if (urb->iso_frame_desc[i].status && printk_ratelimit()) { snd_printdd(KERN_ERR "frame %d active: %d\n", i, urb->iso_frame_desc[i].status); // continue; @@ -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-lts-quantal-3.5.0.orig/sound/usb/clock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/usb/endpoint.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/usb/card.h +++ linux-lts-quantal-3.5.0/sound/usb/card.h @@ -110,6 +110,7 @@ unsigned int altset_idx; /* USB data format: index of alternate setting */ unsigned int txfr_quirk:1; /* allow sub-frame alignment */ unsigned int fmt_type; /* USB audio format type (1-3) */ + unsigned int pkt_offset_adj; /* Bytes to drop from beginning of packets (for non-compliant devices) */ unsigned int running: 1; /* running status */ @@ -123,6 +124,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-lts-quantal-3.5.0.orig/sound/usb/card.c +++ linux-lts-quantal-3.5.0/sound/usb/card.c @@ -150,14 +150,32 @@ return -EINVAL; } + alts = &iface->altsetting[0]; + altsd = get_iface_desc(alts); + + /* + * Android with both accessory and audio interfaces enabled gets the + * interface numbers wrong. + */ + if ((chip->usb_id == USB_ID(0x18d1, 0x2d04) || + chip->usb_id == USB_ID(0x18d1, 0x2d05)) && + interface == 0 && + altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC && + altsd->bInterfaceSubClass == USB_SUBCLASS_VENDOR_SPEC) { + interface = 2; + iface = usb_ifnum_to_if(dev, interface); + if (!iface) + return -EINVAL; + alts = &iface->altsetting[0]; + altsd = get_iface_desc(alts); + } + if (usb_interface_claimed(iface)) { snd_printdd(KERN_INFO "%d:%d:%d: skipping, already claimed\n", dev->devnum, ctrlif, interface); return -EINVAL; } - alts = &iface->altsetting[0]; - altsd = get_iface_desc(alts); if ((altsd->bInterfaceClass == USB_CLASS_AUDIO || altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC) && altsd->bInterfaceSubClass == USB_SUBCLASS_MIDISTREAMING) { @@ -339,7 +357,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 +571,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 +590,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 +602,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 +636,22 @@ { int err = -ENODEV; - if (!chip->shutdown && !chip->probing) + down_read(&chip->shutdown_rwsem); + if (chip->probing) + err = 0; + else if (!chip->shutdown) 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-lts-quantal-3.5.0.orig/sound/usb/stream.c +++ linux-lts-quantal-3.5.0/sound/usb/stream.c @@ -90,6 +90,8 @@ subs->direction = stream; subs->dev = as->chip->dev; subs->txfr_quirk = as->chip->txfr_quirk; + subs->speed = snd_usb_get_speed(subs->dev); + subs->pkt_offset_adj = 0; snd_usb_set_pcm_ops(as->pcm, stream); @@ -192,6 +194,14 @@ if (!csep && altsd->bNumEndpoints >= 2) csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT); + /* + * If we can't locate the USB_DT_CS_ENDPOINT descriptor in the extra + * bytes after the first endpoint, go search the entire interface. + * Some devices have it directly *before* the standard endpoint. + */ + if (!csep) + csep = snd_usb_find_desc(alts->extra, alts->extralen, NULL, USB_DT_CS_ENDPOINT); + if (!csep || csep->bLength < 7 || csep->bDescriptorSubtype != UAC_EP_GENERAL) { snd_printk(KERN_WARNING "%d:%u:%d : no or invalid" --- linux-lts-quantal-3.5.0.orig/sound/usb/quirks-table.h +++ linux-lts-quantal-3.5.0/sound/usb/quirks-table.h @@ -157,7 +157,13 @@ .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL }, { - USB_DEVICE(0x046d, 0x0990), + .match_flags = USB_DEVICE_ID_MATCH_DEVICE | + USB_DEVICE_ID_MATCH_INT_CLASS | + USB_DEVICE_ID_MATCH_INT_SUBCLASS, + .idVendor = 0x046d, + .idProduct = 0x0990, + .bInterfaceClass = USB_CLASS_AUDIO, + .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL, .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .vendor_name = "Logitech, Inc.", .product_name = "QuickCam Pro 9000", @@ -1622,7 +1628,11 @@ USB_DEVICE_VENDOR_SPEC(0x0582, 0x0108), .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { .ifnum = 0, - .type = QUIRK_MIDI_STANDARD_INTERFACE + .type = QUIRK_MIDI_FIXED_ENDPOINT, + .data = & (const struct snd_usb_midi_endpoint_info) { + .out_cables = 0x0007, + .in_cables = 0x0007 + } } }, { @@ -1658,7 +1668,7 @@ .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { /* .vendor_name = "Roland", */ /* .product_name = "A-PRO", */ - .ifnum = 1, + .ifnum = 0, .type = QUIRK_MIDI_FIXED_ENDPOINT, .data = & (const struct snd_usb_midi_endpoint_info) { .out_cables = 0x0003, @@ -2781,6 +2791,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-lts-quantal-3.5.0.orig/sound/usb/proc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/usb/midi.c +++ linux-lts-quantal-3.5.0/sound/usb/midi.c @@ -116,6 +116,7 @@ struct list_head list; struct timer_list error_timer; spinlock_t disc_lock; + struct rw_semaphore disc_rwsem; struct mutex mutex; u32 usb_id; int next_midi_device; @@ -125,8 +126,9 @@ struct snd_usb_midi_in_endpoint *in; } endpoints[MIDI_MAX_ENDPOINTS]; unsigned long input_triggered; - unsigned int opened; + unsigned int opened[2]; unsigned char disconnected; + unsigned char input_running; struct snd_kcontrol *roland_load_ctl; }; @@ -1032,29 +1034,48 @@ snd_usbmidi_input_start(&umidi->list); } -static void substream_open(struct snd_rawmidi_substream *substream, int open) +static int substream_open(struct snd_rawmidi_substream *substream, int dir, + int open) { struct snd_usb_midi* umidi = substream->rmidi->private_data; struct snd_kcontrol *ctl; + down_read(&umidi->disc_rwsem); + if (umidi->disconnected) { + up_read(&umidi->disc_rwsem); + return open ? -ENODEV : 0; + } + mutex_lock(&umidi->mutex); if (open) { - if (umidi->opened++ == 0 && umidi->roland_load_ctl) { - ctl = umidi->roland_load_ctl; - ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; - snd_ctl_notify(umidi->card, + if (!umidi->opened[0] && !umidi->opened[1]) { + if (umidi->roland_load_ctl) { + ctl = umidi->roland_load_ctl; + ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; + snd_ctl_notify(umidi->card, SNDRV_CTL_EVENT_MASK_INFO, &ctl->id); - update_roland_altsetting(umidi); + update_roland_altsetting(umidi); + } } + umidi->opened[dir]++; + if (umidi->opened[1]) + snd_usbmidi_input_start(&umidi->list); } else { - if (--umidi->opened == 0 && umidi->roland_load_ctl) { - ctl = umidi->roland_load_ctl; - ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; - snd_ctl_notify(umidi->card, + umidi->opened[dir]--; + if (!umidi->opened[1]) + snd_usbmidi_input_stop(&umidi->list); + if (!umidi->opened[0] && !umidi->opened[1]) { + if (umidi->roland_load_ctl) { + ctl = umidi->roland_load_ctl; + ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; + snd_ctl_notify(umidi->card, SNDRV_CTL_EVENT_MASK_INFO, &ctl->id); + } } } mutex_unlock(&umidi->mutex); + up_read(&umidi->disc_rwsem); + return 0; } static int snd_usbmidi_output_open(struct snd_rawmidi_substream *substream) @@ -1062,7 +1083,6 @@ struct snd_usb_midi* umidi = substream->rmidi->private_data; struct usbmidi_out_port* port = NULL; int i, j; - int err; for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) if (umidi->endpoints[i].out) @@ -1075,22 +1095,15 @@ snd_BUG(); return -ENXIO; } - err = usb_autopm_get_interface(umidi->iface); - if (err < 0) - return -EIO; + substream->runtime->private_data = port; port->state = STATE_UNKNOWN; - substream_open(substream, 1); - return 0; + return substream_open(substream, 0, 1); } static int snd_usbmidi_output_close(struct snd_rawmidi_substream *substream) { - struct snd_usb_midi* umidi = substream->rmidi->private_data; - - substream_open(substream, 0); - usb_autopm_put_interface(umidi->iface); - return 0; + return substream_open(substream, 0, 0); } static void snd_usbmidi_output_trigger(struct snd_rawmidi_substream *substream, int up) @@ -1143,14 +1156,12 @@ static int snd_usbmidi_input_open(struct snd_rawmidi_substream *substream) { - substream_open(substream, 1); - return 0; + return substream_open(substream, 1, 1); } static int snd_usbmidi_input_close(struct snd_rawmidi_substream *substream) { - substream_open(substream, 0); - return 0; + return substream_open(substream, 1, 0); } static void snd_usbmidi_input_trigger(struct snd_rawmidi_substream *substream, int up) @@ -1399,9 +1410,12 @@ * a timer may submit an URB. To reliably break the cycle * a flag under lock must be used */ + down_write(&umidi->disc_rwsem); spin_lock_irq(&umidi->disc_lock); umidi->disconnected = 1; spin_unlock_irq(&umidi->disc_lock); + up_write(&umidi->disc_rwsem); + for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) { struct snd_usb_midi_endpoint* ep = &umidi->endpoints[i]; if (ep->out) @@ -2056,12 +2070,15 @@ unsigned int i, j; umidi = list_entry(p, struct snd_usb_midi, list); + if (!umidi->input_running) + return; for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) { struct snd_usb_midi_endpoint* ep = &umidi->endpoints[i]; if (ep->in) for (j = 0; j < INPUT_URBS; ++j) usb_kill_urb(ep->in->urbs[j]); } + umidi->input_running = 0; } static void snd_usbmidi_input_start_ep(struct snd_usb_midi_in_endpoint* ep) @@ -2086,8 +2103,11 @@ int i; umidi = list_entry(p, struct snd_usb_midi, list); + if (umidi->input_running || !umidi->opened[1]) + return; for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) snd_usbmidi_input_start_ep(umidi->endpoints[i].in); + umidi->input_running = 1; } /* @@ -2113,6 +2133,7 @@ umidi->usb_protocol_ops = &snd_usbmidi_standard_ops; init_timer(&umidi->error_timer); spin_lock_init(&umidi->disc_lock); + init_rwsem(&umidi->disc_rwsem); mutex_init(&umidi->mutex); umidi->usb_id = USB_ID(le16_to_cpu(umidi->dev->descriptor.idVendor), le16_to_cpu(umidi->dev->descriptor.idProduct)); @@ -2224,10 +2245,9 @@ return err; } - list_add_tail(&umidi->list, midi_list); + usb_autopm_get_interface_no_resume(umidi->iface); - for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) - snd_usbmidi_input_start_ep(umidi->endpoints[i].in); + list_add_tail(&umidi->list, midi_list); return 0; } --- linux-lts-quantal-3.5.0.orig/sound/usb/quirks.c +++ linux-lts-quantal-3.5.0/sound/usb/quirks.c @@ -387,11 +387,13 @@ * rules */ err = usb_driver_set_configuration(dev, 2); - if (err < 0) { + if (err < 0) snd_printdd("error usb_driver_set_configuration: %d\n", err); - return -ENODEV; - } + /* Always return an error, so that we stop creating a device + that will just be destroyed and recreated with a new + configuration */ + return -ENODEV; } else snd_printk(KERN_INFO "usb-audio: Fast Track Pro config OK\n"); @@ -484,7 +486,7 @@ { int ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), 0xaf, USB_TYPE_VENDOR | USB_RECIP_DEVICE, - cpu_to_le16(1), 0, NULL, 0, 1000); + 1, 0, NULL, 0, 1000); if (ret < 0) return ret; @@ -746,6 +748,7 @@ break; } snd_emuusb_set_samplerate(subs->stream->chip, emu_samplerate_id); + subs->pkt_offset_adj = (emu_samplerate_id >= EMU_QUIRK_SR_176400HZ) ? 4 : 0; } void snd_usb_set_format_quirk(struct snd_usb_substream *subs, --- linux-lts-quantal-3.5.0.orig/sound/usb/endpoint.c +++ linux-lts-quantal-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); @@ -586,17 +582,16 @@ ep->stride = frame_bits >> 3; ep->silence_value = format == SNDRV_PCM_FORMAT_U8 ? 0x80 : 0; - /* calculate max. frequency */ - if (ep->maxpacksize) { + /* assume max. frequency is 25% higher than nominal */ + ep->freqmax = ep->freqn + (ep->freqn >> 2); + maxsize = ((ep->freqmax + 0xffff) * (frame_bits >> 3)) + >> (16 - ep->datainterval); + /* but wMaxPacketSize might reduce this */ + if (ep->maxpacksize && ep->maxpacksize < maxsize) { /* whatever fits into a max. size packet */ maxsize = ep->maxpacksize; ep->freqmax = (maxsize / (frame_bits >> 3)) << (16 - ep->datainterval); - } else { - /* no max. packet size: just take 25% higher than nominal */ - ep->freqmax = ep->freqn + (ep->freqn >> 2); - maxsize = ((ep->freqmax + 0xffff) * (frame_bits >> 3)) - >> (16 - ep->datainterval); } if (ep->fill_max) @@ -799,7 +794,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 +806,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 +819,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 +852,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-lts-quantal-3.5.0.orig/sound/usb/usbaudio.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/usb/mixer_quirks.c +++ linux-lts-quantal-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), + 0, 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), + wValue, 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-lts-quantal-3.5.0.orig/sound/usb/mixer.c +++ linux-lts-quantal-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) @@ -690,15 +711,19 @@ case UAC2_CLOCK_SELECTOR: { struct uac_selector_unit_descriptor *d = p1; /* call recursively to retrieve the channel info */ - if (check_input_term(state, d->baSourceID[0], term) < 0) - return -ENODEV; + err = check_input_term(state, d->baSourceID[0], term); + if (err < 0) + return err; term->type = d->bDescriptorSubtype << 16; /* virtual type */ term->id = id; term->name = uac_selector_unit_iSelector(d); return 0; } case UAC1_PROCESSING_UNIT: - case UAC1_EXTENSION_UNIT: { + case UAC1_EXTENSION_UNIT: + /* UAC2_PROCESSING_UNIT_V2 */ + /* UAC2_EFFECT_UNIT */ + case UAC2_EXTENSION_UNIT_V2: { struct uac_processing_unit_descriptor *d = p1; if (d->bNrInPins) { id = d->baSourceID[0]; @@ -819,7 +844,9 @@ case USB_ID(0x046d, 0x0808): case USB_ID(0x046d, 0x0809): + case USB_ID(0x046d, 0x081b): /* HD Webcam c310 */ case USB_ID(0x046d, 0x081d): /* HD Webcam c510 */ + case USB_ID(0x046d, 0x0825): /* HD Webcam c270 */ case USB_ID(0x046d, 0x0991): /* Most audio usb devices lie about volume resolution. * Most Logitech webcams have res = 384. @@ -1238,16 +1265,23 @@ } channels = (hdr->bLength - 7) / csize - 1; bmaControls = hdr->bmaControls; + if (hdr->bLength < 7 + csize) { + snd_printk(KERN_ERR "usbaudio: unit %u: " + "invalid UAC_FEATURE_UNIT descriptor\n", + unitid); + return -EINVAL; + } } else { struct uac2_feature_unit_descriptor *ftr = _ftr; csize = 4; channels = (hdr->bLength - 6) / 4 - 1; bmaControls = ftr->bmaControls; - } - - if (hdr->bLength < 7 || !csize || hdr->bLength < 7 + csize) { - snd_printk(KERN_ERR "usbaudio: unit %u: invalid UAC_FEATURE_UNIT descriptor\n", unitid); - return -EINVAL; + if (hdr->bLength < 6 + csize) { + snd_printk(KERN_ERR "usbaudio: unit %u: " + "invalid UAC_FEATURE_UNIT descriptor\n", + unitid); + return -EINVAL; + } } /* parse the source unit */ @@ -1255,8 +1289,9 @@ return err; /* determine the input source type and name */ - if (check_input_term(state, hdr->bSourceID, &iterm) < 0) - return -EINVAL; + err = check_input_term(state, hdr->bSourceID, &iterm); + if (err < 0) + return err; master_bits = snd_usb_combine_bytes(bmaControls, csize); /* master configuration quirks */ @@ -1267,6 +1302,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); @@ -1944,6 +1986,8 @@ return parse_audio_extension_unit(state, unitid, p1); else /* UAC_VERSION_2 */ return parse_audio_processing_unit(state, unitid, p1); + case UAC2_EXTENSION_UNIT_V2: + return parse_audio_extension_unit(state, unitid, p1); default: snd_printk(KERN_ERR "usbaudio: unit %u: unexpected type 0x%02x\n", unitid, p1[2]); return -EINVAL; @@ -2010,7 +2054,7 @@ state.oterm.type = le16_to_cpu(desc->wTerminalType); state.oterm.name = desc->iTerminal; err = parse_audio_unit(&state, desc->bSourceID); - if (err < 0) + if (err < 0 && err != -EINVAL) return err; } else { /* UAC_VERSION_2 */ struct uac2_output_terminal_descriptor *desc = p; @@ -2022,12 +2066,12 @@ state.oterm.type = le16_to_cpu(desc->wTerminalType); state.oterm.name = desc->iTerminal; err = parse_audio_unit(&state, desc->bSourceID); - if (err < 0) + if (err < 0 && err != -EINVAL) return err; /* for UAC2, use the same approach to also add the clock selectors */ err = parse_audio_unit(&state, desc->bCSourceID); - if (err < 0) + if (err < 0 && err != -EINVAL) return err; } } --- linux-lts-quantal-3.5.0.orig/sound/usb/usx2y/usbusx2yaudio.c +++ linux-lts-quantal-3.5.0/sound/usb/usx2y/usbusx2yaudio.c @@ -273,7 +273,11 @@ struct snd_usX2Y_substream *subs = usX2Y->subs[s]; if (subs) { if (atomic_read(&subs->state) >= state_PRERUNNING) { + unsigned long flags; + + snd_pcm_stream_lock_irqsave(subs->pcm_substream, flags); snd_pcm_stop(subs->pcm_substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock_irqrestore(subs->pcm_substream, flags); } for (u = 0; u < NRURBS; u++) { struct urb *urb = subs->urb[u]; --- linux-lts-quantal-3.5.0.orig/sound/usb/6fire/pcm.c +++ linux-lts-quantal-3.5.0/sound/usb/6fire/pcm.c @@ -540,7 +540,7 @@ snd_pcm_uframes_t ret; if (rt->panic || !sub) - return SNDRV_PCM_STATE_XRUN; + return SNDRV_PCM_POS_XRUN; spin_lock_irqsave(&sub->lock, flags); ret = sub->dma_off; @@ -578,6 +578,33 @@ urb->instance.number_of_packets = PCM_N_PACKETS_PER_URB; } +static int usb6fire_pcm_buffers_init(struct pcm_runtime *rt) +{ + int i; + + for (i = 0; i < PCM_N_URBS; i++) { + rt->out_urbs[i].buffer = kzalloc(PCM_N_PACKETS_PER_URB + * PCM_MAX_PACKET_SIZE, GFP_KERNEL); + if (!rt->out_urbs[i].buffer) + return -ENOMEM; + rt->in_urbs[i].buffer = kzalloc(PCM_N_PACKETS_PER_URB + * PCM_MAX_PACKET_SIZE, GFP_KERNEL); + if (!rt->in_urbs[i].buffer) + return -ENOMEM; + } + return 0; +} + +static void usb6fire_pcm_buffers_destroy(struct pcm_runtime *rt) +{ + int i; + + for (i = 0; i < PCM_N_URBS; i++) { + kfree(rt->out_urbs[i].buffer); + kfree(rt->in_urbs[i].buffer); + } +} + int __devinit usb6fire_pcm_init(struct sfire_chip *chip) { int i; @@ -589,6 +616,13 @@ if (!rt) return -ENOMEM; + ret = usb6fire_pcm_buffers_init(rt); + if (ret) { + usb6fire_pcm_buffers_destroy(rt); + kfree(rt); + return ret; + } + rt->chip = chip; rt->stream_state = STREAM_DISABLED; rt->rate = ARRAY_SIZE(rates); @@ -610,6 +644,7 @@ ret = snd_pcm_new(chip->card, "DMX6FireUSB", 0, 1, 1, &pcm); if (ret < 0) { + usb6fire_pcm_buffers_destroy(rt); kfree(rt); snd_printk(KERN_ERR PREFIX "cannot create pcm instance.\n"); return ret; @@ -625,6 +660,7 @@ snd_dma_continuous_data(GFP_KERNEL), MAX_BUFSIZE, MAX_BUFSIZE); if (ret) { + usb6fire_pcm_buffers_destroy(rt); kfree(rt); snd_printk(KERN_ERR PREFIX "error preallocating pcm buffers.\n"); @@ -639,17 +675,25 @@ void usb6fire_pcm_abort(struct sfire_chip *chip) { struct pcm_runtime *rt = chip->pcm; + unsigned long flags; int i; if (rt) { rt->panic = true; - if (rt->playback.instance) + if (rt->playback.instance) { + snd_pcm_stream_lock_irqsave(rt->playback.instance, flags); snd_pcm_stop(rt->playback.instance, SNDRV_PCM_STATE_XRUN); - if (rt->capture.instance) + snd_pcm_stream_unlock_irqrestore(rt->playback.instance, flags); + } + + if (rt->capture.instance) { + snd_pcm_stream_lock_irqsave(rt->capture.instance, flags); snd_pcm_stop(rt->capture.instance, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock_irqrestore(rt->capture.instance, flags); + } for (i = 0; i < PCM_N_URBS; i++) { usb_poison_urb(&rt->in_urbs[i].instance); @@ -661,6 +705,9 @@ void usb6fire_pcm_destroy(struct sfire_chip *chip) { - kfree(chip->pcm); + struct pcm_runtime *rt = chip->pcm; + + usb6fire_pcm_buffers_destroy(rt); + kfree(rt); chip->pcm = NULL; } --- linux-lts-quantal-3.5.0.orig/sound/usb/6fire/comm.c +++ linux-lts-quantal-3.5.0/sound/usb/6fire/comm.c @@ -110,31 +110,56 @@ static int usb6fire_comm_write8(struct comm_runtime *rt, u8 request, u8 reg, u8 value) { - u8 buffer[13]; /* 13: maximum length of message */ + u8 *buffer; + int ret; + + /* 13: maximum length of message */ + buffer = kmalloc(13, GFP_KERNEL); + if (!buffer) + return -ENOMEM; usb6fire_comm_init_buffer(buffer, 0x00, request, reg, value, 0x00); - return usb6fire_comm_send_buffer(buffer, rt->chip->dev); + ret = usb6fire_comm_send_buffer(buffer, rt->chip->dev); + + kfree(buffer); + return ret; } static int usb6fire_comm_write16(struct comm_runtime *rt, u8 request, u8 reg, u8 vl, u8 vh) { - u8 buffer[13]; /* 13: maximum length of message */ + u8 *buffer; + int ret; + + /* 13: maximum length of message */ + buffer = kmalloc(13, GFP_KERNEL); + if (!buffer) + return -ENOMEM; usb6fire_comm_init_buffer(buffer, 0x00, request, reg, vl, vh); - return usb6fire_comm_send_buffer(buffer, rt->chip->dev); + ret = usb6fire_comm_send_buffer(buffer, rt->chip->dev); + + kfree(buffer); + return ret; } int __devinit usb6fire_comm_init(struct sfire_chip *chip) { struct comm_runtime *rt = kzalloc(sizeof(struct comm_runtime), GFP_KERNEL); - struct urb *urb = &rt->receiver; + struct urb *urb; int ret; if (!rt) return -ENOMEM; + rt->receiver_buffer = kzalloc(COMM_RECEIVER_BUFSIZE, GFP_KERNEL); + if (!rt->receiver_buffer) { + kfree(rt); + return -ENOMEM; + } + + urb = &rt->receiver; rt->serial = 1; rt->chip = chip; usb_init_urb(urb); @@ -152,6 +177,7 @@ urb->interval = 1; ret = usb_submit_urb(urb, GFP_KERNEL); if (ret < 0) { + kfree(rt->receiver_buffer); kfree(rt); snd_printk(KERN_ERR PREFIX "cannot create comm data receiver."); return ret; @@ -170,6 +196,9 @@ void usb6fire_comm_destroy(struct sfire_chip *chip) { - kfree(chip->comm); + struct comm_runtime *rt = chip->comm; + + kfree(rt->receiver_buffer); + kfree(rt); chip->comm = NULL; } --- linux-lts-quantal-3.5.0.orig/sound/usb/6fire/midi.c +++ linux-lts-quantal-3.5.0/sound/usb/6fire/midi.c @@ -19,6 +19,10 @@ #include "chip.h" #include "comm.h" +enum { + MIDI_BUFSIZE = 64 +}; + static void usb6fire_midi_out_handler(struct urb *urb) { struct midi_runtime *rt = urb->context; @@ -156,6 +160,12 @@ if (!rt) return -ENOMEM; + rt->out_buffer = kzalloc(MIDI_BUFSIZE, GFP_KERNEL); + if (!rt->out_buffer) { + kfree(rt); + return -ENOMEM; + } + rt->chip = chip; rt->in_received = usb6fire_midi_in_received; rt->out_buffer[0] = 0x80; /* 'send midi' command */ @@ -169,6 +179,7 @@ ret = snd_rawmidi_new(chip->card, "6FireUSB", 0, 1, 1, &rt->instance); if (ret < 0) { + kfree(rt->out_buffer); kfree(rt); snd_printk(KERN_ERR PREFIX "unable to create midi.\n"); return ret; @@ -197,6 +208,9 @@ void usb6fire_midi_destroy(struct sfire_chip *chip) { - kfree(chip->midi); + struct midi_runtime *rt = chip->midi; + + kfree(rt->out_buffer); + kfree(rt); chip->midi = NULL; } --- linux-lts-quantal-3.5.0.orig/sound/usb/6fire/comm.h +++ linux-lts-quantal-3.5.0/sound/usb/6fire/comm.h @@ -24,7 +24,7 @@ struct sfire_chip *chip; struct urb receiver; - u8 receiver_buffer[COMM_RECEIVER_BUFSIZE]; + u8 *receiver_buffer; u8 serial; /* urb serial */ --- linux-lts-quantal-3.5.0.orig/sound/usb/6fire/midi.h +++ linux-lts-quantal-3.5.0/sound/usb/6fire/midi.h @@ -16,10 +16,6 @@ #include "common.h" -enum { - MIDI_BUFSIZE = 64 -}; - struct midi_runtime { struct sfire_chip *chip; struct snd_rawmidi *instance; @@ -32,7 +28,7 @@ struct snd_rawmidi_substream *out; struct urb out_urb; u8 out_serial; /* serial number of out packet */ - u8 out_buffer[MIDI_BUFSIZE]; + u8 *out_buffer; int buffer_offset; void (*in_received)(struct midi_runtime *rt, u8 *data, int length); --- linux-lts-quantal-3.5.0.orig/sound/usb/6fire/pcm.h +++ linux-lts-quantal-3.5.0/sound/usb/6fire/pcm.h @@ -32,7 +32,7 @@ struct urb instance; struct usb_iso_packet_descriptor packets[PCM_N_PACKETS_PER_URB]; /* END DO NOT SEPARATE */ - u8 buffer[PCM_N_PACKETS_PER_URB * PCM_MAX_PACKET_SIZE]; + u8 *buffer; struct pcm_urb *peer; }; --- linux-lts-quantal-3.5.0.orig/sound/usb/misc/ua101.c +++ linux-lts-quantal-3.5.0/sound/usb/misc/ua101.c @@ -613,14 +613,24 @@ static void abort_alsa_capture(struct ua101 *ua) { - if (test_bit(ALSA_CAPTURE_RUNNING, &ua->states)) + unsigned long flags; + + if (test_bit(ALSA_CAPTURE_RUNNING, &ua->states)) { + snd_pcm_stream_lock_irqsave(ua->capture.substream, flags); snd_pcm_stop(ua->capture.substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock_irqrestore(ua->capture.substream, flags); + } } static void abort_alsa_playback(struct ua101 *ua) { - if (test_bit(ALSA_PLAYBACK_RUNNING, &ua->states)) + unsigned long flags; + + if (test_bit(ALSA_PLAYBACK_RUNNING, &ua->states)) { + snd_pcm_stream_lock_irqsave(ua->playback.substream, flags); snd_pcm_stop(ua->playback.substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock_irqrestore(ua->playback.substream, flags); + } } static int set_stream_hw(struct ua101 *ua, struct snd_pcm_substream *substream, --- linux-lts-quantal-3.5.0.orig/sound/oss/Kconfig +++ linux-lts-quantal-3.5.0/sound/oss/Kconfig @@ -250,6 +250,7 @@ menuconfig SOUND_OSS tristate "OSS sound modules" depends on ISA_DMA_API && VIRT_TO_BUS + depends on !GENERIC_ISA_DMA_SUPPORT_BROKEN help OSS is the Open Sound System suite of sound card drivers. They make sound programming easier since they provide a common API. Say Y or --- linux-lts-quantal-3.5.0.orig/sound/soc/soc-dapm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/soc-core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/soc-pcm.c +++ linux-lts-quantal-3.5.0/sound/soc/soc-pcm.c @@ -1240,6 +1240,7 @@ if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_PARAMS) && (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PREPARE) && (be->dpcm[stream].state != SND_SOC_DPCM_STATE_HW_FREE) && + (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PAUSED) && (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP)) continue; --- linux-lts-quantal-3.5.0.orig/sound/soc/s6000/s6000-pcm.c +++ linux-lts-quantal-3.5.0/sound/soc/s6000/s6000-pcm.c @@ -128,7 +128,9 @@ substream->runtime && snd_pcm_running(substream)) { dev_dbg(pcm->dev, "xrun\n"); + snd_pcm_stream_lock(substream); snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock(substream); ret = IRQ_HANDLED; } --- linux-lts-quantal-3.5.0.orig/sound/soc/tegra/tegra_alc5632.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/sh/dma-sh7760.c +++ linux-lts-quantal-3.5.0/sound/soc/sh/dma-sh7760.c @@ -342,8 +342,8 @@ return 0; } -static struct snd_soc_platform sh7760_soc_platform = { - .pcm_ops = &camelot_pcm_ops, +static struct snd_soc_platform_driver sh7760_soc_platform = { + .ops = &camelot_pcm_ops, .pcm_new = camelot_pcm_new, .pcm_free = camelot_pcm_free, }; --- linux-lts-quantal-3.5.0.orig/sound/soc/sh/fsi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/samsung/dma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/codecs/cs42l52.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/cs42l52.c @@ -88,7 +88,7 @@ { CS42L52_BEEP_VOL, 0x00 }, /* r1D Beep Volume off Time */ { CS42L52_BEEP_TONE_CTL, 0x00 }, /* r1E Beep Tone Cfg. */ { CS42L52_TONE_CTL, 0x00 }, /* r1F Tone Ctl */ - { CS42L52_MASTERA_VOL, 0x88 }, /* r20 Master A Volume */ + { CS42L52_MASTERA_VOL, 0x00 }, /* r20 Master A Volume */ { CS42L52_MASTERB_VOL, 0x00 }, /* r21 Master B Volume */ { CS42L52_HPA_VOL, 0x00 }, /* r22 Headphone A Volume */ { CS42L52_HPB_VOL, 0x00 }, /* r23 Headphone B Volume */ @@ -451,7 +451,7 @@ SOC_ENUM("Beep Pitch", beep_pitch_enum), SOC_ENUM("Beep on Time", beep_ontime_enum), SOC_ENUM("Beep off Time", beep_offtime_enum), - SOC_SINGLE_TLV("Beep Volume", CS42L52_BEEP_VOL, 0, 0x1f, 0x07, hl_tlv), + SOC_SINGLE_SX_TLV("Beep Volume", CS42L52_BEEP_VOL, 0, 0x07, 0x1f, hl_tlv), SOC_SINGLE("Beep Mixer Switch", CS42L52_BEEP_TONE_CTL, 5, 1, 1), SOC_ENUM("Beep Treble Corner Freq", beep_treble_enum), SOC_ENUM("Beep Bass Corner Freq", beep_bass_enum), @@ -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-lts-quantal-3.5.0.orig/sound/soc/codecs/wm8994.c +++ linux-lts-quantal-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; @@ -2778,6 +2778,7 @@ default: return 0; } + break; default: return 0; } @@ -3783,17 +3784,8 @@ wm8994->hubs.no_cache_dac_hp_direct = true; wm8994->fll_byp = true; - switch (wm8994->revision) { - case 0: - case 1: - case 2: - case 3: - wm8994->hubs.dcs_codes_l = -9; - wm8994->hubs.dcs_codes_r = -7; - break; - default: - break; - } + wm8994->hubs.dcs_codes_l = -9; + wm8994->hubs.dcs_codes_r = -7; snd_soc_update_bits(codec, WM8994_ANALOGUE_HP_1, WM1811_HPOUT1_ATTN, WM1811_HPOUT1_ATTN); --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm9712.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/codecs/sgtl5000.h +++ linux-lts-quantal-3.5.0/sound/soc/codecs/sgtl5000.h @@ -347,7 +347,7 @@ #define SGTL5000_PLL_INT_DIV_MASK 0xf800 #define SGTL5000_PLL_INT_DIV_SHIFT 11 #define SGTL5000_PLL_INT_DIV_WIDTH 5 -#define SGTL5000_PLL_FRAC_DIV_MASK 0x0700 +#define SGTL5000_PLL_FRAC_DIV_MASK 0x07ff #define SGTL5000_PLL_FRAC_DIV_SHIFT 0 #define SGTL5000_PLL_FRAC_DIV_WIDTH 11 --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm5100.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/wm5100.c @@ -1279,15 +1279,9 @@ case SND_SOC_DAIFMT_DSP_A: mask = 0; break; - case SND_SOC_DAIFMT_DSP_B: - mask = 1; - break; case SND_SOC_DAIFMT_I2S: mask = 2; break; - case SND_SOC_DAIFMT_LEFT_J: - mask = 3; - break; default: dev_err(codec->dev, "Unsupported DAI format %d\n", fmt & SND_SOC_DAIFMT_FORMAT_MASK); --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm_hubs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/codecs/wm8978.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/soc/codecs/sgtl5000.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/sgtl5000.c @@ -37,7 +37,7 @@ static const u16 sgtl5000_regs[SGTL5000_MAX_REG_OFFSET] = { [SGTL5000_CHIP_CLK_CTRL] = 0x0008, [SGTL5000_CHIP_I2S_CTRL] = 0x0010, - [SGTL5000_CHIP_SSS_CTRL] = 0x0008, + [SGTL5000_CHIP_SSS_CTRL] = 0x0010, [SGTL5000_CHIP_DAC_VOL] = 0x3c3c, [SGTL5000_CHIP_PAD_STRENGTH] = 0x015f, [SGTL5000_CHIP_ANA_HP_CTRL] = 0x1818, --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm8960.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/wm8960.c @@ -789,9 +789,9 @@ if (pll_div.k) { reg |= 0x20; - snd_soc_write(codec, WM8960_PLL2, (pll_div.k >> 18) & 0x3f); - snd_soc_write(codec, WM8960_PLL3, (pll_div.k >> 9) & 0x1ff); - snd_soc_write(codec, WM8960_PLL4, pll_div.k & 0x1ff); + snd_soc_write(codec, WM8960_PLL2, (pll_div.k >> 16) & 0xff); + snd_soc_write(codec, WM8960_PLL3, (pll_div.k >> 8) & 0xff); + snd_soc_write(codec, WM8960_PLL4, pll_div.k & 0xff); } snd_soc_write(codec, WM8960_PLL1, reg); --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/mc13783.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/mc13783.c @@ -126,6 +126,10 @@ ret = mc13xxx_reg_write(priv->mc13xxx, reg, value); + /* include errata fix for spi audio problems */ + if (reg == MC13783_AUDIO_CODEC || reg == MC13783_AUDIO_DAC) + ret = mc13xxx_reg_write(priv->mc13xxx, reg, value); + mc13xxx_unlock(priv->mc13xxx); return ret; --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/max98088.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/max98088.c @@ -1594,7 +1594,7 @@ static void max98088_sync_cache(struct snd_soc_codec *codec) { - u16 *reg_cache = codec->reg_cache; + u8 *reg_cache = codec->reg_cache; int i; if (!codec->cache_sync) @@ -2006,7 +2006,7 @@ ret); goto err_access; } - dev_info(codec->dev, "revision %c\n", ret + 'A'); + dev_info(codec->dev, "revision %c\n", ret - 0x40 + 'A'); snd_soc_write(codec, M98088_REG_51_PWR_SYS, M98088_PWRSV); --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/max98095.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/max98095.c @@ -1863,7 +1863,7 @@ struct max98095_pdata *pdata = max98095->pdata; int channel = max98095_get_eq_channel(kcontrol->id.name); struct max98095_cdata *cdata; - int sel = ucontrol->value.integer.value[0]; + unsigned int sel = ucontrol->value.integer.value[0]; struct max98095_eq_cfg *coef_set; int fs, best, best_val, i; int regmask, regsave; @@ -2016,7 +2016,7 @@ struct max98095_pdata *pdata = max98095->pdata; int channel = max98095_get_bq_channel(codec, kcontrol->id.name); struct max98095_cdata *cdata; - int sel = ucontrol->value.integer.value[0]; + unsigned int sel = ucontrol->value.integer.value[0]; struct max98095_biquad_cfg *coef_set; int fs, best, best_val, i; int regmask, regsave; --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm2200.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/wm2200.c @@ -897,8 +897,6 @@ "EQR", "LHPF1", "LHPF2", - "LHPF3", - "LHPF4", "DSP1.1", "DSP1.2", "DSP1.3", @@ -931,7 +929,6 @@ 0x25, 0x50, /* EQ */ 0x51, - 0x52, 0x60, /* LHPF1 */ 0x61, /* LHPF2 */ 0x68, /* DSP1 */ @@ -993,9 +990,9 @@ SOC_DOUBLE_R("IN1 Digital Switch", WM2200_ADC_DIGITAL_VOLUME_1L, WM2200_ADC_DIGITAL_VOLUME_1R, WM2200_IN1L_MUTE_SHIFT, 1, 1), -SOC_DOUBLE_R("IN2 Digital Switch", WM2200_ADC_DIGITAL_VOLUME_1L, +SOC_DOUBLE_R("IN2 Digital Switch", WM2200_ADC_DIGITAL_VOLUME_2L, WM2200_ADC_DIGITAL_VOLUME_2R, WM2200_IN2L_MUTE_SHIFT, 1, 1), -SOC_DOUBLE_R("IN3 Digital Switch", WM2200_ADC_DIGITAL_VOLUME_1L, +SOC_DOUBLE_R("IN3 Digital Switch", WM2200_ADC_DIGITAL_VOLUME_3L, WM2200_ADC_DIGITAL_VOLUME_3R, WM2200_IN3L_MUTE_SHIFT, 1, 1), SOC_DOUBLE_R_TLV("IN1 Digital Volume", WM2200_ADC_DIGITAL_VOLUME_1L, @@ -1028,7 +1025,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); @@ -1380,15 +1377,9 @@ case SND_SOC_DAIFMT_DSP_A: fmt_val = 0; break; - case SND_SOC_DAIFMT_DSP_B: - fmt_val = 1; - break; case SND_SOC_DAIFMT_I2S: fmt_val = 2; break; - case SND_SOC_DAIFMT_LEFT_J: - fmt_val = 3; - break; default: dev_err(codec->dev, "Unsupported DAI format %d\n", fmt & SND_SOC_DAIFMT_FORMAT_MASK); @@ -1440,7 +1431,7 @@ WM2200_AIF1TX_LRCLK_MSTR | WM2200_AIF1TX_LRCLK_INV, lrclk); snd_soc_update_bits(codec, WM2200_AUDIO_IF_1_5, - WM2200_AIF1_FMT_MASK << 1, fmt_val << 1); + WM2200_AIF1_FMT_MASK, fmt_val); return 0; } @@ -2091,6 +2082,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-lts-quantal-3.5.0.orig/sound/soc/codecs/88pm860x-codec.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/88pm860x-codec.c @@ -351,6 +351,9 @@ val = ucontrol->value.integer.value[0]; val2 = ucontrol->value.integer.value[1]; + if (val >= ARRAY_SIZE(st_table) || val2 >= ARRAY_SIZE(st_table)) + return -EINVAL; + err = snd_soc_update_bits(codec, reg, 0x3f, st_table[val].m); if (err < 0) return err; --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/sigmadsp.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/sigmadsp.c @@ -225,7 +225,7 @@ static int sigma_action_write_regmap(void *control_data, const struct sigma_action *sa, size_t len) { - return regmap_raw_write(control_data, le16_to_cpu(sa->addr), + return regmap_raw_write(control_data, be16_to_cpu(sa->addr), sa->payload, len - 2); } --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm8962.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/wm8962.c @@ -1600,7 +1600,6 @@ struct snd_ctl_elem_value *ucontrol) { struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); - u16 *reg_cache = codec->reg_cache; int ret; /* Apply the update (if any) */ @@ -1609,16 +1608,19 @@ return 0; /* If the left PGA is enabled hit that VU bit... */ - if (snd_soc_read(codec, WM8962_PWR_MGMT_2) & WM8962_HPOUTL_PGA_ENA) - return snd_soc_write(codec, WM8962_HPOUTL_VOLUME, - reg_cache[WM8962_HPOUTL_VOLUME]); + ret = snd_soc_read(codec, WM8962_PWR_MGMT_2); + if (ret & WM8962_HPOUTL_PGA_ENA) { + snd_soc_write(codec, WM8962_HPOUTL_VOLUME, + snd_soc_read(codec, WM8962_HPOUTL_VOLUME)); + return 1; + } /* ...otherwise the right. The VU is stereo. */ - if (snd_soc_read(codec, WM8962_PWR_MGMT_2) & WM8962_HPOUTR_PGA_ENA) - return snd_soc_write(codec, WM8962_HPOUTR_VOLUME, - reg_cache[WM8962_HPOUTR_VOLUME]); + if (ret & WM8962_HPOUTR_PGA_ENA) + snd_soc_write(codec, WM8962_HPOUTR_VOLUME, + snd_soc_read(codec, WM8962_HPOUTR_VOLUME)); - return 0; + return 1; } /* The VU bits for the speakers are in a different register to the mute @@ -2501,6 +2503,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: @@ -3372,7 +3377,6 @@ int ret; struct wm8962_priv *wm8962 = snd_soc_codec_get_drvdata(codec); struct wm8962_pdata *pdata = dev_get_platdata(codec->dev); - u16 *reg_cache = codec->reg_cache; int i, trigger, irq_pol; bool dmicclk, dmicdat; @@ -3430,8 +3434,9 @@ /* Put the speakers into mono mode? */ if (pdata->spk_mono) - reg_cache[WM8962_CLASS_D_CONTROL_2] - |= WM8962_SPK_MONO; + snd_soc_update_bits(codec, WM8962_CLASS_D_CONTROL_2, + WM8962_SPK_MONO_MASK, WM8962_SPK_MONO); + /* Micbias setup, detection enable and detection * threasholds. */ @@ -3722,6 +3727,9 @@ } regcache_cache_only(wm8962->regmap, false); + + wm8962_reset(wm8962); + regcache_sync(wm8962->regmap); regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP, --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm8903.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/wm8903.c @@ -1082,6 +1082,8 @@ { "ROP", NULL, "Right Speaker PGA" }, { "RON", NULL, "Right Speaker PGA" }, + { "Charge Pump", NULL, "CLK_DSP" }, + { "Left Headphone Output PGA", NULL, "Charge Pump" }, { "Right Headphone Output PGA", NULL, "Charge Pump" }, { "Left Line Output PGA", NULL, "Charge Pump" }, --- linux-lts-quantal-3.5.0.orig/sound/soc/codecs/wm2000.c +++ linux-lts-quantal-3.5.0/sound/soc/codecs/wm2000.c @@ -188,9 +188,9 @@ ret = wm2000_read(i2c, WM2000_REG_SPEECH_CLARITY); if (wm2000->speech_clarity) - ret &= ~WM2000_SPEECH_CLARITY; - else ret |= WM2000_SPEECH_CLARITY; + else + ret &= ~WM2000_SPEECH_CLARITY; wm2000_write(i2c, WM2000_REG_SPEECH_CLARITY, ret); wm2000_write(i2c, WM2000_REG_SYS_START0, 0x33); @@ -675,7 +675,7 @@ #endif static const struct regmap_config wm2000_regmap = { - .reg_bits = 8, + .reg_bits = 16, .val_bits = 8, }; --- linux-lts-quantal-3.5.0.orig/sound/soc/fsl/imx-ssi.c +++ linux-lts-quantal-3.5.0/sound/soc/fsl/imx-ssi.c @@ -497,6 +497,8 @@ if (imx_ssi->ac97_reset) imx_ssi->ac97_reset(ac97); + /* First read sometimes fails, do a dummy read */ + imx_ssi_ac97_read(ac97, 0); } static void imx_ssi_ac97_warm_reset(struct snd_ac97 *ac97) @@ -505,6 +507,9 @@ if (imx_ssi->ac97_warm_reset) imx_ssi->ac97_warm_reset(ac97); + + /* First read sometimes fails, do a dummy read */ + imx_ssi_ac97_read(ac97, 0); } struct snd_ac97_bus_ops soc_ac97_ops = { --- linux-lts-quantal-3.5.0.orig/sound/soc/omap/mcbsp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/drivers/aloop.c +++ linux-lts-quantal-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) @@ -284,12 +289,14 @@ loopback_active_notify(dpcm); break; case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + case SNDRV_PCM_TRIGGER_SUSPEND: spin_lock(&cable->lock); cable->pause |= stream; spin_unlock(&cable->lock); loopback_timer_stop(dpcm); break; case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + case SNDRV_PCM_TRIGGER_RESUME: spin_lock(&cable->lock); dpcm->last_jiffies = jiffies; cable->pause &= ~stream; @@ -555,7 +562,8 @@ static struct snd_pcm_hardware loopback_pcm_hardware = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP | - SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_RESUME), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE | SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE | SNDRV_PCM_FMTBIT_FLOAT_LE | SNDRV_PCM_FMTBIT_FLOAT_BE), @@ -667,6 +675,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-lts-quantal-3.5.0.orig/sound/drivers/mpu401/mpu401_uart.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/isa/opti9xx/opti92x-ad1848.c +++ linux-lts-quantal-3.5.0/sound/isa/opti9xx/opti92x-ad1848.c @@ -173,11 +173,7 @@ #endif /* CONFIG_PNP */ -#ifdef OPTi93X -#define DEV_NAME "opti93x" -#else -#define DEV_NAME "opti92x" -#endif +#define DEV_NAME KBUILD_MODNAME static char * snd_opti9xx_names[] = { "unknown", @@ -1126,7 +1122,7 @@ static struct pnp_card_driver opti9xx_pnpc_driver = { .flags = PNP_DRIVER_RES_DISABLE, - .name = "opti9xx", + .name = DEV_NAME, .id_table = snd_opti9xx_pnpids, .probe = snd_opti9xx_pnp_probe, .remove = __devexit_p(snd_opti9xx_pnp_remove), --- linux-lts-quantal-3.5.0.orig/sound/pci/atiixp.c +++ linux-lts-quantal-3.5.0/sound/pci/atiixp.c @@ -688,7 +688,9 @@ if (! dma->substream || ! dma->running) return; snd_printdd("atiixp: XRUN detected (DMA %d)\n", dma->ops->type); + snd_pcm_stream_lock(dma->substream); snd_pcm_stop(dma->substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock(dma->substream); } /* --- linux-lts-quantal-3.5.0.orig/sound/pci/bt87x.c +++ linux-lts-quantal-3.5.0/sound/pci/bt87x.c @@ -836,6 +836,8 @@ {0x7063, 0x2000}, /* pcHDTV HD-2000 TV */ }; +static struct pci_driver driver; + /* return the id of the card, or a negative value if it's blacklisted */ static int __devinit snd_bt87x_detect_card(struct pci_dev *pci) { @@ -962,11 +964,24 @@ { } }; -static struct pci_driver bt87x_driver = { +static struct pci_driver driver = { .name = KBUILD_MODNAME, .id_table = snd_bt87x_ids, .probe = snd_bt87x_probe, .remove = __devexit_p(snd_bt87x_remove), }; -module_pci_driver(bt87x_driver); +static int __init alsa_card_bt87x_init(void) +{ + if (load_all) + driver.id_table = snd_bt87x_default_ids; + return pci_register_driver(&driver); +} + +static void __exit alsa_card_bt87x_exit(void) +{ + pci_unregister_driver(&driver); +} + +module_init(alsa_card_bt87x_init) +module_exit(alsa_card_bt87x_exit) --- linux-lts-quantal-3.5.0.orig/sound/pci/atiixp_modem.c +++ linux-lts-quantal-3.5.0/sound/pci/atiixp_modem.c @@ -638,7 +638,9 @@ if (! dma->substream || ! dma->running) return; snd_printdd("atiixp-modem: XRUN detected (DMA %d)\n", dma->ops->type); + snd_pcm_stream_lock(dma->substream); snd_pcm_stop(dma->substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock(dma->substream); } /* --- linux-lts-quantal-3.5.0.orig/sound/pci/rme32.c +++ linux-lts-quantal-3.5.0/sound/pci/rme32.c @@ -1017,7 +1017,7 @@ spin_lock_irq(&rme32->lock); rme32->capture_substream = NULL; rme32->capture_periodsize = 0; - spin_unlock(&rme32->lock); + spin_unlock_irq(&rme32->lock); return 0; } --- linux-lts-quantal-3.5.0.orig/sound/pci/asihpi/asihpi.c +++ linux-lts-quantal-3.5.0/sound/pci/asihpi/asihpi.c @@ -769,7 +769,10 @@ s->number); ds->drained_count++; if (ds->drained_count > 20) { + unsigned long flags; + snd_pcm_stream_lock_irqsave(s, flags); snd_pcm_stop(s, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock_irqrestore(s, flags); continue; } } else { --- linux-lts-quantal-3.5.0.orig/sound/pci/hda/hda_proc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_via.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_sigmatel.c +++ linux-lts-quantal-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[] = { @@ -1694,7 +1698,7 @@ SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1658, "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1659, - "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), + "HP Pavilion dv7", STAC_HP_DV7_4000), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x165A, "HP", STAC_92HD83XXX_HP_cNB11_INTQUAD), SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x165B, @@ -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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_analog.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_conexant.c +++ linux-lts-quantal-3.5.0/sound/pci/hda/patch_conexant.c @@ -553,24 +553,12 @@ return 0; } -#ifdef CONFIG_SND_HDA_POWER_SAVE -static int conexant_suspend(struct hda_codec *codec, pm_message_t state) -{ - snd_hda_shutup_pins(codec); - return 0; -} -#endif - static const struct hda_codec_ops conexant_patch_ops = { .build_controls = conexant_build_controls, .build_pcms = conexant_build_pcms, .init = conexant_init, .free = conexant_free, .set_power_state = conexant_set_power, -#ifdef CONFIG_SND_HDA_POWER_SAVE - .suspend = conexant_suspend, -#endif - .reboot_notify = snd_hda_shutup_pins, }; #ifdef CONFIG_SND_HDA_INPUT_BEEP @@ -1182,7 +1170,7 @@ } if (spec->beep_amp) - snd_hda_attach_beep_device(codec, spec->beep_amp); + snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp)); return 0; } @@ -1961,7 +1949,7 @@ } if (spec->beep_amp) - snd_hda_attach_beep_device(codec, spec->beep_amp); + snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp)); return 0; } @@ -2972,7 +2960,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), @@ -3149,7 +3136,7 @@ } if (spec->beep_amp) - snd_hda_attach_beep_device(codec, spec->beep_amp); + snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp)); return 0; } @@ -3546,8 +3533,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 +3559,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 +4267,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; @@ -4402,10 +4401,6 @@ .init = cx_auto_init, .free = conexant_free, .unsol_event = cx_auto_unsol_event, -#ifdef CONFIG_SND_HDA_POWER_SAVE - .suspend = conexant_suspend, -#endif - .reboot_notify = snd_hda_shutup_pins, }; /* @@ -4462,12 +4457,14 @@ }; static const struct snd_pci_quirk cxt5066_fixups[] = { + SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x215e, "Lenovo T410", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x215f, "Lenovo T510", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x21ce, "Lenovo T420", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520", CXT_PINCFG_LENOVO_TP410), SND_PCI_QUIRK(0x17aa, 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), {} }; @@ -4543,7 +4540,7 @@ spec->capture_stream = &cx_auto_pcm_analog_capture; codec->patch_ops = cx_auto_patch_ops; if (spec->beep_amp) - snd_hda_attach_beep_device(codec, spec->beep_amp); + snd_hda_attach_beep_device(codec, get_amp_nid_(spec->beep_amp)); /* Some laptops with Conexant chips show stalls in S3 resume, * which falls into the single-cmd mode. @@ -4603,6 +4600,12 @@ .patch = patch_conexant_auto }, { .id = 0x14f15111, .name = "CX20753/4", .patch = patch_conexant_auto }, + { .id = 0x14f15113, .name = "CX20755", + .patch = patch_conexant_auto }, + { .id = 0x14f15114, .name = "CX20756", + .patch = patch_conexant_auto }, + { .id = 0x14f15115, .name = "CX20757", + .patch = patch_conexant_auto }, {} /* terminator */ }; @@ -4626,6 +4629,9 @@ MODULE_ALIAS("snd-hda-codec-id:14f1510f"); MODULE_ALIAS("snd-hda-codec-id:14f15110"); MODULE_ALIAS("snd-hda-codec-id:14f15111"); +MODULE_ALIAS("snd-hda-codec-id:14f15113"); +MODULE_ALIAS("snd-hda-codec-id:14f15114"); +MODULE_ALIAS("snd-hda-codec-id:14f15115"); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Conexant HD-audio codec"); --- linux-lts-quantal-3.5.0.orig/sound/pci/hda/hda_jack.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/hda_jack.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_hdmi.c +++ linux-lts-quantal-3.5.0/sound/pci/hda/patch_hdmi.c @@ -425,9 +425,11 @@ if (get_wcaps(codec, pin_nid) & AC_WCAP_OUT_AMP) snd_hda_codec_write(codec, pin_nid, 0, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE); - /* Disable pin out until stream is active*/ + /* Enable pin out: some machines with GM965 gets broken output when + * the pin is disabled or changed while using with HDMI + */ snd_hda_codec_write(codec, pin_nid, 0, - AC_VERB_SET_PIN_WIDGET_CONTROL, 0); + AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT); } static int hdmi_get_channel_count(struct hda_codec *codec, hda_nid_t cvt_nid) @@ -511,6 +513,17 @@ } } + if (!ca) { + /* if there was no match, select the regular ALSA channel + * allocation with the matching number of channels */ + for (i = 0; i < ARRAY_SIZE(channel_allocations); i++) { + if (channels == channel_allocations[i].channels) { + ca = channel_allocations[i].ca_index; + break; + } + } + } + snd_print_channel_allocation(eld->spk_alloc, buf, sizeof(buf)); snd_printdd("HDMI: select CA 0x%x for %d-channel allocation: %s\n", ca, channels, buf); @@ -876,7 +889,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); @@ -909,14 +921,9 @@ per_cvt->assigned = 1; hinfo->nid = per_cvt->cvt_nid; - snd_hda_codec_write(codec, per_pin->pin_nid, 0, + snd_hda_codec_write_cache(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 */ @@ -930,8 +937,12 @@ if (!static_hdmi_pcm && eld->eld_valid) { snd_hdmi_eld_update_pcm_info(eld, hinfo); if (hinfo->channels_min > hinfo->channels_max || - !hinfo->rates || !hinfo->formats) + !hinfo->rates || !hinfo->formats) { + per_cvt->assigned = 0; + hinfo->nid = 0; + snd_hda_spdif_ctls_unassign(codec, pin_idx); return -ENODEV; + } } /* Store the updated parameters */ @@ -995,6 +1006,7 @@ "HDMI status: Codec=%d Pin=%d Presence_Detect=%d ELD_Valid=%d\n", codec->addr, pin_nid, eld->monitor_present, eld_valid); + eld->eld_valid = false; if (eld_valid) { if (!snd_hdmi_get_eld(eld, codec, pin_nid)) snd_hdmi_show_eld(eld); @@ -1169,7 +1181,6 @@ int cvt_idx, pin_idx; struct hdmi_spec_per_cvt *per_cvt; struct hdmi_spec_per_pin *per_pin; - int pinctl; snd_hda_codec_cleanup_stream(codec, hinfo->nid); @@ -1188,11 +1199,6 @@ return -EINVAL; per_pin = &spec->pins[pin_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_unassign(codec, pin_idx); } @@ -1323,6 +1329,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 +1362,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); @@ -1902,6 +1936,8 @@ { .id = 0x10de0042, .name = "GPU 42 HDMI/DP", .patch = patch_generic_hdmi }, { .id = 0x10de0043, .name = "GPU 43 HDMI/DP", .patch = patch_generic_hdmi }, { .id = 0x10de0044, .name = "GPU 44 HDMI/DP", .patch = patch_generic_hdmi }, +{ .id = 0x10de0051, .name = "GPU 51 HDMI/DP", .patch = patch_generic_hdmi }, +{ .id = 0x10de0060, .name = "GPU 60 HDMI/DP", .patch = patch_generic_hdmi }, { .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch }, { .id = 0x10de8001, .name = "MCP73 HDMI", .patch = patch_nvhdmi_2ch }, { .id = 0x80860054, .name = "IbexPeak HDMI", .patch = patch_generic_hdmi }, @@ -1911,6 +1947,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 */ @@ -1948,6 +1985,8 @@ MODULE_ALIAS("snd-hda-codec-id:10de0042"); MODULE_ALIAS("snd-hda-codec-id:10de0043"); MODULE_ALIAS("snd-hda-codec-id:10de0044"); +MODULE_ALIAS("snd-hda-codec-id:10de0051"); +MODULE_ALIAS("snd-hda-codec-id:10de0060"); MODULE_ALIAS("snd-hda-codec-id:10de0067"); MODULE_ALIAS("snd-hda-codec-id:10de8001"); MODULE_ALIAS("snd-hda-codec-id:17e80047"); @@ -1958,6 +1997,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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_ca0132.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/hda_eld.c +++ linux-lts-quantal-3.5.0/sound/pci/hda/hda_eld.c @@ -322,7 +322,7 @@ struct hda_codec *codec, hda_nid_t nid) { int i; - int ret; + int ret = 0; int size; unsigned char *buf; --- linux-lts-quantal-3.5.0.orig/sound/pci/hda/patch_cirrus.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/hda/hda_intel.c +++ linux-lts-quantal-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 */ @@ -616,29 +619,43 @@ #define get_azx_dev(substream) (substream->runtime->private_data) #ifdef CONFIG_X86 -static void __mark_pages_wc(struct azx *chip, void *addr, size_t size, bool on) +static void __mark_pages_wc(struct azx *chip, struct snd_dma_buffer *dmab, bool on) { + int pages; + if (azx_snoop(chip)) return; - if (addr && size) { - int pages = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; + if (!dmab || !dmab->area || !dmab->bytes) + return; + +#ifdef CONFIG_SND_DMA_SGBUF + if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_SG) { + struct snd_sg_buf *sgbuf = dmab->private_data; if (on) - set_memory_wc((unsigned long)addr, pages); + set_pages_array_wc(sgbuf->page_table, sgbuf->pages); else - set_memory_wb((unsigned long)addr, pages); + set_pages_array_wb(sgbuf->page_table, sgbuf->pages); + return; } +#endif + + pages = (dmab->bytes + PAGE_SIZE - 1) >> PAGE_SHIFT; + if (on) + set_memory_wc((unsigned long)dmab->area, pages); + else + set_memory_wb((unsigned long)dmab->area, pages); } static inline void mark_pages_wc(struct azx *chip, struct snd_dma_buffer *buf, bool on) { - __mark_pages_wc(chip, buf->area, buf->bytes, on); + __mark_pages_wc(chip, buf, on); } static inline void mark_runtime_wc(struct azx *chip, struct azx_dev *azx_dev, - struct snd_pcm_runtime *runtime, bool on) + struct snd_pcm_substream *substream, bool on) { if (azx_dev->wc_marked != on) { - __mark_pages_wc(chip, runtime->dma_area, runtime->dma_bytes, on); + __mark_pages_wc(chip, substream->runtime->dma_buffer_p, on); azx_dev->wc_marked = on; } } @@ -649,7 +666,7 @@ { } static inline void mark_runtime_wc(struct azx *chip, struct azx_dev *azx_dev, - struct snd_pcm_runtime *runtime, bool on) + struct snd_pcm_substream *substream, bool on) { } #endif @@ -1822,11 +1839,10 @@ { struct azx_pcm *apcm = snd_pcm_substream_chip(substream); struct azx *chip = apcm->chip; - struct snd_pcm_runtime *runtime = substream->runtime; struct azx_dev *azx_dev = get_azx_dev(substream); int ret; - mark_runtime_wc(chip, azx_dev, runtime, false); + mark_runtime_wc(chip, azx_dev, substream, false); azx_dev->bufsize = 0; azx_dev->period_bytes = 0; azx_dev->format_val = 0; @@ -1834,7 +1850,7 @@ params_buffer_bytes(hw_params)); if (ret < 0) return ret; - mark_runtime_wc(chip, azx_dev, runtime, true); + mark_runtime_wc(chip, azx_dev, substream, true); return ret; } @@ -1843,7 +1859,6 @@ struct azx_pcm *apcm = snd_pcm_substream_chip(substream); struct azx_dev *azx_dev = get_azx_dev(substream); struct azx *chip = apcm->chip; - struct snd_pcm_runtime *runtime = substream->runtime; struct hda_pcm_stream *hinfo = apcm->hinfo[substream->stream]; /* reset BDL address */ @@ -1856,7 +1871,7 @@ snd_hda_codec_cleanup(apcm->codec, hinfo, substream); - mark_runtime_wc(chip, azx_dev, runtime, false); + mark_runtime_wc(chip, azx_dev, substream, false); return snd_pcm_lib_free_pages(substream); } @@ -2523,7 +2538,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 +2583,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 +2616,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) { @@ -2790,6 +2814,7 @@ SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */ SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */ SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */ + SND_PCI_QUIRK(0x1179, 0xfb44, "Toshiba Satellite C870", 0), /* AMD Hudson */ SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */ SND_PCI_QUIRK(0xa0a0, 0x0575, "Aopen MZ915-M", 0), /* ICH6 */ {} @@ -2935,14 +2960,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 +3186,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 +3280,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-lts-quantal-3.5.0.orig/sound/pci/hda/patch_realtek.c +++ linux-lts-quantal-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; @@ -4571,6 +4710,7 @@ SND_PCI_QUIRK(0x1584, 0x9077, "Uniwill P53", ALC880_FIXUP_VOL_KNOB), SND_PCI_QUIRK(0x161f, 0x203d, "W810", ALC880_FIXUP_W810), SND_PCI_QUIRK(0x161f, 0x205d, "Medion Rim 2150", ALC880_FIXUP_MEDION_RIM), + SND_PCI_QUIRK(0x1631, 0xe011, "PB 13201056", ALC880_FIXUP_6ST), SND_PCI_QUIRK(0x1734, 0x107c, "FSC F1734", ALC880_FIXUP_F1734), SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FIXUP_FUJITSU), SND_PCI_QUIRK(0x1734, 0x10ac, "FSC AMILO Xi 1526", ALC880_FIXUP_F1734), @@ -4724,7 +4864,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 +5048,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 +5170,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 +5363,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 +5401,8 @@ 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), + SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", 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 +5423,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 +5444,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 +5681,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 +5739,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 +5771,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 +5840,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 +5857,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 +5870,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 +5893,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) { @@ -5787,6 +5985,30 @@ spec->automute_hook = alc269_quanta_automute; } +/* update mute-LED according to the speaker mute state via mic1 VREF pin */ +static void alc269_fixup_mic1_mute_hook(void *private_data, int enabled) +{ + struct hda_codec *codec = private_data; + unsigned int pinval = AC_PINCTL_IN_EN + (enabled ? + AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80); + snd_hda_set_pin_ctl_cache(codec, 0x18, pinval); +} + +static void alc269_fixup_mic1_mute(struct hda_codec *codec, + const struct alc_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + switch (action) { + case ALC_FIXUP_ACT_BUILD: + spec->vmaster_mute.hook = alc269_fixup_mic1_mute_hook; + snd_hda_add_vmaster_hook(codec, &spec->vmaster_mute, true); + /* fallthru */ + case ALC_FIXUP_ACT_INIT: + snd_hda_sync_vmaster_hook(&spec->vmaster_mute); + break; + } +} + /* update mute-LED according to the speaker mute state via mic2 VREF pin */ static void alc269_fixup_mic2_mute_hook(void *private_data, int enabled) { @@ -5810,6 +6032,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, @@ -5827,7 +6057,11 @@ ALC269_FIXUP_DMIC, ALC269VB_FIXUP_AMIC, ALC269VB_FIXUP_DMIC, + ALC269_FIXUP_MIC1_MUTE_LED, 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 +6123,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, @@ -5948,16 +6184,43 @@ { } }, }, + [ALC269_FIXUP_MIC1_MUTE_LED] = { + .type = ALC_FIXUP_FUNC, + .v.func = alc269_fixup_mic1_mute, + }, [ALC269_FIXUP_MIC2_MUTE_LED] = { .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(0x103c, 0x1972, "HP Pavilion 17", ALC269_FIXUP_MIC1_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x1977, "HP Pavilion 14", ALC269_FIXUP_MIC1_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 +6238,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 +6300,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 +6362,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 +6395,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) @@ -6300,8 +6568,8 @@ const struct alc_fixup *fix, int action) { if (action == ALC_FIXUP_ACT_PRE_PROBE) { - snd_hda_override_pin_caps(codec, 0x18, 0x00001714); - snd_hda_override_pin_caps(codec, 0x19, 0x0000171c); + snd_hda_override_pin_caps(codec, 0x18, 0x00000734); + snd_hda_override_pin_caps(codec, 0x19, 0x0000073c); } } @@ -6405,7 +6673,8 @@ const hda_nid_t *ssids; if (codec->vendor_id == 0x10ec0272 || codec->vendor_id == 0x10ec0663 || - codec->vendor_id == 0x10ec0665 || codec->vendor_id == 0x10ec0670) + codec->vendor_id == 0x10ec0665 || codec->vendor_id == 0x10ec0670 || + codec->vendor_id == 0x10ec0671) ssids = alc663_ssids; else ssids = alc662_ssids; @@ -6426,6 +6695,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 +6714,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 +6871,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 +7108,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,7 +7125,9 @@ .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 = 0x10ec0671, .name = "ALC671", .patch = patch_alc662 }, { .id = 0x10ec0680, .name = "ALC680", .patch = patch_alc680 }, { .id = 0x10ec0880, .name = "ALC880", .patch = patch_alc880 }, { .id = 0x10ec0882, .name = "ALC882", .patch = patch_alc882 }, @@ -6861,6 +7144,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-lts-quantal-3.5.0.orig/sound/pci/hda/hda_codec.c +++ linux-lts-quantal-3.5.0/sound/pci/hda/hda_codec.c @@ -165,7 +165,7 @@ "Line Out", "Speaker", "HP Out", "CD", "SPDIF Out", "Digital Out", "Modem Line", "Modem Hand", "Line In", "Aux", "Mic", "Telephony", - "SPDIF In", "Digitial In", "Reserved", "Other" + "SPDIF In", "Digital In", "Reserved", "Other" }; return jack_types[(cfg & AC_DEFCFG_DEVICE) @@ -609,6 +609,9 @@ struct hda_bus_unsolicited *unsol; unsigned int wp; + if (!bus || !bus->workq) + return 0; + trace_hda_unsol_event(bus, res, res_ex); unsol = bus->unsol; if (!unsol) @@ -2325,6 +2328,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 +2344,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); @@ -2961,7 +2964,7 @@ if (val & AC_DIG1_PROFESSIONAL) sbits |= IEC958_AES0_PROFESSIONAL; if (sbits & IEC958_AES0_PROFESSIONAL) { - if (sbits & AC_DIG1_EMPHASIS) + if (val & AC_DIG1_EMPHASIS) sbits |= IEC958_AES0_PRO_EMPHASIS_5015; } else { if (val & AC_DIG1_EMPHASIS) @@ -3542,7 +3545,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 +3554,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 +4377,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 +4423,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 +5043,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-lts-quantal-3.5.0.orig/sound/pci/ice1712/prodigy_hifi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/pci/ice1712/ice1712.c +++ linux-lts-quantal-3.5.0/sound/pci/ice1712/ice1712.c @@ -2595,6 +2595,8 @@ snd_ice1712_proc_init(ice); synchronize_irq(pci->irq); + card->private_data = ice; + err = pci_request_regions(pci, "ICE1712"); if (err < 0) { kfree(ice); --- linux-lts-quantal-3.5.0.orig/sound/pci/ali5451/ali5451.c +++ linux-lts-quantal-3.5.0/sound/pci/ali5451/ali5451.c @@ -1435,7 +1435,7 @@ spin_lock(&codec->reg_lock); if (!pvoice->running) { - spin_unlock_irq(&codec->reg_lock); + spin_unlock(&codec->reg_lock); return 0; } outb(pvoice->number, ALI_REG(codec, ALI_GC_CIR)); --- linux-lts-quantal-3.5.0.orig/sound/i2c/other/ak4xxx-adda.c +++ linux-lts-quantal-3.5.0/sound/i2c/other/ak4xxx-adda.c @@ -571,7 +571,7 @@ struct snd_akm4xxx *ak = snd_kcontrol_chip(kcontrol); int mixer_ch = AK_GET_SHIFT(kcontrol->private_value); const char **input_names; - int num_names, idx; + unsigned int num_names, idx; num_names = ak4xxx_capture_num_inputs(ak, mixer_ch); if (!num_names) --- linux-lts-quantal-3.5.0.orig/sound/arm/pxa2xx-ac97-lib.c +++ linux-lts-quantal-3.5.0/sound/arm/pxa2xx-ac97-lib.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -148,6 +149,8 @@ static inline void pxa_ac97_cold_pxa27x(void) { + unsigned int timeout; + GCR &= GCR_COLD_RST; /* clear everything but nCRST */ GCR &= ~GCR_COLD_RST; /* then assert nCRST */ @@ -157,8 +160,10 @@ clk_enable(ac97conf_clk); udelay(5); clk_disable(ac97conf_clk); - GCR = GCR_COLD_RST; - udelay(50); + GCR = GCR_COLD_RST | GCR_WARM_RST; + timeout = 100; /* wait for the codec-ready bit to be set */ + while (!((GSR | gsr_bits) & (GSR_PCR | GSR_SCR)) && timeout--) + mdelay(1); } #endif @@ -340,8 +345,21 @@ } if (cpu_is_pxa27x()) { - /* Use GPIO 113 as AC97 Reset on Bulverde */ + /* + * This gpio is needed for a work-around to a bug in the ac97 + * controller during warm reset. The direction and level is set + * here so that it is an output driven high when switching from + * AC97_nRESET alt function to generic gpio. + */ + ret = gpio_request_one(reset_gpio, GPIOF_OUT_INIT_HIGH, + "pxa27x ac97 reset"); + if (ret < 0) { + pr_err("%s: gpio_request_one() failed: %d\n", + __func__, ret); + goto err_conf; + } pxa27x_assert_ac97reset(reset_gpio, 0); + ac97conf_clk = clk_get(&dev->dev, "AC97CONFCLK"); if (IS_ERR(ac97conf_clk)) { ret = PTR_ERR(ac97conf_clk); @@ -384,6 +402,8 @@ void pxa2xx_ac97_hw_remove(struct platform_device *dev) { + if (cpu_is_pxa27x()) + gpio_free(reset_gpio); GCR |= GCR_ACLINK_OFF; free_irq(IRQ_AC97, NULL); if (ac97conf_clk) { --- linux-lts-quantal-3.5.0.orig/sound/arm/pxa2xx-pcm-lib.c +++ linux-lts-quantal-3.5.0/sound/arm/pxa2xx-pcm-lib.c @@ -166,7 +166,9 @@ } else { printk(KERN_ERR "%s: DMA error on channel %d (DCSR=%#x)\n", rtd->params->name, dma_ch, dcsr); + snd_pcm_stream_lock(substream); snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); + snd_pcm_stream_unlock(substream); } } EXPORT_SYMBOL(pxa2xx_pcm_dma_irq); --- linux-lts-quantal-3.5.0.orig/sound/core/pcm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/compress_offload.c +++ linux-lts-quantal-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) @@ -579,7 +584,7 @@ mutex_lock(&stream->device->lock); switch (_IOC_NR(cmd)) { case _IOC_NR(SNDRV_COMPRESS_IOCTL_VERSION): - put_user(SNDRV_COMPRESS_VERSION, + retval = put_user(SNDRV_COMPRESS_VERSION, (int __user *)arg) ? -EFAULT : 0; break; case _IOC_NR(SNDRV_COMPRESS_GET_CAPS): @@ -660,7 +665,8 @@ struct snd_compr *compr; compr = device->device_data; - snd_unregister_device(compr->direction, compr->card, compr->device); + snd_unregister_device(SNDRV_DEVICE_TYPE_COMPRESS, compr->card, + compr->device); return 0; } --- linux-lts-quantal-3.5.0.orig/sound/core/hwdep.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/vmaster.c +++ linux-lts-quantal-3.5.0/sound/core/vmaster.c @@ -213,7 +213,10 @@ } if (!changed) return 0; - return slave_put_val(slave, ucontrol); + err = slave_put_val(slave, ucontrol); + if (err < 0) + return err; + return 1; } static int slave_tlv_cmd(struct snd_kcontrol *kcontrol, --- linux-lts-quantal-3.5.0.orig/sound/core/init.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/sound_oss.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/pcm_native.c +++ linux-lts-quantal-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; @@ -1621,6 +1633,7 @@ } if (!snd_pcm_stream_linked(substream)) { substream->group = group; + group = NULL; spin_lock_init(&substream->group->lock); INIT_LIST_HEAD(&substream->group->substreams); list_add_tail(&substream->link_list, &substream->group->substreams); @@ -1633,9 +1646,9 @@ 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); + kfree(group); return res; } @@ -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; @@ -3196,18 +3219,10 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, struct vm_area_struct *area) { - long size; - unsigned long offset; + struct snd_pcm_runtime *runtime = substream->runtime;; area->vm_page_prot = pgprot_noncached(area->vm_page_prot); - area->vm_flags |= VM_IO; - size = area->vm_end - area->vm_start; - offset = area->vm_pgoff << PAGE_SHIFT; - if (io_remap_pfn_range(area, area->vm_start, - (substream->runtime->dma_addr + offset) >> PAGE_SHIFT, - size, area->vm_page_prot)) - return -EAGAIN; - return 0; + return vm_iomap_memory(area, runtime->dma_addr, runtime->dma_bytes); } EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem); --- linux-lts-quantal-3.5.0.orig/sound/core/sound.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/rawmidi.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/control.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/oss/mixer_oss.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/oss/pcm_oss.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/sound/core/seq/seq_timer.c +++ linux-lts-quantal-3.5.0/sound/core/seq/seq_timer.c @@ -290,10 +290,10 @@ tid.device = SNDRV_TIMER_GLOBAL_SYSTEM; err = snd_timer_open(&t, str, &tid, q->queue); } - if (err < 0) { - snd_printk(KERN_ERR "seq fatal error: cannot create timer (%i)\n", err); - return err; - } + } + if (err < 0) { + snd_printk(KERN_ERR "seq fatal error: cannot create timer (%i)\n", err); + return err; } t->callback = snd_seq_timer_interrupt; t->callback_data = q; --- linux-lts-quantal-3.5.0.orig/block/genhd.c +++ linux-lts-quantal-3.5.0/block/genhd.c @@ -25,7 +25,7 @@ struct kobject *block_depr; /* for extended dynamic devt allocation, currently only one major is used */ -#define MAX_EXT_DEVT (1 << MINORBITS) +#define NR_EXT_DEVT (1 << MINORBITS) /* For extended devt allocation. ext_devt_mutex prevents look up * results from going away underneath its user. @@ -420,17 +420,18 @@ do { if (!idr_pre_get(&ext_devt_idr, GFP_KERNEL)) return -ENOMEM; + mutex_lock(&ext_devt_mutex); rc = idr_get_new(&ext_devt_idr, part, &idx); + if (!rc && idx >= NR_EXT_DEVT) { + idr_remove(&ext_devt_idr, idx); + rc = -EBUSY; + } + mutex_unlock(&ext_devt_mutex); } while (rc == -EAGAIN); if (rc) return rc; - if (idx > MAX_EXT_DEVT) { - idr_remove(&ext_devt_idr, idx); - return -EBUSY; - } - *devt = MKDEV(BLOCK_EXT_MAJOR, blk_mangle_minor(idx)); return 0; } @@ -517,7 +518,7 @@ ddev->parent = disk->driverfs_dev; - dev_set_name(ddev, disk->disk_name); + dev_set_name(ddev, "%s", disk->disk_name); /* delay uevents, until we scanned partition table */ dev_set_uevent_suppress(ddev, 1); @@ -644,7 +645,6 @@ disk_part_iter_exit(&piter); invalidate_partition(disk, 0); - blk_free_devt(disk_to_dev(disk)->devt); set_capacity(disk, 0); disk->flags &= ~GENHD_FL_UP; @@ -662,6 +662,7 @@ if (!sysfs_deprecated) sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); device_del(disk_to_dev(disk)); + blk_free_devt(disk_to_dev(disk)->devt); } EXPORT_SYMBOL(del_gendisk); --- linux-lts-quantal-3.5.0.orig/block/blk-core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/block/cfq-iosched.c +++ linux-lts-quantal-3.5.0/block/cfq-iosched.c @@ -1484,7 +1484,7 @@ if (samples) { v = blkg_stat_read(&cfqg->stats.avg_queue_size_sum); - do_div(v, samples); + v = div64_u64(v, samples); } __blkg_prfill_u64(sf, pd, v); return 0; --- linux-lts-quantal-3.5.0.orig/block/scsi_ioctl.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/block/partition-generic.c +++ linux-lts-quantal-3.5.0/block/partition-generic.c @@ -249,11 +249,11 @@ if (!part) return; - blk_free_devt(part_devt(part)); rcu_assign_pointer(ptbl->part[partno], NULL); rcu_assign_pointer(ptbl->last_lookup, NULL); kobject_put(part->holder_dir); device_del(part_to_dev(part)); + blk_free_devt(part_devt(part)); hd_struct_put(part); } --- linux-lts-quantal-3.5.0.orig/block/blk-ioc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/block/blk-sysfs.c +++ linux-lts-quantal-3.5.0/block/blk-sysfs.c @@ -201,6 +201,8 @@ unsigned long val; \ ssize_t ret; \ ret = queue_var_store(&val, page, count); \ + if (ret < 0) \ + return ret; \ if (neg) \ val = !val; \ \ @@ -523,6 +525,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-lts-quantal-3.5.0.orig/block/blk-exec.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/security.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/device_cgroup.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/commoncap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/apparmorfs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/net.c +++ linux-lts-quantal-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); + + 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-lts-quantal-3.5.0.orig/security/apparmor/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/mount.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/policy_unpack.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/domain.c +++ linux-lts-quantal-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; --- linux-lts-quantal-3.5.0.orig/security/apparmor/lsm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/audit.c +++ linux-lts-quantal-3.5.0/security/apparmor/audit.c @@ -44,6 +44,10 @@ "file_mmap", "file_mprotect", + "pivotroot", + "mount", + "umount", + "create", "post_create", "bind", --- linux-lts-quantal-3.5.0.orig/security/apparmor/policy.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/include/audit.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/include/net.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/include/mount.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/include/policy.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/include/apparmor.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/apparmor/include/domain.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/integrity/evm/evm_crypto.c +++ linux-lts-quantal-3.5.0/security/integrity/evm/evm_crypto.c @@ -205,9 +205,9 @@ rc = __vfs_setxattr_noperm(dentry, XATTR_NAME_EVM, &xattr_data, sizeof(xattr_data), 0); - } - else if (rc == -ENODATA) + } else if (rc == -ENODATA && inode->i_op->removexattr) { rc = inode->i_op->removexattr(dentry, XATTR_NAME_EVM); + } return rc; } --- linux-lts-quantal-3.5.0.orig/security/selinux/netnode.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/selinux/hooks.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/selinux/xfrm.c +++ linux-lts-quantal-3.5.0/security/selinux/xfrm.c @@ -310,7 +310,7 @@ if (old_ctx) { new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len, - GFP_KERNEL); + GFP_ATOMIC); if (!new_ctx) return -ENOMEM; --- linux-lts-quantal-3.5.0.orig/security/smack/smackfs.c +++ linux-lts-quantal-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); @@ -819,7 +819,7 @@ if (format == SMK_FIXED24_FMT) rule += SMK_LABELLEN; else - rule += strlen(skp->smk_known); + rule += strlen(skp->smk_known) + 1; ret = sscanf(rule, "%d", &maplevel); if (ret != 1 || maplevel > SMACK_CIPSO_MAXLEVEL) --- linux-lts-quantal-3.5.0.orig/security/yama/yama_lsm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/yama/Kconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/security/keys/keyctl.c +++ linux-lts-quantal-3.5.0/security/keys/keyctl.c @@ -1112,12 +1112,12 @@ ret = rw_copy_check_uvector(WRITE, _payload_iov, ioc, ARRAY_SIZE(iovstack), iovstack, &iov); if (ret < 0) - return ret; + goto err; if (ret == 0) goto no_payload_free; ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid); - +err: if (iov != iovstack) kfree(iov); return ret; --- linux-lts-quantal-3.5.0.orig/security/keys/process_keys.c +++ linux-lts-quantal-3.5.0/security/keys/process_keys.c @@ -54,7 +54,7 @@ kenter("%p{%u}", user, user->uid); - if (user->uid_keyring) { + if (user->uid_keyring && user->session_keyring) { kleave(" = 0 [exist]"); return 0; } @@ -854,7 +854,7 @@ new-> sgid = old-> sgid; new->fsgid = old->fsgid; new->user = get_uid(old->user); - new->user_ns = get_user_ns(new->user_ns); + new->user_ns = get_user_ns(old->user_ns); new->group_info = get_group_info(old->group_info); new->securebits = old->securebits; --- linux-lts-quantal-3.5.0.orig/security/keys/compat.c +++ linux-lts-quantal-3.5.0/security/keys/compat.c @@ -40,12 +40,12 @@ ARRAY_SIZE(iovstack), iovstack, &iov); if (ret < 0) - return ret; + goto err; if (ret == 0) goto no_payload_free; ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid); - +err: if (iov != iovstack) kfree(iov); return ret; --- linux-lts-quantal-3.5.0.orig/debian.master/changelog.historical +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/copyright +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/control.stub.in +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/changelog +++ linux-lts-quantal-3.5.0/debian.master/changelog @@ -0,0 +1,15563 @@ +linux (3.5.0-43.66) quantal; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #1242895 + + [ Timo Aaltonen ] + + * SAUCE: ubuntu/i915: silence unclaimed register poking debug messages + - LP: #1138787 + + [ Upstream Kernel Changes ] + + * Revert "xfs: fix _xfs_buf_find oops on blocks beyond the filesystem + end" + - LP: #1236041 + - CVE-2013-1819 fix backport: + * Revert "sctp: fix call to SCTP_CMD_PROCESS_SACK in + sctp_cmd_interpreter()" + - LP: #1241093 + * get rid of full-hash scan on detaching vfsmounts + - LP: #1226726 + * Smack: Fix the bug smackcipso can't set CIPSO correctly + - LP: #1236743 + * SAUCE: (no-up) Only let characters through when there are active + readers. + - LP: #1208740 + * usb: xhci: define port register names and use them instead of magic + numbers + - LP: #1229576 + * usb: xhci: add USB2 Link power management BESL support + - LP: #1229576 + * iwl4965: fix rfkill set state regression + - LP: #1241093 + * ath9k_htc: Restore skb headroom when returning skb to mac80211 + - LP: #1241093 + * ALSA: opti9xx: Fix conflicting driver object name + - LP: #1241093 + * SUNRPC: Fix memory corruption issue on 32-bit highmem systems + - LP: #1241093 + * drm/i915: ivb: fix edp voltage swing reg val + - LP: #1241093 + * drm/vmwgfx: Split GMR2_REMAP commands if they are to large + - LP: #1241093 + * ALSA: ak4xx-adda: info leak in ak4xxx_capture_source_info() + - LP: #1241093 + * Bluetooth: Add support for Foxconn/Hon Hai [0489:e04d] + - LP: #1241093 + * [SCSI] sg: Fix user memory corruption when SG_IO is interrupted by a + signal + - LP: #1241093 + * xen-gnt: prevent adding duplicate gnt callbacks + - LP: #1241093 + * usb: config->desc.bLength may not exceed amount of data returned by the + device + - LP: #1241093 + * USB: cdc-wdm: fix race between interrupt handler and tasklet + - LP: #1241093 + * xhci-plat: Don't enable legacy PCI interrupts. + - LP: #1241093 + * ASoC: wm8960: Fix PLL register writes + - LP: #1241093 + * rculist: list_first_or_null_rcu() should use list_entry_rcu() + - LP: #1241093 + * USB: mos7720: use GFP_ATOMIC under spinlock + - LP: #1241093 + * USB: mos7720: fix big-endian control requests + - LP: #1241093 + * staging: comedi: dt282x: dt282x_ai_insn_read() always fails + - LP: #1241093 + * usb: ehci-mxc: check for pdata before dereferencing + - LP: #1241093 + * usb: xhci: Disable runtime PM suspend for quirky controllers + - LP: #1241093 + * USB: OHCI: Allow runtime PM without system sleep + - LP: #1241093 + * ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan + - LP: #1241093 + * ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT + - LP: #1241093 + * USB: fix build error when CONFIG_PM_SLEEP isn't enabled + - LP: #1241093 + * ALSA: hda - hdmi: Fallback to ALSA allocation when selecting CA + - LP: #1241093 + * regmap: silence GCC warning + - LP: #1241093 + * target: Fix trailing ASCII space usage in INQUIRY vendor+model + - LP: #1241093 + * iwlwifi: dvm: don't send BT_CONFIG on devices w/o Bluetooth + - LP: #1241093 + * Bluetooth: Add support for Mediatek Bluetooth device [0e8d:763f] + - LP: #1241093 + * Bluetooth: ath3k: Add support for Fujitsu Lifebook UH5x2 [04c5:1330] + - LP: #1241093 + * Bluetooth: ath3k: Add support for ID 0x13d3/0x3402 + - LP: #1241093 + * Bluetooth: Add support for Atheros [0cf3:e003] + - LP: #1241093 + * xen/events: mask events when changing their VCPU binding + - LP: #1241093 + * tipc: fix lockdep warning during bearer initialization + - LP: #1241093 + * htb: fix sign extension bug + - LP: #1241093 + * net: check net.core.somaxconn sysctl values + - LP: #1241093 + * neighbour: populate neigh_parms on alloc before calling ndo_neigh_setup + - LP: #1241093 + * bonding: modify only neigh_parms owned by us + - LP: #1241093 + * fib_trie: remove potential out of bound access + - LP: #1241093 + * tcp: cubic: fix overflow error in bictcp_update() + - LP: #1241093 + * tcp: cubic: fix bug in bictcp_acked() + - LP: #1241093 + * macvtap: do not zerocopy if iov needs more pages than MAX_SKB_FRAGS + - LP: #1241093 + * ipv6: don't stop backtracking in fib6_lookup_1 if subtree does not + match + - LP: #1241093 + * 8139cp: Fix skb leak in rx_status_loop failure path. + - LP: #1241093 + * tun: signedness bug in tun_get_user() + - LP: #1241093 + * ipv6: remove max_addresses check from ipv6_create_tempaddr + - LP: #1241093 + * ipv6: drop packets with multiple fragmentation headers + - LP: #1241093 + * net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for + max_delay + - LP: #1241093 + * ICMPv6: treat dest unreachable codes 5 and 6 as EACCES, not EPROTO + - LP: #1241093 + * ipv6: Don't depend on per socket memory for neighbour discovery + messages + - LP: #1241093 + * net: ipv6: tcp: fix potential use after free in tcp_v6_do_rcv + - LP: #1241093 + * ath9k: always clear ps filter bit on new assoc + - LP: #1241093 + * libceph: unregister request in __map_request failed and nofail == false + - LP: #1241093 + * powerpc: Handle unaligned ldbrx/stdbrx + - LP: #1241093 + * ath9k: fix rx descriptor related race condition + - LP: #1241093 + * ath9k: avoid accessing MRC registers on single-chain devices + - LP: #1241093 + * brcmsmac: Fix WARNING caused by lack of calls to dma_mapping_error() + - LP: #1241093 + * mmc: tmio_mmc_dma: fix PIO fallback on SDHI + - LP: #1241093 + * HID: validate HID report id size + - LP: #1241093 + - CVE-2013-2888 + * of: Fix missing memory initialization on FDT unflattening + - LP: #1241093 + * drm/edid: add quirk for Medion MD30217PG + - LP: #1241093 + * drm/radeon: fix endian bugs in hw i2c atom routines + - LP: #1241093 + * drm/radeon: update line buffer allocation for dce4.1/5 + - LP: #1241093 + * drm/radeon: update line buffer allocation for dce6 + - LP: #1241093 + * drm/radeon: fix LCD record parsing + - LP: #1241093 + * drm/radeon: fix resume on some rs4xx boards (v2) + - LP: #1241093 + * drm/radeon: fix handling of variable sized arrays for router objects + - LP: #1241093 + * radeon kms: fix uninitialised hotplug work usage in r100_irq_process() + - LP: #1241093 + * drm/radeon: fix init ordering for r600+ + - LP: #1241093 + * HID: input: return ENODATA if reading battery attrs fails + - LP: #1241093 + * HID: battery: don't do DMA from stack + - LP: #1241093 + * fuse: postpone end_page_writeback() in fuse_writepage_locked() + - LP: #1241093 + * fuse: invalidate inode attributes on xattr modification + - LP: #1241093 + * s5p-g2d: Fix registration failure + - LP: #1241093 + * DocBook: upgrade media_api DocBook version to 4.2 + - LP: #1241093 + * v4l2: added missing mutex.h include to v4l2-ctrls.h + - LP: #1241093 + * hdpvr: fix iteration over uninitialized lists in hdpvr_probe() + - LP: #1241093 + * exynos4-is: Fix fimc-lite bayer formats + - LP: #1241093 + * exynos4-is: Fix entity unregistration on error path + - LP: #1241093 + * libceph: use pg_num_mask instead of pgp_num_mask for pg.seed calc + - LP: #1241093 + * HID: pantherlord: validate output report details + - LP: #1241093 + - CVE-2013-2892 + * HID: ntrig: validate feature report details + - LP: #1241093 + - CVE-2013-2896 + * HID: picolcd_core: validate output report details + - LP: #1241093 + - CVE-2013-2899 + * HID: check for NULL field when setting values + - LP: #1241093 + * drm/i915: try not to lose backlight CBLV precision + - LP: #1241093 + * powerpc: Default arch idle could cede processor on pseries + - LP: #1241093 + * ocfs2: fix the end cluster offset of FIEMAP + - LP: #1241093 + * mm/huge_memory.c: fix potential NULL pointer dereference + - LP: #1241093 + * mm: fix aio performance regression for database caused by THP + - LP: #1241093 + * memcg: fix multiple large threshold notifications + - LP: #1241093 + * intel-iommu: Fix leaks in pagetable freeing + - LP: #1241093 + * MIPS: ath79: Fix ar933x watchdog clock + - LP: #1241093 + * ARM: PCI: versatile: Fix map_irq function to match hardware + - LP: #1241093 + * ARM: PCI: versatile: Fix SMAP register offsets + - LP: #1241093 + * crypto: api - Fix race condition in larval lookup + - LP: #1241093 + * cifs: ensure that srv_mutex is held when dealing with ssocket pointer + - LP: #1241093 + * ALSA: hda - Add Toshiba Satellite C870 to MSI blacklist + - LP: #1241093 + * ASoC: mc13783: add spi errata fix + - LP: #1241093 + * [SCSI] sd: Fix potential out-of-bounds access + - LP: #1241093 + * Linux 3.5.7.22 + - LP: #1241093 + * drm/radeon/atom: workaround vbios bug in transmitter table on rs880 + (v2) + - LP: #1241093 + * drm/ast: fix the ast open key function + - LP: #1241093 + * sched/fair: Fix small race where child->se.parent,cfs_rq might point to + invalid ones + - LP: #1241093 + * HID: provide a helper for validating hid reports + - LP: #1241093 + * HID: zeroplus: validate output report details + - LP: #1241093 + - CVE-2013-2889 + * HID: LG: validate HID output report details + - LP: #1241093 + - CVE-2013-2893 + * HID: add usage_index in struct hid_usage. + - LP: #1241093 + * HID: validate feature and input report details + - LP: #1241093 + - CVE-2013-2897 + * HID: logitech-dj: validate output report details + - LP: #1241093 + - CVE-2013-2895 + * HID: multitouch: validate indexes details + - LP: #1241093 + - CVE-2013-2897 + * drm/radeon: fix panel scaling with eDP and LVDS bridges + - LP: #1241093 + * net: usb: cdc_ether: Use wwan interface for Telit modules + - LP: #1241093 + * usb: gadget: fix a bug and a WARN_ON in dummy-hcd + - LP: #1241093 + * drm/ttm: fix the tt_populated check in ttm_tt_destroy() + - LP: #1241093 + * sfc: Fix efx_rx_buf_offset() for recycled pages + - LP: #1241093 + * perf: Clarify perf_cpu_context::active_pmu usage by renaming it to + ::unique_pmu + - LP: #1241093 + * perf: Fix perf_cgroup_switch for sw-events + - LP: #1241093 + * cfq: explicitly use 64bit divide operation for 64bit arguments + - LP: #1241093 + * perf tools: Handle JITed code in shared memory + - LP: #1241093 + * HID: Fix Speedlink VAD Cezanne support for some devices + - LP: #1241093 + * HID: usbhid: quirk for N-Trig DuoSense Touch Screen + - LP: #1241093 + * workqueue: cond_resched() after processing each work item + - LP: #1241093 + * cgroup: fail if monitored file and event_control are in different + cgroup + - LP: #1241093 + * tg3: Don't turn off led on 5719 serdes port 0 + - LP: #1241093 + * tg3: Expand led off fix to include 5720 + - LP: #1241093 + * mm, memcg: give exiting processes access to memory reserves + - LP: #1241093 + * video: mxsfb: Add missing break + - LP: #1241093 + * xhci: Fix race between ep halt and URB cancellation + - LP: #1241093 + * serial: pch_uart: fix tty-kref leak in rx-error path + - LP: #1241093 + * serial: pch_uart: fix tty-kref leak in dma-rx path + - LP: #1241093 + * x86, efi: Don't map Boot Services on i386 + - LP: #1241093 + * ALSA: compress: Fix compress device unregister. + - LP: #1241093 + * dm snapshot: workaround for a false positive lockdep warning + - LP: #1241093 + * dm-snapshot: fix performance degradation due to small hash size + - LP: #1241093 + * x86/reboot: Add quirk to make Dell C6100 use reboot=pci automatically + - LP: #1241093 + * drm/radeon: disable tests/benchmarks if accel is disabled + - LP: #1241093 + * xhci: Fix oops happening after address device timeout + - LP: #1241093 + * xhci: Ensure a command structure points to the correct trb on the + command ring + - LP: #1241093 + * drm/i915/dp: increase i2c-over-aux retry interval on AUX DEFER + - LP: #1241093 + * staging: vt6656: [BUG] main_usb.c oops on device_close move flag + earlier. + - LP: #1241093 + * USB: fix PM config symbol in uhci-hcd, ehci-hcd, and xhci-hcd + - LP: #1241093 + * usb/core/devio.c: Don't reject control message to endpoint with wrong + direction bit + - LP: #1241093 + * hwmon: (applesmc) Check key count before proceeding + - LP: #1241093 + * USB: Fix breakage in ffs_fs_mount() + - LP: #1241093 + * usb: dwc3: pci: add support for BayTrail + - LP: #1241093 + * caif: Add missing braces to multiline if in cfctrl_linkup_request + - LP: #1241093 + * net: sctp: fix smatch warning in sctp_send_asconf_del_ip + - LP: #1241093 + * net: sctp: fix ipv6 ipsec encryption bug in sctp_v6_xmit + - LP: #1241093 + * resubmit bridge: fix message_age_timer calculation + - LP: #1241093 + * bridge: Clamp forward_delay when enabling STP + - LP: #1241093 + * ip: use ip_hdr() in __ip_make_skb() to retrieve IP header + - LP: #1241093 + * ip: generate unique IP identificator if local fragmentation is allowed + - LP: #1241093 + * netpoll: fix NULL pointer dereference in netpoll_cleanup + - LP: #1241093 + * ipv6: udp packets following an UFO enqueued packet need also be handled + by UFO + - LP: #1241093 + * via-rhine: fix VLAN priority field (PCP, IEEE 802.1p) + - LP: #1241093 + * net: flow_dissector: fix thoff for IPPROTO_AH + - LP: #1241093 + * bonding: Fix broken promiscuity reference counting issue + - LP: #1241093 + * ipv4 igmp: use in_dev_put in timer handlers instead of __in_dev_put + - LP: #1241093 + * ipv6 mcast: use in6_dev_put in timer handlers instead of __in6_dev_put + - LP: #1241093 + * dm9601: fix IFF_ALLMULTI handling + - LP: #1241093 + * ll_temac: Reset dma descriptors indexes on ndo_open + - LP: #1241093 + * gianfar: Change default HW Tx queue scheduling mode + - LP: #1241093 + * fanotify: dont merge permission events + - LP: #1241093 + * sparc32: Fix exit flag passed from traced sys_sigreturn + - LP: #1241093 + * sparc64: Fix not SRA'ed %o5 in 32-bit traced syscall + - LP: #1241093 + * esp_scsi: Fix tag state corruption when autosensing. + - LP: #1241093 + * sparc64: Fix ITLB handler of null page + - LP: #1241093 + * sparc64: Remove RWSEM export leftovers + - LP: #1241093 + * sparc64: Fix off by one in trampoline TLB mapping installation loop. + - LP: #1241093 + * ASoC: max98095: a couple array underflows + - LP: #1241093 + * ASoC: 88pm860x: array overflow in snd_soc_put_volsw_2r_st() + - LP: #1241093 + * Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012. + - LP: #1241093 + * Bluetooth: Fix security level for peripheral role + - LP: #1241093 + * Bluetooth: Fix encryption key size for peripheral role + - LP: #1241093 + * Bluetooth: Add support for BCM20702A0 [0b05, 17cb] + - LP: #1241093 + * rtlwifi: Align private space in rtl_priv struct + - LP: #1241093 + * p54usb: add USB ID for Corega WLUSB2GTST USB adapter + - LP: #1241093 + * mwifiex: fix hang issue for USB chipsets + - LP: #1241093 + * mwifiex: fix NULL pointer dereference in usb suspend handler + - LP: #1241093 + * USB: serial: option: Ignore card reader interface on Huawei E1750 + - LP: #1241093 + * ib_srpt: Destroy cm_id before destroying QP. + - LP: #1241093 + * powerpc: Fix parameter clobber in csum_partial_copy_generic() + - LP: #1241093 + * powerpc/sysfs: Disable writing to PURR in guest mode + - LP: #1241093 + * powerpc/iommu: Use GFP_KERNEL instead of GFP_ATOMIC in + iommu_init_table() + - LP: #1241093 + * powerpc/vio: Fix modalias_show return values + - LP: #1241093 + * ib_srpt: always set response for task management + - LP: #1241093 + * staging: comedi: ni_65xx: (bug fix) confine insn_bits to one subdevice + - LP: #1241093 + * mwifiex: fix memory corruption when unsetting multicast list + - LP: #1241093 + * ext4: avoid hang when mounting non-journal filesystems with orphan list + - LP: #1241093 + * dmaengine: imx-dma: fix slow path issue in prep_dma_cyclic + - LP: #1241093 + * dmaengine: imx-dma: fix lockdep issue between irqhandler and tasklet + - LP: #1241093 + * dma: fix comments + - LP: #1241093 + * dmaengine: imx-dma: fix callback path in tasklet + - LP: #1241093 + * Linux 3.5.7.23 + - LP: #1241093 + * [PATCH 01/35] drm/i915: Revert hdmi HDP pin checks + - LP: #1138700 + * [PATCH 02/35] drm/i915: add HAS_DDI check + - LP: #1240639 + * [PATCH 03/35] drm/i915: don't intel_crt_init on any ULT machines + - LP: #1240639 + * [PATCH 04/35] drm/i915: no lvds quirk for hp t5740 + - LP: #1240639 + * [PATCH 05/35] drm/i915/sdvo: Use &intel_sdvo->ddc instead of + intel_sdvo->i2c for DDC. + - LP: #1240639 + * [PATCH 06/35] drm/i915: prefer VBT modes for SVDO-LVDS over EDID + - LP: #1240639 + * [PATCH 07/35] drm/i915: Fix context sizes on HSW + - LP: #1240639 + * [PATCH 08/35] drm/i915: Only clear write-domains after a successful + wait-seqno + - LP: #1240639 + * [PATCH 09/35] drm/i915: Correct obj->mm_list link to + dev_priv->dev_priv->mm.inactive_list + - LP: #1240639 + * [PATCH 10/35] drm/i915: fix up ring cleanup for the i830/i845 CS tlb + w/a + - LP: #1240639 + * [PATCH 11/35] Partially revert "drm/i915: unconditionally use mt + forcewake on hsw/ivb" + - LP: #1240639 + * [PATCH 12/35] drm/i915: Fix write-read race with multiple rings + - LP: #1240639 + * [PATCH 13/35] drm/i915: merge {i965, sandybridge}_write_fence_reg() + - LP: #1240639 + * [PATCH 14/35] drm/i915: Fix incoherence with fence updates on + Sandybridge+ + - LP: #1240639 + * [PATCH 15/35] Revert "drm/i915: Workaround incoherence between fences + and LLC across multiple CPUs" + - LP: #1240639 + * [PATCH 16/35] drm/i915: rename sdvox_reg to hdmi_reg on HDMI context + - LP: #1240639 + * [PATCH 17/35] drm/i915: don't setup hdmi for port D edp in ddi_init + - LP: #1240639 + * [PATCH 18/35] drm/i915: Preserve the DDI_A_4_LANES bit from the bios + - LP: #1240639 + * [PATCH 19/35] drm/i915: fix long-standing SNB regression in power + consumption after resume v2 + - LP: #1240639 + * [PATCH 20/35] drm/i915: inverted brightness quirk for Acer Aspire 4736Z + - LP: #1240639 + * [PATCH 21/35] drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 + backlight + - LP: #1162026, #1163720, #1240639 + * [PATCH 22/35] drm/i915: Serialize almost all register access + - LP: #1240639 + * [PATCH 23/35] drm/i915: fix up gt init sequence fallout + - LP: #1240639 + * [PATCH 24/35] drm/i915: initialize gt_lock early with other spin locks + - LP: #1240639 + * [PATCH 25/35] drm/i915: fix missed hunk after GT access breakage + - LP: #1240639 + * [PATCH 26/35] drm/i915: do not disable backlight on vgaswitcheroo + switch off + - LP: #1240639 + * [PATCH 27/35] drm/i915: Move num_pipes to intel info + - LP: #1240639 + * [PATCH 28/35] drm/i915: Don't deref pipe->cpu_transcoder in the + hangcheck code + - LP: #1240639 + * [PATCH 29/35] drm/i915: Invalidate TLBs for the rings after a reset + - LP: #1240639 + * [PATCH 30/35] drm/i915: ivb: fix edp voltage swing reg val + - LP: #1240639 + * [PATCH 31/35] drm/i915: try not to lose backlight CBLV precision + - LP: #1240639 + * [PATCH 32/35] drm/i915: do not update cursor in crtc mode set + - LP: #1240639 + * [PATCH 33/35] drm/i915: Don't enable the cursor on a disable pipe + - LP: #1240639 + * [PATCH 34/35] drm/i915/dp: increase i2c-over-aux retry interval on AUX + DEFER + - LP: #1240639 + * [PATCH 35/35] drm/i915: hsw: fix link training for eDP on port-A + - LP: #1138700 + * USB: handle LPM errors during device suspend correctly + - LP: #1241093 + + -- Brad Figg Thu, 17 Oct 2013 10:49:22 -0700 + +linux (3.5.0-42.65) quantal; urgency=low + + [ Brad Figg ] + + * Release Tracking Bug + - LP: #1233787 + + [ Upstream Kernel Changes ] + + * drm/i915: Make data/link N value power of two + - LP: #1212376 + * isofs: Refuse RW mount of the filesystem instead of making it RO + - LP: #1228751 + * udf: Standardize return values in mount sequence + - LP: #1228751 + * udf: Refuse RW mount of the filesystem instead of making it RO + - LP: #1228751 + * cciss: fix info leak in cciss_ioctl32_passthru() + - LP: #1188355 + - CVE-2013-2147 + * cpqarray: fix info leak in ida_locked_ioctl() + - LP: #1188355 + - CVE-2013-2147 + + -- Brad Figg Tue, 01 Oct 2013 11:10:13 -0700 + +linux (3.5.0-41.64) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1223451 + + [ Upstream Kernel Changes ] + + * kernel-doc: bugfix - multi-line macros + - LP: #1223920 + * Revert "zram: use zram->lock to protect zram_free_page() in swap free + notify path" + - LP: #1215513 + * x86 thermal: Delete power-limit-notification console messages + - LP: #1215748 + * x86 thermal: Disable power limit notification interrupt by default + - LP: #1215748 + * ARM: 7810/1: perf: Fix array out of bounds access in + armpmu_map_hw_event() + - LP: #1216442 + - CVE-2013-4254 + * ARM: 7809/1: perf: fix event validation for software group leaders + - LP: #1216442 + - CVE-2013-4254 + * veth: reduce stat overhead + - LP: #1201869 + * veth: extend device features + - LP: #1201869 + * veth: avoid a NULL deref in veth_stats_one + - LP: #1201869 + * veth: fix a NULL deref in netif_carrier_off + - LP: #1201869 + * veth: fix NULL dereference in veth_dellink() + - LP: #1201869 + * Bluetooth: Add support for Atheros [0cf3:3121] + - LP: #1202477 + * efivars: explicitly calculate length of VariableName + - LP: #1217745 + * xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end + - LP: #1151527 + - CVE-2013-1819 + * drm/i915/lvds: ditch ->prepare special case + - LP: #1221791 + * serial: mxs: fix buffer overflow + - LP: #1221791 + * fs/proc/task_mmu.c: fix buffer overflow in add_page_map() + - LP: #1221791 + * af_key: initialize satype in key_notify_policy_flush() + - LP: #1221791 + * vm: add no-mmu vm_iomap_memory() stub + - LP: #1221791 + * iwl4965: set power mode early + - LP: #1221791 + * iwl4965: reset firmware after rfkill off + - LP: #1221791 + * ASoC: cs42l52: Reorder Min/Max and update to SX_TLV for Beep Volume + - LP: #1221791 + * can: pcan_usb: fix wrong memcpy() bytes length + - LP: #1221791 + * ALSA: 6fire: make buffers DMA-able (pcm) + - LP: #1221791 + * ALSA: 6fire: make buffers DMA-able (midi) + - LP: #1221791 + * jbd2: Fix use after free after error in jbd2_journal_dirty_metadata() + - LP: #1221791 + * USB-Serial: Fix error handling of usb_wwan + - LP: #1221791 + * USB: mos7840: fix big-endian probe + - LP: #1221791 + * USB: adutux: fix big-endian device-type reporting + - LP: #1221791 + * USB: ti_usb_3410_5052: fix big-endian firmware handling + - LP: #1221791 + * m68k/atari: ARAnyM - Fix NatFeat module support + - LP: #1221791 + * m68k: Truncate base in do_div() + - LP: #1221791 + * usb: add two quirky touchscreen + - LP: #1221791 + * USB: mos7720: fix broken control requests + - LP: #1221791 + * USB: keyspan: fix null-deref at disconnect and release + - LP: #1221791 + * MIPS: Expose missing pci_io{map,unmap} declarations + - LP: #1221791 + * microblaze: Update microblaze defconfigs + - LP: #1221791 + * sound: Fix make allmodconfig on MIPS + - LP: #1221791 + * sound: Fix make allmodconfig on MIPS correctly + - LP: #1221791 + * alpha: makefile: don't enforce small data model for kernel builds + - LP: #1221791 + * MIPS: Rewrite pfn_valid to work in modules, too. + - LP: #1221791 + * xtensa: fix linker script transformation for .text.unlikely + - LP: #1221791 + * wusbcore: fix kernel panic when disconnecting a wireless USB->serial + device + - LP: #1221791 + * iwlwifi: dvm: fix calling ieee80211_chswitch_done() with NULL + - LP: #1221791 + * iwlwifi: pcie: disable L1 Active after pci_enable_device + - LP: #1221791 + * zd1201: do not use stack as URB transfer_buffer + - LP: #1221791 + * Hostap: copying wrong data prism2_ioctl_giwaplist() + - LP: #1221791 + * ARM: at91/DT: fix at91sam9n12ek memory node + - LP: #1221791 + * drm/i915: Invalidate TLBs for the rings after a reset + - LP: #1221791 + * libata: apply behavioral quirks to sil3826 PMP + - LP: #1221791 + * ARM: davinci: nand: specify ecc strength + - LP: #1221791 + * ARM: 7816/1: CONFIG_KUSER_HELPERS: fix help text + - LP: #1221791 + * sata_fsl: save irqs while coalescing + - LP: #1221791 + * xen/events: initialize local per-cpu mask for all possible events + - LP: #1221791 + * of: fdt: fix memory initialization for expanded DT + - LP: #1221791 + * zfcp: fix lock imbalance by reworking request queue locking + - LP: #1221791 + * zfcp: fix schedule-inside-lock in scsi_device list loops + - LP: #1221791 + * nilfs2: remove double bio_put() in nilfs_end_bio_write() for + BIO_EOPNOTSUPP error + - LP: #1221791 + * nilfs2: fix issue with counting number of bio requests for + BIO_EOPNOTSUPP error detection + - LP: #1221791 + * workqueue: fix possible stall on try_to_grab_pending() of a delayed + work item + - LP: #1221791 + * x86/xen: do not identity map UNUSABLE regions in the machine E820 + - LP: #1221791 + * jfs: fix readdir cookie incompatibility with NFSv4 + - LP: #1221791 + * powerpc: Don't Oops when accessing /proc/powerpc/lparcfg without + hypervisor + - LP: #1221791 + * powerpc: Work around gcc miscompilation of __pa() on 64-bit + - LP: #1221791 + * powerpc/hvsi: Increase handshake timeout from 200ms to 400ms. + - LP: #1221791 + * drivers/base/memory.c: fix show_mem_removable() to handle missing + sections + - LP: #1221791 + * x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member + - LP: #1221791 + * Linux 3.5.7.21 + - LP: #1221791 + * mfd: rtsx: Read vendor setting from config space + - LP: #1201698 + * cifs: don't instantiate new dentries in readdir for inodes that need to + be revalidated immediately + - LP: #1222442 + + [ Wen-chien Jesse Sung ] + + * SAUCE: Bluetooth: use hci_send_cmd instead of usb_control_msg + - LP: #1065400 + + -- Tim Gardner Fri, 23 Aug 2013 08:49:52 -0600 + +linux (3.5.0-40.62) quantal; urgency=low + + [ Brad Figg ] + + * [Config] KUSER_HELPERS = Y + * Release Tracking Bug + - LP: #1215129 + + -- Brad Figg Wed, 21 Aug 2013 16:32:22 -0700 + +linux (3.5.0-40.61) quantal; urgency=low + + [ Andy Whitcroft ] + + * [Packaging] supply perf with appropriate prefix to ensure use of local + config + - LP: #1206200 + - CVE-2013-1060 + + [ John Johansen ] + + * Revert "SAUCE: (no-up) AppArmor: Disable Add PR_{GET,SET}_NO_NEW_PRIVS + to prevent execve from granting privs" + - LP: #1202161 + + [ Joseph Salisbury ] + + * SAUCE: (no-up) intel_ips: blacklist ASUSTek G60JX laptops + - LP: #1210848 + + [ Stefan Bader ] + + * (debian) Abort build on unresolved symbols + - LP: #1166197 + + [ Tim Gardner ] + + * [Config] Include rbd and kvm in the virtual inclusion list + - LP: #1206961 + + [ Upstream Kernel Changes ] + + * ALSA: usb: Parse UAC2 extension unit like for UAC1 + - LP: #1212430 + * Btrfs: fix hash overflow handling + - LP: #1091187, #1091188 + - CVE-2012-5375 + * [media] media: dmxdev: remove dvb_ringbuffer_flush() on writer side + - LP: #1214956 + * writeback: Fix periodic writeback after fs mount + - LP: #1214956 + * nfsd4: fix decoding of compounds across page boundaries + - LP: #1214956 + * ARM: shmobile: emev2 GIO3 resource fix + - LP: #1214956 + * uprobes: Fix return value in error handling path + - LP: #1214956 + * tracing: Fix irqs-off tag display in syscall tracing + - LP: #1214956 + * [CIFS] use sensible file nlink values if unprovided + - LP: #1214956 + * ASoC: sglt5000: Fix the default value of CHIP_SSS_CTRL + - LP: #1214956 + * ASoC: sglt5000: Fix SGTL5000_PLL_FRAC_DIV_MASK + - LP: #1214956 + * [SCSI] megaraid_sas: fix memory leak if SGL has zero length entries + - LP: #1214956 + * iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow + - LP: #1214956 + * dm mpath: fix ioctl deadlock when no paths + - LP: #1214956 + * dm verity: fix inability to use a few specific devices sizes + - LP: #1214956 + * lockd: protect nlm_blocked access in nlmsvc_retry_blocked + - LP: #1214956 + * ext4: don't show usrquota/grpquota twice in /proc/mounts + - LP: #1214956 + * perf: Clone child context from parent context pmu + - LP: #1214956 + * perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid + scenario + - LP: #1214956 + * perf: Fix perf_lock_task_context() vs RCU + - LP: #1214956 + * ext4: don't allow ext4_free_blocks() to fail due to ENOMEM + - LP: #1214956 + * drm/radeon/hdmi: make sure we have an afmt block assigned + - LP: #1214956 + * ACPI / memhotplug: Fix a stale pointer in error path + - LP: #1214956 + * PM / Sleep: avoid 'autosleep' in shutdown progress + - LP: #1214956 + * radeon kms: do not flush uninitialized hotplug work + - LP: #1214956 + * svcrdma: underflow issue in decode_write_list() + - LP: #1214956 + * ALSA: asihpi: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: atiixp: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: 6fire: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: ua101: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: usx2y: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: pxa2xx: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ASoC: s6000: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * [media] saa7134: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * staging: line6: Fix unlocked snd_pcm_stop() call + - LP: #1214956 + * ALSA: hda - Add new GPU codec ID to snd-hda + - LP: #1214956 + * ALSA: hda - Add new GPU codec ID to snd-hda + - LP: #1214956 + * Btrfs: fix lock leak when resuming snapshot deletion + - LP: #1214956 + * xen/blkback: Check device permissions before allowing OP_DISCARD + - LP: #1214956 + * [SCSI] Fix incorrect memset in bnx2fc_parse_fcp_rsp + - LP: #1214956 + * MAINTAINERS: add stable_kernel_rules.txt to stable maintainer + information + - LP: #1214956 + * bridge: fix switched interval for MLD Query types + - LP: #1214956 + * ipv4: Fixed MD5 key lookups when adding/ removing MD5 to/ from TCP + sockets. + - LP: #1214956 + * ipv6: don't call addrconf_dst_alloc again when enable lo + - LP: #1214956 + * macvtap: fix recovery from gup errors + - LP: #1214956 + * ipv6: ip6_sk_dst_check() must not assume ipv6 dst + - LP: #1214956 + * af_key: fix info leaks in notify messages + - LP: #1214956 + * sh_eth: fix unhandled RFE interrupt + - LP: #1214956 + * neighbour: fix a race in neigh_destroy() + - LP: #1214956 + * x25: Fix broken locking in ioctl error paths. + - LP: #1214956 + * net: Swap ver and type in pppoe_hdr + - LP: #1214956 + * ipv6,mcast: always hold idev->lock before mca_lock + - LP: #1214956 + * l2tp: add missing .owner to struct pppox_proto + - LP: #1214956 + * ipv6: call udp_push_pending_frames when uncorking a socket with AF_INET + pending data + - LP: #1214956 + * ipv6: ip6_append_data_mtu did not care about pmtudisc and frag_size + - LP: #1214956 + * sunvnet: vnet_port_remove must call unregister_netdev + - LP: #1214956 + * ifb: fix rcu_sched self-detected stalls + - LP: #1214956 + * macvtap: correctly linearize skb when zerocopy is used + - LP: #1214956 + * ipv6: in case of link failure remove route directly instead of letting + it expire + - LP: #1214956 + * 9p: fix off by one causing access violations and memory corruption + - LP: #1214956 + * dummy: fix oops when loading the dummy failed + - LP: #1214956 + * ifb: fix oops when loading the ifb failed + - LP: #1214956 + * atl1e: fix dma mapping warnings + - LP: #1214956 + * atl1e: unmap partially mapped skb on dma error and free skb + - LP: #1214956 + * vlan: fix a race in egress prio management + - LP: #1214956 + * sparc32: vm_area_struct access for old Sun SPARCs. + - LP: #1214956 + * sparc64 address-congruence property + - LP: #1214956 + * sparc: tsb must be flushed before tlb + - LP: #1214956 + * powerpc/modules: Module CRC relocation fix causes perf issues + - LP: #1214956 + * usb: dwc3: gadget: don't prevent gadget from being probed if we fail + - LP: #1214956 + * usb: dwc3: fix wrong bit mask in dwc3_event_type + - LP: #1214956 + * ASoC: max98088 - fix element type of the register cache. + - LP: #1214956 + * ata: Fix DVD not dectected at some platform with Wellsburg PCH + - LP: #1214956 + * ALSA: usb-audio: 6fire: return correct XRUN indication + - LP: #1214956 + * usb: serial: cp210x: Add USB ID for Netgear Switches embedded serial + adapter + - LP: #1214956 + * USB: storage: Add MicroVault Flash Drive to unusual_devs + - LP: #1214956 + * USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga + - LP: #1214956 + * USB: option: append Petatel NP10T device to GSM modems list + - LP: #1214956 + * usb: cp210x support SEL C662 Vendor/Device + - LP: #1214956 + * USB: cp210x: add MMB and PI ZigBee USB Device Support + - LP: #1214956 + * USB: EHCI: Fix resume signalling on remote wakeup + - LP: #1214956 + * drm/radeon: fix endian issues with DP handling (v3) + - LP: #1214956 + * drm/radeon: Another card with wrong primary dac adj + - LP: #1214956 + * drm/radeon: improve dac adjust heuristics for legacy pdac + - LP: #1214956 + * drm/radeon: fix combios tables on older cards + - LP: #1214956 + * [SCSI] isci: Fix a race condition in the SSP task management path + - LP: #1214956 + * [SCSI] qla2xxx: Properly set the tagging for commands. + - LP: #1214956 + * [SCSI] sd: fix crash when UA received on DIF enabled device + - LP: #1214956 + * nfsd: nfsd_open: when dentry_open returns an error do not propagate as + struct file + - LP: #1214956 + * USB: option: add D-Link DWM-152/C1 and DWM-156/C1 + - LP: #1214956 + * staging: comedi: COMEDI_CANCEL ioctl should wake up read/write + - LP: #1214956 + * staging: android: logger: Correct write offset reset on error + - LP: #1214956 + * usb: option: add TP-LINK MA260 + - LP: #1214956 + * USB: ti_usb_3410_5052: fix dynamic-id matching + - LP: #1214956 + * usb: serial: option: Add ONYX 3G device support + - LP: #1214956 + * md/raid10: remove use-after-free bug. + - LP: #1214956 + * md/raid5: fix interaction of 'replace' and 'recovery'. + - LP: #1214956 + * xhci: Avoid NULL pointer deref when host dies. + - LP: #1214956 + * usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with + xhci 1.0 + - LP: #1214956 + * xhci: fix null pointer dereference on ring_doorbell_for_active_rings + - LP: #1214956 + * usb: serial: option: blacklist ONDA MT689DC QMI interface + - LP: #1214956 + * usb: serial: option: add Olivetti Olicard 200 + - LP: #1214956 + * usb: serial: option.c: remove ONDA MT825UP product ID fromdriver + - LP: #1214956 + * USB: mos7840: fix memory leak in open + - LP: #1214956 + * usb: Clear both buffers when clearing a control transfer TT buffer. + - LP: #1214956 + * staging: comedi: fix a race between do_cmd_ioctl() and read/write + - LP: #1214956 + * hrtimers: Move SMP function call to thread context + - LP: #1214956 + * Linux 3.5.7.18 + - LP: #1214956 + * nl80211: fix mgmt tx status and testmode reporting for netns + - LP: #1214956 + * mac80211: fix ethtool stats for non-station interfaces + - LP: #1214956 + * mac80211: fix duplicate retransmission detection + - LP: #1214956 + * iwlwifi: mvm: refuse connection to APs with BI < 16 + - LP: #1214956 + * ath9k_htc: do some initial hardware configuration + - LP: #1214956 + * USB: mos7840: fix race in register handling + - LP: #1214956 + * USB: mos7840: fix device-type detection + - LP: #1214956 + * serial/mxs-auart: fix race condition in interrupt handler + - LP: #1214956 + * serial/mxs-auart: increase time to wait for transmitter to become idle + - LP: #1214956 + * firewire: fix libdc1394/FlyCap2 iso event regression + - LP: #1214956 + * USB: mos7840: fix pointer casts + - LP: #1214956 + * ixgbe: Fix Tx Hang issue with lldpad on 82598EB + - LP: #1214956 + * USB: serial: ftdi_sio: add more RT Systems ftdi devices + - LP: #1214956 + * drm/radeon/atom: initialize more atom interpretor elements to 0 + - LP: #1214956 + * virtio: support unlocked queue poll + - LP: #1214956 + * virtio_net: fix race in RX VQ processing + - LP: #1214956 + * libata: make it clear that sata_inic162x is experimental + - LP: #1214956 + * xen/io/ring.h: new macro to detect whether there are too many requests + on the ring + - LP: #1214956 + * xen/blkback: Check for insane amounts of request on the ring (v6). + - LP: #1214956 + * Btrfs: re-add root to dead root list if we stop dropping it + - LP: #1214956 + * xen/evtchn: avoid a deadlock when unbinding an event channel + - LP: #1214956 + * sched: Fix the broken sched_rr_get_interval() + - LP: #1214956 + * livelock avoidance in sget() + - LP: #1214956 + * drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight + - LP: #1162026, #1163720, #1214956 + * ACPI / battery: Fix parsing _BIX return value + - LP: #1214956 + * ARM: poison the vectors page + - LP: #1214956 + * ARM: poison memory between kuser helpers + - LP: #1214956 + * ARM: move vector stubs + - LP: #1214956 + * ARM: use linker magic for vectors and vector stubs + - LP: #1214956 + * ARM: update FIQ support for relocation of vectors + - LP: #1214956 + * ARM: allow kuser helpers to be removed from the vector page + - LP: #1214956 + * powerpc/windfarm: Fix noisy slots-fan on Xserve (rm31) + - LP: #1214956 + * iwlwifi: add DELL SKU for 5150 HMC + - LP: #1214956 + * mwifiex: Add missing endian conversion. + - LP: #1214956 + * rt2x00: fix stop queue + - LP: #1214956 + * futex: Take hugepages into account when generating futex_key + - LP: #1214956 + * ALSA: compress: fix the return value for SNDRV_COMPRESS_VERSION + - LP: #1214956 + * perf: Fix event group context move + - LP: #1214956 + * arcnet: cleanup sizeof parameter + - LP: #1214956 + * sysctl net: Keep tcp_syn_retries inside the boundary + - LP: #1214956 + * ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup + - LP: #1214956 + * usbnet: do not pretend to support SG/TSO + - LP: #1214956 + * af_key: more info leaks in pfkey messages + - LP: #1214956 + * net_sched: Fix stack info leak in cbq_dump_wrr(). + - LP: #1214956 + * net_sched: info leak in atm_tc_dump_class() + - LP: #1214956 + * 8139cp: Add dma_mapping_error checking + - LP: #1214956 + * x86, fpu: correct the asm constraints for fxsave, unbreak mxcsr.daz + - LP: #1214956 + * tracing: Fix fields of struct trace_iterator that are zeroed by mistake + - LP: #1214956 + * perf tools: Add anonymous huge page recognition + - LP: #1214956 + * ext4: make sure group number is bumped after a inode allocation race + - LP: #1214956 + * virtio: console: fix race with port unplug and open/close + - LP: #1214956 + * virtio: console: fix race in port_fops_open() and port unplug + - LP: #1214956 + * virtio: console: clean up port data immediately at time of unplug + - LP: #1214956 + * virtio: console: fix raising SIGIO after port unplug + - LP: #1214956 + * virtio: console: return -ENODEV on all read operations after unplug + - LP: #1214956 + * regmap: Add missing header for !CONFIG_REGMAP stubs + - LP: #1214956 + * cifs: extend the buffer length enought for sprintf() using + - LP: #1214956 + * [SCSI] megaraid_sas: megaraid_sas driver init fails in kdump kernel + - LP: #1214956 + * [SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages + is set + - LP: #1214956 + * drm/cirrus: Invalidate page tables when pinning a BO + - LP: #1214956 + * drm/mgag200: Invalidate page tables when pinning a BO + - LP: #1214956 + * drm/ast: invalidate page tables when pinning a BO + - LP: #1214956 + * drm/i915: do not disable backlight on vgaswitcheroo switch off + - LP: #1214956 + * ALSA: usb/6fire: Fix potential NULL pointer dereference in comm.c + - LP: #1214956 + * ALSA: 6fire: fix DMA issues with URB transfer_buffer usage + - LP: #1214956 + * drm/radeon: always program the MC on startup + - LP: #1214956 + * ALSA: usb-audio: do not trust too-big wMaxPacketSize values + - LP: #1214956 + * hwmon: (adt7470) Fix incorrect return code check + - LP: #1214956 + * ext4: allow the mount options nodelalloc and data=journal + - LP: #1214956 + * ext4: fix mount/remount error messages for incompatible mount options + - LP: #1214956 + * usb: core: don't try to reset_device() a port that got just + disconnected + - LP: #1214956 + * debugfs: debugfs_remove_recursive() must not rely on + list_empty(d_subdirs) + - LP: #1214956 + * [SCSI] nsp32: use mdelay instead of large udelay constants + - LP: #1214956 + * zram: allow request end to coincide with disksize + - LP: #1214956 + * Linux 3.5.7.19 + - LP: #1214956 + * mac80211: add time synchronisation with BSS for assoc + - LP: #1214956 + * Linux 3.5.7.20 + - LP: #1214956 + + -- Brad Figg Wed, 21 Aug 2013 13:28:10 -0700 + +linux (3.5.0-39.60) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1211872 + + [ Upstream Kernel Changes ] + + * Revert "veth: avoid a NULL deref in veth_stats_one" + * Revert "veth: extend device features" + * Revert "veth: reduce stat overhead" + + -- Brad Figg Tue, 13 Aug 2013 10:26:38 -0700 + +linux (3.5.0-38.59) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1205440 + + [ Upstream Kernel Changes ] + + * hp-wmi: add more definitions for new event_id's + - LP: #1152458 + * MFD: rtsx_pcr: Fix probe fail path + - LP: #1201321 + * mfd: rtsx: Add support for RTL8411B + - LP: #1201321 + * veth: reduce stat overhead + - LP: #1201869 + * veth: extend device features + - LP: #1201869 + * veth: avoid a NULL deref in veth_stats_one + - LP: #1201869 + * Input: elantech - fix for newer hardware versions (v7) + - LP: #1166442 + * zram: avoid invalid memory access in zram_exit() + - LP: #1204600 + * zram: use zram->lock to protect zram_free_page() in swap free notify + path + - LP: #1204600 + * zram: destroy all devices on error recovery path in zram_init() + - LP: #1204600 + * zram: avoid double free in function zram_bvec_write() + - LP: #1204600 + * zram: avoid access beyond the zram device + - LP: #1204600 + * zram: protect sysfs handler from invalid memory access + - LP: #1204600 + * pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status + - LP: #1204600 + * usb: gadget: f_mass_storage: add missing memory barrier for + thread_wakeup_needed + - LP: #1204600 + * cgroup: fix umount vs cgroup_event_remove() race + - LP: #1204600 + * xhci: check for failed dma pool allocation + - LP: #1204600 + * usb: host: xhci-plat: release mem region while removing module + - LP: #1204600 + * USB: option,qcserial: move Novatel Gobi1K IDs to qcserial + - LP: #1204600 + * x86: Fix /proc/mtrr with base/size more than 44bits + - LP: #1204600 + * genirq: Fix can_request_irq() for IRQs without an action + - LP: #1204600 + * jbd2: move superblock checksum calculation to jbd2_write_superblock() + - LP: #1204600 + * ext3,ext4: don't mess with dir_file->f_pos in htree_dirblock_to_tree() + - LP: #1204600 + * jbd2: fix theoretical race in jbd2__journal_restart + - LP: #1204600 + * cgroup: fix umount vs cgroup_cfts_commit() race + - LP: #1204600 + * tracing: Use current_uid() for critical time tracing + - LP: #1204600 + * ahci: Add AMD CZ SATA device ID + - LP: #1204600 + * i2c-piix4: Add AMD CZ SMBus device ID + - LP: #1204600 + * ahci: remove pmp link online check in FBS EH + - LP: #1204600 + * libata: skip SRST for all SIMG [34]7x port-multipliers + - LP: #1204600 + * ASoC: wm8962: Remove remaining direct register cache accesses + - LP: #1204600 + * ACPICA: Do not use extended sleep registers unless HW-reduced bit is + set + - LP: #1204600 + * ALSA: hda - Cache the MUX selection for generic HDMI + - LP: #1204600 + * ata_piix: IDE-mode SATA patch for Intel Coleto Creek DeviceIDs + - LP: #1204600 + * ahci: AHCI-mode SATA patch for Intel Coleto Creek DeviceIDs + - LP: #1204600 + * ARM: 7765/1: perf: Record the user-mode PC in the call chain. + - LP: #1204600 + * Handle big endianness in NTLM (ntlmv2) authentication + - LP: #1204600 + * xen/time: remove blocked time accounting from xen "clockchip" + - LP: #1204600 + * drivers/dma/pl330.c: fix locking in pl330_free_chan_resources() + - LP: #1204600 + * ocfs2: xattr: fix inlined xattr reflink + - LP: #1204600 + * block: do not pass disk names as format strings + - LP: #1204600 + - CVE-2013-2851 + * crypto: sanitize argument for format string + - LP: #1204600 + * mm/memory-hotplug: fix lowmem count overflow when offline pages + - LP: #1204600 + * drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq + - LP: #1204600 + * nbd: correct disconnect behavior + - LP: #1204600 + * netfilter: xt_TCPOPTSTRIP: fix possible mangling beyond packet boundary + - LP: #1204600 + * netfilter: ipt_ULOG: fix non-null terminated string in the nf_log path + - LP: #1204600 + * netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6 + - LP: #1204600 + * netfilter: xt_LOG: fix mark logging for IPv6 packets + - LP: #1204600 + * ipvs: info leak in __ip_vs_get_dest_entries() + - LP: #1204600 + * netfilter: nfnetlink_cttimeout: fix incomplete dumping of objects + - LP: #1204600 + * netfilter: nfnetlink_acct: fix incomplete dumping of objects + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix violation of RFC879 in absence of MSS option + - LP: #1204600 + * netfilter: xt_TCPOPTSTRIP: don't use tcp_hdr() + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix missing fragmentation handling + - LP: #1204600 + * netfilter: xt_TCPMSS: Fix IPv6 default MSS too + - LP: #1204600 + * ipvs: SCTP ports should be writable in ICMP packets + - LP: #1204600 + * zfcp: fix adapter (re)open recovery while link to SAN is down + - LP: #1204600 + * zfcp: block queue limits with data router + - LP: #1204600 + * zfcp: status read buffers on first adapter open with link down + - LP: #1204600 + * mpt2sas: Fix for issue Missing delay not getting set during system + bootup + - LP: #1204600 + * mpt2sas: Fix for max_sectors warning message is stating the incorrect + range + - LP: #1204600 + * mpt2sas: Fix for device scan following host reset could get stuck in a + infinite loop + - LP: #1204600 + * mpt2sas: fix firmware failure with wrong task attribute + - LP: #1204600 + * sd: Fix parsing of 'temporary ' cache mode prefix + - LP: #1204600 + * aacraid: Fix for arrays are going offline in the system. System hangs + - LP: #1204600 + * powerpc/smp: Section mismatch from smp_release_cpus to __initdata + spinning_secondaries + - LP: #1204600 + * md/raid10: fix two bugs affecting RAID10 reshape. + - LP: #1204600 + * hpfs: better test for errors + - LP: #1204600 + * timer: Fix jiffies wrap behavior of round_jiffies_common() + - LP: #1204600 + * tick: Prevent uncontrolled switch to oneshot mode + - LP: #1204600 + * ext3: fix data=journal fast mount/umount hang + - LP: #1204600 + * PCI: Fix refcount issue in pci_create_root_bus() error recovery path + - LP: #1204600 + * b43: ensue that BCMA is "y" when B43 is "y" + - LP: #1204600 + * ath9k: fill channel mode in caldata + - LP: #1204600 + * ath9k_hw: Assign default xlna config for AR9485 + - LP: #1204600 + * ath9k_hw: Remove CHANNEL_CW_INT + - LP: #1204600 + * ath9k: Fix noisefloor calibration + - LP: #1204600 + * ath9k: Do not assign noise for NULL caldata + - LP: #1204600 + * iwlwifi: pcie: wake the queue if stopped when being unmapped + - LP: #1204600 + * rtlwifi: rtl8192cu: Add new USB ID for TP-Link TL-WN8200ND + - LP: #1204600 + * rt2x00: read 5GHz TX power values from the correct offset + - LP: #1204600 + * vgacon.c: add cond reschedule points in vgacon_do_font_op + - LP: #1204600 + * drm/mgag200: Reject modes that are too big for VRAM + - LP: #1204600 + * drm/mgag200: Added resolution and bandwidth limits for various G200e + products. + - LP: #1204600 + * libceph: Fix NULL pointer dereference in auth client code + - LP: #1204600 + - CVE-2013-1059 + * rtlwifi: rtl8192cu: Fix duplicate if test + - LP: #1204600 + * ext4: fix data offset overflow in ext4_xattr_fiemap() on 32-bit archs + - LP: #1204600 + * ext4: fix overflow when counting used blocks on 32-bit architectures + - LP: #1204600 + * vgacon: fix missing include. + - LP: #1204600 + * drivers/cdrom/cdrom.c: use kzalloc() for failing hardware + - LP: #1204600 + * efi_pstore: Check remaining space with QueryVariableInfo() before + writing data + - LP: #1204600 + * efivars: Disable external interrupt while holding efivars->lock + - LP: #1204600 + * efi: be more paranoid about available space when creating variables + - LP: #1204600 + * x86, efivars: firmware bug workarounds should be in platform code + - LP: #1204600 + * efi: Export efi_query_variable_store() for efivars.ko + - LP: #1204600 + * x86,efi: Check max_size only if it is non-zero. + - LP: #1204600 + * x86,efi: Implement efi_no_storage_paranoia parameter + - LP: #1204600 + * Modify UEFI anti-bricking code + - LP: #1204600 + * x86/efi: Fix dummy variable buffer allocation + - LP: #1204600 + * printk: Fix rq->lock vs logbuf_lock unlock lock inversion + - LP: #1204600 + * charger-manager: Ensure event is not used as format string + - LP: #1204600 + * iommu/amd: Only unmap large pages from the first pte + - LP: #1204600 + * Linux 3.5.7.17 + - LP: #1204600 + * fanotify: info leak in copy_event_to_user() + - LP: #1188356 + - CVE-2013-2148 + + -- Brad Figg Fri, 26 Jul 2013 11:00:32 -0700 + +linux (3.5.0-37.58) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1199149 + + [ Brad Figg ] + + * [Config] CONFIG_ATH9K_LEGACY_RATE_CONTROL=y + + [ Tim Gardner ] + + * [Config] CONFIG_SUNRPC_DEBUG=y + - LP: #1127319 + + [ Upstream Kernel Changes ] + + * Revert "serial: 8250_pci: add support for another kind of NetMos + Technology PCI 9835 Multi-I/O Controller" + - LP: #1190967 + * Revert "ath9k_hw: Update rx gain initval to improve rx sensitivity" + - LP: #1197458 + * ata_piix: add PCI IDs for Intel BayTail + - LP: #1197458 + * libata: make ata_exec_internal_sg honor DMADIR + - LP: #1197458 + * cfg80211: check wdev->netdev in connection work + - LP: #1197458 + * xhci-mem: init list heads at the beginning of init + - LP: #1197458 + * xhci: fix list access before init + - LP: #1197458 + * xhci - correct comp_mode_recovery_timer on return from hibernate + - LP: #1197458 + * mac80211: close AP_VLAN interfaces before unregistering all + - LP: #1197458 + * usb: dwc3: gadget: free trb pool only from epnum 2 + - LP: #1197458 + * USB: revert periodic scheduling bugfix + - LP: #1197458 + * USB: serial: fix Treo/Kyocera interrrupt-in urb context + - LP: #1197458 + * USB: visor: fix initialisation of Treo/Kyocera devices + - LP: #1197458 + * USB: mos7720: fix DMA to stack + - LP: #1197458 + * USB: mos7840: fix DMA to stack + - LP: #1197458 + * USB: ark3116: fix control-message timeout + - LP: #1197458 + * USB: iuu_phoenix: fix bulk-message timeout + - LP: #1197458 + * USB: mos7720: fix message timeouts + - LP: #1197458 + * regulator: palmas: Fix "enable_reg" to point to the correct reg for + SMPS10 + - LP: #1197458 + * m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK + - LP: #1197458 + * USB: Serial: cypress_M8: Enable FRWD Dongle hidcom device + - LP: #1197458 + * USB: serial: Add Option GTM681W to qcserial device table. + - LP: #1197458 + * USB: keyspan: fix bogus array index + - LP: #1197458 + * USB: mos7720: fix hardware flow control + - LP: #1197458 + * USB: whiteheat: fix broken port configuration + - LP: #1197458 + * USB: option: blacklist network interface on Huawei E1820 + - LP: #1197458 + * iommu/amd: Re-enable IOMMU event log interrupt after handling. + - LP: #1197458 + * iommu/amd: Workaround for ERBT1312 + - LP: #1197458 + * xen/events: Handle VIRQ_TIMER before any other hardirq in event loop. + - LP: #1197458 + * thinkpad-acpi: recognize latest V-Series using DMI_BIOS_VENDOR + - LP: #1197458 + * klist: del waiter from klist_remove_waiters before wakeup waitting + process + - LP: #1197458 + * ACPI video: ignore BIOS backlight value for HP dm4 + - LP: #1197458 + * ACPI video: ignore BIOS initial backlight value for HP 1000 + - LP: #1197458 + * dmaengine: ste_dma40: fix pm runtime ref counting + - LP: #1197458 + * ACPI / video: ignore BIOS initial backlight value for HP m4 + - LP: #1197458 + * ACPI / video: ignore BIOS initial backlight value for HP Pavilion g6 + - LP: #1197458 + * ALSA: usb-audio: fix Roland/Cakewalk UM-3G support + - LP: #1197458 + * drm: fix a use-after-free when GPU acceleration disabled + - LP: #1197458 + * drm/mgag200: Add missing write to index before accessing data register + - LP: #1197458 + * drm/i915: no lvds quirk for hp t5740 + - LP: #1197458 + * radeon: Fix system hang issue when using KMS with older cards + - LP: #1197458 + * drm/radeon: don't allow audio on DCE6 + - LP: #1197458 + * ALSA: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio + iface + - LP: #1197458 + * drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC. + - LP: #1197458 + * ALSA: usb-audio - Fix invalid volume resolution on Logitech HD webcam + c270 + - LP: #1197458 + * ARM: 7742/1: topology: export cpu_topology + - LP: #1197458 + * ARM: 7743/1: compressed/head.S: work around new binutils warning + - LP: #1197458 + * hwmon: (adm1021) Strengthen chip detection for ADM1021, LM84 and + MAX1617 + - LP: #1197458 + * hpfs: drop vmtruncate + - LP: #1197458 + * hpfs: fix warnings when the filesystem fills up + - LP: #1197458 + * powerpc/eeh: Don't check RTAS token to get PE addr + - LP: #1197458 + * drm/gma500: Increase max resolution for mode setting + - LP: #1197458 + * USB: ftdi_sio: Quiet sparse noise about using plain integer was NULL + pointer + - LP: #1197458 + * tg3: Add New 5719 Read DMA workaround + - LP: #1197458 + * tg3: Add read dma workaround for 5720 + - LP: #1197458 + * libceph: clear messenger auth_retry flag when we authenticate + - LP: #1197458 + * libceph: fix authorizer invalidation + - LP: #1197458 + * libceph: add update_authorizer auth method + - LP: #1197458 + * libceph: wrap auth ops in wrapper functions + - LP: #1197458 + * libceph: wrap auth methods in a mutex + - LP: #1197458 + * libceph: register request before unregister linger + - LP: #1197458 + * libceph: always reset osds when kicking + - LP: #1197458 + * libceph: must hold mutex for reset_changed_osds() + - LP: #1197458 + * ceph: add cpu_to_le32() calls when encoding a reconnect capability + - LP: #1197458 + * ceph: ceph_pagelist_append might sleep while atomic + - LP: #1197458 + * drm/gma500/psb: Unpin framebuffer on crtc disable + - LP: #1197458 + * drm/gma500/cdv: Unpin framebuffer on crtc disable + - LP: #1197458 + * drm/i915: prefer VBT modes for SVDO-LVDS over EDID + - LP: #1197458 + * Bluetooth: Fix mgmt handling of power on failures + - LP: #1197458 + * ath9k: Disable PowerSave by default + - LP: #1197458 + * ath9k: Use minstrel rate control by default + - LP: #1197458 + * b43: stop format string leaking into error msgs + - LP: #1197458 + - CVE-2013-2852 + * CPU hotplug: provide a generic helper to disable/enable CPU hotplug + - LP: #1197458 + * reboot: rigrate shutdown/reboot to boot cpu + - LP: #1197458 + * kmsg: honor dmesg_restrict sysctl on /dev/kmsg + - LP: #1197458 + * cciss: fix broken mutex usage in ioctl + - LP: #1197458 + * drivers/rtc/rtc-twl.c: fix missing device_init_wakeup() when booted + with device tree + - LP: #1197458 + * swap: avoid read_swap_cache_async() race to deadlock while waiting on + discard I/O completion + - LP: #1197458 + * mm: migration: add migrate_entry_wait_huge() + - LP: #1197458 + * ceph: fix statvfs fr_size + - LP: #1197458 + * x86: Fix typo in kexec register clearing + - LP: #1197458 + * md/raid1: consider WRITE as successful only if at least one non-Faulty + and non-rebuilding drive completed it. + - LP: #1197458 + * md/raid1,raid10: use freeze_array in place of raise_barrier in various + places. + - LP: #1197458 + * USB: spcp8x5: fix device initialisation at open + - LP: #1197458 + * USB: pl2303: fix device initialisation at open + - LP: #1197458 + * tg3: Wait for boot code to finish after power on + - LP: #1197458 + * powerpc: Fix stack overflow crash in resume_kernel when ftracing + - LP: #1197458 + * powerpc: Fix emulation of illegal instructions on PowerNV platform + - LP: #1197458 + * powerpc: Fix missing/delayed calls to irq_work + - LP: #1197458 + * audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE + - LP: #1197458 + * xen-netfront: reduce gso_max_size to account for max TCP header + - LP: #1197458 + * ext4: lock i_mutex when truncating orphan inodes + - LP: #1197458 + * snd_pcm_link(): fix a leak... + - LP: #1197458 + * Linux 3.5.7.15 + - LP: #1197458 + * clk: remove notifier from list before freeing it + - LP: #1199117 + * ALSA: usb-audio: work around Android accessory firmware bug + - LP: #1199117 + * ALSA: usb-audio: Fix invalid volume resolution for Logitech HD Webcam + c310 + - LP: #1199117 + * tcp: fix tcp_md5_hash_skb_data() + - LP: #1199117 + * gianfar: add missing iounmap() on error in gianfar_ptp_probe() + - LP: #1199117 + * ipv6: fix possible crashes in ip6_cork_release() + - LP: #1199117 + * netlabel: improve domain mapping validation + - LP: #1199117 + * r8169: fix 8168evl frame padding. + - LP: #1199117 + * r8169: fix offloaded tx checksum for small packets. + - LP: #1199117 + * 8139cp: reset BQL when ring tx ring cleared + - LP: #1199117 + * tcp: bug fix in proportional rate reduction. + - LP: #1199117 + * net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg + - LP: #1199117 + * net: Unbreak compat_sys_{send,recv}msg + - LP: #1199117 + * tcp: xps: fix reordering issues + - LP: #1199117 + * ip_tunnel: fix kernel panic with icmp_dest_unreach + - LP: #1199117 + * net: force a reload of first item in hlist_nulls_for_each_entry_rcu + - LP: #1199117 + * ipv6: assign rt6_info to inet6_ifaddr in init_loopback + - LP: #1199117 + * net: sctp: fix NULL pointer dereference in socket destruction + - LP: #1199117 + * team: check return value of team_get_port_by_index_rcu() for NULL + - LP: #1199117 + * packet: packet_getname_spkt: make sure string is always 0-terminated + - LP: #1199117 + * l2tp: Fix PPP header erasure and memory leak + - LP: #1199117 + * l2tp: Fix sendmsg() return value + - LP: #1199117 + * bonding: rlb mode of bond should not alter ARP originating via bridge + - LP: #1199117 + * tilepro: work around module link error with gcc 4.7 + - LP: #1199117 + * Input: cyttsp - fix memcpy size param + - LP: #1199117 + * target/iscsi: don't corrupt bh_count in iscsit_stop_time2retain_timer() + - LP: #1199117 + * tcm_qla2xxx: Fix residual for underrun commands that fail + - LP: #1199117 + * KVM: x86: remove vcpu's CPL check in host-invoked XCR set + - LP: #1199117 + * x86: fix build error and kconfig for ia32_emulation and binfmt + - LP: #1199117 + * USB: serial: ti_usb_3410_5052: new device id for Abbot strip port cable + - LP: #1199117 + * drm/radeon: update lockup tracking when scheduling in empty ring + - LP: #1199117 + * team: move add to port list before port enablement + - LP: #1199117 + * net: sh_eth: fix incorrect RX length error if R8A7740 + - LP: #1199117 + * sctp: fully initialize sctp_outq in sctp_outq_init + - LP: #1199117 + * ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page + - LP: #1199117 + * iwlwifi: dvm: fix chain noise calibration + - LP: #1199117 + * Bluetooth: Fix crash in l2cap_build_cmd() with small MTU + - LP: #1199117 + * hw_breakpoint: Use cpu_possible_mask in {reserve,release}_bp_slot() + - LP: #1199117 + * ARM: 7772/1: Fix missing flush_kernel_dcache_page() for noMMU + - LP: #1199117 + * net/tg3: Avoid delay during MMIO access + - LP: #1199117 + * dlci: acquire rtnl_lock before calling __dev_get_by_name() + - LP: #1199117 + * dlci: validate the net device in dlci_del() + - LP: #1199117 + * Bluetooth: btmrvl: fix thread stopping race + - LP: #1199117 + * pch_uart: fix a deadlock when pch_uart as console + - LP: #1199117 + * perf: Disable monitoring on setuid processes for regular users + - LP: #1199117 + * UBIFS: prepare to fix a horrid bug + - LP: #1199117 + * UBIFS: fix a horrid bug + - LP: #1199117 + * perf: Fix perf mmap bugs + - LP: #1199117 + * perf: Fix mmap() accounting hole + - LP: #1199117 + * Linux 3.5.7.16 + - LP: #1199117 + + -- Brad Figg Mon, 08 Jul 2013 14:22:30 -0700 + +linux (3.5.0-36.57) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1192590 + + [ Timo Aaltonen ] + + * SAUCE: i915_hsw: revert to old drm_mm function names + - LP: #1188305 + * SAUCE: i915_hsw: drm/i915: Adding more reserved PCI IDs for Haswell. + - LP: #1175533 + + -- Steve Conklin Wed, 19 Jun 2013 09:40:57 -0500 + +linux (3.5.0-35.56) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1192206 + + [ Dave Chiluk ] + + * SAUCE: ncpfs: fix rmdir returns Device or resource busy + - LP: #1035226 + + [ Stefan Bader ] + + * (d-i) Add dm-snapshot to md-modules + - LP: #1191726 + + [ Timo Aaltonen ] + + * SAUCE: Update i915_hsw to 3.8.13 + - LP: #1188305 + * SAUCE: i915_hsw: Add new definitions + - LP: #1188305 + * SAUCE: i915_hsw: Revert "drm/i915: use drm_send_vblank_event() helper" + - LP: #1188305 + * SAUCE: i915_hsw: Revert "drm/i915: set the VIC of the mode on the AVI + InfoFrame" + - LP: #1188305 + + [ Upstream Kernel Changes ] + + * hwmon: fix error return code in abituguru_probe() + - LP: #1191905 + * i2c: designware: fix RX FIFO overrun + - LP: #1191905 + * i2c: designware: always clear interrupts before enabling them + - LP: #1191905 + * btrfs: don't stop searching after encountering the wrong item + - LP: #1191905 + * drm/radeon: Fix VRAM size calculation for VRAM >= 4GB + - LP: #1191905 + * mantis: fix silly crash case + - LP: #1191905 + * avr32: fix relocation check for signed 18-bit offset + - LP: #1191905 + * virtio_console: fix uapi header + - LP: #1191905 + * Input: egalax_ts - ABS_MT_POSITION_Y not reported well + - LP: #1191905 + * staging: vt6656: use free_netdev instead of kfree + - LP: #1191905 + * USB: xHCI: override bogus bulk wMaxPacketSize values + - LP: #1191905 + * USB: UHCI: fix for suspend of virtual HP controller + - LP: #1191905 + * USB: reset resume quirk needed by a hub + - LP: #1191905 + * usb: option: Add Telewell TW-LTE 4G + - LP: #1191905 + * USB: Blacklisted Cinterion's PLxx WWAN Interface + - LP: #1191905 + * USB: option: add device IDs for Dell 5804 (Novatel E371) WWAN card + - LP: #1191905 + * USB: ftdi_sio: Add support for Newport CONEX motor drivers + - LP: #1191905 + * USB: cxacru: potential underflow in cxacru_cm_get_array() + - LP: #1191905 + * TTY: Fix tty miss restart after we turn off flow-control + - LP: #1191905 + * cifs: only set ops for inodes in I_NEW state + - LP: #1191905 + * Kirkwood: Enable PCIe port 1 on QNAP TS-11x/TS-21x + - LP: #1191905 + * mac80211: fix AP-mode frame matching + - LP: #1191905 + * ARM: plat-orion: Fix num_resources and id for ge10 and ge11 + - LP: #1191905 + * sunrpc: clarify comments on rpc_make_runnable + - LP: #1191905 + * SUNRPC: Prevent an rpc_task wakeup race + - LP: #1191905 + * perf: net_dropmonitor: Fix trace parameter order + - LP: #1191905 + * perf: net_dropmonitor: Fix symbol-relative addresses + - LP: #1191905 + * fat: fix possible overflow for fat_clusters + - LP: #1191905 + * wait: fix false timeouts when using wait_event_timeout() + - LP: #1191905 + * rapidio/tsi721: fix bug in MSI interrupt handling + - LP: #1191905 + * mm compaction: fix of improper cache flush in migration code + - LP: #1191905 + * mm/THP: use pmd_populate() to update the pmd with pgtable_t pointer + - LP: #1191905 + * drivers/leds/leds-ot200.c: fix error caused by shifted mask + - LP: #1191905 + * drivers/block/brd.c: fix brd_lookup_page() race + - LP: #1191905 + * nilfs2: fix issue of nilfs_set_page_dirty() for page at EOF boundary + - LP: #1191905 + * random: fix accounting race condition with lockless irq entropy_count + update + - LP: #1191905 + * ocfs2: goto out_unlock if ocfs2_get_clusters_nocache() failed in + ocfs2_fiemap() + - LP: #1191905 + * mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas + - LP: #1191905 + * staging:iio:light:tsl2x7x: fix the error handling in tsl2x7x_probe() + - LP: #1191905 + * mwifiex: fix memory leak issue when driver unload + - LP: #1191905 + * dm bufio: avoid a possible __vmalloc deadlock + - LP: #1191905 + * tg3: Skip powering down function 0 on certain serdes devices + - LP: #1191905 + * acpi/video_detect: blacklist samsung x360 + - LP: #1191905 + * ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist + - LP: #1191905 + * ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist + - LP: #1191905 + * mm: mmu_notifier: re-fix freed page still mapped in secondary MMU + - LP: #1191905 + * sched/debug: Limit sd->*_idx range on sysctl + - LP: #1191905 + * sched/debug: Fix sd->*_idx limit range avoiding overflow + - LP: #1191905 + * ipvs: ip_vs_sip_fill_param() BUG: bad check of return value + - LP: #1191905 + * jfs: fix a couple races + - LP: #1191905 + * cifs: fix potential buffer overrun when composing a new options string + - LP: #1191905 + * ASoC: cs42l52: fix default value for MASTERA_VOL. + - LP: #1191905 + * drm/radeon: fix typo in cu_per_sh on verde + - LP: #1191905 + * drm/radeon: fix card_posted check for newer asics + - LP: #1191905 + * NFSv4: Fix a thinko in nfs4_try_open_cached + - LP: #1191905 + * xfs: kill suid/sgid through the truncate path. + - LP: #1191905 + * reiserfs: fix deadlock with nfs racing on create/lookup + - LP: #1191905 + * reiserfs: fix problems with chowning setuid file w/ xattrs + - LP: #1191905 + * reiserfs: fix spurious multiple-fill in reiserfs_readdir_dentry + - LP: #1191905 + * xen-netback: remove skb in xen_netbk_alloc_page + - LP: #1191905 + * xen-netback: fix sparse warning + - LP: #1191905 + * xen-netback: coalesce slots in TX path and fix regressions + - LP: #1191905 + * xen-netback: don't disconnect frontend when seeing oversize packet + - LP: #1191905 + * xen-netback: remove redundent parameter in netbk_count_requests + - LP: #1191905 + * xen-netback: avoid allocating variable size array on stack + - LP: #1191905 + * xen-netback: better names for thresholds + - LP: #1191905 + * xen-netfront: remove unused variable `extra' + - LP: #1191905 + * xen-netfront: frags -> slots in xennet_get_responses + - LP: #1191905 + * xen-netfront: frags -> slots in log message + - LP: #1191905 + * Linux 3.5.7.14 + - LP: #1191905 + + -- Steve Conklin Fri, 18 Jun 2013 10:34:21 -0500 + +linux (3.5.0-34.55) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1187926 + + [ Upstream Kernel Changes ] + + * iwlwifi: dvm: fix zero LQ CMD sending avoidance + - LP: #1186932 + + -- Steve Conklin Wed, 05 Jun 2013 15:27:36 -0500 + +linux (3.5.0-33.54) quantal; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1186271 + + [ Upstream Kernel Changes ] + + * crypto: algif - suppress sending source address information in recvmsg + - LP: #1172363 + - CVE-2013-3076 + * ax25: fix info leak via msg_name in ax25_recvmsg() + - LP: #1172366 + - CVE-2013-3223 + * Bluetooth: fix possible info leak in bt_sock_recvmsg() + - LP: #1172368 + - CVE-2013-3224 + * tipc: fix info leaks via msg_name in recv_msg/recv_stream + - LP: #1172403 + - CVE-2013-3235 + * rose: fix info leak via msg_name in rose_recvmsg() + - LP: #1172394 + - CVE-2013-3234 + * Bluetooth: RFCOMM - Fix missing msg_namelen update in + rfcomm_sock_recvmsg() + - LP: #1172369 + - CVE-2013-3225 + * atm: update msg_namelen in vcc_recvmsg() + - LP: #1172365 + - CVE-2013-3222 + * iwlwifi: add new pci id for 6x35 series + - LP: #1180256 + * ath9k_htc: accept 1.x firmware newer than 1.3 + - LP: #1186062 + * ssb: implement spurious tone avoidance + - LP: #1186062 + * can: mcp251x: add missing IRQF_ONESHOT to request_threaded_irq + - LP: #1186062 + * can: sja1000: fix handling on dt properties on little endian systems + - LP: #1186062 + * ath9k_hw: change AR9580 initvals to fix a stability issue + - LP: #1186062 + * ARM: 7696/1: Fix kexec by setting outer_cache.inv_all for Feroceon + - LP: #1186062 + * ARM: 7698/1: perf: fix group validation when using enable_on_exec + - LP: #1186062 + * hugetlbfs: add swap entry check in follow_hugetlb_page() + - LP: #1186062 + * kernel/signal.c: stop info leak via the tkill and the tgkill syscalls + - LP: #1186062 + * hfsplus: fix potential overflow in hfsplus_file_truncate() + - LP: #1186062 + * sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s + - LP: #1186062 + * perf/x86: Fix offcore_rsp valid mask for SNB/IVB + - LP: #1186062 + * vm: add vm_iomap_memory() helper function + - LP: #1186062 + * vm: convert HPET mmap to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert fb_mmap to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper + - LP: #1186062 + * vm: convert mtdchar mmap to vm_iomap_memory() helper + - LP: #1186062 + * regulator: fixed regulator_bulk_enable unwinding code + - LP: #1186062 + * perf: Fix error return code + - LP: #1186062 + * xen/smp: Fix leakage of timer interrupt line for every CPU + online/offline. + - LP: #1186062 + * xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every + CPU online/offline + - LP: #1186062 + * xen/time: Fix kasprintf splat when allocating timer%d IRQ line. + - LP: #1186062 + * s390/memory hotplug: prevent offline of active memory increments + - LP: #1186062 + * aio: fix possible invalid memory access when DEBUG is enabled + - LP: #1186062 + * TTY: do not update atime/mtime on read/write + - LP: #1186062 + * TTY: fix atime/mtime regression + - LP: #1186062 + * caif: Fix missing msg_namelen update in caif_seqpkt_recvmsg() + - LP: #1186062 + * irda: Fix missing msg_namelen update in irda_recvmsg_dgram() + - LP: #1186062 + * iucv: Fix missing msg_namelen update in iucv_sock_recvmsg() + - LP: #1186062 + * llc: Fix missing msg_namelen update in llc_ui_recvmsg() + - LP: #1186062 + * netrom: fix info leak via msg_name in nr_recvmsg() + - LP: #1186062 + * netrom: fix invalid use of sizeof in nr_recvmsg() + - LP: #1186062 + * NFC: llcp: fix info leaks via msg_name in llcp_sock_recvmsg() + - LP: #1186062 + * cbq: incorrect processing of high limits + - LP: #1186062 + * net IPv6 : Fix broken IPv6 routing table after loopback down-up + - LP: #1186062 + * net: count hw_addr syncs so that unsync works properly. + - LP: #1186062 + * atl1e: limit gso segment size to prevent generation of wrong ip length + fields + - LP: #1186062 + * bonding: fix bonding_masters race condition in bond unloading + - LP: #1186062 + * bonding: IFF_BONDING is not stripped on enslave failure + - LP: #1186062 + * af_unix: If we don't care about credentials coallesce all messages + - LP: #1186062 + * netfilter: don't reset nf_trace in nf_reset() + - LP: #1186062 + * rtnetlink: Call nlmsg_parse() with correct header length + - LP: #1186062 + * tcp: incoming connections might use wrong route under synflood + - LP: #1186062 + * tcp: Reallocate headroom if it would overflow csum_start + - LP: #1186062 + * esp4: fix error return code in esp_output() + - LP: #1186062 + * net: sctp: sctp_auth_key_put: use kzfree instead of kfree + - LP: #1186062 + * tcp: call tcp_replace_ts_recent() from tcp_ack() + - LP: #1186062 + * net: rate-limit warn-bad-offload splats. + - LP: #1186062 + * net: fix incorrect credentials passing + - LP: #1186062 + * net: drop dst before queueing fragments + - LP: #1186062 + * sparc64: Fix race in TLB batch processing. + - LP: #1186062 + * l2tp: fix info leak in l2tp_ip6_recvmsg() + - LP: #1186062 + * tracing: Use stack of calling function for stack tracer + - LP: #1186062 + * tracing: Fix stack tracer with fentry use + - LP: #1186062 + * tracing: Remove most or all of stack tracer stack size from + stack_max_size + - LP: #1186062 + * tracing: Fix ftrace_dump() + - LP: #1186062 + * Wrong asm register contraints in the futex implementation + - LP: #1186062 + * Wrong asm register contraints in the kvm implementation + - LP: #1186062 + * cgroup: fix an off-by-one bug which may trigger BUG_ON() + - LP: #1186062 + * PCI / ACPI: Don't query OSC support with all possible controls + - LP: #1186062 + * Fix initialization of CMCI/CMCP interrupts + - LP: #1186062 + * sysfs: fix use after free in case of concurrent read/write and readdir + - LP: #1186062 + * usb/misc/appledisplay: Add 24" LED Cinema display + - LP: #1186062 + * ext4/jbd2: don't wait (forever) for stale tid caused by wraparound + - LP: #1186062 + * jbd2: fix race between jbd2_journal_remove_checkpoint and + ->j_commit_callback + - LP: #1186062 + * ext4: fix journal callback list traversal + - LP: #1186062 + * usb: chipidea: udc: fix memory access of shared memory on armv5 + machines + - LP: #1186062 + * NFSv4: Handle NFS4ERR_DELAY and NFS4ERR_GRACE in + nfs4_open_delegation_recall + - LP: #1186062 + * usb: chipidea: udc: fix memory leak in _ep_nuke + - LP: #1186062 + * USB: add ftdi_sio USB ID for GDM Boost V1.x + - LP: #1186062 + * hrtimer: Add expiry time overflow check in hrtimer_interrupt + - LP: #1186062 + * hrtimer: Fix ktime_add_ns() overflow on 32bit architectures + - LP: #1186062 + * ARM: omap3: cpuidle: enable time keeping + - LP: #1186062 + * tracing: Fix off-by-one on allocating stat->pages + - LP: #1186062 + * USB: option: add a D-Link DWM-156 variant + - LP: #1186062 + * ext4: fix big-endian bug in metadata checksum calculations + - LP: #1186062 + * tracing: Reset ftrace_graph_filter_enabled if count is zero + - LP: #1186062 + * tracing: Check return value of tracing_init_dentry() + - LP: #1186062 + * serial_core.c: add put_device() after device_find_child() + - LP: #1186062 + * PCI/PM: Fix fallback to PCI_D0 in pci_platform_power_transition() + - LP: #1186062 + * wireless: regulatory: fix channel disabling race condition + - LP: #1186062 + * usbfs: Always allow ctrl requests with USB_RECIP_ENDPOINT on the ctrl + ep + - LP: #1186062 + * iwlwifi: fix freeing uninitialized pointer + - LP: #1186062 + * iwlwifi: dvm: don't send zeroed LQ cmd + - LP: #1186062 + * LOCKD: Ensure that nlmclnt_block resets block->b_status after a server + reboot + - LP: #1186062 + * ext4: fix online resizing for ext3-compat file systems + - LP: #1186062 + * ext4: fix Kconfig documentation for CONFIG_EXT4_DEBUG + - LP: #1186062 + * rt2x00: Fix transmit power troubles on some Ralink RT30xx cards + - LP: #1186062 + * USB: ftdi_sio: correct ST Micro Connect Lite PIDs + - LP: #1186062 + * USB: serial: option: Added support Olivetti Olicard 145 + - LP: #1186062 + * usb-storage: CY7C68300A chips do not support Cypress ATACB + - LP: #1186062 + * USB: ftdi_sio: enable two UART ports on ST Microconnect Lite + - LP: #1186062 + * gianfar: do not advertise any alarm capability. + - LP: #1186062 + * clockevents: Set dummy handler on CPU_DEAD shutdown + - LP: #1186062 + * ixgbe: fix EICR write in ixgbe_msix_other + - LP: #1186062 + * mwifiex: Use pci_release_region() instead of a pci_release_regions() + - LP: #1186062 + * mwifiex: Call pci_release_region after calling pci_disable_device + - LP: #1186062 + * fs/fscache/stats.c: fix memory leak + - LP: #1186062 + * mm: allow arch code to control the user page table ceiling + - LP: #1186062 + * arm: set the page table freeing ceiling to TASK_SIZE + - LP: #1186062 + * drivers/rtc/rtc-cmos.c: don't disable hpet emulation on suspend + - LP: #1186062 + * drivers/rtc/rtc-at91rm9200.c: fix missing iounmap + - LP: #1186062 + * md: bad block list should default to disabled. + - LP: #1186062 + * inotify: invalid mask should return a error number but not set it + - LP: #1186062 + * fs/dcache.c: add cond_resched() to shrink_dcache_parent() + - LP: #1186062 + * exec: do not abuse ->cred_guard_mutex in threadgroup_lock() + - LP: #1186062 + * tty: fix up atime/mtime mess, take three + - LP: #1186062 + * ipc: sysv shared memory limited to 8TiB + - LP: #1186062 + * ARM: 7699/1: sched_clock: Add more notrace to prevent recursion + - LP: #1186062 + * Linux 3.5.7.12 + - LP: #1186062 + * mmc: at91/avr32/atmel-mci: fix DMA-channel leak on module unload + - LP: #1186062 + * ARM: at91: Fix typo in restart code panic message + - LP: #1186062 + * drm/radeon: don't use get_engine_clock() on APUs + - LP: #1186062 + * nfsd: don't run get_file if nfs4_preprocess_stateid_op return error + - LP: #1186062 + * mmc: core: Fix bit width test failing on old eMMC cards + - LP: #1186062 + * drm/i915: Add no-lvds quirk for Fujitsu Esprimo Q900 + - LP: #1186062 + * mfd: adp5520: Restore mode bits on resume + - LP: #1186062 + * mmc: atmel-mci: pio hang on block errors + - LP: #1186062 + * nfsd4: don't close read-write opens too soon + - LP: #1186062 + * drm/radeon/dce6: add missing display reg for tiling setup + - LP: #1186062 + * ALSA: usb: Add quirk for 192KHz recording on E-Mu devices + - LP: #1186062 + * ALSA: usb-audio: disable autopm for MIDI devices + - LP: #1186062 + * drm/radeon/evergreen+: don't enable HPD interrupts on eDP/LVDS + - LP: #1186062 + * drm/radeon: cleanup properly if mmio mapping fails + - LP: #1186062 + * ASoC: max98088: Fix logging of hardware revision. + - LP: #1186062 + * drm/i915: Workaround incoherence between fences and LLC across multiple + CPUs + - LP: #1186062 + * drm/i915: Fall back to bit banging mode for DVO transmitter detection + - LP: #1186062 + * drm/radeon: fix hdmi mode enable on RS600/RS690/RS740 + - LP: #1186062 + * i2c: xiic: must always write 16-bit words to TX_FIFO + - LP: #1186062 + * nfsd: Decode and send 64bit time values + - LP: #1186062 + * drm/radeon: fix typo in si_select_se_sh() + - LP: #1186062 + * fbcon: when font is freed, clear also vc_font.data + - LP: #1186062 + * powerpc/spufs: Initialise inode->i_ino in spufs_new_inode() + - LP: #1186062 + * ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT + - LP: #1186062 + * ALSA: usb-audio: Fix autopm error during probing + - LP: #1186062 + * drm/gma500: fix backlight hotkeys behaviour on netbooks + - LP: #1186062 + * powerpc: Add isync to copy_and_flush + - LP: #1186062 + * ARM: u300: fix ages old copy/paste bug + - LP: #1186062 + * x86: Eliminate irq_mis_count counted in arch_irq_stat + - LP: #1186062 + * drm/prime: keep a reference from the handle to exported dma-buf (v6) + - LP: #1186062 + * drm/mgag200: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/ast: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/cirrus: deal with bo reserve fail in dirty update path + - LP: #1186062 + * drm/radeon: fix endian bugs in atom_allocate_fb_scratch() + - LP: #1186062 + * drm/radeon: fix possible segfault when parsing pm tables + - LP: #1186062 + * drm/radeon: add some new SI PCI ids + - LP: #1186062 + * drm/radeon: add new richland pci ids + - LP: #1186062 + * drm/radeon: fix handling of v6 power tables + - LP: #1186062 + * perf/x86/intel/lbr: Fix LBR filter + - LP: #1186062 + * perf/x86/intel/lbr: Demand proper privileges for + PERF_SAMPLE_BRANCH_KERNEL + - LP: #1186062 + * net/eth/ibmveth: Fixup retrieval of MAC address + - LP: #1186062 + * autofs - remove autofs dentry mount check + - LP: #1186062 + * drm/radeon: properly lock disp in mc_stop/resume for evergreen+ + - LP: #1186062 + * drm/radeon: disable the crtcs in mc_stop (evergreen+) (v2) + - LP: #1186062 + * powerpc: fix numa distance for form0 device tree + - LP: #1186062 + * kernel/audit_tree.c: tree will leak memory when failure occurs in + audit_trim_trees() + - LP: #1186062 + * xhci: Don't warn on empty ring for suspended devices. + - LP: #1186062 + * cpufreq: exynos: Get booting freq value in exynos_cpufreq_init + - LP: #1186062 + * ARM: 7692/1: iop3xx: move IOP3XX_PERIPHERAL_VIRT_BASE + - LP: #1186062 + * drm/i915: ensure single initialization and cleanup of backlight device + - LP: #1186062 + * drm/radeon: use frac fb div on RS780/RS880 + - LP: #1186062 + * r8169: fix vlan tag read ordering. + - LP: #1186062 + * r8169: honor jumbo settings when chipset is requested to start. + - LP: #1186062 + * drm/i915: Fix detection of base of stolen memory + - LP: #1186062 + * s390: move dummy io_remap_pfn_range() to asm/pgtable.h + - LP: #1186062 + * x86/mm: account for PGDIR_SIZE alignment + - LP: #1186062 + * drbd: fix for deadlock when using automatic split-brain-recovery + - LP: #1186062 + * cpufreq / Longhaul: Disable driver by default + - LP: #1186062 + * ext4: add check for inodes_count overflow in new resize ioctl + - LP: #1186062 + * powerpc: Emulate non privileged DSCR read and write + - LP: #1186062 + * audit: Syscall rules are not applied to existing processes on non-x86 + - LP: #1186062 + * ASoC: wm8994: missing break in wm8994_aif3_hw_params() + - LP: #1186062 + * tile: support new Tilera hypervisor + - LP: #1186062 + * sd: fix array cache flushing bug causing performance problems + - LP: #1186062 + * ath9k: fix key allocation error handling for powersave keys + - LP: #1186062 + * nfsd4: don't allow owner override on 4.1 CLAIM_FH opens + - LP: #1186062 + * xen/vcpu/pvhvm: Fix vcpu hotplugging hanging. + - LP: #1186062 + * ALSA: HDA: Fix Oops caused by dereference NULL pointer + - LP: #1186062 + * ACPICA: Fix possible buffer overflow during a field unit read operation + - LP: #1186062 + * qmi_wwan/cdc_ether: add device IDs for Dell 5804 (Novatel E371) WWAN + card + - LP: #1186062 + * B43: Handle DMA RX descriptor underrun + - LP: #1186062 + * mwifiex: clear is_suspended flag when interrupt is received early + - LP: #1186062 + * mwifiex: fix setting of multicast filter + - LP: #1186062 + * ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI + devices + - LP: #1186062 + * hp_accel: Ignore the error from lis3lv02d_poweron() at resume + - LP: #1186062 + * KVM: VMX: fix halt emulation while emulating invalid guest sate + - LP: #1186062 + * dm snapshot: fix error return code in snapshot_ctr + - LP: #1186062 + * drm/mgag200: Fix writes into MGA1064_PIX_CLK_CTL register + - LP: #1186062 + * drm/mgag200: Fix framebuffer base address programming + - LP: #1186062 + * hugetlbfs: fix mmap failure in unaligned size request + - LP: #1186062 + * net: qmi_wwan: fixup missing ethernet header (firmware bug workaround) + - LP: #1186062 + * net: qmi_wwan: fixup destination address (firmware bug workaround) + - LP: #1186062 + * net: qmi_wwan: prevent duplicate mac address on link (firmware bug + workaround) + - LP: #1186062 + * tcp: force a dst refcount when prequeue packet + - LP: #1186062 + * sfc: Fix naming of MTD partitions for FPGA bitfiles + - LP: #1186062 + * 3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA) + - LP: #1186062 + * net_sched: act_ipt forward compat with xtables + - LP: #1186062 + * net: use netdev_features_t in skb_needs_linearize() + - LP: #1186062 + * net: vlan,ethtool: netdev_features_t is more than 32 bit + - LP: #1186062 + * bridge: fix race with topology change timer + - LP: #1186062 + * packet: tpacket_v3: do not trigger bug() on wrong header status + - LP: #1186062 + * 3c59x: fix freeing nonexistent resource on driver unload + - LP: #1186062 + * 3c59x: fix PCI resource management + - LP: #1186062 + * if_cablemodem.h: Add parenthesis around ioctl macros + - LP: #1186062 + * macvlan: fix passthru mode race between dev removal and rx path + - LP: #1186062 + * ipv6: do not clear pinet6 field + - LP: #1186062 + * xfrm6: release dev before returning error + - LP: #1186062 + * ext4: limit group search loop for non-extent files + - LP: #1186062 + * iscsi-target: Fix processing of OOO commands + - LP: #1186062 + * tick: Cleanup NOHZ per cpu data on cpu down + - LP: #1186062 + * ACPI / EC: Restart transaction even when the IBF flag set + - LP: #1186062 + * drm/radeon: check incoming cliprects pointer + - LP: #1186062 + * ARM: 7720/1: ARM v6/v7 cmpxchg64 shouldn't clear upper 32 bits of the + old/new value + - LP: #1186062 + * powerpc: Bring all threads online prior to migration/hibernation + - LP: #1186062 + * timer: Don't reinitialize the cpu base lock during CPU_UP_PREPARE + - LP: #1186062 + * tracing: Fix leaks of filter preds + - LP: #1186062 + * usermodehelper: check subprocess_info->path != NULL + - LP: #1186062 + * drivers/char/ipmi: memcpy, need additional 2 bytes to avoid memory + overflow + - LP: #1186062 + * ipmi: ipmi_devintf: compat_ioctl method fails to take ipmi_mutex + - LP: #1186062 + * dm thin: do not set discard_zeroes_data + - LP: #1186062 + * drivers/rtc/rtc-pcf2123.c: fix error return code in pcf2123_probe() + - LP: #1186062 + * pch_dma: Use GFP_ATOMIC because called from interrupt context + - LP: #1186062 + * ARM: EXYNOS5: Fix kernel dump in AFTR idle mode + - LP: #1186062 + * watchdog: Fix race condition in registration code + - LP: #1186062 + * Linux 3.5.7.13 + - LP: #1186062 + + -- Steve Conklin Fri, 31 May 2013 09:29:44 -0500 + +linux (3.5.0-32.53) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1185161 + + [ Upstream Kernel Changes ] + + * iscsi-target: fix heap buffer overflow on error + - CVE-2013-2850 + + -- Steve Conklin Tue, 28 May 2013 15:17:15 -0500 + +linux (3.5.0-31.52) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1180568 + * merged back in delta from 28.48 to 29.49 + + -- Steve Conklin Wed, 15 May 2013 16:25:01 -0500 + +linux (3.5.0-30.51) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1180038 + * Based on 3.5.0-28.48 release + - entire delta from 28.48 to 29.49 removed + - CVE release is based on updates+fix + + [ Upstream Kernel Changes ] + + * perf: Treat attr.config as u64 in perf_swevent_init() + - LP: #1179943 + - CVE-2013-2094 + + -- Steve Conklin Tue, 14 May 2013 13:01:04 -0500 + +linux (3.5.0-29.49) quantal; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1177007 + + [ AceLan Kao ] + + * SAUCE: (no-up) alx: disables MSI generation + - LP: #927782 + + [ Brad Figg ] + + * CONFIG: CONFIG_EFI_VARS_PSTORE (not set); CONFIG_PPC_EMULATE_SSTEP=y + + [ Gavin Guo ] + + * SAUCE: Bluetooth: Add support for Broadcom 413c:8143 + - LP: #1166113 + + [ joseph.salisbury@canonical.com ] + + * SAUCE: (no-up) x86: reboot: Make Dell Optiplex 390 use reboot=pci + - LP: #800660 + + [ Leann Ogasawara ] + + * SAUCE: cpuidle: Fix NULL pointer dereference when offlining CPU's + - LP: #1168452 + + [ Stefan Bader ] + + * [Config] Add libceph to base modules list + - LP: #1164739 + + [ Tim Gardner ] + + * SAUCE: (no-up) alx: Don't check netif_running() before powering up + - LP: #1172415 + * [packaging] Bump ABI for every new release + + [ Upstream Kernel Changes ] + + * Revert "drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR" + - LP: #1174946 + * Input: ALPS - document the alps.h data structures + - LP: #1089413 + * Input: ALPS - copy "model" info into alps_data struct + - LP: #1089413 + * Input: ALPS - move alps_get_model() down below hw_init code + - LP: #1089413 + * Input: ALPS - introduce helper function for repeated commands + - LP: #1089413 + * Input: ALPS - rework detection sequence + - LP: #1089413 + * Input: ALPS - use function pointers for different protocol handlers + - LP: #1089413 + * Input: ALPS - move {addr,nibble}_command settings into + alps_set_defaults() + - LP: #1089413 + * Input: ALPS - rework detection of Pinnacle AGx touchpads + - LP: #1089413 + * Input: ALPS - fix command mode check + - LP: #1089413 + * Input: ALPS - move pixel and bitmap info into alps_data struct + - LP: #1089413 + * Input: ALPS - make the V3 packet field decoder "pluggable" + - LP: #1089413 + * Input: ALPS - add support for "Rushmore" touchpads + - LP: #1089413 + * Input: ALPS - enable trackstick on Rushmore touchpads + - LP: #1089413 + * Input: ALPS - remove unused argument to alps_enter_command_mode() + - LP: #1089413 + * Input: ALPS - add "Dolphin V1" touchpad support + - LP: #1089413 + * tg3: fix length overflow in VPD firmware parsing + - LP: #1167065 + - CVE-2013-1929 + * Bluetooth: Add support for atheros 04ca:3004 device to ath3k + - LP: #1168852 + * ata_piix: Fix DVD not dectected at some Haswell platforms + - LP: #1170797 + * clockevents: Don't allow dummy broadcast timers + - LP: #1174946 + * Bluetooth: Add support for Dell[QCA 0cf3:0036] + - LP: #1174946 + * Bluetooth: Add support for Dell[QCA 0cf3:817a] + - LP: #1174946 + * ath9k_hw: revert chainmask to user configuration after calibration + - LP: #1174946 + * ath9k: limit tx path hang check to normal data queues + - LP: #1174946 + * rtlwifi: usb: add missing freeing of skbuff + - LP: #1174946 + * net/irda: add missing error path release_sock call + - LP: #1174946 + * pnfs-block: removing DM device maybe cause oops when call dev_remove + - LP: #1174946 + * NFSv4.1: Fix a race in pNFS layoutcommit + - LP: #1174946 + * IPoIB: Fix send lockup due to missed TX completion + - LP: #1174946 + * SUNRPC: Add barriers to ensure read ordering in + rpc_wake_up_task_queue_locked + - LP: #1174946 + * Nest rename_lock inside vfsmount_lock + - LP: #1174946 + * vt: synchronize_rcu() under spinlock is not nice... + - LP: #1174946 + * iommu/amd: Make sure dma_ops are set for hotplug devices + - LP: #1174946 + * i915: initialize CADL in opregion + - LP: #1174946 + * tracing: Protect tracer flags with trace_types_lock + - LP: #1174946 + * tracing: Prevent buffer overwrite disabled for latency tracers + - LP: #1174946 + * nohz: Make tick_nohz_irq_exit() irq safe + - LP: #1174946 + * udf: Fix bitmap overflow on large filesystems with small block size + - LP: #1174946 + * xen/blkback: correctly respond to unknown, non-native requests + - LP: #1174946 + * tty: atmel_serial_probe(): index of atmel_ports[] fix + - LP: #1174946 + * HID: usbhid: quirk for Realtek Multi-card reader + - LP: #1174946 + * HID: usbhid: quirk for MSI GX680R led panel + - LP: #1174946 + * xen-blkback: fix dispatch_rw_block_io() error path + - LP: #1174946 + * sysfs: handle failure path correctly for readdir() + - LP: #1174946 + * usb: xhci: Fix TRB transfer length macro used for Event TRB. + - LP: #1174946 + * staging: comedi: s626: fix continuous acquisition + - LP: #1174946 + * USB: serial: fix hang when opening port + - LP: #1174946 + * Btrfs: fix race between mmap writes and compression + - LP: #1174946 + * Btrfs: fix space leak when we fail to reserve metadata space + - LP: #1174946 + * Btrfs: limit the global reserve to 512mb + - LP: #1174946 + * usb: ftdi_sio: Add support for Mitsubishi FX-USB-AW/-BD + - LP: #1174946 + * Btrfs: don't drop path when printing out tree errors in scrub + - LP: #1174946 + * USB: serial: add modem-status-change wait queue + - LP: #1174946 + * USB: ark3116: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ch341: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: cypress_m8: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: f81232: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ftdi_sio: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: io_edgeport: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: io_ti: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: mct_u232: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: mos7840: fix broken TIOCMIWAIT + - LP: #1174946 + * USB: mos7840: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: oti6858: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: pl2303: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: quatech2: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: spcp8x5: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ssu100: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * USB: ti_usb_3410_5052: fix use-after-free in TIOCMIWAIT + - LP: #1174946 + * Btrfs: use set_nlink if our i_nlink is 0 + - LP: #1174946 + * Bluetooth: Fix not closing SCO sockets in the BT_CONNECT2 state + - LP: #1174946 + * HID: usbhid: fix build problem + - LP: #1174946 + * sysfs: fix race between readdir and lseek + - LP: #1174946 + * net: remove a WARN_ON() in net_enable_timestamp() + - LP: #1174946 + * sky2: Receive Overflows not counted + - LP: #1174946 + * sky2: Threshold for Pause Packet is set wrong + - LP: #1174946 + * tcp: preserve ACK clocking in TSO + - LP: #1174946 + * tcp: undo spurious timeout after SACK reneging + - LP: #1174946 + * 8021q: fix a potential use-after-free + - LP: #1174946 + * thermal: shorten too long mcast group name + - LP: #1174946 + * genetlink: trigger BUG_ON if a group name is too long + - LP: #1174946 + * unix: fix a race condition in unix_release() + - LP: #1174946 + * bonding: remove already created master sysfs link on failure + - LP: #1174946 + * bonding: fix miimon and arp_interval delayed work race conditions + - LP: #1174946 + * bonding: fix disabling of arp_interval and miimon + - LP: #1174946 + * drivers: net: ethernet: davinci_emac: use netif_wake_queue() while + restarting tx queue + - LP: #1174946 + * drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting + tx queue + - LP: #1174946 + * net: fix *_DIAG_MAX constants + - LP: #1174946 + * aoe: reserve enough headroom on skbs + - LP: #1174946 + * atl1e: drop pci-msi support because of packet corruption + - LP: #1174946 + * DM9000B: driver initialization upgrade + - LP: #1174946 + * ipv6: don't accept multicast traffic with scope 0 + - LP: #1174946 + * ipv6: fix bad free of addrconf_init_net + - LP: #1174946 + * ipv6: don't accept node local multicast traffic from the wire + - LP: #1174946 + * ks8851: Fix interpretation of rxlen field. + - LP: #1174946 + * net: add a synchronize_net() in netdev_rx_handler_unregister() + - LP: #1174946 + * pch_gbe: fix ip_summed checksum reporting on rx + - LP: #1174946 + * smsc75xx: fix jumbo frame support + - LP: #1174946 + * bonding: get netdev_rx_handler_unregister out of locks + - LP: #1174946 + * mac80211: always synchronize_net() during station removal + - LP: #1174946 + * regmap: cache Fix regcache-rbtree sync + - LP: #1174946 + * iwlwifi: dvm: don't send HCMD in restart flow + - LP: #1174946 + * nfsd4: reject "negative" acl lengths + - LP: #1174946 + * can: sja1000: fix define conflict on SH + - LP: #1174946 + * b43: N-PHY: increase initial value of "mind" in RSSI calibration + - LP: #1174946 + * b43: A fix for DMA transmission sequence errors + - LP: #1174946 + * b43: N-PHY: use more bits for offset in RSSI calibration + - LP: #1174946 + * tile: expect new initramfs name from hypervisor file system + - LP: #1174946 + * virtio: console: rename cvq_lock to c_ivq_lock + - LP: #1174946 + * virtio: console: add locking around c_ovq operations + - LP: #1174946 + * ARM: cns3xxx: fix mapping of private memory region + - LP: #1174946 + * loop: prevent bdev freeing while device in use + - LP: #1174946 + * thermal: return an error on failure to register thermal class + - LP: #1174946 + * UBIFS: make space fixup work in the remount case + - LP: #1174946 + * reiserfs: Fix warning and inode leak when deleting inode with xattrs + - LP: #1174946 + * mm: prevent mmap_cache race in find_vma() + - LP: #1174946 + * Linux 3.5.7.10 + - LP: #1174946 + * ASoC: imx-ssi: Fix occasional AC97 reset failure + - LP: #1174946 + * ASoC: dma-sh7760: Fix compile error + - LP: #1174946 + * spi/s3c64xx: modified error interrupt handling and init + - LP: #1174946 + * spi/mpc512x-psc: optionally keep PSC SS asserted across xfer segmensts + - LP: #1174946 + * EISA/PCI: Fix bus res reference + - LP: #1174946 + * EISA/PCI: Init EISA early, before PNP + - LP: #1174946 + * mwifiex: limit channel number not to overflow memory + - LP: #1174946 + * ALSA: hda - bug fix on return value when getting HDMI ELD info + - LP: #1174946 + * x86: remove the x32 syscall bitmask from syscall_get_nr() + - LP: #1174946 + * ixgbe: fix registration order of driver and DCA nofitication + - LP: #1174946 + * alpha: Add irongate_io to PCI bus resources + - LP: #1174946 + * crypto: gcm - fix assumption that assoc has one segment + - LP: #1174946 + * libata: Use integer return value for atapi_command_packet_set + - LP: #1174946 + * libata: Set max sector to 65535 for Slimtype DVD A DS8A8SH drive + - LP: #1174946 + * remoteproc: fix error path of handle_vdev + - LP: #1174946 + * hwspinlock: fix __hwspin_lock_request error path + - LP: #1174946 + * remoteproc: fix FW_CONFIG typo + - LP: #1174946 + * powerpc: pSeries_lpar_hpte_remove fails from Adjunct partition being + performed before the ANDCOND test + - LP: #1174946 + * ftrace: Consistently restore trace function on sysctl enabling + - LP: #1174946 + * spinlocks and preemption points need to be at least compiler barriers + - LP: #1174946 + * drm/mgag200: Index 24 in extended CRTC registers is 24 in hex, not + decimal. + - LP: #1174946 + * panic: fix a possible deadlock in panic() + - LP: #1174946 + * Bluetooth: Add support for IMC Networks [13d3:3393] + - LP: #1174946 + * Bluetooth: Add support for GC-WB300D PCIe [04ca:3006] to ath3k. + - LP: #1174946 + * Bluetooth: Add support for Foxconn / Hon Hai [0489:e04e] + - LP: #1174946 + * Bluetooth: Add support for Foxconn / Hon Hai [0489:e056] + - LP: #1174946 + * Bluetooth device 04ca:3008 should use ath3k + - LP: #1174946 + * Bluetooth: Device 0cf3:3008 should map AR 3012 + - LP: #1174946 + * ALSA: hda - Enabling Realtek ALC 671 codec + - LP: #1174946 + * ALSA: hda - fix typo in proc output + - LP: #1174946 + * can: gw: use kmem_cache_free() instead of kfree() + - LP: #1174946 + * tracing: Fix double free when function profile init failed + - LP: #1174946 + * r8169: fix auto speed down issue + - LP: #1174946 + * x86: Fix rebuild with EFI_STUB enabled + - LP: #1174946 + * msi-wmi: Fix memory leak + - LP: #1174946 + * DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines. + - LP: #1174946 + * drm/i915: add quirk to invert brightness on eMachines G725 + - LP: #1174946 + * drm/i915: add quirk to invert brightness on eMachines e725 + - LP: #1174946 + * drm/i915: add quirk to invert brightness on Packard Bell NCL20 + - LP: #1174946 + * block: avoid using uninitialized value in from queue_var_store + - LP: #1174946 + * ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_* + - LP: #1174946 + * PM / reboot: call syscore_shutdown() after disable_nonboot_cpus() + - LP: #1174946 + * ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is + running + - LP: #1174946 + * drm/i915: Use the correct size of the GTT for placing the per-process + entries + - LP: #1174946 + * GFS2: Fix unlock of fcntl locks during withdrawn state + - LP: #1174946 + * libsas: fix handling vacant phy in sas_set_ex_phy() + - LP: #1174946 + * sched_clock: Prevent 64bit inatomicity on 32bit systems + - LP: #1174946 + * x86, mm, paravirt: Fix vmalloc_fault oops during lazy MMU updates + - LP: #1174946 + * x86, mm: Patch out arch_flush_lazy_mmu_mode() when running on bare + metal + - LP: #1174946 + * cifs: Allow passwords which begin with a delimitor + - LP: #1174946 + * target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition + CDBs + - LP: #1174946 + * udl: handle EDID failure properly. + - LP: #1174946 + * tracing: Fix possible NULL pointer dereferences + - LP: #1174946 + * ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section + - LP: #1174946 + * Btrfs: make sure nbytes are right after log replay + - LP: #1174946 + * kobject: fix kset_find_obj() race with concurrent last kobject_put() + - LP: #1174946 + * vfs: Revert spurious fix to spinning prevention in prune_icache_sb + - LP: #1174946 + * kref: Implement kref_get_unless_zero v3 + - LP: #1174946 + * hrtimer: Don't reinitialize a cpu_base lock on CPU_UP + - LP: #1174946 + * ARM: Do 15e0d9e37c (ARM: pm: let platforms select cpu_suspend support) + properly + - LP: #1174946 + * efivars: Allow disabling use as a pstore backend + - LP: #1174946 + * efivars: Add module parameter to disable use as a pstore backend + - LP: #1174946 + * efivars: Fix check for CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE + - LP: #1174946 + * KVM: Allow cross page reads and writes from cached translations. + - LP: #1174946 + * mtd: Disable mtdchar mmap on MMU systems + - LP: #1174946 + * Linux 3.5.7.11 + - LP: #1174946 + + -- Brad Figg Mon, 06 May 2013 10:25:47 -0700 + +linux (3.5.0-28.48) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1172023 + + [ Steve Conklin ] + + * Revert "drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for + scanline waits" + - LP: #1140716 + + [ Upstream Kernel Changes ] + + * fbcon: fix locking harder + - LP: #1167114 + + -- Brad Figg Tue, 23 Apr 2013 14:01:06 -0700 + +linux (3.5.0-28.47) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1166876 + + [ Adam Lee ] + + * SAUCE: Bluetooth: Add support for 105b:e065 + - LP: #1161261 + + [ John Johansen ] + + * SAUCE: (no-up) apparmor: Fix quieting of audit messages for network + mediation + - LP: #1163259 + + [ Upstream Kernel Changes ] + + * NFSv4: Fix the string length returned by the idmapper + - LP: #1101292 + * Input: cypress_ps2 - fix trackpadi found in Dell XPS12 + - LP: #1103594 + * omap_vout: find_vma() needs ->mmap_sem held + - LP: #1164714 + * nfsd: Fix memleak + - LP: #1164714 + * iommu/amd: Initialize device table after dma_ops + - LP: #1164714 + * svcrpc: make svc_age_temp_xprts enqueue under sv_lock + - LP: #1164714 + * target: Add missing mapped_lun bounds checking during make_mappedlun + setup + - LP: #1164714 + * xen-blkback: do not leak mode property + - LP: #1164714 + * btrfs: Init io_lock after cloning btrfs device struct + - LP: #1164714 + * NFS: Don't allow NFS silly-renamed files to be deleted, no signal + - LP: #1164714 + * SUNRPC: Don't start the retransmission timer when out of socket space + - LP: #1164714 + * storvsc: Initialize the sglist + - LP: #1164714 + * dc395x: uninitialized variable in device_alloc() + - LP: #1164714 + * ALSA: bt87x: Make load_all parameter working again + - LP: #1164714 + * ARM: VFP: fix emulation of second VFP instruction + - LP: #1164714 + * ARM: fix scheduling while atomic warning in alignment handling code + - LP: #1164714 + * doc, xen: Mention 'earlyprintk=xen' in the documentation. + - LP: #1164714 + * doc, kernel-parameters: Document 'console=hvc' + - LP: #1164714 + * sony-laptop: fully enable SNY controlled modems + - LP: #1164714 + * x86: Make sure we can boot in the case the BDA contains pure garbage + - LP: #1164714 + * cifs: ensure that cifs_get_root() only traverses directories + - LP: #1164714 + * iscsi-target: Fix immediate queue starvation regression with DATAIN + - LP: #1164714 + * ocfs2: fix ocfs2_init_security_and_acl() to initialize acl correctly + - LP: #1164714 + * ocfs2: ac->ac_allow_chain_relink=0 won't disable group relink + - LP: #1164714 + * block: fix ext_devt_idr handling + - LP: #1164714 + * idr: fix a subtle bug in idr_get_next() + - LP: #1164714 + * block: fix synchronization and limit check in blk_alloc_devt() + - LP: #1164714 + * firewire: add minor number range check to fw_device_init() + - LP: #1164714 + * idr: fix top layer handling + - LP: #1164714 + * sysctl: fix null checking in bin_dn_node_address() + - LP: #1164714 + * nbd: fsync and kill block device on shutdown + - LP: #1164714 + * target/pscsi: Fix page increment + - LP: #1164714 + * xen/pat: Disable PAT using pat_enabled value. + - LP: #1164714 + * xen/pci: We don't do multiple MSI's. + - LP: #1164714 + * xenbus: fix compile failure on ARM with Xen enabled + - LP: #1164714 + * dm snapshot: add missing module aliases + - LP: #1164714 + * ext4: convert number of blocks to clusters properly + - LP: #1164714 + * ata_piix: reenable MS Virtual PC guests + - LP: #1164714 + * nfsd: add get_uint for u32's + - LP: #1164714 + * asus-laptop: Do not call HWRS on init + - LP: #1164714 + * ata_piix: IDE-mode SATA patch for Intel Avoton DeviceIDs + - LP: #1164714 + * ata_piix: Add Device IDs for Intel Wellsburg PCH + - LP: #1164714 + * ata_piix: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1164714 + * fs: cachefiles: add support for large files in filesystem caching + - LP: #1164714 + * fuse: don't WARN when nlink is zero + - LP: #1164714 + * usb hid quirks for Masterkit MA901 usb radio + - LP: #1164714 + * pstore: Avoid deadlock in panic and emergency-restart path + - LP: #1164714 + * unbreak automounter support on 64-bit kernel with 32-bit userspace (v2) + - LP: #1164714 + * workqueue: consider work function when searching for busy work items + - LP: #1164714 + * zram: Fix deadlock bug in partial read/write + - LP: #1164714 + * md: protect against crash upon fsync on ro array + - LP: #1164714 + * md: fix two bugs when attempting to resize RAID0 array. + - LP: #1164714 + * md: raid0: fix error return from create_stripe_zones. + - LP: #1164714 + * ath9k: fix RSSI dummy marker value + - LP: #1164714 + * ath9k_htc: fix signal strength handling issues + - LP: #1164714 + * ath9k_hw: improve reset reliability after errors + - LP: #1164714 + * mwifiex: correct sleep delay counter + - LP: #1164714 + * libertas: fix crash for SD8688 + - LP: #1164714 + * hw_random: make buffer usable in scatterlist. + - LP: #1164714 + * drm/i915: Don't clobber crtc->fb when queue_flip fails + - LP: #1164714 + * ARM: 7657/1: head: fix swapper and idmap population with LPAE and + big-endian + - LP: #1164714 + * ARM: 7663/1: perf: fix ARMv7 EVTYPE_MASK to include NSH bit + - LP: #1164714 + * userns: Stop oopsing in key_change_session_keyring + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Fix peak attribute handling + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Use detected chip ID to select supported + functionality + - LP: #1164714 + * hwmon: (sht15) Check return value of regulator_enable() + - LP: #1164714 + * random: fix locking dependency with the tasklist_lock + - LP: #1164714 + * ALSA: vmaster: Fix slave change notification + - LP: #1164714 + * ALSA: ice1712: Initialize card->private_data properly + - LP: #1164714 + * drm/radeon: add primary dac adj quirk for R200 board + - LP: #1164714 + * dmi_scan: fix missing check for _DMI_ signature in smbios_present() + - LP: #1164714 + * Btrfs: account for orphan inodes properly during cleanup + - LP: #1164714 + * HID: logitech-dj: do not directly call hid_output_raw_report() during + probe + - LP: #1164714 + * ftrace: Update the kconfig for DYNAMIC_FTRACE + - LP: #1164714 + * e1000e: fix pci-device enable-counter balance + - LP: #1164714 + * Fix memory leak in cpufreq stats. + - LP: #1164714 + * Btrfs: fix panic when recovering tree log + - LP: #1164714 + * xen/pciback: Don't disable a PCI device that is already disabled. + - LP: #1164714 + * vfs: fix pipe counter breakage + - LP: #1164714 + * Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and + security keys + - LP: #1164714 + * drm/i915: Increase the RC6p threshold. + - LP: #1164714 + * USB: Handle warm reset failure on empty port. + - LP: #1164714 + * USB: Don't use EHCI port sempahore for USB 3.0 hubs. + - LP: #1164714 + * USB: Prepare for refactoring by adding extra udev checks. + - LP: #1164714 + * USB: Rip out recursive call on warm port reset. + - LP: #1164714 + * USB: Fix connected device switch to Inactive state. + - LP: #1164714 + * Linux 3.5.7.8 + - LP: #1164714 + * USB: option: add Huawei E5331 + - LP: #1164714 + * USB: storage: fix Huawei mode switching regression + - LP: #1164714 + * USB: added support for Cinterion's products AH6 and PLS8 + - LP: #1164714 + * ALSA: seq: Fix missing error handling in snd_seq_timer_open() + - LP: #1164714 + * usb: cp210x new Vendor/Device IDs + - LP: #1164714 + * staging: vt6656: Fix oops on resume from suspend. + - LP: #1164714 + * qcaux: add Franklin U600 + - LP: #1164714 + * ext3: Fix format string issues + - LP: #1164714 + * tty/serial: Add support for Altera serial port + - LP: #1164714 + * Fix 4 port and add support for 8 port 'Unknown' PCI serial port cards + - LP: #1164714 + * serial: 8250_pci: add support for another kind of NetMos Technology PCI + 9835 Multi-I/O Controller + - LP: #1164714 + * tty: serial: fix typo "ARCH_S5P6450" + - LP: #1164714 + * usb: serial: Add Rigblaster Advantage to device table + - LP: #1164714 + * w1: fix oops when w1_search is called from netlink connector + - LP: #1164714 + * USB: cdc-wdm: fix buffer overflow + - LP: #1164714 + * hwmon: (lineage-pem) Add missing terminating entry for + pem_[input|fan]_attributes + - LP: #1164714 + * hwmon: (pmbus/ltc2978) Fix temperature reporting + - LP: #1164714 + * btrfs: use rcu_barrier() to wait for bdev puts at unmount + - LP: #1164714 + * hwmon: (sht15) Fix memory leak if regulator_enable() fails + - LP: #1164714 + * TTY: do not reset master's packet mode + - LP: #1164714 + * virtio: rng: disallow multiple device registrations, fixes crashes + - LP: #1164714 + * block: use i_size_write() in bd_set_size() + - LP: #1164714 + * loopdev: fix a deadlock + - LP: #1164714 + * loopdev: remove an user triggerable oops + - LP: #1164714 + * proc connector: reject unprivileged listener bumps + - LP: #1164714 + * s390: critical section cleanup vs. machine checks + - LP: #1164714 + * s390/mm: fix flush_tlb_kernel_range() + - LP: #1164714 + * powerpc: Fix STAB initialization + - LP: #1164714 + * powerpc: Fix cputable entry for 970MP rev 1.0 + - LP: #1164714 + * atmel_lcdfb: fix 16-bpp modes on older SOCs + - LP: #1164714 + * selinux: use GFP_ATOMIC under spin_lock + - LP: #1164714 + * perf,x86: fix kernel crash with PEBS/BTS after suspend/resume + - LP: #1164714 + * perf,x86: fix link failure for non-Intel configs + - LP: #1164714 + * perf,x86: fix wrmsr_on_cpu() warning on suspend/resume + - LP: #1164714 + * l2tp: Restore socket refcount when sendmsg succeeds + - LP: #1164714 + * rds: limit the size allocated by rds_message_alloc() + - LP: #1164714 + * net: ipv6: Don't purge default router if accept_ra=2 + - LP: #1164714 + * tcp: fix double-counted receiver RTT when leaving receiver fast path + - LP: #1164714 + * tun: add a missing nf_reset() in tun_net_xmit() + - LP: #1164714 + * macvlan: Set IFF_UNICAST_FLT flag to prevent unnecessary promisc mode. + - LP: #1164714 + * netlabel: correctly list all the static label mappings + - LP: #1164714 + * netlabel: fix build problems when CONFIG_IPV6=n + - LP: #1164714 + * bridging: fix rx_handlers return code + - LP: #1164714 + * ipv6: stop multicast forwarding to process interface scoped addresses + - LP: #1164714 + * rtnl: fix info leak on RTM_GETLINK request for VF devices + - LP: #1164714 + * dcbnl: fix various netlink info leaks + - LP: #1164714 + * 6lowpan: Fix endianness issue in is_addr_link_local(). + - LP: #1164714 + * ahci: Add Device IDs for Intel Lynx Point-LP PCH + - LP: #1164714 + * ahci: AHCI-mode SATA patch for Intel Avoton DeviceIDs + - LP: #1164714 + * ahci: Add Device IDs for Intel Wellsburg PCH + - LP: #1164714 + * HID: add support for Sony RF receiver with USB product id 0x0374 + - LP: #1164714 + * HID: clean up quirk for Sony RF receivers + - LP: #1164714 + * rt2x00: error in configurations with mesh support disabled + - LP: #1164714 + * mwifiex: fix potential out-of-boundary access to ibss rate table + - LP: #1164714 + * rtlwifi: rtl8192cu: Fix schedule while atomic bug splat + - LP: #1164714 + * rtlwifi: rtl8192cu: Fix problem that prevents reassociation + - LP: #1164714 + * vhost/net: fix heads usage of ubuf_info + - LP: #1164714 + * udf: avoid info leak on export + - LP: #1164714 + * isofs: avoid info leak on export + - LP: #1164714 + * key: Fix resource leak + - LP: #1164714 + * ext4: fix the wrong number of the allocated blocks in + ext4_split_extent() + - LP: #1164714 + * jbd2: fix use after free in jbd2_journal_dirty_metadata() + - LP: #1164714 + * ext4: use atomic64_t for the per-flexbg free_clusters count + - LP: #1164714 + * tracing: Fix race in snapshot swapping + - LP: #1164714 + * cifs: delay super block destruction until all cifsFileInfo objects are + gone + - LP: #1164714 + * drm/i915: restrict kernel address leak in debugfs + - LP: #1164714 + * drm/i915: bounds check execbuffer relocation count + - LP: #1164714 + - CVE-2013-0913 + * tracing: Fix free of probe entry by calling call_rcu_sched() + - LP: #1164714 + * tracing: Keep overwrite in sync between regular and snapshot buffers + - LP: #1164714 + * USB: xhci: correctly enable interrupts + - LP: #1164714 + * usb-storage: add unusual_devs entry for Samsung YP-Z3 mp3 player + - LP: #1164714 + * drm/radeon: fix backend map setup on 1 RB trinity boards + - LP: #1164714 + * drm/radeon/benchmark: make sure bo blit copy exists before using it + - LP: #1164714 + * drm/radeon: add support for Richland APUs + - LP: #1164714 + * drm/radeon: add Richland pci ids + - LP: #1164714 + * ALSA: hda/cirrus - Fix the digital beep registration + - LP: #1164714 + * USB: xhci - fix bit definitions for IMAN register + - LP: #1164714 + * x86-64: Fix the failure case in copy_user_handle_tail() + - LP: #1164714 + * target/iscsi: Fix mutual CHAP auth on big-endian arches + - LP: #1164714 + * target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os + - LP: #1164714 + * ALSA: snd-usb: mixer: propagate errors up the call chain + - LP: #1164714 + * ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() + - LP: #1164714 + * ext4: fix data=journal fast mount/umount hang + - LP: #1164714 + * ALSA: hda - Fix typo in checking IEC958 emphasis bit + - LP: #1164714 + * usb: gadget: udc-core: fix a regression during gadget driver unbinding + - LP: #1164714 + * usb: gadget: ffs: fix enable multiple instances + - LP: #1164714 + * dm thin: fix discard corruption + - LP: #1164714 + * dm verity: avoid deadlock + - LP: #1164714 + * drm/mgag200: Bug fix: Modified pll algorithm for EH project + - LP: #1164714 + * cifs: ignore everything in SPNEGO blob after mechTypes + - LP: #1164714 + * USB: cdc-acm: fix device unregistration + - LP: #1164714 + * USB: garmin_gps: fix memory leak on disconnect + - LP: #1164714 + * USB: io_ti: fix get_icount for two port adapters + - LP: #1164714 + * USB: serial: fix interface refcounting + - LP: #1164714 + * i2c: tegra: check the clk_prepare_enable() return value + - LP: #1164714 + * mm/hugetlb: fix total hugetlbfs pages count when using memory + overcommit accouting + - LP: #1164714 + * drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR + - LP: #1164714 + * KMS: fix EDID detailed timing vsync parsing + - LP: #1164714 + * KMS: fix EDID detailed timing frame rate + - LP: #1164714 + * tg3: 5715 does not link up when autoneg off + - LP: #1164714 + * sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline + option + - LP: #1164714 + * sfc: Disable VF queues during register self-test + - LP: #1164714 + * sfc: Really disable flow control while flushing + - LP: #1164714 + * sfc: Convert firmware subtypes to native byte order in + efx_mcdi_get_board_cfg() + - LP: #1164714 + * sfc: Add parentheses around use of bitfield macro arguments + - LP: #1164714 + * sfc: Fix MCDI structure field lookup + - LP: #1164714 + * sfc: Avoid generating over-length MC_CMD_FLUSH_RX_QUEUES request + - LP: #1164714 + * sfc: Work-around flush timeout when flushes have completed + - LP: #1164714 + * sfc: lock TX queues when calling netif_device_detach() + - LP: #1164714 + * sfc: Correctly initialise reset_method in siena_test_chip() + - LP: #1164714 + * sfc: Fix timekeeping in efx_mcdi_poll() + - LP: #1164714 + * sfc: Properly sync RX DMA buffer when it is not the last in the page + - LP: #1164714 + * sfc: Fix efx_rx_buf_offset() in the presence of swiotlb + - LP: #1164714 + * sfc: Correct efx_rx_buffer::page_offset when EFX_PAGE_IP_ALIGN != 0 + - LP: #1164714 + * sfc: Detach net device when stopping queues for reconfiguration + - LP: #1164714 + * sfc: Only use TX push if a single descriptor is to be written + - LP: #1164714 + * sfc: Disable soft interrupt handling during efx_device_detach_sync() + - LP: #1164714 + * sctp: don't break the loop while meeting the active_path so as to find + the matched transport + - LP: #1164714 + * netconsole: don't call __netpoll_cleanup() while atomic + - LP: #1164714 + * net/ipv4: Ensure that location of timestamp option is stored + - LP: #1164714 + * bonding: don't call update_speed_duplex() under spinlocks + - LP: #1164714 + * sctp: Use correct sideffect command in duplicate cookie handling + - LP: #1164714 + * ipv4: fix definition of FIB_TABLE_HASHSZ + - LP: #1164714 + * rtnetlink: Mask the rta_type when range checking + - LP: #1164714 + * tcp: fix skb_availroom() + - LP: #1164714 + * inet: limit length of fragment queue hash table bucket lists + - LP: #1164714 + * bnx2x: fix occasional statistics off-by-4GB error + - LP: #1164714 + * signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear + sa_restorer + - LP: #1164714 + * kernel/signal.c: use __ARCH_HAS_SA_RESTORER instead of SA_RESTORER + - LP: #1164714 + * vfs,proc: guarantee unique inodes in /proc + - LP: #1164714 + * Linux 3.5.7.9 + - LP: #1164714 + * KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME + (CVE-2013-1796) + - LP: #1158254 + - CVE-2013-1796 + * KVM: Fix bounds checking in ioapic indirect register reads + (CVE-2013-1798) + - LP: #1158262 + - CVE-2013-1798 + * KVM: x86: Convert MSR_KVM_SYSTEM_TIME to use gfn_to_hva_cache functions + (CVE-2013-1797) + - LP: #1158258 + - CVE-2013-1797 + * drm/i915: "Flush Me Harder" required on gen6+ + - LP: #1140716 + * drm/i915: PIPE_CONTROL_TLB_INVALIDATE + - LP: #1140716 + * drm/i915: Apply post-sync write for pipe control invalidates + - LP: #1140716 + * drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op v3 + - LP: #1140716 + * drm/i915: PIPE_CONTROL TLB invalidate requires CS stall + - LP: #1140716 + + -- Steve Conklin Tue, 09 Apr 2013 11:43:02 -0500 + +linux (3.5.0-27.46) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1159991 + + [ Steve Conklin ] + + * Start New Release + + [ Upstream Kernel Changes ] + + * crypto: user - fix info leaks in report API + - LP: #1156790, #1156795, #1156799 + - CVE-2013-2546 + * brcmsmac: fix mismatch in number of custom regulatory rules + - LP: #1156769 + + [ Xiangliang Yu ] + + * SAUCE: PCI: define macro for marvell vendor ID + - LP: #1159863 + * SAUCE: PCI: fix system hang issue of Marvell SATA host controller + - LP: #1159863 + + -- Steve Conklin Mon, 25 Mar 2013 14:32:06 -0500 + +linux (3.5.0-27.45) quantal-proposed; urgency=low + + [Steve Conklin] + + * no change + + -- Steve Conklin Tue, 19 Mar 2013 15:26:20 -0500 + +linux (3.5.0-27.44) quantal-proposed; urgency=low + + [Steve Conklin] + + * no change + + -- Steve Conklin Tue, 19 Mar 2013 10:26:04 -0500 + +linux (3.5.0-27.43) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1157270 + + [ Adam Lee ] + + * SAUCE: Bluetooth: Add support for 04ca:2007 + - LP: #1153448 + + [ Andy Whitcroft ] + + * [Config] re-disable CONFIG_SOUND_OSS_PRECLAIM + - LP: #1105230 + + [ Brad Figg ] + + * Start new release + + [ Kamal Mostafa ] + + * SAUCE: alx: use github.com/qca/alx repo + - LP: #1154238 + + [ Luis Henriques ] + + * [Config] CONFIG_NFS_V4_1=y + - LP: #1111416 + + [ Qualcomm Atheros, Inc ] + + * SAUCE: alx: Update to heads/master + - LP: #1154238 + + [ Upstream Kernel Changes ] + + * Revert "drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S" + - LP: #1144961 + * genirq: Avoid deadlock in spurious handling + - LP: #1144961 + * KVM: s390: Handle hosts not supporting s390-virtio. + - LP: #1144961 + * v4l: Reset subdev v4l2_dev field to NULL if registration fails + - LP: #1144961 + * powerpc/eeh: Fix crash when adding a device in a slot with DDW + - LP: #1144961 + * pcmcia/vrc4171: Add missing spinlock init + - LP: #1144961 + * USB: DWC3: Generate interrupt on each TRB as default option + - LP: #1144961 + * usb: dwc3: gadget: fix skip LINK_TRB on ISOC + - LP: #1144961 + * usb: dwc3: gadget: req->queued must be forced to false in cleanup + - LP: #1144961 + * Purge existing TLB entries in set_pte_at and ptep_set_wrprotect + - LP: #1144961 + * ARM: PXA3xx: program the CSMSADRCFG register + - LP: #1144961 + * ab8500-chargalg: Only root should have write permission on sysfs file + - LP: #1144961 + * USB: option: add and update Alcatel modems + - LP: #1144961 + * uprobes/powerpc: Add dependency on single step emulation + - LP: #1144961 + * drivers/video: fsl-diu-fb: fix pixel formats for 24 and 16 bpp + - LP: #1144961 + * s390/kvm: Fix store status for ACRS/FPRS + - LP: #1144961 + * staging: comedi: disallow COMEDI_DEVCONFIG on non-board minors + - LP: #1144961 + * ALSA: usb-audio: fix Roland A-PRO support + - LP: #1144961 + * x86-32, mm: Rip out x86_32 NUMA remapping code + - LP: #1144961 + * x86-32, mm: Remove reference to resume_map_numa_kva() + - LP: #1144961 + * x86-32, mm: Remove reference to alloc_remap() + - LP: #1144961 + * ALSA: hda - Release assigned pin/cvt at error path of hdmi_pcm_open() + - LP: #1144961 + * ab8500_btemp: Demote initcall sequence + - LP: #1144961 + * Driver core: treat unregistered bus_types as having no devices + - LP: #1144961 + * ALSA: aloop: Fix Oops while PM resume + - LP: #1144961 + * ASoC: wm2200: correct IN2L and IN3L digital mute + - LP: #1144961 + * tty: set_termios/set_termiox should not return -EINTR + - LP: #1144961 + * ARM: i.MX25: clk: parent per5_clk to AHB clock + - LP: #1144961 + * hrtimer: Prevent hrtimer_enqueue_reprogram race + - LP: #1144961 + * staging: comedi: check s->async for poll(), read() and write() + - LP: #1144961 + * ACPI: Add DMI entry for Sony VGN-FW41E_H + - LP: #1144961 + * timeconst.pl: Eliminate Perl warning + - LP: #1144961 + * p54usb: corrected USB ID for T-Com Sinus 154 data II + - LP: #1144961 + * rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id + - LP: #1144961 + * rtlwifi: rtl8192cu: Add new USB ID + - LP: #1144961 + * USB: storage: properly handle the endian issues of idProduct + - LP: #1144961 + * ALSA: rme32.c irq enabling after spin_lock_irq + - LP: #1144961 + * ALSA: ali5451: remove irq enabling in pointer callback + - LP: #1144961 + * ARM: 7643/1: sched: correct update_sched_clock() + - LP: #1144961 + * ALSA: hda - Workaround for silent output on Sony Vaio VGC-LN51JGB with + ALC889 + - LP: #1144961 + * x86: Hyper-V: register clocksource only if its advertised + - LP: #1144961 + * USB: option: add Yota / Megafon M100-1 4g modem + - LP: #1144961 + * USB: serial: fix null-pointer dereferences on disconnect + - LP: #1144961 + * idr: idr_for_each_entry() macro + - LP: #1144961 + * pps: Add pps_lookup_dev() function + - LP: #1144961 + * pps: Use pps_lookup_dev to reduce ldisc coupling + - LP: #1144961 + * pps: Fix a use-after free bug when unregistering a source. + - LP: #1144961 + * USB: option: add Huawei "ACM" devices using protocol = vendor + - LP: #1144961 + * ARM: samsung: fix assembly syntax for new gas + - LP: #1144961 + * USB: ehci-omap: Don't free gpios that we didn't request + - LP: #1144961 + * USB: ehci-omap: Fix autoloading of module + - LP: #1144961 + * USB: usb-storage: unusual_devs update for Super TOP SATA bridge + - LP: #1144961 + * perf tools: Fix build with bison 2.3 and older. + - LP: #1144961 + * serial: imx: Fix recursive locking bug + - LP: #1144961 + * posix-cpu-timers: Fix nanosleep task_struct leak + - LP: #1144961 + * drivercore: Fix ordering between deferred_probe and exiting initcalls + - LP: #1144961 + * NFSv4.1: Don't decode skipped layoutgets + - LP: #1144961 + * umount oops when remove blocklayoutdriver first + - LP: #1144961 + * HID: wiimote: fix nunchuck button parser + - LP: #1144961 + * cgroup: fix exit() vs rmdir() race + - LP: #1144961 + * cpuset: fix cpuset_print_task_mems_allowed() vs rename() race + - LP: #1144961 + * rtlwifi: usb: allocate URB control message setup_packet and data buffer + separately + - LP: #1144961 + * b43: Increase number of RX DMA slots + - LP: #1144961 + * futex: Revert "futex: Mark get_robust_list as deprecated" + - LP: #1144961 + * NLM: Ensure that we resend all pending blocking locks after a reclaim + - LP: #1144961 + * ALSA: hda - hdmi: ELD shouldn't be valid after unplug + - LP: #1144961 + * xen: close evtchn port if binding to irq fails + - LP: #1144961 + * xen: Send spinlock IPI to all waiters + - LP: #1011792, #1144961 + * ALSA: usb: Fix Processing Unit Descriptor parsers + - LP: #1144961 + * inotify: remove broken mask checks causing unmount to be EINVAL + - LP: #1144961 + * fs/block_dev.c: page cache wrongly left invalidated after + revalidate_disk() + - LP: #1144961 + * ocfs2: unlock super lock if lockres refresh failed + - LP: #1144961 + * drivers/video/backlight/adp88?0_bl.c: fix resume + - LP: #1144961 + * powerpc/kexec: Disable hard IRQ before kexec + - LP: #1144961 + * mm: mmu_notifier: have mmu_notifiers use a global SRCU so they may + safely schedule + - LP: #1144961 + * mm: mmu_notifier: make the mmu_notifier srcu static + - LP: #1144961 + * mmu_notifier_unregister NULL Pointer deref and multiple ->release() + callouts + - LP: #1144961 + * mm/fadvise.c: drain all pagevecs if POSIX_FADV_DONTNEED fails to + discard all pages + - LP: #1144961 + * tmpfs: fix use-after-free of mempolicy object + - LP: #1144961 + * dca: check against empty dca_domains list before unregister provider + - LP: #1144961 + * ext4: return ENOMEM if sb_getblk() fails + - LP: #1144961 + * ext4: check bh in ext4_read_block_bitmap() + - LP: #1144961 + * quota: autoload the quota_v2 module for QFMT_VFS_V1 quota format + - LP: #1144961 + * ext4: fix possible use-after-free with AIO + - LP: #1144961 + * drm/i915: Fix CAGF for HSW + - LP: #1144961 + * ext4: fix race in ext4_mb_add_n_trim() + - LP: #1144961 + * UBIFS: fix use of freed ubifs_orphan objects + - LP: #1144961 + * UBIFS: fix double free of ubifs_orphan objects + - LP: #1144961 + * drm/radeon/dce6: fix display powergating + - LP: #1144961 + * vgacon/vt: clear buffer attributes when we load a 512 character font + (v2) + - LP: #1144961 + * fbcon: don't lose the console font across generic->chip driver switch + - LP: #1144961 + * drm/usb: bind driver to correct device + - LP: #1144961 + * drm/udl: make usage as a console safer + - LP: #1144961 + * drm/udl: disable fb_defio by default + - LP: #1144961 + * fb: rework locking to fix lock ordering on takeover + - LP: #1144961 + * fb: Yet another band-aid for fixing lockdep mess + - LP: #1144961 + * ext4: fix xattr block allocation/release with bigalloc + - LP: #1144961 + * target: Fix lookup of dynamic NodeACLs during cached demo-mode + operation + - LP: #1144961 + * target: Add missing mapped_lun bounds checking during make_mappedlun + setup + - LP: #1144961 + * ftrace: Call ftrace cleanup module notifier after all other notifiers + - LP: #1144961 + * drm: don't add inferred modes for monitors that don't support them + - LP: #1144961 + * drm/i915: disable shared panel fitter for pipe + - LP: #1144961 + * drm: Fill depth/bits_per_pixel for C8 format + - LP: #1144961 + * drm: Use C8 instead of RGB332 when determining the format from + depth/bpp + - LP: #1144961 + * drm/i915: add missing \n to UTS_RELEASE in the error_state + - LP: #1144961 + * drm/i915: Set i9xx sdvo clock limits according to specifications + - LP: #1144961 + * drm/i915: inverted brightness quirk for Acer Aspire 4736Z + - LP: #1144961 + * intel/iommu: force writebuffer-flush quirk on Gen 4 Chipsets + - LP: #1144961 + * drm/radeon: remove overzealous warning in hdmi handling + - LP: #1144961 + * x86, efi: Make "noefi" really disable EFI runtime serivces + - LP: #1144961 + * posix-timer: Don't call idr_find() with out-of-range ID + - LP: #1144961 + * ext4: fix free clusters calculation in bigalloc filesystem + - LP: #1144961 + * fs: Fix possible use-after-free with AIO + - LP: #1144961 + * mmc: sdhci-esdhc-imx: fix host version read + - LP: #1144961 + * b43: Fix lockdep splat on module unload + - LP: #1144961 + * ocfs2: fix possible use-after-free with AIO + - LP: #1144961 + * x86/xen: don't assume %ds is usable in xen_iret for 32-bit PVOPS. + - LP: #1144961 + * igb: Remove artificial restriction on RQDPC stat reading + - LP: #1144961 + * ptrace/x86: Introduce set_task_blockstep() helper + - LP: #1144961 + * ptrace/x86: Partly fix set_task_blockstep()->update_debugctlmsr() logic + - LP: #1144961 + * sunvdc: Fix off-by-one in generic_request(). + - LP: #1144961 + * sparc64: Fix gfp_flags setting in tsb_grow(). + - LP: #1144961 + * bridge: set priority of STP packets + - LP: #1144961 + * xen-netback: correctly return errors from netbk_count_requests() + - LP: #1144961 + * xen-netback: cancel the credit timer when taking the vif down + - LP: #1144961 + * net: fix a compile error when SOCK_REFCNT_DEBUG is enabled + - LP: #1144961 + * ipv4: fix a bug in ping_err(). + - LP: #1144961 + * ipv6: use a stronger hash for tcp + - LP: #1144961 + * ARM: 7635/1: versatile: fix the PCI IRQ regression + - LP: #1144961 + * staging: vt6656: Fix URB submitted while active warning. + - LP: #1144961 + * vlan: adjust vlan_set_encap_proto() for its callers + - LP: #1144961 + * gpio/ich: Add missing spinlock init + - LP: #1144961 + * staging: comedi: ni_labpc: set up command4 register *after* command3 + - LP: #1144961 + * staging: comedi: ni_labpc: correct differential channel sequence for AI + commands + - LP: #1144961 + * tty: Prevent deadlock in n_gsm driver + - LP: #1144961 + * Linux 3.5.7.7 + - LP: #1144961 + * i915_hsw: don't send DP "idle" pattern before "normal" on HSW PORT_A + - LP: #1138700 + * mfd: rtsx: Optimize card detect flow + - LP: #1148892 + * mfd: rtsx: Fix issue that booting OS with SD card inserted + - LP: #1148892 + * drm/radeon: add new AMD ACPI header and update relevant code (v2) + - LP: #1110219 + * drm/radeon: add a license header to radeon_apci.c + - LP: #1110219 + * drm/radeon: track whether the GPU controls the backlight (v2) + - LP: #1110219 + * drm/radeon: rework legacy backlight control + - LP: #1110219 + * drm/radeon: add backlight control for atom devices (v2) + - LP: #1110219 + * drm/radeon: refactor radeon_atif_call + - LP: #1110219 + * drm/radeon: implement radeon_atif_verify_interface + - LP: #1110219 + * drm/radeon: implement wrapper for GET_SYSTEM_PARAMS + - LP: #1110219 + * drm/radeon: implement handler for ACPI event + - LP: #1110219 + * drm/radeon: re-organize the acpi notifier callback + - LP: #1110219 + * ACPI video: allow events handlers to veto the keypress + - LP: #1110219 + * drm/radeon: block the keypress on ATIF events + - LP: #1110219 + * keys: fix race with concurrent install_user_keyrings() + - LP: #1152788 + - CVE-2013-1792 + * mfd: rtsx: Add clock divider hook + - LP: #1153618 + * mfd: rtsx: Implement driving adjustment to device-dependent callbacks + - LP: #1153618 + * mfd: rtsx: Support RTS5227 + - LP: #1153618 + * mmc: rtsx: remove driving adjustment + - LP: #1153618 + * x86/apic: Remove noisy zero-mask warning from + default_send_IPI_mask_logical() + - LP: #1100202 + * signal: always clear sa_restorer on execve + - LP: #1153813 + - CVE-2013-0914 + + -- Steve Conklin Mon, 18 Mar 2013 13:39:54 -0500 + +linux (3.5.0-26.42) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1152715 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094, #1147678 + + -- Steve Conklin Fri, 08 Mar 2013 12:50:52 -0600 + +linux (3.5.0-26.42) quantal-proposed; urgency=low + + [Steve Conklin] + + * Release Tracking Bug + - LP: #1152715 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094, #1147678 + + -- Steve Conklin Fri, 08 Mar 2013 12:50:52 -0600 + +linux (3.5.0-26.40) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1133429 + + [ Andy Whitcroft ] + + * ubuntu: overlayfs -- fix missmerge of vfs_open changes + - LP: #1122094 + + [ Ian Campbell ] + + * SAUCE: xen/netback: shutdown the ring if it contains garbage. + - LP: #1117325 + - CVE-2013-0216 + * SAUCE: netback: correct netbk_tx_err to handle wrap around. + - LP: #1117325 + - CVE-2013-0216 + * SAUCE: xen/netback: don't leak pages on failure in + xen_netbk_tx_check_gop. + - LP: #1117331 + - CVE-2013-0217 + * SAUCE: xen/netback: free already allocated memory on failure in + xen_netbk_get_requests + - LP: #1117331 + - CVE-2013-0217 + + [ Jan Beulich ] + + * SAUCE: xen-pciback: rate limit error messages from + xen_pcibk_enable_msi{, x}() + - LP: #1117336 + - CVE-2013-0231 + + [ Tim Gardner ] + + * [Config] CONFIG_SATA_AHCI=m + - LP: #1056563 + * SAUCE: rt2x00: rt2x00pci_regbusy_read() - only print register access + failure once + - LP: #1128840 + + [ Upstream Kernel Changes ] + + * Revert "USB: Handle warm reset failure on empty port." + - LP: #1131944 + * xen: Fix stack corruption in xen_failsafe_callback for 32bit PVOPS + guests. + - LP: #1102374 + - CVE-2013-0190 + * virtio-blk: Don't free ida when disk is in use + - LP: #1119885 + * ioat: Fix DMA memory sync direction correct flag + - LP: #1119885 + * PCI: pciehp: Use per-slot workqueues to avoid deadlock + - LP: #1119885 + * PCI/AER: pci_get_domain_bus_and_slot() call missing required + pci_dev_put() + - LP: #1119885 + * xen/grant-table: correctly initialize grant table version 1 + - LP: #1119885 + * serial:ifx6x60:Delete SPI timer when shut down port + - LP: #1119885 + * tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler + - LP: #1119885 + * drm/i915: Invalidate the relocation presumed_offsets along the slow + path + - LP: #1119885 + * ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone + - LP: #1119885 + * staging: vt6656: Fix inconsistent structure packing + - LP: #1119885 + * 8250/16?50: Add support for Broadcom TruManage redirected serial port + - LP: #1119885 + * KVM: PPC: Emulate dcbf + - LP: #1119885 + * staging: wlan-ng: Fix clamping of returned SSID length + - LP: #1119885 + * USB: option: blacklist network interface on ONDA MT8205 4G LTE + - LP: #1119885 + * USB: option: add TP-LINK HSUPA Modem MA180 + - LP: #1119885 + * ALSA: hda - Fix mute led for another HP machine + - LP: #1096789, #1119885 + * usb: dwc3: gadget: fix ep->maxburst for ep0 + - LP: #1119885 + * ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled + - LP: #1119885 + * ACPI / processor: Get power info before updating the C-states + - LP: #1119885 + * ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with + sparsemem + - LP: #1119885 + * evm: checking if removexattr is not a NULL + - LP: #1119885 + * ALSA: hda - Add Conexant CX20755/20756/20757 codec IDs + - LP: #1119885 + * ftrace: Be first to run code modification on modules + - LP: #1119885 + * i2c: mxs: Fix type of error code + - LP: #1119885 + * USB: UHCI: fix IRQ race during initialization + - LP: #1119885 + * async: fix __lowest_in_progress() + - LP: #1119885 + * fs/cifs/cifs_dfs_ref.c: fix potential memory leakage + - LP: #1119885 + * ARM: at91: rm9200: remake the BGA as default version + - LP: #1119885 + * Bluetooth: Fix sending HCI commands after reset + - LP: #1119885 + * Bluetooth: Fix incorrect strncpy() in hidp_setup_hid() + - LP: #1119885 + * ath9k_htc: Fix memory leak + - LP: #1119885 + * ath9k: do not link receive buffers during flush + - LP: #1119885 + * ath9k: add a better fix for the rx tasklet vs rx flush race + - LP: #1119885 + * ath9k: fix rx flush handling + - LP: #1119885 + * brcmsmac: increase timer reference count for new timers only + - LP: #1119885 + * ath9k: remove sc->rx.rxbuflock to fix a deadlock + - LP: #1119885 + * ath9k: disable the tasklet before taking the PCU lock + - LP: #1119885 + * ASoC: wm2200: correct mixer values and text + - LP: #1119885 + * mac80211: fix FT roaming + - LP: #1119885 + * mac80211: synchronize scan off/on-channel and PS states + - LP: #1119885 + * efi, x86: Pass a proper identity mapping in efi_call_phys_prelog + - LP: #1119885 + * iwlegacy: fix IBSS cleanup + - LP: #1119885 + * ath9k_hw: fix calibration issues on chainmask that don't include chain + 0 + - LP: #1119885 + * ath9k_hw: fix chain swap setting when setting rx chainmask to 5 + - LP: #1119885 + * mwifiex: fix typo in PCIe adapter NULL check + - LP: #1119885 + * drm/i915: Disable AsyncFlip performance optimisations + - LP: #1119885 + * drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for scanline + waits + - LP: #1119885 + * iommu/intel: disable DMAR for g4x integrated gfx + - LP: #1119885 + * drm/i915: dump UTS_RELEASE into the error_state + - LP: #1119885 + * ALSA: hda - Add a fixup for Packard-Bell desktop with ALC880 + - LP: #1119885 + * drm/radeon: fix cursor corruption on DCE6 and newer + - LP: #1119885 + * radeon_display: Use pointer return error codes + - LP: #1119885 + * drm/radeon: fix error path in kpage allocation + - LP: #1119885 + * drm/radeon: fix a rare case of double kfree + - LP: #1119885 + * x86/msr: Add capabilities check + - LP: #1119885 + * x86, efi: Set runtime_version to the EFI spec revision + - LP: #1119885 + * can: c_can: fix invalid error codes + - LP: #1119885 + * can: ti_hecc: fix invalid error codes + - LP: #1119885 + * can: pch_can: fix invalid error codes + - LP: #1119885 + * ALSA: usb-audio: fix invalid length check for RME and other UAC 2 + devices + - LP: #1119885 + * smp: Fix SMP function call empty cpu mask race + - LP: #1119885 + * IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround + - LP: #1119885 + * xfs: Fix possible use-after-free with AIO + - LP: #1119885 + * powerpc/book3e: Disable interrupt after preempt_schedule_irq + - LP: #1119885 + * ALSA: hda - Fix non-snoop page handling + - LP: #1119885 + * EDAC: Test correct variable in ->store function + - LP: #1119885 + * NFS: Fix error reporting in nfs_xdev_mount + - LP: #1119885 + * NFS: Don't silently fail setattr() requests on mountpoints + - LP: #1119885 + * NFSv4.1: Handle NFS4ERR_DELAY when resetting the NFSv4.1 session + - LP: #1119885 + * drivers/firmware/dmi_scan.c: check dmi version when get system uuid + - LP: #1119885 + * drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists + - LP: #1119885 + * ahci: Add support for Enmotus Bobcat device. + - LP: #1119885 + * ahci: Fix lack of command retry after a success error handler. + - LP: #1119885 + * x86/Sandy Bridge: mark arrays in __init functions as __initconst + - LP: #1119885 + * x86/Sandy Bridge: Sandy Bridge workaround depends on CONFIG_PCI + - LP: #1119885 + * drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled + - LP: #1119885 + * ahci: Add identifiers for ASM106x devices + - LP: #1119885 + * module: fix symbol waiting when module fails before init + - LP: #1119885 + * module: wait when loading a module which is currently initializing. + - LP: #1119885 + * module: add new state MODULE_STATE_UNFORMED. + - LP: #1119885 + * module: put modules in list much earlier. + - LP: #1119885 + * module: fix missing module_mutex unlock + - LP: #1119885 + * intel_idle: Don't register CPU notifier if we are not running. + - LP: #1119885 + * xfs: fix periodic log flushing + - LP: #1119885 + * gspca_kinect: add Kinect for Windows USB id + - LP: #1119885 + * ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area + - LP: #1119885 + * Linux 3.5.7.5 + - LP: #1119885 + * net: fix infinite loop in __skb_recv_datagram() + - LP: #1129184 + - CVE-2013-0290 + * vhost: fix length for cross region descriptor + - LP: #1130951 + - CVE-2013-0311 + * xhci: Fix isoc TD encoding. + - LP: #1131944 + * xhci: Fix TD size for isochronous URBs. + - LP: #1131944 + * drivers: xhci: fix incorrect bit test + - LP: #1131944 + * USB: XHCI: fix memory leak of URB-private data + - LP: #1131944 + * usb: Prevent dead ports when xhci is not enabled + - LP: #1131944 + * usb: Using correct way to clear usb3.0 device's remote wakeup feature. + - LP: #1131944 + * sched/rt: Use root_domain of rt_rq not current processor + - LP: #1131944 + * USB: EHCI: fix timer bug affecting port resume + - LP: #1131944 + * regulator: max8998: fix incorrect min_uV value for ldo10 + - LP: #1131944 + * drm/radeon: fix MC blackout on evergreen+ + - LP: #1131944 + * drm/radeon: add WAIT_UNTIL to the non-VM safe regs list for cayman/TN + - LP: #1131944 + * rtlwifi: Fix the usage of the wrong variable in usb.c + - LP: #1131944 + * e1000e: enable ECC on I217/I218 to catch packet buffer memory errors + - LP: #1131944 + * drm/radeon: add quirk for RV100 board + - LP: #1131944 + * USB: qcserial: add Telit Gobi QDL device + - LP: #1131944 + * USB: option: add support for Telit LE920 + - LP: #1131944 + * drm/radeon: fix backend map setup on 1 RB sumo boards + - LP: #1131944 + * drm/radeon: protect against div by 0 in backend setup + - LP: #1131944 + * mwifiex: fix incomplete scan in case of IE parsing error + - LP: #1131944 + * USB: EHCI: fix bug in scheduling periodic split transfers + - LP: #1131944 + * x86-64: Replace left over sti/cli in ia32 audit exit code + - LP: #1131944 + * drm/radeon/evergreen+: wait for the MC to settle after MC blackout + - LP: #1131944 + * Bluetooth: Fix handling of unexpected SMP PDUs + - LP: #1131944 + * drm/radeon: Calling object_unrefer() when creating fb failure + - LP: #1131944 + * drm/radeon: prevent crash in the ring space allocation + - LP: #1131944 + * target: Fix divide by zero bug in fabric_max_sectors for unconfigured + devices + - LP: #1131944 + * digsig: Fix memory leakage in digsig_verify_rsa() + - LP: #1131944 + * can: c_can: Set reserved bit in IFx_MASK2 to 1 on write + - LP: #1131944 + * USB: ftdi_sio: add PID/VID entries for ELV WS 300 PC II + - LP: #1131944 + * USB: option: add Changhong CH690 + - LP: #1131944 + * USB: ftdi_sio: add Zolix FTDI PID + - LP: #1131944 + * USB: storage: Define a new macro for USB storage match rules + - LP: #1131944 + * USB: storage: optimize to match the Huawei USB storage devices and + support new switch command + - LP: #1131944 + * rtlwifi: Fix scheduling while atomic bug + - LP: #1131944 + * nilfs2: fix fix very long mount time issue + - LP: #1131944 + * mm/hugetlb: set PTE as huge in hugetlb_change_protection and + remove_migration_pte + - LP: #1131944 + * drivers/rtc/rtc-isl1208.c: call rtc_update_irq() from the alarm irq + handler + - LP: #1131944 + * drivers/rtc/rtc-pl031.c: fix the missing operation on enable + - LP: #1131944 + * virtio_console: Don't access uninitialized data. + - LP: #1131944 + * HID: usbhid: quirk for Formosa IR receiver + - LP: #1131944 + * kernel/resource.c: fix stack overflow in __reserve_region_with_split() + - LP: #1131944 + * net: prevent setting ttl=0 via IP_TTL + - LP: #1131944 + * ipv6: fix the noflags test in addrconf_get_prefix_route + - LP: #1131944 + * MAINTAINERS: Stephen Hemminger email change + - LP: #1131944 + * ipv6: fix header length calculation in ip6_append_data() + - LP: #1131944 + * macvlan: fix macvlan_get_size() + - LP: #1131944 + * net: calxedaxgmac: throw away overrun frames + - LP: #1131944 + * net/mlx4_en: Fix bridged vSwitch configuration for non SRIOV mode + - LP: #1131944 + * net/mlx4_core: Set number of msix vectors under SRIOV mode to firmware + defaults + - LP: #1131944 + * isdn/gigaset: fix zero size border case in debug dump + - LP: #1131944 + * netxen: fix off by one bug in netxen_release_tx_buffer() + - LP: #1131944 + * r8169: remove the obsolete and incorrect AMD workaround + - LP: #1131944 + * net: loopback: fix a dst refcounting issue + - LP: #1131944 + * pktgen: correctly handle failures when adding a device + - LP: #1131944 + * ipv6: do not create neighbor entries for local delivery + - LP: #1131944 + * via-rhine: Fix bugs in NAPI support. + - LP: #1131944 + * packet: fix leakage of tx_ring memory + - LP: #1131944 + * atm/iphase: rename fregt_t -> ffreg_t + - LP: #1131944 + * sctp: refactor sctp_outq_teardown to insure proper re-initalization + - LP: #1131944 + * net: sctp: sctp_setsockopt_auth_key: use kzfree instead of kfree + - LP: #1131944 + * net: sctp: sctp_endpoint_free: zero out secret key data + - LP: #1131944 + * tcp: frto should not set snd_cwnd to 0 + - LP: #1131944 + * tcp: fix for zero packets_in_flight was too broad + - LP: #1131944 + * tg3: Avoid null pointer dereference in tg3_interrupt in netconsole mode + - LP: #1131944 + * tg3: Fix crc errors on jumbo frame receive + - LP: #1131944 + * s390/timer: avoid overflow when programming clock comparator + - LP: #1131944 + * x86: Do not leak kernel page mapping locations + - LP: #1131944 + * x86/apic: Work around boot failure on HP ProLiant DL980 G7 Server + systems + - LP: #1131944 + * drivers/rtc/rtc-pl031.c: restore ST variant functionality + - LP: #1131944 + * mm: don't overwrite mm->def_flags in do_mlockall() + - LP: #1131944 + * x86/mm: Check if PUD is large when validating a kernel address + - LP: #1131944 + * PCI/PM: Clean up PME state when removing a device + - LP: #1131944 + * efi: Clear EFI_RUNTIME_SERVICES rather than EFI_BOOT by "noefi" boot + parameter + - LP: #1131944 + * mm: fix pageblock bitmap allocation + - LP: #1131944 + * Linux 3.5.7.6 + - LP: #1131944 + + -- Brad Figg Tue, 26 Feb 2013 08:44:21 -0800 + +linux (3.5.0-25.39) quantal-proposed; urgency=low + + [Brad Figg] + + * Release Tracking Bug + - LP: #1132885 + + [ Upstream Kernel Changes ] + + * sock_diag: Fix out-of-bounds access to sock_diag_handlers[] + + -- Brad Figg Mon, 25 Feb 2013 09:04:12 -0800 + +linux (3.5.0-25.38) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1129472 + + [ Upstream Kernel Changes ] + + * ptrace: introduce signal_wake_up_state() and ptrace_signal_wake_up() + - LP: #1119885, #1129192 + - CVE-2013-0871 + * ptrace: ensure arch_ptrace/ptrace_request can never race with SIGKILL + - LP: #1119885, #1129192 + - CVE-2013-0871 + * wake_up_process() should be never used to wakeup a TASK_STOPPED/TRACED + task + - LP: #1119885, #1129192 + - CVE-2013-0871 + + -- Luis Henriques Mon, 18 Feb 2013 21:57:04 +0000 + +linux (3.5.0-24.37) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1117492 + + [ Tim Gardner ] + + * [Config] CONFIG_ALX=m for x86 only + - LP: #927782 + + -- Luis Henriques Wed, 06 Feb 2013 17:29:44 +0000 + +linux (3.5.0-24.36) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1116501 + + [ Adam Lee ] + + * [Config] Enable RTSX_PCI modules + - LP: #1057089 + + [ Andy Whitcroft ] + + * [Config] enable various HVC consoles + - LP: #1102206 + + [ Brad Figg ] + + * Revert "SAUCE: samsung-laptop: disable in UEFI mode" + - LP: #1111689 + + [ Herton Ronaldo Krzesinski ] + + * [Config] updateconfigs for 3.5.7.3 stable update + * d-i: Add mellanox ethernet drivers to nic-modules + - LP: #1015339 + + [ Kamal Mostafa ] + + * SAUCE: alx driver import script + - LP: #927782 + + [ Qualcomm Atheros, Inc ] + + * SAUCE: alx: Update to heads/master + - LP: #927782 + + [ Seth Forshee ] + + * SAUCE: samsung-laptop: Add quirk for broken acpi_video backlight on + N250P + - LP: #1086921 + + [ Stefan Bader ] + + * (config) Move 9p modules into generic package + - LP: #1107658 + + [ Tim Gardner ] + + * [debian] Remove dangling symlink from headers package + - LP: #1112442 + * [config] CONFIG_ALX=m + - LP: #927782 + * [Config] Add alx to d-i nic-modules + - LP: #927782 + + [ Upstream Kernel Changes ] + + * Revert "8139cp: revert "set ring address before enabling receiver"" + - LP: #1102417 + * Revert "ath9k_hw: Update AR9003 high_power tx gain table" + - LP: #1102417 + * Revert "drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13" + - LP: #1102417 + * Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat + codecs" + - LP: #1106966, #886975 + * be2net: don't call vid_config() when there's no vlan config + - LP: #1083088 + * be2net: cleanup be_vid_config() + - LP: #1083088 + * be2net: do not modify PCI MaxReadReq size + - LP: #1083088 + * be2net: fix reporting number of actual rx queues + - LP: #1083088 + * be2net: do not use SCRATCHPAD register + - LP: #1083088 + * be2net: Fix driver load for VFs for Lancer + - LP: #1083088 + * be2net: Explicitly clear the reserved field in the Tx Descriptor + - LP: #1083088 + * be2net: Regression bug wherein VFs creation broken for multiple cards. + - LP: #1083088 + * be2net: Fix to trim skb for padded vlan packets to workaround an ASIC + Bug + - LP: #1083088 + * be2net: Fix Endian + - LP: #1083088 + * be2net: Fix error while toggling autoneg of pause parameters + - LP: #1083088 + * be2net : Fix die temperature stat for Lancer + - LP: #1083088 + * be2net: Fix initialization sequence for Lancer + - LP: #1083088 + * be2net: Activate new FW after FW download for Lancer + - LP: #1083088 + * be2net: Fix cleanup path when EQ creation fails + - LP: #1083088 + * be2net: Enable RSS UDP hashing for Lancer and Skyhawk + - LP: #1083088 + * be2net: dont pull too much data in skb linear part + - LP: #1083088 + * be2net: Fix VF driver load for Lancer + - LP: #1083088 + * be2net: Ignore physical link async event for Lancer + - LP: #1083088 + * be2net: Fix to parse RSS hash from Receive completions correctly. + - LP: #1083088 + * netpoll: revert 6bdb7fe3104 and fix be_poll() instead + - LP: #1083088 + * be2net: create RSS rings even in multi-channel configs + - LP: #1083088 + * be2net: fix max VFs reported by HW + - LP: #1083088 + * be2net: fix FW default for VF tx-rate + - LP: #1083088 + * be2net: fixup malloc/free of adapter->pmac_id + - LP: #1083088 + * be2net: fix wrong handling of be_setup() failure in be_probe() + - LP: #1083088 + * be2net: cleanup code related to be_link_status_query() + - LP: #1083088 + * be2net: fix vfs enumeration + - LP: #1083088 + * be2net: Remove code that stops further access to BE NIC based on UE + bits + - LP: #1083088 + * mtip32xx: Add support for new devices + - LP: #1099913 + * mtip32xx: Handle NCQ commands during the security locked state + - LP: #1099913 + * mtip32xx: Increase timeout for standby command + - LP: #1099913 + * mtip32xx: Proper reporting of write protect status on big-endian + - LP: #1099913 + * mtip32xx: Change printk to pr_xxxx + - LP: #1099913 + * mtip32xx: Remove dead code + - LP: #1099913 + * mtip32xx: fix user_buffer check in exec_drive_command + - LP: #1099913 + * mtip32xx:Added appropriate timeout value for secure erase + - LP: #1099913 + * mtip32xx: fix potential crash on SEC_ERASE_UNIT + - LP: #1099913 + * mtip32xx: Fix to make lba address correct in big-endian systems + - LP: #1099913 + * mtip32xx: Fix incorrect mask used for erase mode + - LP: #1099913 + * mtip32xx: fix shift larger than type warning + - LP: #1099913 + * mtip32xx: fix potential NULL pointer dereference in + mtip_timeout_function() + - LP: #1099913 + * mtip32xx: Fix padding issue + - LP: #1099913 + * KVM: PPC: e500: fix allocation size error on g2h_tlb1_map + - LP: #1102417 + * s390/kvm: dont announce RRBM support + - LP: #1102417 + * cgroup: cgroup_subsys->fork() should be called after the task is added + to css_set + - LP: #1102417 + * freezer: add missing mb's to freezer_count() and freezer_should_skip() + - LP: #1102417 + * ath9k_hw: Enable hw PLL power save for AR9462 + - LP: #1102417 + * usb: gadget: tcm_usb_gadget: NULL terminate the FS descriptor list + - LP: #1102417 + * usb: gadget: network: fix bind() error path + - LP: #1102417 + * usb: gadget: midi: free hs descriptors + - LP: #1102417 + * usb: gadget: phonet: free requests in pn_bind()'s error path + - LP: #1102417 + * usb: gadget: uvc: fix error path in uvc_function_bind() + - LP: #1102417 + * x86: hpet: Fix masking of MSI interrupts + - LP: #1102417 + * usb: musb: cppi_dma: export cppi_interrupt() + - LP: #1102417 + * iscsi-target: Fix bug in handling of ExpStatSN ACK during u32 + wrap-around + - LP: #1102417 + * iscsi-target: Always send a response before terminating iSCSI + connection + - LP: #1102417 + * SUNRPC: Fix validity issues with rpc_pipefs sb->s_fs_info + - LP: #1102417 + * ext4: fix memory leak in ext4_xattr_set_acl()'s error path + - LP: #1102417 + * ARM: mm: use pteval_t to represent page protection values + - LP: #1102417 + * perf test: fix a build error on builtin-test + - LP: #1102417 + * USB: fix endpoint-disabling for failed config changes + - LP: #1102417 + * genirq: Always force thread affinity + - LP: #1102417 + * xhci: Fix conditional check in bandwidth calculation. + - LP: #1102417 + * xHCI: Fix TD Size calculation on 1.0 hosts. + - LP: #1102417 + * xhci: fix null-pointer dereference when destroying half-built segment + rings + - LP: #1102417 + * xhci: Extend Fresco Logic MSI quirk. + - LP: #1102417 + * usb: host: xhci: Stricter conditional for Z1 system models for + Compliance Mode Patch + - LP: #1102417 + * Staging: bcm: Add two products and remove an existing product. + - LP: #1102417 + * rcu: Fix batch-limit size problem + - LP: #1102417 + * ext4: init pagevec in ext4_da_block_invalidatepages + - LP: #1102417 + * powerpc: Fix CONFIG_RELOCATABLE=y CONFIG_CRASH_DUMP=n build + - LP: #1102417 + * ftrace: Clear bits properly in reset_iter_read() + - LP: #1102417 + * cdc-acm: implement TIOCSSERIAL to avoid blocking close(2) + - LP: #1102417 + * ACPI / battery: Correct battery capacity values on Thinkpads + - LP: #1102417 + * cgroup: remove incorrect dget/dput() pair in cgroup_create_dir() + - LP: #1102417 + * Bluetooth: Add support for BCM20702A0 [04ca, 2003] + - LP: #1102417 + * Bluetooth: Add support for BCM20702A0 [0b05, 17b5] + - LP: #1102417 + * regulator: wm831x: Set the new rather than old value for DVS VSEL + - LP: #1102417 + * drm: fix documentation for drm_crtc_set_mode() + - LP: #1102417 + * mfd: Only unregister platform devices allocated by the mfd core + - LP: #1102417 + * NFS: Add sequence_priviliged_ops for nfs4_proc_sequence() + - LP: #1102417 + * drm/i915: make the panel fitter work on pipes B and C on IVB + - LP: #1102417 + * USB: add new zte 3g-dongle's pid to option.c + - LP: #1102417 + * ACPI / PM: Add Sony Vaio VPCEB1S1E to nonvs blacklist. + - LP: #1102417 + * mfd: wm8994: Add support for WM1811 rev E + - LP: #1102417 + * 8139cp: set ring address after enabling C+ mode + - LP: #1102417 + * USB: OHCI: workaround for hardware bug: retired TDs not added to the + Done Queue + - LP: #1102417 + * USB: option: blacklist network interface on Huawei E173 + - LP: #1102417 + * USB: cp210x: add Virtenio Preon32 device id + - LP: #1102417 + * usb: ftdi_sio: fixup BeagleBone A5+ quirk + - LP: #1102417 + * USB: ftdi_sio: Add support for Newport AGILIS motor drivers + - LP: #1102417 + * qla2xxx: Look up LUN for abort requests + - LP: #1102417 + * iscsit: use GFP_ATOMIC under spin lock + - LP: #1102417 + * ASoC: wm8994: Use the same DCS codes for all WM1811 variants + - LP: #1102417 + * sata_promise: fix hardreset lockdep error + - LP: #1102417 + * xhci: Add Lynx Point LP to list of Intel switchable hosts + - LP: #1102417 + * USB: mark uas driver as BROKEN + - LP: #1102417 + * can: Do not call dev_put if restart timer is running upon close + - LP: #1102417 + * mlx4_core: Fix potential deadlock in mlx4_eq_int() + - LP: #1102417 + * xfs: fix stray dquot unlock when reclaiming dquots + - LP: #1102417 + * KVM: Fix user memslot overlap check + - LP: #1102417 + * ext4: fix possible use after free with metadata csum + - LP: #1102417 + * prevent stack buffer overflow in host_reset + - LP: #1102417 + * mvsas: fix undefined bit shift + - LP: #1102417 + * qla2xxx: Test and clear FCPORT_UPDATE_NEEDED atomically. + - LP: #1102417 + * ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set + - LP: #1102417 + * ACPI / PNP: Do not crash due to stale pointer use during system resume + - LP: #1102417 + * ring-buffer: Fix NULL pointer if rb_set_head_page() fails + - LP: #1102417 + * firewire: net: Fix handling of fragmented multicast/broadcast packets. + - LP: #1102417 + * HID: Add Apple wireless keyboard 2011 ANSI to special driver list + - LP: #1102417 + * libata: set dma_mode to 0xff in reset + - LP: #1102417 + * s390/cio: fix pgid reserved check + - LP: #1102417 + * Bluetooth: Add missing lock nesting notation + - LP: #1102417 + * Bluetooth: cancel power_on work when unregistering the device + - LP: #1102417 + * Input: wacom - fix touch support for Bamboo Fun CTH-461 + - LP: #1102417 + * ALSA: usb-audio: Avoid autopm calls after disconnection + - LP: #1102417 + * ALSA: usb-audio: Fix missing autopm for MIDI input + - LP: #1102417 + * ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000 + - LP: #1102417 + * mac80211: introduce IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL + - LP: #1102417 + * Revert: "rt2x00: Don't let mac80211 send a BAR when an AMPDU subframe + fails" + - LP: #1102417 + * x86,AMD: Power driver support for AMD's family 16h processors + - LP: #1102417 + * target/file: Fix 32-bit highmem breakage for SGL -> iovec mapping + - LP: #1102417 + * drm/i915: Close race between processing unpin task and queueing the + flip + - LP: #1102417 + * cgroup_rm_file: don't delete the uncreated files + - LP: #1102417 + * pnpacpi: fix incorrect TEST_ALPHA() test + - LP: #1102417 + * drm/radeon: stop page faults from hanging the system (v2) + - LP: #1102417 + * drm/radeon/dce32+: use fractional fb dividers for high clocks + - LP: #1102417 + * drm/radeon: fix eDP clk and lane setup for scaled modes + - LP: #1102417 + * regmap: debugfs: Avoid overflows for very small reads + - LP: #1102417 + * b43legacy: Fix firmware loading when driver is built into the kernel + - LP: #1102417 + * ath9k: ar9003: fix OTP register offsets for AR9340 + - LP: #1102417 + * bcma: mips: fix clearing device IRQ + - LP: #1102417 + * ath9k_hw: Fix signal strength / channel noise reporting + - LP: #1102417 + * ath5k: fix tx path skb leaks + - LP: #1102417 + * b43: fix tx path skb leaks + - LP: #1102417 + * drm/i915: drop buggy write to FDI_RX_CHICKEN register + - LP: #1102417 + * drm/i915: disable cpt phase pointer fdi rx workaround + - LP: #1102417 + * iwlwifi: silently ignore fw flaws in Tx path + - LP: #1102417 + * iwlwifi: don't handle masked interrupt + - LP: #1102417 + * mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls + - LP: #1102417 + * nfs: don't extend writes to cover entire page if pagecache is invalid + - LP: #1102417 + * solos-pci: fix double-free of TX skb in DMA mode + - LP: #1102417 + * ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522 + - LP: #1102417 + * nfs: don't zero out the rest of the page if we hit the EOF on a DIO + READ + - LP: #1102417 + * drm/radeon: fix amd afusion gpu setup aka sumo v2 + - LP: #1102417 + * NFS: avoid NULL dereference in nfs_destroy_server + - LP: #1102417 + * sbp-target: fix error path in sbp_make_tpg() + - LP: #1102417 + * target/tcm_fc: fix the lockdep warning due to inconsistent lock state + - LP: #1102417 + * MIPS: Fix poweroff failure when HOTPLUG_CPU configured. + - LP: #1102417 + * fix Null pointer dereference on disk error + - LP: #1102417 + * NFS: Fix calls to drop_nlink() + - LP: #1102417 + * Input: walkera0701 - fix crash on startup + - LP: #1102417 + * SUNRPC: continue run over clients list on PipeFS event instead of break + - LP: #1102417 + * proc: pid/status: show all supplementary groups + - LP: #1102417 + * CRIS: fix I/O macros + - LP: #1102417 + * virtio: force vring descriptors to be allocated from lowmem + - LP: #1102417 + * nfs: fix wrong object type in lockowner_slab + - LP: #1102417 + * jffs2: hold erase_completion_lock on exit + - LP: #1102417 + * nfsd: fix v4 reply caching + - LP: #1102417 + * mtd cs553x_nand: Initialise ecc.strength before nand_scan() + - LP: #1102417 + * kbuild: Do not remove vmlinux when cleaning external module + - LP: #1102417 + * ASoC: sigmadsp: Fix endianness conversion issue + - LP: #1102417 + * nfsd: avoid permission checks on EXCLUSIVE_CREATE replay + - LP: #1102417 + * x86, 8042: Enable A20 using KBC to fix S3 resume on some MSI laptops + - LP: #1102417 + * mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems + - LP: #1102417 + * ALSA: hda - Fix pin configuration of HP Pavilion dv7 + - LP: #1102417 + * ALSA: hda - Always turn on pins for HDMI/DP + - LP: #1102417 + * OMAP: board-files: fix i2c_bus for tfp410 + - LP: #1102417 + * i2400m: add Intel 6150 device IDs + - LP: #1102417 + * ALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup + - LP: #1102417 + * nfsd4: fix oops on unusual readlike compound + - LP: #1102417 + * qmi_wwan/cdc_ether: add Dell Wireless 5800 (Novatel E362) USB IDs + - LP: #1102417 + * ARM: missing ->mmap_sem around find_vma() in swp_emulate.c + - LP: #1102417 + * ARM: 7607/1: realview: fix private peripheral memory base for EB rev. B + boards + - LP: #1102417 + * cifs: don't compare uniqueids in cifs_prime_dcache unless server inode + numbers are in use + - LP: #1102417 + * intel-iommu: Free old page tables before creating superpage + - LP: #1102417 + * vfs: d_obtain_alias() needs to use "/" as default name. + - LP: #1102417 + * mm: fix calculation of dirtyable memory + - LP: #1102417 + * SGI-XP: handle non-fatal traps + - LP: #1102417 + * dm persistent data: rename node to btree_node + - LP: #1102417 + * dm ioctl: prevent unsafe change to dm_ioctl data_size + - LP: #1102417 + * sis900: fix sis900_set_mode call parameters. + - LP: #1102417 + * ne2000: add the right platform device + - LP: #1102417 + * irda: sir_dev: Fix copy/paste typo + - LP: #1102417 + * ipv4: ip_check_defrag must not modify skb before unsharing + - LP: #1102417 + * inet_diag: fix oops for IPv4 AF_INET6 TCP SYN-RECV state + - LP: #1102417 + * inet_diag: validate byte code to prevent oops in inet_diag_bc_run() + - LP: #1102417 + * inet_diag: avoid unsafe and nonsensical prefix matches in + inet_diag_bc_run() + - LP: #1102417 + * inet_diag: validate port comparison byte code to prevent unsafe reads + - LP: #1102417 + * usb/ipheth: Add iPhone 5 support + - LP: #1102417 + * bonding: fix race condition in bonding_store_slaves_active + - LP: #1102417 + * sctp: fix memory leak in sctp_datamsg_from_user() when copy from user + space fails + - LP: #1102417 + * sctp: fix -ENOMEM result with invalid user space pointer in sendto() + syscall + - LP: #1102417 + * udf: fix memory leak while allocating blocks during write + - LP: #1102417 + * udf: don't increment lenExtents while writing to a hole + - LP: #1102417 + * staging: vt6656: [BUG] out of bound array reference in RFbSetPower. + - LP: #1102417 + * staging: vt6656: 64 bit fixes: use u32 for QWORD definition. + - LP: #1102417 + * staging: vt6656: 64 bit fixes : correct all type sizes + - LP: #1102417 + * staging: vt6656: 64 bit fixes: fix long warning messages. + - LP: #1102417 + * staging: vt6656: 64bit fixes: key.c/h change unsigned long to u32 + - LP: #1102417 + * staging: vt6656: 64bit fixes: vCommandTimerWait change calculation of + timer. + - LP: #1102417 + * drm/i915: Flush outstanding unpin tasks before pageflipping + - LP: #1094173, #1102417 + * ext4: fix extent tree corruption caused by hole punch + - LP: #1102417 + * ext4: check dioread_nolock on remount + - LP: #1102417 + * drm/i915: fix flags in dma buf exporting + - LP: #1102417 + * jbd2: fix assertion failure in jbd2_journal_flush() + - LP: #1102417 + * drm/radeon: add WAIT_UNTIL to evergreen VM safe reg list + - LP: #1102417 + * hwmon: (lm73} Detect and report i2c bus errors + - LP: #1102417 + * ext4: do not try to write superblock on ro remount w/o journal + - LP: #1102417 + * PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check) + - LP: #1102417 + * PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz + - LP: #1102417 + * mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED + - LP: #1102417 + * tmpfs mempolicy: fix /proc/mounts corrupting memory + - LP: #1102417 + * epoll: prevent missed events on EPOLL_CTL_MOD + - LP: #1102417 + * drm/i915: add some barriers when changing DIPs + - LP: #1102417 + * drm/i915: make sure we write all the DIP data bytes + - LP: #1102417 + * RDMA/nes: Fix for terminate timer crash + - LP: #1102417 + * RDMA/nes: Fix for crash when registering zero length MR for CQ + - LP: #1102417 + * sparc: huge_ptep_set_* functions need to call set_huge_pte_at() + - LP: #1102417 + * batman-adv: fix random jitter calculation + - LP: #1102417 + * inet: Fix kmemleak in tcp_v4/6_syn_recv_sock and + dccp_v4/6_request_recv_sock + - LP: #1102417 + * net: sched: integer overflow fix + - LP: #1102417 + * tcp: fix MSG_SENDPAGE_NOTLAST logic + - LP: #1102417 + * tcp: implement RFC 5961 3.2 + - LP: #1102417 + * tcp: implement RFC 5961 4.2 + - LP: #1102417 + * tcp: refine SYN handling in tcp_validate_incoming + - LP: #1102417 + * tcp: tcp_replace_ts_recent() should not be called from + tcp_validate_incoming() + - LP: #1102417 + * tcp: RFC 5961 5.2 Blind Data Injection Attack Mitigation + - LP: #1102417 + * ACPI : do not use Lid and Sleep button for S5 wakeup + - LP: #1102417 + * aoe: do not call bdi_init after blk_alloc_queue + - LP: #1102417 + * Input: sentelic - only report position of first finger as ST + coordinates + - LP: #1102417 + * Input: gpio_keys - defer probing if GPIO probing is deferred + - LP: #1102417 + * cifs: adjust sequence number downward after signing NT_CANCEL request + - LP: #1102417 + * rtlwifi: fix incorrect use of usb_alloc_coherent with usb_control_msg + - LP: #1102417 + * p54usb: add USB ID for T-Com Sinus 154 data II + - LP: #1102417 + * ath9k_hw: Fix RX gain initvals for AR9485 + - LP: #1102417 + * p54usb: add USBIDs for two more p54usb devices + - LP: #1102417 + * powerpc/vdso: Remove redundant locking in update_vsyscall_tz() + - LP: #1102417 + * powerpc: Add missing NULL terminator to avoid boot panic on PPC40x + - LP: #1102417 + * drm/radeon: add connector table for Mac G4 Silver + - LP: #1102417 + * drm/radeon: Properly handle DDC probe for DP bridges + - LP: #1102417 + * drm/nouveau: fix init with agpgart-uninorth + - LP: #1102417 + * video: mxsfb: fix crash when unblanking the display + - LP: #1102417 + * nfs: fix null checking in nfs_get_option_str() + - LP: #1102417 + * SUNRPC: Ensure that we free the rpc_task after cleanups are done + - LP: #1102417 + * NFS: Ensure that we free the rpc_task after read and write cleanups are + done + - LP: #1102417 + * ACPI / scan: Do not use dummy HID for system bus ACPI nodes + - LP: #1102417 + * mm: limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT + - LP: #1102417 + * drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield + - LP: #1102417 + * drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct + rtc_time + - LP: #1102417 + * printk: fix incorrect length from print_time() when seconds > 99999 + - LP: #1102417 + * PM: Move disabling/enabling runtime PM to late suspend/early resume + - LP: #1102417 + * signals: sys_ssetmask() uses uninitialized newmask + - LP: #1102417 + * ext4: release buffer in failed path in dx_probe() + - LP: #1102417 + * ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec) + - LP: #1096789, #1102417 + * drm/prime: drop reference on imported dma-buf come from gem + - LP: #1102417 + * i915: ensure that VGA plane is disabled + - LP: #1102417 + * mvsas: Fix oops when ata commond timeout. + - LP: #1102417 + * staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC + - LP: #1102417 + * iscsi-target: Fix CmdSN comparison (use cmd->cmd_sn instead of + cmd->stat_sn) + - LP: #1102417 + * Linux 3.5.7.3 + - LP: #1102417 + * usb: gadget: dummy: fix enumeration with g_multi + - LP: #1106966 + * usb: musb: core: print new line in the driver banner again + - LP: #1106966 + * ASoC: pcm: allow backend hardware to be freed in pause state + - LP: #1106966 + * ASoC: wm2200: Fix setting dai format in wm2200_set_fmt + - LP: #1106966 + * mac80211: fix ibss scanning + - LP: #1106966 + * mac80211: use del_timer_sync for final sta cleanup timer deletion + - LP: #1106966 + * mac80211: fix dtim_period in hidden SSID AP association + - LP: #1106966 + * xhci: Handle HS bulk/ctrl endpoints that don't NAK. + - LP: #1106966 + * USB: Handle auto-transition from hot to warm reset. + - LP: #1106966 + * USB: Ignore xHCI Reset Device status. + - LP: #1106966 + * USB: Allow USB 3.0 ports to be disabled. + - LP: #1106966 + * USB: Increase reset timeout. + - LP: #1106966 + * USB: Ignore port state until reset completes. + - LP: #1106966 + * USB: Handle warm reset failure on empty port. + - LP: #1106966 + * xhci: Avoid "dead ports", add roothub port polling. + - LP: #1106966 + * ASoC: wm2200: Remove DSP B and left justified AIF modes + - LP: #1106966 + * ASoC: wm5100: Remove DSP B and left justified formats + - LP: #1106966 + * mwifiex: check wait_event_interruptible return value + - LP: #1106966 + * ASoC: wm2000: Fix sense of speech clarity enable + - LP: #1106966 + * drm/i915; Only increment the user-pin-count after successfully pinning + the bo + - LP: #1106966 + * samsung-laptop: Add quirk for broken acpi_video backlight on N250P + - LP: #1086921, #1106966 + * sony-laptop: fix SNC buffer calls when SN06 returns Integers + - LP: #1106966 + * staging: r8712u: Add new device ID + - LP: #1106966 + * b43: Fix firmware loading when driver is built into the kernel + - LP: #1106966 + * staging: speakup: avoid out-of-range access in synth_init() + - LP: #1106966 + * staging: speakup: avoid out-of-range access in synth_add() + - LP: #1106966 + * staging: comedi: fix minimum AO period for NI 625x and NI 628x + - LP: #1106966 + * staging: comedi: prevent auto-unconfig of manually configured devices + - LP: #1106966 + * staging: comedi: comedi_test: fix race when cancelling command + - LP: #1106966 + * regulator: max8997: Use uV in voltage_map_desc + - LP: #1106966 + * regulator: max8998: Convert to regulator_list_voltage_linear() + - LP: #1106966 + * regulator: max8998: Convert to set_voltage_sel and + regulator_map_voltage_linear + - LP: #1106966 + * regulator: max8998: Use uV in voltage_map_desc + - LP: #1106966 + * ALSA: pxa27x: fix ac97 cold reset + - LP: #1106966 + * ALSA: pxa27x: fix ac97 warm reset + - LP: #1106966 + * SUNRPC: Ensure we release the socket write lock if the rpc_task exits + early + - LP: #1106966 + * target: use correct sense code for LUN communication failure + - LP: #1106966 + * regulator: max8998: Ensure enough delay time for + max8998_set_voltage_buck_time_sel + - LP: #1106966 + * tcm_fc: Do not indicate retry capability to initiators + - LP: #1106966 + * tcm_fc: Do not report target role when target is not defined + - LP: #1106966 + * target: Fix use-after-free in LUN RESET handling + - LP: #1106966 + * target: Release se_cmd when LUN lookup fails for TMR + - LP: #1106966 + * sh: Fix FDPIC binary loader + - LP: #1106966 + * USB: option: Add new MEDIATEK PID support + - LP: #1106966 + * USB: option: blacklist network interface on ZTE MF880 + - LP: #1106966 + * USB: option: add Telekom Speedstick LTE II + - LP: #1106966 + * USB: option: add Nexpring NP10T terminal id + - LP: #1106966 + * Add CDC-ACM support for the CX93010-2x UCMxx USB Modem + - LP: #1106966 + * USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i" + - LP: #1106966 + * USB: hub: handle claim of enabled remote wakeup after reset + - LP: #1106966 + * mm: compaction: fix echo 1 > compact_memory return error issue + - LP: #1106966 + * mm: use aligned zone start for pfn_to_bitidx calculation + - LP: #1106966 + * mm: bootmem: fix free_all_bootmem_core() with odd bitmap alignment + - LP: #1106966 + * audit: create explicit AUDIT_SECCOMP event type + - LP: #1106966 + * USB: Add device quirk for Microsoft VX700 webcam + - LP: #1106966 + * drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards + - LP: #1106966 + * drm/nv17-50: restore fence buffer on resume + - LP: #1106966 + * usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added + - LP: #1106966 + * udldrmfb: Fix EDID not working with monitors with EDID extension blocks + - LP: #1106966 + * udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack + - LP: #1106966 + * udldrmfb: udl_get_edid: drop unneeded i-- + - LP: #1106966 + * s390/time: fix sched_clock() overflow + - LP: #1106966 + * rt2800usb: Add support for 2001:3c1e (D-Link DWA-125 rev B1) USB Wi-Fi + adapter + - LP: #1085351, #1106966 + * drm/radeon: fix NULL pointer dereference in UMS mode + - LP: #1106966 + * drm/radeon: fix a bogus kfree + - LP: #1106966 + * ALSA: usb - fix race in creation of M-Audio Fast track pro driver + - LP: #1095315, #1106966 + * x86/Sandy Bridge: reserve pages when integrated graphics is present + - LP: #1106966 + * USB: io_ti: Fix NULL dereference in chase_port() + - LP: #1106966 + * intel-iommu: Prevent devices with RMRRs from being placed into SI + Domain + - LP: #1106966 + * igb: release already assigned MSI-X interrupts if setup fails + - LP: #1106966 + * usb: chipidea: Allow disabling streaming not only in udc mode + - LP: #1106966 + * sd: Reshuffle init_sd to avoid crash + - LP: #1106966 + * Linux 3.5.7.4 + - LP: #1106966 + * HID: Add suport for the brightness control keys on HP keyboards + - LP: #1007575 + * efi: Make 'efi_enabled' a function to query EFI facilities + - LP: #1111689 + * samsung-laptop: Disable on EFI hardware + - LP: #1111689 + * inotify, fanotify: replace fsnotify_put_group() with + fsnotify_destroy_group() + - LP: #1110605 + * fsnotify: introduce fsnotify_get_group() + - LP: #1110605 + * fsnotify: use reference counting for groups + - LP: #1110605 + * fsnotify: take groups mark_lock before mark lock + - LP: #1110605 + * fanotify: add an extra flag to mark_remove_from_mask that indicates + wheather a mark should be destroyed + - LP: #1110605 + * fsnotify: use a mutex instead of a spinlock to protect a groups mark + list + - LP: #1110605 + * audit: clean up refcounting in audit-tree + - LP: #1110605 + * fsnotify: pass group to fsnotify_destroy_mark() + - LP: #1110605 + * fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark() + - LP: #1110605 + * fsnotify: dont put marks on temporary list when clearing marks by group + - LP: #1110605 + * fsnotify: change locking order + - LP: #1110605 + * drivers/mfd: Add realtek pcie card reader driver + - LP: #1057089 + * mfd: rtsx: Add output voltage switch hook + - LP: #1057089 + * mfd: rtsx: Fix oops when rtsx_pci_sdmmc is not probed + - LP: #1057089 + * mmc: Add realtek pcie sdmmc host driver + - LP: #1057089 + * mmc: rtsx: Remove a duplicate command in sd_rw_multi + - LP: #1057089 + * mmc: rtsx: Configure SD_CFG2 register in sd_rw_multi + - LP: #1057089 + * mmc: rtsx: Explicitely include slab.h in rtsx_pci_sdmmc.c + - LP: #1057089 + * mmc: rtsx: Call MFD hook to switch output voltage + - LP: #1057089 + * drivers/memstick: Add realtek pcie memstick host driver + - LP: #1057089 + + -- Luis Henriques Wed, 06 Feb 2013 10:41:09 +0000 + +linux (3.5.0-23.35) quantal-proposed; urgency=low + + [Luis Henriques] + + * Release Tracking Bug + - LP: #1103932 + + [ Upstream Kernel Changes ] + + * Revert "fsnotify: change locking order" + - LP: #1101666 + * Revert "fsnotify: dont put marks on temporary list when clearing marks + by group" + - LP: #1101666 + * Revert "fsnotify: introduce locked versions of fsnotify_add_mark() and + fsnotify_remove_mark()" + - LP: #1101666 + * Revert "fsnotify: pass group to fsnotify_destroy_mark()" + - LP: #1101666 + * Revert "fsnotify: use a mutex instead of a spinlock to protect a groups + mark list" + - LP: #1101666 + * Revert "fanotify: add an extra flag to mark_remove_from_mask that + indicates wheather a mark should be destroyed" + - LP: #1101666 + * Revert "fsnotify: take groups mark_lock before mark lock" + - LP: #1101666 + * Revert "fsnotify: use reference counting for groups" + - LP: #1101666 + * Revert "fsnotify: introduce fsnotify_get_group()" + - LP: #1101666 + * radeon/kms: force rn50 chip to always report connected on analog output + - LP: #1103320 + + -- Luis Henriques Thu, 24 Jan 2013 11:06:25 +0000 + +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-lts-quantal-3.5.0.orig/debian.master/NOTES +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/etc/getabis +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/etc/kernelconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/abiname +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/abiname @@ -0,0 +1 @@ +42 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/fwinfo +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armhf/highbank.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armhf/highbank.modules @@ -0,0 +1,2308 @@ +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 +blocklayoutdriver +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 +nfs_layout_nfsv41_files +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armhf/highbank.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armhf/highbank.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armhf/omap.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armhf/omap.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armhf/omap.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armhf/omap.modules @@ -0,0 +1,2432 @@ +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 +blocklayoutdriver +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 +nfs_layout_nfsv41_files +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armhf/highbank +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armhf/highbank @@ -0,0 +1,9952 @@ +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_generic_hsw +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_generic_hsw +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_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_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00000000 drm_prime_remove_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_lookup_dev +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_cmd +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_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x00000000 ceph_auth_verify_authorizer_reply +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 bdgrab +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_kernel_dcache_page +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_prepare_forced_close +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_frag_maybe_warn_overflow +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_hash_secret +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_complete_transaction +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_push_pending_frames +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_iomap_memory +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/ssb/ssb 0x00000000 ssb_pmu_spuravoid_pllupdate +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 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 nfs4_schedule_session_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/nfs 0x00000000 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00000000 put_lseg +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 bc_svc_process +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_destroy_backchannel +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_setup_backchannel +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_topology +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_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x00000000 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x00000000 do_unregister_con_driver +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_ipv6_ops +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armhf/omap +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armhf/omap @@ -0,0 +1,10368 @@ +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x16b3fdc6 omap_mbox_get +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x74c5f162 omap_mbox_register +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x9826f5fd omap_mbox_put +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xabbb929d omap_mbox_msg_send +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 0x9c993f81 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 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x45ef8749 ipmi_smi_watcher_unregister +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 0x53541e0e ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5ac19eda ipmi_smi_watcher_register +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 0x8b7a12e5 ipmi_get_smi_info +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 0xc0783dc6 ipmi_register_smi +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/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 0x4661e72b dw_dma_cyclic_free +EXPORT_SYMBOL drivers/dma/dw_dmac 0x5712a764 dw_dma_get_dst_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xa2edea3e dw_dma_cyclic_prep +EXPORT_SYMBOL drivers/dma/dw_dmac 0xcdf2081b dw_dma_cyclic_stop +EXPORT_SYMBOL drivers/dma/dw_dmac 0xd07ae514 dw_dma_cyclic_start +EXPORT_SYMBOL drivers/dma/dw_dmac 0xfa066f74 dw_dma_get_src_addr +EXPORT_SYMBOL drivers/dma/pl330 0x26c92075 pl330_filter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x019da9df drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x023547be drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02f1c42d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02ff86c2 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04a3af60 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x061d86a1 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e15c30 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09811c94 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0e418 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d3c0a68 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eac6be2 drm_mode_object_find +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 0x11073671 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +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 0x14c834a4 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ce185d drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18f6c9fd drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x197efefe drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1af2ef85 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb7a720 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20b76f2e drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21176563 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x220ff5ed drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x231d67e6 drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2426053b drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x247d20b6 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29247581 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a237239 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2acd725c drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b0ad496 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bb261cc drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ca742ae drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d240634 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d3259cf drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d807df8 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e3fa1ea drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eed7c42 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f92957b drm_mode_validate_clocks +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 0x33737b6c drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34fc13f0 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35e828bd drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3737d5c1 drm_prime_pages_to_sg +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 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3be296ff drm_mm_pre_get_hsw +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 0x3f525f60 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x419c6140 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x422e5947 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4536e7c2 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x456d3fad drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x479a0478 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4945a3ca drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49883f25 drm_framebuffer_init +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 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ce084eb drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d33f57d drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d86c0c7 drm_mode_create_dithering_property +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 0x4f65a723 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c7dfdf drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5165455b drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53933562 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5406b298 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54a76d4d drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54ab60f2 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e2b0ac drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59e2fd6d drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a641110 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a862d2a drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c958ec9 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e771db2 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e9a71d8 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6048c567 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61f4151f drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6363f9a2 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63b8d189 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6551d627 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65c10862 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x695562ba drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac31bc7 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bbf1c24 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c79cd80 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d046d33 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x716ca1c2 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x740b90dd drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x768fa481 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7832825c drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78e828ae drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a35f726 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d3a9509 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x800628be drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x819ebb26 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85750f27 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e9fe78 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89500a1a drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89b54102 drm_mm_remove_node_hsw +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 0x8e28a15f drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f185796 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f63b1e0 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96b15f09 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96f7974d drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9757ca7d drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x978625ff drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9899f139 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98c16ac7 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c09b7ff drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f70233a drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fc855f9 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0ac34c3 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa19123f6 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2873dda drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa30fbc4c drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4edb20a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5a09d50 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa688b747 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6cd5598 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6d2ab51 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7179c31 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaacde6c5 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaacf194d drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacbe2969 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xada8db41 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaffef714 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1ad7ad5 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22ad0f2 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3224053 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4b4726d drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb541a493 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb59e249d drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5a8d03e drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7776c3c drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bef03e drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9579848 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb969c68d drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaa7f28a drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6c3526 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1064c6f drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3556616 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc44b1f6b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4e3470b drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc91048ac drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaeea29d drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb911322 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc388991 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce068bc drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0ec44a drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0450dd5 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1bf1a94 drm_mode_connector_attach_encoder +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 0xd2f52e39 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd61ed4f3 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd672c8e7 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd88db039 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8e2b4ce drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd90bc8f8 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd962509b drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdabe2c95 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdacfce4a drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb4dd8b0 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf19d3a6 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe411da8e drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe44f0f3d drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe532ac34 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe58773d1 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6e5c556 drm_connector_property_set_value +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 0xe7738478 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8db115a drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea2c1860 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb5ff9d0 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee566ce4 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef8fe271 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf13b073b drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf14457cc drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1bbc832 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1d59f36 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf54a95b1 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf83d269b drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8460e25 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9166a4c drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd55f77b drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe23e071 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff20d9dc drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff7ec5ef drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08f4106c drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0afd64f7 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bb074be drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bc4dadc drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10f2a66a drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x173d8cc1 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24e82483 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3770e6e7 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ac78800 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40cb5938 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a08948f drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5225fd99 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57a56a3a drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x623cef1a drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x695638bc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c1fb239 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6dba7bda drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8dc9ea16 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8e0935d0 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x903232e8 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92b8daf1 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e7aed8d drm_helper_resume_force_mode +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 0xc1db839e drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc797552d drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdd5801f 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 0xd402bd7e drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdafea379 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdef41be9 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8689115 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf669ff56 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc7a930c drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff6b747c drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x490ba26e drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x5ab9d678 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xc1370c76 drm_usb_exit +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 0x1262ebcd sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x587d18bf i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xd93886ab i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xeec64784 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x2e48c0c0 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x56a7b11b i2c_pca_add_bus +EXPORT_SYMBOL drivers/iio/industrialio 0x177e9981 iio_trigger_free +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 0x4a4ccb41 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x4cc75a5e iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x5cf690f5 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x6a08a14c iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x6b069003 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x75b533e4 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x8871b32e iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x8b58989c iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x90ea0377 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x91bc0a3b iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0xa3c98d6a iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xa6bf5879 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0xaf0a8f8b iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xb2c59ec2 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xb3fce49e iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xb74b6aba iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xbbab385b iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xc7fa0bdc iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xdcc556ad iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf4e947ee iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf941aba3 iio_device_register +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xa3d6266c iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xff656fa5 iio_kfifo_allocate +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00ad94c1 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5567c349 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x80ba70aa gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x85eed5ba gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa97075c1 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd3952f3 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe877c4dd gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xeaace123 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf3443707 gameport_open +EXPORT_SYMBOL drivers/input/input-polldev 0x0cb6caf5 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x2309b44e input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xb7e1a448 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xd4ffa98a input_free_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xc4df77ab matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x17c7c2b9 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7866d5f4 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7ee705c2 ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xef7a5879 ad714x_probe +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 0xd5c9b50d cma3000_init +EXPORT_SYMBOL drivers/input/sparse-keymap 0x13867411 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7cc3fddb sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8802123a sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa8620f71 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb3b619c3 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbf0df5e8 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x416d1dda ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xc26947da ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x02174795 capi20_put_message +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 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31181dab capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x38ac7fbe capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4a15f6d2 capi20_release +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 0x8a6951b3 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f52d50e attach_capi_ctr +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 0xb9558767 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc64b6b33 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc91fdc27 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcaeea3e6 capi_ctr_suspend_output +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/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x5aa03c46 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 0x49a70d9a isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xafb8b021 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfb2faff6 register_isdn +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 0x00e57dc0 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x02f2c9ae dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03397a44 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x220a8d0f mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x48b031f9 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4af69a10 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54045e13 get_next_dframe +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 0x5d027ec6 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e0f95e0 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e2741b8 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6482e1b2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6da1c789 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7014e6b4 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x84011ade mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x891f3fe3 queue_ch_frame +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 0x990ea392 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa294f478 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb8e77df8 create_l1 +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 0xd710a1cb mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdf121836 bchannel_senddata +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 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfc4fc038 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd26a371 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd986e4a recv_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 0x4d975d95 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x704d0e79 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x83962df5 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xe4dc67ef dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x40b752a1 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x45737373 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x8222ef69 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc10bb139 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd2b2b790 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe11213bb dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x4aad0893 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x1d42f88f fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0xe0ad6826 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x454f0d38 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x1407a210 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x54ab32cc mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x43a4516d mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xa80e174c qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0xee150922 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0xbc26805c tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x0fd30e3d 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 0x5cf39944 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x0c6abed2 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x0a0240d7 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x37278a4c flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x379be1e0 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x69704219 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x85fa9d04 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa5d1b5ee flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb0fc450a flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbdd00c19 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc91973f5 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdddb778f flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe9f4d94d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xea4b85da flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf69e60e7 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfe6094ac flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x063f486c dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c98f0ae dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x15304ff1 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f363415 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2f2786d0 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x335fa807 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x46c008ee dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x518c4119 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5762bbfb dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6131d762 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6225816a dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x687066ad dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6aa21a01 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6c7577a0 dvb_dmx_swfilter_packets +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 0x7a854509 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7afe6a08 dvb_register_frontend +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 0x90b3c91f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x926fe399 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x961239a7 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9a659643 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb3297434 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb4460002 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xba616e61 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc1c55d6e dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc3a499fc dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd42d1f59 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd9f730f3 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe2580c5c dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +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 0xfb25f454 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfd1885bd dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x024c5350 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0fd66b83 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x60fedb14 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x65f436fa dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7284e528 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xbd950ef7 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xdd8d617c usb_cypress_load_firmware +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 0x23388685 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 0x06851e82 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x267bdbc0 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3cd1bcea dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4e506b70 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x53a1a353 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x588f5b95 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8d19c3e8 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x94cceadf dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb1c17d96 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 0xb6056945 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbb11a5b6 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x395ca0ef a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x985bf935 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x40d3e24c af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x26e535dd atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x194c52cf au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2407d208 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x49aa8dff au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x4b13a6bc au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x8945595f au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x98a43d2d au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xa49f0cf5 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe606dc9e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x51bbcdaa au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x56a22cc6 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x808d306b cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x3a473375 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xcf225df5 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x578cfc10 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x81ac2d86 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x2ccc1c55 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe7e7eee5 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe87dc472 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x2d7af6b0 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x4989f51a dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x62a48666 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x7b827607 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xae75af66 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xaea8cc39 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0045510d dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0a48572f dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1a17de3d dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x23008da1 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2d7c0030 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3b178874 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x65c5a08b dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8af5d19e dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8b297acf dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x971b57af dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaa3727b5 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb64a0d89 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xcd67c188 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd57e427d dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xda1436d2 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x08bd4892 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x0ab417c9 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x47b87511 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x59a5a63a dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7335407a dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7a4937a2 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xeb20b9d6 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x4da27065 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x548bc160 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x5b91871b dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xd9b87f47 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x21b078ad dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cd23360 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5a422578 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x6a5f0fc1 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x82b94c0f dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa0a4ca59 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xaae3e66b dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbc805919 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc16ddfdb dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc97e1698 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xce1b084c dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd619f67d dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf8205a42 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf860cded dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfe6fa3e8 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x03221a02 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x11b73134 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x1f9a3e09 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x357bf69a dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4891cde4 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5de6d53f dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x66f47ef1 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x710583e5 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x736696a3 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x741ecbbd dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7a989216 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x94d6ce5c dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa8c1d339 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xab2ffd68 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xba9e2e8f dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcb5c461a dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd7283ce8 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7018960 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf5c32251 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x02ae4d55 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x0edd6c8e dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x114b7dd2 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x45bbbadc dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x4a2d419f dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x92839d8f dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xa70b3d58 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xbb90a182 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xbbe3111c dib9000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xd5b7a2cb dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xe1759b5f dib9000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xe8dd6079 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xfa7f68b8 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xfbc5dbe0 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x56d290a2 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x6e098394 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x702395ed dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x789cccec dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x91deb013 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x4798838c drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x7198c735 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xb0858c08 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xd762e57d ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x1fd86d3a dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x5aca23ae ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/hd29l2 0x03191010 hd29l2_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1e072bed isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xe8ba5f2f isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa64d5728 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xcca4371b it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xdc92569c itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x9f73e6bf ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x64680058 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x9ad3cd0c lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x6fa63b07 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x5db648ec lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gl5 0xa057a377 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xe663cb83 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x570e804a lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xddd1059d lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0xb15acf28 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x5f5482f1 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0xa6ecab43 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x31a8b3fe mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x47b3e1b3 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xfe051be5 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xe0b8b750 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xb3a69b7c nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x7cff32c5 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xc5c343e6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x6955fe31 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x7fa80d3b rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x01dc9240 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x0e88bd03 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x38f4ffe3 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xb56fc729 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1432 0x9c40d3d2 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xc715ee48 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x18b232cd si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x96479c92 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x31e73527 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x6a80d0b2 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xc9e45331 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xb70cd042 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x39b53b98 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xb03701b3 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x40219331 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x54e20779 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xce289f56 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x9e6ef935 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x019c3011 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x6473a687 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x3d8ea7bc stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xdd391e83 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x68a08a0f tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xebe183b9 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x1a994621 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xad3fb6cf tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xcd06ff40 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x9b75223e tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x1b4e2b0a tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x95bc73aa tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x0f758d2f tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x53a473bb tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xe574e10c tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x812842f4 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xb515bceb ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x17e11d4f ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x06972501 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x9f0ac85a zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x3d1cf11e zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xb0d4b5df ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x418991c5 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x5d09e054 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x911de157 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbb84ba3f lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbf765ae8 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd1bac5a0 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf150fc9b lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf44c6aa1 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/rc-core 0x37395221 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x866068b8 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x663c3eda cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x6f58dfad 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 0xa301b224 vpfe_register_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xc91290ca 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 0x499fa818 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x6b61a9cf em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x0c5e30e1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x13ff3fd6 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2b16c787 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3c898161 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x45eee790 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8afd3f1d gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xadd2910a gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xccc672d9 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/soc_camera 0x06ea82de soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x40263911 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x9a99ebdb soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa3dad206 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xb015810c soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xead9ef49 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 0x009f4586 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x1d7ba03a tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x306df5ba tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0x015e4e87 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xe2dac654 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x35e27fd9 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 0x5e62e92d 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 0x503d77bd v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x7e706a78 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xd1edaa66 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x39cfd062 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5d22f45b videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xb031b649 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe2c1148d videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe44a5c10 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe58367a1 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x5840bac5 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0a6e4be1 v4l2_subdev_g_ext_ctrls +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 0x19566ceb v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x1d16506e v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x1db63a47 video_ioctl2 +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 0x28e32207 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x3376469b v4l2_ctrl_poll +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 0x44c4d00d video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4dbba368 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5585d9c2 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x567f627d v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x641c4671 v4l2_ctrl_find +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 0x77a5172f video_device_alloc +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 0x89537bde video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x8ec099c2 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x91f38bcb v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x96c3a076 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xa0c94245 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa2342123 v4l2_ctrl_new_int_menu +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 0xb99f2daa v4l2_subdev_querymenu +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 0xc69b1207 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xc86d3363 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd149639d v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xd353b2b0 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd785a33c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xd7fdd8f5 v4l2_ctrl_sub_ev_ops +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 0xe2b92059 v4l2_video_std_construct +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 0xed244388 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf3fa4246 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xfb959f0c v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0xfc74c271 video_usercopy +EXPORT_SYMBOL drivers/memstick/core/memstick 0x034433b2 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1b7c50bd memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x20c5726a memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3bd5a124 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3cda5520 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6bad9301 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7479a0ac memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8031c323 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa4f58e4e memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc062c0fc memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc67ba91e memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe3691d10 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf72940f3 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf9004e25 memstick_remove_host +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x8bfd1dae pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xc46a54bc pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0c89d32a mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x13862de2 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1cffda0e mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x41c27171 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f7d36c8 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7cae2548 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9ac37a25 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xafac418e mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb4b2e23a mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe0e41389 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe2795a05 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe36e72c4 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfab5deef mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/tps6105x 0x548b1367 tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0x61965bb8 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xaa7ee4ee 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 0x441bbefa ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xa9970e3b ad_dpot_probe +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 0x1d2a2307 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x8b4fcefd c2port_device_unregister +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00f2e3a2 dw_mci_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x4338a7ac dw_mci_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x9f0f9443 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xcdde4862 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 0xa4623e9c tmio_mmc_host_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc1b4928c tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc86c925f tmio_mmc_host_probe +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xe9c3b93e tmio_mmc_host_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf02062dd tmio_mmc_card_detect_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf921f1cf tmio_mmc_host_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xfa192330 tmio_mmc_host_remove +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x68bde2c4 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb3ab225c cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xce8dec41 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7c540c21 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x82834723 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x2ae9dffd onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xaa5a05d1 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xdff3d5f4 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfdaa1532 flexonenand_region +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x36e8a267 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6def13d4 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa5ed67f9 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbe42cb66 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe8bfdbc3 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x31a65a15 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3d946ead sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6621e0b1 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x92fe2d7e sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x97803886 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x97934458 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xae6dafea sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb2c40cff sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb5febc8c irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf24001be sirdev_write_complete +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x48b5494f free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xcd774f47 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x53b16470 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x812dd8f7 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd2639075 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/wan/hdlc 0x104d1825 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a65d090 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5196accd hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x85ce173f register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x92c60b40 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa6d80125 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaa5d3d4b unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb45b57cb hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd77042fe attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdbfbebcc alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdc0a771e detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x030cbfc6 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x089a294c ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x14896ce1 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x192be631 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x300491d4 ath_printk +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 0x53078ea8 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5cf84543 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc1dea9f0 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xca35be2d ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xde6e88a2 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x02655402 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0646aa54 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x200555d4 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x319becf0 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x644345c1 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6f8f8f21 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8a38ee71 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb66a8569 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xce130bdc ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xdd324c93 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x25594f39 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5716d31f 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 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd437cc9 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf864f9db ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x078c4bd6 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x079d26ab ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c770cc0 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d789fd2 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e7cefbf ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f8d67a3 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x130a9a7f ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13705518 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2020e8bb ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2598f364 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27d4612e ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29c909eb ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2b8a1d87 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c4d1a2a ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e389109 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x35975dd1 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x361efa27 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3cb4ba92 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e67e595 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3fc80366 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42e48f7f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x473b3a61 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48c5c168 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d52b4cc ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x565d1fd0 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57518b38 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5c27a0fa ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62fa9225 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x638be500 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x650f84ed ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67ecd976 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6873b14e ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c1a1cac ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c6eb51b ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c8ba66d ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f5d01a3 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70ce0aad ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70e1549b ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x743e6b60 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76007a15 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78328805 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x794283e1 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7acd5b1d ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c145009 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fcc6e4d ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x898926bf ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8daa3497 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98b46218 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b276875 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c359b1a ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa25cd602 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa299e289 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa38c713f ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa503b44e ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa762e6c2 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa949b6b7 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa96070de ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa624576 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xacfbded0 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf8877a8 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1e4e4bb ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2a06260 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb372ec63 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5ab4b93 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb674696b ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9e5a42f ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbcfd4651 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbebd3a21 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf76d552 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1ee6148 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc335f7ee ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3f95012 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5490c3c ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7309472 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc859cbdf ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd130db6c ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd1bf56d3 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd40d41eb ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd63af08a ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc5e2e15 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc85cb6b ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdfedf11c ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0340a54 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe07da283 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe4e1eba0 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe67a8b0d ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe718f66e ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee2cb6bb ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf3eefdd4 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9c99b8d ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfad19531 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xffa488ac ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x1fec0a51 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x7b96eb77 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x4bcc5e34 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x69ab497c brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x76e6a26d brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8caebf0b brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x95311c28 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x95dc3b6c brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xbd274321 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc120f4f2 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xca71785e brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xda2d6c3d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xe43884c3 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf06805af brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x12117fa5 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x15f6a2d5 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1d95858e hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21227aa6 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x26bd7486 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3d3d380f hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x41546e31 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6852e098 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6d64b789 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x72929b59 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9519606f hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa8f3486e hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaa08b83b hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xafd661cb hostap_free_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 0xcd098686 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd1eb3581 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd64132e3 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdfcd4267 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe1942882 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe6a5bf93 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xedccf4c0 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfbb6e217 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfd9d6279 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfdb4fddd hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfe90894f hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0c860237 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0dffb154 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1815a261 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x21ae0ed5 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x25bee9e6 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x304212ab rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x33dc6832 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a1593db rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3fdacd4d rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x41b349df _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x445cce8d rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x46fc8b13 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4b857dcd rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5422a105 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5bb9b098 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x60ab3298 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x660bf550 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6678cee3 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6b25b0db rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6c2dd032 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7bc9c0b4 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x84f30658 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x88daf379 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9b9fe179 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xab556176 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xab7a15eb rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb11e7882 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb8904f94 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbdbaea5f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbfaf284c _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc0a96534 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcc6a0f25 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd0174489 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd6ab68a9 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdf887fa0 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe455aa5e rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeb58707d rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeea167d7 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xef230a06 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf20dd610 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf22528e4 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf5eae42c _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x07b705ef rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x09770980 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0c87c133 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x25cfa935 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3907e709 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x39e90ddc rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x41787fab rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x563668bb rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x57be3788 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5c22f323 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x635b575a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x671ac49e rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6ff7173f rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7fd3eb28 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x84aeae77 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8656864a rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8c64cfa5 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xafa9f782 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe0f0caff rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf3603763 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x3ab17ff5 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x799c09f4 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x09db9162 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x2a7f137f parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x2eb462c6 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x2ffa0c97 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x39a0e6b5 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x3b847c04 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5000dea0 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x526f1d5e parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x560323bc parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x5648b540 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x658a8182 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x8120c2a3 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x849d7b52 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x8cc62da1 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x941a65d0 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xa19ba5d7 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xbede8067 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xc6788060 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc7d67ce9 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xc7fa1b12 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xd98f567e parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd9cd7338 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xdd060281 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xe4dd8cb5 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xecc15ba8 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xedd89895 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xf7bee0c9 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xfbd8327c parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xfd608f87 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xfdc426ef parport_wait_event +EXPORT_SYMBOL drivers/pps/pps_core 0x34bfd074 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0x429cdfb6 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xbe9044f7 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xc888e601 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0aa6f329 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2b5e7a75 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2e6c42bd fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34deee22 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4e49d4e5 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x93256015 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xae7ebea5 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbbe9e1be fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc3322379 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc7a146c6 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xeb0acd92 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00685e8c fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x050bbdb1 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09797c66 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0fa46676 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13370499 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x177c41d7 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f46149c fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x238371d8 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x26e9025c fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x289ca4ae fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d2f9bdc fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2fd0f0f1 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x31535530 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x335bcefd fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x35513808 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45b7b0ff fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x484473ea fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b2041b7 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4dc91c40 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e34ac30 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b1b54f4 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b5eadc7 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x683004e6 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d496027 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x746257d3 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7855cb43 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81f5c1d4 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8364df26 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6bff20c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa86badaf fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac071a3a fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaed2ab10 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb023694f fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0aafb37 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb20c2d74 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4552adf fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce992ef0 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd065a6d7 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1598559 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3bc1ccc fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xda5d2d37 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdba7029b fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1bcfba8 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe82b85b3 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9305e7b fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9eefcd7 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee9b0821 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf79c7b92 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf8a96c8a fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfeb4ac17 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/raid_class 0x6a22617e raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xbd6e0e14 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xc45dcdc1 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x148a481c fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x294a835d scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2eac5ac2 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5e340afd fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6a130f3f fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7c68a309 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8b4903c4 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x96ab6da0 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa294c4a9 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbb736462 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdcec2eeb fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe2a0e2de scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe50a5e35 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x041d8c81 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c563fb5 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x196fb9a1 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1d84cf89 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x245fa53d sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2c327544 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4082c194 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45e2c23a sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4ed8c63f sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5fb9f6d4 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x714c88f1 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x94d622c3 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa25ac40f sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6badcae scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6cb7747 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab8ae446 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb0f586b0 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb13304d6 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb2efb56f sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb4f7edcd sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbef322c5 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc00ecef8 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd792c62f sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd9ad9246 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdb6a855d sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdbc0da14 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe4c53d3d sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc4a8a32 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x13624126 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x637a9fcf spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x924e9c26 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xae9bda14 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe72788ac spi_schedule_dv_device +EXPORT_SYMBOL drivers/ssb/ssb 0x15d9ab82 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x2ace36bb ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x31d5246d ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x4293c409 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4ed2804f ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x52e78e2d ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x537aaaa8 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x6d916325 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x70fce98c ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7316fcc4 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x918c3193 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa37df078 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa44a475d ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xad59e4aa ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcebb6e4c ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xcf21b490 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe41dcedb ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xe78b72b0 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8f2c2b76 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8f871551 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xe006ab35 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xed8a9888 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x64d71cc6 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xf3802bdc iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x7178c086 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xd5865d6e phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0425807d target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x12945675 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x1814e1b5 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a343690 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b3a5d90 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1dd22729 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f24091f core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x21d17179 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x294f08d6 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b37e983 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d377f20 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ceb883c transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4490883a target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x46a09080 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4d5f51fa target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4f91cc93 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x5430a2f7 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x54412b35 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x5780e204 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x6ec70f5b transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x6efd33b2 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x7180f855 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x718ef193 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x728ed01e target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x75340814 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x7599e3ea iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x76a7e059 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a26d8a6 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x83ddf06f target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x84b07d0a core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x8738ffaa target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x876d477d target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8ef09398 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x91658d03 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x93ca0ae5 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x94805924 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x955bb1a0 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9683568b target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x9fe16b75 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3bdf7a9 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4d199bf transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7ace478 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xae8361ae core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xafc79c6d transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4e846d6 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc044e793 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc49c5134 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc87ce4c0 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcaeb3512 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xcb882282 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xda0d02fd transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xda438489 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xe025dab2 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xe70491e3 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xeb7dd075 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3453d0a iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3b6eb40 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xf41f8230 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb4bacd5 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xfcc37950 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xfdefb692 core_tpg_deregister +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x8d68f2a7 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x87807bda sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x05b2108c usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x07da1d0a usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x15598289 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3489bac6 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x42359d73 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4fc0cd27 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5d0021fc usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x68e634b4 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7dd60d2e usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbde557d6 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc662a465 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xda528847 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdb09c7c1 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeea847d9 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf3f5a71e usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x6caf08c2 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x9bd6fa96 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x74fd88a9 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xdd6e0cbf lcd_device_register +EXPORT_SYMBOL drivers/video/output 0xaba46453 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xb3722d93 video_output_register +EXPORT_SYMBOL drivers/video/syscopyarea 0x0e85afcc sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x66ce3df0 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x06509f30 sys_imageblit +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x9f38d657 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa0d41cc6 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xe0e66e0a w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf453b7ca w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x0be3eb64 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xcfb43bea w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xfc1d6660 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1342fd70 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7b0c45bd w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xfe57b8d6 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x33ee4aa5 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x6299d1b4 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xeb63f569 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xf8507dd4 w1_remove_master_device +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 0x1074bf38 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x15b33ac4 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x3be87079 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x3bf16352 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x6ba63918 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7475e5f5 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x8370eef1 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x9d9e348f config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa4fd2c3b configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xab64fc36 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xf0d1b8c3 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xfb52e8bf config_item_get +EXPORT_SYMBOL fs/fscache/fscache 0x0542c0bb __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x09b83319 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1e467b0b __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x29ae4e36 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x2b5909ff __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x2f06b9a7 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x3681959b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x394c16e9 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4421175c __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x47e9c39d __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4aeaf626 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4af8b86f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x6098c2d7 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x722f4bdd __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8bf41663 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8f34e1bb fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x9b4ab485 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xadbf5a23 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb0b67ceb __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb13ef874 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xb1754ae3 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xbc725757 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xcf52ed7e fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xd68915e5 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xf132e0ed fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xf7be01d3 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xfcb01271 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 0x1c433e1b qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x744c7ac0 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x802e86a0 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xe1b68d98 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xf78a229b qtree_delete_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 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 0x7098d686 register_8022_client +EXPORT_SYMBOL net/802/p8022 0x988a36fa unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x6e6f5979 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xead16051 make_8023_client +EXPORT_SYMBOL net/802/psnap 0x0b980fed unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x97de932a register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07013c09 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x09146217 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x0d17b4fe p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x22b90756 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x2754fc9e p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x2864ee9f p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x2d4f3631 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x37c3adec p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x38f25524 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x393c8eee p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x3ac9f138 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x3ca39c4d v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4118eb62 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x56284894 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x5a37d1d5 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x5cbffd54 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x6ebe98ba p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x701f3648 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x735cdf9a p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x7b17adfa p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7cd3b3bb p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x82bcb708 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x83d95231 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x8839d58e v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x8e5806b6 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9d0eba8a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x9d116e46 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9e0b8c8b p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xa4fad243 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa510d058 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb0daf040 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xb1a597a4 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xb64b50ef p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xbc75758c p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd1e88320 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xd33101a5 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xdb478d17 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe52932b3 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe82aa82d p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xea3a8e5e v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xf2ef6923 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfba209f6 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x1aefa747 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x54752030 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x63c12bb2 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xaaf49682 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x134a6598 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x1e3efea2 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x30cb8515 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x34555838 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x50b58b9c vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x534b76d5 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x57ab7a1b vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x5f2569f5 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x6840d2b6 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x86b84625 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x8f0162a0 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x970e2726 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9ea56fcd atm_charge +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xc6555932 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5eab1ab vcc_sklist_lock +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x02dd1444 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x20ebc6da ax25_find_cb +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 0x608da8cd ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x62cbbceb ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x62fba993 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x69cb98b5 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7f7d1a74 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x8aabacfb ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa300ac4a ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08bcaa09 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0e485682 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x11aa1a7a hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19f38a19 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ce4af1e hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3345f03c hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x352783e7 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42948af3 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47dddd07 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x49331711 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d0d912a bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4df78196 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d8590b0 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64751b1f hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6551b3a1 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x74e93149 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7506c1f3 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x775a584b bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e82ee92 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x89078de1 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d2bef76 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8da1953d hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9347d177 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x952a0124 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9abd159d hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa4275103 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6c1ed96 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6e78c46 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbae54c4b hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc0735ab hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbd210841 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbe4cebd6 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0c3a8b3 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcd6b9182 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd213d059 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd8b8e724 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2f04759 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf31fca8d hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5e54565 bt_sock_poll +EXPORT_SYMBOL net/bridge/bridge 0x9be81499 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x28a988a0 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x93f58c82 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xdff98044 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x081a419a caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x0fa52b26 caif_disconnect_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 0x365c567e cfcnfg_add_phy_layer +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 0x73ab9119 caif_enroll_dev +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 0xa46948fd get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x05bc7bd3 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x6b897565 can_rx_register +EXPORT_SYMBOL net/can/can 0x6f3d5fc5 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x89263d3c can_proto_register +EXPORT_SYMBOL net/can/can 0xbf9e7031 can_ioctl +EXPORT_SYMBOL net/can/can 0xe82b1c47 can_send +EXPORT_SYMBOL net/ceph/libceph 0x04ab2e4e ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x04eb793f ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0efaef1e ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1b6e9c35 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x26b0d7cd ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x29599423 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x2bc2b7ce ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x2d94d503 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x30acb873 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x3201b8d0 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x35563310 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x3566de89 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x36c75acb ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x3aa7047d __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3da07ecd ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x3e84ca61 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x443f1c1d ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x48124b91 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x4da2b819 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x4ed246ff ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x55cb00fa ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x578dc930 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5fbdea15 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x60f0a7a4 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6518503b ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x67a182c9 ceph_osdc_wait_request +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 0x6fcf1a1e ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x70a49b43 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x7437a5d1 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x764ef447 ceph_monc_stop +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 0x7a2ce24d ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x7ae83115 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7dc94b69 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x82a1660d ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x85a3af37 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x88567ecf ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x8c7f8ac0 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x9a73f475 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x9c0f49b8 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xa6f8c12c ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb3d82f14 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb6f0860c ceph_osdc_new_request +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 0xc512c6ef ceph_check_fsid +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 0xd61955f1 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xdbffa290 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xdec68805 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xe51c152c ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xed6bacc1 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xf048e175 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xf3e582e8 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0xf5920164 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf6ff63f0 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xf7d927a6 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x4d46bd62 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4b786dbf ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x50521733 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x55bf72a8 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8e849c01 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x92b8a342 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9d40a348 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xac5c95e3 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb1c51bf7 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xbc1d53bb ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd1e72142 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd5492e62 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd7deae28 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe2f67e5e wpan_phy_free +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x47c14789 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4e0c818c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x9f529b64 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x50da218a ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa50d33d1 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa8be2031 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4776c707 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x57568c63 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9f21d84d __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa1ff83ee nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa4ebe6ee nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa7da3d29 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb315ba22 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0xc5345b72 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xf3154799 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x070ef588 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x23fe7bb2 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8e8e997c ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa3fc8e55 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x251d390d xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x3ab4bfb8 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x68537476 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x6ab4a2ba xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2f78b9fb ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4102bde1 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8151ddda ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9a234ae5 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa53ab733 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xac74836f ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb6a8c6e9 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xdad9fd1d ircomm_flow_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 0x0cf804f1 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x108e00dd iriap_open +EXPORT_SYMBOL net/irda/irda 0x19f13dd4 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x21b5f043 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x22caf86e hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x242cd3ec irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2573aa78 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2bd933c4 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x2d3765bc hashbin_find +EXPORT_SYMBOL net/irda/irda 0x2f5dd63f proc_irda +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x38bd4f33 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x3bb318ea irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x4479ef51 hashbin_insert +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 0x538d5d22 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x572583cf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x5f55c3a2 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x5f65cf2e irttp_connect_response +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 0x70cc035b irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x7187a065 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x74c6eb16 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +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 0x8def7779 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x8f843350 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x8fddef96 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x91a9c759 iriap_close +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +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 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbf285a4c hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc0ce2aa7 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xc3a512dd hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xc455a476 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xd63aa94b async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xde638ecf irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xe974b4c7 irlap_open +EXPORT_SYMBOL net/irda/irda 0xec36f392 irda_device_set_media_busy +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 0xf1da20fc irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xfe7d3b90 irlap_close +EXPORT_SYMBOL net/irda/irda 0xff00d16f irlmp_close_lsap +EXPORT_SYMBOL net/l2tp/l2tp_core 0x0a153add l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x06e68689 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x0780426d lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x26b100df lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x44f5390b lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x876c5b5b lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x8a595590 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x9aafd8a0 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x9e044135 lapb_register +EXPORT_SYMBOL net/llc/llc 0x0affe28d llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x281cdd51 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4362da53 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x70ca1ab7 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x90bd9ec8 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x93176e1b llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x9656f8a0 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xee21218f llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x0081853a wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x04bb1638 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x061de448 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x06faf1ce ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x08b27ed0 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x0b369552 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0c4e34fd ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x16029408 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x1929f777 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x19a21652 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x1f2d91d0 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x215bbe6f ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x26433b99 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x2b1f3ddc ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2c5fd33a ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x2e0578b2 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x31c106e7 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x392505e2 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x3be79697 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x52f15c8f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x566b8437 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x59a31e03 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x61080870 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x695e46c4 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x6aa4e7e9 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x7159fe8d ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x73f8fcff ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x745d072f ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x7bfa2381 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x852a5923 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x871193a6 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x8d5b1dd0 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9078d7c4 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x94b6c076 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9d19df52 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9f211885 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa38808d9 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa3aa1bc2 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa67860df ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa67dbe19 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xaa7b3a46 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xb2c9032f ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xbe14422d ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xbf770e0a ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xc0c6cc96 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc46be824 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcd53166f ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xcdeeacc1 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xcf85fb97 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xcfdf17ee __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xdc56f7ea ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xe01e89f8 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe5c71943 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe64822a2 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xe7da1a5a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xe9be5d91 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xeab255cf ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xef0a4ccf ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf302fb15 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xf9b524f3 rate_control_send_low +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0edf99fe ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x12ee4140 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2a08b7d6 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2f9bc442 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3fb6d25b ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4eab1425 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5bc72a59 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x61f8a4fa unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8489ba10 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x944e8042 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xacfcc56c register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc5933a3f ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xca9dffd3 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd2e2e3c3 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x8172db6d nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9c839e7d __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd9400dd6 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x4073a0e7 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x04fcb5ac xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x5abc5c6b xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5d86e64b xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x638ce585 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x9886a587 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9e00f54e xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xad862199 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd0d0b924 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe67a8d46 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe9114178 xt_unregister_matches +EXPORT_SYMBOL net/nfc/hci/hci 0x0cef3d0e nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x104ec2d6 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x12d560ba nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x18b40fa7 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x1b412417 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x302827bf nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x3bf857b0 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4ac8c4d3 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7897b6e4 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x8c21a8e7 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x8df48390 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x941f3ac6 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xa60c0985 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbbbc3a35 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc5ea5599 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xc69f14dc nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xcb7a2573 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd6eb3264 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xd8fd5c58 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0xdaf32480 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xed8ba2af nfc_hci_send_response +EXPORT_SYMBOL net/nfc/nci/nci 0x3a9d1ec2 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x746087a5 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7b7f86e7 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x866e4c44 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc347868b nci_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x260e537e nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x485e4452 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x4b2bfbb3 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x60754061 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x7c8e29f9 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x8852d7ef nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x8ed3b828 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x927da42b nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xa22e0541 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xbeb891bb nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xe2ea4797 nfc_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x1291f1cd pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x17fb4525 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x3a0d074a phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x493633a8 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x4a05e4c3 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x624f1436 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x853e9747 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xbb96bf64 pn_sock_get_port +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ea2b260 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x172b7cad rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1b367d97 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x30e1418c rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3740eccc rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x52d9dfb0 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5ba76be0 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x80673e4f rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x86450382 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9bc62865 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xaf8a4cdd rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb1a91367 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe595862f key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf0128be2 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfcb413bc rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/sctp/sctp 0x2c190f11 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xf2747ad2 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0xa14f43ca wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xc2588b80 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x035016df __cfg80211_send_deauth +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 0x0a5df51e cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x0c4afc2f ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x16cae2ac wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1f77d777 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x2282f109 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x237434f5 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2966c0ca cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2fe6f578 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x338f3560 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x33fa4818 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x370897a3 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x40d0eb4f cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x424d189d cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x45f0cb63 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x49ebe2df cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x4a70f6ec __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x54497fb0 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5fd2d7e7 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x6093edba cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x66a772eb cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x69cbd3ce cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x78952159 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x7a264052 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x7c8cad8a cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x7cc167f7 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x7d870d3f freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7e7368ff wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f206a50 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x854066f3 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8cca23b1 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x90691b3b cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x960f8df1 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9ad662f9 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa036a85b regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xa155c2d8 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa3940ad4 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xad0ac795 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb4ce5a1f cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xbdace785 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xbdd8d392 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xc502455a cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc83ae83e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd210308a wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xd4b401f4 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xd772fe74 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xdd68fc5b wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe4022c9d cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xe49ec50a cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xe74127bb cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xe8348709 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xea7cc638 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xeed6e831 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xf3a38e04 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xf482f9c4 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfdfcb642 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xfee65cfe cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x6a2dbc55 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6bfc7bb4 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x83fe7b56 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x96b8e28b lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xceca6446 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xdc14cb48 lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0xc924bbb9 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x5b3c1dec snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x19b43c4b 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 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 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe174aee9 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xea3e9406 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf893d4d6 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x4ea6a042 snd_seq_device_register_driver +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 0xe640ff20 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 0x101a2e57 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x3cefc9b4 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x020ad8f2 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0eadfa77 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x152144e2 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1dda0a13 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x304343e6 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5cfb2e07 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5ebf758c snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x68577c7c snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x71a32cd8 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x93790b0e snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa97a719d snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb07f172e snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe815c32 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc21a0248 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdd63ba60 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdd726258 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfd2b6181 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x50cf1104 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 0x0b8d33c5 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0d2a5f8b snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x29483583 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4e998e7e snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x52b3bc71 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x542f0929 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5e1aaef8 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x663c0bd2 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6fc84a5d snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x857542d9 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9063c3d4 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x98a68d68 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbe3d3807 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc2b87960 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcca66408 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcd7cf710 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf3477a7b snd_ac97_set_rate +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 0x740854b5 snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x0003f34e dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x0007eb08 nand_scan_bbt +EXPORT_SYMBOL vmlinux 0x000a82fc scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x0041e83c register_quota_format +EXPORT_SYMBOL vmlinux 0x0051fbfa of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x00630784 netif_napi_add +EXPORT_SYMBOL vmlinux 0x007132e9 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x007e0fa2 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0081030e omap_vram_reserve +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00a2c4fd genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x00ad311d __napi_schedule +EXPORT_SYMBOL vmlinux 0x00ccf4d9 sock_create_kern +EXPORT_SYMBOL vmlinux 0x00e3646c snd_jack_new +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00ee3685 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01206d17 snd_pcm_limit_hw_rates +EXPORT_SYMBOL vmlinux 0x0129e6e1 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x0131c856 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x01424f59 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x015218a3 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x016515b2 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x017456b2 nobh_writepage +EXPORT_SYMBOL vmlinux 0x0174841d con_is_bound +EXPORT_SYMBOL vmlinux 0x018d7d55 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0195ae5a tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x019c0777 sg_miter_start +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01a55b65 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x01cd393f ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x01cea563 lookup_hash +EXPORT_SYMBOL vmlinux 0x01e8eedd neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x01fea6ed usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x020835a1 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x0210e5e2 may_umount +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02187acb mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x021b80be end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x0232f0a1 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x0238d92e bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x02450a6f module_put +EXPORT_SYMBOL vmlinux 0x024bf88f omap_modify_dma_chain_params +EXPORT_SYMBOL vmlinux 0x024c5e2b netdev_change_features +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 0x0271af9c netdev_info +EXPORT_SYMBOL vmlinux 0x027e24a2 fb_set_var +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x0289743f of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x02a0d156 gpmc_prefetch_reset +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b8b3ea dquot_acquire +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f7acb5 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0302c48b idr_destroy +EXPORT_SYMBOL vmlinux 0x03051c82 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x030f02ef skb_checksum_help +EXPORT_SYMBOL vmlinux 0x0312aae6 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x031786d3 sock_update_classid +EXPORT_SYMBOL vmlinux 0x031ba9bf atomic_dec_and_mutex_lock +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 0x036edc84 __find_get_block +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03813ee8 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x0384fc59 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x03a7452e call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x03bb46c6 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03e1ca3d twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x03fc037f netif_carrier_off +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04194aee nand_scan_ident +EXPORT_SYMBOL vmlinux 0x041bfd7a inet_select_addr +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045b0075 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x0491b6ae input_free_device +EXPORT_SYMBOL vmlinux 0x04ae1a7e tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x04c47134 of_device_register +EXPORT_SYMBOL vmlinux 0x04cb6240 files_lglock +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04e43b4d simple_pin_fs +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x051c31a6 vfs_unlink +EXPORT_SYMBOL vmlinux 0x051ff3aa vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x052988bf inet_shutdown +EXPORT_SYMBOL vmlinux 0x05304ee3 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x05590baf blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x0582464f sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x05887184 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x058db3f5 up_read +EXPORT_SYMBOL vmlinux 0x05a57ee3 genl_notify +EXPORT_SYMBOL vmlinux 0x05a9f870 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x05baaba0 wait_for_completion +EXPORT_SYMBOL vmlinux 0x05dd498e submit_bio +EXPORT_SYMBOL vmlinux 0x05dd9ac0 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x05e1b447 snd_timer_start +EXPORT_SYMBOL vmlinux 0x05e68e6f kernel_listen +EXPORT_SYMBOL vmlinux 0x05f7fb04 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x05fae862 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x0600178a fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x061277e8 set_page_dirty +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0629f11f register_sound_special +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0640f1b5 tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x06489559 kill_block_super +EXPORT_SYMBOL vmlinux 0x065addf9 write_one_page +EXPORT_SYMBOL vmlinux 0x065b1510 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x065e9734 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x065fbedf bio_kmalloc +EXPORT_SYMBOL vmlinux 0x066820cc udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x06727320 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685053d __brelse +EXPORT_SYMBOL vmlinux 0x06b97d24 snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0x06cd6023 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x06ea8aac led_blink_set +EXPORT_SYMBOL vmlinux 0x06fc1425 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0712feb1 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x07189e3f tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x0728568a __dst_free +EXPORT_SYMBOL vmlinux 0x07571668 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x076f5fde tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x079119a7 kthread_create_on_node +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 0x07e948bd tcp_make_synack +EXPORT_SYMBOL vmlinux 0x08091404 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x080e5e6d __neigh_event_send +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084c4680 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x0854d805 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x08a7884d jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x08ae76be generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x08b145f1 bmap +EXPORT_SYMBOL vmlinux 0x08c02d2c splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x08d4bf7c security_d_instantiate +EXPORT_SYMBOL vmlinux 0x08ded414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x08ee492a tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x08fda2ce journal_extend +EXPORT_SYMBOL vmlinux 0x09259b5f lock_may_read +EXPORT_SYMBOL vmlinux 0x09360eba omapdss_dpi_display_enable +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x09514b1e register_md_personality +EXPORT_SYMBOL vmlinux 0x09535974 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0995195d phy_start +EXPORT_SYMBOL vmlinux 0x09a6d695 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x09ad3552 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x09b058f9 cdev_init +EXPORT_SYMBOL vmlinux 0x09b43d79 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09cd3932 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09f1e264 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x0a020678 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a47bfd7 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x0a4917bd bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x0a7e1c5e tty_vhangup +EXPORT_SYMBOL vmlinux 0x0a8648e7 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x0a8de6b2 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x0a94b4fb kernel_read +EXPORT_SYMBOL vmlinux 0x0aa13d05 __raw_readsw +EXPORT_SYMBOL vmlinux 0x0aae1b1f dquot_release +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 0x0ae56306 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b14fa60 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b351ada mempool_resize +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b69a29f down_trylock +EXPORT_SYMBOL vmlinux 0x0b701dcc twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b90e80b proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x0bb04e84 find_inode_number +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be8f5d9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x0bf6675e __lock_buffer +EXPORT_SYMBOL vmlinux 0x0c09b60b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x0c1af3b6 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x0c35f2c6 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0c4c5b08 read_dev_sector +EXPORT_SYMBOL vmlinux 0x0c5029a9 seq_path +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5ce061 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c70c408 pipe_lock +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c938ca0 pid_task +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cc89c8c eth_header_cache +EXPORT_SYMBOL vmlinux 0x0cd2ef66 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x0cd5c69a generic_setlease +EXPORT_SYMBOL vmlinux 0x0cdd158d sg_alloc_table +EXPORT_SYMBOL vmlinux 0x0d22d11f get_unmapped_area +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d619563 __register_chrdev +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dd3c424 skb_store_bits +EXPORT_SYMBOL vmlinux 0x0de1ca67 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x0e0bb554 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x0e1afdbc sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x0e2106d2 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0e235250 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x0e42f9e0 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x0e47e2db genphy_resume +EXPORT_SYMBOL vmlinux 0x0e62e9ee seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e84fc85 inc_nlink +EXPORT_SYMBOL vmlinux 0x0e893437 lg_lock_init +EXPORT_SYMBOL vmlinux 0x0e8dce9e tcp_sendpage +EXPORT_SYMBOL vmlinux 0x0ea6e043 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x0ec8e2ea __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x0ec98808 ida_init +EXPORT_SYMBOL vmlinux 0x0eddaf63 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x0ee59741 dev_activate +EXPORT_SYMBOL vmlinux 0x0eebf79d sock_create_lite +EXPORT_SYMBOL vmlinux 0x0f3e7d8a __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x0f476cde skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f71c676 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x0f73ffc3 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x0f92c3ac input_unregister_handler +EXPORT_SYMBOL vmlinux 0x0fa2a45e __memzero +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fcf6b16 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x0fea399c bio_copy_user +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ffa8302 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x1016bceb generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x102aaba7 abort_creds +EXPORT_SYMBOL vmlinux 0x1034a20c scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x105a2fb9 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10748f6d iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x1083d8cd unlock_new_inode +EXPORT_SYMBOL vmlinux 0x10af06a1 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x10cea1c8 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x10e4375c inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110a4cbb seq_release +EXPORT_SYMBOL vmlinux 0x1120c4ae skb_copy_bits +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112748bd omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0x112dcfc3 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x1159ae96 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x119cbd33 clear_inode +EXPORT_SYMBOL vmlinux 0x11d2dab6 phy_driver_register +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x120a2434 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x12113572 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x1220a4ed arp_tbl +EXPORT_SYMBOL vmlinux 0x123788b1 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x12388ba1 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x1239173c update_time +EXPORT_SYMBOL vmlinux 0x1243001a skb_queue_tail +EXPORT_SYMBOL vmlinux 0x12435c0b __nla_reserve +EXPORT_SYMBOL vmlinux 0x125b6240 nf_reinject +EXPORT_SYMBOL vmlinux 0x1275de8b ip_fragment +EXPORT_SYMBOL vmlinux 0x12976460 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12deb04e phy_device_free +EXPORT_SYMBOL vmlinux 0x12f108fa inet_recvmsg +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13215128 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1349ac40 scsi_get_command +EXPORT_SYMBOL vmlinux 0x135a29ee tcp_parse_options +EXPORT_SYMBOL vmlinux 0x13ccf651 __lock_page +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e0b5fd lookup_one_len +EXPORT_SYMBOL vmlinux 0x13f7bb3c elv_abort_queue +EXPORT_SYMBOL vmlinux 0x14087388 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x141787b0 fd_install +EXPORT_SYMBOL vmlinux 0x141c9ddd inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1434869c ip_getsockopt +EXPORT_SYMBOL vmlinux 0x143b6aea scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x145e0c42 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x14809835 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x148535d8 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x1499686b follow_pfn +EXPORT_SYMBOL vmlinux 0x14d27b22 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14e6a075 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x1524d58b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x153d8b4f of_find_device_by_node +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 0x158b72ec scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x15a24c83 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x15db9c27 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x15def305 save_mount_options +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x1629235d n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1633b67a generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x1645106a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x164abe44 take_over_console +EXPORT_SYMBOL vmlinux 0x1660cad1 get_user_pages +EXPORT_SYMBOL vmlinux 0x166434a8 vfs_write +EXPORT_SYMBOL vmlinux 0x1678e869 snd_info_register +EXPORT_SYMBOL vmlinux 0x1684638e mount_pseudo +EXPORT_SYMBOL vmlinux 0x1698c676 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x16b921f0 generic_listxattr +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16ee5e40 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x16ef33bd security_path_rmdir +EXPORT_SYMBOL vmlinux 0x16f4670c unlock_page +EXPORT_SYMBOL vmlinux 0x16f6f9c7 dquot_commit +EXPORT_SYMBOL vmlinux 0x16fdb2dc loop_register_transfer +EXPORT_SYMBOL vmlinux 0x1719afec dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x172afa32 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x176e98eb inet_release +EXPORT_SYMBOL vmlinux 0x1773b81a get_super +EXPORT_SYMBOL vmlinux 0x17760c6e filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x178ad049 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x17a142df __copy_from_user +EXPORT_SYMBOL vmlinux 0x17a61276 __netdev_printk +EXPORT_SYMBOL vmlinux 0x17bfe478 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1848aae6 inode_dio_done +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 0x1865d920 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x188428e1 I_BDEV +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18bff5e0 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x191bdeb1 file_open_root +EXPORT_SYMBOL vmlinux 0x1924a3ea load_nls_default +EXPORT_SYMBOL vmlinux 0x192d8175 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x1945106d snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x195d14cc blk_sync_queue +EXPORT_SYMBOL vmlinux 0x196aff3e dev_base_lock +EXPORT_SYMBOL vmlinux 0x197623d8 write_cache_pages +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197d9e46 md_check_recovery +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x197ff629 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x1980302a pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x1998b56d nand_bch_init +EXPORT_SYMBOL vmlinux 0x199a8297 lock_super +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19aca78a console_start +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x1a297bfb tty_set_operations +EXPORT_SYMBOL vmlinux 0x1a3cc738 netdev_crit +EXPORT_SYMBOL vmlinux 0x1a54e4c3 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a7c9cbe netdev_state_change +EXPORT_SYMBOL vmlinux 0x1aaf22c8 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x1ab1e1ed dquot_destroy +EXPORT_SYMBOL vmlinux 0x1ab47db9 misc_deregister +EXPORT_SYMBOL vmlinux 0x1aca7ace blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1af38e0f scsi_device_resume +EXPORT_SYMBOL vmlinux 0x1af49981 get_super_thawed +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b044fdd i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x1b0a3daf fsync_bdev +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b5f2dc2 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b7deb68 ping_prot +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba5cb20 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x1baeaed4 proc_dostring +EXPORT_SYMBOL vmlinux 0x1baf1bb4 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x1c123627 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x1c29a5cf con_copy_unimap +EXPORT_SYMBOL vmlinux 0x1c3899d9 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x1c58fe1c blkdev_get +EXPORT_SYMBOL vmlinux 0x1c5b3b75 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x1c7d56e8 tty_port_put +EXPORT_SYMBOL vmlinux 0x1c8c4d5e dqget +EXPORT_SYMBOL vmlinux 0x1ca1b29d nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x1cb4ffeb md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x1cc23b17 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd0f6c0 mempool_alloc +EXPORT_SYMBOL vmlinux 0x1cf89283 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d2712f7 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x1d43d57c seq_putc +EXPORT_SYMBOL vmlinux 0x1d5ae2a3 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1d66a1f7 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x1d7b1b39 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x1dad6373 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x1db47177 put_disk +EXPORT_SYMBOL vmlinux 0x1db7dc40 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0aa50c mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x1e1667b5 names_cachep +EXPORT_SYMBOL vmlinux 0x1e1b7f74 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x1e24fd27 unregister_key_type +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e3b41a6 dst_release +EXPORT_SYMBOL vmlinux 0x1e67daff mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e836b3b flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec4d070 __sock_create +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1edfd9f1 dev_mc_del +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f04985d invalidate_bdev +EXPORT_SYMBOL vmlinux 0x1f354e6a dma_supported +EXPORT_SYMBOL vmlinux 0x1f3ef377 kdb_current_task +EXPORT_SYMBOL vmlinux 0x1f4b7a2e d_move +EXPORT_SYMBOL vmlinux 0x1f61011c twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x1f6c3361 key_invalidate +EXPORT_SYMBOL vmlinux 0x1f745e2c key_alloc +EXPORT_SYMBOL vmlinux 0x1f77e8ef of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f988e5d phy_register_fixup +EXPORT_SYMBOL vmlinux 0x1f9d6f4b __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x1f9ed953 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1febd8c4 inet_frags_init +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20085764 register_nls +EXPORT_SYMBOL vmlinux 0x202d3c02 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x203be6d1 snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x205b4177 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x205dc023 genphy_read_status +EXPORT_SYMBOL vmlinux 0x205ec8de omap_dispc_register_isr +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20a0eaf2 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20ab5a82 kunmap +EXPORT_SYMBOL vmlinux 0x20aba88e tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20cdb749 sget +EXPORT_SYMBOL vmlinux 0x20d7cd32 sk_filter +EXPORT_SYMBOL vmlinux 0x210368be load_nls +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x211efcd6 skb_insert +EXPORT_SYMBOL vmlinux 0x2124040f drop_nlink +EXPORT_SYMBOL vmlinux 0x2124d368 snd_card_proc_new +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x2145633c tty_kref_put +EXPORT_SYMBOL vmlinux 0x2157d5ad free_netdev +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x219401d8 dev_change_flags +EXPORT_SYMBOL vmlinux 0x219d2ba1 kmap_atomic +EXPORT_SYMBOL vmlinux 0x21aa4dd0 register_key_type +EXPORT_SYMBOL vmlinux 0x21bc9654 register_sound_dsp +EXPORT_SYMBOL vmlinux 0x21c5f2ff dma_sync_wait +EXPORT_SYMBOL vmlinux 0x21d9553f kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x22025eef __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x220ba76a linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x221dfde0 idr_pre_get +EXPORT_SYMBOL vmlinux 0x2223f30a __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223cc898 omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0x224df2d4 dev_crit +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c90d71 cont_write_begin +EXPORT_SYMBOL vmlinux 0x22cae18a vc_resize +EXPORT_SYMBOL vmlinux 0x22d19776 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x22e2ef4e ps2_drain +EXPORT_SYMBOL vmlinux 0x22ed0c1a xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x23014884 init_buffer +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x23690e30 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x238d3d68 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b90a38 noop_fsync +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c46d18 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23d5871e scsi_finish_command +EXPORT_SYMBOL vmlinux 0x23e0860d do_splice_direct +EXPORT_SYMBOL vmlinux 0x23ed126d dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x23f7ee8d cpu_cache +EXPORT_SYMBOL vmlinux 0x23f96368 phy_print_status +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2429a333 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x2451efd4 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24722ad2 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x247b45b2 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x249a0b5d scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24b9d305 d_find_alias +EXPORT_SYMBOL vmlinux 0x24d02289 block_write_full_page +EXPORT_SYMBOL vmlinux 0x24e10d8e twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252d7640 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x252ed4b1 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x2546f106 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2547483c read_cache_page_async +EXPORT_SYMBOL vmlinux 0x2570691b fb_find_mode +EXPORT_SYMBOL vmlinux 0x257b09ff dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2597f971 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x25ac5bd9 dql_init +EXPORT_SYMBOL vmlinux 0x25b4522b input_set_keycode +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25d2ad73 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x25d7382f fail_migrate_page +EXPORT_SYMBOL vmlinux 0x2601ecba inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x262a9620 complete_request_key +EXPORT_SYMBOL vmlinux 0x26309dec blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2663456a __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x268ae8a7 seq_open_private +EXPORT_SYMBOL vmlinux 0x26911e4d gen_new_estimator +EXPORT_SYMBOL vmlinux 0x26a83004 dst_discard +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26c65d12 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x26d7deb0 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26ec1805 replace_mount_options +EXPORT_SYMBOL vmlinux 0x26ed5c88 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x26f0f209 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x26f80eae elevator_init +EXPORT_SYMBOL vmlinux 0x26ffea9a mark_page_accessed +EXPORT_SYMBOL vmlinux 0x2700b38a mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x27572406 __invalidate_device +EXPORT_SYMBOL vmlinux 0x2757ad88 journal_wipe +EXPORT_SYMBOL vmlinux 0x27692c76 __pagevec_release +EXPORT_SYMBOL vmlinux 0x2780cf97 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ab8e95 register_gifconf +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x28007501 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x28054545 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2830fee2 idr_get_next +EXPORT_SYMBOL vmlinux 0x28605e9e tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x287fd61f sk_dst_check +EXPORT_SYMBOL vmlinux 0x2897fc48 omap_cfg_reg +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28d150af d_set_d_op +EXPORT_SYMBOL vmlinux 0x28d6861d __vmalloc +EXPORT_SYMBOL vmlinux 0x28dae1a1 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0x28ea4159 generic_write_sync +EXPORT_SYMBOL vmlinux 0x28f6e77c __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x2904f0e8 clk_round_rate +EXPORT_SYMBOL vmlinux 0x290bb47f dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x29199c3c neigh_ifdown +EXPORT_SYMBOL vmlinux 0x291d5a18 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x293fc70f write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x2944203d ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295f8276 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x296be509 omap_dss_get_overlay +EXPORT_SYMBOL vmlinux 0x297beb9f xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x297d5c63 filp_open +EXPORT_SYMBOL vmlinux 0x298a1b88 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x299ab1bf scsi_scan_target +EXPORT_SYMBOL vmlinux 0x29b37243 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x29b686bb scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x29ccad13 generic_file_open +EXPORT_SYMBOL vmlinux 0x29e9a014 kill_anon_super +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a1ed93e clk_add_alias +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a401f81 install_exec_creds +EXPORT_SYMBOL vmlinux 0x2a5851fc fb_pan_display +EXPORT_SYMBOL vmlinux 0x2a79ac13 clkdev_add +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab43ccb mmc_release_host +EXPORT_SYMBOL vmlinux 0x2ac6193b __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b16afbf km_query +EXPORT_SYMBOL vmlinux 0x2b1fc350 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b451a3e journal_init_dev +EXPORT_SYMBOL vmlinux 0x2b478e16 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x2b47b5ad dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x2b5084ce neigh_compat_output +EXPORT_SYMBOL vmlinux 0x2b688622 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2b90cdaa mempool_create +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bc4e7c6 __d_drop +EXPORT_SYMBOL vmlinux 0x2bcc9970 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x2bdd543a ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x2bdd9a63 tty_devnum +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c155833 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x2c1ee804 d_add_ci +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c3fdc40 proto_register +EXPORT_SYMBOL vmlinux 0x2c4229a7 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x2c94d00e dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x2c9a8a31 bdget +EXPORT_SYMBOL vmlinux 0x2ca71b9f ps2_init +EXPORT_SYMBOL vmlinux 0x2cafa1ce fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x2cf5f740 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x2d0a35aa input_open_device +EXPORT_SYMBOL vmlinux 0x2d0d8de0 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x2d12874a __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d34a1b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x2d441a57 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x2d4e64e2 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x2d5092bc sk_common_release +EXPORT_SYMBOL vmlinux 0x2d6507b5 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x2d7549b8 simple_setattr +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dab2cd8 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x2dc31429 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x2dd99ec3 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x2de4cc0c tty_register_device +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2e0d2827 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e253700 set_nlink +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e414614 bio_free +EXPORT_SYMBOL vmlinux 0x2e5810c6 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x2e6804af dev_disable_lro +EXPORT_SYMBOL vmlinux 0x2e6ac58c xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x2e9cb392 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x2ea0bfe8 arp_invalidate +EXPORT_SYMBOL vmlinux 0x2eb9dad2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x2ec01ae8 single_open +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 0x2f1ac4cb nf_afinfo +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fd85baf ___ratelimit +EXPORT_SYMBOL vmlinux 0x2fe7fffe gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x2fed0b8d get_task_io_context +EXPORT_SYMBOL vmlinux 0x3006e61a inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x3016eaa7 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x302d07ed jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x302e0149 __frontswap_load +EXPORT_SYMBOL vmlinux 0x304a32c3 truncate_setsize +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308aad56 omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0x309fb5b0 simple_write_end +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30b608f3 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f2a61d blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x30fa548c omap_dss_unregister_driver +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x312c05aa xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x313ffc4d set_security_override +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31658e22 cad_pid +EXPORT_SYMBOL vmlinux 0x3167fb2c mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x316dd1cd __wait_on_bit +EXPORT_SYMBOL vmlinux 0x317287ab register_exec_domain +EXPORT_SYMBOL vmlinux 0x317b67e3 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x318268ef skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x319fc25c tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x31a62c8c tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31bc34e7 snd_card_disconnect +EXPORT_SYMBOL vmlinux 0x31f03185 _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x32163f65 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x321d67b4 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x32208dab ppp_input +EXPORT_SYMBOL vmlinux 0x322b7ad8 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x3258bc2d netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x327e906f tcp_check_req +EXPORT_SYMBOL vmlinux 0x32837619 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32be1967 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x32c54d96 netdev_warn +EXPORT_SYMBOL vmlinux 0x32cc8545 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x32d21134 drop_super +EXPORT_SYMBOL vmlinux 0x32e96474 add_disk +EXPORT_SYMBOL vmlinux 0x32ed2399 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x3328ac00 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x332e13cd d_make_root +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x338da632 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x33935e1d tcp_prot +EXPORT_SYMBOL vmlinux 0x33cefbae omap_dss_find_device +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x3405125a neigh_parms_release +EXPORT_SYMBOL vmlinux 0x341245a5 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x3412e781 dev_mc_init +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x344e0fe5 seq_write +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3493acdd __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a33a29 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x34ea4fee uart_suspend_port +EXPORT_SYMBOL vmlinux 0x35140c50 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x3524b231 new_inode +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3541f4b7 write_inode_now +EXPORT_SYMBOL vmlinux 0x354537b0 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x355f425c kobject_set_name +EXPORT_SYMBOL vmlinux 0x35610e05 clk_get +EXPORT_SYMBOL vmlinux 0x35651285 scsi_execute +EXPORT_SYMBOL vmlinux 0x356de029 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x35715e16 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x35787864 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x357dae4a inet_frags_fini +EXPORT_SYMBOL vmlinux 0x359f3461 set_user_nice +EXPORT_SYMBOL vmlinux 0x35a8bd52 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x35b58466 arp_send +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c7f3d4 dev_mc_add +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35daec97 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x35db83c5 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x35e0c7a0 kern_path_create +EXPORT_SYMBOL vmlinux 0x35e49031 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x3600ef49 amba_request_regions +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x361672c8 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x361cd9e4 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x364b3fff up +EXPORT_SYMBOL vmlinux 0x36568b7b netdev_emerg +EXPORT_SYMBOL vmlinux 0x365f0ed3 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x367a562c generic_show_options +EXPORT_SYMBOL vmlinux 0x3680e051 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x3698b056 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3707b51e tty_throttle +EXPORT_SYMBOL vmlinux 0x373dfcda tcf_register_action +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37483628 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x3751a30e blk_put_request +EXPORT_SYMBOL vmlinux 0x376b5929 omapdss_default_get_timings +EXPORT_SYMBOL vmlinux 0x37798a9d init_special_inode +EXPORT_SYMBOL vmlinux 0x3784b43c neigh_destroy +EXPORT_SYMBOL vmlinux 0x378d18f6 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37b3946c nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37caf3eb simple_lookup +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f0da98 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x3801ff04 poll_initwait +EXPORT_SYMBOL vmlinux 0x380ff024 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x3816e4dc __serio_register_driver +EXPORT_SYMBOL vmlinux 0x381d219c inet_getname +EXPORT_SYMBOL vmlinux 0x382eab43 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x38403b90 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x3849561d empty_zero_page +EXPORT_SYMBOL vmlinux 0x3852684b kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x385de5e8 snd_timer_stop +EXPORT_SYMBOL vmlinux 0x38702740 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38deead3 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x3950711a of_match_device +EXPORT_SYMBOL vmlinux 0x39580112 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x3961e458 sock_wfree +EXPORT_SYMBOL vmlinux 0x396a5c3f sk_wait_data +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x3972df8f d_path +EXPORT_SYMBOL vmlinux 0x397deae0 setattr_copy +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39a23ea0 unregister_console +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39c2104a tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x39c80029 make_EII_client +EXPORT_SYMBOL vmlinux 0x3a8788df __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x3a8957f2 bio_put +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa16502 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3aaade2b dquot_commit_info +EXPORT_SYMBOL vmlinux 0x3aacb5ca rt6_lookup +EXPORT_SYMBOL vmlinux 0x3ad98a43 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x3b10d8c4 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x3b14f866 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x3b1a1888 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x3b29fe9a omap_dss_register_driver +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b366e3d qdisc_destroy +EXPORT_SYMBOL vmlinux 0x3b5903a4 account_page_redirty +EXPORT_SYMBOL vmlinux 0x3b759478 skb_unlink +EXPORT_SYMBOL vmlinux 0x3b7f8e27 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x3b91f3af snd_free_pages +EXPORT_SYMBOL vmlinux 0x3ba2ff8f simple_rmdir +EXPORT_SYMBOL vmlinux 0x3bb779a2 netdev_update_features +EXPORT_SYMBOL vmlinux 0x3bbba571 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc2eec9 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bec71d5 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c0b6ce0 snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x3c1ef7c7 down_read_trylock +EXPORT_SYMBOL vmlinux 0x3c4a8560 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x3c56db19 mdiobus_read +EXPORT_SYMBOL vmlinux 0x3c6a74d8 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c838bd7 scsi_add_device +EXPORT_SYMBOL vmlinux 0x3c92e470 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb06663 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x3cd04c20 iterate_mounts +EXPORT_SYMBOL vmlinux 0x3cd1851c dquot_operations +EXPORT_SYMBOL vmlinux 0x3ce125d9 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfc7e35 kern_unmount +EXPORT_SYMBOL vmlinux 0x3d03dd70 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x3d0e65f9 dma_pool_create +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d47f9f0 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x3d794224 inet_sendpage +EXPORT_SYMBOL vmlinux 0x3d86067c seq_lseek +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da1a1b5 genlmsg_put +EXPORT_SYMBOL vmlinux 0x3dc01d5d __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcc62bf set_binfmt +EXPORT_SYMBOL vmlinux 0x3de19c44 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0c512e free_task +EXPORT_SYMBOL vmlinux 0x3e441f89 phy_connect +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e474aef tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x3e5470da __inet6_hash +EXPORT_SYMBOL vmlinux 0x3e6133f8 journal_destroy +EXPORT_SYMBOL vmlinux 0x3e6b0b00 request_key +EXPORT_SYMBOL vmlinux 0x3e79a631 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x3e884f4b vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9d6df3 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x3ea0fd08 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ec79bae dev_alloc_name +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3eea6e20 ata_port_printk +EXPORT_SYMBOL vmlinux 0x3f09e3e9 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x3f119931 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f596662 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x3f605442 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x3f636a68 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x3f8d89d9 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x3f91f616 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x3fa5643a blk_end_request_all +EXPORT_SYMBOL vmlinux 0x3fa60951 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x3faad8c8 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x3fd05c54 generic_setxattr +EXPORT_SYMBOL vmlinux 0x3fd5088c rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x3fe9d3a3 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff7d131 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x40000636 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x402ca225 __kfree_skb +EXPORT_SYMBOL vmlinux 0x40327cee xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x407e2106 km_report +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 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x41077590 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x413982f8 __bio_clone +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415b12bb blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x4166ddd9 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x4168fb99 dev_addr_init +EXPORT_SYMBOL vmlinux 0x416e7bd0 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x417ac337 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x4186697d snd_timer_notify +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a9a2db tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x41ab2e13 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x41bfc910 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x41d568d6 of_device_is_available +EXPORT_SYMBOL vmlinux 0x41f7da32 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x423397fe pskb_expand_head +EXPORT_SYMBOL vmlinux 0x423c171f posix_test_lock +EXPORT_SYMBOL vmlinux 0x4283791b vfs_mkdir +EXPORT_SYMBOL vmlinux 0x42864147 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x429647ad tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4303d249 netlink_set_err +EXPORT_SYMBOL vmlinux 0x434503e4 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x4347b971 idr_init +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436a1d3e lg_local_unlock +EXPORT_SYMBOL vmlinux 0x436f0bdb sock_sendmsg +EXPORT_SYMBOL vmlinux 0x43926d52 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43aa58e0 sock_no_connect +EXPORT_SYMBOL vmlinux 0x43c7af94 mmc_free_host +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x44064dcf cpu_user +EXPORT_SYMBOL vmlinux 0x441443d5 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x441ed159 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x4433b9c5 dev_add_pack +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x445699fe request_firmware +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446813bb xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x449ab011 kill_litter_super +EXPORT_SYMBOL vmlinux 0x449d2232 snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44ce0b66 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44efd447 omap_dss_stop_device +EXPORT_SYMBOL vmlinux 0x45116a5e noop_llseek +EXPORT_SYMBOL vmlinux 0x4520dba0 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x4562ea8d mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x45715669 __alloc_skb +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45983139 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x45a8fbaa down_timeout +EXPORT_SYMBOL vmlinux 0x45a9bd71 vc_cons +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45cfc082 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45eaf988 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x4601ae1d unregister_nls +EXPORT_SYMBOL vmlinux 0x460ea1c5 udplite_table +EXPORT_SYMBOL vmlinux 0x46120b98 of_device_alloc +EXPORT_SYMBOL vmlinux 0x46166350 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x461aa026 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x461e4529 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x464dc46c nla_reserve +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x4662396a register_sound_midi +EXPORT_SYMBOL vmlinux 0x467cb203 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x4686c5d9 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x46b6e415 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x46c4b962 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46f1be97 proc_symlink +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x47162a99 key_unlink +EXPORT_SYMBOL vmlinux 0x471e5599 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x473031f2 vfs_read +EXPORT_SYMBOL vmlinux 0x474ba377 nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x476525bc snd_dma_reserve_buf +EXPORT_SYMBOL vmlinux 0x476fa1f6 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47b70d45 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x47c45f42 user_revoke +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x483ec199 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48917482 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x48a21e73 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48e2a6a7 nf_log_packet +EXPORT_SYMBOL vmlinux 0x48e38388 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x48edd974 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x48fee074 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x49034cdf brioctl_set +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49103014 read_cache_pages +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4960601e uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x49902f2b d_lookup +EXPORT_SYMBOL vmlinux 0x499a47c5 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x49a9253b mii_check_media +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49be8388 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x49cfcc8f phy_attach +EXPORT_SYMBOL vmlinux 0x49db5768 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x4a0875a9 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x4a1afb2a kernel_connect +EXPORT_SYMBOL vmlinux 0x4a34cfa9 __netif_schedule +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a469073 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x4a51dce6 omap_dss_get_next_device +EXPORT_SYMBOL vmlinux 0x4a5d9063 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x4a71f939 led_brightness_set +EXPORT_SYMBOL vmlinux 0x4a80aea6 qdisc_reset +EXPORT_SYMBOL vmlinux 0x4ab4d952 generic_permission +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4abdb61c seq_printf +EXPORT_SYMBOL vmlinux 0x4ac6e503 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x4ae69648 sk_free +EXPORT_SYMBOL vmlinux 0x4ae92f25 journal_errno +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b015768 snd_iprintf +EXPORT_SYMBOL vmlinux 0x4b05153d blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x4b095b1a vfs_getattr +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b20cbd2 ida_remove +EXPORT_SYMBOL vmlinux 0x4b299891 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x4b30e32d bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b409636 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x4b56063e snd_timer_global_new +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6ce830 bioset_free +EXPORT_SYMBOL vmlinux 0x4b806e7b snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x4ba39171 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x4bc39cb0 set_disk_ro +EXPORT_SYMBOL vmlinux 0x4bc5eddb serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x4be162d5 should_remove_suid +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c16773d textsearch_unregister +EXPORT_SYMBOL vmlinux 0x4c24694f snd_timer_global_register +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c90c961 blk_rq_init +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbdb927 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4cdbbacb generic_readlink +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cfa8d5e xfrm_lookup +EXPORT_SYMBOL vmlinux 0x4d028f40 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d1255e9 dev_warn +EXPORT_SYMBOL vmlinux 0x4d3402a3 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d3dd7ca iget_locked +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d441a33 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d4aaae7 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x4d60e380 dev_addr_del +EXPORT_SYMBOL vmlinux 0x4d8dfb1a dev_deactivate +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d9a9bfd eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dca2e83 skb_queue_head +EXPORT_SYMBOL vmlinux 0x4de69da3 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e2a24b6 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3f738c udp_sendmsg +EXPORT_SYMBOL vmlinux 0x4e452673 sock_init_data +EXPORT_SYMBOL vmlinux 0x4e506013 omap_dma_link_lch +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 0x4e8c3868 current_fs_time +EXPORT_SYMBOL vmlinux 0x4e8efdc0 serio_close +EXPORT_SYMBOL vmlinux 0x4e8f5c2c find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x4ebac85b twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x4ed70e07 clk_get_rate +EXPORT_SYMBOL vmlinux 0x4ed84ddf scsi_prep_return +EXPORT_SYMBOL vmlinux 0x4f1387c7 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3a6102 read_cache_page +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f7c932e twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f833685 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4fe63d8c dm_put_device +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ff9a602 noop_qdisc +EXPORT_SYMBOL vmlinux 0x500468e3 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5063978d snd_component_add +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50c71330 idr_get_new +EXPORT_SYMBOL vmlinux 0x50ccff03 omap_dma_set_prio_lch +EXPORT_SYMBOL vmlinux 0x50e23317 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x50faecf3 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x5100e8e4 kobject_add +EXPORT_SYMBOL vmlinux 0x510f64b4 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5124fbd6 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x51392eba tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5169161d omap_free_dma_chain +EXPORT_SYMBOL vmlinux 0x517ea0ce mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x518f3c84 inet6_bind +EXPORT_SYMBOL vmlinux 0x51908eb8 __raw_writesl +EXPORT_SYMBOL vmlinux 0x519bb80f fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x51ac7375 simple_link +EXPORT_SYMBOL vmlinux 0x51b81f1d filp_close +EXPORT_SYMBOL vmlinux 0x51cfeac4 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51dff8f5 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5206509b snd_device_free +EXPORT_SYMBOL vmlinux 0x5218c62c snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x522f5ac4 registered_fb +EXPORT_SYMBOL vmlinux 0x5233ac21 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x523958c1 account_page_writeback +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x524a196a dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x525545f1 default_llseek +EXPORT_SYMBOL vmlinux 0x525d8647 free_buffer_head +EXPORT_SYMBOL vmlinux 0x5271c6d6 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528e4a08 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x52b20809 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x52b5c211 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x52c6ee81 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x52d2e6ae key_validate +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52efd766 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530e3b17 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x5315fa97 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x532f7ce8 path_get +EXPORT_SYMBOL vmlinux 0x5331eabb ida_simple_get +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x533bba3f wait_iff_congested +EXPORT_SYMBOL vmlinux 0x53698b4a blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x537465ad ilookup5 +EXPORT_SYMBOL vmlinux 0x537bc8ae i2c_register_driver +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x53840c92 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x538789f9 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53a829fc mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x53b46443 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x53ba4e7c up_write +EXPORT_SYMBOL vmlinux 0x53e73851 snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x5415ea74 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x54172d89 blk_start_queue +EXPORT_SYMBOL vmlinux 0x541f3611 __getblk +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54a8bf57 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54aa5e20 netif_device_detach +EXPORT_SYMBOL vmlinux 0x54bae7f7 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x551f8bf2 blk_complete_request +EXPORT_SYMBOL vmlinux 0x5532a952 update_region +EXPORT_SYMBOL vmlinux 0x5534f692 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x553614f5 dev_uc_init +EXPORT_SYMBOL vmlinux 0x5559e3c4 snd_device_register +EXPORT_SYMBOL vmlinux 0x55724a57 udp_poll +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a6d2e2 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x55bb8691 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x55ef657b sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5622e1a9 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x562ad513 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56374231 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5646475c kick_iocb +EXPORT_SYMBOL vmlinux 0x5649666f do_splice_from +EXPORT_SYMBOL vmlinux 0x56508513 udp_prot +EXPORT_SYMBOL vmlinux 0x5677cf48 sync_blockdev +EXPORT_SYMBOL vmlinux 0x56789ac5 omap_set_dma_color_mode +EXPORT_SYMBOL vmlinux 0x56ad0389 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x56c474bd bdevname +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cfb6c8 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x56d07a62 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x56d9647e inet_stream_ops +EXPORT_SYMBOL vmlinux 0x56eff735 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x56f7951f of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x571a82af sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x574d4141 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575955c1 release_pages +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578d9f7e scsi_host_put +EXPORT_SYMBOL vmlinux 0x57e85255 snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x57f9e703 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x58300e45 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584933e2 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x58568b96 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x585b8429 snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x585fd579 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x5863d5d3 wake_up_process +EXPORT_SYMBOL vmlinux 0x5864724f snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0x586884a4 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x587885eb dev_set_group +EXPORT_SYMBOL vmlinux 0x58c33744 filemap_fault +EXPORT_SYMBOL vmlinux 0x58eee26b unregister_filesystem +EXPORT_SYMBOL vmlinux 0x58f56342 dev_open +EXPORT_SYMBOL vmlinux 0x58fe1e28 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x5909e6b6 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x590b32c1 generic_removexattr +EXPORT_SYMBOL vmlinux 0x59195e99 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593700c2 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x59391c7a skb_put +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x594fd546 omap_prcm_get_reset_sources +EXPORT_SYMBOL vmlinux 0x5951bb6e simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x595a2ed7 xfrm_input +EXPORT_SYMBOL vmlinux 0x595e2520 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x5993a2b8 alloc_disk +EXPORT_SYMBOL vmlinux 0x59c9af90 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x59d01b4f snd_unregister_device +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59db722e sk_stop_timer +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59e96fff genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x5a21595d scsi_scan_host +EXPORT_SYMBOL vmlinux 0x5a21906c kill_fasync +EXPORT_SYMBOL vmlinux 0x5a3a7db9 block_write_begin +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa2077b revert_creds +EXPORT_SYMBOL vmlinux 0x5aa6c4ff dquot_disable +EXPORT_SYMBOL vmlinux 0x5ad866f6 input_event +EXPORT_SYMBOL vmlinux 0x5aec9cdc abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x5afbd2c2 __page_symlink +EXPORT_SYMBOL vmlinux 0x5b1300a1 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b334156 down_killable +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bd87e85 inet_put_port +EXPORT_SYMBOL vmlinux 0x5bf4a1eb sg_last +EXPORT_SYMBOL vmlinux 0x5c4973a5 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x5c561f32 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x5c5a9be4 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x5c637aa5 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5c6c5f85 input_register_handle +EXPORT_SYMBOL vmlinux 0x5c7cf45a unregister_quota_format +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5cb4c0de i2c_verify_client +EXPORT_SYMBOL vmlinux 0x5cbeea54 fb_show_logo +EXPORT_SYMBOL vmlinux 0x5ce507a4 bio_add_page +EXPORT_SYMBOL vmlinux 0x5cfe012b ilookup +EXPORT_SYMBOL vmlinux 0x5d0399d6 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d8c7b6a scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x5d8d024d fb_get_mode +EXPORT_SYMBOL vmlinux 0x5daed819 __get_page_tail +EXPORT_SYMBOL vmlinux 0x5de3e669 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5e02b553 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x5e10b03e input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x5e1fe88f bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x5e2e6e63 simple_fill_super +EXPORT_SYMBOL vmlinux 0x5e43a927 jbd2_journal_errno +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 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea51499 skb_clone +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ecf0431 __elv_add_request +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed39004 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ef18899 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x5ef2a7f9 blk_put_queue +EXPORT_SYMBOL vmlinux 0x5ef4d861 seq_bitmap +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0e9c91 xfrm_state_delete +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 0x5f75ee67 i2c_use_client +EXPORT_SYMBOL vmlinux 0x5f8901be md_write_end +EXPORT_SYMBOL vmlinux 0x5f8c3651 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fb0d0db mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x5fb8288b cdrom_open +EXPORT_SYMBOL vmlinux 0x5fbf2c76 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x5fc64abd xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x5fd31254 put_page +EXPORT_SYMBOL vmlinux 0x5fde585e __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x5fed2668 bio_map_kern +EXPORT_SYMBOL vmlinux 0x5ff15e2f eth_header +EXPORT_SYMBOL vmlinux 0x5ff1ebc8 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x5ff2d1cc skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5ff7b482 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6004edb6 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6029ff82 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x603fd4ae xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x6044a47f snd_register_device_for_dev +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x6075603a skb_pad +EXPORT_SYMBOL vmlinux 0x609a263f tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b5f5f0 __nla_put +EXPORT_SYMBOL vmlinux 0x60bb3da7 user_path_at +EXPORT_SYMBOL vmlinux 0x60c5ed8b fifo_set_limit +EXPORT_SYMBOL vmlinux 0x60f71cfa complete +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x613b8cb1 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x6152c108 snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x6167ac40 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x61740dba __scsi_put_command +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6181ea8c sound_class +EXPORT_SYMBOL vmlinux 0x618eda37 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x61a79f08 __irq_regs +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b9f733 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x61c20fc8 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x61ed2170 mmc_erase +EXPORT_SYMBOL vmlinux 0x61fda54b xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x6202792c dev_get_by_index +EXPORT_SYMBOL vmlinux 0x621d0635 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x625d831d mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x6263f120 tty_unregister_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 0x62a345db jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x62a541b6 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x62b72b0d mutex_unlock +EXPORT_SYMBOL vmlinux 0x62b8667b tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62de4abd of_platform_device_create +EXPORT_SYMBOL vmlinux 0x62f42e21 snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6324f2b0 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x6366b75a blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL vmlinux 0x6386c85d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6388d550 do_sync_write +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63ab2604 irq_stat +EXPORT_SYMBOL vmlinux 0x63b87fc5 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x63c95937 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x63e518d9 scsi_unregister +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f792e6 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x64034a2b mpage_writepage +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640502a9 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x640712f2 block_truncate_page +EXPORT_SYMBOL vmlinux 0x641312e9 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x64180273 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x6422eb53 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x642819fc elv_rb_find +EXPORT_SYMBOL vmlinux 0x64955a70 mii_check_link +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649e6086 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x64a7e820 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x64d233c8 ioremap_page +EXPORT_SYMBOL vmlinux 0x650639f4 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x650ba5e1 gnet_stats_finish_copy +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 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65531ff6 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x656b11dc default_file_splice_read +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x65909849 key_task_permission +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e7b231 xfrm6_rcv_spi +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 0x66146a91 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x66283876 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x66391f12 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x66431e11 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x665d6551 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x667dc809 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x669f4c23 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66add71c proc_create_data +EXPORT_SYMBOL vmlinux 0x66c8f25a kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x66d12532 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x66d390c8 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x66e0182c ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x66ffd0d2 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x6723a27e dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x673b024f snd_device_new +EXPORT_SYMBOL vmlinux 0x673f1853 kernel_bind +EXPORT_SYMBOL vmlinux 0x6744c718 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x67498a80 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x6749e828 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x6761edfe tcp_disconnect +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x676e475a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x677d9162 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x67822543 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67ba3774 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67bf09d2 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x67c94869 redraw_screen +EXPORT_SYMBOL vmlinux 0x67e6b758 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x67e77b30 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x684ae1a7 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x686b03a8 snd_ctl_notify +EXPORT_SYMBOL vmlinux 0x68770a0b ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68922fba __quota_error +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68bdfb70 tcp_close +EXPORT_SYMBOL vmlinux 0x68c0af13 set_device_ro +EXPORT_SYMBOL vmlinux 0x68cfabbc omap_dss_start_device +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x690ee1bc devm_free_irq +EXPORT_SYMBOL vmlinux 0x691196c1 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x6916922e kmem_cache_create +EXPORT_SYMBOL vmlinux 0x6932d42d netlink_ack +EXPORT_SYMBOL vmlinux 0x693ddcbf submit_bh +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69764c34 put_tty_driver +EXPORT_SYMBOL vmlinux 0x698a2df8 sk_stream_error +EXPORT_SYMBOL vmlinux 0x6999e041 tty_port_init +EXPORT_SYMBOL vmlinux 0x69a1e446 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69c2ed1b jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x69d05489 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x69d1dffb skb_append +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a05d41b bio_endio +EXPORT_SYMBOL vmlinux 0x6a14ca32 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x6a2c88de tcf_exts_change +EXPORT_SYMBOL vmlinux 0x6a31540e d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x6a559116 rtc_lock +EXPORT_SYMBOL vmlinux 0x6a6fa8b4 contig_page_data +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7a7dbf scsi_host_get +EXPORT_SYMBOL vmlinux 0x6aa78de4 vm_insert_page +EXPORT_SYMBOL vmlinux 0x6ab00c9e kill_pid +EXPORT_SYMBOL vmlinux 0x6b15e068 i2c_transfer +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b5a7057 ida_destroy +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b7c56f0 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x6b83c1b4 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x6b8b0a43 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x6b8c8ad6 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x6b8f223b dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x6b94d7fa nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bcf2b40 flush_kernel_dcache_page +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be3aaa6 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x6bf4be38 inode_init_once +EXPORT_SYMBOL vmlinux 0x6bfc2a8a truncate_pagecache +EXPORT_SYMBOL vmlinux 0x6bfd5b2c dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c4879fa mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c7e5526 snd_pcm_lib_readv +EXPORT_SYMBOL vmlinux 0x6ccea055 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x6ccf7bd7 __pv_phys_offset +EXPORT_SYMBOL vmlinux 0x6cdb7cd1 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce3425b tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +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 0x6d55102d security_file_permission +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6db4d94b __break_lease +EXPORT_SYMBOL vmlinux 0x6ded92cc of_dev_put +EXPORT_SYMBOL vmlinux 0x6deef7b2 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df60888 dm_get_device +EXPORT_SYMBOL vmlinux 0x6df97ca7 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x6dfaa968 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x6e171b6b unload_nls +EXPORT_SYMBOL vmlinux 0x6e24c676 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x6e36d98d buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x6e4ba86f kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x6e53a641 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ec7fbd5 serio_interrupt +EXPORT_SYMBOL vmlinux 0x6ee47e4b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x6ee902f6 dcb_setapp +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f37230b mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x6f401ee0 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x6f46f996 mpage_writepages +EXPORT_SYMBOL vmlinux 0x6f5939c5 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x6f65be78 d_drop +EXPORT_SYMBOL vmlinux 0x6f91f088 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x6f940ec6 phy_detach +EXPORT_SYMBOL vmlinux 0x6f9d8c1e framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x6fbc5aee jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x6fbf92aa ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd5faa2 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x6fe1502c nf_getsockopt +EXPORT_SYMBOL vmlinux 0x6ff0bc33 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x701d2014 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x701e2ef6 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x70339500 do_SAK +EXPORT_SYMBOL vmlinux 0x703b05d0 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x7040a2c6 release_firmware +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x705b9140 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x7071637c dma_declare_coherent_memory +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 0x70da54ef amba_driver_register +EXPORT_SYMBOL vmlinux 0x70dd1a12 gpmc_cs_configure +EXPORT_SYMBOL vmlinux 0x70ea474a register_netdev +EXPORT_SYMBOL vmlinux 0x70f7e19c skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x71122bf1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714d6918 override_creds +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71888756 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x71910fde gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71af0b45 genphy_suspend +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71d0d3eb lro_receive_frags +EXPORT_SYMBOL vmlinux 0x71d96e4e dqput +EXPORT_SYMBOL vmlinux 0x71e822ab migrate_page +EXPORT_SYMBOL vmlinux 0x72152a1a input_grab_device +EXPORT_SYMBOL vmlinux 0x72162ee2 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x7221a78d i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x723573bb unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x7258cd26 kthread_bind +EXPORT_SYMBOL vmlinux 0x7284da82 input_get_keycode +EXPORT_SYMBOL vmlinux 0x72bbf3b0 inode_init_always +EXPORT_SYMBOL vmlinux 0x72c1fe5b jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f41e3c skb_pull +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c3d51 __napi_complete +EXPORT_SYMBOL vmlinux 0x7322d533 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x732cf9fd kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7332ba03 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x737ac25d dql_reset +EXPORT_SYMBOL vmlinux 0x737b5573 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738d6316 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x73c0f275 dev_get_stats +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73e2134f scsi_target_resume +EXPORT_SYMBOL vmlinux 0x73e9e066 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x740d1ad8 bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0x7422e3df mmc_card_awake +EXPORT_SYMBOL vmlinux 0x7428285b vfs_link +EXPORT_SYMBOL vmlinux 0x7461e649 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x74807f3a __seq_open_private +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74920aca sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x74a87df0 elevator_exit +EXPORT_SYMBOL vmlinux 0x74ad06dc tcp_proc_register +EXPORT_SYMBOL vmlinux 0x74b796d5 vfs_readv +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c9f279 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x74ccc82e of_get_property +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x7501fd0e sock_setsockopt +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x7508ed9a blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x7516d8cc pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x751bd5a2 simple_empty +EXPORT_SYMBOL vmlinux 0x7550c88f dquot_enable +EXPORT_SYMBOL vmlinux 0x7562258f ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x758ee764 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x75a17bed prepare_to_wait +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75fee7fd __raw_writesb +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760e1ab0 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x762d5a92 clk_enable +EXPORT_SYMBOL vmlinux 0x7638432b journal_ack_err +EXPORT_SYMBOL vmlinux 0x7644b787 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x76500995 netif_device_attach +EXPORT_SYMBOL vmlinux 0x76754808 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x7682e28c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x76881360 leds_event +EXPORT_SYMBOL vmlinux 0x768aadff _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x76912941 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c1e97a vmtruncate +EXPORT_SYMBOL vmlinux 0x76ca6d01 snd_dma_get_reserved_buf +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76ee82fe simple_transaction_set +EXPORT_SYMBOL vmlinux 0x771b8738 blk_free_tags +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x775d7e1b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x775e7780 ps2_end_command +EXPORT_SYMBOL vmlinux 0x775f715a mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x777b332e mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x778d6385 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77bf8073 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x77c08e87 dm_register_target +EXPORT_SYMBOL vmlinux 0x77ce8e5a security_path_symlink +EXPORT_SYMBOL vmlinux 0x77d0edcf dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x77dba3be blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x78105cb7 kstat +EXPORT_SYMBOL vmlinux 0x7833e16c vfs_fsync +EXPORT_SYMBOL vmlinux 0x783672ab dpi_set_timings +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x7896d8ee of_device_unregister +EXPORT_SYMBOL vmlinux 0x78b34630 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x78bd508c snd_card_register +EXPORT_SYMBOL vmlinux 0x78d90ac6 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x78de5260 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x7917905f dentry_unhash +EXPORT_SYMBOL vmlinux 0x791a9efb of_match_node +EXPORT_SYMBOL vmlinux 0x792122a1 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x793e37d6 amba_device_unregister +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x796d56bd __init_rwsem +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7977f158 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x7978bb4f fb_class +EXPORT_SYMBOL vmlinux 0x797da4c8 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x798ba569 lookup_bdev +EXPORT_SYMBOL vmlinux 0x799f36f6 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79e510ea vm_map_ram +EXPORT_SYMBOL vmlinux 0x79e815a5 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x79f65db6 __rta_fill +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a2b37d6 clk_get_parent +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a50945b dev_trans_start +EXPORT_SYMBOL vmlinux 0x7a78310d of_get_parent +EXPORT_SYMBOL vmlinux 0x7a80ecf1 serio_open +EXPORT_SYMBOL vmlinux 0x7a91726b clkdev_alloc +EXPORT_SYMBOL vmlinux 0x7aa087bb wireless_send_event +EXPORT_SYMBOL vmlinux 0x7ab1a506 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x7ab3aa49 devm_iounmap +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad9b173 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x7ae3430a 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 0x7b189acb twl6040_power +EXPORT_SYMBOL vmlinux 0x7b288f18 sock_i_ino +EXPORT_SYMBOL vmlinux 0x7b448fa1 framebuffer_release +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b64dfb7 scsi_register +EXPORT_SYMBOL vmlinux 0x7b6aa734 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x7b897a87 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x7b8be717 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x7bac7083 flush_signals +EXPORT_SYMBOL vmlinux 0x7bbb71e0 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7bd96a2c gpmc_prefetch_enable +EXPORT_SYMBOL vmlinux 0x7bf30fdc down_write +EXPORT_SYMBOL vmlinux 0x7bf8de84 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x7c0c260f freezing_slow_path +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c206324 dquot_resume +EXPORT_SYMBOL vmlinux 0x7c33301f inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4c3765 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x7c576f28 netif_skb_features +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c727af2 find_vma +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7c9e8dc8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x7cb76a5a netdev_features_change +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cf14891 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x7d0b9a20 __blk_end_request +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1c3496 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x7d287e3d bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x7da62550 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7de0a78b tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x7dea8905 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7dfd3e74 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x7dff5f9e sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x7e19dfc7 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x7e1e8980 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e4a7246 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x7e8276f7 __module_get +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec7ca05 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7f01d411 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f30a924 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7f321cda tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x7f33a63b omap_get_dma_chain_dst_pos +EXPORT_SYMBOL vmlinux 0x7f3c3e64 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f7bf0ce dev_emerg +EXPORT_SYMBOL vmlinux 0x7f867954 netlink_unicast +EXPORT_SYMBOL vmlinux 0x7fdbb22f tcp_splice_read +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x801fba00 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x802fc6b0 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x8034558a gpmc_nand_write +EXPORT_SYMBOL vmlinux 0x804b2f1f blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x804f6d40 ata_link_printk +EXPORT_SYMBOL vmlinux 0x8069eed1 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x806f5800 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x80825a90 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x808e868e __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x80d4a82a blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x80d56c0e tcp_v4_do_rcv +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 0x81003ee2 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x8111e4ff page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x812bc68f snd_card_free +EXPORT_SYMBOL vmlinux 0x813ed040 idr_remove_all +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x815131ba mempool_destroy +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815e0134 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x816002ab serio_rescan +EXPORT_SYMBOL vmlinux 0x81668e38 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x817bce41 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x819a7fff generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x81af66d7 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0x81b04bfc completion_done +EXPORT_SYMBOL vmlinux 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x81b6ec1d phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x81bc8b9f inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x81bf76e2 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x81c1fde9 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x81caefdc lease_get_mtime +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e675c6 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x81e8c9d7 vfs_rename +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8204e852 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x820739d3 d_splice_alias +EXPORT_SYMBOL vmlinux 0x82159d6f prepare_binprm +EXPORT_SYMBOL vmlinux 0x821e8d91 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x821f01e7 input_release_device +EXPORT_SYMBOL vmlinux 0x8227180a snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x82812bce tty_shutdown +EXPORT_SYMBOL vmlinux 0x8287dcdf tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x8297a429 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82ad3e43 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x82b47601 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x82fcba9b bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x83012c9a input_register_device +EXPORT_SYMBOL vmlinux 0x8305ce9d devm_clk_get +EXPORT_SYMBOL vmlinux 0x830f75f8 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x83429142 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL vmlinux 0x8371daff sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x8378dbb9 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d25c38 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x83e4a014 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x84042e96 arp_find +EXPORT_SYMBOL vmlinux 0x841a84d9 bdput +EXPORT_SYMBOL vmlinux 0x8426f602 dst_alloc +EXPORT_SYMBOL vmlinux 0x84334045 tty_name +EXPORT_SYMBOL vmlinux 0x845a3016 snd_timer_pause +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84ba5106 snd_card_create +EXPORT_SYMBOL vmlinux 0x84db4b6e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x84e3dce1 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x850a3bda tcp_child_process +EXPORT_SYMBOL vmlinux 0x851d54e7 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x855d79bd tty_write_room +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85765fee omap_enable_dma_irq +EXPORT_SYMBOL vmlinux 0x857ef611 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x858717df neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x859c5ecb blk_make_request +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e207ec sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x861efddf dev_uc_sync +EXPORT_SYMBOL vmlinux 0x8628117e rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x863f53a0 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x8641058e blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x86419e56 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866b2116 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x866f8a1d __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x867d1d7b jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x86860db6 open_exec +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869404d7 __breadahead +EXPORT_SYMBOL vmlinux 0x869b6978 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86a7ca4b __scsi_add_device +EXPORT_SYMBOL vmlinux 0x86b5375f simple_getattr +EXPORT_SYMBOL vmlinux 0x86caf8b8 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x86d37dc4 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x86d918b3 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x86e78fbc journal_start_commit +EXPORT_SYMBOL vmlinux 0x86ed7e73 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fcd530 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x870e7a00 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8776cb23 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x8786aed6 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8795b3cf block_write_end +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87994059 have_submounts +EXPORT_SYMBOL vmlinux 0x879e8a68 d_instantiate +EXPORT_SYMBOL vmlinux 0x87dbba14 ida_get_new +EXPORT_SYMBOL vmlinux 0x87e07aa1 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x87f0ca3e textsearch_register +EXPORT_SYMBOL vmlinux 0x87f9cf40 security_inode_permission +EXPORT_SYMBOL vmlinux 0x88043b2c dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x880ad85e dcache_readdir +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x882a4384 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x88571cc2 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x885d3b11 f_setown +EXPORT_SYMBOL vmlinux 0x886fbf1e kernel_accept +EXPORT_SYMBOL vmlinux 0x8893fa5d finish_wait +EXPORT_SYMBOL vmlinux 0x88b46e1f bio_unmap_user +EXPORT_SYMBOL vmlinux 0x88bd55f3 snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0x88bdfba7 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x89068daf mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x894785ec bio_clone +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8962e731 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x8969bcc1 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8997209e skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x899ad6cd journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x89a3c4f4 omap_get_dma_chain_index +EXPORT_SYMBOL vmlinux 0x89c455d8 aio_complete +EXPORT_SYMBOL vmlinux 0x89d09023 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f8585b devm_ioremap +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a247f93 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a534e76 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x8a6c107c md_done_sync +EXPORT_SYMBOL vmlinux 0x8a7ca61f nf_register_hooks +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa70625 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x8aa9e096 scsi_init_io +EXPORT_SYMBOL vmlinux 0x8aabb9e5 tcp_poll +EXPORT_SYMBOL vmlinux 0x8ab11c4c d_genocide +EXPORT_SYMBOL vmlinux 0x8abf4062 omapdss_dpi_display_disable +EXPORT_SYMBOL vmlinux 0x8aca0b90 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8ad23777 inet6_release +EXPORT_SYMBOL vmlinux 0x8ad66426 seq_release_private +EXPORT_SYMBOL vmlinux 0x8aea6273 inode_change_ok +EXPORT_SYMBOL vmlinux 0x8b18d87f net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x8b2d4516 snd_power_wait +EXPORT_SYMBOL vmlinux 0x8b3146c1 mount_bdev +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7e538a bio_map_user +EXPORT_SYMBOL vmlinux 0x8b80f1f1 blkdev_put +EXPORT_SYMBOL vmlinux 0x8b99b900 snd_pcm_lib_write +EXPORT_SYMBOL vmlinux 0x8ba64030 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x8bfcaabb do_truncate +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0bc6d1 kset_register +EXPORT_SYMBOL vmlinux 0x8c0d5b52 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x8c1a6339 flush_old_exec +EXPORT_SYMBOL vmlinux 0x8c323e86 build_skb +EXPORT_SYMBOL vmlinux 0x8c4d6523 omap_dma_chain_a_transfer +EXPORT_SYMBOL vmlinux 0x8c5ab48d blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x8c667985 find_get_page +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c8070f6 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x8c8ecc57 journal_stop +EXPORT_SYMBOL vmlinux 0x8cb23c19 set_groups +EXPORT_SYMBOL vmlinux 0x8cbf06ce bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8cdbe075 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x8cdda1a5 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x8cfc09a2 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x8d027fcd generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x8d04511b blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x8d2da54e snd_add_device_sysfs_file +EXPORT_SYMBOL vmlinux 0x8d3b4a7e lock_sock_nested +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5c67b8 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8da5be74 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x8ddd5036 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x8de7a44a scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8dfb1bb2 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e20b89a journal_revoke +EXPORT_SYMBOL vmlinux 0x8e21b101 vfs_llseek +EXPORT_SYMBOL vmlinux 0x8e2665da journal_lock_updates +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e486f1a phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x8e4ba56b blk_start_request +EXPORT_SYMBOL vmlinux 0x8e5cc2a4 lock_rename +EXPORT_SYMBOL vmlinux 0x8e8268dd napi_get_frags +EXPORT_SYMBOL vmlinux 0x8e8bb61b __devm_release_region +EXPORT_SYMBOL vmlinux 0x8e8f67b8 uart_resume_port +EXPORT_SYMBOL vmlinux 0x8ebd00c4 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x8ec08e59 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x8ec2ba8c generic_make_request +EXPORT_SYMBOL vmlinux 0x8edd1eec snd_ctl_add +EXPORT_SYMBOL vmlinux 0x8f0faea3 kfree_skb +EXPORT_SYMBOL vmlinux 0x8f193949 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x8f2d0dd6 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x8f3e674f jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x8f3fcad4 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f64deba ppp_input_error +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f6ab814 of_find_property +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f8d7baf ip6_route_output +EXPORT_SYMBOL vmlinux 0x8f9df616 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x8fa38900 ip_defrag +EXPORT_SYMBOL vmlinux 0x8fa4130a omap_set_dma_callback +EXPORT_SYMBOL vmlinux 0x8fcdd45f of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x900cb1b7 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x900e809c generic_block_bmap +EXPORT_SYMBOL vmlinux 0x901eb735 skb_push +EXPORT_SYMBOL vmlinux 0x903c6bb3 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x90463790 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x905a7f7f kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x906fb37f elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x908d612f i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x908fa7f2 mpage_readpages +EXPORT_SYMBOL vmlinux 0x908ff185 mapping_tagged +EXPORT_SYMBOL vmlinux 0x90bacfe0 cdrom_release +EXPORT_SYMBOL vmlinux 0x90c08c62 phy_disconnect +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90c8dedd serio_reconnect +EXPORT_SYMBOL vmlinux 0x90d6d80a tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x90d86517 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x910d8373 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x91433e89 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x914353c0 module_refcount +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914f800b ata_print_version +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x9179561b xfrm_register_type +EXPORT_SYMBOL vmlinux 0x917b7ea9 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x919e6498 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x91a9632c ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x91c1dccc scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x91ccb481 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x91d7e25d security_path_link +EXPORT_SYMBOL vmlinux 0x91d9b3ed blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x91eee1fb scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x920664c8 mempool_free +EXPORT_SYMBOL vmlinux 0x921ec73a netpoll_setup +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924116c5 snd_timer_close +EXPORT_SYMBOL vmlinux 0x926148b4 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x92673c64 htc_egpio_get_wakeup_irq +EXPORT_SYMBOL vmlinux 0x929eecac __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92beb450 snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930e9b64 input_inject_event +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x933a387f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x9351bd8c poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x93626cb6 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x93631c9c netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x9397841e posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9402b954 udp_seq_open +EXPORT_SYMBOL vmlinux 0x9406e338 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x941daf41 bio_pair_release +EXPORT_SYMBOL vmlinux 0x9422f550 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x944f2ef8 vfs_readlink +EXPORT_SYMBOL vmlinux 0x946e2c58 tty_mutex +EXPORT_SYMBOL vmlinux 0x9488a987 skb_copy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949d3648 input_flush_device +EXPORT_SYMBOL vmlinux 0x94af632e complete_all +EXPORT_SYMBOL vmlinux 0x94d7ba88 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x94f4e038 nand_unlock +EXPORT_SYMBOL vmlinux 0x95377071 snd_pcm_lib_read +EXPORT_SYMBOL vmlinux 0x953a503f elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x953eb104 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x954070cd __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x9541c988 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9555a406 log_start_commit +EXPORT_SYMBOL vmlinux 0x95675bfc dquot_initialize +EXPORT_SYMBOL vmlinux 0x9576be6c snd_card_unref +EXPORT_SYMBOL vmlinux 0x9584d204 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x95930a11 vfs_mknod +EXPORT_SYMBOL vmlinux 0x95a64259 cdev_add +EXPORT_SYMBOL vmlinux 0x95b2d603 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x95c40da2 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x95c5aad0 mount_nodev +EXPORT_SYMBOL vmlinux 0x95c86c5e generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x95d9c07c do_splice_to +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x95dc11e1 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x95f12102 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x95f344b5 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x95fab473 mmc_add_host +EXPORT_SYMBOL vmlinux 0x961cf3f6 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x963afe47 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x963f64b7 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x964a84ca ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x964ab816 snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x96598a2f d_alloc +EXPORT_SYMBOL vmlinux 0x965f8041 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x966339c6 arp_create +EXPORT_SYMBOL vmlinux 0x96789412 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0x9683fbbf thaw_bdev +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x968bcd92 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x968db821 __ps2_command +EXPORT_SYMBOL vmlinux 0x96ade2fe pipe_unlock +EXPORT_SYMBOL vmlinux 0x96b02c34 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x96b39b6e omap_start_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x973fc997 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x9744aa1d keyring_clear +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9779ec43 dget_parent +EXPORT_SYMBOL vmlinux 0x97997af7 register_cdrom +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97b1da9d __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x98082893 __copy_to_user +EXPORT_SYMBOL vmlinux 0x980aeff1 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98259492 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x9827d788 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x98399eb7 generic_getxattr +EXPORT_SYMBOL vmlinux 0x984a5d61 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x985ec3ac bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x987cf0dc dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x98a39f30 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x98d9bc82 tty_free_termios +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x9906c3e9 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x991bfbc6 icmpv6_send +EXPORT_SYMBOL vmlinux 0x991c9d45 pipe_to_file +EXPORT_SYMBOL vmlinux 0x993fcfbf mddev_congested +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x99792071 d_rehash +EXPORT_SYMBOL vmlinux 0x998eee8f keyring_search +EXPORT_SYMBOL vmlinux 0x998fb79b path_is_under +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999c3148 __raw_readsb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99aace13 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c45776 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99dacf0a register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x99fbdc80 proto_unregister +EXPORT_SYMBOL vmlinux 0x9a04ae9b netdev_err +EXPORT_SYMBOL vmlinux 0x9a10da7a fb_blank +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a4bd7ae generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x9a609350 inet_ioctl +EXPORT_SYMBOL vmlinux 0x9a6cd279 clk_unregister +EXPORT_SYMBOL vmlinux 0x9a8dc6db lg_local_lock +EXPORT_SYMBOL vmlinux 0x9a918a63 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9aa5f30b ata_dev_printk +EXPORT_SYMBOL vmlinux 0x9abbdb69 clk_set_parent +EXPORT_SYMBOL vmlinux 0x9acab3c1 locks_free_lock +EXPORT_SYMBOL vmlinux 0x9af80e2a vfs_writev +EXPORT_SYMBOL vmlinux 0x9b1ff1fc sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x9b321ba1 blk_run_queue +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b43c5d5 dev_uc_add +EXPORT_SYMBOL vmlinux 0x9b46cf45 generic_writepages +EXPORT_SYMBOL vmlinux 0x9b6ab2d0 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b782490 kill_bdev +EXPORT_SYMBOL vmlinux 0x9b810075 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x9b875fad of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bc86f64 __get_user_pages +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd34975 genl_register_family +EXPORT_SYMBOL vmlinux 0x9bd73e7f writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x9be8626a mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x9be893ab sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x9beb4ca7 snd_timer_open +EXPORT_SYMBOL vmlinux 0x9c3a7010 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x9c51b512 bdget_disk +EXPORT_SYMBOL vmlinux 0x9c554926 inet_listen +EXPORT_SYMBOL vmlinux 0x9c5b17a5 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9c5b9f0f snd_timer_continue +EXPORT_SYMBOL vmlinux 0x9c5ca642 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c82612d filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x9c8cf297 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x9c94f01e twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x9cb08b18 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd1063a dump_write +EXPORT_SYMBOL vmlinux 0x9cd2e7d0 gpmc_nand_read +EXPORT_SYMBOL vmlinux 0x9cd60539 sg_free_table +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf16940 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d069aba writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x9d375b6f bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d5d181f genl_register_ops +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d719948 d_delete +EXPORT_SYMBOL vmlinux 0x9d7a0cf8 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x9d9d3bf2 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x9dad7940 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0x9dfd7316 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0eef07 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e3f8af3 udp_disconnect +EXPORT_SYMBOL vmlinux 0x9e4d26bd nand_scan +EXPORT_SYMBOL vmlinux 0x9e4f97a8 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e61edcb sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e76ab90 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eb89176 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x9ec6120e register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9edd7161 skb_split +EXPORT_SYMBOL vmlinux 0x9ef42185 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x9efacafc phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9efe38b6 md_register_thread +EXPORT_SYMBOL vmlinux 0x9f1a5966 dquot_transfer +EXPORT_SYMBOL vmlinux 0x9f203ef0 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x9f2105cc shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x9f22611a bdi_register +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f3262b2 ip6_xmit +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f50adac snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x9f866e0d blk_peek_request +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f99d9bf ida_pre_get +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fedfaba max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x9ff4a7d0 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xa010498a blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xa0233c18 elv_rb_del +EXPORT_SYMBOL vmlinux 0xa040fb08 snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05a6e6b security_mmap_file +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07b3d0d ___pskb_trim +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa084939c cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0bdeff5 sock_no_listen +EXPORT_SYMBOL vmlinux 0xa0c8342e blkdev_fsync +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0ea45c4 fget +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11fda63 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12791b9 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa1437994 sock_register +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa14f7b4b wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xa1684773 amba_device_register +EXPORT_SYMBOL vmlinux 0xa170c18c journal_dirty_data +EXPORT_SYMBOL vmlinux 0xa1763ee4 km_policy_notify +EXPORT_SYMBOL vmlinux 0xa17e3d87 sock_map_fd +EXPORT_SYMBOL vmlinux 0xa19bc4d2 blkdev_issue_discard +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 0xa1e56687 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa1e876dc blk_register_region +EXPORT_SYMBOL vmlinux 0xa1eb3e7a sock_no_poll +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa2208afd vfs_create +EXPORT_SYMBOL vmlinux 0xa2237d32 sock_no_getname +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa25746c3 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xa25c022a scsi_put_command +EXPORT_SYMBOL vmlinux 0xa2665ebb mtd_concat_create +EXPORT_SYMBOL vmlinux 0xa2705340 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa2867ac5 omap_dss_get_overlay_manager +EXPORT_SYMBOL vmlinux 0xa28cd714 register_console +EXPORT_SYMBOL vmlinux 0xa28d9e7b key_revoke +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2aad002 amba_release_regions +EXPORT_SYMBOL vmlinux 0xa2ad0138 lock_may_write +EXPORT_SYMBOL vmlinux 0xa2e86f55 snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0xa2edff28 security_path_rename +EXPORT_SYMBOL vmlinux 0xa2f63727 find_or_create_page +EXPORT_SYMBOL vmlinux 0xa313c690 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xa31a2a06 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xa31a9706 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL vmlinux 0xa33f9c8e seq_read +EXPORT_SYMBOL vmlinux 0xa33f9dc0 find_lock_page +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa3588905 rtnl_notify +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3ad0f86 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xa3c3788d tty_register_driver +EXPORT_SYMBOL vmlinux 0xa3cd9cbe inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa3f2af99 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xa3f5bd3f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xa3f8a87a unregister_qdisc +EXPORT_SYMBOL vmlinux 0xa4110f63 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa44a94e3 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4887716 secpath_dup +EXPORT_SYMBOL vmlinux 0xa48f5b09 omap_dma_set_global_params +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4b727ab __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xa4b8cfcf xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xa4bb08c8 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa4d415d7 clk_set_rate +EXPORT_SYMBOL vmlinux 0xa4eaa1c1 napi_complete +EXPORT_SYMBOL vmlinux 0xa51f4c3e create_empty_buffers +EXPORT_SYMBOL vmlinux 0xa5464a0a tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xa55d9da7 mii_link_ok +EXPORT_SYMBOL vmlinux 0xa575245c skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa584edbf i2c_master_recv +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa5965784 sock_rfree +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b3976c inet_addr_type +EXPORT_SYMBOL vmlinux 0xa5b43ac3 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xa5c78923 __blk_run_queue +EXPORT_SYMBOL vmlinux 0xa5cc9fe5 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa60902e6 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61c8462 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xa61e4362 omap_request_dma +EXPORT_SYMBOL vmlinux 0xa62c55a7 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6411cea unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL vmlinux 0xa6520716 journal_forget +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa682563d i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xa68bccb2 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xa68e16ad sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6be0562 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ea7494 set_bh_page +EXPORT_SYMBOL vmlinux 0xa6f56f7e jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa703ba34 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xa70cf131 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xa718d276 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xa75df332 uart_match_port +EXPORT_SYMBOL vmlinux 0xa7b2815b dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa7c390f2 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xa7ebe164 locks_delete_block +EXPORT_SYMBOL vmlinux 0xa7f2c5ea prepare_creds +EXPORT_SYMBOL vmlinux 0xa8191e9b ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8233ef0 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xa8380d34 kernel_execve +EXPORT_SYMBOL vmlinux 0xa8600ac5 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xa869658f __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8ab602d sock_wake_async +EXPORT_SYMBOL vmlinux 0xa8cde9a7 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xa8ec34c7 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa8f3a8e0 vm_mmap +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9086c39 km_state_notify +EXPORT_SYMBOL vmlinux 0xa910d902 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xa9131464 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xa92971e2 sk_reset_txq +EXPORT_SYMBOL vmlinux 0xa92a982f xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xa9301192 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xa95f64a3 proc_mkdir +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa969e129 get_disk +EXPORT_SYMBOL vmlinux 0xa975ca1b ab3100_event_register +EXPORT_SYMBOL vmlinux 0xa986c9fa blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xa9a59dc3 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xaa1158a7 omap_dss_get_device +EXPORT_SYMBOL vmlinux 0xaa2bc5e3 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xaa5927f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6e751d inode_only_permission +EXPORT_SYMBOL vmlinux 0xaa74d1b3 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xaa7f65fb page_readlink +EXPORT_SYMBOL vmlinux 0xaa8eb206 touch_atime +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaacd85be elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae29d55 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab42479e tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xab47c102 scsi_device_put +EXPORT_SYMBOL vmlinux 0xab549bf1 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab9ed595 kobject_put +EXPORT_SYMBOL vmlinux 0xabaae066 snd_card_file_add +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabfcfac5 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac18e4ea kset_unregister +EXPORT_SYMBOL vmlinux 0xac3f3ec1 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac66477b iunique +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac84a980 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xac988fce revalidate_disk +EXPORT_SYMBOL vmlinux 0xacafef80 amba_find_device +EXPORT_SYMBOL vmlinux 0xacc10bd5 input_close_device +EXPORT_SYMBOL vmlinux 0xacc8152b tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xace5f61d check_disk_change +EXPORT_SYMBOL vmlinux 0xacf24f49 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xacf28e8d bdi_destroy +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad10c9fe init_net +EXPORT_SYMBOL vmlinux 0xad12ea99 follow_down_one +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad4ffde7 give_up_console +EXPORT_SYMBOL vmlinux 0xad52aa59 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadcb4562 mmc_start_req +EXPORT_SYMBOL vmlinux 0xaddedca1 block_commit_write +EXPORT_SYMBOL vmlinux 0xade66572 udp_proc_register +EXPORT_SYMBOL vmlinux 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae173d05 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xae48ab60 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xae531f84 register_sysctl +EXPORT_SYMBOL vmlinux 0xae5e7d2d tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xae684eb8 blk_init_queue +EXPORT_SYMBOL vmlinux 0xae69d5a2 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae9b7941 seq_escape +EXPORT_SYMBOL vmlinux 0xaea5a2e2 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xaebd05b7 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaec890a2 inet_accept +EXPORT_SYMBOL vmlinux 0xaeca4db0 mb_cache_create +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 0xaf6c7e37 create_proc_entry +EXPORT_SYMBOL vmlinux 0xaf6e326a path_put +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafa6b8b6 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xafbfe84c locks_copy_lock +EXPORT_SYMBOL vmlinux 0xafcc0302 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xafd688da mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xafde5847 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0xaff17bc7 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xb007e0fe dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xb008c3e1 mnt_pin +EXPORT_SYMBOL vmlinux 0xb015ba89 dev_close +EXPORT_SYMBOL vmlinux 0xb039285f eth_validate_addr +EXPORT_SYMBOL vmlinux 0xb05beff0 dev_uc_del +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06c4c64 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xb07fa39f bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0eeef9a sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb0f410e2 ihold +EXPORT_SYMBOL vmlinux 0xb0f5ce1f jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1235aa9 dquot_alloc +EXPORT_SYMBOL vmlinux 0xb12477e3 snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0xb143ba9a mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xb14897d9 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xb14effef xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xb1567263 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xb16fe7b3 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb18e6948 omap_dss_pal_timings +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1aef734 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c905d5 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xb1cf4030 journal_force_commit +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1f532bb __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xb1f7964a skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb214b053 mnt_unpin +EXPORT_SYMBOL vmlinux 0xb2160229 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb250d9b0 vm_event_states +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb26dbbdf xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xb278c767 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xb291e189 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0xb2a0f93d jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +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 0xb3435a22 security_path_chmod +EXPORT_SYMBOL vmlinux 0xb352ed10 simple_unlink +EXPORT_SYMBOL vmlinux 0xb383c894 search_binary_handler +EXPORT_SYMBOL vmlinux 0xb389538f xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xb3b6d0c1 input_set_capability +EXPORT_SYMBOL vmlinux 0xb3c01937 dquot_drop +EXPORT_SYMBOL vmlinux 0xb3e90543 dump_seek +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb43d6775 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0xb46e08b5 inode_permission +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb49355b0 empty_aops +EXPORT_SYMBOL vmlinux 0xb4953a64 simple_statfs +EXPORT_SYMBOL vmlinux 0xb49a1237 address_space_init_once +EXPORT_SYMBOL vmlinux 0xb4abf500 __register_binfmt +EXPORT_SYMBOL vmlinux 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xb4c8f38a omap_dma_chain_status +EXPORT_SYMBOL vmlinux 0xb4f54401 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xb51fc661 serial8250_register_port +EXPORT_SYMBOL vmlinux 0xb5435f5d skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54a6340 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xb56cf75c netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57a3ede scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xb582be39 nla_put +EXPORT_SYMBOL vmlinux 0xb59536b6 uart_register_driver +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5c10a70 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d45564 lease_modify +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb60df67f sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xb654612a xfrm_policy_alloc +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 0xb68b2136 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xb6a1636c scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0xb6a4cbc4 xfrm_user_policy +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 0xb6c71978 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xb6f7fddd skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb712ac4a kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xb71b0aae journal_init_inode +EXPORT_SYMBOL vmlinux 0xb72cd7c8 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xb747004d blk_execute_rq +EXPORT_SYMBOL vmlinux 0xb75da1b2 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xb7638088 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xb764632a __ip_dev_find +EXPORT_SYMBOL vmlinux 0xb77a7c47 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xb77f37dc journal_get_create_access +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 0xb7bfedbb dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xb7c1b4c4 tty_port_open +EXPORT_SYMBOL vmlinux 0xb7d858e6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb81ecb7f omapdss_sdi_display_disable +EXPORT_SYMBOL vmlinux 0xb81fd3be idr_find +EXPORT_SYMBOL vmlinux 0xb835b3c4 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb840cad0 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xb86b5fae page_put_link +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb8794099 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xb8865129 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8ae0094 is_bad_inode +EXPORT_SYMBOL vmlinux 0xb8af9c11 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0xb8cf1450 i2c_release_client +EXPORT_SYMBOL vmlinux 0xb8e28d0b udp_ioctl +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb905fbb7 init_task +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb912e941 clear_nlink +EXPORT_SYMBOL vmlinux 0xb92d651f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb96dd0f3 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xb971823f tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xb9807b20 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9e52429 __wake_up +EXPORT_SYMBOL vmlinux 0xba1bd3bc tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xba435dd3 mdiobus_write +EXPORT_SYMBOL vmlinux 0xba46b8c3 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba6c963c bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xba714709 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xba76d6da scsi_print_sense +EXPORT_SYMBOL vmlinux 0xba88551e bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xba9453ef napi_gro_frags +EXPORT_SYMBOL vmlinux 0xbaac427c get_mem_type +EXPORT_SYMBOL vmlinux 0xbae8ad81 skb_find_text +EXPORT_SYMBOL vmlinux 0xbaf04a46 devm_clk_put +EXPORT_SYMBOL vmlinux 0xbafed761 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbb0f0e09 __put_cred +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb2b4612 rwsem_is_locked +EXPORT_SYMBOL vmlinux 0xbb483202 ether_setup +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb7329e9 log_wait_commit +EXPORT_SYMBOL vmlinux 0xbb798f60 phy_find_first +EXPORT_SYMBOL vmlinux 0xbb9889a9 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbcbf9e5 of_phy_connect +EXPORT_SYMBOL vmlinux 0xbbd7525d tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xbbe3b09e __block_write_begin +EXPORT_SYMBOL vmlinux 0xbbf28589 vfs_open +EXPORT_SYMBOL vmlinux 0xbbfb25b7 km_state_expired +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc2c1463 md_flush_request +EXPORT_SYMBOL vmlinux 0xbc3875d8 journal_flush +EXPORT_SYMBOL vmlinux 0xbc40d2f8 netdev_set_master +EXPORT_SYMBOL vmlinux 0xbc4217c4 generic_write_end +EXPORT_SYMBOL vmlinux 0xbc4c7c32 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xbc6d5f57 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xbc7e93b4 mdiobus_free +EXPORT_SYMBOL vmlinux 0xbc860222 gpmc_read_status +EXPORT_SYMBOL vmlinux 0xbc9e45e0 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xbcdb1bba unlock_super +EXPORT_SYMBOL vmlinux 0xbd1f8f5f elv_add_request +EXPORT_SYMBOL vmlinux 0xbd4c4bfc qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xbd549091 md_integrity_register +EXPORT_SYMBOL vmlinux 0xbd5d786f try_to_release_page +EXPORT_SYMBOL vmlinux 0xbd6ddec6 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xbd6ea48e inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xbd797d9c snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0xbd7ef95f mem_map +EXPORT_SYMBOL vmlinux 0xbd84f151 dev_driver_string +EXPORT_SYMBOL vmlinux 0xbd94ecb7 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xbda30fdf bio_sector_offset +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdec60c9 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xbdf2580d __raw_readsl +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdfab02f eth_header_parse +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe183468 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe294081 ll_rw_block +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe477bd8 get_fs_type +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe6d76aa scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xbe91cf06 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xbeac328a journal_update_format +EXPORT_SYMBOL vmlinux 0xbeb9a164 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xbebc46e3 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xbedec40c follow_up +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef109c0 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf03e270 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xbf1faebe mutex_trylock +EXPORT_SYMBOL vmlinux 0xbf2e4c32 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xbf76d9a8 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfaa7c32 do_map_probe +EXPORT_SYMBOL vmlinux 0xbfbcaa52 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc00fbcbc __f_setown +EXPORT_SYMBOL vmlinux 0xc02cf69b clkdev_drop +EXPORT_SYMBOL vmlinux 0xc02ee9ac bdi_unregister +EXPORT_SYMBOL vmlinux 0xc036de6b eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc06ec2c8 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xc0710ae9 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc08b4157 simple_map_init +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0adccd9 file_update_time +EXPORT_SYMBOL vmlinux 0xc0bddfc8 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xc0cf95f9 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0xc100a98e generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xc103de31 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xc1043b88 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xc1077aca d_alloc_name +EXPORT_SYMBOL vmlinux 0xc1184a04 blk_get_request +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc13a48b1 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xc1509363 of_get_next_child +EXPORT_SYMBOL vmlinux 0xc154afa3 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xc15dcdfa phy_stop +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1712da7 bio_init +EXPORT_SYMBOL vmlinux 0xc17b6a0e try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xc1adc77f dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1db463c udplite_prot +EXPORT_SYMBOL vmlinux 0xc1ef6ee5 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xc20ecad5 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc2165d85 __arm_iounmap +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc25076c0 kobject_del +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc262048d __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc26d1e1b datagram_poll +EXPORT_SYMBOL vmlinux 0xc2707237 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xc272eddf nand_lock +EXPORT_SYMBOL vmlinux 0xc2748881 kobject_init +EXPORT_SYMBOL vmlinux 0xc29d886d journal_start +EXPORT_SYMBOL vmlinux 0xc2a64c03 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0xc2a852a0 clk_disable +EXPORT_SYMBOL vmlinux 0xc2b259b6 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xc2b909c7 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xc2c83763 console_stop +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 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc2ff0ddc start_tty +EXPORT_SYMBOL vmlinux 0xc305f75c inode_dio_wait +EXPORT_SYMBOL vmlinux 0xc314f76b bh_submit_read +EXPORT_SYMBOL vmlinux 0xc32d08a5 block_read_full_page +EXPORT_SYMBOL vmlinux 0xc34dc8b7 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc357bc3a vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xc359fb65 abort +EXPORT_SYMBOL vmlinux 0xc36e8e92 generic_write_checks +EXPORT_SYMBOL vmlinux 0xc3796435 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xc431ffc0 __frontswap_store +EXPORT_SYMBOL vmlinux 0xc436bc53 page_address +EXPORT_SYMBOL vmlinux 0xc45ef616 idr_for_each +EXPORT_SYMBOL vmlinux 0xc45fd95f kmem_cache_free +EXPORT_SYMBOL vmlinux 0xc46354e9 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xc4868c1e journal_set_features +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a618d7 skb_dequeue +EXPORT_SYMBOL vmlinux 0xc4f85f59 register_netdevice +EXPORT_SYMBOL vmlinux 0xc4fba00c ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc52e47d7 neigh_table_init +EXPORT_SYMBOL vmlinux 0xc541b237 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0xc54bc3c9 dqstats +EXPORT_SYMBOL vmlinux 0xc55cdfbb mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xc566c339 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xc58178be mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xc5832f10 mount_ns +EXPORT_SYMBOL vmlinux 0xc589ecc0 journal_clear_err +EXPORT_SYMBOL vmlinux 0xc58d1500 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xc59888bd alloc_file +EXPORT_SYMBOL vmlinux 0xc5a529c3 deactivate_super +EXPORT_SYMBOL vmlinux 0xc5ad0718 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xc5c8c8ad omap_dss_put_device +EXPORT_SYMBOL vmlinux 0xc5e5dc57 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fe34f2 unlock_rename +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc620ccbc snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63e210b dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xc65364f9 dql_completed +EXPORT_SYMBOL vmlinux 0xc679fe19 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc69c2c5b elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xc69dc877 nf_log_register +EXPORT_SYMBOL vmlinux 0xc6b22046 snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0xc6bfce97 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e13121 force_sig +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc70b1df0 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc72818a3 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xc72f143e km_new_mapping +EXPORT_SYMBOL vmlinux 0xc731ea73 thaw_super +EXPORT_SYMBOL vmlinux 0xc746adc2 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xc75bd8d7 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7834bfe udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xc788c6c6 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xc79b50a3 fasync_helper +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4b894 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7cc827f sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xc7e274bb phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc80ca13e nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc82844c2 sync_inode +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85aad17 aio_put_req +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc88268b6 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xc88fe16f __bforget +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8d9fd2b inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xc8f4a67f textsearch_prepare +EXPORT_SYMBOL vmlinux 0xc9042536 snd_card_set_id +EXPORT_SYMBOL vmlinux 0xc90da90a insert_inode_locked +EXPORT_SYMBOL vmlinux 0xc9142293 omap_dss_ntsc_timings +EXPORT_SYMBOL vmlinux 0xc937c63b snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0xc9537cde bdev_read_only +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a839b4 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xc9c41593 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0xc9e1efce freeze_bdev +EXPORT_SYMBOL vmlinux 0xc9eee053 cdev_del +EXPORT_SYMBOL vmlinux 0xca03a47c skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xca088aa8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xca2717b2 posix_lock_file +EXPORT_SYMBOL vmlinux 0xca57ed0c blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca902e41 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xcab17e69 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xcab19df3 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xcab3ea5f pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xcadb336f mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xcafeb688 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xcb11793b bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xcb5d8af0 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb7a6801 follow_down +EXPORT_SYMBOL vmlinux 0xcb7b33f3 neigh_update +EXPORT_SYMBOL vmlinux 0xcb8ad897 __scm_send +EXPORT_SYMBOL vmlinux 0xcb9219a4 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcbabe455 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xcbb0f77d simple_readpage +EXPORT_SYMBOL vmlinux 0xcbb8ded1 mdiobus_register +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbd83b43 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcbf58ece unregister_netdev +EXPORT_SYMBOL vmlinux 0xcc047568 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xcc1d37bc jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xcc1f8df6 snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0xcc23209c unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xcc23c9c8 inet_frag_find +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc692602 skb_seq_read +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc9a916b amba_driver_unregister +EXPORT_SYMBOL vmlinux 0xccb20cd1 iput +EXPORT_SYMBOL vmlinux 0xccb88f01 md_write_start +EXPORT_SYMBOL vmlinux 0xccc5ddf4 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xccc932da __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xcccaabdc freeze_super +EXPORT_SYMBOL vmlinux 0xccdc5bf8 __bread +EXPORT_SYMBOL vmlinux 0xccf1c8a1 xfrm_register_km +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd20284c inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd28c2bd __scm_destroy +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd4b732f bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcd5dbb96 netdev_alert +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd87ffb1 put_io_context +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdf71cbb iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xce002ebe scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xce00d52a xfrm_state_update +EXPORT_SYMBOL vmlinux 0xce188de9 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce37a126 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce45f411 mpage_readpage +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5cf778 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xce77f442 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce90d06f dev_addr_add +EXPORT_SYMBOL vmlinux 0xce9b7140 neigh_for_each +EXPORT_SYMBOL vmlinux 0xcea899ea down +EXPORT_SYMBOL vmlinux 0xcece48e1 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xcece52fd key_link +EXPORT_SYMBOL vmlinux 0xced26f30 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xced655de dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf39c124 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xcf3c25a9 tcf_em_register +EXPORT_SYMBOL vmlinux 0xcf3c4b11 do_sync_read +EXPORT_SYMBOL vmlinux 0xcf8802ce cfb_copyarea +EXPORT_SYMBOL vmlinux 0xcf8edb0a elv_rb_add +EXPORT_SYMBOL vmlinux 0xcf93a8d6 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xcf97ed76 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xcfaa61c8 simple_release_fs +EXPORT_SYMBOL vmlinux 0xcfd51171 dev_load +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd04a5d69 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xd0587b8b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xd0664311 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xd07be585 kill_pgrp +EXPORT_SYMBOL vmlinux 0xd082f249 register_qdisc +EXPORT_SYMBOL vmlinux 0xd0a4a5f5 __pskb_copy +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0aac69c fget_raw +EXPORT_SYMBOL vmlinux 0xd0cad963 consume_skb +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0dc6374 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xd0e3b3d8 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0f84f94 send_sig +EXPORT_SYMBOL vmlinux 0xd0fa6aeb dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd1157735 release_and_free_resource +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1445627 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xd154eb97 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xd162f540 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xd16eb3f9 security_path_mknod +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18421b5 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xd19620f3 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd199167e generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xd1a139fe lg_global_lock +EXPORT_SYMBOL vmlinux 0xd1f8b862 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xd1ff0b20 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xd21be93a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2249bf2 page_symlink +EXPORT_SYMBOL vmlinux 0xd251860c nand_correct_data +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 0xd26338c6 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xd275b52a iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xd27a5995 snd_pcm_suspend +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2c1ade7 icmp_send +EXPORT_SYMBOL vmlinux 0xd2c9cf34 skb_checksum +EXPORT_SYMBOL vmlinux 0xd2e5a3e6 filemap_flush +EXPORT_SYMBOL vmlinux 0xd2f12e18 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd366ad5a filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd367b052 dma_find_channel +EXPORT_SYMBOL vmlinux 0xd382019f register_sysctl_table +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd399db3f neigh_create +EXPORT_SYMBOL vmlinux 0xd3b53c43 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xd3cb3d8d mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xd3d493f4 vfs_symlink +EXPORT_SYMBOL vmlinux 0xd3dbfbc4 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3e0ca92 account_page_dirtied +EXPORT_SYMBOL vmlinux 0xd3e8c7fc journal_abort +EXPORT_SYMBOL vmlinux 0xd40a256a tty_port_close +EXPORT_SYMBOL vmlinux 0xd40dfad0 input_reset_device +EXPORT_SYMBOL vmlinux 0xd414dbed bioset_create +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd42327ee of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xd43a04f6 snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0xd4a2eaac security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xd4a797a6 skb_trim +EXPORT_SYMBOL vmlinux 0xd4c114ea tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xd5152710 sg_next +EXPORT_SYMBOL vmlinux 0xd56c1937 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xd56e9485 omap_set_dma_dest_index +EXPORT_SYMBOL vmlinux 0xd57941bd set_blocksize +EXPORT_SYMBOL vmlinux 0xd591abd3 file_remove_suid +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd597b085 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5ea4bf3 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xd5f7d5a9 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd61ebc20 set_anon_super +EXPORT_SYMBOL vmlinux 0xd624cb47 bio_alloc +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd655cb03 kern_path +EXPORT_SYMBOL vmlinux 0xd6656884 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xd66b84f4 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xd6cff6d3 blk_get_queue +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f0da41 omapdss_default_get_resolution +EXPORT_SYMBOL vmlinux 0xd757bca8 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xd75cdbcc make_bad_inode +EXPORT_SYMBOL vmlinux 0xd7643b54 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xd7767752 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd785e7a3 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xd7911f64 ps2_command +EXPORT_SYMBOL vmlinux 0xd7924190 register_framebuffer +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79b622d __free_pages +EXPORT_SYMBOL vmlinux 0xd7a2ad84 nand_scan_tail +EXPORT_SYMBOL vmlinux 0xd7b66480 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xd7d5597d mmc_request_done +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e663c0 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xd831fbb1 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xd870c27a dev_printk +EXPORT_SYMBOL vmlinux 0xd884a9dc ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xd8aa770a sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd8afe182 release_sock +EXPORT_SYMBOL vmlinux 0xd8b36a10 snd_timer_new +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8eca163 nand_default_bbt +EXPORT_SYMBOL vmlinux 0xd8f040f1 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd94dd9b1 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd96b6dd1 omap_device_get_by_hwmod_name +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9a22619 i2c_master_send +EXPORT_SYMBOL vmlinux 0xd9aa27a2 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd9c57f61 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xd9cd3078 dput +EXPORT_SYMBOL vmlinux 0xd9cd8ddb map_destroy +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9d5600f cdev_alloc +EXPORT_SYMBOL vmlinux 0xd9f8bbe1 misc_register +EXPORT_SYMBOL vmlinux 0xda00d857 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xda282423 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xda477008 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xda77007a neigh_lookup +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda7d4403 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaac2fa2 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xdab5a488 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xdad28c9c dquot_quota_on +EXPORT_SYMBOL vmlinux 0xdad784c0 __dev_printk +EXPORT_SYMBOL vmlinux 0xdad82db9 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0xdade256d jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xdb0083e9 genphy_update_link +EXPORT_SYMBOL vmlinux 0xdb16edf1 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xdb2178c7 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdb4292e4 omap_set_dma_params +EXPORT_SYMBOL vmlinux 0xdb45f55b fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xdb547f71 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb71b872 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb779077 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd797a8 set_create_files_as +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc0a97b2 input_allocate_device +EXPORT_SYMBOL vmlinux 0xdc1fc9bc dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0xdc23aac9 try_module_get +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc46b485 clk_register +EXPORT_SYMBOL vmlinux 0xdc564167 blk_init_tags +EXPORT_SYMBOL vmlinux 0xdc61588c mii_nway_restart +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc798d37 __mutex_init +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcbc1f79 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcc6a256 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xdd07d279 fput +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2aed80 generic_file_fsync +EXPORT_SYMBOL vmlinux 0xdd3e5167 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xdd47db72 sock_create +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd6592ca clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xdd8debd9 generic_read_dir +EXPORT_SYMBOL vmlinux 0xdd9eb4cd __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xddab13b3 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xddcd13d5 __dquot_transfer +EXPORT_SYMBOL vmlinux 0xdddf622a set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xddefd636 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xde15c042 omap_set_dma_src_index +EXPORT_SYMBOL vmlinux 0xde2843a2 snd_pcm_notify +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde652fa0 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xde692d94 omap_get_dma_chain_src_pos +EXPORT_SYMBOL vmlinux 0xde7f8d8b d_validate +EXPORT_SYMBOL vmlinux 0xde8c763d cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdeb1d374 ip6_frag_match +EXPORT_SYMBOL vmlinux 0xdebb6b18 lock_fb_info +EXPORT_SYMBOL vmlinux 0xdec99da0 get_gendisk +EXPORT_SYMBOL vmlinux 0xdef1aea7 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xdf023537 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xdf10d18c neigh_event_ns +EXPORT_SYMBOL vmlinux 0xdf1ef69f wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xdf439867 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf74d0be snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0xdf781686 snd_seq_root +EXPORT_SYMBOL vmlinux 0xdf89a50d module_layout +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb01a80 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0xdfbee76b ps2_begin_command +EXPORT_SYMBOL vmlinux 0xdfc10ad6 get_phy_device +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfcfb2cf arm_dma_ops +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdfeabe12 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xdfeea9a5 vfs_readdir +EXPORT_SYMBOL vmlinux 0xe00f33bd unregister_cdrom +EXPORT_SYMBOL vmlinux 0xe0327cc1 ipv4_specific +EXPORT_SYMBOL vmlinux 0xe037c012 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe0519376 devm_gpio_request +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe062b7d3 snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0xe06cfcaf inet_bind +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe09c3abb send_sig_info +EXPORT_SYMBOL vmlinux 0xe0a176a1 dev_alert +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0dccfa7 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe0ebb48e mntput +EXPORT_SYMBOL vmlinux 0xe0f58c7a blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xe106154f omap_vram_get_info +EXPORT_SYMBOL vmlinux 0xe10a17b2 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xe10a672c inode_add_bytes +EXPORT_SYMBOL vmlinux 0xe10b52e8 journal_create +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe12bd949 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0xe12ecf93 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xe12fe1ba mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xe1336dd3 may_umount_tree +EXPORT_SYMBOL vmlinux 0xe16b893b mutex_lock +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18c5624 task_nice +EXPORT_SYMBOL vmlinux 0xe19dc5ee neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe1b1bb86 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe1d3614f twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xe1d5b890 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe1f729ab clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xe1fe782c mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe20a2fcb ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xe217f52d eth_type_trans +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe26acf42 get_io_context +EXPORT_SYMBOL vmlinux 0xe26c3124 snd_timer_resolution +EXPORT_SYMBOL vmlinux 0xe275980a blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe28f295b blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xe2b25ca6 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xe2be6f18 sg_miter_next +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e5efdf genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2ed045e of_parse_phandle +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe311c679 blk_delay_queue +EXPORT_SYMBOL vmlinux 0xe31bbe55 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe35b406d tty_hangup +EXPORT_SYMBOL vmlinux 0xe366882f __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xe3690733 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe374c9e6 dm_io +EXPORT_SYMBOL vmlinux 0xe377c61c scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe37d10ae omap_dispc_unregister_isr +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3dfef7f inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xe3fa557a bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xe3fa758c __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xe405f35a __devm_request_region +EXPORT_SYMBOL vmlinux 0xe409ab84 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xe4482b13 bio_split +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4b1a116 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4d53552 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xe4d7ed6b skb_make_writable +EXPORT_SYMBOL vmlinux 0xe4e3085f sock_i_uid +EXPORT_SYMBOL vmlinux 0xe4e6ba4e kmap +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5445af6 omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xe555f44a udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xe55eec63 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xe561c325 bio_copy_kern +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe5765515 soft_cursor +EXPORT_SYMBOL vmlinux 0xe576e1c2 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe59ebaf3 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xe5abc009 arp_xmit +EXPORT_SYMBOL vmlinux 0xe5b91163 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xe5c26e8a netif_receive_skb +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5c7a550 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe5d58c84 irq_set_chip +EXPORT_SYMBOL vmlinux 0xe5d73dbe kernel_getsockname +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5e65fc7 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f18bce km_policy_expired +EXPORT_SYMBOL vmlinux 0xe6214ea8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xe63c5d44 security_path_unlink +EXPORT_SYMBOL vmlinux 0xe64f8415 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xe6548153 iget5_locked +EXPORT_SYMBOL vmlinux 0xe671b058 iget_failed +EXPORT_SYMBOL vmlinux 0xe6744a89 omap_clear_dma +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6c3ebb0 __raw_writesw +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6f84ff5 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fbe96e proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xe700e645 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe719b43a inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xe72cfa7b genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xe73d0fde sleep_on +EXPORT_SYMBOL vmlinux 0xe746f22d bdgrab +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe77f7995 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xe78989c4 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xe78d8534 security_path_truncate +EXPORT_SYMBOL vmlinux 0xe79b76e9 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xe79c9417 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7bcb160 sk_run_filter +EXPORT_SYMBOL vmlinux 0xe7beed2f is_container_init +EXPORT_SYMBOL vmlinux 0xe7c314ae dev_err +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d9fdb3 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xe7ec2f4e sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe81ab319 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xe81bb9fc file_sb_list_del +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ed1ce idr_replace +EXPORT_SYMBOL vmlinux 0xe87fb6d2 vfs_statfs +EXPORT_SYMBOL vmlinux 0xe8995d52 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xe899913a md_error +EXPORT_SYMBOL vmlinux 0xe89dfd84 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8cde130 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe8ebc849 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0xe9046d8e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9209940 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xe9283195 register_con_driver +EXPORT_SYMBOL vmlinux 0xe92b83b7 ip_options_compile +EXPORT_SYMBOL vmlinux 0xe93e2e1f tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95b09ee journal_restart +EXPORT_SYMBOL vmlinux 0xe95c514a __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe9ab127e kmap_high +EXPORT_SYMBOL vmlinux 0xe9acaee3 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xe9b0eacd omapfb_update_window +EXPORT_SYMBOL vmlinux 0xe9f22acf tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea1d8a57 unlock_buffer +EXPORT_SYMBOL vmlinux 0xea33db32 security_path_chown +EXPORT_SYMBOL vmlinux 0xea5aeebc tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea8cbea6 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9fb9df rename_lock +EXPORT_SYMBOL vmlinux 0xeabfc823 nla_append +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xeae2d398 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaea334a input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xeaed85a0 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xeb06e056 nf_register_hook +EXPORT_SYMBOL vmlinux 0xeb0a2c4c scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xeb115c98 da903x_query_status +EXPORT_SYMBOL vmlinux 0xeb17f814 get_write_access +EXPORT_SYMBOL vmlinux 0xeb1b120e omap_set_dma_write_mode +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb41e2a0 kthread_stop +EXPORT_SYMBOL vmlinux 0xeb4c7a71 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xeb553c60 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5651a3 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xeb6b941f mount_single +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebbae2c5 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xebcc935c of_dev_get +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec1b1b67 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xec1dc190 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xec4bdcfb tty_port_close_end +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec620ce3 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xec6a4d04 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xec90228e scsi_print_command +EXPORT_SYMBOL vmlinux 0xec98a0e5 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xece649f5 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xed0fa2c8 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xed23f3ad phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed6fad50 del_gendisk +EXPORT_SYMBOL vmlinux 0xed81e517 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xed854dac omap_stop_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0xed8606f0 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xed974aab elevator_change +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc56a54 end_page_writeback +EXPORT_SYMBOL vmlinux 0xedd173be register_sound_special_device +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xede4f2f2 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xede7bb87 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xedf2e870 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xee09d879 register_filesystem +EXPORT_SYMBOL vmlinux 0xee108f30 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee3f7fb2 vmap +EXPORT_SYMBOL vmlinux 0xee4be3ac tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xee9c279e setup_new_exec +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeec37485 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xeecccda8 mntget +EXPORT_SYMBOL vmlinux 0xeed9e33b skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xeee20b56 locks_init_lock +EXPORT_SYMBOL vmlinux 0xeef32b49 notify_change +EXPORT_SYMBOL vmlinux 0xeeffea90 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0xef2d4e25 sock_no_accept +EXPORT_SYMBOL vmlinux 0xef33799d input_register_handler +EXPORT_SYMBOL vmlinux 0xef749cb3 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xefa83084 snd_jack_report +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 0xf026d99f __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xf02ab09d stop_tty +EXPORT_SYMBOL vmlinux 0xf05e2daf simple_open +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf070e682 backlight_device_register +EXPORT_SYMBOL vmlinux 0xf08ba8fc mount_subtree +EXPORT_SYMBOL vmlinux 0xf09b45fb seq_puts +EXPORT_SYMBOL vmlinux 0xf0b0d773 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xf0b147bb scsi_device_get +EXPORT_SYMBOL vmlinux 0xf0cf3a82 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xf0d68ed6 clk_register_clkdevs +EXPORT_SYMBOL vmlinux 0xf0de2758 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f271cd __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xf0f772c7 napi_skb_finish +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf1076687 netif_napi_del +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf121cb43 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf161e4cf inet6_getname +EXPORT_SYMBOL vmlinux 0xf16d7815 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf17e67d4 dst_destroy +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1b980b5 max8925_reg_write +EXPORT_SYMBOL vmlinux 0xf1c64e51 netdev_printk +EXPORT_SYMBOL vmlinux 0xf1cc5f0b devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf26df746 omap_vram_free +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2b5e5ea scsi_free_command +EXPORT_SYMBOL vmlinux 0xf2c12a07 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xf2e2f922 simple_rename +EXPORT_SYMBOL vmlinux 0xf2e5a880 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xf2f63e74 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xf313315d lro_flush_all +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34cbce2 backlight_force_update +EXPORT_SYMBOL vmlinux 0xf35b10ad nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf36a833f xfrm_policy_flush +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 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e8fa18 generic_fillattr +EXPORT_SYMBOL vmlinux 0xf4287226 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xf430a44c journal_release_buffer +EXPORT_SYMBOL vmlinux 0xf449d4dd poll_freewait +EXPORT_SYMBOL vmlinux 0xf480a5af jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xf488f5c1 snd_pcm_lib_writev +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4aa33f8 igrab +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c134d3 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xf4cc42c7 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf51ad169 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xf52b145b md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5471996 sock_no_bind +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf58dead5 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0xf58f81d7 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xf59aee8b netif_notify_peers +EXPORT_SYMBOL vmlinux 0xf59f415d blk_end_request +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5d70668 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xf5e13693 _dev_info +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf609b55b dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xf61331c6 tcp_connect +EXPORT_SYMBOL vmlinux 0xf613ec58 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xf637e214 __serio_register_port +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf63a3529 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xf6726490 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xf677da8a netif_rx +EXPORT_SYMBOL vmlinux 0xf6872f72 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0xf6a244f3 tc_classify +EXPORT_SYMBOL vmlinux 0xf6a3ae41 sk_alloc +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 0xf711439c i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xf73cf843 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xf7437548 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xf7442d8c tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf782032b snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0xf78478a4 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf792d7e3 kobject_get +EXPORT_SYMBOL vmlinux 0xf79c9fa3 omap_vram_alloc +EXPORT_SYMBOL vmlinux 0xf7b1cb35 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xf7c61815 get_omap3_evm_rev +EXPORT_SYMBOL vmlinux 0xf7ec472a invalidate_partition +EXPORT_SYMBOL vmlinux 0xf7faf41e end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf833b8de request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xf853bbca omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0xf86e49ab neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xf87be997 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xf88c3301 sg_init_table +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf89289af __destroy_inode +EXPORT_SYMBOL vmlinux 0xf8c56b63 inode_init_owner +EXPORT_SYMBOL vmlinux 0xf8d8fef6 simple_write_begin +EXPORT_SYMBOL vmlinux 0xf8ded82e snd_cards +EXPORT_SYMBOL vmlinux 0xf8faf418 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xf8fbb4f0 __bad_xchg +EXPORT_SYMBOL vmlinux 0xf8fbb96f phy_device_register +EXPORT_SYMBOL vmlinux 0xf92da805 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf941df32 user_path_create +EXPORT_SYMBOL vmlinux 0xf96ca801 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xf96d915c bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf97ee5bd tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0xf984a755 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b64067 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xf9bd91a4 tty_check_change +EXPORT_SYMBOL vmlinux 0xf9c2f2c7 would_dump +EXPORT_SYMBOL vmlinux 0xf9c44527 nobh_write_end +EXPORT_SYMBOL vmlinux 0xf9dc42f9 seq_open +EXPORT_SYMBOL vmlinux 0xf9e4bc59 tcf_hash_search +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xfa082128 down_interruptible +EXPORT_SYMBOL vmlinux 0xfa351d15 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xfa3643fb omapdss_default_get_recommended_bpp +EXPORT_SYMBOL vmlinux 0xfa5d9b4b filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xfa7d365c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfa84b9ed jbd2_journal_get_create_access +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 0xfada825a dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb1858f9 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xfb1ccbb6 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xfb35abee dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xfb587836 dcb_getapp +EXPORT_SYMBOL vmlinux 0xfb59c2b2 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xfb6a9a33 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb935b16 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xfba2cb66 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xfba49d22 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbb8aa0b skb_queue_purge +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe2e103 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1163b0 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xfc12055f __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc589d70 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xfc60c8ff dentry_open +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc7bdedf tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xfc866f4e xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xfc8ae87b devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc9e9ad0 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb1e5ff bdi_init +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc7c111 no_llseek +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf86308 kunmap_high +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd15fbb2 input_unregister_device +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd30e836 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xfd4aa8a1 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xfd61d0f0 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd875215 commit_creds +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL vmlinux 0xfdeac884 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe0af70e netdev_notice +EXPORT_SYMBOL vmlinux 0xfe339f92 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0xfe552272 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe634f58 add_wait_queue +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe85f6b8 journal_load +EXPORT_SYMBOL vmlinux 0xfe94d105 dev_notice +EXPORT_SYMBOL vmlinux 0xfea47540 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0xfeb87748 elv_register_queue +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfecb5e77 sock_release +EXPORT_SYMBOL vmlinux 0xfed9075e scsi_print_result +EXPORT_SYMBOL vmlinux 0xfedb7c00 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4f3894 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff8ab696 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xff8f6f41 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffaa066c bd_set_size +EXPORT_SYMBOL vmlinux 0xffaf4d69 softnet_data +EXPORT_SYMBOL vmlinux 0xffb715f0 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffd2cf99 omap_dss_get_num_overlay_managers +EXPORT_SYMBOL vmlinux 0xffd34a55 dquot_file_open +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe16134 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe70d5d d_invalidate +EXPORT_SYMBOL_GPL crypto/af_alg 0x0039b5f5 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x4549180d af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x859fe84b af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x915027c6 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x95a63642 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xa8dca434 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xafbc99a0 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf623e43 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe100f3f5 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x364799e1 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xb64f5288 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8ac9cd4f async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc4a5fa36 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x20c59106 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x3e9cc037 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x65d0b2bc async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7957de65 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x43ef8041 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbfbc8aba async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x3f356d99 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x31e99b7a cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x4a96c740 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x6309daef cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x64f0f386 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9dc39bef cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xa3bc0143 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb058f2eb cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb6a678ee cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xda6ab29b cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe961cc68 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x581d98a0 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 0xc8d74ff8 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xcc87914f twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xdfee5ad0 xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0a10616d ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0b3b8d67 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x135a76f3 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x178eda06 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4db9cf7c ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x57d29bc3 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5a41b221 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x75b9d418 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8040cfea ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8939a085 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x93e5cab0 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9fe67172 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa0780e8a ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa3f5b13e ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb2296024 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb9a5c307 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbc26097a ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdddc8862 ahci_port_resume +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 0x0b4923cc __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x56c17640 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d5e8e71 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d96acbb bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x25b5bdaf bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x37301904 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3b014335 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x446a627a bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x56181d7e bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x728d6b8a __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x812c98a8 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa1fd891c bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa6ee35cf bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb36a833a bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc3fd7481 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdae6997c bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf7e10067 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x02c57a1a btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x19a676ef btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x225420fa btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x35bb3f16 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x48b459b3 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x76122d1b btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7ce0a317 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8b9c65c1 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8f2bbd7c btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xad43fec9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x08da9925 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6bfe7a37 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8b129122 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9a649faf extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xaaa1de2b extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xad3b9e7a extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb414a6f3 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbfca5387 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc00b77e2 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc6dad6a7 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xdadb03f7 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xde7662b2 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x844db1d1 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa01e6ca2 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x63653845 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xd34ec0ff __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x28f23d67 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa6794c81 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x150c716b hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e3fc3d4 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x208f711b hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23b0ebad hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x36541ab7 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37bd8671 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x457b41d8 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x49a04af1 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5f07a0c2 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x74034767 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x789cbd87 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7ff55164 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x804e2280 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x80b24dbb hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8de98b79 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x939f838f hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x93c75b1b hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a2b8fa5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d7fde02 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaa04e3f7 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb57aec78 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc125a9ae hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd6d48801 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdba8b09b hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3362206 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3b8fde4 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeb2400a4 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf1d5fa78 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xff2220a2 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x01fa05c2 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 0x9277c223 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xef6ba309 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x260192f2 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3667f687 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa5bd32f8 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xb2415aa4 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0af3878e hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3380b317 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3740a35a hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x40aa29aa hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x47f21d23 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x58bcec72 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5eb6f172 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6e5da0cf hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb358c2b2 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcb3a8800 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe10eb8e2 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xeb4d3979 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xface9964 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0e2da4ee i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x512dbef2 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x556e5e16 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x59442fb3 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 0x7249111f i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x82ae96b6 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa479fcfa i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcc668ff3 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe9870d3c i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x54dc714a i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x72875b0a i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x407530a5 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x57e2ca89 i2c_setup_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 0x4e42fb8a iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5bd802c3 iio_st_channel_release +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 0xc44bbca3 iio_alloc_pollfunc +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/input/ff-memless 0x10ea3c7f 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 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xfe607136 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x25d89210 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeadcfa74 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeb08bb8a cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1714c8ec wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1b250269 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4d7809a0 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5a1cc48e wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6141b031 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x664b5bee wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x81d2093e wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9b7fa60b wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9c6c1464 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcb5fe546 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd51f1218 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf8bc8b41 wm97xx_unregister_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 0x2f1f980b gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3961cd1c gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x41be4517 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x53699679 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x53fa0bc1 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5cf4c62b gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x67ac3fb9 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6df9a191 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7e77256f gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x83bf1cf8 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x901e7169 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa8a13028 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd36c22dc gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe4452dc3 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6939cfe gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6d06ca6 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf0040fa2 gigaset_handle_modem_response +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 0x8f90add3 dm_bufio_client_create +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 0x63420edf dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x651148bd 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 0x0933ee13 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x17852b44 dm_rh_inc_pending +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 0x46157a9d 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 0x7e45e87b 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 0xdc279241 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf6e8c164 dm_rh_delay +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 0x5c017586 dm_block_manager_create +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 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 0xf84008c6 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x64e41102 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xf92fda77 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xa985e20e mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x9623d5f0 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x39c46fa9 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x13d8cc71 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x82243195 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x023adf9a tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xb905835a tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xfb11dfee tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x272ee1d2 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x4b125a31 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xff97d0df simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0xc11e6119 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x278000d1 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x790fa6fa tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0cf34c23 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x115bdebc smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2e4adc0f smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x340bc315 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x41cb7c12 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x42d012fb sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6aee4585 smscore_onresponse +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 0x88f697fd smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa9659ab3 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcb4b35b9 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd0df1622 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe77513f6 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xea72d626 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xeb253cba sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xee76ee06 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf1fdd739 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfa7d76dd smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05fb336e rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x09548927 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1507f59e rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3caff16b ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6a219597 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7a590364 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8377672c rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84fc67ee rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8b57ddaf rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa5258f15 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc2702f05 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xde4ca2b6 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe2116638 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe8198e44 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb7d8b1b rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf8d1f8f4 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf9e24a66 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x11554a08 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x12847552 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x30f44864 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3f20e460 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x48408eda cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4847fa9a cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4b1f9c7e cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6284f6b1 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x628555c6 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x69df68d5 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8a01f922 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8f3abd34 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9b363238 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xac4b23c6 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb320aaf1 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb46c1488 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbeeb27a9 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc17202cd cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc7930d30 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x08c02361 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x32efc6d7 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x56c3caef em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x63b0d76c em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6c3900dd em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x71a772e9 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7ffa3eb2 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x81f13057 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8888ab4c em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc5533253 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc687924a em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe80bc385 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xec6871b1 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf4ac681c em28xx_read_reg +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 0x586868e2 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x83ba7566 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xccd391e8 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdf95a130 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x02b3362d v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x63b8b88e v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x718bd121 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 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb049a513 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb0f1a627 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-common 0xfed4dc9b v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x40b3243b v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5748fcd8 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5c0c97d7 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x993f6d15 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x15f08673 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3448c901 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3dd967e6 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x48fe4c0a v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5bf29559 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5f00a8de v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x602e5649 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x6c27f781 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb2eb5351 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcd5dab8e v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xeebafeda v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xf1cce553 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02251afd videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0503f38d videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0bb475d0 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12016a40 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x17025ab9 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1902d761 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2053d036 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25a420df videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25fe0737 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3af2cee9 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3e932036 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5bd2fd41 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x64eefe2e videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7d289653 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f7b0829 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8e3cb332 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc78f69c2 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcb6b2f14 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde57ae06 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde9b25de videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe4b9239f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe81e6734 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf12ae1a8 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf3f4e8a6 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x35ff45cf videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x3713a93d videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xc2015e4f videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xf6b8795e videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x2b05771d videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x667ca2d6 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x84697c39 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x011c2689 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x0dd692f3 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x17f02994 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1882da2d vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1f2e4494 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x2d03a35a vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x303ca025 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4eee92ef vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5b3518ed vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5ee4b3f4 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x603cb15e vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x815d21f6 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8577503b vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xcf6572e4 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd0334f0a vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe89f6637 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfdcd5ff5 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x21c6a071 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xcdafad7a 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 0x0d21787e vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x1da7b9b0 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x3be4937e vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xb6134ea4 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xbf181de9 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xb7d5cb3e vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x029b4654 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0ca5d6ab v4l2_event_dequeue +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 0x383649f7 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x522fe005 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x57c09de0 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5ee3727d v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7094ee65 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90887e81 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9fdfd8dd v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa033dafe v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa0e0e0a2 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa7d98f04 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb1694064 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb3311702 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb5d8120b v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbed4431e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc09aa544 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd3b3d274 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe0475989 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfe6ed6b2 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x25db1b69 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x37754aca lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6b1075d2 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6494d669 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7146beb3 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xac546478 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb0a46496 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb2ce756b lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd0172557 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdfe2ece2 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x25f0e9b1 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x398a339a mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe69799e0 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x09a342ab pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x58f9f65d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5df0dbed pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x613d2723 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x760e71c0 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8a22f1d1 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa2c9c11e pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xcba918a0 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xce3fbe38 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd079a382 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd8bc5564 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x2c3245d3 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x406a1821 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3d8bfbb0 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x50a5d210 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x80f0e934 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9a6efdce pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf5a8479d pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x155cb245 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x5049f052 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb5973038 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd0372661 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xdeb1442a sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x14042ddf tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x34667849 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xd6ecee90 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xdc1fcf54 tps65217_reg_read +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 0xb1b1862f 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 0x1b5948f9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x659437b0 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x68aed3e6 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x85192d83 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8c230d62 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xdc1c6ef3 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf63d9ebc enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0618e0ff lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0e0ae48e lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x177c2906 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4a8dfe04 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4e691802 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc852d406 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xff526602 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x5efd0d03 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xf552cd54 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0048e783 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x02e302ab sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1ecc716d sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x5dd60080 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa75fcedd sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xcff6498a sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1e2bd680 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb8b1a499 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xe755be2c cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x251f3056 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9ad7053c cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xca105d2d cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc1af89fa cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3be8b2ca cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xd8db4663 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xf8c27fb1 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x69be1223 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x9289f5ea onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xcdd8854e onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x325323e2 ubi_get_volume_info +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 0x43c954ec ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x632b59a8 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7f64494b ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8cd26646 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8e3d585f ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9ace8463 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xacc94e11 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbda089e4 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbdf126be ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xccd7902b ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe666e5aa ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf62e2f43 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 0x091d25a4 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x6e42d5a1 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa9450482 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe7bed814 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0fbe034d open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4201761b alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x56a8d4a1 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x59957297 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8eb7e42e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9ab3d60e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xad0034c6 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xda9df45d alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdf434347 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe9aa3e88 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf9062182 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfb009c6d can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x4c9e7107 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x5dbb2bde alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb3c1b3e5 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe102ed05 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x07421ea1 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1e60d30c free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x8209bca0 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcccd0ed0 unregister_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 0xe34ab7cd cpdma_ctlr_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe4c22565 cpdma_chan_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xee8d7539 cpdma_chan_start +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x05f6fb56 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0eea4894 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x173c7748 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc3baae7a macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc9490756 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfb56bcb8 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xf7e8b91e mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3234a3d0 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x58071030 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7e32ee64 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc024bf23 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x006226c9 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x59ea9b31 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5c95ea9c rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x84fcdb51 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa1752dc0 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd2693bde generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x031f2ff3 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0dac6fac usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14e252a2 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x16ff3977 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19fbc2db usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1f78dabe usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x28867c1b usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x377232d1 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55e23d72 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5751af8d usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6f2a29eb usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x75c4b5fa usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x99f41805 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9a69da14 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa4b56a76 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa5374744 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xab0c42c7 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcd8da9af usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcecd7a24 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0ccc4ed usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe80504ad usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeb6da0f8 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xec1fc504 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf9f7583a usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x11d17b0b lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2df8003c lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3cab2fa4 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4dbaa1ad lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5e035fbb lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x63e4c4a7 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9175c094 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9a83404c lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9b65feb0 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa7872831 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcd4a6231 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xce11c28d lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe5cf5f9f lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xedee074e lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf7d8ac67 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfe5496fe lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0b5cd3f5 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6a6446c7 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6b0e7cf9 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7b623796 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xb90639c4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbbd7094a 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 0xe078b611 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe5cce566 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x21206248 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xc956c494 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x14640642 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1a0f7aa5 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2affd13f mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x4f70fe52 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x573b3323 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x7a70c1dc mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x86339926 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xb7d821df mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbf9f2d0d mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xead1029b mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf1d97027 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfa126b46 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfdbad406 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x44bf5a51 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x467a6b1d p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x555555b3 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x5693f8dc p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x6ac9b983 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7409435c p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x977aa172 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x97cff7be p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfdf48e41 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0d5b6bef rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x10447cf7 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1257681a rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x12a47391 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x17e5ac2a rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1eaf16cc rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1f02f78c rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1fc3bf64 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x22768129 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x29e16072 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2e7205bf rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x35fd4dc1 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x373571c8 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x38ee1b9f rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3ab8e835 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3b59844e rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x46eb76c7 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x489849f4 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x490dc169 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5738856d rt2800_rt2x00debug +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5c274ac9 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5f8e8633 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6303a647 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x64812a6d rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x68d79a58 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x724f776e rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7e995cd9 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8a0fa1ef rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9bfcc957 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa381f0c4 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb61351f5 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbd478c0d rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbda2bbec rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc7adbfd4 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcada55c0 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xce4ba1c9 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcfb6785e rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd7f68f8c rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdd837188 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf16cea57 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0a7b8390 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x160cb14b rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2bddf3cd rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x321a9808 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3a5cade6 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d5f96ee rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x449cafff rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4a85e001 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x52965540 rt2x00debug_dump_frame +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x554ab3d4 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5568da70 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5929514a rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a88c26c rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5da8ab8e rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5f5014d5 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x61d737eb rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x62775ecf rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6a4dffbe rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d84d92b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x75d85d00 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76683e6a rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76acf340 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8a129c3d rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8c480635 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x91ddbf84 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94820a5d rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x981d1c53 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9b40bf18 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa2f52c0b rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb38776b4 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc38f8b43 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcabb891d rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcac7ec5d rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcbbb80b4 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcd9d64c1 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd004e0f6 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd0295018 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd107968a rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xde24d5d8 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xed4014f4 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf3a53776 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf6943f5a rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf82d3c30 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf9e7c62f rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfad4f02e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfd60a235 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfd9c5519 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0478bc5e rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0bf5bd7e rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x172fb2f5 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x261cdf7f rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7d0415f5 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x81d535ad rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x95a995c2 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9887f3e7 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa225b5af rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xab46ab6c rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcd52f36c rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd7b218ba rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdbff976d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdfb0ed84 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf210143e rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfebd91eb rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0e77d648 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x155d4ce3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x958ee473 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x13f25a6f wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x203f23d3 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2217dcb2 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2c3c9948 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3488023d wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4164e338 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x423c2566 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5c5bf7a6 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7c5dc7f7 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fb5fb3d wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x82c6391d wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xab6a9aa4 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb5e6dab6 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb88c0fef wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8b61c2ac pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x9f524057 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xe4e766d9 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x24439571 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x5b3aba57 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x9f58bf1c mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb4b2c981 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb8fcf021 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdc2d4dec mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe147b97f mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf71fbb9d mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x377955ae wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x533ba634 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x89faa704 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9e255673 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xcd4a48c8 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfe1f6e7c wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x54affae8 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x1f9ba02b scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x320695f6 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x43f8a274 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 0x61e68e16 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xbde4d1d9 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf921d04e scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x10092f1b fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x107ff38f fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1d397634 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f8afd00 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x37891db9 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4ba730e0 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x53e738c4 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x61b8eaaf fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6a833c01 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb5d34318 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xec6b3cab fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf65ed1ea fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfecf859b fcoe_fc_crc +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 0x0b0eb464 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0cc66d08 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b566ab3 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x283046a4 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x296417d5 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ae3ae18 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f6a8b31 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3071d0cf iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36dafe0e iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36e83399 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3a8b8c2e __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d3ed5f8 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b85956b iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d9060f5 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e205188 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ed45e50 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5684f00f iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f0572a1 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f340506 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x87b6da84 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88594f3f iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8aab068b iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e7e8631 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e80f20e iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x941f0721 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x943e763f iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa0f70b64 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa30fa178 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4711a5b iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa59b4616 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xae2dd859 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb97d77b3 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbf4734c4 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0491418 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb45140e iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8dae38b iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeefb97f6 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefe5db22 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf5849288 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf63f6632 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf7388e12 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf88f16f2 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc5f12e8 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0291c0fe iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1100a297 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x280641a8 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x40503705 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4cbb682f iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x509ea6e6 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5151b01b iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x62a7ff6d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x64adad65 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7968326e iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x878d165b iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9aef7f9f iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaf4aef6d iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb37efa1d iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd4095b72 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf329bb1c iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf41d63f8 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x032ee3a3 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x09852610 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0e799c66 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x17fe6e6e sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b7d5a1a sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3496d62d sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3c83aaea sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x49664617 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4f6d26d1 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x55a15322 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x56df378e sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68bf0475 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7643afcd sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7a0d5424 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b95fa6b sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x829a2fb7 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8cc3f711 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa28e4373 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb387e995 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe0e63582 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1303158 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe2ff2e51 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfa62e5a1 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x05d0db4b scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2960a9ee scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6996aba8 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x984809f5 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa34cd1ae scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xaa3232b6 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb8c151df scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf3b1f03d scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf60e787a scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x011af3b1 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x01a20083 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x087f6ed6 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d9c642c iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13754300 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1e5989f4 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x29726170 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x30a88aa3 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3122cc91 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33484b3c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37cfa523 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x406d4310 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x46d26135 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d7cb0c9 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x508b06db iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x59f00282 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x609faa0d iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6c5fa902 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fde9d89 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71282d82 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x731737ce iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84b1e701 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x92e183a6 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a688c4b iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b965ad4 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9caf8156 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa96a903e iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcab5a0cb iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4e8d733 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe8f00d3e iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb920164 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf5757cda iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3ba2058f sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x6297a25d sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa937e0c9 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xc0d9eb98 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 0x18750905 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2c0c778f srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3ae1d234 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd3ec0675 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xee87f750 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1364591e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3a488105 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5807f43b spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7d0cf709 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x8478102f spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd9339b6b spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x6c7d9d74 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x83d5b790 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb298f4b8 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbd61d9ed dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbe4810bf dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xdc875100 ssb_pmu_spuravoid_pllupdate +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 0xaac87930 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x1cff999c ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x9df3ae95 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb8ce324b ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xbcb5a946 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd0a0e834 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf80f0d19 ipack_driver_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 0x24fa721d usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x34aa2003 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3b040e55 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3c0e28ae usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4fbbbb30 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x67020e44 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7035f0c7 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x9596ebf4 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb5df5aab usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb98e1da5 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xcf48b8e0 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd53803cb usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xf898501e usbip_recv +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x47fd32ff max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x53051333 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x60fec032 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x67fe0f71 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7710247f max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xa0719319 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/uio/uio 0x391dcd09 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa7dee0ec uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb42ed7c0 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5867f8dc usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x88dc3fee 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 0x0fedf481 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x623db4a8 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7448d962 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9b578597 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb702c33c usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd8b0198e usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe20c8a85 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe5f4d646 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfb0e23ec usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x5c59a306 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xbdbcacab musb_dma_completion +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x5f2c06bf isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0059a80b usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04c783ff usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x091dce3e usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0c367fe0 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2976cab6 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2e5cc158 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x37bad7ce usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x388ac055 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x484143b0 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5b044595 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x673d2420 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6a14e6d4 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7c066f53 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x881d74bc usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9a64eada usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa7585667 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbe31ef94 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xca0582f4 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcf81f17f usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0566cf3a usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1023826b usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14562bc1 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14d7a0d3 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3981dcee usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3cef0263 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3f9f42ac usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x538ddee2 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x659a9a6a usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x748a5350 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x77f7c5c3 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8a616c5e usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8f69b2a5 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x939140f8 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9b8a37b3 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9e33425c usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb9ef89e9 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbbad9bc5 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc2769373 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcfc3253c fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda6165a0 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xed0bf493 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x204d1c6c auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x3d949c01 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x4d84ac2f auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x59786296 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6bee08a3 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6d19d10f auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc3a52d07 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xccc1f391 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xcdfe928f auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xdb242d5f auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x72cdf591 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8527f05a ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x899aee46 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x98c0a22d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd1ca5acd ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xea3c622c ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf0c18c9d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x71858b7b fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd3225886 fb_sys_write +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4a39611c w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6f299f85 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9d9efdfb w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb9a069db w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc70d0a92 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdee32dae w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe6df29b7 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xef78c939 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfe92acf9 w1_next_pullup +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x16891ea8 dlm_posix_get +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 0xf0c7cd81 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf4a910ce dlm_posix_lock +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 0x1b7f1f85 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4e29c028 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7146eb02 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x71910abe nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x74cc6bb4 lockd_up +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 0xd40d381d nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf5ccca00 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0506d855 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a60dca1 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c4d32a8 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0dacbc30 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fda7dd3 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17e3840b pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a008442 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21077aa4 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2325a3e8 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x238e5e82 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25a10607 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28c0e13a nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e0957e8 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3075fc61 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x453fd2ce nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x469903d1 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a01d9bd nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c78e757 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x528ff7e4 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x601e380e nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x657f2246 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69427fac nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b455f2f nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e5bdbb6 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e7a36c2 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fc21a60 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8845d5ac nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88f4c091 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91758785 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ed2b7d9 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab1cc7b8 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4314ea7 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce332ce2 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcfd73311 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1696137 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1992383 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde590b66 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde9f1b3e pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdedd077d nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3bc5312 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5d6c6cb nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef540827 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0af2ac7 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3b4ec02 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf71b436e nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe9ee5ff pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x769c062d nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7bd9c835 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 0x201347c2 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2ea34ace o2hb_setup_callback +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 0x6c88e832 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x80670029 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x87a7c77f o2hb_register_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 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 0xc24cd8f3 o2hb_unregister_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 0xee36fc75 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4f597fa0 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5945c305 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7f9055d9 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb7f688b7 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 0xebf80368 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf9e290e8 dlm_register_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 0x180eb3c3 ocfs2_stack_glue_unregister +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 0xb181e5f6 ocfs2_plock +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 0xf1992901 ocfs2_stack_glue_register +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 0x19373cc5 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x2d5d06be garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x74dc0a34 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8dc7e378 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x958cf36a garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xb16482d0 garp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x31aad7bd stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x858b6e40 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x2bdd8a88 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0x3de85ffe 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 0xd401f8a0 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x90d69b4d bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x06c965ba dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x08f6f3ca dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x214ec5c5 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x25cecd61 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x282c1025 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c26cdb7 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f5cd612 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39bc2c47 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39f52d1a dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3ac7e166 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c8bad03 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +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 0x4f90f74e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6034e97d dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x616957ba dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6201b0b2 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x721c1a8c dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x737ba4e4 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x79faafcf dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7dc56535 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x825d0479 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x891bad1b dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x90f91062 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x994ebdb5 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99b4377e dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa8155f73 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb712d433 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xca52eb05 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf105087 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3e6742e dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd9de6388 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf97ada9 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe61e217c dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf8331fd8 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf8ec96d7 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x22068490 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x98ba7293 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9925d8a8 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbfa5f310 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc68c0762 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xde5779df dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x273678e0 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xee6395d8 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x2d4a07d5 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xe1a58836 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2e0ca404 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4943e958 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x93b6bf5a inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xbfb3f397 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xcd5dd26b inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xef5a4452 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xa9969175 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x234ba525 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 0xdd8bea7b 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 0x03033659 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x18b59621 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 0x41756033 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 0x70a0f857 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x9aaf1df7 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 0x37788b3f tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4bdc6c2e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9a6045a7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd377548e tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xff583355 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x5dd31b11 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 0x2b0e9ca4 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x41b84526 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x51b3e6e3 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x69924e3b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8a37bf38 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8f33d999 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x906970fe l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x97fb8bf3 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9e2a81c4 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa31cfca9 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xab8af7a4 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd7d792d4 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x285ae4ec ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49d07d33 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x842eccd6 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x97d84459 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa16a19e0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb1e6c2d1 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd656a2e8 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea689c6c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf1739972 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4a4acf1d ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4f46429e ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7495dd5b ip_set_add +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 0x7bf14d35 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 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 0xb1467109 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdbfcf0e7 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe2d5129f ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xec6c88a0 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf4e190c2 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x2d68575e ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7263e4f9 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa4d7b7d8 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe4c997c3 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x006618ce nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x01c7d0b3 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a11a4b5 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11d7234d nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13d043d1 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bfb3f63 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1cf51b63 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f9a66a6 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x212b55be __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24f80746 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30eea2ed nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31db38e8 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x345b789e nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3655b6a0 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37c61bbb nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x386fe554 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3af7522e nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e263aeb nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f0cd61a nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x423324c3 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4621ddee nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4aa0aeee nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51f34a7b __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57f5d0d3 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5825fa1a nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x681751d6 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6bf6ab74 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c6823d5 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f9503a0 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x706a9116 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70a68b5a nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7bb6e774 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x826bd109 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x829f708a nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86b47bb6 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d2d167e __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8fae0735 nf_ct_expect_unregister_notifier +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 0x987cf58a nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a844bb4 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9cfe6dfe nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa136a388 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa54e8be9 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6c671b4 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacd3f6ef nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0a91208 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb24414fa seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2cefa02 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb75b4092 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc0c2ebe nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbfdcddc3 nf_ct_deliver_cached_events +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 0xc2e0b3bf nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc32386ee nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3299303 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcffa4fe7 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0608233 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd20a9386 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd253129e __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3a2f782 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd55eb039 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7e32ca9 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd19d53b nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdec3eb58 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf32b8a8 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe03cf104 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9f2a303 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef073de2 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9e6b3fbb nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x39fd65e0 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x091ff2d8 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0b1e0372 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x15336b26 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x22ffec34 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7b956c9c nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xaa450e2d set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbd327061 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc051b66d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd0e5f6f4 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xed12a9f2 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xffa2f94b set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x5ae2bfb1 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x14df14fd nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1c1497e9 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x62ecc7b0 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xda24a37b nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x97802c5b nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9d954bdd nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x096d8658 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x09bc1d66 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3fc8f0b3 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4804184e nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4a5338b1 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x571fc1dc ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x89d19749 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8c4adc41 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8d85c64d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9c2da559 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc1d87b5c ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdc67887c ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf238f562 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x15082552 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x6bbd3e51 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xbac48c92 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x25b989e3 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x401fefe3 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x98179bd6 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xcca281b0 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xec365cfd nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf7a91199 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xb7d6fc1a nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x2281b7a3 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04f2d2d9 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1b3e1f08 xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x29210102 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4047bd85 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x57fdedc8 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x61a1388f xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8dde6327 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9bd3cf07 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9dd998f5 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc2898a87 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0619e9a xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xed5f9d74 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xef3ff08e xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfe0e3d31 xt_proto_fini +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 0x12ef80ae rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x13841b73 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x14b2f2ec rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x24a82b22 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2521b738 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2e690130 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x358aaf03 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x35f03c92 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x3702e161 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x3a8bff56 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x4a5ffe7a rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x511e9d0a rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x59d308dd rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x62c0ebf0 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x680c6181 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x6e31a983 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x76e1b4c5 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7b430620 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9730196b rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x9fb8b5f0 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xa2e23080 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc7cb4abf rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xcb021ba0 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xd0d784b3 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xeaae12e7 rds_trans_register +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x4b89e027 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xe069c852 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 0x04f6627b gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0c0db722 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4a9e9fc7 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x50d74386 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x56638767 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7b4a146b 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 0x95c4a9aa gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x968ce856 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x972e039c gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb3faff97 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfc8389b1 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0001b772 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00c93958 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x024cc912 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x040be67f xprt_wait_for_buffer_space +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 0x0a19320f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d68f755 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fce250b cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11af4819 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1224bbbf rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12565a92 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1314ab83 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x131662f2 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14282d55 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1589d57d rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1877b161 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18c21955 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x190edb1f xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19100b3b write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a19b989 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b6f8aae xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d868db3 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e7a5ff8 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20f1f8fc svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21b3e47f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22751a84 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24330251 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26f13674 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x274d8b69 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c391fe7 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c71683b rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da0f0cd rpcauth_create +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 0x33acb155 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33ae9f53 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f20868 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3870080a bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39f2d995 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a7ec556 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ade7e8b rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c6c255d rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cace233 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d6e4f2b xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x406c4a7d xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x424789d1 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42926489 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42db2357 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43fb3d7e svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x450c4feb cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45238dd8 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45fcec06 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x464f34f1 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x473ecf3a rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x496a609b rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a9f4cfc xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c02a9ce rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c0d75d5 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d4ff5d6 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x507f32ae rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50937dce svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50b6c7ec xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x567b179b rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56ede3de rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5749ede6 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57f1e616 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59986fd3 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c6b6eec svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ef21822 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f4ba9e7 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f6398ea rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60355846 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61ca161d xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620306f5 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620c2b62 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6433506f rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x670efa17 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690ac893 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x709aec92 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x721c6779 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72b15e74 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7378c1f5 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74240350 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x743351df rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7502e5df xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75db4347 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775c68ff rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7834f272 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78cf6afa rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78f24569 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79e67d80 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a9c06c8 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e4f95df svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ece1a28 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f04a470 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f570258 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x855c3cde xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86684479 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8936dafa xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ec6e787 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90c21b6a rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92131647 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x930b9d39 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x935f6525 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a09a0e xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93c9aa7f rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e22dc6 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97bc7fc6 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97e093d9 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x985d6bcb xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98a6a2dc svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98bc5d6f svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b12194a rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bf8787c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e5a0e7b svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0cd362b svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa10ac441 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa149351c xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa157a84d rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa53e6db2 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5b6e0c1 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5f01640 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7a30cfe xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9068ac2 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad7d1f4b rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae74883a svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf27a192 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf293972 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7520b66 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9ee32ab svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9fe3a51 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba3d12d3 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc09dd966 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc192e469 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc28fd212 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2afe5ed rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2b31a8f xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4b2eef6 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc54875ee sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6c2c9cf auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc887cd7c svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8aa1b38 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8aa5680 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca16ad24 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca3a7797 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd0e7a54 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf918fef rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2ccbed7 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd34bf523 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7778c2e rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8687295 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdab72fe7 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbe0421b xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcc7cc99 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfb8f2bf svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe27eed27 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7aacca7 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7fffedd __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe80d4dfa cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea94ad9b svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecd96656 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed438eac xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed70d528 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedfe77ec rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf182c6b7 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf364ffb6 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf843d008 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d98de6 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa303034 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb415ae5 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc9ee815 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdc1b704 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfde37f0d unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfeb9620f svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff7f5e07 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/wimax/wimax 0x01c28cef wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x12791d2b wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1b1c48ca wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1d2f012a wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2dc7dad7 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x788fe2e0 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x86d7e708 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8d3fc386 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb0546b90 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb09c0c0c wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcad773d4 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd36afc9c wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd68e3930 wimax_dev_init +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x01cdcd00 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x053cb0df cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2a2f6731 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x32dedb6b cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x36c764ad cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5dff4314 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x814f0e98 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8bc5f599 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8de1f98d cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa1b5cc11 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcefd1877 cfg80211_wext_giwfrag +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 0x7af7748a pskb_put +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 0x99a34653 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xaf7a27a4 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xd11cc0e5 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xfeada537 ipcomp_output +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x44f3acbf pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x93a74313 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xbc40c04b v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xa969f219 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x49f978d9 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xee6b1031 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2c1a21b1 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x474a5937 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x5232195d twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x631856cd twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xbd815b38 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xe8ae8db7 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x243eee27 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4315f5ea wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x54c007db wm_hubs_add_analogue_controls +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 0x7ac99601 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd1feacc5 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd70295ed wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf3ea52c1 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf9d331fc wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x90538bdc wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe9d9facb wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x1d26140e wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xd00a0d57 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x0370cfaf wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xbed375e6 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0xcd5d0f22 wm8996_detect +EXPORT_SYMBOL_GPL vmlinux 0x000668dc irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x0007b4a7 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00ab5000 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00d312a4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00ffa971 snd_soc_default_writable_register +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 0x0180b00d ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f9a2d3 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x0212dce9 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0226eb04 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x028552b8 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x02c8a5e3 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x02cc2c9e crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x0314070a blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x035fde7c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0375ea8f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x039fdf82 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x03ae44df snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04251a3e led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x045e38b3 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04ae6b56 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x04c17c03 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04d1e5c5 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x04fcac4e fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x050f92d4 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x0523e5ec pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x0528a446 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x052f7091 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x0531264f inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05455978 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ad7124 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c77ad1 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x05d80238 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x05f645cd ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x0611f78e sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x06130df4 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0675c6b0 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x06aa8da8 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x06bf4eee spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x06c36136 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x06f04072 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x06f57384 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x0709a989 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x073ebdae sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0747181c snd_soc_register_dais +EXPORT_SYMBOL_GPL vmlinux 0x0759a36b scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x075ca5c6 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x076a68fa usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x077c0971 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b9892f ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x07e510af usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x080ddc9a omap_uninstall_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x0822176a ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x0858c9f0 mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x0889290e ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x08ce11e9 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL vmlinux 0x08eab084 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x094d38b8 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x097ad8a0 mtd_erase_callback +EXPORT_SYMBOL_GPL vmlinux 0x09b15110 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09d192f1 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0a0bf193 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x0a1812d8 snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a4f7895 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0a7de0c0 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a8f07d4 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0ac82454 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b2bae45 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0b32bbc8 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0b3f3715 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b713d33 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bb322c1 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x0bbae511 return_address +EXPORT_SYMBOL_GPL vmlinux 0x0bc64203 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bf4329a __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c001903 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0c01c84b __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x0c042caa power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c1f430b tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c736410 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0c76695d inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x0c7fbbb1 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x0c919cdf inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x0ca479d3 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cc59deb do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x0ccffe10 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0cfb73d3 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d1b26f9 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x0d24d2c3 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x0d30ea61 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d5b83cb md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x0d6cd567 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0d9c5570 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x0dcd6a4e blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e045a13 omap_dm_timer_stop +EXPORT_SYMBOL_GPL vmlinux 0x0e3dff3a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x0e42f03d tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x0e9915d5 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x0e9e220e usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0e9e6f43 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0ed2f405 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x0ee5184f tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x0ee97518 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x0ef90593 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x0f02209b wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0f1e068c __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x0f575f46 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x0f5cfd0b snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f8b9ee8 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0ff8a838 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x100d38fe ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x104e9840 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f5f964 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x110a093c klist_init +EXPORT_SYMBOL_GPL vmlinux 0x11646d1d single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11ce41ff bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x11d5052b get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f7cc48 snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x120ac879 gpmc_init_hwecc_bch +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 0x12834339 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x12a11d58 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x12cfcc74 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x12ec5dd1 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x12f8f654 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x131001eb tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1371d3d8 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x14026e07 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x142e8f50 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x1452dd15 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x14688203 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x149fd177 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x14bc98e6 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x14c5c204 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x14de1f80 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x14f0ae80 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x15067bde xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x1545f4de register_timer_hook +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 0x16239a78 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x16280b2e inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x1638a168 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x168fb583 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x16938715 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x16da80ac __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x16decba7 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x16e995d2 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x1724a0dd cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x1740031a device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x176e28d9 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x181a5a29 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x183dd256 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x18602c9f sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x187403cf disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1889059d ata_sff_tf_load +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 0x19456e90 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x1967eb51 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x196f60e3 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x199232b0 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x1995abcd debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19e893c5 snd_soc_set_runtime_hwparams +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 0x1a5a56e5 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x1a65920b omap_iommu_arch_version +EXPORT_SYMBOL_GPL vmlinux 0x1a67721b watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1a989ca0 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1aa1a59f modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x1abb724f cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1afaa190 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0x1b1715ca device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1b18f808 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x1b3f8b0f snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b660b6c sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x1b6d229c snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x1b84d428 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x1b85209d bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1b9beeb1 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1ba2a024 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1bc50751 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1bff2b8a attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cbb77f4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x1ce7347e __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x1cec09c2 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x1d07dc1d ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1d0fb021 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x1d116ac2 snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x1d3ca131 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1d4633c3 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x1d4f0133 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1da3db30 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x1dc63be5 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x1df4e510 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x1e009e84 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x1e087a5d snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e3bb8c3 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x1e4f2b8a snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x1e56b7ec regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x1e6689cf snd_soc_platform_write +EXPORT_SYMBOL_GPL vmlinux 0x1e74fc9d omap_install_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e92fced mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x1e939184 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x1e992a5e scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ecf3f2d rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f34b6e0 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1f37286e register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x1f41fdd7 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1fc0518a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x1fc7d787 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff10a76 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x201fb979 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2027bdef ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x202bec9f spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x202becb4 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x2034d592 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x204969e0 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x2072826a wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x208741a6 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x20b56ad3 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x20b79a2b __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20f38268 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x21037d6a aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x210852c7 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x210d7668 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x21169b80 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x212e0266 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x2139ce91 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2143b6bc spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x21458723 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x216a8c25 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x21969ccc usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x21ba8e3c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x21eed484 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x2201a12c regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x2209cf3c dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x220b9bc3 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x221e9136 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x22281114 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x2279c965 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x2283acca pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229df9e0 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x22a13f3f usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x22a2d7a2 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x22d3df5a dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x22e02e33 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x22f4a3e0 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL vmlinux 0x2345d4f0 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x2347e654 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x23562eb4 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23b5b1ed irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x23fe0eb7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x24202df7 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x2426758b ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b21940 of_regulator_match +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 0x250c68d3 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x2514df85 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x251ed837 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x254ec7ba __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x25b34ad0 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x25b8b8d3 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x25bba545 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL vmlinux 0x25d7f867 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x25f0acd8 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x2668f70e blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x26848962 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e33929 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x26e3f5b4 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x26fe7fd5 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x2736b3f7 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x275b6f8f amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x276d92b6 snd_soc_register_platform +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x278e8379 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x27959753 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x27985d3c hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x279a8c4d __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x27c70ac0 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x2884a0a7 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28ad8aed ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x28d4eed4 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29581b15 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x29768941 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2999b0d3 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x29cd67b7 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x29ddeb90 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x2a08330a snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0x2a0e293e ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x2a36fcdd anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x2a4dc33d vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a5748c9 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2a59b042 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2aeb82c0 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x2b3dbb12 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2b43313a fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x2b9efd41 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2bdeaa5d gpmc_calculate_ecc +EXPORT_SYMBOL_GPL vmlinux 0x2be49efa ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x2bf48622 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x2bf51e06 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x2c0b35b4 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x2c0fde5a usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c281127 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2c2cf22a blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x2c309940 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c5791fe inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca4518c __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x2ca4b0e6 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cc5c8e1 ip_route_output_flow +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 0x2d341d1b dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x2d8976e7 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2d91b312 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x2da165f4 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x2dac38c7 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x2dbba907 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x2df6cbbc ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e42197f of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2eae3434 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2eb03622 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x2eba89bb kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ed9efbd usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2ef26ef3 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f2ebc77 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x2f3dba94 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f43b790 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f957eee mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x2fa4bc35 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x2fd0b5cc snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0x2fe14140 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x2ffbc20c usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x300b7a1c sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x301a577a crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x3037218e led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x30513831 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x3069380a snd_soc_cache_sync +EXPORT_SYMBOL_GPL vmlinux 0x3079b7a6 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30a2e575 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30ab9b86 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x30cf592e sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x30d514aa hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x30d8063e simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x30e1f6df ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x30ef89ea sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31750e24 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x3183c6ef input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x3185ef6e security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x31a4ca2a of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x31a820ed register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c63a75 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x321bc043 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x32330a0b ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x323812b3 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x32a2eab5 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x32a9f51d i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32d6f49d sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x32f50f8e ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x3302b055 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x330b8a1c devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x332d9f38 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x33384735 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x338a188a devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x338d6665 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x33be418f unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x3404a0d0 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x341643ba omap_dm_timer_modify_idlect_mask +EXPORT_SYMBOL_GPL vmlinux 0x343864ae crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x343c18ff adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x343d028c sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x343d7004 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x344bde32 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x345b6210 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3485a848 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x34a7fe48 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x34a8b729 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x34aaa115 snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x34b269ee spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x34cc2c77 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x351cfbc5 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3554cc03 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x355678b1 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0x35b344b9 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x35cba215 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3601fac7 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x363fd6a6 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x36555e75 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x366d6033 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x3673e82e use_mm +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x3696bf4c __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x374794f2 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3769ab0c klist_next +EXPORT_SYMBOL_GPL vmlinux 0x37b0bf04 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x37bebe4a spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x37dc5604 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x385f9a69 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38af37ca exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x38b8506f generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x38ff29dd crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x38ff641c sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x390c966a sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x3945c2a9 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3955b482 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x396a0d62 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x39a6f0f9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x39a8b807 gpmc_enable_hwecc +EXPORT_SYMBOL_GPL vmlinux 0x39c68eba snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x39d90b9b firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x39dbfc5c tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3a20e500 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a28d051 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a71946c class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a74455d __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x3a7f4d98 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x3aa36c32 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3ab9fcb8 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3afeb259 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x3b1ff898 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x3b249699 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3b770113 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3b920168 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c150a48 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3c259a73 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x3c25c74a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x3c2efcfa regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x3c549160 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3c75f264 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x3c831441 arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x3c89520f crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x3c8f894c raw_unhash_sk +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 0x3cfd6c27 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d6adc5d debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x3d7fd8f4 mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3da142d0 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x3daa40bc user_describe +EXPORT_SYMBOL_GPL vmlinux 0x3dafdc20 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x3db91586 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd0b125 omap_dm_timer_start +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3de23d17 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e2f0c27 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3f07f953 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x3f210e75 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x3f3000e3 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x3f3e92cf omap_dm_timer_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f620a84 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3f63b97a handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f69c73a unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3f88de2d ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x3f95ec58 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x3fed5879 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x4017e969 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x408be912 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x40a7ebcc __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b3e67a dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x40bbf250 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x416fffaa driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4181aaa7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x419faf39 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x4229cad4 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x422e0cc0 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x4235c326 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x42782a37 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x4290f5c4 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4295844c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x429d4180 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x42b5de8e inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x42cdc1bb bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x42f61a6e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x43043cf5 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x431b9be9 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4365be89 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43adc0fa mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x43c77fce irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x43cdb68d tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x43e46498 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x43e4fe7d br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x43e871dc md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4411d77e fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x442fca0d regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x44303f1d pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x445f220b crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x446fc726 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4496bc3c blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44c10574 snd_soc_cache_read +EXPORT_SYMBOL_GPL vmlinux 0x44c6bf17 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x44cfa39f i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x44d10699 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x450a1a88 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x451739fa user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x45360c38 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x453fbd78 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x45588283 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45eff19d regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46253346 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4639ea0d uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x467622ec dapm_reg_event +EXPORT_SYMBOL_GPL vmlinux 0x468e303e scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x469c726c snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x46a2e121 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x46b08833 get_device +EXPORT_SYMBOL_GPL vmlinux 0x46dabf81 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x46ea1f4f dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x478d4ff7 gpmc_enable_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c2869d rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x47e7515d omap_dm_timer_set_pwm +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x481e9785 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x481f392b replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x484ed459 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x4853ddd9 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL vmlinux 0x48584e47 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x4864213e pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x48656f52 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x4876d9b9 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48b9a5b0 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x4907d875 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x490b5e08 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x49300c2e handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x493266d2 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x4946da71 omap_iotlb_cr_to_e +EXPORT_SYMBOL_GPL vmlinux 0x496b1b89 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x4985e88b power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499ebb2b tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x49b43b77 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x49c9ad37 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x49e6fb30 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x49fabbff rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x4a6325d3 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x4a6ea38d skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x4a765aeb dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a7a15b7 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ad9e3b2 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4b1fdec6 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4b34a185 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x4b3a56d4 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b4dec29 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6347ca usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x4bc01e89 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bce2091 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4bd7ca4a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x4bdeadfb i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x4bed686b mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x4bf47c01 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x4c250800 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x4c3ea3fd vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4ca61fe6 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4cc67961 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4cdce33b ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x4d03c759 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x4d29d347 omap_dm_timer_set_match +EXPORT_SYMBOL_GPL vmlinux 0x4d2c24c6 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4d444e6a ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x4d6ffd4d shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x4d865c68 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4d94f7ac snd_soc_jack_new +EXPORT_SYMBOL_GPL vmlinux 0x4dca7ba5 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e2453f9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x4e3a1490 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x4e5ce725 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4eccd53a setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x4ecdbfe4 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x4ee19ef8 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x4ee1d8d2 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef862f9 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4f185145 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f1be141 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f31e207 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x4f5085ee iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f752a9b clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ff5ae9f __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x50032054 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5004890f flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x501a49cc snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x502074c5 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5032a608 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x507b7f13 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508bbe81 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50b7b4f2 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e64aa6 blkdev_ioctl +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 0x512e364a kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x513c365d vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x51513102 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x51634a33 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x516f4d1f pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x5178c288 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x5181bcb9 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x518228c4 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x519be64b ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x51a7a44b dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x51ac8695 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d876dc usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x51df7e3f bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x51e8a5e9 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x5201dc3e css_depth +EXPORT_SYMBOL_GPL vmlinux 0x520cdfd0 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x52333b23 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x528b2f0d class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x52a3abc1 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x53292120 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x534983d3 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x535e4883 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x537259b4 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53efa450 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5404db1b wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x54123199 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x541a7d35 dapm_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5484b953 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x549496e7 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54aeef08 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x54b4392e skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x54c3f0d0 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x54e15101 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x5516980f tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x551f3492 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x555f2b9c fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557b69c1 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x568e11ee inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x5698ea94 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56c044b9 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x56c06bec evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56fad60a shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x56fc9785 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x5715aeb3 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x572c48fc device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x575238f7 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5757ae0a ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x577b07b1 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x578fe4dd cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a154b8 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x57a6af81 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x57a8029e rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x57d6e3f3 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x57eaf717 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58509211 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x589c26fe filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x58a19fdc fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x58edb307 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x590b3e42 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x599d0cb6 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x59ab8d0e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x59d8ef3b mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a0cf909 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a5acfa4 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x5a62a5a8 omap_dm_timer_get_fclk +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a939200 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x5a9d3593 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x5abebd53 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5ad2bab5 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x5ade5ae0 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x5aed1acc unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x5b083a66 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x5b3af0ba snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5b3b147c crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b5eac89 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x5b771bb9 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5b8e13a1 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5b9f2f45 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c3254f7 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5c32a257 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x5c5fb37c fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x5c7028c8 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x5c7ceff7 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x5c82c02c dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x5caa4720 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x5cc4010c snd_soc_default_readable_register +EXPORT_SYMBOL_GPL vmlinux 0x5cdd59bf stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5cf0ed5b sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x5d1212a5 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d23aa15 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x5d3196a5 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d960607 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x5dd4d595 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5deb1d31 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x5dfc1e40 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e206675 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x5e4d2e06 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x5eaecea8 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5ebb14f1 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x5edfe20d device_add +EXPORT_SYMBOL_GPL vmlinux 0x5efb9362 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f3c4dc9 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x5f4032b1 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f7cd8c3 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x5f9b1cc8 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x5f9edd0d tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x5fc3160a fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x5fd29c04 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x5fd2a143 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x5feba456 user_update +EXPORT_SYMBOL_GPL vmlinux 0x5ff48638 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6019c6b4 usb_bus_start_enum +EXPORT_SYMBOL_GPL vmlinux 0x601e0599 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x604b6f46 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x604fd5b4 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x605bd6e4 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x606098b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x608a11bf set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x60d50d7b mtd_point +EXPORT_SYMBOL_GPL vmlinux 0x60fc5bac fuse_do_open +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 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x6183cd68 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x619e6e24 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x61dd9bc9 snd_soc_cache_write +EXPORT_SYMBOL_GPL vmlinux 0x61f3959e regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x620537d3 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x622502f9 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x622d6e58 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x6262b550 snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x629c92ac fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x629f271a iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x62bba262 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x62fce7f4 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6308bbc0 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x63291c16 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x634fdf7d relay_close +EXPORT_SYMBOL_GPL vmlinux 0x63732503 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x6394d193 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x63dbf623 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x63f2691e sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x64032b16 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x640ffc0b ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x641723dd crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x642ab73c snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x64432317 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x644def47 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x647016e1 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x64728f0c trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x649da5c5 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x649f708b rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x64b3a46d sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x64df355a __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x6512320b fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x6517b709 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x6519050a usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6528ba71 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0x658184c7 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x659534cb fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x65b64e2a ata_port_schedule_eh +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 0x65e44a7d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x65fbdf7d usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x6601f3f8 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66316dfc usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x66512eba scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66843c1e subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6689c33c blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x66a5a902 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66ebec91 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x66f99f89 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x67027de4 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6712f177 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6739f22f ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x67480fff snd_soc_platform_read +EXPORT_SYMBOL_GPL vmlinux 0x676d7fd9 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x67885f98 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a08a6f crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x67cd87ce fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x681dbc63 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x68721443 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x6879d50d __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x68a762ee pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x68be26d0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x69050d83 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x6906cbe5 snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x69226869 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x692293dd ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69351400 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69aa7e9d sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x69b79e1d snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x69bb804c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e3de04 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a0b66f4 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x6a659a37 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x6aa26459 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x6aa45aea driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6ab1140e sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6adfd45c debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL vmlinux 0x6b7c38ab regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6ba7bbd4 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x6bd85cce each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x6bed13d9 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x6bf223f1 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c189c87 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x6c30dbe9 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cd102c0 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL vmlinux 0x6ce4f0b6 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6d2187b7 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d73326d vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x6d7b79ed xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x6d83f3b6 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6d9b2142 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x6dc16353 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x6dfbfd3b dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x6e2ad732 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x6e2f3bb6 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x6e695ae7 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ee88a9b sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x6ef1820e release_pmu +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f230820 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x6f2a7d37 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x6f7628e4 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x6f94e229 fat_alloc_new_dir +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 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70aad982 register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70de145d omap_dm_timer_write_status +EXPORT_SYMBOL_GPL vmlinux 0x71034655 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71710ec6 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x717a0d46 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x721df5e8 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x722e77c7 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7243472e blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x72437a97 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x72477eed crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x7259731f bus_register_notifier +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 0x72c32deb dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x72df4c59 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x7308f57c device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x7309c0c2 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x730bd0c7 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x73131fce device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7323d268 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7330aff8 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x73369bce omap_dm_timer_set_prescaler +EXPORT_SYMBOL_GPL vmlinux 0x736a3c18 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x737d65dd sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74605f8a ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x7478a36f inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a810ca sdev_evt_send +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 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7550c360 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x75644e17 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760d1413 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x7612c8a3 __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x761b3483 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x762f6a47 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x765b86d0 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x76667659 omap_iopgtable_store_entry +EXPORT_SYMBOL_GPL vmlinux 0x7667f957 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x766e9f52 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x769f5c16 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x76c32458 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x76c5f4fa wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x76d3ce33 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x76e961a3 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x76ea293a cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x770880e3 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x771806e6 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL vmlinux 0x77855246 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x7786cadc dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x77aca448 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x77acd49a omap_dm_timer_write_counter +EXPORT_SYMBOL_GPL vmlinux 0x77f8cb48 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x78238134 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x784dc899 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x786347fa nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x7889d819 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x789d1c85 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x78ca74d0 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x7912e3de dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x7931de91 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7944655c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79df8e6b usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x79f8c6a9 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7a35198c usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7a4cc7f4 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aad3e3d omap_dm_timer_set_int_enable +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ad250df md_run +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1ad141 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x7b1c88ae raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x7b1e2901 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7b23c329 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b24f155 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7b4620d8 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7b61e663 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7b666621 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0x7b6ef83f snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7ba450fe snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL vmlinux 0x7bc845fe blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x7bf84c5d regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7c16b0f0 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7c1a7d34 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x7c1ccee7 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x7c1d5004 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x7c8bc216 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7cb00f22 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc61437 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x7ce22de0 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d022742 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7d20a3b3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7d29f60b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x7d31317b md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x7d3d8011 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7d46779d sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd77e59 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7e0941e3 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e0ef9d9 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e277415 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x7e5086e2 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x7e57aebf unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x7e5949a8 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e8f5088 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x7ec41024 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7ed4cadf d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x7ed68941 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7efc8cc4 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x7f1663e7 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7f4168a7 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x7f799109 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x7f7b268b fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x7fafece8 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fb15981 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x801385fb scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x801c5bf1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x804241ee s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x804819c7 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x808b733d gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x81334c46 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x8138eb64 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x815d9e9f crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x81c9d6af usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x81cabffc crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x81e0bfde crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x81eb2add __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x81edc82e rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x8200f8bd usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82380d9f regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x82557071 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x825e0464 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x82b117fa i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x82c681ae usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x82d5d6b6 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e35e17 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x830b2c93 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x8323d77e proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x8392221c debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83c0511a ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x83cb1c85 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x83d781df pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x847e1433 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x84bfdd9d nand_release +EXPORT_SYMBOL_GPL vmlinux 0x84e641a4 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x84fbb2fe root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85112468 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x85221845 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8559a91e sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x855fc557 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x859a104c snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85dd5b1b ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x860088b2 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x8600c5de sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x860f1289 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8611afd5 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x862142a4 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x8630e5c1 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8638de93 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x863ff251 snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x8676d6d3 input_class +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868a8d6c snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x86a9cfe5 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x86bd8692 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86daae21 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x86e82b12 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x871500f8 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x87320b8b tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x876b4e3f tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87761c62 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87d06d0c crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8820ebaa omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x888725b2 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x88a77c53 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b76bbb adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x88cc1037 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x88ce8d90 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x88f67f94 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x88fd5b65 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x890e6ba6 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x89620b72 snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x89a6fb1f usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x89a88e5e wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x89b6fc7f regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89e6240c usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a30575e blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x8a367ad7 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a8401ca xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x8a8988e5 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x8a8c69ea crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8aa79491 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac707af tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x8ad888f5 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x8af16f3a omap_dm_timer_enable +EXPORT_SYMBOL_GPL vmlinux 0x8b4f3ec7 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x8b6ec0c3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b8c44df ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8ba2b339 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x8bf9a93e wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c2529e7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8c488cb0 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x8c73e80a ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x8ca3b618 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x8ceea4e0 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x8d11f0b1 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x8d4967e2 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x8d905aa5 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x8d970b94 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x8da4898b inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8db314f7 mtd_is_partition +EXPORT_SYMBOL_GPL vmlinux 0x8dbca616 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x8e636eb4 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL vmlinux 0x8e80fb8e fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x8f210793 deregister_mtd_blktrans +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 0x8f6009f8 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8034cb crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x8f9f11f4 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fda8027 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x8ff962fc do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x90136cd7 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90798a40 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL vmlinux 0x9082d068 kprobe_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x9091213d mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90adb5ac skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x90cf34dc device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x90d4cb8a fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x91183911 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x911dbb9e wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x911f06cf crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x9139b5af regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91682237 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91ae2b34 bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x91d42d0b map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x91dda801 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x92425533 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x9270d201 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x92973b0b amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x929749ff inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92cd4adf usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d73cca __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x92e0edf9 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x92e48200 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x92f124ec rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x932445d2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x9339de95 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x93410b60 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x93969ad8 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x93b629dc rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x94139684 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9434c482 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL vmlinux 0x94709640 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x9477d426 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94cd2785 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x94e2d32c fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x950b4930 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952962f0 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x95617a98 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x958207cf klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x95899f93 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x95c578a0 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x95cb581a blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x95f6ee15 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x969c949f bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96afd691 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x96bc03e3 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x96c95494 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9709ecae devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x971b823f snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x9746e8b3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97c01e00 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x97c96c2e regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97ec2774 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x97ef87c8 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x9804a5aa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983e332f securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985ea0dc spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x9891bb87 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x989e0950 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98de2856 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x98eb55a6 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9946bba8 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x9954d313 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x995b38b2 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99a3a888 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x99c1f496 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2bbe02 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a45b5ac of_get_regulator_init_data +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 0x9adfeb70 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x9aea0e6a blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9afc2284 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x9b197b52 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x9b22866a __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9b7f27de pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x9b990f57 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba1067c i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x9bb1c70b scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x9bc752b9 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x9bcf0ce6 omap_dm_timer_set_source +EXPORT_SYMBOL_GPL vmlinux 0x9bd6bd3d sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x9be5daea sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x9bf44a4e device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9c06ea3f ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x9c117f94 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x9cbf9b63 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x9cc242cf snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x9ce9340b page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x9cfa6e1b blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x9d0dbc0e unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9d64e5cf __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9de22d08 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e01b1d9 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e3f6c96 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x9e504019 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9e59a266 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x9e9fb545 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x9ede4308 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x9ee77182 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x9eeb0ab7 omap_dm_timer_trigger +EXPORT_SYMBOL_GPL vmlinux 0x9f0c013e dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9f1ea067 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9f3036d5 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f49340e mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x9f648a3c net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x9f75f167 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x9f96ff5f device_del +EXPORT_SYMBOL_GPL vmlinux 0x9fb1fa95 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe23e5d sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x9fe73082 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec6f2c dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xa0557c18 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0859bb9 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xa098b6b9 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xa0ae50fb fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xa0da1ce5 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xa13a23c3 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xa176673d cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa198c24e usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xa1bcdce6 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1f0c872 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xa1f6de69 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xa203d7e7 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xa27ac781 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2b20bb8 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xa2b3161e regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xa2b87467 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa2fa32f5 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa334cbb7 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xa346f784 omap_dm_timer_free +EXPORT_SYMBOL_GPL vmlinux 0xa370e796 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa378e5b5 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a2ec52 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa444a3b1 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4b5541c mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0xa4b8d113 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0xa4c08463 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xa4c67a64 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa4cbba0b device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xa4cc75c2 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xa4ceed39 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xa50650cf get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xa52eebbb dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xa53ab741 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xa56912af ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa56d6a82 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xa59d3013 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xa5af8e86 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6fae arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f2bd62 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6320ed5 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa657e98a device_rename +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b72549 device_move +EXPORT_SYMBOL_GPL vmlinux 0xa6b79a2d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa6ba0dc1 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xa6db0da7 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xa74cbd58 amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0xa74e6f13 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xa75bcd82 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa796c168 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xa7a8a46e blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa7e160ba regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa80ee58f rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa82de5b8 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa83941dc dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xa857450d pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xa8dc253b xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa8fd598b __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa8ff3caa md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xa9188cda blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xa9493a84 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xa94ead2d sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa9690353 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa9bd6c1e armpmu_get_pmu_id +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9c5e530 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa4e2c6e pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xaa4fed3f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa9c2b57 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabce0a3 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xaac307df console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xaaeec927 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab090efe blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xab18e6bd scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xab29f7b1 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xab3f7d29 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab709ab0 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xab83b70e bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xaba5f016 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xabedab9e usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xabf158d2 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xaca2496a ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xacb12b59 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xacd017b2 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacf82ff7 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad0308cb pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xad7940ce skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddb7633 nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xadfdf721 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae1b7eb6 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xae30f598 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xae421ea9 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae836d41 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xaebc643e bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xaec172f1 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaec71a47 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xaee6c045 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0xaef8f723 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xaefc7fac crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xaf0a9e65 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xaf0b08b8 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xaf14e750 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf416c6d relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xaf5ba8c7 css_id +EXPORT_SYMBOL_GPL vmlinux 0xaf72c996 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xafa616cb snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL vmlinux 0xafaec8e1 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xafcf58cd usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xafdc3592 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb021bde4 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0xb0410c7a ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xb059c859 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb0685e32 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb08d6bbc ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xb0a946a3 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xb0aa3965 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb0b39228 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c9f0db blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb172dfef skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1ef9c4d snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0xb221fd22 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb277efa1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb302bea9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb304f122 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xb3318b37 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb34bb410 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xb35000db register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xb3568db1 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xb361942c ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3a18690 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xb3fd0bde n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xb3fef20b spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xb41fdcd1 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xb43a3389 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb44bd89d ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xb44c6486 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xb459aac2 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xb45b0220 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xb469cc36 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xb4b02ac7 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb503120f bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb510ae56 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb5186e07 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb527f9ba mtd_read +EXPORT_SYMBOL_GPL vmlinux 0xb55756d9 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xb558a2a0 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb5927165 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xb59fd531 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xb59fdfcf dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5b63e40 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5dff999 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xb5e20479 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb6311771 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xb67ad1df s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6817dfd fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xb6a1d14e wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb6a5cf07 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6c900f1 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xb70084d4 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xb714ac0e dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb75185dc cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xb77758bf blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xb7aa0a74 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xb7d4f5a7 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xb7e0ae1a omap_dm_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb7f7d0f9 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb8414798 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xb8928157 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xb894cb6a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xb89fd8c0 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb8b25563 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xb8bfd926 snd_soc_read +EXPORT_SYMBOL_GPL vmlinux 0xb8d3f3b3 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb8e2f7fa disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb903eb0a mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb91f6f61 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xb9205987 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xb97619c3 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb99e91cf tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9a969fc sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xb9b875df fb_deferred_io_cleanup +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 0xba150c47 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0xba2ac508 mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0xba53a851 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xba6a8e52 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xba79ae5e init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xba996a3a sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb036c02 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb251af8 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xbb27c671 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9edd23 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbba07418 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xbbb3cf2b omap_dm_timer_request +EXPORT_SYMBOL_GPL vmlinux 0xbbd3fcf9 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xbbf826cb ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xbbfcdcb6 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xbbfda9f2 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc3d0c80 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xbc4e3e94 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbc518344 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xbc60a66c of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc78794c max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xbc922a2e gpmc_calculate_ecc_bch4 +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf0d703 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xbd0a75ec tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbd35fee1 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf512de free_bch +EXPORT_SYMBOL_GPL vmlinux 0xbe0c2de1 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2a0380 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbec89afb device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xbed0125d sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xbf2264b7 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL vmlinux 0xbf5ff109 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xbfaeed32 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0xbfaf8b7c ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xbfbcf60c pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbfe36caa rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xbfef84b2 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xc01cafd9 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL vmlinux 0xc02d498d blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc059c448 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xc07681e8 omap_dm_timer_set_load +EXPORT_SYMBOL_GPL vmlinux 0xc07a0a07 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0fb441e usb_store_new_id +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 0xc11f647e platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc15c52c7 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc188f863 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc1c567f5 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xc1ebd2d3 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xc20b2b17 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xc20f563e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc233108b crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xc23e79f3 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2a1cfa0 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xc2a30827 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc2f84ef3 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xc2fb9177 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xc303eb99 register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xc317dd77 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc319192e pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3e37d45 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xc3e74d69 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xc4170753 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xc424e0de usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +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 0xc490fa21 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xc52c8dbf md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xc52decc6 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xc52e5023 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc54860d5 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xc5620f13 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xc59a32d0 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xc5ebe28a da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc5ff351c fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xc60a44da da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xc60a730b klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc60eef71 device_register +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc616ed7e ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc68a13d1 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xc6942b39 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc6966361 omap_dm_timer_read_status +EXPORT_SYMBOL_GPL vmlinux 0xc6d3458e dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xc6f98add add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xc71b4cd8 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc72a32ed alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc7378b85 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xc7549be7 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xc756baed rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xc768bd7e subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc775ee7c ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc820012d md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc832a6aa wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xc86073ed inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc874ba86 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc881e453 put_device +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8afe20b snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0xc8c78968 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xc8d209fa snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0xc8e330a0 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc918a2f8 get_task_comm +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 0xc977635b wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc995ac7b wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc9ab1102 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc9b449a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc9c9a486 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xc9e18c33 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xc9e22a6d snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca0bdf81 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xca312c41 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0xca4f89a5 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xca55043f page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaac2b7d dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcad40ee2 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xcaefda5a spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xcb06a82a crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xcb273676 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb275b63 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcb8a8698 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xcb994aa4 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xcb9d7067 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xcba1a7df mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0xcbb45ee9 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xcbc17182 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xcbcaeebb of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0xcbda55f2 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xcbec06b9 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbff56a2 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcc026731 mount_mtd +EXPORT_SYMBOL_GPL vmlinux 0xcc1398fa serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc76d131 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcc902311 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xcca56d7b anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd08b49 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xcce741f5 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xccf7ff54 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcd02854b usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xcd104ee4 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xcd23dfdf snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xcd313597 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xcd5458bb sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xcd76c405 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xcd7ae18c sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcdaaff05 shmem_read_mapping_page_gfp +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 0xce4f940e snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0xce57e9cd crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xce6008db class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce7bb419 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xcee36dc0 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xcf5d7b85 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0xcf9e4dd2 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfe19301 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xcff6f0a4 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xd012b814 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd062888c i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd068f3e4 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xd0736fd5 omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0e635c6 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd0f25115 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd111479b tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xd1293399 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xd13ccf95 omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd197ed44 snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1b939ec snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0xd1b9444a debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xd1c0808e usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xd1ee912e ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd220dedd ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd222daff relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xd227d35d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd22f2596 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd2514a6c md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd279dc25 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xd28d1884 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2f337bc wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd2f6cf2a wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xd314a361 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xd3187c79 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xd31bb946 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd37f824e dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xd3a3aa43 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0xd3e61495 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xd3fe25cd mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4283980 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xd429ee11 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xd42b1739 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd48b693a rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4db6bf0 snd_soc_write +EXPORT_SYMBOL_GPL vmlinux 0xd514415d snd_soc_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xd53da4e3 omap_dm_timers_active +EXPORT_SYMBOL_GPL vmlinux 0xd547042f sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xd54ede1c omap_dm_timer_disable +EXPORT_SYMBOL_GPL vmlinux 0xd565403b usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xd56ef72f platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd588dc88 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd5915053 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5f56c8d debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd6060ec0 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd627647e usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xd63efdbd usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd667b1fc i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67d8256 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xd68e49c2 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0xd6a6e14a led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd736162d __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd752a7a0 da903x_writes +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 0xd7c16a01 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xd7edb262 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd8250b0e amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0xd8265dec ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xd82676f1 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0xd8318c60 debugfs_create_file +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 0xd8762bce put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xd8804eaf power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8813f9a device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xd88a4834 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xd8957ede shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd898cd9c enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd912fc05 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xd919cfdc get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd9410817 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd956cdf6 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd9574f05 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd96ee5c3 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd9ced00a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xd9e94c8c dm_underlying_device_busy +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 0xda25937b inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda597340 snd_soc_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xda5b3e75 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xda5f1ce7 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xda62d15c perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xda6742d3 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xda7b1989 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xda800d18 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xda9a2bd3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdab21d68 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xdab38ab3 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf4fe9e tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb1c893d da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xdb3e5eef attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb5a0dbf udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdb5e5b63 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba95fd5 reserve_pmu +EXPORT_SYMBOL_GPL vmlinux 0xdbaad53f wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xdbad017f wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xdbb86728 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xdbcf11fe bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdbd05d33 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xdbdad38f simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xdbf3a960 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdbf52114 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbf8bec0 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xdc15e80d scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc1766ca anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xdc1b73af class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdc36a34d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xdc5ca29c sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xdc85a993 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xdc962873 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd2f3c74 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd370548 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xdd50d516 device_create +EXPORT_SYMBOL_GPL vmlinux 0xdd5a790a flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xdd6a53cc regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd879c9 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xde00ea86 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0xde07cfc5 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xde2c2c9e regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xde3e38d6 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdefd54b2 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf11e863 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xdf1e18a8 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xdf8cbb8b blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xdf9f6635 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xdfaf4787 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xdfaf870b vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xdfe6e480 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xdffb6096 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0183ad1 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0xe01a792a cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe072b5f5 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe09e8c68 snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL vmlinux 0xe0a54d34 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0xe0cf8cc6 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe1090f59 find_module +EXPORT_SYMBOL_GPL vmlinux 0xe1311a0a ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xe13eaeb5 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xe14d302b usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0xe154bf63 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe164a309 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe1a54266 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xe1d652ca ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe1d71dbb wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xe20d2695 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe2261bdc platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe236c509 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xe2445b46 user_match +EXPORT_SYMBOL_GPL vmlinux 0xe2583226 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe26be2b1 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xe278f510 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe2a84110 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe2d614c0 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe324adb9 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe3292a91 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe35158fb rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe35bac32 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xe37ee91b otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3907f40 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xe3e75a53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xe3e993f0 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe44aae70 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xe548e50a mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0xe56554a8 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59343bf inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xe5998c23 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe5ad30e0 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe5e37ce1 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xe5ee5b7a get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xe5f93cc2 omap_dm_timer_set_load_start +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe631714c mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe660fafa sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xe665255d dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xe6bf7381 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6f0cd02 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xe700b604 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xe7170d55 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe738a885 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe780cf11 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe78beb9c kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe7a4a03b inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xe7a4ad0b crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe7b7874b fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xe7b822d8 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe7d5bb66 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe7edd2e7 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8051944 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe82479c7 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe8354afe device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe8452858 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85ade68 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xe85e8dc3 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0xe86049ab sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xe8611953 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe89ef198 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe8ba065b da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe8ef3755 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xe91c960c debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9443ec4 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xe95374b6 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9936b94 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xe9a27c2c rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xe9c9ab81 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xe9e49fd6 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea77fc68 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xeabfa0aa aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xeac15c33 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb4f2ebe bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xeb549e3a mtd_write +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xebcbd6bd sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xec03a6f5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xec13b91b snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec527b61 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0xec54d16f s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xec5955fe find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xec76924e queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xec887829 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xec893528 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xecada1bd usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xecfe2f2b netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xed16a780 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xed189b7d rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xed50c9e7 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xed695a2d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xed6a960e ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xed801d4a rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xed869964 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xed8d354b sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0xed909e79 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xed9bce50 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xeda63db3 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xedd6e35c wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xedf0bb65 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xedfa5ea9 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xee2cd56e blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xee315eb0 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xee4d7720 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xee54da53 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xee6446bd usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef4c0d44 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef8a576e bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xef8ba18f usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xef955710 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xefb2609d ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xefbad086 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xefc3ac6f shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xefdf1fd5 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xefdfe24e remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xefe817f5 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf052554c omap_dm_timer_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf053cabd ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xf06f9584 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf092aa80 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xf0a57af5 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xf0b8c741 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf0f238e0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xf1506559 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf1716491 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1862367 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1cc8cf8 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xf2068e6f dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xf211e6c5 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xf26722a2 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xf26b1efe dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xf2ceff1b pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf31f2146 __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0xf33d8903 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xf37fd1ca simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf38e03c0 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xf3a1e02b usb_root_hub_lost_power +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 0xf40feb48 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf421b4f7 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf445540a device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xf470e459 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xf4d5a902 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55b547e __class_create +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5e1f774 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xf61fcd87 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xf63d828b __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xf65c56dc debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xf68f7bcd eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xf6992887 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xf69da358 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xf69e7d6a blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xf6de56f0 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f49394 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xf6f67ae1 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf70432ff disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xf7402b37 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xf75cceff nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xf77d8696 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xf7b936fc crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xf7d1f860 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xf7e19dbc register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf8082bdf usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xf80e4473 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf883bcc2 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xf896a45d sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xf8aaf077 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf8caeef0 of_platform_populate +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 0xf94d69b8 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0xf95828d7 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0xf976b996 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9bd4f4f register_pernet_device +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 0xfa72f8bf rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xfabe3cdf cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xfabe5cad blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xfacd2ebc sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3ec969 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xfb42e363 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xfb4b798b locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xfb6a0493 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbeda43c devres_get +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc19dda9 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xfc478a68 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc4e8181 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xfc5039c3 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xfc53c1e1 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc58b637 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc84a9ab snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0xfcb29dd6 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xfcbf25ad da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfce68578 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xfd000a47 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xfd0cdd3b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xfd47264f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xfd58cb0a mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0xfd6ece00 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xfd761471 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xfd998c15 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xfda624c4 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdbd3cb1 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xfdc31930 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe46dc40 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfe5fe8a1 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xfe66c4e1 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfee44d70 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfef1b26f stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff08940f unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xff3f7174 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5dd275 snd_soc_register_codec +EXPORT_SYMBOL_GPL vmlinux 0xff73fa29 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xffa321d3 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffdf1120 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xffe0e6a4 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xffee9f04 raw_hash_sk --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armel/omap.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armel/omap.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armel/omap.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armel/omap.modules @@ -0,0 +1,2432 @@ +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 +blocklayoutdriver +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 +nfs_layout_nfsv41_files +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/armel/omap +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/armel/omap @@ -0,0 +1,10368 @@ +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x16b3fdc6 omap_mbox_get +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x74c5f162 omap_mbox_register +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0x9826f5fd omap_mbox_put +EXPORT_SYMBOL arch/arm/plat-omap/mailbox 0xabbb929d omap_mbox_msg_send +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 0x9c993f81 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 0x40f2b10c ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x423b776a ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x45ef8749 ipmi_smi_watcher_unregister +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 0x53541e0e ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x5ac19eda ipmi_smi_watcher_register +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 0x8b7a12e5 ipmi_get_smi_info +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 0xc0783dc6 ipmi_register_smi +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/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 0x4661e72b dw_dma_cyclic_free +EXPORT_SYMBOL drivers/dma/dw_dmac 0x5712a764 dw_dma_get_dst_addr +EXPORT_SYMBOL drivers/dma/dw_dmac 0xa2edea3e dw_dma_cyclic_prep +EXPORT_SYMBOL drivers/dma/dw_dmac 0xcdf2081b dw_dma_cyclic_stop +EXPORT_SYMBOL drivers/dma/dw_dmac 0xd07ae514 dw_dma_cyclic_start +EXPORT_SYMBOL drivers/dma/dw_dmac 0xfa066f74 dw_dma_get_src_addr +EXPORT_SYMBOL drivers/dma/pl330 0x26c92075 pl330_filter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x019da9df drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x023547be drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02f1c42d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02ff86c2 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04a3af60 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x061d86a1 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e15c30 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09811c94 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bd0e418 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d3c0a68 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eac6be2 drm_mode_object_find +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 0x11073671 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +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 0x14c834a4 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ce185d drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18f6c9fd drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x197efefe drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a770ac3 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1af2ef85 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb7a720 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20b76f2e drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21176563 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x220ff5ed drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x231d67e6 drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2426053b drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x247d20b6 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29247581 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a237239 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2acd725c drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b0ad496 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bb261cc drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ca742ae drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d240634 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d3259cf drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d807df8 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e3fa1ea drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eed7c42 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f92957b drm_mode_validate_clocks +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 0x33737b6c drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34fc13f0 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35e828bd drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3737d5c1 drm_prime_pages_to_sg +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 0x3b7e1271 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9d009a drm_format_plane_cpp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3be296ff drm_mm_pre_get_hsw +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 0x3f525f60 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x419c6140 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x422e5947 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4536e7c2 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x456d3fad drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x479a0478 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4945a3ca drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49883f25 drm_framebuffer_init +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 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ce084eb drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d33f57d drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d86c0c7 drm_mode_create_dithering_property +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 0x4f65a723 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c7dfdf drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5165455b drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53933562 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5406b298 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54a76d4d drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54ab60f2 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e2b0ac drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59e2fd6d drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a641110 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a862d2a drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c958ec9 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e771db2 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e9a71d8 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6048c567 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61f4151f drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6363f9a2 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63b8d189 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6551d627 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65c10862 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x695562ba drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac31bc7 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bbf1c24 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c79cd80 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d046d33 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x716ca1c2 drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x740b90dd drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x768fa481 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7832825c drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78e828ae drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a35f726 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d3a9509 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x800628be drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x819ebb26 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85750f27 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87e9fe78 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89500a1a drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89b54102 drm_mm_remove_node_hsw +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 0x8e28a15f drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f185796 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f63b1e0 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96b15f09 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96f7974d drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9757ca7d drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x978625ff drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9899f139 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98c16ac7 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c09b7ff drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f70233a drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fc855f9 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0ac34c3 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa19123f6 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2873dda drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa30fbc4c drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4edb20a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5a09d50 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa688b747 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6cd5598 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6d2ab51 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7179c31 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaacde6c5 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaacf194d drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacbe2969 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xada8db41 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaffef714 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1ad7ad5 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22ad0f2 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3224053 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4b4726d drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb541a493 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb59e249d drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5a8d03e drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7776c3c drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8bef03e drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9579848 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb969c68d drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaa7f28a drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd6c3526 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1064c6f drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3556616 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc44b1f6b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4e3470b drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc91048ac drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaeea29d drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb911322 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc388991 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce068bc drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0ec44a drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0450dd5 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1bf1a94 drm_mode_connector_attach_encoder +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 0xd2f52e39 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd61ed4f3 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd672c8e7 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd88db039 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8e2b4ce drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd90bc8f8 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd962509b drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdabe2c95 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdacfce4a drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb4dd8b0 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf19d3a6 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe411da8e drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe44f0f3d drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe532ac34 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe58773d1 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6e5c556 drm_connector_property_set_value +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 0xe7738478 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8db115a drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea2c1860 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb5ff9d0 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee566ce4 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef8fe271 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf13b073b drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf14457cc drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf147b611 drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1bbc832 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1d59f36 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf54a95b1 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf83d269b drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8460e25 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9166a4c drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd55f77b drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe23e071 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff20d9dc drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff7ec5ef drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08f4106c drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0afd64f7 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bb074be drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bc4dadc drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10f2a66a drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x173d8cc1 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24e82483 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3770e6e7 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ac78800 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40cb5938 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a08948f drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5225fd99 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57a56a3a drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x623cef1a drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x695638bc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c1fb239 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6dba7bda drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8dc9ea16 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8e0935d0 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x903232e8 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92b8daf1 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9e7aed8d drm_helper_resume_force_mode +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 0xc1db839e drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc469c244 drm_fb_helper_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc797552d drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7fd39bb drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdd5801f 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 0xd402bd7e drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdafea379 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdef41be9 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8689115 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf669ff56 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc7a930c drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff6b747c drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x490ba26e drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x5ab9d678 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xc1370c76 drm_usb_exit +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 0x1262ebcd sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x34257f35 sch56xx_watchdog_unregister +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 0x587d18bf i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xd93886ab i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xeec64784 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x2e48c0c0 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x56a7b11b i2c_pca_add_bus +EXPORT_SYMBOL drivers/iio/industrialio 0x177e9981 iio_trigger_free +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 0x4a4ccb41 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x4cc75a5e iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x5cf690f5 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x6a08a14c iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x6b069003 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x75b533e4 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0x8871b32e iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x8b58989c iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x90ea0377 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x91bc0a3b iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0xa3c98d6a iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xa6bf5879 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0xaf0a8f8b iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xb2c59ec2 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xb3fce49e iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xb74b6aba iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xbbab385b iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xc7fa0bdc iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xdcc556ad iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf4e947ee iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf941aba3 iio_device_register +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xa3d6266c iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xff656fa5 iio_kfifo_allocate +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00ad94c1 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5567c349 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x80ba70aa gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x85eed5ba gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xa97075c1 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd3952f3 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe877c4dd gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xeaace123 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf3443707 gameport_open +EXPORT_SYMBOL drivers/input/input-polldev 0x0cb6caf5 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x2309b44e input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xb7e1a448 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xd4ffa98a input_free_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xc4df77ab matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x17c7c2b9 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7866d5f4 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7ee705c2 ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xef7a5879 ad714x_probe +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 0xd5c9b50d cma3000_init +EXPORT_SYMBOL drivers/input/sparse-keymap 0x13867411 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7cc3fddb sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8802123a sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa8620f71 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xb3b619c3 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbf0df5e8 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x416d1dda ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xc26947da ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x02174795 capi20_put_message +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 0x2b8eab1f capilib_free_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2baa6586 capilib_new_ncci +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31181dab capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x38ac7fbe capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x47d3fc51 capi_info2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4a15f6d2 capi20_release +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 0x8a6951b3 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9f52d50e attach_capi_ctr +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 0xb9558767 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc10fe128 cdebbuf_free +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc64b6b33 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc91fdc27 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xcaeea3e6 capi_ctr_suspend_output +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/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x148f0c99 FsmFree +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x5aa03c46 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 0x49a70d9a isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xafb8b021 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfb2faff6 register_isdn +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 0x00e57dc0 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x02f2c9ae dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03397a44 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x220a8d0f mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x48b031f9 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4af69a10 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x54045e13 get_next_dframe +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 0x5d027ec6 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e0f95e0 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5e2741b8 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6482e1b2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6da1c789 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7014e6b4 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x84011ade mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x891f3fe3 queue_ch_frame +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 0x990ea392 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa294f478 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb8e77df8 create_l1 +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 0xd710a1cb mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdf121836 bchannel_senddata +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 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfc4fc038 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd26a371 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd986e4a recv_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 0x4d975d95 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x704d0e79 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x83962df5 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xe4dc67ef dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x40b752a1 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x45737373 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x8222ef69 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xc10bb139 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd2b2b790 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe11213bb dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x4aad0893 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x1d42f88f fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0xe0ad6826 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x454f0d38 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x1407a210 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x54ab32cc mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x43a4516d mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xa80e174c qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0xee150922 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0xbc26805c tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x0fd30e3d 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 0x5cf39944 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x0c6abed2 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x0a0240d7 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x37278a4c flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x379be1e0 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x69704219 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x85fa9d04 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa5d1b5ee flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb0fc450a flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbdd00c19 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc91973f5 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xdddb778f flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe9f4d94d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xea4b85da flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf69e60e7 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfe6094ac flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x063f486c dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c98f0ae dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x15304ff1 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1f363415 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2f2786d0 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x335fa807 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x46c008ee dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x518c4119 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5762bbfb dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6131d762 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6225816a dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x687066ad dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6aa21a01 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6c7577a0 dvb_dmx_swfilter_packets +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 0x7a854509 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x7afe6a08 dvb_register_frontend +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 0x90b3c91f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x926fe399 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x961239a7 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9a659643 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb3297434 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb4460002 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xba616e61 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc1c55d6e dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xc3a499fc dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd42d1f59 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd9f730f3 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe2580c5c dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +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 0xfb25f454 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xfd1885bd dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x024c5350 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0fd66b83 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x60fedb14 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x65f436fa dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7284e528 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xbd950ef7 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xdd8d617c usb_cypress_load_firmware +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 0x23388685 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 0x06851e82 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x267bdbc0 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3cd1bcea dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4e506b70 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x53a1a353 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x588f5b95 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8d19c3e8 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x94cceadf dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb1c17d96 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 0xb6056945 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbb11a5b6 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x395ca0ef a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x985bf935 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x40d3e24c af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x26e535dd atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x194c52cf au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2407d208 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x49aa8dff au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x4b13a6bc au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x8945595f au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x98a43d2d au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xa49f0cf5 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe606dc9e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x51bbcdaa au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x56a22cc6 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x808d306b cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x3a473375 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xcf225df5 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x578cfc10 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x81ac2d86 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x2ccc1c55 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe7e7eee5 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe87dc472 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x2d7af6b0 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x4989f51a dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x62a48666 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x7b827607 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xae75af66 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xaea8cc39 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0045510d dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0a48572f dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1a17de3d dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x23008da1 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2d7c0030 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3b178874 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x65c5a08b dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8af5d19e dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8b297acf dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x971b57af dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaa3727b5 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb64a0d89 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xcd67c188 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd57e427d dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xda1436d2 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x08bd4892 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x0ab417c9 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x47b87511 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x59a5a63a dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7335407a dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7a4937a2 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xeb20b9d6 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x4da27065 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x548bc160 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x5b91871b dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xd9b87f47 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x21b078ad dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cd23360 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5a422578 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x6a5f0fc1 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x82b94c0f dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa0a4ca59 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xaae3e66b dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbc805919 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc16ddfdb dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc97e1698 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xce1b084c dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd619f67d dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf8205a42 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf860cded dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xfe6fa3e8 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x03221a02 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x11b73134 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x1f9a3e09 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x357bf69a dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4891cde4 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5de6d53f dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x66f47ef1 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x710583e5 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x736696a3 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x741ecbbd dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7a989216 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x94d6ce5c dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa8c1d339 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xab2ffd68 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xba9e2e8f dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xcb5c461a dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd7283ce8 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe7018960 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf5c32251 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x02ae4d55 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x0edd6c8e dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x114b7dd2 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x45bbbadc dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x4a2d419f dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0x92839d8f dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xa70b3d58 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xbb90a182 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xbbe3111c dib9000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xd5b7a2cb dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xe1759b5f dib9000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xe8dd6079 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xfa7f68b8 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib9000 0xfbc5dbe0 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x56d290a2 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x6e098394 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x702395ed dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x789cccec dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x91deb013 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x4798838c drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x7198c735 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xb0858c08 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xd762e57d ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x1fd86d3a dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x5aca23ae ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/hd29l2 0x03191010 hd29l2_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x1e072bed isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xe8ba5f2f isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa64d5728 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xcca4371b it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xdc92569c itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x9f73e6bf ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x64680058 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x9ad3cd0c lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x6fa63b07 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x5db648ec lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gl5 0xa057a377 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xe663cb83 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x570e804a lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xddd1059d lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0xb15acf28 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x5f5482f1 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0xa6ecab43 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x31a8b3fe mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x47b3e1b3 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xfe051be5 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0xe0b8b750 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xb3a69b7c nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x7cff32c5 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xc5c343e6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x6955fe31 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x7fa80d3b rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x01dc9240 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x0e88bd03 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x38f4ffe3 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xb56fc729 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1432 0x9c40d3d2 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xc715ee48 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x18b232cd si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x96479c92 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x31e73527 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x6a80d0b2 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xc9e45331 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0xb70cd042 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x39b53b98 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xb03701b3 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x40219331 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x54e20779 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xce289f56 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x9e6ef935 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x019c3011 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x6473a687 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x3d8ea7bc stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xdd391e83 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x68a08a0f tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xebe183b9 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x1a994621 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xad3fb6cf tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xcd06ff40 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x9b75223e tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x1b4e2b0a tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x95bc73aa tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x0f758d2f tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0x53a473bb tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xe574e10c tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x812842f4 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xb515bceb ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x17e11d4f ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x06972501 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x9f0ac85a zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x3d1cf11e zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xb0d4b5df ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xc3e4c127 ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x418991c5 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x5d09e054 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x911de157 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbb84ba3f lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xbf765ae8 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd1bac5a0 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf150fc9b lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf44c6aa1 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/rc-core 0x37395221 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x866068b8 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x663c3eda cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x6f58dfad 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 0xa301b224 vpfe_register_ccdc_device +EXPORT_SYMBOL drivers/media/video/davinci/vpfe_capture 0xc91290ca 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 0x499fa818 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x6b61a9cf em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x0c5e30e1 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x13ff3fd6 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2b16c787 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3c898161 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x45eee790 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8afd3f1d gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xadd2910a gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xccc672d9 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/soc_camera 0x06ea82de soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x40263911 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x9a99ebdb soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xa3dad206 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xb015810c soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xead9ef49 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 0x009f4586 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x1d7ba03a tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x306df5ba tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0x015e4e87 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xe2dac654 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x35e27fd9 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 0x5e62e92d 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 0x503d77bd v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x7e706a78 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xd1edaa66 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x39cfd062 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5d22f45b videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xb031b649 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe2c1148d videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe44a5c10 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xe58367a1 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x5840bac5 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0a6e4be1 v4l2_subdev_g_ext_ctrls +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 0x19566ceb v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x1d16506e v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x1db63a47 video_ioctl2 +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 0x28e32207 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x3376469b v4l2_ctrl_poll +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 0x44c4d00d video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4dbba368 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x5585d9c2 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x567f627d v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x641c4671 v4l2_ctrl_find +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 0x77a5172f video_device_alloc +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 0x89537bde video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x8ec099c2 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x91f38bcb v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x96c3a076 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xa0c94245 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa2342123 v4l2_ctrl_new_int_menu +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 0xb99f2daa v4l2_subdev_querymenu +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 0xc69b1207 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xc86d3363 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd149639d v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xd353b2b0 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd785a33c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xd7fdd8f5 v4l2_ctrl_sub_ev_ops +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 0xe2b92059 v4l2_video_std_construct +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 0xed244388 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf3fa4246 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xfb959f0c v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0xfc74c271 video_usercopy +EXPORT_SYMBOL drivers/memstick/core/memstick 0x034433b2 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1b7c50bd memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x20c5726a memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3bd5a124 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3cda5520 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6bad9301 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7479a0ac memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8031c323 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa4f58e4e memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc062c0fc memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xc67ba91e memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe3691d10 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf72940f3 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf9004e25 memstick_remove_host +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x8bfd1dae pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xc46a54bc pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0c89d32a mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x13862de2 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1cffda0e mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x41c27171 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f7d36c8 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7cae2548 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9ac37a25 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xafac418e mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb4b2e23a mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe0e41389 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe2795a05 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe36e72c4 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfab5deef mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/tps6105x 0x548b1367 tps6105x_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0x61965bb8 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xaa7ee4ee 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 0x441bbefa ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xa9970e3b ad_dpot_probe +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 0x1d2a2307 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x8b4fcefd c2port_device_unregister +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x00f2e3a2 dw_mci_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x4338a7ac dw_mci_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x9f0f9443 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xcdde4862 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 0xa4623e9c tmio_mmc_host_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc1b4928c tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xc86c925f tmio_mmc_host_probe +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xe9c3b93e tmio_mmc_host_resume +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf02062dd tmio_mmc_card_detect_irq +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xf921f1cf tmio_mmc_host_suspend +EXPORT_SYMBOL drivers/mmc/host/tmio_mmc_core 0xfa192330 tmio_mmc_host_remove +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x68bde2c4 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb3ab225c cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xce8dec41 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7c540c21 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x82834723 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x2ae9dffd onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xaa5a05d1 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xdff3d5f4 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfdaa1532 flexonenand_region +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x36e8a267 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6def13d4 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa5ed67f9 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbe42cb66 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe8bfdbc3 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x31a65a15 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3d946ead sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6621e0b1 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x92fe2d7e sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x97803886 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x97934458 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xae6dafea sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb2c40cff sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb5febc8c irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf24001be sirdev_write_complete +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x48b5494f free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xcd774f47 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x53b16470 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x812dd8f7 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd2639075 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/wan/hdlc 0x104d1825 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a65d090 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5196accd hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x85ce173f register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x92c60b40 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa6d80125 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaa5d3d4b unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb45b57cb hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd77042fe attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdbfbebcc alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdc0a771e detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x030cbfc6 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x089a294c ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x14896ce1 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x192be631 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x300491d4 ath_printk +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 0x53078ea8 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5cf84543 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc1dea9f0 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xca35be2d ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xde6e88a2 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x02655402 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0646aa54 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x200555d4 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x319becf0 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x644345c1 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6f8f8f21 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8a38ee71 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb66a8569 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xce130bdc ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xdd324c93 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x25594f39 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5716d31f 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 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd437cc9 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf864f9db ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x078c4bd6 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x079d26ab ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c770cc0 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d789fd2 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e7cefbf ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f8d67a3 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x130a9a7f ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13705518 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2020e8bb ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2598f364 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27d4612e ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29c909eb ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2b8a1d87 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c4d1a2a ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e389109 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x35975dd1 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x361efa27 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3cb4ba92 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e67e595 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3fc80366 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x42e48f7f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x473b3a61 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48c5c168 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d52b4cc ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x565d1fd0 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57518b38 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5c27a0fa ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62fa9225 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x638be500 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x650f84ed ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67ecd976 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6873b14e ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c1a1cac ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c6eb51b ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c8ba66d ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6f5d01a3 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70ce0aad ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70e1549b ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x743e6b60 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76007a15 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78328805 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x794283e1 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7acd5b1d ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c145009 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fcc6e4d ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x898926bf ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8daa3497 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98b46218 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b276875 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c359b1a ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa25cd602 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa299e289 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa38c713f ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa503b44e ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa762e6c2 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa949b6b7 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa96070de ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa624576 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xacfbded0 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf8877a8 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1e4e4bb ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2a06260 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb372ec63 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5ab4b93 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb674696b ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9e5a42f ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbcfd4651 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbebd3a21 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf76d552 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1ee6148 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc335f7ee ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3f95012 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5490c3c ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7309472 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc859cbdf ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd130db6c ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd1bf56d3 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd40d41eb ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd63af08a ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc5e2e15 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc85cb6b ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdfedf11c ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0340a54 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe07da283 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe4e1eba0 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe67a8b0d ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe718f66e ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee2cb6bb ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf3eefdd4 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9c99b8d ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfad19531 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xffa488ac ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x1fec0a51 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x7b96eb77 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x4bcc5e34 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x69ab497c brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x76e6a26d brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8caebf0b brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x95311c28 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x95dc3b6c brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xbd274321 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xc120f4f2 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xca71785e brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xda2d6c3d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xe43884c3 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf06805af brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x12117fa5 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x15f6a2d5 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1d95858e hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21227aa6 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x26bd7486 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3d3d380f hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x41546e31 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6852e098 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6d64b789 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x72929b59 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9519606f hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa8f3486e hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaa08b83b hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xafd661cb hostap_free_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 0xcd098686 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd1eb3581 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd64132e3 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdfcd4267 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe1942882 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe6a5bf93 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xedccf4c0 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfbb6e217 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfd9d6279 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfdb4fddd hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xfe90894f hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0c860237 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0dffb154 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1815a261 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x21ae0ed5 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x25bee9e6 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x304212ab rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x33dc6832 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3a1593db rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3fdacd4d rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x41b349df _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x445cce8d rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x46fc8b13 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4b857dcd rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5422a105 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5bb9b098 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x60ab3298 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x660bf550 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6678cee3 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6b25b0db rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6c2dd032 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7bc9c0b4 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x84f30658 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x88daf379 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9b9fe179 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xab556176 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xab7a15eb rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb11e7882 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb8904f94 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbdbaea5f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbfaf284c _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc0a96534 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcc6a0f25 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd0174489 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd6ab68a9 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdf887fa0 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe455aa5e rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeb58707d rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeea167d7 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xef230a06 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf20dd610 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf22528e4 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf5eae42c _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x07b705ef rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x09770980 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0c87c133 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x25cfa935 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3907e709 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x39e90ddc rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x41787fab rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x563668bb rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x57be3788 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5c22f323 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x635b575a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x671ac49e rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6ff7173f rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7fd3eb28 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x84aeae77 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8656864a rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8c64cfa5 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xafa9f782 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe0f0caff rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf3603763 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x3ab17ff5 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x799c09f4 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x09db9162 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x2a7f137f parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x2eb462c6 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x2ffa0c97 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x39a0e6b5 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x3b847c04 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5000dea0 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x526f1d5e parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x560323bc parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x5648b540 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x658a8182 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x8120c2a3 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x849d7b52 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x8cc62da1 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x941a65d0 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xa19ba5d7 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xbede8067 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xc6788060 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xc7d67ce9 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xc7fa1b12 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xd98f567e parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd9cd7338 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xdd060281 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xe4dd8cb5 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xecc15ba8 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xedd89895 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xf7bee0c9 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xfbd8327c parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xfd608f87 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xfdc426ef parport_wait_event +EXPORT_SYMBOL drivers/pps/pps_core 0x34bfd074 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0x429cdfb6 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xbe9044f7 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xc888e601 pps_event +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0aa6f329 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2b5e7a75 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2e6c42bd fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34deee22 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4e49d4e5 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x93256015 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xae7ebea5 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbbe9e1be fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc3322379 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc7a146c6 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xeb0acd92 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00685e8c fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x050bbdb1 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09797c66 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0fa46676 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13370499 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x177c41d7 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f46149c fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x238371d8 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x26e9025c fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x289ca4ae fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d2f9bdc fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2fd0f0f1 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x31535530 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x335bcefd fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x35513808 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45b7b0ff fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x484473ea fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b2041b7 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4dc91c40 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e34ac30 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b1b54f4 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b5eadc7 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x683004e6 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d496027 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x746257d3 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7855cb43 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81f5c1d4 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8364df26 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6bff20c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa86badaf fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac071a3a fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaed2ab10 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb023694f fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0aafb37 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb20c2d74 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4552adf fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce992ef0 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd065a6d7 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd1598559 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3bc1ccc fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xda5d2d37 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdba7029b fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1bcfba8 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe82b85b3 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9305e7b fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe9eefcd7 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xee9b0821 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf79c7b92 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf8a96c8a fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfeb4ac17 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x8a87e724 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/raid_class 0x6a22617e raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xbd6e0e14 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xc45dcdc1 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x148a481c fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x294a835d scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2eac5ac2 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5e340afd fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6a130f3f fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7c68a309 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8b4903c4 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x96ab6da0 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa294c4a9 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbb736462 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdcec2eeb fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe2a0e2de scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe50a5e35 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x041d8c81 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c563fb5 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x196fb9a1 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1d84cf89 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x245fa53d sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2c327544 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4082c194 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45e2c23a sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4ed8c63f sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5fb9f6d4 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x714c88f1 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x94d622c3 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa25ac40f sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6badcae scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6cb7747 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab8ae446 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb0f586b0 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb13304d6 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb2efb56f sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb4f7edcd sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbef322c5 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc00ecef8 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd792c62f sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd9ad9246 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdb6a855d sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdbc0da14 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe4c53d3d sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc4a8a32 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x13624126 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x637a9fcf spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x924e9c26 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xae9bda14 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe72788ac spi_schedule_dv_device +EXPORT_SYMBOL drivers/ssb/ssb 0x15d9ab82 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x2ace36bb ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x31d5246d ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x4293c409 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4ed2804f ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x52e78e2d ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x537aaaa8 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x6d916325 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x70fce98c ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7316fcc4 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x918c3193 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa37df078 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa44a475d ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xad59e4aa ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcebb6e4c ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xcf21b490 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe41dcedb ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xe78b72b0 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8f2c2b76 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8f871551 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xe006ab35 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xed8a9888 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x64d71cc6 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xf3802bdc iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x7178c086 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xd5865d6e phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0425807d target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x12945675 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x1814e1b5 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a343690 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b3a5d90 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1dd22729 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f24091f core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x21d17179 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x294f08d6 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x2b37e983 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d377f20 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x3ceb883c transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4490883a target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x46a09080 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4d5f51fa target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x4f91cc93 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x5430a2f7 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x54412b35 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x5780e204 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x6ec70f5b transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x6efd33b2 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x7180f855 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0x718ef193 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x728ed01e target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x75340814 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x7599e3ea iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x76a7e059 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a26d8a6 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x83ddf06f target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x84b07d0a core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x8738ffaa target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x876d477d target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8ef09398 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x91658d03 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x93ca0ae5 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x94805924 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x955bb1a0 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9683568b target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x9fe16b75 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3bdf7a9 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xa4d199bf transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0xa7ace478 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xae8361ae core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xafc79c6d transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4e846d6 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc044e793 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc49c5134 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc87ce4c0 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcaeb3512 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xcb882282 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xda0d02fd transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xda438489 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xe025dab2 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xe70491e3 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xeb7dd075 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3453d0a iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3b6eb40 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xf41f8230 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb4bacd5 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xfcc37950 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xfdefb692 core_tpg_deregister +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x8d68f2a7 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x87807bda sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x05b2108c usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x07da1d0a usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x15598289 usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3489bac6 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x42359d73 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4fc0cd27 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5d0021fc usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x68e634b4 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7dd60d2e usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbde557d6 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc662a465 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xda528847 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdb09c7c1 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeea847d9 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf3f5a71e usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x6caf08c2 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x9bd6fa96 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x74fd88a9 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xdd6e0cbf lcd_device_register +EXPORT_SYMBOL drivers/video/output 0xaba46453 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xb3722d93 video_output_register +EXPORT_SYMBOL drivers/video/syscopyarea 0x0e85afcc sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0x66ce3df0 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x06509f30 sys_imageblit +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x9f38d657 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xa0d41cc6 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xe0e66e0a w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf453b7ca w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x0be3eb64 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xcfb43bea w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xfc1d6660 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1342fd70 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7b0c45bd w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xfe57b8d6 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x33ee4aa5 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x6299d1b4 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xeb63f569 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xf8507dd4 w1_remove_master_device +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 0x1074bf38 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x15b33ac4 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x3be87079 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x3bf16352 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0x6ba63918 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x7475e5f5 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x8370eef1 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x9d9e348f config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xa4fd2c3b configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xab64fc36 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xf0d1b8c3 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xfb52e8bf config_item_get +EXPORT_SYMBOL fs/fscache/fscache 0x0542c0bb __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x09b83319 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1e467b0b __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x29ae4e36 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x2b5909ff __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x2f06b9a7 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x3681959b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x394c16e9 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4421175c __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x47e9c39d __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4aeaf626 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4af8b86f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x6098c2d7 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x722f4bdd __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8bf41663 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8f34e1bb fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x9b4ab485 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xadbf5a23 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb0b67ceb __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xb13ef874 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xb1754ae3 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xbc725757 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0xcf52ed7e fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xd68915e5 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xf132e0ed fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xf7be01d3 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xfcb01271 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 0x1c433e1b qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x744c7ac0 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x802e86a0 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xe1b68d98 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xf78a229b qtree_delete_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 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 0x7098d686 register_8022_client +EXPORT_SYMBOL net/802/p8022 0x988a36fa unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x6e6f5979 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0xead16051 make_8023_client +EXPORT_SYMBOL net/802/psnap 0x0b980fed unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x97de932a register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07013c09 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x09146217 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x0d17b4fe p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x22b90756 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x2754fc9e p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x2864ee9f p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x2d4f3631 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x37c3adec p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x38f25524 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x393c8eee p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x3ac9f138 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x3ca39c4d v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4118eb62 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x56284894 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x5a37d1d5 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x5cbffd54 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x6ebe98ba p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x701f3648 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x735cdf9a p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x7b17adfa p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7cd3b3bb p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x82bcb708 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x83d95231 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x8839d58e v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x8e5806b6 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x9d0eba8a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x9d116e46 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9e0b8c8b p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xa4fad243 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa510d058 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xb0daf040 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xb1a597a4 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xb64b50ef p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xbc75758c p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd1e88320 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xd33101a5 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xdb478d17 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe52932b3 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe82aa82d p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xea3a8e5e v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xf2ef6923 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfba209f6 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/appletalk/appletalk 0x1aefa747 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x54752030 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x63c12bb2 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xaaf49682 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x134a6598 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x1e3efea2 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x30cb8515 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x34555838 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x50b58b9c vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x534b76d5 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x57ab7a1b vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x5f2569f5 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x6840d2b6 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x86b84625 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x8f0162a0 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x970e2726 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9ea56fcd atm_charge +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xc6555932 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5eab1ab vcc_sklist_lock +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x02dd1444 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x20ebc6da ax25_find_cb +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 0x608da8cd ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x62cbbceb ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x62fba993 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x69cb98b5 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7f7d1a74 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x8aabacfb ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa300ac4a ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08bcaa09 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0e485682 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x11aa1a7a hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19f38a19 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ce4af1e hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3345f03c hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x352783e7 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42948af3 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47dddd07 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x49331711 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d0d912a bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4df78196 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d8590b0 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64751b1f hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6551b3a1 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x74e93149 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7506c1f3 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x775a584b bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e82ee92 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x89078de1 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d2bef76 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8da1953d hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9347d177 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x952a0124 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9abd159d hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa4275103 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6c1ed96 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6e78c46 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbae54c4b hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbc0735ab hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbd210841 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbe4cebd6 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc0c3a8b3 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcd6b9182 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd213d059 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd8b8e724 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2f04759 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf31fca8d hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5e54565 bt_sock_poll +EXPORT_SYMBOL net/bridge/bridge 0x9be81499 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x28a988a0 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x93f58c82 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xdff98044 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x081a419a caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x0fa52b26 caif_disconnect_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 0x365c567e cfcnfg_add_phy_layer +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 0x73ab9119 caif_enroll_dev +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 0xa46948fd get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x05bc7bd3 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x6b897565 can_rx_register +EXPORT_SYMBOL net/can/can 0x6f3d5fc5 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x89263d3c can_proto_register +EXPORT_SYMBOL net/can/can 0xbf9e7031 can_ioctl +EXPORT_SYMBOL net/can/can 0xe82b1c47 can_send +EXPORT_SYMBOL net/ceph/libceph 0x04ab2e4e ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x04eb793f ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0efaef1e ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1b6e9c35 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x26b0d7cd ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x29599423 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x2bc2b7ce ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x2d94d503 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x30acb873 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x3201b8d0 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x35563310 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x3566de89 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x36c75acb ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x3aa7047d __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3da07ecd ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x3e84ca61 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x443f1c1d ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x48124b91 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x4da2b819 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x4ed246ff ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x55cb00fa ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x578dc930 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5fbdea15 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x60f0a7a4 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6518503b ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x67a182c9 ceph_osdc_wait_request +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 0x6fcf1a1e ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x70a49b43 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x7437a5d1 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x764ef447 ceph_monc_stop +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 0x7a2ce24d ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x7ae83115 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7dc94b69 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x82a1660d ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x85a3af37 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x88567ecf ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x8c7f8ac0 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x9a73f475 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x9c0f49b8 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xa6f8c12c ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb3d82f14 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb6f0860c ceph_osdc_new_request +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 0xc512c6ef ceph_check_fsid +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 0xd61955f1 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xdbffa290 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0xdec68805 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xe51c152c ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xed6bacc1 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xf048e175 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xf3e582e8 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0xf5920164 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf6ff63f0 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xf7d927a6 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x4d46bd62 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4b786dbf ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x50521733 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x55bf72a8 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8e849c01 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x92b8a342 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9d40a348 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xac5c95e3 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb1c51bf7 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xbc1d53bb ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd1e72142 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd5492e62 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd7deae28 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe2f67e5e wpan_phy_free +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x47c14789 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4e0c818c arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x9f529b64 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x50da218a ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa50d33d1 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa8be2031 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4776c707 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x57568c63 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x9f21d84d __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa1ff83ee nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa4ebe6ee nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa7da3d29 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xb315ba22 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0xc5345b72 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xf3154799 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x070ef588 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x23fe7bb2 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8e8e997c ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xa3fc8e55 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x251d390d xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x3ab4bfb8 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x68537476 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x6ab4a2ba xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2f78b9fb ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4102bde1 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8151ddda ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x9a234ae5 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xa53ab733 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xac74836f ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb6a8c6e9 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xdad9fd1d ircomm_flow_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 0x0cf804f1 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x108e00dd iriap_open +EXPORT_SYMBOL net/irda/irda 0x19f13dd4 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x21b5f043 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0x22caf86e hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x242cd3ec irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2573aa78 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x2bd933c4 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x2d3765bc hashbin_find +EXPORT_SYMBOL net/irda/irda 0x2f5dd63f proc_irda +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x38bd4f33 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x3bb318ea irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x4479ef51 hashbin_insert +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 0x538d5d22 irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0x572583cf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x5f55c3a2 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x5f65cf2e irttp_connect_response +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 0x70cc035b irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x7187a065 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x74c6eb16 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +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 0x8def7779 irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x8f843350 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x8fddef96 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x91a9c759 iriap_close +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +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 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xbf285a4c hashbin_get_next +EXPORT_SYMBOL net/irda/irda 0xc0ce2aa7 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xc3a512dd hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xc455a476 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xd63aa94b async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xde638ecf irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0xe974b4c7 irlap_open +EXPORT_SYMBOL net/irda/irda 0xec36f392 irda_device_set_media_busy +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 0xf1da20fc irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0xfe7d3b90 irlap_close +EXPORT_SYMBOL net/irda/irda 0xff00d16f irlmp_close_lsap +EXPORT_SYMBOL net/l2tp/l2tp_core 0x0a153add l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x06e68689 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x0780426d lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x26b100df lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x44f5390b lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x876c5b5b lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x8a595590 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x9aafd8a0 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x9e044135 lapb_register +EXPORT_SYMBOL net/llc/llc 0x0affe28d llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x281cdd51 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4362da53 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x70ca1ab7 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x90bd9ec8 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x93176e1b llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x9656f8a0 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xee21218f llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x0081853a wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x04bb1638 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x061de448 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x06faf1ce ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x08b27ed0 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x0b369552 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0c4e34fd ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x16029408 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x1929f777 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x19a21652 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x1f2d91d0 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x215bbe6f ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x26433b99 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x2b1f3ddc ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2c5fd33a ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x2e0578b2 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x31c106e7 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x392505e2 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x3be79697 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x52f15c8f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x566b8437 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x59a31e03 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x61080870 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x695e46c4 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x6aa4e7e9 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x7159fe8d ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x73f8fcff ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x745d072f ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x7bfa2381 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x852a5923 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x871193a6 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x8d5b1dd0 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9078d7c4 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x94b6c076 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x9d19df52 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9f211885 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa38808d9 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xa3aa1bc2 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa67860df ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa67dbe19 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xaa7b3a46 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xb2c9032f ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xbe14422d ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xbf770e0a ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xc0c6cc96 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc46be824 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcd53166f ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xcdeeacc1 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xcf85fb97 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xcfdf17ee __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xdc56f7ea ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xe01e89f8 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe5c71943 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe64822a2 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xe7da1a5a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xe9be5d91 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xeab255cf ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xef0a4ccf ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf302fb15 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xf9b524f3 rate_control_send_low +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0edf99fe ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x12ee4140 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2a08b7d6 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2f9bc442 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3fb6d25b ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4eab1425 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5bc72a59 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x61f8a4fa unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8489ba10 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x944e8042 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xacfcc56c register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc5933a3f ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xca9dffd3 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd2e2e3c3 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x8172db6d nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9c839e7d __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd9400dd6 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x4073a0e7 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x04fcb5ac xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x5abc5c6b xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5d86e64b xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x638ce585 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x9886a587 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9e00f54e xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xad862199 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xd0d0b924 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe67a8d46 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xe9114178 xt_unregister_matches +EXPORT_SYMBOL net/nfc/hci/hci 0x0cef3d0e nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x104ec2d6 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x12d560ba nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x18b40fa7 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x1b412417 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x302827bf nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x3bf857b0 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4ac8c4d3 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7897b6e4 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x8c21a8e7 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x8df48390 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x941f3ac6 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xa60c0985 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbbbc3a35 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc5ea5599 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xc69f14dc nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xcb7a2573 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd6eb3264 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xd8fd5c58 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0xdaf32480 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xed8ba2af nfc_hci_send_response +EXPORT_SYMBOL net/nfc/nci/nci 0x3a9d1ec2 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x746087a5 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7b7f86e7 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x866e4c44 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc347868b nci_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x260e537e nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x485e4452 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x4b2bfbb3 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x60754061 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x7c8e29f9 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x8852d7ef nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x8ed3b828 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x927da42b nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xa22e0541 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xbeb891bb nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xe2ea4797 nfc_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x1291f1cd pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x17fb4525 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x3a0d074a phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x493633a8 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x4a05e4c3 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x624f1436 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x853e9747 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xbb96bf64 pn_sock_get_port +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ea2b260 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x172b7cad rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1b367d97 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x30e1418c rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x3740eccc rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x52d9dfb0 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5ba76be0 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x80673e4f rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x86450382 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x9bc62865 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xaf8a4cdd rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb1a91367 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe595862f key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf0128be2 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfcb413bc rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/sctp/sctp 0x2c190f11 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xf2747ad2 svc_pool_stats_open +EXPORT_SYMBOL net/wimax/wimax 0xa14f43ca wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xc2588b80 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x035016df __cfg80211_send_deauth +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 0x0a5df51e cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x0c4afc2f ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x16cae2ac wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1f77d777 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x2282f109 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x237434f5 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2966c0ca cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2fe6f578 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x338f3560 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x33fa4818 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x370897a3 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x40d0eb4f cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x424d189d cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x45f0cb63 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x49ebe2df cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x4a70f6ec __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x54497fb0 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5fd2d7e7 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x6093edba cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x66a772eb cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x69cbd3ce cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x78952159 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x7a264052 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x7c8cad8a cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x7cc167f7 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x7d870d3f freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7e7368ff wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f206a50 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x854066f3 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8cca23b1 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x90691b3b cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x960f8df1 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9ad662f9 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xa036a85b regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xa155c2d8 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa3940ad4 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xad0ac795 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb4ce5a1f cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xbdace785 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xbdd8d392 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xc502455a cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc83ae83e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd210308a wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xd4b401f4 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xd772fe74 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xdd68fc5b wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xe4022c9d cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xe49ec50a cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xe74127bb cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xe8348709 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xea7cc638 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xeed6e831 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xf3a38e04 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xf482f9c4 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfdfcb642 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xfee65cfe cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x6a2dbc55 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6bfc7bb4 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x83fe7b56 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x96b8e28b lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xceca6446 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xdc14cb48 lib80211_crypt_info_init +EXPORT_SYMBOL sound/ac97_bus 0xc924bbb9 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x5b3c1dec snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x19b43c4b 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 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 0xcac0a3be snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe174aee9 snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xea3e9406 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf893d4d6 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x4ea6a042 snd_seq_device_register_driver +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 0xe640ff20 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 0x101a2e57 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x3cefc9b4 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x020ad8f2 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0eadfa77 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x152144e2 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1dda0a13 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x304343e6 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5cfb2e07 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5ebf758c snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x68577c7c snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x71a32cd8 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x93790b0e snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa97a719d snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb07f172e snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbe815c32 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc21a0248 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdd63ba60 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdd726258 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfd2b6181 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x50cf1104 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 0x0b8d33c5 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0d2a5f8b snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x29483583 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4e998e7e snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x52b3bc71 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x542f0929 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5e1aaef8 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x663c0bd2 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6fc84a5d snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x857542d9 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9063c3d4 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x98a68d68 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbe3d3807 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc2b87960 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcca66408 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcd7cf710 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf3477a7b snd_ac97_set_rate +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 0x740854b5 snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x0003f34e dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x0007eb08 nand_scan_bbt +EXPORT_SYMBOL vmlinux 0x000a82fc scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x0041e83c register_quota_format +EXPORT_SYMBOL vmlinux 0x0051fbfa of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x00630784 netif_napi_add +EXPORT_SYMBOL vmlinux 0x007132e9 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x007e0fa2 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0081030e omap_vram_reserve +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00a2c4fd genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x00ad311d __napi_schedule +EXPORT_SYMBOL vmlinux 0x00ccf4d9 sock_create_kern +EXPORT_SYMBOL vmlinux 0x00e3646c snd_jack_new +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00ee3685 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x00eef49e __strnlen_user +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01206d17 snd_pcm_limit_hw_rates +EXPORT_SYMBOL vmlinux 0x0129e6e1 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x0131c856 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x01424f59 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x015218a3 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x016515b2 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x017456b2 nobh_writepage +EXPORT_SYMBOL vmlinux 0x0174841d con_is_bound +EXPORT_SYMBOL vmlinux 0x018d7d55 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x0195ae5a tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x019c0777 sg_miter_start +EXPORT_SYMBOL vmlinux 0x01a3d310 omap_set_dma_channel_mode +EXPORT_SYMBOL vmlinux 0x01a55b65 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x01cd393f ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x01cea563 lookup_hash +EXPORT_SYMBOL vmlinux 0x01e8eedd neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x01fea6ed usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x020835a1 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x0210e5e2 may_umount +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x02187acb mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x021b80be end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x0232f0a1 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x0238d92e bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x02450a6f module_put +EXPORT_SYMBOL vmlinux 0x024bf88f omap_modify_dma_chain_params +EXPORT_SYMBOL vmlinux 0x024c5e2b netdev_change_features +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 0x0271af9c netdev_info +EXPORT_SYMBOL vmlinux 0x027e24a2 fb_set_var +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x0289743f of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x02a0d156 gpmc_prefetch_reset +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b8b3ea dquot_acquire +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f7acb5 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0302c48b idr_destroy +EXPORT_SYMBOL vmlinux 0x03051c82 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x030f02ef skb_checksum_help +EXPORT_SYMBOL vmlinux 0x0312aae6 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x031786d3 sock_update_classid +EXPORT_SYMBOL vmlinux 0x031ba9bf atomic_dec_and_mutex_lock +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 0x036edc84 __find_get_block +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03813ee8 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x0384fc59 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x03a7452e call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x03bb46c6 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03e1ca3d twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x03fc037f netif_carrier_off +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04194aee nand_scan_ident +EXPORT_SYMBOL vmlinux 0x041bfd7a inet_select_addr +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045b0075 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x0491b6ae input_free_device +EXPORT_SYMBOL vmlinux 0x04ae1a7e tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x04c47134 of_device_register +EXPORT_SYMBOL vmlinux 0x04cb6240 files_lglock +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04e43b4d simple_pin_fs +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x051c31a6 vfs_unlink +EXPORT_SYMBOL vmlinux 0x051ff3aa vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x052988bf inet_shutdown +EXPORT_SYMBOL vmlinux 0x05304ee3 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x05590baf blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x0582464f sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x05887184 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x058db3f5 up_read +EXPORT_SYMBOL vmlinux 0x05a57ee3 genl_notify +EXPORT_SYMBOL vmlinux 0x05a9f870 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x05baaba0 wait_for_completion +EXPORT_SYMBOL vmlinux 0x05dd498e submit_bio +EXPORT_SYMBOL vmlinux 0x05dd9ac0 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x05e1b447 snd_timer_start +EXPORT_SYMBOL vmlinux 0x05e68e6f kernel_listen +EXPORT_SYMBOL vmlinux 0x05f7fb04 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x05fae862 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x0600178a fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x061277e8 set_page_dirty +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0629f11f register_sound_special +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0640f1b5 tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x06489559 kill_block_super +EXPORT_SYMBOL vmlinux 0x065addf9 write_one_page +EXPORT_SYMBOL vmlinux 0x065b1510 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x065e9734 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x065fbedf bio_kmalloc +EXPORT_SYMBOL vmlinux 0x066820cc udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x06727320 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x0685053d __brelse +EXPORT_SYMBOL vmlinux 0x06b97d24 snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0x06cd6023 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x06ea8aac led_blink_set +EXPORT_SYMBOL vmlinux 0x06fc1425 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0712feb1 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x07189e3f tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x0728568a __dst_free +EXPORT_SYMBOL vmlinux 0x07571668 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x076f5fde tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x079119a7 kthread_create_on_node +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 0x07e948bd tcp_make_synack +EXPORT_SYMBOL vmlinux 0x08091404 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x080e5e6d __neigh_event_send +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084c4680 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x0854d805 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x08a7884d jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x08ae76be generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x08b145f1 bmap +EXPORT_SYMBOL vmlinux 0x08c02d2c splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x08d4bf7c security_d_instantiate +EXPORT_SYMBOL vmlinux 0x08ded414 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x08ee492a tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x08fda2ce journal_extend +EXPORT_SYMBOL vmlinux 0x09259b5f lock_may_read +EXPORT_SYMBOL vmlinux 0x09360eba omapdss_dpi_display_enable +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x09514b1e register_md_personality +EXPORT_SYMBOL vmlinux 0x09535974 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0995195d phy_start +EXPORT_SYMBOL vmlinux 0x09a6d695 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x09ad3552 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x09b058f9 cdev_init +EXPORT_SYMBOL vmlinux 0x09b43d79 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09cd3932 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09f1e264 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x0a020678 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a47bfd7 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x0a4917bd bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x0a7e1c5e tty_vhangup +EXPORT_SYMBOL vmlinux 0x0a8648e7 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x0a8de6b2 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x0a94b4fb kernel_read +EXPORT_SYMBOL vmlinux 0x0aa13d05 __raw_readsw +EXPORT_SYMBOL vmlinux 0x0aae1b1f dquot_release +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 0x0ae56306 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b14fa60 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b351ada mempool_resize +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b69a29f down_trylock +EXPORT_SYMBOL vmlinux 0x0b701dcc twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b90e80b proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x0bb04e84 find_inode_number +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be8f5d9 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x0bf6675e __lock_buffer +EXPORT_SYMBOL vmlinux 0x0c09b60b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x0c1af3b6 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x0c35f2c6 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x0c4c5b08 read_dev_sector +EXPORT_SYMBOL vmlinux 0x0c5029a9 seq_path +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c5ce061 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c70c408 pipe_lock +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c938ca0 pid_task +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cc89c8c eth_header_cache +EXPORT_SYMBOL vmlinux 0x0cd2ef66 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x0cd5c69a generic_setlease +EXPORT_SYMBOL vmlinux 0x0cdd158d sg_alloc_table +EXPORT_SYMBOL vmlinux 0x0d22d11f get_unmapped_area +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d619563 __register_chrdev +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dd3c424 skb_store_bits +EXPORT_SYMBOL vmlinux 0x0de1ca67 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x0e0bb554 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x0e1afdbc sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x0e2106d2 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0e235250 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x0e42f9e0 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x0e47e2db genphy_resume +EXPORT_SYMBOL vmlinux 0x0e62e9ee seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e84fc85 inc_nlink +EXPORT_SYMBOL vmlinux 0x0e893437 lg_lock_init +EXPORT_SYMBOL vmlinux 0x0e8dce9e tcp_sendpage +EXPORT_SYMBOL vmlinux 0x0ea6e043 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x0ec8e2ea __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0x0ec98808 ida_init +EXPORT_SYMBOL vmlinux 0x0eddaf63 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x0ee59741 dev_activate +EXPORT_SYMBOL vmlinux 0x0eebf79d sock_create_lite +EXPORT_SYMBOL vmlinux 0x0f3e7d8a __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x0f476cde skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f71c676 snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x0f73ffc3 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x0f92c3ac input_unregister_handler +EXPORT_SYMBOL vmlinux 0x0fa2a45e __memzero +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fcf6b16 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x0fea399c bio_copy_user +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ffa8302 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x1016bceb generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x102aaba7 abort_creds +EXPORT_SYMBOL vmlinux 0x1034a20c scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x105a2fb9 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x10748f6d iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x1083d8cd unlock_new_inode +EXPORT_SYMBOL vmlinux 0x10af06a1 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x10cea1c8 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x10e4375c inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110a4cbb seq_release +EXPORT_SYMBOL vmlinux 0x1120c4ae skb_copy_bits +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x112748bd omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0x112dcfc3 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x1159ae96 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x119cbd33 clear_inode +EXPORT_SYMBOL vmlinux 0x11d2dab6 phy_driver_register +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x120a2434 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x12113572 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x1220a4ed arp_tbl +EXPORT_SYMBOL vmlinux 0x123788b1 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x12388ba1 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x1239173c update_time +EXPORT_SYMBOL vmlinux 0x1243001a skb_queue_tail +EXPORT_SYMBOL vmlinux 0x12435c0b __nla_reserve +EXPORT_SYMBOL vmlinux 0x125b6240 nf_reinject +EXPORT_SYMBOL vmlinux 0x1275de8b ip_fragment +EXPORT_SYMBOL vmlinux 0x12976460 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12deb04e phy_device_free +EXPORT_SYMBOL vmlinux 0x12f108fa inet_recvmsg +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13215128 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1349ac40 scsi_get_command +EXPORT_SYMBOL vmlinux 0x135a29ee tcp_parse_options +EXPORT_SYMBOL vmlinux 0x13ccf651 __lock_page +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e0b5fd lookup_one_len +EXPORT_SYMBOL vmlinux 0x13f7bb3c elv_abort_queue +EXPORT_SYMBOL vmlinux 0x14087388 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x141787b0 fd_install +EXPORT_SYMBOL vmlinux 0x141c9ddd inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1434869c ip_getsockopt +EXPORT_SYMBOL vmlinux 0x143b6aea scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x145e0c42 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x14809835 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x148535d8 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x1499686b follow_pfn +EXPORT_SYMBOL vmlinux 0x14d27b22 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14e6a075 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x1524d58b proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x153d8b4f of_find_device_by_node +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 0x158b72ec scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x15a24c83 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x15db9c27 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x15def305 save_mount_options +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x1629235d n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1633b67a generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x1645106a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x164abe44 take_over_console +EXPORT_SYMBOL vmlinux 0x1660cad1 get_user_pages +EXPORT_SYMBOL vmlinux 0x166434a8 vfs_write +EXPORT_SYMBOL vmlinux 0x1678e869 snd_info_register +EXPORT_SYMBOL vmlinux 0x1684638e mount_pseudo +EXPORT_SYMBOL vmlinux 0x1698c676 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x16b921f0 generic_listxattr +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16ee5e40 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x16ef33bd security_path_rmdir +EXPORT_SYMBOL vmlinux 0x16f4670c unlock_page +EXPORT_SYMBOL vmlinux 0x16f6f9c7 dquot_commit +EXPORT_SYMBOL vmlinux 0x16fdb2dc loop_register_transfer +EXPORT_SYMBOL vmlinux 0x1719afec dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x172afa32 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x176e98eb inet_release +EXPORT_SYMBOL vmlinux 0x1773b81a get_super +EXPORT_SYMBOL vmlinux 0x17760c6e filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x178ad049 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x17a142df __copy_from_user +EXPORT_SYMBOL vmlinux 0x17a61276 __netdev_printk +EXPORT_SYMBOL vmlinux 0x17bfe478 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1848aae6 inode_dio_done +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 0x1865d920 splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x188428e1 I_BDEV +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18bff5e0 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x191bdeb1 file_open_root +EXPORT_SYMBOL vmlinux 0x1924a3ea load_nls_default +EXPORT_SYMBOL vmlinux 0x192d8175 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x1945106d snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x195d14cc blk_sync_queue +EXPORT_SYMBOL vmlinux 0x196aff3e dev_base_lock +EXPORT_SYMBOL vmlinux 0x197623d8 write_cache_pages +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197d9e46 md_check_recovery +EXPORT_SYMBOL vmlinux 0x197dc3b3 omap_set_dma_src_burst_mode +EXPORT_SYMBOL vmlinux 0x197ff629 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x1980302a pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x1998b56d nand_bch_init +EXPORT_SYMBOL vmlinux 0x199a8297 lock_super +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19aca78a console_start +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x1a297bfb tty_set_operations +EXPORT_SYMBOL vmlinux 0x1a3cc738 netdev_crit +EXPORT_SYMBOL vmlinux 0x1a54e4c3 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a7c9cbe netdev_state_change +EXPORT_SYMBOL vmlinux 0x1aaf22c8 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x1ab1e1ed dquot_destroy +EXPORT_SYMBOL vmlinux 0x1ab47db9 misc_deregister +EXPORT_SYMBOL vmlinux 0x1aca7ace blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1af38e0f scsi_device_resume +EXPORT_SYMBOL vmlinux 0x1af49981 get_super_thawed +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b044fdd i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x1b0a3daf fsync_bdev +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b5f2dc2 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b7deb68 ping_prot +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba5cb20 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x1baeaed4 proc_dostring +EXPORT_SYMBOL vmlinux 0x1baf1bb4 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x1c123627 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x1c29a5cf con_copy_unimap +EXPORT_SYMBOL vmlinux 0x1c3899d9 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x1c58fe1c blkdev_get +EXPORT_SYMBOL vmlinux 0x1c5b3b75 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x1c7d56e8 tty_port_put +EXPORT_SYMBOL vmlinux 0x1c8c4d5e dqget +EXPORT_SYMBOL vmlinux 0x1ca1b29d nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x1cb4ffeb md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x1cc23b17 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cd0f6c0 mempool_alloc +EXPORT_SYMBOL vmlinux 0x1cf89283 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d2712f7 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x1d43d57c seq_putc +EXPORT_SYMBOL vmlinux 0x1d5ae2a3 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x1d66a1f7 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x1d7b1b39 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x1dad6373 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x1db47177 put_disk +EXPORT_SYMBOL vmlinux 0x1db7dc40 pgprot_kernel +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0aa50c mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x1e1667b5 names_cachep +EXPORT_SYMBOL vmlinux 0x1e1b7f74 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x1e24fd27 unregister_key_type +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e3b41a6 dst_release +EXPORT_SYMBOL vmlinux 0x1e67daff mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e836b3b flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec4d070 __sock_create +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1edfd9f1 dev_mc_del +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f04985d invalidate_bdev +EXPORT_SYMBOL vmlinux 0x1f354e6a dma_supported +EXPORT_SYMBOL vmlinux 0x1f3ef377 kdb_current_task +EXPORT_SYMBOL vmlinux 0x1f4b7a2e d_move +EXPORT_SYMBOL vmlinux 0x1f61011c twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x1f6c3361 key_invalidate +EXPORT_SYMBOL vmlinux 0x1f745e2c key_alloc +EXPORT_SYMBOL vmlinux 0x1f77e8ef of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f988e5d phy_register_fixup +EXPORT_SYMBOL vmlinux 0x1f9d6f4b __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x1f9ed953 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1febd8c4 inet_frags_init +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20085764 register_nls +EXPORT_SYMBOL vmlinux 0x202d3c02 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x203be6d1 snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x205b4177 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x205dc023 genphy_read_status +EXPORT_SYMBOL vmlinux 0x205ec8de omap_dispc_register_isr +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x20a0eaf2 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20ab5a82 kunmap +EXPORT_SYMBOL vmlinux 0x20aba88e tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20cdb749 sget +EXPORT_SYMBOL vmlinux 0x20d7cd32 sk_filter +EXPORT_SYMBOL vmlinux 0x210368be load_nls +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x211efcd6 skb_insert +EXPORT_SYMBOL vmlinux 0x2124040f drop_nlink +EXPORT_SYMBOL vmlinux 0x2124d368 snd_card_proc_new +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x2145633c tty_kref_put +EXPORT_SYMBOL vmlinux 0x2157d5ad free_netdev +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x219401d8 dev_change_flags +EXPORT_SYMBOL vmlinux 0x219d2ba1 kmap_atomic +EXPORT_SYMBOL vmlinux 0x21aa4dd0 register_key_type +EXPORT_SYMBOL vmlinux 0x21bc9654 register_sound_dsp +EXPORT_SYMBOL vmlinux 0x21c5f2ff dma_sync_wait +EXPORT_SYMBOL vmlinux 0x21d9553f kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x22025eef __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x220ba76a linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x221dfde0 idr_pre_get +EXPORT_SYMBOL vmlinux 0x2223f30a __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223cc898 omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0x224df2d4 dev_crit +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c90d71 cont_write_begin +EXPORT_SYMBOL vmlinux 0x22cae18a vc_resize +EXPORT_SYMBOL vmlinux 0x22d19776 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x22e2ef4e ps2_drain +EXPORT_SYMBOL vmlinux 0x22ed0c1a xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x23014884 init_buffer +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x23690e30 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x238d3d68 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b90a38 noop_fsync +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c46d18 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23d5871e scsi_finish_command +EXPORT_SYMBOL vmlinux 0x23e0860d do_splice_direct +EXPORT_SYMBOL vmlinux 0x23ed126d dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x23f7ee8d cpu_cache +EXPORT_SYMBOL vmlinux 0x23f96368 phy_print_status +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2429a333 of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x2451efd4 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24722ad2 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x247b45b2 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x249a0b5d scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24b9d305 d_find_alias +EXPORT_SYMBOL vmlinux 0x24d02289 block_write_full_page +EXPORT_SYMBOL vmlinux 0x24e10d8e twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x252d7640 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x252ed4b1 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x2546f106 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2547483c read_cache_page_async +EXPORT_SYMBOL vmlinux 0x2570691b fb_find_mode +EXPORT_SYMBOL vmlinux 0x257b09ff dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2597f971 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x25ac5bd9 dql_init +EXPORT_SYMBOL vmlinux 0x25b4522b input_set_keycode +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25d2ad73 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x25d7382f fail_migrate_page +EXPORT_SYMBOL vmlinux 0x2601ecba inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x262a9620 complete_request_key +EXPORT_SYMBOL vmlinux 0x26309dec blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2663456a __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x268ae8a7 seq_open_private +EXPORT_SYMBOL vmlinux 0x26911e4d gen_new_estimator +EXPORT_SYMBOL vmlinux 0x26a83004 dst_discard +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26c65d12 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x26d7deb0 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26ec1805 replace_mount_options +EXPORT_SYMBOL vmlinux 0x26ed5c88 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x26f0f209 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x26f80eae elevator_init +EXPORT_SYMBOL vmlinux 0x26ffea9a mark_page_accessed +EXPORT_SYMBOL vmlinux 0x2700b38a mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x27572406 __invalidate_device +EXPORT_SYMBOL vmlinux 0x2757ad88 journal_wipe +EXPORT_SYMBOL vmlinux 0x27692c76 __pagevec_release +EXPORT_SYMBOL vmlinux 0x2780cf97 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ab8e95 register_gifconf +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x28007501 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x28054545 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2830fee2 idr_get_next +EXPORT_SYMBOL vmlinux 0x28605e9e tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x287fd61f sk_dst_check +EXPORT_SYMBOL vmlinux 0x2897fc48 omap_cfg_reg +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28d150af d_set_d_op +EXPORT_SYMBOL vmlinux 0x28d6861d __vmalloc +EXPORT_SYMBOL vmlinux 0x28dae1a1 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0x28ea4159 generic_write_sync +EXPORT_SYMBOL vmlinux 0x28f6e77c __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x2904f0e8 clk_round_rate +EXPORT_SYMBOL vmlinux 0x290bb47f dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x29199c3c neigh_ifdown +EXPORT_SYMBOL vmlinux 0x291d5a18 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x293fc70f write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x2944203d ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295f8276 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x296be509 omap_dss_get_overlay +EXPORT_SYMBOL vmlinux 0x297beb9f xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x297d5c63 filp_open +EXPORT_SYMBOL vmlinux 0x298a1b88 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x299ab1bf scsi_scan_target +EXPORT_SYMBOL vmlinux 0x29b37243 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x29b686bb scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x29ccad13 generic_file_open +EXPORT_SYMBOL vmlinux 0x29e9a014 kill_anon_super +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a1ed93e clk_add_alias +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a401f81 install_exec_creds +EXPORT_SYMBOL vmlinux 0x2a5851fc fb_pan_display +EXPORT_SYMBOL vmlinux 0x2a79ac13 clkdev_add +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab43ccb mmc_release_host +EXPORT_SYMBOL vmlinux 0x2ac6193b __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b16afbf km_query +EXPORT_SYMBOL vmlinux 0x2b1fc350 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b451a3e journal_init_dev +EXPORT_SYMBOL vmlinux 0x2b478e16 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x2b47b5ad dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x2b5084ce neigh_compat_output +EXPORT_SYMBOL vmlinux 0x2b688622 complete_and_exit +EXPORT_SYMBOL vmlinux 0x2b90cdaa mempool_create +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bc4e7c6 __d_drop +EXPORT_SYMBOL vmlinux 0x2bcc9970 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0x2bdd543a ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x2bdd9a63 tty_devnum +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c155833 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x2c1ee804 d_add_ci +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c3fdc40 proto_register +EXPORT_SYMBOL vmlinux 0x2c4229a7 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x2c94d00e dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x2c9a8a31 bdget +EXPORT_SYMBOL vmlinux 0x2ca71b9f ps2_init +EXPORT_SYMBOL vmlinux 0x2cafa1ce fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x2cf5f740 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x2d0a35aa input_open_device +EXPORT_SYMBOL vmlinux 0x2d0d8de0 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x2d12874a __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d34a1b4 dq_data_lock +EXPORT_SYMBOL vmlinux 0x2d441a57 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x2d4e64e2 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x2d5092bc sk_common_release +EXPORT_SYMBOL vmlinux 0x2d6507b5 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x2d7549b8 simple_setattr +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dab2cd8 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x2dc31429 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x2dd99ec3 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x2de4cc0c tty_register_device +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2e0d2827 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e253700 set_nlink +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e414614 bio_free +EXPORT_SYMBOL vmlinux 0x2e5810c6 __aeabi_unwind_cpp_pr1 +EXPORT_SYMBOL vmlinux 0x2e6804af dev_disable_lro +EXPORT_SYMBOL vmlinux 0x2e6ac58c xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x2e9cb392 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x2ea0bfe8 arp_invalidate +EXPORT_SYMBOL vmlinux 0x2eb9dad2 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x2ec01ae8 single_open +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 0x2f1ac4cb nf_afinfo +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fd85baf ___ratelimit +EXPORT_SYMBOL vmlinux 0x2fe7fffe gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x2fed0b8d get_task_io_context +EXPORT_SYMBOL vmlinux 0x3006e61a inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x3016eaa7 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x302d07ed jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x302e0149 __frontswap_load +EXPORT_SYMBOL vmlinux 0x304a32c3 truncate_setsize +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308aad56 omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0x309fb5b0 simple_write_end +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30b608f3 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f2a61d blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x30fa548c omap_dss_unregister_driver +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x312c05aa xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x313ffc4d set_security_override +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31658e22 cad_pid +EXPORT_SYMBOL vmlinux 0x3167fb2c mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x316dd1cd __wait_on_bit +EXPORT_SYMBOL vmlinux 0x317287ab register_exec_domain +EXPORT_SYMBOL vmlinux 0x317b67e3 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x318268ef skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x319fc25c tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x31a62c8c tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31bc34e7 snd_card_disconnect +EXPORT_SYMBOL vmlinux 0x31f03185 _snd_ctl_add_slave +EXPORT_SYMBOL vmlinux 0x32163f65 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x321d67b4 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x32208dab ppp_input +EXPORT_SYMBOL vmlinux 0x322b7ad8 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x3258bc2d netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x327e906f tcp_check_req +EXPORT_SYMBOL vmlinux 0x32837619 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32be1967 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x32c54d96 netdev_warn +EXPORT_SYMBOL vmlinux 0x32cc8545 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x32d21134 drop_super +EXPORT_SYMBOL vmlinux 0x32e96474 add_disk +EXPORT_SYMBOL vmlinux 0x32ed2399 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x3328ac00 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x332e13cd d_make_root +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x338da632 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x33935e1d tcp_prot +EXPORT_SYMBOL vmlinux 0x33cefbae omap_dss_find_device +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x3405125a neigh_parms_release +EXPORT_SYMBOL vmlinux 0x341245a5 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x3412e781 dev_mc_init +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x344e0fe5 seq_write +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3493acdd __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a33a29 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x34ea4fee uart_suspend_port +EXPORT_SYMBOL vmlinux 0x35140c50 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x3524b231 new_inode +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3541f4b7 write_inode_now +EXPORT_SYMBOL vmlinux 0x354537b0 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x355f425c kobject_set_name +EXPORT_SYMBOL vmlinux 0x35610e05 clk_get +EXPORT_SYMBOL vmlinux 0x35651285 scsi_execute +EXPORT_SYMBOL vmlinux 0x356de029 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x35715e16 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x35787864 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x357dae4a inet_frags_fini +EXPORT_SYMBOL vmlinux 0x359f3461 set_user_nice +EXPORT_SYMBOL vmlinux 0x35a8bd52 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x35b58466 arp_send +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35c7f3d4 dev_mc_add +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35daec97 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x35db83c5 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x35e0c7a0 kern_path_create +EXPORT_SYMBOL vmlinux 0x35e49031 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x3600ef49 amba_request_regions +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x361672c8 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x361cd9e4 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x364b3fff up +EXPORT_SYMBOL vmlinux 0x36568b7b netdev_emerg +EXPORT_SYMBOL vmlinux 0x365f0ed3 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x367a562c generic_show_options +EXPORT_SYMBOL vmlinux 0x3680e051 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x3698b056 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3707b51e tty_throttle +EXPORT_SYMBOL vmlinux 0x373dfcda tcf_register_action +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37483628 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x3751a30e blk_put_request +EXPORT_SYMBOL vmlinux 0x376b5929 omapdss_default_get_timings +EXPORT_SYMBOL vmlinux 0x37798a9d init_special_inode +EXPORT_SYMBOL vmlinux 0x3784b43c neigh_destroy +EXPORT_SYMBOL vmlinux 0x378d18f6 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37b3946c nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37caf3eb simple_lookup +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f0da98 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x3801ff04 poll_initwait +EXPORT_SYMBOL vmlinux 0x380ff024 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x3816e4dc __serio_register_driver +EXPORT_SYMBOL vmlinux 0x381d219c inet_getname +EXPORT_SYMBOL vmlinux 0x382eab43 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x38403b90 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x3849561d empty_zero_page +EXPORT_SYMBOL vmlinux 0x3852684b kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x385de5e8 snd_timer_stop +EXPORT_SYMBOL vmlinux 0x38702740 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38deead3 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x3950711a of_match_device +EXPORT_SYMBOL vmlinux 0x39580112 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x3961e458 sock_wfree +EXPORT_SYMBOL vmlinux 0x396a5c3f sk_wait_data +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x3972df8f d_path +EXPORT_SYMBOL vmlinux 0x397deae0 setattr_copy +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39a23ea0 unregister_console +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39c2104a tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x39c80029 make_EII_client +EXPORT_SYMBOL vmlinux 0x3a8788df __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x3a8957f2 bio_put +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa16502 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3aaade2b dquot_commit_info +EXPORT_SYMBOL vmlinux 0x3aacb5ca rt6_lookup +EXPORT_SYMBOL vmlinux 0x3ad98a43 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x3b10d8c4 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x3b14f866 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x3b1a1888 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x3b29fe9a omap_dss_register_driver +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b366e3d qdisc_destroy +EXPORT_SYMBOL vmlinux 0x3b5903a4 account_page_redirty +EXPORT_SYMBOL vmlinux 0x3b759478 skb_unlink +EXPORT_SYMBOL vmlinux 0x3b7f8e27 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x3b91f3af snd_free_pages +EXPORT_SYMBOL vmlinux 0x3ba2ff8f simple_rmdir +EXPORT_SYMBOL vmlinux 0x3bb779a2 netdev_update_features +EXPORT_SYMBOL vmlinux 0x3bbba571 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc2eec9 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bec71d5 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c0b6ce0 snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x3c1ef7c7 down_read_trylock +EXPORT_SYMBOL vmlinux 0x3c4a8560 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x3c56db19 mdiobus_read +EXPORT_SYMBOL vmlinux 0x3c6a74d8 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c838bd7 scsi_add_device +EXPORT_SYMBOL vmlinux 0x3c92e470 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb06663 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x3cd04c20 iterate_mounts +EXPORT_SYMBOL vmlinux 0x3cd1851c dquot_operations +EXPORT_SYMBOL vmlinux 0x3ce125d9 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfc7e35 kern_unmount +EXPORT_SYMBOL vmlinux 0x3d03dd70 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x3d0e65f9 dma_pool_create +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d47f9f0 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x3d794224 inet_sendpage +EXPORT_SYMBOL vmlinux 0x3d86067c seq_lseek +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da1a1b5 genlmsg_put +EXPORT_SYMBOL vmlinux 0x3dc01d5d __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcc62bf set_binfmt +EXPORT_SYMBOL vmlinux 0x3de19c44 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0c512e free_task +EXPORT_SYMBOL vmlinux 0x3e441f89 phy_connect +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e474aef tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x3e5470da __inet6_hash +EXPORT_SYMBOL vmlinux 0x3e6133f8 journal_destroy +EXPORT_SYMBOL vmlinux 0x3e6b0b00 request_key +EXPORT_SYMBOL vmlinux 0x3e79a631 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x3e884f4b vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9d6df3 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x3ea0fd08 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ec79bae dev_alloc_name +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3eea6e20 ata_port_printk +EXPORT_SYMBOL vmlinux 0x3f09e3e9 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x3f119931 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f596662 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x3f605442 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x3f636a68 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x3f8d89d9 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x3f91f616 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x3fa5643a blk_end_request_all +EXPORT_SYMBOL vmlinux 0x3fa60951 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x3faad8c8 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x3fd05c54 generic_setxattr +EXPORT_SYMBOL vmlinux 0x3fd5088c rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x3fe9d3a3 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff7d131 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x40000636 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x402ca225 __kfree_skb +EXPORT_SYMBOL vmlinux 0x40327cee xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x407a3275 omap_start_dma +EXPORT_SYMBOL vmlinux 0x407e2106 km_report +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 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x41077590 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x413982f8 __bio_clone +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x415b12bb blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x4166ddd9 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x4168fb99 dev_addr_init +EXPORT_SYMBOL vmlinux 0x416e7bd0 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x417ac337 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x4186697d snd_timer_notify +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a9a2db tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x41ab2e13 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x41bfc910 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x41d568d6 of_device_is_available +EXPORT_SYMBOL vmlinux 0x41f7da32 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x423397fe pskb_expand_head +EXPORT_SYMBOL vmlinux 0x423c171f posix_test_lock +EXPORT_SYMBOL vmlinux 0x4283791b vfs_mkdir +EXPORT_SYMBOL vmlinux 0x42864147 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x429647ad tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4303d249 netlink_set_err +EXPORT_SYMBOL vmlinux 0x434503e4 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x4347b971 idr_init +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x436a1d3e lg_local_unlock +EXPORT_SYMBOL vmlinux 0x436f0bdb sock_sendmsg +EXPORT_SYMBOL vmlinux 0x43926d52 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43aa58e0 sock_no_connect +EXPORT_SYMBOL vmlinux 0x43c7af94 mmc_free_host +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x44064dcf cpu_user +EXPORT_SYMBOL vmlinux 0x441443d5 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x441ed159 omap_get_dma_src_pos +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x4433b9c5 dev_add_pack +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x445699fe request_firmware +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446813bb xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x449ab011 kill_litter_super +EXPORT_SYMBOL vmlinux 0x449d2232 snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44ce0b66 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44efd447 omap_dss_stop_device +EXPORT_SYMBOL vmlinux 0x45116a5e noop_llseek +EXPORT_SYMBOL vmlinux 0x4520dba0 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x4562ea8d mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x45715669 __alloc_skb +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45983139 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x45a8fbaa down_timeout +EXPORT_SYMBOL vmlinux 0x45a9bd71 vc_cons +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45cfc082 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45eaf988 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x4601ae1d unregister_nls +EXPORT_SYMBOL vmlinux 0x460ea1c5 udplite_table +EXPORT_SYMBOL vmlinux 0x46120b98 of_device_alloc +EXPORT_SYMBOL vmlinux 0x46166350 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x461aa026 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x461e4529 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x464dc46c nla_reserve +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x4662396a register_sound_midi +EXPORT_SYMBOL vmlinux 0x467cb203 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x4686c5d9 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x46b6e415 mmc_cleanup_queue +EXPORT_SYMBOL vmlinux 0x46c4b962 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46f1be97 proc_symlink +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x47162a99 key_unlink +EXPORT_SYMBOL vmlinux 0x471e5599 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x473031f2 vfs_read +EXPORT_SYMBOL vmlinux 0x474ba377 nand_calculate_ecc +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x476525bc snd_dma_reserve_buf +EXPORT_SYMBOL vmlinux 0x476fa1f6 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47b70d45 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x47c45f42 user_revoke +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x483ec199 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48917482 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x48a21e73 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48e2a6a7 nf_log_packet +EXPORT_SYMBOL vmlinux 0x48e38388 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x48edd974 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x48fee074 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x49034cdf brioctl_set +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49103014 read_cache_pages +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x4960601e uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x49902f2b d_lookup +EXPORT_SYMBOL vmlinux 0x499a47c5 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x49a9253b mii_check_media +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49be8388 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x49cfcc8f phy_attach +EXPORT_SYMBOL vmlinux 0x49db5768 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x4a0875a9 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x4a1afb2a kernel_connect +EXPORT_SYMBOL vmlinux 0x4a34cfa9 __netif_schedule +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a39e5a1 omap_set_dma_src_params +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a469073 check_disk_size_change +EXPORT_SYMBOL vmlinux 0x4a51dce6 omap_dss_get_next_device +EXPORT_SYMBOL vmlinux 0x4a5d9063 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x4a71f939 led_brightness_set +EXPORT_SYMBOL vmlinux 0x4a80aea6 qdisc_reset +EXPORT_SYMBOL vmlinux 0x4ab4d952 generic_permission +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4abdb61c seq_printf +EXPORT_SYMBOL vmlinux 0x4ac6e503 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x4ae69648 sk_free +EXPORT_SYMBOL vmlinux 0x4ae92f25 journal_errno +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b015768 snd_iprintf +EXPORT_SYMBOL vmlinux 0x4b05153d blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x4b095b1a vfs_getattr +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b20cbd2 ida_remove +EXPORT_SYMBOL vmlinux 0x4b299891 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x4b30e32d bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b409636 devm_ioport_map +EXPORT_SYMBOL vmlinux 0x4b56063e snd_timer_global_new +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6ce830 bioset_free +EXPORT_SYMBOL vmlinux 0x4b806e7b snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x4ba39171 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x4bc39cb0 set_disk_ro +EXPORT_SYMBOL vmlinux 0x4bc5eddb serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x4be162d5 should_remove_suid +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c16773d textsearch_unregister +EXPORT_SYMBOL vmlinux 0x4c24694f snd_timer_global_register +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c90c961 blk_rq_init +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbdb927 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4cdbbacb generic_readlink +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cfa8d5e xfrm_lookup +EXPORT_SYMBOL vmlinux 0x4d028f40 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d1255e9 dev_warn +EXPORT_SYMBOL vmlinux 0x4d3402a3 tcf_hash_create +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d3dd7ca iget_locked +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d441a33 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d4aaae7 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x4d60e380 dev_addr_del +EXPORT_SYMBOL vmlinux 0x4d8dfb1a dev_deactivate +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d9a9bfd eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dca2e83 skb_queue_head +EXPORT_SYMBOL vmlinux 0x4de69da3 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e2a24b6 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3f738c udp_sendmsg +EXPORT_SYMBOL vmlinux 0x4e452673 sock_init_data +EXPORT_SYMBOL vmlinux 0x4e506013 omap_dma_link_lch +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 0x4e8c3868 current_fs_time +EXPORT_SYMBOL vmlinux 0x4e8efdc0 serio_close +EXPORT_SYMBOL vmlinux 0x4e8f5c2c find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x4ebac85b twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x4ed70e07 clk_get_rate +EXPORT_SYMBOL vmlinux 0x4ed84ddf scsi_prep_return +EXPORT_SYMBOL vmlinux 0x4f1387c7 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3a6102 read_cache_page +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f7c932e twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f833685 of_find_matching_node +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4fe63d8c dm_put_device +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ff9a602 noop_qdisc +EXPORT_SYMBOL vmlinux 0x500468e3 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5063978d snd_component_add +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50c71330 idr_get_new +EXPORT_SYMBOL vmlinux 0x50ccff03 omap_dma_set_prio_lch +EXPORT_SYMBOL vmlinux 0x50e23317 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x50faecf3 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x5100e8e4 kobject_add +EXPORT_SYMBOL vmlinux 0x510f64b4 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x511746c1 dump_fpu +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5124fbd6 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x51392eba tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x5169161d omap_free_dma_chain +EXPORT_SYMBOL vmlinux 0x517ea0ce mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x518f3c84 inet6_bind +EXPORT_SYMBOL vmlinux 0x51908eb8 __raw_writesl +EXPORT_SYMBOL vmlinux 0x519bb80f fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x51ac7375 simple_link +EXPORT_SYMBOL vmlinux 0x51b81f1d filp_close +EXPORT_SYMBOL vmlinux 0x51cfeac4 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51dff8f5 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x5206509b snd_device_free +EXPORT_SYMBOL vmlinux 0x5218c62c snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x522f5ac4 registered_fb +EXPORT_SYMBOL vmlinux 0x5233ac21 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x523958c1 account_page_writeback +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x524a196a dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x525545f1 default_llseek +EXPORT_SYMBOL vmlinux 0x525d8647 free_buffer_head +EXPORT_SYMBOL vmlinux 0x5271c6d6 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528e4a08 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x52b20809 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x52b5c211 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x52c6ee81 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x52d2e6ae key_validate +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52efd766 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530e3b17 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x5315fa97 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x532f7ce8 path_get +EXPORT_SYMBOL vmlinux 0x5331eabb ida_simple_get +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x533bba3f wait_iff_congested +EXPORT_SYMBOL vmlinux 0x53698b4a blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x537465ad ilookup5 +EXPORT_SYMBOL vmlinux 0x537bc8ae i2c_register_driver +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x53840c92 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x538789f9 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53a829fc mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x53b46443 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x53ba4e7c up_write +EXPORT_SYMBOL vmlinux 0x53e73851 snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x5415ea74 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x54172d89 blk_start_queue +EXPORT_SYMBOL vmlinux 0x541f3611 __getblk +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54a8bf57 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54aa5e20 netif_device_detach +EXPORT_SYMBOL vmlinux 0x54bae7f7 alloc_disk_node +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x551f8bf2 blk_complete_request +EXPORT_SYMBOL vmlinux 0x5532a952 update_region +EXPORT_SYMBOL vmlinux 0x5534f692 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x553614f5 dev_uc_init +EXPORT_SYMBOL vmlinux 0x5559e3c4 snd_device_register +EXPORT_SYMBOL vmlinux 0x55724a57 udp_poll +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a6d2e2 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x55bb8691 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x55ef657b sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5622e1a9 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x562ad513 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56374231 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5646475c kick_iocb +EXPORT_SYMBOL vmlinux 0x5649666f do_splice_from +EXPORT_SYMBOL vmlinux 0x56508513 udp_prot +EXPORT_SYMBOL vmlinux 0x5677cf48 sync_blockdev +EXPORT_SYMBOL vmlinux 0x56789ac5 omap_set_dma_color_mode +EXPORT_SYMBOL vmlinux 0x56ad0389 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x56c474bd bdevname +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cfb6c8 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x56d07a62 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x56d9647e inet_stream_ops +EXPORT_SYMBOL vmlinux 0x56eff735 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x56f7951f of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x571a82af sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x574d4141 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575955c1 release_pages +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578d9f7e scsi_host_put +EXPORT_SYMBOL vmlinux 0x57e85255 snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x57f9e703 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x58300e45 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584933e2 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x58516557 omap_set_dma_src_data_pack +EXPORT_SYMBOL vmlinux 0x58568b96 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x585b8429 snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x585fd579 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x5863d5d3 wake_up_process +EXPORT_SYMBOL vmlinux 0x5864724f snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0x586884a4 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x587885eb dev_set_group +EXPORT_SYMBOL vmlinux 0x58c33744 filemap_fault +EXPORT_SYMBOL vmlinux 0x58eee26b unregister_filesystem +EXPORT_SYMBOL vmlinux 0x58f56342 dev_open +EXPORT_SYMBOL vmlinux 0x58fe1e28 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x5909e6b6 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x590b32c1 generic_removexattr +EXPORT_SYMBOL vmlinux 0x59195e99 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593700c2 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x59391c7a skb_put +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x594fd546 omap_prcm_get_reset_sources +EXPORT_SYMBOL vmlinux 0x5951bb6e simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x595a2ed7 xfrm_input +EXPORT_SYMBOL vmlinux 0x595e2520 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x5993a2b8 alloc_disk +EXPORT_SYMBOL vmlinux 0x59c9af90 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x59d01b4f snd_unregister_device +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59db722e sk_stop_timer +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59e96fff genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x5a21595d scsi_scan_host +EXPORT_SYMBOL vmlinux 0x5a21906c kill_fasync +EXPORT_SYMBOL vmlinux 0x5a3a7db9 block_write_begin +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5aa2077b revert_creds +EXPORT_SYMBOL vmlinux 0x5aa6c4ff dquot_disable +EXPORT_SYMBOL vmlinux 0x5ad866f6 input_event +EXPORT_SYMBOL vmlinux 0x5aec9cdc abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x5afbd2c2 __page_symlink +EXPORT_SYMBOL vmlinux 0x5b1300a1 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b334156 down_killable +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bd87e85 inet_put_port +EXPORT_SYMBOL vmlinux 0x5bf4a1eb sg_last +EXPORT_SYMBOL vmlinux 0x5c4973a5 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x5c561f32 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x5c5a9be4 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x5c637aa5 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5c6c5f85 input_register_handle +EXPORT_SYMBOL vmlinux 0x5c7cf45a unregister_quota_format +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5cb4c0de i2c_verify_client +EXPORT_SYMBOL vmlinux 0x5cbeea54 fb_show_logo +EXPORT_SYMBOL vmlinux 0x5ce507a4 bio_add_page +EXPORT_SYMBOL vmlinux 0x5cfe012b ilookup +EXPORT_SYMBOL vmlinux 0x5d0399d6 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d8c7b6a scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x5d8d024d fb_get_mode +EXPORT_SYMBOL vmlinux 0x5daed819 __get_page_tail +EXPORT_SYMBOL vmlinux 0x5de3e669 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x5e02b553 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x5e10b03e input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x5e1fe88f bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x5e2e6e63 simple_fill_super +EXPORT_SYMBOL vmlinux 0x5e43a927 jbd2_journal_errno +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 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea51499 skb_clone +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ecf0431 __elv_add_request +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed39004 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ef18899 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x5ef2a7f9 blk_put_queue +EXPORT_SYMBOL vmlinux 0x5ef4d861 seq_bitmap +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0e9c91 xfrm_state_delete +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 0x5f75ee67 i2c_use_client +EXPORT_SYMBOL vmlinux 0x5f8901be md_write_end +EXPORT_SYMBOL vmlinux 0x5f8c3651 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fb0d0db mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x5fb8288b cdrom_open +EXPORT_SYMBOL vmlinux 0x5fbf2c76 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x5fc64abd xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x5fd31254 put_page +EXPORT_SYMBOL vmlinux 0x5fde585e __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x5fed2668 bio_map_kern +EXPORT_SYMBOL vmlinux 0x5ff15e2f eth_header +EXPORT_SYMBOL vmlinux 0x5ff1ebc8 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x5ff2d1cc skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5ff7b482 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6004edb6 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6029ff82 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x603fd4ae xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x6044a47f snd_register_device_for_dev +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x6075603a skb_pad +EXPORT_SYMBOL vmlinux 0x609a263f tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b5f5f0 __nla_put +EXPORT_SYMBOL vmlinux 0x60bb3da7 user_path_at +EXPORT_SYMBOL vmlinux 0x60c5ed8b fifo_set_limit +EXPORT_SYMBOL vmlinux 0x60f71cfa complete +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x613b8cb1 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x6152c108 snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x6167ac40 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x61740dba __scsi_put_command +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6181ea8c sound_class +EXPORT_SYMBOL vmlinux 0x618eda37 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x61a79f08 __irq_regs +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b9f733 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x61c20fc8 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x61ed2170 mmc_erase +EXPORT_SYMBOL vmlinux 0x61fda54b xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x6202792c dev_get_by_index +EXPORT_SYMBOL vmlinux 0x621d0635 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x625d831d mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x6263f120 tty_unregister_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 0x62a345db jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x62a541b6 dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x62b72b0d mutex_unlock +EXPORT_SYMBOL vmlinux 0x62b8667b tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x62cc569e cpu_present_mask +EXPORT_SYMBOL vmlinux 0x62de4abd of_platform_device_create +EXPORT_SYMBOL vmlinux 0x62f42e21 snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6324f2b0 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x6366b75a blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL vmlinux 0x6386c85d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x6388d550 do_sync_write +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63ab2604 irq_stat +EXPORT_SYMBOL vmlinux 0x63b87fc5 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x63c95937 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x63e518d9 scsi_unregister +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f792e6 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x64034a2b mpage_writepage +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640502a9 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x640712f2 block_truncate_page +EXPORT_SYMBOL vmlinux 0x641312e9 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x64180273 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x6422eb53 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x642819fc elv_rb_find +EXPORT_SYMBOL vmlinux 0x64955a70 mii_check_link +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649e6086 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x64a7e820 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x64d233c8 ioremap_page +EXPORT_SYMBOL vmlinux 0x650639f4 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x650ba5e1 gnet_stats_finish_copy +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 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65531ff6 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x656b11dc default_file_splice_read +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x65909849 key_task_permission +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e7b231 xfrm6_rcv_spi +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 0x66146a91 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x66283876 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x66391f12 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x66431e11 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x665d6551 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x667dc809 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x669f4c23 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66add71c proc_create_data +EXPORT_SYMBOL vmlinux 0x66c8f25a kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x66d12532 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x66d390c8 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x66e0182c ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x66ffd0d2 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x6723a27e dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x673b024f snd_device_new +EXPORT_SYMBOL vmlinux 0x673f1853 kernel_bind +EXPORT_SYMBOL vmlinux 0x6744c718 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x67498a80 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x6749e828 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x6761edfe tcp_disconnect +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x676e475a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x677d9162 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x67822543 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67ba3774 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x67be1d3d cpu_active_mask +EXPORT_SYMBOL vmlinux 0x67bf09d2 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x67c94869 redraw_screen +EXPORT_SYMBOL vmlinux 0x67e6b758 skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x67e77b30 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x684ae1a7 snd_dma_alloc_pages +EXPORT_SYMBOL vmlinux 0x686b03a8 snd_ctl_notify +EXPORT_SYMBOL vmlinux 0x68770a0b ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68922fba __quota_error +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68bdfb70 tcp_close +EXPORT_SYMBOL vmlinux 0x68c0af13 set_device_ro +EXPORT_SYMBOL vmlinux 0x68cfabbc omap_dss_start_device +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x690ee1bc devm_free_irq +EXPORT_SYMBOL vmlinux 0x691196c1 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x6916922e kmem_cache_create +EXPORT_SYMBOL vmlinux 0x6932d42d netlink_ack +EXPORT_SYMBOL vmlinux 0x693ddcbf submit_bh +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69764c34 put_tty_driver +EXPORT_SYMBOL vmlinux 0x698a2df8 sk_stream_error +EXPORT_SYMBOL vmlinux 0x6999e041 tty_port_init +EXPORT_SYMBOL vmlinux 0x69a1e446 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b6f8d9 omap_set_dma_transfer_params +EXPORT_SYMBOL vmlinux 0x69c2ed1b jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x69d05489 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x69d1dffb skb_append +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a05d41b bio_endio +EXPORT_SYMBOL vmlinux 0x6a14ca32 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x6a2c88de tcf_exts_change +EXPORT_SYMBOL vmlinux 0x6a31540e d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x6a559116 rtc_lock +EXPORT_SYMBOL vmlinux 0x6a6fa8b4 contig_page_data +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7a7dbf scsi_host_get +EXPORT_SYMBOL vmlinux 0x6aa78de4 vm_insert_page +EXPORT_SYMBOL vmlinux 0x6ab00c9e kill_pid +EXPORT_SYMBOL vmlinux 0x6b15e068 i2c_transfer +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b5a7057 ida_destroy +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b7c56f0 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x6b83c1b4 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x6b8b0a43 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x6b8c8ad6 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x6b8f223b dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x6b94d7fa nand_bch_calculate_ecc +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bcf2b40 flush_kernel_dcache_page +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be3aaa6 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x6bf4be38 inode_init_once +EXPORT_SYMBOL vmlinux 0x6bfc2a8a truncate_pagecache +EXPORT_SYMBOL vmlinux 0x6bfd5b2c dmam_release_declared_memory +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c4879fa mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c7e5526 snd_pcm_lib_readv +EXPORT_SYMBOL vmlinux 0x6ccea055 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x6ccf7bd7 __pv_phys_offset +EXPORT_SYMBOL vmlinux 0x6cdb7cd1 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce3425b tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +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 0x6d55102d security_file_permission +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6db4d94b __break_lease +EXPORT_SYMBOL vmlinux 0x6ded92cc of_dev_put +EXPORT_SYMBOL vmlinux 0x6deef7b2 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df60888 dm_get_device +EXPORT_SYMBOL vmlinux 0x6df97ca7 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x6dfaa968 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x6e171b6b unload_nls +EXPORT_SYMBOL vmlinux 0x6e24c676 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x6e36d98d buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x6e4ba86f kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x6e53a641 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ec7fbd5 serio_interrupt +EXPORT_SYMBOL vmlinux 0x6ee47e4b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x6ee902f6 dcb_setapp +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f37230b mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x6f401ee0 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x6f46f996 mpage_writepages +EXPORT_SYMBOL vmlinux 0x6f5939c5 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x6f65be78 d_drop +EXPORT_SYMBOL vmlinux 0x6f91f088 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x6f940ec6 phy_detach +EXPORT_SYMBOL vmlinux 0x6f9d8c1e framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x6fbc5aee jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x6fbf92aa ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd5faa2 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x6fe1502c nf_getsockopt +EXPORT_SYMBOL vmlinux 0x6ff0bc33 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x70097aa0 nand_bch_free +EXPORT_SYMBOL vmlinux 0x701d2014 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x701e2ef6 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x70339500 do_SAK +EXPORT_SYMBOL vmlinux 0x703b05d0 bio_phys_segments +EXPORT_SYMBOL vmlinux 0x7040a2c6 release_firmware +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x705b9140 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x7071637c dma_declare_coherent_memory +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 0x70da54ef amba_driver_register +EXPORT_SYMBOL vmlinux 0x70dd1a12 gpmc_cs_configure +EXPORT_SYMBOL vmlinux 0x70ea474a register_netdev +EXPORT_SYMBOL vmlinux 0x70f7e19c skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x71122bf1 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714d6918 override_creds +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71888756 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x71910fde gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71af0b45 genphy_suspend +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71d0d3eb lro_receive_frags +EXPORT_SYMBOL vmlinux 0x71d96e4e dqput +EXPORT_SYMBOL vmlinux 0x71e822ab migrate_page +EXPORT_SYMBOL vmlinux 0x72152a1a input_grab_device +EXPORT_SYMBOL vmlinux 0x72162ee2 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x7221a78d i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x723573bb unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x7258cd26 kthread_bind +EXPORT_SYMBOL vmlinux 0x7284da82 input_get_keycode +EXPORT_SYMBOL vmlinux 0x72bbf3b0 inode_init_always +EXPORT_SYMBOL vmlinux 0x72c1fe5b jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f41e3c skb_pull +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c3d51 __napi_complete +EXPORT_SYMBOL vmlinux 0x7322d533 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x732cf9fd kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7332ba03 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x737ac25d dql_reset +EXPORT_SYMBOL vmlinux 0x737b5573 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738d6316 mmc_resume_host +EXPORT_SYMBOL vmlinux 0x73c0f275 dev_get_stats +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73e2134f scsi_target_resume +EXPORT_SYMBOL vmlinux 0x73e9e066 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x740d1ad8 bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0x7422e3df mmc_card_awake +EXPORT_SYMBOL vmlinux 0x7428285b vfs_link +EXPORT_SYMBOL vmlinux 0x7461e649 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x74807f3a __seq_open_private +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74920aca sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x74a87df0 elevator_exit +EXPORT_SYMBOL vmlinux 0x74ad06dc tcp_proc_register +EXPORT_SYMBOL vmlinux 0x74b796d5 vfs_readv +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c9f279 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x74ccc82e of_get_property +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x7501fd0e sock_setsockopt +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x7508ed9a blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x7516d8cc pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x751bd5a2 simple_empty +EXPORT_SYMBOL vmlinux 0x7550c88f dquot_enable +EXPORT_SYMBOL vmlinux 0x7562258f ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x758ee764 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x75a17bed prepare_to_wait +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75fee7fd __raw_writesb +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760e1ab0 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x762d5a92 clk_enable +EXPORT_SYMBOL vmlinux 0x7638432b journal_ack_err +EXPORT_SYMBOL vmlinux 0x7644b787 lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x76500995 netif_device_attach +EXPORT_SYMBOL vmlinux 0x76754808 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x7682e28c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x76881360 leds_event +EXPORT_SYMBOL vmlinux 0x768aadff _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x76912941 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76c1e97a vmtruncate +EXPORT_SYMBOL vmlinux 0x76ca6d01 snd_dma_get_reserved_buf +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76ee82fe simple_transaction_set +EXPORT_SYMBOL vmlinux 0x771b8738 blk_free_tags +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x775d7e1b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x775e7780 ps2_end_command +EXPORT_SYMBOL vmlinux 0x775f715a mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x777b332e mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x778d6385 napi_frags_finish +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77bf8073 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x77c08e87 dm_register_target +EXPORT_SYMBOL vmlinux 0x77ce8e5a security_path_symlink +EXPORT_SYMBOL vmlinux 0x77d0edcf dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x77dba3be blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x78105cb7 kstat +EXPORT_SYMBOL vmlinux 0x7833e16c vfs_fsync +EXPORT_SYMBOL vmlinux 0x783672ab dpi_set_timings +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x7896d8ee of_device_unregister +EXPORT_SYMBOL vmlinux 0x78b34630 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x78bd508c snd_card_register +EXPORT_SYMBOL vmlinux 0x78d90ac6 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x78de5260 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x7917905f dentry_unhash +EXPORT_SYMBOL vmlinux 0x791a9efb of_match_node +EXPORT_SYMBOL vmlinux 0x792122a1 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x793e37d6 amba_device_unregister +EXPORT_SYMBOL vmlinux 0x794487ee disable_hlt +EXPORT_SYMBOL vmlinux 0x796d56bd __init_rwsem +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7977f158 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x7978bb4f fb_class +EXPORT_SYMBOL vmlinux 0x797da4c8 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x798ba569 lookup_bdev +EXPORT_SYMBOL vmlinux 0x799f36f6 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79e510ea vm_map_ram +EXPORT_SYMBOL vmlinux 0x79e815a5 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x79f65db6 __rta_fill +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a2b37d6 clk_get_parent +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a50945b dev_trans_start +EXPORT_SYMBOL vmlinux 0x7a78310d of_get_parent +EXPORT_SYMBOL vmlinux 0x7a80ecf1 serio_open +EXPORT_SYMBOL vmlinux 0x7a91726b clkdev_alloc +EXPORT_SYMBOL vmlinux 0x7aa087bb wireless_send_event +EXPORT_SYMBOL vmlinux 0x7ab1a506 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x7ab3aa49 devm_iounmap +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad9b173 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x7ae3430a 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 0x7b189acb twl6040_power +EXPORT_SYMBOL vmlinux 0x7b288f18 sock_i_ino +EXPORT_SYMBOL vmlinux 0x7b448fa1 framebuffer_release +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b64dfb7 scsi_register +EXPORT_SYMBOL vmlinux 0x7b6aa734 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x7b897a87 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x7b8be717 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x7bac7083 flush_signals +EXPORT_SYMBOL vmlinux 0x7bbb71e0 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x7bd96a2c gpmc_prefetch_enable +EXPORT_SYMBOL vmlinux 0x7bf30fdc down_write +EXPORT_SYMBOL vmlinux 0x7bf8de84 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x7c0c260f freezing_slow_path +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c206324 dquot_resume +EXPORT_SYMBOL vmlinux 0x7c33301f inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4c3765 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x7c576f28 netif_skb_features +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c727af2 find_vma +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c98845d twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7c9e8dc8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x7cb76a5a netdev_features_change +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cf14891 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x7d0b9a20 __blk_end_request +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1c3496 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x7d287e3d bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x7da62550 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7de0a78b tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x7dea8905 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7dfd3e74 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x7dff5f9e sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x7e19dfc7 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x7e1e8980 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e4a7246 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x7e8276f7 __module_get +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec7ca05 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7f01d411 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f30a924 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7f321cda tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x7f33a63b omap_get_dma_chain_dst_pos +EXPORT_SYMBOL vmlinux 0x7f3c3e64 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f7bf0ce dev_emerg +EXPORT_SYMBOL vmlinux 0x7f867954 netlink_unicast +EXPORT_SYMBOL vmlinux 0x7fdbb22f tcp_splice_read +EXPORT_SYMBOL vmlinux 0x800e4ffa __muldi3 +EXPORT_SYMBOL vmlinux 0x801fba00 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x802fc6b0 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x8034558a gpmc_nand_write +EXPORT_SYMBOL vmlinux 0x804b2f1f blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x804f6d40 ata_link_printk +EXPORT_SYMBOL vmlinux 0x8069eed1 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x806f5800 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x80825a90 snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x808e868e __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x80d4a82a blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x80d56c0e tcp_v4_do_rcv +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 0x81003ee2 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x8111e4ff page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x812bc68f snd_card_free +EXPORT_SYMBOL vmlinux 0x813ed040 idr_remove_all +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x815131ba mempool_destroy +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815e0134 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x816002ab serio_rescan +EXPORT_SYMBOL vmlinux 0x81668e38 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x817bce41 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x819a7fff generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x81af66d7 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0x81b04bfc completion_done +EXPORT_SYMBOL vmlinux 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x81b6ec1d phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x81bc8b9f inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x81bf76e2 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x81c1fde9 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x81caefdc lease_get_mtime +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e675c6 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x81e8c9d7 vfs_rename +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8204e852 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x820739d3 d_splice_alias +EXPORT_SYMBOL vmlinux 0x82159d6f prepare_binprm +EXPORT_SYMBOL vmlinux 0x821e8d91 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x821f01e7 input_release_device +EXPORT_SYMBOL vmlinux 0x8227180a snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x824a4367 tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x8262f64b tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x82812bce tty_shutdown +EXPORT_SYMBOL vmlinux 0x8287dcdf tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x8297a429 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82ad3e43 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x82b47601 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x82fcba9b bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x83012c9a input_register_device +EXPORT_SYMBOL vmlinux 0x8305ce9d devm_clk_get +EXPORT_SYMBOL vmlinux 0x830f75f8 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x8320bea8 __umodsi3 +EXPORT_SYMBOL vmlinux 0x83429142 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x836bdb72 nand_flash_ids +EXPORT_SYMBOL vmlinux 0x8371daff sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x8378dbb9 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d25c38 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x83e4a014 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x84042e96 arp_find +EXPORT_SYMBOL vmlinux 0x841a84d9 bdput +EXPORT_SYMBOL vmlinux 0x8426f602 dst_alloc +EXPORT_SYMBOL vmlinux 0x84334045 tty_name +EXPORT_SYMBOL vmlinux 0x845a3016 snd_timer_pause +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84ba5106 snd_card_create +EXPORT_SYMBOL vmlinux 0x84db4b6e wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x84e3dce1 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x850a3bda tcp_child_process +EXPORT_SYMBOL vmlinux 0x851d54e7 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x855d79bd tty_write_room +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85765fee omap_enable_dma_irq +EXPORT_SYMBOL vmlinux 0x857ef611 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x858717df neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x859c5ecb blk_make_request +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e207ec sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x861efddf dev_uc_sync +EXPORT_SYMBOL vmlinux 0x8628117e rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x863f53a0 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x8641058e blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x86419e56 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866b2116 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x866f8a1d __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x867d1d7b jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x86860db6 open_exec +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x869404d7 __breadahead +EXPORT_SYMBOL vmlinux 0x869b6978 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86a7ca4b __scsi_add_device +EXPORT_SYMBOL vmlinux 0x86b5375f simple_getattr +EXPORT_SYMBOL vmlinux 0x86caf8b8 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x86d37dc4 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x86d918b3 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x86e78fbc journal_start_commit +EXPORT_SYMBOL vmlinux 0x86ed7e73 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fcd530 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x870e7a00 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x8776cb23 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0x8786aed6 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8795b3cf block_write_end +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87994059 have_submounts +EXPORT_SYMBOL vmlinux 0x879e8a68 d_instantiate +EXPORT_SYMBOL vmlinux 0x87dbba14 ida_get_new +EXPORT_SYMBOL vmlinux 0x87e07aa1 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x87f0ca3e textsearch_register +EXPORT_SYMBOL vmlinux 0x87f9cf40 security_inode_permission +EXPORT_SYMBOL vmlinux 0x88043b2c dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x880ad85e dcache_readdir +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x882a4384 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x88571cc2 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x885d3b11 f_setown +EXPORT_SYMBOL vmlinux 0x886fbf1e kernel_accept +EXPORT_SYMBOL vmlinux 0x8893fa5d finish_wait +EXPORT_SYMBOL vmlinux 0x88b46e1f bio_unmap_user +EXPORT_SYMBOL vmlinux 0x88bd55f3 snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0x88bdfba7 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x89068daf mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x894785ec bio_clone +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8962e731 snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x8969bcc1 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8997209e skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x899ad6cd journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x89a3c4f4 omap_get_dma_chain_index +EXPORT_SYMBOL vmlinux 0x89c455d8 aio_complete +EXPORT_SYMBOL vmlinux 0x89d09023 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89f8585b devm_ioremap +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a247f93 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa83b __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x8a534e76 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x8a6c107c md_done_sync +EXPORT_SYMBOL vmlinux 0x8a7ca61f nf_register_hooks +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa70625 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x8aa9e096 scsi_init_io +EXPORT_SYMBOL vmlinux 0x8aabb9e5 tcp_poll +EXPORT_SYMBOL vmlinux 0x8ab11c4c d_genocide +EXPORT_SYMBOL vmlinux 0x8abf4062 omapdss_dpi_display_disable +EXPORT_SYMBOL vmlinux 0x8aca0b90 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8ad23777 inet6_release +EXPORT_SYMBOL vmlinux 0x8ad66426 seq_release_private +EXPORT_SYMBOL vmlinux 0x8aea6273 inode_change_ok +EXPORT_SYMBOL vmlinux 0x8b18d87f net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x8b2d4516 snd_power_wait +EXPORT_SYMBOL vmlinux 0x8b3146c1 mount_bdev +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7e538a bio_map_user +EXPORT_SYMBOL vmlinux 0x8b80f1f1 blkdev_put +EXPORT_SYMBOL vmlinux 0x8b99b900 snd_pcm_lib_write +EXPORT_SYMBOL vmlinux 0x8ba64030 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x8bfcaabb do_truncate +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0bc6d1 kset_register +EXPORT_SYMBOL vmlinux 0x8c0d5b52 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x8c1a6339 flush_old_exec +EXPORT_SYMBOL vmlinux 0x8c323e86 build_skb +EXPORT_SYMBOL vmlinux 0x8c4d6523 omap_dma_chain_a_transfer +EXPORT_SYMBOL vmlinux 0x8c5ab48d blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x8c667985 find_get_page +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c8070f6 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x8c8ecc57 journal_stop +EXPORT_SYMBOL vmlinux 0x8cb23c19 set_groups +EXPORT_SYMBOL vmlinux 0x8cbf06ce bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x8cd8c339 omap_free_dma +EXPORT_SYMBOL vmlinux 0x8cdbe075 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x8cdda1a5 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x8cfc09a2 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x8d027fcd generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x8d04511b blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x8d2da54e snd_add_device_sysfs_file +EXPORT_SYMBOL vmlinux 0x8d3b4a7e lock_sock_nested +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d5c67b8 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8da5be74 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x8ddd5036 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x8de7a44a scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x8dfb1bb2 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e20b89a journal_revoke +EXPORT_SYMBOL vmlinux 0x8e21b101 vfs_llseek +EXPORT_SYMBOL vmlinux 0x8e2665da journal_lock_updates +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e486f1a phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x8e4ba56b blk_start_request +EXPORT_SYMBOL vmlinux 0x8e5cc2a4 lock_rename +EXPORT_SYMBOL vmlinux 0x8e8268dd napi_get_frags +EXPORT_SYMBOL vmlinux 0x8e8bb61b __devm_release_region +EXPORT_SYMBOL vmlinux 0x8e8f67b8 uart_resume_port +EXPORT_SYMBOL vmlinux 0x8ebd00c4 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x8ec08e59 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x8ec2ba8c generic_make_request +EXPORT_SYMBOL vmlinux 0x8edd1eec snd_ctl_add +EXPORT_SYMBOL vmlinux 0x8f0faea3 kfree_skb +EXPORT_SYMBOL vmlinux 0x8f193949 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x8f2d0dd6 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x8f3e674f jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x8f3fcad4 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f595b11 snd_major +EXPORT_SYMBOL vmlinux 0x8f64deba ppp_input_error +EXPORT_SYMBOL vmlinux 0x8f678b07 __stack_chk_guard +EXPORT_SYMBOL vmlinux 0x8f6ab814 of_find_property +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f8d7baf ip6_route_output +EXPORT_SYMBOL vmlinux 0x8f9df616 fsnotify_put_group +EXPORT_SYMBOL vmlinux 0x8fa38900 ip_defrag +EXPORT_SYMBOL vmlinux 0x8fa4130a omap_set_dma_callback +EXPORT_SYMBOL vmlinux 0x8fcdd45f of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x900cb1b7 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x900e809c generic_block_bmap +EXPORT_SYMBOL vmlinux 0x901eb735 skb_push +EXPORT_SYMBOL vmlinux 0x903c6bb3 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x90463790 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x905a7f7f kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x906fb37f elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x908d612f i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x908fa7f2 mpage_readpages +EXPORT_SYMBOL vmlinux 0x908ff185 mapping_tagged +EXPORT_SYMBOL vmlinux 0x90bacfe0 cdrom_release +EXPORT_SYMBOL vmlinux 0x90c08c62 phy_disconnect +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90c8dedd serio_reconnect +EXPORT_SYMBOL vmlinux 0x90d6d80a tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x90d86517 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x910d8373 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x91433e89 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x914353c0 module_refcount +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914f800b ata_print_version +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x9179561b xfrm_register_type +EXPORT_SYMBOL vmlinux 0x917b7ea9 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x919029aa __readwrite_bug +EXPORT_SYMBOL vmlinux 0x919e6498 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x91a9632c ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x91c1dccc scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x91ccb481 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x91d7e25d security_path_link +EXPORT_SYMBOL vmlinux 0x91d9b3ed blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x91eee1fb scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x920664c8 mempool_free +EXPORT_SYMBOL vmlinux 0x921ec73a netpoll_setup +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924116c5 snd_timer_close +EXPORT_SYMBOL vmlinux 0x926148b4 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x92673c64 htc_egpio_get_wakeup_irq +EXPORT_SYMBOL vmlinux 0x929eecac __strncpy_from_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92beb450 snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930e9b64 input_inject_event +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x933a387f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x9351bd8c poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x93626cb6 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x93631c9c netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x9397841e posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9402b954 udp_seq_open +EXPORT_SYMBOL vmlinux 0x9406e338 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x94098ff8 snd_interval_list +EXPORT_SYMBOL vmlinux 0x941daf41 bio_pair_release +EXPORT_SYMBOL vmlinux 0x9422f550 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x944f2ef8 vfs_readlink +EXPORT_SYMBOL vmlinux 0x946e2c58 tty_mutex +EXPORT_SYMBOL vmlinux 0x9488a987 skb_copy +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949d3648 input_flush_device +EXPORT_SYMBOL vmlinux 0x94af632e complete_all +EXPORT_SYMBOL vmlinux 0x94d7ba88 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x94f4e038 nand_unlock +EXPORT_SYMBOL vmlinux 0x95377071 snd_pcm_lib_read +EXPORT_SYMBOL vmlinux 0x953a503f elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x953eb104 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x954070cd __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x9541c988 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9555a406 log_start_commit +EXPORT_SYMBOL vmlinux 0x95675bfc dquot_initialize +EXPORT_SYMBOL vmlinux 0x9576be6c snd_card_unref +EXPORT_SYMBOL vmlinux 0x9584d204 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x95930a11 vfs_mknod +EXPORT_SYMBOL vmlinux 0x95a64259 cdev_add +EXPORT_SYMBOL vmlinux 0x95b2d603 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x95c40da2 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x95c5aad0 mount_nodev +EXPORT_SYMBOL vmlinux 0x95c86c5e generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x95d9c07c do_splice_to +EXPORT_SYMBOL vmlinux 0x95dbe078 __get_user_2 +EXPORT_SYMBOL vmlinux 0x95dc11e1 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x95f12102 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x95f344b5 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x95fab473 mmc_add_host +EXPORT_SYMBOL vmlinux 0x961cf3f6 dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x963afe47 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x963f64b7 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x964a84ca ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x964ab816 snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x96598a2f d_alloc +EXPORT_SYMBOL vmlinux 0x965f8041 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x966339c6 arp_create +EXPORT_SYMBOL vmlinux 0x96789412 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0x9683fbbf thaw_bdev +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x968bcd92 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x968db821 __ps2_command +EXPORT_SYMBOL vmlinux 0x96ade2fe pipe_unlock +EXPORT_SYMBOL vmlinux 0x96b02c34 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x96b39b6e omap_start_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x973fc997 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x9744aa1d keyring_clear +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9779ec43 dget_parent +EXPORT_SYMBOL vmlinux 0x97997af7 register_cdrom +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97b1da9d __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x98082893 __copy_to_user +EXPORT_SYMBOL vmlinux 0x980aeff1 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98259492 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x9827d788 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x98399eb7 generic_getxattr +EXPORT_SYMBOL vmlinux 0x984a5d61 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x985ec3ac bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x987cf0dc dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0x98a39f30 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x98d9bc82 tty_free_termios +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x9906c3e9 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x991bfbc6 icmpv6_send +EXPORT_SYMBOL vmlinux 0x991c9d45 pipe_to_file +EXPORT_SYMBOL vmlinux 0x993fcfbf mddev_congested +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x99792071 d_rehash +EXPORT_SYMBOL vmlinux 0x998eee8f keyring_search +EXPORT_SYMBOL vmlinux 0x998fb79b path_is_under +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999c3148 __raw_readsb +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99aace13 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c45776 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99dacf0a register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x99fbdc80 proto_unregister +EXPORT_SYMBOL vmlinux 0x9a04ae9b netdev_err +EXPORT_SYMBOL vmlinux 0x9a10da7a fb_blank +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a4bd7ae generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x9a609350 inet_ioctl +EXPORT_SYMBOL vmlinux 0x9a6cd279 clk_unregister +EXPORT_SYMBOL vmlinux 0x9a8dc6db lg_local_lock +EXPORT_SYMBOL vmlinux 0x9a918a63 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9aa5f30b ata_dev_printk +EXPORT_SYMBOL vmlinux 0x9abbdb69 clk_set_parent +EXPORT_SYMBOL vmlinux 0x9acab3c1 locks_free_lock +EXPORT_SYMBOL vmlinux 0x9af80e2a vfs_writev +EXPORT_SYMBOL vmlinux 0x9b1ff1fc sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x9b321ba1 blk_run_queue +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b43c5d5 dev_uc_add +EXPORT_SYMBOL vmlinux 0x9b46cf45 generic_writepages +EXPORT_SYMBOL vmlinux 0x9b6ab2d0 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b782490 kill_bdev +EXPORT_SYMBOL vmlinux 0x9b810075 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x9b875fad of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bc86f64 __get_user_pages +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9bd34975 genl_register_family +EXPORT_SYMBOL vmlinux 0x9bd73e7f writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x9be8626a mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x9be893ab sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x9beb4ca7 snd_timer_open +EXPORT_SYMBOL vmlinux 0x9c3a7010 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x9c51b512 bdget_disk +EXPORT_SYMBOL vmlinux 0x9c554926 inet_listen +EXPORT_SYMBOL vmlinux 0x9c5b17a5 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9c5b9f0f snd_timer_continue +EXPORT_SYMBOL vmlinux 0x9c5ca642 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x9c7077bd enable_hlt +EXPORT_SYMBOL vmlinux 0x9c82612d filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x9c8cf297 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x9c94f01e twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x9cb08b18 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd1063a dump_write +EXPORT_SYMBOL vmlinux 0x9cd2e7d0 gpmc_nand_read +EXPORT_SYMBOL vmlinux 0x9cd60539 sg_free_table +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf16940 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d069aba writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x9d375b6f bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d5d181f genl_register_ops +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d719948 d_delete +EXPORT_SYMBOL vmlinux 0x9d7a0cf8 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x9d9d3bf2 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x9dad7940 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0x9dfd7316 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0eef07 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e3f8af3 udp_disconnect +EXPORT_SYMBOL vmlinux 0x9e4d26bd nand_scan +EXPORT_SYMBOL vmlinux 0x9e4f97a8 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e61edcb sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL vmlinux 0x9e76ab90 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9eb89176 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x9ec6120e register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9edd7161 skb_split +EXPORT_SYMBOL vmlinux 0x9ef42185 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x9efacafc phy_scan_fixups +EXPORT_SYMBOL vmlinux 0x9efe38b6 md_register_thread +EXPORT_SYMBOL vmlinux 0x9f1a5966 dquot_transfer +EXPORT_SYMBOL vmlinux 0x9f203ef0 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x9f2105cc shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x9f22611a bdi_register +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f3262b2 ip6_xmit +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f50adac snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x9f866e0d blk_peek_request +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f99d9bf ida_pre_get +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fedfaba max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x9ff4a7d0 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xa010498a blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xa0233c18 elv_rb_del +EXPORT_SYMBOL vmlinux 0xa040fb08 snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05a6e6b security_mmap_file +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa07b3d0d ___pskb_trim +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa084939c cleancache_register_ops +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0bdeff5 sock_no_listen +EXPORT_SYMBOL vmlinux 0xa0c8342e blkdev_fsync +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0ea45c4 fget +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11fda63 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa12791b9 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa1437994 sock_register +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa14f7b4b wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0xa1684773 amba_device_register +EXPORT_SYMBOL vmlinux 0xa170c18c journal_dirty_data +EXPORT_SYMBOL vmlinux 0xa1763ee4 km_policy_notify +EXPORT_SYMBOL vmlinux 0xa17e3d87 sock_map_fd +EXPORT_SYMBOL vmlinux 0xa19bc4d2 blkdev_issue_discard +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 0xa1e56687 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa1e876dc blk_register_region +EXPORT_SYMBOL vmlinux 0xa1eb3e7a sock_no_poll +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa2208afd vfs_create +EXPORT_SYMBOL vmlinux 0xa2237d32 sock_no_getname +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa25746c3 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xa25c022a scsi_put_command +EXPORT_SYMBOL vmlinux 0xa2665ebb mtd_concat_create +EXPORT_SYMBOL vmlinux 0xa2705340 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa2867ac5 omap_dss_get_overlay_manager +EXPORT_SYMBOL vmlinux 0xa28cd714 register_console +EXPORT_SYMBOL vmlinux 0xa28d9e7b key_revoke +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2aad002 amba_release_regions +EXPORT_SYMBOL vmlinux 0xa2ad0138 lock_may_write +EXPORT_SYMBOL vmlinux 0xa2e86f55 snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0xa2edff28 security_path_rename +EXPORT_SYMBOL vmlinux 0xa2f63727 find_or_create_page +EXPORT_SYMBOL vmlinux 0xa313c690 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xa31a2a06 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xa31a9706 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa336feb7 nand_manuf_ids +EXPORT_SYMBOL vmlinux 0xa33f9c8e seq_read +EXPORT_SYMBOL vmlinux 0xa33f9dc0 find_lock_page +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa3588905 rtnl_notify +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa3ad0f86 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xa3c3788d tty_register_driver +EXPORT_SYMBOL vmlinux 0xa3cd9cbe inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa3f2af99 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xa3f5bd3f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xa3f8a87a unregister_qdisc +EXPORT_SYMBOL vmlinux 0xa4110f63 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa44a94e3 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xa4610bc6 omap_rev +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4887716 secpath_dup +EXPORT_SYMBOL vmlinux 0xa48f5b09 omap_dma_set_global_params +EXPORT_SYMBOL vmlinux 0xa4b42c55 omap_set_dma_priority +EXPORT_SYMBOL vmlinux 0xa4b727ab __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xa4b8cfcf xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xa4bb08c8 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa4d415d7 clk_set_rate +EXPORT_SYMBOL vmlinux 0xa4eaa1c1 napi_complete +EXPORT_SYMBOL vmlinux 0xa51f4c3e create_empty_buffers +EXPORT_SYMBOL vmlinux 0xa5464a0a tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xa55d9da7 mii_link_ok +EXPORT_SYMBOL vmlinux 0xa575245c skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa584edbf i2c_master_recv +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa5965784 sock_rfree +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b3976c inet_addr_type +EXPORT_SYMBOL vmlinux 0xa5b43ac3 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xa5c78923 __blk_run_queue +EXPORT_SYMBOL vmlinux 0xa5cc9fe5 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa60902e6 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0xa61c8462 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xa61e4362 omap_request_dma +EXPORT_SYMBOL vmlinux 0xa62c55a7 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6411cea unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xa64a4cea usb_nop_xceiv_unregister +EXPORT_SYMBOL vmlinux 0xa6520716 journal_forget +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa682563d i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xa68bccb2 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xa68e16ad sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6be0562 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ea7494 set_bh_page +EXPORT_SYMBOL vmlinux 0xa6f56f7e jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa703ba34 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xa70cf131 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xa718d276 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xa75df332 uart_match_port +EXPORT_SYMBOL vmlinux 0xa7b2815b dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa7c390f2 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xa7ebe164 locks_delete_block +EXPORT_SYMBOL vmlinux 0xa7f2c5ea prepare_creds +EXPORT_SYMBOL vmlinux 0xa8191e9b ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8233ef0 dev_addr_flush +EXPORT_SYMBOL vmlinux 0xa8380d34 kernel_execve +EXPORT_SYMBOL vmlinux 0xa8600ac5 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xa869658f __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8ab602d sock_wake_async +EXPORT_SYMBOL vmlinux 0xa8cde9a7 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xa8ec34c7 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xa8f3a8e0 vm_mmap +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa9086c39 km_state_notify +EXPORT_SYMBOL vmlinux 0xa910d902 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xa9131464 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xa92971e2 sk_reset_txq +EXPORT_SYMBOL vmlinux 0xa92a982f xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xa9301192 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xa95f64a3 proc_mkdir +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa969e129 get_disk +EXPORT_SYMBOL vmlinux 0xa975ca1b ab3100_event_register +EXPORT_SYMBOL vmlinux 0xa986c9fa blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xa9a59dc3 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xaa1158a7 omap_dss_get_device +EXPORT_SYMBOL vmlinux 0xaa2bc5e3 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xaa5927f9 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6e751d inode_only_permission +EXPORT_SYMBOL vmlinux 0xaa74d1b3 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xaa7f65fb page_readlink +EXPORT_SYMBOL vmlinux 0xaa8eb206 touch_atime +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaacd85be elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae29d55 nand_bch_correct_data +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab42479e tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xab47c102 scsi_device_put +EXPORT_SYMBOL vmlinux 0xab549bf1 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab9ed595 kobject_put +EXPORT_SYMBOL vmlinux 0xabaae066 snd_card_file_add +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabfcfac5 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac18e4ea kset_unregister +EXPORT_SYMBOL vmlinux 0xac3f3ec1 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0xac5f113d cpu_all_bits +EXPORT_SYMBOL vmlinux 0xac66477b iunique +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac84a980 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xac988fce revalidate_disk +EXPORT_SYMBOL vmlinux 0xacafef80 amba_find_device +EXPORT_SYMBOL vmlinux 0xacc10bd5 input_close_device +EXPORT_SYMBOL vmlinux 0xacc8152b tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xace5f61d check_disk_change +EXPORT_SYMBOL vmlinux 0xacf24f49 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xacf28e8d bdi_destroy +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad10c9fe init_net +EXPORT_SYMBOL vmlinux 0xad12ea99 follow_down_one +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad4ffde7 give_up_console +EXPORT_SYMBOL vmlinux 0xad52aa59 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadcb4562 mmc_start_req +EXPORT_SYMBOL vmlinux 0xaddedca1 block_commit_write +EXPORT_SYMBOL vmlinux 0xade66572 udp_proc_register +EXPORT_SYMBOL vmlinux 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae173d05 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xae48ab60 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xae531f84 register_sysctl +EXPORT_SYMBOL vmlinux 0xae5e7d2d tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xae684eb8 blk_init_queue +EXPORT_SYMBOL vmlinux 0xae69d5a2 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae9b7941 seq_escape +EXPORT_SYMBOL vmlinux 0xaea5a2e2 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xaebd05b7 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaec890a2 inet_accept +EXPORT_SYMBOL vmlinux 0xaeca4db0 mb_cache_create +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 0xaf6c7e37 create_proc_entry +EXPORT_SYMBOL vmlinux 0xaf6e326a path_put +EXPORT_SYMBOL vmlinux 0xaf8aa518 system_rev +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafa6b8b6 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xafbfe84c locks_copy_lock +EXPORT_SYMBOL vmlinux 0xafcc0302 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xafd688da mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xafde5847 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0xaff17bc7 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xb007e0fe dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xb008c3e1 mnt_pin +EXPORT_SYMBOL vmlinux 0xb015ba89 dev_close +EXPORT_SYMBOL vmlinux 0xb039285f eth_validate_addr +EXPORT_SYMBOL vmlinux 0xb05beff0 dev_uc_del +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06c4c64 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xb07fa39f bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0eeef9a sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb0f410e2 ihold +EXPORT_SYMBOL vmlinux 0xb0f5ce1f jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1235aa9 dquot_alloc +EXPORT_SYMBOL vmlinux 0xb12477e3 snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0xb143ba9a mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xb14897d9 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xb14effef xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xb1567263 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xb16fe7b3 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb18e6948 omap_dss_pal_timings +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1aef734 napi_gro_receive +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c905d5 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xb1cf4030 journal_force_commit +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb1f532bb __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xb1f7964a skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb214b053 mnt_unpin +EXPORT_SYMBOL vmlinux 0xb2160229 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb250d9b0 vm_event_states +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb26dbbdf xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xb278c767 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xb291e189 dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0xb2a0f93d jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +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 0xb3435a22 security_path_chmod +EXPORT_SYMBOL vmlinux 0xb352ed10 simple_unlink +EXPORT_SYMBOL vmlinux 0xb383c894 search_binary_handler +EXPORT_SYMBOL vmlinux 0xb389538f xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xb3b6d0c1 input_set_capability +EXPORT_SYMBOL vmlinux 0xb3c01937 dquot_drop +EXPORT_SYMBOL vmlinux 0xb3e90543 dump_seek +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb43d6775 arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0xb46e08b5 inode_permission +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb49355b0 empty_aops +EXPORT_SYMBOL vmlinux 0xb4953a64 simple_statfs +EXPORT_SYMBOL vmlinux 0xb49a1237 address_space_init_once +EXPORT_SYMBOL vmlinux 0xb4abf500 __register_binfmt +EXPORT_SYMBOL vmlinux 0xb4b94377 __nand_correct_data +EXPORT_SYMBOL vmlinux 0xb4c8f38a omap_dma_chain_status +EXPORT_SYMBOL vmlinux 0xb4f54401 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xb51fc661 serial8250_register_port +EXPORT_SYMBOL vmlinux 0xb5435f5d skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb54a6340 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xb56cf75c netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57a3ede scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xb582be39 nla_put +EXPORT_SYMBOL vmlinux 0xb59536b6 uart_register_driver +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5c10a70 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d45564 lease_modify +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb60df67f sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xb654612a xfrm_policy_alloc +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 0xb68b2136 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xb6a1636c scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0xb6a4cbc4 xfrm_user_policy +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 0xb6c71978 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0xb6f7fddd skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb712ac4a kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xb71b0aae journal_init_inode +EXPORT_SYMBOL vmlinux 0xb72cd7c8 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xb747004d blk_execute_rq +EXPORT_SYMBOL vmlinux 0xb75da1b2 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xb7638088 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xb764632a __ip_dev_find +EXPORT_SYMBOL vmlinux 0xb77a7c47 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xb77f37dc journal_get_create_access +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 0xb7bfedbb dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xb7c1b4c4 tty_port_open +EXPORT_SYMBOL vmlinux 0xb7d858e6 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb81ecb7f omapdss_sdi_display_disable +EXPORT_SYMBOL vmlinux 0xb81fd3be idr_find +EXPORT_SYMBOL vmlinux 0xb835b3c4 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb840cad0 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xb86b5fae page_put_link +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb8794099 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xb8865129 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8ae0094 is_bad_inode +EXPORT_SYMBOL vmlinux 0xb8af9c11 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0xb8cf1450 i2c_release_client +EXPORT_SYMBOL vmlinux 0xb8e28d0b udp_ioctl +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb905fbb7 init_task +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb912e941 clear_nlink +EXPORT_SYMBOL vmlinux 0xb92d651f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xb95f98d6 _memset_io +EXPORT_SYMBOL vmlinux 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0xb96dd0f3 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xb971823f tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xb9807b20 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a8f03b omap_stop_dma +EXPORT_SYMBOL vmlinux 0xb9acd3d9 __put_user_2 +EXPORT_SYMBOL vmlinux 0xb9e52429 __wake_up +EXPORT_SYMBOL vmlinux 0xba1bd3bc tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xba435dd3 mdiobus_write +EXPORT_SYMBOL vmlinux 0xba46b8c3 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba6c963c bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xba714709 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xba76d6da scsi_print_sense +EXPORT_SYMBOL vmlinux 0xba88551e bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xba9453ef napi_gro_frags +EXPORT_SYMBOL vmlinux 0xbaac427c get_mem_type +EXPORT_SYMBOL vmlinux 0xbae8ad81 skb_find_text +EXPORT_SYMBOL vmlinux 0xbaf04a46 devm_clk_put +EXPORT_SYMBOL vmlinux 0xbafed761 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbb0f0e09 __put_cred +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb2b4612 rwsem_is_locked +EXPORT_SYMBOL vmlinux 0xbb483202 ether_setup +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb72d4fe __put_user_1 +EXPORT_SYMBOL vmlinux 0xbb7329e9 log_wait_commit +EXPORT_SYMBOL vmlinux 0xbb798f60 phy_find_first +EXPORT_SYMBOL vmlinux 0xbb9889a9 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbcbf9e5 of_phy_connect +EXPORT_SYMBOL vmlinux 0xbbd7525d tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xbbe3b09e __block_write_begin +EXPORT_SYMBOL vmlinux 0xbbf28589 vfs_open +EXPORT_SYMBOL vmlinux 0xbbfb25b7 km_state_expired +EXPORT_SYMBOL vmlinux 0xbc10dd97 __put_user_4 +EXPORT_SYMBOL vmlinux 0xbc2c1463 md_flush_request +EXPORT_SYMBOL vmlinux 0xbc3875d8 journal_flush +EXPORT_SYMBOL vmlinux 0xbc40d2f8 netdev_set_master +EXPORT_SYMBOL vmlinux 0xbc4217c4 generic_write_end +EXPORT_SYMBOL vmlinux 0xbc4c7c32 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xbc6d5f57 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xbc7e93b4 mdiobus_free +EXPORT_SYMBOL vmlinux 0xbc860222 gpmc_read_status +EXPORT_SYMBOL vmlinux 0xbc9e45e0 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0xbcdb1bba unlock_super +EXPORT_SYMBOL vmlinux 0xbd1f8f5f elv_add_request +EXPORT_SYMBOL vmlinux 0xbd4c4bfc qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xbd549091 md_integrity_register +EXPORT_SYMBOL vmlinux 0xbd5d786f try_to_release_page +EXPORT_SYMBOL vmlinux 0xbd6ddec6 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xbd6ea48e inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xbd797d9c snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0xbd7ef95f mem_map +EXPORT_SYMBOL vmlinux 0xbd84f151 dev_driver_string +EXPORT_SYMBOL vmlinux 0xbd94ecb7 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xbda30fdf bio_sector_offset +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdec60c9 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xbdf2580d __raw_readsl +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdfab02f eth_header_parse +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe183468 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe294081 ll_rw_block +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe477bd8 get_fs_type +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe6d76aa scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xbe91cf06 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xbeac328a journal_update_format +EXPORT_SYMBOL vmlinux 0xbeb9a164 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xbebc46e3 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xbedec40c follow_up +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef109c0 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf03e270 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xbf1faebe mutex_trylock +EXPORT_SYMBOL vmlinux 0xbf2e4c32 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xbf76d9a8 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfaa7c32 do_map_probe +EXPORT_SYMBOL vmlinux 0xbfbcaa52 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc00fbcbc __f_setown +EXPORT_SYMBOL vmlinux 0xc02cf69b clkdev_drop +EXPORT_SYMBOL vmlinux 0xc02ee9ac bdi_unregister +EXPORT_SYMBOL vmlinux 0xc036de6b eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc06ec2c8 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xc0710ae9 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc08b4157 simple_map_init +EXPORT_SYMBOL vmlinux 0xc0a6a8c5 omap_set_dma_dest_burst_mode +EXPORT_SYMBOL vmlinux 0xc0adccd9 file_update_time +EXPORT_SYMBOL vmlinux 0xc0bddfc8 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xc0cf95f9 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0xc100a98e generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xc103de31 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xc1043b88 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xc1077aca d_alloc_name +EXPORT_SYMBOL vmlinux 0xc1184a04 blk_get_request +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc13a48b1 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xc1509363 of_get_next_child +EXPORT_SYMBOL vmlinux 0xc154afa3 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xc15dcdfa phy_stop +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1712da7 bio_init +EXPORT_SYMBOL vmlinux 0xc17b6a0e try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xc1adc77f dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1db463c udplite_prot +EXPORT_SYMBOL vmlinux 0xc1ef6ee5 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xc20ecad5 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc2165d85 __arm_iounmap +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc25076c0 kobject_del +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc262048d __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc26d1e1b datagram_poll +EXPORT_SYMBOL vmlinux 0xc2707237 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xc272eddf nand_lock +EXPORT_SYMBOL vmlinux 0xc2748881 kobject_init +EXPORT_SYMBOL vmlinux 0xc29d886d journal_start +EXPORT_SYMBOL vmlinux 0xc2a64c03 snd_ctl_replace +EXPORT_SYMBOL vmlinux 0xc2a852a0 clk_disable +EXPORT_SYMBOL vmlinux 0xc2b259b6 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xc2b909c7 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xc2c83763 console_stop +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 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc2ff0ddc start_tty +EXPORT_SYMBOL vmlinux 0xc305f75c inode_dio_wait +EXPORT_SYMBOL vmlinux 0xc314f76b bh_submit_read +EXPORT_SYMBOL vmlinux 0xc32d08a5 block_read_full_page +EXPORT_SYMBOL vmlinux 0xc34dc8b7 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc357bc3a vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xc359fb65 abort +EXPORT_SYMBOL vmlinux 0xc36e8e92 generic_write_checks +EXPORT_SYMBOL vmlinux 0xc3796435 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xc431ffc0 __frontswap_store +EXPORT_SYMBOL vmlinux 0xc436bc53 page_address +EXPORT_SYMBOL vmlinux 0xc45ef616 idr_for_each +EXPORT_SYMBOL vmlinux 0xc45fd95f kmem_cache_free +EXPORT_SYMBOL vmlinux 0xc46354e9 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xc4868c1e journal_set_features +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a618d7 skb_dequeue +EXPORT_SYMBOL vmlinux 0xc4f85f59 register_netdevice +EXPORT_SYMBOL vmlinux 0xc4fba00c ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xc52da066 omap_set_dma_dest_params +EXPORT_SYMBOL vmlinux 0xc52e47d7 neigh_table_init +EXPORT_SYMBOL vmlinux 0xc541b237 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0xc54bc3c9 dqstats +EXPORT_SYMBOL vmlinux 0xc55cdfbb mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xc566c339 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xc58178be mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xc5832f10 mount_ns +EXPORT_SYMBOL vmlinux 0xc589ecc0 journal_clear_err +EXPORT_SYMBOL vmlinux 0xc58d1500 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xc59888bd alloc_file +EXPORT_SYMBOL vmlinux 0xc5a529c3 deactivate_super +EXPORT_SYMBOL vmlinux 0xc5ad0718 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xc5c8c8ad omap_dss_put_device +EXPORT_SYMBOL vmlinux 0xc5e5dc57 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fe34f2 unlock_rename +EXPORT_SYMBOL vmlinux 0xc6184045 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xc620ccbc snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63e210b dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xc65364f9 dql_completed +EXPORT_SYMBOL vmlinux 0xc679fe19 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc69c2c5b elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xc69dc877 nf_log_register +EXPORT_SYMBOL vmlinux 0xc6b22046 snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0xc6bfce97 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e13121 force_sig +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc70b1df0 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc72818a3 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xc72f143e km_new_mapping +EXPORT_SYMBOL vmlinux 0xc731ea73 thaw_super +EXPORT_SYMBOL vmlinux 0xc746adc2 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xc75bd8d7 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7834bfe udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xc788c6c6 blk_fetch_request +EXPORT_SYMBOL vmlinux 0xc79b50a3 fasync_helper +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4b894 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7cc827f sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xc7e274bb phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc80ca13e nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc82844c2 sync_inode +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85aad17 aio_put_req +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc88268b6 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xc88fe16f __bforget +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8d9fd2b inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xc8f4a67f textsearch_prepare +EXPORT_SYMBOL vmlinux 0xc9042536 snd_card_set_id +EXPORT_SYMBOL vmlinux 0xc90da90a insert_inode_locked +EXPORT_SYMBOL vmlinux 0xc9142293 omap_dss_ntsc_timings +EXPORT_SYMBOL vmlinux 0xc937c63b snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0xc9537cde bdev_read_only +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a839b4 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xc9c41593 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0xc9e1efce freeze_bdev +EXPORT_SYMBOL vmlinux 0xc9eee053 cdev_del +EXPORT_SYMBOL vmlinux 0xca03a47c skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xca088aa8 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xca2717b2 posix_lock_file +EXPORT_SYMBOL vmlinux 0xca57ed0c blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca902e41 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xcab17e69 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xcab19df3 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xcab3ea5f pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xcadb336f mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xcafeb688 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xcb11793b bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xcb5d8af0 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb7a6801 follow_down +EXPORT_SYMBOL vmlinux 0xcb7b33f3 neigh_update +EXPORT_SYMBOL vmlinux 0xcb8ad897 __scm_send +EXPORT_SYMBOL vmlinux 0xcb9219a4 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcbabe455 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xcbb0f77d simple_readpage +EXPORT_SYMBOL vmlinux 0xcbb8ded1 mdiobus_register +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbd83b43 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xcbf58ece unregister_netdev +EXPORT_SYMBOL vmlinux 0xcc047568 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xcc1d37bc jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xcc1f8df6 snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0xcc23209c unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xcc23c9c8 inet_frag_find +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc692602 skb_seq_read +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc9a916b amba_driver_unregister +EXPORT_SYMBOL vmlinux 0xccb20cd1 iput +EXPORT_SYMBOL vmlinux 0xccb88f01 md_write_start +EXPORT_SYMBOL vmlinux 0xccc5ddf4 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xccc932da __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xcccaabdc freeze_super +EXPORT_SYMBOL vmlinux 0xccdc5bf8 __bread +EXPORT_SYMBOL vmlinux 0xccf1c8a1 xfrm_register_km +EXPORT_SYMBOL vmlinux 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0xcd20284c inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd28c2bd __scm_destroy +EXPORT_SYMBOL vmlinux 0xcd30b95a tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0xcd4b732f bit_waitqueue +EXPORT_SYMBOL vmlinux 0xcd5dbb96 netdev_alert +EXPORT_SYMBOL vmlinux 0xcd63c845 __aeabi_lasr +EXPORT_SYMBOL vmlinux 0xcd87ffb1 put_io_context +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdf71cbb iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xce002ebe scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xce00d52a xfrm_state_update +EXPORT_SYMBOL vmlinux 0xce188de9 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce37a126 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL vmlinux 0xce45f411 mpage_readpage +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5cf778 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xce77f442 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce90d06f dev_addr_add +EXPORT_SYMBOL vmlinux 0xce9b7140 neigh_for_each +EXPORT_SYMBOL vmlinux 0xcea899ea down +EXPORT_SYMBOL vmlinux 0xcece48e1 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xcece52fd key_link +EXPORT_SYMBOL vmlinux 0xced26f30 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xced655de dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf39c124 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xcf3c25a9 tcf_em_register +EXPORT_SYMBOL vmlinux 0xcf3c4b11 do_sync_read +EXPORT_SYMBOL vmlinux 0xcf8802ce cfb_copyarea +EXPORT_SYMBOL vmlinux 0xcf8edb0a elv_rb_add +EXPORT_SYMBOL vmlinux 0xcf93a8d6 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xcf97ed76 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xcfaa61c8 simple_release_fs +EXPORT_SYMBOL vmlinux 0xcfd51171 dev_load +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd04a5d69 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xd0587b8b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xd0664311 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xd07be585 kill_pgrp +EXPORT_SYMBOL vmlinux 0xd082f249 register_qdisc +EXPORT_SYMBOL vmlinux 0xd0a4a5f5 __pskb_copy +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0aac69c fget_raw +EXPORT_SYMBOL vmlinux 0xd0cad963 consume_skb +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0dc6374 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xd0e3b3d8 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xd0e43207 usb_nop_xceiv_register +EXPORT_SYMBOL vmlinux 0xd0ee38b8 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0xd0f36f0d audit_log_format +EXPORT_SYMBOL vmlinux 0xd0f84f94 send_sig +EXPORT_SYMBOL vmlinux 0xd0fa6aeb dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd1157735 release_and_free_resource +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1445627 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xd154eb97 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xd162f540 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xd16eb3f9 security_path_mknod +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18421b5 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xd19620f3 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd199167e generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xd1a139fe lg_global_lock +EXPORT_SYMBOL vmlinux 0xd1f8b862 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xd1ff0b20 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xd21be93a dev_set_drvdata +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2249bf2 page_symlink +EXPORT_SYMBOL vmlinux 0xd251860c nand_correct_data +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 0xd26338c6 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xd275b52a iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xd27a5995 snd_pcm_suspend +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2c1ade7 icmp_send +EXPORT_SYMBOL vmlinux 0xd2c9cf34 skb_checksum +EXPORT_SYMBOL vmlinux 0xd2e5a3e6 filemap_flush +EXPORT_SYMBOL vmlinux 0xd2f12e18 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd366ad5a filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xd367b052 dma_find_channel +EXPORT_SYMBOL vmlinux 0xd382019f register_sysctl_table +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd399db3f neigh_create +EXPORT_SYMBOL vmlinux 0xd3b53c43 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xd3cb3d8d mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xd3d493f4 vfs_symlink +EXPORT_SYMBOL vmlinux 0xd3dbfbc4 _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3e0ca92 account_page_dirtied +EXPORT_SYMBOL vmlinux 0xd3e8c7fc journal_abort +EXPORT_SYMBOL vmlinux 0xd40a256a tty_port_close +EXPORT_SYMBOL vmlinux 0xd40dfad0 input_reset_device +EXPORT_SYMBOL vmlinux 0xd414dbed bioset_create +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd42327ee of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xd43a04f6 snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0xd4a2eaac security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xd4a797a6 skb_trim +EXPORT_SYMBOL vmlinux 0xd4c114ea tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xd5152710 sg_next +EXPORT_SYMBOL vmlinux 0xd56c1937 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xd56e9485 omap_set_dma_dest_index +EXPORT_SYMBOL vmlinux 0xd57941bd set_blocksize +EXPORT_SYMBOL vmlinux 0xd591abd3 file_remove_suid +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd597b085 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5ea4bf3 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xd5f7d5a9 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd61ebc20 set_anon_super +EXPORT_SYMBOL vmlinux 0xd624cb47 bio_alloc +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd655cb03 kern_path +EXPORT_SYMBOL vmlinux 0xd6656884 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xd66b84f4 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xd6cff6d3 blk_get_queue +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f0da41 omapdss_default_get_resolution +EXPORT_SYMBOL vmlinux 0xd757bca8 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xd75cdbcc make_bad_inode +EXPORT_SYMBOL vmlinux 0xd7643b54 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xd7767752 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd785e7a3 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xd7911f64 ps2_command +EXPORT_SYMBOL vmlinux 0xd7924190 register_framebuffer +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79b622d __free_pages +EXPORT_SYMBOL vmlinux 0xd7a2ad84 nand_scan_tail +EXPORT_SYMBOL vmlinux 0xd7b66480 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xd7d5597d mmc_request_done +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e663c0 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xd831fbb1 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xd870c27a dev_printk +EXPORT_SYMBOL vmlinux 0xd884a9dc ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xd8aa770a sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd8afe182 release_sock +EXPORT_SYMBOL vmlinux 0xd8b36a10 snd_timer_new +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8eca163 nand_default_bbt +EXPORT_SYMBOL vmlinux 0xd8f040f1 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd94dd9b1 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xd955d2b7 omap_set_dma_dest_data_pack +EXPORT_SYMBOL vmlinux 0xd96b6dd1 omap_device_get_by_hwmod_name +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9a22619 i2c_master_send +EXPORT_SYMBOL vmlinux 0xd9aa27a2 mempool_create_node +EXPORT_SYMBOL vmlinux 0xd9c57f61 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xd9cd3078 dput +EXPORT_SYMBOL vmlinux 0xd9cd8ddb map_destroy +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9d5600f cdev_alloc +EXPORT_SYMBOL vmlinux 0xd9f8bbe1 misc_register +EXPORT_SYMBOL vmlinux 0xda00d857 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xda282423 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xda477008 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xda77007a neigh_lookup +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda7d4403 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaac2fa2 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xdab5a488 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xdad28c9c dquot_quota_on +EXPORT_SYMBOL vmlinux 0xdad784c0 __dev_printk +EXPORT_SYMBOL vmlinux 0xdad82db9 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0xdade256d jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xdb0083e9 genphy_update_link +EXPORT_SYMBOL vmlinux 0xdb16edf1 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xdb2178c7 __sg_free_table +EXPORT_SYMBOL vmlinux 0xdb4292e4 omap_set_dma_params +EXPORT_SYMBOL vmlinux 0xdb45f55b fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xdb547f71 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb71b872 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb779077 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd797a8 set_create_files_as +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc0a97b2 input_allocate_device +EXPORT_SYMBOL vmlinux 0xdc1fc9bc dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0xdc23aac9 try_module_get +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc46b485 clk_register +EXPORT_SYMBOL vmlinux 0xdc564167 blk_init_tags +EXPORT_SYMBOL vmlinux 0xdc61588c mii_nway_restart +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc798d37 __mutex_init +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcbc1f79 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcc6a256 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xdd07d279 fput +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd2aed80 generic_file_fsync +EXPORT_SYMBOL vmlinux 0xdd3e5167 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xdd47db72 sock_create +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd6592ca clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xdd8debd9 generic_read_dir +EXPORT_SYMBOL vmlinux 0xdd9eb4cd __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xddab13b3 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xddcd13d5 __dquot_transfer +EXPORT_SYMBOL vmlinux 0xdddf622a set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xddefd636 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xde15c042 omap_set_dma_src_index +EXPORT_SYMBOL vmlinux 0xde2843a2 snd_pcm_notify +EXPORT_SYMBOL vmlinux 0xde3c68a6 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xde652fa0 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xde692d94 omap_get_dma_chain_src_pos +EXPORT_SYMBOL vmlinux 0xde7f8d8b d_validate +EXPORT_SYMBOL vmlinux 0xde8c763d cpu_v7_set_pte_ext +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xdeb1d374 ip6_frag_match +EXPORT_SYMBOL vmlinux 0xdebb6b18 lock_fb_info +EXPORT_SYMBOL vmlinux 0xdec99da0 get_gendisk +EXPORT_SYMBOL vmlinux 0xdef1aea7 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xdf023537 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xdf10d18c neigh_event_ns +EXPORT_SYMBOL vmlinux 0xdf1ef69f wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xdf439867 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf74d0be snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0xdf781686 snd_seq_root +EXPORT_SYMBOL vmlinux 0xdf89a50d module_layout +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb01a80 cpu_v7_dcache_clean_area +EXPORT_SYMBOL vmlinux 0xdfbee76b ps2_begin_command +EXPORT_SYMBOL vmlinux 0xdfc10ad6 get_phy_device +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfcfb2cf arm_dma_ops +EXPORT_SYMBOL vmlinux 0xdfd91ce9 omap_type +EXPORT_SYMBOL vmlinux 0xdfeabe12 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xdfeea9a5 vfs_readdir +EXPORT_SYMBOL vmlinux 0xe00f33bd unregister_cdrom +EXPORT_SYMBOL vmlinux 0xe0327cc1 ipv4_specific +EXPORT_SYMBOL vmlinux 0xe037c012 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe0519376 devm_gpio_request +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe062b7d3 snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0xe06cfcaf inet_bind +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe09c3abb send_sig_info +EXPORT_SYMBOL vmlinux 0xe0a176a1 dev_alert +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0dccfa7 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe0ebb48e mntput +EXPORT_SYMBOL vmlinux 0xe0f58c7a blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xe106154f omap_vram_get_info +EXPORT_SYMBOL vmlinux 0xe10a17b2 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xe10a672c inode_add_bytes +EXPORT_SYMBOL vmlinux 0xe10b52e8 journal_create +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe12bd949 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0xe12ecf93 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xe12fe1ba mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xe1336dd3 may_umount_tree +EXPORT_SYMBOL vmlinux 0xe16b893b mutex_lock +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe18c5624 task_nice +EXPORT_SYMBOL vmlinux 0xe19dc5ee neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe1b1bb86 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe1d3614f twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xe1d5b890 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe1f729ab clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xe1fe782c mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe20a2fcb ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xe217f52d eth_type_trans +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe26acf42 get_io_context +EXPORT_SYMBOL vmlinux 0xe26c3124 snd_timer_resolution +EXPORT_SYMBOL vmlinux 0xe275980a blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe28f295b blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xe2b25ca6 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xe2be6f18 sg_miter_next +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e5efdf genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2ed045e of_parse_phandle +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe311c679 blk_delay_queue +EXPORT_SYMBOL vmlinux 0xe31bbe55 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe35b406d tty_hangup +EXPORT_SYMBOL vmlinux 0xe366882f __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xe3690733 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe374c9e6 dm_io +EXPORT_SYMBOL vmlinux 0xe377c61c scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe37d10ae omap_dispc_unregister_isr +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3dfef7f inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xe3fa557a bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xe3fa758c __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xe405f35a __devm_request_region +EXPORT_SYMBOL vmlinux 0xe409ab84 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xe4482b13 bio_split +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4b1a116 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xe4c80097 cacheid +EXPORT_SYMBOL vmlinux 0xe4d53552 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xe4d7ed6b skb_make_writable +EXPORT_SYMBOL vmlinux 0xe4e3085f sock_i_uid +EXPORT_SYMBOL vmlinux 0xe4e6ba4e kmap +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5445af6 omap_get_dma_dst_pos +EXPORT_SYMBOL vmlinux 0xe555f44a udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xe55eec63 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xe561c325 bio_copy_kern +EXPORT_SYMBOL vmlinux 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0xe5765515 soft_cursor +EXPORT_SYMBOL vmlinux 0xe576e1c2 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe59ebaf3 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xe5abc009 arp_xmit +EXPORT_SYMBOL vmlinux 0xe5b91163 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xe5c26e8a netif_receive_skb +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5c7a550 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe5d58c84 irq_set_chip +EXPORT_SYMBOL vmlinux 0xe5d73dbe kernel_getsockname +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5e65fc7 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f18bce km_policy_expired +EXPORT_SYMBOL vmlinux 0xe6214ea8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xe63c5d44 security_path_unlink +EXPORT_SYMBOL vmlinux 0xe64f8415 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xe6548153 iget5_locked +EXPORT_SYMBOL vmlinux 0xe671b058 iget_failed +EXPORT_SYMBOL vmlinux 0xe6744a89 omap_clear_dma +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6c3ebb0 __raw_writesw +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6f84ff5 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fbe96e proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xe700e645 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0xe707d823 __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0xe719b43a inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xe72cfa7b genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xe73d0fde sleep_on +EXPORT_SYMBOL vmlinux 0xe746f22d bdgrab +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe77f7995 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xe78989c4 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xe78d8534 security_path_truncate +EXPORT_SYMBOL vmlinux 0xe79b76e9 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xe79c9417 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7bcb160 sk_run_filter +EXPORT_SYMBOL vmlinux 0xe7beed2f is_container_init +EXPORT_SYMBOL vmlinux 0xe7c314ae dev_err +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d9fdb3 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xe7ec2f4e sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe81ab319 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xe81bb9fc file_sb_list_del +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87ed1ce idr_replace +EXPORT_SYMBOL vmlinux 0xe87fb6d2 vfs_statfs +EXPORT_SYMBOL vmlinux 0xe8995d52 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xe899913a md_error +EXPORT_SYMBOL vmlinux 0xe89dfd84 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8cde130 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xe8ebc849 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0xe9046d8e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9209940 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xe9283195 register_con_driver +EXPORT_SYMBOL vmlinux 0xe92b83b7 ip_options_compile +EXPORT_SYMBOL vmlinux 0xe93e2e1f tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95b09ee journal_restart +EXPORT_SYMBOL vmlinux 0xe95c514a __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe9ab127e kmap_high +EXPORT_SYMBOL vmlinux 0xe9acaee3 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xe9b0eacd omapfb_update_window +EXPORT_SYMBOL vmlinux 0xe9f22acf tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea1d8a57 unlock_buffer +EXPORT_SYMBOL vmlinux 0xea33db32 security_path_chown +EXPORT_SYMBOL vmlinux 0xea5aeebc tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea8cbea6 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9fb9df rename_lock +EXPORT_SYMBOL vmlinux 0xeabfc823 nla_append +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xeae2d398 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaea334a input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xeaed85a0 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xeb06e056 nf_register_hook +EXPORT_SYMBOL vmlinux 0xeb0a2c4c scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xeb115c98 da903x_query_status +EXPORT_SYMBOL vmlinux 0xeb17f814 get_write_access +EXPORT_SYMBOL vmlinux 0xeb1b120e omap_set_dma_write_mode +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb41e2a0 kthread_stop +EXPORT_SYMBOL vmlinux 0xeb4c7a71 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xeb553c60 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5651a3 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xeb6b941f mount_single +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebbae2c5 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xebcc935c of_dev_get +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebfdcbdf system_serial_high +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec1b1b67 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xec1dc190 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xec4bdcfb tty_port_close_end +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec620ce3 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xec6a4d04 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xec90228e scsi_print_command +EXPORT_SYMBOL vmlinux 0xec98a0e5 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xece649f5 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xed0fa2c8 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xed23f3ad phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed6fad50 del_gendisk +EXPORT_SYMBOL vmlinux 0xed81e517 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xed854dac omap_stop_dma_chain_transfers +EXPORT_SYMBOL vmlinux 0xed8606f0 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xed974aab elevator_change +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc56a54 end_page_writeback +EXPORT_SYMBOL vmlinux 0xedd173be register_sound_special_device +EXPORT_SYMBOL vmlinux 0xedd9106d __ashrdi3 +EXPORT_SYMBOL vmlinux 0xede4f2f2 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xede7bb87 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xedf2e870 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xee09d879 register_filesystem +EXPORT_SYMBOL vmlinux 0xee108f30 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee3f7fb2 vmap +EXPORT_SYMBOL vmlinux 0xee4be3ac tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xee9c279e setup_new_exec +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeec37485 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xeecccda8 mntget +EXPORT_SYMBOL vmlinux 0xeed9e33b skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xeee20b56 locks_init_lock +EXPORT_SYMBOL vmlinux 0xeef32b49 notify_change +EXPORT_SYMBOL vmlinux 0xeeffea90 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0xef2d4e25 sock_no_accept +EXPORT_SYMBOL vmlinux 0xef33799d input_register_handler +EXPORT_SYMBOL vmlinux 0xef749cb3 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xefa83084 snd_jack_report +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 0xf026d99f __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xf02ab09d stop_tty +EXPORT_SYMBOL vmlinux 0xf05e2daf simple_open +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf070e682 backlight_device_register +EXPORT_SYMBOL vmlinux 0xf08ba8fc mount_subtree +EXPORT_SYMBOL vmlinux 0xf09b45fb seq_puts +EXPORT_SYMBOL vmlinux 0xf0b0d773 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xf0b147bb scsi_device_get +EXPORT_SYMBOL vmlinux 0xf0cf3a82 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xf0d68ed6 clk_register_clkdevs +EXPORT_SYMBOL vmlinux 0xf0de2758 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f271cd __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xf0f772c7 napi_skb_finish +EXPORT_SYMBOL vmlinux 0xf0fdf6cb __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xf1076687 netif_napi_del +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf121cb43 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf161e4cf inet6_getname +EXPORT_SYMBOL vmlinux 0xf16d7815 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf17e67d4 dst_destroy +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1b980b5 max8925_reg_write +EXPORT_SYMBOL vmlinux 0xf1c64e51 netdev_printk +EXPORT_SYMBOL vmlinux 0xf1cc5f0b devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf26df746 omap_vram_free +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2b5e5ea scsi_free_command +EXPORT_SYMBOL vmlinux 0xf2c12a07 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xf2e2f922 simple_rename +EXPORT_SYMBOL vmlinux 0xf2e5a880 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xf2f63e74 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xf313315d lro_flush_all +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34cbce2 backlight_force_update +EXPORT_SYMBOL vmlinux 0xf35b10ad nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf36a833f xfrm_policy_flush +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 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e8fa18 generic_fillattr +EXPORT_SYMBOL vmlinux 0xf4287226 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xf430a44c journal_release_buffer +EXPORT_SYMBOL vmlinux 0xf449d4dd poll_freewait +EXPORT_SYMBOL vmlinux 0xf480a5af jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xf488f5c1 snd_pcm_lib_writev +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4aa33f8 igrab +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4c134d3 pagevec_lookup +EXPORT_SYMBOL vmlinux 0xf4cc42c7 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf51ad169 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xf52b145b md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5471996 sock_no_bind +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf564412a __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0xf58dead5 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0xf58f81d7 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xf59aee8b netif_notify_peers +EXPORT_SYMBOL vmlinux 0xf59f415d blk_end_request +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5d70668 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xf5e13693 _dev_info +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf609b55b dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xf61331c6 tcp_connect +EXPORT_SYMBOL vmlinux 0xf613ec58 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0xf637e214 __serio_register_port +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf63a3529 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xf6726490 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xf677da8a netif_rx +EXPORT_SYMBOL vmlinux 0xf6872f72 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0xf6a244f3 tc_classify +EXPORT_SYMBOL vmlinux 0xf6a3ae41 sk_alloc +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 0xf711439c i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xf73cf843 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xf7437548 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xf7442d8c tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf7802486 __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0xf782032b snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0xf78478a4 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf792d7e3 kobject_get +EXPORT_SYMBOL vmlinux 0xf79c9fa3 omap_vram_alloc +EXPORT_SYMBOL vmlinux 0xf7b1cb35 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xf7c61815 get_omap3_evm_rev +EXPORT_SYMBOL vmlinux 0xf7ec472a invalidate_partition +EXPORT_SYMBOL vmlinux 0xf7faf41e end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf833b8de request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xf853bbca omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0xf86e49ab neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xf87be997 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xf88c3301 sg_init_table +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf89289af __destroy_inode +EXPORT_SYMBOL vmlinux 0xf8c56b63 inode_init_owner +EXPORT_SYMBOL vmlinux 0xf8d8fef6 simple_write_begin +EXPORT_SYMBOL vmlinux 0xf8ded82e snd_cards +EXPORT_SYMBOL vmlinux 0xf8faf418 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xf8fbb4f0 __bad_xchg +EXPORT_SYMBOL vmlinux 0xf8fbb96f phy_device_register +EXPORT_SYMBOL vmlinux 0xf92da805 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf941df32 user_path_create +EXPORT_SYMBOL vmlinux 0xf96ca801 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xf96d915c bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf97ee5bd tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0xf984a755 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b64067 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xf9bd91a4 tty_check_change +EXPORT_SYMBOL vmlinux 0xf9c2f2c7 would_dump +EXPORT_SYMBOL vmlinux 0xf9c44527 nobh_write_end +EXPORT_SYMBOL vmlinux 0xf9dc42f9 seq_open +EXPORT_SYMBOL vmlinux 0xf9e4bc59 tcf_hash_search +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xfa082128 down_interruptible +EXPORT_SYMBOL vmlinux 0xfa351d15 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xfa3643fb omapdss_default_get_recommended_bpp +EXPORT_SYMBOL vmlinux 0xfa5d9b4b filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xfa7d365c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xfa84b9ed jbd2_journal_get_create_access +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 0xfada825a dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb1858f9 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xfb1ccbb6 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xfb35abee dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xfb587836 dcb_getapp +EXPORT_SYMBOL vmlinux 0xfb59c2b2 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xfb6a9a33 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7d9c45 __udivsi3 +EXPORT_SYMBOL vmlinux 0xfb935b16 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xfba2cb66 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xfba49d22 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbb8aa0b skb_queue_purge +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbe2e103 snd_card_file_remove +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1163b0 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xfc12055f __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc589d70 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xfc60c8ff dentry_open +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc7bdedf tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xfc866f4e xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xfc8ae87b devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc9e9ad0 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb1e5ff bdi_init +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc7c111 no_llseek +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf86308 kunmap_high +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd15fbb2 input_unregister_device +EXPORT_SYMBOL vmlinux 0xfd305341 walk_stackframe +EXPORT_SYMBOL vmlinux 0xfd30e836 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xfd4aa8a1 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xfd61d0f0 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd875215 commit_creds +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL vmlinux 0xfdeac884 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe0af70e netdev_notice +EXPORT_SYMBOL vmlinux 0xfe339f92 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0xfe552272 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe634f58 add_wait_queue +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe85f6b8 journal_load +EXPORT_SYMBOL vmlinux 0xfe94d105 dev_notice +EXPORT_SYMBOL vmlinux 0xfea47540 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0xfeb87748 elv_register_queue +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfecb5e77 sock_release +EXPORT_SYMBOL vmlinux 0xfed9075e scsi_print_result +EXPORT_SYMBOL vmlinux 0xfedb7c00 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff4f3894 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xff67b37f __lshrdi3 +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff8ab696 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xff8f6f41 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffaa066c bd_set_size +EXPORT_SYMBOL vmlinux 0xffaf4d69 softnet_data +EXPORT_SYMBOL vmlinux 0xffb715f0 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xffb94ef0 _test_and_change_bit +EXPORT_SYMBOL vmlinux 0xffd2cf99 omap_dss_get_num_overlay_managers +EXPORT_SYMBOL vmlinux 0xffd34a55 dquot_file_open +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe16134 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe70d5d d_invalidate +EXPORT_SYMBOL_GPL crypto/af_alg 0x0039b5f5 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x4549180d af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x859fe84b af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x915027c6 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x95a63642 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xa8dca434 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xafbc99a0 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf623e43 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe100f3f5 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x364799e1 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xb64f5288 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8ac9cd4f async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc4a5fa36 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x20c59106 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x3e9cc037 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x65d0b2bc async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7957de65 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x43ef8041 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xbfbc8aba async_xor +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x3f356d99 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x31e99b7a cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x4a96c740 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x6309daef cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x64f0f386 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9dc39bef cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xa3bc0143 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb058f2eb cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb6a678ee cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xda6ab29b cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe961cc68 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x581d98a0 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 0xc8d74ff8 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xcc87914f twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xdfee5ad0 xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0a10616d ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0b3b8d67 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x135a76f3 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x178eda06 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4db9cf7c ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x57d29bc3 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5a41b221 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x75b9d418 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8040cfea ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8939a085 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x93e5cab0 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9fe67172 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa0780e8a ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa3f5b13e ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb2296024 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb9a5c307 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbc26097a ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdddc8862 ahci_port_resume +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 0x0b4923cc __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x56c17640 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d5e8e71 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d96acbb bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x25b5bdaf bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x37301904 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3b014335 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x446a627a bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x56181d7e bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x728d6b8a __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x812c98a8 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa1fd891c bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa6ee35cf bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb36a833a bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc3fd7481 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdae6997c bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf7e10067 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x02c57a1a btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x19a676ef btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x225420fa btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x35bb3f16 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x48b459b3 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x76122d1b btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7ce0a317 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8b9c65c1 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8f2bbd7c btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xad43fec9 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x08da9925 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6bfe7a37 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8b129122 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9a649faf extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xaaa1de2b extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xad3b9e7a extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb414a6f3 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbfca5387 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc00b77e2 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc6dad6a7 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xdadb03f7 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xde7662b2 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x844db1d1 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa01e6ca2 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x63653845 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xd34ec0ff __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x28f23d67 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa6794c81 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x150c716b hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e3fc3d4 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x208f711b hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x23b0ebad hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x36541ab7 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37bd8671 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x457b41d8 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x49a04af1 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5f07a0c2 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x74034767 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x789cbd87 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7ff55164 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x804e2280 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x80b24dbb hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8de98b79 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x939f838f hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x93c75b1b hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a2b8fa5 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d7fde02 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaa04e3f7 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb57aec78 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc125a9ae hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd6d48801 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdba8b09b hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3362206 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe3b8fde4 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeb2400a4 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf1d5fa78 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xff2220a2 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x01fa05c2 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 0x9277c223 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xef6ba309 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x260192f2 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3667f687 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa5bd32f8 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xb2415aa4 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0af3878e hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3380b317 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3740a35a hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x40aa29aa hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x47f21d23 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x58bcec72 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5eb6f172 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6e5da0cf hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb358c2b2 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcb3a8800 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe10eb8e2 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xeb4d3979 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xface9964 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0e2da4ee i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x512dbef2 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x556e5e16 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x59442fb3 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 0x7249111f i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x82ae96b6 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa479fcfa i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcc668ff3 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe9870d3c i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x54dc714a i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x72875b0a i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x407530a5 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x57e2ca89 i2c_setup_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 0x4e42fb8a iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5bd802c3 iio_st_channel_release +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 0xc44bbca3 iio_alloc_pollfunc +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/input/ff-memless 0x10ea3c7f 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 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xfe607136 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x25d89210 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeadcfa74 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xeb08bb8a cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1714c8ec wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1b250269 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4d7809a0 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5a1cc48e wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6141b031 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x664b5bee wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x81d2093e wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9b7fa60b wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9c6c1464 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcb5fe546 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd51f1218 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf8bc8b41 wm97xx_unregister_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 0x2f1f980b gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x3961cd1c gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x41be4517 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x53699679 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x53fa0bc1 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5cf4c62b gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x67ac3fb9 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6df9a191 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7e77256f gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x83bf1cf8 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x901e7169 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa8a13028 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd36c22dc gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe4452dc3 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6939cfe gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe6d06ca6 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf0040fa2 gigaset_handle_modem_response +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 0x8f90add3 dm_bufio_client_create +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 0x63420edf dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x651148bd 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 0x0933ee13 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09472122 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x17852b44 dm_rh_inc_pending +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 0x46157a9d 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 0x7e45e87b 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 0xdc279241 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf37a3cfe dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf6e8c164 dm_rh_delay +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 0x5c017586 dm_block_manager_create +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 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 0xf84008c6 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x64e41102 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xf92fda77 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xa985e20e mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x9623d5f0 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x39c46fa9 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x13d8cc71 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x82243195 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x023adf9a tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xb905835a tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xfb11dfee tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x272ee1d2 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x4b125a31 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xff97d0df simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0xc11e6119 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x278000d1 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x790fa6fa tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0cf34c23 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x115bdebc smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2e4adc0f smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x340bc315 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x41cb7c12 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x42d012fb sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6aee4585 smscore_onresponse +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 0x88f697fd smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa9659ab3 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcb4b35b9 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd0df1622 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe77513f6 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xea72d626 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xeb253cba sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xee76ee06 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf1fdd739 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfa7d76dd smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05fb336e rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x09548927 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1507f59e rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3caff16b ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6a219597 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7a590364 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8377672c rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84fc67ee rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8b57ddaf rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa5258f15 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc2702f05 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xde4ca2b6 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe2116638 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe8198e44 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xeb7d8b1b rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf8d1f8f4 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf9e24a66 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x11554a08 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x12847552 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x30f44864 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3f20e460 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x48408eda cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4847fa9a cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4b1f9c7e cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6284f6b1 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x628555c6 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x69df68d5 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8a01f922 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x8f3abd34 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9b363238 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xac4b23c6 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb320aaf1 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb46c1488 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbeeb27a9 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc17202cd cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc7930d30 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x08c02361 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x32efc6d7 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x56c3caef em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x63b0d76c em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6c3900dd em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x71a772e9 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7ffa3eb2 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x81f13057 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8888ab4c em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc5533253 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xc687924a em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe80bc385 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xec6871b1 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xf4ac681c em28xx_read_reg +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 0x586868e2 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x83ba7566 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xccd391e8 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdf95a130 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x02b3362d v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x63b8b88e v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x718bd121 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 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb049a513 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xb0f1a627 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-common 0xfed4dc9b v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x40b3243b v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5748fcd8 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x5c0c97d7 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x993f6d15 v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xa5228b24 v4l2_int_device_try_attach_all +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x15f08673 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3448c901 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3dd967e6 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x48fe4c0a v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5bf29559 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5f00a8de v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x602e5649 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x6c27f781 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb2eb5351 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xcd5dab8e v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xeebafeda v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xf1cce553 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x02251afd videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0503f38d videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0bb475d0 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12016a40 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x17025ab9 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1902d761 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2053d036 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25a420df videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x25fe0737 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3af2cee9 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3e932036 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5bd2fd41 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x64eefe2e videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7d289653 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f7b0829 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8e3cb332 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc78f69c2 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcb6b2f14 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde57ae06 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xde9b25de videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe4b9239f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe81e6734 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf12ae1a8 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf3f4e8a6 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x35ff45cf videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x3713a93d videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xc2015e4f videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xf6b8795e videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x2b05771d videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x667ca2d6 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x84697c39 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x011c2689 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x0dd692f3 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x17f02994 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1882da2d vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1f2e4494 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x2d03a35a vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x303ca025 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4eee92ef vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5b3518ed vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5ee4b3f4 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x603cb15e vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x815d21f6 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8577503b vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xcf6572e4 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd0334f0a vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe89f6637 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfdcd5ff5 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x21c6a071 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0xcdafad7a 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 0x0d21787e vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x1da7b9b0 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x3be4937e vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xb6134ea4 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xbf181de9 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xb7d5cb3e vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x029b4654 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0ca5d6ab v4l2_event_dequeue +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 0x383649f7 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x522fe005 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x57c09de0 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5ee3727d v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7094ee65 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90887e81 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9fdfd8dd v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa033dafe v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa0e0e0a2 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa7d98f04 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb1694064 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb3311702 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xb5d8120b v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbed4431e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc09aa544 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd3b3d274 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe0475989 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfe6ed6b2 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x25db1b69 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x37754aca lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x6b1075d2 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6494d669 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7146beb3 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xac546478 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb0a46496 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb2ce756b lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd0172557 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xdfe2ece2 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x25f0e9b1 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x398a339a mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe69799e0 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x09a342ab pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x58f9f65d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5df0dbed pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x613d2723 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x760e71c0 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8a22f1d1 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa2c9c11e pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xcba918a0 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xce3fbe38 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd079a382 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd8bc5564 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x2c3245d3 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x406a1821 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3d8bfbb0 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x50a5d210 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x80f0e934 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9a6efdce pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf5a8479d pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x155cb245 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x5049f052 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb5973038 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xd0372661 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xdeb1442a sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x14042ddf tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x34667849 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xd6ecee90 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xdc1fcf54 tps65217_reg_read +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 0xb1b1862f 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 0x1b5948f9 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x659437b0 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x68aed3e6 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x85192d83 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8c230d62 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xdc1c6ef3 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf63d9ebc enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0618e0ff lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0e0ae48e lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x177c2906 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4a8dfe04 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4e691802 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc852d406 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xff526602 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x5efd0d03 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xf552cd54 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0048e783 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x02e302ab sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1ecc716d sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x5dd60080 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa75fcedd sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xcff6498a sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1e2bd680 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb8b1a499 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xe755be2c cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x251f3056 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9ad7053c cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xca105d2d cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc1af89fa cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3be8b2ca cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xd8db4663 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xf8c27fb1 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x69be1223 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x9289f5ea onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xcdd8854e onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x325323e2 ubi_get_volume_info +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 0x43c954ec ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x632b59a8 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7f64494b ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8cd26646 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8e3d585f ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9ace8463 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xacc94e11 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbda089e4 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbdf126be ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xccd7902b ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe666e5aa ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf62e2f43 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 0x091d25a4 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x6e42d5a1 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa9450482 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe7bed814 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0fbe034d open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4201761b alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x56a8d4a1 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x59957297 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8eb7e42e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9ab3d60e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xad0034c6 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xda9df45d alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdf434347 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe9aa3e88 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf9062182 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfb009c6d can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x4c9e7107 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x5dbb2bde alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb3c1b3e5 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe102ed05 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x07421ea1 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1e60d30c free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x8209bca0 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcccd0ed0 unregister_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 0xe34ab7cd cpdma_ctlr_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xe4c22565 cpdma_chan_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/davinci_cpdma 0xee8d7539 cpdma_chan_start +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x05f6fb56 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0eea4894 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x173c7748 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc3baae7a macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc9490756 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfb56bcb8 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0xf7e8b91e mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3234a3d0 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x58071030 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7e32ee64 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc024bf23 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x006226c9 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x59ea9b31 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5c95ea9c rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x84fcdb51 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa1752dc0 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd2693bde generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x031f2ff3 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0dac6fac usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x14e252a2 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x16ff3977 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19fbc2db usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1f78dabe usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x28867c1b usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x377232d1 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55e23d72 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5751af8d usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6f2a29eb usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x75c4b5fa usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x99f41805 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9a69da14 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa4b56a76 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa5374744 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xab0c42c7 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcd8da9af usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcecd7a24 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0ccc4ed usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe80504ad usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeb6da0f8 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xec1fc504 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf9f7583a usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x11d17b0b lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2df8003c lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3cab2fa4 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4dbaa1ad lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5e035fbb lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x63e4c4a7 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9175c094 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9a83404c lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9b65feb0 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa7872831 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xcd4a6231 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xce11c28d lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe5cf5f9f lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xedee074e lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf7d8ac67 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfe5496fe lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0b5cd3f5 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6a6446c7 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6b0e7cf9 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7b623796 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xb90639c4 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbbd7094a 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 0xe078b611 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe5cce566 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x21206248 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xc956c494 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x14640642 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1a0f7aa5 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2affd13f mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x4f70fe52 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x573b3323 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x7a70c1dc mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x86339926 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xb7d821df mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbf9f2d0d mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xead1029b mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf1d97027 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfa126b46 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xfdbad406 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x44bf5a51 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x467a6b1d p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x555555b3 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x5693f8dc p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x6ac9b983 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7409435c p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x977aa172 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x97cff7be p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfdf48e41 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0d5b6bef rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x10447cf7 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1257681a rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x12a47391 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x17e5ac2a rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1eaf16cc rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1f02f78c rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1fc3bf64 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x22768129 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x29e16072 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2e7205bf rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x35fd4dc1 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x373571c8 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x38ee1b9f rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3ab8e835 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3b59844e rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x46eb76c7 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x489849f4 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x490dc169 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5738856d rt2800_rt2x00debug +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5c274ac9 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5f8e8633 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6303a647 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x64812a6d rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x68d79a58 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x724f776e rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7e995cd9 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8a0fa1ef rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9bfcc957 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa381f0c4 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb61351f5 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbd478c0d rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbda2bbec rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc7adbfd4 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcada55c0 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xce4ba1c9 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcfb6785e rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd7f68f8c rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdd837188 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf16cea57 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0a7b8390 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x160cb14b rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2bddf3cd rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x321a9808 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3a5cade6 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3d5f96ee rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x449cafff rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4a85e001 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x52965540 rt2x00debug_dump_frame +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x554ab3d4 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5568da70 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5929514a rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5a88c26c rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5da8ab8e rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5f5014d5 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x61d737eb rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x62775ecf rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6a4dffbe rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d84d92b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x75d85d00 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76683e6a rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x76acf340 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8a129c3d rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8c480635 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x91ddbf84 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94820a5d rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x981d1c53 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9b40bf18 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa2f52c0b rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb38776b4 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc38f8b43 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcabb891d rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcac7ec5d rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcbbb80b4 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcd9d64c1 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd004e0f6 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd0295018 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd107968a rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xde24d5d8 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xed4014f4 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf3a53776 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf6943f5a rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf82d3c30 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf9e7c62f rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfad4f02e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfd60a235 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfd9c5519 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0478bc5e rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0bf5bd7e rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x172fb2f5 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x261cdf7f rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7d0415f5 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x81d535ad rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x95a995c2 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9887f3e7 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa225b5af rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xab46ab6c rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcd52f36c rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd7b218ba rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdbff976d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdfb0ed84 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf210143e rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xfebd91eb rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0e77d648 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x155d4ce3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x958ee473 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x13f25a6f wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x203f23d3 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2217dcb2 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2c3c9948 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3488023d wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4164e338 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x423c2566 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5c5bf7a6 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7c5dc7f7 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fb5fb3d wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x82c6391d wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xab6a9aa4 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb5e6dab6 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb88c0fef wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8b61c2ac pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x9f524057 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xe4e766d9 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x24439571 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x5b3aba57 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x9f58bf1c mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb4b2c981 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb8fcf021 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xdc2d4dec mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe147b97f mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xf71fbb9d mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x377955ae wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x533ba634 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x89faa704 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9e255673 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xcd4a48c8 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfe1f6e7c wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x54affae8 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x1f9ba02b scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x320695f6 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x43f8a274 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 0x61e68e16 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xbde4d1d9 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xf921d04e scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x10092f1b fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x107ff38f fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1d397634 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f8afd00 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x37891db9 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4ba730e0 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x53e738c4 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x61b8eaaf fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6a833c01 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb5d34318 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xec6b3cab fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf65ed1ea fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfecf859b fcoe_fc_crc +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 0x0b0eb464 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0cc66d08 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b566ab3 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x283046a4 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x296417d5 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ae3ae18 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2f6a8b31 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3071d0cf iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36dafe0e iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36e83399 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3a8b8c2e __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d3ed5f8 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b85956b iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d9060f5 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e205188 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ed45e50 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5684f00f iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f0572a1 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f340506 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x87b6da84 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x88594f3f iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8aab068b iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e7e8631 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e80f20e iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x941f0721 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x943e763f iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa0f70b64 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa30fa178 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4711a5b iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa59b4616 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xae2dd859 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb97d77b3 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbf4734c4 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0491418 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb45140e iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8dae38b iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeefb97f6 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xefe5db22 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf5849288 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf63f6632 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf7388e12 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf88f16f2 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc5f12e8 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0291c0fe iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1100a297 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x280641a8 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x40503705 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4cbb682f iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x509ea6e6 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5151b01b iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x62a7ff6d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x64adad65 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7968326e iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x878d165b iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9aef7f9f iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xaf4aef6d iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb37efa1d iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd4095b72 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf329bb1c iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf41d63f8 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x032ee3a3 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x09852610 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0e799c66 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x17fe6e6e sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b7d5a1a sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3496d62d sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3c83aaea sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x49664617 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4f6d26d1 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x55a15322 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x56df378e sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x68bf0475 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7643afcd sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7a0d5424 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b95fa6b sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x829a2fb7 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8cc3f711 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa28e4373 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb387e995 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe0e63582 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1303158 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe2ff2e51 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfa62e5a1 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x05d0db4b scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x2960a9ee scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6996aba8 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x984809f5 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa34cd1ae scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xaa3232b6 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb8c151df scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf3b1f03d scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xf60e787a scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x011af3b1 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x01a20083 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x087f6ed6 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d9c642c iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13754300 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1e5989f4 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x29726170 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x30a88aa3 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3122cc91 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33484b3c iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37cfa523 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x406d4310 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x46d26135 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4d7cb0c9 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x508b06db iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x59f00282 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x609faa0d iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6c5fa902 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fde9d89 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71282d82 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x731737ce iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84b1e701 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x92e183a6 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a688c4b iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9b965ad4 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9caf8156 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa96a903e iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcab5a0cb iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4e8d733 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe8f00d3e iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb920164 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf5757cda iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3ba2058f sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x6297a25d sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa937e0c9 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xc0d9eb98 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 0x18750905 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2c0c778f srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3ae1d234 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd3ec0675 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xee87f750 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1364591e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3a488105 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5807f43b spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7d0cf709 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x8478102f spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd9339b6b spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x6c7d9d74 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x83d5b790 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb298f4b8 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbd61d9ed dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xbe4810bf dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xdc875100 ssb_pmu_spuravoid_pllupdate +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 0xaac87930 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x1cff999c ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x9df3ae95 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb8ce324b ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xbcb5a946 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd0a0e834 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf80f0d19 ipack_driver_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 0x24fa721d usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x34aa2003 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3b040e55 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3c0e28ae usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4fbbbb30 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x67020e44 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7035f0c7 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x9596ebf4 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb5df5aab usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb98e1da5 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xcf48b8e0 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd53803cb usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xf898501e usbip_recv +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x47fd32ff max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x53051333 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x60fec032 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x67fe0f71 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7710247f max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xa0719319 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/uio/uio 0x391dcd09 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa7dee0ec uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb42ed7c0 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5867f8dc usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x88dc3fee 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 0x0fedf481 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x623db4a8 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7448d962 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x9b578597 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb702c33c usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd8b0198e usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe20c8a85 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe5f4d646 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfb0e23ec usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x5c59a306 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xbdbcacab musb_dma_completion +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x5f2c06bf isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0059a80b usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04c783ff usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x091dce3e usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0c367fe0 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2976cab6 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2e5cc158 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x37bad7ce usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x388ac055 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x484143b0 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5b044595 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x673d2420 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6a14e6d4 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7c066f53 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x881d74bc usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9a64eada usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa7585667 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbe31ef94 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xca0582f4 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcf81f17f usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0566cf3a usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1023826b usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14562bc1 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14d7a0d3 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3981dcee usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3cef0263 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3f9f42ac usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x538ddee2 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x659a9a6a usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x748a5350 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x77f7c5c3 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8a616c5e usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8f69b2a5 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x939140f8 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9b8a37b3 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9e33425c usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb9ef89e9 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbbad9bc5 usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc2769373 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xcfc3253c fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda6165a0 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xed0bf493 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x204d1c6c auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x3d949c01 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x4d84ac2f auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x59786296 auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6bee08a3 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x6d19d10f auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc3a52d07 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xccc1f391 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xcdfe928f auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xdb242d5f auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x72cdf591 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8527f05a ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x899aee46 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x98c0a22d ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd1ca5acd ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xea3c622c ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xf0c18c9d ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x71858b7b fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd3225886 fb_sys_write +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4a39611c w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6f299f85 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9d9efdfb w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb9a069db w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc70d0a92 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdee32dae w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe6df29b7 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xef78c939 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfe92acf9 w1_next_pullup +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x16891ea8 dlm_posix_get +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 0xf0c7cd81 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf4a910ce dlm_posix_lock +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 0x1b7f1f85 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4e29c028 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6f959b35 locks_in_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7146eb02 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x71910abe nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x74cc6bb4 lockd_up +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 0xd40d381d nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf5ccca00 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0506d855 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a60dca1 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c4d32a8 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0dacbc30 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fda7dd3 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17e3840b pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a008442 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21077aa4 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2325a3e8 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x238e5e82 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25a10607 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28c0e13a nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e0957e8 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3075fc61 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x453fd2ce nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x469903d1 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a01d9bd nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c78e757 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x528ff7e4 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x601e380e nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x657f2246 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69427fac nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b455f2f nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e5bdbb6 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e7a36c2 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fc21a60 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8845d5ac nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88f4c091 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91758785 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ed2b7d9 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab1cc7b8 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4314ea7 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce332ce2 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcfd73311 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1696137 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1992383 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde590b66 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde9f1b3e pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdedd077d nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3bc5312 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5d6c6cb nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef540827 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf0af2ac7 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3b4ec02 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf71b436e nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe9ee5ff pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x769c062d nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7bd9c835 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 0x201347c2 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2ea34ace o2hb_setup_callback +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 0x6c88e832 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x80670029 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x87a7c77f o2hb_register_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 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 0xc24cd8f3 o2hb_unregister_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 0xee36fc75 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4f597fa0 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5945c305 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7f9055d9 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb7f688b7 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 0xebf80368 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf9e290e8 dlm_register_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 0x180eb3c3 ocfs2_stack_glue_unregister +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 0xb181e5f6 ocfs2_plock +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 0xf1992901 ocfs2_stack_glue_register +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 0x19373cc5 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x2d5d06be garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x74dc0a34 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8dc7e378 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x958cf36a garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xb16482d0 garp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x31aad7bd stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x858b6e40 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x2bdd8a88 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0x3de85ffe 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 0xd401f8a0 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x90d69b4d bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x06c965ba dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x08f6f3ca dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x214ec5c5 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x25cecd61 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x282c1025 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c26cdb7 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f5cd612 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39bc2c47 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x39f52d1a dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3ac7e166 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c8bad03 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x433441f4 dccp_orphan_count +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 0x4f90f74e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6034e97d dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x616957ba dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6201b0b2 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x721c1a8c dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x737ba4e4 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x79faafcf dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7dc56535 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x825d0479 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x891bad1b dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x90f91062 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x994ebdb5 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99b4377e dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa8155f73 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb712d433 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xca52eb05 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf105087 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd3e6742e dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd9de6388 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf97ada9 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe61e217c dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf8331fd8 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf8ec96d7 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x22068490 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x98ba7293 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9925d8a8 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbfa5f310 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc68c0762 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xde5779df dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x273678e0 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xee6395d8 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x2d4a07d5 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xe1a58836 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2e0ca404 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4943e958 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x93b6bf5a inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xbfb3f397 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xcd5dd26b inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xef5a4452 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xa9969175 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x234ba525 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 0xdd8bea7b 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 0x03033659 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x18b59621 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 0x41756033 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 0x70a0f857 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x9aaf1df7 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 0x37788b3f tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4bdc6c2e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9a6045a7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd377548e tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xff583355 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x5dd31b11 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 0x2b0e9ca4 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x41b84526 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x51b3e6e3 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x69924e3b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8a37bf38 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8f33d999 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x906970fe l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x97fb8bf3 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9e2a81c4 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa31cfca9 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xab8af7a4 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd7d792d4 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x285ae4ec ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49d07d33 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x842eccd6 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x97d84459 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa16a19e0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb1e6c2d1 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd656a2e8 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea689c6c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf1739972 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4a4acf1d ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4f46429e ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7495dd5b ip_set_add +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 0x7bf14d35 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 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 0xb1467109 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdbfcf0e7 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe2d5129f ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xec6c88a0 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf4e190c2 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x2d68575e ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7263e4f9 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa4d7b7d8 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe4c997c3 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x006618ce nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x01c7d0b3 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a11a4b5 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11d7234d nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13d043d1 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bfb3f63 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1cf51b63 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f9a66a6 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x212b55be __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24f80746 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30eea2ed nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x31db38e8 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x345b789e nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3655b6a0 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37c61bbb nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x386fe554 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3af7522e nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e263aeb nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f0cd61a nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x423324c3 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4621ddee nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4aa0aeee nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51f34a7b __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57f5d0d3 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5825fa1a nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x681751d6 nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6bf6ab74 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c6823d5 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f9503a0 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x706a9116 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70a68b5a nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7bb6e774 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x826bd109 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x829f708a nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86b47bb6 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8d2d167e __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8fae0735 nf_ct_expect_unregister_notifier +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 0x987cf58a nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a844bb4 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9cfe6dfe nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa136a388 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa54e8be9 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6c671b4 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xacd3f6ef nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0a91208 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb24414fa seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2cefa02 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb75b4092 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc0c2ebe nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbfdcddc3 nf_ct_deliver_cached_events +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 0xc2e0b3bf nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc32386ee nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3299303 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcffa4fe7 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd0608233 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd20a9386 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd253129e __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3a2f782 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd55eb039 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7e32ca9 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd19d53b nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdec3eb58 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf32b8a8 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe03cf104 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9f2a303 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xef073de2 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9e6b3fbb nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x39fd65e0 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x091ff2d8 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0b1e0372 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x15336b26 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x22ffec34 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7b956c9c nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xaa450e2d set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbd327061 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc051b66d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd0e5f6f4 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xed12a9f2 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xffa2f94b set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x5ae2bfb1 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x14df14fd nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1c1497e9 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x62ecc7b0 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xda24a37b nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x97802c5b nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9d954bdd nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x096d8658 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x09bc1d66 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3fc8f0b3 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4804184e nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4a5338b1 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x571fc1dc ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x89d19749 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8c4adc41 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8d85c64d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9c2da559 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc1d87b5c ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdc67887c ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf238f562 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x15082552 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x6bbd3e51 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xbac48c92 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x25b989e3 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x401fefe3 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x98179bd6 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xcca281b0 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xec365cfd nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf7a91199 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xb7d6fc1a nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x2281b7a3 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04f2d2d9 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1b3e1f08 xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x29210102 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4047bd85 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x57fdedc8 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x61a1388f xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8dde6327 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9bd3cf07 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9dd998f5 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc2898a87 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0619e9a xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xed5f9d74 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xef3ff08e xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfe0e3d31 xt_proto_fini +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 0x12ef80ae rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x13841b73 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x14b2f2ec rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x24a82b22 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2521b738 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2e690130 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x358aaf03 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x35f03c92 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x3702e161 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x3a8bff56 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x4a5ffe7a rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x511e9d0a rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x59d308dd rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x62c0ebf0 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x680c6181 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x6e31a983 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x76e1b4c5 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7b430620 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9730196b rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x9fb8b5f0 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xa2e23080 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc7cb4abf rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xcb021ba0 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xd0d784b3 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xeaae12e7 rds_trans_register +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x4b89e027 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xe069c852 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 0x04f6627b gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x0c0db722 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4a9e9fc7 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x50d74386 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x56638767 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7b4a146b 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 0x95c4a9aa gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x968ce856 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x972e039c gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb3faff97 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xfc8389b1 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0001b772 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00c93958 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x024cc912 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x040be67f xprt_wait_for_buffer_space +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 0x0a19320f sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d68f755 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fce250b cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11af4819 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1224bbbf rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12565a92 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1314ab83 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x131662f2 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14282d55 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1589d57d rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1877b161 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18c21955 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x190edb1f xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19100b3b write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a19b989 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b6f8aae xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d868db3 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e7a5ff8 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20f1f8fc svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21b3e47f rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22751a84 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24330251 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26f13674 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x274d8b69 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c391fe7 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c71683b rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2da0f0cd rpcauth_create +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 0x33acb155 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33ae9f53 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f20868 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3870080a bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39f2d995 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a7ec556 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ade7e8b rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c6c255d rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cace233 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d6e4f2b xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x406c4a7d xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x424789d1 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42926489 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42db2357 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43fb3d7e svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x450c4feb cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45238dd8 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45fcec06 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x464f34f1 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x473ecf3a rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x496a609b rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a9f4cfc xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c02a9ce rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c0d75d5 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d4ff5d6 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x507f32ae rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50937dce svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50b6c7ec xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x567b179b rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56ede3de rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5749ede6 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57f1e616 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59986fd3 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c6b6eec svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ef21822 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f4ba9e7 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f6398ea rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60355846 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61ca161d xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620306f5 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620c2b62 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6433506f rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x670efa17 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x690ac893 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x709aec92 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x721c6779 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72b15e74 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7378c1f5 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74240350 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x743351df rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7502e5df xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75db4347 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775c68ff rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7834f272 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78cf6afa rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78f24569 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79e67d80 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a9c06c8 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e4f95df svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ece1a28 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f04a470 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f570258 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x855c3cde xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86684479 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8936dafa xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ec6e787 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90c21b6a rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92131647 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x930b9d39 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x935f6525 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93a09a0e xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93c9aa7f rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e22dc6 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97bc7fc6 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97e093d9 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x985d6bcb xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98a6a2dc svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98bc5d6f svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b12194a rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bf8787c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e5a0e7b svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0cd362b svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa10ac441 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa149351c xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa157a84d rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa53e6db2 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5b6e0c1 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5f01640 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7a30cfe xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9068ac2 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad7d1f4b rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae74883a svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf27a192 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf293972 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7520b66 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9ee32ab svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9fe3a51 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba3d12d3 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc09dd966 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc192e469 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc28fd212 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2afe5ed rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2b31a8f xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4b2eef6 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc54875ee sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6c2c9cf auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc887cd7c svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8aa1b38 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8aa5680 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca16ad24 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca3a7797 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd0e7a54 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf918fef rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2ccbed7 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd34bf523 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7778c2e rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8687295 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdab72fe7 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbe0421b xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcc7cc99 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfb8f2bf svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe27eed27 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7aacca7 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7fffedd __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe80d4dfa cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea94ad9b svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecd96656 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed438eac xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed70d528 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedfe77ec rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf182c6b7 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf364ffb6 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf843d008 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d98de6 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa303034 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb415ae5 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc9ee815 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdc1b704 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfde37f0d unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfeb9620f svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff7f5e07 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/wimax/wimax 0x01c28cef wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x12791d2b wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1b1c48ca wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1d2f012a wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2dc7dad7 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x788fe2e0 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x86d7e708 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8d3fc386 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb0546b90 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb09c0c0c wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcad773d4 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd36afc9c wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd68e3930 wimax_dev_init +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x01cdcd00 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x053cb0df cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2a2f6731 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x32dedb6b cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x36c764ad cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x5dff4314 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x814f0e98 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8bc5f599 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8de1f98d cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa1b5cc11 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcefd1877 cfg80211_wext_giwfrag +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 0x7af7748a pskb_put +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 0x99a34653 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xaf7a27a4 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xd11cc0e5 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xfeada537 ipcomp_output +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x44f3acbf pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x93a74313 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0xbc40c04b v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xa969f219 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x49f978d9 tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xee6b1031 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2c1a21b1 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x474a5937 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x5232195d twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x631856cd twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xbd815b38 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0xe8ae8db7 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x243eee27 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4315f5ea wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x54c007db wm_hubs_add_analogue_controls +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 0x7ac99601 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd1feacc5 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd70295ed wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf3ea52c1 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xf9d331fc wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x90538bdc wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe9d9facb wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x1d26140e wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xd00a0d57 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x0370cfaf wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xbed375e6 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0xcd5d0f22 wm8996_detect +EXPORT_SYMBOL_GPL vmlinux 0x000668dc irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x0007b4a7 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00ab5000 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00d312a4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00ffa971 snd_soc_default_writable_register +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 0x0180b00d ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f9a2d3 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x0212dce9 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0226eb04 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x028552b8 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x02c8a5e3 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x02cc2c9e crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x0314070a blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x035fde7c elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0375ea8f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x039fdf82 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x03ae44df snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04251a3e led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x045e38b3 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04ae6b56 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x04c17c03 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04d1e5c5 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x04fcac4e fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x050f92d4 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x0523e5ec pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x0528a446 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x052f7091 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x0531264f inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x05455978 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ad7124 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c77ad1 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x05d80238 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x05f645cd ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x0611f78e sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x06130df4 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0675c6b0 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x06aa8da8 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x06bf4eee spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x06c36136 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x06f04072 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x06f57384 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x0709a989 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x073ebdae sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0747181c snd_soc_register_dais +EXPORT_SYMBOL_GPL vmlinux 0x0759a36b scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x075ca5c6 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x076a68fa usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x077c0971 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b9892f ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x07e510af usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x080ddc9a omap_uninstall_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x0822176a ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x0858c9f0 mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x0889290e ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x08ce11e9 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL vmlinux 0x08eab084 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x094d38b8 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x097ad8a0 mtd_erase_callback +EXPORT_SYMBOL_GPL vmlinux 0x09b15110 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09d192f1 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0a0bf193 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x0a1812d8 snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a4f7895 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0a7de0c0 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a8f07d4 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0ac82454 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b2bae45 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0b32bbc8 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0b3f3715 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b713d33 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bb322c1 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x0bbae511 return_address +EXPORT_SYMBOL_GPL vmlinux 0x0bc64203 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bf4329a __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c001903 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0c01c84b __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x0c042caa power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c1f430b tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c736410 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0c76695d inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x0c7fbbb1 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x0c919cdf inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x0ca479d3 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cc59deb do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x0ccffe10 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0cfb73d3 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d1b26f9 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x0d24d2c3 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x0d30ea61 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d5b83cb md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x0d6cd567 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0d9c5570 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x0dcd6a4e blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e045a13 omap_dm_timer_stop +EXPORT_SYMBOL_GPL vmlinux 0x0e3dff3a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x0e42f03d tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x0e9915d5 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x0e9e220e usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0e9e6f43 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0ed2f405 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x0ee5184f tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x0ee97518 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x0ef90593 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x0f02209b wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0f1e068c __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x0f575f46 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x0f5cfd0b snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f8b9ee8 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0ff8a838 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x100d38fe ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x104e9840 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f5f964 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x110a093c klist_init +EXPORT_SYMBOL_GPL vmlinux 0x11646d1d single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11ce41ff bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x11d5052b get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f7cc48 snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x120ac879 gpmc_init_hwecc_bch +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 0x12834339 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x12a11d58 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x12cfcc74 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x12ec5dd1 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x12f8f654 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x131001eb tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1371d3d8 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x14026e07 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x142e8f50 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x1452dd15 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x14688203 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x149fd177 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x14bc98e6 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x14c5c204 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x14de1f80 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x14f0ae80 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x15067bde xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x1545f4de register_timer_hook +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 0x16239a78 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x16280b2e inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x1638a168 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x168fb583 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x16938715 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x16da80ac __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x16decba7 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x16e995d2 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x1724a0dd cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x1740031a device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x176e28d9 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x181a5a29 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x183dd256 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x18602c9f sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x187403cf disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1889059d ata_sff_tf_load +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 0x19456e90 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x1967eb51 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x196f60e3 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x199232b0 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x1995abcd debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19e893c5 snd_soc_set_runtime_hwparams +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 0x1a5a56e5 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x1a65920b omap_iommu_arch_version +EXPORT_SYMBOL_GPL vmlinux 0x1a67721b watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1a989ca0 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1aa1a59f modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x1abb724f cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1afaa190 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0x1b1715ca device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x1b18f808 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x1b3f8b0f snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b660b6c sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x1b6d229c snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x1b84d428 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x1b85209d bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1b9beeb1 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1ba2a024 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1bc50751 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1bff2b8a attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1cbb77f4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x1ce7347e __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x1cec09c2 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x1d07dc1d ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1d0fb021 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x1d116ac2 snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x1d3ca131 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1d4633c3 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x1d4f0133 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1da3db30 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x1dc63be5 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x1df4e510 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x1e009e84 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x1e087a5d snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e3bb8c3 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x1e4f2b8a snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x1e56b7ec regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x1e6689cf snd_soc_platform_write +EXPORT_SYMBOL_GPL vmlinux 0x1e74fc9d omap_install_iommu_arch +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e92fced mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x1e939184 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x1e992a5e scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ecf3f2d rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f34b6e0 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1f37286e register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x1f41fdd7 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1fc0518a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x1fc7d787 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff10a76 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x201fb979 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2027bdef ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x202bec9f spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x202becb4 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x2034d592 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x204969e0 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x2072826a wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x208741a6 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x20b56ad3 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x20b79a2b __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20f38268 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x21037d6a aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x210852c7 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x210d7668 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x21169b80 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x212e0266 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x2139ce91 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2143b6bc spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x21458723 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x216a8c25 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x21969ccc usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x21ba8e3c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x21eed484 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0x2201a12c regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x2209cf3c dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x220b9bc3 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x221e9136 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x22281114 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x2279c965 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x2283acca pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229df9e0 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x22a13f3f usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x22a2d7a2 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x22d3df5a dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x22e02e33 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x22f4a3e0 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x231d70fc encode_bch +EXPORT_SYMBOL_GPL vmlinux 0x2345d4f0 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x2347e654 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x23562eb4 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23b5b1ed irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x23fe0eb7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x24202df7 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x2426758b ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b21940 of_regulator_match +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 0x250c68d3 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x2514df85 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x251ed837 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x254ec7ba __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x25b34ad0 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x25b8b8d3 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x25bba545 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL vmlinux 0x25d7f867 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x25f0acd8 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x2668f70e blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x26848962 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e33929 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x26e3f5b4 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x26fe7fd5 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x2736b3f7 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x275b6f8f amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x276d92b6 snd_soc_register_platform +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x278e8379 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x27959753 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x27985d3c hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x279a8c4d __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x27c70ac0 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x2884a0a7 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28ad8aed ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x28d4eed4 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29581b15 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x29768941 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2999b0d3 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x29cd67b7 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x29ddeb90 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x2a08330a snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0x2a0e293e ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x2a36fcdd anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x2a4dc33d vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x2a5748c9 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2a59b042 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2aeb82c0 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x2b3dbb12 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x2b43313a fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x2b9efd41 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2bdeaa5d gpmc_calculate_ecc +EXPORT_SYMBOL_GPL vmlinux 0x2be49efa ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x2bf48622 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x2bf51e06 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x2c0b35b4 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x2c0fde5a usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c281127 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2c2cf22a blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x2c309940 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c5791fe inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2ca4518c __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x2ca4b0e6 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cc5c8e1 ip_route_output_flow +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 0x2d341d1b dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x2d8976e7 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2d91b312 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x2da165f4 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x2dac38c7 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x2dbba907 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x2df6cbbc ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e42197f of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2eae3434 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2eb03622 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x2eba89bb kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ed9efbd usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2ef26ef3 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f2ebc77 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x2f3dba94 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f43b790 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f957eee mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x2fa4bc35 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x2fd0b5cc snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0x2fe14140 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x2ffbc20c usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x300b7a1c sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x301a577a crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x3037218e led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x30513831 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x3069380a snd_soc_cache_sync +EXPORT_SYMBOL_GPL vmlinux 0x3079b7a6 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30a2e575 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30ab9b86 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x30cf592e sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x30d514aa hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x30d8063e simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x30e1f6df ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x30ef89ea sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31750e24 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x3183c6ef input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x3185ef6e security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x31a4ca2a of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x31a820ed register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c63a75 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x321bc043 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x32330a0b ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x323812b3 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x32a2eab5 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x32a9f51d i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32d6f49d sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x32f50f8e ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x3302b055 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x330b8a1c devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x332d9f38 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x33384735 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x338a188a devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x338d6665 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x33be418f unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x3404a0d0 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x341643ba omap_dm_timer_modify_idlect_mask +EXPORT_SYMBOL_GPL vmlinux 0x343864ae crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x343c18ff adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x343d028c sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x343d7004 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x344bde32 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x345b6210 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3485a848 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x34a7fe48 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x34a8b729 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x34aaa115 snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x34b269ee spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x34cc2c77 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x351cfbc5 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3554cc03 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x355678b1 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0x35b344b9 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x35cba215 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3601fac7 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x363fd6a6 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x36555e75 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x366d6033 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x3673e82e use_mm +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x3696bf4c __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x374794f2 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3769ab0c klist_next +EXPORT_SYMBOL_GPL vmlinux 0x37b0bf04 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x37bebe4a spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x37dc5604 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x385f9a69 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38af37ca exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x38b8506f generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x38ff29dd crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x38ff641c sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x390c966a sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x3945c2a9 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3955b482 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x396a0d62 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x39a6f0f9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x39a8b807 gpmc_enable_hwecc +EXPORT_SYMBOL_GPL vmlinux 0x39c68eba snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x39d90b9b firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x39dbfc5c tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3a20e500 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a28d051 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a71946c class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a74455d __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x3a7f4d98 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x3aa36c32 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3ab9fcb8 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3afeb259 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x3b1ff898 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x3b249699 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3b770113 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3b920168 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c150a48 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3c259a73 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x3c25c74a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x3c2efcfa regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x3c549160 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3c75f264 fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x3c831441 arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x3c89520f crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x3c8f894c raw_unhash_sk +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 0x3cfd6c27 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d6adc5d debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x3d7fd8f4 mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3da142d0 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x3daa40bc user_describe +EXPORT_SYMBOL_GPL vmlinux 0x3dafdc20 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x3db91586 scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd0b125 omap_dm_timer_start +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3de23d17 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e2f0c27 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3f07f953 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x3f210e75 thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x3f3000e3 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x3f3e92cf omap_dm_timer_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f620a84 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x3f63b97a handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x3f69c73a unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3f88de2d ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x3f95ec58 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x3fed5879 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x4017e969 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x408be912 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x40a7ebcc __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40b3e67a dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x40bbf250 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x416fffaa driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4181aaa7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x419faf39 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x4229cad4 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x422e0cc0 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x4235c326 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x42782a37 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x4290f5c4 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4295844c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x429d4180 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x42b5de8e inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x42cdc1bb bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x42f61a6e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x43043cf5 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x431b9be9 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4365be89 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43adc0fa mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x43c77fce irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x43cdb68d tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x43e46498 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x43e4fe7d br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x43e871dc md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4411d77e fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x442fca0d regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x44303f1d pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x445f220b crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x446fc726 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4496bc3c blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44c10574 snd_soc_cache_read +EXPORT_SYMBOL_GPL vmlinux 0x44c6bf17 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x44cfa39f i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x44d10699 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x450a1a88 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x451739fa user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x45360c38 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x453fbd78 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x45588283 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45eff19d regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46253346 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4639ea0d uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x467622ec dapm_reg_event +EXPORT_SYMBOL_GPL vmlinux 0x468e303e scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x469c726c snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x46a2e121 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x46b08833 get_device +EXPORT_SYMBOL_GPL vmlinux 0x46dabf81 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0x46ea1f4f dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x478d4ff7 gpmc_enable_hwecc_bch +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c2869d rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x47e7515d omap_dm_timer_set_pwm +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x481e9785 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x481f392b replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x484ed459 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x4853ddd9 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL vmlinux 0x48584e47 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x4864213e pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x48656f52 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x4876d9b9 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48b9a5b0 get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x4907d875 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x490b5e08 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x49300c2e handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x493266d2 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x4946da71 omap_iotlb_cr_to_e +EXPORT_SYMBOL_GPL vmlinux 0x496b1b89 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x4985e88b power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499ebb2b tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x49b43b77 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x49c9ad37 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x49e6fb30 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x49fabbff rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x4a6325d3 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x4a6ea38d skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x4a765aeb dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a7a15b7 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ad9e3b2 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4b1fdec6 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4b34a185 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x4b3a56d4 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b4dec29 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6347ca usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x4bc01e89 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bce2091 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x4bd7ca4a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x4bdeadfb i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x4bed686b mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x4bf47c01 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x4c250800 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x4c3ea3fd vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c848371 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4ca61fe6 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4cc67961 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4cdce33b ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x4d03c759 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x4d29d347 omap_dm_timer_set_match +EXPORT_SYMBOL_GPL vmlinux 0x4d2c24c6 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x4d444e6a ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x4d6ffd4d shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x4d865c68 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4d94f7ac snd_soc_jack_new +EXPORT_SYMBOL_GPL vmlinux 0x4dca7ba5 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e2453f9 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x4e3a1490 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x4e5ce725 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4eccd53a setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x4ecdbfe4 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x4ee19ef8 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x4ee1d8d2 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef862f9 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x4f185145 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f1be141 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f31e207 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x4f5085ee iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4f752a9b clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4ff5ae9f __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x50032054 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5004890f flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x501a49cc snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x502074c5 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5032a608 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x507b7f13 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508bbe81 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50b7b4f2 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e64aa6 blkdev_ioctl +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 0x512e364a kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x513c365d vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x51513102 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x51634a33 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x516f4d1f pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x5178c288 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x5181bcb9 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x518228c4 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x519be64b ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x51a7a44b dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x51ac8695 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d876dc usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x51df7e3f bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x51e8a5e9 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x5201dc3e css_depth +EXPORT_SYMBOL_GPL vmlinux 0x520cdfd0 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x52333b23 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x528b2f0d class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x52a3abc1 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x53292120 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x534983d3 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x535e4883 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x537259b4 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x53986488 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53a3e486 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x53efa450 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5404db1b wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x54123199 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x541a7d35 dapm_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5484b953 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x549496e7 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54aeef08 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x54b4392e skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x54c3f0d0 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x54e15101 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x5516980f tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x551f3492 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x5542b913 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x555f2b9c fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557b69c1 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x568e11ee inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x5698ea94 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56c044b9 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x56c06bec evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56fad60a shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x56fc9785 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x5715aeb3 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x572c48fc device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x575238f7 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5757ae0a ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x577b07b1 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x578fe4dd cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a154b8 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x57a6af81 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x57a8029e rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x57d6e3f3 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x57eaf717 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58509211 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x589c26fe filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x58a19fdc fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x58edb307 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x590b3e42 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x599d0cb6 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x59ab8d0e leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x59d8ef3b mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a0cf909 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a5acfa4 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0x5a62a5a8 omap_dm_timer_get_fclk +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a939200 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x5a9d3593 amba_ahb_device_add +EXPORT_SYMBOL_GPL vmlinux 0x5abebd53 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5ad2bab5 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x5ade5ae0 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x5aed1acc unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x5b083a66 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x5b3af0ba snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5b3b147c crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b5eac89 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x5b771bb9 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x5b8e13a1 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5b9f2f45 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c3254f7 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5c32a257 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x5c5fb37c fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x5c7028c8 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x5c7ceff7 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x5c82c02c dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x5caa4720 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x5cc4010c snd_soc_default_readable_register +EXPORT_SYMBOL_GPL vmlinux 0x5cdd59bf stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5cf0ed5b sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x5d1212a5 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d23aa15 __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x5d3196a5 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d960607 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x5dd4d595 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5deb1d31 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x5dfc1e40 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e206675 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x5e4d2e06 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x5eaecea8 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5ebb14f1 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x5edfe20d device_add +EXPORT_SYMBOL_GPL vmlinux 0x5efb9362 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f3c4dc9 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x5f4032b1 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f7cd8c3 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x5f9b1cc8 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x5f9edd0d tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x5fc3160a fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x5fd29c04 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x5fd2a143 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x5feba456 user_update +EXPORT_SYMBOL_GPL vmlinux 0x5ff48638 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6019c6b4 usb_bus_start_enum +EXPORT_SYMBOL_GPL vmlinux 0x601e0599 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x604b6f46 dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x604fd5b4 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x605bd6e4 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x606098b1 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x608a11bf set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x60d50d7b mtd_point +EXPORT_SYMBOL_GPL vmlinux 0x60fc5bac fuse_do_open +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 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x6183cd68 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x619e6e24 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x61dd9bc9 snd_soc_cache_write +EXPORT_SYMBOL_GPL vmlinux 0x61f3959e regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x620537d3 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x622502f9 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x622d6e58 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x6262b550 snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x629c92ac fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x629f271a iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x62bba262 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x62fce7f4 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6308bbc0 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x63291c16 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x634fdf7d relay_close +EXPORT_SYMBOL_GPL vmlinux 0x63732503 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x6394d193 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x63dbf623 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x63f2691e sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x64032b16 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x640ffc0b ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x641723dd crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x642ab73c snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x64432317 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x644def47 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x647016e1 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x64728f0c trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x649da5c5 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x649f708b rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x64b3a46d sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x64df355a __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x6512320b fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x6517b709 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x6519050a usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6528ba71 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0x658184c7 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x659534cb fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x65b64e2a ata_port_schedule_eh +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 0x65e44a7d transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x65fbdf7d usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x6601f3f8 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66316dfc usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x66512eba scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66843c1e subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6689c33c blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x66a5a902 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66ebec91 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x66f99f89 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x67027de4 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6712f177 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6739f22f ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x67480fff snd_soc_platform_read +EXPORT_SYMBOL_GPL vmlinux 0x676d7fd9 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x67885f98 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a08a6f crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x67cd87ce fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x681dbc63 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x68721443 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x6879d50d __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x68a762ee pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x68be26d0 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x69050d83 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x6906cbe5 snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x69226869 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x692293dd ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69351400 snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69aa7e9d sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x69b79e1d snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x69bb804c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e3de04 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a0b66f4 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x6a659a37 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x6aa26459 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x6aa45aea driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6ab1140e sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6adfd45c debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b770f49 decode_bch +EXPORT_SYMBOL_GPL vmlinux 0x6b7c38ab regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6ba7bbd4 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x6bd85cce each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x6bed13d9 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x6bf223f1 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c189c87 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x6c30dbe9 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cd102c0 snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL vmlinux 0x6ce4f0b6 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x6d2187b7 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d73326d vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x6d7b79ed xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x6d83f3b6 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6d9b2142 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x6dc16353 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x6dfbfd3b dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x6e2ad732 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x6e2f3bb6 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x6e695ae7 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ee88a9b sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x6ef1820e release_pmu +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f230820 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x6f2a7d37 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x6f7628e4 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x6f94e229 fat_alloc_new_dir +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 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70aad982 register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70de145d omap_dm_timer_write_status +EXPORT_SYMBOL_GPL vmlinux 0x71034655 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71710ec6 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x717a0d46 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x721df5e8 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x722e77c7 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7243472e blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x72437a97 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x72477eed crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x7259731f bus_register_notifier +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 0x72c32deb dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x72df4c59 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x7308f57c device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x7309c0c2 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x730bd0c7 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x73131fce device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7323d268 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7330aff8 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x73369bce omap_dm_timer_set_prescaler +EXPORT_SYMBOL_GPL vmlinux 0x736a3c18 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x737d65dd sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74605f8a ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x7478a36f inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a810ca sdev_evt_send +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 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7550c360 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x75644e17 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x760d1413 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x7612c8a3 __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x761b3483 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x762f6a47 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x765b86d0 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x76667659 omap_iopgtable_store_entry +EXPORT_SYMBOL_GPL vmlinux 0x7667f957 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x766e9f52 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x769f5c16 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x76c32458 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x76c5f4fa wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x76d3ce33 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x76e961a3 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x76ea293a cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x770880e3 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x771806e6 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL vmlinux 0x77855246 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x7786cadc dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x77aca448 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x77acd49a omap_dm_timer_write_counter +EXPORT_SYMBOL_GPL vmlinux 0x77f8cb48 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x78238134 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x784dc899 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0x786347fa nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x7889d819 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x789d1c85 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x78ca74d0 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x7912e3de dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x7931de91 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7944655c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79df8e6b usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x79f8c6a9 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7a35198c usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7a4cc7f4 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aad3e3d omap_dm_timer_set_int_enable +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ad250df md_run +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1ad141 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x7b1c88ae raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x7b1e2901 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7b23c329 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b24f155 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7b4620d8 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7b61e663 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7b666621 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0x7b6ef83f snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7ba450fe snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL vmlinux 0x7bc845fe blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x7bf84c5d regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7c16b0f0 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7c1a7d34 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x7c1ccee7 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x7c1d5004 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x7c8bc216 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7cb00f22 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cc61437 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x7ce22de0 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d022742 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7d20a3b3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7d29f60b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x7d31317b md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x7d3d8011 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7d46779d sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd77e59 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7e0941e3 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e0ef9d9 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e277415 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x7e5086e2 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x7e57aebf unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x7e5949a8 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e8f5088 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x7ec41024 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7ed4cadf d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x7ed68941 asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7efc8cc4 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x7f1663e7 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7f4168a7 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x7f799109 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x7f7b268b fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x7fafece8 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fb15981 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x801385fb scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x801c5bf1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x804241ee s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x804819c7 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x808b733d gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x81334c46 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x8138eb64 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x815d9e9f crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x81c9d6af usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x81cabffc crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x81e0bfde crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x81eb2add __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x81edc82e rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x8200f8bd usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82380d9f regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x82557071 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x825e0464 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x82b117fa i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x82c681ae usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x82d5d6b6 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e35e17 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x830b2c93 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x8323d77e proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x8392221c debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83c0511a ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x83cb1c85 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x83d781df pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x847e1433 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x84bfdd9d nand_release +EXPORT_SYMBOL_GPL vmlinux 0x84e641a4 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x84fbb2fe root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85112468 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x85221845 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8559a91e sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x855fc557 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x859a104c snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85dd5b1b ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x860088b2 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x8600c5de sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x860f1289 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8611afd5 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x862142a4 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x8630e5c1 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8638de93 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x863ff251 snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x8676d6d3 input_class +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868a8d6c snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x86a9cfe5 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x86bd8692 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86daae21 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x86e82b12 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x871500f8 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x87320b8b tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x876b4e3f tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87761c62 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87d06d0c crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8820ebaa omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x888725b2 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x88a77c53 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b76bbb adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x88cc1037 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x88ce8d90 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x88f67f94 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x88fd5b65 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x890e6ba6 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x89620b72 snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x89a6fb1f usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x89a88e5e wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x89b6fc7f regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89e6240c usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a30575e blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x8a367ad7 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a8401ca xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x8a8988e5 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x8a8c69ea crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8aa79491 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac707af tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x8ad888f5 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x8af16f3a omap_dm_timer_enable +EXPORT_SYMBOL_GPL vmlinux 0x8b4f3ec7 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x8b6ec0c3 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b8c44df ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8ba2b339 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x8bf9a93e wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c2529e7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x8c488cb0 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x8c73e80a ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x8ca3b618 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x8ceea4e0 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x8d11f0b1 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x8d4967e2 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x8d905aa5 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x8d970b94 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x8da4898b inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8db314f7 mtd_is_partition +EXPORT_SYMBOL_GPL vmlinux 0x8dbca616 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x8e636eb4 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL vmlinux 0x8e80fb8e fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x8f210793 deregister_mtd_blktrans +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 0x8f6009f8 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8034cb crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x8f9f11f4 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fda8027 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x8ff962fc do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x90136cd7 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90798a40 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL vmlinux 0x9082d068 kprobe_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x9091213d mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90adb5ac skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x90cf34dc device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x90d4cb8a fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x91183911 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0x911dbb9e wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x911f06cf crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x9139b5af regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x91682237 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91ae2b34 bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x91d42d0b map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x91dda801 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x92425533 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x9270d201 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x92973b0b amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x929749ff inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92cd4adf usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d73cca __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x92e0edf9 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x92e48200 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x92f124ec rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x932445d2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x9339de95 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x93410b60 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x93969ad8 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x93b629dc rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x94139684 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9434c482 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x9463ff71 init_bch +EXPORT_SYMBOL_GPL vmlinux 0x94709640 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x9477d426 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94cd2785 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x94e2d32c fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x950b4930 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x952962f0 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x95617a98 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x958207cf klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x95899f93 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x95c578a0 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x95cb581a blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x95f6ee15 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x969c949f bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96afd691 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x96bc03e3 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x96c95494 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9709ecae devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x971b823f snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x9746e8b3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97c01e00 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x97c96c2e regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97ec2774 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x97ef87c8 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x9804a5aa hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983e332f securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985ea0dc spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x9891bb87 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x989e0950 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98de2856 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x98eb55a6 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9946bba8 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x9954d313 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x995b38b2 mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99a3a888 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x99c1f496 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2bbe02 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a45b5ac of_get_regulator_init_data +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 0x9adfeb70 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x9aea0e6a blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9afc2284 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x9b197b52 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x9b22866a __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9b7f27de pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x9b990f57 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba1067c i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x9bb1c70b scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x9bc752b9 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x9bcf0ce6 omap_dm_timer_set_source +EXPORT_SYMBOL_GPL vmlinux 0x9bd6bd3d sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x9be5daea sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x9bf44a4e device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x9c06ea3f ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x9c117f94 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x9cbf9b63 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x9cc242cf snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL vmlinux 0x9ce9340b page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x9cfa6e1b blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x9d0dbc0e unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9d64e5cf __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9de22d08 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e01b1d9 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x9e3f6c96 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x9e504019 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9e59a266 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x9e9fb545 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x9ede4308 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x9ee77182 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x9eeb0ab7 omap_dm_timer_trigger +EXPORT_SYMBOL_GPL vmlinux 0x9f0c013e dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9f1ea067 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x9f3036d5 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f49340e mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x9f648a3c net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x9f75f167 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x9f96ff5f device_del +EXPORT_SYMBOL_GPL vmlinux 0x9fb1fa95 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe23e5d sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x9fe73082 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec6f2c dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xa0557c18 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0859bb9 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xa098b6b9 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xa0ae50fb fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xa0da1ce5 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xa13a23c3 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xa176673d cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa198c24e usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xa1bcdce6 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1f0c872 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xa1f6de69 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xa203d7e7 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xa27ac781 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0xa2b20bb8 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xa2b3161e regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xa2b87467 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa2fa32f5 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa334cbb7 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xa346f784 omap_dm_timer_free +EXPORT_SYMBOL_GPL vmlinux 0xa370e796 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa378e5b5 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a2ec52 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa444a3b1 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4b5541c mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0xa4b8d113 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0xa4c08463 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xa4c67a64 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa4cbba0b device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xa4cc75c2 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xa4ceed39 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xa50650cf get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xa52eebbb dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xa53ab741 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xa56912af ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa56d6a82 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xa59d3013 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xa5af8e86 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xa5dd6fae arm_pm_restart +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f2bd62 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6320ed5 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa657e98a device_rename +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b72549 device_move +EXPORT_SYMBOL_GPL vmlinux 0xa6b79a2d pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa6ba0dc1 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xa6db0da7 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xa74cbd58 amba_apb_device_add +EXPORT_SYMBOL_GPL vmlinux 0xa74e6f13 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xa75bcd82 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa796c168 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xa7a8a46e blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa7e160ba regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa80ee58f rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa82de5b8 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa83941dc dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xa857450d pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xa8dc253b xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa8fd598b __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa8ff3caa md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xa9188cda blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xa9493a84 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xa94ead2d sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa9690353 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa9bd6c1e armpmu_get_pmu_id +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9c5e530 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa4e2c6e pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xaa4fed3f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa9c2b57 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabce0a3 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xaac307df console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xaaeec927 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab090efe blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xab18e6bd scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xab29f7b1 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xab3f7d29 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab709ab0 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xab83b70e bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xaba5f016 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xabedab9e usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xabf158d2 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xaca2496a ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xacb12b59 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xacd017b2 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacf82ff7 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad0308cb pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xad7940ce skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddb7633 nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xadfdf721 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae1b7eb6 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xae30f598 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xae421ea9 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae836d41 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xaebc643e bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xaec172f1 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaec71a47 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xaee6c045 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0xaef8f723 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0xaefc7fac crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xaf0a9e65 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xaf0b08b8 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xaf14e750 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf416c6d relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xaf5ba8c7 css_id +EXPORT_SYMBOL_GPL vmlinux 0xaf72c996 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xafa616cb snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL vmlinux 0xafaec8e1 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xafcf58cd usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xafdc3592 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb021bde4 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0xb0410c7a ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xb059c859 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb0685e32 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xb08d6bbc ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xb0a946a3 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xb0aa3965 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb0b39228 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c9f0db blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb172dfef skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1ef9c4d snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0xb221fd22 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb277efa1 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb302bea9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb304f122 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xb3318b37 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb34bb410 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xb35000db register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xb3568db1 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xb361942c ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3a18690 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xb3fd0bde n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xb3fef20b spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xb41fdcd1 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xb43a3389 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xb44bd89d ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xb44c6486 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xb459aac2 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xb45b0220 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xb469cc36 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xb4b02ac7 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb503120f bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb510ae56 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb5186e07 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb527f9ba mtd_read +EXPORT_SYMBOL_GPL vmlinux 0xb55756d9 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xb558a2a0 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb5927165 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0xb59fd531 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xb59fdfcf dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5b63e40 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5dff999 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xb5e20479 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb6311771 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xb67ad1df s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6817dfd fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xb6a1d14e wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb6a5cf07 sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6c900f1 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0xb70084d4 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xb714ac0e dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb75185dc cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xb77758bf blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xb7aa0a74 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xb7d4f5a7 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xb7e0ae1a omap_dm_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0xb7f77027 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0xb7f7d0f9 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb8414798 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xb8928157 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xb894cb6a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xb89fd8c0 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb8b25563 sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xb8bfd926 snd_soc_read +EXPORT_SYMBOL_GPL vmlinux 0xb8d3f3b3 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb8e2f7fa disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb903eb0a mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb91f6f61 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xb9205987 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xb97619c3 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb99e91cf tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9a969fc sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xb9b875df fb_deferred_io_cleanup +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 0xba150c47 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0xba2ac508 mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0xba53a851 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xba6a8e52 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xba79ae5e init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xba996a3a sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbb036c02 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb251af8 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xbb27c671 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9edd23 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbba07418 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xbbb3cf2b omap_dm_timer_request +EXPORT_SYMBOL_GPL vmlinux 0xbbd3fcf9 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xbbf826cb ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xbbfcdcb6 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xbbfda9f2 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc3d0c80 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xbc4e3e94 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbc518344 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xbc60a66c of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc78794c max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xbc922a2e gpmc_calculate_ecc_bch4 +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf0d703 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xbd0a75ec tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xbd35fee1 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdf512de free_bch +EXPORT_SYMBOL_GPL vmlinux 0xbe0c2de1 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2a0380 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbec89afb device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xbed0125d sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xbf2264b7 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL vmlinux 0xbf5ff109 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0xbfaeed32 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0xbfaf8b7c ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xbfbcf60c pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbfe36caa rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xbfef84b2 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xc01cafd9 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL vmlinux 0xc02d498d blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc059c448 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xc07681e8 omap_dm_timer_set_load +EXPORT_SYMBOL_GPL vmlinux 0xc07a0a07 tpm_read +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0fb441e usb_store_new_id +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 0xc11f647e platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc15c52c7 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc188f863 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc1c567f5 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xc1ebd2d3 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xc20b2b17 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xc20f563e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc233108b crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xc23e79f3 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2a1cfa0 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xc2a30827 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc2f84ef3 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xc2fb9177 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xc303eb99 register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xc317dd77 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc319192e pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc385cb58 perf_num_counters +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3e37d45 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xc3e74d69 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xc4170753 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xc424e0de usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +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 0xc490fa21 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xc52c8dbf md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xc52decc6 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xc52e5023 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc54860d5 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xc5620f13 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xc59a32d0 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xc5ebe28a da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc5ff351c fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0xc60a44da da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xc60a730b klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xc60eef71 device_register +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc616ed7e ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc68a13d1 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xc6942b39 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc6966361 omap_dm_timer_read_status +EXPORT_SYMBOL_GPL vmlinux 0xc6d3458e dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xc6f98add add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xc71b4cd8 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc72a32ed alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc7378b85 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xc7549be7 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0xc756baed rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xc768bd7e subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xc775ee7c ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc820012d md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0xc832a6aa wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xc86073ed inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc874ba86 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc881e453 put_device +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8afe20b snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0xc8c78968 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xc8d209fa snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0xc8e330a0 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc918a2f8 get_task_comm +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 0xc977635b wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc995ac7b wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc9ab1102 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc9b449a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc9c9a486 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xc9e18c33 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xc9e22a6d snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca0bdf81 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xca312c41 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0xca4f89a5 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xca55043f page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaac2b7d dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcad40ee2 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xcaefda5a spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xcb06a82a crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xcb273676 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xcb275b63 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcb8a8698 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xcb994aa4 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xcb9d7067 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xcba1a7df mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0xcbb45ee9 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xcbc17182 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xcbcaeebb of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0xcbda55f2 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xcbec06b9 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbff56a2 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcc026731 mount_mtd +EXPORT_SYMBOL_GPL vmlinux 0xcc1398fa serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc76d131 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcc902311 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xcca56d7b anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd08b49 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xcce741f5 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xccf7ff54 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcd02854b usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xcd104ee4 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xcd23dfdf snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL vmlinux 0xcd313597 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xcd5458bb sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xcd76c405 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xcd7ae18c sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcdaaff05 shmem_read_mapping_page_gfp +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 0xce4f940e snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0xce57e9cd crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xce6008db class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce7bb419 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xcee36dc0 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0xcf5d7b85 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0xcf9e4dd2 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfcc83ad register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcfe19301 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xcff6f0a4 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xd012b814 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd062888c i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd068f3e4 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xd0736fd5 omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0e635c6 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xd0f25115 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd111479b tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xd1293399 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xd13ccf95 omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd197ed44 snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1b939ec snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0xd1b9444a debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xd1c0808e usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xd1ee912e ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd220dedd ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xd222daff relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xd227d35d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xd22f2596 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd2514a6c md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd279dc25 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xd28d1884 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2f337bc wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd2f6cf2a wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xd314a361 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xd3187c79 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xd31bb946 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd37f824e dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xd3a3aa43 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL vmlinux 0xd3e61495 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xd3fe25cd mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4283980 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xd429ee11 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xd42b1739 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd48b693a rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4db6bf0 snd_soc_write +EXPORT_SYMBOL_GPL vmlinux 0xd514415d snd_soc_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xd53da4e3 omap_dm_timers_active +EXPORT_SYMBOL_GPL vmlinux 0xd547042f sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0xd54ede1c omap_dm_timer_disable +EXPORT_SYMBOL_GPL vmlinux 0xd565403b usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xd56ef72f platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd588dc88 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd5915053 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5f56c8d debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd6060ec0 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd627647e usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xd63efdbd usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd667b1fc i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67d8256 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xd68e49c2 mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0xd6a6e14a led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd736162d __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd752a7a0 da903x_writes +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 0xd7c16a01 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xd7edb262 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd8250b0e amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0xd8265dec ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xd82676f1 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0xd8318c60 debugfs_create_file +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 0xd8762bce put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0xd8804eaf power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8813f9a device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xd88a4834 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xd8957ede shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xd898cd9c enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xd912fc05 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xd919cfdc get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd9410817 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd956cdf6 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd9574f05 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xd96ee5c3 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd9ced00a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xd9e94c8c dm_underlying_device_busy +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 0xda25937b inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda597340 snd_soc_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xda5b3e75 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xda5f1ce7 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xda62d15c perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xda6742d3 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xda7b1989 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xda800d18 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xda9a2bd3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdab21d68 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xdab38ab3 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf4fe9e tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb1c893d da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xdb3e5eef attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb5a0dbf udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdb5e5b63 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba95fd5 reserve_pmu +EXPORT_SYMBOL_GPL vmlinux 0xdbaad53f wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xdbad017f wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xdbb86728 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xdbcf11fe bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdbd05d33 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xdbdad38f simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xdbf3a960 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdbf52114 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbf8bec0 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xdc15e80d scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc1766ca anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xdc1b73af class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdc36a34d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xdc5ca29c sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xdc85a993 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xdc962873 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd2f3c74 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd370548 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xdd50d516 device_create +EXPORT_SYMBOL_GPL vmlinux 0xdd5a790a flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xdd6a53cc regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd879c9 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xde00ea86 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0xde07cfc5 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xde2c2c9e regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xde3e38d6 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xdefd54b2 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf11e863 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xdf1e18a8 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xdf8cbb8b blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xdf9f6635 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xdfaf4787 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xdfaf870b vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xdfe6e480 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xdffb6096 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0183ad1 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0xe01a792a cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe072b5f5 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe09e8c68 snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL vmlinux 0xe0a54d34 usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0xe0cf8cc6 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe1090f59 find_module +EXPORT_SYMBOL_GPL vmlinux 0xe1311a0a ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xe13eaeb5 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xe14d302b usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0xe154bf63 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe164a309 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe1a54266 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xe1d652ca ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe1d71dbb wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xe20d2695 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe2261bdc platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe236c509 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xe2445b46 user_match +EXPORT_SYMBOL_GPL vmlinux 0xe2583226 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xe26be2b1 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0xe278f510 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe2a84110 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe2d614c0 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe324adb9 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe3292a91 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe35158fb rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe35bac32 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xe37ee91b otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3907f40 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL vmlinux 0xe3e75a53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xe3e993f0 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe44aae70 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xe548e50a mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0xe56554a8 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59343bf inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xe5998c23 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0xe5ad30e0 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe5e37ce1 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xe5ee5b7a get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xe5f93cc2 omap_dm_timer_set_load_start +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe631714c mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe660fafa sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0xe665255d dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xe6bf7381 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6f0cd02 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xe700b604 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xe7170d55 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe738a885 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe780cf11 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe78beb9c kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe7a4a03b inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xe7a4ad0b crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe7b7874b fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xe7b822d8 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe7d5bb66 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe7edd2e7 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe8051944 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe82479c7 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe8354afe device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe8452858 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85ade68 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xe85e8dc3 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0xe86049ab sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xe8611953 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe89ef198 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe8ba065b da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe8ef3755 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xe91c960c debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9443ec4 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xe95374b6 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9936b94 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xe9a27c2c rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xe9c9ab81 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xe9e49fd6 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea77fc68 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xeabfa0aa aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xeac15c33 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb4f2ebe bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xeb549e3a mtd_write +EXPORT_SYMBOL_GPL vmlinux 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xebcbd6bd sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xec03a6f5 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xec13b91b snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec527b61 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0xec54d16f s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xec5955fe find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xec76924e queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xec887829 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xec893528 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xecada1bd usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xecfe2f2b netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xed16a780 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xed189b7d rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xed50c9e7 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xed695a2d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xed6a960e ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xed801d4a rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xed869964 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xed8d354b sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0xed909e79 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0xed9bce50 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xeda63db3 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0xedd6e35c wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xedf0bb65 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xedfa5ea9 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xee2cd56e blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xee315eb0 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xee4d7720 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xee54da53 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xee6446bd usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef4c0d44 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef8a576e bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xef8ba18f usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xef955710 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xefb2609d ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0xefbad086 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xefc3ac6f shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xefdf1fd5 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xefdfe24e remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xefe817f5 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf052554c omap_dm_timer_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf053cabd ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xf06f9584 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf092aa80 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0xf0a57af5 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xf0b8c741 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf0f238e0 user_read +EXPORT_SYMBOL_GPL vmlinux 0xf1506559 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf1716491 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1862367 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1cc8cf8 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xf2068e6f dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xf211e6c5 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xf26722a2 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xf26b1efe dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xf2ceff1b pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf31f2146 __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0xf33d8903 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xf37fd1ca simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf38e03c0 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xf3a1e02b usb_root_hub_lost_power +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 0xf40feb48 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf421b4f7 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf445540a device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xf470e459 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xf4d5a902 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55b547e __class_create +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5e1f774 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xf61fcd87 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xf63d828b __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xf65c56dc debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xf68f7bcd eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xf6992887 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xf69da358 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xf69e7d6a blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xf6de56f0 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f49394 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xf6f67ae1 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf70432ff disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xf7402b37 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0xf75cceff nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xf77d8696 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xf7b936fc crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xf7d1f860 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xf7e19dbc register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf8082bdf usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xf80e4473 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf883bcc2 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xf896a45d sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xf8aaf077 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf8caeef0 of_platform_populate +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 0xf94d69b8 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0xf95828d7 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0xf976b996 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9bd4f4f register_pernet_device +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 0xfa72f8bf rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xfabe3cdf cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xfabe5cad blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xfacd2ebc sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3ec969 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xfb42e363 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xfb4b798b locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xfb6a0493 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbeda43c devres_get +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc19dda9 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xfc478a68 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc4e8181 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xfc5039c3 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xfc53c1e1 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc58b637 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfc84a9ab snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0xfcb29dd6 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xfcbf25ad da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfce68578 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xfd000a47 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xfd0cdd3b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xfd47264f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xfd58cb0a mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0xfd6ece00 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xfd761471 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xfd998c15 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xfda624c4 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdbd3cb1 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xfdc31930 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe46dc40 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfe5fe8a1 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xfe66c4e1 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfee44d70 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xfef1b26f stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff08940f unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xff3f7174 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5dd275 snd_soc_register_codec +EXPORT_SYMBOL_GPL vmlinux 0xff73fa29 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xffa321d3 unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffdf1120 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xffe0e6a4 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xffee9f04 raw_hash_sk --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/i386/generic.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/i386/generic.modules @@ -0,0 +1,3701 @@ +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 +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 +alx +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 +blocklayoutdriver +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 +libahci +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 +nfs_layout_nfsv41_files +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 +objlayoutdriver +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 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/i386/generic +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/i386/generic @@ -0,0 +1,13553 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x8a06ec54 kvm_cpu_has_pending_timer +EXPORT_SYMBOL arch/x86/kvm/kvm 0xce7ef49b kvm_read_guest_atomic +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 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/acpi/video 0xa4d86c5e acpi_video_get_edid +EXPORT_SYMBOL drivers/atm/suni 0x3d972a9d suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x40e0c0dd uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0xa1aa7cb7 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 0x2da147ad pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x4beaa666 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x528db16d pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x8db3f40d pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xacb0a1a2 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xadd17233 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xbfdd8214 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xcd5b2384 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xd20322e7 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xe3a8371d paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xe51c775d pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xea0a0077 pi_init +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 0x21285c49 ipmi_smi_add_proc_entry +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 0x468b7c0f ipmi_get_smi_info +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 0x84a9d419 ipmi_register_smi +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 0xb096a1fc ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd8f35047 ipmi_smi_watcher_register +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 0x83cc85e9 nsc_gpio_write +EXPORT_SYMBOL drivers/char/nsc_gpio 0x8f3378e7 nsc_gpio_dump +EXPORT_SYMBOL drivers/char/nsc_gpio 0xfa78b1c9 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 0x2edfbd35 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0963b1dd fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0b1a1cef fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2396cabe fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ffd146b fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3130e238 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3846b1b3 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39ce3626 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x40c1ef74 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x541f7a67 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x593d14dd fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x63e7ffa8 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6abe4186 fw_core_remove_card +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 0x88b462ee fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9a8eb8db fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaaf772dc fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xac7f5b76 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb80dd2e0 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbd2d0ddf fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc88d56e2 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd1ff3432 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdd9040a3 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe04a9b58 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe0a1c146 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe68b09bf fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe7dc1b92 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf187d3fa fw_run_transaction +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x011aceb3 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01912718 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03792e55 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05258418 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0544d10a drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0647bbb4 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0656dc40 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x070be091 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07c201f3 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x083fa427 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09a2d6e8 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b6f74af drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ed1120b drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1168437c drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x123b7f12 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x133382ff drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x139edff5 drm_mode_detachmode_crtc +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 0x173a82d6 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18234bb3 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18d467cf drm_agp_unbind +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 0x1bc1d541 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e198992 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f3748d6 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x200e0093 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x200e8046 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20df79c7 drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21c9450f drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2275a4bc drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2323c3b7 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x238c7361 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25d7c9e3 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x262dd79c drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x263e8685 drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27088914 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2711e63e drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2756eb21 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b1fa9fb drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e61c695 drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30797525 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33b40788 drm_prime_sg_to_page_addr_arrays +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 0x366ea6af drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36dcf6db drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3857656f drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3864a80e drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3985f2a7 drm_connector_attach_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 0x3f13ed0e drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2573b4 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2cd798 drm_mode_hsync +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 0x43e4172b drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x441acdb0 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4484b8f8 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47b16bdc drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47c95af7 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48a2ee7a drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48ebb121 drm_prime_lookup_buf_handle +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 0x4b81d4fe drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bfc7202 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d2a1a03 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dfb923b drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x517ebd2c drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549b2c8d drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55b84d6f drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x561a0164 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56b06cec drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b10363 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59d01cab drm_mode_create_tv_properties +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 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62bcd06b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63ba5f95 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x646c21c6 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6493e55d drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64c9f078 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65f7760d drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6619570f drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66a0597d drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67afc27e drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ba7a0e7 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d7a5739 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e044767 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e38d38c drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f2aaae8 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7102239e drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x713d63e8 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x720d32cc drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x733aa2bc drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x774ad3a2 drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a8e386b drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7eba9107 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81446009 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83950880 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x841c47b9 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85af4231 drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86136af0 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86911025 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88f008d5 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cb30b20 drm_pci_exit +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 0x920eb86c drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93ad2c48 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x956ac5b3 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98c0fbfe drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x991789c4 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e09a552 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0a33807 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1117a3d drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3a5bb34 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa432f744 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5ca7db7 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa68f286c drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6f7308e drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9273f97 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa948c601 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9c37fea drm_prime_destroy_file_private +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 0xaaa4f4df drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac297b4d drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xacac158f drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xade1e269 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaea2e3b0 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4dfa881 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4eeea59 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6889c27 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb81af1f0 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb96f3de6 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe13ab8f drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe316ceb drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc07ccea9 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc25b99db drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc297ce99 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2ece9df drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4a7616a drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5ef4128 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6bc2f34 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6fe8cc8 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaa8922d drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcadb9d03 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb10816f drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb3c0291 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb517c3 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05d8aa3 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd097b3cc drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13fd695 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd203826f drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd325dad6 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3bf498d drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd40dbf31 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4356335 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd65cf8d2 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd73fa610 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7cdaae5 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda1c7def drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdaa1af1f drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd994ed2 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddd8b305 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdeb29bcd drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf48e06b drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe18b2c70 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe323b5c5 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe32f542a drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe38aa6d0 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe38dd206 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe459c1c5 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe50a2dff drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe638fb04 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6799f8a drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6c3129e drm_add_modes_noedid +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 0xe786b0df drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7c72e3d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe97d2900 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea56df2d drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeacb9c03 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaf5a1a9 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefad57ea drm_pci_alloc +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 0xf2da8f16 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf37cf48f drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf388e419 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3f038d8 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4834446 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b3b678 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7345393 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7aeeeb5 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7e3625d drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7f08d03 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8fc0eb1 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9214880 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9c06e62 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa75298f drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe17d1cb drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffb32123 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x000a1b6f drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fde4836 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10de0992 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x217e0b46 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x263a6b66 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d255388 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fb1b85c drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4369347a drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4936f018 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f4c5c3a drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68173616 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7398d103 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76f04530 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77a18f97 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7bf3585c drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c205f6f drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7cf09159 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8078b962 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85ead678 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89e4c193 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x96907ee6 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x971032e3 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa70bf83b i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d6809d drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xafd892e3 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc039fd6b drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc20e9fe7 drm_fb_helper_fill_var +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 0xd4a7cc78 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed6780bc drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf668aae0 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf708523c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfba8a9af drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdfecdbd drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x18e118b5 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xa86a1b53 drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xcd802b35 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0035dd62 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03f1634d ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06c2d3b8 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a527aa7 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a6485ec ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e097ac1 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 0x160f2e6f ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ba901fa ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1cabb695 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x211776b1 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +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 0x2e51b208 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30509d0e ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31f0b8c5 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3212e440 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34c269a1 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3684d3e7 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x45fff77f ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4915fb8c ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e257b39 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x562ecf54 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5841ff00 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a8f9558 ttm_dma_tt_init +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 0x6622655d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67b1d568 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b650d0a ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6bb4784e ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x71698fa7 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x799e21ad ttm_bo_clean_mm +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 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 0x8a20cb95 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8c9ca017 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8cb52819 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x92da04e8 ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x97503421 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9885002e ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9fff5378 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa0343b40 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa62459ac ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa71c35e2 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa9edcf9f ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbaa2b414 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbde4465d ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4a6e5c5 ttm_agp_tt_unpopulate +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 0xd266b0aa ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd670b7c1 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdaf0f5e7 ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdd39365d ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe116245c ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe5417038 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe6b090db ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xee4b265d ttm_mem_global_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf2eaa709 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4578b1a ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4d716b4 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf9281991 ttm_bo_synccpu_write_grab +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/hv/hv_vmbus 0x34789510 vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x819ef516 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 0xbb9a509d 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 0x2abca368 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x36c50bcf i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x42b3a645 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x06184da4 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xfc6e360e i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x91cc5a1c amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x0f712d6c iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0x216224f1 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0x220d3ae4 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3b7966ed iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x49716e30 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x50d6a42a iio_triggered_buffer_predisable +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 0x8d86de0a iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x91316ea5 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x960cc4f8 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x9f537e14 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xa12a3f87 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xa5ed22e2 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xa6931cea iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xb45ae01e iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xb5a90ffd iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xbebf25fc iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xbfd0e4a8 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xd04ec436 iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xd43bbad8 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe4e9deb6 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xedaad082 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xf1bed805 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x2722e40b iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xd365f72b iio_kfifo_allocate +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x37838b44 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x706bd261 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 0x36610f9c ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7ae8e549 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7c2c22f0 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x899d8812 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9586dd15 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb631cd95 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb8681b59 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba7549ad ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbb212db6 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc1e38c53 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc682d8bb ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc69300f1 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xce41580e ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd12746e4 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe5e0afcb ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf6bf8d8c ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfa040af2 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01f2c827 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a108eaa ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a79fbce ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c9c0b39 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e381b49 ib_dispatch_event +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 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21aa0313 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21c7c9f3 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22e48ab8 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23f1fe14 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25e4e715 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x265cb844 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b10b62c ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e26f730 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31c2a398 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37eae882 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39ef4bb4 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47b9839c ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d1e7cb4 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e790638 ib_register_event_handler +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 0x52a68a36 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5430d253 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55f6b46a ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x569d6f10 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58b047e5 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60bc5501 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x640503a0 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x662fee69 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x664040b7 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68357152 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a12bb78 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d69a2af ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e5c9337 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x760f5ab0 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bbf3acb ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x812247ad ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85902a4f ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85e0ab27 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8854d94d ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8996c74a ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99dca1c7 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9cca36dc ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0308a6a ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2763b2f ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2a280f5 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5f99d0a ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa73ea767 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa85a0ec9 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa75ea7c ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae8ad0a7 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2403664 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb391b0f3 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40849ad ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbbe398f9 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd11dbfc ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc66ec48b ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcae6eecf ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd2f0efa ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1ea2d3c ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd42461bc ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7ee3328 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd95a6049 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdab5f313 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfcd5095 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe66b55c9 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe893282b ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea05c1e6 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebdcc3da ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed3a6443 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee7535ee ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6b5dbea ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf91f7a65 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcf1d037 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x03784c0d ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x427d84b4 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x58651b1c ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5d29aa48 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6d4963f5 ib_modify_mad +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 0x80f5b525 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x9da38b05 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xa00a0a9d ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xc8630e94 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xca8cecf2 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe3930b0d ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf52d9aea ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x366156b9 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x4e137880 ib_sa_path_rec_get +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 0x8dba2b37 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x942865bb ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb1630f64 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xbc33a616 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 0x0f8a789a iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x38bf32fd iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5abf906d iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9ac4b5d2 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb7108599 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc74a3f51 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcc11ed96 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf6b6b921 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0770e953 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x08d7d512 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0c0c57b1 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2a536851 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4dfdc255 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6410cbb1 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x74e2323a rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x74f18bf4 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7737cf73 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x82f6b26c rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x89e8d19a rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8b20aff9 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbc098ab8 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc8ad14d6 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd6ece31f rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe36a93e9 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe414a5d7 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe66263ca rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xecefaf60 rdma_set_ib_paths +EXPORT_SYMBOL drivers/input/gameport/gameport 0x00134ec6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x12523fb4 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x36a43632 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x412fdd37 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x61f4d3e5 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8acc3fda gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb65f71ee gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xcec7e80c __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd9632372 gameport_stop_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x0488380a input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x29e57637 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xae689ecf input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xba0df3bf input_free_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x54db82b7 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x85e2788b ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xaf1af2b6 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf1092a63 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf6e520e0 ad714x_probe +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 0xe0dd12b9 cma3000_init +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6b72d515 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x71913463 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x86ad668d sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x983c5cad sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x999e0da8 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0xdb8153b7 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x02984c50 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xa05f8cdc ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x04403fcf unregister_capi_driver +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x0a614e0a detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x14f2aa5a capi20_get_version +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x201e8fc2 capi_ctr_ready +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 0x7086b786 capi_ctr_suspend_output +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 0x8c5944cf capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x95c99d73 capi_ctr_resume_output +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 0xb1701ded capi20_put_message +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 0xc3b9586a attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd464ad42 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xda950a59 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe4806846 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe8ad9bd1 capi_cmsg2str +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0f52427f avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x30e0bdd0 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3381bb15 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x392303d4 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x428172cd b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x435686c7 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4c3f4e70 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4d46d5ee b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x66b44253 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7a732873 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x848d4ae4 avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x8d5b370f b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xcfe0d06b b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd248a3a8 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xe574c88c b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x142affc0 b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x147a70ec b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x20c2f694 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x7ea1cdf9 b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xa89a9421 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xc29e385b t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd11f3cdf b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6fc0e4f b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xda3b17f4 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 0x475e127e proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1f0730d6 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2012ac57 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5143facc mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xe790b998 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x4c3c2673 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x595ec332 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 0x4691e992 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 0x2de5d579 isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x8918ca65 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x8cc955a8 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x969651cf isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xd483a0dc isac_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x3392eb05 isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xd910b8a8 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xdf4d9ff3 register_isdn +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 0x18947e44 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1d15e2cd mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x240232f7 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x302113fc recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x43ef23e1 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x454fc1c0 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5090f08a mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c14532 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 0x57dc001b bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5af36b5e mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6e833298 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7403009b 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 0xabfb17db mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xac1e6d82 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xae69e44a mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc7bcfbd0 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc8af0520 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xce498de4 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd3d66c33 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe816a628 mISDN_unregister_device +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 0xea719b87 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf5244a4f recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf9e7832f mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfd0261cd mISDN_unregister_Bprotocol +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 0x20c601b9 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x2dbc9db1 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x34136f81 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x9b2b349a dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2f0289d9 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x492788a1 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x96e5dd2b dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb3373612 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xce426b59 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xf9d7dd81 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0xb4cbe338 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0xbf0ff16c fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x8d516a7f max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xc038e7f5 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xc9f95923 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0xefdd6665 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x3a3522ba mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0xe56d6ea4 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xc690073a qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x754cc20c tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x3219df05 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0xfac59faa 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 0x6ad675b3 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xd847de0a xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0xc863b4ce xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x08fab689 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1a657bf4 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1c9ed7ff flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x37bbdac6 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3d6212cc flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x51b87c3d flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x52b44d99 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x74d1a583 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x88e5f9f3 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x94347308 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa7e6b30d flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xab91fa62 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xac9d22f8 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb259245d flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc654d6a4 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xca029013 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd124ae76 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf12b0157 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf6e05713 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf7f75d91 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x67a6a4d7 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x8fb411d4 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x9112ec52 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xb5065ad9 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x133542d8 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1349dff6 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x15d70c2a dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6268a9ab read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6de5f0f6 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6faf951f write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x9aae00ea dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb3850fff dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdfc15a54 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x3e80bad7 dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x07ac0bd0 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x101a29b8 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x14421a7f dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x1559e42a dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x16bb9b94 dvb_unregister_device +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 0x237f7910 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x300f2abb dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3519aa33 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3ae07327 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4c70c35a dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x540beb48 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x60e41d7f dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x69599c25 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6b74442c dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x728b4945 dvb_register_frontend +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 0x94ec478e dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x97bd4310 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x987dcfde dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x99907037 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa6bdb8f6 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa6cc8903 dvb_ca_en50221_init +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 0xc7946d72 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca6cf59a dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc4340ae dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xcc801ae6 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xccce28bb dvb_ca_en50221_camchange_irq +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 0xdb5c53f4 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xee5c1aa2 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf3fc66c6 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf593acf3 dvb_net_release +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-core/dvb-core 0xfdc5b6fa dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x021bd272 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x025b5434 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x07dda818 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x5fb04c1f dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xa0a2ca29 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xac97b394 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xb0a7a0f6 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 0xa54a161b 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 0x093e2834 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x2947522b dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5ec2f02b dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x65eeda4a dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x69d67178 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x7fb67ea7 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x92114f2b dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x96d206c5 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 0xbbbb3e26 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xbf4d7ee6 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xee01dced dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x8054eaf6 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x1a24adc6 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x0344fda5 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x81d00517 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2815361a au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x33d8d685 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x9a05e284 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x9bc2c138 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xa6572333 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe315cb3d au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xee6ec644 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xf39985f3 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x63404342 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x871121bb bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xc7a8f98e cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x374e8beb cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x88079410 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x722bd7e9 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xa8805227 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0xc8ecb6e0 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xb293a4c7 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xdaee7025 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x1a35e1c2 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x80c879db dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xb05f855f dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xb5cb5315 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc52cdbd1 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd74efef2 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x201af225 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2bc4398c dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2d49d1b1 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3e96d605 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5609004e dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x72965026 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x85354172 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x94bd517e dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x9d37849e dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc16208e4 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc6b39b39 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc8fd38bd dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd944c779 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe257967f dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xebac0c0c dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x6c44db0a dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4359eeec dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5a9f9652 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x9495da07 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb4c5b130 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xc0e314c7 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xd58bd2a4 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x288b30bc dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x6a4ab341 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x821a34c5 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x8d4378ca dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x02134141 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0ff0d440 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1c527cbf dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x279a1201 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2a05667d dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3cd1e858 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x54424eb8 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x66f41d9e dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x68a5a573 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7d5c0ac3 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9c11c55e dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa372227a dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xb3bf1439 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xbf03efc6 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xf79e0648 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x04a146fb dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0d3fe329 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x295c89a7 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x2d916785 dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x2e600be1 dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3bd334bb dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x49c101d7 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4c835732 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x62fa2cf5 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6bde5908 dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x74c04f4c dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8d0238f9 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x94d9ce83 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc8e0a3a0 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc8ee0e0b dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xd20a7dd2 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe3e293ce dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf0efe9b0 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xfbfdc2ad dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x252a234e dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x2eb8c75f dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x4f223aa3 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xba99eafb dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xcca2bfad dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x098ffcac drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x7bec0f06 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xac36c015 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x54cc9bf1 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x57f48016 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x6e8d2973 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0xbec56086 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x48781444 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xbc0b41b7 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x6bc0069b it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0xb840f616 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0xc9cac4e7 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0xb02b6653 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x3ef0b659 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xef597ad5 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x383dcbba lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xce70b7af lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x1578167d lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x73c2f65c lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x4ce36b06 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x0cc3271d m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x2542d5cf mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x1bd022dd mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xa2e32854 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0xfa56e187 mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x70159317 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x45a9a901 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xec521682 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x226fecc6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x33bb9e84 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x7bfbf759 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x83a3c6b3 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xdaa5dddb s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x4c438a56 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x621a9f56 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xcdfd1f31 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x15bb8a53 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x91f615df sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x3656bc6a sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x62fd5873 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0xbd30e617 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x9e5e7966 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0xa0bcd5a5 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xa20ed7bc stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x2d2ce97c stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x3c1f3f89 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xa6d5a7a6 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x7fa1efed stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x6058e329 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0xf60e885d stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xb3b1f8e5 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x79c5b914 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x42d81b2c tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xb310c646 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xb6c7a1d2 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x29b682b0 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x498fcb3f tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0xf6e6a301 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x4df70952 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x9c5eed9b tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x485044ca tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xc8fdb895 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x16686e01 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xf5fcf7d2 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x978da273 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x053b081d ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xb1052580 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xfa6d74d9 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xa3c658e2 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0xac0e8de5 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 0x411a8917 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x6add88dd ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x1c1823f6 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x247ba284 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x30194242 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x52ab48e6 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xabacb027 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xca6d660e lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd161c8a2 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xfe4364c4 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/rc-core 0xef37b063 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xfc8a6663 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x3f193618 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x5b68a64a bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x9ce0f007 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x86c36fde 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/btcx-risc 0xd80d0f1c btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x4d524cd2 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x6f9f9d4b cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x7084e73f cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x9253cc3f cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xdc0611f7 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x12b0bf2f cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x1608d96a cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2e4c4573 cx2341x_handler_set_busy +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 0x72d860ba 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/cx2341x 0xd1653204 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0xfc414552 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x16bfb3c1 altera_ci_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x271158e9 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 0xe1f616df altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x1937c83c cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x3d53694e cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x4f304ff1 cx25821_set_gpiopin_direction +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 0x8aa27abc cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x9296d9d6 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x936ef3b4 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xa9765f21 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xb8f0ef4d cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xc67ed749 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x1d261913 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x94ddc14f vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x10149f5d cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x25ea13b2 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x4e0f2c0f cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x5fdaf98b cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x76e0a5b3 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xbb9f1d15 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x1f08d200 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x2a63f38b cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x5a089537 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x640ed9a5 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x8db91037 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xfd64441d cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0bab3d8c cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1f38f39a cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x216e9e0e cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2296d880 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x251f9ef4 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2dc5edb1 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2df1ec3e cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x30e5a672 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x52167496 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5bbd4c51 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5be2fba8 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x706c6d26 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8140b5ef cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x929603e2 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9dad6ff6 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xae9c8fdd cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbb723a31 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc1bd45af cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xdb7680e6 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe68fa9b8 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xea887f2f cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xeab5105f cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x1cf0c186 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x3d61c0e4 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3ae1f7c2 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6803d417 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x6c5d98d8 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7acf2422 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x8134a7de gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb71e627a gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xd4d0fd7e gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xfecfb756 gspca_resume +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x09f4d65a ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3a9c1b37 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3e7296f3 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4a0accb0 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5bb41490 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x5e8efd63 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6183cf29 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x8793ba06 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb334da9f ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xd48f04c3 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xefab35eb ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xffad5754 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x050cbff6 saa7134_set_dmabits +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 0x1f62be5b saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x20fde56c saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x272818a3 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x720a18ee saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x7ef4be88 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x9ffd0085 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xac4fd348 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xcdac196c saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xd32ebcdc saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe6df52a6 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf8227c97 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/soc_camera 0x4ec2d151 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x539cb855 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x772de5c6 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7e213199 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0xad178013 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe8c2d667 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 0x24c8ca91 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xb4ce9db8 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xe8f8d388 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0x8f1cd952 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0xa7b3d72f tveeprom_read +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x33af06dc v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x350f7b11 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-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x69d3466a v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xa636f6c4 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xdfb4fc5a v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x0019097e videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5b453c82 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xc6d5475b videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xcde6bdab videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd1631f1c videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd9b0d763 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xdebf79ef vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x03218f0b v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x0f6bf582 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x10e3fae4 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x15f532f2 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x180d915a v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x1c28b60a v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x2021ddee v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x2218f67d v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x3323c9ab v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x382ce681 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/video/videodev 0x3bcd639a v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/video/videodev 0x430c9ffc v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4e380eb8 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x5154a3d5 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x52edf4d4 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x5950485c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x67f841f8 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x68334174 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x6dc7a860 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x70d8bde5 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x79a8d41c video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7c4c7c99 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x7ecac599 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x813a6b6e v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x82e9fa13 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x83a94bcf v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x93bc3844 v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x94f93c0b v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x9f6f032f v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa257a2f3 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xa272c9d2 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xa448c503 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xa78e92d9 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa7e4feba video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0xab7d43da v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0xad36d62c video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xadd6502c v4l2_ctrl_poll +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 0xbe68e430 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc3ec0396 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd0a132a7 v4l2_ctrl_find +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 0xe81dfc27 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0xeb87d627 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0xf1138a0e v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xf16b36a4 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x58f3d352 videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x60d838e7 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9037dd55 videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xd0f74d69 videocodec_unregister +EXPORT_SYMBOL drivers/memstick/core/memstick 0x030b8f74 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0320d35e memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0eda5e4e memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x27d5a87a memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b1e1b68 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x62445c7b memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa5987a36 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa6b88226 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb68387b4 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd98c1c3d memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe70a9aaf memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe8c8f067 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xeb2a6c76 memstick_new_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x04f823d5 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0f94a7f3 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x150f989a mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x155f3306 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x158a8c44 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x16b16c32 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1e98d7ba mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x218a4961 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2683f7ab mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x26adbe3a mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x291d851a mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4020a624 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x428c3f37 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4c3748b2 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5daaeb3f mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x85c5f8cd mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8eb5d600 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d328f58 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d4d82ff mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb40753d0 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb5e1d6b0 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb991188d mpt_get_msg_frame +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 0xc4fd335a mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xccf96bf7 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd1c51047 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd3baddb4 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd540dcbc mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd85abba0 mpt_config +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 0xf229e5b9 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1b5f5ccd mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1e334014 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1ff1d7c5 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3444b2ec mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x38ac7d3d mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x425d9cb2 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ea477bc mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4ebd6a84 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x683edc92 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x765f7460 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x85776e1b mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c43e92a mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x96672e9b mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x979fe2ef mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa304c5e6 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa315f9fe mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa68bfecc mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa7e15deb mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa9afb78a mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xafdd7310 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb33f10b8 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb3d40c30 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc7be265f mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xde94b592 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdf40ef57 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe655bf9f mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf131febe mptscsih_proc_info +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x19d14bbc i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x24549a37 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x460ac83a i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x48136930 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x85da53c8 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x87aaa34c i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x98cfcd55 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa9202160 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb05a7cbb i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xba4fc7e4 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc3edd5af i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc4c889df i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc71df33b i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc89bd575 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe0d7f13d i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xec1616eb i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xeea43d0e i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xf870e827 i2o_device_claim +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x32eed5ae pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xcb00468a pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x09cd80b4 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4230f9d2 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7aba4e67 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7c5a9c36 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8eacd1f0 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8ed78957 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x95d12b9a mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x98fb8aeb mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x9fd6d5be mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xaf66597a mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb6763d35 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xeaac910f mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xee72ac30 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/tps6105x 0x318bed2f tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xfb7d8dbc tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xfb9871d9 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 0x06fae09b ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xf3a9f50a ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x51ea2fb0 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x0ecf736a c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x47b19cc3 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x311426ae ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xdec9465b ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x430dea7d tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x4cc7b6a6 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x5d77021d tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x7e2d6276 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x834ef22e tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc6499e07 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc729de44 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xd3c7809e tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xde16f2cd tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xe2dc77c9 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xe9471cbd tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xf9c75813 tifm_free_device +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xf2feab32 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x41338762 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7be8ae09 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xe181d433 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1b67d57e do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3f2a03c4 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb1cf0f6b map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe5caa031 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x819a2796 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xd09e1bdf lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x41414e27 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xd9eca50b mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xf0cf97d5 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x08d2eed6 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x131f1f4b nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x3f5ea246 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6238d4cd nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x88c6563d nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xaad119bc nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0xe7f82713 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x81ca2c06 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xaf916dc7 nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xb2465df4 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 0xbe622320 nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0xd7927300 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 0x14db2dd7 flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x686ccab6 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x6f10bfbc onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xcae63a47 onenand_default_bbt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0b711870 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1779376e arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6f1d48fc arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb3a526b3 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb81569f0 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbf8a0248 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc14f516a arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc36df63d alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd15e1771 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf86f6357 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x0a69c454 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xc85319c4 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xe98b766e com20020_check +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2537d460 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x470cabd4 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x53163f0f ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x615492c5 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7094f91d ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x74953875 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x797de909 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb94a20b4 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc3da7b73 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe25911aa ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x1939a29a eip_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x2820938e __alloc_eip_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x5636814d eip_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x73a1d5e8 eip_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x8dc33771 NS8390p_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x95e81759 eip_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0x99c03fd7 eip_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xacfa6c00 eip_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xc37269ab eip_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xf3c14778 eip_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390p 0xfc186342 eip_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x12ee85ec bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0x0ad79791 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xfb0dda16 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0761d366 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0b9321d8 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x174af18f dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x18fa0358 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4ca3b581 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4e990717 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x501daf02 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5c21a43e cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x668f57bf cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6b35929e t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8307bd77 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa3caf0fe t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xcba5ae4f cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdb3c5fc4 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdc7974cc cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xef738ce0 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x107260ec cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1df30e1c cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x228c2b0c cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2c304d70 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c3719fd cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3ee9ab92 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4b78aa04 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4f512587 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x680d264f cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x693cad0c cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6b64df77 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x75fffa9f cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8d53518f cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x93629c9f cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbd4f18f3 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8fbd034 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xceb88d03 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 0xe10a8225 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeb28c104 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xecd0d22d cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x7e6ad4eb 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 0xbe50f089 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26f8f489 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x370092bf mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4d78219a mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57a2df92 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67b943b3 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82f028b6 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9d6079e mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae26c32e mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcba81767 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdabe525c mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x082823b5 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2a53191d hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x37771060 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xcfdcff84 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf10e7015 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x179c7371 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x39d44908 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3bb49594 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x55ffc18f sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x58f20518 irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x726ab6b3 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x77949172 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc081b483 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf428d1b0 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xf5cd6672 sirdev_write_complete +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 0x4f4a775c free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xd4f373b7 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x38f28a8c pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x79bc170c register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xd58cca38 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xed62539c 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 0x02f47741 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x06ce842a hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x132b8c95 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x193b4d2f hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3f38b41c hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x636728a2 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6a8ad7a2 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x96293475 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb610bccc detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd5cf0ecb unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe7f1afae attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/z85230 0x0f18aec0 z8530_sync_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x10c78988 z8530_dead_port +EXPORT_SYMBOL drivers/net/wan/z85230 0x19462ba8 z8530_sync_txdma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x2876dbf7 z8530_sync_txdma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x2d74efcc z8530_sync_dma_open +EXPORT_SYMBOL drivers/net/wan/z85230 0x32a239bd z8530_shutdown +EXPORT_SYMBOL drivers/net/wan/z85230 0x5cd24d29 z8530_hdlc_kilostream +EXPORT_SYMBOL drivers/net/wan/z85230 0x629d4c72 z8530_sync_dma_close +EXPORT_SYMBOL drivers/net/wan/z85230 0x74b23d44 z8530_describe +EXPORT_SYMBOL drivers/net/wan/z85230 0x7572b6d9 z8530_sync_open +EXPORT_SYMBOL drivers/net/wan/z85230 0xad081d7d z8530_nop +EXPORT_SYMBOL drivers/net/wan/z85230 0xd1f19c76 z8530_init +EXPORT_SYMBOL drivers/net/wan/z85230 0xd4ffebf0 z8530_interrupt +EXPORT_SYMBOL drivers/net/wan/z85230 0xd73a55c3 z8530_queue_xmit +EXPORT_SYMBOL drivers/net/wan/z85230 0xdba380eb z8530_channel_load +EXPORT_SYMBOL drivers/net/wan/z85230 0xe062bd17 z8530_null_rx +EXPORT_SYMBOL drivers/net/wan/z85230 0xe3d80064 z8530_hdlc_kilostream_85230 +EXPORT_SYMBOL drivers/net/wan/z85230 0xe79b0315 z8530_sync +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x61b125b9 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x459823f9 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x4f676675 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x8776ef46 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x05873acf ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1037bcb7 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x115e50a3 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x27212f3a ath_hw_setbssidmask +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 0x69ef0187 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x77c7e8ef ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb4388f7a ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb66d5049 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbefa94b9 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd6c2e288 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x122122dc ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x290d0a72 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x367fdd8c ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x67849733 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x93bee349 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x984737b7 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb44fb17f ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd76940a0 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe5baf6e5 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf3401c17 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1c0aadc8 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x24ab46ef ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4f540759 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 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe12e66b1 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 0x020792eb ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x022b1f37 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x02dac764 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08d119a5 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b0fdaec ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0cb97b2f ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f7661a7 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x137557fe ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1498d3dc ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18470201 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1c342b21 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1c7bad2c ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fc4639e ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2140c47f ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2db20bdf ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x318fcb7b ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36ff2a5a ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x374a19bd ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37ad8903 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3aacbdd2 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c84d59f ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3de8832f ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e261323 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44b80cf7 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c93a672 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4e9c382b ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x516701b2 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51fc3d9f ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52ec72f3 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54ea2950 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57a7e79f ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59166564 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5feb659f ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63125842 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63877cc7 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x650c52d7 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6606f221 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70b55696 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x77adea2c ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79f8c61b ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ac0bcac ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b5c3132 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c39f33d ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80659353 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80a25ece ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87cfe6e3 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x892ca1c2 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c40b9f2 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9184579d ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97a9452f ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98f0b74b ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x99a79792 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9df8429a ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9eb2ffed ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa008327e ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0532acf ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2d8b229 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47257cb ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47b674d ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa47e1c7c ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab60c06b ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2050f83 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4bb7110 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4ee0c3c ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbb16dd94 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc35671c ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe9b1fd4 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbea5fc02 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc1d9b96d ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc20faf85 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4f80391 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc9570aaa ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca048a2d ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcefe6e14 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd12468c2 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd35f02e5 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4a75d5d ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb5b5189 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe28461cc ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6bf7926 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6ef534c ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe791fd8f ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea2a4746 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea518147 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeb97c623 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed3849f9 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee7bda2c ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xefcb05cd ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf24bb5f3 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf402132c ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf96d44d5 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe8807b7 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/atmel 0x571c62c8 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x5ce32185 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xe2c22841 atmel_open +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x1090aff6 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0xba23d0e4 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x12d67127 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x46bb8835 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6ba85654 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x77b5e00c brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x7e22eee7 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x80cc9186 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xb654d8bf brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xb70a91a2 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd55d241d brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xdc8f9954 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xed02d3ac brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf83123be brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0a87451c hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0c3f9df7 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x10ec70f5 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1ac18e63 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1c8ce12e prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x21b9b6d3 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x22427fbf hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2301e7e4 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2d2445b5 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2e0ed141 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x484e99b9 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x58e577f6 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x59882363 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8c33d5fc hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8e9bc09e hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9e987d5c hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa1b787f2 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa60d5a07 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa9835df6 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb198308b 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 0xbbeb720f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xbcd2a082 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xe9e3dd86 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xebf542ff hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xee280ca8 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x172413fa libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x259c3297 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x25d2c23c libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2e279504 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3bded8fe libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4c0a34ec libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5463198c libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x561f3acc libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x56845162 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x605ff068 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6cfa6d17 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7c4a3f54 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8113abbb free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8beac3a4 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x92e95001 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa2d3675d libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb7c16001 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc84acafb libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcae59839 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe2f617ca libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf517fe9f libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0085fa5c il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x031274b7 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x037cde38 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04bbf919 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04fcc375 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x078f6dc4 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a4dfe4a il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1e21dd01 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1f800f16 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x20c25561 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x20e9b9b1 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x22d8e0f7 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x25a2fdd9 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2a4c31a0 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2b369632 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2dda48ba il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x30d5c7a1 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x334f5aa3 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3565c894 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x35794707 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3690401c il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3b35bf62 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x45e33935 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x463a45d8 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4b57f3ba il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4d2e59c1 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x54dd1a52 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5d19e736 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5e62c79d il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5f0a74db il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x61705d66 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x62a5cff4 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x63169718 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x631b6691 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x66e9ecfc il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6a24e19b il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6c66fde3 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x729f9efe il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x73e5a8d4 il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7665401b il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7d46937b il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81400e5f il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81c1664e _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8708db18 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x873bd0aa il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x88d7553c il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8d43f45d il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8e1a2d22 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8fee0455 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x935844f1 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x960afc78 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x97d44f8d il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x985f766e il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9e0c601d il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa4d524d7 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa64e2f60 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa7221b84 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa81d26e8 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa85616dc il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa89695eb il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaacd33ed il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xabc7dedf il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xade79bb1 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaf764ea7 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb18e8dab il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb19ac3bc il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb5927484 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb9d2af99 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb172559 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbdeec3c7 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbe0e41c1 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbea1770c il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbebcb24c il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc14ab451 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc421ddf2 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc81220d4 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc9424af6 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xca737185 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd245ce2e il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd4f3eba8 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd719ea49 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd7a800ed il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd9216a15 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xda394c5e il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdba49e54 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdd6888db il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe45b0164 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe47dcb08 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe57b7e6e il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xede9115d il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xee3826c1 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xef060e16 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xef2077e0 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xefa790c4 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf225a9e6 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf2dd92e7 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf94fe19d il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfa8ce465 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfed2fa0a il_mac_config +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 0x079ecac2 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x124c8a5a free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1a68cc42 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x23c756cb orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x303fcbb0 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x3cbf4eb4 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4289ed97 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x510f8a1d orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5646acba __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7c1a121d orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x800bd2c7 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x95daf07c orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9d0b87b4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xa68a90e4 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd52db566 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfb0f776d orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfbd3407b orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0210edc9 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x06d83f11 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x184b8faf rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x367cd3f9 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3cef5c1c rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x40b56f54 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x425a0a6d rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4483ecf6 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4ae0fd0f rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4b99471e _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4fd0b2ab rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x55829bda rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x57432c42 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5bf30397 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x61005f0c rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x63b6fda9 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x64e698a1 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x65e7dd3f rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x691fa7cb rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6ddd516f rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8505a02d rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8ebcc45c rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa982f7c2 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xad550cd9 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaf3f112c rtl92c_set_fw_pwrmode_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 0xb42f4db4 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb5ffaa9e rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb60fe0fd rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbb4cc22a rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbb8a21c2 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc426cb4b rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcd581d6a _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd61308f0 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd81358e4 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd8d8afaf _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdab8a085 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdb291ab3 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xdfa71753 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe15d0d47 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe4562608 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeb343f25 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xed4456da rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00d3420c rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x04a219c9 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x25f2baa8 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2936c9c7 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3008e988 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x33a2a44e rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x4312bd58 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x43225b2a rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x611afd56 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x73a0aff4 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x78110a0d rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7a17879f rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9b011a32 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9dbe249e efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa4db83b5 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa87bc830 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb39045b4 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb80fefc9 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xbdc45e81 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc69d50cc rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe57030d6 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xed22da6b rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfe666f2a rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfed32191 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x131ce4e5 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x8ed9e4c9 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x012840de parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x08d24cc6 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x13895be9 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x173271bf parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x1c26798f parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x26510843 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x2fbfd469 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x3235c6e3 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x3bfd464c parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5959f34e parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x637450cd parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x66234cf9 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x6f209e75 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x86609e91 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x8cd683f9 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x8d493e6d parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x927ac050 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x9515591e parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x972c9d93 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x9e8d46ed parport_release +EXPORT_SYMBOL drivers/parport/parport 0xb36fbea9 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xb4a77dfe parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xb51758ff parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xcf325e7b parport_write +EXPORT_SYMBOL drivers/parport/parport 0xd9cb5089 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0xe31c4835 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xe5f281f3 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xf2029ed9 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xf91afaae parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xfa272149 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xa0ea9749 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xebdb30dd parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0d0c9159 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0f86bce2 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1419547a pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1e17f88f pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1efbe939 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2fe9ef03 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4091ec48 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4100bc04 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x42772916 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x49960077 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5e5f702e pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6e3ab66c pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x791a4016 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x913ded52 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc6c8e196 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf3160161 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf40b212c __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf4409a95 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfe3d0cb8 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x27fdc4d0 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x287687d3 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x41282d22 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x48add214 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5937d849 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x966647cf pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa4e48f47 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xaa2a8638 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc617fe41 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe6694600 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfffb0e20 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x261676b1 pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x372c36c7 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 0x26a76d2d pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x7353f2c1 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x7e64cb9f pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0xa4626e00 pps_event +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0x7f4268fb NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0xe1a53588 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0xbcc8d3e8 bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0f77ddb5 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1d41e6d0 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34c1d7b0 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x45d973db fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x52c4e69d fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6776fe69 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x726aaea1 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7d7e63e5 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x95d9ed33 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xe18c7e08 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf7f11c94 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00d15af9 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x058ff2e4 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09d92543 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x11ed1ce0 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1b7c6f08 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x23d282d9 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ae28039 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d8c1bdb fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f595b95 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x34b00375 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x41e5cfef fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43e3c85e fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x53c312e5 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x560a90a0 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x596ad1e7 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5a14b2ee fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b5eadc7 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5fa8da1b fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x634566e2 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x648454c3 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x682e319e fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x700ef4f7 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x72af3402 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7431fceb fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x746257d3 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7cb68d9d fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83cf3c2d fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x94c1ab0b fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x94fd5352 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa006c3cb fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa0a5429a fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1d05afe fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa6bff20c fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa86badaf fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac071a3a fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xac70a386 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xace28fbc fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0aafb37 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb20c2d74 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4cbee8c fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xba7b837d fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbeccd8f9 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd00354ef fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd5301f91 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd59c087f fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd9b2daf7 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdd57b46a fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe12a5d43 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe39e0f6e fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe8dc48c6 fc_exch_mgr_add +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 0xd257d5a8 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x044fc7f3 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0b6b7abf osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x14dc18b5 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a269db9 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a6db095 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2e7e9837 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2f7fe904 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3633cda1 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3d2d9f33 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x515096be osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x57a645d7 osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6a046a5f osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6ec84b99 osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x706896b7 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x73a3b26d osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x84f4b324 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8c6a4625 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9306e017 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9643ea6b osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x98d75b34 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9ba3457b osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9c47fce8 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa6efdcea osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa764e497 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xafb72914 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb1cccd22 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbab89e51 osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb648ca5 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc99a36d3 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcd4480d6 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd07c4207 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd59f47a2 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe56309dc osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf20bf5a4 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfeb6e158 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xff0ed7c3 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/osd 0x0b27d207 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x70b79745 osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xd8c5e001 osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0xea8d50b0 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf0808354 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf296215f osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x11b2e3fc qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x162225a8 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x167d6199 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x325fd63c qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x3c8d235f qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x653d85b0 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x983bc9cc qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc49a4a3c qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xce720c05 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe115b269 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf76a6d26 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x245d5724 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x655d899e qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x7ac41730 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x9f6b033b qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xd4fa6635 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe7607aea qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x25a0b198 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x99f45769 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0xb350ddb3 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2ac9332f fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3eebad86 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4cc9967d fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x58bd7e55 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6d9ba33f fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7d4e034a fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8844067b fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9902199f scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbf32debd fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd60112cb fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe5941359 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf0722300 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfb3f6af2 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0ab9e473 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2136f1ff sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x299e5f83 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2d5cd250 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x395db143 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x40e75e06 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45b3c1a3 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x45f51df7 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6889082b sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6dd8c2ca sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x781a6586 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fb29b25 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x823895f1 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x84a721bd sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8d52c575 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9d3b46d6 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa2cc530e sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa3b5aec4 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbccbf437 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbf1b530d sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd2aa246a sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd345bb79 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd698e11f sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xda5f2955 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xde613960 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0850ef3 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf19e9ff4 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf7c60098 sas_remove_children +EXPORT_SYMBOL drivers/ssb/ssb 0x0ba9b067 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x0c20f268 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x28e44a07 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x29b5427e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x2c85f85c ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x432967d7 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x4a1773b9 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x50fc1f43 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x52b12c91 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x6ec756c0 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x88b04a85 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x8e29b2ba ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xa69ff07c ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xa7cb4bc0 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xa91d8abd ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xb46befed ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xba6ac374 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc645d4f1 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd3344546 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe3fcb08a ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xe733d03d ssb_bus_resume +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x19cda071 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x29b3c151 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2a42f0b1 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2ec4d2b4 comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x390629e0 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3b0b69c5 comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x414a1a08 comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4537b488 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x702904fa comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x766e683d comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x92978aa4 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xb67fbda7 comedi_check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd74fa826 comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xde212f60 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfa144074 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x29e32142 subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x61b4a196 subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x7eddddc4 subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xbe0bf31c subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x0d9dc568 cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x44743599 cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x472f6064 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x00dcd2e9 mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x031f5dbb mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x06e2f47e mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x0feb3491 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x141037c7 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x613005b9 mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x6448328a mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7a95f110 mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x86cb40d5 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8bde1be9 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9150abb6 mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9b403eb8 mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa6a4c8be mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa7417f15 mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xbc509e93 mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xbd2f917f mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xcde1e4f6 mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xdea94a47 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xe6698f8e mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xff8b9a9e mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x37fb57b6 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x6f880ae6 subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x89e50f6c subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0xc8acb083 subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x6abc58ec comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x00bfadce comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x0bfe1b46 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x38d46774 comedi_open +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x7885dc56 comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x8749453d comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x9bc96b7d comedi_dio_config +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xc0b9c136 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xe1899ee3 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x6b8f3185 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xc3003855 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x566b259e iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xb7e70980 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x6408cc00 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x309704d1 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x42a0b02a go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x46ff1060 go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x48de88dc go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x6eaa4fc6 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x9fc0f442 go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xc665f410 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xf548988e go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xf8fe8a91 go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0423be23 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x06e27172 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0b6ccd2f rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x113c3014 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2ca0585c rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2f39b31a rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x30838911 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x32a8ad9f rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x34cb38fe rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3940ad6e rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3a5d9580 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x41d92122 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x429b63e6 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x48aa3f08 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5080d96a rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5e5d3655 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5f303664 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x679956e5 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6e88f67e alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6fc82bc4 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x78a0e188 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d64f0be rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x86ab2fa6 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x89c3140a rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8cc7dd44 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8f2d4d52 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x98e34487 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa4bdb4c1 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xad528218 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb08f9417 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbbf9fc4a rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbcf76d07 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbf23ab31 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbf73936b rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc0a57a6f HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc1310391 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc36565be rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc72b66db rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc7439267 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd7878a1f rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdba98af0 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xddab82aa rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe4964c35 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe81fa661 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe8e0d526 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec3a825d rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xefa9aa87 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfa92ac17 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfcbc26ad rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfe93df8d rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03e83913 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03ff7829 Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x04404806 ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0f08c9a6 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x18cfc6e9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x19a70f19 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1af3ea7f ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x27bad3ea ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28051b67 IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2e748dd8 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cbb989d ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x40faa07f ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4b06074f ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5198f398 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x53ca5521 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5597e280 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x58bb9823 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5cd0033e ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e9d0af9 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x62c30035 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x639d72c2 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68e17fae ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x69993ecb HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6a994630 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c32c8b5 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6fb07641 ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76f97523 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7c0bb97b SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x820fa0c3 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x84763e94 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x89507266 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8d5a26d2 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f7ea712 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93437b82 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa6689f8a DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa686b295 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa7aa4937 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa7ac645a notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbb55f33c ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbda3a134 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbf2eb919 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc44dbd0c Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc97799fc ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xca6603c7 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcae6eb4f ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd3372548 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd9920c83 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf20c05d ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe0362992 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe8307ffc ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xebd74cc6 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xed254107 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf1cb41c5 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf39934f4 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf5d9cb8e ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfb7218a6 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/telephony/ixj 0x5cce204e ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x09053f40 phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xad47aaea phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x001f087c transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x00ae3909 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x02a86cd8 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0709c7ca core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x07c1f625 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x11cdfb0a target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x142188ba iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x152500ed transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x1784f69b transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0x19471221 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f957c53 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x20fa07c7 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x24f06d05 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x37bbcdb4 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c162082 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x477134c1 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4876f57b target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x4bed6590 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x4bed7d3a transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5379c36d core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x545c3f56 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5463465d sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x5edb9831 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x5f2258ac target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x61fced08 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x626e9f0d target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x62824b61 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x63c2655d core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x64b1af0c core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x6658c183 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x75eac162 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f0bc141 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x800d9615 target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x9057c2a1 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x981d48db target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e4e3852 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xadfa5263 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb6cd1532 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xc053ddee transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xc14d7434 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0xc406b68e transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc84635e4 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8842c2d core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xc94b822e transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xca85f6f3 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xcb414b13 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xce7836e1 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0xd1494abb transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdbfe6d2e fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe3d63b7b iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xe525d063 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xe714d896 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xee418f18 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01589ff target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf1e4aade core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0xf34607a1 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xf796870c transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf80fb2d4 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9f5e52e fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xfa177849 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xfce76f10 transport_init_session +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x792f4df6 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x91cf7b23 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 0x14ae615b usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x450b086b usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x48e3a881 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x60102565 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x71369a84 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7bb4ebda usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x899236c6 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8b544733 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa820c365 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc3038e07 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc3b173b8 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdcddfd8d usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe1d1575a usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf69fcd5c usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf8350b0c usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x19e5c776 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xfa61d59b usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x6ef3a783 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xfbcb2616 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0x95dc8160 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/macmodes 0x19082709 mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x1d5e5e27 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x25b22f09 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xc2c05cb2 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x3600f47f DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x4677eb11 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x87502926 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xa1d507ed matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x26689796 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x4d01c537 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x40d12352 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x4b0f8d28 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x8c302a0a matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x9f2214a8 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x66f9aaca matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xe0d16581 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x199fedff matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x1a78348d matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x72b0a3d1 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xb609c624 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xf9f1bcc7 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0x25979c91 mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x59bcee9b video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xe2de6c37 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 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x7883b84f svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8690c458 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x87014be4 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0x99131dba svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xb4ec4c2a svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xcab2dfce svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xce2243ae svga_tileblit +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/syscopyarea 0xea019476 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xed4c07a4 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0xcc8ff271 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 0x18ef7c42 vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x19050c21 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x2e9ae414 vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0x2fde8330 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x3e95083c vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x410eab49 vme_unregister_bridge +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 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x4c79e220 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x596c9a9c vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x68186d3f vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0x735114b8 vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x80720af0 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x90695906 vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0x918d92f2 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xb83b7823 vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0xc4f5222e vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0xcdcf58db vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0xd2131259 vme_master_request +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 0xe7e1969e vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xf8faf8d5 vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/vme/vme 0xfafdca3d vme_dma_request +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x14f6ee09 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x22e605c8 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4c6d5228 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf0974d23 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x6f7fab51 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x8aed87a0 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xaa0cc972 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x435173cf w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x624db73a w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7b5d8009 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x11ff67d6 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x574b72c8 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x886af0f0 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xa03f40b4 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 0x4b4a544f configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x704b1602 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x94aba213 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xcca348e8 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xcd70c511 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xcf126420 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0xe2bc6b06 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xed7c27c4 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xedb98a16 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xf12fb193 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xf1329028 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xf70f7613 config_item_get +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x10f9daf6 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x56bdc293 ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x592aefa9 ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0x605a6d5a ore_write +EXPORT_SYMBOL fs/exofs/libore 0x61156d48 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0x689bc754 ore_remove +EXPORT_SYMBOL fs/exofs/libore 0x6fab4136 ore_create +EXPORT_SYMBOL fs/exofs/libore 0x7b691ade ore_read +EXPORT_SYMBOL fs/exofs/libore 0x86d36c95 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xf35ef0c0 extract_attr_from_ios +EXPORT_SYMBOL fs/fscache/fscache 0x03a22c88 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x0ffd9b1c fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x1d6efe5a __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2948a5be __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2ea14e05 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x3c57b663 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x3dac0617 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3e90f402 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x44a5bce0 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x44ed09e6 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x4aef0493 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x559c81e7 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x5ac893ac fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x712e93ae fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x87bcb346 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x8bba2d1d fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8e6d829b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x90c12300 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x9618c6d3 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xa265b565 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xa4296821 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xa5dcd972 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xadc66828 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb5453519 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xd44e2090 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xe1926629 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xf482f6b9 __fscache_maybe_release_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 0x2b482b83 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x512a14f5 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x84782337 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x8ba4c3e5 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xe7ca22fb qtree_delete_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 0x47fb6d98 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xe88a8d2b register_8022_client +EXPORT_SYMBOL net/802/p8023 0x31c755f0 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xa178e43c destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x282c137b register_snap_client +EXPORT_SYMBOL net/802/psnap 0x2d3cd809 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x00f016b4 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x04126213 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x0937837a p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x0c6081cb p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x0d07c59a p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1d3f3d35 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x1e2e5620 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x298ec027 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x29cce5e6 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x2a879717 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x395795ec p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x3c44a3e5 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x3d6c3c52 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x40adf8c1 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x432919d2 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x45ac1567 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x4a89a2cb p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x4ac90a1f p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x51b29c80 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x53208b4f p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x640eb14f p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x6a9c6323 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x6b9c5085 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x72c448c1 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x7380a5b0 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x79ca02d0 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x86d0f600 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x8b3dd0bb p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x8e10378b v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa437b215 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa5aa3586 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xb228415b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xbe4c0f2a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xc3c426d9 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xc400bb9d p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xcba9f962 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xd8eda45e p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xda977cbe p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe658db63 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xeeaa8a83 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfceb8139 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xffa72e5e p9_client_rename +EXPORT_SYMBOL net/appletalk/appletalk 0x4a89e95f alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x74f7fe91 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x7b93c6f5 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xe88ec708 atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x14cbf2ca atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x1a0856a6 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x335d566e vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x3498ada5 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x45525f24 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6859bb86 atm_charge +EXPORT_SYMBOL net/atm/atm 0x6a5281fa atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x7f4bf312 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x836291b1 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x93136f41 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xd020fa88 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xd40aa572 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0xecb9b443 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xf420eb57 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf9c6259d atm_dev_register +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x16d24888 ax25_linkfail_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 0x4dbe733c ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x656fd410 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x9aeb6581 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xb2dc881f ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcaa00c5c ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0xcaca8287 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdd2d5e9e ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xfbdfc39a ax25_header_ops +EXPORT_SYMBOL net/bluetooth/bluetooth 0x07ceaf06 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0821c0f0 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x09052fa4 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0db717ac hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x15341a01 hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x18a239c0 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x269d8480 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2cdc9f0c hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2d733f27 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x362e2c51 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x43066b2b bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4b44a8ad bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4e4e6d09 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x568b9f5f hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x57dcef08 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5cafcdc7 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60b55a2d bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x64de3d9c hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6dae4a60 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f4444f6 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x78fb8a13 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x819be94c hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8efdb25e hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f8f0283 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92479c9a bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x97e4d66f bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9a88508b bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa3a5abea bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa70affad hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xac13cae7 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb7b6b654 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbefbda9c bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc09ef276 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd474f530 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd6d2ba6b hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe397e115 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf0a94e54 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf5e316ac hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfe8fb2f7 hci_unregister_dev +EXPORT_SYMBOL net/bridge/bridge 0xcc5c8aa0 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x0fa1403e ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x74727fdc ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc38517a0 ebt_register_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x1bccd145 caif_enroll_dev +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 0x731880a1 caif_disconnect_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 0xc853e999 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xce759df9 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xe3f1ad99 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x54c3a203 can_rx_register +EXPORT_SYMBOL net/can/can 0x973c0102 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x9d7fecc3 can_proto_register +EXPORT_SYMBOL net/can/can 0xa7885b8b can_send +EXPORT_SYMBOL net/can/can 0xcc8f46ac can_ioctl +EXPORT_SYMBOL net/can/can 0xdd64e958 can_rx_unregister +EXPORT_SYMBOL net/ceph/libceph 0x054dbc99 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0988d798 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x0ca14f7c ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x0ed4da9a ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1a25dc49 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x1a84c687 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x1c4d8df3 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x21d4c198 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x22f1b6b5 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x23b86ff0 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x252f5bff ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x2ac20202 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2aeb442e ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x2feabfa6 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x33bbd225 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x34a64292 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x399b77b2 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3b6a4d39 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3d207d9f ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4898273d ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x5178bc75 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x53f8cf8d ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x55c38c94 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x618ff815 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +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 0x72d43d29 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x75b2b243 ceph_osdc_wait_event +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 0x7d994922 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x7f437b3b ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x81cbb997 ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x97f6e0d5 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xa615c85c ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xa782ebf0 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0xaa347907 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0xac341029 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb13c9228 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb7d8be09 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xb8d31eb2 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xbad7bafb ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbe8e903a ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xbf966596 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0xc215a31e ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xc275e7d0 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc6d3f7c9 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc7a484f6 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xce2c9bd3 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd69a297b ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xdf0ef149 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xe1f851c8 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe3680669 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xe63d89b9 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xe9a03f33 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xebdf9362 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xf0842d9f ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf3902637 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xf8c4b1b7 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xa4dd2071 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x0b29de8f wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2c6ce870 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x323170a4 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x58b25b70 ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5a650ec2 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5c5fe826 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x76fbd4a0 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8a73cbc6 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc07d951f wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe16d2ed5 ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xea6c54de ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xfa08b0d0 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xfc3faaa0 wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x49625b2a arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7d1b07b8 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xa73c467f arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x1b447b19 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4baee2a0 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xf4263bcf ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x17e0ecb3 nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x1936fe6e nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x20bca266 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x2b00de0e nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x38194361 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x70b83537 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x977c3f6c nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x0ae630be xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x6c5f2543 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x031ad718 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x18230278 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x56038b0c ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x98b0b09f ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x5652d9e4 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xb2c0036e xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x0eb1827b xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x539e5188 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x183bcaa1 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2783c670 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x2dfdb3cf ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x32d4cf6e ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4426161f ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x69aaab9f ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb2bb1438 ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xda55ed2a ircomm_control_request +EXPORT_SYMBOL net/irda/irda 0x01dbeb0e irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x040f3704 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0b2d466c irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x0bab6037 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x147b7710 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x1589bb3a iriap_open +EXPORT_SYMBOL net/irda/irda 0x1876464a irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x196c551b async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x1b7fe5d2 proc_irda +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x230b7b02 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x23a2eee7 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x28834d72 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x33ac5bf2 iriap_close +EXPORT_SYMBOL net/irda/irda 0x359de411 irias_insert_object +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3ae30832 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x3b0a2ab6 irias_find_object +EXPORT_SYMBOL net/irda/irda 0x3b9bdefe irias_add_octseq_attrib +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 0x4ad3cb92 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x4d397123 irlap_close +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 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x7199971a irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x735d8e6c irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x7934935e irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x7b11e437 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x7d54adaf irias_new_object +EXPORT_SYMBOL net/irda/irda 0x7ff509a2 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x8b532283 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x8cd99be0 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0x9e326eb3 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0xa323ba9a async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0xa370c681 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xaa77a268 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0xada3387b irttp_dup +EXPORT_SYMBOL net/irda/irda 0xb0980bef irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xb3685d29 iriap_getvaluebyclass_request +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 0xc0bee29c hashbin_new +EXPORT_SYMBOL net/irda/irda 0xd439fa99 irlap_open +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xdeb7811d irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xfe966a1e irttp_close_tsap +EXPORT_SYMBOL net/l2tp/l2tp_core 0xb703ef65 l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x1b369771 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x1ca2153c lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x331439ac lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x3f50ce8f lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x54ac4e0e lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xbf691af7 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xdc1a7594 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xfa0bceef lapb_connect_request +EXPORT_SYMBOL net/llc/llc 0x2a99a7f3 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x2b996b51 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x3f421b37 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x864b9762 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xc97bfed7 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xd629316a llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xd9c1c4e8 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xe3d77cfe llc_mac_hdr_init +EXPORT_SYMBOL net/mac80211/mac80211 0x003750bc ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x011a5ec9 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x032d442b rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x04fd6d39 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x0b369552 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x10623584 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x16029408 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x18bd3247 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x26433b99 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x2c5fd33a ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x31c106e7 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x3422ac86 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x392505e2 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x3af1a031 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4666f5e3 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x46a16fbe ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x4c1e8a88 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x52f15c8f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x550b8ff1 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x566b8437 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x57d74f99 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x595b36d9 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x5a10f5f2 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5dac84fc __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x608e792d ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x65d004f6 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x677ee983 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x69464019 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x72295530 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x73ef55c9 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x73f8fcff ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x79287759 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x8885b45b ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x893666cb ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x89b27f42 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x89fa872a ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x9288f552 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x98fc2ce6 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x9a46bebe ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x9d19df52 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9d5c4fe7 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9d8330a8 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9f211885 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xa12d535b ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa61bbda7 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa852cab8 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xaa7b3a46 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xac77bc7d ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xb2f4fd50 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xbb05e1b7 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xbf4099bc ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xc0c6cc96 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc105bcf7 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xc82349a6 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xdb661780 ieee80211_generic_frame_duration +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 0xe5c71943 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xed11a90a __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xf13899eb __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf6745564 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xf678d06f ieee80211_wake_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x008d4ecc ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x240ed95d unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x277cd062 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3f93f455 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x746c147d register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9f8d01fe ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb7d8b104 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbe668ee6 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc2eecfb1 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc307977c unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc806d04a ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe7ceec39 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeb279ea1 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf87e0559 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x74bbd874 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x9c878d56 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xd2557ab2 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x10c3bf52 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x28d07026 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x2e0d0cb8 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x32ac2f0a xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x48ce98eb xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x5d246889 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x6c62c786 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x950c9bd3 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xa62b2a69 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xb965a0a0 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xf6ddd21b xt_register_match +EXPORT_SYMBOL net/nfc/hci/hci 0x091aca84 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x0b45ae18 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0x337a3d3b nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x3835ebb5 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x3e404efb nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x6acd14a2 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x71012989 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x7d407cba nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7f940a8c nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x912d5c32 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xa6df8ec2 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xad1b73bc nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xb52ddc9e nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbda24ebc nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xc48476d0 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xc4f07e96 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc73fc305 nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0xcc132d31 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd99a0e64 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xe2ef106e nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xe3faa9d6 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/nci/nci 0x9985f739 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xa47d9008 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xb08f3c78 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc0c051c6 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xeb5be6c9 nci_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x15901a7a nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x35be0e4c nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x698cdbd5 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x71f19ed4 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x78e12bf3 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x80641ba2 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xbb0de24c nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xd18850f1 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xdb58772f nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xf1d7acfb nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xfe33dd06 nfc_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x156a9282 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x200a390a pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x2b89b1b9 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x7ef6377a phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xa63ab3ed phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xbc88d92e phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xd2cd7556 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xdd58313d pn_sock_unhash +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0ab7b7c7 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x17f9d8ef rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x29adc04f rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2e181c68 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x32bb1745 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x578da559 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5b3a5429 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5fc10854 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x6b4556a2 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x71f437da rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x73a4ec2c rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xb6338fa8 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xbebcfb6a rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc7ba96e1 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xd671594e rxrpc_kernel_end_call +EXPORT_SYMBOL net/sctp/sctp 0x3402b9c6 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0xa5a3a875 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x311406b9 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x173a8389 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x295a72a7 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x0782f541 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0x09bca8c2 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0ae696b9 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x0f40d9d5 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0fdaacc5 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x12769e70 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1ad51596 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x1d55d12c cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x272704bc wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x3156fc54 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3562a1f9 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x36feb94e cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x39281122 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x39cf128a ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3dd1929c ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x4084b1d3 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x438c4358 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x4423aa90 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x45346ffe cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x457bfc76 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x4c5c3b94 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x4eabb692 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x522e8d9c cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x57a92138 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5d764807 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x62009449 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x6535d4f9 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x65526733 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x73c0cea1 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x76611cb5 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x77e9394b cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x807e92e2 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x94f7146d __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9a58ff5a wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x9be1ce77 cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x9c5764e0 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa4a25d16 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xad30179c cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb4cd445f cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xb52f9298 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc6f13d31 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc8ec569e cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xcad0b566 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xccadd60b cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xcd1f3469 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xcd824ba4 cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xcee5df66 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xcfd3539b cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xd2e492fd cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xd50804ce cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xd86521e9 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xd9464844 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xded7ad30 __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xdf4f40cf regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xe582c53a __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xe5982e01 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xe771b254 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xe8d19e04 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0xeccee504 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xee688d10 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/cfg80211 0xffb46644 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x52fcc78f lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x80a8eaf5 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x823e365d lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x8b71e755 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xf9331663 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xfdd5f218 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0x623154c6 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x3f64b53d 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 0x517e4a4d snd_seq_kernel_client_enqueue_blocking +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 0x9ea8ee66 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0xa35855e9 snd_seq_event_port_attach +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 0xf7a3d969 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x0c61cacb 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 0xc87af62e 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 0x5dfa48be snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x04f9bb3d snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x0c023d64 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x0d3076a2 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x0fe2d627 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x12ca8c4d snd_register_oss_device +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 0x1d4e6218 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x24516573 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x27cda8cb snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2bdf15cb snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x34dbde3a snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x39d42b27 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x3ce9aa92 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x3ea8fa88 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x425b19de snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x4873d2b7 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4af6f8a2 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x50b4fc1b snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x53b546c2 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x5da82561 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x609090d2 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x690dae39 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x6a4ecf11 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x6b00cdd8 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x6e9b7fee snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7594f286 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x7cb8ab42 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x7ceacdb5 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x854872e6 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x8cc89d08 snd_card_register +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92d3172b snd_component_add +EXPORT_SYMBOL sound/core/snd 0x941f38ad snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x9468eeff snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x9a1420ff snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x9a8d0e08 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f7d2968 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xab8d2a5c snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb96dd868 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xb9b1dc40 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xcb29d4ae snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xd30782bb snd_cards +EXPORT_SYMBOL sound/core/snd 0xd9443e9a snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xde1b4be5 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xdeaba9cc snd_device_free +EXPORT_SYMBOL sound/core/snd 0xe0d9fb2e _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0xe2c59889 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xe50a054c snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xee7ae6a4 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xf5c1c6a7 snd_jack_report +EXPORT_SYMBOL sound/core/snd-hwdep 0x22f5c775 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x002fc2cb snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x2610408d snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x6a00d4be snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0x787d985b snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xcb604ae2 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x048e1d46 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x06cca1d6 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x11fe3312 snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x1a596c0a snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x1b063926 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x2236d959 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x2bace5a3 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x37d9c26b snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3de2e434 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x3fea55ea snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x480aba2e snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x4ca2c718 snd_pcm_lib_readv +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 0x4faa6768 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x59e1dad2 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x5e0a93d2 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5f97cb45 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x604395ad snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x64ba7335 snd_pcm_lib_read +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 0x69fc8be6 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x6d82a782 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x6dc22c0e snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7780eb39 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x7eb26550 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x8161ca0e snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x95cb319c snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x9e90d1f2 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x9f73709e snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xa5930a66 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa66f60a2 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xa9adc229 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xb09158ce snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xb6a2720e snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbd17e435 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xc92640cd snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xcb96ccf3 snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0xd591f682 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xde0d3a6b snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xde5ee92b snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe1595cf6 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xe3575fa9 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe5fe4d68 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xf0c2606d snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xf1ad3668 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf7252e9b snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xfb343209 snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-rawmidi 0x08ef5283 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0b44b993 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2063c4b8 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3311e426 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x33d6bc4b snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3d48e17e snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x40d67fc4 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5a8fa6d4 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6ac9a037 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x81829d28 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x878bff88 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa509ed1d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xac2ac0a4 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb0049925 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xba0a0b4b snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd1fe8fa7 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe409055d snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-timer 0x2170315c snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x4e32d9fa snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x61480182 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x76f988b3 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x7cf104db snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x91203f7e snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x9267a4e4 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xa50ec69e snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xb5841f15 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xb8804a33 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xc61619f3 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xd3bd6ab8 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xda766358 snd_timer_global_free +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xb5ef0098 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 0x0352ffc0 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x172fed77 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2f2540fb snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x49c5f1b5 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x790c170f snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x881bd28c snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa50cb2ae snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd246eed9 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf699551d snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x34897ffd snd_opl4_read_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0x3b2b1933 snd_opl4_create +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xc745beec snd_opl4_write_memory +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xd4f71fa9 snd_opl4_read +EXPORT_SYMBOL sound/drivers/opl4/snd-opl4-lib 0xe9c05f9a snd_opl4_write +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x062b27cc snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1fb6823f snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x25f68e9f snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x375d0927 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x409aa631 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5c4d8183 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x77ed23c5 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7c294f5b snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb7ba1f24 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2177514d fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x26bdcc9e amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2919f86f amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3760e447 amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x37efb42d fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x45387301 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6c8771fb fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x74098730 amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x76ed0d3d cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x79668801 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x81fbe2a6 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x866580f5 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x89916b6e amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x961c63d8 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa1f905e8 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa6feeff0 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xad73da09 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbbed9c91 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbe0cac1f fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc0d83718 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc1eacac0 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd1765295 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdbd4ba65 amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xed9bfb9a cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf574de42 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xff45a02a amdtp_out_stream_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x49ee1ddb snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x514a2c7c snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x87ecc8cf snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x95dad223 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xaca6afa0 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd0540f93 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x24c72821 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4d5492f7 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5e321f39 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x9b49d57a snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc438fd80 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xce94e3ed snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x2c8df64f snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6b678c88 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7921e984 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbf16e9eb snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x742f0f9e snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xbe9589ed snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x79d0d068 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x7d5e16ab snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x1cdeff87 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x471d97ec snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x64603af3 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x674d942f snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xab9fb4dc snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x04ad7a0c snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x257b5670 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x76527d0e snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xbfe7e412 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xe2588e33 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf89c5ad7 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0x41f9786a snd_tea6330t_update_mixer +EXPORT_SYMBOL sound/i2c/snd-tea6330t 0xc49f204e snd_tea6330t_detect +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x6081f3e9 snd_es1688_reset +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0x988da6d7 snd_es1688_pcm +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xa5ebc6d0 snd_es1688_mixer_write +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xbf08f50f snd_es1688_create +EXPORT_SYMBOL sound/isa/es1688/snd-es1688-lib 0xf93bcbea snd_es1688_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x019da20d snd_gf1_rawmidi_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x0a07cbfb snd_gf1_i_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x16eac908 snd_gus_create +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1c1ce117 snd_gus_interrupt +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1f682d96 snd_gf1_write_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x1f6d307c snd_gf1_new_mixer +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x36611c8c snd_gf1_translate_freq +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x391c57bc snd_gf1_i_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x3b6dd828 snd_gf1_look8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x45146a89 snd_gf1_peek +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46454102 snd_gf1_poke +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x46db8d67 snd_gf1_lvol_to_gvol_raw +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x5feeea6d snd_gf1_pcm_new +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x722a2378 snd_gf1_stop_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7ba1e3f0 snd_gf1_mem_xfree +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x7bdb4f52 snd_gf1_delay +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8380af59 snd_gus_initialize +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x84bf69d5 snd_gf1_write16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0x8de1adeb snd_gus_dram_read +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xa1b9c2a4 snd_gf1_write8 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xad548e95 snd_gf1_mem_free +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xb6882120 snd_gf1_free_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc43a5527 snd_gf1_atten_table +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc543fc8a snd_gf1_i_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc656a2e2 snd_gf1_look16 +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc69a2f54 snd_gf1_dram_addr +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc90e6cdf snd_gf1_mem_lock +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc930642d snd_gf1_alloc_voice +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xc96b6065 snd_gus_dram_write +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xd6486e6d snd_gus_use_dec +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xdb2272e2 snd_gf1_ctrl_stop +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xe9a41814 snd_gf1_mem_alloc +EXPORT_SYMBOL sound/isa/gus/snd-gus-lib 0xfea415a1 snd_gus_use_inc +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x040c3b97 snd_msndmix_new +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x0e096be3 snd_msnd_init_queue +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x1faf44c4 snd_msndmix_force_recsrc +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x233953d4 snd_msnd_DARQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x3cbe13c3 snd_msnd_dsp_halt +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x4148a8b8 snd_msnd_enable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x42e84217 snd_msnd_upload_host +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x72fb5bbd snd_msnd_disable_irq +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x75026b24 snd_msndmidi_input_read +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x7a2cf751 snd_msnd_pcm +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0x8dde4f92 snd_msnd_send_word +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xa6f43633 snd_msndmix_setup +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xcc06dca0 snd_msnd_DAPQ +EXPORT_SYMBOL sound/isa/msnd/snd-msnd-lib 0xed1745b4 snd_msnd_send_dsp_cmd +EXPORT_SYMBOL sound/isa/opti9xx/snd-miro 0xc415ea48 snd_aci_cmd +EXPORT_SYMBOL sound/isa/opti9xx/snd-miro 0xf39b91c6 snd_aci_get_aci +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x04135ab3 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x4ae3e615 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x6194220c snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x75bda864 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7ba66f87 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8b4fafc2 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9255871f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x968c5611 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xe4bf3965 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf6fda668 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-csp 0x2f07cec3 snd_sb_csp_new +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x4a22ac4b snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x7064f421 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xb97cf924 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0x8fb1a339 snd_sb8dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xa74ee236 snd_sb8dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xac61d46e snd_sb8dsp_midi_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb8-dsp 0xefc850a4 snd_sb8dsp_midi +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x008f761e snd_emu8000_init_fm +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x037a767d snd_emu8000_dma_chan +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x3ceda9a7 snd_emu8000_poke_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x506bc68e snd_emu8000_peek +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x57906e16 snd_emu8000_load_reverb_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x5ec18e27 snd_emu8000_update_reverb_mode +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x6e3c34fe snd_emu8000_update_equalizer +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0x7390244e snd_emu8000_peek_dw +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xd55a3ae2 snd_emu8000_load_chorus_fx +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xe10bca22 snd_emu8000_poke +EXPORT_SYMBOL sound/isa/sb/snd-sbawe 0xf2bb6919 snd_emu8000_update_chorus_mode +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x0cf629ee snd_wss_create +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1ab37de8 snd_wss_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1bed885f snd_wss_put_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x1bf93dda snd_wss_overrange +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x2039a7a5 snd_wss_chip_id +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x343a9902 snd_wss_info_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x40c2df04 snd_wss_put_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x4e8f0fd0 snd_wss_pcm +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x59ba0b05 snd_wss_get_pcm_ops +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x7b202637 snd_wss_interrupt +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x8725925c snd_wss_mixer +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0x92f267d7 snd_wss_get_double +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xae67d874 snd_cs4236_ext_in +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc2611cdf snd_wss_mce_up +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc5c3dfbd snd_wss_info_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xc9dd308c snd_wss_get_single +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd8222db7 snd_wss_mce_down +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xd82e081f snd_cs4236_ext_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdbcbe93e snd_wss_out +EXPORT_SYMBOL sound/isa/wss/snd-wss-lib 0xdd7a4e93 snd_wss_timer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1a8c0a07 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1ce77dfe snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x40e8a8e8 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x43ad5dec snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4f5213a5 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x508f72c4 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x57dd5783 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5c26abad snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8a15181f snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9a7d9aff snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9ccd7b7f snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb7b12417 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbff55270 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc76ffa2a snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc9f56ef8 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xde3756a3 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfb010b64 snd_ac97_write +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x29f200be hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x167b4e2f snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1ebb7442 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x48af00b6 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5f3fb63b snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x65910361 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x68e93310 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9f7fc200 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbf7d51f6 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xeae27cf4 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x3b309a1e snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x149cc566 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3912c0c2 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7ba40a97 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x011834bc oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x04ce8972 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x194d77f9 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x398bb45b oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x41a5e52a oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4ed1af60 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x50d944ec oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5a376244 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x70b973b8 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x82ab719f oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8341a9c0 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8c6a134b oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8d1b2fda oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x95a1778e oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9e28757f oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa846c99b oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa946ad7e oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc7912890 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd331eb4b oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xed9e4679 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf35cedda oxygen_write32 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0c8bb41a snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3d10462a snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x812c1427 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xd257d2d2 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe95802f9 snd_trident_stop_voice +EXPORT_SYMBOL sound/soundcore 0x2d539dc8 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x97d2d2f4 sound_class +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xaa45c1d4 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xb8927127 register_sound_special +EXPORT_SYMBOL sound/soundcore 0xc3607f08 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe7c396f2 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x01bbb554 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 0x76ce88b1 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x78f50ab1 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa37f77d5 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xae399792 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xbc3851c8 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x050e4fb7 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x613a9c3b snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x905caebd snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb8f3865c snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb9286061 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb997f2d5 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbd6b7a6c snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xcb83c0db 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 0xc6164b5c snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x029cbb1f dm_mem_cache_free +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x35c95b1b dm_mem_cache_client_create +EXPORT_SYMBOL ubuntu/dm-raid4-5/dm-raid45 0x835f7f0c 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 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 0x0030324a tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x00546f37 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x007b10f2 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x007e839b vfs_readv +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00ad2c86 netif_napi_add +EXPORT_SYMBOL vmlinux 0x00dc354e blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x00e7a375 seq_open_private +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x00ef64b3 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x0105ed66 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01187491 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x0129d6fe __netif_schedule +EXPORT_SYMBOL vmlinux 0x01450a91 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x015eb55a netif_receive_skb +EXPORT_SYMBOL vmlinux 0x0170762e posix_test_lock +EXPORT_SYMBOL vmlinux 0x017d41c5 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x01819ad0 blk_init_queue +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01cf4c06 kern_path_create +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01d4d6fd blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x01fb3e5b input_register_device +EXPORT_SYMBOL vmlinux 0x020d704a vfs_writev +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x021f4f22 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x0220154f __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x0288144b pci_set_master +EXPORT_SYMBOL vmlinux 0x028ad281 tcf_hash_search +EXPORT_SYMBOL vmlinux 0x028ba9de swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x029b7366 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02dd7ea0 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x03013061 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x030c7eb6 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x03227c1c thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x032ebdc8 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033f1c26 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x03632a47 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03686d6b spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x038f0483 tcf_hash_check +EXPORT_SYMBOL vmlinux 0x0396140e do_sync_read +EXPORT_SYMBOL vmlinux 0x03b580eb wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x03b7aaef account_page_redirty +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c4d611 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x03e947c9 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x03f18293 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x03f7db68 have_submounts +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x041a03ab __bio_clone +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04351d11 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044ef7bf serio_interrupt +EXPORT_SYMBOL vmlinux 0x04583939 sock_create_kern +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x046cd6e6 mnt_pin +EXPORT_SYMBOL vmlinux 0x0479022b fb_set_var +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x04c43efc sock_rfree +EXPORT_SYMBOL vmlinux 0x04c7e272 bio_copy_user +EXPORT_SYMBOL vmlinux 0x04caf969 bio_endio +EXPORT_SYMBOL vmlinux 0x04d334d3 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x0559656d dquot_acquire +EXPORT_SYMBOL vmlinux 0x055a8ec1 kobject_init +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x056fe098 nf_register_hook +EXPORT_SYMBOL vmlinux 0x057cdc38 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05ac997d tty_kref_put +EXPORT_SYMBOL vmlinux 0x05bab8fa sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x05f8e5dd agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x06147677 dm_register_target +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x06193d43 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x063aa162 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x06483828 neigh_create +EXPORT_SYMBOL vmlinux 0x066f2163 bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x0676a103 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c3b69 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x06bdd71a free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x06d2f086 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x06e6db51 neigh_update +EXPORT_SYMBOL vmlinux 0x06f4bf00 seq_escape +EXPORT_SYMBOL vmlinux 0x06f6ebf3 d_make_root +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0724a56b ilookup +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x07608604 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x076bedab elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x076ebea8 pv_lock_ops +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a30020 sk_dst_check +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b7122b page_address +EXPORT_SYMBOL vmlinux 0x07c2d41f input_grab_device +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d50a24 csum_partial +EXPORT_SYMBOL vmlinux 0x07d8a337 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07e7f7ee inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x07ec1789 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x07f56d0a nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x082509b7 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x082732cc scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082d8e50 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0x083ca06e xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x083ef73b get_disk +EXPORT_SYMBOL vmlinux 0x08716c67 locks_init_lock +EXPORT_SYMBOL vmlinux 0x08842da4 generic_writepages +EXPORT_SYMBOL vmlinux 0x0889b932 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x088cbd47 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x0897287b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x08a14ec0 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x08bf826c _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x08e7874e vlan_vid_del +EXPORT_SYMBOL vmlinux 0x08ee4460 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x08ef5e9e bh_submit_read +EXPORT_SYMBOL vmlinux 0x08fdf77d journal_get_write_access +EXPORT_SYMBOL vmlinux 0x09396f8b twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x09552a83 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x09581e0b bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x096b6dff pnp_find_dev +EXPORT_SYMBOL vmlinux 0x097a2066 mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0992780d efi_enabled +EXPORT_SYMBOL vmlinux 0x099c1a52 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x09a764ba bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x09aa3434 spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0x09ac6dc2 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x09bac111 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x09c55118 misc_deregister +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09c973bd pci_bus_type +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d7f9d8 put_disk +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ffc150 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x0a0538f2 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a3f0e3e clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x0a3fb323 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x0a455d11 __bforget +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a9908d9 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x0aad2af5 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0aeef7b8 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x0af20646 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1d63e0 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x0b1f7a86 devm_ioremap +EXPORT_SYMBOL vmlinux 0x0b29f734 request_firmware +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b505280 bio_split +EXPORT_SYMBOL vmlinux 0x0b7118a0 inet_frag_find +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b90dc7e tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x0b9a25f8 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x0bb1428d __dquot_free_space +EXPORT_SYMBOL vmlinux 0x0bbd6874 journal_set_features +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0c29cc19 tty_port_put +EXPORT_SYMBOL vmlinux 0x0c2e683b scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x0c2fe5aa xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x0c4b7e86 dquot_get_dqinfo +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 0x0c91ab74 free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x0c961389 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x0ca45b46 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb37595 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x0ce6c852 ip6_xmit +EXPORT_SYMBOL vmlinux 0x0cfeb1ce tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x0d10332d pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x0d27abdf wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x0d3a3ff3 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d44c227 inode_change_ok +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d6d4ad1 security_path_unlink +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dcbb22a pcim_iomap +EXPORT_SYMBOL vmlinux 0x0de7abc5 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x0de9c0f4 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e76b0e4 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x0e7878cc dev_deactivate +EXPORT_SYMBOL vmlinux 0x0ebd00cb ll_rw_block +EXPORT_SYMBOL vmlinux 0x0ec68dc0 phy_device_register +EXPORT_SYMBOL vmlinux 0x0ee4e7e7 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x0ef2fdc3 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x0efc413e account_page_writeback +EXPORT_SYMBOL vmlinux 0x0f46557c iterate_mounts +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f64bb90 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x0f6e10e9 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x0f8f3108 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x0f9959c3 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x0fa0dbe6 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x0fa3ae16 do_SAK +EXPORT_SYMBOL vmlinux 0x0fa45656 netif_rx +EXPORT_SYMBOL vmlinux 0x0fa6e36d neigh_lookup +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fc4d88f pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fd27bf3 elevator_exit +EXPORT_SYMBOL vmlinux 0x0fefb347 frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x1003b8c7 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x102c56de irq_regs +EXPORT_SYMBOL vmlinux 0x10324b93 unlock_buffer +EXPORT_SYMBOL vmlinux 0x105964fa tcp_poll +EXPORT_SYMBOL vmlinux 0x1099ba56 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x109ee5e2 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x10ab7e68 down_killable +EXPORT_SYMBOL vmlinux 0x10accdfc pci_scan_slot +EXPORT_SYMBOL vmlinux 0x10af48a9 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x10c1fbea blk_start_queue +EXPORT_SYMBOL vmlinux 0x10d021ea blk_free_tags +EXPORT_SYMBOL vmlinux 0x10eba099 dev_printk +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11045b5d scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x110691e9 new_inode +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11145b15 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x113d5a96 eth_header_parse +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11749291 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x1175db4a xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x11774e85 vfs_rename +EXPORT_SYMBOL vmlinux 0x1189dd36 sock_i_uid +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1198dc00 journal_init_inode +EXPORT_SYMBOL vmlinux 0x11a40f50 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x11bbe5a2 dcb_setapp +EXPORT_SYMBOL vmlinux 0x11c8ed42 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x11cb7e76 mmc_card_awake +EXPORT_SYMBOL vmlinux 0x11d90043 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x11dd01ad intel_scu_ipc_command +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11ecd777 fasync_helper +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x121c2944 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x1240a58e inet_del_protocol +EXPORT_SYMBOL vmlinux 0x126ddb5c pci_find_capability +EXPORT_SYMBOL vmlinux 0x12728b64 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x127baf9d pci_restore_state +EXPORT_SYMBOL vmlinux 0x128a5cf9 complete_all +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12ab345e intel_gtt_insert_sg_entries_hsw +EXPORT_SYMBOL vmlinux 0x12bc47c8 cad_pid +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12ee8bc2 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1359ad87 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x137a6f3e i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x13b65a01 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x13b69ae0 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x13bb55cd skb_find_text +EXPORT_SYMBOL vmlinux 0x13c677de journal_create +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x140231a5 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x1414ceb7 mdiobus_register +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x1449e0a0 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x14668aa8 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x1471220a dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x14a4b9d2 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x14a6043d dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0x14acfe25 processors +EXPORT_SYMBOL vmlinux 0x14b1caae fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x14ca4db8 __ht_create_irq +EXPORT_SYMBOL vmlinux 0x14e2ca76 pci_iomap +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14eb8c1f twl6040_power +EXPORT_SYMBOL vmlinux 0x150389d6 acpi_processor_power_init_bm_check +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 0x157e359c mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x15978267 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x15b44254 netdev_features_change +EXPORT_SYMBOL vmlinux 0x15b5b58e km_state_notify +EXPORT_SYMBOL vmlinux 0x15cc073c tty_port_close_end +EXPORT_SYMBOL vmlinux 0x15e40757 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x15ef64b7 get_super +EXPORT_SYMBOL vmlinux 0x160abbe3 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1637f3a3 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x163af339 i2c_release_client +EXPORT_SYMBOL vmlinux 0x163c0c21 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x16660e21 kill_anon_super +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x167ffd34 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x168f1082 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x16a426d0 inode_permission +EXPORT_SYMBOL vmlinux 0x16b793bd vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16db0f0a ppp_dev_name +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x1710cf4e pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x1712a0e1 __nla_reserve +EXPORT_SYMBOL vmlinux 0x171f8138 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x1729550f sock_wmalloc +EXPORT_SYMBOL vmlinux 0x17661c5d inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x1768fe92 save_mount_options +EXPORT_SYMBOL vmlinux 0x1786f0f9 x86_dma_fallback_dev +EXPORT_SYMBOL vmlinux 0x1790d76b _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x179ca187 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x17b5e202 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x17cfcb92 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x17de9589 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x18366921 vfs_readdir +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1848f128 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184dd76b page_symlink +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x186acd5d xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18cb3527 genphy_suspend +EXPORT_SYMBOL vmlinux 0x18cf62d3 follow_down_one +EXPORT_SYMBOL vmlinux 0x18d8dc0d rtnl_create_link +EXPORT_SYMBOL vmlinux 0x18d96501 atomic64_dec_if_positive_cx8 +EXPORT_SYMBOL vmlinux 0x18da4109 block_truncate_page +EXPORT_SYMBOL vmlinux 0x18eb9908 framebuffer_release +EXPORT_SYMBOL vmlinux 0x18fee9b9 unregister_key_type +EXPORT_SYMBOL vmlinux 0x19190fff setattr_copy +EXPORT_SYMBOL vmlinux 0x1919226d unbind_con_driver +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x19912407 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a5852e bio_clone +EXPORT_SYMBOL vmlinux 0x19a9e62b complete +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19ca57a6 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x19cb57e8 sock_wfree +EXPORT_SYMBOL vmlinux 0x19dff2cd neigh_compat_output +EXPORT_SYMBOL vmlinux 0x1a146233 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x1a23252a netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x1a24cae4 napi_complete +EXPORT_SYMBOL vmlinux 0x1a4090f5 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a54e263 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x1a62228a padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a760a2e scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x1a7d8a31 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x1a801bc5 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x1a960022 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0x1a97df8c dev_warn +EXPORT_SYMBOL vmlinux 0x1a9d76ad pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x1ac6b878 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ae14ef5 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x1afcbb94 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b1ffa94 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x1b27e7fc input_inject_event +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b639e4f mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x1b6fd6b9 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x1b76f291 vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b8cce54 abx500_register_ops +EXPORT_SYMBOL vmlinux 0x1b98e71c dev_get_stats +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bb69b76 pipe_unlock +EXPORT_SYMBOL vmlinux 0x1bc8585b idr_remove_all +EXPORT_SYMBOL vmlinux 0x1bdbb1e0 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0x1be4eb75 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x1be6da2b fb_pan_display +EXPORT_SYMBOL vmlinux 0x1be70896 skb_make_writable +EXPORT_SYMBOL vmlinux 0x1c0e7de4 dma_ops +EXPORT_SYMBOL vmlinux 0x1c0f0717 vfs_unlink +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c9b3f15 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x1c9ff42e padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x1ca1e6ee d_obtain_alias +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1ceed168 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x1cf930b7 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x1d024cef devm_iounmap +EXPORT_SYMBOL vmlinux 0x1d21d158 gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0x1d5720b0 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x1d7259b8 dev_emerg +EXPORT_SYMBOL vmlinux 0x1d77c979 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x1d78db66 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x1d7c2bb6 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x1d7fe376 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dc3b298 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x1dd4bdc8 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e2ffcf9 free_netdev +EXPORT_SYMBOL vmlinux 0x1e4b8826 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x1e597e13 block_invalidatepage +EXPORT_SYMBOL vmlinux 0x1e665d87 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e79eef1 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x1e90d0ce nla_append +EXPORT_SYMBOL vmlinux 0x1e9ab15e agp_bridge +EXPORT_SYMBOL vmlinux 0x1e9e9f25 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea461b5 ipv4_specific +EXPORT_SYMBOL vmlinux 0x1eaa6d92 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x1eb2d8c4 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x1eb57f62 scsi_free_command +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ec913bd netdev_crit +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f0fb040 kmap_high +EXPORT_SYMBOL vmlinux 0x1f2555e5 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x1f695671 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x1f75295c nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x1f757504 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x1f7e6d67 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f9e16d3 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x1fb8a460 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fcf3b66 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe0d189 thaw_bdev +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff6417b mmc_can_erase +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x201372e3 ps2_command +EXPORT_SYMBOL vmlinux 0x201400e8 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x2050c2f4 key_type_keyring +EXPORT_SYMBOL vmlinux 0x205c3dee generic_block_bmap +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x20a24283 vfs_statfs +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c404e9 netdev_set_master +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20c6192f intel_scu_ipc_ioread32 +EXPORT_SYMBOL vmlinux 0x210b4ca8 path_get +EXPORT_SYMBOL vmlinux 0x211309c1 consume_skb +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x214ceb3e dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x2199337a down_timeout +EXPORT_SYMBOL vmlinux 0x219fad14 input_event +EXPORT_SYMBOL vmlinux 0x21bc0e8f bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x21d2bc60 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x21d39f54 register_cdrom +EXPORT_SYMBOL vmlinux 0x21deca44 inet_release +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21e2985b pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x21ee539d kernel_getpeername +EXPORT_SYMBOL vmlinux 0x21f9038a x86_hyper_ms_hyperv +EXPORT_SYMBOL vmlinux 0x21fb443e _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x221b8fac get_phy_device +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22459658 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2265b5b5 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x226f92ab locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2285f1d4 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x228a7d74 register_netdevice +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22df21ec dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x231f39b0 single_open +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x237135e5 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x237ef779 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x238b906e dmam_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b015bb dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244d3605 sock_no_poll +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24696ffa scsi_device_resume +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2483467a dquot_enable +EXPORT_SYMBOL vmlinux 0x2486f2d4 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x2487b4ec dquot_operations +EXPORT_SYMBOL vmlinux 0x24a5b2d9 block_write_begin +EXPORT_SYMBOL vmlinux 0x24a84cf1 proc_symlink +EXPORT_SYMBOL vmlinux 0x24d26e81 pci_select_bars +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 0x2521ebb7 inode_init_always +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253baa35 init_net +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25522667 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x25569f00 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x25715b50 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25bcbb6b key_payload_reserve +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25d4e39b simple_transaction_get +EXPORT_SYMBOL vmlinux 0x25d915e5 inet_getname +EXPORT_SYMBOL vmlinux 0x25e17a03 drop_nlink +EXPORT_SYMBOL vmlinux 0x260ee15a add_disk +EXPORT_SYMBOL vmlinux 0x2635a38b tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x264591f7 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x2647a236 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x264d3c3d idr_get_next +EXPORT_SYMBOL vmlinux 0x2651fe9a jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x2669ef81 nobh_write_end +EXPORT_SYMBOL vmlinux 0x267ebc77 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268cc6a2 sys_close +EXPORT_SYMBOL vmlinux 0x2694511f inode_only_permission +EXPORT_SYMBOL vmlinux 0x26b08922 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x26b86c0e jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26bd3c05 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26e79bd0 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x26ef5736 unlock_rename +EXPORT_SYMBOL vmlinux 0x27127633 inet_shutdown +EXPORT_SYMBOL vmlinux 0x27152b66 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x2737cf03 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x2748ef8e sock_create_lite +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x276369ad udp_proc_register +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27893d40 noop_llseek +EXPORT_SYMBOL vmlinux 0x27933d50 padata_do_serial +EXPORT_SYMBOL vmlinux 0x27ae7d0c ec_transaction +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27d45aa1 pci_disable_device +EXPORT_SYMBOL vmlinux 0x27db385f pci_enable_device +EXPORT_SYMBOL vmlinux 0x27ef51a0 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x27f57b67 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x27fcefe8 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x280175d6 dcb_getapp +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28481e17 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x285814b5 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28af24bc skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x28b715a6 isapnp_cfg_end +EXPORT_SYMBOL vmlinux 0x28c3ffbf pci_fixup_device +EXPORT_SYMBOL vmlinux 0x28e372d7 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x290eb655 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x29193f00 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x292bb584 dev_uc_init +EXPORT_SYMBOL vmlinux 0x2951a9bf __frontswap_load +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295db419 x86_hyper +EXPORT_SYMBOL vmlinux 0x2960e474 input_free_device +EXPORT_SYMBOL vmlinux 0x29986ad9 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x29e9023a writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a0f772c ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x2a136cd2 inet_listen +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a347f81 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a4d7ce7 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x2a5def2f intel_scu_ipc_iowrite32 +EXPORT_SYMBOL vmlinux 0x2a6718e5 arp_invalidate +EXPORT_SYMBOL vmlinux 0x2a678d0c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x2a6f0d73 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x2a8a5fad dm_io +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ac3e017 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0x2af8215a scsi_dma_map +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b179c55 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x2b26e4b3 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x2b27af24 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x2b2c8684 locks_delete_block +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b658527 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x2b689814 seq_path +EXPORT_SYMBOL vmlinux 0x2b711b03 __alloc_skb +EXPORT_SYMBOL vmlinux 0x2b842a74 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x2b87809e ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0x2b8c7c5a udp_sendmsg +EXPORT_SYMBOL vmlinux 0x2b9d3e41 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba079b6 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bc95bd4 memset +EXPORT_SYMBOL vmlinux 0x2bd25177 vfs_fsync +EXPORT_SYMBOL vmlinux 0x2bf8d577 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x2bfa7ac1 sk_stream_error +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c054728 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x2c101a83 pci_get_class +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c1447bc pipe_to_file +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c266e9c ppp_unit_number +EXPORT_SYMBOL vmlinux 0x2c5c677d dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x2c640d00 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x2c6cf672 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x2c92f67e netdev_warn +EXPORT_SYMBOL vmlinux 0x2ce2fb86 build_skb +EXPORT_SYMBOL vmlinux 0x2cfb3300 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d270391 pci_disable_ido +EXPORT_SYMBOL vmlinux 0x2d37342e cpu_online_mask +EXPORT_SYMBOL vmlinux 0x2d44615f bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x2d53fd10 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x2d7e052c __napi_complete +EXPORT_SYMBOL vmlinux 0x2d8807d6 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2dbc76d1 bdev_read_only +EXPORT_SYMBOL vmlinux 0x2dc7e067 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd646af cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x2de8af44 scsi_reset_provider +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 0x2dfb3a52 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x2e107564 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x2e18cc4b call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x2e20cf63 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x2e27bb65 genl_register_ops +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e3219a5 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x2e3c1902 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x2e58712a generic_readlink +EXPORT_SYMBOL vmlinux 0x2e60bace memcpy +EXPORT_SYMBOL vmlinux 0x2e7b450f sock_no_accept +EXPORT_SYMBOL vmlinux 0x2e935c03 blk_delay_queue +EXPORT_SYMBOL vmlinux 0x2ea7d424 gen_pool_free +EXPORT_SYMBOL vmlinux 0x2ec2e6a4 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ee27b6b d_drop +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 0x2f16fadf xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f3a3239 simple_setattr +EXPORT_SYMBOL vmlinux 0x2f494a13 simple_lookup +EXPORT_SYMBOL vmlinux 0x2f61b583 dqput +EXPORT_SYMBOL vmlinux 0x2f6e66c8 security_inode_permission +EXPORT_SYMBOL vmlinux 0x2f730732 generic_read_dir +EXPORT_SYMBOL vmlinux 0x2f983180 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x2fa88e38 skb_dequeue +EXPORT_SYMBOL vmlinux 0x2fb2c27c __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fbe222b init_buffer +EXPORT_SYMBOL vmlinux 0x2fe2aa39 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x2fe9eb07 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x302b865b x86_hyper_vmware +EXPORT_SYMBOL vmlinux 0x3048b657 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x3057a930 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x306d29ca simple_empty +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x3083ff04 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x308b46e7 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30c22209 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ef4656 inet_addr_type +EXPORT_SYMBOL vmlinux 0x30f670ce d_rehash +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x31082cb2 register_framebuffer +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x31294066 d_move +EXPORT_SYMBOL vmlinux 0x3132753e buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x313302e1 pci_save_state +EXPORT_SYMBOL vmlinux 0x3134a249 seq_release +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x315545a6 block_read_full_page +EXPORT_SYMBOL vmlinux 0x31624e01 sk_alloc +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31a435f7 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x31b6cdea __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x31bcf4be user_revoke +EXPORT_SYMBOL vmlinux 0x31c87136 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x31de90a2 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x31e0d0f0 misc_register +EXPORT_SYMBOL vmlinux 0x31e5eb9a tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x31f0e082 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x3202807a skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x3212057a __scsi_add_device +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x329d5618 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x32a76fe0 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x32cea339 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x32e3fc43 module_refcount +EXPORT_SYMBOL vmlinux 0x32ed77ed tcp_make_synack +EXPORT_SYMBOL vmlinux 0x32eeaded _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x33079611 eth_header +EXPORT_SYMBOL vmlinux 0x331f4222 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x33b0a2b9 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x33bd7c25 km_policy_notify +EXPORT_SYMBOL vmlinux 0x33c8475b journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x33d2d189 truncate_setsize +EXPORT_SYMBOL vmlinux 0x33d8c938 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33ebc3c8 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +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 0x3437fbe9 pci_disable_obff +EXPORT_SYMBOL vmlinux 0x34532c18 freeze_bdev +EXPORT_SYMBOL vmlinux 0x346218e4 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x346d7320 set_security_override +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x3470b0c5 update_time +EXPORT_SYMBOL vmlinux 0x3473a6b0 set_pages_x +EXPORT_SYMBOL vmlinux 0x347abad4 intel_gtt_map_memory +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349f5973 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x34a34e4d nf_ct_attach +EXPORT_SYMBOL vmlinux 0x34b37549 dev_addr_del +EXPORT_SYMBOL vmlinux 0x34b72a34 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x34c6fc00 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x34f00314 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x3501ad0b dev_addr_flush +EXPORT_SYMBOL vmlinux 0x3525a3ed security_path_rmdir +EXPORT_SYMBOL vmlinux 0x3535e26a __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x353db5a8 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x35445d53 kset_register +EXPORT_SYMBOL vmlinux 0x356be81e copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x3596e41a pci_pme_capable +EXPORT_SYMBOL vmlinux 0x35978610 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x35a980a1 dma_declare_coherent_memory +EXPORT_SYMBOL vmlinux 0x35ae3084 is_container_init +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x362ef408 _copy_from_user +EXPORT_SYMBOL vmlinux 0x36439aec bio_integrity_free +EXPORT_SYMBOL vmlinux 0x364b4b37 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x3656d3c4 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x36587a29 generic_show_options +EXPORT_SYMBOL vmlinux 0x3673413f genl_notify +EXPORT_SYMBOL vmlinux 0x3674e07b pv_mmu_ops +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x3692238a mmc_can_discard +EXPORT_SYMBOL vmlinux 0x36aad357 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x36bdcfe6 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x36c6af51 intel_scu_ipc_iowrite8 +EXPORT_SYMBOL vmlinux 0x36cd2eca dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3711c8cb proto_unregister +EXPORT_SYMBOL vmlinux 0x3712f0ec eth_mac_addr +EXPORT_SYMBOL vmlinux 0x373cf65f console_start +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374fe40c cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x3751988f cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x3754f46d acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x375a191b tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x37647d77 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x376cb128 dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37f1a95c poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37fa34b2 abx500_get_register_page_interruptible +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 0x3821daea i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x384c3d76 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x3851105a neigh_connected_output +EXPORT_SYMBOL vmlinux 0x38640ee3 put_io_context +EXPORT_SYMBOL vmlinux 0x3868a4ed tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388799f6 unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x3889adee journal_load +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38ab2cb7 tc_classify_compat +EXPORT_SYMBOL vmlinux 0x38cd494b vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x38e0327f nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x38e039b7 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x38e417bc dst_alloc +EXPORT_SYMBOL vmlinux 0x38ec37f8 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x38f9d69d wireless_send_event +EXPORT_SYMBOL vmlinux 0x39166847 ilookup5 +EXPORT_SYMBOL vmlinux 0x391c003f tcp_seq_open +EXPORT_SYMBOL vmlinux 0x392d77d7 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x3930c24e unregister_cdrom +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x395215de alloc_fddidev +EXPORT_SYMBOL vmlinux 0x396f1d60 mii_check_media +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x399eb65c sock_sendmsg +EXPORT_SYMBOL vmlinux 0x399f43bc netdev_state_change +EXPORT_SYMBOL vmlinux 0x39a055f3 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x39b2f616 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x39bac7c4 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x39cea155 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x39e5389c nlmsg_notify +EXPORT_SYMBOL vmlinux 0x39f2f6df led_blink_set +EXPORT_SYMBOL vmlinux 0x3a013b7d remove_wait_queue +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a176e6a sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x3a1b6b56 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x3a1bc5af kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a34b765 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x3a4ff8ff dma_release_declared_memory +EXPORT_SYMBOL vmlinux 0x3a680f90 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aa0a50b pci_find_bus +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3ac67832 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x3acadf70 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x3ae1950b free_buffer_head +EXPORT_SYMBOL vmlinux 0x3af9f246 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3b2bdd filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x3b72fc98 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x3b75e173 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x3b763c23 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x3b8bd825 __invalidate_device +EXPORT_SYMBOL vmlinux 0x3b91462a dma_mmap_from_coherent +EXPORT_SYMBOL vmlinux 0x3ba26ba0 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x3bb1d14a phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x3bb9e651 thaw_super +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bd73f20 read_dev_sector +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c0dfa9b skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x3c12afb8 iget5_locked +EXPORT_SYMBOL vmlinux 0x3c2caead seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x3c506a99 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x3c6d68c6 security_file_permission +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c91f401 bdget +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cb3931b sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x3cc2254f __register_chrdev +EXPORT_SYMBOL vmlinux 0x3cde2965 tcf_register_action +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfb1fb3 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x3d0f6d5b netlink_ack +EXPORT_SYMBOL vmlinux 0x3d177a4b netif_device_detach +EXPORT_SYMBOL vmlinux 0x3d2fd7b7 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x3d3b2900 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x3d3c5ee4 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x3d463635 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x3d574fc5 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3da7b029 netdev_notice +EXPORT_SYMBOL vmlinux 0x3dab9815 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x3db2e9b7 unlock_page +EXPORT_SYMBOL vmlinux 0x3dc08dbf vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x3dc9db6a elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3de017fe spi_dv_device +EXPORT_SYMBOL vmlinux 0x3def44c5 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0ddfa5 first_ec +EXPORT_SYMBOL vmlinux 0x3e193159 aio_complete +EXPORT_SYMBOL vmlinux 0x3e199f32 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x3e261193 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e2ba9e4 d_delete +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e7441a7 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x3e7e0f98 sock_no_bind +EXPORT_SYMBOL vmlinux 0x3e853d40 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x3e880bf8 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +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 0x3ef212c4 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x3ef78d80 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x3eff5ac2 intel_scu_ipc_writev +EXPORT_SYMBOL vmlinux 0x3efff469 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f214b1d pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x3f3214ca input_allocate_device +EXPORT_SYMBOL vmlinux 0x3f33f88d find_inode_number +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f48fd51 mpage_writepages +EXPORT_SYMBOL vmlinux 0x3f62e61d d_genocide +EXPORT_SYMBOL vmlinux 0x3f81ddad seq_read +EXPORT_SYMBOL vmlinux 0x3f9f868f __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x3fa58ef8 wait_for_completion +EXPORT_SYMBOL vmlinux 0x3fccb474 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3fec939c path_is_under +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x4067708d __pci_register_driver +EXPORT_SYMBOL vmlinux 0x4079fd4a scsi_register_interface +EXPORT_SYMBOL vmlinux 0x4081de92 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x40866083 journal_dirty_metadata +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 0x409cc0fc tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a2d1dd dm_table_get_size +EXPORT_SYMBOL vmlinux 0x40a60998 dev_mc_init +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40aca0cd pcim_enable_device +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c89d46 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d071e7 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x40d6bd13 unregister_nls +EXPORT_SYMBOL vmlinux 0x40e9af14 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x40eca00c pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x41034f37 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x411fbb8e skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x413f6063 commit_creds +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41549857 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x4166b739 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x41831f3b iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x419ee6e8 idr_pre_get +EXPORT_SYMBOL vmlinux 0x41bf707f phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x41bfe0aa check_disk_size_change +EXPORT_SYMBOL vmlinux 0x41e7a3db blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x41ee8504 generic_write_checks +EXPORT_SYMBOL vmlinux 0x41fbb49f blk_run_queue +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x422bc3c6 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x422dd3a3 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x4239de63 ida_init +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42640181 tty_port_init +EXPORT_SYMBOL vmlinux 0x427a093d tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x4292364c schedule +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x429c8a0c block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x42a7b3c6 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x42be1b11 is_bad_inode +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42e786f5 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x42fe26c1 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4308cea0 intel_gtt_get +EXPORT_SYMBOL vmlinux 0x43385ad9 acpi_pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x4350b74e scsi_finish_command +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435c0750 log_wait_commit +EXPORT_SYMBOL vmlinux 0x43636194 security_path_symlink +EXPORT_SYMBOL vmlinux 0x436b020b do_splice_from +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x439449c5 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43a52ac3 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x43e9b761 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x43f60a84 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x441751a1 get_gendisk +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x4460aa4f __blk_run_queue +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x4470db1b kill_litter_super +EXPORT_SYMBOL vmlinux 0x447e57a9 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x44838d21 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x4497a0a4 scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x44a8c4eb kill_pid +EXPORT_SYMBOL vmlinux 0x44aa3f41 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44ad34e7 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x44b7dcee __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44c6dc66 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x44cfd0f4 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f1606d down_trylock +EXPORT_SYMBOL vmlinux 0x450755e2 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450be17a set_groups +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4540ebe2 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x4578661a _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457ce5ed netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x457e3793 replace_mount_options +EXPORT_SYMBOL vmlinux 0x45a4059c dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45bafbad i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45ea383a arp_find +EXPORT_SYMBOL vmlinux 0x45f60db5 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x46046626 drop_super +EXPORT_SYMBOL vmlinux 0x46068868 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x460b693f gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x462dff6a generic_removexattr +EXPORT_SYMBOL vmlinux 0x463a7f8d udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x4648587f blk_init_tags +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x46626a26 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46798b95 input_close_device +EXPORT_SYMBOL vmlinux 0x468a226e generic_file_fsync +EXPORT_SYMBOL vmlinux 0x4695e407 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x4699c1a3 bd_set_size +EXPORT_SYMBOL vmlinux 0x46c6cb85 bio_alloc +EXPORT_SYMBOL vmlinux 0x46dfdff6 datagram_poll +EXPORT_SYMBOL vmlinux 0x46ef36e7 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x46fa46d3 phy_print_status +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4720746f dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x4774774a pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x4781ea93 igrab +EXPORT_SYMBOL vmlinux 0x478391b8 udp_disconnect +EXPORT_SYMBOL vmlinux 0x4785861d devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x478d10b2 ht_destroy_irq +EXPORT_SYMBOL vmlinux 0x4792c572 down_interruptible +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479588bf netif_skb_features +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 0x47c7b0d2 cpu_number +EXPORT_SYMBOL vmlinux 0x47c975c7 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x47c9eb4f ip_defrag +EXPORT_SYMBOL vmlinux 0x48059794 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481963d5 fget +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 0x484cb1ed tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4852c43d input_unregister_handler +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486d2f29 dqstats +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x48805092 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x48a771c5 cpu_core_map +EXPORT_SYMBOL vmlinux 0x48aa7a7e write_one_page +EXPORT_SYMBOL vmlinux 0x48b4be3e km_policy_expired +EXPORT_SYMBOL vmlinux 0x48d3a7ab dev_err +EXPORT_SYMBOL vmlinux 0x48df461a skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x48f9ad6b input_register_handle +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4920520f registered_fb +EXPORT_SYMBOL vmlinux 0x49319cc6 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x495a4fd6 neigh_for_each +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x497b15a6 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49b12684 journal_force_commit +EXPORT_SYMBOL vmlinux 0x49b96018 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x4a0d25a7 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x4a176a65 file_update_time +EXPORT_SYMBOL vmlinux 0x4a24de75 pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a3c099d writeback_in_progress +EXPORT_SYMBOL vmlinux 0x4a6e7696 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x4a6eb9fe directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x4aa1b5ba ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x4aa84c44 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x4aad52ee inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x4ab40e32 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4acc0dea lock_sock_nested +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4ad747fb key_validate +EXPORT_SYMBOL vmlinux 0x4ae47f40 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b091719 nf_afinfo +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b221356 __lock_buffer +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b37e191 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x4b5057b8 __serio_register_port +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b860b09 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x4b94236d clear_inode +EXPORT_SYMBOL vmlinux 0x4bc4d5a5 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x4bca4219 __register_binfmt +EXPORT_SYMBOL vmlinux 0x4beed73e cdev_del +EXPORT_SYMBOL vmlinux 0x4bf39317 pci_request_regions +EXPORT_SYMBOL vmlinux 0x4bf56acb bdi_destroy +EXPORT_SYMBOL vmlinux 0x4bf7b27d inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c1e6406 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c3ecd80 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x4c41257a dev_close +EXPORT_SYMBOL vmlinux 0x4c4702b6 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x4ca9b9da blk_get_request +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4cf24ac3 sget +EXPORT_SYMBOL vmlinux 0x4d0d688f sock_release +EXPORT_SYMBOL vmlinux 0x4d1431a5 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x4d193a7b set_binfmt +EXPORT_SYMBOL vmlinux 0x4d1fa98a kern_path +EXPORT_SYMBOL vmlinux 0x4d330ae8 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x4d3726da __d_drop +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d5992f1 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x4d6416ed alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x4d787937 mount_pseudo +EXPORT_SYMBOL vmlinux 0x4d828052 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dcee9d3 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e106b1a acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x4e21999c acpi_get_child +EXPORT_SYMBOL vmlinux 0x4e29c7cb idr_for_each +EXPORT_SYMBOL vmlinux 0x4e317062 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e47fa42 blkdev_put +EXPORT_SYMBOL vmlinux 0x4e545177 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x4e5aa8c9 elv_register_queue +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e88a88e skb_split +EXPORT_SYMBOL vmlinux 0x4e92149d pci_get_slot +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eb11f1f seq_bitmap +EXPORT_SYMBOL vmlinux 0x4ec815c3 abort_creds +EXPORT_SYMBOL vmlinux 0x4ee2258a pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x4eec52d3 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x4eef19dc tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x4ef510c5 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x4efc7574 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x4f036a1b generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f31e693 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f490107 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x4f5661ce dst_discard +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f73291e dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f7c962e mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x4fb0da8d generic_file_llseek +EXPORT_SYMBOL vmlinux 0x4fb363f3 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x4fd89fc7 set_pages_wb +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x502ea1ad mapping_tagged +EXPORT_SYMBOL vmlinux 0x5039a98a ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x503f36cc neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x504a9be8 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x50529870 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x509acf8e try_to_release_page +EXPORT_SYMBOL vmlinux 0x50c2fd27 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x50e439eb register_md_personality +EXPORT_SYMBOL vmlinux 0x50eedeb8 printk +EXPORT_SYMBOL vmlinux 0x510c14e9 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x512eefd9 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x51443c65 mem_map +EXPORT_SYMBOL vmlinux 0x5152e605 memcmp +EXPORT_SYMBOL vmlinux 0x516fdd38 elevator_init +EXPORT_SYMBOL vmlinux 0x5186518f profile_pc +EXPORT_SYMBOL vmlinux 0x518d4f30 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x519e4767 __find_get_block +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51d188d3 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x51d816e4 seq_write +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51ef33b8 kstrndup +EXPORT_SYMBOL vmlinux 0x51f81fbb neigh_seq_next +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 0x52423a0c ida_pre_get +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x52492021 mb_cache_create +EXPORT_SYMBOL vmlinux 0x525e026f acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0x52728499 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x527f1a35 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528e6eee mpage_readpages +EXPORT_SYMBOL vmlinux 0x52a43a6d scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x52b7e34b scsi_add_device +EXPORT_SYMBOL vmlinux 0x52be2d90 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e686a8 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x52f8ea19 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x530b1e4c rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530d7c50 kernel_connect +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53200c58 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x5320741d bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x532e1ad9 do_splice_direct +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5344b77d sock_no_getname +EXPORT_SYMBOL vmlinux 0x5345450d notify_change +EXPORT_SYMBOL vmlinux 0x534568ea elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x5350fd97 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5383f34b _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53b5b61b netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x53bddd7a vfs_follow_link +EXPORT_SYMBOL vmlinux 0x53c7196f sock_no_mmap +EXPORT_SYMBOL vmlinux 0x53cc90d8 fd_install +EXPORT_SYMBOL vmlinux 0x53d6cc12 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x53e3edfc scsi_register +EXPORT_SYMBOL vmlinux 0x53f2ef10 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x54152e04 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x541e37a1 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x54282eac jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x543127b2 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5444bbc2 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x547c0d48 bio_add_page +EXPORT_SYMBOL vmlinux 0x548ccf17 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x54935666 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54b09587 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x54c8a6e0 dquot_transfer +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x550a0603 ps2_end_command +EXPORT_SYMBOL vmlinux 0x550f24a5 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x551a8642 do_sync_write +EXPORT_SYMBOL vmlinux 0x55222b65 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x553a71a9 send_sig_info +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x555de14e inet_recvmsg +EXPORT_SYMBOL vmlinux 0x55640cd3 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x557c4b48 nla_put +EXPORT_SYMBOL vmlinux 0x557d8e9a dev_get_by_name +EXPORT_SYMBOL vmlinux 0x5585601f i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x5590ed39 skb_put +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x559f64d8 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x55bcd4d6 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x55cb0dc8 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0x55e8c778 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x55f173cf vm_map_ram +EXPORT_SYMBOL vmlinux 0x55f8a0f4 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x55fb25a2 do_splice_to +EXPORT_SYMBOL vmlinux 0x5609de41 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x560c6a38 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x56129589 dma_pool_create +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x5622bc0c scsi_ioctl +EXPORT_SYMBOL vmlinux 0x562d2910 dget_parent +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5676a3e5 intel_scu_ipc_ioread8 +EXPORT_SYMBOL vmlinux 0x567b7395 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x568d43b5 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x5694b600 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x56a2ac3e usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x56bdb623 i2c_master_send +EXPORT_SYMBOL vmlinux 0x56c06c7e pci_dev_driver +EXPORT_SYMBOL vmlinux 0x56c86dc4 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56f6aaa5 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x5705088a __vmalloc +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57438fab alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575a2bfe mmc_detect_change +EXPORT_SYMBOL vmlinux 0x575af70c on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5781d754 tty_name +EXPORT_SYMBOL vmlinux 0x579fbcd2 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x57bf64d2 cdev_alloc +EXPORT_SYMBOL vmlinux 0x57f54173 fail_migrate_page +EXPORT_SYMBOL vmlinux 0x5836c9c2 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58458b56 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x585c2dec __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x586103be acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x5867eb5c start_tty +EXPORT_SYMBOL vmlinux 0x586b6072 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x5892d54c acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x589599c1 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x58a4c192 nonseekable_open +EXPORT_SYMBOL vmlinux 0x58aca68f tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x58d1fb81 softnet_data +EXPORT_SYMBOL vmlinux 0x58e8450f vfs_open +EXPORT_SYMBOL vmlinux 0x58eb4de8 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x58fef6f8 ist_info +EXPORT_SYMBOL vmlinux 0x590560cf dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x5917a496 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x5929af26 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x592b59af acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594484c3 __quota_error +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x5981a558 ata_port_printk +EXPORT_SYMBOL vmlinux 0x598d1eed f_setown +EXPORT_SYMBOL vmlinux 0x59a4ca10 nf_log_register +EXPORT_SYMBOL vmlinux 0x59b12ac6 kmap_atomic_to_page +EXPORT_SYMBOL vmlinux 0x59b427fa dev_load +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59e986cc netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x5a1126d1 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x5a2aa62e __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x5a341cf9 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4f20d7 tcf_em_register +EXPORT_SYMBOL vmlinux 0x5a6eb806 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a86f6a3 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x5a8ebce8 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x5aa2b873 block_write_end +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5aeae954 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x5aed6ee7 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x5b0e3218 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x5b1004d6 pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b4b46ca __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5b67bd7b blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5ba9dab1 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x5bba1e9a mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x5bc76b82 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x5c121af1 scsi_device_get +EXPORT_SYMBOL vmlinux 0x5c3edd59 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x5c6bda2e bprm_change_interp +EXPORT_SYMBOL vmlinux 0x5c7e3f2e pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x5c8f8d88 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x5c969d8f alloc_disk +EXPORT_SYMBOL vmlinux 0x5ccfda6d sock_init_data +EXPORT_SYMBOL vmlinux 0x5cef4874 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d25f59d sock_no_listen +EXPORT_SYMBOL vmlinux 0x5d302a4a nf_setsockopt +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d7366ea fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d9d15aa pci_choose_state +EXPORT_SYMBOL vmlinux 0x5d9f83f4 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x5dce6b75 complete_and_exit +EXPORT_SYMBOL vmlinux 0x5dead1e5 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x5ded4fba pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x5e11300a generic_write_end +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e86127d mii_link_ok +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ebdc8fc dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5ec3b68e tty_register_driver +EXPORT_SYMBOL vmlinux 0x5ece5de2 elv_rb_del +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed446f9 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x5edb62ab padata_alloc +EXPORT_SYMBOL vmlinux 0x5edb76af input_register_handler +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee9e611 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x5ef8b646 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f1a4ccf intel_scu_ipc_update_register +EXPORT_SYMBOL vmlinux 0x5f1fb228 complete_request_key +EXPORT_SYMBOL vmlinux 0x5f27544a mempool_destroy +EXPORT_SYMBOL vmlinux 0x5f2ccaac dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f4e7f68 skb_checksum +EXPORT_SYMBOL vmlinux 0x5f568426 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f81cafc mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fd44d2d fput +EXPORT_SYMBOL vmlinux 0x5fd56d28 inet_twsk_deschedule +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 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6045528d amd_northbridges +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x60874d16 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b2e38a rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x60c572ec netdev_err +EXPORT_SYMBOL vmlinux 0x60c7a510 vm_insert_page +EXPORT_SYMBOL vmlinux 0x60eed68f tty_check_change +EXPORT_SYMBOL vmlinux 0x610027a2 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x611d0381 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x614419cb send_sig +EXPORT_SYMBOL vmlinux 0x614a07fa pnp_possible_config +EXPORT_SYMBOL vmlinux 0x614f0a7c textsearch_destroy +EXPORT_SYMBOL vmlinux 0x61528b43 kobject_get +EXPORT_SYMBOL vmlinux 0x61536865 idr_destroy +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x617738fc netlink_broadcast +EXPORT_SYMBOL vmlinux 0x6186a4bb blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x619441ea mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x619b187b add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x61b5ade0 down_write +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61dda269 md_write_end +EXPORT_SYMBOL vmlinux 0x61ecd152 dev_notice +EXPORT_SYMBOL vmlinux 0x61feb126 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620a8292 pneigh_enqueue +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 0x622fa02a prepare_to_wait +EXPORT_SYMBOL vmlinux 0x6237f6b5 acpi_enable_event +EXPORT_SYMBOL vmlinux 0x623b6166 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x6241a2ab __copy_from_user_ll_nocache +EXPORT_SYMBOL vmlinux 0x624387ef napi_get_frags +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62bb5e39 register_key_type +EXPORT_SYMBOL vmlinux 0x62cb4cee interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0x62edf527 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6304f708 inet_sendpage +EXPORT_SYMBOL vmlinux 0x630dd9df acpi_bus_start +EXPORT_SYMBOL vmlinux 0x6314bf0f bmap +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x63207d2a load_nls +EXPORT_SYMBOL vmlinux 0x632354d6 __lock_page +EXPORT_SYMBOL vmlinux 0x632c2853 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x632f6752 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x6383707b sk_reset_timer +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63972cb2 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x63a4041f __seq_open_private +EXPORT_SYMBOL vmlinux 0x63aa8a87 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x63b5a132 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x63ce3c1d remap_pfn_range +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f08634 eth_header_cache +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641d8457 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x643017a2 skb_insert +EXPORT_SYMBOL vmlinux 0x645916b7 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x645ac307 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x6467888e skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x646eb139 vfs_read +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64d49c2b filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64f4bfea genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x64fa2846 dev_get_flags +EXPORT_SYMBOL vmlinux 0x65072cda xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x65125138 acpi_check_address_range +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6519cc2f max8998_read_reg +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x65220759 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x652e7bed pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6546756c udp_poll +EXPORT_SYMBOL vmlinux 0x655f1ab0 set_memory_array_wc +EXPORT_SYMBOL vmlinux 0x65655818 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x6565d33f scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x657879ce __init_rwsem +EXPORT_SYMBOL vmlinux 0x657ecc4c pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x6582e9dd padata_start +EXPORT_SYMBOL vmlinux 0x65839085 blk_end_request +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x65983783 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x65a295bb atomic64_xchg_cx8 +EXPORT_SYMBOL vmlinux 0x65a37537 seq_lseek +EXPORT_SYMBOL vmlinux 0x65b09a86 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0099b tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65f84a77 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x66355efc vprintk +EXPORT_SYMBOL vmlinux 0x664cb492 page_put_link +EXPORT_SYMBOL vmlinux 0x667e9817 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x667fadd3 log_start_commit +EXPORT_SYMBOL vmlinux 0x6689bfb1 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66b4ace7 alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0x66e3f9e8 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x66eb35d3 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x6718b515 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x671ab099 generic_setxattr +EXPORT_SYMBOL vmlinux 0x6722d74b skb_free_datagram +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673829fd cdev_init +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6756ca5b sg_miter_next +EXPORT_SYMBOL vmlinux 0x675b46ac agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x67666df3 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x676c21b6 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0x67773290 skb_add_rx_frag +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 0x67dcd1ef pci_pme_active +EXPORT_SYMBOL vmlinux 0x67dcffb7 lg_lock_init +EXPORT_SYMBOL vmlinux 0x67f3515b scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x67f66fac nf_reinject +EXPORT_SYMBOL vmlinux 0x67f7403e _raw_spin_lock +EXPORT_SYMBOL vmlinux 0x68041430 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x68095343 security_path_link +EXPORT_SYMBOL vmlinux 0x68277ba2 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68b49a12 skb_copy +EXPORT_SYMBOL vmlinux 0x68b89b7e jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x68c66c21 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x68da6d92 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x68dfc59f __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68feaafd ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x6904448e __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x691dea89 seq_release_private +EXPORT_SYMBOL vmlinux 0x692116a9 default_llseek +EXPORT_SYMBOL vmlinux 0x692186bf current_task +EXPORT_SYMBOL vmlinux 0x6929c56e sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x6944f61c sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x69678c90 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x696e6cc0 revalidate_disk +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69732c52 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x697e9352 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x698eed7d iput +EXPORT_SYMBOL vmlinux 0x698f8c60 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x699a9c6b dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x699e0e61 tcp_prot +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b348b6 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x69bb1aae d_alloc_name +EXPORT_SYMBOL vmlinux 0x69cc1592 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a27bfce csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x6a3b618b vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x6a48e16b percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x6a48eade prepare_binprm +EXPORT_SYMBOL vmlinux 0x6a68fb42 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7d8405 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x6a8d6257 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x6a8f45d6 genphy_resume +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6acd10ad d_lookup +EXPORT_SYMBOL vmlinux 0x6ad22e96 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae87002 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x6af91968 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x6b073bb4 da903x_query_status +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b30d81a ppp_input +EXPORT_SYMBOL vmlinux 0x6b3a6dea get_agp_version +EXPORT_SYMBOL vmlinux 0x6b490ab0 journal_update_format +EXPORT_SYMBOL vmlinux 0x6b739f9c find_get_pages_tag +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6baa5886 kdb_current_task +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bdeee1b devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x6c091b50 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c2e3320 strncmp +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c42b10b __serio_register_driver +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c61ec5a jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x6c690f2e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c80540b d_prune_aliases +EXPORT_SYMBOL vmlinux 0x6ca98ff5 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6ccbd5d5 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6cf0a463 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d07092c dmam_release_declared_memory +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 0x6d5bfec4 x86_hyper_xen_hvm +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d8932c9 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x6d8def73 __devm_release_region +EXPORT_SYMBOL vmlinux 0x6dced056 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df51af5 __rta_fill +EXPORT_SYMBOL vmlinux 0x6e05f401 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x6e2c8b48 blkdev_get +EXPORT_SYMBOL vmlinux 0x6e51ac2e _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x6e6547d7 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x6e65f2dc rtc_lock +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7c90c8 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb63d4a generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x6ed36e81 pci_request_region +EXPORT_SYMBOL vmlinux 0x6ee2dfb6 module_put +EXPORT_SYMBOL vmlinux 0x6ef728cd take_over_console +EXPORT_SYMBOL vmlinux 0x6efbe5e6 skb_clone +EXPORT_SYMBOL vmlinux 0x6f04bbfc brioctl_set +EXPORT_SYMBOL vmlinux 0x6f0885bc request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x6f1f6989 simple_statfs +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f385e8e nobh_write_begin +EXPORT_SYMBOL vmlinux 0x6f3c6f5e dcache_dir_open +EXPORT_SYMBOL vmlinux 0x6f468ed9 generic_setlease +EXPORT_SYMBOL vmlinux 0x6f4c6b71 lg_local_unlock +EXPORT_SYMBOL vmlinux 0x6f53f5c1 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f569a86 unlock_super +EXPORT_SYMBOL vmlinux 0x6f780ccd kunmap_high +EXPORT_SYMBOL vmlinux 0x6f900259 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x6f9c229d sk_wait_data +EXPORT_SYMBOL vmlinux 0x6fa534dc md_unregister_thread +EXPORT_SYMBOL vmlinux 0x6fc027c9 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x6fc2a688 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0x6fc2d0a4 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcdcba1 tty_vhangup +EXPORT_SYMBOL vmlinux 0x6fd3cad1 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x6ffe9901 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x7013406e blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x703b4352 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x70515684 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70806ccb pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70bc568c phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d1f8f3 strncat +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70da3452 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x70e1aaf2 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0x7112fef0 fb_find_mode +EXPORT_SYMBOL vmlinux 0x7114a71f bit_waitqueue +EXPORT_SYMBOL vmlinux 0x7124f231 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71da472e tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x72233911 mntget +EXPORT_SYMBOL vmlinux 0x7229c27c __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x722df4fa textsearch_unregister +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x7240236f sock_create +EXPORT_SYMBOL vmlinux 0x72466bf0 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x7252374e pci_write_vpd +EXPORT_SYMBOL vmlinux 0x7267b5f7 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x729169f5 i2c_transfer +EXPORT_SYMBOL vmlinux 0x7292fe17 pci_release_region +EXPORT_SYMBOL vmlinux 0x72a23206 I_BDEV +EXPORT_SYMBOL vmlinux 0x72b0a36c kobject_set_name +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72c77633 netdev_change_features +EXPORT_SYMBOL vmlinux 0x72ca09d0 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x72cca5c3 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x72d2c6f5 phy_device_free +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72df2f2a up_read +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x730e78ad mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x7316b2b8 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x731cee67 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x7331a81d con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x734d04db napi_gro_flush +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x7361dc4e scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7364e41d dentry_unhash +EXPORT_SYMBOL vmlinux 0x7365e737 uart_match_port +EXPORT_SYMBOL vmlinux 0x737356fc bioset_free +EXPORT_SYMBOL vmlinux 0x7378984d scm_detach_fds +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738803e6 strnlen +EXPORT_SYMBOL vmlinux 0x739f5e0c vc_cons +EXPORT_SYMBOL vmlinux 0x73ad938f serio_rescan +EXPORT_SYMBOL vmlinux 0x73afbc34 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x73b43672 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x73d769be dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x73d9cc32 unload_nls +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73edcd5a mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x73f11212 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x74061068 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x7406f5c5 kobject_put +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x740b86d5 genl_register_family +EXPORT_SYMBOL vmlinux 0x740f80a9 phy_driver_register +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x741a6e22 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x742df0f6 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x743621da dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x743b4ae3 atomic64_inc_not_zero_cx8 +EXPORT_SYMBOL vmlinux 0x74677a28 sock_wake_async +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748eef0c xen_biovec_phys_mergeable +EXPORT_SYMBOL vmlinux 0x748f66fb ht_create_irq +EXPORT_SYMBOL vmlinux 0x749f4165 irq_stat +EXPORT_SYMBOL vmlinux 0x74a33c44 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c7e7d5 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d1a9f5 mount_subtree +EXPORT_SYMBOL vmlinux 0x74d80856 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x74dd3c62 module_layout +EXPORT_SYMBOL vmlinux 0x74e22fe6 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x75271716 save_processor_state +EXPORT_SYMBOL vmlinux 0x752a7fb0 xfrm_input +EXPORT_SYMBOL vmlinux 0x7531e3dc acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0x75325b7d cdrom_open +EXPORT_SYMBOL vmlinux 0x7533d7ef input_release_device +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754fec57 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x75524f2d i2c_del_driver +EXPORT_SYMBOL vmlinux 0x75603153 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x75656456 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x756bedeb i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x759662da xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x75a802a2 __napi_schedule +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 0x75d56dc3 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x75fc819d devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x760f6d34 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x7628f3c7 this_cpu_off +EXPORT_SYMBOL vmlinux 0x762add85 atomic64_inc_return_cx8 +EXPORT_SYMBOL vmlinux 0x763d49d2 dquot_release +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x7650991a netdev_update_features +EXPORT_SYMBOL vmlinux 0x7674d8ab cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x7680164b phy_stop +EXPORT_SYMBOL vmlinux 0x768376e1 sk_filter +EXPORT_SYMBOL vmlinux 0x76993a31 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x769e06d7 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x76abbe4f netdev_emerg +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76cdbb55 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x76d09fcc mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x770a0036 isapnp_cfg_begin +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x771d9746 input_flush_device +EXPORT_SYMBOL vmlinux 0x772a5816 journal_stop +EXPORT_SYMBOL vmlinux 0x772f9eec __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x773532ef mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x77412bbb pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x7759499f journal_clear_err +EXPORT_SYMBOL vmlinux 0x777539b7 cpu_info +EXPORT_SYMBOL vmlinux 0x777bd0c2 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77a86fed kmap +EXPORT_SYMBOL vmlinux 0x77b94596 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x77bb6f7c blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c616e2 __inet6_hash +EXPORT_SYMBOL vmlinux 0x77ce4224 bio_integrity_split +EXPORT_SYMBOL vmlinux 0x77d36f75 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e8993e thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x77f7af64 submit_bio +EXPORT_SYMBOL vmlinux 0x77faaffa inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x780618a5 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x78092a12 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x780fa24a tty_set_operations +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x781416e3 revert_creds +EXPORT_SYMBOL vmlinux 0x7825200a __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x78309a59 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x78390f26 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x786cbe41 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7885bcfa inode_needs_sync +EXPORT_SYMBOL vmlinux 0x78968c01 pci_release_regions +EXPORT_SYMBOL vmlinux 0x789f9b1c key_revoke +EXPORT_SYMBOL vmlinux 0x78bb2011 dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0x78c79643 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x78d2e572 mmc_free_host +EXPORT_SYMBOL vmlinux 0x78d377ee simple_write_begin +EXPORT_SYMBOL vmlinux 0x78db38d3 proc_dointvec +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78ef4c0e rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x7902a14c swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x790fa160 km_query +EXPORT_SYMBOL vmlinux 0x790fd459 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x791c43cb vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x792028d3 mdiobus_free +EXPORT_SYMBOL vmlinux 0x7949da53 usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x79815f8b vfs_llseek +EXPORT_SYMBOL vmlinux 0x7987d1d9 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79ac411b inet_bind +EXPORT_SYMBOL vmlinux 0x79e38dbd bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x79e9d45b dput +EXPORT_SYMBOL vmlinux 0x79fa51ec pagevec_lookup +EXPORT_SYMBOL vmlinux 0x7a107f3c locks_remove_posix +EXPORT_SYMBOL vmlinux 0x7a1b175c pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a8fb05b pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x7a9bf88d udplite_table +EXPORT_SYMBOL vmlinux 0x7aa81449 tcf_hash_release +EXPORT_SYMBOL vmlinux 0x7ab4168c scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abdbaa1 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7b01bc93 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b134ddf acpi_get_name +EXPORT_SYMBOL vmlinux 0x7b3e8bfd dquot_disable +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b691282 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x7b7f1367 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x7b99b058 sg_miter_start +EXPORT_SYMBOL vmlinux 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL vmlinux 0x7ba64643 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x7bcfcc56 journal_ack_err +EXPORT_SYMBOL vmlinux 0x7bd50599 install_exec_creds +EXPORT_SYMBOL vmlinux 0x7bfc078b neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x7c112f76 sync_blockdev +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c1c07a9 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x7c216cb3 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c47a29a blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x7c5422ba pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c6b8386 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c930094 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7cac0df8 journal_wipe +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7cc37196 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x7cf1bcba netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x7d09d678 block_commit_write +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d30e217 rtnl_notify +EXPORT_SYMBOL vmlinux 0x7d3f7400 blk_put_queue +EXPORT_SYMBOL vmlinux 0x7d4baa4c inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7d746dde mii_check_link +EXPORT_SYMBOL vmlinux 0x7d86e36a twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x7da4ea1c __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x7dbc2e57 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x7ddc079d sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e377f5d jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e44d0c3 d_set_d_op +EXPORT_SYMBOL vmlinux 0x7e83e164 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x7e946013 tcp_close +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7ec959af genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x7ecb001b __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7ef03246 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x7f18b194 kacpi_hotplug_wq +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f41face security_inode_readlink +EXPORT_SYMBOL vmlinux 0x7f4f3520 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x7f658e80 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7fa9060e sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x7fac17fe crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x7fb20747 kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0x7fcab86b tty_write_room +EXPORT_SYMBOL vmlinux 0x7fd192ee pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x7fd56c29 elv_add_request +EXPORT_SYMBOL vmlinux 0x80210c43 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x80255412 dquot_initialize +EXPORT_SYMBOL vmlinux 0x806146c2 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x807061b3 get_user_pages +EXPORT_SYMBOL vmlinux 0x80b1f10e pnp_register_driver +EXPORT_SYMBOL vmlinux 0x80bf5730 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x80dc7e81 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x811fb170 fb_blank +EXPORT_SYMBOL vmlinux 0x813fceb1 release_sock +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 0x815b62b9 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x815c56d0 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x815eeea9 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816ae41d __get_user_pages +EXPORT_SYMBOL vmlinux 0x817c249e address_space_init_once +EXPORT_SYMBOL vmlinux 0x819e1c25 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x81a6f71e find_get_page +EXPORT_SYMBOL vmlinux 0x81b9995a inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81d241d0 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81fba284 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x82034bdc posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x82236f0a lro_receive_frags +EXPORT_SYMBOL vmlinux 0x8223c459 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x8235805b memmove +EXPORT_SYMBOL vmlinux 0x823baa77 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x82464885 padata_free +EXPORT_SYMBOL vmlinux 0x82489b12 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x82a12f43 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82e71496 ihold +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x83261fb3 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x832878ec __getblk +EXPORT_SYMBOL vmlinux 0x833c03aa acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x833fbd55 give_up_console +EXPORT_SYMBOL vmlinux 0x83693736 genphy_read_status +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x83903429 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x839900e9 tcp_check_req +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83a7467c scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x83b496e5 pnpbios_protocol +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83d3fe25 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x83f14991 __break_lease +EXPORT_SYMBOL vmlinux 0x84060081 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x8411f45a intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x8417f512 acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0x84375f1d blkdev_fsync +EXPORT_SYMBOL vmlinux 0x8439274a netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x84393cae __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x843bd22c kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x8446fa13 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x8452d460 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x845e6d4d backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x848c2bde mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x84b274ef __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x84b65de5 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x84be886f completion_done +EXPORT_SYMBOL vmlinux 0x84c2d185 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x84c55776 __destroy_inode +EXPORT_SYMBOL vmlinux 0x84cd47d2 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x84d5ebd1 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x84d9a32a tty_devnum +EXPORT_SYMBOL vmlinux 0x84e69950 journal_init_dev +EXPORT_SYMBOL vmlinux 0x84f8469a splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x84f8dfbd dm_unregister_target +EXPORT_SYMBOL vmlinux 0x850e8aca dev_uc_add +EXPORT_SYMBOL vmlinux 0x851736c9 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x852b5131 set_device_ro +EXPORT_SYMBOL vmlinux 0x853af298 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x85621868 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856dd2b0 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x857375e0 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x8574c938 tcp_connect +EXPORT_SYMBOL vmlinux 0x858eead6 task_nice +EXPORT_SYMBOL vmlinux 0x859dc4fe mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85cf9f08 inet_select_addr +EXPORT_SYMBOL vmlinux 0x85d16790 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x85de3ecc locks_free_lock +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e381d1 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85ed8d29 acpi_bus_add +EXPORT_SYMBOL vmlinux 0x8603d526 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x861e7fa8 kick_iocb +EXPORT_SYMBOL vmlinux 0x8640b564 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x86782c76 ip6_route_output +EXPORT_SYMBOL vmlinux 0x867c6fe6 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86b0318a blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x86bfae20 acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x86d136eb mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x86d5255f _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x86df6f06 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x86fa0fb7 qdisc_reset +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x873cf70b blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x873ed741 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x875bfe77 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x87836252 irq_to_desc +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b37b57 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x87c13d87 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88290f62 seq_open +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x883461f3 bio_put +EXPORT_SYMBOL vmlinux 0x8845a743 kernel_accept +EXPORT_SYMBOL vmlinux 0x886dfc90 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x8873b29e dump_write +EXPORT_SYMBOL vmlinux 0x887535cc skb_trim +EXPORT_SYMBOL vmlinux 0x8887b89a dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x88d04323 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x88f9f4c9 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x8900e260 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x8909cea4 genlmsg_put +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x893c4c31 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x8941a808 netdev_printk +EXPORT_SYMBOL vmlinux 0x894385d8 mpage_readpage +EXPORT_SYMBOL vmlinux 0x8947055b simple_rmdir +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x894df45e dev_change_flags +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x89671916 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x897922eb iunique +EXPORT_SYMBOL vmlinux 0x897f5dd1 pci_target_state +EXPORT_SYMBOL vmlinux 0x89add1b7 icmp_send +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89b27c56 scsi_init_io +EXPORT_SYMBOL vmlinux 0x89bbeab6 unregister_console +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89d838a1 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x89f267b8 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x8a1615d6 mempool_create_node +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a2145c9 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x8a2260c4 lock_rename +EXPORT_SYMBOL vmlinux 0x8a3bc9ce lock_fb_info +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a5e05b4 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a93b57a ida_destroy +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8b18496f __copy_to_user_ll +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b243c3e agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x8b33cdd5 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b3815cf eisa_driver_register +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b83da15 scsi_print_command +EXPORT_SYMBOL vmlinux 0x8b8c3d6e flush_signals +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba58cc7 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x8bb7e160 inet6_bind +EXPORT_SYMBOL vmlinux 0x8be1c6a4 md_register_thread +EXPORT_SYMBOL vmlinux 0x8beb2a3d simple_rename +EXPORT_SYMBOL vmlinux 0x8bf2d015 poll_freewait +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0226f7 dcache_readdir +EXPORT_SYMBOL vmlinux 0x8c10b82c mount_ns +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c260633 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x8c2b1e34 bdi_register +EXPORT_SYMBOL vmlinux 0x8c37d680 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x8c3bc747 dquot_alloc +EXPORT_SYMBOL vmlinux 0x8c7caf00 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x8c8b8e84 elv_rb_add +EXPORT_SYMBOL vmlinux 0x8c95191a mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x8ca66931 dm_put_device +EXPORT_SYMBOL vmlinux 0x8cc4f7fd tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cd8c0d0 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8d09ed24 ab3100_event_register +EXPORT_SYMBOL vmlinux 0x8d2d93e5 mmc_add_host +EXPORT_SYMBOL vmlinux 0x8d4bf436 key_unlink +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d6f81b4 __div64_32 +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d93fd2f netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x8da1a3cb acpi_remove_interface +EXPORT_SYMBOL vmlinux 0x8daf8c42 dql_init +EXPORT_SYMBOL vmlinux 0x8dc67d00 d_add_ci +EXPORT_SYMBOL vmlinux 0x8dc6e564 restore_processor_state +EXPORT_SYMBOL vmlinux 0x8def339e contig_page_data +EXPORT_SYMBOL vmlinux 0x8df28856 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0a5b18 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e1bd4f8 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e28eac0 pci_clear_master +EXPORT_SYMBOL vmlinux 0x8e2df488 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x8e6d0b32 md_error +EXPORT_SYMBOL vmlinux 0x8e888ec3 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8eca1181 udplite_prot +EXPORT_SYMBOL vmlinux 0x8ee1c863 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x8eef483a __free_pages +EXPORT_SYMBOL vmlinux 0x8f0028cc eisa_bus_type +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f36dfa2 iget_locked +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f52a18e would_dump +EXPORT_SYMBOL vmlinux 0x8f69381f napi_frags_finish +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f877ed3 noop_fsync +EXPORT_SYMBOL vmlinux 0x8f8b4bb7 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fa12b39 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x8fe29b94 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0x8fe64ba3 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x8febdf83 bio_map_kern +EXPORT_SYMBOL vmlinux 0x8ff4079b pv_irq_ops +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x9011e06e pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x90285bf3 __dev_printk +EXPORT_SYMBOL vmlinux 0x90438aca security_path_chmod +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x9046fb68 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x905020d6 pci_dev_put +EXPORT_SYMBOL vmlinux 0x905d0ae4 vc_resize +EXPORT_SYMBOL vmlinux 0x9073c992 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x907b80bf tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x90808c23 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x908afc30 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x908d37f0 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90d15b09 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x90d3cd76 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x911a1b9a thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x9141ec9e proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914c6293 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x91505119 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x919572c2 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x919e0bdb wake_up_process +EXPORT_SYMBOL vmlinux 0x91a4db66 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x91a6a6ac __ps2_command +EXPORT_SYMBOL vmlinux 0x91b1887f mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x91bf1b39 inet6_release +EXPORT_SYMBOL vmlinux 0x91cbe435 generic_fillattr +EXPORT_SYMBOL vmlinux 0x91d45345 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x91ec802e init_task +EXPORT_SYMBOL vmlinux 0x921adc2e pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x92291b21 agp_backend_release +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924918cc qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x925a2b61 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x9265487a freeze_super +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x9289bd34 clear_nlink +EXPORT_SYMBOL vmlinux 0x92a05f3d idr_get_new +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92ad4310 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x92d31344 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x92d411ad tty_unthrottle +EXPORT_SYMBOL vmlinux 0x92e3a563 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x92f1b1c4 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x93041927 filemap_fault +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93169cb5 request_key +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x932a7620 netdev_info +EXPORT_SYMBOL vmlinux 0x93414acd iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x937b0e16 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x93936c92 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93aa68d0 mddev_congested +EXPORT_SYMBOL vmlinux 0x93ad2e6a scsi_device_put +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93d6c6a3 simple_fill_super +EXPORT_SYMBOL vmlinux 0x93de2307 read_cache_pages +EXPORT_SYMBOL vmlinux 0x93f54f3e tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x9412f3c0 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x94160e3d blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x94347703 make_EII_client +EXPORT_SYMBOL vmlinux 0x94546d8c single_release +EXPORT_SYMBOL vmlinux 0x94774f7f scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x94836f3a journal_forget +EXPORT_SYMBOL vmlinux 0x94879a45 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x948fa334 mount_bdev +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a30d07 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x94af219b simple_dir_operations +EXPORT_SYMBOL vmlinux 0x94b541b5 cpu_active_mask +EXPORT_SYMBOL vmlinux 0x94cfe245 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x951a6907 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x95323e4f dma_release_from_coherent +EXPORT_SYMBOL vmlinux 0x95349b39 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x954bc89a abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x954caa23 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x956190b9 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x95785194 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x957f9287 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x958520c3 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x958e48eb dump_trace +EXPORT_SYMBOL vmlinux 0x958f1400 fget_raw +EXPORT_SYMBOL vmlinux 0x95a80727 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x95c2d414 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x95f89a33 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x9620d08d mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x9634a9b7 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x963cd8d9 serio_close +EXPORT_SYMBOL vmlinux 0x96436a75 netlink_set_err +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x966335f8 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x9674de0b __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x9696ac72 rename_lock +EXPORT_SYMBOL vmlinux 0x96a592f6 seq_puts +EXPORT_SYMBOL vmlinux 0x96c7e43b seq_printf +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e0e531 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x96e79739 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x96f91b64 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x9712c249 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x971a835c tcp_init_sock +EXPORT_SYMBOL vmlinux 0x971c0b8e override_creds +EXPORT_SYMBOL vmlinux 0x97208537 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x97243220 __f_setown +EXPORT_SYMBOL vmlinux 0x97384eea __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x97428091 mutex_unlock +EXPORT_SYMBOL vmlinux 0x974526a0 vfs_mknod +EXPORT_SYMBOL vmlinux 0x9748af3a isapnp_protocol +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9761bc18 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x9784b2ca set_bh_page +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 0x97d4a949 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x97dcef29 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98497228 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0x9852b1a4 console_stop +EXPORT_SYMBOL vmlinux 0x985f8860 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9879dce6 set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x98876e58 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98921d98 icmpv6_send +EXPORT_SYMBOL vmlinux 0x98a24365 blk_make_request +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x99052a84 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x9915e708 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x9916868a bdgrab +EXPORT_SYMBOL vmlinux 0x992f20a5 get_task_io_context +EXPORT_SYMBOL vmlinux 0x99372f4c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x99397ea4 ata_link_printk +EXPORT_SYMBOL vmlinux 0x994796da i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99521c58 sk_free +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x996f4845 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x99847fd8 dm_get_device +EXPORT_SYMBOL vmlinux 0x998d222f pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x9991dd9e netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999de148 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x999ff2c5 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x99ba313b backlight_force_update +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c0e522 simple_link +EXPORT_SYMBOL vmlinux 0x99c23321 inode_dio_done +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ed7010 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x9a127a05 pci_map_rom +EXPORT_SYMBOL vmlinux 0x9a15b25b __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1f4939 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a1feb84 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x9a628aeb dev_mc_flush +EXPORT_SYMBOL vmlinux 0x9a6a83f9 cmos_lock +EXPORT_SYMBOL vmlinux 0x9a78ed66 phy_connect +EXPORT_SYMBOL vmlinux 0x9af6851e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x9afa6ec2 kern_unmount +EXPORT_SYMBOL vmlinux 0x9b18df7d jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x9b2f61f7 serio_reconnect +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b5aae2d input_open_device +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b75cb81 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x9b9cfe54 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9baedb2c twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x9baefc63 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x9c2c944a __copy_from_user_ll_nocache_nozero +EXPORT_SYMBOL vmlinux 0x9c48c9aa tty_port_hangup +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c6a4a10 simple_write_end +EXPORT_SYMBOL vmlinux 0x9c6cbfbf ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x9c752710 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x9c8c7cf7 serio_open +EXPORT_SYMBOL vmlinux 0x9c8dc2b4 request_key_async +EXPORT_SYMBOL vmlinux 0x9c8ecd26 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x9c99af8b bio_free +EXPORT_SYMBOL vmlinux 0x9cb25be6 md_flush_request +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cbabf01 set_anon_super +EXPORT_SYMBOL vmlinux 0x9cc848be simple_getattr +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cf68b49 __brelse +EXPORT_SYMBOL vmlinux 0x9cf94d9e acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d1a0922 lookup_one_len +EXPORT_SYMBOL vmlinux 0x9d287615 keyring_clear +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d656411 blk_rq_init +EXPORT_SYMBOL vmlinux 0x9d828e72 tty_mutex +EXPORT_SYMBOL vmlinux 0x9d82f2e7 dev_mc_add +EXPORT_SYMBOL vmlinux 0x9db1fd8f dma_find_channel +EXPORT_SYMBOL vmlinux 0x9dbe51b6 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x9dd0ffc4 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x9dd264e3 acpi_root_dir +EXPORT_SYMBOL vmlinux 0x9e0440e1 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e1511b2 arp_send +EXPORT_SYMBOL vmlinux 0x9e1ab005 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9e1af984 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e425a42 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x9e4b3747 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e71c3a0 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x9e77ae71 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9eaf0eb5 follow_up +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ecc3c80 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9eebe40c journal_start_commit +EXPORT_SYMBOL vmlinux 0x9f1b5b98 simple_release_fs +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f491e5d ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x9f501146 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x9f558783 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x9f622606 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x9f68eb85 phy_find_first +EXPORT_SYMBOL vmlinux 0x9f7566e2 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x9f7a5bc2 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x9f86254a nobh_writepage +EXPORT_SYMBOL vmlinux 0x9f9749c8 generic_file_open +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9f7e96 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x9f9fdeb3 blk_get_queue +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fb565c8 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ff6701e register_console +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0569ba3 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xa056d671 pci_bus_find_capability +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 0xa08e67d5 dma_supported +EXPORT_SYMBOL vmlinux 0xa09d644a bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xa09e3bd7 user_path_at +EXPORT_SYMBOL vmlinux 0xa0a2bc1e pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xa0a75ca2 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xa0aa31e8 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0f1ef99 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xa0f2c2b0 km_report +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa10063b8 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10f7099 neigh_table_init +EXPORT_SYMBOL vmlinux 0xa1194592 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa144e40e fddi_change_mtu +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa17434d2 pnp_device_attach +EXPORT_SYMBOL vmlinux 0xa1a94315 uart_register_driver +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1c4a7c8 kfree_skb +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1dbf870 nla_reserve +EXPORT_SYMBOL vmlinux 0xa1dc1bd0 __blk_end_request +EXPORT_SYMBOL vmlinux 0xa1f61226 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xa2002f0b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xa201af3d twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa23b4fbe __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa251865a register_gifconf +EXPORT_SYMBOL vmlinux 0xa27285a6 arp_xmit +EXPORT_SYMBOL vmlinux 0xa272b1f1 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa29e4f19 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2ad28b3 tty_port_close +EXPORT_SYMBOL vmlinux 0xa2dfe4cd may_umount_tree +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa3397a7d generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +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 0xa38adb40 file_sb_list_del +EXPORT_SYMBOL vmlinux 0xa38f95e8 phy_attach +EXPORT_SYMBOL vmlinux 0xa3b0866e jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa420941a scsi_get_command +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa445563b security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xa446b4d2 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa47e3b0c force_sig +EXPORT_SYMBOL vmlinux 0xa48ff053 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c7d6f0 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4eb097d secpath_dup +EXPORT_SYMBOL vmlinux 0xa4eb4eff _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xa5000274 pci_enable_ido +EXPORT_SYMBOL vmlinux 0xa51cdfe8 __FIXADDR_TOP +EXPORT_SYMBOL vmlinux 0xa5243378 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xa548e773 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xa567b588 bio_pair_release +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa57f5b67 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xa592889d scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5a4851b xfrm_state_update +EXPORT_SYMBOL vmlinux 0xa5b73e84 blk_peek_request +EXPORT_SYMBOL vmlinux 0xa5bc4eb3 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xa5ca78fa inetdev_by_index +EXPORT_SYMBOL vmlinux 0xa5da0abd acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0xa5e8636b vfs_fsync_range +EXPORT_SYMBOL vmlinux 0xa62e6e4f acpi_get_table_with_size +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa6759295 phy_detach +EXPORT_SYMBOL vmlinux 0xa67da660 mempool_alloc +EXPORT_SYMBOL vmlinux 0xa67e2845 dq_data_lock +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa685aba5 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa6a00b03 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xa6b13658 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xa6dc8323 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e2ddf5 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xa6e352f0 pci_get_device +EXPORT_SYMBOL vmlinux 0xa703b578 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71e7463 __first_cpu +EXPORT_SYMBOL vmlinux 0xa770dc23 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xa792fbe7 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xa7a31106 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0xa7c2d314 pnp_find_card +EXPORT_SYMBOL vmlinux 0xa7c6c8d8 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xa7cda962 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xa7ce61c3 path_put +EXPORT_SYMBOL vmlinux 0xa7cf6c2f atomic64_dec_return_cx8 +EXPORT_SYMBOL vmlinux 0xa7d366de simple_readpage +EXPORT_SYMBOL vmlinux 0xa7dc8a16 md_write_start +EXPORT_SYMBOL vmlinux 0xa80ca167 dev_addr_add +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa88bd1bd con_copy_unimap +EXPORT_SYMBOL vmlinux 0xa892a8a4 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa89e4154 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8adeb36 block_write_full_page +EXPORT_SYMBOL vmlinux 0xa8d479b5 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8f58e48 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xa8fec908 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa92d8df3 unregister_netdev +EXPORT_SYMBOL vmlinux 0xa9458111 follow_down +EXPORT_SYMBOL vmlinux 0xa97aa513 ps2_drain +EXPORT_SYMBOL vmlinux 0xa97bc746 set_user_nice +EXPORT_SYMBOL vmlinux 0xa9b1e4fe simple_pin_fs +EXPORT_SYMBOL vmlinux 0xa9b8bc49 __put_cred +EXPORT_SYMBOL vmlinux 0xa9c1b627 intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0xa9fd3552 journal_dirty_data +EXPORT_SYMBOL vmlinux 0xaa397122 register_sysctl_table +EXPORT_SYMBOL vmlinux 0xaa45cd3f init_special_inode +EXPORT_SYMBOL vmlinux 0xaa503bfd simple_unlink +EXPORT_SYMBOL vmlinux 0xaa574a48 cdev_add +EXPORT_SYMBOL vmlinux 0xaa5ddaa1 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa886d4c tty_schedule_flip +EXPORT_SYMBOL vmlinux 0xaa8fea18 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xaaab8067 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaabfdddb vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0xaad65952 blk_complete_request +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae87824 __mutex_init +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaeb69ce kill_fasync +EXPORT_SYMBOL vmlinux 0xaaef3ab2 register_con_driver +EXPORT_SYMBOL vmlinux 0xaaefef0e pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaaf4d70f tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0b19d0 search_binary_handler +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab28271c i8253_lock +EXPORT_SYMBOL vmlinux 0xab3d9bc2 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab61d3be dquot_alloc_inode +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 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabffbb63 free_task +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac0c6c55 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xac2dba29 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xac33396b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac9fa4e3 vfs_getattr +EXPORT_SYMBOL vmlinux 0xacbf1859 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xacc4def7 vfs_link +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xace0e8e3 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xace57e6d pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad07f027 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad2191ca pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xad29b304 skb_store_bits +EXPORT_SYMBOL vmlinux 0xad3faa34 dquot_quota_on +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad606683 agp_copy_info +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadc9a018 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xade0264d security_path_rename +EXPORT_SYMBOL vmlinux 0xadf5e0aa cdrom_release +EXPORT_SYMBOL vmlinux 0xae080067 journal_extend +EXPORT_SYMBOL vmlinux 0xae29eca3 __netdev_printk +EXPORT_SYMBOL vmlinux 0xae3ab9c8 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xae43d1a1 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xae558ede write_cache_pages +EXPORT_SYMBOL vmlinux 0xae714993 genphy_update_link +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae72f7b2 inet_csk_accept +EXPORT_SYMBOL vmlinux 0xae806cc3 page_follow_link_light +EXPORT_SYMBOL vmlinux 0xae9b4531 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xaea976a8 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xaebd2c84 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xaebe6f6d bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xaec0f69d bio_phys_segments +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaedda232 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xaeffd697 d_invalidate +EXPORT_SYMBOL vmlinux 0xaf275868 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xaf27f85c tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xaf367cc7 tcp_shutdown +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 0xaf769c4a security_path_chown +EXPORT_SYMBOL vmlinux 0xaf79fc9b scsi_put_command +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xaf9d9ecc __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xafa56daf scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xafb767b2 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xafba49e5 vfs_write +EXPORT_SYMBOL vmlinux 0xafc47f0e spi_attach_transport +EXPORT_SYMBOL vmlinux 0xafdc3b16 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xafeef049 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xaff71b77 set_trace_device +EXPORT_SYMBOL vmlinux 0xb00125b1 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xb0020183 vfs_readlink +EXPORT_SYMBOL vmlinux 0xb0207ecf ___ratelimit +EXPORT_SYMBOL vmlinux 0xb0535715 generic_permission +EXPORT_SYMBOL vmlinux 0xb05ab5e1 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb061bff7 vga_tryget +EXPORT_SYMBOL vmlinux 0xb0a8fd0a intel_gtt_unmap_memory +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0c6ae04 fb_get_mode +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e4d8fe md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xb0e61371 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xb1133d23 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12c0345 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xb147ef76 generic_make_request +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb16f8e0a __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xb1828cdf deactivate_super +EXPORT_SYMBOL vmlinux 0xb1851739 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xb18d9a59 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xb18dcdb8 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c28be8 ip_cmsg_recv +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 0xb1d1f2ae km_new_mapping +EXPORT_SYMBOL vmlinux 0xb1d9523e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb21e8ff8 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0xb21efcc5 security_mmap_file +EXPORT_SYMBOL vmlinux 0xb2285f43 abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xb2311817 prepare_creds +EXPORT_SYMBOL vmlinux 0xb23a82da netlink_unicast +EXPORT_SYMBOL vmlinux 0xb24f461a scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb26cf75f dev_get_by_index +EXPORT_SYMBOL vmlinux 0xb2744b36 down_write_trylock +EXPORT_SYMBOL vmlinux 0xb2756a98 vga_client_register +EXPORT_SYMBOL vmlinux 0xb2a9befb mmc_release_host +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e207f5 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30ec523 padata_add_cpu +EXPORT_SYMBOL vmlinux 0xb3284531 acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb3407122 d_validate +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb34d6ffc __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb350e08e pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb35bfeb7 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xb3632596 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0xb37ab726 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xb39bcca3 padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0xb3b51da6 genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0xb3be3305 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xb3cc6a63 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xb3e0590d acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0xb3f49225 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xb404b592 release_firmware +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb44c5a4f netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xb45578b8 memscan +EXPORT_SYMBOL vmlinux 0xb468ec99 register_netdev +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb499d4dc generic_listxattr +EXPORT_SYMBOL vmlinux 0xb4d6e420 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xb4f21a19 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xb508e508 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xb5107b18 register_nls +EXPORT_SYMBOL vmlinux 0xb515819d tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0xb52452c2 touch_atime +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb53d7ab5 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb549444c ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xb54e476d __breadahead +EXPORT_SYMBOL vmlinux 0xb54f79ef netif_device_attach +EXPORT_SYMBOL vmlinux 0xb5665f21 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb577ee8d register_sysctl +EXPORT_SYMBOL vmlinux 0xb57c3572 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5c05878 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5d0618f splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xb5fda335 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0xb6115623 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb62870dd dqget +EXPORT_SYMBOL vmlinux 0xb6588e7a idr_remove +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 0xb693489c blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xb6a14316 journal_revoke +EXPORT_SYMBOL vmlinux 0xb6a3e6a1 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b32c98 km_state_expired +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6ed1e53 strncpy +EXPORT_SYMBOL vmlinux 0xb7061c00 lookup_bdev +EXPORT_SYMBOL vmlinux 0xb713d2b2 qdisc_list_del +EXPORT_SYMBOL vmlinux 0xb72aa2e3 key_alloc +EXPORT_SYMBOL vmlinux 0xb72ec667 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xb742fa6e dst_destroy +EXPORT_SYMBOL vmlinux 0xb7472817 fb_class +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb78bdbe9 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xb7aa60f8 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7bcf6be fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xb7f55ecc atomic64_add_return_cx8 +EXPORT_SYMBOL vmlinux 0xb806bd7f udp_prot +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb825a4ff vga_get +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb85cc1a2 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xb863e8df seq_putc +EXPORT_SYMBOL vmlinux 0xb86a5dc9 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb90064d0 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb91ed936 netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xb9366b80 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xb967d374 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xb975ad46 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xb9767ca4 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xb97f9853 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb99cf582 ida_get_new_above +EXPORT_SYMBOL vmlinux 0xb9b6e221 register_exec_domain +EXPORT_SYMBOL vmlinux 0xb9c98845 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xb9d26627 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xb9d613f4 agp_enable +EXPORT_SYMBOL vmlinux 0xb9f5f808 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xb9f66a18 bio_unmap_user +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba17b86f set_create_files_as +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba44fe33 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xba46b8c4 bdput +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba569761 inet_accept +EXPORT_SYMBOL vmlinux 0xba8ea6ad rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xba96fcec bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xbaac3ac2 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xbaba611c request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xbac91c5b follow_pfn +EXPORT_SYMBOL vmlinux 0xbafc29d0 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xbafdf8c0 inode_init_owner +EXPORT_SYMBOL vmlinux 0xbb138387 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb4a4926 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb62b4bd inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbb6fd717 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0xbb8025f1 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xbb830af8 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xbb837d27 machine_real_restart +EXPORT_SYMBOL vmlinux 0xbb949502 pci_dev_get +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbba0ac93 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xbbd2696c blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xbc1afedf up_write +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc409ee8 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xbc43ef06 alloc_file +EXPORT_SYMBOL vmlinux 0xbc46db35 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xbc4a1df2 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xbc673ee9 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xbc831b14 fsync_bdev +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbccb7984 tty_free_termios +EXPORT_SYMBOL vmlinux 0xbcde8119 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xbce0fee7 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xbcfb30e1 ip_fragment +EXPORT_SYMBOL vmlinux 0xbd0af10b skb_seq_read +EXPORT_SYMBOL vmlinux 0xbd182aed dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xbd200fe9 ether_setup +EXPORT_SYMBOL vmlinux 0xbd2743ab tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xbd3fd0cb unregister_con_driver +EXPORT_SYMBOL vmlinux 0xbd4c81c6 led_brightness_set +EXPORT_SYMBOL vmlinux 0xbd7eec6b pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xbd871fe1 md_integrity_register +EXPORT_SYMBOL vmlinux 0xbda8b673 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xbda9b0d5 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xbdad79f5 inode_init_once +EXPORT_SYMBOL vmlinux 0xbdbad7ba default_file_splice_read +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe0ba137 simple_open +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe169375 inet_put_port +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe4b7dbf pnp_is_active +EXPORT_SYMBOL vmlinux 0xbe5ba693 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xbe8c37d9 intel_scu_ipc_simple_command +EXPORT_SYMBOL vmlinux 0xbebf56cd arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xbec30d05 x86_match_cpu +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbee99b7a pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xbef1b0fa intel_gtt_insert_pages +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf1112c7 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xbf1e6e61 md_check_recovery +EXPORT_SYMBOL vmlinux 0xbf2b245d dev_add_pack +EXPORT_SYMBOL vmlinux 0xbf597b35 tty_port_open +EXPORT_SYMBOL vmlinux 0xbf7009a9 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8b39e9 isapnp_present +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa539f3 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xbfb0ed83 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xbfb11d98 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xbfb8a006 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xbfbe4895 journal_destroy +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfda2d4d phy_start_interrupts +EXPORT_SYMBOL vmlinux 0xbfe094ec skb_push +EXPORT_SYMBOL vmlinux 0xbfe4784c efi +EXPORT_SYMBOL vmlinux 0xbfe81f26 bio_init +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc00ab45a inet_register_protosw +EXPORT_SYMBOL vmlinux 0xc00fc5f4 generic_getxattr +EXPORT_SYMBOL vmlinux 0xc015f100 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xc01cf848 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xc01eed33 __copy_from_user_ll_nozero +EXPORT_SYMBOL vmlinux 0xc0403e95 sock_i_ino +EXPORT_SYMBOL vmlinux 0xc041727c __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xc0493e8f mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc0653599 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07f18d4 __lru_cache_add +EXPORT_SYMBOL vmlinux 0xc0a30f25 vmtruncate +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a477c0 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc0a8ff16 acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc168f3af skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xc16a5967 flush_old_exec +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc1b2e025 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xc1b43a6b journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xc1b9f3af tty_throttle +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1cdc9a5 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xc218df98 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc24ff476 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc2594e72 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xc263acfb lock_may_write +EXPORT_SYMBOL vmlinux 0xc27d3e66 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xc280a525 __copy_from_user_ll +EXPORT_SYMBOL vmlinux 0xc2887709 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xc293a804 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xc2c41b83 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2d7c2c7 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f88523 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc32beef1 sync_inode +EXPORT_SYMBOL vmlinux 0xc3528a44 __scm_send +EXPORT_SYMBOL vmlinux 0xc352c430 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xc35e0c6c scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3b5291a inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xc3fa6a59 memchr +EXPORT_SYMBOL vmlinux 0xc3ff7f6a pcibios_set_irq_routing +EXPORT_SYMBOL vmlinux 0xc402c487 names_cachep +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc41e8f7a wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xc4554217 up +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4ef1782 find_lock_page +EXPORT_SYMBOL vmlinux 0xc533367d update_region +EXPORT_SYMBOL vmlinux 0xc54e0711 inet6_getname +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc5696d04 scsi_remove_host +EXPORT_SYMBOL vmlinux 0xc57ab7bc proc_dostring +EXPORT_SYMBOL vmlinux 0xc5bfe873 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e1a19a open_exec +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fc177e elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xc60502a6 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xc624e65b write_inode_now +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63cc125 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc65097ca invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xc6597188 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc65f6ead fifo_set_limit +EXPORT_SYMBOL vmlinux 0xc66af43b agp_backend_acquire +EXPORT_SYMBOL vmlinux 0xc6884c17 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xc6890ef3 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xc6a0847a nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xc6b23120 intel_scu_ipc_iowrite16 +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6ccacf8 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xc6e61430 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xc6eb6af9 empty_aops +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 0xc74ea3fe vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0xc7556d5f jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xc768de19 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc76aaa4c d_instantiate +EXPORT_SYMBOL vmlinux 0xc77bb5d8 sk_run_filter +EXPORT_SYMBOL vmlinux 0xc77d0f1c thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7903acf __pagevec_release +EXPORT_SYMBOL vmlinux 0xc79b8e3a jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a26c26 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b46a1b sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xc7c21012 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xc7c7defb input_unregister_device +EXPORT_SYMBOL vmlinux 0xc7d9230e posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc802e301 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xc8034ef4 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xc80ec43b jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xc810e64c inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84b3f2e try_module_get +EXPORT_SYMBOL vmlinux 0xc864fbbd skb_pull +EXPORT_SYMBOL vmlinux 0xc88c21a1 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8a56ea7 pipe_lock +EXPORT_SYMBOL vmlinux 0xc8acc191 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8d699e5 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xc919664c tcp_child_process +EXPORT_SYMBOL vmlinux 0xc919d6b4 mmc_start_req +EXPORT_SYMBOL vmlinux 0xc925f95e get_write_access +EXPORT_SYMBOL vmlinux 0xc943211a netif_napi_del +EXPORT_SYMBOL vmlinux 0xc94acd11 key_invalidate +EXPORT_SYMBOL vmlinux 0xc94e6634 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xc95882d2 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xc95dd473 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xc96a3444 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xc9871fe3 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xc990fec9 dquot_drop +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc9a7b6dc sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9b363f4 find_or_create_page +EXPORT_SYMBOL vmlinux 0xc9dbd759 ping_prot +EXPORT_SYMBOL vmlinux 0xc9dea002 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xc9f074c6 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xca041b34 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xca22b0d2 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xca27d290 __kfree_skb +EXPORT_SYMBOL vmlinux 0xca41c5a1 file_open_root +EXPORT_SYMBOL vmlinux 0xca472cc0 __devm_request_region +EXPORT_SYMBOL vmlinux 0xca496da9 put_tty_driver +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca811329 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xcaba8610 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xcad717f4 backlight_device_register +EXPORT_SYMBOL vmlinux 0xcaf29a27 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xcb18f9be dquot_free_inode +EXPORT_SYMBOL vmlinux 0xcb2a4274 mdiobus_write +EXPORT_SYMBOL vmlinux 0xcb39a01c no_llseek +EXPORT_SYMBOL vmlinux 0xcb451e56 idr_init +EXPORT_SYMBOL vmlinux 0xcb5bcdb1 fb_set_cmap +EXPORT_SYMBOL vmlinux 0xcb600f6a con_is_bound +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7648a0 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xcb955cfd mmc_request_done +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcb9ec296 kmap_atomic +EXPORT_SYMBOL vmlinux 0xcbaee54a register_qdisc +EXPORT_SYMBOL vmlinux 0xcbbfad24 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbda30a7 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0xcbe778fa scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xcbec6cb0 iterate_supers_type +EXPORT_SYMBOL vmlinux 0xcc01c6af bdevname +EXPORT_SYMBOL vmlinux 0xcc145dd1 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xcc1b04fd _dev_info +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4d1bfb atomic64_read_cx8 +EXPORT_SYMBOL vmlinux 0xcc4ebbbf abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5b27b5 acpi_extract_package +EXPORT_SYMBOL vmlinux 0xcc68d133 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc88193f qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xcca608eb bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xcca8f548 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xcccde3a6 __block_write_begin +EXPORT_SYMBOL vmlinux 0xcced421d dentry_path_raw +EXPORT_SYMBOL vmlinux 0xccfae62e inet_stream_ops +EXPORT_SYMBOL vmlinux 0xcd0c0b95 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xcd0e2604 release_pages +EXPORT_SYMBOL vmlinux 0xcd10c2b1 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xcd1bf3d2 ppp_input_error +EXPORT_SYMBOL vmlinux 0xcd20fe8c dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2c69da inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xcd358c51 create_proc_entry +EXPORT_SYMBOL vmlinux 0xcd482c94 bdget_disk +EXPORT_SYMBOL vmlinux 0xcd6e5494 user_path_create +EXPORT_SYMBOL vmlinux 0xcd8adb70 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xcdace526 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xcdcfbb1b ip_setsockopt +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdee532c set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xcdf872e8 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xce0a3059 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce1ca6fa skb_pad +EXPORT_SYMBOL vmlinux 0xce1f5873 kobject_add +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce318cb7 inet_sendmsg +EXPORT_SYMBOL vmlinux 0xce406ffd pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0xce4904a4 acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xce4bde13 kill_pgrp +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5b18ec dump_seek +EXPORT_SYMBOL vmlinux 0xce642bf6 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xce67b153 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xce6ffaba blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xce779ee3 mutex_trylock +EXPORT_SYMBOL vmlinux 0xce82eb42 phy_start +EXPORT_SYMBOL vmlinux 0xce980f40 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xcec7e13d eth_type_trans +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf14bcc5 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xcf156793 blk_register_region +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf22e025 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xcf411b84 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0xcf4e7bff neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xcf557bd5 should_remove_suid +EXPORT_SYMBOL vmlinux 0xcf634900 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf75e8ef lookup_hash +EXPORT_SYMBOL vmlinux 0xcf89a09a migrate_page +EXPORT_SYMBOL vmlinux 0xcfb66f78 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xcfc3b492 posix_lock_file +EXPORT_SYMBOL vmlinux 0xcfd805f1 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xcfdd7663 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xcfe05d4d register_kmmio_probe +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcff6d05d __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd02bc163 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xd0318a60 mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xd046580c dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd08dc9ef pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +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 0xd0fb7cd4 __tasklet_hi_schedule_first +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1250fd1 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd1507862 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xd163dc0c tty_register_device +EXPORT_SYMBOL vmlinux 0xd1785c82 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd185aadd netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xd189e5f9 sk_common_release +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd19e172d security_path_truncate +EXPORT_SYMBOL vmlinux 0xd1c8e40f key_link +EXPORT_SYMBOL vmlinux 0xd1cc1e73 sk_receive_skb +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd202f1d1 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xd20502ac dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2329de3 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xd242497d sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xd2519095 cfb_imageblit +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 0xd2952d03 get_fs_type +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a539d2 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2b1ffd8 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xd2b5195a i8042_install_filter +EXPORT_SYMBOL vmlinux 0xd2d9270a netif_rx_ni +EXPORT_SYMBOL vmlinux 0xd2e6a582 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xd2fd86e3 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xd31915ed inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xd31d55e0 input_set_keycode +EXPORT_SYMBOL vmlinux 0xd3286cf4 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xd346461a tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xd35e249a _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xd36b4745 sock_update_classid +EXPORT_SYMBOL vmlinux 0xd3780174 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3926cce padata_stop +EXPORT_SYMBOL vmlinux 0xd3c08471 gen_pool_create +EXPORT_SYMBOL vmlinux 0xd3cfd1c5 filemap_flush +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3de2649 ata_print_version +EXPORT_SYMBOL vmlinux 0xd3e1277f __elv_add_request +EXPORT_SYMBOL vmlinux 0xd3ec4be1 current_fs_time +EXPORT_SYMBOL vmlinux 0xd410c88b dev_crit +EXPORT_SYMBOL vmlinux 0xd42a1270 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xd44d0016 journal_flush +EXPORT_SYMBOL vmlinux 0xd4597574 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xd463566e kthread_bind +EXPORT_SYMBOL vmlinux 0xd4664fba cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xd495967b locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd4997394 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xd4af9174 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xd4c3b174 printk_emit +EXPORT_SYMBOL vmlinux 0xd4cf65ea netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xd4d36f89 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xd4d42e9b udp_ioctl +EXPORT_SYMBOL vmlinux 0xd4dcacfa xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xd4df6661 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd5209095 inc_nlink +EXPORT_SYMBOL vmlinux 0xd53ef3ac journal_get_create_access +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5ffd65f generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd6241572 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd6403979 ps2_init +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd64f98e0 dquot_file_open +EXPORT_SYMBOL vmlinux 0xd67e8a7e d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xd69d5094 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xd6b21ffa sock_no_connect +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6b9ecdc i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xd6c56d6e noop_qdisc +EXPORT_SYMBOL vmlinux 0xd6c62cfe blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xd6cfee7e neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd7045e6c scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0xd74a05a1 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xd74e3da1 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xd759b140 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xd75bb60d scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd796babb agp_find_bridge +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd79fe982 mntput +EXPORT_SYMBOL vmlinux 0xd7bd3af2 add_wait_queue +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e7dcc3 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0xd820042c acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd83c344f sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xd85252b0 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xd85833cb __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xd85df7d4 boot_cpu_data +EXPORT_SYMBOL vmlinux 0xd85fb79c block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0xd86d47cd register_quota_format +EXPORT_SYMBOL vmlinux 0xd86f3c4f sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xd88a7179 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a1dd93 journal_restart +EXPORT_SYMBOL vmlinux 0xd8a94b87 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xd8be212d pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xd8de7c81 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xd8deef59 __nla_put +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd964f62d sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xd969b2c7 amd_e400_c1e_detected +EXPORT_SYMBOL vmlinux 0xd9747762 vfs_rmdir +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 0xd9917c6d dquot_quota_off +EXPORT_SYMBOL vmlinux 0xd99722bf mutex_lock_killable +EXPORT_SYMBOL vmlinux 0xd9d458a0 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xda08c0d7 pcibios_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda134e63 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xda20ec29 set_nlink +EXPORT_SYMBOL vmlinux 0xda301770 ip_options_compile +EXPORT_SYMBOL vmlinux 0xda548d9c mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xda68740d __scm_destroy +EXPORT_SYMBOL vmlinux 0xda7aed68 d_alloc +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 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdaa90363 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xdaacad7f dquot_commit_info +EXPORT_SYMBOL vmlinux 0xdabf9111 setup_new_exec +EXPORT_SYMBOL vmlinux 0xdac27af1 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xdacf9e2d __module_get +EXPORT_SYMBOL vmlinux 0xdae7e900 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xdaf74f5c tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xdb148162 journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xdb19cd46 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0xdb302f73 pci_match_id +EXPORT_SYMBOL vmlinux 0xdb33b5ad sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xdb417d5b genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xdb5e20ea blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb82ba3e set_pages_uc +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb955d86 elv_rb_find +EXPORT_SYMBOL vmlinux 0xdb990769 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xdb99e592 lro_flush_all +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba139ee skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xdbbc2778 pci_iounmap +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc0e0960 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc333eb0 set_pages_nx +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc4640b2 scsi_print_result +EXPORT_SYMBOL vmlinux 0xdc570f62 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xdc57f532 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xdc5b4099 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0xdc60fe33 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc749379 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xdc93d261 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xdc953b9e bdi_unregister +EXPORT_SYMBOL vmlinux 0xdca2b271 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xdca36c2d netif_carrier_off +EXPORT_SYMBOL vmlinux 0xdcbbf1dd unlink_framebuffer +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcd3d355 devm_free_irq +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1a2871 down +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd26d525 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xdd2b798b cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xdd34fd07 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd527e7b inet_ioctl +EXPORT_SYMBOL vmlinux 0xdd5ea63c pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0xdd88bf8e serial8250_register_port +EXPORT_SYMBOL vmlinux 0xddacc1a0 __nlmsg_put +EXPORT_SYMBOL vmlinux 0xddee1d80 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xde01a29f mmc_resume_host +EXPORT_SYMBOL vmlinux 0xde34c68c mmc_erase +EXPORT_SYMBOL vmlinux 0xde381ac6 vga_put +EXPORT_SYMBOL vmlinux 0xde385cda set_bdi_congested +EXPORT_SYMBOL vmlinux 0xde54072a twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xde80a95d sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde99e337 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdebed2a5 tty_hangup +EXPORT_SYMBOL vmlinux 0xdec778f6 ida_get_new +EXPORT_SYMBOL vmlinux 0xdec7f6c1 do_truncate +EXPORT_SYMBOL vmlinux 0xdf08f687 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf24ee3c pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xdf3d507e kthread_stop +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf5ec026 agp_create_memory +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf73fd2c sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfa8d90e swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfd044f9 scsi_host_get +EXPORT_SYMBOL vmlinux 0xe0263e27 fb_show_logo +EXPORT_SYMBOL vmlinux 0xe0320776 kunmap +EXPORT_SYMBOL vmlinux 0xe046c08f set_page_dirty +EXPORT_SYMBOL vmlinux 0xe04b064a dev_addr_init +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe06f3253 skb_queue_head +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe08a1106 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xe0907fa6 input_unregister_handle +EXPORT_SYMBOL vmlinux 0xe09391ea tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xe095ab5a skb_copy_expand +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 0xe0ca0551 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xe0cc4ec9 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xe0d07b7b stop_tty +EXPORT_SYMBOL vmlinux 0xe0fc852e journal_errno +EXPORT_SYMBOL vmlinux 0xe1060f40 vfs_create +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe17d36a1 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xe189b950 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xe1c59e61 dev_uc_del +EXPORT_SYMBOL vmlinux 0xe1fa85cd vfsmount_lock +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24464d3 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xe247678e agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe27d45d3 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0xe27f447f ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xe287d354 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xe293cf62 elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xe2a722e8 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xe2b16e18 input_reset_device +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe3093c4f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xe319eb24 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xe31e5b64 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xe32e1350 poll_initwait +EXPORT_SYMBOL vmlinux 0xe33b6a73 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xe3497c2a mpage_writepage +EXPORT_SYMBOL vmlinux 0xe36fff2a posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xe378722f pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xe384e541 dentry_open +EXPORT_SYMBOL vmlinux 0xe3d4b428 netdev_alert +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe43f68f9 inet_frags_init +EXPORT_SYMBOL vmlinux 0xe4447f38 bioset_create +EXPORT_SYMBOL vmlinux 0xe45f60d8 __wake_up +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48a0008 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xe490e07f put_page +EXPORT_SYMBOL vmlinux 0xe49775f9 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xe4bcf716 journal_abort +EXPORT_SYMBOL vmlinux 0xe4f4c29e __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xe50f904f intel_scu_ipc_ioread16 +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe530ad6f mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xe530d757 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xe53a2f1d inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57b5206 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0xe585080a nf_log_packet +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5885c82 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xe5980063 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xe59a0119 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0xe5bd90ff d_path +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d048a1 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xe5d5a2b6 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed1656 d_find_alias +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe617078e file_remove_suid +EXPORT_SYMBOL vmlinux 0xe6301db4 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe6557757 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xe672b521 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xe67a852a scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xe6910a7e __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6a79105 mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0xe6aee950 kill_bdev +EXPORT_SYMBOL vmlinux 0xe6b3fe21 interruptible_sleep_on_timeout +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 0xe72a0949 invalidate_partition +EXPORT_SYMBOL vmlinux 0xe76f179e agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe781b5f6 intel_scu_ipc_readv +EXPORT_SYMBOL vmlinux 0xe78bf5e1 get_super_thawed +EXPORT_SYMBOL vmlinux 0xe78eed36 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7ae0b43 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xe7b5d51b bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7f08ac7 pci_set_ltr +EXPORT_SYMBOL vmlinux 0xe802b7c3 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe80f3295 mdiobus_read +EXPORT_SYMBOL vmlinux 0xe80fcc47 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xe8272d68 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xe83e4a3f xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xe84a994f inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87b3d9d max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xe88e7a93 lg_global_lock +EXPORT_SYMBOL vmlinux 0xe8b3d611 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b68849 wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xe8b88631 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xe8e1e5ac blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe946476d tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95a3b21 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0xe9610616 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xe965a65f max8925_reg_write +EXPORT_SYMBOL vmlinux 0xe99151f7 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea51f43f generic_write_sync +EXPORT_SYMBOL vmlinux 0xea571be1 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea7b8a44 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xea7f92bb generic_cont_expand_simple +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 0xeaef6b5e tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xeb2fa90a nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xeb31ac2a mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xeb327aeb aio_put_req +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb5ed4c9 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xeb662409 blk_start_request +EXPORT_SYMBOL vmlinux 0xeb79df3a agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0xeb94ebb1 check_disk_change +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebacbcca set_blocksize +EXPORT_SYMBOL vmlinux 0xebb66fc5 __get_page_tail +EXPORT_SYMBOL vmlinux 0xebbd01f5 dst_release +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebdd65a0 arp_tbl +EXPORT_SYMBOL vmlinux 0xebeb9fc2 kernel_read +EXPORT_SYMBOL vmlinux 0xec0d7fda blk_recount_segments +EXPORT_SYMBOL vmlinux 0xec0e1387 vm_mmap +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec3e5209 scsi_execute +EXPORT_SYMBOL vmlinux 0xec4c1f95 i2c_use_client +EXPORT_SYMBOL vmlinux 0xec54c941 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xec5c7244 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xec7f2a2c arp_create +EXPORT_SYMBOL vmlinux 0xec9c7b44 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xecb28ee7 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xecb3a5e1 clocksource_register +EXPORT_SYMBOL vmlinux 0xecb721f1 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xecfc0e59 bdi_init +EXPORT_SYMBOL vmlinux 0xecffc561 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed402697 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xed562e3f rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xed9826ec vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd9392a kernel_bind +EXPORT_SYMBOL vmlinux 0xede5511c neigh_destroy +EXPORT_SYMBOL vmlinux 0xededa327 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xee2805e9 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee4c7557 key_task_permission +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee837d79 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeab140d input_get_keycode +EXPORT_SYMBOL vmlinux 0xeecb5be2 dquot_commit +EXPORT_SYMBOL vmlinux 0xeee830bc proto_register +EXPORT_SYMBOL vmlinux 0xeee958c9 d_splice_alias +EXPORT_SYMBOL vmlinux 0xef1d35b7 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xef321beb pcim_pin_device +EXPORT_SYMBOL vmlinux 0xef3477b8 uart_resume_port +EXPORT_SYMBOL vmlinux 0xef3c546c max8998_update_reg +EXPORT_SYMBOL vmlinux 0xef8f5d54 pci_remove_bus +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb0b63f scsi_register_driver +EXPORT_SYMBOL vmlinux 0xefb2684e mount_nodev +EXPORT_SYMBOL vmlinux 0xefb7cf22 dev_alert +EXPORT_SYMBOL vmlinux 0xefd714dd soft_cursor +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xefe0da4d blk_stop_queue +EXPORT_SYMBOL vmlinux 0xeff878e0 kill_block_super +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0040079 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf034c062 dma_mark_declared_memory_occupied +EXPORT_SYMBOL vmlinux 0xf03a26c7 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xf03f5ec5 scsi_unregister +EXPORT_SYMBOL vmlinux 0xf042ac64 filp_open +EXPORT_SYMBOL vmlinux 0xf050f624 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf078c6a5 __pskb_copy +EXPORT_SYMBOL vmlinux 0xf09a5200 pid_task +EXPORT_SYMBOL vmlinux 0xf0a22c18 vmap +EXPORT_SYMBOL vmlinux 0xf0b6eef2 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xf0b7e345 __sock_create +EXPORT_SYMBOL vmlinux 0xf0c5ff83 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xf0ce7d50 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xf0d396dd ata_dev_printk +EXPORT_SYMBOL vmlinux 0xf0db076d pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xf0ee34ca set_disk_ro +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 0xf10f11e5 udp_seq_open +EXPORT_SYMBOL vmlinux 0xf11382ff ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xf11543ff find_first_zero_bit +EXPORT_SYMBOL vmlinux 0xf1215d86 cont_write_begin +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf12a5c83 idr_find +EXPORT_SYMBOL vmlinux 0xf12d331c lg_local_lock +EXPORT_SYMBOL vmlinux 0xf1381066 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf1424170 proc_mkdir +EXPORT_SYMBOL vmlinux 0xf153920d __frontswap_store +EXPORT_SYMBOL vmlinux 0xf157c5a0 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xf15d7e37 dquot_destroy +EXPORT_SYMBOL vmlinux 0xf1704b23 blk_put_request +EXPORT_SYMBOL vmlinux 0xf18242e1 atomic64_set_cx8 +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1b00258 read_cache_page +EXPORT_SYMBOL vmlinux 0xf1b1a5f7 input_set_capability +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f27494 dev_activate +EXPORT_SYMBOL vmlinux 0xf1faac3a _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf221c09e swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xf2256c9e ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xf232b0e4 sock_register +EXPORT_SYMBOL vmlinux 0xf2349453 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xf2357254 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf244bab8 filp_close +EXPORT_SYMBOL vmlinux 0xf26ceedb loop_register_transfer +EXPORT_SYMBOL vmlinux 0xf26e04d7 lease_modify +EXPORT_SYMBOL vmlinux 0xf279d72c vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xf287972c ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2b5188e pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xf2ee32ec gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xf30f8234 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf32055e7 dev_base_lock +EXPORT_SYMBOL vmlinux 0xf328980f proc_create_data +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf342f742 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34926a1 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xf37260ab _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xf379a296 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xf37a414e vlan_vids_del_by_dev +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 0xf399aa23 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xf3aa9971 md_done_sync +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e6c463 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0xf3f5faa9 register_filesystem +EXPORT_SYMBOL vmlinux 0xf3fd22c5 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xf406e5cd generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0xf424d7b5 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xf427027b rt6_lookup +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf444e81d textsearch_register +EXPORT_SYMBOL vmlinux 0xf4497578 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xf44fe6cd dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf49634fd mark_info_dirty +EXPORT_SYMBOL vmlinux 0xf49eb6eb ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bb33f8 dev_mc_sync +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f19e51 downgrade_write +EXPORT_SYMBOL vmlinux 0xf4fb6501 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xf5006e5c unlazy_fpu +EXPORT_SYMBOL vmlinux 0xf502d273 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0xf506b65c md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xf517f6dc submit_bh +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf528e8f3 agp_free_memory +EXPORT_SYMBOL vmlinux 0xf536d22e acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53d9caa ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xf5473a15 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xf54cd88a agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xf557ca5c kobject_del +EXPORT_SYMBOL vmlinux 0xf55d4883 end_page_writeback +EXPORT_SYMBOL vmlinux 0xf56e50eb find_vma +EXPORT_SYMBOL vmlinux 0xf57e6032 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xf58cf42a pnp_start_dev +EXPORT_SYMBOL vmlinux 0xf59190b4 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xf5ba2dcf __dst_free +EXPORT_SYMBOL vmlinux 0xf5bb2544 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5e5bab5 dev_set_mtu +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5f63f5f destroy_EII_client +EXPORT_SYMBOL vmlinux 0xf62b083c blk_integrity_register +EXPORT_SYMBOL vmlinux 0xf62da359 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf63f8a79 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xf6404819 __bread +EXPORT_SYMBOL vmlinux 0xf64ab633 load_nls_default +EXPORT_SYMBOL vmlinux 0xf65c636e tc_classify +EXPORT_SYMBOL vmlinux 0xf67db974 vfs_symlink +EXPORT_SYMBOL vmlinux 0xf68343ed __page_symlink +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c33b4c __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xf6daebec cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xf6e321d8 security_path_mknod +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf7228338 netpoll_setup +EXPORT_SYMBOL vmlinux 0xf726d02f atomic64_add_unless_cx8 +EXPORT_SYMBOL vmlinux 0xf72fbf54 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xf745cb16 atomic64_sub_return_cx8 +EXPORT_SYMBOL vmlinux 0xf74848d7 lock_super +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf75bc434 files_lglock +EXPORT_SYMBOL vmlinux 0xf75f2711 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xf762b9ec xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xf78c3fbf dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7929048 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xf7c30688 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xf7e37635 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80409e6 skb_unlink +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf815327b pci_set_mwi +EXPORT_SYMBOL vmlinux 0xf8208cd8 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf832779d nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf8357f09 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xf8871364 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xf88e0ee2 acpi_get_table_header +EXPORT_SYMBOL vmlinux 0xf890fe7f pm_idle +EXPORT_SYMBOL vmlinux 0xf894c976 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xf8a55e1e dcache_dir_close +EXPORT_SYMBOL vmlinux 0xf8c2494b pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xf8dd1a82 dma_alloc_from_coherent +EXPORT_SYMBOL vmlinux 0xf908e261 bio_sector_offset +EXPORT_SYMBOL vmlinux 0xf91d156f scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xf92a54f5 genl_unregister_family +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf940a328 __next_cpu +EXPORT_SYMBOL vmlinux 0xf94886c5 wait_iff_congested +EXPORT_SYMBOL vmlinux 0xf949e64c dev_mc_del +EXPORT_SYMBOL vmlinux 0xf953b1f4 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xf97456ea _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xf987d4ee lock_may_read +EXPORT_SYMBOL vmlinux 0xf98c0014 dquot_resume +EXPORT_SYMBOL vmlinux 0xf98ffdd2 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xf99b7312 tty_shutdown +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ad8bcb blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xf9ce2d8f kmem_cache_create +EXPORT_SYMBOL vmlinux 0xf9dd6fb8 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xf9f6b6ba inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xf9fe38c8 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xf9fea288 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xfa30957c mempool_free +EXPORT_SYMBOL vmlinux 0xfa357d17 dev_driver_string +EXPORT_SYMBOL vmlinux 0xfabc075c __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae61ad4 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xfae62050 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb1be686 ida_remove +EXPORT_SYMBOL vmlinux 0xfb1e8b0e mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xfb43296d ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xfb461174 spi_release_transport +EXPORT_SYMBOL vmlinux 0xfb49f556 page_readlink +EXPORT_SYMBOL vmlinux 0xfb6422a8 scsi_host_put +EXPORT_SYMBOL vmlinux 0xfb65a9b3 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb6d29b8 sock_map_fd +EXPORT_SYMBOL vmlinux 0xfb773e3b journal_start +EXPORT_SYMBOL vmlinux 0xfb80c7a0 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc00b17e pskb_expand_head +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc205d9c dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc52d22f make_bad_inode +EXPORT_SYMBOL vmlinux 0xfc562165 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc75833f blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xfc80ace8 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0xfc872fd1 get_ibs_caps +EXPORT_SYMBOL vmlinux 0xfc880fb9 may_umount +EXPORT_SYMBOL vmlinux 0xfca65d9e mount_single +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcac0d40 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0xfcbe6e19 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcdaea2b generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfcff038b keyring_search +EXPORT_SYMBOL vmlinux 0xfd142da1 kset_unregister +EXPORT_SYMBOL vmlinux 0xfd2cf9b5 dev_open +EXPORT_SYMBOL vmlinux 0xfd4cb3c1 phy_disconnect +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd6d3d42 skb_append +EXPORT_SYMBOL vmlinux 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7345f2 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xfd73603c bio_map_user +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd816fbb redraw_screen +EXPORT_SYMBOL vmlinux 0xfd980fda max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdb9162f del_gendisk +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdc7f3ba idr_replace +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 0xfe031c66 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xfe0420d0 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xfe117c7b key_put +EXPORT_SYMBOL vmlinux 0xfe3ea255 dma_set_mask +EXPORT_SYMBOL vmlinux 0xfe5254e0 kernel_listen +EXPORT_SYMBOL vmlinux 0xfe54b333 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xfe5c7522 dev_trans_start +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfe94349f mutex_lock +EXPORT_SYMBOL vmlinux 0xfeb81538 register_xen_selfballooning +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfee60c71 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xfef8b91d elevator_change +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff21c01d get_io_context +EXPORT_SYMBOL vmlinux 0xff480992 dump_fpu +EXPORT_SYMBOL vmlinux 0xff591371 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xff5a42c4 vlan_vid_add +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6ca058 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff8d6b0a serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0xff939bf1 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa19009 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xffb56e74 mnt_unpin +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffde295e jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe56de4 dev_set_group +EXPORT_SYMBOL vmlinux 0xfff632cd bdev_stack_limits +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 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0203a233 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x10edacd0 gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x123240d5 kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x13b7400b is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x16ca5bf3 kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17c81003 kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18e257ab __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a4342a5 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1b422c77 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cfe78d1 kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e0832b2 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x204a36fc kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x205b03ce kvm_after_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x23ddd12b kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x240026d2 kvm_queue_exception +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 0x25f966ef kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27bca836 kvm_before_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28f3e374 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x29866b52 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2bf67e5d kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f636c31 kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f68836f kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30fdd633 kvm_fast_pio_out +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3171899e kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x318856fd gfn_to_pfn_async +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x345bc36d kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35701a33 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3664df97 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x38c9a877 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3967d54a fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3d763017 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de08404 kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de61ece kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e34af45 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e8bf046 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ee59a92 __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f5e2a7f __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41dc1a54 kvm_x86_ops +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x49c033cb kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4acefe6a kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4b585ae9 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4ee49022 kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4f0e4f83 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5276672d gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52c0a231 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x54d6b946 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5be85e89 handle_mmio_page_fault_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ca6287b kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61ebc490 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x657df903 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669da1fd kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c516ca0 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6db19e07 is_error_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74fbc94a is_fault_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x77e6e5e1 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7aa64803 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c674bc5 hva_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c9b19a5 is_noslot_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7cfe17e0 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7e2f216d kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f4a58b9 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f880e40 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x81d0eccf gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8203e222 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x820a42de kvm_requeue_exception_e +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 0x864890b8 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x864c59f4 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x887efba5 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x88866677 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a83db19 kvm_get_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 0x8f69747b kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9079850e kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x91336aa8 kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92ecc6f7 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x965c77be kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a216313 kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9adac2f0 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9b5ec527 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ba57599 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9dfd8b94 kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1eb465d kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa2a2c818 x86_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa30662d0 kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa318d891 kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa5f49b56 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa91845be is_invalid_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa9363c4c kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaac7c868 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xab042fbd kvm_lmsw +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 0xb77278c7 kvm_mmu_invlpg +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 0xbc2b538e __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbc2b937d is_hwpoison_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf05ab76 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3eb8ff0 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc8c4c90b kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb3acbe8 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb67ce10 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd4904af kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xce9103b0 kvm_get_cr8 +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 0xd10a8f80 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xde16265b kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdf87364c kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1cf2c4f kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9790e86 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xebdf7707 kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeeb69c0e kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeffd35b7 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf049604f kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfc09b0a7 kvm_get_kvm +EXPORT_SYMBOL_GPL crypto/af_alg 0x273b9db0 af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x38b4d982 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x7e7cde9c af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x830fb8a1 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x93188c87 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0xc1b54570 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xeccb7a6f af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xfdcf683f af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xe7878199 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4621a546 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xad96fa98 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x43a1b231 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xeee393ba async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x23909720 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x2670bcd4 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xcc233431 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xf5067cab async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x62a6d937 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa5c5b0fb async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xdb0309db blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x13699895 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x21497e40 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x335c9ce7 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x6d46c0a7 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x7a33f907 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x84a0f73f cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xb7ffa918 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xe247c2ad cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xe41f1d23 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xf4ee86cd cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x14957fe1 lrw_crypt +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +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 0xf91ad22c serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x3eff55fa twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x3b41a9e6 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/libahci 0x00c1c032 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x08295220 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1208d6a1 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1f212be8 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x44b6c9a2 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4ee65294 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7a9a344b ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8c559a27 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa656f97b ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa667d750 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbbede5f9 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc56c3b60 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc8ca6a25 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcb967da0 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd1d07446 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe3336a11 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf1133a52 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf7de8a14 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x07529dd2 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xa3d14340 __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 0x0b4743a4 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x28d93c41 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x36cb6a09 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x479743fc bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x57fa1548 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x762f4d78 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x990b6085 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9c0eb8d8 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc06690c8 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc526bf97 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcc509ff8 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe6291e47 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeeda0a62 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf1136272 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfb320ed2 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x36ce0aee btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x43ea7608 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5cbae34a btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x67a43db1 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x980b339e btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9ebe059b btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9f8376b6 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe00f22a9 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe4e0b8c5 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf6da28a9 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/char/scx200_gpio 0xbf6eb386 scx200_gpio_ops +EXPORT_SYMBOL_GPL drivers/dca/dca 0x034b57ad dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x03b40461 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x1823ce08 alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x2e471f01 dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x300ee658 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x31a2c8df dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x58af2cf1 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xb3c7575e unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xde554a17 free_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0e9cc54c edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x142c6a2c edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1bfde70c edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x20f9a0c9 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2105d462 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4698a154 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4faee601 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x69259f22 edac_mem_types +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6ad0c590 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x759600b0 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x800d5cce edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8e5d2ae6 edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8f9bd9b8 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb995b903 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb9cf5ed1 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc5c8b17e find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc713abc5 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc776bf92 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd562e757 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xd65d0f92 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf25b75cc edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf4ae0910 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfb97a838 edac_device_free_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 0x20cecb36 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x380579c6 extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4486b909 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x86e1928e extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x95c2ac44 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa615ef4b extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xb334f0ad extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xba8d2511 extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xbd20a564 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc5226788 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd2eeccac extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe6b3a640 extcon_register_notifier +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 0x2e8ec591 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x76987a0f bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x5b290d82 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x5bd80e86 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaf91b5a1 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb138554b 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 0xd9520451 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xdd3963ed ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xea1c1de7 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0ab72047 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17adc684 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x190b6784 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a7f90e1 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x261ffa1f hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x27133862 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2f64a239 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x31f71323 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x503b2308 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x50f7f7b5 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x52762002 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x60bf65af hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x818b51b4 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x862fa552 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8ee1135d hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x961338fe hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9dc4c407 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa2f581ec hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb32ca4bd hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb95215e9 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbbad220a hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc2d69555 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcf26c7cd hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd32357d0 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd3a2e267 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd4f71469 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe10bd61f hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf5295c3f hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfec98b53 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x782d98db roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x8ca3db0b roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xfbb779e5 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x048f18e3 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x4889db3b usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x4f1d4566 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x99dd6097 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x22b17b52 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x27e08685 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3cf30a5a hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x57e9b8f0 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6c3c5d53 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7a0107a6 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x81ffe7a0 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa47d891f hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xadd9f6f3 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xaef1eaee hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb70216f5 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe6ec1633 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf07ab93d hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2948e770 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x37cb2075 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x725c9c2b vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7dba111e vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8f88f791 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x9cd96951 vmbus_sendpacket_multipagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xaba53df0 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc91a78a4 vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd245a530 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe2aad7d9 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x1c3e92a4 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x390b7134 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x42806144 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x488e280d 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 0x5d6ec46c i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x649c8819 i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x9399f36a i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xcc386a3c i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe600f895 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x71280630 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0bb0c15b i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xcf8053db i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x21e27374 i2c_setup_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6d18ab0f i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1b8365d6 iio_update_demux +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 0x8bdf4366 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8f142e60 iio_alloc_pollfunc +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/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xba266751 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 0xa49d12c1 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x1b8b250c cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x61200d6a cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x79c3db2b cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4e1eeaf6 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x55af9716 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6af14555 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x84bb8ad2 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x99059788 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa9ddd3da wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xae18761c wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb23d4f28 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb51d8177 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbced1fbf wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xca27747e wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf7a244d9 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 0x1282cc9d gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x578a9fda gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x58e7bfd7 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5e436848 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6dc86412 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7322ee92 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x83685d41 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa4010bf5 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb242be6b gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb97f89b8 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc1b8491a gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc3d9c7f4 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc83d9b04 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd56342db gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xdf6c2037 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe14677c9 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf45952d3 gigaset_add_event +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 0xa3233b01 dm_bufio_client_create +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 0xd26111e2 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xe4c593f8 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 0x2f204312 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 0x5e35b916 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 0x77e492fb dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x97d7636f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x9c134494 dm_region_hash_create +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 0xb44992fc dm_rh_inc_pending +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 0x40a5cd98 dm_block_manager_create +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 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 0x224d8095 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x95474a68 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x5600b771 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x629c96b3 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6df31dfd saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xa3182eb4 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xb5b00e96 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbd544e28 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbdf5f949 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe1090977 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe9e82d23 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xeb4c1464 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xf48e5362 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x0d0448e9 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x28547fda saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x36aa8dcb saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5083e0f2 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5bceeab5 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9233021f saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xe2c704e7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x002379d3 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x00923f3e tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x14c62c06 tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x2b568b3f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x531ef479 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x29556564 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x7a8caed1 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x06b8d716 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x8375e836 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x93f485d6 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xdc623fd9 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xfe0fba51 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x1c01473c tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x42495d51 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x1db69cca simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x4d9fc8a3 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x7c97ef5b mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x8dffdfdd tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0175159d mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x069546de mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0c823457 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x2011c165 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x33104990 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x41f52899 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x6137bdd4 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x6cc09c1e mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x758d7306 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x94d720ea mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xa6ca5287 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xb297799b mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc65e128e mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd8be13e9 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xdf22f018 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe4efc714 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe846edc8 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x17b2cdc7 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x196e8377 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1d4e9727 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x23a7b402 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x31d8dac4 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3aab3201 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4a90590a sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7253ae10 sms_board_setup +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 0x86c2d6b8 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb01c81f2 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc7de6737 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd1f3b902 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe56f9b60 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xe9581450 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xee88da3c smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf36b1b85 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf3ca83fa smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x407bcf6e ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x4751f0bb ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x5e84f884 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x74f0300d ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8c1fcfdf ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x926d917a ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xa6cdaa8d ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x26c96b38 radio_isa_probe +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x442b1212 radio_isa_remove +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0x79954dcb radio_isa_match +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0xd288e549 radio_isa_pnp_probe +EXPORT_SYMBOL_GPL drivers/media/radio/radio-isa 0xee0faf0c radio_isa_pnp_remove +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x08866745 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x13104891 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1e12faff ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1f7b45ca rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2f777531 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4a7af1f6 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5cda42fd rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6332de4e rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x874b1033 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8a466eb8 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8a6b36ee ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xab17da08 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb4fcb11b rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xdc5fd145 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf9776fc7 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfa0f59be rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfec8cf8e rc_map_get +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0106927d cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x02f2f399 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x063b5791 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x11bdd772 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x155c12af cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4655d23e cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4fd551d6 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x50f21f13 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x62310c32 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x65fe5c1f cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6dafa6ee cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x835d3ffa cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaf488204 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbbb648f9 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc2e4e3c2 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc937bb3d cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd25a31dc cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xda464924 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xdce67c09 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0x4d04663f cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0aa15c09 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x1e7e3d2a em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x28ce2b9c em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x54698d9e em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x59bbefbf em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5ce4df48 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x73a53a70 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9033bdd2 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xafaa240b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xcdcb6cfc em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd6138e23 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xdcd9da70 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xe16f7d1d em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xef0069ed em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x38bd7604 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x4d7bbfb8 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x59e07fb0 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x71d575a0 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xb5ab90a3 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x221b4b80 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x280eee50 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x6b594c88 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xd0142da4 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x6b3385df v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7d27feb0 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7fed2d64 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x830c89be v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa182ea6e v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xc9c6d5ec v4l2_i2c_subdev_addr +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 0x094fd43a v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x1e4a600f v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x60344350 v4l2_int_device_unregister +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 0xb4d63914 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x0126f5d4 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x07adea87 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x11b9403f v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x4f65ef70 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x56fa1566 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x62eee2bc v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7c365b7d v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x988daa2c v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xba2c5909 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc8e0f41e v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xec0feffd v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfdf5625f v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x084ad935 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x12e04c0f videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x18a114bb videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1fd8a461 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3ba0ad01 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x42d8c569 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4bbff154 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x50ebb190 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x55bfda4a videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6dfb547c videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6eaabedd videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7f58f99a videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9288f88b videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x96333260 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa356774f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa4de19c8 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xabd6e68e videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc0edd135 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc204de75 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc6111f23 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd7edb54c __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xea9fe643 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xef69188e videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xff585478 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x4d231b5f videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x7161e71a videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x87b49601 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xeed16507 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x0223d4b1 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x27aaf497 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3bce8c65 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x410358bd videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x4251bee5 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5f6ddede videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa1381840 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa825c75b videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xc4130552 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe8e90752 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x35f0e12b videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x37e17bc4 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xc208427e videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x02746560 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x02cfb61f vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x07dfbf0a vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x21e079b3 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x675eb279 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x711ebb67 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9861e1c4 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x999ea6b8 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa83d5046 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa945084f vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb1c26967 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb23e9027 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb6b79cc6 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd78116df vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xedfbe8ec vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf67f2931 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xfb54de70 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x25a81274 vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x4ab1fc82 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 0x0d470ba0 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x19b19111 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x28e2937f vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x4679d50d vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xf9136789 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xff4d8aeb vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x04e552ab v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2e3d43e6 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x36123c0e v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x41a1dc71 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x44bb5984 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x53c02783 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x71926fe4 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7343cdaa v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x76334d75 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7e7f9ec7 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x90f3ce9e v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x95c4f9ff v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc82b5b5b v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc8eb8fb1 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xcb70bd9b v4l2_event_unsubscribe_all +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 0xdf59060c v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe06af09b v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf2f0bc09 v4l2_event_pending +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 0x2ac3f2c6 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5506c567 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x9d076047 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb44b5abd i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb8852ada i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xdf6fa072 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe0f030d3 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x286df6a1 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x74be753e lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x961792bc lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2c7ec434 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4fb68664 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x88aa03a6 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8a1c7201 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb6364f89 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc12c246e lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf799d87b lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x1474a79b mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xa1bfcd0e mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xdc7ee7d1 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x397ac36b pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x39ed130e pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3d2e601d pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x87b0ce7f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x893753bb pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9da351b4 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xae66a3ff pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd4c7d9aa pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe4ba1869 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeaae93dc pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xeb5e45b3 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x578eccbe pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x65fe2bf7 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x18e72b8a pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x565b8e86 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7bdc7400 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8aa35031 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9787b297 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0e070a49 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x2719e4eb rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x33f1698e rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x3fb6514f rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x5bd9eaf7 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x6439c7d0 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7511f57d rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x786549c8 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7a8ceb83 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7d90d243 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x902468c5 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xa8e1fefb rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xad0e2e5d rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb4df2eff rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xbff109f2 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xc473466e rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xdc23684c rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xe6f791ca rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf002fce3 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf4b23b4d rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xfa154d0d rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x0c105ef8 sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x4cde834a sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6b4f2890 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe70a906c sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xfb924546 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x27c3940e tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x3219d9c3 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x7216ca6f tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x7eb3fc5b tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x44bb6bba ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x3bcb37f5 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4b8e0f65 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xc781b2d9 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xff9e7e7f 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 0x094a4171 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x218d9362 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4877c628 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x55bcc73f enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5d004762 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd3a495ce enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xfb524a62 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x108bb336 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x64f39c50 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6d7b6aad lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8096c142 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8c40aab7 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa1102023 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xe00fba27 lis3lv02d_joystick_enable +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 0x5efd0d03 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xf552cd54 st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x32d44fc5 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x58bbc27d sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x850aa5be sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x85c86c9c sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa399668f sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd08e6c49 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe44dd987 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe6fdfbea sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfd2fb9d5 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4aef52b3 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4b6d4c5d sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x791d8d57 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x7d379464 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8023a533 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8bace40a sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x1ca5270e cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xba3f5517 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xe5db4fa2 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x2791c1d8 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9859f4b2 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc89eaca3 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc3217874 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x5efa7eeb cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x8c9411d2 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa68831ed cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xc9b26601 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0ddb9915 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x171b9afe mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1a320718 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2235955f unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x24c5c6b0 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25461c66 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2eda185c mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x357caf9f __get_mtd_device +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 0x7237e52d mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x72db087e mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7d5704af mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x807a054a mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x902ae8d4 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x934ca611 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9449333c mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98357cff __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9a034a03 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9b24c004 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9ff1ddd4 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa3744caf mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa7c03751 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa8b47fd2 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xabcc60b4 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xace236c5 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xad53af66 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb6ea378b mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb79ae0f2 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc224c571 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc4e85124 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc83f5906 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd03cb8cb put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe00877ca get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe370964b register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe6e3731e mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf1baa056 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfaea1071 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfc02d4e0 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x14111a6f deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x5415f130 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa500b6bb del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd842f3a4 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xef283956 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x264f1eef nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x27802ecf nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0x9270a27d sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x134507b7 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x74d448ce onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x15c8cff3 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x32e34180 ubi_open_volume_nm +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 0x59b6f66f ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x67dfb4f9 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6be5f06c ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7595a585 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x94d12a5e ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa0debc55 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb5aa8ae3 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc10a0092 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcf79b772 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xda9247f4 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe9b6b772 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 0x843c914d unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x9a6ee223 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xcbd33cfa free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xeb3b8229 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x28467c2e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x307d1dab close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x35b08bc3 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3c01d585 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x557c5321 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6201ed3e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x6616ace9 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x671db099 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7ba49712 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xa5355898 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xcb589b8b can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xda86392d alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x37341bd2 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x80509e04 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb00f7ba7 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xbdc65403 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0bfcf645 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x14069d95 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x414c5417 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x76258b22 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x001e278c mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01038d7b mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x024f8654 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08f99c80 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0add6a28 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b2b7e87 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d018408 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d3b2afe mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e24c445 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f1866db mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16c60154 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a84b639 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1afa22db mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2138b1d5 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x261fed63 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26b2f827 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x27a27c2b mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a380243 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d55b04c mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31de5a78 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e4d5bf6 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f98f60e mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4095de02 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b46fda2 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4bf2c4b4 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c220853 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4cf287c3 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e4437b1 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5019b173 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x507bae44 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5359e794 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cc94603 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x624fca5e mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a70e211 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fb318b4 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70138cad mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8228f453 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84463cfa mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a858997 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x903668d8 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9477feac mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x974cf9cb mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97887724 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97a800a0 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x989254df mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa34a53b5 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6031e23 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8a697b4 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa5fa48e mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0f75742 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5390eef mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5e2fcc4 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba06e659 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbdb9b8a1 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc29c6b9d mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcadc7a32 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd51b9ab mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd088a292 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd64417bf mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd68e1266 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb74138a mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcc261ce mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe004e8bd mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3a94734 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3b85b9b mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9545efa mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeaece1e8 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed2f9133 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf16592ae mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf16940ec mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3520c98 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf4d4572c mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf52579b8 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc93ffad mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0f7e6f44 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x16b8efe0 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xb62bf4ef macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc2c39346 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xda31e92c macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0xfaf5c130 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7471cf93 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8ee23493 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc2c76c01 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xf46af944 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1041022c rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x45982449 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x971b84ca rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa4f29d0f rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa7d9eba1 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xb3f0c50a rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x053bbb18 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x06ea2a5d usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0dd01a90 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1c2f20e2 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x220fa681 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3303adac usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x38a63d8c usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x398739d8 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3b5a4885 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x46d78fec usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4c402c9e usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x626308c5 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x795e57ef usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8361f692 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8401a789 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8b6d5c57 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb177125a usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb8141fe8 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcc89f329 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcff568a0 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd3b574a3 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd9119eef usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe7ec6204 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf3c9949b usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x073b085b i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1bfc7546 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1c0200a6 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x1f3b7310 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x37eeaa5f i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3efae52f i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x49a5a7c3 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x508f6889 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x50f70c17 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x79128af4 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7f77b735 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x93687fe5 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x975f572b i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbc39f91a i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xe4e7fc5b i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xfab48a94 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xaeff5e56 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x98ffa429 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc287d01d il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc4d5fd72 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xcf00b3a9 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xcf1d6387 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x07736f13 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0892d4a9 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0cabb5ca lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x16cea6c7 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x43b31372 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8bf6609b lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa0989f71 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb75c1447 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc5e0b714 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd0039e59 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd4b777ea lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd679f0a3 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xdab34a64 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf1283162 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf33ac67a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfb71c4cc lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1f804ea4 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x2aadacff lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x711fb135 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7c45537b __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7c868735 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x81f6e212 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x945ccf70 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xbff29d4c lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x18e6f899 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xdf86c84f if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x127f3509 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2d8ff825 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x4f933b19 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x56332d41 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x573869e3 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x59cfc95d mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x5bbc3391 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x79dbdb20 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x94c037e2 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x981f31d8 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbc39f475 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbddef8df mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf8700306 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0833c3d7 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x09b74188 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x577cfb12 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7a0d53b6 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x82f16fad p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x917c8608 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x9562c902 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe21fec2d p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfd2d2500 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0cc90a2c rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0ff3e237 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1041c53a rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x110c2278 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x13b134f7 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1747afaa rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x205f84bd rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x20d08f8a rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x29d8b946 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4bae7faf rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x698e6436 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6abd9771 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6b48e598 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x76990b26 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7db20251 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x806b6d7c rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8167b73f rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x81d1e38b rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8867d9d0 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x90f227ab rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x942a47dc rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x97cb950d rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x99400ea0 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa47a11ef rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xac7ada06 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xaf584862 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb4539e9b rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbf53a267 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc174303b rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc7441915 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcc8f4d6c rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcca86d19 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd024f78f rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd8b4fc2a rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdce938d9 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe25860c4 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe3f568be rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xeed1526b rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf721192a rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0ed84fb0 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x13fd7f13 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x15548cd8 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1e26cc5b rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x256ad219 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2eaa5bfa rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x32b86973 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x38be74c7 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3bbaf0fd rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3e4d3a0b rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4671b637 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x478b3a88 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4d5e8949 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5069ef94 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x55acec62 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x56f9f3a4 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5b9e0b71 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5f4b4240 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x664240aa rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x676227e9 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x683efd45 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x79106800 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x846a5520 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x846aa05b rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8b01bd5b rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8b05d079 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8f9149e3 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x978a3d75 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9a0d00a8 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xab6e64b9 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaf64347f rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb1b2a903 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb1eff306 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb8f449cd rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb95a6546 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc9d82783 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd4999bda rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd5548671 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdbd44b5c rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdc19168a rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe17eb5cc rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe51d8029 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf59ae1a1 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf815fdba rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfb3f3a9c rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfec2df1d rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x1ca43dd8 rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x67613d55 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x6f184730 rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x714e7915 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x779fd6a2 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb6b4dab5 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc97ac4f0 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xd08f4fb9 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xe713d5ff rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x05f42591 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x27349109 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x39e93b79 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x462a40be rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4f375808 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x51a1b0c7 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6a020f9a rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x782fff76 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x80bfd8b7 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x8b327d0b rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb3df63df rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcb862350 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xce95558a rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xcefdec1f rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xecd9b517 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf144115e rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x3616e17e wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xbfa9e55e wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xfd49fb25 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0bf853ea wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x39ca1e98 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 0x54c80b23 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x623b9de2 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8afa7539 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8f90f52f wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9620e7a9 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa626f83e wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa8009aa6 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa9e7392f wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcc1a622a wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe6e4a6b2 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe762e49e wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfaeb9cd6 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x84687e6b acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xfbc329f8 acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x18598173 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x780c664f asus_wmi_register_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 0x360606c6 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x838c598d pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xf7716711 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x41aeeb78 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x934e17ff mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa61dbc42 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb7fd532a mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xbf4578e5 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xfe8e8f18 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x47dd88d2 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5797bb1d wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8d4274af wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc5d12ddd wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc8dfd463 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xeb96849f wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xb20698f9 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x010d8fe5 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x033c2ade cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0ae64c15 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x13457bd6 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1958fbdf cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x29bb99c7 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2d5e532f cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x33ec0b67 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x38df6024 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x38f32128 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4900a0cf cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4a42ad3a cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f2f10ed cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f3a9053 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4fca5821 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5dadd474 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x62d10e9f cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6e6582bf cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x779f5325 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x853cde46 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x87f72227 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8de02603 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f14ef9b cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa1423736 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa4645d58 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaaeff036 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xabb19fbf cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb1ab2f51 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb7b2c817 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbf96a4b6 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc4cfef58 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc5ec522b cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc9bf0124 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd301d2cc cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd66938ae cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd9f9b84e cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdbb5a255 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe0444234 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe19f0588 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe3c9e0d5 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe6a1f6a0 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xed1cc69e cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xeee9bafc cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf2d360d3 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x26482a60 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2b292f8b scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x4ea6652a 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 0x696076ca scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x80255368 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x9f4705c5 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0002a2c1 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f810d66 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x405876d4 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x49d0c369 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5ad9ffd7 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x682dcacb fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7c228284 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7d54140f fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7e08e8de __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x805be864 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd43dba6d fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf6cbe707 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xfb6c41be 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 0x07138576 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0fa36d24 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d56cb57 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2fe260d6 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31f9be52 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x434119ee iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48b77553 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x554822be iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5914f7cf iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b012eae iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5e09c41f iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x63ee5a81 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x67a81299 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6800d945 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6837dedf iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x69874d70 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7010d334 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7201581d iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7e7e55d0 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8218fa4e iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x85565d2b iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d622ca7 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x90b8855a iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x917ef481 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x985e50a7 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9de5ac66 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa692ffda __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa8681a4b iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb48ed12d iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb80c64c1 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbd3f6176 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc81474c4 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc8db8323 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2431b25 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4390fae iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd44276d4 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb5321fb iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdbe1b3e2 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf1651ddc iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf169f6ed __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf419112f iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf8289746 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf973b476 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x005b3904 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2bea76f0 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3962b9fb iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3e3dcc27 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4c7afdc9 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5579da10 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x634a72a5 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6ab66aba iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6f297448 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa941eb92 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb2a2b757 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc9201086 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xceef7cec iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd0be4028 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd24dcee3 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xda9f8b25 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf8e013a8 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x08db1a6f sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0d3299be sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1852c965 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1acd9bd5 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2460fd4b sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x32841161 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3d7aecde sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x404fc5d9 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4097f4b8 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4b8f437f sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6e27be68 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6edc5832 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x78975731 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x79831e34 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x877ef08e sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9df2491a sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa8f5cd72 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb4b59083 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbe3130fa sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc6825cfd sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcbda0d09 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe38d70b5 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf57e3c4e sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3727a58e srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x377245ad srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3bcac22f srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xaa06eed9 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xaaa4bc51 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xcdab59df srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0d7b9a5b scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x501104a9 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x59c032d2 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x5fb6738d scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xb331ca58 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xca47df9d scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd879fd5b scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe00c1f91 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xfe3a41e1 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0182cc33 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0414fd76 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x08650418 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0bf66c80 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ee68bb5 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1751f4e6 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x186ee529 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x21259d22 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a3473d6 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2bc5d3e3 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x34ca39fd iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35290945 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3ae93595 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x43d8d307 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x473f6420 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4a4e9df2 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66dae375 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7873ab3c iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x78b0a815 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83089609 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x846591d9 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x876916c7 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8bee9dce iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa7296cf7 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9782eba iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xba3bb4bb iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc37ef0e iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5d6b7b1 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe87492fb iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeb4b5252 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfac38281 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfcd73082 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x08b540e2 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x4af4bf79 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x64fbb8cd sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xdc308d43 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x194a7980 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x792fe6f6 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7efca298 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xde292299 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfc4e9098 srp_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3cfb89e2 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x4913342e spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x62c0120d spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x891c231c spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xacd46ec7 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xee0d7511 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x23f8e728 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x43a8b5f9 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x5707483a dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9f307544 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xd38c47a7 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x42ac2cc5 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x00f76c20 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0a1ec932 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x2aca58ae comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x387e45e6 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x90b07a80 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9b6bc08f comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xdbc8a88b comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xe62d3267 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xfbf8e009 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x2dfc0a94 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x75b2acd7 das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x03e9849e 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 0x9ff5abc2 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_tio 0x00e4f535 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1baa3510 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1daad9d6 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4b1345fc ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x4c553cf8 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x53b51795 ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x9fe99341 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0xc7e2ddf1 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x0f057113 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x1c839ac6 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x29cddf8b ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x64ee7a03 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xa30655a8 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf92b9446 ni_tio_set_mite_channel +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 0x0e7841ce adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x23b91c71 ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xa31b80a8 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb8930692 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb9eb2d10 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd325dc0b ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe8fc3a3f ipack_driver_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 0x24dd4193 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x29c3137b usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x332b4114 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3cc72a42 usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4bd93ce9 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x728de1ae usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8b4c4176 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xabbe33b6 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xba049c4b usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xbf2d9a39 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xcfd30753 sockfd_to_socket +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 0xe293bbec dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe2eac08f usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x40bbeed2 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x5f92febc max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x79fcb270 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xe98592ca max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xf91271ab max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xfb61b3a7 max3107_remove +EXPORT_SYMBOL_GPL drivers/uio/uio 0x5320ea8d uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x851a35e5 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf64a6720 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x76982f57 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xa308c9a9 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 0x0829a324 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x746caee2 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x75bb91e5 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xb0d64ee0 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xc44671e8 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xdaaf51e7 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x17082223 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x36a20aa0 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3807c2f1 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x39977b2d usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x82122c72 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb407d1ff usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb433fb5b usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb699ecad ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf75e7eeb usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09649ff6 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0x90769855 tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x36db20f1 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x02c229b8 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0edfb608 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x39ee2e6a usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x46e3d24c usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x50422549 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x53020bd8 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5abcd9d3 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x669d374c ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x71a91bc9 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8eea7fdd usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x99502caa usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa814197a usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb631556e usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xba928611 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc61f1533 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc90e8283 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd2f394f9 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe1a6858c usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf3283ba2 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x095fa55d usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0b77298a usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2123692f usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x225650af usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2611f3df usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x27f4d185 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2fd08526 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3a36987e usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9c387c54 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa29b2aaa usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xacd9b0b1 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbc25ce18 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc9224ebc usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xce48c4eb usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd3bdfe42 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd6052261 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdc9e533a usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdf428f68 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe33235c0 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf440eb18 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf4b1b449 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf59ba960 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x1629d566 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x3ad01187 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x76fe99fc wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x804cf44b rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa55a531e wa_urb_dequeue +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 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0eae1f8e wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x124c26f0 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1828f21c wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x23dc464b wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x47bbe1ac wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x558af155 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5e03c5df wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5fcea007 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6605a5d3 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8b0aa155 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x988f8b66 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xad4faf76 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb83d80c3 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xed1b8013 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf0f47300 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf36210d0 wusbhc_b_destroy +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 0x2a638170 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x7fb3d3a0 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x876297bd i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x02c260ae umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x0d5bca50 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x37efb0b3 umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x4a1aada8 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x86101c3c umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa0595a7d umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa1b55621 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xef1f3ca5 umc_match_pci_id +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 0x1495e243 uwb_rsv_modify +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x15c0f877 uwb_rc_put +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 0x46a7f871 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4754fa1a __uwb_rc_try_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 0x5cd6a20b uwb_rc_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5e4bc088 __uwb_addr_print +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6f176fab uwb_radio_stop +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x6fac3673 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x760caa9f uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x7ba5817a uwb_rc_get_by_dev +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 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 0x9c3f3489 uwb_rc_get_by_grandpa +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 0xb14eb6ab uwb_rc_dev_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xb5d35189 uwb_rsv_destroy +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 0xee890e51 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xf31f8904 uwb_rc_add +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 0xa9290864 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x201efb22 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x241ad9aa auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x350984ac auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x56dbc4f9 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x57b70bb9 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x640a3605 auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x7230b2da auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x90a67070 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb571cbe3 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xb6d56b3f auok190x_send_cmdargs_pixels +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 0x06a74025 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0cba7e03 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x3f0dbcf9 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4398fcaa ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x78f128f5 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9bb446dc ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa7875b50 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x6bdd1eb4 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x5976e2b1 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x7167ccf4 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x897198af sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xe576a6b6 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 0x7cdcd28d 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 0x072c5652 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3f93ccd6 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x56401fd6 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8258e7e0 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x86caf3c9 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaf0c3e7d w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb5a19637 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc8ca5d30 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd59951ec w1_write_block +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xccb96467 xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x491c335b dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9321df95 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xb2b4761b dlm_posix_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 0xe5d9ff79 dlm_posix_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 0x227ee38f nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x38c7b4e8 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x3f211e8a 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 0x78fefc01 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc367840e lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc6e6a17f lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf4dcc662 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03fef4ea pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0461e849 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0634c04e nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d4259d4 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15e575b0 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f8043cb pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x284b0c6c nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a7c6212 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35ec236c pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x486e1a6d nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52f57075 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5367d21b nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5573d4c9 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55daabaf nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58483e75 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x602581b1 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x63e065ed nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64aff0f7 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x661bdc2e nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x66911eb3 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69e12471 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x750ef902 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8476507a nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8df6ba1e pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9548ebe5 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x996485b8 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9bcb7bd7 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ede6f5e nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa46c6076 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb1dc82e9 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb693b155 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb749e768 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc22fb10 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe806444 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc759990a pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd6868299 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7b03b46 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd84ddc04 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd965304f pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdafe1667 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc07c8fa nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd25b841 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe58ecf0d pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xecdba219 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefb5edf3 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf2d19c5a nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xb356c5ac nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xe380f0f2 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 0x2f00a7f8 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x33c26865 o2hb_register_callback +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 0x700b6b81 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9927b3c2 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa34bef22 o2nm_node_get +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 0xc6fad4fb o2hb_setup_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 0xead79e9e o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7eb0d097 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8d0df073 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9fad3e52 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc5042583 dlm_unregister_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 0xe19f27e2 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xee213325 dlm_print_one_lock +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 0x29cb99d1 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4424ba0e ocfs2_stack_glue_unregister +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 0xc547d163 ocfs2_plock +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 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 0x280a2278 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x70c5be70 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x7b7b6bb6 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xa7426ba7 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xc83f7ed1 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xea0ee967 garp_request_join +EXPORT_SYMBOL_GPL net/802/stp 0x4b5c3680 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x6e8cac1a stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x1a6ceaff p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x566b909f 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 0x52cf0417 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 0x014e9de0 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0f5b72a7 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x170c400e inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1a77302c dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1c2f33ca dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2407bcd0 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2b0801ab dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c8b5bab dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33357003 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x36a721fb dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3bbd912a 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 0x5e3d347c dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6b4f1288 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x732a31c7 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x73e95e06 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7451ba0d dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x75c66657 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x77223923 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7b394a7b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x81a72ab7 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8637c5fc dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8ea64b6f dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eb68a86 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9cf37358 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e14cf85 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e6200d5 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa165fac7 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8e60bae dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb913109d dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc20470f0 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc9909de8 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcbad566c dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcd79998e dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xda288f0e dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf33a594f dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfc9c8d34 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2a9fc5c4 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x50bf2313 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5aaa235d dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x75af6a4c dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb73f2cb2 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfbfe57a7 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x040d3cd9 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c59105c register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x54a726dc gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7bc7e2ee gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2629d90a inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x30c7fd83 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4e6427e0 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x789a5abb inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x93b842e4 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xfc04e79d inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x7eb0b8c3 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x9d4382c4 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 0x7a93755d 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 0x160695b2 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 0x56a35b45 nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x944b3df3 nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xafc45db6 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xbd2b05e9 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 0x1cc01e2c tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x330e3d1a tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x58fc5105 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x6122e91d tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9dbd4f94 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x5c236e14 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 0x04d7d52d l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x052810f2 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x090b118a l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x24e5948e l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2b6c4b7d l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3d3d6fea l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa0ceb3fb l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa7c3704f l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa7de5e6b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb67cb26b l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbff6226a l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe875ab45 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x16321860 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x285ae4ec ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49d07d33 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7aeba3d6 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x86216886 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa16a19e0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa19fb5fc ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcf1b8aa5 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea689c6c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x08f4f877 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x291a76cb ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x33076e65 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 0x4fec7cae ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x60a0af24 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x67958913 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7762965e ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x78cb0de2 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7ed61060 ip_set_test +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 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdbcbb79e ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x5dd4a360 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa46355fc ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xbd936b94 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf8bbf55e register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x071295b1 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x076a1036 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x122af173 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16304693 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1884151a __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x25dc7dc7 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2a66c313 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3555d533 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x398e04dc nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3dd60e8f nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e0c4b68 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x424c29e5 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4363b412 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4687ba39 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5167fe22 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56530e1f nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5853f920 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a8a2135 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5b40f4b0 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6402e32a nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6cd62c49 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7155d690 nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7740b9b6 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77ddf8af nf_ct_expect_find_get +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 0x7bc2a708 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81d0776c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8333f353 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x86f10771 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a3f4156 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a6f97f4 __nf_ct_refresh_acct +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 0x96204a50 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x985fe695 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x98b67394 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b9d3e99 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c2cd222 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9f7dd563 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa61e2954 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa891f8cf nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9436231 nf_conntrack_free +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 0xb23b50ea nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3929341 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb3ffb31f nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb4acbdbe nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6be49f9 nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6f0626a nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd7c0142 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbe0b11f5 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbee5654f nf_ct_delete_from_lists +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 0xc44eaa8d nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc4e8e283 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6652ee1 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcd7f5828 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5fa9e86 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdbbeb4ad nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc287f9a nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd193782 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe1c7ca97 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe263a9b7 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe57912b2 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7ccfc04 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8445cc8 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9eed4f6 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xefc5fa9d nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf5d7805d nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf6879c2c __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x7b0ef39f nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x74c0944c nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xae5c2d5a nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x01f69cb5 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1c88ea0f nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2a9ec4fc set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3a857adb set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x62fc59ee nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7e2cbefc nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xea0e63f6 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf6268e07 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xfa64c184 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xff5b2658 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x49335067 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x796d70cd nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x8395d4e1 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x90cd30ab nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xe9dbf466 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x9e466124 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xeb72f94e nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3862440e nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6a95cac1 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6f47b475 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7b5d2d0b nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa38f2349 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcbe151db ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd7e3e00a ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdb14d0f7 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe041a0ad nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe96756bc nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xeb7731de ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf02c78a0 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf252c812 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x94ee2922 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x5311bc0e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x9170bfa8 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2241646d nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x40375c3c nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8be4c987 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa1d8c2b8 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa9146a45 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb7a132ab nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x4494bafb nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xdade3a1f nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x01a02f74 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x079bc0ef xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x53acb316 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x708b3e66 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7b91b784 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x830690b6 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x88624d7e xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xab2aee5a xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd2a6aa5a xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe56665be xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xea01b313 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xed526f23 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf7e709cc xt_proto_fini +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 0x0f15da74 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x127a7274 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x14eb6c55 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x24e8307a rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x267b8591 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x26f02e50 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x27624288 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 0x370cd2d7 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x38da29ca rds_conn_drop +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 0x68b9cc5b rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x711f31eb rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x73aac73d rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x9343100c rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x99db6ef1 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb7d63800 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xc220818d rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xc2c4ae5e rds_message_put +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 0xd434f63d rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xd48426ea rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0xdbe20fa6 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xdf3bcde2 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0xedae515d rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xf57f1211 rds_inc_init +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x1bb22769 rxrpc_unregister_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xad04bac7 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 0x1547d102 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x3bc09c14 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x43f474b3 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4b590163 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5a67d305 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x63f21140 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6a184bf6 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7bfcfe28 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7c9cfd81 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8954f0cb 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 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdcf1df66 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00c0576e svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00dc94dc xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00dfc2f0 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05464114 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05619bf9 xdr_skb_read_bits +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 0x06f43238 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0941345d rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a335400 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0afa7951 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bae9bec xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c29cb02 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d64c1a9 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ed12423 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x125cd172 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x153a6ade xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x158df26e cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x160f580f rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x188bf37c svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18d084b1 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1999c6cd svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c0a0822 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f15d5b2 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fea7a34 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x224f6922 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x227442cc xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22be3293 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23765bc4 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24fea944 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27508eaa rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2864d9f5 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29a5eec5 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29ac28e0 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a040974 rpc_d_lookup_sb +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 0x3034515e __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x308ff5e2 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x310bc83a xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x324be336 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f18d85 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3802e64e rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3984dfb2 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ad57513 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b9b0770 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x421babe4 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42ad3e85 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x448107ff xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4651a3cb rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47a9ae3e rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47d1a243 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4886584c rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49c11807 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49fd1b1c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a99b110 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bf34cbb xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c8e9ca5 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d1074de xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f942d90 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50327adb cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5106293b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x510e97ad rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x527e966f rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52f0ccf4 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5758112d xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x584e8525 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58ad7826 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f15cdf9 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60bfe1b9 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x618bdbd6 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64496d52 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x653ebc3a rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a092125 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b7c0b60 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c4ff018 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d7d1b63 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dd383dd rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e81011a svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71061ee1 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73d7dd2a read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74020dca svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7599ebe6 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7673ed9a rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x786d54e7 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79142df3 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7964d0bf svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79c7e75d rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a25ac2d rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b4a6b89 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cb3f51e rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cbe4602 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e75601b xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80e169b6 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8507a1b3 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85fe47b3 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8665ede0 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88799778 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x894fd754 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x895bcbce rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ad7646a xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d59d658 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f119519 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fcfde06 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ffdefd1 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91a9f1ad sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91f0f7e9 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x940f2dc8 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x947c0dd6 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9562aae2 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96953c50 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x987a2a9b sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b4fb2f7 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bad750c xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bb8b27d xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9bc0595d xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9dd48843 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e719379 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0dc7ab7 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1d70dde rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb23707ed bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2f32fa7 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3414272 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb41e5b34 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb42cff8e rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4b58014 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5610595 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb720a7cb rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb72526a5 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb76453e1 svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7ce974c svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb82892a2 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb27daef rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc9004db svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd12ab4d csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd405449 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd60979b rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe4d27a9 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe9479dc rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbef2c0d9 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf2111bd xdr_encode_array2 +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 0xc1d7a9ff xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2f07f10 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3ef22da svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3fac1c9 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5be611e svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6d6de96 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7c224eb xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcae633d8 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc50d5a3 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc608f8f xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc67554b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd464460 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce606564 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfc14f02 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd923d528 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9b78019 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdaa188ef svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdce1e354 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde2aac5d svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe04c44bb rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2604212 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe46e2ef7 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5522867 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7890ac6 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7c6e6ce rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee082ccd svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf280014b rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2b64155 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf74f743b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf927346b rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf940b85f sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc61fcaa rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd7fff15 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe7e09e9 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffac58c3 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/wimax/wimax 0x055d02ac wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x07aa52bb wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x14066299 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2fa1ccb8 wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x472be3dd wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5449c646 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x5d1f45b4 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6a232e77 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7a090e12 wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd6102e5a wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0xf92e3243 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfb9d6bc2 wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0xfc1cb8c9 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0aa406f9 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1c92c679 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x226519c2 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x65bcef7d cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x817a0e5d cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8ed05598 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x95d04263 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x994e8fe9 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb09ea103 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd46a1183 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe6550f67 cfg80211_wext_siwfrag +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 0xb6677fc7 pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd05dc2a3 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x5566f6dd ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9911dd1d ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xb72bb731 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe0be33e0 ipcomp_input +EXPORT_SYMBOL_GPL sound/core/snd 0x075642f8 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x1e568ae2 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0x48697e83 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0xa3fde145 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xf5b589e0 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5854f78a 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 0x0125d505 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x67df0af0 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x88a7a516 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xac9e05db snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xc56d8d9d snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf4083b3a snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x020ea0a4 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x044baa4f snd_hda_add_codec_preset +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 0x06d04782 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x077dffa1 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f6eb020 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1156de6d snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1292ac4a snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b2705a8 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1efd5733 snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x207f30e3 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25110cee snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27672ae6 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28a5d21a snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bddea69 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e0d4dee snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x31514a4d snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32c76f26 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32eb6c75 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x332ea6a2 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34bd5c35 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34ed9146 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x367dcf9d snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37296f79 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3841a1a9 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b03ca70 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bb234f3 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f45420c snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d695400 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x503b0a71 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5299e90f snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53389971 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5461898b snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x55a9e0a8 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57d9750e is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a5a1859 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b4750be snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f18c7ce snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f4ced6d snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6111d3d4 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61770d4a snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x621f7df7 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x633715fd snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x652612a3 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6667c5ce snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6786bbe2 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68372139 snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x686e23d8 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68ca899d snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d63e139 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f7847c5 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7330c088 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74b2df57 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75d9286e snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x766c845d snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ae3e991 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cd9197a snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e59e396 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x816f23be snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83b894ce snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x844e9632 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x899da52d snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x89f6e669 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e5ccf9d snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f43614f snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9048c721 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9124e6d4 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93213c3d snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b0e3c91 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9d0fd308 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f8c5d65 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fb0ac60 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa39adf84 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa553b790 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5fda8f4 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa708ecc4 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8664508 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafe5a9d2 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0a52877 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0eed785 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb27fd5de snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb362dbd6 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3c4286a snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3e0c3a0 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6c32971 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb76cc85a snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb31c72e snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc23b49c snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcb120fe 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 0xc0090185 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc23ac2b0 snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc5ffb531 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc736a1e0 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc99a512e query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce152f34 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce500aba snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd100539f snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3814bf0 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8a58846 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9dcdeb7 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb1ce590 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdc774c56 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf8bcc49 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe33b2234 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7903de7 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe894af3c snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8e6ca90 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xea96342a snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeca5c3ff snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef27a028 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef64d54f snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf403e169 snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf433e5a7 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb384b1a snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc31af66 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc496171 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xffd4729b snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x1e03bbc2 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xa92cf5e7 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x8553c30e v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x0d82b171 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sn95031 0xf1257d38 sn95031_jack_detection +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x0df6597f tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x6bf00d11 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x28ff0d42 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2c50dbdf twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x80374f77 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xde0df496 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xeef9784d twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x37e52258 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x150908ce wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x1d8e41fa wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x1da942ba wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x40403f18 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x594c7aff wm_hubs_hpr_mux +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 0x60901914 wm_hubs_hpl_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 0x7b9ee448 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe67c7063 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x7cd81f1e wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xdd992464 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x0bc6e0b3 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xa2f78dfb wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x567a0d03 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xa5389f0b wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x1915e267 wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/mid-x86/snd-soc-sst-platform 0x2428fb01 sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/mid-x86/snd-soc-sst-platform 0xc35cc424 sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00ccbe39 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d3a08e3 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e36d56a snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10c493b4 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13a60eed snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14401755 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x144cb617 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a5f45ba snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c039c1e dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1c42d0f2 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x207a81c4 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2124c383 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x235777c2 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2504ef29 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25285be4 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25a9be9f snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27d24a47 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28c585bd snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29eac70e snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x329962c1 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34e452dc snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x379d1bbd snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x396969ac snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b1b2a9b snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3be50a3c snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3db64983 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40d9aa81 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4375508c snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4715fbfe snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b1de175 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cae38e3 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d3477b7 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dd3c323 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54c5d955 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c3461c4 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5cf52d6c snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d7a96df snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x622d71af snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65641ca8 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65d02b56 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66730f1e snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x67749b5d snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x680683ba snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68f97380 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x69f8e5ae snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cb73d2a snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d200765 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e602a96 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6fdbb9c1 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7030aec4 snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73050209 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73eb65b0 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7491c568 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x775b52e5 snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b6d9bad snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c58f6c1 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81468fee snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x816ad898 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83342c6e snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83e66610 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x856b847d snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8897403d snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d5e7417 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d88dd5e snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e18323d snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e5efa07 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e97d296 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90d62b55 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9298c573 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92af1f8a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94f9d4ab snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96c5e16a snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97483d80 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d68c6ce snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d93119d snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9e41c886 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1b1bdb7 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa2375f0e snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa34dde02 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6465dac snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa859f7bb snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8b2523a snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9a64cdc snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaaff8cfb snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab57c0cc snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabcee4b2 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xacb27234 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4d7906c snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6d154bb snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7967a8c snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7b2fc85 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb2e5710 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbbfcc15f snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdf2f638 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6698d9c snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc682dc45 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcaaad23e snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbd42878 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce928d68 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf4c104a snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcffddea1 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1111991 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1413d8d snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd601b5c9 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7338c5b snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd828acd9 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd85da561 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8c60310 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda6c3ea4 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdaa08b74 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb4b679c snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc266f26 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddd9925e snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe35435b9 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe382d37d snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3e8015b snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7b60fd2 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef8e942f snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeffb06d9 snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf06b1df4 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf10d1770 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf15d42a0 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf29b33f8 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf54ea83c snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf91d5b69 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x005d72d2 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00791ae8 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x008b0d15 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x00956802 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x00a4ae0a transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x00b6c993 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00c5411c tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x0109fa29 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x010db10b sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x014e4b59 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x016671d3 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x019bb9a8 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01cc2586 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x01d11a05 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e4d5ae nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x01f1d1f9 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x021947c0 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x023f6ee4 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x024043b3 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x024cc21e fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x026211e2 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x02876909 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x02c467c5 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x02e933e6 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x02f49ac6 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x0339d033 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0343e57a each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x0345ea9f rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x03882d6f driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x03e2efcc dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x0471db55 wm8350_set_bits +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 0x04cbefd4 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x04d69462 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x04ef8a1b __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x053bba45 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0577aa56 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05f17283 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x05f84e71 __class_create +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 0x06765e23 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x06963c36 intel_msic_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x06ab47b3 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x06d22282 md_run +EXPORT_SYMBOL_GPL vmlinux 0x06db0c71 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x073551ca attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x0758d905 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x078c0137 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x07a98a6d simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07d20a36 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0x07f300c3 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x0847a537 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0855024c vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x0858bb06 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x0865f535 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x086b187e tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x087c2524 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x0892c1e8 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x08bea3ef power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x08cf9580 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0909661a dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x090eb935 zs_free +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092aba9f sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x093e4517 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x0962d0e8 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0975f5b8 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x0a08b412 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0a3c7067 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a86a9b3 device_create +EXPORT_SYMBOL_GPL vmlinux 0x0ac34209 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0acfeaa5 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x0aefa953 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b19ed7c apei_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b643277 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x0b98b7f5 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bcb022c ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c120df9 print_context_stack_bp +EXPORT_SYMBOL_GPL vmlinux 0x0c21cacb cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x0c2abe8b ref_module +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c343a7b bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x0c6e188a disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c82b111 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0d35d494 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x0d36ff8b bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x0d5a1b50 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x0d6eb8ab vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0dbe1829 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x0de628f1 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x0dea2d67 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0deb0ade register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0x0df5af3a cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x0df95774 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e19b210 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x0e3e505b pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x0e50914e cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x0e595304 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x0e770427 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x0ea962a5 register_mce_write_callback +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ed84c12 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0eede84e tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x0eef6dc1 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f1aa1c2 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0fa138de xen_hvm_need_lapic +EXPORT_SYMBOL_GPL vmlinux 0x0fa46f0c wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0fa6b190 d_materialise_unique +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 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101d4dcd regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x10210d75 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x10214e8b dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x10273254 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f59f62 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x1110960a led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x115c66ad pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x117123a3 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11c3bf3c input_class +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f59b39 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x123ad178 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x123bc9e8 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x124f2056 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x1250ce4a platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1258d9d9 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1293643d adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x12a8e204 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x12b67b2b wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x12bfb26b sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x12c15049 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x12d0aa0e inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x12d544f5 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13058388 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x130f4d28 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132b64ea fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x134faf36 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x13867c67 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1386b99c inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x13abf850 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13b98abd virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x13f17c9e regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x13f3e3fb klist_init +EXPORT_SYMBOL_GPL vmlinux 0x14054c65 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x142ae8e4 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0x142f1bc0 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x1448c0c9 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0x144f767f inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x145784d1 gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x14622464 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x14663668 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x14f8ff54 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x15010e1f arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x15304626 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x153a0c91 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x15568631 lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x15892417 async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1594acb9 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1595cca6 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x1598dc9d unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x15b0606e e820_any_mapped +EXPORT_SYMBOL_GPL vmlinux 0x15b70fdd dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x15cd992e rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1603c49f n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x161b4f8d fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x162e9c60 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x1672574d dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x167b69c6 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x16ad5615 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x16c203f5 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x16c57b0c unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x16d01dd8 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x170e7d36 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x1715ac95 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x17169728 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x171b577b unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x172e72d4 vdso_enabled +EXPORT_SYMBOL_GPL vmlinux 0x17518b47 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1758f654 xen_swiotlb_dma_mapping_error +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x17b6ea5b vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x17be9d47 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x17c8431b blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x17f78860 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x180861ed sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x180b955a digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x181ba943 usb_get_current_frame_number +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 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18a3d9f3 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x18c8ccd6 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x18c9f605 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x18ca8c5e wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x18d02645 fat_remove_entries +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 0x18fd6e1a fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x191043f0 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x19496284 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1959cdc2 __scsi_get_command +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 0x19b37f72 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x19eb375c fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x19f68156 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x19f86fb4 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x19fbf93c ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x19fd848f single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a1f44e2 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x1a2ca188 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1ac0e048 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1afa077f power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x1b1f2bda speedstep_get_freqs +EXPORT_SYMBOL_GPL vmlinux 0x1b242b69 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x1b2a5a14 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x1b417630 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x1b4d7c32 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b7adb01 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1ba73ae5 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1bacdc7b ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x1bb21345 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x1bcb9ed5 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x1c1292de usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x1c206ab4 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5beb68 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8cd5dc tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1c8d5422 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x1cb26cb0 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x1cd507a4 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1cd89a5a sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x1cdf8b78 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x1ced3f67 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x1cf178f9 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x1d2b1e03 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1d3fff1c zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x1d459685 xstate_size +EXPORT_SYMBOL_GPL vmlinux 0x1d485573 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d739e1c xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x1d88f93e __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1db86280 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x1dc73c8c zs_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x1de2a49f ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x1e02bd74 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x1e175dd3 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e46888d ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x1e61dc53 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x1e6e7afa pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x1e7181a7 simple_attr_read +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 0x1ec6a83a usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x1f3efa0f s5m_bulk_write +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 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x20159020 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x2060b2ed bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x20953c5f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20cec5dc key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x20dab947 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x211b5592 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x212e5c8b usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x21369ee8 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x2141ae6d sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x214f8481 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x21aa3e13 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x21b3f73d srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x22094290 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22ab42e8 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x22b76666 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x22c3fe9c flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x22cb95bf fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x22e85e41 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x22f29e27 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x22fe9a90 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x23086c28 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x230bb624 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x234b655a da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2381be7e register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23a43571 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x23f285c7 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x23f78fe4 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x23fc5bc8 device_add +EXPORT_SYMBOL_GPL vmlinux 0x240580a9 xenbus_probe +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x245262ce pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x245c6cc9 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x24758b6f scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x2476e26a ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24a11638 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b73519 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +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 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x2568a11c rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x2575dfab crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x257ad627 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x25b97cf3 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x26423707 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x26ae90e2 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26dc2161 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x26eb9e4b dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x2702f280 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x2715c3eb dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x2741106e usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x278ec596 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x278ecd16 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x279ca9b3 xen_swiotlb_map_sg_attrs +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 0x27fd0bd2 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x280cabe4 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x280e4516 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x28185e9d wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x2843adee perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x284669d4 zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x286cc2a5 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x28805ab2 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28c52f5a subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e2b4d0 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28e9c2f4 xen_swiotlb_sync_single_for_device +EXPORT_SYMBOL_GPL vmlinux 0x28fcd20f usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29059b53 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x291d5153 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x291d56b4 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x293f073e vrtc_cmos_write +EXPORT_SYMBOL_GPL vmlinux 0x2976818e simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x2986c635 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x29c5ba23 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x29faa7ef md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x2a24e077 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2aa617cf mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x2ac36de7 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2b097dfc device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2b0bec59 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x2b1e20ae fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2b46f062 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x2b4d7679 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x2b54e167 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x2b638af1 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x2b67f096 speedstep_get_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2b87ec38 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x2baa0565 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x2bbb02ab sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x2bd66f01 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x2be6155f dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x2be7fb8e disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x2beb9428 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +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 0x2ca28198 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cba736b inet6_destroy_sock +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 0x2d1c8263 dma_buf_kunmap_atomic +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 0x2de6d9f0 wm8994_bulk_write +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 0x2e5b756e cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2e8b6c8c __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2e91515b pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x2e963e8c debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x2eb76e2f transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ef0dce3 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f5d8ec8 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2f977b1a task_xstate_cachep +EXPORT_SYMBOL_GPL vmlinux 0x2f97de38 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x2fa42838 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x2faf7889 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2fb0969f pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x30386e21 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x3051bd3f timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x30714b10 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x307d4993 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30a8cb7a page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x30adfbee cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x30caf926 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x30cf28e7 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x30dcdc67 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x3101ae1b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x315a1a92 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x3183be7e debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x318920b1 register_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x319d05fe usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x31b09ab5 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x32010521 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x320e1105 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x322260d2 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x3225659c cpufreq_get_measured_perf +EXPORT_SYMBOL_GPL vmlinux 0x3241a99b perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x324626f6 pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x324e490a yield_to +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x32923c4d fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x32924a4d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32e52e5b cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x32f24a69 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x32fd4b62 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x333228ec intel_msic_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x334deb02 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x3380ec6d fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x33936ea2 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x33950d59 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x339576b0 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x33a98b3c cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x33b96e5d apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x33ff3d81 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x34076a7b xen_swiotlb_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x34162ce4 swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x344b92fb regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x346c5ad5 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x3482a926 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3494900f __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34e61ff1 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x35227b73 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x357b187b gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x35ca66c8 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x35f3ae51 unix_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x36066507 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x360d3c3a dev_pm_qos_remove_notifier +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 0x36595a3e debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x366df3b3 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x3686b7c1 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x369acb4c crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x36ab29b5 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36ba2551 intel_scu_devices_destroy +EXPORT_SYMBOL_GPL vmlinux 0x36cbc4cf device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x36ec7321 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x36f0e965 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x36ff9fd7 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x372d1f0c pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x377266f2 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x37751584 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x379344f2 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x37a252b2 usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x37d01a55 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x381e23ae inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x38304aa6 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x3841ab01 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x38620e38 gnttab_grant_foreign_access_trans_ref +EXPORT_SYMBOL_GPL vmlinux 0x386f9adc pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x38989700 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38c204a1 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x38fbc7b0 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x390d79aa cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x394246ca pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x39670247 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x39b0b1a6 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e670aa kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x39e97749 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a38dc65 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x3a3c2b32 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x3a4863fe sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3ad4bd66 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x3adb532d crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x3aecf944 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x3b7145bb apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x3ba4c531 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x3bb48dec led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x3bb5f081 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3bcfd84c blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bebca32 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x3c3402c9 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x3c47696b crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x3c4fe9e1 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x3c747ae2 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c9c7e45 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cec93f2 device_move +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d0f57d7 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x3d20b97e sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3d2c0d4d __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d390ce1 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x3d4112ee relay_open +EXPORT_SYMBOL_GPL vmlinux 0x3d546888 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3d870467 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x3d99a9d2 rio_mport_read_config_16 +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 0x3de7ce77 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3def2216 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x3dfcb599 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x3e064125 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x3e128c71 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x3e6a83c6 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e757637 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x3e791604 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x3e7c0320 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x3e7f0dfc __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3eb07a96 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3edfd50d ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x3ef0c856 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f120d13 css_id +EXPORT_SYMBOL_GPL vmlinux 0x3f1ca6c5 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x3f229c4c oops_begin +EXPORT_SYMBOL_GPL vmlinux 0x3f3ad15e sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x3f74bb96 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f922442 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x3fa03019 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3fa68177 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x3faa6ac3 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x3fdd26dd zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0x3fe92d0a mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x4002cade iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x4014da18 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x401e0a92 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x402b5d73 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x40322be1 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x408f29b9 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x409b6fd9 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40cd761d vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x40cf5db8 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x41159f3f exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41233337 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x413b4f2c acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x4145f087 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x414b4ee9 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x416769ca pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41ac794c relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x41aed5ed fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x41e08b0a queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x41e36ca0 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x4245db27 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x426014f0 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42a34a8b shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x42a72977 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x42afd112 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x42c989ff iomap_atomic_prot_pfn +EXPORT_SYMBOL_GPL vmlinux 0x42d7b0df usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x42f98710 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x4319b7f9 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43386cde usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x435e6c6e crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x436da38a crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x43977a59 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x43a26bf8 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43c2194d pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x43db95a1 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43fabe2d hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x44274a46 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +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 0x44cc9c55 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x44d00dbc devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x44ec4dae pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x4512b086 intel_scu_devices_create +EXPORT_SYMBOL_GPL vmlinux 0x4519682b ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x4541fe5d pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x455cb90f stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x4568c58e rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x4570cdb3 tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45819276 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x45adb8cb usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x45b3986f fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45dfb016 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x45fa2f9a wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x460446fd dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46079032 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x4621bab0 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x4635b465 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x466a9f83 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x4671fc99 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46cad91e mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x46e635ce mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47c8a833 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x47e88a1d dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x47f95683 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4847b5cb fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x48682db9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x488e7da4 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x489bc2e1 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48bfffc1 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x48d4df2d driver_find +EXPORT_SYMBOL_GPL vmlinux 0x48d587b8 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x497caec4 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x498838e4 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4999e451 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x49bbfa0e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x49bf26d8 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x49db8db4 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x4a00765d get_device +EXPORT_SYMBOL_GPL vmlinux 0x4a05fa6a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x4a2c8226 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x4a45bc23 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x4a5ddecd zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x4aa8a8c1 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ac82a3e usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x4ae1d50f xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x4afb573b vrtc_cmos_read +EXPORT_SYMBOL_GPL vmlinux 0x4b12b52b fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x4b2a9988 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b488d30 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6265b8 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4b81a955 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x4b85550c __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bde1527 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4bebffbe dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x4c10d14d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x4c16f764 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x4c58cbbb xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x4c5be174 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x4c5cf56e pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cefe3a6 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0x4d3074df rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x4d529c02 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x4d6f7bae fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x4d8f8d9e srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x4d902214 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x4dac507a pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x4db8747f uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x4dc0683b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x4dcf6ee5 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x4de0aca9 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x4dfadb55 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x4dff3a38 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e49c9bd blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x4e57723d apei_read +EXPORT_SYMBOL_GPL vmlinux 0x4e66edc8 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e89cf0e ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x4ed6e906 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x4eec5f4d ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efaa814 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x4efd6806 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f2f6938 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x4f3006fd hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4f3890e2 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x4f3c5f9f regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x4f40b523 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x4fa75363 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x4fa91197 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x4fa9ba99 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x4fad7ef8 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4fd3a04f ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fdf462b clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x500053e4 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5001fc5c xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x50245138 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x5032b3e6 bio_blkcg +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 0x5087a8d2 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50ba3bec acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50e61bd9 pm_wakeup_event +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 0x5108b3fc acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x5142ea47 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x514c80fb tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x51827ae4 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51cbf517 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x51d59819 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x51e58d81 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x52212010 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x52463a25 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x526fee42 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x5286f9b3 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x528d24ec device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x52c755b7 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x52d090f2 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x52da3e33 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x53001559 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x53174ef0 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x5322d8e8 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x5330b5e2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53605ed8 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x536ebc72 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x538f8a5c __pci_reset_function +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 0x53d372fc driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x53e5f624 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5484eda9 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x548ee4f9 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54cd9b04 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x54e4502e bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x54f74436 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x552f7a51 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x55346dba spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x553923a8 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5551c680 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x55526907 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x5571f44b blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x559a4c0d __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x559cff0a led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x55a9601a platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x55d15a9d device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x55d8efcd sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x56204a7b pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x562775ab bus_create_file +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 0x5641c480 shmem_read_mapping_page_gfp +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 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56ad6c5e part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56c06af2 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x56c4ae94 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56ec5781 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x57173afe tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x57344e84 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x5738bbaf debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x573b0521 xenbus_dev_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x57538b5e usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5774468f device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x5779d445 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0x578573b8 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57aba04e fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x57bd967b platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x57be368e inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x57e95cba stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x58008bc0 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x582dd95f usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58606f4a fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x58bd6026 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x58f16df0 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x58f1e08b devres_release +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x5907f85f bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x591a0263 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x5983a797 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a063909 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a41638c __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x5a421f0d sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x5a441ebd efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x5a44ba3b virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a4867c6 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x5a6a85c7 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5ae0eb9d rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x5aebd5d6 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b577791 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x5b69986b register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bc46a40 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0x5bde9ade xen_swiotlb_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x5be1f3b4 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x5bef7826 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5bfc6e06 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x5bfeff28 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x5c058b4b add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5c204ee3 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x5c5768aa usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x5c5da411 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x5caf5307 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5cb80dcf input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x5cf5923c ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x5d090dba raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d2ed152 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5d366dec gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x5d46a77f tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x5d48a650 m2p_find_override_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d87c067 register_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5d8bff87 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x5dc8cea6 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5f1835e3 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5fdc8abd posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x5fdf043d __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x60044352 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x603b0727 m2p_remove_override +EXPORT_SYMBOL_GPL vmlinux 0x603e6df8 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x60481843 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x604a112d regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x605205ac usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x6054bafa wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x605e7b96 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x606b804f pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x607cb4bf __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x609478bb rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x609a3bb6 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60f14bc0 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x60f1a670 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6116d091 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x61183b79 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x612a8ef9 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x61338b0d rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x613ef5f8 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x614688c1 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x616b7f9c __mrst_cpu_chip +EXPORT_SYMBOL_GPL vmlinux 0x6190871a tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x61b9038c iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x61eaa1b0 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x623803c8 hest_disable +EXPORT_SYMBOL_GPL vmlinux 0x624367db subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x6252f1d2 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x62824e61 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x62963fc0 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x62f61357 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x633ce2f8 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x6345099b ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x635ec980 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0x63877c60 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x63b02efb crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x641a2967 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6434fc07 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x643b157b md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x64450aee tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x649a1af9 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x64bb7266 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x64ed74cb pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x64f49179 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x64fd4bbc watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x653555a8 user_match +EXPORT_SYMBOL_GPL vmlinux 0x653cb02d intel_msic_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x6592c5e7 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x65a34c41 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c6a338 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d26e6f ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65df5e22 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x65eca383 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x65f1d023 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x65fa533b usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x65fa709a set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6616c7e3 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x662335e2 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x663c16d6 gnttab_grant_foreign_access_subpage_ref +EXPORT_SYMBOL_GPL vmlinux 0x664f7d31 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6664b21f default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x66670485 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66ca4d50 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x671c18a5 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x671f7be6 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x6724c76e subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x67512f1e regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x6757c5c6 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x675f6a74 __css_put +EXPORT_SYMBOL_GPL vmlinux 0x678a3ded evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x678acaec rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67ab3d48 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x6830bd5e pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x6838b00f xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x684d8178 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6865a2be usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x686b5436 xen_swiotlb_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x68710251 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x68a27aa4 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x68a4c04e kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x68a71e80 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x68cadbf0 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x68d83835 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x68fdcfbd scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x6901c0d6 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69274dba unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x69349bc7 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x693aff8c xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x695511c9 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x698854e8 cpufreq_frequency_table_cpuinfo +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 0x69c03ee3 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e1d98e pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a038a07 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x6a3dba9a __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x6a45d20d inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a79bf3f dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa24d14 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6ab75a20 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6abcde41 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x6ac2ad89 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x6acad21f acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x6accbfe6 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b3b0d04 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x6b56a55f platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b94c408 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6bb1e9e4 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x6be3daa2 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x6bf85334 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6c1251fd apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x6c338601 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c825308 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d415996 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x6d4ba4a2 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x6d5ce6d4 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x6d7af81c ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x6d8226b8 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x6df3502b dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x6e05b52a blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x6e0db4d6 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x6e1b631c __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x6e278988 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x6e3d1854 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x6e480e2b regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e782c23 iomap_create_wc +EXPORT_SYMBOL_GPL vmlinux 0x6e83d345 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x6e861656 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea0d0c4 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6eb50796 blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6ed3415c ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x6eda9749 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x6eebd88d __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6eee1187 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x6efba653 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x6efc10c3 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x6efd9467 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x6f09cb5c blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x6f0ef8c7 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x6f0f9c86 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x6f1a5f31 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f66ddb2 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x6f85070d modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x6f998eee __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x6fbc7afe xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x6fd361d8 tpm_dev_release +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 0x70578cb0 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad8134 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70dfe2c5 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70e693d9 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x7151dffa power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x717240ed user_describe +EXPORT_SYMBOL_GPL vmlinux 0x7174582f crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7181561a usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x719e9128 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x71b86537 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x71c3a8b0 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x71f85a28 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x71fbbc29 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x721a6c97 srcu_init_notifier_head +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 0x72820e4f print_context_stack +EXPORT_SYMBOL_GPL vmlinux 0x72855659 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7285f84f unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72c93d7f sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x72f7a1e9 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x73013896 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x73215257 xen_swiotlb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x73303ba8 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0x7342b84a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x735b1cd6 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x738fd248 intel_msic_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x739de711 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a809e3 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d10cb0 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73fa9ffb device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x743025c6 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74408c35 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7441dc6b regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7454efe9 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x7492c0d6 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a0c9c4 vfs_lock_file +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 0x74c91903 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x74d19985 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x74deb10c used_vectors +EXPORT_SYMBOL_GPL vmlinux 0x74f38a96 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x74fdd29e driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7534f875 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x753fc64b da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x7557b5fd rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x756450c7 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x7579f22b tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x757ee7c6 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x759826ea fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75eff258 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x7610f838 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x76877ebc ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x769b945b perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x76a048d6 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76de3ebc tpm_bios_log_setup +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x773774ca __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x773f4c75 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x775a6ef5 kvm_read_and_reset_pf_reason +EXPORT_SYMBOL_GPL vmlinux 0x777b7bab usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x7790adc0 aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x779c04ba rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x77c09855 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x77d18145 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x77d69555 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x77e7865b acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x78311453 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7834c482 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x7846f2ae pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0x786678d3 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7866e06c usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x786c23f4 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x787cd43a relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x787cf7f4 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x789a8ec5 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x78a00740 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x78a7a6a4 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x78c31fc4 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79508dc2 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79962342 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x79a71c48 kernel_stack_pointer +EXPORT_SYMBOL_GPL vmlinux 0x79b32fb6 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x79b5f144 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x79c2bff6 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x79c2f2cb usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x79d027e3 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x79dbaffd regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x7a00985c ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7a2ded9a rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a4c1438 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x7a6f5e8b usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7a7c5175 amd_erratum_383 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aae4555 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x7ab3ca18 eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x7ac8e5b0 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ae0ff6a bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7aeec1e0 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b69189f bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x7b78c2b7 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7bb811ac regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x7bbf7702 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x7c207da6 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x7c5020fc usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7c5a7883 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x7c5e4d1c sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x7c7c4ce7 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7c882596 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x7c9d3502 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x7cad06bc xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0x7cadd220 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7ce0f989 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cef4d6a irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x7cfdfefd ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x7d10702e __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x7d190f0a tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x7d2f7500 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7d307852 pxa_ssp_free +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5a3f36 dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x7d5bb3a8 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x7d6d9edc regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x7d8dd6a6 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dadb29f ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e162d14 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7e1ecdc5 register_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e3d8b69 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e68abdc tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x7e8eb9df rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x7ec22f9a apei_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x7ede89aa device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x7ef96394 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7f29ed9d crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x7f41e663 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7f4f2deb tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0x7f845c50 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0x7f86d4b1 fpu_finit +EXPORT_SYMBOL_GPL vmlinux 0x7f9205b4 hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7f9dece2 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fa872a1 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7fe3114c inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x800f2d56 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x801ce998 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x803fd0c1 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x804d9b53 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x8080c31f platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80a4ebe1 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x80b58603 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0x80c6c6c7 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80f9bd8e pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x81047a87 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x810d9231 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x813b0db9 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814f686b ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x81def195 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x81e3f5e8 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x81ecba77 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x82140d91 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x821d3f95 tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x82525332 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x826cc835 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x82771744 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82a3b8a6 proc_net_mkdir +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 0x82f776b7 gpio_export +EXPORT_SYMBOL_GPL vmlinux 0x82f89884 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x83504b4b usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x83700a43 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83ebd0ae dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x840acc6f sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x840d9c65 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x842a0d6f xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x844c5cb8 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x84a7d082 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x84b546bf rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x84ce12ce usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x84ce9d33 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x85031896 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x850e7f19 xen_swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x854f9e3a inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x85526eef usb_show_dynids +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 0x8593fbe1 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85a8ec26 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85d6ace2 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85dea3db crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x860cbb18 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x862f98a3 xen_create_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x867542f7 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86aa16e6 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x86ba9f83 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x86c0f66d driver_register +EXPORT_SYMBOL_GPL vmlinux 0x86c7eda4 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x8703dc99 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x8734eab0 virtqueue_kick +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 0x876b4b01 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x878c0801 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87c97bc3 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x87cf0a90 injectm +EXPORT_SYMBOL_GPL vmlinux 0x87e60ae9 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x87f84955 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x8831f8b1 kmap_atomic_pfn +EXPORT_SYMBOL_GPL vmlinux 0x8887eef3 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b0844e btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x88c2721a fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x88cc6715 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x88f2a164 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x891c1dfc sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x89269601 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x89354774 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x89502f0c gnttab_subpage_grants_available +EXPORT_SYMBOL_GPL vmlinux 0x8956aeae apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0x8968b94c tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x89693614 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x8983a08a posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a6fb824 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8aa968f9 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8aec360a __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8b04668e bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x8b37163f scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x8b66f9e0 xen_platform_pci_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8bb5aa6c debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c06a108 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x8c1a6524 xen_swiotlb_sync_single_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0x8c38074a unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8c4db1b5 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8c57e19a pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x8c6baf17 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8ca7bd09 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x8cc25127 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8cc65e54 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x8cd9f935 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0x8d100b90 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x8d1348c6 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0x8d307d61 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x8d59fb9c regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x8e06c666 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x8e196820 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x8e3d95e5 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8e9f8dd0 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x8edfc605 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x8ee31dfe spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x8ee93b72 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x8efc4282 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8f361cfc __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f5b34a6 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f8982cb sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x8f8ac682 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x8fa7da75 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x8fabc705 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x8fb576b8 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8fd89d8c ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x8fe78bc7 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90525113 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x905dc9d4 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x9079e808 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x90942cd0 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90b4b8d7 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x90e795f5 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x913c95e9 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x9159efe8 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x916a88c5 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91966964 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x91b428b2 rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x91c18084 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91cd1c9c tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x91cd670f device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x92393a83 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x92585fac unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9259dcdd md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0x927c2158 xenbus_dev_cancel +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 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92ef8ab3 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x92f06426 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x9312d80e evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x93215a16 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x932da817 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x934af37f iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x935d165e ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x936ca9d0 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x937a2ad9 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x9386a1e0 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93ebda53 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x947de5eb fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x949271ed irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94c318be apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x94d156ad gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x94ec6d05 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9531cf6e xenbus_dev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x959a6e02 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c556d6 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x95da94ca perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x95e845de tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x9604af1a __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x961b4b49 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x962aa799 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x964add15 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x96603ff2 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x966d16af led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x96774cff ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96aaf265 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x96b07e26 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d5e168 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x96d8f2c9 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96efb631 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x97353ff1 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x9744fec9 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x97547b69 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x977f68e1 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x97b093dd btree_update +EXPORT_SYMBOL_GPL vmlinux 0x97e0e3fd unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x97e819ab usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x97f9c45a trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x981a0e14 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983568d4 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x9842f28e blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x98470836 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98aa8f9b init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x98ac18bd ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x990e18ed devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x991761f1 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9930ea2a tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x996a2ab4 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x997577d7 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x99ad235b unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x99dcc378 xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x99e378d8 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x99f12b63 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a6f8f5d sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9a9824ef btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9aaa726b blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ae0aa87 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x9ae2fd8e bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x9ae63ae6 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9aecc6b2 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x9b10b984 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x9b2eeee1 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x9b8958c3 usb_usual_ignore_device +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 0x9baea031 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x9bd72b78 apei_write +EXPORT_SYMBOL_GPL vmlinux 0x9c16163c uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x9c399432 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x9c46337f dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x9c4d5989 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x9c4e5cb9 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x9c646e1d bus_get_device_klist +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 0x9d0de1b8 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9d353a76 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x9d3645c4 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9db56890 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9dcfaf53 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x9deca68a xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e0314d8 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9e231ab2 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x9e5d807e regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x9e5e7b1d rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x9e82bebf da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x9e8312f9 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x9eba5600 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x9ebff902 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x9ed307d7 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x9eda7495 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x9ee865a2 pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0x9f118cd9 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x9f211208 register_efivars +EXPORT_SYMBOL_GPL vmlinux 0x9f29601a atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9f2f37ba debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f5f45dd __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x9f67e736 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x9f7af331 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x9f967787 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x9fa0c206 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd9666c usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x9fe8025c unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0xa00ec688 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa01db1ca tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa01e096b virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0xa0208e02 irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa06401a1 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xa077acac __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xa0972ffd regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa0c53576 xen_swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa107eecb virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xa14db67d platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa15f1ce1 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa174fb17 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xa1abb0c3 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa1b0acc8 tpm_bios_log_teardown +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1c97e75 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa21ddb67 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xa23ad8c2 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0xa24f38c0 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xa261796c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xa2952635 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xa2986cd1 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa2c79ca6 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xa2ca0dd2 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa3470bb8 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa375a1b6 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b2a84d xen_swiotlb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa41f44de dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa455d5c1 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0xa4602f9f pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4946c98 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa4b04d8b tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xa4b7517e ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa4ca0d4e unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4f83a60 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xa543d7cd sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa549efcc class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa5982e0a devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xa5b6652e trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xa5bb95c0 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa5e9a033 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa64ff96c eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xa65b8c54 blk_queue_lld_busy +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 0xa70742b8 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa722a819 cpu_has_amd_erratum +EXPORT_SYMBOL_GPL vmlinux 0xa79e98c8 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xa7aae053 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa7c4a9e8 init_fpu +EXPORT_SYMBOL_GPL vmlinux 0xa7d72050 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa8038d0c generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xa8191cda sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xa82407d1 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xa838b6b8 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xa8604444 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xa8773aa5 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xa8b82a53 xen_destroy_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0xa8d41a91 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa8d51202 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9072fdc ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa9208264 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xa931410c pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa9317566 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xa94f349a crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa99f34df attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xa9a82042 gnttab_trans_grants_available +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9d3b480 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9f863d2 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9fc3f54 gnttab_grant_foreign_access_trans +EXPORT_SYMBOL_GPL vmlinux 0xaa096aaf cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0xaa2212ba power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xaa24eeae cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xaa2558ac m2p_add_override +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa3904fe ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xaa3f13f7 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa4f1237 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xaa5336fb edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab1297a regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabed9c8 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xaac0ba2a ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xaac703e9 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xaaedfe1e da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xaafbc7ff driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab475a8e fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xab5838dc serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xab682dec platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xabb0fade xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xabba3bbb crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xabc47f60 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xabd07051 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xabd387d8 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xac14dfc5 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xac3c3fbb ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xac56c56d fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0xac742b49 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0xac7525a1 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xac78a212 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xac8a15bf find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xac9ce195 kvm_async_pf_task_wait +EXPORT_SYMBOL_GPL vmlinux 0xacafa8e7 vector_used_by_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xacb6c294 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xacdfb8c3 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad817989 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xad843bd6 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xadcf9b20 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xade92753 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae07b294 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6c4432 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xae7c5411 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0xaefb4247 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xaf26fd5f gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xaf31d33e apic +EXPORT_SYMBOL_GPL vmlinux 0xaf51c869 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xaf6635b8 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xaf6a9404 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xaf8abe91 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xaf98889b pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xafa2b7b9 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xaffeeed7 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xb0402358 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xb054a8c0 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xb09713a9 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb0adee56 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xb0b7351f serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d785bd dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xb0ed3610 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb129a01f ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xb1369fc1 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb16f29f4 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb190992c inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1a038cc ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb23b8665 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xb25b6cd9 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xb26786c1 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xb27a051b cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0xb2828183 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb289f18d usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xb2ad884a handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xb2c9cdb4 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ec120d ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xb2ec94aa shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb317b5a6 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb326c0ee usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xb35a63a1 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xb380a2da task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb3838b85 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3f5004d regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xb404ffc5 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xb40824f6 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb4450259 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xb4783532 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb499d642 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xb4b3d88f ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4e887f0 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb55a5659 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xb578e3d7 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb57bfc46 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5aeae8c devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5d2b1d3 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xb5d8913d register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb60fd2a7 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb6120301 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb650b509 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6536e8f rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb67c64fd __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xb6901ae2 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb69236e1 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xb6a6a208 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6bc49a9 __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xb6c19e4e adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb6c77f2e platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xb6deca9e ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xb6e900e4 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xb6e9a679 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0xb7025069 intel_idle_cpu_init +EXPORT_SYMBOL_GPL vmlinux 0xb7059483 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb734650f get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb75286ac inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xb75d662a hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb76544ee stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xb79349dc vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xb79e2aaa devres_remove +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 0xb80eabfd transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb845209a find_module +EXPORT_SYMBOL_GPL vmlinux 0xb8535e11 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xb86bcceb klist_next +EXPORT_SYMBOL_GPL vmlinux 0xb879b844 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xb87d7ac1 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xb8864332 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0xb88864df disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb8bc1156 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xb8cb51da ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb8cf65ea pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb912e8d8 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0xb96b53c5 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb976bac3 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xb97dde2d get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xb97e2483 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +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 0xba3260a6 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xba791aff xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xbaa6a7bf usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbab7d653 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbae6fca4 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xbae7fe3d tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xbae965f0 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb3d0418 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xbb3e8828 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xbb3eb460 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xbb58b814 iomap_free +EXPORT_SYMBOL_GPL vmlinux 0xbb6584fc cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xbb7a21fd sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb9f154b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbf202a3 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc2bf721 blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0xbc49b54e tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xbc52aaaa rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc7c3b45 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xbc821abd usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbc982eea devres_add +EXPORT_SYMBOL_GPL vmlinux 0xbca0201a sfi_mrtc_array +EXPORT_SYMBOL_GPL vmlinux 0xbca238ed inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xbcb248a2 user_read +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbcf05e97 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xbd09147d blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xbd0a0c12 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xbd140078 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xbd16aacc power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd4f01bf tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd7088bc platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xbd9f579e rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xbdb27929 input_ff_create +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 0xbdf739a1 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xbe124ffd tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xbe14ed43 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe299c50 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xbe514686 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xbe5648c6 device_del +EXPORT_SYMBOL_GPL vmlinux 0xbe7e2fd5 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xbe8d59d5 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xbeb00b90 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbef4a5f9 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xbf37478b fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xbf4cd49e md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xbf63ef65 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xbf95b0b6 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfc89573 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xbfdde8fc fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xbfdffe04 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xbfe37434 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xbffcb3b7 acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +EXPORT_SYMBOL_GPL vmlinux 0xc016815c usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc07dd47d pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xc08171c3 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc097f71e vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xc0a48b4d __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xc0a55cfd tps65090_read +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 0xc0ec7d43 use_mm +EXPORT_SYMBOL_GPL vmlinux 0xc10372ec ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc11b4470 balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc12b6b6b pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc164642e xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc19edebe ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xc20973b4 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc20d123c ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xc20f0391 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc292d77a tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc395ee35 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3b974af pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xc3bd4952 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xc3fea19b sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0xc4031455 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xc414b1ca dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4373f03 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xc45bad16 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xc461b976 rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc4774b40 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc48f7df7 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xc4b1986e xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0xc4c55b14 put_device +EXPORT_SYMBOL_GPL vmlinux 0xc4e3510b fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xc501b2fe security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xc512bdc7 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xc5171653 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xc52a3674 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xc53471ed inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc53d78de sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xc5504e50 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xc5afe5d9 adp5520_write +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 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66e33c8 dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xc67682a9 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xc68b5019 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xc6b54f1f virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xc6e15d71 xen_swiotlb_sync_sg_for_device +EXPORT_SYMBOL_GPL vmlinux 0xc6f0ceaf __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xc7002ac4 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0xc726ad2c led_trigger_unregister +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 0xc7ab1750 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xc7c5510a ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7d0d713 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0xc825153e usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc84ea5f7 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xc8626e68 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc86d5237 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc88f5940 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc8968258 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc89924a7 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8dac30a devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xc8de9dc9 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc90f6e52 tty_find_polling_driver +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 0xc97490a9 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xc9886f89 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xc98e1958 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xc99b5a67 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9cdfc8c tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca02e9c5 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xca065edc rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xca1c7740 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xca41007b pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xca6c9d56 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca80f077 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xca81ea9a xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xcaa9007a usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcaeed4ca dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xcaf8fccd i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0xcb04dd81 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb21479d rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xcb4027f9 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcb537095 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcb62dbae __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xcb697d40 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcb8715f8 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xcb91cc6f intel_scu_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcbce34ff rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xcbd80a80 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xcbe4fef3 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc3da32d aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc736194 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xcc898280 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xcca1666d ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xccaed1f1 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccfee247 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xcd01b895 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcd211b96 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcd5075ea anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xcd78ffac unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd8bcf2b xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xcd8e8851 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcda387ca seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xcdb77420 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd19d2e free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce2a3332 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xce2ba65b clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xce3cc269 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xce43a665 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce88c6ea devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xceddc6aa i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xceeae8a5 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xcef9018e i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xcf74aa78 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xcfad48a7 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xcfb5871c irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc0fca3 ata_sff_drain_fifo +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 0xd088ebe2 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xd0bad2eb xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c2abe8 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd0f9c855 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xd14484a0 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xd148f19e class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1507e59 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0xd1570f90 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1a2fcd7 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0xd1acae87 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1cb63a7 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xd1d11e82 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xd1d1fd79 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xd1f7787c clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xd1f7ecc6 cpci_hp_register_controller +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 0xd2b284df xen_swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xd2c1c323 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xd2c58ab2 apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0xd2d4dac8 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xd2daabff xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xd32ae6be pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd346949e proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xd35c5411 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xd364afae remove_irq +EXPORT_SYMBOL_GPL vmlinux 0xd3698c53 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd38364a1 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd3aba231 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xd3e0e5be ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xd3e39433 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xd3e6528f hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd3f40ee7 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40f2ae1 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0xd469f505 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd4a86aa0 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d15843 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4e73ce8 usb_deregister_dev +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 0xd561eab7 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xd570ad48 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5eb39ea usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd610b084 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xd613d644 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xd630a106 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67f2c72 virtqueue_add_buf +EXPORT_SYMBOL_GPL vmlinux 0xd67f5217 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd6888369 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xd6909430 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xd6c1e365 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6c39339 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd6cc8992 wm831x_auxadc_read +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 0xd7121bf9 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd75c6cea vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7a399db device_register +EXPORT_SYMBOL_GPL vmlinux 0xd7ab2c0c speedstep_detect_processor +EXPORT_SYMBOL_GPL vmlinux 0xd7b6e73f mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd808989e usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xd810b8ef ip6_datagram_connect +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 0xd842606b platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xd850c642 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd853c859 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8a599a3 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd8be2362 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xd8cd8dfe crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd8cf78dc crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd93e3971 wm8400_block_read +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 0xd96d9fb0 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xd9a0effb css_depth +EXPORT_SYMBOL_GPL vmlinux 0xd9e9793e edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9fba524 crypto_alloc_ablkcipher +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 0xda42a87f tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda9bc05f ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdabf2d98 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdac91452 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb17502f ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xdb1ee87e rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xdb28b24c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xdb513d80 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xdb6ebf56 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xdb7a4560 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdbb27293 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc308698 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xdc3afbd0 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xdc4d45df sysfs_update_group +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 0xdc8b949e rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xdc97660e blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9c6684 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xdc9f61de sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0xdca75aab iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xdcac6552 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xdcd69028 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xdce12dcf usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xdce57037 apei_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xdd2572b9 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd41ca40 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xddc09dc7 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddd5f44d dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xddddcdd0 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde6fc414 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xde747356 intel_msic_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xde8f877f kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdeb24a30 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xdeb3bc10 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xdee33b39 mmput +EXPORT_SYMBOL_GPL vmlinux 0xdefc9fb8 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xdf05d18c cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0xdf0c0f4b pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf5f6685 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xdf7b677c tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xdfa1fd06 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xdfa7cdb5 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xdfc383b8 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xdfc5354a crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe02c62e4 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe03554ee handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xe03f8687 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0ee4147 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe120cd55 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe14ae536 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xe1549e9f srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe17d4227 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xe1962984 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xe1ec36d4 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xe24d8d97 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xe255164d ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xe255f897 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2962ff1 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xe2bfdcaf pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0xe2cc4d08 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xe2dc0024 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30cea62 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xe31bcdde ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xe322f6f8 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xe32aea61 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe39a032c da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xe39dfcef tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xe3a6986e isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe3b29c61 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xe3b913d0 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe41534ce bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xe415aad5 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xe428895a dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe439815c erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xe49bde74 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0xe4ba9175 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xe4c331b6 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xe4c623bf cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe4d0f4f0 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0xe4e68bc8 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0xe52e84f8 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xe53ea0b2 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe59d42de fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xe5befd35 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe60f75c8 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe6377c51 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe648a40a __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6be0795 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xe6d1c398 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe6d24b18 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xe6d38e4c rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xe6dd3f42 xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6f04edc pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xe707342d ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xe70a853a __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xe713113d crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe777398b tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xe787dd53 crypto_lookup_template +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 0xe825361a dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xe8440f7b sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe89513c4 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xe8de06eb rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xe8eb64fd crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xe8ee5629 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xe8fadc3d ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xe91948bd cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe92af511 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9488532 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xe9573f72 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95e0971 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe95f6281 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe98e55a6 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe98fcd1e scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xe9ca93a6 unregister_efivars +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9e44df9 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe9ed7c9e blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe9f2e71d dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xe9f92996 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea088b11 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea765c36 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xea905975 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xeaac001d usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xeadde77f ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeaf82d2d led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb370805 __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xeb70e45b debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xeb8ff15c tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xeb91dc13 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xebd12a5f pxa_ssp_request +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xeccd4c7c dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xece6562d flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xed52f156 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xed9823c4 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xedcd1eac __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xedcfbf88 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xedf3f1f1 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0xee23a263 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xee274f97 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xee565051 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xeeaf04c8 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xeeb23dba led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0xeec24d31 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0xeecad0e8 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xeeec07b0 ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xeeece938 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xef0947a1 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef23d470 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xef321a83 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef45608f platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef782b88 gnttab_grant_foreign_access_subpage +EXPORT_SYMBOL_GPL vmlinux 0xef7d2c5c pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xefa151d1 user_update +EXPORT_SYMBOL_GPL vmlinux 0xefa1fbb5 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xefb2550b stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xefcbb9bf tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xefcf1488 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xefd0b040 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xefea0386 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xefef0909 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xeff3732b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xeffb4606 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xf02a5fa5 xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xf054ac97 intel_msic_irq_read +EXPORT_SYMBOL_GPL vmlinux 0xf0673fdb class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06c1cc7 unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xf07f987d relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xf0a893e7 xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xf0c7e265 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xf0d4fe4e timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0e93727 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xf0edf0e4 __module_address +EXPORT_SYMBOL_GPL vmlinux 0xf114e597 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xf168cf17 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xf168e13d ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf19c16c4 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xf1a4b6fb xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b551d9 ibft_addr +EXPORT_SYMBOL_GPL vmlinux 0xf1bf770d crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf1d41a2b virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0xf1d84eae register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf1ea147e __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xf1ee558b pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xf203d699 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xf20594d6 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xf2294d61 unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xf26d70ff usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xf281d21c xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xf28eb5ba shash_free_instance +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 0xf3197d4a usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf34846ee udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf3b437d0 ata_sff_qc_fill_rtf +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 0xf3de021c blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xf4082a40 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf409603b ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a63f41 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xf4aba689 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0xf4be20e6 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xf4cfb5c7 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xf4d00a48 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xf4d3f416 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf51b9a46 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54a34af ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf56e15a6 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf5716d1f class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf57311b5 bmp085_regmap_config +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 0xf5fbb7f9 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf615c8f1 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xf626a5d4 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xf63efa3f pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xf645e955 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xf6550dd3 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xf683158f rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xf68663cb ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xf68d05de sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf69e4833 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xf6a5a0ee xen_remap_domain_mfn_range +EXPORT_SYMBOL_GPL vmlinux 0xf6a86b1f pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf6c76b07 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xf6de29b2 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e834b0 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6fc9735 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xf7016530 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0xf70683d5 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf70cad08 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf725de9a bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xf72954d6 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf7322bc8 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7420ddf xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xf7425c2d rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xf75c16bd alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xf765953a inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xf76e3d56 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xf7a14f56 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xf7afef33 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xf7d65c95 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf86d40ab skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xf8741939 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf88e02c8 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xf895e336 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xf8cf6fd5 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xf8d76e6e fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf943ec05 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf956c52a device_bind_driver +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 0xf9b47a26 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf9b63fb2 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9cc3166 mnt_clone_write +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 0xfa31130a class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xfa5e5b57 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xfa843500 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfa84a858 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfa85b94b crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xfaf26db6 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb5974ac find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xfb5b3b0f console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xfb67ff4e ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb7c9f9f dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xfb872fd1 blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xfbc91ff6 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfbcefcc8 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xfbd01273 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xfbec18a5 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xfbf66ed8 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc3993f0 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc447d24 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xfc78a449 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xfc7bdd85 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xfc816cd2 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xfc968c8b apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0xfca46cd0 acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfcd1559a pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfced3606 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xfd05464b klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xfd12934c __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd9177a2 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdc279c6 xen_swiotlb_unmap_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0xfdd358cf platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe03bee5 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xfe07b816 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xfe13398a uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xfe1970f5 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xfe201b13 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xfe3ebbec xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xfe4247d5 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +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 0xff360106 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xff456af5 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff5f2b0e __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xff620220 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xff8da346 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffb25532 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xffc92e06 device_pm_wait_for_dev --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/i386/generic.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/i386/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/amd64/generic.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/amd64/generic.modules @@ -0,0 +1,3481 @@ +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 +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 +alx +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 +blocklayoutdriver +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 +libahci +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 +nfs_layout_nfsv41_files +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 +objlayoutdriver +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 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/amd64/generic +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/amd64/generic @@ -0,0 +1,13422 @@ +EXPORT_SYMBOL arch/x86/kvm/kvm 0x3fccb907 kvm_read_guest_atomic +EXPORT_SYMBOL arch/x86/kvm/kvm 0xff320582 kvm_cpu_has_pending_timer +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 0x1eb36f4b 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 0xd616de5a suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0xab5153eb uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0xa8caff73 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 0x0faf2677 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x2009c0a4 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x21da67df pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x3cadf3a1 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x592fa266 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x634cb4b9 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x65f6e67a pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x674cefa2 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x70ea63a9 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x737577cd pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x8e24ef29 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xd8f960de pi_write_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 0x486449b3 ipmi_get_smi_info +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 0xb3b1a563 ipmi_smi_add_proc_entry +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xbc3be9f9 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd8a78477 ipmi_register_smi +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 0xf267a853 ipmi_smi_watcher_unregister +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 0x1fc0b128 edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x02b760a3 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04d0f641 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0db28048 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7d6af8 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x12da4374 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1edd62cd fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x27308677 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x27adc4af fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ce06ec6 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x35bbe484 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39f0f05a fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x406f366b fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4bb572ed fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4e79855f fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x62d8fd60 fw_iso_context_start +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 0x664f142e fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x73786990 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7ef1cf57 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90630017 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9b6ec225 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9c9fa78f fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb0763a9c fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcd780096 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd6be09b3 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd7d41a33 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe985e3a3 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xee02bdc5 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfc310522 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firmware/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05b048e9 drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e5859d drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bbded10 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c566222 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cbb7a0d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1004398d drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10f4ae81 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11ff0385 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x139341b5 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13baf53a drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x141c776d drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x142b8b35 drm_buffer_copy_from_user +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1483299b drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x189ecc32 drm_gem_prime_handle_to_fd +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 0x1c13ca2a drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c7252dc drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d0b2276 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e80ee59 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20e004d5 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2335d085 drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23e48bda drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24c3d419 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x290bb97a drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29e3b61d drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b6459f8 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c59950b drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fb4d93e drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3347b81d drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x348fc813 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36242f1f drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3802571e drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38345837 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3880eb66 drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3913c481 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a6ed063 drm_i2c_encoder_destroy +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 0x3bc4a22c drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d47a34a drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dbd50ce drm_mm_scan_add_block_hsw +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 0x415f5b74 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x416e4369 drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4277b9af drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x456c62da drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x479f4343 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x480ccbd4 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x488f4971 drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49db983f drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4af28d25 drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2f0d69 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e937bae drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e96240a drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ef9c427 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c1e6be drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51b72b30 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5281fdac drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x542c91db drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55373543 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5836d2b1 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59bfa575 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59f02411 drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7318dc drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f436dd0 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x602d19c1 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61021abe drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x628fdca4 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629c05e1 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62d27333 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63c10b55 drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x645c73e0 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65b87011 drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x661f51cc drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6687ea53 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69a38e90 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a4f2e9d drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac8a25f drm_master_get +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 0x6e49ed28 drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fcad356 drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70e3d610 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7229c812 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72535a1b drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73db3708 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x744b0fef drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7603c921 drm_mm_insert_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77810996 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78032605 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79cd2b04 drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a66fd05 drm_mm_search_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7accb485 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ba112c1 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7be11a8b drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d44046b drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7db30ca7 drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e2410c0 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7efa5483 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x810eced6 drm_mm_search_free_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83aeb51e drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x851299d4 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x861bb3bb drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87b8b344 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87f3be4e drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8882d79b drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x889c2dc5 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88f28389 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bcbd9e4 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c101bc6 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ce0e11d drm_unplug_dev +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 0x8e85b35e drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ea56942 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff9111 drm_ht_find_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f2807f5 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f6c55fa drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9054bb37 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x907f9110 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9310525a drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x950f4f76 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x952701e9 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x958212e3 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96c579c2 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9866e2d8 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ae71c3a drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9aece6f3 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b3f4cb7 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c71d9f9 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ddbd1c7 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa037973a drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa439687e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5b1b419 drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa76b9d19 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7800720 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa96a2407 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac5f3489 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad6d3bf6 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafa5f894 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafbfc734 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafe794b7 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0aa7d4b drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1e6a3bc drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2319c95 drm_agp_bind_pages +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 0xb5fef1da drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb73e39a0 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb868112d drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb90c39ca drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaa5a8a9 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb2969f0 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb799ad5 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb987a98 drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbf6578a drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd63b38f drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeeacbf6 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf09eed3 drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfcf0718 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2a11df0 drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc377712f drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f212ed drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5e44a9a drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc72185de drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc871667b drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca6c3c7e drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd444b34 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd452c2c drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd7e4247 drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcda02a18 drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcec4e17a drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf43e265 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1ae9331 drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd28d16b6 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd307e4d6 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd32108ea drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3f2728a drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4e8530c drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd524a5f0 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5d606b5 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd60221ce drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd68d40a7 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd82d8385 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb219f49 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbe06773 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc192508 drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcdc35ab drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xded28fbd drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe66f0b18 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6f46e6e drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7137875 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7197773 drm_ht_insert_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8656dd8 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8c43861 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8efd24c drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9562a1f drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00c75d drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaad8a9a drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeac8c343 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xedc12f1a drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefa0e8d3 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefd5d7c6 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf090822e drm_mm_init_scan_with_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 0xf3476d90 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3b2bbb1 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7a68cb3 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9d91d11 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd0335f8 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe070d0c drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x008792a9 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x014c00c3 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01fa926a drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x093273e3 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a35533f drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1810564e drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1897938e drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20be874b drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d62072d 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 0x3069cb37 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31d1d77a drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32ec8248 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38dcf1ca drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a341193 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6940258f drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ac933d1 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6fd6a358 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a24d892 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95b2766c drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c0bf7d1 drm_fb_helper_single_fb_probe +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 0xa9b79c75 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaeddafdb drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3d2b029 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb977e8ca drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba010213 drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbcef59ea drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbcfc078e drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2761940 drm_crtc_helper_set_config +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 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe42698b2 i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe44c687d drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed177086 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdeb71ea drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x0c1efba8 drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xc44d5569 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xce7fb72b drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x067a8716 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0730220c ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x081d6d3d ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0c662dc0 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0ca0859a ttm_bo_move_accel_cleanup +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 0x1cb95dcf ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1f437dc6 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20725bfb ttm_bo_mem_put +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 0x279da633 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2960390c ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a4d991d ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x305f6d3f ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a0782fe ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4475bc1d ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d43b8da ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e8dd264 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5087453f ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x549435d2 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x564e1aee ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x57d103da ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x58866c0b ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a684493 ttm_bo_wait +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 0x61f71b5e ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65463f99 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67d494a4 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x721ddd52 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x75dd9e69 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7ca80165 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7eb7ba30 ttm_agp_tt_unpopulate +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 0x89e47dbf ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x90839ee7 ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9157600c ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x981a3e81 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x989e3839 ttm_bo_synccpu_write_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x998e45c0 ttm_ref_object_base_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9c708f4f ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4a57d62 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab312393 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb0c7140f ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2df6f94 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb79d1f6f ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb98c377f ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbc23a3a7 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbded874e ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc13b38b4 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4d4618d ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc652db66 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcae8a57f ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcdd19bda ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce64de15 ttm_bo_wait_unreserved +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 0xe5051420 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9cd9f61 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeca8b597 ttm_object_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf81972b8 ttm_bo_wait_cpu +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 0xfd6d5b69 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x88d1f640 vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xef92706c 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 0xd4af4121 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 0x3669e38f i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7a1333ac i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe74b7789 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x1b7f5482 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xab83b46e i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xb2415781 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x08705ef8 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x099945fe iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x1941d8f3 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x35660ff2 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x46a92a7b iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x4b020adc iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x51feb58c iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x5208aadf iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x63baa8e6 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x85fa4694 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xa5a84abc iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xaee6e304 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xb1c3ea14 iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xb7528ea9 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0xc2d64047 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xcee5f19d iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xcf4537df iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe0deaef8 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xe613aca5 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xed4a73d5 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xf365c51f iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0xf6591620 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xfaa66f3b iio_device_free +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 0x414635c7 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 0x9a128d7c rdma_copy_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_addr 0x9d1f522d rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x094ce0b9 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x20a6a38b ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x27707f04 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x39021dbd ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x523dbbfd ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x58b4f976 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x68918c8d ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x73cf850e ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x88fbd7cc ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9f6daf2f ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xafc5ef78 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb6956717 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbc38d8a3 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc4c692a5 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcb72f835 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd9470ee1 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xed313fe0 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x070c12c8 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x097a06d1 ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c03e01b ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0da45136 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ff92c35 ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12f68fb4 rdma_port_get_link_layer +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 0x17df3057 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x193af9b5 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21f78698 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x244d7b99 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x247cb51c ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2480b83c ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ad7cbba ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c7f18ec ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e8f69ad ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31a03670 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32b8726d ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x338f7173 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3688dfa7 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3919bb1d ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d7d88eb ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42f5f089 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42f76ea3 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49c06d8b ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4a1f63c7 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4aa04e59 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x618622d2 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a7c7089 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e01c854 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7481f64f ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76bf89ff ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a2439a6 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fc71a3d ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80f16ec1 ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83ff7518 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84e6bddd ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x899ac6ef ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x923c0f0a ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93e3d33f ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa169fdc2 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa29c6232 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa3531d3e ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4da4f11 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb366acb3 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5546bdc ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9977898 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc333590a ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6fb7fc3 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d917ed ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca257b1f ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbb49a6a ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdadfac7 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfb221c5 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1591e71 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd28cf1ea ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd371ffec ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd78dea78 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde3afd3c ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdec2be2f ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf7d994c ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2007c29 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe20d3dc1 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe54e435a ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe61f881f ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea242ad4 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed7d06dd ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf49b559f ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf68707ac ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8c37365 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9a598de ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa4fbb04 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfed90183 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x2763771e ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x42fc6716 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5856e019 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x5f64aaaf ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x78d3ec78 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x89c51326 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xb007d3dc ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbd29d814 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xbf77a9ca ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd26afdfe ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe8fc3893 ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xecc3afbb ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x22f7f3af ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x2fd0e42f ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x37243c3a ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x576fdbac ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5944c11a ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x7dd27826 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb45c9631 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb8fa1b43 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc1955a3f ib_sa_register_client +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 0x032657f2 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0a485c8d iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x42dce703 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x52fbd776 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x53b4716c iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa1bec143 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xcdf8a63e iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3b31be1 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x03e1f66f rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x11687696 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x25e42085 rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x42fb1ae7 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x53df547a rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5c36866b rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6051ce86 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6960db00 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x82f8e97a rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x84e572fa rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9441d7c4 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa70ecf1c rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xadeecabc rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbc27662e rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc65de43f rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc7bff211 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc8a3d5bb rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe577a36a rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf922a711 rdma_create_id +EXPORT_SYMBOL drivers/input/gameport/gameport 0x039fbedc gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x0af9ef87 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x12260359 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x33ba05a5 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7f0d847c gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x848a0c2b __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xaad77f9e gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbf5ef3b1 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xdabc28a5 gameport_start_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x581b89c3 input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xc8d38b98 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xe0fac8ea input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xe1a7e2ac input_register_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xc7494afb matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9643b24f ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0x9cf66ab0 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xe584a437 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf14fcb9d ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x1342b92e 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 0x162e60a7 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x38ed715c sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3c08cf71 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7213749c sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbb1c048f sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xf589fb3e sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x57ea7efd ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x816c0da8 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x3497c16b amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x419319bc amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x4a80b2d8 amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0x9191a365 amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xb03ec129 amd_iommu_init_device +EXPORT_SYMBOL drivers/iommu/amd_iommu_v2 0xbe849b56 amd_iommu_set_invalid_ppr_cb +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 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 0x4ea0a56d capi_ctr_resume_output +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 0x6b637a76 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x714154ac capi_ctr_ready +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 0x91f00b87 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9b0285b7 attach_capi_ctr +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 0xb5547b92 capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb60e5e5f capi_cmsg_header +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xca2c1c0f capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xdba6972b capi20_put_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe19a11ac capi20_get_profile +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe2d9173d capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xebbda764 capi_ctr_suspend_output +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 0x33d25c38 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3be43796 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4765e10c b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x4d811718 b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x59fd042a b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6ec8a505 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7e3a50e5 b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x94daba7d b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa101677a avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc48a4ecc b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xcdc6e46b avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd9a0f334 b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfb31e44 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xeaf76386 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xffa49a38 b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x282d8de5 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x53976828 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x5f00c4dc b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x89e766a6 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8c46d1ca b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x8d21be70 b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb3f900a0 b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xb8da866c b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xeb023a33 t1pci_detect +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 0x04addde1 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/eicon/divadidd 0x2974ead1 DIVA_DIDD_Read +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xabb2629e mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xc3d7fa45 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xec24e041 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf30196e1 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x8d0ee2a4 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x9f48f659 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x07f4f2ce hisax_unregister +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0x082cd687 hisax_init_pcmcia +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 0x00e5eb93 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x1514c626 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x31c64f4f isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x89a8b6d5 isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x9f750a41 isacsx_irq +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x746e40dc isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xedfa4b0b register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xf0e8cd47 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 0x0ddd7851 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x253e6588 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30da92f6 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x312e18b0 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ca662c1 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x46912731 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x49e1ceb2 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4a54c353 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4d41fb44 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x509e1b63 recv_Bchannel_skb +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 0x55ddbe00 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5ac3c917 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7b7803ae bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x829828ae mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8651ca3c mISDN_freedchannel +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 0x9c908578 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb69f8e4d recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xbd5bf25f mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc45e670b mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc6497ab9 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc857bd79 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd43691b7 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd6b2d6da recv_Dchannel_skb +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 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 0x087cae52 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x17a54393 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x44dd7a97 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xc934cb84 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x1cf57982 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x28f8fd50 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x77ede9e7 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fd6164d dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x9cd20c12 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfcabda3c dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x42eb9517 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x43e59596 fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x1fa8ad01 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x74847667 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0xa61d34ea mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x80390bac mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x39e806ad mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x1fc3f735 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xc54d232d qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x6a11180c tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0xde7750b9 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x91038428 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 0xf7a277a4 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xfa27e444 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x74d75e03 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0b5cd04b flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0ecadf68 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x354e7790 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4961c9f2 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4a1c73cf flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5d2af65d flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6ba5e232 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6ed639ba flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7316dfe0 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x7cfa1f9d flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8c04c927 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x9126948f flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x95ff4f21 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa75e71c8 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd31de153 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd8800df2 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe06ea67a flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe4e6d2bf flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xefd460c1 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf9d7208f flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x1771a558 bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x885e69a0 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xddcdd13d bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xed8c6d1e bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x037bee50 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x0a9e7f42 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x285a08b8 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3413a030 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x6b4bf69e dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x83dd9d2c read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa52c179c dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xd7a5e6f4 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xeb98485b rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0xba573c3d dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0c651bb2 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x17523ce7 dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x236ec3d8 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2fbf4aff dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x383bbee8 dvb_dmxdev_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 0x39fcbec4 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x40df1d29 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x44420bb4 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x48824cf1 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x522905e8 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5443bd25 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5cd2abc3 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x64d6d7a9 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x650aa052 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x69f2f692 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x70e5eb1b dvb_frontend_reinitialise +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 0x85473e29 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x887caf4f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x88d25e5b dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8988cc8b dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8d0df2a1 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x94750e36 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xa2a65e70 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb20eadbe dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb290ee7b dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca4965f1 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xca636d06 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd1db1be1 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd26dcfbf dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe066191b dvb_ca_en50221_camready_irq +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 0xe88290a9 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe9a6d470 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xefcef46b dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf23798e2 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x0382b4bf dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x080fd679 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x382d1a94 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x476d98f9 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7900f283 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x8457fbb0 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xe0891ce8 dvb_usb_device_exit +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 0x5a130d18 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 0x30fb5779 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x543c916d dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5e7b1d0e dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9186a54c dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9e98222b dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x9f3a5ea1 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xa2ee2f17 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 0xb810898d dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xd42352e4 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xdfa814ba dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xe139ba4a dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x0384b215 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0xf7fdfc06 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0xaeb8fabf af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0x8db51ab8 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x286f2437 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x2b669c9f au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x39ed8f70 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x571f3b5c au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x5c0a0255 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x85666b91 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x96cfbf23 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xd94315ed au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x85f849f6 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x8512bfb1 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x1c1d010e cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x27ad71d2 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x53b26c90 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x2631ff3f cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0xef8ce676 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x25b4e22a cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x4b06f081 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x5db71ef6 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0xafff5f18 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x3d282638 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x6a7856ee dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xac01afe6 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xba1173c8 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xf53ec6a9 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0693ead5 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0f047964 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x31c57bca dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x4a2b3474 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x93fecc15 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xa7386841 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb080aa51 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb7a20992 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xbdd18c72 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xd85efa85 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xdf27b847 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe026cea8 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe50d7b43 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe8f97975 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xee75081e dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x5392ceaa dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x11151503 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x46d398fe dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x4eed7558 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x668b3b3d dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7ffe92a8 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xb3f3a2bc dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x1f46d0b7 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x53fc40c1 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xdbbbc31e dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xf2ee61f6 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x020029d3 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0d17e291 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3ba5b2c1 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x4242b0a5 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x762262bb dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x79e3511c dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa111a4cb dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa7d56cb8 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xa8195cc3 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc78a35a0 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc9d177d4 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xcedb3550 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd3ba2427 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe095654b dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe3d9958c dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x02274ecb dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0d528f4a dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x22227967 dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3bfaed43 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x3d306a7c dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4dee07d4 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5ba56f30 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x73c2ad8c dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x7416f552 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8491ab46 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8a033849 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8e937658 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xac2c5399 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb64f5059 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb809b926 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xbb88630e dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc82657df dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf475d14c dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf620b084 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1a877472 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x33ad797c dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x4363829b dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x467177e0 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xf61aa639 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x04450aa0 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0x22d23c35 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0x5f980e29 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x544a4a62 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x4b09a121 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xea638cbc ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x84f3b124 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x724ec5e6 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xa4e9a278 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0x3a7e39ec it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x81c0958c itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x92a516ee ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x5af57e5b l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0x61a7b025 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xb8686849 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0xd954b97e lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0x140accf0 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x96f87a1c lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xd7b4413c lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x72b6c202 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0xdb557ce8 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x25c4045c mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x483ca486 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xbc5666ad mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x52a078de mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x4562007c nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0xef157a6e nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xd92585e9 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xc5c1e00e or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xca2ecac2 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xd30d6e00 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x6e7a9773 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xf8c5e795 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x22345375 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x9b8fcb10 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0x2c9d3041 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x0558706a si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xf7f03148 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x505098fd sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0xb7f2aeeb stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x976b4d0b stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x320bcab8 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x234d8c58 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x60354694 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xac5125d6 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x5fb2eb6b stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xc5787344 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x0cdb1a5e stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x08de228f stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x9422e227 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0x5fdf7759 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xc1f388f9 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x11349d77 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x709fb9be tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0x574ecbc7 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x35834f58 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x55ba06d7 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x92b4ef27 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x1698db5b tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x3f9d5aef tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x93e5bc4a tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xd7a06295 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x4c5d49f3 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xdfa75cce tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0x7c1378b3 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xb214ade1 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xe2e7718f zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xceedfc22 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0xf4c85e36 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x343b6e06 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 0xdae20875 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xf12509bf ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x22e610ec lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x354005a3 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x40cc92fb lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xa9dbe551 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xb1d8da43 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xd28c0742 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xefb26bee lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf5642aee lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/rc-core 0x6d808c6b ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xf0c2e7f7 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x5b0edfe7 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x7c682c02 bttv_sub_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xa4a10f59 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x4087b91f btcx_riscmem_alloc +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 0xc0a72d0a btcx_riscmem_free +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 0x475e55a7 cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x78b51836 cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xab428d30 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xdcb96f74 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xef751b46 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x818957e0 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xa57b7818 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x08dc54fa cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x29087078 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2f25eee2 cx2341x_update +EXPORT_SYMBOL drivers/media/video/cx2341x 0x324e17b0 cx2341x_handler_setup +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 0xb3ef681d cx2341x_handler_init +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 0x00fbd109 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 0x76a608b7 altera_ci_init +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 0xe44abd40 altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x0a41a5e8 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x120c2a0b cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x2d951b2d cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x4aa81ac1 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 0x94c139c9 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x9c2e4e4a cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x9f24ede0 cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xe3877c97 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xfa84980c cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x7981346d vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xfb3dd8b8 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x043e5f61 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x04cffba9 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x119a5b07 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x40171809 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xce73bf9d cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xea315f37 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x3ac462f5 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x470f57e2 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x6ccb0ab9 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x7cb7ea2b cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x9025e023 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xaf1b5835 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x08d8b01b cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x22200bcf cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x30c37410 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3e148a0f cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x439dcfa2 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x451d4593 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x49507e4f cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6534e170 cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x692cca79 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x69772c1a cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x70124a3e cx88_wakeup +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 0xa492cce0 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xada892ff cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbc15e53d cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc04ea486 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xcfc3075e cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd1fe26cb cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd7380a52 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xd7df85ff cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe39eb03e cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xeb95ecd0 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf4461c06 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x43d6dd36 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xa116d6c6 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x05a22672 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x0c97eb2d gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3fedaab1 gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x590abe95 gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x72c9013f gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7f7ab0ef gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa5c3a31e gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xc53a88ca gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x1c68a150 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x21e4d3eb ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x350fcfdb ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3e30a9a5 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x63727df7 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6689631e ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6b41004b ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x70f19931 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x7bd49f37 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x83eb66a1 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x985238c5 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa845787d ivtv_vapi +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0338315b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x07afa55d saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0a8c0ea1 saa7134_ts_unregister +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 0x1b6ba536 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x20ff1944 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x54517f28 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x70d68c82 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x76051314 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x84080196 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x990fe5fc saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xb5756838 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc9f55391 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/soc_camera 0x1d3a2304 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x28ea6130 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x7f3414b3 soc_camera_xlate_by_fourcc +EXPORT_SYMBOL drivers/media/video/soc_camera 0x86e74839 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd73d43f2 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xf10952c7 soc_camera_unlock +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 0x3226b396 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x4df1d02a tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0xfe0f1528 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tveeprom 0xbb11ba9e tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0xbf45d668 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 0x7058ab1e v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x903b9cb6 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x0c850074 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x3ab656d9 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xf2c816bf v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x67084edf videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x7e0af5eb videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x805da28c videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xb47f8a1e videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd67ee4ce videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xefcf5586 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0x4827d3d6 vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x00c896ac v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x015c067a v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x069342e6 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x070578ae v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x0bc22923 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x0cc1aed7 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x10ab374a video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x154d4419 v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x195fdb1c video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x19d406d1 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x2e86de83 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x379dccb2 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x38c8579b v4l2_subdev_s_ext_ctrls +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 0x48daaba4 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4d79d4f6 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x514ab049 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x519ffe56 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x54020352 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x5e57f550 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x67301363 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x6cf464e7 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x6d0da1e5 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x6d86cfce v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0x6e8fd2e5 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x74bf651f v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7f83a9e7 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x81aefcc5 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8e652469 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x94c4db2c video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0x95abcea3 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x96159ccf v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0xafc08dca video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb8df3038 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xc054931b v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc44bdc04 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xc7f4566c v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xc9053b73 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd63400f8 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xdf79b75d v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xe20aa654 v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/video/videodev 0xe6e256d2 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0xe6fce6f2 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/video/videodev 0xe79fd159 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0xea84bb8a v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xffbbfab3 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x066c7e7f videocodec_attach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4ff81c2b videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x890a7073 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0xffcb68b1 videocodec_register +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0dae98ae memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x208944c6 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x21b16a2e memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x393ab324 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x68f42c00 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x71513d04 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7dd94e7b memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9428c4f3 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb79e7bc2 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xcb5d8680 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc07e67e memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xea40d328 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xebd48836 memstick_new_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x123e9716 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1958c644 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2aa8015e mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3695aeb2 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3e3f9169 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x46506165 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x478cebc6 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4f385d60 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x50f9f2e0 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x57a6c781 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5f051e8f mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x647d6ded mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6bc4e697 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7d1cbf1f mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x846c533d mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x88edb1c6 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8baa5e1c mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9c99c7fa mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa0be5643 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad0536a0 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xafa7727b mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb840393e mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbb2a6cb6 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbf3f61a9 mpt_detach +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 0xd12062bb mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9a92a75 mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdafaadaf mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe2007a50 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xea3ffc1d mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf5032b54 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x01e40c84 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0a675ea9 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x12aa638d mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x15cc6080 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x26067b7a mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x293a3407 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2ebc3647 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3ef0666a mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x422362bb mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4dd52e1c mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5b179d75 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6c18a867 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x74b4938b mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x86981d62 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa2063722 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa458f32f mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xaceff282 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb3a706c7 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb7c3e27d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbffa91a2 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc24e3144 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc5d2c035 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcf6a1c0f mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd1cdb539 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd40da843 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe15925f1 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfa09e409 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x067e5853 i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x12f95548 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1a853452 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1f124b14 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2eec5805 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3a5d26cc i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5ca45b66 i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5d6a45a2 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x60ab293c i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7e55c2b8 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8e35a5c5 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x9ab2e717 i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa858249c i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb51c963f i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc3f723ac i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc75bff92 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc8a01402 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xca8ee9cc i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd34cefa9 i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe1d75211 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe964cbd9 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfd31aad9 i2o_driver_unregister +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x0a3e46dd pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xe6186738 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0c6cdff7 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1f371a53 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x22b7264a mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2b1c0645 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2c910cdf mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5667b336 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x671fbd1c mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6d6c21e5 mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f60ece4 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x74d38bf0 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xab464941 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xaf5326da mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd1ef3948 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/tps6105x 0x26085586 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0x65571dcc tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xa246d77c 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 0x34052b07 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x71b25a1b ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x3e6bb317 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x9beb041a c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xc42b565b c2port_device_unregister +EXPORT_SYMBOL drivers/misc/ioc4 0x349a2d50 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x91552322 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x1266a966 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x230cc7d5 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x2e37dcef tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x3080440b tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x5a4e7431 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x6cebb2d2 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x964e0ec4 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xa8c2ec46 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xb9a771bd tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xcd2c7348 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xd664389b tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xe3352a1c tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfb1bd096 tifm_free_adapter +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xe7a27690 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x173ad1ad cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x36ef1a0f cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x46ca5148 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x050680c9 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x42e14363 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x83843a1a register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe024371a map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x6be94731 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xb64188d6 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x01c346fb simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xb3966393 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0xdffdc57e mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x350159a7 nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x567d0aa2 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0x6b366593 nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0xb4c32128 nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0xbfb3ff57 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0xc37f8b3b nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xc9307ded nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x46e2b4b9 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x73cd406c nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xd3e53a42 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x2d464246 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x84bc043d 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 0x9ad829d9 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xa4e253db onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xd9f104d9 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfe8e61d2 flexonenand_region +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2f602194 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6a5cb89c arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8af313ea alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x90f192a0 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x91bee502 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb11847e6 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xddfde880 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe8bf6609 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf56e1974 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfc8d1fb4 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x62b513d4 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xbaa2774d com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xc7e7c693 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0b9b74c5 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x25ad5c7d ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x404071f3 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x5ff7d715 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x60e6a9d5 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8af7dc73 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbb50b208 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc291eb17 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xdbb9134b ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe5ac5519 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x1a61e37a bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0x4892bf94 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x7783f345 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0dccf810 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1ee97d45 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x5719f6fe t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6a8d8e52 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6f805d49 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x760d4b07 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7faa55ca cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8f0aa059 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa7a48d17 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xafb9f03d cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc3f4eae9 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xca17ef4c cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd5e1e824 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe7ea6832 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf90a0834 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfb74a871 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0b2f0675 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x116450eb cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x14644095 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2012d4c5 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x391d4274 cxgb4_dbfifo_count +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 0x59d47f36 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x618da1b3 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x69d9c1af cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x79b94669 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8dbd5fbb cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x96f3194e cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa1995153 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xab9b5285 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xae2f94bf cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb0334e5e cxgb4_create_server +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 0xe8d235a1 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfae66a38 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xffeab0cc cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x2a0f4bbf 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 0xbb613edf be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03326eb4 mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a3626f1 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41750d6e mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50daf751 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f3511cf mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92ef005b mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad8fb1ce mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0318c51 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf2271556 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf99b0f8c mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x17a3a30c hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3f139eea hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x40d5c552 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x853cac7e hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc8bb9161 hdlcdrv_register +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x08622efd sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x122aa3d8 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x2cfa5ff9 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6ae8a8e1 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x6e862382 sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x890740cd sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xb2ff9c84 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xbe391d40 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc8f81efd irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdc5cb8c5 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 0x85f254d8 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xdf603a5a alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x8da0ced7 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xb1026891 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xef2eada8 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0xd57debd5 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 0x144b71e5 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1812290d unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x49c6e10e hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5394b902 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7bae2088 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc5b4d19e hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xce5af6c2 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe41a8606 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xed532b13 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf48ea3cc hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf4d517e4 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x0e2f0abd i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x1387d890 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xa19f46f9 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xc63e4d12 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x03ee09ec ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x09dceda7 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0ba0fdf6 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1115e451 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3d431787 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x43cd0a5c ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5235951a ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8d080e65 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd8e02a4b ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xff43e97d ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3a8512ed ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4ce760e6 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e1380ee ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x646e6df7 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x80588990 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x864ae940 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 0xa46dedcb ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xae630e67 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xddd784d7 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe77677ac ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xea714d15 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x377ab15f ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x713ad88d ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7158e719 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x78304e70 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 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 0x0211ab5e ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0591a709 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08a93462 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d8471f0 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f6043ec ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x156326d8 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x167da512 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18a6effb ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18bb9ae6 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a13c2d7 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b4d3b23 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f3efcdf ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2237a2f5 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27262a90 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2a3d4db7 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d14c1cd ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x325fae51 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x336d66d7 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3830e474 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50357047 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x512ef287 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x518f7914 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x548289b9 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5663a8a8 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a040add ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d4caedb ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5ff13082 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x633bc218 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x642c2300 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x670c18ef ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67605af0 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6acfe21e ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e6a4024 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6faf90e2 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6fbe63ac ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x704e8b22 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x735402e8 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74e7bad5 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x759eb6cc ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x795d3797 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7dcbd798 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ec13f8b ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80332877 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x838a2eaf ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x84d91e4e ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x877e5138 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88a61405 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8d0596d8 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9009b218 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90ea6ab0 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x91bdcc55 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x97431912 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9bfa5438 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9e684728 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa04d98ab ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0e3ed84 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa1cc5637 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa371413c ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa60d42fc ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa71ad785 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa8fa55e7 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf42a437 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3ffa1c0 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5efb787 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb61cde42 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb7bad9f5 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb801ca54 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbaa41752 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbaa61076 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf71c986 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc0b5a26e ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc2d9ba5c ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc328d83d ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc73b94b5 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca7ae89c ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd1107bbc ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd141da90 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd144cbe8 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9ac323d ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdbc1e51b ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe20fa911 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe52cfebb ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe67697b1 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe703df2b ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea6aea89 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf23ae735 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf331524d ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf48a9856 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf923f27c ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9ed17b9 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfccaa4f1 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe9ed266 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/atmel 0x2b0b42f4 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x9e59e90f stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xd284c6be atmel_open +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x6611338f brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x8121f7f9 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2703f371 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x279f3e96 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x3f567f56 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x5e8428be brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x6029a0ab brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x648a86eb brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x69d11784 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8c016059 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa3f006fd brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xbe19af9d brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd5c26464 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xf1123594 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0f2901ba hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x13d843ad hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1723ac32 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1c917a9d hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1e2e3c46 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x280fdf5d hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x339eeeef hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3694aef1 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x3f0cf614 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4507ec77 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4d4ca22d hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4e272091 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x55978b57 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5cc38aef hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5e905f46 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6615a942 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6ad851d9 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7b8627fb prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x995ce7ad hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaccf14a1 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb2a945e0 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb32d94d3 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcc156f2c hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd04d8e26 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xd5dc2f41 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdb8cf896 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xede9183e hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x0e0b832d libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x119b76c3 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x15b86486 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x17852c87 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x319fbd1a libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x31ada3b3 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x35257c97 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x457a4212 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x4a61b9a4 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x50475ed4 libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x5d302af9 free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x71d27816 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x7cd33924 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x88ba2a61 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x97eab141 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9c76a75a libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9e88df5a libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xbcf96b4b libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd4f448aa libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd531b315 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xe9376e8d libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x019f2dc7 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x05ebe8e0 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0736a4c5 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a6e8536 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0e31cb42 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0eb41b74 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0fd2868c il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1666f17b il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x16d08d09 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1c80cc33 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x227adca4 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x26890316 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x27094f1b il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2aee3441 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2c5b174e il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2f851554 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x35116311 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x35dbb97e il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c40caa6 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c9479cf il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3cc66bd3 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3f6a44eb il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x40a9a14a il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x43f72f3d il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x442cdaba il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x46aa1d7c il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x49d112ba il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x49e87593 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4a68ad20 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x54390023 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x60d006c7 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x62fb7333 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x643a820a il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x65ae8b28 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x65dc164c il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x66e5a3a6 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x675def24 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6b5aad1c il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6eaf6ee5 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x70db9d9e il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x70eacad9 il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x71d110c5 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x72f29c42 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x77175686 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x79a3fe9c il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7ceb5fbd il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7ebe91e1 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x83d7585d il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x869fbea0 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x87a698e9 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x88fa888a il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8be6751c il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x912e57d4 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x91929fc7 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x93186ea4 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x938ff333 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x94285cad il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x94d73676 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9a2dcadf il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9c8939f2 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9e46721c il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa6cd1869 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa823ed17 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xaba7d25d il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xae7151b2 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb39dbcd9 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb702be40 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb549da5 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbdd2b507 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc27bf518 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc2a959fc il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc5bca7cd il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc6c6edb3 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc74d7385 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc81e47b6 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc8d85678 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc9b3192e il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcace790b il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd44fcff1 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd5434ac2 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd55ceecc il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd67c28b1 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd6f28828 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd7cf403f il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd91c48c3 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdefd55d7 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe03a200c il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe39aff21 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe6656e61 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe6f1fc8b il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xea1dee2c il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xeccc2afa il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xed92a526 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf1be083a il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf4311e1c il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf4ef3c73 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf84a6187 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfcc4cb87 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xffaab6c2 il_init_channel_map +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 0x0a3c90a0 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x14543f5f __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x15afd8f2 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x313e3fce orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x38e10443 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x3a5cd5e1 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x42c9efa8 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x515477ef orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7eca89b3 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8e86e69f orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb2a08024 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc4d45fc6 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc77d904d orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc86222c9 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xdb0cbd65 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe3446111 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xfc908f17 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x049f57d2 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x063b4e1b rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x08da5b77 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1cf4acdc rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x269d4a54 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2c0e29f6 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x33812792 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x399f92a9 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3d51a5a5 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x41e9dc88 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x512c7d7b rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x56e42c46 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5ae3d642 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x612df6e2 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x65959d5b _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x68f7abd9 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6ab086e0 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6d7cf5f7 rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x71445209 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x74ecca23 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x80de73bd rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8399123f rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x89dbc464 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8b836b1d _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x90c4e1b3 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x90d58b2d rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96306ddc _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9d39c87c _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa7008b0e rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xaf37075e _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb08d7a3c rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb637d8d4 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb98caf87 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbe7dd1d4 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xce28751f rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xcf947561 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd748171f rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xea0e346f rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf143b35d rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf8261c50 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf836e446 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf9956590 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x08f81ddf rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0d60e044 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2453dae4 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3ce825f7 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x4e78a540 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x50101caa rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5fd74d4e rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x60ca02e7 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6c94fefb rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x80145d3a rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x877d4ed7 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x930f0588 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa1d24198 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xa84d3172 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xaad4532a efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xadecd4b0 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb2099455 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb68650b1 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xbca504b6 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc9251e1a rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd2a32ccb rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xd464eb36 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xdc55185d rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf3635696 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x4da9a16d wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xd69c13ad wl1271_tx_complete +EXPORT_SYMBOL drivers/parport/parport 0x0827c97c parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x0f2e99a9 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x2409bf9a parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x24d9dd6a parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x27dc62eb parport_read +EXPORT_SYMBOL drivers/parport/parport 0x2eea9b67 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x34445884 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x3e3de84c parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x41ae0a19 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x44d9fbd1 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x509b2b79 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x50daaaec parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x5cf644ae parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x6ae3028c parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x6bee9de8 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x73a9ac6a parport_release +EXPORT_SYMBOL drivers/parport/parport 0x74f3cffa parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x798f2796 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x7b47c8e6 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x7eaf8a6e parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x8b4480e0 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x9a190982 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xa3aaa089 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xc1057cbf parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xc1ce1c00 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xc3507573 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xcc0b4efd parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd0230b6c parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xd784b4b7 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd847c61f parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x3c817cfd parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x7086646e parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x07e6323c pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0ca95809 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2abc3999 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3877ef11 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3d6eed91 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3fb07a68 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5dfa9ac5 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x62d46a2a pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6c481ef6 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x743a66a2 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x76407ba3 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7fa65cbf pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x99cb4e0c pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xaba06df0 __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb7b829b4 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbe9f29ec pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc2584da8 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc5899d51 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xce1b1cc6 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0fff2415 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x10090acc pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x19c1c5bc pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x36ce2516 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x38d164e0 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8cdebfc6 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9c6e6a1b pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa6686241 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc2018f4f pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc913a026 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xecedd3e1 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x2c447116 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x9d56c4cc 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 0x4467b223 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0x516ea92b pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0x8d6a4840 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0xb850561c pps_event +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0x1595319c bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x01563905 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x386ca6d2 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3f79453c fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x41ab4184 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x722093c3 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x864e7575 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8c363067 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9444e70b fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc2294dbb fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xda235f88 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdd0af43a fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0087b4a5 fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09a6dbc3 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ab60eb4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0dcb21f1 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x19ac2fde fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22470e96 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25380153 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x25a8bcff fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27aef3c6 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2b70a78b fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e1de2eb fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x333b85de fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38922203 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3a8b0a88 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3fd0d3ae fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5105ad22 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x52c410d1 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c3698fb fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x643f0c1b fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6550e01d fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x65649bbe fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a958101 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6b172e08 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x72a42b62 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x855f6f82 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8589fef8 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a5d4c3b fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b304a23 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b665cc2 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8b881b28 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x90f6020e fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9a403e93 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9fb73118 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae133f32 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb2b6b218 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb2cc57fc fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3fbd502 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc9ea96d fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbd7e9985 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc23dd7bc fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc28d0fd9 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xca2ca7ae _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce561e8c libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf587154 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe099ab98 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4a35f61 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4ccfffc fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe6ca2581 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf815552e fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfddfa194 fc_fcp_destroy +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 0xb7127475 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x05dfcc1d osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0ad30c71 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x15a1631a osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x17f38d68 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x29ebee09 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x50f44604 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x598a309c osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x653c11d4 osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x68addd01 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6e3dd55a osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7ac87957 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7c7b24cd osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x80434809 osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x85997158 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8aba3e2d osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8d40388d osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x8dcdb0ef osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9a73c5d0 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9b69136c osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9d08904d osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa0077613 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xaa0885d0 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb02742be osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb998a800 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb49e3c4 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb9531bf osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc89b1f70 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcda817d1 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd4269a2f osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xdaeea245 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe7ef0fbe osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeb9e3ba0 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xefb534ff osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf68790ea osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfc634f45 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfcb68a2f osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/osd 0x16538c08 osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0x4edbe740 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x58c913aa osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x8b770e53 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xa915b319 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf9b569eb osduld_put_device +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2352a244 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4df63eb4 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x708cd71d qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7aa20549 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8b3cccf1 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8da5b3f0 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa2d4fadd qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb1dac547 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe1246703 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xeab3e844 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xfd32920b qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x10eefe68 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1ff6bac6 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x243da0d8 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x52f6ec07 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8aa19a47 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x95f1a259 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x0a128de9 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x6ee3be3a raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xfc0064e6 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x086d8b34 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x157bb064 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3021188c fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x520426bd fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5f5cbd6d fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x62e03c1e fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x657fa206 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x94dc11f6 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9c75e98a fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa1a5d99e fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc29b0d05 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd2fd5788 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdd981aa4 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0562e153 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x07707914 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x07972928 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0cbecf46 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0ec4fa58 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x13642a99 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x16f092ea sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2fdbdebc sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x38f6fa99 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x52030f05 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x532173ee sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6765e23b sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6c12977c scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6e6dc902 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6ea24234 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9f174091 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9fa65cc3 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xab96f589 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbf2c586d sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc311d941 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc8719dab sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc94ec679 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcc4edc1a sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdf05b676 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe12489f5 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe97dd344 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xecddd25c sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfa49e987 sas_remove_children +EXPORT_SYMBOL drivers/ssb/ssb 0x0005c8dd ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x02d444f3 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1529b0d6 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x1d3a959b ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x30b6c454 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x3989591e ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x48d699c3 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x55a2acbd ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x668d863d ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x687a2271 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x817f025c ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x888fe4d4 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x910ced87 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x9b828e24 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa2b8e546 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xb908b50e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd5838c4d ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xe4fc9c58 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xf325b3a2 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xf3bac9a4 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xf5053a55 ssb_bus_suspend +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x0eba590d comedi_buf_put +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x255933dc comedi_driver_register +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x29a061a3 comedi_error +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x29e3204e comedi_buf_read_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2b58dd2d comedi_check_chanlist +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3b1cb409 comedi_buf_read_alloc +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3b7208bc comedi_get_subdevice_runflags +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x3cd9cf1e comedi_buf_write_free +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x5a9abdc5 comedi_buf_memcpy_to +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x7c96ec80 comedi_buf_get +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0x8744744a comedi_buf_read_n_available +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa7134d75 comedi_event +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xa7c9d529 comedi_buf_memcpy_from +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xd0b3efb4 comedi_driver_unregister +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL drivers/staging/comedi/comedi 0xfe1a0cb1 comedi_buf_write_alloc +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0x75c515bd subdev_8255_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xc0174dac subdev_8255_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf2b76538 subdev_8255_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/8255 0xf49f71bc subdev_8255_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x542bd83f cfc_handle_events +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x68aad35e cfc_read_array_from_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/comedi_fc 0x96ef8630 cfc_write_array_to_buffer +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x022ef566 mite_dma_tcr +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x22ab2c1c mite_buf_change +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x22c5e945 mite_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x27ade0c4 mite_dma_arm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x2dde1d24 mite_bytes_read_from_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x34f45bba mite_sync_output_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x556a4b42 mite_get_status +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x7ed74fca mite_bytes_written_to_memory_lb +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x8b717761 mite_dma_disarm +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x98fcc2f3 mite_setup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9c48774e mite_done +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0x9e1d99e5 mite_setup2 +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa4de9a4d mite_unsetup +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xa97f7341 mite_prep_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xab2fe6ab mite_release_channel +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb5f87f7e mite_sync_input_dma +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xb81a6b5b mite_bytes_read_from_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xc9fae6f9 mite_bytes_in_transit +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xdab35b7c mite_request_channel_in_range +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xeb1339b5 mite_bytes_written_to_memory_ub +EXPORT_SYMBOL drivers/staging/comedi/drivers/mite 0xfb3ba025 mite_list_devices +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x0dfef354 subdev_700_init_irq +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x253d5e2b subdev_700_init +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x5968021a subdev_700_cleanup +EXPORT_SYMBOL drivers/staging/comedi/drivers/ni_daq_700 0x9ed240a0 subdev_700_interrupt +EXPORT_SYMBOL drivers/staging/comedi/drivers/pcm_common 0x88ca83e9 comedi_pcm_cmdtest +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x2858e6d0 comedi_dio_bitfield +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x2b872079 comedi_dio_config +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x6949ff1e comedi_find_subdevice_by_type +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0x877fbb67 comedi_get_n_channels +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xad70feb7 comedi_close +EXPORT_SYMBOL drivers/staging/comedi/kcomedilib/kcomedilib 0xc2837349 comedi_open +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x6408a8d5 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x84047475 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x14025cd9 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xb725d21c ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x513620a3 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x6aef310a iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x076cd190 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x11c41132 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x3c431671 go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x46adc140 go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x66b1294d go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x795e16ec go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x82763235 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x94e608e0 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xe89912ac go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xf7f158b5 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x01ddfe0b notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x04555db8 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x07fc2953 rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1401c932 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ee730a8 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22064d06 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x232fe7a7 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x24a86014 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x263e3ee6 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x26b65e35 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2f20636d rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x317de456 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3710faff rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3dc1b6ac rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3e17938c rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x405cfef3 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x46befec0 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x489ab799 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x48d621b3 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ad4ae3c rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4b000493 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4e5538a0 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5711da19 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58f5d966 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5a719fc2 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6851f1dd rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x686cdec6 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7964b57b rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x939a2aca rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x94218791 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x979329f4 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9824260a rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9ca001c0 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9eaf9d5c rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa22f22b9 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xab315931 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xae01e300 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb64cc17a rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc9265096 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcab179f3 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcf939d4a rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd70c85a0 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd738b5a6 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdbd4524a rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde4517f5 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde48bed4 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe1948202 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe23b9de2 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe39b1e9e rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf72e4208 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x02796bf7 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x10428bf8 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x134a83c9 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x14559643 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1c956c68 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d9a2f1f ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2664ccd2 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2dde0b1a ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3676a260 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x39c91174 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42ced9f0 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4305adcf Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x433c0fac ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4882be38 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x52ea2c91 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x53a1ff62 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5995800d ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5e01de33 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5f920feb IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x626f22c7 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x647d590b HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68e5475e ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6ced864f ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x70529df9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x731612b0 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x791caa7e ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7a88904f ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x91ebb2e3 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93b434e4 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9f81cd71 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xacdd4349 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae399fe5 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae77f00b ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb5025fcc ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbb68205e ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbcc5317c Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbe442785 SendDisassociation_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 0xc4b73bb0 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc594510e ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5a8d15a ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5ad48b3 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5cdcc1c ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc6f23b73 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xca6aed0d ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd2f8ae0b notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd3f1387b ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe218a8f2 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe4368fff DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xebfb9290 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf02c4593 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf0c60e32 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf22cddcb ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf51021b4 Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf6b112f1 ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc2cddc8 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/telephony/ixj 0xce0cba25 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x8e2776d7 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xfe567cf1 phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x01023b06 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x015645a1 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x040f7187 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x0b645a17 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x1328e150 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x1343c271 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x16812baa target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x17f7e9d2 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x18c18439 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x195697b5 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a581311 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a66dbfd transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x1d6f1179 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x20104223 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x217cac93 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x24b2a748 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x2d9ad0e8 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x3355e404 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3571ef6e iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e005759 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x403e4687 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4394c700 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x45f74fd4 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x4afb4b09 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x58b13601 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x598e8696 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x615415d5 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6159eb8a core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x68cd43e7 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x695f8d7a transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x777dcaec sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x77f93ad0 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f90ed01 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x82e335a4 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x8366d067 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x8594a963 sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x89f73489 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x8e1c4aac core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e321e39 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9ec05939 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xa3416072 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xabd2e333 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xaf287919 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xb54449d1 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0xb66b2021 fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xbd17006e target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xbf65b4d8 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7b76c08 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7bfa80c transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xc9e1e425 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd1c1204c transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xd600c604 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xd879f672 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb0db096 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb9a0606 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdbd49267 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xee9ec239 transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xef9cb3fd core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf07433b6 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0a8f9d3 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9e2b6e8 core_tpg_deregister +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xf11bacf3 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x7128cc02 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 0x0ca36ed6 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2082ab8a usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2c17361e usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5d3193b0 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x66f0be68 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x74072c74 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x889768d5 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x95d247bb usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x97487aba usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x989b15dc usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa0798bf9 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa5f49792 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xacf51e7e usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc7bb7ec3 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xcd72279a usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x71a8d979 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xcf500756 usb_serial_resume +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x197b3932 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xbc6d9399 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x05edeae4 cyber2000fb_attach +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/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/macmodes 0x2bb48a4c mac_find_mode +EXPORT_SYMBOL drivers/video/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x475ad8b6 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xbc5a310a matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xc3a504ce g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x07ae4a33 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x21da2ed2 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xb1afc353 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xfb37b126 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0x3c04a5c9 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x03799630 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x2a66baf5 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xb00641e5 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xd39db7dd matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0xe289a966 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x112b5554 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x4d2e52f4 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x08823cb5 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x4da61c91 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x4f6b1ebf matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x6d9150b3 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x91e3f085 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0xfcc11d3f mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x4ecedc13 video_output_register +EXPORT_SYMBOL drivers/video/output 0xa3b674a2 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 0x036fc244 svga_tilefill +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 0x520c89cb svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x78a1be10 svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0xac1e4742 svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xc63873bf svga_tilecursor +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 0xd4cd0747 svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xe1a71587 svga_tileblit +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/syscopyarea 0xfd230ffb sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xb5056134 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x32d05d17 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 0x02e83cf2 vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x072f901c vme_master_rmw +EXPORT_SYMBOL drivers/vme/vme 0x083decd8 vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x097723ac vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x12c0f582 vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x282c36b8 vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0x2930233b vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0x2a782dfc vme_dma_list_free +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 0x689bea1f vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x6cf1c197 vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0x79a33f85 vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7d8e52b1 vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x87ce1e91 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x9601f0d4 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0x9b1eb949 vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0xa2a335bd vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xabddc6cc vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0xb92be399 vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0xca5ee09a vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0xcdea1fa2 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xeb40d161 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xfa1817b1 vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x1818086d w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x6962d57c w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xd60e7ad1 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xdaf616f7 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x87202eb0 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xa02d9e4d w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xfe88daad w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x4b10f1a9 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x6c0ae2fc w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xa27359be w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x1a3b89bb w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x21fa135c w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x44ac5dfb w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xd9db82c1 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 0x11d5c0f7 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x29d0127e config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x49845c65 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x5498bed0 configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x589cc1b1 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x9e5af878 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0xa3ca0a5c configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xafa0ffbe config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0xc2f330bc config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0xe1c7f2fc config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xf046b205 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xfc5f1df6 config_group_init_type_name +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x15cdd608 ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x35f5cf0f ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0x523cefba ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x6b7e0eca ore_read +EXPORT_SYMBOL fs/exofs/libore 0x823bba46 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xa8d815cb ore_remove +EXPORT_SYMBOL fs/exofs/libore 0xbf466720 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0xdb3a1b17 ore_write +EXPORT_SYMBOL fs/exofs/libore 0xe6651aa2 ore_create +EXPORT_SYMBOL fs/exofs/libore 0xf8a3612e extract_attr_from_ios +EXPORT_SYMBOL fs/fscache/fscache 0x07075376 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x087f3320 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x0a02c992 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x109e9a27 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x13631dbb __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x27d00813 __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2ae3cea1 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x369a4a31 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3bea1c5b fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x50191e64 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x5098e723 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x53da9a7a __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x75b5769d fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x7c6ea5da fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0x83455281 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x834aa161 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8c33715b __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0x9583100f __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x9b95eaa4 __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xb8b34999 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xca826c8f fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xcceb3c43 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xcee40c1a __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xcf59709a fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xdb3f53ad fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe74bdba6 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0xea1e469c __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0xf7657b16 __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 0x20c627f2 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x5b87ea33 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xbe9665b8 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xc8867f25 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xd6b5a585 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 0x1c18b163 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xebc65239 register_8022_client +EXPORT_SYMBOL net/802/p8023 0x0c9f6a85 make_8023_client +EXPORT_SYMBOL net/802/p8023 0xb745dc47 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x0b269e86 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x7403e646 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0bc6b9b2 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x10594a8d p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x13e9379a p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x1ab77114 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x1c746db3 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x26cae657 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x2f840f10 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3aeaa2d6 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3e0c3608 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x41c91486 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x428434dc p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x45d2812e p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4b5e1ebc p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x4c321d1c p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4db2bce0 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x5a8dcf2b p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x5d28b915 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x5ebb1a37 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x643ea77c p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x785ec9a2 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7afd8a14 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x7f73f72f p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x8d7f84ee p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x93701233 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x950f847e p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x958c5cea p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x98e96bda p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x9c4149ad p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa0edf17e p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xa554ac5c p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xa7978b35 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xaddbb035 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xaf42c2e4 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xb0a593d3 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xb9a3386d p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xbb649c0d p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xbcfdae5c v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xce2d649a p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd5749a47 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xd79a53b7 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xe1207ffc p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xe49aafff p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xfd6c520e v9fs_get_default_trans +EXPORT_SYMBOL net/appletalk/appletalk 0x79d1eba2 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x92431192 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xa3c9ccdd aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xf9cdd07e atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x03ac660c atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x0b854497 atm_charge +EXPORT_SYMBOL net/atm/atm 0x210f862d register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x23df6420 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3477c7fc vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x36d99459 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x54801111 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x67f4d46b atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6d667ba0 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x83d7b9cf atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x8c1aa77e atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x93136f41 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xd5d8c04b atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xe5c0a160 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0xf37adea8 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x11caed29 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x39359b7d ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x470404c7 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x4d54ca3c ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5ae2c6b0 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x5d51ca11 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x87d4eab4 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xaccaf976 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xbf73eba1 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00677c46 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x065245ba hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0761bfc3 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1188d921 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1260f44a hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1c0e1dc7 hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1f28ad66 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ffad466 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3690c151 hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42e8c0ae hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4310cfb3 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x44b096c6 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47782c14 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5b6c0d2c bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5f54f52d hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60d1066d bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x63760835 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6488d08a hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6c40c854 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x78ee27d2 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8b908408 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d37330c hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f70fae2 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96affcf5 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0xafcd4abc bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc1f3718a hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc26d48de bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcb8908d4 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc193ea5 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcdd7d81d bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcf0f02af hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd527c10b hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe0d2cd7b hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe1baed95 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe82d7769 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe835e8b3 hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xeeae4246 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf3aaebe4 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc248a20 bt_sock_poll +EXPORT_SYMBOL net/bridge/bridge 0x076828c1 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x091b099e ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2f219b09 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x5dc7242d ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x11730af5 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 0x7d9fd2f0 caif_disconnect_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 0xa6ea2318 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xc0fc1604 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xe2250302 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/can/can 0x02230099 can_send +EXPORT_SYMBOL net/can/can 0x46363982 can_rx_register +EXPORT_SYMBOL net/can/can 0x6511e1ca can_proto_unregister +EXPORT_SYMBOL net/can/can 0xc24382e1 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xc842d1f0 can_proto_register +EXPORT_SYMBOL net/can/can 0xd58a931a can_ioctl +EXPORT_SYMBOL net/ceph/libceph 0x07d99dcc ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0d1bc1d3 ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x0d61c270 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x1237833f ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x177478c2 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1a2d90c4 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x1c9c0ac5 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x242897d9 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x2b10d4ba ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x2efedffa ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x35635bd5 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3aceff4f ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x3b8f382e ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0x3ca3d0f0 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x3deb1fa9 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x3e8cb896 ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x41cdbdc9 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x47e047bc ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4a283545 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x4a7ea932 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x54c139f5 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x570ceb67 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5d67f3c8 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x65a61b9f ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x69dbaa45 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x6c13174a ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +EXPORT_SYMBOL net/ceph/libceph 0x7168baf8 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x74e22b0c ceph_monc_create_snapid +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 0x797b65ee ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x799a52ae ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x7dfd3439 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x8012ca0c ceph_monc_init +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 0x860f02b8 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x97d008a8 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9a723695 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x9c13aaac ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa00ebf74 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xa2de8083 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0xaf29ed29 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb7c55954 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xbd8e0972 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xbe0c164f ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xc128b711 ceph_put_page_vector +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 0xcf340a83 ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd80a3917 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xda65358e ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xdf6f8c67 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xe379bdbc ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xe45a5d0b ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0xe7801a03 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe7acde18 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xe918b4cf ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xea667e69 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xeb1378ec ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xebe0224b ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0xed229339 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xf1436cde ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xf50e497c ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0xf5774cba ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfff961a0 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xc55b9b4c dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x087847bb ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x089ff0cf ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x22cca0bb ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x438cafd5 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4b276d00 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4e708f7d wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x71f2be85 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x764907e7 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7f7b5a48 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb2454f35 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd8952d4f wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xde77eb2e ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf4d12574 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x27d1187d arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb8f54108 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe142a560 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x087b473a ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x453e04d2 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9dc2d9fe ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x380846f7 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3f6156ed __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x3f9fec55 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x67db27c6 nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x68017ade nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x88de9c7c nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x8db5a28f nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/tunnel4 0x56eb1b26 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xa1b97469 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x01138f5d ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2116a220 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8bae87c1 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xaa925d3c ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x129337a9 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x41887fdb xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x1ce6978d xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xa08b88b2 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x075c9937 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x3c8fbeba ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8267b7e1 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xbe7160af ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xcfa00267 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd1e82908 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xd216dc59 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xf5895b83 ircomm_connect_response +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x0773dc71 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x09f58a8b hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0x1600ec9d irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x1a5c3998 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x1ea7abeb irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x26c0babf iriap_open +EXPORT_SYMBOL net/irda/irda 0x26e6b539 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x35420113 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x38637055 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3b6d5f65 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0x3d36ddac iriap_getvaluebyclass_request +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 0x454ba140 irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x46c1c4a2 irlmp_unregister_service +EXPORT_SYMBOL net/irda/irda 0x512f5c30 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x540ddade async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x57d886ad irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x5c059ca3 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x615ee918 irias_new_object +EXPORT_SYMBOL net/irda/irda 0x66ef7db3 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x67a5463d irttp_flow_request +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 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 0x8d4e2f77 irlap_open +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa25d195c irlap_close +EXPORT_SYMBOL net/irda/irda 0xa4548c32 hashbin_insert +EXPORT_SYMBOL net/irda/irda 0xa9977d4f irttp_dup +EXPORT_SYMBOL net/irda/irda 0xad66e1db hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0xb1502037 irttp_open_tsap +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 0xc310cf21 hashbin_new +EXPORT_SYMBOL net/irda/irda 0xc4c5aba5 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xccb5741b iriap_close +EXPORT_SYMBOL net/irda/irda 0xcf91c9a4 proc_irda +EXPORT_SYMBOL net/irda/irda 0xd04fd452 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xd1ae6745 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xd57045a8 hashbin_find +EXPORT_SYMBOL net/irda/irda 0xd6deeaae irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xd78ea659 irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0xde4c6b3c irlmp_service_to_hint +EXPORT_SYMBOL net/irda/irda 0xe3a1d73f irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xe6381824 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xee6a02d5 irda_notify_init +EXPORT_SYMBOL net/l2tp/l2tp_core 0xc230879f l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x087aaade lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x37d2bce1 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x3f07b65e lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x550f1f9b lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x80c84766 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xd3f36884 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xe7516352 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xf3f82c62 lapb_connect_request +EXPORT_SYMBOL net/llc/llc 0x3038e0c1 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x5473aafe llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x6a7dea86 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x6c6cdb31 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0x8c4200c9 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xad17ae64 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xdd79b575 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xf1d63ab6 llc_add_pack +EXPORT_SYMBOL net/mac80211/mac80211 0x005c8e96 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x0a71e35f ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x0e674b3c ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x12341f04 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x128b30ae ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x1c27d405 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x1cfcd8fe ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x24b1aea0 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x2ba8fbda ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x2d571b2b ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2d7b2776 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x321713ce ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x35755439 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x41389b83 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x41ff560d ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x446c5be8 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x47117a8f ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x49835938 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x4a349129 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4ce6522d ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x529796fd ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x56bcb397 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5ce9aa2c ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x6051bb55 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x626182a5 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x68b8bf24 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x6ddb9ad0 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7484265c ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x766dbf8d ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x76ac2310 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x79811418 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7a5f5957 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7cc7fd3a ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x7dd6f6d2 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7efa4c2a ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x80dbbf57 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x815f990f ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x90accffd ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x9a6aee36 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa56fd829 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa5a5ba4e ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xba746676 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0xbc3c3fc1 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xbcdc2ed0 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xbe3dbcb2 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xc0f0685e ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xc114327c ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc42ecff2 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcc7e658c ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xce71e033 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xd27fa5b4 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xd561bdf0 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xd5b2a62e __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xdffedb95 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe51091b9 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xef93e519 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xf0c02ca7 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xf2d33ca6 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf6dcc60b ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xfdaf20e0 ieee80211_stop_queues +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x03268a0a ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x56bc43ad unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x68db1ec3 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7d25f581 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x876f8ac4 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x98af8b19 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9d86fa22 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb6ab007d ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd5d754b0 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe2fe14e6 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe7bf4ac2 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf55b0bd4 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf5bc7dba ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf7c0a383 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x2d4b8381 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x72f23275 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xe3e07d4f __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x780eabad nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x12703ce3 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x16e5b078 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x20ee5bf7 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x253e8b44 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x2ce7415d xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x5172658f xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x664f37a0 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x8a574eb2 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xbb73df1e xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfd84f2d6 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xff7fb76d xt_register_match +EXPORT_SYMBOL net/nfc/hci/hci 0x02d0359f nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x0ff966ca nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x1a213766 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x26c128da nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x283a2dc9 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x691171d2 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x750e606b nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x75fade8e nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x93a6f24c nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x9e1872da nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xb8c89712 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xbb7f8b0a nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd53349c3 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd704edae nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xd97e9280 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xdcdd37ab nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0xdd0355d2 nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xdf83a6e4 nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0xef4122f0 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xf0f8a8ea nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0xf4e5910c nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x15981ca6 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x76ce2d4c nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8cf35fbb nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xd34fb8a6 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xe448ec1f nci_recv_frame +EXPORT_SYMBOL net/nfc/nfc 0x347fc903 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x451130b1 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x5b297634 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x75eac6a1 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x84806129 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x94dc4cf8 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xc0e10da5 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xc54b13ad nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xc6296a48 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xf45262ea nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xf61a7a0b nfc_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x14b1d45d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x3e66a7c4 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x49f4e2c9 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x53d11728 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xa0463492 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xad8f3f0c pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xae39a5bf pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xe5b1329c pn_sock_hash +EXPORT_SYMBOL net/rds/rds 0x7505d413 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x11291a4d rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x14aa9687 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x199931e6 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2c45b122 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2d6aa693 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2fd992f0 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x35619823 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x73714f61 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8518469d rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x8e6941e7 rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x94d30a23 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa05376dc key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe6325b42 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe9c67510 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfc773469 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/sctp/sctp 0x7858a27a sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x37e8ac71 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xf1877ee3 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x1ab4c692 wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0x9257a522 wimax_reset +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 0x09e1ea82 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x0df3e7f3 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x1161966b cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x11bac49d __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x22a0d79e ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x2b6b03b7 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x2e153d0e cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x347a7db4 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x35e8388a cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x38ae4eaf cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x38c1362b regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x395cff80 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x3b39d449 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x429fe2ae cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x43f7239c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x4a2eb1e9 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x4e5ad808 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4f7c9b10 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x5027c774 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x53bd644a ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x61988397 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x61ff2f88 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x62556504 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x66d4cf3e cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x6963a773 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6fc424b7 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x71309813 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x73398e85 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x76bf978b cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7cf3abde cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x812831da cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x82f6a62e cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x83f22277 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x85fbab09 wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x8e6ec346 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x90ba488f cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x9144bd5b cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x96b86f40 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9d18ba2a cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa2515b74 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa390c673 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xabfd1337 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0xac02e1a1 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xafe3f54a cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb4138824 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xbbb86286 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xbe2541bb ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xbea578d7 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xbff3e136 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xc1617897 cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc57ced41 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xce255814 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xd1397f92 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xda0a2456 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xde88087a cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xdef21556 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xe1746d20 __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xe88d5a5a cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xea2a7a94 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xf0d566f0 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xf799b977 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xf9dcd654 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfd5e645d cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfe196601 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x05033ac4 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x27f28093 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x302fcb7c lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x465c89b3 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x5bec5dcb lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x85fcf8f5 lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0x5da7b03d ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xc464f314 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 0x2b6e4a91 snd_seq_create_kernel_client +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 0x4d3228d8 snd_seq_kernel_client_write_poll +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 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 0xeb84bd71 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf684512e snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x3a57f235 snd_seq_autoload_unlock +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x4e47a215 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x9e09dc79 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 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 0xedfe1e29 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x049b61bf snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x0d3175ee snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x11495e92 snd_jack_report +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 0x21e4a4e4 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x2223d128 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x22943a5f snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x244398c2 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x346baf02 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3997e255 snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x3d5f6aac snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x3f2660c7 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x456a1875 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x4655fc50 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x4678cfa7 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x4cb51a44 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x56109dff snd_component_add +EXPORT_SYMBOL sound/core/snd 0x58bc27de snd_device_register +EXPORT_SYMBOL sound/core/snd 0x5c41a416 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x61c9823c snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x6449b42e snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x72a07bd7 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x748169e4 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x7a978114 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x8728ea64 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0x8debf6cb _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 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f741029 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xa07a1e6c snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xa71c597f snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xa9824b1b snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xa99e1ecc snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xad10d2e3 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xb2793179 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb348b911 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xb62fc42f snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xb82e1ff8 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0xb94aeaaa snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xbed7d454 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xc6cdcd19 snd_card_create +EXPORT_SYMBOL sound/core/snd 0xd3d3bbba snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xdaa99069 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xdfb50619 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xe318529c snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xe4b5786c snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xeee6e670 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xf1cc3ec5 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xf623eeb3 snd_cards +EXPORT_SYMBOL sound/core/snd 0xf98f7e1f snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xfdb8d93a snd_card_register +EXPORT_SYMBOL sound/core/snd 0xfe07418a snd_device_free +EXPORT_SYMBOL sound/core/snd 0xfffd024d snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0xe5a45606 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x06b310c9 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x206d6b11 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x4b9cd8ab snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5898dcba snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5e400d51 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xa620c9b4 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xeef74979 snd_dma_alloc_pages_fallback +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 0x07c1af12 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x09912c8e snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x09bcd61c snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x0e3b09e2 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x0fd70df7 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x148e3cfd snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x1a2093be snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1e01e23b snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x2134ad0e snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x22a2d4e5 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x23bd9152 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x2763f431 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x2793c108 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x2d3c590f snd_pcm_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x2da3109b snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x2daa36e3 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x30e825d0 snd_pcm_set_sync +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 0x3a678a20 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x41be98e2 snd_pcm_hw_param_last +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 0x535268e2 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x56db13c4 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x63c0920e snd_pcm_new_stream +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 0x68b40d2e snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x6bbe724b snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7108f438 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x73f78f4c snd_pcm_sgbuf_ops_page +EXPORT_SYMBOL sound/core/snd-pcm 0x7e84ce1f snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x8246b9df snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x86766e7e snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9ed582a4 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xa289d7b5 snd_pcm_new_internal +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 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbf38683b snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0xc34a0b12 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xc73d1a2d snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xca1c3b36 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcbddebd7 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0xd7c12461 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0xd8ce508d snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xde93aa5d snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe83bfb4a snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xeb9538dd snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xf2b5cecd snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xf35b74f8 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf8902c9b snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-rawmidi 0x075944cb snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1008f045 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x21bdd2b8 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2ee6e849 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x446537f0 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4b023f53 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x53462623 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x53ac720d snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x57f1a108 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5ebad6aa snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6921ef81 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x75d836f9 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9233b970 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xac05ba04 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbf4b801d snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd614b18e snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf80567b5 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-timer 0x08a9bfcc snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x200b7425 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x368ec14c snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x6cf7cde1 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x7062b54d snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x7c4ce1e4 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x81ad689f snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x91e5b32a snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xc9995b8f snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xcedc4d50 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xe44cedde snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xe80671f5 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xea489e58 snd_timer_open +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xa5e1997b 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 0x14ea605f snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x366fc163 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x506cddbe snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x726c19c0 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x88f5e6d6 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb05d3874 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb917555d snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xdaf2aead snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf6237bf1 snd_opl3_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x26e8300c snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x356ce9e9 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x46e680bf snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5dc7423f snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x84ffef9a snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x92b3cb3d snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa37d891e snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xebef4718 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xeef7915d snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0a809cfe iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0e63e3a4 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x243e5e45 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x24d0e0cb amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x26e0ffe3 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2bd3d051 amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2eb8fd79 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3954fa32 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x41367528 amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x530dd56c amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x55824ab2 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6ab60928 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6b64b220 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x73c07fa0 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8ecafdbb fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x95c29366 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9b1a2d23 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb3995a38 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc1e3a5c4 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc8bd4a7f amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd1bd3eda amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe4f3ce03 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xed7447ee cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xee3e3347 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf5e83d77 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfc1daec5 fcp_bus_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x244657d7 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x29d51350 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x501fd0c1 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5106f445 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8cc72d10 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xed2716ff snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x17707e13 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x40ddeac8 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4c2bc1d6 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7b026ca8 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x95683e70 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa36daedf snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x15f20c97 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x8bb20445 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x981cd85e snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xaf9706f6 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x53cf9e3c snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xae1b2d7c snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x27c5853f snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x6aea1877 snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x30fe4bba snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xb20f3134 snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xba78c2d6 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd8adf2ee snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xfdd43117 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-i2c 0x39498f8a snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x77c91b0f snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x937c11d1 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xaa8506d5 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xac853cf1 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc84c2716 snd_i2c_bus_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0bcd0d1f snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x18bd3789 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x308ab1c4 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x50e40eb8 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5e2fa57e snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x909c174f snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x99263f89 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9bf7d630 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9e066ca3 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xb074716b snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x3dbc7a88 snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x84c71301 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x86df7d39 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1f7c8918 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4e06b0f5 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5cd183c8 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5d6c7f6c snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x68531a38 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6e3095fc snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x89315e52 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8c363791 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8d99c27b snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x99fdb87e snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9ecedd15 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa9a455f6 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb1b1a624 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb7f4f7d7 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcacdcb37 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe7e32f8b snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf3c6de40 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0x74056d81 hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x00a379e0 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x22317358 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x48e468cf snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x63cb9410 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x8c35824c snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9545f36b snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa0859cdf snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd4e25be5 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf7e132ab snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xc44ad46a snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x0cfbf290 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x3e4bf923 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x678235a6 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0d993d8b oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1699e718 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2b7ffcab oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x32e26f00 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3785e0e6 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4080af6e oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5fc83c48 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x62333a29 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x655f86c5 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6c122b3b oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6f2a5953 oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7c0298e4 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x896052a0 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9ac8e8e6 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa1d7fd35 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb2af0a74 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb9b9ac6c oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbc715c97 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc4163070 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xed82d5e6 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xef643b7f oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x1046a558 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x266e431c snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x82d6fe5e snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xb3e03c02 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xdd9683ac snd_trident_stop_voice +EXPORT_SYMBOL sound/soundcore 0x121a0dcb register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x3853394f register_sound_special +EXPORT_SYMBOL sound/soundcore 0x6439d078 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x87c592ea register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x96648425 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0x9c17d15c sound_class +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x58c7ac6b snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x62d8a05a 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 0x7758c1d2 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x861e6ea0 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x967baea8 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x977f8316 snd_emux_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x235127a5 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x272bb287 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x4f5f9c27 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x5d488b70 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x94cd5f3d snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xbe37bfda snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd0884f22 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xdb5bf9b8 snd_util_memhdr_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 0xc00fdf5b 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 0x712cb70d 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 0x885bce51 dm_mem_cache_free +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 0x00003553 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x00290667 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x003d5cbe netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x004a099c pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x004ed52c kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x00575f5a put_page +EXPORT_SYMBOL vmlinux 0x006cda98 genl_register_ops +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x00aa4281 cdev_add +EXPORT_SYMBOL vmlinux 0x00b20d6e kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x00c623a9 bdget +EXPORT_SYMBOL vmlinux 0x00c9366d ipv4_specific +EXPORT_SYMBOL vmlinux 0x00f76c25 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01093ca5 cpu_info +EXPORT_SYMBOL vmlinux 0x01111c06 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x013b8ef7 dev_addr_init +EXPORT_SYMBOL vmlinux 0x014be63b arp_find +EXPORT_SYMBOL vmlinux 0x015ddbdc wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x01862a15 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x01d19038 acpi_enable_subsystem +EXPORT_SYMBOL vmlinux 0x01dd0222 netdev_crit +EXPORT_SYMBOL vmlinux 0x01df2f51 sget +EXPORT_SYMBOL vmlinux 0x01f1faa9 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0x01f34f35 mount_pseudo +EXPORT_SYMBOL vmlinux 0x0201dbb8 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0x02124474 ip_send_check +EXPORT_SYMBOL vmlinux 0x0216889f intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x02170f9f unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023d3087 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x024067c0 simple_rename +EXPORT_SYMBOL vmlinux 0x0245b4c4 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x025840a6 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02734930 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x027cf834 nla_reserve +EXPORT_SYMBOL vmlinux 0x029444f0 native_read_tsc +EXPORT_SYMBOL vmlinux 0x02952cbc init_special_inode +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b346b1 tcf_register_action +EXPORT_SYMBOL vmlinux 0x02d06208 seq_lseek +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02f26438 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x0304152c fb_set_cmap +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0348659b devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x034f646f __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0x03520490 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x03564e24 proc_symlink +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x038313e2 spi_release_transport +EXPORT_SYMBOL vmlinux 0x039028dd inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x039755c3 generic_write_sync +EXPORT_SYMBOL vmlinux 0x03bbf8e8 pci_set_master +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c5aa39 abort_creds +EXPORT_SYMBOL vmlinux 0x03ebda85 dns_query +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040004e0 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x04047b25 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x040c6ba9 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04277dba cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0456e0ba cfb_fillrect +EXPORT_SYMBOL vmlinux 0x045bb663 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x04617687 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0476db95 clear_nlink +EXPORT_SYMBOL vmlinux 0x0479aeb6 mii_nway_restart +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 0x04d78f9e compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f09c21 bdput +EXPORT_SYMBOL vmlinux 0x04f39cda dentry_open +EXPORT_SYMBOL vmlinux 0x0510d9d0 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x0546aefb blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x055c8559 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x0563cc85 unregister_con_driver +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x057055e3 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x05ab2cc8 netif_skb_features +EXPORT_SYMBOL vmlinux 0x05bade20 mnt_unpin +EXPORT_SYMBOL vmlinux 0x05d66b15 skb_checksum +EXPORT_SYMBOL vmlinux 0x05edd240 scsi_register +EXPORT_SYMBOL vmlinux 0x060ccedd __napi_schedule +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061f4039 acpi_get_table_with_size +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0634cbba vfs_unlink +EXPORT_SYMBOL vmlinux 0x0676f666 idr_destroy +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068c7263 ioremap_cache +EXPORT_SYMBOL vmlinux 0x068faac5 tcf_em_register +EXPORT_SYMBOL vmlinux 0x069b77e9 padata_alloc +EXPORT_SYMBOL vmlinux 0x06c709a8 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x06e38380 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x06eb5a78 release_pages +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x06ff2dc1 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x07001db7 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x07194838 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x072d7943 generic_write_end +EXPORT_SYMBOL vmlinux 0x0738afc4 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x073dfa12 generate_resume_trace +EXPORT_SYMBOL vmlinux 0x0748361b xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x074d5e1c genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x076654dd register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x0771dc36 dst_destroy +EXPORT_SYMBOL vmlinux 0x0777b643 set_blocksize +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07ac3086 empty_aops +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d45dfd input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07f1120a phy_attach +EXPORT_SYMBOL vmlinux 0x080a8638 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x0817e588 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0854dd5b dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x08692ece neigh_event_ns +EXPORT_SYMBOL vmlinux 0x087fa211 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x0884a102 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x0897287b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x08a65947 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x08c3a73c tcf_hash_release +EXPORT_SYMBOL vmlinux 0x08f2efaf fb_blank +EXPORT_SYMBOL vmlinux 0x08f51e0e sk_wait_data +EXPORT_SYMBOL vmlinux 0x08f64aa4 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x092344c1 put_disk +EXPORT_SYMBOL vmlinux 0x09308484 idr_get_new +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x0964bcb2 boot_cpu_data +EXPORT_SYMBOL vmlinux 0x096664ae blkdev_put +EXPORT_SYMBOL vmlinux 0x097d2ffb invalidate_bdev +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 0x098f48ac tty_mutex +EXPORT_SYMBOL vmlinux 0x0992780d efi_enabled +EXPORT_SYMBOL vmlinux 0x09b1b948 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x09ba48cb lease_modify +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09ec13ac tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x0a00e430 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x0a0c2b3a skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a2b614a set_user_nice +EXPORT_SYMBOL vmlinux 0x0a423a15 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x0a87e603 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x0aa71e7b bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x0abe6bcf handle_edge_irq +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae8ce92 poll_freewait +EXPORT_SYMBOL vmlinux 0x0b0b4fcd twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b1870f1 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x0b1a64ed pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b2a9b61 put_io_context +EXPORT_SYMBOL vmlinux 0x0b4e1c0e start_tty +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b75ce43 security_file_permission +EXPORT_SYMBOL vmlinux 0x0b9ccb8a jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x0baab999 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be6eca3 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x0c4768c0 __frontswap_load +EXPORT_SYMBOL vmlinux 0x0c49211a journal_extend +EXPORT_SYMBOL vmlinux 0x0c4be44c scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c835f8b x86_hyper_ms_hyperv +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0ca7b7a8 acpi_check_region +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cb733e9 sk_stream_error +EXPORT_SYMBOL vmlinux 0x0cc24c1a unregister_netdev +EXPORT_SYMBOL vmlinux 0x0d069003 sock_create_kern +EXPORT_SYMBOL vmlinux 0x0d2787b2 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0x0d3dda14 acpi_get_type +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d652bb4 unregister_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x0d82dafa tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da1c580 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x0dc7fd81 input_get_keycode +EXPORT_SYMBOL vmlinux 0x0deeec61 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x0df44e9c call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x0e03c7b9 sk_alloc +EXPORT_SYMBOL vmlinux 0x0e0f14d1 page_readlink +EXPORT_SYMBOL vmlinux 0x0e102abc generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x0e2b163d i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x0e322fec dm_register_target +EXPORT_SYMBOL vmlinux 0x0e4f61b5 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0ed8cc7b acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x0efcdcb8 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x0f036c67 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x0f1722ba netif_rx +EXPORT_SYMBOL vmlinux 0x0f257f73 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x0f262b56 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x0f290fae pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f65bdbb dev_alloc_name +EXPORT_SYMBOL vmlinux 0x0f7367f6 vmap +EXPORT_SYMBOL vmlinux 0x0f88fbf9 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x0f8b0b63 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fd00a68 acpi_clear_event +EXPORT_SYMBOL vmlinux 0x0fe07258 posix_test_lock +EXPORT_SYMBOL vmlinux 0x0ff2b602 slhc_compress +EXPORT_SYMBOL vmlinux 0x0ff7300a iget_locked +EXPORT_SYMBOL vmlinux 0x1023ec06 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x104159d3 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x10692022 bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x106c6177 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x1072a394 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x1084195d fb_show_logo +EXPORT_SYMBOL vmlinux 0x108ebda8 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x108fad06 redraw_screen +EXPORT_SYMBOL vmlinux 0x10ba3e1f get_io_context +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x111661b4 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x11206570 ip_defrag +EXPORT_SYMBOL vmlinux 0x1124cc3d mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x1129a9fa register_framebuffer +EXPORT_SYMBOL vmlinux 0x1140abf2 register_netdevice +EXPORT_SYMBOL vmlinux 0x1157d5ae serial8250_register_port +EXPORT_SYMBOL vmlinux 0x1163f0a7 blk_max_low_pfn +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11899757 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x1190106a netif_receive_skb +EXPORT_SYMBOL vmlinux 0x11c697dc soft_cursor +EXPORT_SYMBOL vmlinux 0x11e2ec12 flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x11eb67f1 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x11eeb809 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0x11f70a11 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x12074d2d pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x1209f322 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x120b295d eth_type_trans +EXPORT_SYMBOL vmlinux 0x12328392 account_page_redirty +EXPORT_SYMBOL vmlinux 0x123b867c tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x127b4c4d dev_addr_del +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 0x12b04c07 locks_delete_block +EXPORT_SYMBOL vmlinux 0x12c8918a pci_select_bars +EXPORT_SYMBOL vmlinux 0x12d44577 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x12d5dee3 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x12d69860 inet6_release +EXPORT_SYMBOL vmlinux 0x12dfeb12 vprintk_emit +EXPORT_SYMBOL vmlinux 0x12f37130 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1344f183 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x1355a8a1 tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x135a53d0 freeze_bdev +EXPORT_SYMBOL vmlinux 0x135e388d scm_fp_dup +EXPORT_SYMBOL vmlinux 0x136a7137 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x1372dfbb bio_kmalloc +EXPORT_SYMBOL vmlinux 0x13976736 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x13a150ee fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x13b65a01 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x13d063af __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d1f1ef scsi_put_command +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x141126f7 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x1411dbd5 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x1425c38f nf_hook_slow +EXPORT_SYMBOL vmlinux 0x142e4ce6 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x1430e6e0 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x14315731 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x1432b368 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x143ccc43 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x14410f31 kill_anon_super +EXPORT_SYMBOL vmlinux 0x14490c82 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x14507a4b pci_remove_bus +EXPORT_SYMBOL vmlinux 0x14649804 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x1481b9e7 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x149ed566 make_EII_client +EXPORT_SYMBOL vmlinux 0x149f7fb9 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x14c93d89 processors +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14faea22 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x150389d6 acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0x1508442b fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x15085d13 fget_raw +EXPORT_SYMBOL vmlinux 0x1517b6ae unregister_binfmt +EXPORT_SYMBOL vmlinux 0x152ebfca udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x15424999 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x154bb6d1 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x155e1198 input_flush_device +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x156cf0e8 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x15abf9e2 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x15de3bd6 write_one_page +EXPORT_SYMBOL vmlinux 0x15fc312f locks_copy_lock +EXPORT_SYMBOL vmlinux 0x160a1571 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x160ea4c8 sfi_disabled +EXPORT_SYMBOL vmlinux 0x1610c806 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x16144855 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x16305289 warn_slowpath_null +EXPORT_SYMBOL vmlinux 0x1637ff0f _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x16679781 replace_mount_options +EXPORT_SYMBOL vmlinux 0x166f8505 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168f1082 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x16a364dc vfs_mknod +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16c4bb49 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x16cfd352 bdgrab +EXPORT_SYMBOL vmlinux 0x16daaec2 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x16e08742 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x170c25ee acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x170de865 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x174b0238 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x17597df0 __napi_complete +EXPORT_SYMBOL vmlinux 0x1762870f cdev_del +EXPORT_SYMBOL vmlinux 0x1790d76b _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x1793e663 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x17a24a8d pci_get_subsys +EXPORT_SYMBOL vmlinux 0x17a2ff3e dev_mc_del +EXPORT_SYMBOL vmlinux 0x17b64d09 dqstats +EXPORT_SYMBOL vmlinux 0x17d07c6e unregister_md_personality +EXPORT_SYMBOL vmlinux 0x17d275b0 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x18064b88 napi_get_frags +EXPORT_SYMBOL vmlinux 0x183e10f7 tcp_sync_mss +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 0x1866d8f2 del_gendisk +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18a561bd pci_get_device +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18bcaf3f phy_connect +EXPORT_SYMBOL vmlinux 0x18c7f571 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x18db8a1a tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x19012d79 idr_get_new_above +EXPORT_SYMBOL vmlinux 0x19288fcb gen_pool_create +EXPORT_SYMBOL vmlinux 0x194355e6 bioset_create +EXPORT_SYMBOL vmlinux 0x19444627 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0x1947bcad dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x1948f620 __quota_error +EXPORT_SYMBOL vmlinux 0x196c59f9 ida_remove +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x1980cdaf napi_frags_finish +EXPORT_SYMBOL vmlinux 0x19831ccf jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b2d2c6 put_tty_driver +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19d61415 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0x1a24333e scsi_execute +EXPORT_SYMBOL vmlinux 0x1a3868fe dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a488739 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x1a5ae3c6 input_register_handler +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a6c9c89 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0x1ab11ee5 user_path_create +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ad242f6 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x1ae14ef5 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x1afa35e6 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b159ab9 dev_driver_string +EXPORT_SYMBOL vmlinux 0x1b241231 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b871807 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bafc0d6 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x1bb93485 mount_subtree +EXPORT_SYMBOL vmlinux 0x1bdc26cf sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x1c29e3cd eth_mac_addr +EXPORT_SYMBOL vmlinux 0x1c4db99d i2c_master_recv +EXPORT_SYMBOL vmlinux 0x1c6418b1 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x1c730d95 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x1c8a04b0 acpi_reset +EXPORT_SYMBOL vmlinux 0x1c91cf11 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0x1cbe3b63 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1cf1e64e kick_iocb +EXPORT_SYMBOL vmlinux 0x1d19fde7 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x1d785e5e pid_task +EXPORT_SYMBOL vmlinux 0x1d7e5924 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1db84e3b abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dc49d35 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x1dc6ced3 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd7a8ad km_state_expired +EXPORT_SYMBOL vmlinux 0x1dd7e200 pci_pme_active +EXPORT_SYMBOL vmlinux 0x1de33e9b kern_unmount +EXPORT_SYMBOL vmlinux 0x1e047854 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x1e0967a7 get_agp_version +EXPORT_SYMBOL vmlinux 0x1e0c2be4 ioremap_wc +EXPORT_SYMBOL vmlinux 0x1e2311f6 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e3f38c6 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x1e4a588b md_write_end +EXPORT_SYMBOL vmlinux 0x1e664b68 dquot_operations +EXPORT_SYMBOL vmlinux 0x1e6bf81e bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e7e7013 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec2ac62 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x1ec4eb34 flex_array_prealloc +EXPORT_SYMBOL vmlinux 0x1ed0e282 __break_lease +EXPORT_SYMBOL vmlinux 0x1ef15231 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1f23995c inet_put_port +EXPORT_SYMBOL vmlinux 0x1f3f0125 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x1f495a99 sock_register +EXPORT_SYMBOL vmlinux 0x1f64afc4 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x1f97bd2c tcp_poll +EXPORT_SYMBOL vmlinux 0x1face536 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x1fadf253 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc24446 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x1ff312ed mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2005e68a acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x20092385 acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x2013ba70 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x2031f1dd pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x203f5bfa complete_request_key +EXPORT_SYMBOL vmlinux 0x20455a55 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x20492ee1 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0x205d06b1 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x2067cf0b i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x207704d8 vga_put +EXPORT_SYMBOL vmlinux 0x2082760a bio_copy_kern +EXPORT_SYMBOL vmlinux 0x208739f6 acpi_load_table +EXPORT_SYMBOL vmlinux 0x2089839b dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20abc15b acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0x20b96a29 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20c9746f skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x20e4e101 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20ee8488 input_inject_event +EXPORT_SYMBOL vmlinux 0x211767c7 ida_destroy +EXPORT_SYMBOL vmlinux 0x211ecc67 bio_map_kern +EXPORT_SYMBOL vmlinux 0x21252ec6 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2170662f mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x217b9df3 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x217dda13 flex_array_get +EXPORT_SYMBOL vmlinux 0x21cf5ef9 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x21e0ea22 acpi_get_id +EXPORT_SYMBOL vmlinux 0x21f4e352 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x21f4fc1e vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x21fd5f19 simple_release_fs +EXPORT_SYMBOL vmlinux 0x221d7a22 mpage_readpage +EXPORT_SYMBOL vmlinux 0x222d583b pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2252808b ata_link_printk +EXPORT_SYMBOL vmlinux 0x226b929d poll_initwait +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22cb78b1 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x22de6b9f vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x22fd9ad0 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x232a6b92 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x2334f947 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x23532c4d ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x235fe371 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x23608b83 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x23636a76 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x238d948c vfs_writev +EXPORT_SYMBOL vmlinux 0x23979e3d agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x23a4559e fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b344ef wireless_spy_update +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c8f257 slhc_uncompress +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23c9a9b7 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x23ca9da8 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x23de18d0 __kfree_skb +EXPORT_SYMBOL vmlinux 0x23f7fb32 filemap_flush +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x241c0286 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x2426ac41 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x243f8160 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2452faae netlink_broadcast +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24779fc4 clocksource_register +EXPORT_SYMBOL vmlinux 0x247ccde6 phy_disconnect +EXPORT_SYMBOL vmlinux 0x247e4d64 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x24864d31 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x24877968 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x249dc8f0 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x24bdbb57 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x24d2dca8 blk_stop_queue +EXPORT_SYMBOL vmlinux 0x24e30a0a input_register_handle +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x24ffd80b sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x2511771d x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0x2523c971 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x25323ad6 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25629e70 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0x2570d90a dcb_getapp +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x259c7491 arp_tbl +EXPORT_SYMBOL vmlinux 0x25afa03e udp_sendmsg +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x2612373f uart_suspend_port +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 0x265e21cb scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x2665d53a key_create_or_update +EXPORT_SYMBOL vmlinux 0x267e4028 inet_ioctl +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268f9221 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x26b6504a setattr_copy +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f74192 tcp_close +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x27277915 vm_stat +EXPORT_SYMBOL vmlinux 0x272d394e mtrr_del +EXPORT_SYMBOL vmlinux 0x27350543 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x276c5d35 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x2778a2e1 __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x27839032 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27ae7d0c ec_transaction +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c1468c pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27c33efe csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x280a615e blk_end_request_all +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2829ac93 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x28318305 snprintf +EXPORT_SYMBOL vmlinux 0x28612128 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0x288c30b7 tty_port_put +EXPORT_SYMBOL vmlinux 0x28900578 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x2895ff75 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28a579bc xen_biovec_phys_mergeable +EXPORT_SYMBOL vmlinux 0x28a696dc security_path_link +EXPORT_SYMBOL vmlinux 0x28abfe6e scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x28c25e62 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x28e34152 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x28f2a373 mutex_unlock +EXPORT_SYMBOL vmlinux 0x2904569d end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x292093f4 native_rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x29822e53 sock_rfree +EXPORT_SYMBOL vmlinux 0x2997d5bd kernel_bind +EXPORT_SYMBOL vmlinux 0x29b1de8a inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x29ba0e41 security_mmap_file +EXPORT_SYMBOL vmlinux 0x29d4a0d4 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x29d5f2d6 scsi_finish_command +EXPORT_SYMBOL vmlinux 0x2a0ae99e dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x2a1ca376 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x2a1d2cc0 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x2a1eb8a1 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x2a22b47a build_skb +EXPORT_SYMBOL vmlinux 0x2a2386b2 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a38c377 journal_init_inode +EXPORT_SYMBOL vmlinux 0x2a45b8b2 ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x2a4938b6 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0x2a4c657e jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x2a501336 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x2a53264b phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x2a5a2a8d mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x2a5ca7e0 generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x2a66c470 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x2a6e6109 __init_rwsem +EXPORT_SYMBOL vmlinux 0x2a7ab002 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x2aa9d747 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x2ab5c267 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x2aeff938 follow_down +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b0e63e3 seq_puts +EXPORT_SYMBOL vmlinux 0x2b248e7b blk_integrity_register +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b3dc2b2 update_region +EXPORT_SYMBOL vmlinux 0x2b425f1e vfs_rename +EXPORT_SYMBOL vmlinux 0x2b51837e proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x2b8a4b9a current_fs_time +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2ba882cd inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x2bac0fdf tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x2bb55d6e acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x2bca2c75 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x2becd5cf inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x2bf99ddd __devm_request_region +EXPORT_SYMBOL vmlinux 0x2bfeb410 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x2c138e77 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x2c1ecb33 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c36fb01 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x2c730265 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x2c7e5381 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x2cb78289 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x2cd97808 register_filesystem +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2cf97c7a nonseekable_open +EXPORT_SYMBOL vmlinux 0x2d00bc0f md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x2d0804c1 fd_install +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d17424f eth_header_parse +EXPORT_SYMBOL vmlinux 0x2d1dbacb bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x2d4b6711 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x2d4baa31 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x2d4e32e2 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x2d7b608f kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d894c70 bdi_unregister +EXPORT_SYMBOL vmlinux 0x2d8dfc4c inet_frags_init +EXPORT_SYMBOL vmlinux 0x2d9fe2e1 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x2db04681 log_wait_commit +EXPORT_SYMBOL vmlinux 0x2db4c99b flush_delayed_work +EXPORT_SYMBOL vmlinux 0x2dbe51a5 ida_get_new +EXPORT_SYMBOL vmlinux 0x2dca3c41 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +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 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e2d1684 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x2e32c87c truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x2e50043e d_lookup +EXPORT_SYMBOL vmlinux 0x2e5a704c udp_table +EXPORT_SYMBOL vmlinux 0x2e9c3cc2 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x2ed53dd3 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x2ee1ab92 bdget_disk +EXPORT_SYMBOL vmlinux 0x2ee74e05 cdrom_release +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2efc8cf8 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f064b55 allocate_resource +EXPORT_SYMBOL vmlinux 0x2f135eb9 inode_only_permission +EXPORT_SYMBOL vmlinux 0x2f6d838e dquot_resume +EXPORT_SYMBOL vmlinux 0x2f780390 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x2f838f13 dquot_initialize +EXPORT_SYMBOL vmlinux 0x2f9466b4 tcp_child_process +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 0x2ff063b5 acpi_get_name +EXPORT_SYMBOL vmlinux 0x301d3061 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x302eb23a blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x30399b80 cdev_alloc +EXPORT_SYMBOL vmlinux 0x307b62ac idr_replace +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x308a9945 skb_split +EXPORT_SYMBOL vmlinux 0x308bf457 blk_get_request +EXPORT_SYMBOL vmlinux 0x30a565cc __d_drop +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30aaeefa __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x30b18f16 mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x30c9e9da skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30deeb42 __bread +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f8f3d2 bio_endio +EXPORT_SYMBOL vmlinux 0x30fdd658 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x31045e7f xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x312fd3f6 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31495418 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x31503fa1 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x31643cf4 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x31671909 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x316af518 vfs_write +EXPORT_SYMBOL vmlinux 0x3172c2df nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x318427ab key_type_keyring +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3194755f cont_write_begin +EXPORT_SYMBOL vmlinux 0x319bb5c9 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x319e0726 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x31a8fb72 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x31b1f0be input_unregister_handle +EXPORT_SYMBOL vmlinux 0x31b31f5c csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x31c5fa0c elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x31e76b57 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0x31fe183d qdisc_reset +EXPORT_SYMBOL vmlinux 0x3236772a cfb_imageblit +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x326533fb elevator_change +EXPORT_SYMBOL vmlinux 0x327cce13 generic_getxattr +EXPORT_SYMBOL vmlinux 0x329ac501 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x32afa0e7 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x32b5f5db ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x32debb16 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x32eeaded _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x3307ad13 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x33287fa1 __pagevec_release +EXPORT_SYMBOL vmlinux 0x332939fe blk_put_request +EXPORT_SYMBOL vmlinux 0x333cb37c __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x33463161 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0x3348c001 lookup_one_len +EXPORT_SYMBOL vmlinux 0x334d86e4 sock_release +EXPORT_SYMBOL vmlinux 0x336478d3 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x336ff78b genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x3390b657 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33c29752 security_path_rename +EXPORT_SYMBOL vmlinux 0x33d00fec unlock_buffer +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33f2d1ed mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34038811 skb_store_bits +EXPORT_SYMBOL vmlinux 0x340d437b ether_setup +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x34193214 keyring_clear +EXPORT_SYMBOL vmlinux 0x341cbed2 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x341ffaf0 blk_make_request +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x3473a2b8 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349da488 single_open +EXPORT_SYMBOL vmlinux 0x34a25fb6 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x34c0a4e9 get_phy_device +EXPORT_SYMBOL vmlinux 0x34d7f418 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x34e326bd dput +EXPORT_SYMBOL vmlinux 0x350465b1 arp_invalidate +EXPORT_SYMBOL vmlinux 0x350b7310 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x351c5f45 pci_match_id +EXPORT_SYMBOL vmlinux 0x35225ea3 down_write_trylock +EXPORT_SYMBOL vmlinux 0x3523bfb8 iterate_mounts +EXPORT_SYMBOL vmlinux 0x35303467 generic_file_open +EXPORT_SYMBOL vmlinux 0x35330a4f d_validate +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353cb384 i2c_release_client +EXPORT_SYMBOL vmlinux 0x35448c2b sync_blockdev +EXPORT_SYMBOL vmlinux 0x356588de blk_complete_request +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x3585a445 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x35a3d218 release_sock +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35defc50 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x35df0add dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x35e23d59 devm_free_irq +EXPORT_SYMBOL vmlinux 0x35f48581 simple_lookup +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x361ed337 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x3646717b create_empty_buffers +EXPORT_SYMBOL vmlinux 0x365e1aae bio_phys_segments +EXPORT_SYMBOL vmlinux 0x366587ef blk_requeue_request +EXPORT_SYMBOL vmlinux 0x3686ea09 spi_print_msg +EXPORT_SYMBOL vmlinux 0x36930481 bd_set_size +EXPORT_SYMBOL vmlinux 0x369e1115 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x369f5f7f skb_seq_read +EXPORT_SYMBOL vmlinux 0x36af9dcb set_bh_page +EXPORT_SYMBOL vmlinux 0x36db8ae3 load_nls_default +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36f54de6 pci_disable_ido +EXPORT_SYMBOL vmlinux 0x36fe24ef d_alloc_name +EXPORT_SYMBOL vmlinux 0x3701a196 csum_partial_copy_to_user +EXPORT_SYMBOL vmlinux 0x37070cdf blk_delay_queue +EXPORT_SYMBOL vmlinux 0x370b7ec9 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x3710b3af inet_shutdown +EXPORT_SYMBOL vmlinux 0x3723000b register_md_personality +EXPORT_SYMBOL vmlinux 0x37308ef3 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x373fee82 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x376ffbf4 netdev_info +EXPORT_SYMBOL vmlinux 0x378e7074 set_trace_device +EXPORT_SYMBOL vmlinux 0x3795c70d pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x379889a3 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x379cc671 fb_get_mode +EXPORT_SYMBOL vmlinux 0x379f4780 neigh_destroy +EXPORT_SYMBOL vmlinux 0x37a0c2fd pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x37a19fa6 pci_enable_ido +EXPORT_SYMBOL vmlinux 0x37b5dd0a sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37ddce5c unregister_qdisc +EXPORT_SYMBOL vmlinux 0x37df790d genlmsg_put +EXPORT_SYMBOL vmlinux 0x37e42b9a block_commit_write +EXPORT_SYMBOL vmlinux 0x3819f228 bdi_init +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38204bb3 input_release_device +EXPORT_SYMBOL vmlinux 0x384479f8 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x384b4882 generic_show_options +EXPORT_SYMBOL vmlinux 0x3853053a padata_do_serial +EXPORT_SYMBOL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x389bfe0d rtc_lock +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38d7161d pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x38d9d775 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x38f33bed dump_fpu +EXPORT_SYMBOL vmlinux 0x390c23f5 napi_complete +EXPORT_SYMBOL vmlinux 0x3923d03d invalidate_partition +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x392d4179 netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x3930b3c1 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x39372b93 register_key_type +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39426f95 scsi_host_get +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3972d7ae keyring_search +EXPORT_SYMBOL vmlinux 0x3975d393 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x39790fa6 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39853063 dquot_alloc +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a055f3 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x39a99c42 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x39bb372f dq_data_lock +EXPORT_SYMBOL vmlinux 0x39cf9cf9 scsi_unregister +EXPORT_SYMBOL vmlinux 0x39f9a5ad locks_free_lock +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a17e5e4 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x3a188458 dev_deactivate +EXPORT_SYMBOL vmlinux 0x3a20ff73 __crc32c_le +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a551d1f intel_gtt_map_memory +EXPORT_SYMBOL vmlinux 0x3a7cd28e bio_init +EXPORT_SYMBOL vmlinux 0x3a865acb proto_register +EXPORT_SYMBOL vmlinux 0x3a9a85d2 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3abc99cc input_event +EXPORT_SYMBOL vmlinux 0x3acd8524 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x3ace0838 nf_register_hooks +EXPORT_SYMBOL vmlinux 0x3ad68fdd journal_forget +EXPORT_SYMBOL vmlinux 0x3aecfbfb nla_put +EXPORT_SYMBOL vmlinux 0x3b2921b7 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b4ceb4a up_write +EXPORT_SYMBOL vmlinux 0x3b6e48e0 simple_write_begin +EXPORT_SYMBOL vmlinux 0x3b72fc98 acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0x3b9107dc kmem_cache_size +EXPORT_SYMBOL vmlinux 0x3bc7071a sock_map_fd +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3beae4e0 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x3beb690b lg_local_unlock +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3bfbd127 dev_load +EXPORT_SYMBOL vmlinux 0x3c162ab7 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x3c32bcf0 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x3c3edb08 pci_dev_put +EXPORT_SYMBOL vmlinux 0x3c51e0c0 dma_set_mask +EXPORT_SYMBOL vmlinux 0x3c621e23 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x3c629a78 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3ca01351 tty_check_change +EXPORT_SYMBOL vmlinux 0x3ca6e4fc path_get +EXPORT_SYMBOL vmlinux 0x3ca9c719 lock_may_read +EXPORT_SYMBOL vmlinux 0x3cb78d33 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0x3cc64807 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x3cc992c3 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf04e49 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x3d0f3e10 find_lock_page +EXPORT_SYMBOL vmlinux 0x3d1003dc scsi_print_command +EXPORT_SYMBOL vmlinux 0x3d286720 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x3d5844b3 strnicmp +EXPORT_SYMBOL vmlinux 0x3d7c1ed7 msrs_alloc +EXPORT_SYMBOL vmlinux 0x3d8cd304 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da07e6c dump_write +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3db746f8 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x3dc426bf spi_display_xfer_agreement +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3de18508 input_allocate_device +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e28b1d2 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x3e2ae3a8 acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e66f492 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x3e77f292 inode_init_once +EXPORT_SYMBOL vmlinux 0x3e81bbda __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e9ce6a5 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x3ea0fe2e skb_clone +EXPORT_SYMBOL vmlinux 0x3ea25c26 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3ebc9596 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ee5d828 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f06824f get_gendisk +EXPORT_SYMBOL vmlinux 0x3f1fcfbd sg_miter_start +EXPORT_SYMBOL vmlinux 0x3f228386 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x3f2f8905 revert_creds +EXPORT_SYMBOL vmlinux 0x3f3bc02c pnp_is_active +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f71c832 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x3f71faa1 mempool_create +EXPORT_SYMBOL vmlinux 0x3fb5920d pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x3fcec492 journal_load +EXPORT_SYMBOL vmlinux 0x3fe4878c journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x3fec048f sg_next +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x402256a5 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x40256835 complete_all +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x402e86f1 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x4036beef agp_bridge +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x406640cb tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x406fb19d phy_register_fixup_for_id +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 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a590a5 pm860x_page_bulk_read +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 0x40ddb309 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x40dffb3b udp_prot +EXPORT_SYMBOL vmlinux 0x40e1714b ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x40f0fdb5 udp_proc_register +EXPORT_SYMBOL vmlinux 0x41013f9c tty_devnum +EXPORT_SYMBOL vmlinux 0x4104369d get_user_pages +EXPORT_SYMBOL vmlinux 0x41088e03 journal_update_format +EXPORT_SYMBOL vmlinux 0x4121007e serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x41444478 simple_open +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x417f3444 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x4180e241 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41db2d68 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x41e87d9d qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x42032580 __secpath_destroy +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x421e86ab scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x4233dff3 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x423432b4 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42615019 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x428da234 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x4293193f d_make_root +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42a70313 pipe_lock +EXPORT_SYMBOL vmlinux 0x42b0325e gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x42c7aa85 dquot_destroy +EXPORT_SYMBOL vmlinux 0x42c8de35 ioremap_nocache +EXPORT_SYMBOL vmlinux 0x42d52f34 default_llseek +EXPORT_SYMBOL vmlinux 0x42fef35e mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +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 0x435c928d bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x4369f8d9 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x437d7919 pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x437dfe15 notify_change +EXPORT_SYMBOL vmlinux 0x437f84cf sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x438a5a26 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x439e4e81 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43b2fdcc agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x43b7543e generic_setxattr +EXPORT_SYMBOL vmlinux 0x43beae0a uart_add_one_port +EXPORT_SYMBOL vmlinux 0x43c80a42 netif_napi_del +EXPORT_SYMBOL vmlinux 0x43d2745f lock_super +EXPORT_SYMBOL vmlinux 0x43df9da6 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x43e7e5be dquot_transfer +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4403fce1 acpi_bus_generate_proc_event +EXPORT_SYMBOL vmlinux 0x440d334d vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0x44146e63 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x443f9853 input_unregister_device +EXPORT_SYMBOL vmlinux 0x4451b1ce neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x4457caf3 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x44678b82 arp_create +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x44845632 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x4487366b sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x448eac3e kmemdup +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a1ab98 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x44a7a520 generic_removexattr +EXPORT_SYMBOL vmlinux 0x44a81d5f acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44e798e8 __register_binfmt +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45029581 netif_rx_ni +EXPORT_SYMBOL vmlinux 0x45044497 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x45157f6e sock_i_ino +EXPORT_SYMBOL vmlinux 0x45158fdd __alloc_skb +EXPORT_SYMBOL vmlinux 0x45198266 i2c_smbus_read_word_data +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 0x455dae52 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x456120df dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45b02701 uart_match_port +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45d89679 inet_listen +EXPORT_SYMBOL vmlinux 0x45dc376a pci_dev_driver +EXPORT_SYMBOL vmlinux 0x4605a23d ida_simple_get +EXPORT_SYMBOL vmlinux 0x46071366 vc_cons +EXPORT_SYMBOL vmlinux 0x460f1c8e xfrm_register_km +EXPORT_SYMBOL vmlinux 0x4611b569 tcp_seq_open +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x462177c6 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x46548b1e pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x4656a433 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46713d5c d_drop +EXPORT_SYMBOL vmlinux 0x46bf39f9 sock_no_bind +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cadb5a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x46cfc9e9 elv_rb_add +EXPORT_SYMBOL vmlinux 0x46ea2728 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4727e517 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475f010b acpi_purge_cached_objects +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 0x47b2d6d6 pci_bus_type +EXPORT_SYMBOL vmlinux 0x47b3b985 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47b6a10f ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x47b834b7 mutex_lock +EXPORT_SYMBOL vmlinux 0x47c7b0d2 cpu_number +EXPORT_SYMBOL vmlinux 0x47f067cb amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x47f46fc8 pci_get_class +EXPORT_SYMBOL vmlinux 0x4813d168 block_write_begin +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481cb9ab acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x481ce849 md_check_recovery +EXPORT_SYMBOL vmlinux 0x4835daa3 simple_unlink +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x48675c1e lock_fb_info +EXPORT_SYMBOL vmlinux 0x4872b422 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x4875ff21 vfs_create +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x488285ed pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x488371c0 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x48e0e5a9 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49062df3 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x4910b212 udp_disconnect +EXPORT_SYMBOL vmlinux 0x4927350f dev_err +EXPORT_SYMBOL vmlinux 0x493666a8 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x494a3e95 read_cache_pages +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x49811cb8 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x498d5b79 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49bb5809 sync_inode +EXPORT_SYMBOL vmlinux 0x49cdbaea kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x49e0acdf mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x49f31a27 eth_change_mtu +EXPORT_SYMBOL vmlinux 0x49f40d05 have_submounts +EXPORT_SYMBOL vmlinux 0x49fa45b9 splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x4a0e5d28 ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x4a27fbec __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x4a2a7fda padata_free +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a65c87d netpoll_print_options +EXPORT_SYMBOL vmlinux 0x4a68b5f0 console_stop +EXPORT_SYMBOL vmlinux 0x4a6dd6f0 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x4a9a0073 mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x4aad52d7 mempool_free +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b06d2e7 complete +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b35d104 alloc_disk +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4bce61f1 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x4be7e3b5 seq_putc +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c4fef19 kernel_stack +EXPORT_SYMBOL vmlinux 0x4c708e75 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x4ca86fd9 free_buffer_head +EXPORT_SYMBOL vmlinux 0x4ca9669f scnprintf +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4ccc4947 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x4cd97103 register_console +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4ce50ec8 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x4ceb42a9 set_device_ro +EXPORT_SYMBOL vmlinux 0x4cf5d90d __put_cred +EXPORT_SYMBOL vmlinux 0x4cfab726 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x4d031497 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x4d1023f8 mempool_resize +EXPORT_SYMBOL vmlinux 0x4d3f7db7 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d46b889 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x4d4c78bf dquot_file_open +EXPORT_SYMBOL vmlinux 0x4d4ecfa6 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x4d674900 intel_gtt_get +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d99bcd1 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x4dbbbb2a tcp_shutdown +EXPORT_SYMBOL vmlinux 0x4dbd37ac writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x4dbe24cd netdev_state_change +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4de7c2fe amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x4df0fc31 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e21999c acpi_get_child +EXPORT_SYMBOL vmlinux 0x4e24f174 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x4e28ba91 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x4e34554a setup_new_exec +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4ec1e910 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4efa9f63 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x4f002a45 security_path_truncate +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f1d90fe pci_pme_capable +EXPORT_SYMBOL vmlinux 0x4f31e0ef inet_getname +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3e4825 elv_add_request +EXPORT_SYMBOL vmlinux 0x4f476e96 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x4f5a18dd filp_open +EXPORT_SYMBOL vmlinux 0x4f654603 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f6b400b _copy_from_user +EXPORT_SYMBOL vmlinux 0x4f783f30 acpi_read +EXPORT_SYMBOL vmlinux 0x4f89c888 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x4f8b5ddb _copy_to_user +EXPORT_SYMBOL vmlinux 0x4faf64c8 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x4fbb22e2 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x4fda2240 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x501cbdea fb_pan_display +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x503f8711 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x504822c3 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x50529870 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x5059d081 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x505a2a32 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x5081efde sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x5084dbe0 dquot_commit +EXPORT_SYMBOL vmlinux 0x50a90e8d bsearch +EXPORT_SYMBOL vmlinux 0x50b3dd84 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x50d2592d hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x50fd4d8c i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x50fff519 softnet_data +EXPORT_SYMBOL vmlinux 0x5106c7c2 x86_dma_fallback_dev +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 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x51504081 pcim_iomap +EXPORT_SYMBOL vmlinux 0x516c5620 tty_write_room +EXPORT_SYMBOL vmlinux 0x517be4fe sock_wfree +EXPORT_SYMBOL vmlinux 0x519a8c6b journal_get_create_access +EXPORT_SYMBOL vmlinux 0x519fdea5 file_open_root +EXPORT_SYMBOL vmlinux 0x51bf7315 get_write_access +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x51f07336 __register_chrdev +EXPORT_SYMBOL vmlinux 0x51fce100 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x5200af82 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x520671ba jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x5206f108 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x52095e19 acpi_get_data +EXPORT_SYMBOL vmlinux 0x52130046 acpi_check_address_range +EXPORT_SYMBOL vmlinux 0x5231d339 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x524948aa phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x525e026f acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0x526ed3fb blk_init_tags +EXPORT_SYMBOL vmlinux 0x52b56e2d ip_route_input_common +EXPORT_SYMBOL vmlinux 0x52bad38a inet_frag_find +EXPORT_SYMBOL vmlinux 0x52c12bfc scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e44561 rtnl_notify +EXPORT_SYMBOL vmlinux 0x52ecc787 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x52f6d60b dev_get_flags +EXPORT_SYMBOL vmlinux 0x52f746f1 sock_no_poll +EXPORT_SYMBOL vmlinux 0x5305e40f pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x532f04c2 cad_pid +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x534a4165 d_invalidate +EXPORT_SYMBOL vmlinux 0x5377e556 hex2bin +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5395bac5 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53bbd4a2 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x53c584df security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x53ddcf53 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x53e014e0 tty_free_termios +EXPORT_SYMBOL vmlinux 0x53f5c59b pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x53f6ffbc wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x53fc5232 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x5439858a kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54554948 kobject_put +EXPORT_SYMBOL vmlinux 0x54568b75 register_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x547500af task_nice +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54edb667 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x55025ef1 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0x55030002 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x550424d6 journal_create +EXPORT_SYMBOL vmlinux 0x550ba4a3 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x55265520 journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x552aaeeb bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x55385a83 phy_start +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x555c8526 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x55671680 lg_lock_init +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a72f1d sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x55f4f86c amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0x55f5019b __kmalloc_node +EXPORT_SYMBOL vmlinux 0x560c6a38 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x5613d2c6 sk_filter +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x562384c1 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563864ad mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x564a9a81 submit_bio +EXPORT_SYMBOL vmlinux 0x56618424 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x566bf946 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x567a7231 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x56836dc9 find_vma +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d1cf51 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x56e98e0d may_umount_tree +EXPORT_SYMBOL vmlinux 0x56fcce81 brioctl_set +EXPORT_SYMBOL vmlinux 0x57141336 save_mount_options +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57390db3 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x5754b0f8 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x5756cfe7 drop_super +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x5765e5e0 amd_northbridges +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x57880904 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57a6ccd0 down_read +EXPORT_SYMBOL vmlinux 0x57b644f9 mii_link_ok +EXPORT_SYMBOL vmlinux 0x57c928b5 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x57cb60af dev_disable_lro +EXPORT_SYMBOL vmlinux 0x57d107e4 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x57d665e8 simple_rmdir +EXPORT_SYMBOL vmlinux 0x57db798d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x57e4c9bf journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x580eb2e9 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x5811b2f3 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x583d2e2a filemap_fault +EXPORT_SYMBOL vmlinux 0x584738f9 rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x58554788 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x585f9550 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x5860aad4 add_wait_queue +EXPORT_SYMBOL vmlinux 0x586103be acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x5862d67a give_up_console +EXPORT_SYMBOL vmlinux 0x586b8ea9 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x588bb875 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x58b3ba79 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x58bed68a register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x58e1598b generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x5967c929 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x59729379 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x59759b2b vfsmount_lock +EXPORT_SYMBOL vmlinux 0x599e4353 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x59a14ac0 pci_save_state +EXPORT_SYMBOL vmlinux 0x59b6c592 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x59bc9609 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59e52722 textsearch_register +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a0c42f7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x5a1206fe pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0x5a17ed8b dst_discard +EXPORT_SYMBOL vmlinux 0x5a219013 padata_stop +EXPORT_SYMBOL vmlinux 0x5a2c7c08 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x5a2d28d1 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x5a37a8fa ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x5a3fe9ec skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4f8f2d is_container_init +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a82abfe scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x5a85940f napi_gro_receive +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5ac0ceee dquot_commit_info +EXPORT_SYMBOL vmlinux 0x5ac376a5 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x5aceaf88 md_write_start +EXPORT_SYMBOL vmlinux 0x5ad0f0cb dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x5aeb145f complete_and_exit +EXPORT_SYMBOL vmlinux 0x5af37054 key_alloc +EXPORT_SYMBOL vmlinux 0x5af5513a blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x5af9e884 set_pages_wb +EXPORT_SYMBOL vmlinux 0x5afca952 __inet6_hash +EXPORT_SYMBOL vmlinux 0x5b15591f get_super_thawed +EXPORT_SYMBOL vmlinux 0x5b2698db input_free_device +EXPORT_SYMBOL vmlinux 0x5b2ef77f skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x5b43d96b pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b6bb51f kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0x5b875e3c mutex_trylock +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bc10524 printk_emit +EXPORT_SYMBOL vmlinux 0x5bc45e1b i2c_register_driver +EXPORT_SYMBOL vmlinux 0x5bc83818 inode_change_ok +EXPORT_SYMBOL vmlinux 0x5be4fc07 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x5c18b62a pci_enable_msix +EXPORT_SYMBOL vmlinux 0x5c294114 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x5c3edd59 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x5c44a9a6 padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x5c8b5ce8 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x5cbbd330 fsync_bdev +EXPORT_SYMBOL vmlinux 0x5cc8f175 __block_write_begin +EXPORT_SYMBOL vmlinux 0x5cd6ab79 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x5cf04dfe tc_classify +EXPORT_SYMBOL vmlinux 0x5cfd1e71 current_task +EXPORT_SYMBOL vmlinux 0x5d068984 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d1e44a4 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x5d45eb2d dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x5d4f1dfc tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d74dbcf pnp_range_reserved +EXPORT_SYMBOL vmlinux 0x5d9a1b5f inet_stream_connect +EXPORT_SYMBOL vmlinux 0x5db3ab26 lock_may_write +EXPORT_SYMBOL vmlinux 0x5db79d46 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x5dbb2d66 mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x5dbf6aa1 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5dc565dd pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x5e2dea42 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e8a495a tty_kref_put +EXPORT_SYMBOL vmlinux 0x5e8b575a skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9a8a0f __lock_page +EXPORT_SYMBOL vmlinux 0x5ea0df7c bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed45c30 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x5edbe549 fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee2e031 ida_get_new_above +EXPORT_SYMBOL vmlinux 0x5ee7367f netlink_unicast +EXPORT_SYMBOL vmlinux 0x5ef1ea7a inode_set_bytes +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f33da3b inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x5f395bf4 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f58f676 flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x5f6c59ff pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x5f7f274c tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x5f8ed2a8 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fd20221 journal_destroy +EXPORT_SYMBOL vmlinux 0x5ff42b08 acpi_video_get_capabilities +EXPORT_SYMBOL vmlinux 0x5ffeb4fc dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602ed00d acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0x6031f8d2 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x60632305 __sock_create +EXPORT_SYMBOL vmlinux 0x606b1769 genphy_read_status +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x6076533a generic_setlease +EXPORT_SYMBOL vmlinux 0x607b7d66 ip6_route_output +EXPORT_SYMBOL vmlinux 0x607cda9c xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x609095a1 proc_mkdir +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60b0ae86 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x60b74532 serio_reconnect +EXPORT_SYMBOL vmlinux 0x60cf0530 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x60f21583 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x61106fb1 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x6117882e security_path_mkdir +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61421d04 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x6167098d generic_file_llseek +EXPORT_SYMBOL vmlinux 0x616f41d7 elevator_init +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x61829333 skb_find_text +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x6196b971 init_buffer +EXPORT_SYMBOL vmlinux 0x6197ed06 scsi_init_io +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a1afa6 module_refcount +EXPORT_SYMBOL vmlinux 0x61ab27be __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bd1828 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x61c98f19 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x61cd228e iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x62049256 acpi_disable +EXPORT_SYMBOL vmlinux 0x620b2e3e do_truncate +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 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 0x628e0783 agp_find_bridge +EXPORT_SYMBOL vmlinux 0x629b7d91 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x62b865ec __pskb_copy +EXPORT_SYMBOL vmlinux 0x62d5030a d_delete +EXPORT_SYMBOL vmlinux 0x62e43e24 scsi_host_put +EXPORT_SYMBOL vmlinux 0x62e824d8 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x62f22e99 block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x6313368b sock_wake_async +EXPORT_SYMBOL vmlinux 0x631587b4 acpi_get_physical_device +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x6332c909 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x634d13c1 dcache_readdir +EXPORT_SYMBOL vmlinux 0x636a5691 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0x637d3b59 pci_find_capability +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63a021a2 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x63aa2b2d netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x63aaed68 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x63adf340 vfs_getattr +EXPORT_SYMBOL vmlinux 0x63c2694a ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x63c73c6e vfs_readv +EXPORT_SYMBOL vmlinux 0x63e26b8b wireless_send_event +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x63f5d5db mdiobus_read +EXPORT_SYMBOL vmlinux 0x63fc232f strlen_user +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x640cbbed posix_lock_file +EXPORT_SYMBOL vmlinux 0x642592c6 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x6449fd41 acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0x646ea10c blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x646ec453 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x6478134c ec_burst_enable +EXPORT_SYMBOL vmlinux 0x6486456a pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x648c4cc4 force_sig +EXPORT_SYMBOL vmlinux 0x6490d070 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649b26b8 udp_poll +EXPORT_SYMBOL vmlinux 0x649d4ef9 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x649e87b5 lock_rename +EXPORT_SYMBOL vmlinux 0x64b0b183 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x64c4bde8 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x64c51228 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x64e210a6 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x64e3b91a flush_signals +EXPORT_SYMBOL vmlinux 0x64eae7ad set_memory_array_wb +EXPORT_SYMBOL vmlinux 0x64fc9bca dev_remove_pack +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x655f1ab0 set_memory_array_wc +EXPORT_SYMBOL vmlinux 0x656af6e5 key_revoke +EXPORT_SYMBOL vmlinux 0x656dd7f8 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x657c1877 dev_trans_start +EXPORT_SYMBOL vmlinux 0x658c2619 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x658e3ced tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x65908ade sock_no_getname +EXPORT_SYMBOL vmlinux 0x65bf35df skb_queue_tail +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65ec67df input_set_keycode +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x6605f97f flex_array_clear +EXPORT_SYMBOL vmlinux 0x660c7498 unregister_key_type +EXPORT_SYMBOL vmlinux 0x661cf209 mmc_free_host +EXPORT_SYMBOL vmlinux 0x6659a668 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x668d8e51 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669ea296 vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x66a67dab flex_array_shrink +EXPORT_SYMBOL vmlinux 0x66c547bb aio_put_req +EXPORT_SYMBOL vmlinux 0x670380fd kmem_cache_create +EXPORT_SYMBOL vmlinux 0x6704ec47 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x671c9d8d xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x6725b918 phy_detach +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x673e2fb6 compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x676693e1 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x677a5192 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0x678dff7d tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x679e84dd tcp_sendmsg +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 0x67c4cd51 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x67d396b0 rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0x67ee61ef thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0x680d69d2 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0x6821ffdf generic_make_request +EXPORT_SYMBOL vmlinux 0x68384054 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x683a22db new_inode +EXPORT_SYMBOL vmlinux 0x6854e3dd sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x68591ec5 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x6886b9b3 phy_find_first +EXPORT_SYMBOL vmlinux 0x68873198 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x68aca4ad down +EXPORT_SYMBOL vmlinux 0x68cb8a72 phy_device_free +EXPORT_SYMBOL vmlinux 0x68d207a5 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x68d8de53 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68f2fddc lookup_hash +EXPORT_SYMBOL vmlinux 0x68f650d3 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x690ff2c3 make_bad_inode +EXPORT_SYMBOL vmlinux 0x691001b5 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x69247dfe xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x6958c972 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x6959d0fb get_super +EXPORT_SYMBOL vmlinux 0x69612143 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69799b9a registered_fb +EXPORT_SYMBOL vmlinux 0x697ac9bd __dquot_free_space +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69a32c6c neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x69a358a6 iomem_resource +EXPORT_SYMBOL vmlinux 0x69a3a483 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x69aa73f0 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b5b5b2 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x69bb6aeb arp_xmit +EXPORT_SYMBOL vmlinux 0x69ca3ba0 nf_reinject +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69dbc121 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69e5ab7f splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x69ec8994 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x69f43292 dev_add_pack +EXPORT_SYMBOL vmlinux 0x69f9a0ba agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x69fbc0a2 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a162f84 inet_sendpage +EXPORT_SYMBOL vmlinux 0x6a216c02 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6ab9ee6c stop_tty +EXPORT_SYMBOL vmlinux 0x6aba782d skb_pad +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ad85887 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae06f5d blk_start_request +EXPORT_SYMBOL vmlinux 0x6af5a137 spi_attach_transport +EXPORT_SYMBOL vmlinux 0x6b025fc7 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x6b1329d2 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x6b1adbac neigh_parms_release +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b272f40 __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b39a9a5 dm_get_device +EXPORT_SYMBOL vmlinux 0x6b44f9b7 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x6b460967 idr_get_next +EXPORT_SYMBOL vmlinux 0x6b4c8ced acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x6b523df1 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x6b640864 nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6b6e3040 swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b75d42b generic_permission +EXPORT_SYMBOL vmlinux 0x6b7a1d3b qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x6b85df24 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x6b89e921 dev_change_flags +EXPORT_SYMBOL vmlinux 0x6b89ffbe tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x6b93072a netdev_warn +EXPORT_SYMBOL vmlinux 0x6bb9ec33 netlink_ack +EXPORT_SYMBOL vmlinux 0x6bc1d881 scsi_add_device +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd41134 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf6018a inode_permission +EXPORT_SYMBOL vmlinux 0x6c1333e3 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x6c1b890d ps2_command +EXPORT_SYMBOL vmlinux 0x6c2d4995 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL vmlinux 0x6c3b2201 kthread_stop +EXPORT_SYMBOL vmlinux 0x6c3c043e mii_check_link +EXPORT_SYMBOL vmlinux 0x6c508696 datagram_poll +EXPORT_SYMBOL vmlinux 0x6c5101d8 percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c69ba9e dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c70353b __nla_put +EXPORT_SYMBOL vmlinux 0x6c75c083 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x6c76ba95 skb_make_writable +EXPORT_SYMBOL vmlinux 0x6cb4397c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x6cb974ca key_validate +EXPORT_SYMBOL vmlinux 0x6cd3b919 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x6cdd6386 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0500a6 log_start_commit +EXPORT_SYMBOL vmlinux 0x6d0aba34 wait_for_completion +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d2125a7 amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0x6d26cbfc elv_abort_queue +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 0x6d36a3cd dev_mc_sync +EXPORT_SYMBOL vmlinux 0x6d612c27 tcp_connect +EXPORT_SYMBOL vmlinux 0x6d61f683 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x6d64acfd mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d6ee4b8 bioset_free +EXPORT_SYMBOL vmlinux 0x6dbe59ca tcp_prot +EXPORT_SYMBOL vmlinux 0x6dc6c08e read_dev_sector +EXPORT_SYMBOL vmlinux 0x6dd39029 i2c_transfer +EXPORT_SYMBOL vmlinux 0x6dd5fcc6 padata_add_cpu +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6df8c499 no_llseek +EXPORT_SYMBOL vmlinux 0x6e270849 mmc_can_reset +EXPORT_SYMBOL vmlinux 0x6e297a62 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6e66abe4 fput +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ed0c1de ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6ed12914 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x6f16595e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x6f19ff74 first_ec +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f25e74f mmc_can_discard +EXPORT_SYMBOL vmlinux 0x6f27df72 irq_set_chip +EXPORT_SYMBOL vmlinux 0x6f344f8b dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x6f48b5df d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x6f4c812f __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x6f556bdb acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x6f89277b tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x6fbc7b3f uart_register_driver +EXPORT_SYMBOL vmlinux 0x6fc0f8c9 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x6fcac759 input_reset_device +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd040ec generic_segment_checks +EXPORT_SYMBOL vmlinux 0x6fe419c3 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x6feb2039 acpi_write +EXPORT_SYMBOL vmlinux 0x70177606 pci_bus_write_config_byte +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 0x7067de52 __lock_buffer +EXPORT_SYMBOL vmlinux 0x706c287e padata_do_parallel +EXPORT_SYMBOL vmlinux 0x7092e8ca buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x709a7b85 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x709ef882 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70d8ab82 acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0x70eee9cb inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x711152f3 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712b1a65 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x712d803b neigh_seq_start +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71882480 dev_addr_add +EXPORT_SYMBOL vmlinux 0x718f5b26 mount_nodev +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71c27a48 skb_dequeue +EXPORT_SYMBOL vmlinux 0x71dec4f6 inet_addr_type +EXPORT_SYMBOL vmlinux 0x71e3cecb up +EXPORT_SYMBOL vmlinux 0x71e69ebd netdev_features_change +EXPORT_SYMBOL vmlinux 0x71f2602d gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x7209bf57 serio_rescan +EXPORT_SYMBOL vmlinux 0x722b88be nobh_write_end +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x7254d9b7 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x72732834 thaw_bdev +EXPORT_SYMBOL vmlinux 0x727f093c scsi_free_command +EXPORT_SYMBOL vmlinux 0x729a56a3 poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x72a74b4e pcim_enable_device +EXPORT_SYMBOL vmlinux 0x72a98fdb copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72bf2140 mtrr_add +EXPORT_SYMBOL vmlinux 0x72dfb417 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x7323a130 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x733d986e pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x733e8a81 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x7348d7b3 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x73496315 vfs_statfs +EXPORT_SYMBOL vmlinux 0x7351d5ba dev_open +EXPORT_SYMBOL vmlinux 0x73571aeb led_brightness_set +EXPORT_SYMBOL vmlinux 0x7359f169 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x73652373 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x737984e8 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738ec879 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x7395abf6 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x73a78bc4 downgrade_write +EXPORT_SYMBOL vmlinux 0x73d0ff81 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73fe90fd tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x74074028 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x742e086c unregister_nls +EXPORT_SYMBOL vmlinux 0x743786a8 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x743b19b0 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0x743f4184 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x744cb234 skb_append +EXPORT_SYMBOL vmlinux 0x744fc2c2 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x7466c5d6 led_blink_set +EXPORT_SYMBOL vmlinux 0x7469830b xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x747ebe5e netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x748e3c91 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x749f4165 irq_stat +EXPORT_SYMBOL vmlinux 0x74bb3e73 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74d826e2 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74e8b522 tty_throttle +EXPORT_SYMBOL vmlinux 0x74f8b038 km_query +EXPORT_SYMBOL vmlinux 0x7501484d dma_async_device_register +EXPORT_SYMBOL vmlinux 0x7507dbd0 jbd2_journal_destroy +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 0x7559b1ce xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x756927f5 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x756f7b1f posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x757f1320 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x75b097fa __module_get +EXPORT_SYMBOL vmlinux 0x75b1f1fb kobject_get +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 0x76011256 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7611c0d0 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x7611e4e8 i8042_install_filter +EXPORT_SYMBOL vmlinux 0x7628f3c7 this_cpu_off +EXPORT_SYMBOL vmlinux 0x762b2492 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x765fbc7e ip_options_compile +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 0x7687d79d __ip_select_ident +EXPORT_SYMBOL vmlinux 0x76a4d3fc kill_litter_super +EXPORT_SYMBOL vmlinux 0x76ab1e57 netdev_alert +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76f5b5dd pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x77242178 bdi_register +EXPORT_SYMBOL vmlinux 0x773568ea follow_pfn +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x777bfd3f d_find_alias +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c16897 skb_queue_head +EXPORT_SYMBOL vmlinux 0x77c70516 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77e6b61e dm_put_device +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77f53abc acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x782941da inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x78314ace dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7844a4b3 user_path_at +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x785ae4a0 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x785eae0e twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x7874191f mmc_request_done +EXPORT_SYMBOL vmlinux 0x78764f4e pv_irq_ops +EXPORT_SYMBOL vmlinux 0x787af54a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78974cec generic_fillattr +EXPORT_SYMBOL vmlinux 0x789bdca3 seq_printf +EXPORT_SYMBOL vmlinux 0x789e7049 key_link +EXPORT_SYMBOL vmlinux 0x78ba3d0a dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x78bb3e24 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f46807 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x79068fda acpi_install_method +EXPORT_SYMBOL vmlinux 0x791cce81 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x792b9ddf blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7972d0e5 phy_driver_register +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79883443 udplite_prot +EXPORT_SYMBOL vmlinux 0x798d2759 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x79945d9f proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x799be490 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x79a38e61 ___ratelimit +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79c1e93a inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x79f82a7e agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x79f9daf1 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a2991b1 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x7a2e2f09 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a4773b1 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x7a4fe490 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x7a616134 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x7a809366 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x7aa57c5c blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac0b2f3 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x7ac6582c setup_arg_pages +EXPORT_SYMBOL vmlinux 0x7aec9089 clear_user +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b0c84c4 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0x7b10aeff ppp_input_error +EXPORT_SYMBOL vmlinux 0x7b1ad14a names_cachep +EXPORT_SYMBOL vmlinux 0x7b2aef6c __krealloc +EXPORT_SYMBOL vmlinux 0x7b399007 scsi_device_get +EXPORT_SYMBOL vmlinux 0x7b4a663c inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7b52a859 wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x7b559ed8 __devm_release_region +EXPORT_SYMBOL vmlinux 0x7b56bd05 acpi_lid_notifier_register +EXPORT_SYMBOL vmlinux 0x7b78fbe4 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x7b9a6116 intel_agp_enabled +EXPORT_SYMBOL vmlinux 0x7baf08a0 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x7bbd8e71 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x7bfbf3cd get_unmapped_area +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c24e92f lro_flush_all +EXPORT_SYMBOL vmlinux 0x7c2d098f krealloc +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +EXPORT_SYMBOL vmlinux 0x7c904ded unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x7c9a46ad tty_set_operations +EXPORT_SYMBOL vmlinux 0x7ca46555 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x7cb1ae69 cpu_down +EXPORT_SYMBOL vmlinux 0x7ceaa22c mark_buffer_dirty_inode +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 0x7d2f1127 skb_unlink +EXPORT_SYMBOL vmlinux 0x7d4e1e3a generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x7d59a6ef writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x7d6895ad usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x7d887890 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x7d94f746 acpi_os_write_port +EXPORT_SYMBOL vmlinux 0x7db42a4e vga_get +EXPORT_SYMBOL vmlinux 0x7dbc2e57 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7de2ea53 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e02f0ac simple_statfs +EXPORT_SYMBOL vmlinux 0x7e0d1b42 unregister_console +EXPORT_SYMBOL vmlinux 0x7e11e053 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x7e1a08d9 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x7e1b74a0 kernel_read +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e39cd81 dev_uc_del +EXPORT_SYMBOL vmlinux 0x7e567aa3 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x7e7cd961 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7e843253 __bforget +EXPORT_SYMBOL vmlinux 0x7e86429b pipe_unlock +EXPORT_SYMBOL vmlinux 0x7e9ebb05 kernel_thread +EXPORT_SYMBOL vmlinux 0x7eac4a40 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x7eb075a3 fb_class +EXPORT_SYMBOL vmlinux 0x7ec042b0 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x7ec60050 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x7ec8f9a7 x86_hyper_vmware +EXPORT_SYMBOL vmlinux 0x7ef35a93 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x7ef6db30 journal_start_commit +EXPORT_SYMBOL vmlinux 0x7ef99e4c blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x7f0d96cf tcf_hash_check +EXPORT_SYMBOL vmlinux 0x7f18b194 kacpi_hotplug_wq +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f4c00b1 ip6_xmit +EXPORT_SYMBOL vmlinux 0x7f576e33 __getblk +EXPORT_SYMBOL vmlinux 0x7f658e80 _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7f70774b tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x7f93710e pv_cpu_ops +EXPORT_SYMBOL vmlinux 0x7fd734c2 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x7fde3716 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x7fe38f48 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x7ff8d84f dev_printk +EXPORT_SYMBOL vmlinux 0x7ffaa967 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x801923b1 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x802d0e93 crc32_le +EXPORT_SYMBOL vmlinux 0x8039589f vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x80431ae1 vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0x8060dfa2 arp_send +EXPORT_SYMBOL vmlinux 0x808ebf18 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x809be149 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x80bef9b5 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x80c9461e journal_stop +EXPORT_SYMBOL vmlinux 0x80cc2cd4 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x80e07abc seq_bitmap +EXPORT_SYMBOL vmlinux 0x810dc172 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x811475ee genphy_update_link +EXPORT_SYMBOL vmlinux 0x811b1788 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x81317c26 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x81359ce4 __brelse +EXPORT_SYMBOL vmlinux 0x81472677 acpi_get_table +EXPORT_SYMBOL vmlinux 0x8149c640 bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x8151c85f mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x8158b4ad pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816b73bd uart_update_timeout +EXPORT_SYMBOL vmlinux 0x8185153c tty_port_close +EXPORT_SYMBOL vmlinux 0x819c892c __netdev_printk +EXPORT_SYMBOL vmlinux 0x81a08839 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x81aeada2 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x81d10f5f trace_seq_putc +EXPORT_SYMBOL vmlinux 0x81d3dc99 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8212721d xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0x821ab36d fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0x821af5c2 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x8221b80a __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8255fe9e read_cache_page +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x826b098a fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x829d4e08 rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82c3b3b5 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x82e70357 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x830e547b ioremap_prot +EXPORT_SYMBOL vmlinux 0x8320c391 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x83260059 prepare_binprm +EXPORT_SYMBOL vmlinux 0x832c4c7a may_umount +EXPORT_SYMBOL vmlinux 0x833c03aa acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x8353b73e remove_proc_entry +EXPORT_SYMBOL vmlinux 0x8356d143 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x835cf6d1 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x8369c831 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x836b83ff input_register_device +EXPORT_SYMBOL vmlinux 0x836fe927 submit_bh +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x8399e157 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x84060081 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x840de663 mmc_release_host +EXPORT_SYMBOL vmlinux 0x8417f512 acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0x841e6900 skb_insert +EXPORT_SYMBOL vmlinux 0x84507ede tcf_hash_search +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x8473c614 dump_trace +EXPORT_SYMBOL vmlinux 0x847d66b3 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0x848ee70c idr_remove +EXPORT_SYMBOL vmlinux 0x84ebdc6e cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x84ee60ff end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x8506549f gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x8508a7ec dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x852087a4 set_anon_super +EXPORT_SYMBOL vmlinux 0x85287b87 mntget +EXPORT_SYMBOL vmlinux 0x8532d1c2 km_report +EXPORT_SYMBOL vmlinux 0x854c4b28 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0x854cb78e jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x8556df7a gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x8562a3d5 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x8563e3d6 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x856437fd __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8588b3b4 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x859463aa seq_release_private +EXPORT_SYMBOL vmlinux 0x859718a8 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x85a40bf6 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x85b46ec4 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bff0b7 journal_restart +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85fd75fb seq_release +EXPORT_SYMBOL vmlinux 0x86122692 __invalidate_device +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x86510032 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x865cfdbd blk_init_queue +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8690db0d dev_set_mtu +EXPORT_SYMBOL vmlinux 0x86b30a5e kernel_getsockopt +EXPORT_SYMBOL vmlinux 0x86bfae20 acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x86c57e41 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x86d5255f _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x86f9c858 write_inode_now +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87081b98 bdevname +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871859dc kernel_connect +EXPORT_SYMBOL vmlinux 0x871a91ff pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x872130f7 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x8736ca23 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x873be55a xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x874d5f88 dma_find_channel +EXPORT_SYMBOL vmlinux 0x875db8f3 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x876dafc3 ec_write +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87aaddf8 wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x87b16771 uart_resume_port +EXPORT_SYMBOL vmlinux 0x87c56201 load_nls +EXPORT_SYMBOL vmlinux 0x87c58a96 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x880ea315 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x880eb42e ip_fragment +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x881906d2 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x8823fc0e iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x882f21df compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0x8830fcdd dev_notice +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x8848ed45 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x8866bcbd unlock_rename +EXPORT_SYMBOL vmlinux 0x886b612a I_BDEV +EXPORT_SYMBOL vmlinux 0x886ecba4 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x88904f38 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x889a0098 neigh_for_each +EXPORT_SYMBOL vmlinux 0x88a79192 mnt_pin +EXPORT_SYMBOL vmlinux 0x88b04e39 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0x88cad03c sg_miter_next +EXPORT_SYMBOL vmlinux 0x88d318da dev_addr_flush +EXPORT_SYMBOL vmlinux 0x88d65e6c file_sb_list_del +EXPORT_SYMBOL vmlinux 0x88d6f304 dev_emerg +EXPORT_SYMBOL vmlinux 0x88e6fc11 km_policy_expired +EXPORT_SYMBOL vmlinux 0x88f00d18 lg_global_unlock +EXPORT_SYMBOL vmlinux 0x88f561b7 console_start +EXPORT_SYMBOL vmlinux 0x892b26a0 set_memory_nx +EXPORT_SYMBOL vmlinux 0x8948d056 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x89517d85 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x89558edd mpage_writepage +EXPORT_SYMBOL vmlinux 0x89714968 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x8975b4ec generic_delete_inode +EXPORT_SYMBOL vmlinux 0x89a46c5e cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x89a57c02 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89c89999 do_splice_from +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 0x8a22fed8 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a790394 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aac8acf unregister_quota_format +EXPORT_SYMBOL vmlinux 0x8aad7b04 dma_supported +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8afa48f1 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x8b144ddb compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b50d6ab register_sysctl +EXPORT_SYMBOL vmlinux 0x8b51eb54 would_dump +EXPORT_SYMBOL vmlinux 0x8b5f4a2e IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7fadc2 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x8b7fd9e7 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x8b8f25b0 dquot_release +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bda613b mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x8bee4733 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c01721f alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x8c17401b genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c220320 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x8c2f167d xfrm_input +EXPORT_SYMBOL vmlinux 0x8c55a07f pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x8c5e8245 register_quota_format +EXPORT_SYMBOL vmlinux 0x8c848bd1 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x8c8daf48 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x8c98d33f framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x8cb2adc3 idr_for_each +EXPORT_SYMBOL vmlinux 0x8cbef51d simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cc95e8e tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x8cd88c07 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cea3b2d amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0x8d443aac compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d56025c sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d8d96c6 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x8d9f029f pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x8da1a3cb acpi_remove_interface +EXPORT_SYMBOL vmlinux 0x8daf8c42 dql_init +EXPORT_SYMBOL vmlinux 0x8dc7b465 phy_device_register +EXPORT_SYMBOL vmlinux 0x8ddb8b73 misc_deregister +EXPORT_SYMBOL vmlinux 0x8defa3d9 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8df33ec8 wait_iff_congested +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8dfe6fab inode_init_always +EXPORT_SYMBOL vmlinux 0x8e002cda acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0x8e0da1c3 tcp_check_req +EXPORT_SYMBOL vmlinux 0x8e280491 agp_copy_info +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e4293db free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x8e584f67 dst_alloc +EXPORT_SYMBOL vmlinux 0x8e62cbd7 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x8e7a29f8 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x8e903051 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x8e94ea5e inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8ed25bb1 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x8ed376bb agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x8ef772a1 kill_bdev +EXPORT_SYMBOL vmlinux 0x8f1b7be9 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f51cc8f __frontswap_store +EXPORT_SYMBOL vmlinux 0x8f51fe11 agp_free_page_array +EXPORT_SYMBOL vmlinux 0x8f52a40d kobject_set_name +EXPORT_SYMBOL vmlinux 0x8f637c81 nobh_writepage +EXPORT_SYMBOL vmlinux 0x8f681f4c devm_gpio_request +EXPORT_SYMBOL vmlinux 0x8f6f00e8 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f719cfe textsearch_unregister +EXPORT_SYMBOL vmlinux 0x8f75321b skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x8f7ee7bb ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fe2c137 tty_name +EXPORT_SYMBOL vmlinux 0x8ff52750 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x904409c6 acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x90465df2 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x904a269d elv_register_queue +EXPORT_SYMBOL vmlinux 0x905210f7 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x905eb8c0 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x905eeaac pci_request_regions +EXPORT_SYMBOL vmlinux 0x905f5e72 mount_bdev +EXPORT_SYMBOL vmlinux 0x907f3d9f blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x90a1601f dmi_check_system +EXPORT_SYMBOL vmlinux 0x90e5d0b8 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x90f76acc ihold +EXPORT_SYMBOL vmlinux 0x9104245d max8925_set_bits +EXPORT_SYMBOL vmlinux 0x9144a8e2 ec_burst_disable +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x915e853e netdev_change_features +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x918c6ad8 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x91a3cdf4 down_timeout +EXPORT_SYMBOL vmlinux 0x91ac822f vscnprintf +EXPORT_SYMBOL vmlinux 0x91ac9319 revalidate_disk +EXPORT_SYMBOL vmlinux 0x91b1c90e gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x91bcf679 netdev_emerg +EXPORT_SYMBOL vmlinux 0x91c846ad abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x91e9fd9f vmtruncate +EXPORT_SYMBOL vmlinux 0x91f47514 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x91f6cfaf jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x9218e3d9 end_page_writeback +EXPORT_SYMBOL vmlinux 0x92295a0d kmalloc_caches +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9252fa8d dev_mc_add +EXPORT_SYMBOL vmlinux 0x9255146c simple_dir_operations +EXPORT_SYMBOL vmlinux 0x925cb5de simple_pin_fs +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92ec35ea scm_detach_fds +EXPORT_SYMBOL vmlinux 0x92f4f6fc dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x931138f5 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x9327f5ce _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x93363036 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0x933f07c4 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x93576f6c sock_create +EXPORT_SYMBOL vmlinux 0x9382270d ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x938de8f3 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x939e847b writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b43a2e journal_errno +EXPORT_SYMBOL vmlinux 0x93b732d8 pci_set_ltr +EXPORT_SYMBOL vmlinux 0x93c2c24f __destroy_inode +EXPORT_SYMBOL vmlinux 0x93c651be acpi_info +EXPORT_SYMBOL vmlinux 0x93c85e9e take_over_console +EXPORT_SYMBOL vmlinux 0x93dfd52b blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x93f3e52b acpi_extract_package +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x947290d2 dev_warn +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94bc4259 spi_dv_device +EXPORT_SYMBOL vmlinux 0x94de56a9 set_disk_ro +EXPORT_SYMBOL vmlinux 0x94fce247 __page_symlink +EXPORT_SYMBOL vmlinux 0x9518b623 register_shrinker +EXPORT_SYMBOL vmlinux 0x9537e575 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x9537f801 xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x956e582e d_splice_alias +EXPORT_SYMBOL vmlinux 0x957f9287 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x9583c172 blk_peek_request +EXPORT_SYMBOL vmlinux 0x95c930b0 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x95f89a33 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x96068e3e __dst_free +EXPORT_SYMBOL vmlinux 0x960a3ce4 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x9652f24e do_SAK +EXPORT_SYMBOL vmlinux 0x967b00c3 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x96999131 nf_log_packet +EXPORT_SYMBOL vmlinux 0x969c0f35 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b4b195 devm_iounmap +EXPORT_SYMBOL vmlinux 0x96b607d3 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x96bfe85b dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x96c9c955 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96eb828f md_done_sync +EXPORT_SYMBOL vmlinux 0x96f5869a scsi_device_put +EXPORT_SYMBOL vmlinux 0x96f5dcb5 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9704c59e simple_setattr +EXPORT_SYMBOL vmlinux 0x9724126a fifo_set_limit +EXPORT_SYMBOL vmlinux 0x9725b589 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x97343c8f inet_frag_kill +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x975ae7dd tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x976f8a26 netif_device_detach +EXPORT_SYMBOL vmlinux 0x978369c0 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x97868aef __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x97992d36 seq_open_private +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97de0ddd acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x97e066ae acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x97f1cd3b tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x98019f2b padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x9820b644 warn_slowpath_fmt_taint +EXPORT_SYMBOL vmlinux 0x98234bd8 secpath_dup +EXPORT_SYMBOL vmlinux 0x9823eda9 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x983192ab dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x9853a234 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x988dbda5 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x988ed85d set_memory_x +EXPORT_SYMBOL vmlinux 0x98901c46 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x98a471fc mfd_add_devices +EXPORT_SYMBOL vmlinux 0x98a7e7dc pci_find_bus +EXPORT_SYMBOL vmlinux 0x98b4325e user_revoke +EXPORT_SYMBOL vmlinux 0x98e66eae vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x98f01814 journal_abort +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x990782d4 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x991520c1 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x99195078 vsnprintf +EXPORT_SYMBOL vmlinux 0x99383f63 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0x99452d1c pci_wake_from_d3 +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 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c283e2 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x99c86b1b generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d3577f sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x99d3a43c dm_table_get_size +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a537c99 idr_pre_get +EXPORT_SYMBOL vmlinux 0x9a5efc33 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x9a5ffc64 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x9aa86570 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x9aaa26b3 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0x9ab45f2f dev_get_stats +EXPORT_SYMBOL vmlinux 0x9abf4e11 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x9acee672 page_follow_link_light +EXPORT_SYMBOL vmlinux 0x9ad4deae input_close_device +EXPORT_SYMBOL vmlinux 0x9ae1e4d0 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x9af89f98 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9b0c33b2 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x9b25b611 __serio_register_port +EXPORT_SYMBOL vmlinux 0x9b29106d key_task_permission +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b75cb81 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x9b8797ef neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bcb5fbb __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x9beefafb __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x9c0c761a elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x9c25243a mmc_add_host +EXPORT_SYMBOL vmlinux 0x9c288234 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0x9c42da48 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x9c46d06b gen_new_estimator +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c4df62b pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x9c5d9420 journal_set_features +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c73e105 ps2_init +EXPORT_SYMBOL vmlinux 0x9c7b472d __get_user_pages +EXPORT_SYMBOL vmlinux 0x9c85233c inet_release +EXPORT_SYMBOL vmlinux 0x9cabf367 get_task_io_context +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd1d983 clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x9cf94d9e acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d07b1fb dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x9d101aaa misc_register +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d33ef5e acpi_enable +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d3d06be eth_header +EXPORT_SYMBOL vmlinux 0x9d527d1b blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x9d5a6734 journal_start +EXPORT_SYMBOL vmlinux 0x9d6dbebd kobject_init +EXPORT_SYMBOL vmlinux 0x9d8266e9 inode_init_owner +EXPORT_SYMBOL vmlinux 0x9d9348f9 vm_map_ram +EXPORT_SYMBOL vmlinux 0x9d9cc2e1 twl6040_power +EXPORT_SYMBOL vmlinux 0x9de00815 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x9dea92e4 init_net +EXPORT_SYMBOL vmlinux 0x9ded188e kobject_del +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fc792 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x9e33e6fb mark_info_dirty +EXPORT_SYMBOL vmlinux 0x9e363b6b acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e68e7b0 unlock_super +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e8b3ffa km_new_mapping +EXPORT_SYMBOL vmlinux 0x9e9d4fbd amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9eba279b find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x9ebc1677 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ebdf059 x86_hyper +EXPORT_SYMBOL vmlinux 0x9ed36b4b framebuffer_release +EXPORT_SYMBOL vmlinux 0x9edd0b04 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x9ee517d8 qdisc_destroy +EXPORT_SYMBOL vmlinux 0x9ee51d2c agp_put_bridge +EXPORT_SYMBOL vmlinux 0x9eecc127 try_to_release_page +EXPORT_SYMBOL vmlinux 0x9f0bd695 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x9f1a1479 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x9f1d5fe5 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f469f66 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f6d261c check_disk_size_change +EXPORT_SYMBOL vmlinux 0x9f6e19ab mem_section +EXPORT_SYMBOL vmlinux 0x9f7c82a6 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x9f8c4439 sock_i_uid +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fc2209b inetdev_by_index +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9ffb6bed sg_miter_stop +EXPORT_SYMBOL vmlinux 0xa0026d02 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa02d8d71 mount_ns +EXPORT_SYMBOL vmlinux 0xa03e63e2 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa04c7604 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xa0597f88 free_netdev +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06f4747 vfs_symlink +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b3f6c3 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d7847c acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0xa0dd6a74 backlight_force_update +EXPORT_SYMBOL vmlinux 0xa0e59761 phy_stop +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff74d6 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa108e6a4 tcp_init_sock +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa110b4c9 __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa1384a2a amd_iommu_get_v2_domain +EXPORT_SYMBOL vmlinux 0xa14b2525 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1520587 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xa168a957 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xa1920abd netdev_set_master +EXPORT_SYMBOL vmlinux 0xa1927bc7 simple_getattr +EXPORT_SYMBOL vmlinux 0xa1928516 kern_path +EXPORT_SYMBOL vmlinux 0xa1b1559f rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1b9cd9c kill_pgrp +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1d1fe0d dump_seek +EXPORT_SYMBOL vmlinux 0xa1dd09ee dquot_acquire +EXPORT_SYMBOL vmlinux 0xa1fdb82d simple_fill_super +EXPORT_SYMBOL vmlinux 0xa202a8e5 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xa20c9e80 net_dma_find_channel +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa287ce3f mmc_register_driver +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2bd6d1e blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2f379db get_fs_type +EXPORT_SYMBOL vmlinux 0xa2f47b24 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xa2fa019b cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xa303019f kfree_skb +EXPORT_SYMBOL vmlinux 0xa305f731 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xa317aff1 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xa31a6206 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xa31a9a66 icmpv6_send +EXPORT_SYMBOL vmlinux 0xa31d36c4 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa3398a22 set_pages_x +EXPORT_SYMBOL vmlinux 0xa350a8f8 set_memory_array_uc +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa37065c6 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xa3710674 dev_crit +EXPORT_SYMBOL vmlinux 0xa3847106 netdev_printk +EXPORT_SYMBOL vmlinux 0xa3a77c69 down_read_trylock +EXPORT_SYMBOL vmlinux 0xa3b63a81 journal_lock_updates +EXPORT_SYMBOL vmlinux 0xa3c4c75b dquot_drop +EXPORT_SYMBOL vmlinux 0xa3ce08ce jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xa3fc3d50 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xa400159f crc32_be +EXPORT_SYMBOL vmlinux 0xa40b50e9 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xa422a094 nf_log_register +EXPORT_SYMBOL vmlinux 0xa44620d6 __scm_send +EXPORT_SYMBOL vmlinux 0xa4511467 crc16 +EXPORT_SYMBOL vmlinux 0xa45a255f ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xa46cec6f pci_write_vpd +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4703984 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xa474f6db iunique +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c8778d consume_skb +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4d7a076 open_exec +EXPORT_SYMBOL vmlinux 0xa4df5a49 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xa4e4f1fb neigh_create +EXPORT_SYMBOL vmlinux 0xa4f07109 mii_check_media +EXPORT_SYMBOL vmlinux 0xa4fec508 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xa51893de mempool_create_node +EXPORT_SYMBOL vmlinux 0xa51df2b4 down_killable +EXPORT_SYMBOL vmlinux 0xa563517f iterate_supers_type +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa5798132 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xa58a3166 lg_local_lock +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5e4f65c __next_cpu_nr +EXPORT_SYMBOL vmlinux 0xa5edc114 __lru_cache_add +EXPORT_SYMBOL vmlinux 0xa601e978 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xa60ba40d security_inode_readlink +EXPORT_SYMBOL vmlinux 0xa6128285 set_groups +EXPORT_SYMBOL vmlinux 0xa631725c dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0xa63d85ab slhc_remember +EXPORT_SYMBOL vmlinux 0xa6597573 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xa66f3f84 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6c50440 ilookup5 +EXPORT_SYMBOL vmlinux 0xa6d6081a dqget +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6ef1b09 register_xen_selfballooning +EXPORT_SYMBOL vmlinux 0xa6efab09 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xa6f24ee4 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xa7031b03 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71c4b6a sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa73ba4af con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xa73d8578 bio_clone +EXPORT_SYMBOL vmlinux 0xa75ff818 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xa77418bc blk_get_queue +EXPORT_SYMBOL vmlinux 0xa7764a52 bio_integrity_split +EXPORT_SYMBOL vmlinux 0xa77774de serio_open +EXPORT_SYMBOL vmlinux 0xa7c44c75 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xa7f811fe dm_io +EXPORT_SYMBOL vmlinux 0xa8059942 do_sync_read +EXPORT_SYMBOL vmlinux 0xa80c1976 blkdev_get +EXPORT_SYMBOL vmlinux 0xa816c525 schedule_work_on +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa82247c5 elv_rb_del +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa83df742 vfs_readlink +EXPORT_SYMBOL vmlinux 0xa83f2394 security_path_chmod +EXPORT_SYMBOL vmlinux 0xa8493768 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa855edbe dev_alert +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa873d5bb pv_mmu_ops +EXPORT_SYMBOL vmlinux 0xa88f9620 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xa8929ece do_splice_direct +EXPORT_SYMBOL vmlinux 0xa8a0d3ac module_layout +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8abce5f mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xa8b177f4 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xa8d25942 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xa8d50c17 register_cdrom +EXPORT_SYMBOL vmlinux 0xa8d68abd acpi_warning +EXPORT_SYMBOL vmlinux 0xa8da8d66 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xa8e45286 rt6_lookup +EXPORT_SYMBOL vmlinux 0xa8f41263 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91b5561 acpi_video_backlight_support +EXPORT_SYMBOL vmlinux 0xa9386df2 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xa94b2ae3 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xa96fe422 seq_write +EXPORT_SYMBOL vmlinux 0xa9725d78 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xa9745ccc account_page_writeback +EXPORT_SYMBOL vmlinux 0xa981fa2d iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xa9bd2676 __vmalloc +EXPORT_SYMBOL vmlinux 0xa9c1b627 intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0xa9d1e078 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0xa9e78fdf pci_scan_slot +EXPORT_SYMBOL vmlinux 0xa9ec5d1b sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0xaa069188 blkdev_fsync +EXPORT_SYMBOL vmlinux 0xaa229581 lock_sock_fast +EXPORT_SYMBOL vmlinux 0xaa39175f generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xaa405025 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xaa5b18d2 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xaa798342 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xaaa1fff8 ppp_input +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaeabe86 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xaaf45875 acpi_lid_notifier_unregister +EXPORT_SYMBOL vmlinux 0xaaf53e33 skb_push +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab08cab2 pci_disable_device +EXPORT_SYMBOL vmlinux 0xab12bff1 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab2abddf dma_spin_lock +EXPORT_SYMBOL vmlinux 0xab5cd19f flush_old_exec +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab770678 rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xab7ff3f3 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xaba74a31 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xaba8997f bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd20fa7 blk_run_queue +EXPORT_SYMBOL vmlinux 0xabd77091 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xabe118cf call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xabf1b116 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xac0a629d tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac1b8843 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xac315589 kdb_current_task +EXPORT_SYMBOL vmlinux 0xac4e6950 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xac58ea5e acpi_unload_table_id +EXPORT_SYMBOL vmlinux 0xac608055 idr_init +EXPORT_SYMBOL vmlinux 0xac63c188 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac795291 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0xac7a482e mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xac8f282c pci_iounmap +EXPORT_SYMBOL vmlinux 0xac96ec0d clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xaca39ad9 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0xacc195b1 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xacc27cb7 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0xacc61d80 n_tty_compat_ioctl_helper +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad01744f kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0a2abe neigh_lookup +EXPORT_SYMBOL vmlinux 0xad13c689 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xad164875 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xad184a7a iget_failed +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad583761 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xad6d29d0 agp_create_memory +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad92b9be scsi_target_resume +EXPORT_SYMBOL vmlinux 0xad94260b register_gifconf +EXPORT_SYMBOL vmlinux 0xad9ab8f9 __seq_open_private +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadaabe1b pv_lock_ops +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xae0a315e read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xae0ce61f uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xae2c3a87 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xae3f350f twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xae4f4a15 mmc_start_req +EXPORT_SYMBOL vmlinux 0xae633d71 file_update_time +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae748d25 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xae920a07 scsi_prep_return +EXPORT_SYMBOL vmlinux 0xae9d7012 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xaea976a8 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xaeb0acfe bitmap_unplug +EXPORT_SYMBOL vmlinux 0xaeb0cc2a inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xaeccf5eb skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0xaeceb07c sock_no_connect +EXPORT_SYMBOL vmlinux 0xaef3637b kill_pid +EXPORT_SYMBOL vmlinux 0xaf1680ac amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0xaf378924 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4a5dc0 vfs_read +EXPORT_SYMBOL vmlinux 0xaf4d5393 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xaf611eac amd_nb_misc_ids +EXPORT_SYMBOL vmlinux 0xaf68d59c phy_start_aneg +EXPORT_SYMBOL vmlinux 0xaf6ae696 kstrndup +EXPORT_SYMBOL vmlinux 0xaf7eac79 input_grab_device +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafb8c6ff copy_user_generic_string +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafd8d4bb dmam_pool_create +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xb024572f ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xb037e497 pci_restore_state +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0606302 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xb06370fa fget +EXPORT_SYMBOL vmlinux 0xb07d9f4a tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xb07f6536 netif_device_attach +EXPORT_SYMBOL vmlinux 0xb08037d7 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xb09c9a19 journal_wipe +EXPORT_SYMBOL vmlinux 0xb09ef10a vfs_mkdir +EXPORT_SYMBOL vmlinux 0xb0a8fd0a intel_gtt_unmap_memory +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0b92c3b phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xb0bfe498 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb0f0f47d __nlmsg_put +EXPORT_SYMBOL vmlinux 0xb11ec876 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb138d0bf dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb16681d5 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xb17135ff pipe_to_file +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb19d51e1 tcp_syn_ack_timeout +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 0xb1d23be8 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xb20ecf88 acpi_run_osc +EXPORT_SYMBOL vmlinux 0xb20f162e nlmsg_notify +EXPORT_SYMBOL vmlinux 0xb2190ac4 security_task_getsecid +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb2475e2a genl_notify +EXPORT_SYMBOL vmlinux 0xb24db11a jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xb25c150d add_disk +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2a77232 search_binary_handler +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e08e7b lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0xb2ecde1d neigh_ifdown +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 0xb335e672 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xb34d4c2e acpi_terminate +EXPORT_SYMBOL vmlinux 0xb352177e find_first_bit +EXPORT_SYMBOL vmlinux 0xb38ab8ac tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xb3d9842d noop_fsync +EXPORT_SYMBOL vmlinux 0xb405d2b7 set_pages_uc +EXPORT_SYMBOL vmlinux 0xb40beb96 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4390f9a mcount +EXPORT_SYMBOL vmlinux 0xb459bb7e spi_schedule_dv_device +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47f81fc key_put +EXPORT_SYMBOL vmlinux 0xb4a294b5 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xb4b7b067 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xb4d371eb fb_find_mode +EXPORT_SYMBOL vmlinux 0xb4d88312 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb5685e93 seq_read +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb575f818 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xb583678a noop_llseek +EXPORT_SYMBOL vmlinux 0xb586ec83 ht_create_irq +EXPORT_SYMBOL vmlinux 0xb58e0fc9 register_netdev +EXPORT_SYMBOL vmlinux 0xb5901c2e pci_target_state +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a7d6b7 security_path_unlink +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ca1c46 slhc_free +EXPORT_SYMBOL vmlinux 0xb5dcab5b remove_wait_queue +EXPORT_SYMBOL vmlinux 0xb602c6f1 padata_remove_cpu +EXPORT_SYMBOL vmlinux 0xb60ab58d ip6_frag_init +EXPORT_SYMBOL vmlinux 0xb61c76b7 dquot_enable +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +EXPORT_SYMBOL vmlinux 0xb626a7bc __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xb63d24c2 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xb64ce7e7 d_path +EXPORT_SYMBOL vmlinux 0xb65d3c38 journal_force_commit +EXPORT_SYMBOL vmlinux 0xb6649554 update_time +EXPORT_SYMBOL vmlinux 0xb66e6be5 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xb676a677 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67a277d tty_hangup +EXPORT_SYMBOL vmlinux 0xb67b16c6 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xb67c09f3 dev_close +EXPORT_SYMBOL vmlinux 0xb6822a33 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xb689e373 thermal_generate_netlink_event +EXPORT_SYMBOL vmlinux 0xb694a610 locks_init_lock +EXPORT_SYMBOL vmlinux 0xb697145b __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6b9bc64 ata_port_printk +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6cbe886 acpi_get_node +EXPORT_SYMBOL vmlinux 0xb6e0d274 vfs_link +EXPORT_SYMBOL vmlinux 0xb6e78f53 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xb70cabbb journal_get_write_access +EXPORT_SYMBOL vmlinux 0xb712ebcd ping_prot +EXPORT_SYMBOL vmlinux 0xb729b4f0 __ps2_command +EXPORT_SYMBOL vmlinux 0xb758b225 acpi_disable_event +EXPORT_SYMBOL vmlinux 0xb77cab06 __nla_reserve +EXPORT_SYMBOL vmlinux 0xb77fe23a block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xb78f74a5 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xb7aec31b neigh_compat_output +EXPORT_SYMBOL vmlinux 0xb7b9f170 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xb7dae0ba inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xb7f47feb inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0xb82cf5eb max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8cef6e3 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xb8e01dad vfs_fsync +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8eb5346 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb919d9a6 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xb91eba3a proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xb9249d16 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xb9713c0c gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xb97b63e6 d_rehash +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9a0109d unlock_page +EXPORT_SYMBOL vmlinux 0xb9b4e181 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0xb9bf4fce pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xb9c9787e jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xb9e801ae touch_atime +EXPORT_SYMBOL vmlinux 0xb9fd2205 add_efi_memmap +EXPORT_SYMBOL vmlinux 0xba0fce25 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xba182186 agp_bind_memory +EXPORT_SYMBOL vmlinux 0xba2d8594 ec_read +EXPORT_SYMBOL vmlinux 0xba4366f7 destroy_EII_client +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba5741a5 inode_add_bytes +EXPORT_SYMBOL vmlinux 0xba63339c _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xbaa588e0 mddev_congested +EXPORT_SYMBOL vmlinux 0xbaaf6601 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xbac9731c swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xbae03cbf pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xbaf85797 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xbafc1b5f sk_reset_timer +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb34134a iov_shorten +EXPORT_SYMBOL vmlinux 0xbb413bb5 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbba23cb0 cpu_core_map +EXPORT_SYMBOL vmlinux 0xbbaeb559 memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0xbbbf5644 tty_unthrottle +EXPORT_SYMBOL vmlinux 0xbbccc01e input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xbbd28e3b vfs_llseek +EXPORT_SYMBOL vmlinux 0xbbd28f22 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xbbe20028 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xbbfcaca5 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xbc03714a register_sysctl_table +EXPORT_SYMBOL vmlinux 0xbc16cc0c nf_register_hook +EXPORT_SYMBOL vmlinux 0xbc171762 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc2978e9 lg_global_lock +EXPORT_SYMBOL vmlinux 0xbc2d3351 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xbc3a523a simple_link +EXPORT_SYMBOL vmlinux 0xbc3ea471 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xbc3fc586 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xbc7eb891 set_page_dirty +EXPORT_SYMBOL vmlinux 0xbc80a8fd pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xbc85dd85 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xbc8e2149 mapping_tagged +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc3e2d0 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xbcd4dd16 release_firmware +EXPORT_SYMBOL vmlinux 0xbcfced4b md_finish_reshape +EXPORT_SYMBOL vmlinux 0xbd0a0ef1 thaw_super +EXPORT_SYMBOL vmlinux 0xbd100793 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xbd13799c ps2_drain +EXPORT_SYMBOL vmlinux 0xbd285cc7 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd730450 alloc_file +EXPORT_SYMBOL vmlinux 0xbdaf5b07 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdc89bea seq_escape +EXPORT_SYMBOL vmlinux 0xbdd8bc2d cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe096929 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xbe104abb pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xbe18153d try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xbe213954 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe288a9c skb_trim +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe32798e commit_creds +EXPORT_SYMBOL vmlinux 0xbe7994b6 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xbe83e4ff kset_unregister +EXPORT_SYMBOL vmlinux 0xbe88445b do_splice_to +EXPORT_SYMBOL vmlinux 0xbeb56cb8 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xbeb64771 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xbebe265e swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xbec30d05 x86_match_cpu +EXPORT_SYMBOL vmlinux 0xbecb293e scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xbed40c89 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf146162 vm_event_states +EXPORT_SYMBOL vmlinux 0xbf2aa41c __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xbf382509 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xbf46091c wait_on_page_bit +EXPORT_SYMBOL vmlinux 0xbf5189c7 mount_single +EXPORT_SYMBOL vmlinux 0xbf6e7772 set_bdi_congested +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfdc8029 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xbfdcd2d3 sk_run_filter +EXPORT_SYMBOL vmlinux 0xbfe4784c efi +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xc0020fee set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xc01cf848 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xc055ea3b input_set_capability +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06c7f0a kill_block_super +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc07d99b4 deactivate_super +EXPORT_SYMBOL vmlinux 0xc08450d1 kernel_accept +EXPORT_SYMBOL vmlinux 0xc091d5ec _dev_info +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0a73fc4 lro_receive_frags +EXPORT_SYMBOL vmlinux 0xc0ef95ba mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0xc159eeba generic_read_dir +EXPORT_SYMBOL vmlinux 0xc1690062 dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xc1697732 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc18eb184 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xc19a59bd dev_activate +EXPORT_SYMBOL vmlinux 0xc1a9af1a genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xc1b56fed mmc_flush_cache +EXPORT_SYMBOL vmlinux 0xc1b6abcd pci_get_slot +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1d7d179 blk_stack_limits +EXPORT_SYMBOL vmlinux 0xc20c547c cdev_init +EXPORT_SYMBOL vmlinux 0xc20ef2d6 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc22f2f67 eth_header_cache +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc25a956b inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc29e50eb dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xc2a74344 vga_tryget +EXPORT_SYMBOL vmlinux 0xc2c5c4d7 dev_mc_init +EXPORT_SYMBOL vmlinux 0xc2cffb90 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xc2d1da27 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xc2d32a3c ata_print_version +EXPORT_SYMBOL vmlinux 0xc2dd08f4 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ef71de ppp_channel_index +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc3099677 ilookup +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc32af8a5 inet_select_addr +EXPORT_SYMBOL vmlinux 0xc32f66cf request_key +EXPORT_SYMBOL vmlinux 0xc3416bff alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xc349a69a ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0xc363696c jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xc3727fa1 elv_rb_find +EXPORT_SYMBOL vmlinux 0xc37b00e9 journal_init_dev +EXPORT_SYMBOL vmlinux 0xc396229e dquot_scan_active +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3bb6478 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0xc3ccce89 dqput +EXPORT_SYMBOL vmlinux 0xc3fc35f5 idr_find +EXPORT_SYMBOL vmlinux 0xc402cc99 register_acpi_notifier +EXPORT_SYMBOL vmlinux 0xc410491f kill_fasync +EXPORT_SYMBOL vmlinux 0xc42682a4 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xc4453418 genphy_suspend +EXPORT_SYMBOL vmlinux 0xc458ee4f skb_put +EXPORT_SYMBOL vmlinux 0xc483a2d3 register_nls +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a27157 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xc4aad04c scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0xc4aceb81 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xc4bbc279 dget_parent +EXPORT_SYMBOL vmlinux 0xc4c7d9d4 get_disk +EXPORT_SYMBOL vmlinux 0xc4eac1f4 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xc4f5b925 install_exec_creds +EXPORT_SYMBOL vmlinux 0xc5062e4c pci_choose_state +EXPORT_SYMBOL vmlinux 0xc50bab05 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xc5215c69 f_setown +EXPORT_SYMBOL vmlinux 0xc545f5a9 blk_free_tags +EXPORT_SYMBOL vmlinux 0xc54dbbf4 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xc550a804 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc564e332 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc596c446 blk_rq_init +EXPORT_SYMBOL vmlinux 0xc5c48be3 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e02d03 files_lglock +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5ff0089 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xc618e48a __rta_fill +EXPORT_SYMBOL vmlinux 0xc61b5c6b journal_flush +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63bb71d bio_copy_user +EXPORT_SYMBOL vmlinux 0xc640527f inet_csk_accept +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66b1f76 pci_dev_get +EXPORT_SYMBOL vmlinux 0xc6890ef3 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0xc6a66180 rwsem_wake +EXPORT_SYMBOL vmlinux 0xc6b4e9cb jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xc6c9f275 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6dd7545 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xc6f450e3 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xc6f824b7 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7064278 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc7303645 proc_create_data +EXPORT_SYMBOL vmlinux 0xc7433720 bio_put +EXPORT_SYMBOL vmlinux 0xc74dffe5 mdiobus_free +EXPORT_SYMBOL vmlinux 0xc76f215c scsi_print_result +EXPORT_SYMBOL vmlinux 0xc77a3a08 dst_release +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc789202a max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xc79b862a input_unregister_handler +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7ba9ff5 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xc7bdac76 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0xc7c6bf57 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xc7e41c6c gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xc8178fd8 vm_insert_page +EXPORT_SYMBOL vmlinux 0xc83b6758 dev_uc_init +EXPORT_SYMBOL vmlinux 0xc83df087 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xc84295b8 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84adbf7 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xc84cc6fd vfs_readdir +EXPORT_SYMBOL vmlinux 0xc8765df6 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xc87e253a mpage_readpages +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8a91df7 journal_revoke +EXPORT_SYMBOL vmlinux 0xc8aa9daa bdi_destroy +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8ef2095 intel_gtt_insert_pages +EXPORT_SYMBOL vmlinux 0xc8ef4d64 address_space_init_once +EXPORT_SYMBOL vmlinux 0xc93df35b bio_sector_offset +EXPORT_SYMBOL vmlinux 0xc9523b5b mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xc958dd9b tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xc977d51f tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xc978479a xz_dec_run +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc9ab2eef acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0xc9ce2c95 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc9e72bc1 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xc9f66d26 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0xc9fc3354 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xc9fe09a8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xca074eca pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xca26ca4e pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xca2f47f6 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca7a1802 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0xca8acc78 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xca8d16c2 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xca96f269 dev_set_group +EXPORT_SYMBOL vmlinux 0xcaa46e77 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xcabb8f73 inode_needs_sync +EXPORT_SYMBOL vmlinux 0xcae350b1 d_instantiate +EXPORT_SYMBOL vmlinux 0xcae5b7ed acpi_root_dir +EXPORT_SYMBOL vmlinux 0xcafacb1a generic_ro_fops +EXPORT_SYMBOL vmlinux 0xcb02ff6f xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xcb640997 netpoll_setup +EXPORT_SYMBOL vmlinux 0xcb66b124 block_truncate_page +EXPORT_SYMBOL vmlinux 0xcb693bb8 acpi_bus_add +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb73ad3b amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0xcb7a37aa input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xcb807a6c qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xcb86bfaa sk_free +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcba12a4e __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xcbb7a1c4 write_cache_pages +EXPORT_SYMBOL vmlinux 0xcbc26532 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbdd4519 __dev_printk +EXPORT_SYMBOL vmlinux 0xcbe8a6ea scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0xcc1994e3 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xcc1998bf dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2ecb54 phy_print_status +EXPORT_SYMBOL vmlinux 0xcc3112ce generic_readlink +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4fbe22 send_sig_info +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc6b175d blk_start_queue +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc99724a jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xcca684c6 kthread_bind +EXPORT_SYMBOL vmlinux 0xcccc1c73 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xccda37d5 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xccf7385d pci_release_regions +EXPORT_SYMBOL vmlinux 0xcd082257 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xcd0a5c54 register_qdisc +EXPORT_SYMBOL vmlinux 0xcd0da59e generic_block_bmap +EXPORT_SYMBOL vmlinux 0xcd0e4798 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0xcd20667a kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2cefe8 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xcd37f74e __elv_add_request +EXPORT_SYMBOL vmlinux 0xcd3bc598 __wait_on_bit +EXPORT_SYMBOL vmlinux 0xcd55a68d mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xcd726a38 d_move +EXPORT_SYMBOL vmlinux 0xcdd98fff thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xcddc6e32 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcde7e29b compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0xcdf14bf6 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xce05d32a pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0xce0cce06 tty_register_driver +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +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 0xce724d24 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xce8e6feb pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xceb1348e mmc_remove_host +EXPORT_SYMBOL vmlinux 0xceb89b5b __free_pages +EXPORT_SYMBOL vmlinux 0xcec4a5ab unlazy_fpu +EXPORT_SYMBOL vmlinux 0xcecf0011 bdi_register_dev +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf1697b8 dentry_unhash +EXPORT_SYMBOL vmlinux 0xcf1b126e set_create_files_as +EXPORT_SYMBOL vmlinux 0xcf1d28ab acpi_error +EXPORT_SYMBOL vmlinux 0xcf21d241 __wake_up +EXPORT_SYMBOL vmlinux 0xcf695f8c mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xcf6cfe1f msrs_free +EXPORT_SYMBOL vmlinux 0xcf99030e fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xcf9b64df key_unlink +EXPORT_SYMBOL vmlinux 0xcfa14dc3 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xcfab2d6f mmc_can_trim +EXPORT_SYMBOL vmlinux 0xcfb5c4e7 security_path_mknod +EXPORT_SYMBOL vmlinux 0xcfced507 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xcfdea19f bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xd000400e skb_copy_bits +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd01cbdf1 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xd0298b8b proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xd03ce233 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xd0676bec scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xd067fc5c proc_dointvec +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd08197fa acpi_load_tables +EXPORT_SYMBOL vmlinux 0xd089c33d dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd0a667bd kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xd0a84867 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0b311fd ip6_frag_match +EXPORT_SYMBOL vmlinux 0xd0ba0516 set_nlink +EXPORT_SYMBOL vmlinux 0xd0c07089 security_path_symlink +EXPORT_SYMBOL vmlinux 0xd0c4bf9c clear_inode +EXPORT_SYMBOL vmlinux 0xd0d0aa72 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0d5afc0 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xd0eb779e kfree_skb_partial +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 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd10ad30b agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xd1130e05 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1381b43 dquot_disable +EXPORT_SYMBOL vmlinux 0xd1472061 acpi_pci_register_driver +EXPORT_SYMBOL vmlinux 0xd14e4fd7 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xd17b9302 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd18685ec ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xd18b6eb2 acpi_unmap_lsapic +EXPORT_SYMBOL vmlinux 0xd1af8cde set_pages_nx +EXPORT_SYMBOL vmlinux 0xd1c17633 __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xd1c705e9 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0xd1d0f470 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd227892e sleep_on +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd254fb70 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26122ff sock_kfree_s +EXPORT_SYMBOL vmlinux 0xd27827af pnp_device_detach +EXPORT_SYMBOL vmlinux 0xd27a4863 icmp_send +EXPORT_SYMBOL vmlinux 0xd2946e11 dma_sync_wait +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a4f845 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xd2a75ee0 dmi_first_match +EXPORT_SYMBOL vmlinux 0xd2b09ce5 __kmalloc +EXPORT_SYMBOL vmlinux 0xd2dc76d8 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xd2e19ceb max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xd2f1b260 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xd2f1fc66 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xd31561b4 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xd3192355 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xd31b0832 aio_complete +EXPORT_SYMBOL vmlinux 0xd35e249a _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0xd36257ba memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0xd370cd23 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3901000 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xd39db610 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xd3b24b1f __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xd3c2af55 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xd3dcab0b flex_array_alloc +EXPORT_SYMBOL vmlinux 0xd3ec07f1 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xd3faf920 sock_no_listen +EXPORT_SYMBOL vmlinux 0xd4001be4 noop_qdisc +EXPORT_SYMBOL vmlinux 0xd401b549 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xd412ace3 km_policy_notify +EXPORT_SYMBOL vmlinux 0xd422be20 sock_update_classid +EXPORT_SYMBOL vmlinux 0xd4439f67 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xd45b381d scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xd46c68e2 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0xd47a67e1 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xd4924acc dcache_dir_close +EXPORT_SYMBOL vmlinux 0xd49c1dc2 page_put_link +EXPORT_SYMBOL vmlinux 0xd4aa27d4 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0xd4b09b81 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xd4b28c8e serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xd4b847c3 dcb_setapp +EXPORT_SYMBOL vmlinux 0xd4bd3eab neigh_table_init +EXPORT_SYMBOL vmlinux 0xd5028aee mdiobus_write +EXPORT_SYMBOL vmlinux 0xd50fef48 acpi_detach_data +EXPORT_SYMBOL vmlinux 0xd51ad2b0 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0xd51fc160 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xd52bf1ce _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xd5798115 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5acbf2a mpage_writepages +EXPORT_SYMBOL vmlinux 0xd5b4eafd unload_nls +EXPORT_SYMBOL vmlinux 0xd5bb1a1a xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xd5ca5e65 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xd5e699bd generic_write_checks +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd6100677 kern_path_create +EXPORT_SYMBOL vmlinux 0xd611bca3 completion_done +EXPORT_SYMBOL vmlinux 0xd614276c pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd61e585a agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd62f67bb __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd65329f6 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xd6719833 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd6839038 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd683d786 serio_interrupt +EXPORT_SYMBOL vmlinux 0xd69cc596 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xd6a4b26d mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6ce67f9 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xd6d3a17b xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f7f17b dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0xd720a816 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xd731cf3d mmc_erase +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd7627468 __dquot_transfer +EXPORT_SYMBOL vmlinux 0xd766cc22 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xd77387fb freeze_super +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7b66e15 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd7bea153 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xd7cbddda memcpy_toiovec +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea3120 elevator_exit +EXPORT_SYMBOL vmlinux 0xd82ab4d2 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xd849dd66 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0xd8500a82 find_get_page +EXPORT_SYMBOL vmlinux 0xd8679b30 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xd897edf8 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a07885 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd9091363 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0xd918169f sk_receive_skb +EXPORT_SYMBOL vmlinux 0xd91ea38c x86_hyper_xen_hvm +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92e16ba csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0xd93b64b0 swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0xd94322e7 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0xd94743ef node_states +EXPORT_SYMBOL vmlinux 0xd969a18a __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xd969b2c7 amd_e400_c1e_detected +EXPORT_SYMBOL vmlinux 0xd9859d4e sk_dst_check +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd986dad1 kernel_fpu_begin +EXPORT_SYMBOL vmlinux 0xd989e68e dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xd98cf393 blk_end_request +EXPORT_SYMBOL vmlinux 0xd992dcaa __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd9d68f65 vc_resize +EXPORT_SYMBOL vmlinux 0xd9e079aa register_con_driver +EXPORT_SYMBOL vmlinux 0xd9f26670 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xda0a6b0e acpi_map_lsapic +EXPORT_SYMBOL vmlinux 0xda0eb26e sk_common_release +EXPORT_SYMBOL vmlinux 0xda2f4e68 pci_disable_obff +EXPORT_SYMBOL vmlinux 0xda3d58a5 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xda3d968b security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xda66f34e neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xda715ee4 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda83e261 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda91bab7 inet_bind +EXPORT_SYMBOL vmlinux 0xdaab03e4 __netif_schedule +EXPORT_SYMBOL vmlinux 0xdab25e74 compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xdacd840c qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xdad820b5 netdev_notice +EXPORT_SYMBOL vmlinux 0xdaea6e0d mfd_clone_cell +EXPORT_SYMBOL vmlinux 0xdaf38675 inet_accept +EXPORT_SYMBOL vmlinux 0xdb246bc3 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb73b066 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb78919b compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xdb8e2a39 lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xdb91f1d5 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba23ee8 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xdbae249e pci_set_power_state +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd8347b iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xdbe90351 inode_dio_wait +EXPORT_SYMBOL vmlinux 0xdbf944ec fifo_create_dflt +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 0xdc388ffb cap_mmap_file +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc4f651f seq_open +EXPORT_SYMBOL vmlinux 0xdc57f532 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc73b6c2 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xdc8d1dde _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0xdc92d8ff __scm_destroy +EXPORT_SYMBOL vmlinux 0xdc99d73c acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0xdca09c7f __breadahead +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb10f4d find_inode_number +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcf60d2e dquot_quota_off +EXPORT_SYMBOL vmlinux 0xdcf982e0 netlink_set_err +EXPORT_SYMBOL vmlinux 0xdd0adcee bdev_read_only +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd3be02a inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xdd4506bd single_release +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd4aecf7 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0xdd889053 security_path_chown +EXPORT_SYMBOL vmlinux 0xdd9192c9 md_error +EXPORT_SYMBOL vmlinux 0xddb00966 napi_gro_flush +EXPORT_SYMBOL vmlinux 0xddbddcea nf_afinfo +EXPORT_SYMBOL vmlinux 0xddc6dd60 pci_release_region +EXPORT_SYMBOL vmlinux 0xdde90de1 xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xde00910e dquot_quota_on +EXPORT_SYMBOL vmlinux 0xde16dc16 tboot +EXPORT_SYMBOL vmlinux 0xde1d3ce0 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xde495caf __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xde6151db tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xde6622e3 padata_start +EXPORT_SYMBOL vmlinux 0xde692d9f bio_map_user +EXPORT_SYMBOL vmlinux 0xde918eb1 acpi_bus_start +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde95babd block_write_end +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xde9faeb4 blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0xdea95482 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xded46080 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xded8b3e0 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0xdf0da3cc acpi_get_devices +EXPORT_SYMBOL vmlinux 0xdf1098bb agp_backend_release +EXPORT_SYMBOL vmlinux 0xdf20f028 page_symlink +EXPORT_SYMBOL vmlinux 0xdf48a0eb flex_array_put +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf616601 block_write_full_page +EXPORT_SYMBOL vmlinux 0xdf79ea2d vga_client_register +EXPORT_SYMBOL vmlinux 0xdf88a5fc pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfa9e999 should_remove_suid +EXPORT_SYMBOL vmlinux 0xdfc5169b slhc_init +EXPORT_SYMBOL vmlinux 0xdfebcc1c sock_setsockopt +EXPORT_SYMBOL vmlinux 0xdfee7c48 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0xe0092dcb mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xe044dba3 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe05113c9 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe061cbd6 generic_listxattr +EXPORT_SYMBOL vmlinux 0xe0626ee3 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xe06e4199 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xe06f4c89 tc_classify_compat +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe078e4a6 serio_close +EXPORT_SYMBOL vmlinux 0xe07f95b5 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xe0a9bbb6 md_register_thread +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 0xe0e6d4c1 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xe0fa8bdd dev_uc_sync +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe116cf1e jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe147d78e seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xe148d7b2 amd_iommu_enable_device_erratum +EXPORT_SYMBOL vmlinux 0xe151c88c xfrm4_rcv_encap +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 0xe19e6f36 __f_setown +EXPORT_SYMBOL vmlinux 0xe1a9487e i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xe1b7e555 lro_receive_skb +EXPORT_SYMBOL vmlinux 0xe1e69e8d generic_writepages +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe2081e06 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xe20d8948 pci_map_rom +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe24daa0e usb_set_transceiver +EXPORT_SYMBOL vmlinux 0xe261d943 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0xe29a07f2 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0xe29b04e9 acpi_set_firmware_waking_vector64 +EXPORT_SYMBOL vmlinux 0xe2b1f02b frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xe2be0c35 con_is_bound +EXPORT_SYMBOL vmlinux 0xe2cfb038 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe306e51d agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xe308cf29 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xe319eb24 acpi_pci_osc_control_set +EXPORT_SYMBOL vmlinux 0xe31e2541 sk_release_kernel +EXPORT_SYMBOL vmlinux 0xe3339d8f agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xe350b555 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xe3564ba8 __mutex_init +EXPORT_SYMBOL vmlinux 0xe36ba2f7 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xe37a1c7e pci_clear_master +EXPORT_SYMBOL vmlinux 0xe384f912 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xe3a2364d skb_pull +EXPORT_SYMBOL vmlinux 0xe3a53f4c sort +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3d72b57 sock_create_lite +EXPORT_SYMBOL vmlinux 0xe3d9a865 filp_close +EXPORT_SYMBOL vmlinux 0xe3dae024 agp_free_memory +EXPORT_SYMBOL vmlinux 0xe3e12008 __first_cpu +EXPORT_SYMBOL vmlinux 0xe3eea540 do_sync_write +EXPORT_SYMBOL vmlinux 0xe3f54f70 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xe3fbe148 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xe4250fa9 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xe44a43fa twl6040_irq_init +EXPORT_SYMBOL vmlinux 0xe466d7ee compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xe475e4ad fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe48bb166 tty_vhangup +EXPORT_SYMBOL vmlinux 0xe4bc6174 rename_lock +EXPORT_SYMBOL vmlinux 0xe4d85c1d ida_pre_get +EXPORT_SYMBOL vmlinux 0xe4e245a4 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xe4ed42bb agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xe510cf88 vm_mmap +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe5205074 follow_down_one +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe527395c compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xe52947e7 __phys_addr +EXPORT_SYMBOL vmlinux 0xe52a6cbc simple_transaction_read +EXPORT_SYMBOL vmlinux 0xe52db7a3 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xe530d757 acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xe54917da compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0xe56bde09 agp_generic_enable +EXPORT_SYMBOL vmlinux 0xe577de97 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe57ac486 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xe57c5eab blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xe582af30 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xe5854dad alloc_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe58d2963 bh_submit_read +EXPORT_SYMBOL vmlinux 0xe58d36e5 free_task +EXPORT_SYMBOL vmlinux 0xe58fe25d zero_fill_bio +EXPORT_SYMBOL vmlinux 0xe590185d jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xe5a0b201 simple_empty +EXPORT_SYMBOL vmlinux 0xe5bec95c i8253_lock +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5fef88d default_file_splice_read +EXPORT_SYMBOL vmlinux 0xe6053d70 neigh_update +EXPORT_SYMBOL vmlinux 0xe60b4600 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0xe612eef0 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xe6245e68 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xe63b4112 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xe65a1b46 journal_clear_err +EXPORT_SYMBOL vmlinux 0xe65ccb48 tty_register_device +EXPORT_SYMBOL vmlinux 0xe667cec0 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xe687cc83 read_cache_page_async +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe69874b0 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe6aa2a3c dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xe6d5d42c bio_split +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 0xe742d178 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xe75c1a8f iput +EXPORT_SYMBOL vmlinux 0xe768c332 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xe7722171 flex_array_free +EXPORT_SYMBOL vmlinux 0xe7816ed9 vfs_follow_link +EXPORT_SYMBOL vmlinux 0xe79328fa blk_register_region +EXPORT_SYMBOL vmlinux 0xe7a5d5a6 scsi_get_command +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7da5c26 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xe7df8381 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe84aa32f mdiobus_register +EXPORT_SYMBOL vmlinux 0xe8794ce1 slhc_toss +EXPORT_SYMBOL vmlinux 0xe87b2039 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xe88b3ea6 thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8cc4cfd mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xe8dbafef __next_cpu +EXPORT_SYMBOL vmlinux 0xe905b76c genphy_resume +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9268f24 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xe9281109 i2c_use_client +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9812c02 set_binfmt +EXPORT_SYMBOL vmlinux 0xe98fd202 kset_register +EXPORT_SYMBOL vmlinux 0xe997667b wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0xe9988279 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xe99c5109 d_genocide +EXPORT_SYMBOL vmlinux 0xe9b88a0c ps2_end_command +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 0xea3627ff netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xea46a006 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xea56049e bio_free +EXPORT_SYMBOL vmlinux 0xea6dcc15 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0xea761ebe rfkill_alloc +EXPORT_SYMBOL vmlinux 0xea7b8a44 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xea8ce93e journal_check_used_features +EXPORT_SYMBOL vmlinux 0xea90bdd3 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xeac73847 irq_regs +EXPORT_SYMBOL vmlinux 0xeaca58a6 da903x_query_status +EXPORT_SYMBOL vmlinux 0xeacb8e84 create_proc_entry +EXPORT_SYMBOL vmlinux 0xead955f5 tcp_proc_register +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeb05bfa4 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xeb09a1a3 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xeb257584 inet6_getname +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3e1b07 delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xeb3e69c7 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb526fb3 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xeb6e14d8 tty_port_init +EXPORT_SYMBOL vmlinux 0xeb86ebc9 dcache_dir_open +EXPORT_SYMBOL vmlinux 0xeb990c59 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xeb9a9249 __get_page_tail +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebbefb5e swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebedfe53 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xebf4a400 udp_ioctl +EXPORT_SYMBOL vmlinux 0xebf70d0a filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec28919f pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xec381605 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xec5d14f6 blk_recount_segments +EXPORT_SYMBOL vmlinux 0xec7112ef simple_readpage +EXPORT_SYMBOL vmlinux 0xec730387 _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xec7ee02f udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xec846919 d_set_d_op +EXPORT_SYMBOL vmlinux 0xec88a391 i2c_master_send +EXPORT_SYMBOL vmlinux 0xec989f02 input_open_device +EXPORT_SYMBOL vmlinux 0xec9b7593 skb_copy +EXPORT_SYMBOL vmlinux 0xec9e30e8 free_xenballooned_pages +EXPORT_SYMBOL vmlinux 0xeca18dde pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xece5390e scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xece76c4f skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed54eece bio_add_page +EXPORT_SYMBOL vmlinux 0xed8a5234 mmc_resume_host +EXPORT_SYMBOL vmlinux 0xed94cbc2 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xee059622 dma_pool_create +EXPORT_SYMBOL vmlinux 0xee0a055c __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xee14326d vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xee28d471 agp_enable +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee46885d add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xee617189 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb5bd3b __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xeee161ef tty_port_close_start +EXPORT_SYMBOL vmlinux 0xeee22a7f mmc_card_awake +EXPORT_SYMBOL vmlinux 0xeef9be06 netdev_err +EXPORT_SYMBOL vmlinux 0xef1dfcdf writeback_in_progress +EXPORT_SYMBOL vmlinux 0xef26c534 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xef28d15e km_state_notify +EXPORT_SYMBOL vmlinux 0xef69631a d_add_ci +EXPORT_SYMBOL vmlinux 0xef9a4b72 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefb6b186 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xefba93e1 mempool_destroy +EXPORT_SYMBOL vmlinux 0xefd53482 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xefdbeeda jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0xefdd70ce security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0xefe099c3 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xefe2e3f6 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0333dc8 mb_cache_create +EXPORT_SYMBOL vmlinux 0xf03feaf6 file_remove_suid +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf0616414 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06629af pci_enable_device +EXPORT_SYMBOL vmlinux 0xf0668483 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xf0758deb md_flush_request +EXPORT_SYMBOL vmlinux 0xf0768c0e migrate_page +EXPORT_SYMBOL vmlinux 0xf07dfa13 scsi_execute_req +EXPORT_SYMBOL vmlinux 0xf09625aa sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0xf09729a0 unbind_con_driver +EXPORT_SYMBOL vmlinux 0xf0b31b88 sock_init_data +EXPORT_SYMBOL vmlinux 0xf0b45f26 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xf0c71943 pnp_register_driver +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 0xf1210725 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf140d4d3 devm_ioremap +EXPORT_SYMBOL vmlinux 0xf147ecb1 down_trylock +EXPORT_SYMBOL vmlinux 0xf14ecd74 truncate_setsize +EXPORT_SYMBOL vmlinux 0xf172ed71 account_page_dirtied +EXPORT_SYMBOL vmlinux 0xf181c457 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xf184cc5b set_security_override +EXPORT_SYMBOL vmlinux 0xf1893fc5 __bio_clone +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1982480 acpi_bus_get_device +EXPORT_SYMBOL vmlinux 0xf1bea6f1 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xf1cd9ee6 netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1da8902 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1eacb8c scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xf1fa6082 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf2198a5f block_read_full_page +EXPORT_SYMBOL vmlinux 0xf21a0e1e abx500_register_ops +EXPORT_SYMBOL vmlinux 0xf22449ae down_interruptible +EXPORT_SYMBOL vmlinux 0xf226c98c tty_port_open +EXPORT_SYMBOL vmlinux 0xf23a452f __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2431ed2 register_exec_domain +EXPORT_SYMBOL vmlinux 0xf24d65fc init_task +EXPORT_SYMBOL vmlinux 0xf269be4e fail_migrate_page +EXPORT_SYMBOL vmlinux 0xf279d1c2 d_alloc +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf2997713 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0xf2c8f19d ps2_begin_command +EXPORT_SYMBOL vmlinux 0xf2d4d525 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xf30b76e3 blk_put_queue +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf32055e7 dev_base_lock +EXPORT_SYMBOL vmlinux 0xf32e5e47 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33a01be twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf36ea3f2 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xf37260ab _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xf376b0ef find_or_create_page +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38dfb17 ip_getsockopt +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 0xf39c8097 sock_no_accept +EXPORT_SYMBOL vmlinux 0xf3ba5778 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3d8f21e proto_unregister +EXPORT_SYMBOL vmlinux 0xf3e8451d mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xf40cbae9 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xf410d280 nla_append +EXPORT_SYMBOL vmlinux 0xf41f0407 try_module_get +EXPORT_SYMBOL vmlinux 0xf432dd3d __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xf438b75e generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf44ced70 iget5_locked +EXPORT_SYMBOL vmlinux 0xf45c92f4 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0xf4676444 __ht_create_irq +EXPORT_SYMBOL vmlinux 0xf467f5aa ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xf468e221 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xf4907b9e __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4a5c213 avail_to_resrv_perfctr_nmi_bit +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4e59d04 node_data +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf5001d69 inet6_bind +EXPORT_SYMBOL vmlinux 0xf512b443 path_put +EXPORT_SYMBOL vmlinux 0xf515a877 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0xf51ae235 touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xf51bf88b nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf52269cb fasync_helper +EXPORT_SYMBOL vmlinux 0xf52c1b17 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xf5354eb9 vfs_open +EXPORT_SYMBOL vmlinux 0xf536d22e acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf57fd7fd lookup_bdev +EXPORT_SYMBOL vmlinux 0xf5828cef inode_dio_done +EXPORT_SYMBOL vmlinux 0xf5893abf up_read +EXPORT_SYMBOL vmlinux 0xf58fb95b kobject_add +EXPORT_SYMBOL vmlinux 0xf590f28c sk_reset_txq +EXPORT_SYMBOL vmlinux 0xf598be6a rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0xf5a55fda scsi_scan_target +EXPORT_SYMBOL vmlinux 0xf5acb9a2 pci_iomap +EXPORT_SYMBOL vmlinux 0xf5b7a010 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xf5c9c2ee swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xf5e64514 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf6019345 udp_seq_open +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf64dca1b fb_set_var +EXPORT_SYMBOL vmlinux 0xf657194e backlight_device_register +EXPORT_SYMBOL vmlinux 0xf6a6838c md_integrity_register +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6efae4e d_find_any_alias +EXPORT_SYMBOL vmlinux 0xf70f0230 kernel_listen +EXPORT_SYMBOL vmlinux 0xf7289d14 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf72ae98a set_pages_array_wb +EXPORT_SYMBOL vmlinux 0xf72b6176 netif_notify_peers +EXPORT_SYMBOL vmlinux 0xf732060a inc_nlink +EXPORT_SYMBOL vmlinux 0xf73e54a8 ll_rw_block +EXPORT_SYMBOL vmlinux 0xf74785d8 igrab +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf759a00e amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0xf766b122 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xf77f5cb2 security_inode_permission +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf797c259 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0xf7a2c63f tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xf7adcaf3 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7cacfe2 simple_write_end +EXPORT_SYMBOL vmlinux 0xf7d3a9ae is_bad_inode +EXPORT_SYMBOL vmlinux 0xf7dbe2df scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xf7f9b204 follow_up +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80cf96f check_disk_change +EXPORT_SYMBOL vmlinux 0xf810127b __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf82139fe wake_up_process +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82cfd1a proc_dostring +EXPORT_SYMBOL vmlinux 0xf82e3d47 acpi_initialize_objects +EXPORT_SYMBOL vmlinux 0xf833dea2 key_invalidate +EXPORT_SYMBOL vmlinux 0xf83ba39c netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xf84687d2 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0xf8588af2 mntput +EXPORT_SYMBOL vmlinux 0xf85ecbd3 bio_alloc +EXPORT_SYMBOL vmlinux 0xf876931b tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xf88a3c76 test_set_page_writeback +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 0xf8a3bf71 path_is_under +EXPORT_SYMBOL vmlinux 0xf8c4efd8 journal_ack_err +EXPORT_SYMBOL vmlinux 0xf952ceb4 vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0xf952db5a ab3100_event_register +EXPORT_SYMBOL vmlinux 0xf99048c4 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xf995334c vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9d6d2be twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xfa625ef9 request_key_async +EXPORT_SYMBOL vmlinux 0xfa66f77c finish_wait +EXPORT_SYMBOL vmlinux 0xfa67c245 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0xfa94edd5 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xfaac4503 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae2cbe7 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfae95d62 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xfaf6355b tty_shutdown +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb0443fb acpi_get_parent +EXPORT_SYMBOL vmlinux 0xfb241507 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xfb480bf6 pci_bus_set_ops +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 0xfb8969a0 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbbfbde4 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xfbc9c832 dev_uc_add +EXPORT_SYMBOL vmlinux 0xfbce032b pci_request_region +EXPORT_SYMBOL vmlinux 0xfbd4a185 send_sig +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc04f8ff remap_pfn_range +EXPORT_SYMBOL vmlinux 0xfc1cf710 module_put +EXPORT_SYMBOL vmlinux 0xfc2fcf4b bmap +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc590030 netif_napi_add +EXPORT_SYMBOL vmlinux 0xfc68fd2d prepare_creds +EXPORT_SYMBOL vmlinux 0xfc84fdce __scsi_add_device +EXPORT_SYMBOL vmlinux 0xfc872fd1 get_ibs_caps +EXPORT_SYMBOL vmlinux 0xfc8f4892 pci_vpd_truncate +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 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc54f91 lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xfcc6127e __blk_end_request +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfceb6aa8 alloc_pages_current +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd1d886b __find_get_block +EXPORT_SYMBOL vmlinux 0xfd22ccc1 request_firmware +EXPORT_SYMBOL vmlinux 0xfd27fea9 cdrom_open +EXPORT_SYMBOL vmlinux 0xfd2d7d48 netdev_update_features +EXPORT_SYMBOL vmlinux 0xfd31c360 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xfd61eef3 bitmap_end_sync +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 0xfd6f4850 native_wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xfd7d7713 acpi_exception +EXPORT_SYMBOL vmlinux 0xfd853394 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xfd85e352 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xfd9f5093 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xfda0dbe8 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xfdb581d6 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfdd1b475 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0xfdd36b8d amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0xfdd3785c vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xfddca267 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xfde46809 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xfdee7d42 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xfdfa34b9 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe048baf genl_register_family +EXPORT_SYMBOL vmlinux 0xfe17e586 dma_ops +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe46a790 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xfe481a3b bio_pair_release +EXPORT_SYMBOL vmlinux 0xfe4e8eae xfrm_lookup +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6879d9 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfedb5be4 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xfee3954e xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff0e02c1 irq_to_desc +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff27cbf8 drop_nlink +EXPORT_SYMBOL vmlinux 0xff39fc91 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xff48890b mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xff5a9539 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6f4e3b try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff93595c bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa19009 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0xffa2ac1a journal_dirty_data +EXPORT_SYMBOL vmlinux 0xffb9840a udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe354c0 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +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 0x004a1f8f kvm_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00aaf935 kvm_disable_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x02cd0372 kvm_mmu_unprotect_page_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0676de90 hva_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09421137 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0af64f0f kvm_mmu_get_spte_hierarchy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0dc72773 kvm_read_guest_page_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0eae3055 handle_mmio_page_fault_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14a4f2a0 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x181f1a69 kvm_vcpu_cache +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18c79973 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18dc279c kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cfe78d1 kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x20de5193 kvm_disable_largepages +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x21b19446 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27e2a7f4 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2ffdab50 kvm_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x317f9e6b kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x31b0d368 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35c046af kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3668ee8d __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x379ee14d kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39548890 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b023590 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b5dd35e __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b8f9027 kvm_set_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3de08404 kvm_set_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x40244707 kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41f29305 is_error_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x438f7226 fx_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x449c21f1 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x465c1dd5 kvm_vcpu_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x48037402 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x492e4a4d gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4ba78af0 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4c51f664 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x502d2230 kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x516d402c kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52a4a85a kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53a2a3f7 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5a6372fc kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5be435bc kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5e9e4238 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x600adaf7 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61f4f8f2 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62977bb6 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64a34f49 __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64cdaaf1 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x659e7650 kvm_clear_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x669da1fd kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6b424786 kvm_task_switch +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 0x7140ab6a kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x74fbc94a is_fault_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x75bb7d69 kvm_init_shadow_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x76bb1064 kvm_require_cpl +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 0x7f0019ad x86_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f2c1163 __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x831327da kvm_max_guest_tsc_khz +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85ca0ca2 kvm_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85d1bb76 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x885441a6 kvm_write_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a26f7b0 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c098354 kvm_requeue_exception_e +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 0x95a19787 gfn_to_pfn_async +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9a216313 kvm_define_shared_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e0acc41 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e533043 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ee59155 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa422f41b kvm_mmu_page_fault +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 0xaa15f8f9 kvm_resched +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa79cab5 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xac17e172 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaef7bd01 kvm_vcpu_uninit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf275715 __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb1ac0156 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2f2d691 kvm_mmu_unprotect_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb31f7f3e kvm_before_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb333982a kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb573c500 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba6b4e05 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 0xbc2b937d is_hwpoison_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbdd8d944 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbec604be kvm_mmu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf45dc16 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf642c90 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc06ecc60 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1cabe82 kvm_fast_pio_out +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc415c426 kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc6c17325 kvm_set_xcr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc81f4745 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc84d723d kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc9a36f15 kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc5e13eb kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd1357e7 kvm_clear_guest +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 0xd209cc6f kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2368396 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd296def9 kvm_is_error_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2d08a0f kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd79cb8ea kvm_mmu_unload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd880f8b0 kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xda6997ea kvm_after_handle_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xddaa4131 gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xde297e33 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdeb9e564 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe326ce6c kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe650c515 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe83fc7c1 kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xed4f3f07 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xee1fb4d9 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf27cd321 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2aa9d5e kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf7e6531f kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf83fcd4f kvm_x86_ops +EXPORT_SYMBOL_GPL crypto/af_alg 0x0a1089dd af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x289197b2 af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x52d98dc6 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x65eef7f4 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x6efd6e41 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xa02fd95a af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xbdf3e520 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xe0266ea6 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xf4359c66 af_alg_accept +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xb95f33c4 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x860a2e3f async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xf0a9179d async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x8e1b84c5 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xc593e249 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x207a8fa9 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x75e5b0cf async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb616eda3 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbd93d2d2 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x051f9d4a async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x31281eea async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xad2ce854 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x06446d95 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x15ef1dca cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x743cbe37 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x911d0859 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x9d00ce23 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xa1427598 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xa33e90aa cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb1c4877f cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xb2dce258 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xca9724d8 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0x9d37b004 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 0x8bf81396 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x3c29787b twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x72e0b48a 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/libahci 0x00e9bd94 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0ba8b94a ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x103fb536 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1275ad38 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x169b5059 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2f25e0ae ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x3cedc119 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x43b97fc7 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x58d8b09e ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5a8ed595 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8dcb143b ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa264193d ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa656fe8f ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xadf4ec11 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdf9a5c0c ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe9952239 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf4add4cb ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6fa82af ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x2a2decc9 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x4862851c __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 0x269a4083 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2c836664 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x37eb42f2 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x38755b3f bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4ea32a02 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x57a184a1 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x601e511f bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x643a6b42 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x645b4eb3 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x66f89fcc bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x82d29607 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x83b71813 bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x945f48bc bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb8c356e0 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xebba5422 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x075fdbea btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x08f2260c btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5d6a42f6 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7661e84b btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa4cf4596 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa76d707c btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xac2f7441 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd9632436 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdc7c3ccb btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe3ffecdd btmrvl_process_event +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 0x3896efd2 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x5f50aa09 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8006c614 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x94a3919f free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x9cae6f6f alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xa6b16969 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xbf7b355d dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xe89a4947 register_dca_provider +EXPORT_SYMBOL_GPL drivers/edac/amd64_edac_mod 0x9e0b722b amd64_get_dram_hole_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x09f8f4ca edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x17be950b edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x217eef87 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x25a6491a edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x26b1a681 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x31edc289 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x355b1746 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x45443084 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x463ef985 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x46ecbe1d edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4baac494 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x546639cd edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x66a4a278 edac_mc_free +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 0x79575e8d edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x7f545645 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x8b49a266 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa7048178 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb28dd459 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbc28da0c edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xca1694a9 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xda02913e edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xf359486d edac_device_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 0x1b7d00ac extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x55a7688c extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x88f45a13 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x8cebd44d extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9d446e6b extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9fc9c0cf extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc7bea0fe extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd8cb3fc4 extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xdc5fe5b7 extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe610c217 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xe6fa1114 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf3ba968a extcon_register_notifier +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 0x7b0b39bb bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0xa6abdf51 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xc24dbbe8 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xff1bc217 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xca62c15c drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe0606322 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 0x033c133c ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x33392cc5 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xaa4aba55 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/hid/hid 0x01e61565 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x086e10cd hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08a2664e hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d0a154e hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d6212a1 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1ecbe0fa hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x27bd43be hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x404e23db hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x44ddc7bb hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4ce5fc26 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x579fa6c6 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x717e5590 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7adc5722 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x849a030c hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x867568c4 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8aad088f hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8c9839c5 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8caa848f hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9100f98c __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaf980d77 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb496d9d9 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc6a1be59 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd34491d7 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdb8cf3d8 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdcfd2028 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6482253 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6eed78c hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xebc93325 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf6161fb7 hid_parse_report +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 0xb62365ae roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x624311d7 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xe1b0ac42 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x18d7a163 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x1c6c5985 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x278503e0 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x2cb6ffc7 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0edde6ba hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4885a681 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x55e3ffe6 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x65cd0fd5 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6b1043ca hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x84145caf hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8476578e hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x93d98bce hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xed38eb96 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf13f8eb6 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf1873bda hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfa709781 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfce55dde hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x14d73dbe vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4fb472b1 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x53d893c2 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5ffac524 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x670eebf6 vmbus_sendpacket_multipagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa3cf4790 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc17bc5b5 vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc28be2c3 vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc63c0808 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc91a78a4 vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x08b9d98c i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0e2ccda7 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x5bb1170b i2c_dw_isr +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x6bf809ac i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x6f4abd14 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x960d9486 i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xa6d87749 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xab6de838 i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xbf91fe21 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xe2cb7df4 i2c_dw_disable_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xa244ac60 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1c4b2a6f i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x8b8c6517 i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x429d57cc i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x97304262 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 0x628df0bb iio_dealloc_pollfunc +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 0xe76bca37 iio_st_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xeba1a425 iio_alloc_pollfunc +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 0x316b2532 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x2dd419ee 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 0x0dedb280 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x4613cccc cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x662bd0c2 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x06691112 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x0bb1f9c0 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x191f1f7d wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2de17365 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4d1521c5 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x50ab3c9f wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x55242d2d wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7cb22d43 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x81bf215b wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbd2b5b19 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xbf59d482 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf08662ab wm97xx_unregister_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 0x14d280d3 gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x1bebcf3c gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x43251af0 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5a5e38f9 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5cf4eaa1 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6289a3b6 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6a2e1065 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x6c51b535 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x701c4d28 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x707864d9 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8f040fb9 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9d678804 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3151853 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3d37380 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb302c83 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xbb92bdf4 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe947dc00 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf6b21c7f gigaset_skb_rcvd +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 0xf7d5f939 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x7aceaf95 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x92955987 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 0x23510c7d dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x2d9542b6 dm_rh_inc_pending +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 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 0x85deed80 dm_region_hash_create +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 0xa74fcc0f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa9d4f4e3 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 0xce74510b dm_rh_delay +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 0xb9e133a5 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 0x78e95419 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0xba53ee40 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x2bc100f2 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x35bbbb23 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3807a15b saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x4f70e1ac saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x675743eb saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x885d2b05 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xa8de4eeb saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xbf579f5f saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcc06d114 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcd5675e8 saa7146_vfree_destroy_pgtable +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 0xf94790a2 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x1c350aaa saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x49f7b1c2 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x506311a7 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x70724517 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9442d44f saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x9556282a saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xd498f2f9 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xb49fe841 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xbff979d6 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xf4bcac17 tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x3f7d8cdb microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x1a3bc0ae mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x1ac688d1 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x4b93772d tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xb6027b5d tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xf52b2222 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x28dae10c tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0x35262d1c tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xe8e2b722 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x76c9d5aa tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xa27e1b0f tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x04173ef9 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x8aa41494 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0x7b3c0d06 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0xc0e9c832 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x28b907b2 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x59e4a5dc mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7bd67797 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7ea73fe1 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x91071404 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xab6c762f mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xacaebe90 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc3a2adad mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc6d3e5db mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xccd77629 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd1b86e40 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd4c92636 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd5ced4b3 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe2802480 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe5749de9 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf1ffc62d mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf5e6e323 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x02688ad4 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x05fd557c sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x10a08e2f sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1a9f1e98 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x27919df7 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x4463988f 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 0x5a658d12 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5bf5e8e9 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7367440b smscore_onresponse +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 0x78ff7cb7 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7ed52e8c sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x818f3308 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x953bff2e smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa14df01d smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xb9a78493 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xc08f16a5 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfe55da93 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x1a99ef6b ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x56e83848 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x63e15d43 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x663186d6 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x77e0956f ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x8f0763db ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xf1d83ace ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0197a0b8 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0df9c38c ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1dbeff2a rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4733fb55 rc_free_device +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 0x63db2647 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7960b17a rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x80430d3b rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x84d449e8 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x935bd165 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x94f15a05 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb306d15f rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbfc88d2f ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc3e4bdc3 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc4160528 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf4531647 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf8c91229 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x09d5a383 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0c272995 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x1e98fc1e cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3bdc3644 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x58a3398e cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5b1502d0 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6559cf8c cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x730b103e cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x76b29dc1 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7f7133a8 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x7fe82ed3 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x80837704 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x861b84fd cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x99efa735 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa951dae9 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbe4fdff9 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc210fd71 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc54ed2f8 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xfc0ae333 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xe9be2fd9 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x016cdb09 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0c4b264e em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x0cf892e7 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x24a05096 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x3d75c51d em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x494dda08 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x6ff47207 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7e95c52b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x89876adf em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x97ff9f2e em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x9b1d60df em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xa3b0762c em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xbfe7ab5c em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd82d1c10 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x3154a352 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x39bd090f saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x42bf3384 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xd7106223 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xdbfaf059 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x21dc809f tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x337da6df tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdba70ca8 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xfc807d9c tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x09d306ea v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x0b0cef0e v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x16aef9c3 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x559fef25 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x7d25ed5d 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 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xa7d8815c v4l2_i2c_subdev_addr +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 0x9ebfe743 v4l2_int_device_unregister +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 0xe7d49095 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xf14fa130 v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0xff9640d4 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x109027e7 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x140437c3 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x19bbd6d5 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5d04130c v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x68395d24 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x76c8667d v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x780886f9 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7dd003ea v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x85783c4d v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb604a265 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xe26143e1 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xe3db2126 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x022b7611 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x064e4d7f videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x30b20e5e videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x31b3c594 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3698ee0d videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x396e1c49 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x43f49aac videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x568c6210 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5cd87d58 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6cc73ea3 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x740a3150 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x87556d68 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x8bb1fe75 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x92748a25 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x94eb363d videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xb3dea7cd videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbca50e69 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc05d4f5f videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcb36bdca videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xcc3f64b5 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xe8a08514 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xebca37de videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf6793e82 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf8608f07 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x084a145e videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x1545050b videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x4f1844f7 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x506d87bb videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x1b9dd3fc videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x51cdb3f4 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 0x57c3acd9 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x5e58b239 videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x732ce192 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x9675944a videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xa72cde0a videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcee01801 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xf556e4af videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x3484d2b6 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x7c93ad86 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xb4976852 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1b68e8a0 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1f5e139b vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x22a42636 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x397a9c7b vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4d41545e vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x56676697 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5ca502d0 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6942619c vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6b1409d4 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x868fbc2e vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x94c960db vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa280680d vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa4a8b0e2 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa983a79f vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xc0e8678a vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xda1d66c8 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf7b6d824 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x92afb86b 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-dma-contig 0xf10e6b0d vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x078208e3 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x12436337 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xa928000e vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xf222672b vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xfa864f5f vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xa43ae763 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x00aa5859 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0cea7417 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0ddbbb80 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x113ee5a0 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x13c9d842 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x1451eec5 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x25cfcbbd v4l2_device_register_subdev_nodes +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 0x4a5aff46 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x5b3d354d v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x7c1d0165 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x80d5ff9a v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x92169097 v4l2_device_set_name +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 0x9c447726 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9e8382ab v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbbf55264 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc55132c7 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd686b1ea v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xeea3f59f v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfdeb2ccc v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x05443c0e i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1a551199 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x411df73e i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5dd629c4 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xad029e3d i2o_pool_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb294920c i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xe88c9fa1 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xfd32c0b4 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x847e97c3 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x86cb4838 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xe30047df lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4b873bc5 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x53c965dd lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x68cdd4bf lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6a8380e7 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7393727b lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xde7f0293 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf2f03e05 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x366c7dc8 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xafcebba0 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xb6056c1d mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x07f75bc4 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x167fb879 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x546fbd21 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6feed140 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7c4972cb pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x960e4932 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9c38e60d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa1213e9a pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa12ef077 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc687344e pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc938b074 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x5a7b0e4b pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xa535e579 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x30032ee6 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3e4582b1 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6c8aaa08 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x70b90385 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xbb5e2e11 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x04dadb32 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0c0dda0e rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1358801e rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x15c5c85b rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1c13a6a4 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1d75833a rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x30cf3360 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x41926044 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x47a87b26 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x4e7fae4a rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7984e608 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x8ea6d074 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x990127d2 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x9bfcbfb8 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xa1d63375 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb60c1fa9 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb93427a0 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xbf8ba2ce rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xcca754b1 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xd4de7f84 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf8215d00 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x06faecfd sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x34e732d7 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8360d9fb sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x940e1d89 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe3390ae8 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x837a8cba tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x9a70efd1 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xb672e70d tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xeeeb42d3 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xeb8ad244 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x3143c34e cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4008f49b cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x91f67214 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd6ba1e1a cb710_pci_update_config_reg +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 0x081b5aa5 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2e9a9b20 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x3466c428 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5a8c6b69 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa4946db1 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc18963c2 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf7727c50 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x034a23a7 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4f8434b8 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6e55c126 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa415c3c2 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xa96556de lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xccad9993 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xcfab87c9 lis3lv02d_joystick_disable +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 0xe141f61d st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xfac3a53c st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x08a0da1f sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3d880992 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x46fe5e4b sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x49051566 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7dabe969 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x88177cf2 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa3a44fb6 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbbf89470 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xddfbce4c sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x2548fa0a sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x82e63a33 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x9d515735 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc98cf74c sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xce282d04 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xe1ee7597 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x238ca46b cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7c68bede cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x8516d672 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x01ea05ce cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x512d5ddf cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xbe2230a4 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x5a928908 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x0f593bd7 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x1c19b566 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x9da9d2c8 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x410dcd60 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x07f216f1 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0f20c1a5 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x228ee144 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x273dca40 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2c023e04 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x313ef176 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3a41ace9 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4648235d mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5359a7a0 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x56064974 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5a231bf6 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5b8bc49a mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6d217802 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74245231 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x770c4dce mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7c5b1e9b get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8ade3007 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa1c67beb mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaa256738 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaaa0cb92 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xace4fff6 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb645b477 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7de878b mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbf2636a1 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc2cf65c6 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc381582a mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd04a9c31 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd16194fc mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd58830a7 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd6904d9f mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdea44e6e mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdfa52cce mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe016a656 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe674ba0d __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe7feb97a __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe88fadf5 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe95133fd mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xedbc399d mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf4b29015 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x10617c82 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x54f7e2e5 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x72d98aad mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x7dfb781d register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xec8c2038 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x26ba6d4d nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xacce763c nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0xf913b822 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xa0ad0d7a onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xbbeb59f6 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x03fd01e5 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d103717 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d2d1211 ubi_close_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 0x4b7ae552 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x58ebf06b ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x69c7ebfd ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x912ef8de ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x949bb075 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9504f99b ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xb090ded8 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc34908a9 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf095fdf6 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf6138ca4 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 0x331e7e51 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x575ce9c4 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7a22b931 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc2dd50d5 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x243cec42 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x2e3bb92e open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3be2fe6a alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5af67c3a alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5bd7a22f register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x87096f2c can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x8a1ae11c free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x9b3143ca can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xbf435ac4 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc5da5aaf unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf565e864 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf88f0511 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x28a143fd unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x3f6d852c free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x650cacce alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7d216e1b register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x68119d9b free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x8235198c unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xbb1780c5 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xcfce4413 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04af732a mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x065b1e20 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06ee6276 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0863b9aa mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c28592c mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15842445 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x159337b7 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a39c879 mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1aa8ff9e mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2218e069 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x232729b6 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2413816d mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29e7a1a0 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a1ec61a mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c22c038 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c36cba0 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3237d0e8 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a42d38e mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x405dfe4d mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x48ca07db mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f9b1356 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51f61436 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57650023 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a8efd43 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60888acd mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x621dc3a3 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b6402ce mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c5560a0 mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6cd2f7aa mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e7e710a mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7144b43f mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73e05ccc mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77697578 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7afba4fc mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d442e7c mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7dd99267 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8116a2fb mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83462a0d mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x892010ce mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b0aa7e8 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d8e8f8b mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f58beb3 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92c0a7ec mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x967ef72d mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x968eb9f0 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96c9f780 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97e16c89 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9fc11e08 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa0700627 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6e349ae mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9e546b0 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbd82423 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc902983 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbda39bc4 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1f4f43e mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2dd2309 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8b0ef63 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca21205e mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd58fa088 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7bbd417 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb27fe8a mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe55f5ffa mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6b43517 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8e1d986 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedc5b0d6 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf143fd7c mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf43d804c mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7c2e7bf mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf802bdb4 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9a29c11 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfdd8e43e mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfdf40c21 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe957aa2 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff3df1d2 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x1afe292b macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x1c7c6519 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x57d73331 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa26c233e macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xcc0e8475 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x06d519b3 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x0cdece25 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5571d252 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x61d47edf usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xa5333af7 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x10a765e6 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1c42799c rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbb29cca4 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbe56d095 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdd714330 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf8dc1c0b rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x00613d19 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0b8701ff usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0d07257d usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x251dd1bd usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2f43f2e5 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x37c3332c usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x38156cce usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x40561378 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ff2a0d0 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ff322e3 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88e7e313 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x90a4cdf7 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa6325008 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb154eed5 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbb84c62e usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc1351b36 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc2084f27 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc58ccb91 usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc7b27cb7 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xca211bc3 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1960cba usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb523865 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe11f7bd0 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf504a1d2 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x2cc56eb3 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x38165e81 i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x38529e3d i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3e986f93 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x41f90e69 i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x48ab0787 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x4dc54b73 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x563c7a0f i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5b4b1ccc i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5e535d44 i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6bf9f147 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x87b38cdb i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x993b4ee8 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9cac798b i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9e961dbd i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xebb5712a i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x1c820b19 libipw_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x77416fd2 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x431fd8c5 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x640cfd05 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xac7d8929 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xb3b54497 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xc7a08094 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x04eb3777 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x05f8900e lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0c7251e2 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2c5ee995 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x2e07a624 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x333c668e lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x376fe804 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x57cfb90c lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x58c2bc47 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x919eb71b lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x9a824a8f lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xc8d3504a __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xe9e146e4 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xed4940a6 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfc69c1df lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xfdd45194 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x019da2ac lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x1cb4159a lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x3133215f lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x53e172e8 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x59648c90 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x694d1f51 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x801c20a1 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xa6755a96 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x01d6ae39 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x0a2b73a5 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x23489746 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2caaab61 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x33e303b6 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x5a243938 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x76fe8adc mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8091164d mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x85fd97c0 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xadaf4049 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xbfc7212e mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xc8612325 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd5a1b83e mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xde538f73 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe746e09d mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x0108d1ea p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x2dff0bb4 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x3bf520b2 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4493f842 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4cf39f15 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x71fbbab7 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8f7dc0ef p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xb73a7c02 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xc94a1ace p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x05ceb5c2 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0be9d8cb rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1e07de6b rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x23cd280a rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2ad75268 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2e4cc679 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2f07ae67 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x33e018ee rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x351d8f86 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3bd4e127 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x40e16f1f rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x42d19b11 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x49383ee7 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x49e8b82b rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x50b7207e rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x63ec461b rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x640ecaa0 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x70eba414 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x77e2cd49 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x85697195 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8d756c50 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9a759d8e rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9fde880c rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa47d35d4 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xa6c25853 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb002628d rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb1154c86 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb7d6d584 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xbb8eb4fc rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc03d5a39 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc1d564a7 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xce7a77ea rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd8b50cbe rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe5f420a5 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe8d19f48 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xefb318de rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf13ce5ea rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf2f701bc rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf7ef37a7 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x03e0c336 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x0603d561 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1305789b rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x187336ee rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1b8020ff rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1f3c03a4 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x26fa82d6 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2f1b53b5 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x34ea7676 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x43f78ced rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4445c0e2 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x466fb16d rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x52c643a2 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x699857a5 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6c709517 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6dfccecc rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x705e30d8 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x78ae6923 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x798012f5 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x819102a4 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x83059d06 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x84d2729f rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x84f57b71 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8856afe7 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x893ea34e rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8a923020 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8aa1df98 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x92fe4bac rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9616ff59 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9bdec2c9 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9fabc438 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa338873a rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa5627033 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa8aad5c7 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb2c0cfed rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb2c659c2 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb5d48288 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb60f4845 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbb2a442f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcab48ff4 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd071ba54 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd504a50b rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe38b5743 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe879e9a2 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf217bb3c rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf8d8f7a7 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0cae92c7 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x15fa6de7 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x28019cdf rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x2e1cca57 rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x32ad5fc3 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x668ec46a rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x790982ff rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xad984201 rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xf57b6df1 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x16868344 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x2155eb89 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3688eeb5 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3a494781 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x470a7339 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4a8c9383 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6939710d rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6e0651ec rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x815d3e40 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9bb99cbc rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xa5557dee rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xaa401b02 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb6b7ecf4 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdc9c2e74 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xde2757f5 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf7875bf1 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x595aaf1d wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xb499e2c4 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xed0e5db3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0f1ec934 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1577ab4a wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1687a841 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x33241c51 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x339353b5 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x408b1009 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x51c7d6b5 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 0x6d05e579 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7c70fc8e wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x88b1a286 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9fbbb0fe wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb85cf637 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xecce21aa wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xee5d0687 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0x9d167636 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL drivers/pci/hotplug/acpiphp 0xd7fb530a acpiphp_register_attention +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xd3a272c7 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xf7eda948 asus_wmi_register_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 0x042a86b3 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x6f553512 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8688c891 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x06b6ab44 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x088aba8f mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4629bac6 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7bef9d7c mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x87c8b841 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xcfdabe25 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x21df8e7c wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5beca077 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8c45ff68 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x94c8da56 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xaeb749c8 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xf2d08966 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x2c65934f wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x068eb321 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x11936fc7 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x16f94086 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x278bf9da cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x321fb9bd cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3276c917 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4bb92ff5 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4dbaabdf cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f42ff31 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x55da345f cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5ebf4ad1 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x604b0ad7 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x65485684 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x67c8c433 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f08b568 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6f7dde30 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7233492c cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x73ebe576 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7b2e763d cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7cff47f0 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e09d5ef cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7ed110c3 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x88b6504d cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8b238f5b cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f722136 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x94dff1c0 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa1230d80 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa74eea1b cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaa76cc52 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xab50c0e1 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xae6f95ab cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbe0e4fc8 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc6f377dc cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc724b4f8 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcd8399ac cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd02de46f cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd06d5a90 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd653d9b1 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdac01b96 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe1885ecd cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe86244b3 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf0a5a071 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf34167a8 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfea9c602 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0ab4c9de scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x0cdfa155 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x52a5a759 scsi_register_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 0x6808fc77 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x6f3bcdb3 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xd2ca53a4 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0e01aced fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2be65373 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2f0d2670 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x306c960d fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5f4dacd1 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x71188b22 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x74b43b2e fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8f8e1388 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x94d3d92d fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb33079b0 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb345ee15 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf618d3cb fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf7859647 fcoe_clean_pending_queue +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 0x06e1ae30 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0841655f iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x09f2cd8f iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0c673396 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1eb5d53f iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f27ce4b iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x21e85a8d iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2c4459ef iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2d27ab1d __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x30e39411 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31db503e iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31e43e3e iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3751d32a iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x375b8805 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x390251e0 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3eb2069c iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3feec11b iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4543d2db iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x467fd871 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x484261da iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x49e2ff19 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58bb6dc3 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x790995f6 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8b433cf3 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d2d1c13 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d34f9be iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x915d860a iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x929c65fa __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x95dd290d iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb490bbfe iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc1b071f1 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc4fe9e7b iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcffff456 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd77b5890 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd782cb6c iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7d4009f iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdce1821a iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe82150c5 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeac5bb48 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeb58f1b0 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeddb3a87 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfdf86604 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff2fc6d1 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0b236f45 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1dde2230 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x25de688b iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3fd962c8 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x409e9d1b iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x61920cd9 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x65a410c9 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x839b062f iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x85d4040f iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x87c9c4db iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8ad0b1db iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbc180c1a iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbf1f0cd4 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xca871db8 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcf20cbce iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe7fa9122 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf5f8e11e iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x23d5d005 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x26953a69 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x31855b9a sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x45052eaf sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x45cb576e sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5706d58b sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5901adf0 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5aee7511 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x62f022ab sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x69e1269c sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7a1c4295 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7c1ef678 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ccc7a87 sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x977cd34e sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9bf41127 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9e880ec2 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9f1251d3 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa4ffcf5a sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb3360b71 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc65aa02e sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9988135 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9e3b232 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xea02e32c sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x2a41733a srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x7361ece9 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x90e9b428 srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x92a316c7 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xa9970ea0 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb0c8cd8c srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x745a8bd6 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x833f054a scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9ac1cf7a scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x9c5064bc scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa9289001 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xaaa459e9 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xcc994197 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xda0087e3 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe63fb206 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x00df3dff iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0246e15f iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ddb4fba iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11419edf iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x14733aa9 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17b91c9c iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1c46dfdf iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x25f54172 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x37cae6c6 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50b12a44 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x58ff49a9 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5efbef9d iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66ae1185 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7034a795 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x741a6905 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x743bcbde iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76654049 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x857acd30 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8fad6c29 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa8d20066 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xabde8542 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb002d249 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5bd7244 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc9ffed84 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca9af665 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc404f51 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd06d4e48 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0b1c82c iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe2f3477c iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe7da89a9 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf4233a90 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfd90ec7a iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x023026cc sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x08769c6a sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x65e3c2d7 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xcb64e7f5 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x0c3bbf40 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x4bcbe47a srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xc3c69727 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd2ae2556 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfcc1f5a6 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3dbd2ab5 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x478ea140 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7ca08855 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x80b8717b spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbd6ba53e spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc059a16e spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x0b345c52 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x120885da dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x413cf5f7 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xb0ce993b dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc667bca1 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xb0217ee4 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x0cb866aa comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x4c9c4633 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x7fe0cac8 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x977580f2 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0x9f87b85e comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xb5634800 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xd45ca353 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf69a9dd0 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/comedi 0xf6c0bf70 comedi_get_device_file_info +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x74063a99 das08_common_detach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0x86fcde20 das08_cs_boards +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/das08 0xef44131e das08_common_attach +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_labpc 0x166e712b labpc_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 0x2cfc1d30 labpc_common_detach +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 0x0b90e28f ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x109a9d86 ni_tio_rinsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x158a0158 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1d70cb4e ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x1d94b1fa ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x2c099886 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x35a61cdc ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tio 0x3ea9a7e3 ni_tio_winsn +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x508a66d8 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x518bbf3c ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0x7fb355e9 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd4842e96 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xd5742ad2 ni_tio_acknowledge_and_confirm +EXPORT_SYMBOL_GPL drivers/staging/comedi/drivers/ni_tiocmd 0xf2ac1a05 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 0x980f9867 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x0bd53ca6 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x57a9bb52 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xd33353e9 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe36a3d32 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xe9d8082a ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf293fe6c 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 0x0905d604 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2991a504 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2f7ecca5 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x35590902 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x5fae642b usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x631b73d2 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x6a5c06f4 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x76c2b376 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x8372acae usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x914f6af0 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xb9c1dd47 dev_attr_usbip_debug +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 0xeab156cc usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xef809dd4 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x052dc0ec max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x1ce5d063 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x21f6698e max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x45c69444 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x793bd92b max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x8c52efd3 max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x15bf28c8 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3c4e0613 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xece08961 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x5552f86b usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x6dbd8f23 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 0x12ba05eb usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x31c6f56d usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x32c8add9 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x618deeee usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x73d388ef usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xc488ef76 usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x334df691 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x485c99ac usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5d176c12 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6c2953da usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x719222d0 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x76d9d14d usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa239d90c usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa5b7912f usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb923209f usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x7f529b9b musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0xf8bfde4f tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x574b4a6c isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04c77c5b usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x08368675 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1a64801a usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1aa5210c usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3684e450 usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4f2e9af4 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x59e1fb9d usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x627d7e12 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x70958cb2 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x909fc621 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb4635f65 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd8906c1c usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdcf84371 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xddf1bd46 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xeb9a9b0e usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xed5bc31a usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xee27a0e8 usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf2481db3 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf5fac818 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x001a386a usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0fb7b3c3 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x19a86057 usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1f2ec150 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2cec8c0d usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x56431118 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6ac75534 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x7e4bfdd1 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8d8c8fd0 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x998a8780 usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9be5cff0 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa56d88e7 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa6b64e9e usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xb678b03c usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc5a09c23 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc9345047 usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xce09e89e usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda225a8d usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xda23fb72 usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe43cfd4b usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe98e2e52 fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf272cc2e usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x122f15ac wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x29a04c9a wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa756abfb wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xbeee0055 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xd31df510 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xfe329b84 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x082c04ee wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1adb0d40 wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1df33030 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x20f81057 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3c57a753 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x4c790c5b wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x56bd1532 wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x6c6bbce3 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x730ef7d5 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7680f0e8 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8a82e980 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x92bf69e8 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbc0f70cf wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbdf134c8 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xbeeca948 wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc16018b8 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 0x297263d9 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x9888439f i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xf048cba4 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x000d6ebb umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x0944da80 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x2c49ede7 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x74690a23 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xabad612c __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xc99e53b1 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xf9862672 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xfb41bca0 umc_device_unregister +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 0x14e6accb uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1655a849 uwb_pal_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1e17f291 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x2e121c98 uwb_rc_mac_addr_get +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 0x4530868a uwb_rc_rm +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 0x66ef85b8 uwb_rc_cmd +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x724a9f83 uwb_rc_dev_addr_get +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 0x816b9e92 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8baf3c6b uwb_dev_for_each +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9087580b uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xaaef7a37 uwb_rc_get_by_grandpa +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 0xbf238c1c uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xc1b67dda uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xcd43d4db uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xd3d46621 uwb_rsv_establish +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1e442ba uwb_rc_put +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 0xef01bc95 __uwb_rc_try_get +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 0x5b48cfb6 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0a05f388 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x0b76149f auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x351fd383 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x4321a723 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x58dfa644 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x78ba1525 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x81324de5 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf0b9906e auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf64c7b2d auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xf809e46c auok190x_common_remove +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 0x348169aa ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x903d1500 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb6a67887 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb6f5bf7d ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe385a7ba ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe3c4b054 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xef660255 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_ddc 0x770ca658 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x98bea8c7 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd31009d9 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xa9bfe20e sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xaf0d8545 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 0x045a737e viafb_find_i2c_adapter +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 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 0x04eed353 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x12426f1c w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4869d50d w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x57208937 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63bdead4 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xac64cf28 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd1213da3 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd40854f4 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe08fc826 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x5ad217ca xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4ded6483 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x66c19077 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 0xf69527ed dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/fscache/fscache 0x092cf98e fscache_object_sleep_till_congested +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0fea5e4c nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x113b62f5 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x17ce645d locks_end_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2e4861ff lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x662f0fe3 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 0x80cd16d6 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9e960f80 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd816fdc2 nlmclnt_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07582837 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0985e89a nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a495e3b pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fd3ced2 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x165d8cab nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c00fd95 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c5db06f pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2969d804 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29f52ca8 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f6b8d68 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3136e3be nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x33ea50ff pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35e2af02 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x422310cc nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42c456cc pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x45d3ca62 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a39dbab nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4d02ac3a pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55319748 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x56491ac1 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5be5b9b1 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d204122 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78a43848 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x83c5e5ff nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86a72124 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8971eeea nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c5d5554 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d0cf546 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8ecb01db nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8f90d90c pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9304ac57 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9610e008 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa645b65d pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac91a89d nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb700208a nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb71f2266 put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbab77159 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb323e3d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcca2397f nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1ff2b43 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd1c4969 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xddcb5a0f pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3cf400a nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5a0a949 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe752ed09 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9209dda nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x798fdb27 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa55a4a3a nfsacl_encode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x18b961df o2hb_setup_callback +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 0x2bb9eaa8 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x31567a06 o2nm_node_put +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 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6b04cd98 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7ce96c38 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7e6b616a o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9767a424 o2hb_register_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 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/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x00135ea9 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x67c51285 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x777fbbc9 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 0x987426a4 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9d33edf7 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc21a2079 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 0x05647749 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 0xb4bd060c ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb8ca4415 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc066bee6 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 0x263ad6d5 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x2c234afb garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x639e13a2 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8cf6d9eb garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xbcf34471 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xf655912f garp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0xba2b1678 stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xd2f74091 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x8de0074f p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0xc4889292 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 0x99493545 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 0xffd37386 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x03bdd8e1 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x09f2afe7 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x158fe37b dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x199af5ec dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2201aebc dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x294c2144 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2b9479af dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2c3de2a4 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2e2f5888 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x34522871 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3bdb4460 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3cd15e64 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4db92190 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x573d77fa dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5c2d4f7b dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d81988b dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e4f53e0 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x64ee0eab dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6d0be3d3 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x76da6ec0 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x79d009f7 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7f29b7e2 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80f2d22b dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x89f4da09 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0xab52136e compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xba34fe34 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc1b2ed63 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc4efe957 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc6755bb3 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcf9af1e7 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd4ad35e7 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf491d76 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe13acb86 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3691b9d dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf707464d dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf9faf356 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfbf4beca dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1757fa49 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3fdede87 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8461798c dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xbea9ea06 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe532999d dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf087ab12 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x117fa4c6 unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5716181c register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x177ac175 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xd6692e32 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x06ab0018 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3a4652d3 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x417975de inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x79202a28 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x907be983 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xb797cdcc inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x5c23fc3c arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x6b114443 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 0x71263dda 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 0x3b639fde 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 0x468669ee nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x59457776 nf_nat_proto_nlattr_to_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x6ed515ce nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x91be437a nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xb605cbce 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 0x73a526af tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7ea7edd4 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xae003af3 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb22243b4 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc9e15f47 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xfb89fb3a 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 0x0af4a883 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x147640eb l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x28909d44 l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5cba04e8 l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x692b4294 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6f9945d0 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7824a949 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x82c503be l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8365b189 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb9a0b28d l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe0f6ec5a l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xef971154 l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x13f40f3a ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4394a921 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x648d4a87 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x845759f4 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x91e571a3 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb9f11e5f ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe3db0004 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe52c46a4 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xffbdd37b ieee80211_request_smps +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x14b09779 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x56077a6e ip_set_add +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 0x8aff0b70 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x97102557 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9b175f75 ip_set_get_byname +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 0xb073352c ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb759cb67 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc3b062db ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc72d7eed ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd3df2b1e ip_set_test +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 0x245812ca register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x34d28fc7 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa48d0c6f ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xd2a8ef1a unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0044e313 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0575634d nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x073b7dcb nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1938a9c6 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22970014 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2662ee88 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2e0f0a03 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x30544e38 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34eb7fc6 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36a24f5e nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b97b649 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c24380c nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e3ed68b __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4190ec58 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4e80f927 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ec03234 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a9ef1c9 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c083375 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c82c513 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e13e91a nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e41257c nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f637d4b nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62acb754 __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a63dfc0 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6be2b4ba __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fa52f8f nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7079c9ff nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x76c71703 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77826690 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78979028 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b1b1596 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8156b3ca nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81a52456 nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x89f63e07 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ab5be3a nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8b633d5b nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90e0eff0 nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90ff6c9f nf_ct_invert_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x983ff434 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c3775bf nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab3d1f95 nf_ct_untracked_status_or +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab8202b5 nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xad1bb027 nf_ct_free_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafc63d08 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb0525504 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2df7a9b nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb360d148 nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb75313cd nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb8b0cbf3 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb80be52 nf_conntrack_flush_report +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 0xc41398e0 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc84d2627 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc8d07cd3 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcee417b8 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc6db22a nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf5e0b65 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe125142a nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe76e210f nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe87fe97a nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe9588db8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xee0dd96d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf4a590cf nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf7d5eaf8 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf8f49c8d __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf964358b nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa7b44a5 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa937718 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfda5ceb3 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x9f5b39cc nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xf7968516 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x197c94fc nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0fc6fe98 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1f10573d nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x61c33d27 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8a0a6720 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x92dd5e7f set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa3c0f277 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb2bda19f set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd9787e1b get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe58d150e nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xeccc292d nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x2c19d99a nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x16cd3c26 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xa8d40cdd nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xaebe05ae nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xce7d3a12 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x615cd5e5 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xe6b3c99a nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x3485d6a3 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x54ed4344 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x62ec44bd ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x831d5a8d nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9e5e9f6f nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa137301a ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb57dd499 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbf66567a ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xcbc9e78a ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd403f7f5 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdda2b468 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf02fb0d0 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf79481ea nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xfef3588d nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xa3d4bc5b nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0xc88d4d8a nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x29260c04 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x39fb59f4 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x50b5e7e2 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xacbf95cc nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xf81ea97c nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfcc3a3ff nfnetlink_send +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_acct 0xc945af82 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xad57845f nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x02e00ec4 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x040cf2bf xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x07646795 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x08ad198c xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0ebca5f7 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x196dc04d xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3a5366d1 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3fec839f xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40b72204 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4a720f28 xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x568ed783 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x581b22fd xt_compat_target_offset +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 0x72e9802f xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x90bdca07 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa98b036b xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xaa83d453 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbae6c5ea xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc38f3f30 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec24fd82 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xff785da0 xt_register_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 0x05fa8700 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x0832ea72 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x195d91cf rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2d30c499 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x36fe10c1 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x3b4fc0fc rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x3e87f3b7 rds_message_unmapped +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 0x6b50b66e rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x7298423a rds_atomic_send_complete +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 0x81a8019b rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x8d4476c4 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x91692a82 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xa94b5b35 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xb6df8b15 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xbac88e6a rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xbb4f37f8 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xbb851ae8 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xc0a01bfa rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xc0fc9d39 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcf110cf0 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xe156e1d7 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xe98e9b39 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xf91030aa rds_send_get_message +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x762e83c3 rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0xc94a7bb4 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 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x47a1f1fe gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6cb9e9b3 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x82da639c svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8babfbc2 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 0xa6633f65 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xaa7aebb8 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 0xbb9a98ec gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd5d9f1de gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdaf8cae6 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe3a36fce 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 0xfe21db01 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01545355 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02fa6e7f rpc_count_iostats +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 0x08ed8fb2 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a7e7059 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d61b1b5 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f5a21e6 rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x117db25d rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11834e80 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x132ae9de rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13b2eb61 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14743700 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1760b495 svc_exit_thread +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 0x1bb069a4 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c20f6ba xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c26d66e xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ed8dd01 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20d78c85 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x219a9fb8 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x241ae1f7 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25a0e2ec rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26787a79 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27643988 xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27ddc7ee xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a1773ed xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b170edd rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bb2d03c rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d584a13 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x306c58dc xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x306d64c0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30f3f244 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30f94126 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x318e539a rpc_call_start +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 0x32fa017c rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3369c51a rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33fb238c svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x354e4b02 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35d37f89 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36d98ce6 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x376ee1fb xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c0e597e rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e5e5b95 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e77ed31 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x405417c6 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c03a57e cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cdf1f7b rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3572b0 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e579e62 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4eb8d869 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ee356a3 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5510cd74 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x565538ed auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58420833 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5875a8f2 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59cb85f3 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c3f0549 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dbabd2f rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eaf0332 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0d8683 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60dd7606 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61f8e449 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65c3e3af svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x664a308f rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b7357ad rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cb12832 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6fd098de rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7769f9d3 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77c332b0 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7819f0fe svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a2d756c svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ad2c416 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d408221 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d77c55d svc_proc_register +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 0x7dee9495 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f0efd74 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f359cdb svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81b12f0a rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x821a602c rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x825fa02b cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82fa61a7 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86213a4d write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86f43ce0 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cab09ba svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8da9954d rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dca04a7 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8deaef4f cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f18b526 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93d2f677 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x940508ad xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x950da472 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9852bba8 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x988397fe rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98ec602d rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a632690 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b1aa66b rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b52b00a xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b608b4c svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fbc8ee7 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fd370d6 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa63a89a6 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa82b95fa rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa91af6f1 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa36e04d svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac07562f svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac59a1a3 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xace5998c xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb142d4f6 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1bbe607 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb205b8e2 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb29acd2f auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3d07510 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb56fffed xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5ff393b rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb645ecdf rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb74e2fd6 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba59d4d4 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb638535 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbbd3a5f2 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd430585 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd6e712c xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd836f1a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdd6bbeb xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe437013 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf50c32e svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbfb4cbc1 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbff0bf05 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1196c48 rpc_mkpipe_data +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 0xc4275c19 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc49fc8a1 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5af3495 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5c3cf11 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6ae75c4 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9ae0e45 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9af7552 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca6b0183 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd504e64 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd60a63a svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0539e02 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5dad4f0 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6a12910 svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6ea6b46 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7db02a4 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7f636a3 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9f4d7b1 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde07f242 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfe9b6b5 sunrpc_cache_unregister_pipefs +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 0xe7869e7d svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7f553f4 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe837b109 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8703f95 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe907414c svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea9e29ff svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeba4104d rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec468410 xprt_release_xprt_cong +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 0xef0c3c25 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef5cb93a rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf016bf28 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0324183 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0c2f0d0 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf10e7adc xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2d21dc7 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4d73f27 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf75db5b8 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf80ea425 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfac7b230 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb47975d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcb0a67e svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd74a708 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe64517e rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff79c2be put_rpccred +EXPORT_SYMBOL_GPL net/wimax/wimax 0x141190df wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x255afa0b wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3f35dc2f wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4b0270fc wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6c147ad9 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6c3cdf96 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x81ca72da wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x83d2c4ad wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8642e1d2 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xaba1e55c wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb8bd5ef5 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcd1cf9f4 wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xcec136eb wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x05b346c4 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0cbdc1e1 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6768041a cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6bc36707 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x850efc47 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x85a8ace3 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x89053705 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x91266937 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcd727213 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcf47ade3 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xdc1ed0dc cfg80211_wext_giwscan +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 0x5e45d69a pskb_put +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 0x2b4994d7 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x36a85449 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x93c4652e ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xde1362bb ipcomp_destroy +EXPORT_SYMBOL_GPL sound/core/snd 0x6b2b8653 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x996aa92d snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0xaa1f0320 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xbae7b11f snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xff3c6401 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe182236f snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x0cff627c snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x3ddeb72a snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x8641f538 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x88fa5337 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x9d8157d8 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb6633193 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04f2ef6d snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0670822b 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 0x07716941 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0847ebc2 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a4468f6 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a75aa09 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c5c87be snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c91ef6c snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d50f851 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f963765 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12c807af snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13324b32 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1750a93d snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18b47325 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18f45294 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c744d57 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d9a3b68 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e92120e snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x21bd3403 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2744606e snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27ba3f4b __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x27db7499 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28d47108 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a0b611b snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b8863e8 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bc8b88d snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c3d3de4 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2dddee97 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e6bdbac snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x320478c3 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32bd4e88 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3466d82c snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34a0d52a snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36f231ed snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a0cc670 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3bfe40d8 snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47d43fa5 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4cfce103 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dadbf84 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50786ac1 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x513d7088 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51ba690b snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51ffa2e5 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x533d8d74 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54b540f4 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x552013d6 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a55b8e4 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5eabbea1 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f17280f snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x631cde73 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6332d97c snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63596615 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63a161f4 snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65f02958 snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65f37d0d snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6851cc0e snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ce7d8be snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7069e988 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x721cdfd0 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72e3fab6 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78ba14d5 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79b1ad23 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b51da73 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cdfbd42 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cf285b5 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e865c0f snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x825211f9 snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8327d8e0 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8607bace snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87953bfd snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8adb0e9c snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c8c4c12 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d7dcd2c snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f21c651 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9418a6a3 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9789bf2e snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x982753fa snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a6fa2f1 snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c503dab snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9cc2d560 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa399272f snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5e8ad76 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa61e9700 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf535f7e is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2e0387c hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3448c77 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3a36a1f snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6de2e59 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7bb4fe5 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbaaaff51 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc89ef2d snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbcfeb4e5 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbfe52439 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1d324cf snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc560b41f snd_hda_mixer_bind_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 0xca35181d snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc97cf9e snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdbc1c32 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdc586a5 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce2da662 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf812c99 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd05b5200 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd2a56e9a snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3567c95 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd42228ae snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4c5c7ce snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6e64c62 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd75321d4 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9a83b18 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb07aa9d snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde16fa88 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdec4304d snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe50810cb snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe52bc155 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef8a9c5a snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf43deb88 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x5ed2f619 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xf7f185fe pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x33dab9ce v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x288cbb3d max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x1eee5c16 tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xafc4108e tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x26c8fdeb twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x2e8db803 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x5d9b9720 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x7dcea760 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xf5510c51 twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x6fbaabfd 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 0x6a9ceb0a 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 0x7b778ea0 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x8f653819 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x9e2b1541 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xa7f776aa wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc2493010 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc9ef2421 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe9f1e0db wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x595b6662 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xe7a6f78d wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xb85268dc wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xfdc1f6d1 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x603a20cf wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xd2891696 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x3bbcdf1b wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x01c46554 snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x020debd5 snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03933201 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04182c19 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0608131f snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08bf5320 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0bc3c9cf snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c727025 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c83231d snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0dca4c34 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0eacdb6a snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x106d346a snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1182861d snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x119faa03 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15c95c31 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18d0bfcb snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18d7a6b5 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a469cad snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ce20c4c snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d1a05d5 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26e93264 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x27ab2178 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28884583 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e8cf8f5 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30ebd8b0 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3123855d snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33a063b7 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3468d7e6 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3597afef snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3716dad0 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x378ac450 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x396ef2db snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c71bd60 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x412f1c71 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47c6ff33 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a714f18 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f361684 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f8a9e0c snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x514218ce snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a239cf2 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e1b82d4 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60b639f3 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60e8a16d snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61296dc9 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x625c25d1 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6322f750 snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63a92ec8 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x651f82d2 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x692db590 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ecc282a snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x72529d8c snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x756b9b64 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77534d78 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77debb16 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78645978 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x786b9968 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ab3fcd8 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7be53f1b snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d2ef8b9 snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d5d4bea snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80fec494 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8132df18 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82d96cff snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83d57d3a snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x85fafc14 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8622b324 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a5bf0fc snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c0ece44 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8cbb2b2d snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ce541c1 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x918f32f2 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9531e0d7 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95cd72a5 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95f13873 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ee72667 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0b54f77 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0df7eb3 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa5297c09 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa694ce81 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7f34f07 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa882d108 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa074ba4 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xad5337f4 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae2254a9 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae947249 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb2bf8b6c snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4c7f9a0 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb63aece9 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7515de9 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7ff30ff snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb87f751e snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba43f81b snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba8b2f04 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba8f90ee snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc24a1fe3 snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4352c5c snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc61a9bf4 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc621b377 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6d2c400 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc78f285f snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc83b583d snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc280ec8 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd01a29cb snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd122f845 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd31c9e1e snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7840df8 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7a3e5c4 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd974f4a4 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc4d791a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde3f082e snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdebaa92d snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfbb9b4e snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0f87acc snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe187dd87 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe52434e2 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8e54957 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9d42be3 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9db2c1d snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec9ff70c snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedb12d27 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee1eb50b dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf093e4f3 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1803d43 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8057aca snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb7f303b snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL vmlinux 0x00232e7c tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x0055f1da disk_part_iter_next +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 0x00780d01 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00e5f8b3 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00f94fde register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x00facc6d edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x010c1200 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x010d0183 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x011fa0d1 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x01330a06 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0141bed1 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x016d32e4 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x0184abeb usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x019a5c90 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01ce2bc7 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x01d8fdef i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e2c0e4 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x0200a24a usb_string +EXPORT_SYMBOL_GPL vmlinux 0x022d726f scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0x02448233 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x026211e2 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x0262ebad tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0268bf80 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x02b597be fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x02df3fc3 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x031a7cb1 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x03326bb4 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036583cf __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x03837325 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x038ba57e ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x03a3f86d unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x03a7e0c9 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x03dbcbee pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x03e13014 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x03e326a7 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x03ec249d bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x03eca9a1 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x04acf043 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x04adf9a4 xen_swiotlb_sync_sg_for_device +EXPORT_SYMBOL_GPL vmlinux 0x04c18212 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x04c3f2c1 gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04d82000 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f6bca2 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x05288643 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x053e9370 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x058624a3 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x058cdfe8 __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x0593f6f8 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x05a19bb3 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c41fb5 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x05ef2daf crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x060d1064 set_memory_ro +EXPORT_SYMBOL_GPL vmlinux 0x062fc169 xen_hvm_resume_frames +EXPORT_SYMBOL_GPL vmlinux 0x06493f08 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x064ed088 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x069917f5 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x06b3f66f cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x06ce16a9 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x070c5927 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x07309db6 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x073af818 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x073f5a50 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0756790a pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x075d9e74 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0792d6cf blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x07933ac6 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07b09b0c swiotlb_tbl_sync_single +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 0x07e53d8f crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x080a4e41 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x08473616 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x084d322e free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x0880c84b __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x088bfa7e cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08933684 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x089ed8f1 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x08a42504 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x08bc0870 compat_put_timespec +EXPORT_SYMBOL_GPL vmlinux 0x08ed8a9e bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x08f274b6 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092d661b find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x0967596e tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x09c734e5 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x09f781d8 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x09ff90a5 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x0a076743 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x0a288348 flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0a3a8eb5 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x0a3e11ac blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a6267b7 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0a722b46 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x0a74a165 inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x0a92a7f2 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x0abfd97d ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x0ac5f06f regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0ad5e52c usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b19ed7c apei_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x0b258e5f perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x0b4b73b5 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x0b51fd7c ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b7b9554 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0baf1fec rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0bd5e0ec wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0be8cb31 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0bed3563 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x0bf907e9 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c625892 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cd10a4e work_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0cf08a88 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x0d02cec0 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x0d136adf zs_free +EXPORT_SYMBOL_GPL vmlinux 0x0d3c8f7d mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x0d59e90e usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x0d834f0c sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x0df0509b user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e2d9337 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x0e54e148 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0e6a05be tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x0e6bd273 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x0e8ba7ce part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x0ec210b8 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x0ecf823a static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x0ed09bae rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f2450c3 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x0f58d623 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x0f698998 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0fa138de xen_hvm_need_lapic +EXPORT_SYMBOL_GPL vmlinux 0x0fa3faad raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x0fbcba91 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fcfb433 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x0fe2d570 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0x0fe59ccc user_read +EXPORT_SYMBOL_GPL vmlinux 0x1002336a blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x100c48a2 unregister_dock_notifier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10557279 md_run +EXPORT_SYMBOL_GPL vmlinux 0x10856bdf devres_get +EXPORT_SYMBOL_GPL vmlinux 0x10857e39 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x10ad35f4 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x10e2a9a1 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x11473e98 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x114f1a20 balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x119af014 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x11e09ad4 agp_add_bridge +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 0x123e392f evm_verifyxattr +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 0x129baf1f platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x129c125d ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x12bb4645 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x136fc96a ata_scsi_port_error_handler +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 0x13c6918f blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x13e19abd inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x13f03ea5 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x1416c8d6 put_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0x14325b3a ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x145e21ee rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x145fd596 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x147132db blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x14a395b5 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x14c460c9 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x14f8c422 platform_device_add_resources +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 0x1513188a ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0x153241b7 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x15517275 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x1571e3f8 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x15781d63 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x157a878b pid_vnr +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 0x15b25267 find_module +EXPORT_SYMBOL_GPL vmlinux 0x15cfdaf8 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x15e5c21f sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1605d819 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x1611d699 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x164c6592 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x167ef155 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x16eabe1e sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x171839aa pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x1724f34a init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x17416ed0 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x17513e5d anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x1771f873 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x17b81649 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x17ce154b xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x17e10d9a tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x1807a040 zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x183401a5 iommu_detach_device +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 0x18608412 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x1866cec2 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x1878f284 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x1894f0f0 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x18aeb308 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18f0193d dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x18f83fab gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x191fb032 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x192bb231 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x195b687f dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a63d3f blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a2a1912 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a2c4f26 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a37bbdd sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x1a3a2e7c relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x1a51dbe6 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x1a7ad4da ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x1a979e1c generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x1a9f401e scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x1ac42747 xen_remap_domain_mfn_range +EXPORT_SYMBOL_GPL vmlinux 0x1ac6641a crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x1ad83009 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1ae955ab fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x1b0def7c usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1b1ffe6f tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x1b3c9291 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1b74efea __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x1b7cfae8 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1ba97886 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x1baa0e73 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x1c0cac67 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c8217a1 xen_swiotlb_unmap_sg +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c931ca0 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x1cb289b9 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x1cc9e797 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x1cf63240 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x1cf88ebf dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x1cfd95c1 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x1d000756 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x1d2c7078 blkdev_aio_write +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 0x1da000c4 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x1db67ebe ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e325760 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x1e3a88fb trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x1e43c813 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e8a14e6 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed6df90 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x1edb78d0 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1edfb44f pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x1f0c0ef7 task_xstate_cachep +EXPORT_SYMBOL_GPL vmlinux 0x1f14e86d put_pid +EXPORT_SYMBOL_GPL vmlinux 0x1f169a37 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x1f2b8c88 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x1f2c1603 ata_bmdma_qc_issue +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 0x1fc320ce sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fd2dc98 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x1fde7f46 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x20049a95 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2005f155 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x20176bda print_context_stack_bp +EXPORT_SYMBOL_GPL vmlinux 0x204365e7 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x204b15ee blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x205858e9 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x20a8ee0a timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20dee312 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x210e335f bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x210e7e07 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x21346828 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x21360f59 register_efivars +EXPORT_SYMBOL_GPL vmlinux 0x21493cfb shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x2156967e __css_put +EXPORT_SYMBOL_GPL vmlinux 0x21647a8e pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2172ba33 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x21a2052e dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x21a83f8e mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x21cb51e4 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x2292beb9 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x229b90bd aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0x22a4001f alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x22bfa33c add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x22e675f8 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x2338c6b3 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x234519e7 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x2358a54d device_move +EXPORT_SYMBOL_GPL vmlinux 0x237db659 cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238b59bd save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x23d0f789 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x23e91e5c ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x24011e14 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x24120a06 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x24755c4c tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24b11e90 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24c7698a xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x24e74c74 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24fb56d4 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x24fee48f sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2507c71d kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2533e09a pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x2545c170 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x254c8623 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x255e8ca5 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x259cb0cd register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x25a80851 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0x25cf328d platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x25ec114f ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x2621f1b5 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x263dcb96 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x2640874c spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x26576139 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x26988bdb gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x26a89747 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c551ad tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26de4fb2 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x270ec305 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x27216b53 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x2740179c __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x2744c4ca disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x276302bc irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x27661293 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0x276f33b2 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2797dee0 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x279cb985 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x27afaf4c xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x27c0c4be eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27d46df6 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x28033a90 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x28ca91d8 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x28d08a65 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0x28d517bf usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2908879b blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x2912fe8d platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2922fb6e ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2974ab66 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x29868518 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x29adb101 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x29bd2eb8 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x29d540c6 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x29f58dfa device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x29f73ca7 regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x2a02b1d1 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x2a20dd63 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2a2c8bdb ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a852737 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x2aa617cf mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x2ad381c8 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x2afcd501 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x2b25429c xenbus_dev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x2ba4f6d4 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x2bae871d ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2bccb9ea usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x2bcdfeb3 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x2bcf1c64 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x2bd72b76 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x2c0f1ac3 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2c16fa9b dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2e7878 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x2c524046 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x2c7d9c64 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8fd48a bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cb7b56f class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x2ccb4d4b md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x2ccd0cda gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2ccd9399 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0x2cdda7a9 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2ce3b07c crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cfd7f1b xen_swiotlb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x2d0ebb89 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2ccb41 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d3b288d hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d4976cb bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d4cfb6a blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2d74dec4 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2d82be33 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x2d8b186b rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x2d9bc95c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x2d9f2ce3 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x2da0e308 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x2db0df28 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x2dba276a __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2dba6108 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x2dcc2a65 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x2dd0e35d dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x2dfeffd4 platform_bus +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 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e68e570 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x2e9ea099 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x2eb87e29 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2efb422e pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x2f221a47 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x2f353624 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x2f3e36c9 dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f4fa644 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2f65578e led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x2f65ef7f regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x2f857551 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0x2fc6dacd perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x2fd98645 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x2fea4c29 trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x30021308 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x30220c01 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x303ae617 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3062e48e usb_hc_died +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 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3151e40c sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x31831037 register_pernet_device +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 0x321bdbb1 compat_get_timeval +EXPORT_SYMBOL_GPL vmlinux 0x3245eb21 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x325e677c gnttab_grant_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x329c7b09 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x32b1139b rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32bded08 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x32bf0f80 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x32bf9908 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x32c2c579 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32ccc31b ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x32df958d shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x332af68c xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x334b6b00 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x33712103 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x33901000 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x339d0c37 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x339f225b device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x33b64db9 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x33b96e5d apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x33c63014 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x33e117df wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x33e2e1ae cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x33ee8a83 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x33f7ab15 get_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x3437c379 pci_get_hp_params +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x3465fce6 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3469f0de bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x348d8171 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3490f43c filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x3491150e cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0x34ebeca3 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x352c55cd xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x3596cb5e trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x35aaf026 get_device +EXPORT_SYMBOL_GPL vmlinux 0x36101354 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x361c0aaf dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x364c7a78 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x3655748e tty_set_termios +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 0x3693f5b6 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x36a3ed60 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36c0e522 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x36d37d24 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x36d5d8aa vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x36e45b69 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x370a39af tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x3734282f cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0x378d0b30 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x37cd6d5f dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x37d36afd hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x37f1ffbf gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x384f289e blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x38620e38 gnttab_grant_foreign_access_trans_ref +EXPORT_SYMBOL_GPL vmlinux 0x38796f1b xenbus_grant_ring +EXPORT_SYMBOL_GPL vmlinux 0x388ae43f usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x38aa70de spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x38b4326f bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x38beff78 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x38e26753 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x38e2a8a0 device_create +EXPORT_SYMBOL_GPL vmlinux 0x390e4d3a shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x3910d89d tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x39db4bd1 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e97f91 iommu_device_group +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a38dc65 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x3a3980b7 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a5376dd __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x3a91cb21 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x3aa24773 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x3ad0e201 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x3ad73548 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3adf3d50 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x3b03347b bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x3b10b4a6 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x3b22256f ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3b2aced7 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x3b4e787a sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x3b7145bb apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x3b7353f4 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x3b8874db hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bf7e806 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x3c24cdc4 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x3c33d270 setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x3c52daae usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x3c6ceedd ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3ca9e1a6 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cb05b8e iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x3cc55bf5 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cf3ccd2 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d3659ae ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d470604 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3d4d19bb fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d5f392d acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3d7ea99a gnttab_grant_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3dadc1a6 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dde0e07 amd_get_nb_id +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e3bfe19 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x3e463b10 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x3e5fd10f iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x3e60e55e shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ea02a3f irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f12ba60 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x3f15a750 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3f229c4c oops_begin +EXPORT_SYMBOL_GPL vmlinux 0x3f2a00cc tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x3f4b712d platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x3f84d4c9 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x3f8a7a1f pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x3fad0830 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x3fc72d3d __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3fca7de2 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x3fe92d0a mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x3ffaa6f1 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x402e4eb0 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x40351fdf debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40425593 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x4083d8ba adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x409b2114 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40afa554 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x40c8ab5b crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x414fe3cd wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4180a503 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418806ef power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x41d00c7b shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x41e3859f ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x41f469c6 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4205be78 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x4209b013 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0x420fb87c led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x42203770 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x423824e8 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x423f171c pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x4253725f pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x425df8c6 xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0x425eabf4 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x426f13b9 e820_all_mapped +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4289dff2 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x4297b25f firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x42a4b952 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x42afc1a4 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x4301a8ef ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x432d4169 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4331b3f3 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x434dd2ab bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x435b7d6d cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x439869f1 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43d94371 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x44003b8b sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x4426e156 iommu_domain_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +EXPORT_SYMBOL_GPL vmlinux 0x444207b4 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x44727911 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x4475cc6c cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4494392e zs_get_total_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0x44b475ee ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x44d2b6ad disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x450fb522 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x4546a4d9 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x4556abf1 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45990ec2 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45c1f0fe __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45d850e1 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x460f31aa rodata_test_data +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x467143ab mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46b305fe ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x46c0f6c0 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x46f732de queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x471abc88 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4724654b cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x4760548d usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x47692a01 crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x479b828b max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x47bdd4f6 xen_swiotlb_unmap_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0x47e21324 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x47f0400c tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x47f1f1c9 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4821387f __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0x482eaa0b inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x48682db9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x4895f147 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x4896714e anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48a5c2de n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x48b57abf gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x48ec2242 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x48ee4a63 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x491476f0 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x491f0a43 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x4938762f mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x493a4b5d pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x494ca974 apic +EXPORT_SYMBOL_GPL vmlinux 0x498ee4a5 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a2ed3a simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x49ab9a13 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x4a1fa762 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x4a552316 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4a64deab crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x4a813ef0 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x4a90160e bprintf +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4ab37a08 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x4affd08b put_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x4b048478 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x4b23ff2e pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x4b281af2 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b4b1c20 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b6d6f56 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4b7e89c4 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x4b8d6840 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bd36099 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0x4be8219e xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x4bf0d6d1 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x4c1554f3 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x4c1822da sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x4c2706f6 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c942889 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x4ca1acef platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4cb4127d usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x4cc79135 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x4cc86b6f i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4ccffd07 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x4d2f0127 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x4d3ccbca __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0x4d5960d0 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x4d6e8709 bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x4d92cd49 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4df27919 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4dff0908 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e42a17f securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x4e57723d apei_read +EXPORT_SYMBOL_GPL vmlinux 0x4e72c04f rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x4e76172a pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4ebc6924 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x4ec7b8e3 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x4ed47c06 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f0f9528 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f55957c crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x4f5fd4d7 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe20e81 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ff842c4 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x4ff97d71 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506bf95e tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x506c464c tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x50744c0e crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x5074ef40 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x50777b9c adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50a827ab tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x50ba3bec acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x50c6bd37 attribute_container_register +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 0x511472ae fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x513281b6 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x51355d58 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x51a5022c crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x520ee395 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL vmlinux 0x522f538b tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x52304e15 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x525b89d5 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x526b752d tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x527144b6 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x529190e0 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x52a84db3 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x52d80eb3 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x5310b3cc device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x5311774f usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x532f865c usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x5336046e debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x534c4782 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5367f946 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x5372dede unregister_acpi_bus_notifier +EXPORT_SYMBOL_GPL vmlinux 0x537b9c1b crypto_register_shash +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 0x53afee95 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x53c9d478 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x53ecbc10 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x53ed4588 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5448341e rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5465ce9e usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x54696cf6 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54cd9b04 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x54e07fba page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x550e23ef sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x550f2d76 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x5510c9e4 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x551aca40 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +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 0x55b6a2d2 acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x55ded41c ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x561e5bb7 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x56216c8d tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5633c6db xenbus_bind_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56430c20 ftrace_event_reg +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 0x566476a1 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x567a32e0 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56947347 dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x56a8b42e __rtnl_af_register +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 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x5733b61c tpm_bios_log_teardown +EXPORT_SYMBOL_GPL vmlinux 0x5736f1be device_reprobe +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 0x57845250 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x578d7e77 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x578dbb2a max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x579867d7 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57b11af2 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x57c4691b queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x57caa734 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x57dd7984 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x57f1ebc9 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x582f0237 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58825ce7 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x58b61c0d crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x58bdcba6 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x58c3bb27 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x58c59296 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x592ceafe nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x592cf416 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x592e605e ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x594fdea1 edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x596b05b0 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59b7c66c inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x59d7ddb6 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x59de5bb3 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x59e37275 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a2b1b67 gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5a441ebd efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a48e98c inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x5a48fba2 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5a726186 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa8d66a elv_register +EXPORT_SYMBOL_GPL vmlinux 0x5ac2727f smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x5adc8c7e __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0x5af03a28 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x5b10909c i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x5b150156 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x5b435139 unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x5b4bd4f8 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x5b4cfd62 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x5b589061 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x5b6c477e do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x5b6d396c vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x5b7ae8f8 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x5b918910 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x5b98cac8 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bc953ef usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x5bf49125 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5bf92c89 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c1830af ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x5c268364 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x5c2e98ec ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x5c7ba06d regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x5c9aedf2 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x5ca8777a pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x5ca93699 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5cab70d6 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x5cbe4dbc acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x5cc5b28f tpm_bios_log_setup +EXPORT_SYMBOL_GPL vmlinux 0x5ccd4949 flush_kthread_work +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 0x5d48a650 m2p_find_override_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5d4dff17 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5d65bf8a raw_seq_stop +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 0x5db7e5ec inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5df366c8 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e41f19f tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x5e42131c bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e69ec34 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x5e6f7d5e synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x5e7607da cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x5e7e50f9 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x5e95b3b2 __online_page_increment_counters +EXPORT_SYMBOL_GPL vmlinux 0x5ea0c63e led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x5ea836f7 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5eae3cda class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5ebf18df lookup_instantiate_filp +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 0x5f3b0374 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5f4d6e0d inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x5f4f0a93 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x5f79a98b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5fa67f92 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x5fba01bb usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5fbb6dae dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x60564547 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x60576a82 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x608c00f3 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x608d2565 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x60970629 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x609d963c m2p_add_override +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60b99b63 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x60c33963 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x60c95350 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x60cd73ed pv_apic_ops +EXPORT_SYMBOL_GPL vmlinux 0x60cfafed __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x60daffd3 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x60fcca6d cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6116e430 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6120d88d ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x61313adc wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x618efb64 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x6194ffea do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x61976568 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x61a42b63 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x61d23c4d blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x62253472 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x623803c8 hest_disable +EXPORT_SYMBOL_GPL vmlinux 0x6242c465 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x6257b448 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x626b0aeb crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6277dc9d tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x62b6081c platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x62c1a88e uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x62c6c809 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x62df2c11 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x62e2e789 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x62ebcafc dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x630095f8 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x63205c5b fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x633560f4 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x634a081e sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x634cb2e5 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x635ec980 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0x6396e7c8 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x63b9811f wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x63f75d3f xen_swiotlb_map_sg_attrs +EXPORT_SYMBOL_GPL vmlinux 0x640adbce device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x6474611d fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x64836674 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x6495a39b rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x64b1d822 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x64c672f3 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x64cb0b1c zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x6515c357 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x653f7a99 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x6546ac72 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x655fc5a6 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x65867fe3 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x65b899e7 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65c30756 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65ee6a40 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662b2b84 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x663c16d6 gnttab_grant_foreign_access_subpage_ref +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6684a9b0 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x668695ee usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x66b2099f device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x66b2a859 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66fba05f pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x66feca59 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x670c5b2a ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x67108108 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x67218e87 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x672f453f class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673a1863 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6742f0e8 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x674c8d8f inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x675de729 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x678dbd09 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6795f221 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x67ab3d48 x86_platform +EXPORT_SYMBOL_GPL vmlinux 0x67ad140f usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x67b20b7a sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x67c589e1 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x67cfe232 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x67f05326 tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x6812f461 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x68528a05 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x68674cf1 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x6872212e led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68777e41 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x687d3f4c ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6898152e pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x68b14122 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x68e61113 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x69076c86 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x690e50b5 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x691a4059 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x691bb787 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x6921aa34 compat_put_timeval +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x692a8b75 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x69581924 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x695c8d10 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x6967f05c debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x696e8ce5 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6987b782 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x69880e19 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69a4f134 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x6a2c940e ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0x6a2d7006 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6a2e2fe5 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x6a4dc189 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a638f89 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6a6cafd2 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x6a6ef236 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6a7d881d usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6ab0ea44 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x6ab7867e fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6abc537b sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x6ac12230 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x6acad21f acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x6ad2d082 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x6af9beeb crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b2c4eb0 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6b3129d3 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x6b35bb80 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x6b5539b9 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x6b60971c pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x6b78bb9f find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x6b807a5f gpio_sysfs_set_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6b93bf60 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x6baa2cbf platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6bbaed18 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6bbd11fd blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x6bbe30a9 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x6be074d1 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x6c1251fd apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c4a1af7 xen_swiotlb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x6c662ce9 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6c9d4701 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6cc61c30 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x6ccc955a xen_swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x6d0c4de4 __online_page_free +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d42454a rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6db46bae usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6dc2d09b wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x6dec7077 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x6e58ddf0 gnttab_end_foreign_transfer_ref +EXPORT_SYMBOL_GPL vmlinux 0x6e72d5f7 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x6e78848a cpufreq_get_measured_perf +EXPORT_SYMBOL_GPL vmlinux 0x6e830e64 pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea98361 ioremap_page_range +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f34ffed invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x6f4fa1d0 cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x6f8a1293 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x6fa0fdb4 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x6fa4cf38 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x6fc6aaa0 free_vm_area +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 0x703baf16 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7048fe08 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x70653592 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70bede19 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70d14196 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x70e8494c agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x710c9701 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x71594de0 regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71769ee1 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x71e05bbc __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x71f53a4f rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x7207bd41 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x722fcfeb crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7288ed8c usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x72a30808 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72c584ab pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x72cd636d locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x72d7700f acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x72d77ec1 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x72ddbac3 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x72e8850f __irq_set_handler +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 0x736e86a1 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x73835059 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73ba6b46 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x73bb86b6 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x73bf8a18 crypto_rng_type +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 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x747a1b64 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x747b08a8 __atomic_notifier_call_chain +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 0x74c08941 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x74da486b ipv6_recv_error +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 0x752c7480 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x7538003e s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x755d3b64 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x75670727 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x75706a7f rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x757b49d2 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7595701b inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x75ac256a rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x75d2b529 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x75e2f9c7 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x75fafae9 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x76338b88 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7645c1c5 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x764baae6 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x76c6d86f __add_pages +EXPORT_SYMBOL_GPL vmlinux 0x76d11511 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x76ea506b inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x76fe361b register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x771b14c0 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x77217bae rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x772735cb tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x7741a78f ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x775a6ef5 kvm_read_and_reset_pf_reason +EXPORT_SYMBOL_GPL vmlinux 0x779e0fb7 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x77aeae46 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x77c51b21 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x77d5dd73 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x77db0d86 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x780cc77a scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x78153e82 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x78165663 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x782cdf4f ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x78766327 crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78a5c3df pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x78b99daa pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x78d3d2aa dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x78ebba1e pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x78f442b9 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x7921371b zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x7949d37c ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x796299a2 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x798419a0 blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x79c48f38 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x7a2a95a5 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a3c3d9c uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x7a7c5175 amd_erratum_383 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7ac8e5b0 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ad4d253 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x7ad798c5 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b1d0fcb usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b43f287 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b728b17 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x7b8e7fa6 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9a8f73 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x7bfdfad5 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7bff79ea __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7c03fbe2 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7c0f1bc0 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x7c1b0d75 pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7c80056a ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x7cb3ff61 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7cdfb1b3 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ced76fd fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x7d155f9a __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7d4ff570 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d8fa83d platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x7d9d305a stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7da7f351 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7dd08c5c led_trigger_blink +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 0x7e37316f devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7e5e301f unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7ea1a2bc probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x7ec22f9a apei_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x7f02ab5f ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x7f5da4e1 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x7f9c281c xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x7fc8d03b class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x7fd2e5cf pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fdbfae1 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x7fecb59f tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x80126a8f inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0x803146f3 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x806e502f btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8089bd55 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80dbf542 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x80dbfc6d usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80f9e535 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8111c3b8 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x81170d78 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x814a2856 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x814b2c5d dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x816a721e spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x817275a3 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x818befb4 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x81b2b85a sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x81ba9953 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x81c61a2a regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8258415c __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x8270e099 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x827ba56d xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x8286630a driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x8297a209 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x8298261c __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x829d1003 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x82bfdd6d inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x82c8f23b mmput +EXPORT_SYMBOL_GPL vmlinux 0x82cd19f3 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0x82cdd5e5 crypto_alloc_ablkcipher +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 0x82fedbef register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x8345e65e acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x834de163 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x838aeea6 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x839a5091 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x83b5732f driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x83c351ed fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0x83c820ef ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x83d5ccd3 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x844e4435 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8474fd15 __online_page_set_limits +EXPORT_SYMBOL_GPL vmlinux 0x8484fc26 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x8487a2b6 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x84c4fa62 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x84fdf269 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85098308 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x8543350b __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8564d008 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x8585d582 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x859aea9a xen_set_domain_pte +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85c946a8 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85fa44ee __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x861ce0c3 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x862f98a3 xen_create_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0x86432520 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x8659c34c xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868c3847 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x86a51007 gnttab_end_foreign_transfer +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x86fced6c cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x870fb61b tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x871875a4 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x871aafeb usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x872897cd dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x8757cdd1 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x8769c123 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x8794cd19 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x87bddee4 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87cf0a90 injectm +EXPORT_SYMBOL_GPL vmlinux 0x87d839eb attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x880205a8 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x882f0d1a register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x882f8876 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x8842f41b i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x885d8736 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x887fbd15 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x88900992 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x889422ae blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x8895f591 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x88a6fa18 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88e2970e ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x88f64381 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x8917f4eb inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892850dd sata_link_debounce +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 0x899f9239 sysfs_create_group +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 0x89f612e6 tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a129e06 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a78989f irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x8a86a124 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac300da yield_to +EXPORT_SYMBOL_GPL vmlinux 0x8ad7e23c md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x8ad980b3 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x8b04668e bind_interdomain_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x8b052c33 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x8b14f912 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x8b3650ec sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x8b39cf9d unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x8b3b2b7b dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x8b631ba0 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x8b66f9e0 xen_platform_pci_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8b68ce9f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b897bc7 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8babeea8 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x8bc985aa i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x8be7c4fd platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x8befa8e9 tty_init_termios +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 0x8c441936 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x8c53895a crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8c599e55 tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x8c7eb8d2 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x8cc6b6c8 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x8cd9f935 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0x8cde4420 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x8d1611d2 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d20db13 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x8d3502e1 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x8d391fa3 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8d6d04bf __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x8da2f32f sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x8dcfb1ba spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x8e2e87c8 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0x8e4c00f6 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x8e51939b class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e822216 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x8e937a0f usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8e9d108b crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x8edfc605 acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x8ee7c8ff xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x8f212967 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x8f531502 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x8f6530ad ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f7213b2 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8f838732 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x8fe2ab34 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0x9003aa50 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x9009602a acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x90187b56 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x902089a9 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x9048a388 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x90554bf6 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90a3b968 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x90dc29df aout_dump_debugregs +EXPORT_SYMBOL_GPL vmlinux 0x90fe3cb1 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x910845fd init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x916d4dd6 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x917edb14 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x918ed4df scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x9195b8bb tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x919bcf7d posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x91ac1f93 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91d8682f dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x91f03752 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x91f128d0 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x9237d695 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x9264eed1 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x926edc02 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x9272a1d7 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x927381dd __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x927845a8 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9282f5a8 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x9293196e spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x92a91dc2 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d510f4 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x92d7dfb3 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x92f427c9 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x9312d80e evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x9318e7ff ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x93260715 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x934da3c4 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x935feda0 swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x9387faa5 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x93a742a3 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x93abb1c6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93ed472a driver_register +EXPORT_SYMBOL_GPL vmlinux 0x93f1ecf6 pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x93fdbbf0 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x945790ae sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x9457c5c8 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x949aadad pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x949bb34e virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +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 0x954810c9 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x9559a228 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955ddd9f ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9575b8c0 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x957d6703 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x958235f2 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x95b136ca __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95d692c2 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x9604b35d regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x96433c4a rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x964add15 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x964d5c39 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0x964eec0d __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x96540748 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x96a22790 vmcore_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96d4ec7e unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x96de2eb5 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x97033761 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x972b8748 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x976c62ec pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x976e3bc6 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x97768cd4 tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x9778c554 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x978d7ff0 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x97a00b18 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x97ba3e92 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x97f359c1 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x98033981 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9843fd8c virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985f04b9 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x98677020 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x98780312 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x987d69b4 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x98857c7a ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x9921f9e3 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x99328feb bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x993e8b67 gpio_export_link +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9965e8f2 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2ab858 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x9a33917d ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9a4d1034 idle_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9a73463e invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x9a7c219a ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x9a7c6900 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9a8ecfe3 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x9aa482b5 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x9aac3db1 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ad1b3ba rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9adb809a __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b77ae37 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x9b79c756 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba0e4ff restore_online_page_callback +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 0x9c1169e0 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x9c2b4b74 crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x9c2de449 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x9c43e8d2 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x9c4d01f8 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x9c62612b inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x9caa70a5 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x9cd5541c crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x9ce1e8f7 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x9cfc8603 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x9cfd61c5 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x9d06688b register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x9d1d90c9 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x9d2cba9a sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x9d37921f __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x9d3850e1 gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x9d525e40 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x9d57b47d sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x9d9e155d pv_info +EXPORT_SYMBOL_GPL vmlinux 0x9dad0d70 register_mce_write_callback +EXPORT_SYMBOL_GPL vmlinux 0x9de9a0fb blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x9defa7b9 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x9e7796eb tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x9e822866 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x9e9072c0 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x9e92999d rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x9eb25545 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x9ed3143c leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x9ee5a903 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x9f2943b0 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x9f3ed7d6 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f4dbbab crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x9f5c1aeb device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x9f8804c5 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x9fcdf34e cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9ff1f79b power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xa0168188 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xa01d46e4 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xa02dc5a7 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xa0542559 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0655011 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0c588ad ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL vmlinux 0xa0dadd11 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xa10525b8 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xa120ed05 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa15f2ad8 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa1774422 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xa17dce11 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa1a6ebb8 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xa1aa5c5a iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa1dd565e usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xa1ef6174 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xa20557bd __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa2324fe2 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xa23ccaed transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa2503f41 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xa25d2080 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xa27ac374 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa2e67f08 acpi_bus_generate_proc_event4 +EXPORT_SYMBOL_GPL vmlinux 0xa2e7407e regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xa2f68c60 m2p_remove_override +EXPORT_SYMBOL_GPL vmlinux 0xa353fffc xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xa370e0f3 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa3f8a1ee __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xa43d656d br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xa442be13 xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa46a2f32 user_update +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4ca0d4e unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa4cb8e1b usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xa4d58669 math_state_restore +EXPORT_SYMBOL_GPL vmlinux 0xa4dd3055 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xa544bbbb tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa56ca855 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xa5705807 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa6175dba driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa6574cf1 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xa66438e8 erst_read +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6a77494 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa6a9e463 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6ccfaa4 tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6ef789e sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xa71aaa6f fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xa722a819 cpu_has_amd_erratum +EXPORT_SYMBOL_GPL vmlinux 0xa7275b4b wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xa735c1f8 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xa7411356 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa741757e __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xa7567962 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa785868a rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xa7c25c15 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa834010a pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0xa85840c9 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa8b82a53 xen_destroy_contiguous_region +EXPORT_SYMBOL_GPL vmlinux 0xa8dd009a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa9010c7b xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xa901dbe4 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa925e478 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xa96336a0 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xa969bdf9 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xa9a82042 gnttab_trans_grants_available +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9dbf455 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xa9fc3f54 gnttab_grant_foreign_access_trans +EXPORT_SYMBOL_GPL vmlinux 0xaa13ca33 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xaa26c88a klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xaa3f13f7 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaa42ae7b pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xaa687877 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0xaa83435c device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa0a7e6 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xaaa8e372 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabf2735 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xaadc0906 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xab01acbe gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0xab3207c0 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab734b57 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xab73c693 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xab77b1d5 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xab7aaa0d led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xab997430 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xabc743fb __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xabeaef39 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xac138ea0 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xac1bbf77 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xac34465b spi_bus_lock +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 0xacb159d9 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xada739a7 static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xaddf9c3f tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae39def6 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0xae3af27a tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xae486bfb swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0xae4f2b46 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6d41d7 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xae7c5411 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0xae7deba6 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xae928185 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaec134ec da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xaec1e13b wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xaec87e5a wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xaec974c8 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xaf1caae6 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xaf68da47 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xaf981c8f swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xafac72f4 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xafb535d2 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xb00b9d6e user_match +EXPORT_SYMBOL_GPL vmlinux 0xb028b741 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb039abcb xen_swiotlb_dma_mapping_error +EXPORT_SYMBOL_GPL vmlinux 0xb0482ceb unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xb05ec728 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c8da58 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xb0c9f02d swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb140d14c ring_buffer_read +EXPORT_SYMBOL_GPL vmlinux 0xb1425b32 dm_table_add_target_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb15f807d inet6_csk_search_req +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 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1b7aaf2 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c1d380 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xb2062ecc sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xb218bb1f uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xb23049d9 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xb2650213 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xb269d287 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0xb2939933 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xb2a60cc9 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xb2b7f471 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ea1aaf root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb347bb2c work_busy +EXPORT_SYMBOL_GPL vmlinux 0xb38287d3 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3caf722 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0xb3cfdd3c rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xb3dbe435 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xb41128ff __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0xb42aa863 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xb43dcbee adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xb46cbc00 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xb4759adc stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xb4bbb3c1 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xb4e14553 gnttab_query_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb5271307 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb54d2947 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xb568bc66 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xb57b123f ata_eh_freeze_port +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 0xb5b5cd23 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5db96bd init_fpu +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb5f31556 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xb6230f1f gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xb65be61e dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xb6702700 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb68e7a9b PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xb68eb828 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb6936f99 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xb6acc39e nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6ba7f8f blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xb6bd9902 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xb6e416ac replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0xb7025069 intel_idle_cpu_init +EXPORT_SYMBOL_GPL vmlinux 0xb718f2f9 sfi_table_parse +EXPORT_SYMBOL_GPL vmlinux 0xb72547af hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0xb72a9bed usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xb73dcb03 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb77b94ca get_task_mm +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 0xb80dc1c0 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb813ce5a timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xb84fc620 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xb8542274 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb8dd194b crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xb8dddaaa usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb9042458 pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xb94db510 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xb99d5837 xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xb9a1957c aead_geniv_exit +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 0xb9fb06b7 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xba375b3c scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xba3c6ccb devres_release +EXPORT_SYMBOL_GPL vmlinux 0xba9f735e pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xbaac78f0 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xbab2c567 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xbab85399 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0xbac0aa48 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbaf1e625 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xbafb5539 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xbafd8e51 spi_unregister_master +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 0xbb254bb9 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xbb671ddc ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xbb8f33b4 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xbb9d76b8 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbbb38239 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbf0dac4 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xbc01685b usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc19ebdd ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xbc1d21f2 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xbc234998 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbc4dd6a4 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc6f9c2c each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xbc982bc4 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xbca0391f skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xbca4ff64 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbcb6b353 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbce7b364 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xbcee9271 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd2957f4 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xbd506a46 unregister_hotplug_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd8e09ed sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xbdaf5686 get_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0xbdb47b1d class_create_file +EXPORT_SYMBOL_GPL vmlinux 0xbdc69b44 virtqueue_poll +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 0xbe264c91 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xbe2876c9 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xbe41490e ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe499dab uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xbe710a0a pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xbe762686 xen_swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xbe80bf32 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xbe84aa9f crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xbebac904 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xbec549c4 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbec89dcd da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xbed20d9a __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xbeea8ca5 device_register +EXPORT_SYMBOL_GPL vmlinux 0xbf1cfac9 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0xbf48212d sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xbf6ab426 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbf78186f ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xbf7a60c0 css_id +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc0223aeb sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc03fe0a1 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc051b94e class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc088a1c5 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xc0900fcf acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0xc0b0e6ec btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xc0b7d93c dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xc0bf6ead timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xc0d26387 kmsg_dump_unregister +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 0xc14021b7 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc14c2824 xenbus_probe +EXPORT_SYMBOL_GPL vmlinux 0xc15e4afc usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xc164642e xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17532f3 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc17ed4bb usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xc1b57e3e device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc1d119c6 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0xc1d43dff register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xc1d53be3 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc1e0f6a9 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xc1e17166 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xc1e3bed0 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xc1fb1f50 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xc2080928 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc26351f8 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xc272c2fd rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2830c7f blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc2b9a221 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xc30cbfb3 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc34001eb scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xc34a84c0 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc34d7886 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc3511398 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xc36a28cc usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc38cd6e5 md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3af2020 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xc3d9e95c pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xc4034caa enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xc40eec14 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4494a56 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xc466df89 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4c9cf1b blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0xc4ce6189 idle_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4cf4e80 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc52a3642 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc5397da6 xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xc55a8350 device_del +EXPORT_SYMBOL_GPL vmlinux 0xc55e3403 crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc5c264a5 amd_erratum_400 +EXPORT_SYMBOL_GPL vmlinux 0xc5ea8d4b fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc62da024 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xc64a95d2 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66e33c8 dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xc6b65dc0 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xc6d3f94c ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc6d7ad42 wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0xc6e25e99 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xc6e31580 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xc6ea2a12 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xc6f062f1 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xc6fbaa6c __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xc7002ac4 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0xc70c9000 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc70fe607 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xc726ce1b dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc736ad60 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xc73f7328 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xc741683c usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xc7608b5c acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7b4fb5e ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc7c53d44 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc82358a7 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc8490eb4 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xc850c7c8 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xc8516208 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xc854082a fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xc85ad4a5 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xc87880fe sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8951505 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xc899c0f2 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8b033ac tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xc8c8c11a __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xc8d04ce7 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc8f46dc5 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc91277a1 kgdb_schedule_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc94cbd0d do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc990d4a6 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xc992c63b gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9c45421 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ef9ed6 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xc9fe6766 bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xca434f51 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0xca5f7bcc relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xca61595b regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca7f3b6b ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xca8077fc tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xca80fe6f blk_abort_request +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 0xcadd0eaa __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xcaef2f94 xenbus_map_ring +EXPORT_SYMBOL_GPL vmlinux 0xcaf23812 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcaf87cd7 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb3ca7c7 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xcb41039f dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xcb4535ee queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xcbab2c11 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcbbd3880 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xcbe2351f debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbf4bb21 put_device +EXPORT_SYMBOL_GPL vmlinux 0xcc18d05c cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc2e8c93 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xcc3da32d aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xcc4b68ae ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xcc6ab305 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xcc95bb9e unregister_efivars +EXPORT_SYMBOL_GPL vmlinux 0xcca7a14f crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce231ec adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcce36b22 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xcce9577c xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xcd40dfe1 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xcd6ca60b crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xcd74d95c mnt_want_write +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 0xcdaac7a6 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xcdbfc4d9 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xcdc13d9a ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdf1c67d unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcdf66951 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xcdf85a18 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce1dacee device_add +EXPORT_SYMBOL_GPL vmlinux 0xce2c42ad usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xce2d6942 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xce316a27 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xce354dba usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce5526af ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce791f68 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xce8518bd input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xcead8b9a pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0xcecc8e6f acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xcece4070 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xcede50e1 kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xcf066890 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xcf0d2d6f ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xcf0dd969 crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xcf4064b0 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xcf7117ed spi_async +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 0xcfde5862 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xcfe3fc44 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xcfee2d07 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL vmlinux 0xd01ba320 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd05bf574 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0xd086b253 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0e4dcf8 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd0ee2e63 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd12d1a25 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0xd143ac3c cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1507e59 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0xd15afed8 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd17f7ce8 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1de3a07 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd1f1be16 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd1f30262 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0xd2073af2 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0xd209565a sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd2468e8d xen_swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd288539a led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xd299dec5 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2c58ab2 apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0xd2d8062c i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xd30c694a crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xd31a3a2b virtqueue_add_buf +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd34a65b5 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0xd35b4e71 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd36706d3 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd3973225 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xd3ab8db5 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xd3ada9d2 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xd3da82b9 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xd3e82843 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xd3fdee91 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40f3337 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd431b590 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xd4336e7b wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd45753a6 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xd45e5abd usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xd46bd2c7 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xd4891d6d tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xd4ba06cb pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0xd4bb540b regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd50923ae da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd517ea27 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xd52fc85e input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xd532530b ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xd53bc067 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd56310b0 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xd57f7920 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5a9a0f4 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd630f888 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd64794e3 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xd64d488d debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xd66903a6 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6ed3a8e cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0xd6f7a8fc transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd6fa6905 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd720f31a vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd75bc70e devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7950bcc register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xd7974171 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd7c7ce56 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd7eee0be device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xd81de62c ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xd820c283 eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xd83dee58 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0xd8525ea7 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0xd85ac634 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd86ea463 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8b2f022 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xd8b81da5 print_context_stack +EXPORT_SYMBOL_GPL vmlinux 0xd8e6e3cb pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xd919806a amd_cache_northbridges +EXPORT_SYMBOL_GPL vmlinux 0xd91b14d0 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0xd939f31f pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0xd94096de kfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xd942d353 ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0xd952b614 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd9634727 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0xd97fe007 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +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 0xda49da08 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xda5c435d dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xda86d94d usb_reset_configuration +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 0xdb470551 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xdb6f0348 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb9b54ed md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xdbc20838 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xdbf6294e ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc1f8f2e register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdc41bd09 input_class +EXPORT_SYMBOL_GPL vmlinux 0xdc5ce0a3 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdcbc08c8 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdce57037 apei_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xdce851cd sigset_from_compat +EXPORT_SYMBOL_GPL vmlinux 0xdd210ea2 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd6618ba btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xdd775686 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xddba43a9 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xddbab840 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xddf4d9e4 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xde03e970 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde497c11 spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0xde4e19ba klist_next +EXPORT_SYMBOL_GPL vmlinux 0xde751c8f zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xde7a017a iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xde84c115 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xdeae3827 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xdec18c56 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xdef5befa pci_stop_bus_device +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 0xdf434f85 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xdfa506d6 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xdfbca5b7 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe00c6731 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe05df6b8 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe0be1261 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xe0c22798 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe0e5b68f rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe0fac8e8 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe132b37f tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0xe148a3cb ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xe1498eb6 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xe15b9021 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xe19b880e xenbus_dev_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe1c5ec8c rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xe1c88ed4 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xe1ccea60 shake_page +EXPORT_SYMBOL_GPL vmlinux 0xe1dc3277 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe20fd33b register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xe21e4a52 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xe2482562 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xe24ea745 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe2dfc77b xen_swiotlb_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0xe2ef9f68 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xe2f9509e rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe31d5d64 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xe367fe9e gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0xe36e7606 xen_swiotlb_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3ac04bc i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3f102d9 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe3f12187 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xe3f8c8b0 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xe40f015a power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xe412418b dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xe41534ce bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4428977 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe45461fb wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe47b42bb fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xe47d8efd driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xe4951487 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xe4ae252e rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe4e68bc8 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0xe523ec69 xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xe524ccac usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe588fb0e simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5b3b146 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xe5b7f0bf usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xe5ff3745 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xe61a6d2f gpio_unexport +EXPORT_SYMBOL_GPL vmlinux 0xe63c97c0 bsg_request_fn +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 0xe6602e9f perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0xe66f3179 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xe67c343a regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xe6a3dac6 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xe6a45c15 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6e729c9 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xe6f422ea ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xe6ffab82 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xe704c22b get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe70c5c97 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe746ad3c dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xe762cb45 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe78322d9 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xe7b537f4 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe83ba2e2 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xe845f592 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85931ff sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8642cfd tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xe89bd243 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe8b00de3 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xe8b1fdc2 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xe8cbb885 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xe8d5de6c xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xe9011563 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe914fa7e __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xe9152ad6 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xe91f2e28 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe941d510 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe94249e4 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe954c642 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xea03923f key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea08d7f7 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea1a5f1f power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xea2c4d73 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xea339d63 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xea392757 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea52f6a3 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xea628c20 bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xea7d6da4 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xea7f91ca __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xeadf816e klist_init +EXPORT_SYMBOL_GPL vmlinux 0xeae13bd0 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb21a188 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0xeb370805 __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xeb413650 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xeb489088 crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xeb48fbca rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xeb71e662 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0xeba26b5c spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xeba745e1 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xebd47db1 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xebe83b34 xen_swiotlb_sync_single_for_cpu +EXPORT_SYMBOL_GPL vmlinux 0xebf8c165 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xec080db6 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xec097c86 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec35ed81 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xec5c672e devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xec6a5bd6 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xeca0aa35 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xecb38bdb xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xecc3c7d7 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xecd73962 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xed02b6f3 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xed5dfd4d unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xed6236e7 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xed90e82a crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0xed91f3f4 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xedafbf4d attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xedbc6f67 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xede45ce6 tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee278b36 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0xee2f2ef1 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xee49069b crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xeeaa4ca8 xen_swiotlb_sync_single_for_device +EXPORT_SYMBOL_GPL vmlinux 0xeec02a5d __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xeecefdd0 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xeedd1181 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef20857b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xef3f2c19 ata_bmdma_stop +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 0xef81188a serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xef8c705c tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xeff0051d hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xeff46b7d debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xeffa6b8f __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xf041fb89 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf04a24d0 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xf04aeefe ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xf0566486 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf0af3795 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xf0af554c zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xf0cb01d0 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xf0d0964c md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xf0e0ed79 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xf0f8bff1 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xf105b27d usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xf12796cc tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf13253ca watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf16fb49a relay_file_operations +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 0xf1eaf360 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xf2687e1e fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xf27b1e25 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xf28804aa scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xf2c6103d subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf2e8476d blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0xf2e8fa7e seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +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 0xf399f0ee fat_add_entries +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 0xf3e1e1c8 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xf4499a2e dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xf453921c usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xf459d229 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xf464b8a6 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xf470803f __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4a0462d cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xf4c6c53f bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf51feaca register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf570d314 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xf5785b42 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xf582e8d4 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xf5945bac gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5e472dc debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xf6323a50 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xf6748423 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xf67d6fb5 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf6abd58b xenbus_unmap_ring +EXPORT_SYMBOL_GPL vmlinux 0xf6db3498 pm_runtime_irq_safe +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 0xf7322bc8 pv_time_ops +EXPORT_SYMBOL_GPL vmlinux 0xf7350ac7 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf7354799 pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf735c56f hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xf7752300 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xf795286a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xf7a14f56 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xf7ab1226 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xf8021ffc vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xf82996c5 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf862e6a6 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8c3b760 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xf8e09c84 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf93f5c32 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xf9765833 dmi_match +EXPORT_SYMBOL_GPL vmlinux 0xf97666a0 set_memory_rw +EXPORT_SYMBOL_GPL vmlinux 0xf9767575 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0xf987d6fe usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf98e8ed0 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xf9924426 arch_add_memory +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9ce2e69 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xf9dcae77 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa060eb4 usb_autopm_get_interface_no_resume +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 0xfa54b134 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xfa66dc0b get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xfa693f23 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfa901b31 compat_get_timespec +EXPORT_SYMBOL_GPL vmlinux 0xfa946496 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xfaa7a15a pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xfb085f97 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb17dec1 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb2c3718 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xfb312286 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3f4d0c cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb750891 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0xfb8c51eb pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0xfbb26614 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0xfbd10577 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc0a94bf sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfc35e8c3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc4af308 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xfc5ea807 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xfc7a7fc9 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xfc968c8b apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0xfc98d2ac sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfcef269a ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xfd4d3d32 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xfd51b281 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd8c07bb sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdd690f3 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xfddb48ba xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfe04eb92 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfe5f426f perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe92d248 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe9e4cc4 dma_get_required_mask +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 0xff202b41 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff65d13f usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xff69cafe devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffe6c306 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xffef2171 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xfff24e5d udp4_lib_lookup --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/amd64/generic.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/amd64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/powerpc/powerpc-smp.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/powerpc/powerpc-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/powerpc/powerpc64-smp.compiler +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/powerpc/powerpc64-smp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/powerpc/powerpc-smp +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/powerpc/powerpc-smp @@ -0,0 +1,12669 @@ +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 0x02f4afec suni_init +EXPORT_SYMBOL drivers/atm/uPD98402 0x8ee03426 uPD98402_init +EXPORT_SYMBOL drivers/bcma/bcma 0x426f8671 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 0x2e9de684 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x31f2fd5a paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x3a18c9f0 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x75f19df4 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x84a011d1 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x8e5be7db pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xa54d1a7b paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xa8ed4b87 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xcb30865f pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xcd8979f2 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xe3216450 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xe5089558 pi_read_regr +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 0x2d2ea791 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 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 0x8d310525 ipmi_smi_add_proc_entry +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 0xb114a566 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb886c4f4 ipmi_get_smi_info +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 0xf463d23d ipmi_register_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/edac/edac_core 0x4db53e4c edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04dd92ce fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0630d4bf fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x075e4bbd fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0facd71f fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1272e7ea fw_card_initialize +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 0x291dbfeb fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2abd6f81 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4d5d4eca fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4dcb4629 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5b9fc008 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5d61f14e fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x65c9438b fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6a75c1cc fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6ca5c57f fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6f2d597b fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74a4774b fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x74b831b3 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7a718db8 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7e431b14 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7ef432a4 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x801155d9 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x81c9b69c fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8b8c3eff fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbd673b78 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc104b769 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc1adc5b3 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd218ea87 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe75340e4 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xecca2898 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xedabbf09 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03745f39 drm_mode_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04912335 drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04af1a05 drm_mm_pre_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0674ae78 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06bd4d65 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a6bb4c8 drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c8a1d3f drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0de31c50 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e1d4223 drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fccafb1 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ff761cd drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ffae521 drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1005ea20 drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x103f7569 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x113ea94d drm_get_connector_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x127fd679 drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12c6276a drm_buffer_read_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12d16eed drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x130299ed drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1341962a drm_property_create +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 0x1457c488 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x148bb5d4 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x170fff12 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17e1eb67 drm_encoder_init +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 0x1b6d0628 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b725fad drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bccdf4c drm_mm_clean +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dad107e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e0443d5 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ef67e47 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20d42b9d drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20eaee0e drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2204f7b6 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x220605db drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22b7805d drm_fill_in_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23973e56 drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24b613b5 drm_get_pci_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25221b6c drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25a38903 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x288386b7 drm_mode_object_find +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 0x302a93dc drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30364522 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3123f790 drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b3d028 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31c22d8a drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31d24dfb drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31e6d9a2 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32db95cc drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x346127a7 drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3564d8f3 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36192e13 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3803c018 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39d89f1e drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab096d1 drm_gem_object_handle_free +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 0x4197e469 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41c9edd3 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x425bb5f4 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x427f76fc drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4464d26f drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44c93ca8 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4519cc83 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4800ccbc drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48701a97 drm_gem_vm_open +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 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cec45d9 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d875aa2 drm_mode_group_init_legacy_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4dd868be drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e23befb drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4eba5d3f drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f3d2bd3 drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5852e7f9 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5855e2e6 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a268d54 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ca0aef1 drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d115bbe drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d174bec drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6044956f drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60c40b6f drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61cfaef8 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6218251c drm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x627e35d3 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x630a61de drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65f59044 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x662d56fb drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69398a27 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a0865c7 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b6d7375 drm_timestamp_precision +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cb01957 drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6cee2e42 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fb639e3 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x702b4378 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71a8ab45 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72e8bc21 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73ea8c2b drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x747c535b drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7643f0e3 drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76948c49 drm_global_mutex +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 0x7e44fc21 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ff9b4f0 drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80dbdab6 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x814517f7 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x814bc411 drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81b50509 drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x845ba5aa drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x886e71a5 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89237a4c drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x898a4070 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c510862 drm_find_cea_extension +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cb17369 drm_read +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 0x9062cfaf drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94c13d88 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9612ac72 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x967239c8 drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97768afd drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x979f672b drm_agp_bind_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98b26696 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x993e35f6 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99bb7713 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f4cba7 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f91de4 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b26d9ec drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b402ae6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d05582f drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa00cb000 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1ca3a56 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2058760 drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa212a56d drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa29cb8ee drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3f47680 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4290760 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4f3ec72 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa75257b7 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7984573 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa83bfe5b drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa0b171e drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaae9cf21 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac88299f drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xadc6b863 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb08b6264 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb41f2c18 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb513af8c drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb65389d4 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6a78686 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6cba8f7 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb70ebdd1 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb77aac78 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7e17a39 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb802de60 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba69a30f drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc6e586f drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcfc4a2f drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbebc225e drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf8c099a drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfb80156 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc75dcc59 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc84517c4 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc933cb82 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9ee07a4 drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca3e011a drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbfbf8cc drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc3dd6a4 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcca0e275 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce432c3 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd2dcb43 drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcea3eac8 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf21b3a8 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2283038 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd431287e drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd573673b drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7284deb drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8263eeb drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd847be27 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda66ff73 drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb21f078 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcf07b0e drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde83c2f3 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdef1eee8 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf99bc9e drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe220e1ed drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe29142c0 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4de8bb7 drm_vblank_put +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 0xea31ad58 drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeab095b2 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb3c4560 drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec14b5bf drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeccba406 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeefd97c3 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefcc41fa drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf10b0b36 drm_get_encoder_name +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 0xf393be31 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4dfe0b4 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5f68a61 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf75a5fa8 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf805495c drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9c31a46 drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa1500b6 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd919cce drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08571c49 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09905d8a drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d7a787f drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2feeb937 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30a01d7d drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b8d3334 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d819a4b drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x660ee4fb drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67507c6f i2c_dp_aux_add_bus +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6af101af drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6bf681f2 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ddd5c50 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f75c4ff drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73ad3521 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7898726b drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a201b02 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8aa5671b drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8bf2e701 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8db634c4 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91afad9d drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6c2eedd drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6fd2b00 drm_fb_helper_check_var +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 0xb875b705 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbbefe3da drm_crtc_helper_set_config +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 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd885e495 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda917cd8 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdd308e37 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9538e5f drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xefa42be1 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf14af271 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf1b4b406 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf593070e drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9313da4 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfee43a69 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x48518cff drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x7bd34f42 drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xcc773e4b drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0bf1d97c ttm_bo_move_ttm +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 0x1887430d ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x195066a2 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1abb6686 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d89df73 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2001d1f8 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a3b3796 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d4c108a ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2ff1ed82 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2ff70e53 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x30101d7b ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x32b38ee7 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x385f78f0 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a4f265b ttm_bo_kunmap +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 0x41c0fd84 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4bdca259 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d4fa787 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52a11148 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x531857ce ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5c31a299 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5cf59609 ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f46f565 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60474d34 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65f9de57 ttm_mem_global_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67b1d568 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b75d990 ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7dcb1e64 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f0907cc ttm_bo_synccpu_write_release +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 0x86adecad ttm_agp_tt_create +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 0x8c3ca6c1 ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d14adbf ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9245654d ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x940438e7 ttm_write_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x98b18cd7 ttm_bo_acc_size +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 0x9b67a861 ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9bc51dbe ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d06ced6 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa01ceb8d ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa068577d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa19c8fee ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa3c3f2eb ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa51508ce ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac843717 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xadd6a894 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb70484eb ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8fc30a2 ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbd013d23 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbfc6fee5 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc7a0f7b4 ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd2324859 ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd4c6a702 ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe329638e ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe42a1ba1 ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe87ea976 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf875ee13 ttm_bo_unreserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfb7b08bc ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbc2c5ec ttm_object_file_release +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 0x1109c8ed i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x45e1c300 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xb10379f7 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x1554218c iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x1840fc59 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x1cefe044 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0x20fae802 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x213d86fd iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0x219fcce2 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x302e3fb9 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x30d5621d iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x31396e44 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x3b0bdb99 iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0x5814c53d iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x5f4867c0 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x658ddd46 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x6af3a2fb iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x6fc79107 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x7d7af4d5 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0x840a4693 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xad22bbe6 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xbcb12218 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xc20537bf iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xc24f6668 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xc4da2d0a iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xcd84d7d6 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe2bd7653 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x4200d811 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/kfifo_buf 0xe974328d 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 0x8ee7693f 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 0x08541e6e ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x15bad7a2 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x282c55a0 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x29544200 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x37e9d2b4 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4bebe785 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8118b05e ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9333d4ee ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xac7e9852 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb1369ded ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbc803bfc ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc3bf4151 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc789141c ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xcfb97f2b cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe8cba55e ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf046a9f8 ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf97e58d0 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03b0af5d ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03fd0741 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05a6b0fe ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06c82fcf mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08fdfe7d ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a9df435 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b4b82a3 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c17f996 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c1b9ac1 ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x142cdd63 ib_umem_page_count +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 0x176a4636 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ecc4613 ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1eeb8ce0 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f50f5aa ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x209dd444 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23b0b3ba ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2791af92 ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27a5a2e2 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d47aea2 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2fa994bd ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ff284d3 ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b9214a3 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d30b4b5 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4082923f ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b8f3f16 ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c07ce82 ib_get_client_data +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 0x5790e6e5 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58fcdceb ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60db58ce ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6449cea8 ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67cfc727 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67d5a47f ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d8228d8 ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70cfc6c9 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x72e6f09a ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77684601 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b20f867 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d082461 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86f8e2ee ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x888d847a ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8bfc843d ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f688409 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x971363c6 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9add9499 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9d964dd1 ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0d672be ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1c78adb ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa79013d3 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaefb5382 ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb195dbde ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a312e1 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5fe0764 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb851b45d ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbdaf2d58 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf9e3bab ib_modify_srq +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 0xc6c3b51d ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7e2ac01 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce2f1b59 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfa2e6f1 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd0d43da2 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1641106 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2c6429d ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2e2b02d ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6cdad2e ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd834761e ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc312ffe ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0ff799d ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe1246cce ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5140d89 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf191a7b8 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2ac7872 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4f8de40 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf556d38f rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8c30871 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfff42af7 ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1e5d789e ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1fc63714 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x3e620213 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4d4c58f4 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x601b1270 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x6f077fcf ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7a1b3729 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x7b5d4b7a ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x82c9e39f ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x8d63e06d ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe4f9a119 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xf6dc402d ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xfa62b693 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xfe50549f ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x21055b4d ib_init_ah_from_mcmember +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 0x5b894d65 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x5ddce5d8 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9a1cd50d ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xa549bb24 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xe19ff26b ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xe803ed41 ib_sa_join_multicast +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 0x2544082f iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x88c50060 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x954ee6a8 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x960465d6 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa3b4db55 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xaa4a8ffb iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xc0664123 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf25210f4 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x05f1f453 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x123e0eec rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x15709d31 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1ec20f45 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x67355f2d rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x71caf162 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x72283e59 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x86a1e25f rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8a9321e1 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x98374ec0 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9c1808bf rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa015968f rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaa632d21 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xae5ee2c0 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb471d1c4 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbed5fc7a rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc3536887 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd54561eb rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xda5ff24b rdma_init_qp_attr +EXPORT_SYMBOL drivers/input/gameport/gameport 0x083bd00f gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2e0ef5d7 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4350c0a0 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x451e2b25 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x554b5f38 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5844fef7 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x662342f6 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x946b0cba __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbf1cce0c gameport_open +EXPORT_SYMBOL drivers/input/input-polldev 0x0b875c84 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x6a36b11e input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x8dc69fd7 input_free_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0xae352309 input_register_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x5283cd7b matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x14dd5228 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x20cd18ab ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0x5a924292 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xb4432f0f ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x3f3e839d 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 0x02a596a1 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0x276faa74 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2cb310fe sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x43fc6767 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x592f2300 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xad5ad443 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x161f16d1 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x97f83edf ad7879_remove +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xe3a5d624 ad7879_pm_ops +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x03cf78f3 capi_ctr_down +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 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 0x3d1b8ef0 attach_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 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 0x7d84a94f capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7e6f1307 capi20_get_manufacturer +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x82bcb631 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x87a58e99 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8f699913 capilib_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x918d87bb capi20_register +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x9259fdcd capi_ctr_resume_output +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 0xae90d305 capi20_put_message +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 0xd91b77cf detach_capi_ctr +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 0xec0b5fa6 capi_ctr_suspend_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xed061606 capi20_manufacturer +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x040bbd12 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x0ccecde0 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x51755291 b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6200482e b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x64819107 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x700664fe b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x7263f5bf b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xa19762da b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xb81db9b2 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd21aad4b avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd34ac34c avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd455a7ef b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf689a3bc b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfbe57927 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfc9b43b8 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x079f8890 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x146b3738 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x170ffe21 b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x954bd59d b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xc0b0f61a b1dma_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xc8461616 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd4abdc62 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xdb065b7e b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xe17a5f31 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 0xc57e22a8 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1a69d218 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2a8c8f46 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5646d857 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x91eac330 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x02111fe4 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x8461f31a 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 0x9df0cd27 FsmEvent +EXPORT_SYMBOL drivers/isdn/hisax/hisax 0xc271a5d7 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 0x0e4e1810 isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x527f3d04 isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x73bc5de5 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xbe2669fc isacsx_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xe8cbad33 isacsx_setup +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x23f187ae isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0x7d6410b1 isdn_ppp_unregister_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfa06820f isdn_register_divert +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xfd193b69 register_isdn +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 0x1468977d dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x15ce70b5 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2e7a949d recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3e9b5407 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4396031f mISDN_register_Bprotocol +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 0x5aa5a2a9 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6922e5b5 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6b99f565 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x776568b8 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x777817f2 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7c1e2a48 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x889ebeef recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8d4d5005 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x907a370a mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa4a2ea5d mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb69bfdb7 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc440c15b bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc527ee47 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc5e79a45 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xca0606ca mISDN_unregister_device +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 0xe2078962 mISDN_unregister_Bprotocol +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 0xf546caac mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf7a7d31b 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 0x50d24f67 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x81a71f06 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xcdc98033 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0xdd6b378e dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x4c65fb69 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x8c97974c dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb9775ac4 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd7d4a27d dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xda64b4ea dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xffb7537d dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x80f81ff5 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0xf9b72ad8 fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0x09357912 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0x94d537a5 mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x08ab7bfd mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x2e8f44bb mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x4d9a3d75 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x88e04f8a mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xb13f18f5 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x10e25d02 tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x6d18c65f tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x52eac6ab 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 0x54884dc7 xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0xb4a549c9 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x10134b70 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1447e5c3 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x256a4dd1 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x29ceec6c flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2b7622b8 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x2ce46591 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x3894ab6c flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x4f754622 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5dfe6708 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x61328322 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6480f472 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x6a485721 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x71bc6401 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x72f699bd flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x960c97b6 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xa322f704 flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xbd1f7efc flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xc1770d2e flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcaeb9730 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xed00679e flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfb12c367 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x19cd4fe1 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x3de76284 bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x92f16250 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xbf59631d bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x1efb5252 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x2d904a4e dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x36bc70f4 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3b0af881 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x3c61bb10 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x79fcb033 dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x7bdaccf1 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x9f4b0284 read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xb1740834 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x30b8fecd dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x00fcdf65 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0a767324 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x11ac0d42 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x15a81e2a 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 0x1a5659ec dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x218af8e1 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x21a463ab dvb_frontend_reinitialise +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 0x2bc2cf68 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3a2e7d74 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x3f7224d5 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4d3b9a9c dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4fc0cb03 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x527728d1 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5386db0f dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x54d729bb dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5b60763d dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x64f82256 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x692f286c dvb_frontend_detach +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 0x852f7a35 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x8e47dce5 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9a0853d4 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb4e1bf0c dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd0c7a4be dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd167a1db dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd6c0822f dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdb576668 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe46d1cb7 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe639381e dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf21befef dvb_register_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf722b107 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf826deb0 dvb_filter_pes2ts +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x33361f35 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x364119ee dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x4e9a6640 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x53875e62 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x87d93e28 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xa5e493d7 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xc4a0a4c5 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 0x75061c1f 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 0x1368d27b dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x1685fc44 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x27baf164 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x36dbc0fb dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x4debff05 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x53dbdea6 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5a071fca dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5d931535 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5dd58a59 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x5ff08110 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x8d5ae204 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xb47559e0 rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0x8bf89ac8 a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0xa830b364 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x0fe245c7 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0xc9125b13 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x589ab6b2 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x74239dae au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x75445547 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x85784f48 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x8864f7d9 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xb016f821 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xd673dd16 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xe30fc9a9 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0xf0efbf7a au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0x9cddadf5 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0x8bcc147e cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x268eea06 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0xc46379e0 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x4114a2d7 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x49b26d10 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x421800ac cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xc4a8b87d cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xe55195d2 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x7dc56212 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x5a50c904 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x88449994 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc5c5161f dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xc860e480 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xd161d230 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0025ae44 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x29e7235d dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5626c277 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x58610628 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5aa059a3 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x7dd8034e dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8466a835 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x95200f8f dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaece2328 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xaef8c3a3 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xc4ee4e4c dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xdaddbf82 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xdf70d2d3 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe4bce153 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xe4beb512 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x31b88ff0 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x2bde5a54 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x2fe486dd dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x3dcc5bd8 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x483127af dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x7c96052d dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xfa946d1f dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x2d3ae730 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x52f2d5ce dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x7335520c dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x7bd30766 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x0fb6b564 dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x1e16b727 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x33749070 dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3a41315e dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x3aab27ce dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x540c0d51 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x5d06d942 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x7bc84af3 dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x8e17a0ec dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9306c79b dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x959ffadc dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x95a5889b dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x98c655d2 dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe22924b7 dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe7c11574 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x06877ea3 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x08a16b30 dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x15858353 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x18446579 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x1f7b7b19 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x37b23925 dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x39e9abae dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x53372d8e dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x53e4ed31 dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5b777f19 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x86492d47 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x96758898 dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x9bd55d1e dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa5d9d5aa dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xa84c1fda dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xda841abf dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xe5e436fd dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf53dd153 dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xf809b7c4 dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x17da5e41 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x1d52f39b dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xa39bd45a dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xe8ee1b01 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xfbf76255 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xa68179f3 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xf36447b0 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0x253b51fd drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0x7f391fce ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x3f10f27f dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0xddbd88b9 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0xb9aa4531 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0x4f1731f3 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0x225e0cbf isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xda73d379 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x792a47cd itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x5f5594a5 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x20ef79d9 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0xa939c660 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0x13d473ad lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x30f87709 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xf723fb31 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x1799b879 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xe67acd43 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x6f054206 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0x6afd7601 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x0eb751f0 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0xcab5ef72 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0xc9dc9470 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x74ea0f0f mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x542ad108 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x3cd57e66 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0xc86d549d or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0x919872c4 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x6479af91 rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0xf54719d1 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0x31b7d811 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0xb6474a18 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x1215cb9d s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x35d8ae43 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xa5ddc404 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x047bebbe si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0x6fc5d32a sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0xc8657a9f sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x92d38fd8 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x88808046 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x07f2e8b2 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x79b4fd06 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0x29ef6e4f stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0xffa33940 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x1bda5efc stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x8110c6d3 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0x6fafca6a stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x5cfc1cf3 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x7ff14531 stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xecb0e1bf stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0x4f30fbd8 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x93bdd683 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0xfc163c3c tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xf1a9d52d tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x879c0a46 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xe7a543c9 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x251cba8e tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0xdb685910 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x2fa2a1f1 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x0434a93a tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xad53279b tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0xf81a5e5f tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0xc04c9183 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xeead33e9 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0x36bc71eb ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0x21b350db zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0xffa3dff1 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x564f2897 zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x0a23d6b4 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 0xc5118399 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0xeed68253 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x009282d2 lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x0375bbfc lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x2e9a8faa lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x3c6243f0 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x5033ce84 lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x698e44f2 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x82f220f2 lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x9daa7e12 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/rc-core 0x8f71006e ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9ff6ff24 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x07d9595e bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x70ec3a45 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/bt8xx/bttv 0xc167c1fd bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x2b370f63 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x3c5ab625 btcx_riscmem_alloc +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/cx18/cx18 0x2c88b1fe cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x53452ff5 cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x82e9206d cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x8927af8d cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xd12c3c7e cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x2b4654da cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x783e9e54 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx2341x 0x1ca0c084 cx2341x_log_status +EXPORT_SYMBOL drivers/media/video/cx2341x 0x2ad975fd 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 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x62a58aae cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x962ef298 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/cx2341x 0xd31b6ae0 cx2341x_handler_set_busy +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 0x99f606c9 altera_pid_feed_control +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xa027f8ba altera_hw_filt_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xd2bdbb9d altera_ci_init +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 0x15870fc7 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x28872695 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x3d0c0505 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x471e1cfb cx25821_devlist +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x5bc836c7 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x67cc5b8b cx25821_sram_channels +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x74cbe01e cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x7a631911 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xa4cda88d cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xd1886890 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xec948299 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x38377c4a vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xa806ad5a vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x05a3bdcd cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x0be9faf7 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x33acfac3 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x6e981204 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xab63e818 cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xaf180514 cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x4d49d705 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x52aef5d9 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x734687e7 cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb24e4f57 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xe76be56e cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xfbe3765b cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0e276593 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1c09bbad cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x283bbc85 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x2f6d08bf cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x37bba01c cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x41129750 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x4e442427 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x5136999b cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x57e082f4 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x64325611 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x65191d5f cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x65b2ed7e cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x72e28e82 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x76496d0c cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7d95adf8 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x80d2057b cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9953b218 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xaa9a1775 cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbbbf72dd cx88_shutdown +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc8af7a6d cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xce94af1c cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xf8c095ff cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x24eb75fe em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0xfc2beb2b em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x1c1d5551 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x2b10de00 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x456e64d5 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4b4f23dc gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa6d6c266 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb1da087e gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb766700d gspca_resume +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xee4f1edb gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x189e0a2c ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x404a18a3 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x6b8dc9e4 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x912f1fb2 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x931780ff ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xa35775d3 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xabf88d0d ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xad81984f ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xb9960ed5 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xbd4fdc3a ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xc7ef31d2 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdd47230c ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0540b3e1 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x08c4ff1a saa7134_set_gpio +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 0x1dcd0879 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x6c6bb867 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xa033699a saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xba3c81d4 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xbb3e94bc saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xbe0a01a8 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xc2184f58 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xcf20cc13 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xe2b08061 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xebef5904 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/soc_camera 0x4ed4788c soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x539bda74 soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x6a8cd3ef soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0x8f269ef8 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0xd0ec90fa soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xec2c0d3e 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 0x216dd8f4 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x4c3505a3 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x9d085b8d tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x52505b50 tveeprom_read +EXPORT_SYMBOL drivers/media/video/tveeprom 0x554eb07f 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 0x7a3c58e8 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xa121aa83 v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x41bf08d8 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xcebf4f06 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0xd080e9cb v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x5949e3d5 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x7335f471 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x9d198689 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa7888a51 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xbd4d681e videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xbf1d9a05 videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xa9349ffe vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x08a8b68c v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x0d62c224 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x0ffc1a1b v4l2_querymenu +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 0x1708a29f v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x1b247539 v4l2_subdev_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x1dda9849 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0x1dfedceb v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x253328eb v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x2c22406a video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x2f0e158d v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0x39d461c6 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0x3a4e3188 v4l2_ctrl_new_int_menu +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 0x3e5c8cc9 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x3fef592e v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x4120f3d3 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x588a0c35 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x59a030f2 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x61cd3fc2 video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x6a2267d1 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x70d14f48 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x770b5bf2 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x7a02a1a1 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7d5bc485 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x800e22df v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x849bfd35 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x8b728a64 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x965c481c v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x99feaa08 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0xa02d0513 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0xa0665542 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xa2000dda v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0xa5d6627e v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0xaaf5a408 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0xb6576061 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/video/videodev 0xb855a33b v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xbac4a225 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/video/videodev 0xbdb539a6 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xbe6e554c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xc4f6b768 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd2b0303c v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd4e1530b v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xd9198135 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0xdfcc6e1d v4l2_g_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 0xe7cc4168 v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf6b2c9a2 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x0149e18e videocodec_register +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x32c89ad3 videocodec_unregister +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x4d4374f7 videocodec_detach +EXPORT_SYMBOL drivers/media/video/zoran/videocodec 0x9e0c4ce8 videocodec_attach +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0cbe0e9d memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x17ffa841 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x48e924a2 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x51a28530 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b5c17c8 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x68e9884f memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x73ac4247 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8c9b5da4 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8cf18c18 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9d8168a0 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xadd94060 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb5cc44a2 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbbcde669 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf9f1a51f memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x07358305 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x163c1556 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1af4632a mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1ec8161a mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2139e01e mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2ada0b9e mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x38dac49e mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x475678ea mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x48348ccf mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4c86dad3 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x55526aaf mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x55bbabca mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x71eaea40 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x833c90ce mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x83deff86 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8514c559 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9263facd mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa24f5971 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa4366352 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa5edb500 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb9f65887 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbffd474c mpt_findImVolumes +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 0xc570cc9c mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc5f9aa1d mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcb4592fb mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd143681a mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd2e0f6b8 mpt_raid_phys_disk_pg0 +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 0xe8c46f6d mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xee8bbe2f mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x03908ca8 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x08eb8267 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x098ee2e4 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0c4b64a7 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0dd8e56e mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x14681206 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1d9716fd mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2230d669 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x23621284 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x236440f3 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2c650724 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3b665af7 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4bb53d1f mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4c5281cc mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5537b616 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6926cd51 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x77e58aff mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8bd3bc25 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb0bec1ee mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb3c723a9 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbcb4ea8a mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc2aa4d34 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd2bdf197 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd8b73c8e mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe88f3646 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xeeb68003 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfce99427 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0cb4728f i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1d1caf55 i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x26206bff i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x50ba688b i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x52511596 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x5f628675 i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x747a9234 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7eff82b9 i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8eea34f1 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x92476f94 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x98edc873 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa39d9ecd i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xaf150762 i2o_device_claim_release +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xcbb2514d i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd7c5c020 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xdf6e7668 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xe71901b8 i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xea9ed9cd i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x26e7a1c1 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x653ba901 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x04970a50 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x21ebb861 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x29898bee mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x409cb609 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x47bc850b mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5ff2947a mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x796c56ac mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7d4d52e6 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x830678dc mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa7616b64 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xab809167 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd2096387 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfc9bcf2a mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/tps6105x 0x66b8ee3e tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0xca8450e3 tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0xf8ae1d2d 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/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 0x5ad58a44 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x668d28a1 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0xd06d4fe4 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x97db771f c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xaef216ca c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x07a943f4 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0x389d2647 ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x02be9230 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x4e165c8a tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x6695eb68 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x71875adb tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x8526fcab tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xa18e9f8e tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xb735775f tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xdba0a319 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xdd6dde4d tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xe80f004f tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xea03070d tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xf4664b9d tifm_unmap_sg +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0xf203f9bd mmc_cleanup_queue +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x3c8301ab cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xcf653e08 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xed6740a2 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x8325a2c4 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x879d03d6 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xd4328aa0 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe7bc8316 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xb2ebf98c mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xe67769b5 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x37544ad6 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x04e029c4 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0xaaed15e8 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nand 0x236f145c nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x28bb5905 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x46335457 nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x62690562 nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0x70eb2a98 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0x7af916d8 nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0xf0dddb25 nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x5ada3766 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x93433305 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xc4d7b97a nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x23669409 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x412a12f3 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 0x090748e0 onenand_default_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x170e5bd3 onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x3e075e5d onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x83e1de4c flexonenand_region +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x328fa1e5 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x33d574fa arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x39de6978 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x61597ec4 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa3ff02bf arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb38dfe78 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd15437f4 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd777ec3b arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe2d80791 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xea752dea arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x408b5fd3 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x6f96c556 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xff765859 com20020_found +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x07e3fc42 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0cd0bf61 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x21bed4a0 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3b9c973c ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x77fc2406 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7a697fb0 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7e5738c7 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb150745e ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xedc6539c ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xfe92a7e9 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0x251d71b0 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0xf957e28a bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x8a7edb6d cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0ee00592 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x255b6328 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x31bd1ec8 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4a02e752 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4a7422ac t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x63c5c412 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x784b5692 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7d7e72b2 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9d59c562 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbb147814 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbc37b389 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd3391792 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd9eadad9 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdbe9cabf cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xef0c69ba cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf5b2d48a cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x024d5c3f cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x07635432 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1cd8c229 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x26116a97 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3532f3bf cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3e5d3d29 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3fd6346c cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x443b77ec cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5dbe4b11 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6978bb6f cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x762d1ad6 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8c829bd6 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9ccadb00 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa89d7213 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbb8c9c0d cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8915ab6 cxgb4_pktgl_to_skb +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 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe4c53962 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xebc521e1 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf994a2df cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x5f250445 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 0xee138d49 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x038bd5a7 mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x146faa39 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x20d6f3b6 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58a3d428 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x614f5af5 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x620d0891 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x76317891 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78c9d04e mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd3a837a4 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb8988f1 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x124d1b50 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x41041f87 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x4af6f16e hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd870a9bb hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf4f89e3e hdlcdrv_register +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x03ace37d sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x27934643 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x3eae8f23 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x54de1d1c sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc89ec950 sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xc97ae2ed irda_unregister_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe0b235ff sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe26f8f47 sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xea6812d6 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xfc0ff079 sirdev_write_complete +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 0x45d7afd7 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0x81a2ae98 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x2552c2f7 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x5ee41b9b register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x74088d2e pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xe74270fc 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 0x0026c917 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0d6f8636 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x11589223 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x312b75b1 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3f293d57 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x54279693 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x96b89972 hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc3fd9e90 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe1abe931 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf83d9018 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xfa761ded detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0xd21d44ff i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x76e93c4f stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xf37fd504 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xf7a9e355 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x17540535 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1a78b0ea ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x32bd7d84 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x45230829 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5825dcd0 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc348f8d5 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc807259f ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xddb26bfb ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe1891a23 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe80540e9 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1c768cd3 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x23605d40 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2e65ce98 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 0x863bddee 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 0x9944222d ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa11431b6 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa1ade4fb ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xbf6e78e3 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xcbf02b7a ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xec8222aa ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x209ffeee 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 0xbe334543 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 0xefdc2e16 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf57cffde ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x02ddc5fa ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x05f6c2a8 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0671f27b ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08e7fd93 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x095d62fa ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0ca25a09 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0cf8cd26 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d349ada ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10ae536d ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12bbbc64 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x15ea77a3 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x19e5bd4f ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1a803805 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ae83f37 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1de9a890 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1dff58f9 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1e1d1b1a ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2013e80d ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x24f35fa9 ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x24f758cd ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2683bf57 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27c3f4e5 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f5a89e3 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x307ebf19 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31cbeb52 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x348a35b3 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x35101685 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d1b4997 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e967701 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x440176ef ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47953f23 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4962365b ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4aeed312 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4cc223dd ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4e7aa511 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51a9d086 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x524edae2 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53e72b82 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5547799a ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b1552e1 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b306396 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5c296d81 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5dcd5ded ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6066b9fc ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6130aaee ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x620ffa0e ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6409767d ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x68a37b75 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ad6795c ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7b680e27 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e5aa8d6 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80b343d3 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8724de74 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e92768d ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x957533dd ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x95804fcd ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d9f2d75 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa01d4971 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa815eced ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa8510869 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaa097b5c ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0edd0c0 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0fd24dc ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb13f9cb9 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4902e78 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb5027efb ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbd28aa2b ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc163da78 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc491e97c ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5673de2 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5d9309e ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcf443f51 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcf5883dc ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd56c814e ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd796d2a2 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb109ee8 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdea6468b ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe161b1d0 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe28f6915 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe35be59b ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe4f68da6 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe75424e9 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed49e2f5 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xede60857 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee9a89d9 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef771e73 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf26b905a ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfaac0c06 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfb0ee7a1 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd60715e ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd72ddf5 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xffc36c8b ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/atmel 0xb0339221 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xce5f4595 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xe92549bc atmel_open +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x7c75bbac brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x8e61834c brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x2679fefb brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x57685885 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x607e1f51 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x844f382c brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x9f0c66ed brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xa7a76460 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xaf63d96f brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd0c9cb2c brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd5d0e0d0 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd5ef3416 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xd65072ee brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xfc7e46e7 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x05000937 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x131953ee hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x33d2185b hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x41b57589 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4b359029 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x556e4236 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5ebe5f8d hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6b8bf7a6 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x6db9e79c hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x721bc7fa hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8716ad2f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x93ecda3d hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x98f41ca4 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9925c797 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9a5c9203 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9cb2ca35 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9d3156f4 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa3228981 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa5245111 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xabbf81fe hostap_set_roaming +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 0xc2d65076 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xc3cc4326 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdd556928 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xde16c572 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf793859f prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x08984613 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x25499dcb libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x33468ff8 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3b9e698d libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x760b6320 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x81382a71 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x8172e632 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x85af96ce libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x9899185c libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb49bb58d libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb49cf749 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb76491b7 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc1e2af9b libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xce04432d libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xcff615a6 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd7780796 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xeb20f2ef libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xf1d13652 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfe7e7b9e free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfe83da04 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfedfa942 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0015b361 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x04dadf69 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x05d8ad96 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x07402ff8 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a40d2b4 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0b85242d il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0c4f41ec il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x16d3b7e9 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1ab76720 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1c55bf82 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1d3287fa il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1f0dad35 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x207977fd il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x211cbc79 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2254baf2 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x23b2044c il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x287ecf43 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2d72d4b3 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2db399e3 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3196445e il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3ad0f72c il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3c4ed3d6 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x3d7c5cf0 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4077df6a il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4252827f il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x44805fa8 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x46d176da il_set_flags_for_band +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 0x4e91b3d6 il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4f741ced il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4f923ef1 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4fbcf829 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5457181b il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x56a62ac6 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5879ceab il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6116ab28 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x61228ec9 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x621cde38 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x639294af il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x63e20118 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x648494ae il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x64fbc8e1 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x672fb49b il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x687278b3 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6fa2c6fb il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x71a55240 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7332d485 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x741a9dd3 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x793db964 il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7f50d27f il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7fcac505 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x825f0997 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x854394d0 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8ae764fa il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8c4b7b46 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x90d73ee9 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x93179229 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x94278058 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x97f9b0bc il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x98141ecd il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9b86bf85 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9de20810 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa18e6351 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa2362f83 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa4ab2b59 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa74e548d il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa80b955d il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa89fdbb8 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb0fb7f8f il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb1b1000b il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb3eea136 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb44cdf02 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbba8f257 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbd2991fe il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc34b7e1d il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc37d5309 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc6118b1a il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc7e663e7 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc816c9ef il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcb8a3a15 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd59cac15 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd8262e1c il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd88903f2 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdc039618 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdc25a829 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdfe76735 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe0439360 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe2c7c429 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xeab1a9fb il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xec26ff4f il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xed2ec03f il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf11ada9d il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf19d8af9 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf2d492fd il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf347aa8e il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf3d251db il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf5a651be il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf9282535 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfbe3d64e il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfc9d1e11 il_set_rxon_ht +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 0x0c622782 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x105f4d35 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x19919d94 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x1c556759 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x2517d336 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x35df7749 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x50282cef orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x56263384 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5a30a0e4 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5dea5bf1 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x747073e7 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x79231ddc free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xaf90427d orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xbc23588f __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd027a1f1 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf0dac88c orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf736294e orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x012e3d21 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0adcdd24 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0b7202ee rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1c8346a0 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1ee00e0b rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1f133263 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1f1e40c3 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x272a67e9 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2b8f411c rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x347f4f42 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x349dcbc7 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x3c285adc rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4706e1ad rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5b7825a7 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x61690c23 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6294f504 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6490d4b1 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6654953f _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6937f9d7 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6e410e6e rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x6fc0fbfe rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x701ba65a rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x73adbc71 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7a6b17d4 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7b473c28 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9043d8aa rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x92c0732b _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x94625563 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96a857a7 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x96ffafb0 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x98bbd6dd rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x98dfc2a2 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9975cb0a rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9c10299e rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa7019d6d rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xac164ab6 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xadb118ff rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xba937439 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbf4bdb29 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xbfb92209 _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xe8a178e1 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xfb561bf3 _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x022a089a rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0a40d4b3 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0dc682e9 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x1580ec8f rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x2f2af462 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x580a2562 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5ea2c53a rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x674be621 rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x6833a169 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7315131c rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x770e30a5 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x786c6e4a rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x81c26600 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x928da761 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x96685438 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9febe4e2 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xab271189 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb0b513ef rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb5a23ba6 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc503ea33 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe6380d84 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xec8b02b7 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf53abe39 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfc18298a rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x7aa14227 wl1271_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x84b631ad wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/parport/parport 0x0a0c0387 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x11748cff parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x14645ae9 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x1552c00b parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x246162f3 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x2559130c parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x32bc6fae parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x3dda7f63 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x48740b38 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x4c460335 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x57713de9 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x5a01f00d parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x641e0ced parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x64ff2da2 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x67917103 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x7739900b parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7eb11352 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x8120f7cc parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x99c810a1 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xb11fe358 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xb97cb577 parport_release +EXPORT_SYMBOL drivers/parport/parport 0xba83ebb5 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xc7b67839 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xd80ccd1d parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xd9fdfb5a parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xdb869aac parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xeb4a46cc parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xef04dac2 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xf86978cd parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xfb7e474b parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport_pc 0x0f426b03 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x233fa0a4 parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x04dca855 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x07e0741c pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0c0516c6 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0c5ce812 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x28e253a6 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3b8208f0 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5be4f0ce pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x929a4090 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x945b444b pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x995702c4 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa11ee94b pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa184676a pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xcf58f48f pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd5cf6c98 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd90bc202 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdb8fb702 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe07e7469 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf571f5ec __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xf82aca92 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x08ced9d8 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2939a60f pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5b6af319 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x78f25af4 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa66c4156 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xaa19a51d pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbb6b569c pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbbe99b1b pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xbcf1971b pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe0c1727a pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xfb990fbb pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x3714ffab pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x68586c05 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x41d035b2 pps_event +EXPORT_SYMBOL drivers/pps/pps_core 0xab198a55 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0xd659ad7b pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe253f1df pps_register_source +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0x2d8092e7 bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4819c08b fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5d9188be fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6347f983 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x683e36c7 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x921c7665 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x962b38f8 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa7e01dca fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb7675f0d fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xbb9637fc fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf1f5ecc6 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xf333c72a fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00ac83e2 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01b584ed fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x02c62294 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x040ec84a fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x11177031 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x12cea835 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x12d67d5f fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x193249a9 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1999c73f fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x20212eef fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2a34dad4 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f95e7a0 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x33ccacc5 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x353072c6 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x383d71be fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3d11af02 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43b6d84f fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x47a460cc fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e310dc5 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f0e862c fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5267c7cd fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x53b599ca fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x549054fc fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x57d146b9 fc_change_queue_type +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5f5cb0a7 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6ceb8777 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7be58bf5 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7c52db93 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f8f573a fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8408532d fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a7aabf4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x95bea5af fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9a21d9b0 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa0b875b7 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bf0ffa fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaacd9330 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaae732f4 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xab50aed7 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xab6f2fe4 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb10bb329 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb7254e6f fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb7724bed fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0fa95ba fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9311638 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcd91fa59 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd367570f fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd370aff0 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd44227fc fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdd000d72 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf15507a4 fc_fill_hdr +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 0x824f137a mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0386612e osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x09a21a3a osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1b3b3276 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x21632a45 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x258e0f69 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2b3aad17 osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x3f549343 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x45306a75 osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x6f8f11a6 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x75867668 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7743fd03 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7b142633 osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x7bb89b21 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x83bc629b osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x862a525d osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x928d55d0 osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x970614a9 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9dfcdcb3 osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9eec4a16 osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa80483dd osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xa8edb389 osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xada03b35 osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xafa06758 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb627667c osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbb164e95 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc0a0f089 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc54668b2 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc58746da osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcbb6fed2 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xd04535d8 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xda881820 osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xde4c2a07 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe49bb63b osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe5b2826a osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf74a496d osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf7e298ff osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/osd 0x41088903 osduld_register_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0x98d47100 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xb4bbccfd osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xb55c9d42 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xcaa86fec osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0xe0eb1174 osduld_device_same +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1ea7191f qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x23b3606c qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x65992f82 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x90d0b0f8 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x917c2ab2 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x92581d0f qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x99b4ed63 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x9bd7a52e qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc0766a00 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xec906b4d qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xec9e7124 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x0c450af1 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x21fcce79 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x9a478a78 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xa5078937 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xbfa22b6e qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf0b1033a qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x14673300 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x552cf431 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xa1c160fa raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x03fe6272 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x219daaa8 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x21e77de4 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2384810b fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x281fbe04 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fd36040 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x853104c2 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8a829af7 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8cc60907 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x98230632 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc75b986f fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd9dcb4d4 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf6978e43 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0ba132e4 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c1e220b sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x11363af9 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x11a39c65 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x11aa4798 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x195758f6 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1fdcd4fc sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2c224ba5 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x318d5820 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3ac12b2c sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x474904e3 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x48f54294 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x51fc965a scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5f0e7187 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x69d63fc4 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x76e56489 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9edcf6fe sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xabff1814 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb9859703 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbd40f0d4 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd1271497 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdb71f8c2 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe0da0857 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe469c373 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0363002 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0e576a0 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf38a763b sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfd3cbaa0 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x1fda5ded spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x4a458bb5 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb1801676 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xcfa90125 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xdb8bbde0 spi_dv_device +EXPORT_SYMBOL drivers/ssb/ssb 0x0454a254 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x05f5b495 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x0d630cfa ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1de251a0 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x2e77c877 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x36885217 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x42880115 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x51a69907 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x64835cc9 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x7d8d6a83 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x7f5c7e19 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x890818d6 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x92ba07e5 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa7e54e2b ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xacacb92a ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xb3a04e1c ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xb7b1f13a ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc2aea3d6 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xcc9fd2a3 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xd3814108 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xf6eb5423 __ssb_driver_register +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x5cc6f723 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x8e87254e adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x2b7aaba0 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x7197dea7 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x05e232d7 iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x8b9b93c2 iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x3399e82f cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x1a02532c go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x2ddd0e87 go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x66ba16b7 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x7bb6cd31 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x876a53ba go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x8bfb4438 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xc2c041fc go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xe32536eb go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xfeb744bc go7007_remove +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x00624444 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05d16fc5 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0683ef40 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x082c085a rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0a32391d rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0b2e95f8 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x16390343 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x18f2515c alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22cd7b11 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22dccaac Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x27d943f1 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2ec479eb rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x46b4d0a3 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x47a14d29 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ae984c6 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4d4837f1 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4d796f37 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4e794d11 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x51ffbf71 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x56687876 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x57371936 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5a16f6aa rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x601c7877 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x622a8e5e rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x65841a1a rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6684383c rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6d38c50c rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x734dfd77 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7579cb0d rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x80f25fb5 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8cda1310 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x945529c1 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9ec11ba5 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaa4af076 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb043c5c2 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb2d9f767 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcbda314e rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd04c3353 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd5f3c830 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd6f3ea16 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd827d9df rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd9201027 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdd065a0c rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xde06782a rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe7147eec rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec25e32d rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf5d7c62e rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfa9b22ed rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfb881d73 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfcfc8951 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0cfe4550 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0f2d221e ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x10d05a3c ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x11a63977 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x189f3c4e ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1928e81b ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x197040ae ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1a1c9745 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2a6b8c3e ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b253156 ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2e10ad4e ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3946baa6 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3b6b1294 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cbb989d ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3db6353a Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3de09a2a Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x40d747c7 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4764b122 DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4ba85b08 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4ebc1824 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x51159c7e ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5155516c ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x552cc73b ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5b700c66 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x613ae049 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x69ccd919 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c32c8b5 ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6fa208b6 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x74db33e0 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7aa9ba94 ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x85c6cb16 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f0a066f ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x91e4a7f7 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x93f92c94 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9d5fd2a4 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa0a781f6 DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa19327ba ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa40a94ac IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa54adf9a ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa7f356d8 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa837afc6 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa941c8d9 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb2fc9cbe HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc7cfb62 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc24ba09e ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc4aa5035 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xca2ea5a1 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd058e4d5 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd92000ac ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdaef50ec ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdb474417 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf0d1b94 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeb47c615 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeb8d9abc ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf0470146 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf2b1e91e Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/telephony/ixj 0xcf2e929f ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x05f8bbb9 phone_register_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xa57f20bc phone_unregister_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x01e0664b fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0844cc66 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x1057c1b3 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0x16d2b4d8 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0x24a0f693 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x24df60bb iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x2711058b transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x2a957d4e transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x312d7cad transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x313dd9b6 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x32a4eb16 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x33b1d854 transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0x359bc930 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x3759a759 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x3846a089 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x3b08ed50 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x52d6075f transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x536cc3fc __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5672d320 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x57d1cefb core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x59e68018 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x65d18f7d sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x683841fa sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b44893c target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x70838d94 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x721ddb6d transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7338e560 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 0x81d940c0 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x83cd107d core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x8c9b1532 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x8d01fee5 iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x8fde14e3 transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0x95b84516 transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0x9651f9d8 target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x967f760d fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x9cb35e48 core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x9fc7fb57 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xa0ad8bfc transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xa29660d3 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xa6484e0c target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb782858b transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xbf99bab0 target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc27ef8dc core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8bf8403 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xca80b355 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xd02feb17 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xd4e7a362 sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xda6fe532 core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xdbec8ecd transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xdd4b2d71 transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe97b800e target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xeb4a9605 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xec003fdb target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xefa41f48 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf04b5b3d target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xf2b64ca8 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0xf6e7c52e target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf9844cf0 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xfad9352a sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb538543 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xfdc05624 transport_subsystem_release +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x7bedbc2c serial8250_do_pm +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x876af63e 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 0xdfa9f810 serial8250_set_isa_configurator +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xec0a5557 serial8250_register_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xfabc8269 serial8250_register_8250_port +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xed34b114 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x13a6cc0e 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 0x175b29f6 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2548bdd7 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x30b92797 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3146c6b0 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x35053fca usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4241f86b usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4aea2de6 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x924a03b7 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x92bfb644 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x9e34d4b3 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa42dd192 usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xbe44ed4f usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xd3a2b291 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe34f3634 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfe0271a6 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x150ad084 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xca69bb86 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb355c457 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xfbdfadb6 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 0xe9d0a9ab cyber2000fb_attach +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0x96a34f9a g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xf490b26e matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xfd1efed8 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x4780717f DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xe6a43329 matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xea31fb64 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xf7459852 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0xa84a3618 matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0x8f8ed089 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x44f20c94 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x5b2f5d53 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x5bb17b7d matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x707c0e91 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0x05de0fc4 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xa0b9f464 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x592cc357 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x95e5661d matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xb1f84f3e matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xb8ab8b65 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xe145f738 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0xc8112b8a mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x08e83881 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0x3ee23504 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 0x286ddad6 svga_get_tilemax +EXPORT_SYMBOL drivers/video/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/svgalib 0x4b15a8a2 svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0x5818a3ba svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0x6e4adb1e svga_check_timings +EXPORT_SYMBOL drivers/video/svgalib 0x717c2ed0 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0x80f24d95 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/svgalib 0x83c72372 svga_tileblit +EXPORT_SYMBOL drivers/video/svgalib 0x8de63fb4 svga_set_timings +EXPORT_SYMBOL drivers/video/svgalib 0xa9e87f1d svga_tilecopy +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 0xf1faa73e svga_get_caps +EXPORT_SYMBOL drivers/video/svgalib 0xf2db5956 svga_match_format +EXPORT_SYMBOL drivers/video/syscopyarea 0x0bd233e9 sys_copyarea +EXPORT_SYMBOL drivers/video/sysfillrect 0xbb2e8156 sys_fillrect +EXPORT_SYMBOL drivers/video/sysimgblt 0x859350bc 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 0x1a2289ec vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0x1addfb66 vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x2157965d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x247a9229 vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0x2527a087 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0x46649cd1 vme_lm_set +EXPORT_SYMBOL drivers/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/vme/vme 0x4b0fd069 vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x533b367c vme_unregister_bridge +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x5a0052cf vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x66227eae vme_alloc_consistent +EXPORT_SYMBOL drivers/vme/vme 0x78773d92 vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x7e0bd230 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0x7fde2edb vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x82d58b9d vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0x84a69fdc vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x9265d0d1 vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL drivers/vme/vme 0x945f4de0 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0x94b2590f vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0x9595c3f7 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x9974843d vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x9aeb07e8 vme_lm_attach +EXPORT_SYMBOL drivers/vme/vme 0xa31bdf07 vme_master_set +EXPORT_SYMBOL drivers/vme/vme 0xbcf8656b vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0xce7016c5 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0xd4fe572b vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0xd797b9a5 vme_master_write +EXPORT_SYMBOL drivers/vme/vme 0xda1b34f7 vme_unregister_driver +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 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/vme/vme 0xfdc191ff vme_irq_generate +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x2ad398dc w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x30c8f775 w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x3bf25469 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x83ca01ba w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xa1355c76 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xbe1fa70a w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xf0612222 w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x130d4901 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1aa1ca20 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x3a22cbe0 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x77f3e387 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x939afebf w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x96cdd1c1 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xbf2198a8 w1_remove_master_device +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 0x0334f8b3 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0x03d35b6a configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x376a5eca config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x5d4ad137 config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x6ae273b1 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0x6b639899 config_group_find_item +EXPORT_SYMBOL fs/configfs/configfs 0x825ae17e config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0x8bbb457c configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x9ee3b059 config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0xd479e7b4 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xdacd6259 configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xead0d577 config_item_init_type_name +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x1999a91d extract_attr_from_ios +EXPORT_SYMBOL fs/exofs/libore 0x1e730a11 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x2c4904c1 ore_read +EXPORT_SYMBOL fs/exofs/libore 0x384fbdb1 ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x45019202 ore_write +EXPORT_SYMBOL fs/exofs/libore 0x59be0b77 ore_create +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xa8d55116 ore_check_io +EXPORT_SYMBOL fs/exofs/libore 0xf4394bae ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0xf6a370e9 ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0xfb5c7d2f ore_remove +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x203bc5e1 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x29fa3015 fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0x2cd1b3b4 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x301ef3b5 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4fb5cfe1 fscache_init_cache +EXPORT_SYMBOL fs/fscache/fscache 0x522e33d2 __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x589fbe26 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x591b3bd0 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x592bd4e2 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x62ea6496 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0x6a05a005 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x6d22a93e __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x71a94286 fscache_put_operation +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 0x7a23b52e fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x7bacd0fd __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x85b96efa __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x8651a981 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8bae274a __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0x97990f83 __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xb231bcc2 __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0xd94324a4 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xdde23f16 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0xde4fc950 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xef1f709f fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xf2fa3352 __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0xfa1a1cb1 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xfb7fe1ce __fscache_update_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 0x0e6d98f3 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x1f83d6cd qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x2302fcb8 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xaead858f qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xc15fbd5b 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 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 0x7d2637d1 lc_del +EXPORT_SYMBOL lib/lru_cache 0x896876c0 lc_create +EXPORT_SYMBOL lib/lru_cache 0x8aaf8536 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x92bd5ba2 lc_index_of +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/lru_cache 0xfc5ba5ff lc_seq_dump_details +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 0x2e9ea489 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xe1a40aff unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x73a71394 destroy_8023_client +EXPORT_SYMBOL net/802/p8023 0x9872c73e make_8023_client +EXPORT_SYMBOL net/802/psnap 0x6473d233 register_snap_client +EXPORT_SYMBOL net/802/psnap 0x9914149b unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0a253141 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x0df35b3c p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x10629175 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x120e0b7d p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x1a37c7e9 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x1d22b27d p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x202e2773 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x284086d8 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3be494b1 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x40b7ad45 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x4d017ba9 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x685e2f2a p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x7cf9c10e p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x7d269c1a p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x7df5311c p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7f6d3f28 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x831d244b p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x831f32a4 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x842c9110 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8a964b0b p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x90e89b01 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x9874153c p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x9be78083 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa2553fc0 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xa3a95278 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xabadfe1e p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xae3a1165 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xb7a45483 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xbd6fa020 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xc0d818bc p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0xc0e4b1a5 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc6c80bf2 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xc989a9c4 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xdb34875c p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xddc0f981 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xdf0d4f6a p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xef567085 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf107e29a p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xf1705b95 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf4afa725 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xf8a5938d p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xfb6cffa4 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xffc4526c p9_client_destroy +EXPORT_SYMBOL net/appletalk/appletalk 0x2f329b0b atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x31a96788 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x679d8e48 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xd44d910e aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x108ba11b atm_charge +EXPORT_SYMBOL net/atm/atm 0x1919a4b9 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x2bb7caf5 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x324e74e0 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x6b02034f atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x76e98022 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb5eb0bbf atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0xb62f5379 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xb894c2cb deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xca77415b atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xca87b453 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xd62eeb7a register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xed6ca3ea atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf5fb38ac atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xfd334725 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 0x31a36e13 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x3caf336a ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x49eac4e1 ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x55db30c3 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x632d7f9e ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x679a3bed ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x7e7a8dff ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x8f6630aa ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc8f665ff ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x03eab10c hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0cfe05f4 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0f0fdfa2 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0fa6901d bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x136a696e bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x16c25f2e bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1bb3d8cb bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2117d4af bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2cedbc3c bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x34675fbd hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x368acc33 hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x39ec6de3 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3a266942 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3f09c5a0 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x43307753 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60291e3d hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x66e5c6ea hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f2a0c51 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x712a5ba6 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b4e869b hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x81621f3b hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x842116b1 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0x85a918bf hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d10a5ff hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x95d49711 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x988efcf8 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9a17a0b3 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9d7cb711 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa29ea22a hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb1f19b8a hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb20bfc73 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb2a8f59a hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb3fcc4fa hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb799dee2 hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd135513d hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd23b5b58 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdd12a74e hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xebd044b2 hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xffcdcf11 bt_sock_register +EXPORT_SYMBOL net/bridge/bridge 0x6431ea1a br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x0c563f05 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa3f8abd9 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xff9b25f8 ebt_unregister_table +EXPORT_SYMBOL net/caif/caif 0x05bbae83 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x20f4f5ef caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x32d9cffa cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3960ab0a caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x6a44fc70 cfpkt_extr_head +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 0xeac971e7 get_cfcnfg +EXPORT_SYMBOL net/can/can 0x02429453 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x5ab1eb14 can_send +EXPORT_SYMBOL net/can/can 0x6a9cc7e7 can_ioctl +EXPORT_SYMBOL net/can/can 0x7b2d8478 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x91b4e20e can_proto_register +EXPORT_SYMBOL net/can/can 0xb3a0ae62 can_rx_register +EXPORT_SYMBOL net/ceph/libceph 0x0886cf06 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x109207c3 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x10940306 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x11b4616b ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1ccdf49c ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x2212ac39 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0x252d0001 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x253d01d3 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x2572bcfb ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x25d50dbd ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x26165c23 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x275ac2c0 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x2eb9ab56 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x3158173e ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x376f9af0 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x37fd6df6 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0x3879f24c ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x43949113 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x43c8d341 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4749cbbb ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x47d4a8dc ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x5040f36a ceph_release_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 0x581afe09 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x5c430bfe ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x5daa92e7 ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0x5fe4b2fa ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x601c4fc1 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x60dcb6c2 ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x65ca9b11 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6ac328b0 ceph_calc_raw_layout +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 0x70a94321 ceph_client_id +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 0x88e13fad ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x8a74ddaa ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0x8bc502d7 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x9890ef1d ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x99de4738 ceph_messenger_init +EXPORT_SYMBOL net/ceph/libceph 0x9c5e9287 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x9ec7e294 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9f534f4d ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xa10ca390 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xa133e3f9 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xa40bd703 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb256a5a5 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 0xbc2c5c6a 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 0xc6a677d0 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xc8d91d7a ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xd24378fc ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd73ab2b5 ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0xd9ca406c ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0xe0ca0dbb ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xec538680 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xedbf9240 ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xedd6f0a0 ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0xeee7d5a5 ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0xf05fb0b6 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf844b38b ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xfa6ada4f ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xfb47ec67 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/ceph/libceph 0xfbc06eb9 ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0xfed2ae85 ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xb335d4ff dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x08a7867a wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2f00f9fc wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2fba445a ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x36910473 ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4855f963 ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5c324113 ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6404eaac ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x6be0c921 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7ee65046 wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8f4ee89b wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xbb1b3a1e wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xd9f53c27 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf24f152a ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4570fe1a arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x818c1179 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xf3c1b430 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x2cf91970 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7a1a0a1b ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xd87e36f7 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x30a89bbe nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4ea9ec52 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x5e4f8256 nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa268764a nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd929f86c nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd976c024 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xdf6d7c73 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/tunnel4 0x539c8346 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xad45235c xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x17f6b1f1 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb87486af ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xca29b3f2 ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xebc26ad1 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x74d1ccd8 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x751b1507 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x8274b3e3 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x8c5e52c6 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x44c1459c ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x465f9277 ircomm_flow_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x4d511492 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x5aeb5d41 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x711fd314 ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x839b48b6 ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xb6eb1d35 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xc633ce75 ircomm_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x0064e0ea hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x03f6e286 irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x05171e94 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x072bcdee alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x0c885559 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0x0d183f32 iriap_open +EXPORT_SYMBOL net/irda/irda 0x1e6cade0 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x1f386133 iriap_close +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x209954f3 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0x2725f4ec async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0x29dba3fb irlap_open +EXPORT_SYMBOL net/irda/irda 0x2a71287e irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x2ad6fd64 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3a7ff9c3 irlap_close +EXPORT_SYMBOL net/irda/irda 0x3e56064f hashbin_new +EXPORT_SYMBOL net/irda/irda 0x405b7fde irlmp_disconnect_request +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 0x598b851a proc_irda +EXPORT_SYMBOL net/irda/irda 0x5e6eb06d irttp_data_request +EXPORT_SYMBOL net/irda/irda 0x601bda46 hashbin_remove +EXPORT_SYMBOL net/irda/irda 0x63b52532 irttp_disconnect_request +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 0x6f0b766d irttp_connect_response +EXPORT_SYMBOL net/irda/irda 0x6f9661f5 irda_notify_init +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 0x85d88217 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x97ebcb76 irda_device_set_media_busy +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 0xab9fd502 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0xb5c0c90f irlmp_open_lsap +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 0xc001ea00 async_unwrap_char +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 0xdac2684a irttp_connect_request +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 0xe4704063 irttp_close_tsap +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xee771c5e irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xf0a694a1 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xf39b7fe0 irda_setup_dma +EXPORT_SYMBOL net/irda/irda 0xf5876b95 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0xfc825981 iriap_getvaluebyclass_request +EXPORT_SYMBOL net/l2tp/l2tp_core 0x2991a34f l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x01835b56 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x17008737 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x45103045 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x62d26150 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x8d20b450 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x9d08e408 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xb6ae9baf lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xf608a4b2 lapb_disconnect_request +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x50881c2a llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x649e6ac5 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x7ac8b21a llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xc35e28f7 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xc3672881 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xca75f635 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xd1dc0fc3 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xd8b5869a llc_mac_hdr_init +EXPORT_SYMBOL net/mac80211/mac80211 0x03a5cda8 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x049b11a9 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x06bc9de5 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x075b4cec ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x09df5804 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0x0b369552 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0f57ae9d ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x1255a99b ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x16029408 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x17339058 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x1e61fae6 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x2506052e ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x26433b99 ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x2c5fd33a ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x30c46e95 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x31c106e7 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x371cc232 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x392505e2 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x3e88fad6 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x3f83a8c3 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x4c9d0458 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x52f15c8f ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x5322762f ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x566b8437 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x590b644d ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x69c38744 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x6a8c00f6 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6c812d34 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x73f8fcff ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x7dff3b53 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x814bcbee ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x85ba1c4c ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x8bfce6b5 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x8e7308fe ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x93ceb35f ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x986d7869 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x9d19df52 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9f211885 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x9f8ea641 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xaa7b3a46 ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xabf25e7e ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xb1904ddd ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb48bbebc ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xbabb24dd ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xbd3f7792 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xbd401e81 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbd579189 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xbe8e419a ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xbf138da3 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc0c6cc96 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xc202a3b6 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xc3b78a15 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xcd91eaa0 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xda9addc2 ieee80211_rx +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 0xe16580a9 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe5c71943 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xe9eb3ee3 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xefa8a139 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xf2cbd4ab ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xf5d012f2 ieee80211_free_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3e838d6c ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4bbf9a9d ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4ed18774 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6531bbc8 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x66148dc0 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x72ff6dc3 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7780a868 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x87184f2f register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9e09689c unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb97669b5 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc40ba9e0 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc854c1d9 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe57a9f1f ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xe5eae531 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x1c599e25 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x22ddb7b8 nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x27af9b90 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x24375494 nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x0b669b81 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3619d0ef xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x41296136 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x421b9b32 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x63e26e16 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8c8a4de1 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0x8f7e9303 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xab06cd59 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xbfa21981 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xf36fd819 xt_unregister_match +EXPORT_SYMBOL net/nfc/hci/hci 0x086cc89d nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x2b1a68b5 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x2ea6221c nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x3970abff nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x3ddad5be nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x51e5cd83 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x56a56f3f nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x5ad062ba nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x5e0ecc5e nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x65be224e nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x6d0440ba nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x70381335 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x836692b9 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x974a43b4 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xa2c59f65 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xa54373ad nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xb688a6b6 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xb7ca2482 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0xd70d5cc5 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xda8ced15 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xdacf0a3b nfc_hci_send_response +EXPORT_SYMBOL net/nfc/nci/nci 0x2cd75f4f nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0xb114a233 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbe6d78b6 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xd40238e1 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xeaf6b3eb nci_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x13b64408 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x289396c7 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x36cf79ee nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x4edb88fa nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x65a02f45 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x7a63fc76 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xb3e2df71 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xcc843e2d nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xde83d63f nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xf11423ad nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xf77875f3 nfc_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x047d6bae phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x395ff20c pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x5b4716a5 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x64cff762 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x66ddaa9f phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x7bf6d45b pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xd1a1602d pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xd1c63c87 phonet_stream_ops +EXPORT_SYMBOL net/rds/rds 0x5031b8c5 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x0e4acd68 rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x106ea2a4 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x11f806d5 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1b892815 rxrpc_kernel_accept_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1cc83118 rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x248a1218 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x254813c7 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x263af502 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x2b1ec6e6 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x68e9edc6 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x7e8dc4d7 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa1fa41ff rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xafe2383e rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc9a85ccb rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xfe986a7b rxrpc_kernel_send_data +EXPORT_SYMBOL net/sctp/sctp 0x3dfcf661 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x24fd5384 svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0x829407f7 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x1dea15ea wimax_rfkill +EXPORT_SYMBOL net/wimax/wimax 0xc63309f9 wimax_reset +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x085b5833 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0bb23553 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x0f03dd81 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x0ff812f7 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x129e348b freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x1352fe04 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x19367bfe cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x196b14da ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x1e8dfada wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x29e775dd cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x2aab78f3 cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x3d4368ec cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x3efa09da wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x420c3924 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x42734b15 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x44777ade cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x4b72c7ea wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x4e2e451f cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x504b576f cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x5335420f cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x56e95438 cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x5797f326 wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0x58311314 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x58a39c0c cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5ca17b99 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x60795e27 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x63b409fb cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x67b9e73f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x70c7a381 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x73e0b4c8 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x7424218c wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x74d8e5a0 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x75e45854 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0x7628f9e1 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x7be54eba ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7f495522 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x843be3f4 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x86ef23cf cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0x88bcf4d1 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x91da2bc6 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x93382fa6 ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x99b36eb5 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa5d6fb8e cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0xa636a093 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xaaa27cb8 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xabbd8d12 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xac554eb5 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb14390a8 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xbb850423 cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xbe995a08 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xbfd7d1f6 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc03c578a cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc647613c wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xca7cd418 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xcac08eb7 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xd1b94f4c __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xd569553c cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xd73eb70d cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xd8178c8b cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xdea71412 cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xedb6648d __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xf5bb279a cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xf86ebc8f ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0xfb1d4831 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x219fa4b9 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x3d61fe7b lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x5c3b17e8 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x73526b4f lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x9b51bfdb lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xb967ae5c lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xe3b884de ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x311b0374 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x11313e80 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x147f3de3 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 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 0x8d1efbb1 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 0xbde221c7 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-device 0x00b6fd18 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 0xb8103e37 snd_seq_device_register_driver +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 0x341af4e6 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x0035e211 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x02bb2a64 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x0cdd80ac snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x144a6f08 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x1655e641 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x18db68c5 snd_card_disconnect +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 0x22dfd7db snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x255ff75c snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x2bb76076 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x32fddab2 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x341cb3b4 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x358cc467 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x36bf1087 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3bf51beb snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x3f16abd2 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x467ee627 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x46812be2 snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x47ecf418 snd_card_create +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x5271f5b7 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x55c1dda1 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x57f02154 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x6075812d snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x6c487c80 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7655096f snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x86d5389d snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92dc2294 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x952c3ed2 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x95c3a415 _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x98b1528e snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x9bc2b0ab snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x9ce8f658 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f773412 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xa0fd2427 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0xa5950302 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xa7476046 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xacd85f0b snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xb072289c snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbc77ead4 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xc1ad7b6a snd_component_add +EXPORT_SYMBOL sound/core/snd 0xc3673496 snd_cards +EXPORT_SYMBOL sound/core/snd 0xc5893434 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xce3ca308 copy_from_user_toio +EXPORT_SYMBOL sound/core/snd 0xcfb46fec snd_card_register +EXPORT_SYMBOL sound/core/snd 0xd1157735 release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xde283ea7 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xe60bc462 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xe7c5abd2 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0xe870f1f6 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xeb4687ac snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xfd771cb7 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xfe5a0849 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd-hwdep 0x41562b58 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x0717dd82 snd_dma_alloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3b91f3af snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x44ef4a92 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x4b0d706b snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xade88e76 snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xb70ed3e7 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xda318d13 snd_dma_alloc_pages_fallback +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 0x0d034983 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x19157c61 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1e9dc9c2 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x2024a09f snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x255eb390 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x28980e66 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x323ab0f8 snd_pcm_lib_write +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 0x46718b5c snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x4826b2da snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x48515e5e snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4a1fc6f8 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x4b5fd631 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x4be6a7d9 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x4cf63075 snd_pcm_hw_refine +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 0x5188c327 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x54c6015c snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x5dec6038 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5ff236ca snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x60b0aa03 snd_pcm_hw_constraint_step +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 0x69aa2b7d snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x6a8f74ff snd_pcm_suspend +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x71759fd1 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x7365fee1 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x7c395838 snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x7dddaddd snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x8005114e snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x887be0c8 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0x8d324dd2 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9624d46c snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xa46df99d snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0xa5600b0f snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xba5f3750 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xbf7833f9 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xc8a5c95e snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xca61d566 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xccf883b4 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xd5fb21a2 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xdebccfff snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xe47e0bd9 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe824549b snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xef44ae68 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xefbd6fc2 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xf324f441 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0b19c39e snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2da76fb4 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x37cb0c5e snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x407b8d2b snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x58d70198 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x67af9a65 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x69c0055f snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9cbf5fc7 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x9d7e9ec4 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa3c83d18 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa9ac0d37 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc3463dbc snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd0c25c22 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd2ebd52e snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd76a726b snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd9334ab4 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdf2424e5 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-timer 0x0e790635 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x145a7a30 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x3bc1fe99 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x67a076f7 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x6883bd1b snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x7d64f647 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x94f37755 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xa8737c36 snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xaa620439 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xbae090c9 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xbc1b6fc6 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xd5263abc snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xe521aad6 snd_timer_notify +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x1882e602 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 0x301cc2ab snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7e8106d4 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x8079a3f2 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb258332e snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb57d864a snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc41ae0a6 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd1b51d9b snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf0a94238 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf19b99f3 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x054f4b2b snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3c3bd7c1 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x63b7ad79 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7925f538 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb5180373 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xc38cc26c snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xcdc644dd snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xeb20761c snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf70be4a9 snd_vx_dsp_load +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x008747c1 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x07597a2d cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0d34493e cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x10a0d8b5 amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x10c6f3ef fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x161362c9 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1a96008f amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x202db41d amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2f361b49 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x31f583d8 amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x39c9a764 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x465925b9 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x527c72d6 amdtp_out_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x560ed0b7 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5a3a2102 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6ec756fe iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x727bfbbd amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x74bf9d10 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7bcbfc68 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7d73e0ef snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x841c6814 amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8b62350b fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb8144d40 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcecd4d59 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd9a90e92 amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe17523bf cmp_connection_break +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x180bf418 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x182d5e94 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1af2321d snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x68e1a4a6 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8865d1cd snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xbd91e8ae snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x31f93449 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x585f4786 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x73115a98 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa26b14ed snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xd8a98c58 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xf9de29ef snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x0796f1ba snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x3c6094f1 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x52c70919 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x720de839 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x754418c0 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xbaa4a69e snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x2f6d8e27 snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x5d8ab54e snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x5ccd4857 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x6c778c8d snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xc25dfabd snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd25916ce snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xf612f18f snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0af451b0 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5127b7bb snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5599735f snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6953f209 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x9efe3e61 snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf867fde0 snd_i2c_device_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x294cf962 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x2cd0c96d snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x4a33807e snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x67d3db32 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x705ba023 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x97243a28 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xae9933f7 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd65df592 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xdac2fe00 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xecefe8b3 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x843fb7c1 snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xd9f0dacc snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe1bc53b7 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x01d1fccc snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1194fe3e snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1e83014e snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x243e3260 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x330f9d67 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x46383725 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x621e7965 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6d65c88c snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7a45660c snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa462cafc snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa8a9d806 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbf016396 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc7867c9f snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xea849451 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xed25d42c snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf352dadd snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfdd40474 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x18eef77e snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x276dfdeb snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x579fd403 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x58b2eba0 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x68fe40b4 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7d2500a1 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc7e6291c snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xea0b5a97 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xebf02200 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0xc6ed5506 snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x09bfc6d2 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x555d31d3 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x93c8c59b snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0dc34f58 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x192314c2 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1cbc2755 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x453881df oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4ca0e363 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4f17885e oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x616e817c oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x66401669 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x69a5b9af oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x76c4900a oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9b4c38d2 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa1d9a1f6 oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa67fb063 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbd10b10a oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcb3af9a0 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcdc2a101 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe86163af oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf0eaaadc oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf15b174a oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf5b3151f oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf9b33aa7 oxygen_write_uart +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x0084ebf5 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x5db90355 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x89e16b10 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x8a0bdb6f snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xc26273e2 snd_trident_stop_voice +EXPORT_SYMBOL sound/soundcore 0x334e1807 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x48e3f016 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x56f5ba4f register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x854c3967 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xc5ed5bb5 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xf282b1d2 sound_class +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa8da5538 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd5c5ae84 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe1e2caa1 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf6911a92 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf76ebc1e snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xf8aa752b snd_emux_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x05f336e3 snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x17d4a862 __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x1ed4c7ff snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x4410c7a5 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x985e29f4 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x992aaf9d snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xb7a972ca snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xf7e882d8 snd_util_memhdr_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 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xdc342cf0 snd_usbmidi_create +EXPORT_SYMBOL vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x0006222e netdev_info +EXPORT_SYMBOL vmlinux 0x003ed69a __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x0040314f of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x005b4784 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x00698db5 inet_frag_find +EXPORT_SYMBOL vmlinux 0x0071003b mount_subtree +EXPORT_SYMBOL vmlinux 0x007851f5 pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0084b28a max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x0084e86d unregister_shrinker +EXPORT_SYMBOL vmlinux 0x00c6145a inode_only_permission +EXPORT_SYMBOL vmlinux 0x00c6fcc4 dm_io +EXPORT_SYMBOL vmlinux 0x00d5c4da mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x00e8097b csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01062ec0 scsi_print_command +EXPORT_SYMBOL vmlinux 0x0106e70c page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x0146c0b1 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x0164ffad find_lock_page +EXPORT_SYMBOL vmlinux 0x016bfa4c pcim_iounmap +EXPORT_SYMBOL vmlinux 0x01720929 add_disk +EXPORT_SYMBOL vmlinux 0x0186e2de smp_call_function_many +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x019e7765 __init_rwsem +EXPORT_SYMBOL vmlinux 0x01b31998 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x01bc1b5f ether_setup +EXPORT_SYMBOL vmlinux 0x01bef72a gen_pool_free +EXPORT_SYMBOL vmlinux 0x01cf9fea scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x02366fcd pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x02372a57 pci_clear_master +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02ac3345 mddev_congested +EXPORT_SYMBOL vmlinux 0x02d4ff89 generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02d8b413 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x030aab5a sk_dst_check +EXPORT_SYMBOL vmlinux 0x032f27c0 __module_get +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x035bd33f poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037120f3 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0x03774b83 seq_release_private +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03b0cd4d bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c5864c proc_mkdir +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040b9cb2 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x04610b9b security_file_permission +EXPORT_SYMBOL vmlinux 0x0463452f kmalloc_caches +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x048f6cfc unregister_key_type +EXPORT_SYMBOL vmlinux 0x049b8298 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x04c7ea4b __nla_reserve +EXPORT_SYMBOL vmlinux 0x04d65182 thaw_super +EXPORT_SYMBOL vmlinux 0x04dbda6c generic_write_end +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04f95ef5 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0528bd82 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x0530dede _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x054dea4f dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x057ce975 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05a6f6a4 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x05c5c3db dev_crit +EXPORT_SYMBOL vmlinux 0x05dd7240 tcf_register_action +EXPORT_SYMBOL vmlinux 0x05df5b73 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x05e4c270 journal_init_dev +EXPORT_SYMBOL vmlinux 0x0606464e cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x060e1583 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x0614a7af vga_put +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061b35f5 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x061d89d8 should_remove_suid +EXPORT_SYMBOL vmlinux 0x061e7486 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x064dbe2a blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x066b4dd5 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x0675c7eb atomic64_cmpxchg +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x068253a2 soft_cursor +EXPORT_SYMBOL vmlinux 0x06a6873e md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x06bbb24a mempool_resize +EXPORT_SYMBOL vmlinux 0x06cfaf8f tcf_action_exec +EXPORT_SYMBOL vmlinux 0x06d0a7a2 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x06f024ef xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x06fc92d5 vm_insert_page +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x074989f8 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x074a93b3 __d_drop +EXPORT_SYMBOL vmlinux 0x074dd729 dentry_unhash +EXPORT_SYMBOL vmlinux 0x074e9213 down_killable +EXPORT_SYMBOL vmlinux 0x07648917 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x0799cb6a dev_driver_string +EXPORT_SYMBOL vmlinux 0x07a0a668 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bb55ea mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07f85a23 bdi_init +EXPORT_SYMBOL vmlinux 0x0829cc70 kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083e7a6f mapping_tagged +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0840a4b0 padata_stop +EXPORT_SYMBOL vmlinux 0x084174da bio_alloc +EXPORT_SYMBOL vmlinux 0x0860084a tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x08652822 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x0867b2c2 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x0868d615 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x08765c82 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x089bc2b2 mach_powermac +EXPORT_SYMBOL vmlinux 0x08c93c6d __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0x08cd38d2 i2c_master_send +EXPORT_SYMBOL vmlinux 0x08d703ef mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x09528616 led_brightness_set +EXPORT_SYMBOL vmlinux 0x096a6a27 mmc_request_done +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da766c register_md_personality +EXPORT_SYMBOL vmlinux 0x09e144f0 neigh_table_init +EXPORT_SYMBOL vmlinux 0x09e84b65 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x0a0ff7c3 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x0a228979 swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a2f5696 input_set_keycode +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a3e5eb4 do_sync_write +EXPORT_SYMBOL vmlinux 0x0a435efe dev_set_mtu +EXPORT_SYMBOL vmlinux 0x0a469d23 mfd_clone_cell +EXPORT_SYMBOL vmlinux 0x0a48642b bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x0a4f336e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x0a564f3a tcp_seq_open +EXPORT_SYMBOL vmlinux 0x0a671405 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x0a69513a phy_start_aneg +EXPORT_SYMBOL vmlinux 0x0ab3b97f blk_queue_resize_tags +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 0x0b3cc1b9 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x0b3e49c5 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x0b401404 register_netdevice +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b6886a8 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x0b736f81 sock_rfree +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b745ca9 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x0b745ffe i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x0b7f097d skb_store_bits +EXPORT_SYMBOL vmlinux 0x0b7fc73e swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x0bbe8014 skb_dequeue +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bc52291 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x0bc590ea splice_from_pipe_end +EXPORT_SYMBOL vmlinux 0x0bcd9115 dev_deactivate +EXPORT_SYMBOL vmlinux 0x0bdc08ca ip6_xmit +EXPORT_SYMBOL vmlinux 0x0be72916 lock_may_write +EXPORT_SYMBOL vmlinux 0x0be8b412 dev_open +EXPORT_SYMBOL vmlinux 0x0beae423 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x0c066b8d tty_port_close +EXPORT_SYMBOL vmlinux 0x0c12e626 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x0c21fe3e gen_pool_alloc +EXPORT_SYMBOL vmlinux 0x0c4346da blk_end_request_all +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c65708b pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c818ff0 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x0c891d87 kill_pgrp +EXPORT_SYMBOL vmlinux 0x0c894053 blk_init_queue +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0c8fc055 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x0c9b6089 nvram_get_size +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0caaecbb dev_printk +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cd08abe dump_seek +EXPORT_SYMBOL vmlinux 0x0d00db53 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x0d0bfff1 log_wait_commit +EXPORT_SYMBOL vmlinux 0x0d0dd003 blk_run_queue +EXPORT_SYMBOL vmlinux 0x0d3e5a86 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x0d46798e set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0d4a321c blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x0d529735 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d57b339 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x0d68e973 del_gendisk +EXPORT_SYMBOL vmlinux 0x0d710eb8 simple_rename +EXPORT_SYMBOL vmlinux 0x0d8e6874 mach_chrp +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0da3bf6f inode_init_always +EXPORT_SYMBOL vmlinux 0x0da8c911 __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x0dab5d26 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x0dae9da6 km_query +EXPORT_SYMBOL vmlinux 0x0db57fa1 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x0dbf38b8 mol_trampoline +EXPORT_SYMBOL vmlinux 0x0dc60847 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0x0e061a7f tcp_gro_receive +EXPORT_SYMBOL vmlinux 0x0e1eef56 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x0e3a3bd8 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e8f30f6 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x0e9e1681 pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0x0ea7ed1e journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x0eb91dd6 lock_may_read +EXPORT_SYMBOL vmlinux 0x0ef20db1 kernstart_addr +EXPORT_SYMBOL vmlinux 0x0f28cb91 nvram_read_byte +EXPORT_SYMBOL vmlinux 0x0f3394db pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x101f3633 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x10265e2a scsi_print_result +EXPORT_SYMBOL vmlinux 0x10397be0 contig_page_data +EXPORT_SYMBOL vmlinux 0x10518437 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x10860bbb journal_revoke +EXPORT_SYMBOL vmlinux 0x10a97812 inet_select_addr +EXPORT_SYMBOL vmlinux 0x10ca880b fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0x10d09f2e xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x10fe18a5 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x111496c3 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x11600cf8 mmc_can_reset +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 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x119e99ba write_one_page +EXPORT_SYMBOL vmlinux 0x11a35f90 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x11a955d4 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x11b6072e security_path_rename +EXPORT_SYMBOL vmlinux 0x11cf27a9 idr_destroy +EXPORT_SYMBOL vmlinux 0x11d5b1c6 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x11d90e11 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x11e28b21 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x121f3f1a wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x12347721 mii_check_link +EXPORT_SYMBOL vmlinux 0x12407821 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x124f47dd macio_enable_devres +EXPORT_SYMBOL vmlinux 0x12594765 genphy_suspend +EXPORT_SYMBOL vmlinux 0x125bd1e1 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x1276da2a tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x128cd9e7 mount_nodev +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12da5bb2 __kmalloc +EXPORT_SYMBOL vmlinux 0x12dd84a4 prepare_binprm +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12e637a9 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x13333e2e d_splice_alias +EXPORT_SYMBOL vmlinux 0x133b4ee4 idr_get_next +EXPORT_SYMBOL vmlinux 0x133d54f6 simple_empty +EXPORT_SYMBOL vmlinux 0x1354ae2a security_path_unlink +EXPORT_SYMBOL vmlinux 0x1362ad4e dev_gro_receive +EXPORT_SYMBOL vmlinux 0x136fa82e wait_iff_congested +EXPORT_SYMBOL vmlinux 0x1384a907 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x13a9a3da abort_creds +EXPORT_SYMBOL vmlinux 0x13affbda percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x13ce85f2 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e38f5c up_read +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13fe5bf8 validate_sp +EXPORT_SYMBOL vmlinux 0x1407c6e7 kmap_prot +EXPORT_SYMBOL vmlinux 0x140dc8f3 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x1418c980 iterate_mounts +EXPORT_SYMBOL vmlinux 0x1420b379 kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1465d73f skb_append +EXPORT_SYMBOL vmlinux 0x149e8544 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x14a95dfe inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x14cbb3ca init_buffer +EXPORT_SYMBOL vmlinux 0x14e3e61c fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14e837a0 idr_find +EXPORT_SYMBOL vmlinux 0x150676ae cdev_init +EXPORT_SYMBOL vmlinux 0x150734df blk_delay_queue +EXPORT_SYMBOL vmlinux 0x1529b81d dev_get_by_index +EXPORT_SYMBOL vmlinux 0x153e1857 freeze_bdev +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 0x1585a587 pci_disable_ido +EXPORT_SYMBOL vmlinux 0x15864b03 flex_array_get +EXPORT_SYMBOL vmlinux 0x1598b3e9 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x15cbe020 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x15d1981a dquot_quota_on +EXPORT_SYMBOL vmlinux 0x15d2c11c dquot_transfer +EXPORT_SYMBOL vmlinux 0x15d30198 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x161d0033 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x164657d2 __quota_error +EXPORT_SYMBOL vmlinux 0x16920286 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x16993f75 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16d692ad ip_setsockopt +EXPORT_SYMBOL vmlinux 0x16fe621a do_splice_to +EXPORT_SYMBOL vmlinux 0x17037ba2 bd_set_size +EXPORT_SYMBOL vmlinux 0x1712ea87 is_container_init +EXPORT_SYMBOL vmlinux 0x17140124 install_exec_creds +EXPORT_SYMBOL vmlinux 0x1731dac6 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x173545b9 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0x1748a395 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x17648396 dev_base_lock +EXPORT_SYMBOL vmlinux 0x17aa156a __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x17be2199 bio_split +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e278d4 scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0x17e28473 fsl_upm_run_pattern +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17ff3ccd filp_open +EXPORT_SYMBOL vmlinux 0x1801ffbe tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x18135e43 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x1826f089 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x182c61b3 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x183872e1 fb_set_var +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x1842db27 bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x184a808d dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x184b82fb mmc_vddrange_to_ocrmask +EXPORT_SYMBOL vmlinux 0x184ba3f0 note_scsi_host +EXPORT_SYMBOL vmlinux 0x184bddae pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x184e6c85 radix_tree_gang_lookup_slot +EXPORT_SYMBOL vmlinux 0x1855bde6 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x1866e6be mutex_lock +EXPORT_SYMBOL vmlinux 0x1873e845 commit_creds +EXPORT_SYMBOL vmlinux 0x1877c154 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x1891ed6a __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x189ece76 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x18a8bb91 __rta_fill +EXPORT_SYMBOL vmlinux 0x18ce9c94 tty_devnum +EXPORT_SYMBOL vmlinux 0x18cf8e0a jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x18d1744e __nla_put +EXPORT_SYMBOL vmlinux 0x18e1475a poll_freewait +EXPORT_SYMBOL vmlinux 0x18ea8b4b bio_put +EXPORT_SYMBOL vmlinux 0x19044bf4 __pskb_copy +EXPORT_SYMBOL vmlinux 0x19395577 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x1940a2ff neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x19579c20 devm_iounmap +EXPORT_SYMBOL vmlinux 0x19610e1f cpu_all_bits +EXPORT_SYMBOL vmlinux 0x196fb6a5 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197db600 vfs_readlink +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c1d7a9 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x19d3d6d6 prepare_creds +EXPORT_SYMBOL vmlinux 0x19d4d481 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x1a111a41 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x1a1eaf6b vfs_llseek +EXPORT_SYMBOL vmlinux 0x1a21ba0c pci_set_mwi +EXPORT_SYMBOL vmlinux 0x1a376ac6 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x1a3b3155 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x1a5aa770 ll_rw_block +EXPORT_SYMBOL vmlinux 0x1a5b95a9 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x1a6624ac register_exec_domain +EXPORT_SYMBOL vmlinux 0x1a86c446 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x1ab85adf uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x1abf5b14 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x1acb297e sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1add0a8f skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0x1b00bf5e lro_flush_pkt +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ac272 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1b257ac3 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x1b25f6c2 d_delete +EXPORT_SYMBOL vmlinux 0x1b276dad vc_resize +EXPORT_SYMBOL vmlinux 0x1b2be9a4 do_splice_direct +EXPORT_SYMBOL vmlinux 0x1b5f1dd2 key_revoke +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b68a481 bioset_free +EXPORT_SYMBOL vmlinux 0x1b8668a6 md_flush_request +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b919f9c tty_register_driver +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1bb94a47 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x1bba84d6 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bd861f7 __alloc_skb +EXPORT_SYMBOL vmlinux 0x1bdd41cd input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x1bec1eba jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c5d0203 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x1c65d225 request_firmware +EXPORT_SYMBOL vmlinux 0x1c67cbb9 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x1c692f78 i2c_use_client +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c8e4ad2 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x1c9ab7a6 set_device_ro +EXPORT_SYMBOL vmlinux 0x1ca9e665 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x1cc0d5a7 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1d0521ab journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x1d0e5250 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x1d2ffe1a sock_i_ino +EXPORT_SYMBOL vmlinux 0x1d7b797d mmc_remove_host +EXPORT_SYMBOL vmlinux 0x1daee28a percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de129b8 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x1df5bfa0 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x1dff49a3 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x1dfffcfe netif_rx +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e28bf66 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1e619d3b __devm_release_region +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e70769b pskb_expand_head +EXPORT_SYMBOL vmlinux 0x1e84a83e simple_open +EXPORT_SYMBOL vmlinux 0x1e8e010f of_match_node +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ecfa150 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x1ed60bca tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1ef2a582 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x1efcb659 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x1f07c818 udplite_prot +EXPORT_SYMBOL vmlinux 0x1f11f19c dma_sync_wait +EXPORT_SYMBOL vmlinux 0x1f41bca8 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x1f5257b6 serio_rescan +EXPORT_SYMBOL vmlinux 0x1f743beb xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x1f7e807f kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x1f902c3f ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0x1f95d772 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x1f95fcb8 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x1fa0a8a5 softnet_data +EXPORT_SYMBOL vmlinux 0x1fa0e487 input_unregister_device +EXPORT_SYMBOL vmlinux 0x1fb288fa tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fecc242 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x1ff05ab5 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x1ff869c8 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x2002acb0 dma_find_channel +EXPORT_SYMBOL vmlinux 0x20030ecd ioremap +EXPORT_SYMBOL vmlinux 0x2010f015 seq_bitmap +EXPORT_SYMBOL vmlinux 0x2023be48 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x2028d126 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x2029f25b dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x20421305 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x205d9126 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x2073ed3b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x2088a2b0 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b3d0db lock_fb_info +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20df370a pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x20fc1119 abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x2104e3bf invalidate_partition +EXPORT_SYMBOL vmlinux 0x21221ab5 arp_tbl +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x21412d91 mdiobus_write +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x21701379 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x219a4e36 pci_disable_obff +EXPORT_SYMBOL vmlinux 0x21ace785 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x21b04c54 ip6_route_output +EXPORT_SYMBOL vmlinux 0x21c56580 kill_bdev +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x2209c034 sk_run_filter +EXPORT_SYMBOL vmlinux 0x220a4f47 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x221841d8 __brelse +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2238e7a0 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x225d2f7a filemap_fault +EXPORT_SYMBOL vmlinux 0x225e909e schedule_delayed_work_on +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2278e94b slhc_remember +EXPORT_SYMBOL vmlinux 0x22a52ff0 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x22a773b3 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x22ae74b6 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x22af5cfb sock_no_mmap +EXPORT_SYMBOL vmlinux 0x22b1480c pci_iounmap +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22d3ff8e eth_mac_addr +EXPORT_SYMBOL vmlinux 0x22d99e76 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x22da2bfa agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x22f9072c journal_set_features +EXPORT_SYMBOL vmlinux 0x23041b23 scsi_host_put +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x2321b9b4 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x2325b56d dev_set_group +EXPORT_SYMBOL vmlinux 0x232cae65 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x233dff21 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x233f5f8f scsi_execute_req +EXPORT_SYMBOL vmlinux 0x234fe618 macio_release_resources +EXPORT_SYMBOL vmlinux 0x235e90f3 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x236985c8 dev_emerg +EXPORT_SYMBOL vmlinux 0x23901da7 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23b411dd xfrm_lookup +EXPORT_SYMBOL vmlinux 0x23b97486 sock_wfree +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23cb8a81 tty_mutex +EXPORT_SYMBOL vmlinux 0x23ee1014 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x23ee7898 writeback_in_progress +EXPORT_SYMBOL vmlinux 0x23f2243d mempool_free +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24059201 journal_update_format +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x24439e62 kobject_get +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245a5a94 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x24603724 input_grab_device +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x249e7d51 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x24b0e7ed inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x24e455f3 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x24f08052 journal_load +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x25466ea8 __kfree_skb +EXPORT_SYMBOL vmlinux 0x257e7127 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2582f9e8 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x25981fa4 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x25b3af9e end_page_writeback +EXPORT_SYMBOL vmlinux 0x25bca3b0 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25f3bd2e atomic64_xchg +EXPORT_SYMBOL vmlinux 0x260c2a25 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x2614da7f vm_event_states +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x26411374 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x268b4284 dev_notice +EXPORT_SYMBOL vmlinux 0x26b760c4 slhc_init +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x270debb9 alloc_file +EXPORT_SYMBOL vmlinux 0x272c9acd pmu_battery_count +EXPORT_SYMBOL vmlinux 0x273bc447 fb_class +EXPORT_SYMBOL vmlinux 0x274f58a4 skb_put +EXPORT_SYMBOL vmlinux 0x2751a359 dev_add_pack +EXPORT_SYMBOL vmlinux 0x277fea24 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278a1f13 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x278d2dbe xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x27b73a66 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x27e2ca38 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x27e92846 dquot_file_open +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2861f87d __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28ca3ade __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x28e76e04 mutex_unlock +EXPORT_SYMBOL vmlinux 0x28ec9809 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x28f478de tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x28fc0bde input_unregister_handler +EXPORT_SYMBOL vmlinux 0x290af98a dev_alert +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x2970fdf5 load_nls_default +EXPORT_SYMBOL vmlinux 0x2994f1b9 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x299cb5b6 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x29b1c366 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x29cd41e2 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x29e4a895 sock_create_lite +EXPORT_SYMBOL vmlinux 0x29fdda53 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x2a1f7132 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x2a25701e bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a35714d tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x2a3fdc74 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x2a6b378d bdget +EXPORT_SYMBOL vmlinux 0x2a7cac99 pci_add_resource +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab50a84 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x2abb76ed __block_write_begin +EXPORT_SYMBOL vmlinux 0x2abe9a58 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x2ac7e65d tcf_em_register +EXPORT_SYMBOL vmlinux 0x2aea02fd sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x2b054f9e sk_release_kernel +EXPORT_SYMBOL vmlinux 0x2b07fb5f __dst_free +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b12925d cpumask_next_and +EXPORT_SYMBOL vmlinux 0x2b18ddf2 brioctl_set +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b6d1f54 block_write_begin +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba23985 dquot_disable +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2bb420e1 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x2bc61da1 program_check_exception +EXPORT_SYMBOL vmlinux 0x2bd8274b scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x2bfe3821 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x2c00bdf3 kset_register +EXPORT_SYMBOL vmlinux 0x2c14323a kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c5f3c4e bio_copy_user +EXPORT_SYMBOL vmlinux 0x2c7b1fca down_timeout +EXPORT_SYMBOL vmlinux 0x2c91154b scsi_register_driver +EXPORT_SYMBOL vmlinux 0x2c919c63 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x2ccead6a jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x2cef1206 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x2cf16ee9 __bread +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d2883f2 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x2d75d5b3 may_umount_tree +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d99d1dc block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x2dc8e00f devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x2de4cee4 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x2deb3237 dev_mc_init +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2df28aca skb_copy_datagram_from_iovec +EXPORT_SYMBOL vmlinux 0x2dfa5d9e mmc_free_host +EXPORT_SYMBOL vmlinux 0x2e062a58 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x2e25ffed max8998_write_reg +EXPORT_SYMBOL vmlinux 0x2e2befa8 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e7c7d66 blk_rq_init +EXPORT_SYMBOL vmlinux 0x2e9c4381 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x2eb9a27b __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ee0b5bb jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x2eeceb42 sk_chk_filter +EXPORT_SYMBOL vmlinux 0x2ef63ad6 scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x2efd8b19 jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f0fd133 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x2f29ea29 pci_find_bus +EXPORT_SYMBOL vmlinux 0x2f3efd9d sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x2f68d878 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x2f97b4dc genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0x2f99a2fe of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x2f9ea3cb inet_addr_type +EXPORT_SYMBOL vmlinux 0x2fae96de rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fb6f33b __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x2fba08fb agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x2fc8bf8d tcp_make_synack +EXPORT_SYMBOL vmlinux 0x2fcf0803 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x2fff558d neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x3017074e agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x30471d72 sock_create +EXPORT_SYMBOL vmlinux 0x305504ef generic_listxattr +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x307ea27b phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x3088b7a7 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x309705c9 module_refcount +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30bd99a6 netif_napi_del +EXPORT_SYMBOL vmlinux 0x30c6b906 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30d70fa9 of_get_pci_address +EXPORT_SYMBOL vmlinux 0x30ee218e rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x30f38ad3 get_agp_version +EXPORT_SYMBOL vmlinux 0x30fcfb87 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x3101c09c flush_hash_entry +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310917fe sort +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x31597f9c neigh_lookup +EXPORT_SYMBOL vmlinux 0x317cd6cf kunmap_high +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x3191f109 __krealloc +EXPORT_SYMBOL vmlinux 0x31946fb7 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x31c185df netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x31d3f24b ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x31e98250 deactivate_super +EXPORT_SYMBOL vmlinux 0x31eafea0 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x31f0bb78 __kmap_atomic_idx +EXPORT_SYMBOL vmlinux 0x31ff6474 get_gendisk +EXPORT_SYMBOL vmlinux 0x32045b93 inet_sendpage +EXPORT_SYMBOL vmlinux 0x32053790 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x32122ff1 dqget +EXPORT_SYMBOL vmlinux 0x323f5ba8 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x325b283b padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32a1f68f dump_write +EXPORT_SYMBOL vmlinux 0x32c79478 iget_failed +EXPORT_SYMBOL vmlinux 0x32c81d32 __destroy_inode +EXPORT_SYMBOL vmlinux 0x32c95d5a init_net +EXPORT_SYMBOL vmlinux 0x32cc6366 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x32fab2c0 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x32fb5358 dm_register_target +EXPORT_SYMBOL vmlinux 0x330f20a3 prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x3318011f set_page_dirty +EXPORT_SYMBOL vmlinux 0x332c7ec4 padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x33412725 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x33779345 journal_extend +EXPORT_SYMBOL vmlinux 0x337cce46 put_cmsg +EXPORT_SYMBOL vmlinux 0x337da557 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x339776e6 cdev_add +EXPORT_SYMBOL vmlinux 0x33ac6c1e blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33d26caf inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33e9848d __napi_schedule +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x340c54e4 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x340f87b3 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x3417adc8 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x3422b9bc generic_delete_inode +EXPORT_SYMBOL vmlinux 0x342e7fbd fb_show_logo +EXPORT_SYMBOL vmlinux 0x343e9da7 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x346c4ded rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34908c14 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x3491beeb dquot_resume +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a0870d tty_set_operations +EXPORT_SYMBOL vmlinux 0x34a7f18f splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0x34aa0307 dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x34c47eef sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x34c8e1eb gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x34d43216 force_sig +EXPORT_SYMBOL vmlinux 0x34f4de9c jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x351a5b3c freeze_super +EXPORT_SYMBOL vmlinux 0x35357725 sock_no_accept +EXPORT_SYMBOL vmlinux 0x3540c759 serio_open +EXPORT_SYMBOL vmlinux 0x3556b013 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x356a3fe1 locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x356bfca2 qdisc_list_del +EXPORT_SYMBOL vmlinux 0x356e3883 __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x35ab887b cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x35ac1fb1 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35d2f200 scsi_register +EXPORT_SYMBOL vmlinux 0x35fbd6a1 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x361a1b2b pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x3622453d drop_super +EXPORT_SYMBOL vmlinux 0x364222ba sock_wmalloc +EXPORT_SYMBOL vmlinux 0x364e3726 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x36938691 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0x36a3c000 dput +EXPORT_SYMBOL vmlinux 0x36aff3e7 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x36b0e732 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x36b60bc3 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x36c14edd simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x36c23203 generic_make_request +EXPORT_SYMBOL vmlinux 0x36e0e0ca scsi_unregister +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x36fe1d89 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x37030582 register_cdrom +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x3723aca9 mmc_erase +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x376c08f2 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x3790cdab vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37b9b92c __f_setown +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37ce8379 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0x37e74642 get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x37ee29da xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x37f6fee5 fsl_lbc_find +EXPORT_SYMBOL vmlinux 0x381144a9 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x382ae891 mac_find_mode +EXPORT_SYMBOL vmlinux 0x38440e39 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x38518d46 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x3859b9cb max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x38714c96 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x387c93da dentry_path_raw +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388a7899 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38b056ec i2c_transfer +EXPORT_SYMBOL vmlinux 0x38b7a4d9 neigh_create +EXPORT_SYMBOL vmlinux 0x38cb1250 dquot_initialize +EXPORT_SYMBOL vmlinux 0x38df6eac pci_find_capability +EXPORT_SYMBOL vmlinux 0x38e0f1b0 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x38eba6ff mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x3901b659 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x39179517 xfrm_input +EXPORT_SYMBOL vmlinux 0x392124ac uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x3936836e scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39532fad names_cachep +EXPORT_SYMBOL vmlinux 0x395b05a2 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x39a67cd9 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x39bcafe1 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x39cdf63c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x39ed334f xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x39f3931a netdev_set_master +EXPORT_SYMBOL vmlinux 0x3a14275d fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x3a1bd5a9 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x3a1f0191 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x3a2e5224 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x3a332457 input_open_device +EXPORT_SYMBOL vmlinux 0x3a36f4fd block_read_full_page +EXPORT_SYMBOL vmlinux 0x3a63a730 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3a9ee618 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x3aa2eb19 blk_stack_limits +EXPORT_SYMBOL vmlinux 0x3ab55cce padata_do_serial +EXPORT_SYMBOL vmlinux 0x3ac96940 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x3accf26e __sock_create +EXPORT_SYMBOL vmlinux 0x3af2f043 inode_init_owner +EXPORT_SYMBOL vmlinux 0x3b12d86f kernel_bind +EXPORT_SYMBOL vmlinux 0x3b2c11fe pci_pme_active +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b4189b1 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x3b4fc3ba unlock_super +EXPORT_SYMBOL vmlinux 0x3b5f4c44 filemap_flush +EXPORT_SYMBOL vmlinux 0x3b615a21 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x3b7536bc dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x3b76627e cfb_imageblit +EXPORT_SYMBOL vmlinux 0x3b7f6a2f gen_pool_create +EXPORT_SYMBOL vmlinux 0x3b993e46 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x3ba81d8a __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x3bbfa642 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bdb2021 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c095912 dev_activate +EXPORT_SYMBOL vmlinux 0x3c23d8fa sync_blockdev +EXPORT_SYMBOL vmlinux 0x3c25693d dst_release +EXPORT_SYMBOL vmlinux 0x3c426647 giveup_fpu +EXPORT_SYMBOL vmlinux 0x3c4f01bf scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x3c591923 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x3c5e0e84 kernel_read +EXPORT_SYMBOL vmlinux 0x3c5e917d dquot_acquire +EXPORT_SYMBOL vmlinux 0x3c6217d8 md_write_end +EXPORT_SYMBOL vmlinux 0x3c652b24 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3c6e417f vfs_statfs +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c8de274 dev_err +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cc13a51 machine_id +EXPORT_SYMBOL vmlinux 0x3cc4b0dc lg_lock_init +EXPORT_SYMBOL vmlinux 0x3cdffe6e __invalidate_device +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d09c2e7 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x3d21ccd2 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x3d6f992c bdi_destroy +EXPORT_SYMBOL vmlinux 0x3d83b5f0 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3dae0dd4 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x3db054de put_tty_driver +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0793b6 dget_parent +EXPORT_SYMBOL vmlinux 0x3e2ed97a pci_get_class +EXPORT_SYMBOL vmlinux 0x3e320cf1 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x3e39a612 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e4f3bd6 __getblk +EXPORT_SYMBOL vmlinux 0x3e52df87 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3e960e71 eth_header_parse +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3eb2c5d5 register_console +EXPORT_SYMBOL vmlinux 0x3eb76d7c mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x3ec069f5 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ece6fff unlock_rename +EXPORT_SYMBOL vmlinux 0x3ed009b9 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ee615e5 fb_pan_display +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f0d1e33 mem_map +EXPORT_SYMBOL vmlinux 0x3f223fce inet_ioctl +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f620a06 km_state_notify +EXPORT_SYMBOL vmlinux 0x3f694d0a pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x3f930960 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x3fb1cf71 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x3fb89ad7 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x3fc62f4c input_set_abs_params +EXPORT_SYMBOL vmlinux 0x3fca8f60 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x3fd542ca textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL vmlinux 0x3ff162df arp_xmit +EXPORT_SYMBOL vmlinux 0x3ff4b433 pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0x3ff62317 local_bh_disable +EXPORT_SYMBOL vmlinux 0x3ff8e495 lg_local_unlock_cpu +EXPORT_SYMBOL vmlinux 0x4004a384 fput +EXPORT_SYMBOL vmlinux 0x402b8281 __request_module +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +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 0x40bf22e6 kill_anon_super +EXPORT_SYMBOL vmlinux 0x40c4cc2f __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40c99aa0 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x40cb90fa kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40e1bcb7 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x40e1f0d9 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x40f1ad10 tb_ticks_per_jiffy +EXPORT_SYMBOL vmlinux 0x40f73f0a splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x40f939b4 setup_new_exec +EXPORT_SYMBOL vmlinux 0x412717df splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x413d1aee ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414fbad9 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x41599e4d kill_pid +EXPORT_SYMBOL vmlinux 0x41666b56 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0x41779437 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x417aead9 phy_device_free +EXPORT_SYMBOL vmlinux 0x41852a0f neigh_for_each +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41981ca2 seq_write +EXPORT_SYMBOL vmlinux 0x41a320ba of_device_register +EXPORT_SYMBOL vmlinux 0x41d00be7 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x421ee8a1 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x4244c23f pci_domain_nr +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x42743f4a tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x4276ec89 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x42843bcc dquot_get_dqinfo +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x429bc0f0 blkdev_get +EXPORT_SYMBOL vmlinux 0x42aa91eb jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x42e576db blkdev_put +EXPORT_SYMBOL vmlinux 0x42e60e24 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x42f99663 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x42fe6ea5 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430e2520 tty_port_init +EXPORT_SYMBOL vmlinux 0x431402f8 fsync_bdev +EXPORT_SYMBOL vmlinux 0x43305604 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x4330ffc0 scsi_execute +EXPORT_SYMBOL vmlinux 0x433c87bd of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0x4343b8fa unlock_new_inode +EXPORT_SYMBOL vmlinux 0x4348305e dev_mc_del +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x43659be7 netdev_bonding_change +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43a01f90 complete_all +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43c3f3ba i2c_register_driver +EXPORT_SYMBOL vmlinux 0x43db69d1 blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x43e94c19 security_mmap_file +EXPORT_SYMBOL vmlinux 0x43e98ac3 clear_user_page +EXPORT_SYMBOL vmlinux 0x43f16960 vmtruncate +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4421a82a inet_frags_fini +EXPORT_SYMBOL vmlinux 0x4428cd23 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x4430c75c ida_pre_get +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x443bbc9f dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x44438b96 hex2bin +EXPORT_SYMBOL vmlinux 0x444bbf49 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x444eeb74 serio_reconnect +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x4481d3f2 led_blink_set +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44eb192e wait_for_completion +EXPORT_SYMBOL vmlinux 0x45256af4 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4550ba8a register_cpu_notifier +EXPORT_SYMBOL vmlinux 0x455c02d1 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x455cc473 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x45839679 genphy_update_link +EXPORT_SYMBOL vmlinux 0x459421c0 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x4596db6a sys_sigreturn +EXPORT_SYMBOL vmlinux 0x459b0835 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0x45aa759f console_start +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x45faa051 skb_insert +EXPORT_SYMBOL vmlinux 0x461040c5 bio_map_kern +EXPORT_SYMBOL vmlinux 0x4612c59d down_trylock +EXPORT_SYMBOL vmlinux 0x461accca tty_unthrottle +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x46234670 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x465757c3 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466a1c61 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x468383fd agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x46a29925 generic_readlink +EXPORT_SYMBOL vmlinux 0x46c567f9 udp_seq_open +EXPORT_SYMBOL vmlinux 0x46cc13a8 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x46d12956 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x46dc4363 nla_reserve +EXPORT_SYMBOL vmlinux 0x46e4646d d_path +EXPORT_SYMBOL vmlinux 0x46f4a3bc d_set_d_op +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x4714dcf5 sock_no_poll +EXPORT_SYMBOL vmlinux 0x472528ff thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0x47281306 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x47367412 pci_enable_ido +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475d04b5 icmpv6_send +EXPORT_SYMBOL vmlinux 0x4762e94f neigh_compat_output +EXPORT_SYMBOL vmlinux 0x4767aa7f xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x476f3dcb __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x47976ecc bio_integrity_advance +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x48000553 mempool_create_node +EXPORT_SYMBOL vmlinux 0x48114c7c ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x481ce6ce cpu_active_mask +EXPORT_SYMBOL vmlinux 0x482a3d23 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x483c3526 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x48404b9a remove_wait_queue +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x4863d686 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x488905d0 scsi_device_put +EXPORT_SYMBOL vmlinux 0x4896318c n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x489b6e5c bio_free +EXPORT_SYMBOL vmlinux 0x48a77030 simple_unlink +EXPORT_SYMBOL vmlinux 0x48ac6dc7 __get_page_tail +EXPORT_SYMBOL vmlinux 0x48c74736 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x48e948f2 of_match_device +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4921f17b frontswap_register_ops +EXPORT_SYMBOL vmlinux 0x4949cb15 scsi_init_io +EXPORT_SYMBOL vmlinux 0x4952d5c9 blk_fetch_request +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x497cb6ee single_open +EXPORT_SYMBOL vmlinux 0x49aff48f dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x4a0181ee inet_release +EXPORT_SYMBOL vmlinux 0x4a24cf26 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x4a290d4d cur_cpu_spec +EXPORT_SYMBOL vmlinux 0x4a2d5dc8 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a40ada3 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x4a571007 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x4a681d5a skb_make_writable +EXPORT_SYMBOL vmlinux 0x4a74694d blk_recount_segments +EXPORT_SYMBOL vmlinux 0x4a8bb7b5 account_page_redirty +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b0cc9c0 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x4b17b7ac netif_napi_add +EXPORT_SYMBOL vmlinux 0x4b1e136c d_prune_aliases +EXPORT_SYMBOL vmlinux 0x4b1ec3e2 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x4b3372ea xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x4b34fbf5 block_all_signals +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b678781 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x4b6af941 nobh_write_end +EXPORT_SYMBOL vmlinux 0x4b6dec5a journal_init_inode +EXPORT_SYMBOL vmlinux 0x4b7ed27b sleep_on +EXPORT_SYMBOL vmlinux 0x4b83662e thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0x4b88ff28 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x4bac23b3 padata_add_cpu +EXPORT_SYMBOL vmlinux 0x4bb43814 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x4bb8631d user_path_at +EXPORT_SYMBOL vmlinux 0x4bbf2901 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x4bc5753a pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x4bd61315 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x4bed99b3 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x4bf485a3 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x4c00b92a locks_delete_block +EXPORT_SYMBOL vmlinux 0x4c11435a _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c166206 generic_write_sync +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cc96a3b noop_fsync +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4cdf9510 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4ceb58d8 read_dev_sector +EXPORT_SYMBOL vmlinux 0x4d29ddcd unbind_con_driver +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d41f481 skb_push +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d6a804b i8042_install_filter +EXPORT_SYMBOL vmlinux 0x4d8440be fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x4d8ededb tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x4d9192c8 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4da7c931 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x4da85195 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x4dbb4685 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x4dbd1346 fget_raw +EXPORT_SYMBOL vmlinux 0x4dbeb9b7 d_rehash +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df119fa __bitmap_parse +EXPORT_SYMBOL vmlinux 0x4df72925 lease_modify +EXPORT_SYMBOL vmlinux 0x4dfed71c flex_array_get_ptr +EXPORT_SYMBOL vmlinux 0x4e069249 security_tun_dev_post_create +EXPORT_SYMBOL vmlinux 0x4e2876c5 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e3eb5e2 inc_nlink +EXPORT_SYMBOL vmlinux 0x4e6cb156 vfs_writev +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e7582d9 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x4e830a3e strnicmp +EXPORT_SYMBOL vmlinux 0x4e87e137 tty_shutdown +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4eab3c2c skb_copy_bits +EXPORT_SYMBOL vmlinux 0x4eb723c8 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x4eca2408 __break_lease +EXPORT_SYMBOL vmlinux 0x4f0525e7 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f219a1e kern_path +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f41b973 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x4f4b2497 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x4f5824ae mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x4f584de1 misc_deregister +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f7bde41 drop_nlink +EXPORT_SYMBOL vmlinux 0x4f826afd i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0x4fb65f6d genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x4fbb9fc3 macio_dev_put +EXPORT_SYMBOL vmlinux 0x4fcc04fa set_anon_super +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe99583 atomic64_dec_if_positive +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4ffc1a40 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50300e85 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x50384baf vgacon_remap_base +EXPORT_SYMBOL vmlinux 0x50408134 override_creds +EXPORT_SYMBOL vmlinux 0x506fbfc1 nf_reinject +EXPORT_SYMBOL vmlinux 0x5072f40d dquot_scan_active +EXPORT_SYMBOL vmlinux 0x509817cf vprintk_emit +EXPORT_SYMBOL vmlinux 0x50ad5eb3 tty_register_device +EXPORT_SYMBOL vmlinux 0x50cf2d8c nf_unregister_hook +EXPORT_SYMBOL vmlinux 0x50e6f791 blk_put_request +EXPORT_SYMBOL vmlinux 0x50e8db90 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x510ca519 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x510d77f1 register_quota_format +EXPORT_SYMBOL vmlinux 0x5111eb7e pci_scan_bus +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x513846aa input_get_keycode +EXPORT_SYMBOL vmlinux 0x513b9cbd inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x515e24a7 flush_instruction_cache +EXPORT_SYMBOL vmlinux 0x519b0da3 finish_wait +EXPORT_SYMBOL vmlinux 0x519eb50f generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x51a78980 twl6040_power +EXPORT_SYMBOL vmlinux 0x51b98880 xfrm6_prepare_output +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 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x52475267 udp_prot +EXPORT_SYMBOL vmlinux 0x5248bab3 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x524e2ecc dev_uc_add +EXPORT_SYMBOL vmlinux 0x5253611f kmem_cache_size +EXPORT_SYMBOL vmlinux 0x526ae26e vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x52824181 of_get_next_child +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52a6d0b6 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52fd582c tcp_prot +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531b22bf fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x531c01b0 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x534072a4 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x53517863 mount_single +EXPORT_SYMBOL vmlinux 0x5354bcb8 generic_write_checks +EXPORT_SYMBOL vmlinux 0x53648b1f rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x538c5f22 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x5396b1e1 proto_unregister +EXPORT_SYMBOL vmlinux 0x5397edb1 mmc_start_req +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53a42613 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x53ad8399 of_dev_put +EXPORT_SYMBOL vmlinux 0x53d1a615 mount_pseudo +EXPORT_SYMBOL vmlinux 0x53dc3a5d generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x5410d128 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x5412c7c7 up +EXPORT_SYMBOL vmlinux 0x543c9b20 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54548d19 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x54567867 netdev_emerg +EXPORT_SYMBOL vmlinux 0x547f1c47 vfsmount_lock +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54b95191 xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x54d29cbe kill_litter_super +EXPORT_SYMBOL vmlinux 0x54dd3192 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54eee330 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x551e93d6 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x55467ede fsl_upm_find +EXPORT_SYMBOL vmlinux 0x554aa936 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x5567a983 skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x5568c553 complete +EXPORT_SYMBOL vmlinux 0x55717ac4 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x5577ef9e udp_table +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55a28210 sk_common_release +EXPORT_SYMBOL vmlinux 0x55e7e608 set_binfmt +EXPORT_SYMBOL vmlinux 0x55e9f2bc clear_bdi_congested +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x562ea5bd init_special_inode +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563a1314 tcp_proc_register +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x568f7b9e cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56a9ace6 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x56bcc81f wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56e8d49c pci_get_subsys +EXPORT_SYMBOL vmlinux 0x5702514c input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x57223a71 bio_clone +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x5764b4db sock_get_timestampns +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x57782f6a mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x5780cb7e macio_request_resources +EXPORT_SYMBOL vmlinux 0x5783871e inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x5785384a flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x578f52e7 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0x579391b7 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x57a62991 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x57df2938 pci_release_regions +EXPORT_SYMBOL vmlinux 0x57e321d0 vm_mmap +EXPORT_SYMBOL vmlinux 0x57fb2c13 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x5805c7f5 inet6_release +EXPORT_SYMBOL vmlinux 0x58175c79 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x5820a46b dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x582a4747 cacheable_memcpy +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58450c74 devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x58623807 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x58b2b85c pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x58b3020b locks_copy_lock +EXPORT_SYMBOL vmlinux 0x58efea44 take_over_console +EXPORT_SYMBOL vmlinux 0x592cefed bio_uncopy_user +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x59449ead get_phy_device +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x59673d2b journal_forget +EXPORT_SYMBOL vmlinux 0x596989e2 kobject_set_name +EXPORT_SYMBOL vmlinux 0x5989f1ff simple_release_fs +EXPORT_SYMBOL vmlinux 0x598f7206 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x59b3378a completion_done +EXPORT_SYMBOL vmlinux 0x59c516e9 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59d8223a ioport_resource +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x5a015f72 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x5a04c3fc max8925_set_bits +EXPORT_SYMBOL vmlinux 0x5a0cee29 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x5a33aa36 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x5a363030 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x5a3d9335 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x5a5db048 scsi_put_command +EXPORT_SYMBOL vmlinux 0x5a670e82 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a85503d vm_map_ram +EXPORT_SYMBOL vmlinux 0x5a87cf68 elevator_change +EXPORT_SYMBOL vmlinux 0x5a902153 dev_trans_start +EXPORT_SYMBOL vmlinux 0x5ab35f79 _dev_info +EXPORT_SYMBOL vmlinux 0x5ab67931 do_IRQ +EXPORT_SYMBOL vmlinux 0x5abaf7eb __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x5ac95b94 elv_rb_find +EXPORT_SYMBOL vmlinux 0x5acc0bf7 proc_symlink +EXPORT_SYMBOL vmlinux 0x5ad82553 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x5ae8ce95 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x5b03f5e8 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x5b19634d div_s64_rem +EXPORT_SYMBOL vmlinux 0x5b39988e ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b5728a5 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x5b5f5e44 do_sync_read +EXPORT_SYMBOL vmlinux 0x5b62f867 serio_interrupt +EXPORT_SYMBOL vmlinux 0x5b6674d8 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x5b78c353 register_qdisc +EXPORT_SYMBOL vmlinux 0x5b9828c5 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x5b9872de genl_notify +EXPORT_SYMBOL vmlinux 0x5ba52251 padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5ba6def4 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x5c0312c9 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0x5c079f0b skb_clone +EXPORT_SYMBOL vmlinux 0x5c265cba sg_init_one +EXPORT_SYMBOL vmlinux 0x5c37f319 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x5c4ebe49 of_device_alloc +EXPORT_SYMBOL vmlinux 0x5c6daa14 bdgrab +EXPORT_SYMBOL vmlinux 0x5c76e5b1 inet_accept +EXPORT_SYMBOL vmlinux 0x5cea59da unregister_netdev +EXPORT_SYMBOL vmlinux 0x5cff9b16 bmap +EXPORT_SYMBOL vmlinux 0x5d00cbac dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d14efd3 read_cache_pages +EXPORT_SYMBOL vmlinux 0x5d2d04d5 ip_route_input_common +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d61d899 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x5d670822 padata_alloc +EXPORT_SYMBOL vmlinux 0x5d6bdce1 flex_array_alloc +EXPORT_SYMBOL vmlinux 0x5d9e0418 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x5dc56d95 simple_link +EXPORT_SYMBOL vmlinux 0x5dc646c6 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x5dca7a2a i2c_release_client +EXPORT_SYMBOL vmlinux 0x5dd373e2 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x5defa17d input_unregister_handle +EXPORT_SYMBOL vmlinux 0x5e00dd19 dev_close +EXPORT_SYMBOL vmlinux 0x5e045074 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x5e11f505 arp_send +EXPORT_SYMBOL vmlinux 0x5e3a8a9c __wake_up +EXPORT_SYMBOL vmlinux 0x5e3e7517 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x5e462976 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x5e529b19 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5e59527a inet6_ioctl +EXPORT_SYMBOL vmlinux 0x5e5bdc1a tty_port_hangup +EXPORT_SYMBOL vmlinux 0x5e6461ff journal_destroy +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e949a87 get_disk +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea18c1a write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x5ea6ab15 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x5ea746b2 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x5ea93b7f net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x5eb0401e proc_dostring +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ecf81f6 try_module_get +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f0a3381 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fe89f57 update_time +EXPORT_SYMBOL vmlinux 0x5ffb6128 may_umount +EXPORT_SYMBOL vmlinux 0x6001857f wireless_spy_update +EXPORT_SYMBOL vmlinux 0x60066fc6 pci_target_state +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600e6eea xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x6086fae9 rwsem_wake +EXPORT_SYMBOL vmlinux 0x608dc1cc nf_log_register +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60b34b0d __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x60e980fc mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x60f1e57b bdget_disk +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612acc97 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x613305a5 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x6136cab4 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x61518054 mdiobus_read +EXPORT_SYMBOL vmlinux 0x616a8814 nla_put +EXPORT_SYMBOL vmlinux 0x616b825d dql_init +EXPORT_SYMBOL vmlinux 0x6174ea13 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x61798bb0 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x61934f5e xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x61a4d9c1 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x61ef7445 ilookup5 +EXPORT_SYMBOL vmlinux 0x621c9bbb dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622fd0cb inode_dio_wait +EXPORT_SYMBOL vmlinux 0x6231495e of_get_property +EXPORT_SYMBOL vmlinux 0x62337d5c rtnl_notify +EXPORT_SYMBOL vmlinux 0x623cb3e2 blk_get_request +EXPORT_SYMBOL vmlinux 0x623d7182 _chrp_type +EXPORT_SYMBOL vmlinux 0x62538167 slhc_toss +EXPORT_SYMBOL vmlinux 0x6258ff7a panic_notifier_list +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x628332e8 pmu_power_flags +EXPORT_SYMBOL vmlinux 0x62840235 elevator_exit +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62a35f10 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x62c4574c agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x62cac984 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x62ccac16 inode_dio_done +EXPORT_SYMBOL vmlinux 0x62de6e01 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x631066e9 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x63327db9 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x63393788 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0x633e30c2 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x637f19f1 submit_bio +EXPORT_SYMBOL vmlinux 0x6384310f pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63c38e8d scsi_get_command +EXPORT_SYMBOL vmlinux 0x63cb7580 pci_prepare_to_sleep +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 0x642fe6aa eth_change_mtu +EXPORT_SYMBOL vmlinux 0x644cbe12 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x64521006 ps2_init +EXPORT_SYMBOL vmlinux 0x645714d4 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x645a11b8 alloc_pci_dev +EXPORT_SYMBOL vmlinux 0x6465a1eb journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x646c7d0a vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x647a0644 netdev_change_features +EXPORT_SYMBOL vmlinux 0x647fefa6 cad_pid +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x64b796a6 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x64bd40f8 km_state_expired +EXPORT_SYMBOL vmlinux 0x64dc27c8 bdput +EXPORT_SYMBOL vmlinux 0x650b31e8 pci_restore_state +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651a8da4 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x6522c762 skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x6532a342 udp_ioctl +EXPORT_SYMBOL vmlinux 0x653f8f31 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x65400222 __irq_offset_value +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65459b81 follow_down_one +EXPORT_SYMBOL vmlinux 0x654bf9a2 ppp_dev_name +EXPORT_SYMBOL vmlinux 0x654fe88b __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x6551c7da tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x65744572 I_BDEV +EXPORT_SYMBOL vmlinux 0x657d6f0a netif_rx_ni +EXPORT_SYMBOL vmlinux 0x6585e310 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0x65bb58a2 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x65cb4d2e tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x65d4742e d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x65f7be35 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x65fafd58 fget +EXPORT_SYMBOL vmlinux 0x664ba1f1 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x665d0abd dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x6663d4da inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x669227a8 bh_submit_read +EXPORT_SYMBOL vmlinux 0x669dd28a posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x66cd1349 inet_listen +EXPORT_SYMBOL vmlinux 0x671929b9 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6787e3d6 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x6794aa80 blk_end_request +EXPORT_SYMBOL vmlinux 0x67a5366b inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67b7ba2a journal_dirty_data +EXPORT_SYMBOL vmlinux 0x67bbbe63 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x67c3ee58 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x67d9e969 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x681084d8 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x681c8f0e __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0x681f14f9 eth_header +EXPORT_SYMBOL vmlinux 0x6820e122 netdev_update_features +EXPORT_SYMBOL vmlinux 0x682583e9 generic_file_open +EXPORT_SYMBOL vmlinux 0x682e2033 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x68345219 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x6849a15f flex_array_clear +EXPORT_SYMBOL vmlinux 0x685b034c pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x68609857 complete_and_exit +EXPORT_SYMBOL vmlinux 0x6860b9b1 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0x6866454f register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x686ab26b pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x689c13d9 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x68b4069c pci_disable_ltr +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68e0e289 idr_remove +EXPORT_SYMBOL vmlinux 0x68e5edc2 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x68f9556c of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0x691d9a31 seq_open_private +EXPORT_SYMBOL vmlinux 0x6944cf97 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x69578148 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x699466d4 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x6995b082 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x69a0ca7d iowrite16be +EXPORT_SYMBOL vmlinux 0x69ad2f20 kstrtouint +EXPORT_SYMBOL vmlinux 0x69b49b56 register_sysctl +EXPORT_SYMBOL vmlinux 0x69d38ed9 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x69d7e5b8 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69fb7869 km_policy_notify +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a402fe5 mii_nway_restart +EXPORT_SYMBOL vmlinux 0x6a527eac unregister_con_driver +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a9784ce tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x6a9ac700 tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x6a9c8b4d inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6a9dc9a8 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x6aa72afa jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6ada1d7a elevator_init +EXPORT_SYMBOL vmlinux 0x6af127b2 generic_setxattr +EXPORT_SYMBOL vmlinux 0x6b0a151e flush_tlb_page +EXPORT_SYMBOL vmlinux 0x6b0f188a bdi_unregister +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b2db8ae vfs_lstat +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b467bc9 user_revoke +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b823e81 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x6b82d700 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x6b85c324 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x6baae653 cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd6896e genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6be5d385 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x6bf528fc default_file_splice_read +EXPORT_SYMBOL vmlinux 0x6c168e93 bio_map_user +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c1e5e6d textsearch_register +EXPORT_SYMBOL vmlinux 0x6c447b56 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x6c4bda10 __cleancache_init_shared_fs +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 0x6c7b3737 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x6c8451b7 seq_path +EXPORT_SYMBOL vmlinux 0x6ca1d1a4 atomic64_read +EXPORT_SYMBOL vmlinux 0x6ca6ed75 simple_write_end +EXPORT_SYMBOL vmlinux 0x6cd130e3 consume_skb +EXPORT_SYMBOL vmlinux 0x6cdab96d seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x6cdc5c6b nla_strlcpy +EXPORT_SYMBOL vmlinux 0x6ce424ca simple_fill_super +EXPORT_SYMBOL vmlinux 0x6cf22a55 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d1f230f dquot_alloc +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2ec93a napi_skb_finish +EXPORT_SYMBOL vmlinux 0x6d464175 __sg_free_table +EXPORT_SYMBOL vmlinux 0x6d4807c9 vga_get +EXPORT_SYMBOL vmlinux 0x6d6bd1c9 da903x_query_status +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d7dd84f sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x6d8fc08b scsi_target_resume +EXPORT_SYMBOL vmlinux 0x6d9ff625 netdev_notice +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6dbbca4f blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6dfa966c ping_prot +EXPORT_SYMBOL vmlinux 0x6e46e75d blk_free_tags +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e77873e __locks_copy_lock +EXPORT_SYMBOL vmlinux 0x6e8789a5 block_commit_write +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eb74dff proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x6ee08793 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x6f05ad54 fasync_helper +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f331776 ihold +EXPORT_SYMBOL vmlinux 0x6fa0d820 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x6fb4113a generic_removexattr +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd2b699 __page_symlink +EXPORT_SYMBOL vmlinux 0x700be301 kfree_skb +EXPORT_SYMBOL vmlinux 0x701660c3 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x70445c2d datagram_poll +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +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 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x711005e1 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x714238a1 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x7147edca napi_gro_flush +EXPORT_SYMBOL vmlinux 0x716f07cb dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7186c1e3 keyring_search +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71c20949 read_cache_page +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x7226185b xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x727fb8b0 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x7290ddf0 scsi_host_get +EXPORT_SYMBOL vmlinux 0x72b1b124 unlock_buffer +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72d58de9 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x72e50086 vm_stat +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72ef8658 tty_hangup +EXPORT_SYMBOL vmlinux 0x7314aa27 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x732268b4 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x732e0f40 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x73519f43 tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x735c5989 skb_pull +EXPORT_SYMBOL vmlinux 0x735d8503 add_wait_queue +EXPORT_SYMBOL vmlinux 0x73612c54 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x73710a3e dqstats +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x738b1772 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x73a21edf framebuffer_release +EXPORT_SYMBOL vmlinux 0x73ade100 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x73dec533 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73f4cf34 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x73fc8e15 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x740b7d79 init_task +EXPORT_SYMBOL vmlinux 0x7464ecb2 kset_unregister +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x74905e3a request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0x74b852eb mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74ceef19 key_type_keyring +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f4f652 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x750ec3a5 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x751c2917 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x756b1004 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x756dd160 start_thread +EXPORT_SYMBOL vmlinux 0x75823031 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x7593d385 div64_s64 +EXPORT_SYMBOL vmlinux 0x75994700 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75c9ddf8 nf_register_hook +EXPORT_SYMBOL vmlinux 0x75e78ea5 nf_log_packet +EXPORT_SYMBOL vmlinux 0x75ee6b52 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x76142e6a dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x761b43ef bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0x763eea15 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x76473907 have_submounts +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x76498190 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x7669cc9c inode_needs_sync +EXPORT_SYMBOL vmlinux 0x7671ace1 bdi_register +EXPORT_SYMBOL vmlinux 0x768b2c23 misc_register +EXPORT_SYMBOL vmlinux 0x76940907 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d684e4 seq_putc +EXPORT_SYMBOL vmlinux 0x76dae106 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x76e07962 idr_get_new +EXPORT_SYMBOL vmlinux 0x771d18e5 kern_unmount +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773b15d3 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x77541e3c skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x776bd381 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x7785707e put_io_context +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77b851c4 cacheable_memzero +EXPORT_SYMBOL vmlinux 0x77b92493 user_path_create +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c7781e vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x77cf1a11 vfs_follow_link +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x77edf722 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x78093b14 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x782402a3 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x783a0fd8 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x787b1bbe simple_getattr +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78831792 vfs_getattr +EXPORT_SYMBOL vmlinux 0x788fe103 iomem_resource +EXPORT_SYMBOL vmlinux 0x78cf7b8b generic_setlease +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78ef24c1 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x790df6ca __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x791d2373 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x7925bf54 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0x7926099f writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x79567ab7 check_disk_change +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7981d7a2 qdisc_reset +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79bc95ba vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x79c1c9a5 __frontswap_load +EXPORT_SYMBOL vmlinux 0x79c8934e alloc_disk +EXPORT_SYMBOL vmlinux 0x79e2d8b0 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x79ed04cd module_put +EXPORT_SYMBOL vmlinux 0x79fe837b pci_pme_capable +EXPORT_SYMBOL vmlinux 0x7a26d12b bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a3e628a devm_gpio_request +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a80fe8c scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x7a9f1863 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x7aae0699 file_update_time +EXPORT_SYMBOL vmlinux 0x7ab72965 inode_init_once +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac0f2dd generic_file_fsync +EXPORT_SYMBOL vmlinux 0x7ac89953 switch_mmu_context +EXPORT_SYMBOL vmlinux 0x7aca5ff9 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x7ad22c42 xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x7aef3f5a pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x7af889a6 phy_attach +EXPORT_SYMBOL vmlinux 0x7afa89fc vsnprintf +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b100acf twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x7b3e76cf directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x7b3ecba0 scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0x7b47f9f5 security_path_chown +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b722bc8 setattr_copy +EXPORT_SYMBOL vmlinux 0x7b7cf7bb netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0x7b7e6223 copy_strings_kernel +EXPORT_SYMBOL vmlinux 0x7b8de7ee iunique +EXPORT_SYMBOL vmlinux 0x7baf068d __inet6_hash +EXPORT_SYMBOL vmlinux 0x7be4827c pci_dram_offset +EXPORT_SYMBOL vmlinux 0x7be892f7 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7bec4dcc skb_split +EXPORT_SYMBOL vmlinux 0x7bf0e977 bio_unmap_user +EXPORT_SYMBOL vmlinux 0x7c003aef _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c2ee935 tcp_connect +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4bb9c6 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x7c59f9b4 inet6_bind +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c6d584f pci_disable_device +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 0x7cd05da5 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d502d7a of_device_is_available +EXPORT_SYMBOL vmlinux 0x7d50cc10 dst_destroy +EXPORT_SYMBOL vmlinux 0x7d731b70 blkdev_fsync +EXPORT_SYMBOL vmlinux 0x7d7f5fc6 ftrace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x7d898ca1 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dd49a57 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x7de60608 __get_user_pages +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e0fc2f0 of_dev_get +EXPORT_SYMBOL vmlinux 0x7e1cf4fe dev_get_drvdata +EXPORT_SYMBOL vmlinux 0x7e2b8475 filp_close +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e3e3b86 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x7e6f37cc request_key_async +EXPORT_SYMBOL vmlinux 0x7e78b797 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x7e87227e slhc_compress +EXPORT_SYMBOL vmlinux 0x7e995c7d sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x7ec50906 __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x7ee73c0c memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0x7ef4f4f2 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x7f000b28 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x7f1d00d2 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f5a3f62 noop_qdisc +EXPORT_SYMBOL vmlinux 0x7f5c6c07 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x7f7052ac pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x7f7d0e99 km_report +EXPORT_SYMBOL vmlinux 0x7f8c1743 flush_tlb_range +EXPORT_SYMBOL vmlinux 0x7f985449 dev_addr_flush +EXPORT_SYMBOL vmlinux 0x7fb36bf1 journal_force_commit +EXPORT_SYMBOL vmlinux 0x7fb5cb47 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x7fb96160 bdi_register_dev +EXPORT_SYMBOL vmlinux 0x80051135 bio_copy_kern +EXPORT_SYMBOL vmlinux 0x800d0171 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x8012d128 vfs_write +EXPORT_SYMBOL vmlinux 0x80266997 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x80335148 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x807f2127 __bforget +EXPORT_SYMBOL vmlinux 0x809bf9a7 pci_match_id +EXPORT_SYMBOL vmlinux 0x80b14310 ata_print_version +EXPORT_SYMBOL vmlinux 0x80c4500d kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x80c77361 dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x80cf646f __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x811dc101 kernel_accept +EXPORT_SYMBOL vmlinux 0x8124b3ac seq_release +EXPORT_SYMBOL vmlinux 0x8124d60e ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0x81293738 tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x81449504 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x816106bb sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x816a33e9 powerpc_debugfs_root +EXPORT_SYMBOL vmlinux 0x81704588 __blk_end_request +EXPORT_SYMBOL vmlinux 0x81819480 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x819b6e33 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x81a07f4e _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x81a7364a macio_register_driver +EXPORT_SYMBOL vmlinux 0x81b1f2dc tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x81c041b6 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81ebbfeb fsnotify_put_group +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 0x82648018 dev_uc_init +EXPORT_SYMBOL vmlinux 0x826d8971 pagecache_write_end +EXPORT_SYMBOL vmlinux 0x82772dbb pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x827a0825 pm860x_page_set_bits +EXPORT_SYMBOL vmlinux 0x82a69c93 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b021fc pci_set_master +EXPORT_SYMBOL vmlinux 0x82b24aa0 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x82c348c3 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x82ee9e71 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x830978d8 of_find_property +EXPORT_SYMBOL vmlinux 0x8328d892 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x832f30b6 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x833a7cac dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x836e0bb3 mmc_add_host +EXPORT_SYMBOL vmlinux 0x8375f30a jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x837f9f8b inet_stream_connect +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x8394407c pci_map_rom +EXPORT_SYMBOL vmlinux 0x839865c4 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x83a0acef dev_uc_del +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83f6efc0 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0x840e7ead read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x8432b570 mpage_readpages +EXPORT_SYMBOL vmlinux 0x844404cf ISA_DMA_THRESHOLD +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x847d4b57 skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0x849820cc skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0x849e1648 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x84b183ae strncmp +EXPORT_SYMBOL vmlinux 0x84bd69bf dq_data_lock +EXPORT_SYMBOL vmlinux 0x84bd78cd read_cache_page_async +EXPORT_SYMBOL vmlinux 0x84eb53aa sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x85239697 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x85250a56 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x8532499d dquot_drop +EXPORT_SYMBOL vmlinux 0x853a3087 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x8541b215 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x8541bccc intercept_table +EXPORT_SYMBOL vmlinux 0x856215a8 tty_name +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85866c93 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x85924819 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e7deb2 iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0x85eb8718 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x85f2468f phy_connect_direct +EXPORT_SYMBOL vmlinux 0x85f52c0c set_bh_page +EXPORT_SYMBOL vmlinux 0x8624b4b1 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x8631ce99 blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x8632148c __pagevec_release +EXPORT_SYMBOL vmlinux 0x86399c22 save_mount_options +EXPORT_SYMBOL vmlinux 0x8649fc44 scsi_prep_return +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x86727c91 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x868dccd9 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x869e2499 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x86a4889a kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x86a5bf31 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x86a8e033 unlock_page +EXPORT_SYMBOL vmlinux 0x86ac7e0c tcp_close +EXPORT_SYMBOL vmlinux 0x86bddb16 nf_afinfo +EXPORT_SYMBOL vmlinux 0x86bee5d7 page_symlink +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86ec76e3 __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x86ed3ad6 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8709010f irq_to_desc +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x87608d51 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x876266b8 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x878a8212 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x87901173 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x879826e8 elv_rb_add +EXPORT_SYMBOL vmlinux 0x8798e453 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x879c54ba sk_receive_skb +EXPORT_SYMBOL vmlinux 0x87a044d5 bioset_create +EXPORT_SYMBOL vmlinux 0x87ac489e scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0x87b4994a scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x87d086b9 netdev_state_change +EXPORT_SYMBOL vmlinux 0x87dc66b6 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x883b2bd2 mii_link_ok +EXPORT_SYMBOL vmlinux 0x883f4014 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x88403208 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0x8842ad71 seq_read +EXPORT_SYMBOL vmlinux 0x8853a0bb remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x88582d67 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x88750546 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x88955cc9 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x88bbc120 seq_escape +EXPORT_SYMBOL vmlinux 0x88c76700 phy_start +EXPORT_SYMBOL vmlinux 0x88d0cbf4 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x88d4ab73 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x891ada41 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x891fbb10 mempool_destroy +EXPORT_SYMBOL vmlinux 0x89222026 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0x8941c42b mii_check_media +EXPORT_SYMBOL vmlinux 0x8949858b schedule_work +EXPORT_SYMBOL vmlinux 0x894d8fae mmc_detect_change +EXPORT_SYMBOL vmlinux 0x8953f8ff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8960e374 genl_register_family +EXPORT_SYMBOL vmlinux 0x89690e91 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x89699c38 uart_resume_port +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89797060 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x897b1818 netlink_ack +EXPORT_SYMBOL vmlinux 0x897f061d downgrade_write +EXPORT_SYMBOL vmlinux 0x89b3107b isa_mem_base +EXPORT_SYMBOL vmlinux 0x89c79e2a netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0x89cea273 cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x8a088e0d blk_start_request +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a35dbff cfb_fillrect +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a5c0cb2 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a864425 dma_pool_create +EXPORT_SYMBOL vmlinux 0x8a8cd1dc tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x8a90676c arp_find +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ab4079e atomic64_add +EXPORT_SYMBOL vmlinux 0x8ab99484 journal_ack_err +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b5179d8 get_fs_type +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b749273 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x8b7c8afe jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0x8b7d8af3 __free_pages +EXPORT_SYMBOL vmlinux 0x8b925bc6 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x8b9269f4 security_path_mknod +EXPORT_SYMBOL vmlinux 0x8bd635c4 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x8beaa8a0 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c0a4ff0 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x8c130fb7 sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c3c0bab create_empty_buffers +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8cb2995f seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x8cc522f3 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8ce50982 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x8cee985a load_nls +EXPORT_SYMBOL vmlinux 0x8cfffb58 usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d9ec7ba ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x8dc7acf0 d_find_alias +EXPORT_SYMBOL vmlinux 0x8dce4380 secpath_dup +EXPORT_SYMBOL vmlinux 0x8de0b5ac mempool_create +EXPORT_SYMBOL vmlinux 0x8de6d0de simple_setattr +EXPORT_SYMBOL vmlinux 0x8deac78d tc_classify_compat +EXPORT_SYMBOL vmlinux 0x8debe8c5 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x8dee7074 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x8df327f1 proto_register +EXPORT_SYMBOL vmlinux 0x8df5da63 memstart_addr +EXPORT_SYMBOL vmlinux 0x8e0ac616 lookup_one_len +EXPORT_SYMBOL vmlinux 0x8e0d66f4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e3034b9 __blk_run_queue +EXPORT_SYMBOL vmlinux 0x8e4af363 blk_make_request +EXPORT_SYMBOL vmlinux 0x8e57899c truncate_setsize +EXPORT_SYMBOL vmlinux 0x8e63350d idr_replace +EXPORT_SYMBOL vmlinux 0x8e6e1edb skb_gso_segment +EXPORT_SYMBOL vmlinux 0x8e854d71 seq_open +EXPORT_SYMBOL vmlinux 0x8ea4cf1a __put_cred +EXPORT_SYMBOL vmlinux 0x8ead3062 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x8eb1765f unregister_filesystem +EXPORT_SYMBOL vmlinux 0x8ec04552 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x8ed0db14 igrab +EXPORT_SYMBOL vmlinux 0x8ed6ed52 dev_addr_del +EXPORT_SYMBOL vmlinux 0x8ee9eb96 devm_gpio_free +EXPORT_SYMBOL vmlinux 0x8eed1974 dquot_release +EXPORT_SYMBOL vmlinux 0x8f214b26 mpage_writepages +EXPORT_SYMBOL vmlinux 0x8f363e4c input_reset_device +EXPORT_SYMBOL vmlinux 0x8f437317 block_write_end +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f488cd2 vfs_rename +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f85f835 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x8fa9d7e8 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x8fb09267 d_genocide +EXPORT_SYMBOL vmlinux 0x8fbf37e0 profile_pc +EXPORT_SYMBOL vmlinux 0x8ff024b6 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x8ffdb3b8 crc16 +EXPORT_SYMBOL vmlinux 0x9006a5ee filemap_fdatawait +EXPORT_SYMBOL vmlinux 0x90183ca7 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x901d3ebe registered_fb +EXPORT_SYMBOL vmlinux 0x90501868 transfer_to_handler +EXPORT_SYMBOL vmlinux 0x905469d1 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x90587e93 netdev_crit +EXPORT_SYMBOL vmlinux 0x905ece14 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x9064800c cdrom_open +EXPORT_SYMBOL vmlinux 0x908538ca sk_wait_data +EXPORT_SYMBOL vmlinux 0x90b0eaee input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x90b921f3 dquot_operations +EXPORT_SYMBOL vmlinux 0x90c5e819 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x90cdb927 dqput +EXPORT_SYMBOL vmlinux 0x90cf3fb0 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x90e146c2 trace_seq_putc +EXPORT_SYMBOL vmlinux 0x90e565e7 bitmap_unplug +EXPORT_SYMBOL vmlinux 0x90e78cad dev_uc_flush +EXPORT_SYMBOL vmlinux 0x910c30ac neigh_seq_start +EXPORT_SYMBOL vmlinux 0x910ec06c lro_flush_all +EXPORT_SYMBOL vmlinux 0x911be286 dma_direct_ops +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x914dfaa9 free_netdev +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x91621d6a allocate_resource +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91acec30 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x91d88e48 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0x91f1ea44 replace_mount_options +EXPORT_SYMBOL vmlinux 0x91fffc59 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x92027f6c inode_change_ok +EXPORT_SYMBOL vmlinux 0x920f43ea input_register_handler +EXPORT_SYMBOL vmlinux 0x92105d5f cdev_alloc +EXPORT_SYMBOL vmlinux 0x9236180a pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9272feb5 i2c_master_recv +EXPORT_SYMBOL vmlinux 0x9284f2dc submit_bh +EXPORT_SYMBOL vmlinux 0x928dc8b5 rename_lock +EXPORT_SYMBOL vmlinux 0x92a2c46d ida_get_new +EXPORT_SYMBOL vmlinux 0x92a6b27d dev_mc_add +EXPORT_SYMBOL vmlinux 0x92a97feb set_nlink +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92df03bc phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x92e07223 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x92fa382c uart_suspend_port +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9309de94 cuda_request +EXPORT_SYMBOL vmlinux 0x93215e1d __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x932b9945 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0x9330cb9f sg_alloc_table +EXPORT_SYMBOL vmlinux 0x93411b27 tty_vhangup +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b21400 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x93b50580 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x93b87771 module_layout +EXPORT_SYMBOL vmlinux 0x93de6b3f udp_disconnect +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x946b8ab7 kobject_put +EXPORT_SYMBOL vmlinux 0x948bfa45 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x948ff3a1 pci_release_region +EXPORT_SYMBOL vmlinux 0x9492bdd9 find_inode_number +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94cbd061 dql_reset +EXPORT_SYMBOL vmlinux 0x94d4b159 kernel_listen +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x95154076 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x951b213f __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x9520a10e agp_generic_enable +EXPORT_SYMBOL vmlinux 0x9524b0ae _outsb +EXPORT_SYMBOL vmlinux 0x952aead6 log_start_commit +EXPORT_SYMBOL vmlinux 0x952d3dd1 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x953db383 free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x954488a4 syncookie_secret +EXPORT_SYMBOL vmlinux 0x9545af6d tasklet_init +EXPORT_SYMBOL vmlinux 0x9552d6fe pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x957ff911 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x95c8fa3e posix_lock_file +EXPORT_SYMBOL vmlinux 0x9622f415 ps2_end_command +EXPORT_SYMBOL vmlinux 0x962f5228 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x96573b80 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x96898769 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x969ebb48 f_setown +EXPORT_SYMBOL vmlinux 0x96a25c40 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x96b8e459 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x96c46d6a __mutex_init +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d24352 block_write_full_page +EXPORT_SYMBOL vmlinux 0x96d7be61 md_write_start +EXPORT_SYMBOL vmlinux 0x96dbcca2 ioremap_prot +EXPORT_SYMBOL vmlinux 0x96e8c1b9 generic_permission +EXPORT_SYMBOL vmlinux 0x96ea6fe7 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x96ec66ef dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x96f47a92 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x97042724 sock_register +EXPORT_SYMBOL vmlinux 0x9704e93a ida_get_new_above +EXPORT_SYMBOL vmlinux 0x9706fd86 simple_write_begin +EXPORT_SYMBOL vmlinux 0x97255bdf strlen +EXPORT_SYMBOL vmlinux 0x972b35b9 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x9731cbd3 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x974d612f tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x978ba88b sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97b4500c __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x97bb185a of_device_unregister +EXPORT_SYMBOL vmlinux 0x980cbacf rfkill_alloc +EXPORT_SYMBOL vmlinux 0x98159028 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x984cdfe6 phy_device_register +EXPORT_SYMBOL vmlinux 0x98514b6c elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0x985bf06a __register_binfmt +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9870cd9b put_page +EXPORT_SYMBOL vmlinux 0x98819539 key_link +EXPORT_SYMBOL vmlinux 0x98a99565 bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0x98bfba70 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x98d2a344 release_pages +EXPORT_SYMBOL vmlinux 0x98ded595 usb_put_transceiver +EXPORT_SYMBOL vmlinux 0x98dfb844 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x98e1c293 security_path_symlink +EXPORT_SYMBOL vmlinux 0x98f890e4 blk_requeue_request +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x98fe7882 DMA_MODE_READ +EXPORT_SYMBOL vmlinux 0x992c50a9 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x9947d1cb pcim_enable_device +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99533227 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x996d8df5 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x996e3af0 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x997bfc50 journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x997c0635 pid_task +EXPORT_SYMBOL vmlinux 0x998389b7 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a08171 inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x99afe916 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x99b17045 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x99bb8806 memmove +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99ee6706 vfs_mknod +EXPORT_SYMBOL vmlinux 0x99fc9a97 ata_link_printk +EXPORT_SYMBOL vmlinux 0x9a02b86a md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x9a1339c3 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a359698 arp_invalidate +EXPORT_SYMBOL vmlinux 0x9a4c7e25 get_super +EXPORT_SYMBOL vmlinux 0x9a626734 ftrace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x9acdfd72 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x9adb15a8 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x9adc9069 phy_find_first +EXPORT_SYMBOL vmlinux 0x9b12c18a neigh_direct_output +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b6eb137 ksize +EXPORT_SYMBOL vmlinux 0x9b800eba tcp_parse_options +EXPORT_SYMBOL vmlinux 0x9b8e2374 iput +EXPORT_SYMBOL vmlinux 0x9b98bf78 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bcc60da journal_start_commit +EXPORT_SYMBOL vmlinux 0x9bce482f __release_region +EXPORT_SYMBOL vmlinux 0x9c0e5a59 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x9c2e6d27 fb_find_mode +EXPORT_SYMBOL vmlinux 0x9c3b1d2d tcp_shutdown +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c6bb3e6 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x9c70be43 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x9cb35f32 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9ce3f83f nvram_write_byte +EXPORT_SYMBOL vmlinux 0x9ceb163c memcpy_toiovec +EXPORT_SYMBOL vmlinux 0x9cfd47b1 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9d08eaef make_EII_client +EXPORT_SYMBOL vmlinux 0x9d0ce865 km_policy_expired +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d1a9889 tty_check_change +EXPORT_SYMBOL vmlinux 0x9d24b1f8 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d40e8cd xfrm_register_km +EXPORT_SYMBOL vmlinux 0x9d416047 journal_errno +EXPORT_SYMBOL vmlinux 0x9d485856 macio_unregister_driver +EXPORT_SYMBOL vmlinux 0x9d56f40f notify_change +EXPORT_SYMBOL vmlinux 0x9d669763 memcpy +EXPORT_SYMBOL vmlinux 0x9d786943 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x9d7ce8dd _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x9d8cdebb unregister_nls +EXPORT_SYMBOL vmlinux 0x9d9c9597 idr_init +EXPORT_SYMBOL vmlinux 0x9daea67f pci_select_bars +EXPORT_SYMBOL vmlinux 0x9dc85d75 pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x9e09ed0f skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e1cfc90 ioremap_wc +EXPORT_SYMBOL vmlinux 0x9e2000a7 memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0x9e25447e sock_no_listen +EXPORT_SYMBOL vmlinux 0x9e283b8d dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e672ff6 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x9e6cc132 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ed138e1 skb_seq_read +EXPORT_SYMBOL vmlinux 0x9ed685ee iov_iter_advance +EXPORT_SYMBOL vmlinux 0x9ee87a48 seq_puts +EXPORT_SYMBOL vmlinux 0x9eecae37 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x9ef46b5e d_instantiate +EXPORT_SYMBOL vmlinux 0x9f24f7ea inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f3533a2 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x9f404525 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x9f412e1a i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x9f44cb97 netdev_err +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f7f7de0 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x9f88e8ab open_exec +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f9d2023 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0x9fb0636a netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x9fb3dd30 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9fce9701 unload_nls +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe72393 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xa029b490 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xa03a0ef4 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xa0488763 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa06df9e1 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0xa0717e4b pci_ltr_supported +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa09aa24c xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xa0a36a2c delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xa0a728fa dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xa0a7ee2f d_find_any_alias +EXPORT_SYMBOL vmlinux 0xa0aa3461 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b0de76 mmc_fixup_device +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0d5106d mpage_writepage +EXPORT_SYMBOL vmlinux 0xa0db95b8 journal_release_buffer +EXPORT_SYMBOL vmlinux 0xa0e1e282 eth_type_trans +EXPORT_SYMBOL vmlinux 0xa0e6a532 journal_check_available_features +EXPORT_SYMBOL vmlinux 0xa0f0013c truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa107ed2c ata_port_printk +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa113cb15 agp_create_memory +EXPORT_SYMBOL vmlinux 0xa118c6cf __elv_add_request +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa149f5a5 journal_abort +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa18df026 alloc_buffer_head +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 0xa1cdd540 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xa1dafc0b request_key_with_auxdata +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 0xa2275a60 tty_free_termios +EXPORT_SYMBOL vmlinux 0xa231eb27 devm_free_irq +EXPORT_SYMBOL vmlinux 0xa239c956 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xa23d9a9c sock_no_ioctl +EXPORT_SYMBOL vmlinux 0xa245996b abx500_remove_ops +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa25ecf2d poll_initwait +EXPORT_SYMBOL vmlinux 0xa266a7b6 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xa282e3bc mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2a77874 posix_test_lock +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2dc5981 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2eff12e twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xa2f52d08 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xa2f93a4f kobject_del +EXPORT_SYMBOL vmlinux 0xa303d1ff dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa34f1ef5 crc32_le +EXPORT_SYMBOL vmlinux 0xa353ec95 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xa3580e6f xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa38e691a ioremap_bot +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3abc422 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xa3cdeec6 register_netdev +EXPORT_SYMBOL vmlinux 0xa3e75545 flush_tlb_kernel_range +EXPORT_SYMBOL vmlinux 0xa3ec03fa inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xa3f09c2d netlink_unicast +EXPORT_SYMBOL vmlinux 0xa4187384 nobh_write_begin +EXPORT_SYMBOL vmlinux 0xa437ef6f mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xa43b1297 vscnprintf +EXPORT_SYMBOL vmlinux 0xa43b9539 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0xa4436e1c input_inject_event +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa471d404 get_write_access +EXPORT_SYMBOL vmlinux 0xa47a7a1e vmap +EXPORT_SYMBOL vmlinux 0xa491e01e find_vma +EXPORT_SYMBOL vmlinux 0xa4a94d26 find_next_bit_le +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4f60f81 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xa53e04e4 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xa55f443e proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xa561a125 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa59de02f flush_icache_user_range +EXPORT_SYMBOL vmlinux 0xa5a2aa13 scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0xa5a633b9 sg_last +EXPORT_SYMBOL vmlinux 0xa5cef8ad release_resource +EXPORT_SYMBOL vmlinux 0xa5d52b50 gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0xa5e9d37c end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xa61dddc5 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xa6226fa3 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0xa62737ed skb_unlink +EXPORT_SYMBOL vmlinux 0xa6418248 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xa64db117 ndisc_send_skb +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 0xa6790c59 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6970398 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa69da142 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xa6b0ce8d ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xa6b35c75 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xa6c1dabb pci_enable_msix +EXPORT_SYMBOL vmlinux 0xa6d0971d mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa718dadb jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xa720678c lg_global_lock +EXPORT_SYMBOL vmlinux 0xa721f539 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0xa7642fd5 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xa777cee3 tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xa7bd9d17 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xa7efcbe8 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa82da668 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0xa84212b0 single_release +EXPORT_SYMBOL vmlinux 0xa8437604 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xa849065c do_truncate +EXPORT_SYMBOL vmlinux 0xa861ab6e __ioremap +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa8727680 path_get +EXPORT_SYMBOL vmlinux 0xa8751531 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xa8753970 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xa87dc359 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xa89464b7 __ashldi3 +EXPORT_SYMBOL vmlinux 0xa8b1acc4 follow_pfn +EXPORT_SYMBOL vmlinux 0xa8c4b290 tcp_poll +EXPORT_SYMBOL vmlinux 0xa8d12bf1 genlmsg_put +EXPORT_SYMBOL vmlinux 0xa8d612f1 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xa8d735a6 mmc_release_host +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa921c0fe tcf_hash_release +EXPORT_SYMBOL vmlinux 0xa935bfd1 km_new_mapping +EXPORT_SYMBOL vmlinux 0xa938d8bc fb_get_mode +EXPORT_SYMBOL vmlinux 0xa9532eb6 generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xa9571d6d DMA_MODE_WRITE +EXPORT_SYMBOL vmlinux 0xa967cfea jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xa980711a try_to_release_page +EXPORT_SYMBOL vmlinux 0xa9898328 ppp_register_channel +EXPORT_SYMBOL vmlinux 0xa9a34b1e kill_fasync +EXPORT_SYMBOL vmlinux 0xa9def03b tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xa9effda5 __first_cpu +EXPORT_SYMBOL vmlinux 0xaa1dc407 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xaa349a7a wake_up_process +EXPORT_SYMBOL vmlinux 0xaa46e87e lg_local_unlock +EXPORT_SYMBOL vmlinux 0xaa4df512 pmu_batteries +EXPORT_SYMBOL vmlinux 0xaa5d7d8f max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xaa681159 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xaa6901ac __kfifo_out_r +EXPORT_SYMBOL vmlinux 0xaa6e4df5 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaa8ef010 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xaa9a8b13 pci_bus_type +EXPORT_SYMBOL vmlinux 0xaa9c3f37 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xaa9e1ec4 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xaab99c39 netdev_printk +EXPORT_SYMBOL vmlinux 0xaab9f7e7 node_states +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaaec0b27 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab24e56f proc_create_data +EXPORT_SYMBOL vmlinux 0xab4edfae journal_wipe +EXPORT_SYMBOL vmlinux 0xab694444 bsearch +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xaba214e5 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xabacfa7a sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabcafd2f skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xabcc2d69 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xabcfb718 blk_init_tags +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabd62c7b bio_integrity_split +EXPORT_SYMBOL vmlinux 0xac00a2dd alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac26b820 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xac417802 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xac663d85 phy_detach +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac68c5e5 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xacc62b6a __dev_printk +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacdb9779 dcb_getapp +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0a6e0a flex_array_prealloc +EXPORT_SYMBOL vmlinux 0xad0c233c __netif_schedule +EXPORT_SYMBOL vmlinux 0xad117d28 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xad2204ff blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xad4531b6 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad4b2c73 follow_down +EXPORT_SYMBOL vmlinux 0xad50cebb i8253_lock +EXPORT_SYMBOL vmlinux 0xad629759 sock_no_connect +EXPORT_SYMBOL vmlinux 0xad71bfaa rt6_lookup +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadb04863 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadd1e971 alignment_exception +EXPORT_SYMBOL vmlinux 0xaddbbb07 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0xaddd4770 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xadf42bd5 __request_region +EXPORT_SYMBOL vmlinux 0xae02aa8c mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0xae0ef3ff tcf_hash_search +EXPORT_SYMBOL vmlinux 0xae3f7c85 mutex_trylock +EXPORT_SYMBOL vmlinux 0xae41d840 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xae545f06 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xae5f0d00 macio_request_resource +EXPORT_SYMBOL vmlinux 0xae709f6c dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae80b0bf genl_unregister_family +EXPORT_SYMBOL vmlinux 0xae8de455 __seq_open_private +EXPORT_SYMBOL vmlinux 0xae8edb09 fd_install +EXPORT_SYMBOL vmlinux 0xaec655c7 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0xaeceeb14 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0xaeeae3cd jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xaefd6895 pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0xaf063510 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xaf14f95b sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xaf2d872c prepare_to_wait +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf5f7994 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xaf6a7a46 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xaf78433b scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xaf7c1ea2 journal_get_create_access +EXPORT_SYMBOL vmlinux 0xaf852a61 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafaf5b92 security_path_link +EXPORT_SYMBOL vmlinux 0xafd68c33 flex_array_free +EXPORT_SYMBOL vmlinux 0xafe6f1ab elv_abort_queue +EXPORT_SYMBOL vmlinux 0xaff342e8 key_unlink +EXPORT_SYMBOL vmlinux 0xafff3d1d mempool_alloc +EXPORT_SYMBOL vmlinux 0xb013261d bio_integrity_clone +EXPORT_SYMBOL vmlinux 0xb0419bc2 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xb04df6d6 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb07566a6 find_get_page +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0bbfe11 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0xb0c073d5 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xb0ca5a29 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb1041582 mount_bdev +EXPORT_SYMBOL vmlinux 0xb126ab6f sock_get_timestamp +EXPORT_SYMBOL vmlinux 0xb1282d2a complete_request_key +EXPORT_SYMBOL vmlinux 0xb1391e05 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xb13adc64 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xb13b269e register_nls +EXPORT_SYMBOL vmlinux 0xb1494605 input_register_device +EXPORT_SYMBOL vmlinux 0xb159fff1 make_bad_inode +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb17bcd07 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1a388e4 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xb1be1e42 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xb1c2b866 lock_rename +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 0xb1d7df66 napi_complete +EXPORT_SYMBOL vmlinux 0xb1d9ae7f bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0xb1e0f998 do_SAK +EXPORT_SYMBOL vmlinux 0xb200ecc1 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xb20fd804 scsi_finish_command +EXPORT_SYMBOL vmlinux 0xb212d1f5 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xb233762c atomic64_set +EXPORT_SYMBOL vmlinux 0xb24c2db9 idr_get_new_above +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2981165 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0xb2b71297 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0xb2b94674 __crc32c_le +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2ccf805 mmc_register_driver +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2d3ed0c rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xb2f8d5d2 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0xb31526ee sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb342376d __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xb351cb57 create_proc_entry +EXPORT_SYMBOL vmlinux 0xb35a6bf0 block_truncate_page +EXPORT_SYMBOL vmlinux 0xb384ec80 agp_put_bridge +EXPORT_SYMBOL vmlinux 0xb3892b08 release_sock +EXPORT_SYMBOL vmlinux 0xb39a277e skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xb3ab390b backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xb3b5b85a locks_free_lock +EXPORT_SYMBOL vmlinux 0xb3c6f7fe pci_enable_obff +EXPORT_SYMBOL vmlinux 0xb3e06bbc netdev_features_change +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb431bd5d __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xb43acb36 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xb46bc400 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb47e794d tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xb4854f57 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xb4b8e1c1 inet_put_port +EXPORT_SYMBOL vmlinux 0xb4ba3d2b register_framebuffer +EXPORT_SYMBOL vmlinux 0xb4e0a351 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xb4f1ac27 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xb4fb6199 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xb52f5b92 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0xb53a4336 kmap_pte +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb550a97d kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xb55cb8fa pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xb565472b generic_block_bmap +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57cea10 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0xb585c25a give_up_console +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b1c887 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xb5b4094a revalidate_disk +EXPORT_SYMBOL vmlinux 0xb5d56454 journal_start +EXPORT_SYMBOL vmlinux 0xb5d9454c printk_emit +EXPORT_SYMBOL vmlinux 0xb6020c48 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xb6599b9a machine_check_exception +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 0xb6b7096b sg_miter_start +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6ca4422 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xb6e6a201 writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0xb7037299 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xb70444b4 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xb72fd5ae devm_ioport_map +EXPORT_SYMBOL vmlinux 0xb7332ff0 adb_client_list +EXPORT_SYMBOL vmlinux 0xb734504a nonseekable_open +EXPORT_SYMBOL vmlinux 0xb753bcc8 __ashrdi3 +EXPORT_SYMBOL vmlinux 0xb7669a23 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xb76d9ade deactivate_locked_super +EXPORT_SYMBOL vmlinux 0xb792a7f7 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0xb794fdde scsi_block_requests +EXPORT_SYMBOL vmlinux 0xb7a0c7e5 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xb7a99781 __irq_regs +EXPORT_SYMBOL vmlinux 0xb7b61546 crc32_be +EXPORT_SYMBOL vmlinux 0xb7c1a34c blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xb7d09593 fb_blank +EXPORT_SYMBOL vmlinux 0xb7efaa46 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xb80daa9c generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xb8173ac1 generic_getxattr +EXPORT_SYMBOL vmlinux 0xb81960ca snprintf +EXPORT_SYMBOL vmlinux 0xb8196d5a __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb857da73 ida_destroy +EXPORT_SYMBOL vmlinux 0xb86513a1 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb87cdbc0 task_nice +EXPORT_SYMBOL vmlinux 0xb892660e neigh_destroy +EXPORT_SYMBOL vmlinux 0xb894926d schedule_work_on +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb89eb31c ps2_command +EXPORT_SYMBOL vmlinux 0xb8aa2342 __check_region +EXPORT_SYMBOL vmlinux 0xb8bedbde console_stop +EXPORT_SYMBOL vmlinux 0xb8c5c7b2 devm_ioremap +EXPORT_SYMBOL vmlinux 0xb8d7afdf bdev_read_only +EXPORT_SYMBOL vmlinux 0xb8e877e7 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb915b67d security_path_mkdir +EXPORT_SYMBOL vmlinux 0xb9266ef3 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xb9415627 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xb9720b97 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xb97ce540 iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb98d6868 sync_inode +EXPORT_SYMBOL vmlinux 0xb9b5b1ba lock_sock_fast +EXPORT_SYMBOL vmlinux 0xb9ba1d43 sk_alloc +EXPORT_SYMBOL vmlinux 0xb9de1db2 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xb9e92243 __ps2_command +EXPORT_SYMBOL vmlinux 0xb9f017ea jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xb9f0bab8 vfs_readdir +EXPORT_SYMBOL vmlinux 0xb9f60d84 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xba280692 unregister_console +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4b9182 destroy_EII_client +EXPORT_SYMBOL vmlinux 0xba6a7a27 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xba74568a ip_check_defrag +EXPORT_SYMBOL vmlinux 0xba78fdc4 sock_wake_async +EXPORT_SYMBOL vmlinux 0xba8e9077 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xbabb372f flush_old_exec +EXPORT_SYMBOL vmlinux 0xbae42c50 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0xbaf80c3c dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xbb183c01 kern_path_create +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb50cc17 nla_append +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb875f9f key_alloc +EXPORT_SYMBOL vmlinux 0xbb8c1e23 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbbbf719e bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0xbbc30d1f kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xbbfd8b61 dquot_commit +EXPORT_SYMBOL vmlinux 0xbc0b6c59 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc3407e6 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xbc3f6afa down_read +EXPORT_SYMBOL vmlinux 0xbc805d61 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xbc92e506 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc4144e fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0xbccdc2f6 flex_array_put +EXPORT_SYMBOL vmlinux 0xbcdb6fe1 locks_init_lock +EXPORT_SYMBOL vmlinux 0xbce27b20 mmc_can_discard +EXPORT_SYMBOL vmlinux 0xbce43fcb swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0xbcf16937 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0xbcf23b51 task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0xbcffe639 idr_pre_get +EXPORT_SYMBOL vmlinux 0xbd0c738e nobh_writepage +EXPORT_SYMBOL vmlinux 0xbd1167ca pci_dev_get +EXPORT_SYMBOL vmlinux 0xbd237766 write_cache_pages +EXPORT_SYMBOL vmlinux 0xbd338e4d dst_discard +EXPORT_SYMBOL vmlinux 0xbd38191c of_phy_find_device +EXPORT_SYMBOL vmlinux 0xbd803510 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xbd8d541d flush_hash_pages +EXPORT_SYMBOL vmlinux 0xbd91fb07 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xbd9e5d49 __lshrdi3 +EXPORT_SYMBOL vmlinux 0xbda1ff47 key_task_permission +EXPORT_SYMBOL vmlinux 0xbda2626d scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xbdb67172 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbdbedff6 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xbdc27ccf ps2_drain +EXPORT_SYMBOL vmlinux 0xbdd07963 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbdf7a036 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0xbe049d59 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xbe0713b6 mb_cache_shrink +EXPORT_SYMBOL vmlinux 0xbe0e5118 nla_memcmp +EXPORT_SYMBOL vmlinux 0xbe20f106 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe491db7 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xbe4e146f of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xbe63ee40 request_resource +EXPORT_SYMBOL vmlinux 0xbe69a538 backlight_device_register +EXPORT_SYMBOL vmlinux 0xbe6e2a42 fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0xbe6f064d idr_for_each +EXPORT_SYMBOL vmlinux 0xbe77aebe down_write_trylock +EXPORT_SYMBOL vmlinux 0xbe956b4a scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0xbe98634e sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xbe9d48b9 __frontswap_store +EXPORT_SYMBOL vmlinux 0xbea9d367 input_free_device +EXPORT_SYMBOL vmlinux 0xbeae939f kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xbeb520ff genphy_read_status +EXPORT_SYMBOL vmlinux 0xbecf4565 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xbee90f2f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf01259f netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xbf12b06c fsl_lbc_ctrl_dev +EXPORT_SYMBOL vmlinux 0xbf13e2a6 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xbf19d3da kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xbf1ac580 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xbf2cf022 get_super_thawed +EXPORT_SYMBOL vmlinux 0xbf2ec637 migrate_page +EXPORT_SYMBOL vmlinux 0xbf3ea5fd page_address +EXPORT_SYMBOL vmlinux 0xbf6562f4 blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xbf6851f5 request_key +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf91ca2a inet_frag_kill +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfac85ca __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xbfb8b0b7 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xbfc0e12d __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfe41b0e giveup_altivec +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff3e8d5 file_open_root +EXPORT_SYMBOL vmlinux 0xc012e0e0 pci_save_state +EXPORT_SYMBOL vmlinux 0xc022ae97 mmc_card_awake +EXPORT_SYMBOL vmlinux 0xc030bb83 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc06114b2 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xc068440e __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xc06a04cd blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc08afde6 sock_release +EXPORT_SYMBOL vmlinux 0xc092df70 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xc09bca17 __cleancache_put_page +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0d84ced cuda_poll +EXPORT_SYMBOL vmlinux 0xc10c2e82 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xc114ea16 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xc11d8093 iov_shorten +EXPORT_SYMBOL vmlinux 0xc11df273 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xc11fbdd0 pipe_unlock +EXPORT_SYMBOL vmlinux 0xc12ec3a6 dns_query +EXPORT_SYMBOL vmlinux 0xc1429fba ip_options_compile +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc16bca40 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xc17d45c9 nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0xc1af3786 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xc1b5c661 free_buffer_head +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1c96873 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xc1d04eb0 dentry_open +EXPORT_SYMBOL vmlinux 0xc1d2d31f sock_no_getname +EXPORT_SYMBOL vmlinux 0xc1d41c2b neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xc1dd4a7f adb_request +EXPORT_SYMBOL vmlinux 0xc1ef78ad netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xc200cf74 simple_readpage +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc235484e elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc262e28f phy_disconnect +EXPORT_SYMBOL vmlinux 0xc2849b40 blk_register_region +EXPORT_SYMBOL vmlinux 0xc292e871 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xc2946521 is_bad_inode +EXPORT_SYMBOL vmlinux 0xc2c321d3 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xc2d711e1 krealloc +EXPORT_SYMBOL vmlinux 0xc2dd31f4 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc31ff93a pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xc3201216 scsi_release_buffers +EXPORT_SYMBOL vmlinux 0xc33e5075 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc356fd28 netpoll_setup +EXPORT_SYMBOL vmlinux 0xc361061b arp_create +EXPORT_SYMBOL vmlinux 0xc36558fd tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xc3668d31 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xc368849f nvram_sync +EXPORT_SYMBOL vmlinux 0xc373372e twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xc38720b4 scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0xc3beb563 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xc3c68c62 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xc3ed0e72 udp_proc_register +EXPORT_SYMBOL vmlinux 0xc3f6045f generic_show_options +EXPORT_SYMBOL vmlinux 0xc40b4dcb mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xc425fd38 phy_stop +EXPORT_SYMBOL vmlinux 0xc43700fd pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0xc437f246 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xc43cef94 of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0xc442decf inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xc45755de find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0xc4596c70 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xc4690225 tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0xc47cdf9c _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xc4963e65 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc49b956d md_register_thread +EXPORT_SYMBOL vmlinux 0xc49ebacc invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xc4a64130 journal_lock_updates +EXPORT_SYMBOL vmlinux 0xc4b26792 genphy_resume +EXPORT_SYMBOL vmlinux 0xc4b79e77 scsi_free_command +EXPORT_SYMBOL vmlinux 0xc4f7056f mark_info_dirty +EXPORT_SYMBOL vmlinux 0xc503cdde tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xc5101af4 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xc520a177 agp_bridge +EXPORT_SYMBOL vmlinux 0xc523264f pci_set_ltr +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc559390b xfrm6_rcv +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 0xc5900b37 register_gifconf +EXPORT_SYMBOL vmlinux 0xc5b70469 bio_add_page +EXPORT_SYMBOL vmlinux 0xc5b9b236 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xc5c07e29 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e98fdd elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0xc5f3095a zero_fill_bio +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc5fd8eb1 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xc61be59c ida_remove +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc63260cd inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xc64a7db0 unlink_framebuffer +EXPORT_SYMBOL vmlinux 0xc64c7278 vfs_create +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc6709ab5 key_invalidate +EXPORT_SYMBOL vmlinux 0xc67715e1 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xc67ea550 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xc68a92d0 filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0xc6929863 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xc6b22c71 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xc6b646fe sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6e04339 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xc6f4dee5 pci_choose_state +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc7229b54 skb_checksum_help +EXPORT_SYMBOL vmlinux 0xc7236c6b cap_mmap_file +EXPORT_SYMBOL vmlinux 0xc73f9fb6 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xc741fa04 would_dump +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc795e23e cpu_core_map +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc7a41147 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b8bdc4 pci_get_slot +EXPORT_SYMBOL vmlinux 0xc7d8e14b bioset_integrity_free +EXPORT_SYMBOL vmlinux 0xc7d9b9d3 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xc7e76cd6 __lock_page +EXPORT_SYMBOL vmlinux 0xc7ec6c27 strspn +EXPORT_SYMBOL vmlinux 0xc80c333e ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xc818ab19 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xc81b52c5 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xc81d2585 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xc8276a79 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xc829af97 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xc8338a1a uart_match_port +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85dfe84 input_event +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc8955a71 search_binary_handler +EXPORT_SYMBOL vmlinux 0xc8a5908b pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8cc49de textsearch_destroy +EXPORT_SYMBOL vmlinux 0xc8dd7bc1 journal_flush +EXPORT_SYMBOL vmlinux 0xc8ef78d6 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xc8faa99e kmap_atomic_prot +EXPORT_SYMBOL vmlinux 0xc8fac67e blk_complete_request +EXPORT_SYMBOL vmlinux 0xc9039fee keyring_clear +EXPORT_SYMBOL vmlinux 0xc91ff664 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc9434165 simple_lookup +EXPORT_SYMBOL vmlinux 0xc94a5954 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xc9518b7d generic_read_dir +EXPORT_SYMBOL vmlinux 0xc97b584f of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0xc98143d2 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0xc98263ef pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xc993a2bc dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9b8c308 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xc9c22e03 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc9c361eb __ip_dev_find +EXPORT_SYMBOL vmlinux 0xc9de4c32 netif_device_attach +EXPORT_SYMBOL vmlinux 0xc9f44d4d sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xc9fc6c29 simple_rmdir +EXPORT_SYMBOL vmlinux 0xca204def agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xca21629f scm_detach_fds +EXPORT_SYMBOL vmlinux 0xca3b72ed tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xca3f269b agp_backend_release +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca695216 tty_port_put +EXPORT_SYMBOL vmlinux 0xca719028 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xca8caa25 dquot_enable +EXPORT_SYMBOL vmlinux 0xca92104c twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xca9ee7c6 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xcaa92319 register_filesystem +EXPORT_SYMBOL vmlinux 0xcaad65c9 padata_start +EXPORT_SYMBOL vmlinux 0xcacd272d atomic64_sub_return +EXPORT_SYMBOL vmlinux 0xcacdfa64 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xcad08e48 mmu_hash_lock +EXPORT_SYMBOL vmlinux 0xcadd5638 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xcaf0f27f block_invalidatepage +EXPORT_SYMBOL vmlinux 0xcaf6149f blk_run_queue_async +EXPORT_SYMBOL vmlinux 0xcaf8bb3e security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xcafbe928 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xcb0055cc pci_remove_bus +EXPORT_SYMBOL vmlinux 0xcb1b2971 netif_device_detach +EXPORT_SYMBOL vmlinux 0xcb348715 address_space_init_once +EXPORT_SYMBOL vmlinux 0xcb489afa aio_put_req +EXPORT_SYMBOL vmlinux 0xcb6cf18f netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcb9de605 no_llseek +EXPORT_SYMBOL vmlinux 0xcbb40a49 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xcbc277f0 iget_locked +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcc0381f7 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xcc17504d _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xcc20931a agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5d27d2 vc_cons +EXPORT_SYMBOL vmlinux 0xcc64045a mmc_suspend_host +EXPORT_SYMBOL vmlinux 0xcc64abea dev_change_flags +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc88c8c4 vga_client_register +EXPORT_SYMBOL vmlinux 0xcc8b2ee0 macio_release_resource +EXPORT_SYMBOL vmlinux 0xcca8a492 seq_lseek +EXPORT_SYMBOL vmlinux 0xccb85771 mmc_resume_host +EXPORT_SYMBOL vmlinux 0xcccef9f6 agp_free_memory +EXPORT_SYMBOL vmlinux 0xcce2c14d kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xccef7b77 mb_cache_create +EXPORT_SYMBOL vmlinux 0xccf75d6a netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0xccff5431 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xccff97c5 __serio_register_port +EXPORT_SYMBOL vmlinux 0xcd0529c7 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xcd09659e follow_up +EXPORT_SYMBOL vmlinux 0xcd20124e key_put +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd335c6d dma_set_mask +EXPORT_SYMBOL vmlinux 0xcd3867df blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xcd3b9ced empty_aops +EXPORT_SYMBOL vmlinux 0xcd4d2bce sg_miter_next +EXPORT_SYMBOL vmlinux 0xcd64d5f7 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0xcd76efb0 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xcd86c87f __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xcd924059 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xcdc777d1 pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0xcdce55b0 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xcdd69471 __find_get_block +EXPORT_SYMBOL vmlinux 0xcdde8dba netif_notify_peers +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcdef4f2b __netdev_printk +EXPORT_SYMBOL vmlinux 0xcdf88b0f tcp_init_sock +EXPORT_SYMBOL vmlinux 0xce09a208 devm_gpio_request_one +EXPORT_SYMBOL vmlinux 0xce14f8dc thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce490fc3 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xce599abe inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce6715f4 ip_ct_attach +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce83417f dcache_dir_close +EXPORT_SYMBOL vmlinux 0xce9cffce blk_queue_bounce +EXPORT_SYMBOL vmlinux 0xce9f7231 aio_complete +EXPORT_SYMBOL vmlinux 0xceaf8b67 d_move +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcefce449 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xcefdac1b redraw_screen +EXPORT_SYMBOL vmlinux 0xcf1abd26 agp_free_page_array +EXPORT_SYMBOL vmlinux 0xcf214394 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xcf2fe223 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0xcf47af48 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xcf48cf39 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xcf56e56d tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xcf5d5e8d simple_transaction_get +EXPORT_SYMBOL vmlinux 0xcf5e0c7d vfs_readv +EXPORT_SYMBOL vmlinux 0xcf6aa4c4 d_validate +EXPORT_SYMBOL vmlinux 0xcf818316 __bio_clone +EXPORT_SYMBOL vmlinux 0xcf8e799b ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xcf97d161 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xcf9b4d05 put_disk +EXPORT_SYMBOL vmlinux 0xcfb15612 wireless_send_event +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcff82750 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xcff9c0b1 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xd0052e04 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xd014c500 mpage_readpage +EXPORT_SYMBOL vmlinux 0xd016ae82 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd019dd32 dcache_readdir +EXPORT_SYMBOL vmlinux 0xd01f7191 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0xd044d353 start_tty +EXPORT_SYMBOL vmlinux 0xd0510789 netlink_set_err +EXPORT_SYMBOL vmlinux 0xd0664f1d inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd0743d66 dquot_destroy +EXPORT_SYMBOL vmlinux 0xd099c234 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xd0a45fa5 pmu_enable_irled +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0c10ed5 devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0d70702 __breadahead +EXPORT_SYMBOL vmlinux 0xd0eacc9c xfrm_policy_insert +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 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd114fc1e simple_dir_operations +EXPORT_SYMBOL vmlinux 0xd119290b pci_dev_driver +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd121fdbc dst_alloc +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd12d9fd6 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xd1329f43 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xd14e3701 ___pskb_trim +EXPORT_SYMBOL vmlinux 0xd1744bf7 tcp_disconnect +EXPORT_SYMBOL vmlinux 0xd1766951 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd196c9be kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xd1d341f3 page_readlink +EXPORT_SYMBOL vmlinux 0xd1f13cc5 sk_filter +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd2242ecd unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd251ef9b dquot_quota_off +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26b64db kthread_bind +EXPORT_SYMBOL vmlinux 0xd274bf21 bdevname +EXPORT_SYMBOL vmlinux 0xd2754072 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xd2839556 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xd28ee989 mntget +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2a941d4 sg_init_table +EXPORT_SYMBOL vmlinux 0xd2ab8575 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xd2b29848 pci_request_region +EXPORT_SYMBOL vmlinux 0xd2cd5568 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd2dc5d1c tty_kref_put +EXPORT_SYMBOL vmlinux 0xd2fc19bd proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xd3187da4 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd3255fad __lock_buffer +EXPORT_SYMBOL vmlinux 0xd365f5ae input_allocate_device +EXPORT_SYMBOL vmlinux 0xd37d198e __serio_register_driver +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd393777f insert_inode_locked +EXPORT_SYMBOL vmlinux 0xd3a8828d bio_pair_release +EXPORT_SYMBOL vmlinux 0xd3e5eff3 kill_block_super +EXPORT_SYMBOL vmlinux 0xd3e6f60d cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd40cf0f2 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xd418e1c0 adjust_resource +EXPORT_SYMBOL vmlinux 0xd432bafc mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xd4338122 page_put_link +EXPORT_SYMBOL vmlinux 0xd44f16cf agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xd4622310 nf_register_hooks +EXPORT_SYMBOL vmlinux 0xd468b34e fddi_type_trans +EXPORT_SYMBOL vmlinux 0xd479b9b1 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0xd48096c1 dm_put_device +EXPORT_SYMBOL vmlinux 0xd482faeb bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xd48a22c8 dcb_setapp +EXPORT_SYMBOL vmlinux 0xd49e02ad abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xd49f2f04 vfs_open +EXPORT_SYMBOL vmlinux 0xd4a2c7cb mmc_can_trim +EXPORT_SYMBOL vmlinux 0xd4ce4f4d swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xd4e28023 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5a7b060 journal_stop +EXPORT_SYMBOL vmlinux 0xd5b08cc1 serio_close +EXPORT_SYMBOL vmlinux 0xd5b1376d register_shrinker +EXPORT_SYMBOL vmlinux 0xd5b2e52a single_step_exception +EXPORT_SYMBOL vmlinux 0xd5d987bc mntput +EXPORT_SYMBOL vmlinux 0xd5e8444a __div64_32 +EXPORT_SYMBOL vmlinux 0xd5ec6676 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5f593c4 ipv4_specific +EXPORT_SYMBOL vmlinux 0xd605d905 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd61dd0ec add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xd6257fb2 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xd627480b strncat +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd63ec4a4 __register_chrdev +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd6502ada scsi_device_get +EXPORT_SYMBOL vmlinux 0xd656e379 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xd673676a sock_init_data +EXPORT_SYMBOL vmlinux 0xd68e2fee dev_addr_init +EXPORT_SYMBOL vmlinux 0xd69545c7 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xd6970526 agp_enable +EXPORT_SYMBOL vmlinux 0xd69b30e0 atomic64_add_unless +EXPORT_SYMBOL vmlinux 0xd69ca479 dev_load +EXPORT_SYMBOL vmlinux 0xd6a5edce register_sysctl_paths +EXPORT_SYMBOL vmlinux 0xd6b14339 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xd6c7643d ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xd6d63e9d lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xd6d7429f phy_print_status +EXPORT_SYMBOL vmlinux 0xd6d7c94e blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f24f5e pipe_to_file +EXPORT_SYMBOL vmlinux 0xd6f78929 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xd704b20e do_splice_from +EXPORT_SYMBOL vmlinux 0xd704b846 backlight_force_update +EXPORT_SYMBOL vmlinux 0xd72a0b6e tcp_ioctl +EXPORT_SYMBOL vmlinux 0xd72abae2 input_release_device +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd77e3dee rtnl_create_link +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7a14e68 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0xd7a633a9 swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xd7b8ce02 journal_clear_err +EXPORT_SYMBOL vmlinux 0xd7caf646 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7f436e8 of_n_size_cells +EXPORT_SYMBOL vmlinux 0xd81fba44 generic_writepages +EXPORT_SYMBOL vmlinux 0xd836c217 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0xd87f88cd napi_get_frags +EXPORT_SYMBOL vmlinux 0xd895b4ff d_invalidate +EXPORT_SYMBOL vmlinux 0xd896bd90 bio_init +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8ae8e81 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xd8af8542 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8ed050c security_task_getsecid +EXPORT_SYMBOL vmlinux 0xd90b26e6 elv_add_request +EXPORT_SYMBOL vmlinux 0xd914e1d9 pci_get_device +EXPORT_SYMBOL vmlinux 0xd92514ca agp_special_page +EXPORT_SYMBOL vmlinux 0xd929b87e icmp_send +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd93a5d70 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xd9498b22 proc_dointvec +EXPORT_SYMBOL vmlinux 0xd94b8791 send_sig +EXPORT_SYMBOL vmlinux 0xd952c3bc pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xd972ff1c find_or_create_page +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99608bd pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xd9aa9e88 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xd9b3ede7 sk_reset_txq +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9ce8f0c strnlen +EXPORT_SYMBOL vmlinux 0xd9d11553 mnt_unpin +EXPORT_SYMBOL vmlinux 0xd9d3c69c current_fs_time +EXPORT_SYMBOL vmlinux 0xd9d8cc28 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xda0b60cd i2c_del_driver +EXPORT_SYMBOL vmlinux 0xda1b96dd journal_get_write_access +EXPORT_SYMBOL vmlinux 0xda574507 pci_request_regions +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 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xdaa57ec3 totalhigh_pages +EXPORT_SYMBOL vmlinux 0xdacfd2e7 update_region +EXPORT_SYMBOL vmlinux 0xdaf29094 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xdaf48633 dev_get_flags +EXPORT_SYMBOL vmlinux 0xdafed866 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xdb0bdb4e blk_sync_queue +EXPORT_SYMBOL vmlinux 0xdb0c36cc tc_classify +EXPORT_SYMBOL vmlinux 0xdb204f8b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xdb57465d dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb864d65 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdbb24fc2 down_write +EXPORT_SYMBOL vmlinux 0xdbc3ef99 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xdbc54470 vfs_link +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd3a8be sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xdbe0500a file_sb_list_del +EXPORT_SYMBOL vmlinux 0xdbe4ee66 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xdbfc3669 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xdbfecc69 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xdc047fc4 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc2ad324 input_set_capability +EXPORT_SYMBOL vmlinux 0xdc2adb35 add_taint +EXPORT_SYMBOL vmlinux 0xdc3a5404 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc4322f7 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc45aa81 blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0xdc460c9e tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xdc5ccd67 journal_restart +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc732024 irq_stat +EXPORT_SYMBOL vmlinux 0xdc942659 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xdc9498dd down +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdd0a2ba2 strlcat +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd27fa87 memchr +EXPORT_SYMBOL vmlinux 0xdd3f5341 elv_register_queue +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd725cc5 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xdd7f2975 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xddbba7d1 skb_copy_expand +EXPORT_SYMBOL vmlinux 0xde0ed483 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xde284863 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xde40e12a kick_iocb +EXPORT_SYMBOL vmlinux 0xde48e9ca _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xde516ea1 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0xde5be4e6 mdiobus_free +EXPORT_SYMBOL vmlinux 0xde7fcef1 journal_create +EXPORT_SYMBOL vmlinux 0xde80e3f6 bio_integrity_free +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xde9d7906 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0xdeadfff7 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xdec2b547 md_integrity_register +EXPORT_SYMBOL vmlinux 0xdeda4478 skb_trim +EXPORT_SYMBOL vmlinux 0xdef49a15 skb_pad +EXPORT_SYMBOL vmlinux 0xdf11c652 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xdf2a0b43 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xdf449b80 set_security_override +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf6462cf d_alloc_name +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf9ce549 touch_atime +EXPORT_SYMBOL vmlinux 0xdfa21197 tty_write_room +EXPORT_SYMBOL vmlinux 0xdfc762ea iget5_locked +EXPORT_SYMBOL vmlinux 0xdfeea439 skb_checksum +EXPORT_SYMBOL vmlinux 0xdff43ed4 __debugger +EXPORT_SYMBOL vmlinux 0xdff56e64 adb_poll +EXPORT_SYMBOL vmlinux 0xe00af051 neigh_update +EXPORT_SYMBOL vmlinux 0xe016821a mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xe04ddebf d_drop +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe059506e sock_create_kern +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe081a637 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xe0874572 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xe09216cc pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0xe094ef39 sg_next +EXPORT_SYMBOL vmlinux 0xe09f10ad scsi_register_interface +EXPORT_SYMBOL vmlinux 0xe0a1eb08 __secpath_destroy +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bcff59 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xe0dda7a0 path_is_under +EXPORT_SYMBOL vmlinux 0xe0fec2f5 input_close_device +EXPORT_SYMBOL vmlinux 0xe1083763 journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe1154a51 bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xe1216e88 sock_update_classid +EXPORT_SYMBOL vmlinux 0xe123e769 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xe12e8004 inet_shutdown +EXPORT_SYMBOL vmlinux 0xe13181df get_unmapped_area +EXPORT_SYMBOL vmlinux 0xe1426673 mount_ns +EXPORT_SYMBOL vmlinux 0xe1469214 ip_fragment +EXPORT_SYMBOL vmlinux 0xe15162b4 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xe16a7071 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe1790b16 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xe17acde7 pci_set_power_state +EXPORT_SYMBOL vmlinux 0xe1aaa467 bio_endio +EXPORT_SYMBOL vmlinux 0xe1abc08a blk_start_queue +EXPORT_SYMBOL vmlinux 0xe1c1634a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xe1d5a6ff skb_queue_head +EXPORT_SYMBOL vmlinux 0xe1d637ac md_error +EXPORT_SYMBOL vmlinux 0xe1e683c0 d_lookup +EXPORT_SYMBOL vmlinux 0xe200d2d5 param_get_uint +EXPORT_SYMBOL vmlinux 0xe200f872 secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xe217847e bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe252df80 sock_no_bind +EXPORT_SYMBOL vmlinux 0xe256b3e9 cdrom_release +EXPORT_SYMBOL vmlinux 0xe25b13b6 __scm_destroy +EXPORT_SYMBOL vmlinux 0xe275bcb1 sk_stream_error +EXPORT_SYMBOL vmlinux 0xe29c7a54 ppp_input_error +EXPORT_SYMBOL vmlinux 0xe2ae4be3 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xe2b85a58 release_firmware +EXPORT_SYMBOL vmlinux 0xe2be5498 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xe2c122f9 dev_warn +EXPORT_SYMBOL vmlinux 0xe2c4c6e3 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xe2d194da __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe2e8065e memdup_user +EXPORT_SYMBOL vmlinux 0xe2ee6e68 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xe2fae716 kmemdup +EXPORT_SYMBOL vmlinux 0xe340408a ab3100_event_register +EXPORT_SYMBOL vmlinux 0xe36334cb atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xe3695e20 __devm_request_region +EXPORT_SYMBOL vmlinux 0xe370f49a set_user_nice +EXPORT_SYMBOL vmlinux 0xe385ef1a kobject_init +EXPORT_SYMBOL vmlinux 0xe3aaf0fb eth_header_cache +EXPORT_SYMBOL vmlinux 0xe3ac449a con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xe3b3a1fc pci_claim_resource +EXPORT_SYMBOL vmlinux 0xe3bc931a clear_nlink +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3e6eef0 max8925_reg_write +EXPORT_SYMBOL vmlinux 0xe3f00c8c xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xe402a490 thaw_bdev +EXPORT_SYMBOL vmlinux 0xe40fae54 clear_inode +EXPORT_SYMBOL vmlinux 0xe4108000 inode_permission +EXPORT_SYMBOL vmlinux 0xe428b686 bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xe43411e3 genl_register_ops +EXPORT_SYMBOL vmlinux 0xe44cce35 skb_find_text +EXPORT_SYMBOL vmlinux 0xe4526fab agp_copy_info +EXPORT_SYMBOL vmlinux 0xe46503bf mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0xe46e7482 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xe47c4013 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0xe47d3062 scsicam_bios_param +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 0xe4cc9e99 default_llseek +EXPORT_SYMBOL vmlinux 0xe4f4d507 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xe4f635f9 seq_printf +EXPORT_SYMBOL vmlinux 0xe4fe8ca1 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe502f4ed sock_i_uid +EXPORT_SYMBOL vmlinux 0xe51086c3 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe5330fd0 of_get_parent +EXPORT_SYMBOL vmlinux 0xe534c2b9 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xe549d380 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xe55dafbd elv_rb_del +EXPORT_SYMBOL vmlinux 0xe56d217a dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xe5743cbe vfs_mkdir +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5936cc2 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xe5a577c3 account_page_writeback +EXPORT_SYMBOL vmlinux 0xe5a76e38 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xe5a964ea vfs_fsync +EXPORT_SYMBOL vmlinux 0xe5a9b2af mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d1b932 ppc_md +EXPORT_SYMBOL vmlinux 0xe5d38da2 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe5f5a2eb d_add_ci +EXPORT_SYMBOL vmlinux 0xe600a832 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xe601a1f3 agp_bind_memory +EXPORT_SYMBOL vmlinux 0xe6197aa5 build_skb +EXPORT_SYMBOL vmlinux 0xe6639d5f dev_addr_add +EXPORT_SYMBOL vmlinux 0xe6778d35 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xe6978a91 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6dd236d clear_pages +EXPORT_SYMBOL vmlinux 0xe6e2d275 kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xe6ebc016 key_create_or_update +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe7017fca vga_tryget +EXPORT_SYMBOL vmlinux 0xe72491c1 noop_llseek +EXPORT_SYMBOL vmlinux 0xe72eb3d6 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xe7335f01 get_io_context +EXPORT_SYMBOL vmlinux 0xe73f13f5 sk_free +EXPORT_SYMBOL vmlinux 0xe75bcbb0 agp_find_bridge +EXPORT_SYMBOL vmlinux 0xe76e9720 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xe776264f md_done_sync +EXPORT_SYMBOL vmlinux 0xe77eb108 of_phy_connect +EXPORT_SYMBOL vmlinux 0xe798cf45 vlan_vid_del +EXPORT_SYMBOL vmlinux 0xe7a5018f nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a6e11d agp_allocate_memory +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7bf317d fsl_lbc_addr +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe8125e30 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0xe8169fa7 page_follow_link_light +EXPORT_SYMBOL vmlinux 0xe818ffed netif_skb_features +EXPORT_SYMBOL vmlinux 0xe82cc752 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xe833e2cf blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xe83732e1 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xe8504e9f sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xe8b63ace radix_tree_range_tag_if_tagged +EXPORT_SYMBOL vmlinux 0xe8b81643 rtas +EXPORT_SYMBOL vmlinux 0xe8d0db31 __scm_send +EXPORT_SYMBOL vmlinux 0xe8fa8c19 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe96b23a2 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0xe9793b00 cont_write_begin +EXPORT_SYMBOL vmlinux 0xe9b0f72e ppp_input +EXPORT_SYMBOL vmlinux 0xe9b30b22 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xe9b7b222 set_disk_ro +EXPORT_SYMBOL vmlinux 0xe9c8ed29 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xea00cb0a bdev_stack_limits +EXPORT_SYMBOL vmlinux 0xea054b22 nla_policy_len +EXPORT_SYMBOL vmlinux 0xea0ba2ec tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xea10212a int_to_scsilun +EXPORT_SYMBOL vmlinux 0xea10655a __bitmap_intersects +EXPORT_SYMBOL vmlinux 0xea3ce662 pci_enable_device +EXPORT_SYMBOL vmlinux 0xea6ea043 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xea7987f1 key_update +EXPORT_SYMBOL vmlinux 0xea968c96 ___ratelimit +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xea9a06e8 register_key_type +EXPORT_SYMBOL vmlinux 0xeaab1080 mdiobus_register +EXPORT_SYMBOL vmlinux 0xeacc577d bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xead27cc9 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xead756ef flush_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xeaf16558 ida_init +EXPORT_SYMBOL vmlinux 0xeb18eaa3 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xeb30444b lookup_bdev +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3cfc22 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xeb428bf6 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xeb55a931 __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xeb8a508a ilookup +EXPORT_SYMBOL vmlinux 0xeb912041 mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xeba41cde pcim_iomap +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeba7a8bf of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0xebad6c2e call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xebb3f3f4 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xebbaecb0 security_path_chmod +EXPORT_SYMBOL vmlinux 0xebdaa38c block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebe628e1 blk_put_queue +EXPORT_SYMBOL vmlinux 0xebf0f8fa ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xec0133c5 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0xec0450d3 security_path_truncate +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec1d7251 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xec47eed5 kmap_high +EXPORT_SYMBOL vmlinux 0xec7fc60f scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xec80525b tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xec871ec8 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xec8a3158 of_find_matching_node +EXPORT_SYMBOL vmlinux 0xec9c7e00 new_inode +EXPORT_SYMBOL vmlinux 0xeca252d4 dev_get_stats +EXPORT_SYMBOL vmlinux 0xecac8899 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xecd1bcf7 bio_sector_offset +EXPORT_SYMBOL vmlinux 0xece553e3 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xece6feb3 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xecfc2b07 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xed0602ed pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xed16a812 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0xed2d1f01 sock_map_fd +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed83f573 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xed8d56a8 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xed93f29e __kunmap_atomic +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +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 0xedd0cdbd tty_port_open +EXPORT_SYMBOL vmlinux 0xeddc0741 skb_copy +EXPORT_SYMBOL vmlinux 0xede8114a mnt_pin +EXPORT_SYMBOL vmlinux 0xede86df1 cdev_del +EXPORT_SYMBOL vmlinux 0xee0b6b7e pci_iomap +EXPORT_SYMBOL vmlinux 0xee255bc0 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee2d7597 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xee3496c3 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0xee442580 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0xee59412f adb_try_handler_change +EXPORT_SYMBOL vmlinux 0xee673619 padata_free +EXPORT_SYMBOL vmlinux 0xee7d3fca vfs_read +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeee821d3 qdisc_destroy +EXPORT_SYMBOL vmlinux 0xeeef70ec remove_arg_zero +EXPORT_SYMBOL vmlinux 0xef0a74b3 udp_poll +EXPORT_SYMBOL vmlinux 0xef109449 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xef16eb75 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xef2733e3 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0xef4fe7a3 kernel_sendpage +EXPORT_SYMBOL vmlinux 0xef51d80e dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xef764bc8 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xefb5a2ed write_inode_now +EXPORT_SYMBOL vmlinux 0xefb8caee blkdev_issue_zeroout +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 0xf00e6555 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xf0119885 uart_register_driver +EXPORT_SYMBOL vmlinux 0xf027dce1 lock_super +EXPORT_SYMBOL vmlinux 0xf04ae1ba idr_remove_all +EXPORT_SYMBOL vmlinux 0xf055430a __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf06ecf95 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xf07e7d14 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xf0dc747c __scsi_add_device +EXPORT_SYMBOL vmlinux 0xf0df1d6e path_put +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0f73ee7 tty_throttle +EXPORT_SYMBOL vmlinux 0xf0fd4e8f rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf1005e19 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xf10d0810 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf1192c6a mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xf11cd6ce down_interruptible +EXPORT_SYMBOL vmlinux 0xf120872a dql_completed +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf15a0504 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xf175da54 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf19e9355 cpu_online_mask +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1d3ccd2 scsi_add_device +EXPORT_SYMBOL vmlinux 0xf1d7d345 __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1deabf2 div64_u64 +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1ed2b59 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xf1ffb521 d_make_root +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf22881e8 lg_local_lock +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23d940c ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf244a691 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xf2647ed4 skb_queue_tail +EXPORT_SYMBOL vmlinux 0xf26482bf jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xf26602b2 mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xf26e8061 simple_statfs +EXPORT_SYMBOL vmlinux 0xf2763e3f napi_frags_finish +EXPORT_SYMBOL vmlinux 0xf2cb08c0 netdev_alert +EXPORT_SYMBOL vmlinux 0xf2f86892 sget +EXPORT_SYMBOL vmlinux 0xf2fb2f95 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xf3061a90 kobject_add +EXPORT_SYMBOL vmlinux 0xf3097562 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xf313da4e sha_transform +EXPORT_SYMBOL vmlinux 0xf322a206 bit_waitqueue +EXPORT_SYMBOL vmlinux 0xf322b61f file_remove_suid +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33feb53 ip_defrag +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf3685a71 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf36aed7c skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xf37ceed9 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xf37e6e67 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xf3872230 send_sig_info +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3bbfcf0 set_blocksize +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3e32ce4 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xf3f5b033 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4449388 timer_interrupt +EXPORT_SYMBOL vmlinux 0xf4483cbc key_validate +EXPORT_SYMBOL vmlinux 0xf4566102 inetdev_by_index +EXPORT_SYMBOL vmlinux 0xf45c1434 ida_simple_get +EXPORT_SYMBOL vmlinux 0xf471c13a i2c_bit_algo +EXPORT_SYMBOL vmlinux 0xf48c5f2e blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf5156089 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xf5222143 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xf52321e0 atomic64_sub +EXPORT_SYMBOL vmlinux 0xf531aa93 blk_get_queue +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf54c51a2 dma_pool_free +EXPORT_SYMBOL vmlinux 0xf55f0972 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xf5875b74 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xf58782e2 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5b0c35d xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xf5b3b1cf md_check_recovery +EXPORT_SYMBOL vmlinux 0xf5bc3988 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xf5c05914 generic_segment_checks +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf5ee3278 dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0xf605c77f set_create_files_as +EXPORT_SYMBOL vmlinux 0xf60cb406 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xf628fd67 inet6_getname +EXPORT_SYMBOL vmlinux 0xf62be5b4 get_task_io_context +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf645bc7b phy_connect +EXPORT_SYMBOL vmlinux 0xf652ac6a netdev_warn +EXPORT_SYMBOL vmlinux 0xf699a05b macio_dev_get +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6c2b8ec skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xf6cea14a journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf70384d7 __debugger_sstep +EXPORT_SYMBOL vmlinux 0xf70bc17f lookup_hash +EXPORT_SYMBOL vmlinux 0xf71521ba atomic64_add_return +EXPORT_SYMBOL vmlinux 0xf72395f9 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xf75137c2 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf78b90e0 input_flush_device +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7a5e3f2 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xf7b12aee __next_cpu +EXPORT_SYMBOL vmlinux 0xf7d48523 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0xf7d65901 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xf7d7a775 xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0xf7eb68ce pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xf8022b77 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf81783ca get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0xf81ed719 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf84215c2 tcp_check_req +EXPORT_SYMBOL vmlinux 0xf842f85f d_alloc +EXPORT_SYMBOL vmlinux 0xf856a252 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xf85a46d8 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xf88b04c8 __napi_complete +EXPORT_SYMBOL vmlinux 0xf8d6c0fb i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xf8f1191d swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0xf8f1378b nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xf921fa3c dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xf9348cbc xz_dec_run +EXPORT_SYMBOL vmlinux 0xf950d4dd kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xf956b6c1 kernel_connect +EXPORT_SYMBOL vmlinux 0xf95afc95 get_user_pages +EXPORT_SYMBOL vmlinux 0xf98ac0c9 fail_migrate_page +EXPORT_SYMBOL vmlinux 0xf98e91b2 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ca8c3e serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xf9db85d2 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0xf9e73082 scnprintf +EXPORT_SYMBOL vmlinux 0xf9f88c22 inet_getname +EXPORT_SYMBOL vmlinux 0xf9fe4f9d dcache_dir_open +EXPORT_SYMBOL vmlinux 0xfa2e0fc1 phy_driver_register +EXPORT_SYMBOL vmlinux 0xfa40e693 kthread_stop +EXPORT_SYMBOL vmlinux 0xfa697d54 register_con_driver +EXPORT_SYMBOL vmlinux 0xfa711fe5 vfs_unlink +EXPORT_SYMBOL vmlinux 0xfa7446e3 stop_tty +EXPORT_SYMBOL vmlinux 0xfa7b1d7d inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xfa8fbb5f pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xfab4a818 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xfab9ea8a input_register_handle +EXPORT_SYMBOL vmlinux 0xfaba3fa1 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb028e80 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xfb5ea2d0 tcp_child_process +EXPORT_SYMBOL vmlinux 0xfb62096c pci_dev_put +EXPORT_SYMBOL vmlinux 0xfb6a84de buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7a9890 blk_peek_request +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbab07e3 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xfbb7b9d0 pipe_lock +EXPORT_SYMBOL vmlinux 0xfbbe8bad __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc483c28 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0xfc56a0ab __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xfc613c06 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xfc65459a kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0xfc67c141 generic_fillattr +EXPORT_SYMBOL vmlinux 0xfc6d8845 flush_tlb_mm +EXPORT_SYMBOL vmlinux 0xfc8a4f8f dm_get_device +EXPORT_SYMBOL vmlinux 0xfca24af2 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcae687e set_bdi_congested +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 0xfd1b93c9 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xfd1da2b2 con_is_bound +EXPORT_SYMBOL vmlinux 0xfd431ecc inet_bind +EXPORT_SYMBOL vmlinux 0xfd50d42a phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xfd51eba4 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xfd55c669 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xfd6293c2 boot_tvec_bases +EXPORT_SYMBOL vmlinux 0xfd640b3c fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0xfd6b3d0c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0xfd780f33 free_task +EXPORT_SYMBOL vmlinux 0xfd840fe9 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0xfdb6cedc _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbb0787 vfs_symlink +EXPORT_SYMBOL vmlinux 0xfde193b6 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfdfd3932 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xfe068679 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xfe0b54ad freezing_slow_path +EXPORT_SYMBOL vmlinux 0xfe124b14 tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xfe14e88d security_inode_permission +EXPORT_SYMBOL vmlinux 0xfe1634f7 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0xfe2f1fea padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0xfe4a93b2 thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe769456 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xfe790975 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xfe7c4287 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0xfeafb093 inet_frags_init +EXPORT_SYMBOL vmlinux 0xfeb57763 scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xfec0a202 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xfec39cef textsearch_unregister +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed17198 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6dea25 smp_hw_index +EXPORT_SYMBOL vmlinux 0xff7f6930 decrementer_clockevent +EXPORT_SYMBOL vmlinux 0xff8e5905 of_create_pci_dev +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffb64f97 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xffc198e7 generic_file_splice_write +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffdb82bc sg_free_table +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL vmlinux 0xffe96a10 flush_signals +EXPORT_SYMBOL vmlinux 0xfff2ba27 blk_stop_queue +EXPORT_SYMBOL_GPL crypto/af_alg 0x4779530c af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x58716898 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x64554019 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x93957c0c af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0xa936d76e af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xc22d3833 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xde551d6a af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xea9223d2 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xf4425d39 af_alg_complete +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x0aca4dcf async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4b98a6e1 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xb2dee736 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x19723940 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbd61714c async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x396ef30e async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7af205ae __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xac61f5f1 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xd5a4f9e1 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x51bcc0e1 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa8c42757 async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xdb70a325 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x0827c890 cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x0dfa0841 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x0efd3048 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x405d8b15 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x5476f9a7 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x7647a196 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xa6702888 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xaa51c97d cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xeacc314e cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xf2196f02 cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/des_generic 0xcfd9a2c0 des_ekey +EXPORT_SYMBOL_GPL crypto/lrw 0x0404ad0f lrw_crypt +EXPORT_SYMBOL_GPL crypto/lrw 0x3864eb66 lrw_free_table +EXPORT_SYMBOL_GPL crypto/lrw 0xcd074900 lrw_init_table +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x43bc1c15 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 0xceb936b0 twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0xd5c6db76 xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x13a0638b ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x15883436 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x29c50528 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x367703a3 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x3774e7cf ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x63c1e17e ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x69309347 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6f38c12f ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8995f584 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x99ef8b42 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xaf82a3b1 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb7e38d60 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xba17c5a1 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbcddd10e ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc0fdc58d ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe7e74655 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xecd1dd4a ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf097b7d8 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x7d40c452 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xbf67a7b7 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x1d77fc28 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 0x14ae2c4c bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2812b6ac bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x301075ef bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3d9e7265 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x44375c97 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x44eb9119 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x599379db bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x59bebf99 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6269bccc bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x70606a1f bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8863be06 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9c969e2a __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc1791e41 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd1dfca78 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf1462c77 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x15666160 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2e2df01a btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3f0942af btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4ef90d21 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x67bcc68f btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa593bf79 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa5a51a85 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc74b0935 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd925a08b btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf8555e0f btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x02c61e88 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0332b7aa edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x20e9c049 edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2194b404 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x2d5faf3d edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x360c130c edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3c6cd224 edac_device_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3c94db12 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x45fbcf36 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4e5553e7 edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4ee2ee0f edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x55bdb78f edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5e712034 edac_pci_create_generic_ctl +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 0x73f38306 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x87a896db edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x96a814a2 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9d1e83e5 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xa8f6fed7 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xaba2be1b edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xb9a0e567 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xcb270d19 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe528c1e4 edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x2a0f42cc extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x3385839a extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x3752cf6d extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x4132ab80 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x44eab9e2 extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x56241c8d extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x622525bf extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x74a68ba4 extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xa1c3d6df extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xaa4458dc extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf029d208 extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xfbf22034 extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xf4ade51f fw_card_release +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x31681123 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x3894d462 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x7bb3b948 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xf4e35bf9 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x045b575a drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7c42593a drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x78b72c5b ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xfd0c20b6 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0xfe41e652 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08559fc0 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0cb3015c hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2082cde9 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x22c8eb39 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3258e91e hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3a261a70 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x42645bcc hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x470863f3 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4d112786 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5ac81491 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5b384940 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7187d2a6 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x73a93e8f hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7684eccb hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x816d1c4a hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x88839f81 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x88a51644 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x92706bb7 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9c643b1c hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9eefdce3 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xab724bfc hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xabb69f69 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca0971ee hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca6dc572 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd31556fa hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd70fe961 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd90192ec hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xeebc938a hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf62b8d2b hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x5b850f68 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x8c4181ec roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x85ab2267 roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x861ad4f0 roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x6e507ca5 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x7cf4b3a3 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xec560892 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xf23d3ec7 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x156742dd hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2da3c02a hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x979b2cb4 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa47fed87 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xae67c827 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xaf9b6929 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb6ef879d hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xbc36bd10 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xce5b2459 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe9a4e0ca hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xea7ea146 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf2e803c9 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf941989a hsi_register_controller +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x07dff39b i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x434575bf i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x45fd2fd1 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x497192ef 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 0x858b1559 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xb603aaf5 i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xbf453bb7 i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xf46d8aac i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xfb4a9e3c i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x36efb2f1 i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xd0c7431a i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x1adb6503 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x49d27827 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 0x349cd2ac iio_push_to_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x488c7884 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4caf2554 iio_st_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x72f59254 iio_st_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x949fe66c iio_scan_mask_query +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9f9927a4 iio_scan_mask_set +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 0xb32333f2 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbd337658 iio_alloc_pollfunc +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 0x339d0ec4 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 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xf6aa57a1 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x723448be cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x8f2f2883 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x967b6f81 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2445c382 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3f2b2d8d wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x555ca53e wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7275c8ea wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8b373717 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x973e7934 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x97c836d1 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9cbe1e71 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9d47b1eb wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xad1f461d wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xee3f3049 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf3812d13 wm9712_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 0x02af0ea5 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x202f1853 gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2713ceb0 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x65e41a72 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x72cc99fb gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x8eff32df gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x98710fa2 gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa220181c gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa996978c gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb18b35af gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb8536a57 gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc04221e0 gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xc8ab65ad gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xd21ffca9 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe69617c4 gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf8c5cbfe gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf90c9fd7 gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xfa16e9e0 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0ece3888 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x1545bf29 wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x26fa79f6 wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x2c3f6217 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x45b0306c wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x77790d6a wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x94765fac wf_critical_overtemp +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 0xbceb76c8 wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xd10ab06a wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdf49628e wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xe52185d8 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +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 0x9b3fcc51 dm_bufio_client_create +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 0x7e6fd2e4 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x837e45c9 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x0180827e dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x053e352f dm_rh_bio_to_region +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 0x9d9eaf63 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 0xb6235a79 dm_rh_inc_pending +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 0xcfc6a618 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf06715d7 dm_rh_mark_nosync +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 0x7d69df20 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 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 0x25198b16 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x047bcf95 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x11098f10 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x13679f35 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x1662c9f9 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x22ad980d saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x267a32c3 saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3f02f423 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6e28a90a saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x797141f6 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xaee8ae1c saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xc42680a9 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xca34ad3b 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 0x4c37fb61 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5824128b saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7164b2fa saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x89920c26 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x8da28257 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xb3668f81 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xfbc31985 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x54cea983 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xa01cba77 tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0xe32aa8d6 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0x370f5a3b microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0x2b09f3f5 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0x614d3262 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x4058a42e tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x473f6815 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0xa74aaa29 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0x6a00e388 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xd2d592eb tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xd9ac94f1 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x4787f679 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0xea25ee25 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0xf4056938 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x6b4bf7e6 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0xcc83de88 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x00626a13 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x0008463b mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x001bce18 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x02970080 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x15f6a8a9 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x3f5c8411 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x53442a6f mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x6150a533 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x7e990f04 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x8ca6f0a4 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x99475f93 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xa12fd7b9 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xb3eabb8f mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xbe0c3a67 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xcd637bb1 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xd9b9f1e1 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xda4ee51d mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe7c95709 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x2e4ebcf4 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x31f0b44e sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x3b11bef9 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 0x615af927 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x628da312 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x65f6eaa8 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6a4021f2 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x6a4f5864 smscore_getbuffer +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 0x838af23f sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x877617cf smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xad7f1bd7 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbe5b7b43 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xcfee650a smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xd56390d1 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf38c6325 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xf8278241 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xfe4d6af9 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x45bec09b ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x554cc299 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 0xa143a96f ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xb089a0a0 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xb8ea0f5a ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xc704d6d8 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xc7ae5520 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0fa5ca9b rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x19b00628 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1ed78155 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4a782a07 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +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 0x7d056243 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x97fb7c4c rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa0e73aae rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xaa2fd0c7 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb36c0f05 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbe1376a1 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd47a014b ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd5a492af ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xdc22c07a ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe07076af rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfca6846b rc_free_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x09b6f3e9 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x0d0e6588 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x21e2af3b cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x32eee095 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3855e193 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x588b186c cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6dc1cb3d cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x9be2581d cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xa77daa51 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xaa41f466 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xb6aeafae cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc030b355 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc0d0cf70 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc26491b4 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe1fc5e51 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xe20f08ab cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xec79616c cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xf8627c23 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xfde5287d cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xb6c1caae cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x11dc94a6 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x518a420f em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x534a0872 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5dd6119b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7dd6c9e7 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7deac41e em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x93a1b232 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x98dd9200 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x991f09ea em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xac4fbe4a em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xac519b3e em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xcaf7e643 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd1036d2d em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd1a31d77 em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x819dd367 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x8ba255bf saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xcdc4d767 saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xf54e1309 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xfa5195eb saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x073dea75 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x1d60ec52 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2ad23f12 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xd0536217 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x3e526491 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x44669da3 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x458d3e45 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x67392ca9 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x813f3de4 v4l2_find_nearest_format +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x94632f90 v4l_fill_dv_preset_info +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x991a4431 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0xaf3aa78c v4l2_i2c_new_subdev_board +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 0x3724f6f6 v4l2_int_ioctl_0 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x68caed71 v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x847c1bfb 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 0xc0e184dc v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x13f64223 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x26a4e6ec v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x337f5758 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x3442d96b v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x39d3f2d4 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5b97b302 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x6524227f v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x7367add5 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x856d1ce7 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8a754b7d v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x92221730 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xf26449d2 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x026ba720 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x0591ca77 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x08bf82f7 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x18ec3ea6 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x1cb0131f videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x202ea6b5 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x228412a5 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x26f8b366 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x324ac885 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3336044d videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x3db5c430 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4c23f580 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4d76c082 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6470db8d videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9e1063ef videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa99f8b5d videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc0a8023a videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdad19361 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xdc53bbe0 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xebb01a7a videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf31164e5 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf49b7696 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf8ba26a4 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xfc309b00 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x768f8315 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x8954ab40 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xaea89f61 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xbb0c44df videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x144ee043 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x45cbf027 videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x538a4a19 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x65e76a90 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x85c9724c videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x953baffb videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x975060fb 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 0xbc4f7e40 videobuf_dma_init_overlay +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xf490a625 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x3b2a50c8 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0x955b56cb videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xe743b540 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x15007b03 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x2db44dc1 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x309132b6 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6bbea7fc vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x73d008c5 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x78ab80fd vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x80157788 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8150a966 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x81e03094 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x89aa470c vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x9b78f08f vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xaca95bc0 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb9f759ed vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xbaaff68f vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xc008b821 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf062e31b vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf643a1e2 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x0936e8fc vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x76820e0b 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 0x14e87523 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x69f6bd9f vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x9aac12fd vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x9b3e625f vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0xb3a5b657 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0x247397bb vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x22537ab7 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x26d788a9 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x27486540 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x35df6b0e v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x47327dc2 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x63e5f426 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x64d717a9 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6581fc1e v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6e0363c2 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x72b6be76 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x76e575c7 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x779dce71 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x81a06ab3 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x98f36d8a v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x9d876f89 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xaa6cf8ce v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc455750c v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc69e2831 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xd54d9ef2 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe607ecaa v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xecc9a46a v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfb797be5 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x10bb6aa7 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x1a02b114 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x3374d529 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x34141732 i2o_dma_map_sg +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x460f7302 i2o_pool_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x765364b7 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x7af7d849 i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x866af420 i2o_pool_free +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xb8e0e72d lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xca9b51a8 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xecae60c5 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0423d3fb lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x0908e106 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x875e5669 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xabbc2ebb lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc0965cf0 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd834b87a lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xe327af59 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x0589ee58 mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xa8082cb5 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xdfc496e6 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2ae6052c pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2f8d3ab7 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4bbf27df pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x50f3062f pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x670b56af pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x76b3a1b3 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa0e3c205 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa54d5755 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xaeab62bf pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc14a71c2 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd9d86a2a pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x0d55f8ab pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xd0f03ad4 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x728f9a5a pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x731cb933 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xd7b4c0d7 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xe1e7e484 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xfe7dfa92 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0da7c614 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0e5a7669 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x302012f5 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x3b8390a0 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x407d4aea rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x44cca0fb rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x4ef7e4a5 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x57b55d5e rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x58055013 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x6cd370f2 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x760fb9cf rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x78b3250f rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x9ca94ead rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x9f45a5dc rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xbf741cc1 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xc9964017 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xd7a04343 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xe0576c1d rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xee2d4631 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf4011b5e rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xf97de9b0 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x0a5915f3 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x2e63c90a sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x4dfeb0aa sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xba76b0ae sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xcbbb89c3 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x43d9da43 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x59b9aeeb tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xa9c00527 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xe109cd65 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 0xc60eeda2 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x37eeca4d cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x9378aea7 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe3ba0569 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf304ed0d 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 0x0852da1e enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x09507224 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x17beaca3 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x41269a91 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x86a4ba22 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xc93825f3 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf9a9612a enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x2052c962 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x431e824a lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5592fa9b lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x58280a89 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7982d542 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xec70dbfb lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfaf91787 lis3lv02d_init_device +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 0x1362c1a7 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xeeace0bf st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x06f77604 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0af34648 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x236bd9b9 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x371d2c09 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x55d7f278 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6f54624c sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7ece6a6c sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x88157e58 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xefd6da9e sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x22765d34 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x2b5d2a59 sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x38ce47a8 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x7f437570 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x83a6a063 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xbad7fad5 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x480cced6 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb172a67a cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xee96bccf cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x73382800 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x9c37457b cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xccf01d6a cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x978891ac cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xaec03b84 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb9b70532 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xc7dede09 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0xaacc1507 DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x009d7050 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x08abea58 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x17cd0159 mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x215fbd68 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2482390e mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x269be146 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2dfb3c4a mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3b3039e1 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x437863fb get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4cbd5a63 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d033b71 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d9ac8f4 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x600b6632 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x629a24b2 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x67435328 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x67aa5477 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x69fd779a mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6ac2b6cf mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6b540bd8 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6b703c83 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6de81db6 mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x74754c10 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x797c2def register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7e90dac4 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa40f9fb0 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa41ea540 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa631ea45 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xba1e939c kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbe8a2c1f mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbf62e4f1 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc85fcc58 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc897f75a mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcb45d3cd mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcff4fd91 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd5547cfe mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd748a186 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf2bed6b3 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfd4427aa mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfe823b7f __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x0126401f register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x13c74aba del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x1d3501e3 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa4961b1d deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xe33f978f mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x00dea0c5 nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xab7e1a2b nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0x66564189 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x9d8a56b4 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0xbb563334 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x061e780f ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0814df88 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x18129407 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1d310f11 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2c62b907 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2e4d8034 ubi_leb_erase +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 0x44045794 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4556a506 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4d751e3c ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4e662c6f ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x67c3003e ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x790e6b88 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd69ddd84 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 0x38b3e61b free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x5d4f8dd8 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x5e1764fc alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x911b2e08 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1125d244 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x162498af can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1885b829 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x1dd03622 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x27d3f593 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x4cf683fb can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x67f5d936 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xdf031644 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xe01b09f2 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf9918905 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfb9443f6 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xfc3d9e9e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xabc9391d free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xbfaf79f1 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xc6e6dad4 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe77b3c45 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7499d4aa free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7691bbcb register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb25c0dfd alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xf08e3dbc unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x028eb8b6 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03792927 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08f49bf7 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0977f703 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09f7086c mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13539c9a mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ca628d7 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23eeb728 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28637698 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32e28e43 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x33b9fd9c mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3564b0fc mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x38177986 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3964eb25 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4078c343 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41c25656 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a6a3fe6 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x503ed55b mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x50f50668 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x518cafe4 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51b48749 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56697787 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b719981 mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60bf3b7c mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x631ac064 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x65b47a03 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71f6b2e4 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d87ae24 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80e88b47 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x87edbd81 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a40d37d mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b854dbd mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bbab104 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9639e723 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x97145e4a mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98b1fe5c mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d73a4b9 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e70a6e6 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa08dae1a mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa30ec5a3 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9211220 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xabf44891 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xabfe4590 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb30ab2d9 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5f6325e mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbabb2dac mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbae299f5 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb7ca4d6 mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc9fa9ce mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbceb37d1 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd142896 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0fe6b16 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc22803d7 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc28cfd54 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc471d36d mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc81505ef mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1752e11 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8143e24 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda7953c4 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd426977 mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddbfb883 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf024e65 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe713d6e2 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe79e49f0 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeafe0c46 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed643679 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xee1bf137 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf295fabe __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf634548d mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf64b0dd4 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf83159ed mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfba96200 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd536c15 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe726d88 mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x490ddcdc macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x5894302a macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x62ab53a1 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xd280b4d4 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf141c4da macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x0719addc macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x782f01a3 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x216d836a usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3f7bb7c9 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8200d5fa usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8da4200f usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x184020df rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1e9722ae generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x44971385 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x514d2511 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x677b28b3 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x9c8688d0 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1c562a1c usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1c62836f usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2bbc2dc0 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x30a62263 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4badffba usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x574e90f8 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x847a959b usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x85d36ea4 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8d7c46e7 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8de5eaf3 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x910b57a7 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x93ff41e1 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaaabf9c2 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xac38ff91 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbc452026 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbe84380a usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbfcc8dcd usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd4c086af usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdabae074 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdb144f6a usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdff2d1da usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xeff97967 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf11422d4 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf7aa9473 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x0a19e087 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x116b3ca5 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x3da2542f i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x47cfdf4a i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5c2c55cf i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x6f3b322d i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x739b7e6f i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x84be4026 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x88c77a12 i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x935f9dcd i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x983dd30d i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xa5129f41 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc3b2a888 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdae5d768 i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xde7bd83a i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xf391875a i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0x5cb9cd9d libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x1264d231 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x35e3078c il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x6ac34863 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xe4b75c90 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xf4f2647a il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1610e47e lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1a6eb675 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x21216ac1 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x4d678b5d lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x503c81ab lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x505ccc49 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x59130f6f lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x620bff6f lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7cd7a4fa lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8ca516bd lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa3abbda5 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xba3e4e4b __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbe1382a6 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd45a0818 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf32326d4 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf53fd27b lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x0886421f __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x152d99aa lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x5b82c76d lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x662a0f0d lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x9cf4b684 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xccaaaed8 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xe88d0967 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xefb6fc41 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x15d2ada1 if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xff4604b1 if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2d3968c9 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2df1bb7a mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x45e9c4b0 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x55a62de3 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x63b64ad3 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x6b39b788 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x73ed4ef4 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x77ba3987 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8a9c96d5 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x95396940 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe8dbae5a mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf05b6546 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xf10a56d6 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x1d5bbad5 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x49a674dc p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4a001488 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x6545490b p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xba683e48 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xd9631ee1 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf401fecd p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xf5307ed8 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xfe038702 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x03c97390 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x18bd7cab rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1c7944b2 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x20b6bac8 rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2f316507 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x30a67894 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4704102a rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4ba7b3f2 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x52bc9ed0 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x55587e60 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5b2e8e0a rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x67b21162 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6a67d310 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6fe0e19f rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x81995651 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8650be93 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8960be6c rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8e761b8d rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x8ece7c43 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x90cb37e5 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9996c2f7 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x99cfad86 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9fd301b4 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xaba157b5 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xaf305e99 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb6af2970 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xba4815e8 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc2e0ac1a rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc96bc424 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcf9c5e9d rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd17cf9a3 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd526e7c9 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xdd7865b4 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe51eba1e rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe6e6cda1 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xeb4fe649 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf03184ea rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf08f2000 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xfd60b3e3 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x002ba1bc rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x037f688e rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x10e525e5 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x14483ef5 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x1cfe7182 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2c6bf048 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x2c744bc1 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x334c2b87 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x3f4ce4f7 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x431ba33c rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x47482765 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x49bee2ca rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4b22b756 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4fa51f29 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x50feff9d rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x52ba1e93 rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x58b66984 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5cda8188 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5f266a05 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5fb74c6f rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x693a43a2 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x72c1b0a0 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x849ca1dc rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x87b71eb5 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8d29ebe3 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8fc5fc5c rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x92c1ce7e rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94ac139d rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x9b8fc4dd rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xac712a8c rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xad989b83 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xada34103 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb4e9c1b8 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc059ff32 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcc9a8698 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xce630dcf rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcf474fc9 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd3124dfc rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xda90f2e3 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdba3d863 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe2277d12 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe2e487ac rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe7f0cd41 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xebfa40fb rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf5c84845 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfe909446 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x2d33489b rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x36361f2d rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x55ba8f33 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x7795199f rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x84859187 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x84f05197 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x97ebb9be rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xabbd0fcc rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xcd6f1df6 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x05aa117e rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0869a364 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x0d57b984 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3597c689 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3e82f84f rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x5a441260 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6aafc306 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x6f39b71c rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x7772e148 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x83229679 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xbcff5be3 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd3802431 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd4c8d596 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdb1e761f rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xec1e81ac rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xf022e862 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x3ddbb2b7 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xe2caa79f wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xff3c7709 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x12a017ba wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x165f7336 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x191ca6b8 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4ae0ac4b 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 0x5ab36e5b wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x712c7cbd wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x727bffff wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8aadd089 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9ae3f014 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb686461f wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd0b9fbc1 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd95a5f30 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdd45f7f2 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfae431b2 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x34b26156 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x4422cfb2 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0xaa7c3d34 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x05858a6d mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x0e26d488 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x2f2e0e49 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x2ff01d9f mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4d45d425 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x702bc40e mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xbb87331e mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd87b8974 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x3ac7746b wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x99201a36 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa7cc3a98 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb1e1c302 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xbcd38a92 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xfe246ba3 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x7206a329 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x045be115 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0e0fe902 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x144fdecc cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1c31895b cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1e198fb7 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x24429f1b cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2845d873 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x28f232fc cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f114c76 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x36290e5d cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x366a25b9 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x38312504 cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3faab117 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3fae80d7 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x415c9964 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x443a24c7 cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4da4b4b8 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x559c692d cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5623461b cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5d404517 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x606d9724 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6ea00bfc cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7235e7fc cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x79944f00 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x81512a93 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x84157408 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c2ba369 cxgbi_ddp_ppod_clear +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9f8c0c67 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa0e98fda cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa3c7c437 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa8c62a26 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xac05c11b cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xadf05c75 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbfd73680 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc29808cd cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc4e257c0 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xce4a37c6 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd2b7643c cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd3d542f1 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe2836f96 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xec6b18bd cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf1b1d32d cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf6f242f9 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfd84d7c9 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfdbb4e71 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x09894625 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x2cd11e81 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x4224ee58 scsi_register_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 0x768f0fd4 scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb61d9441 scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xe9b76b84 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x06e94974 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0ceeae31 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0da90363 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0e523c26 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0eccedd9 fcoe_fc_crc +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 0x4bcd064b fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x585d1791 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5b6afe86 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6d9565ab fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x715d8dc8 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x77e7e500 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x90f4299d fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9a7e15e9 fcoe_validate_vport_create +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 0x01712e89 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x07506b9f iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0cced3ed __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x19f811aa iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x29be6d72 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2aaf68e0 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x323c5874 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x357cc792 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3c88f415 iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x419addc3 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x42683fe2 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4c5e4003 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x505f1c6e iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x538ee2ec iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x58ad7da5 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5967d521 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b32e587 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f65f551 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x67bb2232 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6951e761 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6adb4ff2 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73f378c2 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8faaace6 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x98264ce8 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa1347810 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa76d1a95 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaf3b6063 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaf78b6db iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xafae738d iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb6dcb1bc __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba8a32bd iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbea77d27 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcb288558 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd758283c iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd86be02c iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe9203510 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeb6e55c9 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf00531c5 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf03d1eec iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfacb4825 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfcc7416c iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfd8a032a iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xff6f740e iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x065ab273 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x125ce601 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1656110e iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1e3bd0a3 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x47c621a8 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x525e1dd5 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x637b57eb iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x77cebdf2 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x80d601a2 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8cf8a24a iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x96488828 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9683049c iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc40c62f0 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcdafa2af iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcdc2efee iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf33c6d85 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf50a5073 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x17dec256 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2024d39d sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x25e704ff sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2f54c79d sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x30f7158e sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4828b114 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x59c36043 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5b7a4c70 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6274bc7d sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x693817aa sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6dfe485b sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x77714da1 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x86fc6aa0 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x92a3d4c7 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9ac17a31 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9ad22c5d sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb6cbbc54 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbda67b8c sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xded3c477 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf1071fbf sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf459d9f3 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf47e62d0 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf753d7f6 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x5d671e7b srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x64977e52 srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x94268d99 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9ed4809d srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xb413a8c1 srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xf8f90bf4 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x259497eb scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x3f9445e0 scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x402dba10 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x46e8ce36 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x6d6336c3 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x79183567 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa315c9b4 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xa567d450 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xbf0b3b8d scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x04627e5a iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0d606fe9 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11ea4530 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1b94ebc8 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1f9092a0 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x217ae7c7 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x24db7611 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2b79ed75 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x35eca7bd iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3731bdc5 iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3dac01d6 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x467d9897 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4fd80bab iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x55fa093d iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56a13b7f iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x65b62590 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76052174 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x843008f1 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8a7f8d6a iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8de55dd0 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x96d46369 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa92d1627 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab342720 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xae51ee5d iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb0dabcd1 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5f456f3 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb85e54bf iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbbaccc82 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca0b1028 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xec9f4429 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf2a1d673 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfd9e1e76 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x1eb13009 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x4fc7690b sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x955a63d7 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xdd7de5a5 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 0x0b497a8f srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x126a338a srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb125e64d srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb622cae3 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd327c72b srp_attach_transport +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x0d78a211 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x109614b9 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3356cdeb spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x756d8ebc spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x9bd3057f spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbaf2e682 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x25f6d6ac dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x70fbf552 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9ebc57e5 dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xc9627c06 dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0xf1cb4ca4 dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xda29b649 ssb_pmu_spuravoid_pllupdate +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 0x40a6777d adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x68fe968d ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x7038047c ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x7a845473 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x91b67588 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x939c7a96 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xb2fc93c4 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 0x305708fa usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x45e40b1e usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x5148205a usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x6aa52460 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7404054b sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7b5d926c usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7e65703b usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x7eef429c usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x9cc25925 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xa6214089 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xc4819ea4 usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xce91db89 dev_attr_usbip_debug +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 0xfe2aa194 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x326f33c2 serial8250_rx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x8fa5cf07 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xa23db4ad serial8250_tx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xf569b16f serial8250_modem_status +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xfac1ec80 serial8250_handle_irq +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0x5f045d47 pciserial_init_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 0x0be1f723 max3107_rw +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x65be18d2 max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x7ead6715 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x9e46432f max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xb983a96a max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xbbb4fdfa max3107_suspend +EXPORT_SYMBOL_GPL drivers/uio/uio 0x077c6ddc uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x962e13c6 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa11ef27a __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x15c110cc usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x26df989b 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 0x0547c5df usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x22b11144 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x5d87db88 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x843ef597 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xdf52a24f usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xe6682154 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x1f06f9f9 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x487a324b usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7e3b4c87 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa3898e3c usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb8c07e15 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xc24b5621 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xce0ce1e0 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf2f82cb7 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfff08f5c ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe7b22876 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0x96ca641f tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0xf790a1da isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04a9f842 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x06a2af73 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x07838bf3 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x10e312fb usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x241177b9 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x25e88b6f usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x37e3f1b8 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3b5bfb0d usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x71619724 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x77983575 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa7b2bfb0 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa981e2c2 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xaf569378 ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc0bbfa0c usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe126e004 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xeb0c062c usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xecf4f59a usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xed0616ca usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf63e0a1d usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1446fa49 usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1bc3edc2 usb_stor_sense_invalidCDB +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1fb44ad7 usb_stor_CB_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x272fa9ab usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2e900b2e fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x3b0a4533 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4232e48f usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x4ceaf5b6 usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x594a7d34 usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x65604781 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6864873d usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6f9ab145 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x73590515 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa03eb209 usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa843c7ff usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbe02abef usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc4031de0 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc5bdfa8e usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xc95efade usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd603c13e usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xe054e2cc usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf667c28d usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xf8c3e34b usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x741bf4ed wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x7a6386b9 rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x82b869d7 wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xa54fe113 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xd5595e83 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xf4654c3f wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x1bfaae78 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x2cc1831b wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3f58e4c4 wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x48677bed wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5e242eda wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x5ffe9438 wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb5f458d7 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb79d7f46 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc07a0c5c wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc18f7e49 wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xc32e1ae9 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xca8eb715 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xcbd1deb1 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd3749368 wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xd924dca6 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe02a657f wusbhc_handle_dn +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 0x4bcc2f4e i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x5f9c4f93 i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0x68a0cac1 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x14e9b495 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x39ac11ac umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x400bf995 umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x72076c4e __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x7f6b7607 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x89284ea1 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x97e73945 umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xd161d217 umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x00bcfaf8 __uwb_rc_try_get +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 0x166d9632 uwb_rc_put +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x1c4d2251 uwb_rc_rm +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 0x41d0c6e8 uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x46aa0ad8 uwb_radio_start +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x4879d825 uwb_rc_dev_addr_get +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 0x54f09543 uwb_rc_get_by_dev +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 0x6e91855a uwb_rc_init +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 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9f824869 uwb_rc_ie_add +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 0xd369a344 uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe1716f06 uwb_est_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe5192a96 uwb_rc_mac_addr_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xe86ee039 uwb_rc_add +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 0x1ce6bf95 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x25d0fe33 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x35627b73 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x443d930c auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x51743bd0 auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x88520c22 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x885eec1f auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x94cb2724 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xc017192e auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xd27f4ff9 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xd4fc19ce auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x320cd8eb ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4601d08e ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5c77bd8a ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7603fd22 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x76ab01a8 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x77f45d38 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xc500c131 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0x9c91e81c fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fb_sys_fops 0xd718dac4 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x0f46840e sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0xe170b59e sis_malloc_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x04a1d72c register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x1d80d3b8 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x283bbb83 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x9f5348ae unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xe7e8b588 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x08a08f87 virtqueue_kick +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x1f5e0f2b virtqueue_poll +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x2aa76483 virtqueue_notify +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x41c73ad1 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x45dea7cd virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x4fd084e5 virtqueue_add_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x56361ad2 virtqueue_get_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x626eb4cf vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x6f262216 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x9d45c43c vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xad3a8f59 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xb39a50b8 virtqueue_disable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xc2e441fc virtqueue_enable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xe4b0f432 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xf6a7d282 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1124e57a w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4ead08f1 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x700dd841 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8c4d6238 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8db8e286 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x945345cb w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc5b3a0fd w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdd8fd92a w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfc07bf45 w1_reset_bus +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3b4b8012 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4a5a96d6 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 0xf7a047d3 dlm_posix_get +EXPORT_SYMBOL_GPL fs/fat/fat 0x0facce12 fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x1145de7d fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0x1621be48 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x23c35889 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x2e1e37d2 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x3a30c0f7 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x3b47a587 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0x406b5ca6 fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x562d4911 fat_flush_inodes +EXPORT_SYMBOL_GPL fs/fat/fat 0x5e8f6992 __fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x65fd0858 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xa16e2173 fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xab316ae0 fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0xc13b7d4c fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0xdb9fdd97 fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0xdd37eb3c fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xdd3e057d fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xe4359163 fat_setattr +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 0x27c6a957 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x357c566b nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x46f93c08 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 0x7a3f1abf nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7be6aa53 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xbb007259 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xfe3e62b6 nlmclnt_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x023349c3 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03d5364e nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x096cadaf pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x09e1d33d pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x170fecb6 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2166519a put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22fbc9dd pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2b01c58d pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2b59bf8e pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2cff4e72 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e7b8550 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30ca71af nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31c1f8c5 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e09c83d nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b04b281 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c3135f2 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x525d3814 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58038f7b nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62a854a7 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64bc0763 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x79168afa pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7db08d53 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80553b14 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x846c6f54 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89d94ece nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8eb604de nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x99078a92 nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xad04dfc5 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae51f3d1 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb00ebcae pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb8e778c9 nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd82e565 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc2db2709 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc9109378 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc994ba87 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf35aad5 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5a8ba75 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd747d7c8 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdadfe64b nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdbc32c0f nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xddd709b0 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe8c50f75 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefa0176a pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf34dec23 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4d08df4 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf8aee88f nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x54edd463 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa7a68dd0 nfsacl_decode +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1570a3f0 o2nm_get_node_by_ip +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 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 0x534c8108 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e363e79 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x69a4b44a o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9e4f5ced 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 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 0xeca6c8b9 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf7078cc7 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x48de7c4f dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x569f385f dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x80023e00 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x88b7e4d4 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x8fd11d99 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9cc4d3e3 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 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 0x2ed0971b ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4301dac8 ocfs2_plock +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 0x5db82d12 ocfs2_stack_glue_register +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/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 0x5cc1cfe8 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x73e5fb2f garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x799fa9ac garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8080da77 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xe2776f3a garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xe5eb6bb8 garp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x230055cb stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xf86d2761 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x25b2b018 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x71c71bb8 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 0x9e2c6845 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 0x4bc5d8ad bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x07c4c624 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x09a9f8d2 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x11e308e7 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1688dc5c dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x25f2bb6c inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x28a47f94 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2af0e7a9 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x329ee1f1 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x334a3a70 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x47a82c6c dccp_parse_options +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 0x637c64f0 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x74593e92 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8a896828 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8dd9a2f3 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eed3731 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x963fc1ac dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xac30b449 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb01dc227 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb05724b0 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb1e4cb2f dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb295faf2 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbb7da932 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbf9cbf33 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0b7b890 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd38b05e3 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd392c087 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd5e3954c dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd6399afc dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdd9ba729 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe05516b2 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe8d640c2 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf053efc5 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf59c726a dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf61a97ee dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf6f68662 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3f356204 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x46004812 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7baec950 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8c05b488 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc022e322 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc832fa85 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x63f18d6b unregister_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x89bb8b49 register_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x08b2a818 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x89808621 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x202f71a6 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4aa63c51 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x722f8ac7 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x9c63267d inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc9af9cb5 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe8869a6e inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xa8824d04 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xf5f6a071 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_conntrack_ipv4 0x1b58de0d 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 0x27346106 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 0x60084b4d nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xd1080ddd nf_nat_get_offset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xdbd34fa8 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xf6ded693 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 0x03ee01b4 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x48774bf2 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb4ddd56d tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xca8bedb6 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xf74e2066 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xb17b1b86 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 0x2b44d0fd l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x460bf03b l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x48a9a9e7 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x49357858 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4fc41d29 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x87bd2e9c l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8ab7180e l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa12b96fc l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb4b968e5 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb824a35b l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc7969902 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd99bd9fe l2tp_session_free +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0a9699ae ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x285ae4ec ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4418df80 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49d07d33 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa16a19e0 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc0a111ba ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xca354270 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea689c6c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xed1f7f73 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1cb9fa47 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x40b3977d ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x477db392 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x56320e32 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x72282b0a ip_set_type_register +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 0x90df057d ip_set_add +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 0xc2fc76de 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 0xd94dad8f ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe970f67c ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xfda3ec7a ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x1067e19a ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x68eec273 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x6b92b79e unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa540f79c ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05373cef nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0cb6bf11 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0cfa2bb3 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0e88b63d nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x107e0af9 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16b8d569 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b2c931a nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24eb9511 nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x275572eb nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28022387 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2910c41c nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x291af198 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x297467ac __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2bc5c66c nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2c7c4ffb nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3cbfc84f nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d6045e6 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b1173b5 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56d2d226 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x571b441b nf_conntrack_l3proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59cf87ec nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5af4c005 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5cbe2729 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5fd3ad59 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6270df79 nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68d80e6a __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68e6a030 nf_ct_unlink_expect_report +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 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x791663f7 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x823a096f __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84203321 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x842740b3 nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x854ea98f nf_ct_deliver_cached_events +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 0x925c574f nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x97cc9b44 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9846d583 nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b4bd402 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b89d9b0 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9ccc22d4 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa06a35cd nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa0a6d4d0 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa65d02fb nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa90e9096 nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9f848ec nf_conntrack_l4proto_unregister +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 0xb03a7615 nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb1072e4e nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb1299f54 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2fa4b62 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbe1a7138 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbfdf65f3 nf_ct_l3protos +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 0xc3103a10 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc36a5cdd nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcfdb0b5f nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2caf941 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb7bb4cd nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xddbfcca5 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe464e151 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe4b13ea0 nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe523c446 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe57f2633 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe97766d3 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xed8c9781 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeea6fcb4 nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfdfaa5bb nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe541014 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfed8634a nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x82f78b7c nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x90602b61 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x69f06a4f nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x064e54f3 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x593f7b89 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6410026c set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fafac7f nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x836bfdb0 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa40e5826 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xcd6f196a nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xce5ef3d2 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xda66962a set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xef7784f8 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x0b1138c6 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x1116c460 nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x7d689d62 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xec4efd74 nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xf6e0056d nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x2f47f8e3 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xb32f96fa nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1c0c0a2d nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x277eb681 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x28500199 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x33531a1a nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x587ef768 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x61bbd050 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x81afa8b9 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8d917871 nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9768d560 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9f951268 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa89977f8 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xabab0690 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe629eb0b nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xd8ca4e03 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xdf77d06e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x24606f7d nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x051a39c4 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x09177649 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x16c86b01 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2790cc1d nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x6a1086ee nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8f33f761 nfnetlink_subsys_register +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_acct 0xd1c9d87a nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0xf313abff nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x09f4f8f9 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1d68a8ea xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1deaa5ba xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2b58aece xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6e611f38 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x78ab87e4 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x78b2645b xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x85015a7c xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9086c369 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x90c5b70f xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x95ee5856 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc6014fe9 xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf2717e xt_register_table +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 0x09f1a0e2 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x12467cb8 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x15852368 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x17466a71 rds_atomic_send_complete +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 0x37d837f8 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x40b800e3 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x43e87fce rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x4622b59b rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x50cbe7b3 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x51018ebf rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x53ae9167 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x56a7008d rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x5d234f69 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x66d14066 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x6cc46a0f 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 0x742c2e34 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x755b7bc6 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x96fafe85 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x97297e1c rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xad6cac4c rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0xb2c0ba2f rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcbaba9d1 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xd3283556 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xe89a95c3 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xec9de6cf rds_message_put +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x32d1abdf rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x7ff01017 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 0x1f561958 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x294f6cf5 gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2a270779 gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x51c65a8d gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x52c4a3dc gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5ead7474 gss_mech_get_by_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8730d663 gss_svc_to_pseudoflavor +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 0xc0320501 gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xce9f66ff svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe798a7d1 gss_pseudoflavor_to_service +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf191484a gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf8b2ff6e g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x001c60de rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02cf2dad rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0408b1af rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0533a1a5 rpc_create +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 0x08af5fe2 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09d2af9a rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d91d2ac xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11c5eac0 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x130bbf2c sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14fd7802 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1813b8bd rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x183de1f1 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e73ab66 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f14bd4f auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x201df978 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21e44e88 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x221b9e2a rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22916209 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22bcb313 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22ff6279 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x246b48dc svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x249177e3 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25a81785 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26669dbb svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x268cb10c xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26b03c90 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x276b562c sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x276c6728 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28e2b945 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b89703b rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c7be104 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2cb0c470 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f22157e sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3165170a rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31af2aeb rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31b465ea xdr_decode_array2 +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 0x372b2089 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3890e2ca xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a05cec7 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4075c517 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41ea70cc svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42662f28 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x444a8f6f rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x450fa2dc svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x456aa651 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47294ab0 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47b88ce6 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x481d5d71 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48d6b9fa sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d38d52a svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d7b070e xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e43fde8 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x520df8c2 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52a7db37 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5329688c xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x559de36d sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57a058f4 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57b91bf5 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x582d016b rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d7c24b4 xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f84a216 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61c5e5da svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62c36a4d xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63062c1d rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x656b76cc cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67d6b9bd rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68f7e61f sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69f84b1c rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a45e6f9 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b03349f svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b1b133d xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cb60d59 rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ce180d8 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ddbe20b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6fa774df xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x73a750bf xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74b26a47 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x769512f8 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76dacd86 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77640897 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7868e64a svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b07c5a9 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c81f04b auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d2a6c78 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e43a959 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f3b2aae svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8047409b svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80753432 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80d428c0 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x837e3c4f svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x850b315d xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85293ed5 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x874f0184 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87a0753b rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87f4853b xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88a59310 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8925c350 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a51eb46 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a89a864 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b491ff5 xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c168fc6 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d431c95 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d982f08 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90304441 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90804193 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90c270d9 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9185539a xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x937a60eb xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96ab7068 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9911a3d2 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9969f9e9 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9aac22bd xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c33735b rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c4c3df1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9dbd4d0f xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1ece57c _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa250751f rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5a922ee __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa783c554 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac0a156b rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb135d311 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb242449a svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2663c19 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb43a9972 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb84f5d6d rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdb8164a rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbebfd5c0 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc117ad45 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc297787f xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3e44b58 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4de115d rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc864ff6c xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbefe7e0 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce252e83 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd052cee1 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd08424ee cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd25a9657 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2b8e6b1 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3525617 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd41d3a4b xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd831229b svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9743398 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb07ba9b xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe25c25e8 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3454797 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3ef72ce write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4fb70d3 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe57d3ea1 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe608a280 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6ffad3a rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7b40d05 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe95a9d9e xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebe73d1c xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec7e9721 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeca487a8 svc_close_xprt +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 0xf1e1284d xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf46c0913 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf589b495 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5c56382 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6045715 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6bf5436 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf72c8079 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbf3b0b5 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcde45f4 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfce8f875 svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfee7fcb0 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff03eab1 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff2f8918 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff3a3169 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffd3ba64 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffee83af sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/wimax/wimax 0x3b7a8451 wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x4d389fca wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x56dc52be wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0x56fa8280 wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x57cd261c wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x608b2253 wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x8be2e8d1 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x9221c16d wimax_state_change +EXPORT_SYMBOL_GPL net/wimax/wimax 0xa569cac5 wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0xccdda565 wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0xd274aca0 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0xe156c16d wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0xec00eb00 wimax_dev_rm +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0fda832a cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1d8c213e cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x31a1629c cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x63385c2b cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x81f56811 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8f913e0d cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xac404499 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb84f7c80 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xbe36099e cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd263b964 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf8495981 cfg80211_wext_giwscan +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 0xddef4126 pskb_put +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x3caf2704 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa128485f ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe9534ffb ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf5ea4b08 ipcomp_input +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x22870207 aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x41f75b74 aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x746fbf10 ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x80f8df8a aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x8a29699f aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xadadae29 aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xc6b3289a aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xcae426ec aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xe5d2825a aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xf6311db2 pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x0627e670 soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x87e71a65 soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x8ed0dd53 soundbus_register_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x9588666a soundbus_dev_get +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x9b5243d6 soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xc79e895f soundbus_dev_put +EXPORT_SYMBOL_GPL sound/core/snd 0x25625591 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x4602aa15 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0x82040b6c snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0xa312ae56 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0xaaf194a9 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5da745dc 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 0x5429827e snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x56809b8d snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x79f3dfbd snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7ebc749c snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x85842d95 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xcc5d465c snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00d28e2a snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0480caa3 snd_hda_codec_new +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 0x0e0257e1 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f88c297 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x119fec25 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x189deefd _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1948e31f __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a7de80d snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b8b4da7 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1be4a56c snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c7ff058 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x246bdee9 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25375663 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2612573e query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a443170 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3215aad5 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3265024b snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x328b4da7 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33033604 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x375cacd5 snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x430f53aa snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b174438 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e7d99f7 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51d9f2b5 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x530824b2 snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x581b93f6 snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58c70d60 snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58c9a425 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b3d7b88 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5e0a8803 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ecb66e1 snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5effaac0 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60d48049 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62b30e27 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x642a6a61 snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x651ae1a0 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65cd2e0a snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66beeed8 snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f01917f snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f2f5432 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7142315c snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71866d19 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x76f55ad5 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7801b945 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79ea68b7 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a248097 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ae5a842 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ba410e1 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7e6f6428 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83217376 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x87e70f9a snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x886a524e snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88ed4a08 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a788847 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8b5157fb snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8d9c577d snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x908874c9 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x938cd09c snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94f80365 snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c53d2a2 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ec81194 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2bb3b62 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa40e5f42 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa550f8bb snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5d14dd1 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab36a8c6 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xabdc521c snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb45a470f snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6b19de0 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba0a1884 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbdaea8d2 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1c77b1e snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc64d98e5 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc67954c4 snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc6a569ed snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc934691a __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc0db9c1 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd59057f snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd6a88b6 snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdf65c0e snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd117c5c2 snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd13c6cfd snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd1ffafb2 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3901a9e snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3dda075 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd51d18e6 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd58d3359 snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6980bd9 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8a56e90 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd95859d8 snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdab7978a snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd18032a snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde1aef4d snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde2d9c12 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdee725a7 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe18c8d4f snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe19692ae snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe31622c4 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5fed04b snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8c3ce2a snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe97aacb2 snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeecf945a snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xefd214ca snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xefe56ed4 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeff19f39 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0c12ff8 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf216bbcf snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3e52a4f snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf41f9fda snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9d48a0b snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfabc8377 snd_hda_power_up_d3wait +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb6acb81 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb926d28 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfbae8ca7 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfcf418b6 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xffd8e18a snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xffec2dab snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x6dec05b5 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xe495a388 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x6b68c367 v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0xdf33c63b max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0x5a97351b tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xb38ffd6f tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x0b163b9d twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x3c6c44b1 twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x905046b5 twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xb17c5957 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xbb5939c4 twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x5191b289 wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x230912de wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x48d170ed wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4c81c576 wm_hubs_hpr_mux +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 0x755da69d wm_hubs_hpl_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 0xa4c3206a wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xc8f490cc wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd96a7fff wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe373919a wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xd21687b0 wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0xfe9b34e4 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xe2d1860a wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xabd7295b wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x9a4499f8 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xd850f635 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0x4bb33abf wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02969c71 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03d36aef snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04714057 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05a1770e snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x07a470cc snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08fd3544 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0904f9d2 snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b9e51cf snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c5f96b7 snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ebfbddf snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f897b49 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x100c5076 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10be8be6 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x110f237b snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11213102 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1275e2b3 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14660087 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15bc89e8 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15c0669b snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x195f68f6 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a83858a snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b0b2d3c snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1cfe9f87 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1e1afb25 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2087c191 snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x22dee840 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24041d57 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25185c9a snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ae17a43 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ccedf45 snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ef8c909 snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f8beb32 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x322264d6 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32f8939e snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x369fe156 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x386ece4f snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38c4a4b4 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bd19691 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d14cb52 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3faa4b30 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x420fe91e snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4362e86c snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e9797a2 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f970084 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5041c076 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5088a610 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x542e7ef9 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x566e50cf snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x583cba6d snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59003397 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x591d9fbe snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x599316d8 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5a5c89dd snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bb0e693 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5f94eeef snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x655dda4f snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65ee683e snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66d9067e snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b5f3d1e snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e419698 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ef26609 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7127c931 snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x714c0686 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71604c12 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79c80c75 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ad1168f snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7dde24fb snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8169d08e snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x836ac4cc snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84570fe3 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8504a372 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87dc78c3 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8991890f snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ab3c84e snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b67e39e snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d141784 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9022730f snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91f11f22 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92d6ac19 snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94d717da snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9927a262 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa41a65cf snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaea7999a snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb04e629d snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb07adce2 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb28d5aef snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3b19873 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4e650eb snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb519aac9 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5dbcee8 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8df355f snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb99578ad snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb38570a snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1375837 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc20ccb51 snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc24f54bb snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc26ec6d6 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2a769a3 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2ad543d snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc764a046 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb61298c snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcdea6716 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xceba8cc2 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1497989 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3485c78 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3de0ca3 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd53df24a snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5f05d0b snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd88ce45e snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd96ce203 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdab83b35 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde11828a snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0c0268f snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1538f3a snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe22cbe79 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb670e3e snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed60f50f snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee115a5d snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1ff820b snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4385ab7 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf50dd356 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7045f65 snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9464828 snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb784fca snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe575cc7 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL vmlinux 0x0008db00 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x000f5a67 crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0x002de302 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x00586d01 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x005d5ccd inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0067df75 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x00c3e2a4 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00d535d2 ata_pci_bmdma_clear_simplex +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 0x012f91dd crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x01959fdf input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0195fba9 btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01ce8c56 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x021ebfda btree_update +EXPORT_SYMBOL_GPL vmlinux 0x031327e0 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x03192a6a shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x03376050 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x033de0a9 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03824b46 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0x038cbf57 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x039c3498 pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x043db246 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x04863e45 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x0488d388 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04b885e2 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04e19868 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x04e9015b xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ab16b9 of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x05ac7e86 pmac_backlight_mutex +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05ec5b13 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x060ffa43 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x061dee59 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x06270786 user_update +EXPORT_SYMBOL_GPL vmlinux 0x062cdd17 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x066a703c device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x06d5519c fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x06e8437d tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x06e92958 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x070782ec exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x07a180f8 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x07adeeef kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07d1631c ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x07d5e6a8 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x07ebeba6 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x07ef7351 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x082a4891 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x0862a8d2 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x0867b145 tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x088e7635 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x08983bfc class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x08adf0bc rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x08bbaa3b blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x08c6fbff regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x08d0b29a class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x08d11ee5 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x08d2577d rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x08eb9f95 dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x0914094c stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x09159ee8 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x0916ee76 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x095baffc power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x0997d020 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09db1823 dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x09e8358d pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x0a185ba2 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0abb614f root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ad51e90 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b27daa9 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x0b4a5b0b ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x0b59390b __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b82b93f subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0bc6f967 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c0d98c0 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c681d2d alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0c8da467 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x0ca737f6 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cc5d410 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x0ccb3e52 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x0cd4a0b0 nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x0ce98a95 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x0cee5cc8 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x0cf5646d usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0d01dc3c pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x0d0c109d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x0d370301 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d57663f bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x0d5b063c atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0db0b936 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x0de06988 cpu_first_thread_of_core +EXPORT_SYMBOL_GPL vmlinux 0x0de46ccd skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x0e138996 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x0e3ee5ea pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x0e41e136 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x0e4e144a rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x0e880dd2 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x0e8c47b5 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x0e8f43bb sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x0ea2a89b rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x0ec78ec4 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x0ef4c79f xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x0f116300 bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0x0f33e21a usb_enable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x0f649836 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x0f726ff3 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0fa7352f class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x0fc01e9f static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x0fd3e36c __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x0fd5bb94 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x0fdca9dc device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x0ffa7446 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1017caf5 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10df597f sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x10e58aa6 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f71fb4 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x1114011d threads_shift +EXPORT_SYMBOL_GPL vmlinux 0x111514f7 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x1130addb register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x1148c837 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1150551e tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x117a8948 inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x118294ef __class_register +EXPORT_SYMBOL_GPL vmlinux 0x11c24faf pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x11cb4459 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x12242bd1 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0x124c4da8 of_get_phy_mode +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 0x12ad837f pmac_backlight +EXPORT_SYMBOL_GPL vmlinux 0x12b30d2d pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x12baa5df vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x12d6d365 usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x12f5e71a hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x130e4507 usb_disable_lpm +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 0x13293154 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x13354608 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x135a09c1 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x136a4ee6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x136fa843 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x13721613 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x13867ac5 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x13af748c raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13e5ea13 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x13edb8b6 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x1400b18e pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x146939d0 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x14825c7b fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x14978dcf tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x14a35b77 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x14fe57d6 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x151e9512 sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0x154aa868 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x155d8124 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x15773196 cgroup_unload_subsys +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 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x160c0ccb usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x160d8f93 __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x1655bb05 queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x16b402a4 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x16d3811e pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0x1704d250 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x17148ebe usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x17289763 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x17338bd6 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x1789d1fe ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x1789e984 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x1791d282 wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0x17bf685a spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x184ffd64 sysfs_chmod_file +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 0x1872e9c9 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x18730db1 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x18768ebf do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1878f62b edac_err_assert +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18f818ff pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x193d48e0 trace_current_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x196f45e9 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x19779e28 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19aa40cb led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x19fb48e1 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a0ee9c5 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a563fa3 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x1a8c5907 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x1a97a8af device_add +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1b1a58f9 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x1b3c40fe __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b40b599 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x1b52db1c probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x1b598081 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x1b5ee13a rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x1b62d68f platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1b781d2f ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1b9b7aa5 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x1bab249b rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x1bcdad12 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x1bd072bc perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x1bdf8411 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x1bf31379 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x1c55ca63 unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c641df3 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x1c70afd6 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1ced62d3 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x1cf82066 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1d093e42 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x1d1906d1 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x1d1a21a9 blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x1d30a82a regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d9496fc of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x1d991c1c crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1dae5622 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x1dfbcf4c mpic_msgr_disable +EXPORT_SYMBOL_GPL vmlinux 0x1dfc4907 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x1e2eed44 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e71e939 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e8e7bd0 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x1eb8ee11 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1eba928f ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x1ebe4fd6 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1edc7a55 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x1ede6a5e sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f038af1 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1f344240 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x1f3fb24d cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x1f6339f4 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x1f6c9e18 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f89bf92 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1ff3edd6 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x20227c4c fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x204638d5 trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0x2049bab8 __destroy_context +EXPORT_SYMBOL_GPL vmlinux 0x2078ed70 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x20972090 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x20b23014 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20bc78d1 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x211e255e __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x218a14e2 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x21d3493d gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x21d36a03 kvm_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x21fabc3c crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x221488bb ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x222cf8ce regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x22798a8b ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x2285200f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22a52b07 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x22b0b61a ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x22d45e1f skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x22e3f78c lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0x22fd685f spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x22fe4161 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x230b76a6 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x2314b1be md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x23382ea3 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x235f78fc perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x23660f10 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x23679939 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x23813835 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23b6afe0 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x2406dae3 pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0x2415c53a crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2417919a device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x243981e0 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x244871b6 edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x247c7a38 __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24a2e6ab cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24bc8ee3 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x24e1307e flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24ef6238 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x252a3a88 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x2543ee20 dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x25445f9c cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x255a4b11 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x259a7599 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x25c96f12 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x26406ee9 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x26489ee2 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x267a10ee xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x268c84f1 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x2691412e boot_cpuid_phys +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26bd048c fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26c9de49 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x26e55719 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x26fc019b crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x2787db00 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x27881583 i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x279b3113 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x27a2c019 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x2802e6af of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0x280ff4fa ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x28420d5f __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x2842a6fb rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x284a66be rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x28a82da4 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x28b16642 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28f98f8c pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x2900d9a7 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x2901a718 queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x29396a52 shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x2954fdfa pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2959aa52 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x29610627 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x29836dfb crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x29cf591f dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x29fa7162 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x2a1ed750 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x2a5c0bec sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a7bad8b uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x2a994760 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x2ab2cecf crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x2adc1a6f tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x2afbe2a5 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2b0bdfd4 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b607170 ktime_sub_ns +EXPORT_SYMBOL_GPL vmlinux 0x2b8740e3 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x2b9e6ed1 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x2bb767c5 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x2c07e676 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c5b949e dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x2c7892a6 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c92ff90 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2cb69419 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x2cc3e675 pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2ced11a2 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x2d065371 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x2d17a0e1 cgroup_taskset_size +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d262b2b usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL_GPL vmlinux 0x2d45c0a6 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x2d4ed94e crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0x2d59c954 edac_handlers +EXPORT_SYMBOL_GPL vmlinux 0x2d79bb51 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x2d8e5787 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2d988a94 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x2dbc3df3 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0x2dbf9fbf pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x2dc5a6d1 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2ddee4bb usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x2e0c21bb crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e34c6d2 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e774148 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ee860a2 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x2ef6b5bf smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x2f03f4e9 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x2f0b4ebe tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x2f2aa116 unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x2f311dc1 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x2f342f42 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f435c87 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x2f4424b5 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f8b9ecb regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x2fd6d196 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x2ffb5ff7 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x30301151 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3040581c crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x3050ec18 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x308dcc4a dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x30a4f4ca bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x30e361d7 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x31216c97 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31269418 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x317b3a38 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31f1eda3 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x321ed287 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x3220ba62 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x3264fe07 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x329c0697 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32e290a8 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x32f08411 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x332798fd kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x33543801 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x33670059 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x33843c57 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x3397e701 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x33aba964 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x33dd2580 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x33ffa383 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x341059c2 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x344028f3 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x3449af42 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x348bc417 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x349f34f7 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34f1ec1c pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x350716a2 blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x350f64fb srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x353b3d65 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x3542b989 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x354ffb4f input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x3550dc3e rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x360106a8 ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x360cfd28 check_media_bay +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362399f1 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3635f34a remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x36a59b48 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x36ab8882 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x36b68b0c dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x36c389ce usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x36c50797 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x36c8469e usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x36f04790 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x36f073b7 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x370f98a8 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x372ffc8f usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x373bf09c bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x3804b99c usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3806ffe0 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x38476866 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38b52e07 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x38bb60f9 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x38c95c91 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x39141f58 sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x3929f42c wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x39408446 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x39504e40 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x397ef9ad crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x39a0e6c8 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x39bd9159 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x39d7bb0a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x39dfac66 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a36a427 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a505274 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a579dc7 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x3a963eef ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x3aab5ccc ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3af6f0ee show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x3b2908dd rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3b74f6f8 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x3bbbc611 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3bf3711d tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x3c031d95 sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x3c17dd75 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3c35787c ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x3c43e9b9 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x3c55d426 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x3c660b85 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3c96b911 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x3c996821 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfbcdcb usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3cffedf5 cpu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x3d11ed27 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x3d206589 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x3d2ce2ac sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x3d352ab5 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d6ce026 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x3d92feda fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d9f4a61 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x3db4dde8 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x3dc916b6 crypto_fl_tab +EXPORT_SYMBOL_GPL vmlinux 0x3dd4d3a7 bprintf +EXPORT_SYMBOL_GPL vmlinux 0x3dd75e5e rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3e5b08fc ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e7ecafb usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x3e8159e1 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0x3e87d237 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3ebb57c3 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x3ec49376 devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3ee536f9 md_run +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f30e723 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x3f629ad2 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3f81f1b7 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x3f833961 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3fa5d925 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x3fb4fb3e ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x3fd459a3 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3fd5de29 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x3ff3f450 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x402c06d6 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x40311ef1 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x40312123 fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4046564e bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4052024e wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x407783fd debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x40a6ff74 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40bf5b55 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x40cd3cc0 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x40fec626 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x41097c53 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x4121fd7c pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x4166f378 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41892fbf wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x42042040 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x425322e5 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x425c1c0b ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x426e3ba8 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x428afbfc sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x42b364ef scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x42ec9e81 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x42ee3e34 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x43095888 use_mm +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x433afad3 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43a9572d ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x43b9bfc0 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x43d1ddea of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x43e46e08 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x43ee440d sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x43fdd0de gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x44043321 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x44072ab9 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x4455e1b3 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x4457b967 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x4462cb75 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0x446cfffd sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x447768e9 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4487e8f0 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x448b98d3 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x44bcfa6d system_nrt_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x450a69ac subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x4514d1a5 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x45599da8 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457d71ef unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x458518d1 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45fc7d16 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46f2d239 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x47112f02 wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4733d2ff usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x47732899 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x47ad0ac3 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x47b42a8a max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x47c149ab queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x47fc60b2 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x48006a91 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x48247ac8 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4863ae54 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48aea224 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x48cadac1 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x490d367e regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x490fc469 __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0x492a7cca rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x493afe13 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4943a338 __init_new_context +EXPORT_SYMBOL_GPL vmlinux 0x4955991c dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x4982a57f probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49c8f816 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x49ff044d da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x4a2547c2 threads_core_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a3e8514 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x4a4aa7f7 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x4a9122fe dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4b257085 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b5f3502 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x4bb01a43 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4bdd19e4 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x4bed100b ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4bfe171d con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x4c280bf4 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x4c4ddc46 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x4c73be3b disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4cac6ebc bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x4cec855a regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x4cf2e8e0 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x4d002a18 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x4d093a3d ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x4d172ccb ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x4d362ea4 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x4d6f9ff6 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x4d89a451 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x4d99ecc8 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x4d9e77c7 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x4db4ea0c pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4dc5aee4 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e42f824 sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4e82506b sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x4e84e204 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x4e96c8e7 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0x4ebf144b swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x4ecf377f tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x4ee987e8 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x4ef54b73 bsg_remove_queue +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 0x4f5379a2 inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x4f7c10c4 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x4f881b16 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x4f8b87e9 fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x4fa30c9c pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x4fb06992 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x4fd42b69 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x50367245 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x506cc085 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0x5085ad09 blkio_subsys +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 0x50d57723 sk_detach_filter +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 0x510f339a hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x51185fc5 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x511ae47f tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x51494143 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x515453be rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x51846493 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x51a5970a md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x51af7f83 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x51b65a26 rtc_lock +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 0x52d2e1f7 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x52d303b3 device_register +EXPORT_SYMBOL_GPL vmlinux 0x52e50553 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x5314d249 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x53662463 tpm_gen_interrupt +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 0x53ce0362 tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x53fb2f36 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x54112d81 mmput +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x542beca5 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x542f814e rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x54569aea crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5460c2dc bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x546c5565 ppc_tb_freq +EXPORT_SYMBOL_GPL vmlinux 0x547f22df elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a66912 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x54e27a7c subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x550aa1e3 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x551af448 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5520ebf4 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5527439e sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x553d749b mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x554b1e68 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x55b38ae0 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x55e74041 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x565bd292 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x568c4fd3 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x56b00e50 da903x_writes +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 0x56e8dc32 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x56ec1ff0 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x574d059e inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0x57782a4f rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x5787d52b ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x579995c0 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57abe3c1 user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x57fe50b8 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x581075d0 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x58117db5 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x5890727d usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x592a96eb rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x592d8094 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x5939ea5d aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x594358b4 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x594ddd5b blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5984e991 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x59892713 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x59935bbc dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x59b3b204 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x59eac7af pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a1bba28 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x5a25626b hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x5a40f63e device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a743bec get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a9811bf pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0x5b05e2a8 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x5b0d97e2 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x5b201ba9 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b65f2c7 event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x5b80e488 spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x5bac5ac9 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bfb0d1d find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c060d11 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x5c2e9a7b usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x5c6f6873 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x5c8152a9 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5cc6c5fc setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x5ccb6ee6 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x5cef4a98 pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x5cf8f0f4 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x5d00270a __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x5d0ac405 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d2d8fa9 tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x5d51bcf7 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d8a16fe debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x5dc2618a rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5dfb0381 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e012be1 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x5e2c2754 cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0x5e46318f bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x5e4ff19a crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e55f058 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x5e61ecbe evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x5e8cda2e xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x5e909c48 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5ea33360 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5edf7ac2 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x5f0de7d9 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x5f248f72 set_timer_slack +EXPORT_SYMBOL_GPL vmlinux 0x5f46d244 of_irq_map_raw +EXPORT_SYMBOL_GPL vmlinux 0x5f4cea90 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x5f7a4434 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x5f80ab4c inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x5f93cc48 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0x5f96e837 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x5f988dee usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x5ff20c95 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x600b2025 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x60146a77 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x602fcb30 macio_find +EXPORT_SYMBOL_GPL vmlinux 0x60343ce7 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x605d5b26 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x607cc067 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60cfd7ef sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x6129bf7f rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x61524d1a ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x615526b5 user_read +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x617e2db7 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x6181e521 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x61a596f2 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x61a68a63 disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x61a7a8da pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x61a90c54 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x61c9023c device_del +EXPORT_SYMBOL_GPL vmlinux 0x6210534e crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x624a6406 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x62502d7b tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x627e9eb1 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x62a9bcbe devres_get +EXPORT_SYMBOL_GPL vmlinux 0x62b6b1b9 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x62c735eb inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x63196983 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6348ad4e stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x634fb36c srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x6369dd99 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x637aae7a tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x638f86fc mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x63ad1c08 __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x64092471 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6453f77c pmac_has_backlight_type +EXPORT_SYMBOL_GPL vmlinux 0x645efe39 spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x64923d8a class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x64d14b2f stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x64e62e8a transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x65003d44 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x6512862b cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0x65169e48 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x65587ca6 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x655f6fc7 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x6578c783 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0x65800687 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x6590736d tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0x65a10bd2 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x65b9b921 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65e9cdd0 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x65f9bffa wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661c7cd1 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x664bb4d7 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x66694e54 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668a224c uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x6694d323 bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0x66a93000 usb_hcd_check_unlink_urb +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 0x670b7363 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6745f388 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x674b0b1d usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a01099 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x67a0822f inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x67b26bd7 rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0x67db1732 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x67f5e003 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x6812cf8d __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x681362d0 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68956406 static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x68c740f9 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x68e34dd3 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x6951fe20 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x695ca1af __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x697cbbb4 threads_per_core +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x698dbd17 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e9a2cb ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x69faf9c6 __module_address +EXPORT_SYMBOL_GPL vmlinux 0x6a099126 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x6a329258 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x6a4828f2 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x6a5fb566 rcu_sched_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x6a6825d5 wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x6a7ef34b led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a97b4f7 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x6aa71b7e default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x6ab922b2 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6aba167a regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6acf9860 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x6ae0b0b5 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b0a8ba5 page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x6b0f36b2 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x6b1c4e74 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b3810a1 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x6b3c770e usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x6b4a2d44 dma_buf_mmap +EXPORT_SYMBOL_GPL vmlinux 0x6baa4f48 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x6bfe1572 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x6c05bd3c dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x6c07df5f tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x6c3211f4 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c5d672e usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cc36445 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6cf14dfc sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x6cf1d0db crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x6cf665cb rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x6cfe78cc bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x6d13019a inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6d1c8ba5 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31e93b tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6d3ce642 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x6d4172ba rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6de5910a vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x6e23a711 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x6e82b32c ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6eb4db1a ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x6ee1e195 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x6f1f8df0 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x6f27c435 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x6f4521fe posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x6f521be6 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x6f8d3d88 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x6f91d1cc set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x6fac625c pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x6fadc19a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x6fbc719c pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6fdb284d sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x6febc6df usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x6fee59bb sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x700227d0 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7029e9b2 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x70407a6e ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x709ea02b kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x70bb651d __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x70cdb377 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70da9184 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x70ef0b6c key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x70f4fb96 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x7141cdc4 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x717f3d1c sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x718fca27 xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x719bb2c2 of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x71c2f72b tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x720d6fee __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x7267db00 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x72741f25 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x7276dbf6 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72a68651 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x72b212ff regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x72c378f9 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x732e9483 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7334b18c cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x73564277 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x735bf650 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0x738ad06b pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x739aa1a1 pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73cc1fa7 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x73d69364 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x73dcf893 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x742fb229 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +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 0x74b6c493 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74db04b0 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x753350b2 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7534b3d2 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x7548452a regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x755eb57f dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x756d79cf ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x75990a3a da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x75ad734e usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0x75b919da crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x75c8a11c inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x75d17d0b pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0x75e5d22a md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x76009ea8 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x7626b273 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7649805b __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x768361fd fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x768c0664 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x768fcfbb inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x76a069b9 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x76a59e71 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x76f72a58 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x770cf981 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x77274d10 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x772a1c8a register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x775cc2e1 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x77747da3 timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x779b8feb stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x77aba435 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x77efa62f pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x77f622bf stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x780ad952 filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0x7833d2e1 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x78368079 page_cache_sync_readahead +EXPORT_SYMBOL_GPL vmlinux 0x786d8387 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x78b821c9 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79a80649 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x79e365bc platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x7a201d42 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7a24cf86 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a520466 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x7a5dad47 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a9b6fb2 ahash_attr_alg +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 0x7b1c358b rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b60d9dc tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x7b76a1c9 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x7b9363a9 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7bb0c5a7 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7bb85116 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x7bbe298c dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x7bea0cae disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7c0c2950 wait_for_tpm_stat +EXPORT_SYMBOL_GPL vmlinux 0x7c6b8d30 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7c79160c pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf888dd dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x7d207bfb ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x7d4d97ad usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x7d58c24c rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d662586 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e0518a8 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x7e0826cc platform_device_unregister +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 0x7e2821af input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x7e436880 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e93ed6b tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x7ead28fe ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x7ee4d340 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x7ef7a3b9 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7f008202 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f0c4e6c pci_enable_pri +EXPORT_SYMBOL_GPL vmlinux 0x7f222e30 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x7f5edb60 tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0x7f65f6d2 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7f7bc710 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x7f7d4ed4 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x7f8a453e devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x7fb67c78 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fd62171 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x7feb3ebc of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x803c3258 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8047fa04 swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0x80493285 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x805b3f33 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x80866609 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80aa8440 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x80d07a56 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80d62280 ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0x80d89d50 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x80f95724 __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x8177373d pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x817ccde7 rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0x819df064 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x81a37ae1 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x81baf555 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x81f41755 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x824c7ac7 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x82a48f9e pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0x82bd5bb3 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e2fc96 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x830f8566 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x83184633 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8330ebbb platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8374e3b7 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x83876e20 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x83947ce4 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x83a5ae2e __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x83b2a32d kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0x83c7a3fc __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x84af67f7 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0x84ccc3b4 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x84d92173 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x84ecb7cb timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x8520239d i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x855de45b static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x856629e7 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x856d2dea __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x8574ca6c gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x8589777a anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85931c59 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x859bd606 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85ce353e fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x85e6a3ae pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x85e6fbaa devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x86482f6b usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x865a2523 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86e04d2e pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0x86e58d7d dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x87057e78 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x8727d2c4 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x8761b7a2 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x87673c99 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87984b16 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x87d0790d unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x883f08f4 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x884ce9aa wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x887a23df find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x88874ba9 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x88b01190 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x8915a21e usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8942dfe6 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x898fa2b1 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x89a3531b ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x89a5d0a1 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89e501a8 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a04b9fe tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a04de29 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x8a16b797 register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x8a53f3a0 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a68da7b blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x8a73802d crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x8ab57756 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8b0aaa27 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x8b1ced2f skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x8b3139fa zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x8b5fb4fa ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x8b70e8ea __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8b7713d4 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0x8bbe2c47 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x8bbf282c fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x8bc561aa device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x8bdb8913 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c23ef5a tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0x8c33c9ec ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x8c5dcf03 cpu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x8c6850e7 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x8c80b71e rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x8cb768d3 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x8cda489f crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x8cebd955 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x8cef56e5 dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0x8cff0d9b rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x8d05a583 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x8d14f8ca pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x8d23a032 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x8d6f6905 get_device +EXPORT_SYMBOL_GPL vmlinux 0x8da17b42 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x8da61452 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x8dad55e8 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x8dbd129d devres_add +EXPORT_SYMBOL_GPL vmlinux 0x8dd9f26a usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x8de006fb scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0x8e03a80e xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x8e214d6e shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x8e2e8f63 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x8e36cca3 fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8e53236f crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x8e928a41 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x8e981373 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x8e9a32b4 blk_unprep_request +EXPORT_SYMBOL_GPL vmlinux 0x8edae71b of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x8f037d09 cpu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x8f050b75 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f499f46 inet6_csk_xmit +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 0x90068ea1 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x902edad2 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x90342627 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x903cc2b4 tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x9050f551 ref_module +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x9073670f usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90de3929 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x90ef5743 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x9136001e inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91cefdd5 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x9271c5ec device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x92b57248 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x92bac364 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x92cfd5bd usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92de5a2e ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x92fb73e8 __css_put +EXPORT_SYMBOL_GPL vmlinux 0x930257c3 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x93125c16 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x9378b60a tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x9386ddc2 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x939e362a fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x93a2cb47 reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x93e946ac rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x941e523d ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9428aa23 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x9437bd03 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x944c774a transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x9476f44c devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94bc9374 part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0x94bfdc46 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x94e3348c dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f42e77 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x95094b9a debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9542c969 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x957f245b css_depth +EXPORT_SYMBOL_GPL vmlinux 0x95b12450 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x95b2d385 get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c2698b gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x95c77a68 __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x95c7a889 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x95e2c603 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x962bb2de power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x9635ef24 scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x964dde1f platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x966ac839 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x96a06d17 irq_domain_generate_simple +EXPORT_SYMBOL_GPL vmlinux 0x96b7f627 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x96cbcf31 pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96e4452e fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0x97204803 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x9765ce90 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9782abce perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97be0636 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x97eb55ec led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97f8d2d0 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98450e01 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9873b98a rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x98a8e7fd regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x98c14011 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98d9b237 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x9903a24a ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x991877b7 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x991b792c ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x99236313 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9925ff18 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x99608030 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x998597a9 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x999a4094 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x99bc0760 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x9a0ae20b unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1cd955 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0x9a49d937 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9aa0cbc0 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x9aad6540 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x9abbc8cc tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9ad38a2f devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x9ad60fef skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af8b059 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x9af970eb inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x9afebecc dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x9b4aa16c skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x9b5d0b7a ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ccc9613 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x9ce0aa02 rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x9ce82cf2 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x9d0946ab pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x9d18e52c of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x9d777279 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x9d8331c0 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x9da8160b blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9dfdf722 gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x9e11ca36 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x9e440320 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x9e52c280 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x9e74c320 css_id +EXPORT_SYMBOL_GPL vmlinux 0x9e7a3888 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x9e83f717 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9ea865cf blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x9eada192 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0x9ee8c973 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f1aef1a wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x9f3e4093 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd8190d blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fedb268 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xa01f2c3f ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xa02482b2 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xa02c239b bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa074df3e mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xa0a5a815 pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0xa0c3f04b put_device +EXPORT_SYMBOL_GPL vmlinux 0xa0eca805 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xa1274e11 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa14c8e68 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa14d28dd crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xa152fee7 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xa15afed8 blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xa15f5cc6 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa1bd7822 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa1c155bd wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xa1cee8ec crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xa22b20a3 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xa22b90ad fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa2396215 devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa2768612 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0xa28a7eb0 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xa2c85e81 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xa311ab97 s5m_reg_update +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 0xa34e2bbd ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xa35017bf console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xa357d56e ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xa35a31d0 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xa383d612 uart_console_write +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 0xa3a04650 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3da302b platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xa3e418c0 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa440c920 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xa453ebd6 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa45bf3fd usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xa465ce52 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa47a7a70 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa4804894 dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xa48420c7 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0xa4a2c38a ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xa4b1a579 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xa4bf6efb vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xa4cdd81a __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xa4dcfd21 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xa4fd0c8e blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xa5056d37 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xa51bed9b kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xa5912ba6 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xa5a45a87 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL_GPL vmlinux 0xa5bd356c __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa61b1477 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xa621d107 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa63aa828 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0xa66b769b bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa66cf4c7 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa6785b03 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6bfb5bf rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xa6c5e4c0 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xa6c9df4f dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa71aa7e7 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xa75db119 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0xa76a7565 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa797679e rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa7f3ac9a dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa7fcf2bb sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xa836e99f tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xa8ab9eef blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xa8aeed61 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xa8b30603 pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa8f66ac6 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa93645ab raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xa941c0f4 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xa9a3088e usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xa9b91f41 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9fb4361 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xaa2a72bf __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0xaa519235 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xaa658a13 input_class +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 0xaacdc09c sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xaacf3a2f unlock_media_bay +EXPORT_SYMBOL_GPL vmlinux 0xaaec6fc5 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0xab238eaf crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0xab52f887 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xab5bf1c8 md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0xab62e3da usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab900122 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xab9b53a0 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xaba610e9 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xabb62f69 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xac31a148 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xac38dcf4 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0xac43900e ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xac4f1f79 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0xac988c9d crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0xaca6a566 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xacabf2ca blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xacc5478a pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xace9d926 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xacfd81f6 work_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad3123de netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xad9a42ab sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xadb0d81c scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0xaddc4de0 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xadde2ba7 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae3f7838 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xae40031e dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0xae41fc9d inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xae536f21 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7a1dc2 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xae7f4781 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xae856d48 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xaed4ce34 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xaf32afb3 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xaf487394 blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0xaf51b06e find_module +EXPORT_SYMBOL_GPL vmlinux 0xaf6badce usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xaf78f232 tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xaf99cf20 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xafcffa44 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xb040ff14 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xb0578389 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb05fb10e inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xb0913148 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0xb0b4c919 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c32416 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xb0c36def pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xb0d19e04 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xb0dc6fb2 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xb0e55ce5 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xb10d55bc cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0xb11b4eca crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb1213c8a perf_event_disable +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 0xb149db9f pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19a8c12 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xb1acbcce rcu_barrier_sched +EXPORT_SYMBOL_GPL vmlinux 0xb1bc5d39 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1bf9655 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xb1c6001a sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0xb1f99105 disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xb21a69d6 class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb2201a2d pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0xb23b2b55 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xb2781ec9 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xb28b9104 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb2b54dde srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xb2dc4a15 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2f783c1 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xb30c7578 mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0xb3208655 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xb347f2ed ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xb35236dd adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xb35f1343 __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xb394edbf pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3ae8342 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xb4040e79 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xb4047284 __put_net +EXPORT_SYMBOL_GPL vmlinux 0xb410b7d1 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xb42e3a05 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xb46640b0 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xb47fdad2 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xb4c6f4c3 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xb5093446 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xb51debb0 sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb5231efe tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xb52cd051 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb53866c3 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xb540a8fe tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0xb55f35b0 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5c8edf4 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5d9efa6 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb6095709 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0xb60b5707 of_i8042_aux_irq +EXPORT_SYMBOL_GPL vmlinux 0xb6381762 crypto_drop_spawn +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 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb72f06e1 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb7416fc6 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0xb7b25b29 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xb7d3a0e0 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0xb7e3611b blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0xb7e62e62 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xb7e992ee blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xb8043ce9 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xb8065ef2 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xb82d6e7d posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb846bfda blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0xb84d3887 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xb8ad7f9e class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9ce0fa0 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9da2997 snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0xb9f22f67 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xba158769 rtas_cancel_event_scan +EXPORT_SYMBOL_GPL vmlinux 0xba644d66 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xbaa5b2db crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xbab7eae6 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xbababe81 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xbaca2ed7 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xbad26090 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbae39d0f cpufreq_freq_attr_scaling_available_freqs +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 0xbb5b094a crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0xbb5d7359 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xbb6a1c61 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xbb706414 dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0xbb72a3ab __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xbb7d1550 pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xbb822199 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xbb885753 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xbbdf1511 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbbe83d3c debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xbbf6434a wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xbc0ac105 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc1fb822 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0xbc45ee15 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc9a37f7 pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xbcc65c27 pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0xbcca44aa locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xbcd66a42 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xbcea478e tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xbd22a7c6 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0xbd4736bf usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd742ce2 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0xbdce43a8 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd2f42a rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe2390a1 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xbe296e78 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xbe29d75a cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xbe305d96 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xbe543af7 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbe81828a ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xbec79c8b isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0xbefdce7a kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf365efe scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xbf3b2709 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbf608a80 skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbf60be32 map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xbf64fd96 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xbf8e498b ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xbf9668fc blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xbfacc05e ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xbfc9f0dd scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xbfd8dded pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc00131cf visitor64 +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 0xc08647ff ring_buffer_bytes_cpu +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 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc1174803 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc132fb08 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc14adaf4 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0xc14f8f6d usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xc16614d7 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17eee02 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc191e9d3 sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xc1a2e048 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xc1dd065f spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc1eae7ab pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xc1fce9c3 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc23b4377 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xc272bc34 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xc27acbc7 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xc27e0dd9 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc27e2d54 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xc28db39e fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xc2c2a73a seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xc2d8906b elv_register +EXPORT_SYMBOL_GPL vmlinux 0xc305a81b dma_buf_export +EXPORT_SYMBOL_GPL vmlinux 0xc30b3a36 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0xc32f3dab do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xc331f35e spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc388a103 pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3aeb748 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xc3bef2a2 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xc3e35561 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xc42061f1 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc454c4b3 nf_register_afinfo +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 0xc48452cc ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4a486cd usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xc50a8b94 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xc50aa593 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xc5494e0e transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc5771596 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xc5a79fab unregister_jprobes +EXPORT_SYMBOL_GPL vmlinux 0xc5a7bc7c usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc5b5c7ec __class_create +EXPORT_SYMBOL_GPL vmlinux 0xc5cb2cee usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xc5d6f268 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xc5f9b8e1 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc606cd3c boot_cpuid +EXPORT_SYMBOL_GPL vmlinux 0xc60eb7cf tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc61c4851 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xc62d8e77 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc674ccef cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xc6828178 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xc6e0de5c platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xc72496a1 ata_std_error_handler +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 0xc7b5f071 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xc7beca23 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7e9c983 posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xc8467314 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xc878ed06 devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xc8931f43 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xc89c7c96 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xc8a06b68 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8daaffd register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xc8ead323 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xc914fe72 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xc9405b01 irq_radix_revmap_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc94e3824 timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95d8f5f seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0xc9840692 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xc9cd8d29 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f9f919 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xca098983 pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0xca18848f i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0xca1a66d9 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xca29368f pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xca3e26fe dma_mmap_coherent +EXPORT_SYMBOL_GPL vmlinux 0xca4421d3 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xca5191e4 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xca5269b6 css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85d8cf tracepoint_probe_update_all +EXPORT_SYMBOL_GPL vmlinux 0xca8b6572 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xcab4ed05 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb4af844 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xcb4ef2af regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xcbc2c8dd atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcbcd9b42 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0xcbd9bf52 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xcbe5f814 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcbee6ba0 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc23bbfc __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc36faf4 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0xcca2e055 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xccac4477 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcd0e095a cpu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xcd768bd2 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd8b5064 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcdb01877 ktime_add_ns +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcddc1c02 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xcde13c77 flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xce0a09a3 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce3a0928 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce789a86 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xce8c5fd1 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xceaaaf7f ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xcecbaf65 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xced49e9b __bus_register +EXPORT_SYMBOL_GPL vmlinux 0xceecbed0 pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0xcef27227 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcf2b77f4 i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0xcfaeaa54 power_supply_powers +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 0xcfef3249 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xd00652f3 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0465571 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd05fb47d regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xd063e643 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xd0a9c7ee tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0xd0b31cbf ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xd0b67396 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c0a627 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xd0c68ec4 pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0cffbc9 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xd0de77c4 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xd0e5c546 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xd115c7c5 crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd17ab596 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0xd19e56bd wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xd1ab1517 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1b9195a __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd1d606c1 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd22fc03c inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27a5202 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xd29f1953 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2aaeb4e kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xd2b9de97 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xd2cfe9b3 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xd2e37f46 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xd318ba18 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xd31ac84f dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd35284ce blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xd354c902 rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd3ba037a crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0xd3e60c36 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd43f89c4 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xd46e5b30 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c22a2d blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xd4c933d2 dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0xd4cdeaf1 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd4e181b1 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xd4f8b363 flush_altivec_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xd4fe1ed5 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xd5370f59 blkdev_aio_write +EXPORT_SYMBOL_GPL vmlinux 0xd5405649 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd567194f vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xd56922bf cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xd582227a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd592afdd da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5ab495f cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xd5b4d4eb usb_string +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5bd8881 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd683ac77 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xd68ef915 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xd6b52a90 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xd6c2e04b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd72ea6c4 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xd74f9213 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77b2fa4 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +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 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 0xd898902f cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xd8b0e774 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xd8d2ae32 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xd8d73ccc crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xd8dc7cf9 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xd9319b69 spi_get_device_id +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 0xd9967ffe sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xd999004a bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xd9c8bd3a swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0xd9ecb670 ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xd9ffc57a raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xda0a4d22 mpic_msgr_enable +EXPORT_SYMBOL_GPL vmlinux 0xda1be8e1 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda3dceed __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xda441035 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda4eb86f ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xda53fbaa shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xda69d697 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xda76ae8b wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xda974f8f usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xdac53ca9 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xdad9dc4a lock_media_bay +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb48dab7 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xdb7cbcf1 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb8066d2 ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb9235ca srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xdb9b3ddc regulator_bulk_get +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 0xdc47258f regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xdc671e09 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xdc757eb5 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc96edd2 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdcef9260 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xdd1935cc sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xdd1cc505 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xdd2efc0f ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0xdd649b02 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xdd6da307 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdd9114e9 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xddcb08a5 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xdde53467 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xddee98a9 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xddf8ae11 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xde0388af class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xde304706 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xde393bcf raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde525ddd __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xde70aa19 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdebad755 __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xdef1a143 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf27877b register_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xdf2e68cb pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xdf71d004 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xdf7fcc2a spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xdfa033bf ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdfce24a4 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xdfd7a4c8 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xe007de41 kallsyms_lookup_name +EXPORT_SYMBOL_GPL vmlinux 0xe0298a4a fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xe02eb6d0 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0xe02f1d79 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe036b3e9 mpic_msgr_put +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 0xe0a2bb6f rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe0da41df ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe137a617 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xe16591ab stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xe168bd4c driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe1759dee scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xe1eb6d7d pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe1f0524a regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0xe20cefe5 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xe2136287 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0xe21f2f70 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xe23a7766 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xe279370a user_match +EXPORT_SYMBOL_GPL vmlinux 0xe2974072 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe2afb1a8 crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0xe2bda80b dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe2ffd92e bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe30e4ce7 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe30fac88 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0xe3105286 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xe326ac7a pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xe362c607 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3947667 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe3e7b198 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xe415e214 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xe41ac4c1 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xe42d39b0 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe44607a1 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xe46862b9 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xe486f863 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0xe49620d3 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xe4c031f8 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xe4cc64e4 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xe4dce365 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0xe5072a2d scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xe508f376 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xe50a13f6 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xe50f7890 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xe523c237 device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xe5553121 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0xe55ddcb0 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xe56e0ad5 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5b91b85 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xe5d96f27 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xe5e37029 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe65877e7 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xe660a139 d_materialise_unique +EXPORT_SYMBOL_GPL vmlinux 0xe671f33c pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0xe67fdb83 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xe6b5771a __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xe6bffbf9 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe6de2fc7 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe7145917 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xe7354f1c get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe74cdc4c input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xe751076c evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe7c69b2d rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe81848a5 ip6_dst_lookup_flow +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 0xe86feeff crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xe8762cba ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe8a87efd blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xe90d00e9 device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0xe9219fd9 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xe92a9203 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94f8755 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe95fbbaa __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe9607424 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xe9cab2ac __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9eef08e ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xea018f3d spi_setup +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 0xea3fc0c4 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea93cf08 skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0xea9b921c rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xea9eca08 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xeae4d5f6 device_create +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeb031712 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xeb149ad0 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb371aa5 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xeb4ddb17 pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0xeb56fd5c swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0xeb620a54 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xeb8ae736 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xeb9abbee ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xeba2d7fa ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xebc65133 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xebe85889 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xec0f9748 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec504ead crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xec5ff5c2 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xec86317c usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xecc062bf tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0xece20767 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xece5ed80 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xecea75d0 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xecffcba0 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xed653292 tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0xed6668c5 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xed87eea0 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xeda39219 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xedc27ad1 proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xedc2994d ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0xee020087 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xee181347 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xee492714 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0xee971746 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xeed88f78 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xeefb5285 scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xef2df38c cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xef409b74 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0xef5c73ed wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xef6c23d5 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef742f48 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xef88783e led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xef896d7b cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xefd8749a wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xefde808b debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xefe26f48 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xefe9a7fe ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xf03359dd set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xf03e7a35 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xf05cff65 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xf0a848a0 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xf0b04b1f spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf0bac2d6 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xf0d9a429 regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xf0e2d7c3 s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xf0e9a818 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xf0feb594 rt_mutex_timed_lock +EXPORT_SYMBOL_GPL vmlinux 0xf10698ae class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf10c0462 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xf158f170 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xf176c2e1 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1a62b6f of_i8042_kbd_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1c7ff44 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xf1da4fe0 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xf26ec2d2 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xf29931d0 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf2e0831e __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xf2f688fb ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf3036f57 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xf30e105d ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xf30fda27 lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0xf317989d usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf320a68f dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf33bd9f0 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xf34dd3bb unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0xf36b3d97 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf3a54230 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xf3ae1416 cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3c614a3 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf40b51b8 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0xf4681846 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0xf4728fc6 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4d4d375 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xf4ed818a inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5034114 device_move +EXPORT_SYMBOL_GPL vmlinux 0xf5158b21 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf565c1b4 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xf5875953 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5ccfda6 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xf5fec067 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xf6172be0 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xf61d021f usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xf6354023 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0xf63660f0 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0xf64f6a27 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf64ffe5c ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf65818b9 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf729719f each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0xf74c3a2b regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xf7859f41 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xf78b2233 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xf82f16b3 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0xf846506f irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf86078ba rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xf865d0e4 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8803e4f flush_fp_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xf88985cd ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xf89bddf7 xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xf89f967a unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xf8d009ef stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xf8eeb12d __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf902c058 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xf907be2b attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0xf9091ce7 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0xf93883ba ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xf984fdac get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0xf98d9f19 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa084944 dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0xfa156354 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa38dcc3 dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xfa3db628 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xfa7214f4 devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0xfa7a76dd inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xfa8dc298 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xfa8f30e1 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfa916c55 __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xfa9dd504 timecompare_transform +EXPORT_SYMBOL_GPL vmlinux 0xfaa0837a __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0xfab60503 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfacd1ef4 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xfadad288 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfaee4c90 crypto_shash_final +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 0xfb6f9d45 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfb7e0606 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xfba0ef12 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xfba5be44 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbc1ca7d mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xfbcf717b debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xfbf45b79 single_open_net +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfc2558df pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0xfc3c0dda crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfce08118 swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0xfce7258a cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfcffb4e1 pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xfd255686 md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xfd643494 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xfdbc5271 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdfebb29 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xfe070c07 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xfe46d2f8 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xfe77a5d3 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xfe801410 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xfe81ab1f cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfee55cd8 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xfeea1ffd transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xfeef468a security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff09b236 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xff330e01 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff69bd4a sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xff96fdd0 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xfff97141 da903x_clr_bits --- linux-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/powerpc/powerpc-smp.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/powerpc/powerpc-smp.modules @@ -0,0 +1,3227 @@ +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 +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 +blocklayoutdriver +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 +libahci +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 +nfs_layout_nfsv41_files +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 +objlayoutdriver +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 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/powerpc/powerpc64-smp.modules +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/powerpc/powerpc64-smp.modules @@ -0,0 +1,3233 @@ +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 +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 +blocklayoutdriver +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 +libahci +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 +nfs_layout_nfsv41_files +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 +objlayoutdriver +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 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +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 +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-lts-quantal-3.5.0.orig/debian.master/abi/3.5.0-42.65/powerpc/powerpc64-smp +++ linux-lts-quantal-3.5.0/debian.master/abi/3.5.0-42.65/powerpc/powerpc64-smp @@ -0,0 +1,13020 @@ +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 0x29bfee91 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x51b08c6f 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 0x0ffad479 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x473e444a pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x56004de9 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x5b36f1b6 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x609870a4 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x6e997a22 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x74de7815 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x8e8c1c59 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xa773f136 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xc25760f1 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xc5fd474a pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xf5c0be16 pi_do_claimed +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1348760d ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x16b6fa1c ipmi_smi_add_proc_entry +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 0x1f21fc67 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x240c59fe ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2c3f8652 ipmi_register_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 0x82490aef ipmi_smi_watcher_register +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 0xf2576cb9 ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfcb77cfd ipmi_free_recv_msg +EXPORT_SYMBOL drivers/edac/edac_core 0xa0214adb edac_mc_find +EXPORT_SYMBOL drivers/firewire/firewire-core 0x04d0f641 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7d6af8 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x11081e69 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16e91e21 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x17b7be3a fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x215c905b fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2229996f fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x286eb624 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x310ebc66 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x42309c20 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4892f9e6 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4a2a3ba7 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x542d967e fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x56bb2098 fw_fill_response +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 0x69e27e06 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x841aa7c9 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8c1c1477 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8dbb5819 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x90863005 fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x924b2345 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x97688309 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa9a5f51b fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb3e8c763 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb476474c fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb4f24a77 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe2ae4cc5 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf760b94d fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfb311171 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfbc92256 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfdb25586 fw_card_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02fc209a drm_get_pci_dev +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 0x050d58d1 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0534c7eb drm_mode_create_dirty_info_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a841a74 drm_prime_lookup_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae4b94c drm_ht_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0de31c50 drm_mm_init_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e3e5353 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ef6b866 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f8c21dd drm_sysfs_hotplug_event +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 0x153ece13 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15814936 drm_agp_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x168195a1 drm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x171dbe25 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1784a3ec drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x194eadaa drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a64be82 drm_i2c_encoder_init +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 0x1bf322d3 drm_connector_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d211dd1 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e7156b5 drm_mode_connector_detach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20645642 drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2204f7b6 drm_mm_debug_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0x228d73cc drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23973e56 drm_mm_insert_node_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24a14e60 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x279a9962 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x282b6504 drm_global_mutex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28ea2fa4 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x294422fc drm_connector_unplug_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a84427b drm_agp_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a848e1b drm_prime_init_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a8d844f drm_mm_get_block_range_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b4603b0 drm_put_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c65848e drm_irq_install +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ccd9399 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d2a0dd8 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eef6039 drm_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3074f033 drm_order +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31c22d8a drm_mm_debug_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3306e075 drm_agp_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x337e1f8f drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36d9725d drm_mode_create_dithering_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3788ff2f drm_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3803c018 drm_mm_insert_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a4f7ae drm_format_num_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39a2fea6 drm_mode_config_init +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 0x3dd5cf25 drm_agp_bind_pages +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 0x4197e469 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43384bd9 drm_buffer_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x436e0e71 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45bea405 drm_mode_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x498dcb5e drm_ut_debug_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49a988c6 drm_free_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b2a58d9 drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b3d58b4 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b65545b drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c511235 drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d11bff5 drm_pci_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ea1f5a2 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4edc0723 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f2ea50d drm_vblank_pre_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x517c6f13 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54256e2c drm_mode_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54bd1665 drm_vblank_post_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5778046a drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58ea4206 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c0b7032 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ca0aef1 drm_mm_scan_add_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7318dc drm_global_item_ref +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5de085fe drm_addmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f8d0010 drm_core_ioremap_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ffaf15e drm_core_ioremap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6044956f drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60e6294c drm_prime_destroy_file_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61cd9b33 drm_gem_handle_create +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 0x63c52aea drm_prime_sg_to_page_addr_arrays +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64016010 drm_ati_pcigart_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6417f2bf drm_agp_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x644c8bdf drm_pci_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65f59044 drm_mm_pre_get_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66b8172a drm_core_reclaim_buffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x670dee21 drm_rmmap_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67c29b25 drm_platform_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68636d10 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a0865c7 drm_mm_get_block_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b05d8df drm_get_connector_name +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 0x6d710845 drm_platform_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dbd54a0 drm_mode_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef43253 drm_unplug_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fa0c157 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fcc062b drm_sysfs_connector_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70114c21 drm_mode_attachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74b53dcf drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x761b4bdc drm_mode_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x765e1eb6 drm_select_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77984907 drm_edid_to_eld +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7998563a drm_vblank_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b34f367 drm_fill_in_dev +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 0x7e3c3fac drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e6286b5 drm_idlelock_take +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ff9b4f0 drm_mm_put_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80dbdab6 drm_mm_init_scan_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81056d09 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81a35b8b drm_connector_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85a04515 drm_pci_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x862d91c1 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88509db7 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89237a4c drm_mm_clean_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0x896b903c drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8aaf3561 drm_probe_ddc +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 0x8f4a38c0 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f7df3a7 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93c50c55 drm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94318096 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94cba518 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9612ac72 drm_mm_put_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x964d98de drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96ef1c9d drm_calc_vbltimestamp_from_scanoutpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9745d638 drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97cf071d drm_unbind_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f91de4 drm_mm_init_scan +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a01a0e2 drm_prime_remove_buf_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b402ae6 drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e9d9358 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd5359e drm_mode_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1ca3a56 drm_mm_insert_node_in_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1eabd87 drm_mode_list_concat +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3a28e99 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4290760 drm_mm_init_scan_with_range_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4dcfb08 drm_get_minor +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5c11f4a drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa75257b7 drm_mm_takedown_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7984573 drm_mm_get_block_generic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7cb1ca2 drm_idlelock_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad3c4e25 drm_fasync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad3e87ed drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae0a42e2 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae7e8044 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeae504d drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf51fb8b drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb097b1f9 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3693223 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3d8ca18 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4464802 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb513af8c drm_mm_scan_remove_block_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5540008 drm_global_item_unref +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb63c62e1 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64c5c15 drm_mode_validate_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6cba8f7 drm_mm_remove_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb71f1a0f drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb76a3dec drm_gem_object_handle_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb77aac78 drm_mm_init_scan_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb79942f7 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb802de60 drm_mm_get_block_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb95beb55 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9787612 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb1b66f9 drm_sysfs_connector_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe001c53 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe1f4deb drm_get_platform_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe7de0f1 drm_rmmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc03aff1e drm_addbufs_agp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0d0ada0 drm_mode_detachmode_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc10560df drm_get_encoder_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3f5c119 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc414c422 drm_vblank_offdelay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc46397ca drm_get_last_vbltimestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5481157 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc858d3c3 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc885c0a7 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca45efbc drm_format_horz_chroma_subsampling +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbf55f8c drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbfbf8cc drm_mm_insert_node_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc979db2 drm_ati_pcigart_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0fc417 drm_ht_just_insert_please +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd9e9912 drm_connector_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce8ef873 drm_addbufs_pci +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfcffb3b drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0014bb8 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1c8f125 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2335101 drm_fb_get_bpp_depth +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd431287e drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5881ef9 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5e63259 drm_getsarea +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9666eed drm_mm_dump_table +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbb5a9f5 drm_ht_remove_item +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd6bc908 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde83c2f3 drm_mm_search_free_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe01ae61c drm_core_ioremapfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe04afc15 drm_pci_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe06e8fd7 drm_irq_uninstall +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe178656d drm_encoder_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 0xe9887252 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea0d4057 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea8df29c drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaad4224 drm_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeab095b2 drm_mm_replace_node_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeac49b8f drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeca5786b drm_mm_dump_table_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecc76fc4 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee6f9469 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeea286fb drm_gem_object_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeeb62f3e drm_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefd084bd drm_agp_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefd09bcd drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0140f47 drm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf081b029 drm_mode_group_init_legacy_group +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 0xf1e8cd68 drm_agp_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf390ec93 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf395dffe drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4dfe0b4 drm_mm_search_free_in_range_generic_hsw +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf659de8a drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf664a125 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf87bf5cf drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe8620d6 drm_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc6c87a drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x043f7469 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07d1a427 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08670e3c drm_fb_helper_restore_fbdev_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09e1799f drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0eed05a4 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1a96bc41 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 0x329c9eac drm_fb_helper_fill_fix +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ccc1373 drm_fb_helper_fill_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52fce51f drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d63a2c5 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a1557ad drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ac680e0 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5b0922 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x711a004a drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77eac9e7 drm_fb_helper_single_fb_probe +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84bd3e79 drm_fb_helper_single_add_all_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8fc9cc4d drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d251144 drm_fb_helper_panic +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa102d9a5 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1d1b732 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 0xb347d09e drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb37a0603 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc30fc1ee drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc42dcce4 i2c_dp_aux_add_bus +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 0xc893fa22 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce6a8538 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd02c73c7 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5a9bfc4 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d8b6b8 drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd690f98c drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6e53f28 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd83f3921 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdab969b5 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdcfeafb0 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xecdf87e9 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfbd0814a drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfcf1ac33 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 0x4e06e31d drm_usb_init +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0x5670aff1 drm_get_usb_dev +EXPORT_SYMBOL drivers/gpu/drm/drm_usb 0xa57f4fb8 drm_usb_exit +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x03aadca6 ttm_bo_wait_cpu +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x044d4551 ttm_bo_move_ttm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0466de7a ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x050a0069 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x085c7d9b ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0d8da2ec ttm_bo_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x136917d1 ttm_bo_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x145e6a73 ttm_base_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c005320 ttm_bo_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d89df73 ttm_suspend_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x20e91b0b ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2337c223 ttm_bo_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25392771 ttm_ref_object_add +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x256c3b19 ttm_bo_mem_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b54aa9a ttm_object_file_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d0f197e ttm_pool_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d62b5a9 ttm_bo_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x32bcb6bd ttm_page_alloc_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fd155ed ttm_read_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x42b4c00c ttm_pool_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x48938294 ttm_bo_dma_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49e0c061 ttm_agp_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e50dd20 ttm_bo_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e8dd264 ttm_bo_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4ee92a85 ttm_tt_set_placement_caching +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x564e1aee ttm_bo_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x597c9748 ttm_bo_init_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ffb98d6 ttm_bo_acc_size +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6052860c ttm_round_pot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60acb3f8 ttm_bo_manager_func +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x61bdb34f ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65755de0 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7586fb3a ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x768d80ad ttm_dma_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79c90fb0 ttm_bo_clean_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79d14218 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7dcb1e64 ttm_suspend_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7e3271f7 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x80d86f0e ttm_object_device_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x853fab14 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85477881 ttm_base_object_unref +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85cceda0 ttm_bo_kunmap +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 0x8b48ce2e ttm_bo_unreserve +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 0x94fb46ea ttm_bo_unmap_virtual +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 0x9b2be07d ttm_write_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d06ced6 ttm_vt_unlock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa04d7cac ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa068577d ttm_vt_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa50f47bc ttm_bo_synccpu_write_release +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 0xac843717 ttm_read_lock +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb70484eb ttm_lock_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb8b6ee95 ttm_bo_evict_mm +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xba4fd1b8 ttm_tt_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcf035709 ttm_mem_global_release +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd0aecaeb ttm_dma_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd6e8238d ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd951c65e ttm_mem_global_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde44dc3c ttm_fbdev_mmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe793107c ttm_bo_wait_unreserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe864b317 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeab2a6d1 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf43f69ec ttm_bo_swapout_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4601a05 ttm_bo_synccpu_write_grab +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf98813cb ttm_agp_tt_unpopulate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfbc2c5ec ttm_object_file_release +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 0x56b15e3a i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xa08aa94d i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x8973b8a9 amd756_smbus +EXPORT_SYMBOL drivers/iio/industrialio 0x0b544fa2 iio_buffer_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x1c257d55 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x25d2fdb6 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x27c42066 iio_buffer_show_enable +EXPORT_SYMBOL drivers/iio/industrialio 0x2b9626cc iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3628cd40 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x3c93e159 iio_sw_buffer_preenable +EXPORT_SYMBOL drivers/iio/industrialio 0x6df5f631 iio_buffer_write_length +EXPORT_SYMBOL drivers/iio/industrialio 0x86cdc4e6 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x9ae923fc iio_buffer_register +EXPORT_SYMBOL drivers/iio/industrialio 0x9b230354 iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x9b30e4ca iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x9e87b757 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xa16a21d2 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xa42c8d63 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xade12d3d iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xafcebfd6 iio_triggered_buffer_postenable +EXPORT_SYMBOL drivers/iio/industrialio 0xb3071096 iio_triggered_buffer_predisable +EXPORT_SYMBOL drivers/iio/industrialio 0xbd82d15b iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xc8c1609f iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xcba6b5c7 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0xd1269545 iio_buffer_read_length +EXPORT_SYMBOL drivers/iio/industrialio 0xdce204b0 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xeb426e44 iio_buffer_store_enable +EXPORT_SYMBOL drivers/iio/kfifo_buf 0x77f7d2cd 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 0x49361453 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 0x0a178b43 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0db2c164 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x12e7311f ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1a1f0e6e ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1b26d2ae ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2146ed31 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2aad45ad ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2b044bc7 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x487debf9 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x66ddc16c ib_send_cm_lap +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x742660fa ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x95b155f7 cm_class +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa50b18d0 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe79a9563 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe855ea39 ib_send_cm_apr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xed686977 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xeee4e67f ib_send_cm_rtu +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 0x1127333e ibnl_add_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11905ef8 ib_umem_page_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14f84918 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15845a63 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x171f99f1 ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b78ea57 ib_init_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1bfd2f1c ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1df9c4bb ib_modify_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e491a04 ib_unmap_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x240814f0 ib_alloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2487553e ib_reg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28b105a2 ib_destroy_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x299e3a2f ib_find_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b934aef ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e30f99f ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ed6e386 ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32da0d97 ib_alloc_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34c5bc71 ib_free_fast_reg_page_list +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35af36a0 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b4592b9 ib_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d912d7e ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3da9ab3f ib_dealloc_fmr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3dd3ee9a ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x442e8610 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45cd4530 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x473357aa rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48f84d2e ib_get_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x494a37bd ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4cda4ac1 ib_alloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f9ef772 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4fa4175f ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50dbc447 ib_flush_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5413c8a7 ib_dealloc_xrcd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ba79e24 ib_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c4d24a9 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ec92f01 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x604c9f08 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c0d9a87 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x72d1fa41 ib_create_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7670577c ib_query_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76d7405c ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7964358a ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a0a52d9 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b1e2206 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f5c6ac1 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83993300 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x884be268 ib_alloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95a6deb3 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96b51445 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96ce6c46 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9af92a77 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5728982 ib_query_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa634b89 ib_dealloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad4620a0 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafde1b14 ib_get_cached_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb0cbb3d2 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb40fe947 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4c15b13 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb85e1187 ib_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb684f77 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbbcab91a ib_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe4d5e01 ib_fmr_pool_unmap +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0b0eb98 ib_create_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc3042c57 ib_dereg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc32b59ff ib_destroy_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4daebb0 ib_rereg_phys_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc504e9ab ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc67f14a5 ibnl_remove_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9574b69 ib_destroy_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce4ec5f4 ib_get_dma_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd255415c ib_alloc_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd350e04f ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc9f2c39 ib_fmr_pool_map_phys +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe6920842 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe85286e7 ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xecdb06f3 ib_create_fmr_pool +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xece4a8e1 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xecfb26a0 ib_destroy_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3a8a6cf ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6dd872f ib_dealloc_mw +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc150956 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfdc7d8ce ib_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x0f7b75f9 ib_cancel_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x173bd4ab ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x1b60eeda ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x28122a3e ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x39e27274 ib_redirect_mad_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4bb60501 ib_process_mad_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x4c5b61b7 ib_get_rmpp_segment +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 0x946d5d27 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0x97dd9dba ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xd74cd8ce ib_register_mad_snoop +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xda8a98e8 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xded97db3 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_mad 0xe6c0da0a ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x474fd2e9 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x4c9abf50 ib_sa_path_rec_get +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 0x7799ade7 ib_sa_service_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0x9a1cd50d ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xb15b2673 ib_init_ah_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc4fa50da ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_sa 0xc53b41d5 ib_sa_join_multicast +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 0x0e65bcf6 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x24b191ab iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x636200f3 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6c937b22 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6f023f6f iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x818f7d15 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x87b0d923 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x99bec2a3 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x006cd2b6 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x11df32d5 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x390bfc1c rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4075476c rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5ec18cda rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6f50d1ce rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x77a3bc60 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x77e37b2c rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x979c476e rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xad02c3a3 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb537b83c rdma_set_ib_paths +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbdeb006b rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc6e02cee rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd24ec823 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd354e23e rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xddac8cc3 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xde93311a rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf9d54779 rdma_create_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfd5e752b rdma_connect +EXPORT_SYMBOL drivers/input/gameport/gameport 0x30c057ec gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x4e8df5a2 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x63f2d656 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7a4483a4 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9f43483a gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0xdb0a0863 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe68f2894 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf12f4464 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf25b834b gameport_stop_polling +EXPORT_SYMBOL drivers/input/input-polldev 0x2907e7d3 input_allocate_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x2e66ca9a input_unregister_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x55286976 input_register_polled_device +EXPORT_SYMBOL drivers/input/input-polldev 0x5b4e9c98 input_free_polled_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x9023714d matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x1ba048c4 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x2114a460 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0x2d0b9430 ad714x_remove +EXPORT_SYMBOL drivers/input/misc/ad714x 0xf0ce9a67 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x5702cf60 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 0x0b017691 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x8f2eb9df sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x9cab05b7 sparse_keymap_free +EXPORT_SYMBOL drivers/input/sparse-keymap 0xbb486f7d sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xd2263d27 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0xfc2240a5 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x1d30f965 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x8a31a042 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 0x1f18b910 capi_ctr_ready +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 0x2e49cb12 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x31c24aa4 capi20_isinstalled +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3544a203 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x38644296 capi_ctr_down +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 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 0x8e165b4d capi_ctr_resume_output +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x8ead4f6a capi20_register +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 0xaa165d27 capilib_release_appl +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb0c7efb5 capi20_put_message +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 0xd5e9d20e 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 0xeee985c9 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf7bcb659 capi20_release +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xfd552f7a capi_message2str +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x2c59207b b1_alloc_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x3210ec59 b1ctl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5151bdf6 b1_loaded +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x55b3d167 b1_load_config +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x57525c40 b1_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x5dead4b3 b1_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6ac86979 b1_release_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x6b34885c b1_parse_version +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x85f09690 b1_irq_table +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x898e19ce avmcard_dma_free +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0x988fd66a avmcard_dma_alloc +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xc4b6dfcd b1_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xd92f2d90 b1_free_card +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdfd28376 b1_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xdffd602a b1_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf2e1bc75 b1_load_t4file +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xf6247afe b1_getrevision +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1 0xfa10fee4 b1_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x0fdc6c4d b1dma_reset_ctr +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x3ad7d966 b1pciv4_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x520c2d6a b1dma_load_firmware +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x5ace7f8b b1dma_send_message +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0x89813ffa b1dmactl_proc_fops +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xa9696ad1 b1dma_reset +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xcfbb0478 b1dma_register_appl +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xd6f9f1ea b1dma_interrupt +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xdcdbdbf8 t1pci_detect +EXPORT_SYMBOL drivers/isdn/hardware/avm/b1dma 0xe3b262d5 b1dma_release_appl +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 0x61186c48 proc_net_eicon +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x130a605d mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x37351acd mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xca583dcf mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xf9af5a6a mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x8302e72b mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x93bcc4dd 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 0x9431824a 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 0x3f3b323a isac_d_l2l1 +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0x4a017e2d isacsx_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xbda3f200 isac_setup +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xbe88af40 isac_irq +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xc6d5609b isac_init +EXPORT_SYMBOL drivers/isdn/hisax/hisax_isac 0xdf94963f isacsx_irq +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xcea51654 register_isdn +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xda7a38da isdn_ppp_register_compressor +EXPORT_SYMBOL drivers/isdn/i4l/isdn 0xea790fa6 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 0x05b63a1f mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0d92ceec mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x157eb246 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x22b7aa2d recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2387d84b recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x48990254 queue_ch_frame +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 0x5aaf530e mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x614ede30 mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x68aa3cdb bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8a4e99fb mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x912e8630 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9551aafd recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x96309324 mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x99988485 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9d7cdcd8 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9f46f7c1 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xad5afa1d mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb1ec9cea bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xca17fdba mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcc12370e recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcfee4e34 create_l1 +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 0xde0dd240 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe3555e5b 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 0xf3f37345 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf6058226 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf733e0a6 mISDN_freebchannel +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 0xc2c420a4 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xc77fec8f dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xcdefdb37 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xe2cbff62 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x00e4e649 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3b05fd08 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x83ae61c0 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xcf521f36 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfba9fdae dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfca1d015 dm_snap_cow +EXPORT_SYMBOL drivers/md/raid456 0xa50a30e2 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/tuners/fc0011 0x58a09707 fc0011_attach +EXPORT_SYMBOL drivers/media/common/tuners/max2165 0xff415487 max2165_attach +EXPORT_SYMBOL drivers/media/common/tuners/mc44s803 0xdd3ce3fb mc44s803_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2060 0x29452f11 mt2060_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2131 0x0f611057 mt2131_attach +EXPORT_SYMBOL drivers/media/common/tuners/mt2266 0x223215e6 mt2266_attach +EXPORT_SYMBOL drivers/media/common/tuners/mxl5005s 0x40710633 mxl5005s_attach +EXPORT_SYMBOL drivers/media/common/tuners/qt1010 0xde973066 qt1010_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18212 0x14d43ceb tda18212_attach +EXPORT_SYMBOL drivers/media/common/tuners/tda18218 0x47ae8459 tda18218_attach +EXPORT_SYMBOL drivers/media/common/tuners/tua9001 0x4ab5b47d 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 0xda22992e xc2028_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc4000 0x8a7ddf59 xc4000_attach +EXPORT_SYMBOL drivers/media/common/tuners/xc5000 0x4c8c8c29 xc5000_attach +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x0bc48eec flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x1148eb35 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x36696a7c flexcop_device_kfree +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x57471f44 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5a7eb399 flexcop_device_exit +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x5d43251f flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8bfcdffd flexcop_dma_config +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x8cdcb132 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0x98e5a6e0 flexcop_dma_free +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb33a7a78 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb38c956a flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xb3d0521c flexcop_device_initialize +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcbe6c1f3 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xcdc26891 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xd52e83aa flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xe73cc6ce flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf772df85 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xf7def470 flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xfba1dea8 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/dvb/b2c2/b2c2-flexcop 0xffa1d2c9 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x041de321 bt878_stop +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x0c5cd7a6 bt878_device_control +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0x6cee2a1c bt878 +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/dvb/bt8xx/bt878 0xe3445cdd bt878_start +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x13bfa087 dst_error_bailout +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x33648103 rdc_reset_state +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x4cc5ffaa read_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x4fd561e7 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x5687be69 dst_attach +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0x79f6a375 write_dst +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xa745f51e dst_pio_disable +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xdc454ae3 dst_comm_init +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe2098707 dst_error_recovery +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst 0xe94b8c9c dst_check_sum +EXPORT_SYMBOL drivers/media/dvb/bt8xx/dst_ca 0x911ac6ba dst_ca_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x0d9bd3e2 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x10053173 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 0x17bb15f0 dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x2c4883c4 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x32706276 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x468b5e14 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4b813d11 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x4f2affea dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x5c0ea535 dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x64629354 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x6b170fff dvb_dmx_swfilter_204 +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 0x757b26c9 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x78db694b dvb_ringbuffer_write +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 0x8845d70e dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x92f9ed3d dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x954c83ff dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0x9e4d2bfb dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xac4ca1b0 intlog2 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xb97bcb02 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xbfb17ced 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 0xd4bbe39e dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd68a099e timeval_usec_diff +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd6971c69 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xd8f7184c dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdcf39805 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xdf7b7bf7 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe5ae8707 intlog10 +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe608ef2e dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xe791f5a6 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xea57ba56 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf21466bb dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf28e7431 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb/dvb-core/dvb-core 0xf609ef54 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 0xfa6d8d3b dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x088014e1 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x1b3b1f16 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x61a2e97c dvb_usb_device_init +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x75fa31e2 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0x7a0a6350 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xb2d81eaf dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb 0xd3295d1a dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote 0x121ccd56 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 0x09b5490d dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x0dafc483 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x16fe1a62 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x3cbeb082 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x58c013f7 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x6614d8bd dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0x90ea31eb dibusb_rc_query +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xab84a659 dibusb_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 0xebdc7622 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf5064acc dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common 0xf821c628 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/a8293 0xe291f01e a8293_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9013 0x7dbb2dc7 af9013_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/af9033 0x053c6927 af9033_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/atbm8830 0xf0422725 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x138f7b5f au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x4c0be9c7 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x55db2218 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x5d0a4bbe au8522_readreg +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x65e228a1 au8522_init +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x67c6ee23 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0x920b8814 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_common 0xb2e260aa au8522_get_state +EXPORT_SYMBOL drivers/media/dvb/frontends/au8522_dig 0x05d82741 au8522_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/bcm3510 0xf0ce573c bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22700 0xd1f92b91 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx22702 0x5c8b69b0 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24110 0x9e56460f cx24110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x1bb4fbe3 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24113 0x8daced06 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24116 0x05481bba cx24116_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0x29ef44fb cx24123_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/cx24123 0xb5fac3be cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/cxd2820r 0x5204496c cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x1abd62f8 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x3b2eafbe dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0x65b867aa dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xa2d575ad dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0070 0xbc524a91 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x054216cb dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0d08527f dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x0d75609e dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x1e24845e dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x20177b08 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x2036e8b6 dib0090_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x3403d0bb dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x4d05bb7d dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x50eb1040 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x5c81fe64 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x85580a55 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0x8f3be13d dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xab362af4 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xb5393bb8 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb/frontends/dib0090 0xfc2ae760 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mb 0x940001ea dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x26ad6973 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x469bdf68 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x5bdf85f8 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x65b58b8c dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0x768358ca dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib3000mc 0xea454a59 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x41821f55 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x568f16f1 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0x5d0a88ec dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000m 0xb36633ef dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x155ef9e5 dib7090_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x29dbed55 dib7000p_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x2ffaeae4 dib7000p_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x384394c3 dib7000p_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x64ada031 dib7000p_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x863770f3 dib7090_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x873adea0 dib7000p_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x8a2a13d5 dib7090_slave_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9991dc55 dib7000p_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9ea732ac dib7000p_get_agc_values +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0x9fa3199c dib7000pc_detection +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xc80135f8 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd1f9ce6d dib7000p_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xd32f286c dib7090_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib7000p 0xe7a7f7fc dib7000p_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x0ee7d709 dib8000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x157bdc58 dib8096p_get_i2c_tuner +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x29e53177 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x44df543f dib8000_pid_filter +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x464f0312 dib8000_get_adc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4725b201 dib8000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x4784d8f4 dib8000_get_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x5ff1c00c dib8000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x6732811f dib8096p_tuner_sleep +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x74c611ab dib8000_pwm_agc_reset +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x8c94c307 dib8000_set_tune_state +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x90e7051d dib8000_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x91d71fc6 dib8000_set_wbd_ref +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0x92ae4f2c dib8000_ctrl_timf +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb906fdcd dib8000_remove_slave_frontend +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xb92ad3bf dib8090p_get_dc_power +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xc76f3619 dib8000_update_pll +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xceb903bc dib8000_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/dib8000 0xdcf0e14d dib8000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x15d9aa5f dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x17117e23 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0x2433fd24 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xad3ad91c systime +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xd62a9aa2 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb/frontends/dibx000_common 0xed645440 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xa636e195 drxd_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/drxd 0xde9410c1 drxd_config_i2c +EXPORT_SYMBOL drivers/media/dvb/frontends/drxk 0xfb0fb5c8 drxk_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ds3000 0xecc5cea5 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/dvb-pll 0x4b2ceb44 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ec100 0x37f50db1 ec100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6405 0x5273cdd6 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6421 0xa4ceb914 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/isl6423 0xef32be15 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/it913x-fe 0xbdae74f0 it913x_fe_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/itd1000 0x16f35946 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ix2505v 0x9fa3ba54 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/l64781 0x75e46e36 l64781_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lg2160 0xe6acff85 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt3305 0xf53b6a94 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgdt330x 0x59cc7191 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lgs8gxx 0xa83240e0 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0x9e675a6f lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp21 0xc02760bc lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/lnbp22 0x22b857f3 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/m88rs2000 0xf860f2e3 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a16 0x9d4b809b mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mb86a20s 0x0c9b4ed3 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt312 0x45460157 mt312_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/mt352 0x1cc78dbc mt352_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt200x 0x9aa27c84 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/nxt6000 0x761d38f4 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51132 0x06e5f911 or51132_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/or51211 0xfcbc7e67 or51211_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x34d2f9fd rtl2830_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/rtl2830 0x9d6a9b62 rtl2830_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1409 0xe43c46b2 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1411 0x889fdc88 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0x6573f82f s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb/frontends/s5h1420 0xe55da66b s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/s921 0xb59bef81 s921_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/si21xx 0x7e7e6808 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp8870 0xdaccce77 sp8870_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/sp887x 0x7d6c67c2 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb0899 0x80ba0c3e stb0899_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6000 0x6cf44a55 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stb6100 0x7c7a5e62 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0288 0x3a509254 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0297 0xc0a67d38 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0299 0x8ea89138 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0x737030c7 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0367 0xe9baa8e8 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv0900 0xbf1dd940 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x341a094d stv090x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv090x 0x35bde93b stv090x_set_gpio +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110 0xc606a3b9 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/stv6110x 0xde3852b1 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10021 0x55937722 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10023 0x7930e88b tda10023_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10048 0xcbaef179 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0x85e3feb1 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda1004x 0xe5dab73e tda10046_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10071 0x51df8a30 tda10071_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda10086 0x1b9e77e1 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda665x 0x667e7db9 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8083 0x5e0196d5 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda8261 0xa9654672 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tda826x 0x944b91a7 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/tua6100 0x24385b90 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1820 0xd7f47804 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/ves1x93 0xb62f620d ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10036 0xdc43a825 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10039 0x85a6c77d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb/frontends/zl10353 0x4b4faa6e zl10353_attach +EXPORT_SYMBOL drivers/media/dvb/ttpci/ttpci-eeprom 0x0ae1fa58 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 0x1e24a761 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/dvb/ttusb-dec/ttusbdecfe 0x35e3a6ab ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x04dca738 lirc_unregister_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x2b717234 lirc_dev_fop_read +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x636e6b3f lirc_dev_fop_poll +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x6a8034da lirc_dev_fop_close +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0x6d8681c2 lirc_dev_fop_write +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xcf44bd9e lirc_dev_fop_open +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xe8f35188 lirc_register_driver +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xec6245d1 lirc_get_pdata +EXPORT_SYMBOL drivers/media/rc/lirc_dev 0xf28d4879 lirc_dev_fop_ioctl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x015adfd5 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x5c8ab58f ir_raw_handler_register +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x0e4fc1ba bttv_get_pcidev +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/video/bt8xx/bttv 0x21b28416 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/bt8xx/bttv 0xcb24634f bttv_sub_unregister +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x18153428 btcx_riscmem_free +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x495e4b0c btcx_calc_skips +EXPORT_SYMBOL drivers/media/video/btcx-risc 0x9e1911e1 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 0x1ee5dad4 cx18_release_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x78dd9d31 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0x8a6c4b05 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xdea7ef8e cx18_ext_init +EXPORT_SYMBOL drivers/media/video/cx18/cx18 0xf45256bd cx18_claim_stream +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0x1c01af22 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/video/cx231xx/cx231xx 0xb75aa8f9 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 0x5aaf78d8 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/video/cx2341x 0x5b88faf6 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/video/cx2341x 0x982bbd6e 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/cx2341x 0xd3f89522 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/video/cx2341x 0xe35442e3 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0x090c18d7 altera_pid_feed_control +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 0xcbd4f580 altera_hw_filt_init +EXPORT_SYMBOL drivers/media/video/cx23885/altera-ci 0xd68c9415 altera_ci_init +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 0x10d523dd cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x12b40ba0 cx25821_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x279c45ef cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x2b9902c3 cx25821_risc_databuffer_audio +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 0x74725b1e cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x784853c3 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x865e6fd1 cx25821_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0x86b31e98 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xa1edd573 cx25821_devlist_mutex +EXPORT_SYMBOL drivers/media/video/cx25821/cx25821 0xa84f6f82 cx25821_dev_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0x21c0173e vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/video/cx88/cx88-vp3054-i2c 0xe95de2e5 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x23d9b028 cx88_video_mux +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x528fd70e cx88_set_freq +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x6eeb806e cx88_set_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x7695a5e5 cx8800_ctrl_query +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0x97efd2a7 cx88_get_control +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xa825dca1 cx88_enum_input +EXPORT_SYMBOL drivers/media/video/cx88/cx8800 0xac4e53b9 cx88_user_ctrls +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x02253e77 cx8802_register_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x046834e7 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0x56fa84eb cx8802_get_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xaa638d6b cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xb8daa4d8 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/video/cx88/cx8802 0xf1dd7b7f cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x0b13a0d5 cx88_wakeup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x1e87f550 cx88_core_put +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x230ce265 cx88_ir_stop +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x26a66317 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x36f34dc5 cx88_set_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x36faf1c3 cx88_reset +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x3833db79 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x42cd531c cx88_core_get +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x50dd3168 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x66fe1b95 cx88_vdev_init +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x7642ed3c cx88_print_irqbits +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x8b9ed3b0 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x90438511 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0x9cc00469 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa07ab8a6 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa16f5011 cx88_set_scale +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xa9cae6a4 cx88_newstation +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xaa9b3423 cx88_core_irq +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xb2134c2f cx88_sram_channels +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xbbd30982 cx88_free_buffer +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xc54379e6 cx88_risc_stopper +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xcd31dffc cx88_get_stereo +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xe071c0aa cx88_ir_start +EXPORT_SYMBOL drivers/media/video/cx88/cx88xx 0xfb848235 cx88_shutdown +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x070576ef em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/video/em28xx/em28xx 0x1f6cf6e2 em28xx_register_extension +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x06ef2527 gspca_disconnect +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x3d0a722f gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x4543c702 gspca_dev_probe +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x7b0a30b5 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0x92c5c350 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xa0a2ad6d gspca_suspend +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xb78dcf07 gspca_frame_add +EXPORT_SYMBOL drivers/media/video/gspca/gspca_main 0xdaa07d5d gspca_resume +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x0c6d0c26 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x3b55c1d1 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x4dc2200d ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x521695a5 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x52e6a226 ivtv_vapi +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x65a2cfa8 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x700546ba ivtv_firmware_check +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x73e8a55b ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x80edcc25 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0x823875c8 ivtv_api +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xae47ddee ivtv_vapi_result +EXPORT_SYMBOL drivers/media/video/ivtv/ivtv 0xdce34e93 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x028ee9f9 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x0424b5df saa7134_dmasound_init +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 0x18afc462 saa7134_ts_register +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x191d05f2 saa_dsp_writel +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x3e9e341b saa7134_set_gpio +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x55479ce5 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x74b3aa17 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0x84bd67a3 saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xac777429 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xcd25f10d saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xdaf701ba saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/video/saa7134/saa7134 0xf6502978 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/video/soc_camera 0x145f7c25 soc_camera_host_unregister +EXPORT_SYMBOL drivers/media/video/soc_camera 0x46310480 soc_camera_unlock +EXPORT_SYMBOL drivers/media/video/soc_camera 0x637f6864 soc_camera_apply_board_flags +EXPORT_SYMBOL drivers/media/video/soc_camera 0x9c847c52 soc_camera_host_register +EXPORT_SYMBOL drivers/media/video/soc_camera 0xe2c6f78d soc_camera_lock +EXPORT_SYMBOL drivers/media/video/soc_camera 0xecb9124d 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 0x0c76abf8 tm6000_register_extension +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x0ee4dacf tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/video/tm6000/tm6000 0x188d8cc3 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/video/tveeprom 0x572e1f06 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/video/tveeprom 0x7e25e21d 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 0x79a187fc v4l2_chip_match_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0x84426b51 v4l2_chip_ident_i2c_client +EXPORT_SYMBOL drivers/media/video/v4l2-common 0xabe27502 v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x0f5c723e v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x2724785f v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/video/v4l2-mem2mem 0x85a2eed9 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x1cd1f16a videobuf_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x305fc8d4 videobuf_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x54cbbab2 videobuf_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0x73cabf55 videobuf_dvb_register_bus +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xa6676754 videobuf_dvb_get_frontend +EXPORT_SYMBOL drivers/media/video/videobuf-dvb 0xd0be3800 videobuf_dvb_find_frontend +EXPORT_SYMBOL drivers/media/video/videobuf2-core 0xe946191a vb2_querybuf +EXPORT_SYMBOL drivers/media/video/videodev 0x01e85afb v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/video/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/video/videodev 0x08be6c77 v4l2_subdev_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x0b067ad5 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/video/videodev 0x0d7daf65 v4l2_subdev_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/video/videodev 0x135117af v4l2_subdev_g_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/video/videodev 0x1c189b00 v4l2_ctrl_add_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x1e8e2f24 video_usercopy +EXPORT_SYMBOL drivers/media/video/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/video/videodev 0x28af1944 video_device_release_empty +EXPORT_SYMBOL drivers/media/video/videodev 0x31a9dec5 video_device_alloc +EXPORT_SYMBOL drivers/media/video/videodev 0x338431d0 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x34426dfe v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x36462086 v4l2_subdev_try_ext_ctrls +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 0x3caf0120 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/video/videodev 0x3d381226 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/video/videodev 0x44042a4a v4l2_subdev_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x44aae0a8 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/video/videodev 0x4635d4bd v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/video/videodev 0x495426ee v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/video/videodev 0x4cd9b159 v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/video/videodev 0x4f07a451 __video_register_device +EXPORT_SYMBOL drivers/media/video/videodev 0x5852d049 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x5a9809d7 video_device_release +EXPORT_SYMBOL drivers/media/video/videodev 0x5ebefe4b v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/video/videodev 0x75dc5f7d v4l2_subdev_g_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0x76a9160c v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/video/videodev 0x7a3cd015 v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/video/videodev 0x7d4ded64 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/video/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/video/videodev 0x92de8503 v4l2_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0x93e327b2 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/video/videodev 0x94b73487 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/video/videodev 0x9a641dab video_ioctl2 +EXPORT_SYMBOL drivers/media/video/videodev 0x9ebb11a7 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xa27149f7 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/video/videodev 0xa4d3b708 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xa6a392e1 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/video/videodev 0xa833d940 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xabc93884 v4l2_g_ctrl +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 0xbb7e570a v4l2_subdev_querymenu +EXPORT_SYMBOL drivers/media/video/videodev 0xbfd30ec2 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/video/videodev 0xc12cf8f8 v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/video/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/video/videodev 0xd3859f42 v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/video/videodev 0xd7190dd4 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/video/videodev 0xdac771c5 video_unregister_device +EXPORT_SYMBOL drivers/media/video/videodev 0xdc959fba v4l2_ctrl_cluster +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 0xea6ce9d3 v4l2_ctrl_handler_init +EXPORT_SYMBOL drivers/media/video/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/video/videodev 0xf34ef206 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/video/videodev 0xf992e4b2 video_devdata +EXPORT_SYMBOL drivers/media/video/videodev 0xfe9f8e41 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/memstick/core/memstick 0x28cf07d4 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2aeb8a10 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5460b907 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d820a02 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7f620888 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8134e500 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x952557ab memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa56d7cbf memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xaa8bfc91 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xac11a9ac memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbf45b366 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd774be08 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc07e67e memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe54ad279 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x036e035d mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x04dd8b60 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x055899ba mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x07c2550b mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x119a4341 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x167179ed mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1b91c587 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x20a1d128 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x23db7fc6 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x398b313c mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3fb3a047 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4526289b mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4c44b20d mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6ffef823 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x702f756e mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x70d5d77d mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7ac92697 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x972db380 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9c0b07a3 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9e5bd55e mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa7b8187a mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb0dc9148 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb1b1ff0b mpt_GetIocState +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 0xc8f425f0 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd13777ec mpt_verify_adapter +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 0xe735e092 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xef2fa84f mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf5d6825d mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfbad6f63 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfd4cbba4 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x00855385 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x06a14896 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1a558af9 mptscsih_host_attrs +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x21ce0aad mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x293b2fa9 mptscsih_proc_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2f9841de mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x322cf592 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3f2bcfad mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x529ef7cb mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5dbad8b3 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5fa28c68 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x60158f3a mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6a90544d mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8029f390 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x86a81bb6 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8942ff9a mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8cb3df9d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9c8d9561 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa7dd13ea mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb5f71cb7 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xca63a083 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcc4cacbf mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xcc5762a0 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd510c1a2 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf83295f9 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfb41c53a mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfb795593 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x00ba502f i2o_event_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0c453b9c i2o_exec_lct_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0e5055eb i2o_cntxt_list_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x0ef1db71 i2o_cntxt_list_get_ptr +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1a596fa8 i2o_msg_get_wait +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x1a781686 i2o_parm_table_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2a843bef i2o_dump_message +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x2dc3166c i2o_find_iop +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3369b51a i2o_driver_notify_controller_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x340059b5 i2o_cntxt_list_remove +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x342f9e83 i2o_driver_register +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x3fe62b52 i2o_device_claim +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x57f21036 i2o_driver_unregister +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x71e0ff46 i2o_parm_issue +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x7ec1c384 i2o_driver_notify_device_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0x8b8ccf4b i2o_driver_notify_controller_remove_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xa1187539 i2o_iop_find_device +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xb4c00dcf i2o_controllers +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc0bb3712 i2o_status_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xc996c737 i2o_parm_field_get +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xcae9f722 i2o_driver_notify_device_add_all +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xd5124ffd i2o_msg_post_wait_mem +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfc4ab3ea i2o_cntxt_list_add +EXPORT_SYMBOL drivers/message/i2o/i2o_core 0xfe4e9576 i2o_device_claim_release +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x98193961 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xbd9f9772 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0c9f6577 mc13xxx_irq_request_nounmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x0f558abc mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x11fe690f mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1c62115c mc13xxx_irq_ack +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x36db294d mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3ce1057f mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xbab998d5 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc2b22f9c mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd048953b mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xdc3b7598 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xdccb7129 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xea752da3 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf245665e mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/tps6105x 0x15f67fce tps6105x_get +EXPORT_SYMBOL drivers/mfd/tps6105x 0x57adfe3d tps6105x_mask_and_set +EXPORT_SYMBOL drivers/mfd/tps6105x 0x9e54442e 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/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 0x71c5871e ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xac29059b ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x9889f935 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0xc6907b8b c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0xf0c58d8e c2port_device_register +EXPORT_SYMBOL drivers/misc/ioc4 0x50b4f2d9 ioc4_unregister_submodule +EXPORT_SYMBOL drivers/misc/ioc4 0xac33ee9e ioc4_register_submodule +EXPORT_SYMBOL drivers/misc/tifm_core 0x20d7605b tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x285f9b4e tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x2c1e5569 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x548f8a49 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x57a75943 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x73b630d5 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x7b99a5cc tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa8c2ec46 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0xb9fc81c5 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc24649bc tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc5c06f59 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xcc1d4add tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xed5b0324 tifm_map_sg +EXPORT_SYMBOL drivers/mmc/card/mmc_block 0x29680979 mmc_cleanup_queue +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x10060738 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x57a867f9 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x36339393 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x52ed6528 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x5eb968a6 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x0591acb1 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x0b6043ad map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb44b68ed do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfc04619b unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x3e6b9c48 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x33759ce1 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x1db1b8f8 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x1e2b0e5c mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xd1bd9a3e mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nand 0x266c4b6e nand_scan_ident +EXPORT_SYMBOL drivers/mtd/nand/nand 0x426b8907 nand_scan +EXPORT_SYMBOL drivers/mtd/nand/nand 0x69e1d068 nand_lock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x86c6963e nand_unlock +EXPORT_SYMBOL drivers/mtd/nand/nand 0x86ef5eca nand_scan_tail +EXPORT_SYMBOL drivers/mtd/nand/nand 0xf0b7c41b nand_scan_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand 0xfcfcb0c7 nand_default_bbt +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x001d952f nand_bch_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0x70097aa0 nand_bch_free +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xb1207fa1 nand_bch_init +EXPORT_SYMBOL drivers/mtd/nand/nand_bch 0xf5489051 nand_bch_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x0c3164e5 nand_correct_data +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x3132ee65 __nand_calculate_ecc +EXPORT_SYMBOL drivers/mtd/nand/nand_ecc 0x8b012048 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 0x112a200d flexonenand_region +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0x7bdb8bff onenand_scan_bbt +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xcb289cb6 onenand_addr +EXPORT_SYMBOL drivers/mtd/onenand/onenand 0xfa7315fd onenand_default_bbt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0ec7b95d arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4a485d35 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4faf22b5 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x51ddc3bb arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x56121789 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5b89c414 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x60e742d6 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6920ba9d arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8e098df1 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x99a2fec1 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x02f167ad com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x27ae396b com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xb3b82c7a com20020_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2021de73 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2fa325c6 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x49fa320d ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x54eb7ca6 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7ba1db3d ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8e37ee4e ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8fcb71ef ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb7b1043c ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbee8e903 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xcc20e6ed ei_close +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2 0xbafc7a77 bnx2_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnx2x/bnx2x 0xddf5ddb5 bnx2x_cnic_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xebf8d094 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x05f439c7 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0fd0fcaf t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x219719a5 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3d882aa8 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x418a698d cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x48948288 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x536d9d2a cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x633c976f cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x798eb28b cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7d2ac032 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x88951325 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb01f8ea7 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbba969c5 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd6a66736 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdaa14cf0 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe966dfb2 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x01bcfeaf cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x081691fc cxgb4_register_uld +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 0x24ba2a62 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x350071fe cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x47e70b20 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4e72bed9 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4f71b5a5 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x69e63370 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x86956310 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8a8ecd42 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8f0907d1 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x944a0b15 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa6979383 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbdcbc6d4 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd00e5a36 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd365cad0 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd36d9ff1 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd911d046 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdf06b021 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x2107d1c7 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 0xcaf456ee be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5dfd0464 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x671f02bd mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x69011919 mlx4_test_interrupts +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d333976 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6dabb71a mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83aea710 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bdf9b31 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbecb8a47 mlx4_set_stats_bitmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcc3f9e5 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec995ff3 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5805b9ce hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc4fee723 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xc6ffc093 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xcb8dc934 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xf5feb789 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x160b8153 sirdev_get_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x5241f2d2 sirdev_receive +EXPORT_SYMBOL drivers/net/irda/sir-dev 0x75c0c22a sirdev_set_dtr_rts +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa15720b0 sirdev_put_instance +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa3a5135d sirdev_raw_read +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xa64bc43f sirdev_raw_write +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xd13eace2 irda_register_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xdb6660d9 sirdev_set_dongle +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe05e7c20 sirdev_write_complete +EXPORT_SYMBOL drivers/net/irda/sir-dev 0xe1925e30 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 0xcc338914 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/phy/mdio-bitbang 0xf3cd69d3 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/ppp/pppox 0x3ef2fca5 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x8833bb60 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x96b36c87 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xbc90b373 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 0x0d7bad82 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1da8c45f hdlc_change_mtu +EXPORT_SYMBOL drivers/net/wan/hdlc 0x388cba11 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4fc09815 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8fc29c68 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x95fe59c7 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaf0f2820 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaf190021 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb8589749 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xbfe3265b unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc89bf5b0 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wimax/i2400m/i2400m 0x8ac1d424 i2400m_unknown_barker +EXPORT_SYMBOL drivers/net/wireless/airo 0x453a7766 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0x4e41b89b reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/airo 0xcf9e4f68 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x319c6026 ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x3e98dc46 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e2481d5 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6461a002 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x71b2fd5f ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x771c8924 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8ac481c2 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8cfc5d8e ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa1a9f65b ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb4fb4739 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd9a1e9b2 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe3a83de9 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe5b6b8c1 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2dfd11fe ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x31b6664f ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3d77fdd6 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 0x50e7f6ad ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x71824003 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8ede83ef ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9035d9b5 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9fcb4983 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa092be6d ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa1957d06 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3e2bf64b ath9k_cmn_get_curchannel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x51501290 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 0xa88b875d ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdc2e18f0 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf59eadf3 ath9k_cmn_padpos +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01380df1 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x013fcddf ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x03741605 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0408d319 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x079b12e9 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09886c63 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c805b0a ath9k_hw_proc_mib_event +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x128ff646 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1460ca49 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ca22472 ath9k_hw_cfg_gpio_input +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21180710 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x236dc0ba ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x271842bb ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28f3ce4f ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2be5326f ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2cadcdbc ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e0479da ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x344e9cc3 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36bd211b ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c9870a4 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47fa4a69 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48c26ac3 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49f42c5a ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5daa3ef2 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5e79e637 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5fbb7a89 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60ad2f8b ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x61b55a8f ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6309e4b8 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63d5d13b ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x695e49c9 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x696c7920 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69a6eea3 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6b812c31 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7513d53c ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x754eb700 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76802b65 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7690e064 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x77a65cc7 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78217a34 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78439321 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ab78e85 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7baf64f3 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d55e183 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x81941bad ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x830944b5 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x833f3ac1 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x83c4300b ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x84da21b5 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x89d15e81 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a933c71 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b01833d ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8dcd690f ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9062383a ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94cf072c ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9a327c64 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ac9b90c ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9c189c8a ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0628f52 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa24d29f3 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa2e25bec ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa507e362 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xabfccba9 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac229c8d ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xade18dba ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf1282cd ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb16ec1a1 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb26403d9 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4246b00 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb758e94b ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb846a788 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc39aef8 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc9abb14 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf335365 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc23e12a4 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3d6f0dd ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc309434 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc722e63 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcde9b16e ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xce40fc89 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0fec502 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd806b0f8 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdcf9fe00 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0e420e2 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe2d54da6 ath9k_hw_cfg_output +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6432b91 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe757be90 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xea6fc41a ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xedbede91 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf260a65b ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf403a4d3 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfb8f6d58 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/atmel 0x295fc562 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0x8a723e49 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel 0xa3527578 atmel_open +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0x52770181 brcmf_sdio_remove +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmfmac/brcmfmac 0xcfec4a90 brcmf_sdio_probe +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x07b3a257 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x15f8d6a4 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x17fdef0b brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x313fca73 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x3dc77ea3 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x4d83e561 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x8dd49442 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0x993bcdc6 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xad57b1ed brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xae0199a2 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xde8aeda2 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/brcm80211/brcmutil/brcmutil 0xe263f1f6 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x07f9cf51 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x0e231c56 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x14ae29f0 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1723ac32 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x1f9c6604 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2699c0d2 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2a855e1c hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2cabcca8 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x2f052706 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x32e1e7cc hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x409de74f hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x4ccdf51f hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5866cc06 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x5fb20f18 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x7097d0dc hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x72ecfc80 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x8dfe34cb hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0x9fd6e1ae hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xa12ad27f hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xaea4b53e hostap_init_proc +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 0xb928f880 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcaf1f705 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xcec999ec hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xdc358996 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf117d7c4 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xf3e9880a hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/hostap/hostap 0xff9c8063 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x06d3b29e free_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x1f63d178 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x2ce44f10 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x3622bf87 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x417ca298 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x50b01e93 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x59e77bc0 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x6bcb5d77 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x719fbb79 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x773dae2d libipw_rx +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x781579ae libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x83c71b68 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0x973141ab libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xa9350df3 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb09efb39 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xb4caa03c libipw_change_mtu +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc5a315cf alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xc6dbae25 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xd7d3d469 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xdf94137c libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/ipw2x00/libipw 0xfd58e380 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x054db8d7 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x05fc1d68 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0a836b9c il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x0c77fd02 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1166308b il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x14c6adda il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x15c161d1 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1ba2e44d il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1c74b577 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x1fa34a62 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x20ed6c99 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x21c54584 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x24f66105 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2628b84e il_apm_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x29f3a11e il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2afbb76f il_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2d392b15 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x2d6b1855 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x336466a8 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x38fc008c il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x40af975d il_leds_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x420a5fab il_pci_resume +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4485e608 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4aa39103 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x4c3ac968 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x513d34cb il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x520699d5 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5243c14c il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x53dc5b44 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x564c6740 il_debug_level +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x57da3c20 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x59bf8daa il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5b16b6cc il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5c3be844 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x5f935e0c il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x616d84f3 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x639abd5f il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x654db6c2 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x68c64721 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6ad208e0 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6d410a9f il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6e3e0576 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6f3e0032 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x6f722000 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x701c3c11 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7081d7b6 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x73826343 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7393b1cf il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x74dad5d9 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x7ce156a5 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8077eaf7 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x80e899e3 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x81280dae il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x835408c1 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x89a8140f il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8ad3a106 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8ad4c2ec il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8b0cc05b il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x8f77616a il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x90d9fe71 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x94d297f3 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x952d57e7 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x959d541f il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x963e79a8 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0x9d622535 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa18a5b90 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa2644ef8 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xa828ef0e il_update_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xabf7c33d il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb01adb5b il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb167d66b il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb345ca06 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb3b0b6bd il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb458920f il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7599fa2 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbb010aab il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbdc17865 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbe4a7905 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xbf5732dc il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc35ad02b il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xc39cf12c il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xca02b585 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xca8f783e il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xcf09e656 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd66580f8 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd6c73482 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xd9e49b2a il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdaeebb8f il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xde3d7219 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xdf456da8 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe1b74602 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe2783b25 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe435493a il_queue_space +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe54b0f27 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe5cc5615 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe7ed4a81 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xe8259696 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xead0c2d4 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xef760884 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf42574cc il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf501278b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xf5d71379 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xfb6d10d3 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/iwlegacy/iwlegacy 0xff5a3dfa il_mac_hw_scan +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 0x01b67de9 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x27c368b4 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x2fb3f966 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x4688d942 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x50d0bb3b __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x5dea5bf1 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x76dd9e43 orinoco_get_stats +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x7f428dd6 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x8a6bec9b __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0x9e3249af orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xb606070e orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc05eb9a9 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xc4cd356e orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xd1cba3b3 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xdcd1db41 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xe97f5c9e orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xf2f88c65 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0a580b9f rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x0b8436c3 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x12c360d5 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x19b467cc rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1b663136 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x1cc6ee0a _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x20750927 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2296f9a9 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x2e3cf2b4 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x35dce7d6 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4373871b _rtl92c_store_pwrIndex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x46c5b6e7 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x4fcd3f2a rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5319dcb4 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x55652809 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x586b2325 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x58f02244 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x5935dae2 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x63f05dba rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x723e0ec1 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x763668db rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7da02126 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7dd006ef rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7e134498 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x7e20fc2f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x85d519b5 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8656cdda rtl92c_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x8f4de18e rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x953b4418 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0x9f09dc8f rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa8664790 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xa96bd60f rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xae44c308 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xb3314d48 _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc2d8d7d3 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xc415566a rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd52961a4 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xd867c762 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xeb31acce _rtl92c_phy_dbm_to_txpwr_Idx +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf1da3f0c rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf6fe457a rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xf82839a2 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common 0xfc02b7e6 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x00c3253b rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x094e87e2 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x0cf4c8b3 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x16a0f2dd rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3cbfdf1e rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3deb4df9 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x3e867cee rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x461f4e5e rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x490dc4e9 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x5746021c rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x7c930c73 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x8059b881 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x937e3b38 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0x9fb1fac8 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xb0cf4d44 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xc398209f rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xcdfbcccb rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe34457e1 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xe3ecadf9 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf53dc6ef rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xf784ec69 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfabb014a rtl_ps_set_rf_state +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfb41efe4 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/rtlwifi/rtlwifi 0xfc9a2412 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x699ecb57 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xf12d4617 wl1271_tx_complete +EXPORT_SYMBOL drivers/parport/parport 0x04af1495 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x0da04575 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x0f4f8f93 parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x1afdf67c parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x2b88f050 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x2e1a6b91 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x2fbe9313 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x38e8cd54 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x41ae9890 parport_register_device +EXPORT_SYMBOL drivers/parport/parport 0x489d32fb parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x48ce1f26 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x542281e3 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x562c6e5b parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x56966dfc parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x85f0f7cc parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x8a397320 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x91724243 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x93354c80 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x9f97cd80 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xa0ea13a4 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xadbd4b4c parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xaefc97e6 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xb03417d3 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xb7a7bfd3 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xcf002c01 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xdc22be32 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xde4ab77b parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xf1836ddc parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xf797201c parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xfa338dbc parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport_pc 0x921ca615 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xd68d9430 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x00f6f043 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1a03e438 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x238dd1af pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2f24ba34 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x32140a9d pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3798d3b5 __pcmcia_request_exclusive_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x41cb7f76 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x59a7daf5 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x66489df9 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x6c3352b7 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x742f5665 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x75f4737f pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x77f900d9 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x7bf68463 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8b5b7812 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xa8ba58c4 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb633c558 pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbdb8b100 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xeb118601 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xeb3eaad2 pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x08ced9d8 pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0c2e70b4 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x13620ea1 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x152d6433 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x213682ef pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3560742a pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x8f415724 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x92660efb pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa3373a9e pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb3fa08b9 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xeed4ee34 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x1880de3f pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x5d7523f4 pccard_static_ops +EXPORT_SYMBOL drivers/pps/pps_core 0x0daec132 pps_lookup_dev +EXPORT_SYMBOL drivers/pps/pps_core 0x389f7522 pps_register_source +EXPORT_SYMBOL drivers/pps/pps_core 0xc28a1006 pps_unregister_source +EXPORT_SYMBOL drivers/pps/pps_core 0xe768a6f3 pps_event +EXPORT_SYMBOL drivers/scsi/bnx2fc/bnx2fc 0xf209db44 bnx2fc_ctlr_get_lesb +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x116f8262 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2946b3ab fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x35dd7481 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3a79013d fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3a86d59e fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3f666529 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x42080c9f fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4434eabe fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6a52f272 fcoe_ctlr_get_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9ddc6ef9 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa5aa8192 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x228c7016 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2ad21beb fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d10ec29 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x31752061 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x333b85de fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x34414ab7 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e5fbaf fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40c137da fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x41cf025d fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a11ccb1 fc_rport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c0f888a fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c0ffae5 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4def6911 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5058ff1d fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5105ad22 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x537295f8 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x59d144a5 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ccec6f6 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5db90c0a fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x60007b93 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a958101 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x77828f78 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7ddd9f6e fc_change_queue_depth +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8a7aabf4 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9357b699 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x99927b03 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa60c241b fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae133f32 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0a9f729 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb33c0593 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3fbd502 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb4efccf3 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb6e91b19 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc9ea96d fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbdd74708 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3258666 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc334e8c8 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3734896 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc54f8dfe fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xca2ca7ae _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcc39a887 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4ded3b6 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd8f376f3 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdde15176 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4621a7b fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed696788 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf9470d73 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfabd8b20 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe4c073b fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe7e79ff fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfea2e6a2 fc_change_queue_type +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 0xe8761678 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x06b678e6 osd_req_create_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x085ed9b4 osd_req_flush_collection +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x0c17edb1 osd_sec_init_nosec_doall_caps +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1414dcb1 osd_req_set_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1a26aef2 osd_req_read_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x1c108bd8 osd_dev_init +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x27a3f00c osd_req_write_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2a6baa68 osd_req_read +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x2a8109a8 osd_req_write +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x390c9bd7 osd_req_get_attributes +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x459903bb osd_req_decode_sense_full +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x49e01fe4 osd_req_add_get_attr_page +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x56d04876 osd_req_flush_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x58afea9e osd_req_write_sg_kern +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x5fc84d87 osd_req_add_set_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x75fd03ad osd_execute_request_async +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x77916c9e osd_req_flush_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x839da5b4 osd_finalize_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x882894f1 osd_req_list_partition_collections +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x90ab14ba osd_end_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x921ec834 osd_req_remove_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9713105f osd_execute_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0x9e5cf616 osd_req_add_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xb66e1788 osd_req_remove_object +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xbfa940d6 osd_req_format +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc237cd00 osd_req_flush_obsd +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xc83c5d76 osd_req_read_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xcec90700 osd_req_list_dev_partitions +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe02ad373 osd_auto_detect_ver +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xe414f556 osd_start_request +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xeca4dadb osd_req_list_partition_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xecd64098 osd_dev_fini +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xedbc44f8 osd_req_list_collection_objects +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xefcf8e2d osd_req_create_partition +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf0ac5bdc osd_req_decode_get_attr_list +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xf3e05d5f osd_req_write_sg +EXPORT_SYMBOL drivers/scsi/osd/libosd 0xfef74f6f osd_req_read_kern +EXPORT_SYMBOL drivers/scsi/osd/osd 0x3e82c5a8 osduld_info_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x464d6aeb osduld_device_same +EXPORT_SYMBOL drivers/scsi/osd/osd 0x545eae50 osduld_path_lookup +EXPORT_SYMBOL drivers/scsi/osd/osd 0x5fc48609 osduld_unregister_test +EXPORT_SYMBOL drivers/scsi/osd/osd 0xa76b011e osduld_put_device +EXPORT_SYMBOL drivers/scsi/osd/osd 0xe82ead94 osduld_device_info +EXPORT_SYMBOL drivers/scsi/osd/osd 0xf31a11ab osduld_register_test +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x177777ed qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x311970d9 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x553a1391 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x871d9c16 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb0086c59 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb9b54ad3 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xc5315020 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xca12e41c qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe756411b qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf66a7a10 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf6a89dff qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x0766d04d qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x0e4d2459 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x48af602a qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x75403a89 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x8aa860f5 qlogicfas408_bus_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xcb1abd26 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x11365b2f raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x325cd0e7 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x7557999e raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0d2dc2d1 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1c133f1a fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2321c64a fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4070d4d0 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4e723b2f fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5890578a fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6bb07c0c fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7954b1ea fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7edf7d48 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbdb66be4 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc0b8fae5 scsi_is_fc_vport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe33e8059 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfb60793f fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfda1bfe9 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x013edd7b sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0219033b sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x09cb3b2a sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0a11cc4f scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x243c252a sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x295a63fe sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2ac9cd6f sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2fef5e0e sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x430ce607 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4cd70b1a scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x54b8a287 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x571e3ede sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x60b49f19 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x62ab4a1b sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6f9420a8 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7784ffa8 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x83fd394c scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8e3afa86 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8e8d7c33 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa6a5580a sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa7b434f7 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb8f4db75 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb9b2c767 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc8cebf73 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd2ac804a sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe48860f3 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe6d2e9a1 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf33c2202 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x071ffdf5 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x6449f264 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7eb9496b spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x97903b51 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xcfd61ce7 spi_schedule_dv_device +EXPORT_SYMBOL drivers/ssb/ssb 0x0c1ed71f ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x183271ac ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x2e36d337 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x3b94510f ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x66eaa038 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x67cf0236 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x75a57390 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x90dfe978 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x92a33e8c ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xa79ec115 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xa9560cb7 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xa9ed723e __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xb4a83cc9 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xb7eb116f ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xbf736567 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xc0512e0f ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xc3b22888 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xcaeee85d ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xd1ee6842 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xd481192b ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xd85917b4 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xef789785 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xf9e4c5c3 ssb_bus_pcibus_register +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x0bb06513 adt7316_remove +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x0caf626e adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x346f8d27 ade7854_remove +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xa7727683 ade7854_probe +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0x084234fa iio_sw_rb_free +EXPORT_SYMBOL drivers/staging/iio/ring_sw 0xce0d33ab iio_sw_rb_allocate +EXPORT_SYMBOL drivers/staging/media/cxd2099/cxd2099 0x63476dc1 cxd2099_attach +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x286e9921 go7007_boot_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x2c36b671 go7007_register_encoder +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x369de806 go7007_snd_init +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x4d73a5d4 go7007_alloc +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x72256eff go7007_read_interrupt +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x7d38259f go7007_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0x8bc186f3 go7007_read_addr +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xcb29f7b1 go7007_snd_remove +EXPORT_SYMBOL drivers/staging/media/go7007/go7007 0xfa826e3f go7007_parse_video_stream +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x013a0296 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x09fba4da rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0e9778fc rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x10a08575 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ee58456 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1f931170 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1ffae6ae rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bd94eb9 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x340c8d16 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x38f9da94 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x425dfcc4 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x475a178c rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x47ce1c70 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x48d1963f rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5806908f rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5993a93e rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5e96400b rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x63c836f1 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6702da6a rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67c2d596 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x696a0f89 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6f6215b2 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7a1ef1c3 Dot11d_Channelmap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x84922672 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8843c415 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x892e6afd rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8f231548 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9417b271 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x97b04fb6 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x99233eb0 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9eeb1128 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9fb81a0d rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa88d5544 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb5748d4e rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb5a08609 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xba1fdfa7 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbb00bd5f rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbe1420f2 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc92a9e56 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcc767723 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcd7c16b8 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd0f91014 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd2720274 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xda0479e2 rtllib_wpa_supplicant_ioctl +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf8abf15 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe5d64af4 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe9b97b33 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xec2bcdce rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf0a9a364 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf2e7e245 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfaceb347 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0554c4b6 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x05f8e202 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x08036544 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x172b66a9 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1cb8f860 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1ce84d22 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x21bdc60c ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x21fa4d21 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x247ba872 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28bddc97 Dot11d_UpdateCountryIe +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x335fbf72 DOT11D_GetMaxTxPwrInDbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3404f321 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x37aa803d ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3a3cc879 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3b8f5a77 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3dc66d90 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3f9d599a ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x43faa425 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x47c34485 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4a068616 ieee80211_send_probe_requests_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x566f8c01 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5893d4f9 IsLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x667a53e2 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x69817ba3 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7b0fcb0e ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7cc76fe9 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7dfb5d97 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7f24acdd ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x832788cb DOT11D_ScanComplete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x87ed2504 Dot11d_Init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x898aa66f ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8d6b9990 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8e678e55 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x90da8343 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x950e4342 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9fa063f6 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xad2cc335 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb0d6a06c ToLegalChannel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb232db3e ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb5191b75 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb7f5ec3b ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb9734eb0 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbd787fa0 ieee80211_wx_set_rate_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 0xce9cdfe8 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd40bd29a ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd5cc3df4 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd7d7c164 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf38883d ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe0fa40d0 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe13ee43b ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe218a8f2 ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe46cdb5c Dot11d_Reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe82b6bec notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeaea95c7 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf778d66f HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/telephony/ixj 0x350209d6 ixj_pcmcia_probe +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0x357818f1 phone_unregister_device +EXPORT_SYMBOL drivers/staging/telephony/phonedev 0xb75f8eba phone_register_device +EXPORT_SYMBOL drivers/target/target_core_mod 0x02de3b18 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x036117f8 fc_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x04cc877e core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x0d032020 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x0d8eee4a transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x135c3c50 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x14427b82 target_fabric_configfs_free +EXPORT_SYMBOL drivers/target/target_core_mod 0x191cd2ea transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x1afd75f1 fc_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x1da0ae67 core_tpg_del_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f3e3c09 target_fabric_configfs_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x2a46a5d5 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3091c964 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3602cadc core_tpg_add_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x37d50fbc transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x3d490859 fc_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x3dc88e15 iscsi_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0x44e6196b core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x46c17d9d core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x477e6d5b sas_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x4fd66be9 target_put_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x56ea3eaf transport_generic_handle_cdb_map +EXPORT_SYMBOL drivers/target/target_core_mod 0x59fdb78e target_splice_sess_cmd_list +EXPORT_SYMBOL drivers/target/target_core_mod 0x68dc845d core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x69f6798d iscsi_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x6fd30905 core_tpg_clear_object_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x71071688 transport_init_se_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x741768c4 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x75f2995a sas_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x765d79a8 transport_subsystem_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7b0bb2fb __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7dbada9d transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x80ef676d transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x85aa880c transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x86a4ee36 sas_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x88371201 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a246ccc transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x9e1bbd83 transport_add_device_to_core_hba +EXPORT_SYMBOL drivers/target/target_core_mod 0xa18eab2d fc_get_pr_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xaa70c2c5 transport_check_aborted_status +EXPORT_SYMBOL drivers/target/target_core_mod 0xab723a25 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xabb3239a transport_subsystem_release +EXPORT_SYMBOL drivers/target/target_core_mod 0xac48615c target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xad9e4973 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xafd6843e transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb23fa998 sas_get_pr_transport_id_len +EXPORT_SYMBOL drivers/target/target_core_mod 0xb31bc530 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb39e9e9c transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xb3e47290 iscsi_get_fabric_proto_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4d1750f target_setup_cmd_from_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xbbbe8197 target_fabric_configfs_init +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc4bc64e transport_generic_handle_data +EXPORT_SYMBOL drivers/target/target_core_mod 0xc084a588 iscsi_parse_pr_out_transport_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xc10ead54 target_fabric_configfs_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xc14bf826 target_get_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xca791f0d transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xd4d92375 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd89b472c target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xe2dbbcbd core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8d43a32 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xebed89ea transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xefdaad4d transport_generic_process_write +EXPORT_SYMBOL drivers/target/target_core_mod 0xf01621c7 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb69417e transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xfc5c6b9b transport_generic_map_mem_to_cmd +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0x812248ce serial8250_register_port +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xb3aa568c serial8250_register_8250_port +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 0xdfbb0e30 serial8250_set_isa_configurator +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xedbf6f0b serial8250_do_pm +EXPORT_SYMBOL drivers/tty/serial/8250/8250 0xf95515fd serial8250_do_set_termios +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xa37972e0 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xc6b91384 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 0x1ee55cc4 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2907cb42 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x384c05a4 usb_wwan_ioctl +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x43e9bd78 usb_wwan_release +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4f8fc4cb usb_wwan_disconnect +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x58820328 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x78863ce5 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa2882f07 usb_wwan_startup +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa7486d68 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xadf0642f usb_wwan_set_termios +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xeb810610 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf31a1292 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf4d1e61a usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf4fea988 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfd40709d usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x12f36874 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x3896f7e5 usb_serial_suspend +EXPORT_SYMBOL drivers/video/backlight/generic_bl 0x366d19ef genericbl_limit_intensity +EXPORT_SYMBOL drivers/video/backlight/lcd 0x16b8d2bc lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xc6a2f147 lcd_device_register +EXPORT_SYMBOL drivers/video/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb10c38e8 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xade8d5d8 g450_mnp2f +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xdaa397fd matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/matrox/g450_pll 0xe8f554a4 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x322827ed DAC1064_global_restore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0x64ff98bc matrox_mystique +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xae7d76d1 DAC1064_global_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_DAC1064 0xb2553434 matrox_G100 +EXPORT_SYMBOL drivers/video/matrox/matroxfb_Ti3026 0xe578b07c matrox_millennium +EXPORT_SYMBOL drivers/video/matrox/matroxfb_accel 0xc96fd901 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x0232b697 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x639dca40 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x6aff56f4 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/matrox/matroxfb_base 0x8b0bd41a matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xa8b578e8 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/matrox/matroxfb_g450 0xe0871dcd matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x59bda038 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0x9431e903 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xaa04ebd8 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xd81a3601 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/matrox/matroxfb_misc 0xf7229182 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/mb862xx/mb862xxfb 0x0cb778fd mb862xxfb_init_accel +EXPORT_SYMBOL drivers/video/output 0x2307bfe6 video_output_unregister +EXPORT_SYMBOL drivers/video/output 0xbb60bab0 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 0x091f4940 svga_tileblit +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 0x4037d32e svga_get_caps +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 0x9565732b svga_settile +EXPORT_SYMBOL drivers/video/svgalib 0xc57297ae svga_tilecursor +EXPORT_SYMBOL drivers/video/svgalib 0xcea327be svga_tilecopy +EXPORT_SYMBOL drivers/video/svgalib 0xd1429fca svga_wseq_multi +EXPORT_SYMBOL drivers/video/svgalib 0xd18a5193 svga_tilefill +EXPORT_SYMBOL drivers/video/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/svgalib 0xd3d358ef svga_get_tilemax +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/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 0x088897ba vme_irq_generate +EXPORT_SYMBOL drivers/vme/vme 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL drivers/vme/vme 0x0ec5babe vme_dma_free +EXPORT_SYMBOL drivers/vme/vme 0x167e7906 vme_irq_handler +EXPORT_SYMBOL drivers/vme/vme 0x20df5a3d vme_dma_pci_attribute +EXPORT_SYMBOL drivers/vme/vme 0x3a24141b vme_dma_request +EXPORT_SYMBOL drivers/vme/vme 0x3e95083c vme_slave_get +EXPORT_SYMBOL drivers/vme/vme 0x401f3c5c vme_slot_get +EXPORT_SYMBOL drivers/vme/vme 0x46649cd1 vme_lm_set +EXPORT_SYMBOL drivers/vme/vme 0x48895307 vme_bus_type +EXPORT_SYMBOL drivers/vme/vme 0x48b99a13 vme_lm_free +EXPORT_SYMBOL drivers/vme/vme 0x4baf35a7 vme_master_get +EXPORT_SYMBOL drivers/vme/vme 0x4e622ced vme_lm_request +EXPORT_SYMBOL drivers/vme/vme 0x52983a4f vme_master_write +EXPORT_SYMBOL drivers/vme/vme 0x535c8308 vme_dma_pattern_attribute +EXPORT_SYMBOL drivers/vme/vme 0x541d036e vme_register_driver +EXPORT_SYMBOL drivers/vme/vme 0x5aff4177 vme_lm_get +EXPORT_SYMBOL drivers/vme/vme 0x5ecd5219 vme_slave_request +EXPORT_SYMBOL drivers/vme/vme 0x79a33f85 vme_get_size +EXPORT_SYMBOL drivers/vme/vme 0x7b94b79f vme_unregister_driver +EXPORT_SYMBOL drivers/vme/vme 0x7cf35220 vme_master_free +EXPORT_SYMBOL drivers/vme/vme 0x9062362e vme_master_request +EXPORT_SYMBOL drivers/vme/vme 0x90ce70a2 vme_unregister_bridge +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 0xa7eabd17 vme_dma_list_exec +EXPORT_SYMBOL drivers/vme/vme 0xa93e402c vme_irq_free +EXPORT_SYMBOL drivers/vme/vme 0xca5ee09a vme_free_consistent +EXPORT_SYMBOL drivers/vme/vme 0xdbf417e6 vme_dma_list_free +EXPORT_SYMBOL drivers/vme/vme 0xde4bd1da vme_dma_list_add +EXPORT_SYMBOL drivers/vme/vme 0xdff905e5 vme_slave_free +EXPORT_SYMBOL drivers/vme/vme 0xec311f33 vme_register_bridge +EXPORT_SYMBOL drivers/vme/vme 0xefd1624a vme_dma_free_attribute +EXPORT_SYMBOL drivers/vme/vme 0xf05b45aa vme_new_dma_list +EXPORT_SYMBOL drivers/vme/vme 0xf5a10e25 vme_slave_set +EXPORT_SYMBOL drivers/vme/vme 0xf6e74f7c vme_irq_request +EXPORT_SYMBOL drivers/vme/vme 0xfacd8e72 vme_dma_vme_attribute +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x4aab272e w1_ds2760_read +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0x9f49a6a2 w1_ds2760_recall_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xc5f329e3 w1_ds2760_store_eeprom +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2760 0xf52d6766 w1_ds2760_write +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x2050cda4 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x3ec2f27f w1_ds2780_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x97331607 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xb842d295 w1_ds2781_io_nolock +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xde1ebf17 w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xf5cdb40b w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x3e50fdf3 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xba5ffa36 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0xba831152 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xdab08713 w1_remove_master_device +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 0x16aa5684 config_item_set_name +EXPORT_SYMBOL fs/configfs/configfs 0x3d69e34a configfs_register_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0x558dd0af config_group_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x61d9fa6e config_item_get +EXPORT_SYMBOL fs/configfs/configfs 0x8b09162b configfs_undepend_item +EXPORT_SYMBOL fs/configfs/configfs 0x8fb292f2 config_item_init_type_name +EXPORT_SYMBOL fs/configfs/configfs 0x957338f8 configfs_depend_item +EXPORT_SYMBOL fs/configfs/configfs 0xa5c50740 config_item_put +EXPORT_SYMBOL fs/configfs/configfs 0xbf497f96 config_group_init +EXPORT_SYMBOL fs/configfs/configfs 0xca1ce0c1 configfs_unregister_subsystem +EXPORT_SYMBOL fs/configfs/configfs 0xd0ea11e9 config_item_init +EXPORT_SYMBOL fs/configfs/configfs 0xd7f07cfd config_group_find_item +EXPORT_SYMBOL fs/exofs/libore 0x011500ad ore_calc_stripe_info +EXPORT_SYMBOL fs/exofs/libore 0x28806871 ore_verify_layout +EXPORT_SYMBOL fs/exofs/libore 0x3354ea41 ore_get_rw_state +EXPORT_SYMBOL fs/exofs/libore 0x6adc34f6 ore_put_io_state +EXPORT_SYMBOL fs/exofs/libore 0x7ef718db ore_get_io_state +EXPORT_SYMBOL fs/exofs/libore 0x8f3d70d1 ore_remove +EXPORT_SYMBOL fs/exofs/libore 0x8f8eb8af ore_write +EXPORT_SYMBOL fs/exofs/libore 0x917c1c4b ore_read +EXPORT_SYMBOL fs/exofs/libore 0xa3d2a634 g_attr_logical_length +EXPORT_SYMBOL fs/exofs/libore 0xa751784d ore_truncate +EXPORT_SYMBOL fs/exofs/libore 0xae6c610e extract_attr_from_ios +EXPORT_SYMBOL fs/exofs/libore 0xe2f2774d ore_create +EXPORT_SYMBOL fs/exofs/libore 0xf104b017 ore_check_io +EXPORT_SYMBOL fs/fscache/fscache 0x06ea04c0 __fscache_unregister_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x07d9b576 fscache_wait_bit_interruptible +EXPORT_SYMBOL fs/fscache/fscache 0x25902473 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x28a47b8c __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2bd7f98a __fscache_register_netfs +EXPORT_SYMBOL fs/fscache/fscache 0x2ebcfb98 fscache_object_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x316109a5 __fscache_maybe_release_page +EXPORT_SYMBOL fs/fscache/fscache 0x355b51e3 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3720f17a __fscache_wait_on_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x379bcd27 __fscache_uncache_page +EXPORT_SYMBOL fs/fscache/fscache 0x3fc23318 fscache_wait_bit +EXPORT_SYMBOL fs/fscache/fscache 0x4873aa10 fscache_check_aux +EXPORT_SYMBOL fs/fscache/fscache 0x616e5bc8 __fscache_uncache_all_inode_pages +EXPORT_SYMBOL fs/fscache/fscache 0x69df73bc __fscache_check_page_write +EXPORT_SYMBOL fs/fscache/fscache 0x72453d95 fscache_cache_cleared_wq +EXPORT_SYMBOL fs/fscache/fscache 0x72b7af23 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x74530ecd fscache_op_debug_id +EXPORT_SYMBOL fs/fscache/fscache 0x7dc1a157 __fscache_attr_changed +EXPORT_SYMBOL fs/fscache/fscache 0x82739105 __fscache_read_or_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0x86f8894f fscache_object_states +EXPORT_SYMBOL fs/fscache/fscache 0x8e404758 fscache_obtained_object +EXPORT_SYMBOL fs/fscache/fscache 0x9ac4cf95 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9aca9f2f __fscache_write_page +EXPORT_SYMBOL fs/fscache/fscache 0xaab422da __fscache_read_or_alloc_pages +EXPORT_SYMBOL fs/fscache/fscache 0xaec37c9e fscache_mark_pages_cached +EXPORT_SYMBOL fs/fscache/fscache 0xb11b4d4e __fscache_update_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xbb9810c2 fscache_fsdef_index +EXPORT_SYMBOL fs/fscache/fscache 0xbf2a8fc3 __fscache_alloc_page +EXPORT_SYMBOL fs/fscache/fscache 0xc65d7870 fscache_put_operation +EXPORT_SYMBOL fs/fscache/fscache 0xcceb3c43 fscache_object_work_func +EXPORT_SYMBOL fs/fscache/fscache 0xd61d5a88 fscache_enqueue_operation +EXPORT_SYMBOL fs/fscache/fscache 0xe1b85c5e 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 0x2b074bea qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x438fc562 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x630acbae qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xce9deaa5 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xfc0b8a8d 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 0x16e74e1a lc_changed +EXPORT_SYMBOL lib/lru_cache 0x297d20c2 lc_create +EXPORT_SYMBOL lib/lru_cache 0x2d79fda7 lc_del +EXPORT_SYMBOL lib/lru_cache 0x5e2d4a92 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x6561fa48 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x679bc675 lc_seq_dump_details +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 0x0e05e2e5 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xd1f6c6dd unregister_8022_client +EXPORT_SYMBOL net/802/p8023 0x933157b6 make_8023_client +EXPORT_SYMBOL net/802/p8023 0x970138c5 destroy_8023_client +EXPORT_SYMBOL net/802/psnap 0x728cee00 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xfd9eb196 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x07879c53 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x09e13ad5 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x0ae9678a p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x14ae52e2 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x1821212a p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x234fa9b3 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x29302e66 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x2ba96efa p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x30b2ab4f p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x35d1e27e p9_idpool_get +EXPORT_SYMBOL net/9p/9pnet 0x3aeaa2d6 p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x42619f85 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x44ac4898 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x480fea7a p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x4e69a8d2 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x532030bb v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x55462f1c p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x57f926e9 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5dc90446 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x65b986fa p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x6b33644a p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x6f1be2dd p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x79f5dc74 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x7ce30224 p9_payload_gup +EXPORT_SYMBOL net/9p/9pnet 0x7f82d4e5 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x9068473d p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x919e909c p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x965a1cee p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x977a0030 p9_nr_pages +EXPORT_SYMBOL net/9p/9pnet 0x97cbd1c6 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x98b5d5c4 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x98ec0cea p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x9c964743 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xa0052902 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xa0470051 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xa697d3cb p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xb524f799 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xb5576070 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xba2da88b p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xc5db54a9 p9_idpool_destroy +EXPORT_SYMBOL net/9p/9pnet 0xd20a597e p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xd424d07d v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xdb41c05c p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xdb70e4e3 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe7a2a241 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xf4012f2e p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xf4a111d8 p9_idpool_create +EXPORT_SYMBOL net/9p/9pnet 0xf84f2022 p9_idpool_put +EXPORT_SYMBOL net/9p/9pnet 0xfd40c79d p9_idpool_check +EXPORT_SYMBOL net/9p/9pnet 0xfe5944db p9_client_symlink +EXPORT_SYMBOL net/appletalk/appletalk 0x3fc8a9e5 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xa79832af atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xdc23a429 atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xf072ab76 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x04cdc2aa vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x156b6af1 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x1d8e2c06 atm_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x443148b0 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6fce4e3b atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x7a8ba1a9 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x8d0806a5 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x955fb7c0 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x997f2ade atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xa42744fa vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xa59d31fd atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xae661998 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xb4c8e324 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xca87b453 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf89e29e2 vcc_release_async +EXPORT_SYMBOL net/ax25/ax25 0x026c1368 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x0bc106cb ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x1ffe65fa ax25_hard_header +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x473bb770 ax25_rebuild_header +EXPORT_SYMBOL net/ax25/ax25 0x49ab5314 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x4a117ad4 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5eb3070d ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x7a3af3aa ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7c00fec3 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc4f324e1 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xd4b7b51d ax25_listen_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x08c9e00f bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x11011e23 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x159d4e97 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1e0d2671 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x249f90cc bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x24f07a93 hci_le_conn_update +EXPORT_SYMBOL net/bluetooth/bluetooth 0x26e5b02f bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x27c93808 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2b9e4ffd hci_find_ltk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2cf0a076 hci_conn_check_link_mode +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3d993084 hci_conn_put_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x529c6117 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x57fd6c7d hci_send_acl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x678ba274 hci_conn_hold_device +EXPORT_SYMBOL net/bluetooth/bluetooth 0x680dd426 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6880f151 hci_recv_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6ba3195e bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6fa471a2 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x70682918 hci_recv_stream_fragment +EXPORT_SYMBOL net/bluetooth/bluetooth 0x76f0ba2d hci_find_ltk_by_addr +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c640527 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x839136c8 hci_le_start_enc +EXPORT_SYMBOL net/bluetooth/bluetooth 0x895730f0 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d0aeb63 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d2ecbd0 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f0e936f hci_alloc_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x91c9a325 bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x944199b1 hci_send_sco +EXPORT_SYMBOL net/bluetooth/bluetooth 0x945e411e hci_conn_change_link_key +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9b5958c9 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa0e1f02e hci_send_cmd +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa2600257 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa31c6a44 hci_connect +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa5135bfe bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb61a0c3b bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb85dc546 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb89a2750 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc2066af0 batostr +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc3bc0965 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xca805bf5 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcc1fb551 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf19294db bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf572771d bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfa3d3cbf hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfbe64b2a hci_unregister_dev +EXPORT_SYMBOL net/bridge/bridge 0xcb585090 br_should_route_hook +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x85c67445 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe0daf069 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe16f2e1d 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 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 0x5b02f94b 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 0x94b76f43 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x95a56436 cfcnfg_add_phy_layer +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 0xdf00c2f1 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0xf52d8cc3 caif_disconnect_client +EXPORT_SYMBOL net/can/can 0x293ec419 can_ioctl +EXPORT_SYMBOL net/can/can 0x7976f960 can_rx_register +EXPORT_SYMBOL net/can/can 0x8c027919 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x9797dc38 can_send +EXPORT_SYMBOL net/can/can 0xa1dd3cd2 can_proto_register +EXPORT_SYMBOL net/can/can 0xebf5c8c7 can_proto_unregister +EXPORT_SYMBOL net/ceph/libceph 0x084a846d ceph_calc_raw_layout +EXPORT_SYMBOL net/ceph/libceph 0x09290ab3 ceph_debugfs_init +EXPORT_SYMBOL net/ceph/libceph 0x0d61c270 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x0d914752 ceph_auth_create_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x1312bf0b ceph_osdc_stop +EXPORT_SYMBOL net/ceph/libceph 0x191f51ce ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x197effcb ceph_osdc_release_request +EXPORT_SYMBOL net/ceph/libceph 0x1c537b10 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x252a2699 ceph_osdc_set_request_linger +EXPORT_SYMBOL net/ceph/libceph 0x28ce1c37 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x3550646c ceph_copy_page_vector_to_user +EXPORT_SYMBOL net/ceph/libceph 0x3abec91f ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x3e1f462a ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x41bfe6ba ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x43e458f6 ceph_file_part +EXPORT_SYMBOL net/ceph/libceph 0x4498629c ceph_osdc_build_request +EXPORT_SYMBOL net/ceph/libceph 0x4891227d ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x490994b1 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4a283545 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x4c6b3a31 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x4e4f792f ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x4f02caad ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x516f3abb ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x5379cea3 ceph_caps_for_mode +EXPORT_SYMBOL net/ceph/libceph 0x54fc2347 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x570ceb67 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5ad18e78 ceph_osdc_unregister_linger_request +EXPORT_SYMBOL net/ceph/libceph 0x60b111dd ceph_osdc_wait_event +EXPORT_SYMBOL net/ceph/libceph 0x60f88c6e ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x624a77ee ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x641b6465 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x695b3879 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x6bdfde65 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x6e59caac ceph_parse_options +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 0x780fbe43 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x78823df0 ceph_osdc_wait_request +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 0x81eae1b6 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x8b188f45 ceph_get_direct_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9423880a ceph_monc_got_mdsmap +EXPORT_SYMBOL net/ceph/libceph 0x94bbe54c ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x9602daba ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x96449d23 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x971af7f1 ceph_copy_from_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 0xa12ce954 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xa4b1774c ceph_osdc_create_event +EXPORT_SYMBOL net/ceph/libceph 0xa962ff45 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xa9f22447 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0xab237f2c ceph_auth_update_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6081d6d ceph_msgr_exit +EXPORT_SYMBOL net/ceph/libceph 0xb72828bf __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xbeb334ac ceph_calc_object_layout +EXPORT_SYMBOL net/ceph/libceph 0xbf6abdcd ceph_osdc_cancel_event +EXPORT_SYMBOL net/ceph/libceph 0xc4a80955 ceph_debugfs_cleanup +EXPORT_SYMBOL net/ceph/libceph 0xc4ffc0a6 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc9f82b38 ceph_msgr_init +EXPORT_SYMBOL net/ceph/libceph 0xcb50a624 ceph_parse_ips +EXPORT_SYMBOL net/ceph/libceph 0xcb98fdb2 ceph_osdc_readpages +EXPORT_SYMBOL net/ceph/libceph 0xce4151f8 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xd2c107bb ceph_flags_to_mode +EXPORT_SYMBOL net/ceph/libceph 0xd37faa9f ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xddc84144 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xdfebd247 ceph_monc_create_snapid +EXPORT_SYMBOL net/ceph/libceph 0xe088895b ceph_osdc_init +EXPORT_SYMBOL net/ceph/libceph 0xe1d32c68 ceph_osdc_put_event +EXPORT_SYMBOL net/ceph/libceph 0xe2e404ed ceph_osdc_writepages +EXPORT_SYMBOL net/ceph/libceph 0xe5a556d7 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xe849e6a6 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xed229339 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xee5e90c9 ceph_client_id +EXPORT_SYMBOL net/ceph/libceph 0xf38af05a ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf5774cba ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xfb66de29 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xfb995e3e ceph_calc_pg_primary +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xf6bbc178 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2046e560 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2768056f ieee802154_nl_disassoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0x321a810e ieee802154_nl_scan_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3b77e85d wpan_phy_alloc +EXPORT_SYMBOL net/ieee802154/ieee802154 0x49c3e172 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x50fcfc78 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5a4d1fca wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x67dc9546 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x870a42ba ieee802154_nl_start_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb2b81bae ieee802154_nl_beacon_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc001b6a7 ieee802154_nl_assoc_indic +EXPORT_SYMBOL net/ieee802154/ieee802154 0xccb112e7 ieee802154_nl_disassoc_confirm +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe3b893ca ieee802154_nl_assoc_confirm +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x0b629100 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x4e08d661 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x787565d0 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x86cb9eb7 ipt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x906fa861 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xa694919b ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x4f9100e2 nf_nat_setup_info +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x65dab59c nf_nat_follow_master +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0x84cd731a nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xa1a1e714 nf_nat_protocol_unregister +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xd77075c2 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xe437b82b nf_nat_protocol_register +EXPORT_SYMBOL net/ipv4/netfilter/nf_nat 0xef4d6fee nf_nat_used_tuple +EXPORT_SYMBOL net/ipv4/tunnel4 0x62293fbe xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xebc85ffa xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7bc7a04d ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x854183df ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xd50d2646 ipv6_find_hdr +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf7dc2efc ip6t_unregister_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x8d54d23f xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xb2e57e5e xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x62246d07 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xfe47ecb5 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x02f414a2 ircomm_connect_response +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x58f171b5 ircomm_control_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x6a74e528 ircomm_open +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x6d74b29f ircomm_data_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0x8f7b98eb ircomm_connect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xabb9839e ircomm_disconnect_request +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xdf5b80ba ircomm_close +EXPORT_SYMBOL net/irda/ircomm/ircomm 0xe5795d4f ircomm_flow_request +EXPORT_SYMBOL net/irda/irda 0x0064e0ea hashbin_get_first +EXPORT_SYMBOL net/irda/irda 0x0338d21b irlap_close +EXPORT_SYMBOL net/irda/irda 0x06a3ee58 irias_new_integer_value +EXPORT_SYMBOL net/irda/irda 0x07d3647c irlmp_register_service +EXPORT_SYMBOL net/irda/irda 0x087eb3c2 irlmp_open_lsap +EXPORT_SYMBOL net/irda/irda 0x09ee6bd0 irttp_connect_request +EXPORT_SYMBOL net/irda/irda 0x1764e4b9 irttp_dup +EXPORT_SYMBOL net/irda/irda 0x1ce8e018 irlmp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x1e6cade0 irias_add_integer_attrib +EXPORT_SYMBOL net/irda/irda 0x2036ad06 irda_param_insert +EXPORT_SYMBOL net/irda/irda 0x23eed6d2 irda_notify_init +EXPORT_SYMBOL net/irda/irda 0x2e36f883 irlmp_connect_response +EXPORT_SYMBOL net/irda/irda 0x35e9fd6d irttp_disconnect_request +EXPORT_SYMBOL net/irda/irda 0x38a20e5b irda_debug +EXPORT_SYMBOL net/irda/irda 0x3c2191ce irttp_connect_response +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 0x51f599e0 proc_irda +EXPORT_SYMBOL net/irda/irda 0x577b0bcc iriap_getvaluebyclass_request +EXPORT_SYMBOL net/irda/irda 0x598a34b8 irda_device_set_media_busy +EXPORT_SYMBOL net/irda/irda 0x601bda46 hashbin_remove +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 0x6ded1dad irttp_flow_request +EXPORT_SYMBOL net/irda/irda 0x6e0ab3c7 irias_add_string_attrib +EXPORT_SYMBOL net/irda/irda 0x7042bc54 irlmp_register_client +EXPORT_SYMBOL net/irda/irda 0x711686b8 irlmp_close_lsap +EXPORT_SYMBOL net/irda/irda 0x763e54a4 irlmp_unregister_client +EXPORT_SYMBOL net/irda/irda 0x76c3c0ee irttp_udata_request +EXPORT_SYMBOL net/irda/irda 0x7957f728 irlmp_update_client +EXPORT_SYMBOL net/irda/irda 0x85d88217 irias_delete_object +EXPORT_SYMBOL net/irda/irda 0x91815586 irda_param_pack +EXPORT_SYMBOL net/irda/irda 0x92017c49 async_unwrap_char +EXPORT_SYMBOL net/irda/irda 0x993ad14b irda_param_extract_all +EXPORT_SYMBOL net/irda/irda 0xa1d41e58 hashbin_delete +EXPORT_SYMBOL net/irda/irda 0xa61cdab6 async_wrap_skb +EXPORT_SYMBOL net/irda/irda 0xa625dfb0 irlmp_data_request +EXPORT_SYMBOL net/irda/irda 0xa9f82701 alloc_irdadev +EXPORT_SYMBOL net/irda/irda 0xaa557515 irias_new_object +EXPORT_SYMBOL net/irda/irda 0xb6ed8351 irttp_data_request +EXPORT_SYMBOL net/irda/irda 0xb9394173 irias_delete_value +EXPORT_SYMBOL net/irda/irda 0xb9e120a9 irlmp_connect_request +EXPORT_SYMBOL net/irda/irda 0xbcd3ef13 irias_object_change_attribute +EXPORT_SYMBOL net/irda/irda 0xbe40ace9 irlmp_discovery_request +EXPORT_SYMBOL net/irda/irda 0xc68e43be irias_add_octseq_attrib +EXPORT_SYMBOL net/irda/irda 0xc87f948d iriap_open +EXPORT_SYMBOL net/irda/irda 0xcead7dbb hashbin_find +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 0xe22408b2 iriap_close +EXPORT_SYMBOL net/irda/irda 0xe3463529 hashbin_lock_find +EXPORT_SYMBOL net/irda/irda 0xe3bde43e irias_insert_object +EXPORT_SYMBOL net/irda/irda 0xe633a537 irlap_open +EXPORT_SYMBOL net/irda/irda 0xedd521c2 irlmp_get_discoveries +EXPORT_SYMBOL net/irda/irda 0xf0a694a1 irias_find_object +EXPORT_SYMBOL net/irda/irda 0xf3d7c6c6 irttp_open_tsap +EXPORT_SYMBOL net/irda/irda 0xf5876b95 hashbin_remove_this +EXPORT_SYMBOL net/irda/irda 0xfc9074b9 irttp_close_tsap +EXPORT_SYMBOL net/l2tp/l2tp_core 0xfdfb478e l2tp_recv_common +EXPORT_SYMBOL net/lapb/lapb 0x20f35737 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x271055a4 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x42565b8f lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x595e9af8 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x63638e74 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xc153eed7 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xcd4e68d2 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xe87b8d95 lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x0995eff8 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x23799640 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x24fe3b46 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x36237f6f llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x44d5b191 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x4fb17163 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0xc35e28f7 llc_sap_list_lock +EXPORT_SYMBOL net/llc/llc 0xf93eb8df llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x005c8e96 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x06e20bd9 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x0f78f3f7 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x128b30ae ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x18f94fd3 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x222eface ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x24b1aea0 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x273cf8b5 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x28eec32e ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x2ba8fbda ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x2e85b299 ieee80211_rx +EXPORT_SYMBOL net/mac80211/mac80211 0x30d484d1 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x321713ce ieee80211_get_operstate +EXPORT_SYMBOL net/mac80211/mac80211 0x3ff3aa71 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x4277d404 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x462b8093 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x47117a8f ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x48bb3397 ieee80211_napi_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x4f97b8b1 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4fb39646 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x58f15199 ieee80211_napi_schedule +EXPORT_SYMBOL net/mac80211/mac80211 0x5c28cca5 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x5caacbf4 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5e862703 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x5f63b4da ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x6503ef71 ieee80211_sta_eosp_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6d6f0251 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x6ddb9ad0 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x744b6cd0 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x75379bef ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x75e6dc6e ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x76ac2310 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x76d3a0c8 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x799c453c ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7a74c7c6 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x7b0324d5 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x7cc7fd3a ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x7efa4c2a ieee80211_enable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0x8123bf0d ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x815f990f ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x81adc5c8 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x88ed8cb3 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x921549e1 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x960d7f1a ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x97efb7d6 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa4241970 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa5eff078 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa9830f13 rate_control_send_low +EXPORT_SYMBOL net/mac80211/mac80211 0xaa157485 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0xac392f17 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xaca270e7 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xb234e14a ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb3ad035c ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb5e06ef0 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xbe3dbcb2 ieee80211_disable_dyn_ps +EXPORT_SYMBOL net/mac80211/mac80211 0xc0f0685e ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xc2fee3f4 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc512ee7f ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc6486465 ieee80211_alloc_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xc7e9782e ieee80211_get_key_tx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xd3061b74 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xd3adc03c ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xd9d63f69 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xddb47d52 ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0xde4cc67a ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xe09462b9 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xe10e1b72 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a0eb02 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xef93e519 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xf26686f4 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0d5feb5e ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3b0063c1 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4da26f18 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5391bec5 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7a26681e unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7b9e829c register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7dd54114 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x885db76d ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8d146afe ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa0757819 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa70a7055 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc4bfd09c unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xce077d98 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xf8c25a11 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x95615973 __nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xa9aff2ae nf_conntrack_untracked +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xaf448525 __nf_ct_ext_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack_proto_gre 0x91dae7bc nf_ct_gre_keymap_flush +EXPORT_SYMBOL net/netfilter/x_tables 0x08c473b7 xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x0edefc1f xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x16ef5158 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x253e8b44 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x2906f61b xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x53234845 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x549b171c xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x939a5b98 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xb0b8e758 xt_find_target +EXPORT_SYMBOL net/netfilter/x_tables 0xb28f5ef1 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xb9310e30 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xdc78768f xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xf76ed7e4 xt_unregister_match +EXPORT_SYMBOL net/nfc/hci/hci 0x0aefaefd nfc_shdlc_get_hci_dev +EXPORT_SYMBOL net/nfc/hci/hci 0x1d8584b4 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x1f371b4b nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x285b78ca nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x4a404e36 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4ec80a21 nfc_shdlc_free +EXPORT_SYMBOL net/nfc/hci/hci 0x524d7350 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x66ae0f8f nfc_shdlc_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x6aa2c623 nfc_shdlc_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x703c8ea0 nfc_shdlc_allocate +EXPORT_SYMBOL net/nfc/hci/hci 0x707b9d9d nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x789f7036 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x7faeb4f2 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x8c08db2a nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x97ab1168 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xa141e3cf nfc_hci_send_response +EXPORT_SYMBOL net/nfc/hci/hci 0xb883b802 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbd4ef94c nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd2624bb7 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xd375d044 nfc_shdlc_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xf63200c9 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x30211bf2 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x421e7c4b nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x5071e5e5 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbfdda028 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xdf59db66 nci_register_device +EXPORT_SYMBOL net/nfc/nfc 0x31ce8a39 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x3ebeccbf nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x4d2cc32a nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x62655cc3 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x6588910d nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x6a0bbc9e nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x7eac9136 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xa84a6f03 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xb7d3f4b0 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xe2c149ea nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xf8b150c6 nfc_dep_link_is_up +EXPORT_SYMBOL net/phonet/phonet 0x343f85e7 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x3e1a3280 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x4a446ba8 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x53926aca phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x6bed23b0 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x844d5728 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x9465de11 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0xa6033042 pn_sock_get_port +EXPORT_SYMBOL net/rds/rds 0x7505d413 rds_str_array +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x04937d6c rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x1de0aa62 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x48761249 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4a9182ee rxrpc_kernel_reject_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x4e8ec3bd rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x51fe45d0 rxrpc_kernel_free_skb +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x5f15c362 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0x989d04ed rxrpc_kernel_get_abort_code +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xa8d89ea2 rxrpc_kernel_intercept_rx_messages +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xad6f2c3b rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xbe96a699 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xc5c4e6a1 rxrpc_kernel_is_data_last +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xe20bd278 rxrpc_kernel_data_delivered +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xefca35ab rxrpc_kernel_get_error_number +EXPORT_SYMBOL net/rxrpc/af-rxrpc 0xf7f3bf9d rxrpc_kernel_accept_call +EXPORT_SYMBOL net/sctp/sctp 0xc8a2cb68 sctp_do_peeloff +EXPORT_SYMBOL net/sunrpc/sunrpc 0x2485ff6c svc_pool_stats_open +EXPORT_SYMBOL net/wanrouter/wanrouter 0x0ebe03d1 unregister_wan_device +EXPORT_SYMBOL net/wanrouter/wanrouter 0xe3aebb74 register_wan_device +EXPORT_SYMBOL net/wimax/wimax 0x81845204 wimax_reset +EXPORT_SYMBOL net/wimax/wimax 0x93cf0f66 wimax_rfkill +EXPORT_SYMBOL net/wireless/cfg80211 0x065d36b2 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x066c7a3d ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x077d82e2 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x09c64fbd ieee80211_frequency_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0d093a00 cfg80211_send_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x1135a239 ieee80211_data_to_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x122f357f cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x15f451a9 cfg80211_send_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x1804d06c cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1acdbed2 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1b12fb53 cfg80211_rx_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x1c776b8f cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x22a0d79e ieee80211_bss_get_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x2dfff475 cfg80211_roamed_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x31be17c3 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x32e97c0b cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x35bde8f3 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x3683aef4 ieee80211_data_from_8023 +EXPORT_SYMBOL net/wireless/cfg80211 0x37bad8d8 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x382197d0 cfg80211_can_beacon_sec_chan +EXPORT_SYMBOL net/wireless/cfg80211 0x3f8497c7 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x40225a1a ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x438cda1e cfg80211_testmode_reply +EXPORT_SYMBOL net/wireless/cfg80211 0x45f6dac9 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x4b570c15 cfg80211_send_unprot_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0x4e625bb8 cfg80211_del_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x4f52f32d cfg80211_inform_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x5a918374 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5fc84125 cfg80211_testmode_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x652a416c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x7513e94e ieee80211_channel_to_frequency +EXPORT_SYMBOL net/wireless/cfg80211 0x762e7457 wiphy_new +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fe1a403 cfg80211_find_ie +EXPORT_SYMBOL net/wireless/cfg80211 0x89089be5 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x8989c76b cfg80211_send_unprot_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0x8afb04a9 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x8ba74a54 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x982e6b6d ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x9d4e30e9 cfg80211_get_mesh +EXPORT_SYMBOL net/wireless/cfg80211 0x9d64f96e cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x9e9c1b3c cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x9fd7b6d1 cfg80211_send_rx_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xa0f41441 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xa197b1ff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xa74143db wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xabf51a3f cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xafb36783 cfg80211_testmode_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb106bced cfg80211_connect_result +EXPORT_SYMBOL net/wireless/cfg80211 0xb14ab4eb __cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xb4e42965 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xb6b43de1 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xbe2b6665 cfg80211_testmode_event +EXPORT_SYMBOL net/wireless/cfg80211 0xc4f427c8 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xc60ccafb __cfg80211_send_disassoc +EXPORT_SYMBOL net/wireless/cfg80211 0xc63f1b81 ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0xc881a18d cfg80211_inform_bss_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xcafd5654 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xcde19449 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xcec7f26b cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd21dc1e0 cfg80211_report_obss_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xd9f98daf cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xdc654d45 cfg80211_send_deauth +EXPORT_SYMBOL net/wireless/cfg80211 0xdef3eb6f cfg80211_send_rx_auth +EXPORT_SYMBOL net/wireless/cfg80211 0xe1f23a04 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe4b01b3b wiphy_rfkill_set_hw_state +EXPORT_SYMBOL net/wireless/cfg80211 0xe970f714 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xea6405ea wiphy_rfkill_stop_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xeb804941 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xefaed71e cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xf9dcd654 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfb408384 __ieee80211_get_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xfd5e645d cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfed4d591 cfg80211_find_vendor_ie +EXPORT_SYMBOL net/wireless/lib80211 0x11aa6c2d lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x2d0f99e5 print_ssid +EXPORT_SYMBOL net/wireless/lib80211 0x324dec0c lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x65d02551 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x9035128a lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xb2ddc642 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xf78ea147 lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xf162921f ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x692bd85d snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x00bbd6f1 snd_seq_event_port_attach +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 0x6cce550e snd_seq_kernel_client_enqueue_blocking +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6f456dcb snd_seq_create_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 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 0xffafafc9 snd_seq_kernel_client_write_poll +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 0x75d1da57 snd_seq_device_register_driver +EXPORT_SYMBOL sound/core/seq/snd-seq-device 0x7db37cb9 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 0xff7d5f8f snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x00bc6109 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x0194bc5c snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x082b8bb5 snd_ctl_notify +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 0x1c3a3290 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x1d4b3e09 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x2137bbe8 snd_card_proc_new +EXPORT_SYMBOL sound/core/snd 0x22ee2e78 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2723dfc6 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x2ae3deaa release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0x2b58e7e3 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x2f0b191d snd_add_device_sysfs_file +EXPORT_SYMBOL sound/core/snd 0x320107cc snd_register_device_for_dev +EXPORT_SYMBOL sound/core/snd 0x3410ea0f snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x378039fa snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x397ed41e snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x3c439bf3 snd_card_free +EXPORT_SYMBOL sound/core/snd 0x3fb17e89 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x44547703 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x49329b0e snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4b015768 snd_iprintf +EXPORT_SYMBOL sound/core/snd 0x4f40fc1d _snd_ctl_add_slave +EXPORT_SYMBOL sound/core/snd 0x51aa9e37 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x55e3f7a5 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x600133aa snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x6b266ffd snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x6f3cbfeb snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x744e9ecb snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x76319287 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x79ca50eb snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x7bcfe5ee snd_card_register +EXPORT_SYMBOL sound/core/snd 0x7f43d177 snd_cards +EXPORT_SYMBOL sound/core/snd 0x81b69e41 snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0x8939a23d snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x96b801f0 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x9a3728cd snd_jack_new +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 0xad56e8a0 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0xaefbbe0a snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xb0793c60 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb830023c snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xc2db4f6e snd_device_free +EXPORT_SYMBOL sound/core/snd 0xcc2f23b9 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xcca39f40 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xcd8f60f3 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xcea22db4 snd_card_unref +EXPORT_SYMBOL sound/core/snd 0xd3f04fff snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xd8951068 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xdc8477b0 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xe54ddb29 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xede4116b snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xf15f4540 snd_card_create +EXPORT_SYMBOL sound/core/snd 0xf3463976 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xfcb2b967 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xfdeb8837 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-hwdep 0x26221de8 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-page-alloc 0x06b310c9 snd_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x3562b189 snd_dma_get_reserved_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0x5898dcba snd_malloc_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0x6abad3dc snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-page-alloc 0xa3ff30bd snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-page-alloc 0xa895f116 snd_dma_reserve_buf +EXPORT_SYMBOL sound/core/snd-page-alloc 0xbe4000e8 snd_dma_alloc_pages +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 0x083cac6a snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x144da963 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x15524fbe snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x1bb0c15e snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x23ce9a6b snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x27d0c28e snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x27daaad7 snd_pcm_suspend_all +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 0x3f673ae5 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x422e85f3 snd_pcm_open_substream +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 0x5c1c9df1 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x5ce16349 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x6267135c snd_pcm_suspend +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 0x6bbafa23 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x7267ec4a snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x72795fdd snd_pcm_limit_hw_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x73bda469 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x74b080f0 snd_pcm_lib_write +EXPORT_SYMBOL sound/core/snd-pcm 0x761b5467 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x79484415 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x7e90d2cf snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x88d63c00 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x899f0282 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x9090c391 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x943693c1 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x954807e0 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x9e3b06d3 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x9f0b8630 snd_pcm_lib_writev +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa754215b snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xa83874c4 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xb3b47183 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0xb6c0b3d4 snd_pcm_lib_read +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc1abd204 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xc243b649 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xcac36334 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcefc8656 snd_pcm_lib_readv +EXPORT_SYMBOL sound/core/snd-pcm 0xd534197e _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xd5fb21a2 snd_pcm_link_rwlock +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe5b1d838 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xe5d31aae snd_pcm_notify +EXPORT_SYMBOL sound/core/snd-pcm 0xe80692dd snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe90f489f snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xf3797152 snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xf3d86a58 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xfda07aa0 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-rawmidi 0x030875db snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x04ec80ed snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0dacd2fd snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x22c4f185 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x315760ad snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x34e796e0 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3ce5df53 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4834672c snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x51155408 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x692903dd snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x717879ee snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x96f0b86a snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xacaeb8ee snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb47e27af snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xde90a6a5 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdf3cb367 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf767b799 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-timer 0x0c38378d snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x10787576 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x128e8592 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x28f2066c snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x4b0a5cb5 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x61cdcca3 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x621dec87 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x65bf71b2 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x6fe755b1 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xb1b051fa snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xb9152eb1 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xd2707d0b snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xf12860c0 snd_timer_global_register +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x7df8147a 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 0x07e170ca snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x226c7dfe snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x336d0f02 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x48d94a2f snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x517ba1c3 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7ab2a028 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7e105980 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x80aaaaea snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xc9f2db1d snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1f356b66 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x280e5c95 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5c492259 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x66ae35d7 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x762ae4e5 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8eb5ba68 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8f876794 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xaf2ec08f snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb0d6d0c9 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x06614608 amdtp_out_stream_pcm_pointer +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0dbd33b5 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0ea8d3fb fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x344daaa2 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3864b4ae fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3d0aab83 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5733bb3d amdtp_out_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x583c2d07 amdtp_out_stream_set_pcm_format +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5eb622ba fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x668bfdf9 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6942f18b cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x70cc85a2 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7eb9dd8c snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x83444609 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x84f4d9e2 amdtp_out_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8b549599 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa15c98b0 amdtp_out_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa3f5afd1 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa58b35ec amdtp_out_stream_start +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb326a6cb cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc1871f35 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc4749ff2 amdtp_out_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc77d0a71 amdtp_out_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe360d32a amdtp_out_stream_stop +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xebf2587f amdtp_out_stream_set_rate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xee8b4d47 amdtp_out_stream_update +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x982bde19 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xb982ff4b snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd4d32a94 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd69d2d8d snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd893f544 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe4f6b5c2 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x11095298 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7cdf80cb snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xb63056ef snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xba128bd6 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xc236a289 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xf8a4b60d snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4520007e snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x676805d3 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x86b19581 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xc6b50b99 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x5940e06a snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x739c3e9e snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x053108fc snd_tea575x_init +EXPORT_SYMBOL sound/i2c/other/snd-tea575x-tuner 0x98c2c06c snd_tea575x_exit +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x44bdbe9d snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x4aced3fa snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x76e307c9 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd0e195cf snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe6f0825b snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0b98597b snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x6eaca485 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x8664b4e1 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x876d7956 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xacfbfe9e snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc5fc04f9 snd_i2c_probeaddr +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x1b116e48 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x30c23857 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x360c85ec snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x7e3ef169 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9f166828 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xa5ee883d snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xb63dcc08 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xecc6e0fa snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf3ed224e snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xfd57a021 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x246e4b4c snd_sb16dsp_configure +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0x45246caf snd_sb16dsp_get_pcm_ops +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xc4cde146 snd_sb16dsp_pcm +EXPORT_SYMBOL sound/isa/sb/snd-sb16-dsp 0xe0b3f690 snd_sb16dsp_interrupt +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x008977ef snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x09366c3a snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0a8ad45d snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0d0c1c55 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x131fb4d7 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x16230329 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x18137a4a snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2527c197 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2b68b5c2 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2e9588b6 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x31dedaac snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x370b27cc snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4d278e23 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x570321f3 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x76bcf177 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9b6f7ab1 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf6898afd snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1b96e52b snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x3844e7c2 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x613d818d snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6cc73a96 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x74c943b3 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x74e090e0 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbd5cd05d snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbe348989 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe7efed91 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/hda/snd-hda-codec 0x0b65679d snd_hda_parse_generic_codec +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x113dadb5 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1470bbc4 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xc4ba229d snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x08d82fe8 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x150afc7b oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x19cafa8f oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x50668cff oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5e5cf6cd oxygen_pci_suspend +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x69003947 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7886fc98 oxygen_pci_resume +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7e5ddd20 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x80401f26 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x80e9bbfc oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x87db7b6d oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa64971cf oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb3cd81bf oxygen_pci_remove +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbce5b846 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcc7311ad oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcfe94818 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd62480e0 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdef208ba oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xea7ef368 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfb19f62a oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfef61dad oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xac08738d snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xc827ce0a snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xcb883048 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xcd1ca98b snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xec398644 snd_trident_free_voice +EXPORT_SYMBOL sound/soundcore 0x27ea24c1 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x2eac4980 register_sound_midi +EXPORT_SYMBOL sound/soundcore 0x356279f1 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x36eefd35 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x897e530e sound_class +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xc6e5b804 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfdab6de3 unregister_sound_midi +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1b9ab394 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1f8c20a6 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xbf04ef8b snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xde9571f8 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe3b73c55 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe5727d81 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2208b92d __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x3142bda5 snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x85ce3ccc snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x8ab7cf7a snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x924b690b snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9d24545d snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0xce4e5ab9 __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0xe1c67ba5 __snd_util_mem_free +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x2898afa6 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 vmlinux 0x00000000 softirq_work_list +EXPORT_SYMBOL vmlinux 0x004489f4 make_bad_inode +EXPORT_SYMBOL vmlinux 0x00566dc9 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x005a4975 cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x00642c68 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x00801678 flush_scheduled_work +EXPORT_SYMBOL vmlinux 0x0082e024 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x0087c01c neigh_seq_start +EXPORT_SYMBOL vmlinux 0x00abb9e4 framebuffer_release +EXPORT_SYMBOL vmlinux 0x00d28277 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0122f95e _lv1_get_spe_irq_outlet +EXPORT_SYMBOL vmlinux 0x012aabf4 locks_free_lock +EXPORT_SYMBOL vmlinux 0x0138e09d lock_sock_fast +EXPORT_SYMBOL vmlinux 0x01473bfe seq_lseek +EXPORT_SYMBOL vmlinux 0x0154c6e1 pipe_unlock +EXPORT_SYMBOL vmlinux 0x018d9919 _lv1_set_lpm_interrupt_mask +EXPORT_SYMBOL vmlinux 0x01902adf netpoll_trap +EXPORT_SYMBOL vmlinux 0x019e7765 __init_rwsem +EXPORT_SYMBOL vmlinux 0x01a35f75 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x01be77b3 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x01cc2685 bio_add_page +EXPORT_SYMBOL vmlinux 0x01e99760 __blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x01f7b0f0 default_llseek +EXPORT_SYMBOL vmlinux 0x01fe8716 d_add_ci +EXPORT_SYMBOL vmlinux 0x020d18d7 _lv1_set_lpm_debug_bus_control +EXPORT_SYMBOL vmlinux 0x020eb962 __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x02141243 abx500_mask_and_set_register_interruptible +EXPORT_SYMBOL vmlinux 0x0214cf4c padata_do_serial +EXPORT_SYMBOL vmlinux 0x021dbedb inet6_getname +EXPORT_SYMBOL vmlinux 0x0234c2db pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x02350d08 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x023983b7 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x023a074a hvc_get_chars +EXPORT_SYMBOL vmlinux 0x024df211 netlink_set_err +EXPORT_SYMBOL vmlinux 0x02649054 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x027c7147 of_find_node_by_path +EXPORT_SYMBOL vmlinux 0x027d5499 _lv1_did_update_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0292fdbb skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x02a18c74 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x02a6ce5a crc16_table +EXPORT_SYMBOL vmlinux 0x02b5637f padata_start +EXPORT_SYMBOL vmlinux 0x02d50ffc __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x02d81845 audit_log_task_context +EXPORT_SYMBOL vmlinux 0x02e15dea kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x02e32089 clear_inode +EXPORT_SYMBOL vmlinux 0x02feeb85 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x0318344c block_write_full_page_endio +EXPORT_SYMBOL vmlinux 0x031dc65e pasemi_dma_free_chan +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033b8cca tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x033c3a6c ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x0342cc60 tcp_poll +EXPORT_SYMBOL vmlinux 0x034bb7dd mmc_release_host +EXPORT_SYMBOL vmlinux 0x03592ea0 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x035ea848 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037898fb mmc_register_driver +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037aa507 bio_integrity_get_tag +EXPORT_SYMBOL vmlinux 0x038862de page_readlink +EXPORT_SYMBOL vmlinux 0x038d5a10 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x03975d68 idr_find +EXPORT_SYMBOL vmlinux 0x03ae2db0 dev_notice +EXPORT_SYMBOL vmlinux 0x03ae67d3 dump_seek +EXPORT_SYMBOL vmlinux 0x03bd889d param_get_ulong +EXPORT_SYMBOL vmlinux 0x03c06156 bitmap_fold +EXPORT_SYMBOL vmlinux 0x03c93533 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x03ce8c4a dev_driver_string +EXPORT_SYMBOL vmlinux 0x03d3acce arp_send +EXPORT_SYMBOL vmlinux 0x03e7254f input_open_device +EXPORT_SYMBOL vmlinux 0x03ebda85 dns_query +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04074f48 ioremap +EXPORT_SYMBOL vmlinux 0x0422fe4a inet_csk_timer_bug_msg +EXPORT_SYMBOL vmlinux 0x04390e6b tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x0440a533 _lv1_net_remove_multicast_address +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x04651424 i2c_bit_add_bus +EXPORT_SYMBOL vmlinux 0x046c1f16 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x0481ed73 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x048409bc twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x0487f831 fb_find_best_display +EXPORT_SYMBOL vmlinux 0x048d27cc hvcs_register_connection +EXPORT_SYMBOL vmlinux 0x04cb8e4c blk_queue_stack_limits +EXPORT_SYMBOL vmlinux 0x04dfeac5 pci_pme_active +EXPORT_SYMBOL vmlinux 0x04e0e6e9 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x04ea56f9 _kstrtol +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x05093a7a dentry_unhash +EXPORT_SYMBOL vmlinux 0x0518c8e1 inet_frag_maybe_warn_overflow +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x0530dede _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x0540b32a cpu_core_map +EXPORT_SYMBOL vmlinux 0x054434d6 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x05474320 make_EII_client +EXPORT_SYMBOL vmlinux 0x055c8559 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x056ee730 ipv6_hash_secret +EXPORT_SYMBOL vmlinux 0x056ff502 da903x_query_status +EXPORT_SYMBOL vmlinux 0x057c08cc seq_puts +EXPORT_SYMBOL vmlinux 0x057ef392 ip6_frag_match +EXPORT_SYMBOL vmlinux 0x058bcd96 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x059ab01d input_register_device +EXPORT_SYMBOL vmlinux 0x059c35c2 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x05a514a1 _insl_ns +EXPORT_SYMBOL vmlinux 0x05ce3e25 scsi_put_command +EXPORT_SYMBOL vmlinux 0x05dfa743 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x05fc6c4c bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x05fed8e8 nf_reinject +EXPORT_SYMBOL vmlinux 0x06094375 get_user_pages +EXPORT_SYMBOL vmlinux 0x06140205 bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x06456aff _lv1_get_virtual_address_space_id_of_ppe +EXPORT_SYMBOL vmlinux 0x065e9afb sock_no_connect +EXPORT_SYMBOL vmlinux 0x06691afe unload_nls +EXPORT_SYMBOL vmlinux 0x066a286e revert_creds +EXPORT_SYMBOL vmlinux 0x067d8d35 security_release_secctx +EXPORT_SYMBOL vmlinux 0x06891600 __blk_end_request +EXPORT_SYMBOL vmlinux 0x068dc975 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x06990630 mmc_erase +EXPORT_SYMBOL vmlinux 0x069a7ca9 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x06a9522e get_write_access +EXPORT_SYMBOL vmlinux 0x06b6fd17 user_path_at +EXPORT_SYMBOL vmlinux 0x06bbb24a mempool_resize +EXPORT_SYMBOL vmlinux 0x06cc0090 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x06e12e19 decrementer_clockevent +EXPORT_SYMBOL vmlinux 0x06ee2f8a account_page_redirty +EXPORT_SYMBOL vmlinux 0x06fe3b14 default_grn +EXPORT_SYMBOL vmlinux 0x0727c4f3 iowrite8 +EXPORT_SYMBOL vmlinux 0x072bd3d1 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x074e9213 down_killable +EXPORT_SYMBOL vmlinux 0x075db9c9 unregister_exec_domain +EXPORT_SYMBOL vmlinux 0x07661593 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x077cd0f3 generic_make_request +EXPORT_SYMBOL vmlinux 0x078416cb tty_devnum +EXPORT_SYMBOL vmlinux 0x0799aca4 local_bh_enable +EXPORT_SYMBOL vmlinux 0x07a37755 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07aab22b arp_xmit +EXPORT_SYMBOL vmlinux 0x07c5b5b1 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b783 scsi_nl_send_vendor_msg +EXPORT_SYMBOL vmlinux 0x07e5ca1b udplite_prot +EXPORT_SYMBOL vmlinux 0x07e91fae max8998_read_reg +EXPORT_SYMBOL vmlinux 0x07ef213a pasemi_dma_free_fun +EXPORT_SYMBOL vmlinux 0x07f25c01 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x07f8ee15 _lv1_unmap_device_dma_region +EXPORT_SYMBOL vmlinux 0x0822c023 neigh_destroy +EXPORT_SYMBOL vmlinux 0x0826663d serio_interrupt +EXPORT_SYMBOL vmlinux 0x0826af22 vga_tryget +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0880adee kick_iocb +EXPORT_SYMBOL vmlinux 0x0899f799 sock_no_accept +EXPORT_SYMBOL vmlinux 0x08e58c52 seq_printf +EXPORT_SYMBOL vmlinux 0x08ecb071 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x08f2d838 mach_powernv +EXPORT_SYMBOL vmlinux 0x090da7d6 tty_pair_get_pty +EXPORT_SYMBOL vmlinux 0x091fcdf8 pagecache_write_begin +EXPORT_SYMBOL vmlinux 0x0928981b phy_start_aneg +EXPORT_SYMBOL vmlinux 0x0948cde9 num_physpages +EXPORT_SYMBOL vmlinux 0x096225d7 fb_find_mode +EXPORT_SYMBOL vmlinux 0x096341c2 _lv1_connect_irq_plug_ext +EXPORT_SYMBOL vmlinux 0x09828fc9 neigh_table_init +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09b9b185 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x09c55cec schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x09c8eb55 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09ea3a70 __frontswap_init +EXPORT_SYMBOL vmlinux 0x09f76b8b ps2_end_command +EXPORT_SYMBOL vmlinux 0x0a2487e0 unblock_all_signals +EXPORT_SYMBOL vmlinux 0x0a391ef6 __alloc_skb +EXPORT_SYMBOL vmlinux 0x0a3d0644 cpu_online_mask +EXPORT_SYMBOL vmlinux 0x0a518075 ata_dev_printk +EXPORT_SYMBOL vmlinux 0x0a57c40f pci_disable_ido +EXPORT_SYMBOL vmlinux 0x0a5a9843 agp_generic_enable +EXPORT_SYMBOL vmlinux 0x0a5dfffb unlock_super +EXPORT_SYMBOL vmlinux 0x0a934d11 skb_copy_datagram_const_iovec +EXPORT_SYMBOL vmlinux 0x0aa5a0e0 skb_find_text +EXPORT_SYMBOL vmlinux 0x0ab88b3e __pci_register_driver +EXPORT_SYMBOL vmlinux 0x0aba9121 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x0abed758 blk_integrity_merge_rq +EXPORT_SYMBOL vmlinux 0x0acab9e7 macio_unregister_driver +EXPORT_SYMBOL vmlinux 0x0acb1a3c __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ade3b1b brioctl_set +EXPORT_SYMBOL vmlinux 0x0b0c3e11 blk_queue_start_tag +EXPORT_SYMBOL vmlinux 0x0b0d888b icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x0b12e7f4 single_open +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b2e1ec7 h_get_mpp +EXPORT_SYMBOL vmlinux 0x0b32e655 journal_revoke +EXPORT_SYMBOL vmlinux 0x0b36ac9d read_dev_sector +EXPORT_SYMBOL vmlinux 0x0b491357 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x0b4c2d85 ps3_sb_event_receive_port_setup +EXPORT_SYMBOL vmlinux 0x0b5832b9 bio_endio +EXPORT_SYMBOL vmlinux 0x0b5f060f tty_schedule_flip +EXPORT_SYMBOL vmlinux 0x0b72c52f blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b816c87 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x0bb0c307 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x0bb7636e tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x0bbb4a19 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x0bc0fc9c mmc_detect_change +EXPORT_SYMBOL vmlinux 0x0bc37410 request_firmware +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bef1076 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x0c15de22 tty_get_baud_rate +EXPORT_SYMBOL vmlinux 0x0c1ad162 _lv1_net_start_rx_dma +EXPORT_SYMBOL vmlinux 0x0c206b0c dev_uc_sync +EXPORT_SYMBOL vmlinux 0x0c44ce99 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x0c58a8cd netdev_increment_features +EXPORT_SYMBOL vmlinux 0x0c65e73c scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x0c72efd1 dma_iommu_ops +EXPORT_SYMBOL vmlinux 0x0c731b38 pci_request_region_exclusive +EXPORT_SYMBOL vmlinux 0x0c8c9e99 scsi_show_extd_sense +EXPORT_SYMBOL vmlinux 0x0ca0c882 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x0ca8fd8b alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x0cabe048 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x0cae232b utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x0cfd6d57 macio_enable_devres +EXPORT_SYMBOL vmlinux 0x0d124891 pci_enable_ltr +EXPORT_SYMBOL vmlinux 0x0d14f24e fb_set_var +EXPORT_SYMBOL vmlinux 0x0d16dc7a devm_gpio_request_one +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 0x0d841200 mii_link_ok +EXPORT_SYMBOL vmlinux 0x0da10ec3 security_sock_graft +EXPORT_SYMBOL vmlinux 0x0dcd023b netlink_unicast +EXPORT_SYMBOL vmlinux 0x0dcd36dd lock_fb_info +EXPORT_SYMBOL vmlinux 0x0de938eb set_binfmt +EXPORT_SYMBOL vmlinux 0x0df1fdce of_n_size_cells +EXPORT_SYMBOL vmlinux 0x0e12b107 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x0e23c1bb netlink_broadcast +EXPORT_SYMBOL vmlinux 0x0e33cc2d kernel_getpeername +EXPORT_SYMBOL vmlinux 0x0e3b0e06 eth_rebuild_header +EXPORT_SYMBOL vmlinux 0x0e4117ee udp_proc_register +EXPORT_SYMBOL vmlinux 0x0e45ed4f mmc_free_host +EXPORT_SYMBOL vmlinux 0x0e63203e iterate_supers_type +EXPORT_SYMBOL vmlinux 0x0e6847b2 __alloc_tty_driver +EXPORT_SYMBOL vmlinux 0x0e6da44a set_normalized_timespec +EXPORT_SYMBOL vmlinux 0x0e772603 input_event +EXPORT_SYMBOL vmlinux 0x0e8f30f6 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x0e9072f2 dev_gro_receive +EXPORT_SYMBOL vmlinux 0x0ea35c0c mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x0ea7d8f7 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x0ed5d5c7 mutex_lock +EXPORT_SYMBOL vmlinux 0x0f4c91ed ns_to_timespec +EXPORT_SYMBOL vmlinux 0x0f6b93e0 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x0f6c6f8a node_data +EXPORT_SYMBOL vmlinux 0x0f80e1e0 kobject_get +EXPORT_SYMBOL vmlinux 0x0f92774f nf_unregister_hooks +EXPORT_SYMBOL vmlinux 0x0faef0ed __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x0fb0e29f init_timer_key +EXPORT_SYMBOL vmlinux 0x0fda53a2 tty_pair_get_tty +EXPORT_SYMBOL vmlinux 0x0fe90e1c xfrm4_prepare_output +EXPORT_SYMBOL vmlinux 0x101f388e input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x1050ed73 try_module_get +EXPORT_SYMBOL vmlinux 0x107f54b1 blkdev_get +EXPORT_SYMBOL vmlinux 0x10882730 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x109dcafa pci_assign_resource +EXPORT_SYMBOL vmlinux 0x10c72443 inet_release +EXPORT_SYMBOL vmlinux 0x10df44bf scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x10e72728 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x10ee20bb default_blu +EXPORT_SYMBOL vmlinux 0x11025468 padata_unregister_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11267875 scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x11360f4c __vlan_find_dev_deep +EXPORT_SYMBOL vmlinux 0x1138d687 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x114366c0 journal_clear_err +EXPORT_SYMBOL vmlinux 0x11493ac3 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x1151f315 splice_from_pipe_end +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 0x1182d83a cpuidle_disable +EXPORT_SYMBOL vmlinux 0x1186a385 writeback_inodes_sb_if_idle +EXPORT_SYMBOL vmlinux 0x118f01ea putname +EXPORT_SYMBOL vmlinux 0x11ac130f netif_rx_ni +EXPORT_SYMBOL vmlinux 0x11cd0b69 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x11d715ab console_stop +EXPORT_SYMBOL vmlinux 0x11e46b16 i2c_smbus_process_call +EXPORT_SYMBOL vmlinux 0x11f7ed4c hex_to_bin +EXPORT_SYMBOL vmlinux 0x12138dd1 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x121e22c8 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x12388de9 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x1242764c jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x12693698 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x126afd82 dev_get_stats +EXPORT_SYMBOL vmlinux 0x1270a4df pci_restore_state +EXPORT_SYMBOL vmlinux 0x1294fd3b i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x12a38747 usleep_range +EXPORT_SYMBOL vmlinux 0x12aee3fc bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x12b83990 dev_set_group +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 0x12f28a3e mapping_tagged +EXPORT_SYMBOL vmlinux 0x12f99022 inet_frags_init_net +EXPORT_SYMBOL vmlinux 0x1305eec7 key_reject_and_link +EXPORT_SYMBOL vmlinux 0x1312c668 textsearch_register +EXPORT_SYMBOL vmlinux 0x1314144b alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x132e8ee0 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x13307fde vsscanf +EXPORT_SYMBOL vmlinux 0x1388660e kernel_sendpage +EXPORT_SYMBOL vmlinux 0x13ae5c63 scsi_setup_blk_pc_cmnd +EXPORT_SYMBOL vmlinux 0x13affbda percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x13b90f90 dev_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x13c34618 ip_options_compile +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13e38f5c up_read +EXPORT_SYMBOL vmlinux 0x13e6c73b security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x13f2125a __brelse +EXPORT_SYMBOL vmlinux 0x13f246d2 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x13f304a5 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f53da6 CMO_PageSize +EXPORT_SYMBOL vmlinux 0x141fe5fd pasemi_read_iob_reg +EXPORT_SYMBOL vmlinux 0x142503b5 dev_set_drvdata +EXPORT_SYMBOL vmlinux 0x14267ebd blk_cleanup_queue +EXPORT_SYMBOL vmlinux 0x142b71fc kernel_getsockname +EXPORT_SYMBOL vmlinux 0x143a31cd locks_delete_block +EXPORT_SYMBOL vmlinux 0x14883574 napi_skb_finish +EXPORT_SYMBOL vmlinux 0x14a2aa0d tcp_seq_open +EXPORT_SYMBOL vmlinux 0x14a76b8a __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x14ae65f7 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x14b79953 journal_release_buffer +EXPORT_SYMBOL vmlinux 0x14bcf7c4 twl6040_power +EXPORT_SYMBOL vmlinux 0x14c0b678 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x14c4930e mmc_card_can_sleep +EXPORT_SYMBOL vmlinux 0x14e7ca7c alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x14eac7a7 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x14ef7ada mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x14f26294 journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x14fe3882 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x150a1406 posix_lock_file +EXPORT_SYMBOL vmlinux 0x150e7a7b mpage_readpages +EXPORT_SYMBOL vmlinux 0x151592c4 _lv1_invalidate_htab_entries +EXPORT_SYMBOL vmlinux 0x151c7426 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x15326660 security_path_mknod +EXPORT_SYMBOL vmlinux 0x154ac96b __scsi_alloc_queue +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1551dc51 bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x155b0c53 phy_driver_register +EXPORT_SYMBOL vmlinux 0x15692c87 param_ops_int +EXPORT_SYMBOL vmlinux 0x156b7fda insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x15864b03 flex_array_get +EXPORT_SYMBOL vmlinux 0x15990cf2 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x15ac9ed7 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x15f59e47 ppc_md +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x1627ed72 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x162c5174 generic_listxattr +EXPORT_SYMBOL vmlinux 0x16534a7c tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x1676a2dc pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x168958f3 loop_register_transfer +EXPORT_SYMBOL vmlinux 0x168d07ef inode_claim_rsv_space +EXPORT_SYMBOL vmlinux 0x16a95bbf __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x16b1c3ea ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x16c42197 init_timer_deferrable_key +EXPORT_SYMBOL vmlinux 0x16c61ca5 blk_queue_bounce +EXPORT_SYMBOL vmlinux 0x16e5ede4 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x1743414f __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x175cd3d9 of_match_device +EXPORT_SYMBOL vmlinux 0x17648396 dev_base_lock +EXPORT_SYMBOL vmlinux 0x1772cb11 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x1785f3a3 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x17b45836 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x17b66d73 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x17cabc88 skb_clone +EXPORT_SYMBOL vmlinux 0x17cb8c79 _lv1_read_htab_entries +EXPORT_SYMBOL vmlinux 0x17df17bc sysctl_tcp_ecn +EXPORT_SYMBOL vmlinux 0x17e28473 fsl_upm_run_pattern +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17f61d69 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x180672a8 simple_write_end +EXPORT_SYMBOL vmlinux 0x180d1fe6 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x182f50af _lv1_open_device +EXPORT_SYMBOL vmlinux 0x183c8048 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x183fa88b mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x18406527 blkdev_get_by_dev +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 0x186afedc kill_block_super +EXPORT_SYMBOL vmlinux 0x188a3dfb timespec_trunc +EXPORT_SYMBOL vmlinux 0x188e40e2 unregister_nls +EXPORT_SYMBOL vmlinux 0x189868d7 get_random_bytes_arch +EXPORT_SYMBOL vmlinux 0x18a338d6 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x18bf3a07 journal_check_used_features +EXPORT_SYMBOL vmlinux 0x18bf3f2d __cleancache_put_page +EXPORT_SYMBOL vmlinux 0x18c98205 _lv1_destruct_virtual_address_space +EXPORT_SYMBOL vmlinux 0x18dbb06d generic_setxattr +EXPORT_SYMBOL vmlinux 0x18e12930 __block_write_begin +EXPORT_SYMBOL vmlinux 0x18f4fd26 pci_ltr_supported +EXPORT_SYMBOL vmlinux 0x1901e415 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x19062f60 netif_napi_del +EXPORT_SYMBOL vmlinux 0x190ca204 vfs_unlink +EXPORT_SYMBOL vmlinux 0x19176264 secpath_dup +EXPORT_SYMBOL vmlinux 0x19249a86 sock_map_fd +EXPORT_SYMBOL vmlinux 0x19444627 memcpy_fromiovecend +EXPORT_SYMBOL vmlinux 0x1951ce62 ip_xfrm_me_harder +EXPORT_SYMBOL vmlinux 0x1976aa06 param_ops_bool +EXPORT_SYMBOL vmlinux 0x197fc2dc dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x199ec4fb arch_spin_unlock_wait +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19ba3b97 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c968d1 pasemi_dma_start_chan +EXPORT_SYMBOL vmlinux 0x19e48d59 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x19fb78a1 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x1a042d1f ida_simple_get +EXPORT_SYMBOL vmlinux 0x1a111a41 ftrace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x1a2f6945 __next_cpu +EXPORT_SYMBOL vmlinux 0x1a4e065c padata_remove_cpu +EXPORT_SYMBOL vmlinux 0x1a8585c8 abx500_startup_irq_enabled +EXPORT_SYMBOL vmlinux 0x1a91663d pasemi_dma_free_buf +EXPORT_SYMBOL vmlinux 0x1a918f32 lro_receive_frags +EXPORT_SYMBOL vmlinux 0x1ab6637b tcp_check_req +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1acb5d40 dscr_default +EXPORT_SYMBOL vmlinux 0x1ace138d bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x1ace5eb8 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x1ad3dc0a of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x1ad4befc inet_stream_connect +EXPORT_SYMBOL vmlinux 0x1ad4df03 register_framebuffer +EXPORT_SYMBOL vmlinux 0x1ad99bcb scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0ae603 dcb_setapp +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b9e0ff1 scsilun_to_int +EXPORT_SYMBOL vmlinux 0x1ba99922 security_inode_permission +EXPORT_SYMBOL vmlinux 0x1bb94343 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x1bbc9adb xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x1bc4ff03 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x1bcb55b7 fb_class +EXPORT_SYMBOL vmlinux 0x1bcd04d5 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x1bdc26cf sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x1bdf9d54 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x1be670b3 splice_from_pipe_begin +EXPORT_SYMBOL vmlinux 0x1bfec830 __iounmap_at +EXPORT_SYMBOL vmlinux 0x1c0a1fdb proto_register +EXPORT_SYMBOL vmlinux 0x1c200a7d pasemi_dma_stop_chan +EXPORT_SYMBOL vmlinux 0x1c3e02e4 memcmp +EXPORT_SYMBOL vmlinux 0x1c4abfd8 simple_empty +EXPORT_SYMBOL vmlinux 0x1c4dab93 _lv1_connect_irq_plug +EXPORT_SYMBOL vmlinux 0x1c4f97c3 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x1c5a74b3 journal_dirty_data +EXPORT_SYMBOL vmlinux 0x1c5b2c15 pmu_wait_complete +EXPORT_SYMBOL vmlinux 0x1c6ea666 __pci_enable_wake +EXPORT_SYMBOL vmlinux 0x1c80de9c ip_send_check +EXPORT_SYMBOL vmlinux 0x1c870396 mount_pseudo +EXPORT_SYMBOL vmlinux 0x1c96f038 prepare_binprm +EXPORT_SYMBOL vmlinux 0x1ca32230 abx500_event_registers_startup_state_get +EXPORT_SYMBOL vmlinux 0x1cb68c34 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x1cbb8470 seq_bitmap_list +EXPORT_SYMBOL vmlinux 0x1cbdccd9 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x1cc5faec sk_receive_skb +EXPORT_SYMBOL vmlinux 0x1cc6719a register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x1d398542 __page_cache_alloc +EXPORT_SYMBOL vmlinux 0x1d4750bc _lv1_stop_lpm +EXPORT_SYMBOL vmlinux 0x1d604f0a netdev_emerg +EXPORT_SYMBOL vmlinux 0x1d7ce840 phy_start_interrupts +EXPORT_SYMBOL vmlinux 0x1dac414e tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x1daee28a percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x1dbc4d0c proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x1dc36131 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd978c2 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x1dd9beb6 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x1df3d184 sock_no_bind +EXPORT_SYMBOL vmlinux 0x1df86f77 security_path_symlink +EXPORT_SYMBOL vmlinux 0x1e26bd1a netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x1e26be3b get_anon_bdev +EXPORT_SYMBOL vmlinux 0x1e420ba7 mount_ns +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6fe6f1 idr_init +EXPORT_SYMBOL vmlinux 0x1e7403b4 softnet_data +EXPORT_SYMBOL vmlinux 0x1e7a5547 input_set_keycode +EXPORT_SYMBOL vmlinux 0x1e7ae671 giveup_altivec +EXPORT_SYMBOL vmlinux 0x1e9b2721 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1eb5e2da kblockd_schedule_delayed_work +EXPORT_SYMBOL vmlinux 0x1ee3b5af xfrm_register_type +EXPORT_SYMBOL vmlinux 0x1eea3cd0 do_splice_from +EXPORT_SYMBOL vmlinux 0x1eefcf54 kobject_set_name +EXPORT_SYMBOL vmlinux 0x1ef1f75f posix_acl_valid +EXPORT_SYMBOL vmlinux 0x1efab5d3 scsi_get_host_dev +EXPORT_SYMBOL vmlinux 0x1f0f68f1 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x1f10b403 vm_insert_mixed +EXPORT_SYMBOL vmlinux 0x1f1b9dc8 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x1f660b5a wake_up_process +EXPORT_SYMBOL vmlinux 0x1f687a40 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x1f86dc88 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x1fae3e23 bioset_integrity_free +EXPORT_SYMBOL vmlinux 0x1fb07ac7 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fcaa255 no_llseek +EXPORT_SYMBOL vmlinux 0x1fcd37f3 inode_sub_rsv_space +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe7b4ab pasemi_write_dma_reg +EXPORT_SYMBOL vmlinux 0x1fe912f1 netdev_alloc_frag +EXPORT_SYMBOL vmlinux 0x1fedf0f4 __request_region +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x201494ee _lv1_net_set_interrupt_mask +EXPORT_SYMBOL vmlinux 0x20162190 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x20184a0b input_reset_device +EXPORT_SYMBOL vmlinux 0x207256ce pci_clear_master +EXPORT_SYMBOL vmlinux 0x2072ee9b request_threaded_irq +EXPORT_SYMBOL vmlinux 0x2087e00d kernel_bind +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b7dc88 fddi_change_mtu +EXPORT_SYMBOL vmlinux 0x20c55ae0 sscanf +EXPORT_SYMBOL vmlinux 0x20f87aa5 agp_bridge +EXPORT_SYMBOL vmlinux 0x20fd3284 skb_gso_segment +EXPORT_SYMBOL vmlinux 0x20ffc330 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x21216ef5 tcp_syn_flood_action +EXPORT_SYMBOL vmlinux 0x21315700 param_get_bool +EXPORT_SYMBOL vmlinux 0x213603bf pasemi_dma_free_ring +EXPORT_SYMBOL vmlinux 0x21460e79 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x215ebd78 bitrev16 +EXPORT_SYMBOL vmlinux 0x2162aece xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x21918725 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x2199f52d neigh_event_ns +EXPORT_SYMBOL vmlinux 0x21c73a00 pci_enable_obff +EXPORT_SYMBOL vmlinux 0x21f678b9 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x22039334 sock_alloc_send_skb +EXPORT_SYMBOL vmlinux 0x2207cb9e ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x2224ccd5 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x222d917d tcp_md5_hash_header +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223b18d5 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x22410770 block_truncate_page +EXPORT_SYMBOL vmlinux 0x224525cf ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x225ebee6 _lv1_destruct_lpm +EXPORT_SYMBOL vmlinux 0x226c3b73 udp_ioctl +EXPORT_SYMBOL vmlinux 0x2276db98 kstrtoint +EXPORT_SYMBOL vmlinux 0x2278e94b slhc_remember +EXPORT_SYMBOL vmlinux 0x2288c148 dev_printk +EXPORT_SYMBOL vmlinux 0x229cf641 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c46cac __ip_dev_find +EXPORT_SYMBOL vmlinux 0x22d362a3 __napi_complete +EXPORT_SYMBOL vmlinux 0x22f05a88 install_exec_creds +EXPORT_SYMBOL vmlinux 0x230af031 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x230c3722 idr_for_each +EXPORT_SYMBOL vmlinux 0x231d4001 fb_edid_add_monspecs +EXPORT_SYMBOL vmlinux 0x23229f3b vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x233d819c blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x235e90f3 __wake_up_bit +EXPORT_SYMBOL vmlinux 0x23a574fd security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x23ac76a9 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c9891c kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x23d042e5 register_con_driver +EXPORT_SYMBOL vmlinux 0x23d1c684 pagevec_lookup +EXPORT_SYMBOL vmlinux 0x23e75e0e skb_copy +EXPORT_SYMBOL vmlinux 0x23f0e0a1 fsnotify_alloc_group +EXPORT_SYMBOL vmlinux 0x23f2243d mempool_free +EXPORT_SYMBOL vmlinux 0x23f30a1a dev_set_mtu +EXPORT_SYMBOL vmlinux 0x23f4e729 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x23f63c0b of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x23fae9ba scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24212d86 __frontswap_invalidate_page +EXPORT_SYMBOL vmlinux 0x24282213 journal_forget +EXPORT_SYMBOL vmlinux 0x243de885 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244a2411 __first_cpu +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245a5a94 sleep_on_timeout +EXPORT_SYMBOL vmlinux 0x247798c2 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x247ad42b cfb_copyarea +EXPORT_SYMBOL vmlinux 0x2482e688 vsprintf +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x248bc93b pci_disable_msix +EXPORT_SYMBOL vmlinux 0x24ad45a2 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x24aefc6d compat_sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x24c682f7 bdi_destroy +EXPORT_SYMBOL vmlinux 0x24cfd438 _lv1_copy_lpm_trace_buffer +EXPORT_SYMBOL vmlinux 0x24e2f6ac vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x24fdac79 wake_bit_function +EXPORT_SYMBOL vmlinux 0x24fe644d bd_set_size +EXPORT_SYMBOL vmlinux 0x250750be skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x25187204 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x25277497 rfkill_register +EXPORT_SYMBOL vmlinux 0x253bdb78 param_get_int +EXPORT_SYMBOL vmlinux 0x2546070f mmc_can_reset +EXPORT_SYMBOL vmlinux 0x2562da26 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2596a49b of_phy_connect +EXPORT_SYMBOL vmlinux 0x25b6b8f7 _lv1_set_spe_transition_notifier +EXPORT_SYMBOL vmlinux 0x25c1333e generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x25c41479 macio_dev_get +EXPORT_SYMBOL vmlinux 0x25c677c4 mac_pton +EXPORT_SYMBOL vmlinux 0x25cc5d8c fasync_helper +EXPORT_SYMBOL vmlinux 0x25ebe7fb inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x25f818dc km_policy_notify +EXPORT_SYMBOL vmlinux 0x2606604b register_gifconf +EXPORT_SYMBOL vmlinux 0x263139ce journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x26416fe1 fsnotify_destroy_mark +EXPORT_SYMBOL vmlinux 0x26477c07 __vmalloc +EXPORT_SYMBOL vmlinux 0x2665d53a key_create_or_update +EXPORT_SYMBOL vmlinux 0x266aea7f block_write_full_page +EXPORT_SYMBOL vmlinux 0x267b9dcd dev_change_flags +EXPORT_SYMBOL vmlinux 0x2685c3d7 __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x268cfee2 try_to_release_page +EXPORT_SYMBOL vmlinux 0x26a1c6b2 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x26a27fb4 input_inject_event +EXPORT_SYMBOL vmlinux 0x26b760c4 slhc_init +EXPORT_SYMBOL vmlinux 0x26c0605b bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x26dcb0c3 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x26e76fb8 sysctl_udp_wmem_min +EXPORT_SYMBOL vmlinux 0x26f32027 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x27161e0e scsi_cmd_blk_ioctl +EXPORT_SYMBOL vmlinux 0x27277915 vm_stat +EXPORT_SYMBOL vmlinux 0x272f0264 blk_start_request +EXPORT_SYMBOL vmlinux 0x27328a72 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x2746072d tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x274d08dc __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x2755dab8 elv_rb_del +EXPORT_SYMBOL vmlinux 0x275b2cba freeze_bdev +EXPORT_SYMBOL vmlinux 0x27646df3 start_thread +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27941f23 sock_no_setsockopt +EXPORT_SYMBOL vmlinux 0x2798c670 fb_blank +EXPORT_SYMBOL vmlinux 0x279baefb mmc_try_claim_host +EXPORT_SYMBOL vmlinux 0x27b25f7c sk_common_release +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c2197f param_set_short +EXPORT_SYMBOL vmlinux 0x27cc4a68 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x27cc8efb irq_to_desc +EXPORT_SYMBOL vmlinux 0x27d9adf2 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x27dad02d bio_sector_offset +EXPORT_SYMBOL vmlinux 0x27e1a049 printk +EXPORT_SYMBOL vmlinux 0x27fbc8a4 free_netdev +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28244152 input_allocate_device +EXPORT_SYMBOL vmlinux 0x2830bc45 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x28318305 snprintf +EXPORT_SYMBOL vmlinux 0x28373ccc xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x283e1a36 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x287a465c __skb_tx_hash +EXPORT_SYMBOL vmlinux 0x28a2ed02 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x28abfe6e scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x28d4f227 iget_locked +EXPORT_SYMBOL vmlinux 0x28ec01b1 mdiobus_register +EXPORT_SYMBOL vmlinux 0x292bd9c4 dm_io +EXPORT_SYMBOL vmlinux 0x29537c9e alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x295eccb9 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x2960019b eeh_check_failure +EXPORT_SYMBOL vmlinux 0x2964c587 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x296bba65 dquot_file_open +EXPORT_SYMBOL vmlinux 0x29733a50 blk_queue_free_tags +EXPORT_SYMBOL vmlinux 0x2993178a mmc_resume_host +EXPORT_SYMBOL vmlinux 0x29c63839 vfs_readlink +EXPORT_SYMBOL vmlinux 0x29cba410 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x29d29f27 __module_put_and_exit +EXPORT_SYMBOL vmlinux 0x29d73d03 ida_init +EXPORT_SYMBOL vmlinux 0x29e59a26 scsi_reset_provider +EXPORT_SYMBOL vmlinux 0x2a00e06f filemap_write_and_wait +EXPORT_SYMBOL vmlinux 0x2a0b53c5 kernel_connect +EXPORT_SYMBOL vmlinux 0x2a143217 generic_pipe_buf_confirm +EXPORT_SYMBOL vmlinux 0x2a1f29c3 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x2a22f0ec mark_page_accessed +EXPORT_SYMBOL vmlinux 0x2a2c11cd tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a37d074 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2a5ffde5 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x2a712860 ps3_dma_region_init +EXPORT_SYMBOL vmlinux 0x2a7a435c uart_suspend_port +EXPORT_SYMBOL vmlinux 0x2a859ba4 macio_request_resource +EXPORT_SYMBOL vmlinux 0x2a886af5 blk_alloc_queue_node +EXPORT_SYMBOL vmlinux 0x2aa3105f kernel_setsockopt +EXPORT_SYMBOL vmlinux 0x2ab51956 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x2acea975 scsi_unregister +EXPORT_SYMBOL vmlinux 0x2ad49e63 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x2ae931bb scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x2aec0bf1 __elv_add_request +EXPORT_SYMBOL vmlinux 0x2b034a9c alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x2b083842 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x2b0ba2b0 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x2b150a95 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x2b232481 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x2b2ce78b kstrtos8 +EXPORT_SYMBOL vmlinux 0x2b4a241c sock_rfree +EXPORT_SYMBOL vmlinux 0x2b657b67 compat_ip_getsockopt +EXPORT_SYMBOL vmlinux 0x2b6e3d55 nf_log_register +EXPORT_SYMBOL vmlinux 0x2b71b35d ip_check_defrag +EXPORT_SYMBOL vmlinux 0x2b85503a kthread_bind +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba707a8 sysctl_tcp_low_latency +EXPORT_SYMBOL vmlinux 0x2beff2f5 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x2c184e5a scm_fp_dup +EXPORT_SYMBOL vmlinux 0x2c1cd4a4 cpu_present_mask +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c402e3d block_write_begin +EXPORT_SYMBOL vmlinux 0x2c4c7997 _lv1_construct_lpm +EXPORT_SYMBOL vmlinux 0x2c5c8c50 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x2c7b1fca down_timeout +EXPORT_SYMBOL vmlinux 0x2c803336 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x2c919c63 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x2ccbd72d kern_path_create +EXPORT_SYMBOL vmlinux 0x2cf73cb7 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d189b4d xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x2d2855ee bdi_init +EXPORT_SYMBOL vmlinux 0x2d2d7e8e bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x2d3aba48 cad_pid +EXPORT_SYMBOL vmlinux 0x2d7a8443 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x2d7d2767 _lv1_set_lpm_group_control +EXPORT_SYMBOL vmlinux 0x2d7e23fa blk_fetch_request +EXPORT_SYMBOL vmlinux 0x2d8792fe twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x2d89342a scsi_show_sense_hdr +EXPORT_SYMBOL vmlinux 0x2d8d2272 elv_abort_queue +EXPORT_SYMBOL vmlinux 0x2db1e0c6 dql_init +EXPORT_SYMBOL vmlinux 0x2db4c99b flush_delayed_work +EXPORT_SYMBOL vmlinux 0x2dbb3af0 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x2dcab6d2 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x2decc489 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x2deda4a1 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x2e1bef92 eeh_subsystem_enabled +EXPORT_SYMBOL vmlinux 0x2e214b42 scsi_execute_req +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2ce9e0 sysctl_tcp_syncookies +EXPORT_SYMBOL vmlinux 0x2e3e7765 d_set_d_op +EXPORT_SYMBOL vmlinux 0x2e7dbbb7 rtnl_notify +EXPORT_SYMBOL vmlinux 0x2e8c72ae mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x2e93495e _lv1_write_htab_entry +EXPORT_SYMBOL vmlinux 0x2ea49003 simple_unlink +EXPORT_SYMBOL vmlinux 0x2eb7573b inet_select_addr +EXPORT_SYMBOL vmlinux 0x2ebbb86a blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x2ec813cf set_bh_page +EXPORT_SYMBOL vmlinux 0x2ee1f956 idr_pre_get +EXPORT_SYMBOL vmlinux 0x2ee4337f smu_queue_cmd +EXPORT_SYMBOL vmlinux 0x2eeab9d3 get_super_thawed +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 0x2f1b1764 dma_async_memcpy_pg_to_pg +EXPORT_SYMBOL vmlinux 0x2f287f0d copy_to_user +EXPORT_SYMBOL vmlinux 0x2f4adde1 dm_get_device +EXPORT_SYMBOL vmlinux 0x2f4c9d76 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x2f96458c km_query +EXPORT_SYMBOL vmlinux 0x2fad8326 dev_err +EXPORT_SYMBOL vmlinux 0x2fae96de rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x2fb6de5d add_device_randomness +EXPORT_SYMBOL vmlinux 0x2fcf740d idr_get_new_above +EXPORT_SYMBOL vmlinux 0x2fea3035 bdevname +EXPORT_SYMBOL vmlinux 0x3006e0aa pci_enable_device +EXPORT_SYMBOL vmlinux 0x30226ddf agp_device_command +EXPORT_SYMBOL vmlinux 0x30415ac9 pci_choose_state +EXPORT_SYMBOL vmlinux 0x307c2fd0 generic_check_addressable +EXPORT_SYMBOL vmlinux 0x30881159 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30bdade3 generic_writepages +EXPORT_SYMBOL vmlinux 0x30cada8f radix_tree_next_hole +EXPORT_SYMBOL vmlinux 0x30d069a8 ps3_dma_region_free +EXPORT_SYMBOL vmlinux 0x30d70fa9 of_get_pci_address +EXPORT_SYMBOL vmlinux 0x30e60645 mdiobus_read +EXPORT_SYMBOL vmlinux 0x3102d70b frontswap_curr_pages +EXPORT_SYMBOL vmlinux 0x310b4821 __put_cred +EXPORT_SYMBOL vmlinux 0x311e2b1a d_make_root +EXPORT_SYMBOL vmlinux 0x3122aace simple_write_begin +EXPORT_SYMBOL vmlinux 0x312cfaf2 _lv1_disable_logical_spe +EXPORT_SYMBOL vmlinux 0x313018dd sock_create_lite +EXPORT_SYMBOL vmlinux 0x313411be pcim_pin_device +EXPORT_SYMBOL vmlinux 0x31379e3f blk_make_request +EXPORT_SYMBOL vmlinux 0x3145216f pci_dev_present +EXPORT_SYMBOL vmlinux 0x3147857d default_red +EXPORT_SYMBOL vmlinux 0x3148e2c0 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x314e8556 path_is_under +EXPORT_SYMBOL vmlinux 0x31504d68 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x315c65fd zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x316ab7ff blk_queue_resize_tags +EXPORT_SYMBOL vmlinux 0x318cadb1 reciprocal_value +EXPORT_SYMBOL vmlinux 0x319e0726 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x31a57634 d_splice_alias +EXPORT_SYMBOL vmlinux 0x31b7f300 _lv1_set_lpm_signal +EXPORT_SYMBOL vmlinux 0x31cacd08 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x31cd509a _lv1_net_control +EXPORT_SYMBOL vmlinux 0x31ed3e2d i2c_del_driver +EXPORT_SYMBOL vmlinux 0x321540c9 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x3235c0d2 elevator_exit +EXPORT_SYMBOL vmlinux 0x324e5c37 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x325098b8 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x327b9c1b pmu_poll_adb +EXPORT_SYMBOL vmlinux 0x3290c08f __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x32c493e2 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x32d6a727 i2c_release_client +EXPORT_SYMBOL vmlinux 0x32d99e03 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x32ebeac1 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x330809aa phy_attach +EXPORT_SYMBOL vmlinux 0x330b3554 input_free_device +EXPORT_SYMBOL vmlinux 0x3313504b dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x333cb37c __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x33558eb4 sk_free +EXPORT_SYMBOL vmlinux 0x337070f3 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x3393fbed pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x33acf054 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x33b1541c generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33bb1f74 phy_ethtool_gset +EXPORT_SYMBOL vmlinux 0x33cbedba mii_check_media +EXPORT_SYMBOL vmlinux 0x33d1633b dev_close +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33f2da6a generic_pipe_buf_map +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x3413c9cf blk_get_request +EXPORT_SYMBOL vmlinux 0x3413fb2e filp_close +EXPORT_SYMBOL vmlinux 0x34184afe current_kernel_time +EXPORT_SYMBOL vmlinux 0x34308e0e agp_free_page_array +EXPORT_SYMBOL vmlinux 0x344adbd5 init_cdrom_command +EXPORT_SYMBOL vmlinux 0x344eafff inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x3459dc17 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x345e9bec eth_header +EXPORT_SYMBOL vmlinux 0x34696a70 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x346c4ded rwsem_down_write_failed +EXPORT_SYMBOL vmlinux 0x347013de nla_validate +EXPORT_SYMBOL vmlinux 0x34769c60 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x3489c094 inc_nlink +EXPORT_SYMBOL vmlinux 0x34982e85 serio_rescan +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34b7f080 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x34b8145a scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x34c1d604 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x34f8715a generic_readlink +EXPORT_SYMBOL vmlinux 0x34f9c8ef netdev_class_remove_file +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x355f70d0 file_sb_list_del +EXPORT_SYMBOL vmlinux 0x357c90d2 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x358362f5 abort_creds +EXPORT_SYMBOL vmlinux 0x3587eb36 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x35a617ef scsi_cmd_ioctl +EXPORT_SYMBOL vmlinux 0x35b6b772 param_ops_charp +EXPORT_SYMBOL vmlinux 0x35b90901 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x35bb7c89 pci_iomap +EXPORT_SYMBOL vmlinux 0x35ca8cfa dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x35defc50 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x35f19be2 pci_enable_bridges +EXPORT_SYMBOL vmlinux 0x36196f80 inode_change_ok +EXPORT_SYMBOL vmlinux 0x36203b34 fsnotify_put_mark +EXPORT_SYMBOL vmlinux 0x36205bb0 bdi_register +EXPORT_SYMBOL vmlinux 0x3628c837 bio_integrity_clone +EXPORT_SYMBOL vmlinux 0x3642914a nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x3656d240 follow_up +EXPORT_SYMBOL vmlinux 0x369e1115 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x369eb4a2 __lru_cache_add +EXPORT_SYMBOL vmlinux 0x36a55692 flush_old_exec +EXPORT_SYMBOL vmlinux 0x36abb88b ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x36b0e732 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x36b4fca0 save_mount_options +EXPORT_SYMBOL vmlinux 0x36b955dc tcf_register_action +EXPORT_SYMBOL vmlinux 0x36c82212 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x36e360e3 __hw_addr_add_multiple +EXPORT_SYMBOL vmlinux 0x3712b749 dev_crit +EXPORT_SYMBOL vmlinux 0x371902e9 _lv1_get_lpm_interrupt_status +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x37270286 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x37344510 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3778479b neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x377d97ce blk_put_request +EXPORT_SYMBOL vmlinux 0x3788d6fa tcp_v4_tw_get_peer +EXPORT_SYMBOL vmlinux 0x37b777df param_set_copystring +EXPORT_SYMBOL vmlinux 0x37b7d400 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37e911b4 sg_miter_start +EXPORT_SYMBOL vmlinux 0x3800b4d8 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x380cc553 file_update_time +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x382777ab _lv1_gpu_context_allocate +EXPORT_SYMBOL vmlinux 0x3827e415 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x38492f56 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x38674c5f mntget +EXPORT_SYMBOL vmlinux 0x38818a71 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x38834331 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388f9128 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x38a20be3 tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38c63498 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x38f39760 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x390aac54 sk_reset_txq +EXPORT_SYMBOL vmlinux 0x39141d77 vfs_create +EXPORT_SYMBOL vmlinux 0x392ae589 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x393166aa unregister_md_personality +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393a7444 __generic_file_aio_write +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3973ee63 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x397969b2 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x3980aac1 unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3980e814 bio_map_kern +EXPORT_SYMBOL vmlinux 0x399398f2 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a43b58 key_invalidate +EXPORT_SYMBOL vmlinux 0x39b99628 account_page_dirtied +EXPORT_SYMBOL vmlinux 0x39c68fb1 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x39cdf63c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x39d12e10 have_submounts +EXPORT_SYMBOL vmlinux 0x39e3a1b0 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x39efe88b pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x3a17e5e4 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x3a20ff73 __crc32c_le +EXPORT_SYMBOL vmlinux 0x3a2516cc scsi_dma_map +EXPORT_SYMBOL vmlinux 0x3a4a0f7d __destroy_inode +EXPORT_SYMBOL vmlinux 0x3a85e78c netdev_update_features +EXPORT_SYMBOL vmlinux 0x3a943518 inode_add_rsv_space +EXPORT_SYMBOL vmlinux 0x3a9b6fb9 blk_unregister_region +EXPORT_SYMBOL vmlinux 0x3aafcf16 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x3ac67b15 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x3ad34de5 tty_port_close +EXPORT_SYMBOL vmlinux 0x3ad354a1 cfb_fillrect +EXPORT_SYMBOL vmlinux 0x3ae5d241 md_write_end +EXPORT_SYMBOL vmlinux 0x3b1523f1 filemap_fault +EXPORT_SYMBOL vmlinux 0x3b18203b skb_store_bits +EXPORT_SYMBOL vmlinux 0x3b1ba7e6 __alloc_pages_nodemask +EXPORT_SYMBOL vmlinux 0x3b208797 __breadahead +EXPORT_SYMBOL vmlinux 0x3b3016d3 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x3b3ba754 bdi_unregister +EXPORT_SYMBOL vmlinux 0x3b45ae7e __kfree_skb +EXPORT_SYMBOL vmlinux 0x3b4f044c register_exec_domain +EXPORT_SYMBOL vmlinux 0x3b615a21 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x3b7f6a2f gen_pool_create +EXPORT_SYMBOL vmlinux 0x3bc3de7b ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x3bd1b1f6 msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x3bef03b9 flow_cache_lookup +EXPORT_SYMBOL vmlinux 0x3c0ca44a d_find_alias +EXPORT_SYMBOL vmlinux 0x3c32f7da fget_raw +EXPORT_SYMBOL vmlinux 0x3c42f238 inet_addr_type +EXPORT_SYMBOL vmlinux 0x3c58b520 key_task_permission +EXPORT_SYMBOL vmlinux 0x3c5cb492 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x3c70f73c genlmsg_put +EXPORT_SYMBOL vmlinux 0x3c7f9bd7 write_one_page +EXPORT_SYMBOL vmlinux 0x3c80c06c kstrtoull +EXPORT_SYMBOL vmlinux 0x3c97739c do_splice_direct +EXPORT_SYMBOL vmlinux 0x3c9d1211 string_get_size +EXPORT_SYMBOL vmlinux 0x3cadba0a dev_deactivate +EXPORT_SYMBOL vmlinux 0x3cc07d78 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x3cc4b0dc lg_lock_init +EXPORT_SYMBOL vmlinux 0x3cc95bd7 load_nls +EXPORT_SYMBOL vmlinux 0x3ccca365 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x3cdf0f13 genl_notify +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d022da8 ping_prot +EXPORT_SYMBOL vmlinux 0x3d1422a3 mount_bdev +EXPORT_SYMBOL vmlinux 0x3d47bb60 inet6_bind +EXPORT_SYMBOL vmlinux 0x3d4e92ea bio_integrity_split +EXPORT_SYMBOL vmlinux 0x3d5844b3 strnicmp +EXPORT_SYMBOL vmlinux 0x3d618b7a unregister_quota_format +EXPORT_SYMBOL vmlinux 0x3d63dc2d generic_file_splice_write +EXPORT_SYMBOL vmlinux 0x3d74c597 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL vmlinux 0x3d7dd9a4 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x3d93ee61 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x3da754c2 user_revoke +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcd3503 journal_init_inode +EXPORT_SYMBOL vmlinux 0x3df2d07c splice_from_pipe_feed +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e133004 __cleancache_invalidate_page +EXPORT_SYMBOL vmlinux 0x3e183a64 mmc_wait_for_app_cmd +EXPORT_SYMBOL vmlinux 0x3e286dca _lv1_get_rtc +EXPORT_SYMBOL vmlinux 0x3e45e9ff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x3e81a7d6 check_disk_change +EXPORT_SYMBOL vmlinux 0x3e867efc qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x3e882943 pcibios_align_resource +EXPORT_SYMBOL vmlinux 0x3e9110fa __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x3eada0ba fsnotify_init_mark +EXPORT_SYMBOL vmlinux 0x3eae292f param_set_byte +EXPORT_SYMBOL vmlinux 0x3eaf291d param_get_string +EXPORT_SYMBOL vmlinux 0x3eb374c7 ip_ct_attach +EXPORT_SYMBOL vmlinux 0x3ebe68ae mmc_interrupt_hpi +EXPORT_SYMBOL vmlinux 0x3ec072da pci_set_master +EXPORT_SYMBOL vmlinux 0x3ec16c3b in_group_p +EXPORT_SYMBOL vmlinux 0x3ec53e81 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x3ec6a1f8 blk_queue_invalidate_tags +EXPORT_SYMBOL vmlinux 0x3ed63055 zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x3ee1483c thermal_cooling_device_register +EXPORT_SYMBOL vmlinux 0x3ee7ae98 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x3f0546a8 ioread32_rep +EXPORT_SYMBOL vmlinux 0x3f06a656 _lv1_construct_event_receive_port +EXPORT_SYMBOL vmlinux 0x3f2c6aa1 ip6_xmit +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f8056ec mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x3fa5aec1 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x3fbfd6ed _lv1_gpu_open +EXPORT_SYMBOL vmlinux 0x3fe0d1c0 slhc_free +EXPORT_SYMBOL vmlinux 0x3fe16b46 __get_user_pages +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 0x404dd3b4 dm_put_device +EXPORT_SYMBOL vmlinux 0x405c1144 get_seconds +EXPORT_SYMBOL vmlinux 0x40876a85 tcf_destroy_chain +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x4099cd14 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x40a27c37 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b6a448 phy_stop_interrupts +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x41361807 _lv1_get_logical_ppe_id +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4159c38f ioremap_wc +EXPORT_SYMBOL vmlinux 0x41779437 tcf_hash_lookup +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a78a05 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x41dbf4de _lv1_start_lpm +EXPORT_SYMBOL vmlinux 0x41dbf7d2 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x41efaa2a sock_create +EXPORT_SYMBOL vmlinux 0x420e7592 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x4211c3c1 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x4213b1a5 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x421559c7 get_disk +EXPORT_SYMBOL vmlinux 0x423ba5ae vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x424df2bb vio_unregister_device +EXPORT_SYMBOL vmlinux 0x42573254 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x42595e58 vgacon_text_force +EXPORT_SYMBOL vmlinux 0x426e823e mmc_cd_gpio_free +EXPORT_SYMBOL vmlinux 0x42878d4c mmc_regulator_set_ocr +EXPORT_SYMBOL vmlinux 0x42977ad4 __hw_addr_del_multiple +EXPORT_SYMBOL vmlinux 0x42ac4e53 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x42b991c8 seq_release_private +EXPORT_SYMBOL vmlinux 0x42c5ddcc bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x42db607b uart_resume_port +EXPORT_SYMBOL vmlinux 0x42e2e282 blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430780a7 blk_delay_queue +EXPORT_SYMBOL vmlinux 0x430795b0 path_get +EXPORT_SYMBOL vmlinux 0x430d753f icmp_send +EXPORT_SYMBOL vmlinux 0x43193326 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x4325e181 neigh_update +EXPORT_SYMBOL vmlinux 0x432a48cd input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x4339a59b genphy_suspend +EXPORT_SYMBOL vmlinux 0x433b28fa flush_dcache_page +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4356a68f dev_addr_init +EXPORT_SYMBOL vmlinux 0x436c2179 iowrite32 +EXPORT_SYMBOL vmlinux 0x43a01f90 complete_all +EXPORT_SYMBOL vmlinux 0x43a0458b blk_start_plug +EXPORT_SYMBOL vmlinux 0x43ba571f qdisc_list_del +EXPORT_SYMBOL vmlinux 0x43ef5fb4 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x43f23311 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4417c111 sock_release +EXPORT_SYMBOL vmlinux 0x443aa111 compat_tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x443b5d41 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x4470a79b param_ops_long +EXPORT_SYMBOL vmlinux 0x447c447f bh_submit_read +EXPORT_SYMBOL vmlinux 0x44801f74 pci_set_dma_seg_boundary +EXPORT_SYMBOL vmlinux 0x448eac3e kmemdup +EXPORT_SYMBOL vmlinux 0x44b911c3 rb_replace_node +EXPORT_SYMBOL vmlinux 0x44b95e73 journal_set_features +EXPORT_SYMBOL vmlinux 0x44b985cc mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44eb192e wait_for_completion +EXPORT_SYMBOL vmlinux 0x44f53717 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x450438c8 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x45132df2 module_layout +EXPORT_SYMBOL vmlinux 0x45187dab get_fs_type +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 0x4564459b _lv1_set_virtual_uart_param +EXPORT_SYMBOL vmlinux 0x456b7651 pci_bus_type +EXPORT_SYMBOL vmlinux 0x456c1ab5 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x4583ec0b tty_register_driver +EXPORT_SYMBOL vmlinux 0x45995767 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x45a55ec8 __iounmap +EXPORT_SYMBOL vmlinux 0x45a765cf pci_add_resource +EXPORT_SYMBOL vmlinux 0x45bd9efd dm_table_put +EXPORT_SYMBOL vmlinux 0x45bdab04 blk_get_backing_dev_info +EXPORT_SYMBOL vmlinux 0x45cfe80b pasemi_dma_free_flag +EXPORT_SYMBOL vmlinux 0x45d216b9 tcp_put_md5sig_pool +EXPORT_SYMBOL vmlinux 0x460aec4b d_rehash +EXPORT_SYMBOL vmlinux 0x4612c59d down_trylock +EXPORT_SYMBOL vmlinux 0x461ac773 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x4630b32d mpage_writepages +EXPORT_SYMBOL vmlinux 0x465fd48e tcp_v4_get_peer +EXPORT_SYMBOL vmlinux 0x46608fa0 getnstimeofday +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x466f2551 dma_find_channel +EXPORT_SYMBOL vmlinux 0x468826a4 __skb_get_rxhash +EXPORT_SYMBOL vmlinux 0x4695a54c d_validate +EXPORT_SYMBOL vmlinux 0x46afd532 on_each_cpu_mask +EXPORT_SYMBOL vmlinux 0x46c17133 destroy_EII_client +EXPORT_SYMBOL vmlinux 0x46d12956 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x46d5cbee prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x46d72d29 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x46feb099 dm_read_arg +EXPORT_SYMBOL vmlinux 0x471b0902 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x471e6b60 security_task_getsecid +EXPORT_SYMBOL vmlinux 0x47325b54 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x4736bf68 nla_append +EXPORT_SYMBOL vmlinux 0x47490e23 ihold +EXPORT_SYMBOL vmlinux 0x475100c2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x475b5b86 skb_seq_read +EXPORT_SYMBOL vmlinux 0x477dac58 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x478d8532 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x47939e0d __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x479c3c86 find_next_zero_bit +EXPORT_SYMBOL vmlinux 0x47b3f862 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x47be514b __page_symlink +EXPORT_SYMBOL vmlinux 0x47be8097 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x47c64eb2 vfs_llseek +EXPORT_SYMBOL vmlinux 0x47c86aeb tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x47dd9305 ip_fragment +EXPORT_SYMBOL vmlinux 0x47e1960e max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x47f53b02 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x48000553 mempool_create_node +EXPORT_SYMBOL vmlinux 0x4800eccb scsi_register_interface +EXPORT_SYMBOL vmlinux 0x48034724 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x480ab42a __next_cpu_nr +EXPORT_SYMBOL vmlinux 0x4811b679 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x48139cf6 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x4815f22b _lv1_gpu_attribute +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x482d21cc elv_dispatch_sort +EXPORT_SYMBOL vmlinux 0x48374ea7 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x48404b9a remove_wait_queue +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x484322b4 sock_no_listen +EXPORT_SYMBOL vmlinux 0x4843a1b9 _lv1_delete_repository_node +EXPORT_SYMBOL vmlinux 0x48446c21 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x4845c423 param_array_ops +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x485f511e mount_nodev +EXPORT_SYMBOL vmlinux 0x487d9343 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x487f1d5c padata_alloc_possible +EXPORT_SYMBOL vmlinux 0x4881efab pmac_get_partition +EXPORT_SYMBOL vmlinux 0x48d0c055 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x491c6e83 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x492706ee lock_rename +EXPORT_SYMBOL vmlinux 0x4943eb9e blk_sync_queue +EXPORT_SYMBOL vmlinux 0x495ec6eb pasemi_dma_alloc_buf +EXPORT_SYMBOL vmlinux 0x49603fb8 security_sb_copy_data +EXPORT_SYMBOL vmlinux 0x496cd543 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x49766d10 __cleancache_init_fs +EXPORT_SYMBOL vmlinux 0x49828f50 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x49b07aec tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x49d563dd flush_icache_user_range +EXPORT_SYMBOL vmlinux 0x49ed7e97 dquot_initialize +EXPORT_SYMBOL vmlinux 0x49f80b40 journal_check_available_features +EXPORT_SYMBOL vmlinux 0x49fd4984 phy_disconnect +EXPORT_SYMBOL vmlinux 0x4a17667d __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x4a1fdac1 pci_disable_device +EXPORT_SYMBOL vmlinux 0x4a358252 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x4a67b330 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x4a876174 eth_type_trans +EXPORT_SYMBOL vmlinux 0x4a98ac96 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x4abbe3c2 vm_brk +EXPORT_SYMBOL vmlinux 0x4abe2312 netdev_class_create_file +EXPORT_SYMBOL vmlinux 0x4ac038ff mnt_pin +EXPORT_SYMBOL vmlinux 0x4ac64da4 _lv1_select_virtual_address_space +EXPORT_SYMBOL vmlinux 0x4acd88b1 mmc_add_host +EXPORT_SYMBOL vmlinux 0x4acd93d3 release_resource +EXPORT_SYMBOL vmlinux 0x4af10a67 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x4af5d20c buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x4afe9a77 scsi_partsize +EXPORT_SYMBOL vmlinux 0x4b03ddbd seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b0da53c ab3100_event_register +EXPORT_SYMBOL vmlinux 0x4b3cb349 _lv1_destruct_io_irq_outlet +EXPORT_SYMBOL vmlinux 0x4b4b6b3d tty_unthrottle +EXPORT_SYMBOL vmlinux 0x4b4d704c gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x4b586f8b pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6a3c04 revalidate_disk +EXPORT_SYMBOL vmlinux 0x4b6ee9b9 compat_ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x4b6fcddc _lv1_set_spe_interrupt_mask +EXPORT_SYMBOL vmlinux 0x4b7ed27b sleep_on +EXPORT_SYMBOL vmlinux 0x4bae8684 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x4bb7e328 sock_create_kern +EXPORT_SYMBOL vmlinux 0x4bc0c8aa skb_insert +EXPORT_SYMBOL vmlinux 0x4bcc2dde tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x4bcc8a32 do_sync_write +EXPORT_SYMBOL vmlinux 0x4bdc4dda truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x4bed99b3 __percpu_counter_add +EXPORT_SYMBOL vmlinux 0x4c027417 pci_lost_interrupt +EXPORT_SYMBOL vmlinux 0x4c11435a _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x4c1182cb bitmap_scnprintf +EXPORT_SYMBOL vmlinux 0x4c2b07d0 elv_rb_add +EXPORT_SYMBOL vmlinux 0x4c35296c tcp_prot +EXPORT_SYMBOL vmlinux 0x4c4f2e26 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x4c57de22 ether_setup +EXPORT_SYMBOL vmlinux 0x4c681254 backlight_device_register +EXPORT_SYMBOL vmlinux 0x4ca9669f scnprintf +EXPORT_SYMBOL vmlinux 0x4cbbd171 __bitmap_weight +EXPORT_SYMBOL vmlinux 0x4cbe1e62 compat_mc_getsockopt +EXPORT_SYMBOL vmlinux 0x4cce57d5 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x4cdb3178 ns_to_timeval +EXPORT_SYMBOL vmlinux 0x4ce3ae76 frontswap_enabled +EXPORT_SYMBOL vmlinux 0x4ce729d3 read_cache_page_async +EXPORT_SYMBOL vmlinux 0x4cec39b8 blk_run_queue_async +EXPORT_SYMBOL vmlinux 0x4cf4d461 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x4cf6c85c pmac_register_agp_pm +EXPORT_SYMBOL vmlinux 0x4d0a57a7 seq_escape +EXPORT_SYMBOL vmlinux 0x4d19ff72 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x4d386d8f scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x4d389cf2 dev_open +EXPORT_SYMBOL vmlinux 0x4d405db8 param_ops_string +EXPORT_SYMBOL vmlinux 0x4d84551c dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x4d848533 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x4d974b9c register_sysrq_key +EXPORT_SYMBOL vmlinux 0x4d9b2784 mmc_fixup_device +EXPORT_SYMBOL vmlinux 0x4d9dc995 mmc_hw_reset_check +EXPORT_SYMBOL vmlinux 0x4da7c931 rwsem_downgrade_wake +EXPORT_SYMBOL vmlinux 0x4dc45be9 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x4dc69735 set_blocksize +EXPORT_SYMBOL vmlinux 0x4dcdbcf3 pm860x_page_set_bits +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 0x4e0b5df1 vfs_open +EXPORT_SYMBOL vmlinux 0x4e103d24 padata_set_cpumasks +EXPORT_SYMBOL vmlinux 0x4e1a6e69 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e5c1958 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x4e5e01b9 security_path_rename +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e7d7a5c dquot_free_inode +EXPORT_SYMBOL vmlinux 0x4e8c408a __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x4e9704cf i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x4e9bb8ef mac_find_mode +EXPORT_SYMBOL vmlinux 0x4e9dffb5 ip_fast_csum +EXPORT_SYMBOL vmlinux 0x4ea11ee4 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x4ec97f16 page_symlink +EXPORT_SYMBOL vmlinux 0x4ed39bb9 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x4edd72f7 block_all_signals +EXPORT_SYMBOL vmlinux 0x4effb10f generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x4effc1cd pci_set_mwi +EXPORT_SYMBOL vmlinux 0x4f00cbd8 dev_addr_add +EXPORT_SYMBOL vmlinux 0x4f0c1d22 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f272f77 of_node_put +EXPORT_SYMBOL vmlinux 0x4f391d0e nla_parse +EXPORT_SYMBOL vmlinux 0x4f3ec16e pci_fixup_device +EXPORT_SYMBOL vmlinux 0x4f50193d udp_seq_open +EXPORT_SYMBOL vmlinux 0x4f664db6 _lv1_insert_htab_entry +EXPORT_SYMBOL vmlinux 0x4f68e5c9 do_gettimeofday +EXPORT_SYMBOL vmlinux 0x4f8cb7a6 arp_tbl +EXPORT_SYMBOL vmlinux 0x4fa0fe2c bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x4fdb9ea0 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4ff1c9bc populate_rootfs_wait +EXPORT_SYMBOL vmlinux 0x4fffbf38 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x5001e3fa phy_start +EXPORT_SYMBOL vmlinux 0x5018c007 dev_uc_del +EXPORT_SYMBOL vmlinux 0x501c161c journal_wipe +EXPORT_SYMBOL vmlinux 0x50211ee3 tcp_free_md5sig_pool +EXPORT_SYMBOL vmlinux 0x50215227 vfs_readdir +EXPORT_SYMBOL vmlinux 0x50245a74 agp_copy_info +EXPORT_SYMBOL vmlinux 0x50552ddc tcp_child_process +EXPORT_SYMBOL vmlinux 0x5063e198 backlight_force_update +EXPORT_SYMBOL vmlinux 0x50666c6e blk_integrity_register +EXPORT_SYMBOL vmlinux 0x5072cbd2 single_release +EXPORT_SYMBOL vmlinux 0x50844e71 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x50a2abe6 bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x50a90e8d bsearch +EXPORT_SYMBOL vmlinux 0x50b87410 netdev_state_change +EXPORT_SYMBOL vmlinux 0x50bd8a59 kernel_read +EXPORT_SYMBOL vmlinux 0x50d2592d hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x50d62585 unlock_page +EXPORT_SYMBOL vmlinux 0x5118c382 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x5135153c scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x5143c678 param_get_invbool +EXPORT_SYMBOL vmlinux 0x51558520 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x516b21ba pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x518e6d0a icmpv6_send +EXPORT_SYMBOL vmlinux 0x5192905a tty_port_init +EXPORT_SYMBOL vmlinux 0x51961d7c __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x519b0da3 finish_wait +EXPORT_SYMBOL vmlinux 0x51a21f14 sync_inode +EXPORT_SYMBOL vmlinux 0x51b9c201 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x51dce73b xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x52026cdf security_sb_parse_opts_str +EXPORT_SYMBOL vmlinux 0x52428cc8 parent_mem_cgroup +EXPORT_SYMBOL vmlinux 0x5248bab3 tcf_hash_destroy +EXPORT_SYMBOL vmlinux 0x524e73fd arp_find +EXPORT_SYMBOL vmlinux 0x527830ff pmac_xpram_read +EXPORT_SYMBOL vmlinux 0x527ebe98 do_sync_read +EXPORT_SYMBOL vmlinux 0x52a7e400 drop_nlink +EXPORT_SYMBOL vmlinux 0x52d42c95 set_current_groups +EXPORT_SYMBOL vmlinux 0x52e3fa05 _lv1_allocate_memory +EXPORT_SYMBOL vmlinux 0x5302657b vfs_statfs +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53326531 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5339f5f8 _lv1_read_virtual_uart +EXPORT_SYMBOL vmlinux 0x536d329b hvcs_get_partner_info +EXPORT_SYMBOL vmlinux 0x536f999a usb_set_transceiver +EXPORT_SYMBOL vmlinux 0x5377e556 hex2bin +EXPORT_SYMBOL vmlinux 0x538383c0 unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x5397f2d3 posix_acl_init +EXPORT_SYMBOL vmlinux 0x53ebab1b _outsl_ns +EXPORT_SYMBOL vmlinux 0x5412c7c7 up +EXPORT_SYMBOL vmlinux 0x54182cca nf_register_hooks +EXPORT_SYMBOL vmlinux 0x541f969c d_move +EXPORT_SYMBOL vmlinux 0x54245b39 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x542d2801 journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54568b75 register_memory_isolate_notifier +EXPORT_SYMBOL vmlinux 0x5457a778 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x547f1c47 vfsmount_lock +EXPORT_SYMBOL vmlinux 0x54994315 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x54a9db5f _kstrtoul +EXPORT_SYMBOL vmlinux 0x54ce0a96 register_md_personality +EXPORT_SYMBOL vmlinux 0x54d585df xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x54d6e963 twl6040_irq_init +EXPORT_SYMBOL vmlinux 0x54e14af7 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x553a1fee pci_target_state +EXPORT_SYMBOL vmlinux 0x5541ea93 on_each_cpu +EXPORT_SYMBOL vmlinux 0x554eb6cf pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x555fda50 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x5567c227 kernel_cpustat +EXPORT_SYMBOL vmlinux 0x5568c553 complete +EXPORT_SYMBOL vmlinux 0x556ceba5 kill_pgrp +EXPORT_SYMBOL vmlinux 0x5577ef9e udp_table +EXPORT_SYMBOL vmlinux 0x557b3dd8 _lv1_gpu_close +EXPORT_SYMBOL vmlinux 0x5594be03 bitmap_remap +EXPORT_SYMBOL vmlinux 0x55b89e08 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x55c76417 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x55d44e97 tcp_proc_unregister +EXPORT_SYMBOL vmlinux 0x55d6c67f pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x55d8f371 mach_powermac +EXPORT_SYMBOL vmlinux 0x55ebc998 consume_skb +EXPORT_SYMBOL vmlinux 0x55f5019b __kmalloc_node +EXPORT_SYMBOL vmlinux 0x5614b010 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x56211420 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x5642793a radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x5644b4cd net_dma_find_channel +EXPORT_SYMBOL vmlinux 0x5666e73d set_groups +EXPORT_SYMBOL vmlinux 0x5680faa9 scsi_cmd_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x568804ee _lv1_destruct_event_receive_port +EXPORT_SYMBOL vmlinux 0x568b5a32 skb_split +EXPORT_SYMBOL vmlinux 0x569157ab arp_create +EXPORT_SYMBOL vmlinux 0x56948454 d_instantiate_unique +EXPORT_SYMBOL vmlinux 0x56a10763 csum_tcpudp_magic +EXPORT_SYMBOL vmlinux 0x56af0fb5 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56ddd997 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x56f25d27 input_close_device +EXPORT_SYMBOL vmlinux 0x56f5e61b d_genocide +EXPORT_SYMBOL vmlinux 0x57220a4a skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x572a03a5 dev_uc_init +EXPORT_SYMBOL vmlinux 0x572e85d4 blk_lookup_devt +EXPORT_SYMBOL vmlinux 0x573d850b km_state_notify +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x577d6037 vio_enable_interrupts +EXPORT_SYMBOL vmlinux 0x5785384a flex_array_free_parts +EXPORT_SYMBOL vmlinux 0x578c245a of_find_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 0x579f3b08 dma_async_memcpy_buf_to_pg +EXPORT_SYMBOL vmlinux 0x58281e2c dev_trans_start +EXPORT_SYMBOL vmlinux 0x582ea90b mmc_flush_cache +EXPORT_SYMBOL vmlinux 0x58356ca1 of_i2c_register_devices +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x583cdcd1 setattr_copy +EXPORT_SYMBOL vmlinux 0x583f75db scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x5857b225 ioread16_rep +EXPORT_SYMBOL vmlinux 0x589ac684 register_quota_format +EXPORT_SYMBOL vmlinux 0x58b6d10d tty_port_hangup +EXPORT_SYMBOL vmlinux 0x58d23783 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x5900b8a7 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x592d7c9d dquot_destroy +EXPORT_SYMBOL vmlinux 0x5934392b fb_register_client +EXPORT_SYMBOL vmlinux 0x593788c6 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e7ded register_netdev +EXPORT_SYMBOL vmlinux 0x595c1c0b invalidate_partition +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 0x597c2036 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x597e75c6 vfs_read +EXPORT_SYMBOL vmlinux 0x59b3378a completion_done +EXPORT_SYMBOL vmlinux 0x59ba1b6d lock_may_read +EXPORT_SYMBOL vmlinux 0x59d696b6 register_module_notifier +EXPORT_SYMBOL vmlinux 0x59dc5431 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x59e70f93 __send_remote_softirq +EXPORT_SYMBOL vmlinux 0x59fd6548 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x5a025f7b arch_local_irq_restore +EXPORT_SYMBOL vmlinux 0x5a0aaa12 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5a3c527c scsi_register +EXPORT_SYMBOL vmlinux 0x5a418704 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x5a6950ce simple_rename +EXPORT_SYMBOL vmlinux 0x5a6a6823 generic_write_checks +EXPORT_SYMBOL vmlinux 0x5a744b86 netlink_set_nonroot +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a93c295 nla_reserve +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aadcee3 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x5ad7bfb8 generic_show_options +EXPORT_SYMBOL vmlinux 0x5af5a59c give_up_console +EXPORT_SYMBOL vmlinux 0x5b07234c vfs_follow_link +EXPORT_SYMBOL vmlinux 0x5b2975d5 lookup_bdev +EXPORT_SYMBOL vmlinux 0x5b39988e ftrace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x5b41ec9c generic_write_end +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b5f400c dquot_resume +EXPORT_SYMBOL vmlinux 0x5b6af3aa pci_request_region +EXPORT_SYMBOL vmlinux 0x5b9828c5 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x5b9edb9d xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x5ba53020 vfs_fstat +EXPORT_SYMBOL vmlinux 0x5bc10524 printk_emit +EXPORT_SYMBOL vmlinux 0x5bd2951f sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x5bd79a34 input_grab_device +EXPORT_SYMBOL vmlinux 0x5beac3e0 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x5c10d99f bio_put +EXPORT_SYMBOL vmlinux 0x5c21f336 filemap_flush +EXPORT_SYMBOL vmlinux 0x5c2eb768 md_register_thread +EXPORT_SYMBOL vmlinux 0x5c37f319 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x5c39d4f8 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x5c59cafd dev_mc_add +EXPORT_SYMBOL vmlinux 0x5c6501ce of_device_register +EXPORT_SYMBOL vmlinux 0x5c841806 dst_destroy +EXPORT_SYMBOL vmlinux 0x5c91c707 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x5c96f1d1 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x5ccc9045 _lv1_close_device +EXPORT_SYMBOL vmlinux 0x5cd793a9 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x5cf30e10 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x5cf7de07 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x5d0b1892 param_set_invbool +EXPORT_SYMBOL vmlinux 0x5d22f5c8 poll_initwait +EXPORT_SYMBOL vmlinux 0x5d297062 xfrm_input +EXPORT_SYMBOL vmlinux 0x5d48ab69 path_put +EXPORT_SYMBOL vmlinux 0x5d5b5a16 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x5d6bdce1 flex_array_alloc +EXPORT_SYMBOL vmlinux 0x5da5ceb7 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x5dc05fdd dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x5dc087c7 security_mmap_file +EXPORT_SYMBOL vmlinux 0x5dd2c822 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x5e11634b jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x5e14f888 fsl_lbc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x5e25a4dd generic_write_sync +EXPORT_SYMBOL vmlinux 0x5e30e8f3 journal_errno +EXPORT_SYMBOL vmlinux 0x5e3a8a9c __wake_up +EXPORT_SYMBOL vmlinux 0x5e529b19 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x5e60e9d7 cdrom_media_changed +EXPORT_SYMBOL vmlinux 0x5e6947f7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x5e94ef4c blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec3c79c scsi_ioctl +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed19a6c agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x5ed4c502 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x5edd0762 bin2bcd +EXPORT_SYMBOL vmlinux 0x5ee5adb3 kernel_accept +EXPORT_SYMBOL vmlinux 0x5ee5fc93 scsi_device_put +EXPORT_SYMBOL vmlinux 0x5eeb5808 lro_receive_skb +EXPORT_SYMBOL vmlinux 0x5f005368 kstrtou8 +EXPORT_SYMBOL vmlinux 0x5f04a0e6 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x5f242bed security_d_instantiate +EXPORT_SYMBOL vmlinux 0x5f3c8f5c mmc_assume_removable +EXPORT_SYMBOL vmlinux 0x5f47de05 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x5f4c1057 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x5f6f8985 dev_get_by_flags_rcu +EXPORT_SYMBOL vmlinux 0x5f83452a blkdev_put +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f91ccad locks_copy_lock +EXPORT_SYMBOL vmlinux 0x5f97bd66 journal_invalidatepage +EXPORT_SYMBOL vmlinux 0x5f9dc79a pci_enable_ido +EXPORT_SYMBOL vmlinux 0x5f9e2086 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x5fa17c73 sk_filter_release_rcu +EXPORT_SYMBOL vmlinux 0x5fabf0c6 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x5fc8ce11 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x60124370 __devm_request_region +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60331739 dump_write +EXPORT_SYMBOL vmlinux 0x60437f3f sk_stop_timer +EXPORT_SYMBOL vmlinux 0x605c3813 mb_cache_entry_alloc +EXPORT_SYMBOL vmlinux 0x60674e38 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x606d0b09 secure_tcpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x60804a7c dev_mc_del +EXPORT_SYMBOL vmlinux 0x6086fae9 rwsem_wake +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60fc70b7 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x61229b10 node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x612390ad netpoll_set_trap +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612eab3f noop_fsync +EXPORT_SYMBOL vmlinux 0x613ef393 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x6147fe3e tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x614c31de journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x61660efe __ip_select_ident +EXPORT_SYMBOL vmlinux 0x617643a2 param_set_long +EXPORT_SYMBOL vmlinux 0x6178bb9a skb_copy_expand +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a4487c _lv1_gpu_device_unmap +EXPORT_SYMBOL vmlinux 0x61b6806d security_inode_init_security +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bc2018 sk_stream_error +EXPORT_SYMBOL vmlinux 0x61d68e57 scsi_free_host_dev +EXPORT_SYMBOL vmlinux 0x61dcdcd3 _lv1_pause +EXPORT_SYMBOL vmlinux 0x61eef2c9 _insb +EXPORT_SYMBOL vmlinux 0x6212bdbd unregister_cdrom +EXPORT_SYMBOL vmlinux 0x62167591 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x621f6021 i2c_bit_add_numbered_bus +EXPORT_SYMBOL vmlinux 0x6225637e md5_transform +EXPORT_SYMBOL vmlinux 0x62274723 __frontswap_load +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622ff9e2 mntput +EXPORT_SYMBOL vmlinux 0x62474a4f sys_fillrect +EXPORT_SYMBOL vmlinux 0x62538167 slhc_toss +EXPORT_SYMBOL vmlinux 0x6258ff7a panic_notifier_list +EXPORT_SYMBOL vmlinux 0x6260e8a4 generic_file_aio_read +EXPORT_SYMBOL vmlinux 0x6263178f scsi_init_io +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627b5cab mb_cache_shrink +EXPORT_SYMBOL vmlinux 0x62827bec security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x6283912e __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62896241 seq_open_private +EXPORT_SYMBOL vmlinux 0x628cbce3 dev_addr_flush +EXPORT_SYMBOL vmlinux 0x62a9dd46 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x62b2930d thaw_super +EXPORT_SYMBOL vmlinux 0x62c018a5 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x62fd6207 param_set_charp +EXPORT_SYMBOL vmlinux 0x63066d99 scsi_execute +EXPORT_SYMBOL vmlinux 0x6307e49f proc_create_data +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x63291525 powerpc_debugfs_root +EXPORT_SYMBOL vmlinux 0x6332cc1a audit_log_start +EXPORT_SYMBOL vmlinux 0x6360d639 cpu_all_bits +EXPORT_SYMBOL vmlinux 0x63617011 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x6376cf3b simple_transaction_read +EXPORT_SYMBOL vmlinux 0x63922bbd vfs_stat +EXPORT_SYMBOL vmlinux 0x63922c3a block_read_full_page +EXPORT_SYMBOL vmlinux 0x6398259e abx500_get_register_interruptible +EXPORT_SYMBOL vmlinux 0x639bf245 twl6040_irq_exit +EXPORT_SYMBOL vmlinux 0x63a9d5df of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x63d2e264 soft_cursor +EXPORT_SYMBOL vmlinux 0x63e7bd12 __cputime_usec_factor +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ecad53 register_netdevice_notifier +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 0x63ff0c81 vfs_symlink +EXPORT_SYMBOL vmlinux 0x6403e338 tcp_memory_pressure +EXPORT_SYMBOL vmlinux 0x641fc69d prepare_creds +EXPORT_SYMBOL vmlinux 0x6429990d module_refcount +EXPORT_SYMBOL vmlinux 0x6436751c sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x64464680 of_create_pci_dev +EXPORT_SYMBOL vmlinux 0x6456f362 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x6458d552 inode_init_once +EXPORT_SYMBOL vmlinux 0x646cc6ab pmu_poll +EXPORT_SYMBOL vmlinux 0x64999478 congestion_wait +EXPORT_SYMBOL vmlinux 0x649f9cbc d_instantiate +EXPORT_SYMBOL vmlinux 0x64b8f375 console_start +EXPORT_SYMBOL vmlinux 0x64ca856f md_check_recovery +EXPORT_SYMBOL vmlinux 0x64d2711b pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x64d8f589 blk_integrity_merge_bio +EXPORT_SYMBOL vmlinux 0x64e2b6cb pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x64ffc8ed dev_addr_del +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6517a1eb vm_insert_pfn +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652100ac devm_ioremap_prot +EXPORT_SYMBOL vmlinux 0x65255135 skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x653f35b2 pagevec_lookup_tag +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6578c89d km_policy_expired +EXPORT_SYMBOL vmlinux 0x659f41fd vio_find_node +EXPORT_SYMBOL vmlinux 0x65bb58a2 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x65c7afa6 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x65ced63f of_get_parent +EXPORT_SYMBOL vmlinux 0x65d5ea7a dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x65d9ef5e datagram_poll +EXPORT_SYMBOL vmlinux 0x65dc1cd3 phy_stop +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65ee106c compat_tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x65f3ad9a fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x66749651 sock_get_timestamp +EXPORT_SYMBOL vmlinux 0x667ba8de kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x668da8d5 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x66a256b3 ida_pre_get +EXPORT_SYMBOL vmlinux 0x66a2de90 compat_ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x66ad1cb3 _lv1_set_lpm_general_control +EXPORT_SYMBOL vmlinux 0x66bd3ccc nf_setsockopt +EXPORT_SYMBOL vmlinux 0x66cbf14b pmac_xpram_write +EXPORT_SYMBOL vmlinux 0x66d0b5e5 elv_rb_find +EXPORT_SYMBOL vmlinux 0x66e102f5 blk_queue_merge_bvec +EXPORT_SYMBOL vmlinux 0x6736a174 netdev_crit +EXPORT_SYMBOL vmlinux 0x6739fadf dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x673d6a2d bio_split +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6747de47 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x6750f7fd cdrom_release +EXPORT_SYMBOL vmlinux 0x67627b93 inet_sendpage +EXPORT_SYMBOL vmlinux 0x677d88cc simple_rmdir +EXPORT_SYMBOL vmlinux 0x6784fcc1 genl_register_mc_group +EXPORT_SYMBOL vmlinux 0x679d4cec napi_gro_receive +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67bd8c6a pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x67c7d650 mmc_align_data_size +EXPORT_SYMBOL vmlinux 0x67d7674c may_umount +EXPORT_SYMBOL vmlinux 0x67debe2b sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x68078122 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x681a24a8 security_path_chown +EXPORT_SYMBOL vmlinux 0x682e49cf ___pskb_trim +EXPORT_SYMBOL vmlinux 0x6849a15f flex_array_clear +EXPORT_SYMBOL vmlinux 0x6858b8eb pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x68609857 complete_and_exit +EXPORT_SYMBOL vmlinux 0x686d1d47 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x686f74bd xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x6884cdb2 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x68df01cf scsi_finish_command +EXPORT_SYMBOL vmlinux 0x68e05d57 getrawmonotonic +EXPORT_SYMBOL vmlinux 0x68e1ef51 smu_present +EXPORT_SYMBOL vmlinux 0x68f43ad3 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x699ccbf8 _lv1_deconfigure_virtual_uart_irq +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 0x69e27c7a bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x69f4c281 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x69f7a9e5 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x6a01141f mach_pseries +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a0ec0c1 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x6a2d4296 agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x6a4d714c __get_page_tail +EXPORT_SYMBOL vmlinux 0x6a5c65e2 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a61f874 to_tm +EXPORT_SYMBOL vmlinux 0x6a76f3ac blk_iopoll_enable +EXPORT_SYMBOL vmlinux 0x6a7e164b input_set_capability +EXPORT_SYMBOL vmlinux 0x6a90e8d5 blk_queue_prep_rq +EXPORT_SYMBOL vmlinux 0x6aa737b8 xfrm_unregister_mode +EXPORT_SYMBOL vmlinux 0x6acb973d iowrite32be +EXPORT_SYMBOL vmlinux 0x6adcf17b input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x6b0726a7 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x6b1b67d3 __bdevname +EXPORT_SYMBOL vmlinux 0x6b20a3be freezing_slow_path +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 0x6b43b291 __inet6_hash +EXPORT_SYMBOL vmlinux 0x6b43b815 journal_lock_updates +EXPORT_SYMBOL vmlinux 0x6b54d1ef ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x6b564c32 skb_copy_datagram_from_iovec +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 0x6b717941 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x6b7589f4 param_set_bool +EXPORT_SYMBOL vmlinux 0x6b7f0a11 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x6b7f5e7c mii_nway_restart +EXPORT_SYMBOL vmlinux 0x6b8bfda4 wait_on_sync_kiocb +EXPORT_SYMBOL vmlinux 0x6bc1ce09 bio_integrity_free +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bcbb538 pci_iounmap +EXPORT_SYMBOL vmlinux 0x6bdcfd99 qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x6bf041d0 tty_free_termios +EXPORT_SYMBOL vmlinux 0x6bf3f4cd pm860x_page_bulk_write +EXPORT_SYMBOL vmlinux 0x6c0b97b7 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x6c1dac59 vfs_link +EXPORT_SYMBOL vmlinux 0x6c2f19ce tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x6c3586c2 pm860x_page_reg_read +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c665691 flex_array_shrink +EXPORT_SYMBOL vmlinux 0x6c66a049 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x6c702af7 sysctl_udp_rmem_min +EXPORT_SYMBOL vmlinux 0x6c76237e validate_sp +EXPORT_SYMBOL vmlinux 0x6c781bf7 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x6c88041c mmc_can_discard +EXPORT_SYMBOL vmlinux 0x6cc14086 dev_uc_add +EXPORT_SYMBOL vmlinux 0x6cdfd6ad n_tty_compat_ioctl_helper +EXPORT_SYMBOL vmlinux 0x6ce8783f sock_register +EXPORT_SYMBOL vmlinux 0x6cf41a17 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x6d044c26 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6d0c913e giveup_vsx +EXPORT_SYMBOL vmlinux 0x6d0f1f89 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x6d13a9f3 do_truncate +EXPORT_SYMBOL vmlinux 0x6d1743eb _lv1_get_total_execution_time +EXPORT_SYMBOL vmlinux 0x6d1dc1ed try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6d27ef64 __bitmap_empty +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d35546e ip_setsockopt +EXPORT_SYMBOL vmlinux 0x6d359b6a nf_log_unregister +EXPORT_SYMBOL vmlinux 0x6d4a8f5c tcp_connect +EXPORT_SYMBOL vmlinux 0x6d4f4876 cleancache_register_ops +EXPORT_SYMBOL vmlinux 0x6d5c69e3 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x6d6cbadc rb_last +EXPORT_SYMBOL vmlinux 0x6d751b17 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x6da928f4 _insw_ns +EXPORT_SYMBOL vmlinux 0x6db4a5fe scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x6dc04976 tty_vhangup +EXPORT_SYMBOL vmlinux 0x6dc3a1a0 pci_get_class +EXPORT_SYMBOL vmlinux 0x6de59dd7 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x6def2db2 half_md4_transform +EXPORT_SYMBOL vmlinux 0x6e1b9022 scsi_get_command +EXPORT_SYMBOL vmlinux 0x6e2ed3c4 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x6e31987a key_type_keyring +EXPORT_SYMBOL vmlinux 0x6e42975d netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9303cd __serio_register_port +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6eaee304 set_nlink +EXPORT_SYMBOL vmlinux 0x6ecc5601 nonseekable_open +EXPORT_SYMBOL vmlinux 0x6ecd1862 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x6ed04686 __f_setown +EXPORT_SYMBOL vmlinux 0x6ee8b1e2 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x6efeac20 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x6f20960a full_name_hash +EXPORT_SYMBOL vmlinux 0x6f35ec87 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x6f57a3df _dev_info +EXPORT_SYMBOL vmlinux 0x6f739b03 register_netdevice +EXPORT_SYMBOL vmlinux 0x6f8bdcfb dev_remove_pack +EXPORT_SYMBOL vmlinux 0x6f95fae0 vio_register_device_node +EXPORT_SYMBOL vmlinux 0x6fa331ed _lv1_construct_io_irq_outlet +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd040ec generic_segment_checks +EXPORT_SYMBOL vmlinux 0x6fe17b52 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x6ffcd33f __dquot_free_space +EXPORT_SYMBOL vmlinux 0x701699b2 _lv1_set_spe_privilege_state_area_1_register +EXPORT_SYMBOL vmlinux 0x701d898d writeback_inodes_sb_nr_if_idle +EXPORT_SYMBOL vmlinux 0x7047ba30 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x704c4365 __cputime_sec_factor +EXPORT_SYMBOL vmlinux 0x70523a7a __cond_resched_softirq +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x705c9120 write_cache_pages +EXPORT_SYMBOL vmlinux 0x705f7fef scsi_remove_host +EXPORT_SYMBOL vmlinux 0x70725cb2 genl_register_ops +EXPORT_SYMBOL vmlinux 0x707a4d52 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x70a3bf79 journal_start_commit +EXPORT_SYMBOL vmlinux 0x70a74c54 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x70b76cb8 fput +EXPORT_SYMBOL vmlinux 0x70bc17d7 inode_wait +EXPORT_SYMBOL vmlinux 0x70d053fd try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x70ef794d netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x70f86c70 pmu_queue_request +EXPORT_SYMBOL vmlinux 0x70fed147 devm_gpio_request +EXPORT_SYMBOL vmlinux 0x71094251 f_setown +EXPORT_SYMBOL vmlinux 0x710942e1 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x711a4f56 sk_release_kernel +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713b2db6 locks_init_lock +EXPORT_SYMBOL vmlinux 0x715a1178 __generic_block_fiemap +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71842164 abx500_remove_ops +EXPORT_SYMBOL vmlinux 0x718d81fd journal_init_dev +EXPORT_SYMBOL vmlinux 0x7194afa9 pid_task +EXPORT_SYMBOL vmlinux 0x71a2ba39 textsearch_unregister +EXPORT_SYMBOL vmlinux 0x71a50dbc register_blkdev +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71d285a8 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x71d9f161 padata_register_cpumask_notifier +EXPORT_SYMBOL vmlinux 0x71db2e1e qdisc_reset +EXPORT_SYMBOL vmlinux 0x71ded839 __scm_destroy +EXPORT_SYMBOL vmlinux 0x71e66d84 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x7204c1ae sys_imageblit +EXPORT_SYMBOL vmlinux 0x7207b204 posix_unblock_lock +EXPORT_SYMBOL vmlinux 0x7234eafb otg_state_string +EXPORT_SYMBOL vmlinux 0x72408e17 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x725d08ce netdev_features_change +EXPORT_SYMBOL vmlinux 0x72643d8b md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x729899fd genl_register_family_with_ops +EXPORT_SYMBOL vmlinux 0x729b4a83 _lv1_get_spe_all_interrupt_statuses +EXPORT_SYMBOL vmlinux 0x729edf04 skb_queue_head +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72c0dde2 read_cache_pages +EXPORT_SYMBOL vmlinux 0x72c2adbb agp_free_memory +EXPORT_SYMBOL vmlinux 0x72c2b4d2 noop_qdisc +EXPORT_SYMBOL vmlinux 0x72c98139 __arch_hweight64 +EXPORT_SYMBOL vmlinux 0x72df7cda md_write_start +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72fe0eec of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731a747a pci_io_base +EXPORT_SYMBOL vmlinux 0x732b7833 irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x732ba90d phy_device_register +EXPORT_SYMBOL vmlinux 0x732e0f40 tcf_hash_insert +EXPORT_SYMBOL vmlinux 0x733b9f73 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x733c3b54 kasprintf +EXPORT_SYMBOL vmlinux 0x7357f3a8 phy_find_first +EXPORT_SYMBOL vmlinux 0x735d8503 add_wait_queue +EXPORT_SYMBOL vmlinux 0x73710a3e dqstats +EXPORT_SYMBOL vmlinux 0x737de5e9 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x7389040f __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x73a49c3d journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x73a65bfd __cleancache_get_page +EXPORT_SYMBOL vmlinux 0x73b992dc idr_remove_all +EXPORT_SYMBOL vmlinux 0x73d25f76 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x7409f1ab __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x74373cb4 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x743aa9b0 bdgrab +EXPORT_SYMBOL vmlinux 0x744f3744 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x7468e874 get_gendisk +EXPORT_SYMBOL vmlinux 0x7469fcfe radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x7485e15e unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x749b922f iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cc1cbe unregister_cpu_notifier +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74fe8730 sys_ctrler +EXPORT_SYMBOL vmlinux 0x751c2917 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x752b0fd2 inet_accept +EXPORT_SYMBOL vmlinux 0x7532588a alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754342ce mdiobus_write +EXPORT_SYMBOL vmlinux 0x755c5e39 init_task +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 0x7578ed6c __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x75994700 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75bdea12 iommu_area_alloc +EXPORT_SYMBOL vmlinux 0x75e4f5aa pasemi_read_mac_reg +EXPORT_SYMBOL vmlinux 0x75e51141 nf_register_hook +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b437a unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7613006b framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x7615af9a misc_register +EXPORT_SYMBOL vmlinux 0x7622ecf9 __nla_reserve +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764bd77c request_resource +EXPORT_SYMBOL vmlinux 0x764e2224 _lv1_disconnect_irq_plug_ext +EXPORT_SYMBOL vmlinux 0x7656e2a0 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x76971f1f scsi_release_buffers +EXPORT_SYMBOL vmlinux 0x76ade00d bio_get_nr_vecs +EXPORT_SYMBOL vmlinux 0x76bf656d __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x76cc9dea ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d6b130 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x76dc3127 __bio_clone +EXPORT_SYMBOL vmlinux 0x7711bb12 cap_mmap_file +EXPORT_SYMBOL vmlinux 0x77144936 _lv1_disconnect_irq_plug +EXPORT_SYMBOL vmlinux 0x7716391c simple_pin_fs +EXPORT_SYMBOL vmlinux 0x771cf835 dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x7720a941 key_put +EXPORT_SYMBOL vmlinux 0x7727858c mmc_suspend_host +EXPORT_SYMBOL vmlinux 0x7731a34d macio_register_driver +EXPORT_SYMBOL vmlinux 0x773a9c94 blk_iopoll_enabled +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77515c95 sock_init_data +EXPORT_SYMBOL vmlinux 0x7763a00d xfrm_cfg_mutex +EXPORT_SYMBOL vmlinux 0x77664506 irq_set_chip +EXPORT_SYMBOL vmlinux 0x779a18af kstrtoll +EXPORT_SYMBOL vmlinux 0x77a51e70 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x77b6044b neigh_create +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77cf2dc7 abx500_get_register_page_interruptible +EXPORT_SYMBOL vmlinux 0x77d65ac8 inode_permission +EXPORT_SYMBOL vmlinux 0x77d78057 ida_simple_remove +EXPORT_SYMBOL vmlinux 0x77df0847 __set_personality +EXPORT_SYMBOL vmlinux 0x77dfc251 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x77ecac9f zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x781321a9 agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x7830b04f hvc_put_chars +EXPORT_SYMBOL vmlinux 0x7836f79e scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x785ccbbf create_proc_entry +EXPORT_SYMBOL vmlinux 0x787f47e8 input_release_device +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788713b7 of_node_get +EXPORT_SYMBOL vmlinux 0x78944fc5 skb_put +EXPORT_SYMBOL vmlinux 0x789a17f7 _lv1_destruct_logical_spe +EXPORT_SYMBOL vmlinux 0x78c59d6a blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x790a3f58 would_dump +EXPORT_SYMBOL vmlinux 0x790df6ca __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x7911a696 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x792bccaf uart_update_timeout +EXPORT_SYMBOL vmlinux 0x793aa91e block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x793b9984 scsi_add_device +EXPORT_SYMBOL vmlinux 0x79452a9d pipe_to_file +EXPORT_SYMBOL vmlinux 0x794a29cc sg_miter_next +EXPORT_SYMBOL vmlinux 0x795bc23c pci_find_bus +EXPORT_SYMBOL vmlinux 0x796fc5ce scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x797c96e1 netdev_change_features +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79851cda pci_vpd_truncate +EXPORT_SYMBOL vmlinux 0x7994d17a i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x79aa04a2 get_random_bytes +EXPORT_SYMBOL vmlinux 0x79b41b73 generic_removexattr +EXPORT_SYMBOL vmlinux 0x79e5f46e sk_alloc +EXPORT_SYMBOL vmlinux 0x79fec6b4 blk_queue_unprep_rq +EXPORT_SYMBOL vmlinux 0x7a27c184 ewma_init +EXPORT_SYMBOL vmlinux 0x7a285a32 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x7a4497db kzfree +EXPORT_SYMBOL vmlinux 0x7a492ccb vfs_rename +EXPORT_SYMBOL vmlinux 0x7a771701 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x7a800d6c elevator_change +EXPORT_SYMBOL vmlinux 0x7aa9e259 _lv1_map_htab +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7aca8980 new_inode +EXPORT_SYMBOL vmlinux 0x7b03848a verify_mem_not_deleted +EXPORT_SYMBOL vmlinux 0x7b1a0059 flock_lock_file_wait +EXPORT_SYMBOL vmlinux 0x7b1a54e3 padata_add_cpu +EXPORT_SYMBOL vmlinux 0x7b1ade0b neigh_for_each +EXPORT_SYMBOL vmlinux 0x7b2aef6c __krealloc +EXPORT_SYMBOL vmlinux 0x7b30841f gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x7b4e9bbc task_tgid_nr_ns +EXPORT_SYMBOL vmlinux 0x7b6a1863 sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x7b718228 ida_destroy +EXPORT_SYMBOL vmlinux 0x7b867015 netdev_notice +EXPORT_SYMBOL vmlinux 0x7bb818f7 d_delete +EXPORT_SYMBOL vmlinux 0x7bbfaf17 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x7bc1d39a tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x7bc3f21a i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x7bde3893 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x7be59c33 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x7bfd9fa3 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x7c003aef _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7c1372e8 panic +EXPORT_SYMBOL vmlinux 0x7c18146f pci_do_scan_bus +EXPORT_SYMBOL vmlinux 0x7c27156c rtas_online_cpus_mask +EXPORT_SYMBOL vmlinux 0x7c2d098f krealloc +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c4688bb locks_mandatory_area +EXPORT_SYMBOL vmlinux 0x7c4a3731 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x7c4a5bf1 security_inode_readlink +EXPORT_SYMBOL vmlinux 0x7c51a82f dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x7c60d66e getname +EXPORT_SYMBOL vmlinux 0x7c61340c __release_region +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 0x7cc22361 pci_get_device +EXPORT_SYMBOL vmlinux 0x7cc902bc dmam_free_noncoherent +EXPORT_SYMBOL vmlinux 0x7cca8328 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x7ccfaf3b update_region +EXPORT_SYMBOL vmlinux 0x7ceecac5 sys_copyarea +EXPORT_SYMBOL vmlinux 0x7cf3a16b put_cmsg +EXPORT_SYMBOL vmlinux 0x7cffed69 alloc_disk +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d11c268 jiffies +EXPORT_SYMBOL vmlinux 0x7d1f39cc filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x7d33b6a5 swiotlb_free_coherent +EXPORT_SYMBOL vmlinux 0x7d3e8a7e tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x7d6f807f ppp_input_error +EXPORT_SYMBOL vmlinux 0x7d81dd48 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x7dc6f5f4 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dcbf039 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e33aaae inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x7e394c4e sysctl_local_reserved_ports +EXPORT_SYMBOL vmlinux 0x7e58df0e neigh_lookup +EXPORT_SYMBOL vmlinux 0x7e87227e slhc_compress +EXPORT_SYMBOL vmlinux 0x7e9fc1ff xfrm_state_add +EXPORT_SYMBOL vmlinux 0x7ec4f7bd kobject_del +EXPORT_SYMBOL vmlinux 0x7ecbd5a9 tty_set_operations +EXPORT_SYMBOL vmlinux 0x7efbde19 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x7f0308f5 __netdev_printk +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f38e2a3 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x7f661966 macio_request_resources +EXPORT_SYMBOL vmlinux 0x7f849600 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x7f9f8841 idr_remove +EXPORT_SYMBOL vmlinux 0x7fa2f917 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x7fa89e2a kthread_stop +EXPORT_SYMBOL vmlinux 0x7fb47361 dm_get_mapinfo +EXPORT_SYMBOL vmlinux 0x7fe38f48 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x7fe9a060 _lv1_net_stop_tx_dma +EXPORT_SYMBOL vmlinux 0x801173ee registered_fb +EXPORT_SYMBOL vmlinux 0x801984e4 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x8026cdad tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x802d0e93 crc32_le +EXPORT_SYMBOL vmlinux 0x8056c220 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x807d3c7b ps2_drain +EXPORT_SYMBOL vmlinux 0x809184ef __dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x809c7b0b cdev_add +EXPORT_SYMBOL vmlinux 0x809dbdf0 __find_get_block +EXPORT_SYMBOL vmlinux 0x80af8cf7 blk_end_request +EXPORT_SYMBOL vmlinux 0x80bfad24 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x8110c49c rt6_lookup +EXPORT_SYMBOL vmlinux 0x814e7730 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x81951eea sock_update_classid +EXPORT_SYMBOL vmlinux 0x81a07f4e _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x81af0831 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81d9f7f2 _lv1_put_iopte +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81df51d3 d_alloc_pseudo +EXPORT_SYMBOL vmlinux 0x82072614 tasklet_kill +EXPORT_SYMBOL vmlinux 0x8219126d neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x821a8d11 cont_write_begin +EXPORT_SYMBOL vmlinux 0x821d59cf wait_iff_congested +EXPORT_SYMBOL vmlinux 0x8238b4ef jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x8251bcc3 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x8260686f bitmap_find_next_zero_area +EXPORT_SYMBOL vmlinux 0x82619689 netif_notify_peers +EXPORT_SYMBOL vmlinux 0x82a64f59 __scsi_put_command +EXPORT_SYMBOL vmlinux 0x82acfb70 blk_iopoll_sched +EXPORT_SYMBOL vmlinux 0x82b2c3f3 input_flush_device +EXPORT_SYMBOL vmlinux 0x82e5a238 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x82e62434 dquot_operations +EXPORT_SYMBOL vmlinux 0x8321e63a nf_afinfo +EXPORT_SYMBOL vmlinux 0x833fa32e tty_throttle +EXPORT_SYMBOL vmlinux 0x834c9f67 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x83824ac8 blk_rq_init +EXPORT_SYMBOL vmlinux 0x8384a2c5 tty_unlock +EXPORT_SYMBOL vmlinux 0x838f70b0 twl_i2c_write_u8 +EXPORT_SYMBOL vmlinux 0x83a16111 account_page_writeback +EXPORT_SYMBOL vmlinux 0x83a476ce bitmap_scnlistprintf +EXPORT_SYMBOL vmlinux 0x83c8a355 param_set_int +EXPORT_SYMBOL vmlinux 0x83cb9590 sk_wait_data +EXPORT_SYMBOL vmlinux 0x83cd19e9 __devm_release_region +EXPORT_SYMBOL vmlinux 0x83ceeeb3 wait_on_page_bit +EXPORT_SYMBOL vmlinux 0x83f40776 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x83fb4549 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x83fd6bac tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x840e4a0e kfree_skb +EXPORT_SYMBOL vmlinux 0x843129bc netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x844916aa mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x845124e0 ps3_mm_phys_to_lpar +EXPORT_SYMBOL vmlinux 0x846bcc01 dm_table_get +EXPORT_SYMBOL vmlinux 0x847f51ca kern_unmount +EXPORT_SYMBOL vmlinux 0x84838382 fib_default_rule_pref +EXPORT_SYMBOL vmlinux 0x8486d6a1 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x848ae5ec __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x849fe807 csum_and_copy_from_user +EXPORT_SYMBOL vmlinux 0x84afa335 inet_twsk_deschedule +EXPORT_SYMBOL vmlinux 0x84bd69bf dq_data_lock +EXPORT_SYMBOL vmlinux 0x84ce2e13 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x84d557c6 dquot_acquire +EXPORT_SYMBOL vmlinux 0x85051677 unlock_rename +EXPORT_SYMBOL vmlinux 0x8510eb45 skb_pad +EXPORT_SYMBOL vmlinux 0x8512aa24 sk_run_filter +EXPORT_SYMBOL vmlinux 0x852dc826 swiotlb_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x855290ee open_exec +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x856fc3b3 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x856feb5b i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x8597eb47 plpar_hcall +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85d564b4 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85fe8f48 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x86132cab dma_async_memcpy_buf_to_buf +EXPORT_SYMBOL vmlinux 0x8614ba09 iov_iter_copy_from_user +EXPORT_SYMBOL vmlinux 0x86206651 of_mm_gpiochip_add +EXPORT_SYMBOL vmlinux 0x8631da1c ppp_dev_name +EXPORT_SYMBOL vmlinux 0x8639425f search_binary_handler +EXPORT_SYMBOL vmlinux 0x864f6525 fb_show_logo +EXPORT_SYMBOL vmlinux 0x865029ac __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x866165a6 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x8664f62e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x866e6182 abx500_get_chip_id +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8692fbfb bitmap_unplug +EXPORT_SYMBOL vmlinux 0x86a6a83f scsi_remove_target +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86f72a63 init_buffer +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x870410ed empty_aops +EXPORT_SYMBOL vmlinux 0x8706a67d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x8709f5bf padata_alloc +EXPORT_SYMBOL vmlinux 0x870bf928 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x8717a222 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x871c0a7e fiemap_check_flags +EXPORT_SYMBOL vmlinux 0x873a53ea __arch_hweight8 +EXPORT_SYMBOL vmlinux 0x875bd617 journal_extend +EXPORT_SYMBOL vmlinux 0x878ab3ce sysctl_tcp_adv_win_scale +EXPORT_SYMBOL vmlinux 0x879bd874 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x879c1319 journal_abort +EXPORT_SYMBOL vmlinux 0x87a84a70 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x87d950d8 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x87eb34d2 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x8805e4e0 paca +EXPORT_SYMBOL vmlinux 0x880da1b1 _lv1_get_logical_partition_id +EXPORT_SYMBOL vmlinux 0x881039d0 zlib_inflate +EXPORT_SYMBOL vmlinux 0x88178595 balance_dirty_pages_ratelimited_nr +EXPORT_SYMBOL vmlinux 0x8829a2a4 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x882a09bd end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x8834396c mod_timer +EXPORT_SYMBOL vmlinux 0x884f1410 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x886cb28a iunique +EXPORT_SYMBOL vmlinux 0x888b594c mdio_bus_type +EXPORT_SYMBOL vmlinux 0x8892a730 security_path_link +EXPORT_SYMBOL vmlinux 0x88a8122f dev_alloc_name +EXPORT_SYMBOL vmlinux 0x88ca5a10 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x88fcfa1e kmem_cache_size +EXPORT_SYMBOL vmlinux 0x89041244 directly_mappable_cdev_bdi +EXPORT_SYMBOL vmlinux 0x8919cdc2 thaw_bdev +EXPORT_SYMBOL vmlinux 0x891fbb10 mempool_destroy +EXPORT_SYMBOL vmlinux 0x89395b9e tty_write_room +EXPORT_SYMBOL vmlinux 0x895108f3 proc_dostring +EXPORT_SYMBOL vmlinux 0x8953c293 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x895577b0 numa_cpu_lookup_table +EXPORT_SYMBOL vmlinux 0x8965b099 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x896875b4 lookup_one_len +EXPORT_SYMBOL vmlinux 0x897473df mktime +EXPORT_SYMBOL vmlinux 0x89797060 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x897f061d downgrade_write +EXPORT_SYMBOL vmlinux 0x8997c613 stop_tty +EXPORT_SYMBOL vmlinux 0x89afe34e __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x89c5a8be smu_get_sdb_partition +EXPORT_SYMBOL vmlinux 0x89d5538d fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x89d66811 build_ehash_secret +EXPORT_SYMBOL vmlinux 0x89da4432 of_iomap +EXPORT_SYMBOL vmlinux 0x89e40611 iget_failed +EXPORT_SYMBOL vmlinux 0x89f35522 macio_release_resource +EXPORT_SYMBOL vmlinux 0x8a110fde simple_transaction_set +EXPORT_SYMBOL vmlinux 0x8a1ab4ee timeval_to_jiffies +EXPORT_SYMBOL vmlinux 0x8a1ad216 scsi_verify_blk_ioctl +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a573e30 of_dev_get +EXPORT_SYMBOL vmlinux 0x8a6af65c kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8a9cef2a _lv1_allocate_device_dma_region +EXPORT_SYMBOL vmlinux 0x8a9e69b3 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x8ac85aa9 dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x8aca3d9f tcp_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x8acba403 proc_mkdir +EXPORT_SYMBOL vmlinux 0x8ace8ca3 groups_alloc +EXPORT_SYMBOL vmlinux 0x8af135ff unlock_buffer +EXPORT_SYMBOL vmlinux 0x8b171590 scsi_free_command +EXPORT_SYMBOL vmlinux 0x8b1a7a66 pcie_aspm_enabled +EXPORT_SYMBOL vmlinux 0x8b1deb40 ipv4_specific +EXPORT_SYMBOL vmlinux 0x8b35e873 sg_last +EXPORT_SYMBOL vmlinux 0x8b4fb633 swiotlb_dma_supported +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7b0f29 simple_statfs +EXPORT_SYMBOL vmlinux 0x8b93a26e mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x8bec1f45 blk_queue_dma_pad +EXPORT_SYMBOL vmlinux 0x8bf2ae1f fsl_lbc_addr +EXPORT_SYMBOL vmlinux 0x8bfe8c57 param_set_uint +EXPORT_SYMBOL vmlinux 0x8c183cbe iowrite16 +EXPORT_SYMBOL vmlinux 0x8c517869 blk_end_request_cur +EXPORT_SYMBOL vmlinux 0x8c6e6e17 blk_register_region +EXPORT_SYMBOL vmlinux 0x8c7a3757 of_get_named_gpio_flags +EXPORT_SYMBOL vmlinux 0x8c851b44 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x8c8d79c0 _lv1_gpu_context_iomap +EXPORT_SYMBOL vmlinux 0x8cbfb687 tty_mutex +EXPORT_SYMBOL vmlinux 0x8cc34767 is_bad_inode +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8ccaa622 ndisc_build_skb +EXPORT_SYMBOL vmlinux 0x8ccce9a2 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x8ce2e4e7 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x8cf0287d bdput +EXPORT_SYMBOL vmlinux 0x8cf3321c bio_unmap_user +EXPORT_SYMBOL vmlinux 0x8cfb2417 __pagevec_lru_add +EXPORT_SYMBOL vmlinux 0x8d3652a3 generic_setlease +EXPORT_SYMBOL vmlinux 0x8d3716c7 seq_read +EXPORT_SYMBOL vmlinux 0x8d551bef sysctl_tcp_rmem +EXPORT_SYMBOL vmlinux 0x8d648bcf update_time +EXPORT_SYMBOL vmlinux 0x8d6906d4 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x8d6a7cfe of_get_next_child +EXPORT_SYMBOL vmlinux 0x8d8c2179 md_flush_request +EXPORT_SYMBOL vmlinux 0x8d944cbb copy_in_user +EXPORT_SYMBOL vmlinux 0x8da78ad3 dev_warn +EXPORT_SYMBOL vmlinux 0x8daa9be7 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x8dc220dc dmam_alloc_coherent +EXPORT_SYMBOL vmlinux 0x8dc267a9 __devcgroup_inode_permission +EXPORT_SYMBOL vmlinux 0x8de0b5ac mempool_create +EXPORT_SYMBOL vmlinux 0x8de2fbc5 _lv1_get_virtual_uart_param +EXPORT_SYMBOL vmlinux 0x8df26e20 compat_mc_setsockopt +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8e0211a6 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x8e129f60 bio_clone +EXPORT_SYMBOL vmlinux 0x8e28cd42 in_egroup_p +EXPORT_SYMBOL vmlinux 0x8e2dcd9b dev_get_flags +EXPORT_SYMBOL vmlinux 0x8e581dd6 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x8e5b1e8e machine_id +EXPORT_SYMBOL vmlinux 0x8e688aec vio_h_cop_sync +EXPORT_SYMBOL vmlinux 0x8e6e3781 pipe_lock +EXPORT_SYMBOL vmlinux 0x8e931502 serio_open +EXPORT_SYMBOL vmlinux 0x8ea1f945 i2c_transfer +EXPORT_SYMBOL vmlinux 0x8ec04552 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x8eea1bc9 smu_poll +EXPORT_SYMBOL vmlinux 0x8efde159 blk_init_queue +EXPORT_SYMBOL vmlinux 0x8f06443d scsi_device_get +EXPORT_SYMBOL vmlinux 0x8f48679a rb_prev +EXPORT_SYMBOL vmlinux 0x8f4dee1a blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x8f63de78 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x8f7014a1 param_set_ulong +EXPORT_SYMBOL vmlinux 0x8f845864 dev_alert +EXPORT_SYMBOL vmlinux 0x8f85f835 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x8f872071 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x8f8aea10 nla_put +EXPORT_SYMBOL vmlinux 0x8f9dce02 scsi_allocate_command +EXPORT_SYMBOL vmlinux 0x8fcc9b0c dget_parent +EXPORT_SYMBOL vmlinux 0x8fd1b9a0 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x8fec33e8 blk_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x8ff6fef4 bio_integrity_set_tag +EXPORT_SYMBOL vmlinux 0x9011def1 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x9014aae3 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x903a9c80 blk_complete_request +EXPORT_SYMBOL vmlinux 0x903d530c sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x9052f3b9 simple_transaction_release +EXPORT_SYMBOL vmlinux 0x905a1c2b blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x905bba18 vm_event_states +EXPORT_SYMBOL vmlinux 0x9076c795 scsi_host_get +EXPORT_SYMBOL vmlinux 0x908dfcd3 __blk_end_request_all +EXPORT_SYMBOL vmlinux 0x90970867 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x909a9c22 kern_path +EXPORT_SYMBOL vmlinux 0x909bee93 grab_cache_page_nowait +EXPORT_SYMBOL vmlinux 0x909f1033 log_wait_commit +EXPORT_SYMBOL vmlinux 0x90a2ab09 netif_device_attach +EXPORT_SYMBOL vmlinux 0x90e146c2 trace_seq_putc +EXPORT_SYMBOL vmlinux 0x90e55d77 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x90e5d0b8 print_hex_dump_bytes +EXPORT_SYMBOL vmlinux 0x911998c9 ip_defrag +EXPORT_SYMBOL vmlinux 0x91201cef _lv1_enable_logical_spe +EXPORT_SYMBOL vmlinux 0x912557ce rtas_busy_delay +EXPORT_SYMBOL vmlinux 0x91394dd4 gen_pool_free +EXPORT_SYMBOL vmlinux 0x91463b1d kstrtos16 +EXPORT_SYMBOL vmlinux 0x91504a2e xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x91601558 key_unlink +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x91715312 sprintf +EXPORT_SYMBOL vmlinux 0x917a170d padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91ac822f vscnprintf +EXPORT_SYMBOL vmlinux 0x91c10b1f proc_symlink +EXPORT_SYMBOL vmlinux 0x91c4feca _lv1_unmap_htab +EXPORT_SYMBOL vmlinux 0x91d2ccd5 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x91f13364 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x9214bb53 notify_change +EXPORT_SYMBOL vmlinux 0x9214d65e of_get_mac_address +EXPORT_SYMBOL vmlinux 0x922e0ee8 pci_request_regions +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923c54cf idr_destroy +EXPORT_SYMBOL vmlinux 0x928dc8b5 rename_lock +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92a9c60c time_to_tm +EXPORT_SYMBOL vmlinux 0x92aa44e5 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x92d3b7a2 mmc_power_restore_host +EXPORT_SYMBOL vmlinux 0x92e446b4 __ps2_command +EXPORT_SYMBOL vmlinux 0x92e82a87 mb_cache_create +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9310c456 padata_stop +EXPORT_SYMBOL vmlinux 0x93220ed9 agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x932f3796 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x93448c57 screen_info +EXPORT_SYMBOL vmlinux 0x93507f1c _lv1_gpu_memory_allocate +EXPORT_SYMBOL vmlinux 0x93697425 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x936a711f ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x93715de0 bdev_stack_limits +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b9f679 of_parse_phandle +EXPORT_SYMBOL vmlinux 0x93bad41c security_file_permission +EXPORT_SYMBOL vmlinux 0x93c10f84 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x93d2a57a mmc_request_done +EXPORT_SYMBOL vmlinux 0x93fca811 __get_free_pages +EXPORT_SYMBOL vmlinux 0x940871ae vfs_write +EXPORT_SYMBOL vmlinux 0x9416bb45 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x94194162 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x943dc80f csum_and_copy_to_user +EXPORT_SYMBOL vmlinux 0x9461a7eb dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x9463a3c9 find_or_create_page +EXPORT_SYMBOL vmlinux 0x9469a094 fb_pan_display +EXPORT_SYMBOL vmlinux 0x947046bf inode_init_always +EXPORT_SYMBOL vmlinux 0x9487fea1 set_anon_super +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94d80a34 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x9518b623 register_shrinker +EXPORT_SYMBOL vmlinux 0x9521c3a2 kmem_cache_alloc_trace +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 0x95649e32 kset_unregister +EXPORT_SYMBOL vmlinux 0x956a942c jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x9578bd9a touch_atime +EXPORT_SYMBOL vmlinux 0x95a3d05c dquot_enable +EXPORT_SYMBOL vmlinux 0x95a4abd9 put_io_context +EXPORT_SYMBOL vmlinux 0x95acdbcc read_cache_page +EXPORT_SYMBOL vmlinux 0x95b23ee8 sk_stream_write_space +EXPORT_SYMBOL vmlinux 0x95c23fca genphy_resume +EXPORT_SYMBOL vmlinux 0x95dd00ca vlan_vid_del +EXPORT_SYMBOL vmlinux 0x95e4b42e fb_get_mode +EXPORT_SYMBOL vmlinux 0x96039874 blk_end_request_all +EXPORT_SYMBOL vmlinux 0x96355354 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x9635715c init_net +EXPORT_SYMBOL vmlinux 0x965bf3ed blk_run_queue +EXPORT_SYMBOL vmlinux 0x965e7189 dev_mc_init +EXPORT_SYMBOL vmlinux 0x965fea2d shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x966067ac pci_enable_msi_block +EXPORT_SYMBOL vmlinux 0x9686d1f8 posix_test_lock +EXPORT_SYMBOL vmlinux 0x96898c9f of_get_property +EXPORT_SYMBOL vmlinux 0x969b3aa4 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x96a7cde0 do_SAK +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96f0dba9 blk_free_tags +EXPORT_SYMBOL vmlinux 0x96f98eee __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x9731cd74 inet6_release +EXPORT_SYMBOL vmlinux 0x9741cdd7 register_qdisc +EXPORT_SYMBOL vmlinux 0x9748927f _outsw_ns +EXPORT_SYMBOL vmlinux 0x9754ec10 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x9755e1dd blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x976ae153 mount_single +EXPORT_SYMBOL vmlinux 0x976e014f _lv1_map_device_mmio_region +EXPORT_SYMBOL vmlinux 0x97736d01 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x97848a87 of_device_is_available +EXPORT_SYMBOL vmlinux 0x97868aef __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x97999817 rfkill_set_hw_state +EXPORT_SYMBOL vmlinux 0x97aba29a iterate_mounts +EXPORT_SYMBOL vmlinux 0x97bacae3 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x97bafa25 inet_listen +EXPORT_SYMBOL vmlinux 0x97c0e575 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x97f03d6f vio_cmo_entitlement_update +EXPORT_SYMBOL vmlinux 0x980c984e security_path_truncate +EXPORT_SYMBOL vmlinux 0x98177648 _lv1_set_lpm_interval +EXPORT_SYMBOL vmlinux 0x98198faa macio_dev_put +EXPORT_SYMBOL vmlinux 0x98215857 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x9825c591 ilookup5 +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x98320de7 dquot_transfer +EXPORT_SYMBOL vmlinux 0x9834d93c kset_register +EXPORT_SYMBOL vmlinux 0x983e09f5 irq_stat +EXPORT_SYMBOL vmlinux 0x985d8c7d jbd2_journal_file_inode +EXPORT_SYMBOL vmlinux 0x986e6135 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x9886547e cpufreq_global_kobject +EXPORT_SYMBOL vmlinux 0x98c42ad8 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x98ca345a scsi_prep_return +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98e7067d of_match_node +EXPORT_SYMBOL vmlinux 0x98fa21b0 mod_timer_pinned +EXPORT_SYMBOL vmlinux 0x98fc2725 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x99195078 vsnprintf +EXPORT_SYMBOL vmlinux 0x991a1013 d_lookup +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99535736 pci_get_slot +EXPORT_SYMBOL vmlinux 0x99591a7a ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x997380f5 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x9994c0ca ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x999a36f1 dma_sync_wait +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a6f901 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x99afe916 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x99b9cdd9 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x99bfbe39 get_unused_fd +EXPORT_SYMBOL vmlinux 0x99c24cfe _lv1_free_device_dma_region +EXPORT_SYMBOL vmlinux 0x99cdc86b sysctl_tcp_reordering +EXPORT_SYMBOL vmlinux 0x99d3a43c dm_table_get_size +EXPORT_SYMBOL vmlinux 0x99ed7c02 set_bdi_congested +EXPORT_SYMBOL vmlinux 0x99eff371 generic_pipe_buf_steal +EXPORT_SYMBOL vmlinux 0x99f85eb4 qdisc_tree_decrease_qlen +EXPORT_SYMBOL vmlinux 0x9a09329c pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x9a1cb350 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a1fc4b4 jiffies_to_timeval +EXPORT_SYMBOL vmlinux 0x9a1ffb92 _lv1_clear_spe_interrupt_status +EXPORT_SYMBOL vmlinux 0x9a34ef73 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x9a3a7803 fbcon_set_bitops +EXPORT_SYMBOL vmlinux 0x9a485b11 tcp_valid_rtt_meas +EXPORT_SYMBOL vmlinux 0x9a4e3967 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x9a5cab34 ip_generic_getfrag +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 0x9a7d188f twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x9a8d5aac sock_no_getsockopt +EXPORT_SYMBOL vmlinux 0x9aa41d9d bio_copy_kern +EXPORT_SYMBOL vmlinux 0x9ac0c647 journal_get_write_access +EXPORT_SYMBOL vmlinux 0x9acdfd72 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x9af89f98 memcpy_fromiovec +EXPORT_SYMBOL vmlinux 0x9b1ef00b inetdev_by_index +EXPORT_SYMBOL vmlinux 0x9b2ad8b2 journal_ack_err +EXPORT_SYMBOL vmlinux 0x9b388444 get_zeroed_page +EXPORT_SYMBOL vmlinux 0x9b43c1f1 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x9b44f35b genphy_update_link +EXPORT_SYMBOL vmlinux 0x9b5f4a54 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x9b8a7135 setup_new_exec +EXPORT_SYMBOL vmlinux 0x9b9f41b3 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x9ba7089d argv_split +EXPORT_SYMBOL vmlinux 0x9bf18594 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x9c03f124 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x9c1bd327 journal_flush +EXPORT_SYMBOL vmlinux 0x9c432721 unmap_underlying_metadata +EXPORT_SYMBOL vmlinux 0x9c4593f1 napi_complete +EXPORT_SYMBOL vmlinux 0x9c491f60 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x9c493e3c serio_reconnect +EXPORT_SYMBOL vmlinux 0x9c5f81da cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x9c7ec39e netdev_alert +EXPORT_SYMBOL vmlinux 0x9ca1e3e4 journal_get_create_access +EXPORT_SYMBOL vmlinux 0x9cb96e92 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x9cd1b080 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x9cd51695 test_set_page_writeback +EXPORT_SYMBOL vmlinux 0x9ce29c08 neigh_compat_output +EXPORT_SYMBOL vmlinux 0x9ce2cd55 file_open_root +EXPORT_SYMBOL vmlinux 0x9cf3cbab ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x9cfd56c5 scsi_print_status +EXPORT_SYMBOL vmlinux 0x9cfef85a __neigh_event_send +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d1b8172 mem_cgroup_count_vm_event +EXPORT_SYMBOL vmlinux 0x9d1c59a3 elv_unregister_queue +EXPORT_SYMBOL vmlinux 0x9d289e49 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x9d2c3b0b md_integrity_register +EXPORT_SYMBOL vmlinux 0x9d3aa376 blk_iopoll_init +EXPORT_SYMBOL vmlinux 0x9d4eea9f inet_add_protocol +EXPORT_SYMBOL vmlinux 0x9d558f0a submit_bio +EXPORT_SYMBOL vmlinux 0x9d786943 tcf_hash_new_index +EXPORT_SYMBOL vmlinux 0x9d7ce8dd _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x9d8861cc inode_only_permission +EXPORT_SYMBOL vmlinux 0x9d887b0a tcf_em_register +EXPORT_SYMBOL vmlinux 0x9d929788 swiotlb_map_sg +EXPORT_SYMBOL vmlinux 0x9d929aef xfrm_register_mode +EXPORT_SYMBOL vmlinux 0x9da88ff5 devm_request_and_ioremap +EXPORT_SYMBOL vmlinux 0x9dcbdd1b cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x9dd5ed8b fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x9de5ec0c elv_add_request +EXPORT_SYMBOL vmlinux 0x9df5d7f9 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e173bd3 dmam_alloc_noncoherent +EXPORT_SYMBOL vmlinux 0x9e2352ea sock_i_uid +EXPORT_SYMBOL vmlinux 0x9e3c4625 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x9e3e9a15 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e55e78c blk_init_queue_node +EXPORT_SYMBOL vmlinux 0x9e607910 audit_log +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e90caa8 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9d006e address_space_init_once +EXPORT_SYMBOL vmlinux 0x9e9f1714 __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x9ea0ad49 __sg_free_table +EXPORT_SYMBOL vmlinux 0x9ea265de skb_checksum +EXPORT_SYMBOL vmlinux 0x9eac38fe clear_nlink +EXPORT_SYMBOL vmlinux 0x9ebd4c04 adjust_resource +EXPORT_SYMBOL vmlinux 0x9ec3f1ba sock_wfree +EXPORT_SYMBOL vmlinux 0x9ed7005c scsi_setup_fs_cmnd +EXPORT_SYMBOL vmlinux 0x9ee78669 _lv1_write_virtual_uart +EXPORT_SYMBOL vmlinux 0x9eeed3c3 send_sig_info +EXPORT_SYMBOL vmlinux 0x9ef378f3 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x9f09c654 simple_lookup +EXPORT_SYMBOL vmlinux 0x9f0bbb89 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x9f198d2d dev_load +EXPORT_SYMBOL vmlinux 0x9f2bdaac __bitmap_or +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4b364a __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x9f615903 of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0x9f6f7104 __bread +EXPORT_SYMBOL vmlinux 0x9f8e6e00 swiotlb_dma_mapping_error +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f989adb alloc_fcdev +EXPORT_SYMBOL vmlinux 0x9fbcaaca inet_frag_kill +EXPORT_SYMBOL vmlinux 0x9fdc8aa5 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0xa01d2d4e sock_no_poll +EXPORT_SYMBOL vmlinux 0xa028d972 journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xa0366aab dqput +EXPORT_SYMBOL vmlinux 0xa03e2bce uart_match_port +EXPORT_SYMBOL vmlinux 0xa04a01bd qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xa0583819 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xa05c03df mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xa05f4b29 __d_drop +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07ed110 xz_dec_init +EXPORT_SYMBOL vmlinux 0xa0993df2 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b674fa add_disk +EXPORT_SYMBOL vmlinux 0xa0c6b581 phy_print_status +EXPORT_SYMBOL vmlinux 0xa0ceef51 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0xa0da7b73 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0ff0ec1 set_create_files_as +EXPORT_SYMBOL vmlinux 0xa0ff74d6 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10919df rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xa11f4d65 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xa120d33c tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xa135ba9e cdev_alloc +EXPORT_SYMBOL vmlinux 0xa1377670 agp_create_memory +EXPORT_SYMBOL vmlinux 0xa1415618 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0xa141e07b fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xa14f3d8c ewma_add +EXPORT_SYMBOL vmlinux 0xa1a4c003 skb_unlink +EXPORT_SYMBOL vmlinux 0xa1b759ce fb_add_videomode +EXPORT_SYMBOL vmlinux 0xa1bae702 skb_gro_reset_offset +EXPORT_SYMBOL vmlinux 0xa1c4b6d2 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xa1c5a3b3 cleancache_enabled +EXPORT_SYMBOL vmlinux 0xa1c76e0a _cond_resched +EXPORT_SYMBOL vmlinux 0xa1c790af jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xa1c99385 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xa1f8fe75 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xa1f96102 ip_mc_rejoin_groups +EXPORT_SYMBOL vmlinux 0xa1f968a4 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xa1fb5adf free_task +EXPORT_SYMBOL vmlinux 0xa2018d84 kill_bdev +EXPORT_SYMBOL vmlinux 0xa202a8e5 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xa20ce1b8 net_msg_warn +EXPORT_SYMBOL vmlinux 0xa20d7f89 files_lglock +EXPORT_SYMBOL vmlinux 0xa20ef7a7 devm_gpio_free +EXPORT_SYMBOL vmlinux 0xa2127cdc pasemi_dma_alloc_flag +EXPORT_SYMBOL vmlinux 0xa22b8477 dqget +EXPORT_SYMBOL vmlinux 0xa2465322 _lv1_get_version_info +EXPORT_SYMBOL vmlinux 0xa250c838 param_get_charp +EXPORT_SYMBOL vmlinux 0xa26a6e98 pci_match_id +EXPORT_SYMBOL vmlinux 0xa2848c50 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0xa297bf6c generic_block_fiemap +EXPORT_SYMBOL vmlinux 0xa2a5fd77 inet_ehash_secret +EXPORT_SYMBOL vmlinux 0xa2a8e7f6 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2bf69bc add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xa2dc5981 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xa2e6b52f blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xa2ec9c40 macio_release_resources +EXPORT_SYMBOL vmlinux 0xa2ef34d7 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xa2f590f9 skb_pull +EXPORT_SYMBOL vmlinux 0xa303d1ff dm_ratelimit_state +EXPORT_SYMBOL vmlinux 0xa3046f39 pci_stop_and_remove_behind_bridge +EXPORT_SYMBOL vmlinux 0xa310bd16 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xa31ed4cf usb_put_transceiver +EXPORT_SYMBOL vmlinux 0xa32c04a7 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xa3324278 mmc_card_sleep +EXPORT_SYMBOL vmlinux 0xa3328863 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0xa332cdd1 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xa3517ef2 __sock_create +EXPORT_SYMBOL vmlinux 0xa35de80f ipv4_config +EXPORT_SYMBOL vmlinux 0xa37006c0 names_cachep +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3abc422 abort_exclusive_wait +EXPORT_SYMBOL vmlinux 0xa3b29153 input_unregister_device +EXPORT_SYMBOL vmlinux 0xa3d78d4e phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xa3da492f sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xa3fc3d50 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xa400159f crc32_be +EXPORT_SYMBOL vmlinux 0xa40b43ce qdisc_destroy +EXPORT_SYMBOL vmlinux 0xa413a218 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xa4295ab9 task_nice +EXPORT_SYMBOL vmlinux 0xa4306de1 get_super +EXPORT_SYMBOL vmlinux 0xa4355fc7 vfs_mknod +EXPORT_SYMBOL vmlinux 0xa436d4ba xfrm_prepare_input +EXPORT_SYMBOL vmlinux 0xa43f5116 of_find_matching_node +EXPORT_SYMBOL vmlinux 0xa4511467 crc16 +EXPORT_SYMBOL vmlinux 0xa468d6cb thermal_zone_device_update +EXPORT_SYMBOL vmlinux 0xa4690228 dcache_readdir +EXPORT_SYMBOL vmlinux 0xa4701e9e timekeeping_inject_offset +EXPORT_SYMBOL vmlinux 0xa4773816 blk_execute_rq +EXPORT_SYMBOL vmlinux 0xa480c04b _lv1_gpu_context_attribute +EXPORT_SYMBOL vmlinux 0xa4a94d26 find_next_bit_le +EXPORT_SYMBOL vmlinux 0xa4ad5dd7 fsnotify_add_mark +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4bdd447 __cputime_clockt_factor +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4e2e769 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xa4e35b75 unregister_netdev +EXPORT_SYMBOL vmlinux 0xa50b24f3 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xa50d22d1 dmam_pool_create +EXPORT_SYMBOL vmlinux 0xa55e3e40 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xa5649415 mnt_unpin +EXPORT_SYMBOL vmlinux 0xa5680c33 bioset_free +EXPORT_SYMBOL vmlinux 0xa577a850 param_get_short +EXPORT_SYMBOL vmlinux 0xa579ff55 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xa57a07e8 devm_free_irq +EXPORT_SYMBOL vmlinux 0xa58da602 of_gpio_named_count +EXPORT_SYMBOL vmlinux 0xa592fd4f unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xa598e29c vesa_modes +EXPORT_SYMBOL vmlinux 0xa5b176da pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xa5b22d5e journal_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xa5cd2174 follow_pfn +EXPORT_SYMBOL vmlinux 0xa5e3c1ba of_dev_put +EXPORT_SYMBOL vmlinux 0xa5ed7a10 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xa5f22adb scsi_cmd_get_serial +EXPORT_SYMBOL vmlinux 0xa63c542b tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xa653ce2d of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xa6575b3c inet_csk_accept +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa6715115 do_settimeofday +EXPORT_SYMBOL vmlinux 0xa675804c utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0xa67e8a33 generic_pipe_buf_unmap +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa683ac39 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xa689ff61 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xa6d31495 pcibus_to_node +EXPORT_SYMBOL vmlinux 0xa6dcc773 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa6e51e6d cdrom_check_events +EXPORT_SYMBOL vmlinux 0xa6e907b6 tcf_hash_create +EXPORT_SYMBOL vmlinux 0xa70d24e7 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xa720678c lg_global_lock +EXPORT_SYMBOL vmlinux 0xa72a0f5b nr_online_nodes +EXPORT_SYMBOL vmlinux 0xa731efc3 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xa74ed456 writeback_in_progress +EXPORT_SYMBOL vmlinux 0xa75cdd6a ps3_dma_region_create +EXPORT_SYMBOL vmlinux 0xa75dddb7 should_remove_suid +EXPORT_SYMBOL vmlinux 0xa7715492 seq_write +EXPORT_SYMBOL vmlinux 0xa77424fa km_report +EXPORT_SYMBOL vmlinux 0xa774d5d1 tcp_sendpage +EXPORT_SYMBOL vmlinux 0xa77955aa dev_add_pack +EXPORT_SYMBOL vmlinux 0xa786472d set_disk_ro +EXPORT_SYMBOL vmlinux 0xa78d9eb7 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xa793fbc1 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xa7aae54e dcb_getapp +EXPORT_SYMBOL vmlinux 0xa7eb9490 i2c_bit_algo +EXPORT_SYMBOL vmlinux 0xa816c525 schedule_work_on +EXPORT_SYMBOL vmlinux 0xa8223905 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0xa8232c78 strtobool +EXPORT_SYMBOL vmlinux 0xa827075c pci_disable_obff +EXPORT_SYMBOL vmlinux 0xa85fa42a mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xa8721b97 system_state +EXPORT_SYMBOL vmlinux 0xa877f5e6 kernel_sock_ioctl +EXPORT_SYMBOL vmlinux 0xa8a6f639 __check_region +EXPORT_SYMBOL vmlinux 0xa8ced546 _lv1_net_set_interrupt_status_indicator +EXPORT_SYMBOL vmlinux 0xa8fef7bb security_unix_may_send +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91c77b6 _lv1_end_of_interrupt +EXPORT_SYMBOL vmlinux 0xa921c0fe tcf_hash_release +EXPORT_SYMBOL vmlinux 0xa93ba88e proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xa95ab0f9 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xa962ff3e pcim_iounmap +EXPORT_SYMBOL vmlinux 0xa969d7b2 find_get_pages_tag +EXPORT_SYMBOL vmlinux 0xa981fa2d iov_iter_fault_in_readable +EXPORT_SYMBOL vmlinux 0xa99a4a64 thermal_zone_device_unregister +EXPORT_SYMBOL vmlinux 0xa9aa7deb atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xa9c2d93e dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xa9d8c73a clear_bdi_congested +EXPORT_SYMBOL vmlinux 0xa9e18536 dquot_quota_off +EXPORT_SYMBOL vmlinux 0xa9f4d59c keyring_search +EXPORT_SYMBOL vmlinux 0xaa0edca8 pasemi_dma_alloc_fun +EXPORT_SYMBOL vmlinux 0xaa14dc83 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xaa1caef3 serio_close +EXPORT_SYMBOL vmlinux 0xaa2adf82 elv_register_queue +EXPORT_SYMBOL vmlinux 0xaa3f94ee __module_get +EXPORT_SYMBOL vmlinux 0xaa46e87e lg_local_unlock +EXPORT_SYMBOL vmlinux 0xaa6d62a1 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xaa6e4df5 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaa7960a3 thermal_cooling_device_unregister +EXPORT_SYMBOL vmlinux 0xaa984829 __free_pages +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab134900 iget5_locked +EXPORT_SYMBOL vmlinux 0xab1d6cc1 param_get_long +EXPORT_SYMBOL vmlinux 0xab1d8a81 blkdev_fsync +EXPORT_SYMBOL vmlinux 0xab3d840c key_link +EXPORT_SYMBOL vmlinux 0xab66f611 _lv1_set_lpm_trigger_control +EXPORT_SYMBOL vmlinux 0xab6bde28 sysctl_max_syn_backlog +EXPORT_SYMBOL vmlinux 0xab8ab881 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xab9f1f3b __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xabc92029 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xabcaa577 free_anon_bdev +EXPORT_SYMBOL vmlinux 0xabcb0c98 abx500_register_ops +EXPORT_SYMBOL vmlinux 0xabd0c91c rtc_time_to_tm +EXPORT_SYMBOL vmlinux 0xabe23043 inet_frags_fini +EXPORT_SYMBOL vmlinux 0xabe85130 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xac0ba8c1 blk_iopoll_disable +EXPORT_SYMBOL vmlinux 0xac1b3efe __cleancache_init_shared_fs +EXPORT_SYMBOL vmlinux 0xac26b820 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xac31769c dst_alloc +EXPORT_SYMBOL vmlinux 0xac386482 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xac490a5e fbcon_set_tileops +EXPORT_SYMBOL vmlinux 0xac537cc5 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xac5c1675 blk_queue_softirq_done +EXPORT_SYMBOL vmlinux 0xac6855b0 gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xac717d6b dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xac839db2 cdev_init +EXPORT_SYMBOL vmlinux 0xac8674f1 sock_i_ino +EXPORT_SYMBOL vmlinux 0xac8eca63 scsi_prep_state_check +EXPORT_SYMBOL vmlinux 0xaccabc6a in4_pton +EXPORT_SYMBOL vmlinux 0xacd14ab8 _lv1_construct_logical_spe +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xad01744f kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xad019578 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0a6e0a flex_array_prealloc +EXPORT_SYMBOL vmlinux 0xad0d2147 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xad164875 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xad2ad8a3 skb_push +EXPORT_SYMBOL vmlinux 0xad466018 quota_send_warning +EXPORT_SYMBOL vmlinux 0xad50cebb i8253_lock +EXPORT_SYMBOL vmlinux 0xad638e88 ip_nat_decode_session +EXPORT_SYMBOL vmlinux 0xad84bef8 dm_table_event +EXPORT_SYMBOL vmlinux 0xad8b1ebb input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xad967a87 aio_complete +EXPORT_SYMBOL vmlinux 0xada068ab __blk_run_queue +EXPORT_SYMBOL vmlinux 0xadaa2657 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0xadaa9214 seq_release +EXPORT_SYMBOL vmlinux 0xadab66c4 tcp_init_sock +EXPORT_SYMBOL vmlinux 0xadb5559d param_ops_byte +EXPORT_SYMBOL vmlinux 0xadc06975 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xade20317 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xade7cc6c kill_pid +EXPORT_SYMBOL vmlinux 0xadeffe25 _lv1_gpu_context_intr +EXPORT_SYMBOL vmlinux 0xae1c2237 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xae257d5c bio_flush_dcache_pages +EXPORT_SYMBOL vmlinux 0xae25871b gen_pool_add_virt +EXPORT_SYMBOL vmlinux 0xae2df163 ps2_init +EXPORT_SYMBOL vmlinux 0xae4df811 default_file_splice_read +EXPORT_SYMBOL vmlinux 0xae509090 journal_restart +EXPORT_SYMBOL vmlinux 0xae545f06 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xae567b7f delete_from_page_cache +EXPORT_SYMBOL vmlinux 0xae729e59 security_req_classify_flow +EXPORT_SYMBOL vmlinux 0xae82467c freeze_super +EXPORT_SYMBOL vmlinux 0xae880225 __napi_schedule +EXPORT_SYMBOL vmlinux 0xae994cf9 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xaeb1bf3c del_gendisk +EXPORT_SYMBOL vmlinux 0xaec1ec54 scsi_calculate_bounce_limit +EXPORT_SYMBOL vmlinux 0xaec539a2 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xaef127a0 migrate_page +EXPORT_SYMBOL vmlinux 0xaeff411d journal_create +EXPORT_SYMBOL vmlinux 0xaf063510 _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xaf2d872c prepare_to_wait +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf43de19 deactivate_super +EXPORT_SYMBOL vmlinux 0xaf4dfc16 log_start_commit +EXPORT_SYMBOL vmlinux 0xaf4f9c94 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xaf5f113b bio_copy_user +EXPORT_SYMBOL vmlinux 0xaf64ad0d zlib_deflate +EXPORT_SYMBOL vmlinux 0xaf6ae696 kstrndup +EXPORT_SYMBOL vmlinux 0xaf8b4e1c unlink_framebuffer +EXPORT_SYMBOL vmlinux 0xaf91d89f __kernel_param_lock +EXPORT_SYMBOL vmlinux 0xafa0295e netdev_bonding_change +EXPORT_SYMBOL vmlinux 0xafca5fa1 swiotlb_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xafd68c33 flex_array_free +EXPORT_SYMBOL vmlinux 0xafdabcf1 __invalidate_device +EXPORT_SYMBOL vmlinux 0xafef8fa9 register_memory_notifier +EXPORT_SYMBOL vmlinux 0xafff3d1d mempool_alloc +EXPORT_SYMBOL vmlinux 0xb02e714c blk_start_queue +EXPORT_SYMBOL vmlinux 0xb047e1c4 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb0642cf4 dput +EXPORT_SYMBOL vmlinux 0xb0751e92 kmem_cache_create +EXPORT_SYMBOL vmlinux 0xb07c9569 textsearch_destroy +EXPORT_SYMBOL vmlinux 0xb0a5f731 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xb0b847ac __bitmap_full +EXPORT_SYMBOL vmlinux 0xb0be27eb ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb106ba09 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xb11dbc38 misc_deregister +EXPORT_SYMBOL vmlinux 0xb147a855 dql_reset +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb1645a2e sg_free_table +EXPORT_SYMBOL vmlinux 0xb165ef45 __irq_regs +EXPORT_SYMBOL vmlinux 0xb18a2c7d mmc_can_trim +EXPORT_SYMBOL vmlinux 0xb19760c3 bitmap_onto +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c6e787 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xb1cb6e9b bdi_register_dev +EXPORT_SYMBOL vmlinux 0xb1cf44df fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xb2097571 mddev_congested +EXPORT_SYMBOL vmlinux 0xb22285f9 kill_fasync +EXPORT_SYMBOL vmlinux 0xb228efab simple_link +EXPORT_SYMBOL vmlinux 0xb2379d48 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0xb2682405 utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0xb2707c0c noop_llseek +EXPORT_SYMBOL vmlinux 0xb282b08b igrab +EXPORT_SYMBOL vmlinux 0xb28561e9 sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xb2be6e92 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xb2ca79fe bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xb2cbb68e giveup_fpu +EXPORT_SYMBOL vmlinux 0xb2d307de param_ops_short +EXPORT_SYMBOL vmlinux 0xb2e5a4a9 skb_copy_and_csum_datagram_iovec +EXPORT_SYMBOL vmlinux 0xb2e7e5ae dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xb3305d52 send_remote_softirq +EXPORT_SYMBOL vmlinux 0xb33d45fa write_inode_now +EXPORT_SYMBOL vmlinux 0xb3445140 put_disk +EXPORT_SYMBOL vmlinux 0xb38c9bfb tty_port_put +EXPORT_SYMBOL vmlinux 0xb38df5ad pci_release_regions +EXPORT_SYMBOL vmlinux 0xb38fa298 end_page_writeback +EXPORT_SYMBOL vmlinux 0xb39810a6 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xb3b572f1 bio_phys_segments +EXPORT_SYMBOL vmlinux 0xb3bf73df cpu_active_mask +EXPORT_SYMBOL vmlinux 0xb3c05e9d kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xb3c3f4cc skb_copy_datagram_iovec +EXPORT_SYMBOL vmlinux 0xb3cf1934 security_path_chmod +EXPORT_SYMBOL vmlinux 0xb3dfb173 genl_unregister_mc_group +EXPORT_SYMBOL vmlinux 0xb3e9099c fb_set_cmap +EXPORT_SYMBOL vmlinux 0xb40d4b67 release_firmware +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb44d8bff nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xb45b9eaf skb_append +EXPORT_SYMBOL vmlinux 0xb46ded65 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xb4709322 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0xb479023e xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xb47dcd10 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xb4906fce kill_anon_super +EXPORT_SYMBOL vmlinux 0xb4e3e73f dev_disable_lro +EXPORT_SYMBOL vmlinux 0xb509b6cb mb_cache_entry_release +EXPORT_SYMBOL vmlinux 0xb530350d vc_resize +EXPORT_SYMBOL vmlinux 0xb54533f7 usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xb545f3fa register_filesystem +EXPORT_SYMBOL vmlinux 0xb5625448 dm_register_target +EXPORT_SYMBOL vmlinux 0xb56bfd9e smu_spinwait_cmd +EXPORT_SYMBOL vmlinux 0xb56c7aae security_path_unlink +EXPORT_SYMBOL vmlinux 0xb5733c05 __nla_put +EXPORT_SYMBOL vmlinux 0xb57343c2 frontswap_shrink +EXPORT_SYMBOL vmlinux 0xb57905b2 dquot_alloc +EXPORT_SYMBOL vmlinux 0xb599990f bio_integrity_endio +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5da6d99 vm_mmap +EXPORT_SYMBOL vmlinux 0xb5df3cc5 sget +EXPORT_SYMBOL vmlinux 0xb5ed991e skb_append_datato_frags +EXPORT_SYMBOL vmlinux 0xb602e584 pskb_expand_head +EXPORT_SYMBOL vmlinux 0xb6046792 tty_shutdown +EXPORT_SYMBOL vmlinux 0xb6244511 sg_init_one +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 0xb68a832b netif_carrier_off +EXPORT_SYMBOL vmlinux 0xb68bfa9d node_states +EXPORT_SYMBOL vmlinux 0xb69b088d nf_hook_slow +EXPORT_SYMBOL vmlinux 0xb6a61a86 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xb6a68816 find_last_bit +EXPORT_SYMBOL vmlinux 0xb6c5a973 scsi_show_result +EXPORT_SYMBOL vmlinux 0xb6ceb504 __quota_error +EXPORT_SYMBOL vmlinux 0xb6d58e95 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xb6e2e1b4 eth_change_mtu +EXPORT_SYMBOL vmlinux 0xb6ea4ce4 elevator_init +EXPORT_SYMBOL vmlinux 0xb710e8fc vm_map_ram +EXPORT_SYMBOL vmlinux 0xb711f906 of_platform_device_create +EXPORT_SYMBOL vmlinux 0xb7138b40 con_is_bound +EXPORT_SYMBOL vmlinux 0xb73ee8dd tcf_hash_search +EXPORT_SYMBOL vmlinux 0xb7920226 set_page_dirty +EXPORT_SYMBOL vmlinux 0xb7937364 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xb7b4ba13 vga_put +EXPORT_SYMBOL vmlinux 0xb7fdb34e nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xb810ef26 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xb821b225 filemap_fdatawait +EXPORT_SYMBOL vmlinux 0xb835b3e4 radix_tree_prev_hole +EXPORT_SYMBOL vmlinux 0xb86123be _lv1_write_repository_node +EXPORT_SYMBOL vmlinux 0xb86e4ab9 random32 +EXPORT_SYMBOL vmlinux 0xb87fd735 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xb89af9bf srandom32 +EXPORT_SYMBOL vmlinux 0xb8a2b4ae copy_strings_kernel +EXPORT_SYMBOL vmlinux 0xb8a30c7e _lv1_add_lpm_event_bookmark +EXPORT_SYMBOL vmlinux 0xb8b08efe __pskb_copy +EXPORT_SYMBOL vmlinux 0xb8e37967 phy_ethtool_sset +EXPORT_SYMBOL vmlinux 0xb8e493a1 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xb90b4897 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xb91043d7 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xb926a1e4 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xb9314053 register_cdrom +EXPORT_SYMBOL vmlinux 0xb93afe14 keyring_clear +EXPORT_SYMBOL vmlinux 0xb95be0e0 vmtruncate +EXPORT_SYMBOL vmlinux 0xb96040fd xfrm6_prepare_output +EXPORT_SYMBOL vmlinux 0xb98a0185 rtc_tm_to_time +EXPORT_SYMBOL vmlinux 0xb9b4e181 alloc_pages_exact_nid +EXPORT_SYMBOL vmlinux 0xb9b80c78 register_nls +EXPORT_SYMBOL vmlinux 0xb9d1c78f netlink_ack +EXPORT_SYMBOL vmlinux 0xba122a2c smu_done_complete +EXPORT_SYMBOL vmlinux 0xba48eaf4 pci_enable_msix +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba551f36 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0xba7e36f8 get_unmapped_area +EXPORT_SYMBOL vmlinux 0xba894219 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xba9ac500 netif_napi_add +EXPORT_SYMBOL vmlinux 0xbaf45fd7 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xbb0019e7 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0xbb189cad disallow_signal +EXPORT_SYMBOL vmlinux 0xbb3183a0 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xbb34134a iov_shorten +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb5152d2 vsc824x_add_skew +EXPORT_SYMBOL vmlinux 0xbb5b04ea pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xbb5d343d xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xbb5f366c simple_setattr +EXPORT_SYMBOL vmlinux 0xbb99125c get_default_font +EXPORT_SYMBOL vmlinux 0xbb9dc459 pci_map_rom +EXPORT_SYMBOL vmlinux 0xbbaeb559 memcg_socket_limit_enabled +EXPORT_SYMBOL vmlinux 0xbbba5145 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xbbec290b blk_alloc_queue +EXPORT_SYMBOL vmlinux 0xbbff076c filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xbc1e744d mmc_card_awake +EXPORT_SYMBOL vmlinux 0xbc246b89 blk_peek_request +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc3f6afa down_read +EXPORT_SYMBOL vmlinux 0xbc7440d2 jbd2_journal_invalidatepage +EXPORT_SYMBOL vmlinux 0xbcb76cec i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xbcbf5a17 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xbcc308bb strnlen_user +EXPORT_SYMBOL vmlinux 0xbcc6b4d4 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xbccdc2f6 flex_array_put +EXPORT_SYMBOL vmlinux 0xbcd6742b find_get_pages_contig +EXPORT_SYMBOL vmlinux 0xbce8ff71 netif_skb_features +EXPORT_SYMBOL vmlinux 0xbd227f96 register_key_type +EXPORT_SYMBOL vmlinux 0xbd30feac pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd4b011f blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xbd5b9563 pci_save_state +EXPORT_SYMBOL vmlinux 0xbd7f8c9b idr_get_next +EXPORT_SYMBOL vmlinux 0xbd803510 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0xbd8a931b pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xbd8cfa15 pasemi_write_mac_reg +EXPORT_SYMBOL vmlinux 0xbd995e02 tty_register_device +EXPORT_SYMBOL vmlinux 0xbda961ed md_done_sync +EXPORT_SYMBOL vmlinux 0xbdbe7378 cookie_check_timestamp +EXPORT_SYMBOL vmlinux 0xbddf138d ata_port_printk +EXPORT_SYMBOL vmlinux 0xbde5ace8 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xbdf5c25c rb_next +EXPORT_SYMBOL vmlinux 0xbe03ceb2 current_fs_time +EXPORT_SYMBOL vmlinux 0xbe21433a napi_frags_finish +EXPORT_SYMBOL vmlinux 0xbe254e92 param_set_ushort +EXPORT_SYMBOL vmlinux 0xbe2c0274 add_timer +EXPORT_SYMBOL vmlinux 0xbe2d9701 tty_check_change +EXPORT_SYMBOL vmlinux 0xbe39da2e bio_free +EXPORT_SYMBOL vmlinux 0xbe40613f agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0xbe475181 i2c_register_driver +EXPORT_SYMBOL vmlinux 0xbe48efc1 splice_from_pipe_next +EXPORT_SYMBOL vmlinux 0xbe75881a __break_lease +EXPORT_SYMBOL vmlinux 0xbe77aebe down_write_trylock +EXPORT_SYMBOL vmlinux 0xbe814159 ida_remove +EXPORT_SYMBOL vmlinux 0xbe99d520 pci_disable_ltr +EXPORT_SYMBOL vmlinux 0xbe9fe9e1 compat_sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xbea675e5 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xbec9d3d8 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xbecc8e30 d_alloc_name +EXPORT_SYMBOL vmlinux 0xbedf8613 mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef77329 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xbf335b20 netlink_broadcast_filtered +EXPORT_SYMBOL vmlinux 0xbf7fd2f5 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0xbf8ba54a vprintk +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfabfe59 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xbfb8b0b7 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc407b4 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbfc6783a mdiobus_free +EXPORT_SYMBOL vmlinux 0xbfcd3a6f pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xbfdc7ec0 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xbfdff814 of_get_address +EXPORT_SYMBOL vmlinux 0xbfe988e6 elv_rq_merge_ok +EXPORT_SYMBOL vmlinux 0xbfecbafe nobh_write_end +EXPORT_SYMBOL vmlinux 0xbfee3ad5 loop_unregister_transfer +EXPORT_SYMBOL vmlinux 0xbff8182c plpar_hcall_norets +EXPORT_SYMBOL vmlinux 0xbfff4c21 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xc002a683 netdev_info +EXPORT_SYMBOL vmlinux 0xc00b052e dquot_quotactl_ops +EXPORT_SYMBOL vmlinux 0xc0527381 posix_lock_file_wait +EXPORT_SYMBOL vmlinux 0xc0565ffa scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xc0574d96 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xc0580937 rb_erase +EXPORT_SYMBOL vmlinux 0xc05a15ec of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0xc05ab0a2 request_key +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc0823e4c twl_i2c_write +EXPORT_SYMBOL vmlinux 0xc08d77bd pci_find_capability +EXPORT_SYMBOL vmlinux 0xc093bc92 genl_unregister_ops +EXPORT_SYMBOL vmlinux 0xc097c2af i8042_install_filter +EXPORT_SYMBOL vmlinux 0xc0a3d105 find_next_bit +EXPORT_SYMBOL vmlinux 0xc0aa2a27 ipv6_push_nfrag_opts +EXPORT_SYMBOL vmlinux 0xc0aa8d26 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xc0d22cf3 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xc0f18b83 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xc0fef14c devm_ioremap +EXPORT_SYMBOL vmlinux 0xc1098434 get_phy_device +EXPORT_SYMBOL vmlinux 0xc13511d7 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xc13972b1 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xc1492714 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xc1569887 blk_integrity_is_initialized +EXPORT_SYMBOL vmlinux 0xc157b8ff __rta_fill +EXPORT_SYMBOL vmlinux 0xc15b08b2 led_brightness_set +EXPORT_SYMBOL vmlinux 0xc16ba3eb ifla_policy +EXPORT_SYMBOL vmlinux 0xc178392e swiotlb_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xc1a7bcd2 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xc1b1097e pci_scan_slot +EXPORT_SYMBOL vmlinux 0xc1c2dd09 __hw_addr_flush +EXPORT_SYMBOL vmlinux 0xc1c7aed7 pci_domain_nr +EXPORT_SYMBOL vmlinux 0xc1d7d179 blk_stack_limits +EXPORT_SYMBOL vmlinux 0xc1fbcc40 set_user_nice +EXPORT_SYMBOL vmlinux 0xc21073db i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xc2199edf generic_getxattr +EXPORT_SYMBOL vmlinux 0xc22b50ad param_set_bint +EXPORT_SYMBOL vmlinux 0xc2361570 blk_stop_queue +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc2494431 skb_dequeue +EXPORT_SYMBOL vmlinux 0xc256e762 __bitmap_equal +EXPORT_SYMBOL vmlinux 0xc27132eb eth_header_cache +EXPORT_SYMBOL vmlinux 0xc277e3fc vfs_readv +EXPORT_SYMBOL vmlinux 0xc2851779 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xc2912f5a pci_scan_bus_parented +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a6495b sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xc2c73660 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xc2dacad6 d_alloc +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2efebde do_splice_to +EXPORT_SYMBOL vmlinux 0xc2f9c045 timespec_to_jiffies +EXPORT_SYMBOL vmlinux 0xc2fb9ee1 _lv1_shutdown_logical_partition +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31337f9 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xc314c3d2 __cputime_jiffies_factor +EXPORT_SYMBOL vmlinux 0xc31e2337 udp_sendmsg +EXPORT_SYMBOL vmlinux 0xc330cd1b inet_sendmsg +EXPORT_SYMBOL vmlinux 0xc34ff0bb clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xc36d52ee seq_path +EXPORT_SYMBOL vmlinux 0xc3863710 dst_discard +EXPORT_SYMBOL vmlinux 0xc39c3704 hvcs_free_partner_info +EXPORT_SYMBOL vmlinux 0xc3a1ba7c pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xc3a6c661 bdi_setup_and_register +EXPORT_SYMBOL vmlinux 0xc3cf1364 force_sig +EXPORT_SYMBOL vmlinux 0xc3dc5aa4 vio_cmo_set_dev_desired +EXPORT_SYMBOL vmlinux 0xc3dfb486 register_sysctl +EXPORT_SYMBOL vmlinux 0xc3e641e7 sock_wake_async +EXPORT_SYMBOL vmlinux 0xc3ee3978 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xc41cc287 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xc41f1696 _lv1_configure_virtual_uart_irq +EXPORT_SYMBOL vmlinux 0xc41ff6f7 mpage_readpage +EXPORT_SYMBOL vmlinux 0xc4417ad6 i8042_check_port_owner +EXPORT_SYMBOL vmlinux 0xc4544ffa mmc_remove_host +EXPORT_SYMBOL vmlinux 0xc45755de find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0xc457a25e __mutex_init +EXPORT_SYMBOL vmlinux 0xc46f77e5 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xc47cdf9c _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xc499ae1e kstrdup +EXPORT_SYMBOL vmlinux 0xc4a4d12d inet_frags_init +EXPORT_SYMBOL vmlinux 0xc4fe22e4 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xc4ff0f30 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xc5065784 simple_readpage +EXPORT_SYMBOL vmlinux 0xc5089620 _lv1_stop_ppe_periodic_tracer +EXPORT_SYMBOL vmlinux 0xc50bab05 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xc5181681 request_key_async_with_auxdata +EXPORT_SYMBOL vmlinux 0xc51f0880 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xc5246ecc udp_poll +EXPORT_SYMBOL vmlinux 0xc52a54c3 netpoll_send_skb_on_dev +EXPORT_SYMBOL vmlinux 0xc531fbf4 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xc5534d64 ioread16 +EXPORT_SYMBOL vmlinux 0xc55c2a9d inode_sb_list_lock +EXPORT_SYMBOL vmlinux 0xc55de23c percpu_counter_set +EXPORT_SYMBOL vmlinux 0xc56b6437 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xc57b84ee register_console +EXPORT_SYMBOL vmlinux 0xc58fdb86 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xc5aa2ab2 blk_get_queue +EXPORT_SYMBOL vmlinux 0xc5c73809 napi_get_frags +EXPORT_SYMBOL vmlinux 0xc5cd3bae skb_dst_set_noref +EXPORT_SYMBOL vmlinux 0xc5d23b50 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5f46566 rb_augment_insert +EXPORT_SYMBOL vmlinux 0xc6008c5f nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xc6044a3e jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xc60ac90c alloc_fddidev +EXPORT_SYMBOL vmlinux 0xc61dbb63 generic_fillattr +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc649f741 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xc65abeb7 agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0xc663b075 __ioremap +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc669d23d find_inode_number +EXPORT_SYMBOL vmlinux 0xc6a19cfc devm_ioremap_nocache +EXPORT_SYMBOL vmlinux 0xc6a8e59d nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xc6b22c71 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6eb15fd fd_install +EXPORT_SYMBOL vmlinux 0xc6fc4257 blk_queue_end_tag +EXPORT_SYMBOL vmlinux 0xc702156b param_get_ushort +EXPORT_SYMBOL vmlinux 0xc71d5703 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xc764d015 init_special_inode +EXPORT_SYMBOL vmlinux 0xc77f82c8 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc79a09d4 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xc79bcd36 dm_vcalloc +EXPORT_SYMBOL vmlinux 0xc79c3188 call_usermodehelper_fns +EXPORT_SYMBOL vmlinux 0xc79e7164 thermal_zone_device_register +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7bbe72c xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xc7cf8bd4 pci_scan_bus +EXPORT_SYMBOL vmlinux 0xc7d82e20 journal_update_format +EXPORT_SYMBOL vmlinux 0xc7dec95a ll_rw_block +EXPORT_SYMBOL vmlinux 0xc7fd25be journal_load +EXPORT_SYMBOL vmlinux 0xc8061bc4 ps3_sb_event_receive_port_destroy +EXPORT_SYMBOL vmlinux 0xc81b3b46 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xc81bd9ab mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xc82a3235 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xc835ee45 clear_user_page +EXPORT_SYMBOL vmlinux 0xc84080d8 uart_register_driver +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85c85a0 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xc85dfdef compat_sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xc871cb39 inode_init_owner +EXPORT_SYMBOL vmlinux 0xc87823bf twl_i2c_read_u8 +EXPORT_SYMBOL vmlinux 0xc87deb54 security_path_rmdir +EXPORT_SYMBOL vmlinux 0xc897c382 sg_init_table +EXPORT_SYMBOL vmlinux 0xc8a1593b alloc_pci_dev +EXPORT_SYMBOL vmlinux 0xc8a4bacf idr_replace +EXPORT_SYMBOL vmlinux 0xc8aa7ed4 __pci_remove_bus_device +EXPORT_SYMBOL vmlinux 0xc8ad1bb8 request_key_async +EXPORT_SYMBOL vmlinux 0xc8b12f95 __register_binfmt +EXPORT_SYMBOL vmlinux 0xc8b57c27 autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xc8b6d4d5 netdev_boot_setup_check +EXPORT_SYMBOL vmlinux 0xc8dc8dfc i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xc8e31d75 _lv1_configure_irq_state_bitmap +EXPORT_SYMBOL vmlinux 0xc8e55079 blk_queue_find_tag +EXPORT_SYMBOL vmlinux 0xc91f2278 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xc91ff664 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc928b537 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xc94c380c __cleancache_invalidate_fs +EXPORT_SYMBOL vmlinux 0xc96c6e4e __vio_register_driver +EXPORT_SYMBOL vmlinux 0xc978479a xz_dec_run +EXPORT_SYMBOL vmlinux 0xc97b9432 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xc98f3f5b pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xc996d097 del_timer +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a7678a proto_unregister +EXPORT_SYMBOL vmlinux 0xc9d92457 lookup_hash +EXPORT_SYMBOL vmlinux 0xc9ec83c7 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc9f111be dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xc9fc598d pasemi_read_dma_reg +EXPORT_SYMBOL vmlinux 0xca049217 __dev_printk +EXPORT_SYMBOL vmlinux 0xca194e35 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xca34f5d5 __block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xca4a8f52 find_lock_page +EXPORT_SYMBOL vmlinux 0xca5d584b tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xca5dbc50 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xca7f4490 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xca825895 pmu_suspend +EXPORT_SYMBOL vmlinux 0xca868d01 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xca945d8c ip_route_input_common +EXPORT_SYMBOL vmlinux 0xcaa5fa94 mach_maple +EXPORT_SYMBOL vmlinux 0xcaabf3f9 pasemi_write_iob_reg +EXPORT_SYMBOL vmlinux 0xcad8308e __lock_page +EXPORT_SYMBOL vmlinux 0xcadfd239 netdev_warn +EXPORT_SYMBOL vmlinux 0xcb3e19a5 bio_uncopy_user +EXPORT_SYMBOL vmlinux 0xcb603bfe bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xcb610140 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xcb7131fb fb_get_options +EXPORT_SYMBOL vmlinux 0xcb8d7291 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xcb99edb0 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0xcbb52d6f pci_dev_get +EXPORT_SYMBOL vmlinux 0xcbbe606a mmc_start_req +EXPORT_SYMBOL vmlinux 0xcbc24316 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xcbc9557f unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0xcbda0c26 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xcbe8b038 _lv1_configure_execution_time_variable +EXPORT_SYMBOL vmlinux 0xcbf57acd of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xcc17504d _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xcc1acc2c may_umount_tree +EXPORT_SYMBOL vmlinux 0xcc36f32e fb_unregister_client +EXPORT_SYMBOL vmlinux 0xcc4c57be simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xcc4f8c18 swiotlb_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5bafee iov_iter_copy_from_user_atomic +EXPORT_SYMBOL vmlinux 0xcc6c8c91 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xcc79bb5a xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xcc7fa952 local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0xcc807dc7 __cleancache_invalidate_inode +EXPORT_SYMBOL vmlinux 0xcc89c246 pasemi_dma_alloc_chan +EXPORT_SYMBOL vmlinux 0xcc8bc851 tcp_close +EXPORT_SYMBOL vmlinux 0xcd002ce2 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xcd0529c7 _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0xcd20667a kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0xcd257e5d bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd4ba59d netdev_printk +EXPORT_SYMBOL vmlinux 0xcd64f3f9 agp_backend_release +EXPORT_SYMBOL vmlinux 0xcd769f62 _lv1_gpu_device_map +EXPORT_SYMBOL vmlinux 0xcd86c87f __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xcdc31bd6 bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xcdc61c1d pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xcde172ac radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0xcde3ee30 lro_flush_all +EXPORT_SYMBOL vmlinux 0xcdea3e02 pmac_resume_agp_for_card +EXPORT_SYMBOL vmlinux 0xcdf8ab49 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xce19bac5 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0xce2394fb seq_putc +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce3b3f09 profile_pc +EXPORT_SYMBOL vmlinux 0xce409cda pmac_set_early_video_resume +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce608cc4 __seq_open_private +EXPORT_SYMBOL vmlinux 0xce7cbbb6 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xce7ce037 of_translate_address +EXPORT_SYMBOL vmlinux 0xce9808f1 is_container_init +EXPORT_SYMBOL vmlinux 0xcec8553b xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xced777cb proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xcef388ed blk_recount_segments +EXPORT_SYMBOL vmlinux 0xcef51982 kstrtou16 +EXPORT_SYMBOL vmlinux 0xcf4ab050 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xcf68ab16 vm_insert_page +EXPORT_SYMBOL vmlinux 0xcf6b9860 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xcf6eea0c d_path +EXPORT_SYMBOL vmlinux 0xcf914f27 dev_get_drvdata +EXPORT_SYMBOL vmlinux 0xcf9b878b dcache_dir_close +EXPORT_SYMBOL vmlinux 0xcfae651e scsi_nonblockable_ioctl +EXPORT_SYMBOL vmlinux 0xcfb7d5a0 cpu_sibling_map +EXPORT_SYMBOL vmlinux 0xcfc4be13 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xcfde6348 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xcfeb0be9 rb_augment_erase_begin +EXPORT_SYMBOL vmlinux 0xcffbe7f1 sk_reset_timer +EXPORT_SYMBOL vmlinux 0xd0000147 module_put +EXPORT_SYMBOL vmlinux 0xd0181f4f __bitmap_xor +EXPORT_SYMBOL vmlinux 0xd024cda3 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xd0259d6c vfs_writev +EXPORT_SYMBOL vmlinux 0xd053feff page_follow_link_light +EXPORT_SYMBOL vmlinux 0xd05931ec _lv1_set_lpm_counter_control +EXPORT_SYMBOL vmlinux 0xd06aef88 sk_prot_clear_portaddr_nulls +EXPORT_SYMBOL vmlinux 0xd06b849d bdget +EXPORT_SYMBOL vmlinux 0xd06cf439 padata_free +EXPORT_SYMBOL vmlinux 0xd0720a17 on_each_cpu_cond +EXPORT_SYMBOL vmlinux 0xd07b8ee0 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xd087607b tty_port_open +EXPORT_SYMBOL vmlinux 0xd0899d00 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xd099196c vfs_rmdir +EXPORT_SYMBOL vmlinux 0xd0a02396 hvcs_free_connection +EXPORT_SYMBOL vmlinux 0xd0a91bab skip_spaces +EXPORT_SYMBOL vmlinux 0xd0a9738e __bforget +EXPORT_SYMBOL vmlinux 0xd0b4a74a genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xd0d42c42 mod_timer_pending +EXPORT_SYMBOL vmlinux 0xd0dd5c1a sock_no_socketpair +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 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd11c0dc1 __kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd133ac39 km_new_mapping +EXPORT_SYMBOL vmlinux 0xd1345859 nobh_writepage +EXPORT_SYMBOL vmlinux 0xd142fa91 mmc_power_save_host +EXPORT_SYMBOL vmlinux 0xd14d5cae unbind_con_driver +EXPORT_SYMBOL vmlinux 0xd162c8d9 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xd167b4eb bio_integrity_advance +EXPORT_SYMBOL vmlinux 0xd171d1cb bio_alloc +EXPORT_SYMBOL vmlinux 0xd17c7852 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xd1816f32 frontswap_writethrough +EXPORT_SYMBOL vmlinux 0xd1933817 bio_map_user +EXPORT_SYMBOL vmlinux 0xd1abcfe4 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xd1ac7a73 redraw_screen +EXPORT_SYMBOL vmlinux 0xd1e40b34 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0xd1f0c0bf scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xd1f7578b kobject_add +EXPORT_SYMBOL vmlinux 0xd1f9f2a6 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xd1f9f637 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xd1fe8ebb _lv1_get_spe_interrupt_status +EXPORT_SYMBOL vmlinux 0xd21131f8 md_error +EXPORT_SYMBOL vmlinux 0xd220cf8a jiffies_to_timespec +EXPORT_SYMBOL vmlinux 0xd22763cc simple_release_fs +EXPORT_SYMBOL vmlinux 0xd22e0a34 gen_pool_alloc +EXPORT_SYMBOL vmlinux 0xd22e8752 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xd251d7b0 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xd2555f19 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xd25b5c10 mmc_can_sanitize +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd27b1f47 ata_link_printk +EXPORT_SYMBOL vmlinux 0xd2910998 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xd2965f6f kthread_should_stop +EXPORT_SYMBOL vmlinux 0xd2b09ce5 __kmalloc +EXPORT_SYMBOL vmlinux 0xd2c42ced xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xd2cd5568 interruptible_sleep_on_timeout +EXPORT_SYMBOL vmlinux 0xd2d109b8 kobject_init +EXPORT_SYMBOL vmlinux 0xd2ef2638 smu_cmdbuf_abs +EXPORT_SYMBOL vmlinux 0xd30f6418 sk_dst_check +EXPORT_SYMBOL vmlinux 0xd3143ef9 compat_nf_setsockopt +EXPORT_SYMBOL vmlinux 0xd318c7a1 __dst_free +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd3316c28 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0xd36257ba memcpy_toiovecend +EXPORT_SYMBOL vmlinux 0xd36d4e8a ioctl_by_bdev +EXPORT_SYMBOL vmlinux 0xd37c9e8b __ethtool_get_settings +EXPORT_SYMBOL vmlinux 0xd38480a0 rb_augment_erase_end +EXPORT_SYMBOL vmlinux 0xd3b7f49d frontswap_register_ops +EXPORT_SYMBOL vmlinux 0xd3ca2c70 compat_sock_get_timestampns +EXPORT_SYMBOL vmlinux 0xd3edb915 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xd3f7e8d1 dev_addr_add_multiple +EXPORT_SYMBOL vmlinux 0xd409383c pmu_request +EXPORT_SYMBOL vmlinux 0xd41662ba inet_ioctl +EXPORT_SYMBOL vmlinux 0xd4256406 __set_page_dirty_buffers +EXPORT_SYMBOL vmlinux 0xd44fb4e1 follow_down +EXPORT_SYMBOL vmlinux 0xd46606fd __lock_buffer +EXPORT_SYMBOL vmlinux 0xd486d308 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xd48fdeef dql_completed +EXPORT_SYMBOL vmlinux 0xd4c8ca60 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xd4cea45b __locks_copy_lock +EXPORT_SYMBOL vmlinux 0xd50b0543 swiotlb_alloc_coherent +EXPORT_SYMBOL vmlinux 0xd510a088 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xd531c2ab dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd5409759 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xd55d0b21 inet_put_port +EXPORT_SYMBOL vmlinux 0xd59474f0 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0xd5a85457 seq_bitmap +EXPORT_SYMBOL vmlinux 0xd5b09517 scsi_prep_fn +EXPORT_SYMBOL vmlinux 0xd5c55d25 netdev_set_master +EXPORT_SYMBOL vmlinux 0xd5e1d719 _lv1_set_ppe_periodic_tracer_frequency +EXPORT_SYMBOL vmlinux 0xd5f2172f del_timer_sync +EXPORT_SYMBOL vmlinux 0xd5f91494 dev_activate +EXPORT_SYMBOL vmlinux 0xd5feaac5 udp_prot +EXPORT_SYMBOL vmlinux 0xd602481f tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xd60faf25 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xd616683a ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0xd6171ea3 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xd61fc7ac blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xd62543ca neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xd62c833f schedule_timeout +EXPORT_SYMBOL vmlinux 0xd648e564 fb_match_mode +EXPORT_SYMBOL vmlinux 0xd65666a4 complete_request_key +EXPORT_SYMBOL vmlinux 0xd672c9cb pcim_iomap +EXPORT_SYMBOL vmlinux 0xd68a59b2 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xd6a480b9 release_pages +EXPORT_SYMBOL vmlinux 0xd6bb342b blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xd6d63e9d lg_local_lock_cpu +EXPORT_SYMBOL vmlinux 0xd6edf811 _lv1_release_memory +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f66cfa build_skb +EXPORT_SYMBOL vmlinux 0xd6fd4053 __arch_hweight32 +EXPORT_SYMBOL vmlinux 0xd71250b5 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xd72bc98c scsi_host_set_state +EXPORT_SYMBOL vmlinux 0xd72e1cfc _lv1_set_lpm_spr_trigger +EXPORT_SYMBOL vmlinux 0xd730fd19 __pagevec_release +EXPORT_SYMBOL vmlinux 0xd75c79df smp_call_function +EXPORT_SYMBOL vmlinux 0xd761a383 ioremap_prot +EXPORT_SYMBOL vmlinux 0xd77a5aa5 __bitmap_and +EXPORT_SYMBOL vmlinux 0xd786c0ea plpar_hcall9 +EXPORT_SYMBOL vmlinux 0xd79b5a02 allow_signal +EXPORT_SYMBOL vmlinux 0xd7cbddda memcpy_toiovec +EXPORT_SYMBOL vmlinux 0xd7ce0da6 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7f24a9f pci_remove_bus +EXPORT_SYMBOL vmlinux 0xd7fc92d6 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xd83108d2 scsi_adjust_queue_depth +EXPORT_SYMBOL vmlinux 0xd845d14d alloc_pages_current +EXPORT_SYMBOL vmlinux 0xd8890c2b pmac_suspend_agp_for_card +EXPORT_SYMBOL vmlinux 0xd8891576 mii_check_link +EXPORT_SYMBOL vmlinux 0xd88a31e3 genl_register_family +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8c78f94 dma_set_mask +EXPORT_SYMBOL vmlinux 0xd8ce7e67 clocksource_register +EXPORT_SYMBOL vmlinux 0xd8de9b89 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xd8e484f0 register_chrdev_region +EXPORT_SYMBOL vmlinux 0xd8f01e79 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xd8f640cf pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xd92afabe bitmap_clear +EXPORT_SYMBOL vmlinux 0xd92e16ba csum_partial_copy_fromiovecend +EXPORT_SYMBOL vmlinux 0xd9499674 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xd95180a3 seq_open +EXPORT_SYMBOL vmlinux 0xd9615fbf eth_header_parse +EXPORT_SYMBOL vmlinux 0xd9758895 xfrm6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9b45b67 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9bfcfce vio_disable_interrupts +EXPORT_SYMBOL vmlinux 0xd9d4d09d _lv1_release_io_segment +EXPORT_SYMBOL vmlinux 0xd9e344c9 journal_destroy +EXPORT_SYMBOL vmlinux 0xda0df74f nf_getsockopt +EXPORT_SYMBOL vmlinux 0xda0f5234 rtas_offline_cpus_mask +EXPORT_SYMBOL vmlinux 0xda289a04 wireless_send_event +EXPORT_SYMBOL vmlinux 0xda6d6a18 get_pci_dma_ops +EXPORT_SYMBOL vmlinux 0xda7ca6cb fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xda82ae2f xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xda8af7ad fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0xda8f6661 dquot_disable +EXPORT_SYMBOL vmlinux 0xda923786 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0xdaa700a0 inet_frags_exit_net +EXPORT_SYMBOL vmlinux 0xdabc1ea8 fsl_lbc_find +EXPORT_SYMBOL vmlinux 0xdac6cda1 tcp_tso_segment +EXPORT_SYMBOL vmlinux 0xdad3c91a dquot_commit_info +EXPORT_SYMBOL vmlinux 0xdad81783 set_device_ro +EXPORT_SYMBOL vmlinux 0xdaea6e0d mfd_clone_cell +EXPORT_SYMBOL vmlinux 0xdaf31d8a sync_blockdev +EXPORT_SYMBOL vmlinux 0xdb01198e fsl_upm_find +EXPORT_SYMBOL vmlinux 0xdb0e761e dm_unregister_target +EXPORT_SYMBOL vmlinux 0xdb260ce3 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xdb5dd2f0 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb7eba8c vm_iomap_memory +EXPORT_SYMBOL vmlinux 0xdb7f6759 netif_rx +EXPORT_SYMBOL vmlinux 0xdb92594b kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xdb9e2c22 posix_acl_create +EXPORT_SYMBOL vmlinux 0xdba4eea7 of_find_all_nodes +EXPORT_SYMBOL vmlinux 0xdbb24fc2 down_write +EXPORT_SYMBOL vmlinux 0xdbcd416e sysctl_ip_nonlocal_bind +EXPORT_SYMBOL vmlinux 0xdbd234db block_write_end +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 0xdc3de91c scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc43a9c8 daemonize +EXPORT_SYMBOL vmlinux 0xdc51134c twl6040_get_pll +EXPORT_SYMBOL vmlinux 0xdc5484fc tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xdc67b831 sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0xdc6c818e pci_claim_resource +EXPORT_SYMBOL vmlinux 0xdc6d41cf vfs_fstatat +EXPORT_SYMBOL vmlinux 0xdc701303 alloc_file +EXPORT_SYMBOL vmlinux 0xdc7b0e5b jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xdc9498dd down +EXPORT_SYMBOL vmlinux 0xdcb0349b sys_close +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc43386 scsi_sd_probe_domain +EXPORT_SYMBOL vmlinux 0xdcecb746 get_io_context +EXPORT_SYMBOL vmlinux 0xdcefb9a5 pmu_resume +EXPORT_SYMBOL vmlinux 0xdcf61bd8 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xdd14efed elv_dispatch_add_tail +EXPORT_SYMBOL vmlinux 0xdd1c65f6 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xdd2406bc __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xdd2c11cf vga_get +EXPORT_SYMBOL vmlinux 0xdd4a5569 param_get_byte +EXPORT_SYMBOL vmlinux 0xdd4b63ff inet_stream_ops +EXPORT_SYMBOL vmlinux 0xdd50016f load_nls_default +EXPORT_SYMBOL vmlinux 0xdd73c20d simple_fill_super +EXPORT_SYMBOL vmlinux 0xdd955144 __debugger +EXPORT_SYMBOL vmlinux 0xddb8b2c7 ps2_command +EXPORT_SYMBOL vmlinux 0xddcfd195 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xdde0a3ea poll_schedule_timeout +EXPORT_SYMBOL vmlinux 0xdde34123 key_revoke +EXPORT_SYMBOL vmlinux 0xde070b2b scsi_print_result +EXPORT_SYMBOL vmlinux 0xde07666b of_phy_connect_fixed_link +EXPORT_SYMBOL vmlinux 0xde15a634 vio_get_attribute +EXPORT_SYMBOL vmlinux 0xde1cbd82 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0xde2ddac6 generic_permission +EXPORT_SYMBOL vmlinux 0xde346b04 fget +EXPORT_SYMBOL vmlinux 0xde3f5330 put_tty_driver +EXPORT_SYMBOL vmlinux 0xde45e490 find_vma +EXPORT_SYMBOL vmlinux 0xde48e9ca _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xde6151db tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0xde7f2ff7 tc_classify +EXPORT_SYMBOL vmlinux 0xde9360ba totalram_pages +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdea465f0 mach_pasemi +EXPORT_SYMBOL vmlinux 0xdeaa0312 agp_find_bridge +EXPORT_SYMBOL vmlinux 0xdee30833 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xdeee2fda __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xdf061506 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0xdf1b5f41 agp_enable +EXPORT_SYMBOL vmlinux 0xdf339e3f tcp_gro_receive +EXPORT_SYMBOL vmlinux 0xdf35e4b1 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xdf60cc27 __print_symbol +EXPORT_SYMBOL vmlinux 0xdf60fc83 _lv1_net_start_tx_dma +EXPORT_SYMBOL vmlinux 0xdf668573 mmc_cd_gpio_request +EXPORT_SYMBOL vmlinux 0xdf78c73e swiotlb_unmap_sg +EXPORT_SYMBOL vmlinux 0xdf8c57af __register_chrdev +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdfb00fff blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xdfb9b0f2 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xdfce963b skb_copy_bits +EXPORT_SYMBOL vmlinux 0xdfe5a75a tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xdfe670dd __frontswap_store +EXPORT_SYMBOL vmlinux 0xe00d4beb ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xe02c865c tty_kref_put +EXPORT_SYMBOL vmlinux 0xe03e3fe7 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe0473b0c __getblk +EXPORT_SYMBOL vmlinux 0xe04f7caa dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xe06141e9 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe0615a64 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xe06acfbf user_path_create +EXPORT_SYMBOL vmlinux 0xe075d6eb iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xe092081b scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xe0a0664c key_validate +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b7d473 input_register_handler +EXPORT_SYMBOL vmlinux 0xe0f0d384 usb_get_transceiver +EXPORT_SYMBOL vmlinux 0xe10a1941 udp_proc_unregister +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe1761617 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xe17cfa79 dma_pool_create +EXPORT_SYMBOL vmlinux 0xe187f742 kernel_getsockopt +EXPORT_SYMBOL vmlinux 0xe1a56948 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xe1a8bbe9 tty_name +EXPORT_SYMBOL vmlinux 0xe1ad6496 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xe1ae7198 follow_down_one +EXPORT_SYMBOL vmlinux 0xe1bd359a remap_pfn_range +EXPORT_SYMBOL vmlinux 0xe1d97738 tcp_proc_register +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 0xe220ceb8 __debugger_sstep +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe23ae481 blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe23d8864 cancel_dirty_page +EXPORT_SYMBOL vmlinux 0xe24d3a97 jiffies_64 +EXPORT_SYMBOL vmlinux 0xe2805506 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xe286b530 dst_release +EXPORT_SYMBOL vmlinux 0xe298e717 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xe2ae4be3 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xe2be5498 lg_global_unlock +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d6ea07 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xe2e000a5 unregister_console +EXPORT_SYMBOL vmlinux 0xe2e0c7c6 __flush_icache_range +EXPORT_SYMBOL vmlinux 0xe30e4dbe dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xe3205ff3 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xe3291ee9 pagecache_write_end +EXPORT_SYMBOL vmlinux 0xe329da8c start_tty +EXPORT_SYMBOL vmlinux 0xe36edca8 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0xe36f0463 lease_modify +EXPORT_SYMBOL vmlinux 0xe3799bd4 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xe37a0e8d jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xe3a2a276 proc_net_netfilter +EXPORT_SYMBOL vmlinux 0xe3a2e02d scsi_device_resume +EXPORT_SYMBOL vmlinux 0xe3a53f4c sort +EXPORT_SYMBOL vmlinux 0xe3a8580e of_device_alloc +EXPORT_SYMBOL vmlinux 0xe3b12ee2 dentry_open +EXPORT_SYMBOL vmlinux 0xe3cfc9ef fsync_bdev +EXPORT_SYMBOL vmlinux 0xe3d6f284 fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xe3d7b9c5 cdev_del +EXPORT_SYMBOL vmlinux 0xe3f060cf tty_hangup +EXPORT_SYMBOL vmlinux 0xe3ffdd43 inet_frag_evictor +EXPORT_SYMBOL vmlinux 0xe4017e51 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xe40a0267 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xe40d4153 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xe413f46f swiotlb_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xe41c9707 input_register_handle +EXPORT_SYMBOL vmlinux 0xe429d25b kernel_listen +EXPORT_SYMBOL vmlinux 0xe4601858 bdev_read_only +EXPORT_SYMBOL vmlinux 0xe4605ceb arp_invalidate +EXPORT_SYMBOL vmlinux 0xe461c7c9 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xe46a1b5b journal_stop +EXPORT_SYMBOL vmlinux 0xe46c9587 get_task_io_context +EXPORT_SYMBOL vmlinux 0xe4794fa2 lock_may_write +EXPORT_SYMBOL vmlinux 0xe484e35f ioread32 +EXPORT_SYMBOL vmlinux 0xe4a895fa up_write +EXPORT_SYMBOL vmlinux 0xe4bbe576 block_invalidatepage +EXPORT_SYMBOL vmlinux 0xe4cc8e1b jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xe4eaf4a2 inet_frag_find +EXPORT_SYMBOL vmlinux 0xe4eb8ef4 kill_litter_super +EXPORT_SYMBOL vmlinux 0xe4ed5f24 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xe4fe8ca1 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe5122890 flow_cache_genid +EXPORT_SYMBOL vmlinux 0xe51bc947 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52f59e3 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xe53b1a10 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xe54f1915 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xe568db4d udp_disconnect +EXPORT_SYMBOL vmlinux 0xe57669d1 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xe57878a1 in6_pton +EXPORT_SYMBOL vmlinux 0xe5867808 dlci_ioctl_set +EXPORT_SYMBOL vmlinux 0xe5961636 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xe5a59efa compat_nf_getsockopt +EXPORT_SYMBOL vmlinux 0xe5bf9fc3 aio_put_req +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5cb7475 __scm_send +EXPORT_SYMBOL vmlinux 0xe5d00f39 tc_classify_compat +EXPORT_SYMBOL vmlinux 0xe5d438c8 generic_file_open +EXPORT_SYMBOL vmlinux 0xe5d95985 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xe5e0589d netdev_err +EXPORT_SYMBOL vmlinux 0xe5ed5467 xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xe6018843 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xe6052962 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xe60988ac _lv1_query_logical_partition_address_region_info +EXPORT_SYMBOL vmlinux 0xe611558b generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xe62b3116 pci_select_bars +EXPORT_SYMBOL vmlinux 0xe630b021 simple_open +EXPORT_SYMBOL vmlinux 0xe697d108 __blk_iopoll_complete +EXPORT_SYMBOL vmlinux 0xe6b633af lro_flush_pkt +EXPORT_SYMBOL vmlinux 0xe6f9a31c tcp_enter_memory_pressure +EXPORT_SYMBOL vmlinux 0xe6fbe430 can_do_mlock +EXPORT_SYMBOL vmlinux 0xe6fc0fc4 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xe6fdb8bc __netif_schedule +EXPORT_SYMBOL vmlinux 0xe70a772d unregister_key_type +EXPORT_SYMBOL vmlinux 0xe74aa406 _lv1_set_dabr +EXPORT_SYMBOL vmlinux 0xe75a98ed tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xe7901f4e i2c_use_client +EXPORT_SYMBOL vmlinux 0xe7922d82 blk_queue_init_tags +EXPORT_SYMBOL vmlinux 0xe7a1ecae security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xe7a664c4 nf_hooks +EXPORT_SYMBOL vmlinux 0xe7a81967 audit_log_secctx +EXPORT_SYMBOL vmlinux 0xe7ba7b38 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xe7cd99b7 smu_queue_simple +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7fa50c9 poll_freewait +EXPORT_SYMBOL vmlinux 0xe80ce219 sysctl_tcp_dma_copybreak +EXPORT_SYMBOL vmlinux 0xe81328b5 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xe82cc752 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xe86a7b1e pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xe887c0b8 dquot_get_dqinfo +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 0xe8cc00b2 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xe8f36afa vio_unregister_driver +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95ef5fc pci_read_vpd +EXPORT_SYMBOL vmlinux 0xe990fddd jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xe99f1369 d_drop +EXPORT_SYMBOL vmlinux 0xe9d02070 ppp_input +EXPORT_SYMBOL vmlinux 0xe9d7184a tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xe9e85597 bdget_disk +EXPORT_SYMBOL vmlinux 0xe9ef386a skb_free_datagram +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 0xea16067d sock_no_mmap +EXPORT_SYMBOL vmlinux 0xea1ad1f1 i2c_master_send +EXPORT_SYMBOL vmlinux 0xea2a0bc0 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xea4d20cf journal_force_commit +EXPORT_SYMBOL vmlinux 0xea566d69 blk_init_tags +EXPORT_SYMBOL vmlinux 0xea6cead9 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xea720f14 md_finish_reshape +EXPORT_SYMBOL vmlinux 0xea86f6aa jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xea968c96 ___ratelimit +EXPORT_SYMBOL vmlinux 0xea9855ae blk_limits_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xeaa35632 of_device_unregister +EXPORT_SYMBOL vmlinux 0xeaad623e __nlmsg_put +EXPORT_SYMBOL vmlinux 0xeabab0db override_creds +EXPORT_SYMBOL vmlinux 0xeabd1f27 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xeaed842d pci_set_ltr +EXPORT_SYMBOL vmlinux 0xeb07f66a bio_integrity_enabled +EXPORT_SYMBOL vmlinux 0xeb11ba17 send_sig +EXPORT_SYMBOL vmlinux 0xeb262877 generic_read_dir +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb417704 take_over_console +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb96dc47 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xeba677bd posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xebb6b961 phy_scan_fixups +EXPORT_SYMBOL vmlinux 0xebdbe48c radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0xebed25d4 nf_unregister_hook +EXPORT_SYMBOL vmlinux 0xec0b4b9e skb_trim +EXPORT_SYMBOL vmlinux 0xec15f00a tcp_cookie_generator +EXPORT_SYMBOL vmlinux 0xec288977 i2c_master_recv +EXPORT_SYMBOL vmlinux 0xec30765a _lv1_allocate_io_segment +EXPORT_SYMBOL vmlinux 0xec7e8172 netdev_set_bond_master +EXPORT_SYMBOL vmlinux 0xec8843f7 mpage_writepage +EXPORT_SYMBOL vmlinux 0xeca0ca49 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xeca1e15f drop_super +EXPORT_SYMBOL vmlinux 0xecd2f550 cdrom_open +EXPORT_SYMBOL vmlinux 0xeced4ee3 generic_file_buffered_write +EXPORT_SYMBOL vmlinux 0xed289918 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xed302f0f tty_lock +EXPORT_SYMBOL vmlinux 0xed4518b9 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xed46ef61 simple_getattr +EXPORT_SYMBOL vmlinux 0xed5beda9 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xed652427 _lv1_set_interrupt_mask +EXPORT_SYMBOL vmlinux 0xed9bd8d3 submit_bh +EXPORT_SYMBOL vmlinux 0xeda0d76e gen_estimator_active +EXPORT_SYMBOL vmlinux 0xeda80997 set_security_override +EXPORT_SYMBOL vmlinux 0xedabd107 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc410d0 udplite_table +EXPORT_SYMBOL vmlinux 0xedcb1903 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xedd2ab75 pci_set_dma_max_seg_size +EXPORT_SYMBOL vmlinux 0xedf02458 ilookup +EXPORT_SYMBOL vmlinux 0xedf0b48c _lv1_storage_get_async_status +EXPORT_SYMBOL vmlinux 0xedf18ac5 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xee04bf6e inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xee2aef28 sk_filter +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee322a92 bio_init +EXPORT_SYMBOL vmlinux 0xee3be6f8 bioset_create +EXPORT_SYMBOL vmlinux 0xee5bb20b _lv1_panic +EXPORT_SYMBOL vmlinux 0xee649355 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xee7bba79 truncate_setsize +EXPORT_SYMBOL vmlinux 0xee89dff2 ip_cmsg_recv +EXPORT_SYMBOL vmlinux 0xee9174c5 _lv1_storage_read +EXPORT_SYMBOL vmlinux 0xee9e8118 page_put_link +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb5bd3b __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0xeeba4c50 inet_getname +EXPORT_SYMBOL vmlinux 0xeec43733 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xeec46cf3 free_buffer_head +EXPORT_SYMBOL vmlinux 0xeef8e8ac rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xef109449 interruptible_sleep_on +EXPORT_SYMBOL vmlinux 0xef5ed8f2 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xefa54c98 kdb_current_task +EXPORT_SYMBOL vmlinux 0xefc2e54d _lv1_storage_send_device_command +EXPORT_SYMBOL vmlinux 0xefcaf258 get_agp_version +EXPORT_SYMBOL vmlinux 0xefd110e6 inode_dio_done +EXPORT_SYMBOL vmlinux 0xefd88310 grab_cache_page_write_begin +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 0xf007bc1c udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xf00fbcf3 skb_make_writable +EXPORT_SYMBOL vmlinux 0xf018fd4f scm_detach_fds +EXPORT_SYMBOL vmlinux 0xf032bf41 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xf04ddddf phy_connect +EXPORT_SYMBOL vmlinux 0xf05ffa15 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0xf065f629 ioread16be +EXPORT_SYMBOL vmlinux 0xf0a9bef5 vfs_getattr +EXPORT_SYMBOL vmlinux 0xf0ba9a1d vfs_fsync +EXPORT_SYMBOL vmlinux 0xf0c974c5 bio_pair_release +EXPORT_SYMBOL vmlinux 0xf0d2f84a _lv1_gpu_context_free +EXPORT_SYMBOL vmlinux 0xf0da6a6d ata_print_version +EXPORT_SYMBOL vmlinux 0xf0ef15b4 list_sort +EXPORT_SYMBOL vmlinux 0xf0f1246c kvasprintf +EXPORT_SYMBOL vmlinux 0xf0fd4e8f rwsem_down_read_failed +EXPORT_SYMBOL vmlinux 0xf0ff3da9 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xf100416a remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xf10c2e2f handle_edge_irq +EXPORT_SYMBOL vmlinux 0xf10de535 ioread8 +EXPORT_SYMBOL vmlinux 0xf113bea6 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xf11cd6ce down_interruptible +EXPORT_SYMBOL vmlinux 0xf1216c75 prandom32 +EXPORT_SYMBOL vmlinux 0xf1225d5b bio_integrity_tag_size +EXPORT_SYMBOL vmlinux 0xf12af2d7 dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xf13dd684 compat_ip_setsockopt +EXPORT_SYMBOL vmlinux 0xf13feb57 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0xf183189b __ioremap_at +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1a85a82 sock_no_getname +EXPORT_SYMBOL vmlinux 0xf1be75cc inet_shutdown +EXPORT_SYMBOL vmlinux 0xf1bea6f1 schedule_delayed_work +EXPORT_SYMBOL vmlinux 0xf1cf3036 blk_set_default_limits +EXPORT_SYMBOL vmlinux 0xf1da4925 dentry_update_name_case +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1f7e158 pci_dev_put +EXPORT_SYMBOL vmlinux 0xf200ab5b mount_subtree +EXPORT_SYMBOL vmlinux 0xf202c5cb radix_tree_insert +EXPORT_SYMBOL vmlinux 0xf204d454 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xf20dabd8 free_irq +EXPORT_SYMBOL vmlinux 0xf21385e8 lock_super +EXPORT_SYMBOL vmlinux 0xf227b335 dquot_release +EXPORT_SYMBOL vmlinux 0xf22881e8 lg_local_lock +EXPORT_SYMBOL vmlinux 0xf22b14d8 idr_get_new +EXPORT_SYMBOL vmlinux 0xf22ef731 jbd2_journal_release_buffer +EXPORT_SYMBOL vmlinux 0xf23d0ddc wl12xx_get_platform_data +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24bf357 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xf24dcaa8 _lv1_net_stop_rx_dma +EXPORT_SYMBOL vmlinux 0xf26aeac0 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xf2882555 __secpath_destroy +EXPORT_SYMBOL vmlinux 0xf2dafb06 mmc_cache_ctrl +EXPORT_SYMBOL vmlinux 0xf2f35cc6 generic_file_aio_write +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 0xf32c4ae7 tcp_parse_options +EXPORT_SYMBOL vmlinux 0xf3341268 __clear_user +EXPORT_SYMBOL vmlinux 0xf338d4c3 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf33d5d55 I_BDEV +EXPORT_SYMBOL vmlinux 0xf34025ac mem_section +EXPORT_SYMBOL vmlinux 0xf3426b22 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf357db8d pasemi_dma_set_flag +EXPORT_SYMBOL vmlinux 0xf35d27c6 dev_emerg +EXPORT_SYMBOL vmlinux 0xf35fd578 input_set_abs_params +EXPORT_SYMBOL vmlinux 0xf389fe60 __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf38ff7e7 vmap +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3bbca05 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xf3bf0bce __bitmap_complement +EXPORT_SYMBOL vmlinux 0xf3c9d72d vga_client_register +EXPORT_SYMBOL vmlinux 0xf3f6ee44 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xf3f987f0 d_clear_need_lookup +EXPORT_SYMBOL vmlinux 0xf406be63 napi_gro_flush +EXPORT_SYMBOL vmlinux 0xf43b140a replace_mount_options +EXPORT_SYMBOL vmlinux 0xf441ac43 ioread8_rep +EXPORT_SYMBOL vmlinux 0xf4428b73 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xf45bf38a __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xf4634fef ppp_register_channel +EXPORT_SYMBOL vmlinux 0xf4732635 mutex_unlock +EXPORT_SYMBOL vmlinux 0xf4870643 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xf4905326 scsi_host_put +EXPORT_SYMBOL vmlinux 0xf494f618 mmc_regulator_get_ocrmask +EXPORT_SYMBOL vmlinux 0xf4ab47db dquot_drop +EXPORT_SYMBOL vmlinux 0xf4bdbeb9 __frontswap_invalidate_area +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf5121cfe agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xf514b96c d_invalidate +EXPORT_SYMBOL vmlinux 0xf51bf88b nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5222143 _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0xf52bbe1e set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xf53022a0 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53df56a md_unregister_thread +EXPORT_SYMBOL vmlinux 0xf552dd7a mach_ps3 +EXPORT_SYMBOL vmlinux 0xf55b3b3d __arch_hweight16 +EXPORT_SYMBOL vmlinux 0xf57176b6 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0xf5800ea6 fddi_type_trans +EXPORT_SYMBOL vmlinux 0xf5919a91 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xf594f80d ida_get_new +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5adfb04 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xf5be0de3 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xf5d3bf26 mb_cache_entry_insert +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5e406ea pci_release_region +EXPORT_SYMBOL vmlinux 0xf5eb86ea blk_verify_command +EXPORT_SYMBOL vmlinux 0xf60dc4bb journal_start +EXPORT_SYMBOL vmlinux 0xf6213e12 pasemi_dma_clear_flag +EXPORT_SYMBOL vmlinux 0xf6388c56 sysctl_ip_default_ttl +EXPORT_SYMBOL vmlinux 0xf64f1fee nf_log_packet +EXPORT_SYMBOL vmlinux 0xf6576b34 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xf66352a9 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xf69fa497 km_state_expired +EXPORT_SYMBOL vmlinux 0xf6bb4729 color_table +EXPORT_SYMBOL vmlinux 0xf6dad7ca xfrm_register_km +EXPORT_SYMBOL vmlinux 0xf6e1012f scsi_print_command +EXPORT_SYMBOL vmlinux 0xf6e52544 phy_detach +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ecb763 _lv1_send_event_locally +EXPORT_SYMBOL vmlinux 0xf7289d14 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xf741c793 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xf7584a9c find_font +EXPORT_SYMBOL vmlinux 0xf766cfde bmap +EXPORT_SYMBOL vmlinux 0xf7766736 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xf7801ac5 key_alloc +EXPORT_SYMBOL vmlinux 0xf7858436 devm_iounmap +EXPORT_SYMBOL vmlinux 0xf78d04ab netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xf7adbb79 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xf7adcaf3 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7ae3292 qdisc_watchdog_schedule +EXPORT_SYMBOL vmlinux 0xf7bac0ec _lv1_set_lpm_counter +EXPORT_SYMBOL vmlinux 0xf7d046bc abx500_set_register_interruptible +EXPORT_SYMBOL vmlinux 0xf8004bfd _lv1_disconnect_interrupt_event_receive_port +EXPORT_SYMBOL vmlinux 0xf803fe39 bitmap_set +EXPORT_SYMBOL vmlinux 0xf80cf98c pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8167eef put_page +EXPORT_SYMBOL vmlinux 0xf817ea74 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xf8262ef0 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xf826d208 phy_device_free +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf85ce632 iput +EXPORT_SYMBOL vmlinux 0xf87e38d5 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xf89843f9 schedule_work +EXPORT_SYMBOL vmlinux 0xf8b005f8 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xf8d4a2ba ip6_route_output +EXPORT_SYMBOL vmlinux 0xf9050fb9 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xf9134fb5 swiotlb_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xf917b11e input_get_keycode +EXPORT_SYMBOL vmlinux 0xf94daa37 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xf96932a2 blk_requeue_request +EXPORT_SYMBOL vmlinux 0xf983663e filp_open +EXPORT_SYMBOL vmlinux 0xf99fc8bc tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9c448ca sock_setsockopt +EXPORT_SYMBOL vmlinux 0xf9cfda69 netpoll_setup +EXPORT_SYMBOL vmlinux 0xf9f0bcdd pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xf9f18766 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xfa057a23 netif_device_detach +EXPORT_SYMBOL vmlinux 0xfa0d6314 netif_receive_skb +EXPORT_SYMBOL vmlinux 0xfa1b8140 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xfa1c7125 release_sock +EXPORT_SYMBOL vmlinux 0xfa2c0ed4 mutex_trylock +EXPORT_SYMBOL vmlinux 0xfa404537 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xfa9571b2 block_commit_write +EXPORT_SYMBOL vmlinux 0xfab6ae00 fail_migrate_page +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfadb5750 pmu_unlock +EXPORT_SYMBOL vmlinux 0xfae67b1f cap_mmap_addr +EXPORT_SYMBOL vmlinux 0xfaf98462 bitrev32 +EXPORT_SYMBOL vmlinux 0xfb00a17f xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xfb5f846a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0xfb66ff83 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb8e2961 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xfba6c442 blk_queue_make_request +EXPORT_SYMBOL vmlinux 0xfbaa5b36 file_remove_suid +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbaeaf85 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xfbbf93e2 unregister_con_driver +EXPORT_SYMBOL vmlinux 0xfbe1e397 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xfbe27a1c rb_first +EXPORT_SYMBOL vmlinux 0xfbf96c71 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xfc02b7ad sysctl_tcp_wmem +EXPORT_SYMBOL vmlinux 0xfc1add84 blk_put_queue +EXPORT_SYMBOL vmlinux 0xfc205b9b mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc79b878 flush_signals +EXPORT_SYMBOL vmlinux 0xfc915163 ab3100_event_unregister +EXPORT_SYMBOL vmlinux 0xfca36387 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xfcaa04a0 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xfcb926cd kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0xfcc2a43c utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0xfcc4f90e skb_queue_purge +EXPORT_SYMBOL vmlinux 0xfcd2e0cc fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xfcd35070 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xfcdc24b9 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xfce708e9 scsi_scan_host +EXPORT_SYMBOL vmlinux 0xfcea4d54 tcf_hash_check +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf95a4a __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0xfcfa03ff fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0xfd14ebb7 check_disk_size_change +EXPORT_SYMBOL vmlinux 0xfd164c22 dquot_commit +EXPORT_SYMBOL vmlinux 0xfd1bb204 led_blink_set +EXPORT_SYMBOL vmlinux 0xfd3cb8d7 register_sysctl_paths +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 0xfda6dec7 vc_cons +EXPORT_SYMBOL vmlinux 0xfdb6cedc _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xfdb9b629 ioread32be +EXPORT_SYMBOL vmlinux 0xfdbe0288 pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfa36c4 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xfdfc0b3b fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0xfdfc1bc0 ns_capable +EXPORT_SYMBOL vmlinux 0xfe04e338 bio_integrity_alloc_bioset +EXPORT_SYMBOL vmlinux 0xfe1b9223 alloc_disk_node +EXPORT_SYMBOL vmlinux 0xfe26fc7c nr_node_ids +EXPORT_SYMBOL vmlinux 0xfe29b85c commit_creds +EXPORT_SYMBOL vmlinux 0xfe3577bb dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xfe4c57f0 tty_port_block_til_ready +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 0xfe8023b2 thermal_zone_bind_cooling_device +EXPORT_SYMBOL vmlinux 0xfeacf9dd jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xfeb9deff __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xfec3c2f2 bcd2bin +EXPORT_SYMBOL vmlinux 0xfed221d9 pasemi_dma_alloc_ring +EXPORT_SYMBOL vmlinux 0xfed27051 dma_direct_ops +EXPORT_SYMBOL vmlinux 0xfeeb7a15 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef96e23 __scsi_print_command +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff54910a of_gpio_simple_xlate +EXPORT_SYMBOL vmlinux 0xff55617c __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xff567cfb genphy_read_status +EXPORT_SYMBOL vmlinux 0xff604afb inet_bind +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7559e4 ioport_resource +EXPORT_SYMBOL vmlinux 0xff81d2c5 __debugger_dabr_match +EXPORT_SYMBOL vmlinux 0xff837181 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xff8a3db9 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0xff8c676d kobject_put +EXPORT_SYMBOL vmlinux 0xff9ca065 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0xffa6335a scsi_target_resume +EXPORT_SYMBOL vmlinux 0xffb61516 find_get_page +EXPORT_SYMBOL vmlinux 0xffd5a395 default_wake_function +EXPORT_SYMBOL vmlinux 0xffe07cde fsnotify_put_group +EXPORT_SYMBOL vmlinux 0xffe5095d groups_free +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0xa02d407c spu_restore +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0xba0dfd09 spu_save +EXPORT_SYMBOL_GPL arch/powerpc/platforms/cell/spufs/spufs 0xccdbab05 spufs_context_fops +EXPORT_SYMBOL_GPL crypto/af_alg 0x289197b2 af_alg_cmsg_send +EXPORT_SYMBOL_GPL crypto/af_alg 0x4b96afa9 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x58716898 af_alg_wait_for_completion +EXPORT_SYMBOL_GPL crypto/af_alg 0x5ac230aa af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5ff0b0a7 af_alg_complete +EXPORT_SYMBOL_GPL crypto/af_alg 0x7ff0e09f af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x9de857bb af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xc4fdbb0c af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xfc10e3de af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x696102e9 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x676bb9a6 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xda1b4238 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x855e6360 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x9f554ddf async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x3dea327e __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x47a4364a async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb08b7e6c async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xefaa276c async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x035f87af async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xc0944f8b async_xor_val +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x1cc85101 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cryptd 0x0100fc4f cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x0d5f377c cryptd_ablkcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x1bf504df cryptd_free_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x58eace70 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x5a63cb3b cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x6ed9b0d3 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x94f49f4a cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xabea000b cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xd192c3a3 cryptd_alloc_ablkcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xd9461bb9 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 0x9550e660 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 0xbe07a5d4 serpent_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x318752eb twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x6c3229bb __twofish_setkey +EXPORT_SYMBOL_GPL crypto/xts 0x385a878a xts_crypt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0c23b708 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x164ee92f ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x24b438b8 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2d847038 ahci_shost_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4402c141 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x45325eaa ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x547ef20f ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5e895a9b ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5eacba1f ahci_interrupt +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x76993fd1 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7b23fbe0 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7f7e9839 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x81c8e5f7 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb3ac0156 ahci_sdev_attrs +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdb2ef492 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xeedfa510 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xefb374c4 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf3a56b7b ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf6464980 ahci_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf88ee8d5 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x5b1fd3c8 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xf96fb449 __pata_platform_remove +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x2035e346 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 0x0995e51a bcma_core_pci_extend_L1timer +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x10d9d525 bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5c04f6ae bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5ea41a14 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x67ca0fb4 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x86df3fb3 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x92dc42c6 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9715b1fb bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x972c223a bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa5bf8f41 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd2462c18 bcma_find_core +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd7bf7478 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xde373a0a bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeee36f80 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf96b3556 bcma_core_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x08b860cd btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x317b4f41 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x334f0c59 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa79ad4b1 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb0c384cb btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb3689d7f btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xbbd572ff btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdc786b0a btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdd6e542f btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe52cfbdb btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0647571d edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0aa2b487 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c2ed20f edac_mc_free +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x0f04bc8a edac_device_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x18c6e752 edac_mc_handle_error +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x1fd1efb6 edac_pci_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x39f3ad8a edac_pci_handle_npe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x3d4e0738 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x415d03e9 find_mci_by_dev +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x489054a1 edac_device_handle_ue +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x4a9241f6 edac_mc_add_mc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x5e193503 edac_pci_del_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x6923b42e edac_device_del_device +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 0x8559c8a7 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9704124b edac_pci_reset_delay_period +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0x9ed43923 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbd4ee3e4 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xbecf751b edac_device_add_device +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdb3f4b86 edac_pci_handle_pe +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xdd1f85bc edac_mc_alloc +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xe2365168 edac_device_handle_ce +EXPORT_SYMBOL_GPL drivers/edac/edac_core 0xfe91ae44 edac_mc_del_mc +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x101ae6ec extcon_get_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x30e11e87 extcon_register_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x63232b6f extcon_set_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6c242b3c extcon_find_cable_index +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6e66579a extcon_set_cable_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x6f9f4421 extcon_unregister_notifier +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0x9275019f extcon_dev_unregister +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xaaffb7d3 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xc84edcc2 extcon_dev_register +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xd29c2c54 extcon_update_state +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf0966f2f extcon_set_cable_state_ +EXPORT_SYMBOL_GPL drivers/extcon/extcon_class 0xf356c64f extcon_get_cable_state +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xf4ade51f fw_card_release +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x97830d05 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x9ca8a743 bgpio_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x217a760b __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xad9e0736 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x80a359c9 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf88227f4 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x4b9070ad ttm_dma_populate +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x60188e37 ttm_dma_page_alloc_debugfs +EXPORT_SYMBOL_GPL drivers/gpu/drm/ttm/ttm 0x97326f31 ttm_dma_unpopulate +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08303073 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x09489bb8 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1dcc0ee5 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x21becd18 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x251e7010 hidinput_find_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x359c7b07 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x37a15ad1 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4120ddf8 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4382c1ae __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4aee00c1 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7c050cf5 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x84b8bca8 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x93d30947 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa8b75610 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaa16a326 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb9eb986a hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc1e47c12 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc7a1c381 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc9fe6de9 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcb89ecec hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd84f6d10 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdb9f27d2 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xddd5965f hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe52e6210 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe610f8a7 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xebfd506e hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf7967d3e hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa5f1eca hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xff626905 hidinput_disconnect +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 0xc9015691 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x518a8f1f roccat_common_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xddc8e58f roccat_common_send +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x01fd453e usbhid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x071ee6f1 usbhid_submit_report +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x7e618146 usbhid_wait_io +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x8cddae5e hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xff329d71 usbhid_set_leds +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0e6cf080 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x15054ae1 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2143bcab hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x377374c1 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3e8ef596 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x54d85a82 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6d528ae6 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8124f9e6 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x83571ab4 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa6161730 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xbca6e1c7 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe6d97fb5 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xeb86b392 hsi_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x08456eae i2c_dw_disable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x0ead43fa i2c_dw_is_enabled +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x2a073ae2 i2c_dw_init +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x2c520737 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 0x5c0a5fe9 i2c_dw_xfer +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x88b7750b i2c_dw_func +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0x9c2439b3 i2c_dw_enable +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xb0110f92 i2c_dw_clear_int +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-designware-core 0xdb6edffa i2c_dw_read_comp_param +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x78001e7d i2c_del_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x9d2c6dcd i2c_add_mux_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x4848050b i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x91799c33 i2c_setup_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 0x1b2f4071 iio_scan_mask_query +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 0x6cd7e6de iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6f81ba24 iio_update_demux +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x70ce6721 iio_scan_mask_set +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 0xbab8697b iio_alloc_pollfunc +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 0xff37f9c5 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xfe32a14c 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 0x87b1e407 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x0d80aac4 cyttsp_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xd83e6ccf cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xe6bb5ee5 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x18ea11e9 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2e785a79 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x437b1ab9 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x65701a7b wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x737c8876 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x79b363c5 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x91b728c5 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9cbd3fe5 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa8a77e01 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb519635b wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf534792e wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xfec04d7a wm97xx_reg_write +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 0x13d2dfea gigaset_start +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x2102e22c gigaset_fill_inbuf +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x31e4ca4b gigaset_initdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x355e6460 gigaset_if_receive +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x391c44c2 gigaset_m10x_input +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x435e2879 gigaset_freecs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x454aa44f gigaset_debuglevel +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x4c9b2df1 gigaset_skb_sent +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x5c8aa284 gigaset_handle_modem_response +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x7f6793de gigaset_skb_rcvd +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x957e02c5 gigaset_stop +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9869dd7a gigaset_freedriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0x9a62a020 gigaset_blockdriver +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa3151853 gigaset_dbg_buffer +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xa59ade7e gigaset_initcs +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xb48639c9 gigaset_m10x_send_skb +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xcd23b60f gigaset_add_event +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xe9e62881 gigaset_isdn_rcv_err +EXPORT_SYMBOL_GPL drivers/isdn/gigaset/gigaset 0xf9493107 gigaset_shutdown +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x184fb17a wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x24347e2d wf_find_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x26f23d80 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x2d73006e wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x66e82b9d wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x6990eae4 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x85ec542a wf_find_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x8919e8e9 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x94765fac wf_critical_overtemp +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 0xd3459fac wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xdb7e8499 wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xe09e57c5 wf_put_control +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 0x1b5f6905 dm_bufio_client_create +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-multipath 0xa094d632 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xcd94c145 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 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 0x49add85b dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5a99aafc dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6f3025bf 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 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x9e10f6ee dm_rh_inc_pending +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 0xb07f8913 dm_region_hash_create +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 0xdd201c20 dm_rh_dirty_log +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 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 0xef592c47 dm_block_manager_create +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 0xa15f6f69 md_raid1_congested +EXPORT_SYMBOL_GPL drivers/md/raid456 0x37a3e944 md_raid5_congested +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x08319587 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x3766344c saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x635d5839 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x63f4307a saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x69258158 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x6e7a6c4d saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x76561548 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7ad085a2 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x7c8b7b91 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0x843c286e saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xcf683cf2 saa7146_devices +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xd0d032fd saa7146_devices_lock +EXPORT_SYMBOL_GPL drivers/media/common/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x2ad90fe2 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x40d1b6ac saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x47504985 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x5f993738 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0x7e34792b saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xc0c5a139 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146_vv 0xf47f20b6 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x17d84db4 tuner_MT2063_ClearPowerMaskBits +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x1d277ddd mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt2063 0x731c30fa tuner_MT2063_SoftwareShutdown +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mt20xx 0xb3556f2f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/mxl5007t 0xbb06698f mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda18271 0xf927766e tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda827x 0x5c5e41c6 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x1be4113d tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda8290 0x69c207a5 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tda9887 0xafa84d89 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xa3a98c7d tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5761 0xbe68cfd2 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x019f829f tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tea5767 0x3d82eef5 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/common/tuners/tuner-simple 0x4e925881 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-demod 0x20456ae3 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/dvb-usb/mxl111sf-tuner 0xc20ad1be mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/frontends/tda18271c2dd 0x32c21b67 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x19b9569d mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x45a56ae1 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x48514912 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x48cb3dce mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x536dd490 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x5e6c611a mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x840df59d mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x843567c4 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0x895b30eb mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xb8bd2149 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xba30bad4 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc3c4488a mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xc79d7fd8 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xe073c5b1 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf02958eb mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf4064b6c mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/dvb/mantis/mantis_core 0xf9681c43 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x0040c253 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1992af07 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x1a2c8c2c smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x26b62372 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x44abe716 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x450ca7dc sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x52428547 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x5f8379fd smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x62e50282 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x64524467 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x674dc058 smscore_get_device_mode +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 0x78834348 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x8114bc79 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x951a5cd1 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0x9d5ef545 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xa79c135d smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xab3dad8c sms_board_event +EXPORT_SYMBOL_GPL drivers/media/dvb/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x22d5eb4f ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x2f42875b ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x36ba1028 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x61a28509 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x89707397 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0x89821cd4 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/dvb/ttpci/budget-core 0xfd99489b ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05ebf493 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0abbf676 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x19b00628 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1b6bfecb rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2041a2d9 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x328db587 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4df7d002 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x553efb91 rc_core_debug +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x73204d09 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x735b3c84 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7651366b rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7b9783c0 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8ecb8ef1 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9c85557c ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc352c8b6 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc8668b55 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcdd8d045 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xef63c591 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x15b57398 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x1908bdd0 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x21d4005c cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2754325f cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2be95fe4 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x2bf70387 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x3374d5a4 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x4f825a0c cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5375e100 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x590ab1e9 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x5e75c3e7 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x6a9b1f5d cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0x90739861 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xbdf98104 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc52c48b4 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xc59a4284 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd0a3f3da cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xd89120ec cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/video/cx231xx/cx231xx 0xeca43e9d cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/video/cx88/cx88xx 0xfec69386 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x00e6da90 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x14f6c57a em28xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x348ffaad em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x3f5bf7d3 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x4f237857 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x5cd65ffb em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7e144c9c em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0x8d1ece74 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xa1175e83 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xb9e59c70 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xd40eab32 em28xx_alloc_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xde5eb615 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xeae57906 em28xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/video/em28xx/em28xx 0xeef442fa em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x252ab7f4 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x42e5d0c8 saa7134_queryctrl +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x6a3aa63b saa7134_g_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0x869e8b73 saa7134_s_ctrl_internal +EXPORT_SYMBOL_GPL drivers/media/video/saa7134/saa7134 0xd9a07222 saa7134_s_std_internal +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x016455dd tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xab0e535e tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xb182415b tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xd69bf6b8 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/video/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x2ac0ec43 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x36e489d2 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x3774f055 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x4bbfc3db v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x725b4c30 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-common 0x80565eca 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 0x94632f90 v4l_fill_dv_preset_info +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 0x0e8416cf v4l2_int_ioctl_1 +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x34851dff v4l2_int_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x3c8a6cdf v4l2_int_device_register +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-int-device 0x9fba188e 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-mem2mem 0x00cfb503 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x04f752b3 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x053e1d89 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x17eddbba v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x43ec699b v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x57db7663 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x5943a642 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0x8291722b v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa07ef3f7 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xa8025d41 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xb9c4682e v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xd22aa65c v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/v4l2-mem2mem 0xfc7e9414 v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x11c06766 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x24b31a6d videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x265858f0 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x280e8680 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x29b87c2c videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x2a74641e videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x41342723 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x4810f250 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x5e00b0fd videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x6cf9710f videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x7ecf0190 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x86f0719d videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9abd14ea videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0x9ecf9b30 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xa9752151 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xae8aa16a videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xbfae9808 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc1623061 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc1d92100 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xc55e297a __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd436c934 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xd47e2529 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xee6c7861 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-core 0xf09eb952 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x5d4a6620 videobuf_queue_dma_contig_init_cached +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0x5f088fa3 videobuf_to_dma_contig +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xbc325240 videobuf_queue_dma_contig_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-contig 0xe8b99338 videobuf_dma_contig_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x2e7bf205 videobuf_dma_init_user +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x3d8b0449 videobuf_dma_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x43a35f6e videobuf_dma_init_kernel +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x53083448 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 0x6541cf33 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0x6bb98ddc videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xcf0d2ff7 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe449631d videobuf_dma_map +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-dma-sg 0xe806122d videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xb8d60525 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xc6a172cb videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/video/videobuf-vmalloc 0xf92334b8 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x121bef5f vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x1d41bfe8 vb2_write +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x3ee27f3f vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x404ca79e vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x4dd9b7d9 vb2_read +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x59a2e23d vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x5e533666 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x6cf9b3c3 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x85f01932 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8a858452 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0x8e2fbfb0 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xa05844ff vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xb76bf5f1 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xd4ee080b vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xe527fb1b vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xef124f35 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-core 0xf7f0664e vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x47827c6c vb2_dma_contig_init_ctx +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-dma-contig 0x661e6438 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 0x336f2f43 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x5f2d5909 vb2_get_contig_userptr +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x61ae6e14 vb2_put_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x67e368a0 vb2_mmap_pfn_range +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-memops 0x78bbd1d8 vb2_get_vma +EXPORT_SYMBOL_GPL drivers/media/video/videobuf2-vmalloc 0xf8d04dc2 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x0eba0f14 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x152857e2 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x23895672 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x2791c6fc v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x29961c5f v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x33aac5e6 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x6981c2b3 v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x80a3bb7c v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x81124f7d v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x85b83965 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x902e6b2a v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0x98c3ec7d v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa245202c v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa5144daf v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xa8942185 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbc9239dd v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xbdaf2500 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xc1831aca v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xceb9030b v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xe9f967e5 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf00fdf8f v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xf6a6379e v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/video/videodev 0xfa2ab4ee v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x5a9e615f i2o_dma_map_sg +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 0x8a0fde80 i2o_dma_free +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0x9ed2fdc1 i2o_dma_realloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xa3d5c081 i2o_dma_alloc +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xb9a1ac05 i2o_dma_map_single +EXPORT_SYMBOL_GPL drivers/message/i2o/i2o_core 0xf47d10ef i2o_sg_tablesize +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x15dfeedc lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xc8f27ea1 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd452635b lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x08518375 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x3a8795df lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4b348672 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4b7019c7 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4dd8361e lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x82031606 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x8cc66602 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x8ebe869e mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xce7a93f9 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xd13c77cd mc13xxx_common_cleanup +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x08d665b2 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x54ac01c0 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x75918e9f pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xac07183f pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb4933c72 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb5e2edee pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb8b2e365 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe2d0acab pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe43dcec9 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf0cdd7e1 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xfd26242b pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x50213f5e pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x65308c0d pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x37f2a3fd pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x48213efe pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc7f707f7 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xcac0f4a7 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xf5e5682c pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0dddc8b6 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0e8964c7 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x0f8ed1a1 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x1b0b4cff rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x3f311a20 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x40344384 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x41fd4b23 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x42bbc131 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x557deff1 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x5a582d72 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x7f124f2a rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x81f9798b rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x87f83830 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x901ad6cd rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0x96b420f8 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xa8438abc rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xae553d1b rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xae889431 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb6559345 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xb6f16d77 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/mfd/rtsx_pci 0xfc8a54c1 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x31fe3479 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6b906acd sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x76e1fb39 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8c1546cf sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x9527abf0 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x09b93767 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x323f2408 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x3a77288b tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xab274f0f tps65217_reg_read +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 0x94b7f65f ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x0346108d cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x5c705050 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x97a3a6e6 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xff4b088f 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 0x065cd3f7 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0df17e92 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x25a336b3 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x432934da enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xac9add05 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xeab84de2 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xeb4e4a76 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x18140a33 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x668d7b9d lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x850e72af lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd9870918 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xda40c9ca lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xe4ac585f lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xf4b51445 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 0xe141f61d st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xfac3a53c st_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x36d03c78 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3eb3a79a sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x65f59cc9 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x82860120 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc7e339f6 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcf3954a7 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd637ebe1 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd797e9aa sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf1f06944 sdhci_enable_irq_wakeups +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x09e1d423 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0bd1886b sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4b2c9520 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x59015a1c sdhci_get_of_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8d6e1b45 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xdee989bf sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x31cb7dd5 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x97510fcc cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xc8b51579 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x0aff9b03 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xb537ae69 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xe5f0f678 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xee4f22af cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb6d270bb cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb98f9452 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xce66673e cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/devices/doc2001plus 0x29b03d3d DoCMilPlus_init +EXPORT_SYMBOL_GPL drivers/mtd/devices/docecc 0x45937659 doc_decode_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x08de7844 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0e429bfe mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1184eae1 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x153c5512 mtd_erase_callback +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x26a0f12e mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2987bf0f get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b89bcad mount_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2c5cb210 register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x30aac16d mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x30e6f269 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x37d971c2 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3e962ecf mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x489176f8 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x51c40b86 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x540dd5e6 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5bbc7b46 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d714d07 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x61978349 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6a1db003 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7087c75c __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x82542f31 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x880dada7 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8ea7d4a4 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x908dc0be __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x959f7c1e mtd_is_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa2c0630a mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaab8c84c __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xab789278 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xac60f660 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb4c6b34b mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb53aa81d deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7c5e314 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbb7ed52a mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdea1c7e2 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe59b8657 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xed121df2 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf07ec329 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xff149601 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xffa4da49 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x0285fa17 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x262d45cc register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x634d3465 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xbce7dddf mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd6c6432a deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0x1af6e88e nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/nand 0xedc6a38b nand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/sm_common 0x11471bfb sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x3f8e5dc8 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/onenand/onenand 0x463f2008 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x099e8c3a ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x13055c19 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1fcad04a ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x289256e5 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x343844f5 ubi_is_mapped +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 0x5cfdd22d ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6ea7c9e9 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f09ba8a ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7721aeb0 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8a4a6379 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x93b388cd ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa22f9459 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xda8aaff6 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdae74110 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xdba9492d ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfd6f0ef9 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x071f8046 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x41653bce unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x46fae78f alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xed7a957d register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x0cef03e9 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x278968a9 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x338b65f7 alloc_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x3dade896 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x5b207e75 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x7fb26ec7 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0x82f0e15e alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xa5724c59 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xb6833a89 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xc7ae4343 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xd4f84738 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/can-dev 0xf88c8c7a alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x03ff8876 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x073d162a alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x10fa79d9 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xb3ad8af2 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0537b4df register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x57f34947 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xaab18e8e alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xb4d638ee free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x019003e5 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x07cd46c2 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d86eb24 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0de2e8d2 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12ab04c0 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x189b663c mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x194145fe mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b962c4c mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21eb0322 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2551721a __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x256eaa2b mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a6ce189 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b76a259 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30f798c7 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x315768be mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31fa7aa4 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x344527b2 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35ff665a __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x36c211a5 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a9ff5cb mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3aa1beb9 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e3f2d2f mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x456e5acf mlx4_put_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x467642fa mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53f662da mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55efa428 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x576b40d4 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x588f7b47 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x594e558f mlx4_fmr_unmap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c05353a mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c62599d mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ea4aaa0 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x64bcdec8 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67a7a664 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67edc1d6 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e196c24 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77c0b308 mlx4_fmr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7d833e15 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85fdb491 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x869553e2 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x870e600d mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8cad541f mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9388f0ef mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x955d10c2 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x977af883 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x99f068d4 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9c43ec86 mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e62f887 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa14aa9aa mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1e85214 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa7460ee0 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa02d0b3 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xac28d15c mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1775a0a mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb56a927e mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb653b916 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc14a8ae5 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2601d0d mlx4_fmr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2b5e0c4 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc47b569d mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc65d9db3 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce380fa1 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4d6e48a mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd547041d mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5521f2b mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5b5a247 mlx4_fmr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3b6b33f mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3d495f9 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe88a48b9 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xee035e37 mlx4_get_eth_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0749f95 mlx4_map_phys_fmr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf52537d5 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf5b49353 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfee877f2 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x6ea41514 macvlan_start_xmit +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x78546259 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x8fe3deb3 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xdf844953 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xedef88b8 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvtap 0x1ca72343 macvtap_get_socket +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x1283cdd1 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/phy/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x507b30ce usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5da92769 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe0164f27 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe5ff2da8 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2505c490 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2a3ef241 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7a52c369 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdfcee067 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xeaf310ba rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf197fa07 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x045de6c7 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x09530f56 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1248cdb0 usbnet_set_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1d447567 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1fa053dd usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1fc1e77d usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x49a6c39d usbnet_get_settings +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x56ed8386 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5dc5e087 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5f4345e0 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6ec4a9e4 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7aca668f usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x86d3b9c5 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x876b4a9d usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8e39bd84 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9bf454ae usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9cd3df08 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa02fcda9 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xacab0ad8 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc910b481 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcd52e1e4 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcd68db22 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd72293db usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf5773c12 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x14f40c8e i2400m_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x14fc272f i2400m_release +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x20e68911 i2400m_rx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x232f6f6e i2400m_dev_bootstrap +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x52a12a32 i2400m_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x5d7d2474 i2400m_tx_msg_get +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x660eb974 i2400m_dev_reset_handle +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x7b57bfec i2400m_post_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x933b7549 i2400m_tx_msg_sent +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0x9d31d5c2 i2400m_error_recovery +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xb00b793c i2400m_bm_cmd_prepare +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xbb0ab422 i2400m_tx +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc638e730 i2400m_pre_reset +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xc71c734e i2400m_netdev_setup +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xd21c5778 i2400m_is_boot_barker +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xdc76fc10 i2400m_cmd_enter_powersave +EXPORT_SYMBOL_GPL drivers/net/wimax/i2400m/i2400m 0xeb95d48b i2400m_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ipw2x00/libipw 0xf4a0ee65 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x0d05249b il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x2db71f8e il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0x4a5d5be5 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xb5d25e75 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/iwlegacy/iwlegacy 0xf510ef6b il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x09405f4a __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0ab991ca lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x0e4d2337 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x1c12c685 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x3e8d8d42 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x593f9bd0 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x7875e5fb lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x8a17da90 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x926c3ed8 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0x97facb17 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xa592dcd2 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xaa2e7ff8 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xb7823457 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xbe49b80a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xd7391bc4 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas/libertas 0xea5b4c6f 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 0x19576342 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x660e1e14 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x6790245e lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x7a0daf05 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x868f8c86 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0x958db2fa lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xde647481 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf 0xfca75714 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0x1a0c847d if_usb_prog_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/libertas_tf/libertas_tf_usb 0xd07d386f if_usb_reset_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1381457f mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x13a6d7f6 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x1d0ad081 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x28c93238 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x2d8c11ed mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x43373fd7 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x5a627307 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0x8f267259 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xcfe1db37 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd11591da mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd33dba09 mwifiex_deauthenticate +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xd7610a2d mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mwifiex/mwifiex 0xe417af2d mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x4a3bd0b5 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x55638a5b p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x5f1fea46 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x7b4cd706 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x8ae44212 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0x90151e07 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xca997e16 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xe317a97d p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/p54/p54common 0xed59be8d p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0845d220 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0bb57342 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0c481e14 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x0eb315a2 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1bd3859d rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x1e23026a rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x20b0631f rt2800_get_tkip_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2a768b94 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2c0ccc01 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2da06404 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x2ec90c4e rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x3ff0720b rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x494c59fc rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4e113548 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x4fb07f88 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5181dcf9 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x5a32217a rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x6949ae21 rt2800_probe_hw_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x71f9c600 rt2800_validate_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x745e73f7 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x78c7752a rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x7ad0fced rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x80b3e1aa rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x89a30e43 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x94da6ef4 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x95b915e8 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x980eeaaa rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x99cd516e rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9c4b7a10 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0x9ee402de rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xb13cdd62 rt2800_init_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc24b7517 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xc4dfa252 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xcddf41ce rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xd9fc6439 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe1bdc377 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xe991680f rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xed2b0369 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2800lib 0xf21bb8cf rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x10307556 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x10eabe10 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x15d7f4fd rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x216eb79a rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x281edcab rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x37f8fbdf rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4397bf2b rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4b6c627f rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x4d7a3993 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x532c46b5 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5ca74efa rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x5ed233e1 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x65de1955 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6a1eab49 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x6d27d903 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x83ddcfe3 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x87434a27 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x89133bd3 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8bcbded8 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x8d12ae5c rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x93e97b8e rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x94abb303 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0x95f1d7f1 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa60a90b9 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa88887f5 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xa8d49a45 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xab332422 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xaef2c89c rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xb8e70cc6 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xbff1e876 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xc79b643e rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xca6c6928 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcdc28fd9 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xcecc5a15 rt2x00mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd06d1168 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd2cd4c1e rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xd3005e41 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdb11def6 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdc53056c rt2x00mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xdff7536e rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe0a96d14 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe1fe049d rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xe8cab960 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf655d4cf rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xf7bb505f rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00lib 0xfc30e052 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x05bf4a9c rt2x00pci_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0c8faee2 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x0d7b1fec rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x4eab44a3 rt2x00pci_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x5ec9a8c8 rt2x00pci_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0x5f2077ef rt2x00pci_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xb45ec416 rt2x00pci_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xc0130647 rt2x00pci_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00pci 0xda5b058d rt2x00pci_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x08e6c890 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x092f1a2a rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x1d26665f rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x22ca94e6 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x28b5f72a rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x3c16467f rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x4c130cbb rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x589380fb rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x738e6077 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x86584e4e rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0x9b243e61 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb42ee588 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xb6968325 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xd5bcb18c rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xdad80c3d rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/rt2x00/rt2x00usb 0xef6ef272 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x0e35965e wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x45d72e24 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xd22ec279 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x02fa06c0 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0ca8ecc5 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3f6810b1 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5361114f wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x53dff67d wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x589f122f wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7e3fe2aa wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9d58af29 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xaa374294 wlcore_select_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbbd90c30 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcb9bd2fc wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe37894eb wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe3b1e253 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf3a65fd6 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xff5efde4 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x01cc7086 rpaphp_slot_head +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x17dfab13 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 0x5fab4bec pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x8b855971 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/pcf50633-charger 0x9db32ce1 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 0x063995ae ps3stor_send_command +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0xad33b9b5 ps3stor_setup +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0xb55e8560 ps3stor_read_write_sectors +EXPORT_SYMBOL_GPL drivers/ps3/ps3stor_lib 0xbbbb9597 ps3stor_teardown +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x1165e720 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x55bbbed6 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x6f0178a4 mc13xxx_sw_regulator_is_enabled +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x87802a66 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x87ad03e1 mc13xxx_regulator_list_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x8ed7fd32 mc13xxx_fixed_regulator_get_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd0c27c45 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe5f5f55e mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2c8d4554 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xa121ccf8 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xaf0d5754 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb1445ac9 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xda67d1ca wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xefda8ae7 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xf22f395b wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x020f62b9 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0ac871c0 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x19220ba4 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1a8faafc cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x28e80b6f cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2953efc3 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f12708c cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3630b971 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x36a62d4b cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a5c4389 cxgbi_ddp_page_size_factor +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x42c61d02 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x44296c6f cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x45bf7d3d cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4b0e7dd6 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4ce4635e cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5739be07 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x592cf695 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x633ec46c cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x63d8add4 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6a2f4925 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6ad09a62 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6b3d2987 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x77f1faac cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x791cb6d5 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e6cfb57 cxgbi_sock_act_open_req_arp_failure +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 0x8e4bbf79 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x97a85aee cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x980a66dc cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9b577de6 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa63565db cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa76feb14 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf7d6a44 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb2565708 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbbffdaae cxgbi_ddp_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbdb2e754 cxgbi_ddp_ppod_set +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc4377995 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc6f0763a cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd13db6d0 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd22f286e cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe090f790 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe621e541 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xedc8ad8c cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf45d9069 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf7c3e76a cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfe8743b5 cxgbi_ddp_init +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x12ea69df 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 0x6470e0af scsi_dh_detach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0x9d7d4114 scsi_dh_set_params +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xae15bba9 scsi_register_device_handler +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xb7676218 scsi_dh_attach +EXPORT_SYMBOL_GPL drivers/scsi/device_handler/scsi_dh 0xc1827d4e scsi_dh_activate +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x03c8bc5d fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0fb51275 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1d342755 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x374c1e1c fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4b49f108 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x84b3d915 fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9072af2d fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa314b981 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xaceca1cb fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb9594b66 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc31749cb fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd853499f fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdf23f402 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe4590827 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe6b84683 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf5c6fd34 fcoe_check_wait_queue +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 0x09ddcdb5 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0d17698b iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x16cd7f31 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x16fc32a1 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x26ec63e8 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x271e753c iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x291a80e5 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b0b2b86 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eb88f8b iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x34add0c4 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3ab69b78 iscsi_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x40a6299b iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4d3b3409 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4f4c6ac4 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x506275b8 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x540f7c87 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x55dd134f iscsi_eh_target_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x685b7a9e iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6b0e1481 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6e568528 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x72555c30 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x72d100ed iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7be51690 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7d777701 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x82397f97 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8e8e78af __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9dea2cd2 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa0c84c9d iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa2fefd6b iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa4832cf0 iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa6262693 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaaf65eba iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xadddb4fd iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb1766ac3 iscsi_conn_queue_work +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb49a8e73 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb52e5485 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5ee53ba iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbf14a70f iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc0cb02f4 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc1e715bf iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5fa1ead iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcc9ad0b2 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd3e76324 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd67109df iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb08dcdf iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe94edd59 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x02c4b581 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x08e8eff6 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x24f8af3e iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x26eb1583 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ad2c26f iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x551102f7 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5c470d02 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x703f7d3f iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x765d1802 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x88dad27d iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x94c1603c iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa6c8468a iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc2b06e37 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc582b301 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe4e4d3c9 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf73f4d44 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xff473006 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x002d9c2e sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x08e95f7c sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1059613f sas_eh_bus_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1d30b0ab sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x284a3111 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x303497bd sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x359f2698 sas_change_queue_type +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x405122b9 sas_domain_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x49c1b38d sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4f1666e7 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x56ed8f2f sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6ba5627c sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6bc9ff50 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8097958b sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x85e3318f sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x91aaa5f2 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3981d15 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa3e2735c sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xba4c4d55 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc86d748e sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd7f0b56a sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe59d6064 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf3cfc19e sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x17f73afd srp_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x228338a4 srp_target_free +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x3807a58f srp_iu_get +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x925283a4 srp_iu_put +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0x9df90385 srp_cmd_queue +EXPORT_SYMBOL_GPL drivers/scsi/libsrp 0xc6c54bbc srp_transfer_data +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x0216b09f scsi_tgt_tsk_mgmt_request +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x024a3985 scsi_tgt_cmd_to_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x1180f2a8 scsi_tgt_queue_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0x7816a5f9 scsi_tgt_alloc_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xd9751511 scsi_tgt_it_nexus_create +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xdf5707cb scsi_tgt_free_queue +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe61b6955 scsi_tgt_it_nexus_destroy +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xe6467261 scsi_host_get_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_tgt 0xeec8f0d2 scsi_host_put_command +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x15aaca24 iscsi_destroy_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x214660de iscsi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33e8eecb iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3f09e92f iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x41b4d2b6 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x42bf20eb iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x45121bc3 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x472766e9 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x478176a8 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4860e24b iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x49380192 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52b82718 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5f45255d iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x613a40f7 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x61746452 iscsi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x67e71526 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x844e472a iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88eaf8a8 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x92974256 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x95b10160 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x97806ca4 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9ae21fe2 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa28c033e iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xac669edd iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbaf64d3e iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcd273dc4 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd14f1d1f iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde1e1325 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xde948a76 iscsi_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdfd1b724 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe23fc629 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe7ffe468 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x213b0406 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x9ab54eec sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xb8289370 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd045ad1f sas_tlr_supported +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 0x26dc3955 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x476a2cfa srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x896ef866 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xc1e69efd srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xeddd81d6 srp_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x06fb9616 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x25e3fd14 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x730a3be1 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x97015296 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc010fedb spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xfc1e3058 spi_bitbang_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x1d4775cf dw_spi_resume_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x23245cd0 dw_spi_remove_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x372e546d dw_spi_suspend_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x495c0401 dw_spi_add_host +EXPORT_SYMBOL_GPL drivers/spi/spi-dw 0x9c86a64b dw_spi_xfer_done +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x44c92956 ssb_pmu_spuravoid_pllupdate +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 0xb34be5d2 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x03f17e4f ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x454551a0 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0x89525cec ipack_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xa3be0adb ipack_bus_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xf1821275 ipack_device_register +EXPORT_SYMBOL_GPL drivers/staging/ipack/ipack 0xffa6d258 ipack_driver_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 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 0x04eeb702 sockfd_to_socket +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x0e243bcd usbip_recv +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x188859fe usbip_event_add +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x1b7a0b8d usbip_start_eh +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x1e81dc91 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x2126b53e usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x3afbde7b usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4805ffcd usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x4fd6deec usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xc7d23820 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xdf3a52ef dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xea725b93 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/staging/usbip/usbip-core 0xffeb3eae usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/tty/n_tracesink 0x585ebaac n_tracesink_datadrain +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x06cb43c2 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x083c49c9 serial8250_modem_status +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x4cd26158 serial8250_tx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0x8ce2b824 serial8250_handle_irq +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250 0xc9848bd3 serial8250_rx_chars +EXPORT_SYMBOL_GPL drivers/tty/serial/8250/8250_pci 0x11d86f6c 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 0x2dadef61 max3107_probe +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x648b1592 max3107_hw_susp +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x6d1ca306 max3107_suspend +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0x8155d6ec max3107_remove +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xb46705f4 max3107_resume +EXPORT_SYMBOL_GPL drivers/tty/serial/max3107 0xb75be04f max3107_rw +EXPORT_SYMBOL_GPL drivers/uio/uio 0x337a60af uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x6c1fa0cb uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xb5a6797c __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x095ca891 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x6e989fca 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 0x55db218e usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x76e3580a usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0x8b66ba34 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xa4d0c12d usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xad34b34d usb_gadget_probe_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc-core 0xb706836a usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0e5198d5 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x211b94bd usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x287efe6e ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4b0ad633 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5cc06285 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5dfe9bcf usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8d815a7a usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd1997439 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xed4719c3 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x44fe9f4c musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/tusb6010 0x27abb744 tusb_get_revision +EXPORT_SYMBOL_GPL drivers/usb/phy/isp1301 0x2dcf5e17 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x04626f7a usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x17afab32 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2a0134f6 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2b643926 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4aa0af38 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x57ace037 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5c63983c usb_serial_generic_disconnect +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x64551c59 usb_serial_handle_break +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x64eeee1c usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x696cfc51 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6990a231 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8a4e4d2f usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8f8d9dc0 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x97349601 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb00d400c ezusb_set_reset +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd2a59d05 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd2c7f6a9 ezusb_writememory +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe73dbaed usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfd0c752b usb_serial_handle_sysrq_char +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x01c3afd6 usb_stor_set_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x0ab0e766 usb_stor_probe1 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1012aceb usb_stor_probe2 +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x14e53a52 usb_stor_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x1a6abe80 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 0x2c4585b7 usb_stor_Bulk_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x2fec00cd usb_stor_access_xfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x526363be usb_stor_post_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5732b93b usb_stor_Bulk_transport +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x57a0daed usb_stor_reset_resume +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x587bc136 usb_stor_pre_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x5cf803e3 usb_stor_ctrl_transfer +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6634d87e usb_stor_suspend +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x69a5df0b usb_stor_CB_reset +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x6cfb9c08 usb_stor_bulk_srb +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x8d7623cc fill_inquiry_response +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0x9765e1b1 usb_stor_bulk_transfer_buf +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xa8647609 usb_stor_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xbdeaca07 usb_stor_control_msg +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xd870a601 usb_stor_disconnect +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xdb2d3b6d usb_stor_transparent_scsi_command +EXPORT_SYMBOL_GPL drivers/usb/storage/usb-storage 0xfc9498bd usb_stor_bulk_transfer_sg +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x0bfed0c1 __wa_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x122f15ac wa_urb_enqueue_run +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x56361132 wa_urb_enqueue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9036f35f wa_urb_dequeue +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x9703133b rpipe_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0x97fc0880 wa_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusb-wa 0xcb55ad58 rpipe_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0bb6bf5e wusb_cluster_id_get +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x0e6ab34f wusbhc_rh_resume +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x268ceac0 wusbhc_reset_all +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x36b9aa25 wusbhc_rh_start_port_reset +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x3fd4bdf3 wusbhc_chid_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x50e8504c wusbhc_mmcie_set +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x50f6489b wusbhc_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x75274200 __wusb_dev_get_by_usb_dev +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x7f0b7631 wusb_dev_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x8579d832 wusbhc_giveback_urb +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x91bced56 wusbhc_b_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9318a00e wusbhc_b_destroy +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x9408c299 wusbhc_create +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0x980a99d9 wusbhc_mmcie_rm +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xa9733034 wusbhc_rh_status_data +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xb725d128 wusb_cluster_id_put +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xe840375b wusbhc_rh_suspend +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xea834a5b wusbhc_handle_dn +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xf770a6b4 wusbd +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xfe2e17d7 wusb_et_name +EXPORT_SYMBOL_GPL drivers/usb/wusbcore/wusbcore 0xffb6779a wusbhc_rh_control +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xbb2689c7 i1480_cmd +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xc2812376 i1480_fw_upload +EXPORT_SYMBOL_GPL drivers/uwb/i1480/dfu/i1480-dfu-usb 0xc680f9ae i1480_rceb_check +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x005e5219 umc_driver_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x31e96062 umc_controller_reset +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x335bb5fe umc_bus_type +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x5502e75c umc_device_unregister +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x65ad7a20 __umc_driver_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0x8547f9cb umc_device_create +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa09c0e5f umc_device_register +EXPORT_SYMBOL_GPL drivers/uwb/umc 0xa764dd64 umc_match_pci_id +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x04bcb451 uwb_rc_ie_add +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 0x1acac0ec uwb_rc_alloc +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x22bc86c5 uwb_rc_neh_error +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x3083fe4f uwb_notifs_register +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x458ba46e uwb_rc_dev_addr_get +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 0x588c35f9 uwb_rc_ie_rm +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x5f59ee21 uwb_rc_cmd +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 0x71ffdb74 uwb_rc_mac_addr_get +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 0x856f1978 uwb_rc_init +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x89e2d00e uwb_rc_get_by_grandpa +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x8e848466 uwb_pal_unregister +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x98413234 uwb_rsv_state_str +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0x9a18b205 __uwb_rc_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa339f391 uwb_dev_try_get +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xa800bc4a uwb_rc_get_by_dev +EXPORT_SYMBOL_GPL drivers/uwb/uwb 0xac97316b uwb_ie_next +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 0xbaf7ace3 uwb_rc_rm +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 0xdaa56736 uwb_rc_put +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 0xf5488447 uwb_rc_add +EXPORT_SYMBOL_GPL drivers/uwb/whci 0x1e27b4d7 whci_wait_for +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x1703f3e3 auok190x_send_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x225c4273 auok190x_pm +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x26ba3277 auok190x_read_cmdargs +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x322e37df auok190x_common_probe +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x4c2c8002 auok190x_common_remove +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x8620a6c4 auok190x_send_command_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x9360d4ec auok190x_send_cmdargs_pixels +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0x95ae1b31 auok190x_send_cmdargs_pixels_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xd451e8f5 auok190x_send_cmdargs_nowait +EXPORT_SYMBOL_GPL drivers/video/auo_k190x 0xe4481961 auok190x_send_command +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x10663738 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x10c33ed0 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5750e240 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x6d515509 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8c8b0d08 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9029f14d ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd7bd6a8c ili9320_write +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x4b1951cc sis_free_new +EXPORT_SYMBOL_GPL drivers/video/sis/sisfb 0x50105962 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x200c6cf4 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x63aaecc9 unregister_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0x8d585cd7 register_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xc7e28027 register_virtio_driver +EXPORT_SYMBOL_GPL drivers/virtio/virtio 0xf7d587e9 unregister_virtio_device +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x3cf02088 vring_transport_features +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x42406665 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x526ffded virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x5353339b virtqueue_disable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x6372f357 virtqueue_enable_cb +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x63757fda virtqueue_notify +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x644e47d1 vring_del_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x774e3441 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x77e7db3c virtqueue_poll +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x7f3d0fde virtqueue_get_vring_size +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0x8b76c189 virtqueue_get_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xbcfcfcde vring_new_virtqueue +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xce1d5e05 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xcfc57e49 virtqueue_kick +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xe4b55653 virtqueue_add_buf +EXPORT_SYMBOL_GPL drivers/virtio/virtio_ring 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1c031f09 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x3940aeb7 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x40397273 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4967565a w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4d72c1fe w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x57718dba w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7c2f2afb w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9d21ceee w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb9d4842f w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd0a1663d w1_reset_resume_command +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x09aebf2b dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x6c0ea4a7 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x8ed3cfa3 dlm_posix_get +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 0x024769af fat_getattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x0db12deb fat_dir_empty +EXPORT_SYMBOL_GPL fs/fat/fat 0x0ec1273b fat_time_unix2fat +EXPORT_SYMBOL_GPL fs/fat/fat 0x2abfaad4 fat_setattr +EXPORT_SYMBOL_GPL fs/fat/fat 0x2be18bef fat_alloc_new_dir +EXPORT_SYMBOL_GPL fs/fat/fat 0x39775e48 fat_attach +EXPORT_SYMBOL_GPL fs/fat/fat 0x3df7d501 fat_build_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0x6f07b812 __fat_fs_error +EXPORT_SYMBOL_GPL fs/fat/fat 0x709b8b4a fat_remove_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0x7acc81b1 fat_detach +EXPORT_SYMBOL_GPL fs/fat/fat 0x8554abca fat_free_clusters +EXPORT_SYMBOL_GPL fs/fat/fat 0x91c86f75 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL fs/fat/fat 0xb3e4207d fat_scan +EXPORT_SYMBOL_GPL fs/fat/fat 0xc0493414 fat_add_entries +EXPORT_SYMBOL_GPL fs/fat/fat 0xd9d84bf8 fat_sync_inode +EXPORT_SYMBOL_GPL fs/fat/fat 0xdab18031 fat_search_long +EXPORT_SYMBOL_GPL fs/fat/fat 0xeaf01fc0 fat_fill_super +EXPORT_SYMBOL_GPL fs/fat/fat 0xfab28d7c fat_flush_inodes +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 0x28eaacf1 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x34d9be1e nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4d69bb2f lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x538f04c3 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6d067560 nlmsvc_ops +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 0x82884115 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x96877ac4 locks_start_grace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc7cbb353 nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x052bc65c nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x14bba893 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e7bacde nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fe93002 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x211cb530 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x249b0795 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27a87beb nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3aaac764 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca31f35 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x445cb9a2 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x468710ab nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b026cc4 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4e764449 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5092ee86 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x522a35bd nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5730112d pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b2053b0 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b8d95fd nfs4_proc_getdevicelist +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5c2a221e nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x67c0f26d nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73b9ee9b nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73f05337 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x784256ee pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7d140c1e nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c2b4a2d pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c3e7d3e nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x961926a3 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa176ea73 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2ba4a0d nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xacc9e9f9 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xad11c1ef nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf608af3 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb66a1808 _pnfs_return_layout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc02125f6 nfs41_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc29f50b3 nfs4_insert_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc63e7d19 nfs_initiate_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6e7a924 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8fd7a3e nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcda0d9b0 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd59b4b40 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd900933f nfs_initiate_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb0f97e2 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6f3edee pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe72daec1 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeac147ad nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf860ea98 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfa24f453 put_lseg +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa4ff750d nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xc67e26ce 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 0x1f621e71 o2hb_unregister_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 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x905e0366 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa775530d 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 0xded610a0 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xe0f9dd4b o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xee0fc268 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xef733d2b o2nm_node_get +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 0x18aecb70 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x402c5699 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x67540e20 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x6de059fa dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x703120b8 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb6a159d2 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 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 0x3a86aa69 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x49cbc733 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 0x66f9c4b9 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/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 0x059e4055 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x45ef5f71 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x7bc42ecd garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xda29fa35 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xe18a388d garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xe968ba88 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x3f36b4b6 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xe0c6dcb4 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x096df660 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xdb1c8a7f 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 0xf19d2ca5 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe27bbea1 bt_debugfs +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d99d49a dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x284901aa dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f59dd74 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33de902b dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x392f1aad dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3cc7f45d compat_dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3efe95d6 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x49f8a446 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4a48b266 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4c365c7b dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4c92d03b dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4d004b3b dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ec35231 dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x589e21fd dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e2cd023 dccp_insert_option_elapsed_time +EXPORT_SYMBOL_GPL net/dccp/dccp 0x65002802 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6843845e dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x716d1b51 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7291355d dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x77f54479 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8eb936a7 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8f8f24cc dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9021e54b dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x98af18f7 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa167da1a dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa336e33b dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaac9cd50 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xadc081f8 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb6252286 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbf6648b4 compat_dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc0b7b890 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd0a6c340 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd6549ff7 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdd4843b5 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xed99ad7b dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf3017e21 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf5465cfb dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf5e05e46 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf810bc3a dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf9d821f7 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x25512f09 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3bbe2858 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x99d044c5 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9f0e9267 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd83a357a dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xdccc04f3 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x89c76257 register_switch_driver +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x89e22cf6 unregister_switch_driver +EXPORT_SYMBOL_GPL net/ipv4/gre 0x06f0aea8 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x86e55e65 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x160775b2 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6d6ebab7 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x91570d7f inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc6dff75a inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd3b6c1bc inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe4607224 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x22c9e33d arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xd9c788e7 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 0xb33d2dc5 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 0x3de64dee nf_nat_proto_in_range +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0x57287b56 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 0x74727f45 nf_nat_packet +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xa381ebee nf_nat_proto_unique_tuple +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xc89c84e5 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_nat 0xe13de613 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 0x31565053 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8258d670 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xb1ee5387 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc5aaf62c tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xfc772591 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x05541d59 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 0x0092e046 l2tp_session_find_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0c2f9e8c l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2371125a l2tp_session_free +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x309a9cdc l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x56824d06 l2tp_tunnel_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x70471b46 l2tp_session_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8c5b3cab l2tp_session_find_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa4fa733d l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xae0822f1 l2tp_tunnel_find +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe5308e6e l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf252aea3 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfdee6319 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x10a22204 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x648d4a87 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6af10337 ieee80211_iterate_active_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x91e571a3 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb4b20368 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbc52fc48 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe34699fc ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe52c46a4 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xebde69a8 ieee80211_key_removed +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xffbdd37b ieee80211_request_smps +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x58c8e599 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x61ff2f8b ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6b4b8d95 ip_set_get_ip_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x72e6c518 ip_set_add +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 0x8c1be6f0 ip_set_get_byname +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 0xacfaafb9 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xafeb86fe ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb6be200b 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 0xc988c578 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 0x57305dd4 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7dd42145 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xaed5c79a register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xefb01f3c ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x01e1d5fe nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x045072cd nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06f4d5bc nf_ct_l3protos +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1139a351 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x11eab15d __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14c307bd nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e9ce93d nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2324a712 nf_ct_l3proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x267de9c1 __nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x26e78fbd nf_ct_delete_from_lists +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32a73dfb nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x37386cac nf_conntrack_hash_rnd +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b3b7795 nf_ct_expect_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3ed97ce7 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f5b1415 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4327a958 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x467e8cf0 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x483c051b nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b22658b nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c50b4d8 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5288e2aa __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x56a906d4 nf_ct_iterate_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x576e575f nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5cac20c2 nf_conntrack_l4proto_udp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x62813e5c nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69deb65f nfnetlink_parse_nat_setup_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6d7302a5 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e224a7a need_conntrack +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6e9a4240 nf_conntrack_l4proto_udp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ea12092 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fff8279 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x779c6d2c nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78741df3 nf_ct_timeout_put_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78f9b710 nf_ct_l3proto_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7cf9347e nf_conntrack_l4proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7dbbdc48 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f8fbf82 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x83f98cdb nf_ct_timeout_find_get_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x84a90765 seq_print_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x87cdc349 nf_conntrack_l4proto_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8873da6d nf_ct_l3proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88dd23dd nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8bf5170e nf_conntrack_flush_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c2f3dd4 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 0x9fdd98dd nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa23bdf9d nf_ct_extend_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa3241cbb nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4919b95 nf_ct_l4proto_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaa14f0ed nf_conntrack_l3proto_register +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 0xb3c41afe __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb602c57e nf_ct_l3proto_module_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6364559 nf_ct_nat_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb6ad820c nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc0240dd4 nf_conntrack_set_hashsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc15d264d nf_conntrack_l4proto_tcp6 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc2732b0d nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc27c621f nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6272630 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc86c8b0a __nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc9155275 nf_ct_expect_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcb5f8c3f nf_ct_extend_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd4064d27 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6707f4f nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd6a7f21a nf_ct_insert_dying_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd71b67f9 nf_ct_get_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdc8e303c nf_conntrack_l3proto_generic +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf1a8f7c nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec5ab991 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf36b44cf nf_conntrack_l4proto_tcp4 +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf557e6f8 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf698cde9 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfcce26ce nf_conntrack_l3proto_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe6832c9 nf_ct_l4proto_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xff706f0c __nf_conntrack_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xa5b0705c nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x6ef82bf2 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x538a3278 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x06b7e134 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x0bd24a88 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x1c542d5f get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x652cd17a set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7d655071 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x867c1449 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8aa45fb0 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x96664ae7 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xcb090bc9 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd0318679 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x1b1e511e nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x08c68b21 nf_nat_pptp_hook_outbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x4fb8118c nf_nat_pptp_hook_expectfn +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x6c53d1db nf_nat_pptp_hook_exp_gre +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xcd07708f nf_nat_pptp_hook_inbound +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0x122276d7 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_proto_gre 0xaa083426 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0295ddb2 nf_nat_sdp_session_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0368f413 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x10ba87c2 nf_nat_sdp_port_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x196ab25c ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1eb039ee ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x43e00eca nf_nat_sip_expect_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x60e783e9 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6e81a096 nf_nat_sdp_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fb52257 nf_nat_sip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8934e810 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8a80e86a nf_nat_sip_seq_adjust_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xc8925126 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdfb1c777 nf_nat_sdp_media_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x3a7e6161 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xe181d181 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tproxy_core 0x664d4bf7 nf_tproxy_assign_sock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0b5f8c68 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1ae01c02 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1f58e71b nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3895cd7a nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x9495f767 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa2b9c498 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xea6b737b nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xffbfdaab nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x21f6bba6 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7e914a42 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_log 0x8d3f9657 nfulnl_log_packet +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x022eedba xt_hook_unlink +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x161d1417 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x28b85cca xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3b22383d xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x40728a63 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x41ed0ef6 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x45751ddd xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f82f1f7 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x63699780 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x691a6d69 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7087b315 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7b15b289 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x97b1cd64 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x97c40582 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa11c9e68 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa303a2f1 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa5fc0fdd xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa9ccc75b xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbc3be08f xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbd732eda xt_hook_link +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0b4971b xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe7343511 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec24fd82 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf385bd62 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfc7ed4fe xt_proto_fini +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 0x01e8f0a9 rds_send_get_message +EXPORT_SYMBOL_GPL net/rds/rds 0x055f666e rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x0e61a685 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x2c5c5514 rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2e975494 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x3101936e rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x34d715fa rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x3b4fc0fc rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x493dac72 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x50cbe7b3 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x53fd7e45 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x557cf7e3 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x5ae10bb8 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x5b1c51e6 rds_page_copy_user +EXPORT_SYMBOL_GPL net/rds/rds 0x6eca90fe rds_connect_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 0x7a07557b rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7bc62829 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x8ffe414c rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x9366fa69 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xa5512962 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xa9486fd0 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xb503c79f rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcad5f270 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xed4c0b11 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xf0911bac rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xf343327c rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xf4fb5f06 rds_info_register_func +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x18b5bb3c rxrpc_register_security +EXPORT_SYMBOL_GPL net/rxrpc/af-rxrpc 0x8e98530e 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 0x1e33467c gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x36bc9a29 gss_mech_list_pseudoflavors +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x4f23cc3d svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x54096150 gss_svc_to_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x61b674e7 gss_mech_get_by_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x71dbc2a1 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 0xaa715117 gss_service_to_auth_domain_name +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xb5dea7ef g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xca831962 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe4379e3c gss_mech_get +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe619435e gss_mech_put +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xed9c552a gss_mech_get_by_OID +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xef95ef87 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 0x00c4ae73 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0302ed5f svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03bb8058 xdr_reserve_space +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 0x0b73fa4d svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c0b3d74 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0dcb916b svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e1df5ba write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f668ba9 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fb01c45 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11318e4a cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181f0b9f rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18c6539a xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c3c67c2 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cd298c3 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e330c1b xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fab988c rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2828f299 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2987c24d _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c82d89a rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2cbe4a04 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d3c126c svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d4879d1 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e1a6912 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eec63c9 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f53135b svcauth_unix_set_client +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 0x33744c9f svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34a01467 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x353dd67e svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f78336 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37a49704 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38a0e0da xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aaa2313 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b5c5c81 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dca6afd svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4080454e xdr_set_scratch_buffer +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40b5f14b xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4272782d rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x471f7e48 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48ef79e9 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cf9b291 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d3d7c07 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52af77ae unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x537f4bbf xdr_partial_copy_from_skb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54414154 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54cd37f3 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55239f6f xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55caa5f8 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x560f9d80 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5aec11f0 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b59de16 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c6bc65b rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ef8d52c rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6123e720 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6288cd98 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6593d825 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65d1e90a xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69601513 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6aac2c98 svc_shutdown_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6becb340 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c7d6f56 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cb60d59 rpc_queue_empty +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6da907d9 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ddbe20b rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ea86a4b rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70928cc2 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70a6f95e xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70ba8bdc auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7110db09 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x779d364f xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78304f35 rpc_protocol +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x790857aa svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b0319ca rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b552bba svc_create_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c7fd023 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dac4dd5 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e97353b rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81d64a21 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x82bcd36d rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8341447a rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83420427 sunrpc_cache_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x836fca59 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x841d407a auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x84d231b5 xprt_lock_and_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86475314 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8736fd10 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87a0753b rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89d48d7e svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89e14a6b rpc_print_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a0406a8 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8aaa97fe xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cfce229 xdr_buf_read_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dd77cd9 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e4e0f18 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90fa3a95 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94a39b97 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x960510be svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x963f514c svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98f7fe77 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9922fc91 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9990a0d2 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b05b6f0 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c4c3df1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ca945be xprt_set_retrans_timeout_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa201b3cf xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6565efe rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7595dba xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7d2da70 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8e9e62e bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa763ae0 rpc_rmdir +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac8e0d98 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae254ba5 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae5d71ca svc_sock_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaebee234 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf9082d0 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7be5fa5 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9a86bab svc_prepare_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba7bf92d rpc_lookup_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba95b13b rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbaad14f3 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbaf1027a rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbca707c4 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd9cf10f xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf1774f9 rpcauth_generic_bind_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf3941f3 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc02d8546 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc26eda98 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc27abda3 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3177a09 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3880471 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3d1a584 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc496ed81 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc547f047 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8032f77 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9725410 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9bbe8f5 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca81bd7e svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb152a34 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb5198db xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcce01d99 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd66fe70 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd8ec6c6 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcecd648e rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcee467f3 xprt_load_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf19c193 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf3bc0f1 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf98b37f cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0613814 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5520fb1 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd724fc49 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd747b03e rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7a46a45 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9429690 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb7feed3 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdccbc554 xdr_skb_read_bits +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfb2368f xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfb8903f sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe10b6273 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1ac2bb8 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1f55447 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2f5b971 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3d3d6c5 svc_close_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6ffad3a rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe972e616 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea49d5a3 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebe75e41 rpc_lookup_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedf98d19 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef91a160 rpc_task_reset_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeff24bf9 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf01a253a rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf425a2e7 xdr_encode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf440d1c8 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf44f2457 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4a4e12e rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6a98b8c xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8db4221 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9d1164c rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc4df0b8 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd78a8f7 xprt_set_retrans_timeout_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe23014b rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfef02d9b rpc_put_sb_net +EXPORT_SYMBOL_GPL net/wimax/wimax 0x065db185 wimax_msg_data +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1b692aab wimax_msg_send +EXPORT_SYMBOL_GPL net/wimax/wimax 0x1f18d18f wimax_report_rfkill_sw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x2d3c7dfb wimax_dev_init +EXPORT_SYMBOL_GPL net/wimax/wimax 0x43b51b1c wimax_state_get +EXPORT_SYMBOL_GPL net/wimax/wimax 0x57ce40cd wimax_dev_rm +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6948d2eb wimax_msg_data_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0x6ab7fe2c wimax_report_rfkill_hw +EXPORT_SYMBOL_GPL net/wimax/wimax 0x7c65ffcb wimax_msg_alloc +EXPORT_SYMBOL_GPL net/wimax/wimax 0x83b3873c wimax_msg +EXPORT_SYMBOL_GPL net/wimax/wimax 0x889ec9f8 wimax_dev_add +EXPORT_SYMBOL_GPL net/wimax/wimax 0xaff313b3 wimax_msg_len +EXPORT_SYMBOL_GPL net/wimax/wimax 0xb5b11ebb wimax_state_change +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0ebdb353 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x115ab266 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1a240cf5 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1acb37f9 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x23ffe5bc cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x27496c2a cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3badaad3 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3fa91215 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xaabfc72e cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xabf9a681 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd84e6f9d cfg80211_wext_giwrange +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 0x7a135b3d pskb_put +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 0x0a73a02f ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x424e72df ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x53357df4 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa8262a1b ipcomp_input +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x09acbb5c aoa_codec_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x16353148 aoa_snd_device_new +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x1bbdd408 ftr_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x22519183 aoa_codec_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x2d4e4be4 aoa_fabric_register +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x42155fa4 aoa_get_card +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x7dae77d9 aoa_fabric_unlink_codec +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0x9f4e106f aoa_fabric_unregister +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xa9bae470 pmf_gpio_methods +EXPORT_SYMBOL_GPL sound/aoa/core/snd-aoa 0xe28cb445 aoa_snd_ctl_add +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x8aae99fb soundbus_unregister_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0x9f62e4a5 soundbus_register_driver +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xc7af17ca soundbus_remove_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xde5ea057 soundbus_add_one +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xdef21b42 soundbus_dev_put +EXPORT_SYMBOL_GPL sound/aoa/soundbus/snd-aoa-soundbus 0xffc33e70 soundbus_dev_get +EXPORT_SYMBOL_GPL sound/core/snd 0xa74a23e6 snd_kctl_jack_new +EXPORT_SYMBOL_GPL sound/core/snd 0xb1b42e45 snd_kctl_jack_report +EXPORT_SYMBOL_GPL sound/core/snd 0xbf634463 snd_ctl_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xeaac01f3 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xf2bf9262 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xbd054a47 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x02368273 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x362511ee snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x689a4ef9 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7f6b55a0 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x946a04b7 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xa5248f76 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00589efb snd_hda_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x05804f6a snd_hda_power_up_d3wait +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 0x090cb6c0 snd_hda_ch_mode_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0952ea46 snd_hda_power_down +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09b2008b snd_hda_mixer_bind_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09ea675a snd_hda_codec_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0a6d959a snd_hda_check_board_codec_sid_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ad908a7 snd_hda_bus_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b926a7e snd_hda_codec_resume_amp +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0cb040c1 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0df566e5 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ebeff01 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12afdb41 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x17e7a799 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b29c645 snd_hda_jack_detect +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b92a499 snd_hda_queue_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cb0ecc1 snd_hda_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x207a6011 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20cdaaf7 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2314d4f1 snd_hda_create_spdif_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24c47d2f snd_hda_power_up +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25cb68e1 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x280b451a snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a3d171f snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c54611d snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e0103a7 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30bf2c1f snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30e769c8 snd_hda_codec_amp_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x336eafb2 snd_hda_check_board_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33a91a6a __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 0x3d4b4fdd snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3f33d692 snd_hda_jack_tbl_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x423f05e9 snd_hda_codec_update_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x46f0a946 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x498a5b28 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c6e6bb8 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dab1f60 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fe7449f snd_hda_mixer_bind_ctls_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x527af3b6 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x529bf206 snd_hda_codec_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52e525e2 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54de3fbf snd_hda_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5be67bcb snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x610f4806 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61183942 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61d7cb0a snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64b3786a snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64d86aab query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66350ad8 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6750545f snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x679b78b5 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6849a62f snd_hda_is_supported_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6cab0e3b snd_hda_codec_resume_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d9275de snd_hda_jack_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d9af5b3 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dfeb12d snd_hda_add_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x762e813d snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x768df751 snd_hda_bind_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77bb65ca snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x782429b3 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78451d5b snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ba2e472 snd_hda_delete_codec_preset +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x850e140f snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88008996 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a07d33e __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8aa87227 snd_hda_gen_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8b82b92f snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c512123 snd_hda_bind_vol +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e4c6826 snd_hda_calc_stream_format +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fc76ce6 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x91e40e41 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9441c004 snd_hda_query_supported_pcm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x958ed346 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9749cafb snd_hda_get_sub_nodes +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x98276ae6 snd_hda_mixer_bind_ctls_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9cce0863 snd_hda_ch_mode_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9d86a7f3 snd_hda_suspend +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9dbbe561 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ed1997d snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa2827d76 snd_hda_get_jack_location +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaaa18c9e snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad3730ed snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad6253d1 snd_hda_jack_tbl_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaf5b118b snd_hda_bus_reboot_notify +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafd0e407 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb1182be3 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2805581 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb2d4cf4f is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6622592 snd_hda_sequence_write_cache +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbb3ec075 snd_hda_override_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc25d3c70 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc2ef5571 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4e98f2c snd_hda_mixer_bind_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc652fd69 snd_hda_get_jack_connectivity +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9a66b8b snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc9c8161a snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcaabe4a4 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb301b6e snd_hda_get_jack_type +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd260956 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd7ca011 snd_hda_ch_mode_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf508d13 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0a10a7c snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd32d4b72 snd_hda_query_pin_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6155a85 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd79f7626 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb706eb8 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xde722ef2 snd_hda_mixer_bind_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe0019015 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe38671c2 snd_hda_resume +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe6b1637d snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe7cab313 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0062ecb snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1d751df snd_hda_mixer_bind_ctls_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7ba4e68 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8058a35 snd_hda_gen_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9733eb1 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9741780 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf991147f snd_hda_codec_read +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb47d0de snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfbd59c64 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfc02ecb0 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0x24b6d3f2 pm860x_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-88pm860x 0xadd8ad79 pm860x_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cx20442 0x76e8863d v253_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-l3 0x78c84c7e l3_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max9877 0x17af2372 max9877_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xbeb4ae2a tpa6130a2_stereo_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tpa6130a2 0xe7e9f15f tpa6130a2_add_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x7d25e6bc twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x88bf344b twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xa350418c twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xd08003f4 twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0xd4895eec twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wl1273 0x3f7de2cf wl1273_get_format +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x00780c83 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x39a46f68 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x3b392ae0 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x47084e21 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 0x5d43d657 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 0x868e5dd7 wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xcd4ace5f wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xcdf7e9ac wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x48736779 wm8350_mic_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8350 0x6c61ee7f wm8350_hp_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x9bf952b3 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x0f2f12d2 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x5864cd40 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xe3151f65 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8996 0xb3aa31f7 wm8996_detect +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x000a2cf4 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00f03708 snd_soc_add_codec_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x026a391f snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x03da6af4 snd_soc_put_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0439034c snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05d4322e snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x064572f6 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08a3bd3b snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b084c4a snd_soc_add_platform_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f7bdf2b snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10f32382 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12f2504a snd_soc_get_dai_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x139863a4 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15aa9fcc snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x165cc00f snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x177c925b snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17c86128 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18cbe462 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x191673c6 snd_soc_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1f1704a6 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20298199 snd_soc_info_enum_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20f6262b snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2246f2ff snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x266ceeb8 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b1017f3 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2bff0f4d snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2da07eb7 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e9c2bfb snd_soc_register_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30cebf88 snd_soc_platform_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x330e572c snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38754926 snd_soc_register_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b285878 snd_soc_unregister_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ba59d09 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bbaf040 snd_soc_codec_set_cache_io +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c779afe snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3da4064b snd_soc_dapm_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ea280d3 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4053d8b8 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47312f38 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4861fbc7 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a9dbe97 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ae8b590 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4af2f449 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c889ddb snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d5005f5 dapm_mark_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4dc8bd78 snd_soc_cache_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x565b757e snd_soc_info_volsw_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56adb33b snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58891878 snd_soc_free_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59efc2ac snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5cf458ff snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5dae0314 snd_soc_update_bits_locked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5db6a44a snd_soc_dapm_get_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61ca472f snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63a27bc4 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66bb6d8f snd_soc_dapm_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6858f5d0 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c3c5ba5 dapm_reg_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x718ca86c snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x788db335 snd_soc_put_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79df0d0d snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7aa8b814 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cdcaa4a snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x801f516a snd_soc_platform_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x86a7489a snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ba06cf0 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d5bdc3c snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ee94014 snd_soc_codec_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x906b7fae snd_soc_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91455f83 snd_soc_dpcm_be_get_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91ba427a snd_soc_info_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9320f267 snd_soc_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94d74ffc snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95036c5c snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95f43f72 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9717b207 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9aee2c5d snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c2fb2b0 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c41e25b snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa04d2a85 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa054874b snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1778ab5 snd_soc_codec_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa454a462 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8f25bdb snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabec4216 snd_soc_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafde2d16 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb313fa06 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb39b709f snd_soc_get_value_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb3aa6dae snd_soc_default_readable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb5fa2120 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb68b2a0c snd_soc_get_volsw_s8 +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb98f4ed8 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb9b3351b snd_soc_cache_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbabeb84f snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc56ed2a snd_soc_codec_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbec2f25b snd_soc_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb205a03 snd_soc_cache_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb2c7fb4 snd_soc_new_ac97_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcdbf6797 snd_soc_unregister_dais +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf33a941 snd_soc_codec_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcffd7851 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3ea2ff8 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5a73054 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9769058 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdae3a29a snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdcf9c469 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfe9d0aa snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1ebcd17 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe60a8250 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe73a1f92 snd_soc_register_platform +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7d2207a snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeae59197 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xebbe5d62 snd_soc_bulk_write_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xecb90358 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xefdf33ae snd_soc_default_volatile_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0e3f8c5 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf3a84c9d snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf56537ef snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf63b1da2 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf72865b2 snd_soc_dapm_put_enum_virt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf86b57a3 snd_soc_default_writable_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8886320 snd_soc_unregister_codec +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfaa7aadc snd_soc_dpcm_be_set_state +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbc98a27 snd_soc_platform_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff4760af snd_soc_codec_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x00285c53 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x002caf72 inet_csk_compat_getsockopt +EXPORT_SYMBOL_GPL vmlinux 0x004642f0 mmc_app_cmd +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 0x0074840b tps65912_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x007a7e36 cgroup_taskset_cur_cgroup +EXPORT_SYMBOL_GPL vmlinux 0x0097e5a5 __add_pages +EXPORT_SYMBOL_GPL vmlinux 0x00aea614 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x00c4dc87 timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x00ebcb5d ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x00ed9da7 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x01010c6d klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x011cf028 regulator_suspend_finish +EXPORT_SYMBOL_GPL vmlinux 0x0139b76b map_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x018c7ed8 tasklet_hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x01a4ea6d unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x01c1512c edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x01cc287c pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01fba9f1 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x021ebfda btree_update +EXPORT_SYMBOL_GPL vmlinux 0x0260b8f5 sysfs_get +EXPORT_SYMBOL_GPL vmlinux 0x0264ad53 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x028c0173 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0295e1cb pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x029eb34d single_open_net +EXPORT_SYMBOL_GPL vmlinux 0x02de471b sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x02ed89f9 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x02fd3acb __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x0308cce1 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x030c51a6 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x030c6906 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x033de520 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x03403377 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x038cbf57 pmf_find_function +EXPORT_SYMBOL_GPL vmlinux 0x039c3498 pmf_call_one +EXPORT_SYMBOL_GPL vmlinux 0x03a08659 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x03b2e8b9 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x03ce6b72 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x03cf9641 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03e3686c ata_timing_cycle2mode +EXPORT_SYMBOL_GPL vmlinux 0x04327c65 tpm_show_durations +EXPORT_SYMBOL_GPL vmlinux 0x04486e88 rcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x044dae08 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x0474d03c adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x047500c7 blkg_lookup +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04d94770 disk_part_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f76ee6 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x052850ca vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x0528a9a1 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0531dcb8 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x054aeb54 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x056608c5 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x057702ce sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x058b582a vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x05ae262e regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x05c6c212 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x0619e257 ps3_vuart_read_async +EXPORT_SYMBOL_GPL vmlinux 0x061dee59 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x06232624 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06564a82 s5m_reg_update +EXPORT_SYMBOL_GPL vmlinux 0x0670632e crypto_tfm_in_queue +EXPORT_SYMBOL_GPL vmlinux 0x067c90d4 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x06958706 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x06b6db9c xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x06b9e347 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x06ff2b59 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x070dda08 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x075faa0a modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0762403c edac_put_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07c9f296 i2c_new_probed_device +EXPORT_SYMBOL_GPL vmlinux 0x07e3dd9f sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x07ee5ea9 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x07f5b5db pmac_i2c_adapter_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x08268b52 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x08287215 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x084e2356 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x088bfa7e cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x08bc0870 compat_put_timespec +EXPORT_SYMBOL_GPL vmlinux 0x0904eb4c class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0919e447 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0933a6a2 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x097667ea fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x09b76bfc xfrm_inner_extract_output +EXPORT_SYMBOL_GPL vmlinux 0x09cbabf7 of_get_nand_on_flash_bbt +EXPORT_SYMBOL_GPL vmlinux 0x09cfee61 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x09d75382 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0a16721e debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x0a17411d kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x0a288348 flush_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0a3643ad wm8994_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x0a45ecc6 inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x0a48c21d sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a84b7b7 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x0ab69c6e dma_buf_map_attachment +EXPORT_SYMBOL_GPL vmlinux 0x0ad5baa9 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x0ad91830 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x0ae109f7 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x0b04b232 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b276fac file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x0b53e0ba fuse_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0b5425c5 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x0b64c120 class_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0b708d66 blk_add_request_payload +EXPORT_SYMBOL_GPL vmlinux 0x0ba7b373 tps65090_read +EXPORT_SYMBOL_GPL vmlinux 0x0bae62b1 ktime_get_monotonic_offset +EXPORT_SYMBOL_GPL vmlinux 0x0bd6f223 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x0be13004 usb_storage_usb_ids +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c0c015e ring_buffer_swap_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0c2cdbf1 synchronize_sched +EXPORT_SYMBOL_GPL vmlinux 0x0c4f558c skcipher_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x0c85b67a sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x0c888a63 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x0cb316f8 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x0cc1e40f crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x0cd10a4e work_cpu +EXPORT_SYMBOL_GPL vmlinux 0x0cf28338 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x0cf5646d usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0d12c257 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x0d312b6b usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x0d3cc82c of_irq_map_one +EXPORT_SYMBOL_GPL vmlinux 0x0d55b3c8 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x0d5b063c atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0d9da9bd crypto_blkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x0daec87d tpm_store_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0daf2cc0 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x0dd78f40 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x0de06988 cpu_first_thread_of_core +EXPORT_SYMBOL_GPL vmlinux 0x0de75673 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x0e0441a5 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x0e250e69 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x0e38f8a2 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x0e74b7ab tpm_show_pcrs +EXPORT_SYMBOL_GPL vmlinux 0x0e999e25 blk_rq_check_limits +EXPORT_SYMBOL_GPL vmlinux 0x0e9df2e3 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x0e9fd874 crypto_unregister_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x0ecf823a static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x0ed2aba3 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x0f4f007d ps3_close_hv_device +EXPORT_SYMBOL_GPL vmlinux 0x0f53dbda da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x0f599989 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x0f5e47a4 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x0f751aea input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x0f769558 led_trigger_store +EXPORT_SYMBOL_GPL vmlinux 0x0f7d918a blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x0f96231a usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0fd4ff47 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x0fdece2d ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1000d977 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x100d6a60 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x100fa1e3 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1013c12f tpm_remove_hardware +EXPORT_SYMBOL_GPL vmlinux 0x10291853 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x10954497 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x1114011d threads_shift +EXPORT_SYMBOL_GPL vmlinux 0x111db469 ata_eh_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x113d3aad ata_common_sdev_attrs +EXPORT_SYMBOL_GPL vmlinux 0x1172ce54 rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x11bb791b blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x11f447ce __gpio_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x11f93960 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x121ed3f3 add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x12238721 platform_device_add +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 0x126d544f usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x12d8a1df mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x12f76c13 fuse_request_send_background +EXPORT_SYMBOL_GPL vmlinux 0x1302c4e4 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x130edc4e usb_sg_init +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 0x1320c804 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x133341b9 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1333d8b3 ps3av_video_mode2res +EXPORT_SYMBOL_GPL vmlinux 0x133d34ec __css_tryget +EXPORT_SYMBOL_GPL vmlinux 0x135edd43 cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x13610253 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x136a4ee6 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x13751c22 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x13755168 bio_alloc_mddev +EXPORT_SYMBOL_GPL vmlinux 0x137cfaeb stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x13b2a946 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13c8dd3a rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x13e5ea13 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x13e71bf8 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x13f32d86 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x140d873a crypto_aead_type +EXPORT_SYMBOL_GPL vmlinux 0x1416c8d6 put_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0x145999d4 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x14d5945d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x14ebaa2e dma_buf_kunmap +EXPORT_SYMBOL_GPL vmlinux 0x15026a32 snmp_mib_init +EXPORT_SYMBOL_GPL vmlinux 0x15189c3c crypto_init_spawn2 +EXPORT_SYMBOL_GPL vmlinux 0x152728d4 cgroup_add_cftypes +EXPORT_SYMBOL_GPL vmlinux 0x153b7838 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x15749760 ps3_sys_manager_register_ops +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 0x159ff337 crypto_givcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x15dd9e37 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x16000a3c dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x161e19b6 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x1650bf27 rcutorture_record_progress +EXPORT_SYMBOL_GPL vmlinux 0x168aae06 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x1698cda5 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x169ab86f da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x16fe6044 blk_queue_dma_drain +EXPORT_SYMBOL_GPL vmlinux 0x1721a3ef unregister_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x1744ed0f usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17c0281b usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x17cc3704 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x17ec2014 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x1803d5d6 eeh_add_device_tree_early +EXPORT_SYMBOL_GPL vmlinux 0x181664f4 posix_timer_event +EXPORT_SYMBOL_GPL vmlinux 0x18355e5b debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x1844dce2 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x1848d7d7 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x1853653c btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x18542ceb tun_get_socket +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 0x18b75fc9 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x18bef971 bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x18e2c347 dev_pm_qos_remove_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x18e97c1d each_symbol_section +EXPORT_SYMBOL_GPL vmlinux 0x18fe2dca set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x19132c00 ata_bmdma_qc_prep +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 0x19441d9d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b0b331 save_stack_trace_tsk +EXPORT_SYMBOL_GPL vmlinux 0x19fc7f60 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x19fcbf93 pm_generic_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x19fd2d46 of_property_count_strings +EXPORT_SYMBOL_GPL vmlinux 0x1a017274 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x1a082d69 max77693_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x1a323362 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x1a502b45 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x1a6a75f6 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1a7e71d1 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x1a8c5907 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x1a8f2c24 spi_master_resume +EXPORT_SYMBOL_GPL vmlinux 0x1ac717e3 ps3_os_area_get_rtc_diff +EXPORT_SYMBOL_GPL vmlinux 0x1ada5027 blkg_prfill_stat +EXPORT_SYMBOL_GPL vmlinux 0x1ae0e135 tracing_generic_entry_update +EXPORT_SYMBOL_GPL vmlinux 0x1aec5ba8 md_run +EXPORT_SYMBOL_GPL vmlinux 0x1b066360 devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x1b542ffb crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x1b5b8580 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x1b63f641 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x1b6d2ff4 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x1b7750c6 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x1b9664d1 __destroy_context +EXPORT_SYMBOL_GPL vmlinux 0x1b9aca3f jprobe_return +EXPORT_SYMBOL_GPL vmlinux 0x1bbe3153 ftrace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x1bdeabe0 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +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 0x1cf82066 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x1d05883f regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x1d3d425f device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1d4f9e46 proc_net_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x1d58ae14 lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x1d84be15 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x1d9496fc of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x1dfbcf4c mpic_msgr_disable +EXPORT_SYMBOL_GPL vmlinux 0x1e314b21 regulator_use_dummy_regulator +EXPORT_SYMBOL_GPL vmlinux 0x1e4e4da7 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7e9c82 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1eb2c7d2 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ee9814e irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1f48f4d4 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x1f49eb90 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8967e0 cpu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x1f8db7f9 ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x1f989b7d sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x1fa38bf7 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x1fac651c regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x1fcece42 inet_twdr_twcal_tick +EXPORT_SYMBOL_GPL vmlinux 0x1fdfa4d1 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x1fe970cb ps3_io_irq_setup +EXPORT_SYMBOL_GPL vmlinux 0x1ff3bcaa blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x202f3e1d blk_queue_flush_queueable +EXPORT_SYMBOL_GPL vmlinux 0x203d63c0 cm_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x205e415e scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x206ed1de crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x20bc3470 orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x20dea7d8 tpm_show_active +EXPORT_SYMBOL_GPL vmlinux 0x20f87b0d driver_register +EXPORT_SYMBOL_GPL vmlinux 0x210c4da6 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x21180927 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x211850f5 htab_hash_mask +EXPORT_SYMBOL_GPL vmlinux 0x211b315e wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x214489e0 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x2159909a key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x2168137c xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x216b3c81 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x21cf8458 crypto_lookup_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d354e7 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x21d36a03 kvm_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x21d4faf7 skb_gro_receive +EXPORT_SYMBOL_GPL vmlinux 0x22053b8c inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x220a29fc ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x221e964d sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x22339296 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x2240383a cpu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x224461c3 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x2285200f usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2296c00d crypto_attr_u32 +EXPORT_SYMBOL_GPL vmlinux 0x22ed2c83 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x230e0698 __clocksource_updatefreq_scale +EXPORT_SYMBOL_GPL vmlinux 0x232c35ba stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x233a4611 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x2351dc55 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x235e948b __giveup_vsx +EXPORT_SYMBOL_GPL vmlinux 0x238347e0 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2387d3ac usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x23972676 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x23c8d54a tpm_write +EXPORT_SYMBOL_GPL vmlinux 0x23d4115a ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x24011e14 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x240a8db1 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x242935ff nf_unregister_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x243eefa5 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x24462f7f tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x2447533c ktime_get_real +EXPORT_SYMBOL_GPL vmlinux 0x244b812a usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x246dcc19 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x247ef831 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x249c347c devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x24aac4d9 crypto_aes_expand_key +EXPORT_SYMBOL_GPL vmlinux 0x24de6e0f sk_unattached_filter_create +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24ed23a7 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x24fc46b6 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x252e43b4 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x25631923 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x257db173 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x25a3e43a xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x25c24b44 fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x25efc400 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x2604bd75 mmput +EXPORT_SYMBOL_GPL vmlinux 0x262f20a8 local_clock +EXPORT_SYMBOL_GPL vmlinux 0x26335bc5 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x26576139 queue_work +EXPORT_SYMBOL_GPL vmlinux 0x26af2ff6 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x26b71fb4 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x2726a54a elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x27376963 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x277050fc spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x2770af74 regmap_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x279f40d6 spu_get_profile_private_kref +EXPORT_SYMBOL_GPL vmlinux 0x27a76c2a usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x27c0c4be eventfd_ctx_read +EXPORT_SYMBOL_GPL vmlinux 0x27c1e63f usb_amd_find_chipset_info +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x283b928a rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x283e9fae usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2869ebaf regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x286af063 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x287c3075 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x28a70d73 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x28a9227f usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x28cb7ccf device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x28cbf5ad class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x28d664ff __raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x28fb3a9b ref_module +EXPORT_SYMBOL_GPL vmlinux 0x29290cd0 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x293cb92b bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x293f6a13 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x296277c7 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x296e9955 __get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x298413b7 remove_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x299e1e64 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x29a134c5 aead_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0x29ae2e61 dma_buf_kmap +EXPORT_SYMBOL_GPL vmlinux 0x29e151cd crypto_register_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x29ee51b2 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2a019f02 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2a0a0bff class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x2a26d438 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x2a61cb23 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x2a678a13 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x2a758edb spi_busnum_to_master +EXPORT_SYMBOL_GPL vmlinux 0x2a8c0374 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x2ab67469 nf_register_afinfo +EXPORT_SYMBOL_GPL vmlinux 0x2abd7524 single_release_net +EXPORT_SYMBOL_GPL vmlinux 0x2abe7476 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x2aefe204 sysfs_get_dirent +EXPORT_SYMBOL_GPL vmlinux 0x2afbe2a5 usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2bd38385 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x2bed003e wm8400_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2a5f5c dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x2c30766a sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x2c319abd pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c80445a ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x2ca4ebcd regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2ca77048 ps3_mmio_region_init +EXPORT_SYMBOL_GPL vmlinux 0x2cba57e1 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x2cc3e675 pmac_i2c_close +EXPORT_SYMBOL_GPL vmlinux 0x2ce051e8 tcp_death_row +EXPORT_SYMBOL_GPL vmlinux 0x2ce98559 kcrypto_wq +EXPORT_SYMBOL_GPL vmlinux 0x2cea32ee unregister_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x2cfab7ce kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x2cfe20e2 isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0x2d0e42c7 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x2d109403 dma_buf_export +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 0x2d69a1f8 blkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0x2d7738c1 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x2daae077 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x2dba276a __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2dbaecdc inet6_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0x2dc5a6d1 btree_last +EXPORT_SYMBOL_GPL vmlinux 0x2ddee4bb usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x2e1da9fb probe_kernel_read +EXPORT_SYMBOL_GPL vmlinux 0x2e20d0fd rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2f1740 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2e453ed8 bmp085_remove +EXPORT_SYMBOL_GPL vmlinux 0x2e45e488 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x2e488465 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x2e4dfd9e usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x2e743195 macio_find +EXPORT_SYMBOL_GPL vmlinux 0x2e92f072 pci_sriov_migration +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecc45e8 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2edbf23b scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x2eeab920 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x2ef90552 tpm_show_caps_1_2 +EXPORT_SYMBOL_GPL vmlinux 0x2f4113a2 dcookie_register +EXPORT_SYMBOL_GPL vmlinux 0x2f47d8c7 cpufreq_frequency_get_table +EXPORT_SYMBOL_GPL vmlinux 0x2f74cdd4 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x2f7d45a1 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2fa5d212 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2facf079 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x2fb6416c fb_sys_read +EXPORT_SYMBOL_GPL vmlinux 0x2fd008d6 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x2ffb5ff7 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x30301151 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3050d02d blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x307f7776 timecompare_offset +EXPORT_SYMBOL_GPL vmlinux 0x30876529 add_to_page_cache_lru +EXPORT_SYMBOL_GPL vmlinux 0x308b733a getboottime +EXPORT_SYMBOL_GPL vmlinux 0x30b72957 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x3109b751 cpu_clock +EXPORT_SYMBOL_GPL vmlinux 0x311b78c2 ps3_get_spe_id +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31356657 css_depth +EXPORT_SYMBOL_GPL vmlinux 0x31648c37 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x3172e402 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x31c0c2d1 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x31e4fed4 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x31ee30fa usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x31fff1d2 pci_intx_mask_supported +EXPORT_SYMBOL_GPL vmlinux 0x3218fa50 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x321bdbb1 compat_get_timeval +EXPORT_SYMBOL_GPL vmlinux 0x32522207 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x32640ff1 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x3296542e __class_register +EXPORT_SYMBOL_GPL vmlinux 0x32b31a8c ktime_get_boottime +EXPORT_SYMBOL_GPL vmlinux 0x32bcc28c crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x32bded08 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c47331 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x32d6874b cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x32f08411 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x32f6f53c bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32fd447a monotonic_to_bootbased +EXPORT_SYMBOL_GPL vmlinux 0x32fe5329 sg_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x33079fef mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x3309ea64 ps3av_audio_mute +EXPORT_SYMBOL_GPL vmlinux 0x3313f33b pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x336154ca rcutorture_record_test_transition +EXPORT_SYMBOL_GPL vmlinux 0x3388c9bb md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x3396eb07 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x339bab6a debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x33a9fdab wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x33d617fb mddev_check_plugged +EXPORT_SYMBOL_GPL vmlinux 0x33f0042c __online_page_free +EXPORT_SYMBOL_GPL vmlinux 0x33f7ab15 get_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x340c9f55 crypto_lookup_aead +EXPORT_SYMBOL_GPL vmlinux 0x342c3c11 spu_setup_kernel_slbs +EXPORT_SYMBOL_GPL vmlinux 0x3441c3d6 gpio_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x345173c4 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x3459fbe7 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3465fce6 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x346d995f input_class +EXPORT_SYMBOL_GPL vmlinux 0x347fd4b3 eventfd_ctx_get +EXPORT_SYMBOL_GPL vmlinux 0x34bcf08e ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x34db6019 register_ftrace_event +EXPORT_SYMBOL_GPL vmlinux 0x34e916e4 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x351195a9 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x351426ac tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x3534e2a3 system_nrt_wq +EXPORT_SYMBOL_GPL vmlinux 0x356ee871 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x3577a1e0 ps3_vuart_clear_rx_bytes +EXPORT_SYMBOL_GPL vmlinux 0x358b0f83 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x35975a23 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x35da0e5f fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x35df59c6 ps3_gpu_mutex +EXPORT_SYMBOL_GPL vmlinux 0x35eeaa88 perf_trace_buf_prepare +EXPORT_SYMBOL_GPL vmlinux 0x35ef27bc ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x3607a243 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x361e2bcc save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x362b0f3c rtc_irq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x362e23ec call_rcu_bh +EXPORT_SYMBOL_GPL vmlinux 0x3655c61a irq_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x36809103 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x368276cb relay_close +EXPORT_SYMBOL_GPL vmlinux 0x36875389 __timecompare_update +EXPORT_SYMBOL_GPL vmlinux 0x368bc8d7 sysfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x368d0c05 unregister_spu_syscalls +EXPORT_SYMBOL_GPL vmlinux 0x368f1fea static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x371f2dea edac_subsys +EXPORT_SYMBOL_GPL vmlinux 0x374568f0 pci_pri_stopped +EXPORT_SYMBOL_GPL vmlinux 0x37b12f5d pcibios_map_io_space +EXPORT_SYMBOL_GPL vmlinux 0x37ca9b0f find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x381ce9ab bsg_request_fn +EXPORT_SYMBOL_GPL vmlinux 0x384f984c regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x386de1b1 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x389986ab sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x389d4918 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x38a30bef stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x38abaa91 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x38b85f3a blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x38ce0433 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x38ebebc6 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x390a86e6 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x39171f3a blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x3918a87e hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x397d55f4 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x397ef9ad crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x39a20033 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39d7bb0a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x39d9406a wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x39e15e5f trace_nowake_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x39e4d869 __ablkcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x39f61c73 acop_handle_fault +EXPORT_SYMBOL_GPL vmlinux 0x39ff090d dio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x3a0d99eb led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x3a248b49 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a28b660 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x3a4d5458 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a65b4a9 proc_net_fops_create +EXPORT_SYMBOL_GPL vmlinux 0x3a694d91 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x3a7e52a3 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x3a8036fb ps3_mmio_region_create +EXPORT_SYMBOL_GPL vmlinux 0x3aa46b1a crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x3aa983eb user_update +EXPORT_SYMBOL_GPL vmlinux 0x3ab57bb7 spi_async_locked +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad0e201 scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x3aea7817 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x3b1c5afc ps3_vuart_irq_setup +EXPORT_SYMBOL_GPL vmlinux 0x3b212bdf tpm_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x3b3dff57 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x3b8ec694 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x3bb03bcb irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x3bc71b40 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x3bda2d4c max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x3bdf2a45 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3be89d3c usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x3c114251 dma_buf_attach +EXPORT_SYMBOL_GPL vmlinux 0x3c560989 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x3c7fd5d8 dma_buf_vunmap +EXPORT_SYMBOL_GPL vmlinux 0x3c92999d wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3c9390db pci_vpd_find_tag +EXPORT_SYMBOL_GPL vmlinux 0x3c942368 profile_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3cabd58c dma_buf_detach +EXPORT_SYMBOL_GPL vmlinux 0x3cac21b9 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3cb45c6e tcp_init_congestion_ops +EXPORT_SYMBOL_GPL vmlinux 0x3cc63141 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cfedb3f register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d7173a8 wm8994_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x3d74012b spi_master_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3d84522a pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x3d892855 user_match +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 0x3dfa1936 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x3e1d5856 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x3e6d2a5f rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3eab72dd of_property_read_string_index +EXPORT_SYMBOL_GPL vmlinux 0x3eb116a1 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x3ec14135 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x3ed813c4 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x3edad223 usb_usual_clear_present +EXPORT_SYMBOL_GPL vmlinux 0x3eedd2e2 spu_init_channels +EXPORT_SYMBOL_GPL vmlinux 0x3ef4664f tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x3efb35c9 get_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0x3f0f3f02 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3f629ad2 __blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x3f8a7a1f pm_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x3f8c6bac crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3f91bc2b pcibios_add_pci_devices +EXPORT_SYMBOL_GPL vmlinux 0x3fc72d3d __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x400e01bb spu_set_profile_private_kref +EXPORT_SYMBOL_GPL vmlinux 0x40236276 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40481fc3 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x40a1de4e ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x40af0dec ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x40c54fcd enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x40d46b21 crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x41068d19 __pci_complete_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x41246c25 irq_domain_add_tree +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41885521 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x4199dacb tpm_dev_vendor_release +EXPORT_SYMBOL_GPL vmlinux 0x419da1d5 crypto_ahash_type +EXPORT_SYMBOL_GPL vmlinux 0x41a40a66 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x41dd1529 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x41df9819 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x41dfd23f spu_associate_mm +EXPORT_SYMBOL_GPL vmlinux 0x41e94bdd cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x41fffe82 bmp085_detect +EXPORT_SYMBOL_GPL vmlinux 0x42160169 flush_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x423e4b19 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x424acc6d scatterwalk_done +EXPORT_SYMBOL_GPL vmlinux 0x425b15ef rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x425ca1b3 pcibios_find_pci_bus +EXPORT_SYMBOL_GPL vmlinux 0x425fee48 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4289025b watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x42b46956 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x42baed8e ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x42c3d5af i2c_new_device +EXPORT_SYMBOL_GPL vmlinux 0x42c728ee ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x42d40dc3 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x42f04cbb udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x432fd7f6 __gpio_set_value +EXPORT_SYMBOL_GPL vmlinux 0x43466a96 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x436d9283 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x43a53735 __alloc_workqueue_key +EXPORT_SYMBOL_GPL vmlinux 0x43cab44d blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x43e07166 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x43ede510 flush_fp_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x43efc533 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x43f56e82 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x4435ab09 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x44404f11 kdb_register_repeat +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 0x45052ad0 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x450fb522 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457c7a6d scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x458eaaf0 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x45bf1ff3 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x45c04e47 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x45d4f48e ata_sff_data_xfer_noirq +EXPORT_SYMBOL_GPL vmlinux 0x45e73593 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x46074c17 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4611ed5c pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x464ab1e3 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x465c560e __rtnl_register +EXPORT_SYMBOL_GPL vmlinux 0x4665278c rtc_irq_set_freq +EXPORT_SYMBOL_GPL vmlinux 0x466784b7 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x466a5530 irq_radix_revmap_insert +EXPORT_SYMBOL_GPL vmlinux 0x4672e88b __crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x46992869 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x469ffeac trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x46d9f955 ps3_irq_plug_setup +EXPORT_SYMBOL_GPL vmlinux 0x46f732de queue_work_on +EXPORT_SYMBOL_GPL vmlinux 0x46f79614 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x46fa5a37 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x46fb7351 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x4717e3ff uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4741db42 ps3av_set_audio_mode +EXPORT_SYMBOL_GPL vmlinux 0x477a3ff1 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x47acddea ps3_sys_manager_set_wol +EXPORT_SYMBOL_GPL vmlinux 0x47b78b07 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x47c89620 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x47d4c9ea tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x47ec38ac bio_clone_mddev +EXPORT_SYMBOL_GPL vmlinux 0x47ff399f regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x48231027 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x483d5b06 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4852deb2 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x487337c9 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x487fedf5 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x489170a4 ps3_vuart_port_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x48a488a0 sysctl_tcp_cookie_size +EXPORT_SYMBOL_GPL vmlinux 0x48c1662a spu_priv1_ops +EXPORT_SYMBOL_GPL vmlinux 0x49039632 __inet_hash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x490cd0e5 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x494d5743 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x498bb3e3 spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49f0a45b blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x4a2625e2 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x4a38c348 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x4a616b23 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x4a90160e bprintf +EXPORT_SYMBOL_GPL vmlinux 0x4a9b7335 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x4aadeb9a ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x4affd08b put_compat_timespec +EXPORT_SYMBOL_GPL vmlinux 0x4b40e2ae irq_create_direct_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4b43d041 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x4b56cd2e net_prio_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0x4b756a06 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x4b87fa63 spu_handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x4b8b4776 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4ba8f4a1 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x4bc62a81 audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4c0e6aec tpm_show_temp_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x4c18f773 ps3_os_area_set_rtc_diff +EXPORT_SYMBOL_GPL vmlinux 0x4c603067 pmac_i2c_match_adapter +EXPORT_SYMBOL_GPL vmlinux 0x4c759827 byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x4c8116c9 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x4c9cf55b ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x4cbd411e eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x4ccc3525 use_cop +EXPORT_SYMBOL_GPL vmlinux 0x4d172ccb ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x4d3602b4 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x4d52b67f flush_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0x4d5e06e1 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x4d72b468 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x4d85ec02 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x4d97064d eeh_add_sysfs_files +EXPORT_SYMBOL_GPL vmlinux 0x4db4ea0c pmac_low_i2c_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4dca181f tcp_reno_min_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x4df3b365 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x4df8845d kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x4e0e55c6 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4e109192 ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x4e242f5f pstore_cannot_block_path +EXPORT_SYMBOL_GPL vmlinux 0x4e7df11b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4ec7b8e3 tracepoint_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x4ec90435 tpm_show_owned +EXPORT_SYMBOL_GPL vmlinux 0x4ed37a76 tpm_register_hardware +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4f019f70 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x4f1ccf7d dev_pm_qos_add_global_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f2b592f mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x4f382689 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x4f492f5b handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x4f4abda6 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x4fae1f2d of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x4fc015b6 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x4fd4e89d ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x500606bb unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x500780ca ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x50140b99 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x50491eaa blk_rq_err_bytes +EXPORT_SYMBOL_GPL vmlinux 0x506691f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x507de8c6 add_memory +EXPORT_SYMBOL_GPL vmlinux 0x5086ac3a alg_test +EXPORT_SYMBOL_GPL vmlinux 0x508f48e0 blkcipher_walk_virt_block +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50e22d4e sysfs_chmod_file +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 0x50fe48be pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x50ff56ed regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5104a73b inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x51320ef3 free_css_id +EXPORT_SYMBOL_GPL vmlinux 0x51662a63 regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x51675328 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x51692d24 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x517d3765 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x517e5a6b dma_buf_begin_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x51846493 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x51a091eb class_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x51b65a26 rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x51e000d4 wm8994_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5207b134 adp5520_read +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 0x523424c1 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x523d4a76 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x52768316 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x52ccc9d6 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x531d59d4 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x5358fc36 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x53614269 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x5389f511 vfs_setlease +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 0x53beaaa4 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x53d921d6 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x53d9cb62 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541c8c96 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x542a57b5 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x54559fa2 cpu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x545760ba relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x545d8373 tpm_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x545fe425 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x5460c8d8 fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x546c5565 ppc_tb_freq +EXPORT_SYMBOL_GPL vmlinux 0x5472b2e6 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54be4bbc attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x54e310f2 __pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x551a6b44 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x55325b55 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x5533f96f irq_find_host +EXPORT_SYMBOL_GPL vmlinux 0x55423172 tps65090_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x556f334b subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x5570acdc usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558ab100 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x558e494c regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x55999512 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x55daa58c pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x564f1dca klist_add_after +EXPORT_SYMBOL_GPL vmlinux 0x565b6892 uuid_le_gen +EXPORT_SYMBOL_GPL vmlinux 0x56886b19 scatterwalk_map +EXPORT_SYMBOL_GPL vmlinux 0x56a6add4 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x56a8926f bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x56ca1db9 crypto_alloc_instance2 +EXPORT_SYMBOL_GPL vmlinux 0x56d3eee6 task_current_syscall +EXPORT_SYMBOL_GPL vmlinux 0x56d697ce cpu_up +EXPORT_SYMBOL_GPL vmlinux 0x56e75d47 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x56fa285c pmac_i2c_get_adapter +EXPORT_SYMBOL_GPL vmlinux 0x570b224c of_get_nand_ecc_mode +EXPORT_SYMBOL_GPL vmlinux 0x57231f45 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x57236541 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x57544afd dma_buf_put +EXPORT_SYMBOL_GPL vmlinux 0x575c5f94 execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x578d7e77 pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57b8aac0 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x57c4691b queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x57ca8cc4 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x57d8a96d ps3_system_bus_device_register +EXPORT_SYMBOL_GPL vmlinux 0x57f6467b sysfs_remove_device_from_node +EXPORT_SYMBOL_GPL vmlinux 0x5814fd03 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x58413099 ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x58523d8b regmap_update_bits_check +EXPORT_SYMBOL_GPL vmlinux 0x586932cd init_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x586a8195 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x586b2788 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x586b3463 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x5878185a pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x58b76304 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x58e946dc ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x58fe9409 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x59026938 platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x5908ee6b udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x591adc52 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x5947abbe max77693_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x597e7071 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x598c021f tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x5993b8fb ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59b791ac __init_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0x59c0516b devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x59c623f0 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x59dd15cb netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x59eae699 ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5a2cd64d pmf_unregister_irq_client +EXPORT_SYMBOL_GPL vmlinux 0x5a377672 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x5a47474b of_irq_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x5a48534a regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a82e21c raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x5a87793a platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5a9811bf pmf_do_functions +EXPORT_SYMBOL_GPL vmlinux 0x5a99dbbc regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x5b27ac8b inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x5b4d0894 timed_output_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x5b4e379c of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x5b785907 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x5ba23242 tps65912_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5bb906a7 wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bbdebe3 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x5bc4920c crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x5bfc03c3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c23e988 sysfs_notify_dirent +EXPORT_SYMBOL_GPL vmlinux 0x5c2997ea dm_get_rq_mapinfo +EXPORT_SYMBOL_GPL vmlinux 0x5c3eca51 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5c611feb regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5c836681 seq_open_net +EXPORT_SYMBOL_GPL vmlinux 0x5c9fcb69 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x5ca93699 tracepoint_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5ce039b4 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x5cef4a98 pmf_put_function +EXPORT_SYMBOL_GPL vmlinux 0x5cf45b67 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x5cf8a882 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x5d12e48f input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x5d35d319 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x5d477070 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x5d62a353 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x5d730e7b raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d77952d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x5dbf7777 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x5dd67618 register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5df3fee7 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x5e0120a8 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x5e16cc3a wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x5e1f99fb sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x5e203e8e platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x5e2eb1ed skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x5e475a46 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x5e4a9e30 __blkdev_driver_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x5e51cd74 swiotlb_nr_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5e6720ee adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e769986 ps3_os_area_get_av_multi_out +EXPORT_SYMBOL_GPL vmlinux 0x5e89bfb0 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5e8de9f0 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x5eb0ef2e posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ee7542e reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5eeb1a9c xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x5eedba82 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x5f07645b driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f0f2055 ata_std_postreset +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 0x5f79a98b __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5f887e44 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x5f8c7093 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x5f8e62ee shash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0x60019ca3 remove_irq +EXPORT_SYMBOL_GPL vmlinux 0x60269d11 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x60298b1c sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x603641bc inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x60369dc0 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x60467b06 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x60506751 unmap_kernel_range_noflush +EXPORT_SYMBOL_GPL vmlinux 0x607c4676 tpm_open +EXPORT_SYMBOL_GPL vmlinux 0x6096d8ef subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60d56763 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6114d8a4 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x61155d69 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x613eaf3b sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x61557f7f device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x61634f05 lock_flocks +EXPORT_SYMBOL_GPL vmlinux 0x617f3f61 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x618c4e1e fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x61a2c10b led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x61a90c54 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x61b47a1b led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x622bcfe2 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x622cf077 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x624bb0ac __put_net +EXPORT_SYMBOL_GPL vmlinux 0x624d22e0 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x62798f98 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x6284d022 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x629200c2 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62bd2a80 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x62c66c51 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x63205de1 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x632878a2 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x6362d959 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x6377d40c register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x63f13846 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x63f7d4bf ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x63fce5d4 dma_buf_kmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x645b1dc1 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x6529ae4b raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x6559c6ab usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x656ccf2b tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x65aaa70b blk_queue_rq_timed_out +EXPORT_SYMBOL_GPL vmlinux 0x65bbbc78 schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65cd92c4 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x65d6d0f0 gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x65ec743e dma_buf_unmap_attachment +EXPORT_SYMBOL_GPL vmlinux 0x660349f3 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6639384f hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x663ae062 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x665d9fa6 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x666e5f83 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x667a812c ps3av_set_video_mode +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66a24adf mddev_init +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 0x66da9626 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x66f8a083 ps3_system_bus_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67063aac vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x670dd9ed irq_linear_revmap +EXPORT_SYMBOL_GPL vmlinux 0x6751a203 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x6753711c regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67d154b2 ps3_open_hv_device +EXPORT_SYMBOL_GPL vmlinux 0x67e7dd59 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x6805e8c4 led_trigger_show +EXPORT_SYMBOL_GPL vmlinux 0x685eba46 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x68762fb3 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x68816193 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x6892088c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68985969 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x689b845d crypto_alloc_pcomp +EXPORT_SYMBOL_GPL vmlinux 0x68b2a7dd ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x68bdfec6 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x68d36bd1 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x691c454a __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x691f5e73 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6921aa34 compat_put_timeval +EXPORT_SYMBOL_GPL vmlinux 0x6923ce63 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x692b54c9 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x692de3f1 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x69447467 ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x69591961 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x6978ffad rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x69790ef6 __init_new_context +EXPORT_SYMBOL_GPL vmlinux 0x697cbbb4 threads_per_core +EXPORT_SYMBOL_GPL vmlinux 0x698a899f ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x698be398 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x69b5e1b1 __pm_runtime_set_status +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 0x6a6328e3 rtc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6a6775dc bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x6a6cafd2 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x6a6faedf fuse_request_send +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a9a5301 blk_unprep_request +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 0x6ad287f9 inet6_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0x6add3209 eeh_add_device_tree_late +EXPORT_SYMBOL_GPL vmlinux 0x6ade1801 debugfs_remove_recursive +EXPORT_SYMBOL_GPL vmlinux 0x6af4a4af fuse_get_req +EXPORT_SYMBOL_GPL vmlinux 0x6b29a1fa ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x6b77938f debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x6b93bf60 inet_twdr_twkill_work +EXPORT_SYMBOL_GPL vmlinux 0x6bc4ac23 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6bcef2e3 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x6c0498a2 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x6c49c4f2 clockevents_notify +EXPORT_SYMBOL_GPL vmlinux 0x6c4b31ff fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x6c875c0b spu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x6c8d5ae8 __gpio_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6cc3d01e tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x6ccd7ee6 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x6cfc654c devm_kzalloc +EXPORT_SYMBOL_GPL vmlinux 0x6d10241b pseries_ioei_notifier_list +EXPORT_SYMBOL_GPL vmlinux 0x6d174a2e usb_string +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d2fe560 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x6d54bb38 bdi_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x6d5a205c usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x6d6d1273 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x6d884476 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6d94946b irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x6e04692e pci_cleanup_aer_uncorrect_error_status +EXPORT_SYMBOL_GPL vmlinux 0x6e379526 kernstart_addr +EXPORT_SYMBOL_GPL vmlinux 0x6e4c725c rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e5e52d6 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x6e821e47 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ee12461 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x6efd5449 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x6eff762b __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x6f1ee69e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x6f4cf3f4 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x6f72db71 tpm_release +EXPORT_SYMBOL_GPL vmlinux 0x6f99ff26 crypto_ablkcipher_type +EXPORT_SYMBOL_GPL vmlinux 0x6fbc719c pmf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x6fd63da4 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x6fe3d8cf ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x6ff39443 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x703189d7 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x704479d1 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x704a1eb0 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x706b3a33 cpufreq_frequency_table_get_attr +EXPORT_SYMBOL_GPL vmlinux 0x707ff1bb ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x70ad3fc6 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x70c0dc2b shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x70c21edc xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70df6b6a blkg_lookup_create +EXPORT_SYMBOL_GPL vmlinux 0x71108bd8 find_module +EXPORT_SYMBOL_GPL vmlinux 0x71289793 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7135c9b2 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x7146f915 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71892841 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x71996fb5 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x7199b158 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x719d1e90 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x71a5e62e device_add +EXPORT_SYMBOL_GPL vmlinux 0x71b01ced clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x71d25a43 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x71d2ddfc init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x71dc9998 crypto_il_tab +EXPORT_SYMBOL_GPL vmlinux 0x71e0ae95 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x7225e73c setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x724a9b06 usb_enable_xhci_ports +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 0x72b6f035 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x730be569 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x735097dd ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x739aa1a1 pmac_i2c_setmode +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73bf511c usb_add_hcd +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 0x741f005a pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743fc3d9 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x7454d8fd bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x745aa8ab ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x745ad19e spu_invalidate_slbs +EXPORT_SYMBOL_GPL vmlinux 0x748d801a pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x74954462 timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x74a483b4 nf_unregister_queue_handlers +EXPORT_SYMBOL_GPL vmlinux 0x74abdafa task_handoff_register +EXPORT_SYMBOL_GPL vmlinux 0x74b9ae74 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74da7111 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x74e4be7b sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x74ee54c8 cgroup_taskset_first +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7547eb27 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x75569c6a max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x756ddd50 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x757b49d2 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7581e8b7 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x75995617 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x759a4157 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x759fc218 device_register +EXPORT_SYMBOL_GPL vmlinux 0x75a1e4f6 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x75d17d0b pmac_i2c_open +EXPORT_SYMBOL_GPL vmlinux 0x75e3716f fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x75e6e037 hash_page +EXPORT_SYMBOL_GPL vmlinux 0x75e8f3c3 crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x761dad36 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x76210b86 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x76281383 __inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x7639e75d crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x765f6a58 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7672ab00 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x76b08ff6 get_dcookie +EXPORT_SYMBOL_GPL vmlinux 0x76d366f4 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x76db895f srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x76f78d4c sysfs_schedule_callback +EXPORT_SYMBOL_GPL vmlinux 0x770b0746 pci_msi_off +EXPORT_SYMBOL_GPL vmlinux 0x775abfff device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x775b8dff blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x77bc5332 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x77d6bb8c __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x77dbf6d5 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7815f94b skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x7843f8cb ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7864d135 device_del +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78c4e874 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x78e33637 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x796c2d48 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x79cfc5d5 dma_buf_end_cpu_access +EXPORT_SYMBOL_GPL vmlinux 0x79f84add pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x7a2aa7d2 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x7a2e4b44 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a3413d7 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7a566c21 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a99a7b0 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x7ae1ae8e cpufreq_frequency_table_put_attr +EXPORT_SYMBOL_GPL vmlinux 0x7b0f1ab3 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7b0f2127 find_linux_pte_or_hugepte +EXPORT_SYMBOL_GPL vmlinux 0x7b1d544d edac_handler_set +EXPORT_SYMBOL_GPL vmlinux 0x7b24b881 disk_part_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7b2707db device_create_vargs +EXPORT_SYMBOL_GPL vmlinux 0x7b376896 ps3_vuart_write +EXPORT_SYMBOL_GPL vmlinux 0x7b4cd6ec subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7b66d7f1 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x7b6afd17 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x7baf5480 inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7bbf0f54 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7c2f2e8d sock_diag_nlsk +EXPORT_SYMBOL_GPL vmlinux 0x7c4f010c da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7c6b8d30 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7c773ed9 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7c775f47 crypto_nivaead_type +EXPORT_SYMBOL_GPL vmlinux 0x7ca27a33 scsi_internal_device_unblock +EXPORT_SYMBOL_GPL vmlinux 0x7cc1b7fd max77693_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7ce4f762 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf1314d srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5f08de put_device +EXPORT_SYMBOL_GPL vmlinux 0x7d658923 crypto_rng_type +EXPORT_SYMBOL_GPL vmlinux 0x7d769816 fb_sys_write +EXPORT_SYMBOL_GPL vmlinux 0x7d9a6fa8 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x7dab26b6 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7db2a05e pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x7dc5d0b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7e04020a rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7e1183c9 async_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7e133210 eeh_remove_bus_device +EXPORT_SYMBOL_GPL vmlinux 0x7e17ba7b klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7e275ea8 scsi_complete_async_scans +EXPORT_SYMBOL_GPL vmlinux 0x7e2ed216 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7e2f464f devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7ea1a2bc probe_kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x7ea7b428 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x7eaeec48 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x7ee50948 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x7f008202 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f2483a3 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f52c522 ps3av_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7f66048d mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x7f7bc710 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x7ff10ccf raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7ff9228f pci_renumber_slot +EXPORT_SYMBOL_GPL vmlinux 0x7ffc8718 gpio_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x802fe399 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x803f938c tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x80507f72 ps3av_audio_mute_analog +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x809bf5fa rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x80be6ae9 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x80bfff3b crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x80d1aa6f device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80f3268f __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x8105d464 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x813510f5 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x81381976 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x813ab5f9 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x813f2251 crypto_larval_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8149ea54 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x81d56dc9 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x821412ec spi_alloc_master +EXPORT_SYMBOL_GPL vmlinux 0x8226642f __gpio_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x823170a1 gpiochip_add +EXPORT_SYMBOL_GPL vmlinux 0x8244ed72 tps65912_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x825f0828 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x827f17d1 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x82939ebd rcu_batches_completed_sched +EXPORT_SYMBOL_GPL vmlinux 0x829a7cc2 blk_queue_bypass_start +EXPORT_SYMBOL_GPL vmlinux 0x82a48f9e pmac_low_i2c_lock +EXPORT_SYMBOL_GPL vmlinux 0x82bf2a57 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x82c57e83 __blk_end_request_err +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82d95d5e mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x82e9f667 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x8379def9 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x838b13e7 ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x839576d4 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x83976195 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x83e405d4 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x83ea12bb debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x83eb7ce9 s5m_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x8417b5a8 __lock_page_killable +EXPORT_SYMBOL_GPL vmlinux 0x844e8906 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x84608817 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x8487a2b6 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x84909a70 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x84b1777c usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x84d25c35 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x84e5267d fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x85050965 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x85216155 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x852b6908 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85478a0b inet6_hash_frag +EXPORT_SYMBOL_GPL vmlinux 0x8557d05c wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x85697089 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x8569aeb4 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x857cfdf3 pci_restore_ats_state +EXPORT_SYMBOL_GPL vmlinux 0x8593bcc7 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x85949408 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x859cb4d7 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x85a3b674 sock_update_netprioidx +EXPORT_SYMBOL_GPL vmlinux 0x85ba8894 tpm_gen_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x85c10896 rcu_batches_completed_bh +EXPORT_SYMBOL_GPL vmlinux 0x85c7f674 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x85d6a8b8 sysfs_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x860aeff7 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x8627b0a6 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x86477af6 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86d7d568 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f8c910 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x86fc31ef regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x870e5cb3 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x873fbaea edac_atomic_assert_error +EXPORT_SYMBOL_GPL vmlinux 0x87754115 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x87761899 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x878f203f simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x87abbc2c user_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x87b3206e ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x8810ad5e crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x885e7f27 fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x887448cc usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x8876745b __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x887c1a8c stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x8884e020 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x88a0453a regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88ac13f7 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x88c21834 cgroup_taskset_next +EXPORT_SYMBOL_GPL vmlinux 0x88c7985b device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x88e8dfe3 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x88eba814 mmu_psize_defs +EXPORT_SYMBOL_GPL vmlinux 0x88f65c39 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x89129f79 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892672d6 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x896d17ec sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x89857995 blkdev_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x899cc962 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x89b88352 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x89c5e43b inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x89d4dbaf usb_usual_check_type +EXPORT_SYMBOL_GPL vmlinux 0x89ff43f6 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x8a034de0 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a0ace43 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x8a303660 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x8a478c8a pSeries_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a5c7a80 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x8a677c5f regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x8ab1c433 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8abe92a7 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x8ae0c028 tps65090_write +EXPORT_SYMBOL_GPL vmlinux 0x8aeaad43 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x8af3f478 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x8af93166 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8b08c786 device_move +EXPORT_SYMBOL_GPL vmlinux 0x8b090530 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8b66f67b gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x8b6e5da0 aead_geniv_init +EXPORT_SYMBOL_GPL vmlinux 0x8b70e8ea __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x8b752ac1 ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x8ba348fc account_system_vtime +EXPORT_SYMBOL_GPL vmlinux 0x8bc893b3 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x8be0ef8d wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x8bed8095 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c077568 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x8c8601e4 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x8c91150b pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x8cd4c4ff dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x8d0d50c4 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8d14f8ca pmac_i2c_get_controller +EXPORT_SYMBOL_GPL vmlinux 0x8d3158df __trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x8d3caf3f crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d460de1 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x8d6b45a9 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x8d85367f smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x8d92637c unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8dac4634 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x8db20bbc sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x8dcaada9 pci_reset_pri +EXPORT_SYMBOL_GPL vmlinux 0x8dcdb73b ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x8dcef93c pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x8ddea264 hrtimer_start +EXPORT_SYMBOL_GPL vmlinux 0x8df1aca8 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x8e04c457 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x8e4c6c47 swiotlb_unmap_page +EXPORT_SYMBOL_GPL vmlinux 0x8ef05932 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x8f13d70f shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x8f3b3e18 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x8f3da06a i2c_lock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x8f425ea6 raw_seq_open +EXPORT_SYMBOL_GPL vmlinux 0x8f4cbfba d_materialise_unique +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 0x8f77f56a da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x8fc1ab5b crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x8fe4569a hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8feca8c6 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x90025201 dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x90118c3b usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x903025c9 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x9037f545 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x9062c322 ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x90673390 spu_switch_event_register +EXPORT_SYMBOL_GPL vmlinux 0x906bb438 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x90a1004a crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x90d62b96 ata_base_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x90e2eb58 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x90ec999f __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x90f291d3 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x91069d18 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x9159b9d6 profile_event_register +EXPORT_SYMBOL_GPL vmlinux 0x918ad429 ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x91935953 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91e503cf tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x9222f5bf __pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x930316c4 slice_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x9317cbef platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x931825f3 cpufreq_frequency_table_target +EXPORT_SYMBOL_GPL vmlinux 0x933263ce usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x935feda0 swiotlb_bounce +EXPORT_SYMBOL_GPL vmlinux 0x936d5c02 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x936f9041 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x9377c9e3 dma_buf_fd +EXPORT_SYMBOL_GPL vmlinux 0x93cbc9be crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x93d2422d snmp_mib_free +EXPORT_SYMBOL_GPL vmlinux 0x940af958 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x945ba06f __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x947702a8 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x947f006e ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x949b773f netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a68723 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94aeadc0 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x94bd8adf attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x952664c5 do_exit +EXPORT_SYMBOL_GPL vmlinux 0x9534f784 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x95578e50 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956a91ba gpio_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x95739bfe get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x95764a53 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x957b09dc regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x957db404 dma_buf_kunmap_atomic +EXPORT_SYMBOL_GPL vmlinux 0x95904809 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x95a51084 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x96132b15 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x961f7db0 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x9621849f ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x965a78d5 threads_core_mask +EXPORT_SYMBOL_GPL vmlinux 0x96608ccd usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x9692a463 wait_for_tpm_stat +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 0x96e970e9 __bus_register +EXPORT_SYMBOL_GPL vmlinux 0x96f40e56 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x96fa3548 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x97111d52 ps3_free_mmio_region +EXPORT_SYMBOL_GPL vmlinux 0x9785c229 i2c_new_dummy +EXPORT_SYMBOL_GPL vmlinux 0x9789bf3b srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x97b13dad __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x97f59f5e ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x97faed6f usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98448c4f cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9855bb18 of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0x98570e47 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x989a4a2b init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x989cdaaa rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x98b95d04 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x98c0e6af class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x98cc564a regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x98e0c5f7 bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x98fb1b95 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x9924c496 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x9932caab set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x993a38f7 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x993e3ab3 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x993ecd82 tps65090_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x9953881c scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9962a038 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x9978a5d2 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x997afcd4 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x997f6f90 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x99c1a9c5 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x99def46b regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x99fcdf82 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x9a00d722 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x9a0c9858 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a3611d8 rt_mutex_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9a49d937 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x9a63bc10 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x9a89dbf7 lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x9a99fc3e fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x9aad6540 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x9abfe904 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aca444b get_monotonic_boottime +EXPORT_SYMBOL_GPL vmlinux 0x9adf7d49 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b112d53 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x9b3b737f register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x9b3b831a force_sig_info +EXPORT_SYMBOL_GPL vmlinux 0x9b49f0c5 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x9b59da4a usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x9b8fdcd9 ata_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x9b94560b event_storage_mutex +EXPORT_SYMBOL_GPL vmlinux 0x9ba0501e unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9becb3bf regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x9c226a28 sync_filesystem +EXPORT_SYMBOL_GPL vmlinux 0x9c4349f8 i2c_unlock_adapter +EXPORT_SYMBOL_GPL vmlinux 0x9c5b5ac7 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x9c823a3e fuse_conn_kill +EXPORT_SYMBOL_GPL vmlinux 0x9d0051f7 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x9d01cb95 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x9d023ab9 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9d1a4b5f tpm_read +EXPORT_SYMBOL_GPL vmlinux 0x9d5e3c43 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x9d9344b0 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x9da8160b blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x9dada790 platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x9e2b8de7 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x9e532c5a register_jprobes +EXPORT_SYMBOL_GPL vmlinux 0x9e874803 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x9ea865cf blocking_notifier_chain_cond_register +EXPORT_SYMBOL_GPL vmlinux 0x9ec88bc5 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x9ed72fe4 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x9ee8db3d da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x9f40a6d6 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x9f458d48 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x9f65edc7 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x9f923f8b restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x9f9cbf6e __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x9fcbd9f0 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fdcca42 blk_queue_bypass_end +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fedb268 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xa00d28fb rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xa0146f9e cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xa03d92f8 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xa0605d28 irq_domain_add_nomap +EXPORT_SYMBOL_GPL vmlinux 0xa0610075 drop_cop +EXPORT_SYMBOL_GPL vmlinux 0xa07e293b sk_unattached_filter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa09a30eb xattr_getsecurity +EXPORT_SYMBOL_GPL vmlinux 0xa0a27fff pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0xa0d06ee4 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xa0e4635a md_ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa0e6d4a9 mnt_clone_write +EXPORT_SYMBOL_GPL vmlinux 0xa1099490 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xa134adc4 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xa16beef6 default_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xa18bec9c pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xa197a73e wm8400_block_read +EXPORT_SYMBOL_GPL vmlinux 0xa1a89438 dm_requeue_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xa1cdbea2 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xa1d95148 page_cache_async_readahead +EXPORT_SYMBOL_GPL vmlinux 0xa1e04c9d usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xa1fc601c __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xa23744d7 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xa2402754 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xa28d11da cpu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xa2d20c07 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xa2dce645 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xa30be720 __css_put +EXPORT_SYMBOL_GPL vmlinux 0xa31f9faa rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xa35b4c80 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xa3786f8c dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa381ea78 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0xa3827fa4 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xa3834c18 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3b8792a clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xa3e22fa6 platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa3e7c113 ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0xa431cf45 blk_queue_bio +EXPORT_SYMBOL_GPL vmlinux 0xa46d0e86 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa47d7abf sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4c25039 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xa4d07c7f sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xa507b821 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa50e9866 bus_find_device_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa52ab743 tpm_show_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xa56ca855 tracepoint_iter_stop +EXPORT_SYMBOL_GPL vmlinux 0xa56dd55a driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa5a70cc3 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xa5aa2967 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL_GPL vmlinux 0xa5b1b573 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa5d46f69 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xa5e696a8 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa625110d kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0xa66fbf1e pci_pri_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa682797c ata_eh_qc_retry +EXPORT_SYMBOL_GPL vmlinux 0xa695164a __rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xa6a0a273 max77693_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6cd164d scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa7117858 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xa71a470b cgroup_lock_live_group +EXPORT_SYMBOL_GPL vmlinux 0xa73ee004 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xa746118b pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xa753c6da inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xa75dd4a1 sock_prot_inuse_add +EXPORT_SYMBOL_GPL vmlinux 0xa787fcef tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xa78b7e71 scsi_nl_add_transport +EXPORT_SYMBOL_GPL vmlinux 0xa7921278 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xa7a2a26a cgroup_to_blkcg +EXPORT_SYMBOL_GPL vmlinux 0xa7c93150 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xa7f3d257 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xa7f92105 add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0xa80ca473 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa80d2fdc css_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa82ca857 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xa8331af8 ahash_attr_alg +EXPORT_SYMBOL_GPL vmlinux 0xa8353174 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xa8a4adb6 pci_ats_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xa8b69cd1 queue_kthread_work +EXPORT_SYMBOL_GPL vmlinux 0xa8f59416 gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xa912a70c disk_get_part +EXPORT_SYMBOL_GPL vmlinux 0xa925e478 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xa93edf4c i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa98cdb36 ps3_get_firmware_version +EXPORT_SYMBOL_GPL vmlinux 0xa9a340e8 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa9c40107 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xa9c530b8 unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa9ce341e usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xaa852c93 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab26fc0 pci_configure_slot +EXPORT_SYMBOL_GPL vmlinux 0xaab282d6 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xaabe0e4e proc_net_remove +EXPORT_SYMBOL_GPL vmlinux 0xaac63203 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xaae9b518 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xab14110a stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xab2b243d ps3_irq_plug_destroy +EXPORT_SYMBOL_GPL vmlinux 0xab6babaf pm_qos_request +EXPORT_SYMBOL_GPL vmlinux 0xab8c50b5 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xabb3a4ce inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xabc7058b sysfs_add_device_to_node +EXPORT_SYMBOL_GPL vmlinux 0xabd83464 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xabe06a99 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xac05870a ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xac11b834 pci_pri_status +EXPORT_SYMBOL_GPL vmlinux 0xac21b42e of_node_to_nid +EXPORT_SYMBOL_GPL vmlinux 0xac293977 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xac308f5e bmp085_probe +EXPORT_SYMBOL_GPL vmlinux 0xac79fc03 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xacb556ad ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xacc2633c spu_switch_event_unregister +EXPORT_SYMBOL_GPL vmlinux 0xacc5478a pmf_do_irq +EXPORT_SYMBOL_GPL vmlinux 0xace5c0fc usb_bus_list +EXPORT_SYMBOL_GPL vmlinux 0xacfe997e powerpc_firmware_features +EXPORT_SYMBOL_GPL vmlinux 0xad04ed5d power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xad5a619e bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xada38534 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0xada739a7 static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0xadab02c6 swiotlb_tbl_sync_single +EXPORT_SYMBOL_GPL vmlinux 0xadafaa04 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xadc785ec kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xadce7f69 dm_set_device_limits +EXPORT_SYMBOL_GPL vmlinux 0xadf5345a ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xadf6aa4d tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xae0c87ee pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xae1b520f wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xae4f27dd blkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xae68170d noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae78041c usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xaea16dd3 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0xaec2a765 pci_stop_bus_device +EXPORT_SYMBOL_GPL vmlinux 0xaf0ca558 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xaf150b7c sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xaf18c831 lookup_instantiate_filp +EXPORT_SYMBOL_GPL vmlinux 0xaf52887a rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xaf54898d power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0xaf624eaa trace_nowake_buffer_unlock_commit_regs +EXPORT_SYMBOL_GPL vmlinux 0xaf747472 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xafd784ef ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xafe5118e ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xafe8f9dd platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xb0035713 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xb00bbd61 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xb0408a8b fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xb08a7789 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xb0b52d43 ata_sff_qc_issue +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 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 0xb1540fb8 ata_bmdma_start +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 0xb1bb1738 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1bfd6e3 crypto_create_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb227e0de usb_usual_ignore_device +EXPORT_SYMBOL_GPL vmlinux 0xb228e257 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb25c63c4 ata_do_eh +EXPORT_SYMBOL_GPL vmlinux 0xb26a5f85 pci_enable_pri +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 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb31bffcc crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xb346b03d generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xb347bb2c work_busy +EXPORT_SYMBOL_GPL vmlinux 0xb369fe70 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xb36d94be blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xb39e9844 net_cls_subsys_id +EXPORT_SYMBOL_GPL vmlinux 0xb3a79805 spi_unregister_master +EXPORT_SYMBOL_GPL vmlinux 0xb3dc4de5 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xb45c7a0c __module_text_address +EXPORT_SYMBOL_GPL vmlinux 0xb4c5d52e of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0xb4e113b3 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb518d89d sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb53620d1 pci_vpd_find_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xb58dcfa2 synchronize_sched_expedited +EXPORT_SYMBOL_GPL vmlinux 0xb5a0e11e lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0xb5c8edf4 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xb5cb8145 hrtimer_get_res +EXPORT_SYMBOL_GPL vmlinux 0xb5e68891 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xb5f17edf perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xb609e7a9 flush_altivec_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xb60b5707 of_i8042_aux_irq +EXPORT_SYMBOL_GPL vmlinux 0xb622847f dm_dispatch_request +EXPORT_SYMBOL_GPL vmlinux 0xb64079ed ata_eh_thaw_port +EXPORT_SYMBOL_GPL vmlinux 0xb640c710 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xb643c250 xics_wake_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb64a256c pcibios_remove_pci_devices +EXPORT_SYMBOL_GPL vmlinux 0xb66d47c2 rio_get_device +EXPORT_SYMBOL_GPL vmlinux 0xb67b2219 cm_suspend_again +EXPORT_SYMBOL_GPL vmlinux 0xb6aeb661 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xb6bc007a spu_sys_callback +EXPORT_SYMBOL_GPL vmlinux 0xb6c109a9 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xb6f6bee8 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xb705e95c dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7082aed sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xb740c8b5 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0xb75e0bd9 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xb760d763 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb7614440 devres_get +EXPORT_SYMBOL_GPL vmlinux 0xb7d40ab1 ata_pio_need_iordy +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 0xb82c791f s5m_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xb84b1aae ps3_event_receive_port_setup +EXPORT_SYMBOL_GPL vmlinux 0xb871ade1 flush_kthread_worker +EXPORT_SYMBOL_GPL vmlinux 0xb87d9b63 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xb8a8b744 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xb8d46325 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb8d4f68c disk_part_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xb8f4278d css_id +EXPORT_SYMBOL_GPL vmlinux 0xb903674c scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0xb93f01a5 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xb9ae96df usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xb9af026b __rtnl_link_register +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 0xb9e21515 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xba158769 rtas_cancel_event_scan +EXPORT_SYMBOL_GPL vmlinux 0xba2f5417 wm8350_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xba419401 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xba5157cf usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xba6d66de put_pid +EXPORT_SYMBOL_GPL vmlinux 0xbab03696 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xbacb9aef tpm_show_caps +EXPORT_SYMBOL_GPL vmlinux 0xbad26090 __atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xbae34c27 scsi_nl_remove_transport +EXPORT_SYMBOL_GPL vmlinux 0xbae55ce8 blk_queue_flush +EXPORT_SYMBOL_GPL vmlinux 0xbb038ce4 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0ce969 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xbb49aafe spu_64k_pages_available +EXPORT_SYMBOL_GPL vmlinux 0xbb5320aa ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xbb7c44ce crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbb7d9e8c sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xbb885753 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0xbbcbdeb0 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xbc12a982 irq_domain_add_linear +EXPORT_SYMBOL_GPL vmlinux 0xbc6f931b workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xbc77773f get_slice_psize +EXPORT_SYMBOL_GPL vmlinux 0xbcc65c27 pmac_i2c_find_bus +EXPORT_SYMBOL_GPL vmlinux 0xbccfd4d8 register_oldmem_pfn_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xbd0a8489 sysfs_put +EXPORT_SYMBOL_GPL vmlinux 0xbd3dfb2c invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xbd3f1a83 crypto_init_shash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xbd56e836 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xbd5cb8b9 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0xbd6af397 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xbdaf5686 get_compat_timeval +EXPORT_SYMBOL_GPL vmlinux 0xbdaf7a70 inet6_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xbdbaf3fa md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xbdc29502 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xbdd295f0 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xbdd2f42a rcu_bh_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0xbe09b1e8 fb_ddc_read +EXPORT_SYMBOL_GPL vmlinux 0xbe1331d1 __online_page_set_limits +EXPORT_SYMBOL_GPL vmlinux 0xbe1887e4 ata_unpack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xbe1edc43 skcipher_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xbe506a2b tty_prepare_flip_string_flags +EXPORT_SYMBOL_GPL vmlinux 0xbe8ba380 dma_buf_get +EXPORT_SYMBOL_GPL vmlinux 0xbec15b5a irq_set_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xbee7f6b0 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xbee8034d spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf26e46d inet_csk_bind_conflict +EXPORT_SYMBOL_GPL vmlinux 0xbf3eecc6 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xbf51d6ce inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xbf614c35 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xbfa07068 skcipher_geniv_exit +EXPORT_SYMBOL_GPL vmlinux 0xbfc75145 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xbfc87f11 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xbfca0801 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0xbffde8ec compat_alloc_user_space +EXPORT_SYMBOL_GPL vmlinux 0xc03ab504 setup_deferrable_timer_on_stack_key +EXPORT_SYMBOL_GPL vmlinux 0xc040c7b1 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xc04b825c ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0xc061367e mpic_msgr_get +EXPORT_SYMBOL_GPL vmlinux 0xc065a455 cpu_core_index_of_thread +EXPORT_SYMBOL_GPL vmlinux 0xc06c3704 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc06d77d1 usb_is_intel_switchable_xhci +EXPORT_SYMBOL_GPL vmlinux 0xc08647ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc0bb13f1 rt_mutex_timed_lock +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 0xc0db330c posix_timers_register_clock +EXPORT_SYMBOL_GPL vmlinux 0xc0e9e7e6 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc0fa334b __rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc10f2b8e cgroup_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc1185641 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc11bd00f tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc13ae0ba unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0xc14091fe __blkg_release +EXPORT_SYMBOL_GPL vmlinux 0xc1462451 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xc155ce88 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xc15d4f64 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17afa0b devres_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc19bf5b0 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xc1a99b0f unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xc1c7d4dd fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xc1ccd50e dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xc1fa4dfb unregister_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xc20ba8c8 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xc22557c3 register_spu_syscalls +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc232f463 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xc280fb46 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0xc2986ee0 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xc2e36957 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xc2f876f8 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc328b09a da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xc333f4e7 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xc34efe27 snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0xc37226a5 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xc387ccb4 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xc39591b9 crypto_init_ahash_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc399468f scsi_nl_remove_driver +EXPORT_SYMBOL_GPL vmlinux 0xc3a56484 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xc3ae157c crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xc3ca1ddb ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc452341d tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4b0e892 __online_page_increment_counters +EXPORT_SYMBOL_GPL vmlinux 0xc4de8099 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xc4dfb0e9 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc4e7b28e __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xc4fb05fa tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0xc50275bb usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xc53650f3 register_jprobe +EXPORT_SYMBOL_GPL vmlinux 0xc5367a95 dm_underlying_device_busy +EXPORT_SYMBOL_GPL vmlinux 0xc553eaf1 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xc558aae8 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0xc56eb55d pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0xc570b9c7 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xc5742b2d dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xc60f75ec __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc6263663 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc65d3eed ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc66c2311 ps3_vuart_irq_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc66f661a timed_output_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc68accba perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0xc6b7c298 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xc6d03681 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xc6e25e99 tracepoint_iter_start +EXPORT_SYMBOL_GPL vmlinux 0xc7021826 s5m_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xc709bca3 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xc723b124 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc72e1233 __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xc74753ef register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xc76f1e3b transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xc7734221 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7b7bba5 ablkcipher_walk_phys +EXPORT_SYMBOL_GPL vmlinux 0xc7bc0a9d crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xc7c6391c mpi_set_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc7dc1305 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xc8082ccc adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc84df44d tpm_show_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc87c1f84 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xc89815ec __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xc89c86ce platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xc8aa9e81 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xc8add232 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0xc8bfd570 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xc8e9adc4 pci_enable_pasid +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 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca052877 page_cache_sync_readahead +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 0xca9bedf1 cgroup_load_subsys +EXPORT_SYMBOL_GPL vmlinux 0xcab61909 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xcabb3984 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcacc28ff ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xcaf4ca4c ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcb15eee9 sdhci_pci_get_data +EXPORT_SYMBOL_GPL vmlinux 0xcb1849de sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0xcb421bdd tps65912_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xcb4535ee queue_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xcb481ab9 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xcb8b05a2 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xcba01b84 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xcbb1dcac __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xcbb6e43b rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xcbc2c8dd atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcbcfb319 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcbd23554 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xcbdbcb75 bmp085_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xcbe01e47 rtc_set_mmss +EXPORT_SYMBOL_GPL vmlinux 0xcbe1d872 of_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xcbee20b2 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0xcc198a28 wakeup_source_prepare +EXPORT_SYMBOL_GPL vmlinux 0xcc1f1c3d inet_twdr_hangman +EXPORT_SYMBOL_GPL vmlinux 0xcc28fb16 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xcc7aba22 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xcc7e1ec3 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcc85842e unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xccc9d716 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xcce0330a tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xccef7b9e perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xccfd242b usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xcd15e4e7 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xcd370241 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xcd54d4fe scsi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xcd632e9b rtc_irq_set_state +EXPORT_SYMBOL_GPL vmlinux 0xcd850362 regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xcd937230 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0xcd9991a9 usb_usual_set_present +EXPORT_SYMBOL_GPL vmlinux 0xcd9b331e ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xcd9bcab3 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xcd9c6fac sysfs_rename_link +EXPORT_SYMBOL_GPL vmlinux 0xcdb7c078 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xcdc26776 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdf14530 swiotlb_tbl_map_single +EXPORT_SYMBOL_GPL vmlinux 0xcdf8254b md_trim_bio +EXPORT_SYMBOL_GPL vmlinux 0xce06d23b filter_current_check_discard +EXPORT_SYMBOL_GPL vmlinux 0xce0b9b59 max77693_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xce46e140 ktime_get_ts +EXPORT_SYMBOL_GPL vmlinux 0xce55aeae uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xce60429b unregister_timer_hook +EXPORT_SYMBOL_GPL vmlinux 0xce680910 eeh_dn_check_failure +EXPORT_SYMBOL_GPL vmlinux 0xce6a9d9a trace_current_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0xce804291 pcibios_unmap_io_space +EXPORT_SYMBOL_GPL vmlinux 0xceb7a641 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xcec8544c ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xceca1644 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xcede2c89 crypto_alloc_instance +EXPORT_SYMBOL_GPL vmlinux 0xceecbed0 pmac_i2c_get_bus_node +EXPORT_SYMBOL_GPL vmlinux 0xcf196bf2 inet_csk_compat_setsockopt +EXPORT_SYMBOL_GPL vmlinux 0xcf65054b device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xcf681e59 bio_blkcg +EXPORT_SYMBOL_GPL vmlinux 0xcf8bb4ce pci_hp_create_module_link +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 0xcff12383 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xd00d880b fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd013b2f4 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd03c7700 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xd0529a45 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xd07cf98e dm_kill_unmapped_request +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0cd41aa usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xd0cf0edc crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xd0cf5481 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xd0f2894f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0xd14bc4d9 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xd1597a6b blk_queue_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xd16712f3 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xd1757fd8 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xd17d6bac devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xd19c9840 spi_register_master +EXPORT_SYMBOL_GPL vmlinux 0xd1b2db37 tracepoint_probe_register_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xd1b7099a anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xd1bcc6a1 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xd1fbb81a inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xd20bf6ba dcookie_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2a8caf0 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd2d87a26 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xd2def783 flush_vsx_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xd3292209 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xd32fe193 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xd332bf97 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xd3386722 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xd362c9fa __scsi_get_command +EXPORT_SYMBOL_GPL vmlinux 0xd37e13b4 regulator_set_optimum_mode +EXPORT_SYMBOL_GPL vmlinux 0xd38145ae usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xd39b8b8c swiotlb_tbl_unmap_single +EXPORT_SYMBOL_GPL vmlinux 0xd3a0510a init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xd3e195dd ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xd40025bb ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd41df097 rio_get_asm +EXPORT_SYMBOL_GPL vmlinux 0xd421c71f crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xd42c4593 dma_buf_vmap +EXPORT_SYMBOL_GPL vmlinux 0xd4445732 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xd44ec2c2 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd455a51f crypto_alg_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd471b6d6 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd4898630 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xd48c56c0 pSeries_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xd498b40c ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xd4b55a6f pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4ca0380 aead_geniv_free +EXPORT_SYMBOL_GPL vmlinux 0xd4d8fac2 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xd503e802 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xd582227a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd59668e6 unlock_flocks +EXPORT_SYMBOL_GPL vmlinux 0xd5a8dffa cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xd5bd7dac ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0xd5c26723 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xd5dde94d kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xd66ab903 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd682f552 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xd68505dd device_create +EXPORT_SYMBOL_GPL vmlinux 0xd68877e4 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd705b4c7 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0xd70dbf95 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xd727a75b __module_address +EXPORT_SYMBOL_GPL vmlinux 0xd732a4e1 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77c0bc8 klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xd79eabc8 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd7a25a1e pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xd7a3ff87 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xd7d79132 put_online_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd81d1bc7 blkdev_aio_write +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 0xd842fcd2 dma_buf_mmap +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 0xd87601cc ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0xd8b9ed1a input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8cdcad5 cgroup_unload_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd8cf33f8 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xd8e7ea28 cbe_spu_info +EXPORT_SYMBOL_GPL vmlinux 0xd8eeb344 rtc_irq_register +EXPORT_SYMBOL_GPL vmlinux 0xd8f9d73a inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xd8fe44cb device_attach +EXPORT_SYMBOL_GPL vmlinux 0xd909cefd crypto_init_spawn +EXPORT_SYMBOL_GPL vmlinux 0xd9289dcf ip6_push_pending_frames +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 0xd977f8ca md_stop +EXPORT_SYMBOL_GPL vmlinux 0xd98feb72 bus_remove_file +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 0xda2c4001 __get_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xda3a7ca9 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xda44cb37 setup_charger_manager +EXPORT_SYMBOL_GPL vmlinux 0xda80fc02 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xda907d98 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xdabd0e64 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xdaec531f __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb04cacc tracepoint_probe_unregister_noupdate +EXPORT_SYMBOL_GPL vmlinux 0xdb0ac13b ps3_compare_firmware_version +EXPORT_SYMBOL_GPL vmlinux 0xdb161f71 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xdb2a5f0a regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xdb3008cb ps3_system_bus_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xdb6d74ee i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xdb7cbcf1 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdbbd57cc crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xdbcc9a19 pmf_register_irq_client +EXPORT_SYMBOL_GPL vmlinux 0xdbd415b3 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfd57d7 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdc0c04b0 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdc0d69d9 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xdc0e5b65 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xdc1c40dd __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0xdc420f34 smu_get_ofdev +EXPORT_SYMBOL_GPL vmlinux 0xdc6c3af9 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9a5f8d pm_runtime_enable +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 0xdd3d63eb rq_flush_dcache_pages +EXPORT_SYMBOL_GPL vmlinux 0xdda8dbea do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xddb2c58b wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xddd58dc0 ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0xdde6a712 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xde417b81 async_schedule_domain +EXPORT_SYMBOL_GPL vmlinux 0xde48ae42 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xde7a50b5 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xde8edc51 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xdeab0cd9 pmf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdeaec547 inet_hashinfo_init +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf2c2a84 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdf308a2c simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xdf660df7 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xdf92b6bf usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xdf9fdb77 crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xdfb2204a spu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xdfd65f4f usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xdff8281b blk_abort_request +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 0xe036b3e9 mpic_msgr_put +EXPORT_SYMBOL_GPL vmlinux 0xe057c8bf disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xe073b2a0 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xe07a7812 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe09001d7 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xe0beaa45 seq_release_net +EXPORT_SYMBOL_GPL vmlinux 0xe0ddab6f irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe103f834 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xe11dd028 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xe15b7d23 s5m_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xe15f414c ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xe171bc86 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xe186bdc0 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xe19fc092 ps3fb_videomemory +EXPORT_SYMBOL_GPL vmlinux 0xe1b9583b pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xe1ce036c relay_open +EXPORT_SYMBOL_GPL vmlinux 0xe1dd2c55 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xe204fe2a page_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xe257fe8c scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xe25a2c0b pci_hp_change_slot_info +EXPORT_SYMBOL_GPL vmlinux 0xe27845ca input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xe27f9875 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe2a1706a PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xe2dd67e5 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe3043ff9 request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xe309b798 add_page_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xe35b2e9c device_schedule_callback_owner +EXPORT_SYMBOL_GPL vmlinux 0xe35fa6e6 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xe3614695 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xe37026d9 shash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xe381cf38 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xe384a102 usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xe3907333 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xe3a61a93 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xe3b0ce27 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0xe3d7750e btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0xe3e18f21 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xe3fb3921 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xe4189176 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xe41c3061 kern_mount_data +EXPORT_SYMBOL_GPL vmlinux 0xe429b7b3 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe42cc142 user_read +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4329ad6 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe435440e __ip_route_output_key +EXPORT_SYMBOL_GPL vmlinux 0xe48aa5b6 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xe4a85e03 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0xe4c031f8 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xe5032377 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe504171f wakeup_source_drop +EXPORT_SYMBOL_GPL vmlinux 0xe5106617 ahash_free_instance +EXPORT_SYMBOL_GPL vmlinux 0xe51b8ea8 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xe53687fa register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe56c1a8d ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xe56e0ad5 pmf_call_function +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fb452 aer_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5bc17c2 scsi_internal_device_block +EXPORT_SYMBOL_GPL vmlinux 0xe5c33a22 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xe5df3642 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xe5e02a17 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xe5e45482 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe61b7da5 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xe6391e9e wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xe642d98a transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe6488b47 cpufreq_notify_transition +EXPORT_SYMBOL_GPL vmlinux 0xe64a2a0c rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xe651f76e selinux_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe6679ff2 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe671f33c pmac_i2c_get_channel +EXPORT_SYMBOL_GPL vmlinux 0xe679aa94 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xe679dc67 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xe6a9f14b vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xe6cb680a usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xe6e16659 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xe6e1c5fe uuid_be_gen +EXPORT_SYMBOL_GPL vmlinux 0xe6f1da87 disk_map_sector_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe7335489 fuse_file_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xe745426e of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe76a2b08 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xe788466e use_mm +EXPORT_SYMBOL_GPL vmlinux 0xe799b242 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xe79d4ce6 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe7d1b2ff bsg_goose_queue +EXPORT_SYMBOL_GPL vmlinux 0xe7ffe877 pcpu_base_addr +EXPORT_SYMBOL_GPL vmlinux 0xe810f448 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe83190a1 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xe8421355 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xe85c55e7 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe888439a vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xe89bd243 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe8afbf49 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe8e4d5a6 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xe90753c3 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xe920413e sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9587909 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0xe996f9ed md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe9af1d7e __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xea03db00 ps3_vuart_port_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xea04ea3e pmac_i2c_get_dev_addr +EXPORT_SYMBOL_GPL vmlinux 0xea065e01 task_handoff_unregister +EXPORT_SYMBOL_GPL vmlinux 0xea0ceebb platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea1f33fc usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xea2ca350 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xea3ccf86 spu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xea418e0f atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0xea41f13b sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xea628c20 bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xea73811f part_round_stats +EXPORT_SYMBOL_GPL vmlinux 0xeae314a0 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xeae74760 scsi_nl_send_transport_msg +EXPORT_SYMBOL_GPL vmlinux 0xeafbce59 __cpufreq_driver_getavg +EXPORT_SYMBOL_GPL vmlinux 0xeb1c3628 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xeb4ddb17 pmf_get_function +EXPORT_SYMBOL_GPL vmlinux 0xeb5a6f72 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xeb8ae736 klist_init +EXPORT_SYMBOL_GPL vmlinux 0xebfabf34 led_classdev_register +EXPORT_SYMBOL_GPL vmlinux 0xec1b043e regulator_suspend_prepare +EXPORT_SYMBOL_GPL vmlinux 0xec25f967 klist_del +EXPORT_SYMBOL_GPL vmlinux 0xec3e94a3 find_symbol +EXPORT_SYMBOL_GPL vmlinux 0xec505c97 ablkcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xec5c7085 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xecbbfbd0 datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xece5aa5f blkio_subsys +EXPORT_SYMBOL_GPL vmlinux 0xed3d103f ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xed4f7119 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xed5807b7 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xed632c15 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xed98130c ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xedc25bfa pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xedcf1271 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xedf38259 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee1d08a6 ata_scsi_simulate +EXPORT_SYMBOL_GPL vmlinux 0xee21c835 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xee5ed764 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xee9003be get_device +EXPORT_SYMBOL_GPL vmlinux 0xee90dbb4 inet_csk_reqsk_queue_prune +EXPORT_SYMBOL_GPL vmlinux 0xeea27afb agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xeeb67444 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xeec12188 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xef6b7422 kill_pid_info_as_cred +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef719e84 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xef8c7850 pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0xeff031f9 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xeffa6b8f __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xf04f4593 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf06c4581 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xf098dd15 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xf09e1c1c dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xf11b685b platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xf158f170 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1a62b6f of_i8042_kbd_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1b31314 delayacct_on +EXPORT_SYMBOL_GPL vmlinux 0xf1b94e51 __remove_pages +EXPORT_SYMBOL_GPL vmlinux 0xf1d69287 crypto_alloc_ablkcipher +EXPORT_SYMBOL_GPL vmlinux 0xf1d6adad md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xf1fd7ed1 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xf200e80e usb_bus_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xf21b194f usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xf2237371 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xf265dbcb md_is_badblock +EXPORT_SYMBOL_GPL vmlinux 0xf28ec396 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xf2bb2643 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf2d98405 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xf2e968fb sched_setscheduler +EXPORT_SYMBOL_GPL vmlinux 0xf2f22483 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xf2fa1f7a scsi_nl_add_driver +EXPORT_SYMBOL_GPL vmlinux 0xf2fca922 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0xf30e105d ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xf30fe6dd pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf3473ddc of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xf3847582 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b93a97 cgroup_lock_is_held +EXPORT_SYMBOL_GPL vmlinux 0xf3c704b9 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf3da16af synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xf3dd036d regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xf3e6b8a4 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xf41930a8 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xf42a6a78 dma_mmap_coherent +EXPORT_SYMBOL_GPL vmlinux 0xf4573ddf wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf45dbb4b ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xf469c705 ps3_io_irq_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf473d181 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xf475119d debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf48fa274 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xf499fdb2 rcu_barrier_bh +EXPORT_SYMBOL_GPL vmlinux 0xf4cadea5 swiotlb_map_page +EXPORT_SYMBOL_GPL vmlinux 0xf4fc2d6c __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf5285a10 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5539fa8 blkcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xf55b8741 wm8994_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xf56666f9 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xf599274c rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5cdb0eb platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf63837fc tcp_is_cwnd_limited +EXPORT_SYMBOL_GPL vmlinux 0xf690c5af locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xf6c80abd kallsyms_on_each_symbol +EXPORT_SYMBOL_GPL vmlinux 0xf6e04730 event_storage +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f39e5f crypto_attr_alg2 +EXPORT_SYMBOL_GPL vmlinux 0xf710cb61 alloc_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xf7341b9f dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf7354799 pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf7752e70 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0xf77b0306 fuse_put_request +EXPORT_SYMBOL_GPL vmlinux 0xf7a5ef1d inet_csk_search_req +EXPORT_SYMBOL_GPL vmlinux 0xf7d701f0 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xf83e10c6 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xf83f20e2 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xf8802492 print_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0xf8b3ef1e crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xf8bd9603 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xf8e398fc memstart_addr +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3d0b kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0xf909d45e spu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xf92ce956 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0xf93af71d handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xf98528fd cpufreq_frequency_table_cpuinfo +EXPORT_SYMBOL_GPL vmlinux 0xf989b966 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b3effb ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xf9ca3160 ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xf9f18eaf tpm_show_pubek +EXPORT_SYMBOL_GPL vmlinux 0xfa012fe7 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0xfa15cf6a pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa1f4662 scatterwalk_start +EXPORT_SYMBOL_GPL vmlinux 0xfa78fc35 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xfa7bbbd8 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xfa901b31 compat_get_timespec +EXPORT_SYMBOL_GPL vmlinux 0xfaa7a15a pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xfab60503 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xfad27357 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xfad43841 __srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfb102f09 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb3ebefc usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xfb3f2b2c ps3_vuart_cancel_async +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 0xfb9f128a rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfba2d69e ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xfbb80900 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xfbbedefd of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xfbc7baaa skcipher_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfbdb30dc ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xfbf9be5d register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfbfcdc2b ps3_sys_manager_get_wol +EXPORT_SYMBOL_GPL vmlinux 0xfc1e2e7f get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xfc4e9640 module_mutex +EXPORT_SYMBOL_GPL vmlinux 0xfc52e9fb crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xfc938d10 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xfcb3ee39 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xfcd7bc0b ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0xfcdc5a2f ps3_vuart_read +EXPORT_SYMBOL_GPL vmlinux 0xfcffb4e1 pmac_i2c_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xfd01d068 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xfd4c547a get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xfdb5e1d4 __blk_put_request +EXPORT_SYMBOL_GPL vmlinux 0xfdbd0a5a irq_find_mapping +EXPORT_SYMBOL_GPL vmlinux 0xfdd02a9e tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xfde0b92c crypto_larval_error +EXPORT_SYMBOL_GPL vmlinux 0xfdfeb6c7 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xfe14bff3 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xfe2708ba __sock_recv_ts_and_drops +EXPORT_SYMBOL_GPL vmlinux 0xfe2bf19b ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xfe359059 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xfe3ef7e0 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfe43d6ca security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xfe46a307 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xfe5271ab get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xfe79d209 cred_to_ucred +EXPORT_SYMBOL_GPL vmlinux 0xfe7c6441 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xfe7f204d platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfe97aa66 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfeb71622 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfeeceff4 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xfef8a166 trace_current_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0xff0dacff ps3av_video_mute +EXPORT_SYMBOL_GPL vmlinux 0xff5a8cfe cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0xff6e24a1 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xffa4c4ec cgroup_lock +EXPORT_SYMBOL_GPL vmlinux 0xffede2be spu_management_ops --- linux-lts-quantal-3.5.0.orig/debian.master/control.d/vars.generic +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/control.d/flavour-control.stub +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/control.d/vars.powerpc64-smp +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/control.d/vars.powerpc-smp +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/control.d/vars.omap +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/control.d/generic.inclusion-list +++ linux-lts-quantal-3.5.0/debian.master/control.d/generic.inclusion-list @@ -0,0 +1,161 @@ +arch/*/{crypto,kernel,oprofile} +arch/*/kvm/kvm.ko +arch/x86/kvm/kvm-intel.ko +arch/x86/kvm/kvm-amd.ko +crypto/* +drivers/acpi/* +drivers/ata/ahci_platform.ko +drivers/ata/ahci.ko +drivers/ata/acard-ahci.ko +drivers/ata/libahci.ko +drivers/block/nbd.ko +drivers/block/floppy.ko +drivers/block/cryptoloop.ko +drivers/block/rbd.ko +drivers/char/hangcheck-timer.ko +drivers/char/ipmi/ipmi_msghandler.ko +drivers/char/lp.ko +drivers/char/nvram.ko +drivers/char/ppdev.ko +drivers/char/raw.ko +drivers/hv/* +drivers/infiniband/core/ib_addr.ko +drivers/infiniband/core/ib_core.ko +drivers/infiniband/core/ib_cm.ko +drivers/infiniband/core/iw_cm.ko +drivers/infiniband/core/ib_mad.ko +drivers/infiniband/core/ib_sa.ko +drivers/infiniband/core/rdma_cm.ko +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/device_handler/scsi_dh.ko +drivers/scsi/iscsi_tcp.ko +drivers/scsi/libiscsi.ko +drivers/scsi/libiscsi_tcp.ko +drivers/scsi/libsas/* +drivers/scsi/osd/libosd.ko +drivers/scsi/osd/osd.ko +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/9p/* +fs/binfmt_misc.ko +fs/btrfs/* +fs/cachefiles/cachefiles.ko +fs/ceph/* +fs/configfs/* +fs/exofs/libore.ko +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/9p/* +net/appletalk/* +net/atm/* +net/ax25/* +net/bridge/* +net/can/* +net/ceph/libceph.ko +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-lts-quantal-3.5.0.orig/debian.master/control.d/vars.highbank +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-firmware.armhf-highbank +++ linux-lts-quantal-3.5.0/debian.master/d-i/exclude-firmware.armhf-highbank @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.sparc +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.armel-omap +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-firmware.armhf-omap +++ linux-lts-quantal-3.5.0/debian.master/d-i/exclude-firmware.armhf-omap @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/package-list +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.armhf-omap +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.armhf-highbank +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.amd64-virtual +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.powerpc +++ linux-lts-quantal-3.5.0/debian.master/d-i/exclude-modules.powerpc @@ -0,0 +1,4 @@ +efi-modules +fb-modules +acpi-modules +virtio-modules --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.i386-virtual +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/kernel-versions.in +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-modules.ia64 +++ linux-lts-quantal-3.5.0/debian.master/d-i/exclude-modules.ia64 @@ -0,0 +1,4 @@ +irda-modules +floppy-modules +fb-modules +virtio-modules --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/exclude-firmware.armel-omap +++ linux-lts-quantal-3.5.0/debian.master/d-i/exclude-firmware.armel-omap @@ -0,0 +1,2 @@ +nic-modules +scsi-modules --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/crypto-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/usb-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/fat-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/virtio-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/nic-shared-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/squashfs-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/squashfs-modules @@ -0,0 +1 @@ +squashfs ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/nfs-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/nfs-modules @@ -0,0 +1,5 @@ +nfs ? +nfs_acl ? +lockd ? +sunrpc ? +cifs ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/speakup-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/fb-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/fb-modules @@ -0,0 +1,3 @@ +fbcon ? +vesafb ? +vga16fb ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/parport-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/parport-modules @@ -0,0 +1,2 @@ +parport ? +parport_pc ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/storage-core-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/pcmcia-storage-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/scsi-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/plip-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/plip-modules @@ -0,0 +1 @@ +plip ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/fs-secondary-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/fs-secondary-modules @@ -0,0 +1,5 @@ +btrfs ? +fuse ? +ntfs ? +hfs ? +hfsplus ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/nic-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/nic-modules @@ -0,0 +1,169 @@ +3c359 ? +3c501 ? +3c503 ? +3c505 ? +3c507 ? +3c509 ? +3c515 ? +3c523 ? +3c527 ? +3c59x ? +8139cp ? +8139too ? +82596 ? +abyss ? +ac3200 ? +adm8211 ? +airo ? +airport ? +alx ? +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 ? +mlx4_core ? +mlx4_en ? +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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/nic-pcmcia-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/message-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/serial-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/serial-modules @@ -0,0 +1,3 @@ +generic_serial ? +serial_cs ? +synclink_cs ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/sata-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/vlan-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/vlan-modules @@ -0,0 +1,3 @@ +slp ? +garp ? +8021q ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/md-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/md-modules @@ -0,0 +1,16 @@ +dm-crypt ? +dm-mirror ? +dm-raid ? +dm-snapshot ? +dm-zero ? +faulty ? +linear ? +multipath ? +raid0 ? +raid1 ? +raid10 ? +raid456 ? + +# Extras +dm-raid45 ? +dm-loop ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/ipmi-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/pcmcia-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/ppp-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/firewire-core-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/firewire-core-modules @@ -0,0 +1,4 @@ +firewire-core ? +firewire-ohci ? +firewire-sbp2 ? +firewire-net ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/multipath-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/multipath-modules @@ -0,0 +1,2 @@ +dm-multipath ? +dm-round-robin ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/mouse-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/mouse-modules @@ -0,0 +1,2 @@ +psmouse ? +usbmouse ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/irda-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/pata-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/block-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/floppy-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/floppy-modules @@ -0,0 +1 @@ +floppy ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/fs-core-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/modules/fs-core-modules @@ -0,0 +1,4 @@ +ext2 ? +jfs ? +reiserfs ? +xfs ? --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/modules/nic-usb-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules/input-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-powerpc/storage-core-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-powerpc/scsi-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-powerpc/nic-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-powerpc/message-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-powerpc/block-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-sparc/message-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/modules-sparc/block-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/firmware/README.txt +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/d-i/firmware/scsi-modules +++ linux-lts-quantal-3.5.0/debian.master/d-i/firmware/scsi-modules @@ -0,0 +1,3 @@ +qlogic/1040.bin +qlogic/12160.bin +qlogic/1280.bin --- linux-lts-quantal-3.5.0.orig/debian.master/d-i/firmware/nic-modules +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/annotations +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/config.common.ports +++ linux-lts-quantal-3.5.0/debian.master/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-lts-quantal-3.5.0.orig/debian.master/config/config.common.ubuntu +++ linux-lts-quantal-3.5.0/debian.master/config/config.common.ubuntu @@ -0,0 +1,6524 @@ +# +# 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_LEGACY_RATE_CONTROL=y +# CONFIG_ATH9K_MAC_DEBUG is not set +CONFIG_ATH9K_PCI=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_EFI_VARS_PSTORE is not set +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=y +CONFIG_HVC_CONSOLE=y +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_KUSER_HELPERS=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_REALTEK_PCI=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_RTSX_PCI=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_REALTEK_PCI=m +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_DEBUG=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=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +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_PNFS_BLOCK=m +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_PNFS_OBJLAYOUT=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_EMULATE_SSTEP=y +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=m +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 is not set +# 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_BACKCHANNEL=y +CONFIG_SUNRPC_DEBUG=y +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_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-lts-quantal-3.5.0.orig/debian.master/config/enforce +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/armhf/config.flavour.omap +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/armhf/config.common.armhf +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/armhf/config.flavour.highbank +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/armel/config.flavour.omap +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/armel/config.common.armel +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/i386/config.flavour.generic +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/i386/config.common.i386 +++ linux-lts-quantal-3.5.0/debian.master/config/i386/config.common.i386 @@ -0,0 +1,278 @@ +# +# 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_ALX=m +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-lts-quantal-3.5.0.orig/debian.master/config/amd64/config.common.amd64 +++ linux-lts-quantal-3.5.0/debian.master/config/amd64/config.common.amd64 @@ -0,0 +1,279 @@ +# +# 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_ALX=m +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-lts-quantal-3.5.0.orig/debian.master/config/amd64/config.flavour.generic +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/ppc64/config.common.ppc64 +++ linux-lts-quantal-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_ALX is not set +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_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-lts-quantal-3.5.0.orig/debian.master/config/ppc64/config.flavour.powerpc64-smp +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/powerpc/config.flavour.powerpc-smp +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/powerpc/ignore.modules +++ linux-lts-quantal-3.5.0/debian.master/config/powerpc/ignore.modules @@ -0,0 +1 @@ +1 --- linux-lts-quantal-3.5.0.orig/debian.master/config/powerpc/ignore +++ linux-lts-quantal-3.5.0/debian.master/config/powerpc/ignore @@ -0,0 +1 @@ +1 --- linux-lts-quantal-3.5.0.orig/debian.master/config/powerpc/config.flavour.powerpc64-smp +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/config/powerpc/config.common.powerpc +++ linux-lts-quantal-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_ALX is not set +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_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-lts-quantal-3.5.0.orig/debian.master/rules.d/ppc64.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/rules.d/armhf.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/rules.d/amd64.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/rules.d/i386.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/rules.d/armel.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/debian.master/rules.d/powerpc.mk +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/usr/gen_init_cpio.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/Kbuild.include +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/gcc-x86_64-has-stack-protector.sh +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/gcc-version.sh +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/headers_install.pl +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/Makefile.headersinst +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/fw-to-ihex.sh +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/kernel-doc +++ linux-lts-quantal-3.5.0/scripts/kernel-doc @@ -2045,6 +2045,9 @@ $section_counter = 0; while () { + while (s/\\\s*$//) { + $_ .= ; + } if ($state == 0) { if (/$doc_start/o) { $state = 1; # next line is always the function name --- linux-lts-quantal-3.5.0.orig/scripts/gcc-x86_32-has-stack-protector.sh +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/package/buildtar +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/kconfig/check.sh +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/kconfig/streamline_config.pl +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/kconfig/lkc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/scripts/kconfig/lxdialog/check-lxdialog.sh +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/Kbuild +++ linux-lts-quantal-3.5.0/include/Kbuild @@ -9,4 +9,3 @@ header-y += video/ header-y += drm/ header-y += xen/ -header-y += scsi/ --- linux-lts-quantal-3.5.0.orig/include/xen/grant_table.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/xen/interface/io/netif.h +++ linux-lts-quantal-3.5.0/include/xen/interface/io/netif.h @@ -13,6 +13,24 @@ #include "../grant_table.h" /* + * Older implementation of Xen network frontend / backend has an + * implicit dependency on the MAX_SKB_FRAGS as the maximum number of + * ring slots a skb can use. Netfront / netback may not work as + * expected when frontend and backend have different MAX_SKB_FRAGS. + * + * A better approach is to add mechanism for netfront / netback to + * negotiate this value. However we cannot fix all possible + * frontends, so we need to define a value which states the minimum + * slots backend must support. + * + * The minimum value derives from older Linux kernel's MAX_SKB_FRAGS + * (18), which is proved to work with most frontends. Any new backend + * which doesn't negotiate with frontend should expect frontend to + * send a valid packet using slots up to this value. + */ +#define XEN_NETIF_NR_SLOTS_MIN 18 + +/* * Notifications after enqueuing any type of message should be conditional on * the appropriate req_event or rsp_event field in the shared ring. * If the client sends notification for rx requests then it should specify @@ -47,6 +65,7 @@ #define _XEN_NETTXF_extra_info (3) #define XEN_NETTXF_extra_info (1U<<_XEN_NETTXF_extra_info) +#define XEN_NETIF_MAX_TX_SIZE 0xFFFF struct xen_netif_tx_request { grant_ref_t gref; /* Reference to buffer page */ uint16_t offset; /* Offset within buffer page */ --- linux-lts-quantal-3.5.0.orig/include/xen/interface/io/ring.h +++ linux-lts-quantal-3.5.0/include/xen/interface/io/ring.h @@ -188,6 +188,11 @@ #define RING_REQUEST_CONS_OVERFLOW(_r, _cons) \ (((_cons) - (_r)->rsp_prod_pvt) >= RING_SIZE(_r)) +/* Ill-behaved frontend determination: Can there be this many requests? */ +#define RING_REQUEST_PROD_OVERFLOW(_r, _prod) \ + (((_prod) - (_r)->rsp_prod_pvt) > RING_SIZE(_r)) + + #define RING_PUSH_REQUESTS(_r) do { \ wmb(); /* back sees requests /before/ updated producer index */ \ (_r)->sring->req_prod = (_r)->req_prod_pvt; \ --- linux-lts-quantal-3.5.0.orig/include/xen/interface/io/blkif.h +++ linux-lts-quantal-3.5.0/include/xen/interface/io/blkif.h @@ -138,11 +138,21 @@ uint8_t _pad3; } __attribute__((__packed__)); +struct blkif_request_other { + uint8_t _pad1; + blkif_vdev_t _pad2; /* only for read/write requests */ +#ifdef CONFIG_X86_64 + uint32_t _pad3; /* offsetof(blkif_req..,u.other.id)==8*/ +#endif + uint64_t id; /* private guest value, echoed in resp */ +} __attribute__((__packed__)); + struct blkif_request { uint8_t operation; /* BLKIF_OP_??? */ union { struct blkif_request_rw rw; struct blkif_request_discard discard; + struct blkif_request_other other; } u; } __attribute__((__packed__)); --- linux-lts-quantal-3.5.0.orig/include/net/sock.h +++ linux-lts-quantal-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; @@ -805,6 +807,18 @@ struct raw_hashinfo; struct module; +/* + * caches using SLAB_DESTROY_BY_RCU should let .next pointer from nulls nodes + * un-modified. Special care is taken when initializing object to zero. + */ +static inline void sk_prot_clear_nulls(struct sock *sk, int size) +{ + if (offsetof(struct sock, sk_node.next) != 0) + memset(sk, 0, offsetof(struct sock, sk_node.next)); + memset(&sk->sk_node.pprev, 0, + size - offsetof(struct sock, sk_node.pprev)); +} + /* Networking protocol blocks we attach to sockets. * socket layer -> transport layer interface * transport -> network interface is defined by struct inet_proto @@ -977,7 +991,7 @@ sk->sk_prot->name, sk, atomic_read(&sk->sk_prot->socks)); } -inline void sk_refcnt_debug_release(const struct sock *sk) +static inline void sk_refcnt_debug_release(const struct sock *sk) { if (atomic_read(&sk->sk_refcnt) != 1) printk(KERN_DEBUG "Destruction of the %s socket %p delayed, refcnt=%d\n", --- linux-lts-quantal-3.5.0.orig/include/net/ipip.h +++ linux-lts-quantal-3.5.0/include/net/ipip.h @@ -50,7 +50,7 @@ int pkt_len = skb->len - skb_transport_offset(skb); \ \ skb->ip_summed = CHECKSUM_NONE; \ - ip_select_ident(iph, &rt->dst, NULL); \ + ip_select_ident(skb, &rt->dst, NULL); \ \ err = ip_local_out(skb); \ if (likely(net_xmit_eval(err) == 0)) { \ --- linux-lts-quantal-3.5.0.orig/include/net/scm.h +++ linux-lts-quantal-3.5.0/include/net/scm.h @@ -50,7 +50,7 @@ { scm->pid = get_pid(pid); scm->cred = cred ? get_cred(cred) : NULL; - cred_to_ucred(pid, cred, &scm->creds); + cred_to_ucred(pid, cred, &scm->creds, false); } static __inline__ void scm_destroy_cred(struct scm_cookie *scm) @@ -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-lts-quantal-3.5.0.orig/include/net/ipv6.h +++ linux-lts-quantal-3.5.0/include/net/ipv6.h @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -395,6 +396,17 @@ a->s6_addr32[2] | a->s6_addr32[3]) == 0; } +/* more secured version of ipv6_addr_hash() */ +static inline u32 ipv6_addr_jhash(const struct in6_addr *a) +{ + u32 v = (__force u32)a->s6_addr32[0] ^ (__force u32)a->s6_addr32[1]; + + return jhash_3words(v, + (__force u32)a->s6_addr32[2], + (__force u32)a->s6_addr32[3], + ipv6_hash_secret); +} + static inline bool ipv6_addr_loopback(const struct in6_addr *a) { return (a->s6_addr32[0] | a->s6_addr32[1] | --- linux-lts-quantal-3.5.0.orig/include/net/codel.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/net/mac80211.h +++ linux-lts-quantal-3.5.0/include/net/mac80211.h @@ -233,8 +233,10 @@ * valid in station mode only while @assoc is true and if also * requested by %IEEE80211_HW_NEED_DTIM_PERIOD (cf. also hw conf * @ps_dtim_period) - * @last_tsf: last beacon's/probe response's TSF timestamp (could be old + * @sync_tsf: last beacon's/probe response's TSF timestamp (could be old * as it may have been received during scanning long ago) + * @sync_device_ts: the device timestamp corresponding to the sync_tsf, + * the driver/device can use this to calculate synchronisation * @beacon_int: beacon interval * @assoc_capability: capabilities taken from assoc resp * @basic_rates: bitmap of basic rates, each bit stands for an @@ -281,7 +283,8 @@ u8 dtim_period; u16 beacon_int; u16 assoc_capability; - u64 last_tsf; + u64 sync_tsf; + u32 sync_device_ts; u32 basic_rates; int mcast_rate[IEEE80211_NUM_BANDS]; u16 ht_operation_mode; @@ -696,6 +699,8 @@ * * @mactime: value in microseconds of the 64-bit Time Synchronization Function * (TSF) timer when the first data symbol (MPDU) arrived at the hardware. + * @device_timestamp: arbitrary timestamp for the device, mac80211 doesn't use + * it but can store it and pass it back to the driver for synchronisation * @band: the active band when this frame was received * @freq: frequency the radio was tuned to when receiving this frame, in MHz * @signal: signal strength when receiving this frame, either in dBm, in dB or @@ -709,6 +714,7 @@ */ struct ieee80211_rx_status { u64 mactime; + u32 device_timestamp; enum ieee80211_band band; int freq; int signal; @@ -1197,6 +1203,10 @@ * queue mapping in order to use different queues (not just one per AC) * for different virtual interfaces. See the doc section on HW queue * control for more details. + * + * @IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL: On this hardware TX BA session + * should be tear down once BAR frame will not be acked. + * */ enum ieee80211_hw_flags { IEEE80211_HW_HAS_RATE_CONTROL = 1<<0, @@ -1224,6 +1234,7 @@ IEEE80211_HW_AP_LINK_PS = 1<<22, IEEE80211_HW_TX_AMPDU_SETUP_IN_HW = 1<<23, IEEE80211_HW_SCAN_WHILE_IDLE = 1<<24, + IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL = 1<<26, }; /** --- linux-lts-quantal-3.5.0.orig/include/net/inet_frag.h +++ linux-lts-quantal-3.5.0/include/net/inet_frag.h @@ -33,6 +33,13 @@ #define INETFRAGS_HASHSZ 64 +/* averaged: + * max_depth = default ipfrag_high_thresh / INETFRAGS_HASHSZ / + * rounded up (SKB_TRUELEN(0) + sizeof(struct ipq or + * struct frag_queue)) + */ +#define INETFRAGS_MAXDEPTH 128 + struct inet_frags { struct hlist_head hash[INETFRAGS_HASHSZ]; rwlock_t lock; @@ -63,6 +70,8 @@ struct inet_frag_queue *inet_frag_find(struct netns_frags *nf, struct inet_frags *f, void *key, unsigned int hash) __releases(&f->lock); +void inet_frag_maybe_warn_overflow(struct inet_frag_queue *q, + const char *prefix); static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f) { --- linux-lts-quantal-3.5.0.orig/include/net/xfrm.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/net/cfg80211.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/net/udp.h +++ linux-lts-quantal-3.5.0/include/net/udp.h @@ -181,6 +181,7 @@ extern void udp_err(struct sk_buff *, u32); extern int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t len); +extern int udp_push_pending_frames(struct sock *sk); extern void udp_flush_pending_frames(struct sock *sk); extern int udp_rcv(struct sk_buff *skb); extern int udp_ioctl(struct sock *sk, int cmd, unsigned long arg); --- linux-lts-quantal-3.5.0.orig/include/net/ip.h +++ linux-lts-quantal-3.5.0/include/net/ip.h @@ -246,9 +246,11 @@ extern void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more); -static inline void ip_select_ident(struct iphdr *iph, struct dst_entry *dst, struct sock *sk) +static inline void ip_select_ident(struct sk_buff *skb, struct dst_entry *dst, struct sock *sk) { - if (iph->frag_off & htons(IP_DF)) { + struct iphdr *iph = ip_hdr(skb); + + if ((iph->frag_off & htons(IP_DF)) && !skb->local_df) { /* This is only to work around buggy Windows95/2000 * VJ compression implementations. If the ID field * does not change, they drop every other packet in @@ -260,9 +262,11 @@ __ip_select_ident(iph, dst, 0); } -static inline void ip_select_ident_more(struct iphdr *iph, struct dst_entry *dst, struct sock *sk, int more) +static inline void ip_select_ident_more(struct sk_buff *skb, struct dst_entry *dst, struct sock *sk, int more) { - if (iph->frag_off & htons(IP_DF)) { + struct iphdr *iph = ip_hdr(skb); + + if ((iph->frag_off & htons(IP_DF)) && !skb->local_df) { if (sk && inet_sk(sk)->inet_daddr) { iph->id = htons(inet_sk(sk)->inet_id); inet_sk(sk)->inet_id += 1 + more; --- linux-lts-quantal-3.5.0.orig/include/net/inet_sock.h +++ linux-lts-quantal-3.5.0/include/net/inet_sock.h @@ -202,6 +202,7 @@ extern int inet_sk_rebuild_header(struct sock *sk); extern u32 inet_ehash_secret; +extern u32 ipv6_hash_secret; extern void build_ehash_secret(void); static inline unsigned int inet_ehashfn(struct net *net, --- linux-lts-quantal-3.5.0.orig/include/net/inet6_hashtables.h +++ linux-lts-quantal-3.5.0/include/net/inet6_hashtables.h @@ -28,16 +28,16 @@ struct inet_hashinfo; -/* I have no idea if this is a good hash for v6 or not. -DaveM */ static inline unsigned int inet6_ehashfn(struct net *net, const struct in6_addr *laddr, const u16 lport, const struct in6_addr *faddr, const __be16 fport) { - u32 ports = (lport ^ (__force u16)fport); + u32 ports = (((u32)lport) << 16) | (__force u32)fport; return jhash_3words((__force u32)laddr->s6_addr32[3], - (__force u32)faddr->s6_addr32[3], - ports, inet_ehash_secret + net_hash_mix(net)); + ipv6_addr_jhash(faddr), + ports, + inet_ehash_secret + net_hash_mix(net)); } static inline int inet6_sk_ehashfn(const struct sock *sk) --- linux-lts-quantal-3.5.0.orig/include/net/inet_connection_sock.h +++ linux-lts-quantal-3.5.0/include/net/inet_connection_sock.h @@ -318,6 +318,7 @@ const unsigned long max_rto); extern void inet_csk_destroy_sock(struct sock *sk); +extern void inet_csk_prepare_forced_close(struct sock *sk); /* * LISTEN is a special case for poll.. --- linux-lts-quantal-3.5.0.orig/include/net/tcp.h +++ linux-lts-quantal-3.5.0/include/net/tcp.h @@ -253,6 +253,7 @@ extern int sysctl_tcp_thin_linear_timeouts; extern int sysctl_tcp_thin_dupack; extern int sysctl_tcp_early_retrans; +extern int sysctl_tcp_challenge_ack_limit; extern atomic_long_t tcp_memory_allocated; extern struct percpu_counter tcp_sockets_allocated; @@ -981,6 +982,7 @@ if (sysctl_tcp_low_latency || !tp->ucopy.task) return false; + skb_dst_force(skb); __skb_queue_tail(&tp->ucopy.prequeue, skb); tp->ucopy.memory += skb->truesize; if (tp->ucopy.memory > sk->sk_rcvbuf) { --- linux-lts-quantal-3.5.0.orig/include/net/ip_fib.h +++ linux-lts-quantal-3.5.0/include/net/ip_fib.h @@ -129,18 +129,16 @@ }; #ifdef CONFIG_IP_ROUTE_MULTIPATH - #define FIB_RES_NH(res) ((res).fi->fib_nh[(res).nh_sel]) - -#define FIB_TABLE_HASHSZ 2 - #else /* CONFIG_IP_ROUTE_MULTIPATH */ - #define FIB_RES_NH(res) ((res).fi->fib_nh[0]) +#endif /* CONFIG_IP_ROUTE_MULTIPATH */ +#ifdef CONFIG_IP_MULTIPLE_TABLES #define FIB_TABLE_HASHSZ 256 - -#endif /* CONFIG_IP_ROUTE_MULTIPATH */ +#else +#define FIB_TABLE_HASHSZ 2 +#endif extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh); --- linux-lts-quantal-3.5.0.orig/include/net/addrconf.h +++ linux-lts-quantal-3.5.0/include/net/addrconf.h @@ -60,7 +60,7 @@ extern int ipv6_chk_addr(struct net *net, const struct in6_addr *addr, - struct net_device *dev, + const struct net_device *dev, int strict); #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) @@ -81,6 +81,9 @@ const struct in6_addr *daddr, unsigned int srcprefs, struct in6_addr *saddr); +extern int __ipv6_get_lladdr(struct inet6_dev *idev, + struct in6_addr *addr, + unsigned char banned_flags); extern int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr, unsigned char banned_flags); --- linux-lts-quantal-3.5.0.orig/include/net/netfilter/nf_conntrack_ecache.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/net/bluetooth/mgmt.h +++ linux-lts-quantal-3.5.0/include/net/bluetooth/mgmt.h @@ -42,6 +42,7 @@ #define MGMT_STATUS_NOT_POWERED 0x0f #define MGMT_STATUS_CANCELLED 0x10 #define MGMT_STATUS_INVALID_INDEX 0x11 +#define MGMT_STATUS_RFKILLED 0x12 struct mgmt_hdr { __le16 opcode; --- linux-lts-quantal-3.5.0.orig/include/net/bluetooth/hci_core.h +++ linux-lts-quantal-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 { @@ -981,6 +982,7 @@ int mgmt_control(struct sock *sk, struct msghdr *msg, size_t len); int mgmt_index_added(struct hci_dev *hdev); int mgmt_index_removed(struct hci_dev *hdev); +int mgmt_set_powered_failed(struct hci_dev *hdev, int err); int mgmt_powered(struct hci_dev *hdev, u8 powered); int mgmt_discoverable(struct hci_dev *hdev, u8 discoverable); int mgmt_connectable(struct hci_dev *hdev, u8 connectable); --- linux-lts-quantal-3.5.0.orig/include/net/bluetooth/smp.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/target/target_core_base.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/kd.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/memory.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/pps_kernel.h +++ linux-lts-quantal-3.5.0/include/linux/pps_kernel.h @@ -43,7 +43,7 @@ int event, void *data); /* PPS echo function */ struct module *owner; - struct device *dev; + struct device *dev; /* Parent device for device_create */ }; struct pps_event_time { @@ -69,6 +69,7 @@ wait_queue_head_t queue; /* PPS event queue */ unsigned int id; /* PPS source unique ID */ + void const *lookup_cookie; /* pps_lookup_dev only */ struct cdev cdev; struct device *dev; struct fasync_struct *async_queue; /* fasync method */ @@ -82,16 +83,26 @@ extern struct device_attribute pps_attrs[]; /* + * Internal functions. + * + * These are not actually part of the exported API, but this is a + * convenient header file to put them in. + */ + +extern int pps_register_cdev(struct pps_device *pps); +extern void pps_unregister_cdev(struct pps_device *pps); + +/* * Exported functions */ extern struct pps_device *pps_register_source( struct pps_source_info *info, int default_params); extern void pps_unregister_source(struct pps_device *pps); -extern int pps_register_cdev(struct pps_device *pps); -extern void pps_unregister_cdev(struct pps_device *pps); extern void pps_event(struct pps_device *pps, struct pps_event_time *ts, int event, void *data); +/* Look up a pps device by magic cookie */ +struct pps_device *pps_lookup_dev(void const *cookie); static inline void timespec_to_pps_ktime(struct pps_ktime *kt, struct timespec ts) --- linux-lts-quantal-3.5.0.orig/include/linux/time.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/audit.h +++ linux-lts-quantal-3.5.0/include/linux/audit.h @@ -106,6 +106,7 @@ #define AUDIT_MMAP 1323 /* Record showing descriptor and flags in mmap */ #define AUDIT_NETFILTER_PKT 1324 /* Packets traversing netfilter chains */ #define AUDIT_NETFILTER_CFG 1325 /* Netfilter chain modifications */ +#define AUDIT_SECCOMP 1326 /* Secure Computing event */ #define AUDIT_AVC 1400 /* SE Linux avc denial or grant */ #define AUDIT_SELINUX_ERR 1401 /* Internal SE Linux Errors */ @@ -480,7 +481,7 @@ unsigned long a1, unsigned long a2, unsigned long a3) { - if (unlikely(!audit_dummy_context())) + if (unlikely(current->audit_context)) __audit_syscall_entry(arch, major, a0, a1, a2, a3); } static inline void audit_syscall_exit(void *pt_regs) @@ -510,7 +511,8 @@ static inline void audit_seccomp(unsigned long syscall, long signr, int code) { - if (unlikely(!audit_dummy_context())) + /* Force a record to be reported if a signal was delivered. */ + if (signr || unlikely(!audit_dummy_context())) __audit_seccomp(syscall, signr, code); } --- linux-lts-quantal-3.5.0.orig/include/linux/nfs_fs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mm_types.h +++ linux-lts-quantal-3.5.0/include/linux/mm_types.h @@ -307,6 +307,7 @@ void (*unmap_area) (struct mm_struct *mm, unsigned long addr); #endif unsigned long mmap_base; /* base of mmap area */ + unsigned long mmap_legacy_base; /* base of mmap area in bottom-up allocations */ unsigned long task_size; /* size of task vm space */ unsigned long cached_hole_size; /* if non-zero, the largest hole below free_area_cache */ unsigned long free_area_cache; /* first hole of size cached_hole_size or larger */ --- linux-lts-quantal-3.5.0.orig/include/linux/security.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ftrace.h +++ linux-lts-quantal-3.5.0/include/linux/ftrace.h @@ -305,7 +305,6 @@ size_t cnt, loff_t *ppos); ssize_t ftrace_notrace_write(struct file *file, const char __user *ubuf, size_t cnt, loff_t *ppos); -loff_t ftrace_regex_lseek(struct file *file, loff_t offset, int origin); int ftrace_regex_release(struct inode *inode, struct file *file); void __init @@ -429,6 +428,8 @@ ftrace_regex_release(struct inode *inode, struct file *file) { return -ENODEV; } #endif /* CONFIG_DYNAMIC_FTRACE */ +loff_t ftrace_filter_lseek(struct file *file, loff_t offset, int whence); + /* totally disable ftrace - can not re-enable after this */ void ftrace_kill(void); --- linux-lts-quantal-3.5.0.orig/include/linux/namei.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/module.h +++ linux-lts-quantal-3.5.0/include/linux/module.h @@ -196,11 +196,11 @@ struct module *source, *target; }; -enum module_state -{ - MODULE_STATE_LIVE, - MODULE_STATE_COMING, - MODULE_STATE_GOING, +enum module_state { + MODULE_STATE_LIVE, /* Normal state. */ + MODULE_STATE_COMING, /* Full formed, running module_init. */ + MODULE_STATE_GOING, /* Going away. */ + MODULE_STATE_UNFORMED, /* Still setting it up. */ }; /** --- linux-lts-quantal-3.5.0.orig/include/linux/hid.h +++ linux-lts-quantal-3.5.0/include/linux/hid.h @@ -200,6 +200,7 @@ #define HID_UP_DIGITIZER 0x000d0000 #define HID_UP_PID 0x000f0000 #define HID_UP_HPVENDOR 0xff7f0000 +#define HID_UP_HPVENDOR2 0xff010000 #define HID_UP_MSVENDOR 0xff000000 #define HID_UP_CUSTOM 0x00ff0000 #define HID_UP_LOGIVENDOR 0xffbc0000 @@ -378,6 +379,7 @@ struct hid_usage { unsigned hid; /* hid usage code */ unsigned collection_index; /* index into collection array */ + unsigned usage_index; /* index into usage array */ /* hidinput data */ __u16 code; /* input driver code */ __u8 type; /* input driver type */ @@ -425,10 +427,12 @@ struct hid_device *device; /* associated device */ }; +#define HID_MAX_IDS 256 + struct hid_report_enum { unsigned numbered; struct list_head report_list; - struct hid_report *report_id_hash[256]; + struct hid_report *report_id_hash[HID_MAX_IDS]; }; #define HID_REPORT_TYPES 3 @@ -743,6 +747,10 @@ struct hid_device *hid_allocate_device(void); struct hid_report *hid_register_report(struct hid_device *device, unsigned type, unsigned id); int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size); +struct hid_report *hid_validate_values(struct hid_device *hid, + unsigned int type, unsigned int id, + unsigned int field_index, + unsigned int report_counts); int hid_open_report(struct hid_device *device); int hid_check_keys_pressed(struct hid_device *hid); int hid_connect(struct hid_device *hid, unsigned int connect_mask); --- linux-lts-quantal-3.5.0.orig/include/linux/spinlock_up.h +++ linux-lts-quantal-3.5.0/include/linux/spinlock_up.h @@ -16,7 +16,10 @@ * In the debug case, 1 means unlocked, 0 means locked. (the values * are inverted, to catch initialization bugs) * - * No atomicity anywhere, we are on UP. + * No atomicity anywhere, we are on UP. However, we still need + * the compiler barriers, because we do not want the compiler to + * move potentially faulting instructions (notably user accesses) + * into the locked sequence, resulting in non-atomic execution. */ #ifdef CONFIG_DEBUG_SPINLOCK @@ -25,6 +28,7 @@ static inline void arch_spin_lock(arch_spinlock_t *lock) { lock->slock = 0; + barrier(); } static inline void @@ -32,6 +36,7 @@ { local_irq_save(flags); lock->slock = 0; + barrier(); } static inline int arch_spin_trylock(arch_spinlock_t *lock) @@ -39,32 +44,34 @@ char oldval = lock->slock; lock->slock = 0; + barrier(); return oldval > 0; } static inline void arch_spin_unlock(arch_spinlock_t *lock) { + barrier(); lock->slock = 1; } /* * Read-write spinlocks. No debug version. */ -#define arch_read_lock(lock) do { (void)(lock); } while (0) -#define arch_write_lock(lock) do { (void)(lock); } while (0) -#define arch_read_trylock(lock) ({ (void)(lock); 1; }) -#define arch_write_trylock(lock) ({ (void)(lock); 1; }) -#define arch_read_unlock(lock) do { (void)(lock); } while (0) -#define arch_write_unlock(lock) do { (void)(lock); } while (0) +#define arch_read_lock(lock) do { barrier(); (void)(lock); } while (0) +#define arch_write_lock(lock) do { barrier(); (void)(lock); } while (0) +#define arch_read_trylock(lock) ({ barrier(); (void)(lock); 1; }) +#define arch_write_trylock(lock) ({ barrier(); (void)(lock); 1; }) +#define arch_read_unlock(lock) do { barrier(); (void)(lock); } while (0) +#define arch_write_unlock(lock) do { barrier(); (void)(lock); } while (0) #else /* DEBUG_SPINLOCK */ #define arch_spin_is_locked(lock) ((void)(lock), 0) /* for sched.c and kernel_lock.c: */ -# define arch_spin_lock(lock) do { (void)(lock); } while (0) -# define arch_spin_lock_flags(lock, flags) do { (void)(lock); } while (0) -# define arch_spin_unlock(lock) do { (void)(lock); } while (0) -# define arch_spin_trylock(lock) ({ (void)(lock); 1; }) +# define arch_spin_lock(lock) do { barrier(); (void)(lock); } while (0) +# define arch_spin_lock_flags(lock, flags) do { barrier(); (void)(lock); } while (0) +# define arch_spin_unlock(lock) do { barrier(); (void)(lock); } while (0) +# define arch_spin_trylock(lock) ({ barrier(); (void)(lock); 1; }) #endif /* DEBUG_SPINLOCK */ #define arch_spin_is_contended(lock) (((void)(lock), 0)) --- linux-lts-quantal-3.5.0.orig/include/linux/efi.h +++ linux-lts-quantal-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; @@ -257,6 +262,7 @@ unsigned long count, u64 *max_size, int *reset_type); +typedef efi_status_t efi_query_variable_store_t(u32 attributes, unsigned long size); /* * EFI Configuration Table and GUID definitions @@ -496,6 +502,17 @@ 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); +extern efi_status_t efi_query_variable_store(u32 attributes, unsigned long size); +#else +static inline void efi_free_boot_services(void) {} + +static inline efi_status_t efi_query_variable_store(u32 attributes, unsigned long size) +{ + return EFI_SUCCESS; +} +#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); @@ -534,18 +551,30 @@ #endif /* - * We play games with efi_enabled so that the compiler will, if possible, remove - * EFI-related code altogether. + * We play games with efi_enabled so that the compiler will, if + * possible, remove EFI-related code altogether. */ +#define EFI_BOOT 0 /* Were we booted from EFI? */ +#define EFI_SYSTEM_TABLES 1 /* Can we use EFI system tables? */ +#define EFI_CONFIG_TABLES 2 /* Can we use EFI config tables? */ +#define EFI_RUNTIME_SERVICES 3 /* Can we use runtime services? */ +#define EFI_MEMMAP 4 /* Can we use EFI memory map? */ +#define EFI_64BIT 5 /* Is the firmware 64-bit? */ + #ifdef CONFIG_EFI # ifdef CONFIG_X86 - extern int efi_enabled; - extern bool efi_64bit; +extern int efi_enabled(int facility); # else -# define efi_enabled 1 +static inline int efi_enabled(int facility) +{ + return 1; +} # endif #else -# define efi_enabled 0 +static inline int efi_enabled(int facility) +{ + return 0; +} #endif /* @@ -635,6 +664,7 @@ efi_get_variable_t *get_variable; efi_get_next_variable_t *get_next_variable; efi_set_variable_t *set_variable; + efi_query_variable_store_t *query_variable_store; }; struct efivars { @@ -649,6 +679,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-lts-quantal-3.5.0.orig/include/linux/dynamic_debug.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/virtio_console.h +++ linux-lts-quantal-3.5.0/include/linux/virtio_console.h @@ -39,7 +39,7 @@ #define VIRTIO_CONSOLE_F_SIZE 0 /* Does host provide console size? */ #define VIRTIO_CONSOLE_F_MULTIPORT 1 /* Does host provide multiple ports? */ -#define VIRTIO_CONSOLE_BAD_ID (~(u32)0) +#define VIRTIO_CONSOLE_BAD_ID (~(__u32)0) struct virtio_console_config { /* colums of the screens */ --- linux-lts-quantal-3.5.0.orig/include/linux/libata.h +++ linux-lts-quantal-3.5.0/include/linux/libata.h @@ -393,6 +393,7 @@ ATA_HORKAGE_NOSETXFER = (1 << 14), /* skip SETXFER, SATA only */ ATA_HORKAGE_BROKEN_FPDMA_AA = (1 << 15), /* skip AA */ ATA_HORKAGE_DUMP_ID = (1 << 16), /* dump IDENTIFY data */ + ATA_HORKAGE_MAX_SEC_LBA48 = (1 << 17), /* Set max sects to 65535 */ /* DMA mask for user DMA control: User visible values; DO NOT renumber */ --- linux-lts-quantal-3.5.0.orig/include/linux/virtio.h +++ linux-lts-quantal-3.5.0/include/linux/virtio.h @@ -44,6 +44,10 @@ bool virtqueue_enable_cb(struct virtqueue *vq); +unsigned virtqueue_enable_cb_prepare(struct virtqueue *vq); + +bool virtqueue_poll(struct virtqueue *vq, unsigned); + bool virtqueue_enable_cb_delayed(struct virtqueue *vq); void *virtqueue_detach_unused_buf(struct virtqueue *vq); --- linux-lts-quantal-3.5.0.orig/include/linux/fs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/if_cablemodem.h +++ linux-lts-quantal-3.5.0/include/linux/if_cablemodem.h @@ -12,11 +12,11 @@ */ /* some useful defines for sb1000.c e cmconfig.c - fv */ -#define SIOCGCMSTATS SIOCDEVPRIVATE+0 /* get cable modem stats */ -#define SIOCGCMFIRMWARE SIOCDEVPRIVATE+1 /* get cm firmware version */ -#define SIOCGCMFREQUENCY SIOCDEVPRIVATE+2 /* get cable modem frequency */ -#define SIOCSCMFREQUENCY SIOCDEVPRIVATE+3 /* set cable modem frequency */ -#define SIOCGCMPIDS SIOCDEVPRIVATE+4 /* get cable modem PIDs */ -#define SIOCSCMPIDS SIOCDEVPRIVATE+5 /* set cable modem PIDs */ +#define SIOCGCMSTATS (SIOCDEVPRIVATE+0) /* get cable modem stats */ +#define SIOCGCMFIRMWARE (SIOCDEVPRIVATE+1) /* get cm firmware version */ +#define SIOCGCMFREQUENCY (SIOCDEVPRIVATE+2) /* get cable modem frequency */ +#define SIOCSCMFREQUENCY (SIOCDEVPRIVATE+3) /* set cable modem frequency */ +#define SIOCGCMPIDS (SIOCDEVPRIVATE+4) /* get cable modem PIDs */ +#define SIOCSCMPIDS (SIOCDEVPRIVATE+5) /* set cable modem PIDs */ #endif --- linux-lts-quantal-3.5.0.orig/include/linux/quota.h +++ linux-lts-quantal-3.5.0/include/linux/quota.h @@ -417,6 +417,7 @@ #define INIT_QUOTA_MODULE_NAMES {\ {QFMT_VFS_OLD, "quota_v1"},\ {QFMT_VFS_V0, "quota_v2"},\ + {QFMT_VFS_V1, "quota_v2"},\ {0, NULL}} #endif /* __KERNEL__ */ --- linux-lts-quantal-3.5.0.orig/include/linux/snmp.h +++ linux-lts-quantal-3.5.0/include/linux/snmp.h @@ -208,7 +208,6 @@ LINUX_MIB_TCPDSACKOFOSENT, /* TCPDSACKOfoSent */ LINUX_MIB_TCPDSACKRECV, /* TCPDSACKRecv */ LINUX_MIB_TCPDSACKOFORECV, /* TCPDSACKOfoRecv */ - LINUX_MIB_TCPABORTONSYN, /* TCPAbortOnSyn */ LINUX_MIB_TCPABORTONDATA, /* TCPAbortOnData */ LINUX_MIB_TCPABORTONCLOSE, /* TCPAbortOnClose */ LINUX_MIB_TCPABORTONMEMORY, /* TCPAbortOnMemory */ @@ -234,6 +233,8 @@ LINUX_MIB_TCPREQQFULLDROP, /* TCPReqQFullDrop */ LINUX_MIB_TCPRETRANSFAIL, /* TCPRetransFail */ LINUX_MIB_TCPRCVCOALESCE, /* TCPRcvCoalesce */ + LINUX_MIB_TCPCHALLENGEACK, /* TCPChallengeACK */ + LINUX_MIB_TCPSYNCHALLENGE, /* TCPSYNChallenge */ __LINUX_MIB_MAX }; --- linux-lts-quantal-3.5.0.orig/include/linux/ipv6.h +++ linux-lts-quantal-3.5.0/include/linux/ipv6.h @@ -260,6 +260,7 @@ #define IP6SKB_XFRM_TRANSFORMED 1 #define IP6SKB_FORWARDED 2 #define IP6SKB_REROUTED 4 +#define IP6SKB_FRAGMENTED 16 }; #define IP6CB(skb) ((struct inet6_skb_parm*)((skb)->cb)) --- linux-lts-quantal-3.5.0.orig/include/linux/irqdesc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/preempt.h +++ linux-lts-quantal-3.5.0/include/linux/preempt.h @@ -93,14 +93,20 @@ #else /* !CONFIG_PREEMPT_COUNT */ -#define preempt_disable() do { } while (0) -#define sched_preempt_enable_no_resched() do { } while (0) -#define preempt_enable_no_resched() do { } while (0) -#define preempt_enable() do { } while (0) +/* + * Even if we don't have any preemption, we need preempt disable/enable + * to be barriers, so that we don't have things like get_user/put_user + * that can cause faults and scheduling migrate into our preempt-protected + * region. + */ +#define preempt_disable() barrier() +#define sched_preempt_enable_no_resched() barrier() +#define preempt_enable_no_resched() barrier() +#define preempt_enable() barrier() -#define preempt_disable_notrace() do { } while (0) -#define preempt_enable_no_resched_notrace() do { } while (0) -#define preempt_enable_notrace() do { } while (0) +#define preempt_disable_notrace() barrier() +#define preempt_enable_no_resched_notrace() barrier() +#define preempt_enable_notrace() barrier() #endif /* CONFIG_PREEMPT_COUNT */ --- linux-lts-quantal-3.5.0.orig/include/linux/kvm_host.h +++ linux-lts-quantal-3.5.0/include/linux/kvm_host.h @@ -450,7 +450,7 @@ int kvm_write_guest_cached(struct kvm *kvm, struct gfn_to_hva_cache *ghc, void *data, unsigned long len); int kvm_gfn_to_hva_cache_init(struct kvm *kvm, struct gfn_to_hva_cache *ghc, - gpa_t gpa); + gpa_t gpa, unsigned long len); int kvm_clear_guest_page(struct kvm *kvm, gfn_t gfn, int offset, int len); int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len); struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn); --- linux-lts-quantal-3.5.0.orig/include/linux/dcache.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/netfilter_ipv6.h +++ linux-lts-quantal-3.5.0/include/linux/netfilter_ipv6.h @@ -83,6 +83,22 @@ extern int ipv6_netfilter_init(void); extern void ipv6_netfilter_fini(void); + +/* + * Hook functions for ipv6 to allow xt_* modules to be built-in even + * if IPv6 is a module. + */ +struct nf_ipv6_ops { + int (*chk_addr)(struct net *net, const struct in6_addr *addr, + const struct net_device *dev, int strict); +}; + +extern const struct nf_ipv6_ops __rcu *nf_ipv6_ops; +static inline const struct nf_ipv6_ops *nf_get_ipv6_ops(void) +{ + return rcu_dereference(nf_ipv6_ops); +} + #else /* CONFIG_NETFILTER */ static inline int ipv6_netfilter_init(void) { return 0; } static inline void ipv6_netfilter_fini(void) { return; } --- linux-lts-quantal-3.5.0.orig/include/linux/ktime.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/moduleparam.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/kmod.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/page-flags.h +++ linux-lts-quantal-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 @@ -361,7 +364,7 @@ * pages on the LRU and/or pagecache. */ TESTPAGEFLAG(Compound, compound) -__PAGEFLAG(Head, compound) +__SETPAGEFLAG(Head, compound) __CLEARPAGEFLAG(Head, compound) /* * PG_reclaim is used in combination with PG_compound to mark the @@ -373,8 +376,14 @@ * PG_compound & PG_reclaim => Tail page * PG_compound & ~PG_reclaim => Head page */ +#define PG_head_mask ((1L << PG_compound)) #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) +static inline int PageHead(struct page *page) +{ + return ((page->flags & PG_head_tail_mask) == PG_head_mask); +} + static inline int PageTail(struct page *page) { return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask); --- linux-lts-quantal-3.5.0.orig/include/linux/ptp_clock_kernel.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mmu_notifier.h +++ linux-lts-quantal-3.5.0/include/linux/mmu_notifier.h @@ -4,6 +4,7 @@ #include #include #include +#include struct mmu_notifier; struct mmu_notifier_ops; --- linux-lts-quantal-3.5.0.orig/include/linux/ftrace_event.h +++ linux-lts-quantal-3.5.0/include/linux/ftrace_event.h @@ -71,6 +71,8 @@ /* trace_seq for __print_flags() and __print_symbolic() etc. */ struct trace_seq tmp_seq; + cpumask_var_t started; + /* The below is zeroed out in pipe_read */ struct trace_seq seq; struct trace_entry *ent; @@ -83,7 +85,7 @@ loff_t pos; long idx; - cpumask_var_t started; + /* All new field here will be zeroed out in pipe_read */ }; --- linux-lts-quantal-3.5.0.orig/include/linux/cpu.h +++ linux-lts-quantal-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 */ @@ -174,6 +175,8 @@ extern void get_online_cpus(void); extern void put_online_cpus(void); +extern void cpu_hotplug_disable(void); +extern void cpu_hotplug_enable(void); #define hotcpu_notifier(fn, pri) cpu_notifier(fn, pri) #define register_hotcpu_notifier(nb) register_cpu_notifier(nb) #define unregister_hotcpu_notifier(nb) unregister_cpu_notifier(nb) @@ -197,6 +200,8 @@ #define get_online_cpus() do { } while (0) #define put_online_cpus() do { } while (0) +#define cpu_hotplug_disable() do { } while (0) +#define cpu_hotplug_enable() do { } while (0) #define hotcpu_notifier(fn, pri) do { (void)(fn); } while (0) /* These aren't inline functions due to a GCC bug. */ #define register_hotcpu_notifier(nb) ({ (void)(nb); 0; }) --- linux-lts-quantal-3.5.0.orig/include/linux/icmpv6.h +++ linux-lts-quantal-3.5.0/include/linux/icmpv6.h @@ -123,6 +123,8 @@ #define ICMPV6_NOT_NEIGHBOUR 2 #define ICMPV6_ADDR_UNREACH 3 #define ICMPV6_PORT_UNREACH 4 +#define ICMPV6_POLICY_FAIL 5 +#define ICMPV6_REJECT_ROUTE 6 /* * Codes for Time Exceeded --- linux-lts-quantal-3.5.0.orig/include/linux/ata.h +++ linux-lts-quantal-3.5.0/include/linux/ata.h @@ -937,7 +937,7 @@ } } -static inline bool atapi_command_packet_set(const u16 *dev_id) +static inline int atapi_command_packet_set(const u16 *dev_id) { return (dev_id[ATA_ID_CONFIG] >> 8) & 0x1f; } --- linux-lts-quantal-3.5.0.orig/include/linux/net.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mempolicy.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/swapops.h +++ linux-lts-quantal-3.5.0/include/linux/swapops.h @@ -137,6 +137,7 @@ extern void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, unsigned long address); +extern void migration_entry_wait_huge(struct mm_struct *mm, pte_t *pte); #else #define make_migration_entry(page, write) swp_entry(0, 0) @@ -148,6 +149,8 @@ static inline void make_migration_entry_read(swp_entry_t *entryp) { } static inline void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, unsigned long address) { } +static inline void migration_entry_wait_huge(struct mm_struct *mm, + pte_t *pte) { } static inline int is_write_migration_entry(swp_entry_t entry) { return 0; --- linux-lts-quantal-3.5.0.orig/include/linux/kthread.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/skbuff.h +++ linux-lts-quantal-3.5.0/include/linux/skbuff.h @@ -480,7 +480,7 @@ union { __u32 mark; __u32 dropcount; - __u32 avail_size; + __u32 reserved_tailroom; }; sk_buff_data_t transport_header; @@ -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, @@ -1394,7 +1391,10 @@ */ static inline int skb_availroom(const struct sk_buff *skb) { - return skb_is_nonlinear(skb) ? 0 : skb->avail_size - skb->len; + if (skb_is_nonlinear(skb)) + return 0; + + return skb->end - skb->tail - skb->reserved_tailroom; } /** @@ -2404,6 +2404,13 @@ #endif } +static inline void nf_reset_trace(struct sk_buff *skb) +{ +#if IS_ENABLED(CONFIG_NETFILTER_XT_TARGET_TRACE) + skb->nf_trace = 0; +#endif +} + /* Note: This doesn't put any conntrack and bridge info in dst. */ static inline void __nf_copy(struct sk_buff *dst, const struct sk_buff *src) { @@ -2550,27 +2557,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-lts-quantal-3.5.0.orig/include/linux/mISDNhw.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/dma-attrs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/fsnotify_backend.h +++ linux-lts-quantal-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,11 +360,14 @@ /* 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); - +/* destroy group */ +extern void fsnotify_destroy_group(struct fsnotify_group *group); /* take a reference to an event */ extern void fsnotify_get_event(struct fsnotify_event *event); extern void fsnotify_put_event(struct fsnotify_event *event); @@ -405,8 +408,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-lts-quantal-3.5.0.orig/include/linux/init.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mount.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/if_vlan.h +++ linux-lts-quantal-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; } @@ -327,7 +327,7 @@ struct vlan_hdr *vhdr) { __be16 proto; - unsigned char *rawp; + unsigned short *rawp; /* * Was a VLAN packet, grab the encapsulated protocol, which the layer @@ -340,8 +340,8 @@ return; } - rawp = skb->data; - if (*(unsigned short *) rawp == 0xFFFF) + rawp = (unsigned short *)(vhdr + 1); + if (*rawp == 0xFFFF) /* * This is a magic hack to spot IPX packets. Older Novell * breaks the protocol design and runs IPX over 802.3 without --- linux-lts-quantal-3.5.0.orig/include/linux/idr.h +++ linux-lts-quantal-3.5.0/include/linux/idr.h @@ -152,4 +152,15 @@ void __init idr_init_cache(void); +/** + * idr_for_each_entry - iterate over an idr's elements of a given type + * @idp: idr handle + * @entry: the type * to use as cursor + * @id: id entry's key + */ +#define idr_for_each_entry(idp, entry, id) \ + for (id = 0, entry = (typeof(entry))idr_get_next((idp), &(id)); \ + entry != NULL; \ + ++id, entry = (typeof(entry))idr_get_next((idp), &(id))) + #endif /* __IDR_H__ */ --- linux-lts-quantal-3.5.0.orig/include/linux/ipc_namespace.h +++ linux-lts-quantal-3.5.0/include/linux/ipc_namespace.h @@ -42,8 +42,8 @@ size_t shm_ctlmax; size_t shm_ctlall; + unsigned long shm_tot; int shm_ctlmni; - int shm_tot; /* * Defines whether IPC_RMID is forced for _all_ shm segments regardless * of shmctl() --- linux-lts-quantal-3.5.0.orig/include/linux/binfmts.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/freezer.h +++ linux-lts-quantal-3.5.0/include/linux/freezer.h @@ -75,28 +75,62 @@ */ -/* Tell the freezer not to count the current task as freezable. */ +/** + * freezer_do_not_count - tell freezer to ignore %current + * + * Tell freezers to ignore the current task when determining whether the + * target frozen state is reached. IOW, the current task will be + * considered frozen enough by freezers. + * + * The caller shouldn't do anything which isn't allowed for a frozen task + * until freezer_cont() is called. Usually, freezer[_do_not]_count() pair + * wrap a scheduling operation and nothing much else. + */ static inline void freezer_do_not_count(void) { current->flags |= PF_FREEZER_SKIP; } -/* - * Tell the freezer to count the current task as freezable again and try to - * freeze it. +/** + * freezer_count - tell freezer to stop ignoring %current + * + * Undo freezer_do_not_count(). It tells freezers that %current should be + * considered again and tries to freeze if freezing condition is already in + * effect. */ static inline void freezer_count(void) { current->flags &= ~PF_FREEZER_SKIP; + /* + * If freezing is in progress, the following paired with smp_mb() + * in freezer_should_skip() ensures that either we see %true + * freezing() or freezer_should_skip() sees !PF_FREEZER_SKIP. + */ + smp_mb(); try_to_freeze(); } -/* - * Check if the task should be counted as freezable by the freezer +/** + * freezer_should_skip - whether to skip a task when determining frozen + * state is reached + * @p: task in quesion + * + * This function is used by freezers after establishing %true freezing() to + * test whether a task should be skipped when determining the target frozen + * state is reached. IOW, if this function returns %true, @p is considered + * frozen enough. */ -static inline int freezer_should_skip(struct task_struct *p) +static inline bool freezer_should_skip(struct task_struct *p) { - return !!(p->flags & PF_FREEZER_SKIP); + /* + * The following smp_mb() paired with the one in freezer_count() + * ensures that either freezer_count() sees %true freezing() or we + * see cleared %PF_FREEZER_SKIP and return %false. This makes it + * impossible for a task to slip frozen state testing after + * clearing %PF_FREEZER_SKIP. + */ + smp_mb(); + return p->flags & PF_FREEZER_SKIP; } /* --- linux-lts-quantal-3.5.0.orig/include/linux/auto_fs.h +++ linux-lts-quantal-3.5.0/include/linux/auto_fs.h @@ -31,25 +31,17 @@ #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION /* - * Architectures where both 32- and 64-bit binaries can be executed - * on 64-bit kernels need this. This keeps the structure format - * uniform, and makes sure the wait_queue_token isn't too big to be - * passed back down to the kernel. - * - * This assumes that on these architectures: - * mode 32 bit 64 bit - * ------------------------- - * int 32 bit 32 bit - * long 32 bit 64 bit - * - * If so, 32-bit user-space code should be backwards compatible. + * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed + * back to the kernel via ioctl from userspace. On architectures where 32- and + * 64-bit userspace binaries can be executed it's important that the size of + * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we + * do not break the binary ABI interface by changing the structure size. */ -#if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) \ - || defined(__powerpc__) || defined(__s390__) -typedef unsigned int autofs_wqt_t; -#else +#if defined(__ia64__) || defined(__alpha__) /* pure 64bit architectures */ typedef unsigned long autofs_wqt_t; +#else +typedef unsigned int autofs_wqt_t; #endif /* Packet types */ --- linux-lts-quantal-3.5.0.orig/include/linux/netlink.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/xfrm.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/cgroup.h +++ linux-lts-quantal-3.5.0/include/linux/cgroup.h @@ -33,7 +33,6 @@ extern bool cgroup_lock_live_group(struct cgroup *cgrp); extern void cgroup_unlock(void); extern void cgroup_fork(struct task_struct *p); -extern void cgroup_fork_callbacks(struct task_struct *p); extern void cgroup_post_fork(struct task_struct *p); extern void cgroup_exit(struct task_struct *p, int run_callbacks); extern int cgroupstats_build(struct cgroupstats *stats, --- linux-lts-quantal-3.5.0.orig/include/linux/clk-provider.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/posix_types.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/kvm_types.h +++ linux-lts-quantal-3.5.0/include/linux/kvm_types.h @@ -71,6 +71,7 @@ u64 generation; gpa_t gpa; unsigned long hva; + unsigned long len; struct kvm_memory_slot *memslot; }; --- linux-lts-quantal-3.5.0.orig/include/linux/syslog.h +++ linux-lts-quantal-3.5.0/include/linux/syslog.h @@ -44,8 +44,8 @@ /* Return size of the log buffer */ #define SYSLOG_ACTION_SIZE_BUFFER 10 -#define SYSLOG_FROM_CALL 0 -#define SYSLOG_FROM_FILE 1 +#define SYSLOG_FROM_READER 0 +#define SYSLOG_FROM_PROC 1 int do_syslog(int type, char __user *buf, int count, bool from_file); --- linux-lts-quantal-3.5.0.orig/include/linux/rculist.h +++ linux-lts-quantal-3.5.0/include/linux/rculist.h @@ -267,8 +267,9 @@ */ #define list_first_or_null_rcu(ptr, type, member) \ ({struct list_head *__ptr = (ptr); \ - struct list_head __rcu *__next = list_next_rcu(__ptr); \ - likely(__ptr != __next) ? container_of(__next, type, member) : NULL; \ + struct list_head *__next = ACCESS_ONCE(__ptr->next); \ + likely(__ptr != __next) ? \ + list_entry_rcu(__next, type, member) : NULL; \ }) /** --- linux-lts-quantal-3.5.0.orig/include/linux/firewire-cdev.h +++ linux-lts-quantal-3.5.0/include/linux/firewire-cdev.h @@ -215,8 +215,8 @@ * with the %FW_CDEV_ISO_INTERRUPT bit set, when explicitly requested with * %FW_CDEV_IOC_FLUSH_ISO, or when there have been so many completed packets * without the interrupt bit set that the kernel's internal buffer for @header - * is about to overflow. (In the last case, kernels with ABI version < 5 drop - * header data up to the next interrupt packet.) + * is about to overflow. (In the last case, ABI versions < 5 drop header data + * up to the next interrupt packet.) * * Isochronous transmit events (context type %FW_CDEV_ISO_CONTEXT_TRANSMIT): * --- linux-lts-quantal-3.5.0.orig/include/linux/screen_info.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/pci_ids.h +++ linux-lts-quantal-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 @@ -1565,6 +1566,7 @@ #define PCI_DEVICE_ID_RICOH_RL5C476 0x0476 #define PCI_DEVICE_ID_RICOH_RL5C478 0x0478 #define PCI_DEVICE_ID_RICOH_R5C822 0x0822 +#define PCI_DEVICE_ID_RICOH_R5CE822 0xe822 #define PCI_DEVICE_ID_RICOH_R5CE823 0xe823 #define PCI_DEVICE_ID_RICOH_R5C832 0x0832 #define PCI_DEVICE_ID_RICOH_R5C843 0x0843 @@ -1600,6 +1602,7 @@ #define PCI_SUBDEVICE_ID_KEYSPAN_SX2 0x5334 #define PCI_VENDOR_ID_MARVELL 0x11ab +#define PCI_VENDOR_ID_MARVELL_EXT 0x1b4b #define PCI_DEVICE_ID_MARVELL_GT64111 0x4146 #define PCI_DEVICE_ID_MARVELL_GT64260 0x6430 #define PCI_DEVICE_ID_MARVELL_MV64360 0x6460 @@ -1846,7 +1849,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 +2150,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-lts-quantal-3.5.0.orig/include/linux/firewire.h +++ linux-lts-quantal-3.5.0/include/linux/firewire.h @@ -426,6 +426,7 @@ int type; int channel; int speed; + bool drop_overflow_headers; size_t header_size; union { fw_iso_callback_t sc; --- linux-lts-quantal-3.5.0.orig/include/linux/pstore.h +++ linux-lts-quantal-3.5.0/include/linux/pstore.h @@ -54,12 +54,18 @@ #ifdef CONFIG_PSTORE extern int pstore_register(struct pstore_info *); +extern bool pstore_cannot_block_path(enum kmsg_dump_reason reason); #else static inline int pstore_register(struct pstore_info *psi) { return -ENODEV; } +static inline bool +pstore_cannot_block_path(enum kmsg_dump_reason reason) +{ + return false; +} #endif #endif /*_LINUX_PSTORE_H*/ --- linux-lts-quantal-3.5.0.orig/include/linux/thermal.h +++ linux-lts-quantal-3.5.0/include/linux/thermal.h @@ -108,7 +108,7 @@ /* Adding event notification support elements */ #define THERMAL_GENL_FAMILY_NAME "thermal_event" #define THERMAL_GENL_VERSION 0x01 -#define THERMAL_GENL_MCAST_GROUP_NAME "thermal_mc_group" +#define THERMAL_GENL_MCAST_GROUP_NAME "thermal_mc_grp" enum events { THERMAL_AUX0, --- linux-lts-quantal-3.5.0.orig/include/linux/usb.h +++ linux-lts-quantal-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 */ @@ -828,6 +830,27 @@ .bInterfaceClass = (cl), \ .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) /* ----------------------------------------------------------------------- */ --- linux-lts-quantal-3.5.0.orig/include/linux/rculist_nulls.h +++ linux-lts-quantal-3.5.0/include/linux/rculist_nulls.h @@ -105,9 +105,14 @@ * @head: the head for your list. * @member: the name of the hlist_nulls_node within the struct. * + * The barrier() is needed to make sure compiler doesn't cache first element [1], + * as this loop can be restarted [2] + * [1] Documentation/atomic_ops.txt around line 114 + * [2] Documentation/RCU/rculist_nulls.txt around line 146 */ #define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member) \ - for (pos = rcu_dereference_raw(hlist_nulls_first_rcu(head)); \ + for (({barrier();}), \ + pos = rcu_dereference_raw(hlist_nulls_first_rcu(head)); \ (!is_a_nulls(pos)) && \ ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \ pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos))) --- linux-lts-quantal-3.5.0.orig/include/linux/splice.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/nbd.h +++ linux-lts-quantal-3.5.0/include/linux/nbd.h @@ -68,6 +68,7 @@ u64 bytesize; pid_t pid; /* pid of nbd-client, if attached */ int xmit_timeout; + int disconnect; /* a disconnect has been requested by user */ }; #endif --- linux-lts-quantal-3.5.0.orig/include/linux/perf_event.h +++ linux-lts-quantal-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 @@ -950,8 +952,7 @@ /* mmap bits */ struct mutex mmap_mutex; atomic_t mmap_count; - int mmap_locked; - struct user_struct *mmap_user; + struct ring_buffer *rb; struct list_head rb_entry; @@ -1064,7 +1065,7 @@ int exclusive; struct list_head rotation_list; int jiffies_interval; - struct pmu *active_pmu; + struct pmu *unique_pmu; struct perf_cgroup *cgrp; }; @@ -1333,6 +1334,12 @@ static inline void perf_event_task_tick(void) { } #endif +#if defined(CONFIG_PERF_EVENTS) && defined(CONFIG_CPU_SUP_INTEL) +extern void perf_restore_debug_store(void); +#else +static inline void perf_restore_debug_store(void) { } +#endif + #define perf_output_put(handle, x) perf_output_copy((handle), &(x), sizeof(x)) /* --- linux-lts-quantal-3.5.0.orig/include/linux/mm.h +++ linux-lts-quantal-3.5.0/include/linux/mm.h @@ -1503,6 +1503,8 @@ unsigned long pfn); int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn); +int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len); + struct page *follow_page(struct vm_area_struct *, unsigned long address, unsigned int foll_flags); @@ -1591,6 +1593,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-lts-quantal-3.5.0.orig/include/linux/jbd2.h +++ linux-lts-quantal-3.5.0/include/linux/jbd2.h @@ -498,6 +498,7 @@ T_COMMIT, T_COMMIT_DFLUSH, T_COMMIT_JFLUSH, + T_COMMIT_CALLBACK, T_FINISHED } t_state; @@ -1125,6 +1126,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 *); @@ -1210,6 +1212,7 @@ int jbd2_journal_start_commit(journal_t *journal, tid_t *tid); int jbd2_journal_force_commit_nested(journal_t *journal); int jbd2_log_wait_commit(journal_t *journal, tid_t tid); +int jbd2_complete_transaction(journal_t *journal, tid_t tid); int jbd2_log_do_checkpoint(journal_t *journal); int jbd2_trans_will_send_data_barrier(journal_t *journal, tid_t tid); --- linux-lts-quantal-3.5.0.orig/include/linux/wait.h +++ linux-lts-quantal-3.5.0/include/linux/wait.h @@ -233,6 +233,8 @@ if (!ret) \ break; \ } \ + if (!ret && (condition)) \ + ret = 1; \ finish_wait(&wq, &__wait); \ } while (0) @@ -249,8 +251,9 @@ * wake_up() has to be called after changing any variable that could * change the result of the wait condition. * - * The function returns 0 if the @timeout elapsed, and the remaining - * jiffies if the condition evaluated to true before the timeout elapsed. + * The function returns 0 if the @timeout elapsed, or the remaining + * jiffies (at least 1) if the @condition evaluated to %true before + * the @timeout elapsed. */ #define wait_event_timeout(wq, condition, timeout) \ ({ \ @@ -318,6 +321,8 @@ ret = -ERESTARTSYS; \ break; \ } \ + if (!ret && (condition)) \ + ret = 1; \ finish_wait(&wq, &__wait); \ } while (0) @@ -334,9 +339,10 @@ * wake_up() has to be called after changing any variable that could * change the result of the wait condition. * - * The function returns 0 if the @timeout elapsed, -ERESTARTSYS if it - * was interrupted by a signal, and the remaining jiffies otherwise - * if the condition evaluated to true before the timeout elapsed. + * Returns: + * 0 if the @timeout elapsed, -%ERESTARTSYS if it was interrupted by + * a signal, or the remaining jiffies (at least 1) if the @condition + * evaluated to %true before the @timeout elapsed. */ #define wait_event_interruptible_timeout(wq, condition, timeout) \ ({ \ @@ -566,6 +572,64 @@ __ret; \ }) +#define __wait_event_interruptible_lock_irq_timeout(wq, condition, \ + lock, ret) \ +do { \ + DEFINE_WAIT(__wait); \ + \ + for (;;) { \ + prepare_to_wait(&wq, &__wait, TASK_INTERRUPTIBLE); \ + if (condition) \ + break; \ + if (signal_pending(current)) { \ + ret = -ERESTARTSYS; \ + break; \ + } \ + spin_unlock_irq(&lock); \ + ret = schedule_timeout(ret); \ + spin_lock_irq(&lock); \ + if (!ret) \ + break; \ + } \ + finish_wait(&wq, &__wait); \ +} while (0) + +/** + * wait_event_interruptible_lock_irq_timeout - sleep until a condition gets true or a timeout elapses. + * The condition is checked under the lock. This is expected + * to be called with the lock taken. + * @wq: the waitqueue to wait on + * @condition: a C expression for the event to wait for + * @lock: a locked spinlock_t, which will be released before schedule() + * and reacquired afterwards. + * @timeout: timeout, in jiffies + * + * The process is put to sleep (TASK_INTERRUPTIBLE) until the + * @condition evaluates to true or signal is received. The @condition is + * checked each time the waitqueue @wq is woken up. + * + * wake_up() has to be called after changing any variable that could + * change the result of the wait condition. + * + * This is supposed to be called while holding the lock. The lock is + * dropped before going to sleep and is reacquired afterwards. + * + * The function returns 0 if the @timeout elapsed, -ERESTARTSYS if it + * was interrupted by a signal, and the remaining jiffies otherwise + * if the condition evaluated to true before the timeout elapsed. + */ +#define wait_event_interruptible_lock_irq_timeout(wq, condition, lock, \ + timeout) \ +({ \ + int __ret = timeout; \ + \ + if (!(condition)) \ + __wait_event_interruptible_lock_irq_timeout( \ + wq, condition, lock, __ret); \ + __ret; \ +}) + + /* * These are the old interfaces to sleep waiting for an event. * They are racy. DO NOT use them, use the wait_event* interfaces above. --- linux-lts-quantal-3.5.0.orig/include/linux/netdevice.h +++ linux-lts-quantal-3.5.0/include/linux/netdevice.h @@ -233,9 +233,9 @@ #define NETDEV_HW_ADDR_T_SLAVE 3 #define NETDEV_HW_ADDR_T_UNICAST 4 #define NETDEV_HW_ADDR_T_MULTICAST 5 - bool synced; bool global_use; int refcount; + int synced; struct rcu_head rcu_head; }; @@ -1286,6 +1286,7 @@ struct pcpu_lstats __percpu *lstats; /* loopback stats */ struct pcpu_tstats __percpu *tstats; /* tunnel stats */ struct pcpu_dstats __percpu *dstats; /* dummy stats */ + struct pcpu_vstats __percpu *vstats; /* veth stats */ }; /* GARP */ struct garp_port __rcu *garp_port; @@ -1301,6 +1302,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 +1521,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-lts-quantal-3.5.0.orig/include/linux/memblock.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mmzone.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/kref.h +++ linux-lts-quantal-3.5.0/include/linux/kref.h @@ -93,4 +93,25 @@ { return kref_sub(kref, 1, release); } + +/** + * kref_get_unless_zero - Increment refcount for object unless it is zero. + * @kref: object. + * + * Return non-zero if the increment succeeded. Otherwise return 0. + * + * This function is intended to simplify locking around refcounting for + * objects that can be looked up from a lookup structure, and which are + * removed from that lookup structure in the object destructor. + * Operations on such objects require at least a read lock around + * lookup + kref_get, and a write lock around kref_put + remove from lookup + * structure. Furthermore, RCU implementations become extremely tricky. + * With a lookup followed by a kref_get_unless_zero *with return value check* + * locking in the kref_put path can be deferred to the actual removal from + * the lookup structure and RCU lookups become trivial. + */ +static inline int __must_check kref_get_unless_zero(struct kref *kref) +{ + return atomic_add_unless(&kref->refcount, 1, 0); +} #endif /* _KREF_H_ */ --- linux-lts-quantal-3.5.0.orig/include/linux/regmap.h +++ linux-lts-quantal-3.5.0/include/linux/regmap.h @@ -14,6 +14,7 @@ */ #include +#include struct module; struct device; --- linux-lts-quantal-3.5.0.orig/include/linux/random.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/kobject.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/console.h +++ linux-lts-quantal-3.5.0/include/linux/console.h @@ -77,7 +77,9 @@ int con_is_bound(const struct consw *csw); int register_con_driver(const struct consw *csw, int first, int last); int unregister_con_driver(const struct consw *csw); +int do_unregister_con_driver(const struct consw *csw); int take_over_console(const struct consw *sw, int first, int last, int deflt); +int do_take_over_console(const struct consw *sw, int first, int last, int deflt); void give_up_console(const struct consw *sw); #ifdef CONFIG_HW_CONSOLE int con_debug_enter(struct vc_data *vc); --- linux-lts-quantal-3.5.0.orig/include/linux/serial_core.h +++ linux-lts-quantal-3.5.0/include/linux/serial_core.h @@ -47,7 +47,11 @@ #define PORT_U6_16550A 19 /* ST-Ericsson U6xxx internal UART */ #define PORT_TEGRA 20 /* NVIDIA Tegra internal UART */ #define PORT_XR17D15X 21 /* Exar XR17D15x UART */ -#define PORT_MAX_8250 21 /* max port ID */ +#define PORT_BRCM_TRUMANAGE 22 +#define PORT_ALTR_16550_F32 23 /* Altera 16550 UART with 32 FIFOs */ +#define PORT_ALTR_16550_F64 24 /* Altera 16550 UART with 64 FIFOs */ +#define PORT_ALTR_16550_F128 25 /* Altera 16550 UART with 128 FIFOs */ +#define PORT_MAX_8250 25 /* max port ID */ /* * ARM specific type numbers. These are not currently guaranteed --- linux-lts-quantal-3.5.0.orig/include/linux/sched.h +++ linux-lts-quantal-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: */ @@ -2442,27 +2445,18 @@ * * Lock the threadgroup @tsk belongs to. No new task is allowed to enter * and member tasks aren't allowed to exit (as indicated by PF_EXITING) or - * perform exec. This is useful for cases where the threadgroup needs to - * stay stable across blockable operations. + * change ->group_leader/pid. This is useful for cases where the threadgroup + * needs to stay stable across blockable operations. * * fork and exit paths explicitly call threadgroup_change_{begin|end}() for * synchronization. While held, no new task will be added to threadgroup * and no existing live task will have its PF_EXITING set. * - * During exec, a task goes and puts its thread group through unusual - * changes. After de-threading, exclusive access is assumed to resources - * which are usually shared by tasks in the same group - e.g. sighand may - * be replaced with a new one. Also, the exec'ing task takes over group - * leader role including its pid. Exclude these changes while locked by - * grabbing cred_guard_mutex which is used to synchronize exec path. + * de_thread() does threadgroup_change_{begin|end}() when a non-leader + * sub-thread becomes a new leader. */ static inline void threadgroup_lock(struct task_struct *tsk) { - /* - * exec uses exit for de-threading nesting group_rwsem inside - * cred_guard_mutex. Grab cred_guard_mutex first. - */ - mutex_lock(&tsk->signal->cred_guard_mutex); down_write(&tsk->signal->group_rwsem); } @@ -2475,7 +2469,6 @@ static inline void threadgroup_unlock(struct task_struct *tsk) { up_write(&tsk->signal->group_rwsem); - mutex_unlock(&tsk->signal->cred_guard_mutex); } #else static inline void threadgroup_change_begin(struct task_struct *tsk) {} @@ -2671,7 +2664,16 @@ extern void recalc_sigpending_and_wake(struct task_struct *t); extern void recalc_sigpending(void); -extern void signal_wake_up(struct task_struct *t, int resume_stopped); +extern void signal_wake_up_state(struct task_struct *t, unsigned int state); + +static inline void signal_wake_up(struct task_struct *t, bool resume) +{ + signal_wake_up_state(t, resume ? TASK_WAKEKILL : 0); +} +static inline void ptrace_signal_wake_up(struct task_struct *t, bool resume) +{ + signal_wake_up_state(t, resume ? __TASK_TRACED : 0); +} /* * Wrappers for p->thread_info->cpu access. No-op on UP. @@ -2723,7 +2725,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-lts-quantal-3.5.0.orig/include/linux/hugetlb.h +++ linux-lts-quantal-3.5.0/include/linux/hugetlb.h @@ -152,8 +152,7 @@ extern const struct file_operations hugetlbfs_file_operations; extern const struct vm_operations_struct hugetlb_vm_ops; -struct file *hugetlb_file_setup(const char *name, unsigned long addr, - size_t size, vm_flags_t acct, +struct file *hugetlb_file_setup(const char *name, size_t size, vm_flags_t acct, struct user_struct **user, int creat_flags); static inline int is_file_hugepages(struct file *file) @@ -170,8 +169,8 @@ #define is_file_hugepages(file) 0 static inline struct file * -hugetlb_file_setup(const char *name, unsigned long addr, size_t size, - vm_flags_t acctflag, struct user_struct **user, int creat_flags) +hugetlb_file_setup(const char *name, size_t size, vm_flags_t acctflag, + struct user_struct **user, int creat_flags) { return ERR_PTR(-ENOSYS); } @@ -302,7 +301,18 @@ return hstates[index].order + PAGE_SHIFT; } -#else +pgoff_t __basepage_index(struct page *page); + +/* Return page->index in PAGE_SIZE units */ +static inline pgoff_t basepage_index(struct page *page) +{ + if (!PageCompound(page)) + return page->index; + + return __basepage_index(page); +} + +#else /* CONFIG_HUGETLB_PAGE */ struct hstate {}; #define alloc_huge_page_node(h, nid) NULL #define alloc_bootmem_huge_page(h) NULL @@ -320,6 +330,11 @@ return 1; } #define hstate_index_to_shift(index) 0 + +static inline pgoff_t basepage_index(struct page *page) +{ + return page->index; +} #endif #endif /* _LINUX_HUGETLB_H */ --- linux-lts-quantal-3.5.0.orig/include/linux/if_pppox.h +++ linux-lts-quantal-3.5.0/include/linux/if_pppox.h @@ -140,11 +140,11 @@ struct pppoe_hdr { #if defined(__LITTLE_ENDIAN_BITFIELD) - __u8 ver : 4; __u8 type : 4; + __u8 ver : 4; #elif defined(__BIG_ENDIAN_BITFIELD) - __u8 type : 4; __u8 ver : 4; + __u8 type : 4; #else #error "Please fix " #endif --- linux-lts-quantal-3.5.0.orig/include/linux/init_task.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/clk.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/socket.h +++ linux-lts-quantal-3.5.0/include/linux/socket.h @@ -316,7 +316,8 @@ /* IPX options */ #define IPX_TYPE 1 -extern void cred_to_ucred(struct pid *pid, const struct cred *cred, struct ucred *ucred); +extern void cred_to_ucred(struct pid *pid, const struct cred *cred, struct ucred *ucred, + bool use_effective); extern int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int len); extern int memcpy_fromiovecend(unsigned char *kdata, const struct iovec *iov, @@ -335,6 +336,9 @@ struct timespec; +/* The __sys_...msg variants allow MSG_CMSG_COMPAT */ +extern long __sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags); +extern long __sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags); extern int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); extern int __sys_sendmmsg(int fd, struct mmsghdr __user *mmsg, --- linux-lts-quantal-3.5.0.orig/include/linux/unix_diag.h +++ linux-lts-quantal-3.5.0/include/linux/unix_diag.h @@ -38,9 +38,11 @@ UNIX_DIAG_RQLEN, UNIX_DIAG_MEMINFO, - UNIX_DIAG_MAX, + __UNIX_DIAG_MAX, }; +#define UNIX_DIAG_MAX (__UNIX_DIAG_MAX - 1) + struct unix_diag_vfs { __u32 udiag_vfs_ino; __u32 udiag_vfs_dev; --- linux-lts-quantal-3.5.0.orig/include/linux/vt_kern.h +++ linux-lts-quantal-3.5.0/include/linux/vt_kern.h @@ -47,6 +47,7 @@ int con_get_cmap(unsigned char __user *cmap); void scrollback(struct vc_data *vc, int lines); void scrollfront(struct vc_data *vc, int lines); +void clear_buffer_attributes(struct vc_data *vc); void update_region(struct vc_data *vc, unsigned long start, int count); void redraw_screen(struct vc_data *vc, int is_switch); #define update_screen(x) redraw_screen(x, 0) @@ -129,7 +130,9 @@ 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 do_unbind_con_driver(const struct consw *csw, int first, int last, + int deflt); 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-lts-quantal-3.5.0.orig/include/linux/mmc/card.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/usb/ch9.h +++ linux-lts-quantal-3.5.0/include/linux/usb/ch9.h @@ -152,6 +152,12 @@ #define USB_INTRF_FUNC_SUSPEND_LP (1 << (8 + 0)) #define USB_INTRF_FUNC_SUSPEND_RW (1 << (8 + 1)) +/* + * Interface status, Figure 9-5 USB 3.0 spec + */ +#define USB_INTRF_STAT_FUNC_RW_CAP 1 +#define USB_INTRF_STAT_FUNC_RW 2 + #define USB_ENDPOINT_HALT 0 /* IN/OUT will STALL */ /* Bit array elements as returned by the USB_REQ_GET_STATUS request. */ --- linux-lts-quantal-3.5.0.orig/include/linux/usb/audio.h +++ linux-lts-quantal-3.5.0/include/linux/usb/audio.h @@ -384,14 +384,16 @@ int protocol) { __u8 control_size = uac_processing_unit_bControlSize(desc, protocol); - return desc->baSourceID[desc->bNrInPins + control_size]; + return *(uac_processing_unit_bmControls(desc, protocol) + + control_size); } static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_descriptor *desc, int protocol) { __u8 control_size = uac_processing_unit_bControlSize(desc, protocol); - return &desc->baSourceID[desc->bNrInPins + control_size + 1]; + return uac_processing_unit_bmControls(desc, protocol) + + control_size + 1; } /* 4.5.2 Class-Specific AS Interface Descriptor */ --- linux-lts-quantal-3.5.0.orig/include/linux/usb/serial.h +++ linux-lts-quantal-3.5.0/include/linux/usb/serial.h @@ -66,6 +66,7 @@ * port. * @flags: usb serial port flags * @write_wait: a wait_queue_head_t used by the port. + * @delta_msr_wait: modem-status-change wait queue * @work: work queue entry for the line discipline waking up. * @throttled: nonzero if the read urb is inactive to throttle the device * @throttle_req: nonzero if the tty wants to throttle us @@ -112,6 +113,7 @@ unsigned long flags; wait_queue_head_t write_wait; + wait_queue_head_t delta_msr_wait; struct work_struct work; char throttled; char throttle_req; --- linux-lts-quantal-3.5.0.orig/include/linux/usb/hcd.h +++ linux-lts-quantal-3.5.0/include/linux/usb/hcd.h @@ -402,7 +402,7 @@ extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev); -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_PM extern const struct dev_pm_ops usb_hcd_pci_pm_ops; #endif #endif /* CONFIG_PCI */ --- linux-lts-quantal-3.5.0.orig/include/linux/mfd/rtsx_common.h +++ linux-lts-quantal-3.5.0/include/linux/mfd/rtsx_common.h @@ -0,0 +1,51 @@ +/* Driver for Realtek driver-based card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#ifndef __RTSX_COMMON_H +#define __RTSX_COMMON_H + +#define DRV_NAME_RTSX_PCI "rtsx_pci" +#define DRV_NAME_RTSX_PCI_SDMMC "rtsx_pci_sdmmc" +#define DRV_NAME_RTSX_PCI_MS "rtsx_pci_ms" + +#define RTSX_REG_PAIR(addr, val) (((u32)(addr) << 16) | (u8)(val)) + +#define RTSX_SSC_DEPTH_4M 0x01 +#define RTSX_SSC_DEPTH_2M 0x02 +#define RTSX_SSC_DEPTH_1M 0x03 +#define RTSX_SSC_DEPTH_500K 0x04 +#define RTSX_SSC_DEPTH_250K 0x05 + +#define RTSX_SD_CARD 0 +#define RTSX_MS_CARD 1 + +#define CLK_TO_DIV_N 0 +#define DIV_N_TO_CLK 1 + +struct platform_device; + +struct rtsx_slot { + struct platform_device *p_dev; + void (*card_event)(struct platform_device *p_dev); +}; + +#endif --- linux-lts-quantal-3.5.0.orig/include/linux/mfd/ezx-pcap.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mfd/rtsx_pci.h +++ linux-lts-quantal-3.5.0/include/linux/mfd/rtsx_pci.h @@ -0,0 +1,885 @@ +/* Driver for Realtek PCI-Express card reader + * + * Copyright(c) 2009 Realtek Semiconductor Corp. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, 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, see . + * + * Author: + * Wei WANG + * No. 450, Shenhu Road, Suzhou Industry Park, Suzhou, China + */ + +#ifndef __RTSX_PCI_H +#define __RTSX_PCI_H + +#include +#include + +#include "rtsx_common.h" + +#define MAX_RW_REG_CNT 1024 + +/* PCI Operation Register Address */ +#define RTSX_HCBAR 0x00 +#define RTSX_HCBCTLR 0x04 +#define RTSX_HDBAR 0x08 +#define RTSX_HDBCTLR 0x0C +#define RTSX_HAIMR 0x10 +#define RTSX_BIPR 0x14 +#define RTSX_BIER 0x18 + +/* Host command buffer control register */ +#define STOP_CMD (0x01 << 28) + +/* Host data buffer control register */ +#define SDMA_MODE 0x00 +#define ADMA_MODE (0x02 << 26) +#define STOP_DMA (0x01 << 28) +#define TRIG_DMA (0x01 << 31) + +/* Host access internal memory register */ +#define HAIMR_TRANS_START (0x01 << 31) +#define HAIMR_READ 0x00 +#define HAIMR_WRITE (0x01 << 30) +#define HAIMR_READ_START (HAIMR_TRANS_START | HAIMR_READ) +#define HAIMR_WRITE_START (HAIMR_TRANS_START | HAIMR_WRITE) +#define HAIMR_TRANS_END (HAIMR_TRANS_START) + +/* Bus interrupt pending register */ +#define CMD_DONE_INT (1 << 31) +#define DATA_DONE_INT (1 << 30) +#define TRANS_OK_INT (1 << 29) +#define TRANS_FAIL_INT (1 << 28) +#define XD_INT (1 << 27) +#define MS_INT (1 << 26) +#define SD_INT (1 << 25) +#define GPIO0_INT (1 << 24) +#define OC_INT (1 << 23) +#define SD_WRITE_PROTECT (1 << 19) +#define XD_EXIST (1 << 18) +#define MS_EXIST (1 << 17) +#define SD_EXIST (1 << 16) +#define DELINK_INT GPIO0_INT +#define MS_OC_INT (1 << 23) +#define SD_OC_INT (1 << 22) + +#define CARD_INT (XD_INT | MS_INT | SD_INT) +#define NEED_COMPLETE_INT (DATA_DONE_INT | TRANS_OK_INT | TRANS_FAIL_INT) +#define RTSX_INT (CMD_DONE_INT | NEED_COMPLETE_INT | \ + CARD_INT | GPIO0_INT | OC_INT) + +#define CARD_EXIST (XD_EXIST | MS_EXIST | SD_EXIST) + +/* Bus interrupt enable register */ +#define CMD_DONE_INT_EN (1 << 31) +#define DATA_DONE_INT_EN (1 << 30) +#define TRANS_OK_INT_EN (1 << 29) +#define TRANS_FAIL_INT_EN (1 << 28) +#define XD_INT_EN (1 << 27) +#define MS_INT_EN (1 << 26) +#define SD_INT_EN (1 << 25) +#define GPIO0_INT_EN (1 << 24) +#define OC_INT_EN (1 << 23) +#define DELINK_INT_EN GPIO0_INT_EN +#define MS_OC_INT_EN (1 << 23) +#define SD_OC_INT_EN (1 << 22) + +#define READ_REG_CMD 0 +#define WRITE_REG_CMD 1 +#define CHECK_REG_CMD 2 + +/* + * macros for easy use + */ +#define rtsx_pci_writel(pcr, reg, value) \ + iowrite32(value, (pcr)->remap_addr + reg) +#define rtsx_pci_readl(pcr, reg) \ + ioread32((pcr)->remap_addr + reg) +#define rtsx_pci_writew(pcr, reg, value) \ + iowrite16(value, (pcr)->remap_addr + reg) +#define rtsx_pci_readw(pcr, reg) \ + ioread16((pcr)->remap_addr + reg) +#define rtsx_pci_writeb(pcr, reg, value) \ + iowrite8(value, (pcr)->remap_addr + reg) +#define rtsx_pci_readb(pcr, reg) \ + ioread8((pcr)->remap_addr + reg) + +#define rtsx_pci_read_config_byte(pcr, where, val) \ + pci_read_config_byte((pcr)->pci, where, val) + +#define rtsx_pci_write_config_byte(pcr, where, val) \ + pci_write_config_byte((pcr)->pci, where, val) + +#define rtsx_pci_read_config_dword(pcr, where, val) \ + pci_read_config_dword((pcr)->pci, where, val) + +#define rtsx_pci_write_config_dword(pcr, where, val) \ + pci_write_config_dword((pcr)->pci, where, val) + +#define STATE_TRANS_NONE 0 +#define STATE_TRANS_CMD 1 +#define STATE_TRANS_BUF 2 +#define STATE_TRANS_SG 3 + +#define TRANS_NOT_READY 0 +#define TRANS_RESULT_OK 1 +#define TRANS_RESULT_FAIL 2 +#define TRANS_NO_DEVICE 3 + +#define RTSX_RESV_BUF_LEN 4096 +#define HOST_CMDS_BUF_LEN 1024 +#define HOST_SG_TBL_BUF_LEN (RTSX_RESV_BUF_LEN - HOST_CMDS_BUF_LEN) +#define HOST_SG_TBL_ITEMS (HOST_SG_TBL_BUF_LEN / 8) +#define MAX_SG_ITEM_LEN 0x80000 + +#define HOST_TO_DEVICE 0 +#define DEVICE_TO_HOST 1 + +#define MAX_PHASE 31 +#define RX_TUNING_CNT 3 + +/* SG descriptor */ +#define SG_INT 0x04 +#define SG_END 0x02 +#define SG_VALID 0x01 + +#define SG_NO_OP 0x00 +#define SG_TRANS_DATA (0x02 << 4) +#define SG_LINK_DESC (0x03 << 4) + +/* Output voltage */ +#define OUTPUT_3V3 0 +#define OUTPUT_1V8 1 + +/* Card Clock Enable Register */ +#define SD_CLK_EN 0x04 +#define MS_CLK_EN 0x08 + +/* Card Select Register */ +#define SD_MOD_SEL 2 +#define MS_MOD_SEL 3 + +/* Card Output Enable Register */ +#define SD_OUTPUT_EN 0x04 +#define MS_OUTPUT_EN 0x08 + +/* CARD_SHARE_MODE */ +#define CARD_SHARE_MASK 0x0F +#define CARD_SHARE_MULTI_LUN 0x00 +#define CARD_SHARE_NORMAL 0x00 +#define CARD_SHARE_48_SD 0x04 +#define CARD_SHARE_48_MS 0x08 +/* CARD_SHARE_MODE for barossa */ +#define CARD_SHARE_BAROSSA_SD 0x01 +#define CARD_SHARE_BAROSSA_MS 0x02 + +/* CARD_DRIVE_SEL */ +#define MS_DRIVE_8mA (0x01 << 6) +#define MMC_DRIVE_8mA (0x01 << 4) +#define XD_DRIVE_8mA (0x01 << 2) +#define GPIO_DRIVE_8mA 0x01 +#define RTS5209_CARD_DRIVE_DEFAULT (MS_DRIVE_8mA | MMC_DRIVE_8mA |\ + XD_DRIVE_8mA | GPIO_DRIVE_8mA) +#define RTL8411_CARD_DRIVE_DEFAULT (MS_DRIVE_8mA | MMC_DRIVE_8mA |\ + XD_DRIVE_8mA) +#define RTSX_CARD_DRIVE_DEFAULT (MS_DRIVE_8mA | GPIO_DRIVE_8mA) + +/* SD30_DRIVE_SEL */ +#define DRIVER_TYPE_A 0x05 +#define DRIVER_TYPE_B 0x03 +#define DRIVER_TYPE_C 0x02 +#define DRIVER_TYPE_D 0x01 +#define CFG_DRIVER_TYPE_A 0x02 +#define CFG_DRIVER_TYPE_B 0x03 +#define CFG_DRIVER_TYPE_C 0x01 +#define CFG_DRIVER_TYPE_D 0x00 + +/* FPDCTL */ +#define SSC_POWER_DOWN 0x01 +#define SD_OC_POWER_DOWN 0x02 +#define ALL_POWER_DOWN 0x07 +#define OC_POWER_DOWN 0x06 + +/* CLK_CTL */ +#define CHANGE_CLK 0x01 + +/* LDO_CTL */ +#define BPP_ASIC_1V7 0x00 +#define BPP_ASIC_1V8 0x01 +#define BPP_ASIC_1V9 0x02 +#define BPP_ASIC_2V0 0x03 +#define BPP_ASIC_2V7 0x04 +#define BPP_ASIC_2V8 0x05 +#define BPP_ASIC_3V2 0x06 +#define BPP_ASIC_3V3 0x07 +#define BPP_REG_TUNED18 0x07 +#define BPP_TUNED18_SHIFT_8402 5 +#define BPP_TUNED18_SHIFT_8411 4 +#define BPP_PAD_MASK 0x04 +#define BPP_PAD_3V3 0x04 +#define BPP_PAD_1V8 0x00 +#define BPP_LDO_POWB 0x03 +#define BPP_LDO_ON 0x00 +#define BPP_LDO_SUSPEND 0x02 +#define BPP_LDO_OFF 0x03 + +/* CD_PAD_CTL */ +#define CD_DISABLE_MASK 0x07 +#define MS_CD_DISABLE 0x04 +#define SD_CD_DISABLE 0x02 +#define XD_CD_DISABLE 0x01 +#define CD_DISABLE 0x07 +#define CD_ENABLE 0x00 +#define MS_CD_EN_ONLY 0x03 +#define SD_CD_EN_ONLY 0x05 +#define XD_CD_EN_ONLY 0x06 +#define FORCE_CD_LOW_MASK 0x38 +#define FORCE_CD_XD_LOW 0x08 +#define FORCE_CD_SD_LOW 0x10 +#define FORCE_CD_MS_LOW 0x20 +#define CD_AUTO_DISABLE 0x40 + +/* SD_STAT1 */ +#define SD_CRC7_ERR 0x80 +#define SD_CRC16_ERR 0x40 +#define SD_CRC_WRITE_ERR 0x20 +#define SD_CRC_WRITE_ERR_MASK 0x1C +#define GET_CRC_TIME_OUT 0x02 +#define SD_TUNING_COMPARE_ERR 0x01 + +/* SD_STAT2 */ +#define SD_RSP_80CLK_TIMEOUT 0x01 + +/* SD_BUS_STAT */ +#define SD_CLK_TOGGLE_EN 0x80 +#define SD_CLK_FORCE_STOP 0x40 +#define SD_DAT3_STATUS 0x10 +#define SD_DAT2_STATUS 0x08 +#define SD_DAT1_STATUS 0x04 +#define SD_DAT0_STATUS 0x02 +#define SD_CMD_STATUS 0x01 + +/* SD_PAD_CTL */ +#define SD_IO_USING_1V8 0x80 +#define SD_IO_USING_3V3 0x7F +#define TYPE_A_DRIVING 0x00 +#define TYPE_B_DRIVING 0x01 +#define TYPE_C_DRIVING 0x02 +#define TYPE_D_DRIVING 0x03 + +/* SD_SAMPLE_POINT_CTL */ +#define DDR_FIX_RX_DAT 0x00 +#define DDR_VAR_RX_DAT 0x80 +#define DDR_FIX_RX_DAT_EDGE 0x00 +#define DDR_FIX_RX_DAT_14_DELAY 0x40 +#define DDR_FIX_RX_CMD 0x00 +#define DDR_VAR_RX_CMD 0x20 +#define DDR_FIX_RX_CMD_POS_EDGE 0x00 +#define DDR_FIX_RX_CMD_14_DELAY 0x10 +#define SD20_RX_POS_EDGE 0x00 +#define SD20_RX_14_DELAY 0x08 +#define SD20_RX_SEL_MASK 0x08 + +/* SD_PUSH_POINT_CTL */ +#define DDR_FIX_TX_CMD_DAT 0x00 +#define DDR_VAR_TX_CMD_DAT 0x80 +#define DDR_FIX_TX_DAT_14_TSU 0x00 +#define DDR_FIX_TX_DAT_12_TSU 0x40 +#define DDR_FIX_TX_CMD_NEG_EDGE 0x00 +#define DDR_FIX_TX_CMD_14_AHEAD 0x20 +#define SD20_TX_NEG_EDGE 0x00 +#define SD20_TX_14_AHEAD 0x10 +#define SD20_TX_SEL_MASK 0x10 +#define DDR_VAR_SDCLK_POL_SWAP 0x01 + +/* SD_TRANSFER */ +#define SD_TRANSFER_START 0x80 +#define SD_TRANSFER_END 0x40 +#define SD_STAT_IDLE 0x20 +#define SD_TRANSFER_ERR 0x10 +/* SD Transfer Mode definition */ +#define SD_TM_NORMAL_WRITE 0x00 +#define SD_TM_AUTO_WRITE_3 0x01 +#define SD_TM_AUTO_WRITE_4 0x02 +#define SD_TM_AUTO_READ_3 0x05 +#define SD_TM_AUTO_READ_4 0x06 +#define SD_TM_CMD_RSP 0x08 +#define SD_TM_AUTO_WRITE_1 0x09 +#define SD_TM_AUTO_WRITE_2 0x0A +#define SD_TM_NORMAL_READ 0x0C +#define SD_TM_AUTO_READ_1 0x0D +#define SD_TM_AUTO_READ_2 0x0E +#define SD_TM_AUTO_TUNING 0x0F + +/* SD_VPTX_CTL / SD_VPRX_CTL */ +#define PHASE_CHANGE 0x80 +#define PHASE_NOT_RESET 0x40 + +/* SD_DCMPS_TX_CTL / SD_DCMPS_RX_CTL */ +#define DCMPS_CHANGE 0x80 +#define DCMPS_CHANGE_DONE 0x40 +#define DCMPS_ERROR 0x20 +#define DCMPS_CURRENT_PHASE 0x1F + +/* SD Configure 1 Register */ +#define SD_CLK_DIVIDE_0 0x00 +#define SD_CLK_DIVIDE_256 0xC0 +#define SD_CLK_DIVIDE_128 0x80 +#define SD_BUS_WIDTH_1BIT 0x00 +#define SD_BUS_WIDTH_4BIT 0x01 +#define SD_BUS_WIDTH_8BIT 0x02 +#define SD_ASYNC_FIFO_NOT_RST 0x10 +#define SD_20_MODE 0x00 +#define SD_DDR_MODE 0x04 +#define SD_30_MODE 0x08 + +#define SD_CLK_DIVIDE_MASK 0xC0 + +/* SD_CMD_STATE */ +#define SD_CMD_IDLE 0x80 + +/* SD_DATA_STATE */ +#define SD_DATA_IDLE 0x80 + +/* DCM_DRP_CTL */ +#define DCM_RESET 0x08 +#define DCM_LOCKED 0x04 +#define DCM_208M 0x00 +#define DCM_TX 0x01 +#define DCM_RX 0x02 + +/* DCM_DRP_TRIG */ +#define DRP_START 0x80 +#define DRP_DONE 0x40 + +/* DCM_DRP_CFG */ +#define DRP_WRITE 0x80 +#define DRP_READ 0x00 +#define DCM_WRITE_ADDRESS_50 0x50 +#define DCM_WRITE_ADDRESS_51 0x51 +#define DCM_READ_ADDRESS_00 0x00 +#define DCM_READ_ADDRESS_51 0x51 + +/* IRQSTAT0 */ +#define DMA_DONE_INT 0x80 +#define SUSPEND_INT 0x40 +#define LINK_RDY_INT 0x20 +#define LINK_DOWN_INT 0x10 + +/* DMACTL */ +#define DMA_RST 0x80 +#define DMA_BUSY 0x04 +#define DMA_DIR_TO_CARD 0x00 +#define DMA_DIR_FROM_CARD 0x02 +#define DMA_EN 0x01 +#define DMA_128 (0 << 4) +#define DMA_256 (1 << 4) +#define DMA_512 (2 << 4) +#define DMA_1024 (3 << 4) +#define DMA_PACK_SIZE_MASK 0x30 + +/* SSC_CTL1 */ +#define SSC_RSTB 0x80 +#define SSC_8X_EN 0x40 +#define SSC_FIX_FRAC 0x20 +#define SSC_SEL_1M 0x00 +#define SSC_SEL_2M 0x08 +#define SSC_SEL_4M 0x10 +#define SSC_SEL_8M 0x18 + +/* SSC_CTL2 */ +#define SSC_DEPTH_MASK 0x07 +#define SSC_DEPTH_DISALBE 0x00 +#define SSC_DEPTH_4M 0x01 +#define SSC_DEPTH_2M 0x02 +#define SSC_DEPTH_1M 0x03 +#define SSC_DEPTH_500K 0x04 +#define SSC_DEPTH_250K 0x05 + +/* System Clock Control Register */ +#define CLK_LOW_FREQ 0x01 + +/* System Clock Divider Register */ +#define CLK_DIV_1 0x01 +#define CLK_DIV_2 0x02 +#define CLK_DIV_4 0x03 +#define CLK_DIV_8 0x04 + +/* MS_CFG */ +#define SAMPLE_TIME_RISING 0x00 +#define SAMPLE_TIME_FALLING 0x80 +#define PUSH_TIME_DEFAULT 0x00 +#define PUSH_TIME_ODD 0x40 +#define NO_EXTEND_TOGGLE 0x00 +#define EXTEND_TOGGLE_CHK 0x20 +#define MS_BUS_WIDTH_1 0x00 +#define MS_BUS_WIDTH_4 0x10 +#define MS_BUS_WIDTH_8 0x18 +#define MS_2K_SECTOR_MODE 0x04 +#define MS_512_SECTOR_MODE 0x00 +#define MS_TOGGLE_TIMEOUT_EN 0x00 +#define MS_TOGGLE_TIMEOUT_DISEN 0x01 +#define MS_NO_CHECK_INT 0x02 + +/* MS_TRANS_CFG */ +#define WAIT_INT 0x80 +#define NO_WAIT_INT 0x00 +#define NO_AUTO_READ_INT_REG 0x00 +#define AUTO_READ_INT_REG 0x40 +#define MS_CRC16_ERR 0x20 +#define MS_RDY_TIMEOUT 0x10 +#define MS_INT_CMDNK 0x08 +#define MS_INT_BREQ 0x04 +#define MS_INT_ERR 0x02 +#define MS_INT_CED 0x01 + +/* MS_TRANSFER */ +#define MS_TRANSFER_START 0x80 +#define MS_TRANSFER_END 0x40 +#define MS_TRANSFER_ERR 0x20 +#define MS_BS_STATE 0x10 +#define MS_TM_READ_BYTES 0x00 +#define MS_TM_NORMAL_READ 0x01 +#define MS_TM_WRITE_BYTES 0x04 +#define MS_TM_NORMAL_WRITE 0x05 +#define MS_TM_AUTO_READ 0x08 +#define MS_TM_AUTO_WRITE 0x0C + +/* SD Configure 2 Register */ +#define SD_CALCULATE_CRC7 0x00 +#define SD_NO_CALCULATE_CRC7 0x80 +#define SD_CHECK_CRC16 0x00 +#define SD_NO_CHECK_CRC16 0x40 +#define SD_NO_CHECK_WAIT_CRC_TO 0x20 +#define SD_WAIT_BUSY_END 0x08 +#define SD_NO_WAIT_BUSY_END 0x00 +#define SD_CHECK_CRC7 0x00 +#define SD_NO_CHECK_CRC7 0x04 +#define SD_RSP_LEN_0 0x00 +#define SD_RSP_LEN_6 0x01 +#define SD_RSP_LEN_17 0x02 +/* SD/MMC Response Type Definition */ +#define SD_RSP_TYPE_R0 0x04 +#define SD_RSP_TYPE_R1 0x01 +#define SD_RSP_TYPE_R1b 0x09 +#define SD_RSP_TYPE_R2 0x02 +#define SD_RSP_TYPE_R3 0x05 +#define SD_RSP_TYPE_R4 0x05 +#define SD_RSP_TYPE_R5 0x01 +#define SD_RSP_TYPE_R6 0x01 +#define SD_RSP_TYPE_R7 0x01 + +/* SD_CONFIGURE3 */ +#define SD_RSP_80CLK_TIMEOUT_EN 0x01 + +/* Card Transfer Reset Register */ +#define SPI_STOP 0x01 +#define XD_STOP 0x02 +#define SD_STOP 0x04 +#define MS_STOP 0x08 +#define SPI_CLR_ERR 0x10 +#define XD_CLR_ERR 0x20 +#define SD_CLR_ERR 0x40 +#define MS_CLR_ERR 0x80 + +/* Card Data Source Register */ +#define PINGPONG_BUFFER 0x01 +#define RING_BUFFER 0x00 + +/* Card Power Control Register */ +#define PMOS_STRG_MASK 0x10 +#define PMOS_STRG_800mA 0x10 +#define PMOS_STRG_400mA 0x00 +#define SD_POWER_OFF 0x03 +#define SD_PARTIAL_POWER_ON 0x01 +#define SD_POWER_ON 0x00 +#define SD_POWER_MASK 0x03 +#define MS_POWER_OFF 0x0C +#define MS_PARTIAL_POWER_ON 0x04 +#define MS_POWER_ON 0x00 +#define MS_POWER_MASK 0x0C +#define BPP_POWER_OFF 0x0F +#define BPP_POWER_5_PERCENT_ON 0x0E +#define BPP_POWER_10_PERCENT_ON 0x0C +#define BPP_POWER_15_PERCENT_ON 0x08 +#define BPP_POWER_ON 0x00 +#define BPP_POWER_MASK 0x0F + +/* PWR_GATE_CTRL */ +#define PWR_GATE_EN 0x01 +#define LDO3318_PWR_MASK 0x06 +#define LDO_ON 0x00 +#define LDO_SUSPEND 0x04 +#define LDO_OFF 0x06 + +/* CARD_CLK_SOURCE */ +#define CRC_FIX_CLK (0x00 << 0) +#define CRC_VAR_CLK0 (0x01 << 0) +#define CRC_VAR_CLK1 (0x02 << 0) +#define SD30_FIX_CLK (0x00 << 2) +#define SD30_VAR_CLK0 (0x01 << 2) +#define SD30_VAR_CLK1 (0x02 << 2) +#define SAMPLE_FIX_CLK (0x00 << 4) +#define SAMPLE_VAR_CLK0 (0x01 << 4) +#define SAMPLE_VAR_CLK1 (0x02 << 4) + +#define MS_CFG 0xFD40 +#define MS_TPC 0xFD41 +#define MS_TRANS_CFG 0xFD42 +#define MS_TRANSFER 0xFD43 +#define MS_INT_REG 0xFD44 +#define MS_BYTE_CNT 0xFD45 +#define MS_SECTOR_CNT_L 0xFD46 +#define MS_SECTOR_CNT_H 0xFD47 +#define MS_DBUS_H 0xFD48 + +#define SD_CFG1 0xFDA0 +#define SD_CFG2 0xFDA1 +#define SD_CFG3 0xFDA2 +#define SD_STAT1 0xFDA3 +#define SD_STAT2 0xFDA4 +#define SD_BUS_STAT 0xFDA5 +#define SD_PAD_CTL 0xFDA6 +#define SD_SAMPLE_POINT_CTL 0xFDA7 +#define SD_PUSH_POINT_CTL 0xFDA8 +#define SD_CMD0 0xFDA9 +#define SD_CMD1 0xFDAA +#define SD_CMD2 0xFDAB +#define SD_CMD3 0xFDAC +#define SD_CMD4 0xFDAD +#define SD_CMD5 0xFDAE +#define SD_BYTE_CNT_L 0xFDAF +#define SD_BYTE_CNT_H 0xFDB0 +#define SD_BLOCK_CNT_L 0xFDB1 +#define SD_BLOCK_CNT_H 0xFDB2 +#define SD_TRANSFER 0xFDB3 +#define SD_CMD_STATE 0xFDB5 +#define SD_DATA_STATE 0xFDB6 + +#define SRCTL 0xFC13 + +#define DCM_DRP_CTL 0xFC23 +#define DCM_DRP_TRIG 0xFC24 +#define DCM_DRP_CFG 0xFC25 +#define DCM_DRP_WR_DATA_L 0xFC26 +#define DCM_DRP_WR_DATA_H 0xFC27 +#define DCM_DRP_RD_DATA_L 0xFC28 +#define DCM_DRP_RD_DATA_H 0xFC29 +#define SD_VPCLK0_CTL 0xFC2A +#define SD_VPCLK1_CTL 0xFC2B +#define SD_DCMPS0_CTL 0xFC2C +#define SD_DCMPS1_CTL 0xFC2D +#define SD_VPTX_CTL SD_VPCLK0_CTL +#define SD_VPRX_CTL SD_VPCLK1_CTL +#define SD_DCMPS_TX_CTL SD_DCMPS0_CTL +#define SD_DCMPS_RX_CTL SD_DCMPS1_CTL +#define CARD_CLK_SOURCE 0xFC2E + +#define CARD_PWR_CTL 0xFD50 +#define CARD_CLK_SWITCH 0xFD51 +#define RTL8411B_PACKAGE_MODE 0xFD51 +#define CARD_SHARE_MODE 0xFD52 +#define CARD_DRIVE_SEL 0xFD53 +#define CARD_STOP 0xFD54 +#define CARD_OE 0xFD55 +#define CARD_AUTO_BLINK 0xFD56 +#define CARD_GPIO_DIR 0xFD57 +#define CARD_GPIO 0xFD58 +#define CARD_DATA_SOURCE 0xFD5B +#define SD30_CLK_DRIVE_SEL 0xFD5A +#define CARD_SELECT 0xFD5C +#define SD30_DRIVE_SEL 0xFD5E +#define SD30_CMD_DRIVE_SEL 0xFD5E +#define SD30_DAT_DRIVE_SEL 0xFD5F +#define CARD_CLK_EN 0xFD69 +#define SDIO_CTRL 0xFD6B +#define CD_PAD_CTL 0xFD73 + +#define FPDCTL 0xFC00 +#define PDINFO 0xFC01 + +#define CLK_CTL 0xFC02 +#define CLK_DIV 0xFC03 +#define CLK_SEL 0xFC04 + +#define SSC_DIV_N_0 0xFC0F +#define SSC_DIV_N_1 0xFC10 +#define SSC_CTL1 0xFC11 +#define SSC_CTL2 0xFC12 + +#define RCCTL 0xFC14 + +#define FPGA_PULL_CTL 0xFC1D +#define OLT_LED_CTL 0xFC1E +#define GPIO_CTL 0xFC1F + +#define LDO_CTL 0xFC1E +#define SYS_VER 0xFC32 + +#define CARD_PULL_CTL1 0xFD60 +#define CARD_PULL_CTL2 0xFD61 +#define CARD_PULL_CTL3 0xFD62 +#define CARD_PULL_CTL4 0xFD63 +#define CARD_PULL_CTL5 0xFD64 +#define CARD_PULL_CTL6 0xFD65 + +/* PCI Express Related Registers */ +#define IRQEN0 0xFE20 +#define IRQSTAT0 0xFE21 +#define IRQEN1 0xFE22 +#define IRQSTAT1 0xFE23 +#define TLPRIEN 0xFE24 +#define TLPRISTAT 0xFE25 +#define TLPTIEN 0xFE26 +#define TLPTISTAT 0xFE27 +#define DMATC0 0xFE28 +#define DMATC1 0xFE29 +#define DMATC2 0xFE2A +#define DMATC3 0xFE2B +#define DMACTL 0xFE2C +#define BCTL 0xFE2D +#define RBBC0 0xFE2E +#define RBBC1 0xFE2F +#define RBDAT 0xFE30 +#define RBCTL 0xFE34 +#define CFGADDR0 0xFE35 +#define CFGADDR1 0xFE36 +#define CFGDATA0 0xFE37 +#define CFGDATA1 0xFE38 +#define CFGDATA2 0xFE39 +#define CFGDATA3 0xFE3A +#define CFGRWCTL 0xFE3B +#define PHYRWCTL 0xFE3C +#define PHYDATA0 0xFE3D +#define PHYDATA1 0xFE3E +#define PHYADDR 0xFE3F +#define MSGRXDATA0 0xFE40 +#define MSGRXDATA1 0xFE41 +#define MSGRXDATA2 0xFE42 +#define MSGRXDATA3 0xFE43 +#define MSGTXDATA0 0xFE44 +#define MSGTXDATA1 0xFE45 +#define MSGTXDATA2 0xFE46 +#define MSGTXDATA3 0xFE47 +#define MSGTXCTL 0xFE48 +#define PETXCFG 0xFE49 +#define LTR_CTL 0xFE4A +#define OBFF_CFG 0xFE4C + +#define CDRESUMECTL 0xFE52 +#define WAKE_SEL_CTL 0xFE54 +#define PME_FORCE_CTL 0xFE56 +#define ASPM_FORCE_CTL 0xFE57 +#define PM_CLK_FORCE_CTL 0xFE58 +#define PERST_GLITCH_WIDTH 0xFE5C +#define CHANGE_LINK_STATE 0xFE5B +#define RESET_LOAD_REG 0xFE5E +#define EFUSE_CONTENT 0xFE5F +#define HOST_SLEEP_STATE 0xFE60 +#define SDIO_CFG 0xFE70 + +#define NFTS_TX_CTRL 0xFE72 + +#define PWR_GATE_CTRL 0xFE75 +#define PWD_SUSPEND_EN 0xFE76 +#define LDO_PWR_SEL 0xFE78 + +#define DUMMY_REG_RESET_0 0xFE90 + +#define AUTOLOAD_CFG_BASE 0xFF00 + +/* Memory mapping */ +#define SRAM_BASE 0xE600 +#define RBUF_BASE 0xF400 +#define PPBUF_BASE1 0xF800 +#define PPBUF_BASE2 0xFA00 +#define IMAGE_FLAG_ADDR0 0xCE80 +#define IMAGE_FLAG_ADDR1 0xCE81 + +/* Phy register */ +#define PHY_PCR 0x00 +#define PHY_RCR0 0x01 +#define PHY_RCR1 0x02 +#define PHY_RCR2 0x03 +#define PHY_RTCR 0x04 +#define PHY_RDR 0x05 +#define PHY_TCR0 0x06 +#define PHY_TCR1 0x07 +#define PHY_TUNE 0x08 +#define PHY_IMR 0x09 +#define PHY_BPCR 0x0A +#define PHY_BIST 0x0B +#define PHY_RAW_L 0x0C +#define PHY_RAW_H 0x0D +#define PHY_RAW_DATA 0x0E +#define PHY_HOST_CLK_CTRL 0x0F +#define PHY_DMR 0x10 +#define PHY_BACR 0x11 +#define PHY_IER 0x12 +#define PHY_BCSR 0x13 +#define PHY_BPR 0x14 +#define PHY_BPNR2 0x15 +#define PHY_BPNR 0x16 +#define PHY_BRNR2 0x17 +#define PHY_BENR 0x18 +#define PHY_REG_REV 0x19 +#define PHY_FLD0 0x1A +#define PHY_FLD1 0x1B +#define PHY_FLD2 0x1C +#define PHY_FLD3 0x1D +#define PHY_FLD4 0x1E +#define PHY_DUM_REG 0x1F + +#define LCTLR 0x80 +#define PCR_SETTING_REG1 0x724 +#define PCR_SETTING_REG2 0x814 +#define PCR_SETTING_REG3 0x747 + +#define rtsx_pci_init_cmd(pcr) ((pcr)->ci = 0) + +struct rtsx_pcr; + +struct pcr_handle { + struct rtsx_pcr *pcr; +}; + +struct pcr_ops { + int (*extra_init_hw)(struct rtsx_pcr *pcr); + int (*optimize_phy)(struct rtsx_pcr *pcr); + int (*turn_on_led)(struct rtsx_pcr *pcr); + int (*turn_off_led)(struct rtsx_pcr *pcr); + int (*enable_auto_blink)(struct rtsx_pcr *pcr); + int (*disable_auto_blink)(struct rtsx_pcr *pcr); + int (*card_power_on)(struct rtsx_pcr *pcr, int card); + int (*card_power_off)(struct rtsx_pcr *pcr, int card); + int (*switch_output_voltage)(struct rtsx_pcr *pcr, + u8 voltage); + unsigned int (*cd_deglitch)(struct rtsx_pcr *pcr); + int (*conv_clk_and_div_n)(int clk, int dir); + void (*fetch_vendor_settings)(struct rtsx_pcr *pcr); +}; + +enum PDEV_STAT {PDEV_STAT_IDLE, PDEV_STAT_RUN}; + +struct rtsx_pcr { + struct pci_dev *pci; + unsigned int id; + + /* pci resources */ + unsigned long addr; + void __iomem *remap_addr; + int irq; + + /* host reserved buffer */ + void *rtsx_resv_buf; + dma_addr_t rtsx_resv_buf_addr; + + void *host_cmds_ptr; + dma_addr_t host_cmds_addr; + int ci; + + void *host_sg_tbl_ptr; + dma_addr_t host_sg_tbl_addr; + int sgi; + + u32 bier; + char trans_result; + + unsigned int card_inserted; + unsigned int card_removed; + unsigned int card_exist; + + struct delayed_work carddet_work; + struct delayed_work idle_work; + + spinlock_t lock; + struct mutex pcr_mutex; + struct completion *done; + struct completion *finish_me; + + unsigned int cur_clock; + bool remove_pci; + bool msi_en; + +#define EXTRA_CAPS_SD_SDR50 (1 << 0) +#define EXTRA_CAPS_SD_SDR104 (1 << 1) +#define EXTRA_CAPS_SD_DDR50 (1 << 2) +#define EXTRA_CAPS_MMC_HSDDR (1 << 3) +#define EXTRA_CAPS_MMC_HS200 (1 << 4) +#define EXTRA_CAPS_MMC_8BIT (1 << 5) + u32 extra_caps; + +#define IC_VER_A 0 +#define IC_VER_B 1 +#define IC_VER_C 2 +#define IC_VER_D 3 + u8 ic_version; + + u8 sd30_drive_sel_1v8; + u8 sd30_drive_sel_3v3; + u8 card_drive_sel; +#define ASPM_L1_EN 0x02 + u8 aspm_en; + +#define PCR_MS_PMOS (1 << 0) +#define PCR_REVERSE_SOCKET (1 << 1) + u32 flags; + + const u32 *sd_pull_ctl_enable_tbl; + const u32 *sd_pull_ctl_disable_tbl; + const u32 *ms_pull_ctl_enable_tbl; + const u32 *ms_pull_ctl_disable_tbl; + + const struct pcr_ops *ops; + enum PDEV_STAT state; + + int num_slots; + struct rtsx_slot *slots; +}; + +#define CHK_PCI_PID(pcr, pid) ((pcr)->pci->device == (pid)) +#define PCI_VID(pcr) ((pcr)->pci->vendor) +#define PCI_PID(pcr) ((pcr)->pci->device) + +void rtsx_pci_start_run(struct rtsx_pcr *pcr); +int rtsx_pci_write_register(struct rtsx_pcr *pcr, u16 addr, u8 mask, u8 data); +int rtsx_pci_read_register(struct rtsx_pcr *pcr, u16 addr, u8 *data); +int rtsx_pci_write_phy_register(struct rtsx_pcr *pcr, u8 addr, u16 val); +int rtsx_pci_read_phy_register(struct rtsx_pcr *pcr, u8 addr, u16 *val); +void rtsx_pci_stop_cmd(struct rtsx_pcr *pcr); +void rtsx_pci_add_cmd(struct rtsx_pcr *pcr, + u8 cmd_type, u16 reg_addr, u8 mask, u8 data); +void rtsx_pci_send_cmd_no_wait(struct rtsx_pcr *pcr); +int rtsx_pci_send_cmd(struct rtsx_pcr *pcr, int timeout); +int rtsx_pci_transfer_data(struct rtsx_pcr *pcr, struct scatterlist *sglist, + int num_sg, bool read, int timeout); +int rtsx_pci_read_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len); +int rtsx_pci_write_ppbuf(struct rtsx_pcr *pcr, u8 *buf, int buf_len); +int rtsx_pci_card_pull_ctl_enable(struct rtsx_pcr *pcr, int card); +int rtsx_pci_card_pull_ctl_disable(struct rtsx_pcr *pcr, int card); +int rtsx_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock, + u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk); +int rtsx_pci_card_power_on(struct rtsx_pcr *pcr, int card); +int rtsx_pci_card_power_off(struct rtsx_pcr *pcr, int card); +int rtsx_pci_card_exclusive_check(struct rtsx_pcr *pcr, int card); +int rtsx_pci_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage); +unsigned int rtsx_pci_card_exist(struct rtsx_pcr *pcr); +void rtsx_pci_complete_unfinished_transfer(struct rtsx_pcr *pcr); + +static inline u8 *rtsx_pci_get_cmd_data(struct rtsx_pcr *pcr) +{ + return (u8 *)(pcr->host_cmds_ptr); +} + +#endif --- linux-lts-quantal-3.5.0.orig/include/linux/ceph/libceph.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ceph/messenger.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ceph/auth.h +++ linux-lts-quantal-3.5.0/include/linux/ceph/auth.h @@ -52,6 +52,9 @@ */ int (*create_authorizer)(struct ceph_auth_client *ac, int peer_type, struct ceph_auth_handshake *auth); + /* ensure that an existing authorizer is up to date */ + int (*update_authorizer)(struct ceph_auth_client *ac, int peer_type, + struct ceph_auth_handshake *auth); int (*verify_authorizer_reply)(struct ceph_auth_client *ac, struct ceph_authorizer *a, size_t len); void (*destroy_authorizer)(struct ceph_auth_client *ac, @@ -75,6 +78,8 @@ u64 global_id; /* our unique id in system */ const struct ceph_crypto_key *key; /* our secret key */ unsigned want_keys; /* which services we want */ + + struct mutex mutex; }; extern struct ceph_auth_client *ceph_auth_init(const char *name, @@ -94,5 +99,18 @@ void *msg_buf, size_t msg_len); extern int ceph_auth_is_authenticated(struct ceph_auth_client *ac); +extern int ceph_auth_create_authorizer(struct ceph_auth_client *ac, + int peer_type, + struct ceph_auth_handshake *auth); +extern void ceph_auth_destroy_authorizer(struct ceph_auth_client *ac, + struct ceph_authorizer *a); +extern int ceph_auth_update_authorizer(struct ceph_auth_client *ac, + int peer_type, + struct ceph_auth_handshake *a); +extern int ceph_auth_verify_authorizer_reply(struct ceph_auth_client *ac, + struct ceph_authorizer *a, + size_t len); +extern void ceph_auth_invalidate_authorizer(struct ceph_auth_client *ac, + int peer_type); #endif --- linux-lts-quantal-3.5.0.orig/include/linux/ceph/mon_client.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ceph/osd_client.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ceph/osdmap.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ceph/msgpool.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/ssb/ssb_driver_chipcommon.h +++ linux-lts-quantal-3.5.0/include/linux/ssb/ssb_driver_chipcommon.h @@ -219,6 +219,7 @@ #define SSB_CHIPCO_PMU_CTL 0x0600 /* PMU control */ #define SSB_CHIPCO_PMU_CTL_ILP_DIV 0xFFFF0000 /* ILP div mask */ #define SSB_CHIPCO_PMU_CTL_ILP_DIV_SHIFT 16 +#define SSB_CHIPCO_PMU_CTL_PLL_UPD 0x00000400 #define SSB_CHIPCO_PMU_CTL_NOILPONW 0x00000200 /* No ILP on wait */ #define SSB_CHIPCO_PMU_CTL_HTREQEN 0x00000100 /* HT req enable */ #define SSB_CHIPCO_PMU_CTL_ALPREQEN 0x00000080 /* ALP req enable */ @@ -661,5 +662,6 @@ void ssb_pmu_set_ldo_voltage(struct ssb_chipcommon *cc, enum ssb_pmu_ldo_volt_id id, u32 voltage); void ssb_pmu_set_ldo_paref(struct ssb_chipcommon *cc, bool on); +void ssb_pmu_spuravoid_pllupdate(struct ssb_chipcommon *cc, int spuravoid); #endif /* LINUX_SSB_CHIPCO_H_ */ --- linux-lts-quantal-3.5.0.orig/include/linux/sunrpc/cache.h +++ linux-lts-quantal-3.5.0/include/linux/sunrpc/cache.h @@ -228,6 +228,22 @@ return 0; } +static inline int get_uint(char **bpp, unsigned int *anint) +{ + char buf[50]; + int len = qword_get(bpp, buf, sizeof(buf)); + + if (len < 0) + return -EINVAL; + if (len == 0) + return -ENOENT; + + if (kstrtouint(buf, 0, anint)) + return -EINVAL; + + return 0; +} + /* * timestamps kept in the cache are expressed in seconds * since boot. This is the best for measuring differences in --- linux-lts-quantal-3.5.0.orig/include/linux/sunrpc/xprt.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/mtd/nand.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/linux/input/eeti_ts.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/sound/core.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/video/atmel_lcdc.h +++ linux-lts-quantal-3.5.0/include/video/atmel_lcdc.h @@ -62,6 +62,7 @@ void (*atmel_lcdfb_power_control)(int on); struct fb_monspecs *default_monspecs; u32 pseudo_palette[16]; + bool have_intensity_bit; }; #define ATMEL_LCDC_DMABADDR1 0x00 --- linux-lts-quantal-3.5.0.orig/include/video/omap-panel-tfp410.h +++ linux-lts-quantal-3.5.0/include/video/omap-panel-tfp410.h @@ -28,7 +28,7 @@ * @power_down_gpio: gpio number for PD pin (or -1 if not available) */ struct tfp410_platform_data { - u16 i2c_bus_num; + int i2c_bus_num; int power_down_gpio; }; --- linux-lts-quantal-3.5.0.orig/include/media/v4l2-ctrls.h +++ linux-lts-quantal-3.5.0/include/media/v4l2-ctrls.h @@ -22,6 +22,7 @@ #define _V4L2_CTRLS_H #include +#include #include /* forward references */ --- linux-lts-quantal-3.5.0.orig/include/rdma/rdma_netlink.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/trace/events/xen.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/trace/events/fs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/trace/events/vfs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/trace/events/random.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/trace/events/kmem.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/drm_pciids.h +++ linux-lts-quantal-3.5.0/include/drm/drm_pciids.h @@ -205,21 +205,29 @@ {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}, \ {0x1002, 0x6821, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6822, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6823, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6824, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ @@ -227,11 +235,13 @@ {0x1002, 0x6827, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6829, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x682A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x682B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x682D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x682F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6831, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6837, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6838, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ {0x1002, 0x6839, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \ @@ -561,7 +571,11 @@ {0x1002, 0x9908, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x9909, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x990A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ - {0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x990B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x990C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x990D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x990E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x9910, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x9913, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x9917, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ @@ -572,6 +586,15 @@ {0x1002, 0x9992, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x9993, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x9994, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x9995, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x9996, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x9997, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x9998, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x9999, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x999A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x999B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x999C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ + {0x1002, 0x999D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x99A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x99A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ {0x1002, 0x99A4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ --- linux-lts-quantal-3.5.0.orig/include/drm/drm_dp_helper.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/drmP.h +++ linux-lts-quantal-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) */ @@ -1566,9 +1568,8 @@ void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv); void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv); -int drm_prime_add_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t handle); -int drm_prime_lookup_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle); -void drm_prime_remove_imported_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf); +int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf, uint32_t *handle); +void drm_prime_remove_buf_handle(struct drm_prime_file_private *prime_fpriv, struct dma_buf *dma_buf); int drm_prime_add_dma_buf(struct drm_device *dev, struct drm_gem_object *obj); int drm_prime_lookup_obj(struct drm_device *dev, struct dma_buf *buf, --- linux-lts-quantal-3.5.0.orig/include/drm/i915_drm.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/intel-gtt.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/i915_drm_hsw.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/drm_mode.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/drm_crtc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/drm/drm_mm_hsw.h +++ linux-lts-quantal-3.5.0/include/drm/drm_mm_hsw.h @@ -0,0 +1,268 @@ +/************************************************************************** + * + * 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 long scan_hit_end; + 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_hsw.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 int drm_mm_insert_node_generic_hsw(struct drm_mm_hsw *mm, + struct drm_mm_node_hsw *node, + unsigned long size, + unsigned alignment, + unsigned long color); +extern int drm_mm_insert_node_in_range_generic_hsw(struct drm_mm_hsw *mm, + struct drm_mm_node_hsw *node, + unsigned long size, + unsigned alignment, + unsigned long color, + 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-lts-quantal-3.5.0.orig/include/drm/drm_crtc_helper.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/asm-generic/tlb.h +++ linux-lts-quantal-3.5.0/include/asm-generic/tlb.h @@ -78,6 +78,14 @@ #define MAX_GATHER_BATCH \ ((PAGE_SIZE - sizeof(struct mmu_gather_batch)) / sizeof(void *)) +/* + * Limit the maximum number of mmu_gather batches to reduce a risk of soft + * lockups for non-preemptible kernels on huge machines when a lot of memory + * is zapped during unmapping. + * 10K pages freed at once should be safe even without a preemption point. + */ +#define MAX_GATHER_BATCH_COUNT (10000UL/MAX_GATHER_BATCH) + /* struct mmu_gather is an opaque type used by the mm code for passing around * any data needed by arch specific code for tlb_remove_page. */ @@ -94,6 +102,7 @@ struct mmu_gather_batch *active; struct mmu_gather_batch local; struct page *__pages[MMU_GATHER_BUNDLE]; + unsigned int batch_count; }; #define HAVE_GENERIC_MMU_GATHER --- linux-lts-quantal-3.5.0.orig/include/asm-generic/signal.h +++ linux-lts-quantal-3.5.0/include/asm-generic/signal.h @@ -99,6 +99,10 @@ #include +#ifdef SA_RESTORER +#define __ARCH_HAS_SA_RESTORER +#endif + struct sigaction { __sighandler_t sa_handler; unsigned long sa_flags; --- linux-lts-quantal-3.5.0.orig/include/asm-generic/mutex-xchg.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/asm-generic/vmlinux.lds.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/include/asm-generic/pgtable.h +++ linux-lts-quantal-3.5.0/include/asm-generic/pgtable.h @@ -7,6 +7,16 @@ #include #include +/* + * On almost all architectures and configurations, 0 can be used as the + * upper ceiling to free_pgtables(): on many architectures it has the same + * effect as using TASK_SIZE. However, there is one configuration which + * must impose a more careful limit, to avoid freeing kernel pgtables. + */ +#ifndef USER_PGTABLES_CEILING +#define USER_PGTABLES_CEILING 0UL +#endif + #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS extern int ptep_set_access_flags(struct vm_area_struct *vma, unsigned long address, pte_t *ptep, --- linux-lts-quantal-3.5.0.orig/mm/mempolicy.c +++ linux-lts-quantal-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 */ @@ -2347,8 +2364,7 @@ */ /* - * "local" is pseudo-policy: MPOL_PREFERRED with MPOL_F_LOCAL flag - * Used only for mpol_parse_str() and mpol_to_str() + * "local" is implemented internally by MPOL_PREFERRED with MPOL_F_LOCAL flag. */ #define MPOL_LOCAL MPOL_MAX static const char * const policy_modes[] = @@ -2363,28 +2379,21 @@ #ifdef CONFIG_TMPFS /** - * mpol_parse_str - parse string to mempolicy + * mpol_parse_str - parse string to mempolicy, for tmpfs mpol mount option. * @str: string containing mempolicy to parse * @mpol: pointer to struct mempolicy pointer, returned on success. - * @no_context: flag whether to "contextualize" the mempolicy + * @unused: redundant argument, to be removed later. * * Format of input: * [=][:] * - * if @no_context is true, save the input nodemask in w.user_nodemask in - * the returned mempolicy. This will be used to "clone" the mempolicy in - * a specific context [cpuset] at a later time. Used to parse tmpfs mpol - * mount option. Note that if 'static' or 'relative' mode flags were - * specified, the input nodemask will already have been saved. Saving - * it again is redundant, but safe. - * * On success, returns 0, else 1 */ -int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context) +int mpol_parse_str(char *str, struct mempolicy **mpol, int unused) { struct mempolicy *new = NULL; unsigned short mode; - unsigned short uninitialized_var(mode_flags); + unsigned short mode_flags; nodemask_t nodes; char *nodelist = strchr(str, ':'); char *flags = strchr(str, '='); @@ -2472,24 +2481,23 @@ if (IS_ERR(new)) goto out; - if (no_context) { - /* save for contextualization */ - new->w.user_nodemask = nodes; - } else { - int ret; - NODEMASK_SCRATCH(scratch); - if (scratch) { - task_lock(current); - ret = mpol_set_nodemask(new, &nodes, scratch); - task_unlock(current); - } else - ret = -ENOMEM; - NODEMASK_SCRATCH_FREE(scratch); - if (ret) { - mpol_put(new); - goto out; - } - } + /* + * Save nodes for mpol_to_str() to show the tmpfs mount options + * for /proc/mounts, /proc/pid/mounts and /proc/pid/mountinfo. + */ + if (mode != MPOL_PREFERRED) + new->v.nodes = nodes; + else if (nodelist) + new->v.preferred_node = first_node(nodes); + else + new->flags |= MPOL_F_LOCAL; + + /* + * Save nodes for contextualization: this will be used to "clone" + * the mempolicy in a specific context [cpuset] at a later time. + */ + new->w.user_nodemask = nodes; + err = 0; out: @@ -2509,13 +2517,13 @@ * @buffer: to contain formatted mempolicy string * @maxlen: length of @buffer * @pol: pointer to mempolicy to be formatted - * @no_context: "context free" mempolicy - use nodemask in w.user_nodemask + * @unused: redundant argument, to be removed later. * * Convert a mempolicy into a string. * Returns the number of characters in buffer (if positive) * or an error (negative) */ -int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol, int no_context) +int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol, int unused) { char *p = buffer; int l; @@ -2541,7 +2549,7 @@ case MPOL_PREFERRED: nodes_clear(nodes); if (flags & MPOL_F_LOCAL) - mode = MPOL_LOCAL; /* pseudo-policy */ + mode = MPOL_LOCAL; else node_set(pol->v.preferred_node, nodes); break; @@ -2549,14 +2557,11 @@ case MPOL_BIND: /* Fall through */ case MPOL_INTERLEAVE: - if (no_context) - nodes = pol->w.user_nodemask; - else - nodes = pol->v.nodes; + nodes = pol->v.nodes; break; default: - BUG(); + return -EINVAL; } l = strlen(policy_modes[mode]); --- linux-lts-quantal-3.5.0.orig/mm/slab.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/oom_kill.c +++ linux-lts-quantal-3.5.0/mm/oom_kill.c @@ -549,11 +549,11 @@ struct task_struct *p; /* - * If current has a pending SIGKILL, then automatically select it. The - * goal is to allow it to allocate so that it may quickly exit and free - * its memory. + * If current has a pending SIGKILL or is exiting, then automatically + * select it. The goal is to allow it to allocate so that it may + * quickly exit and free its memory. */ - if (fatal_signal_pending(current)) { + if (fatal_signal_pending(current) || current->flags & PF_EXITING) { set_thread_flag(TIF_MEMDIE); return; } --- linux-lts-quantal-3.5.0.orig/mm/bootmem.c +++ linux-lts-quantal-3.5.0/mm/bootmem.c @@ -185,10 +185,23 @@ while (start < end) { unsigned long *map, idx, vec; + unsigned shift; map = bdata->node_bootmem_map; idx = start - bdata->node_min_pfn; + shift = idx & (BITS_PER_LONG - 1); + /* + * vec holds at most BITS_PER_LONG map bits, + * bit 0 corresponds to start. + */ vec = ~map[idx / BITS_PER_LONG]; + + if (shift) { + vec >>= shift; + if (end - start >= BITS_PER_LONG) + vec |= ~map[idx / BITS_PER_LONG + 1] << + (BITS_PER_LONG - shift); + } /* * If we have a properly aligned and fully unreserved * BITS_PER_LONG block of pages in front of us, free @@ -201,19 +214,18 @@ count += BITS_PER_LONG; start += BITS_PER_LONG; } else { - unsigned long off = 0; + unsigned long cur = start; - vec >>= start & (BITS_PER_LONG - 1); - while (vec) { + start = ALIGN(start + 1, BITS_PER_LONG); + while (vec && cur != start) { if (vec & 1) { - page = pfn_to_page(start + off); + page = pfn_to_page(cur); __free_pages_bootmem(page, 0); count++; } vec >>= 1; - off++; + ++cur; } - start = ALIGN(start + 1, BITS_PER_LONG); } } --- linux-lts-quantal-3.5.0.orig/mm/mmu_notifier.c +++ linux-lts-quantal-3.5.0/mm/mmu_notifier.c @@ -14,10 +14,14 @@ #include #include #include +#include #include #include #include +/* global SRCU for all MMs */ +static struct srcu_struct srcu; + /* * This function can't run concurrently against mmu_notifier_register * because mm->mm_users > 0 during mmu_notifier_register and exit_mmap @@ -25,14 +29,32 @@ * in parallel despite there being no task using this mm any more, * through the vmas outside of the exit_mmap context, such as with * vmtruncate. This serializes against mmu_notifier_unregister with - * the mmu_notifier_mm->lock in addition to RCU and it serializes - * against the other mmu notifiers with RCU. struct mmu_notifier_mm + * the mmu_notifier_mm->lock in addition to SRCU and it serializes + * against the other mmu notifiers with SRCU. struct mmu_notifier_mm * can't go away from under us as exit_mmap holds an mm_count pin * itself. */ void __mmu_notifier_release(struct mm_struct *mm) { struct mmu_notifier *mn; + struct hlist_node *n; + int id; + + /* + * SRCU here will block mmu_notifier_unregister until + * ->release returns. + */ + id = srcu_read_lock(&srcu); + 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); + srcu_read_unlock(&srcu, id); spin_lock(&mm->mmu_notifier_mm->lock); while (unlikely(!hlist_empty(&mm->mmu_notifier_mm->list))) { @@ -41,41 +63,24 @@ hlist); /* * We arrived before mmu_notifier_unregister so - * mmu_notifier_unregister will do nothing other than - * to wait ->release to finish and - * mmu_notifier_unregister to return. + * mmu_notifier_unregister will do nothing other than to wait + * for ->release to finish and for 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); /* - * synchronize_rcu here prevents mmu_notifier_release to - * return to exit_mmap (which would proceed freeing all pages - * in the mm) until the ->release method returns, if it was - * invoked by mmu_notifier_unregister. + * synchronize_srcu here prevents mmu_notifier_release from returning to + * exit_mmap (which would proceed with freeing all pages in the mm) + * until the ->release method returns, if it was invoked by + * mmu_notifier_unregister. * - * The mmu_notifier_mm can't go away from under us because one - * mm_count is hold by exit_mmap. + * The mmu_notifier_mm can't go away from under us because one mm_count + * is held by exit_mmap. */ - synchronize_rcu(); + synchronize_srcu(&srcu); } /* @@ -88,14 +93,14 @@ { struct mmu_notifier *mn; struct hlist_node *n; - int young = 0; + int young = 0, id; - rcu_read_lock(); + id = srcu_read_lock(&srcu); hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { if (mn->ops->clear_flush_young) young |= mn->ops->clear_flush_young(mn, mm, address); } - rcu_read_unlock(); + srcu_read_unlock(&srcu, id); return young; } @@ -105,9 +110,9 @@ { struct mmu_notifier *mn; struct hlist_node *n; - int young = 0; + int young = 0, id; - rcu_read_lock(); + id = srcu_read_lock(&srcu); hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { if (mn->ops->test_young) { young = mn->ops->test_young(mn, mm, address); @@ -115,7 +120,7 @@ break; } } - rcu_read_unlock(); + srcu_read_unlock(&srcu, id); return young; } @@ -125,8 +130,9 @@ { struct mmu_notifier *mn; struct hlist_node *n; + int id; - rcu_read_lock(); + id = srcu_read_lock(&srcu); hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { if (mn->ops->change_pte) mn->ops->change_pte(mn, mm, address, pte); @@ -137,7 +143,7 @@ else if (mn->ops->invalidate_page) mn->ops->invalidate_page(mn, mm, address); } - rcu_read_unlock(); + srcu_read_unlock(&srcu, id); } void __mmu_notifier_invalidate_page(struct mm_struct *mm, @@ -145,13 +151,14 @@ { struct mmu_notifier *mn; struct hlist_node *n; + int id; - rcu_read_lock(); + id = srcu_read_lock(&srcu); hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { if (mn->ops->invalidate_page) mn->ops->invalidate_page(mn, mm, address); } - rcu_read_unlock(); + srcu_read_unlock(&srcu, id); } void __mmu_notifier_invalidate_range_start(struct mm_struct *mm, @@ -159,13 +166,14 @@ { struct mmu_notifier *mn; struct hlist_node *n; + int id; - rcu_read_lock(); + id = srcu_read_lock(&srcu); hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { if (mn->ops->invalidate_range_start) mn->ops->invalidate_range_start(mn, mm, start, end); } - rcu_read_unlock(); + srcu_read_unlock(&srcu, id); } void __mmu_notifier_invalidate_range_end(struct mm_struct *mm, @@ -173,13 +181,14 @@ { struct mmu_notifier *mn; struct hlist_node *n; + int id; - rcu_read_lock(); + id = srcu_read_lock(&srcu); hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { if (mn->ops->invalidate_range_end) mn->ops->invalidate_range_end(mn, mm, start, end); } - rcu_read_unlock(); + srcu_read_unlock(&srcu, id); } static int do_mmu_notifier_register(struct mmu_notifier *mn, @@ -191,6 +200,12 @@ BUG_ON(atomic_read(&mm->mm_users) <= 0); + /* + * Verify that mmu_notifier_init() already run and the global srcu is + * initialized. + */ + BUG_ON(!srcu.per_cpu_ref); + ret = -ENOMEM; mmu_notifier_mm = kmalloc(sizeof(struct mmu_notifier_mm), GFP_KERNEL); if (unlikely(!mmu_notifier_mm)) @@ -273,8 +288,8 @@ /* * This releases the mm_count pin automatically and frees the mm * structure if it was the last user of it. It serializes against - * running mmu notifiers with RCU and against mmu_notifier_unregister - * with the unregister lock + RCU. All sptes must be dropped before + * running mmu notifiers with SRCU and against mmu_notifier_unregister + * with the unregister lock + SRCU. All sptes must be dropped before * calling mmu_notifier_unregister. ->release or any other notifier * method may be invoked concurrently with mmu_notifier_unregister, * and only after mmu_notifier_unregister returned we're guaranteed @@ -284,35 +299,46 @@ { 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. + * SRCU here will force exit_mmap to wait for ->release to + * finish before freeing the pages. */ - rcu_read_lock(); - spin_unlock(&mm->mmu_notifier_mm->lock); + int id; + + id = srcu_read_lock(&srcu); /* - * exit_mmap will block in mmu_notifier_release to - * guarantee ->release is called before freeing the - * pages. + * exit_mmap will block in mmu_notifier_release to guarantee + * that ->release is called before freeing the pages. */ if (mn->ops->release) mn->ops->release(mn, mm); - rcu_read_unlock(); - } else + srcu_read_unlock(&srcu, id); + + spin_lock(&mm->mmu_notifier_mm->lock); + /* + * Can not use list_del_rcu() since __mmu_notifier_release + * can delete it before we hold the lock. + */ + hlist_del_init_rcu(&mn->hlist); spin_unlock(&mm->mmu_notifier_mm->lock); + } /* - * Wait any running method to finish, of course including + * Wait for any running method to finish, of course including * ->release if it was run by mmu_notifier_relase instead of us. */ - synchronize_rcu(); + synchronize_srcu(&srcu); BUG_ON(atomic_read(&mm->mm_count) <= 0); mmdrop(mm); } EXPORT_SYMBOL_GPL(mmu_notifier_unregister); + +static int __init mmu_notifier_init(void) +{ + return init_srcu_struct(&srcu); +} + +module_init(mmu_notifier_init); --- linux-lts-quantal-3.5.0.orig/mm/memblock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/dmapool.c +++ linux-lts-quantal-3.5.0/mm/dmapool.c @@ -50,7 +50,6 @@ size_t allocation; size_t boundary; char name[32]; - wait_queue_head_t waitq; struct list_head pools; }; @@ -62,8 +61,6 @@ unsigned int offset; }; -#define POOL_TIMEOUT_JIFFIES ((100 /* msec */ * HZ) / 1000) - static DEFINE_MUTEX(pools_lock); static ssize_t @@ -172,7 +169,6 @@ retval->size = size; retval->boundary = boundary; retval->allocation = allocation; - init_waitqueue_head(&retval->waitq); if (dev) { int ret; @@ -227,7 +223,6 @@ memset(page->vaddr, POOL_POISON_FREED, pool->allocation); #endif pool_initialise_page(pool, page); - list_add(&page->page_list, &pool->page_list); page->in_use = 0; page->offset = 0; } else { @@ -315,30 +310,21 @@ might_sleep_if(mem_flags & __GFP_WAIT); spin_lock_irqsave(&pool->lock, flags); - restart: list_for_each_entry(page, &pool->page_list, page_list) { if (page->offset < pool->allocation) goto ready; } - page = pool_alloc_page(pool, GFP_ATOMIC); - if (!page) { - if (mem_flags & __GFP_WAIT) { - DECLARE_WAITQUEUE(wait, current); - __set_current_state(TASK_UNINTERRUPTIBLE); - __add_wait_queue(&pool->waitq, &wait); - spin_unlock_irqrestore(&pool->lock, flags); + /* pool_alloc_page() might sleep, so temporarily drop &pool->lock */ + spin_unlock_irqrestore(&pool->lock, flags); - schedule_timeout(POOL_TIMEOUT_JIFFIES); + page = pool_alloc_page(pool, mem_flags); + if (!page) + return NULL; - spin_lock_irqsave(&pool->lock, flags); - __remove_wait_queue(&pool->waitq, &wait); - goto restart; - } - retval = NULL; - goto done; - } + spin_lock_irqsave(&pool->lock, flags); + list_add(&page->page_list, &pool->page_list); ready: page->in_use++; offset = page->offset; @@ -348,7 +334,6 @@ #ifdef DMAPOOL_DEBUG memset(retval, POOL_POISON_ALLOCATED, pool->size); #endif - done: spin_unlock_irqrestore(&pool->lock, flags); return retval; } @@ -435,8 +420,6 @@ page->in_use--; *(int *)vaddr = page->offset; page->offset = offset; - if (waitqueue_active(&pool->waitq)) - wake_up_locked(&pool->waitq); /* * Resist a temptation to do * if (!is_page_busy(page)) pool_free_page(pool, page); --- linux-lts-quantal-3.5.0.orig/mm/rmap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/sparse.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/page_alloc.c +++ linux-lts-quantal-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]); @@ -4272,10 +4272,11 @@ * round what is now in bits to nearest long in bits, then return it in * bytes. */ -static unsigned long __init usemap_size(unsigned long zonesize) +static unsigned long __init usemap_size(unsigned long zone_start_pfn, unsigned long zonesize) { unsigned long usemapsize; + zonesize += zone_start_pfn & (pageblock_nr_pages-1); usemapsize = roundup(zonesize, pageblock_nr_pages); usemapsize = usemapsize >> pageblock_order; usemapsize *= NR_PAGEBLOCK_BITS; @@ -4285,23 +4286,25 @@ } static void __init setup_usemap(struct pglist_data *pgdat, - struct zone *zone, unsigned long zonesize) + struct zone *zone, + unsigned long zone_start_pfn, + unsigned long zonesize) { - unsigned long usemapsize = usemap_size(zonesize); + unsigned long usemapsize = usemap_size(zone_start_pfn, zonesize); zone->pageblock_flags = NULL; if (usemapsize) zone->pageblock_flags = alloc_bootmem_node_nopanic(pgdat, usemapsize); } #else -static inline void setup_usemap(struct pglist_data *pgdat, - struct zone *zone, unsigned long zonesize) {} +static inline void setup_usemap(struct pglist_data *pgdat, struct zone *zone, + unsigned long zone_start_pfn, unsigned long zonesize) {} #endif /* CONFIG_SPARSEMEM */ #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 +4332,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,14 +4410,14 @@ 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) continue; set_pageblock_order(); - setup_usemap(pgdat, zone, size); + setup_usemap(pgdat, zone, zone_start_pfn, size); ret = init_currently_empty_zone(zone, zone_start_pfn, size, MEMMAP_EARLY); BUG_ON(ret); @@ -5405,7 +5408,7 @@ pfn &= (PAGES_PER_SECTION-1); return (pfn >> pageblock_order) * NR_PAGEBLOCK_BITS; #else - pfn = pfn - zone->zone_start_pfn; + pfn = pfn - round_down(zone->zone_start_pfn, pageblock_nr_pages); return (pfn >> pageblock_order) * NR_PAGEBLOCK_BITS; #endif /* CONFIG_SPARSEMEM */ } @@ -5908,6 +5911,10 @@ zone->free_area[order].nr_free--; __mod_zone_page_state(zone, NR_FREE_PAGES, - (1UL << order)); +#ifdef CONFIG_HIGHMEM + if (PageHighMem(page)) + totalhigh_pages -= 1 << order; +#endif for (i = 0; i < (1 << order); i++) SetPageReserved((page+i)); pfn += (1 << order); @@ -5975,6 +5982,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-lts-quantal-3.5.0.orig/mm/migrate.c +++ linux-lts-quantal-3.5.0/mm/migrate.c @@ -142,10 +142,12 @@ if (is_write_migration_entry(entry)) pte = pte_mkwrite(pte); #ifdef CONFIG_HUGETLB_PAGE - if (PageHuge(new)) + if (PageHuge(new)) { pte = pte_mkhuge(pte); + pte = arch_make_huge_pte(pte, vma, new, 0); + } #endif - flush_cache_page(vma, addr, pte_pfn(pte)); + flush_dcache_page(new); set_pte_at(mm, addr, ptep, pte); if (PageHuge(new)) { @@ -180,15 +182,14 @@ * get to the page and wait until migration is finished. * When we return from this function the fault will be retried. */ -void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, - unsigned long address) +static void __migration_entry_wait(struct mm_struct *mm, pte_t *ptep, + spinlock_t *ptl) { - pte_t *ptep, pte; - spinlock_t *ptl; + pte_t pte; swp_entry_t entry; struct page *page; - ptep = pte_offset_map_lock(mm, pmd, address, &ptl); + spin_lock(ptl); pte = *ptep; if (!is_swap_pte(pte)) goto out; @@ -216,6 +217,20 @@ pte_unmap_unlock(ptep, ptl); } +void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, + unsigned long address) +{ + spinlock_t *ptl = pte_lockptr(mm, pmd); + pte_t *ptep = pte_offset_map(pmd, address); + __migration_entry_wait(mm, ptep, ptl); +} + +void migration_entry_wait_huge(struct mm_struct *mm, pte_t *pte) +{ + spinlock_t *ptl = &(mm)->page_table_lock; + __migration_entry_wait(mm, pte, ptl); +} + #ifdef CONFIG_BLOCK /* Returns true if all buffers are successfully locked */ static bool buffer_migrate_lock_buffers(struct buffer_head *head, --- linux-lts-quantal-3.5.0.orig/mm/fadvise.c +++ linux-lts-quantal-3.5.0/mm/fadvise.c @@ -17,6 +17,7 @@ #include #include #include +#include #include @@ -124,9 +125,22 @@ start_index = (offset+(PAGE_CACHE_SIZE-1)) >> PAGE_CACHE_SHIFT; end_index = (endbyte >> PAGE_CACHE_SHIFT); - if (end_index >= start_index) - invalidate_mapping_pages(mapping, start_index, + if (end_index >= start_index) { + unsigned long count = invalidate_mapping_pages(mapping, + start_index, end_index); + + /* + * If fewer pages were invalidated than expected then + * it is possible that some of the pages were on + * a per-cpu pagevec for a remote CPU. Drain all + * pagevecs and try again. + */ + if (count < (end_index - start_index + 1)) { + lru_add_drain_all(); + invalidate_mapping_pages(mapping, start_index, end_index); + } + } break; default: ret = -EINVAL; --- linux-lts-quantal-3.5.0.orig/mm/swap.c +++ linux-lts-quantal-3.5.0/mm/swap.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "internal.h" @@ -77,6 +78,19 @@ static void put_compound_page(struct page *page) { + /* + * hugetlbfs pages cannot be split from under us. If this is a + * hugetlbfs page, check refcount on head page and release the page if + * the refcount becomes zero. + */ + if (PageHuge(page)) { + page = compound_head(page); + if (put_page_testzero(page)) + __put_compound_page(page); + + return; + } + if (unlikely(PageTail(page))) { /* __split_huge_page_refcount can run under us */ struct page *page_head = compound_trans_head(page); @@ -180,38 +194,51 @@ * proper PT lock that already serializes against * split_huge_page(). */ - unsigned long flags; bool got = false; - struct page *page_head = compound_trans_head(page); + struct page *page_head; - if (likely(page != page_head && get_page_unless_zero(page_head))) { + /* + * If this is a hugetlbfs page it cannot be split under us. Simply + * increment refcount for the head page. + */ + if (PageHuge(page)) { + page_head = compound_head(page); + atomic_inc(&page_head->_count); + got = true; + } else { + unsigned long flags; + + page_head = compound_trans_head(page); + if (likely(page != page_head && + get_page_unless_zero(page_head))) { + + /* Ref to put_compound_page() comment. */ + if (PageSlab(page_head)) { + if (likely(PageTail(page))) { + __get_page_tail_foll(page, false); + return true; + } else { + put_page(page_head); + return false; + } + } - /* Ref to put_compound_page() comment. */ - if (PageSlab(page_head)) { + /* + * page_head wasn't a dangling pointer but it + * may not be a head page anymore by the time + * we obtain the lock. That is ok as long as it + * can't be freed from under us. + */ + flags = compound_lock_irqsave(page_head); + /* here __split_huge_page_refcount won't run anymore */ if (likely(PageTail(page))) { __get_page_tail_foll(page, false); - return true; - } else { - put_page(page_head); - return false; + got = true; } + compound_unlock_irqrestore(page_head, flags); + if (unlikely(!got)) + put_page(page_head); } - - /* - * page_head wasn't a dangling pointer but it - * may not be a head page anymore by the time - * we obtain the lock. That is ok as long as it - * can't be freed from under us. - */ - flags = compound_lock_irqsave(page_head); - /* here __split_huge_page_refcount won't run anymore */ - if (likely(PageTail(page))) { - __get_page_tail_foll(page, false); - got = true; - } - compound_unlock_irqrestore(page_head, flags); - if (unlikely(!got)) - put_page(page_head); } return got; } --- linux-lts-quantal-3.5.0.orig/mm/page-writeback.c +++ linux-lts-quantal-3.5.0/mm/page-writeback.c @@ -187,6 +187,18 @@ zone_reclaimable_pages(z) - z->dirty_balance_reserve; } /* + * Unreclaimable memory (kernel memory or anonymous memory + * without swap) can bring down the dirtyable pages below + * the zone's dirty balance reserve and the above calculation + * will underflow. However we still want to add in nodes + * which are below threshold (negative values) to get a more + * accurate calculation but make sure that the total never + * underflows. + */ + if ((long)x < 0) + x = 0; + + /* * Make sure that the number of highmem pages is never larger * than the number of the total dirtyable memory. This can only * occur in very strange VM situations but we want to make sure @@ -208,8 +220,8 @@ { unsigned long x; - x = global_page_state(NR_FREE_PAGES) + global_reclaimable_pages() - - dirty_balance_reserve; + x = global_page_state(NR_FREE_PAGES) + global_reclaimable_pages(); + x -= min(x, dirty_balance_reserve); if (!vm_highmem_is_dirtyable) x -= highmem_dirtyable_memory(x); @@ -276,9 +288,12 @@ * highmem zone can hold its share of dirty pages, so we don't * care about vm_highmem_is_dirtyable here. */ - return zone_page_state(zone, NR_FREE_PAGES) + - zone_reclaimable_pages(zone) - - zone->dirty_balance_reserve; + unsigned long nr_pages = zone_page_state(zone, NR_FREE_PAGES) + + zone_reclaimable_pages(zone); + + /* don't allow this to underflow */ + nr_pages -= min(nr_pages, zone->dirty_balance_reserve); + return nr_pages; } /** --- linux-lts-quantal-3.5.0.orig/mm/mmzone.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/readahead.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/mlock.c +++ linux-lts-quantal-3.5.0/mm/mlock.c @@ -524,11 +524,11 @@ static int do_mlockall(int flags) { struct vm_area_struct * vma, * prev = NULL; - unsigned int def_flags = 0; if (flags & MCL_FUTURE) - def_flags = VM_LOCKED; - current->mm->def_flags = def_flags; + current->mm->def_flags |= VM_LOCKED; + else + current->mm->def_flags &= ~VM_LOCKED; if (flags == MCL_FUTURE) goto out; --- linux-lts-quantal-3.5.0.orig/mm/hugetlb.c +++ linux-lts-quantal-3.5.0/mm/hugetlb.c @@ -679,6 +679,23 @@ } EXPORT_SYMBOL_GPL(PageHuge); +pgoff_t __basepage_index(struct page *page) +{ + struct page *page_head = compound_head(page); + pgoff_t index = page_index(page_head); + unsigned long compound_idx; + + if (!PageHuge(page_head)) + return page_index(page); + + if (compound_order(page_head) >= MAX_ORDER) + compound_idx = page_to_pfn(page) - page_to_pfn(page_head); + else + compound_idx = page - page_head; + + return (index << compound_order(page_head)) + compound_idx; +} + static struct page *alloc_fresh_huge_page_node(struct hstate *h, int nid) { struct page *page; @@ -2096,8 +2113,12 @@ /* Return the number pages of memory we physically have, in PAGE_SIZE units. */ unsigned long hugetlb_total_pages(void) { - struct hstate *h = &default_hstate; - return h->nr_huge_pages * pages_per_huge_page(h); + struct hstate *h; + unsigned long nr_total_pages = 0; + + for_each_hstate(h) + nr_total_pages += h->nr_huge_pages * pages_per_huge_page(h); + return nr_total_pages; } static int hugetlb_acct_memory(struct hstate *h, long delta) @@ -2393,6 +2414,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 +2453,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; /* @@ -2748,7 +2786,7 @@ if (ptep) { entry = huge_ptep_get(ptep); if (unlikely(is_hugetlb_entry_migration(entry))) { - migration_entry_wait(mm, (pmd_t *)ptep, address); + migration_entry_wait_huge(mm, ptep); return 0; } else if (unlikely(is_hugetlb_entry_hwpoisoned(entry))) return VM_FAULT_HWPOISON_LARGE | @@ -2886,7 +2924,17 @@ break; } - if (absent || + /* + * We need call hugetlb_fault for both hugepages under migration + * (in which case hugetlb_fault waits for the migration,) and + * hwpoisoned hugepages (in which case we need to prevent the + * caller from accessing to them.) In order to do this, we use + * here is_swap_pte instead of is_hugetlb_entry_migration and + * is_hugetlb_entry_hwpoisoned. This is because it simply covers + * both cases, and because we can't follow correct pages + * directly from any kind of swap entries. + */ + if (absent || is_swap_pte(huge_ptep_get(pte)) || ((flags & FOLL_WRITE) && !pte_write(huge_ptep_get(pte)))) { int ret; @@ -2955,13 +3003,19 @@ if (!huge_pte_none(huge_ptep_get(ptep))) { pte = huge_ptep_get_and_clear(mm, address, ptep); pte = pte_mkhuge(pte_modify(pte, newprot)); + pte = arch_make_huge_pte(pte, vma, NULL, 0); set_huge_pte_at(mm, address, ptep, pte); } } 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-lts-quantal-3.5.0.orig/mm/memory.c +++ linux-lts-quantal-3.5.0/mm/memory.c @@ -182,10 +182,14 @@ return 1; } + if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) + return 0; + batch = (void *)__get_free_pages(GFP_NOWAIT | __GFP_NOWARN, 0); if (!batch) return 0; + tlb->batch_count++; batch->next = NULL; batch->nr = 0; batch->max = MAX_GATHER_BATCH; @@ -212,6 +216,7 @@ tlb->local.nr = 0; tlb->local.max = ARRAY_SIZE(tlb->__pages); tlb->active = &tlb->local; + tlb->batch_count = 0; #ifdef CONFIG_HAVE_RCU_TABLE_FREE tlb->batch = NULL; @@ -2329,6 +2334,53 @@ } EXPORT_SYMBOL(remap_pfn_range); +/** + * vm_iomap_memory - remap memory to userspace + * @vma: user vma to map to + * @start: start of area + * @len: size of area + * + * This is a simplified io_remap_pfn_range() for common driver use. The + * driver just needs to give us the physical memory range to be mapped, + * we'll figure out the rest from the vma information. + * + * NOTE! Some drivers might want to tweak vma->vm_page_prot first to get + * whatever write-combining details or similar. + */ +int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len) +{ + unsigned long vm_len, pfn, pages; + + /* Check that the physical memory area passed in looks valid */ + if (start + len < start) + return -EINVAL; + /* + * You *really* shouldn't map things that aren't page-aligned, + * but we've historically allowed it because IO memory might + * just have smaller alignment. + */ + len += start & ~PAGE_MASK; + pfn = start >> PAGE_SHIFT; + pages = (len + ~PAGE_MASK) >> PAGE_SHIFT; + if (pfn + pages < pfn) + return -EINVAL; + + /* We start the mapping 'vm_pgoff' pages into the area */ + if (vma->vm_pgoff > pages) + return -EINVAL; + pfn += vma->vm_pgoff; + pages -= vma->vm_pgoff; + + /* Can we fit all of the mapping? */ + vm_len = vma->vm_end - vma->vm_start; + if (vm_len >> PAGE_SHIFT > pages) + return -EINVAL; + + /* Ok, let it rip */ + return io_remap_pfn_range(vma, vma->vm_start, pfn, vm_len, vma->vm_page_prot); +} +EXPORT_SYMBOL(vm_iomap_memory); + static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd, unsigned long addr, unsigned long end, pte_fn_t fn, void *data) @@ -3239,10 +3291,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-lts-quantal-3.5.0.orig/mm/compaction.c +++ linux-lts-quantal-3.5.0/mm/compaction.c @@ -843,7 +843,7 @@ } /* Compact all nodes in the system */ -static int compact_nodes(void) +static void compact_nodes(void) { int nid; @@ -852,8 +852,6 @@ for_each_online_node(nid) compact_node(nid); - - return COMPACT_COMPLETE; } /* The written value is actually unused, all memory is compacted */ @@ -864,7 +862,7 @@ void __user *buffer, size_t *length, loff_t *ppos) { if (write) - return compact_nodes(); + compact_nodes(); return 0; } --- linux-lts-quantal-3.5.0.orig/mm/memory-failure.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/vmscan.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/process_vm_access.c +++ linux-lts-quantal-3.5.0/mm/process_vm_access.c @@ -429,12 +429,6 @@ if (flags != 0) return -EINVAL; - if (!access_ok(VERIFY_READ, lvec, liovcnt * sizeof(*lvec))) - goto out; - - if (!access_ok(VERIFY_READ, rvec, riovcnt * sizeof(*rvec))) - goto out; - if (vm_write) rc = compat_rw_copy_check_uvector(WRITE, lvec, liovcnt, UIO_FASTIOV, iovstack_l, @@ -459,8 +453,6 @@ kfree(iov_r); if (iov_l != iovstack_l) kfree(iov_l); - -out: return rc; } --- linux-lts-quantal-3.5.0.orig/mm/memory_hotplug.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/filemap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/huge_memory.c +++ linux-lts-quantal-3.5.0/mm/huge_memory.c @@ -1900,6 +1900,8 @@ goto out; vma = find_vma(mm, address); + if (!vma) + goto out; hstart = (vma->vm_start + ~HPAGE_PMD_MASK) & HPAGE_PMD_MASK; hend = vma->vm_end & HPAGE_PMD_MASK; if (address < hstart || address + HPAGE_PMD_SIZE > hend) @@ -1955,7 +1957,12 @@ pte_unmap(pte); spin_lock(&mm->page_table_lock); BUG_ON(!pmd_none(*pmd)); - set_pmd_at(mm, address, pmd, _pmd); + /* + * We can only use set_pmd_at when establishing + * hugepmds and never for establishing regular pmds that + * points to regular pagetables. Use pmd_populate for that + */ + pmd_populate(mm, pmd, pmd_pgtable(_pmd)); spin_unlock(&mm->page_table_lock); anon_vma_unlock(vma->anon_vma); goto out; --- linux-lts-quantal-3.5.0.orig/mm/memcontrol.c +++ linux-lts-quantal-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; @@ -4265,7 +4298,13 @@ const struct mem_cgroup_threshold *_a = a; const struct mem_cgroup_threshold *_b = b; - return _a->threshold - _b->threshold; + if (_a->threshold > _b->threshold) + return 1; + + if (_a->threshold < _b->threshold) + return -1; + + return 0; } static int mem_cgroup_oom_notify_cb(struct mem_cgroup *memcg) @@ -4674,7 +4713,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-lts-quantal-3.5.0.orig/mm/mmap.c +++ linux-lts-quantal-3.5.0/mm/mmap.c @@ -1116,15 +1116,19 @@ file = fget(fd); if (!file) goto out; + if (is_file_hugepages(file)) + len = ALIGN(len, huge_page_size(hstate_file(file))); } else if (flags & MAP_HUGETLB) { struct user_struct *user = NULL; + + len = ALIGN(len, huge_page_size(&default_hstate)); /* * VM_NORESERVE is used because the reservations will be * taken when vm_ops->mmap() is called * A dummy user value is used because we are not locking * memory so no accounting is necessary */ - file = hugetlb_file_setup(HUGETLB_ANON_FILE, addr, len, + file = hugetlb_file_setup(HUGETLB_ANON_FILE, len, VM_NORESERVE, &user, HUGETLB_ANONHUGE_INODE); if (IS_ERR(file)) @@ -1355,9 +1359,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; @@ -1611,7 +1614,7 @@ /* Check the cache first. */ /* (Cache hit rate is typically around 35%.) */ - vma = mm->mmap_cache; + vma = ACCESS_ONCE(mm->mmap_cache); if (!(vma && vma->vm_end > addr && vma->vm_start <= addr)) { struct rb_node *rb_node; @@ -1914,7 +1917,7 @@ update_hiwater_rss(mm); unmap_vmas(&tlb, vma, start, end); free_pgtables(&tlb, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, - next ? next->vm_start : 0); + next ? next->vm_start : USER_PGTABLES_CEILING); tlb_finish_mmu(&tlb, start, end); } @@ -2296,7 +2299,7 @@ /* Use -1 here to ensure all VMAs in the mm are unmapped */ unmap_vmas(&tlb, vma, 0, -1); - free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, 0); + free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, USER_PGTABLES_CEILING); tlb_finish_mmu(&tlb, 0, -1); /* --- linux-lts-quantal-3.5.0.orig/mm/shmem.c +++ linux-lts-quantal-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) { @@ -2521,6 +2541,7 @@ unsigned long inodes; int error = -EINVAL; + config.mpol = NULL; if (shmem_parse_options(data, &config, true)) return error; @@ -2545,8 +2566,13 @@ sbinfo->max_inodes = config.max_inodes; sbinfo->free_inodes = config.max_inodes - inodes; - mpol_put(sbinfo->mpol); - sbinfo->mpol = config.mpol; /* transfers initial ref */ + /* + * Preserve previous mempolicy unless mpol remount option was specified. + */ + if (config.mpol) { + mpol_put(sbinfo->mpol); + sbinfo->mpol = config.mpol; /* transfers initial ref */ + } out: spin_unlock(&sbinfo->stat_lock); return error; --- linux-lts-quantal-3.5.0.orig/mm/swap_state.c +++ linux-lts-quantal-3.5.0/mm/swap_state.c @@ -313,8 +313,24 @@ * Swap entry may have been freed since our caller observed it. */ err = swapcache_prepare(entry); - if (err == -EEXIST) { /* seems racy */ + if (err == -EEXIST) { radix_tree_preload_end(); + /* + * We might race against get_swap_page() and stumble + * across a SWAP_HAS_CACHE swap_map entry whose page + * has not been brought into the swapcache yet, while + * the other end is scheduled away waiting on discard + * I/O completion at scan_swap_map(). + * + * In order to avoid turning this transitory state + * into a permanent loop around this -EEXIST case + * if !CONFIG_PREEMPT and the I/O completion happens + * to be waiting on the CPU waitqueue where we are now + * busy looping, we just conditionally invoke the + * scheduler here, if there are some more important + * tasks to run. + */ + cond_resched(); continue; } if (err) { /* swp entry is obsolete ? */ --- linux-lts-quantal-3.5.0.orig/mm/pagewalk.c +++ linux-lts-quantal-3.5.0/mm/pagewalk.c @@ -127,28 +127,7 @@ return 0; } -static struct vm_area_struct* hugetlb_vma(unsigned long addr, struct mm_walk *walk) -{ - struct vm_area_struct *vma; - - /* We don't need vma lookup at all. */ - if (!walk->hugetlb_entry) - return NULL; - - VM_BUG_ON(!rwsem_is_locked(&walk->mm->mmap_sem)); - vma = find_vma(walk->mm, addr); - if (vma && vma->vm_start <= addr && is_vm_hugetlb_page(vma)) - return vma; - - return NULL; -} - #else /* CONFIG_HUGETLB_PAGE */ -static struct vm_area_struct* hugetlb_vma(unsigned long addr, struct mm_walk *walk) -{ - return NULL; -} - static int walk_hugetlb_range(struct vm_area_struct *vma, unsigned long addr, unsigned long end, struct mm_walk *walk) @@ -198,30 +177,53 @@ if (!walk->mm) return -EINVAL; + VM_BUG_ON(!rwsem_is_locked(&walk->mm->mmap_sem)); + pgd = pgd_offset(walk->mm, addr); do { - struct vm_area_struct *vma; + struct vm_area_struct *vma = NULL; next = pgd_addr_end(addr, end); /* - * handle hugetlb vma individually because pagetable walk for - * the hugetlb page is dependent on the architecture and - * we can't handled it in the same manner as non-huge pages. + * This function was not intended to be vma based. + * But there are vma special cases to be handled: + * - hugetlb vma's + * - VM_PFNMAP vma's */ - vma = hugetlb_vma(addr, walk); + vma = find_vma(walk->mm, addr); if (vma) { - if (vma->vm_end < next) + /* + * There are no page structures backing a VM_PFNMAP + * range, so do not allow split_huge_page_pmd(). + */ + if ((vma->vm_start <= addr) && + (vma->vm_flags & VM_PFNMAP)) { next = vma->vm_end; + pgd = pgd_offset(walk->mm, next); + continue; + } /* - * Hugepage is very tightly coupled with vma, so - * walk through hugetlb entries within a given vma. + * Handle hugetlb vma individually because pagetable + * walk for the hugetlb page is dependent on the + * architecture and we can't handled it in the same + * manner as non-huge pages. */ - err = walk_hugetlb_range(vma, addr, next, walk); - if (err) - break; - pgd = pgd_offset(walk->mm, next); - continue; + if (walk->hugetlb_entry && (vma->vm_start <= addr) && + is_vm_hugetlb_page(vma)) { + if (vma->vm_end < next) + next = vma->vm_end; + /* + * Hugepage is very tightly coupled with vma, + * so walk through hugetlb entries within a + * given vma. + */ + err = walk_hugetlb_range(vma, addr, next, walk); + if (err) + break; + pgd = pgd_offset(walk->mm, next); + continue; + } } if (pgd_none_or_clear_bad(pgd)) { --- linux-lts-quantal-3.5.0.orig/mm/nommu.c +++ linux-lts-quantal-3.5.0/mm/nommu.c @@ -807,7 +807,7 @@ struct vm_area_struct *vma; /* check the cache first */ - vma = mm->mmap_cache; + vma = ACCESS_ONCE(mm->mmap_cache); if (vma && vma->vm_start <= addr && vma->vm_end > addr) return vma; @@ -1827,6 +1827,16 @@ } EXPORT_SYMBOL(remap_pfn_range); +int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len) +{ + unsigned long pfn = start >> PAGE_SHIFT; + unsigned long vm_len = vma->vm_end - vma->vm_start; + + pfn += vma->vm_pgoff; + return io_remap_pfn_range(vma, vma->vm_start, pfn, vm_len, vma->vm_page_prot); +} +EXPORT_SYMBOL(vm_iomap_memory); + int remap_vmalloc_range(struct vm_area_struct *vma, void *addr, unsigned long pgoff) { --- linux-lts-quantal-3.5.0.orig/mm/truncate.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/internal.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/mm/mincore.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/printk.c +++ linux-lts-quantal-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) @@ -356,6 +357,53 @@ log_next_seq++; } +#ifdef CONFIG_SECURITY_DMESG_RESTRICT +int dmesg_restrict = 1; +#else +int dmesg_restrict; +#endif + +static int syslog_action_restricted(int type) +{ + if (dmesg_restrict) + return 1; + /* + * Unless restricted, we allow "read all" and "get buffer size" + * for everybody. + */ + return type != SYSLOG_ACTION_READ_ALL && + type != SYSLOG_ACTION_SIZE_BUFFER; +} + +static int check_syslog_permissions(int type, bool from_file) +{ + /* + * If this is from /proc/kmsg and we've already opened it, then we've + * already done the capabilities checks at open time. + */ + if (from_file && type != SYSLOG_ACTION_OPEN) + return 0; + + if (syslog_action_restricted(type)) { + if (capable(CAP_SYSLOG)) + return 0; + /* + * For historical reasons, accept CAP_SYS_ADMIN too, with + * a warning. + */ + if (capable(CAP_SYS_ADMIN)) { + pr_warn_once("%s (%d): Attempt to access syslog with " + "CAP_SYS_ADMIN but no CAP_SYSLOG " + "(deprecated).\n", + current->comm, task_pid_nr(current)); + return 0; + } + return -EPERM; + } + return security_syslog(type); +} + + /* /dev/kmsg - userspace message inject/listen interface */ struct devkmsg_user { u64 seq; @@ -591,7 +639,8 @@ if ((file->f_flags & O_ACCMODE) == O_WRONLY) return 0; - err = security_syslog(SYSLOG_ACTION_READ_ALL); + err = check_syslog_permissions(SYSLOG_ACTION_READ_ALL, + SYSLOG_FROM_READER); if (err) return err; @@ -758,45 +807,6 @@ } #endif -#ifdef CONFIG_SECURITY_DMESG_RESTRICT -int dmesg_restrict = 1; -#else -int dmesg_restrict; -#endif - -static int syslog_action_restricted(int type) -{ - if (dmesg_restrict) - return 1; - /* Unless restricted, we allow "read all" and "get buffer size" for everybody */ - return type != SYSLOG_ACTION_READ_ALL && type != SYSLOG_ACTION_SIZE_BUFFER; -} - -static int check_syslog_permissions(int type, bool from_file) -{ - /* - * If this is from /proc/kmsg and we've already opened it, then we've - * already done the capabilities checks at open time. - */ - if (from_file && type != SYSLOG_ACTION_OPEN) - return 0; - - if (syslog_action_restricted(type)) { - if (capable(CAP_SYSLOG)) - return 0; - /* For historical reasons, accept CAP_SYS_ADMIN too, with a warning */ - if (capable(CAP_SYS_ADMIN)) { - printk_once(KERN_WARNING "%s (%d): " - "Attempt to access syslog with CAP_SYS_ADMIN " - "but no CAP_SYSLOG (deprecated).\n", - current->comm, task_pid_nr(current)); - return 0; - } - return -EPERM; - } - return 0; -} - #if defined(CONFIG_PRINTK_TIME) static bool printk_time = 1; #else @@ -811,10 +821,11 @@ if (!printk_time) return 0; + rem_nsec = do_div(ts, 1000000000); + if (!buf) - return 15; + return snprintf(NULL, 0, "[%5lu.000000] ", (unsigned long)ts); - rem_nsec = do_div(ts, 1000000000); return sprintf(buf, "[%5lu.%06lu] ", (unsigned long)ts, rem_nsec / 1000); } @@ -876,7 +887,7 @@ if (buf) { if (print_prefix(msg, syslog, NULL) + - text_len + 1>= size - len) + text_len + 1 >= size - len) break; if (prefix) @@ -907,7 +918,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 +941,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 +981,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 +1009,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 +1022,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 +1036,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; @@ -1189,7 +1204,7 @@ SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len) { - return do_syslog(type, buf, len, SYSLOG_FROM_CALL); + return do_syslog(type, buf, len, SYSLOG_FROM_READER); } static bool __read_mostly ignore_loglevel; @@ -1315,9 +1330,9 @@ } } logbuf_cpu = UINT_MAX; + raw_spin_unlock(&logbuf_lock); if (wake) up(&console_sem); - raw_spin_unlock(&logbuf_lock); return retval; } @@ -1352,15 +1367,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 +1386,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 +1523,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 +1541,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 +1634,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 +1940,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-lts-quantal-3.5.0.orig/kernel/sys.c +++ linux-lts-quantal-3.5.0/kernel/sys.c @@ -323,7 +323,6 @@ system_state = SYSTEM_RESTART; usermodehelper_disable(); device_shutdown(); - syscore_shutdown(); } /** @@ -357,6 +356,29 @@ } EXPORT_SYMBOL(unregister_reboot_notifier); +/* Add backwards compatibility for stable trees. */ +#ifndef PF_NO_SETAFFINITY +#define PF_NO_SETAFFINITY PF_THREAD_BOUND +#endif + +static void migrate_to_reboot_cpu(void) +{ + /* The boot cpu is always logical cpu 0 */ + int cpu = 0; + + cpu_hotplug_disable(); + + /* Make certain the cpu I'm about to reboot on is online */ + if (!cpu_online(cpu)) + cpu = cpumask_first(cpu_online_mask); + + /* Prevent races with other tasks migrating this task */ + current->flags |= PF_NO_SETAFFINITY; + + /* Make certain I only run on the appropriate processor */ + set_cpus_allowed_ptr(current, cpumask_of(cpu)); +} + /** * kernel_restart - reboot the system * @cmd: pointer to buffer containing command to execute for restart @@ -368,6 +390,8 @@ void kernel_restart(char *cmd) { kernel_restart_prepare(cmd); + migrate_to_reboot_cpu(); + syscore_shutdown(); if (!cmd) printk(KERN_EMERG "Restarting system.\n"); else @@ -393,6 +417,7 @@ void kernel_halt(void) { kernel_shutdown_prepare(SYSTEM_HALT); + migrate_to_reboot_cpu(); syscore_shutdown(); printk(KERN_EMERG "System halted.\n"); kmsg_dump(KMSG_DUMP_HALT); @@ -411,7 +436,7 @@ kernel_shutdown_prepare(SYSTEM_POWER_OFF); if (pm_power_off_prepare) pm_power_off_prepare(); - disable_nonboot_cpus(); + migrate_to_reboot_cpu(); syscore_shutdown(); printk(KERN_EMERG "Power down.\n"); kmsg_dump(KMSG_DUMP_POWEROFF); @@ -1264,15 +1289,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 +1308,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-lts-quantal-3.5.0.orig/kernel/panic.c +++ linux-lts-quantal-3.5.0/kernel/panic.c @@ -75,6 +75,14 @@ int state = 0; /* + * Disable local interrupts. This will prevent panic_smp_self_stop + * from deadlocking the first cpu that invokes the panic, since + * there is nothing to prevent an interrupt handler (that runs + * after the panic_lock is acquired) from invoking panic again. + */ + local_irq_disable(); + + /* * It's possible to come here directly from a panic-assertion and * not have preempt disabled. Some functions called from here want * preempt to be disabled. No point enabling it later though... --- linux-lts-quantal-3.5.0.orig/kernel/cgroup.c +++ linux-lts-quantal-3.5.0/kernel/cgroup.c @@ -422,12 +422,20 @@ struct cgroup *cgrp = link->cgrp; list_del(&link->cg_link_list); list_del(&link->cgrp_link_list); + + /* + * We may not be holding cgroup_mutex, and if cgrp->count is + * dropped to 0 the cgroup can be destroyed at any time, hence + * rcu_read_lock is used to keep it alive. + */ + rcu_read_lock(); if (atomic_dec_and_test(&cgrp->count) && notify_on_release(cgrp)) { if (taskexit) set_bit(CGRP_RELEASABLE, &cgrp->flags); check_for_release(cgrp); } + rcu_read_unlock(); kfree(link); } @@ -954,7 +962,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 +1935,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); } /** @@ -2072,7 +2079,7 @@ if (!group) return -ENOMEM; /* pre-allocate to guarantee space while iterating in rcu read-side. */ - retval = flex_array_prealloc(group, 0, group_size - 1, GFP_KERNEL); + retval = flex_array_prealloc(group, 0, group_size, GFP_KERNEL); if (retval) goto out_free_group_list; @@ -2640,9 +2647,7 @@ dentry->d_fsdata = cgrp; inc_nlink(parent->d_inode); rcu_assign_pointer(cgrp->dentry, dentry); - dget(dentry); } - dput(dentry); return error; } @@ -2685,12 +2690,6 @@ umode_t mode; char name[MAX_CGROUP_TYPE_NAMELEN + MAX_CFTYPE_NAME + 2] = { 0 }; - /* does @cft->flags tell us to skip creation on @cgrp? */ - if ((cft->flags & CFTYPE_NOT_ON_ROOT) && !cgrp->parent) - return 0; - if ((cft->flags & CFTYPE_ONLY_ON_ROOT) && cgrp->parent) - return 0; - if (subsys && !test_bit(ROOT_NOPREFIX, &cgrp->root->flags)) { strcpy(name, subsys->name); strcat(name, "."); @@ -2731,6 +2730,12 @@ int err, ret = 0; for (cft = cfts; cft->name[0] != '\0'; cft++) { + /* does cft->flags tell us to skip this file on @cgrp? */ + if ((cft->flags & CFTYPE_NOT_ON_ROOT) && !cgrp->parent) + continue; + if ((cft->flags & CFTYPE_ONLY_ON_ROOT) && cgrp->parent) + continue; + if (is_add) err = cgroup_add_file(cgrp, subsys, cft); else @@ -2766,13 +2771,17 @@ { LIST_HEAD(pending); struct cgroup *cgrp, *n; + struct super_block *sb = ss->root->sb; /* %NULL @cfts indicates abort and don't bother if @ss isn't attached */ - if (cfts && ss->root != &rootnode) { + if (cfts && ss->root != &rootnode && + atomic_inc_not_zero(&sb->s_active)) { list_for_each_entry(cgrp, &ss->root->allcg_list, allcg_node) { dget(cgrp->dentry); list_add_tail(&cgrp->cft_q_node, &pending); } + } else { + sb = NULL; } mutex_unlock(&cgroup_mutex); @@ -2795,6 +2804,9 @@ dput(cgrp->dentry); } + if (sb) + deactivate_super(sb); + mutex_unlock(&cgroup_cft_mutex); } @@ -3618,6 +3630,23 @@ } /* + * When dput() is called asynchronously, if umount has been done and + * then deactivate_super() in cgroup_free_fn() kills the superblock, + * there's a small window that vfs will see the root dentry with non-zero + * refcnt and trigger BUG(). + * + * That's why we hold a reference before dput() and drop it right after. + */ +static void cgroup_dput(struct cgroup *cgrp) +{ + struct super_block *sb = cgrp->root->sb; + + atomic_inc(&sb->s_active); + dput(cgrp->dentry); + deactivate_super(sb); +} + +/* * Unregister event and free resources. * * Gets called from workqueue. @@ -3632,7 +3661,7 @@ eventfd_ctx_put(event->eventfd); kfree(event); - dput(cgrp->dentry); + cgroup_dput(cgrp); } /* @@ -3683,6 +3712,7 @@ const char *buffer) { struct cgroup_event *event = NULL; + struct cgroup *cgrp_cfile; unsigned int efd, cfd; struct file *efile = NULL; struct file *cfile = NULL; @@ -3738,6 +3768,16 @@ goto fail; } + /* + * The file to be monitored must be in the same cgroup as + * cgroup.event_control is. + */ + cgrp_cfile = __d_cgrp(cfile->f_dentry->d_parent); + if (cgrp_cfile != cgrp) { + ret = -EINVAL; + goto fail; + } + if (!event->cft->register_event || !event->cft->unregister_event) { ret = -EINVAL; goto fail; @@ -3883,12 +3923,8 @@ { struct cgroup_subsys_state *css = container_of(work, struct cgroup_subsys_state, dput_work); - struct dentry *dentry = css->cgroup->dentry; - struct super_block *sb = dentry->d_sb; - atomic_inc(&sb->s_active); - dput(dentry); - deactivate_super(sb); + cgroup_dput(css->cgroup); } static void init_cgroup_css(struct cgroup_subsys_state *css, @@ -4740,70 +4776,37 @@ * * 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); } /** - * cgroup_fork_callbacks - run fork callbacks - * @child: the new task - * - * Called on a new task very soon before adding it to the - * tasklist. No need to take any locks since no-one can - * be operating on this task. - */ -void cgroup_fork_callbacks(struct task_struct *child) -{ - if (need_forkexit_callback) { - int i; - /* - * forkexit callbacks are only supported for builtin - * subsystems, and the builtin section of the subsys array is - * immutable, so we don't need to lock the subsys array here. - */ - for (i = 0; i < CGROUP_BUILTIN_SUBSYS_COUNT; i++) { - struct cgroup_subsys *ss = subsys[i]; - if (ss->fork) - ss->fork(child); - } - } -} - -/** * cgroup_post_fork - called on a new task after adding it to the task list * @child: the task in question * - * Adds the task to the list running through its css_set if necessary. - * Has to be after the task is visible on the task list in case we race - * with the first call to cgroup_iter_start() - to guarantee that the - * new task ends up on its list. + * Adds the task to the list running through its css_set if necessary and + * call the subsystem fork() callbacks. Has to be after the task is + * visible on the task list in case we race with the first call to + * cgroup_iter_start() - to guarantee that the new task ends up on its + * list. */ void cgroup_post_fork(struct task_struct *child) { + int i; + /* * use_task_css_set_links is set to 1 before we walk the tasklist * under the tasklist_lock and we read it here after we added the child @@ -4817,22 +4820,32 @@ */ 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); } + + /* + * Call ss->fork(). This must happen after @child is linked on + * css_set; otherwise, @child might change state between ->fork() + * and addition to css_set. + */ + if (need_forkexit_callback) { + /* + * forkexit callbacks are only supported for builtin + * subsystems, and the builtin section of the subsys array is + * immutable, so we don't need to lock the subsys array here. + */ + for (i = 0; i < CGROUP_BUILTIN_SUBSYS_COUNT; i++) { + struct cgroup_subsys *ss = subsys[i]; + if (ss->fork) + ss->fork(child); + } + } } + /** * cgroup_exit - detach cgroup from exiting task * @tsk: pointer to task_struct of exiting process --- linux-lts-quantal-3.5.0.orig/kernel/watchdog.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/smp.c +++ linux-lts-quantal-3.5.0/kernel/smp.c @@ -33,6 +33,7 @@ struct call_single_data csd; atomic_t refs; cpumask_var_t cpumask; + cpumask_var_t cpumask_ipi; }; static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_function_data, cfd_data); @@ -56,6 +57,9 @@ if (!zalloc_cpumask_var_node(&cfd->cpumask, GFP_KERNEL, cpu_to_node(cpu))) return notifier_from_errno(-ENOMEM); + if (!zalloc_cpumask_var_node(&cfd->cpumask_ipi, GFP_KERNEL, + cpu_to_node(cpu))) + return notifier_from_errno(-ENOMEM); break; #ifdef CONFIG_HOTPLUG_CPU @@ -65,6 +69,7 @@ case CPU_DEAD: case CPU_DEAD_FROZEN: free_cpumask_var(cfd->cpumask); + free_cpumask_var(cfd->cpumask_ipi); break; #endif }; @@ -526,6 +531,12 @@ return; } + /* + * After we put an entry into the list, data->cpumask + * may be cleared again when another CPU sends another IPI for + * a SMP function call, so data->cpumask will be zero. + */ + cpumask_copy(data->cpumask_ipi, data->cpumask); raw_spin_lock_irqsave(&call_function.lock, flags); /* * Place entry at the _HEAD_ of the list, so that any cpu still @@ -549,7 +560,7 @@ smp_mb(); /* Send a message to all CPUs in the map */ - arch_send_call_function_ipi_mask(data->cpumask); + arch_send_call_function_ipi_mask(data->cpumask_ipi); /* Optionally wait for the CPUs to complete */ if (wait) --- linux-lts-quantal-3.5.0.orig/kernel/sysctl_binary.c +++ linux-lts-quantal-3.5.0/kernel/sysctl_binary.c @@ -1194,9 +1194,10 @@ /* Convert the decnet address to binary */ result = -EIO; - nodep = strchr(buf, '.') + 1; + nodep = strchr(buf, '.'); if (!nodep) goto out; + ++nodep; area = simple_strtoul(buf, NULL, 10); node = simple_strtoul(nodep, NULL, 10); --- linux-lts-quantal-3.5.0.orig/kernel/seccomp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/posix-cpu-timers.c +++ linux-lts-quantal-3.5.0/kernel/posix-cpu-timers.c @@ -1422,8 +1422,10 @@ while (!signal_pending(current)) { if (timer.it.cpu.expires.sched == 0) { /* - * Our timer fired and was reset. + * Our timer fired and was reset, below + * deletion can not fail. */ + posix_cpu_timer_del(&timer); spin_unlock_irq(&timer.it_lock); return 0; } @@ -1441,9 +1443,26 @@ * We were interrupted by a signal. */ sample_to_timespec(which_clock, timer.it.cpu.expires, rqtp); - posix_cpu_timer_set(&timer, 0, &zero_it, it); + error = posix_cpu_timer_set(&timer, 0, &zero_it, it); + if (!error) { + /* + * Timer is now unarmed, deletion can not fail. + */ + posix_cpu_timer_del(&timer); + } spin_unlock_irq(&timer.it_lock); + while (error == TIMER_RETRY) { + /* + * We need to handle case when timer was or is in the + * middle of firing. In other cases we already freed + * resources. + */ + spin_lock_irq(&timer.it_lock); + error = posix_cpu_timer_del(&timer); + spin_unlock_irq(&timer.it_lock); + } + if ((it->it_value.tv_sec | it->it_value.tv_nsec) == 0) { /* * It actually did fire already. --- linux-lts-quantal-3.5.0.orig/kernel/kmod.c +++ linux-lts-quantal-3.5.0/kernel/kmod.c @@ -541,6 +541,11 @@ int retval = 0; helper_lock(); + if (!sub_info->path) { + retval = -EINVAL; + goto out; + } + if (sub_info->path[0] == '\0') goto out; @@ -585,6 +590,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-lts-quantal-3.5.0.orig/kernel/posix-timers.c +++ linux-lts-quantal-3.5.0/kernel/posix-timers.c @@ -639,6 +639,13 @@ { struct k_itimer *timr; + /* + * timer_t could be any type >= int and we want to make sure any + * @timer_id outside positive int range fails lookup. + */ + if ((unsigned long long)timer_id > INT_MAX) + return NULL; + rcu_read_lock(); timr = idr_find(&posix_timers_id, (int)timer_id); if (timr) { --- linux-lts-quantal-3.5.0.orig/kernel/workqueue.c +++ linux-lts-quantal-3.5.0/kernel/workqueue.c @@ -128,6 +128,7 @@ }; struct work_struct *current_work; /* L: work being processed */ + work_func_t current_func; /* L: current_work's fn */ struct cpu_workqueue_struct *current_cwq; /* L: current_work's cwq */ struct list_head scheduled; /* L: scheduled works */ struct task_struct *task; /* I: worker task */ @@ -838,7 +839,8 @@ struct hlist_node *tmp; hlist_for_each_entry(worker, tmp, bwh, hentry) - if (worker->current_work == work) + if (worker->current_work == work && + worker->current_func == work->func) return worker; return NULL; } @@ -848,9 +850,27 @@ * @gcwq: gcwq of interest * @work: work to find worker for * - * Find a worker which is executing @work on @gcwq. This function is - * identical to __find_worker_executing_work() except that this - * function calculates @bwh itself. + * Find a worker which is executing @work on @gcwq by searching + * @gcwq->busy_hash which is keyed by the address of @work. For a worker + * to match, its current execution should match the address of @work and + * its work function. This is to avoid unwanted dependency between + * unrelated work executions through a work item being recycled while still + * being executed. + * + * This is a bit tricky. A work item may be freed once its execution + * starts and nothing prevents the freed area from being recycled for + * another work item. If the same work item address ends up being reused + * before the original execution finishes, workqueue will identify the + * recycled work item as currently executing and make it wait until the + * current execution finishes, introducing an unwanted dependency. + * + * This function checks the work item address, work function and workqueue + * to avoid false positives. Note that this isn't complete as one may + * construct a work function which can introduce dependency onto itself + * through a recycled work item. Well, if somebody wants to shoot oneself + * in the foot that badly, there's only so much we can do, and if such + * deadlock actually occurs, it should be easy to locate the culprit work + * function. * * CONTEXT: * spin_lock_irq(gcwq->lock). @@ -1724,10 +1744,9 @@ *nextp = n; } -static void cwq_activate_first_delayed(struct cpu_workqueue_struct *cwq) +static void cwq_activate_delayed_work(struct work_struct *work) { - struct work_struct *work = list_first_entry(&cwq->delayed_works, - struct work_struct, entry); + struct cpu_workqueue_struct *cwq = get_work_cwq(work); struct list_head *pos = gcwq_determine_ins_pos(cwq->gcwq, cwq); trace_workqueue_activate_work(work); @@ -1736,6 +1755,14 @@ cwq->nr_active++; } +static void cwq_activate_first_delayed(struct cpu_workqueue_struct *cwq) +{ + struct work_struct *work = list_first_entry(&cwq->delayed_works, + struct work_struct, entry); + + cwq_activate_delayed_work(work); +} + /** * cwq_dec_nr_in_flight - decrement cwq's nr_in_flight * @cwq: cwq of interest @@ -1807,7 +1834,6 @@ struct global_cwq *gcwq = cwq->gcwq; struct hlist_head *bwh = busy_worker_head(gcwq, work); bool cpu_intensive = cwq->wq->flags & WQ_CPU_INTENSIVE; - work_func_t f = work->func; int work_color; struct worker *collision; #ifdef CONFIG_LOCKDEP @@ -1838,6 +1864,7 @@ debug_work_deactivate(work); hlist_add_head(&worker->hentry, bwh); worker->current_work = work; + worker->current_func = work->func; worker->current_cwq = cwq; work_color = get_work_color(work); @@ -1869,11 +1896,13 @@ 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); - f(work); + worker->current_func(work); /* * While we must be careful to not use "work" after this, the trace * point will only record its address. @@ -1883,15 +1912,23 @@ lock_map_release(&cwq->wq->lockdep_map); if (unlikely(in_atomic() || lockdep_depth(current) > 0)) { - printk(KERN_ERR "BUG: workqueue leaked lock or atomic: " - "%s/0x%08x/%d\n", - current->comm, preempt_count(), task_pid_nr(current)); - printk(KERN_ERR " last function: "); - print_symbol("%s\n", (unsigned long)f); + pr_err("BUG: workqueue leaked lock or atomic: %s/0x%08x/%d\n" + " last function: %pf\n", + current->comm, preempt_count(), task_pid_nr(current), + worker->current_func); debug_show_held_locks(current); dump_stack(); } + /* + * The following prevents a kworker from hogging CPU on !PREEMPT + * kernels, where a requeueing work item waiting for something to + * happen could deadlock with stop_machine as such work item could + * indefinitely requeue itself while all other CPUs are trapped in + * stop_machine. + */ + cond_resched(); + spin_lock_irq(&gcwq->lock); /* clear cpu intensive status */ @@ -1901,6 +1938,7 @@ /* we're done with it, release */ hlist_del_init(&worker->hentry); worker->current_work = NULL; + worker->current_func = NULL; worker->current_cwq = NULL; cwq_dec_nr_in_flight(cwq, work_color, false); } @@ -2043,8 +2081,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 @@ -2629,6 +2669,18 @@ smp_rmb(); if (gcwq == get_work_gcwq(work)) { debug_work_deactivate(work); + + /* + * A delayed work item cannot be grabbed directly + * because it might have linked NO_COLOR work items + * which, if left on the delayed_list, will confuse + * cwq->nr_active management later on and cause + * stall. Make sure the work item is activated + * before grabbing. + */ + if (*work_data_bits(work) & WORK_STRUCT_DELAYED) + cwq_activate_delayed_work(work); + list_del_init(&work->entry); cwq_dec_nr_in_flight(get_work_cwq(work), get_work_color(work), @@ -3441,14 +3493,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 +3645,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 +3708,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 +3864,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-lts-quantal-3.5.0.orig/kernel/rcutree.c +++ linux-lts-quantal-3.5.0/kernel/rcutree.c @@ -211,13 +211,13 @@ .dynticks = ATOMIC_INIT(1), }; -static int blimit = 10; /* Maximum callbacks per rcu_do_batch. */ -static int qhimark = 10000; /* If this many pending, ignore blimit. */ -static int qlowmark = 100; /* Once only this many pending, use blimit. */ - -module_param(blimit, int, 0); -module_param(qhimark, int, 0); -module_param(qlowmark, int, 0); +static long blimit = 10; /* Maximum callbacks per rcu_do_batch. */ +static long qhimark = 10000; /* If this many pending, ignore blimit. */ +static long qlowmark = 100; /* Once only this many pending, use blimit. */ + +module_param(blimit, long, 0); +module_param(qhimark, long, 0); +module_param(qlowmark, long, 0); int rcu_cpu_stall_suppress __read_mostly; /* 1 = suppress stall warnings. */ int rcu_cpu_stall_timeout __read_mostly = CONFIG_RCU_CPU_STALL_TIMEOUT; @@ -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); } /* @@ -1531,7 +1533,8 @@ { unsigned long flags; struct rcu_head *next, *list, **tail; - int bl, count, count_lazy, i; + long bl, count, count_lazy; + int i; /* If no callbacks are ready, just return.*/ if (!cpu_has_callbacks_ready_to_invoke(rdp)) { --- linux-lts-quantal-3.5.0.orig/kernel/module.c +++ linux-lts-quantal-3.5.0/kernel/module.c @@ -145,6 +145,7 @@ ongoing or failed initialization etc. */ static inline int strong_try_module_get(struct module *mod) { + BUG_ON(mod && mod->state == MODULE_STATE_UNFORMED); if (mod && mod->state == MODULE_STATE_COMING) return -EBUSY; if (try_module_get(mod)) @@ -300,6 +301,9 @@ #endif }; + if (mod->state == MODULE_STATE_UNFORMED) + continue; + if (each_symbol_in_section(arr, ARRAY_SIZE(arr), mod, fn, data)) return true; } @@ -410,16 +414,24 @@ EXPORT_SYMBOL_GPL(find_symbol); /* Search for module by name: must hold module_mutex. */ -struct module *find_module(const char *name) +static struct module *find_module_all(const char *name, + bool even_unformed) { struct module *mod; list_for_each_entry(mod, &modules, list) { + if (!even_unformed && mod->state == MODULE_STATE_UNFORMED) + continue; if (strcmp(mod->name, name) == 0) return mod; } return NULL; } + +struct module *find_module(const char *name) +{ + return find_module_all(name, false); +} EXPORT_SYMBOL_GPL(find_module); #ifdef CONFIG_SMP @@ -485,6 +497,8 @@ preempt_disable(); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (!mod->percpu_size) continue; for_each_possible_cpu(cpu) { @@ -1008,6 +1022,8 @@ case MODULE_STATE_GOING: state = "going"; break; + default: + BUG(); } return sprintf(buffer, "%s\n", state); } @@ -1746,6 +1762,8 @@ mutex_lock(&module_mutex); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if ((mod->module_core) && (mod->core_text_size)) { set_page_attributes(mod->module_core, mod->module_core + mod->core_text_size, @@ -1767,6 +1785,8 @@ mutex_lock(&module_mutex); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if ((mod->module_core) && (mod->core_text_size)) { set_page_attributes(mod->module_core, mod->module_core + mod->core_text_size, @@ -2273,12 +2293,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 +2337,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 +2755,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) @@ -2861,6 +2890,21 @@ return module_finalize(info->hdr, info->sechdrs, mod); } +/* Is this module of this name done loading? No locks held. */ +static bool finished_loading(const char *name) +{ + struct module *mod; + bool ret; + + mutex_lock(&module_mutex); + mod = find_module_all(name, true); + ret = !mod || mod->state == MODULE_STATE_LIVE + || mod->state == MODULE_STATE_GOING; + mutex_unlock(&module_mutex); + + return ret; +} + /* Allocate and load the module: note that size of section 0 is always zero, and we rely on this for optional sections. */ static struct module *load_module(void __user *umod, @@ -2868,7 +2912,7 @@ const char __user *uargs) { struct load_info info = { NULL, }; - struct module *mod; + struct module *mod, *old; long err; pr_debug("load_module: umod=%p, len=%lu, uargs=%p\n", @@ -2886,10 +2930,36 @@ goto free_copy; } + /* + * We try to place it in the list now to make sure it's unique + * before we dedicate too many resources. In particular, + * temporary percpu memory exhaustion. + */ + mod->state = MODULE_STATE_UNFORMED; +again: + mutex_lock(&module_mutex); + if ((old = find_module_all(mod->name, true)) != NULL) { + if (old->state == MODULE_STATE_COMING + || old->state == MODULE_STATE_UNFORMED) { + /* Wait in case it fails to load. */ + mutex_unlock(&module_mutex); + err = wait_event_interruptible(module_wq, + finished_loading(mod->name)); + if (err) + goto free_module; + goto again; + } + err = -EEXIST; + mutex_unlock(&module_mutex); + goto free_module; + } + list_add_rcu(&mod->list, &modules); + mutex_unlock(&module_mutex); + /* Now module is in final location, initialize linked lists, etc. */ err = module_unload_init(mod); if (err) - goto free_module; + goto unlink_mod; /* Now we've got everything in the final locations, we can * find optional sections. */ @@ -2924,44 +2994,33 @@ goto free_arch_cleanup; } - /* Mark state as coming so strong_try_module_get() ignores us. */ - mod->state = MODULE_STATE_COMING; - - /* Now sew it into the lists so we can get lockdep and oops - * info during argument parsing. No one should access us, since - * strong_try_module_get() will fail. - * lockdep/oops can run asynchronous, so use the RCU list insertion - * function to insert in a way safe to concurrent readers. - * The mutex protects against concurrent writers. - */ - mutex_lock(&module_mutex); - if (find_module(mod->name)) { - err = -EEXIST; - goto unlock; - } - - /* This has to be done once we're sure module name is unique. */ dynamic_debug_setup(info.debug, info.num_debug); - /* Find duplicate symbols */ + mutex_lock(&module_mutex); + /* Find duplicate symbols (must be called under lock). */ err = verify_export_symbols(mod); if (err < 0) - goto ddebug; + goto ddebug_cleanup; + /* This relies on module_mutex for list integrity. */ module_bug_finalize(info.hdr, info.sechdrs, mod); - list_add_rcu(&mod->list, &modules); + + /* Mark state as coming so strong_try_module_get() ignores us, + * but kallsyms etc. can see us. */ + mod->state = MODULE_STATE_COMING; + mutex_unlock(&module_mutex); /* Module is ready to execute: parsing args may do that. */ err = parse_args(mod->name, mod->args, mod->kp, mod->num_kp, -32768, 32767, &ddebug_dyndbg_module_param_cb); if (err < 0) - goto unlink; + goto bug_cleanup; /* Link in to syfs. */ err = mod_sysfs_setup(mod, &info, mod->kp, mod->num_kp); if (err < 0) - goto unlink; + goto bug_cleanup; /* Get rid of temporary copy. */ free_copy(&info); @@ -2970,16 +3029,13 @@ trace_module_load(mod); return mod; - unlink: + bug_cleanup: + /* module_bug_cleanup needs module_mutex protection */ mutex_lock(&module_mutex); - /* Unlink carefully: kallsyms could be walking list. */ - list_del_rcu(&mod->list); module_bug_cleanup(mod); - - ddebug: - dynamic_debug_remove(info.debug); - unlock: + ddebug_cleanup: mutex_unlock(&module_mutex); + dynamic_debug_remove(info.debug); synchronize_sched(); kfree(mod->args); free_arch_cleanup: @@ -2988,6 +3044,12 @@ free_modinfo(mod); free_unload: module_unload_free(mod); + unlink_mod: + mutex_lock(&module_mutex); + /* Unlink carefully: kallsyms could be walking list. */ + list_del_rcu(&mod->list); + wake_up_all(&module_wq); + mutex_unlock(&module_mutex); free_module: module_deallocate(mod, &info); free_copy: @@ -3050,7 +3112,7 @@ blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_GOING, mod); free_module(mod); - wake_up(&module_wq); + wake_up_all(&module_wq); return ret; } if (ret > 0) { @@ -3062,9 +3124,8 @@ dump_stack(); } - /* Now it's a first class citizen! Wake up anyone waiting for it. */ + /* Now it's a first class citizen! */ mod->state = MODULE_STATE_LIVE; - wake_up(&module_wq); blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_LIVE, mod); @@ -3087,6 +3148,7 @@ mod->init_ro_size = 0; mod->init_text_size = 0; mutex_unlock(&module_mutex); + wake_up_all(&module_wq); return 0; } @@ -3164,6 +3226,8 @@ preempt_disable(); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (within_module_init(addr, mod) || within_module_core(addr, mod)) { if (modname) @@ -3187,6 +3251,8 @@ preempt_disable(); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (within_module_init(addr, mod) || within_module_core(addr, mod)) { const char *sym; @@ -3211,6 +3277,8 @@ preempt_disable(); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (within_module_init(addr, mod) || within_module_core(addr, mod)) { const char *sym; @@ -3238,6 +3306,8 @@ preempt_disable(); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (symnum < mod->num_symtab) { *value = mod->symtab[symnum].st_value; *type = mod->symtab[symnum].st_info; @@ -3280,9 +3350,12 @@ ret = mod_find_symname(mod, colon+1); *colon = ':'; } else { - list_for_each_entry_rcu(mod, &modules, list) + list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if ((ret = mod_find_symname(mod, name)) != 0) break; + } } preempt_enable(); return ret; @@ -3297,6 +3370,8 @@ int ret; list_for_each_entry(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; for (i = 0; i < mod->num_symtab; i++) { ret = fn(data, mod->strtab + mod->symtab[i].st_name, mod, mod->symtab[i].st_value); @@ -3312,6 +3387,7 @@ { int bx = 0; + BUG_ON(mod->state == MODULE_STATE_UNFORMED); if (mod->taints || mod->state == MODULE_STATE_GOING || mod->state == MODULE_STATE_COMING) { @@ -3353,6 +3429,10 @@ struct module *mod = list_entry(p, struct module, list); char buf[8]; + /* We always ignore unformed modules. */ + if (mod->state == MODULE_STATE_UNFORMED) + return 0; + seq_printf(m, "%s %u", mod->name, mod->init_size + mod->core_size); print_unload_info(m, mod); @@ -3413,6 +3493,8 @@ preempt_disable(); list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (mod->num_exentries == 0) continue; @@ -3461,10 +3543,13 @@ if (addr < module_addr_min || addr > module_addr_max) return NULL; - list_for_each_entry_rcu(mod, &modules, list) + list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; if (within_module_core(addr, mod) || within_module_init(addr, mod)) return mod; + } return NULL; } EXPORT_SYMBOL_GPL(__module_address); @@ -3517,8 +3602,11 @@ printk(KERN_DEFAULT "Modules linked in:"); /* Most callers should already have preempt disabled, but make sure */ preempt_disable(); - list_for_each_entry_rcu(mod, &modules, list) + list_for_each_entry_rcu(mod, &modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; printk(" %s%s", mod->name, module_flags(mod, buf)); + } preempt_enable(); if (last_unloaded_module[0]) printk(" [last unloaded: %s]", last_unloaded_module); --- linux-lts-quantal-3.5.0.orig/kernel/audit_watch.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/signal.c +++ linux-lts-quantal-3.5.0/kernel/signal.c @@ -483,6 +483,9 @@ if (force_default || ka->sa.sa_handler != SIG_IGN) ka->sa.sa_handler = SIG_DFL; ka->sa.sa_flags = 0; +#ifdef __ARCH_HAS_SA_RESTORER + ka->sa.sa_restorer = NULL; +#endif sigemptyset(&ka->sa.sa_mask); ka++; } @@ -678,23 +681,17 @@ * No need to set need_resched since signal event passing * goes through ->blocked */ -void signal_wake_up(struct task_struct *t, int resume) +void signal_wake_up_state(struct task_struct *t, unsigned int state) { - unsigned int mask; - set_tsk_thread_flag(t, TIF_SIGPENDING); - /* - * For SIGKILL, we want to wake it up in the stopped/traced/killable + * TASK_WAKEKILL also means wake it up in the stopped/traced/killable * case. We don't check t->state here because there is a race with it * executing another processor and just now entering stopped state. * By using wake_up_state, we ensure the process will wake up and * handle its death signal. */ - mask = TASK_INTERRUPTIBLE; - if (resume) - mask |= TASK_WAKEKILL; - if (!wake_up_state(t, mask)) + if (!wake_up_state(t, state | TASK_INTERRUPTIBLE)) kick_process(t); } @@ -842,7 +839,7 @@ assert_spin_locked(&t->sighand->siglock); task_set_jobctl_pending(t, JOBCTL_TRAP_NOTIFY); - signal_wake_up(t, t->jobctl & JOBCTL_LISTENING); + ptrace_signal_wake_up(t, t->jobctl & JOBCTL_LISTENING); } /* @@ -1797,6 +1794,10 @@ * If SIGKILL was already sent before the caller unlocked * ->siglock we must see ->core_state != NULL. Otherwise it * is safe to enter schedule(). + * + * This is almost outdated, a task with the pending SIGKILL can't + * block in TASK_TRACED. But PTRACE_EVENT_EXIT can be reported + * after SIGKILL was already dequeued. */ if (unlikely(current->mm->core_state) && unlikely(current->mm == current->parent->mm)) @@ -1922,6 +1923,7 @@ if (gstop_done) do_notify_parent_cldstop(current, false, why); + /* tasklist protects us from ptrace_freeze_traced() */ __set_current_state(TASK_RUNNING); if (clear_code) current->exit_code = 0; @@ -2883,7 +2885,7 @@ static int do_tkill(pid_t tgid, pid_t pid, int sig) { - struct siginfo info; + struct siginfo info = {}; info.si_signo = sig; info.si_errno = 0; @@ -3215,6 +3217,7 @@ int old = current->blocked.sig[0]; sigset_t newset; + siginitset(&newset, newmask); set_current_blocked(&newset); return old; --- linux-lts-quantal-3.5.0.orig/kernel/futex_compat.c +++ linux-lts-quantal-3.5.0/kernel/futex_compat.c @@ -142,8 +142,6 @@ if (!futex_cmpxchg_enabled) return -ENOSYS; - WARN_ONCE(1, "deprecated: get_robust_list will be deleted in 2013.\n"); - rcu_read_lock(); ret = -ESRCH; --- linux-lts-quantal-3.5.0.orig/kernel/cpuset.c +++ linux-lts-quantal-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. * @@ -2465,8 +2468,16 @@ dentry = task_cs(tsk)->css.cgroup->dentry; spin_lock(&cpuset_buffer_lock); - snprintf(cpuset_name, CPUSET_NAME_LEN, - dentry ? (const char *)dentry->d_name.name : "/"); + + if (!dentry) { + strcpy(cpuset_name, "/"); + } else { + spin_lock(&dentry->d_lock); + strlcpy(cpuset_name, (const char *)dentry->d_name.name, + CPUSET_NAME_LEN); + spin_unlock(&dentry->d_lock); + } + nodelist_scnprintf(cpuset_nodelist, CPUSET_NODELIST_LEN, tsk->mems_allowed); printk(KERN_INFO "%s cpuset=%s mems_allowed=%s\n", --- linux-lts-quantal-3.5.0.orig/kernel/resource.c +++ linux-lts-quantal-3.5.0/kernel/resource.c @@ -758,6 +758,7 @@ struct resource *parent = root; struct resource *conflict; struct resource *res = kzalloc(sizeof(*res), GFP_ATOMIC); + struct resource *next_res = NULL; if (!res) return; @@ -767,21 +768,46 @@ res->end = end; res->flags = IORESOURCE_BUSY; - conflict = __request_resource(parent, res); - if (!conflict) - return; - - /* failed, split and try again */ - kfree(res); + while (1) { - /* conflict covered whole area */ - if (conflict->start <= start && conflict->end >= end) - return; + conflict = __request_resource(parent, res); + if (!conflict) { + if (!next_res) + break; + res = next_res; + next_res = NULL; + continue; + } + + /* conflict covered whole area */ + if (conflict->start <= res->start && + conflict->end >= res->end) { + kfree(res); + WARN_ON(next_res); + break; + } + + /* failed, split and try again */ + if (conflict->start > res->start) { + end = res->end; + res->end = conflict->start - 1; + if (conflict->end < end) { + next_res = kzalloc(sizeof(*next_res), + GFP_ATOMIC); + if (!next_res) { + kfree(res); + break; + } + next_res->name = name; + next_res->start = conflict->end + 1; + next_res->end = end; + next_res->flags = IORESOURCE_BUSY; + } + } else { + res->start = conflict->end + 1; + } + } - if (conflict->start > start) - __reserve_region_with_split(root, start, conflict->start-1, name); - if (conflict->end < end) - __reserve_region_with_split(root, conflict->end+1, end, name); } void __init reserve_region_with_split(struct resource *root, --- linux-lts-quantal-3.5.0.orig/kernel/exit.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/kthread.c +++ linux-lts-quantal-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; - - atomic_inc(&work->flushing); + 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; + +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-lts-quantal-3.5.0.orig/kernel/timer.c +++ linux-lts-quantal-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]; @@ -144,9 +145,11 @@ /* now that we have rounded, subtract the extra skew again */ j -= cpu * 3; - if (j <= jiffies) /* rounding ate our timeout entirely; */ - return original; - return j; + /* + * Make sure j is still in the future. Otherwise return the + * unmodified value. + */ + return time_is_after_jiffies(j) ? j : original; } /** @@ -356,11 +359,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; @@ -1686,12 +1690,12 @@ boot_done = 1; base = &boot_tvec_bases; } + spin_lock_init(&base->lock); tvec_base_done[cpu] = 1; } else { base = per_cpu(tvec_bases, cpu); } - spin_lock_init(&base->lock); for (j = 0; j < TVN_SIZE; j++) { INIT_LIST_HEAD(base->tv5.vec + j); --- linux-lts-quantal-3.5.0.orig/kernel/kexec.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/async.c +++ linux-lts-quantal-3.5.0/kernel/async.c @@ -84,19 +84,35 @@ */ static async_cookie_t __lowest_in_progress(struct list_head *running) { + async_cookie_t first_running = next_cookie; /* infinity value */ + async_cookie_t first_pending = next_cookie; /* ditto */ 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; + } + + /* + * Both running and pending lists are sorted but not disjoint. + * Take the first cookies from both and return the min. + */ if (!list_empty(running)) { entry = list_first_entry(running, struct async_entry, list); - return entry->cookie; + first_running = entry->cookie; } - list_for_each_entry(entry, &async_pending, list) - if (entry->running == running) - return entry->cookie; + list_for_each_entry(entry, &async_pending, list) { + if (entry->running == running) { + first_pending = entry->cookie; + break; + } + } - return next_cookie; /* "infinity" value */ + return min(first_running, first_pending); } static async_cookie_t lowest_in_progress(struct list_head *running) @@ -117,12 +133,16 @@ { struct async_entry *entry = container_of(work, struct async_entry, work); + struct async_entry *pos; unsigned long flags; ktime_t uninitialized_var(calltime), delta, rettime; - /* 1) move self to the running queue */ + /* 1) move self to the running queue, make sure it stays sorted */ spin_lock_irqsave(&async_lock, flags); - list_move_tail(&entry->list, entry->running); + list_for_each_entry_reverse(pos, entry->running, list) + if (entry->cookie < pos->cookie) + break; + list_move_tail(&entry->list, &pos->list); spin_unlock_irqrestore(&async_lock, flags); /* 2) run (and print duration) */ @@ -236,9 +256,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 +276,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-lts-quantal-3.5.0.orig/kernel/ptrace.c +++ linux-lts-quantal-3.5.0/kernel/ptrace.c @@ -117,11 +117,45 @@ * TASK_KILLABLE sleeps. */ if (child->jobctl & JOBCTL_STOP_PENDING || task_is_traced(child)) - signal_wake_up(child, task_is_traced(child)); + ptrace_signal_wake_up(child, true); spin_unlock(&child->sighand->siglock); } +/* Ensure that nothing can wake it up, even SIGKILL */ +static bool ptrace_freeze_traced(struct task_struct *task) +{ + bool ret = false; + + /* Lockless, nobody but us can set this flag */ + if (task->jobctl & JOBCTL_LISTENING) + return ret; + + spin_lock_irq(&task->sighand->siglock); + if (task_is_traced(task) && !__fatal_signal_pending(task)) { + task->state = __TASK_TRACED; + ret = true; + } + spin_unlock_irq(&task->sighand->siglock); + + return ret; +} + +static void ptrace_unfreeze_traced(struct task_struct *task) +{ + if (task->state != __TASK_TRACED) + return; + + WARN_ON(!task->ptrace || task->parent != current); + + spin_lock_irq(&task->sighand->siglock); + if (__fatal_signal_pending(task)) + wake_up_state(task, __TASK_TRACED); + else + task->state = TASK_TRACED; + spin_unlock_irq(&task->sighand->siglock); +} + /** * ptrace_check_attach - check whether ptracee is ready for ptrace operation * @child: ptracee to check for @@ -151,24 +185,29 @@ * be changed by us so it's not changing right after this. */ read_lock(&tasklist_lock); - if ((child->ptrace & PT_PTRACED) && child->parent == current) { + if (child->ptrace && child->parent == current) { + WARN_ON(child->state == __TASK_TRACED); /* * child->sighand can't be NULL, release_task() * does ptrace_unlink() before __exit_signal(). */ - spin_lock_irq(&child->sighand->siglock); - WARN_ON_ONCE(task_is_stopped(child)); - if (ignore_state || (task_is_traced(child) && - !(child->jobctl & JOBCTL_LISTENING))) + if (ignore_state || ptrace_freeze_traced(child)) ret = 0; - spin_unlock_irq(&child->sighand->siglock); } read_unlock(&tasklist_lock); - if (!ret && !ignore_state) - ret = wait_task_inactive(child, TASK_TRACED) ? 0 : -ESRCH; + if (!ret && !ignore_state) { + if (!wait_task_inactive(child, __TASK_TRACED)) { + /* + * This can only happen if may_ptrace_stop() fails and + * ptrace_stop() changes ->state back to TASK_RUNNING, + * so we should not worry about leaking __TASK_TRACED. + */ + WARN_ON(child->state == __TASK_TRACED); + ret = -ESRCH; + } + } - /* All systems go.. */ return ret; } @@ -310,7 +349,7 @@ */ if (task_is_stopped(task) && task_set_jobctl_pending(task, JOBCTL_TRAP_STOP | JOBCTL_TRAPPING)) - signal_wake_up(task, 1); + signal_wake_up_state(task, __TASK_STOPPED); spin_unlock(&task->sighand->siglock); @@ -727,7 +766,7 @@ * tracee into STOP. */ if (likely(task_set_jobctl_pending(child, JOBCTL_TRAP_STOP))) - signal_wake_up(child, child->jobctl & JOBCTL_LISTENING); + ptrace_signal_wake_up(child, child->jobctl & JOBCTL_LISTENING); unlock_task_sighand(child, &flags); ret = 0; @@ -753,7 +792,7 @@ * start of this trap and now. Trigger re-trap. */ if (child->jobctl & JOBCTL_TRAP_NOTIFY) - signal_wake_up(child, true); + ptrace_signal_wake_up(child, true); ret = 0; } unlock_task_sighand(child, &flags); @@ -890,6 +929,8 @@ goto out_put_task_struct; ret = arch_ptrace(child, request, addr, data); + if (ret || request != PTRACE_DETACH) + ptrace_unfreeze_traced(child); out_put_task_struct: put_task_struct(child); @@ -1029,8 +1070,11 @@ ret = ptrace_check_attach(child, request == PTRACE_KILL || request == PTRACE_INTERRUPT); - if (!ret) + if (!ret) { ret = compat_arch_ptrace(child, request, addr, data); + if (ret || request != PTRACE_DETACH) + ptrace_unfreeze_traced(child); + } out_put_task_struct: put_task_struct(child); --- linux-lts-quantal-3.5.0.orig/kernel/audit_tree.c +++ linux-lts-quantal-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; } @@ -347,6 +346,7 @@ insert_hash(chunk); spin_unlock(&hash_lock); spin_unlock(&entry->lock); + fsnotify_put_mark(entry); /* drop initial reference */ return 0; } @@ -396,7 +396,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 +412,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 +443,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; } @@ -609,9 +609,9 @@ } spin_unlock(&hash_lock); trim_marked(tree); - put_tree(tree); drop_collected_mounts(root_mnt); skip_it: + put_tree(tree); mutex_lock(&audit_filter_mutex); } list_del(&cursor); @@ -916,7 +916,12 @@ struct audit_chunk *chunk = container_of(entry, struct audit_chunk, mark); evict_chunk(chunk); - fsnotify_put_mark(entry); + + /* + * We are guaranteed to have at least one reference to the mark from + * either the inode or the caller of fsnotify_destroy_mark(). + */ + BUG_ON(atomic_read(&entry->refcnt) < 1); } static bool audit_tree_send_event(struct fsnotify_group *group, struct inode *inode, --- linux-lts-quantal-3.5.0.orig/kernel/timeconst.pl +++ linux-lts-quantal-3.5.0/kernel/timeconst.pl @@ -369,10 +369,8 @@ die "Usage: $0 HZ\n"; } - @val = @{$canned_values{$hz}}; - if (!defined(@val)) { - @val = compute_values($hz); - } + $cv = $canned_values{$hz}; + @val = defined($cv) ? @$cv : compute_values($hz); output($hz, @val); } exit 0; --- linux-lts-quantal-3.5.0.orig/kernel/cgroup_freezer.c +++ linux-lts-quantal-3.5.0/kernel/cgroup_freezer.c @@ -186,23 +186,15 @@ { struct freezer *freezer; - /* - * No lock is needed, since the task isn't on tasklist yet, - * so it can't be moved to another cgroup, which means the - * freezer won't be removed and will be valid during this - * function call. Nevertheless, apply RCU read-side critical - * section to suppress RCU lockdep false positives. - */ rcu_read_lock(); freezer = task_freezer(task); - rcu_read_unlock(); /* * The root cgroup is non-freezable, so we can skip the * following check. */ if (!freezer->css.cgroup->parent) - return; + goto out; spin_lock_irq(&freezer->lock); BUG_ON(freezer->state == CGROUP_FROZEN); @@ -210,7 +202,10 @@ /* Locking avoids race with FREEZING -> THAWED transitions. */ if (freezer->state == CGROUP_FREEZING) freeze_task(task); + spin_unlock_irq(&freezer->lock); +out: + rcu_read_unlock(); } /* --- linux-lts-quantal-3.5.0.orig/kernel/futex.c +++ linux-lts-quantal-3.5.0/kernel/futex.c @@ -60,6 +60,7 @@ #include #include #include +#include #include @@ -363,7 +364,7 @@ } else { key->both.offset |= FUT_OFF_INODE; /* inode-based key */ key->shared.inode = page_head->mapping->host; - key->shared.pgoff = page_head->index; + key->shared.pgoff = basepage_index(page); } get_futex_key_refs(key); @@ -716,7 +717,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 +756,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 +774,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 +789,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 +844,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 +1082,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 +1098,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 +1110,7 @@ ret += op_ret; } +out_unlock: double_unlock_hb(hb1, hb2); out_put_keys: put_futex_key(&key2); @@ -1384,9 +1400,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 +2251,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 +2292,9 @@ struct futex_q q = futex_q_init; int res, ret; + if (uaddr == uaddr2) + return -EINVAL; + if (!bitset) return -EINVAL; @@ -2343,7 +2366,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 +2393,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) { /* @@ -2449,8 +2472,6 @@ if (!futex_cmpxchg_enabled) return -ENOSYS; - WARN_ONCE(1, "deprecated: get_robust_list will be deleted in 2013.\n"); - rcu_read_lock(); ret = -ESRCH; --- linux-lts-quantal-3.5.0.orig/kernel/cpu.c +++ linux-lts-quantal-3.5.0/kernel/cpu.c @@ -129,6 +129,27 @@ mutex_unlock(&cpu_hotplug.lock); } +/* + * Wait for currently running CPU hotplug operations to complete (if any) and + * disable future CPU hotplug (from sysfs). The 'cpu_add_remove_lock' protects + * the 'cpu_hotplug_disabled' flag. The same lock is also acquired by the + * hotplug path before performing hotplug operations. So acquiring that lock + * guarantees mutual exclusion from any currently running hotplug operations. + */ +void cpu_hotplug_disable(void) +{ + cpu_maps_update_begin(); + cpu_hotplug_disabled = 1; + cpu_maps_update_done(); +} + +void cpu_hotplug_enable(void) +{ + cpu_maps_update_begin(); + cpu_hotplug_disabled = 0; + cpu_maps_update_done(); +} + #else /* #if CONFIG_HOTPLUG_CPU */ static void cpu_hotplug_begin(void) {} static void cpu_hotplug_done(void) {} @@ -534,36 +555,6 @@ core_initcall(alloc_frozen_cpus); /* - * Prevent regular CPU hotplug from racing with the freezer, by disabling CPU - * hotplug when tasks are about to be frozen. Also, don't allow the freezer - * to continue until any currently running CPU hotplug operation gets - * completed. - * To modify the 'cpu_hotplug_disabled' flag, we need to acquire the - * 'cpu_add_remove_lock'. And this same lock is also taken by the regular - * CPU hotplug path and released only after it is complete. Thus, we - * (and hence the freezer) will block here until any currently running CPU - * hotplug operation gets completed. - */ -void cpu_hotplug_disable_before_freeze(void) -{ - cpu_maps_update_begin(); - cpu_hotplug_disabled = 1; - cpu_maps_update_done(); -} - - -/* - * When tasks have been thawed, re-enable regular CPU hotplug (which had been - * disabled while beginning to freeze tasks). - */ -void cpu_hotplug_enable_after_thaw(void) -{ - cpu_maps_update_begin(); - cpu_hotplug_disabled = 0; - cpu_maps_update_done(); -} - -/* * When callbacks for CPU hotplug notifications are being executed, we must * ensure that the state of the system with respect to the tasks being frozen * or not, as reported by the notification, remains unchanged *throughout the @@ -582,12 +573,12 @@ case PM_SUSPEND_PREPARE: case PM_HIBERNATION_PREPARE: - cpu_hotplug_disable_before_freeze(); + cpu_hotplug_disable(); break; case PM_POST_SUSPEND: case PM_POST_HIBERNATION: - cpu_hotplug_enable_after_thaw(); + cpu_hotplug_enable(); break; default: --- linux-lts-quantal-3.5.0.orig/kernel/auditsc.c +++ linux-lts-quantal-3.5.0/kernel/auditsc.c @@ -2670,7 +2670,7 @@ context->type = AUDIT_MMAP; } -static void audit_log_abend(struct audit_buffer *ab, char *reason, long signr) +static void audit_log_task(struct audit_buffer *ab) { uid_t auid, uid; gid_t gid; @@ -2685,6 +2685,11 @@ audit_log_task_context(ab); audit_log_format(ab, " pid=%d comm=", current->pid); audit_log_untrustedstring(ab, current->comm); +} + +static void audit_log_abend(struct audit_buffer *ab, char *reason, long signr) +{ + audit_log_task(ab); audit_log_format(ab, " reason="); audit_log_string(ab, reason); audit_log_format(ab, " sig=%ld", signr); @@ -2715,8 +2720,11 @@ { struct audit_buffer *ab; - ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_ANOM_ABEND); - audit_log_abend(ab, "seccomp", signr); + ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_SECCOMP); + if (unlikely(!ab)) + return; + audit_log_task(ab); + audit_log_format(ab, " sig=%ld", signr); audit_log_format(ab, " syscall=%ld", syscall); audit_log_format(ab, " compat=%d", is_compat_task()); audit_log_format(ab, " ip=0x%lx", KSTK_EIP(current)); --- linux-lts-quantal-3.5.0.orig/kernel/params.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/audit.c +++ linux-lts-quantal-3.5.0/kernel/audit.c @@ -1167,7 +1167,7 @@ /* Wait for auditd to drain the queue a little */ DECLARE_WAITQUEUE(wait, current); - set_current_state(TASK_INTERRUPTIBLE); + set_current_state(TASK_UNINTERRUPTIBLE); add_wait_queue(&audit_backlog_wait, &wait); if (audit_backlog_limit && --- linux-lts-quantal-3.5.0.orig/kernel/hrtimer.c +++ linux-lts-quantal-3.5.0/kernel/hrtimer.c @@ -61,6 +61,7 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases) = { + .lock = __RAW_SPIN_LOCK_UNLOCKED(hrtimer_bases.lock), .clock_base = { { @@ -297,6 +298,10 @@ } else { unsigned long rem = do_div(nsec, NSEC_PER_SEC); + /* Make sure nsec fits into long */ + if (unlikely(nsec > KTIME_SEC_MAX)) + return (ktime_t){ .tv64 = KTIME_MAX }; + tmp = ktime_set((long)nsec, rem); } @@ -640,21 +645,9 @@ * and expiry check is done in the hrtimer_interrupt or in the softirq. */ static inline int hrtimer_enqueue_reprogram(struct hrtimer *timer, - struct hrtimer_clock_base *base, - int wakeup) + struct hrtimer_clock_base *base) { - if (base->cpu_base->hres_active && hrtimer_reprogram(timer, base)) { - if (wakeup) { - raw_spin_unlock(&base->cpu_base->lock); - raise_softirq_irqoff(HRTIMER_SOFTIRQ); - raw_spin_lock(&base->cpu_base->lock); - } else - __raise_softirq_irqoff(HRTIMER_SOFTIRQ); - - return 1; - } - - return 0; + return base->cpu_base->hres_active && hrtimer_reprogram(timer, base); } static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base) @@ -714,17 +707,20 @@ return 1; } +static void clock_was_set_work(struct work_struct *work) +{ + clock_was_set(); +} + +static DECLARE_WORK(hrtimer_work, clock_was_set_work); + /* - * Called from timekeeping code to reprogramm the hrtimer interrupt - * device. If called from the timer interrupt context we defer it to - * softirq context. + * Called from timekeeping and resume code to reprogramm the hrtimer + * interrupt device on all cpus. */ void clock_was_set_delayed(void) { - struct hrtimer_cpu_base *cpu_base = &__get_cpu_var(hrtimer_bases); - - cpu_base->clock_was_set = 1; - __raise_softirq_irqoff(HRTIMER_SOFTIRQ); + schedule_work(&hrtimer_work); } #else @@ -735,8 +731,7 @@ static inline void hrtimer_force_reprogram(struct hrtimer_cpu_base *base, int skip_equal) { } static inline int hrtimer_enqueue_reprogram(struct hrtimer *timer, - struct hrtimer_clock_base *base, - int wakeup) + struct hrtimer_clock_base *base) { return 0; } @@ -774,8 +769,10 @@ WARN_ONCE(!irqs_disabled(), KERN_INFO "hrtimers_resume() called with IRQs enabled!"); + /* Retrigger on the local CPU */ retrigger_next_event(NULL); - timerfd_clock_was_set(); + /* And schedule a retrigger for all others */ + clock_was_set_delayed(); } static inline void timer_stats_hrtimer_set_start_info(struct hrtimer *timer) @@ -995,8 +992,21 @@ * * XXX send_remote_softirq() ? */ - if (leftmost && new_base->cpu_base == &__get_cpu_var(hrtimer_bases)) - hrtimer_enqueue_reprogram(timer, new_base, wakeup); + if (leftmost && new_base->cpu_base == &__get_cpu_var(hrtimer_bases) + && hrtimer_enqueue_reprogram(timer, new_base)) { + if (wakeup) { + /* + * We need to drop cpu_base->lock to avoid a + * lock ordering issue vs. rq->lock. + */ + raw_spin_unlock(&new_base->cpu_base->lock); + raise_softirq_irqoff(HRTIMER_SOFTIRQ); + local_irq_restore(flags); + return ret; + } else { + __raise_softirq_irqoff(HRTIMER_SOFTIRQ); + } + } unlock_hrtimer_base(timer, &flags); @@ -1307,6 +1317,8 @@ expires = ktime_sub(hrtimer_get_expires(timer), base->offset); + if (expires.tv64 < 0) + expires.tv64 = KTIME_MAX; if (expires.tv64 < expires_next.tv64) expires_next = expires; break; @@ -1409,13 +1421,6 @@ static void run_hrtimer_softirq(struct softirq_action *h) { - struct hrtimer_cpu_base *cpu_base = &__get_cpu_var(hrtimer_bases); - - if (cpu_base->clock_was_set) { - cpu_base->clock_was_set = 0; - clock_was_set(); - } - hrtimer_peek_ahead_timers(); } @@ -1640,8 +1645,6 @@ struct hrtimer_cpu_base *cpu_base = &per_cpu(hrtimer_bases, cpu); int i; - raw_spin_lock_init(&cpu_base->lock); - for (i = 0; i < HRTIMER_MAX_CLOCK_BASES; i++) { cpu_base->clock_base[i].cpu_base = cpu_base; timerqueue_init_head(&cpu_base->clock_base[i].active); --- linux-lts-quantal-3.5.0.orig/kernel/fork.c +++ linux-lts-quantal-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); @@ -1160,7 +1160,6 @@ { int retval; struct task_struct *p; - int cgroup_callbacks_done = 0; if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS)) return ERR_PTR(-EINVAL); @@ -1422,12 +1421,6 @@ INIT_LIST_HEAD(&p->thread_group); INIT_HLIST_HEAD(&p->task_works); - /* Now that the task is set up, run cgroup callbacks if - * necessary. We need to run them before the task is visible - * on the tasklist. */ - cgroup_fork_callbacks(p); - cgroup_callbacks_done = 1; - /* Need tasklist lock for parent etc handling! */ write_lock_irq(&tasklist_lock); @@ -1532,7 +1525,7 @@ #endif if (clone_flags & CLONE_THREAD) threadgroup_change_end(current); - cgroup_exit(p, cgroup_callbacks_done); + cgroup_exit(p, 0); delayacct_tsk_free(p); module_put(task_thread_info(p)->exec_domain->module); bad_fork_cleanup_count: --- linux-lts-quantal-3.5.0.orig/kernel/power/hibernate.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/power/wakelock.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/power/suspend.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/power/autosleep.c +++ linux-lts-quantal-3.5.0/kernel/power/autosleep.c @@ -32,7 +32,8 @@ mutex_lock(&autosleep_lock); - if (!pm_save_wakeup_count(initial_count)) { + if (!pm_save_wakeup_count(initial_count) || + system_state != SYSTEM_RUNNING) { mutex_unlock(&autosleep_lock); goto out; } --- linux-lts-quantal-3.5.0.orig/kernel/events/core.c +++ linux-lts-quantal-3.5.0/kernel/events/core.c @@ -193,9 +193,6 @@ static void update_context_time(struct perf_event_context *ctx); static u64 perf_event_time(struct perf_event *event); -static void ring_buffer_attach(struct perf_event *event, - struct ring_buffer *rb); - void __weak perf_event_print_debug(void) { } extern __weak const char *perf_pmu_name(void) @@ -371,6 +368,8 @@ list_for_each_entry_rcu(pmu, &pmus, entry) { cpuctx = this_cpu_ptr(pmu->pmu_cpu_context); + if (cpuctx->unique_pmu != pmu) + continue; /* ensure we process each cpuctx once */ /* * perf_cgroup_events says at least one @@ -394,9 +393,10 @@ if (mode & PERF_CGROUP_SWIN) { WARN_ON_ONCE(cpuctx->cgrp); - /* set cgrp before ctxsw in to - * allow event_filter_match() to not - * have to pass task around + /* + * set cgrp before ctxsw in to allow + * event_filter_match() to not have to pass + * task around */ cpuctx->cgrp = perf_cgroup_from_task(task); cpu_ctx_sched_in(cpuctx, EVENT_ALL, task); @@ -726,8 +726,18 @@ { struct perf_event_context *ctx; - rcu_read_lock(); retry: + /* + * One of the few rules of preemptible RCU is that one cannot do + * rcu_read_unlock() while holding a scheduler (or nested) lock when + * part of the read side critical section was preemptible -- see + * rcu_read_unlock_special(). + * + * Since ctx->lock nests under rq->lock we must ensure the entire read + * side critical section is non-preemptible. + */ + preempt_disable(); + rcu_read_lock(); ctx = rcu_dereference(task->perf_event_ctxp[ctxn]); if (ctx) { /* @@ -743,6 +753,8 @@ raw_spin_lock_irqsave(&ctx->lock, *flags); if (ctx != rcu_dereference(task->perf_event_ctxp[ctxn])) { raw_spin_unlock_irqrestore(&ctx->lock, *flags); + rcu_read_unlock(); + preempt_enable(); goto retry; } @@ -752,6 +764,7 @@ } } rcu_read_unlock(); + preempt_enable(); return ctx; } @@ -905,6 +918,15 @@ } /* + * Initialize event state based on the perf_event_attr::disabled. + */ +static inline void perf_event__state_init(struct perf_event *event) +{ + event->state = event->attr.disabled ? PERF_EVENT_STATE_OFF : + PERF_EVENT_STATE_INACTIVE; +} + +/* * Called at perf_event creation and when events are attached/detached from a * group. */ @@ -1709,7 +1731,16 @@ struct perf_cpu_context *cpuctx = __get_cpu_context(ctx); int err; - if (WARN_ON_ONCE(!ctx->is_active)) + /* + * There's a time window between 'ctx->is_active' check + * in perf_event_enable function and this place having: + * - IRQs on + * - ctx->lock unlocked + * + * where the task could be killed and 'ctx' deactivated + * by perf_event_exit_task. + */ + if (!ctx->is_active) return -EINVAL; raw_spin_lock(&ctx->lock); @@ -2853,6 +2884,7 @@ } static void ring_buffer_put(struct ring_buffer *rb); +static void ring_buffer_detach(struct perf_event *event, struct ring_buffer *rb); static void free_event(struct perf_event *event) { @@ -2877,15 +2909,30 @@ if (has_branch_stack(event)) { static_key_slow_dec_deferred(&perf_sched_events); /* is system-wide event */ - if (!(event->attach_state & PERF_ATTACH_TASK)) + if (!(event->attach_state & PERF_ATTACH_TASK)) { atomic_dec(&per_cpu(perf_branch_stack_events, event->cpu)); + } } } if (event->rb) { - ring_buffer_put(event->rb); - event->rb = NULL; + struct ring_buffer *rb; + + /* + * Can happen when we close an event with re-directed output. + * + * Since we have a 0 refcount, perf_mmap_close() will skip + * over us; possibly making our ring_buffer_put() the last. + */ + mutex_lock(&event->mmap_mutex); + rb = event->rb; + if (rb) { + rcu_assign_pointer(event->rb, NULL); + ring_buffer_detach(event, rb); + ring_buffer_put(rb); /* could be last */ + } + mutex_unlock(&event->mmap_mutex); } if (is_cgroup_event(event)) @@ -2933,12 +2980,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 +3020,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) @@ -3117,30 +3170,13 @@ unsigned int events = POLL_HUP; /* - * Race between perf_event_set_output() and perf_poll(): perf_poll() - * grabs the rb reference but perf_event_set_output() overrides it. - * Here is the timeline for two threads T1, T2: - * t0: T1, rb = rcu_dereference(event->rb) - * t1: T2, old_rb = event->rb - * t2: T2, event->rb = new rb - * t3: T2, ring_buffer_detach(old_rb) - * t4: T1, ring_buffer_attach(rb1) - * t5: T1, poll_wait(event->waitq) - * - * To avoid this problem, we grab mmap_mutex in perf_poll() - * thereby ensuring that the assignment of the new ring buffer - * and the detachment of the old buffer appear atomic to perf_poll() + * Pin the event->rb by taking event->mmap_mutex; otherwise + * perf_event_set_output() can swizzle our rb and make us miss wakeups. */ mutex_lock(&event->mmap_mutex); - - rcu_read_lock(); - rb = rcu_dereference(event->rb); - if (rb) { - ring_buffer_attach(event, rb); + rb = event->rb; + if (rb) events = atomic_xchg(&rb->poll, 0); - } - rcu_read_unlock(); - mutex_unlock(&event->mmap_mutex); poll_wait(file, &event->waitq, wait); @@ -3225,7 +3261,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 +3275,7 @@ return ERR_PTR(-EBADF); } - return file->private_data; + return file; } static int perf_event_set_output(struct perf_event *event, @@ -3271,19 +3307,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; } @@ -3454,16 +3492,12 @@ return; spin_lock_irqsave(&rb->event_lock, flags); - if (!list_empty(&event->rb_entry)) - goto unlock; - - list_add(&event->rb_entry, &rb->event_list); -unlock: + if (list_empty(&event->rb_entry)) + list_add(&event->rb_entry, &rb->event_list); spin_unlock_irqrestore(&rb->event_lock, flags); } -static void ring_buffer_detach(struct perf_event *event, - struct ring_buffer *rb) +static void ring_buffer_detach(struct perf_event *event, struct ring_buffer *rb) { unsigned long flags; @@ -3482,13 +3516,10 @@ rcu_read_lock(); rb = rcu_dereference(event->rb); - if (!rb) - goto unlock; - - list_for_each_entry_rcu(event, &rb->event_list, rb_entry) - wake_up_all(&event->waitq); - -unlock: + if (rb) { + list_for_each_entry_rcu(event, &rb->event_list, rb_entry) + wake_up_all(&event->waitq); + } rcu_read_unlock(); } @@ -3517,18 +3548,10 @@ static void ring_buffer_put(struct ring_buffer *rb) { - struct perf_event *event, *n; - unsigned long flags; - if (!atomic_dec_and_test(&rb->refcount)) return; - spin_lock_irqsave(&rb->event_lock, flags); - list_for_each_entry_safe(event, n, &rb->event_list, rb_entry) { - list_del_init(&event->rb_entry); - wake_up_all(&event->waitq); - } - spin_unlock_irqrestore(&rb->event_lock, flags); + WARN_ON_ONCE(!list_empty(&rb->event_list)); call_rcu(&rb->rcu_head, rb_free_rcu); } @@ -3538,26 +3561,100 @@ struct perf_event *event = vma->vm_file->private_data; atomic_inc(&event->mmap_count); + atomic_inc(&event->rb->mmap_count); } +/* + * A buffer can be mmap()ed multiple times; either directly through the same + * event, or through other events by use of perf_event_set_output(). + * + * In order to undo the VM accounting done by perf_mmap() we need to destroy + * the buffer here, where we still have a VM context. This means we need + * to detach all events redirecting to us. + */ static void perf_mmap_close(struct vm_area_struct *vma) { struct perf_event *event = vma->vm_file->private_data; - if (atomic_dec_and_mutex_lock(&event->mmap_count, &event->mmap_mutex)) { - unsigned long size = perf_data_size(event->rb); - struct user_struct *user = event->mmap_user; - struct ring_buffer *rb = event->rb; - - atomic_long_sub((size >> PAGE_SHIFT) + 1, &user->locked_vm); - vma->vm_mm->pinned_vm -= event->mmap_locked; - rcu_assign_pointer(event->rb, NULL); - ring_buffer_detach(event, rb); + struct ring_buffer *rb = event->rb; + struct user_struct *mmap_user = rb->mmap_user; + int mmap_locked = rb->mmap_locked; + unsigned long size = perf_data_size(rb); + + atomic_dec(&rb->mmap_count); + + if (!atomic_dec_and_mutex_lock(&event->mmap_count, &event->mmap_mutex)) + return; + + /* Detach current event from the buffer. */ + rcu_assign_pointer(event->rb, NULL); + ring_buffer_detach(event, rb); + mutex_unlock(&event->mmap_mutex); + + /* If there's still other mmap()s of this buffer, we're done. */ + if (atomic_read(&rb->mmap_count)) { + ring_buffer_put(rb); /* can't be last */ + return; + } + + /* + * No other mmap()s, detach from all other events that might redirect + * into the now unreachable buffer. Somewhat complicated by the + * fact that rb::event_lock otherwise nests inside mmap_mutex. + */ +again: + rcu_read_lock(); + list_for_each_entry_rcu(event, &rb->event_list, rb_entry) { + if (!atomic_long_inc_not_zero(&event->refcount)) { + /* + * This event is en-route to free_event() which will + * detach it and remove it from the list. + */ + continue; + } + rcu_read_unlock(); + + mutex_lock(&event->mmap_mutex); + /* + * Check we didn't race with perf_event_set_output() which can + * swizzle the rb from under us while we were waiting to + * acquire mmap_mutex. + * + * If we find a different rb; ignore this event, a next + * iteration will no longer find it on the list. We have to + * still restart the iteration to make sure we're not now + * iterating the wrong list. + */ + if (event->rb == rb) { + rcu_assign_pointer(event->rb, NULL); + ring_buffer_detach(event, rb); + ring_buffer_put(rb); /* can't be last, we still have one */ + } mutex_unlock(&event->mmap_mutex); + put_event(event); - ring_buffer_put(rb); - free_uid(user); + /* + * Restart the iteration; either we're on the wrong list or + * destroyed its integrity by doing a deletion. + */ + goto again; } + rcu_read_unlock(); + + /* + * It could be there's still a few 0-ref events on the list; they'll + * get cleaned up by free_event() -- they'll also still have their + * ref on the rb and will free it whenever they are done with it. + * + * Aside from that, this buffer is 'fully' detached and unmapped, + * undo the VM accounting. + */ + + atomic_long_sub((size >> PAGE_SHIFT) + 1, &mmap_user->locked_vm); + vma->vm_mm->pinned_vm -= mmap_locked; + free_uid(mmap_user); + + ring_buffer_put(rb); /* could be last */ } static const struct vm_operations_struct perf_mmap_vmops = { @@ -3607,12 +3704,24 @@ return -EINVAL; WARN_ON_ONCE(event->ctx->parent_ctx); +again: mutex_lock(&event->mmap_mutex); if (event->rb) { - if (event->rb->nr_pages == nr_pages) - atomic_inc(&event->rb->refcount); - else + if (event->rb->nr_pages != nr_pages) { ret = -EINVAL; + goto unlock; + } + + if (!atomic_inc_not_zero(&event->rb->mmap_count)) { + /* + * Raced against perf_mmap_close() through + * perf_event_set_output(). Try again, hope for better + * luck. + */ + mutex_unlock(&event->mmap_mutex); + goto again; + } + goto unlock; } @@ -3653,12 +3762,16 @@ ret = -ENOMEM; goto unlock; } - rcu_assign_pointer(event->rb, rb); + + atomic_set(&rb->mmap_count, 1); + rb->mmap_locked = extra; + rb->mmap_user = get_current_user(); atomic_long_add(user_extra, &user->locked_vm); - event->mmap_locked = extra; - event->mmap_user = get_current_user(); - vma->vm_mm->pinned_vm += event->mmap_locked; + vma->vm_mm->pinned_vm += extra; + + ring_buffer_attach(event, rb); + rcu_assign_pointer(event->rb, rb); perf_event_update_userpage(event); @@ -3667,7 +3780,11 @@ atomic_inc(&event->mmap_count); mutex_unlock(&event->mmap_mutex); - vma->vm_flags |= VM_RESERVED; + /* + * Since pinned accounting is per vm we cannot allow fork() to copy our + * vma. + */ + vma->vm_flags |= VM_DONTCOPY | VM_RESERVED; vma->vm_ops = &perf_mmap_vmops; return ret; @@ -4217,7 +4334,7 @@ rcu_read_lock(); list_for_each_entry_rcu(pmu, &pmus, entry) { cpuctx = get_cpu_ptr(pmu->pmu_cpu_context); - if (cpuctx->active_pmu != pmu) + if (cpuctx->unique_pmu != pmu) goto next; perf_event_task_ctx(&cpuctx->ctx, task_event); @@ -4363,7 +4480,7 @@ rcu_read_lock(); list_for_each_entry_rcu(pmu, &pmus, entry) { cpuctx = get_cpu_ptr(pmu->pmu_cpu_context); - if (cpuctx->active_pmu != pmu) + if (cpuctx->unique_pmu != pmu) goto next; perf_event_comm_ctx(&cpuctx->ctx, comm_event); @@ -4559,7 +4676,7 @@ rcu_read_lock(); list_for_each_entry_rcu(pmu, &pmus, entry) { cpuctx = get_cpu_ptr(pmu->pmu_cpu_context); - if (cpuctx->active_pmu != pmu) + if (cpuctx->unique_pmu != pmu) goto next; perf_event_mmap_ctx(&cpuctx->ctx, mmap_event, vma->vm_flags & VM_EXEC); @@ -5121,7 +5238,7 @@ static int perf_swevent_init(struct perf_event *event) { - int event_id = event->attr.config; + u64 event_id = event->attr.config; if (event->attr.type != PERF_TYPE_SOFTWARE) return -ENOENT; @@ -5634,8 +5751,8 @@ cpuctx = per_cpu_ptr(pmu->pmu_cpu_context, cpu); - if (cpuctx->active_pmu == old_pmu) - cpuctx->active_pmu = pmu; + if (cpuctx->unique_pmu == old_pmu) + cpuctx->unique_pmu = pmu; } } @@ -5755,6 +5872,7 @@ if (pmu->pmu_cpu_context) goto got_cpu_context; + ret = -ENOMEM; pmu->pmu_cpu_context = alloc_percpu(struct perf_cpu_context); if (!pmu->pmu_cpu_context) goto free_dev; @@ -5770,7 +5888,7 @@ cpuctx->ctx.pmu = pmu; cpuctx->jiffies_interval = 1; INIT_LIST_HEAD(&cpuctx->rotation_list); - cpuctx->active_pmu = pmu; + cpuctx->unique_pmu = pmu; } got_cpu_context: @@ -5922,6 +6040,7 @@ mutex_init(&event->mmap_mutex); + atomic_long_set(&event->refcount, 1); event->cpu = cpu; event->attr = *attr; event->group_leader = group_leader; @@ -5954,8 +6073,7 @@ event->overflow_handler = overflow_handler; event->overflow_handler_context = context; - if (attr->disabled) - event->state = PERF_EVENT_STATE_OFF; + perf_event__state_init(event); pmu = NULL; @@ -6154,6 +6272,8 @@ if (atomic_read(&event->mmap_count)) goto unlock; + old_rb = event->rb; + if (output_event) { /* get the rb we want to redirect to */ rb = ring_buffer_get(output_event); @@ -6161,16 +6281,28 @@ goto unlock; } - old_rb = event->rb; - rcu_assign_pointer(event->rb, rb); if (old_rb) ring_buffer_detach(event, old_rb); + + if (rb) + ring_buffer_attach(event, rb); + + rcu_assign_pointer(event->rb, rb); + + if (old_rb) { + ring_buffer_put(old_rb); + /* + * Since we detached before setting the new rb, so that we + * could attach the new rb, we could have missed a wakeup. + * Provide it now. + */ + wake_up_all(&event->waitq); + } + ret = 0; unlock: mutex_unlock(&event->mmap_mutex); - if (old_rb) - ring_buffer_put(old_rb); out: return ret; } @@ -6232,12 +6364,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) @@ -6363,16 +6495,23 @@ mutex_lock(&gctx->mutex); perf_remove_from_context(group_leader); + + /* + * Removing from the context ends up with disabled + * event. What we want here is event in the initial + * startup state, ready to be add into new context. + */ + perf_event__state_init(group_leader); list_for_each_entry(sibling, &group_leader->sibling_list, group_entry) { perf_remove_from_context(sibling); + perf_event__state_init(sibling); put_ctx(gctx); } mutex_unlock(&gctx->mutex); put_ctx(gctx); } - event->filp = event_file; WARN_ON_ONCE(ctx->parent_ctx); mutex_lock(&ctx->mutex); @@ -6462,7 +6601,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 +6649,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 +6725,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 +6794,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 +6874,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 +6921,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); @@ -6842,7 +6977,7 @@ * child. */ - child_ctx = alloc_perf_context(event->pmu, child); + child_ctx = alloc_perf_context(parent_ctx->pmu, child); if (!child_ctx) return -ENOMEM; --- linux-lts-quantal-3.5.0.orig/kernel/events/hw_breakpoint.c +++ linux-lts-quantal-3.5.0/kernel/events/hw_breakpoint.c @@ -147,7 +147,7 @@ return; } - for_each_online_cpu(cpu) { + for_each_possible_cpu(cpu) { unsigned int nr; nr = per_cpu(nr_cpu_bp_pinned[type], cpu); @@ -233,7 +233,7 @@ if (cpu >= 0) { toggle_bp_task_slot(bp, cpu, enable, type, weight); } else { - for_each_online_cpu(cpu) + for_each_possible_cpu(cpu) toggle_bp_task_slot(bp, cpu, enable, type, weight); } --- linux-lts-quantal-3.5.0.orig/kernel/events/internal.h +++ linux-lts-quantal-3.5.0/kernel/events/internal.h @@ -30,6 +30,10 @@ spinlock_t event_lock; struct list_head event_list; + atomic_t mmap_count; + unsigned long mmap_locked; + struct user_struct *mmap_user; + struct perf_event_mmap_page *user_page; void *data_pages[0]; }; --- linux-lts-quantal-3.5.0.orig/kernel/sched/clock.c +++ linux-lts-quantal-3.5.0/kernel/sched/clock.c @@ -176,10 +176,36 @@ u64 this_clock, remote_clock; u64 *ptr, old_val, val; +#if BITS_PER_LONG != 64 +again: + /* + * Careful here: The local and the remote clock values need to + * be read out atomic as we need to compare the values and + * then update either the local or the remote side. So the + * cmpxchg64 below only protects one readout. + * + * We must reread via sched_clock_local() in the retry case on + * 32bit as an NMI could use sched_clock_local() via the + * tracer and hit between the readout of + * the low32bit and the high 32bit portion. + */ + this_clock = sched_clock_local(my_scd); + /* + * We must enforce atomic readout on 32bit, otherwise the + * update on the remote cpu can hit inbetween the readout of + * the low32bit and the high 32bit portion. + */ + remote_clock = cmpxchg64(&scd->clock, 0, 0); +#else + /* + * On 64bit the read of [my]scd->clock is atomic versus the + * update, so we can avoid the above 32bit dance. + */ sched_clock_local(my_scd); again: this_clock = my_scd->clock; remote_clock = scd->clock; +#endif /* * Use the opportunity that we have both locks --- linux-lts-quantal-3.5.0.orig/kernel/sched/core.c +++ linux-lts-quantal-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(). @@ -1651,8 +1651,10 @@ { struct rq *rq = task_rq(p); - BUG_ON(rq != this_rq()); - BUG_ON(p == current); + if (WARN_ON_ONCE(rq != this_rq()) || + WARN_ON_ONCE(p == current)) + return; + lockdep_assert_held(&rq->lock); if (!raw_spin_trylock(&p->pi_lock)) { @@ -1686,7 +1688,8 @@ */ int wake_up_process(struct task_struct *p) { - return try_to_wake_up(p, TASK_ALL, 0); + WARN_ON(task_is_stopped_or_traced(p)); + return try_to_wake_up(p, TASK_NORMAL, 0); } EXPORT_SYMBOL(wake_up_process); @@ -3142,6 +3145,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 +3168,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 +3197,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); @@ -5425,16 +5434,25 @@ *tablep = NULL; } +static int min_load_idx = 0; +static int max_load_idx = CPU_LOAD_IDX_MAX-1; + static void set_table_entry(struct ctl_table *entry, const char *procname, void *data, int maxlen, - umode_t mode, proc_handler *proc_handler) + umode_t mode, proc_handler *proc_handler, + bool load_idx) { entry->procname = procname; entry->data = data; entry->maxlen = maxlen; entry->mode = mode; entry->proc_handler = proc_handler; + + if (load_idx) { + entry->extra1 = &min_load_idx; + entry->extra2 = &max_load_idx; + } } static struct ctl_table * @@ -5446,30 +5464,30 @@ return NULL; set_table_entry(&table[0], "min_interval", &sd->min_interval, - sizeof(long), 0644, proc_doulongvec_minmax); + sizeof(long), 0644, proc_doulongvec_minmax, false); set_table_entry(&table[1], "max_interval", &sd->max_interval, - sizeof(long), 0644, proc_doulongvec_minmax); + sizeof(long), 0644, proc_doulongvec_minmax, false); set_table_entry(&table[2], "busy_idx", &sd->busy_idx, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, true); set_table_entry(&table[3], "idle_idx", &sd->idle_idx, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, true); set_table_entry(&table[4], "newidle_idx", &sd->newidle_idx, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, true); set_table_entry(&table[5], "wake_idx", &sd->wake_idx, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, true); set_table_entry(&table[6], "forkexec_idx", &sd->forkexec_idx, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, true); set_table_entry(&table[7], "busy_factor", &sd->busy_factor, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, false); set_table_entry(&table[8], "imbalance_pct", &sd->imbalance_pct, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, false); set_table_entry(&table[9], "cache_nice_tries", &sd->cache_nice_tries, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, false); set_table_entry(&table[10], "flags", &sd->flags, - sizeof(int), 0644, proc_dointvec_minmax); + sizeof(int), 0644, proc_dointvec_minmax, false); set_table_entry(&table[11], "name", sd->name, - CORENAME_MAX_SIZE, 0444, proc_dostring); + CORENAME_MAX_SIZE, 0444, proc_dostring, false); /* &table[12] is terminator */ return table; @@ -7097,34 +7115,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 +7229,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 +7640,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 +7655,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-lts-quantal-3.5.0.orig/kernel/sched/fair.c +++ linux-lts-quantal-3.5.0/kernel/sched/fair.c @@ -4929,11 +4929,15 @@ cfs_rq = task_cfs_rq(current); curr = cfs_rq->curr; - if (unlikely(task_cpu(p) != this_cpu)) { - rcu_read_lock(); - __set_task_cpu(p, this_cpu); - rcu_read_unlock(); - } + /* + * Not only the cpu but also the task_group of the parent might have + * been changed after parent->se.parent,cfs_rq were copied to + * child->se.parent,cfs_rq. So call __set_task_cpu() to make those + * of child point to valid ones. + */ + rcu_read_lock(); + __set_task_cpu(p, this_cpu); + rcu_read_unlock(); update_curr(cfs_rq); @@ -5250,7 +5254,7 @@ * idle runqueue: */ if (rq->cfs.load.weight) - rr_interval = NS_TO_JIFFIES(sched_slice(&rq->cfs, se)); + rr_interval = NS_TO_JIFFIES(sched_slice(cfs_rq_of(se), se)); return rr_interval; } --- linux-lts-quantal-3.5.0.orig/kernel/sched/stop_task.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/sched/auto_group.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/sched/auto_group.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/sched/rt.c +++ linux-lts-quantal-3.5.0/kernel/sched/rt.c @@ -566,7 +566,7 @@ static int do_balance_runtime(struct rt_rq *rt_rq) { struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); - struct root_domain *rd = cpu_rq(smp_processor_id())->rd; + struct root_domain *rd = rq_of_rt_rq(rt_rq)->rd; int i, weight, more = 0; u64 rt_period; --- linux-lts-quantal-3.5.0.orig/kernel/sched/sched.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/debug/kdb/kdb_main.c +++ linux-lts-quantal-3.5.0/kernel/debug/kdb/kdb_main.c @@ -1982,6 +1982,8 @@ kdb_printf("Module Size modstruct Used by\n"); list_for_each_entry(mod, kdb_modules, list) { + if (mod->state == MODULE_STATE_UNFORMED) + continue; kdb_printf("%-20s%8u 0x%p ", mod->name, mod->core_size, (void *)mod); --- linux-lts-quantal-3.5.0.orig/kernel/debug/kdb/kdb_io.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/trace/trace_sched_wakeup.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_sched_wakeup.c @@ -36,7 +36,7 @@ static int wakeup_graph_entry(struct ftrace_graph_ent *trace); static void wakeup_graph_return(struct ftrace_graph_ret *trace); -static int save_lat_flag; +static int save_flags; #define TRACE_DISPLAY_GRAPH 1 @@ -539,8 +539,11 @@ static int __wakeup_tracer_init(struct trace_array *tr) { - save_lat_flag = trace_flags & TRACE_ITER_LATENCY_FMT; - trace_flags |= TRACE_ITER_LATENCY_FMT; + save_flags = trace_flags; + + /* non overwrite screws up the latency tracers */ + set_tracer_flag(TRACE_ITER_OVERWRITE, 1); + set_tracer_flag(TRACE_ITER_LATENCY_FMT, 1); tracing_max_latency = 0; wakeup_trace = tr; @@ -562,12 +565,15 @@ static void wakeup_tracer_reset(struct trace_array *tr) { + int lat_flag = save_flags & TRACE_ITER_LATENCY_FMT; + int overwrite_flag = save_flags & TRACE_ITER_OVERWRITE; + stop_wakeup_tracer(tr); /* make sure we put back any tasks we are tracing */ wakeup_reset(tr); - if (!save_lat_flag) - trace_flags &= ~TRACE_ITER_LATENCY_FMT; + set_tracer_flag(TRACE_ITER_LATENCY_FMT, lat_flag); + set_tracer_flag(TRACE_ITER_OVERWRITE, overwrite_flag); } static void wakeup_tracer_start(struct trace_array *tr) @@ -593,6 +599,7 @@ .print_line = wakeup_print_line, .flags = &tracer_flags, .set_flag = wakeup_set_flag, + .flag_changed = trace_keep_overwrite, #ifdef CONFIG_FTRACE_SELFTEST .selftest = trace_selftest_startup_wakeup, #endif @@ -614,6 +621,7 @@ .print_line = wakeup_print_line, .flags = &tracer_flags, .set_flag = wakeup_set_flag, + .flag_changed = trace_keep_overwrite, #ifdef CONFIG_FTRACE_SELFTEST .selftest = trace_selftest_startup_wakeup, #endif --- linux-lts-quantal-3.5.0.orig/kernel/trace/Kconfig +++ linux-lts-quantal-3.5.0/kernel/trace/Kconfig @@ -405,24 +405,28 @@ def_bool n config DYNAMIC_FTRACE - bool "enable/disable ftrace tracepoints dynamically" + bool "enable/disable function tracing dynamically" depends on FUNCTION_TRACER depends on HAVE_DYNAMIC_FTRACE default y help - This option will modify all the calls to ftrace dynamically - (will patch them out of the binary image and replace them - with a No-Op instruction) as they are called. A table is - created to dynamically enable them again. + This option will modify all the calls to function tracing + dynamically (will patch them out of the binary image and + replace them with a No-Op instruction) on boot up. During + compile time, a table is made of all the locations that ftrace + can function trace, and this table is linked into the kernel + image. When this is enabled, functions can be individually + enabled, and the functions not enabled will not affect + performance of the system. + + See the files in /sys/kernel/debug/tracing: + available_filter_functions + set_ftrace_filter + set_ftrace_notrace This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but otherwise has native performance as long as no tracing is active. - The changes to the code are done by a kernel thread that - wakes up once a second and checks to see if any ftrace calls - were made. If so, it runs stop_machine (stops all CPUS) - and modifies the code to jump over the call to ftrace. - config FUNCTION_PROFILER bool "Kernel function profiler" depends on FUNCTION_TRACER --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_events_filter.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_events_filter.c @@ -777,7 +777,11 @@ static void __free_preds(struct event_filter *filter) { + int i; + if (filter->preds) { + for (i = 0; i < filter->n_preds; i++) + kfree(filter->preds[i].ops); kfree(filter->preds); filter->preds = NULL; } --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace.c @@ -672,7 +672,15 @@ memcpy(max_data->comm, tsk->comm, TASK_COMM_LEN); max_data->pid = tsk->pid; - max_data->uid = task_uid(tsk); + /* + * If tsk == current, then use current_uid(), as that does not use + * RCU. The irq tracer can be called out of RCU scope. + */ + if (tsk == current) + max_data->uid = current_uid(); + else + max_data->uid = task_uid(tsk); + max_data->nice = tsk->static_prio - 20 - MAX_RT_PRIO; max_data->policy = tsk->policy; max_data->rt_priority = tsk->rt_priority; @@ -693,7 +701,7 @@ void update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu) { - struct ring_buffer *buf = tr->buffer; + struct ring_buffer *buf; if (trace_stop_count) return; @@ -705,6 +713,7 @@ } arch_spin_lock(&ftrace_max_lock); + buf = tr->buffer; tr->buffer = max_tr.buffer; max_tr.buffer = buf; @@ -2761,11 +2770,25 @@ return -EINVAL; } -static void set_tracer_flags(unsigned int mask, int enabled) +/* Some tracers require overwrite to stay enabled */ +int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set) +{ + if (tracer->enabled && (mask & TRACE_ITER_OVERWRITE) && !set) + return -1; + + return 0; +} + +int set_tracer_flag(unsigned int mask, int enabled) { /* do nothing if flag is already set */ if (!!(trace_flags & mask) == !!enabled) - return; + return 0; + + /* Give the tracer a chance to approve the change */ + if (current_trace->flag_changed) + if (current_trace->flag_changed(current_trace, mask, !!enabled)) + return -EINVAL; if (enabled) trace_flags |= mask; @@ -2775,8 +2798,14 @@ if (mask == TRACE_ITER_RECORD_CMD) trace_event_enable_cmd_record(enabled); - if (mask == TRACE_ITER_OVERWRITE) + if (mask == TRACE_ITER_OVERWRITE) { ring_buffer_change_overwrite(global_trace.buffer, enabled); +#ifdef CONFIG_TRACER_MAX_TRACE + ring_buffer_change_overwrite(max_tr.buffer, enabled); +#endif + } + + return 0; } static ssize_t @@ -2786,7 +2815,7 @@ char buf[64]; char *cmp; int neg = 0; - int ret; + int ret = -ENODEV; int i; if (cnt >= sizeof(buf)) @@ -2803,21 +2832,23 @@ cmp += 2; } + mutex_lock(&trace_types_lock); + for (i = 0; trace_options[i]; i++) { if (strcmp(cmp, trace_options[i]) == 0) { - set_tracer_flags(1 << i, !neg); + ret = set_tracer_flag(1 << i, !neg); break; } } /* If no option could be set, test the specific tracer options */ - if (!trace_options[i]) { - mutex_lock(&trace_types_lock); + if (!trace_options[i]) ret = set_tracer_option(current_trace, cmp, neg); - mutex_unlock(&trace_types_lock); - if (ret) - return ret; - } + + mutex_unlock(&trace_types_lock); + + if (ret < 0) + return ret; *ppos += cnt; @@ -3159,6 +3190,9 @@ goto out; trace_branch_disable(); + + current_trace->enabled = false; + if (current_trace && current_trace->reset) current_trace->reset(tr); if (current_trace && current_trace->use_max_tr) { @@ -3195,6 +3229,7 @@ goto out; } + current_trace->enabled = true; trace_branch_enable(tr); out: mutex_unlock(&trace_types_lock); @@ -3491,6 +3526,7 @@ memset(&iter->seq, 0, sizeof(struct trace_iterator) - offsetof(struct trace_iterator, seq)); + cpumask_clear(iter->started); iter->pos = -1; trace_event_read_lock(); @@ -4596,7 +4632,13 @@ if (val != 0 && val != 1) return -EINVAL; - set_tracer_flags(1 << index, val); + + mutex_lock(&trace_types_lock); + ret = set_tracer_flag(1 << index, val); + mutex_unlock(&trace_types_lock); + + if (ret < 0) + return ret; *ppos += cnt; @@ -4799,6 +4841,8 @@ trace_access_lock_init(); d_tracer = tracing_init_dentry(); + if (!d_tracer) + return 0; trace_create_file("tracing_enabled", 0644, d_tracer, &global_trace, &tracing_ctrl_fops); @@ -4935,36 +4979,32 @@ iter->cpu_file = TRACE_PIPE_ALL_CPU; } -static void -__ftrace_dump(bool disable_tracing, enum ftrace_dump_mode oops_dump_mode) +void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { - static arch_spinlock_t ftrace_dump_lock = - (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; /* use static because iter can be a bit big for the stack */ static struct trace_iterator iter; + static atomic_t dump_running; unsigned int old_userobj; - static int dump_ran; unsigned long flags; int cnt = 0, cpu; - /* only one dump */ - local_irq_save(flags); - arch_spin_lock(&ftrace_dump_lock); - if (dump_ran) - goto out; - - dump_ran = 1; + /* Only allow one dump user at a time. */ + if (atomic_inc_return(&dump_running) != 1) { + atomic_dec(&dump_running); + return; + } + /* + * Always turn off tracing when we dump. + * We don't need to show trace output of what happens + * between multiple crashes. + * + * If the user does a sysrq-z, then they can re-enable + * tracing with echo 1 > tracing_on. + */ tracing_off(); - /* Did function tracer already get disabled? */ - if (ftrace_is_dead()) { - printk("# WARNING: FUNCTION TRACING IS CORRUPTED\n"); - printk("# MAY BE MISSING FUNCTION EVENTS\n"); - } - - if (disable_tracing) - ftrace_kill(); + local_irq_save(flags); trace_init_global_iter(&iter); @@ -4997,6 +5037,12 @@ printk(KERN_TRACE "Dumping ftrace buffer:\n"); + /* Did function tracer already get disabled? */ + if (ftrace_is_dead()) { + printk("# WARNING: FUNCTION TRACING IS CORRUPTED\n"); + printk("# MAY BE MISSING FUNCTION EVENTS\n"); + } + /* * We need to stop all tracing on all CPUS to read the * the next buffer. This is a bit expensive, but is @@ -5036,26 +5082,14 @@ printk(KERN_TRACE "---------------------------------\n"); out_enable: - /* Re-enable tracing if requested */ - if (!disable_tracing) { - trace_flags |= old_userobj; + trace_flags |= old_userobj; - for_each_tracing_cpu(cpu) { - atomic_dec(&iter.tr->data[cpu]->disabled); - } - tracing_on(); + for_each_tracing_cpu(cpu) { + atomic_dec(&iter.tr->data[cpu]->disabled); } - - out: - arch_spin_unlock(&ftrace_dump_lock); + atomic_dec(&dump_running); local_irq_restore(flags); } - -/* By default: disable tracing after the dump */ -void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) -{ - __ftrace_dump(true, oops_dump_mode); -} EXPORT_SYMBOL_GPL(ftrace_dump); __init static int tracer_alloc_buffers(void) --- linux-lts-quantal-3.5.0.orig/kernel/trace/ftrace.c +++ linux-lts-quantal-3.5.0/kernel/trace/ftrace.c @@ -624,7 +624,7 @@ pages = DIV_ROUND_UP(functions, PROFILES_PER_PAGE); - for (i = 0; i < pages; i++) { + for (i = 1; i < pages; i++) { pg->next = (void *)get_zeroed_page(GFP_KERNEL); if (!pg->next) goto out_free; @@ -642,7 +642,6 @@ free_page(tmp); } - free_page((unsigned long)stat->pages); stat->pages = NULL; stat->start = NULL; @@ -1000,6 +999,19 @@ static struct pid * const ftrace_swapper_pid = &init_struct_pid; +loff_t +ftrace_filter_lseek(struct file *file, loff_t offset, int whence) +{ + loff_t ret; + + if (file->f_mode & FMODE_READ) + ret = seq_lseek(file, offset, whence); + else + file->f_pos = ret = 1; + + return ret; +} + #ifdef CONFIG_DYNAMIC_FTRACE #ifndef CONFIG_FTRACE_MCOUNT_RECORD @@ -2358,7 +2370,7 @@ { iter->pos = 0; iter->func_pos = 0; - iter->flags &= ~(FTRACE_ITER_PRINTALL & FTRACE_ITER_HASH); + iter->flags &= ~(FTRACE_ITER_PRINTALL | FTRACE_ITER_HASH); } static void *t_start(struct seq_file *m, loff_t *pos) @@ -2510,7 +2522,7 @@ * routine, you can use ftrace_filter_write() for the write * routine if @flag has FTRACE_ITER_FILTER set, or * ftrace_notrace_write() if @flag has FTRACE_ITER_NOTRACE set. - * ftrace_regex_lseek() should be used as the lseek routine, and + * ftrace_filter_lseek() should be used as the lseek routine, and * release must call ftrace_regex_release(). */ int @@ -2594,19 +2606,6 @@ inode, file); } -loff_t -ftrace_regex_lseek(struct file *file, loff_t offset, int origin) -{ - loff_t ret; - - if (file->f_mode & FMODE_READ) - ret = seq_lseek(file, offset, origin); - else - file->f_pos = ret = 1; - - return ret; -} - static int ftrace_match(char *str, char *regex, int len, int type) { int matched = 0; @@ -3002,8 +3001,8 @@ continue; } - hlist_del(&entry->node); - call_rcu(&entry->rcu, ftrace_free_entry_rcu); + hlist_del_rcu(&entry->node); + call_rcu_sched(&entry->rcu, ftrace_free_entry_rcu); } } __disable_ftrace_function_probe(); @@ -3414,7 +3413,7 @@ .open = ftrace_filter_open, .read = seq_read, .write = ftrace_filter_write, - .llseek = ftrace_regex_lseek, + .llseek = ftrace_filter_lseek, .release = ftrace_regex_release, }; @@ -3422,7 +3421,7 @@ .open = ftrace_notrace_open, .read = seq_read, .write = ftrace_notrace_write, - .llseek = ftrace_regex_lseek, + .llseek = ftrace_filter_lseek, .release = ftrace_regex_release, }; @@ -3580,7 +3579,8 @@ if (fail) return -EINVAL; - ftrace_graph_filter_enabled = 1; + ftrace_graph_filter_enabled = !!(*idx); + return 0; } @@ -3627,8 +3627,8 @@ .open = ftrace_graph_open, .read = seq_read, .write = ftrace_graph_write, + .llseek = ftrace_filter_lseek, .release = ftrace_graph_release, - .llseek = seq_lseek, }; #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ @@ -3835,35 +3835,49 @@ ftrace_process_locs(mod, start, end); } -static int ftrace_module_notify(struct notifier_block *self, - unsigned long val, void *data) +static int ftrace_module_notify_enter(struct notifier_block *self, + unsigned long val, void *data) { struct module *mod = data; - switch (val) { - case MODULE_STATE_COMING: + if (val == MODULE_STATE_COMING) ftrace_init_module(mod, mod->ftrace_callsites, mod->ftrace_callsites + mod->num_ftrace_callsites); - break; - case MODULE_STATE_GOING: + return 0; +} + +static int ftrace_module_notify_exit(struct notifier_block *self, + unsigned long val, void *data) +{ + struct module *mod = data; + + if (val == MODULE_STATE_GOING) ftrace_release_mod(mod); - break; - } return 0; } #else -static int ftrace_module_notify(struct notifier_block *self, - unsigned long val, void *data) +static int ftrace_module_notify_enter(struct notifier_block *self, + unsigned long val, void *data) +{ + return 0; +} +static int ftrace_module_notify_exit(struct notifier_block *self, + unsigned long val, void *data) { return 0; } #endif /* CONFIG_MODULES */ -struct notifier_block ftrace_module_nb = { - .notifier_call = ftrace_module_notify, - .priority = 0, +struct notifier_block ftrace_module_enter_nb = { + .notifier_call = ftrace_module_notify_enter, + .priority = INT_MAX, /* Run before anything that can use kprobes */ +}; + +struct notifier_block ftrace_module_exit_nb = { + .notifier_call = ftrace_module_notify_exit, + .priority = INT_MIN, /* Run after anything that can remove kprobes */ }; extern unsigned long __start_mcount_loc[]; @@ -3897,9 +3911,13 @@ __start_mcount_loc, __stop_mcount_loc); - ret = register_module_notifier(&ftrace_module_nb); + ret = register_module_notifier(&ftrace_module_enter_nb); + if (ret) + pr_warning("Failed to register trace ftrace module enter notifier\n"); + + ret = register_module_notifier(&ftrace_module_exit_nb); if (ret) - pr_warning("Failed to register trace ftrace module notifier\n"); + pr_warning("Failed to register trace ftrace module exit notifier\n"); set_ftrace_early_filters(); @@ -4237,7 +4255,7 @@ .open = ftrace_pid_open, .write = ftrace_pid_write, .read = seq_read, - .llseek = seq_lseek, + .llseek = ftrace_filter_lseek, .release = ftrace_pid_release, }; @@ -4357,12 +4375,8 @@ ftrace_startup_sysctl(); /* we are starting ftrace again */ - if (ftrace_ops_list != &ftrace_list_end) { - if (ftrace_ops_list->next == &ftrace_list_end) - ftrace_trace_function = ftrace_ops_list->func; - else - ftrace_trace_function = ftrace_ops_list_func; - } + if (ftrace_ops_list != &ftrace_list_end) + update_ftrace_function(); } else { /* stopping ftrace calls (just send to ftrace_stub) */ --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_uprobe.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_uprobe.c @@ -243,8 +243,10 @@ return -EINVAL; } arg = strchr(argv[1], ':'); - if (!arg) + if (!arg) { + ret = -EINVAL; goto fail_address_parse; + } *arg++ = '\0'; filename = argv[1]; --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_irqsoff.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_irqsoff.c @@ -32,7 +32,7 @@ static int trace_type __read_mostly; -static int save_lat_flag; +static int save_flags; static void stop_irqsoff_tracer(struct trace_array *tr, int graph); static int start_irqsoff_tracer(struct trace_array *tr, int graph); @@ -557,8 +557,11 @@ static void __irqsoff_tracer_init(struct trace_array *tr) { - save_lat_flag = trace_flags & TRACE_ITER_LATENCY_FMT; - trace_flags |= TRACE_ITER_LATENCY_FMT; + save_flags = trace_flags; + + /* non overwrite screws up the latency tracers */ + set_tracer_flag(TRACE_ITER_OVERWRITE, 1); + set_tracer_flag(TRACE_ITER_LATENCY_FMT, 1); tracing_max_latency = 0; irqsoff_trace = tr; @@ -572,10 +575,13 @@ static void irqsoff_tracer_reset(struct trace_array *tr) { + int lat_flag = save_flags & TRACE_ITER_LATENCY_FMT; + int overwrite_flag = save_flags & TRACE_ITER_OVERWRITE; + stop_irqsoff_tracer(tr, is_graph()); - if (!save_lat_flag) - trace_flags &= ~TRACE_ITER_LATENCY_FMT; + set_tracer_flag(TRACE_ITER_LATENCY_FMT, lat_flag); + set_tracer_flag(TRACE_ITER_OVERWRITE, overwrite_flag); } static void irqsoff_tracer_start(struct trace_array *tr) @@ -608,6 +614,7 @@ .print_line = irqsoff_print_line, .flags = &tracer_flags, .set_flag = irqsoff_set_flag, + .flag_changed = trace_keep_overwrite, #ifdef CONFIG_FTRACE_SELFTEST .selftest = trace_selftest_startup_irqsoff, #endif @@ -641,6 +648,7 @@ .print_line = irqsoff_print_line, .flags = &tracer_flags, .set_flag = irqsoff_set_flag, + .flag_changed = trace_keep_overwrite, #ifdef CONFIG_FTRACE_SELFTEST .selftest = trace_selftest_startup_preemptoff, #endif @@ -676,6 +684,7 @@ .print_line = irqsoff_print_line, .flags = &tracer_flags, .set_flag = irqsoff_set_flag, + .flag_changed = trace_keep_overwrite, #ifdef CONFIG_FTRACE_SELFTEST .selftest = trace_selftest_startup_preemptirqsoff, #endif --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_stack.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_stack.c @@ -20,13 +20,24 @@ #define STACK_TRACE_ENTRIES 500 +#ifdef CC_USING_FENTRY +# define fentry 1 +#else +# define fentry 0 +#endif + static unsigned long stack_dump_trace[STACK_TRACE_ENTRIES+1] = { [0 ... (STACK_TRACE_ENTRIES)] = ULONG_MAX }; static unsigned stack_dump_index[STACK_TRACE_ENTRIES]; +/* + * Reserve one entry for the passed in ip. This will allow + * us to remove most or all of the stack size overhead + * added by the stack tracer itself. + */ static struct stack_trace max_stack_trace = { - .max_entries = STACK_TRACE_ENTRIES, - .entries = stack_dump_trace, + .max_entries = STACK_TRACE_ENTRIES - 1, + .entries = &stack_dump_trace[1], }; static unsigned long max_stack_size; @@ -40,25 +51,34 @@ int stack_tracer_enabled; static int last_stack_tracer_enabled; -static inline void check_stack(void) +static inline void +check_stack(unsigned long ip, unsigned long *stack) { unsigned long this_size, flags; unsigned long *p, *top, *start; + static int tracer_frame; + int frame_size = ACCESS_ONCE(tracer_frame); int i; - this_size = ((unsigned long)&this_size) & (THREAD_SIZE-1); + this_size = ((unsigned long)stack) & (THREAD_SIZE-1); this_size = THREAD_SIZE - this_size; + /* Remove the frame of the tracer */ + this_size -= frame_size; if (this_size <= max_stack_size) return; /* we do not handle interrupt stacks yet */ - if (!object_is_on_stack(&this_size)) + if (!object_is_on_stack(stack)) return; local_irq_save(flags); arch_spin_lock(&max_stack_lock); + /* In case another CPU set the tracer_frame on us */ + if (unlikely(!frame_size)) + this_size -= tracer_frame; + /* a race could have already updated it */ if (this_size <= max_stack_size) goto out; @@ -71,10 +91,18 @@ save_stack_trace(&max_stack_trace); /* + * Add the passed in ip from the function tracer. + * Searching for this on the stack will skip over + * most of the overhead from the stack tracer itself. + */ + stack_dump_trace[0] = ip; + max_stack_trace.nr_entries++; + + /* * Now find where in the stack these are. */ i = 0; - start = &this_size; + start = stack; top = (unsigned long *) (((unsigned long)start & ~(THREAD_SIZE-1)) + THREAD_SIZE); @@ -98,6 +126,18 @@ found = 1; /* Start the search from here */ start = p + 1; + /* + * We do not want to show the overhead + * of the stack tracer stack in the + * max stack. If we haven't figured + * out what that is, then figure it out + * now. + */ + if (unlikely(!tracer_frame) && i == 1) { + tracer_frame = (p - stack) * + sizeof(unsigned long); + max_stack_size -= tracer_frame; + } } } @@ -113,6 +153,7 @@ static void stack_trace_call(unsigned long ip, unsigned long parent_ip) { + unsigned long stack; int cpu; if (unlikely(!ftrace_enabled || stack_trace_disabled)) @@ -125,7 +166,26 @@ if (per_cpu(trace_active, cpu)++ != 0) goto out; - check_stack(); + /* + * When fentry is used, the traced function does not get + * its stack frame set up, and we lose the parent. + * The ip is pretty useless because the function tracer + * was called before that function set up its stack frame. + * In this case, we use the parent ip. + * + * By adding the return address of either the parent ip + * or the current ip we can disregard most of the stack usage + * caused by the stack tracer itself. + * + * The function tracer always reports the address of where the + * mcount call was, but the stack will hold the return address. + */ + if (fentry) + ip = parent_ip; + else + ip += MCOUNT_INSN_SIZE; + + check_stack(ip, &stack); out: per_cpu(trace_active, cpu)--; @@ -324,7 +384,7 @@ .open = stack_trace_filter_open, .read = seq_read, .write = ftrace_filter_write, - .llseek = ftrace_regex_lseek, + .llseek = ftrace_filter_lseek, .release = ftrace_regex_release, }; @@ -373,6 +433,8 @@ struct dentry *d_tracer; d_tracer = tracing_init_dentry(); + if (!d_tracer) + return 0; trace_create_file("stack_max_size", 0644, d_tracer, &max_stack_size, &stack_max_size_fops); --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_selftest.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_selftest.c @@ -461,8 +461,6 @@ /* Maximum number of functions to trace before diagnosing a hang */ #define GRAPH_MAX_FUNC_TEST 100000000 -static void -__ftrace_dump(bool disable_tracing, enum ftrace_dump_mode oops_dump_mode); static unsigned int graph_hang_thresh; /* Wrap the real function entry probe to avoid possible hanging */ @@ -472,8 +470,11 @@ if (unlikely(++graph_hang_thresh > GRAPH_MAX_FUNC_TEST)) { ftrace_graph_stop(); printk(KERN_WARNING "BUG: Function graph tracer hang!\n"); - if (ftrace_dump_on_oops) - __ftrace_dump(false, DUMP_ALL); + if (ftrace_dump_on_oops) { + ftrace_dump(DUMP_ALL); + /* ftrace_dump() disables tracing */ + tracing_on(); + } return 0; } --- linux-lts-quantal-3.5.0.orig/kernel/trace/ring_buffer.c +++ linux-lts-quantal-3.5.0/kernel/trace/ring_buffer.c @@ -1396,6 +1396,8 @@ struct list_head *head_page_with_bit; head_page = &rb_set_head_page(cpu_buffer)->list; + if (!head_page) + break; prev_page = head_page->prev; first_page = pages->next; @@ -1567,6 +1569,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) @@ -2930,7 +2936,7 @@ unsigned long flags; struct ring_buffer_per_cpu *cpu_buffer; struct buffer_page *bpage; - unsigned long ret; + unsigned long ret = 0; if (!cpumask_test_cpu(cpu, buffer->cpumask)) return 0; @@ -2945,7 +2951,8 @@ bpage = cpu_buffer->reader_page; else bpage = rb_set_head_page(cpu_buffer); - ret = bpage->page->time_stamp; + if (bpage) + ret = bpage->page->time_stamp; raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags); return ret; @@ -3252,6 +3259,8 @@ * Splice the empty reader page into the list around the head. */ reader = rb_set_head_page(cpu_buffer); + if (!reader) + goto out; cpu_buffer->reader_page->list.next = rb_list_head(reader->list.next); cpu_buffer->reader_page->list.prev = reader->list.prev; --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_stat.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_stat.c @@ -307,6 +307,8 @@ struct dentry *d_tracing; d_tracing = tracing_init_dentry(); + if (!d_tracing) + return 0; stat_dir = debugfs_create_dir("trace_stat", d_tracing); if (!stat_dir) --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace_syscalls.c +++ linux-lts-quantal-3.5.0/kernel/trace/trace_syscalls.c @@ -303,6 +303,8 @@ struct syscall_metadata *sys_data; struct ring_buffer_event *event; struct ring_buffer *buffer; + unsigned long irq_flags; + int pc; int size; int syscall_nr; @@ -318,8 +320,11 @@ size = sizeof(*entry) + sizeof(unsigned long) * sys_data->nb_args; + local_save_flags(irq_flags); + pc = preempt_count(); + event = trace_current_buffer_lock_reserve(&buffer, - sys_data->enter_event->event.type, size, 0, 0); + sys_data->enter_event->event.type, size, irq_flags, pc); if (!event) return; @@ -329,7 +334,8 @@ if (!filter_current_check_discard(buffer, sys_data->enter_event, entry, event)) - trace_current_buffer_unlock_commit(buffer, event, 0, 0); + trace_current_buffer_unlock_commit(buffer, event, + irq_flags, pc); } void ftrace_syscall_exit(void *ignore, struct pt_regs *regs, long ret) @@ -338,6 +344,8 @@ struct syscall_metadata *sys_data; struct ring_buffer_event *event; struct ring_buffer *buffer; + unsigned long irq_flags; + int pc; int syscall_nr; syscall_nr = syscall_get_nr(current, regs); @@ -350,8 +358,12 @@ if (!sys_data) return; + local_save_flags(irq_flags); + pc = preempt_count(); + event = trace_current_buffer_lock_reserve(&buffer, - sys_data->exit_event->event.type, sizeof(*entry), 0, 0); + sys_data->exit_event->event.type, sizeof(*entry), + irq_flags, pc); if (!event) return; @@ -361,7 +373,8 @@ if (!filter_current_check_discard(buffer, sys_data->exit_event, entry, event)) - trace_current_buffer_unlock_commit(buffer, event, 0, 0); + trace_current_buffer_unlock_commit(buffer, event, + irq_flags, pc); } int reg_event_syscall_enter(struct ftrace_event_call *call) --- linux-lts-quantal-3.5.0.orig/kernel/trace/trace.h +++ linux-lts-quantal-3.5.0/kernel/trace/trace.h @@ -283,10 +283,14 @@ enum print_line_t (*print_line)(struct trace_iterator *iter); /* If you handled the flag setting, return 0 */ int (*set_flag)(u32 old_flags, u32 bit, int set); + /* Return 0 if OK with change, else return non-zero */ + int (*flag_changed)(struct tracer *tracer, + u32 mask, int set); struct tracer *next; struct tracer_flags *flags; int print_max; int use_max_tr; + bool enabled; }; @@ -833,6 +837,9 @@ void trace_printk_init_buffers(void); +int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set); +int set_tracer_flag(unsigned int mask, int enabled); + #undef FTRACE_ENTRY #define FTRACE_ENTRY(call, struct_name, id, tstruct, print, filter) \ extern struct ftrace_event_call \ --- linux-lts-quantal-3.5.0.orig/kernel/irq/manage.c +++ linux-lts-quantal-3.5.0/kernel/irq/manage.c @@ -554,9 +554,9 @@ return 0; if (irq_settings_can_request(desc)) { - if (desc->action) - if (irqflags & desc->action->flags & IRQF_SHARED) - canrequest =1; + if (!desc->action || + irqflags & desc->action->flags & IRQF_SHARED) + canrequest = 1; } irq_put_desc_unlock(desc, flags); return canrequest; @@ -716,6 +716,7 @@ irq_thread_check_affinity(struct irq_desc *desc, struct irqaction *action) { cpumask_var_t mask; + bool valid = true; if (!test_and_clear_bit(IRQTF_AFFINITY, &action->thread_flags)) return; @@ -730,10 +731,18 @@ } raw_spin_lock_irq(&desc->lock); - cpumask_copy(mask, desc->irq_data.affinity); + /* + * This code is triggered unconditionally. Check the affinity + * mask pointer. For CPU_MASK_OFFSTACK=n this is optimized out. + */ + if (desc->irq_data.affinity) + cpumask_copy(mask, desc->irq_data.affinity); + else + valid = false; raw_spin_unlock_irq(&desc->lock); - set_cpus_allowed_ptr(current, mask); + if (valid) + set_cpus_allowed_ptr(current, mask); free_cpumask_var(mask); } #else @@ -893,22 +902,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 @@ -952,6 +945,16 @@ */ get_task_struct(t); new->thread = t; + /* + * Tell the thread to set its affinity. This is + * important for shared interrupt handlers as we do + * not invoke setup_affinity() for the secondary + * handlers as everything is already set up. Even for + * interrupts marked with IRQF_NO_BALANCE this is + * correct as we want the thread to move to the cpu(s) + * on which the requesting code placed the interrupt. + */ + set_bit(IRQTF_AFFINITY, &new->thread_flags); } if (!alloc_cpumask_var(&mask, GFP_KERNEL)) { @@ -1354,7 +1357,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-lts-quantal-3.5.0.orig/kernel/irq/spurious.c +++ linux-lts-quantal-3.5.0/kernel/irq/spurious.c @@ -80,13 +80,11 @@ /* * All handlers must agree on IRQF_SHARED, so we test just the - * first. Check for action->next as well. + * first. */ action = desc->action; if (!action || !(action->flags & IRQF_SHARED) || - (action->flags & __IRQF_TIMER) || - (action->handler(irq, action->dev_id) == IRQ_HANDLED) || - !action->next) + (action->flags & __IRQF_TIMER)) goto out; /* Already running on another processor */ @@ -104,6 +102,7 @@ do { if (handle_irq_event(desc) == IRQ_HANDLED) ret = IRQ_HANDLED; + /* Make sure that there is still a valid action */ action = desc->action; } while ((desc->istate & IRQS_PENDING) && action); desc->istate &= ~IRQS_POLL_INPROGRESS; --- linux-lts-quantal-3.5.0.orig/kernel/irq/handle.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/time/tick-sched.c +++ linux-lts-quantal-3.5.0/kernel/time/tick-sched.c @@ -500,12 +500,17 @@ */ void tick_nohz_irq_exit(void) { + unsigned long flags; struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched); if (!ts->inidle) return; + local_irq_save(flags); + tick_nohz_stop_sched_tick(ts); + + local_irq_restore(flags); } /** @@ -884,7 +889,7 @@ hrtimer_cancel(&ts->sched_timer); # endif - ts->nohz_mode = NOHZ_MODE_INACTIVE; + memset(ts, 0, sizeof(*ts)); } #endif --- linux-lts-quantal-3.5.0.orig/kernel/time/timekeeping.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/kernel/time/tick-common.c +++ linux-lts-quantal-3.5.0/kernel/time/tick-common.c @@ -323,6 +323,7 @@ */ dev->mode = CLOCK_EVT_MODE_UNUSED; clockevents_exchange_device(dev, NULL); + dev->event_handler = clockevents_handle_noop; td->evtdev = NULL; } raw_spin_unlock_irqrestore(&tick_device_lock, flags); --- linux-lts-quantal-3.5.0.orig/kernel/time/tick-broadcast.c +++ linux-lts-quantal-3.5.0/kernel/time/tick-broadcast.c @@ -66,12 +66,17 @@ */ int tick_check_broadcast_device(struct clock_event_device *dev) { - if ((tick_broadcast_device.evtdev && + struct clock_event_device *cur = tick_broadcast_device.evtdev; + + if ((dev->features & CLOCK_EVT_FEAT_DUMMY) || + (tick_broadcast_device.evtdev && tick_broadcast_device.evtdev->rating >= dev->rating) || (dev->features & CLOCK_EVT_FEAT_C3STOP)) return 0; clockevents_exchange_device(tick_broadcast_device.evtdev, dev); + if (cur) + cur->event_handler = clockevents_handle_noop; tick_broadcast_device.evtdev = dev; if (!cpumask_empty(tick_get_broadcast_mask())) tick_broadcast_start_periodic(dev); @@ -395,7 +400,15 @@ if (cpumask_test_cpu(cpu, to_cpumask(tick_broadcast_oneshot_mask))) { struct tick_device *td = &per_cpu(tick_cpu_device, cpu); - clockevents_set_mode(td->evtdev, CLOCK_EVT_MODE_ONESHOT); + /* + * We might be in the middle of switching over from + * periodic to oneshot. If the CPU has not yet + * switched over, leave the device alone. + */ + if (td->mode == TICKDEV_MODE_ONESHOT) { + clockevents_set_mode(td->evtdev, + CLOCK_EVT_MODE_ONESHOT); + } } } --- linux-lts-quantal-3.5.0.orig/arch/alpha/Makefile +++ linux-lts-quantal-3.5.0/arch/alpha/Makefile @@ -12,7 +12,7 @@ LDFLAGS_vmlinux := -static -N #-relax CHECKFLAGS += -D__alpha__ -m64 -cflags-y := -pipe -mno-fp-regs -ffixed-8 -msmall-data +cflags-y := -pipe -mno-fp-regs -ffixed-8 cflags-y += $(call cc-option, -fno-jump-tables) cpuflags-$(CONFIG_ALPHA_EV4) := -mcpu=ev4 --- linux-lts-quantal-3.5.0.orig/arch/alpha/include/asm/atomic.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/alpha/include/asm/fpu.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/alpha/include/asm/socket.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/alpha/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/alpha/kernel/sys_nautilus.c +++ linux-lts-quantal-3.5.0/arch/alpha/kernel/sys_nautilus.c @@ -188,6 +188,10 @@ extern void free_reserved_mem(void *, void *); extern void pcibios_claim_one_bus(struct pci_bus *); +static struct resource irongate_io = { + .name = "Irongate PCI IO", + .flags = IORESOURCE_IO, +}; static struct resource irongate_mem = { .name = "Irongate PCI MEM", .flags = IORESOURCE_MEM, @@ -209,6 +213,7 @@ irongate = pci_get_bus_and_slot(0, 0); bus->self = irongate; + bus->resource[0] = &irongate_io; bus->resource[1] = &irongate_mem; pci_bus_size_bridges(bus); --- linux-lts-quantal-3.5.0.orig/arch/frv/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/sparc/lib/ksyms.c +++ linux-lts-quantal-3.5.0/arch/sparc/lib/ksyms.c @@ -98,15 +98,6 @@ EXPORT_SYMBOL(___copy_in_user); EXPORT_SYMBOL(__clear_user); -/* RW semaphores */ -EXPORT_SYMBOL(__down_read); -EXPORT_SYMBOL(__down_read_trylock); -EXPORT_SYMBOL(__down_write); -EXPORT_SYMBOL(__down_write_trylock); -EXPORT_SYMBOL(__up_read); -EXPORT_SYMBOL(__up_write); -EXPORT_SYMBOL(__downgrade_write); - /* Atomic counter implementation. */ EXPORT_SYMBOL(atomic_add); EXPORT_SYMBOL(atomic_add_ret); --- linux-lts-quantal-3.5.0.orig/arch/sparc/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/sparc/include/asm/signal.h @@ -192,6 +192,7 @@ unsigned long sa_flags; void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ }; +#define __ARCH_HAS_SA_RESTORER typedef struct sigaltstack { void __user *ss_sp; --- linux-lts-quantal-3.5.0.orig/arch/sparc/include/asm/switch_to_64.h +++ linux-lts-quantal-3.5.0/arch/sparc/include/asm/switch_to_64.h @@ -18,8 +18,7 @@ * and 2 stores in this critical code path. -DaveM */ #define switch_to(prev, next, last) \ -do { flush_tlb_pending(); \ - save_and_clear_fpu(); \ +do { save_and_clear_fpu(); \ /* If you are tempted to conditionalize the following */ \ /* so that ASI is only written if it changes, think again. */ \ __asm__ __volatile__("wr %%g0, %0, %%asi" \ --- linux-lts-quantal-3.5.0.orig/arch/sparc/include/asm/tlbflush_64.h +++ linux-lts-quantal-3.5.0/arch/sparc/include/asm/tlbflush_64.h @@ -11,24 +11,40 @@ struct tlb_batch { struct mm_struct *mm; unsigned long tlb_nr; + unsigned long active; unsigned long vaddrs[TLB_BATCH_NR]; }; extern void flush_tsb_kernel_range(unsigned long start, unsigned long end); extern void flush_tsb_user(struct tlb_batch *tb); +extern void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr); /* TLB flush operations. */ -extern void flush_tlb_pending(void); +static inline void flush_tlb_mm(struct mm_struct *mm) +{ +} + +static inline void flush_tlb_page(struct vm_area_struct *vma, + unsigned long vmaddr) +{ +} + +static inline void flush_tlb_range(struct vm_area_struct *vma, + unsigned long start, unsigned long end) +{ +} + +#define __HAVE_ARCH_ENTER_LAZY_MMU_MODE -#define flush_tlb_range(vma,start,end) \ - do { (void)(start); flush_tlb_pending(); } while (0) -#define flush_tlb_page(vma,addr) flush_tlb_pending() -#define flush_tlb_mm(mm) flush_tlb_pending() +extern void flush_tlb_pending(void); +extern void arch_enter_lazy_mmu_mode(void); +extern void arch_leave_lazy_mmu_mode(void); +#define arch_flush_lazy_mmu_mode() do {} while (0) /* Local cpu only. */ extern void __flush_tlb_all(void); - +extern void __flush_tlb_page(unsigned long context, unsigned long vaddr); extern void __flush_tlb_kernel_range(unsigned long start, unsigned long end); #ifndef CONFIG_SMP @@ -38,15 +54,24 @@ __flush_tlb_kernel_range(start,end); \ } while (0) +static inline void global_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr) +{ + __flush_tlb_page(CTX_HWBITS(mm->context), vaddr); +} + #else /* CONFIG_SMP */ extern void smp_flush_tlb_kernel_range(unsigned long start, unsigned long end); +extern void smp_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr); #define flush_tlb_kernel_range(start, end) \ do { flush_tsb_kernel_range(start,end); \ smp_flush_tlb_kernel_range(start, end); \ } while (0) +#define global_flush_tlb_page(mm, vaddr) \ + smp_flush_tlb_page(mm, vaddr) + #endif /* ! CONFIG_SMP */ #endif /* _SPARC64_TLBFLUSH_H */ --- linux-lts-quantal-3.5.0.orig/arch/sparc/include/asm/pgtable_64.h +++ linux-lts-quantal-3.5.0/arch/sparc/include/asm/pgtable_64.h @@ -776,6 +776,7 @@ return remap_pfn_range(vma, from, phys_base >> PAGE_SHIFT, size, prot); } +#include #include /* We provide our own get_unmapped_area to cope with VA holes and --- linux-lts-quantal-3.5.0.orig/arch/sparc/include/asm/hugetlb.h +++ linux-lts-quantal-3.5.0/arch/sparc/include/asm/hugetlb.h @@ -58,14 +58,20 @@ static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) { - ptep_set_wrprotect(mm, addr, ptep); + pte_t old_pte = *ptep; + set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); } static inline int huge_ptep_set_access_flags(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte, int dirty) { - return ptep_set_access_flags(vma, addr, ptep, pte, dirty); + int changed = !pte_same(*ptep, pte); + if (changed) { + set_huge_pte_at(vma->vm_mm, addr, ptep, pte); + flush_tlb_page(vma, addr); + } + return changed; } static inline pte_t huge_ptep_get(pte_t *ptep) --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/swift.S +++ linux-lts-quantal-3.5.0/arch/sparc/mm/swift.S @@ -105,7 +105,7 @@ .globl swift_flush_cache_range swift_flush_cache_range: - ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 sub %o2, %o1, %o2 sethi %hi(4096), %o3 cmp %o2, %o3 @@ -116,7 +116,7 @@ .globl swift_flush_cache_page swift_flush_cache_page: - ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 70: ld [%o0 + AOFF_mm_context], %g2 cmp %g2, -1 @@ -219,7 +219,7 @@ .globl swift_flush_tlb_range .globl swift_flush_tlb_all swift_flush_tlb_range: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 swift_flush_tlb_mm: ld [%o0 + AOFF_mm_context], %g2 cmp %g2, -1 @@ -233,7 +233,7 @@ .globl swift_flush_tlb_page swift_flush_tlb_page: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 mov SRMMU_CTX_REG, %g1 ld [%o0 + AOFF_mm_context], %o3 andn %o1, (PAGE_SIZE - 1), %o1 --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/tlb.c +++ linux-lts-quantal-3.5.0/arch/sparc/mm/tlb.c @@ -24,11 +24,17 @@ void flush_tlb_pending(void) { struct tlb_batch *tb = &get_cpu_var(tlb_batch); + struct mm_struct *mm = tb->mm; - if (tb->tlb_nr) { - flush_tsb_user(tb); + if (!tb->tlb_nr) + goto out; - if (CTX_VALID(tb->mm->context)) { + flush_tsb_user(tb); + + if (CTX_VALID(mm->context)) { + if (tb->tlb_nr == 1) { + global_flush_tlb_page(mm, tb->vaddrs[0]); + } else { #ifdef CONFIG_SMP smp_flush_tlb_pending(tb->mm, tb->tlb_nr, &tb->vaddrs[0]); @@ -37,12 +43,30 @@ tb->tlb_nr, &tb->vaddrs[0]); #endif } - tb->tlb_nr = 0; } + tb->tlb_nr = 0; + +out: put_cpu_var(tlb_batch); } +void arch_enter_lazy_mmu_mode(void) +{ + struct tlb_batch *tb = &__get_cpu_var(tlb_batch); + + tb->active = 1; +} + +void arch_leave_lazy_mmu_mode(void) +{ + struct tlb_batch *tb = &__get_cpu_var(tlb_batch); + + if (tb->tlb_nr) + flush_tlb_pending(); + tb->active = 0; +} + void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig, int fullmm) { @@ -90,6 +114,12 @@ nr = 0; } + if (!tb->active) { + flush_tsb_user_page(mm, vaddr); + global_flush_tlb_page(mm, vaddr); + goto out; + } + if (nr == 0) tb->mm = mm; @@ -98,5 +128,6 @@ if (nr >= TLB_BATCH_NR) flush_tlb_pending(); +out: put_cpu_var(tlb_batch); } --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/hypersparc.S +++ linux-lts-quantal-3.5.0/arch/sparc/mm/hypersparc.S @@ -74,7 +74,7 @@ /* The things we do for performance... */ hypersparc_flush_cache_range: - ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 #ifndef CONFIG_SMP ld [%o0 + AOFF_mm_context], %g1 cmp %g1, -1 @@ -163,7 +163,7 @@ */ /* Verified, my ass... */ hypersparc_flush_cache_page: - ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 ld [%o0 + AOFF_mm_context], %g2 #ifndef CONFIG_SMP cmp %g2, -1 @@ -284,7 +284,7 @@ sta %g5, [%g1] ASI_M_MMUREGS hypersparc_flush_tlb_range: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 mov SRMMU_CTX_REG, %g1 ld [%o0 + AOFF_mm_context], %o3 lda [%g1] ASI_M_MMUREGS, %g5 @@ -307,7 +307,7 @@ sta %g5, [%g1] ASI_M_MMUREGS hypersparc_flush_tlb_page: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 mov SRMMU_CTX_REG, %g1 ld [%o0 + AOFF_mm_context], %o3 andn %o1, (PAGE_SIZE - 1), %o1 --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/tsunami.S +++ linux-lts-quantal-3.5.0/arch/sparc/mm/tsunami.S @@ -24,7 +24,7 @@ /* Sliiick... */ tsunami_flush_cache_page: tsunami_flush_cache_range: - ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 tsunami_flush_cache_mm: ld [%o0 + AOFF_mm_context], %g2 cmp %g2, -1 @@ -46,7 +46,7 @@ /* More slick stuff... */ tsunami_flush_tlb_range: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 tsunami_flush_tlb_mm: ld [%o0 + AOFF_mm_context], %g2 cmp %g2, -1 @@ -65,7 +65,7 @@ /* This one can be done in a fine grained manner... */ tsunami_flush_tlb_page: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 mov SRMMU_CTX_REG, %g1 ld [%o0 + AOFF_mm_context], %o3 andn %o1, (PAGE_SIZE - 1), %o1 --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/init_64.c +++ linux-lts-quantal-3.5.0/arch/sparc/mm/init_64.c @@ -1049,7 +1049,14 @@ m->size = *val; val = mdesc_get_property(md, node, "address-congruence-offset", NULL); - m->offset = *val; + + /* The address-congruence-offset property is optional. + * Explicity zero it be identifty this. + */ + if (val) + m->offset = *val; + else + m->offset = 0UL; numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", count - 1, m->base, m->size, m->offset); @@ -2020,6 +2027,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 +2060,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-lts-quantal-3.5.0.orig/arch/sparc/mm/viking.S +++ linux-lts-quantal-3.5.0/arch/sparc/mm/viking.S @@ -108,7 +108,7 @@ viking_flush_cache_page: viking_flush_cache_range: #ifndef CONFIG_SMP - ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 #endif viking_flush_cache_mm: #ifndef CONFIG_SMP @@ -148,7 +148,7 @@ #endif viking_flush_tlb_range: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 mov SRMMU_CTX_REG, %g1 ld [%o0 + AOFF_mm_context], %o3 lda [%g1] ASI_M_MMUREGS, %g5 @@ -173,7 +173,7 @@ #endif viking_flush_tlb_page: - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 mov SRMMU_CTX_REG, %g1 ld [%o0 + AOFF_mm_context], %o3 lda [%g1] ASI_M_MMUREGS, %g5 @@ -239,7 +239,7 @@ tst %g5 bne 3f mov SRMMU_CTX_REG, %g1 - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 ld [%o0 + AOFF_mm_context], %o3 lda [%g1] ASI_M_MMUREGS, %g5 sethi %hi(~((1 << SRMMU_PGDIR_SHIFT) - 1)), %o4 @@ -265,7 +265,7 @@ tst %g5 bne 2f mov SRMMU_CTX_REG, %g1 - ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ + ld [%o0 + VMA_VM_MM], %o0 ld [%o0 + AOFF_mm_context], %o3 lda [%g1] ASI_M_MMUREGS, %g5 and %o1, PAGE_MASK, %o1 --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/tsb.c +++ linux-lts-quantal-3.5.0/arch/sparc/mm/tsb.c @@ -7,11 +7,10 @@ #include #include #include -#include -#include -#include #include +#include #include +#include #include extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES]; @@ -46,23 +45,27 @@ } } -static void __flush_tsb_one(struct tlb_batch *tb, unsigned long hash_shift, - unsigned long tsb, unsigned long nentries) +static void __flush_tsb_one_entry(unsigned long tsb, unsigned long v, + unsigned long hash_shift, + unsigned long nentries) { - unsigned long i; + unsigned long tag, ent, hash; - for (i = 0; i < tb->tlb_nr; i++) { - unsigned long v = tb->vaddrs[i]; - unsigned long tag, ent, hash; + v &= ~0x1UL; + hash = tsb_hash(v, hash_shift, nentries); + ent = tsb + (hash * sizeof(struct tsb)); + tag = (v >> 22UL); - v &= ~0x1UL; + tsb_flush(ent, tag); +} - hash = tsb_hash(v, hash_shift, nentries); - ent = tsb + (hash * sizeof(struct tsb)); - tag = (v >> 22UL); +static void __flush_tsb_one(struct tlb_batch *tb, unsigned long hash_shift, + unsigned long tsb, unsigned long nentries) +{ + unsigned long i; - tsb_flush(ent, tag); - } + for (i = 0; i < tb->tlb_nr; i++) + __flush_tsb_one_entry(tsb, tb->vaddrs[i], hash_shift, nentries); } void flush_tsb_user(struct tlb_batch *tb) @@ -90,6 +93,30 @@ spin_unlock_irqrestore(&mm->context.lock, flags); } +void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr) +{ + unsigned long nentries, base, flags; + + spin_lock_irqsave(&mm->context.lock, flags); + + base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb; + nentries = mm->context.tsb_block[MM_TSB_BASE].tsb_nentries; + if (tlb_type == cheetah_plus || tlb_type == hypervisor) + base = __pa(base); + __flush_tsb_one_entry(base, vaddr, PAGE_SHIFT, nentries); + +#if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE) + if (mm->context.tsb_block[MM_TSB_HUGE].tsb) { + base = (unsigned long) mm->context.tsb_block[MM_TSB_HUGE].tsb; + nentries = mm->context.tsb_block[MM_TSB_HUGE].tsb_nentries; + if (tlb_type == cheetah_plus || tlb_type == hypervisor) + base = __pa(base); + __flush_tsb_one_entry(base, vaddr, HPAGE_SHIFT, nentries); + } +#endif + spin_unlock_irqrestore(&mm->context.lock, flags); +} + #if defined(CONFIG_SPARC64_PAGE_SIZE_8KB) #define HV_PGSZ_IDX_BASE HV_PGSZ_IDX_8K #define HV_PGSZ_MASK_BASE HV_PGSZ_MASK_8K @@ -331,7 +358,7 @@ retry_tsb_alloc: gfp_flags = GFP_KERNEL; if (new_size > (PAGE_SIZE * 2)) - gfp_flags = __GFP_NOWARN | __GFP_NORETRY; + gfp_flags |= __GFP_NOWARN | __GFP_NORETRY; new_tsb = kmem_cache_alloc_node(tsb_caches[new_cache_index], gfp_flags, numa_node_id()); --- linux-lts-quantal-3.5.0.orig/arch/sparc/mm/ultra.S +++ linux-lts-quantal-3.5.0/arch/sparc/mm/ultra.S @@ -53,6 +53,33 @@ nop .align 32 + .globl __flush_tlb_page +__flush_tlb_page: /* 22 insns */ + /* %o0 = context, %o1 = vaddr */ + rdpr %pstate, %g7 + andn %g7, PSTATE_IE, %g2 + wrpr %g2, %pstate + mov SECONDARY_CONTEXT, %o4 + ldxa [%o4] ASI_DMMU, %g2 + stxa %o0, [%o4] ASI_DMMU + andcc %o1, 1, %g0 + andn %o1, 1, %o3 + be,pn %icc, 1f + or %o3, 0x10, %o3 + stxa %g0, [%o3] ASI_IMMU_DEMAP +1: stxa %g0, [%o3] ASI_DMMU_DEMAP + membar #Sync + stxa %g2, [%o4] ASI_DMMU + sethi %hi(KERNBASE), %o4 + flush %o4 + retl + wrpr %g7, 0x0, %pstate + nop + nop + nop + nop + + .align 32 .globl __flush_tlb_pending __flush_tlb_pending: /* 26 insns */ /* %o0 = context, %o1 = nr, %o2 = vaddrs[] */ @@ -203,6 +230,31 @@ retl wrpr %g7, 0x0, %pstate +__cheetah_flush_tlb_page: /* 22 insns */ + /* %o0 = context, %o1 = vaddr */ + rdpr %pstate, %g7 + andn %g7, PSTATE_IE, %g2 + wrpr %g2, 0x0, %pstate + wrpr %g0, 1, %tl + mov PRIMARY_CONTEXT, %o4 + ldxa [%o4] ASI_DMMU, %g2 + srlx %g2, CTX_PGSZ1_NUC_SHIFT, %o3 + sllx %o3, CTX_PGSZ1_NUC_SHIFT, %o3 + or %o0, %o3, %o0 /* Preserve nucleus page size fields */ + stxa %o0, [%o4] ASI_DMMU + andcc %o1, 1, %g0 + be,pn %icc, 1f + andn %o1, 1, %o3 + stxa %g0, [%o3] ASI_IMMU_DEMAP +1: stxa %g0, [%o3] ASI_DMMU_DEMAP + membar #Sync + stxa %g2, [%o4] ASI_DMMU + sethi %hi(KERNBASE), %o4 + flush %o4 + wrpr %g0, 0, %tl + retl + wrpr %g7, 0x0, %pstate + __cheetah_flush_tlb_pending: /* 27 insns */ /* %o0 = context, %o1 = nr, %o2 = vaddrs[] */ rdpr %pstate, %g7 @@ -269,6 +321,20 @@ retl nop +__hypervisor_flush_tlb_page: /* 11 insns */ + /* %o0 = context, %o1 = vaddr */ + mov %o0, %g2 + mov %o1, %o0 /* ARG0: vaddr + IMMU-bit */ + mov %g2, %o1 /* ARG1: mmu context */ + mov HV_MMU_ALL, %o2 /* ARG2: flags */ + srlx %o0, PAGE_SHIFT, %o0 + sllx %o0, PAGE_SHIFT, %o0 + ta HV_MMU_UNMAP_ADDR_TRAP + brnz,pn %o0, __hypervisor_tlb_tl0_error + mov HV_MMU_UNMAP_ADDR_TRAP, %o1 + retl + nop + __hypervisor_flush_tlb_pending: /* 16 insns */ /* %o0 = context, %o1 = nr, %o2 = vaddrs[] */ sllx %o1, 3, %g1 @@ -339,6 +405,13 @@ call tlb_patch_one mov 19, %o2 + sethi %hi(__flush_tlb_page), %o0 + or %o0, %lo(__flush_tlb_page), %o0 + sethi %hi(__cheetah_flush_tlb_page), %o1 + or %o1, %lo(__cheetah_flush_tlb_page), %o1 + call tlb_patch_one + mov 22, %o2 + sethi %hi(__flush_tlb_pending), %o0 or %o0, %lo(__flush_tlb_pending), %o0 sethi %hi(__cheetah_flush_tlb_pending), %o1 @@ -397,10 +470,9 @@ nop nop - .globl xcall_flush_tlb_pending -xcall_flush_tlb_pending: /* 21 insns */ - /* %g5=context, %g1=nr, %g7=vaddrs[] */ - sllx %g1, 3, %g1 + .globl xcall_flush_tlb_page +xcall_flush_tlb_page: /* 17 insns */ + /* %g5=context, %g1=vaddr */ mov PRIMARY_CONTEXT, %g4 ldxa [%g4] ASI_DMMU, %g2 srlx %g2, CTX_PGSZ1_NUC_SHIFT, %g4 @@ -408,20 +480,16 @@ or %g5, %g4, %g5 mov PRIMARY_CONTEXT, %g4 stxa %g5, [%g4] ASI_DMMU -1: sub %g1, (1 << 3), %g1 - ldx [%g7 + %g1], %g5 - andcc %g5, 0x1, %g0 + andcc %g1, 0x1, %g0 be,pn %icc, 2f - - andn %g5, 0x1, %g5 + andn %g1, 0x1, %g5 stxa %g0, [%g5] ASI_IMMU_DEMAP 2: stxa %g0, [%g5] ASI_DMMU_DEMAP membar #Sync - brnz,pt %g1, 1b - nop stxa %g2, [%g4] ASI_DMMU retry nop + nop .globl xcall_flush_tlb_kernel_range xcall_flush_tlb_kernel_range: /* 25 insns */ @@ -596,15 +664,13 @@ membar #Sync retry - .globl __hypervisor_xcall_flush_tlb_pending -__hypervisor_xcall_flush_tlb_pending: /* 21 insns */ - /* %g5=ctx, %g1=nr, %g7=vaddrs[], %g2,%g3,%g4,g6=scratch */ - sllx %g1, 3, %g1 + .globl __hypervisor_xcall_flush_tlb_page +__hypervisor_xcall_flush_tlb_page: /* 17 insns */ + /* %g5=ctx, %g1=vaddr */ mov %o0, %g2 mov %o1, %g3 mov %o2, %g4 -1: sub %g1, (1 << 3), %g1 - ldx [%g7 + %g1], %o0 /* ARG0: virtual address */ + mov %g1, %o0 /* ARG0: virtual address */ mov %g5, %o1 /* ARG1: mmu context */ mov HV_MMU_ALL, %o2 /* ARG2: flags */ srlx %o0, PAGE_SHIFT, %o0 @@ -613,8 +679,6 @@ mov HV_MMU_UNMAP_ADDR_TRAP, %g6 brnz,a,pn %o0, __hypervisor_tlb_xcall_error mov %o0, %g5 - brnz,pt %g1, 1b - nop mov %g2, %o0 mov %g3, %o1 mov %g4, %o2 @@ -697,6 +761,13 @@ call tlb_patch_one mov 10, %o2 + sethi %hi(__flush_tlb_page), %o0 + or %o0, %lo(__flush_tlb_page), %o0 + sethi %hi(__hypervisor_flush_tlb_page), %o1 + or %o1, %lo(__hypervisor_flush_tlb_page), %o1 + call tlb_patch_one + mov 11, %o2 + sethi %hi(__flush_tlb_pending), %o0 or %o0, %lo(__flush_tlb_pending), %o0 sethi %hi(__hypervisor_flush_tlb_pending), %o1 @@ -728,12 +799,12 @@ call tlb_patch_one mov 21, %o2 - sethi %hi(xcall_flush_tlb_pending), %o0 - or %o0, %lo(xcall_flush_tlb_pending), %o0 - sethi %hi(__hypervisor_xcall_flush_tlb_pending), %o1 - or %o1, %lo(__hypervisor_xcall_flush_tlb_pending), %o1 + sethi %hi(xcall_flush_tlb_page), %o0 + or %o0, %lo(xcall_flush_tlb_page), %o0 + sethi %hi(__hypervisor_xcall_flush_tlb_page), %o1 + or %o1, %lo(__hypervisor_xcall_flush_tlb_page), %o1 call tlb_patch_one - mov 21, %o2 + mov 17, %o2 sethi %hi(xcall_flush_tlb_kernel_range), %o0 or %o0, %lo(xcall_flush_tlb_kernel_range), %o0 --- linux-lts-quantal-3.5.0.orig/arch/sparc/kernel/ktlb.S +++ linux-lts-quantal-3.5.0/arch/sparc/kernel/ktlb.S @@ -25,11 +25,10 @@ */ kvmap_itlb_4v: -kvmap_itlb_nonlinear: /* Catch kernel NULL pointer calls. */ sethi %hi(PAGE_SIZE), %g5 cmp %g4, %g5 - bleu,pn %xcc, kvmap_dtlb_longpath + blu,pn %xcc, kvmap_itlb_longpath nop KERN_TSB_LOOKUP_TL1(%g4, %g6, %g5, %g1, %g2, %g3, kvmap_itlb_load) --- linux-lts-quantal-3.5.0.orig/arch/sparc/kernel/smp_64.c +++ linux-lts-quantal-3.5.0/arch/sparc/kernel/smp_64.c @@ -852,7 +852,7 @@ } extern unsigned long xcall_flush_tlb_mm; -extern unsigned long xcall_flush_tlb_pending; +extern unsigned long xcall_flush_tlb_page; extern unsigned long xcall_flush_tlb_kernel_range; extern unsigned long xcall_fetch_glob_regs; extern unsigned long xcall_receive_signal; @@ -1066,22 +1066,55 @@ put_cpu(); } +struct tlb_pending_info { + unsigned long ctx; + unsigned long nr; + unsigned long *vaddrs; +}; + +static void tlb_pending_func(void *info) +{ + struct tlb_pending_info *t = info; + + __flush_tlb_pending(t->ctx, t->nr, t->vaddrs); +} + void smp_flush_tlb_pending(struct mm_struct *mm, unsigned long nr, unsigned long *vaddrs) { u32 ctx = CTX_HWBITS(mm->context); + struct tlb_pending_info info; int cpu = get_cpu(); + info.ctx = ctx; + info.nr = nr; + info.vaddrs = vaddrs; + if (mm == current->mm && atomic_read(&mm->mm_users) == 1) cpumask_copy(mm_cpumask(mm), cpumask_of(cpu)); else - smp_cross_call_masked(&xcall_flush_tlb_pending, - ctx, nr, (unsigned long) vaddrs, - mm_cpumask(mm)); + smp_call_function_many(mm_cpumask(mm), tlb_pending_func, + &info, 1); __flush_tlb_pending(ctx, nr, vaddrs); put_cpu(); } + +void smp_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr) +{ + unsigned long context = CTX_HWBITS(mm->context); + int cpu = get_cpu(); + + if (mm == current->mm && atomic_read(&mm->mm_users) == 1) + cpumask_copy(mm_cpumask(mm), cpumask_of(cpu)); + else + smp_cross_call_masked(&xcall_flush_tlb_page, + context, vaddr, 0, + mm_cpumask(mm)); + __flush_tlb_page(context, vaddr); + + put_cpu(); +} void smp_flush_tlb_kernel_range(unsigned long start, unsigned long end) { --- linux-lts-quantal-3.5.0.orig/arch/sparc/kernel/syscalls.S +++ linux-lts-quantal-3.5.0/arch/sparc/kernel/syscalls.S @@ -147,7 +147,7 @@ srl %i4, 0, %o4 srl %i1, 0, %o1 srl %i2, 0, %o2 - ba,pt %xcc, 2f + ba,pt %xcc, 5f srl %i3, 0, %o3 linux_syscall_trace: @@ -177,13 +177,13 @@ srl %i1, 0, %o1 ! IEU0 Group ldx [%g6 + TI_FLAGS], %l0 ! Load - srl %i5, 0, %o5 ! IEU1 + srl %i3, 0, %o3 ! IEU0 srl %i2, 0, %o2 ! IEU0 Group andcc %l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %g0 bne,pn %icc, linux_syscall_trace32 ! CTI mov %i0, %l5 ! IEU1 - call %l7 ! CTI Group brk forced - srl %i3, 0, %o3 ! IEU0 +5: call %l7 ! CTI Group brk forced + srl %i5, 0, %o5 ! IEU1 ba,a,pt %xcc, 3f /* Linux native system calls enter here... */ @@ -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-lts-quantal-3.5.0.orig/arch/sparc/kernel/entry.S +++ linux-lts-quantal-3.5.0/arch/sparc/kernel/entry.S @@ -860,7 +860,7 @@ nop call syscall_trace - nop + mov 1, %o1 1: /* We don't want to muck with user registers like a --- linux-lts-quantal-3.5.0.orig/arch/sparc/kernel/sys_sparc_64.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/sparc/kernel/asm-offsets.c +++ linux-lts-quantal-3.5.0/arch/sparc/kernel/asm-offsets.c @@ -34,6 +34,8 @@ DEFINE(AOFF_task_thread, offsetof(struct task_struct, thread)); BLANK(); DEFINE(AOFF_mm_context, offsetof(struct mm_struct, context)); + BLANK(); + DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm)); /* DEFINE(NUM_USER_SEGMENTS, TASK_SIZE>>28); */ return 0; --- linux-lts-quantal-3.5.0.orig/arch/sparc/kernel/perf_event.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/sparc/kernel/signal_64.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/sparc/kernel/trampoline_64.S +++ linux-lts-quantal-3.5.0/arch/sparc/kernel/trampoline_64.S @@ -131,7 +131,6 @@ clr %l5 sethi %hi(num_kernel_image_mappings), %l6 lduw [%l6 + %lo(num_kernel_image_mappings)], %l6 - add %l6, 1, %l6 mov 15, %l7 BRANCH_IF_ANY_CHEETAH(g1,g5,2f) @@ -224,7 +223,6 @@ clr %l5 sethi %hi(num_kernel_image_mappings), %l6 lduw [%l6 + %lo(num_kernel_image_mappings)], %l6 - add %l6, 1, %l6 1: mov HV_FAST_MMU_MAP_PERM_ADDR, %o5 --- linux-lts-quantal-3.5.0.orig/arch/h8300/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/h8300/include/asm/signal.h @@ -121,6 +121,7 @@ void (*sa_restorer)(void); sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/h8300/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/Kconfig +++ linux-lts-quantal-3.5.0/arch/mips/Kconfig @@ -25,6 +25,7 @@ select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW + select GENERIC_PCI_IOMAP select HAVE_ARCH_JUMP_LABEL select IRQ_FORCED_THREADING select HAVE_MEMBLOCK @@ -2353,7 +2354,6 @@ bool "Support for PCI controller" depends on HW_HAS_PCI select PCI_DOMAINS - select GENERIC_PCI_IOMAP select NO_GENERIC_PCI_IOPORT_MAP help Find out whether you have a PCI motherboard. PCI is the name of a --- linux-lts-quantal-3.5.0.orig/arch/mips/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/ath79/clock.c +++ linux-lts-quantal-3.5.0/arch/mips/ath79/clock.c @@ -17,6 +17,8 @@ #include #include +#include + #include #include #include "common.h" @@ -162,15 +164,38 @@ ath79_ahb_clk.rate = freq / t; } - ath79_wdt_clk.rate = ath79_ref_clk.rate; + ath79_wdt_clk.rate = ath79_ahb_clk.rate; 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-lts-quantal-3.5.0.orig/arch/mips/pci/pci-ar724x.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/include/asm/page.h +++ linux-lts-quantal-3.5.0/arch/mips/include/asm/page.h @@ -175,14 +175,13 @@ #ifdef CONFIG_FLATMEM -#define pfn_valid(pfn) \ -({ \ - unsigned long __pfn = (pfn); \ - /* avoid include hell */ \ - extern unsigned long min_low_pfn; \ - \ - __pfn >= min_low_pfn && __pfn < max_mapnr; \ -}) +static inline int pfn_valid(unsigned long pfn) +{ + /* avoid include hell */ + extern unsigned long max_mapnr; + + return pfn >= ARCH_PFN_OFFSET && pfn < max_mapnr; +} #elif defined(CONFIG_SPARSEMEM) --- linux-lts-quantal-3.5.0.orig/arch/mips/include/asm/io.h +++ linux-lts-quantal-3.5.0/arch/mips/include/asm/io.h @@ -169,6 +169,11 @@ extern void __iomem * __ioremap(phys_t offset, phys_t size, unsigned long flags); extern void __iounmap(const volatile void __iomem *addr); +#ifndef CONFIG_PCI +struct pci_dev; +static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr) {} +#endif + static inline void __iomem * __ioremap_mode(phys_t offset, unsigned long size, unsigned long flags) { --- linux-lts-quantal-3.5.0.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/mm/gup.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/kernel/kgdb.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/kernel/process.c +++ linux-lts-quantal-3.5.0/arch/mips/kernel/process.c @@ -72,9 +72,7 @@ } } #ifdef CONFIG_HOTPLUG_CPU - if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map) && - (system_state == SYSTEM_RUNNING || - system_state == SYSTEM_BOOTING)) + if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map)) play_dead(); #endif rcu_idle_exit(); --- linux-lts-quantal-3.5.0.orig/arch/mips/kernel/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mips/kernel/kspd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/sh/include/asm/elf.h +++ linux-lts-quantal-3.5.0/arch/sh/include/asm/elf.h @@ -202,9 +202,9 @@ if (vdso_enabled) \ NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE); \ else \ - NEW_AUX_ENT(AT_IGNORE, 0); + NEW_AUX_ENT(AT_IGNORE, 0) #else -#define VSYSCALL_AUX_ENT +#define VSYSCALL_AUX_ENT NEW_AUX_ENT(AT_IGNORE, 0) #endif /* CONFIG_VSYSCALL */ #ifdef CONFIG_SH_FPU --- linux-lts-quantal-3.5.0.orig/arch/sh/mm/fault.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/cris/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/cris/include/asm/signal.h @@ -122,6 +122,7 @@ void (*sa_restorer)(void); sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/cris/include/asm/io.h +++ linux-lts-quantal-3.5.0/arch/cris/include/asm/io.h @@ -133,12 +133,39 @@ #define insb(port,addr,count) (cris_iops ? cris_iops->read_io(port,addr,1,count) : 0) #define insw(port,addr,count) (cris_iops ? cris_iops->read_io(port,addr,2,count) : 0) #define insl(port,addr,count) (cris_iops ? cris_iops->read_io(port,addr,4,count) : 0) -#define outb(data,port) if (cris_iops) cris_iops->write_io(port,(void*)(unsigned)data,1,1) -#define outw(data,port) if (cris_iops) cris_iops->write_io(port,(void*)(unsigned)data,2,1) -#define outl(data,port) if (cris_iops) cris_iops->write_io(port,(void*)(unsigned)data,4,1) -#define outsb(port,addr,count) if(cris_iops) cris_iops->write_io(port,(void*)addr,1,count) -#define outsw(port,addr,count) if(cris_iops) cris_iops->write_io(port,(void*)addr,2,count) -#define outsl(port,addr,count) if(cris_iops) cris_iops->write_io(port,(void*)addr,3,count) +static inline void outb(unsigned char data, unsigned int port) +{ + if (cris_iops) + cris_iops->write_io(port, (void *) &data, 1, 1); +} +static inline void outw(unsigned short data, unsigned int port) +{ + if (cris_iops) + cris_iops->write_io(port, (void *) &data, 2, 1); +} +static inline void outl(unsigned int data, unsigned int port) +{ + if (cris_iops) + cris_iops->write_io(port, (void *) &data, 4, 1); +} +static inline void outsb(unsigned int port, const void *addr, + unsigned long count) +{ + if (cris_iops) + cris_iops->write_io(port, (void *)addr, 1, count); +} +static inline void outsw(unsigned int port, const void *addr, + unsigned long count) +{ + if (cris_iops) + cris_iops->write_io(port, (void *)addr, 2, count); +} +static inline void outsl(unsigned int port, const void *addr, + unsigned long count) +{ + if (cris_iops) + cris_iops->write_io(port, (void *)addr, 4, count); +} /* * Convert a physical pointer to a virtual kernel pointer for /dev/mem --- linux-lts-quantal-3.5.0.orig/arch/cris/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/m68k/include/asm/div64.h +++ linux-lts-quantal-3.5.0/arch/m68k/include/asm/div64.h @@ -15,16 +15,17 @@ unsigned long long n64; \ } __n; \ unsigned long __rem, __upper; \ + unsigned long __base = (base); \ \ __n.n64 = (n); \ if ((__upper = __n.n32[0])) { \ asm ("divul.l %2,%1:%0" \ - : "=d" (__n.n32[0]), "=d" (__upper) \ - : "d" (base), "0" (__n.n32[0])); \ + : "=d" (__n.n32[0]), "=d" (__upper) \ + : "d" (__base), "0" (__n.n32[0])); \ } \ asm ("divu.l %2,%1:%0" \ - : "=d" (__n.n32[1]), "=d" (__rem) \ - : "d" (base), "1" (__upper), "0" (__n.n32[1])); \ + : "=d" (__n.n32[1]), "=d" (__rem) \ + : "d" (__base), "1" (__upper), "0" (__n.n32[1])); \ (n) = __n.n64; \ __rem; \ }) --- linux-lts-quantal-3.5.0.orig/arch/m68k/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/m68k/include/asm/signal.h @@ -119,6 +119,7 @@ __sigrestore_t sa_restorer; sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; @@ -156,7 +157,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 +165,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 +181,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-lts-quantal-3.5.0.orig/arch/m68k/emu/natfeat.c +++ linux-lts-quantal-3.5.0/arch/m68k/emu/natfeat.c @@ -18,9 +18,11 @@ #include #include +extern long nf_get_id2(const char *feature_name); + asm("\n" -" .global nf_get_id,nf_call\n" -"nf_get_id:\n" +" .global nf_get_id2,nf_call\n" +"nf_get_id2:\n" " .short 0x7300\n" " rts\n" "nf_call:\n" @@ -29,12 +31,25 @@ "1: moveq.l #0,%d0\n" " rts\n" " .section __ex_table,\"a\"\n" -" .long nf_get_id,1b\n" +" .long nf_get_id2,1b\n" " .long nf_call,1b\n" " .previous"); -EXPORT_SYMBOL_GPL(nf_get_id); EXPORT_SYMBOL_GPL(nf_call); +long nf_get_id(const char *feature_name) +{ + /* feature_name may be in vmalloc()ed memory, so make a copy */ + char name_copy[32]; + size_t n; + + n = strlcpy(name_copy, feature_name, sizeof(name_copy)); + if (n >= sizeof(name_copy)) + return 0; + + return nf_get_id2(name_copy); +} +EXPORT_SYMBOL_GPL(nf_get_id); + void nfprint(const char *fmt, ...) { static char buf[256]; --- linux-lts-quantal-3.5.0.orig/arch/m68k/kernel/head.S +++ linux-lts-quantal-3.5.0/arch/m68k/kernel/head.S @@ -2752,11 +2752,9 @@ #ifdef CONFIG_MAC L(scc_initable_mac): - .byte 9,12 /* Reset */ .byte 4,0x44 /* x16, 1 stopbit, no parity */ .byte 3,0xc0 /* receiver: 8 bpc */ .byte 5,0xe2 /* transmitter: 8 bpc, assert dtr/rts */ - .byte 9,0 /* no interrupts */ .byte 10,0 /* NRZ */ .byte 11,0x50 /* use baud rate generator */ .byte 12,1,13,0 /* 38400 baud */ @@ -2899,6 +2897,7 @@ is_not_mac(L(serial_init_not_mac)) #ifdef SERIAL_DEBUG + /* You may define either or both of these. */ #define MAC_USE_SCC_A /* Modem port */ #define MAC_USE_SCC_B /* Printer port */ @@ -2908,9 +2907,21 @@ #define mac_scc_cha_b_data_offset 0x4 #define mac_scc_cha_a_data_offset 0x6 +#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B) + movel %pc@(L(mac_sccbase)),%a0 + /* Reset SCC device */ + moveb #9,%a0@(mac_scc_cha_a_ctrl_offset) + moveb #0xc0,%a0@(mac_scc_cha_a_ctrl_offset) + /* Wait for 5 PCLK cycles, which is about 68 CPU cycles */ + /* 5 / 3.6864 MHz = approx. 1.36 us = 68 / 50 MHz */ + movel #35,%d0 +5: + subq #1,%d0 + jne 5b +#endif + #ifdef MAC_USE_SCC_A /* Initialize channel A */ - movel %pc@(L(mac_sccbase)),%a0 lea %pc@(L(scc_initable_mac)),%a1 5: moveb %a1@+,%d0 jmi 6f @@ -2922,9 +2933,6 @@ #ifdef MAC_USE_SCC_B /* Initialize channel B */ -#ifndef MAC_USE_SCC_A /* Load mac_sccbase only if needed */ - movel %pc@(L(mac_sccbase)),%a0 -#endif /* MAC_USE_SCC_A */ lea %pc@(L(scc_initable_mac)),%a1 7: moveb %a1@+,%d0 jmi 8f @@ -2933,6 +2941,7 @@ jra 7b 8: #endif /* MAC_USE_SCC_B */ + #endif /* SERIAL_DEBUG */ jra L(serial_init_done) @@ -3006,17 +3015,17 @@ #ifdef SERIAL_DEBUG -#ifdef MAC_USE_SCC_A +#if defined(MAC_USE_SCC_A) || defined(MAC_USE_SCC_B) movel %pc@(L(mac_sccbase)),%a1 +#endif + +#ifdef MAC_USE_SCC_A 3: btst #2,%a1@(mac_scc_cha_a_ctrl_offset) jeq 3b moveb %d0,%a1@(mac_scc_cha_a_data_offset) #endif /* MAC_USE_SCC_A */ #ifdef MAC_USE_SCC_B -#ifndef MAC_USE_SCC_A /* Load mac_sccbase only if needed */ - movel %pc@(L(mac_sccbase)),%a1 -#endif /* MAC_USE_SCC_A */ 4: btst #2,%a1@(mac_scc_cha_b_ctrl_offset) jeq 4b moveb %d0,%a1@(mac_scc_cha_b_data_offset) --- linux-lts-quantal-3.5.0.orig/arch/m68k/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/m68k/kernel/sys_m68k.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/avr32/configs/favr-32_defconfig +++ linux-lts-quantal-3.5.0/arch/avr32/configs/favr-32_defconfig @@ -122,7 +122,6 @@ CONFIG_USB_CDC_COMPOSITE=m CONFIG_MMC=y CONFIG_MMC_ATMELMCI=y -CONFIG_MMC_ATMELMCI_DMA=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_ATMEL_PWM=m --- linux-lts-quantal-3.5.0.orig/arch/avr32/configs/merisc_defconfig +++ linux-lts-quantal-3.5.0/arch/avr32/configs/merisc_defconfig @@ -102,7 +102,6 @@ CONFIG_LOGO=y CONFIG_MMC=y CONFIG_MMC_ATMELMCI=y -CONFIG_MMC_ATMELMCI_DMA=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_ATMEL_PWM=y --- linux-lts-quantal-3.5.0.orig/arch/avr32/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/avr32/include/asm/signal.h @@ -121,6 +121,7 @@ __sigrestore_t sa_restorer; sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/avr32/kernel/module.c +++ linux-lts-quantal-3.5.0/arch/avr32/kernel/module.c @@ -264,7 +264,7 @@ break; case R_AVR32_GOT18SW: if ((relocation & 0xfffe0003) != 0 - && (relocation & 0xfffc0003) != 0xffff0000) + && (relocation & 0xfffc0000) != 0xfffc0000) return reloc_overflow(module, "R_AVR32_GOT18SW", relocation); relocation >>= 2; --- linux-lts-quantal-3.5.0.orig/arch/x86/Kconfig +++ linux-lts-quantal-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" @@ -1244,10 +1258,6 @@ Specify the maximum number of NUMA Nodes available on the target system. Increases memory reserved to accommodate various tables. -config HAVE_ARCH_ALLOC_REMAP - def_bool y - depends on X86_32 && NUMA - config ARCH_HAVE_MEMORY_PRESENT def_bool y depends on X86_32 && DISCONTIGMEM @@ -2154,6 +2164,7 @@ config IA32_EMULATION bool "IA32 Emulation" depends on X86_64 + select BINFMT_ELF select COMPAT_BINFMT_ELF ---help--- Include code to run legacy 32-bit programs under a @@ -2220,6 +2231,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "drivers/firmware/Kconfig" source "fs/Kconfig" --- linux-lts-quantal-3.5.0.orig/arch/x86/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/lguest/boot.c +++ linux-lts-quantal-3.5.0/arch/x86/lguest/boot.c @@ -1333,6 +1333,7 @@ pv_mmu_ops.read_cr3 = lguest_read_cr3; pv_mmu_ops.lazy_mode.enter = paravirt_enter_lazy_mmu; pv_mmu_ops.lazy_mode.leave = lguest_leave_lazy_mmu_mode; + pv_mmu_ops.lazy_mode.flush = paravirt_flush_lazy_mmu; pv_mmu_ops.pte_update = lguest_pte_update; pv_mmu_ops.pte_update_defer = lguest_pte_update; --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/time.c +++ linux-lts-quantal-3.5.0/arch/x86/xen/time.c @@ -36,9 +36,8 @@ /* snapshots of runstate info */ static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate_snapshot); -/* unused ns of stolen and blocked time */ +/* unused ns of stolen time */ static DEFINE_PER_CPU(u64, xen_residual_stolen); -static DEFINE_PER_CPU(u64, xen_residual_blocked); /* return an consistent snapshot of 64-bit time/counter value */ static u64 get64(const u64 *p) @@ -115,7 +114,7 @@ { struct vcpu_runstate_info state; struct vcpu_runstate_info *snap; - s64 blocked, runnable, offline, stolen; + s64 runnable, offline, stolen; cputime_t ticks; get_runstate_snapshot(&state); @@ -125,7 +124,6 @@ snap = &__get_cpu_var(xen_runstate_snapshot); /* work out how much time the VCPU has not been runn*ing* */ - blocked = state.time[RUNSTATE_blocked] - snap->time[RUNSTATE_blocked]; runnable = state.time[RUNSTATE_runnable] - snap->time[RUNSTATE_runnable]; offline = state.time[RUNSTATE_offline] - snap->time[RUNSTATE_offline]; @@ -141,17 +139,6 @@ ticks = iter_div_u64_rem(stolen, NS_PER_TICK, &stolen); __this_cpu_write(xen_residual_stolen, stolen); account_steal_ticks(ticks); - - /* Add the appropriate number of ticks of blocked time, - including any left-overs from last time. */ - blocked += __this_cpu_read(xen_residual_blocked); - - if (blocked < 0) - blocked = 0; - - ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked); - __this_cpu_write(xen_residual_blocked, blocked); - account_idle_ticks(ticks); } /* Get the TSC speed from Xen */ @@ -497,7 +484,11 @@ { int cpu = smp_processor_id(); xen_setup_runstate_info(cpu); - xen_setup_timer(cpu); + /* + * xen_setup_timer(cpu) - snprintf is bad in atomic context. Hence + * doing it xen_hvm_cpu_notify (which gets called by smp_init during + * early bootup and also during CPU hotplug events). + */ xen_setup_cpu_clockevents(); } --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/p2m.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/xen/spinlock.c +++ linux-lts-quantal-3.5.0/arch/x86/xen/spinlock.c @@ -328,7 +328,6 @@ if (per_cpu(lock_spinners, cpu) == xl) { ADD_STATS(released_slow_kicked, 1); xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR); - break; } } } --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/smp.c +++ linux-lts-quantal-3.5.0/arch/x86/xen/smp.c @@ -669,6 +669,8 @@ unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL); unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu), NULL); unbind_from_irqhandler(per_cpu(xen_irq_work, cpu), NULL); + xen_uninit_lock_cpu(cpu); + xen_teardown_timer(cpu); native_cpu_die(cpu); } --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/enlighten.c +++ linux-lts-quantal-3.5.0/arch/x86/xen/enlighten.c @@ -65,6 +65,7 @@ #include #include #include +#include #ifdef CONFIG_ACPI #include @@ -140,6 +141,21 @@ BUG_ON(HYPERVISOR_shared_info == &xen_dummy_shared_info); + /* + * This path is called twice on PVHVM - first during bootup via + * smp_init -> xen_hvm_cpu_notify, and then if the VCPU is being + * hotplugged: cpu_up -> xen_hvm_cpu_notify. + * As we can only do the VCPUOP_register_vcpu_info once lets + * not over-write its result. + * + * For PV it is called during restore (xen_vcpu_restore) and bootup + * (xen_setup_vcpu_info_placement). The hotplug mechanism does not + * use this function. + */ + if (xen_hvm_domain()) { + if (per_cpu(xen_vcpu, cpu) == &per_cpu(xen_vcpu_info, cpu)) + return; + } if (cpu < MAX_VIRT_CPUS) per_cpu(xen_vcpu,cpu) = &HYPERVISOR_shared_info->vcpu_info[cpu]; @@ -952,7 +968,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 +1146,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 +1161,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 @@ -1352,6 +1384,14 @@ pgd = (pgd_t *)xen_start_info->pt_base; +#ifdef CONFIG_X86_PAT + /* + * For right now disable the PAT. We should remove this once + * git commit 8eaffa67b43e99ae581622c5133e20b0f48bcef1 + * (xen/pat: Disable PAT support for now) is reverted. + */ + pat_enabled = 0; +#endif /* Don't do the full vcpu_info placement stuff until we have a possible map and a non-dummy shared_info. */ per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0]; @@ -1422,6 +1462,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. */ @@ -1504,8 +1548,11 @@ switch (action) { case CPU_UP_PREPARE: xen_vcpu_setup(cpu); - if (xen_have_vector_callback) + if (xen_have_vector_callback) { xen_init_lock_cpu(cpu); + if (xen_feature(XENFEAT_hvm_safe_pvclock)) + xen_setup_timer(cpu); + } break; default: break; --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/setup.c +++ linux-lts-quantal-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, @@ -310,6 +318,17 @@ e820_add_region(start, end - start, type); } +void xen_ignore_unusable(struct e820entry *list, size_t map_size) +{ + struct e820entry *entry; + unsigned int i; + + for (i = 0, entry = list; i < map_size; i++, entry++) { + if (entry->type == E820_UNUSABLE) + entry->type = E820_RAM; + } +} + /** * machine_specific_memory_setup - Hook for machine specific memory setup. **/ @@ -350,6 +369,17 @@ } BUG_ON(rc); + /* + * Xen won't allow a 1:1 mapping to be created to UNUSABLE + * regions, so if we're using the machine memory map leave the + * region as RAM as it is in the pseudo-physical map. + * + * UNUSABLE regions in domUs are not handled and will need + * a patch in the future. + */ + if (xen_initial_domain()) + xen_ignore_unusable(map, memmap.nr_entries); + /* Make sure the Xen-supplied memory map is well-ordered. */ sanitize_e820_map(map, memmap.nr_entries, &memmap.nr_entries); @@ -542,4 +572,7 @@ disable_cpufreq(); WARN_ON(set_pm_idle_to_default()); fiddle_vdso(); +#ifdef CONFIG_NUMA + numa_off = 1; +#endif } --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/mmu.c +++ linux-lts-quantal-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; @@ -2033,6 +2052,7 @@ .lazy_mode = { .enter = paravirt_enter_lazy_mmu, .leave = xen_leave_lazy_mmu, + .flush = paravirt_flush_lazy_mmu, }, .set_fixmap = xen_set_fixmap, @@ -2339,7 +2359,7 @@ err = 0; out: - flush_tlb_all(); + xen_flush_tlb_all(); return err; } --- linux-lts-quantal-3.5.0.orig/arch/x86/xen/xen-asm_32.S +++ linux-lts-quantal-3.5.0/arch/x86/xen/xen-asm_32.S @@ -89,11 +89,11 @@ */ #ifdef CONFIG_SMP GET_THREAD_INFO(%eax) - movl TI_cpu(%eax), %eax - movl __per_cpu_offset(,%eax,4), %eax - mov xen_vcpu(%eax), %eax + movl %ss:TI_cpu(%eax), %eax + movl %ss:__per_cpu_offset(,%eax,4), %eax + mov %ss:xen_vcpu(%eax), %eax #else - movl xen_vcpu, %eax + movl %ss:xen_vcpu, %eax #endif /* check IF state we're restoring */ @@ -106,11 +106,11 @@ * resuming the code, so we don't have to be worried about * being preempted to another CPU. */ - setz XEN_vcpu_info_mask(%eax) + setz %ss:XEN_vcpu_info_mask(%eax) xen_iret_start_crit: /* check for unmasked and pending */ - cmpw $0x0001, XEN_vcpu_info_pending(%eax) + cmpw $0x0001, %ss:XEN_vcpu_info_pending(%eax) /* * If there's something pending, mask events again so we can @@ -118,7 +118,7 @@ * touch XEN_vcpu_info_mask. */ jne 1f - movb $1, XEN_vcpu_info_mask(%eax) + movb $1, %ss:XEN_vcpu_info_mask(%eax) 1: popl %eax --- linux-lts-quantal-3.5.0.orig/arch/x86/power/hibernate_32.c +++ linux-lts-quantal-3.5.0/arch/x86/power/hibernate_32.c @@ -129,8 +129,6 @@ } } - resume_map_numa_kva(pgd_base); - return 0; } --- linux-lts-quantal-3.5.0.orig/arch/x86/power/cpu.c +++ linux-lts-quantal-3.5.0/arch/x86/power/cpu.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -227,6 +228,7 @@ do_fpu_end(); x86_platform.restore_sched_clock_state(); mtrr_bp_restore(); + perf_restore_debug_store(); } /* Needed by apm.c */ --- linux-lts-quantal-3.5.0.orig/arch/x86/realmode/rm/wakemain.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/lib/usercopy_64.c +++ linux-lts-quantal-3.5.0/arch/x86/lib/usercopy_64.c @@ -72,10 +72,10 @@ char c; unsigned zero_len; - for (; len; --len) { + for (; len; --len, to++) { if (__get_user_nocheck(c, from++, sizeof(char))) break; - if (__put_user_nocheck(c, to++, sizeof(char))) + if (__put_user_nocheck(c, to, sizeof(char))) break; } --- linux-lts-quantal-3.5.0.orig/arch/x86/kvm/cpuid.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kvm/x86.c +++ linux-lts-quantal-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) { @@ -555,8 +558,6 @@ if (index != XCR_XFEATURE_ENABLED_MASK) return 1; xcr0 = xcr; - if (kvm_x86_ops->get_cpl(vcpu) != 0) - return 1; if (!(xcr0 & XSTATE_FP)) return 1; if ((xcr0 & XSTATE_YMM) && !(xcr0 & XSTATE_SSE)) @@ -570,7 +571,8 @@ int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr) { - if (__kvm_set_xcr(vcpu, index, xcr)) { + if (kvm_x86_ops->get_cpl(vcpu) != 0 || + __kvm_set_xcr(vcpu, index, xcr)) { kvm_inject_gp(vcpu, 0); return 1; } @@ -604,10 +606,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 +638,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 +923,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; @@ -1114,7 +1134,6 @@ { unsigned long flags; struct kvm_vcpu_arch *vcpu = &v->arch; - void *shared_kaddr; unsigned long this_tsc_khz; s64 kernel_ns, max_kernel_ns; u64 tsc_timestamp; @@ -1150,7 +1169,7 @@ local_irq_restore(flags); - if (!vcpu->time_page) + if (!vcpu->pv_time_enabled) return 0; /* @@ -1208,14 +1227,9 @@ */ vcpu->hv_clock.version += 2; - shared_kaddr = kmap_atomic(vcpu->time_page); - - memcpy(shared_kaddr + vcpu->time_offset, &vcpu->hv_clock, - sizeof(vcpu->hv_clock)); - - kunmap_atomic(shared_kaddr); - - mark_page_dirty(v->kvm, vcpu->time >> PAGE_SHIFT); + kvm_write_guest_cached(v->kvm, &vcpu->pv_time, + &vcpu->hv_clock, + sizeof(vcpu->hv_clock)); return 0; } @@ -1494,7 +1508,8 @@ return 0; } - if (kvm_gfn_to_hva_cache_init(vcpu->kvm, &vcpu->arch.apf.data, gpa)) + if (kvm_gfn_to_hva_cache_init(vcpu->kvm, &vcpu->arch.apf.data, gpa, + sizeof(u32))) return 1; vcpu->arch.apf.send_user_only = !(data & KVM_ASYNC_PF_SEND_ALWAYS); @@ -1504,10 +1519,7 @@ static void kvmclock_reset(struct kvm_vcpu *vcpu) { - if (vcpu->arch.time_page) { - kvm_release_page_dirty(vcpu->arch.time_page); - vcpu->arch.time_page = NULL; - } + vcpu->arch.pv_time_enabled = false; } static void accumulate_steal_time(struct kvm_vcpu *vcpu) @@ -1602,6 +1614,7 @@ break; case MSR_KVM_SYSTEM_TIME_NEW: case MSR_KVM_SYSTEM_TIME: { + u64 gpa_offset; kvmclock_reset(vcpu); vcpu->arch.time = data; @@ -1611,16 +1624,15 @@ if (!(data & 1)) break; - /* ...but clean it before doing the actual write */ - vcpu->arch.time_offset = data & ~(PAGE_MASK | 1); + gpa_offset = data & ~(PAGE_MASK | 1); - vcpu->arch.time_page = - gfn_to_page(vcpu->kvm, data >> PAGE_SHIFT); + if (kvm_gfn_to_hva_cache_init(vcpu->kvm, + &vcpu->arch.pv_time, data & ~1ULL, + sizeof(struct pvclock_vcpu_time_info))) + vcpu->arch.pv_time_enabled = false; + else + vcpu->arch.pv_time_enabled = true; - if (is_error_page(vcpu->arch.time_page)) { - kvm_release_page_clean(vcpu->arch.time_page); - vcpu->arch.time_page = NULL; - } break; } case MSR_KVM_ASYNC_PF_EN: @@ -1636,7 +1648,8 @@ return 1; if (kvm_gfn_to_hva_cache_init(vcpu->kvm, &vcpu->arch.st.stime, - data & KVM_STEAL_VALID_BITS)) + data & KVM_STEAL_VALID_BITS, + sizeof(struct kvm_steal_time))) return 1; vcpu->arch.st.msr_val = data; @@ -2607,7 +2620,7 @@ static int kvm_set_guest_paused(struct kvm_vcpu *vcpu) { struct pvclock_vcpu_time_info *src = &vcpu->arch.hv_clock; - if (!vcpu->arch.time_page) + if (!vcpu->arch.pv_time_enabled) return -EINVAL; src->flags |= PVCLOCK_GUEST_STOPPED; mark_page_dirty(vcpu->kvm, vcpu->arch.time >> PAGE_SHIFT); @@ -5737,6 +5750,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); @@ -6204,6 +6220,7 @@ if (!zalloc_cpumask_var(&vcpu->arch.wbinvd_dirty_mask, GFP_KERNEL)) goto fail_free_mce_banks; + vcpu->arch.pv_time_enabled = false; kvm_async_pf_hash_reset(vcpu); kvm_pmu_init(vcpu); --- linux-lts-quantal-3.5.0.orig/arch/x86/kvm/vmx.c +++ linux-lts-quantal-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; @@ -4927,6 +4948,12 @@ if (err != EMULATE_DONE) return 0; + if (vcpu->arch.halt_request) { + vcpu->arch.halt_request = 0; + ret = kvm_emulate_halt(vcpu); + goto out; + } + if (signal_pending(current)) goto out; if (need_resched()) @@ -6273,6 +6300,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 +6507,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 +7258,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 +7333,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-lts-quantal-3.5.0.orig/arch/x86/kvm/cpuid.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kvm/mmu.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kvm/i8259.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kvm/svm.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kvm/emulate.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/ia32/ia32entry.S +++ linux-lts-quantal-3.5.0/arch/x86/ia32/ia32entry.S @@ -204,7 +204,7 @@ testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) jnz ia32_ret_from_sys_call TRACE_IRQS_ON - sti + ENABLE_INTERRUPTS(CLBR_NONE) movl %eax,%esi /* second arg, syscall return value */ cmpl $-MAX_ERRNO,%eax /* is it an error ? */ jbe 1f @@ -214,7 +214,7 @@ call __audit_syscall_exit movq RAX-ARGOFFSET(%rsp),%rax /* reload syscall return value */ movl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),%edi - cli + DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF testl %edi,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) jz \exit --- linux-lts-quantal-3.5.0.orig/arch/x86/syscalls/syscall_64.tbl +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/pci/xen.c +++ linux-lts-quantal-3.5.0/arch/x86/pci/xen.c @@ -162,6 +162,9 @@ struct msi_desc *msidesc; int *v; + if (type == PCI_CAP_ID_MSI && nvec > 1) + return 1; + v = kzalloc(sizeof(int) * max(1, nvec), GFP_KERNEL); if (!v) return -ENOMEM; @@ -220,6 +223,9 @@ struct msi_desc *msidesc; struct msi_msg msg; + if (type == PCI_CAP_ID_MSI && nvec > 1) + return 1; + list_for_each_entry(msidesc, &dev->msi_list, list) { __read_msi_msg(msidesc, &msg); pirq = MSI_ADDR_EXT_DEST_ID(msg.address_hi) | @@ -263,6 +269,9 @@ int ret = 0; struct msi_desc *msidesc; + if (type == PCI_CAP_ID_MSI && nvec > 1) + return 1; + list_for_each_entry(msidesc, &dev->msi_list, list) { struct physdev_map_pirq map_irq; domid_t domid; --- linux-lts-quantal-3.5.0.orig/arch/x86/pci/common.c +++ linux-lts-quantal-3.5.0/arch/x86/pci/common.c @@ -433,7 +433,8 @@ .callback = set_scan_all, .ident = "Stratus/NEC ftServer", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ftServer"), + DMI_MATCH(DMI_SYS_VENDOR, "Stratus"), + DMI_MATCH(DMI_PRODUCT_NAME, "ftServer"), }, }, {} --- linux-lts-quantal-3.5.0.orig/arch/x86/include/asm/fpu-internal.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/paravirt.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/paravirt.h @@ -741,7 +741,10 @@ PVOP_VCALL0(pv_mmu_ops.lazy_mode.leave); } -void arch_flush_lazy_mmu_mode(void); +static inline void arch_flush_lazy_mmu_mode(void) +{ + PVOP_VCALL0(pv_mmu_ops.lazy_mode.flush); +} static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx, phys_addr_t phys, pgprot_t flags) --- linux-lts-quantal-3.5.0.orig/arch/x86/include/asm/syscall.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/syscall.h @@ -29,13 +29,13 @@ */ static inline int syscall_get_nr(struct task_struct *task, struct pt_regs *regs) { - return regs->orig_ax & __SYSCALL_MASK; + return regs->orig_ax; } static inline void syscall_rollback(struct task_struct *task, struct pt_regs *regs) { - regs->ax = regs->orig_ax & __SYSCALL_MASK; + regs->ax = regs->orig_ax; } static inline long syscall_get_error(struct task_struct *task, --- linux-lts-quantal-3.5.0.orig/arch/x86/include/asm/bootparam.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/efi.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/efi.h @@ -94,10 +94,12 @@ #endif /* CONFIG_X86_32 */ extern int add_efi_memmap; +extern unsigned long x86_efi_facility; extern void efi_set_executable(efi_memory_desc_t *md, bool executable); 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-lts-quantal-3.5.0.orig/arch/x86/include/asm/kvm_host.h +++ linux-lts-quantal-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)) @@ -410,8 +411,8 @@ gpa_t time; struct pvclock_vcpu_time_info hv_clock; unsigned int hw_tsc_khz; - unsigned int time_offset; - struct page *time_page; + struct gfn_to_hva_cache pv_time; + bool pv_time_enabled; struct { u64 msr_val; @@ -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-lts-quantal-3.5.0.orig/arch/x86/include/asm/ptrace.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/signal.h @@ -125,6 +125,8 @@ extern void do_notify_resume(struct pt_regs *, void *, __u32); # endif /* __KERNEL__ */ +#define __ARCH_HAS_SA_RESTORER + #ifdef __i386__ # ifdef __KERNEL__ struct old_sigaction { --- linux-lts-quantal-3.5.0.orig/arch/x86/include/asm/mce.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/paravirt_types.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/paravirt_types.h @@ -91,6 +91,7 @@ /* Set deferred update mode, used for batching operations. */ void (*enter)(void); void (*leave)(void); + void (*flush)(void); }; struct pv_time_ops { @@ -680,6 +681,7 @@ void paravirt_enter_lazy_mmu(void); void paravirt_leave_lazy_mmu(void); +void paravirt_flush_lazy_mmu(void); void _paravirt_nop(void); u32 _paravirt_ident_32(u32); --- linux-lts-quantal-3.5.0.orig/arch/x86/include/asm/dma-mapping.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/mmzone_32.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/mmzone_32.h @@ -14,12 +14,6 @@ #include -extern void resume_map_numa_kva(pgd_t *pgd); - -#else /* !CONFIG_NUMA */ - -static inline void resume_map_numa_kva(pgd_t *pgd) {} - #endif /* CONFIG_NUMA */ #ifdef CONFIG_DISCONTIGMEM --- linux-lts-quantal-3.5.0.orig/arch/x86/include/asm/pgtable.h +++ linux-lts-quantal-3.5.0/arch/x86/include/asm/pgtable.h @@ -142,12 +142,16 @@ return (pmd_val(pmd) & PTE_PFN_MASK) >> PAGE_SHIFT; } +static inline unsigned long pud_pfn(pud_t pud) +{ + return (pud_val(pud) & PTE_PFN_MASK) >> PAGE_SHIFT; +} + #define pte_page(pte) pfn_to_page(pte_pfn(pte)) 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 +419,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-lts-quantal-3.5.0.orig/arch/x86/include/asm/processor-flags.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/vmx.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/include/asm/xen/page.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/mm/numa_32.c +++ linux-lts-quantal-3.5.0/arch/x86/mm/numa_32.c @@ -73,167 +73,6 @@ extern unsigned long highend_pfn, highstart_pfn; -#define LARGE_PAGE_BYTES (PTRS_PER_PTE * PAGE_SIZE) - -static void *node_remap_start_vaddr[MAX_NUMNODES]; -void set_pmd_pfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags); - -/* - * Remap memory allocator - */ -static unsigned long node_remap_start_pfn[MAX_NUMNODES]; -static void *node_remap_end_vaddr[MAX_NUMNODES]; -static void *node_remap_alloc_vaddr[MAX_NUMNODES]; - -/** - * alloc_remap - Allocate remapped memory - * @nid: NUMA node to allocate memory from - * @size: The size of allocation - * - * Allocate @size bytes from the remap area of NUMA node @nid. The - * size of the remap area is predetermined by init_alloc_remap() and - * only the callers considered there should call this function. For - * more info, please read the comment on top of init_alloc_remap(). - * - * The caller must be ready to handle allocation failure from this - * function and fall back to regular memory allocator in such cases. - * - * CONTEXT: - * Single CPU early boot context. - * - * RETURNS: - * Pointer to the allocated memory on success, %NULL on failure. - */ -void *alloc_remap(int nid, unsigned long size) -{ - void *allocation = node_remap_alloc_vaddr[nid]; - - size = ALIGN(size, L1_CACHE_BYTES); - - if (!allocation || (allocation + size) > node_remap_end_vaddr[nid]) - return NULL; - - node_remap_alloc_vaddr[nid] += size; - memset(allocation, 0, size); - - return allocation; -} - -#ifdef CONFIG_HIBERNATION -/** - * resume_map_numa_kva - add KVA mapping to the temporary page tables created - * during resume from hibernation - * @pgd_base - temporary resume page directory - */ -void resume_map_numa_kva(pgd_t *pgd_base) -{ - int node; - - for_each_online_node(node) { - unsigned long start_va, start_pfn, nr_pages, pfn; - - start_va = (unsigned long)node_remap_start_vaddr[node]; - start_pfn = node_remap_start_pfn[node]; - nr_pages = (node_remap_end_vaddr[node] - - node_remap_start_vaddr[node]) >> PAGE_SHIFT; - - printk(KERN_DEBUG "%s: node %d\n", __func__, node); - - for (pfn = 0; pfn < nr_pages; pfn += PTRS_PER_PTE) { - unsigned long vaddr = start_va + (pfn << PAGE_SHIFT); - pgd_t *pgd = pgd_base + pgd_index(vaddr); - pud_t *pud = pud_offset(pgd, vaddr); - pmd_t *pmd = pmd_offset(pud, vaddr); - - set_pmd(pmd, pfn_pmd(start_pfn + pfn, - PAGE_KERNEL_LARGE_EXEC)); - - printk(KERN_DEBUG "%s: %08lx -> pfn %08lx\n", - __func__, vaddr, start_pfn + pfn); - } - } -} -#endif - -/** - * init_alloc_remap - Initialize remap allocator for a NUMA node - * @nid: NUMA node to initizlie remap allocator for - * - * NUMA nodes may end up without any lowmem. As allocating pgdat and - * memmap on a different node with lowmem is inefficient, a special - * remap allocator is implemented which can be used by alloc_remap(). - * - * For each node, the amount of memory which will be necessary for - * pgdat and memmap is calculated and two memory areas of the size are - * allocated - one in the node and the other in lowmem; then, the area - * in the node is remapped to the lowmem area. - * - * As pgdat and memmap must be allocated in lowmem anyway, this - * doesn't waste lowmem address space; however, the actual lowmem - * which gets remapped over is wasted. The amount shouldn't be - * problematic on machines this feature will be used. - * - * Initialization failure isn't fatal. alloc_remap() is used - * opportunistically and the callers will fall back to other memory - * allocation mechanisms on failure. - */ -void __init init_alloc_remap(int nid, u64 start, u64 end) -{ - unsigned long start_pfn = start >> PAGE_SHIFT; - unsigned long end_pfn = end >> PAGE_SHIFT; - unsigned long size, pfn; - u64 node_pa, remap_pa; - void *remap_va; - - /* - * The acpi/srat node info can show hot-add memroy zones where - * memory could be added but not currently present. - */ - printk(KERN_DEBUG "node %d pfn: [%lx - %lx]\n", - nid, start_pfn, end_pfn); - - /* calculate the necessary space aligned to large page size */ - size = node_memmap_size_bytes(nid, start_pfn, end_pfn); - size += ALIGN(sizeof(pg_data_t), PAGE_SIZE); - size = ALIGN(size, LARGE_PAGE_BYTES); - - /* allocate node memory and the lowmem remap area */ - node_pa = memblock_find_in_range(start, end, size, LARGE_PAGE_BYTES); - if (!node_pa) { - pr_warning("remap_alloc: failed to allocate %lu bytes for node %d\n", - size, nid); - return; - } - memblock_reserve(node_pa, size); - - remap_pa = memblock_find_in_range(min_low_pfn << PAGE_SHIFT, - max_low_pfn << PAGE_SHIFT, - size, LARGE_PAGE_BYTES); - if (!remap_pa) { - pr_warning("remap_alloc: failed to allocate %lu bytes remap area for node %d\n", - size, nid); - memblock_free(node_pa, size); - return; - } - memblock_reserve(remap_pa, size); - remap_va = phys_to_virt(remap_pa); - - /* perform actual remap */ - for (pfn = 0; pfn < size >> PAGE_SHIFT; pfn += PTRS_PER_PTE) - set_pmd_pfn((unsigned long)remap_va + (pfn << PAGE_SHIFT), - (node_pa >> PAGE_SHIFT) + pfn, - PAGE_KERNEL_LARGE); - - /* initialize remap allocator parameters */ - node_remap_start_pfn[nid] = node_pa >> PAGE_SHIFT; - node_remap_start_vaddr[nid] = remap_va; - node_remap_end_vaddr[nid] = remap_va + size; - node_remap_alloc_vaddr[nid] = remap_va; - - printk(KERN_DEBUG "remap_alloc: node %d [%08llx-%08llx) -> [%p-%p)\n", - nid, node_pa, node_pa + size, remap_va, remap_va + size); -} - void __init initmem_init(void) { x86_numa_init(); --- linux-lts-quantal-3.5.0.orig/arch/x86/mm/hugetlbpage.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/mm/numa.c +++ linux-lts-quantal-3.5.0/arch/x86/mm/numa.c @@ -193,7 +193,6 @@ static void __init setup_node_data(int nid, u64 start, u64 end) { const size_t nd_size = roundup(sizeof(pg_data_t), PAGE_SIZE); - bool remapped = false; u64 nd_pa; void *nd; int tnid; @@ -205,37 +204,28 @@ if (end && (end - start) < NODE_MIN_SIZE) return; - /* initialize remap allocator before aligning to ZONE_ALIGN */ - init_alloc_remap(nid, start, end); - start = roundup(start, ZONE_ALIGN); printk(KERN_INFO "Initmem setup node %d [mem %#010Lx-%#010Lx]\n", nid, start, end - 1); /* - * Allocate node data. Try remap allocator first, node-local - * memory and then any node. Never allocate in DMA zone. + * Allocate node data. Try node-local memory and then any node. + * Never allocate in DMA zone. */ - nd = alloc_remap(nid, nd_size); - if (nd) { - nd_pa = __pa(nd); - remapped = true; - } else { - nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid); - if (!nd_pa) { - pr_err("Cannot find %zu bytes in node %d\n", - nd_size, nid); - return; - } - nd = __va(nd_pa); + nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid); + if (!nd_pa) { + pr_err("Cannot find %zu bytes in node %d\n", + nd_size, nid); + return; } + nd = __va(nd_pa); /* report and initialize */ - printk(KERN_INFO " NODE_DATA [mem %#010Lx-%#010Lx]%s\n", - nd_pa, nd_pa + nd_size - 1, remapped ? " (remapped)" : ""); + printk(KERN_INFO " NODE_DATA [mem %#010Lx-%#010Lx]\n", + nd_pa, nd_pa + nd_size - 1); tnid = early_pfn_to_nid(nd_pa >> PAGE_SHIFT); - if (!remapped && tnid != nid) + if (tnid != nid) printk(KERN_INFO " NODE_DATA(%d) on node %d\n", nid, tnid); node_data[nid] = nd; --- linux-lts-quantal-3.5.0.orig/arch/x86/mm/init.c +++ linux-lts-quantal-3.5.0/arch/x86/mm/init.c @@ -35,41 +35,50 @@ 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; + unsigned long pgd_extra = 0; phys_addr_t base; - puds = (end + PUD_SIZE - 1) >> PUD_SHIFT; - tables = roundup(puds * sizeof(pud_t), PAGE_SIZE); - - if (use_gbpages) { - unsigned long extra; + for (i = 0; i < nr_range; i++) { + unsigned long range, extra; - extra = end - ((end>>PUD_SHIFT) << PUD_SHIFT); - pmds = (extra + PMD_SIZE - 1) >> PMD_SHIFT; - } else - pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT; + if ((mr[i].end >> PGDIR_SHIFT) - (mr[i].start >> PGDIR_SHIFT)) + pgd_extra++; - tables += roundup(pmds * sizeof(pmd_t), PAGE_SIZE); + range = mr[i].end - mr[i].start; + puds += (range + PUD_SIZE - 1) >> PUD_SHIFT; - if (use_pse) { - unsigned long extra; + 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; + } - 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); + tables += (pgd_extra * PAGE_SIZE); #ifdef CONFIG_X86_32 /* for fixmap */ @@ -86,7 +95,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 +276,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-lts-quantal-3.5.0.orig/arch/x86/mm/init_64.c +++ linux-lts-quantal-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; } @@ -824,6 +829,9 @@ if (pud_none(*pud)) return 0; + if (pud_large(*pud)) + return pfn_valid(pud_pfn(*pud)); + pmd = pmd_offset(pud, addr); if (pmd_none(*pmd)) return 0; --- linux-lts-quantal-3.5.0.orig/arch/x86/mm/numa_internal.h +++ linux-lts-quantal-3.5.0/arch/x86/mm/numa_internal.h @@ -21,12 +21,6 @@ void __init x86_numa_init(void); -#ifdef CONFIG_X86_64 -static inline void init_alloc_remap(int nid, u64 start, u64 end) { } -#else -void __init init_alloc_remap(int nid, u64 start, u64 end); -#endif - #ifdef CONFIG_NUMA_EMU void __init numa_emulation(struct numa_meminfo *numa_meminfo, int numa_dist_cnt); --- linux-lts-quantal-3.5.0.orig/arch/x86/mm/mmap.c +++ linux-lts-quantal-3.5.0/arch/x86/mm/mmap.c @@ -112,12 +112,14 @@ */ void arch_pick_mmap_layout(struct mm_struct *mm) { + mm->mmap_legacy_base = mmap_legacy_base(); + mm->mmap_base = mmap_base(); + if (mmap_is_legacy()) { - mm->mmap_base = mmap_legacy_base(); + mm->mmap_base = mm->mmap_legacy_base; mm->get_unmapped_area = arch_get_unmapped_area; mm->unmap_area = arch_unmap_area; } else { - mm->mmap_base = mmap_base(); mm->get_unmapped_area = arch_get_unmapped_area_topdown; mm->unmap_area = arch_unmap_area_topdown; } --- linux-lts-quantal-3.5.0.orig/arch/x86/mm/fault.c +++ linux-lts-quantal-3.5.0/arch/x86/mm/fault.c @@ -377,10 +377,12 @@ if (pgd_none(*pgd_ref)) return -1; - if (pgd_none(*pgd)) + if (pgd_none(*pgd)) { set_pgd(pgd, *pgd_ref); - else + arch_flush_lazy_mmu_mode(); + } else { BUG_ON(pgd_page_vaddr(*pgd) != pgd_page_vaddr(*pgd_ref)); + } /* * Below here mismatches are bugs because these lower tables @@ -747,13 +749,15 @@ return; } #endif + /* Kernel addresses are always protection faults: */ + if (address >= TASK_SIZE) + error_code |= PF_PROT; - if (unlikely(show_unhandled_signals)) + if (likely(show_unhandled_signals)) show_signal_msg(regs, error_code, address, tsk); - /* Kernel addresses are always protection faults: */ tsk->thread.cr2 = address; - tsk->thread.error_code = error_code | (address >= TASK_SIZE); + tsk->thread.error_code = error_code; tsk->thread.trap_nr = X86_TRAP_PF; force_sig_info_fault(SIGSEGV, si_code, address, tsk, 0); --- linux-lts-quantal-3.5.0.orig/arch/x86/boot/video.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/boot/header.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/boot/compressed/head_32.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/boot/compressed/eboot.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/boot/compressed/Makefile +++ linux-lts-quantal-3.5.0/arch/x86/boot/compressed/Makefile @@ -4,7 +4,7 @@ # create a compressed vmlinux image from the original vmlinux # -targets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo head_$(BITS).o misc.o string.o cmdline.o early_serial_console.o piggy.o +targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 KBUILD_CFLAGS += -fno-strict-aliasing -fPIC @@ -28,6 +28,8 @@ $(obj)/string.o $(obj)/cmdline.o $(obj)/early_serial_console.o \ $(obj)/piggy.o +$(obj)/eboot.o: KBUILD_CFLAGS += -fshort-wchar -mno-red-zone + ifeq ($(CONFIG_EFI_STUB), y) VMLINUX_OBJS += $(obj)/eboot.o $(obj)/efi_stub_$(BITS).o endif @@ -40,7 +42,7 @@ $(obj)/vmlinux.bin: vmlinux FORCE $(call if_changed,objcopy) -targets += vmlinux.bin.all vmlinux.relocs +targets += $(patsubst $(obj)/%,%,$(VMLINUX_OBJS)) vmlinux.bin.all vmlinux.relocs CMD_RELOCS = arch/x86/tools/relocs quiet_cmd_relocs = RELOCS $@ --- linux-lts-quantal-3.5.0.orig/arch/x86/boot/compressed/head_64.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/sys_x86_64.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/sys_x86_64.c @@ -115,7 +115,7 @@ *begin = new_begin; } } else { - *begin = TASK_UNMAPPED_BASE; + *begin = current->mm->mmap_legacy_base; *end = TASK_SIZE; } } --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/smpboot.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/smpboot.c @@ -66,6 +66,8 @@ #include #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-lts-quantal-3.5.0.orig/arch/x86/kernel/entry_64.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/microcode_core.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/hpet.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/hpet.c @@ -434,7 +434,7 @@ /* unmask it */ cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); - cfg |= HPET_TN_FSB; + cfg |= HPET_TN_ENABLE | HPET_TN_FSB; hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); } @@ -445,7 +445,7 @@ /* mask it */ cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); - cfg &= ~HPET_TN_FSB; + cfg &= ~(HPET_TN_ENABLE | HPET_TN_FSB); hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); } --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/irq.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/irq.c @@ -165,10 +165,6 @@ u64 arch_irq_stat(void) { u64 sum = atomic_read(&irq_err_count); - -#ifdef CONFIG_X86_IO_APIC - sum += atomic_read(&irq_mis_count); -#endif return sum; } --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/setup.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/setup.c @@ -613,6 +613,83 @@ static unsigned reserve_low = CONFIG_X86_RESERVE_LOW << 10; +static bool __init snb_gfx_workaround_needed(void) +{ +#ifdef CONFIG_PCI + int i; + u16 vendor, devid; + static const __initconst u16 snb_ids[] = { + 0x0102, + 0x0112, + 0x0122, + 0x0106, + 0x0116, + 0x0126, + 0x010a, + }; + + /* Assume no if something weird is going on with PCI */ + if (!early_pci_allowed()) + return false; + + vendor = read_pci_config_16(0, 2, 0, PCI_VENDOR_ID); + if (vendor != 0x8086) + return false; + + devid = read_pci_config_16(0, 2, 0, PCI_DEVICE_ID); + for (i = 0; i < ARRAY_SIZE(snb_ids); i++) + if (devid == snb_ids[i]) + return true; +#endif + + return false; +} + +/* + * Sandy Bridge graphics has trouble with certain ranges, exclude + * them from allocation. + */ +static void __init trim_snb_memory(void) +{ + static const __initconst unsigned long bad_pages[] = { + 0x20050000, + 0x20110000, + 0x20130000, + 0x20138000, + 0x40004000, + }; + int i; + + if (!snb_gfx_workaround_needed()) + return; + + printk(KERN_DEBUG "reserving inaccessible SNB gfx pages\n"); + + /* + * Reserve all memory below the 1 MB mark that has not + * already been reserved. + */ + memblock_reserve(0, 1<<20); + + for (i = 0; i < ARRAY_SIZE(bad_pages); i++) { + if (memblock_reserve(bad_pages[i], PAGE_SIZE)) + printk(KERN_WARNING "failed to reserve 0x%08lx\n", + bad_pages[i]); + } +} + +/* + * Here we put platform-specific memory range workarounds, i.e. + * memory known to be corrupt or otherwise in need to be reserved on + * specific platforms. + * + * If this gets used more widely it could use a real dispatch mechanism. + */ +static void __init trim_platform_memory_ranges(void) +{ + trim_snb_memory(); +} + static void __init trim_bios_range(void) { /* @@ -633,6 +710,7 @@ * take them out. */ e820_remove_range(BIOS_BEGIN, BIOS_END - BIOS_BEGIN, E820_RAM, 1); + sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map); } @@ -732,15 +810,15 @@ #ifdef CONFIG_EFI if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature, "EL32", 4)) { - efi_enabled = 1; - efi_64bit = false; + set_bit(EFI_BOOT, &x86_efi_facility); } else if (!strncmp((char *)&boot_params.efi_info.efi_loader_signature, "EL64", 4)) { - efi_enabled = 1; - efi_64bit = true; + set_bit(EFI_BOOT, &x86_efi_facility); + set_bit(EFI_64BIT, &x86_efi_facility); } - if (efi_enabled && efi_memblock_x86_reserve_range()) - efi_enabled = 0; + + if (efi_enabled(EFI_BOOT)) + efi_memblock_x86_reserve_range(); #endif x86_init.oem.arch_setup(); @@ -813,7 +891,7 @@ finish_e820_parsing(); - if (efi_enabled) + if (efi_enabled(EFI_BOOT)) efi_init(); dmi_scan_machine(); @@ -896,7 +974,7 @@ * The EFI specification says that boot service code won't be called * after ExitBootServices(). This is, in fact, a lie. */ - if (efi_enabled) + if (efi_enabled(EFI_MEMMAP)) efi_reserve_boot_services(); /* preallocate 4k for mptable mpc */ @@ -911,6 +989,8 @@ setup_real_mode(); + trim_platform_memory_ranges(); + init_gbpages(); /* max_pfn_mapped is updated here */ @@ -919,8 +999,22 @@ #ifdef CONFIG_X86_64 if (max_pfn > max_low_pfn) { - max_pfn_mapped = init_memory_mapping(1UL<<32, - max_pfn<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-lts-quantal-3.5.0.orig/arch/x86/kernel/head.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/head.c @@ -5,8 +5,6 @@ #include #include -#define BIOS_LOWMEM_KILOBYTES 0x413 - /* * The BIOS places the EBDA/XBDA at the top of conventional * memory, and usually decreases the reported amount of @@ -16,17 +14,30 @@ * chipset: reserve a page before VGA to prevent PCI prefetch * into it (errata #56). Usually the page is reserved anyways, * unless you have no PS/2 mouse plugged in. + * + * This functions is deliberately very conservative. Losing + * memory in the bottom megabyte is rarely a problem, as long + * as we have enough memory to install the trampoline. Using + * memory that is in use by the BIOS or by some DMA device + * the BIOS didn't shut down *is* a big problem. */ + +#define BIOS_LOWMEM_KILOBYTES 0x413 +#define LOWMEM_CAP 0x9f000U /* Absolute maximum */ +#define INSANE_CUTOFF 0x20000U /* Less than this = insane */ + void __init reserve_ebda_region(void) { unsigned int lowmem, ebda_addr; - /* To determine the position of the EBDA and the */ - /* end of conventional memory, we need to look at */ - /* the BIOS data area. In a paravirtual environment */ - /* that area is absent. We'll just have to assume */ - /* that the paravirt case can handle memory setup */ - /* correctly, without our help. */ + /* + * To determine the position of the EBDA and the + * end of conventional memory, we need to look at + * the BIOS data area. In a paravirtual environment + * that area is absent. We'll just have to assume + * that the paravirt case can handle memory setup + * correctly, without our help. + */ if (paravirt_enabled()) return; @@ -37,19 +48,23 @@ /* start of EBDA area */ ebda_addr = get_bios_ebda(); - /* Fixup: bios puts an EBDA in the top 64K segment */ - /* of conventional memory, but does not adjust lowmem. */ - if ((lowmem - ebda_addr) <= 0x10000) - lowmem = ebda_addr; - - /* Fixup: bios does not report an EBDA at all. */ - /* Some old Dells seem to need 4k anyhow (bugzilla 2990) */ - if ((ebda_addr == 0) && (lowmem >= 0x9f000)) - lowmem = 0x9f000; - - /* Paranoia: should never happen, but... */ - if ((lowmem == 0) || (lowmem >= 0x100000)) - lowmem = 0x9f000; + /* + * Note: some old Dells seem to need 4k EBDA without + * reporting so, so just consider the memory above 0x9f000 + * to be off limits (bugzilla 2990). + */ + + /* If the EBDA address is below 128K, assume it is bogus */ + if (ebda_addr < INSANE_CUTOFF) + ebda_addr = LOWMEM_CAP; + + /* If lowmem is less than 128K, assume it is bogus */ + if (lowmem < INSANE_CUTOFF) + lowmem = LOWMEM_CAP; + + /* Use the lower of the lowmem and EBDA markers as the cutoff */ + lowmem = min(lowmem, ebda_addr); + lowmem = min(lowmem, LOWMEM_CAP); /* Absolute cap */ /* reserve all memory between lowmem and the 1MB mark */ memblock_reserve(lowmem, 0x100000 - lowmem); --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/alternative.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/ptrace.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/e820.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/relocate_kernel_64.S +++ linux-lts-quantal-3.5.0/arch/x86/kernel/relocate_kernel_64.S @@ -160,7 +160,7 @@ xorq %rbp, %rbp xorq %r8, %r8 xorq %r9, %r9 - xorq %r10, %r9 + xorq %r10, %r10 xorq %r11, %r11 xorq %r12, %r12 xorq %r13, %r13 --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/msr.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/msr.c @@ -174,6 +174,9 @@ unsigned int cpu; struct cpuinfo_x86 *c; + if (!capable(CAP_SYS_RAWIO)) + return -EPERM; + cpu = iminor(file->f_path.dentry->d_inode); if (cpu >= nr_cpu_ids || !cpu_online(cpu)) return -ENXIO; /* No such CPU */ --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/step.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/step.c @@ -157,6 +157,33 @@ return 1; } +static void set_task_blockstep(struct task_struct *task, bool on) +{ + unsigned long debugctl; + + /* + * Ensure irq/preemption can't change debugctl in between. + * Note also that both TIF_BLOCKSTEP and debugctl should + * be changed atomically wrt preemption. + * FIXME: this means that set/clear TIF_BLOCKSTEP is simply + * wrong if task != current, SIGKILL can wakeup the stopped + * tracee and set/clear can play with the running task, this + * can confuse the next __switch_to_xtra(). + */ + local_irq_disable(); + debugctl = get_debugctlmsr(); + if (on) { + debugctl |= DEBUGCTLMSR_BTF; + set_tsk_thread_flag(task, TIF_BLOCKSTEP); + } else { + debugctl &= ~DEBUGCTLMSR_BTF; + clear_tsk_thread_flag(task, TIF_BLOCKSTEP); + } + if (task == current) + update_debugctlmsr(debugctl); + local_irq_enable(); +} + /* * Enable single or block step. */ @@ -169,19 +196,10 @@ * So no one should try to use debugger block stepping in a program * that uses user-mode single stepping itself. */ - if (enable_single_step(child) && block) { - unsigned long debugctl = get_debugctlmsr(); - - debugctl |= DEBUGCTLMSR_BTF; - update_debugctlmsr(debugctl); - set_tsk_thread_flag(child, TIF_BLOCKSTEP); - } else if (test_tsk_thread_flag(child, TIF_BLOCKSTEP)) { - unsigned long debugctl = get_debugctlmsr(); - - debugctl &= ~DEBUGCTLMSR_BTF; - update_debugctlmsr(debugctl); - clear_tsk_thread_flag(child, TIF_BLOCKSTEP); - } + if (enable_single_step(child) && block) + set_task_blockstep(child, true); + else if (test_tsk_thread_flag(child, TIF_BLOCKSTEP)) + set_task_blockstep(child, false); } void user_enable_single_step(struct task_struct *child) @@ -199,13 +217,8 @@ /* * Make sure block stepping (BTF) is disabled. */ - if (test_tsk_thread_flag(child, TIF_BLOCKSTEP)) { - unsigned long debugctl = get_debugctlmsr(); - - debugctl &= ~DEBUGCTLMSR_BTF; - update_debugctlmsr(debugctl); - clear_tsk_thread_flag(child, TIF_BLOCKSTEP); - } + if (test_tsk_thread_flag(child, TIF_BLOCKSTEP)) + set_task_blockstep(child, false); /* Always clear TIF_SINGLESTEP... */ clear_tsk_thread_flag(child, TIF_SINGLESTEP); --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/entry_32.S +++ linux-lts-quantal-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,15 @@ 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-lts-quantal-3.5.0.orig/arch/x86/kernel/reboot.c +++ linux-lts-quantal-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,54 @@ 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"), + }, + }, + { /* Handle problems with rebooting on the OptiPlex 390. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 390", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 390"), + }, + }, + { /* Handle problems with rebooting on the Dell PowerEdge C6100. */ + .callback = set_pci_reboot, + .ident = "Dell PowerEdge C6100", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "C6100"), + }, + }, + { /* Some C6100 machines were shipped with vendor being 'Dell'. */ + .callback = set_pci_reboot, + .ident = "Dell PowerEdge C6100", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell"), + DMI_MATCH(DMI_PRODUCT_NAME, "C6100"), + }, + }, { } }; @@ -598,7 +654,7 @@ break; case BOOT_EFI: - if (efi_enabled) + if (efi_enabled(EFI_RUNTIME_SERVICES)) efi.reset_system(reboot_mode ? EFI_RESET_WARM : EFI_RESET_COLD, --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/i387.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/i387.c @@ -132,7 +132,7 @@ clts(); if (cpu_has_fxsr) { memset(&fx_scratch, 0, sizeof(struct i387_fxsave_struct)); - asm volatile("fxsave %0" : : "m" (fx_scratch)); + asm volatile("fxsave %0" : "+m" (fx_scratch)); mask = fx_scratch.mxcsr_mask; if (mask == 0) mask = 0x0000ffbf; --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/paravirt.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/paravirt.c @@ -263,6 +263,18 @@ leave_lazy(PARAVIRT_LAZY_MMU); } +void paravirt_flush_lazy_mmu(void) +{ + preempt_disable(); + + if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) { + arch_leave_lazy_mmu_mode(); + arch_enter_lazy_mmu_mode(); + } + + preempt_enable(); +} + void paravirt_start_context_switch(struct task_struct *prev) { BUG_ON(preemptible()); @@ -292,18 +304,6 @@ return this_cpu_read(paravirt_lazy_mode); } -void arch_flush_lazy_mmu_mode(void) -{ - preempt_disable(); - - if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) { - arch_leave_lazy_mmu_mode(); - arch_enter_lazy_mmu_mode(); - } - - preempt_enable(); -} - struct pv_info pv_info = { .name = "bare hardware", .paravirt_enabled = 0, @@ -477,6 +477,7 @@ .lazy_mode = { .enter = paravirt_nop, .leave = paravirt_nop, + .flush = paravirt_nop, }, .set_fixmap = native_set_fixmap, --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/acpi/sleep.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/perf_event_amd_ibs.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/perf_event_intel_ds.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/perf_event_intel_ds.c @@ -714,3 +714,13 @@ } } } + +void perf_restore_debug_store(void) +{ + struct debug_store *ds = __this_cpu_read(cpu_hw_events.ds); + + if (!x86_pmu.bts && !x86_pmu.pebs) + return; + + wrmsrl(MSR_IA32_DS_AREA, (unsigned long)ds); +} --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/perf_event_intel.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/perf_event_intel.c @@ -126,8 +126,14 @@ }; static struct extra_reg intel_snb_extra_regs[] __read_mostly = { - INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3fffffffffull, RSP_0), - INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3fffffffffull, RSP_1), + INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3f807f8fffull, RSP_0), + INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3f807f8fffull, RSP_1), + EVENT_EXTRA_END +}; + +static struct extra_reg intel_snbep_extra_regs[] __read_mostly = { + INTEL_EVENT_EXTRA_REG(0xb7, MSR_OFFCORE_RSP_0, 0x3fffff8fffull, RSP_0), + INTEL_EVENT_EXTRA_REG(0xbb, MSR_OFFCORE_RSP_1, 0x3fffff8fffull, RSP_1), EVENT_EXTRA_END }; @@ -1920,7 +1926,10 @@ x86_pmu.event_constraints = intel_snb_event_constraints; x86_pmu.pebs_constraints = intel_snb_pebs_event_constraints; x86_pmu.pebs_aliases = intel_pebs_aliases_snb; - x86_pmu.extra_regs = intel_snb_extra_regs; + if (boot_cpu_data.x86_model == 45) + x86_pmu.extra_regs = intel_snbep_extra_regs; + else + x86_pmu.extra_regs = intel_snb_extra_regs; /* all extra regs are per-cpu when HT is on */ x86_pmu.er_flags |= ERF_HAS_RSP_1; x86_pmu.er_flags |= ERF_NO_HT_SHARING; --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/common.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mshyperv.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/mshyperv.c @@ -68,7 +68,8 @@ printk(KERN_INFO "HyperV: features 0x%x, hints 0x%x\n", ms_hyperv.features, ms_hyperv.hints); - clocksource_register_hz(&hyperv_cs, NSEC_PER_SEC/100); + if (ms_hyperv.features & HV_X64_MSR_TIME_REF_COUNT_AVAILABLE) + clocksource_register_hz(&hyperv_cs, NSEC_PER_SEC/100); } const __refconst struct hypervisor_x86 x86_hyper_ms_hyperv = { --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/perf_event_intel_lbr.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/perf_event_intel_lbr.c @@ -310,7 +310,7 @@ * - in case there is no HW filter * - in case the HW filter has errata or limitations */ -static void intel_pmu_setup_sw_lbr_filter(struct perf_event *event) +static int intel_pmu_setup_sw_lbr_filter(struct perf_event *event) { u64 br_type = event->attr.branch_sample_type; int mask = 0; @@ -318,8 +318,11 @@ if (br_type & PERF_SAMPLE_BRANCH_USER) mask |= X86_BR_USER; - if (br_type & PERF_SAMPLE_BRANCH_KERNEL) + if (br_type & PERF_SAMPLE_BRANCH_KERNEL) { + if (perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN)) + return -EACCES; mask |= X86_BR_KERNEL; + } /* we ignore BRANCH_HV here */ @@ -339,6 +342,8 @@ * be used by fixup code for some CPU */ event->hw.branch_reg.reg = mask; + + return 0; } /* @@ -386,7 +391,9 @@ /* * setup SW LBR filter */ - intel_pmu_setup_sw_lbr_filter(event); + ret = intel_pmu_setup_sw_lbr_filter(event); + if (ret) + return ret; /* * setup HW LBR filter, if any @@ -442,8 +449,18 @@ return X86_BR_NONE; addr = buf; - } else - addr = (void *)from; + } else { + /* + * The LBR logs any address in the IP, even if the IP just + * faulted. This means userspace can control the from address. + * Ensure we don't blindy read any address by validating it is + * a known text address. + */ + if (kernel_text_address(from)) + addr = (void *)from; + else + return X86_BR_NONE; + } /* * decoder needs to know the ABI especially --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/amd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -181,11 +181,6 @@ this_cpu, level == CORE_LEVEL ? "Core" : "Package", state->count); - else - printk(KERN_CRIT "CPU%d: %s power limit notification (total events = %lu)\n", - this_cpu, - level == CORE_LEVEL ? "Core" : "Package", - state->count); return 1; } if (old_event) { @@ -193,10 +188,6 @@ printk(KERN_INFO "CPU%d: %s temperature/speed normal\n", this_cpu, level == CORE_LEVEL ? "Core" : "Package"); - else - printk(KERN_INFO "CPU%d: %s power limit normal\n", - this_cpu, - level == CORE_LEVEL ? "Core" : "Package"); return 1; } @@ -219,6 +210,15 @@ return 1; } +static bool int_pln_enable; +static int __init int_pln_enable_setup(char *s) +{ + int_pln_enable = true; + + return 1; +} +__setup("int_pln_enable", int_pln_enable_setup); + #ifdef CONFIG_SYSFS /* Add/Remove thermal_throttle interface for CPU device: */ static __cpuinit int thermal_throttle_add_dev(struct device *dev, @@ -231,7 +231,7 @@ if (err) return err; - if (cpu_has(c, X86_FEATURE_PLN)) + if (cpu_has(c, X86_FEATURE_PLN) && int_pln_enable) err = sysfs_add_file_to_group(&dev->kobj, &dev_attr_core_power_limit_count.attr, thermal_attr_group.name); @@ -239,7 +239,7 @@ err = sysfs_add_file_to_group(&dev->kobj, &dev_attr_package_throttle_count.attr, thermal_attr_group.name); - if (cpu_has(c, X86_FEATURE_PLN)) + if (cpu_has(c, X86_FEATURE_PLN) && int_pln_enable) err = sysfs_add_file_to_group(&dev->kobj, &dev_attr_package_power_limit_count.attr, thermal_attr_group.name); @@ -352,7 +352,7 @@ CORE_LEVEL) != 0) mce_log_therm_throt_event(msr_val); - if (this_cpu_has(X86_FEATURE_PLN)) + if (this_cpu_has(X86_FEATURE_PLN) && int_pln_enable) therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT, POWER_LIMIT_EVENT, CORE_LEVEL); @@ -362,7 +362,7 @@ therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT, THERMAL_THROTTLING_EVENT, PACKAGE_LEVEL); - if (this_cpu_has(X86_FEATURE_PLN)) + if (this_cpu_has(X86_FEATURE_PLN) && int_pln_enable) therm_throt_process(msr_val & PACKAGE_THERM_STATUS_POWER_LIMIT, POWER_LIMIT_EVENT, @@ -470,9 +470,13 @@ apic_write(APIC_LVTTHMR, h); rdmsr(MSR_IA32_THERM_INTERRUPT, l, h); - if (cpu_has(c, X86_FEATURE_PLN)) + if (cpu_has(c, X86_FEATURE_PLN) && !int_pln_enable) + wrmsr(MSR_IA32_THERM_INTERRUPT, + (l | (THERM_INT_LOW_ENABLE + | THERM_INT_HIGH_ENABLE)) & ~THERM_INT_PLN_ENABLE, h); + else if (cpu_has(c, X86_FEATURE_PLN) && int_pln_enable) wrmsr(MSR_IA32_THERM_INTERRUPT, - l | (THERM_INT_LOW_ENABLE + l | (THERM_INT_LOW_ENABLE | THERM_INT_HIGH_ENABLE | THERM_INT_PLN_ENABLE), h); else wrmsr(MSR_IA32_THERM_INTERRUPT, @@ -480,9 +484,14 @@ if (cpu_has(c, X86_FEATURE_PTS)) { rdmsr(MSR_IA32_PACKAGE_THERM_INTERRUPT, l, h); - if (cpu_has(c, X86_FEATURE_PLN)) + if (cpu_has(c, X86_FEATURE_PLN) && !int_pln_enable) + wrmsr(MSR_IA32_PACKAGE_THERM_INTERRUPT, + (l | (PACKAGE_THERM_INT_LOW_ENABLE + | PACKAGE_THERM_INT_HIGH_ENABLE)) + & ~PACKAGE_THERM_INT_PLN_ENABLE, h); + else if (cpu_has(c, X86_FEATURE_PLN) && int_pln_enable) wrmsr(MSR_IA32_PACKAGE_THERM_INTERRUPT, - l | (PACKAGE_THERM_INT_LOW_ENABLE + l | (PACKAGE_THERM_INT_LOW_ENABLE | PACKAGE_THERM_INT_HIGH_ENABLE | PACKAGE_THERM_INT_PLN_ENABLE), h); else --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mcheck/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mcheck/mce-xeon75xx.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mcheck/mce-internal.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mcheck/mce.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mtrr/main.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/mtrr/main.c @@ -305,7 +305,8 @@ return -EINVAL; } - if (base & size_or_mask || size & size_or_mask) { + if ((base | (base + size - 1)) >> + (boot_cpu_data.x86_phys_bits - PAGE_SHIFT)) { pr_warning("mtrr: base or size exceeds the MTRR width\n"); return -EINVAL; } @@ -583,6 +584,7 @@ int __initdata changed_by_mtrr_cleanup; +#define SIZE_OR_MASK_BITS(n) (~((1ULL << ((n) - PAGE_SHIFT)) - 1)) /** * mtrr_bp_init - initialize mtrrs on the boot CPU * @@ -600,7 +602,7 @@ if (cpu_has_mtrr) { mtrr_if = &generic_mtrr_ops; - size_or_mask = 0xff000000; /* 36 bits */ + size_or_mask = SIZE_OR_MASK_BITS(36); size_and_mask = 0x00f00000; phys_addr = 36; @@ -619,7 +621,7 @@ boot_cpu_data.x86_mask == 0x4)) phys_addr = 36; - size_or_mask = ~((1ULL << (phys_addr - PAGE_SHIFT)) - 1); + size_or_mask = SIZE_OR_MASK_BITS(phys_addr); size_and_mask = ~size_or_mask & 0xfffff00000ULL; } else if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR && boot_cpu_data.x86 == 6) { @@ -627,7 +629,7 @@ * VIA C* family have Intel style MTRRs, * but don't support PAE */ - size_or_mask = 0xfff00000; /* 32 bits */ + size_or_mask = SIZE_OR_MASK_BITS(32); size_and_mask = 0; phys_addr = 32; } @@ -637,21 +639,21 @@ if (cpu_has_k6_mtrr) { /* Pre-Athlon (K6) AMD CPU MTRRs */ mtrr_if = mtrr_ops[X86_VENDOR_AMD]; - size_or_mask = 0xfff00000; /* 32 bits */ + size_or_mask = SIZE_OR_MASK_BITS(32); size_and_mask = 0; } break; case X86_VENDOR_CENTAUR: if (cpu_has_centaur_mcr) { mtrr_if = mtrr_ops[X86_VENDOR_CENTAUR]; - size_or_mask = 0xfff00000; /* 32 bits */ + size_or_mask = SIZE_OR_MASK_BITS(32); size_and_mask = 0; } break; case X86_VENDOR_CYRIX: if (cpu_has_cyrix_arr) { mtrr_if = mtrr_ops[X86_VENDOR_CYRIX]; - size_or_mask = 0xfff00000; /* 32 bits */ + size_or_mask = SIZE_OR_MASK_BITS(32); size_and_mask = 0; } break; --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/cpu/mtrr/generic.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/cpu/mtrr/generic.c @@ -514,8 +514,9 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base, unsigned long *size, mtrr_type *type) { - unsigned int mask_lo, mask_hi, base_lo, base_hi; - unsigned int tmp, hi; + u32 mask_lo, mask_hi, base_lo, base_hi; + unsigned int hi; + u64 tmp, mask; /* * get_mtrr doesn't need to update mtrr_state, also it could be called @@ -536,18 +537,18 @@ rdmsr(MTRRphysBase_MSR(reg), base_lo, base_hi); /* Work out the shifted address mask: */ - tmp = mask_hi << (32 - PAGE_SHIFT) | mask_lo >> PAGE_SHIFT; - mask_lo = size_or_mask | tmp; + tmp = (u64)mask_hi << (32 - PAGE_SHIFT) | mask_lo >> PAGE_SHIFT; + mask = size_or_mask | tmp; /* Expand tmp with high bits to all 1s: */ - hi = fls(tmp); + hi = fls64(tmp); if (hi > 0) { - tmp |= ~((1<<(hi - 1)) - 1); + tmp |= ~((1ULL<<(hi - 1)) - 1); - if (tmp != mask_lo) { + if (tmp != mask) { printk(KERN_WARNING "mtrr: your BIOS has configured an incorrect mask, fixing it.\n"); add_taint(TAINT_FIRMWARE_WORKAROUND); - mask_lo = tmp; + mask = tmp; } } @@ -555,8 +556,8 @@ * This works correctly if size is a power of two, i.e. a * contiguous range: */ - *size = -mask_lo; - *base = base_hi << (32 - PAGE_SHIFT) | base_lo >> PAGE_SHIFT; + *size = -mask; + *base = (u64)base_hi << (32 - PAGE_SHIFT) | base_lo >> PAGE_SHIFT; *type = base_lo & 0xff; out_put_cpu: --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/apic/ipi.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/apic/ipi.c @@ -106,7 +106,7 @@ unsigned long mask = cpumask_bits(cpumask)[0]; unsigned long flags; - if (WARN_ONCE(!mask, "empty IPI mask")) + if (!mask) return; local_irq_save(flags); --- linux-lts-quantal-3.5.0.orig/arch/x86/kernel/apic/x2apic_phys.c +++ linux-lts-quantal-3.5.0/arch/x86/kernel/apic/x2apic_phys.c @@ -20,18 +20,19 @@ } early_param("x2apic_phys", set_x2apic_phys_mode); -static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id) +static bool x2apic_fadt_phys(void) { - if (x2apic_phys) - return x2apic_enabled(); - else if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) && - (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) && - x2apic_enabled()) { + if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) && + (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL)) { printk(KERN_DEBUG "System requires x2apic physical mode\n"); - return 1; + return true; } - else - return 0; + return false; +} + +static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id) +{ + return x2apic_enabled() && (x2apic_phys || x2apic_fadt_phys()); } static void @@ -114,7 +115,7 @@ static int x2apic_phys_probe(void) { - if (x2apic_mode && x2apic_phys) + if (x2apic_mode && (x2apic_phys || x2apic_fadt_phys())) return 1; return apic == &apic_x2apic_phys; --- linux-lts-quantal-3.5.0.orig/arch/x86/oprofile/nmi_int.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/x86/platform/efi/efi.c +++ linux-lts-quantal-3.5.0/arch/x86/platform/efi/efi.c @@ -50,8 +50,12 @@ #define EFI_DEBUG 1 -int efi_enabled; -EXPORT_SYMBOL(efi_enabled); +#define EFI_MIN_RESERVE 5120 + +#define EFI_DUMMY_GUID \ + EFI_GUID(0x4424ac57, 0xbe4b, 0x47dd, 0x9e, 0x97, 0xed, 0x50, 0xf0, 0x9f, 0x92, 0xa9) + +static efi_char16_t efi_dummy_name[6] = { 'D', 'U', 'M', 'M', 'Y', 0 }; struct efi __read_mostly efi = { .mps = EFI_INVALID_TABLE_ADDR, @@ -68,15 +72,29 @@ 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_enabled(EFI_64BIT); +} + +unsigned long x86_efi_facility; + +/* + * Returns 1 if 'facility' is enabled, 0 otherwise. + */ +int efi_enabled(int facility) +{ + return test_bit(facility, &x86_efi_facility) != 0; +} +EXPORT_SYMBOL(efi_enabled); + +static bool disable_runtime = false; static int __init setup_noefi(char *arg) { - efi_enabled = 0; + disable_runtime = true; return 0; } early_param("noefi", setup_noefi); @@ -91,6 +109,15 @@ } early_param("add_efi_memmap", setup_add_efi_memmap); +static bool efi_no_storage_paranoia; + +static int __init setup_storage_paranoia(char *arg) +{ + efi_no_storage_paranoia = true; + return 0; +} +early_param("efi_no_storage_paranoia", setup_storage_paranoia); + static efi_status_t virt_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc) { @@ -419,10 +446,22 @@ } } -static void __init efi_free_boot_services(void) +void __init efi_unmap_memmap(void) +{ + clear_bit(EFI_MEMMAP, &x86_efi_facility); + 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,11 +477,13 @@ free_bootmem_late(start, size); } + + efi_unmap_memmap(); } static int __init efi_systab_init(void *phys) { - if (efi_64bit) { + if (efi_enabled(EFI_64BIT)) { efi_system_table_64_t *systab64; u64 tmp = 0; @@ -534,7 +575,7 @@ void *config_tables, *tablep; int i, sz; - if (efi_64bit) + if (efi_enabled(EFI_64BIT)) sz = sizeof(efi_config_table_64_t); else sz = sizeof(efi_config_table_32_t); @@ -554,7 +595,7 @@ efi_guid_t guid; unsigned long table; - if (efi_64bit) { + if (efi_enabled(EFI_64BIT)) { u64 table64; guid = ((efi_config_table_64_t *)tablep)->guid; table64 = ((efi_config_table_64_t *)tablep)->table; @@ -666,22 +707,19 @@ if (boot_params.efi_info.efi_systab_hi || boot_params.efi_info.efi_memmap_hi) { pr_info("Table located above 4GB, disabling EFI.\n"); - efi_enabled = 0; 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)) { - efi_enabled = 0; + if (efi_systab_init(efi_phys.systab)) return; - } + + set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility); /* * Show what we know for posterity @@ -699,29 +737,31 @@ efi.systab->hdr.revision >> 16, efi.systab->hdr.revision & 0xffff, vendor); - if (efi_config_init(efi.systab->tables, efi.systab->nr_tables)) { - efi_enabled = 0; + if (efi_config_init(efi.systab->tables, efi.systab->nr_tables)) return; - } + + set_bit(EFI_CONFIG_TABLES, &x86_efi_facility); /* * Note: We currently don't support runtime services on an EFI * 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; - return; + else { + if (disable_runtime || efi_runtime_init()) + return; + set_bit(EFI_RUNTIME_SERVICES, &x86_efi_facility); } - if (efi_memmap_init()) { - efi_enabled = 0; + if (efi_memmap_init()) return; - } + + set_bit(EFI_MEMMAP, &x86_efi_facility); + #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 +827,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) { @@ -819,10 +861,13 @@ for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) { md = p; - if (!(md->attribute & EFI_MEMORY_RUNTIME) && - md->type != EFI_BOOT_SERVICES_CODE && - md->type != EFI_BOOT_SERVICES_DATA) - continue; + if (!(md->attribute & EFI_MEMORY_RUNTIME)) { +#ifdef CONFIG_X86_64 + if (md->type != EFI_BOOT_SERVICES_CODE && + md->type != EFI_BOOT_SERVICES_DATA) +#endif + continue; + } size = md->num_pages << EFI_PAGE_SHIFT; end = md->phys_addr + size; @@ -878,18 +923,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.hdr.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,10 +945,14 @@ 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); + + /* clean DUMMY object */ + efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID, + EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS, + 0, NULL); } /* @@ -920,6 +963,9 @@ efi_memory_desc_t *md; void *p; + if (!efi_enabled(EFI_MEMMAP)) + return 0; + for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) { md = p; if ((md->phys_addr <= phys_addr) && @@ -944,3 +990,85 @@ } return 0; } + +/* + * Some firmware has serious problems when using more than 50% of the EFI + * variable store, i.e. it triggers bugs that can brick machines. Ensure that + * we never use more than this safe limit. + * + * Return EFI_SUCCESS if it is safe to write 'size' bytes to the variable + * store. + */ +efi_status_t efi_query_variable_store(u32 attributes, unsigned long size) +{ + efi_status_t status; + u64 storage_size, remaining_size, max_size; + + if (!(attributes & EFI_VARIABLE_NON_VOLATILE)) + return 0; + + status = efi.query_variable_info(attributes, &storage_size, + &remaining_size, &max_size); + if (status != EFI_SUCCESS) + return status; + + /* + * Some firmware implementations refuse to boot if there's insufficient + * space in the variable store. We account for that by refusing the + * write if permitting it would reduce the available space to under + * 5KB. This figure was provided by Samsung, so should be safe. + */ + if ((remaining_size - size < EFI_MIN_RESERVE) && + !efi_no_storage_paranoia) { + + /* + * Triggering garbage collection may require that the firmware + * generate a real EFI_OUT_OF_RESOURCES error. We can force + * that by attempting to use more space than is available. + */ + unsigned long dummy_size = remaining_size + 1024; + void *dummy = kzalloc(dummy_size, GFP_ATOMIC); + + if (!dummy) + return EFI_OUT_OF_RESOURCES; + + status = efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID, + EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS, + dummy_size, dummy); + + if (status == EFI_SUCCESS) { + /* + * This should have failed, so if it didn't make sure + * that we delete it... + */ + efi.set_variable(efi_dummy_name, &EFI_DUMMY_GUID, + EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS, + 0, dummy); + } + + kfree(dummy); + + /* + * The runtime code may now have triggered a garbage collection + * run, so check the variable info again + */ + status = efi.query_variable_info(attributes, &storage_size, + &remaining_size, &max_size); + + if (status != EFI_SUCCESS) + return status; + + /* + * There still isn't enough room, so return an error + */ + if (remaining_size - size < EFI_MIN_RESERVE) + return EFI_OUT_OF_RESOURCES; + } + + return EFI_SUCCESS; +} +EXPORT_SYMBOL_GPL(efi_query_variable_store); --- linux-lts-quantal-3.5.0.orig/arch/x86/platform/efi/efi_64.c +++ linux-lts-quantal-3.5.0/arch/x86/platform/efi/efi_64.c @@ -38,7 +38,7 @@ #include #include -static pgd_t save_pgd __initdata; +static pgd_t *save_pgd __initdata; static unsigned long efi_flags __initdata; static void __init early_code_mapping_set_exec(int executable) @@ -61,12 +61,20 @@ void __init efi_call_phys_prelog(void) { unsigned long vaddress; + int pgd; + int n_pgds; early_code_mapping_set_exec(1); local_irq_save(efi_flags); - vaddress = (unsigned long)__va(0x0UL); - save_pgd = *pgd_offset_k(0x0UL); - set_pgd(pgd_offset_k(0x0UL), *pgd_offset_k(vaddress)); + + n_pgds = DIV_ROUND_UP((max_pfn << PAGE_SHIFT), PGDIR_SIZE); + save_pgd = kmalloc(n_pgds * sizeof(pgd_t), GFP_KERNEL); + + for (pgd = 0; pgd < n_pgds; pgd++) { + save_pgd[pgd] = *pgd_offset_k(pgd * PGDIR_SIZE); + vaddress = (unsigned long)__va(pgd * PGDIR_SIZE); + set_pgd(pgd_offset_k(pgd * PGDIR_SIZE), *pgd_offset_k(vaddress)); + } __flush_tlb_all(); } @@ -75,7 +83,11 @@ /* * After the lock is released, the original page table is restored. */ - set_pgd(pgd_offset_k(0x0UL), save_pgd); + int pgd; + int n_pgds = DIV_ROUND_UP((max_pfn << PAGE_SHIFT) , PGDIR_SIZE); + for (pgd = 0; pgd < n_pgds; pgd++) + set_pgd(pgd_offset_k(pgd * PGDIR_SIZE), save_pgd[pgd]); + kfree(save_pgd); __flush_tlb_all(); local_irq_restore(efi_flags); early_code_mapping_set_exec(0); --- linux-lts-quantal-3.5.0.orig/arch/arm/Kconfig +++ linux-lts-quantal-3.5.0/arch/arm/Kconfig @@ -184,7 +184,8 @@ default DRAM_BASE if REMAP_VECTORS_TO_RAM default 0x00000000 help - The base address of exception vectors. + The base address of exception vectors. This must be two pages + in size. config ARM_PATCH_PHYS_VIRT bool "Patch physical to virtual translations at runtime" if EMBEDDED @@ -349,6 +350,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 +550,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 +2086,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 +2269,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "arch/arm/Kconfig.debug" --- linux-lts-quantal-3.5.0.orig/arch/arm/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-shmobile/setup-emev2.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-shmobile/setup-emev2.c @@ -287,14 +287,14 @@ static struct resource gio3_resources[] = { [0] = { .name = "GIO_096", - .start = 0xe0050100, - .end = 0xe005012b, + .start = 0xe0050180, + .end = 0xe00501ab, .flags = IORESOURCE_MEM, }, [1] = { .name = "GIO_096", - .start = 0xe0050140, - .end = 0xe005015f, + .start = 0xe00501c0, + .end = 0xe00501df, .flags = IORESOURCE_MEM, }, [2] = { --- linux-lts-quantal-3.5.0.orig/arch/arm/configs/at91sam9g45_defconfig +++ linux-lts-quantal-3.5.0/arch/arm/configs/at91sam9g45_defconfig @@ -173,7 +173,6 @@ # CONFIG_MMC_BLOCK_BOUNCE is not set CONFIG_SDIO_UART=m CONFIG_MMC_ATMELMCI=y -CONFIG_MMC_ATMELMCI_DMA=y CONFIG_LEDS_ATMEL_PWM=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_TRIGGER_TIMER=y --- linux-lts-quantal-3.5.0.orig/arch/arm/configs/mxs_defconfig +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-exynos/pmu.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-exynos/pmu.c @@ -227,6 +227,7 @@ { EXYNOS5_DIS_IRQ_ISP_ARM_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0} }, { EXYNOS5_ARM_COMMON_SYS_PWR_REG, { 0x0, 0x0, 0x2} }, { EXYNOS5_ARM_L2_SYS_PWR_REG, { 0x3, 0x3, 0x3} }, + { EXYNOS5_ARM_L2_OPTION, { 0x10, 0x10, 0x0 } }, { EXYNOS5_CMU_ACLKSTOP_SYS_PWR_REG, { 0x1, 0x0, 0x1} }, { EXYNOS5_CMU_SCLKSTOP_SYS_PWR_REG, { 0x1, 0x0, 0x1} }, { EXYNOS5_CMU_RESET_SYS_PWR_REG, { 0x1, 0x1, 0x0} }, @@ -352,11 +353,9 @@ /* * SKIP_DEACTIVATE_ACEACP_IN_PWDN_BITFIELD Enable - * MANUAL_L2RSTDISABLE_CONTROL_BITFIELD Enable */ tmp = __raw_readl(EXYNOS5_ARM_COMMON_OPTION); - tmp |= (EXYNOS5_MANUAL_L2RSTDISABLE_CONTROL | - EXYNOS5_SKIP_DEACTIVATE_ACEACP_IN_PWDN); + tmp |= EXYNOS5_SKIP_DEACTIVATE_ACEACP_IN_PWDN; __raw_writel(tmp, EXYNOS5_ARM_COMMON_OPTION); /* --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-exynos/include/mach/regs-pmu.h +++ linux-lts-quantal-3.5.0/arch/arm/mach-exynos/include/mach/regs-pmu.h @@ -337,6 +337,7 @@ #define EXYNOS5_FSYS_ARM_OPTION S5P_PMUREG(0x2208) #define EXYNOS5_ISP_ARM_OPTION S5P_PMUREG(0x2288) #define EXYNOS5_ARM_COMMON_OPTION S5P_PMUREG(0x2408) +#define EXYNOS5_ARM_L2_OPTION S5P_PMUREG(0x2608) #define EXYNOS5_TOP_PWR_OPTION S5P_PMUREG(0x2C48) #define EXYNOS5_TOP_PWR_SYSMEM_OPTION S5P_PMUREG(0x2CC8) #define EXYNOS5_JPEG_MEM_OPTION S5P_PMUREG(0x2F48) --- linux-lts-quantal-3.5.0.orig/arch/arm/plat-omap/counter_32k.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/plat-omap/dmtimer.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/lib/putuser.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/lib/getuser.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-cns3xxx/core.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-cns3xxx/core.c @@ -22,19 +22,9 @@ static struct map_desc cns3xxx_io_desc[] __initdata = { { - .virtual = CNS3XXX_TC11MP_TWD_BASE_VIRT, - .pfn = __phys_to_pfn(CNS3XXX_TC11MP_TWD_BASE), - .length = SZ_4K, - .type = MT_DEVICE, - }, { - .virtual = CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT, - .pfn = __phys_to_pfn(CNS3XXX_TC11MP_GIC_CPU_BASE), - .length = SZ_4K, - .type = MT_DEVICE, - }, { - .virtual = CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT, - .pfn = __phys_to_pfn(CNS3XXX_TC11MP_GIC_DIST_BASE), - .length = SZ_4K, + .virtual = CNS3XXX_TC11MP_SCU_BASE_VIRT, + .pfn = __phys_to_pfn(CNS3XXX_TC11MP_SCU_BASE), + .length = SZ_8K, .type = MT_DEVICE, }, { .virtual = CNS3XXX_TIMER1_2_3_BASE_VIRT, --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-cns3xxx/include/mach/cns3xxx.h +++ linux-lts-quantal-3.5.0/arch/arm/mach-cns3xxx/include/mach/cns3xxx.h @@ -94,10 +94,10 @@ #define RTC_INTR_STS_OFFSET 0x34 #define CNS3XXX_MISC_BASE 0x76000000 /* Misc Control */ -#define CNS3XXX_MISC_BASE_VIRT 0xFFF07000 /* Misc Control */ +#define CNS3XXX_MISC_BASE_VIRT 0xFB000000 /* Misc Control */ #define CNS3XXX_PM_BASE 0x77000000 /* Power Management Control */ -#define CNS3XXX_PM_BASE_VIRT 0xFFF08000 +#define CNS3XXX_PM_BASE_VIRT 0xFB001000 #define PM_CLK_GATE_OFFSET 0x00 #define PM_SOFT_RST_OFFSET 0x04 @@ -109,7 +109,7 @@ #define PM_PLL_HM_PD_OFFSET 0x1C #define CNS3XXX_UART0_BASE 0x78000000 /* UART 0 */ -#define CNS3XXX_UART0_BASE_VIRT 0xFFF09000 +#define CNS3XXX_UART0_BASE_VIRT 0xFB002000 #define CNS3XXX_UART1_BASE 0x78400000 /* UART 1 */ #define CNS3XXX_UART1_BASE_VIRT 0xFFF0A000 @@ -130,7 +130,7 @@ #define CNS3XXX_I2S_BASE_VIRT 0xFFF10000 #define CNS3XXX_TIMER1_2_3_BASE 0x7C800000 /* Timer */ -#define CNS3XXX_TIMER1_2_3_BASE_VIRT 0xFFF10800 +#define CNS3XXX_TIMER1_2_3_BASE_VIRT 0xFB003000 #define TIMER1_COUNTER_OFFSET 0x00 #define TIMER1_AUTO_RELOAD_OFFSET 0x04 @@ -227,16 +227,16 @@ * Testchip peripheral and fpga gic regions */ #define CNS3XXX_TC11MP_SCU_BASE 0x90000000 /* IRQ, Test chip */ -#define CNS3XXX_TC11MP_SCU_BASE_VIRT 0xFF000000 +#define CNS3XXX_TC11MP_SCU_BASE_VIRT 0xFB004000 #define CNS3XXX_TC11MP_GIC_CPU_BASE 0x90000100 /* Test chip interrupt controller CPU interface */ -#define CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT 0xFF000100 +#define CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT (CNS3XXX_TC11MP_SCU_BASE_VIRT + 0x100) #define CNS3XXX_TC11MP_TWD_BASE 0x90000600 -#define CNS3XXX_TC11MP_TWD_BASE_VIRT 0xFF000600 +#define CNS3XXX_TC11MP_TWD_BASE_VIRT (CNS3XXX_TC11MP_SCU_BASE_VIRT + 0x600) #define CNS3XXX_TC11MP_GIC_DIST_BASE 0x90001000 /* Test chip interrupt controller distributor */ -#define CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT 0xFF001000 +#define CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT (CNS3XXX_TC11MP_SCU_BASE_VIRT + 0x1000) #define CNS3XXX_TC11MP_L220_BASE 0x92002000 /* L220 registers */ #define CNS3XXX_TC11MP_L220_BASE_VIRT 0xFF002000 --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-u300/include/mach/u300-regs.h +++ linux-lts-quantal-3.5.0/arch/arm/mach-u300/include/mach/u300-regs.h @@ -101,7 +101,7 @@ #ifdef CONFIG_MACH_U300_BS335 /* Fast UART1 on U335 only */ -#define U300_UART1_BASE (U300_SLOW_PER_PHYS_BASE+0x7000) +#define U300_UART1_BASE (U300_FAST_PER_PHYS_BASE+0x7000) #endif /* --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-versatile/pci.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-versatile/pci.c @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -42,9 +43,9 @@ #define PCI_IMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x0) #define PCI_IMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x4) #define PCI_IMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x8) -#define PCI_SMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x10) -#define PCI_SMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x14) -#define PCI_SMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x18) +#define PCI_SMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x14) +#define PCI_SMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x18) +#define PCI_SMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x1c) #define PCI_SELFID __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0xc) #define DEVICE_ID_OFFSET 0x00 @@ -307,6 +308,19 @@ __raw_writel(PHYS_OFFSET, local_pci_cfg_base + PCI_BASE_ADDRESS_2); /* + * For many years the kernel and QEMU were symbiotically buggy + * in that they both assumed the same broken IRQ mapping. + * QEMU therefore attempts to auto-detect old broken kernels + * so that they still work on newer QEMU as they did on old + * QEMU. Since we now use the correct (ie matching-hardware) + * IRQ mapping we write a definitely different value to a + * PCI_INTERRUPT_LINE register to tell QEMU that we expect + * real hardware behaviour and it need not be backwards + * compatible for us. This write is harmless on real hardware. + */ + __raw_writel(0, VERSATILE_PCI_VIRT_BASE+PCI_INTERRUPT_LINE); + + /* * Do not to map Versatile FPGA PCI device into memory space */ pci_slot_ignore |= (1 << myslot); @@ -340,13 +354,13 @@ { int irq; - /* slot, pin, irq - * 24 1 27 - * 25 1 28 - * 26 1 29 - * 27 1 30 + /* + * Slot INTA INTB INTC INTD + * 31 PCI1 PCI2 PCI3 PCI0 + * 30 PCI0 PCI1 PCI2 PCI3 + * 29 PCI3 PCI0 PCI1 PCI2 */ - irq = 27 + ((slot - 24 + pin - 1) & 3); + irq = IRQ_SIC_PCI0 + ((slot + 2 + pin - 1) & 3); return irq; } --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-versatile/core.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-versatile/core.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -66,16 +67,28 @@ #define VA_VIC_BASE __io_address(VERSATILE_VIC_BASE) #define VA_SIC_BASE __io_address(VERSATILE_SIC_BASE) +/* These PIC IRQs are valid in each configuration */ +#define PIC_VALID_ALL BIT(SIC_INT_KMI0) | BIT(SIC_INT_KMI1) | \ + BIT(SIC_INT_SCI3) | BIT(SIC_INT_UART3) | \ + BIT(SIC_INT_CLCD) | BIT(SIC_INT_TOUCH) | \ + BIT(SIC_INT_KEYPAD) | BIT(SIC_INT_DoC) | \ + BIT(SIC_INT_USB) | BIT(SIC_INT_PCI0) | \ + BIT(SIC_INT_PCI1) | BIT(SIC_INT_PCI2) | \ + BIT(SIC_INT_PCI3) #if 1 #define IRQ_MMCI0A IRQ_VICSOURCE22 #define IRQ_AACI IRQ_VICSOURCE24 #define IRQ_ETH IRQ_VICSOURCE25 #define PIC_MASK 0xFFD00000 +#define PIC_VALID PIC_VALID_ALL #else #define IRQ_MMCI0A IRQ_SIC_MMCI0A #define IRQ_AACI IRQ_SIC_AACI #define IRQ_ETH IRQ_SIC_ETH #define PIC_MASK 0 +#define PIC_VALID PIC_VALID_ALL | BIT(SIC_INT_MMCI0A) | \ + BIT(SIC_INT_MMCI1A) | BIT(SIC_INT_AACI) | \ + BIT(SIC_INT_ETH) #endif /* Lookup table for finding a DT node that represents the vic instance */ @@ -103,7 +116,7 @@ VERSATILE_SIC_BASE); fpga_irq_init(VA_SIC_BASE, "SIC", IRQ_SIC_START, - IRQ_VICSOURCE31, ~PIC_MASK, np); + IRQ_VICSOURCE31, PIC_VALID, np); /* * Interrupts on secondary controller from 0 to 8 are routed to --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-imx/hotplug.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/clk-imx31.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/clk-imx25.c +++ linux-lts-quantal-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"); @@ -243,6 +241,9 @@ clk_register_clkdev(clk[sdma_ahb], "ahb", "imx35-sdma"); clk_register_clkdev(clk[iim_ipg], "iim", NULL); + /* Clock source for gpt must be derived from AHB */ + clk_set_parent(clk[per5_sel], clk[ahb]); + mxc_timer_init(MX25_IO_ADDRESS(MX25_GPT1_BASE_ADDR), 54); return 0; } --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-imx/clk-imx35.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/ehci-imx35.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/ehci-imx25.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/clk-imx51-imx53.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-imx/headsmp.S +++ linux-lts-quantal-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<data; --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-at91/at91rm9200_devices.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-at91/at91sam9rl_devices.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-at91/at91sam9261_devices.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-at91/at91sam9263_devices.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-highbank/highbank.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-highbank/pl320-ipc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-highbank/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-highbank/system.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-highbank/include/mach/pl320-ipc.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-omap3evm.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-omap3evm.c @@ -221,6 +221,7 @@ static struct tfp410_platform_data dvi_panel = { .power_down_gpio = OMAP3EVM_DVI_PANEL_EN_GPIO, + .i2c_bus_num = -1, }; static struct omap_dss_device omap3_evm_dvi_device = { --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-3430sdp.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-3430sdp.c @@ -159,6 +159,7 @@ static struct tfp410_platform_data dvi_panel = { .power_down_gpio = -1, + .i2c_bus_num = -1, }; static struct omap_dss_device sdp3430_dvi_device = { --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-rx51-peripherals.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-rx51-peripherals.c @@ -67,11 +67,11 @@ #define LIS302_IRQ1_GPIO 181 #define LIS302_IRQ2_GPIO 180 /* Not yet in use */ -/* list all spi devices here */ +/* List all SPI devices here. Note that the list/probe order seems to matter! */ enum { RX51_SPI_WL1251, - RX51_SPI_MIPID, /* LCD panel */ RX51_SPI_TSC2005, /* Touch Controller */ + RX51_SPI_MIPID, /* LCD panel */ }; static struct wl12xx_platform_data wl1251_pdata; --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-devkit8000.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-devkit8000.c @@ -143,6 +143,7 @@ static struct tfp410_platform_data dvi_panel = { .power_down_gpio = -1, + .i2c_bus_num = 1, }; static struct omap_dss_device devkit8000_dvi_device = { --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/timer.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-omap3stalker.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-omap3stalker.c @@ -121,6 +121,7 @@ static struct tfp410_platform_data dvi_panel = { .power_down_gpio = DSS_ENABLE_GPIO, + .i2c_bus_num = -1, }; static struct omap_dss_device omap3_stalker_dvi_device = { --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/cpuidle34xx.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/cpuidle34xx.c @@ -284,8 +284,9 @@ DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev); struct cpuidle_driver omap3_idle_driver = { - .name = "omap3_idle", - .owner = THIS_MODULE, + .name = "omap3_idle", + .owner = THIS_MODULE, + .en_core_tk_irqen = 1, .states = { { .enter = omap3_enter_idle, --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-am3517evm.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-am3517evm.c @@ -209,6 +209,7 @@ static struct tfp410_platform_data dvi_panel = { .power_down_gpio = -1, + .i2c_bus_num = -1, }; static struct omap_dss_device am3517_evm_dvi_device = { --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/board-cm-t35.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-omap2/board-cm-t35.c @@ -243,6 +243,7 @@ static struct tfp410_platform_data dvi_panel = { .power_down_gpio = CM_T35_DVI_EN_GPIO, + .i2c_bus_num = -1, }; static struct omap_dss_device cm_t35_dvi_device = { --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/clock3xxx_data.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-omap2/opp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/mutex.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/syscall.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/vfpmacros.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/hwcap.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/div64.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/cmpxchg.h +++ linux-lts-quantal-3.5.0/arch/arm/include/asm/cmpxchg.h @@ -233,15 +233,15 @@ ((__typeof__(*(ptr)))atomic64_cmpxchg(container_of((ptr), \ atomic64_t, \ counter), \ - (unsigned long)(o), \ - (unsigned long)(n))) + (unsigned long long)(o), \ + (unsigned long long)(n))) #define cmpxchg64_local(ptr, o, n) \ ((__typeof__(*(ptr)))local64_cmpxchg(container_of((ptr), \ local64_t, \ a), \ - (unsigned long)(o), \ - (unsigned long)(n))) + (unsigned long long)(o), \ + (unsigned long long)(n))) #endif /* __LINUX_ARM_ARCH__ >= 6 */ --- linux-lts-quantal-3.5.0.orig/arch/arm/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/arm/include/asm/signal.h @@ -127,6 +127,7 @@ __sigrestore_t sa_restorer; sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/arm/include/asm/dma-mapping.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/cacheflush.h +++ linux-lts-quantal-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); } @@ -301,9 +305,7 @@ } #define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE -static inline void flush_kernel_dcache_page(struct page *page) -{ -} +extern void flush_kernel_dcache_page(struct page *); #define flush_dcache_mmap_lock(mapping) \ spin_lock_irq(&(mapping)->tree_lock) --- linux-lts-quantal-3.5.0.orig/arch/arm/include/asm/assembler.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/uaccess.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/include/asm/pgtable.h +++ linux-lts-quantal-3.5.0/arch/arm/include/asm/pgtable.h @@ -61,6 +61,15 @@ #define FIRST_USER_ADDRESS PAGE_SIZE /* + * Use TASK_SIZE as the ceiling argument for free_pgtables() and + * free_pgd_range() to avoid freeing the modules pmd when LPAE is enabled (pmd + * page shared between user and kernel). + */ +#ifdef CONFIG_ARM_LPAE +#define USER_PGTABLES_CEILING TASK_SIZE +#endif + +/* * The pgprot_* and protection_map entries will be fixed up in runtime * to include the cachable and bufferable bits based on memory policy, * as well as any architecture dependent bits like global/ASID and SMP @@ -195,6 +204,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 +227,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 +262,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-lts-quantal-3.5.0.orig/arch/arm/include/asm/hardware/iop3xx.h +++ linux-lts-quantal-3.5.0/arch/arm/include/asm/hardware/iop3xx.h @@ -37,7 +37,7 @@ * IOP3XX processor registers */ #define IOP3XX_PERIPHERAL_PHYS_BASE 0xffffe000 -#define IOP3XX_PERIPHERAL_VIRT_BASE 0xfeffe000 +#define IOP3XX_PERIPHERAL_VIRT_BASE 0xfedfe000 #define IOP3XX_PERIPHERAL_SIZE 0x00002000 #define IOP3XX_PERIPHERAL_UPPER_PA (IOP3XX_PERIPHERAL_PHYS_BASE +\ IOP3XX_PERIPHERAL_SIZE - 1) --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-kirkwood/pcie.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-kirkwood/pcie.c @@ -225,14 +225,19 @@ return 1; } +/* + * The root complex has a hardwired class of PCI_CLASS_MEMORY_OTHER, when it + * is operating as a root complex this needs to be switched to + * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on + * the device. Decoding setup is handled by the orion code. + */ static void __devinit rc_pci_fixup(struct pci_dev *dev) { - /* - * Prevent enumeration of root complex. - */ if (dev->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-lts-quantal-3.5.0.orig/arch/arm/mach-kirkwood/ts219-setup.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-kirkwood/ts219-setup.c @@ -124,7 +124,7 @@ static int __init ts219_pci_init(void) { if (machine_is_ts219()) - kirkwood_pcie_init(KW_PCIE0); + kirkwood_pcie_init(KW_PCIE1 | KW_PCIE0); return 0; } --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/Kconfig +++ linux-lts-quantal-3.5.0/arch/arm/mm/Kconfig @@ -400,24 +400,28 @@ select TLS_REG_EMUL if SMP || !MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select CPU_USE_DOMAINS if MMU + select NEED_KUSER_HELPERS config CPU_32v4 bool select TLS_REG_EMUL if SMP || !MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select CPU_USE_DOMAINS if MMU + select NEED_KUSER_HELPERS config CPU_32v4T bool select TLS_REG_EMUL if SMP || !MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select CPU_USE_DOMAINS if MMU + select NEED_KUSER_HELPERS config CPU_32v5 bool select TLS_REG_EMUL if SMP || !MMU select NEEDS_SYSCALL_FOR_CMPXCHG if SMP select CPU_USE_DOMAINS if MMU + select NEED_KUSER_HELPERS config CPU_32v6 bool @@ -735,6 +739,7 @@ config TLS_REG_EMUL bool + select NEED_KUSER_HELPERS help An SMP system using a pre-ARMv6 processor (there are apparently a few prototypes like that in existence) and therefore access to @@ -742,11 +747,43 @@ config NEEDS_SYSCALL_FOR_CMPXCHG bool + select NEED_KUSER_HELPERS help SMP on a pre-ARMv6 processor? Well OK then. Forget about fast user space cmpxchg support. It is just not possible. +config NEED_KUSER_HELPERS + bool + +config KUSER_HELPERS + bool "Enable kuser helpers in vector page" if !NEED_KUSER_HELPERS + default y + help + Warning: disabling this option may break user programs. + + Provide kuser helpers in the vector page. The kernel provides + helper code to userspace in read only form at a fixed location + in the high vector page to allow userspace to be independent of + the CPU type fitted to the system. This permits binaries to be + run on ARMv4 through to ARMv7 without modification. + + See Documentation/arm/kernel_user_helpers.txt for details. + + However, the fixed address nature of these helpers can be used + by ROP (return orientated programming) authors when creating + exploits. + + If all of the binaries and libraries which run on your platform + are built specifically for your platform, and make no use of + these helpers, then you can turn this option off to hinder + such exploits. However, in that case, if a binary or library + relying on those helpers is run, it will receive a SIGILL signal, + which will terminate the program. + + Say N here only if you are absolutely certain that you do not + need these helpers; otherwise, the safe option is to say Y. + config DMA_CACHE_RWFO bool "Enable read/write for ownership DMA cache maintenance" depends on CPU_V6K && SMP --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/tlb-v7.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mm/flush.c +++ linux-lts-quantal-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; @@ -301,6 +299,39 @@ EXPORT_SYMBOL(flush_dcache_page); /* + * Ensure cache coherency for the kernel mapping of this page. We can + * assume that the page is pinned via kmap. + * + * If the page only exists in the page cache and there are no user + * space mappings, this is a no-op since the page was already marked + * dirty at creation. Otherwise, we need to flush the dirty kernel + * cache lines directly. + */ +void flush_kernel_dcache_page(struct page *page) +{ + if (cache_is_vivt() || cache_is_vipt_aliasing()) { + struct address_space *mapping; + + mapping = page_mapping(page); + + if (!mapping || mapping_mapped(mapping)) { + void *addr; + + addr = page_address(page); + /* + * kmap_atomic() doesn't set the page virtual + * address for highmem pages, and + * kunmap_atomic() takes care of cache + * flushing already. + */ + if (!IS_ENABLED(CONFIG_HIGHMEM) || addr) + __cpuc_flush_dcache_area(addr, PAGE_SIZE); + } + } +} +EXPORT_SYMBOL(flush_kernel_dcache_page); + +/* * Flush an anonymous page so that users of get_user_pages() * can safely access the data. The expected sequence is: * --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/alignment.c +++ linux-lts-quantal-3.5.0/arch/arm/mm/alignment.c @@ -750,7 +750,6 @@ unsigned long instr = 0, instrptr; int (*handler)(unsigned long addr, unsigned long instr, struct pt_regs *regs); unsigned int type; - mm_segment_t fs; unsigned int fault; u16 tinstr = 0; int isize = 4; @@ -761,16 +760,15 @@ instrptr = instruction_pointer(regs); - fs = get_fs(); - set_fs(KERNEL_DS); if (thumb_mode(regs)) { - fault = __get_user(tinstr, (u16 *)(instrptr & ~1)); + u16 *ptr = (u16 *)(instrptr & ~1); + fault = probe_kernel_address(ptr, tinstr); if (!fault) { if (cpu_architecture() >= CPU_ARCH_ARMv7 && IS_T32(tinstr)) { /* Thumb-2 32-bit */ u16 tinst2 = 0; - fault = __get_user(tinst2, (u16 *)(instrptr+2)); + fault = probe_kernel_address(ptr + 1, tinst2); instr = (tinstr << 16) | tinst2; thumb2_32b = 1; } else { @@ -779,8 +777,7 @@ } } } else - fault = __get_user(instr, (u32 *)instrptr); - set_fs(fs); + fault = probe_kernel_address(instrptr, instr); if (fault) { type = TYPE_FAULT; --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-xsc3.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-xsc3.S @@ -410,7 +410,7 @@ .globl cpu_xsc3_suspend_size .equ cpu_xsc3_suspend_size, 4 * 6 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_xsc3_do_suspend) stmfd sp!, {r4 - r9, lr} mrc p14, 0, r4, c6, c0, 0 @ clock configuration, for turbo mode --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-sa1100.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-sa1100.S @@ -172,7 +172,7 @@ .globl cpu_sa1100_suspend_size .equ cpu_sa1100_suspend_size, 4 * 3 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_sa1100_do_suspend) stmfd sp!, {r4 - r6, lr} mrc p15, 0, r4, c3, c0, 0 @ domain ID --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-mohawk.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-mohawk.S @@ -347,7 +347,7 @@ .globl cpu_mohawk_suspend_size .equ cpu_mohawk_suspend_size, 4 * 6 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_mohawk_do_suspend) stmfd sp!, {r4 - r9, lr} mrc p14, 0, r4, c6, c0, 0 @ clock configuration, for turbo mode --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/cache-feroceon-l2.c +++ linux-lts-quantal-3.5.0/arch/arm/mm/cache-feroceon-l2.c @@ -343,6 +343,7 @@ outer_cache.inv_range = feroceon_l2_inv_range; outer_cache.clean_range = feroceon_l2_clean_range; outer_cache.flush_range = feroceon_l2_flush_range; + outer_cache.inv_all = l2_inv_all; enable_l2(); --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-arm920.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-arm920.S @@ -384,7 +384,7 @@ /* Suspend/resume support: taken from arch/arm/plat-s3c24xx/sleep.S */ .globl cpu_arm920_suspend_size .equ cpu_arm920_suspend_size, 4 * 3 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_arm920_do_suspend) stmfd sp!, {r4 - r6, lr} mrc p15, 0, r4, c13, c0, 0 @ PID --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/mmu.c +++ linux-lts-quantal-3.5.0/arch/arm/mm/mmu.c @@ -504,7 +504,7 @@ #endif for (i = 0; i < 16; i++) { - unsigned long v = pgprot_val(protection_map[i]); + pteval_t v = pgprot_val(protection_map[i]); protection_map[i] = __pgprot(v | user_pgprot); } @@ -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) @@ -1086,7 +1086,7 @@ /* * Allocate the vector page early. */ - vectors = early_alloc(PAGE_SIZE); + vectors = early_alloc(PAGE_SIZE * 2); early_trap_init(vectors); @@ -1136,10 +1136,18 @@ if (!vectors_high()) { map.virtual = 0; + map.length = PAGE_SIZE * 2; map.type = MT_LOW_VECTORS; create_mapping(&map); } + /* Now create a kernel read-only mapping */ + map.pfn += 1; + map.virtual = 0xffff0000 + PAGE_SIZE; + map.length = PAGE_SIZE; + map.type = MT_LOW_VECTORS; + create_mapping(&map); + /* * Ask the machine support to map in the statically mapped devices. */ --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-v6.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-v6.S @@ -132,7 +132,7 @@ /* Suspend/resume support: taken from arch/arm/mach-s3c64xx/sleep.S */ .globl cpu_v6_suspend_size .equ cpu_v6_suspend_size, 4 * 6 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_v6_do_suspend) stmfd sp!, {r4 - r9, lr} mrc p15, 0, r4, c13, c0, 0 @ FCSE/PID --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-arm926.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-arm926.S @@ -399,7 +399,7 @@ /* Suspend/resume support: taken from arch/arm/plat-s3c24xx/sleep.S */ .globl cpu_arm926_suspend_size .equ cpu_arm926_suspend_size, 4 * 3 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_arm926_do_suspend) stmfd sp!, {r4 - r6, lr} mrc p15, 0, r4, c13, c0, 0 @ PID --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/proc-xscale.S +++ linux-lts-quantal-3.5.0/arch/arm/mm/proc-xscale.S @@ -524,7 +524,7 @@ .globl cpu_xscale_suspend_size .equ cpu_xscale_suspend_size, 4 * 6 -#ifdef CONFIG_PM_SLEEP +#ifdef CONFIG_ARM_CPU_SUSPEND ENTRY(cpu_xscale_do_suspend) stmfd sp!, {r4 - r9, lr} mrc p14, 0, r4, c6, c0, 0 @ clock configuration, for turbo mode --- linux-lts-quantal-3.5.0.orig/arch/arm/mm/mm.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mm/dma-mapping.c +++ linux-lts-quantal-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,29 +819,43 @@ } } +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)) { + unsigned long pfn; + size_t left = size; + + pfn = page_to_pfn(page) + offset / PAGE_SIZE; + offset %= PAGE_SIZE; + /* * A single sg entry may refer to multiple physically contiguous * pages. But we still need to process highmem pages individually. * If highmem is not configured then the bulk of this loop gets * optimized out. */ - size_t left = size; do { size_t len = left; void *vaddr; + page = pfn_to_page(pfn); + if (PageHighMem(page)) { - if (len + offset > PAGE_SIZE) { - if (offset >= PAGE_SIZE) { - page += offset / PAGE_SIZE; - offset %= PAGE_SIZE; - } + if (len + offset > PAGE_SIZE) len = PAGE_SIZE - offset; - } vaddr = kmap_high_get(page); if (vaddr) { vaddr += offset; @@ -824,7 +872,7 @@ op(vaddr, len, dir); } offset = 0; - page++; + pfn++; left -= len; } while (left); } @@ -1317,7 +1365,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 +1385,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 +1404,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 +1422,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 +1435,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 +1451,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 +1497,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 +1550,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 +1568,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 +1590,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 +1605,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 +1672,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 +1690,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 +1723,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-lts-quantal-3.5.0.orig/arch/arm/mm/nommu.c +++ linux-lts-quantal-3.5.0/arch/arm/mm/nommu.c @@ -57,6 +57,12 @@ } EXPORT_SYMBOL(flush_dcache_page); +void flush_kernel_dcache_page(struct page *page) +{ + __cpuc_flush_dcache_area(page_address(page), PAGE_SIZE); +} +EXPORT_SYMBOL(flush_kernel_dcache_page); + void copy_to_user_page(struct vm_area_struct *vma, struct page *page, unsigned long uaddr, void *dst, const void *src, unsigned long len) --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-pxa/smemc.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-pxa/smemc.c @@ -40,6 +40,8 @@ __raw_writel(csadrcfg[1], CSADRCFG1); __raw_writel(csadrcfg[2], CSADRCFG2); __raw_writel(csadrcfg[3], CSADRCFG3); + /* CSMSADRCFG wakes up in its default state (0), so we need to set it */ + __raw_writel(0x2, CSMSADRCFG); } static struct syscore_ops smemc_syscore_ops = { @@ -49,8 +51,19 @@ static int __init smemc_init(void) { - if (cpu_is_pxa3xx()) + if (cpu_is_pxa3xx()) { + /* + * The only documentation we have on the + * Chip Select Configuration Register (CSMSADRCFG) is that + * it must be programmed to 0x2. + * Moreover, in the bit definitions, the second bit + * (CSMSADRCFG[1]) is called "SETALWAYS". + * Other bits are reserved in this register. + */ + __raw_writel(0x2, CSMSADRCFG); + register_syscore_ops(&smemc_syscore_ops); + } return 0; } --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-pxa/raumfeld.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-pxa/pxa27x.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-pxa/pxa27x.c @@ -47,9 +47,9 @@ EXPORT_SYMBOL(pxa27x_clear_otgph); static unsigned long ac97_reset_config[] = { - GPIO113_GPIO, + GPIO113_AC97_nRESET_GPIO_HIGH, GPIO113_AC97_nRESET, - GPIO95_GPIO, + GPIO95_AC97_nRESET_GPIO_HIGH, GPIO95_AC97_nRESET, }; --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h +++ linux-lts-quantal-3.5.0/arch/arm/mach-pxa/include/mach/mfp-pxa27x.h @@ -463,6 +463,9 @@ GPIO76_LCD_PCLK, \ GPIO77_LCD_BIAS +/* these enable a work-around for a hw bug in pxa27x during ac97 warm reset */ +#define GPIO113_AC97_nRESET_GPIO_HIGH MFP_CFG_OUT(GPIO113, AF0, DEFAULT) +#define GPIO95_AC97_nRESET_GPIO_HIGH MFP_CFG_OUT(GPIO95, AF0, DEFAULT) extern int keypad_set_wake(unsigned int on); #endif /* __ASM_ARCH_MFP_PXA27X_H */ --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-pxa/include/mach/smemc.h +++ linux-lts-quantal-3.5.0/arch/arm/mach-pxa/include/mach/smemc.h @@ -37,6 +37,7 @@ #define CSADRCFG1 (SMEMC_VIRT + 0x84) /* Address Configuration Register for CS1 */ #define CSADRCFG2 (SMEMC_VIRT + 0x88) /* Address Configuration Register for CS2 */ #define CSADRCFG3 (SMEMC_VIRT + 0x8C) /* Address Configuration Register for CS3 */ +#define CSMSADRCFG (SMEMC_VIRT + 0xA0) /* Chip Select Configuration Register */ /* * More handy macros for PCMCIA --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-dove/irq.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-dove/include/mach/pm.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/plat-s3c24xx/dma.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/boot/dts/at91sam9n12ek.dts +++ linux-lts-quantal-3.5.0/arch/arm/boot/dts/at91sam9n12ek.dts @@ -14,11 +14,11 @@ compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9"; chosen { - bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"; + bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"; }; memory { - reg = <0x20000000 0x10000000>; + reg = <0x20000000 0x8000000>; }; clocks { --- linux-lts-quantal-3.5.0.orig/arch/arm/boot/dts/tegra-trimslice.dts +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/boot/dts/imx53-ard.dts +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/boot/dts/highbank.dts +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/boot/dts/tegra30.dtsi +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/boot/compressed/head.S +++ linux-lts-quantal-3.5.0/arch/arm/boot/compressed/head.S @@ -10,6 +10,7 @@ */ #include + .arch armv7-a /* * Debugging stuff * @@ -653,16 +654,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-lts-quantal-3.5.0.orig/arch/arm/boot/compressed/head-shark.S +++ linux-lts-quantal-3.5.0/arch/arm/boot/compressed/head-shark.S @@ -18,6 +18,7 @@ .section ".start", "ax" + .arch armv4 b __beginning __ofw_data: .long 0 @ the number of memory blocks --- linux-lts-quantal-3.5.0.orig/arch/arm/boot/compressed/Makefile +++ linux-lts-quantal-3.5.0/arch/arm/boot/compressed/Makefile @@ -126,7 +126,7 @@ endif ccflags-y := -fpic -fno-builtin -I$(obj) -asflags-y := -Wa,-march=all +asflags-y := # Supply kernel BSS size to the decompressor via a linker symbol. KBSS_SZ = $(shell $(CROSS_COMPILE)size $(obj)/../../../../vmlinux | \ --- linux-lts-quantal-3.5.0.orig/arch/arm/boot/compressed/head-sa1100.S +++ linux-lts-quantal-3.5.0/arch/arm/boot/compressed/head-sa1100.S @@ -11,6 +11,7 @@ #include .section ".start", "ax" + .arch armv4 __SA1100_start: --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/topology.c +++ linux-lts-quantal-3.5.0/arch/arm/kernel/topology.c @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -42,6 +43,7 @@ #define MPIDR_LEVEL2_SHIFT 16 struct cputopo_arm cpu_topology[NR_CPUS]; +EXPORT_SYMBOL_GPL(cpu_topology); const struct cpumask *cpu_coregroup_mask(int cpu) { --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/vmlinux.lds.S +++ linux-lts-quantal-3.5.0/arch/arm/kernel/vmlinux.lds.S @@ -137,6 +137,23 @@ . = ALIGN(PAGE_SIZE); __init_begin = .; #endif + /* + * The vectors and stubs are relocatable code, and the + * only thing that matters is their relative offsets + */ + __vectors_start = .; + .vectors 0 : AT(__vectors_start) { + *(.vectors) + } + . = __vectors_start + SIZEOF(.vectors); + __vectors_end = .; + + __stubs_start = .; + .stubs 0x1000 : AT(__stubs_start) { + *(.stubs) + } + . = __stubs_start + SIZEOF(.stubs); + __stubs_end = .; INIT_TEXT_SECTION(8) .exit.text : { --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/head.S +++ linux-lts-quantal-3.5.0/arch/arm/kernel/head.S @@ -188,13 +188,22 @@ orr r3, r3, #3 @ PGD block type mov r6, #4 @ PTRS_PER_PGD mov r7, #1 << (55 - 32) @ L_PGD_SWAPPER -1: str r3, [r0], #4 @ set bottom PGD entry bits +1: +#ifdef CONFIG_CPU_ENDIAN_BE8 str r7, [r0], #4 @ set top PGD entry bits + str r3, [r0], #4 @ set bottom PGD entry bits +#else + str r3, [r0], #4 @ set bottom PGD entry bits + str r7, [r0], #4 @ set top PGD entry bits +#endif add r3, r3, #0x1000 @ next PMD table subs r6, r6, #1 bne 1b add r4, r4, #0x1000 @ point to the PMD tables +#ifdef CONFIG_CPU_ENDIAN_BE8 + add r4, r4, #4 @ we only write the bottom word +#endif #endif ldr r7, [r10, #PROCINFO_MM_MMUFLAGS] @ mm_mmuflags @@ -254,6 +263,7 @@ /* * Then map boot params address in r2 or the first 1MB (2MB with LPAE) * of ram if boot params address is not specified. + * We map 2 sections in case the ATAGs/DTB crosses a section boundary. */ mov r0, r2, lsr #SECTION_SHIFT movs r0, r0, lsl #SECTION_SHIFT @@ -262,8 +272,15 @@ add r3, r3, #PAGE_OFFSET add r3, r4, r3, lsr #(SECTION_SHIFT - PMD_ORDER) orr r6, r7, r0 + str r6, [r3], #1 << PMD_ORDER + add r6, r6, #1 << SECTION_SHIFT str r6, [r3] +#if defined(CONFIG_LPAE) && defined(CONFIG_CPU_ENDIAN_BE8) + sub r4, r4, #4 @ Fixup page table pointer + @ for 64-bit descriptors +#endif + #ifdef CONFIG_DEBUG_LL #if !defined(CONFIG_DEBUG_ICEDCC) && !defined(CONFIG_DEBUG_SEMIHOSTING) /* @@ -282,13 +299,17 @@ orr r3, r7, r3, lsl #SECTION_SHIFT #ifdef CONFIG_ARM_LPAE mov r7, #1 << (54 - 32) @ XN +#ifdef CONFIG_CPU_ENDIAN_BE8 + str r7, [r0], #4 + str r3, [r0], #4 #else - orr r3, r3, #PMD_SECT_XN -#endif str r3, [r0], #4 -#ifdef CONFIG_ARM_LPAE str r7, [r0], #4 #endif +#else + orr r3, r3, #PMD_SECT_XN + str r3, [r0], #4 +#endif #else /* CONFIG_DEBUG_ICEDCC || CONFIG_DEBUG_SEMIHOSTING */ /* we don't need any serial debugging mappings */ --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/kernel/smp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/kernel/swp_emulate.c +++ linux-lts-quantal-3.5.0/arch/arm/kernel/swp_emulate.c @@ -109,10 +109,12 @@ { siginfo_t info; + down_read(¤t->mm->mmap_sem); if (find_vma(current->mm, addr) == NULL) info.si_code = SEGV_MAPERR; else info.si_code = SEGV_ACCERR; + up_read(¤t->mm->mmap_sem); info.si_signo = SIGSEGV; info.si_errno = 0; --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/hw_breakpoint.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/kernel/perf_event_v7.c +++ linux-lts-quantal-3.5.0/arch/arm/kernel/perf_event_v7.c @@ -775,7 +775,7 @@ /* * PMXEVTYPER: Event selection reg */ -#define ARMV7_EVTYPE_MASK 0xc00000ff /* Mask for writable bits */ +#define ARMV7_EVTYPE_MASK 0xc80000ff /* Mask for writable bits */ #define ARMV7_EVTYPE_EVENT 0xff /* Mask for EVENT bits */ /* --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/smp_twd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/kernel/perf_event.c +++ linux-lts-quantal-3.5.0/arch/arm/kernel/perf_event.c @@ -109,7 +109,12 @@ static int armpmu_map_event(const unsigned (*event_map)[PERF_COUNT_HW_MAX], u64 config) { - int mapping = (*event_map)[config]; + int mapping; + + if (config >= PERF_COUNT_HW_MAX) + return -EINVAL; + + mapping = (*event_map)[config]; return mapping == HW_OP_UNSUPPORTED ? -ENOENT : mapping; } @@ -319,7 +324,13 @@ struct hw_perf_event fake_event = event->hw; struct pmu *leader_pmu = event->group_leader->pmu; - if (event->pmu != leader_pmu || event->state <= PERF_EVENT_STATE_OFF) + if (is_software_event(event)) + return 1; + + if (event->pmu != leader_pmu || event->state < PERF_EVENT_STATE_OFF) + return 1; + + if (event->state == PERF_EVENT_STATE_OFF && !event->attr.enable_on_exec) return 1; return armpmu->get_event_idx(hw_events, &fake_event) >= 0; @@ -821,6 +832,7 @@ struct frame_tail __user *tail; + perf_callchain_store(entry, regs->ARM_pc); tail = (struct frame_tail __user *)regs->ARM_fp - 1; while ((entry->nr < PERF_MAX_STACK_DEPTH) && --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/fiq.c +++ linux-lts-quantal-3.5.0/arch/arm/kernel/fiq.c @@ -47,6 +47,11 @@ #include #include +#define FIQ_OFFSET ({ \ + extern void *vector_fiq_offset; \ + (unsigned)&vector_fiq_offset; \ + }) + static unsigned long no_fiq_insn; /* Default reacquire function @@ -80,13 +85,16 @@ void set_fiq_handler(void *start, unsigned int length) { #if defined(CONFIG_CPU_USE_DOMAINS) - memcpy((void *)0xffff001c, start, length); + void *base = (void *)0xffff0000; #else - memcpy(vectors_page + 0x1c, start, length); + void *base = vectors_page; #endif - flush_icache_range(0xffff001c, 0xffff001c + length); + unsigned offset = FIQ_OFFSET; + + memcpy(base + offset, start, length); + flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length); if (!vectors_high()) - flush_icache_range(0x1c, 0x1c + length); + flush_icache_range(offset, offset + length); } int claim_fiq(struct fiq_handler *f) @@ -142,5 +150,6 @@ void __init init_FIQ(void) { - no_fiq_insn = *(unsigned long *)0xffff001c; + unsigned offset = FIQ_OFFSET; + no_fiq_insn = *(unsigned long *)(0xffff0000 + offset); } --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/entry-armv.S +++ linux-lts-quantal-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: @@ -751,6 +784,18 @@ #endif .endm + .macro kuser_pad, sym, size + .if (. - \sym) & 3 + .rept 4 - (. - \sym) & 3 + .byte 0 + .endr + .endif + .rept (\size - (. - \sym)) / 4 + .word 0xe7fddef1 + .endr + .endm + +#ifdef CONFIG_KUSER_HELPERS .align 5 .globl __kuser_helper_start __kuser_helper_start: @@ -841,18 +886,13 @@ #error "incoherent kernel configuration" #endif - /* pad to next slot */ - .rept (16 - (. - __kuser_cmpxchg64)/4) - .word 0 - .endr - - .align 5 + kuser_pad __kuser_cmpxchg64, 64 __kuser_memory_barrier: @ 0xffff0fa0 smp_dmb arm usr_ret lr - .align 5 + kuser_pad __kuser_memory_barrier, 32 __kuser_cmpxchg: @ 0xffff0fc0 @@ -925,13 +965,14 @@ #endif - .align 5 + kuser_pad __kuser_cmpxchg, 32 __kuser_get_tls: @ 0xffff0fe0 ldr r0, [pc, #(16 - 8)] @ read TLS, set in kuser_get_tls_init usr_ret lr mrc p15, 0, r0, c13, c0, 3 @ 0xffff0fe8 hardware TLS code - .rep 4 + kuser_pad __kuser_get_tls, 16 + .rep 3 .word 0 @ 0xffff0ff0 software TLS value, then .endr @ pad up to __kuser_helper_version @@ -941,14 +982,16 @@ .globl __kuser_helper_end __kuser_helper_end: +#endif + THUMB( .thumb ) /* * Vector stubs. * - * This code is copied to 0xffff0200 so we can use branches in the - * vectors, rather than ldr's. Note that this code must not - * exceed 0x300 bytes. + * This code is copied to 0xffff1000 so we can use branches in the + * vectors, rather than ldr's. Note that this code must not exceed + * a page size. * * Common stub entry macro: * Enter in IRQ mode, spsr = SVC/USR CPSR, lr = SVC/USR PC @@ -995,8 +1038,17 @@ 1: .endm - .globl __stubs_start + .section .stubs, "ax", %progbits __stubs_start: + @ This must be the first word + .word vector_swi + +vector_rst: + ARM( swi SYS_ERROR0 ) + THUMB( svc #0 ) + THUMB( nop ) + b vector_und + /* * Interrupt dispatcher */ @@ -1091,6 +1143,16 @@ .align 5 /*============================================================================= + * Address exception handler + *----------------------------------------------------------------------------- + * These aren't too critical. + * (they're not supposed to happen, and won't happen in 32-bit data mode). + */ + +vector_addrexcptn: + b vector_addrexcptn + +/*============================================================================= * Undefined FIQs *----------------------------------------------------------------------------- * Enter in FIQ mode, spsr = ANY CPSR, lr = ANY PC @@ -1103,45 +1165,19 @@ vector_fiq: subs pc, lr, #4 -/*============================================================================= - * Address exception handler - *----------------------------------------------------------------------------- - * These aren't too critical. - * (they're not supposed to happen, and won't happen in 32-bit data mode). - */ - -vector_addrexcptn: - b vector_addrexcptn - -/* - * We group all the following data together to optimise - * for CPUs with separate I & D caches. - */ - .align 5 - -.LCvswi: - .word vector_swi - - .globl __stubs_end -__stubs_end: - - .equ stubs_offset, __vectors_start + 0x200 - __stubs_start + .globl vector_fiq_offset + .equ vector_fiq_offset, vector_fiq - .globl __vectors_start + .section .vectors, "ax", %progbits __vectors_start: - ARM( swi SYS_ERROR0 ) - THUMB( svc #0 ) - THUMB( nop ) - W(b) vector_und + stubs_offset - W(ldr) pc, .LCvswi + stubs_offset - W(b) vector_pabt + stubs_offset - W(b) vector_dabt + stubs_offset - W(b) vector_addrexcptn + stubs_offset - W(b) vector_irq + stubs_offset - W(b) vector_fiq + stubs_offset - - .globl __vectors_end -__vectors_end: + W(b) vector_rst + W(b) vector_und + W(ldr) pc, __vectors_start + 0x1000 + W(b) vector_pabt + W(b) vector_dabt + W(b) vector_addrexcptn + W(b) vector_irq + W(b) vector_fiq .data --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/traps.c +++ linux-lts-quantal-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", @@ -780,39 +775,54 @@ return; } -static void __init kuser_get_tls_init(unsigned long vectors) +#ifdef CONFIG_KUSER_HELPERS +static void __init kuser_init(void *vectors) { + extern char __kuser_helper_start[], __kuser_helper_end[]; + int kuser_sz = __kuser_helper_end - __kuser_helper_start; + + memcpy(vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz); + /* * vectors + 0xfe0 = __kuser_get_tls * vectors + 0xfe8 = hardware TLS instruction at 0xffff0fe8 */ if (tls_emu || has_tls_reg) - memcpy((void *)vectors + 0xfe0, (void *)vectors + 0xfe8, 4); + memcpy(vectors + 0xfe0, vectors + 0xfe8, 4); +} +#else +static void __init kuser_init(void *vectors) +{ } +#endif void __init early_trap_init(void *vectors_base) { unsigned long vectors = (unsigned long)vectors_base; extern char __stubs_start[], __stubs_end[]; extern char __vectors_start[], __vectors_end[]; - extern char __kuser_helper_start[], __kuser_helper_end[]; - int kuser_sz = __kuser_helper_end - __kuser_helper_start; + unsigned i; vectors_page = vectors_base; /* + * Poison the vectors page with an undefined instruction. This + * instruction is chosen to be undefined for both ARM and Thumb + * ISAs. The Thumb version is an undefined instruction with a + * branch back to the undefined instruction. + */ + for (i = 0; i < PAGE_SIZE / sizeof(u32); i++) + ((u32 *)vectors_base)[i] = 0xe7fddef1; + + /* * Copy the vectors, stubs and kuser helpers (in entry-armv.S) * into the vector page, mapped at 0xffff0000, and ensure these * are visible to the instruction stream. */ memcpy((void *)vectors, __vectors_start, __vectors_end - __vectors_start); - memcpy((void *)vectors + 0x200, __stubs_start, __stubs_end - __stubs_start); - memcpy((void *)vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz); + memcpy((void *)vectors + 0x1000, __stubs_start, __stubs_end - __stubs_start); - /* - * Do processor specific fixups for the kuser helpers - */ - kuser_get_tls_init(vectors); + kuser_init(vectors_base); /* * Copy signal return handlers into the vector page, and @@ -823,6 +833,6 @@ memcpy((void *)(vectors + KERN_RESTART_CODE - CONFIG_VECTORS_BASE), syscall_restart_code, sizeof(syscall_restart_code)); - flush_icache_range(vectors, vectors + PAGE_SIZE); + flush_icache_range(vectors, vectors + PAGE_SIZE * 2); modify_domain(DOMAIN_USER, DOMAIN_CLIENT); } --- linux-lts-quantal-3.5.0.orig/arch/arm/kernel/sched_clock.c +++ linux-lts-quantal-3.5.0/arch/arm/kernel/sched_clock.c @@ -39,12 +39,12 @@ static u32 __read_mostly (*read_sched_clock)(void) = jiffy_sched_clock_read; -static inline u64 cyc_to_ns(u64 cyc, u32 mult, u32 shift) +static inline u64 notrace cyc_to_ns(u64 cyc, u32 mult, u32 shift) { return (cyc * mult) >> shift; } -static unsigned long long cyc_to_sched_clock(u32 cyc, u32 mask) +static unsigned long long notrace cyc_to_sched_clock(u32 cyc, u32 mask) { u64 epoch_ns; u32 epoch_cyc; @@ -84,11 +84,11 @@ * detectable in cyc_to_fixed_sched_clock(). */ raw_local_irq_save(flags); - cd.epoch_cyc = cyc; + cd.epoch_cyc_copy = cyc; smp_wmb(); cd.epoch_ns = ns; smp_wmb(); - cd.epoch_cyc_copy = cyc; + cd.epoch_cyc = cyc; raw_local_irq_restore(flags); } --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-s3c24xx/pm-h1940.S +++ linux-lts-quantal-3.5.0/arch/arm/mach-s3c24xx/pm-h1940.S @@ -30,4 +30,4 @@ h1940_pm_return: mov r0, #S3C2410_PA_GPIO - ldr pc, [ r0, #S3C2410_GSTATUS3 - S3C24XX_VA_GPIO ] + ldr pc, [r0, #S3C2410_GSTATUS3 - S3C24XX_VA_GPIO] --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-s3c24xx/sleep-s3c2410.S +++ linux-lts-quantal-3.5.0/arch/arm/mach-s3c24xx/sleep-s3c2410.S @@ -45,9 +45,9 @@ ldr r4, =S3C2410_REFRESH ldr r5, =S3C24XX_MISCCR ldr r6, =S3C2410_CLKCON - ldr r7, [ r4 ] @ get REFRESH (and ensure in TLB) - ldr r8, [ r5 ] @ get MISCCR (and ensure in TLB) - ldr r9, [ r6 ] @ get CLKCON (and ensure in TLB) + ldr r7, [r4] @ get REFRESH (and ensure in TLB) + ldr r8, [r5] @ get MISCCR (and ensure in TLB) + ldr r9, [r6] @ get CLKCON (and ensure in TLB) orr r7, r7, #S3C2410_REFRESH_SELF @ SDRAM sleep command orr r8, r8, #S3C2410_MISCCR_SDSLEEP @ SDRAM power-down signals @@ -61,8 +61,8 @@ @@ align next bit of code to cache line .align 5 s3c2410_do_sleep: - streq r7, [ r4 ] @ SDRAM sleep command - streq r8, [ r5 ] @ SDRAM power-down config - streq r9, [ r6 ] @ CPU sleep + streq r7, [r4] @ SDRAM sleep command + streq r8, [r5] @ SDRAM power-down config + streq r9, [r6] @ CPU sleep 1: beq 1b mov pc, r14 --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-s3c24xx/sleep-s3c2412.S +++ linux-lts-quantal-3.5.0/arch/arm/mach-s3c24xx/sleep-s3c2412.S @@ -57,12 +57,12 @@ * retry, as simply returning causes the system to lock. */ - ldrne r9, [ r1 ] - strne r9, [ r1 ] - ldrne r9, [ r2 ] - strne r9, [ r2 ] - ldrne r9, [ r3 ] - strne r9, [ r3 ] + ldrne r9, [r1] + strne r9, [r1] + ldrne r9, [r2] + strne r9, [r2] + ldrne r9, [r3] + strne r9, [r3] bne s3c2412_sleep_enter1 mov pc, r14 --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-s3c24xx/include/mach/debug-macro.S +++ linux-lts-quantal-3.5.0/arch/arm/mach-s3c24xx/include/mach/debug-macro.S @@ -40,17 +40,17 @@ addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) bic \rd, \rd, #0xff000 - ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] + ldr \rd, [\rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0)] and \rd, \rd, #0x00ff0000 teq \rd, #0x00440000 @ is it 2440? 1004: - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] moveq \rd, \rd, lsr #SHIFT_2440TXF tst \rd, #S3C2410_UFSTAT_TXFULL .endm .macro fifo_full_s3c2410 rd, rx - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] tst \rd, #S3C2410_UFSTAT_TXFULL .endm @@ -68,18 +68,18 @@ addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) bic \rd, \rd, #0xff000 - ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] + ldr \rd, [\rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0)] and \rd, \rd, #0x00ff0000 teq \rd, #0x00440000 @ is it 2440? 10000: - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] andne \rd, \rd, #S3C2410_UFSTAT_TXMASK andeq \rd, \rd, #S3C2440_UFSTAT_TXMASK .endm .macro fifo_level_s3c2410 rd, rx - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] and \rd, \rd, #S3C2410_UFSTAT_TXMASK .endm --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-s3c24xx/include/mach/dma.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/arm/mach-s3c24xx/include/mach/entry-macro.S +++ linux-lts-quantal-3.5.0/arch/arm/mach-s3c24xx/include/mach/entry-macro.S @@ -31,10 +31,10 @@ @@ try the interrupt offset register, since it is there - ldr \irqstat, [ \base, #INTPND ] + ldr \irqstat, [\base, #INTPND ] teq \irqstat, #0 beq 1002f - ldr \irqnr, [ \base, #INTOFFSET ] + ldr \irqnr, [\base, #INTOFFSET ] mov \tmp, #1 tst \irqstat, \tmp, lsl \irqnr bne 1001f --- linux-lts-quantal-3.5.0.orig/arch/arm/vfp/vfpmodule.c +++ linux-lts-quantal-3.5.0/arch/arm/vfp/vfpmodule.c @@ -413,7 +413,7 @@ * If there isn't a second FP instruction, exit now. Note that * the FPEXC.FP2V bit is valid only if FPEXC.EX is 1. */ - if (fpexc ^ (FPEXC_EX | FPEXC_FP2V)) + if ((fpexc & (FPEXC_EX | FPEXC_FP2V)) != (FPEXC_EX | FPEXC_FP2V)) goto exit; /* @@ -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-lts-quantal-3.5.0.orig/arch/arm/vfp/entry.S +++ linux-lts-quantal-3.5.0/arch/arm/vfp/entry.S @@ -7,20 +7,22 @@ * 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 +#ifdef CONFIG_PREEMPT_COUNT ldr r4, [r10, #TI_PREEMPT] @ get preempt count add r11, r4, #1 @ increment it str r11, [r10, #TI_PREEMPT] @@ -33,7 +35,7 @@ ENDPROC(do_vfp) ENTRY(vfp_null_entry) -#ifdef CONFIG_PREEMPT +#ifdef CONFIG_PREEMPT_COUNT get_thread_info r10 ldr r4, [r10, #TI_PREEMPT] @ get preempt count sub r11, r4, #1 @ decrement it @@ -51,7 +53,7 @@ __INIT ENTRY(vfp_testing_entry) -#ifdef CONFIG_PREEMPT +#ifdef CONFIG_PREEMPT_COUNT get_thread_info r10 ldr r4, [r10, #TI_PREEMPT] @ get preempt count sub r11, r4, #1 @ decrement it --- linux-lts-quantal-3.5.0.orig/arch/arm/vfp/vfphw.S +++ linux-lts-quantal-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,10 +161,13 @@ @ 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 -#ifdef CONFIG_PREEMPT + 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_COUNT get_thread_info r10 ldr r4, [r10, #TI_PREEMPT] @ get preempt count sub r11, r4, #1 @ decrement it @@ -188,7 +191,7 @@ @ not recognised by VFP DBGSTR "not VFP" -#ifdef CONFIG_PREEMPT +#ifdef CONFIG_PREEMPT_COUNT get_thread_info r10 ldr r4, [r10, #TI_PREEMPT] @ get preempt count sub r11, r4, #1 @ decrement it --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-realview/include/mach/board-eb.h +++ linux-lts-quantal-3.5.0/arch/arm/mach-realview/include/mach/board-eb.h @@ -47,7 +47,7 @@ #define REALVIEW_EB_USB_BASE 0x4F000000 /* USB */ #ifdef CONFIG_REALVIEW_EB_ARM11MP_REVB -#define REALVIEW_EB11MP_PRIV_MEM_BASE 0x1F000000 +#define REALVIEW_EB11MP_PRIV_MEM_BASE 0x10100000 #define REALVIEW_EB11MP_L220_BASE 0x10102000 /* L220 registers */ #define REALVIEW_EB11MP_SYS_PLD_CTRL1 0xD8 /* Register offset for MPCore sysctl */ #else --- linux-lts-quantal-3.5.0.orig/arch/arm/plat-samsung/include/plat/debug-macro.S +++ linux-lts-quantal-3.5.0/arch/arm/plat-samsung/include/plat/debug-macro.S @@ -14,12 +14,12 @@ /* The S5PV210/S5PC110 implementations are as belows. */ .macro fifo_level_s5pv210 rd, rx - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] and \rd, \rd, #S5PV210_UFSTAT_TXMASK .endm .macro fifo_full_s5pv210 rd, rx - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] tst \rd, #S5PV210_UFSTAT_TXFULL .endm @@ -27,7 +27,7 @@ * most widely re-used */ .macro fifo_level_s3c2440 rd, rx - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] and \rd, \rd, #S3C2440_UFSTAT_TXMASK .endm @@ -36,7 +36,7 @@ #endif .macro fifo_full_s3c2440 rd, rx - ldr \rd, [ \rx, # S3C2410_UFSTAT ] + ldr \rd, [\rx, # S3C2410_UFSTAT] tst \rd, #S3C2440_UFSTAT_TXFULL .endm @@ -45,11 +45,11 @@ #endif .macro senduart,rd,rx - strb \rd, [\rx, # S3C2410_UTXH ] + strb \rd, [\rx, # S3C2410_UTXH] .endm .macro busyuart, rd, rx - ldr \rd, [ \rx, # S3C2410_UFCON ] + ldr \rd, [\rx, # S3C2410_UFCON] tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled? beq 1001f @ @ FIFO enabled... @@ -60,7 +60,7 @@ 1001: @ busy waiting for non fifo - ldr \rd, [ \rx, # S3C2410_UTRSTAT ] + ldr \rd, [\rx, # S3C2410_UTRSTAT] tst \rd, #S3C2410_UTRSTAT_TXFE beq 1001b @@ -68,7 +68,7 @@ .endm .macro waituart,rd,rx - ldr \rd, [ \rx, # S3C2410_UFCON ] + ldr \rd, [\rx, # S3C2410_UFCON] tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled? beq 1001f @ @ FIFO enabled... @@ -79,7 +79,7 @@ b 1002f 1001: @ idle waiting for non fifo - ldr \rd, [ \rx, # S3C2410_UTRSTAT ] + ldr \rd, [\rx, # S3C2410_UTRSTAT] tst \rd, #S3C2410_UTRSTAT_TXFE beq 1001b --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-davinci/board-neuros-osd2.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-davinci/board-neuros-osd2.c @@ -88,6 +88,7 @@ .parts = davinci_ntosd2_nandflash_partition, .nr_parts = ARRAY_SIZE(davinci_ntosd2_nandflash_partition), .ecc_mode = NAND_ECC_HW, + .ecc_bits = 1, .bbt_options = NAND_BBT_USE_FLASH, }; --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-davinci/board-dm644x-evm.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-davinci/board-dm644x-evm.c @@ -152,6 +152,7 @@ .parts = davinci_evm_nandflash_partition, .nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition), .ecc_mode = NAND_ECC_HW, + .ecc_bits = 1, .bbt_options = NAND_BBT_USE_FLASH, .timing = &davinci_evm_nandflash_timing, }; --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-davinci/board-dm355-leopard.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-davinci/board-dm355-leopard.c @@ -75,6 +75,7 @@ .parts = davinci_nand_partitions, .nr_parts = ARRAY_SIZE(davinci_nand_partitions), .ecc_mode = NAND_ECC_HW_SYNDROME, + .ecc_bits = 4, .bbt_options = NAND_BBT_USE_FLASH, }; --- linux-lts-quantal-3.5.0.orig/arch/arm/mach-davinci/board-dm646x-evm.c +++ linux-lts-quantal-3.5.0/arch/arm/mach-davinci/board-dm646x-evm.c @@ -89,6 +89,7 @@ .parts = davinci_nand_partitions, .nr_parts = ARRAY_SIZE(davinci_nand_partitions), .ecc_mode = NAND_ECC_HW, + .ecc_bits = 1, .options = 0, }; --- linux-lts-quantal-3.5.0.orig/arch/arm/plat-orion/common.c +++ linux-lts-quantal-3.5.0/arch/arm/plat-orion/common.c @@ -368,7 +368,7 @@ static struct platform_device orion_ge10_shared = { .name = MV643XX_ETH_SHARED_NAME, - .id = 1, + .id = 2, .dev = { .platform_data = &orion_ge10_shared_data, }, @@ -383,8 +383,8 @@ static struct platform_device orion_ge10 = { .name = MV643XX_ETH_NAME, - .id = 1, - .num_resources = 2, + .id = 2, + .num_resources = 1, .resource = orion_ge10_resources, .dev = { .coherent_dma_mask = DMA_BIT_MASK(32), @@ -420,7 +420,7 @@ static struct platform_device orion_ge11_shared = { .name = MV643XX_ETH_SHARED_NAME, - .id = 1, + .id = 3, .dev = { .platform_data = &orion_ge11_shared_data, }, @@ -435,8 +435,8 @@ static struct platform_device orion_ge11 = { .name = MV643XX_ETH_NAME, - .id = 1, - .num_resources = 2, + .id = 3, + .num_resources = 1, .resource = orion_ge11_resources, .dev = { .coherent_dma_mask = DMA_BIT_MASK(32), --- linux-lts-quantal-3.5.0.orig/arch/parisc/include/asm/atomic.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/parisc/include/asm/pgtable.h +++ linux-lts-quantal-3.5.0/arch/parisc/include/asm/pgtable.h @@ -12,11 +12,10 @@ #include #include +#include #include #include -struct vm_area_struct; - /* * kern_addr_valid(ADDR) tests if ADDR is pointing to valid kernel * memory. For the return value to be meaningful, ADDR must be >= @@ -40,7 +39,14 @@ do{ \ *(pteptr) = (pteval); \ } while(0) -#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) + +extern void purge_tlb_entries(struct mm_struct *, unsigned long); + +#define set_pte_at(mm, addr, ptep, pteval) \ + do { \ + set_pte(ptep, pteval); \ + purge_tlb_entries(mm, addr); \ + } while (0) #endif /* !__ASSEMBLY__ */ @@ -466,6 +472,7 @@ old = pte_val(*ptep); new = pte_val(pte_wrprotect(__pte (old))); } while (cmpxchg((unsigned long *) ptep, old, new) != old); + purge_tlb_entries(mm, addr); #else pte_t old_pte = *ptep; set_pte_at(mm, addr, ptep, pte_wrprotect(old_pte)); --- linux-lts-quantal-3.5.0.orig/arch/parisc/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/parisc/kernel/signal32.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/parisc/kernel/cache.c +++ linux-lts-quantal-3.5.0/arch/parisc/kernel/cache.c @@ -420,6 +420,24 @@ EXPORT_SYMBOL(kunmap_parisc); #endif +void purge_tlb_entries(struct mm_struct *mm, unsigned long addr) +{ + unsigned long flags; + + /* Note: purge_tlb_entries can be called at startup with + no context. */ + + /* Disable preemption while we play with %sr1. */ + preempt_disable(); + mtsp(mm->context, 1); + purge_tlb_start(flags); + pdtlb(addr); + pitlb(addr); + purge_tlb_end(flags); + preempt_enable(); +} +EXPORT_SYMBOL(purge_tlb_entries); + void __flush_tlb_range(unsigned long sid, unsigned long start, unsigned long end) { --- linux-lts-quantal-3.5.0.orig/arch/parisc/kernel/sys_parisc.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/score/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/Kconfig +++ linux-lts-quantal-3.5.0/arch/powerpc/Kconfig @@ -264,6 +264,10 @@ depends on PPC_ADV_DEBUG_REGS && 44x default y +config PPC_EMULATE_SSTEP + bool + default y if KPROBES || UPROBES || XMON || HAVE_HW_BREAKPOINT + source "init/Kconfig" source "kernel/Kconfig.freezer" @@ -971,6 +975,7 @@ must live at a different physical address than the primary kernel. +# This value must have zeroes in the bottom 60 bits otherwise lots will break config PAGE_OFFSET hex default "0xc000000000000000" @@ -986,6 +991,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "arch/powerpc/sysdev/qe_lib/Kconfig" --- linux-lts-quantal-3.5.0.orig/arch/powerpc/lib/checksum_64.S +++ linux-lts-quantal-3.5.0/arch/powerpc/lib/checksum_64.S @@ -272,8 +272,8 @@ rldicl. r6,r3,64-1,64-2 /* r6 = (r3 & 0x3) >> 1 */ beq .Lcopy_aligned - li r7,4 - sub r6,r7,r6 + li r9,4 + sub r6,r9,r6 mtctr r6 1: --- linux-lts-quantal-3.5.0.orig/arch/powerpc/lib/Makefile +++ linux-lts-quantal-3.5.0/arch/powerpc/lib/Makefile @@ -18,9 +18,7 @@ memcpy_64.o usercopy_64.o mem_64.o string.o \ checksum_wrappers_64.o hweight_64.o \ copyuser_power7.o -obj-$(CONFIG_XMON) += sstep.o ldstfp.o -obj-$(CONFIG_KPROBES) += sstep.o ldstfp.o -obj-$(CONFIG_HAVE_HW_BREAKPOINT) += sstep.o ldstfp.o +obj-$(CONFIG_PPC_EMULATE_SSTEP) += sstep.o ldstfp.o ifeq ($(CONFIG_PPC64),y) obj-$(CONFIG_SMP) += locks.o --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kvm/e500_tlb.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kvm/e500_tlb.c @@ -1330,7 +1330,7 @@ if (!vcpu_e500->gtlb_priv[1]) goto err; - vcpu_e500->g2h_tlb1_map = kzalloc(sizeof(unsigned int) * + vcpu_e500->g2h_tlb1_map = kzalloc(sizeof(u64) * vcpu_e500->gtlb_params[1].entries, GFP_KERNEL); if (!vcpu_e500->g2h_tlb1_map) --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kvm/emulate.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kvm/emulate.c @@ -39,6 +39,7 @@ #define OP_31_XOP_TRAP 4 #define OP_31_XOP_LWZX 23 #define OP_31_XOP_TRAP_64 68 +#define OP_31_XOP_DCBF 86 #define OP_31_XOP_LBZX 87 #define OP_31_XOP_STWX 151 #define OP_31_XOP_STBX 215 @@ -351,6 +352,7 @@ kvmppc_set_exit_type(vcpu, EMULATED_MTSPR_EXITS); break; + case OP_31_XOP_DCBF: case OP_31_XOP_DCBI: /* Do nothing. The guest is performing dcbi because * hardware DMA is not snooped by the dcache, but --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/module.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/module.h @@ -87,10 +87,9 @@ void sort_ex_table(struct exception_table_entry *start, struct exception_table_entry *finish); -#ifdef CONFIG_MODVERSIONS +#if defined(CONFIG_MODVERSIONS) && defined(CONFIG_PPC64) #define ARCH_RELOCATES_KCRCTAB - -extern const unsigned long reloc_start[]; +#define reloc_start PHYSICAL_START #endif #endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_MODULE_H */ --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/pci-bridge.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/signal.h @@ -109,6 +109,7 @@ __sigrestore_t sa_restorer; sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/eeh.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/eeh.h @@ -130,6 +130,7 @@ void __init pci_addr_cache_build(void); void eeh_add_device_tree_early(struct device_node *); void eeh_add_device_tree_late(struct pci_bus *); +void eeh_add_sysfs_files(struct pci_bus *); void eeh_remove_bus_device(struct pci_dev *); /** @@ -183,7 +184,10 @@ static inline void eeh_add_device_tree_late(struct pci_bus *bus) { } +static inline void eeh_add_sysfs_files(struct pci_bus *bus) { } + static inline void eeh_remove_bus_device(struct pci_dev *dev) { } + #define EEH_POSSIBLE_ERROR(val, type) (0) #define EEH_IO_ERROR_VALUE(size) (-1UL) #endif /* CONFIG_EEH */ --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/page.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/page.h @@ -211,9 +211,19 @@ #define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) + VIRT_PHYS_OFFSET)) #define __pa(x) ((unsigned long)(x) - VIRT_PHYS_OFFSET) #else +#ifdef CONFIG_PPC64 +/* + * gcc miscompiles (unsigned long)(&static_var) - PAGE_OFFSET + * with -mcmodel=medium, so we use & and | instead of - and + on 64-bit. + */ +#define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) | PAGE_OFFSET)) +#define __pa(x) ((unsigned long)(x) & 0x0fffffffffffffffUL) + +#else /* 32-bit, non book E */ #define __va(x) ((void *)(unsigned long)((phys_addr_t)(x) + PAGE_OFFSET - MEMORY_START)) #define __pa(x) ((unsigned long)(x) - PAGE_OFFSET + MEMORY_START) #endif +#endif /* * Unfortunately the PLT is in the BSS in the PPC32 ELF ABI, --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/exception-64s.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/exception-64s.h @@ -320,7 +320,7 @@ */ #define STD_EXCEPTION_COMMON_ASYNC(trap, label, hdlr) \ EXCEPTION_COMMON(trap, label, hdlr, ret_from_except_lite, \ - FINISH_NAP;RUNLATCH_ON;DISABLE_INTS) + FINISH_NAP;DISABLE_INTS;RUNLATCH_ON) /* * When the idle code in power4_idle puts the CPU into NAP mode, --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/rtas.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/rtas.h @@ -262,6 +262,8 @@ extern void rtas_initialize(void); extern int rtas_suspend_cpu(struct rtas_suspend_me_data *data); extern int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data); +extern int rtas_online_cpus_mask(cpumask_var_t cpus); +extern int rtas_offline_cpus_mask(cpumask_var_t cpus); extern int rtas_ibm_suspend_me(struct rtas_args *); struct rtc_time; --- linux-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/reg.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/include/asm/ppc-opcode.h +++ linux-lts-quantal-3.5.0/arch/powerpc/include/asm/ppc-opcode.h @@ -45,6 +45,10 @@ #define PPC_INST_MFSPR_DSCR_MASK 0xfc1fffff #define PPC_INST_MTSPR_DSCR 0x7c1103a6 #define PPC_INST_MTSPR_DSCR_MASK 0xfc1fffff +#define PPC_INST_MFSPR_DSCR_USER 0x7c0302a6 +#define PPC_INST_MFSPR_DSCR_USER_MASK 0xfc1fffff +#define PPC_INST_MTSPR_DSCR_USER 0x7c0303a6 +#define PPC_INST_MTSPR_DSCR_USER_MASK 0xfc1fffff #define PPC_INST_SLBFEE 0x7c0007a7 #define PPC_INST_STRING 0x7c00042a --- linux-lts-quantal-3.5.0.orig/arch/powerpc/mm/hash_utils_64.c +++ linux-lts-quantal-3.5.0/arch/powerpc/mm/hash_utils_64.c @@ -759,6 +759,8 @@ /* Initialize stab / SLB management */ if (mmu_has_feature(MMU_FTR_SLB)) slb_initialize(); + else + stab_initialize(get_paca()->stab_real); } #ifdef CONFIG_SMP --- linux-lts-quantal-3.5.0.orig/arch/powerpc/mm/numa.c +++ linux-lts-quantal-3.5.0/arch/powerpc/mm/numa.c @@ -201,7 +201,7 @@ int distance = LOCAL_DISTANCE; if (!form1_affinity) - return distance; + return ((a == b) ? LOCAL_DISTANCE : REMOTE_DISTANCE); for (i = 0; i < distance_ref_points_depth; i++) { if (distance_lookup_table[a][i] == distance_lookup_table[b][i]) --- linux-lts-quantal-3.5.0.orig/arch/powerpc/sysdev/xics/icp-hv.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/boot/dts/p1022ds.dtsi +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/kernel/time.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/time.c @@ -750,13 +750,8 @@ void update_vsyscall_tz(void) { - /* Make userspace gettimeofday spin until we're done. */ - ++vdso_data->tb_update_count; - smp_mb(); vdso_data->tz_minuteswest = sys_tz.tz_minuteswest; vdso_data->tz_dsttime = sys_tz.tz_dsttime; - smp_mb(); - ++vdso_data->tb_update_count; } static void __init clocksource_init(void) --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/vmlinux.lds.S +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/vmlinux.lds.S @@ -38,9 +38,6 @@ #endif SECTIONS { - . = 0; - reloc_start = .; - . = KERNELBASE; /* --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/iommu.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/iommu.c @@ -501,7 +501,7 @@ /* number of bytes needed for the bitmap */ sz = (tbl->it_size + 7) >> 3; - page = alloc_pages_node(nid, GFP_ATOMIC, get_order(sz)); + page = alloc_pages_node(nid, GFP_KERNEL, get_order(sz)); if (!page) panic("iommu_init_table: Can't allocate %ld bytes\n", sz); tbl->it_map = page_address(page); --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/process.c +++ linux-lts-quantal-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 @@ -1229,7 +1221,7 @@ #ifdef CONFIG_PPC64 /* Called with hard IRQs off */ -void __ppc64_runlatch_on(void) +void notrace __ppc64_runlatch_on(void) { struct thread_info *ti = current_thread_info(); unsigned long ctrl; @@ -1242,7 +1234,7 @@ } /* Called with hard IRQs off */ -void __ppc64_runlatch_off(void) +void notrace __ppc64_runlatch_off(void) { struct thread_info *ti = current_thread_info(); unsigned long ctrl; --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/smp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/kernel/entry_64.S +++ linux-lts-quantal-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) @@ -605,6 +616,19 @@ ld r4,TI_FLAGS(r9) andi. r0,r4,_TIF_NEED_RESCHED bne 1b + + /* + * arch_local_irq_restore() from preempt_schedule_irq above may + * enable hard interrupt but we really should disable interrupts + * when we return from the interrupt, and so that we don't get + * interrupted after loading SRR0/1. + */ +#ifdef CONFIG_PPC_BOOK3E + wrteei 0 +#else + ld r10,PACAKMSR(r13) /* Get kernel MSR without EE */ + mtmsrd r10,1 /* Update machine state */ +#endif /* CONFIG_PPC_BOOK3E */ #endif /* CONFIG_PREEMPT */ .globl fast_exc_return_irq --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/setup_64.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/setup_64.c @@ -76,7 +76,7 @@ #endif int boot_cpuid = 0; -int __initdata spinning_secondaries; +int spinning_secondaries; u64 ppc64_pft_size; /* Pick defaults since we might want to patch instructions --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/of_platform.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/of_platform.c @@ -95,6 +95,9 @@ /* Add probed PCI devices to the device model */ pci_bus_add_devices(phb->bus); + /* sysfs files should only be added after devices are added */ + eeh_add_sysfs_files(phb->bus); + return 0; } --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/irq.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/irq.c @@ -162,7 +162,7 @@ * in case we also had a rollover while hard disabled */ local_paca->irq_happened &= ~PACA_IRQ_DEC; - if (decrementer_check_overflow()) + if ((happened & PACA_IRQ_DEC) || decrementer_check_overflow()) return 0x900; /* Finally check if an external interrupt happened */ --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/pci-common.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/pci-common.c @@ -1458,11 +1458,14 @@ pcibios_allocate_bus_resources(bus); pcibios_claim_one_bus(bus); + /* Fixup EEH */ + eeh_add_device_tree_late(bus); + /* Add new devices to global lists. Register in proc, sysfs. */ pci_bus_add_devices(bus); - /* Fixup EEH */ - eeh_add_device_tree_late(bus); + /* sysfs files should only be added after devices are added */ + eeh_add_sysfs_files(bus); } EXPORT_SYMBOL_GPL(pcibios_finish_adding_to_bus); --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/exceptions-64s.S +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/exceptions-64s.S @@ -489,7 +489,7 @@ STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception) STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception) STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception) - STD_EXCEPTION_COMMON(0xe40, emulation_assist, .program_check_exception) + STD_EXCEPTION_COMMON(0xe40, emulation_assist, .emulation_assist_interrupt) STD_EXCEPTION_COMMON(0xe60, hmi_exception, .unknown_exception) STD_EXCEPTION_COMMON_ASYNC(0xf00, performance_monitor, .performance_monitor_exception) STD_EXCEPTION_COMMON(0x1300, instruction_breakpoint, .instruction_breakpoint_exception) --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/align.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/align.c @@ -764,6 +764,16 @@ nb = aligninfo[instr].len; flags = aligninfo[instr].flags; + /* ldbrx/stdbrx overlap lfs/stfs in the DSISR unfortunately */ + if (IS_XFORM(instruction) && ((instruction >> 1) & 0x3ff) == 532) { + nb = 8; + flags = LD+SW; + } else if (IS_XFORM(instruction) && + ((instruction >> 1) & 0x3ff) == 660) { + nb = 8; + flags = ST+SW; + } + /* Byteswap little endian loads and stores */ swiz = 0; if (regs->msr & MSR_LE) { --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/cputable.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/cputable.c @@ -269,7 +269,7 @@ .cpu_features = CPU_FTRS_PPC970, .cpu_user_features = COMMON_USER_POWER4 | PPC_FEATURE_HAS_ALTIVEC_COMP, - .mmu_features = MMU_FTR_HPTE_TABLE, + .mmu_features = MMU_FTRS_PPC970, .icache_bsize = 128, .dcache_bsize = 128, .num_pmcs = 8, --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/ftrace.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/kernel/rtas.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/rtas.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -808,6 +809,95 @@ __rtas_suspend_cpu((struct rtas_suspend_me_data *)info, 1); } +enum rtas_cpu_state { + DOWN, + UP, +}; + +#ifndef CONFIG_SMP +static int rtas_cpu_state_change_mask(enum rtas_cpu_state state, + cpumask_var_t cpus) +{ + if (!cpumask_empty(cpus)) { + cpumask_clear(cpus); + return -EINVAL; + } else + return 0; +} +#else +/* On return cpumask will be altered to indicate CPUs changed. + * CPUs with states changed will be set in the mask, + * CPUs with status unchanged will be unset in the mask. */ +static int rtas_cpu_state_change_mask(enum rtas_cpu_state state, + cpumask_var_t cpus) +{ + int cpu; + int cpuret = 0; + int ret = 0; + + if (cpumask_empty(cpus)) + return 0; + + for_each_cpu(cpu, cpus) { + switch (state) { + case DOWN: + cpuret = cpu_down(cpu); + break; + case UP: + cpuret = cpu_up(cpu); + break; + } + if (cpuret) { + pr_debug("%s: cpu_%s for cpu#%d returned %d.\n", + __func__, + ((state == UP) ? "up" : "down"), + cpu, cpuret); + if (!ret) + ret = cpuret; + if (state == UP) { + /* clear bits for unchanged cpus, return */ + cpumask_shift_right(cpus, cpus, cpu); + cpumask_shift_left(cpus, cpus, cpu); + break; + } else { + /* clear bit for unchanged cpu, continue */ + cpumask_clear_cpu(cpu, cpus); + } + } + } + + return ret; +} +#endif + +int rtas_online_cpus_mask(cpumask_var_t cpus) +{ + int ret; + + ret = rtas_cpu_state_change_mask(UP, cpus); + + if (ret) { + cpumask_var_t tmp_mask; + + if (!alloc_cpumask_var(&tmp_mask, GFP_TEMPORARY)) + return ret; + + /* Use tmp_mask to preserve cpus mask from first failure */ + cpumask_copy(tmp_mask, cpus); + rtas_offline_cpus_mask(tmp_mask); + free_cpumask_var(tmp_mask); + } + + return ret; +} +EXPORT_SYMBOL(rtas_online_cpus_mask); + +int rtas_offline_cpus_mask(cpumask_var_t cpus) +{ + return rtas_cpu_state_change_mask(DOWN, cpus); +} +EXPORT_SYMBOL(rtas_offline_cpus_mask); + int rtas_ibm_suspend_me(struct rtas_args *args) { long state; @@ -815,6 +905,8 @@ unsigned long retbuf[PLPAR_HCALL_BUFSIZE]; struct rtas_suspend_me_data data; DECLARE_COMPLETION_ONSTACK(done); + cpumask_var_t offline_mask; + int cpuret; if (!rtas_service_present("ibm,suspend-me")) return -ENOSYS; @@ -838,11 +930,24 @@ return 0; } + if (!alloc_cpumask_var(&offline_mask, GFP_TEMPORARY)) + return -ENOMEM; + atomic_set(&data.working, 0); atomic_set(&data.done, 0); atomic_set(&data.error, 0); data.token = rtas_token("ibm,suspend-me"); data.complete = &done; + + /* All present CPUs must be online */ + cpumask_andnot(offline_mask, cpu_present_mask, cpu_online_mask); + cpuret = rtas_online_cpus_mask(offline_mask); + if (cpuret) { + pr_err("%s: Could not bring present CPUs online.\n", __func__); + atomic_set(&data.error, cpuret); + goto out; + } + stop_topology_update(); /* Call function on all CPUs. One of us will make the @@ -858,6 +963,14 @@ start_topology_update(); + /* Take down CPUs not online prior to suspend */ + cpuret = rtas_offline_cpus_mask(offline_mask); + if (cpuret) + pr_warn("%s: Could not restore CPUs to offline state.\n", + __func__); + +out: + free_cpumask_var(offline_mask); return atomic_read(&data.error); } #else /* CONFIG_PPC_PSERIES */ --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/asm-offsets.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/kernel/vio.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/vio.c @@ -1520,11 +1520,15 @@ const char *cp; dn = dev->of_node; - if (!dn) - return -ENODEV; + if (!dn) { + strcat(buf, "\n"); + return strlen(buf); + } cp = of_get_property(dn, "compatible", NULL); - if (!cp) - return -ENODEV; + if (!cp) { + strcat(buf, "\n"); + return strlen(buf); + } return sprintf(buf, "vio:T%sS%s\n", vio_dev->type, cp); } --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/dbell.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/kernel/lparcfg.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/lparcfg.c @@ -35,7 +35,13 @@ #include #include #include +#include + +/* + * This isn't a module but we expose that to userspace + * via /proc so leave the definitions here + */ #define MODULE_VERS "1.9" #define MODULE_NAME "lparcfg" @@ -419,7 +425,8 @@ { unsigned long retbuf[PLPAR_HCALL_BUFSIZE]; - if (plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS) + if (firmware_has_feature(FW_FEATURE_LPAR) && + plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS) seq_printf(m, "power_mode_data=%016lx\n", retbuf[0]); } @@ -678,7 +685,6 @@ } static const struct file_operations lparcfg_fops = { - .owner = THIS_MODULE, .read = seq_read, .write = lparcfg_write, .open = lparcfg_open, @@ -704,15 +710,4 @@ proc_ppc64_lparcfg = ent; return 0; } - -static void __exit lparcfg_cleanup(void) -{ - if (proc_ppc64_lparcfg) - remove_proc_entry("lparcfg", proc_ppc64_lparcfg->parent); -} - -module_init(lparcfg_init); -module_exit(lparcfg_cleanup); -MODULE_DESCRIPTION("Interface for LPAR configuration data"); -MODULE_AUTHOR("Dave Engebretsen"); -MODULE_LICENSE("GPL"); +machine_device_initcall(pseries, lparcfg_init); --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/machine_kexec_64.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/machine_kexec_64.c @@ -162,6 +162,8 @@ static void kexec_smp_down(void *arg) { local_irq_disable(); + hard_irq_disable(); + mb(); /* make sure our irqs are disabled before we say they are */ get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF; while(kexec_all_irq_disabled == 0) @@ -244,6 +246,8 @@ wake_offline_cpus(); smp_call_function(kexec_smp_down, NULL, /* wait */0); local_irq_disable(); + hard_irq_disable(); + mb(); /* make sure IRQs are disabled before we say they are */ get_paca()->kexec_state = KEXEC_STATE_IRQS_OFF; @@ -281,6 +285,7 @@ if (ppc_md.kexec_cpu_down) ppc_md.kexec_cpu_down(0, 0); local_irq_disable(); + hard_irq_disable(); } #endif /* SMP */ --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/traps.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/traps.c @@ -960,7 +960,10 @@ #ifdef CONFIG_PPC64 /* Emulate the mfspr rD, DSCR. */ - if (((instword & PPC_INST_MFSPR_DSCR_MASK) == PPC_INST_MFSPR_DSCR) && + if ((((instword & PPC_INST_MFSPR_DSCR_USER_MASK) == + PPC_INST_MFSPR_DSCR_USER) || + ((instword & PPC_INST_MFSPR_DSCR_MASK) == + PPC_INST_MFSPR_DSCR)) && cpu_has_feature(CPU_FTR_DSCR)) { PPC_WARN_EMULATED(mfdscr, regs); rd = (instword >> 21) & 0x1f; @@ -968,12 +971,16 @@ return 0; } /* Emulate the mtspr DSCR, rD. */ - if (((instword & PPC_INST_MTSPR_DSCR_MASK) == PPC_INST_MTSPR_DSCR) && + if ((((instword & PPC_INST_MTSPR_DSCR_USER_MASK) == + PPC_INST_MTSPR_DSCR_USER) || + ((instword & PPC_INST_MTSPR_DSCR_MASK) == + PPC_INST_MTSPR_DSCR)) && 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 @@ -1067,6 +1074,16 @@ _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); } +/* + * This occurs when running in hypervisor mode on POWER6 or later + * and an illegal instruction is encountered. + */ +void __kprobes emulation_assist_interrupt(struct pt_regs *regs) +{ + regs->msr |= REASON_ILLEGAL; + program_check_exception(regs); +} + void alignment_exception(struct pt_regs *regs) { int sig, code, fixed = 0; --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/sysfs.c +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/sysfs.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "cacheinfo.h" @@ -179,21 +180,39 @@ SYSFS_PMCSETUP(dscr, SPRN_DSCR); SYSFS_PMCSETUP(pir, SPRN_PIR); +/* + Lets only enable read for phyp resources and + enable write when needed with a separate function. + Lets be conservative and default to pseries. +*/ static DEVICE_ATTR(mmcra, 0600, show_mmcra, store_mmcra); static DEVICE_ATTR(spurr, 0600, show_spurr, NULL); static DEVICE_ATTR(dscr, 0600, show_dscr, store_dscr); -static DEVICE_ATTR(purr, 0600, show_purr, store_purr); +static DEVICE_ATTR(purr, 0400, show_purr, store_purr); static DEVICE_ATTR(pir, 0400, show_pir, NULL); unsigned long dscr_default = 0; EXPORT_SYMBOL(dscr_default); +static void add_write_permission_dev_attr(struct device_attribute *attr) +{ + attr->attr.mode |= 0200; +} + static ssize_t show_dscr_default(struct device *dev, struct device_attribute *attr, char *buf) { 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 +225,8 @@ return -EINVAL; dscr_default = val; + on_each_cpu(update_dscr, NULL, 1); + return count; } @@ -384,8 +405,11 @@ if (cpu_has_feature(CPU_FTR_MMCRA)) device_create_file(s, &dev_attr_mmcra); - if (cpu_has_feature(CPU_FTR_PURR)) + if (cpu_has_feature(CPU_FTR_PURR)) { + if (!firmware_has_feature(FW_FEATURE_LPAR)) + add_write_permission_dev_attr(&dev_attr_purr); device_create_file(s, &dev_attr_purr); + } if (cpu_has_feature(CPU_FTR_SPURR)) device_create_file(s, &dev_attr_spurr); --- linux-lts-quantal-3.5.0.orig/arch/powerpc/kernel/head_64.S +++ linux-lts-quantal-3.5.0/arch/powerpc/kernel/head_64.S @@ -422,7 +422,7 @@ tovirt(r6,r6) /* on booke, we already run at PAGE_OFFSET */ #endif -#ifdef CONFIG_CRASH_DUMP +#ifdef CONFIG_RELOCATABLE /* * Check if the kernel has to be running as relocatable kernel based on the * variable __run_at_load, if it is set the kernel is treated as relocatable @@ -489,6 +489,7 @@ sync addi r5,r5,8 addi r6,r6,8 + isync blr .align 8 --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/85xx/p1022_ds.c +++ linux-lts-quantal-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); - lbc_lcs1_ba = of_iomap(indirect_node, 1); + /* + * 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_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-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/eeh_event.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/eeh_driver.c +++ linux-lts-quantal-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; - if (!driver || - !driver->err_handler || - !driver->err_handler->mmio_enabled) + driver = eeh_pcid_get(dev); + if (!driver) return 0; + + 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-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/setup.c +++ linux-lts-quantal-3.5.0/arch/powerpc/platforms/pseries/setup.c @@ -352,7 +352,7 @@ } early_initcall(alloc_dispatch_log_kmem_cache); -static void pSeries_idle(void) +static void pseries_lpar_idle(void) { /* This would call on the cpuidle framework, and the back-end pseries * driver to go to idle states @@ -360,10 +360,22 @@ if (cpuidle_idle_call()) { /* On error, execute default handler * to go into low thread priority and possibly - * low power mode. + * low power mode by cedeing processor to hypervisor */ - HMT_low(); - HMT_very_low(); + + /* Indicate to hypervisor that we are idle. */ + get_lppaca()->idle = 1; + + /* + * Yield the processor to the hypervisor. We return if + * an external interrupt occurs (which are driven prior + * to returning here) or if a prod occurs from another + * processor. When returning here, external interrupts + * are enabled. + */ + cede_processor(); + + get_lppaca()->idle = 0; } } @@ -395,15 +407,14 @@ pSeries_nvram_init(); - if (firmware_has_feature(FW_FEATURE_SPLPAR)) { + if (firmware_has_feature(FW_FEATURE_LPAR)) { vpa_init(boot_cpuid); - ppc_md.power_save = pSeries_idle; - } - - if (firmware_has_feature(FW_FEATURE_LPAR)) + ppc_md.power_save = pseries_lpar_idle; ppc_md.enable_pmcs = pseries_lpar_enable_pmcs; - else + } else { + /* No special idle routine */ ppc_md.enable_pmcs = power4_enable_pmcs; + } } static int __init pSeries_init_panel(void) --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/lpar.c +++ linux-lts-quantal-3.5.0/arch/powerpc/platforms/pseries/lpar.c @@ -187,7 +187,13 @@ (0x1UL << 4), &dummy1, &dummy2); if (lpar_rc == H_SUCCESS) return i; - BUG_ON(lpar_rc != H_NOT_FOUND); + + /* + * The test for adjunct partition is performed before the + * ANDCOND test. H_RESOURCE may be returned, so we need to + * check for that as well. + */ + BUG_ON(lpar_rc != H_NOT_FOUND && lpar_rc != H_RESOURCE); slot_offset++; slot_offset &= 0x7; --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/suspend.c +++ linux-lts-quantal-3.5.0/arch/powerpc/platforms/pseries/suspend.c @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include #include #include #include @@ -126,11 +127,15 @@ struct device_attribute *attr, const char *buf, size_t count) { + cpumask_var_t offline_mask; int rc; if (!capable(CAP_SYS_ADMIN)) return -EPERM; + if (!alloc_cpumask_var(&offline_mask, GFP_TEMPORARY)) + return -ENOMEM; + stream_id = simple_strtoul(buf, NULL, 16); do { @@ -140,15 +145,32 @@ } while (rc == -EAGAIN); if (!rc) { + /* All present CPUs must be online */ + cpumask_andnot(offline_mask, cpu_present_mask, + cpu_online_mask); + rc = rtas_online_cpus_mask(offline_mask); + if (rc) { + pr_err("%s: Could not bring present CPUs online.\n", + __func__); + goto out; + } + stop_topology_update(); rc = pm_suspend(PM_SUSPEND_MEM); start_topology_update(); + + /* Take down CPUs not online prior to suspend */ + if (!rtas_offline_cpus_mask(offline_mask)) + pr_warn("%s: Could not restore CPUs to offline " + "state.\n", __func__); } stream_id = 0; if (!rc) rc = count; +out: + free_cpumask_var(offline_mask); return rc; } --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/eeh_pseries.c +++ linux-lts-quantal-3.5.0/arch/powerpc/platforms/pseries/eeh_pseries.c @@ -83,7 +83,11 @@ ibm_configure_pe = rtas_token("ibm,configure-pe"); ibm_configure_bridge = rtas_token ("ibm,configure-bridge"); - /* necessary sanity check */ + /* + * Necessary sanity check. We needn't check "get-config-addr-info" + * and its variant since the old firmware probably support address + * of domain/bus/slot/function for EEH RTAS operations. + */ if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE) { pr_warning("%s: RTAS service invalid\n", __func__); @@ -102,12 +106,6 @@ pr_warning("%s: RTAS service invalid\n", __func__); return -EINVAL; - } else if (ibm_get_config_addr_info2 == RTAS_UNKNOWN_SERVICE && - ibm_get_config_addr_info == RTAS_UNKNOWN_SERVICE) { - pr_warning("%s: RTAS service and " - " invalid\n", - __func__); - return -EINVAL; } else if (ibm_configure_pe == RTAS_UNKNOWN_SERVICE && ibm_configure_bridge == RTAS_UNKNOWN_SERVICE) { pr_warning("%s: RTAS service and " --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/pseries/eeh.c +++ linux-lts-quantal-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; @@ -1088,7 +1088,6 @@ dev->dev.archdata.edev = edev; pci_addr_cache_insert_device(dev); - eeh_sysfs_add_device(dev); } /** @@ -1115,6 +1114,29 @@ EXPORT_SYMBOL_GPL(eeh_add_device_tree_late); /** + * eeh_add_sysfs_files - Add EEH sysfs files for the indicated PCI bus + * @bus: PCI bus + * + * This routine must be used to add EEH sysfs files for PCI + * devices which are attached to the indicated PCI bus. The PCI bus + * is added after system boot through hotplug or dlpar. + */ +void eeh_add_sysfs_files(struct pci_bus *bus) +{ + struct pci_dev *dev; + + list_for_each_entry(dev, &bus->devices, bus_list) { + eeh_sysfs_add_device(dev); + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { + struct pci_bus *subbus = dev->subordinate; + if (subbus) + eeh_add_sysfs_files(subbus); + } + } +} +EXPORT_SYMBOL_GPL(eeh_add_sysfs_files); + +/** * eeh_remove_device - Undo EEH setup for the indicated pci device * @dev: pci device to be removed * --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/40x/ppc40x_simple.c +++ linux-lts-quantal-3.5.0/arch/powerpc/platforms/40x/ppc40x_simple.c @@ -57,7 +57,8 @@ "amcc,makalu", "apm,klondike", "est,hotfoot", - "plathome,obs600" + "plathome,obs600", + NULL }; static int __init ppc40x_probe(void) --- linux-lts-quantal-3.5.0.orig/arch/powerpc/platforms/cell/spufs/inode.c +++ linux-lts-quantal-3.5.0/arch/powerpc/platforms/cell/spufs/inode.c @@ -99,6 +99,7 @@ if (!inode) goto out; + inode->i_ino = get_next_ino(); inode->i_mode = mode; inode->i_uid = current_fsuid(); inode->i_gid = current_fsgid(); --- linux-lts-quantal-3.5.0.orig/arch/tile/Kconfig +++ linux-lts-quantal-3.5.0/arch/tile/Kconfig @@ -339,11 +339,17 @@ config KERNEL_PL int "Processor protection level for kernel" range 1 2 - default "1" + default 2 if TILEGX + default 1 if !TILEGX ---help--- - This setting determines the processor protection level the - kernel will be built to run at. Generally you should use - the default value here. + Since MDE 4.2, the Tilera hypervisor runs the kernel + at PL2 by default. If running under an older hypervisor, + or as a KVM guest, you must run at PL1. (The current + hypervisor may also be recompiled with "make HV_PL=2" to + allow it to run a kernel at PL1, but clients running at PL1 + are not expected to be supported indefinitely.) + + If you're not sure, don't change the default. endmenu # Tilera-specific configuration --- linux-lts-quantal-3.5.0.orig/arch/tile/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/tile/lib/exports.c +++ linux-lts-quantal-3.5.0/arch/tile/lib/exports.c @@ -82,4 +82,6 @@ EXPORT_SYMBOL(__ashrdi3); uint64_t __ashldi3(uint64_t, unsigned int); EXPORT_SYMBOL(__ashldi3); +int __ffsdi2(uint64_t); +EXPORT_SYMBOL(__ffsdi2); #endif --- linux-lts-quantal-3.5.0.orig/arch/tile/include/hv/hypervisor.h +++ linux-lts-quantal-3.5.0/arch/tile/include/hv/hypervisor.h @@ -107,7 +107,22 @@ #define HV_DISPATCH_ENTRY_SIZE 32 /** Version of the hypervisor interface defined by this file */ -#define _HV_VERSION 11 +#define _HV_VERSION 13 + +/** Last version of the hypervisor interface with old hv_init() ABI. + * + * The change from version 12 to version 13 corresponds to launching + * the client by default at PL2 instead of PL1 (corresponding to the + * hv itself running at PL3 instead of PL2). To make this explicit, + * the hv_init() API was also extended so the client can report its + * desired PL, resulting in a more helpful failure diagnostic. If you + * call hv_init() with _HV_VERSION_OLD_HV_INIT and omit the client_pl + * argument, the hypervisor will assume client_pl = 1. + * + * Note that this is a deprecated solution and we do not expect to + * support clients of the Tilera hypervisor running at PL1 indefinitely. + */ +#define _HV_VERSION_OLD_HV_INIT 12 /* Index into hypervisor interface dispatch code blocks. * @@ -377,7 +392,11 @@ #ifndef __ASSEMBLER__ /** Pass HV_VERSION to hv_init to request this version of the interface. */ -typedef enum { HV_VERSION = _HV_VERSION } HV_VersionNumber; +typedef enum { + HV_VERSION = _HV_VERSION, + HV_VERSION_OLD_HV_INIT = _HV_VERSION_OLD_HV_INIT, + +} HV_VersionNumber; /** Initializes the hypervisor. * @@ -385,9 +404,11 @@ * that this program expects, typically HV_VERSION. * @param chip_num Architecture number of the chip the client was built for. * @param chip_rev_num Revision number of the chip the client was built for. + * @param client_pl Privilege level the client is built for + * (not required if interface_version_number == HV_VERSION_OLD_HV_INIT). */ void hv_init(HV_VersionNumber interface_version_number, - int chip_num, int chip_rev_num); + int chip_num, int chip_rev_num, int client_pl); /** Queries we can make for hv_sysconf(). --- linux-lts-quantal-3.5.0.orig/arch/tile/kernel/head_32.S +++ linux-lts-quantal-3.5.0/arch/tile/kernel/head_32.S @@ -38,7 +38,7 @@ movei r2, TILE_CHIP_REV } { - moveli r0, _HV_VERSION + moveli r0, _HV_VERSION_OLD_HV_INIT jal hv_init } /* Get a reasonable default ASID in r0 */ --- linux-lts-quantal-3.5.0.orig/arch/tile/kernel/setup.c +++ linux-lts-quantal-3.5.0/arch/tile/kernel/setup.c @@ -990,15 +990,8 @@ #ifdef CONFIG_BLK_DEV_INITRD -/* - * Note that the kernel can potentially support other compression - * techniques than gz, though we don't do so by default. If we ever - * decide to do so we can either look for other filename extensions, - * or just allow a file with this name to be compressed with an - * arbitrary compressor (somewhat counterintuitively). - */ static int __initdata set_initramfs_file; -static char __initdata initramfs_file[128] = "initramfs.cpio.gz"; +static char __initdata initramfs_file[128] = "initramfs"; static int __init setup_initramfs_file(char *str) { @@ -1012,9 +1005,9 @@ early_param("initramfs_file", setup_initramfs_file); /* - * We look for an "initramfs.cpio.gz" file in the hvfs. - * If there is one, we allocate some memory for it and it will be - * unpacked to the initramfs. + * We look for a file called "initramfs" in the hvfs. If there is one, we + * allocate some memory for it and it will be unpacked to the initramfs. + * If it's compressed, the initd code will uncompress it first. */ static void __init load_hv_initrd(void) { @@ -1024,10 +1017,16 @@ fd = hv_fs_findfile((HV_VirtAddr) initramfs_file); if (fd == HV_ENOENT) { - if (set_initramfs_file) + if (set_initramfs_file) { pr_warning("No such hvfs initramfs file '%s'\n", initramfs_file); - return; + return; + } else { + /* Try old backwards-compatible name. */ + fd = hv_fs_findfile((HV_VirtAddr)"initramfs.cpio.gz"); + if (fd == HV_ENOENT) + return; + } } BUG_ON(fd < 0); stat = hv_fs_fstat(fd); --- linux-lts-quantal-3.5.0.orig/arch/tile/kernel/head_64.S +++ linux-lts-quantal-3.5.0/arch/tile/kernel/head_64.S @@ -34,13 +34,19 @@ ENTRY(_start) /* Notify the hypervisor of what version of the API we want */ { +#if KERNEL_PL == 1 && _HV_VERSION == 13 + /* Support older hypervisors by asking for API version 12. */ + movei r0, _HV_VERSION_OLD_HV_INIT +#else + movei r0, _HV_VERSION +#endif movei r1, TILE_CHIP - movei r2, TILE_CHIP_REV } { - moveli r0, _HV_VERSION - jal hv_init + movei r2, TILE_CHIP_REV + movei r3, KERNEL_PL } + jal hv_init /* Get a reasonable default ASID in r0 */ { move r0, zero --- linux-lts-quantal-3.5.0.orig/arch/microblaze/configs/nommu_defconfig +++ linux-lts-quantal-3.5.0/arch/microblaze/configs/nommu_defconfig @@ -1,41 +1,42 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y +CONFIG_FHANDLE=y +CONFIG_AUDIT=y +CONFIG_AUDIT_LOGINUID_IMMUTABLE=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y +CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_EXPERT=y CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS_EXTRA_PASS=y -# CONFIG_HOTPLUG is not set # CONFIG_BASE_FULL is not set +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set -# CONFIG_OPT_LIB_FUNCTION is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1 CONFIG_XILINX_MICROBLAZE0_USE_DIV=1 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2 CONFIG_XILINX_MICROBLAZE0_USE_FPU=2 -CONFIG_HIGH_RES_TIMERS=y CONFIG_HZ_100=y CONFIG_CMDLINE_BOOL=y -CONFIG_BINFMT_FLAT=y +CONFIG_CMDLINE_FORCE=y +CONFIG_PCI=y +CONFIG_PCI_XILINX=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y # CONFIG_INET_LRO is not set # CONFIG_IPV6 is not set -# CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_MTD=y -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y @@ -45,41 +46,55 @@ CONFIG_MTD_RAM=y CONFIG_MTD_UCLINUX=y CONFIG_PROC_DEVICETREE=y -CONFIG_BLK_DEV_NBD=y CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_SIZE=8192 CONFIG_NETDEVICES=y -CONFIG_NET_ETHERNET=y +CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_LL_TEMAC=y # CONFIG_INPUT is not set # CONFIG_SERIO is not set # CONFIG_VT is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_UARTLITE_CONSOLE=y -CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM is not set +CONFIG_XILINX_HWICAP=y +CONFIG_I2C=y +CONFIG_I2C_XILINX=y +CONFIG_SPI=y +CONFIG_SPI_XILINX=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_XILINX=y # CONFIG_HWMON is not set -CONFIG_VIDEO_OUTPUT_CONTROL=y +CONFIG_WATCHDOG=y +CONFIG_XILINX_WATCHDOG=y +CONFIG_FB=y +CONFIG_FB_XILINX=y +# CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y CONFIG_EXT2_FS=y # CONFIG_DNOTIFY is not set CONFIG_CRAMFS=y CONFIG_ROMFS_FS=y CONFIG_NFS_FS=y -CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y -CONFIG_UNUSED_SYMBOLS=y -CONFIG_DEBUG_FS=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_SHIRQ=y +CONFIG_NLS=y CONFIG_DETECT_HUNG_TASK=y -CONFIG_SCHEDSTATS=y -CONFIG_TIMER_STATS=y -CONFIG_DEBUG_OBJECTS=y -CONFIG_DEBUG_OBJECTS_SELFTEST=y -CONFIG_DEBUG_OBJECTS_FREE=y -CONFIG_DEBUG_OBJECTS_TIMERS=y +CONFIG_DEBUG_SLAB=y +CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_LIST=y -CONFIG_DEBUG_SG=y -# CONFIG_RCU_CPU_STALL_DETECTOR is not set -CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_ARC4=y +CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_ANSI_CPRNG is not set -# CONFIG_CRC32 is not set --- linux-lts-quantal-3.5.0.orig/arch/microblaze/configs/mmu_defconfig +++ linux-lts-quantal-3.5.0/arch/microblaze/configs/mmu_defconfig @@ -1,25 +1,22 @@ CONFIG_EXPERIMENTAL=y CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_FHANDLE=y +CONFIG_AUDIT=y +CONFIG_AUDIT_LOGINUID_IMMUTABLE=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y +CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="rootfs.cpio" -CONFIG_INITRAMFS_COMPRESSION_GZIP=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_EXPERT=y CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS_EXTRA_PASS=y -# CONFIG_HOTPLUG is not set # CONFIG_BASE_FULL is not set -# CONFIG_FUTEX is not set -# CONFIG_EPOLL is not set -# CONFIG_SIGNALFD is not set -# CONFIG_SHMEM is not set +CONFIG_EMBEDDED=y CONFIG_SLAB=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_EFI_PARTITION is not set CONFIG_OPT_LIB_ASM=y CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 @@ -31,39 +28,62 @@ CONFIG_MMU=y CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE_FORCE=y +CONFIG_HIGHMEM=y +CONFIG_PCI=y +CONFIG_PCI_XILINX=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y # CONFIG_INET_LRO is not set # CONFIG_IPV6 is not set +CONFIG_MTD=y CONFIG_PROC_DEVICETREE=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=8192 CONFIG_NETDEVICES=y -CONFIG_NET_ETHERNET=y CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_LL_TEMAC=y # CONFIG_INPUT is not set # CONFIG_SERIO is not set # CONFIG_VT is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_UARTLITE_CONSOLE=y # CONFIG_HW_RANDOM is not set +CONFIG_XILINX_HWICAP=y +CONFIG_I2C=y +CONFIG_I2C_XILINX=y +CONFIG_SPI=y +CONFIG_SPI_XILINX=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_XILINX=y # CONFIG_HWMON is not set +CONFIG_WATCHDOG=y +CONFIG_XILINX_WATCHDOG=y +CONFIG_FB=y +CONFIG_FB_XILINX=y # CONFIG_USB_SUPPORT is not set +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y CONFIG_EXT2_FS=y # CONFIG_DNOTIFY is not set +CONFIG_CRAMFS=y +CONFIG_ROMFS_FS=y CONFIG_NFS_FS=y -CONFIG_NFS_V3=y CONFIG_CIFS=y CONFIG_CIFS_STATS=y CONFIG_CIFS_STATS2=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_INFO=y -# CONFIG_RCU_CPU_STALL_DETECTOR is not set CONFIG_EARLY_PRINTK=y +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=y +CONFIG_KEYS_DEBUG_PROC_KEYS=y # CONFIG_CRYPTO_ANSI_CPRNG is not set --- linux-lts-quantal-3.5.0.orig/arch/xtensa/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/xtensa/include/asm/signal.h @@ -126,6 +126,7 @@ void (*sa_restorer)(void); sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/xtensa/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/xtensa/kernel/Makefile +++ linux-lts-quantal-3.5.0/arch/xtensa/kernel/Makefile @@ -24,6 +24,7 @@ # Replicate rules in scripts/Makefile.build sed-y = -e 's/\*(\(\.[a-z]*it\|\.ref\|\)\.text)/*(\1.literal \1.text)/g' \ + -e 's/\.text\.unlikely/.literal.unlikely .text.unlikely/g' \ -e 's/\*(\(\.text\.[a-z]*\))/*(\1.literal \1)/g' quiet_cmd__cpp_lds_S = LDS $@ --- linux-lts-quantal-3.5.0.orig/arch/m32r/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/m32r/include/asm/signal.h @@ -116,6 +116,7 @@ __sigrestore_t sa_restorer; sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/m32r/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mn10300/Makefile +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/mn10300/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/mn10300/include/asm/signal.h @@ -131,6 +131,7 @@ __sigrestore_t sa_restorer; sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/mn10300/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kvm/interrupt.c +++ linux-lts-quantal-3.5.0/arch/s390/kvm/interrupt.c @@ -390,7 +390,7 @@ return 0; } - sltime = ((vcpu->arch.sie_block->ckc - now)*125)>>9; + sltime = tod_to_ns(vcpu->arch.sie_block->ckc - now); hrtimer_start(&vcpu->arch.ckc_timer, ktime_set (0, sltime) , HRTIMER_MODE_REL); VCPU_EVENT(vcpu, 5, "enabled wait via clock comparator: %llx ns", sltime); --- linux-lts-quantal-3.5.0.orig/arch/s390/kvm/kvm-s390.c +++ linux-lts-quantal-3.5.0/arch/s390/kvm/kvm-s390.c @@ -752,6 +752,14 @@ } else prefix = 0; + /* + * The guest FPRS and ACRS are in the host FPRS/ACRS due to the lazy + * copying in vcpu load/put. Lets update our copies before we save + * it into the save area + */ + save_fp_regs(&vcpu->arch.guest_fpregs); + save_access_regs(vcpu->run->s.regs.acrs); + if (__guestcopy(vcpu, addr + offsetof(struct save_area, fp_regs), vcpu->arch.guest_fpregs.fprs, 128, prefix)) return -EFAULT; @@ -981,7 +989,7 @@ } memcpy(facilities, S390_lowcore.stfle_fac_list, 16); facilities[0] &= 0xff00fff3f47c0000ULL; - facilities[1] &= 0x201c000000000000ULL; + facilities[1] &= 0x001c000000000000ULL; return 0; } --- linux-lts-quantal-3.5.0.orig/arch/s390/include/asm/tlbflush.h +++ linux-lts-quantal-3.5.0/arch/s390/include/asm/tlbflush.h @@ -74,8 +74,6 @@ static inline void __tlb_flush_mm(struct mm_struct * mm) { - if (unlikely(cpumask_empty(mm_cpumask(mm)))) - return; /* * If the machine has IDTE we prefer to do a per mm flush * on all cpus instead of doing a local flush if the mm --- linux-lts-quantal-3.5.0.orig/arch/s390/include/asm/ptrace.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/include/asm/signal.h +++ linux-lts-quantal-3.5.0/arch/s390/include/asm/signal.h @@ -131,6 +131,7 @@ void (*sa_restorer)(void); sigset_t sa_mask; /* mask last for extensibility */ }; +#define __ARCH_HAS_SA_RESTORER struct k_sigaction { struct sigaction sa; --- linux-lts-quantal-3.5.0.orig/arch/s390/include/asm/mmu_context.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/include/asm/compat.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/include/asm/pgtable.h +++ linux-lts-quantal-3.5.0/arch/s390/include/asm/pgtable.h @@ -67,6 +67,10 @@ #define my_zero_pfn(addr) page_to_pfn(ZERO_PAGE(addr)) +/* TODO: s390 cannot support io_remap_pfn_range... */ +#define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \ + remap_pfn_range(vma, vaddr, pfn, size, prot) + #endif /* !__ASSEMBLY__ */ /* --- linux-lts-quantal-3.5.0.orig/arch/s390/include/asm/processor.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/include/asm/timex.h +++ linux-lts-quantal-3.5.0/arch/s390/include/asm/timex.h @@ -130,4 +130,32 @@ return get_clock_xt() - sched_clock_base_cc; } +/** + * tod_to_ns - convert a TOD format value to nanoseconds + * @todval: to be converted TOD format value + * Returns: number of nanoseconds that correspond to the TOD format value + * + * Converting a 64 Bit TOD format value to nanoseconds means that the value + * must be divided by 4.096. In order to achieve that we multiply with 125 + * and divide by 512: + * + * ns = (todval * 125) >> 9; + * + * In order to avoid an overflow with the multiplication we can rewrite this. + * With a split todval == 2^32 * th + tl (th upper 32 bits, tl lower 32 bits) + * we end up with + * + * ns = ((2^32 * th + tl) * 125 ) >> 9; + * -> ns = (2^23 * th * 125) + ((tl * 125) >> 9); + * + */ +static inline unsigned long long tod_to_ns(unsigned long long todval) +{ + unsigned long long ns; + + ns = ((todval >> 32) << 23) * 125; + ns += ((todval & 0xffffffff) * 125) >> 9; + return ns; +} + #endif --- linux-lts-quantal-3.5.0.orig/arch/s390/mm/mmap.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/mm/gup.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/mm/pgtable.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/mm/fault.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/boot/compressed/vmlinux.lds.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/time.c +++ linux-lts-quantal-3.5.0/arch/s390/kernel/time.c @@ -64,7 +64,7 @@ */ unsigned long long notrace __kprobes sched_clock(void) { - return (get_clock_monotonic() * 125) >> 9; + return tod_to_ns(get_clock_monotonic()); } /* @@ -121,6 +121,9 @@ nsecs = ktime_to_ns(ktime_add(timespec_to_ktime(ts), expires)); do_div(nsecs, 125); S390_lowcore.clock_comparator = sched_clock_base_cc + (nsecs << 9); + /* Program the maximum value if we have an overflow (== year 2042) */ + if (unlikely(S390_lowcore.clock_comparator < sched_clock_base_cc)) + S390_lowcore.clock_comparator = -1ULL; set_clock_comparator(S390_lowcore.clock_comparator); return 0; } --- linux-lts-quantal-3.5.0.orig/arch/s390/kernel/vmlinux.lds.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/smp.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/compat_wrapper.S +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/compat_linux.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/compat_signal.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/entry.S +++ linux-lts-quantal-3.5.0/arch/s390/kernel/entry.S @@ -670,7 +670,8 @@ UPDATE_VTIME %r14,%r15,__LC_MCCK_ENTER_TIMER mcck_skip: SWITCH_ASYNC __LC_GPREGS_SAVE_AREA+32,__LC_PANIC_STACK,PAGE_SHIFT - mvc __PT_R0(64,%r11),__LC_GPREGS_SAVE_AREA + stm %r0,%r7,__PT_R0(%r11) + mvc __PT_R8(32,%r11),__LC_GPREGS_SAVE_AREA+32 stm %r8,%r9,__PT_PSW(%r11) xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) l %r1,BASED(.Ldo_machine_check) --- linux-lts-quantal-3.5.0.orig/arch/s390/kernel/signal.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/kernel/entry64.S +++ linux-lts-quantal-3.5.0/arch/s390/kernel/entry64.S @@ -697,8 +697,9 @@ UPDATE_VTIME %r14,__LC_MCCK_ENTER_TIMER LAST_BREAK %r14 mcck_skip: - lghi %r14,__LC_GPREGS_SAVE_AREA - mvc __PT_R0(128,%r11),0(%r14) + lghi %r14,__LC_GPREGS_SAVE_AREA+64 + stmg %r0,%r7,__PT_R0(%r11) + mvc __PT_R8(64,%r11),0(%r14) stmg %r8,%r9,__PT_PSW(%r11) xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) lgr %r2,%r11 # pass pointer to pt_regs --- linux-lts-quantal-3.5.0.orig/arch/s390/kernel/processor.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/s390/oprofile/init.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/ia64/kvm/vtlb.c +++ linux-lts-quantal-3.5.0/arch/ia64/kvm/vtlb.c @@ -256,7 +256,7 @@ "srlz.d;;" "ssm psr.i;;" "srlz.d;;" - : "=r"(ret) : "r"(iha), "r"(pte):"memory"); + : "=&r"(ret) : "r"(iha), "r"(pte) : "memory"); return ret; } --- linux-lts-quantal-3.5.0.orig/arch/ia64/include/asm/atomic.h +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/ia64/include/asm/mca.h +++ linux-lts-quantal-3.5.0/arch/ia64/include/asm/mca.h @@ -143,6 +143,7 @@ extern int cpe_vector; extern int ia64_cpe_irq; extern void ia64_mca_init(void); +extern void ia64_mca_irq_init(void); extern void ia64_mca_cpu_init(void *); extern void ia64_os_mca_dispatch(void); extern void ia64_os_mca_dispatch_end(void); --- linux-lts-quantal-3.5.0.orig/arch/ia64/include/asm/futex.h +++ linux-lts-quantal-3.5.0/arch/ia64/include/asm/futex.h @@ -106,16 +106,15 @@ return -EFAULT; { - register unsigned long r8 __asm ("r8"); + register unsigned long r8 __asm ("r8") = 0; unsigned long prev; __asm__ __volatile__( " mf;; \n" - " mov %0=r0 \n" " mov ar.ccv=%4;; \n" "[1:] cmpxchg4.acq %1=[%2],%3,ar.ccv \n" " .xdata4 \"__ex_table\", 1b-., 2f-. \n" "[2:]" - : "=r" (r8), "=r" (prev) + : "+r" (r8), "=&r" (prev) : "r" (uaddr), "r" (newval), "rO" ((long) (unsigned) oldval) : "memory"); --- linux-lts-quantal-3.5.0.orig/arch/ia64/kernel/mca.c +++ linux-lts-quantal-3.5.0/arch/ia64/kernel/mca.c @@ -2074,22 +2074,16 @@ printk(KERN_INFO "MCA related initialization done\n"); } + /* - * ia64_mca_late_init - * - * Opportunity to setup things that require initialization later - * than ia64_mca_init. Setup a timer to poll for CPEs if the - * platform doesn't support an interrupt driven mechanism. - * - * Inputs : None - * Outputs : Status + * These pieces cannot be done in ia64_mca_init() because it is called before + * early_irq_init() which would wipe out our percpu irq registrations. But we + * cannot leave them until ia64_mca_late_init() because by then all the other + * processors have been brought online and have set their own CMC vectors to + * point at a non-existant action. Called from arch_early_irq_init(). */ -static int __init -ia64_mca_late_init(void) +void __init ia64_mca_irq_init(void) { - if (!mca_init) - return 0; - /* * Configure the CMCI/P vector and handler. Interrupts for CMC are * per-processor, so AP CMC interrupts are setup in smp_callin() (smpboot.c). @@ -2108,6 +2102,23 @@ /* Setup the CPEI/P handler */ register_percpu_irq(IA64_CPEP_VECTOR, &mca_cpep_irqaction); #endif +} + +/* + * ia64_mca_late_init + * + * Opportunity to setup things that require initialization later + * than ia64_mca_init. Setup a timer to poll for CPEs if the + * platform doesn't support an interrupt driven mechanism. + * + * Inputs : None + * Outputs : Status + */ +static int __init +ia64_mca_late_init(void) +{ + if (!mca_init) + return 0; register_hotcpu_notifier(&mca_cpu_notifier); --- linux-lts-quantal-3.5.0.orig/arch/ia64/kernel/process.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/arch/ia64/kernel/irq.c +++ linux-lts-quantal-3.5.0/arch/ia64/kernel/irq.c @@ -23,6 +23,8 @@ #include #include +#include + /* * 'what should we do if we get a hw irq event on an illegal vector'. * each architecture has to answer this themselves. @@ -83,6 +85,12 @@ #endif /* CONFIG_SMP */ +int __init arch_early_irq_init(void) +{ + ia64_mca_irq_init(); + return 0; +} + #ifdef CONFIG_HOTPLUG_CPU unsigned int vectors_in_migration[NR_IRQS]; --- linux-lts-quantal-3.5.0.orig/arch/ia64/kernel/irq_ia64.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/crypto/gcm.c +++ linux-lts-quantal-3.5.0/crypto/gcm.c @@ -44,6 +44,7 @@ struct crypto_rfc4543_req_ctx { u8 auth_tag[16]; + u8 assocbuf[32]; struct scatterlist cipher[1]; struct scatterlist payload[2]; struct scatterlist assoc[2]; @@ -1142,9 +1143,19 @@ scatterwalk_crypto_chain(payload, dst, vdst == req->iv + 8, 2); assoclen += 8 + req->cryptlen - (enc ? 0 : authsize); - sg_init_table(assoc, 2); - sg_set_page(assoc, sg_page(req->assoc), req->assoc->length, - req->assoc->offset); + if (req->assoc->length == req->assoclen) { + sg_init_table(assoc, 2); + sg_set_page(assoc, sg_page(req->assoc), req->assoc->length, + req->assoc->offset); + } else { + BUG_ON(req->assoclen > sizeof(rctx->assocbuf)); + + scatterwalk_map_and_copy(rctx->assocbuf, req->assoc, 0, + req->assoclen, 0); + + sg_init_table(assoc, 2); + sg_set_buf(assoc, rctx->assocbuf, req->assoclen); + } scatterwalk_crypto_chain(assoc, payload, 0, 2); aead_request_set_tfm(subreq, ctx->child); --- linux-lts-quantal-3.5.0.orig/crypto/crypto_user.c +++ linux-lts-quantal-3.5.0/crypto/crypto_user.c @@ -75,7 +75,7 @@ { struct crypto_report_cipher rcipher; - snprintf(rcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "cipher"); + strncpy(rcipher.type, "cipher", sizeof(rcipher.type)); rcipher.blocksize = alg->cra_blocksize; rcipher.min_keysize = alg->cra_cipher.cia_min_keysize; @@ -94,8 +94,7 @@ { struct crypto_report_comp rcomp; - snprintf(rcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "compression"); - + strncpy(rcomp.type, "compression", sizeof(rcomp.type)); if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS, sizeof(struct crypto_report_comp), &rcomp)) goto nla_put_failure; @@ -108,12 +107,14 @@ static int crypto_report_one(struct crypto_alg *alg, struct crypto_user_alg *ualg, struct sk_buff *skb) { - memcpy(&ualg->cru_name, &alg->cra_name, sizeof(ualg->cru_name)); - memcpy(&ualg->cru_driver_name, &alg->cra_driver_name, - sizeof(ualg->cru_driver_name)); - memcpy(&ualg->cru_module_name, module_name(alg->cra_module), - CRYPTO_MAX_ALG_NAME); + strncpy(ualg->cru_name, alg->cra_name, sizeof(ualg->cru_name)); + strncpy(ualg->cru_driver_name, alg->cra_driver_name, + sizeof(ualg->cru_driver_name)); + strncpy(ualg->cru_module_name, module_name(alg->cra_module), + sizeof(ualg->cru_module_name)); + ualg->cru_type = 0; + ualg->cru_mask = 0; ualg->cru_flags = alg->cra_flags; ualg->cru_refcnt = atomic_read(&alg->cra_refcnt); @@ -122,8 +123,7 @@ if (alg->cra_flags & CRYPTO_ALG_LARVAL) { struct crypto_report_larval rl; - snprintf(rl.type, CRYPTO_MAX_ALG_NAME, "%s", "larval"); - + strncpy(rl.type, "larval", sizeof(rl.type)); if (nla_put(skb, CRYPTOCFGA_REPORT_LARVAL, sizeof(struct crypto_report_larval), &rl)) goto nla_put_failure; --- linux-lts-quantal-3.5.0.orig/crypto/cryptd.c +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/crypto/algapi.c +++ linux-lts-quantal-3.5.0/crypto/algapi.c @@ -512,7 +512,8 @@ struct crypto_template *crypto_lookup_template(const char *name) { - return try_then_request_module(__crypto_lookup_template(name), name); + return try_then_request_module(__crypto_lookup_template(name), "%s", + name); } EXPORT_SYMBOL_GPL(crypto_lookup_template); --- linux-lts-quantal-3.5.0.orig/crypto/ahash.c +++ linux-lts-quantal-3.5.0/crypto/ahash.c @@ -404,7 +404,7 @@ { struct crypto_report_hash rhash; - snprintf(rhash.type, CRYPTO_MAX_ALG_NAME, "%s", "ahash"); + strncpy(rhash.type, "ahash", sizeof(rhash.type)); rhash.blocksize = alg->cra_blocksize; rhash.digestsize = __crypto_hash_alg_common(alg)->digestsize; --- linux-lts-quantal-3.5.0.orig/crypto/blkcipher.c +++ linux-lts-quantal-3.5.0/crypto/blkcipher.c @@ -499,9 +499,9 @@ { struct crypto_report_blkcipher rblkcipher; - snprintf(rblkcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "blkcipher"); - snprintf(rblkcipher.geniv, CRYPTO_MAX_ALG_NAME, "%s", - alg->cra_blkcipher.geniv ?: ""); + strncpy(rblkcipher.type, "blkcipher", sizeof(rblkcipher.type)); + strncpy(rblkcipher.geniv, alg->cra_blkcipher.geniv ?: "", + sizeof(rblkcipher.geniv)); rblkcipher.blocksize = alg->cra_blocksize; rblkcipher.min_keysize = alg->cra_blkcipher.min_keysize; --- linux-lts-quantal-3.5.0.orig/crypto/api.c +++ linux-lts-quantal-3.5.0/crypto/api.c @@ -34,6 +34,8 @@ BLOCKING_NOTIFIER_HEAD(crypto_chain); EXPORT_SYMBOL_GPL(crypto_chain); +static struct crypto_alg *crypto_larval_wait(struct crypto_alg *alg); + static inline struct crypto_alg *crypto_alg_get(struct crypto_alg *alg) { atomic_inc(&alg->cra_refcnt); @@ -150,8 +152,11 @@ } up_write(&crypto_alg_sem); - if (alg != &larval->alg) + if (alg != &larval->alg) { kfree(larval); + if (crypto_is_larval(alg)) + alg = crypto_larval_wait(alg); + } return alg; } --- linux-lts-quantal-3.5.0.orig/crypto/rng.c +++ linux-lts-quantal-3.5.0/crypto/rng.c @@ -65,7 +65,7 @@ { struct crypto_report_rng rrng; - snprintf(rrng.type, CRYPTO_MAX_ALG_NAME, "%s", "rng"); + strncpy(rrng.type, "rng", sizeof(rrng.type)); rrng.seedsize = alg->cra_rng.seedsize; --- linux-lts-quantal-3.5.0.orig/crypto/pcompress.c +++ linux-lts-quantal-3.5.0/crypto/pcompress.c @@ -53,8 +53,7 @@ { struct crypto_report_comp rpcomp; - snprintf(rpcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "pcomp"); - + strncpy(rpcomp.type, "pcomp", sizeof(rpcomp.type)); if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS, sizeof(struct crypto_report_comp), &rpcomp)) goto nla_put_failure; --- linux-lts-quantal-3.5.0.orig/crypto/algif_skcipher.c +++ linux-lts-quantal-3.5.0/crypto/algif_skcipher.c @@ -432,6 +432,7 @@ long copied = 0; lock_sock(sk); + msg->msg_namelen = 0; for (iov = msg->msg_iov, iovlen = msg->msg_iovlen; iovlen > 0; iovlen--, iov++) { unsigned long seglen = iov->iov_len; --- linux-lts-quantal-3.5.0.orig/crypto/aead.c +++ linux-lts-quantal-3.5.0/crypto/aead.c @@ -117,9 +117,8 @@ struct crypto_report_aead raead; struct aead_alg *aead = &alg->cra_aead; - snprintf(raead.type, CRYPTO_MAX_ALG_NAME, "%s", "aead"); - snprintf(raead.geniv, CRYPTO_MAX_ALG_NAME, "%s", - aead->geniv ?: ""); + strncpy(raead.type, "aead", sizeof(raead.type)); + strncpy(raead.geniv, aead->geniv ?: "", sizeof(raead.geniv)); raead.blocksize = alg->cra_blocksize; raead.maxauthsize = aead->maxauthsize; @@ -203,8 +202,8 @@ struct crypto_report_aead raead; struct aead_alg *aead = &alg->cra_aead; - snprintf(raead.type, CRYPTO_MAX_ALG_NAME, "%s", "nivaead"); - snprintf(raead.geniv, CRYPTO_MAX_ALG_NAME, "%s", aead->geniv); + strncpy(raead.type, "nivaead", sizeof(raead.type)); + strncpy(raead.geniv, aead->geniv, sizeof(raead.geniv)); raead.blocksize = alg->cra_blocksize; raead.maxauthsize = aead->maxauthsize; --- linux-lts-quantal-3.5.0.orig/crypto/ablkcipher.c +++ linux-lts-quantal-3.5.0/crypto/ablkcipher.c @@ -388,9 +388,9 @@ { struct crypto_report_blkcipher rblkcipher; - snprintf(rblkcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "ablkcipher"); - snprintf(rblkcipher.geniv, CRYPTO_MAX_ALG_NAME, "%s", - alg->cra_ablkcipher.geniv ?: ""); + strncpy(rblkcipher.type, "ablkcipher", sizeof(rblkcipher.type)); + strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "", + sizeof(rblkcipher.geniv)); rblkcipher.blocksize = alg->cra_blocksize; rblkcipher.min_keysize = alg->cra_ablkcipher.min_keysize; @@ -469,9 +469,9 @@ { struct crypto_report_blkcipher rblkcipher; - snprintf(rblkcipher.type, CRYPTO_MAX_ALG_NAME, "%s", "givcipher"); - snprintf(rblkcipher.geniv, CRYPTO_MAX_ALG_NAME, "%s", - alg->cra_ablkcipher.geniv ?: ""); + strncpy(rblkcipher.type, "givcipher", sizeof(rblkcipher.type)); + strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "", + sizeof(rblkcipher.geniv)); rblkcipher.blocksize = alg->cra_blocksize; rblkcipher.min_keysize = alg->cra_ablkcipher.min_keysize; --- linux-lts-quantal-3.5.0.orig/crypto/shash.c +++ linux-lts-quantal-3.5.0/crypto/shash.c @@ -530,7 +530,8 @@ struct crypto_report_hash rhash; struct shash_alg *salg = __crypto_shash_alg(alg); - snprintf(rhash.type, CRYPTO_MAX_ALG_NAME, "%s", "shash"); + strncpy(rhash.type, "shash", sizeof(rhash.type)); + rhash.blocksize = alg->cra_blocksize; rhash.digestsize = salg->digestsize; --- linux-lts-quantal-3.5.0.orig/crypto/algif_hash.c +++ linux-lts-quantal-3.5.0/crypto/algif_hash.c @@ -161,6 +161,8 @@ else if (len < ds) msg->msg_flags |= MSG_TRUNC; + msg->msg_namelen = 0; + lock_sock(sk); if (ctx->more) { ctx->more = 0; --- linux-lts-quantal-3.5.0.orig/firmware/ql2322_fw.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/ql2322_fw.bin.ihex @@ -0,0 +1,8506 @@ +:10000000047000000000EBF7000000030003001C78 +:10001000013720434F50595249474854203230301D +:100020003120514C4F47494320434F52504F52418A +:1000300054494F4E20495350323330302046697274 +:100040006D77617265202056657273696F6E20301E +:10005000332E30332E32382020202020240020A9B7 +:10006000000F20010000400F2091220020A9000F66 +:1000700020010000400F2091240020A9000F200142 +:100080000000400F2091260020A9000F2001000051 +:10009000400F2091280020A9000F20010000400FF0 +:1000A00020912A0020A9000F20010000400F20917C +:1000B0002C0020A9000F20010000400F20912E00ED +:1000C00020A9000F20010000400F209120002001F6 +:1000D000000020C1000420C91CFF205900002B781B +:1000E0007883000420892CCC205118002A7020E14C +:1000F000000120E9000120090000080C0E7C00F638 +:100100007888900511F82061C000080C21611170F9 +:1001100020790300080C21772061E000080C2161A0 +:10012000112820790380080C2177006000FE788375 +:100130004010783740107833001120915000209102 +:1001400040800CF800FE202956002031FFFF2039A6 +:1001500055DC2021020020E9000120A1000020A997 +:100160000800900E410420E9000120A11000900E2B +:1001700020010DC190840FFF20A841042001000040 +:1001800090860000012021A8410480011DE0756EC9 +:100190007672776A7476747A00E620711B86247210 +:1001A00000EE20A11DDC7170810D810D810D810D8E +:1001B000918C000F200100019112900E21A84104A2 +:1001C00082111DE07170340080019102012002183B +:1001D00020A8900E410420091800810D810D810D89 +:1001E000810D810D918C001F20010001911220E9E9 +:1001F000000120A10800900E20A9080041048211EE +:100200001DD8080C0F79080C635D080CB403080CAA +:100210001144080C1371080C1CB7080C9827080C23 +:100220000D1E080C10B5080C369D080C7CF7080C48 +:100230006F1B080C8F31080C8B46080C235E080CD2 +:100240008422080C2190080C22D2080C2353209100 +:1002500030097883000010040943788090860002FA +:1002600011907883400078374000783300100E04F6 +:1002700009372091500020914080200100892004FE +:10028000D084190C121C2071180070030000780C27 +:10029000908400309086002011687034C08D7036D4 +:1002A000200100507076707A7056606B269C207129 +:1002B0001B862072207118007000908E0003116858 +:1002C000080C4F0D080C36C4080C7D5F080C74A494 +:1002D000080C9018080C8B6F0C68000B0C880979BF +:1002E000097A0B1709770BD60D1D0D1D0D1D080C76 +:1002F0000D8C0005012600F620918000700090868C +:10030000000119040AE8080C0ECC080C79CB015046 +:10031000080C79EE15C02079010078289085180026 +:10032000782A0488080C78FA700090860001190475 +:100330000AE870989086002919040AE8080C8B26B0 +:10034000080C8B1820790100782F0008200101612A +:10035000200300012011FFFF080C2B947A289295AE +:100360005E2C7A2A2011783F080C8C1B20117832E1 +:10037000080C8D73201161B2080C8C1B2011803089 +:10038000901E739604C0080C5A56207901007844D8 +:10039000900519040AE8201161B2080C8C1B201189 +:1003A000783F080C8C1B20117832080C8D732001CB +:1003B00002052003000078409084FFFB7842200172 +:1003C00019AA20049005114000C620610100080C04 +:1003D000630500CE08040AE8780F006B7A28080C41 +:1003E00079D3011892955E2C00109295402C7A2AB0 +:1003F0002011801073D8200119AB20030001080CD4 +:100400002A53080C4E487248C284724A2001180CC4 +:10041000200CC1ACC1CC21022001039020030400B8 +:10042000080CAFDC080CA7B520110004080CD32180 +:10043000080CAFF8080C6CBB080C79CB1120080C29 +:100440002AB406000420080C630C014070970001D8 +:1004500070D30000080C5C2808040AE8200103900F +:1004600020030404080C59F6D09401882011180CBC +:100470002204C0CD2012080C59FAD0D41118080C4F +:100480002AB412702011180C2204C0BC00A8080C59 +:1004900059FAD0D41DB82011180C2204C0BD006038 +:1004A0002011180C2204C0BD2012080C6E23112844 +:1004B000D0A401182204C0FD2012080C6DE901200F +:1004C0007A0CC2B47A0E00A8707F0000080C79CBB9 +:1004D000113070B090051168080CD7930050080CCB +:1004E000D79370DCD09C112870B090050110080CD7 +:1004F00062E270E7000070E3000070A70000080CE3 +:100500002ABC0228201101012204C0C4201272DC7E +:10051000080C79CB117890160016080C285C20196D +:100520001970211A001E705FFFFF706300EF708367 +:100530000000002020191970201B00002079184AA3 +:100540007804D0AC0108C29572DE080C79CB011892 +:1005500092960004051820110001080CD32170ABFD +:10056000000070AFFFFF7003000200FE080C31C9ED +:10057000080CAFDC20110005080CA8EF080CAFF840 +:10058000080C79CB014800C6206101000016080C58 +:10059000285C61E2001E00CE012E00E070AB00007E +:1005A00070AFFFFF70030002080CAFDC20110005E4 +:1005B000080CA8EF080CAFF8080C79CB014800C66E +:1005C000206101000016080C285C61E2001E00CECC +:1005D00000FE012E000500C600F600B6080C79CB1F +:1005E000111820A90800001020A90782080C79CB57 +:1005F0001110900E00102009007E86FF01389180B6 +:1006000010002004905D0110B800D0BC090C352DFD +:1006100081081F040AFD707F00007080908400FF35 +:10062000708270B3000000BE00FE00CE000500B670 +:1006300001262091800070009086000219040BD3DF +:1006400070AC9086FFFF0120080C31C908040BD361 +:1006500070DCD0AC1110D09C0560D0840550000631 +:10066000200101032003002B000ED08C0510080C84 +:10067000359611B070E09086FFFF0190080C33852D +:1006800070DCD09419040BD320110001080CDA4E51 +:10069000011020110003901E080C33BF08040BD377 +:1006A00070DCD0F41110D0940D7870E4900519042A +:1006B0000BD370A8900519040BD370DCD0A40118DB +:1006C000D0B409040BD3080C6DE919040BD3080C42 +:1006D0006E3C19040BD3080C6E2301C0015600C6F2 +:1006E00020A9007F900E0016080C69771118B80039 +:1006F000D0EC1138001E81081F040B7300CE015E80 +:100700000028001E00CE015E08040BD30006200165 +:1007100001032003002B000E201119B7080C0FE96C +:10072000201119D1080C0FE97030C08C70327003A1 +:10073000000370AFFFFF080C0EA09006080C26E91E +:10074000080C35960118080C4FE50050003600469D +:100750002019FFFF20210006080C4FFF004E003E2D +:1007600000F620790100080C79EE0150080C79CBD5 +:10077000782801189084E1FF00109084FFDF782A28 +:1007800000FE080CAFDC200119EC20049086000567 +:10079000112020110000080CA8EF20110000080C07 +:1007A000A8F9080CAFF8012E00BE000500160026BF +:1007B000004600F60126209180002079010079048E +:1007C000918CFFFD7906200900F7080C62CB794077 +:1007D000918C001079427924D1B40120201100407D +:1007E000080C2B94D19C012020110008080C2B949C +:1007F0000006003601560000200119AB20049005C8 +:100800001518080C2B28114820010001080C2A8219 +:1008100020010001080C2A6500B8080C2B301138A3 +:100820009006080C2A829006080C2A650068080CBD +:100830002B381D502001199B2004D0FC01080020FA +:10084000080C289008040CD020A9003A1D040C269E +:10085000080C8D531F040C26080C79DC0148080C89 +:1008600079EE1118080C7CF20050080C79D30DD0E9 +:10087000080C7CED080C7CE3080C78FA00202009B9 +:1008800000F8080C62CB7850C0E57852080C79CBA0 +:10089000012078430090784300102021E678201949 +:1008A000EA600D0C8D537820D09C15A0080C79CBF4 +:1008B00009040CB27824D0AC19040CD5080C79EEDC +:1008C000154800462021032084211DF0004E2011F0 +:1008D0001800080C2B94080C2B40782490841800E6 +:1008E000116894840FFF1140200118102004908497 +:1008F00090000110080C0CF8842111601D040C827A +:10090000080C8D53080C7CED080C7CE3700300018F +:1009100008040CD58319192820011810200490848C +:1009200090000110080C0CF81D040C98080C8D5355 +:100930002009199E2104900501188001200A1188C0 +:10094000200B000A20110048080C2B9420A900025B +:10095000080C2B217924080C2B40D19C0110080C89 +:100960002A5300F0080C79DC114094A203E8112806 +:10097000080C799F7003000100C020111800080CBA +:100980002B94080C2B407824080C79E50110D0AC8E +:1009900011609084180009040C8A7003000100287B +:1009A00020010001080C26E900A07850C0E478522C +:1009B0002009180C210CD19C11207904918D000282 +:1009C000790620110048080C2B947828908500287F +:1009D000782A200119AB20030000900678F2015E0E +:1009E000003E000E012E00FE004E002E001E0005EF +:1009F0000006001600260036004600B600C600D6E7 +:100A000000E600F6015600710D0C8D53015E00FEEC +:100A100000EE00DE00CE00BE004E003E002E001EA6 +:100A2000000E000500E6207118A1700490860001F8 +:100A30001110080C36C400EE000500052A70206174 +:100A400019AF2063000360070003600B001C600FF8 +:100A500001372001197F900E2102719620010100BB +:100A60002004908200020218705FFFFF0008715E90 +:100A70007067FFFF717E7182080CD79370EF00C022 +:100A80002061196F600309096106600B8800600F1F +:100A90000200601300FF6017001F611A601F07D07B +:100AA00020611977600380006106610A600F02000F +:100AB000601300FF6116601B0001611E2061198C2C +:100AC0006003514C60074F47600B4943600F202083 +:100AD0002001182C210200059016080C6977117866 +:100AE000B80490C400FF98C60006012890C4FF0017 +:100AF00098C60600112091860080010882108108A6 +:100B0000918608001D502208000520918000207960 +:100B10000000000E00F60010209180000E040D8EE3 +:100B20000006001620018002000620790000000E59 +:100B300078827836001E798E000E788A000E7886CC +:100B40003900789A00D620690300681878AE681CCE +:100B500078B2680878BE00DE783300122091500029 +:100B6000015600D6003600262079030020691B3E7E +:100B70007A08226A20691B3F7A18226A8D687A1CDB +:100B8000226A782C20191B4C201A20191B4F901612 +:100B90007808D09C01687820201A821083189386E8 +:100BA0001B6801080CA87808D09C01102011DEAD4C +:100BB00020191B4D782C201A8318221A7803000064 +:100BC00020691A94901E20A900207B267A28226A88 +:100BD0008D6883181F040DE520691AB42019005090 +:100BE00020A900207B267A28226A8D6883181F049A +:100BF0000DF20499002E003E00DE015E20791800FF +:100C00007803000520914080200100892004D084D1 +:100C1000018820011A382004900501302001008B42 +:100C20002004908480040DD02001008A200300025B +:100C300020031001080C5A051170080C0F3A01101E +:100C4000080C0E8D080C5A05113020711800201167 +:100C50008000080C0F4E0C70000520010382200458 +:100C60009084000790860001112020010015080CD7 +:100C7000AFCD2079038020691B1E78186802781C8C +:100C800068067840680A7844680E782C6812201943 +:100C90001B2990167808D09C01507820201A8210C9 +:100CA00083188210928200110EA82011DEAD6A2AEC +:100CB0007830681A7834681E78386822783C68265C +:100CC0007803000020691ADE901E20A900207B26F0 +:100CD0007828206A8D6883181F040E6720691AFE21 +:100CE000201900B020A900207B267828206A8D6872 +:100CF00083181F040E740005918C03FF200100036C +:100D00002004908406001118918D6C000010918DC4 +:100D100064002001017F2102000500260126201128 +:100D20000080080C0F2C20A90900080C0F6220116C +:100D30000040080C0F2C20A90900080C0F620C7849 +:100D40000026080C0F3A11882011010E22149294EB +:100D50000007929600070118201109470010201182 +:100D60001B47080C0F4E002E00052011010E221407 +:100D7000929400079296000701182011A880001095 +:100D800020116840D0E470F30000112070F30FA030 +:100D9000080C0F3F002E00050026080C0F3A0148F2 +:100DA000D0A411382011CDD5001020110080080CDE +:100DB0000F3F002E0005002670F30000080C0F3ACC +:100DC000113020118040080C0F4E002E0005080C39 +:100DD0002B3811182011CDC500102011CAC2080CE3 +:100DE0000F3F002E000500E60016000620711800D7 +:100DF000D0B470EC71E81118C0E4C1F400500006E2 +:100E00003B009084FF3E20D8000E70F30000C0E548 +:100E1000C1F50099000E001E00EE000500E62071ED +:100E20001800D0E470EC1110C0DC0008C0DD001622 +:100E300071E80019001E00EE000570EE71EA700006 +:100E400090840007000B00050EF20ECC0ECC0EA015 +:100E50000EDB0ECC0ECC0EDBC28400163B083A0033 +:100E60009104918D00C121D89084FF3E920520D03D +:100E7000001E00052001183B2004D0DC00059E86E2 +:100E80001800190C0D8C70ECD0E40108C2E572EE6C +:100E9000D0E41118929400C108F900059E8618004C +:100EA000190C0D8C70E8D0F40108C2F572EAD0F488 +:100EB0001140928480008005C2849215929400C1F2 +:100EC000086100051D040F62209160001F040F627D +:100ED0000005890E810E810F9194003F918CFFC017 +:100EE000000500062200914D894F894D894D000E65 +:100EF000000501D601460036009620611890600B6F +:100F00000000600F0000600300006007000020097F +:100F1000FFC0210500062001AAAA200F201955555F +:100F2000901620490BFFAB02A001A001A800930678 +:100F30001138210593060120821099C804000C98ED +:100F4000000E200F200118A0928A000E1638928AF7 +:100F50000006201100061210201100002202900647 +:100F6000200882FF01B08200600A600FFFFF60036B +:100F70000002600700000026201900109280000186 +:100F800020E821A021A8410483191DE082111DA0A1 +:100F9000002E009E003E014E01DE00052011000ED5 +:100FA00008E80016002600963348080C0F69210057 +:100FB0009300209822E0009E002E001E0036351877 +:100FC00020A9000140028007400483191DD8003E7B +:100FD000000520E9000171B881FF11C090062009C9 +:100FE000020020A900029298001823A040012009C5 +:100FF000070020A900029298000823A04001707CFD +:1010000080077180810F20A9000240019298000C96 +:1010100023A0900E080C0D6C20010000810F20A968 +:1010200000024001000589FF0140A804A807000054 +:101030000006080C1093009E0CB0000500E620711D +:101040001800080C110C090C0D8C00EE0005008630 +:1010500000E600060026003601262091800000C927 +:101060002071180073C0702C9016904501588210A2 +:101070009906090C0D8C2300920201201A0C0D8C8C +:10108000A0000C98012E003E002E000E00EE008EF7 +:101090000005008600E600060126209180002071F0 +:1010A0001913701090050140701890450128990699 +:1010B000090C0D8CA0000CC8012E000E00EE008E55 +:1010C000000500E62071180001262091800070C004 +:1010D0008001027070C2702C204890850001A80029 +:1010E000702EA8030000A8070000012E00EE0005E6 +:1010F000904E0CD800E60126209180002071180047 +:1011000070C090CA00200268800170C2702C204814 +:10111000A800702EA8030000A8070000012E00EE12 +:101120000005904E0CD800E60126209180000016A4 +:10113000890E810E810F9184003FA8629184FFC0C7 +:10114000A85E001E002000E601262091800020718C +:101150001800702CA8022900702E70C0800070C288 +:10116000080C8B18012E00EE000520711800902647 +:1011700020090000204904002900702E8940280021 +:10118000A802A95EA863000184209886044001207B +:101190002848918800400C902071189070009005AC +:1011A00011A020010558A8022048200956008940B6 +:1011B0002800A802A95EA863000184209886080080 +:1011C00001202848918800400C90207118907104EB +:1011D000720082FF01D073088318831F831B831B57 +:1011E0007312831920010800A80220488900A80270 +:1011F0002040A95EAA628420230099060130284875 +:1012000091880040929100000C88A8030000207192 +:10121000180074BE74C2000500E600169984FC0034 +:1012200001E8908CF80011689982040002B8998254 +:101230000440027899820558028899820800127049 +:101240000040998208000250207118907010990295 +:10125000122890850001001E00EE000590060CD8B3 +:10126000015601D6014689FF090C0D8CA86020E8C3 +:10127000A85C9080001C20A020A9002490064004B7 +:10128000014E01DE015E000500E620711A3770078D +:1012900000009006701E7022700220710000701015 +:1012A000908580447012207100809006702B006041 +:1012B00020A9004070221F04115A702B0060702B6F +:1012C000002020A9004070221F041163702B002011 +:1012D00000EE000501262091800000E6A0730000CA +:1012E00020711A37701C90881A41280A8000908457 +:1012F000003F701E71209106090C0D8C7004900542 +:10130000112800F62079008000A900FE00EE012ED1 +:10131000000501262091800000E620711A37700434 +:101320009005112800F620790080002100FE00EED3 +:10133000012E000570049086000011107007000651 +:101340007000000211AC133211AA11AA1326132641 +:1013500013261326080C0D8C701C71209106114861 +:10136000792C918400011120D1FC1110700700002C +:101370000005009691801A412004700A20488108D7 +:10138000918C003F7122782B0026A8907802A894B7 +:101390007806A898780AA89C780EA87C700EA87485 +:1013A0007016A878701AA86C009ED084012070076F +:1013B0000001002900057007000200B100050016B9 +:1013C0000026710C20110040918200401210211063 +:1013D0009006700E721282037812782B0020782B00 +:1013E0000041002E001E00050016002601360146B1 +:1013F0000156701420E07018209820E9000020A108 +:101400000088782B0026710C20110040918200404A +:10141000121021109006700E22A840068203781246 +:10142000782B00203300701A782B0001015E014EEA +:10143000013E002E001E0005001620091A37210467 +:10144000C095200A080C1189001E0005001600E650 +:1014500020711A3700F620790080792CD1BC190C44 +:101460000D85782B0002D1FC0120918C07007004BF +:10147000002300FE00EE001E0005119A12441278AF +:1014800013510D8C136C0D8C918C07001550013687 +:1014900001460156701420E8701820A020E10000D9 +:1014A00020990088782B0040701020A84005340057 +:1014B000701A015E014E013E700C900505787800AF +:1014C000780278047806080C11DF00057008009691 +:1014D0002048A8730100009E70070000080C119AB4 +:1014E0000005700800962048A8730200009E0CA01A +:1014F000918C07001150700C9005018078007802E3 +:1015000078047806080C11F400057008009620484D +:10151000A8730200009E700700000080009670080B +:1015200020487800A8927804A8967808A89A780CA1 +:10153000A89EA8730100009E70070000009600D6C8 +:1015400070082048200118BC200499061128A8A082 +:10155000080F00DE009E00A000DE009E009600D670 +:101560007008204800810150A8A000862940080F7B +:10157000008E00DE009E080C1189000500DE009E32 +:10158000080C11890005A8ACD08C00050096A0A419 +:10159000904D090C0D8CA070908E01000130A87F39 +:1015A0000030A8870000A89B4002A898908E006B8E +:1015B000090C4A00080C7237A0A30000A0A7000085 +:1015C0002848080C1093009E000500A6A0A4904D8A +:1015D000090C0D8CA070908E01000128A87F0001DD +:1015E000A887000000C0A80C2050B0049005019806 +:1015F000A80E2050800680068007908C003F9084C3 +:10160000FFC090800002A07AA176B000A07E2810D2 +:10161000080C116A00C8A980A89800160006080CDA +:101620007237000E001ED1A4012800C62060080CED +:10163000B46D00CE70082048A8A30000A8A7000041 +:10164000080C1093080C118900AE000501262091AA +:101650008000782B1001700700057000C0947002A4 +:10166000012E0005009620011932204CA880781226 +:10167000A8907802A8947806A898780AA89C780E72 +:10168000782B0020012620918000782B00417007E4 +:1016900000037000C08470022900700A012E009EB1 +:1016A000000520E1000020990088782B004000967A +:1016B00020011932204CAA80009E080C924C20096F +:1016C000188F21049084FFFC200A080C90BB70073F +:1016D0000000080C119A000570070000080C119A10 +:1016E00000050126209122002079030020711A8133 +:1016F0007003000078BF00F6004178070007780308 +:10170000000078030001012E000500C678030000E8 +:101710002001016520034198781B04007808D09CC3 +:1017200001207820080C13D70CC820011A8220034E +:10173000000078AB000478ACD0AC1DE878AB0002B8 +:101740007807000778270030782B040078270031CD +:10175000782B1A9478E3FF00781FFF00781BFF00B6 +:1017600020011A8320030000200102002004D0DCA5 +:101770000110781F030320611A94602F1DDC2001E3 +:10178000181A200490821DDC6032603B1F5C602BC5 +:101790001AD460071AB420611AB4606F194020018E +:1017A000192B2004607A783F359D00CE0005908685 +:1017B000000D11D07808D09C01B8782000262010A8 +:1017C000080CD3000180226060009086000411584C +:1017D0000016612091860009010800202009004CB4 +:1017E000080CB50A001E002E0005012620912200DB +:1017F000790891840030190C0D85D19C05B87820AA +:10180000908CF000055020606020908600031560E9 +:10181000600090860004154061142148A87AA87ED3 +:10182000A86B0103080C705800B660102058BA3C31 +:1018300082FF01108211BA3EB8D09005190C6AC41B +:1018400000BE6044D0FC190CB0051110080CB49611 +:101850007808D09C19A0012E0005908A00251A0C4A +:101860000D8C0033012E00050804147D012E0005A7 +:10187000145D149D14D214D714DF14E4150C151044 +:10188000151E1522145D15F515F91696169D145D95 +:10189000169E169F16AA16B1145D145D145D145D94 +:1018A000145D145D145D14E6145D14A514CF148C3E +:1018B000145D14B61471146114DB080C0D8C080C43 +:1018C0000D85080C16BC080C15E078270018782840 +:1018D000782B0000080C84E5080CF3B5080C1BB944 +:1018E0000005080C16BC20091A9021048000200A6B +:1018F000080C84E5080C1BB90005602090860003E5 +:1019000011486044D0FC190CB00511202009005585 +:10191000080CB50A012E0005080C16BC20606020DA +:101920009086000311486044D0FC190CB0051120CA +:1019300020090055080CB50A000520090048080CCC +:1019400016BC2060080CB50A000520090054080CDC +:1019500016BC206060209086000311386044D0FCE3 +:10196000190CB0051110080CB50A0005080C16BCBE +:10197000206000560066080C16BC2028080C16BC17 +:10198000203000360046202100002418200900568F +:10199000080CB50A004E003E006E005E0005080C03 +:1019A00016BC00057004C085C0B570060005700443 +:1019B000C085700600057004C0BD70060005080CE7 +:1019C00016BC080C17C90005080C0D8C080C16BCB9 +:1019D0002060601400962048A83BFFFF009E20096D +:1019E0000048080CB50A2001015D20030000200911 +:1019F00003E88109016020010201200490050DC85F +:101A0000200102182004D0EC1110080C16C120018E +:101A100003072003800000057004C09570060005D0 +:101A2000080C16BC2060601400962048A83BFFFFFD +:101A3000009E20090048080CB50A0005080C16BCD9 +:101A4000080C0D8C080C16BC080C15E07827001843 +:101A500079ACD1DC0904158B782700157828782B10 +:101A60000000906501402001020D2003005020037A +:101A70000020080415917004900501C8118878AB06 +:101A8000000478270018782B0000D1BC090C0D8CBD +:101A90002001020D2003005020030020080415C877 +:101AA00078AB000478030001080C15F900057827CD +:101AB0000018A001782878270011A0017928910644 +:101AC000011079AC08E000E620710200702CD0C44F +:101AD000014000EE080C1BB9080C138578030001C7 +:101AE000000570370001A001715000EE918CFF00DD +:101AF00091860500011079AC08107004C09D700635 +:101B000078AB000478030001080C15F92001020DE0 +:101B10002003002000057828782B00009065090C30 +:101B20000D8C6014204878AB0004918C070001D81C +:101B3000080C84E5080C1BB9080CD3120188A9B065 +:101B4000A936A9B4A93AA83FFFFFA843FFFFA8847C +:101B5000C0BDA886A984918400201120C1ADA986AA +:101B6000080CCEC9000560209086000911282009C4 +:101B7000004C080CB50A0060080CD3120148601034 +:101B800000B62058B80000BED0BC6024190CD7287D +:101B9000202900C885290128200102012004900580 +:101BA0000DC87DBC080CF373D5A4090416C1080C3C +:101BB00084E508041BB9781F0300780300010005C1 +:101BC00000160066007600F6207903007908918CF3 +:101BD000000791860003012020010016080C17421F +:101BE00000FE007E006E001E00057004C09D7006A1 +:101BF0000005710491840004190C0D8CD184190C1A +:101C0000165BD1BC11B1D19C0180C19C710600163C +:101C1000080C17AC001E01482001020D20030050E3 +:101C200020030020080C16C1000581FF190C0D8C43 +:101C30000005C1BC7106001600E620710200080C08 +:101C4000179960149005055800962048A868009ED2 +:101C5000908400FF908E0029190C0D8C00F62C78D2 +:101C6000080C19D400FE200901F481090168200143 +:101C70000201200490050DC8200102182004D0ECB8 +:101C80001118080C16C100402001020D200300208D +:101C9000200103072003030000EE001E0005080CCE +:101CA00017AC0DD02001020D2003005020030020AE +:101CB000080C16C10C882100C184C1B47106D0B4CF +:101CC000001600E6154020710200080C179905184F +:101CD000080C17AC01E86014900501E80096204854 +:101CE000A868009E908400FF908E004811A0601CA0 +:101CF000D084113000F62C78080C183F00FE00004C +:101D00002001020D20030020080C13857803000138 +:101D100000EE001E0005080C17AC0DD02001020DCE +:101D2000200300502003002004610C90042920604F +:101D300020090053080CB50A00050005000500E164 +:101D4000200800D100067004C09D7006000E080C2B +:101D5000958F0005008990050118080C91B20CD0F0 +:101D600000052001003620091820210C2011181F21 +:101D70002214080C174200057808D09C0DE8782042 +:101D80000005080C15E000D620690200200901F4C6 +:101D900081090520680490050DD82001015D20030C +:101DA000000079BCD1A4157879B8918C0FFF01801F +:101DB00091820841126891880007918C0FF8810C7C +:101DC000810C810C080C172E6827000181091DD099 +:101DD000080C172E68270002080C172E68049005BF +:101DE0001170682CD0E41540691C91840014012006 +:101DF00068309084955415B9680490050DA879B899 +:101E0000D1EC11300870080C84E5080C1BB9009067 +:101E100078270015782B000078270018782B000011 +:101E20002001020D200300202001030720030300EE +:101E30007803000100DE0005682C90845400908631 +:101E400054000D3078270015782B0000780300012E +:101E5000680090851800680200DE00056824908400 +:101E600000031DE0000520790001000E00F60804C3 +:101E70000D8E200100302C08621C002178309086E5 +:101E80000041000500F600E62079030000062071FD +:101E90001A8170089005111078E30C0C8000700A0C +:101EA0000026201100067808D09C0150001600265C +:101EB00000C6080C13F500CE002E001E82111D98DE +:101EC000002E000E0006783279367A3A781B808030 +:101ED00000B9117820711A817008900501308001D5 +:101EE0000A0C0D8C700A78E30C00000E00EE00FE68 +:101EF0000005000E792C390080002004080C0D8CA0 +:101F00002009FF00810901207818D0BC1DD80005E8 +:101F1000908500010005783279367A3A781B808006 +:101F20000C7911080005792C390080002004080C78 +:101F30000D8C7037000171507037000270502060B6 +:101F4000D1BC111070542060918CFF009186050067 +:101F500001109085000100050006004600E6207192 +:101F600002007037000270589084FF00800790864E +:101F700000BC115820211A9124048000020820225C +:101F8000080C84E5080C1BB9900600EE004E000E0C +:101F900000050C111108000500E600162071020072 +:101FA00008416120918600000904183491860002DE +:101FB000090418346124D1DC01F8701CD08C0904A8 +:101FC000183470170000200102642004D0BC0904FA +:101FD00018342001026800C620646104603800CE15 +:101FE000918E0039190418349C0615F001262091B1 +:101FF0002600080C843D012E7358745C6014905DBB +:1020000005982B48601000B62058B80000BED0BC20 +:10201000190CD703AB42AC3E2001186C2004D0B49D +:102020001170601CD0E41158601000B62058B80040 +:1020300000BED0BC1120A83B7FFFA837FFFF080CD3 +:102040001F7C1190080C1A3A2A00A81601302800AB +:10205000A80E2C05A80A2C00A81270370020781FA3 +:102060000300001E00EE000570370050703700209E +:10207000001E00EE080C16C10005080C0D8C200196 +:10208000180D2004D08C190C6EFD2CF00126209127 +:102090002200001600C63E60601420482940903E91 +:1020A0002730A8682068A81A9D84000F90881F5CBC +:1020B00021650002187118DF18711871187518C0A1 +:1020C00018711895186A18D618711871187A19CCE1 +:1020D00018A9189FA968918C00FF918E00480904E7 +:1020E00018D690850001080419C2A880D0AC0DC88C +:1020F000080418E6A880D0AC0DA008041951A89CCB +:10210000901D1108ABA09016AAB6AA3EAA423E00A6 +:10211000908000082004908097F220059005090C1B +:102120000D8C2004A8B2080419AAA880D0BC09C844 +:10213000A894A842A890A83EA88C080418E6A880F5 +:10214000D0BC0978A894A842A890A83EA88C0804FE +:102150001951A880D0BC0928A894A842A890A83EEC +:10216000A8049045090C0D8CA168A91A91EC000FE8 +:102170009D801F5C2065A88CD19C190419510430E6 +:10218000A880D0AC09041871A8049045090C0D8CE6 +:10219000A168A91A91EC000F9D801F5C2065900634 +:1021A000A842A83ED19C190419510080A880D0AC47 +:1021B000090418719006A842A83E08041951A88085 +:1021C000D0AC090418719006A842A83E2C05908A4C +:1021D00000371A0C0D8C9082001C00021909190995 +:1021E000190B1909190919091915190919091909D1 +:1021F000191F190919091909192919091909190999 +:102200001933190919091909193D19091909190960 +:102210001947080C0D8CA578A47C9D860024090420 +:10222000187FA380A284080419AAA588A48C9D867F +:1022300000240904187FA390A294080419AAA59861 +:10224000A49C9D8600240904187FA3A0A2A40804CE +:1022500019AAA5A8A4AC9D8600240904187FA3B0E0 +:10226000A2B4080419AAA5B8A4BC9D860024090438 +:10227000187FA3C0A2C4080419AAA5C8A4CC9D862F +:1022800000240904187FA3D0A2D4080419AAA5D851 +:10229000A4DC9D8600240904187FA3E0A2E40804BE +:1022A00019AA2C05908A00351A0C0D8C9082001CFE +:1022B0000002197419721972197219721972197F40 +:1022C00019721972197219721972198A197219729E +:1022D0001972197219721995197219721972197283 +:1022E000197219A0080C0D8CA570A474A778A67C8F +:1022F0009D86002C0904187FA380A2840458A58819 +:10230000A48CA790A6949D86002C0904187FA398FE +:10231000A29C0400A5A0A4A4A7A8A6AC9D86002CFE +:102320000904187FA3B0A2B400A8A5B8A4BCA7C094 +:10233000A6C49D86002C0904187FA3C8A2CC005017 +:10234000A5D0A4D4A7D8A6DC9D86002C0904187FAC +:10235000A3E0A2E4AB2EAA32AD1EAC22AF26AE2A79 +:10236000A98C8C602C1DA8B0AAB4A836AA3A810901 +:10237000A91611603E60601CC085601EA880C0DD8B +:10238000A882900600CE001E012E00052800A80E8F +:10239000AB0A2C00A8120C70080418712001180D4B +:1023A0002004D08C190C6EFD2FF001262091220004 +:1023B000001600C63E60601420482940A80E206127 +:1023C0001F57A8131F572C05A80AA968A91AA88087 +:1023D000D0AC115000C63E60080CB26200CE059829 +:1023E000908E0004190C0D8C9006A842A83E2C0576 +:1023F000908A00351A0C0D8CADD0ACD4AFD8AEDCC1 +:10240000ABE0AAE4AB2EAA32AD1EAC22AF26AE2AB8 +:10241000A8B0AAB4A836AA3AA98CA868908400FFEC +:102420009086000811208109A91601280080918A50 +:102430000002A91611603E60601CC085601EA88065 +:10244000C0DDA882900600CE001E012E0005A80463 +:102450009045090C0D8CA80EA068A81A9084000F56 +:1024600090801F5C201582FF090C0D8CAA1222059A +:10247000A80A0C08903E2730A884D0FC11902D00AB +:1024800000021B2F1A911A911B2F1B2F1B291B2F88 +:102490001A911AE01AE01AE01B2F1B2F1B2F1B2684 +:1024A0001AE0C0FCA886AB2CAA30AD1CAC20DD9C89 +:1024B00009041B312C05908A00351A0C0D8C908272 +:1024C000001C00021A7D1A7B1A7B1A7B1A7B1A7B6E +:1024D0001A811A7B1A7B1A7B1A7B1A7B1A851A7B44 +:1024E0001A7B1A7B1A7B1A7B1A891A7B1A7B1A7B36 +:1024F0001A7B1A7B1A8D080C0D8CA778A67C080411 +:102500001B31A790A69408041B31A7A8A6AC080409 +:102510001B31A7C0A6C408041B31A7D8A6DC080439 +:102520001B312C05908A00371A0C0D8C9082001CF0 +:1025300000021AB41AB41AB61AB41AB41AB41ABCED +:102540001AB41AB41AB41AC21AB41AB41AB41AC8F9 +:102550001AB41AB41AB41ACE1AB41AB41AB41AD4D1 +:102560001AB41AB41AB41ADA080C0D8CA578A47C23 +:10257000A380A28408041B31A588A48CA390A294F4 +:1025800008041B31A598A49CA3A0A2A408041B3195 +:10259000A5A8A4ACA3B0A2B408041B31A5B8A4BCE0 +:1025A000A3C0A2C408041B31A5C8A4CCA3D0A2D444 +:1025B00008041B31A5D8A4DCA3E0A2E408041B3165 +:1025C0002C05908A00351A0C0D8C9082001C00029C +:1025D0001B031B011B011B011B011B011B0A1B0110 +:1025E0001B011B011B011B011B111B011B011B01FB +:1025F0001B011B011B181B011B011B011B011B01E4 +:102600001B1F080C0D8CA570A474A778A67CA38052 +:10261000A2840438A588A48CA790A694A398A29C11 +:102620000400A5A0A4A4A7A8A6ACA3B0A2B400C807 +:10263000A5B8A4BCA7C0A6C4A3C8A2CC0090A5D02E +:10264000A4D4A7D8A6DCA3E0A2E400589D86000E7F +:102650001130080C1F3219041A3A900E0050080C61 +:102660000D8CAB2EAA32AD1EAC22AF26AE2A080CC2 +:102670001F32000560142048621882FF0158900E36 +:102680002001000A080C9802820411102011000297 +:102690008211AA8A601B0002A87890840008015069 +:1026A00000E9600090860004112020090048080C11 +:1026B000B50A0005A978D1DC11080005A934A89055 +:1026C00091061158A938A89491061138601CC0844D +:1026D000601E200900480804B50A0005012600C64E +:1026E0002091220000CE7908918C0007918600008D +:1026F00005B0918600030598602060230000000665 +:102700002031000800C6781F08087808D09C0120F6 +:10271000080C13F586311DB800CE781F0800203153 +:10272000016800C67808D09C190C13F500CE200172 +:102730000038080C1C497930918600400160918670 +:102740000042190C0D8C2001001E80011DF0863105 +:102750001D40080C1C58000E6022012E0005080CBC +:102760001C457827001578289C061DB8782B00009A +:102770000CA000F6207903007803000078AB000479 +:102780002001F0008001090C0D8C7AACD2AC1DD078 +:1027900000FE080C79CB11882001013820030000CD +:1027A00020010160200300002011012CA001A001E4 +:1027B00082111DE0005908047A6D04790039200166 +:1027C00001602502200101382202000500E6207187 +:1027D0000200080C2B4C2009003C080C22BF2001F1 +:1027E000015D2003000070009084003C1DE0080C97 +:1027F0008B1870A070A27098709A709C709E2001C7 +:10280000020D2003002000F620790300080C138538 +:102810007803000100FE00EE0005200101382014BD +:102820002003000020010160202C20030000080C80 +:1028300079CB110800052021026020010141201CF4 +:10284000D3DC116820010109201C939C0048116011 +:1028500020010111201C83FF111084211D70200113 +:10286000015D20030000000500462021001920031F +:102870000048A001A001201C939C00480120842155 +:102880001DB0004E0C60004E0C40601CC084601EE9 +:1028900000052C08621C080C1742793000052C0832 +:1028A000621C080C178B7930000580011DF00005B3 +:1028B00020310064781C90840007017020010038EA +:1028C0000C419186004009041CB62001001E0C69D1 +:1028D00086311D80080C0D8C781F02022001015DDD +:1028E0002003000020010DAC0C01781CD0840110E5 +:1028F000086104E0200100300891918600400568DD +:10290000781CD0841DA8781F0101200100140869DB +:10291000200100370821918600400140200100304D +:10292000080C1C4F91860040190C0D8C00D62069B4 +:102930000200692CD1F41170D1C40160D19C013026 +:10294000680090851800680200DE008069089184A4 +:1029500000071DB000DE781F0100791C918400077C +:10296000090C0D8CA001A001781F020000050126B2 +:102970002091240020790380200119EB2070012E82 +:1029800000052CF00126209124003E6060142048B0 +:10299000A968A91A918C00FF9184000F00021CEB1A +:1029A0001CEB1CEB1CED1CEB1CEB1CEB1CEB1CDFF9 +:1029B0001CF51CEB1CF11CEB1CEB1CEB1CEB9086C0 +:1029C00000081148A880D0B409041E6520111F57C3 +:1029D0002205AB8C00A8080C0D8C918600130128F1 +:1029E0000CD09186001B01080CB0A880D0B409045B +:1029F0001E659184000F90801F5C20152205AB8C12 +:102A00002908A80AA90EAA12AB169006A842A83E49 +:102A1000012E00052CF00126209124003E60601458 +:102A20002048A890A994AAB0ABB4AA36AB3AA83E65 +:102A3000A942A846A94AA968918C00FF9186001E68 +:102A400001982940A068A81A90EC000F9D801F5C97 +:102A500020652C0528082C10AB8CA80AA90EAA12F8 +:102A6000AB16012E3E600005A80420400C582CF047 +:102A70000126209124003E6060142048A98029503E +:102A8000D1DC19041E2FC1DDA9829006A842A83E00 +:102A9000A98C8109A916A968A91A9184000F9088A8 +:102AA0001F5C214500021D631D711D631D631D63B5 +:102AB0001D651D631D631DC61DC61D631D631D634E +:102AC0001DC41D631D63080C0D8CA8042050B16843 +:102AD000A91A9184000F90801F5C2045D19C190495 +:102AE0001DC6903626382805908A00371A0C0D8CA2 +:102AF0009082001C00021D961D961D981D961D9625 +:102B00001D961D9E1D961D961D961DA41D961D9617 +:102B10001D961DAA1D961D961D961DB01D961D96EF +:102B20001D961DB61D961D961D961DBC080C0D8C80 +:102B3000B578B47CB380B28408041E0BB588B48C1D +:102B4000B390B29408041E0BB598B49CB3A0B2A481 +:102B500008041E0BB5A8B4ACB3B0B2B408041E0B85 +:102B6000B5B8B4BCB3C0B2C408041E0BB5C8B4CC6D +:102B7000B3D0B2D408041E0BB5D8B4DCB3E0B2E4D1 +:102B800008041E0B08041E0B080C0D8C2805908AE7 +:102B900000351A0C0D8C9082001C00021DE91DE707 +:102BA0001DE71DE71DE71DE71DF01DE71DE71DE7FC +:102BB0001DE71DE71DF71DE71DE71DE71DE71DE7E5 +:102BC0001DFE1DE71DE71DE71DE71DE71E05080C9F +:102BD0000D8CB570B474B778B67CB380B28400D86D +:102BE000B588B48CB790B694B398B29C00A0B5A049 +:102BF000B4A4B7A8B6ACB3B0B2B40068B5B8B4BCAE +:102C0000B7C0B6C4B3C8B2CC0030B5D0B4D4B7D80E +:102C1000B6DCB3E0B2E4AB2EAA32AD1EAC22AF26D6 +:102C2000AE2AA98C8109A91611189006012E00055B +:102C30008840280590051168B0049005090C0D8C9A +:102C40002050B168A91A9184000F90801F5C204524 +:102C5000280528102A08A80AA90EAA120C303E60DE +:102C60006344D3FC190C0D8CA93CAA40A8449106DE +:102C70001118A848920605082958AB48AC442940C9 +:102C8000080C1F7C199828502C40AB14A884D0FC49 +:102C90001140A8102005A80A2A00A80E20098015B6 +:102CA000007000C63E606044C0A490858005604608 +:102CB00000CE8319AB1619041E18200980053E604A +:102CC00060449105604608041E15080C0D8C00F642 +:102CD00000E6009600C60026704C9C06190C0D8C70 +:102CE000207900902001010520030010782B0004BA +:102CF0007057000060142048080CD3120118A884F3 +:102D0000C0BDA88660209086000611702061010079 +:102D100062C8200100FA80011DF060C892061DC043 +:102D200060C4A89E60C8A89A704C206000C6080CB9 +:102D3000CEC9080CAFDC00CE704C9C0611502009A7 +:102D40000040080C22BF080CAA6520110000080CE6 +:102D5000A8F9002E00CE009E00EE00FE000500F651 +:102D600020790090781C0006781800062079010070 +:102D70007A14928419849085001278162019100014 +:102D80008319090C0D8C7820D0BC1DD079C8000E99 +:102D90009102001E0006001679C4000E910378C649 +:102DA000000E78CA928419849085001278162079D2 +:102DB0000090782B00087057000000FE000500F618 +:102DC00000E6207119EB70549086000009041F2D55 +:102DD0002079009020090207210CD19401B8200924 +:102DE000020C210C918400030188080CF3D8200107 +:102DF000013320049005090C0D8C001620090040B9 +:102E0000080C22BF001E2001020C2102200902062C +:102E1000210420090203210C910611202009004001 +:102E2000080C22BF782CD0FC09A8080CAFF8782C2D +:102E3000D0FC1DE8080CAFDC7054908600001950DF +:102E4000782B0004782CD0AC1DE820090040080C39 +:102E500022BF782B00027057000000EE00FE000534 +:102E6000080C0D8C8C602C05900501108A51000512 +:102E7000A00490050168A85A2040A0689084000F23 +:102E800090801F5C20658CFF090C0D8C8A51000519 +:102E9000205000050000001E00220026002A002EFF +:102EA000003200360000001C00220028002E0034F2 +:102EB000000000000024000000001F4F1F4B1F4FA8 +:102EC0001F4F1F5900001F4F1F561F561F531F56DD +:102ED0001F5600001F591F5600001F511F510000B0 +:102EE0001F511F5900001F511F571F571F57000028 +:102EF0001F5700001F591F5700C600D60086AB425F +:102F0000AC3EA88C90550904215B2940A06890EC48 +:102F1000000F908400FF90860008111820611F5751 +:102F200000D09DE01F5C9D86000701309D86000E4D +:102F300001189D86000F1120A0909422A094931B4D +:102F40002C059065114003100804215BA0049045F6 +:102F50000904215B08D82C05900509042043DD9C59 +:102F600019041FFF908A00371A0C0D8C9082001CE8 +:102F700000021FD41FD41FD61FD41FD41FD41FDCA0 +:102F80001FD41FD41FD41FE21FD41FD41FD41FE887 +:102F90001FD41FD41FD41FEE1FD41FD41FD41FF45F +:102FA0001FD41FD41FD41FFA080C0D8CA0809422AC +:102FB000A084931B08042039A0909422A094931B12 +:102FC00008042039A0A09422A0A4931B080420394F +:102FD000A0B09422A0B4931B08042039A0C094226E +:102FE000A0C4931B08042039A0D09422A0D4931B22 +:102FF00008042039A0E09422A0E4931B04D0908A16 +:1030000000351A0C0D8C9082001C00022021201F1C +:10301000201F201F201F201F2026201F201F201FB1 +:10302000201F201F202B201F201F201F201F201F9C +:103030002030201F201F201F201F201F2035080C9C +:103040000D8CA0809422A084931B0098A0989422B9 +:10305000A09C931B0070A0B09422A0B4931B0048C6 +:10306000A0C89422A0CC931B0020A0E09422A0E44E +:10307000931B06302300940501608A510904215BEB +:103080008C6008041FABA00490450904215B080470 +:103090001F868A510904215B8C602C05900511580C +:1030A000A00490450904215BA06890EC000F9DE00E +:1030B0001F5C2C052060A884C0FCA8860804215051 +:1030C0002C0584228420831A93990000AC2EAB3205 +:1030D000DD9C190420ED9082001C000220892089CB +:1030E000208B208920892089209920892089208986 +:1030F00020A720892089208920B52089208920893E +:1031000020C320892089208920D1208920892089F5 +:1031100020DF080C0D8CA18024009122A1842300C3 +:10312000911B0A0C0D8CA0789420A07C93190804A4 +:10313000214BA19024009122A1942300911B0A0C01 +:103140000D8CA0889420A08C93190804214BA1A079 +:1031500024009122A1A42300911B0A0C0D8CA0989D +:103160009420A09C93190804214BA1B02400912223 +:10317000A1B42300911B0A0C0D8CA0A89420A0AC34 +:1031800093190804214BA1C024009122A1C423005B +:10319000911B0A0C0D8CA0B89420A0BC93190804B4 +:1031A000214BA1D024009122A1D42300911B0A0C11 +:1031B0000D8CA0C89420A0CC93190804214BA1E049 +:1031C00024009122A1E42300911B0A0C0D8CA0D8AD +:1031D0009420A0DC93190804214B9082001C00026B +:1031E000210B21092109210921092109211821097E +:1031F0002109210921092109212521092109210963 +:103200002109210921322109210921092109210945 +:10321000213F080C0D8CA18024009122A184230061 +:10322000911B0A0C0D8CA0709420A0749319049823 +:10323000A19824009122A19C2300911B0A0C0D8CC3 +:10324000A0889420A08C93190430A1B0240091226E +:10325000A1B42300911B0A0C0D8CA0A09420A0A463 +:10326000931900C8A1C824009122A1CC2300911B6E +:103270000A0C0D8CA0B89420A0BC93190060A1E0AA +:1032800024009122A1E42300911B0A0C0D8CA0D0F4 +:103290009420A0D49319AC1EAB22A884C0FDA886AC +:1032A0002800A85A2C00A8122A00A816000E000E0A +:1032B000000E90060028008E00DE00CE90850001F2 +:1032C000000500C6610C00169026241060049420AE +:1032D000929100002C0492109CE00002918A00025E +:1032E0001DA89284000F9405001E00CE00057803EF +:1032F0000003780F0000600478122C0478169CE01C +:103300000002918A00021DB800052001000520047A +:10331000D0BC190C0D85D0940110080C12260005A4 +:103320000126209126002079020020710260206988 +:10333000180078170000789B081478A30406789F7B +:1033400004102009013B200B0400781B0002783B8D +:10335000001F7837002078031600012E0005209109 +:103360002600781CD0A4190422B87900D1DC1118E9 +:1033700090840006001A9084000E000221D621CE0F +:10338000843D21CE21D021D021D021D0842321CE33 +:1033900021D221CE21D021CE21D021CE080C0D8CDE +:1033A00000310020080C8423080C843D0005000631 +:1033B00000160026080CF3D879309184000305101C +:1033C000080CAFDC200119FE2004900501A02001AB +:1033D000013320049005090C0D8C00C6200119FE54 +:1033E0002064080CAFF8080CCEC920090040080C76 +:1033F00022BF00CE040820090040080C22BF080CA0 +:10340000AFF800D09184001401A06A0092860003F6 +:103410000160080C79CB1138080C7CE3080C634F71 +:10342000080C78FA0010080C6208080C84DB0041D4 +:103430000018918495401DC8002E001E000E000546 +:1034400000E600360046005620711A81080C1BB9B0 +:10345000005E004E003E00EE0005012620912E0089 +:103460002071180071282001197221022001197A97 +:1034700021022001013B21022079020020010201EA +:10348000789E78A3020091980007831C831C831CFC +:103490009398000523209182020412302011000825 +:1034A00084238423842304889182024C12402011B7 +:1034B00000078403800394009400942004309182D8 +:1034C00002BC12382011000684038003940094206B +:1034D00000E09182034C1230201100058403800328 +:1034E000942000989182042C122820110004842337 +:1034F000842300589182059C122820110003840324 +:103500009420001820110002842394820228800253 +:103510008020830194020110020883218217820314 +:103520009405789A012E0005000600D62069020055 +:1035300068149084FFC0910D691600DE000E00052E +:1035400000D620690200900568100110C0A500088F +:10355000C0A4681200DE0005000600D62069020043 +:1035600068109084FFF8910D691200DE000E0005CE +:10357000080C84E5080CF3B5080C1BB9000500F62F +:10358000207902007902A001A001A001A001A00100 +:10359000A0017902A001A001A001A001A001A00149 +:1035A00000FE000501262091280020610100207105 +:1035B000180020090000080C2B46080C2A53200193 +:1035C00019A020030700200119A120030700080CFF +:1035D0002BB79006080C2A829006080C2A6520A9B1 +:1035E00000121D0422F1209160001F0422F1602FBF +:1035F0000100602F00006050908504009084DFFF80 +:1036000060526224080C2B94080C277D200900EFDF +:1036100061326136080C278D60E7000061EA200105 +:10362000180D2004D08C2001000211102001000888 +:1036300060E2604BF7F760430000602F0080602F6E +:1036400000006007349F00C620610140608B000BC2 +:10365000608F10B8609300006097019800CE6004FE +:1036600090858000600660BB000020A9001860BF44 +:1036700000001F04233760BB000060BF010860BF6B +:10368000001260BF040560BF001460BF032060BF6C +:103690000018601B00F0601F001E600F006B602BA5 +:1036A000402C012E000500F62079014078C30080EF +:1036B00078C3008378C3000000FE000520011835A0 +:1036C000200300002001183420030001000501261A +:1036D0002091280000060016002661246028910C25 +:1036E000006620311837263496B40028006E113851 +:1036F0006020D1BC0120D0BC1168D0B41198918455 +:103700005E2C11189184000700AA91950004928400 +:1037100000070082001620010387200CD1A4001EA0 +:103720000D700C98001620010387200CD1B4001EE8 +:103730000D300C5823A523A223A223A223A423A245 +:1037400023A223A2080C0D8C0029002E001E000EBF +:10375000012E000500A661246028D09C0118D19C90 +:1037600019042647D1F4190C2C8B080C79CB0904C9 +:103770002404080CDA4E11207000908600030580A6 +:103780006024908418000560080C79EE0118080C7C +:1037900079DC153020110020080C2B9460430000C8 +:1037A000080CDA4E0168080C79EE1150200119ABB3 +:1037B0002003000160271800080C783F0804264AFF +:1037C00070A49005115070A7000100D62069014037 +:1037D000080C7A1F00DE1904264A080C7CED043818 +:1037E000080C79EE19042439602490841800111013 +:1037F00008042439080C7CED080C7CE3080C634FAA +:10380000080C78FA08042647D1AC15986024D0DC5F +:103810001170D0E411C0D0D41520D0CC01307098F4 +:10382000908600291110080C7BBD08042647080C5F +:10383000DA4E0130004620210001080C2C81004E98 +:10384000080C7CE80090080CDA4E0130004620217C +:103850000002080C2C81004E200119802003000278 +:103860000020080C7B1108042647080C7C6708041C +:1038700026476220D1BC0138D2BC190426B2D2B48A +:10388000190426C20000D1AC090425520036632871 +:10389000C3BC632A003E080C79CB15202011002000 +:1038A000080C2B94000600260036080CDA4E01386E +:1038B0000046634C20210000080C2C81004E080CAF +:1038C00079E51158080C7CE3080C634F080C78FA72 +:1038D000003E002E000E00AE0005003E002E000E41 +:1038E000080C799F0016004600C6644C9486F0F0E0 +:1038F000113820610100644A604300906043001069 +:1039000074DA948CFF007038D0840178080CDA4E99 +:1039100011189186F800114800360046241820211D +:103920000000080C2C81004E003E080CDA471904F8 +:1039300025279196FF0005A87060908400FF810FF5 +:1039400081FF0110911605687130D1841550080C63 +:1039500035910128C18D7132080C6E23151062401B +:1039600092940010013062489294FF009296FF00FA +:1039700001C07030D08C090425277038D08C1140DC +:103980002001180C200CD1AC19042527C1AD21024F +:10399000003673D820118013080C4E48003E0804EE +:1039A00025277038D08C11402001180C200CD1AC88 +:1039B00019042527C1AD2102003673D820118013C8 +:1039C000080C4E48003E7130C18571322011184BF1 +:1039D000220CD1A401F000162009000120110100E1 +:1039E000080C8F182019000E00C620610000080C7A +:1039F000EEA700CE948400FF9080359D200D918C21 +:103A0000FF00810F212090062009000E080CEF3BDB +:103A1000001E00162009000220190004080C33E9DA +:103A2000001E00A8015600B620A9007F900E080CC9 +:103A3000697711407030D0841118B800D0BC1110D3 +:103A4000080C636981081F04251700BE015E00CEC3 +:103A5000004E080CAFDC080CB2D3080CB39C080C69 +:103A6000AFF860E30000001E2001180020149296B9 +:103A700000041170D19C11B02011180C2214D29C9A +:103A8000112062049295000262066228C29D622A99 +:103A9000200300012001182620030000201100202F +:103AA000080C2B94D194090426470016080CAFDCAF +:103AB0006220D2B4090425E2080C8D1F080CA55F12 +:103AC00020110004080C2B9400F6201919F7230488 +:103AD000907D090425AF780490860032190425AF43 +:103AE00000D600C600E6009620690140782C685E8A +:103AF0007808685A604300022001000380011DF02D +:103B0000604300002001003C80011DF0080C2B6A7E +:103B10002001001E8001024020A90009080C2B2171 +:103B20006904D1DC11400CB020010100080C2B5AB3 +:103B30009006080C2B5A2F60080C9C98080CAFF8C4 +:103B400078142048A86B01032F60080CB46D009E08 +:103B500000EE00CE00DE00FE001E00AE000500FEFE +:103B600000D6206901406804908440000110080CD0 +:103B70002B6A00DE00C6206119EB6034080CDA4EB7 +:103B80000120909A000312580018909A00C8123829 +:103B90008000603600CE080CA5370804264420615A +:103BA000010062C0080CAF0D201919F723049065BD +:103BB00001306003000120090027080CB50A00CE7F +:103BC00008042644D2BC09042627080C8D2C201199 +:103BD0000004080C2B9400D62069014068049084EE +:103BE00040000110080C2B6A00DE00C6206119EBB2 +:103BF0006050080CDA4E0120909A000316680018F5 +:103C0000909A00C8164880006052604C00CE900523 +:103C100005D8200907D0080C8D24908000082004C6 +:103C20009086000611382009198420110012080C12 +:103C30002BA30450908000082004908600090D9862 +:103C40002009198420110016080C2BA300E820116C +:103C50000004080C2B9400C0003620190001080C49 +:103C6000A85A003E201919FE23049065016020091E +:103C7000004F60209086000911102009004F60035A +:103C80000003080CB50A00CE080CAFF8001ED19C4A +:103C9000090426AB7038D0AC155800160156201117 +:103CA0000008080C2B94080C2BB7080C2BEA60506A +:103CB000C0E5605220A903670F0426761D04265E26 +:103CC000080C8D536020D09C1DB800F620790100AF +:103CD000080C2AC400FE1D806050C0E46052201110 +:103CE0000008080C2B94015E001E04A8015E001E53 +:103CF00000166028C09C602A080CAFDC080CB2D308 +:103D0000080CB39C080CAFF860E30000080CF39BB0 +:103D1000080CF3D2080C59FAD0FC1138080CDA4719 +:103D2000112090850001080C7A0F9006080C2B5A80 +:103D300020090002080C2B4600E6207118007003D1 +:103D40000004080C0EDB00EE20110008080C2B9478 +:103D5000080C0BD6001E918CFFD02110080C2B9460 +:103D600000AE0005001620010387200CD1A4001E20 +:103D700009042443001600B120010387200310002A +:103D8000001E0C48001620010387200CD1B4001E31 +:103D9000090424430016003120010387200340005A +:103DA000001E08C86028C0BC602A200101562003FC +:103DB000BC9180002003FFFF60430001080C2B40F2 +:103DC00020110080080C2B94601700006043000055 +:103DD0000005000600160026003600E600F6012663 +:103DE000209180002071180071D070D291160904C2 +:103DF000273C81FF01A020090000080C2B46201160 +:103E000080112019010E231C939E00071118201900 +:103E10000001001020190000080C4E480468200121 +:103E200019AC200C81FF1140200101092004D0B4FD +:103E30000118201900030008211820118012080C15 +:103E40004E48080C0EDB080C59FAD0FC11A8080CDF +:103E5000DA47119000C6080C27D8080CAFDC080C14 +:103E6000A7B5080CAFF8206101002019002820092F +:103E70000002080C33E900CE012E00FE00EE003EE9 +:103E8000002E001E000E00052028918C00FF21301E +:103E90009094FF0011F0201118372214D2AC11C8F1 +:103EA00081FF01E82011181F2204910611902011B2 +:103EB000182022149294FF009584FF009206114866 +:103EC000201118202214929400FF958400FF92067E +:103ED00011202500080C877E0048958400FF908003 +:103EE000359D200D918CFF00810F9006000590807C +:103EF000359D200D918C00FF000500D62069014002 +:103F000020011818200300EF20A900109006685225 +:103F100068561F04278800DE0005000600D600262C +:103F20002069014020011818210281148214821492 +:103F3000821420A9001068530000900682FF112807 +:103F40009184000F9080F3E62005685682111F04CB +:103F5000279D002E00DE000E000500C6206118001F +:103F600060300110C09D0008C09C603200CE00058A +:103F7000015600D60026001600062069014069801F +:103F800091160180911212308212821022A8200113 +:103F90000402001822A820010404680E1F0427CD83 +:103FA000680F0000000E001E002E00DE015E0005FE +:103FB000080C59F6D0C40150D0A401409006004628 +:103FC00020202009002E080CEF3B004E000500F6D3 +:103FD000001600262079014078C4D0DC090428446A +:103FE000080C2AB4066090840700908E0600112009 +:103FF00020114000900E0458908E050011202011D1 +:104000008000900E0420908E04001120901620094C +:10401000000100E8908E0300112090162009000294 +:1040200000B0908E02001120901620090004007844 +:10403000908E0100154890162009000800409084D9 +:104040000700908E03001500201100300058230057 +:10405000908000202018080C9802928CFF0001101C +:10406000201100FF220080079085004C78C22009B3 +:104070000138220A080C79CB111820091970220A7C +:10408000002E001E00FE000578C300000CC80126AB +:104090002091280000060016002620010170200C47 +:1040A00080002014918400030110080C0D85002E5F +:1040B000001E000E012E00052001180D2004D08CDA +:1040C0000118200900020005200101712004D0DC44 +:1040D000016820010170200C918C00FF918E004C32 +:1040E0001128200C918CFF00810F0005900E2001FB +:1040F000022720048007908400FF8004910820019B +:10410000022620048007908400FF800491080005A7 +:104110000018000C00180020100008001000180003 +:10412000015600060016002600E62001199320041F +:10413000908A00071A0C0D8C003300EE002E001E32 +:10414000000E015E000528AA28C828EC28EE2917D1 +:104150002919291B20010001080C26E9080C2B0B4A +:10416000200119952003000078289084E1D7782A4F +:10417000900620A90009080C2AD0200119932003D9 +:1041800000062009001E2011291C080C8D31000595 +:1041900020091998200B00002001199D20030036EA +:1041A0002001199C2003002A2001199520030001F9 +:1041B0009006080C2A652001FFFF20A90009080CC1 +:1041C0002AD020011993200300062009001E201187 +:1041D000291C080C8D310005080C0D8C2001199D3F +:1041E0002003003620011995200300037A389294A9 +:1041F00000059296000401109006001020010001B5 +:10420000080C2A6520011999200300002001FFFFF6 +:1042100020A90009080C2AD02001199320030006C8 +:104220002009001E2011291C080C8D310005080CE6 +:104230000D8C080C0D8C000500060016002600E60B +:1042400000F601560126209180002079010020010E +:1042500019952004908A00071A0C0D8C0043012E3A +:10426000015E00FE00EE002E001E000E0005293E3D +:10427000295A299629C229E229EE29F0080C2AC4D4 +:1042800011902009199B21047A3892940005929686 +:1042900000040110C08D0008C085200A2001199378 +:1042A000200300010030080C2A142001FFFF080C35 +:1042B00028B90005080C29F205C02009199C210421 +:1042C0008001200A080C2AC411587A3892940005FB +:1042D0009296000505182009199B2104C085200A23 +:1042E0002009199821048000200A908600050118F1 +:1042F000080C29FA00C0200B00007A3892940006BE +:104300009296000401109006001020010001080C94 +:104310002A82200119952003000200282001199308 +:10432000200300030010080C28DB0005080C29F20C +:1043300005402009199C21048001200A080C2AC488 +:104340001148200119932003000320011994200330 +:10435000000000B82009199C210490051118080CD0 +:104360002A370010080C2A07080C29FA2009199886 +:10437000200B00002001199520030001080C28DB08 +:1043800000000005047901E8080C2AC411982009EE +:10439000199921048000200A9086000701080078FE +:1043A0002001199E2003000A2009199B2104C0FD49 +:1043B000200A003800F92001199520030004080C98 +:1043C0002906000500790148080C2AC41118080CB8 +:1043D00028F200180079080C29060005080C0D8C3D +:1043E000080C0D8C2009199D21048001200A090C5C +:1043F0002A5300057A389294000592960005011020 +:104400009006001020010001080C2A8200057A386D +:10441000929400069296000601109006001020016A +:104420000001080C2A650005200919982104800064 +:10443000200A9086000501080068200B00007A38E9 +:10444000929400069296000601109006001020013A +:10445000000104D97A389294000592960005011063 +:104460009006001020010001080C2A820005008639 +:104470002001199B200490847FFF090C0D8C2009DA +:10448000199A21448846280A98440DD8D08C1120C6 +:10449000D0841120080C0D8C900600102001000122 +:1044A00000A1008E0005000601562001199320A9E5 +:1044B00000092003000080001F042A592001199AD6 +:1044C00020038000015E000E000500F62079010047 +:1044D00090850000015878389084FFF99085000499 +:1044E000783A200919A0210C795A00507838908424 +:1044F000FFFB90850006783A200919A1210C795A12 +:1045000000FE000500F620790100908500000158AA +:1045100078389084FFFA90850004783A7850908437 +:10452000FFF0785200F878389084FFFB9085000502 +:10453000783A78509084FFF000162009017F210C12 +:10454000918E0005014020090003210C918C06008A +:10455000918E040001189085000A001090850000DB +:10456000001E785200FE0005000620010100200414 +:1045700090820007000E00050006200101002004C3 +:1045800090820009000E0005015620A900647820E1 +:10459000080C2B40D09C11101F042AC7015E000597 +:1045A00001260016000620918000000E200891864A +:1045B00000001118783B0007009091860001111847 +:1045C000783B00060060918600021118783B0005D8 +:1045D0000030918600031118783B000400000006AB +:1045E0001D042AF0080C8D531F042AF02001199590 +:1045F0002004908600000118918EFFFF0120080C16 +:104600002BB7080C2BEA7850908510007852000EDA +:10461000001E012E0005080C2BEA000500060156BD +:1046200000F62079010020A9000A7854D0AC1100CE +:104630007854D08C11101F042B1800FE015E000E60 +:1046400000051D042B21080C8D531F042B21000590 +:1046500000062001199F200490860000000E00052E +:1046600000062001199F200490860001000E00051D +:1046700000062001199F200490860002000E00050C +:10468000A001A001A001A001A001000500062001D9 +:1046900019AC2102000E0005200901712104D0DCB3 +:1046A0000140200901702104200B0080A001A0011D +:1046B000200A000500160026080C79E50108C0BC98 +:1046C000200901402114929400019215220A002E23 +:1046D000001E0005001600262009014021149294B6 +:1046E000000192851000200A220A002E001E0005FB +:1046F0000016002620090140211492940001921511 +:10470000220A002E001E00050006001620090140A6 +:1047100021041128080C79E50110C0BC0008C0BDB7 +:10472000200A001E000E000500F620790380784361 +:1047300001017844D0841DE8200101092202784358 +:10474000010000FE000500F6207903807843020294 +:104750007844D08C1DE820790100781491049205EA +:104760007A16207903807843020000FE00050016C7 +:104770000026003600C62061010060509084FBFFD7 +:1047800090850040605220A90002080C2B21605047 +:10479000908504009084FF9F605220A90005080CBA +:1047A0002B216054D0BC090C0D8C20A90005080CED +:1047B0002B216054D0AC090C0D8C200919B39084C6 +:1047C0007E00800780048004200A00CE003E002E78 +:1047D000001E0005000600C6206101006050C0CD2B +:1047E000605200CE000E0005001600C600D600067E +:1047F0002061010020690140603000066048000629 +:1048000060E4000660E800066050000660EC000608 +:10481000600C000660040006C0FC60062009080069 +:1048200020010338200303018109090C0D8C2001AC +:1048300003382004D0841DC06028000660E0000614 +:1048400068880006688C000668900006080C79CB22 +:1048500011086884602F0100602F0000A001A001F2 +:10486000A001A001602F0040602F0000080C79CB50 +:10487000111868030080688668974198000E689256 +:10488000000E688E000E688A000E60E2000E602A3C +:10489000000E6006000E600E000E60EE000E60520C +:1048A000000E60EA000E60E6000E604A000E603204 +:1048B00060362008080C278D000E00DE00CE001E9A +:1048C000000500060156605090850040605260501F +:1048D0009084FBCF6052080C2B40908520006052E2 +:1048E00020A900121D042C72080C8D531F042C7279 +:1048F0006050908504009084DFBF6052015E000E1E +:1049000000057048D0841130C085704A201180168F +:10491000080C4E4800050016000620114000080C47 +:104920002B94080CF3A7080CAFDC200119FE20041F +:1049300000C69065090C0D8C080CAFF80096601449 +:104940002048080CD3120178A884C0DDA886602016 +:1049500090860006114020010132200C2001013117 +:104960002004A99AA89E009E602090860003115002 +:10497000080C6DC3013820310001080CCF32080C3F +:10498000D6710010080CCEC900CE20010387200389 +:104990000200000E001E000531C831C82DCC2DCC00 +:1049A0002DD82DD82DE42DE42DF22DF22DFE2DFE47 +:1049B0002E0C2E0C2E1A2E1A2E2C2E2C2E382E3873 +:1049C0002E462E462E642E642E842E842E542E5473 +:1049D0002E742E742E922E922E2A2E2A2E2A2E2AB3 +:1049E0002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A07 +:1049F0002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2AF7 +:104A00002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2AE6 +:104A10002E2A2E2A2E2A2E2A2EA42EA42EB02EB0D6 +:104A20002EBE2EBE2ECC2ECC2EDC2EDC2EEA2EEA76 +:104A30002EFA2EFA2F0A2F0A2F1C2F1C2F2A2F2A6C +:104A40002F3A2F3A2F5C2F5C2F802F802F4A2F4A2E +:104A50002F6E2F6E2F902F902E2A2E2A2E2A2E2A3E +:104A60002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A86 +:104A70002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A76 +:104A80002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A66 +:104A90002E2A2E2A2E2A2E2A2FA42FA42FB02FB052 +:104AA0002FBE2FBE2FCC2FCC2FDC2FDC2FEA2FEAEE +:104AB0002FFA2FFA300A300A301C301C302A302AE4 +:104AC000303A303A304A304A305C305C306C306CCE +:104AD000307E307E309030902E2A2E2A2E2A2E2A9A +:104AE0002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A06 +:104AF0002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2AF6 +:104B00002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2AE5 +:104B10002E2A2E2A2E2A2E2A30A430A430B230B2C9 +:104B200030C230C230D230D230E430E430F430F42D +:104B30003106310631183118312C312C313C313CE1 +:104B4000314E314E3160316031743174318531858F +:104B50003198319831AB31AB2E2A2E2A2E2A2E2AAB +:104B60002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A85 +:104B70002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A75 +:104B80002E2A2E2A2E2A2E2A2E2A2E2A2E2A2E2A65 +:104B90002E2A2E2A2E2A2E2A01060006012601C6BA +:104BA00001D6013601460156080C2367080431C0BE +:104BB00001060006012601C601D60136014601564E +:104BC000080C2185080431C001060006012601C633 +:104BD00001D6013601460156080C2185080C2367D1 +:104BE000080431C001060006012601C601D60136BF +:104BF00001460156080C21AF080431C00106000629 +:104C0000012601C601D6013601460156080C23676C +:104C1000080C21AF080431C001060006012601C6B8 +:104C200001D6013601460156080C2185080C21AF3A +:104C3000080431C001060006012601C601D601366E +:104C400001460156080C2185080C2367080C21AF8A +:104C5000080431C0A0010CF001060006012601C6BF +:104C600001D6013601460156080C13F5080431C07F +:104C700001060006012601C601D60136014601568D +:104C8000080C2367080C13F5080431C00106000660 +:104C9000012601C601D6013601460156080C2185C0 +:104CA000080C13F5080431C001060006012601C6F0 +:104CB00001D6013601460156080C2367080C13F58E +:104CC000080C21AF080431C001060006012601C608 +:104CD00001D6013601460156080C2185080C2367D0 +:104CE000080C13F5080431C001060006012601C6B0 +:104CF00001D6013601460156080C2185080C13F532 +:104D0000080C21AF080431C001060006012601C6C7 +:104D100001D6013601460156080C13F5080C21AFE7 +:104D2000080431C001060006012601C601D601367D +:104D300001460156080C2185080C2367080C13F561 +:104D4000080C21AF080431C001060006012601C687 +:104D500001D6013601460156080C2847080431C027 +:104D600001060006012601C601D60136014601569C +:104D7000080C2847080C2367080431C00106000608 +:104D8000012601C601D6013601460156080C284706 +:104D9000080C2185080431C001060006012601C661 +:104DA00001D6013601460156080C2847080C21851A +:104DB000080C2367080431C001060006012601C65D +:104DC00001D6013601460156080C2847080C21AFD0 +:104DD000080431C001060006012601C601D60136CD +:104DE00001460156080C2847080C2367080C21AF20 +:104DF000080431C001060006012601C601D60136AD +:104E000001460156080C2847080C2185080C21AFE3 +:104E1000080431C001060006012601C601D601368C +:104E200001460156080C2847080C2185080C236709 +:104E3000080C21AF080431C001060006012601C696 +:104E400001D6013601460156080C2847080C13F517 +:104E5000080431C001060006012601C601D601364C +:104E600001460156080C2847080C2367080C13F567 +:104E7000080431C001060006012601C601D601362C +:104E800001460156080C2847080C2185080C13F52B +:104E9000080431C001060006012601C601D601360C +:104EA00001460156080C2847080C2367080C13F527 +:104EB000080C21AF080431C001060006012601C616 +:104EC00001D6013601460156080C2847080C2185F9 +:104ED000080C2367080C13F5080431C0010600060E +:104EE000012601C601D6013601460156080C2847A5 +:104EF000080C2185080C13F5080C21AF080431C0FB +:104F000001060006012601C601D6013601460156FA +:104F1000080C2847080C13F5080C21AF080431C011 +:104F200001060006012601C601D6013601460156DA +:104F3000080C2847080C2185080C2367080C13F57A +:104F4000080C21AF080431C001060006012601C685 +:104F500001D6013601460156080CB046080431C09E +:104F600001060006012601C601D60136014601569A +:104F7000080CB046080C2367080431C0010600067F +:104F8000012601C601D6013601460156080C2185CD +:104F9000080CB046080431C001060006012601C60F +:104FA00001D6013601460156080C2185080CB04691 +:104FB000080C2367080431C001060006012601C65B +:104FC00001D6013601460156080CB046080C21AF47 +:104FD000080431C001060006012601C601D60136CB +:104FE00001460156080CB046080C2367080C21AF97 +:104FF000080431C001060006012601C601D60136AB +:1050000001460156080C2185080CB046080C21AF5A +:10501000080431C001060006012601C601D601368A +:1050200001460156080C2185080CB046080C236780 +:10503000080C21AF080431C001060006012601C694 +:1050400001D6013601460156080CB046080C13F58E +:10505000080431C001060006012601C601D601364A +:1050600001460156080CB046080C2367080C13F5DE +:10507000080431C001060006012601C601D601362A +:1050800001460156080C2185080CB046080C13F5A2 +:10509000080431C001060006012601C601D601360A +:1050A00001460156080C2185080CB046080C236700 +:1050B000080C13F5080431C001060006012601C6DC +:1050C00001D6013601460156080CB046080C13F50E +:1050D000080C21AF080431C001060006012601C6F4 +:1050E00001D6013601460156080CB046080C23676C +:1050F000080C13F5080C21AF080431C001060006A6 +:10510000012601C601D6013601460156080C21854B +:10511000080CB046080C13F5080C21AF080431C088 +:1051200001060006012601C601D6013601460156D8 +:10513000080C2185080CB046080C2367080C13F5F1 +:10514000080C21AF080431C001060006012601C683 +:1051500001D6013601460156080C2847080CB04616 +:10516000080431C001060006012601C601D6013639 +:1051700001460156080C2847080CB046080C236766 +:10518000080431C001060006012601C601D6013619 +:1051900001460156080C2847080C2185080CB0462A +:1051A000080431C001060006012601C601D60136F9 +:1051B00001460156080C2847080C2185080CB0460A +:1051C000080C2367080431C001060006012601C649 +:1051D00001D6013601460156080C2847080CB04696 +:1051E000080C21AF080431C001060006012601C6E3 +:1051F00001D6013601460156080C2847080CB04676 +:10520000080C2367080C21AF080431C00106000612 +:10521000012601C601D6013601460156080C284771 +:10522000080C2185080CB046080C21AF080431C0D9 +:1052300001060006012601C601D6013601460156C7 +:10524000080C2847080C2185080CB046080C236779 +:10525000080C21AF080431C001060006012601C672 +:1052600001D6013601460156080C2847080CB04605 +:10527000080C13F5080431C001060006012601C61A +:1052800001D6013601460156080C2847080CB046E5 +:10529000080C2367080C13F5080431C0010600064A +:1052A000012601C601D6013601460156080C2847E1 +:1052B000080C2185080CB046080C13F5080431C011 +:1052C00001060006012601C601D601360146015637 +:1052D000080C2847080C2185080CB046080C2367E9 +:1052E000080C13F5080431C001060006012601C6AA +:1052F00001D6013601460156080C2847080CB04675 +:10530000080C13F5080C21AF04D80106000601268D +:1053100001C601D6013601460156080C2847080C83 +:10532000B046080C2367080C13F5080C21AF0440A5 +:1053300001060006012601C601D6013601460156C6 +:10534000080C2847080C2185080C13F5080CB046FA +:10535000080C21AF00A801060006012601C601D6EF +:10536000013601460156080C2847080C2185080C17 +:10537000B046080C2367080C13F5080C21AF000099 +:10538000015E014E013E01DE01CE012E000E010E36 +:10539000000D00B600C6002600469026080C6DE9F8 +:1053A0001904330072DC2001197F200490051110CC +:1053B000D29C0148D2841138D2BC19043300080CA5 +:1053C000330508043300D2CC19043300080C79CB20 +:1053D000112070AFFFFF08043300D294012070AF9A +:1053E000FFFF08043300080C358C0160080CDA4E0E +:1053F000012820011818203C0804327970AFFFFF03 +:105400000804330020011818203C7294D284090447 +:105410003279D28C19043279003673AC938EFFFF47 +:10542000111020190001831492E01D802C04938C2C +:10543000000101209084FF0080070010908400FF8D +:10544000970E0904326F908E00000904326F908E1F +:1054500000FF11607230D284190432747294C28DCC +:10546000729670AFFFFF003E080432792009180DD4 +:10547000210CD18C0150002620110010080C6E6602 +:10548000002E011870AFFFFF0488900E080C27440F +:10549000080C690515389006B8BB0520B8AC900516 +:1054A000014800C62060080C91C700CE090C954742 +:1054B000B8AF0000080C6E2B11687030D08C013032 +:1054C000B800D0BC0138080C6CAB0120080C331EAE +:1054D00001480028080C346F080C334A011883185F +:1054E0000804321373AE001070AFFFFF003E0804D3 +:1054F00033009780359D203D97BCFF00873F2041BA +:10550000007E70AC9096FFFF1118900E28A80050F6 +:10551000981202202008980220A8002070AFFFFFF8 +:10552000080433002700015600169106090432F5DD +:105530002001180D2004D08C0158002620110010E5 +:10554000080C6E66002E01202009FFFF080432FDC2 +:10555000C484080C69770168080CDA4E190432F526 +:10556000080C358C190432F5080C6905190432FD54 +:105570000008C485B8BB0520B8AC9005014800C63A +:105580002060080C91C700CE090C9547B8AF000009 +:10559000080C6E2B11307030D08C01F8B800D0BCE4 +:1055A00011E07294D28C0180080C6E2B9082000660 +:1055B00002E0D4841118080C69320028080C350266 +:1055C00001A0080C352D0088080C346F080CDA4E49 +:1055D0001160080C334A01880040080CDA4E11189B +:1055E000080C3502011004510140001E8108015EC3 +:1055F0001F04329270AFFFFF0018001E015E71AEF3 +:10560000004E002E00CE00BE000500C6001670AF92 +:1056100000012009007E080C69051168B81300FF1D +:10562000B817FFFE080C346F04A9012870DCC0BD58 +:1056300070DE080CD793001E00CE00050016007621 +:1056400000D600C62001184F2004908400FFB84205 +:10565000080CB4DD01D02B006012080CD7C0602309 +:1056600000019006080C68A220010000080C68B632 +:1056700001262091800070A8800070AA012E2009C8 +:105680000004080CB50A9085000100CE00DE007E03 +:10569000001E00050016007600D600C62001184F37 +:1056A0002004908400FFB842080CB4DD05482B00AC +:1056B0006012B800C0C4B802B8A09086007E014055 +:1056C000B804908400FF908600061110080C342462 +:1056D000080CD7C0602300019006080C68A22001C6 +:1056E0000002080C68B601262091800070A8800096 +:1056F00070AA012E20090002080CB50A908500014D +:1057000000CE00DE007E001E000500B600C60026AA +:1057100020090080080C69051140B81300FFB81774 +:10572000FFFC0039011070E3FFFF002E00CE00BE29 +:1057300000050016007600D600C6080CB4DD01D0C6 +:105740002B006012080CD7C0602300019006080CE3 +:1057500068A220010002080C68B601262091800092 +:1057600070E4800070E6012E20090002080CB50AE2 +:105770009085000100CE00DE007E001E000500C600 +:1057800000D60126209180002009007F080C6905C1 +:1057900011E0B81300FFB817FFFDB8D70004080CDC +:1057A000B4DD019883FF111870DCC0F570DE2B00AA +:1057B0006012631660230001620A080CD7C020093A +:1057C0000022080CB50A90850001012E00DE00CEF3 +:1057D000000500E600C600660036002600B621F08F +:1057E000080CAFDC0106080C9A60080C99CC080C78 +:1057F000AF2D080CC4E3010E090CAFF83E082130B0 +:1058000081FF012020A9007E900E001820A9007FB2 +:10581000900E0016080C6977114096860002111848 +:10582000B800D0BC1110080C6369001E81081F0469 +:10583000340996860001190C356000BE002E003E2A +:10584000006E00CE00EE000500E600C60046003601 +:105850000026001600B6080CAFDC010662102258C4 +:10586000BAA0002620190029080C9A550076203984 +:105870000000080C99122C08080CEC04007E001E95 +:10588000010E090CAFF8BA10BB14BC84080C636994 +:10589000BA12BB16BC8600BE001E002E003E004E93 +:1058A00000CE00EE000500E6000600B660102058AD +:1058B000B8A000BE9086008001502071180070A82A +:1058C00090050110800170AA000E00EE0005207105 +:1058D000180070E490050DC0800170E60CA8B800B7 +:1058E000C08CB802000500F600E600C600B600460F +:1058F00000360026001601562178080CAFDC0106A0 +:1059000081FF111820A900010078080C59F6D0C4B5 +:105910000140D0A40130900620202009002D080C61 +:10592000EF3B20A9080090160026928E007E090405 +:1059300034DE928E007F090434DE928E008005F002 +:1059400092881000210C81FF05C88FFF11502001A3 +:105950001991000620030001080C34EF000E20030B +:10596000000000B600C6215820010001080C6DF5AA +:1059700000CE00BE20190029080C9A550076203967 +:105980000000080C991200B600C600262158BA047F +:10599000929400FF928600061118B80704040028AC +:1059A0002001000480079215BA06002E00CE00BE2A +:1059B00000162C08080CEC04001E007E002E82103D +:1059C0001F043494010E090CAFF8015E001E002E76 +:1059D000003E004E00BE00CE00EE00FE0005004678 +:1059E00000260016080C59F6D0C40140D0A401309E +:1059F0009006222020090029080CEF3B001E002EF3 +:105A0000004E000500160026003600C6729482FF84 +:105A100001E8080C6E2311D02100080C277781FFC4 +:105A200001B820190001831492E01D802C04D38456 +:105A300001209084FF0080070010908400FF9116E1 +:105A40000138909600FF011083180C6890850001C2 +:105A500000CE003E002E001E0005001600C60126E6 +:105A600020918000080CAFDC0106003620190029C7 +:105A700000C1003E010E090CAFF891801000200417 +:105A800090650158001600C620611B4C001E611273 +:105A9000080C3424001E080C6932012E00CE001EB2 +:105AA0000005001600262110080CAAA6080CF2B06A +:105AB000002E001E0005200118372004D0CC000560 +:105AC00000C600B6080C79CB111820A908000010F8 +:105AD00020A90782080C79CB1110900E0010200924 +:105AE000007E918010002004905D013086FF01103F +:105AF000B800D0BC090C693281081F0435712061DF +:105B00001800607F00006080908400FF608260B3B6 +:105B1000000000BE00CE00052001186C2004D0BC9F +:105B200000052011184B2214D2EC0005002620118C +:105B3000186A2214D2DC002E00057EEF7DE87CE49A +:105B400080E27BE180E080DC80DA7AD980D680D583 +:105B500080D480D380D280D179CE78CD80CC80CBD8 +:105B600080CA80C980C780C677C576C380BC80BA2A +:105B700075B980B674B573B472B380B280B180AEBB +:105B800071AD80AC70AB6FAA6EA980A76DA66CA535 +:105B90006BA36A9F699E689D809B809867976690BB +:105BA000658F64886384628280818080617C607A92 +:105BB00080795F7680758074807380728071806E6A +:105BC0005E6D806C5D6B5C6A5B6980675A66596567 +:105BD0005863575C565A5559805680555454535300 +:105BE00052525151504E4F4D804C804B4E4A4D4970 +:105BF00080474C4680458043803C803A80398036DF +:105C00004B3580344A3349324831802E472D462C5B +:105C1000452B442A43294227802680254123401FC3 +:105C20003F1E3E1D3D1B3C18801780103B0F3A085D +:105C3000800439028001800080003800370036007F +:105C400080003500800080008000340080008000EB +:105C500080008000800080003300320080008000DF +:105C600080008000800080003100300080008000D3 +:105C70002F0080002E002D002C008000800080006E +:105C80002B0080002A002900280080002700260021 +:105C90002500240023002200800080002100200035 +:105CA0001F001E001D001C00800080001B001A0049 +:105CB000800019008000800080008000800080004B +:105CC0001800800017001600150080001400130053 +:105CD0001200110010000F00800080000E000D0067 +:105CE0000C000B000A00090080008000080007007B +:105CF0008000060080008000800005000400030092 +:105D00008000020080008000800001008000800090 +:105D10008000800080008000000080008000800003 +:105D20008000800080008000800080008000800073 +:105D300080008000800080008000207118A1700326 +:105D4000000290067016701A704A704E700E704203 +:105D50007046703B18BD703F18BD70070001080CFD +:105D6000107A090C0D8C2900706AA86B0002A8AF8C +:105D7000DCB0080C107A090C0D8C2900706EA86B31 +:105D80000002A8AFDCB00005207118A17004000269 +:105D900036CC36CD36E036F40005100436DD0E0480 +:105DA00036DD20790000012620918000700C9005DE +:105DB0001128700F0001012E04680005012E0CE867 +:105DC00020790000206118BB2C4CA870908E010037 +:105DD000012890860200090437C800057018204881 +:105DE00020611800701C080770142048A86890945F +:105DF00000FF929600291120AA7CD2FC0128000500 +:105E00009086010301080005207900002061180038 +:105E1000701C0807206118007880908A00401210DA +:105E200061D000422100908A003F1A0437C561D03A +:105E30000804375A379C37D437C537E037EA37F08C +:105E400037F438043808381E3824382A38353840B2 +:105E5000384F385E386C3883389E37C539493987B2 +:105E60003A283A393A5C37C537C537C53A943AB417 +:105E70003ABD3AE83AEE37C53B3437C537C537C582 +:105E800037C537C53B3F3B483B503B5237C537C50D +:105E900037C537C537C537C53B8237C537C537C561 +:105EA00037C537C53B9F3C2337C537C537C537C5D1 +:105EB00037C537C500023C4D3C503CAE3CC73CF7B3 +:105EC0003F9D37C555A637C537C537C537C537C513 +:105ED00037C537C537C5381E382444A05A1044BECC +:105EE00056355687579237C557F45830586159720E +:105EF000588E58F237C544C24688469E46C3472846 +:105F0000479C47BC4833488F48EB48EE49134A3515 +:105F10004A9E4AA64BDB4D764DAA500A37C55028FB +:105F200050F851E1523B37C552CE37C552E452FFCB +:105F30004AA65546714C000020214000080C4E2412 +:105F40000126209180000E0437A60010012E0CC0FF +:105F50007C369486400001187833001100107833A5 +:105F600000107C8279867A8A7B8E20914080200185 +:105F700000892004D084190C121C700700012091A4 +:105F80005000700F0000012E00052021400108B0D4 +:105F9000202140020898202140030880202140054C +:105FA000086820214006085020390001902E252045 +:105FB0007B887A8C7884799081FF0D9808044E3123 +:105FC00020390001902E25207B887A8C7884799066 +:105FD00008044E34798478882114200A0804379CF8 +:105FE000798421140804379C20E1000020990021C5 +:105FF00020E9000020A1002120A9001F400379848E +:106000007A887B8C0804379C788420600804385197 +:1060100020090003201100032019001C789B013780 +:106020007893FFFF200118922004900501187896BC +:106030000804379C789700010804379C2039000138 +:106040007D987C9C080437D8203900017D987C9C81 +:10605000080437E479A0918200400210080437D187 +:1060600021387D987C9C080437D879A09182004023 +:106070000210080437D121387D987C9C080437E44D +:1060800079A0918200400210080437D121E8798478 +:10609000788820A9000121A040040804379C2061D1 +:1060A0000800E10C90062C1592008C6081091DD827 +:1060B000201090050904379C080437CB79A0918201 +:1060C00000400210080437D121E020A900017984A2 +:1060D000219840120804379C2069184A78847990E6 +:1060E000911A1A0437D18019090437D1684A6942D4 +:1060F000788C6852788868569006685A685E080CF2 +:106100007D140804379C2069184A78847994911A80 +:106110001A0437D18019090437D1684E6946788C42 +:106120006862788868669006686A686E01262091C1 +:106130008000080C6F97012E0804379C902E2520B4 +:1061400081FF012020090001080437CE79847B8873 +:106150007A8C20A9000520E9000120A118A941019D +:10616000080C4DEC112020090002080437CE20094C +:106170000020A85C9080001AAF60080C4E31701FA0 +:1061800038C20005A8682008908400FF909600118E +:10619000016890960019015090960015013890966C +:1061A0000048012090960029190437CE810F918C68 +:1061B00000FF090437CE7112701080010560701263 +:1061C000080C4DEC112020090002080437CE2009EC +:1061D000002070682040A290A394A498A59C92905F +:1061E00000409399000094A1000095A90000A85CCC +:1061F0009080001AAF60080C4E31701F3900000506 +:10620000A868908400FF9096000201209096000AF2 +:10621000190437CE08880126209180007014204888 +:10622000A86CC0FDA86EA868908400FF9096002915 +:106230001148C2FDAA7E080C64B70138A87EA98661 +:10624000012E0060080C67F1113070070003701F09 +:10625000392E012E0005080C748D012E0126209187 +:10626000800020A9000520E10001209918A9400A1A +:10627000210092109399000094A1000095A90000BC +:10628000A85C9080001A20090020012EAF6008044D +:106290004E342091800078374000783300107883A6 +:1062A000400078874953788B5020788F2020200930 +:1062B000017F210478923F007896206101006200FE +:1062C00020610200603C80079205789A200904FD55 +:1062D0002104789E20915000209140802001008967 +:1062E0002004D084018020011A3820049005012860 +:1062F0002001008B2004D0FC0DD82001008A20034F +:10630000000220031001207100800804042781FF8F +:10631000190437CE7984080C6977190437D17E982F +:10632000968240001A0437D17C887D8C080C6BE182 +:10633000080C6B67151820611DDC01262091800078 +:1063400060009086000001486014904D0130A870F4 +:1063500094061118A87495060150012E9CE0001CAB +:106360002001181A20049C021A0437CE0C30080CA5 +:10637000CEC9012E090437CE0804379C900E2001A7 +:106380000005080C748D012620918000080CD63081 +:10639000080C7243012E0804379C00A62950B19CBA +:1063A000080C697719043A15B6A89682400016E8D9 +:1063B000B4A0B5A4080C6BE1080C6B671520206134 +:1063C0001DDC0126209180006000908600000148BD +:1063D0006014904D0130A87094061118A8749506A9 +:1063E0000158012E9CE0001C2001181A20049C0278 +:1063F0002009000D12B00C28080CCEC9012E20096E +:106400000003017800E0900E20010005080C748D57 +:10641000012620918000080CD630080C7237012E1E +:106420000070B09B4005B19E0010B09B4006900EDE +:1064300090850001200100302A4800AE0005B09B85 +:1064400040009006918D000120082A4800AE00050A +:1064500081FF190437CE080C4E03090437D1080C0C +:106460006A3E090437CE080C6BEB090437CE0804EA +:1064700047B381FF190437CE080C4E1B090437D1EE +:10648000080C6C79090437CE2019000579A8080C8E +:106490006BFA090437CE7888908A10001A0437D135 +:1064A0008003800B810B9108080C8C2979A8D1847A +:1064B0001904379C080447B301262091800081FF0E +:1064C0000118200900010450202907FF645C240002 +:1064D000950601F82508080C697711D8080C6C7925 +:1064E00011282009000262C0251800C020190004EC +:1064F000900E080C6BFA11182009000600787884B9 +:10650000908A100012708003800B810B9108080C98 +:106510008C2985291AE0012E0804379C012E0804D5 +:1065200037CE012E080437D1080C4E03090437D1A9 +:10653000080C6A3E090437CE080CAFDCBAA020195B +:10654000000500C69066080C9A550076903E080C2F +:106550009912900E080CEC04007E00CE080CAFF8E7 +:10656000080C6BE10804379C080C4E03090437D172 +:10657000080C6BE122080804379C015600D600E69F +:1065800000C62069191368106914910A1208900E48 +:1065900068169016901E207119EB702890650118EE +:1065A0008210600C0CD82300921800CE00EE00DEA2 +:1065B000015E0804379C0086904501400016900E4D +:1065C0008108A00090451DE02100001E008E0005FE +:1065D00020691913691062BC0804379C81FF0120EF +:1065E00020090001080437CE012620918000080C04 +:1065F0005A0A012820090007012E080437CE012E6F +:10660000615C9190359D2215929400FF637C83FF1D +:106610000108628067DC97C4000A98C6000A111856 +:106620002031000100E897C4002298C6002211180A +:106630002031000300A897C4001298C60012111858 +:10664000203100020068080C79CB111820310004B9 +:106650000038D79C012020090005080437CE903669 +:106660007E9A7F9E0804379C614C625020191989DC +:10667000231C2001198A2004789A0804379C0126DB +:10668000209180006138623C6340012E0804379CF1 +:10669000080C4E1B090437D1BA44BB380804379C98 +:1066A000080C0D8C080C4E1B2110090437D1B804BE +:1066B000908C00FF918E000601409084FF00908630 +:1066C000060020090009190437CE01262091800018 +:1066D0002019000500C69066080CAFDC080CAAA6BD +:1066E000080C9A550076903E080C9912900E080CF2 +:1066F000EC04007E00CE080CAFF8B8070407012EAA +:106700000804379C614C62507884604E7B886352E9 +:106710002069184A831F93056816788C20691989A7 +:106720002D1C206A7E98968200141210203107D00A +:106730002069198A2D04266A789A0804379C012654 +:106740002091800061387884603A910ED1B4190CA0 +:106750000EF3D0C401A800D678A8200919A0200AF9 +:1067600078AC201119A120122069010068389086A8 +:106770000007111822146A5A0010210C695A00DE11 +:106780007888D0EC01786034C08D603620010050EC +:106790006076607A6056606B269C00C620611B861E +:1067A000206200CE20110116220C7888D08C0118AE +:1067B000918D00400010918CFF7F21126134D18CAB +:1067C000200100000108603C7988613E6140910D24 +:1067D000788C60426234D28C01207A8892941000C6 +:1067E0009205910ED1E4190C0F0E90840020013017 +:1067F00078B4604690840001090C44A06040D0CC7D +:10680000012078B0201101142012012E0804379CB9 +:1068100000F6207918007A38A89C9084FEBF921563 +:10682000A8A09084FEBF8002921478389084014022 +:1068300092157A3AA89B4000900E908500012001A5 +:10684000000000FE00057898900501A87888902542 +:10685000090437D1788C902D090437D1900E080C9B +:1068600069771120BA44BB38BC46BD3A918607FF10 +:10687000019081080CA0080C4E1B090437D17888C0 +:10688000900D090437D1788C9005090437D1BA44AA +:10689000B946BB38B83A0804379C2011BC0900102F +:1068A0002011BC05080C5A0A190437CE00C6206115 +:1068B00001007984918600FF11302001181820040E +:1068C0009085FF0000889182007F16D89188359DC1 +:1068D000210D918C00FF200118182004002691162C +:1068E000002E0578810F9105012620918000000679 +:1068F000080CB417000E0508602E620A798400B6F1 +:10690000080C690B2B0800BE11F86112602300010E +:10691000080C4DEC01C89006A86A70070003A83265 +:10692000A86F8000701F3CA7290060162009003264 +:10693000080CB50A012E00CE0005012E00CE080479 +:1069400037CE00CE080437D1080CB46D0CB0A83097 +:1069500090860100090437CE0804379C20611A860E +:106960000126209180006000D084017061046208DB +:106970002061180063546074789A60C0789E60BC8F +:1069800078AA012E0804379C900E21100C8881FFF4 +:10699000190437CE080C79CB090437CE0126209193 +:1069A0008000625460749202024890850001080CD5 +:1069B00027AD080C5C28012E0804379C012E080422 +:1069C00037D10006001600C600E6200119AD207080 +:1069D0002061184A60082072900E20111400080CE3 +:1069E0009802720600EE00CE001E000E0005012681 +:1069F0002091800081FF0128012E2021400B0804F6 +:106A0000379E7884D0FC01582001002A200490058C +:106A10000180908200E10298012E080437D1200104 +:106A2000002A2004900501282069184A690891026B +:106A30001230012E080437D1012E080437CE080C7D +:106A4000B3950DD07884D0FC09043D7600C6080CBF +:106A50004DEC00CE0D88A86B00007884A80A7898C9 +:106A6000A80E789CA8122001002E2004A81A20014C +:106A7000002F2004A81E200100302004A82220019D +:106A800000312004A826200100342004A82A200177 +:106A900000352004A82E2001002A20049080000345 +:106AA000908400FC8004A816080C3F00092870148C +:106AB0002048AD2CAC28AB1CAA18A930A808D0B42B +:106AC000112020290000202100008906800680076F +:106AD00090BC003F9084FFC09080001C080C4E3199 +:106AE000701F3E3D70230001012E0005080CAFDC35 +:106AF00000460086009600A600B600C600D600E656 +:106B000000F6080C3CE1200119A32003000020211D +:106B1000000A206101006104001660BB000060BF34 +:106B200032E160BF0012080C3F6F080C3F2E00F6E8 +:106B300000E600862940207119EB2079009000D6EC +:106B4000206900006884D0B4014020010035200491 +:106B5000780E200100342004780A00DE20110001A4 +:106B6000080C42E4008E00EE00FE080C4206080C01 +:106B7000413305B82001020B2004908401401DB868 +:106B8000080C435800F62079030078BC00FE908C76 +:106B90000070156020710200703700007050908402 +:106BA000FF009086320015107037000170509084FD +:106BB000FF009086E10011D07037000070547037EC +:106BC0000000715C910611902001182020049106AC +:106BD000116800C620610100602490841E0000CE70 +:106BE0000138080C413D080C3F290058080C3F298A +:106BF000080C427C080C41FC2001020B2004D0E46C +:106C00000DD82001032A2003000420610100602721 +:106C10000002001E61062011020D2013002060BB3F +:106C2000000060BF010860BF001220010004200CBA +:106C3000918CFFFD2102080C137120090028080C1B +:106C400022BF20010227200C2102080CAFF800FE11 +:106C500000EE00DE00CE00BE00AE009E008E004EB4 +:106C6000200119A3200490051118012E0804379C57 +:106C7000012E2021400C0804379E00160026003605 +:106C80000046005600760086009600D60156701425 +:106C90002048702020A880007022A80490050904D4 +:106CA0003E9920481F043E4D70682040A290A39456 +:106CB000A498A59CA930A808D0B4112020290000D0 +:106CC00020210000009670142048A868009E90863D +:106CD0000103017089068006800790BC003F908404 +:106CE000FFC09080001C080C4E31701F3E3D00B06C +:106CF00089068006800790BC003F9084FFC090808A +:106D0000001C21A827E0209827E820A00006080CF6 +:106D10000FDE000E080C4E34701F3E3D015E00DE9B +:106D2000009E008E007E005E004E003E002E001E83 +:106D3000000570142048A868908601031118701F80 +:106D40003EFE045070142048A86CC0FDA86E2009B7 +:106D5000007F080C6905011090060030B81300FF91 +:106D6000B817FFFD080CD813015E00DE009E008EF0 +:106D7000007E005E004E003E002E001E090437CE4D +:106D80000016002600360046005600760086009663 +:106D900000D60156701F3ED07007000308043E8ED7 +:106DA000A830908601002021400C0904379E00760F +:106DB000AD10AC0CAB24AA20A930A808D0B4112087 +:106DC000202900002021000089068006800790BC51 +:106DD000003F9084FFC09080001C21A827E02098ED +:106DE00027E820A00006080C0FDE000E080C4E3429 +:106DF000007E701F3E3D7023000100050804379C93 +:106E0000015600C6A814908A001E0218A833001E5E +:106E10000010A832007881FF01680016080C4DECC4 +:106E2000001E0130A8002040A008A80A21000C582C +:106E3000900600109085000100CE015E000500065E +:106E400000F62079000078809086004400FE000E55 +:106E50000005200119A320030001000500F600E64B +:106E600000C620610200200119AE2004601A2061D2 +:106E70000100200119AD200460CE6104C1AC61069F +:106E8000080C4DECA813001AA81700012900A85AF5 +:106E90002001002E2004A86A2001002F2004A86EE3 +:106EA0002061009020790100200119AD2004603696 +:106EB00020090040080C22BF2001002A20049084F1 +:106EC000FFF8A872601AA8770000601F000078CA57 +:106ED0009006600A600E00CE00EE00FE000500E69F +:106EE000080C4DEC2940A013001AA017000128003F +:106EF000A05A200100302004A86A2001003120049B +:106F0000A86E2001002A20049084FFF8A872A877B8 +:106F100000002001032A20030004200103002003B5 +:106F200000002001020D2003000020010004200CBD +:106F3000918D0002210200EE0005012620918000C3 +:106F400081FF0148080C2B3811309006080C2A826A +:106F50009006080C2A65200119A2200300007884FD +:106F60009084000700023FBE3FBF3FC03FBB3FBB16 +:106F70003FBB3FBB3FBB012E080437D10CE00CD810 +:106F8000080C79CB1128012E20090016080437CEF1 +:106F900081FF0128012E2021400B0804379E20018B +:106FA00001412004D0DC0DB0080CAFDC0086009657 +:106FB00000A600B600C600D600E600F6080C3CE1CC +:106FC00020090101210C00167EC87DCC90062068A6 +:106FD00020602058080C4433080C4383903E27203F +:106FE00000F600E600862940207119EB2079009018 +:106FF00000D6206900006884D0B4012068D4780EDF +:1070000068D0780A00DE20110001080C42E4080C68 +:107010002B40080C2B40080C2B40080C2B40080C74 +:1070200042E4008E00EE00FE080C420620099C405F +:10703000810911B0080C413D20010004200C918C05 +:10704000FFFD2102001E00FE00EE00DE00CE00BEAD +:1070500000AE009E008E20090017080C37CE0CF8F9 +:107060002001020B2004908401401D1000F62079BD +:107070000000788400FED0BC017820010201200CC1 +:1070800081FF0150080C41E42D009C059B05012067 +:10709000080C413D080440E6080C4358080C427CAB +:1070A000080C41C7080C41FC00F620790100782447 +:1070B000D0AC01308B58080C413D00FE080440E67E +:1070C00000FE080C413311508D6820010032260269 +:1070D000200100332502080C413D008087FF013864 +:1070E0002001020120049005190887390038200189 +:1070F0001A81200490860000190440362001032FD5 +:10710000200300F68631120885292500960509041A +:1071100040E67884D0BC01282D009C059B0519040D +:1071200040E6A013001A2001032A200300047884FB +:10713000D0AC114820011A81200300032001032A4A +:10714000200300090030A017000178B49005010861 +:10715000A0162800A05A20090040080C22BF2900D0 +:10716000A85AA813001A7884D0A41180A817000088 +:1071700000C620A9000420610090602B00082001B7 +:10718000020320041F0440BD00CE0030A8170001F8 +:1071900078B090050108A81600F600C62079010015 +:1071A00020610090782700022001002A20049084AA +:1071B000FFF8601A00062001002B2004601E78C62C +:1071C000000E78CA00CE00FE08043FF0001E00C684 +:1071D0002001032A2003000420610100602700022F +:1071E00061062011020D2013002020010004200C54 +:1071F000918CFFFD2102080C1371788490840003A8 +:107200009086000201B020090028080C22BF20014E +:107210000227200C210260509084B7FF080C2BEA53 +:107220006052602F0000604BF7F7604300906043AE +:107230000010080CAFF800CE2D082C102B182B00D6 +:107240009C059D0500FE00EE00DE00CE00BE00AEF7 +:10725000009E008E1118012E0804379C012E20215B +:10726000400C0804379E908500011D04413C20918C +:10727000600084209486006400052001010520033D +:1072800000102001032A2003000420011A8120039A +:107290000000007120090048080C22BF20010227CD +:1072A000202424022001010920034000902600052B +:1072B00000F600E6207119EB70549086000005205E +:1072C0002079009020090206210420090203210CE4 +:1072D0009106112020090040080C22BF782CD0FC18 +:1072E0000D88080C43587054908600001D58782B68 +:1072F0000004782CD0AC1DE820090040080C22BF07 +:10730000782B00027057000000EE00FE000500F62A +:107310002079010020011818200C79327936080CE8 +:10732000278D080C2BB7080C2BEA784BF7F778431E +:107330000090784300107850C0E57852201961A879 +:107340007820D09C011083191DD87850C0E4785261 +:1073500020110048080C2B9478430040201901F4B8 +:10736000A001A00183191DE020010100080C2B5A87 +:1073700020110020080C2B94784300009006080C84 +:107380002B5A20110048080C2B9400FE000578842D +:10739000D0AC11C800F600E620711A8120790320D4 +:1073A0002001020120049005016070009086000019 +:1073B00011400051D0BC0108873870030003782BBE +:1073C000001900EE00FE000500F62079030078BCED +:1073D00000FE908C0070017820090032260A2009F6 +:1073E0000033250AD0B401088C60D0AC01088D6848 +:1073F000D0A401088B58000500F620790200781C03 +:10740000D08401107837005000FE000500E620719E +:107410000100200119AE200470E2080C3F1F118802 +:107420002001182020042009181F210C918C00FF36 +:10743000706E716A7066918D320071627073E109CD +:107440000080702C90850002702E20091818210CE5 +:10745000716E706301007166719E706B00007073D5 +:10746000080970770008707890800100707A708049 +:10747000800070827087AAAA9006708A708E707ED3 +:1074800070D670AB003670AF95D5701490841984A7 +:10749000908500927016080C435800F620711A81EE +:1074A0002079032000D6206900006884D0B4012030 +:1074B000689C780E6898780A00DE080C3F1F01402F +:1074C000200119A2200C20030001918E000101204F +:1074D000200903E881091DF0792CD1FC0110782BDB +:1074E000000420110011080C42E420110001080CD6 +:1074F00042E400FE00EE000500F600E620711A816D +:1075000020790320792CD1FC090442E1782B000278 +:107510009026D19C190442DD7000000242E14292A3 +:1075200042C242DDD1BC1170D1DC119080017002E9 +:1075300020110001080C42E4090442E1080C42E475 +:10754000080442E100F62079030078BF000000FE45 +:1075500078107914782B0004781279162001020132 +:10756000200C81FF0DE8080C41E42009000100F621 +:107570002079030078B800FED0EC0110200900113A +:10758000792A00F880017002918408801140782CDB +:10759000D0FC190442862011000100B10090A01017 +:1075A00090920004908600161120A000A05A20118D +:1075B0000032A212D1DC19600828782B0004700375 +:1075C000000000EE00FE0005A014900505508001AB +:1075D00000360096A016A0582048A01020090032BE +:1075E000911A831C831C938A00071A0C0D8C9398A4 +:1075F0004312231D083F908000047A2A71008108FD +:107600007102009E003E908A003611400096A058FC +:107610002048A804A05A2001001A009EA0129085BC +:1076200000010005434F4346433D4334432B43226F +:107630004319A9687902A96C7906A9707912A9740D +:1076400079160005A9787902A97C7906A9807912B2 +:10765000A98479160005A9887902A98C7906A990D0 +:107660007912A99479160005A9987902A99C79063E +:10767000A9A07912A9A479160005A9A87902A9AC34 +:107680007906A9B07912A9B479160005A9B87902CA +:10769000A9BC7906A9C07912A9C479160005A9C8A0 +:1076A0007902A9CC7906A9D07912A9D47916000556 +:1076B00000F600E60086207119EB20790090792C05 +:1076C000D1FC01E8782B000229409026705400027A +:1076D000437F436B437680017056D19C118020110B +:1076E0000001080C42E4190C42E400488001705685 +:1076F000782CD0FC1D3820110001080C42E4008ECB +:1077000000EE00FE000500F600E600C600862061DF +:107710000200200119AE2004601A2061010020013E +:1077200019AD200460CE6104C1AC61062001002CBB +:1077300020049005052020382001002E202420015F +:10774000002F201C080C4DECA813001AAF162900BE +:10775000A85A978A00070220213820090007001044 +:107760002708903E0096A8582048A85C9080001AF0 +:10777000009E080C43FB1D682900A85A00D0080C85 +:107780004DECA813001AA81700012900A85A2001DF +:10779000002E2004A86A2001002F2004A86E2001DA +:1077A000002A20049084FFF8A8722001002B2004F6 +:1077B000A8762061009020790100200119AD2004F5 +:1077C000603620090040080C22BF2001002A200456 +:1077D0009084FFF8601A00062001002B2004601E30 +:1077E00078C6000E78CA9006600A600E008E00CE41 +:1077F00000EE00FE000500E620710080AA6022E88D +:1078000020A020E1000020990088702B002674023F +:1078100073069006700A700E810B810B21A8810BF4 +:107820007112702B0041702CD0FC0DE8702B0002FF +:10783000702B004040057400730487FF01900086A0 +:10784000009629400086080C4DEC008EA05800A63A +:1078500020502900B006A05A00AE009E008E9085F0 +:10786000000100EE000500E62001002D2004900537 +:107870000528203820010030202420010031201C60 +:10788000080C4DEC2940A813001AAF162900A85A7D +:10789000978A0007022021382009000700102708D6 +:1078A000903E0096A8582048A85C9080001A009E40 +:1078B000080C43FB1D682900A85A00D8080C4DECA1 +:1078C0002940A013001AA01700012800A05A200187 +:1078D00000302004A06A200100312004A06E2001A5 +:1078E000002A20049084FFF8A0722001002B2004BD +:1078F000A0762001032A200300047884D0AC1180F4 +:1079000020010101200C918D02002102A01700002E +:1079100020011A81200300032001032A200300090B +:1079200020010300200300002001020D20030000BD +:1079300020010004200C918D0002210200EE0005C0 +:1079400001262091800020A9000A20A1184020E9EA +:1079500000019006400420A9001420A1FFEC20E9BA +:107960000000900640042009013C200A012E788086 +:1079700090860052010800050804379C7D987C9C85 +:10798000080438A0080C79CB190C6314604090846B +:10799000002009B12069184A2D00200900307A8C96 +:1079A0007B887C9C7D9820390001080C4E31701F2B +:1079B00044DA0005080C5A0511303B003A08C1941E +:1079C000C09520D821D02069184A68009005090484 +:1079D00037D12001180D2004D08C68040118C0A4F0 +:1079E000C0AC6806D0AC0118D0A4090437D1D0943B +:1079F00000C6206101006104013862009292000516 +:107A00000218918CFFDF0010918D0020610600CEDE +:107A1000D08C00C62061010061040118918D001016 +:107A20000010918CFFEF610600CED08401586A28C7 +:107A3000928A007F1A0437D19288359D210D918C4E +:107A400000FF6166D0DC01306828908A007F1A044C +:107A500037D1605E688890840030800480048004A0 +:107A600080040006200919B5908028882005200A86 +:107A7000200820010018080CAFCD20090390200B2E +:107A80000400000E200919B69080288C2005200AD9 +:107A90006808908A01000A0437D1908A08411A04C4 +:107AA00037D190840007190437D1680C9005090478 +:107AB00037D168109005090437D168486940910AA8 +:107AC0001A0437D18001090437D1684C6944910AFE +:107AD0001A0437D18001090437D16814908C00FF53 +:107AE000614E8007908400FF6052080C7D14080CE2 +:107AF0006F2D080C6F976808602A080C222D20094A +:107B00000170200B0080A001A001200B00000036B6 +:107B10006B08080C27E7003E6000908600001904FF +:107B200046766818691C6A206B248007810F8217CB +:107B3000831F6016611A621E63226C04D4F401482C +:107B4000683069346A386B3C8007810F8217831F65 +:107B500000109084F0FF6006610A620E63128007D5 +:107B6000810F8217831F20A9000420A119B720E9E3 +:107B70000001400120A9000420A119D120E9000141 +:107B80004001080C8DFA00C6900E20A900016B7010 +:107B9000D38401C80020839D12B035088109080CE8 +:107BA000832B68786016687420089084FF00800733 +:107BB000600A918400FF60068108111860030003C9 +:107BC0000010600300011F0445CB00CE00C62061F9 +:107BD000199F2001180D2004D08C11A86A88928466 +:107BE000C000201092860000115820630000200180 +:107BF0000001080C2A8220010001080C2A65008877 +:107C0000928640001148206300019006080C2A82E9 +:107C10009006080C2A650028928680001D3020639B +:107C2000000200CE00E62C70080C0EDB00EE080C03 +:107C30002BB7080C2BEA6888D0EC01302011011416 +:107C400022049085018020126A8092840030908600 +:107C5000003011289294FFCF929500206A82200173 +:107C6000197F6A8092940030928E00000170928E8B +:107C700000100118928E002001402003AAAA080CCF +:107C8000285C2001197021020008210200C6206131 +:107C90000100602F0040602F000000CE080C79CB5F +:107CA0000128080C52D80110080C27AD60D49005AB +:107CB00001C0600300012009465E00E0080C79CB9A +:107CC00011682011783F080C8C1B20117832080CA9 +:107CD0008D73080C7CE8080C78FA0040080C6208E8 +:107CE000002860030004200946760020080C6D8DF2 +:107CF0000804379C200101702004908400FF9086C6 +:107D0000004C1118209131BD08172091313D081702 +:107D1000600090860000090437CE2069184A7890E8 +:107D20006842789468462D00200900307A8C7B8860 +:107D30007C9C7D982039000108044E349006080C84 +:107D400027AD81FF190437CE080C79CB11B0080C90 +:107D50007CE3080C634F080C359101186130C18D2C +:107D60006132080CDA4E0130080C79EE1118080C5B +:107D7000799F0038080C78FA0020080C6314080C6E +:107D800062080804379C81FF190437CE080C79CBB0 +:107D90001110080437CE012620918000619481FFE4 +:107DA0000190704F000020011D80200900407A8C56 +:107DB0007B887C9C7D9820390001080C4E34701F14 +:107DC000379A012E0005704F000100D620691D80F2 +:107DD00020A9004020E9000120A11D802019FFFFFB +:107DE0004304655C9588359D210D918C00FF216AC7 +:107DF000900E201100022100950601A8080C697759 +:107E00001190B814821C023893981D809085FF0051 +:107E10008007201A003893981D80232494A4FF0023 +:107E20009405201A821081089182008012080C1893 +:107E3000820180072D0C9105206A00DE20A90040F8 +:107E400020A11D8020991D80080C629F080446D344 +:107E5000080C4E1B090437D1080C4DEC11202009E9 +:107E60000002080437CE080C59F6D0B405587884BF +:107E7000908E007E0538908E007F0520908E0080C9 +:107E80000508080C358C1148B800D08C11D8B804FE +:107E9000908400FF9086000611A8A86B0000A86CD3 +:107EA000C0FDA86E080CD4FB1120200900030804B3 +:107EB00037CE70070003701F475E0005080C4E1B8D +:107EC000090437D120A9002BB8C420E0B8C82098F5 +:107ED000A86020E8A85C9080000220A0400320A9B0 +:107EE00000089080000620A0B8C420E0B8C89080A8 +:107EF00000062098080C0FDE007020A90004A85C82 +:107F00009080000A20A0B8C420E0B8C89080000A81 +:107F10002098080C0FDE89068006800790BC003F81 +:107F20009084FFC0908000022009002B7A8C7B880F +:107F30007C9C7D9808044E3481FF190437CE080CD0 +:107F40004E03090437D1080C6BF0090437CE0058F2 +:107F5000A87C9005012020090004080437CEA978E8 +:107F6000AA980804379C080C59FE0904379C701F16 +:107F700047A870070003000581FF190437CE7888F1 +:107F8000908A10001A0437D1080C4E1B090437D10F +:107F9000080C6E2B0120080C6E33190437D1080C25 +:107FA0006C79090437CE20190004900E080C6BFA86 +:107FB000090437CE79847A8804C908A8A8A0908AD1 +:107FC000100012F8080C4E1901E0080C6E2B011875 +:107FD000080C6E3311B0080C6C792009000201689E +:107FE0002009000220190004080C6BFA2009000384 +:107FF0000120A99CAAA000D10060A89B4005A99ED1 +:108000000010A89B4006900E9085000120010030D2 +:108010000005A89B4000080C59FE011090060018AE +:10802000900E90850001200100000005918600FF60 +:108030000110007100602029007E20611800645C3E +:108040002400950601102508001985291EC8000581 +:10805000080C6977113822008003800B810B91088E +:10806000080C8C29000581FF190437CE798C20017A +:108070001983918C80002102080C4E03090437D12A +:10808000080C6E2B0120080C6E33190437D1080C34 +:108090006A3E090437CE080C6BF5090437CE20017F +:1080A00019832004D0FC1904379C080447B3A9A401 +:1080B00020011983918C8000C18D2102080C4E0E85 +:1080C00001A0080C6E2B0118080C6E331170080CFF +:1080D0006A3E200900020128080C6BF51170200986 +:1080E0000003A89B4005A99E0010A89B4006900E87 +:1080F00090850001200100300005A89B4000200170 +:1081000019832004D0FC1128080C59FE0110900698 +:108110000018900E9085000120010000000581FFED +:10812000190437CE798C20011982918C80002102AC +:10813000080C4E03090437D1080C6E2B0120080CE3 +:108140006E33190437D1080C6A3E090437CE080C87 +:108150006BEB090437CE200119822004D0FC1904EE +:10816000379C080447B3A9A420011982918C800090 +:10817000C18D2102080C4E0E01A0080C6E2B0118B7 +:10818000080C6E331170080C6A3E200900020128A9 +:10819000080C6BEB117020090003A89B4005A99EF9 +:1081A0000010A89B4006900E908500012001003031 +:1081B0000005A89B4000200119822004D0FC112852 +:1081C000080C59FE011090060018900E90850001D1 +:1081D00020010000000561000804379C080C4E1BBC +:1081E000090437D1080C5A0A190437CE79A8D1846A +:1081F0001158B8348007789EB8308007789ABB2C25 +:10820000831FBA2882170050B8248007789EB820B0 +:108210008007789ABB1C831FBA188217B900918C0B +:1082200002020804379C78A8909C0003D0AC11503F +:10823000D0B41140939A00031A0437CE625C78845C +:10824000920615D8080C8DE42001FFEC2009000CE3 +:108250007A8C7B887C9C7D9820390000000678A869 +:108260009084008011A80126209180000036200112 +:108270001847201C7BB62003000020011848201C52 +:108280007BBA20030000003E012E000E08044E348D +:10829000000E20310000206118BB2C44A66EA17E88 +:1082A000A776A07AA292A396A49AA59E080C116A1A +:1082B00070070002701F497D000581FF190437CE49 +:1082C000080C4E1B090437D1080C6E2B190437CE4D +:1082D00000C6080C4DEC00CE090437CEA86B000098 +:1082E000A86CC0FDA86E7EA8080CD4A1090437CEE6 +:1082F00070070003701F499500050126209180003A +:108300000006003620011847201C7BB62003000021 +:1083100020011848201C7BBA20030000003E000EFC +:10832000012E080C44A00804379CA8309086010058 +:10833000090437CE89068006800790BC003F9084F0 +:10834000FFC09080001C2009000C7A8C7B887C9CEC +:108350007D9808044E34A8B4909C0003D0AC115012 +:10836000D0B41140939A00031A0449F8625CA89CA7 +:10837000920611B0080C8DE42001FFEC2009000CDE +:10838000AAA4ABA0ACACADA82031000020390000FD +:10839000204112C6080CB9ED15282009000204205E +:1083A000A99C080C697701182009000A0408080C28 +:1083B0006E2B2009000911C00096080C10611120D5 +:1083C000009E2009000200802900009EA806A86CDB +:1083D000C0FCA86EAEB496B4000B080CD4A1200962 +:1083E0000003011090060005A89B4005A99E0010FF +:1083F000A89B4006900E90850001200100300005EA +:10840000A87F0000A8870000A89B400001262091BB +:1084100080000006003620011847201CABC2200354 +:10842000000020011848201CABC620030000003EBD +:10843000000E012EA8B4D0BC01B801262091800006 +:1084400020A9000A20A1184020E90001900640045C +:1084500020A9001420A1FFEC20E9000090064004B0 +:108460002009013C200A012E00059006080C27ADCA +:1084700078A8908400FF908600FF011881FF1904FE +:1084800037CE080C79CB190C63147888908A1000C9 +:108490001A0437D17984918600FF01389182007FD8 +:1084A0001A0437D12100080C2777002600C60126C0 +:1084B0002091800020611A17601B0000601F0000DF +:1084C000607B0000607F0000080C79CB1158080C1D +:1084D0007CE3080C634F90850001080C7A0F080CB0 +:1084E00078FA00F0080CAFDC080CB39C080CAFF86D +:1084F00020610100200118182004908400FF810FE2 +:108500009105604A60430090604300102009199C67 +:10851000200B00002009002D20116238080C8D313D +:108520007984080C79CB1110200900FF7A88080C97 +:108530004816012E00CE002E0804379C7984080CC2 +:1085400069052B08190437D10804379C81FF0120E5 +:1085500020090001080437CE60DCD0AC1130D09C7B +:10856000112020090005080437CE080C4DEC11201D +:1085700020090002080437CE798481FF090437D12D +:10858000919200211A0437D17A8C7B887C9C7D984B +:10859000A85C9080001A702AAF607736080C4E31C4 +:1085A000701F4AD978809086006E0110701F548A1F +:1085B000000520090080080C69771118080C6E2B43 +:1085C00001202021400A0804379E00D60096A968A1 +:1085D000AA70AB74AC78AD7CAE80A88890BE010068 +:1085E00009044B7290BE011209044B7290BE011334 +:1085F00009044B7290BE011409044B7290BE01171E +:1086000009044B7290BE011A09044B7290BE011C02 +:1086100009044B7290BE012109044B5990BE0131EF +:1086200009044B5990BE017109044B7290BE01734D +:1086300009044B7290BE01A11128A8988007A89A3E +:1086400008044B7D90BE021209044B6690BE0213D3 +:1086500005E890BE0214050090BE0217018890BE86 +:10866000021A1120A8A08007A8A204E090BE021F51 +:1086700005C890BE030005B0009E00DE080437D197 +:10868000702890800010209820A0703420E020E80E +:1086900020A90007080C4BBB70289080000E209882 +:1086A00020A0703420E020E820A90001080C4BBB7A +:1086B00000C870289080000C209820A0703420E022 +:1086C00020E820A90001080C4BC800B87028908051 +:1086D000000E209820A0703420E020E820A900019E +:1086E000080C4BC870289080000C209820A0703493 +:1086F00020E020E820A9000104F100C6080C4DECA0 +:108700000550A86CC0FDA86EA86B01199006A8863C +:10871000A8830020A88F0001810BA9B2A8B6AABA2D +:10872000ABBEACC2ADC6A9CAA8CE00CE009E00DECC +:10873000A86AA822A86CC0FDA86EA8042048080C4E +:10874000D4BC112020090003080437CE70070003B1 +:10875000701F4BB2000500CE009E00DE2009000213 +:10876000080437CEA820908680011904379C200980 +:108770000004080437CE00160026351020A9000298 +:1087800040024104400482111DC8002E001E000555 +:108790000016002600360046352020A900044002BD +:1087A000430442044104400484211DB8004E003EAD +:1087B000002E001E000581FF012020090001080491 +:1087C00037CE60DCD0AC11882009180D210CD18C7B +:1087D0000130D09C012020090016080437CED09C1F +:1087E000112020090005080437CE798478A820409C +:1087F000080CB39511209182007F0A0437D191862D +:1088000000FF090437D1918208001A0437D17A8C0D +:108810007B88607C930611586080924E090437D1A2 +:10882000080CB395112099CCFF00090437D101261B +:10883000209180002001180D2004D08C019893868F +:1088400000FF0180002620118008080C6E66002EB3 +:108850000148918D8000080C6EB011202001400964 +:1088600008044C72080C4CFF09044C78008690C632 +:108870004000008E150000C600060036B818BB1C6C +:108880009305BB209305BB249305BB289305BB2C04 +:108890009305BB309305BB349305003E0538D88C57 +:1088A0001128080C6E2B0110C89D0400080C6CAE3A +:1088B000000E00CE00B890C64007111024080090AA +:1088C00090C64008111827082610006090C640097D +:1088D0001108004090C64006110800202001400504 +:1088E0002009000A2020012E0804379E000E00CE29 +:1088F0002B007026001600B600C600E62C70080C8F +:10890000B4DD09044CCD2B006012080CD7C02E58E2 +:1089100000EE00E600C6080C4DEC00CE2B7011589E +:10892000080CB46D00EE00CE00BE001E012E200922 +:108930000002080437CE900EA96AA96E29006016BD +:10894000A932A86CC0FDD88C0108C0F5A86ED89CCF +:108950001110080C3424602300019006080C68A252 +:10896000D89C013820010004080C68B620090003D7 +:10897000003020010002080C68B620090002080C33 +:10898000B50A78A8D094013800EE702400E620588B +:10899000B8D4C08DB8D69085000100EE00CE00BEE0 +:1089A000001E012E112020090003080437CE700795 +:1089B0000003701F4CDC0005A8302009180D210CA5 +:1089C000D18C01402008918EDEAD1120202140097C +:1089D0000804379E90860100702420581138200921 +:1089E0000004BA04929400FF08045940900EA86C49 +:1089F000D0F41904379C080C6CAE0804379C00E6D0 +:108A000000D6009683FF09044D4E902E080CB395B6 +:108A10000130902620A9080020711000003020218C +:108A2000007F20A907812071107F2E04900511B8C6 +:108A30002100940619044D5F242894CE007F112054 +:108A400092CEFFFD1558003094CE0080113092CEAA +:108A5000FFFC152093CE00FF1508C5FD04802058AB +:108A6000BF102700930611E8BE142600920611C815 +:108A7000240091061180D8840598D8941588080C94 +:108A80006DCB1570200140000460080C6E2B154062 +:108A90002001400004302001400704182001400656 +:108AA0000400240091061158BE1487FF112886FF88 +:108AB0000918080CB3951900200140080090842083 +:108AC0008E701F044D1585FF1130200140090048AC +:108AD000200100010030080C69051DD0BB12BA1638 +:108AE00090069005009E00DE00EE000581FF01204B +:108AF00020090001080437CE080C4DEC1120200994 +:108B00000002080437CEA86B0000A86CC0FDA86E58 +:108B100078849005090437D1909600FF0120909247 +:108B200000041A0437D120102918080C33BF112073 +:108B300020090003080437CE70070003701F4DA101 +:108B40000005A830908601001904379C2009000414 +:108B5000080437CE7984080CB39511209182007FE8 +:108B60000A0437D1918600FF090437D191820800A9 +:108B70001A0437D120019400080C599B190437CEF0 +:108B80000804379CA99C080CB39511189182007FAA +:108B90000280918600FF0168918208001250200136 +:108BA0009400080C599B11A80060A89B4005A99E41 +:108BB0000010A89B4006900E908500012001003017 +:108BC0000005A89B4000900E908500012001000048 +:108BD00000052009000A0C48080C10610198900655 +:108BE000A80270149005112029007016701A004018 +:108BF0007018A802008620402900A006701A008E76 +:108C00009085000100057984080C697711207E8821 +:108C1000968240000208905E8BFF0005A99C080C1C +:108C200069771120AEA0968240000208905E8BFF0B +:108C30000005AE9C00087E842608080C69771108A0 +:108C40000008905E8BFF00050016711481FF01285B +:108C50002148A904080C10930CC87116711A001E43 +:108C6000000520310001001020310000206118BBF8 +:108C70002C44A66EA17EA776A07AA292A396A49A6F +:108C8000A59E080C116A70070002701F379C000532 +:108C900000F601262091800020790000200118B301 +:108CA0002004900511900E044E657A367833001238 +:108CB0007A827B867C8A2091408020010089200472 +:108CC000D084190C121C08044ECB001600860096A6 +:108CD00000C600E6207118A1704490051540714847 +:108CE00091820010028870382060080C106109041D +:108CF0004EC3A84B0000290070462001000290805E +:108D00001F5C2005A8460098703890E00004200100 +:108D100018BD9C8218FD0210206118BD2C00703A0D +:108D2000714881FF1108703E8108714A04607148E2 +:108D30008108714A70442040A14421050016908AA0 +:108D400000371A0C0D8C2060001E8108210590054B +:108D5000A1461520080C106111308109A9467148FF +:108D60008109714A00D89006A806A84AA0462800A2 +:108D7000A8022900A00670462001000290801F5C16 +:108D80002005A846005822626306640A00EE00CE61 +:108D9000009E008E001E012E00FE00052C00908219 +:108DA000001C00024EED4EED4EEF4EED4EED4EED41 +:108DB0004EF34EED4EED4EED4EF74EED4EED4EEDCB +:108DC0004EFB4EED4EED4EED4EFF4EED4EED4EEDAB +:108DD0004F034EED4EED4EED4F08080C0D8CA27A70 +:108DE000A37EA4820898A28AA38EA4920878A29A4D +:108DF000A39EA4A20858A2AAA3AEA4B20838A2BAFD +:108E0000A3BEA4C20818A2CAA3CEA4D208044EC608 +:108E1000A2DAA3DEA4E208044EC600E6207118A17F +:108E20007048900509044F9F0126209180000E0490 +:108E30004F9E00F62079000000C60096008600765E +:108E4000900620387040204890050500A94821056B +:108E50000016908A00371A0C0D8C2060001E8108C5 +:108E600021059005A94A19044FA1A8049005090CF1 +:108E70000D8C704229382040A00300002001000220 +:108E800090801F5C2005A04A08044FA1703C206020 +:108E90002C1463046408650C2200783678330012C1 +:108EA0007882230078862400788A209140802001EF +:108EB00000892004D084190C121C87FF0118274850 +:108EC000080C109370488001704A90051170704032 +:108ED000204890050128080C1093900670427046B7 +:108EE000703B18BD703F18BD0420704090051508F8 +:108EF00072382C00920601489C80000490FA18FDFC +:108F00000210200118BD703E00A09006703E703A1D +:108F100070449005090C0D8C2048A80090051DE0B8 +:108F2000290070422001000290801F5C2005A84AA1 +:108F30000000007E008E009E00CE00FE012E00EE9E +:108F400000052C009082001C00024FC04FC04FC291 +:108F50004FC04FC04FC04FC74FC04FC04FC04FCC86 +:108F60004FC04FC04FC04FD14FC04FC04FC04FD662 +:108F70004FC04FC04FC04FDB4FC04FC04FC04FE03E +:108F8000080C0D8CAA78AB7CAC8008044F4CAA88E6 +:108F9000AB8CAC9008044F4CAA98AB9CACA00804D6 +:108FA0004F4CAAA8ABACACB008044F4CAAB8ABBCB1 +:108FB000ACC008044F4CAAC8ABCCACD008044F4C92 +:108FC000AAD8ABDCACE008044F4C001600260036F3 +:108FD00000B600C62009007E080C69772019000140 +:108FE000B85CD0AC0110201900002011801B080CC7 +:108FF0004E4800CE00BE003E002E001E000500269A +:10900000080C59F6D0C4012020118014080C4E48D9 +:10901000002E000581FF190437CE01262091800023 +:109020006030C08DC085C0AC6032080C79CB11585F +:10903000080C7CE3080C634F90850001080C7A0F44 +:10904000080C78FA0010080C6208012E0804379CFE +:1090500081FF012020090001080437CE080C5A0ABC +:10906000012020090007080437CE080C6E230120D8 +:1090700020090008080437CE2001180D2004D08CE8 +:109080000178002620110010080C6E66002E0140A9 +:109090007984080C6EB0112020094009080437CEED +:1090A0007984080C6905190437D1080C4E1B090492 +:1090B00037D12B007026080C6E2B788811389084DD +:1090C00000051120080C6CAE0804379C080C4DEC10 +:1090D000090437CE9006A86AA832A86CC0FDA86E15 +:1090E000080CD563090437CE7888D0940118B8D419 +:1090F000C08DB8D670070003701F50DF00052061D7 +:109100001800080C5A0A200900071528080C6E23BD +:1091100001182009000800F8A99C080C690511F83D +:10912000080C4E1901E0080C6E2BA8A01130908499 +:1091300000051118080C6CAE00D0A86CC0FCA86E1D +:10914000080CD56311E8A8A0D0940118B8D4C08D3C +:10915000B8D620090003A89B4005A99E0010A89B33 +:109160004006900E90850001200100300005A89B6C +:109170004000A99E00399006918D0001200800054D +:109180009006000520A90004A86020E8A85C908053 +:10919000003220A0B8C420E0B8C890800006209813 +:1091A000080C0FDE20A90004A85C9080003620A0E7 +:1091B000B8C89080000A2098080C0FDE0005A8307F +:1091C0002009180D210CD18C01402008918EDEADB4 +:1091D0001120202140090804379E90860100702448 +:1091E0002058111008045940080C6CAE0804379C34 +:1091F000080C5A0A012020090007080437CE7F8492 +:109200007A8C7B887C9C7D98080C4DEC1120200981 +:109210000002080437CE900E213071267132A8600A +:1092200020E87036A85C90800005702A20A0080C09 +:1092300069771904518E080C6E2B0138080C6E33B7 +:109240000120080C6DCB1904518ED7941110D784CE +:1092500001A8B8C420E0B8C8908000062098340067 +:10926000D794019820A900084003209820A03D0031 +:1092700020E020A90002080C4BC80080B8C420E000 +:10928000B8C89080000A2098340020A90004400348 +:10929000209820A03D0020E0080C4BC89186007E5D +:1092A0000170918600800158080C6E2B90C2000658 +:1092B0001210C1FD0020080C6CAB1108C1FD410467 +:1092C000C1FCD7940528B8C420E0B8C820609C80B1 +:1092D0000000209820A9000240039C8000032098F1 +:1092E00020A9000140059C8000042098340020A99A +:1092F00000024003209820A03D0020E0080C4BBB5A +:109300009C8000262098B8C420E020A900024003D9 +:10931000D794011096B0000B96B000058108080C98 +:10932000B3950118918608000040D78C01209186E2 +:109330000800017000189186007E0150D794011832 +:1093400096860020001096860028015008045117C8 +:1093500086FF11207124810B0804379C70330001B3 +:109360007122702496007026772E206118BB2C4441 +:10937000A06F0000A67E7034A0767028A07AA2921A +:10938000A396A49AA59E080C116A70070002701F8C +:1093900051CA00057030900511807120702820A0FE +:1093A000772C9036703420E8206118BB2C44A290B2 +:1093B000A394A498A59C080451177124810B080458 +:1093C000379C2029007E79847A887B8C7C989184D4 +:1093D000FF00800790E200200A0437D195020A04BA +:1093E00037D1918400FF90E200200A0437D1950222 +:1093F0000A0437D19284FF00800790E200200A041B +:1094000037D195020A0437D1928400FF90E2002000 +:109410000A0437D195020A0437D19384FF008007EC +:1094200090E200200A0437D195020A0437D19384D0 +:1094300000FF90E200200A0437D195020A0437D1D8 +:109440009484FF00800790E200200A0437D195023F +:109450000A0437D1948400FF90E200200A0437D137 +:1094600095020A0437D12061198C61026206630AF1 +:10947000640E0804379C080C4DEC090437CE200913 +:1094800000167A8C7B887C9C7D98A85C9080001A62 +:10949000AF60080C4E31701F524E000520A9001617 +:1094A000896E8D6E8D6F9D84FFC09080001A20980C +:1094B0009D84003F20E02069187A20E900012DA05A +:1094C000400368009005090452B568042008918C97 +:1094D000FFF8190452B5680C9005090452B5908242 +:1094E000FF011A0452B568109082005C06F06824EF +:1094F00020089082000806C89182040016B0005629 +:1095000020290000080C933A005E6944682091020B +:109510000660682090820019164068286944810C12 +:109520009102061868409082000F12F8080C107A19 +:1095300029000590684E00E62071193400B62059C4 +:109540000000080C91F800BE00EE01E8080C8F4CFA +:10955000080C8F9B11606857000000C66B102061DB +:109560001A81630E00CE0804379C080437D1080C1A +:109570008F9400E620711934080C93B9080C93C538 +:10958000080C91DD00EE2001188D204C080C109382 +:109590002001188D20030000080437CE01262091F9 +:1095A0008000080C9774080C8F94012E0804379CD7 +:1095B0000006080C59F6D0CC000E00050006080C79 +:1095C00059FAD0BC000E000561747A84630082FFF2 +:1095D000111879860804379C83FF190437D12001BC +:1095E000FFF092001A0437D12019FFFF6078930230 +:1095F00092000A0437D1798662760804379C080CF9 +:109600005A0A190437CE7C887D847E987F8C080C9A +:109610004DEC090437CE900E901E73267332A8606D +:1096200020E87036A85C90800003702A20A091D8B2 +:1096300010002B5C8BFF0178080C6E2B0118080CB6 +:109640006E33114820A90001B8144004B81040043A +:1096500041049398000381089182080001209386B9 +:10966000003C01700C2083FF11487224900E2001F1 +:109670000003080C980222080804379C703300018C +:109680007122702493007026206118BB2C44A06FB7 +:109690000000A37E7028A07A7034A076A492A596CC +:1096A000A69AA79E080C116A70070002701F5359F2 +:1096B00000057030900511787120702820A0901E50 +:1096C000703420E8206118BB2C44A490A594A6987F +:1096D000A79C080453177224900E20010003080C65 +:1096E000980222080804379C00F600E6080C5A0A83 +:1096F00020090007190453ED207118A1745C84FF40 +:109700002009000E190453EDACA0AD9CAEA8AFA487 +:109710000096080C107A20090002090453EC290075 +:10972000705E900E901E73567362A8607066A85C9F +:1097300090800003705A20A091D810002B5C8BFF02 +:109740000178080C6E2B0118080C6E331148B81400 +:1097500020A900014004B81040044104939800037C +:1097600081089182080001209386003C01E80C20CA +:1097700083FF11C07254900E20010003080C980260 +:109780002208009EA89B4000A99E715C81FF090CE5 +:109790000D8C2148080C10939006705E918D00018D +:1097A00020080418706300017152705493007056C1 +:1097B000206118BC2C44A37E7058A07A7064A076F7 +:1097C000A492A596A69AA79EA0A353F8000EA0A6C1 +:1097D000080C116A90060048009EA89B4005A99EAF +:1097E000900E908500012001003000EE00FE000583 +:1097F00000F6A0A4904D090C0D8C00E6207118A174 +:10980000A070908E01000138A87F0030A88700006A +:10981000A89B400200D87060900511587150705894 +:1098200020A0901E706420E8A490A594A698A79C00 +:109830000428A87F0000A8870000A89B400072545D +:10984000900E20010003080C9802AA9E715C81FF13 +:10985000090C0D8C2148080C1093705F0000A0A427 +:109860002048012620918000080C7243012EA0A3FD +:109870000000A0A7000000EE00FE000591D8100037 +:109880002B5C8BFF0178080C6E2B0118080C6E33D3 +:109890001148B81420A900014004B8104004410444 +:1098A0009398000381089182080001209386003C70 +:1098B00005180C2083FF11F07154810CA99EA89B00 +:1098C0004000715C81FF090C0D8C2148080C10933D +:1098D0009006705E918D00012008A0A4204801260A +:1098E00020918000080C7243012EA0A30000A0A7C5 +:1098F0000000007070630001715270549300705644 +:10990000A37EA492A596A69AA79E080C116A90061B +:1099100000EE00050096A89090BE7000014890BE31 +:109920007100013090BE72000118009E080437D10A +:10993000A888A98C080C27441518080C690515007F +:109940007126BE12BD16AE80080C4DEC01F0080C5D +:109950004DEC01D8009EA86B0000A86CC0FDA86E5D +:10996000A8230000A8042048080CD4DC11202009FA +:109970000003080437CE70070003701F54C60005AB +:10998000009E20090002080437CE0CD07124080C78 +:10999000352DA8209086800111202009000408049C +:1099A00037CE29007022A804009620488906800638 +:1099B000800790BC003F9084FFC0009E9080000212 +:1099C00000760006209820A027E027E820A9002A9A +:1099D000080C0FDEAA70AB74AC78AD7C206118BBAC +:1099E0002C44A06F0000AE68AF9097C670000118BD +:1099F00097C67100114896C20004060020090004B1 +:109A0000000E007E08044E3497C6720011B896C24C +:109A1000005402A0000E007E206118BB2C44A07AE6 +:109A2000A776A07F002AA292A396A49AA59E080CCE +:109A3000116A70070002701F55220005000E007E9B +:109A4000080437D170202048A8042048A8042048E2 +:109A500089068006800790BC003F9084FFC09080FC +:109A60000002209820A027E027E820A9002A080C5F +:109A70000FDE21002238206118BB2C44A290A39451 +:109A8000A498A59C2009002A08044E3481FF1904DB +:109A900037CE798C20011981918C80002102080C2D +:109AA0004E03090437D1080C6E2B0120080C6E33CD +:109AB000190437D1080C6A3E090437CE01262091DB +:109AC0008000080C6BFF012E090437CE200119819C +:109AD0002004D0FC1904379C080447B3A9A4200132 +:109AE0001981918C8000C18D2102080C4E0E01A0BD +:109AF000080C6E2B0118080C6E331170080C6A3EAE +:109B0000200900020128080C6BFF117020090003D6 +:109B1000A89B4005A99E0010A89B4006900E90852A +:109B20000001200100300005A89B400020011981A0 +:109B30002004D0FC1128080C59FE011090060018D2 +:109B4000900E9085000120010000000578A8D08CBF +:109B50001118D08409044728080C4E1B090437D17A +:109B6000080C4DEC112020090002080437CE080C27 +:109B70006E2B0130908E00040118908E000515A008 +:109B800078A8D08C0120B800C08CB8020028080C3E +:109B900059F6D0B4090447627884908E007E090497 +:109BA0004762908E007F09044762908E008009040E +:109BB0004762B800D08C19044762A86B0000A86CFB +:109BC000C0FDA86E080CD4FB112020090003080476 +:109BD00037CE70070003701F55EE0005080C4E1BB2 +:109BE000090437D108044762080C358C01080005C8 +:109BF00020091834210C81FF0120200900010804EC +:109C000037CE080C5A0A012020090007080437CE75 +:109C1000080C6E23012020090008080437CEB89CE8 +:109C2000D0A41118D0AC190447629006A86AA832D3 +:109C3000A86CC0FDA86E080CD56311202009000394 +:109C4000080437CE70070003701F56270005A830A0 +:109C50009086010011202009000408045940080CD6 +:109C60004E1B090437D1080455C081FF20090001AB +:109C7000190437CE080C5A0A20090007190437CEF8 +:109C8000080C6E23012020090008080437CE080CB8 +:109C90004E1B090437D1080C6E2B2009000919044A +:109CA00037CE080C4DEC20090002090437CE90068F +:109CB000A86AA832A86CC0FDA86E7988A95A9194A8 +:109CC000FD00918C00FF900682FF1128C0EDA95283 +:109CD000798CA9560038928E0100190437D1C0E55D +:109CE000A952A956A83E080CD7C1200900030904AF +:109CF00037CE70070003701F567E0005A83090868F +:109D0000010020090004090437CE0804379C7AA812 +:109D10009284C0000148D2EC01A0080C5A0A1188B4 +:109D200020090014080437CED2DC157881FF200901 +:109D30000001190437CE080C5A0A2009000719043B +:109D400037CED2F4013892845000C0D5080C59CCDB +:109D50000804379CD2FC0160080C4E1B090437D163 +:109D6000798492849000C0D5080C599B0804379CD4 +:109D7000080C4E1B090437D1B804908400FF90866C +:109D80000006200900091904576D080C4DEC200944 +:109D900000020904576DA85C9080001CAF60200988 +:109DA00000087A8C7B887C9C7D98080C4E31701F53 +:109DB00056DA0005A870908605001138A874900541 +:109DC0001120A8789084FF000110190437D1A86AE7 +:109DD000A832A86CC0FDA86E080C4E1B1110080418 +:109DE00037D120090043080CD82D200900030904AD +:109DF000576D70070003701F56FE0005A83090864F +:109E00000100200900040904576D79847AA892841E +:109E10001000C0D5080C599B0804379C00C6AAB492 +:109E20009284C0000148D2EC0170080C5A0A115803 +:109E3000200900140804575C20611800080C5A0A15 +:109E40002009000715C8D2F4013092845000C0D513 +:109E5000080C59CC0058D2FC0180080C4E19059012 +:109E6000A99C92849000C0D5080C599BA87F000043 +:109E7000A8870000A89B40000438080C4E19051064 +:109E8000080C6E2B2009000911B8A8C8908605009F +:109E900011C8A8CC900511B0A8D09084FF001190F3 +:109EA000080C4E19110800702009004B080CD82D21 +:109EB0002009000301080078043119C0A89B40055F +:109EC000A99E0010A89B4006900E908500012001DD +:109ED000003000CE000590060CE07AA8D2DC090420 +:109EE00037CE0016798492841000C0FD080C599B6F +:109EF000001E190437CE0804379C00F62D78AAB44A +:109F0000002100FE0005AAB4C2D5D2DC0150001623 +:109F1000A99C92841400C0FD080C599B001E9085DA +:109F20000001000581FF012020090001080437CE4F +:109F3000080C5A0A012020090007080437CE79844A +:109F40007EA896B400FF080C6977190437D1918672 +:109F5000007F0138080C6E2B01202009000908043D +:109F600037CE080C4DEC112020090002080437CE32 +:109F7000A86B0000A86CC0FDA86E2001010080073E +:109F8000A80A080CD515112020090003080437CEB3 +:109F900070070003701F57CD0005A8088007908642 +:109FA0000100112020090004080437CEA8E4A86AA3 +:109FB000A8108007908400FF800CA814800790846C +:109FC00000FF8004908000029108890680068007C7 +:109FD00090BC003F9084FFC0908000047A8C7B8806 +:109FE0007C9C7D9808044E34080C4DEC112020090F +:109FF0000002080437CE79849194FF00918C00FF11 +:10A00000821782FF1118702319B7004092C6000111 +:10A010001118702319D10010080437D12009001A33 +:10A020007A8C7B887C9C7D98A85C9080001AAF60BD +:10A03000080C4E31701F581D00052001182E2003FA +:10A040000001A85C9080001A2098A86020E020A958 +:10A05000001A702020A020E9000140030804379C6A +:10A06000080C4DEC112020090002080437CE798439 +:10A070009194FF00918C00FF821782FF11182099A4 +:10A0800019B7004092C600011118209919D100108B +:10A09000080437D1A85C9080001A20A0A86020E8AE +:10A0A00020A9001A20E1000140032009001A7A8C3F +:10A0B0007B887C9C7D98A85C9080001AAF60080427 +:10A0C0004E347884908A10001A0437D101262091EA +:10A0D00080008003800B810B910800C620611A1755 +:10A0E000614A00CE012E0804379C00C6080C79CBCB +:10A0F0001160080C7CE3080C634F90850001080C8C +:10A100007A0F080C78FA080C0D8C2061180060306A +:10A11000C09D6032080C620800CE000520011800C6 +:10A120002004908E0000090437CE00C67884900584 +:10A13000019078882061199F2C0C2062080C2B2834 +:10A1400001A8080C2B300190080C2B3801782162F3 +:10A1500000CE080437D120610100603890860007E6 +:10A160001118200900010010200900007884908651 +:10A17000000215A8206101006028C09C602A080C1C +:10A18000AFDC002620110003080CA8EF201100020C +:10A19000080CA8F9002E080CA7DA0036901E080C4F +:10A1A000A85A003E080CAFF860E30000080CF39BCF +:10A1B000080CF3D290850001080C7A0F9006080C69 +:10A1C0002B5A2001180020030004200119AB2003A2 +:10A1D0000000002620110008080C2B94002E00CE51 +:10A1E0000804379C81FF012020090001080437CEB4 +:10A1F000080C5A0A012020090007080437CE798488 +:10A200007EA896B400FF080C6977190437D19186AF +:10A21000007F0138080C6E2B01202009000908047A +:10A2200037CE080C4DEC112020090002080437CE6F +:10A23000A86B0000A86CC0FDA86E080CD5181120F2 +:10A2400020090003080437CE70070003701F592946 +:10A250000005A830908601001120200900040804A0 +:10A2600037CEA8E4A86AA8348007800CA85C908048 +:10A27000000C7A8C7B887C9C7D98AF6008044E34FF +:10A28000A89C9086000D190437CE20214005012698 +:10A29000209180000E04594D0010012E0CC07C3618 +:10A2A00094864000011878330011001078330010B4 +:10A2B00078834005A99C7986A9A8799AA9AC799E4A +:10A2C000080C4E2420914080200100892004D08475 +:10A2D000190C121C7007000120915000700F000033 +:10A2E000012E000501262091800000C620611A176A +:10A2F0007984615A6156605F000060530009789864 +:10A300006072789C606E7888606A788C60662001E4 +:10A310001A27204420011A2EA07AA060A076A07FE0 +:10A320000001A0830002A06F0000A0A3000000CEE7 +:10A33000012E0804379C01262091800000B600C63B +:10A3400090E4C00001980006D0D4016000362019C6 +:10A350000029080CAFDC0106080C3551010E090C70 +:10A36000AFF8003E080CD375000E1198D0E40160E0 +:10A37000918010002004905D0160080C6369080C56 +:10A38000B3950110B8170000900600CE00BE012E54 +:10A390000005908500010CC801262091800001561F +:10A3A0002010900E20A908000016918010002004B3 +:10A3B000900501889186007E01709186007F01588A +:10A3C000918600800178918600FF012800262200F6 +:10A3D000080C599B002E001E81081F0459D4015EF1 +:10A3E000012E0005080CDA4E0DB00C802001184B30 +:10A3F000200400052001186A200400050006200141 +:10A4000018102004D0D4000E00052001180E2004DE +:10A41000D0B4000520011800200490860003000538 +:10A4200079A481FF090437D1918200811A0437D1C0 +:10A43000810C0016080C4DEC0170080C0F6921000E +:10A4400022387D847C887B8C7A90001E080C4E31EB +:10A45000701F5A300005001E20090002080437CE84 +:10A46000207900007D947C987BA87AAC79A4810C3B +:10A47000206118BB2C44A774A078207118A1080C87 +:10A480004E34701F5A440005206118BB2C4400163E +:10A490000026A274A178080C0F71002E001E080C73 +:10A4A000101E9006A802A8060804379C0126015633 +:10A4B0000136014601C601D600C600D600E600F608 +:10A4C0002061010020690200207118006044D0A4BE +:10A4D00011E8D0840118080C5C040068D08C0118C5 +:10A4E000080C5B0D0040D0940118080C5ADD0018D0 +:10A4F000D09C0108009900FE00EE00DE00CE01DED7 +:10A5000001CE014E013E015E012E000500166128BC +:10A51000D19C1110C19D612A001E0C687030D09C26 +:10A52000112060049085000260067098900501205B +:10A53000709B000070930000624C9286F0F0115006 +:10A5400060489086F0F00130624A604300906043BA +:10A55000001004909294FF009296F70001787138F1 +:10A56000D1A4116062409295010062429294001061 +:10A570000128200900F7080C62CB00F060409084AD +:10A580000010908501406042604300007087000029 +:10A5900070A3000170C7000070DF000020091D805B +:10A5A000200B000070970000708B000F2009000F37 +:10A5B000201161AB080C8D3100052001186C2004BE +:10A5C000D08C0110705FFFFF708890051528201156 +:10A5D00061AB080C8C1B60409094001092850020A9 +:10A5E000604220A900C86044D08C11681F045AF34F +:10A5F0006242709B00006040909400109285008041 +:10A600006042624200486242709B0000708F00000E +:10A610009006080C635400000005708C908A0003BB +:10A620001A0C0D8C000B00055B175B685C0300F6D1 +:10A6300000166900918C0800708F00012001015DF7 +:10A6400020030000680300FC20A900046800908437 +:10A6500000FC01201F045B26080C0D8C68A068A27A +:10A66000689C689E6898689AA001918D160069029E +:10A67000001E68370020080C633020791D007833F5 +:10A6800011017837000020E100012099180520E928 +:10A69000000120A11D0E20A900044003080CADD12B +:10A6A00020E1000120991D0020E9000020A10240C6 +:10A6B00020A90014400360C3000C600F0000080CC8 +:10A6C00061DC00FE90067092604300086042000565 +:10A6D00000F6709070930000902509045BE0602004 +:10A6E000D0B419045BDE71A081FF09045BCC9486B1 +:10A6F000000C19045BD994800018800420A8080C71 +:10A7000063292011026020191D00220C23049106E8 +:10A7100011E8821083181F045B85604300042061E8 +:10A720000140605BBC94605FF0F020610100604319 +:10A730000006708F0002709B0002200907D02011D4 +:10A7400061B2080C8D31080C633004C0080C632919 +:10A75000207902607930918E110115587834900576 +:10A7600015407900918C00FF111878049005019034 +:10A77000080C63292011026E2019180520A9000475 +:10A78000220C23049102023011A0821083181F04AE +:10A790005BC0007870A30000080C632920E1000072 +:10A7A0002099026020E9000120A11D0020A90014C9 +:10A7B00040036043000860430000001000FE0005F5 +:10A7C00060409085010060426020D0B41DB8080C44 +:10A7D000ADD120E1000120991D0020E9000020A159 +:10A7E000024020A90014400360C3000C201119F896 +:10A7F000201300007093000060A3005660A79575B9 +:10A80000080CA55208D800057098908A001D1A0CF3 +:10A810000D8C000B00055C355C485C715C915CB78D +:10A820005CE65D0C5D445D6A5D985DD35E0B5E2900 +:10A830005E565E785E935E9D5ED15EF75F265F4CEE +:10A840005F845FC860056026608160A360D160D1CD +:10A8500000C6206118006003000720610100600449 +:10A860009084FFF9600600CE000520610140605B26 +:10A87000BC94605FF0F02061010060430002709BB7 +:10A880000001200907D0201161B2080C8D310005AC +:10A8900000F6709090860014151060426020D0B4CD +:10A8A00011F0080C6329207902607A309296110227 +:10A8B00011A07834900511887A38D2FC012870C430 +:10A8C0009005111070C70001201161B2080C8C1B9B +:10A8D000709B0010080C5E9D00107093000000FE3D +:10A8E000000500F6709B000360430004201161B274 +:10A8F000080C8C1B080C62AD2079024078331102E1 +:10A900007837000020A900089F88000E200B000067 +:10A9100081081F045C8660C30014080C61DC00FE23 +:10A92000000500F6709090050500201161B2080C3A +:10A930008C1B9086001411B8080C632920790260E2 +:10A940007A309296110211787834900511607A3835 +:10A95000D2FC012870C49005111070C70001709BD3 +:10A96000000400290010080C630500FE000500F635 +:10A97000709B0005080C62AD20790240783311030A +:10A9800078370000080C6329080C630C1170708480 +:10A9900090051158715C9186FFFF01382011000865 +:10A9A000080C615F0168080C62E220A9000820E140 +:10A9B00000002099026E20E9000020A1024E400311 +:10A9C00060C30014080C61DC00FE000500F6709006 +:10A9D00090050500201161B2080C8C1B90860014B4 +:10A9E00011B8080C6329207902607A30929611031D +:10A9F00011787834900511607A38D2FC012870C43F +:10AA00009005111070C70001709B0006002900100E +:10AA1000080C630500FE000500F6709B0007080C9B +:10AA200062AD207902407833110478370000080CB9 +:10AA30006329080C630C11B87084900511A071642F +:10AA40009186FFFF01809180359D200D918CFF0044 +:10AA5000810F20110008080C615F0180080C52DE94 +:10AA60000110080C27AD20A9000820E10000209962 +:10AA7000026E20E9000020A1024E400360C30014D2 +:10AA8000080C61DC00FE000500F6709090050500E2 +:10AA9000201161B2080C8C1B9086001411B8080CB0 +:10AAA0006329207902607A30929611041178783403 +:10AAB000900511607A38D2FC012870C490051110FD +:10AAC00070C70001709B000800290010080C630586 +:10AAD00000FE000500F6709B0009080C62AD2079AD +:10AAE00002407833110578370100080C630C1150CF +:10AAF000708490051138080C60D21188908500018F +:10AB0000080C27AD20A90008080C632920E10000EB +:10AB10002099026E20E9000020A1024E400360C38C +:10AB20000014080C61DC0010080C5C2800FE000515 +:10AB300000F67090900505A8201161B2080C8C1BDE +:10AB4000908600141560080C6329207902607A3021 +:10AB5000929611051520783490840100201101008F +:10AB6000921E11607A38D2FC012870C49005111031 +:10AB700070C70001709B000A00B100989005117821 +:10AB80007A38D2FC012870C49005111070C70001FA +:10AB900070970000709B000E080C5E780010080C87 +:10ABA000630500FE000500F6709B000B20111D0ED2 +:10ABB00020E9000122A020A900402019FFFF430442 +:10ABC000080C62AD20790240783311067837000016 +:10ABD000080C630C011820130000002070609085A1 +:10ABE0000100201220A900402009024E20111D0E54 +:10ABF000220E821081089186026011286810800060 +:10AC00006812200902401F045DF860C30084080C2C +:10AC100061DC00FE000500F67090900501C0201177 +:10AC200061B2080C8C1B908600841178080C632993 +:10AC3000207902607A3092961106113878349005A6 +:10AC40001120709B000C00290010080C630500FE09 +:10AC5000000500F6709B000D080C62AD20790240E3 +:10AC60007833110778370000080C632920A90040C9 +:10AC70002011026E2009024E220E82108108918658 +:10AC800002601150681080006812200902406814A8 +:10AC900080006816201102601F045E3C60C30084BF +:10ACA000080C61DC080C632900FE000500F67090BA +:10ACB000900501E0201161B2080C8C1B9086008485 +:10ACC0001198080C6329207902607A309296110756 +:10ACD000115878349005114070970001080C627D7E +:10ACE000709B000E00290010080C630500FE000593 +:10ACF000918D0001080C6354709B000F709300004D +:10AD000020610140605BBC85605FB5B520610100DA +:10AD10006043000560430004200907D0201161B2A0 +:10AD2000080C8C0F0005709090050130201161B265 +:10AD3000080C8C1B709B00000005709B0011080C18 +:10AD4000ADD1080C632920E100002099026020E9C0 +:10AD5000000020A1024074909480001890800007A9 +:10AD6000908403F8800420A84003080C630C11A011 +:10AD7000717C81FF0188900E7080908400FF0160DB +:10AD8000080C27449186007E0138918600800120BE +:10AD900020110008080C615F60C30014080C61DC1E +:10ADA000000500F6709090050500201161B2080CB6 +:10ADB0008C1B9086001411B8080C6329207902605E +:10ADC0007A309296110311787834900511607A38B0 +:10ADD000D2FC012870C49005111070C70001709B4F +:10ADE0000012002900107093000000FE000500F61C +:10ADF000709B0013080C62BB20790240783311036A +:10AE000078370000080C6329080C630C11707084FB +:10AE100090051158715C9186FFFF013820110008E0 +:10AE2000080C615F0168080C62E220A9000820E1BB +:10AE300000002099026E20E9000020A1024E40038C +:10AE400060C30014080C61DC00FE000500F6709081 +:10AE500090050500201161B2080C8C1B908600142F +:10AE600011B8080C6329207902607A309296110497 +:10AE700011787834900511607A38D2FC012870C4BA +:10AE80009005111070C70001709B0014002900107C +:10AE90007093000000FE000500F6709B0015080C82 +:10AEA00062BB207902407833110478370000080C27 +:10AEB0006329080C630C11B87084900511A07164AB +:10AEC0009186FFFF01809180359D200D918CFF00C0 +:10AED000810F20110008080C615F0180080C52DE10 +:10AEE0000110080C27AD20A9000820E100002099DE +:10AEF000026E20E9000020A1024E400360C300144E +:10AF0000080C61DC00FE000500F67090900505F06D +:10AF1000201161B2080C8C1B9086001415A8080C37 +:10AF20006329207902607A30929611051568783489 +:10AF30009084010020110100921E1168908500018B +:10AF4000080C63547A38D2FC012870C490051110A3 +:10AF500070C700010080900511B87A38D2FC012832 +:10AF600070C49005111070C7000190850001080C95 +:10AF70006354709700007A38D2F4011070DF000833 +:10AF8000709B0016002900107093000000FE000561 +:10AF9000080CADD1080C632920E100002099026063 +:10AFA00020E9000020A1024020A9000E400320114A +:10AFB000026D2204908401002011024D2012201104 +:10AFC000026E709B0017080C630C11507084900582 +:10AFD0001138080C60D2118890850001080C27AD4B +:10AFE00020A90008080C632920E100002099026EC6 +:10AFF00020E9000020A1024E400360C30014080CA9 +:10B0000061DC0010080C5C28000500F670909005CB +:10B0100001D8201161B2080C8C1B9086008411901D +:10B02000080C6329207902607A309296110611503B +:10B030007834900511389006080C6354709B001802 +:10B04000002900107093000000FE000500F6709BC0 +:10B050000019080C62BB207902407833110678375A +:10B060000000080C63292009026E20391D0E20A95A +:10B070000040213E8738810891860280112868149B +:10B0800080006816200902601F04603920391D0EF7 +:10B09000080C630C11E8272825148207908400FF10 +:10B0A00080002018929400FF80079205202A70608B +:10B0B0002310821492A01D0E2414938C00010118F9 +:10B0C0009294FF000018929400FF800792152222AC +:10B0D00020A900402009024E270E8738810891865A +:10B0E00002601128681080006812200902401F04C5 +:10B0F000606C60C30084080C61DC080C632900FEEE +:10B10000000500F67090900501E0201161B2080C76 +:10B110008C1B908600841198080C632920790260AA +:10B120007A30929611071158783490051140709733 +:10B130000001080C627D709B001A002900107093BA +:10B14000000000FE000590850001080C6354709B10 +:10B15000001B080CADD1080C6329201102602009E6 +:10B16000024074909480001890800007908403F847 +:10B17000800420A8220E821081089186026011505E +:10B180006810800068122009024068148000681668 +:10B19000201102601F0460BA60C30084080C61DCE7 +:10B1A00000050005008600962029184B252C20A9B3 +:10B1B000000820411D0E20E9000128A0080C632989 +:10B1C00020E100002099026E400320A90008201110 +:10B1D0000007D5D40108901628009200200C91A6F3 +:10B1E000FFFF1148D5D401108210000882111F04FE +:10B1F00060EC0804615B82FF1160D5D4012091A648 +:10B200003FFF0D90002091A63FFF0904615B918DE7 +:10B21000C00020A9001020190001D5D40110201968 +:10B2200000102120D5D4011084230008842412406A +:10B23000D5D401108319000883181F04611204D8A3 +:10B2400023A820210001842684251F0461242328AB +:10B25000852992BE00070158000620390007220008 +:10B26000973A000E27A895A800101F046133755E59 +:10B2700095C8359D292D95AC00FF758265326536E0 +:10B2800000162508080C278D001E60E7000065EAFF +:10B29000201823049405201A7087000120E900007B +:10B2A00020A1024E20E10001289820A900084003B7 +:10B2B0009085000100089006009E008E0005015652 +:10B2C00001C601D60136014622A820E100002099DE +:10B2D000026E20E900002011024E22A04003014E20 +:10B2E000013E01DE01CE015E2118902620010007FB +:10B2F000939A00100218842080010CD0211884FF3A +:10B300000120939A001084211DE02021000183FF79 +:10B310000118842383191DE892382029026E95288C +:10B320002504942C11B89405203A715E91A0359DA6 +:10B33000242D95AC00FF7582653265360016250810 +:10B34000080C278D001E60E7000065EA7087000189 +:10B3500090840000000500E620711800708B00004A +:10B3600000EE000500E600F62079010020710140A2 +:10B37000080C626C080CA55F7004908440000110FA +:10B38000080C2B6A0126209180002071182620735A +:10B390000000784000260016200900F7080C62CB58 +:10B3A000001E909400109285008078427A42002E10 +:10B3B000012E00FE00EE0005012620918000080C01 +:10B3C0002ABC0228201101012204C0C5201220112C +:10B3D00019F82013000070930000012E60A300569E +:10B3E00060A79575080CA5526144D184012071981D +:10B3F000918D20000018718C918D10002011199CE6 +:10B400002112200907D0201161B2080C8D310005EE +:10B410000016002600C6012620918000080CAFDC33 +:10B42000080CB39C080CAFF8200900F7080C62CB9D +:10B4300020611A17900E611A611E617A617E206187 +:10B440001800600300012061010060430090604328 +:10B4500000102009199C200B00002009002D20114C +:10B460006238080C8C0F012E00CE002E001E000545 +:10B4700000E6000601262091800004712071010081 +:10B48000080CA55F207101407004908440000110F9 +:10B49000080C2B6A080C79D30188080C79EE11701E +:10B4A000080C7CED0016080C285C200119702102A4 +:10B4B000001E080C7CE8080C78FA005020090001F6 +:10B4C000080C2B4620010001080C26E9080C620834 +:10B4D000012E000E00EE00052001180E2004D0BC45 +:10B4E000015800260036201180172001199C201CCD +:10B4F000080C4E48003E002E000520A9001220E94D +:10B50000000120A11D80080C632920E9000020997A +:10B51000026E00A920A90020080C63232099026074 +:10B5200020A11D92006120A9000E080C632620991D +:10B53000026020A11DB20019080C63290005001645 +:10B54000002634103308210480072012810882105D +:10B550001F0462A3002E001E0005080CADD120E1DF +:10B56000000120991D0020E9000020A1024020A92F +:10B57000000C40030005080CADD1080C632920E144 +:10B5800000002099026020E9000020A1024020A9CB +:10B59000000C4003000500C6000620610100810F79 +:10B5A00020011834200490051138200118182004B7 +:10B5B000908400FF91050010918500F7604A000E0D +:10B5C00000CE000500160046080C6E2701589006B4 +:10B5D00020202009002A080CEF3B2001180C200C29 +:10B5E000C19521022019002A900E080C33E9080C9D +:10B5F000DA4E014000362019FFFF20210007080C19 +:10B600004FFF003E004E001E0005080C6208709BB4 +:10B61000000070930000000500062001180C2004B3 +:10B62000D09C0100000E00050006001601262091A6 +:10B63000800020010101200C918D00062102012EC5 +:10B64000001E000E00052009000100202009000254 +:10B650000008900E68149084FFC0910D69160005D3 +:10B6600000F60156014601D6900620A9008020E987 +:10B67000000120A11D00400420791D007803220054 +:10B68000780700EF780F00EF781301387823FFFF79 +:10B690007827FFFF01DE014E015E00FE000520015C +:10B6A0001800200300010005200119AA0118200339 +:10B6B00000010010200300000005015620A9080029 +:10B6C000200910009006200A81081F046363015EB0 +:10B6D000000500D600360156013601462069184A99 +:10B6E0009006B802B8D6B8070707B80AB80EB8125D +:10B6F0009198359D231D939C00FFBB1600160026D4 +:10B70000B886080CB39511209192007E1208BB8672 +:10B7100020A90004B8C420E8B9C891980006900692 +:10B7200023A0400420A900049198000A23A040040B +:10B73000002E001EB83EB842B8CEB8D2B85EB8628D +:10B74000B866B86AB86F0100B872B876B87AB88AC5 +:10B75000B88EB8930008B896B89AB89EB8BEB9A289 +:10B760000096B8A4904D190C1013B8A70000009EC5 +:10B770009006B84A6810B83A680CB846B8BB0520BD +:10B78000B8AC9005019800C620609C821DDC0A0CB4 +:10B790000D8C2001181A20049C021A0C0D8C080C28 +:10B7A00091C700CE090C9547B8AF0000681490848B +:10B7B00000FFB842014E013E015E003E00DE000582 +:10B7C000012620918000A978918208001A04643B28 +:10B7D0002001180C2004908400031904644191880E +:10B7E00010002104905D0198B804908400FF908EB1 +:10B7F00000061188B8A4900D19046453080C681A47 +:10B800009006012E000520010005900E04B82001CD +:10B810000028900E0498908200061290080CB395B0 +:10B820001160B8A09084FF801140B900D1FC0D10C8 +:10B83000200100292009100004082001002800A888 +:10B840002009180C210CD18C01182001000400687B +:10B85000D184011820010004004020010029B90012 +:10B86000D1FC0118200910000048900E003820017A +:10B870000029900E001820010029900E9005012E3D +:10B8800000052001180C2004D08419D091881000E4 +:10B890002104906509A8080C6E2B1990B800D0BC43 +:10B8A0000978080463FAAE7C96B43FFF080C6C0A72 +:10B8B00009046403080463FE00E6207119EB7004B8 +:10B8C00090860002112870309080000420049B06AE +:10B8D00000EE000500B600E6012620918000A87861 +:10B8E000908E00FF11202001196E205C0060A97865 +:10B8F000918208001690918810002104905D01D07B +:10B90000080C6DCB11D0080CB41705702B00601219 +:10B910002900601660230009602B0000A878908E33 +:10B9200000FF1110602B800020090043080CB50AAD +:10B93000900600B02001002800902009180C210C6E +:10B94000D18C0118200100040038D1840118200195 +:10B95000000400102001002900102001002990059A +:10B96000012E00EE00BE00052001002C0CC000B628 +:10B9700000E6012620918000A978918208001A042F +:10B980006535918810002104905D0904650DB8A00B +:10B990009086007F0190A880D0FC1178080C6E334F +:10B9A0000160A99881FF0130908E00040130908ED3 +:10B9B00000050118080C6E2B1598A880D0FC01E03A +:10B9C000A898900501C8206000262010080CD3001C +:10B9D000002E1120200100080804653760209086A1 +:10B9E000000A01202001000808046537601A60037E +:10B9F0000008290060160058080CB41705E82B0051 +:10BA0000601229006016600BFFFF6023000A200906 +:10BA10000003080CB50A90060458200100280438D9 +:10BA2000908200061290080CB3951160B8A0908423 +:10BA3000FF801140B900D1FC090020010029200934 +:10BA4000100000A82001002800902009180C210CEB +:10BA5000D18C0118200100040050D184011820016C +:10BA60000004002820010029001020010029900571 +:10BA7000012E00EE00BE00052001002C0CC000F6D7 +:10BA800000B6012620918000A8E490051550A8E09A +:10BA9000908201011630A8CC90051518A8C8908294 +:10BAA000010112F8A978207918009182080012E8A3 +:10BAB0007830908400031130AA9CAB98A87C9084C5 +:10BAC000000700EA7930D18C011820010004003809 +:10BAD000D184011820010004001020010029900EDB +:10BAE00000382001002C900E001820010029900E33 +:10BAF000900600089005012E00BE00FE000565CCF2 +:10BB00006587659E65CC65CC65CC65CC65CC210030 +:10BB10009082007E1278080C690501489046B810A2 +:10BB20009306190465D4B814920615F00028BB12C8 +:10BB3000BA160010080C4CFF015004B0080C6977CD +:10BB40001598B81093061580B81492061568080C5D +:10BB5000B41705302B006012080CD7C029006016FE +:10BB6000600BFFFF6023000AA87C90860001117023 +:10BB7000080C34249006080C68A220010002080C6E +:10BB800068B620010200B86EB893000220090003D5 +:10BB9000080CB50A9006006820010001900E0038DC +:10BBA0002001002C900E001820010028900E900516 +:10BBB0000000012E00BE00FE000500B600F600E603 +:10BBC000012620918000A89890C60015090467C539 +:10BBD00090C60056090467C990C60066090467CD7F +:10BBE00090C60067090467D190C60068090467D54C +:10BBF00090C6006B090467D990C60071090467DD1F +:10BC000090C60074090467E190C6007C090467E5EA +:10BC100090C6007E090467E990C60037090467ED05 +:10BC2000901620791800A978918600FF090467C052 +:10BC3000918208001A0467C0080C697711B8B8042B +:10BC4000908400FF908200061288A89890C6006435 +:10BC50000904673290C6006F0148080CB3951904B7 +:10BC600067A9B8A09084FF80190467A9A89890C616 +:10BC7000006F015890C6005E0904670990C6006411 +:10BC8000090467322008080466CBA99CA8B42040A8 +:10BC9000A8789106190466CB080CB39511209182FF +:10BCA000007F0A0466CB918600FF090466CB91826F +:10BCB00008001A0466CBAAA4ABA0787C930611A84E +:10BCC00078800096924E112822082310009E0804C6 +:10BCD00066CB080CB395114099CCFF00009E11284B +:10BCE00022082310080466CB009E080C4CFF0904B0 +:10BCF00066D5900E901690C6400015B00006080C50 +:10BD00006CAE20A90004A86020E8A85C90800032F6 +:10BD100020A0B8C420E0B8C8908000062098080C85 +:10BD20000FDE20A90004A86020E8A85C90800036FF +:10BD300020A0B8C420E0B8C89080000A2098080C61 +:10BD40000FDEA8C8ABCC9305ABD09305ABD493055D +:10BD5000ABD89305ABDC9305ABE09305ABE493055F +:10BD600090050510000E00C890C640071110240869 +:10BD700000A090C64008111827082610007090C631 +:10BD800040091108005090C64006013820014005C6 +:10BD90002009000A001020014006A89AA99EAAA224 +:10BDA00020010030900E0478000E080CB4171130FA +:10BDB000200140052009000390160C782B0060122A +:10BDC000080CD7C02900601660230001A86CD88C2D +:10BDD0000108C0F5A86E012620918000080C3424CB +:10BDE000012E9006080C68A220010002080C68B61B +:10BDF00020090002080CB50AA8B4D0940118B8D4E0 +:10BE0000C08DB8D690069005012E00EE00FE00BE53 +:10BE10000005080C5A0A01182009000700F8A99C1F +:10BE2000AEB4080C6977190466C69186007F0130AC +:10BE3000080C6E2B01182009000900800096080CE0 +:10BE400010611120009E2009000200402900009E80 +:10BE5000A806080CD51819B02009000320014005D8 +:10BE6000080466CDA99CAEB4080C6977190466C6AF +:10BE70000096080C10611128009E20090002080499 +:10BE800067862900009EA8060096204820A9002B5E +:10BE9000B8C420E0B8C82098A86020E8A85C9080CA +:10BEA000000220A0400320A900089080000620A0E6 +:10BEB000BBC8939800062398080C0FDE009EA87F4D +:10BEC0000000A8870000A89B4000D6841168080CD9 +:10BED00059F6D0B41118A89F000B00E0B800D08C20 +:10BEE0000118A89F000C00B0080C6E2B0118A89F29 +:10BEF00000090080080C5A0A0118A89F000700508A +:10BF0000080CD4FB19046702200900032001400536 +:10BF1000080466CDA87F0030A89B4005A8048006D1 +:10BF20008006800790BC003F9084FFC09080000294 +:10BF30002009002BAAA4ABA0ACACADA82031000016 +:10BF4000204112C6080CB9ED19046702200900024D +:10BF500008E820010028900E080467032009180C47 +:10BF6000210CD18C0118200100040038D184011863 +:10BF700020010004001020010029900E080467032E +:10BF800020010029900E08046703080C39CD08042D +:10BF90006704080C570E08046704080C47DE080401 +:10BFA0006704080C485708046704080C48B30804E1 +:10BFB0006704080C49AB08046704080C4DC2080468 +:10BFC0006704080C507F08046704080C53740804C5 +:10BFD0006704080C556E08046704080C3C08080444 +:10BFE000670400B6A9789182080012589188100061 +:10BFF0002104905D0130080C6E2B113800D9900699 +:10C0000000B020010028900E00909082000612409F +:10C01000B900D1FC0D98200100292009100000383A +:10C0200020010029900E001820010029900E900593 +:10C0300000BE0005A87B0000B8D090051904688BED +:10C04000B88890051904688BB838B93C91021A0475 +:10C05000688B2B10080CB444090468878108B93E2A +:10C0600062122900601660230003600BFFFF600767 +:10C070000040A87C605EA8846066A8870000A88055 +:10C08000D0AC05B8C0DDA882A88C80011560201155 +:10C09000180D2214D28C190C6F07A816A86890945A +:10C0A00000F79296001111F8908400FFC0BD601E49 +:10C0B000A8B0AAB4A836AA3A2001000F80011DF04A +:10C0C0002001800460030004604600F620790380AC +:10C0D0007818D0BC1DE8783300102C007836781B17 +:10C0E000808000FE0005080C183F601CC0BD601E6B +:10C0F0000C382009180D210CD18C190C6F11D0B4FB +:10C10000190C1D37200180046003000208E881FF3C +:10C110001110B88B00012908B8CCB9CE90051110C8 +:10C12000B9D2002000962048A902009EA888908AD3 +:10C13000199A0210200119998003800B810B910834 +:10C14000A966000500B6012600C6002620918000E1 +:10C1500062102258BA0090050110C2850008C284FE +:10C16000BA02002E00CE012E00BE000500B6012648 +:10C1700000C62091800062102258BA040006908602 +:10C1800000061170B89CD0AC0158080C6E27014015 +:10C190009284FF008007908600071110201106008E +:10C1A000000E9294FF009215BA06000690860006D3 +:10C1B0001120BA9082FF090C0D8C000E00CE012ECA +:10C1C00000BE000500B6012600C620918000621066 +:10C1D0002258BA040006908600061168B89CD0A4C4 +:10C1E0000150080C6E231138928400FF90860007DE +:10C1F000111020110006000E929400FF8007921586 +:10C20000BA0600CE012E00BE000591820800021879 +:10C2100090850001000500D60036002691901000A0 +:10C220002204905D11B82001183020049082003063 +:10C2300002980096080C10612958009E01682B0096 +:10C240002012B85CB8CAB860B8C69006B8A6B8AE36 +:10C25000080C63699006001090850001002E003ED6 +:10C2600000DE000500B60096012620918000002621 +:10C270009182080002189085000104A000D69190D8 +:10C2800010002204905D056020130000B8A4904DBA +:10C29000190C101300D600C6B8BC20608CFF0168D2 +:10C2A000600C000660142048080CD3120110080C22 +:10C2B0001013080CB46D00CE0C8800CE00DE00C652 +:10C2C000B8AC90650128621CD2C40110080C9547D7 +:10C2D00000CE2B48B8C8B85EB8C4B862080C10A32A +:10C2E00000DE9006002E012E009E00BE0005001606 +:10C2F000918208000218908500010030918810009A +:10C300002104905D0DC09006001E000500D6015668 +:10C31000013601469006B80AB80EB800C08CB802C3 +:10C32000080C79CB1510B8A09086007E0120080C6F +:10C33000B39511D800787040D0E401B800C62061F0 +:10C34000198570482062704C60067050600A705405 +:10C35000600E00CE703C2069014090051110200154 +:10C36000000168862069180068B67040B85E7048A1 +:10C37000B862704CB86620E1000020990276B8C41B +:10C3800020E8B8C89088000A21A020A90004400332 +:10C390002099027A9088000621A020A90004400379 +:10C3A00020690200681700017040B86A7144B96ED4 +:10C3B0007048B8727050B8762069020068170000A3 +:10C3C000B8A09086007E11107144B96E918202115E +:10C3D000121820090008040091820259121820093D +:10C3E000000700D0918202C112182009000600A0A7 +:10C3F00091820349121820090005007091820421DE +:10C4000012182009000400409182058112182009A9 +:10C410000003001020090002B992014E013E015EA6 +:10C4200000DE00050016002600E620710260703470 +:10C43000B896703CB89A7054B89E0036BBD4C3848A +:10C44000BA002009186A210CD0BC0120D1EC0110DF +:10C45000C2AD0008C2ACD0C40148D1E40138C2BDAD +:10C46000D0CC0128D38C1108C3850008C2BCBA0205 +:10C47000BBD6003E00EE002E001E0005009600A672 +:10C48000012620918000B8A4904D05D0A96881FFB5 +:10C4900019046A8CAA6C9282001C02502950A804CC +:10C4A000904D1DC0080C106105E82900B006046815 +:10C4B0000136014601C601D6890680068007908CA8 +:10C4C000003F21E09084FFC09080001E209820094A +:10C4D000001C20A9000140029086FFFF0120810975 +:10C4E0001DD0080C0D8C3C0020E83300800120A0FA +:10C4F00046048210AA6E01DE01CE014E013E0060AC +:10C50000080C106101782900B8A6A86B0000080C7F +:10C510006C35A86F0001AE7A90850001012E00AE47 +:10C52000009E000590060CD0012620918000009608 +:10C530000036004600A6B8A4904D0190A86890056A +:10C540001158080C6C4511602348A86C908A0002B1 +:10C5500002688001A86E0020080C1093B8A70000A4 +:10C5600000AE004E003E009E012E0005B8A49306CA +:10C5700011202348A804B8A6002023482450A8046A +:10C58000B006080C10930C60009600C6B8889005A1 +:10C5900019046B28B8D0904D09046B282001038240 +:10C5A0002004908400079086000119046B26080C73 +:10C5B000B44409046B268210BA3EA800B8D2900594 +:10C5C0001108B8CE2B00601229006016602300030A +:10C5D000600BFFFF60070040A864A8670000601AB6 +:10C5E000A87C605EA884908400FF6066A887000035 +:10C5F000A880D0AC01C8C0DDA882A88C80011558E5 +:10C60000A816A868909400F79296001115209084BF +:10C6100000FFC0BD601EA8B0AAB4A836AA3A200187 +:10C620008004600300040030080C1D3720018004E2 +:10C63000600300026046200100102C08080CAFCDFA +:10C64000B838BA3C92020A046ACA0010B88B0001DA +:10C6500000CE009E0005080C183F601CC0BD601E87 +:10C6600008F000B60096001620A90800900E0016EB +:10C67000080C69771158B8D0904D01403E00908663 +:10C6800000021118B800D0BC11080041001E81083A +:10C690001F046B37001E00BE009E000500960016AA +:10C6A000B8D0904D0188A800B8D290051108B8CE36 +:10C6B0009006A802A86B0103AB7EA87B0000080CC3 +:10C6C000D62A080C72430C60001E009E00050086EE +:10C6D0009046B8D0904D01E0A87094061118A87447 +:10C6E000950601282940A800904D01900CA8A800AB +:10C6F00088FF1128B8D290051138B8CE0028900DC7 +:10C7000011102808B9CEA002A803000090850001EE +:10C71000008E0005901E00102019000101262091B6 +:10C72000800000E600C600860026207119EB9046C6 +:10C730007028906505086014204883FF0138601058 +:10C740009B061150605C960601580030A870940654 +:10C750001118A874950601202C40600C20600C482C +:10C7600070309C060DC800662830080CA6E2006EEA +:10C770002C089085000100F89046B8D0904D01D863 +:10C7800083FF0120A87C960601580030A87094060B +:10C790001118A874950601202940A80020480C70A3 +:10C7A000B8D0AA0099061110BAD20008A202200936 +:10C7B000000090850001002E008E00CE00EE012EBC +:10C7C000000590160036004600F9004E003E11109C +:10C7D000201100010005080C6CAB1904D3E9000519 +:10C7E000080C6CAB1904D38A0005080C6CAB190457 +:10C7F000D3E60005080C6CAB1904D3A90005080C9E +:10C800006CAB1904D42C0005B8A4900D11189085B8 +:10C81000000100050096214829182320013601C691 +:10C82000A868900511E8890E810E810F9184003F60 +:10C8300020E09184FFC09080001E209820A9000174 +:10C840002009001C40029606015881091DD82320AA +:10C85000A804901D011023480C30908500010008A9 +:10C86000900601CE013E009E0005014601D6A8605B +:10C8700020E8A85C9080001E20A020A9001C2009B0 +:10C88000FFFF410401DE014E0005013601C62918F3 +:10C890002320A868900511E8890E810E810F9184EC +:10C8A000003F20E09184FFC09080001E209820A9C6 +:10C8B00000012009001C40029606015881091DD87C +:10C8C0002320A804901D011023480C3090850001FE +:10C8D0000068014601D63300800120A03C0020E81A +:10C8E0002001FFFF400401DE014E900601CE013E13 +:10C8F00000050096012620918000B8A4904D11906B +:10C90000080C106101682900B8A6080C6C35A86BEA +:10C910000001A86F000090850001012E009E000517 +:10C9200090060CD80096A804A80700002048080C20 +:10C930001013009E0C500096012620918000B8A490 +:10C94000904D0130B8A70000080C1013908500012D +:10C95000012E009E0005B89CD0A40005900EB89C46 +:10C96000D0A41108C185D0AC1108C195B800D0BCC5 +:10C970000108C18D000500B600F6080C79CB09044A +:10C980006D1A71C481FF119871DCD19C0180200166 +:10C99000007E908010002004905D0148B8049084CF +:10C9A00000FF908600061118B800C0EDB80220798B +:10C9B000184A7804D0A401E8015620A9007F900EFF +:10C9C0000016080C69771180080C6E4F1168B804C6 +:10C9D0009084FF008007909600040118908600065E +:10C9E0001118B800C0EDB802001E81081F046CE0E9 +:10C9F000015E080C6DE9012020011988200C0098C7 +:10CA00002079184A7804D0A40190200907D0200189 +:10CA1000182C2004900501382001186A2004D0E465 +:10CA2000011020095DC020116D23080C8D3100FE1E +:10CA300000BE00052001107E20042058B900C1EC82 +:10CA4000B90208046CD700B620116D23080C8C1BAA +:10CA5000080C6DE901D82001107E20042058B9008F +:10CA6000C1ECB902080C6E270130200907D0201153 +:10CA70006D23080C8D3100E6207118009006707E41 +:10CA800070607082080C31C900EE04E8015600C6DF +:10CA900020A9007F900E0016080C69771570080C0D +:10CAA0006E4F1558B800D0EC05400046BAA02220C1 +:10CAB000900620090029080CEF3BB800C0E5C0EC47 +:10CAC000B802080C6E23200107071128B8049084CF +:10CAD00000FF90850700B806080CAFDC201900297C +:10CAE000080C9A550076903E080C9912900E080C8E +:10CAF000EC04007E004E080CAFF8001E81081F04F5 +:10CB00006D4B00CE015E00BE000500B660102058DF +:10CB1000B800C0ECB80200BE000500B600C6009622 +:10CB2000080C107A090C0D8C2958009E2001196EF2 +:10CB30002B028B0780068006908C003FB9C6908C34 +:10CB4000FFC0B9CAB8AF0000200900FF080C636934 +:10CB5000B8070006B81300FFB817FFFFB86F020050 +:10CB6000B86CB8930002B8BB0520B8A300FFB8AFFB +:10CB7000000000CE00BE0005781000B62058B800B6 +:10CB800000BED0AC0005601000B6905D0108B80092 +:10CB900000BED0BC0005000600160026B804908C2C +:10CBA00000FF91960006018891960004017091960D +:10CBB00000050158908CFF00810F91960006012816 +:10CBC00091960004011091960005002E001E000EA3 +:10CBD000000500B600F62001107E2004905D0110D3 +:10CBE000B800D0EC00FE00BE000501260026209112 +:10CBF00080000006BAA09290100022049B06190C37 +:10CC00000D8C000EBA0090050110C2FD0008C2FC98 +:10CC1000BA02002E012E0005201118372204D0CCB4 +:10CC2000013820011986200C20116E19080C8D3155 +:10CC3000000520116E19080C8C1B201118372204D6 +:10CC4000C0CC20120005080C59F6D0AC0005080C29 +:10CC500059F6D0A400050016B904918400FF908E07 +:10CC60000006001E00050016B9049184FF0080072D +:10CC7000908E0006001E000500B600F6080CDA4E85 +:10CC8000015870DC9084002801382001107F2004B6 +:10CC9000905D0110B8D4D09400FE00BE00050006DF +:10CCA00000160026B810900501682009182C210CE8 +:10CCB000919400FF92061130B8149084FF00918C7B +:10CCC000FF009106002E001E000E00050006001653 +:10CCD00000360046007600B620011818203C9780E8 +:10CCE000359D203D97BCFF00873F90062018200807 +:10CCF0009284800001102019000192947FFF21008E +:10CD00009706019091A010002404905D0168B8047A +:10CD1000908400FF90860006113883FF0118B89CAC +:10CD2000D0A4011082110158810883FF0120918253 +:10CD300008000E2800689182007E0E08004800BEA0 +:10CD4000007E004E003E001E90850001000E000592 +:10CD500000BE007E004E003E001E9006000E000544 +:10CD600000460056007600B6210090847FFF908038 +:10CD700010002004905D0130B804908400FF90867C +:10CD80000006055091848000058020011818203C81 +:10CD90009780359D203D97BCFF00873F900620205F +:10CDA0002400970601A094A810002504905D017846 +:10CDB000B804908400FF908600061148B89CD0A467 +:10CDC0000130B81492061118B81093060128842077 +:10CDD000948208000E280048918C7FFF00BE007EE0 +:10CDE000005E004E908500010005918C7FFF00BE23 +:10CDF000007E005E004E900600050006200100A0A7 +:10CE00008001A001A001A0011DD8000E00050006B0 +:10CE1000200100F88001A001A001A0011DD8000E92 +:10CE200000050006200100E88001A001A001A0018A +:10CE30001DD8000E00052071191370030001700742 +:10CE40000000900670127016701A701E700A7046FC +:10CE500020011925200300000005001600E62071BE +:10CE6000194B900E710A080C59F6D0FC1140080CB1 +:10CE700059F6900ED09C01088108710204702001BF +:10CE8000186A200C9184000700062001180D200468 +:10CE9000D08C000E0108900600026F376F376F3795 +:10CEA0006F376F376F556F6A6F7870030003200913 +:10CEB000186B210C9184FF00908EFF0001408007C9 +:10CEC00090051110200100028003700600307007E9 +:10CED00000010018700300050C5020711913704FE9 +:10CEE00000002071180070F7000100EE001E000520 +:10CEF00070030000207119132009186B210C918414 +:10CF00007F008007908C000F0160714E80048004C8 +:10CF10008004800420711800908C0007012870F6AE +:10CF20000C20704F000F0C9070F7000508F000E621 +:10CF300020710050684C9005115000E620711913C3 +:10CF40007028C085702A00EE90850001048868442E +:10CF500090050158080C7D556A6092007002686463 +:10CF60009101700690067012701668607002686415 +:10CF700070066868700A686C700E6844900511103D +:10CF800070127016684C701A701C90850040701EEC +:10CF90007037001A702B000100E6207119137028F9 +:10CFA000C084702A70070001700B000000EE90062C +:10CFB00000EE000500E600262071194B7000901568 +:10CFC0000904724892860003090470DD9286000508 +:10CFD000090470DD2071187AA88090050904703862 +:10CFE0007140A86C91020A047248A87CD08415D8BC +:10CFF000A853001920018023A84E20711913701C1A +:10D000009005190473F50E04746320710000A85094 +:10D010007032A84C7082A8747086A870708AA88438 +:10D02000708E7036014601D6013601C6015620E9E0 +:10D03000000020A1002AA86C20A8A86020E0A85C1D +:10D040009080002220984003015E01CE013E01DE67 +:10D05000014E20914080200100892004D084190CC9 +:10D06000121C080470C0A853001B20018027082050 +:10D070007004D08C19047248A853001A200180242F +:10D0800008046FFC00E600262071194B7000901513 +:10D090000904724892860003090470DD9286000537 +:10D0A000090470DDA84F8022A8530018080470A559 +:10D0B000A86CD0FC150800E600262001194B2004BE +:10D0C000901509047248A97CA87891051904724842 +:10D0D00092860003090470DD92860005090470DD64 +:10D0E000A880D0BC1904724822000002724870A1C6 +:10D0F00070DD70DD724870DD0005A86CD0FC150095 +:10D1000000E600262009194B210C81FF0904724812 +:10D11000A884908400FF90860001190472489186CB +:10D120000003090470DD91860005090470DDA88004 +:10D13000D0CC09047248A84F8021A85300170028BA +:10D140000005A84F8020A853001620711913701CE9 +:10D150009005190473F50E04746320710000A84C47 +:10D160007082A8507032A87070867036A874708A69 +:10D1700020914080200100892004D084190C121CC9 +:10D180002071180020110001A804900D702C115876 +:10D19000A8022900702E70C0920070C2080C8B1873 +:10D1A000002E00EE000500962148A904A802821076 +:10D1B000290081FF1DC8009E0C58A84F000000F6F2 +:10D1C0002079005020711913A803000070109005F9 +:10D1D000190471CE782C908C0780190C75AF8004DF +:10D1E0008004800490840003000270FB71CE711FE4 +:10D1F000716B080C0D8C2071180029007822A8048E +:10D20000900D116820711A177044900513202001A9 +:10D21000194C2004704600FE002E00EE000590160A +:10D22000702C2148A904A8028210290081FF1DC882 +:10D23000702E70C0920070C2080C8B180C182071F0 +:10D24000180029007822A804900D15A0782400E683 +:10D2500020710040712CD19C117020091830210CD4 +:10D26000918A00200240702220011DC0200C8108FC +:10D27000210200EE005800EE2048702CA802290080 +:10D28000702E70C0800070C2080C8B18782C90949F +:10D290000780190C75AFD0A419C820711A177044F3 +:10D2A000900513202001194C2004704600FE002E2A +:10D2B00000EE00059016702C2148A904A8028210E7 +:10D2C000290081FF1DC8702E70C0920070C2080C2A +:10D2D0008B1808047126009600E6782420482071F7 +:10D2E0001800702CA8022900702E70C0800070C237 +:10D2F000080C8B18782C90940780190C75AFD0A46B +:10D300001D6000EE782C90940780190C75AFD09CAE +:10D310001198009E29007822A804900D15502071C4 +:10D320001A177044900513202001194C20047046F0 +:10D3300000FE002E00EE0005009E290870108000FF +:10D3400070127018904D711A0110A9020008711E18 +:10D350002148A804900D116820711A177044900597 +:10D3600013202001194C2004704600FE002E00EE10 +:10D370000005207118009016702C2148A904A802FD +:10D380008210290081FF1DC8702E70C0920070C2EB +:10D39000080C8B1800FE002E00EE00052908701006 +:10D3A000800070127018904D711A0110A9020008C7 +:10D3B000711E2148A804900D19047222782C9094B3 +:10D3C0000780190C75AFD09C1198701C904D01808E +:10D3D0007010800170121108701AA800701E2900C8 +:10D3E0007822782C90940780190C75AFD09C0D682A +:10D3F000782C90940780190C75AFD0A401B000E68A +:10D400007824204820711800702CA8022900702E62 +:10D4100070C0800070C2080C8B18782C9094078024 +:10D42000190C75AFD0A41D6000EE20711A1770445E +:10D43000900513202001194C2004704600FE002E98 +:10D4400000EE000500E6207118009016702C2148AF +:10D45000A904A8028210290081FF1DC8702E70C087 +:10D46000920070C2080C8B1800EE080471DEA86CE4 +:10D47000D0FC15D00096A804A8070000904D190C08 +:10D480001013009E0018A86CD0FC157000E6002652 +:10D49000A84F000000F62079005020711913A8034E +:10D4A0000000A868908400FF908E0016019870100C +:10D4B000900519047371782C908C0780190C75AF46 +:10D4C00080048004800490840003000272757371EC +:10D4D000729073022009194B21040002725772578F +:10D4E000725770E6725770E6000520711800290027 +:10D4F0007822A804900D112000FE002E00EE0005F9 +:10D500009016702C2148A904A8028210290081FFDE +:10D510001DC8702E70C0920070C2080C8B180C6071 +:10D520002071180029007822A804900D190472F1C6 +:10D530007830D0DC112000FE002E00EE00057824AB +:10D5400000E620710040712CD19C11702009183028 +:10D55000210C918A00200240702220011DC0200C65 +:10D560008108210200EE005800EE2048702CA8022D +:10D570002900702E70C0800070C2080C8B18782CA7 +:10D5800090940780190C75AFD0A419C80E0472E8E6 +:10D5900078387938910E1DE000D620690000683691 +:10D5A0006833001300DE20011924200CC1842102FD +:10D5B00020914080200100892004D084190C121C85 +:10D5C000200119252003000000FE002E00EE0005BA +:10D5D00020011924200CC185210200FE002E00EE3E +:10D5E00000059016702C2148A904A8028210290079 +:10D5F00081FF1DC8702E70C0920070C2080C8B187D +:10D600000804729F009600E67824204820711800D4 +:10D61000702CA8022900702E70C0800070C2080C07 +:10D620008B18782C90940780190C75AFD0A41D60CE +:10D6300000EE0E04734478387938910E1DE000D660 +:10D640002069000068366833001300DE7044C0842F +:10D65000704620914080200100892004D084190C5C +:10D66000121C704B0000782C90940780190C75AF39 +:10D67000D09C1170009E29007822A804900D11E022 +:10D6800000FE002E00EE00057044C08570460C5868 +:10D69000009E29087010800070127018904D711A49 +:10D6A0000110A9020008711E2148A804900D112044 +:10D6B00000FE002E00EE0005207118009016702C60 +:10D6C0002148A904A8028210290081FF1DC8702EDC +:10D6D00070C0920070C2080C8B1800FE002E00EE85 +:10D6E000000529087010800070127018904D711A92 +:10D6F0000110A9020008711E2148A804900D190408 +:10D7000073E0782C90940780190C75AFD09C11B001 +:10D71000701C904D0198A84C9005118070108001EC +:10D7200070121108701AA800701E29007822782C37 +:10D7300090940780190C75AFD09C0D50782C909464 +:10D740000780190C75AFD0A405B800E678242048EE +:10D7500020711800702CA8022900702E70C0800063 +:10D7600070C2080C8B18782C90940780190C75AF38 +:10D77000D0A41D6000EE0E0473D978387938910E6C +:10D780001DE000D62069000068366833001300DE13 +:10D790007044C0847046209140802001008920049C +:10D7A000D084190C121C704B000000FE002E00EEFD +:10D7B00000057044C085704600FE002E00EE000596 +:10D7C00000E6207118009016702C2148A904A802C8 +:10D7D0008210290081FF1DC8702E70C0920070C297 +:10D7E000080C8B1800EE0804738120711913A8032C +:10D7F000000029087010800070127018904D711A86 +:10D800000110A9020008711E2148A804900D1128DA +:10D810001E047420002E00EE0005207118009016E2 +:10D82000702C2148A904A8028210290081FF1DC87C +:10D83000702E70C0920070C2080C8B180E04740A0F +:10D8400020711913701C2048A84C900D0D182071E0 +:10D8500000007182A8507032A87070867036A8746B +:10D86000708AA8509082001912782091408020017F +:10D8700000892004D084190C121C20711913080C83 +:10D88000759B002E00EE0005A8509082001C1E68BB +:10D89000A884708E7036014601D6013601C6015645 +:10D8A00020E9000020A1002AA86C20A8A86020E0A0 +:10D8B000A85C9080002220984003015E01CE013ECA +:10D8C00001DE014E089020711913A80300002908F9 +:10D8D0007010800070127018904D711A0110A9021A +:10D8E0000008711E2148A804900D1118002E00EEAA +:10D8F0000005207118009016702C2148A904A80278 +:10D900008210290081FF1DC8702E70C0920070C265 +:10D91000080C8B18002E00EE00050006A8800006FB +:10D92000A86B010320A9001CA86020E8A85C9080D7 +:10D93000001E20A090064004000E908400FFA882E4 +:10D94000000EA87EA986000520711913700400023C +:10D9500074B074B1759A74B174AE759A080C0D8C6C +:10D9600000052001194B2004000274BB74BB753301 +:10D97000753474BB75340126209180001E0C75BA75 +:10D98000701C904D0508A84C9005090475060E04FE +:10D9900074E4A94C207100007182A8507032A87004 +:10D9A00070867036A874708AA85090820019127818 +:10D9B00020914080200100892004D084190C121C81 +:10D9C00020711913080C759B012E08047532A8509C +:10D9D0009082001C1E68A884708E7036014601D6A5 +:10D9E000013601C6015620E9000020A1002AA86CDA +:10D9F00020A8A86020E0A85C908000222098400326 +:10DA0000015E01CE013E01DE014E08902001005B67 +:10DA1000200490940780190C75AFD09C20711913C5 +:10DA20001500700F0001A968918400FF9086000323 +:10DA30001130810F918C00FF81010108710E2900C6 +:10DA400000D620690050682200DE20711913701C76 +:10DA50002048701080017012A800701E90051108F7 +:10DA6000701A012E0005000500D6200820691A173B +:10DA70006844900507600158918600030540200125 +:10DA80001815200420091B86210C9102150001267F +:10DA90002091800020690050693C6838910601900F +:10DAA0000E047566206900006837804068330012F4 +:10DAB0006883804020914080200100892004D08428 +:10DAC000190C121C20691A176847FFFF012E00DE8F +:10DAD0000126209180001E0C762A701C904D054076 +:10DAE0002001005B20049094078015C9D09C15008C +:10DAF00020711913700F0001A968918400FF9086AE +:10DB000000031130810F918C00FF81010108710E1B +:10DB1000290000D620690050682200DE701C2048D1 +:10DB2000701080017012A800701E90051108701A04 +:10DB3000012E00050005012620918000701C904DEB +:10DB40000160701080017012A800701E900511080D +:10DB5000701A012E080C10930005012E000520916B +:10DB600080000E0475B10006001620018004000636 +:10DB700008040D95009600F6207900507044D0847A +:10DB800001D0C084704678387938910E1DE000D6F7 +:10DB90002069000068366833001300DE2091408061 +:10DBA000200100892004D084190C121C704B000045 +:10DBB00000FE009E0005782C909407801981D0A467 +:10DBC0000DB87148704C8108714A91020E8800E6C8 +:10DBD00020711800782400E620710040712CD19C3F +:10DBE000117020091830210C918A00200240702207 +:10DBF00020011DC0200C8108210200EE005800EE1B +:10DC00002048702CA8022900702E70C0800070C2BD +:10DC1000080C8B18782C90940780190C75AFD0A441 +:10DC200019C878387938910E1DE000D620690000B7 +:10DC300068366833001300DE20914080200100899F +:10DC40002004D084190C121C00EE704B000000FE62 +:10DC5000009E000500F6207900507044D08401B881 +:10DC6000C084704678387938910E1DE000D620695E +:10DC7000000068366833001300DE209140802001E8 +:10DC800000892004D084190C121C00FE0005782C99 +:10DC900090940780190C75AFD0A40DB800E62071E0 +:10DCA000180078242048702CA8022900702E70C01B +:10DCB000800070C2080C8B18782C90940780190C87 +:10DCC00075AFD0A41D7000D620690050693C206952 +:10DCD000194B6808690A20691A17910211186844DB +:10DCE000900513202001194C200C694600DE00EE3F +:10DCF00000FE00057098908A002A1A0C0D8C908204 +:10DD0000001D003B002620111E00080C2B94002E45 +:10DD10000005776F76DC76F87722775E779E77B0AE +:10DD200076F87786769776C577487696000500D69A +:10DD30002069020068049005118068089005151894 +:10DD4000709B0029206919922D047002080C7B1128 +:10DD5000602890850600602A00B0709B0029206929 +:10DD600019922D047002602890850600602A00E652 +:10DD700000360046005620711A81080C1BB9005E5F +:10DD8000004E003E00EE00DE000500D620690200D5 +:10DD9000680490051178680890051160709B00294F +:10DDA000206919922D047002080C7BBD60289085B3 +:10DDB0000600602A00DE0005000620010090080C25 +:10DDC0002B5A000E6124D1E41190080C7821D1D493 +:10DDD0001160D1DC1138D1CC0150709B0020080CAF +:10DDE00078210028709B001D0010709B001F00050B +:10DDF00020010088080C2B5A6124D1CC11E8D1DC19 +:10DE000011C0D1E4119891841E0011D8080C1BE6B2 +:10DE100060E30001600CC0B4600E080C79F72001CB +:10DE20000080080C2B5A709B00290058709B001E24 +:10DE30000040709B001D0028709B00200010709B0C +:10DE4000001F0005080C1BE660E30001600CC0B475 +:10DE5000600E080C79F720010080080C2B5A612411 +:10DE6000D1D41198D1DC1170D1E4114891841E00F5 +:10DE70001118709B00290058709B00280040709B6F +:10DE8000001E0028709B001D0010709B001F0005E5 +:10DE90006124D1D41180D1DC1158D1E411309184A6 +:10DEA0001E001158709B00290040709B001E002826 +:10DEB000709B001D0010709B001F0005200100A03A +:10DEC000080C2B5A6124D1DC1138D1E40138080C3C +:10DED0001BE6709B001E0010709B001D0005080CC7 +:10DEE00078AA6124D1DC1188080C78210016080C6E +:10DEF0001BE6001ED1D41128D1E40138709B001E0E +:10DF00000020709B001F080C7821000500062001EE +:10DF100000A0080C2B5A000E6124D1D41160D1CC82 +:10DF20001150D1DC1128D1E40140709B001E002863 +:10DF3000709B001D0010709B00210005080C78AA42 +:10DF40006124D1D41150D1DC1128D1E40140709B5F +:10DF5000001E0028709B001D0010709B001F000514 +:10DF6000000620010090080C2B5A000E6124D1D429 +:10DF70001178D1CC1150D1DC1128D1E40158709B1B +:10DF8000001E0040709B001D0028709B00200010A8 +:10DF9000709B001F0005001600C600D600E6012693 +:10DFA000206101002069014020711800209180004B +:10DFB000080C79CB11F82001180C200CD1B401D039 +:10DFC000C1B42102002620110200080C2B94002E5F +:10DFD000080C2B406024D0CC0148200100A0080C84 +:10DFE0002B5A080C7CE3080C634F04286028C0CD32 +:10DFF000602A0408080C79E50150080C79DC113816 +:10E0000020010001080C26E9080C799F00A0080CEB +:10E0100078A7017820010001080C26E97098908605 +:10E02000001E01207098908600221118709B002518 +:10E030000010709B0021012E00EE00DE00CE001EBD +:10E040000005002620117832080C8D73002E001672 +:10E0500000262009006420117832080C8D6A002EF9 +:10E06000001E000500E600F60016080CA55F2071F2 +:10E070001800080C77CB001E00FE00EE000500160D +:10E080000026003600C600D600E600F60126207104 +:10E090001800080CA55F2061010020690140209153 +:10E0A0008000080CAFDC20110003080CA8EF201141 +:10E0B0000002080CA8F9080CA7DA080C8D1F00361E +:10E0C000901E080CA85A003E080CAFF86028C09CAF +:10E0D000602A60E30000080CF39B080CF3D22009CF +:10E0E0000004080C2B46080C2A53200118002003BA +:10E0F000000420110008080C2B9420117832080C21 +:10E100008D73080C79E501189006080C2B5A080C41 +:10E110000BD620010001080C26E9012E00FE00EEBE +:10E1200000DE00CE003E002E001E0005002600E6A8 +:10E130002011783F20711A17701C92061118701860 +:10E14000900501109085000100EE002E0005602072 +:10E15000D09C000568009084FFFE908600C001B846 +:10E16000200100C0080C2B5A015620A9002D1D04C7 +:10E1700078B7209160001F0478B7015E00D620694F +:10E180001800689C800102200118689E00DE0005CE +:10E19000689F001468ECD0DC0DC868009086000110 +:10E1A0001DA8080C8D7F0C9000C600D600E62061EB +:10E1B00001002069014020711800080C7CF2200148 +:10E1C0001970200300009006709A60E26886080CBF +:10E1D00027B89006080C2B5A080C6208002620115C +:10E1E000FFFF080C2B94002E602B182C00EE00DE95 +:10E1F00000CE000500C600D600E6206101002069BF +:10E2000001402071180020011980200C9186000027 +:10E2100001589186000101589186000201589186AB +:10E22000000301580804798F709B00220040709B06 +:10E2300000210028709B00230010709B002460E3E5 +:10E2400000006887000020010001080C27B8080CB6 +:10E25000AFDC0026080CB2D3080CB39C002E080CCF +:10E26000AFF87000908E00040118602B0028001099 +:10E27000602B0020015601262091800020A9000576 +:10E280006024D0AC0150012E015E080CDA4E01185A +:10E290009006080C2B840804799B6800908400A1E8 +:10E2A000C0BD6802080C2B406904D1D41140200184 +:10E2B0000100080C2B5A1F047940080C7A1F012E0C +:10E2C000015E080C79DC0170604490050130080C97 +:10E2D0007A1F900680011DF000286804D0D4111028 +:10E2E000080C7A1F080CDA4E01189006080C2B84D3 +:10E2F000001600267000908E00040130200900C82E +:10E300002011783F080C8D31002E001E080C8B0F59 +:10E310007034C08570362001198020030004080C79 +:10E32000767A080C79DC01386804D0D41120D0DC6E +:10E330001100080C7CE800EE00DE00CE000500C6EF +:10E3400000D600E62061010020690140207118001C +:10E35000080C8B26080C8B18080C7CF22001197015 +:10E36000200300009006709A60E26886080C27B8C7 +:10E370009006080C2B5A6043009060430010002662 +:10E380002011FFFF080C2B94002E602B182C00EEA0 +:10E3900000DE00CE000500062001197F20049086D3 +:10E3A000AAAA000E00050006080C59FA9084003055 +:10E3B00090860000000E00050006080C59FA9084B3 +:10E3C000003090860030000E00050006080C59FA57 +:10E3D0009084003090860010000E00050006080CA6 +:10E3E00059FA9084003090860020000E0005003617 +:10E3F00000162001180C2004908C001301680020E6 +:10E40000080C27D8900E00102009000220190028BF +:10E41000080C33E990060019001E003E000500E6D6 +:10E420002071180C2E040130080CDA471128908551 +:10E43000001000109084FFEF207200EE0005605085 +:10E44000000660EC0006600C000660040006602810 +:10E450000006080C2BB7080C2BEA602F0100602F78 +:10E460000000602F0040602F000020A90002080C6F +:10E470002B21002620110040080C2B94002E000EAA +:10E48000602A000E6006000E600E000E60EE60E373 +:10E4900000006887000120010001080C27B8200156 +:10E4A00000A00006080CDA4E000E0130080C2B7894 +:10E4B0009006080C2B840010080C2B5A000E60529A +:10E4C00060500006C0E5605200F620790100080C9B +:10E4D0002AC400FE000E60520005015600160026F8 +:10E4E000003600C600D600E6206101002069014028 +:10E4F00020711800080CB03E01582001038620044A +:10E50000D0B4113020010016080CAFCD08047B03F5 +:10E510002001180C200CC1C4210260289084E1FF66 +:10E52000602A20110200080C2B9420010090080C96 +:10E530002B5A20A903666024D0CC15601D047A9B59 +:10E54000209160001F047A9B080CAFDC20110003AF +:10E55000080CA8EF20110002080CA8F9080CA7DA93 +:10E56000901E080CA85A2001038620037000080C96 +:10E57000AFF8200100A0080C2B5A080C7CE3080C13 +:10E58000634F080CDA4E0110080C0CF8908500015E +:10E5900008047B09080C1BE660E300002001180D4D +:10E5A0002004D08C200100021118200119702004D1 +:10E5B000080C27B860E220010080080C2B5A20A923 +:10E5C000036620111E00080C2B9420091E00080C65 +:10E5D0002B406024910C01401D047AE120916000E1 +:10E5E0001F047AE108047AA4200103862003700046 +:10E5F000602890851E00602A70B490051118688705 +:10E60000000100086886080CDA4E0110080C0CF8AE +:10E61000900600EE00DE00CE003E002E001E015EE1 +:10E620000005015600160026003600C600D600E69A +:10E6300020610100207118007000908600031168AD +:10E640002001020B200490845540908655401128EB +:10E6500020691A8E2D048000206A20690140602004 +:10E66000908400C001206884900519047B7A200101 +:10E670000088080C2B5A900660E26886080C27B8C0 +:10E68000206902006804900511186808900501D0FF +:10E6900060289084FBFF602A20110400080C2B9452 +:10E6A000206919927000206A709B00267003000197 +:10E6B00020A900021D047B5A209160001F047B5A90 +:10E6C00008047BB52069014020A9038420111E00A5 +:10E6D000080C2B9420091E00080C2B406024910C80 +:10E6E000052890841A0015101D047B662091600097 +:10E6F0001F047B66080CAFDC20110003080CA8EF98 +:10E7000020110002080CA8F9080CA7DA901E080CCA +:10E71000A85A080CAFF8200100A0080C2B5A080CCE +:10E720007CE3080C634F9085000100F8080C1BE6A1 +:10E7300020010080080C2B5A2069014060E3000092 +:10E7400070B49005111868870001000868862001E0 +:10E75000180D2004D08C200100021118200119701E +:10E760002004080C27B860E2900600EE00DE00CE20 +:10E77000003E002E001E015E000501560016002618 +:10E78000003600C600D600E62061010020711800A6 +:10E790006020908400C001E8080CAFDC2011000369 +:10E7A000080CA8EF20110002080CA8F9080CA7DA41 +:10E7B000901E080CA85A080CAFF8206901402001EF +:10E7C00000A0080C2B5A080C7CE3080C634F0804CB +:10E7D0007C5F2001180C200CD1B41160C1B521025E +:10E7E000080C78272069014020010080080C2B5A72 +:10E7F00060E30000206902006804900511186808B1 +:10E800009005019060289084FDFF602A201102008D +:10E81000080C2B94206919927000206A709B0027C5 +:10E820007003000108047C5F20111E00080C2B946B +:10E8300020091E00080C2B406024910C01C8908414 +:10E840001C0011B01D047C140006001600C600D682 +:10E8500000E6080C8B6F00EE00DE00CE001E000EFE +:10E8600000E620711A17707800EE900519E8043858 +:10E8700000262011783F080C8C1B20117832080CE0 +:10E880008D73002E2069014060E3000070B4900594 +:10E89000111868870001000868862001180D2004FF +:10E8A000D08C200100021118200119702004080CDE +:10E8B00027B860E22001180C200CC1B4210200EE40 +:10E8C00000DE00CE003E002E001E015E0005015657 +:10E8D000001600260036004600C600E62061010052 +:10E8E00020711800080CDA4719047CCD7130D184EE +:10E8F0001170080C35910138C18D71322011184BFF +:10E900002214D2AC11207030D08C09047CCD20119F +:10E91000184B220CD1A4053800162019000E080C43 +:10E92000EEA7015600B620A9007F900E9186007ECA +:10E9300001A0918600800188080C69771170212060 +:10E94000900600162009000E080CEF3B200900017C +:10E9500020110100080C8F18001E81081F047C96EE +:10E9600000BE015E001ED1AC114800162009000255 +:10E9700020190004080C33E9001E0078015600B687 +:10E9800020A9007F900E080C69771110080C6369AC +:10E9900081081F047CC300BE015E080C1BE6080C46 +:10E9A000AFDC080CB39C080CAFF860E30000080C67 +:10E9B000634F080C78FA00EE00CE004E003E002EA9 +:10E9C000001E015E000520011980200300010005E2 +:10E9D000200119802003000000052001197F200379 +:10E9E000AAAA00052001197F20030000000520715C +:10E9F00018FD7003000070070000080C107A090C65 +:10EA00000D8CA8AFDCB02900704E080C107A090CF0 +:10EA10000D8CA8AFDCB029007052A86B0000A86F65 +:10EA20000001A8A30000000500E62071004068482E +:10EA3000900511189085000104B0684090050150C0 +:10EA400004A16A5092007002685491017006900609 +:10EA50007012701668507002685470066858700A18 +:10EA6000685C700E6840900511107012701668484E +:10EA7000701A701C90850040701E2001001A7036BC +:10EA8000702B000120010004200C918CFFF7918D68 +:10EA90008000210200D6206918FD6807000100DE11 +:10EAA000080C8330900600EE0005900E015620A958 +:10EAB00000068003818D1F047D59015E00052079C9 +:10EAC0000040207118FD700400027D6F7D707DBCD8 +:10EAD0007E177F777D6D7D6D7FA1080C0D8C000505 +:10EAE0002079004020011DC020030000782C908C6C +:10EAF0000780190C8412D0A4057820011DC02004C1 +:10EB00009082008016481D047D8D20011A1A200C69 +:10EB10008109051020916000210278242048900688 +:10EB2000A802A806A868908400FF908A00400610FA +:10EB300000C020011800200C9186000311687004A9 +:10EB400000027DAC7D767DAC7DAA7DAC7DAC7DACDC +:10EB50007DAC7DAC080C7E17782CD09C09048330EA +:10EB600000059082005A12182100003B0C10080C7E +:10EB70007E4D0C9000E308E800057E4D7E4D7E4DF5 +:10EB80007E4D7E4D7E4D7E4D7E4D7E6F7E4D7E4D0B +:10EB90007E4D7E4D7E4D7E4D7E4D7E4D7E4D7E4D1D +:10EBA0007E4D7E4D7E4D7E4D7E4D7E4D7E4D7E4D0D +:10EBB0007E4D7E597E4D80977E4D7E4D7E4D7E6F83 +:10EBC0007E4D7E5980D88119816081747E4D7E4D45 +:10EBD0007E6F7E597E837E4D7F4B821F823A7E4DB3 +:10EBE0007E6F7E4D7E837E4D7E4D7F41823A7E4D8F +:10EBF0007E4D7E4D7E4D7E4D7E4D7E4D7E4D7E4DBD +:10EC00007E977E4D7E4D7E4D7E4D7E4D7E4D7E4D62 +:10EC10007E4D7E4D83B67E4D83607E4D83607E4DFE +:10EC20007EAC7E4D7E4D7E4D7E4D7E4D7E4D20795F +:10EC300000407004908600031198782C080C8359CA +:10EC4000D0A40170782420489006A802A806A868DD +:10EC5000908400FF908A001A1210002B0C5000E9DB +:10EC6000080C833000057E4D7E5980837E4D7E5991 +:10EC70007E4D7E597E597E4D7E5980837E597E59C8 +:10EC80007E597E597E597E4D7E5980837E4D7E4DC4 +:10EC90007E597E4D7E4D7E4D7E5900E6207118FDD9 +:10ECA00020090400007100EE000520091000004951 +:10ECB000000520092000002900052009080000099E +:10ECC000000570070001A86C908400FF9105A86EF4 +:10ECD000012620918000080C7243012E0005A868CF +:10ECE0008007908400FF0D0880011120700700014B +:10ECF0000804802070070003701229007016701A33 +:10ED0000704B80200005A8688007908400FF096888 +:10ED100080011120700700010804803B7007000388 +:10ED2000701229007016701A704B803B0005A8689D +:10ED30008007908400FF09047E5580011120700730 +:10ED40000001080480577007000370122900701634 +:10ED5000701A704B80570005A8688007908400FFE8 +:10ED60009086000119047E557007000120091834AF +:10ED7000210C81FF19047F182001180D2004D08C6C +:10ED800009047F03A9A0918600FF05E8A998918650 +:10ED9000006F01889186007415B0002620110010C4 +:10EDA000080C6E66002E05780016A99C080C6EB043 +:10EDB000001E15480400080C79CB0140A89B4005B3 +:10EDC000A89F001620010030900E04380026201164 +:10EDD0008008080C6E66002E01B000160026003672 +:10EDE000A99CAAA4ABA0918D8000080C6EB0003E37 +:10EDF000002E001E1140A89B4005A89F400920013D +:10EE00000030900E0050A86C908400FFA86EA88778 +:10EE10000000080C65DD1108000501262091800026 +:10EE2000A86B0139A87EA986080C7243012E0CA09C +:10EE3000A9989186007109047EBC9186006409043A +:10EE40007EBC9186007C09047EBC91860028090462 +:10EE50007EBC9186003809047EBC91860078090446 +:10EE60007EBC9186005F09047EBC91860056090431 +:10EE70007EBCA89B4005A89F000120010030900E99 +:10EE80000860A880908400C0908600C011207007A0 +:10EE900000010804825129007016701A20A900048C +:10EEA000A86020E0A85C908000312098705020403D +:10EEB000A06020E8A05C9080002420A04003A88CE3 +:10EEC0007012908204011A047E5DAAB8928A000230 +:10EED0001A047E5D82FF1138A8BCA9C091050118F3 +:10EEE00020017FDE001892807FD4200570567010BC +:10EEF000901509047FBF080C107A111870070004E0 +:10EF000000052900702270542060E000A86A70504B +:10EF10002040A95CE0049100A07AA860A076E008F7 +:10EF2000920A1210900E22007112E20C8003800BE4 +:10EF30009296000401089108A17E810BA182080C21 +:10EF4000116AA070908E0100017090860200011875 +:10EF500070070007000570202048080C10937014FB +:10EF6000204808047E5D702020487018A802A80779 +:10EF7000000029082048A906711A08047F77701438 +:10EF8000204870070001A8B890051128A8BCA9C0A6 +:10EF90009105010800B9A868908400FF9086001EC2 +:10EFA00009048251080480207FD67FDA0002001E07 +:10EFB00000070004000A001C00050006000A001EED +:10EFC0000005000400760066AFBCAEC0A804205067 +:10EFD000B0C4B0E6B0C0B0E2B0BCB0D6B0B8B0D249 +:10EFE000B6DEB7DAB0B4B0CEB0B0B0CAB0ACB0BE76 +:10EFF000B0A8B0BAB6C6B7C2B0A4B0B6B0A0B0B2EE +:10F00000B09CB0A6B098B0A2B6AEB7AAB094B09E6D +:10F01000B090B09AB08CB08EB088B08AB696B792E5 +:10F02000B084B086B080B082B07CB076B078B07278 +:10F03000B67EB77AB00490551958006E007E000570 +:10F0400020091834210C81FF1178080C63E01108A5 +:10F050000005080C748D012620918000080CD62A2A +:10F06000080C7243012E0CA0080CDA471D70200119 +:10F070000028900E0C7020091834210C81FF118893 +:10F08000A88C90050188A8870000080C646A110804 +:10F090000005A87E012620918000080C7243012EF5 +:10F0A0000CB8200100280CA8200100000C900419C5 +:10F0B00011D8A88C900501E0A8870000A880D0A4F2 +:10F0C0000120080C653F113800059006A87E080C49 +:10F0D00064B711080005012620918000A87EA9864A +:10F0E000080C7243012E0CB020010028900E0C98E1 +:10F0F000200100000C8000C62061180060D090053F +:10F10000010000CE00057018A80229082048A906B1 +:10F11000711A70108001701201187007000300301E +:10F1200070142048700700017048080F000500B6F1 +:10F1300070070001A978A87C908400FF90960004D5 +:10F14000054020A90001909600010190900E20A991 +:10F150000800909600020160900511D8A978080C6B +:10F16000697711B80066AE84080C6A94006E008856 +:10F1700000462011180C2224C4842412004E00C61C +:10F18000080C69771110080C6C9B81081F0480C063 +:10F1900000CEA880D0841120080C109300BE00057A +:10F1A000012620918000080C7243012E00BE00054C +:10F1B00001262091800070070001080C6E27058051 +:10F1C00020611A866100D1840178A88C908400FFA8 +:10F1D00015506000D0840520600490051538600348 +:10F1E0000000600B000000C820110001A8949005E9 +:10F1F00011102001001E80006016A88C908400FF72 +:10F2000001786006A88C8007908400FF0148600A9E +:10F21000A88C80001108C28D6202012E0804831A96 +:10F22000012E08048314012E0804830E012E080405 +:10F23000831101262091800070070001080C6E27C1 +:10F2400005E020611A866000D08405B86204630876 +:10F25000D08C1530AC7C948400030170A98C918C07 +:10F2600000FF80011120210092100620002880015B +:10F2700015082100921202F09484000C0188A98CD8 +:10F28000810F918C00FF90820004112021009318BF +:10F29000028800309082000411682100931A025005 +:10F2A000A89490050110800060166206630A012E82 +:10F2B0000804831A012E08048317012E08048314FE +:10F2C0000126209180007007000120611A866300EA +:10F2D000D38C1120630883180220630A012E0804CE +:10F2E0008328012E0804831700B6012600C620914A +:10F2F000800070070001A880D0AC014800C62061E2 +:10F300001A8660009084FCFF600200CE0440A88C46 +:10F31000900505D8A8909065059820011834200420 +:10F3200090050118080CB4A800686017F400606329 +:10F330000000A980D1A40110A984616220090041C4 +:10F34000080CB50AA98C918CFF0091862000113819 +:10F350000026900E2011FDFF080C8F18002EA880AB +:10F36000D0C4014820611A866000D08C112060084A +:10F3700080000208600A00CE012E00BE0804831A35 +:10F3800000CE012E00BE08048314A9889186002EA9 +:10F390000D309186002D0D1891860045051091863F +:10F3A000002A11302001180C200CC194210208B849 +:10F3B000918600200158918600291D10A978080C1B +:10F3C00069771968B800C0E4B8020848A890906549 +:10F3D00009B860070024200119892004601A080474 +:10F3E00081AFA8909065096000E6A894907520010F +:10F3F0001834200490050150080CB4A88EFF0118A1 +:10F400002E60080CB4A800EE080481AF6024C0DCB4 +:10F41000C0D560262E606007003AA8A49005013090 +:10F420006007003BA8A8602EA8AC6016600300012E +:10F4300020098020080C98BC00EE080481AF2061F0 +:10F440001A866000D0840190D08C1904832801268C +:10F45000209180006204821002206206012E0804BE +:10F460008328012EA887001608048321A887000797 +:10F4700008048321A8688007908400FF0130800180 +:10F4800011387007000100690005080C7E55004026 +:10F4900070070003701229007016701A704B8251A9 +:10F4A000000500B600E6012620918000903E206114 +:10F4B000180061D081FF190482D36130D1941904FE +:10F4C00082FDA87C20709E821DDC0A0482C76068D1 +:10F4D0009E021A0482C7712091860006190482B91F +:10F4E0007010905D090482D3B800D0E4190482F74B +:10F4F00020611A866100918403019086000115A0A5 +:10F500007024D0DC19048300A8870000A803000041 +:10F5100029087014900511987116A880D0F4190468 +:10F520008303080C59F6D09C1118A880C0CCA8827F +:10F530002E60080C8E08012E00EE00BE000520484B +:10F54000A80090051DE0A9022148A880D0F4190464 +:10F550008303012E00EE00BE0005012E00EEA887F9 +:10F56000000600BE08048321D1840DB8D1C41190D7 +:10F5700000A0A978080C697715D0B800D0E415B8B8 +:10F580007120918600071118A88700020490A887AF +:10F5900000080478A887000E0460A88700170448B4 +:10F5A000A88700350430080C59FAD0FC01E8A87C83 +:10F5B00020709E821DDC02C060689E0212A871202D +:10F5C0009186000611887010905D0170B800D0BC63 +:10F5D0000158203900017000908600071904825DEF +:10F5E000700300020804825DA88700280010A88725 +:10F5F0000029012E00EE00BE0420A887002A0CC8B6 +:10F60000A88700450CB02E6020190002601B001472 +:10F61000080CEA29012E00EE00BE00052009003E7C +:10F620000058200900040040200900060028200995 +:10F630000016001020090001A8889084FF009105A1 +:10F64000A88A012620918000080C7243012E000533 +:10F65000080C1093000500D6080C8DFF00DE000595 +:10F6600000D600E601262091800020710040702C19 +:10F67000D08401D8908C0780190C8412D09C11A8DA +:10F680002071180070C090EA00200278800170C2DA +:10F69000702C2048A800702E9006A802A8062071A1 +:10F6A000004029007022702C0C28012E00EE00DE94 +:10F6B0000005000690840780190C8412000E0005D6 +:10F6C000A89C9084000305A8080CB41705D829004D +:10F6D0006016A868908400FF908600351138602875 +:10F6E000C0FD602A2001196E20040098A8A490840F +:10F6F00000FFA9A0918CFF009105A9A0918C00FFAB +:10F70000080C2744154000B6080C69772B0000BE92 +:10F71000151060126023000120090040A868908441 +:10F7200000FF90860035011020090041080CB50A41 +:10F730000005A87F0101012620918000080C72437A +:10F74000012E0005A87F002C012620918000080CC6 +:10F750007243012E0005A87F002801262091800019 +:10F76000080C7243012E080CB46D000500D600C6CB +:10F7700000360026001600B670070001AA789282B3 +:10F7800000041A048403A980918810002104905D6C +:10F79000B804D284014005E88007908400FF90847B +:10F7A0000006110804B02B10080CB4171118080C2F +:10F7B000B4DD05A86212A878000283E183E683E93C +:10F7C00083EF20190002080CEEA70060080CEE324F +:10F7D000004820190002A984080CEE510018A984E1 +:10F7E000080CEE32080CB46DA88B000001262091A5 +:10F7F0008000080C7243012E00BE001E002E003E49 +:10F8000000CE00DE0005A88B00060C80A88B00024D +:10F810000C68A88B00050C50A88B00040C38A88B32 +:10F8200000070C20209180000E04841400060016AE +:10F8300020018003000608040D95200118342004DF +:10F8400090050005000500F6207903002001020064 +:10F85000200CC1E5C1DC210220090218210CD1ECE9 +:10F860001120080C16C100FE00052001020D200326 +:10F870000020781F030000FE0005781CD08C0904CE +:10F88000849868C090AA00050A048B0F7D447C40D0 +:10F8900094840FFF6892D59C190C0D8C958400F60A +:10F8A0001508948470000138908A200012589584BD +:10F8B0000700800704F070009084FF0090868100AC +:10F8C0000DB000B094840FFF113070009084FF00E1 +:10F8D0009086810011C0080CF373080C89F6781724 +:10F8E000014000A8958400761118080C8A5219C8A6 +:10F8F000D5A4014800460056080C84E5080C2220D7 +:10F90000005E004E0020080CF37378170140080CCD +:10F9100079CB0168200101112004D08C014068934B +:10F9200000002001011020030008200300000471E2 +:10F930000005000284A587E584A284A284A284A293 +:10F9400084A284A27817014000057000908CFF000B +:10F950009194F000810F92862000115068009086EB +:10F9600000011118080C5A560070080C8505005843 +:10F97000928630001118080C870E002892868000AD +:10F980001110080C89157817014000052001181086 +:10F990002004D08C017820011800200490860003F8 +:10F9A000114800260036201180482518080C4E48C2 +:10F9B000003E002E000500360046005600F6207975 +:10F9C00002002019FFFE7C30005000360046005631 +:10F9D00000F6207902007D447C402019FFFF2001C1 +:10F9E00018102004D08C016020011800200490869B +:10F9F00000031130002620118048080C4E48002ECC +:10FA000000FE005E004E003E000500B600C670100D +:10FA10009084FF00800790960001012090960023BB +:10FA2000190486DB6890908200040A0486DB9186C4 +:10FA3000002315E8080C89BB090486DB6120918648 +:10FA400000010150918600040138918600080120D0 +:10FA50009186000A190486DB7124610A7030908E49 +:10FA60000200113020090015080CB50A080486DBD5 +:10FA7000908E02140118908E02101130200900158A +:10FA8000080CB50A080486DB908E0100190486DB99 +:10FA900070349005190486DB6890908200080A048F +:10FAA00086DB20090016080CB50A080486DB91865F +:10FAB0000022190486DB7030908E0300158068DC0C +:10FAC000D0A40528C0B568DE7100918C00FF697E66 +:10FAD0007004688200F62079010079E678EA000671 +:10FAE000908400FF00162008080C278D79327936A3 +:10FAF000001E000E00FE080C2744695E703C00E604 +:10FB00002071014070862071180070B600EE7034CC +:10FB10009005190486DB200900170804868B908E57 +:10FB20000400119070349005190486DB080C79CB21 +:10FB300001202009001D0804868B68DCC0A568DE52 +:10FB4000200900300804868B908E05001140703427 +:10FB50009005190486DB200900180804868B908E16 +:10FB600020101120200900190804868B908E211086 +:10FB700011202009001A0804868B908E5200114033 +:10FB800070349005190486DB2009001B0804868B5D +:10FB9000908E5000114070349005190486DB2009C6 +:10FBA000001C0804868B908E13001120200900345D +:10FBB0000804868B908E1200114070349005190451 +:10FBC00086DB200900240804868B908CFF00918E30 +:10FBD000240011702009002D200118102004D09C51 +:10FBE0000904868B080CE22C190486DB080486893C +:10FBF000908CFF00918E530011202009002A0804E8 +:10FC0000868B908E0F001120200900200804868B1F +:10FC1000908E610415A0202902052011026D820832 +:10FC20002204909204011A0486DB909400031904C4 +:10FC300086DB6A9092120A0486DB90820004090433 +:10FC400086DB8004800420A820118015211C8108F7 +:10FC500000462124080C4E48004E81080F048639C6 +:10FC6000918602801D8825048000202A20090260D8 +:10FC70000C58202B0000200900230804868B908E4E +:10FC8000600011202009003F0804868B908E5400EC +:10FC90001138080C8ABF190486DB2009004604D8F5 +:10FCA000908E55001148080C8AE711182009004170 +:10FCB0000490200900420478908E780011182009E1 +:10FCC00000450448908E100011182009004E0418B9 +:10FCD000908E630011182009004A00E8908CFF0004 +:10FCE000918E560011182009004F00A8908CFF003B +:10FCF000918E57001118200900500068908E7D00E9 +:10FD000011182009005300382009001D6838D0D48C +:10FD100001102009004C00162011026322048211F8 +:10FD2000220C080C2744190486DE080C6905190406 +:10FD300086DEBE12BD16001E0016080C79CB01C06F +:10FD400068DCD08C11487000908400FF118870042A +:10FD50009084FF0011680040687C96061148688016 +:10FD600095069084FF001120958400FFB8860080DE +:10FD7000B88490051168918600461150687C9606FB +:10FD80001138688095069084FF001110001E0098BD +:10FD9000080CB41701C82B086112602300047120FD +:10FDA000610A001E9186004C11106023000A0016A3 +:10FDB000001E080CB50A00CE00BE0005001E0CD8BF +:10FDC00090850001001E0CB82001180E2004D0EC14 +:10FDD000012020118049080C4E48080CB4DD0D703C +:10FDE0002B086112602300047120610A001E0016B6 +:10FDF00091860017011891860030112860070009CC +:10FE00006017290000206007005160170000602F74 +:10FE1000000960030001080C98C30880080C8B2EB1 +:10FE20001158080C355B114070109084FF0080075A +:10FE3000908E000811080009000500B600C60046B3 +:10FE40007000908CFF00810F918600331538080CEC +:10FE500089BB0904877A7124610A68909082000442 +:10FE60000A04877A7030908E020011487034900531 +:10FE70001904877A20090015080CB50A04D8908E59 +:10FE8000010015C07034900515A868909082000894 +:10FE9000068820090016080CB50A04609186003215 +:10FEA00015487030908E14001528689090820010CC +:10FEB000060820090038001620110263220482116E +:10FEC000220C080C274411A8080C69051190BE12D9 +:10FED000BD16080CB41701682B086112080CD7C0B6 +:10FEE000602300047120610A001E080CB50A00108E +:10FEF00000CE001E004E00CE00BE000500B600463B +:10FF000000E600D620282130969600FF11B8959281 +:10FF1000FFFC02A09596FFFD11202009007F080438 +:10FF200087DC9596FFFE11202009007E080487DCFF +:10FF30009596FFFC11182009008004F020110000A4 +:10FF400020191837231CD3AC0130902620A90800B3 +:10FF50002071100000302021008120A9077F20712E +:10FF600010812E1C93DD0000114082FF11D0949669 +:10FF700000FF01B82410C2FD00A0BF1026009706A4 +:10FF8000B814112095461110240800B09745114867 +:10FF900094C6007E013094C6007F011894C600808C +:10FFA0001D2084208E701F0487B182FF1118908558 +:10FFB00000010018C2FC2208900600DE00EE004E90 +:10FFC00000BE0005908500010CC020011837200CF0 +:10FFD000918400800110D18C01387000908CFF005A +:10FFE000810F9184000F001A7817014000058807DF +:10FFF0008807880789CD8807880A883788C68807D0 +:020000021000EC +:100000008807880788078807880788078807781778 +:100010000140000500B67110D1BC051071202160AF +:100020009C8C000311E89C8A1DDC02D068689C024D +:1000300012B87008908400FF61102158B910910621 +:100040001178700CB9149106115894840FFF9082A6 +:10005000000C02507124610A20090046080CB50A00 +:100060007817014000BE0005080C8B3D0CC800B697 +:1000700000C67110D1BC1904889F7108700C20282B +:10008000918C00FF21309094FF001904888681FF35 +:1000900015E89080359D200D918CFF00810F200187 +:1000A000008091060904889F94840FFF90820020AD +:1000B0000A0488A4918208011A04889F9190100074 +:1000C0002204905D05E0BE12BD16B800D0EC15B854 +:1000D000BA049294FF00928606001190080CB4179F +:1000E00005B02B087028604E702C6052611260239E +:1000F00000067120610A7130615E080CE4B000F8FE +:10010000080C6E2B1138B80706060C40190C877EB8 +:1001100011B00880080CB4172B0801886112602305 +:1001200000047120610A928604001118600700051E +:1001300000106007000160030001080C98C37817E5 +:10014000014000CE00BE0005080C8B3D0CC0200114 +:10015000180E2004D0EC012020118049080C4E48D4 +:10016000080CB4DD0D602B086112602300067120BD +:10017000610A7130615E6017F3006003000160077F +:1001800000412009A022080C98BC08C800B67110D4 +:10019000D1BC05D0702020609C84000315A89C82EF +:1001A0001DDC069068689C0216787008908400FF39 +:1001B00061102158B91091061538700CB9149106C8 +:1001C000151894840FFF9082000C06107124610AA8 +:1001D000601CD0FC11C82001027120049005118020 +:1001E00094840FFF9082000C0158006620310100BA +:1001F000A001A00186311DE0006E601CD0FC112022 +:1002000020090045080CB50A7817014000BE00051A +:10021000080C8B3D0CC86120918600020128918654 +:1002200000050110908500010005080C8B2E11803F +:10023000080C355B116870109084FF008007908671 +:10024000000011309184000F908A00061208000B04 +:100250000005892F8930892F892F899589A8000564 +:1002600000B6700C7108080C274419048993080C17 +:10027000690519048993BE12BD167110D1BC0540E1 +:10028000702CD0841120B800D0BC19048993080CBC +:100290006E2B0148908600040130080C6E33011863 +:1002A00090860004158800C6080C89BB00CE05D8CE +:1002B000080CB4172B0805B86112080CD7C06023CE +:1002C00000027120610A20090088080CB50A045850 +:1002D000080C6E2B0148908600040130080C6E3328 +:1002E0000118908600041180080CB4172B0801D85F +:1002F0006112080CD7C0602300057120610A200933 +:100300000088080CB50A0078080CB4172B080158AF +:100310006112080CD7C0602300047120610A200913 +:100320000001080CB50A00BE000568909082000C20 +:1003300002707110D1BC015800F10148080C890B02 +:1003400011307124610A20090089080CB50A0005E2 +:1003500068909082000402707110D1BC015800595D +:100360000148080C890B11307124610A2009008AA8 +:10037000080CB50A0005702020609C840003115809 +:100380009C821DDC02402001181A20049C021218D5 +:1003900090850001000590060CE800B67110D1BCF4 +:1003A00011F0702420609C84000311C89C821DDC25 +:1003B00002B068689C0212987008908400FF611077 +:1003C0002158B91091061158700CB91491061138C2 +:1003D000699081FF114020090051080CB50A781777 +:1003E000014000BE0005080C8B3D0CC82031010502 +:1003F000006900052031020600490005203102078E +:1004000000290005203102130009000500C60096EE +:1004100000F670009084F0009086C00005C0080CC3 +:10042000B41705A8006600C6004620110263220426 +:100430008211220C080C27441590080C69051578C8 +:10044000BE12BD162B00004E00CE6012080CD7C0A5 +:10045000080C10610500290060629006A802A86AD5 +:10046000AC6EA85C90F8001C20A9000EA86020E8E3 +:1004700020E100002FA02E984003006E6616600752 +:10048000003E6023000160030001080C98C300FED9 +:10049000009E00CE0005080CB46D006E0CC0004E2E +:1004A00000CE0CC800C67000908CFF009184F00054 +:1004B000810F9086200019048AA99186002215F0E8 +:1004C000200101112004900519048AAB7030908E30 +:1004D000040009048AAB908E600005E8908E5400F9 +:1004E00005D0908E030011D820091837210CD18C2B +:1004F0001590D1A41580080C6DE9058868B090842A +:1005000000FF7100918C00FF91061518688069B09A +:10051000918CFF0091057104910611D800E020092B +:100520000103210CD1B411A8908E520009E8908EDD +:10053000050009D0908E500009B80058918600231C +:100540001140080C89BB0128600490860002011844 +:100550000000900600109085000100CE000570306C +:10056000908E03000118908E52001D9820011837BC +:10057000200490840009908600080D680C500156F4 +:1005800000460016003670382020842794A4000707 +:10059000D484014820A90004201918052011027AEA +:1005A000080CC5901178D48C014820A900042019AA +:1005B00018012011027E080CC5901120D49401105E +:1005C00090850001003E001E004E015E00050156B0 +:1005D00000460016003670382020842794A40007B7 +:1005E000D484014820A900042019180520110272A2 +:1005F000080CC5901178D48C014820A9000420195A +:10060000180120110276080CC5901120D494011015 +:1006100090850001003E001E004E015E000500F6C0 +:10062000207902007800C0E5C0CC780200FE000509 +:1006300000F6207918007834D08411302079020037 +:10064000780090851200780200FE000500E6207117 +:1006500018007034C084703600EE000500162001CA +:100660001837200C918400800118D18C0118900655 +:10067000001E0005908500010CD8001620091849BD +:10068000210480000208200A001E000520711A17AC +:1006900070030003700F03619006701A707A701275 +:1006A00070171DDC700700007026702BA57F70325C +:1006B0007037A5FC7047FFFF704A704F5875705235 +:1006C00070638D3A080C107A090C0D8C2900704269 +:1006D000A86B0003A8730100A8AFDCB0000520716F +:1006E0001A171D048C0A20916000700C8001700E96 +:1006F00015902001013C20049005190C8DE4200187 +:10070000186C2004D0C401583A00D08C114020D17C +:10071000000020D1000120D10000080C0D8C700FCA +:1007200003617007000101262091800020691800F4 +:1007300069ECD1E41138D1DC1118080C8DA8001037 +:10074000080C8D7F7048900D01488109714A113065 +:10075000704C080F00180126209180007024900D25 +:1007600001887020800170221168702300098109BE +:100770007126918603E811107028080F81FF11106F +:100780007028080F7030900D0180702C8001702E41 +:100790001160702F00098109713201289184007F56 +:1007A000090CA6AB00107034080F704490050118B6 +:1007B0000310800170467054900D016870508001E4 +:1007C00070521148705300098109715611207158F7 +:1007D00071567060080F7018900D01D8001670786F +:1007E000900D01587074800170761138707700098F +:1007F0008109717A1110707C080F001E7008800149 +:10080000700A1138700B00098109711A1110701CDF +:10081000080F012E700400028C328C338CA900E684 +:1008200020711A17701890051120711A721E700B22 +:10083000000900EE000500E6000620711A17701C82 +:1008400092061120701A701E707A707E000E00EEF3 +:10085000000500E620711A17B88891020208B98ACB +:1008600000EE0005000500B62031001071100126D1 +:10087000209180000066080C697719048C98B8886C +:1008800080010268B88A1158B8D0900509048C9884 +:100890000026BA3C0016080C6AC4001E002E901EEA +:1008A000B8D0904D09048C98A86490050118800177 +:1008B000A86601282918A800904D05D00CA8A88882 +:1008C00090A2199A027090821999A88A90A2199AF6 +:1008D0000210200119998003802384239420AC66A0 +:1008E0000C48AC00A803000083FF1150B8CC990657 +:1008F0001128B8D30000B8CF00000050BCD200408F +:1009000000962348AC02009EB8CC99061108BBCED5 +:10091000A86B0103A87F0006A87B00000016003624 +:100920000046080C7243004E003E001E24000820C2 +:10093000006E012E81089182080012288631013054 +:10094000711208048C37900E70070002711200BEFD +:1009500000052031001070142060012620918000D5 +:100960006048900501288001604A1110080CD641AA +:100970006018900509048D0100F6207903007918AC +:10098000D1B419048D14781B2020A0017918D1B49A +:100990000120781B200008048D148001601A0106D4 +:1009A000781B2000A0017918D1AC1DD0010E00FEEB +:1009B00015406120918600030148918600060130B0 +:1009C0009186000911E0611CD1C41100080CD312FA +:1009D00001B060142048A888908A199A02809082F9 +:1009E0001999A88A908A199A0210200119998003EE +:1009F000800B810B9108611A080CDA980110080C21 +:100A0000CFCB012E9C88001C71162001181A2004DF +:100A10009102122886310138216008048CAD7017CC +:100A20001DDC70070000000500FE0C5800E6207178 +:100A30001A17702707D07023000900EE0005200167 +:100A40001A2020030000000500E620711A177132F9 +:100A5000702F000900EE000520111A23201300005A +:100A6000000500E620711A17711A721E700B00093A +:100A700000EE000500860026705C8000705E20019C +:100A80001A272044A0709086000001507070A09E2C +:100A9000706CA09A7068A0967064A092080C116A9D +:100AA000002E008E000500060016009600A600B677 +:100AB00000C600D600E600F60156080C8B6F015EFA +:100AC00000FE00EE00DE00CE00BE00AE009E001E66 +:100AD000000E000500E620711A17717A727E707799 +:100AE000000900EE000500E6000620711A17707C70 +:100AF00092061110707A707E000E00EE00052069DB +:100B0000180069ECD1E415180026D1EC01406A54B4 +:100B10006874920202888117929400C100889184BF +:100B2000000701A0810991840007011069EE00709F +:100B3000810790840007910D81079106909400C170 +:100B40009184FF3E920568EE080C0F2C002E0005E4 +:100B500069E89184003F05B881099184003F01A8AC +:100B60006A54687492020220D1BC0168C1BC0018AA +:100B7000D1BC1148C1BD211000E620711800080C3D +:100B80000F4E00EE040069EA00F000268107909401 +:100B90000007012880018007908500070050201081 +:100BA000800480048004908400079205800790856B +:100BB000002890860040201000E620711800080CE4 +:100BC0000F4E00EE002E0005001600C62009FFF4AF +:100BD000210D2061010060F0910060F30000200908 +:100BE000FFF4200F1220810821058000200F00CE85 +:100BF000001E000500C620611A8600CE0005918403 +:100C0000000F80038003800390801A862060000517 +:100C1000A888908A199A16389005115000C620614C +:100C20001A86601400CE900511302001001E0018B5 +:100C3000908EFFFF01B08003800B810B9108611A39 +:100C4000A880908C00C0918E00C009048EC2D0B4E0 +:100C50001168D0BC19048E9B20090006080C8EEF89 +:100C60000005900E0C602001199908B0D0FC05E039 +:100C7000908C2023156887FF1558A9AC81FF15407B +:100C80006124918C050015206100918E00071500EC +:100C90002009186C210CD18411D86003000360076F +:100CA00000436047B035080C1D0AA880C0DDA8824B +:100CB000600F000000F6207903807818D0BC1DE892 +:100CC000783300132C007836781B808000FE0005F6 +:100CD000908C00030120918E000319048EE9908C02 +:100CE0002020918E202001A86024D0D411E8200972 +:100CF000186C2104D084113887FF1120200900438B +:100D00000804B50A000587FF1DE820090042080411 +:100D1000B50A611000B62158B90000BED1AC0D2053 +:100D20006024C0CD60260C00C0D46026A894602E3C +:100D3000A890603208E0D0FC0160908C0003012094 +:100D4000918E000319048EE9908C2020918E202032 +:100D50000170007600F62C78080C183F00FE007E2B +:100D600087FF112020090042080CB50A0005611018 +:100D700000B62158B90000BED1AC0D586124C1CDD8 +:100D800061260C38D0FC0188908C2020918E202088 +:100D900001A890840003908E0002014887FF112073 +:100DA00020090041080CB50A000500B90CE887FFCE +:100DB0001DD820090043080CB50A0CB0611000B61C +:100DC0002158B90000BED1AC0D206124C1CD6126EF +:100DD0000C002009000400190005200900010096FC +:100DE000080CD312051860142048A986A8006016C4 +:100DF000918600011188A980918C8100918E8100DB +:100E0000115800C620611A866200D28C112062043B +:100E100082100208620600CE080C707D6014904DAE +:100E2000007620390000190C8E08007E009E000517 +:100E3000015600C620611A86600081FF01109205EC +:100E400000089204600200CE015E00056800D08CAC +:100E500011386808900501208001680A908500011A +:100E60000005207119277003000670070000700F3D +:100E7000000070130001080C107A090C0D8CA86B8F +:100E80000006A86F0001A8AFDCB0A8A300002900ED +:100E9000702E70330000000501262091800000961E +:100EA00000E620711927702C20486A2C721E6B30C6 +:100EB000732268347026A89A6838702AA89E68241D +:100EC0007016683C701A20090028200A9005014815 +:100ED000900E9188000C80011DE0210092101208F4 +:100EE0008318AA92AB967010D0840168C0847007F2 +:100EF0000001700F0000000620091B86210490826B +:100F00000007200A000EC095701220082001003B47 +:100F1000080C174290062071194070027006702A62 +:100F200000EE009E012E000520091B862104908002 +:100F30000007200A000500E60126015620918000E6 +:100F400020711800715420010008910A0638200110 +:100F5000188020AC9006908000081F048FAB71C0F1 +:100F6000910202E02071187A20A9000700C6080C3F +:100F7000B4176023000960030004601F01010089A9 +:100F8000012620918000080C912F012E1F048FB79D +:100F9000900600CE015E012E00EE00059085000156 +:100FA0000CC800E600B600960086005600460026F3 +:100FB0007118720C76207004D0841128202100242E +:100FC0002029000200202021002C2029000A080CE2 +:100FD0001061090C0D8C290060162058AC6A90062F +:100FE000A802A806A86E080C1130A88B0005A883DB +:100FF00000207008A89E7010A8A2AE8EA8B3FFFFB4 +:1010000081090170080C1061090C0D8CAD6A080C87 +:1010100011302B00A8022900B806205881091D9024 +:10102000002E004E005E008E009E00BE00EE000509 +:1010300020790000207119277004004B700C000209 +:101040009023901C901C0005902D9083908390839A +:10105000908490959095700C0CBA01262091800098 +:1010600078A079A09106190490757814D0BC190461 +:10107000907E012E7018910A112870309005190485 +:1010800090C7000512107114910A9192000A021083 +:101090002009000A2001188B20142001193920048E +:1010A000910092020E50080C921722009102020841 +:1010B00022080096702C2048A8770001A97A080C15 +:1010C00093212100A882A8730000009E0126209190 +:1010D000800020091A372104C085200A700F000201 +:1010E000012E080C11891DE8000578A079A0910651 +:1010F00009049035080C91F0012E00057810C0C548 +:101100007812080490350005700C00029089908CCC +:10111000908B080C902B00058001700E0096702CAF +:101120002048A978009E00110CA000050096702CA4 +:101130002048701891007214921A1130701CA892F5 +:101140007020A896900600680006080C93212100E4 +:10115000AA909210AA921220A89490810000A896BA +:10116000000E009E01262091800078A2701A080CC3 +:1011700091F0012E000500E620711927700C000285 +:1011800090C590C590C3700F000100EE00050126C8 +:101190002091800070309005050820787814204850 +:1011A000AE8C00B620590000080C913800BE01B08A +:1011B00000E620711940080C917F00EE017800963E +:1011C000080C107A2900009E0148A8AE04D90041FD +:1011D0002001194A20030000012E08C8012E000535 +:1011E00000D600C6008600A629402650260090059D +:1011F0000188A8689084000F20689D881F5C216585 +:10120000005620290000080C92A48A01190C1F32F4 +:101210001DD0005E00AE200118822004A88E00C6FA +:101220002F60080C183F00CE781F010178130000D2 +:10123000012620918000080C918E012E008E00CE98 +:1012400000DE00057030900501482078780C70327F +:10125000780F00002001194A20030001000500E674 +:10126000207119277030600E2C00703200EE0005DE +:1012700000D600C600269B8093E82005906D090CDF +:101280000D8C9B8093E020059065090C0D8C6114FA +:101290002600910202486828910202F09085000120 +:1012A000002E00CE00DE00056804D094014868548A +:1012B000D0841178C085685620118026080C4E48CD +:1012C000684C0096904D090C0D8CA8048000A8066F +:1012D000009E900620300C206854D08C1D08C08DD4 +:1012E000685620118025080C4E48684C0096904D99 +:1012F000090C0D8CA8008000A802009E08887000D0 +:101300002019000883197104910211182300900517 +:1013100000200210930200088002000500D6781415 +:101320009005090C0D8C781C9084010190860101B8 +:10133000190C0D8C78270000782BFFFF20691940CD +:101340006804908019422F08210269048108918263 +:1013500000080208900E69069180194220030000DF +:1013600000DE0005009600C6206060142048A8AC8E +:10137000009620489005190C1093009EA8AF00001D +:10138000080C1013080CB46D00CE009E0005602000 +:10139000908600091128601CD0C401109006000539 +:1013A0009085000100052009192B210CD19400051E +:1013B0002009192B210CD1C40005012620918000A1 +:1013C00000E6207119277110C194C18570070000D3 +:1013D00071122001003B080C174200EE012E00059F +:1013E0007814D0BC110800057810C0C578120CC064 +:1013F000009600D690067006700E701A701E70224D +:101400007016702A7026702E080C936D0170080CEF +:1014100093A2015829007002700A701A701300011B +:10142000701F000A00DE009E0005900E0CD800E63A +:101430000096008600D600C620711934721C210067 +:1014400092021618080C93A2090C0D8C70189005C6 +:10145000116029007002700A701A90067006700EF2 +:10146000A806A8027012701E00382040A8062900A5 +:10147000A002701AA8030000701080007012701C87 +:101480009080000A701E721C08D0721C00CE00DE14 +:10149000008E009E00EE00050096015601360146C2 +:1014A00000E6012620918000207119347300831F0B +:1014B000831E831E9384003F20E8939CFFC0939873 +:1014C00000037104080C9321810C21009318800300 +:1014D00022282021007894029532020820288504D1 +:1014E00020A823A0A001A00140052508080C9328EE +:1014F00021307014960070162600711C9102701E27 +:101500007004960020089082000A11907000204814 +:10151000A80090051148200900010026080C921728 +:10152000002E70002048A80070027007000000081C +:1015300071062500921219049256012E00EE014EFA +:10154000013E015E009E00050016002600E6012611 +:1015500020918000958093E020059075090C0D8CFA +:10156000080C92FA012E958093DC20059075090CE9 +:101570000D8C0156013601C6014601D6831F831E1C +:10158000831E9384003F20E09384FFC09100209845 +:10159000A86020E8A95C2C05910020A020A90002E9 +:1015A00040032E0C2D00000292E492E492E692E4B5 +:1015B00092E692E492E492E492E492E492EC92E471 +:1015C00092EC92E492E492E4080C0D8C410420A980 +:1015D000000240024003002820A900024003410409 +:1015E000400301DE014E01CE013E015E00EE002E01 +:1015F000001E00050096701480010A0C0D8C7016F8 +:10160000710C211000F1810C918800037308821085 +:101610009282000A119870082048A800900501588D +:101620000006080C93B0009EA80700002900700A6D +:10163000701080017012700F00000008720E009E82 +:1016400000050006810B810B81039108000E000547 +:10165000000600262100900501589092000C0240DF +:10166000900E81089082000C1DE0002E000E0005F7 +:10167000900E0CD82D0090B800082031936B901E6E +:101680006808900501088318690C910A0248014016 +:1016900083186810911202200118831822080CD0B8 +:1016A000233A6804D0842300202100011150908245 +:1016B000000309670A6784209082000709670A67A8 +:1016C0000CD09082000209670A678420908200058E +:1016D00009670A670CD06C1A0005009600460126BF +:1016E000209180002B00908093E420059005090C48 +:1016F0000D8C200490A0000A080C107A01D029005B +:101700007026A8030000A8070000080C107A0188C2 +:101710007024A802A80700002900702694A2000ADD +:10172000011002080C9090850001012E004E009ED1 +:101730000005702490050DC82048AC00080C1093DB +:1017400024000CC00126209180007024904D0130AF +:10175000A8007026A8030000A8070000012E0005BD +:101760000126209180007024A80229007026012EF5 +:10177000000500967024904D0130A8000006080C6A +:101780001093000E0CC0009E000500967008904D4E +:101790000130A8000006080C1093000E0CC0900643 +:1017A0007002700A7006700E701A701E7022702A15 +:1017B0007026702E009E00051A84000000000000B4 +:1017C0001934000000000000188B00000000000029 +:1017D000187A00000000000000E600C600B600A66F +:1017E000A8AC20402071187A080C9508A06B002343 +:1017F0006010905D090494DDB814A072B910A17650 +:10180000B9A0A17A20010003A082A834A086A07FFD +:101810000000A89C90050118A07CC085A07E2858D7 +:1018200020310018A06C908A00191A0C0D8C202011 +:1018300020502940A86890BC00FF908C000F91E0D8 +:101840001F5C2C65978600242C051590908A003724 +:101850001A0C0D8C9082001C000294489448944A03 +:10186000944894489448944C944894489448944E8E +:101870009448944894489450944894489448945276 +:10188000944894489448945494489448944894565E +:10189000080C0D8CA18404B8A19404A8A1A40498F8 +:1018A000A1B40488A1C40478A1D40468A1E40458B4 +:1018B000908A00351A0C0D8C9082001C0002947ADC +:1018C00094789478947894789478947C94789478B4 +:1018D000947894789478947E9478947894789478A2 +:1018E0009478948094789478947894789478948286 +:1018F000080C0D8CA1840038A19C0028A1B400180C +:10190000A1CC0008A1E426000002949E94A094A219 +:1019100094A494A694A894AA94AC94AE94B094B2CF +:1019200094B494B694B894BA94BC94BE94C094C23F +:1019300094C494C694C894CA94CC94CE080C0D8CCC +:10194000B9E60468B9E20458B9DE0448B9DA0438E3 +:10195000B9D60428B9D20418B9CE0408B9CA00F817 +:10196000B9C600E8B9C200D8B9BE00C8B9BA00B853 +:10197000B9B600A8B9B20098B9AE0088B9AA007883 +:10198000B9A60068B9A20058B99E0048B99A0038B3 +:10199000B9960028B9920018B98E0008B98A863124 +:1019A00084210130080C1F32090C0D8C080494228C +:1019B00000AE00BE00CE00EE0005A870A072A874B4 +:1019C000A076A07B00FF9006080494040006001691 +:1019D00000B660102058B810900501B020011928F9 +:1019E000200490050188200118002004908600033F +:1019F000115800360046BBA020210004201180149D +:101A0000080C4E48004E003E00BE001E000E0005B1 +:101A10009016710CA834910AA9367008900501201F +:101A20008210910A0230012870108210910A020877 +:101A30001DE0AA8EA26E000500F600D600362079C1 +:101A40000300781B02007818D0941DD8781B02027E +:101A5000A001A0017818D0941DA0B8AC906D012809 +:101A60009C1E1148680CB8AE630E781B0200003E45 +:101A700000DE00FE00052D78680C906D090C0D8CC1 +:101A80009C1E1DC8680C780E207903000C6800E6C7 +:101A900000D6009600C6003601262091800001562F +:101AA00020A901FF20710300701B02007018D09460 +:101AB00001101F049554701B0202A001A0017018B0 +:101AC000D0941D90B8AC906501F0600CB8AE602465 +:101AD000C08D602660030004601B000060130000DE +:101AE000601F01016014904D090C0D8CA88F00003F +:101AF000A8ACA8AF0000904D090C0D8C080C1093F9 +:101B0000080C912F08F820710300701B0200015E81 +:101B1000012E003E00CE009E00DE00EE000500C655 +:101B200000B6001600060156080C2744015E11B0ED +:101B3000080C6905190C0D8C000E001EB912B816A0 +:101B4000080CB41701402B0060126023000120092B +:101B50000001080CB50A00BE00CE0005000E001EF4 +:101B60000CD00066600090B200141A0C0D8C0013AB +:101B7000006E000595CA95CA95CA95CC961595CA6A +:101B800095CA95CA969095CA96C895CA95CA95CA97 +:101B900095CA95CA080C0D8C91820040000295DF11 +:101BA00095DF95DF95DF95DF95DF95DF95DF95DF95 +:101BB00095E195F295DF95DF95DF95DF9603080CAB +:101BC0000D8C009661142148A87F0000601000B6BB +:101BD0002058B8BB050000BE080C7042080CB46D5C +:101BE000009E0005080C9CF300D66114080CD3126B +:101BF0000130009661142148080C7243009E00DEFB +:101C0000080CB46D0005080C9CF3080C3424611416 +:101C100000962148080CD3120120A87F0029080C47 +:101C20007243009E080CB46D0005601B0000918299 +:101C300000400096000296309630963096309630EE +:101C40009630963096309632963096309630968C06 +:101C5000963096309630963096309630963996304B +:101C6000080C0D8C61142148A938918EFFFF0904DE +:101C7000968C6024D08C15D0080C91D305E000E63A +:101C800061142148080C93EC0096A8AC2048080C7D +:101C90006FDA009EA8AF000060109005012800B622 +:101CA0002058080C951C00BEAE8C00B620590000D0 +:101CB000080C913800BE01E020711940080C917F9A +:101CC00001B89086000111282001194A20049005CE +:101CD00011780096080C10612900009E0148A8AEFA +:101CE00000F62C78080C90F000FE00EE009E000537 +:101CF000080C912F0CD0080C91D811606010900541 +:101D000001302058B8AC9005190C0D8C60122C00D5 +:101D1000080C91B2009E0005080C9745009E000536 +:101D2000918200400096000296A496A496A496A6DE +:101D300096A496A496A496C696A496A496A496A4B1 +:101D400096A496A496A496A4080C0D8C6003000398 +:101D5000610660142048A8B0A836A8B4A83AA847DD +:101D60000000A84B0000A8889092199A0210200148 +:101D700019998003801382139210621A080C1CC1F7 +:101D800020098030080C9903009E0005080C0D8C7A +:101D90000096080C9CF361142148A87F0000601095 +:101DA00000B62058B8BB050000BE080C7243080CF2 +:101DB000B46D009E0005080CAFDC6144D1FC01202D +:101DC000D1AC1110600300036000908A00141A0C5B +:101DD0000D8C00960023009E080CAFF8000596FFBE +:101DE00096FF96FF9701971296FF96FF96FF96FF34 +:101DF00096FF96FF96FF96FF96FF96FF96FF080CBC +:101E00000D8C080CB1E461142148A87F0006601015 +:101E100000B62058B8BB050000BE080C7243080C81 +:101E2000B46D000504910005080CAFDC600061444E +:101E3000D1FC0130D1AC1120600300032009000364 +:101E4000908A00141A0C0D8C00960033009E010637 +:101E5000080CAFF8010E0005973C973C973C973E65 +:101E60009745973C973C973C973C973C973C973CD1 +:101E7000973C973C973C973C080C0D8C003600E64D +:101E8000080CB1E400EE003E00056024D08C11F097 +:101E900000F600E6601B000060142048601090050A +:101EA000012800B62058080C951C00BE207119406E +:101EB000080C917F0160200118822004A88E203137 +:101EC00000002C78080C90F000EE00FE0005009653 +:101ED000A88F0000A8AC2048080C1093009EA8AF63 +:101EE0000000080C912F0C8020011928200C918EE5 +:101EF0000000190C91D305C800E620711927711054 +:101F0000C1C57112080C91DD00F600C620711000E9 +:101F100000B62E04905D0138B8AC90650120080C25 +:101F200091C7090C95478E709E8618001D9000BEC3 +:101F300000D60096004620611DDC2001181A2024DE +:101F400060209086000011919CE0001C24009C06FB +:101F50001DB8004E009E00DE00D100CE00FE2071B4 +:101F600019277110C1C4711200EE0005602090861F +:101F7000000911606100918600041138611081FF31 +:101F8000190C0D8C2C00080C91B2900600052071E4 +:101F90001942207300008E709E86194A1DD0207150 +:101FA0001940700670022001193320648CFF013043 +:101FB0006120918E0000190C0D8C21022001188DDA +:101FC000200C81FF014800962148080C1093009EC8 +:101FD0002001188D2003000020711934080C93B9DA +:101FE000080493C50000000000000000000000008D +:101FF000000000000000187D00000000000000004C +:1020000000000000012620918000015620A9001048 +:10201000900501C0911A12B08213818D0228911A85 +:1020200012201F04980C0028911A230882101F0404 +:10203000980C000632009084EFFF2080000E015EB5 +:10204000012E000500063200908510000CB001261C +:1020500020912800207919EB012E00D6206919EB78 +:10206000680300050156014601D620E900002069F9 +:102070000200080CADD104C9080CADBC04B1080CB9 +:10208000ADBF0499080CADC20481080CADC504694C +:10209000080CADC80451080CADCB0439080CADCE0A +:1020A000042101DE014E015E6857000000F6207930 +:1020B0000380041978070003780300007803000107 +:1020C000206900042D049084FFFE90858000206A22 +:1020D0002069010068289084FFFC682A00FE200126 +:1020E0001B702003000000DE000520A9002020A1B5 +:1020F0000240200100004004000500C678030000F3 +:10210000900678270030782B040078270031782B50 +:102110001B09781FFF00781BFF0020611AFE602F4B +:1021200019EB6033180060371A17603B1F5C603F83 +:102130001F6C604260471AD400CE00052001038264 +:102140002004908400079086000101B000C661461B +:10215000600F00002C08206119EB602C8000602EBD +:10216000601C90050130908000032102611E00CEAA +:1021700000056122611E0CD861462C082001001266 +:10218000080CAFCD000500162009802061462C0800 +:10219000200103822004908400079086000111280A +:1021A00020010019080CAFCD008800C6206119EB92 +:1021B000602C8000602E600C900501289080000348 +:1021C0002102610E00106112610E00CE001E00059A +:1021D000200103822004908400079086000101986A +:1021E00000C66146600F00002C08206119EB6044B6 +:1021F00090050130908000032102614600CE000569 +:10220000614A61460CD86146600F00002C0820012D +:102210000013080CAFCD00056044D0DC0110080CA1 +:10222000AA4E000500F600E600D600C600B60096ED +:1022300000760066005600360026001600060126CD +:10224000902E207119EB7648266026782091800028 +:102250008CFF090499969C861B680904999160106B +:102260002058B8A092061904999187FF0120605C5C +:10227000910619049991704C9C061188003620191A +:102280000001080CA85A703F00009006704E706A5A +:102290007052706E080CB2F5003E20290001080C47 +:1022A000990C70489C361110660C764A70449C3626 +:1022B00011402C009F3601182F0070460010704707 +:1022C0000000660C00662C009F0601107E0E0008C0 +:1022D0002678600F0000080CD31201F0601420482B +:1022E0006020908600031588600490860040090CE9 +:1022F000AA4EA86B0103AB7EA87B00000016003637 +:102300000076080CD62A080CF2A1080C7243007E55 +:10231000003E001E080CD51B080CB4A800CE080413 +:1023200099282C78600C206008049928012E000E52 +:10233000001E002E003E005E006E007E009E00BE6D +:1023400000CE00DE00EE00FE000560209086000654 +:102350001158001600360076080CF2A1080CEEDECB +:10236000007E003E001E08C06020908600091168B3 +:10237000A87F0006001600360076080C7243080C91 +:10238000B46D007E003E001E084860209086000A62 +:102390000904997B0804997400060066009600C63B +:1023A00000D600F69036012620918000207919EBA6 +:1023B0007848906509049A35600C0006600F0000AB +:1023C000784C9C0611B0003620190001080CA85A60 +:1023D000783F0000901E7B4E7B6A7B527B6E080C20 +:1023E000B2F5003E000E90051118600C600F000061 +:1023F00000069C861B6805B000E62F70080C990C3F +:1024000000EE080CD3120548601420486020908626 +:10241000000315A83E08918E0002118860109005F7 +:10242000017000B62058B80000BED0BC0140604822 +:10243000900511C02001198B2004604A00986004A7 +:1024400090860040090CAA4EA86B0103AB7EA87BC6 +:102450000000080C7237080CD51B6044C0FC6046B5 +:10246000080CB4A8000E080499D97E4A7E46012EB5 +:1024700000FE00DE00CE009E006E000E0005602013 +:10248000908600061118080CEEDE0C38602090864D +:1024900000091130AB7E080C7243080CB46D0C10AF +:1024A00060209086000A09900850001600260086D9 +:1024B000904600A9080C9B48008E002E001E0005C7 +:1024C00000F60126207919EB20918000080C9B93DF +:1024D000080C9C29080C6B31012E00FE000500B68B +:1024E000009600F600E600D600C60066001600065C +:1024F000012620918000207119EB76202660267835 +:102500008CFF09049B0D60102058B8A09206190496 +:102510009B0888FF0120605C910619049B087030BD +:102520009C061580206901006820D0A40110D0CC41 +:102530001508080C8D1F080CA55F68C30000080C67 +:10254000AA4E703300000036206901406B0493846A +:102550001000013820010100080C2B5A9006080CCD +:102560002B5A206901006824D084011068270001DB +:10257000003E00407008C0AD700A60030009630AA5 +:1025800008049B0870209C361110660C7622701C83 +:102590009C3611402C009F3601182F00701E001031 +:1025A000701F0000660C00662C009F0601107E0E56 +:1025B00000082678600F00006044C0FC604660148C +:1025C0002048080CD31201E8602090860003158093 +:1025D000080CD5411118080CBEC00098A86B010367 +:1025E000AB7EA87B0000001600360086080CD62AB9 +:1025F000080CF2A1080C7243008E003E001E080C6D +:10260000D51B080CB4A8080CA92100CE08049A8098 +:102610002C78600C206008049A80012E000E001EA9 +:10262000006E00CE00DE00EE00FE009E00BE000543 +:102630006020908600061158001600360086080CAF +:10264000F2A1080CEEDE008E003E001E08D0080C41 +:10265000BEC0602090860002116060040006908673 +:102660000085000E09049AEE9086008B09049AEE0C +:1026700008406020908600051920600400069086BE +:102680000085000E09C89086008B09B008049B01E4 +:10269000000600F600E6009600B600C600660016CA +:1026A000012620918000928010002004905D207906 +:1026B00019EB9036782820608CFF054860109B0647 +:1026C00015106043FFFF080CB22F01E8610C0016E3 +:1026D000080CA6E260142048A86B0103AB7EA87B1F +:1026E0000000001600360086080CD62A080CF2A15D +:1026F000080C7243008E003E001E080CD51B080C0F +:10270000B4A800CE08C82C30600C206008A8080CC3 +:102710006B4E012E001E006E00CE00BE009E00EE2D +:1027200000FE000E000500960006006600C600D6FA +:1027300090367820906509049BFC600C000660448C +:10274000C0FC6046600F000078309C061598206938 +:1027500001006820D0A40110D0CC1508080C8D1FF2 +:10276000080CA55F68C30000080CAA4E783300006F +:102770000036206901406B04938410000138200169 +:102780000100080C2B5A9006080C2B5A20690100F6 +:102790006824D084011068270001003E0058080C0E +:1027A0006DC3153860030009630A7808C0AD780A64 +:1027B0002C3000F860142048080CD31001B06020C1 +:1027C000908600031508080CD5411118080CBEC0EE +:1027D0000060080C6DC31168A86B0103AB7EA87B79 +:1027E0000000080C7243080CD51B080CB4A8080C98 +:1027F000A921000E08049B9A7E227E1E00DE00CED8 +:10280000006E000E009E00056020908600061118E4 +:10281000080CEEDE0C50080CBEC060209086000252 +:1028200011506004000690860085000E0990908685 +:10283000008B097808D060209086000519B06004EC +:10284000000690860085000E0D189086008B0D0006 +:1028500008600006009600B600C60066903678282C +:102860009065052060102058600C00063E08918E8F +:1028700000021118B800D0BC11B86043FFFF080C6B +:10288000B22F0190610C080CA6E260142048A86BDE +:102890000103AB7EA87B0000080C7243080CD51B1B +:1028A000080CB4A8000E08E02C300CE0006E00CE3E +:1028B00000BE009E000E000500E600D600960066F1 +:1028C000080C645C11B0207119EB70309080000529 +:1028D0002004904D0170A87C96061158207119EBC8 +:1028E0007030903501309080000520049906110861 +:1028F0000029006E009E00DE00EE000500C6266086 +:102900006043FFFF080CB22F0188080CA6E2601498 +:102910002048A86B0103AB7EA87B0000080CD62AD8 +:10292000080C7243080CD51B080CB4A800CE000597 +:1029300000B600E600C6080CAFDC010620710101FC +:102940002E04C0C420726044D0FC1138010E090C62 +:10295000AFF800CE00EE00BE0005207119EB70301C +:1029600090050DA09C06190C0D8C7036080C8D1F5F +:1029700070049084000700029CC69CC89CCF9CD920 +:102980009CE79CC69CD49CC4080C0D8C04280005B4 +:10299000080CB21A700700007033000000E80066EF +:1029A0009036080CA6E2006E70070000703300003D +:1029B0000098080CB2050140080CB21A0128006604 +:1029C0009036080CA6E2006E703300000028080C58 +:1029D000B205080CAA4E0000010E090CAFF800CE9B +:1029E00000EE00BE000500D600C6080CAFDC0106F4 +:1029F0006044D0FC1130010E090CAFF800CE00DEAF +:102A00000005206919EB684C90050DA89C06190C6F +:102A10000D8C685200E62D70080C990C00EE080C25 +:102A20008D2C001620090040080C22BF001E683CB7 +:102A30009084000300029D219D229D419D1F080C52 +:102A40000D8C04906868908600010198600C9015C8 +:102A500001686A4A600F0000604490847F7F60468E +:102A600090066842684E683F000000F0684A684679 +:102A70000C98686B0000684890650D706003000258 +:102A80000C58604490847F7F604690066842684E90 +:102A9000686A6852686E600C901501206A4A600F7F +:102AA00000000010684A6846080CB2F5684F000044 +:102AB000010E090CAFF800CE00DE00050005602015 +:102AC0009084000F000B00059D749D77A22DA2C677 +:102AD0009D77A22DA2C69D749D779D749D749D7453 +:102AE0009D749D749D749D74080C9C98000500B69F +:102AF00001560136014601C601D600C600D600E6E1 +:102B000000F620690200207102406004908A00549F +:102B10001A0C0D8C61102158B9842C7820610100A9 +:102B2000619A908A00401A049DE3005B00FE00EE6B +:102B300000DE00CE01DE01CE014E013E015E00BE90 +:102B400000059F8E9FC99FF2A0BCA0DEA0E4A0F16B +:102B5000A0F9A105A10BA11CA10BA174A0F9A18052 +:102B6000A186A105A186A1929DE19DE19DE19DE146 +:102B70009DE19DE19DE19DE19DE19DE19DE1A70537 +:102B8000A728A739A759A78BA0F19DE1A0F1A10B18 +:102B90009DE19FF2A0BC9DE1AB4CA10B9DE1AB6818 +:102BA000A10B9DE1A1059F889E069DE1AB84ABF33F +:102BB000ACD79DE1ACE4A0EEAD0F9DE1A795AD359E +:102BC0009DE1080C0D8C2100005B00FE00EE00DE94 +:102BD00000CE01DE01CE014E013E015E00BE0005C9 +:102BE000ADD5AE879E049E3E9EEA9EF59E04A0F162 +:102BF0009E049F4F9F5B9E599E049E749EA8B3099E +:102C0000B34EA10B9E04AD1B080C0D8C00D6009694 +:102C1000080CA1A50026003678142048A958D1CC6C +:102C20001138200924142011001820190018003030 +:102C300020092410201100142019001471027206BA +:102C4000700B0800A83C700EA8507022A854702683 +:102C500063C2080CA52F003E002E009E00DE00057A +:102C6000781000B62058B8A000BE080CB395111813 +:102C70009084FF80011090850001000500D6009629 +:102C8000080CA1A57003050078142048A878700AE4 +:102C9000A87C700EA8807012A8847016A888701A7C +:102CA000A88C701E60C30010080CA52F009E00DECB +:102CB000000500D60096080CA1A570030500781445 +:102CC0002048A8D0700AA8D4700EA8D87012A8DC2A +:102CD0007016A8E0701AA8E4701E60C30010080CFB +:102CE000A52F009E00DE000500D60096012620914B +:102CF0008000080CA1A520E90000200119A72003ED +:102D0000000078142048A814800360C2A83020A8CE +:102D1000A86020E0A85C9080001C2098200119A7E2 +:102D20000016200C20010001080C22A0080CE18EE6 +:102D30009006080C22A0001EA8049005011020484F +:102D40000C2804D9080CA52F012E009E00DE0005DA +:102D500000D60096012620918000080CA1F020E901 +:102D60000000200119A72003000078142048A87350 +:102D70000200A8770000A814800360C2A83020A831 +:102D8000A86020E0A85C9080001C2098200119A772 +:102D90000016200C080CE18E001EA80490050110FE +:102DA00020480C60005178142048080C1013080CBF +:102DB000A52F012E009E00DE000560C080049084D7 +:102DC0000003900501309082000420A300008000E1 +:102DD0001DE00005080CA1A57003780078088007A5 +:102DE000700A60C300080804A52F00D600E6080C8E +:102DF000A1F078149084FF00207302008E708E7012 +:102E00009096DF0001389096E000012020730010BA +:102E10008E7000309095001022728E7020730034F6 +:102E20008E702069180520A900042D768D688E709B +:102E30001F049F152069180120A900042D768D68B4 +:102E40008E701F049F1E9096DF0001309096E00068 +:102E5000011860C3001800F0206919B79086DF00E0 +:102E60000110206919D120A9001A9E86026011481C +:102E700000C62061020060108000601200CE207148 +:102E800002402D04800720728D688E701F049F35CC +:102E900060C3004C080CA52F00EE00DE0005080CF6 +:102EA000A1A570036300700700287808700E60C346 +:102EB00000080804A52F00D600260016080CA1F073 +:102EC000700302007814700E00E69EF000042009E2 +:102ED00000012011000C206919276810D0841148C6 +:102EE000207305008E70207300008E708108929010 +:102EF0000004207308008E702073000000EE72063C +:102F0000710A62C2080CA52F001E002E00DE00050B +:102F1000200118182004609A0804A52F080CA1A508 +:102F2000700352002069184A6804D0840130682870 +:102F30000016080C2777710E001E20A9000420E15E +:102F400000012099180520E9000020A1025040034B +:102F500020A900042099180120A102544003080C64 +:102F6000B3951120B8A09082007F02482001181F5D +:102F70002004703220011820200470360030200117 +:102F800018182004908400FF703660C3001C0804E9 +:102F9000A52F080CA1A570030500080CB3951120FE +:102FA000B8A09082007F02482001181F2004700AF8 +:102FB000200118202004700E003020011818200471 +:102FC000908400FF700E20A9000420E100012099E8 +:102FD000180520E9000020A10250400360C3001042 +:102FE0000804A52F080CA1A59006080C6DF5B8A043 +:102FF0009086007E117020110240201322FF2011C4 +:1030000002412013FFFE70030400620CC2B4620E82 +:10301000005878140096904D01209006A89EA8AA0A +:10302000A8AE009E70030300B8A09086007E19042D +:10303000A07C00D62069196F200118372004D0A485 +:1030400001886800700A6808908420007012080CDB +:10305000B3AC680C7016701F271068187022681CBB +:10306000702604286800700A6804700E2009180D84 +:10307000210CD18C01102001000200F62079010002 +:10308000080C79CB112878E30000080C27B878E207 +:1030900000FE6808080C79CB1118908437FF0010E7 +:1030A00090843FFF7012080CB3AC680C701600DE01 +:1030B00020A9000420E100012099180520E9000062 +:1030C00020A10256400320A900042099180120A144 +:1030D000025A400300D6080CADBC20691977207154 +:1030E000024E6800C0DD7002080C59FAD0E40110ED +:1030F000680C700E00DE04E0200118372004D0A414 +:1031000001A800162001180D2004D08C200900020F +:10311000111820011970200C60E091060130210087 +:1031200060E30000080C27B861E2001E20E1000106 +:103130002099196F20E9000020A1024E20A9000863 +:10314000400320A900042099180520A1025640033D +:1031500020A900042099180120A1025A4003080C5C +:10316000ADBC20A1024E20A9000820991977400388 +:1031700060C300740804A52F080CA1A570032010DB +:1031800070070014700B0800700F2000900600F606 +:103190002079184A790400FED1AC111090850020E6 +:1031A000D1A40110908500109085000200D608047B +:1031B000A155702660C300140804A52F080CA1A512 +:1031C000700350000804A014080CA1A5700321107E +:1031D0007007001460C300140804A52F080CA1E7B1 +:1031E0000010080CA1F07003020060C30004080482 +:1031F000A52F080CA1F070030100700B0003700FE5 +:103200002A0060C300080804A52F080CA1F0700371 +:1032100002000804A014080CA1F070030100782C2F +:1032200090050110700A0010700B00037814700EE6 +:1032300060C300080804A52F00D6080CA1F0700395 +:10324000021070070014700B0800B89490860014E8 +:103250001198B99C918400300190B9989184C00074 +:103260001140D1EC0118700F21000058700F0100BF +:103270000040700F04000028700F07000010700F4E +:10328000080000F62079184A790400FED1AC11102C +:1032900090850020D1A40110908500102009186CA1 +:1032A000210CD18411109085000200262009186A93 +:1032B000210CD1E40150C0C5BAD4D28C1108C0CDC4 +:1032C00090940030929600100140D1EC013090941F +:1032D0000030929600100108C0BD002E702660C319 +:1032E000001400DE0804A52F080CA1F070030210E2 +:1032F00070070014700F010060C300140804A52FAC +:10330000080CA1F07003020008049F92080CA1F0C1 +:1033100070030100700B0003700F2A0060C30008E7 +:103320000804A52F080CA1F070030100700B000B1E +:1033300060C300080804A52F002600D6003600460A +:1033400020193200202108000040002600D6003657 +:1033500000462019220020210100080CADD1B81030 +:1033600093057002B814700620691800687C700A12 +:103370006880700E948500297012004E003E00DEB9 +:10338000080CA523721A9F95000072227027FFFF78 +:103390002071024C002E00050026080CADD17003F0 +:1033A00002FF7007FFFC00D620691800687C700AD5 +:1033B0006880700E00DE701320290C10700301006D +:1033C00070070000700BFC02700F00000005002663 +:1033D00000D60036004620193300202108000040A6 +:1033E000002600D6003600462019230020210100C7 +:1033F000080CADD1B81093057002B814700620699E +:103400001800B81090051140B81490051128700BE1 +:1034100000FF700FFFFE0020687C700A6880700E4D +:103420000000948500987012004E003E00DE080CEB +:10343000A523721A7A0872222F1072262071024C6C +:10344000002E0005080CA523721A7A08722278143F +:1034500070262071024C002E000500B600C600D672 +:1034600000E600F620690200207102406004908AA4 +:1034700000850A0C0D8C908A00921A0C0D8C61103C +:103480002158B9842C7820610100619A90820085CE +:10349000003300FE00EE00DE00CE00BE0005A25E9E +:1034A000A26DA278A25CA25CA25CA25EA25CA25CFD +:1034B000A25CA25CA25CA25C080C0D8C041160C32F +:1034C00000000026080C2ABC022820110101220459 +:1034D000C0C52012002E0804A52F04317808700AF8 +:1034E0007814700E7017FFFF60C3000C0804A52F3E +:1034F00004A1700300037007030060C30004080404 +:10350000A52F0026080CADD1B8109085810070025F +:10351000B814700620691800687C700A6880700E04 +:10352000701300090804A1C00026080CADD1B81022 +:10353000908584007002B814700620691800687CB9 +:10354000700A6880700E200100997A20929600051A +:103550000108C0BC70120804A2220026080CADD1DC +:10356000B810908585007002B814700620691800A4 +:10357000687C700A6880700E200100997A2092960B +:1035800000050108C0BC70120804A22200B600C6E3 +:1035900000D600E600F62C78206902002071024077 +:1035A0007804908A00400A0C0D8C908A00571A0CFF +:1035B0000D8C79102158B98420610100619A9082A4 +:1035C0000040003300FE00EE00DE00CE00BE00052D +:1035D000A2FBA2FBA2FBA32CA2FBA2FBA2FBA2FBD1 +:1035E000A2FBA2FBA2FBA908A90DA912A917A2FB85 +:1035F000A2FBA2FBA903080C0D8C68130008BA8C6F +:103600008210B8D4D084018020011B85200C810851 +:10361000210220011B84201C1218831823020EA0F3 +:103620007952712E7B4E732A929400FFBA8E8217C4 +:10363000721ABA10929506007202BA1472062069C4 +:1036400018006A7C720A6A80720E701308292F10A3 +:1036500072227027FFFF000500167814908407007F +:1036600080070013001E0005A33CA33CA33EA33C1F +:10367000A33CA33CA358A33C080C0D8C7914918C5B +:1036800008FF918DF60079162009000300B9206922 +:10369000184A6804D0BC0130682C908400FF800771 +:1036A0007032001070333F0060C300010804A52F82 +:1036B00020090003001970337F000CB00016080CBD +:1036C000ADD1001EB810908501007002B8147006CC +:1036D000206918006A7C720A6A80720E701308886A +:1036E000918D00087116080CA523721A7A087222AF +:1036F0002F107226000500B600E600D600C6006650 +:1037000000560046003620610100207118007160EB +:103710007810205876DC96B400280110737C7480F1 +:10372000250076DC96B400280140200104FF606289 +:103730006067FFFF636A646E0050200100FF9085A0 +:10374000040060626067FFFF606B0000616EB8B8E4 +:103750006073053060770008B88C8000908400FFAB +:10376000B88E800790850020607A607F00002B0073 +:1037700060826087FFFF781400962048A848608A1E +:10378000A844608EA83860C6A83460CA009EB86C91 +:1037900060CE60AB003660AF95D560D700002001E9 +:1037A00018372004908400280128609F0000200121 +:1037B000009200586028C0BD602A609F00FF201161 +:1037C000FFFF080C2B94200100B22010900E080C73 +:1037D0002BA3200907D0080C8D24003E004E005E6C +:1037E000006E00CE00DE00EE00BE000500B600E672 +:1037F00000D600C600660056004600362061010073 +:1038000020711800716078102058B8A0202876DC4C +:10381000D6AC11689582007E125025009094FF80EE +:1038200011309080359D2015929400FF0020B91032 +:10383000BA14737C748070DCD0AC11309582007E39 +:1038400012189584FF8001389185040060626266D9 +:10385000636A646E0030606304006266606B00003F +:10386000616EB8B8607260770000B864D0A40110CF +:1038700060770008B88C8000908400FFB88E8007C5 +:1038800090850020607A607F00002B006082608756 +:10389000FFFF781400962048A848608AA844608EEC +:1038A000A83860C6A83460CA009EB86C60CE60AB11 +:1038B000003660AF95D560D70000BA84629E00F6EE +:1038C000207901407803000000FE900E2011009244 +:1038D000080C2BA3200907D0080C8D24003E004EB5 +:1038E000005E006E00CE00DE00EE00BE000500B6F9 +:1038F000009600E600D600C600560046003620615D +:1039000001002071180078102058B8A02028B910A4 +:10391000BA14737C748078200002A49CA49CA49E9A +:10392000A49CA49CA49CA49CA49CA49CA49CA4B083 +:10393000A49CA49CA49CA49C080C0D8C080CAFDC3B +:1039400001062F60080CAA65010E090CAFF8003EB5 +:10395000004E005E00CE00DE00EE009E00BE0005C0 +:10396000B884609E78142048A880D0FC0558AF9495 +:103970009784FF0091056062873F9784FF000006EF +:1039800078142048A87CC0FC9005000E1160AF9808 +:1039900087FF019820390098970560727808608247 +:1039A0002F006086003891852200606260730129D3 +:1039B00060770000B884609E005020390029970588 +:1039C00060720CC091850200606260732029A8803B +:1039D000D0FC0118AF9887FF11202F006082780873 +:1039E00060866266636A646E60770000B88C8000EF +:1039F000908400FFB88E8007607A607F0000A8483E +:103A0000608AA844608EA83860C6A83460CAB86CC2 +:103A100060CE60AF95D560D70000080CADB120092D +:103A200007D060C49084FFF09005011020091B5856 +:103A3000080C8D24003E004E005E00CE00DE00EE3D +:103A4000009E00BE00057A40929400FF8217000598 +:103A500000D6206919EB686B000100DE000560A349 +:103A6000005660A7957500F1080C8D16000500162C +:103A70002001180C200C9184060090860600012875 +:103A80000089080C8D16001E0005C1E52001180CE8 +:103A90002102200119EC20030000200119F7200366 +:103AA00000000C88000600160026200918042011CA +:103AB0000009080C2BA3002E001E000E00050016A6 +:103AC00000C60006080CAFDC01062061010061A4FD +:103AD00060A795F50016002620091804201100089B +:103AE000080C2BA3002E001E010E090CAFF8000ECF +:103AF000A001A001A00161A600CE001E000500C625 +:103B000000D6001600262061010020690140080C43 +:103B100079CB151020011A20200490051904A5DE88 +:103B2000080C7A6D11A8206903806843010168447C +:103B3000D0841DE8206101006020D0B411206024F1 +:103B4000D084090C0D8C68430100080C8D1604B05C +:103B500000C6206119EB00F06904919440000598BB +:103B6000080CA55F080C2B6A00C6206119EB6134B4 +:103B700091920008127881086136080CAFDC613040 +:103B8000080CAFF800CE81FF01C8080C8D16080C98 +:103B9000A55200A0080CAFDC613091E50000015097 +:103BA000080CF3CC080C8D1F6003000120090014E1 +:103BB000080CB50A080CAFF800CE0000002E001E5D +:103BC00000DE00CE000520011A20200490051DB063 +:103BD00000C6206119EB6134919200031AD8810864 +:103BE000613600CE080C8D16080C620820091846B4 +:103BF00021148210220A0C10009600C600D600E69E +:103C000000160026080C8D2C080CAFDC2001038761 +:103C100020030202207119EB714C81FF0904A6995F +:103C20002061010020690140080C79CB151800368D +:103C300020190002080CA85A003E080CF3CC704C66 +:103C4000906501802009004A622092960009113097 +:103C500061142148A87F00062009004A6003000380 +:103C6000080CB50A2001038620035040080C7A6D29 +:103C70000804A6996904D1F40904A6A6080C2B6AC5 +:103C800000C6704C9065090C0D8C602000CE9086AB +:103C90000006152061C860C491051500714C91881B +:103CA00000112104D0E401D062149294180011286C +:103CB00062249294000215E80010C0E4200A601407 +:103CC0009084E7FD908500106016704C2060080C11 +:103CD0009CF320090049080CB50A0458080CF3CCE1 +:103CE000704C906590861B681158080CB2D315086B +:103CF00020611B68606480006066080C620800C870 +:103D0000003620190001080CA85A003E704C90653E +:103D100001802009004A6220929600091130611446 +:103D20002148A87F00062009004A60030003080C10 +:103D3000B50A2001038720030200080CAFF8002E0B +:103D4000001E00EE00DE00CE009E0005D1EC19043E +:103D5000A63E0804A640002600E6207119EB706C10 +:103D6000D08401E8C084706E714C81FF01C0207165 +:103D70000100918800082114928E00061138200954 +:103D8000198420110012080C2BA30048928E000900 +:103D90000DB02009198420110016080C2BA300EE89 +:103DA000002E000500D69036200119F52004906DF4 +:103DB00001289C0601282D30680C0CC89085000154 +:103DC00000DE000500F6207919EB610C9006600E0C +:103DD0006044C0FC604686FF114078249C061118A0 +:103DE0007826782A0050792A004000C62660610EA5 +:103DF00000CE78249C0611087E26080CA921080C08 +:103E0000D51B9085000100FE0005080CA1A57003DC +:103E1000120078387012783C701600C678209086B0 +:103E20000004114878109005013000B62058B810F1 +:103E3000B91400BE002020611800607C618090846D +:103E400000FF700A710E00CE60C3002C0804A52F7D +:103E5000080CA1A570030F007808D09C0128B810A9 +:103E6000908400FF700AB814700E60C30008080444 +:103E7000A52F0156080CA1F070030200080C8DE478 +:103E800020A900062011FFEC2019FFED9EF0000292 +:103E9000230520728E70220520728E709398000286 +:103EA000929000021F04A74860C3001C015E080432 +:103EB000A52F00160026080CA1CC080CA1DE9E80C0 +:103EC000000420E9000020A0781400962048A800F3 +:103ED0002048A86020E0A85C908000222098009EE6 +:103EE00078089088000221A8919200101250400397 +:103EF00090800004800360C2080CA52F002E001ED5 +:103F0000000520A900104003080CADBC20A1024010 +:103F100022A840030C68080CA1A570036200780871 +:103F2000700E60C300080804A52F00160026080CB8 +:103F3000A1A520E9000020A1024C78140096204899 +:103F4000A8002048A86020E0A85C90800024209869 +:103F5000009E78089088000221A84003800360C278 +:103F6000080CA52F002E001E000500E600C6000666 +:103F7000012620918000207119EB701020608CFFC9 +:103F80000188080CD5411110080CBEC0600C000659 +:103F9000080CD7B8600F0000080CB46D080CA921FC +:103FA00000CE0C682C007012700E012E000E00CE98 +:103FB00000EE00050126015600F600E600D600C618 +:103FC0000066002600160006209180002001180CD3 +:103FD000200C918CE7FF210220690100207901402B +:103FE000207119EB703020608CFF0548080CA55F2C +:103FF0006AC068C30000080C8D1F00C62061010064 +:10400000080CAF0D00CE20A901F404B1080C9C9857 +:104010006044D0AC11282001198B2004604A002094 +:1040200020090013080CB50A000E001E002E006EB9 +:1040300000CE00DE00EE00FE015E012E0005200134 +:1040400018002004909600010D78909600040D60F1 +:10405000080C8D1F681490840001011068A795F565 +:104060006817000868C30000201161B2080C8C1B9F +:1040700020A901F4000908C06824D09401406827F1 +:104080000004780490844000190C2B6A0090D084BE +:1040900001186827400100101F04A83C7804908490 +:1040A0001000013820010100080C2B5A9006080C62 +:1040B0002B5A00050126015600F600E600D600C680 +:1040C0000066002600160006209180002001180CD2 +:1040D000200C918CDBFF2102206901002079014036 +:1040E00020710380701C0006701F0202207119EB02 +:1040F000704C20608CFF0904A8DD080CB28509040F +:10410000A8DD938600021128681490840002090437 +:10411000A8DD68AF95F568170010200900FA81093D +:104120001DF069C668CB0008080C8D2C080C1EDF3A +:10413000200100326920D1BC013080011DD8692CDA +:10414000918D0008692E001620090040080C22BF3E +:10415000001E20A903E86824D094014068270004C9 +:10416000780490844000190C2B6A0090D08C0118C0 +:104170006827000200101F04A8AB78049084100088 +:10418000013820010100080C2B5A9006080C2B5A0C +:1041900068274000682483FF1180200900496020BF +:1041A000908600090150080C9CF36044D0AC1118B3 +:1041B000600300020010080CB50A000E2071038095 +:1041C000D08C1110701F0200000E001E002E006E19 +:1041D00000CE00DE00EE00FE015E012E000500D6DE +:1041E000012620918000206919EB6A06012E00DE6D +:1041F000000500D6012620918000206919EB6A3E57 +:10420000012E00DE0005080CA2FD7047100000988A +:10421000080CA2FD704740000070080CA2FD70471A +:1042200020000048080CA2FD704704000020080C84 +:10423000A2FD70470200785C703260C30020080461 +:10424000A52F00E6207119EB702C9005011080015C +:10425000702E00EE000500F600E600D600C60076DF +:1042600000660006012620918000207119EB76205F +:10427000266026782039000187FF0904A9C68CFF33 +:104280000904A9C66020908600061904A9C188FF08 +:10429000013828009C061904A9C1203900000050EB +:1042A00060109B061904A9C185FF0120605C91067E +:1042B0001904A9C170309C0615B02069010068C0BE +:1042C000900511606824D084014868270001080C1B +:1042D0008D1F080CAA4E703300000428080C8D1F97 +:1042E0006820D0B4011068A795F56817000868C366 +:1042F0000000080CAA4E703300000036206901400F +:104300006B0493841000013820010100080C2B5A23 +:104310009006080C2B5A206901006824D0840110F3 +:1043200068270001003E70209C361110660C762232 +:10433000701C9C3611402C009F3601182F00701EF7 +:104340000010701F0000660C00662C009F06011014 +:104350007E0E0008267889FF1168600F0000601447 +:1043600000962048080CD3100110080CEEDE009EC9 +:10437000080CB4A8080CA92188FF119000CE0804ED +:10438000A93C2C78600C20600804A93C9006012E02 +:10439000000E006E007E00CE00DE00EE00FE000586 +:1043A000601B000000CE98C500010C8800F600E6F6 +:1043B00000D6009600C60066002600060126209161 +:1043C0008000207119EB7648266026788CFF09045E +:1043D000AA3D6020908600061904AA3887FF0128AC +:1043E00027009C061904AA38004860109B0619048F +:1043F000AA3885FF0118605C910615D0704C9C06A8 +:104400001178003620190001080CA85A703F0000EE +:104410009006704E706A7052706E080CB2F5003ED5 +:1044200070489C361110660C764A70449C361140D8 +:104430002C009F3601182F007046001070470000B6 +:10444000660C00662C009F0601107E0E0008267880 +:10445000600F000060142048080CD3100110080CF5 +:10446000EEDE080CB4A887FF119800CE0804A9E678 +:104470002C78600C20600804A9E69006012E000E3E +:10448000002E006E00CE009E00DE00EE00FE000555 +:10449000601B000000CE97BD00010C8000E620717B +:1044A00019EB90067032700A700490860003015870 +:1044B00020011800200490860002111870070005E2 +:1044C00000107007000000EE000500F600E600C6D0 +:1044D000006600260006012620918000207119EB5D +:1044E0002C107648266026788CFF054022009C061A +:1044F000150870489C361110660C764A70449C363C +:1045000011402C009F3601182F0070460010704794 +:104510000000660C2C009F0601107E0E0008267815 +:10452000600F0000600490860040090C9C98908504 +:10453000000100202C78600C206008B0012E000ED5 +:10454000002E006E00CE00EE00FE0005009600F684 +:1045500000E600D600C6006600260006012620916F +:104560008000207119EB7610266026788CFF0904F4 +:10457000AB3B601000B62058B8A000BE92061904EC +:10458000AB3670309C0615202069010068C090058C +:104590000904AB0D080CA55F68C30000080CAA4E07 +:1045A000703300000036206901406B0493841000D2 +:1045B000013820010100080C2B5A9006080C2B5AD8 +:1045C000206901006824D084011068270001003EA2 +:1045D00070109C361110660C7612700C9C361140CF +:1045E0002C009F3601182F00700E0010700F000075 +:1045F000660C00662C009F0601107E0E00082678CF +:10460000600F0000080CD5301180080C3453080CE2 +:10461000D5411518080CBEC00400080CAA4E682429 +:10462000D08409B0682700010898080CD5411118FA +:10463000080CBEC0009060142048080CD31001681C +:104640006020908600031508A86B0103AB7EA87B51 +:104650000000080C7237080CD51B080CD7B8080CE2 +:10466000B4A8080CA92100CE0804AAB62C78600CC6 +:1046700020600804AAB6012E000E002E006E00CEA7 +:1046800000DE00EE00FE009E000560209086000621 +:104690001D20080CEEDE0C0800D6080CA1F07003FB +:1046A00002007007001460C3001420E1000120998B +:1046B000198C20E9000020A1025020A90004400329 +:1046C0007023000470277878080CA52F00DE000501 +:1046D000080CA1F0700B080078149084FF00700E95 +:1046E0007814908400FF7022782C70267860908473 +:1046F00000FF90850200700278609084FF008007C0 +:10470000700660C20804A52F00B600D6001600D6B9 +:104710002F6820090035080CD9BF00DE1904ABE969 +:10472000080CA1A570031300782C080CACFA2068C3 +:10473000682090860003056078102058BAA0080C05 +:10474000B39511D89286007E1128700B00FF700F70 +:10475000FFFE04989286007F1128700B00FF700FF7 +:10476000FFFD04589284FF8001809286008011280A +:10477000700B00FF700FFFFC040092D810002B5C40 +:10478000B810700AB814700E00C0B884700E00A87B +:10479000080CB395113078102058B8A09082007E94 +:1047A000025000D62069181F2D04700A8D682D0450 +:1047B000700E00DE00106034700E78387012783C95 +:1047C000701660C3000C001E00DE080CA52F00BE92 +:1047D0000005080C9C98781B000178030006001E59 +:1047E00000DE00BE0005792C91800008200C918627 +:1047F000000601C0918600030904AC6A9186000599 +:104800000904AC529186000405F091860008090461 +:10481000AC5B78070037782F000378171700080C77 +:10482000ACD70005080CAC9800D60026792C21687E +:104830002009400068006A44D2FC11F80002AC3242 +:10484000AC3DAC34AC3DAC39AC32AC32AC3DAC3D43 +:10485000AC3DAC3DAC32AC32AC32AC32AC32AC3D47 +:10486000AC32AC3D080C0D8C6824D0E40110D0CCE7 +:104870000110900E001020092000682C7022683072 +:1048800070260804AC91080CAC9800D60026792C50 +:104890002168200940006A00928600021108900EEB +:1048A0000804AC91080CAC9800D60026792C21683D +:1048B0002009400004B004E100D60026792C2168CC +:1048C0002009400092860005011892860002110816 +:1048D000900E0438046900D60026792C21686814EB +:1048E0006924C185692600962048A9B0A834911290 +:1048F000A9B4A838009E910370227226792C918069 +:1049000000112004D0FC1148918000002004908EFA +:1049100000020130908E00040118200940000008B8 +:10492000900E712A60C30018002E00DE0804A52F27 +:1049300000B60036004600560066080CA1F090064E +:10494000700302007938710A793C710E7810205892 +:10495000B8A0080CB39511189092007E026800D69A +:104960002069181F2D2C8D682D3490D810002B5CD9 +:10497000BB10BC1400DE0028901EBC84202900005F +:104980006634782C9080000820049086000311285B +:1049900075127616731A741E002073127416751A27 +:1049A000761E006E005E004E003E00BE0005080C44 +:1049B000A1F070030100782C700A7814700E700E4C +:1049C00060C300080804A52F080CA19C7003140004 +:1049D0007838700A0079783C700E782C7012783034 +:1049E00070167834908400FF8007701A60C300103E +:1049F0000804A52F00E620710240000600F620788A +:104A0000781000B62058B8D4D0840120784C702A91 +:104A10007850702E00BE00FE000E00EE0005080C5F +:104A2000A1E770030100782C700A7814700E60C33F +:104A300000080804A52F080CA1F0700302007007FD +:104A40000001700BC00062389286000420018000D3 +:104A50000138928600072001400001102001000269 +:104A6000700E60C300080804A52F00A97914712AEC +:104A700060C3000060A795750026080C2ABC0228B8 +:104A8000201101012204C0C52012002E080CA552DD +:104A9000080C8D1600050036009600D600E67860FA +:104AA0002048AA80929600C0929400FDAA82AA840F +:104AB00092940300AA86A970919400FFAB78938426 +:104AC00000FF908DC200A9729384FF009215AA7A0C +:104AD000A874AA7CA87EAA7600D620690200080CD9 +:104AE000ADD100DE20E9000020A1024020A9000A8B +:104AF000A86020E0A85C9080001C2098400360A380 +:104B00000035AA6C9294700092863000011060A368 +:104B1000003700EE00DE009E003E0005900E781487 +:104B200000962048A880D0FC01C09084000311A802 +:104B30002001180C2004D0BC01807824D0CC11684E +:104B4000D0C41158A8AC900511402001180C200CBD +:104B5000C1D52102200919B6210C009E918D009229 +:104B600000102009009660AB003600262110900E40 +:104B7000080C2BA3002E00052009000900A0200925 +:104B8000000A00882009000B00702009000C005862 +:104B90002009000D00402009000E00282009000F08 +:104BA00000102009000869120005080CA1A50016D4 +:104BB0000026009600D67814204870130138200192 +:104BC000183720049084002811382001197F200410 +:104BD0009086AAAA1904AE767003540000C620611C +:104BE0001800607C908400FFA99C810F918CFF00CD +:104BF0009105700A6080700EA99C918CFF00711263 +:104C000020A90004200918052E1092900006210406 +:104C10002012810882101F04AE0720A90004200979 +:104C2000180121042012810882101F04AE11A8600F +:104C300020E0A85C9080002A20982009000620A986 +:104C40000001400280072012821081091DC000D699 +:104C500020690200080CADBC00DE2071024020116A +:104C600002402009000220A9000140028007201212 +:104C7000821081091DC02009000820A900014002FE +:104C800080072012821081091DC0A85C908000322C +:104C900020982009000820A9000140028007201266 +:104CA000821081091DC000CE60C3004C60A3005675 +:104CB00060A795752001183720049084002811689A +:104CC000080C79CB01506028C0BD602A2009180467 +:104CD00020110029080C2BA30010080CA52F080C8C +:104CE0008D1600DE009E002E001E000500E62071DD +:104CF000024020012200908500FF70027007FFFF34 +:104D000020710100709B00FF00EE0804ADEC080C60 +:104D1000A1A500160026009600D67814204870132E +:104D200001387003550000C6A8A0908400FFA99C1C +:104D3000810F918CFF009105700AA9A0918CFF0052 +:104D4000A8A4908400FF9105700EA99C918CFF008F +:104D500020611800607C908400FF910D71126180C9 +:104D6000711620090008A86020E0A85C9080002A45 +:104D700020982E109290000620A900014002800782 +:104D80002012821081091DC020A9000420091805E5 +:104D900021042012810882101F04AEC820A900023D +:104DA0002009180121042012810882101F04AED2AC +:104DB00000D6001620690200080CADBC001E00DE03 +:104DC0002071024020A9000220091803201102408E +:104DD00021042012810882101F04AEE82009000877 +:104DE000400280072012821081091DD0900620A960 +:104DF0000008201282101F04AEF900CE60C3004CE0 +:104E000060A3005660A79575080CA52F080C8D1699 +:104E100000DE009E002E001E000500D692900018B5 +:104E2000821420E90000206902006813000022A813 +:104E3000928400E0012820A900209292002000081E +:104E4000901620A102409006400482FF01206810C5 +:104E5000800068120C6000DE000500F600E600D657 +:104E600000C600A6009600660126209180002071F1 +:104E700019EB7610266026788CFF0904AFB97030E4 +:104E80009C0615202069010068C090050904AF8BBD +:104E9000080CA55F68C30000080CAA4E7033000020 +:104EA0000036206901406B04938410000138200112 +:104EB0000100080C2B5A9006080C2B5A206901009F +:104EC0006824D084011068270001003E70109C36D1 +:104ED0001110660C7612700C9C3611402C009F3617 +:104EE00001182F00700E0010700F0000660C006695 +:104EF0002C009F0601107E0E00082678600F00002F +:104F0000080CD5301180080C3453080CD541151805 +:104F1000080CBEC00400080CAA4E6824D08409B056 +:104F2000682700010898080CD5411118080CBEC06C +:104F3000009060142048080CD3100168602090860F +:104F400000031520A86B0103AB7EA87B0000080CB2 +:104F50007243080CD51B080CD7B8080CB4A8080C71 +:104F6000A92100CE0804AF3C2C78600C2060080416 +:104F7000AF3C70130000700F0000012E006E009E09 +:104F800000AE00CE00DE00EE00FE00056020908640 +:104F900000061D08080CEEDE08F000F60036207949 +:104FA00003807B18D3BC1DE8783279367A3A781BB7 +:104FB0008080003E00FE00050016200103822004D0 +:104FC00090840007908600011188200100150C29AB +:104FD000200910002001038220049084000790869D +:104FE0000003012081091DB0080C0D8C001E000576 +:104FF0002001038220049084000790860003112082 +:105000002001038020030001000501560016002640 +:1050100000E6900E207119EB0489010601807004EE +:1050200090860003014020A910006044D0FC01C01C +:105030001F04B01500E808016044D0FC01887030FE +:105040009C061148080C9C986044D0DC0148C0DCE8 +:105050006046700A7042704C9C061150080C9CF31C +:10506000010E1931900600EE002E001E015E0005B3 +:10507000010E190CAFF8908500010CA820010382E5 +:1050800020049084000790860003000501262091EB +:1050900024007808D0A4190C0D85D09C0128782014 +:1050A000908CF00011B80012012E0005B066B0A47B +:1050B000B0D3B11BB12BB13CB14BB15EB1A3B1A721 +:1050C000B066B066B1AAB1C6B066B066080C0D8C09 +:1050D000012E000520606044D0BC0140C0BC604689 +:1050E0006000908A00141A0C0D8C0012012E00052D +:1050F000B08BB08DB08BB093B08BB08BB08BB08BCE +:10510000B08BB08DB08BB08DB08BB08DB08BB08BC1 +:10511000B08BB08DB08B080C0D8C20090013080CDF +:10512000B50A012E000560142048A880D0DC0130AB +:10513000080C8EED080CB46D012E00052009004905 +:10514000080CB50A012E0005080CAFDC20011A205E +:1051500020030000703090651130700490860003C9 +:1051600001E0080C0D8C70349092C35012588000EE +:105170007036700490860003011070070000781FDD +:1051800008080058080CB3C10140080CF3CC6003B8 +:10519000000120090014080CB50A781F0100080C52 +:1051A000AFF8012E0005080CAFDC714C81FF11280F +:1051B00020111A232013000004C020610100715047 +:1051C00091927530167881087152714C91861B68E6 +:1051D0000120200103912003040091880008210C84 +:1051E000918E0006116060149084198490850012DD +:1051F000714C918E1B681108C0FD601600B0714C97 +:1052000091880008210C918E00090D68601490842B +:10521000198490850016714C918E1B681108C0FD91 +:1052200060160018706CC085706E781F0200080C44 +:10523000AFF8012E0005080CAFDC714C2160600353 +:1052400000032009004A080CB50A781F0200080C68 +:10525000AFF8012E00057808D09C0DE8782020607A +:1052600060030003080CAFDC080C1E67781F040005 +:10527000080CAFF8012E00057808D09C0DE87820C6 +:105280002060080CAFDC080C1EAF781F0400080C6F +:10529000AFF8012E00057808D09C0DE878209065C5 +:1052A00001586044D0BC0140C0BC60467104918686 +:1052B00000030110080C9D5F012E000500F6703CF4 +:1052C0009086000205E87808D09C0DE87820907D53 +:1052D00005B8782090860002117800C62F60080C6F +:1052E000AFDC0106080CB1E4010E090CAFF87844FC +:1052F000C0BD784600CE04207844D0BC0508C0BCB0 +:1053000078467820908600090118080CA47700C020 +:105310007828D0FC1118080CA3F60090200118374B +:1053200020049084002811302001197F20049086E9 +:10533000AAAA11202001038720031000080CA37BD8 +:1053400000FE012E0005080C7A6D012E0005080CE8 +:105350000D8C000520091B792104D0BC01A8C0BC1C +:10536000200A2009010B210490850002200A20094F +:1053700001012104C0AC200A200901052104908408 +:10538000198490858092200A012E0005080C8D2C2E +:105390002009010B2104D08C01A8C08C200A200117 +:1053A000184B2004D094113020090101210490856C +:1053B0000020200A20091B79200B00002001001B7F +:1053C000080CAFCD012E000500E6207119EB6044FA +:1053D000C0BC6046D0FC01B8704C9C0611902019EE +:1053E0000001080CA85A704F000020010109200498 +:1053F000D08C1138200101082004D0BC1110703F5E +:105400000000080CAA6500EE0005002670109C063E +:105410001178080CA9216044C0FC6046600C90150E +:1054200001207212600F000000107212720E9006BE +:10543000002E0005002670209C061178080CA9217A +:105440006044C0FC6046600C901501207222600F21 +:10545000000000107222721E9006002E000500D679 +:10546000003678309C0615582069010068C0900508 +:1054700001F8080C8D1F080CA55F68C30000080C1C +:10548000AA4E206901406B0493841000013820016A +:105490000100080C2B5A9006080C2B5A20690100B9 +:1054A0006824D0840110682700019085000100382D +:1054B0007808C0AD780A60030009630A9006003ED0 +:1054C00000DE0005001600260036610020190100EC +:1054D000200103822004D09C019000C60126209167 +:1054E000280000160036080CB046003E001E012EB3 +:1054F00000CE6200220091060D5822000010831990 +:105500001D38003E002E001E000500E600D600C635 +:10551000080CAFDC0106207119EB20690100704C0A +:10552000206090861B6815B86814D08C01886817B5 +:1055300000102009001981091DF0200100326920A6 +:10554000D1BC013080011DD8692C918D0008692ED5 +:105550006824D08C01106827000268D090050118DB +:105560009082000502386060800060622001039133 +:1055700020030400080C9CF3682C9084FFFD682E27 +:105580002001184B2004D09411206804908500203D +:10559000680620690000010E090CAFF88DFF00CEEF +:1055A00000DE00EE000500E600D600C6080CAFDC09 +:1055B0000106207119EB20690100080CB28568D042 +:1055C00090050158908200051240080C2BF4200130 +:1055D00003912003040020690000010E090CAFF8BC +:1055E0008DFF00CE00DE00EE000500162001013424 +:1055F00020049005014090820005122820010391AB +:105600002003040400202001039120030400001E55 +:10561000000500D60156080CA1F07A1482FF01386B +:1056200070030100700B000360C300080490700356 +:1056300002007007000020691800901E6800908624 +:1056400000041110C38D0060080C79CB1110C3AD9C +:105650000008C3A56ADCD29C1110D2AC0108C39D1E +:10566000730E080C8DE420A900062011FFEC201910 +:10567000FFED20710250230520728E7022052072EA +:105680008E7093980002929000021F04B33B60C397 +:105690000020080CA52F015E00DE00050156080C55 +:1056A000A1F07A1482FF01689286FFFF01189282AE +:1056B000000E123870030100700B000360C3000875 +:1056C0000488700302007007001C700F0001201195 +:1056D00019C122048007701A821022048007701EEC +:1056E00004211120B8A09082007F02482001181FD9 +:1056F0002004702220011820200470260030200190 +:1057000018182004908400FF702620A9000420E1CE +:1057100000012099180520E9000020A1025640034D +:1057200060C3001C015E0804A52F00062001183785 +:105730002004D0AC000E000520110003080CA8EFD7 +:1057400020110002080CA8F9080CA7DA0036901EF8 +:10575000080CA85A003E0005080C35960188001672 +:1057600000B600C670109085002070122009007EDF +:10577000080C6977B85CC0ACB85E00CE00BE001EF5 +:10578000000500D600F671049186000411307410F3 +:105790009E9000049E9800030088918600011130BD +:1057A00074209E9000089E98000700409186000299 +:1057B000153874289E90000A9E980009611024688C +:1057C000680C907D01E87810910611282F68780CFC +:1057D000907D1DC800A8780C680E7C0E2F12230443 +:1057E0009F0611082D1A900670327036700490864C +:1057F0000003011070070000900600FE00DE0005A7 +:10580000908500010CD02071189070009005014027 +:1058100020010812207118007076707A706BFFD426 +:105820002071180070747056705B1DDC000500E676 +:105830000126207118002091800075549582001077 +:1058400006087058206060009086000001489CE0C7 +:10585000001C70689C0212080CB020611DDC0C98C2 +:1058600060030008852975569CA8001C7068950285 +:105870001230755A90850001012E00EE0005705B14 +:105880001DDC0CC090060CC000E620711800755499 +:10589000958200100600705820606000908600001D +:1058A00001489CE0001C70689C0212080CB020614A +:1058B0001DDC0C9860030008852975569CA8001C07 +:1058C000706895021228755A9085000100EE000557 +:1058D000705B1DDC0CC890060CC89C821DDC0A0C99 +:1058E0000D8C2001181A20049C021A0C0D8C9006B5 +:1058F0006006600A600E6016601A60126023000085 +:1059000060030000601E605E60626026602A602E98 +:1059100060326036603A603E604A602A60466042AB +:105920002061180060548000605600059006600EEB +:105930006016601A601260226002601E605E606223 +:10594000604A60462061180060548000605600057F +:10595000000660009086000001D0601CD084190C05 +:105960001B6E602300072001198920040006908225 +:105970000051000E02088004601A080CF19D604B73 +:1059800000006044D0FC1129900660466016000EAD +:105990000005080CAFDC0106200119FE20049C065E +:1059A0001130003620190001080CA85A003E080CDE +:1059B000AA65010E090CAFF8000500E6012620716A +:1059C00018002091800075549582000106087058D7 +:1059D000206060009086000001489CE0001C706818 +:1059E0009C0212080CB020611DDC0C9860030008BA +:1059F000852975569CA8001C706895021230755A4E +:105A000090850001012E00EE0005705B1DDC0CC0CE +:105A100090060CC060209084000F0002B51EB528CF +:105A2000B543B55EDB0BDB28DB43B51EB52895B16E +:105A3000B577B51EB51EB51EB51EB51E91860013F1 +:105A400011306044D0FC0110080C9C980005000542 +:105A50000066600090B200141A0C0D8C0013006EEA +:105A60000005B541BD20BF07B541BF9EB83CCFEC96 +:105A7000B541BC9EC5DCB541B541B541B541B54167 +:105A8000B541080C0D8C0066600090B200141A0C31 +:105A90000D8C0013006E0005B55CCC30B55CB55CB8 +:105AA000B55CB55CB55CB55CCBC7CDABB55CCC6D5E +:105AB000CCF1CC6DCCF1B55C080C0D8C6000908203 +:105AC00000141A0C0D8C60000002B575C626C6C005 +:105AD000C850C8BFB575B575B575C5F5CB38CB3BE6 +:105AE000B575B575B575B575CB74080C0D8C0066BC +:105AF000600090B200141A0C0D8C0013006E0005AB +:105B0000B593B593B5D1B669B6E9B593B593B593E9 +:105B1000B595B593B593B593B593B593B593B59343 +:105B2000B593B593B593080C0D8C9186004C056028 +:105B300091860003190C0D8C0096601CC0ED601E50 +:105B400060030003610660142048A8809084A010C0 +:105B5000C0B5A882A8B0A836A8B4A83A9006A846AE +:105B6000A84AA8889092199A0210200119998003D6 +:105B7000801382139210621A009E080C1CC1200927 +:105B80008030080C99030005601000B62058BCA0B6 +:105B900000BE2C00080CB70B080CDA666003000787 +:105BA000000500D6009600F6207918007A9060145F +:105BB0002048A880D0EC111092900018AC7CC4FC56 +:105BC0000046A8E490051140A8E0921A0140022086 +:105BD000A87F000720100028A87F00150010A87FCC +:105BE00000008214A8870000AA0200060016002602 +:105BF00000C600D600E600F6240090051108009AC1 +:105C000021009086001511182001000100382100A4 +:105C100090860016011820010001002A94A40007B4 +:105C2000842394050002B631B631B628B62BB631BE +:105C3000B625B623B623B623B623B623B623B6239A +:105C4000B623B623B623080C0D8C080CC1B6004849 +:105C5000080CC2F40030080CC3EA20010004080C50 +:105C600068B600FE00EE00DE00CE002E001E2C0006 +:105C7000A89A000E080CB7C90530A804A80E00A603 +:105C80002050B10000AE80068006800790BC003F27 +:105C90009084FFC090800002AAD0ABD4ACD8ADDC19 +:105CA00020310000204112E5080CB9ED0160000E22 +:105CB0009005012000FE009E00DE000500FE009E13 +:105CC00000DE0804B46D2001002C900E080CB82FE3 +:105CD0000C7091B60015017091B60016015891B282 +:105CE00000470A0C0D8C91B200501A0C0D8C918259 +:105CF00000470042080CB2620120908600020904AD +:105D0000B5D10005B68BB68BB68DB6BFB68BB68B4C +:105D1000B68BB68BB6D2080C0D8C00D6001600964A +:105D20006003000461142148A880D0FC01C0A87C55 +:105D3000C0FC90051158A898900501402001000072 +:105D4000900E080CB82F080CB46D00A86003000278 +:105D5000A8A8A9AC91051178A8B2A8B60C78A88318 +:105D60000020A890A88EA8A8A8B2A8ACA8B6A8CBD6 +:105D70000000A8CF0000009E001E00DE0005080CF9 +:105D80009CF300D6009661142148080CD312012020 +:105D9000A87F0006080C7243009E00DE080CB46D5C +:105DA00008049D5E080C9CF3080C3424080CDA638C +:105DB00000D6009661142148080CD3120120A87F58 +:105DC0000029080C7243009E00DE080CB46D080424 +:105DD0009D5E918200470002B6F9B6FBB6F9B6F9AE +:105DE000B6F9B6F9B6F9B6F9B6F9B6F9B6F9B6F93B +:105DF000B6FB080C0D8C00D60096601F00006114E5 +:105E00002148A87F0000A8870000080C7243009E6C +:105E100000DE0804B46D00260036005600660096C9 +:105E200000A600F60006080C1061000E090C0D8C8F +:105E3000A96021E8A95C9188001A21A0900E20A9F0 +:105E400000204104A87E20791800799091880018DC +:105E5000918C0FFFA976AC7A295000A6200102058B +:105E600020030000901E2029000191820035122895 +:105E700020110020080CCE3704C021302009003446 +:105E800020110020080CCE3796B20034B004904D9B +:105E90000110080C1013080C106101D08528A86BA4 +:105EA0000110A86F00002920B406968A003D123028 +:105EB00026082011001C080CCE3700B896B2003C12 +:105EC0002009003C29502011001C080CCE370C186A +:105ED000200102052003000000AE852F95AD005083 +:105EE000B56AB074C0FDB0760048200102052003F9 +:105EF000000000AE852F95AD0050B56A2A48A80471 +:105F0000A80700000006080C7243000E2048900508 +:105F10001DB000FE00AE009E006E005E003E002E32 +:105F2000000500D600F600960006080C1061000E71 +:105F3000090C0D8CA96021E8A95C9188001A21A0A8 +:105F4000900E20A900204104AA6AA87E207918009A +:105F50007990810C9188000C9182001A021020091E +:105F6000001A21A8810BA976AC7A2E98A85C9080A3 +:105F7000002020A020010205200C918D008021022C +:105F8000400320030000080C7243009E00FE00DE68 +:105F90000005001600D600F6009600162001020546 +:105FA000200C918D00802102001E207902002E9885 +:105FB000A880D0EC01189E80000C20982021003E83 +:105FC000901E928200200218201100202018948632 +:105FD000003E11700096080C10612900009E05C05B +:105FE000A8062048A86020E8A85C9080000220A0B5 +:105FF0003300908E02600140200902809102920AD3 +:106000000218201021009318220094021228240064 +:106010009202241093189006202022A8A800920033 +:10602000A80220E10000400383FF01803300908636 +:1060300002801130781480009085008078162E98A8 +:10604000231084FF0904B7DE0804B7E0908500013F +:1060500078170000009E00FE00DE001E000500D63E +:106060000036009663142348A87EA986080C723770 +:10607000009E003E00DE000591B600151118080CC8 +:10608000B46D003091B60016190C0D8C080CB46D6F +:10609000000520A9000E20E100002E986014009653 +:1060A0002048A804900515C02900009E00962048AD +:1060B000A86020E8A85C20A0009E400391960016EE +:1060C00001F001369080001C20A02011000620A9BC +:1060D00000013418831823A0400333188318239831 +:1060E00082111DB820110006013E20A0331883182C +:1060F000239840033418831823A082111DB80096FA +:10610000080CD312013060142048A8070000A86BC7 +:106110000103009E0804B46D009E7130918E010051 +:106120001120080CBEC00804B46D20E100009E8858 +:10613000000E219800962048A86020E8A85C009EE8 +:1061400001369080000E20A02011000620A9000139 +:10615000341883A040033318839882111DC820117E +:106160000006013E20A0331883984003341883A012 +:1061700082111DC8601400962048A80400862040A3 +:106180002009000C88068006800790BC003F9084A0 +:10619000FFC09080000EAAA4ABA0ACACADA820318B +:1061A0000000204112C6080CB9ED0120008E009EAF +:1061B0000804B46D080CBEC00CC8009600D60036AA +:1061C00073309386020011A8601000B62058B8D72B +:1061D000000000BE6014900501302048A8070000B0 +:1061E000A86B0103AB32080CB46D003E00DE009ECC +:1061F000000500111D480CC800060016080CDA4EF8 +:106200000188601490051170600B0003601B000092 +:10621000604B000020090022080CBCF49006001E10 +:10622000000E0005908500010CD00096001620A9F4 +:1062300000149E80000C20E100002098601420488B +:10624000A86020E8A85C9080000220A04003200104 +:106250000205200300012099026020A900164003D6 +:1062600020A9000AA8042048A86020E8A85C908023 +:10627000000220A040032001020520030002209913 +:10628000026020A900204003200300006014204881 +:10629000A8002048A86B0103080CB46D001E009EE6 +:1062A000000500960016900E7030908601000140A7 +:1062B0007038908400FF800C703C908400FF800454 +:1062C000908000049108810B201100022019000C1D +:1062D00060142048080CCE3720110205201300005E +:1062E000080CD312014060142048A8070000A868D9 +:1062F000A8E6A86B0103080CB46D001E009E000503 +:10630000001620090000703090860200011020095C +:10631000000100966014904D090C0D8CA97E080CAC +:106320007243009E080CB46D001E00050016009616 +:10633000703090860100111820090004001070349C +:10634000800C810B2011000C2019000C60142048D7 +:10635000A8040096900501082048080CCE372011AB +:10636000020520130000009E080CD3120148A80467 +:1063700090051158A8070000A868A8E6A86B0103BB +:10638000080CB46D009E001E000500862040A03061 +:106390008007908601001118080CBEC000E0A034F0 +:1063A0008007800C88068006800790BC003F9084A0 +:1063B000FFC09080000CA87F0000A8870000A89B69 +:1063C0004000AAA4ABA0ACACADA820310000204195 +:1063D00012C600190D08008E089800960006080CD9 +:1063E0001061000E01B0A8AF0DCBA87A000EA8A6D0 +:1063F0000006AE6E2800A8A2A97EAF76AA92AB9640 +:10640000AC9AAD9E00862940080C116A008E9085DA +:106410000001009E000500E600D60026700890846A +:1064200000FF621000B62258BA1000BE9206154056 +:10643000700C621000B62258BA1400BE9206150005 +:10644000604B00002C68001620090035080CD9BFED +:10645000001E1178622C2268605C6B5C9306114808 +:106460002071026C6B209386000301309386000636 +:106470000128080CB4A8002000390010080CBB2B20 +:10648000002E00DE00EE000500966814204891867C +:1064900000150904BB08918E00161904BB29700C65 +:1064A000908CFF009186170001209186030019044B +:1064B000BAE289FF113868009086000F0904BAC259 +:1064C0000804BB2768089086FFFF1904BB0AA88050 +:1064D00090840060908600201150A8B0A9349106E5 +:1064E0001904BB0AA8B4A93891061904BB0A682488 +:1064F000D0841904BB0AD0B40158001620011989B0 +:10650000200C6018910290820005001E1A04BB0A3C +:10651000080CD51B681000962048A9A0009E685C56 +:10652000A87EA97A6864A886A880C0DCC0F4C0D41C +:10653000A8820026900E6A182001000A080C980212 +:10654000A888920A02088011AA8A82FF002E1138B8 +:1065500000C62D60080CCFF100CE0804BB2700C692 +:10656000A86CD0FC1118080C63E00010080C67F14F +:1065700000CE1904BB0A00C62D60080CB4A800CEDA +:106580000804BB2700C6080CB4DD01A86818601A0F +:106590006017000068106012080CD7C06023000369 +:1065A000690400C62D60080CB4A800CE080CB50A1A +:1065B00000CE0804BB272001198B2004684A00CEB6 +:1065C0000804BB2770089086000B11C8601000B645 +:1065D0002058B900C1BCB90200BE00C62D60A87F1A +:1065E0000003080CDA03600700856003000B6023DA +:1065F000000220098020080C98BC00CE0440700CDA +:1066000090862A0011382001198B2004684A00F86E +:1066100004D100F889FF090C0D8C00C600D62D604E +:10662000A86B0103A87F0003A87B0000080C70582A +:10663000080CD51B080CB4A80026601000B6205822 +:10664000BA3C080C6AC400BE002E00DE00CE080C66 +:10665000B46D009E00059186001511282001198B4C +:106660002004684A0068918E0016116000C62D0053 +:106670002060080CF19D080C8EED080CB46D00CE66 +:10668000080CB46D00050026003600467228ACB434 +:10669000ABB0D2F401302001198B2004684A080401 +:1066A000BBA500C62D60080CCEBC00CE6804908649 +:1066B0000050116800C62D002060600300016007D3 +:1066C000005020098023080C98BC00CE04F068001C +:1066D0009086000F01A889FF090C0D8C6800908638 +:1066E00000041190A880D0AC0178A8430FFFA83F08 +:1066F0000FFFA884C0FCA8862001000168320400B6 +:1067000020010007683200E0A880D0B41150D0AC5E +:106710000DB86824D0F41D48A838A93491050D801F +:106720000C20D2EC1D68702493061118702094067A +:106730000D387020683E7024683A200100056832E8 +:10674000080CD6AA080C9D5E0010080CB46D004E13 +:10675000003E002E000500E600D60026700890845A +:1067600000FF621000B62258BA1000BE920619044B +:10677000BC0C700C621000B62258BA1400BE92060F +:106780001904BC0C603820686824C0DC68266A20C4 +:10679000928600070904BC0C9286000205E89286E6 +:1067A000000005D06808633C930615B02071026CA8 +:1067B00091860015055800C66038206061049186F6 +:1067C000004B01C09186004C01A89186004D0190BC +:1067D0009186004E01789186005201606014009607 +:1067E0002048080CD312090C0D8CA87F0003009ED2 +:1067F000080CDA03600700856003000B60230002C9 +:1068000020098020080C98BC00CE00306038207031 +:106810002001198B2004704A080CB46D002E00DE94 +:1068200000EE000500B6009600F6601420486010E7 +:10683000205891B600150130BA08BB0CBC00C48CBE +:10684000BC02047000960156003600262B489E902C +:1068500000102019000A20A90004080CC5A4002E6D +:10686000003E015E009E1904BC7D00960156003674 +:1068700000262B489E9000142019000620A9000431 +:10688000080CC5A4002E003E015E009E15B07238B3 +:10689000BA0A733CBB0E83FF0118BC00C48DBC0256 +:1068A000A8049005112800FE009E00BE0804B87FD1 +:1068B00000962048AA12AB16AC0A009E80068006FD +:1068C000800790BC003F9084FFC0908000022009A8 +:1068D000002BAAA4ABA0ACACADA820310000204195 +:1068E00012C6080CB9ED013000FE009E080CB46D14 +:1068F00000BE0005080CBEC00CB82B7800F6080CD2 +:106900003424080CDA6300FE00C6080CB4172F000C +:10691000601260170000602300016007000160033F +:10692000000120010007080C68B6080C68E2080C9A +:1069300098C3080C9D5E00CE0804BC50210091B2A3 +:1069400000541A0C0D8C91B200401A04BD080002CC +:10695000BCF4BCF4BCEABCF4BCF4BCF4BCE8BCE8D9 +:10696000BCE8BCE8BCE8BCE8BCE8BCE8BCE8BCE807 +:10697000BCE8BCE8BCE8BCE8BCE8BCE8BCE8BCE8F7 +:10698000BCE8BCE8BCE8BCE8BCE8BCE8BCE8BCF4DB +:10699000BCE8BCF4BCF4BCE8BCE8BCE8BCE8BCE8BF +:1069A000BCEABCE8BCE8BCE8BCE8BCE8BCE8BCE8C5 +:1069B000BCE8BCE8BCF4BCF4BCE8BCE8BCE8BCE89F +:1069C000BCE8BCE8BCE8BCE8BCE8BCF4BCE8BCE89B +:1069D000080C0D8C006600B666102658B8D4C08C22 +:1069E000B8D600BE006E000060030001610691860B +:1069F00000320118080C98C3002020098020080CE0 +:106A000098BC012620918000080C9D5E012E000597 +:106A100026000002BCF4BCF4BD1EBCF4BCF4BD1ED8 +:106A2000BD1EBD1EBD1EBCF4BD1EBCF4BD1EBCF40F +:106A3000BD1EBD1EBD1EBD1EBD1EBD1E080C0D8C87 +:106A4000600490B200541A0C0D8C91B60013090426 +:106A5000BDF591B600271904BDA1080C9C986004EF +:106A6000080CD53001B0080CD54101A8908E00214A +:106A70000904BD9E908E00221130080CB8FC090458 +:106A8000BD9A0804BD9B908E003D0904BD9E08047C +:106A9000BD94080C345320010007080C68B6601040 +:106AA00000B62058B9A000BE080CBEC09186007E7A +:106AB0001148200118372014C285080C79CB110821 +:106AC000C2AD2202080CAFDC0036002620190028D7 +:106AD0002110080CF2B0002E003E001600260036F1 +:106AE000211020190028080C9A550076903E080CB9 +:106AF0009912601000B6905D010000BE2C08080CD1 +:106B0000EC04007E003E002E001E080CAFF8080CBE +:106B1000DA630016080CD7B8080CB46D001E080C18 +:106B2000352D080C9D5E0030080CD7B8080CB46DEC +:106B3000080C9D5E0005080CBEC00CB0080CBEFC25 +:106B40000C98918600150118918600161140080CCA +:106B5000B2620D80908600020904BF070C5891862E +:106B600000141D40080C9C986004908E002211189F +:106B7000080CB8FC09F8080C3424080CDA63080C7B +:106B8000D5301190080C3453601000B62058B9A0CD +:106B900000BE080CBEC09186007E11282001183767 +:106BA000200CC18521020800080CD5411120080CD9 +:106BB000BEC00804BD946004908E0032116000E6EF +:106BC00000F6207118A120790000080C37CE00FED5 +:106BD00000EE0804BD946004908E00210D40908E5C +:106BE0000022090CBEC00804BD9490B200401A04F3 +:106BF000BE9E20080002BE3DBE3EBE41BE44BE4712 +:106C0000BE54BE3BBE3BBE3BBE3BBE3BBE3BBE3BA3 +:106C1000BE3BBE3BBE3BBE3BBE3BBE3BBE3BBE3BAC +:106C2000BE3BBE3BBE3BBE3BBE3BBE3BBE3BBE3B9C +:106C3000BE3BBE57BE60BE3BBE61BE60BE3BBE3B00 +:106C4000BE3BBE3BBE3BBE60BE60BE3BBE3BBE3B32 +:106C5000BE3BBE3BBE3BBE3BBE3BBE89BE60BE3BF9 +:106C6000BE5EBE3BBE3BBE3BBE5FBE3BBE3BBE3B15 +:106C7000BE60BE84BE3B080C0D8C04102001000BCE +:106C800004382001000304202001000504086010DE +:106C900000B62058B80400BE908400FF9086000023 +:106CA00011C82001000100A0200100090088600334 +:106CB0000005080CDA66080C9D5E0048000800001C +:106CC00004B8080CDA6660030004080C9D5E000539 +:106CD000080C68B66003000200362019185523041A +:106CE0009084FF00112020011989201C004080079A +:106CF000909A00040EC08003801B831B9318631AB4 +:106D0000003E080C9D5E0C18080CD7B8080CB46D3A +:106D100008F000E600F6207118A120790000080CA8 +:106D200037CE00FE00EE080C9C98080CB46D087875 +:106D300060030002080CDA6608049D5E2600200845 +:106D40000002BEB7BE98BEB5BE98BE98BEB5BEB571 +:106D5000BEB5BEB5BE98BEB5BE98BEB5BE98BEB5F2 +:106D6000BEB5BEB5BEB5BEB5BEB5080C0D8C0096A1 +:106D700060142048080C7243009E080CB46D000596 +:106D800000E6009600260016080CD3120568601471 +:106D90002048A8689086013911A8A89890860056C6 +:106DA0001148080C577D013020010000900E201181 +:106DB0004000002820010030900E20114005080CF2 +:106DC000D9290090A86CD0FC0178A8070000001613 +:106DD0006004908E00210168908E003D0150001EDD +:106DE000A86B0103A8330100001E002E009E00EED8 +:106DF0000005001E00090CC0009660142048A80081 +:106E00002048A86B0103A8238001009E000500B65E +:106E100066102658B804908400FF90B2000C1A0C3B +:106E20000D8C660496B6004D1120080CD848080455 +:106E3000BF8C660496B600431120080CD891080454 +:106E4000BF8C660496B6004B1120080CD8BD080410 +:106E5000BF8C660496B600331120080CD7DA0804FC +:106E6000BF8C660496B600281120080CD57F080454 +:106E7000BF8C660496B600291120080CD5C0080402 +:106E8000BF8C660496B6001F1120080CB849080490 +:106E9000BF8C660496B600001118080CBC1204E002 +:106EA000660496B600221118080CB8DD04A8660422 +:106EB00096B600351118080CBA0B0470660496B625 +:106EC00000391118080CBBAB0438660496B6003DB7 +:106ED0001118080CB9150400660496B60044111880 +:106EE000080CB95100C8660496B600491118080C80 +:106EF000B9960090660496B600411118080CB98046 +:106F0000005891B6001511100063003091B60016BC +:106F1000112800BE0804C29900BE0005080CB52760 +:106F20000CD8BFAABFB8BFAABFFFBFAAC1B6C2A62E +:106F3000BFAABFAABFAAC26FBFAAC2850096601F20 +:106F4000000060142048A8002048A86B0103009EA0 +:106F50000804B46DA001A0010005660496B6000403 +:106F6000113020010001080C68A20804B46D00056E +:106F700000E6207118007090908600741540080C8F +:106F8000EBD511B0601000B620587030D08C0128BD +:106F9000B800D0BC0110C0C5B80200F900BE200185 +:106FA0000006080C68B6080C3453080CB46D009841 +:106FB0002001000A080C68B6080C34536003000175 +:106FC00060070001080C98C3080C9D5E002020019A +:106FD0000001080CC18600EE000500D6B800D08480 +:106FE00001609006080C68A22069184A6804D0A4C1 +:106FF000012020010006080C68E200DE000500B652 +:10700000009600D6201118242204908600741904DA +:10701000C15B60102058BAA09286007E1120080C37 +:10702000C3F50804C0C82001180D2004D08C090441 +:10703000C06A00D6080C79CB01A0002620110010F0 +:10704000080C6E66002E0904C069080C5A0A1598CF +:1070500060142048A8070000A86B0103A833DEAD28 +:107060000450601000B62058B91000BE918600FF91 +:107070000580002620118008080C6E66002E054849 +:1070800060149005090C0D8C2048A868908400FFBE +:1070900090860039114020010030900E20114009E7 +:1070A000080CD929004060142048A8070000A86BEC +:1070B0000103A833DEAD60102058B9A00016080CFB +:1070C0003453080CB46D001E080C352D00DE080486 +:1070D000C16000DE080CC3EA60102058BAA0928696 +:1070E000008015106014900501A82048A8689084BD +:1070F00000FF90860039114020010000900E201101 +:107100004000080CD9290030A8070000A86B010333 +:10711000A833020020010006080C68B6080C34539E +:10712000080CB46D0804C160080CC16E60149005B1 +:1071300001902048A86CD0F401E8A868908400FF72 +:10714000908600391D0820010000900E201140009B +:10715000080CD92908F8080CC16401609006080CD5 +:1071600068A220010004080C68E220010007080C56 +:1071700068B608A020010004080C68B6600300018E +:1071800060070003080C98C3080C9D5E0804C160EA +:10719000B85CD0E40178080CD752080C79CB011800 +:1071A000D0DC1904C08A201118372204C0AD201287 +:1071B0000804C08A080CD793201118372204C0A5F0 +:1071C00020120006080CEDB6000E1904C08AC0B5E6 +:1071D000201220010006080C68B69006080C68A270 +:1071E00000C62001180F2004D09C052000F620794D +:1071F000010000E620711800700C908400FF78E612 +:10720000707E701078EA7082908C00FF00EE780C2F +:10721000C0B5780E00FE080C278D00F62100900EF8 +:10722000080C2744795E00FE9186008101F0200958 +:10723000008100E0200900EF00F62079010079EAE2 +:1072400078E7000079327936780CC0B5780E00FE08 +:10725000080C278D00F62079180079822100900E05 +:10726000797E080C2744795E00FE8108080C6905C8 +:107270002B0000CE1904C08A60122009180F210CBF +:10728000D19C01502009027C210C918C00FFB91285 +:107290002009027D210CB91620010002080C68B6F5 +:1072A000602300016003000160070002080C98C31E +:1072B000080C9D5E0028080CBEC0200100010431AE +:1072C00000DE009E00BE0005200118102004D0A49E +:1072D00001202001184B2004D0AC000500E6080C6A +:1072E000F3090190207102607108720C918C00FF0B +:1072F00011189284FF00014060102058B8A09084BB +:10730000FF801110B912BA1600EE0005203090056A +:10731000015820010007080C68B6080C5A0A112011 +:1073200020010007080C68E22600900511B06014E7 +:1073300000962048A86C009ED0FC117800360046CC +:10734000601000B62058BBA000BE20210004201110 +:107350008014080C4E48004E003E080C3453602048 +:107360009086000A110800050804B46D00B600E616 +:1073700000260016207118007090908600141904E1 +:10738000C2652001180D2004D08C0904C21800D653 +:10739000080C79CB01A0002620110010080C6E66A5 +:1073A000002E0904C217080C5A0A159860142048C8 +:1073B000A8070000A86B0103A833DEAD04506010DD +:1073C00000B62058B91000BE918600FF0580002647 +:1073D00020118008080C6E66002E05486014900588 +:1073E000090C0D8C2048A868908400FF9086003915 +:1073F000114020010030900E20114009080CD929BD +:10740000004060142048A8070000A86B0103A833BF +:10741000DEAD60102058B9A00016080C3453080CDB +:10742000B46D001E080C352D00DE0804C26A00DEB3 +:10743000080C5A0A11706014900511580036004665 +:1074400060102058BBA020210006080C4FFF004E02 +:10745000003E00D660102058080C6A12080CBFEDE0 +:1074600000DE080CC4C5158860102058B89090053F +:10747000056020010006080C68B600966014904D67 +:1074800001D0A868908400FF908600391140200147 +:107490000000900E20114000080CD9290060A86857 +:1074A000908400FF908600290130A8070000A86B97 +:1074B0000103A8330200009E080C3453602090861C +:1074C000000A0140080CB46D0028080CBEC09006EC +:1074D000080CC186001E002E00EE00BE0005201123 +:1074E0001824220490860014116020010002080C68 +:1074F00068B66003000160070001080C98C3080427 +:107500009D5E200100010804C1862030201118244E +:10751000220490860004114896B6000B1120200129 +:107520000007080C68B60804B46D200100010804C7 +:10753000C1860002BFAAC2B1BFAAC2F4BFAAC3A13A +:10754000C2A6BFADBFAAC3B5BFAAC3C7660496860D +:1075500000030904C1B696B6001E1110080CB46DE4 +:10756000000500B600D600C6080CC3D911A09006CD +:10757000080C68A2080C3424080CDA63200100020D +:10758000080C68B66003000160070002080C98C38D +:10759000080C9D5E04282009026E210490860009D3 +:1075A000116060102058B840908400FF9005018061 +:1075B0008001B842601B000A00982009026F210474 +:1075C0009084FF00908E19000158908E1E00099043 +:1075D000080C3424080CDA6320010001080CC18671 +:1075E00000CE00DE00BE0005009600B60026901614 +:1075F000080CC3E700D62069197F2D0490050168A7 +:1076000060102058B8A09086007E1138206918209C +:107610002D048000206A00DE001000DE0088900645 +:10762000080C68A220010002080C68B66003000183 +:1076300060070002080C98C3080C9D5E0804C37123 +:10764000080CD31201B060142048A868201090865E +:10765000013911386007001620010002080CD9809A +:1076600000B060142048A868D0FC01182001000177 +:107670000CA82001180E2004D0DC0148601020580E +:10768000B840908400FF9005111090060C38080C4B +:10769000BEC02009026E213496B400FF9686000514 +:1076A00005209686000B01C82009026F21049084F2 +:1076B000FF0011189686000901C090861900116814 +:1076C00096860009019020010004080C68B620018C +:1076D0000028601A60070052002020010001080CF9 +:1076E000C186002E00BE009E000592860139016011 +:1076F00060142048080CD3120140A8689086013914 +:107700000118A86CD0FC01080C4060102058B8404B +:10771000908400FF900501388001B842601B000A88 +:107720006007001608F0B8A09086007E113800E6C9 +:1077300020711800080C62E200EE0010080C3424DE +:10774000086020010004080C68B6080CC3E711406B +:107750006003000160070003080C98C308049D5EE5 +:10776000080CBEC090060804C1860489116020017F +:107770000008080C68B66003000160070005080CEB +:1077800098C308049D5E200100010804C18600F929 +:1077900011602001000A080C68B660030001600750 +:1077A0000001080C98C308049D5E20010001080434 +:1077B000C1862009026E2104908600031138200939 +:1077C000026F21049084FF0090862A0000059085B6 +:1077D0000001000500B600C6001661102158080C13 +:1077E0006986001E00CE00BE000500B600F600E669 +:1077F00000D60036001660102058200918372104E2 +:1078000090850003200A080CC49705D0200918377A +:107810002104C0CD200A080C6E27015890062020B4 +:107820002009002A080CEF3B2001180C200CC19500 +:10783000210261200016602300072019002A200978 +:10784000000100E62071180000C620610100080C4C +:1078500033E900CE60109005090C0D8C080C31C97D +:1078600000EE001E612200C6015620A907812009F2 +:10787000007F080C352D81081F04C439015E00CE3D +:10788000080CC3EA20710260207902007817000119 +:1078900020011837200CC1C57018D0FC0110D0DCB5 +:1078A00001187038D0DC1108C1C47817000020011D +:1078B0001837210291840050908600500588207965 +:1078C00001002E04908400FF2069181F206A78E6CA +:1078D00000068E702E0420691820206A78EA78321B +:1078E000783620109084FF00001E91052009182C86 +:1078F000200A2200908400FF2008080C278D080C25 +:1079000079CB017020710260206919857048206A66 +:10791000704C68067050680A7054680E080CD75294 +:10792000001E003E00DE00EE00FE00BE00050096D8 +:107930000026003600E601562019182C231C83FF70 +:1079400001F0207102607200929400FF7004908434 +:10795000FF009205930611982011027620A90004D9 +:107960002B482019000A080CC5A411482011027ADE +:1079700020A9000420190006080CC5A41100015E0E +:1079800000EE003E002E009E000500E62071026021 +:1079900070349086001411A8703890860800118801 +:1079A000703CD0EC016090840F009086010011388B +:1079B0007054D0A41110D0AC011090060010908526 +:1079C000000100EE000500E6009600C600760056B5 +:1079D000004600260006012620918000202919F784 +:1079E000252C202119FE242420611DDC2071180083 +:1079F0007254707492021A04C567080C91C7090486 +:107A0000C560080CEF6C0904C56067209786000705 +:107A10000904C58925009C060904C56024009C064C +:107A20000904C5603E0881FF01C86010900501B0DF +:107A300000B62058918600021120B800D0BC19046D +:107A4000C587918600011148BAA09286007E112850 +:107A50006004908600020904C58700BE00C660432A +:107A6000FFFF6000908600041110080C1B6E9786C3 +:107A7000000A0148080CD541113000CE080CBEC0E8 +:107A8000080CB4A800E860142048080CD31201A820 +:107A9000978600031530A86B0103A880D0CC013075 +:107AA0000096A87C2048080C1013009EAB7EA87B93 +:107AB0000000080C7237080CD51B080CB4A800CEC7 +:107AC0009CE0001C70689C0212100804C4F8012E8F +:107AD000000E002E004E005E007E00CE009E00EEE6 +:107AE0000005978600061118080CEEDE0C3097860C +:107AF000000911486000908600040D082009004C20 +:107B0000080CB50A08E09786000A0980082000BE24 +:107B100008B86000908600131998603460020880ED +:107B2000220C230491061130821083181F04C59083 +:107B300090060005230491020218200100010008AC +:107B40009006918D00010005013601C600168906D8 +:107B500080068007908C003F21E09084FFC0930056 +:107B60002098351820A90001220C4002910E1140E6 +:107B7000821083191DC89006001E01CE013E00052B +:107B8000220C9102021820010001001020010000C7 +:107B9000918D0001001E01CE013E0005220C810FD7 +:107BA000230491061130821083181F04C5CE90065D +:107BB0000005918D000100056004908A00541A0CA4 +:107BC0000D8C080CD5300120080CD5410158002837 +:107BD000080C3453080CD5410128080C9C98080C5B +:107BE000B46D0005080CBEC00CC091820057122075 +:107BF000918200400208000A0005C614C614C6148B +:107C0000C614C614C614C614C614C614C614C614A4 +:107C1000C616C616C616C616C614C614C614C6168A +:107C2000C614C614C614C614080C0D8C600BFFFFD6 +:107C30006003000F6106012620918000080CDA66BF +:107C400020098000080C98BC012E000591860013C5 +:107C500011286004908200400804C69E9186002787 +:107C60001520080C9C98080C3424080CDA63009644 +:107C700061142148080CD3120198080CD541111841 +:107C8000080CBEC00068A86B0103A87F0029A87B70 +:107C90000000A980C1C5A982080C7243080CD51B3D +:107CA000009E080CB46D08049D5E9186001411209E +:107CB0006004908200400030918600530110080C4F +:107CC0000D8C00050002C67CC67AC67AC67AC67AD2 +:107CD000C67AC67AC67AC67AC67AC67AC695C6956E +:107CE000C695C695C67AC695C67AC695C67AC67A28 +:107CF000C67AC67A080C0D8C080C9C980096611404 +:107D00002148080CD3120168A86B0103A87F000664 +:107D1000A87B0000A884C0ECA886080C7243080C5D +:107D2000D51B009E080CB46D0005080C9C98080C2F +:107D3000D541090CBEC0080CB46D00050002C6B8E0 +:107D4000C6B6C6B6C6B6C6B6C6B6C6B6C6B6C6B653 +:107D5000C6B6C6B6C6BAC6BAC6BAC6BAC6B6C6BC2D +:107D6000C6B6C6BAC6B6C6B6C6B6C6B6080C0D8C7A +:107D7000080C0D8C080C0D8C080CB46D08049D5E6D +:107D8000918200571220918200400208000A0005EB +:107D9000C6DFC6DFC6DFC6DFC6DFC718C812C6DF4C +:107DA000C822C6DFC6DFC6DFC6DFC6DFC6DFC6DF66 +:107DB000C6DFC6DFC6DFC822C6E1C6DFC81E080CA4 +:107DC0000D8C00B600966114214860102058B80050 +:107DD000D0BC1508A87F0000A86B0103A87B000099 +:107DE000A880D0AC0128A834A9389115190CC8A8CE +:107DF000080C705862102258BA3C82FF01108211A0 +:107E0000BA3EB8D090050110080C6AC4080CB46DD5 +:107E1000009E00BE0005A880D0AC09E0A838A934B7 +:107E2000910509C0A884D0BC19A8080CD6710C8093 +:107E300000B600966044D0FC190CB00515B0611472 +:107E40002148601CD0FC111076440008903696B48E +:107E50000FFF86FF159060102058B800D0BC1904A1 +:107E6000C801A87F0000A86B0103AE7AA880D0AC3F +:107E70000128A834A9389115190CC8A8080C705805 +:107E800062102258BA3C82FF01108211BA3EB8D06B +:107E900090050110080C6AC4601CD0FC11487044A5 +:107EA000D0E41904C7E2080CB46D009E00BE0005C2 +:107EB00020090211210C080C0D8C080CDAC51DA834 +:107EC000968C0C00015060102058B800D0BC1904EA +:107ED000C7E67348AB96734CAB92968C00FF9186C5 +:107EE00000020508918600281118A87F001C00E8F0 +:107EF000D6DC01A0A87F0015A880D0AC0170A938FD +:107F0000AA34210092050148704891061118704C5E +:107F100092060118A996AA92C6DC0038D6D4011898 +:107F2000A87F00070010A87F0000A86B0103AE7AAD +:107F3000901ED6C401D89686010011307064900559 +:107F40001118C6C40804C729735CAB8A83FF01708B +:107F5000938A00090210201900080036230820190E +:107F6000001820110026080CCE37003ED6CC09049C +:107F7000C73E7154A98E81FF0904C73E919200212A +:107F800012788304909800182011002A080CCE372C +:107F90002011020520130000080CD9EC0804C73E8C +:107FA000A86CD0FC012020090020A98E0C5000A64E +:107FB0002950080CCDD600AE080CD9EC080CCE2701 +:107FC0000804C740080CD6340804C755A880D0ACB4 +:107FD0000904C769A884D0BC1904C7699684040041 +:107FE0000130A838AB3493050904C76900B8734859 +:107FF000A83893061198734CA834931E0904C769D6 +:108000000068A880D0AC0904C731A838A93491050C +:108010000904C731A884D0BC1904C731080CD67133 +:108020000804C75500F62079026C7C047B007E0CA6 +:108030007D0800FE260095051131000526009505F6 +:10804000111100050005009660030002600700435F +:1080500060142048A880D0AC0128009E0005213083 +:10806000222800582400A9B0910A2300AAB4921330 +:1080700026009102250092030E90AC46AB4AAE3624 +:10808000AD3A6044D0FC190CB0051140604B0000C3 +:10809000080C1D3711186144080C98E8009E000573 +:1080A000918200571220918200400208000A0005C8 +:1080B000C86FC86FC86FC86FC86FC86FC86FC86F08 +:1080C000C86FC86FC871C86FC86FC86FC86FC882E3 +:1080D000C86FC86FC86FC86FC8A6C86FC86F080CD4 +:1080E0000D8C6004908600401110080C9C9820199B +:1080F0000001080CA85A60030002080CDA6B080C97 +:108100009CF300056004908600401110080C9C98B8 +:1081100020190001080CA85A080C9CF3080C342400 +:10812000080CDA63009661142148080CD312015040 +:10813000A86B0103A87F0029A87B0000080C7243EC +:10814000080CD51B009E080CB46D0005080C0D8CA6 +:10815000A87F0015D1FC0180A87F00078002800065 +:10816000810A918900000006001620091A8F210457 +:108170008000200A001E000EA996A8920005918298 +:1081800000571220918200400208000A0005C8DE54 +:10819000C8DEC8DEC8DEC8DEC8E0C8DEC8DEC9A8E2 +:1081A000C8DEC8DEC8DEC8DEC8DEC8DEC8DEC8DE9F +:1081B000C8DEC8DECAF8C8DECB02C8DE080C0D8CEB +:1081C000601CD0BC0178D0840168D0F40120C08448 +:1081D000601E0804C6C0611400962148A880C0E54E +:1081E000A882009E007600A600E60096207102603C +:1081F00061142150601CD0FC1110764400089036A8 +:1082000086FF1904C9A0B67A96B40FFFB780C7E5F8 +:10821000B782621000B62258BA3C82FF0110821168 +:10822000BA3E00BE86FF0904C9999694FF00928465 +:108230000C0001207048B096704CB09292840300FC +:108240000904C999968601001130706490051118CF +:10825000C6C4B67A0C38080C1061090C0D8C2900C4 +:10826000B07EB78097BD0200B782A86B0103B06CE7 +:10827000A86EB070A872B074A87670449084F000B4 +:108280009635AE7A968C0C0001207348AB96734CF1 +:10829000AB92968C00FF91860002018091860028A7 +:1082A0001118A87F001C0060D6DC0118A87F0015FB +:1082B0000038D6D40118A87F00070010A87F00005E +:1082C000AF82B084A886B088A88A901ED6C40190D8 +:1082D000735CAB8A83FF0170938A00090210201936 +:1082E0000008003623082019001820110026080C69 +:1082F000CE37003ED6CC01E87154A98E81FF01C86B +:108300009192002112608304909800182011002A95 +:10831000080CCE3720110205201300000050B06C6D +:10832000D0FC012020090020A98E0C682950080CDF +:10833000CDD6080C1B3A009E00EE00AE007E000574 +:10834000080CDAC50904C903B080C0E4B0820C98F7 +:108350002001198B2004604A009661142148A83C32 +:10836000A94091051118A880C0DCA8826003000212 +:10837000080CDA920904CAF3604B0000601000B6E2 +:108380002058B80000BED0BC1500D1CC0904CAB733 +:10839000A97CA86CD0FC0904CA780016A880000645 +:1083A000A884000600A62150B178918400FF90B601 +:1083B00000020904CA45908600281904CA31A87F22 +:1083C000001CB07F001C0804CA4D6024D0F411D0FA +:1083D000A838AA34920509C8A838AA949206112090 +:1083E000A890AA34920609886024D0D41148A9B074 +:1083F000A8349102603AA9B4A8389103603E602481 +:10840000C0F56026601000B62058B83C8000B83E29 +:1084100000BE601CC0FC601E9006A87AA896A892B8 +:10842000A880C0E4A882D0CC0140C0CCA88200962D +:10843000A87C2048080C1013009E621882FF016877 +:108440002001198B200492021240A86B0103A87F1F +:108450000006A87B00000804CADF080CD6710804D7 +:10846000CAF3D1DC0158A87F0015B07F0015080CB5 +:10847000D9120118B178C1DCB17A0078D1D40128C1 +:10848000A87F0007B07F00070040A880D0AC01287B +:10849000A834A9389115190CC8A8A880B082A8944E +:1084A000B096A890B092A86020E8A85C9080001ACE +:1084B00020A020A900208A06800680079094003F13 +:1084C00022E09084FFC09080001A2098400300AE04 +:1084D000000EA886000EC0CCA882080CD9EC001EA5 +:1084E000A87800062148080C1013001E0804CAE4EE +:1084F000001600A62150B178918400FF90B60002CA +:1085000001E0908600281128A87F001CB07F001C85 +:1085100000E0D1DC0158A87F0015B07F0015080CE1 +:10852000D9120118B178C1DCB17A0078D1D4012810 +:10853000A87F0007B07F00070040A880D0AC0128CA +:10854000A834A9389115190CC8A8A894B096A89079 +:10855000B092A880B08200AE080C1013009E080CE8 +:10856000D9ECA9780016080CCE27001E0468A86B69 +:108570000103A978918400FF90B6000201B09086B3 +:1085800000281118A87F001C00D0D1DC0148A87F6A +:108590000015080CD9120118A978C1DCA97A007855 +:1085A000D1D40118A87F00070050A87F0000A88040 +:1085B000D0AC0128A834A9389115190CC8A8A978FD +:1085C0000016080C7058001E601000B62058BA3C07 +:1085D000B8D000169005190C6AC4001E00BED1E484 +:1085E0001120080CB46D009E0005080CD6340CD880 +:1085F000611400962148A980080CDA92190C1B5AC4 +:10860000009E0005009661142148A83CA9409105F0 +:1086100001F0A87B0000A87F0000A86B010300B652 +:1086200060102058A834A938911511A8080C70586A +:10863000BA3C82FF01108211BA3EB8D090050110F9 +:10864000080C6AC4080CB46D00BE009E0005A8802A +:10865000C0DCA88208F0B800D0BC1120A834080CF7 +:10866000C8A80C20A884D0BC1DC8080CD6710C600A +:10867000080C9C980010080C9CF3601CD08401101E +:10868000080C1B6E080CD3120538009661142148A3 +:10869000080CD5411118080CBEC000E8A86B0103F6 +:1086A0002009180C210CD18C11E0D18411B861087B +:1086B000A97E918E00291110080CF2A1A87B000060 +:1086C000080C7243080CD51B601000B62058BA3C49 +:1086D000080C6AC400BE009E0804B4A8A87F000469 +:1086E0000C68A87F00040C509182005712209182E0 +:1086F00000400208000A0005CB93CB93CB93CB93A9 +:10870000CB93CB95CB93CB93CB93CB93CB93CB9377 +:10871000CB93CB93CB93CB93CB93CB93CB93CB9369 +:10872000CBC0CB93CB93080C0D8C080C59FE0528BD +:108730007144918C0FFF00662130080CDAC5006E81 +:1087400011F060149016D1C401187264929400FF65 +:108750000096904D0188A87F0000A8689086013996 +:108760000128A86B0103A97AAA9A0030A89B4000AF +:10877000A99EAAA2080C7243009E0804B46D0005CD +:10878000080C59FE0DD06014900E90160C089182C2 +:1087900000850002CBD9CBD7CBD7CBE5CBD7CBD776 +:1087A000CBD7CBD7CBD7CBD7CBD7CBD7CBD7080C47 +:1087B0000D8C6003000161060126209180002009D4 +:1087C0008020080C98BC012E00050026005600D61B +:1087D00000E620710260722462167220080CD30039 +:1087E00001F8226868009086000001D060106D10CA +:1087F000952E11B000C62D6000D6080CCEBC00DE50 +:1088000000CE0158702CD0841118080CCE640010D2 +:1088100068030002600700860028080CCEA80D90AF +:10882000600700876003000120098020080C98BCC5 +:108830007220080CD3000178681000B62058B800E8 +:1088400000BED0BC01406824D0EC012800C62D60D9 +:10885000080CD67100CE00EE00DE005E002E000592 +:108860009186001311606004908A00850A0C0D8CBB +:10887000908A00921A0C0D8C9082008500E29186FD +:10888000002701209186001401080005080C9C981F +:10889000009660142048080CD3120140A86B010315 +:1088A000A87B0000A87F0029080C7243009E080CDA +:1088B000B4A808049D5ECC68CC6ACC6ACC68CC684D +:1088C000CC68CC68CC68CC68CC68CC68CC68CC6808 +:1088D000080C0D8C080CB4A800059186001311300B +:1088E00060049082008520080804CCB99186002796 +:1088F0001558080C9C98080C3424080CDA63009670 +:1089000060142048080CD3120150A86B0103A87B07 +:108910000000A87F0029080C7243080CD51B009E9C +:10892000080CB46D00059186008901189186008AB3 +:108930001140080CB26201289086000C0904CCF1A9 +:108940000000080CB5270C70918600141D60080CFF +:108950009C98009660142048080CD3120D00A86B58 +:108960000103A87B0000A87F0006A884C0ECA886AD +:1089700008900002CCC9CCC7CCC7CCC7CCC7CCC7E9 +:10898000CCDDCCC7CCC7CCC7CCC7CCC7CCC7080CB8 +:108990000D8C6034908CFF00810F91860039011896 +:1089A0009186003511182001198900102001198ABB +:1089B0002004601A6003000C00056034908CFF00F6 +:1089C000810F918600390118918600351118200118 +:1089D000198900102001198A2004601A6003000E12 +:1089E00000059182009212209182008502080012F7 +:1089F0000804B527CD07CD07CD07CD07CD09CD4755 +:108A0000CD07CD07CD07CD07CD07CD07CD07080C86 +:108A10000D8C0096601000B62058B80000BED0BC87 +:108A200001606034908CFF00810F9186003901183D +:108A3000918600351110009E04F0080CD312111815 +:108A4000080CD51B00A060142048080CDA981110FF +:108A5000080CD51BA86B0103080CDA29080C72431B +:108A600000B660102058BA3C080C6AC400BE200949 +:108A7000026E210C613A2009026F210C613E6000F8 +:108A8000603660030013080CB4A8009E0005601057 +:108A900000B62058B80000BED0BC05A06034908C51 +:108AA000FF00810F9186003501309186001E01186C +:108AB00091860039153800D62C68080CD9BF11F002 +:108AC000080CB41701D8610660030001602300019F +:108AD00069106112692C612E693061326934918CA0 +:108AE00000FF61366938613A693C613E695C615EEC +:108AF000080CD7C020098020080C98BC2D6000DE2F +:108B00000804B46D009660142048080CD3120500C8 +:108B1000A86B0103A884D0B40128C0ECA886A87F64 +:108B200000060048D0BC0118A87F00020020A87FE2 +:108B30000005080CD630A87B0000080C7243080C16 +:108B4000D51B00B660102058BA3C080C6AC400BEA1 +:108B5000009E0804B46D0016009660142048080CAE +:108B6000D3120140A86B0103A87F0028A87B000056 +:108B7000080C7243009E001E9186001301489186E6 +:108B800000140130918600270118080CB5270068F1 +:108B9000080C9C98080CD51B00B660102058BA3CF5 +:108BA000080C6AC400BE080CB4A800050056006694 +:108BB000009600A6202900019182010112080010F0 +:108BC000200901002130830490980018200900201A +:108BD0002011002A080CCE3796B20020B004904D28 +:108BE0000110080C1013080C106105208528A86BD3 +:108BF0000110A86F00002920B406968A003D1228B3 +:108C000026082011001C049900A896B2003C2009F7 +:108C1000003C29502011001C04510C2820010205A1 +:108C20002003000000AE852F95AD0003B56A95AC1A +:108C300000000048200102052003000000AE852F3F +:108C400095AD0003B56A009E006E005E000500A6AB +:108C500089FF0158A80490550130A8070000080CAE +:108C600072432A480CB8080C724300AE000500F6A7 +:108C7000207902007814908500807816D18401084C +:108C80008108810C20A90001A86020E8A85C92005E +:108C900020A020E1000023009E00209840038318BC +:108CA000938600201148201823009E0020987814F5 +:108CB000800090850080781681091D80781490844A +:108CC000FF7F781600FE00056920918600030148A9 +:108CD0009186000201309186000801189186000AF1 +:108CE000151000C600D600E62D60009660142048DE +:108CF000080CD312019061209186000A01A8918688 +:108D0000000801B800C920010006A984C1D5080CDB +:108D1000748D080C7237080CD51B009E080CB4A883 +:108D200000EE00DE00CE0005A87F0013080C7243A1 +:108D30000CA0080CBEC00C88A880D0CC01400096C6 +:108D4000A87C2048080C1013009EA87F0000000596 +:108D500000C6702CD084117060082060602090865E +:108D60000002114061049186008501189186008BF4 +:108D70001108900600CE00050066012620918000B3 +:108D80002031000160209084000F0083012E006ECE +:108D9000000501262091800000662031000060203F +:108DA0009084000F001B006E012E0005CF0ECF0E29 +:108DB000CF09CF32CEE6CF09CEE8CF09DAEE97144D +:108DC000ED76CF09CF09CEE6CEE6CEE6080C0D8CC7 +:108DD00086FF0120080C6DC3190CCF3200366014D9 +:108DE00000962048A884009ED0CC01182019000CC1 +:108DF0000060D09401182019000D0038D0DC011853 +:108E000020190004001020190010080CEA1B003E75 +:108E1000000590060005908500010005009686FF7C +:108E200011E860142048080CD31201D06043FFFF02 +:108E3000A868908601391128A87F0005A88700003E +:108E40000028900E20010005080C748D080CD63007 +:108E5000080C7237080CB4A890850001009E00052C +:108E600090060CE0080CAFDC080CDAA66043FFFFAC +:108E7000908A00141A0C0D8C002B0106080CAFF818 +:108E8000010E0005CF52CF8DCF54CFB5CF88CF5232 +:108E9000CF09CF0ECF0ECF09CF09CF09CF09CF0908 +:108EA000CF09CF09080C0D8C86FF157860209086BD +:108EB00000060558009660142048080CD31201687B +:108EC000A880D0CC01400096C0CCA882A87C2048C5 +:108ED000080C1013009E080CD630009E080CDA0314 +:108EE00020092000200103382004D0A4012081099A +:108EF000090C0D8C0CB8602300026007008560032C +:108F0000000B20098020080C989E90850001000528 +:108F10000066080C1B6E006E083800E6207119EB25 +:108F200070309C061128080CA7DA00EE0804CF5414 +:108F300060209084000F90860006115000860096F5 +:108F4000204900012C40080CA92B009E008E0040F7 +:108F50000066080CA6D2190C0D8C080CA6E2006E57 +:108F600000EE1904CF540804CF09003600E6207142 +:108F700019EB704C9C061138901E080CA85A00EE94 +:108F8000003E0804CF54080CAA6500EE003E190408 +:108F9000CF540804CF0900C6006660209084000FFB +:108FA000001B006E00CE0005CFEBD0D5D247CFF12D +:108FB000B4A8CFEBEA11DA70D0D596DBD2D3CFE4E8 +:108FC000CFE4CFE4CFE4CFE4080C0D8C080CD541FE +:108FD0001110080CBEC000050804B46D601B000130 +:108FE0000005080CD31201306014009620482C00B4 +:108FF000A89A009E080CAFDC080CDAA6908A001430 +:109000001A0C0D8C00130804AFF8D015D017D041FE +:10901000D055D082D015CFEBCFEBCFEBD05CD05C6E +:10902000D015D015D015D015D066080C0D8C00E6E3 +:10903000601400962048A884C0B5A886009E2071C0 +:1090400019EB70309C0601D00066080CA6D2190CF2 +:109050000D8C080CA6E2006E080CDA036007008590 +:109060006003000B602300022001198A2004601AAB +:1090700020098020080C989E00EE0005601B00016E +:109080000CD8009660142048A884C0B5A886009E1D +:10909000080CDA03600700856003000B6023000200 +:1090A00020098020080C989E0005080CAFDC080CF5 +:1090B000B1E4080CAFF80C280096601B00016014A6 +:1090C0002048A884C0B5A886009E0005080C59FE5B +:1090D00001B860140096904D0190A868A86B010338 +:1090E000A87F0006908601391150A86B0139A87F2E +:1090F0000030A89B4005A89F0004080C7243009E06 +:109100000804B46D60140096904D0904D0D0A98075 +:10911000D1E41160611CD1FC0904D0D0611000B60B +:109120002158B93C81090208B93E00BE080CAFF8CD +:109130002001180F2004D0C40110009E0005A8884B +:10914000009E8003800B810B9108611A2001003082 +:109150002C080026621C080C17422001030C200476 +:10916000002E90860041119860140096904D090CD5 +:109170000D8CA884D0F41130C0F5A886009E601B29 +:1091800000020068009E00C6080C222000CE60008D +:1091900090860004112020090048080CB50A00053B +:1091A000009E080C1B6E0804D0416000908A0014D9 +:1091B0001A0C0D8C000B0005D0ECCFEED0EED0ECED +:1091C000D0EED0EECFECD0ECCFE6CFE6D0ECD0ECCA +:1091D000D0ECD0ECD0ECD0EC080C0D8C601000B6CC +:1091E0002058B804908400FF00BE908A000C1A0C2E +:1091F0000D8C00B6001300BE0005D109D1DED10BE5 +:10920000D14BD10BD14BD10BD119D109D14BD109B4 +:10921000D13A080C0D8C6004908E001605C0908E1B +:10922000000405A8908E00020590908E005209045B +:10923000D1DA6004080CD5410904D1F7908E0004FE +:109240001110080C3453908E00210904D1FB908E2C +:1092500000220904D242908E003D0904D1FB908E79 +:1092600000390904D1FF908E00350904D1FF908E9A +:10927000001E0178908E0001114060102058B80443 +:10928000908400FF908600060110080C3424080C1E +:10929000BEC00804B4A800C600D6610491860016BA +:1092A0000904D1CB918600021904D1A020011837FE +:1092B0002004D08C11C8080C79CB11B0080CDA4E00 +:1092C0000138080C79EE1120080C78D40804D22B50 +:1092D0002001198020030001200118002003000153 +:1092E000080C78FA0804D22B60102058B8A0908699 +:1092F00000800130200118372004D0AC1904D22B93 +:10930000601490051904D22BB8A0908200811A0431 +:10931000D22BB840908400FF900501908001B842A4 +:109320006017000060230007601B0398604B00007B +:10933000080CB41701282B006012602300010458A8 +:1093400000DE00CE6004908E000211A06010205854 +:10935000B8A09086007E1170200918372104C085BE +:10936000200A00E620711800080C62E200EE080CEA +:10937000BEC00030080CBEC0080C3424080CDA63F0 +:1093800000E6012620918000080C3453012E00EEE7 +:10939000080CB4A8000520010002080C68B66003A0 +:1093A000000160070002080C98C3080C9D5E00DEF7 +:1093B00000CE0C80080C34530804D14700C600D6F8 +:1093C0006104918600160D3860102058B8409084D2 +:1093D00000FF90050904D1A08001B842600300019C +:1093E000080C98C3080C9D5E00DE00CE0898080C9F +:1093F000BEC00804D149080CBEFC0804D14900D6FF +:109400002C686104080CD9BF00DE0118080CB46D8B +:109410000408600480076134918C00FF9105603678 +:10942000600700856003000B60230002603C600A57 +:109430002001198A2004601A602C2C082060602406 +:10944000D0B40108C085C0B5602621602009802005 +:10945000080C98BC000500DE00CE080CBEC0080C4D +:10946000342400E6012620918000080C3453601754 +:10947000000060230007601B0398604B0000012E72 +:1094800000EE0005080CB8FC1904D1F700056000D7 +:10949000908A00141A0C0D8C009600D6001B00DE7A +:1094A000009E0005D262D262D262D262D262D262E1 +:1094B000D262D262D262CFEBD262CFEED264CFEE72 +:1094C000D27ED262080C0D8C60049086008B01B0B5 +:1094D0006034908CFF00810F918600351130602C34 +:1094E00090800009200CC18521026007008B600379 +:1094F000000D20098020080C98BC0005080CDA42F9 +:109500000118080CDA550010080CDA63080CD51B9A +:10951000080CD3120570080C3424080CD31201680F +:1095200060142048A86B0103A87F0006A87B0000F8 +:10953000A884C0EDA886080C72432C68080CB417E8 +:10954000015068106012080CD7C000C62D60080CCE +:10955000B4A800CE00082D60601700006023000151 +:109560006007000160030001080C98C3080C9D5EB1 +:1095700000C8080CDA4201386034908640001118A7 +:10958000080C342408D06034908CFF00810F918641 +:1095900000390118918600351118080C3424086828 +:1095A000080CB4A800056000908A00141A0C0D8CF9 +:1095B0000002D2E9D2E9D2F1D2EBD2FBD2E9D2E970 +:1095C000B4A8D2E9D2E9D2E9D2E9D2E9D2E9D2E922 +:1095D000D2E9080C0D8C080CAFDC080CB1E4080CC7 +:1095E000AFF8611400962148A87F0006080C72436A +:1095F000009E0804B46D601CD084190C1B6E0C888E +:1096000092840003115892821DDC02402001181A36 +:1096100020049202121890850001000590060CE8C3 +:10962000009600280096000660142048000E0006F0 +:109630009984F0009086F000190C110C000E009E29 +:10964000000500E600C600360006012620918000D5 +:1096500020611DDC20711800735470749302165041 +:10966000602092061508080CDA4E018092860001EF +:1096700011686004908600041148080C3424080C1A +:10968000DA6300C6080CB4A800CE0070080CD7320C +:10969000015800B10148080CD5411110080CBEC09A +:1096A00000C6080CB46D00CE9CE0001C70689C02E3 +:1096B00012080890012E000E003E00CE00EE0005BC +:1096C00000766700978600000170978600010158B8 +:1096D0009786000D01409786000B01289786000AA7 +:1096E000011097860009007E000500E600C60016FE +:1096F00091881000210C81FF012820611B4C611210 +:10970000080C34249006001090850001001E00CE45 +:1097100000EE000500C6012620918000080CB41759 +:1097200001B0665E2B006012080C59FE0118080C8F +:10973000D45B0168080CD7C0602300032009004BEC +:10974000080CB50A90850001012E00CE0005900698 +:109750000CD800C6012620918000BAA0080CB4DD08 +:109760000580605F00002B006012080CD7C06023EA +:1097700000030016080CAFDC080C9A550076903EEA +:10978000080C99122C08080CEC04007E080CAFF8A9 +:10979000001ED1840128080CB46D90850001007072 +:1097A000080C59FE0128D18C1170080CD45B0148BB +:1097B0002009004C080CB50A90850001012E00CE4E +:1097C000000590060CD8290060160C902009004D69 +:1097D00000102009004E00F600C600460016080CD6 +:1097E000B4172C7805A07E5E2B0078127823000336 +:1097F000001620210005080CD46D001E9186004D36 +:1098000001189186004E014820011983200CD1FCDB +:1098100001682F60080CB46D00D020011982200C63 +:10982000D1FC01202F60080CB46D00882F60080C5B +:1098300059FE0138D18C111804F10148001029009B +:109840007816001E0016080CB50A90850001001E4F +:10985000004E00CE00FE000500F600C60046080CD3 +:10986000B4172C7805087E5E2B007812782300034D +:109870000096202100040489009E20011981200CFB +:10988000D1FC01202F60080CB46D00602F60080C23 +:1098900059FE0120D18C1160007101302009005265 +:1098A000080CB50A90850001004E00CE00FE0005B0 +:1098B000290078160C9800C6080C4DEC00CE11203B +:1098C000080CB46D90060005A86B0000A86F80001E +:1098D000290060169085000100050096007601269B +:1098E00020918000080CAFDC080C6B8C016800C66E +:1098F0002160900E2400080C748D080C72438CFFBC +:10990000190CB4A800CE0C802418080C9C5CBAA0DA +:10991000008620410001203900012608080C9A6FBA +:10992000008E080C99122F082648080CEC04B93C4C +:1099300081FF090C9B48080CAFF8012E007E009EA9 +:10994000000500C6012620918000080CB417019084 +:10995000660A2B086112080CD7C060230001290099 +:1099600060162009001F080CB50A90850001012E21 +:1099700000CE000590060CD800C60126209180007C +:10998000080CB4DD01B8660A2B086112080CD7C0B8 +:10999000602300082900601600F62C78080C183F98 +:1099A00000FE20090021080CB50A90850001012E57 +:1099B00000CE000590060CD82009003D00C6012607 +:1099C000001620918000080CB4170198660A2B0835 +:1099D0006112080CD7C06023000129006016001E28 +:1099E0000016080CB50A90850001001E012E00CE5D +:1099F000000590060CD000C6012620918000080CBE +:109A0000B4DD01882B086112080CD7C06023000167 +:109A10002900601620090000080CB50A9085000195 +:109A2000012E00CE000590060CD820090044083015 +:109A3000200900490818002600B662102258BA3CD6 +:109A400082FF01188211BA3E1140B8D0900501285A +:109A5000B88890051110B88B000100BE002E0005DB +:109A6000000600166004908E00020140908E0003F4 +:109A70000128908E0004011090850001001E000E48 +:109A8000000500060086009660209086000401A86C +:109A90006014904D080CD3120180A868908601399B +:109AA0000170602090C60003014090C600020128AA +:109AB000A86CD0FC01109006001090850001009E5B +:109AC000008E000E000500C6012620918000080CC3 +:109AD000B4DD01982B086112080CD7C06023000187 +:109AE00029006016080C342420090028080CB50A47 +:109AF00090850001012E00CE000590060CD89186BD +:109B0000001511A8201118242204908600741178E1 +:109B100000B6080CC16E00BE080CC3EA6003000169 +:109B200060070029080C98C3080C9D5E007860143B +:109B300000962048A86C009ED0FC0148200100013E +:109B4000080CD980080CBEC0080CB46D0005009646 +:109B50006014904D090C0D8CA87F0030A887000080 +:109B6000A89B4005A89F0004A86B013901262091FD +:109B70008000080C7243012E009E080CB46D0C305E +:109B8000009691860016112820010004080C68B682 +:109B900000E89186001515102011182422049086E3 +:109BA000001411E0601000B62058080C6A1200BEC4 +:109BB000080CC4C51198601000B62058B89000BEBB +:109BC0009005016020010006080C68B6601420486A +:109BD000A86CD0FC0170080CB87F004860142048C5 +:109BE000A86CD0FC0500080CBEC0080CB46D009E2B +:109BF0000005601463102358904D090C0D8CA87F4C +:109C00000000A8870000A89B4000080C6CAEA99E2D +:109C1000080C50C2012620918000080C7243012ECE +:109C2000080CB46D0C206014904D090C0D8CA87FAD +:109C30000030A8870000A89B4005A89F0004A86BDF +:109C40000139012620918000080C7243012E080C76 +:109C5000B46D0868A87C908600051108000900050D +:109C6000A884C0ADA8860005604B00006017000006 +:109C7000600300016007005020098023080C98BC95 +:109C8000000500C6601000B62058B80000BED0BC69 +:109C90000130006660209084000F001B006E00CE33 +:109CA0000005CFEBD663D663D666EF8AEFA5EFA8A3 +:109CB000CFEBCFEBCFEBCFEBCFEBCFEBCFEBCFEBD4 +:109CC000CFEB080C0D8CA001A001000500966014DC +:109CD000904D0118A880D0E41110009E0010009E45 +:109CE0000005601000B62058B80000BED0BC05507A +:109CF0002001183420049005154000F62C78080C3B +:109D0000B417050878106012080CD7C07820908628 +:109D1000000301287808603A2F00603E0020780890 +:109D2000603E2F00603A602E60230001600700351E +:109D300060030001795C615E20098020080C98BCFA +:109D40002F6000FE00052F6000FE2001198B20040B +:109D5000604A00050016009668142048681CD0FC74 +:109D6000C0FC681EA8801108D0E40180C0E4A8826D +:109D7000A87B0000A8970000A8930000D0CC013079 +:109D8000C0CCA882A87C2048080C1013683060362C +:109D9000908E000101486803000290860005017062 +:109DA0009006602E603200D0681CC085681E680373 +:109DB00000046824C0F490850C00682668142048CC +:109DC000A8B069389102A8B4693C91031E48683C68 +:109DD000602E68389084FFFC683A60322D00603A4B +:109DE0006808603E69106112695C615E6023000171 +:109DF000600700396003000120098020080C98BC2E +:109E0000009E001E00056024D0D40510D0F411F887 +:109E10006038940A603C930302309105012060246D +:109E2000C0D4C0F50098643A633EAC3EAB420046F5 +:109E300000362400ACB09402A8362300ABB49303E0 +:109E4000A83A003E004E6024C0D400006026000501 +:109E5000D0F41138A83C603AA840603E6024C0F5B8 +:109E600060260005000600166004908E003401B8DC +:109E7000908E003501A0908E00360188908E0037BC +:109E80000170908E00380158908E00390140908EFC +:109E9000003A0128908E003B011090850001001EC1 +:109EA000000E0005000600160026003600E6200120 +:109EB0001985200C8000201420010032080C980223 +:109EC0002001198982FF11102011001422022001A3 +:109ED0001987200C800020142071196F711A721ECE +:109EE00020010064080C98022001198A82FF1110D9 +:109EF0002011001422022001198B9288000A2102ED +:109F000020010017080CAFCD20011AA32102200167 +:109F10000032080C1742080C6E0C00EE003E002EBA +:109F2000001E000E00050006001600E6200119893B +:109F3000200300282001198A200300142071196FC2 +:109F4000701B0000701F07D02001198B2009001E14 +:109F5000210220010017080CAFCD20011AA3210215 +:109F600020010032080C174200EE001E000E000512 +:109F700000966060904D0110080C1093009E000543 +:109F8000000500C6012620918000080CB41701804E +:109F90002B0861120CA9602300012900601620091A +:109FA0000033080CB50A90850001012E00CE000593 +:109FB00090060CD8009600E600F6207118009186F5 +:109FC00000151520709090860018012070909086E2 +:109FD000001411E060142048AA3CD2E411602C78EF +:109FE000080C9E3001D8707CAA50920611607080D7 +:109FF000AA5492061140621000B62258BAA000BEC0 +:10A00000900E080C3473080CB87F0020080CBEC0FA +:10A01000080CB46D00FE00EE009E00057060AA54AE +:10A0200092060D480C8000C6012620918000080C85 +:10A03000B41701882B086112080CD7C060230001F7 +:10A04000290060162009004D080CB50A9085000112 +:10A05000012E00CE000590060CD800C601262091E6 +:10A0600080000016080CB41701802B086112080C40 +:10A07000D7C06023000129006016001E080CB50A35 +:10A0800090850001012E00CE0005001E90060CD028 +:10A09000001600260036004600560066009600E6D0 +:10A0A00000F62071180091860015156871906014F3 +:10A0B0002048A81480039106153020E100002001FB +:10A0C00019A42003000060142048A83020A88906A5 +:10A0D000800680079094003F22E89084FFC0908023 +:10A0E000001C20A0200119A40016200C080CE1403F +:10A0F000001EA8049005011020480C386014204868 +:10A10000A86B01030010080CBEC0080CB46D00FE63 +:10A1100000EE009E006E005E004E003E002E001E0F +:10A120000005009600E600F62071180091860015E3 +:10A1300011B87090908600041198601420482C7813 +:10A14000080C9E3001A8707CAA78920611307080AD +:10A15000AA7C92061110080C3424080CB87F002049 +:10A16000080CBEC0080CB46D00FE00EE009E000599 +:10A170007060AA7C92060D780C80009600E600F6CE +:10A18000207118009186001515507090908600047B +:10A190001530601420482C78080C9E3005F0707C37 +:10A1A000AAD0920611807080AAD492061160080C81 +:10A1B00034240016A99CAAB492841000C0FD080C97 +:10A1C000599B001E0010080C577D080CD31205087F +:10A1D000A87F0000A8870000A89B40000080080C12 +:10A1E000D31201B860142048080C577D1D70A87F59 +:10A1F0000030A8870000A89B4005A89F0004012606 +:10A2000020918000A86B0139080C7243012E080CC4 +:10A21000B46D00FE00EE009E00057060AAD49206A8 +:10A220000930088800160026A880D0AC0178A9382B +:10A23000AA34210092050150A89491061118A89003 +:10A2400092060120A996AA9290850001002E001E78 +:10A25000000500B600D60036080CD3120904D97CDC +:10A26000009663142348A87EA986929E400015504C +:10A27000631000C6235820090000A86CD0F4111008 +:10A28000080C6CAEAA9AA99E20A90004A86020E838 +:10A29000A85C9080003220A0B8C420E0B8C89080AC +:10A2A00000062098080C0FDE20A90004A85C90800E +:10A2B000003620A0B8C89080000A2098080C0FDE55 +:10A2C00000CE0090AA9A391893980007231C6004C6 +:10A2D000908600160110A89F0004ABA663102358B7 +:10A2E000B804908400FFA8A2A86CC0F4A86E080C63 +:10A2F000723760170000009E003E00DE00BE0005C1 +:10A3000000260036004600B6009600F66214224889 +:10A3100062102258207902609096000011A0B814B3 +:10A32000908400FF900E080C27442118831F939CF3 +:10A33000FF007838908400FF931D7C3C201180182A +:10A34000080C4E4800A890960001114889FF018032 +:10A35000A89F000D7838A8AA783CA8AE004890962F +:10A3600000021130A89F000D7838A8AA783CA8AE4A +:10A3700000FE009E00BE004E003E002E000500C6FE +:10A38000002600169186003501106A3800086A2CF4 +:10A39000080CD30001F022606120918600030118AF +:10A3A000918600061190683892060140683C92063A +:10A3B0001160610868389106114000206008693C0E +:10A3C00091061118601069109106001E002E00CE33 +:10A3D0000005908500010CC8A978D1CC0198918C1A +:10A3E00000FF918E00021170A9AC918C000F918E2C +:10A3F00000011140A880D0AC0128A834A9389115DB +:10A40000190CC8A8000500362019000100100036FC +:10A41000901E04C101E0080CD31201C8080CD51B22 +:10A420006037400060146017000000962048A88044 +:10A43000080CD5411118080CBEC00040A86B0103E0 +:10A44000A87B000083FF1129080C7243009E003E88 +:10A450000005A884D0B40128A87F0006C0ECA88617 +:10A460000070D0BC0118A87F00020048D0DC0118A1 +:10A47000A87F00030020A87F0005080CD630A87B29 +:10A4800000000005200118102004D0EC0005000693 +:10A49000200118102004D0F4000E00050006200151 +:10A4A00018102004D0E4000E0005003600466010AD +:10A4B00000B62058BBA000BE20210007080C4FFFAB +:10A4C000004E003E00050C511D8100052001198938 +:10A4D0002004601A00052001198B2004604A000541 +:10A4E00060009086001311D02C6800D6080CB417B9 +:10A4F0000190600300016007001E600BFFFF6838D9 +:10A50000603A683C603E68106012602300012009D8 +:10A510008020080C98BC00CE0804B46D080CB46D03 +:10A5200008049D5E611CD1FCA9801108D1E40005DE +:10A53000601CD0FCA8801108D0E40005601CD0FC91 +:10A54000C0FC601EA8801108D0E400056044D0FC67 +:10A550001138D0BC01C0C0BC60462001000200A080 +:10A56000D0AC1188D0DC1128908C000F91860005AA +:10A57000111820010003004060009086000F0118B0 +:10A5800020010001000860000005001600262009D7 +:10A590001824210C96940C0001189182001002C816 +:10A5A0009016D6CC01209182001402987254900625 +:10A5B000D6C40120918200180260705C92000248AB +:10A5C000012890800018910202209006002E001EA3 +:10A5D0000005080C8B3D908500010CC086FF090426 +:10A5E000CF096000908E00030158908E0004190C72 +:10A5F0000D8C601CD084190C1B6E90850001000529 +:10A60000080CAFDC01060036080CB1E4003E010E78 +:10A61000090CAFF80C9000B60066600090B2001410 +:10A620001A0C0D8C001B006E00BE0005DB26E2A399 +:10A63000E409DB26DB26DB26DB26DB26DB5DE48D7F +:10A64000DB26DB26DB26DB26DB26DB26080C0D8C57 +:10A650000066600090B200141A0C0D8C0013006E9E +:10A660000005DB41E9AEDB41DB41DB41DB41DB41A6 +:10A67000DB41E95DEA00DB41F0BDF0F1F0BDF0F156 +:10A68000DB41080C0D8C6000908200141A0C0D8CBC +:10A690006000000A0005DB5BE669E734E757E7D3B3 +:10A6A000DB5BE8D0E85BE497E935E94ADB5BDB5B41 +:10A6B000DB5BDB5BDB5B080C0D8C91B200541A0C8E +:10A6C0000D8C210091B200401A04DFFF0002DBA7CD +:10A6D000DDBFDBA7DBA7DBA7DDC8DBA7DBA7DBA72D +:10A6E000DBA7DBA7DBA7DBA7DBA7DBA7DBA7DBA75A +:10A6F000DBA7DBA7DBA7DBA7DBA7DBA7DBA9DC10DE +:10A70000DC1FDC88DCBEDD37DDAADBA7DBA7DDCB09 +:10A71000DBA7DBA7DDE0DDEDDBA7DBA7DBA7DBA7A6 +:10A72000DBA7DE93DBA7DBA7DEA7DBA7DBA7DE6269 +:10A73000DBA7DBA7DBA7DEBFDBA7DBA7DBA7DF3C55 +:10A74000DBA7DBA7DBA7DBA7DBA7DBA7DFC7080C43 +:10A750000D8C080C6DE91150200118372004D0CC65 +:10A7600011289084000990860008114060070009B4 +:10A77000602F0009601700000804DDB8080C6D8523 +:10A7800000E600C600360026001662102258BAA065 +:10A79000002620190029080CAFDC080C9A55007619 +:10A7A000903E080C99122C08080CEC04007E001E48 +:10A7B000080CAFF8001E002E003E00CE00EE661022 +:10A7C0002658080C6986BE04968400FF9082000615 +:10A7D000126800160026621000B62258BAA000BE09 +:10A7E0002C08080CF331002E001E1178080CEB32F7 +:10A7F0001904DC80080CEACA11206007000808046C +:10A80000DDB8600700090804DDB8080CEDB60128C2 +:10A81000080CEB320D780804DC80601719000C88F6 +:10A82000080C355B1904DFFC6106080CEA6A600756 +:10A8300000060804DDB8600700070804DDB8080C4E +:10A84000F12D1904DFFC080C355B1904DFFC00D680 +:10A8500066102658BE04968400FF908200061220DF +:10A8600020010001080C68A296B4FF008637968686 +:10A8700000060188968600040170BE0496B400FFAD +:10A8800096860006014096860004012896860005FB +:10A89000011000DE04A800E620710260703490848C +:10A8A000000311687034908A0014024820091824AB +:10A8B000210C91020220703090840003013000EEE0 +:10A8C00060170000602F000700B000EE080CEB9A44 +:10A8D0001190968600061140002662102258BAA0F8 +:10A8E000900E080C3473002E080C6A126007000AE0 +:10A8F00000DE0804DDB86007000B00DE0804DDB8E8 +:10A90000080C3424080CDA63600700010804DDB881 +:10A91000080CF12D1904DFFC080C355B1904DFFC71 +:10A9200000D600E620710260703490B4000319383C +:10A9300020311824263496320A1090B200140A04EA +:10A94000DC5F7030908400031904DC5F00EE00DEF1 +:10A9500066102658BE0496860707099000266210E6 +:10A960002258BAA0900E080C3473002E6007000C19 +:10A9700020010001080CF3100804DDB8080C6DE993 +:10A9800011402001183720049084000990860008A7 +:10A9900011100804DBB6080C6D8566102658BE043D +:10A9A000968400FF9082000606C811380026200118 +:10A9B0000006080C68E2002E005096B4FF008637AF +:10A9C000968600040120968600061904DC80080C97 +:10A9D000EBA711206007000E0804DDB800466410E4 +:10A9E0002458BCA00046080C3424080CDA63004E3E +:10A9F000001690062009184B210CD1A4014820090B +:10AA00000029080CEF3B60102058B800C0E5B802E0 +:10AA1000001E004E600700010804DDB8200100019F +:10AA2000080C68A2015600160026003620A9000472 +:10AA30002019180520110270080CC590003E002E48 +:10AA4000001E015E9005016896B4FF00863796826D +:10AA500000040A04DC80968200070A04DCE708048C +:10AA6000DC8060171900600700090804DDB8080CD5 +:10AA70006DE9114020011837200490840009908668 +:10AA8000000811100804DBB6080C6D856610265806 +:10AA9000BE04968400FF00060016908E0001011887 +:10AAA000908E00001118001E000E0080001E000E87 +:10AAB0009082000606A0015096B4FF008637968665 +:10AAC00000040120968600061904DC80080CEBD5F2 +:10AAD0001138080CEACA1120600700100804DDB81C +:10AAE000004664102458BCA00046080C3424080C0E +:10AAF000DA63004E001690062009184B210CD1A4F1 +:10AB0000014820090029080CEF3B60102058B800CC +:10AB1000C0E5B802001E004E600700010448080CA2 +:10AB2000EDB601980016968C00FF91860002016038 +:10AB3000918600030148001E96B4FF008637968672 +:10AB4000000609200804DC80001E60171900600759 +:10AB500000090070080C355B1904DFFC080CF12DAE +:10AB60001904DFFC080CE1DD1904DC806007001229 +:10AB700060030001080C98C3080C9D5E0005600787 +:10AB8000000160030001080C98C3080C9D5E0CB026 +:10AB9000600700050C68080CF12D1904DFFC080C97 +:10ABA000355B1904DFFC080CE1DD1904DC8060076B +:10ABB000002060030001080C98C3080C9D5E00058E +:10ABC000080C355B1904DFFC6007002360030001FB +:10ABD000080C98C3080C9D5E0005080CF12D1904A3 +:10ABE000DFFC080C355B1904DFFC080CE1DD1904FF +:10ABF000DC800016002600E6207102602C0820117F +:10AC000018202214703C920611E02011181F221403 +:10AC10007038908400FF920611A07240080CD30097 +:10AC20000570226060089086FFFF01207244600872 +:10AC3000920615286020908600071508080CB46D50 +:10AC400004A072449286FFFF01802C08080CD300F8 +:10AC500001B02260724060089206118860109190E5 +:10AC600000042214920601B8005072402C0890068D +:10AC7000080CEF05118072449286FFFF01B021603D +:10AC8000600700266017170072149296FFFF11806C +:10AC90006007002500686020908600071D80600422 +:10ACA000908600241110080CB46D21606007002507 +:10ACB00060030001080C98C3080C9D5E00EE002E96 +:10ACC000001E000520010001080C68A201560016B4 +:10ACD0000026003620A9000420191805201102764C +:10ACE000080CC590003E002E001E015E012060078A +:10ACF00000310804DDB8080CC186080C79CB11902E +:10AD0000000600260036080C79E51138080C7CE3B3 +:10AD1000080C634F080C78FA0010080C799F003E6D +:10AD2000002E000E0005080C355B1904DFFC080C32 +:10AD3000E1DD1904DC806106080CE1F911206007EF +:10AD4000002B0804DDB86007002C0804DDB8080CEF +:10AD5000F12D1904DFFC080C355B1904DFFC080C2D +:10AD6000E1DD1904DC806106080CE1FE11206007BA +:10AD7000002E0804DDB86007002F0804DDB8080CB9 +:10AD8000355B1904DFFC00E600D600C660102058D1 +:10AD9000B904918400FF9086000601589184FF0059 +:10ADA000800790860006012800CE00DE00EE080431 +:10ADB000DDBF080C59FAD0E40904DF392071026CB8 +:10ADC0007010603A7014603E7108720C080C6E27A7 +:10ADD000014060102058B81091061118B81492065E +:10ADE0000510080C6E2315B82069180068809206BB +:10ADF0001590687C910615787210080CD3000590A8 +:10AE0000080CE0CA0578080CEFB70560622E6007F1 +:10AE100000366003000120098020080C98BC00CE99 +:10AE200000DE00EE000572149286FFFF0150080C50 +:10AE3000D30001C09280000220047110910611908D +:10AE400008E072102C0890850001080CEF052C100A +:10AE500021600140089060070037602F00096017EB +:10AE6000150008B860070037602F0003601717004F +:10AE70000880600700120868080C355B1904DFFCC5 +:10AE800060102058B8049084FF0080079086000668 +:10AE90001904DDBF00E600D600C6080C59FAD0E45C +:10AEA0000904DFBF206918002071026C7008603A45 +:10AEB000720C623E9286FFFF1158720800C62C0881 +:10AEC00090850001080CEF052C1000CE0904DFB2BC +:10AED000080CD3000904DFB271089280000220043C +:10AEE00091061904DFB200C60026226000662031F8 +:10AEF000000160209084000F90860006190C0D8CD4 +:10AF0000080CCF32006E002E00CE7118918CFF001D +:10AF1000810F9186000101789186000501189186C4 +:10AF20000007119892800005200490050170080C1C +:10AF3000E0CA0904DF32005675107614080CEFD011 +:10AF4000005E00CE00DE00EE00056007003B602FD3 +:10AF5000000960172A006003000120098020080C06 +:10AF600098BC0C786007003B602F0003601703005B +:10AF70006003000120098020080C98BC0C106007B9 +:10AF8000003B602F000B601700000804DF0900E69B +:10AF90000026080C6DE90550080C6D85080CF1B30E +:10AFA00015182071180070DC9085000370DE00F623 +:10AFB0002079010072B0928400FF707E78E692845E +:10AFC000FF0072809205708278EA00FE70E7000050 +:10AFD000080C6E27012020111A1D201307D0D0ACB9 +:10AFE0001128080C31C90010080CF1E7002E00EE02 +:10AFF000080CB46D0804DDBE080CB46D0005260015 +:10B000000002E015E043E054E015E015E017E065CC +:10B01000E015E015E015E031E015E015E015E07011 +:10B02000E086E0B7E015E015E0BC080C0D8C080CDC +:10B03000F12D1D10080C355B19F87038601660078B +:10B04000004560030001080C98C30005080C342477 +:10B05000080CDA636007000160030001080C98C364 +:10B060000005080CF12D1940080C355B1928080C57 +:10B07000E1DD1D60703C60166007004A600300015E +:10B08000080C98C30005080C355B1904DFFC200987 +:10B090000041080CF1F06007004760030001080C54 +:10B0A00098C3080C9D5E0005080C355B1904DFFC95 +:10B0B00020090042080CF1F060070047600300011E +:10B0C000080C98C3080C9D5E0005080C355B19043C +:10B0D000DFFC20090046080CF1F0080CB46D0005F7 +:10B0E000200118242004908200E11268080CE0E797 +:10B0F0000904DFFC6007004E60030001080C98C3E0 +:10B10000080C9D5E0005600700120CB06007004F40 +:10B11000601700007134918C00FF81FF0508918653 +:10B12000000111607140200119C12004910611B085 +:10B130007144200119C220049106019091860002F9 +:10B1400011682011027620A90004601000962048A2 +:10B150002019000A080CC5A4009E01106017000108 +:10B1600060030001080C98C3080C9D5E0005600791 +:10B170000050703C60160CA0080CF12D1904DFFC87 +:10B18000080C355B1904DFFC600700536003000105 +:10B19000080498C3001600E62071026000B600C6DD +:10B1A000226060102058B8D4D08401507128604CBF +:10B1B00091061120712C605091060110900600102C +:10B1C0009085000100CE00BE00EE001E00050016B6 +:10B1D0000096008600E601C601D601262091800077 +:10B1E0002071180020E10000200119A420030000B4 +:10B1F000080C107A05A02900601670908004A8162B +:10B20000908A001E02D0A833001E20A9001EA8604C +:10B2100020E8A85C9080001C20A0200119A4001642 +:10B22000200C0471001E81FF01B82940080C107A1F +:10B2300001B02900A00621000C18A83220A8A8609F +:10B2400020E8A85C9080001C20A0200119A4001612 +:10B25000200C00B1001E0000908500010048207104 +:10B2600018007093000060142048080C101390061A +:10B27000012E01DE01CE00EE008E009E001E0005B4 +:10B28000000600160026003600C6918CFFFF11B0A4 +:10B29000080C22942099026C200100143518931296 +:10B2A0000108121823A84003040020A8400322A884 +:10B2B0008108080C2294209902600CA8080C2294A2 +:10B2C000206119A4600420986008351893120108C1 +:10B2D000121823A84003004820A8400322A8810890 +:10B2E000080C2294209902600CA8206119A420194E +:10B2F00002803300931E01106006002020010260CE +:10B30000600681082162929200219296FFFF620AF4 +:10B3100000CE003E002E001E000E000500060016A6 +:10B320000026003600C681FF11B8080C22AC20A10F +:10B33000024C2001001435189312121823A8400360 +:10B34000041820A8400382FF01F822A88108080CF5 +:10B3500022AC20A102400C98080C22AC206119A755 +:10B36000600420A0600835189312121823A8400327 +:10B37000005820A8400382FF013822A88108080C49 +:10B3800022AC20A102400C98206119A7201902606C +:10B390003400931E01106006002020010240600668 +:10B3A00081082162929200219296FFFF620A00CEEC +:10B3B000003E002E001E000E000500B6006666105E +:10B3C0002658BE0496B4FF008637968600060170A4 +:10B3D000968600040158BE0496B400FF96860006C7 +:10B3E000012896860004011090850001006E00BEC1 +:10B3F000000500D6080CE27300DE000500D6080C3C +:10B40000E2801520680C908CFF006820908400FF7B +:10B41000911562166824602ED1E401309006080C64 +:10B42000F310200900010078D1EC01806920918C93 +:10B4300000FF6824080C2744114820010001080C73 +:10B44000F3102110900E080C347300189085000141 +:10B450000008900600DE000500B600C6080CB4DD4A +:10B4600005980016002600C62011026322048211EE +:10B47000220C080C27441568080C69051550BE12EB +:10B48000BD1600CE002E001E2B006012080CF12D00 +:10B4900011C8080C355B11B0080CE1DD0500200176 +:10B4A0000007080C68B620010007080C68E2601766 +:10B4B0000000602300016007000160030001080C28 +:10B4C00098C30010080CB46D9085000100CE00BE3A +:10B4D0000005080CB46D00CE002E001E0CA8080C50 +:10B4E000B46D90060C982069026D6800908200107F +:10B4F00012286017000090850001000890060005E2 +:10B50000601700002069026C68089084FF00908634 +:10B51000080011C0680420091824210C910202902F +:10B520006904918600180118918600141158810F42 +:10B530006800908400FF910D6162908E00140110EC +:10B54000908E00100005600490B200541A0C0D8C0F +:10B5500091B600131130200891B200401A04E3DBC9 +:10B56000040291B60027019091860015011891867A +:10B5700000161140080CB2620120908600020904F6 +:10B58000BF07000591B60014190C0D8C20010007AF +:10B59000080C68E2080C9C98080CB4A8080C9D5E86 +:10B5A0000005E311E313E311E311E311E313E320D7 +:10B5B000E3D8E362E3D8E386E3D8E320E3D8E3D03B +:10B5C000E3D8E3D0E3D8E3D8E311E311E311E311C7 +:10B5D000E311E311E311E311E311E311E311E313C9 +:10B5E000E311E3D8E311E311E3D8E311E3D5E3D8A2 +:10B5F000E311E311E311E311E3D8E3D8E311E3D856 +:10B60000E3D8E311E31BE311E311E311E311E3D406 +:10B61000E3D8E311E311E3D8E3D8E311E311E31135 +:10B62000E311080C0D8C080CDA6660030002080CAC +:10B630009D5E0804E3DA9006080C68A20804E3D8CB +:10B64000080C6E231904E3D89006080C68A2601059 +:10B650002058B810908600FF114000F6207918009D +:10B6600078A8800078AA00FE00B860102058B8843E +:10B6700090050904E3D8080C358C1904E3D820019F +:10B680001800200490860002113800F62079180076 +:10B6900078A8800078AA00FE20010002080C68B695 +:10B6A000602300016003000160070002080C98C3DA +:10B6B000080C9D5E6110215820090001080C8C299E +:10B6C0000804E3DA66102658BE0496B4FF008637F5 +:10B6D000968600060148968600040130080C94E620 +:10B6E00020010004080C68E2080CF35F0904E3D8A9 +:10B6F00020010004080C68B660230001600300010B +:10B7000060070003080C98C30804E3DA200118005E +:10B71000200490860003115800360046601020581F +:10B72000BBA020210006080C4FFF004E003E200168 +:10B730000006080CE3F666102658BE04006696B4B0 +:10B74000FF00863796860006006E01802001000605 +:10B75000080C68E2928400FF908E00070118908E1A +:10B760000004112020010006080C68B6080C6E23A6 +:10B7700011F8200118372004D0A401D0BE0496B4DB +:10B7800000FF9686000601A000F62079180078A830 +:10B79000800078AA00FE0804E34C20010004003079 +:10B7A000200100060419002000180010080C68E2AF +:10B7B000080CB46D000526000002E3F1E3F1E3F1AB +:10B7C000E3F1E3F1E3F3E3F1E3F3E3F1E3F1E3F3D3 +:10B7D000E3F1E3F1E3F1E3F3E3F3E3F3E3F3E3F1C1 +:10B7E000E3F3080C0D8C080CB46D0005001600B6D0 +:10B7F00000D661102158B900D1840138080C68B610 +:10B800009006080C68A2080C345300DE00BE001E2F +:10B81000000566102658B8049084FF00800790B297 +:10B82000000C1A0C0D8C91B600151110003B00286D +:10B8300091B60016190C0D8C006B0005BFAABFAAAB +:10B84000BFAABFAAE48BBFAAE475E436BFAABFAA09 +:10B85000BFAABFAABFAABFAABFAABFAAE48BBFAA9A +:10B86000E475E47CBFAABFAABFAABFAA00F6080C71 +:10B870006E2311D8080CDA4E11C06010905D01A83B +:10B88000B884900501909006080C68A2200100027F +:10B89000080C68B660230001600300016007000225 +:10B8A000080C98C3080C9D5E00F02011026322046E +:10B8B0008211220C080C274411B0080C697701187A +:10B8C000080CB46D0080B8100006B8140006B884E7 +:10B8D0000006080C6369000EB886000EB816000E4C +:10B8E000B812080CB46D00FE0005660496B6001E82 +:10B8F0001110080CB46D0005080CC3E71148600373 +:10B90000000160070001080C98C3080C9D5E001040 +:10B91000080CB46D00050804B46D6004908A0054EE +:10B920001A0C0D8C080C9C98080CB4A80005918288 +:10B9300000400002E4AEE4AEE4AEE4AEE4B0E4AE57 +:10B94000E4AEE4AEE4AEE4AEE4AEE4AEE4AEE4AE67 +:10B95000E4AEE4AEE4AEE4AEE4AEE4AE080C0D8CCE +:10B96000009600B600D600E600F6004600266210FB +:10B970002258B8BC900511B06007004420710260E5 +:10B98000744494A4FF000904E517080CF304117033 +:10B990009486200011582009000120110200080C93 +:10B9A0008F1800209026080CF1760C30080C1061DE +:10B9B000090C0D8C60030007A86B010D9006A8020E +:10B9C000A86EAC8E2C00A8926008A8E660102058E3 +:10B9D000B8A07130A97E0016A87AA8830000A887B5 +:10B9E0000000A88B0036080C7243001E080CF304FC +:10B9F0001904E57794862000113020190017080CEF +:10BA0000EEA70804E577948602001120080CEE32B8 +:10BA10000804E57794860400012094861000190438 +:10BA2000E57720190002080CEE510804E57720693B +:10BA30001A866A00D2840904E5E19284030019049D +:10BA4000E5DA680490050904E5C22D786003000773 +:10BA5000080C107A0904E5837800D08C111878045A +:10BA600080017806601700002001180F2004D084A0 +:10BA70001904E5E59006A802A86B0116A86E6008F7 +:10BA8000A8E62C00A87E60102058B8A07130A9BA92 +:10BA9000A87AB928A9BEB92CA9C2B930A9C6B934A7 +:10BAA000A9CAA887003D7044908400039080E57F78 +:10BAB0002005A88220A9000A20010270AA5C9290A9 +:10BAC000002220090205200B008020E10000AB606D +:10BAD00023E8209822A04003200B00002001027AD6 +:10BAE000200CA9B68000200CA9B2080C7246002ECA +:10BAF000004E00FE00EE00DE00BE009E00050000CD +:10BB0000008000400000200118102004D084012093 +:10BB1000080C10611904E52C6017F10060030001A6 +:10BB2000600700412009A022080C98BC0C00206985 +:10BB3000026068489084FF00908612001198686C3B +:10BB4000908400FF00166114918CF700910D61162E +:10BB5000001E60030001600700432009A025080CB7 +:10BB600098BC08286868602E686C60326017F20024 +:10BB700060030001600700412009A022080C98BC66 +:10BB80000804E5772001180E2004D0EC01202011D4 +:10BB90008049080C4E486017F30000106017F10050 +:10BBA00060030001600700412009A022080C98BC36 +:10BBB0000804E5776017F5000C986017F600080494 +:10BBC000E5976017F2000804E597A86B0146A86F97 +:10BBD00000006008A88A2C00A87E704490840003AE +:10BBE0009080E57F2005A882292860102058B8A001 +:10BBF000A87AB828A88EB82CA892B830A896B834DD +:10BC0000A89AA887003D20090205206900802D0A16 +:10BC100020E1000020110210221492940FFFAAA626 +:10BC2000928201111A0C0D8C8210821C2001026C70 +:10BC30002098A86020E8A85C9080002A20A020110D +:10BC4000E66020410001223D978400FF9322120804 +:10BC5000230020A84003931A05308210D7FC11302E +:10BC60008D682D0A2001026020980C682950080C6C +:10BC7000107A01702900B002A86B0147A86F00007C +:10BC8000A86020E8A85C9080001C20A0884008D80C +:10BC90002548A800902D0118080C10930CC8080C1A +:10BCA00010930804E5832548884798850046A86ACC +:10BCB00020090205200B0000080CEEDE0804E577E1 +:10BCC00080100004801A0006801800088016000A00 +:10BCD00080149186001311606004908A00571A0C3A +:10BCE0000D8C908200400A0C0D8C20080804E6ECB4 +:10BCF0009186005101080040080CB26201E890866C +:10BD000000020904E73400C0918600270180918673 +:10BD100000480128918600140150190C0D8C080C64 +:10BD2000B2620150908600040904E7D30028600441 +:10BD3000908200402008001A080CB5270005E6B3E1 +:10BD4000E6B5E6B5E6DCE6B3E6B3E6B3E6B3E6B3FE +:10BD5000E6B3E6B3E6B3E6B3E6B3E6B3E6B3E6B31B +:10BD6000E6B3E6B3E6B3080C0D8C080C9C98080CFF +:10BD70009D5E003600966014904D01D8080CD312D9 +:10BD800001C060030002601000B62058B80000BE79 +:10BD9000D0BC117820190004080CEEDE60170000FA +:10BDA0006018900511202001198A2004601A600390 +:10BDB0000007009E003E00050096080C9C98080CA9 +:10BDC0009D5E080CD312012060142048080C1093CB +:10BDD000080CB4A8009E00050002E701E716E7037F +:10BDE000E72BE701E701E701E701E701E701E701E9 +:10BDF000E701E701E701E701E701E701E701E70103 +:10BE0000E701080C0D8C009660142048A880D0B47F +:10BE100001386003000720090043080CB50A001030 +:10BE200060030004080C9D5E009E0005080CD31200 +:10BE30000138611400962148A980009ED1EC113888 +:10BE4000080C8EED080CB46D080C9D5E0005080C06 +:10BE5000F1360DB00CC860030001600700412009F5 +:10BE6000A022080C98BC0005918200400002E74B1C +:10BE7000E74DE74BE74BE74BE74BE74BE74BE74B30 +:10BE8000E74BE74BE74BE74BE74BE74BE74BE74B22 +:10BE9000E74EE74BE74B080C0D8C000500D6080C6D +:10BEA0008EED00DE080CF19D080CB46D000591824A +:10BEB00000400002E76EE76EE76EE76EE76EE76E42 +:10BEC000E76EE76EE76EE770E79BE76EE76EE76E9B +:10BED000E76EE79BE76EE76EE76EE76E080C0D8C8A +:10BEE000601400962048A880D0FC0168908C000364 +:10BEF000918E000201806144D1E411682009004163 +:10BF0000009E0804E85B60030007601B0000080C4B +:10BF10008EED009E000560142048A980D1EC113000 +:10BF2000080C8EED080CB46D009E0005080CF1366F +:10BF30000DB8009E00052001180C200CC1D4210270 +:10BF40000036080C9CF3080C9D5E60140096204897 +:10BF5000601000B62058B80000BED0BC0188A88090 +:10BF600090840003908600020140A8B06330931AC9 +:10BF70006332A8B4632C931B632E6003000200801D +:10BF800020190004080CEEDE60189005112820012D +:10BF9000198A20048003601A6017000060030007FC +:10BFA000009E003E0005918200400002E7EAE7EAB9 +:10BFB000E7EAE7EAE7EAE7EAE7EAE7EAE7ECE7EAF7 +:10BFC000E7EAE7EAE7EAE7EAE7EAE7EAE7EAE7EAE9 +:10BFD000E7EAE837080C0D8C601400962048A83476 +:10BFE000AA38611000B62158B90000BED1BC11902A +:10BFF000920D1518A880D0FC012820090041009E50 +:10C000000804E85B60030007601B0000080C8EED6D +:10C01000009E00056124D1F41D5800060046ACB016 +:10C020009422A9B42200910B603094206432602CD9 +:10C030009109612E004E000E08D8611000B62158FB +:10C04000B90000BED1BC11782009180E210CD19C7A +:10C0500001186003000700106003000600E9080CE7 +:10C060008EEF009E000560030002009E0005602424 +:10C07000D0F40128080C17391904E7EC0005601406 +:10C0800000962048A834A938009E91051120080C7C +:10C0900017391904E7EC0005D2FC0140800280004A +:10C0A0008212929100002009000900102009001559 +:10C0B000AA9EA89A0005918200400208006291861B +:10C0C0000013012091860014190C0D8C6024D0DC23 +:10C0D000090C0D8C0005E87FE88BE897E8A3E87F62 +:10C0E000E87FE87FE87FE886E881E881E87FE87F0D +:10C0F000E87FE87FE881E87FE881E87FE886080C50 +:10C100000D8C6024D0DC090C0D8C000560149005AA +:10C11000190C0D8C000560030001610601262091B9 +:10C1200080002009A022080C989E012E00056003C3 +:10C13000000461060126209180002009A001080C5E +:10C1400098BC012E000560030003610660470000F3 +:10C15000080C1D0A012620918000601400962048DA +:10C16000A880D0FC0188908400039086000201A082 +:10C170006024D0CC1148D0C41138A8AC900511204F +:10C180006144918DB03500186144918DA035009EB9 +:10C19000080C9903012E00056144918DA0320CB862 +:10C1A00001262091800000360096918200400023F5 +:10C1B000009E003E012E0005E8F0E8F2E904E91EC9 +:10C1C000E8F0E8F0E8F0E8F0E8F0E8F0E8F0E8F0AF +:10C1D000E8F0E8F0E8F0E8F0E8F0E8F0E8F0E8F09F +:10C1E000080C0D8C60142048A880D0FC01F8909CAD +:10C1F0000003939E000301D0600300016106200943 +:10C20000A022080C98BC048060142048A880D0FCB0 +:10C210000168909C0003939E0003014060030001AD +:10C2200061062009A001080C98BC00F0901E63165E +:10C23000631A20190004080CEEDE00B060142048D8 +:10C24000A880D0FC0D98909C0003939E00030D7075 +:10C2500060030003610660470000080C1D0A61448A +:10C26000918DA035080C99030005080C9C98611469 +:10C2700081FF015800962148080CF2A100362019D0 +:10C280000029080CEEDE003E009E080CB4A8080C45 +:10C290009D5E0005080C9CF3611481FF0158009617 +:10C2A0002148080CF2A1003620190029080CEEDE06 +:10C2B000003E009E080CB4A8000591820085000293 +:10C2C000E96FE96DE96DE97BE96DE96DE96DE96DAE +:10C2D000E96DE96DE96DE96DE96D080C0D8C6003A0 +:10C2E000000B610601262091800020098020080CA7 +:10C2F00098BC012E0005002600E6080CF12D01185F +:10C30000080CB46D04402071026072246216200192 +:10C31000180E2004D0E40150601000B62058BCA0D4 +:10C3200000BE2C002011014E080CB7917220080CA1 +:10C33000ED25011860070086004060070087722421 +:10C340009296FFFF1110600700866003000120092C +:10C350008020080C98BC00EE002E0005918600138A +:10C3600011606004908A00850A0C0D8C908A0092FE +:10C370001A0C0D8C9082008500A291860027013056 +:10C38000918600140118080CB52700502001000701 +:10C39000080C68E2080C9C98080CB4A8080C9D5E78 +:10C3A0000005E9DEE9E0E9E0E9DEE9DEE9DEE9DE13 +:10C3B000E9DEE9DEE9DEE9DEE9DEE9DE080C0D8C26 +:10C3C000080CB46D080C9D5E0005918200850A0C76 +:10C3D0000D8C918200921A0C0D8C918200850002C6 +:10C3E000E9FDE9FDE9FDE9FFE9FDE9FDE9FDE9FD1B +:10C3F000E9FDE9FDE9FDE9FDE9FD080C0D8C00050D +:10C40000918600130148918600140130918600271F +:10C410000118080CB5270020080C9C98080CB4A83B +:10C4200000050036080CF19D604B00002019000B40 +:10C430000011003E0005601000060059000E601259 +:10C440006023000660030007601B0000604B0000D3 +:10C4500000050126003620918000080CAFDC0106A3 +:10C4600000862C400096904E080CA92B009E008E52 +:10C47000155800762C38080CA9D6007E15286000C7 +:10C4800090860000050860209086000701E800966D +:10C49000601CD0840140080CF19D080CDA66080C81 +:10C4A0001B6E6023000760142048080CD312011093 +:10C4B000080CEEDE009E900660466016080CF19DAA +:10C4C00060230007080CDA66010E090CAFF8003E85 +:10C4D000012E000500F600C600B600360156207990 +:10C4E00002607938783C080C27441904EAC4001625 +:10C4F00000C6080C69771904EAC2001E00C6080CC1 +:10C50000DA4E1130B88490050118080C358C0148BA +:10C510002B102160601000066212080CDA55000E24 +:10C52000601200CE002E00260016080CAFDC201989 +:10C530000029080CAAA6080C9A550076903E080C13 +:10C540009912007E001E0076903E080CEC04007EDE +:10C55000080CAFF80026BA049294FF008217928666 +:10C5600000060118928600041118BAA0080C34EFD6 +:10C57000002EBC84001E080C6369BE12BD16BC866A +:10C580009006001000CE001E015E003E00BE00CEF0 +:10C5900000FE000500C600D600B6001620091824CB +:10C5A0002104908600741904EB2320690260694419 +:10C5B0009182010006E06940918480000904EB202B +:10C5C0002001197F20049005114060102058B88484 +:10C5D000900501189184080005986948918A000126 +:10C5E0000648080CF30901186978D1FC11B8200934 +:10C5F0000205200B0001693C81FF1198694491827A +:10C60000010002A8694081FF11786948918A000100 +:10C6100002886950918A0001029800D060170100D9 +:10C6200000A0601703000088601705000070601705 +:10C630000700005860170900004060170B00002831 +:10C6400060170F00001060172D0090850001000892 +:10C65000900620090205200B0000001E00BE00DE2F +:10C6600000CE000500C600B6002600360156621056 +:10C670002258BB04939400FF9286000601809286A4 +:10C68000000401689394FF00821792860006013827 +:10C69000928600040120080C69860804EB9320119F +:10C6A000027620A9000400962B482019000A080CE5 +:10C6B000C5A4009E15C82011027A20A90004009686 +:10C6C0002B4820190006080CC5A4009E15680046DA +:10C6D0000016BAA0222090062009184B210CD1A4E4 +:10C6E000013820090029080CEF3BB800C0E5B8026A +:10C6F000080CAFDC20190029080C9A550076203967 +:10C700000000080C99122C08080CEC04007E080CA0 +:10C71000AFF820010007080C68E220010007080CB0 +:10C7200068B6001E004E9006015E003E002E00BE60 +:10C7300000CE000500D62069026E680090860800D1 +:10C740000118601700000008900600DE000500B622 +:10C7500000F600160026003601562079026C79306A +:10C760007834080C274411D0080C697711B82011CF +:10C77000027020A9000400962B482019000A080C1A +:10C78000C5A4009E11582011027420A9000400962F +:10C790002B4820190006080CC5A4009E015E003E2F +:10C7A000002E001E00FE00BE000500B600060016AA +:10C7B0000026003601562011026322048211220C49 +:10C7C000080C274411D0080C697711B820110276A3 +:10C7D00020A9000400962B482019000A080CC5A4C3 +:10C7E000009E11582011027A20A9000400962B48BF +:10C7F00020190006080CC5A4009E015E003E002E14 +:10C80000001E000E00BE000500E600C60086007691 +:10C810000066005600460026012620918000080C84 +:10C82000B03E0106190CAFDC2740202919F7252C52 +:10C83000202119FE242420611DDC2071180076546B +:10C84000707481FF0150000691861B4C000E012878 +:10C85000800196021A04ECAA001896060904ECAAB4 +:10C86000080C91C70904ECA121009C060904ECA165 +:10C870006720978600070904ED16080CEF7C190461 +:10C88000ECA1080CF3270904ECA1080CEF6C0904D7 +:10C89000ECA16720978600011148080C358C09042B +:10C8A000ECEC6004908600001904ECEC9786000420 +:10C8B0000904ECEC25009C060904ECA124009C066C +:10C8C0000904ECA188FF0118605C990615D0009658 +:10C8D0006043FFFF60009086000411200016080CE2 +:10C8E0001B6E001E9786000A0148080CD5411130C6 +:10C8F000080CBEC0009E080CB4A8041860142048A0 +:10C90000080CD31201D8978600031588A86B010381 +:10C91000A880D0CC01300096A87C2048080C1013C9 +:10C92000009EAB7EA87B0000080CF2A10016080C4C +:10C93000D62A080C7237001E080CD51B009E080C66 +:10C94000B4A89CE0001C2001181A20049C021210BC +:10C950000804EC1D010E190CAFF8012E002E004E3C +:10C96000005E006E007E008E00CE00EE0005978611 +:10C9700000061150938600050128080CF2A1080C4E +:10C98000EEDE08E0009E08E89786000911F86000D6 +:10C990009086000401C060009086000311A0080C7E +:10C9A0009CF3009661142148080CD3120118601002 +:10C9B000080C7243009E00C6080CB46D00CE003611 +:10C9C000080C9D5E003E009E0804ECA19786000ABC +:10C9D0000904EC910804EC8681FF0904ECA1918024 +:10C9E0000001200490860018013891800001200485 +:10C9F0009086002D1904ECA16000908600021904B5 +:10CA0000ECA1080CD5300138080CD5411904ECA173 +:10CA1000080CBEC00038080C3453080CD541111066 +:10CA2000080CBEC0080CB4A80804ECA160009086F5 +:10CA300000131904ECA1603460020804ECA1A8689A +:10CA4000908400FF90860039000500C600E60016BD +:10CA50002C0821709006080CEF05001E01206020B4 +:10CA60009084000F001B00EE00CE0005ED44ED4465 +:10CA7000ED44ED44ED44ED44ED46ED44ED44ED442C +:10CA8000ED6FB4A8B4A8ED4490060005003600464A +:10CA90000016701000B62058BCA000BE2C00200963 +:10CAA0000020080CEF3B001E004E20190002080C6D +:10CAB000EA29003E9085000100050096080CD3127B +:10CAC00001406014904D080CCEC9687F0005080C29 +:10CAD0007243009E080CB4A8908500010005006612 +:10CAE00090360021006E9085000100056000908A5C +:10CAF00000141A0C0D8C0002ED8CED8CED9EED9265 +:10CB0000EDAFED8CED8CED8EED8CED8CED8CED8C38 +:10CB1000ED8CED8CED8CED8C080C0D8C86FF090CEA +:10CB2000B4A800D00066080CAFDC01060036080C83 +:10CB3000B1E4003E010E090CAFF8006E86FF1160F3 +:10CB4000009600D660142048A87F0005080C7243A8 +:10CB5000080CB4A800DE009E908500010005006668 +:10CB6000601CD084190C1B6E006E0C40200100016B +:10CB7000080C68A2015600160026003620A9000401 +:10CB80002019180520110276080CC590003E002ED1 +:10CB9000001E015E9005000500F600E600C6008656 +:10CBA0000076006600B601262091800027402061B3 +:10CBB0001DDC207900018FFF0904EE25207118008B +:10CBC00076547074800196021A04EE2588FF0120C5 +:10CBD00028009C0615882078080CEF6C0568240056 +:10CBE0009C060550672097860006153088FF115077 +:10CBF000D58C111860109B0611F8D5840118605C63 +:10CC0000910611D00096601CD0840140080CF19D63 +:10CC1000080CDA66080C1B6E6023000760142048BD +:10CC2000080CD31201200046080CEEDE004E009ED8 +:10CC3000080CB4A888FF11989CE0001C2001181A69 +:10CC400020049C0212100804EDDB9006012E00BEA9 +:10CC5000006E007E008E00CE00EE00FE000598C53E +:10CC600000010CA0080CAFDC00B600760056008670 +:10CC70009046202900012C20201900026210225821 +:10CC80000096904E080CA92B009E008E903E080C3A +:10CC9000A9D6080CEDCC005E007E00BE080CAFF8F3 +:10CCA0000005080CAFDC00B600460056007600C652 +:10CCB00001562C20212820A9007F900E0016003656 +:10CCC000080C6977118000560086904625082029B7 +:10CCD00000010096904E080CA92B009E008E903EFD +:10CCE000080CA9D6005E003E001E81081F04EE5EFF +:10CCF0000036250820290003080CEDCC003E015E1B +:10CD000000CE007E005E004E00BE080CAFF80005AD +:10CD1000080CAFDC00B60076005662102258008680 +:10CD2000904620290001201900480096904E080CDA +:10CD3000A92B009E008E903E080CA9D62C20080C32 +:10CD4000EDCC005E007E00BE080CAFF80005080CBC +:10CD5000AFDC00B600460056007600C601562C2017 +:10CD600020A90800900E00160036080C6977119073 +:10CD7000008690462828004620210001080CF17604 +:10CD8000004E0096904E080CA92B009E008E903EFF +:10CD9000080CA9D6003E001E81081F04EEB3003621 +:10CDA00020290002080CEDCC003E015E00CE007E82 +:10CDB000005E004E00BE080CAFF80005001600F63D +:10CDC000080CD3100198A868908400FF9086004654 +:10CDD0000180A800907D0138A8030000AB86080CF4 +:10CDE00072432F480CB0AB86080C724300FE001E45 +:10CDF0000005A800907D0130A8030000080C7243D4 +:10CE00002F480CB8080C72430C8800E60046003628 +:10CE100020611DDC90051138207118007454707465 +:10CE20008001940212F821009C060188600090861F +:10CE30000000016860089206115063209386000983 +:10CE400001B0601091A000042424940601409CE0ED +:10CE5000001C2001181A20049C0212200C2090852E +:10CE6000000100089006003E004E00EE0005631C25 +:10CE7000D3C41D680C3000960006080C1061000E2B +:10CE8000090C0D8CAAE6A86B010DA89200262010B3 +:10CE9000080CD30020010000012022009080001720 +:10CEA0002004002EA87E918600200110A8E7FFFF35 +:10CEB000A98AAC7AA8830000200119912004A886D1 +:10CEC0009006A802A86EA88E012620918000080C6A +:10CED0007243012E009E00056700978600000158EE +:10CEE0009786000101409786000A0128978600096D +:10CEF000011090850001000500E660109075013872 +:10CF000000B62058B8A000BE920600EE000590853D +:10CF100000010CD800166004908E001E11A080073E +:10CF20006134918C00FF91056036600700856003D5 +:10CF3000000B602300052001198A2004601A2009D3 +:10CF40008020080C98BC001E0005A001A00100056F +:10CF50006024D0E40158D0CC0118080CD671003000 +:10CF6000080CF19D080C8EED080CB46D0005928044 +:10CF7000000820049084000F0002EFCBEFCBEFCB32 +:10CF8000EFCDEFCBEFCDEFCDEFCBEFCDEFCBEFCBC9 +:10CF9000EFCBEFCBEFCB90060005908500010005AD +:10CFA0009280000820049084000F0002EFE4EFE478 +:10CFB000EFE4EFE4EFE4EFE4EFF1EFE4EFE4EFE4CC +:10CFC000EFE4EFE4EFE4EFE46007003B602F0009DB +:10CFD00060172A006003000120098020080C98BC1B +:10CFE0000005009600C62260080CF19D604B000011 +:10CFF0006024C0F4C0E46026603B000000CE00D690 +:10D000002268918600071904F04A681490050138D7 +:10D010002048A880D0FC111800DE009E08A86007F8 +:10D02000003A6003000120098020080C98BC00C66B +:10D030002D606100918600021904F0B9601490051A +:10D040001138600090860007190C0D8C0804F0B9A7 +:10D050002048080CD312113000282048A800900561 +:10D060001DE029002048A8809084000390860002DB +:10D070001168A880C0DCC0F4A882A884C0FCA8867F +:10D0800020090043080CE85B0804F0B920090041BE +:10D090000804F0B39186000515A068142048A88004 +:10D0A000D0BC112000DE009E0804EFE4D0B40128BB +:10D0B000D0FC090C0D8C0804F0056007003A6003F1 +:10D0C000000120098020080C98BC00C62D6061007A +:10D0D000918600020120918600041904F0B96814B9 +:10D0E0002048A980C1F4C1DCA982A984C1FCC1BCCB +:10D0F000A98600F62C78080C183F00FE2009004293 +:10D1000004900036080C1061090C0D8CA86B010D01 +:10D110009006A802A86EA88E2D18AB92A88B004589 +:10D120002C00A8966038A8A623606024C0DD602685 +:10D13000601000B62058B8A000BE635CAB7EA87A31 +:10D140009006A882A886AD9EAE9AA8A30001080CFE +:10D1500072432019004560082068080CEA1B2D0066 +:10D16000600A003E0038604B000060030007080CB6 +:10D17000E85B00CE00DE009E0005918600131128BA +:10D18000600490820085200800C2918600271178F3 +:10D19000080C9C9800360096601420482019000462 +:10D1A000080CEEDE009E003E080C9D5E0005918698 +:10D1B00000140D70080CB5270005F0ECF0EAF0EA59 +:10D1C000F0EAF0EAF0EAF0ECF0EAF0EAF0EAF0EA8D +:10D1D000F0EAF0EA080C0D8C6003000C080C9D5E70 +:10D1E0000005918200921220918200850208001AA7 +:10D1F000080CB5270005F108F108F108F108F10A5B +:10D20000F12AF108F108F108F108F108F108F10834 +:10D21000080C0D8C00D62C68080CB41701B0600304 +:10D2200000016007001E2009026E210C613A2009EE +:10D23000026F210C613E600BFFFF691061126023D9 +:10D24000000420098020080C98BC2D60080CB46DE7 +:10D2500000DE0005080CB46D000500E6601000B6A5 +:10D260002058B80000BED0EC00EE00052009186A76 +:10D27000210CD1EC05D0600300026024C0E56026DB +:10D28000D0CC01502001198B2004604A2009186A73 +:10D29000210CD1F4154000A02009186A210CD1F40A +:10D2A00001286024C0E46026900600F82001198B54 +:10D2B000200C20011989200491009080000A604A06 +:10D2C000601000B62058B8BC900511302C00B8BED4 +:10D2D0000038210490050118908800030CD02C0A16 +:10D2E00000BE600F0000908500010005001600C61A +:10D2F00000E6615CB8BC900501E0206090062070FB +:10D30000B8BE8CFF01B084FF1118605C9106114813 +:10D31000600C8EFF01082072080C8EED080CB46DB5 +:10D3200000308EFF11102C00B8BE9CF000032E645C +:10D330000C4000EE00CE001E000500D600B66010C6 +:10D340002058B8BC9C061118600CB8BE0048B8BC88 +:10D35000906D01309C060110680C0CD0600C680EBA +:10D3600000BE00DE00050026003601562011182CF4 +:10D370002204908400FF2019026E233496B400FF2B +:10D38000963615088318233422049084FF009636BD +:10D3900011D02011027020A90004601000962048CE +:10D3A0002019000A080CC5A4009E116820110274FF +:10D3B00020A9000460100096204820190006080CDF +:10D3C000C5A4009E1100015E003E002E000500E68F +:10D3D00020711800080C62E2080C31C900EE00054B +:10D3E00000960026080C1061090C0D8CA85C90803A +:10D3F000001B20A020A9000CA86020E89006400493 +:10D40000918600461118A86B01360038A86B0138C8 +:10D41000918600410110A87F000170389084FF00C0 +:10D4200072409294FF0080079215AA9E9186004652 +:10D4300011687038908400FF723C9294FF0092153E +:10D44000AAA2723C929400FFAAA600607040908449 +:10D4500000FF72449294FF009215AAA27244929423 +:10D4600000FFAAA69186004611189E900012001097 +:10D470009E90001A22048007A8AA82102204800726 +:10D48000A8AE821022048007A8B28210220480076E +:10D49000A8B682109186004611B89E90001622040C +:10D4A0008007A8BA821022048007A8BE8210220436 +:10D4B0008007A8C2821022048007A8C6821020110B +:10D4C00002052013000100B09E90001E2204800778 +:10D4D000A8BA821022048007A8BE201102052013DA +:10D4E00000012011026022048007A8C282102204D9 +:10D4F0008007A8C69186004611182011026200100C +:10D500002011026A014601D6003620A90001201927 +:10D510000008A86020E8A85C9080003220A02204C7 +:10D5200080074004821083191DD0003E01CE013EC9 +:10D530002011020520130000002E080C7243009EEB +:10D54000000500E6601000B62058B80000BED0FC10 +:10D550000108001100EE0005A884C0E5A8860005BA +:10D5600000E600D600C6007600660056004600269B +:10D570000016012620918000202919F7252C202152 +:10D5800019FE242420611DDC20711800765470746B +:10D59000960605786720978600010118978600088F +:10D5A000150025009C0601E824009C0601D0080C0B +:10D5B000EF6C01B8080CEF7C11A0600090860004AD +:10D5C00011200016080C1B6E001E080CD53011101F +:10D5D000080C3453080CD5411110080CBEC0080CBF +:10D5E000B4A89CE0001C2001181A20049C02120818 +:10D5F0000858012E001E002E004E005E006E007EB8 +:10D6000000CE00DE00EE0005200118102004D0DC62 +:10D6100000050006200118372004D09C000E0005EC +:10D62000000600360046080CDA4E01682019FFFF9C +:10D6300090050128601000B62058BBA000BE202134 +:10D640000004080C4FFF004E003E000E0005600471 +:10D65000908600011128080CAAA6080CB4A8900610 +:10D66000000500E600C600B6004620611DDC207102 +:10D670001800745470748001940212D821009C0622 +:10D680000168600090860000014860102058B8A032 +:10D690009206112060049086000201409CE0001C6C +:10D6A0002001181A20049C0212200C4090850001D1 +:10D6B00000089006004E00BE00CE00EE00052001DE +:10D6C00018102004D0A40160200118372004D0A431 +:10D6D00001382001184B2004D0A4111890850001B6 +:10D6E000000590060CE80126000600E600162091D1 +:10D6F000800020711840D5A40118700480007006C5 +:10D70000D5B40118700080007002D5AC01782500F6 +:10D7100090840007908E00030148908E0004013031 +:10D72000908E000501182071FFF60469001E00EEBE +:10D73000000E012E00050126000600E62091800063 +:10D740002071FFEE040100EE000E012E00050126FF +:10D75000000600E62091800020711840701C8000B7 +:10D76000701E00EE000E012E00050126000600E6E8 +:10D77000209180002071184070208000702200EEFF +:10D78000000E012E00052E058000207712208E70DD +:10D790002E0580002077000500E62071FFEC0C9933 +:10D7A00000EE000500E62071FFF00C6900EE0005B8 +:10D7B0000126000600E620918000207118407014B8 +:10D7C0008000701600EE000E012E00050001000220 +:10D7D000000400080010002000400080010002004A +:10D7E000040008001000200040008000884D000B5D +:10D7F000000300000AA20001C000000880640000CD +:10D80000001000008066000801010003C007000846 +:10D8100080E00008FF00000080E20008FF00000830 +:10D820000162000080660008A101000BC00F000823 +:10D830000D020000806000000400000B60C60008BC +:10D8400080E000081100000B5819000B7B28000B2A +:10D850005262000BC8130009BAC00000008A00031E +:10D860008813000A704200038813000015FC000BA7 +:10D87000B0130009C4C0000070000001FFA0000048 +:10D880002000000393E30008808C000000010007E3 +:10D89000000000070000000040D4000A40470008D4 +:10D8A000808C0000000200070000000B083200001E +:10D8B000402200030038000841220009EAC00008A5 +:10D8C000FF000009FFE00008050000030C0D000246 +:10D8D000444700038C0A00080BFE000111A0000B56 +:10D8E00013EC00010CA0000B13EC00019180000070 +:10D8F0000004000080600000040000087F62000057 +:10D900008066000800090003C0460008808C0008FB +:10D9100000000008006000088062000000040000B1 +:10D92000806600000411000BC04E000003FE0001E1 +:10D9300043E000038BE90009C2C0000800FF0001BA +:10D9400002E000038BE9000191800008000500005F +:10D9500080600000040000087F6200008066000014 +:10D9600000190003C05D0002024000030BE1000843 +:10D9700000FC000333E9000A02440003086F0004BE +:10D98000023B000191800000000700087F62000058 +:10D990008060000004000002023400087F040000E0 +:10D9A00080660000040A0003C06E000A0248000BF3 +:10D9B0000879000191800008000600087F620008D5 +:10D9C000800200080003000080660000020A000BCD +:10D9D000C0780000112A0008002E0008022C000266 +:10D9E0003A44000388130008808C000000020008FD +:10D9F0001760000880620008000F000080660008C1 +:10DA000000110003C085000801FE000942E0000B80 +:10DA10008BD4000000FE000143E0000B8BD400001B +:10DA20001734000015300008163200080D2A0001D6 +:10DA300098800008001200008060000004000008C8 +:10DA40007F620000806600081E0A0003C09700087D +:10DA5000808A0008000300001A600008806200004D +:10DA60000002000B589D0000806600003679000B14 +:10DA7000C0A0000B58A1000880540008001100004D +:10DA800080740008101000081EFC0003301300040E +:10DA900000AA0003001300001C6000001B620000CD +:10DAA0008066000802310003C0AE000358AF0008D2 +:10DAB00001400000024200021F43000388B9000039 +:10DAC0000D4400080D46000803480008044A000BF6 +:10DAD00000BD000803440008044600080548000093 +:10DAE000064A000A1948000308C000080D4A00034E +:10DAF00058C0000880540000000100008074000835 +:10DB00002020000F4000000270430003881600022E +:10DB10007040000B895D000880E0000810100000D4 +:10DB2000482000080BFE000910A00003115200015C +:10DB30000CA00003115200008060000004000009E6 +:10DB400090800000000800087F62000080660008E6 +:10DB500000090003C0D9000180E000080003000BA9 +:10DB600089520000806000000400000990800000DD +:10DB7000000400087F620000806600080009000BB6 +:10DB8000C0E4000800FC000B3152000800600008EF +:10DB900080620000000400008066000004110003A1 +:10DBA000C0EC00084AFE000903E0000B895200099E +:10DBB000CBC0000800FF000102E0000B895200000A +:10DBC00049B400024B4E000389650008808A0000BA +:10DBD0000004000880E000001000000018FE0001B2 +:10DBE00010E0000389000002192F00087F320008AE +:10DBF00015FE000110E0000389050002162F000841 +:10DC00007F2C00008060000004000009908000006C +:10DC1000000700087F62000080660008000900031A +:10DC2000C10C000A004F000B8949000A0040000B9C +:10DC300009330002004E000B0933000990800008F0 +:10DC4000000500087F6200008066000002090003F2 +:10DC5000C118000001FC000B312A0009908000006F +:10DC6000000700087F620002003000027F2F0000E2 +:10DC70007F00000080660008000A000BC123000836 +:10DC80001010000001000004022A0003B12C000C57 +:10DC900003A1000C020C000378160003001300001F +:10DCA0000806000880100000001F000C03A10000FF +:10DCB0000310000C03A1000B012A000A002F000032 +:10DCC0007F00000080660008000A000BC1370004D6 +:10DCD00001E5000A00400003094C00040252000064 +:10DCE00080000000000200008060000004000009C5 +:10DCF00090800008000600087F620000806600082F +:10DD0000000A000BC1450000807200004000000BBB +:10DD1000012A000880100008001E0003014E0008C0 +:10DD200080100008001D000C03A100081010000C5A +:10DD300003A100030016000880E0000010000002AC +:10DD40004B4E000B095A0008808A000000040003B3 +:10DD5000615A000F80000008808A00000004000360 +:10DD600000160008808A0000000400070000000779 +:10DD70000000000880E000080202000B615D000B5B +:10DD8000001400008060000004000009908000087A +:10DD9000001100087F62000080660008000900038F +:10DDA000C16C000A004F000389D4000080600000AD +:10DDB0000400000990800008000500087F62000050 +:10DDC000806600080009000BC176000800FC000B0B +:10DDD000315200080060000880620000002000004E +:10DDE0008066000002090003C17E000A014B000B9F +:10DDF00009D4000880620008000F0000806600005F +:10DE00000211000BC185000801FE000102D00003D1 +:10DE100089D4000C01EE000B09D4000803A000080F +:10DE200049080008808A000000040007000000077D +:10DE300000000008800400000002000BE1930008CD +:10DE400049FE00084806000903D0000309E000006D +:10DE5000800600000043000080600000040000090C +:10DE600090800008000000087F62000080660008C3 +:10DE7000041A000BC1A1000880E00000100000039C +:10DE8000E1A4000849080008480A0008808A000048 +:10DE9000000400080060000880620000002C000000 +:10DEA000806600000411000BC1AE000804FE0009EA +:10DEB00002A0000B91B500020500000B09D1000B78 +:10DEC00001B6000005FE000103A0000B11D1000007 +:10DED0000D0C00080D0E00080D1000000D120008BA +:10DEE0000060000880620000000D000080660008ED +:10DEF0000832000BC1C10000800A0000800500004C +:10DF000080600000040000099080000800110008F3 +:10DF10007F620000806600080A12000BC1CB000877 +:10DF200050060008100E000C01F9000378160003DB +:10DF30000013000802080008030A000301B80004E7 +:10DF400001E50008808A0000000400088010000835 +:10DF50000021000C03A100081010000C03A1000018 +:10DF60004810000C03A100084910000C03A1000890 +:10DF7000808A00000004000880E000001000000318 +:10DF8000001600008060000004000009908000007E +:10DF9000000200087F62000080660008B40A000BDF +:10DFA000C1EC000F40000000806000000400000091 +:10DFB0000A6200008066000004110003C1F3000241 +:10DFC00002100001FFC000000007000903E0000F7D +:10DFD0004000000080600000040000018380000019 +:10DFE000000200090A8000087F62000080660000CD +:10DFF0000E0A000BC201000203000001FFC0000076 +:10E00000000700007F0600020A0000087F6200008F +:10E0100080660008060A0003C20A000F40000000E4 +:10E020000DA000080DA200080DA4000988800000C2 +:10E03000000100087F620000806000000400000012 +:10E0400080660008A01200000DA600080DA80000C0 +:10E050000DAA00000DAC000BC21A00098880000850 +:10E06000000900087F62000080660008A03A000BEB +:10E07000C220000F40000009888000080005000051 +:10E0800080600000040000087F62000080660008D5 +:10E090000009000BC229000800600008806200002F +:10E0A000000D0000806600080021000BC22F000058 +:10E0B00000FE000101D0000B8A38000802FE0009B2 +:10E0C00003D000030A3800000D06000F40000000D6 +:10E0D000800600000001000F4000000800600008FA +:10E0E00080620000002C000080660008A041000B48 +:10E0F000C2400002024300038A47000054AC000003 +:10E1000055AE00080DA800000DAA000050B0000098 +:10E1100051B200000DB400080DB600080060000800 +:10E12000806200000007000080660008A45200031F +:10E13000C250000F4000000A394500038A5C00000D +:10E1400080720008404000070000000A39450003C3 +:10E150008A5A000F40000000807200004000000753 +:10E1600000000007000000070000000A3945000316 +:10E170000A540003025C000A3A40000388190001B7 +:10E18000ABD00008000000007F2400035A6700089D +:10E190008054000000020002124200030AAD000A8F +:10E1A0003A45000B0A9C000A1E1000007F3C000B41 +:10E1B0000A9900021D0000007F3A00000D6000086F +:10E1C0007F6200008066000800090003C277000833 +:10E1D00000FC000BB29600001C600008806200008A +:10E1E00000010000806600080009000BC27F0008E3 +:10E1F00000FC000B33C0000000380008006000087D +:10E2000080620000001A0000806600080009000318 +:10E21000C288000980C0000800FF00087F3E00009F +:10E220000D6000080EFE00011F8000087F620000E4 +:10E23000806600080009000BC2920008003A000046 +:10E240001DFE000B027300080036000400AA000B3C +:10E2500002AD0000807400002000000B02AD00023F +:10E260003A44000B0BEF0000807400001000000126 +:10E27000ADD00008000000087F0E0003B3BD000110 +:10E28000A7D00008000000007F000009A6D0000809 +:10E290000000000900D000038ABD0000807400085F +:10E2A000404000035AAD000B5262000A3A46000398 +:10E2B0008ABD00023A47000B0AB8000880540000EB +:10E2C000000400008074000080000003031C0009AB +:10E2D00092C000000FC8000B0813000A124600038A +:10E2E0008BBA00001A600008806200000002000083 +:10E2F00080660000367A000BC2C2000992C0000896 +:10E300000780000B8BD10002124B00030ACB0002E6 +:10E310002E4D00022E4D00030BBD000A3A46000BA5 +:10E320008ADA00035ACD0008805400000004000A75 +:10E330001243000B0B1A000880100000000D000CA7 +:10E3400003A1000A194800048B9600001810000C65 +:10E3500003A10003031A000A1948000B0ADE000A91 +:10E36000124300030BC0000A194D000B0AE2000A19 +:10E370001243000B0BC7000B5AE200088054000048 +:10E380000004000A192E00087F32000A1947000312 +:10E390000B140002194F00030AF200040396000058 +:10E3A0001810000C0222000BB30D000C03A1000C8E +:10E3B000020C0003031A00001A60000880620000CB +:10E3C00000200000806600080009000BC2F7000A68 +:10E3D000004C000B8B140000806000000400000162 +:10E3E00098800000000700087F620000806600003F +:10E3F000320A0003C3010000806000000400000135 +:10E4000098800008001200087F6200008066000803 +:10E410001E0A000BC309000018260000192800037B +:10E42000031A00000806000880100000001F000CFE +:10E4300003A100000310000C03A10003031A000451 +:10E4400003960008801000000001000C03A10000EA +:10E450001810000C03A1000080740008F0000000F8 +:10E460000D3000023A42000B8B22000015FC000325 +:10E47000B07E000300130000807400000501000856 +:10E4800080100008000C000C03A100030013000919 +:10E49000BBE00008003000038B3E000018FE0009BE +:10E4A0003CE0000B0B3B000815FE00093CE0000BB4 +:10E4B0000B3B000813FE00093CE000038B37000C07 +:10E4C000038F00080D2600030338000C0391000899 +:10E4D0008076000000400003038C0008807600086E +:10E4E00000410003038C0009BBE000000032000380 +:10E4F0008B4300083C1E0003038C0009BBE00000B6 +:10E50000003B000B8B4800003CDC0003038C00093F +:10E51000BBE00008003600030C1F0009BBE0000050 +:10E52000003700038B6D000018FE00093CE000037B +:10E530008B3B000880760000004000001A60000855 +:10E5400080620000000D0009A6D00008000000084D +:10E550007F040001A7D00008000000007F06000132 +:10E56000A8D00008000000087F080009A9D0000812 +:10E57000000000007F0A0000806600000422000303 +:10E58000C3640004039600088054000000040000E7 +:10E5900080740008F000000080720000800000031A +:10E5A000031C0009BBE00000003800038B7F000063 +:10E5B00018FE00093CE0000B0B7C000815FE00096A +:10E5C0003CE000038B31000C0391000880760000D2 +:10E5D00000400000807200008000000303E3000898 +:10E5E0008076000800420003038C0009BBE00000B5 +:10E5F000001600038B8C00008074000808080002DD +:10E600003A44000B881800008074000008000000E5 +:10E61000807200008000000F8000000300130000E3 +:10E620008072000080000003001300021430000319 +:10E630000392000A3D3000007F000001BC80000012 +:10E640000007000B039A000A193000007F00000148 +:10E6500098800000000700008060000004000008AF +:10E660007F62000080660008000A000BC39F000F55 +:10E670004000000B23A400080870000F40000002B7 +:10E680007040000B0BA1000BE3AE0008808A000075 +:10E6900000040007000000070000000880E00008F8 +:10E6A0000202000363A7000880E0000001000003ED +:10E6B00003A10009BAC00008009000030BB70000D6 +:10E6C000807400000706000303B900008074000096 +:10E6D0000703000F40000008801000000023000323 +:10E6E00003F40008801000080022000303F4000473 +:10E6F00003960008801000000007000C03A1000032 +:10E700001810000C03A1000303FE00040396000888 +:10E7100080100008001B000C03A100001810000C62 +:10E7200003A1000080740000F08000000D300003A1 +:10E7300000130008801000080009000303F4000A19 +:10E7400016480003888C0008808C00000001000738 +:10E7500000000008801000000004000A4143000B84 +:10E76000088C00023A440003881300080D2A0003B5 +:10E7700003F4000A024D00038BE600088010000835 +:10E780000003000B03F60008801000080024000BB3 +:10E7900003F6000880100000000B000B03F60008D1 +:10E7A000801000000002000B03F600023A47000B45 +:10E7B0008AAD0008801000080006000B03F6000078 +:10E7C00080740008F000000C03A1000403B1000AEB +:10E7D0003A40000B0813000880100008000C000CE1 +:10E7E00003A100030013000080740000F08000000B +:10E7F0000D3000022E4D00022E4D00030C070008C4 +:10E800008054000000190003001300088054000821 +:10E8100000090003001300023A44000388130003B8 +:10E8200003E90008808C0008000000024447000B48 +:10E830000C330001C0C0000800FF0009FFE0000821 +:10E8400000FF00038C0A0001C1E00008FFFF000385 +:10E850008C0A0008801000000013000C03A10000C7 +:10E8600080740008020200030013000A3A4000030B +:10E870008C30000080740000020000003D000000A9 +:10E880003CFE0000807200008000000143E00003B5 +:10E890008C2E000042FE0001FFC0000800FF0009AE +:10E8A00000E0000B0C0A00080D08000304960000AD +:10E8B00080720000800000030013000405180008A7 +:10E8C000808C00000001000004FC000B350A0000F1 +:10E8D00004600008806200000001000080660008FB +:10E8E0000009000BC43D00000004000980C00008BE +:10E8F00000FF00007F00000180E000000004000332 +:10E900000C57000180E00008000500030C570001CF +:10E9100080E00008000600030C57000182C00008D8 +:10E92000FF0000087F04000982E0000806000003E1 +:10E930000C57000982E00008050000030C5700098D +:10E9400082E000000400000B8D0A0009C4C0000032 +:10E9500070000009FFE000001000000B0C960002A0 +:10E96000394100038C630000807200080404000732 +:10E97000000000023941000B0C66000080720000AC +:10E9800004000003001300000460000880FE00087B +:10E99000002B00087F620000806600082209000347 +:10E9A000C46C000811FC000B34910008808C00003E +:10E9B0000002000191800008000A00008060000051 +:10E9C000040000087F620000806600000209000366 +:10E9D000C478000840FE000101E000038C8E0008AE +:10E9E000808C000000010001918000000002000006 +:10E9F00080600000040000087F620000806600085C +:10EA00000609000BC485000042FE0001FFC000089B +:10EA1000FF00000903E000038C8E000080720000FC +:10EA20000400000B00560001918000080003000361 +:10EA300004690000807200000400000880100000DB +:10EA40000010000B04FD00023941000B8C9D0000FA +:10EA50008072000804040007000000023941000B26 +:10EA60000CA0000080720000040000030013000AE4 +:10EA70006E42000B0CA5000C04E2000811FC000B18 +:10EA8000B4AA00008072000004000008801000009A +:10EA9000000E000B04FD0008808C00000001000047 +:10EAA000806000000400000004FC0003B4C1000802 +:10EAB000808C00080000000191800008000500081B +:10EAC0007F6200008066000800090003C4B70008E8 +:10EAD0000060000880620000001C00084304000879 +:10EAE00042060000806600000412000BC4BF000B49 +:10EAF00004DF00004006000191800008000A0008C1 +:10EB00007F62000080660008060A000BC4C7000888 +:10EB1000808C000000010000046000088062000892 +:10EB2000002B00008066000806090003C4CF000027 +:10EB300080660008220A0003C4D2000042FE0001E1 +:10EB4000FFC00008FF0000087F0400008060000094 +:10EB50000400000191800000000200087F620000B4 +:10EB600080660008041A0003C4DE00008072000002 +:10EB70000400000B00560000806000000400000844 +:10EB80006B6200008066000004110003C4E7000807 +:10EB900002FE000903E000038CED00000D22000FCF +:10EBA0004000000982800000000200016B80000824 +:10EBB0007F6200008066000822090003C4F3000A97 +:10EBC00002000001FFC00000000700007F060008EF +:10EBD0006B62000080660008060A000BC4FB000F91 +:10EBE000400000023A4400038813000A2F44000A40 +:10EBF0002F4400038BE90008808A0008000300000E +:10EC000080740000F08000035D060008805400005E +:10EC100000190003001300023A440003881300089F +:10EC2000808C000800000008801000080011000C13 +:10EC300003A1000042FE0001FFC0000800FF000821 +:10EC40007F10000C03A100084310000B03F600091D +:10EC5000C2C0000800FF00007F000001C3C0000820 +:10EC6000FF00000900D0000B0D3D00000D0A00015F +:10EC700085800000100000087F62000080600000B6 +:10EC800004000000806600000809000BC527000092 +:10EC900004FC000B353600000460000880620000B0 +:10ECA000000400008066000002110003C52F000868 +:10ECB00001FE000900E0000B8D36000802FE000195 +:10ECC00043E000030D3C0002050000007F0A00093C +:10ECD000FFE00000080000038D2000080D08000F71 +:10ECE0004000000843FE00013E8000000D60000867 +:10ECF0007F6200008066000008090003C543000031 +:10ED0000806000000400000184C00008FF000002D1 +:10ED10007F700009FF800000100000087F62000083 +:10ED2000806600000809000BC54E000F4000E3C8D4 +:10ED300041FC001300030000131A0001E00000056D +:10ED4000003200000010001500330010BB39000B2A +:10ED5000800700040125000401370010C0000000F6 +:10ED6000C0010000C0B00010C0B10010C0B200006F +:10ED7000C0B30010C0B40000C0B50000C0B60010A1 +:10ED8000C0B70010C0B80000C0B90000C0BA000091 +:10ED9000C0C20010C0C30000C0C40010C0C5001035 +:10EDA000C0C60000C0C70000C0C80010C0C9001025 +:10EDB000C0CA0000C0CB0001BB880000001C0010CE +:10EDC000FFCC0000FFCD0000C0CE0010C0CF00156A +:10EDD00000390010FF000015003A0010FF00000588 +:10EDE00000D00010FF00001500D10010FF0000034C +:10EDF000405C0012D143001B197200123A40001B04 +:10EE0000103600027940001B114900023A42001BF3 +:10EE1000103A0003B03A0003A1F500023A41000B9A +:10EE2000103E00127941001B132B0003E05C00012F +:10EE30000FE8000000010003105C00000CFE00035E +:10EE4000604C00023A44000B104C001102E8001024 +:10EE50000000001313E0001102E800100005001389 +:10EE6000147200123A46001B105C001102E80010F8 +:10EE7000000000131057001102E8001000060013F4 +:10EE80001057001102E800100005001B105C000084 +:10EE900012FE0013605C00010FE800100000000388 +:10EEA00016A900150030000004000010C131001543 +:10EEB00000330010B211000B80610010B2FF00019E +:10EEC000B3E0000C10DD001BF02F00113BE8000048 +:10EED0000010000B107900000AFE001B606D00009E +:10EEE0003C0B000300750015003000000400000119 +:10EEF0000A88001000030000FF31001500330010E5 +:10EF00003C0A001B807400103C0A00020C00001038 +:10EF1000FF0C000300DA00113BE800100012000BA8 +:10EF2000108C001008FE001B608000103C090013CC +:10EF3000008800150030000004000011088800104F +:10EF400000030000FF310015003300103C0A001BD5 +:10EF5000808700003C0800020C000010FF0C00033A +:10EF600000DA00113BE800000013000B10920000D3 +:10EF70003CB0000400F6000300DA00113BE800009A +:10EF80000019001B10A5001004FE000B6099001072 +:10EF90003C05000300A10015003000000400001132 +:10EFA0000488001000030000FF310015003300103A +:10EFB0003C0A001B80A000003C0400020C00001072 +:10EFC000FF0C000300DA00113BE80010001B000BEF +:10EFD00010AE0010C0140000C0130000C0100015D7 +:10EFE000000F00100000000300DA00113BE80000F1 +:10EFF0000015000B10BA0014012E0004014000158A +:10F000000039000080000017800000040125000482 +:10F010000137000401100003002F00113BE800003D +:10F020000016001B10CC00010FE8001000000003C8 +:10F0300010C600010FE800000002000310C6001512 +:10F04000003900101010000300DA0015003900002C +:10F050005040001500B800000008000409480003F3 +:10F0600000DA00113BE800100017001B10D100105F +:10F070003CC3000300DA00113BE800100018000B4D +:10F0800010D600003CC2000300DA000500CE0000EC +:10F09000000100003BCF000409000015003900000A +:10F0A00080000003002F0001B28800000002000170 +:10F0B000C1800000FF31001500330000B009000BD3 +:10F0C00080E30002B2000011FFC80000000700103A +:10F0D000FFB20010C131001500330010B20A001B4E +:10F0E00080EB0011B088000000080000FF3100151F +:10F0F00000330010B109000B80F10001B1E80010ED +:10F10000000300031102001740000015003000004A +:10F1100004000011B088000000100000FF3100154D +:10F1200000330010B109000B80FD0001B1E80010B0 +:10F13000FFFF001B110200174000000011FE001B22 +:10F1400061060000B0120013010E0015003000002F +:10F15000040000011188001000030000FF310015B9 +:10F1600000330000B00A001B810D0000B011001731 +:10F17000400000150030000004000011BC880000B1 +:10F18000001F0000FF31001500330000C411000B08 +:10F1900081170011BC88001000180000FF31001515 +:10F1A00000330010C609000B811D0011BC8800004F +:10F1B00000370000FF31001500330000C709001BB5 +:10F1C00081230017400000150030000004000001FA +:10F1D000BB88000000010000FF3100150033000073 +:10F1E0000269001B812C0017400000150030000050 +:10F1F00004000001BB88000000010000FF31001581 +:10F2000000330000026A000B813500174000001532 +:10F210000030000004000001BB880010000F000057 +:10F22000FF310015003300100F59001B813E0017FD +:10F23000400000150030000004000001BB880010F1 +:10F24000000F0000FF310015003300100F5A000BB3 +:10F250008147001740000000D0FF0012FF40001B54 +:10F260001036001500D1001001010003914E000579 +:10F2700000790000000100139151001500D1000039 +:10F280000100001102E8000000020003117A0011E1 +:10F2900002E80000000100031192001102E80000E2 +:10F2A0000004000311B0001102E800100003001375 +:10F2B00011E100050002001000000000C00E000077 +:10F2C000C00D0010C0030015003000000400000154 +:10F2D000BD88001000090000FF3100150033001048 +:10F2E000C00A000B816C0000FF31001500330010D4 +:10F2F000C00A001B817000123A45001311780015F6 +:10F30000003A000020000015003A00101010001410 +:10F310000932000B40570013005C001278490003CB +:10F3200011EF00100DFE0013616200120C100010AE +:10F33000FF0C001500300000040000110D880010C3 +:10F3400000030000FF31001500330000B309000B7B +:10F3500081870010B3FE0013618F0010B30B0015FE +:10F3600000330010C00A000B818D000301E400008F +:10F37000C00B0010C00A000301E4000078B00012C6 +:10F38000B044000311EF0002B049000311EF001078 +:10F3900071FF0012FF380010FF7100100DFE000316 +:10F3A000616000120C100010FF0C0015003000000E +:10F3B000040000110D88001000030000FF3100154B +:10F3C00000330000B309000B81A50010B3FE001349 +:10F3D00061AD0000B309001500330010C00A001B26 +:10F3E00081AB000301E40010C0090000C008000365 +:10F3F00001E4000078B00012B044000311EF0002F5 +:10F40000B049000311EF001071FF0012FF38001027 +:10F41000FF7100100DFE0003616000120C1000105F +:10F42000FF0C001500300000040000110D880010D2 +:10F4300000030000FF31001500330000B309000B8A +:10F4400081C30010B3FE001361CB0000B3050015AB +:10F4500000330010C00A000B81C9001301CD001059 +:10F46000C0050000C0040002033F0002FF270000A7 +:10F470000DB8001403D500000DB8000409480015AC +:10F480000030000004000011BC88001000000000E3 +:10F49000FF31001500330000B309001B81DA0011B1 +:10F4A000B3E800000002000B11600005000200102C +:10F4B00000050013016200127849000311EF0013E8 +:10F4C000016200000DB800120345001B11EA0002A2 +:10F4D000033F001403D5000301600002033F000254 +:10F4E000FF27001403D5000409480003016000153C +:10F4F00000B8000000010015003A001001010004EE +:10F5000009480003017100012BD800100000000021 +:10F51000FFBA0003B1F80005002A00000002000154 +:10F52000BAC800000700001B12E6001115E8000031 +:10F5300000020013125C001115E800000001000336 +:10F54000120700050015001000000013023E000520 +:10F550000015001000000002BA430003124000032F +:10F56000B20B0005002A000000040012BA4200039A +:10F5700012460012104B001B123E00001A3000050C +:10F580000031000000020015003300001B2A000BB0 +:10F590008217001120D8001000000000FFB0000109 +:10F5A00021D8001000000010FFB1000122D8001087 +:10F5B00000000010FFB2001123D80010000000006E +:10F5C000FFB3000124D8001000000010FFB40011A8 +:10F5D00025D8001000000000FFB5000128D8001059 +:10F5E00000000010FFB8001129D800100000000032 +:10F5F000FFB900001A3000050031000000070015B7 +:10F6000000330010B032000B823500001A300005C4 +:10F6100000310010000F001500330010B812001B5D +:10F62000823B0005001500100000001B403A00134B +:10F63000005C00001EFE001362540014028B0000E8 +:10F640001EFE000C628B0013023E00001A30000503 +:10F65000003100100021001500330000B009000B3C +:10F66000824B0002B02F0000FFB0000500310010F7 +:10F670000021001500330000B00A001B8252000375 +:10F680000212001500B8001000050004094800002F +:10F6900013B80015003A00100404000409480013D0 +:10F6A000023E00050015000000010012BA420013DE +:10F6B000126A0013B26000012BD800100000001283 +:10F6C000FF4F000B11F50002BA43001B1246000069 +:10F6D0001EFE000C628B0013023E000128D80010B1 +:10F6E00000000010FFB8001129D800100000000031 +:10F6F000FFB9001402FC00023A42001B123E000057 +:10F700001C30001500FF0000000200021F43000B28 +:10F71000127B0001FF88000000020003027D00014F +:10F72000FF88000000040000FF31001500330000D6 +:10F73000B011001B82800000B0FF001116A0000075 +:10F74000FF16000B22870002B100000302880010A0 +:10F75000B1FF000117A00010FF17001302460000C0 +:10F7600016FF000118A00010FF00001B22920002EB +:10F770001700000312E500030293001017FF0011A9 +:10F7800019A0000322E5001100D0000312E50000DB +:10F790001C3000001B31001500330000B131001B8C +:10F7A000829B0013B29C0000B1200010B221000225 +:10F7B0001F43001B12A80010C0220000C02300003D +:10F7C000B3240000B4250010B3B50000B4B60003A4 +:10F7D00002AC0000B3220000B4230000B5240010E6 +:10F7E000B6250013B2AC0005002A0000000100128B +:10F7F00015000000FF15000016FF0001B580000095 +:10F80000FF16000B22B700021700000302B8001019 +:10F8100017FF0001B6800010FF1700121E10001025 +:10F82000FF1E001362E500021D000010FF1D001006 +:10F83000C0300000FF31001500330000B009000B9C +:10F8400082C30010B0FE001B62E400001C30000503 +:10F85000003100000001001500330000B009001B5A +:10F8600082CB0010B0FE001B62D1000500CE00105C +:10F870000005001309000010B01C00001C3000053A +:10F8800000310000001A001500330000B009000B21 +:10F8900082D70001B0C8001000FF0000FF1F001059 +:10F8A000C0300011BE800000FF31001500330000A1 +:10F8B000B009001B82E00000B01D00101DFF001306 +:10F8C00002BF0000B01B0017400000023A410013C5 +:10F8D00012EE0013B2E80005002A00000004000543 +:10F8E0000015001000000013023E00001A30000551 +:10F8F0000031000000020015003300001B2A000B3D +:10F9000082F3001500B8000000040004094800005C +:10F9100013B80015003A001004040004094800035D +:10F92000003E00021E000010FF1E00121D100010FD +:10F93000FF1D0010C0300000FF3100150033000033 +:10F94000B009000B83040010B0FE001B6329000007 +:10F950001CFF00011AE00013131300001C30000507 +:10F96000003100100000001500330000B009001B3A +:10F97000830F0010B0FE001B631300001AFF00008D +:10F98000FF1C00001C30000500310000001A0015AB +:10F9900000330000B009000B83190001B0C800104B +:10F9A000000F0000FF1F0001BF800010FF1D0010AE +:10F9B000C0300000FF31001500330000B009000B1B +:10F9C00083230010B0FE001B6329000500CE001049 +:10F9D0000006001309000000B01B001740000010D3 +:10F9E00079B00000D0FF0012FF40000B103E001560 +:10F9F00000D10010010100039331000500790000DF +:10FA0000000200039334001500D100000100001033 +:10FA100013FE000363850012B04E001B13AF0000FD +:10FA200078B00002B045000313B20012784A000318 +:10FA300013B2000075FF0011FFC800101800001B72 +:10FA400013B200010FE800000001001B1350001565 +:10FA5000003000000400001113880000000E0000B8 +:10FA6000FF310015003300008F0A001B834E001386 +:10FA700003B800010FE800000002000B135B001543 +:10FA8000003000000400000500310000001A0015DD +:10FA900000330010C00A001B8359001303B8000193 +:10FAA0000FE80010000000131362000500CE0000F4 +:10FAB000000700100FCF000308F50002D142000339 +:10FAC000137B001500D100000400001113E80011A1 +:10FAD0001B68001B137B0005003100111B80001503 +:10FAE00000330010B409000B836D0002B400001055 +:10FAF000FFB40005003100111B8000150033001019 +:10FB0000B40A001B83740012D04200131385001541 +:10FB100000B80000000D000409480013005C00005C +:10FB200013B800021045001313830012103F0002A7 +:10FB3000FF27001403D500040948000303850012C1 +:10FB4000103F001403D50015000F00100000000244 +:10FB500039440003138E0015003900005040001591 +:10FB600000B800000008000409480015003000003B +:10FB700004000001BD880010000C0000FF310015DA +:10FB800000330010C00A001B83950000FF310015F0 +:10FB900000330010C00A001B83990010C01400003D +:10FBA000C0130000C0100000A4FF001363A60011E2 +:10FBB000FFA800100005001B23A6001500D10010AF +:10FBC00004040015003A0000800000023A470013C8 +:10FBD00013AD0015003A000080000015003A001037 +:10FBE00040400014090B000B403E0013005C001560 +:10FBF000003A001002020003039D001500B8000047 +:10FC000000020015003A0010020200040948000337 +:10FC1000039D00150030000004000011138800103F +:10FC200000030000FF31001500330000B009000B95 +:10FC300083BF00111388001000030000FF3100157E +:10FC400000330010C00A001B83C50010B0FE001373 +:10FC500063CA0000B012001303CC0010C0120010E1 +:10FC6000C0110012104B001313620002103B000081 +:10FC7000FF100010FF03000500020010000000004C +:10FC8000C00D000303620000FFB00010C3B10015F7 +:10FC90000030000004000001B888001000110000CE +:10FCA000FF31001500330000B012001B83DE001787 +:10FCB00040000002D142000B149900123A43001395 +:10FCC00013F10015003A0000080000100DB0000309 +:10FCD00063F100000BFF0001B0E00003141A0010F4 +:10FCE00009FF0001B0E0001313FE001005FF000142 +:10FCF000B0E0000313F50000C00E000005FE000395 +:10FD000063FB0000050D0005000200000004000474 +:10FD1000048000023A47000B147E00130415000013 +:10FD200009FE000364170000090D00050002000031 +:10FD30000001000404AE00150030000004000011B2 +:10FD40000D88000000040000FF31001500330000A2 +:10FD5000BA09001B8408001103C80010000F00003E +:10FD6000FFB60011B6E800000001000315530011B2 +:10FD7000B6E800000002001315750011B6E8001087 +:10FD80000003001316670014090B0003047E001023 +:10FD90000BFE0003647E00100B0D00050002000046 +:10FDA0000002000404AE0015003000000400001141 +:10FDB0000D88000000040000FF3100150033000032 +:10FDC000BA09000B84240000B9300005003100108E +:10FDD0000022001500330000B009001B842A000136 +:10FDE000B0A80000199A00132430000500B00000EC +:10FDF00019990012B0500000FFB00002FF5000023D +:10FE0000FF500001B0800000FFB00015003000007E +:10FE1000040000110D88001000060000FF310015DD +:10FE200000330000B00A001B843D0000B93000051B +:10FE300000310000001A001500330000B009001B5B +:10FE400084430001B0C8001000FF0001FFE800106B +:10FE50000048000B14BD000500020010000600124F +:10FE60000C100010FF0C0015003000000400001101 +:10FE70000D88001000030000FF3100150033001052 +:10FE8000B109001B84540000B10B000B6458001032 +:10FE9000B10A001500330010C00A000B845A00029A +:10FEA000032B0010FF0300110D880010001100004B +:10FEB000FF31001500330010030A001B84620000AC +:10FEC00011FE000B646700000D1200130470001592 +:10FED0000030000004000001118800100003000041 +:10FEE000FF3100100DB0001500330000B00A000B08 +:10FEF000846F00000D110003047E0002D142000354 +:10FF0000147500030499000005FE0003647E0005DB +:10FF10000002000000040000050D0004048000023F +:10FF20003A47000B147E0014090B000B404C0013E1 +:10FF3000005C0001C7C800100028001B14980015C1 +:10FF400000300000040000110D880010000A0000BD +:10FF5000FF31001500330000B009001B848A000245 +:10FF6000B04F0003149800010FE8001000000013C8 +:10FF7000149600010FE8000000020013149600150B +:10FF8000003A00108080001304980015003A001019 +:10FF9000404000174000000012FE001B6057001593 +:10FFA000001200111B680015001100111B680001F0 +:10FFB0001288001000030000FF310015003300100C +:10FFC000C00A001B84A4000500B0000080000001EE +:10FFD0001288001000110000FF31001500330000EE +:10FFE000B00A000B84AC000300570015003000007D +:10FFF000040000110D88001000110000FF310015F1 +:020000022000DC +:10000000003300100309001B84B500110D88001097 +:1000100000050000FF31001500330000B909000B96 +:1000200084BB00174000000500B600100600001455 +:1000300006970014052F0000B05A0000B15B0005C0 +:1000400000540010082900100D5800150059001028 +:10005000FFFF0000B930000500310000001F00154F +:1000600000330000B009001B84CD0000B05C000527 +:10007000003100000020001500330000B009001B13 +:1000800084D30001B0C80010000F001B14DA001563 +:1000900000FF00100005000304E20002B04000036E +:1000A00014DF001500FF00000004000304E200015B +:1000B000B0C8001000060002FF600010FFB200157B +:1000C00000300000040000110D880000001900003D +:1000D000FF31001500330010B109001B84EA001243 +:1000E000B1700011FFC80010FF000011B2D0001065 +:1000F000FF600002B045001314F5001500B20000C7 +:100100000002000304FF0002B046001314FA0015B9 +:1001100000B200000001000304FF001500B200104F +:1001200000000000C0B00010C0B1001305050000C1 +:10013000B930000500310000002C0015003300002C +:10014000B011000B85040010B16A0010B06B000004 +:10015000B26100150044001000180000B93000051D +:100160000031001000240015003300006241001B24 +:10017000850F00039510001500A00000002000125C +:10018000D041000B1513001500D10010020200131E +:100190009517000075FF0011FFC80000180400014A +:1001A000FFD8001000090013951D0000FF75000323 +:1001B000951F001500D1000002000015003000005E +:1001C00004000001BD88000000080000FF31001598 +:1001D00000B1001007D0000500B0001000090015A4 +:1001E00000330000B012001B852D0003047E0000C8 +:1001F000BA30000500310010003500150033000052 +:10020000B009000B85340002B04000031550001502 +:100210000030000004000005003100011B840015BF +:1002200000330000B011000B853D0002B10000104A +:10023000FFB1001B25440012B0000000FFB0001306 +:10024000253E001500330000B012000B8546001556 +:1002500000300000040000110D88000000130000B1 +:10026000FF31001500330000B012001B854E000363 +:1002700005520010C0B10000C0B0001740000005DA +:1002800000B6001005000014069700050054001089 +:100290000889001500300000040000110D880000DE +:1002A00000020000FF31001500330000B009001B00 +:1002B000855F0010B05800000D590000B9300005EE +:1002C000003100100024001500330000B011000BB5 +:1002D00085670010B15C0010B05D000500310000C2 +:1002E000002C001500330000B011000B856E0000DB +:1002F000B15E0000B05F00139571001500A0001002 +:10030000000C0003067C000500B600000700001486 +:100310000697001500300000040000110D88001041 +:1003200000090000FF31001500330010B709000B71 +:10033000857F0012B7490013158500050054001091 +:10034000088900130587000500540010089800155F +:1003500000300000040000110D88000000020000C1 +:10036000FF31001500330000B009001B858E00101E +:10037000B05800000D590001B9C80010F00000018C +:10038000FFE80010F000001B15B70015003000005A +:10039000040000110D88001000050000FF31001559 +:1003A00000330000B009000B859D0001B0C80000BB +:1003B000F7000000FFB00011B0E80000F1000013EA +:1003C00015FE0011B0E80000F20000031603001152 +:1003D000B0E80010F300000316280011B0E8000098 +:1003E000F4000003162D0011B0E80010F500001312 +:1003F00015FE0011B0E80010F6000003163F0005DE +:1004000000CE001000090000B0CF000308F5000086 +:10041000B93000050031000000260015003300004F +:10042000B039000B85BC0012B749001315C100029A +:10043000B52C0000FFB50000B1620000B0630005FC +:10044000003100000020001500330000B309000B4C +:1004500085C70001B3C800100003000315CF0010CA +:10046000FFB20001FFE800100003001B15D10000DF +:10047000C2B70003065B0001B2E800000001000300 +:1004800015D8000500CE0010000A0010B2CF0003FE +:1004900008F50010B4650010B667001500B700102D +:1004A00000180001B5C800100300001315FD00126C +:1004B000B548000315E40000B6FF0011B780001036 +:1004C000FFB70002B549001315E90010B4FF001191 +:1004D000B7800010FFB70015004400100018000599 +:1004E00000310010002D0015003300006841000BA2 +:1004F00085EF0015004400000019000500310010D0 +:1005000000350015003300005029001B85F600154A +:100510000044000000080011B7C8001000030013D9 +:1005200015FD0010FF550003065B000500B5000037 +:100530000008001500B7001000180003065B001546 +:1005400000300000040000110D880000000B0000C6 +:10055000FF31001500330000B011001B860A0010A7 +:10056000B1FF0001B0D000131613000500B5001054 +:100570000B020010B0620010B16300030615000505 +:1005800000B5000003020015006500100012000510 +:100590000067000000080015006C000070000005F6 +:1005A000006D001005000015006F0010000A001516 +:1005B0000044000000010005005200002500001565 +:1005C000004400000008001500B7000000320003DE +:1005D000065B000500B500100028001500B70010EC +:1005E00000180003065B000500B5000001000005CF +:1005F0000067000000080015003000000400001132 +:100600000D88001000180000FF31001500330000B5 +:10061000B009000B86380001B0C8001000FF0010C0 +:10062000FF69001500B7000000200003065B0015FD +:1006300000300000040000110D88001000050000CB +:10064000FF31001500330000B609000B864600019B +:10065000B6C80010FF000000FFB000150033000016 +:10066000B00A000B864C0001B6C8001000FF001253 +:10067000FF10001B16550000FFB5001500B7001055 +:1006800000180003065B0010FF63000500B50000C2 +:100690000800001500B7001000180003065B0015E5 +:1006A00000300000040000110D8800100009000057 +:1006B000FF31001500330000B009000B8662001006 +:1006C000B561000396640010B7A00003067C000526 +:1006D00000B6001003000014069700050054001037 +:1006E000081900100D58001500300000040000111A +:1006F0000D88000000020000FF31001500330000EB +:10070000B009001B86740000B059000396760010F3 +:10071000C0A0001071FF0002FF280010FF7100034D +:10072000067C0012D041000B167C001500D1001091 +:100730000202000075FF0011FFC80000180400014C +:10074000FFD800100009000396850000FF75001314 +:100750009687001500D1000002000015003000004F +:1007600004000001BD88000000080000FF31000502 +:1007700000B000100009001500B1001007D00015EE +:1007800000330000B012001B86950003047E0015A4 +:1007900000440000000800050098001000560015F5 +:1007A000009900009575000408BC0000B096001286 +:1007B000B2700010FF56001408DE0010B052001096 +:1007C000B1530000B6FF0011B2D00010FF5000106E +:1007D000B35100174000000112E800111B6800131C +:1007E0001859001500D10000040000150030000069 +:1007F000040000011288001000110000FF310015F4 +:10080000003300001009000B86B50015000F000032 +:1008100000010010C0140000121300150030000089 +:10082000040000111388000000040000FF310015CF +:1008300000330000BA09000B86C10015003000002B +:10084000040000111388001000050000FF3100159E +:10085000003300001A09001B86C90012104B001B50 +:1008600016D200001A30000500310000000B001500 +:10087000003300001621001B86D1001015FE001B5E +:1008800066F10014071800023A42000B1717000126 +:1008900010C80010000F001B177A00150030000070 +:1008A000040000111388000000080000FF3100154B +:1008B00000330000B009001B86E10011B0E8001011 +:1008C0000009000316E80011B0E800000001001B59 +:1008D0001716001113880010000A0000FF310015E0 +:1008E00000330000B009001B86ED0002B04F001B72 +:1008F000170D00130716001500300000040000114A +:100900001388001000030000FF31001500330000C1 +:10091000B009000B86F8001500330010C00A000B68 +:1009200086FB0010B0FE000367000000B012001349 +:1009300007020010C0120010C0110015000F0010B7 +:100940000000000239440003170B001500390000B5 +:100950005040001500B800000008000409480000DD +:10096000C01300030717001002FE000367120015F2 +:10097000003A00102020000307170015003A00007D +:1009800020000015003A0010101000140932001366 +:10099000005C0013B7180005002A000000040000E6 +:1009A000BA30000500310010001B001500330000B4 +:1009B000B009001B87200000C02C0000B02D0012E1 +:1009C000104B0003173B00001A30000500310010E7 +:1009D0000024001500330000B129001B872A000005 +:1009E000B1200010B2210000B3220000B4230000A7 +:1009F000B5240000C0250010B5260010C027001047 +:100A0000B5160010C0170000B5180000C01900107E +:100A1000C0280000C0290010C01E0003077100128A +:100A200010440003176B000210340000FF10000098 +:100A30001A300005003100000002001500330000EC +:100A40001B29000B874400001C3000001B310015DF +:100A500000330000B131001B874900021F43000B27 +:100A600017500010B3B50000B4B60000C0B30010BA +:100A7000C0B40000B1200010B2210000B322000079 +:100A8000B4230000B5240010B6250010B5160000F0 +:100A9000B617000018260000192700001A300005BC +:100AA00000310010000F001500330000B011000BE2 +:100AB000875F0000B0280000B12900121E1000104E +:100AC000FF1E0003677100021D000010FF1D0004DF +:100AD00002BF00023A4200131771001307790000A9 +:100AE0001A3000050031000000020015003300003C +:100AF0001B79001B87700013B7710005002A0000E6 +:100B00000001000500150000000100001EFE00139A +:100B100067790003028B001740000000BA3000051F +:100B200000310010001B001500330010B051001BF5 +:100B3000877F0000B0A30010B6970010B9460015DB +:100B400000A5000000100015003000000400001196 +:100B50001388000000020000FF3100150033000080 +:100B6000B509001B878C001408DE000408CD0012B4 +:100B7000B4700010FFB40010B48E0010B08A0010E2 +:100B8000B18B0012104D00031797001307C4001219 +:100B9000104B001317AA0005008C00100829001044 +:100BA000C08D0001B2D8001006000010FF880010B0 +:100BB000B389000013900010B5910000C08F0010A1 +:100BC0001AB90014052F000397A50010B092001069 +:100BD000B193001397A8001307BF0005008C000015 +:100BE00008090015008D000000080001B2D80000BF +:100BF00001000010FF880010B3890000139000105E +:100C0000B5910000C08F00001A30000500310010BF +:100C1000000F001500330000B011001B87BA00035D +:100C200097BB0000B1920000B093000397BE001084 +:100C300019A1000018A2001500B1001000960003D1 +:100C400008350000B59000101391000110C8001085 +:100C5000000F0001FFE800100005001317EB000172 +:100C6000B2D8000007000010FF880010B3890015FB +:100C7000003000000400001113880010000900007B +:100C8000FF31001500330000B009001B87D60002B9 +:100C9000B049001317DE0005008C0010088900150C +:100CA00000B100100096000307E20005008C001060 +:100CB0000898001500B1000000920010C08D0000DF +:100CC000C08F000397E40000C0920010C09300039F +:100CD00097E7001019A1000018A2000308350001D1 +:100CE000B2D8000001000010FF880010B389000591 +:100CF000008C001008800015008D00000008001511 +:100D0000003000000400001113880000000E0000F5 +:100D1000FF31001500330000B009000B87FA001006 +:100D2000B08F0000B5900010139100001A3000053C +:100D300000310000000D001500330000B021000B51 +:100D40008803001398040010B3920010B2930013AC +:100D500098070000B1A10010B0A2001500300000FB +:100D60000400001113880000000B0000FF31001583 +:100D700000330010B211000B88110000B3FF000116 +:100D8000B0800000FFB3000B28180002B20000136F +:100D900008190010B2FF0011B1800010FFB200115D +:100DA00013880000000B0000FF3100150033001015 +:100DB000B212001B8820001500B100000092000252 +:100DC000104C001318330011C2E80010000C000B87 +:100DD000182B001500FF0000080000030833001165 +:100DE000C2E800000020001B1831001500FF0010B1 +:100DF000180000030833001500FF00001000001168 +:100E0000B1D00010FFB10015009A001000360005A7 +:100E1000009B000095D50012D041000B1839001539 +:100E200000D1001002020013983D0012104E001372 +:100E300018420012B12F0010FFB10000B17500136D +:100E40009843001500D100000200000119C80010ED +:100E5000FFF0001B184C001500B1001007D0000374 +:100E6000084E001500B100001B58000500B000102E +:100E7000000900150030000004000001BD880000DA +:100E8000000B0000FF31001500330000B012001B02 +:100E90008857000307170015003000000400000009 +:100EA000A4FF001368A70011FFA800100005001B95 +:100EB00028A70005003100111B7F0015003300102A +:100EC000B211001B88640002B2000010FFB20005DE +:100ED000003100111B7F001500330010B20A001B07 +:100EE000886B0015000F00000001000012130005C0 +:100EF000001000008000001500A3000002000000A8 +:100F0000C6970005004600000002001500A500007D +:100F100000100011C4D8000032000010FF8800004B +:100F2000C5890010C48A0010C58B0010C08E000552 +:100F3000008C0010E1090010C08D00150090001118 +:100F40001B68000500910010FFFF0000B292000036 +:100F5000B3930015009A001000560005009B001086 +:100F600095F50012D0420013189A000500B0001049 +:100F7000808000111388001000110000FF3100155F +:100F800000330000B00A000B8895001500B800106F +:100F9000000C000409480003089C000500750010BF +:100FA0008092001500B1001007D0000500B00010BD +:100FB00000090001BD880000000B0000FF31001592 +:100FC00000330000B012000B88A5000307170015BE +:100FD00000D100000400000112880010000300008E +:100FE000FF31001500330000B009001B88AE00017E +:100FF0001288001000030000FF31001500330010BC +:10100000C00A000B88B40010B0FE001368B90000DD +:10101000B012000307170010C0120010C011000327 +:1010200007170000BA30000500310010002100153C +:1010300000330010B019001B88C10002B20000117B +:10104000FFC8001000FF0010FFB20010B2B700058B +:10105000003100000023001500330010B20A001B0D +:1010600088CB001740000000BA30000500310000B6 +:101070000023001500330010B409000B88D20002D1 +:10108000B4000011FFC8001000FF0010FFB40010F2 +:10109000B4B7000500310000002300150033001034 +:1010A000B40A001B88DC001740000000BA300001C1 +:1010B000C7C800000020001B18EA0005003100101E +:1010C0000028001500330010B209001B88E600114B +:1010D000B2C80000FF80001318ED0010C4B000106B +:1010E000C5B1001308EF0010C6B10000C0B0000584 +:1010F000003100000004001500330010B211000B95 +:1011000088F30017400000113AC8000000070001F2 +:10111000FFE8000000070013102F001500B80010B2 +:1011200000090015003A00100707000409480003F1 +:10113000002F00113AC8000000070001FFE800007E +:101140000007001B190600174000001500B800102A +:1011500000090015003A00100707001309480014A1 +:10116000012E001500300000040000110D88000061 +:1011700000040000FF31001500330000BA09000B25 +:101180008913000408BC00150030000004000011A1 +:101190000D88000000100000FF3100150033001022 +:1011A000B20A000B891C0015003000000400001179 +:1011B0000D88001000110000FF31001500330010F1 +:1011C0000309001B8924000203270010FFB200114D +:1011D0000D88001000110000FF31001500330010D1 +:1011E000B20A000B892C001500B80010000600049C +:1011F000094800000DB8001309480004014000042C +:1012000008BC001500300000040000111388000025 +:1012100000100000FF31001500330010B20A000B6F +:10122000893B001210270010FFB200111388001034 +:1012300000110000FF31001500330010B20A000B4E +:101240008943001500B800000007000409480000A9 +:1012500013B80012D143000B194F001500FF000016 +:101260000100000B496D0012FF10000B194C00002B +:10127000CDFF0001CCA00013195B00132958000515 +:1012800000B00010000F0011B0A0000B195B00139C +:10129000096F0001FFE80010FFFF0003196F001540 +:1012A0000030000004000000CC31001500330010B5 +:1012B000B80A001B89600002CC000010FFCC0001BE +:1012C000BB880000002C0001CCA00003296A0001AB +:1012D000BB880000001C0010FFCC001500D10010DE +:1012E0000808001740000000B8380017400000034D +:1012F000496F001500D100101010001500300000DB +:1013000004000010CD31001500330000B009001BAF +:1013100089770010B0380012CD000000FFCD000129 +:10132000BB880000002C0011CDA000032982000121 +:10133000BB880000001C0000FFCD0000CDFF0011A5 +:10134000CCE0001B1987001500D100000800000246 +:10135000D1440013102F001500D10000100000131D +:06136000094896B324C603 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/WHENCE +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/Makefile +++ linux-lts-quantal-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,19 +71,36 @@ 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-$(CONFIG_SCSI_QLA_FC) += \ + ql2300_fw.bin \ + ql2322_fw.bin \ + ql2400_fw.bin \ + ql2500_fw.bin + +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/ARUBA_me.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/ARUBA_pfp.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/ARUBA_rlc.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/PITCAIRN_ce.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/PITCAIRN_mc.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/PITCAIRN_me.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/PITCAIRN_pfp.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/PITCAIRN_rlc.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/TAHITI_ce.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/TAHITI_mc.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/TAHITI_me.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/TAHITI_pfp.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/TAHITI_rlc.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/VERDE_ce.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/VERDE_mc.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/VERDE_me.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/VERDE_pfp.bin +fw-shipped-$(CONFIG_DRM_RADEON) += radeon/VERDE_rlc.bin + fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-) # Directories which we _might_ need to create, so we have a rule for them. --- linux-lts-quantal-3.5.0.orig/firmware/ql2500_fw.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/ql2500_fw.bin.ihex @@ -0,0 +1,15794 @@ +:100000000501F04200111000001000000000C74B75 +:10001000000000050000000600000005000090D56B +:10002000000000040000000020434F50595249478F +:100030004854203230303720514C4F4749432043F9 +:100040004F52504F524154494F4E20202049535057 +:1000500032357878204669726D776172652020208C +:1000600056657273696F6E202020352E30362E3023 +:1000700035202024000000000000000000000000E7 +:100080000000000000000000001000000010000050 +:100090000000C74BFFFFFFFF00111004000200002B +:1000A00000001171FFFFFFFF0011217A0000C00066 +:1000B000000009A300FFFFFF00112B1D00008000BE +:1000C0000000068200FFFFFF0011319F0000A0002A +:1000D000000005C400FFFFFF001137630000400E61 +:1000E00000000808FFFFFFFF000000000000000004 +:1000F0000000000000000000000000000000000000 +:1001000000000000000000004203F00000021FFF9A +:10011000400000004203E0009000010040000000A9 +:1001200042000800000211726002F000608C00E0E2 +:10013000500000008C00050005020003420008008A +:100140000002000045780800800408008204058051 +:100150000002200005FE07FC4178A0004200A80034 +:100160000010C74B4200080000110E404054000030 +:100170008004B4800561FCB30501FF85600C60203C +:10018000503048008C2405000500001C59E0001682 +:100190008C000504050200190561FD03604808FA9A +:1001A0005004100082081500FFFFFFFC90081D435B +:1001B0009008154084244D00440C080044080800B1 +:1001C00044246000640300004203E000700000006B +:1001D0004203E000B0300000603FF84E59E00016E6 +:1001E0008C0005040502000205FE47FD84244D40F5 +:1001F000442460000561FCEC640300000501FDA7D8 +:100200004803C8560509FB596413C0204203E000A7 +:100210006000000F640F70E8640F78E8640DA8E8D0 +:1002200059E000238C0005000502002B4200280045 +:1002300000100022581408004817C8574807C8572C +:10024000800409C00500000A581420024813C8574A +:10025000581410034C1400000501FF445C002800F2 +:100260000502003D90142C0405FDF7F34200280020 +:10027000001000225814A0004817C8574853C85708 +:100280008050A1C0050000144C1400005814A801AF +:100290004857C85740500000805404800500000BA8 +:1002A000825404800000400E050200059050A40412 +:1002B0000509FED5050200280501F0045814B00216 +:1002C000485BC8570561FC575C00280090142C045B +:1002D00005FDF7E9050DFD2D420010007FF481FEBC +:1002E00059E000028C00051E0502000342001000C8 +:1002F0007FF480FE50081000480B50824200280016 +:1003000000100022581408014817C8574807C8575A +:10031000800409C005000023581420024813C85760 +:10032000581410034C140000820404800000400E96 +:10033000050200040509FEDF4803C8560501F00365 +:100340000501FF0A050200045C00280090142C043B +:1003500005FDF7ED4803C8564A03C02000004010D1 +:100360004A03C01140100011050060004203E00084 +:100370004000000059E00017600008008C00050AEA +:10038000050A0D8B8D0C0530050A0D77050A0D79D0 +:100390006403C0174203E000300000010501F000D3 +:1003A0004803C85659E000248C000500050A0E8158 +:1003B0000501FF824A03C014001C001C4817C857DF +:1003C0000501FFB04200200000110E400561FC2431 +:1003D00059A80091800001C00500000C59A800B187 +:1003E0008C0005000500000559A8000A8200048061 +:1003F0000013FFFF0500100559A820918010200070 +:1004000059A8280A0561FC160561FDFC0561FE235B +:1004100059A8280A60000812600018024807502BEB +:10042000480F528C60C010000539FC6782040C0034 +:1004300000110E404807500B600400DE5000000021 +:100440008C0005020500000459A800B18400054095 +:10045000480350B14A03C810001000004A03C811F5 +:100460000010C74B0501FF486447C82959E4000143 +:10047000820005400003401F4803C8014A03C80228 +:100480000000093359E00003820005400024000009 +:100490004803C00364FFC019607010000501FEA28C +:1004A0004202C00000110E4059AAB00B59AAA00B7D +:1004B00059AAA80B59AAC82B4967508B59A8000BF9 +:1004C0004803500C0501FFB70545F85E0501FFC064 +:1004D0000505F82E0509FF0159A800748C000508D0 +:1004E00005000004050DFDFD0521FE7F050DFF281B +:1004F0000505F9550505FF180539FC6F0501FC21B7 +:100500000511FF190531F842052DFA120539F88C4D +:100510000509FF300509FD5F4203E000F00000011E +:100520000561FDEB6403C0184203E000A000000178 +:1005300059A800B180000540050000044203E00016 +:10054000200005510501F0034203E00020000511E1 +:100550004203E000500100006403C020050270194E +:1005600059E0002090000582050200164A03C020D1 +:10057000000040004A03C011400000100500600068 +:100580004203E000400000004DF000004203E000A4 +:100590005000000059E00017600008008C00050AB8 +:1005A000000208928D0C0530050A0CEF000209BA12 +:1005B0005C03E0006403C0174203E0003000000168 +:1005C0006002D8004203E000B060000059A800BCFF +:1005D0004003F8000001F0044DF000004203E00089 +:1005E00050000000416C000090000C8805021C2A9D +:1005F0000C01F8035C03E0000001F0060010018824 +:1006000000100199001002BA00100187001003CEFB +:1006100000100187001001870010055D0501FC1E18 +:10062000420008000010D0C45804001E8C000500D1 +:100630000500000C840005004800081E6012D80068 +:100640000501FE3149F3C8575C0008005C0000005A +:100650008200054000007E204C0000004C04000099 +:100660001C01F00059C4000D8C00051E0502001E7F +:1006700059A800978C000500050000126030083072 +:10068000050DFB4B90040560603008304C00000005 +:10069000050DFB4C6041D04E0539F9DD5C000000D2 +:1006A0008400050A60300830050DFB466191D000DA +:1006B0000539F9D759C4000D8C00051E0502000A42 +:1006C00059C400058C00050005020007050DFED287 +:1006D000640750656012D800420000000010D87C0A +:1006E0000561F2880501FE01052DFC440500000F9F +:1006F000052DFC54050200325994002D820005801E +:1007000000104F7D050200045994002C800001C0A8 +:100710000502002B59C4000682000540000000C0FD +:10072000480388060501F026052DFBB7916C05816D +:10073000050200C559A8002F90000589050200C2D6 +:10074000497B502D42000800FFFFD8150511FBFD25 +:10075000420248000010D8CF497A480564078893C0 +:100760004A038805000000F0052DFC3059C410062E +:100770000502000682081540000000F182081500FD +:10078000BBFFFFFF0501F00382081540440000F1A4 +:10079000480B88060539F9AC053DF9640501F8AB4D +:1007A000050000A9420000000010D75E0561FA5262 +:1007B00060C01100497B509A0501F0360521FF8584 +:1007C00059C400A49000050F900004870502109EF4 +:1007D0000539F99D59C400A382000500FFEFFFFF12 +:1007E000480388A359A800A4800001C005020003A3 +:1007F0000525FCD50501F09459A800338400054671 +:1008000048035033052DFC0359C4100605020006A9 +:10081000820815404400000182081500FFFFFF0F09 +:100820000501F00382081540440000F1480B8806DA +:10083000497B90050501F8850500008360000000F4 +:10084000052DF9C04A0388020000FFFF4A0378E43F +:1008500000003000420070000010D4255838040118 +:100860008C000508050200034A01A8E40000C0004E +:10087000420000000010D7550561FA1F59A8102D3D +:10088000600C0800053DF9126040110059A81809D4 +:100890000521FBB159A804B382000500FFFFFF400A +:1008A000480354B359A80239840005184803523943 +:1008B00059C400018200050000018000820005800B +:1008C0000001800059C400A3050200048200054015 +:1008D000000010000501F00382000500FFFFEFFF9C +:1008E000480388A359C8001584000548480390159B +:1008F000050DFA0A59A8100884081500480B50087D +:10090000850E1D0A0529FB2B052DFBBC05000007E4 +:100910008D0C0506050000056407509A850E1D0E16 +:100920000525F84E0501F0480529FC2905000005BC +:1009300059C410028408150C480B88020501F017F1 +:10094000052DFBAE0502000559A8003680000540C4 +:1009500005500BE80501F0110551FBE659A80239D5 +:100960008C0005060502000D59A8003680000540E0 +:100970000502000759A81C39820C05800000FFFF02 +:10098000050000068C0C0508050000044A035439D4 +:100990000000FFFF0525FD70497B503B497B503A25 +:1009A000497B509B052DFB9559A81239050200097A +:1009B0000509FFFC8000158059A8003D8200050054 +:1009C000FFFF000080040D404807503D0501F00581 +:1009D00059A8003D82000500FFFF00004803503D7C +:1009E000599C00178C00050A050000028408154474 +:1009F000480B5239052DFB81050000030509FFE96D +:100A00004807888060141000053DFDA6497B503BD7 +:100A1000497B50344A0350350000FFFF4A01A8E4E7 +:100A2000000000C0600AD800052DFB740500000519 +:100A300059A802399000050C9000058405000002B9 +:100A40000511F9401C01F0000521FC7D050200267E +:100A5000599C0019820005000000E000820005801A +:100A6000000040000502002059C4000182000D0072 +:100A700000018000820405800001000005000004E0 +:100A800082040580000080000502001759A8009626 +:100A90009000048305001003900005410501F01249 +:100AA000050DFDAC640750654A035066AABBCCDD5A +:100AB000641350596403505A6012D80059A8009624 +:100AC000800000004803509659A800958200050058 +:100AD000FFFFFFF890000544480350950501FD0A0B +:100AE000800005801C01F0000521FE5E050000511C +:100AF00059A8023990000523900005A30502004D76 +:100B00000521FE5D0500004B4A0388020000FFBF7F +:100B100059A804B38C00050C050201078C000506DA +:100B20000502000B8C00050805020103840005483E +:100B3000480354B30521FE5505000004417A5800CE +:100B40000555FA2A0501F0FC0501F0C38C00050AE1 +:100B5000050200388400054A480354B3497B503BE2 +:100B6000497B503A497B50344A0350350000FFFF1F +:100B700059A8023982000500FFFFFF7C4803523963 +:100B8000420248000010D8CF59240200820005001C +:100B9000FFFFFF1F48024A0059A802B35924100B57 +:100BA0008208150000001FFF800805800500001264 +:100BB0004D3C00004D3000004D40000060AA800018 +:100BC000417A6000600A7800417808000511FB5501 +:100BD0005C0280005C0260005C02780059A802B3ED +:100BE0005924080B82040D00FFFFE000800405403B +:100BF0004802480B4D300000417A60000511FAF6BA +:100C00005C0260004803C8565924000C800001C0F3 +:100C1000050200060001F817050000C7492E480C20 +:100C20005924000B480258020511F8C60501F0C20C +:100C300059A80035820005800000FFFF0500000371 +:100C40000511F8C00501F0BC0561FA5D050000065C +:100C5000800005800509FEB3600ED8000501FC91F7 +:100C60000501F0B559A802398C00050A05020003F8 +:100C70008C000506050000378C00050005000035D6 +:100C80004A0388020000FFBF8C0005020500003106 +:100C90000521FDF905020004599C00188C00051679 +:100CA0000502002959A8003A820005800000FFFFD4 +:100CB000050000200521FDF00500000659A804B339 +:100CC0008C000500050000030511FB430501F00839 +:100CD000417818000561FA3F0500000260401800E5 +:100CE00059A802398C00050A051209AB42024800D6 +:100CF0000010D8CF417A400059240200820005003C +:100D0000000000E082000580000000E00502008A8B +:100D1000050DFE4D59A802398C0005040502008618 +:100D2000600C1000417A5800050DFE6C0501F08240 +:100D300059A802398C00051C050200038C0005042B +:100D400005FC07F859A8003B800005400502007A21 +:100D500059A802398C0005080502000959A8003479 +:100D600080000540050200740561FA1A05000009BB +:100D70000511FBF1050200700501F006599C1819D8 +:100D80008C0C05100502001C8C0005160500006A7D +:100D90000529FB0F050200680521FDB705020004C7 +:100DA000599C00188C000516050200030529FEC099 +:100DB0000502006159A800068C00051C050200040C +:100DC000599C00178C00050A0500000B61C0B00F8C +:100DD000417A88000001FAFE05020004593402003D +:100DE0008C00051A05020054814688008058B040E6 +:100DF00005FE07F94A0388020000FFFF42001800C1 +:100E00000010D10B0501FD57420018000010D11849 +:100E10000501FD54850E1D024A01A8E40000008072 +:100E2000600ED8004A0350350000FFFF0501FC1D8D +:100E3000800005800509FE3B497B50966407506899 +:100E40000521FD8D0502000B599C00188C0005162C +:100E50000500000859A804B38C00050E05020036F1 +:100E60008400054E480354B30521FAFF0501F0162E +:100E700059A81A3959A82031821025800000AAAA41 +:100E8000050000048C0C050605020002480F5439C9 +:100E90008C0C050805000007599C18198C0C0510CE +:100EA0000500000461F8180F601020000501F00330 +:100EB00061FC19FF6018200060003000417A40009A +:100EC0000521FA91052DFA5F0500000A59C40006B4 +:100ED000052DFA4A0500000482000500FFFFFF0F00 +:100EE0000501F00382000500FBFFFFFF48038806B1 +:100EF0000521FD610500000A59A804B38C00050016 +:100F00000500000759C4080182040D40000040009C +:100F10004807880164C378E40501F00659C4080154 +:100F200082040D00FFFFBFFF48078801648378E457 +:100F3000053DFABC1C01F0004C0400004C08000008 +:100F40004C10000059A8005A90000C84050219D2D8 +:100F50000C01F8055C0020005C0010005C0008003B +:100F60001C01F000001003DD001004770010049C49 +:100F70000010054160380938050DF90D9004055041 +:100F800082000500FFFFFFF760380938050DF90DF5 +:100F900059C410A384081518480B88A30521FB2801 +:100FA00005020021599C0019820005000000E000A4 +:100FB00082000580000040000502001B59A808952A +:100FC00090040D07900405800502000B59A80059F4 +:100FD0009000058205000011050DF850497B50581E +:100FE000050DFC4D640F5066640B50596407506545 +:100FF0000501F00A9004058405020008497B2804D5 +:10100000497B2805050DFC53640750654A0350666B +:10101000AABBCCDD6413505959A80095800000008C +:1010200048035095600000010509FDBE0535FF86A7 +:1010300059C408A382040D00FFFFFFF7480788A3E7 +:10104000052DF9F40500000D052DF9FE0500000B36 +:10105000052DF9F60502099059C400A38400053254 +:1010600084000570480388A3052DFD234A038808E2 +:10107000000002080501F01259C400A384000530E5 +:1010800082000500BF7FFFFF480388A361E00801DD +:101090000525FB6D59C400A38200054000018000B6 +:1010A0008400051C480388A382000500FFFEFFFFA3 +:1010B000480388A34A0388080000020059C40006B8 +:1010C00082000500FBFFFF0E48038806497B282CA1 +:1010D000497B282D61D00803420010000010055BF9 +:1010E0000535FDEA59C40805640788050509FE6150 +:1010F0000502000660040000050DF84160040000D0 +:10110000050DF80F0501F01E0509FE600502000639 +:1011100041780000050DF83A41780000050DF80807 +:101120000501F0170509FE5F0502000660080000D2 +:10113000050DF83360080000050DF8010501F010F9 +:101140000509FE5E05020006600C0000050DF82C86 +:10115000600C00000509FFFA0501F0090509FE5DB4 +:101160000502094D59A80065800001C00500000472 +:101170000509FE5D6407505A0501F018050DF87A5F +:101180006407505A052DF9A305000008052DF9AD97 +:1011900005000006052DF9A50502093F6407503238 +:1011A000052DF9190501F00D59C400A49000050F93 +:1011B00090000588050000034A038805040000002C +:1011C00059C400A3820005400001C000480388A361 +:1011D00084000520480388A31C01F0000501F8E005 +:1011E00005020003640F505A0501F0210509FE397C +:1011F0000502000D59A80065800001C00500000A25 +:101200000509FE3959A800648C00051E0500001868 +:10121000052DF9860502000664075032052DF8FAFF +:101220000501F003050DF824050200110509FFBBB7 +:10123000640B505A497B506559C400A384000520B3 +:10124000480388A3052DF979050000090521FA7CDA +:1012500005000007497B282C497B282D60B4080035 +:10126000420010000010055B0535FD881C01F000F0 +:101270000501F8BB05020003640F505A0501F0A0F8 +:101280004A038805000000F0050DF80B05020097E1 +:10129000050DFA1605000017050DF9FB05020015EE +:1012A000050DFA040502000A59A80066900005849D +:1012B00005FC07F20509FE010502000E59A80066AB +:1012C00082000580AABBCCDD05FC07EC59A80066AE +:1012D0009000058005FC07E90509FDE6050200050B +:1012E00059A8006682000580AABBCCDD05FC07E397 +:1012F00059A800978C0005000502000B59A8087436 +:101300008C04050C0502000860380938050DF82822 +:101310009004054882000500FFFFFFEF60380938A0 +:10132000050DF828050DF9F1050000320521FC88AE +:101330000500000C4A03C0140020002059C400011D +:10134000820005000001800082000580000180000D +:10135000050200264A03C013002000200501F025E5 +:101360004A03C013038003004A03C01403800380B0 +:1013700059C4000182000500000180008200058040 +:10138000000180000502000C6088080161D810008F +:10139000602018000521FC72050008BF6088080164 +:1013A00061B81000602018000521FC6D050008BA26 +:1013B0000501F00B6088080161D81000602018005A +:1013C0000521FC75050008B46088080161B81000AB +:1013D000602018000521FC70050008AF4A03C01406 +:1013E000038000000501F0034A03C0130020000041 +:1013F000052DF90E0500003459C400A49000050F16 +:10140000900005880500001859C400058C000534BB +:10141000050200155994002C900004820502103832 +:10142000052DF908050200364A038805000000F082 +:10143000052DF9324A0350310000AAAA6403503244 +:1014400059C408A390040D48480788A36006D80033 +:101450006403505A64078805497B282C497B282D52 +:101460000501F019052DF8F70502000759A800310C +:10147000820005800000AAAA050200034A03502D3D +:1014800000FFFFFF497B503159C400068200054030 +:1014900004000001480388068D0C050605020004BF +:1014A00059C408A390040D48480788A36006D800D3 +:1014B0006403505A64078805497B282C497B282DF2 +:1014C0000501F00F59C4000582000500000000C0AE +:1014D0000500000B59C4000682000540000000F121 +:1014E0004803880605FDF7F20509FD7A05020004A8 +:1014F00059A80065800001C005FE0760497B88850A +:101500001C01F0004803C8560521F9CD050200056D +:10151000050DFB2F420000000010D87D055DFEF98F +:10152000600000010509FC7F6403505A0509FD694C +:101530000502000959A80058800001C005000004F8 +:10154000800000404803505805020003642B5058A7 +:1015500064075065497B88850501F2245994002C65 +:101560005994082D800405401C01F000497B282D6A +:101570001C01F0004A038805000000F01C01F00087 +:1015800064175083641B5084641750854A03508647 +:10159000000090D5052DFBED4A0354390000FFFFF4 +:1015A0004A03502D00FFFFFF0551F8D24A03503D7A +:1015B000202000004A03503E880002004A03503FAA +:1015C00000FF001F4A035040000007D04A0350416B +:1015D00080000A004A035042A00002004A03504320 +:1015E00000FF00044A035044000100004A03504534 +:1015F000800000004A035046000002004A035047A2 +:1016000000FF00004A035048000100004A03504F09 +:10161000514C4F474A035050494320201C01F000D1 +:101620004D440000417A88004C5C00004178B800CD +:101630000001FAFE050200040529FA2F0502000246 +:10164000805CB8008146880083440580000007F074 +:1016500005FE07F8405C08005C00B8005C028800EA +:101660001C01F0004803C8575C0000004C0000005B +:101670004803C8570501F808485FC8574203E0000F +:10168000500000005C0000004D7800006008B900C8 +:101690000501F005485FC8574203E0005000000014 +:1016A0006008B900050060004C0000004C04000018 +:1016B00059BC00EA4803C85790000507900005810F +:1016C00005020003600008000539FD7859B800EAFA +:1016D0004803C857641370E85C0008004807C02539 +:1016E000800409204807C0265C0000004803C0238E +:1016F000800001204803C0245C0000004803C85754 +:101700004803C021800001204803C02241F80000A6 +:101710004803C029800001204803C02A055DFF99C5 +:101720000500004A420008000010F9554600080074 +:10173000FACEFACE800408004C0800004C0C0000E1 +:10174000600010F4580800134400080080040800EA +:1017500058080022440008008004080058080023AC +:1017600044000800800408005808002444000800D1 +:101770008004080058080025440008008004080080 +:10178000580800284400080080040800610010F494 +:10179000602C180050080000440008008008100069 +:1017A00080040800800C184005FE07FB600C180040 +:1017B000600010F6480C10035808000544000800AB +:1017C00080040800800C184005FE17FB600010F82C +:1017D000580800024400080080040800580800036C +:1017E0004400080080040800580800204400080055 +:1017F0008004080058080021440008008004080004 +:1018000058080022440008008004080058080023FB +:101810004400080080040800600010F65808000723 +:1018200044000800800408005808002B4400080009 +:10183000800408005808007C440008008004080068 +:101840005C0018005C00100064030000485FC020CA +:10185000905CB9C0905CBD52485FC0114203E0008B +:10186000400000006016D80059E000176000080032 +:101870008C00050A050A084E8D0C0530050A083A49 +:10188000050A083C6403C0174203E0003000000171 +:101890000501F95705FDF7FF601000000501F80C80 +:1018A0004A03C8550001EB5A59E400018200054083 +:1018B000FF0007004803C801420000000010D8A242 +:1018C00049780003497800041C01F0004200080038 +:1018D0000010D8A44400080059E40801820415004F +:1018E00000F3C0FF480BC8018C0405240500000B61 +:1018F0004C00000059E4105259E40054800000D418 +:10190000820004000010FAFF80081480480BC853BE +:101910006503C8005C0000004A03C8500010FAFFCD +:10192000800000D4820024000010FAFE4813C85141 +:101930004A03C85300000400420000000010FAFFF0 +:1019400082001400000010004578000080000000B4 +:1019500080081D8005FE07FD4807C8011C01F00036 +:10196000420020000010D8A259E4180158100C01C0 +:101970008204050000003800820C1D00FFFFC7FF35 +:10198000800C1D40480FC8011C01F0005C03600082 +:101990004DB0000049B3C8574803C8571C01F000B8 +:1019A0004C5C00004C6000004C6400008D0C052A6B +:1019B0000500002F401C000080040D404004B800CA +:1019C000400CC0004018C8000501F8D44178400020 +:1019D000420028000010D8A2581420175814000DF7 +:1019E00080100400445C0000801020008000000093 +:1019F00082104D00000000FF050008AA0500001C31 +:101A00004C0000000501F8905C0000004408000054 +:101A1000801020008000000082104D00000000FFB8 +:101A2000050008A00500001244600000801020009E +:101A30008000000082104D00000000FF05000899A2 +:101A40000500000B446400008010200080000000AE +:101A500082104D00000000FF050008920500000400 +:101A600048102817802041C005060CD15C00C80032 +:101A70005C00C0005C00B8001C01F0004C5C000081 +:101A80004C6000004C6400004200100004000000A4 +:101A900041CCC800420028000010D8A259A800B7C5 +:101AA00082000D00000003FF4C00000058140212D9 +:101AB0000501F85D5C0000004004B8004008C0006B +:101AC000905CBC068C00051605000002905CBC0210 +:101AD0000501F0164C5C00004C6000004C640000F6 +:101AE000420028000010D8A24200100003000000AD +:101AF0004000C800821C050000003C00800001146A +:101B0000821C0D00000003FF4C000000581404125A +:101B10000501F8455C0000004004B8004008C00022 +:101B2000805CBC00805CB840825C048000000240A5 +:101B300005FE1ED90501F879405C0000905CBC02EE +:101B400080600D40420028000010D8A2417840007B +:101B500058142017825C048000000101050210283F +:101B60005814000D80100400440400008010200070 +:101B700080000000805CB84082104D00000000FF33 +:101B8000050008480500001A4C0000000501F82E69 +:101B90005C0000004408000080102000800000006D +:101BA000805CB84082104D00000000FF0500083D39 +:101BB0000500000F50641800440C00008000000075 +:101BC000801020008064C800805CB84005FE07F6E5 +:101BD00082104D00000000FF0500083205000004DF +:101BE00048102817802041C005060C715C00C80011 +:101BF0005C00C0005C00B8001C01F0008210050011 +:101C0000000000FF805C04008200048000000200ED +:101C100005FC17D46108B80082600D4000008040C8 +:101C200005FDF7D0800001C00500000680041C807F +:101C30000500100405000003400008008408155C3E +:101C40001C01F00059A800A0800018C4800010CA30 +:101C5000800000CC800C04008008140059940024FB +:101C600061A01807800C1C805994002E800C040081 +:101C700040001800800C18C2800C0400800C18C6AC +:101C8000800C0400800C18C2800C0400800C190E1B +:101C9000800C040080000112800814001C01F00078 +:101CA0004813C8575C0360004DB0000049B3C857E3 +:101CB00040001800581400008C00050205000009BF +:101CC0005814082180040800480428214807C857F0 +:101CD0008400054A48002800800005800501F00EB8 +:101CE00082102500000003FF8020400058140014DB +:101CF0008000000090000503480028140500000340 +:101D0000400C00000501F0025814000D8000054051 +:101D10004803C8571C01F000420028000010D8A258 +:101D2000581400008C00050A0500002F8C000502E5 +:101D30000502002D4C5C00005814B8214978282178 +:101D40008400050A48002800581420174813C85773 +:101D50005814000D80100400417840004200080033 +:101D60000B000001440400008000000080102000EF +:101D700082104D00000000FF05FC0FCA05FC0E4656 +:101D80004C00000005FDFFB05C00000044080000AE +:101D9000800000008010200082104D00000000FF35 +:101DA00005FC0FC005FC0E3C445C000080000000F8 +:101DB0008010200082104D00000000FF05FC0FB9CC +:101DC00005FC0E3548102817802041C005060BF889 +:101DD000405C2000600C180060A01100051DFE5E34 +:101DE0005C00B8001C01F0001C01F00059A8009D27 +:101DF0008C00053005FE07FE4C0800006010100046 +:101E00000501F8495C0010004201D00000028B0A75 +:101E10000535FBFF4C080000602010000501F8426A +:101E20005C0010004201D00000028B0A0535FBF86F +:101E30004C080000604010000501F83B5C001000F9 +:101E40004201D00000028B0A0535FBF105FDF7E8E1 +:101E50008C00050C59A8089D0502000384040D3070 +:101E60000501F00584040D704807509D60001000C6 +:101E70000501F02D4807509D916C05070C01F001FC +:101E8000001007C8001007BA001007BA001007A812 +:101E9000001007C1001007BA001007BA001007C1F0 +:101EA00059C4080182040D000001800082040580ED +:101EB000000180000500000A820405800001000086 +:101EC0000500000442001000420040000501F00639 +:101ED00042001000220020000501F0034200100023 +:101EE000120010000501F01559A8009D8C00053462 +:101EF0000502000442001000740570050501F80F8A +:101F00001C01F00059A8009D8C0005340502000456 +:101F100042001000740570050501F0081C01F00076 +:101F20001C01F0009008151C82081540001C0000E0 +:101F3000480BC0131C01F00059A8009D8C0005300F +:101F40000500000284081570480B509D8C00053078 +:101F500005020005820815000000700080081114B9 +:101F600005FDFFF11C01F00041780000500418004D +:101F7000800C0400800408008010204005FE07FC4F +:101F800080080500800005401C01F0006002F000A0 +:101F9000417800004178080041781000417818002D +:101FA000417820004178280041783000417838009D +:101FB000417840004178480041785000417858000D +:101FC000417860004178680041787000417878007D +:101FD00041788000417888004178900041789800ED +:101FE0004178A0004178A8004178B0004178B8005D +:101FF0004178C0004178C8004178D0004178D800CD +:102000004178E0004178E8004178F0004178F8003C +:1020100041790000417908004179100041791800A8 +:102020004179200041792800417930004179380018 +:102030004179400041794800417950004179580088 +:1020400041796000417968004179700041797800F8 +:102050004179800041798800417990004179980068 +:102060004179A0006001A96060C9B17E4179B800E2 +:102070004179C8004179C0004179D0004179D80048 +:102080004179E0004179E8004179F0004179F800B8 +:10209000417A0000417A0800417A1000417A180024 +:1020A000417A2000600228C2417A3000417A38002B +:1020B000417A4000417A4800417A5000417A580004 +:1020C000417A6000417A6800417A7000417A780074 +:1020D000417A8000417A8800417A9000417A9800E4 +:1020E000417AE800417AF800600300F842031000EA +:1020F0000010D74F607F196060DF21604203280025 +:102100000010D6BE420330000002117B42034000A3 +:102110000010D0C4420338000010D0E3420348004E +:102120000010D428420350000010D0004203580091 +:102130000010C800417B6000600368DE6003C86077 +:10214000600371FE6003797E600380EE6003888027 +:10215000600390C0420398000010F68B6003A0EC6F +:102160006003A8E86003B0E46003B8E26003C0E085 +:102170006003D0004203E800000201E3417BD80085 +:102180001C01F0006407C830640FC8316413C83202 +:102190006427C8336417C834641BC835641FC83645 +:1021A0006423C8376403C838642BC839642FC83A1D +:1021B000640BC83B1C01F000420028000014000022 +:1021C00059A800B18C00050005000003420028005A +:1021D0000013A00046002800AAAAAAAA602830007E +:1021E0008018304005FE07FF501400008200058073 +:1021F000AAAAAAAA050200134178200040140800E8 +:10220000821024000001000080042C0446002800F5 +:1022100055555555602830008018304005FE07FFA1 +:1022200050140000820005805555555505020005E3 +:1022300050040000820005805555555505FE07F1F4 +:1022400059A800B18C000500050000058214058026 +:102250000013A000050200050501F00582140580A9 +:1022600000140000050000026407C8208014284004 +:102270004817C8574817C8614817500A1C01F00092 +:102280004817C8574C5C00004C600000055DFCBD61 +:10229000050000304817C857606C08F65004080065 +:1022A0008C04053E0500002B4817C857850E1D708D +:1022B0004C0400004C1400000505FDA35C00280040 +:1022C0005C00080059E0B81A8204B500000007FF5E +:1022D0008058B000485B5094600008F458042029EE +:1022E0005804302A82102500FFFFFFF882183500BD +:1022F000FFFFFFF8401000008018C4808060C10418 +:10230000806004174803508F497B50939058B41F46 +:102310008058090A8004C4188060C040805CC418DA +:10232000485F509048635091805C284059A800B1A4 +:102330008C0005000500000759A8000A82000580EE +:1023400000139FFF050200034817500A4817C8579B +:10235000640300005C00C0005C00B8001C01F000D9 +:1023600059A80837800409C00502000649781C0CEA +:1023700064081A0C641C180459A8002D480018059C +:102380004C0C000005FDFCA75C001800800409C08F +:102390000502000280040800480418061C01F00031 +:1023A00061FCB001420248000010D8CF420000009A +:1023B0000010E5CF480248099000041091264C0D0A +:1023C0008058B04005FE07FC1C01F00059A8080C1D +:1023D0004006D0006006B80059A8180A480FC85730 +:1023E0004178300090041418900824184010000020 +:1023F000800C0480050010208D0C05300500000BBA +:1024000059A80091800004820500100840100000C7 +:1024100059A82890801404800502100459A810912E +:102420008008100005FDF7F1801831C00502000D8D +:1024300059A800B18C00050005000006420000000C +:102440000013A000800004840500100E0501F005B3 +:102450004200000000140000800004840500100900 +:10246000440808004008080040101000815EB800D1 +:1024700005FDF7DE45780800495F50381C01F00083 +:10248000420010000014000059A800B18C000500A3 +:1024900005000003420010000013A0008018304027 +:1024A00005FDF7D2835C0480000001040500100ADA +:1024B000496BC857815EB840416A5800592ED00018 +:1024C000497A5800497A5801497A5808812E59C0EA +:1024D0001C01F000420000000010D804055DFB065E +:1024E000417A580005FDF7FA815EB84005001009F1 +:1024F000416A5800492FC857592ED000497A5800D0 +:10250000497A5801497A5808812E59C01C01F000B7 +:10251000420000000010D804055DFAF7417AB800C7 +:10252000417A580005FDF7F9492FC857496A580004 +:10253000412ED000815EB80059C8000082000540DD +:1025400000001200480390001C01F000492FC857FA +:10255000812E59C005000007592C0001497A580105 +:102560004C00000005FDFFF15C02580005FDF7F985 +:102570001C01F000420000000010D804055DFAE1E3 +:1025800080025D801C01F0004807C85642007000C0 +:10259000000211726400700059E0000382000540DF +:1025A000000080804803C0034A03B8059000000182 +:1025B00059DC00064A03B8057000000059DC00062B +:1025C0004A03B8053000000059DC00064A03B8058C +:1025D000800000006100B000497BB8078058B0401F +:1025E00005FE07FE4A03B8053000000059DC00066E +:1025F0004A03B8056000000159DC00064A03B8052B +:102600006000000359DC00064A03B80560000005BD +:1026100059DC00064A03B8056000000759DC0006D3 +:102620004A03B8057000000159DC00064A03B805EA +:10263000300000026100B000497BB8078058B0400C +:1026400005FE07FE4A03B8053000000059DC00060D +:102650004A03B805600000014803C85605FDFF9213 +:1026600005FC0C0D420010000010D74A452C10004C +:10267000640658014A025802000001004A02580943 +:10268000001080BB497A580A497A580B497A580C8D +:1026900005FDFF8505FC0C00420010000010D74B23 +:1026A000452C1000640258014A0258020000010043 +:1026B0004A0258090010131D497A5803497A5807ED +:1026C000497A5808497A580A05FDFF7705FC0BF24C +:1026D000420010000010D74C452C10006402580135 +:1026E0004A025802000001004A0258090010134132 +:1026F000497A5803497A5807497A5808497A580A52 +:1027000005FDFF6905FC0BE4497A580642001000FC +:102710000010D00D452C1000640258014A025802E6 +:10272000000001004A0258090010743C497A58031D +:10273000497A5807497A5808497A580A1C01F00022 +:1027400042001000000200300535F863054DFD35EC +:10275000583808076004200058040801800409C0A4 +:10276000050000038010200005FDF7FC0559FDD58C +:102770000502000C420000000010D76C055DFA5EF7 +:10278000054DFD33600408004200100000020030D7 +:102790000535F83342007000000211720001F03973 +:1027A0004A03B8053000000259DC00064807B800AB +:1027B000480BB801420070000002117265007002FF +:1027C000480C70085838000790000408480070034F +:1027D000640C70004803B8030001F05A583808022E +:1027E000600011FE820404800000FF000502100357 +:1027F000400410008000058048007002480BB802B9 +:1028000059DC00064A03B805100000001C01F00066 +:102810004A03B805300000015838600158301009EB +:102820004807C8574803C8574833C8574A0060028A +:102830000000020064007000800811C00000003633 +:102840000001F0904833C8574807C8575830080A65 +:102850004C0400004D2C00004032580005FDFF34B0 +:102860005C0258005C0008004807C8570001F0925D +:1028700059E000178C00050C0502002859A8389271 +:10288000A01C459E0500002559A8208F59A8089333 +:1028900059A84894402450009004051F81782800CE +:1028A000801428C08004010A8010140050083000F1 +:1028B000801405060502000C8004080080244840AE +:1028C00005000012802805810500000580142942BA +:1028D0009004051F05FE07F705FDF7F34178080092 +:1028E00005FDF7EE59A81890800400C4800C1C0068 +:1028F000580C00038C0005000500000980204040B2 +:1029000005FE07EE8004080080280581050200020C +:1029100041780800480750931C01F000801428807B +:1029200080140506440010008004280080280585D6 +:10293000050200024178280048175093801C384057 +:10294000481F50920001F0A359A8188F8004110A63 +:102950009004051F80081C0381782000801020C08F +:10296000500C000080100D0005020006801005408C +:1029700059A80892440018008004080048075092A3 +:102980001C01F0004DF000004203E0005000000088 +:10299000835C04800000010405FE1FB65C03E000B8 +:1029A0001C01F00059DC00068C0005200500000920 +:1029B00000044E2959DC000682000500000060007A +:1029C00005000004820005800000600005FE07F994 +:1029D0001C01F000417818005838200540300000F4 +:1029E00080100580050000074010180058102000D6 +:1029F000801021C005FE07FA4803C8560501F011F2 +:102A00004833C8575830200049786000800C19C0FE +:102A100005020008801021C0050000034810700561 +:102A20000501F00849787005497870040501F00542 +:102A300048101800801021C005020002480C7004E4 +:102A40001C01F0004803C8564DC000004200700051 +:102A50000010D74D6400740049787001600380EE67 +:102A60006008080059C000074A03800660000001A2 +:102A700059C000074A0380066000000359C00007E0 +:102A80004A0380066000000559C000074A0380061B +:102A90006000000759C000074A0380066000000973 +:102AA00059C000074A0380066000000B4C04000078 +:102AB0000501F8175C0008004A038009F4F60000DD +:102AC00091C384208004084005FE07E7600380EE80 +:102AD0006443C822640370E80501F83C4A0370EEC1 +:102AE000001000004A0370EE000801024A0370E97A +:102AF000000004004A0370E900003A0F640370E824 +:102B0000640770E85C0380001C01F00059C00007F6 +:102B10004A038006E000000161000800497B80054F +:102B200059C000078004084005FE07FD4A038006DF +:102B30003000000159C000078C00050805FE07FEA3 +:102B400059C000074A038006B000000359C00007BF +:102B50004A038006B000000559C000074A038006FA +:102B6000B000000159C000074A038006B000000908 +:102B700059C000074A038006B000000759C000078B +:102B80004A038006B000000B59C000074A038006C4 +:102B90006000000159C000074A038006600000037E +:102BA00059C000074A0380066000000559C00007AD +:102BB0004A0380066000000759C000074A038006E8 +:102BC000E00000001C01F0004C5C00004178B800FF +:102BD0000501F8095C00B8001C01F0004803C85664 +:102BE0004C5C0000905CBD410501F8035C00B8003E +:102BF0001C01F0004803C8564DC000004C500000B6 +:102C00004C5800004C540000640370E8805CB9C06C +:102C100005000009641388074A0370F28000000071 +:102C200059B800EA8C0005100500000359B800E00F +:102C300005FDF7FC608380EE0501FCD659C0000756 +:102C40004A0380062000000059C000074A0380069E +:102C50008000000A59C000074A0380068000000B6C +:102C600059C000074A0380064000000183C0058068 +:102C70000000770005000003600380EE05FDF7EF1C +:102C8000608380EE6000081059C000078C00051EAC +:102C9000050000064A0380069000000180040840F9 +:102CA00005FE07FA05FDFA7C83C005800000770069 +:102CB00005000003600380EE05FDF7F34178A000F6 +:102CC000805CB9C00502000F6080B00091B8AC20F4 +:102CD000055DF9DC640770FB4A0370200010120DDB +:102CE00059A8004E820005000000FFFF4803702134 +:102CF0004A0370350010F5BF4A0370380010120403 +:102D0000640770FB6080B00091B8AC00055DF9CD40 +:102D10006100B000B1B8AC00055DF9CA805CB9C013 +:102D2000050200064A0370E4AAAAAAAA4A0370E5AB +:102D3000AAAAAAAA0501F0054A0370E4A2AA2A8257 +:102D40004A0370E5AAAAA2AA4A0370E6AAAAAAAAF6 +:102D5000640370FB4A0370E6AAAAAAAA608380EE05 +:102D60004A0380069000000059C000078C00051E31 +:102D700005FE0A49600380EE4A03800690000000C9 +:102D800059C000078C00051E05FE0A435C00A80020 +:102D90005C00B0005C00A0005C0380001C01F0003F +:102DA0004D3000004D2C00004D3400004D4000001F +:102DB0004CFC00004D3800004D3C00004D4400002C +:102DC0004D4C00004D4800004C5C00004C60000081 +:102DD0004C6400004D0400004CF400004CF800006E +:102DE0000001F8C85C01F0005C01E8005C0208002A +:102DF0005C00C8005C00C0005C00B8005C02900091 +:102E00005C0298005C0288005C0278005C02700042 +:102E10005C01F8005C0280005C0268005C02580003 +:102E20005C0260001C01F000493BC8570001F0F54E +:102E300083300500000000FF90000C8705FE1A1685 +:102E40000C01F0221C01F00082000D00C2000038CD +:102E500005FE0A0A05FDFA10000000000000004807 +:102E6000000000540000005300100BB100100BDBF9 +:102E700000100BC900100BF500100BBA00100BC3AB +:102E800000100BCC00100BF100100C4100100BB126 +:102E900000100C4300100BB100100BB100100C46D9 +:102EA00000100C4A00100C5B00100C6D00100BF6AB +:102EB00000100C7400100C7E00100BB100100BB150 +:102EC00000100BB105FDF9F400100BB900100CFF58 +:102ED00000100C1300100C3300100BB900100BB9CC +:102EE00000100BB905FDF9EC4803C8565930000431 +:102EF0008C00053E05020003615670000005F7DBFB +:102F00000539FAEB05FC07FD1C01F0004803C85623 +:102F10000501F8BC4000280041782000615A70008B +:102F20000005F7DB4803C856615E70000005F7DB5B +:102F30004803C8560531FB4E4A0370E50080000087 +:102F40004000000059B800E58C00052C0500000782 +:102F50004A0370E5008000004000000059B800E519 +:102F60008C00052C05FE09CC1C01F0004803C85656 +:102F700059325809812E59C00500001259300008F5 +:102F80008C00051A0502000B592C040C8C00051C42 +:102F9000050200034A026013FFFFFFFF59300004DF +:102FA0008C00053E05020005612270000005F7DB7C +:102FB000641E5A0A05FDF7F80539FABD05FC07FB42 +:102FC0001C01F0004803C8568330050000FFFFFFD6 +:102FD0000535F16C1C01F0004803C856813261C010 +:102FE00005FC09AD0549FE9D0500000B5932580945 +:102FF000592C020C8400055248025A0C0505F8C6EB +:10300000593000048C00053E05020004417A780026 +:103010000549FA011C01F0000539FAA505FC07FC79 +:103020001C01F0004C04000059B808EA90040D0798 +:1030300090040583050000044200000060000000C9 +:103040000501F8945C0008001C01F0000501F8D7A8 +:103050000500001559325809812E59C0050000128B +:10306000592C020882000500000000FF90000DA905 +:103070000502000D59300203900005830500000889 +:103080005930080884040D26480660080001F943F9 +:103090006503900D642370E51C01F0000539FA8486 +:1030A00005FC07F8420000000010D80A055DF81280 +:1030B0005988014C800000004803114C6503900DB5 +:1030C00042000000C00000000001F1384C5C00002C +:1030D0004C6000004C6400004200C8000010F5C6BF +:1030E0006000B8606014C0020531FC164A0370E449 +:1030F000020000005C00C8005C00C0005C00B8007A +:103100001C01F0004933C8570005F7BD4933C857C3 +:103110000501FBA81C01F00041300800800409C033 +:1031200005FE095D05FDF955420000000010D80AB2 +:103130000559FFF14933C857813261C005FC095672 +:103140000501F830400028000559FF550501F88EAB +:10315000050000065932680A593402008C00050E39 +:1031600059300416054E092E1C01F00042000000E3 +:103170000010D80A0559FFE04933C857813261C0B1 +:1031800005FC09450501F8800500000A0549FE33E4 +:103190000500000859325809592C020C84000544D6 +:1031A0008400054E48025A0C417A78000549F99A84 +:1031B0001C01F000485FC8575C0000004D7800001B +:1031C0004203E000500000006014B90005FDF13634 +:1031D0004933C857913004A005FE192F83300C00E5 +:1031E0000010D87F5004000080000000050010028D +:1031F000440008001C01F0004933C85705FDF7F6EC +:103200004807C85659B800EA8C00051005FC07FDB0 +:1032100059B800E04803C8571C01F0004803C856DD +:103220004200000010000000413008000501F019C4 +:103230008C0005100000013E4C0400000501F80858 +:103240005C000800901004880000113E4C0400004F +:1032500005FDFED45C0008000001F13E59B800E213 +:1032600059B820E28010058005FE07FD801021146A +:103270000501F00140101800800C190A9010051F7C +:10328000900C1D1F800C24809010251F1C01F00045 +:1032900082000500F000000082040D000FFFFFFF18 +:1032A00080040D404807C857420010000010D74E58 +:1032B000500800008000054005020004640F70E51E +:1032C0004A0370E400000300800000004400100086 +:1032D0006000100859B800EA8C0005100500000BCA +:1032E00005FDFFDF90100488050010074C04000066 +:1032F0004C08000005FDFEAB5C0010005C000800FF +:103300000501F01C59B800EA8C00051605020019E9 +:103310004A0370E400300000480770E1600011FECD +:10332000800810400500001059B808E48C040528F6 +:1033300005FE07FC420010000010D74E50080000A8 +:103340008000004005020004640B70E54A0370E44D +:103350000000020005FC18D0440010008C04052C6D +:103360001C01F00041F800005000000005FDF8CA03 +:103370008008104005FE07D841F80000500000000A +:1033800005FDF8C54D38000059300C07900405893B +:1033900005020004611E70000005FFDB800005804F +:1033A0005C0270001C01F0004C50000059A802396A +:1033B0008C00051805000006640B900D59C8A0206C +:1033C000640F900D59C808200501F0056407900DA1 +:1033D00059C8A020640B900D59C808208C50052EA8 +:1033E00005000002900409C082040D000000FFFFE8 +:1033F0000531F9435C00A0001C01F0004200000010 +:103400000010D8010559FF3C05FDFFE80500004FFD +:103410004933C85759300407900005800500004B18 +:1034200059C820216407900D59C8282182142D0005 +:103430000000FFFF59325809812E59C00500004392 +:10344000593000088C000536050200405932680AE0 +:103450000525F93F054E085A599C00198C00050CAA +:103460000502001B0525F93A050200195930081319 +:103470004807C857592C040C8C00051C0502001283 +:103480008400055C48025C0C592C0A0882040D007B +:10349000000000FFB00405880500000790040598AF +:1034A00005000005B00405A805000003B00405AA46 +:1034B0000502000559300013054DFF0580000D4041 +:1034C000480658064A0260137FFFFFFF5930000884 +:1034D0008C0005160502001D481660150525F91C0F +:1034E00005000004593004168C00051C050000047A +:1034F000599C00198C00050C050000140501FCEE18 +:10350000050200120501FA0B402800004802600F76 +:10351000050000054832600D502000004802600C94 +:103520004822600E593004168C00051C0502000468 +:10353000599C00198C00050C050208716503900D5B +:10354000642370E51C01F000420000000010D80A5E +:103550000559FEE95988014E800000004803114ECC +:103560006503900D42000000C00000000001F1382A +:103570004CF8000058F400008001F5400501F81EE9 +:10358000417818000501F9030502001344140800EE +:103590000501F826050000104004380060041800FA +:1035A000401420000501F8FB0502000B801C3800C8 +:1035B000501C0000440008000501F80F801C058025 +:1035C0000500000444103800801C384044143800C2 +:1035D0000501F8165C01F0001C01F00080F9F1C053 +:1035E0000502000358F412020501F002601C1000ED +:1035F0001C01F00080F9F1C00502000558F4040137 +:103600009000048280F404000501F00458F80401DD +:103610009000048280F80400500028008000000020 +:10362000500020001C01F00080F9F1C005020006E6 +:1036300058F404019000048205FC18174801EC01BD +:103640000501F00858F804019000048205FC1812E6 +:103650004801F40190000582050200020501F817F7 +:1036600058F40202800000404801EA0205FC080A02 +:10367000900005811C01F00082F40580FFFFFFFF30 +:103680000500000D58F40201820005800000DCB343 +:1036900005FE080158F400008001F5400500000512 +:1036A00058F80201820005800000DDB905FA0FFA22 +:1036B0000501F8091C01F0004D2C000040FA5800EB +:1036C00005FDFB9A4979E8004179F0005C02580059 +:1036D0001C01F00080F5E9C00500000880F9F1C088 +:1036E00005FE0FF64D2C000040F6580005FDFB8F3F +:1036F0004179E8005C0258001C01F0004CF4000025 +:103700000525F8930502002E5930080882040500AB +:10371000000030000502002A8C0405220500002A62 +:103720005930002B8001ED4005F80FDB8200058049 +:10373000FFFFFFFF0500002258F402018200058010 +:103740000000DCB305FA0FD458F40A028204050025 +:103750000000FFFE0500000305FDFF8658F40A0285 +:103760009004048F0502107A800408004805EA02DC +:10377000900405880500007D900404880500100869 +:1037800058F400008001ED4005F80FC358F4020121 +:10379000820005800000DDB905FA0FBF58F404016E +:1037A00090000C024805EC0180F404005930081424 +:1037B0004404000080000000457800005C01E8003F +:1037C0001C01F000600010204203E000B080000007 +:1037D0004203F8000C000000400000008008104088 +:1037E00005F80FAD05FFB7FB5930080884040D62DA +:1037F000480660084203F800080000004D2C000055 +:1038000005FDFB290500004E492E602B4A025A0196 +:103810000000DCB35930000980001D4005F80F9E00 +:10382000580C081348065803580C0208820005007B +:10383000000000FFB00005A8050000079000058209 +:10384000050000059000059805000003900005881C +:103850000502002B580C1801800C19C005F80F8EBA +:10386000580C0C0990040D03900405820502000316 +:10387000592C08030501F022580C2A0A580C000B99 +:1038800059301813800C0580050000219004058034 +:103890000500000E401400004C080000400C100011 +:1038A000417808000531FF64800409C005FA0F7AE9 +:1038B00090140C080531FF445C001000400418000F +:1038C000592C08030501F015901404084C08000059 +:1038D000400C1000417808000531FF57800409C0F2 +:1038E00005FA0F6D401408000531FF375C00100029 +:1038F00040041800592C08030501F008593018132A +:1039000040040000800C058005020004497A5A0238 +:1039100064125C010501F00764065A02641A5C0136 +:10392000497A5804400C000080040480480258057D +:10393000412DE8005C02580005FDF7895C02580043 +:103940004A02602BFFFFFFFF05FDF79D4D2C000095 +:1039500058F6580005FDFAF540F6580005FDFAF353 +:103960005C02580005FDF7F74D2C000005FDFACE6E +:1039700005FC07FA4A025A010000DDB9640A5C013D +:10398000492DE800412DE8005C02580005FDF78450 +:1039900005FDFF1390F40404800C040040000800AF +:1039A00050040000801005800500001290040C02F5 +:1039B0008008104005FE07FB80F9F1C00500000EED +:1039C00058F412029008148790F80402800C040046 +:1039D000400008005004000080100580050000052C +:1039E00090040C028008104005FE07FB0501F00260 +:1039F0001C01F0009000054105FDF7FE4CF40000AD +:103A00004CF800004001E800812E59C0050000215B +:103A1000592C0A0A800409C00502001E82F40580A0 +:103A2000FFFFFFFF0500001958F402018200058026 +:103A30000000DCB305FA0F1858F400008001F540CF +:103A40000500000558F80201820005800000DDB97C +:103A500005FA0F114178380058F440030501F83396 +:103A60000502000905FDFF1C497A602B5930080842 +:103A700084040D22480660085C01F0005C01E80047 +:103A80001C01F00005FDFF1464465A0A05FDF7F716 +:103A900005FDFEFA05FDF7F54CF400004CF80000BA +:103AA0004001E800900405810502001C82F40580B5 +:103AB000FFFFFFFF0500001758F402018200058098 +:103AC0000000DCB305FA0EF458F400008001F54064 +:103AD0000500000558F80201820005800000DDB9EC +:103AE00005FA0EED4178380058F440030501F80F4F +:103AF0000502000705FDFEF860040800497A602B06 +:103B00005C01F0005C01E8001C01F00005FDFEF224 +:103B10006044080005FDF7FA4C04000005FDFED7DF +:103B20005C00080005FDF7F64803C856401C20005D +:103B3000417818004C20000005FDFF965C00400015 +:103B400005020022402020006004180005FDFF91BE +:103B50000502001E05FDFEA24008280090F4340472 +:103B60005018200040100000801C05800500000453 +:103B70006004180005FDFF87050200149018340248 +:103B80008014284005FE07F780F9F1C00500000EFB +:103B900058F42A0290142C8790F834025018200010 +:103BA00040100000801C058005000004600418001F +:103BB00005FDFF78050200059018340280142840A6 +:103BC00005FE07F71C01F0009000054105FDF7FE1A +:103BD00005F9FEB1592C020E8C00050205FC07FD0B +:103BE000497A60140501FDE3412C7000593000084A +:103BF00084000556480260089004050F82000C00FE +:103C00000010120D500440008020400050200000A1 +:103C100080187C00583C2800583C2001583C100279 +:103C200058380A0B401870005818300B59303808B3 +:103C3000497A60150001F181592C040E8C000500B1 +:103C400005F80E95592C00114802601405FDF7E6A1 +:103C5000592C040C8C00050205FC07DE592C040DC0 +:103C60008000054005FC07DB90000C820500100E6B +:103C7000583800018000754005F80E875838020852 +:103C80009000050F820004000010120D500040004B +:103C900040040000800409C00500000490040C8565 +:103CA00005FE17F4802044005020000080387C007E +:103CB000583C2800583C2001583C1002592C0A0B53 +:103CC000592C301159303808497A6014497A6015F6 +:103CD0004816601048126011480A6012481A6013B2 +:103CE000800408404806600F0000018880204000E2 +:103CF00050201800800C19C00502000A5838000135 +:103D00008000754005F80E64583802089000050FD1 +:103D1000820004000010120D5000400050201800D6 +:103D2000483A600D480E600C4822600E0001F18890 +:103D30004803C856592C020C8C00051E05020016BB +:103D40005020000080306C00402400000C01F00185 +:103D500000100F6400100F6400100F6C00100F644F +:103D600000100F6400100F6400100F6400100F6447 +:103D700000100F6C00100F6400100F6C00100F6427 +:103D800000100F6400100F6C00100F6400100F641F +:103D900005F9FE418400051E48025A0C502000001F +:103DA00080306C0058343801481E60110501F0075E +:103DB000583418025834280058343801480E60121C +:103DC00048166010481E60110501F27B4933C85740 +:103DD0005931F80959301006800811C00500000952 +:103DE00041780800602800000531FE1380080102B8 +:103DF0000502000284001542800810404809FC0AB0 +:103E0000640A6006592C040D90000508050000089E +:103E10000501F834593002039000058405020003BF +:103E2000612270000005FFDB1C01F0004CFC00006B +:103E300058FC020882000500000000FFB000058861 +:103E400005000003900005A20502000958FC040CBF +:103E50008C0005000500000658FC080F8C040516B0 +:103E60000500001C58FC000B0501F00A58FC040C6E +:103E70008C0005120502001958FC0C0D8C04051667 +:103E8000050200035C01F8001C01F00058FC000E64 +:103E90004C0000004D2C000040FE5800593000132B +:103EA000054DFC8B5C02580080000D405C0000005A +:103EB00080040580050200075930000884000500D1 +:103EC00048026008612270005C01F8000005F7DB21 +:103ED0005C01F8001C01F00058FDF80D05FDF7E746 +:103EE0005C0000004C0000004803C8574933C85725 +:103EF00059B808EA90040D079004058005000021D8 +:103F0000900405830500001F593004074C00000091 +:103F100064026407610430004A0370E50000300069 +:103F20004200000050000000413008004C18000022 +:103F300005FDFCD85C0030000500000D6078000035 +:103F40008000004005FE07FF8018304005FE07F5A1 +:103F500042000000400000004130080005FDFCCD9B +:103F60005988014880000000480311484A0370E561 +:103F7000000020005C000000480264071C01F00003 +:103F800059300008840005004802600805FDF7FC70 +:103F900059C000074A0380063000000040000000BE +:103FA00059C000078C00050A05FE07FE1C01F00041 +:103FB0005C0000004C0000004803C8574DC00000E2 +:103FC000640370E8608380EE05FDFFF2600380EE1D +:103FD00005FDFFF00525FE09050200114A03889141 +:103FE0000000FFFF497B88804CE800006059D0004A +:103FF0000531FB87497B88926059D0000531FB84ED +:104000005C01D000420000000010D8550559FC3A70 +:104010000501F8105C0380000525F6E70501F81F8F +:104020004C0800004C140000420000000010D8565C +:104030000559FC310501F8075C0028005C00100000 +:1040400048178892480B88805C0380001C01F000B0 +:10405000496FC857916C0583050200084C080000A1 +:104060004C0C00006120110061FC19FF0519FDBA1C +:104070005C0018005C00100060F008000501FF26DD +:104080004A0388910000FFFF6503900D05FDFAD4F7 +:10409000640770E81C01F0005C0000004C000000A8 +:1040A0004803C85759C41080497B88804CE80000F9 +:1040B0006059D0004C0800000531FB555C00100031 +:1040C0005C01D00059C42892497B88920525FDCB1C +:1040D000050200021C01F0006180200459C418A4EC +:1040E000900C1D0F900C05800500000C59C418059C +:1040F000900C1D010502000B59C418A4900C1D0F53 +:10410000900C048705001003900C048C050010032C +:104110008010204005FE07F2497B88911C01F000C9 +:104120004C10000060642000640788050505FC9AB7 +:1041300059C41805900C1D01050000058010204091 +:1041400005FE07FA5C00200005FDF7F45C00200086 +:1041500005FDF7F04803C8561C01F0000010106779 +:1041600000101067001010670010107B001010671F +:104170000010106700101067001010670010106723 +:104180000010107B001010670010106800101067FE +:1041900000101067001010670010106705F9FD3E51 +:1041A000900405BB05FA0D3C592C020E8C0005004D +:1041B0000500008D592C1A0B9004050F8200040095 +:1041C0000010120D5000100050080000593020154A +:1041D0004802600C492E600D480A600E480E600FC0 +:1041E000481260145C0258001C01F0009004050F96 +:1041F000820004000010120D500010005008000052 +:10420000592C1A0B4802600C492E600D480A600EAA +:10421000480E600F497A601405FDF7F38C04050021 +:104220000502007182040D00000000800500006E90 +:104230000001F1990501FC4F843C7D4E0001F1A67F +:1042400059307804823C7D0001880080823C7D40AA +:10425000800000055930001382000500FFFF0000B8 +:1042600005000002843C7D6A593000155930101455 +:10427000800805800502000B800811C005020004BB +:104280008C3C050E050000550501F004592C120C5C +:104290008C08051E05020051843C7D4A0501F04F43 +:1042A000480BC8575930080482040500000080807C +:1042B000820005800000808005020016592C6001F4 +:1042C0005830040990000503900005810502001193 +:1042D00084040D1E48066004593020155930001C16 +:1042E000801014800500100B5830020A4178080035 +:1042F0000531FCD1800810C659301814800C048296 +:1043000080100580050200034812601405FDF7DBEC +:10431000420000000010D8020559FB7759302015E3 +:10432000593004164803C8578C0005140502000FC5 +:10433000599C18198C0C05120500000A592C0813F9 +:104340005930001780040C8005000005050010049A +:10435000800400008014048005001008053DF92A3F +:10436000900C1D410501F01F8400051448026416DD +:10437000481260174813C8574C3C00000501F94E1D +:104380005C007800050200175930500F592C020CC0 +:104390004803C8578C00051E05020004903C7D6050 +:1043A0005930400E0501F0048400051E48025A0CE5 +:1043B0000501F90150201800480E600C4832600DCC +:1043C0004822600E482A600F480FC8574833C85724 +:1043D0004823C857482BC85780000580483E6004D2 +:1043E0001C01F00005F9FCAC4933C8574D2C000006 +:1043F000599000058130058005FA0CA70549F99709 +:1044000005F80CA5593258094D3C00004D400000FC +:10441000593000044803C8574C0000000535FC34EF +:104420000535F93B5C0000008C0005160500001402 +:1044300082000D000100008005020004592C0A0EC4 +:104440008C0405060502000E592C00134803C857BA +:104450004802580B41780800600A80000525FA944C +:104460004A025C0A0000FFFF492FC8570001FB7891 +:10447000054DFB0E053DF8800501F015640A620349 +:10448000592C020C8C00051205020004592C020C58 +:104490008400054E48025A0C5930040790000586E6 +:1044A00005020009811800CA81C80C0058040939A6 +:1044B000592C001180040480592C081380040480B6 +:1044C0004802580F417A78000545FCD35C02800011 +:1044D0005C0278005C0258001C01F0004933C857A8 +:1044E0004D2C0000599000058130058005FA0C6ABA +:1044F0000549F95A05F80C6859325809592C020C2B +:104500008400054048025A0C05FDF7C0491BC857F6 +:104510004DD000004C580000417808008007A0CA28 +:1045200083D3A400000076004A03A00580000002A7 +:10453000050240044C04000000044E295C00080001 +:1045400059D0100682080500000060008200058036 +:1045500000006000050000078C08051E05FC07F53B +:1045600059D01006820805000000600005FE07F122 +:1045700091D3A420800408009004048505FC17EB67 +:104580005C00B0005C03A0001C01F0004803C856AA +:104590004DD00000417808008007A0CA83D3A40052 +:1045A000000076004A03A0058000000159D00006F3 +:1045B00091D3A420800408009004048505FC17FA18 +:1045C0005C03A0001C01F00059D000068C00053EE1 +:1045D0000500002E58D828034817C857801429C052 +:1045E0000500002658D8000A58D8080B58D8100CD7 +:1045F00058D8180D4800280C4804280D4808280EE3 +:10460000480C280F59D0000059D0080159D0100289 +:1046100059D0180359D02004480028104804281104 +:1046200048082812480C281348102814581400046D +:104630008C00050E0500001159D0000B59D0080C54 +:1046400059D0100D59D0180E4800281F48042820B2 +:1046500048082821480C282259D0000F59D00810AA +:1046600059D0101159D0181248002C23480428247E +:1046700048082825480C28266401B0064A03A005EE +:104680003000000059D000061C01F000420000007C +:104690000010D89F0559FA98600008EC580410A241 +:1046A000417808009008050F8C00050605020003FC +:1046B00081180580050000068004080080081108A4 +:1046C0009004058705FE07F805F9FBF34A039040BF +:1046D0000400000059C800408C00053205FE07FEAA +:1046E00059D0000D800000E059D0100C8208150050 +:1046F0000000FFFF80081540480B90284D2C00005B +:10470000593258090549F8D505F80BE359D020046A +:10471000592C020882001500000000FF9000050FD0 +:104720009000058205000003B00805BA05020004E8 +:10473000592C00118010248005F81BD75C0258000A +:104740009010250F9010258805FA0BD359C8004703 +:104750008C00053005FA0BD059D0000B4803902986 +:10476000800400D640001000800400DC80081400A3 +:10477000820815400400002F480B904759C8004795 +:104780008C00053205FE07FE6407904859C80048B2 +:104790008C00050005FE07FE6407904959C80049D2 +:1047A0008C00050005FE07FE64FF9047497B9040A2 +:1047B0001C01F0004803C856802040005020000033 +:1047C0008000054005000003802850401C01F000D7 +:1047D00058300001800005400500000C4802600DC3 +:1047E00040006000583002089000050F820004006D +:1047F0000010120D50004000802041C005F80BA6AB +:10480000802850401C01F000400050001C01F000C6 +:10481000000000090000000C0000000F0000001262 +:104820000000001500000000000000000000000F64 +:10483000000000000000000000000000001012084E +:104840000010120700000000001012080000000015 +:1048500000000000001012080010120700101204DF +:1048600000101208001012070000000000000000F5 +:10487000000000000000000000000000001012080E +:104880000000000000000000000000000000000028 +:10489000000000000010120800101208001012089A +:1048A00000000000001012080000000000000000DE +:1048B000000000004813C857492FC8574933C8574C +:1048C00048126014592C520B802851C00500007604 +:1048D000593000088C0005160500001E592C0208EE +:1048E00082001500000000FF9000050F9000058277 +:1048F00005000003B00805BA05020003592C001199 +:1049000080102480801021C0417810000500000E26 +:10491000592C60015830040958300A0A90000503E8 +:10492000900005800500000290040C08400400007F +:1049300040101000417808000531FB3F800409C099 +:10494000050200590501FAB90500004F0501F056AE +:10495000593000048C00050E0500000D0501FB46D2 +:1049600005020051592C6001420040000010120560 +:10497000583004098C0005100500000F5830540D04 +:1049800042004000001012060501F00B412C6000AF +:104990000501F84705000008902405820502000380 +:1049A00058300011801024805020000080004540C5 +:1049B0000500003D50200000800005400500000B70 +:1049C0008030140058080002801024800500101D5B +:1049D000801021C0050000098028504005000032E9 +:1049E0008020400005FDF7F458300001800065404C +:1049F0000500002D05FDF7E7802850400500002A3E +:104A00008020400050200000800005400502000981 +:104A1000583000018000654005000023583002082E +:104A200090004D0F822444000010120D50204000D1 +:104A3000592C020C8400051E48025A0C0501F01284 +:104A40008010208080102000481260124813C85740 +:104A500058080802401000008004248005F81B0E4E +:104A600058080000580818018010240048126010EF +:104A7000480E60114813C857592C020C8400055E7B +:104A800048025A0C4833C8574823C857482BC857C0 +:104A90004832600D4822600E482A600F8000058071 +:104AA0000501F002900005411C01F0005830020899 +:104AB00090004D0F822444000010120D820005006A +:104AC000000000FF900005A90502001650204000DC +:104AD000592C040D8000054005F80AEF90000C8267 +:104AE0000500100E583000018000654005F80AEA04 +:104AF000583002089000050F820004000010120DCB +:104B00005000400040040000800409C0050000057A +:104B100090040C8505FE17F4802044008000058079 +:104B20001C01F0004C5C000059E4B800485FC85715 +:104B3000905C051F05FA0AD8825C0500000000E0C1 +:104B400005F80AD58C5C050E050208078C5C050C7F +:104B5000050208098C5C050A050209005C00B80022 +:104B60001C01F0004803C8564A03C800000000803A +:104B70001C01F0004D2C0000420078000010D8A26B +:104B8000583C0003583C08048004054005000037E9 +:104B9000420008000010D74B50065800592C000264 +:104BA000900005800500003159E4005059E4085296 +:104BB0008004048082000500FFFFFC000502000560 +:104BC00059E4005059E4085180040800800404802E +:104BD00082000C800000040059E40050800414009E +:104BE000480BC857500800005808080180040540C9 +:104BF0000500001E480BC857480A5803583C1009C6 +:104C0000583C000A8008058005020005583C000059 +:104C100084000550480078004178100082080400A4 +:104C2000000010004803C85748007809583C0003AA +:104C300080081400480BC857583C08046402580107 +:104C40004A0258090010131D480A58074806580818 +:104C500059E40053800000C448025805412C10005C +:104C6000492FC8570001F8215C0258006503C800AD +:104C70001C01F000420078000010D74B503C780037 +:104C80004A00780200000100420078000010D8A21B +:104C9000583C00008400055248007800583C100C35 +:104CA000480BC857800810004808780C583C180B6F +:104CB000800C19C0050000139008050305020011BF +:104CC000583C00074803C857583C20084813C857A9 +:104CD000801020008010058005020002417820002D +:104CE00048107808400C0000800805800502000587 +:104CF0004978780C6004180060A011000519FA9634 +:104D00001C01F000420078000010D8A24D2C0000D9 +:104D10004C5C00004C6000004030B800583CC000C3 +:104D20004A00B80200000100583C2015801008001D +:104D3000583C001380040580050200038460C554BC +:104D400041780800480478158C60050205F80A527D +:104D50008460C50248607800420000000010D74C13 +:104D6000500000008030058005FA0A4B583C081EB0 +:104D7000800409C005000008583C001F800405801D +:104D8000050200054978781F6008180060A011002E +:104D90000519FA718C600508050E0BEE5C00C00069 +:104DA0005C00B8005C0258001C01F0004D2C0000B3 +:104DB0004C5C00004C6000004C64000042000800A5 +:104DC0000010D74C500658004A02580900101341F1 +:104DD0006000C0024200B8000010D8A2585CC800B1 +:104DE0004867C8578D0C052A0502000F40EE580091 +:104DF000492FC8574A02580200000100585C0014AD +:104E000080000000900005034800B8144A025809C9 +:104E100000102F54585CC0178260C500000000FFCE +:104E200005F80A1D4C58000061E8B0018058B040F8 +:104E300005F80A198C6405020500000B8D0C052A83 +:104E400005FA0A154C5800004C6000000001F9B644 +:104E5000585CC8005C00C0005C00B000485BC857EC +:104E600005FDF7F35C00B0004200B8000010D8A2C6 +:104E70008464CD424864B800592C0002900005803B +:104E800005F80A05585C100D585C001880081400DD +:104E9000806004004800B818585C0014800001C00D +:104EA000050200024978B8188060C0C4492FC8576D +:104EB000480BC8574863C857480A5803585C001D38 +:104EC0004803C857585C180E800C1400480A58074D +:104ED0004808B81B806004004800B81D4803C85744 +:104EE000800C04004800B819585C08104807C857DF +:104EF0004803C85780040D80050200044978B81D96 +:104F0000585C080E4804B819585C080E80040580E7 +:104F100082000500000003FF05020004585C001F2A +:104F2000800000004800B81F585C080F4806580869 +:104F30004807C8576402580148625805412C1000C0 +:104F40000001F8215C00C8005C00C0005C00B800F3 +:104F50005C0258001C01F0006483C8000559F85F2A +:104F600059E400001C01F00060001020800810408F +:104F7000050000220559F98305FC07FD5980080149 +:104F800082040D00FFF006FF82040D40000FF900BF +:104F90004807000159E000028C00051E05020016BA +:104FA000605C00F4500010008208150003F000005F +:104FB00082080580008000000500000F619010004D +:104FC000800810400500000C598008818C040514ED +:104FD00005FC07FC820405000000018082000580BA +:104FE0000000018005020004598000808400054013 +:104FF0004803008090000541640300001C01F0009C +:105000000559F960598008024807C8578C040520E3 +:105010000500000764030000601010205008000025 +:105020008400054C440010000501F00082040500D6 +:105030000000108405FA09988C040510050000068C +:10504000420000000010D8A00559F82B4A030002C6 +:10505000000001008C0405220500002D59E000022B +:105060008C00051E0502002A601C20F65010280046 +:105070004817C857605C00F45000300082180500E3 +:10508000000F00004000380040144000821C0580E2 +:105090000002000005020002902041C08C18050C9F +:1050A00005000002842041C082204500000000FF6E +:1050B000902044018C2005100500000542000000EE +:1050C0000010D8A10559F80C61FC400142001800FD +:1050D000FFFFFF008C18050C05000003840C19C0AD +:1050E000842041C0821C05800002000005020003EC +:1050F000900C19C0902041C0800C0505802005400F +:10510000440020004A030002000200006403000083 +:105110001C01F0004D2C00006400700082040D00A2 +:1051200043200F8005FA095C583800084803C00F77 +:10513000583A5807592C0801800409C00500000E90 +:10514000592C00004800080058380006812C0580C2 +:10515000050200024804700648047007600420003D +:105160000555FB5805F8094C05F9FCF05C025800A0 +:1051700005F9F58C4A0370E4000030000549FAB4E3 +:10518000583A5807592C000048007007800001C0A9 +:10519000050200024978700605F9FCE45C0258003B +:1051A00042007000000211720001F0364803C85638 +:1051B0004C3C00004D2C00004D3000005830000ADF +:1051C00080025D4005F80934592E600C4C30000017 +:1051D0000549FAB45C00600005F8092F5830000258 +:1051E00082000580000001000502000D5930780D95 +:1051F000583C000180007D400500000B4802600D16 +:105200009000040248006003583C0000480060051C +:10521000403010000001F8210501F008640A5A0A24 +:10522000492FC8574C3000000001FB785C02580041 +:1052300005F9FCBE0005FFBD5C0260005C02580081 +:105240005C0078001C01F0004803C8564D2C00009B +:105250004D30000042007000000211725838080002 +:105260009004058205020010583860015830000A89 +:10527000812C05800502000C59E000048C00050E0D +:1052800005FC07FE59DC00064803C8574A03B80569 +:10529000200000008C00053E05FC07F8640070004B +:1052A0000501F0185838600540305000803061C06A +:1052B00005F808F95830000A812C05800500000423 +:1052C000403050005830600005FDF7F940280000DC +:1052D000803005805830000005000006480050006E +:1052E000800001C005020007482870040501F00590 +:1052F000800001C0050200024800700448007005EB +:105300004032580005F9FC895C0260005C025800DC +:105310000001F03059300025480258145930002659 +:105320004802581559300A238C04050C0502000761 +:105330005930002059300A21800408E080040540DB +:105340005930081F0501F006593008205930022154 +:10535000800408E080040D405930001F9C0001C00B +:105360009C0409C048025816480658171C01F00052 +:10537000592C00018000354005F808C758180A0864 +:1053800082040D00000000FFB004058A05FA08C27F +:10539000592C1015592C1A1658182209592C2C164C +:1053A000592C0017800000E080142D40592C001764 +:1053B00080003920581844095818020A8C20050E1C +:1053C00005FA08B5800048E080244D405818000BCD +:1053D0004802602C8C20050C05020009901C51C06D +:1053E000841401C082003D000000FFFF80140120F2 +:1053F000802805409C0029C00501F0039C1429C0A9 +:10540000841C39C0480A601F480E6020481264217D +:105410004812622148166022481E642348226223F3 +:10542000482660241C01F0004C5C0000592C00014F +:105430008000654005F8089858300A0882040D007D +:10544000000000FFB004058A05FA089358302C09C3 +:105450008C1405065830020905000002800804007B +:1054600048026421480262215830020A800008E0A4 +:1054700080040540480260248C14050A05020004DB +:10548000592C0015800804004802601F5830320A69 +:105490008C1405100502000C90142D039014058245 +:1054A0000500000E90140581050000074008080063 +:1054B00090180408400010000531F8434004200013 +:1054C0000501F00640080800401810004004B8002C +:1054D0000531F83D400420004C10000005FDFD742E +:1054E00005F8086D5C002000502000008000454059 +:1054F0000500005E58300A0882040D00000000FF1D +:10550000B004058A050200068020400058300409D6 +:105510008C00051005000002802040005020000093 +:10552000800005400500000B803014005808000280 +:10553000801024800500101D801021C00500000986 +:1055400080285040050000498020400005FDF7F408 +:1055500058300001800065400500004405FDF7DF7C +:10556000802850400500004180204000502000006D +:1055700080000540050200095830000180006540A8 +:105580000500003A5830020890004D0F8224440074 +:105590000010120D50204000592C020C8400051EF2 +:1055A00048025A0C0501F010801020808010200065 +:1055B000481260124813C8575808080240100000EB +:1055C0008004248005F81834580800008010240056 +:1055D000481260104813C857592C020C8400055E0D +:1055E00048025A0C593000088400052C4802600813 +:1055F000592C1001580804099000050390000581FA +:1056000005020012599C00198C00050C0502000FC0 +:105610009028058105020003593008120501F007A2 +:10562000802808405808020A40001000052DFFE6B7 +:105630005930001280040C004806601359300008ED +:105640008400056C48026008592C100158080409B0 +:105650008C000510050000030501F8220500000379 +:10566000800005800501F002900005415C00B80053 +:105670001C01F000592C6801803469C00500001736 +:105680005834780558347409903805038C3805105F +:105690000C0200060C01F001001015B1001015AE4F +:1056A000001015B4001015B6001015B6001015B690 +:1056B000001015B1001015B1803C00C68010240008 +:1056C0000501F004803C00C6801024800500100312 +:1056D000800005801C01F000900005411C01F000D5 +:1056E0004C0400004C0800004C600000592C0208DB +:1056F00082000500000000FFB00005A805000007BB +:105700009000058205000005900005980500000343 +:105710009000058805020037592C6801803469C063 +:10572000050000345834020882000500000000FF24 +:10573000B000058A0502002F5834740D592CC20B95 +:10574000403800008060C4804200780000101206DB +:105750000501F82A05FE07FF40607000503C00007C +:1057600080341400805C00C6580880028040848029 +:105770000500101B0500001A5808880080448C00A2 +:10578000580890019048944059300827800409C077 +:10579000050000184844080D4848080E4840080F06 +:1057A0004978080C80380040050000030502081302 +:1057B0004838080C593008274834080A483C080B78 +:1057C000503C000048000809900005415C00C00002 +:1057D0005C0010005C0008001C01F000580880020A +:1057E00080400106805CBC800501F80405FE07DCF2 +:1057F0008000058005FDF7F64803C856803C780018 +:10580000503C0000800005400500000380387040D7 +:105810001C01F0005834000180006D400500000AB2 +:10582000583402089000050F820004000010120D89 +:1058300050007800803C79C005F40F9780387040A4 +:105840001C01F000400070001C01F000802850C6D0 +:1058500059306827583400095834100A5834180B46 +:105860005834200C5834481080087C00583C000202 +:10587000802844800500100F801020400500001F84 +:1058800080244C800500001D40205000800C180032 +:10589000500C000080000D4005FE07F45808100170 +:1058A00042001800001012046024000005FDF7EF0C +:1058B00080204080802040004810680C583C000048 +:1058C00080282C00583C300190183440500C0800BF +:1058D000480468094808680A480C680B4810680CB6 +:1058E0004814680D4818680E4820680F482468104E +:1058F000800005801C01F000900005411C01F000B3 +:105900004D2C00000001F81705F40F63412C100026 +:105910005C0258004A001009000201CB9008040AFA +:10592000480010030001F1C14D2C00004032580026 +:1059300005F9FAFF5C0258001C01F0004807C8573F +:1059400005F5FF55420010000010F9744A001003DD +:105950000010F97E4A001009000201CB4978100AB4 +:105960001C01F00059E000178C0005001C01F0003C +:105970000001F9D44D0400004C6400004C600000AC +:1059800040120800400CC8004014C0000501F0217E +:105990004803C856420008004FFFFFFF46000800BA +:1059A00000002BAD500400000501F00059E0001785 +:1059B0008C00050C0502000559A808905804000346 +:1059C0008C0005000500000D4C08000059A8108F40 +:1059D0005008000084000542440010005C001000E4 +:1059E00059E000178C00050C05FE07FE5804000363 +:1059F0008C00050005FE07FB4D0400004C64000010 +:105A00004C6000005804C800580608015804C00241 +:105A10004A03B8052000000059DC00064A03B80517 +:105A20003000000059DC00064A03B8057000000091 +:105A300059DC00064867B8004907B8016413B8028A +:105A4000601C00E2446000004A03B805300000001A +:105A500059DC00064A03B8051000000359DC0006B3 +:105A60008C00053E05FC07FE4A03B8052000000037 +:105A700059DC00065C00C0005C00C8005C02080045 +:105A80001C01F0004803C8560555FEC70001F1DDB2 +:105A90004803C85660F008004807900059C8000045 +:105AA0008004050005FE07FE497B90054A039035FA +:105AB0000088040059A8002B800000E04803900EE5 +:105AC00064C390114A03900F00110E404A039010D6 +:105AD00000110E4065DB90154A03900300001F077C +:105AE0006503900D4A039000000016001C01F000B1 +:105AF00059C800078C0005080502088559C8080028 +:105B00008C04051605020003900005060C01F00444 +:105B10004807C8579000050E0C01F001001016D878 +:105B2000001016D700106942001016D7001016DAC0 +:105B3000001016D7001016DA001016DA001016D76B +:105B4000001016D7001016D7001016D7001016DA5E +:105B5000001016D7001016DA001016D705F5FECE85 +:105B60004803C8571C01F00059C8080C4807C8571B +:105B70008204050000006000050000030555FD1AC1 +:105B80000501F00582040500007F00000500000407 +:105B90000555FCE70531FF3C0501F02C9004051488 +:105BA0000500000D0555FD3F916C058305000008BB +:105BB0000521FF12050000030519FFCC0501F004C3 +:105BC000640750326006D8000521FE8F0501F820D9 +:105BD0000501F01E8204050000001C000500000401 +:105BE0000555FD0F0501F81A0501F018820405009E +:105BF00000000140050000040555FD1C0501F814D6 +:105C00000501F01282040500000080000500000F6D +:105C10000521FEFA0500000B59C400A49000050FF1 +:105C20009000058B050200074C0400000519FFC613 +:105C3000607800008000004005FE07FF5C0008005F +:105C40000555FCE20501F8021C01F0004C0C0000B7 +:105C50004C1000004C14000005FDF8D65C00280034 +:105C60005C0020005C0018001C01F0004803C856CE +:105C700059A8080459A8003E82000500FFFFF00063 +:105C8000800405404803503E59A8004282000500A8 +:105C9000FFFFF000800405404803504259A8004629 +:105CA00082000500FFFFF0008004054048035046D5 +:105CB0004807888282040480000002040502100460 +:105CC0004200100000240F040501F00F820404803C +:105CD0000000040405021004420010000044080003 +:105CE0000501F00982040480000008040502100484 +:105CF00042001000008404100501F003420010006F +:105D000000880400480B90350501F33B59C808157D +:105D100005F5FE5A4807C857B0040D3C48079000E7 +:105D200059C800008004050005FE07FE8C04050428 +:105D30000500001B59C800354803903559A800B12B +:105D400080000540050000164C300000600060DE59 +:105D50005830080182040D00FFC000008004090CC7 +:105D600058300000900005414800600058300000A5 +:105D70008C00050005FE07FE82000500FC00FFFF09 +:105D8000800405408400057448006000583000001D +:105D90008C00053405FE07FE5C00600059C8000059 +:105DA0008200054000001200480390001C01F00032 +:105DB000420060007FF4C000583000038C000502F0 +:105DC0000502000A600060DE646860005830000070 +:105DD0008C00050405FE07FE641C600259A800B192 +:105DE00084000540480350B11C01F000600060DEF3 +:105DF000583008019004050C05F60E2760F00800E5 +:105E000005FDF7C54853C857497B8801850E1D1A03 +:105E10005050B000485BC8578058B1C00500089D7D +:105E200082580480000008040502189A60040000EB +:105E3000610008010501FD63405820008050A0006A +:105E400050500000801024009058B4838050A0006F +:105E5000485BC8574853C857505010008008240466 +:105E60006010180082080500000000FF6100082192 +:105E70000501FD5480081110800C184005FE07FA3A +:105E80008050A0008058B04005FE07F44803C85673 +:105E900041780000610008010501FD4A50501000E2 +:105EA000800824040502087B4803C8561C01F00042 +:105EB0004A035066AABBCCDD600C00000501FCA0C3 +:105EC000600C00000501FCCE603008680501FD385B +:105ED00090040541603008680501FD3A6048088873 +:105EE0000501FD3390040548604808880501FD352B +:105EF000601808180501FD2E82040540000000808E +:105F0000601808180501FD2F604808280501FD28C4 +:105F100090040541604808280501FD2A59A800742D +:105F20008C00050E050000064803C85782000500D6 +:105F30000000FF00800001100501F00260E0000198 +:105F4000603008000501FD1F603809400501FD189B +:105F500082040500FFFFFF0F0501FEE405020003B8 +:105F6000900005400501F00290000550603809409E +:105F70000501FD14603809380501FD0D9004055038 +:105F8000603809380501FD0F608000006100085984 +:105F90000501FD0C61000000610008510501FD09CB +:105FA00060300000618008610501FD06608400002A +:105FB000618008210501FD0359C4000184000574B6 +:105FC00048038801850E1D5A616020046029D000B5 +:105FD0000501F83C4813C857610008490501FCF465 +:105FE0004807C85782041500000000C082081580C9 +:105FF000000000C0050000048010204005000825B6 +:1060000005FDF7F34803C85660C820006029D0009A +:106010000501F82C603808780501FCE590040D01B5 +:1060200005020004801020400500081A05FDF7F85D +:106030004803C856617020016029D000052DFB740B +:10604000603808180501FCDA90040D100502000400 +:106050008010204005F40D9005FDF7F84803C85660 +:1060600060A020006029D000052DFB69603808B8C9 +:106070000501FCCF90040D040500000480102040B1 +:1060800005F40D8505FDF7F84803C8561C01F0001E +:106090004803C8564A03C020000040104A03C011FC +:1060A00040100011050060004203E00040000000C5 +:1060B0004203E000300000014803C8560501F0002B +:1060C00061201801800C184005FE07FF80E9D040D0 +:1060D00005FE07FC1C01F0004803C856497B88A94F +:1060E00064078807497B880759C400054803880569 +:1060F0000501FDCF0501FE120501F9E54A0388A758 +:106100000000F7F74A0388A38000403C4A0388AEAA +:10611000000061A859C4000182000540185FE063D7 +:10612000480388014A038810004101084A03881186 +:10613000005206084A038812004503204A038813C8 +:10614000004404054A03881C004132E14A03885098 +:106150008000010864238860642388704A038851A2 +:10616000800005084A038861008000004A038871A6 +:10617000008000004A038852800007084A038862B2 +:10618000008000004A038872008000004A038853A0 +:1061900080000608497B88634A03887300800000FA +:1061A0004A038882000008404A0388A5000000FED8 +:1061B000647B88A64A0388B0000075304A038802D1 +:1061C0000000FFFF4A038806C0E80B001C01F00036 +:1061D000850E1D4E1C01F00059C4080559C4000667 +:1061E00080040D0005F40D2C8204050000E80B006E +:1061F000050200048C04053E050208C40501F005F3 +:106200008204050000880B0005F60D1C05F5FD2233 +:106210004C5C00004C60000059C4B80559C410A380 +:1062200084081518825C05000400000005020D4E6C +:1062300059C400068C000500050000038C5C0500B5 +:106240000502007F485FC8570521FD6C0500001A54 +:1062500059C4000582000500000000C0050000428E +:106260000521FD780502004059C4000682000500A2 +:10627000000000F0050200044A038805000000C089 +:106280000501F03959A8003384000506480350334E +:1062900042006000FF203FFF420068004000000015 +:1062A0000519FF66604008004200100000104F8290 +:1062B000052DFACE8C5C05340502002B4A035031C3 +:1062C0000000AAAA59C400058C00050C0502000FA5 +:1062D0008C00050E050200158C00050A0502001B46 +:1062E0008C0005080500000859A8002F90000589BA +:1062F00005020005420000000010D7670555FB7E2F +:106300000521FEEF0501F04C420000000010D7759A +:106310000555FB7941781800600420000501FD0651 +:10632000640350320501F00E420000000010D776E1 +:106330000555FB7141781800600820000501FCFE3E +:10634000640B50320501F006420000000010D769CE +:106350000555FB690521FE800501F0370521FF2C5D +:106360000501F0358C5C05340500003159C4000589 +:106370008C00053A05020004420000000010D75DC1 +:106380000555FB5D4A038805200000000521FD1B23 +:106390000502000E4A0388050400000059C418A82D +:1063A000600020000501FCE40521FD200502000538 +:1063B000640750326006D8000521FC930501F050B7 +:1063C000417800000521FCE60501FCD44000C00036 +:1063D0000501FC1B916C15840502000B8C5C05000B +:1063E000050200138D0C05060502000459C410A314 +:1063F00090081548480B88A359C410068408154016 +:10640000480B88064A038805040000006006D8008F +:10641000497B502E8D0C0518050200044803C85610 +:10642000850E1D060519FDCD0519F86A8C5C053C25 +:106430000502084F8C5C05000500002E420000009C +:106440000010D87A0555FB2C640788056148B00612 +:106450006191D0004C580000052DFA6D0501FB96A6 +:106460005C00B000050000048058B04005FE07F94C +:106470000501F003640788050501F01E59C40006F4 +:1064800084000500480388060531FD25497B888086 +:106490000501FD9605000008600008180501FBC411 +:1064A0008C04050005000004601420000521FF177E +:1064B0000501F003601820000521FF1459C400A352 +:1064C00082000500FCF8FFFF480388A3640B509C82 +:1064D0006012D8006407880505F5FE8B0501FB0FE7 +:1064E000497B505864075065497B509605F5FA93EF +:1064F000825CBD00BBFFFFFE485F88055C00C000FA +:106500005C00B8001C01F0004D18000059C41004D4 +:10651000480BC8578C080500050000064803C856FC +:106520004A01A8E5000008000531FDAA0501F007B1 +:1065300082080500000001F0050000044803C85669 +:106540000531FECF05320DC24A03880580000000E8 +:106550005C0230001C01F00059C408A34807C8576A +:1065600084040D40480788A31C01F0004D900000F2 +:106570004DD000004DA400004D1400004CD8000088 +:106580004A03880540000000420000000010D76F59 +:106590000555FAD90531F9A159C410048C08050034 +:1065A00005000040598E600B4A01A8E50000080074 +:1065B000813261C00500002459300403900005B207 +:1065C000050200215930001E480388334A0388071A +:1065D000000180006009D000052DFA0D497B880775 +:1065E0006009D000052DFA0A0531FC1A60C1D0EA15 +:1065F000052DFA0759C408A490040D0F90040D80CE +:106600000500000442000000002000000501FB72AC +:106610000531F8DC593000098000054005F40C1EF6 +:10662000400258004A025A08000001035931D82D8F +:1066300058EF400B58EC00090801F8000005FFBDB9 +:106640000501F032598C000D82001C80000000C84A +:106650000502100C800000004803180D59C400A466 +:106660009000050F90000582050200044200000022 +:10667000002000000501FB58052DF98D0501F023D0 +:106680004933C8570531FBF3813261C00500001F53 +:1066900064066203609E70000005FFDB0501F01BCD +:1066A0000531FE77050000190531FE9D052DF9A87D +:1066B00059926005813261C00500000D612018010A +:1066C0000531FE660502000A59C400A49000050FBA +:1066D0009000058205020004420000000020000036 +:1066E0000501FB3D052DF9780501F0084933C85730 +:1066F0000531FB7F813261C005000004613E7000FE +:10670000640E62030005FFDB5C01B0005C02280040 +:106710005C0348005C03A0005C0320000531F130FD +:10672000810C0D808C04050E050000514803C857EC +:106730008D0C050E05000020850E1D0E497B509C1A +:10674000420000000010D7560555FA6B0555FB179F +:106750000001FEFF6044110059C4000182000500E1 +:106760000001800090001D800500000B82001D804C +:10677000000080000500000A82001D80000100006A +:106780000500000982001D8000018000050000084E +:1067900005F5FBC1600018000501F0066004180053 +:1067A0000501F004600C18000501F00260101800EB +:1067B0000515F3E9850E1D4E59A8089C800409C0F3 +:1067C0000502000659C4000D8C00052005000003D9 +:1067D000600C18000501F002400418000555FADBB2 +:1067E0004C0C0000417820000501FCC00500000FA2 +:1067F0000501FCA5600420000502000C0501FCADAC +:1068000005020006600820000501F8AC050200073B +:10681000601020000501F005600C20000501F895CE +:1068200005020002601420005C001800604811009E +:106830000515FBC905F5FDB40555FB3F0502000C28 +:106840004D20000061FE40010501F8505C0240004F +:106850004D4000004D3C000060A2800060227800A6 +:106860000501FFC55C0278005C0280001C01F0009D +:106870004803C85782000400001027595000080040 +:1068800082040D00000000FF1C01F0004803C85600 +:106890004C5800006040B000497B88AC497B88AD13 +:1068A0008058B04005FE07FE5C00B0001C01F000FF +:1068B0004807C85780041908480F88AC9004250F72 +:1068C000821024000010C57C5010200059C400AD77 +:1068D00080100540480F88AC480388AD0555FB384B +:1068E000050000024807502D1C01F0004807C8575A +:1068F00080041908480F88AC9004250F82102400EA +:106900000010C57C5010200059C400AD8010150047 +:106910000500000480100580480F88AC480388AD4E +:106920001C01F0004803C8574C0800004C0400004C +:106930004C00000059C408924807C85780041580CD +:106940000500000E800414800502100680081080E7 +:10695000800810004008B000600400040501F00346 +:106960004008B00060400004480388868058B0406A +:1069700005FE07FE497B88865C0000005C0008007D +:106980005C0010001C01F0004803C8568D0C052067 +:106990000500000360BA80000551F2101C01F000F0 +:1069A00059A800B180000540050000080521FB93AF +:1069B000602808000502000E600008DE580400018F +:1069C0008000092C0501F00A59C8083582040D0021 +:1069D00000001F00800409108004080059A800B1BD +:1069E0008000054005000002616808044807C85798 +:1069F0001C01F00059A800B1800005400500001CF2 +:106A0000599C1A0160A80801820C0480000002044D +:106A10000500100A61680800820C0480000004046C +:106A20000500100660B80800820C0480000008040D +:106A30000500100260B408004C300000600060DE09 +:106A40005830100082081500FC00FFFF800400E0B1 +:106A5000800805408400057448006000583000003C +:106A60008C00053405FE07FE5C0060001C01F00090 +:106A70004C00000059A800594803C85790000580F1 +:106A80005C0000001C01F0004C00000059A80059F7 +:106A90004803C857900005815C0000001C01F0000D +:106AA0004C00000059A800594803C85790000583BE +:106AB0005C0000001C01F0004C00000059A80059C7 +:106AC0004803C857900005845C0000001C01F000DA +:106AD0004C00000059A80059900005825C0000009D +:106AE0001C01F0004C0000004C0400004C080000A9 +:106AF0004C38000059A8005C90000C8705F61AE697 +:106B00000C01F8065C0070005C0010005C000800DE +:106B10005C0000001C01F00000101ACD00101ADA11 +:106B200000101AE700101AE800101B0600101B07DF +:106B300000101B084803C8566403505E600C000038 +:106B40000501F9AF600C00000501F97D0501FA06A9 +:106B50004803C856641B505C607408004200100073 +:106B600000101B09052DF087497B506164DB5056EE +:106B700064AB50554803C8566407505E600C000073 +:106B80000501F96F4803C856641B505C6074080027 +:106B90004200100000101B09052DF07A05F5FABE21 +:106BA00064DB50564803C856640F505E600008000E +:106BB0000501F9FF90040D1C9004059C05000008D8 +:106BC000900405980500000890040594050000084D +:106BD000900405900500000805F5FAAF6004000078 +:106BE0000501F006600000000501F00460080000E7 +:106BF0000501F002600C00000501F951497B50626B +:106C00004803C856641B505C6074080042001000C2 +:106C100000101B09052DF05B05F5FA9F05F5FA9E9E +:106C20001C01F0004C0000004C0400004C08000067 +:106C30004C38000059A8005E90000C8705F61A96A3 +:106C40000C01F8065C0070005C0010005C0008009D +:106C50005C0000001C01F00000101B1D00101B391F +:106C600000101B8A00101B9F00101BB300101BBCE0 +:106C700000101BBD0501F9900502001859A8106409 +:106C8000600008000501F9CA90040D1C9004059CE1 +:106C9000050000089004059805000008900405947C +:106CA00005000008900405900500000805F5FA7A33 +:106CB000840815400501F006840815420501F0041A +:106CC000840815440501F00284081546480B5064F9 +:106CD0006407505C0501F0030501F8BE05FDFF9D4A +:106CE0001C01F0000501F8850500004F0501F9724F +:106CF00005020029600008000501F9AD59C4100122 +:106D0000820815000001800090040D1C900405907D +:106D100005000042900405940500000690040598C3 +:106D20000500000A9004059C0500000A05F5FA5AC2 +:106D30009008058005000039820805800000800069 +:106D4000050000360501F0039008058005000033BA +:106D5000600008000501F99659A8006490040D1C14 +:106D6000900415940500000690041598050000068F +:106D70009004159C0500000605F60A4784000544AA +:106D80000501F004840005420501F002840005407D +:106D90004803506459A80061800000004803506116 +:106DA00090000585050000030501F8590501F01D57 +:106DB000497B506159C4080182040D000001800024 +:106DC000900405800500000B82040580000080000F +:106DD0000500000A8204058000010000050000098A +:106DE00082040580000180000500000805F5FA2AEC +:106DF000600400000501F006600000000501F004D9 +:106E0000600800000501F002600C00000501F8FCBC +:106E1000640B505E0501F003640F505C0501F00245 +:106E200005FDFF591C01F0000501F83405000013B1 +:106E300059A8005580000040480350550501F91E2F +:106E400005020004640F505C497B505D0501F00BA6 +:106E500059A8005580000540050200030501F8917E +:106E60000501F0020501F8410501F829497B50614F +:106E70006407505E05FDFF441C01F0000501F81F8A +:106E8000050000120501F90C0502000D59A8006269 +:106E90008000000048035062900005870502000A48 +:106EA000642B5058497B506559A800648400055EE6 +:106EB000480350644803C8570501F0040501F8145D +:106EC0006413505E05FDFF4F1C01F0000501F80B37 +:106ED000050000070501F8F80502000305FDFF3273 +:106EE0000501F0030501F80A05FDFF461C01F0004D +:106EF00005F5F9E905F5F9E859A8005680000040C4 +:106F000048035056050008851C01F0004C040000A1 +:106F1000600008000501F92690040D1C9004059CF2 +:106F200005000008900405980500000A90040594E7 +:106F30000500000A900405900500000405F5F9D647 +:106F4000600C00000501F006600800000501F00477 +:106F5000600400000501F002600000000501F8A8CF +:106F60005C0008001C01F0004C04000059C408013A +:106F700082040D0000018000900405800500000BD4 +:106F800082040580000080000500000C820405805A +:106F9000000100000500000B820405800001800054 +:106FA0000500000405F5F9BC600C00000501F006C1 +:106FB000600800000501F004600400000501F00213 +:106FC000600000000501F85E5C0008001C01F00094 +:106FD0004C04000059A80061800000004803506183 +:106FE0009000058505020019497B506159C40801CC +:106FF00082040D0000018000900405800500000B54 +:1070000082040580000080000500000C82040580D9 +:10701000000100000500000B8204058000018000D3 +:107020000500000405F5F99C600C00000501F00660 +:10703000600800000501F004600400000501F00292 +:10704000600000000501F83E600008000501F8D866 +:1070500090040D1C9004059C050000089004059800 +:107060000500000A900405940500000A90040590AC +:107070000500000405F5F988600C00000501F00624 +:10708000600800000501F004600400000501F00242 +:10709000600000000501F85A5C0008001C01F000C7 +:1070A0004C20000059A800648200050000007FFF0A +:1070B00005F4097959A840638020410205F4197646 +:1070C000482350638020450005FC07FB8C00050623 +:1070D000050200088C000504050200088C0005026A +:1070E000050200088C0005000502000805F5F96A94 +:1070F000600C00000501F006600800000501F004C6 +:10710000600000000501F002600400000501F80CB9 +:107110005C0040001C01F000050110004A03C8405B +:107120000010D05C6427C8424000000005FD17FF36 +:10713000642350636403505A1C01F0004C000000AB +:1071400059A800978C000500050200020501F960AE +:107150005C0000000501FA6E600808000501F89463 +:1071600082041500FFFFFFE359C41801820C1D00C3 +:10717000FFFE7FFF800001C00500000790000D8129 +:107180000502000A9008055C900C1D40840C1D321D +:107190000501F01290080558820C1D400000800087 +:1071A000840C1D320501F00D90000D8205020006D1 +:1071B00090080554820C1D4000010000840C1D3213 +:1071C0000501F00690000D8305F60933900805507F +:1071D000820C1D4002018000600808000501F8795A +:1071E000480F880159A800978C000500050200028D +:1071F0000501F13C1C01F0001C01F0004C000000F6 +:107200000501F92E5C0000000501FA41600008004C +:107210000501F86782041500FFFFFFE359C4180158 +:10722000800001C00500000690000D8105020007E6 +:107230009008055C840C1D300501F00D9008055880 +:10724000840C1D300501F00A90000D820502000437 +:1072500090080554840C1D300501F00590000D8345 +:1072600005F6090D90080550840C1D70480F880123 +:10727000600008000501F8530501FA1C0500000D27 +:107280004A03C01400200020600008000501F848EF +:1072900090040D1C90040590050200044A03C013DD +:1072A000002000200501F0034A03C0130020000065 +:1072B0000501F1134C5800006050B0008058B040F8 +:1072C0000500002659C4000D8C00052005FE07FCB2 +:1072D0000501F83159C4000D8C00052005FE07F8A2 +:1072E00059C4080882040D400000030048078808BC +:1072F0006120B0018058B04005FE07FF6050B0002B +:107300008058B0400500001559C4000D8C000520C0 +:10731000050200120501F82059C4000D8C0005205B +:107320000502000E6028B0008058B0400500000340 +:107330000501F81905FDF7FD6190B00059C4000D75 +:107340008C00051E050000058058B04005FE07FCB6 +:10735000800005800501F002900005415C00B0004E +:107360001C01F000600808000501F8118204050006 +:10737000FFFFFFFE600808000501F812600008002A +:107380000501F80B82040500FFFFFFFE6000080006 +:107390000501F00C4000000040000000400000002B +:1073A00040000000400000001C01F0004807880E6B +:1073B00059C4080F82040D00000000FF1C01F000FA +:1073C000900001C080040D4084040D404807880EE1 +:1073D0001C01F00082000D80002000000500000963 +:1073E00082000D80020000000500000682000D8072 +:1073F000010000000500000659C408A30501F006BD +:1074000059C408A384040D300501F00359C408A32E +:1074100084040D3280040540480388A3480788A3EC +:107420001C01F00059C400A384000556480388A33A +:1074300084000516480388A31C01F000485FC85764 +:107440004863C8574C6400004D3C00004D400000AC +:107450000531F9334863500940601800600020008E +:107460000501F8B5420000000010D7740551FF2255 +:10747000826005000000FF00820005800000F70028 +:1074800005020004420000000010D75C0551FF1AFD +:107490000555F8290502008482600D000000FF00F8 +:1074A00061FE41FF800409C00500001B82041580B5 +:1074B0000000F70005000013820415800000F800AA +:1074C00005000010820415800000FF006000C80065 +:1074D00005000029840439C00501FFFD05020019DB +:1074E000832004000010C59C50024800592402006B +:1074F0008C000500050000136004C8000501F01EA3 +:10750000420248000010D8CF592402008C00050226 +:107510000500000C59C410A382081500000080006B +:107520000500000859C410A7820815000000FF00DC +:10753000820815800000FF006000C8000500000EF2 +:107540008D0C0502050200078D0C05000502000ADE +:10755000599C10178C08051A0500004D850E1D4218 +:1075600061FE41FF6008C800601280006022780060 +:107570000501F004850E1D4060128000417A7800FC +:1075800059A800058C000502050200048D0C050AAF +:1075900005020045850E1D4A420000000010D75B21 +:1075A0000551FED559A81809604C11000515F86A57 +:1075B000832005800000FFFF050000185924040007 +:1075C0008C00050805000009417A78004D30000064 +:1075D000417A60000501FFFB5C0260005924040051 +:1075E0008C00050A050200304D4000008260050055 +:1075F000000000FF61FE89FF40643000603A8000B7 +:10760000054DFEF360040800600010020529FFD458 +:107610005C0280000501F0248D0C05200500001897 +:107620004C580000420248000010D8CF0551FFCA54 +:107630004D400000592402008C00050005000004A4 +:1076400060040800600010020529FFC591264C0D5A +:107650008058B04005FE07F8603A800061FE89FF5F +:1076600040643000054DFEDA5C0280005C00B00032 +:10767000599C08178C04050A0502000B493FC8579E +:107680004943C8570501FC3C0501F0078D0C052056 +:1076900005000005603E800061FE89FF600030004B +:1076A000054DFECE497B88805C0280005C0278003C +:1076B0005C00C8001C01F0006000080005FDFF3CF4 +:1076C000900405426000080005FDF73E60080800D0 +:1076D00005FDFF37900405426008080005FDF739F5 +:1076E0006008080005FDFF3282040500FFFFFFFD72 +:1076F000900005506008080005FDF73260000800A2 +:1077000005FDFF2B82040500FFFFFFFD90000550E3 +:107710006000080005FDF72B59C408A805FDFF1EF1 +:1077200005FDFF1D59C400A880040D8005FE07FB60 +:107730001C01F00059A800058C0005000500000898 +:1077400059A800088C0005000502000584000540CA +:1077500048035008605811000511FFFF1C01F0009C +:107760001C01F00059C4080182040D0000018000D2 +:1077700082040D80000180000500000284081518B5 +:10778000480B88A31C01F000420008007FF4818EA2 +:1077900059E000028C00051E0502000342000800AB +:1077A0007FF4808E58041800480F50748C0C05002C +:1077B000050200078C0C0502050000055804400175 +:1077C00058042002580410030501F007420040004D +:1077D0000003C014420020000003C0144200100047 +:1077E0000002E014480B506E4813506F482350704D +:1077F0008C0C0500050200078C0C05040500000533 +:107800005804400458042005580410060501F004EB +:1078100060C8400D60C8200D60C8100D480B507145 +:1078200048135072482350731C01F00059A810717E +:1078300059A8207259A840736038084005FDFEDC45 +:1078400082040D00FFFFFFC082200500003F000002 +:1078500080000120800405406038084005FDFED905 +:107860006038084805FDFED282040D00FFFFFFC00E +:10787000822005000000FC00800001148004054007 +:107880006038084805FDFECF82200500000003E0B7 +:107890008000010A603808D805FDFECA9020051F47 +:1078A000603808F005FDFEC782100500003F0000AB +:1078B000800001206038090805FDFEC28210050025 +:1078C0000000FC00800001146038091805FDFEBDB1 +:1078D00082100500000003E08000010A603808E023 +:1078E00005FDFEB89010051F603808F805FDFEB5CF +:1078F00082080500003F0000800001206038091068 +:1079000005FDFEB0820805000000FC0080000114A7 +:107910006038092005FDFEAB82080500000003E089 +:107920008000010A603808E805FDFEA69008051FE2 +:107930006038090005FDFEA31C01F00059A8106E77 +:1079400059A8206F59A840709020051F800000C2E0 +:10795000840005406048080005FDFE9A822005006D +:10796000000001E08000090884040D408220050029 +:1079700000000600800001068400054A80040540DE +:107980006048083005FDFE8F8220050000001800C9 +:1079900080000916822005000003E0008000011429 +:1079A00084000544800405406048084805FDFE85C4 +:1079B0009010051F800000C2840005406048080840 +:1079C00005FDFE8082100500000001E0800009082E +:1079D00084040D40821005000000060080000106AE +:1079E0008400054A800405406048083805FDFE759E +:1079F00082100500000018008000091682100500A2 +:107A00000003E00080000114840005448004054068 +:107A10006048085005FDFE6B9008051F800000C2FD +:107A2000840005406048081005FDFE6682080500D8 +:107A3000000001E08000090884040D408208050070 +:107A400000000600800001068400054A800405400D +:107A50006048084005FDFE5B820805000000180034 +:107A600080000916820805000003E0008000011470 +:107A700084000544800405406048085805FDFE5117 +:107A80001C01F0004C0000000515FAB105000007CC +:107A90000515F85C05020003900005410501F0039F +:107AA00059E000138C00050E5C0000001C01F00082 +:107AB0004C1400004A03C013038003004A03C0149F +:107AC0000380038060800801602810000509FAAB7C +:107AD000050000028C14050C4A03C014038000004A +:107AE0005C0028001C01F0004C00000059A8007444 +:107AF0008C00050805020004900005415C000000B0 +:107B00001C01F0008000058005FDF7FD4C5C0000C5 +:107B10004000B80059A8006682000D80AABBCCDDE9 +:107B20000500000F90000C8505F21EDB4C000000E4 +:107B30000515F8175C000000050200030C01F81A97 +:107B40000501F0164C0000000515F8285C00000047 +:107B500005FC07FB0C01F8190501F01005FDFFE31A +:107B60000500000E8D0C051A0500000C05FDFFC672 +:107B70000502000A05FDFFCF05020005905C0D839C +:107B8000050200066008B8000501F004905C0D8154 +:107B900005020002600CB800405C00005C00B80008 +:107BA0001C01F00000101EF300101EF400101EF562 +:107BB00000101EF600101EFA00101EFB00101EFD25 +:107BC00000101F0D00101F1B00101F2B1C01F000C8 +:107BD0001C01F0001C01F000905C0D830502000206 +:107BE0006008B8001C01F0001C01F0006004B8003F +:107BF0001C01F00005FDFFBD0500000705FDFFA20B +:107C00000502000505FDFFAB050000036000B8009C +:107C10000501F008905C0D83050200036000B800C8 +:107C20000501F004905C0D820502000205F1FE9A48 +:107C30001C01F00005FDFFAD0500000C05FDFF92E5 +:107C40000502000A05FDFF9B05020005905C0D83FF +:107C5000050200066008B8000501F004905C0D8183 +:107C600005020002600CB8001C01F00005FDFF9F3A +:107C70000500000605FDFF840502000905FDFF8DD6 +:107C8000050200020501F006905C0D830500000668 +:107C9000905C0D81050000040501F004905C0D83EB +:107CA000050200026008B8001C01F00005FDFF8F0E +:107CB0000500000605FDFF740502000405FDFF7DBB +:107CC000050200020501F004905C0D81050200022E +:107CD000600CB8001C01F0004803C8564C5C000062 +:107CE0004C6000004C6400004C580000497B50760A +:107CF0004200C0007FF520000511FFC20502002CE4 +:107D00004803C8560511FFD7050200244803C8568A +:107D10004A03C014070307010501F95005F00E5E80 +:107D20004A03C013070107010501F9C50501F9F56B +:107D30000501FA0261800801600C100060801801E2 +:107D40000509F9D305F00E546180080160001000A8 +:107D50000509FA0A05F00E504817C85790141D502F +:107D600061800801600410000509F9C905F00E4A98 +:107D70000501F9BB6140B8010509F9EC05F00E46B3 +:107D80004867C8574C6400000501F9470501F93BF5 +:107D90005C00C8000501F01C4A03C01407E30000A2 +:107DA00059E0C8130501F8BE0501F01759A8008273 +:107DB00082000D803261103C0500000482000D80BD +:107DC000338E103C050200B14803C856420008003B +:107DD0007FF481E659E068028C34051E0502000339 +:107DE000420008007FF480E6500400004803C857B2 +:107DF0004803507D8C00051E050000A48200CD00C4 +:107E0000000000FF4867C857486750775060080077 +:107E1000480750784807C85782040D80534346519D +:107E2000050200988060C000506008004807507943 +:107E30008060C000506008004807507A8060C00031 +:107E4000506008004807507B8060C0005060080008 +:107E500082040D000000FFFF4807507C4200C00074 +:107E60007FF520025060B800825CBD00FFFF00007B +:107E7000805CB920805CB800050010828C5C051E17 +:107E80000502008059E068028C34051E0502006A74 +:107E90004803C8564200C0007FF5204550603000BE +:107EA000821835000000FFFF0500001180180497BC +:107EB000050210748060C000506020008210050030 +:107EC000FFFF00008000012082100D000000FFFF76 +:107ED0004803C8574807C8574C18000005FDFD392E +:107EE0005C0030008018304005FE07F34178080040 +:107EF00040641000601000000529FDCF59E06802C1 +:107F00008C34051E050200574200C0007FF5200595 +:107F10008008C4185060C800800409C00500000A29 +:107F200090041581050200038064C9100501F00664 +:107F300090041582050200038064C9200501F00247 +:107F40008064C9308264CD00000000FF4867C857D4 +:107F50004867507E420010007FF520025008000064 +:107F6000820005000000FFFF4803C8578C00051E73 +:107F70000502004480640480050210424064080049 +:107F8000405C10000529FD904803C857800001C0DF +:107F90000502003C59E068028C34051E05020034DD +:107FA0004200C0007FF52045805CC4188004C418DE +:107FB00005001034050000334863C85750600000C6 +:107FC000820005000000FFFF4803507F8C00051E63 +:107FD0000502002C4803C85780000C9705021029A1 +:107FE00040601000800810005008080048075080CA +:107FF0008008100050080800480750814000B80071 +:108000008060C0005060200082100500FFFF00006B +:108010008000012082100D000000FFFF4803C857B8 +:108020004807C85705FDFCE7805CB84005FE07F52A +:108030000501F0164803C856420000007FF52001F4 +:108040005000B0008258B500FFFF00008058B124F6 +:108050008258C4007FF52000B060C40005FDF79091 +:108060008258C4007FF5200005FDF7AA8258C4009D +:108070007FF52000B060C400805CC41805FDF7CC1B +:108080004A035076DEADDEAD5C00B0005C00C80097 +:108090005C00C0005C00B8001C01F0004867C857D5 +:1080A00090640D208004690A82640D0000000400C1 +:1080B0008004091280046D4D90640D01800408C491 +:1080C00080046D4D90640D02800408C480046D4DE1 +:1080D00082640D00000001008004090880046D4DD9 +:1080E00082640D00000000808004090480046D4D4E +:1080F000B0640D0080046D4D82640D00000002002C +:108100008004090480046D4D8234CD00000000FF1E +:108110001C01F0000511FECA0502000D4803C856F7 +:108120004A03C014180018004A03C01318000800BE +:1081300005FDFC994A03C0131800000061A1D00797 +:108140000529FB334A03C013180008001C01F00086 +:108150000511FEBB0502000D4803C8564A03C014B2 +:10816000180018004A03C0131800180005FDFC8A07 +:108170004A03C0131800100061A1D0070529FB2491 +:108180004A03C013180018001C01F0000511FEACD2 +:108190000502000E0501F8316004180042001000CD +:1081A0000010D07760900800600021805008000027 +:1081B00082000500000000FF4803C8570511FF9228 +:1081C00005F00D35640300001C01F0000501F823E3 +:1081D00059E008028C04051E050000044807C85633 +:1081E00060A008000501F002609C08004807C8571D +:1081F00060041800420010000010D075600021805B +:10820000640410000511FF8005F00D2364030000D5 +:108210001C01F0000511FE8A0502000F59C400017F +:10822000820005000001800082000D8000008000B7 +:108230000500000682000D8000010000050000031B +:10824000497B50960501F00459A8009690000C82D5 +:1082500005FC17FC1C01F000420008000089544096 +:108260000551FCC8050200048004084005FE07FD16 +:108270000551FCCD1C01F0004A03C01304010401A8 +:108280006403000005FDFC441C01F0004C5C000090 +:1082900059E0B8028C5C051E050000015C00B800C6 +:1082A0001C01F0006080080161D0100D8408157E6B +:1082B0000509F8B205F00CF8481750694817C85777 +:1082C0006080080161C0100D8408157E0509F8ABB7 +:1082D00005F00CF14817506A4817C857608008012C +:1082E00061E0100D8408157E0509F8A405F00CEA7C +:1082F0004817506B4817C857641F506C617C1800B2 +:108300000501F8330501F84E6060080160001000B7 +:108310000509F89A050200040501F8596060080192 +:1083200005F1FCD60501F8644817C85759A8206C18 +:1083300059A80069801404800502101C59A8006A1D +:10834000801404800502101259A8006B8014048068 +:1083500005021008601C1800901005830502001427 +:1083600090142C0559A8006B80140480050010108F +:10837000600C1800901005820502000D90142C0569 +:1083800059A8006A801404800500100960081800CC +:10839000901005800502000690142C0559A800696C +:1083A00080140480050010026000180080102583EE +:1083B000480F506C480FC85705000003B00C1D58FB +:1083C0000501F803659350681C01F00059A808677F +:1083D0008C04050005000003820C1D00FFFFFFF761 +:1083E0000501F81761800801600410000509F828EC +:1083F00005F00CA91C01F0004C5800000501F81014 +:108400006140B00F61800801600010000509F85B51 +:1084100005F00CA14817C85782140D00000000A0F9 +:1084200090040DA0050000048058B04005FE07F63A +:10843000900005415C00B0001C01F00005FDFF94B8 +:10844000050000044A03C013040104010501F00300 +:108450004A03C0130401040005FDF3CF05FDFF8CA2 +:10846000050000044A03C013040100010501F003E4 +:108470004A03C0130401000005FDF3C759A80867AB +:1084800084040D404807C8574807506761800801B9 +:10849000600010000509F83905F00C7F4817C8572F +:1084A00082142D00FFFFFFF7B0142D404014180078 +:1084B00005FDF7C7B0142C800500101059A80074F2 +:1084C0008C0005200500000A59A8086D9004050FCE +:1084D000050200078004091082040D00000000FF5F +:1084E0004807C85780142C010501F00290142C0590 +:1084F0004817C8571C01F0004178280005FDF7FD1A +:108500006060080160241000601018000505FFE09D +:1085100005F00C616060080160281000601C180004 +:108520000505FFDB05F00C5C4201D000000F424066 +:108530000529FA371C01F000420008007FF481F49D +:1085400059E000028C00051E0502000342000800ED +:108550007FF480F44807C857500400004803C85708 +:108560004803506D1C01F00059A800068C00051C42 +:10857000050200164937C8570535F8720500001383 +:108580004926601D4936600A0541FCF3640664070C +:10859000417A78000519F92959A8003480000000B3 +:1085A0004803503460127000599C00198C00050E6D +:1085B0000500000260027000599C020848026C121B +:1085C0000005FFDB900005411C01F0004937C8574A +:1085D0000535F85C0500001B4926601D4936600A18 +:1085E0005934040382000580000007FE05000005E1 +:1085F0004D3C0000417A78000501F8B95C02780032 +:108600000541FCD564066407417A78000519F90B29 +:10861000600C08000519F9130551FBE90502000477 +:1086200059A800348000000048035034599C0208C7 +:1086300048026C12600A70000005FFDB90000541E3 +:108640001C01F0004803C85659A800068C00051EFE +:108650000502000861F2880F4200300000FFFFFCB5 +:108660000519F927050200070501F80805000005AE +:108670004A03503A0000FFFF900005411C01F00042 +:108680008000058005FDF7FE4937C8570535F82DF0 +:10869000050000114926601D4936600A0541FCAEFF +:1086A00064066407417A78000519F8E4600C080054 +:1086B0000519F8EC59A8003B800000004803503B26 +:1086C000599C020848026C12600A70000005FFDB2A +:1086D000900005411C01F000480BC857492FC857AE +:1086E0004923C8574927C8574C5C00004008B800C8 +:1086F00061F6880F4200300000FFFFFD0519F90008 +:108700000502001B5934000A840005444802680A27 +:108710000535F80C050000164926601D4936600A2B +:10872000812E59C005000006592C04088C00051E36 +:108730000500000348EE602D0501F00459A8023938 +:108740008400055C48035239492E600964066407B9 +:10875000485E601E0541FC80608A70000005FFDBFA +:10876000900005415C00B8001C01F000800005800D +:1087700005FDF7FD5C0000004C0000004803C857F1 +:108780004943C857493FC8574D3400004D44000085 +:108790004C5800004D2C00004C5C0000052DF91FCA +:1087A0004DF00000833C05000000180005000003A8 +:1087B0008D3C051605280E480529FF110529FF9D4A +:1087C0000529FC930539FBA05C03E000052C090496 +:1087D00061C0B00F417A88000001FAFE0502002551 +:1087E0008D3C050605000004593402008C00050E7E +:1087F000050200200519FB60497A6C0B8D3C0518B9 +:10880000050000175934B80F805CB9C00500000A94 +:10881000405E580049425A0A492FC857592CB8009F +:108820000001FB78805CB9C005FE07FA497A680F41 +:10883000497A68104937C8574A026C000000070798 +:10884000497A6A03497A68115934040282000500A2 +:10885000000000FF48026C020501F0064937C857C6 +:108860004A026C00000007078D0C052005140E2439 +:10887000814688008058B04005FE07D88D3C05022F +:1088800005000011497B503661C2880F6040B0007E +:108890000001FAFE050200094937C8575934B80FDC +:1088A0005934000C4A026C0000000707805C054048 +:1088B000050200020515FE12814688008058B0406E +:1088C00005FE07F45C00B8005C0258005C00B000D4 +:1088D0005C0288005C0268001C01F0005C00000083 +:1088E0004C0000004803C8574933C857493FC85790 +:1088F0004927C8574D3400004D4000004D4400004A +:108900004D2C00004C5C0000052DF8C44DF000001B +:108910005932680A813669C00500003059368C0327 +:1089200060A68000833C05000000180005000003DD +:108930008D3C051605280DF70529FEFC0529FF4588 +:108940000529FCCB054DF9014937C8578D3C050673 +:1089500005000004593402008C00050E0502001FBA +:108960000519FB05497A6C0B8D3C051805000017AD +:108970005934B80F805CB9C00500000A405E580049 +:1089800049425A0A492FC857592CB8000001FB78B0 +:10899000805CB9C005FE07FA497A680F497A681009 +:1089A0004937C8574A026C0000000707497A6A0332 +:1089B000497A68115934040282000500000000FF62 +:1089C00048026C020501F0054A026C00000007072E +:1089D0008D0C052005140DCA5C03E000052C0880F1 +:1089E0005C00B8005C0258005C0288005C028000F9 +:1089F0005C0268001C01F0004933C85759A80239CD +:108A00008C000508050200135930500A482BC8573E +:108A1000916C05820502000F0501F81A0502000D90 +:108A20005828040382004D80000007FC0500000A5E +:108A300082004D80000007FD0500000659A80034A3 +:108A4000800000404803C85705F01B13480350340A +:108A50001C01F0005930042990004DA105FC07F8D5 +:108A6000B000059105FC07FB59A8003B80000040C1 +:108A70004803C85705FC17F74803503B1C01F0009A +:108A800059300009800001C0050200075930040375 +:108A90009000058105020003900005410501F002E8 +:108AA000800005801C01F0004937C8575934020086 +:108AB0008400050248026A001C01F0004933C857CF +:108AC000493FC8574947C8574927C8574D40000034 +:108AD0004D3400004D4400004C580000052DF84F67 +:108AE0004DF000008060C1C0050200036004B000CA +:108AF0000501F00361C0B00F417A880041440000D5 +:108B000081AC04005000000080026D400500001898 +:108B100059245005593400138200050000FFFFFF5F +:108B200080280580050200124D3C00006006780098 +:108B30000519FBC25C02780060A680000529FE7B57 +:108B40000529FEC40529FC4A0519FCEB05020005B0 +:108B50004937C8574A026C00000004040501F002BE +:108B60000519FD10054DF8790519FA83814688002D +:108B70008058B04005FE07E25C03E000052C0818B1 +:108B80005C00B0005C0288005C0268005C0280004F +:108B90001C01F0004937C8574947C8574C5C0000D2 +:108BA0004C6000004C64000059A8009A8C0005003D +:108BB0000500001D599C00178C00050A0502001ACB +:108BC0005934BA02825CBD00000000FF485FC857FC +:108BD0004178C0004178C800826004000010F5E5CB +:108BE000500020008060C1C0050000088210050010 +:108BF000000000FF82002D80000000FF0500000A39 +:108C0000805C05800500000A801021108064C80087 +:108C10009064058405FE07F68060C000906005A0A2 +:108C200005FE07ED4813C857900005415C00C800D9 +:108C30005C00C0005C00B8001C01F00059A80239BB +:108C40008C00051205F20B521C01F0004C5C000078 +:108C50004C6000004C6400004C5000006004B00008 +:108C6000420248000010D8CF417A400061FA880FD4 +:108C70000551FA53050000200551FA375924BA006E +:108C80008C5C05000500007C59A8A2398C500506B3 +:108C90000500000D825C0500000000E082000580F8 +:108CA000000000E0050000740501F88159A80034B7 +:108CB0004923C8574803C857800000004803503470 +:108CC0000501F06D8C5C051E0500006B4927C85638 +:108CD0006004B000825C0500000000E148024A0028 +:108CE000485FC857825CC500000000E00502001F15 +:108CF0000501F018051DFAC1050000020551FA1A18 +:108D00005924BA008C5C05000500005B0551FA2C63 +:108D10000500000559A802398C00050E0502001354 +:108D20000501F00483240D800010D8CF0502000F48 +:108D3000825CC500000000E00502000C051DFAAFD2 +:108D40000500000442000800FFFFFF1D0501FA7D39 +:108D500059A8023982000500FFFFDAFC8400054EA5 +:108D6000480352390501F00682600580000000E0EA +:108D70000502004A8C5C050E0502003F5924C80913 +:108D80009064040E500000004803C85780026D40F4 +:108D900005000011051DFA99050000135934020061 +:108DA0008C00051A050200345924080580040910B6 +:108DB0000500000D59A800364803C8574807C85792 +:108DC00080040580050000084A026806DEADDEADBD +:108DD0000501F0054200300000FFFFFE0515FF48C9 +:108DE0000502002E0531FE570500002C4936600AA9 +:108DF0004926601D64066407417A78000515FF0F57 +:108E000005FDFF2A600C08000515FF160541FAD282 +:108E1000492350354923C8575924000582000500CD +:108E2000000000FF48024805916C0583050000041E +:108E300059A800348000000048035034599C0208AF +:108E400048026C12600A70000005FFDB5924020022 +:108E500082000500FFFFFF9D8400054E8400055E33 +:108E600059A80CB38C04050A050000028400055EB5 +:108E700048024A008122400091264C0D8058B040A3 +:108E8000050000040551F9CE05FE077D05FDF79D9F +:108E90004A0350350000FFFF5C00A0005C00C800E2 +:108EA0005C00C0005C00B8001C01F0004D30000008 +:108EB0004D4400004D34000061FA880F420030003C +:108EC00000FFFFFE0515FF0E0502001C0531FE1D0B +:108ED0000500001A4927C8574923C857497A60092D +:108EE0004936600A4926601D64066407600C080064 +:108EF0000515FEDC599C020848026C12600A7000DD +:108F00000005FFDB59A80A398C040506050200029A +:108F1000497A48055924020082000500FFFFFF9DA1 +:108F20008400054E48024A005C0268005C0288002A +:108F30005C0260001C01F0008000058005FDF7FB6D +:108F40004D2000004D2400004C5800004D3400001E +:108F50004D3000004D3C00004D3800004D440000F5 +:108F60000519FA9B05020009051DFA2405000004F5 +:108F700059A812398C0805060500000305FDFF34C9 +:108F80000501F0020501F80A5C0288005C0270002D +:108F90005C0278005C0260005C0268005C00B0006B +:108FA0005C0248005C0240001C01F0004803C85607 +:108FB0004C6000000551F96C4200C0000010D8CD93 +:108FC00050600000820245800000FFFF050200049F +:108FD000420248000010D8CF0501F0088058B48044 +:108FE0000500002605001025400240008200040014 +:108FF0000010C59C500248004520C00059240005BF +:1090000082000500000000FF4802480559240200C4 +:1090100090000503900005830502000E592404000A +:109020008C0005080500000B59A8009A8C0005006B +:10903000050000030501F8130501F0020501F85EC3 +:1090400059A80035820005800000FFFF0502000BD3 +:109050008122400091264C0D8058B04005FE07E764 +:10906000599C00198C00050E0502000459A8009AAD +:109070008C000500050208815C00C0001C01F000A6 +:109080004927C8574923C8574C5800004C100000C6 +:109090004C0C00004C0800004C0400004D24000063 +:1090A00059243C0859A81835820C15800000FFFF90 +:1090B0000502000260041800800C110482082400DC +:1090C0000010F5E550102000900C05030C01F00194 +:1090D000001024380010243A0010243C0010243ED4 +:1090E000401010000501F006801011100501F00479 +:1090F000801011200501F002801011304C0C00008E +:1091000082080500000000FF801C0D80050000198A +:10911000800001C0050000174000080082000580A3 +:10912000000000FF050000170501F91605000011F9 +:10913000400400000525F8630502001C0515FEEB40 +:109140000500000405FDFD09050000180501F009F2 +:10915000599C00198C00050E050200060515FE68D5 +:109160000502001205FDFE5105FDFD190500000F69 +:109170005C001800480F5035800C180005FDF7CF33 +:109180005C0018004A0350350000FFFF5C024800F5 +:109190005C0008005C0010005C0018005C0020000F +:1091A0005C00B0001C01F0005C001800480F503556 +:1091B00005FDF7F74927C8574C5C00004C580000E4 +:1091C0004C54000061F8B00059243C0859A80035FF +:1091D000820015800000FFFF050200034178A8000F +:1091E0000501F0048058B4800500101E4000A8005E +:1091F000485750358254BC0000102759505CB800C5 +:10920000825CBD00000000FF405C08000501F8DD45 +:1092100005000011405C00000525F82A0502001336 +:109220000515FEB20500000405FDFCD00500000F89 +:109230000501F009599C00198C00050E0502000675 +:109240000515FE2F0502000905FDFE1805FDFCE0D1 +:10925000050000068054A8008058B04005FE07E5D0 +:109260004A0350350000FFFF5C00A8005C00B0001E +:109270005C00B8001C01F0004C5800004D44000098 +:1092800061C0B00F80028D800001FAFE0502001857 +:1092900005FDFE41050000164937C8570519FB6258 +:1092A0004202600000110DE04936600A497A600907 +:1092B0004926601D417A780005FDFD8942000000C5 +:1092C0000010D812054DFF8C592404008C00050AAB +:1092D0000502000741782800602030004D40000062 +:1092E00060A680000549FFBA5C02800081468800C4 +:1092F0008058B04005FE07E55C0288005C00B000C5 +:109300001C01F0004927C8574C5C0000400CB80015 +:109310004D2000004D2400004C5800000551F88EEF +:10932000417A4000420248000010D8CF5924020080 +:109330008C0005000500000F8C5C0508050000048A +:109340008400055A48024A000501F00A820005001F +:10935000000000E082000580000000E0050000053C +:109360004927C8574923C8570501F83F050000059C +:109370008122400091264C0D8058B04005FE07EC3C +:109380005C00B0005C0248005C0240005C00B80079 +:109390001C01F0004D2000004D2400004C5800003E +:1093A0004C5C0000400CB800485FC8570551F86A93 +:1093B0008058B0400500001F60064000420248008F +:1093C0000010D8DC59A802398C0005140500001ED5 +:1093D000592412008C080510050200128C080500A3 +:1093E0000500001059A80AB35924000B820005009B +:1093F00000001FFF800405800502000A8C08051E7E +:10940000050200088C5C0508050000048408155A54 +:10941000480A4A000501F0030501F813050000059C +:109420008122400091264C0D8058B04005FE07E98E +:109430005C00B8005C00B0005C0248005C024000C8 +:109440001C01F000497A48055924020090000501EA +:1094500048024A0091264C0D8058B04005FE07FA9C +:1094600005FDF7F44927C8574923C85759A80239B9 +:109470008C000514050000030501F9E11C01F00052 +:109480008000058005FDF7FE4C5800000551F832BC +:10949000417A4000420008000010D8CF5930001D2A +:1094A00080040580050000068122400090040C0D18 +:1094B0008058B04005FE07FA05F1F8774933C857E0 +:1094C0004923C8575C00B0001C01F0004C58000054 +:1094D0000551F821417A4000420248000010D8CFDF +:1094E00059A812398C0805080500000A821C0D8055 +:1094F00000FFFFFE050000208C08050C0500001E83 +:1095000059240005801C05800500001B0501F0178B +:109510009008052805020005592400058200050071 +:10952000000000FF0501F008821C058000FFFFF02D +:1095300005000011592402008C00050005000004FC +:1095400059240005801C05800500000B8122400085 +:1095500091264C0D8058B040050000049008052865 +:1095600005FE07F205FDF7ED61FE41FF90000541A4 +:10957000481FC8564923C8575C00B0001C01F000C2 +:109580004807C8574C580000054DFFF342006800DB +:109590000010D8CF5834000582000500000000FFFD +:1095A000800405800500000590346C0D8058B040A3 +:1095B00005FE07F9900005415C00B0001C01F000B9 +:1095C0004923C857493FC8574C5800004D40000038 +:1095D0004D4400004D3400004C5C00000529FD8F17 +:1095E0004DF0000061C0B00F417A88008344040050 +:1095F0000010C8005000000080026D400500001FF0 +:109600005934001380000130812005800502001BC1 +:1096100060A68000833C050000004000052A0ABDCA +:109620000529FBC20529FC0B0529F9910549FDC750 +:109630008D3C051C05000004412408000519FA9919 +:109640000501F00E8D3C05060500000459340200AA +:109650008C00050E050200094937C8570515FFC6DD +:10966000497A6C0B4A026C00000007075924040079 +:109670008C00050A05160AA2814688008058B04071 +:1096800005FE07DB8D3C05020500001A6040B000B6 +:109690005924B809505C000080026D40050000129A +:1096A00059368C03833C050000004000052A0A99C6 +:1096B0000529FB9E0529FBE70529F96D0549FDA351 +:1096C0008D3C051C0502000683440580000007FE52 +:1096D000050000050515FA8A0501F003412408007C +:1096E0000519FA70805CB8008058B04005FE07EAA2 +:1096F0004D30000061FE89FF4202600000110DE064 +:109700004A02600A0010F5CD0519FD744926601D56 +:1097100060A680000529FB850549FD8C5C02600080 +:109720005C03E00005280D2E5C00B8005C026800B8 +:109730005C0288005C0280005C00B0001C01F0004C +:109740004807C8574C580000054DFF8342001000E1 +:109750000010D8CF5808020080040500480012000D +:109760009008140D8058B04005FE07FB5C00B00067 +:109770001C01F0004803C8564D4400004D34000061 +:109780004C5800004C5C00006040B00061C2880F83 +:109790005924B80983440580000007FE0500000530 +:1097A000505E6800813669C0050000020515FA5454 +:1097B00081468800805CB8008058B04005FE07F6FE +:1097C0005C00B8005C00B0005C0268005C028800CD +:1097D0001C01F0005C0000004C0000004803C8576A +:1097E0004C5C00004C6000004C5800004D24000010 +:1097F0004D2000004178C00059A804B34803C85761 +:109800008C00050C0502001C054DFF53417A4000F9 +:10981000420248000010D8CF5924B80B825CBD002A +:1098200000001FFF805CB9C00500000F405C100005 +:109830000501F82705000017916C05830502000A51 +:10984000592402008C000500050000078C00050269 +:10985000050200058C00051E050000034178080084 +:109860000501F87F8122400091264C0D8058B040C0 +:1098700005FE07EA8060C1C05C0240005C0248004F +:109880005C00B0005C00C0005C00B8001C01F0008F +:10989000405C1000480BC8564D3C00004D40000095 +:1098A00060AA8000600A780041780800813261C0B7 +:1098B00005000002604008000501F81A5C02800003 +:1098C0005C0278008060C00005FDF7E75C000000E6 +:1098D0004C0000004803C857480BC857417808009F +:1098E000608000000525FF544807C857607C1800B9 +:1098F00040040000800C048082000C000010C57C35 +:10990000500408004807C857820804000010F9FFF7 +:10991000500000004803C857800405001C01F000F7 +:10992000480BC8574D2000004D2400004C58000043 +:109930004C5C00004C6000004008C0004004B800CF +:10994000054DFF05417A4000420248000010D8CF83 +:109950005924000B8200050000001FFF8060058075 +:10996000050200138C5C05060502000A05FDFF15C3 +:10997000497A48058C5C05080500000D60643000DC +:1099800061FC19FF601C2000050DFFDF0501F008D8 +:109990008C6405020502000505FDFF0A497A4805A9 +:1099A000497A480B0501F002051DFFED81224000B8 +:1099B00091264C0D8058B04005FE07E65C00C000C3 +:1099C0005C00B8005C00B0005C0248005C02400033 +:1099D0001C01F0004803C8564C5800004D240000FC +:1099E0004D20000059A804B38C00050C0502001896 +:1099F000054DFED98058B0400500001560064000B6 +:109A0000420248000010D8DC592402008C00051ED8 +:109A10000500000B8C00050E0502000959A802B3D1 +:109A20005924080B82040D0000001FFF80040580EC +:109A300005000003417808000501F80991264C0D46 +:109A4000812240008058B04005FE07F05C024000D3 +:109A50005C0248005C00B0001C01F0004D300000CA +:109A60004D4400004C04000061FA880F42003000B1 +:109A700000FFFFFE0515FC22050200180531FB3131 +:109A8000050000165C000800480660094936600AB7 +:109A90004926601D64066407600C08000515FBF18B +:109AA000599C020848026C12600A70000005FFDB36 +:109AB000497A48055924020082000500FFFFFF9DF6 +:109AC000820005400000808048024A005C02880055 +:109AD0005C0260001C01F0005C00080005FDF7FC62 +:109AE000480BC8574C5C00004C5800004D2000004B +:109AF0004D240000054DFE988058B0400500001C24 +:109B00004008B80060064000420248000010D8DC5F +:109B1000592402008C000500050000118200050098 +:109B2000000081000502000E5924000B8200050090 +:109B300000001FFF05000005805C0580050200088D +:109B40000501F82F0501F006420010000010D8CFE3 +:109B50005808000B4802480B0501F82981224000F3 +:109B600091264C0D8058B04005FE07EA5C02480083 +:109B70005C0240005C00B0005C00B8001C01F0001A +:109B8000480BC8574C5800004C6000004008C0000B +:109B9000054DFE71420018000010D8CF580C000B84 +:109BA0008200050000001FFF806005800502000E96 +:109BB000812405830500000C580C0A00900405035D +:109BC000900005830502000882040D40000080E03B +:109BD00048041A005924080C497A480C4804180C07 +:109BE0000501F004900C1C0D8058B04005FE07ECF8 +:109BF0005C00C0005C00B0001C01F0004923C857A5 +:109C000061FA880F4200300000FFFFFE0515FBBC23 +:109C100005020011599C020848026C124D2C0000EC +:109C2000417A58000541F9145C0258000500000A09 +:109C300059A800A280000000480350A25924020045 +:109C4000840005508400051248024A009000054136 +:109C50001C01F0008000058005FDF7FE4923C85770 +:109C60004D3000004D44000061FA880F4200300082 +:109C700000FFFFFE0515FBA20502001B0531FAB12E +:109C800005000019497A60094936600A4926601DB5 +:109C900064066407600C08000515FB72599C0208F5 +:109CA00048026C12600A70000005FFDB59240200B4 +:109CB0004927C85782000500FFFFFF9D8400054E1D +:109CC00048024A0059A8023982000500FFFFDAFC69 +:109CD0008400054E480352395C0288005C02600033 +:109CE0001C01F0008000058005FDF7FC4C580000C9 +:109CF000054DFE19485BC8574178280042002000F6 +:109D00000010D8CF58100200900005039000058382 +:109D100005020003900005410501F00580142800AC +:109D20009010240D8058B04005FE07F75C00B0008D +:109D30001C01F0004C580000054DFE0742001000C9 +:109D40000010D8CF580802008C00051A0502000444 +:109D50009008140D8058B04005FE07FB5C00B00071 +:109D60001C01F00000007EEF00007DE800007CE4B4 +:109D7000000080E200007BE1000080E0000080DC69 +:109D8000000080DA00007AD9000080D6000080D57B +:109D9000000080D4000080D3000080D2000080D179 +:109DA000000079CE000078CD000080CC000080CB90 +:109DB000000080CA000080C9000080C7000080C683 +:109DC000000077C5000076C3000080BC000080BAA8 +:109DD000000075B9000080B6000074B5000073B4CF +:109DE000000072B3000080B2000080B1000080AEBD +:109DF000000071AD000080AC000070AB00006FAAE5 +:109E000000006EA9000080A700006DA600006CA5F0 +:109E100000006BA300006A9F0000699E0000689D1F +:109E20000000809B0000809800006797000066900B +:109E30000000658F00006488000063840000628277 +:109E400000008081000080800000617C0000607A5A +:109E50000000807900005F7600008075000080744B +:109E60000000807300008072000080710000806E2E +:109E700000005E6D0000806C00005D6B00005C6A9D +:109E800000005B690000806700005A6600005965A9 +:109E9000000058630000575C0000565A00005559F6 +:109EA00000008056000080550000545400005353B9 +:109EB00000005252000051510000504E00004F4D22 +:109EC0000000804C0000804B00004E4A00004D49CD +:109ED0000000804700004C460000804500008043A1 +:109EE0000000803C0000803A00008039000080368D +:109EF00000004B350000803400004A330000493236 +:109F0000000048310000802E0000472D0000462C44 +:109F10000000452B0000442A00004329000042278E +:109F20000000802600008025000041230000401F23 +:109F300000003F1E00003E1D00003D1B00003C18BD +:109F4000000080170000801000003B0F00003A085E +:109F50000000800400003902000080010000800041 +:109F600000008000000038000000370000003600CC +:109F7000000080000000350000008000000080002C +:109F8000000080000000340000008000000080001D +:109F900000008000000080000000800000008000C1 +:109FA000000033000000320000008000000080004C +:109FB00000008000000080000000800000008000A1 +:109FC0000000310000003000000080000000800030 +:109FD00000002F000000800000002E0000002D0077 +:109FE00000002C00000080000000800000008000C5 +:109FF00000002B000000800000002A000000290063 +:10A00000000028000000800000002700000026005B +:10A0100000002500000024000000230000002200B2 +:10A0200000008000000080000000210000002000EF +:10A0300000001F0000001E0000001D0000001C00AA +:10A04000000080000000800000001B0000001A00DB +:10A050000000800000001900000080000000800067 +:10A0600000008000000080000000800000008000F0 +:10A07000000018000000800000001700000016001B +:10A080000000150000008000000014000000130014 +:10A0900000001200000011000000100000000F007E +:10A0A000000080000000800000000E0000000D0095 +:10A0B00000000C0000000B0000000A000000090076 +:10A0C0000000800000008000000008000000070081 +:10A0D00000008000000006000000800000008000FA +:10A0E00000008000000005000000040000000300E4 +:10A0F00000008000000002000000800000008000DE +:10A1000000008000000001000000800000008000CE +:10A11000000080000000800000008000000080003F +:10A1200000000000000080000000800000008000AF +:10A13000000080000000800000008000000080001F +:10A14000000080000000800000008000000080000F +:10A1500000008000000080000000800000008000FF +:10A160000000800005F1F8D005EC0D4B492F401799 +:10A170001C01F00091A0AC0783A005800010D0C4A2 +:10A1800005000008492FC857812E59C005EC0D4223 +:10A19000912CA40A6034B000054DFCA20501F00D1D +:10A1A0006040B00091E0A420505000008050A0001A +:10A1B00050500800900409C0800405404400A800E5 +:10A1C0008050A0008054A8008058B04005FE07F7DA +:10A1D0001C01F00059A00207B0000CBF050210BE20 +:10A1E0000C01F001001028FF00102935001029355E +:10A1F000001029810010299600102935001028FF31 +:10A20000001029AB001029BC001029350010293599 +:10A21000001029D4001029F200102A10001029354E +:10A2200000102A2D001029350010293500102A4D64 +:10A230000010293500102B0A00102935001029358F +:10A24000001029350010293500102B3100102B8803 +:10A2500000102935001029350010293500102BD4A5 +:10A2600000102BF500102E2E0010293500102E7B2B +:10A270000010293500102935001029350010293526 +:10A2800000102E8000102F7A0010293500102F8129 +:10A290000010293500102935001029350010293506 +:10A2A0000010293500102F820010304A0010325B58 +:10A2B00000103267001029350010293500102935AB +:10A2C000001029350010327A001029350010293588 +:10A2D00000102935001029350010293500102935C6 +:10A2E000001029350010329E001032DC001033209F +:10A2F000001033370010334F00103593001038FB37 +:10A300000010293500103DBE00103A4000103A7987 +:10A310000010293500102935001029350010293585 +:10A320000010293500102935001029350010293575 +:10A3300000103A9400103AF1001029350010293528 +:10A3400000103B4D0010293500103BC900103C5C4B +:10A35000001029350010293500103CF000103D7A1E +:10A360000010293500103DBE001040BC00102935FA +:10A37000001040CB00104145001029350010293550 +:10A38000001029350010293500104194001041AE0D +:10A39000001041C7001029350010423D001029353A +:10A3A000001029350010427B001029350010429F13 +:10A3B0000010293500102935001042F30010442800 +:10A3C00000102935001029350010293500102935D5 +:10A3D000001029350010446A001044EA00102935A5 +:10A3E00048EFC8574031D80058EF400B58EC0002F6 +:10A3F00082000580000002000500003B48EFC857BE +:10A400004A03420700004000050DFCAB83A0058015 +:10A410000010D0C40500000B58EE580A4D2C000067 +:10A420000501F85241A2580005F1F84040EE5800ED +:10A4300005F1F83E5C025800492FC8570001F37837 +:10A440000502600759A0001E840005424803401E13 +:10A450004A01D809001029101C01F00059A0020778 +:10A4600082000D800000400005000005900001C042 +:10A47000900005514803C0110501F004900001C08F +:10A48000900005504803C0110501F84659E0001737 +:10A490008C00050A60000800000208928D0C05304F +:10A4A00005F60D31000209BA6403C0174203E0004B +:10A4B000300000014203E0004000000040EE580080 +:10A4C00005F1F81A59A0001E840005044803401E37 +:10A4D0001C01F0004803C8564A034207000040012F +:10A4E00005FDF7CA4803C8564A0342070000400268 +:10A4F00005FDF7C64803C8564A034207000040035B +:10A5000005FDF7C205F9FF5D4803C8564A03420737 +:10A510000000400505FDF7BD05F9FF584803C85682 +:10A520004A0342070000400605FDF7B84803C85635 +:10A530004A0342070000400B05FDF7B44803C85624 +:10A540004A0342070000400C05FDF7B04803C85617 +:10A550004A0342070000400C05FDF7AC4A034207DE +:10A560000000402005FDF7A94C5800004C500000A9 +:10A570004C54000058ECA80A8054A9C005EC0C46C5 +:10A5800091A0A4079054AC0A6034B000054DFBA51F +:10A590005C00A8005C00A0005C00B0001C01F000A2 +:10A5A0004C5800004C5000004C54000059A00007CB +:10A5B0004803C85759A000084803C85759A00009C4 +:10A5C0004803C85791E0AC2091A0A4076040B000B8 +:10A5D000505000004400A8008054A800900001C022 +:10A5E0004400A8008054A8008050A0008058B040CB +:10A5F00005FE07F85C00A8005C00A0005C00B0004D +:10A600001C01F00059A00407800000C259A00A08EC +:10A61000900409C0800405408400054059A00C083E +:10A620008C0405000500000B4C000000054DFBD517 +:10A630005C000000050000044803000464030000FF +:10A6400005FDF76F640300006413440705FC07AFC2 +:10A650004803880E05FDF76A59A00407800000C270 +:10A6600059A00C088C0405000500000D4C000000EA +:10A67000054DFBC45C000000050000064803000413 +:10A6800059800805480744076403000005FDF75C8E +:10A69000640300006413440705FC079C4803880E0C +:10A6A00059C4080F4807440705FDF75559A01C0772 +:10A6B00059A00208900C19C0800C1D40580C0803CA +:10A6C00080000580500C100080080400800C1800E9 +:10A6D0008004084005FE07FC48034407900001C0C1 +:10A6E00048034208800001C005FC074505FDF782CC +:10A6F00064174407641B42086417440859A8000AF9 +:10A7000082000C80001400000502100442000000CA +:10A710000013FFFF0501F00659A808B18C040500DD +:10A7200005000003820004000000600048034209A5 +:10A73000900001C048034409615401214803420AC2 +:10A74000900001C04803440E6403400F05FDF72C40 +:10A7500059A0040859A01208900811C0800815409B +:10A7600059A0040A59A01A0A900C19C0800C1D4067 +:10A7700059A00A0959A00409900409C080040D4099 +:10A7800059A0020B9000249005FC176559A02407DE +:10A79000900001C08010054059A8280A8014248028 +:10A7A000050E13D3420028007FEFFFFF80142480A2 +:10A7B00005FE175B420028007FFD00008014248006 +:10A7C00005FC1757050DF3CA59A0040859A0120833 +:10A7D000900811C08008154059A0040A59A01A0A0F +:10A7E000900C19C0800C1D4059A00A0959A00409F9 +:10A7F000900409C080040D4059A0020B90002490E1 +:10A8000005FC174759A02407900001C0801005409F +:10A8100059A8280A80142480050E13BB4200280082 +:10A820007FEFFFFF8014248005FE173D42002800C3 +:10A830007FFD00008014248005FC1739050DF3B25C +:10A8400059A0240859A00208901021C0801025406A +:10A8500059A01A0B59A00407900C19C0800C1D4078 +:10A8600041781000820C058000007C000500000A81 +:10A87000820C048000007A0005001007820C04801E +:10A8800000007CFF05021004054DFB3E050000079B +:10A890008008100044101800800811C005FC06D87C +:10A8A0006403000005FDF6D664030000641344074A +:10A8B00005FDF71659A01A0B59A00407900C19C0F2 +:10A8C000800C1D4041781000820C058000007C0047 +:10A8D0000500000A820C048000007A0005001007C1 +:10A8E000820C048000007CFF05021004054DFB254E +:10A8F0000500000E80081000500C000082000D00C2 +:10A900000000FFFF4807420882000D00FFFF000023 +:10A91000900409C048074408800811C005FC06B827 +:10A920006403000005FDF6B66403000064134407E9 +:10A9300005FDF6F64D2C00004D3400004D300000B2 +:10A940004D440000050DFC2D050200064923C857A3 +:10A950004927C85759A28C070515FDBB05000006FD +:10A960005C0288005C0260005C0268005C025800C7 +:10A9700005FDF6EB4937C85759A0440859A002080D +:10A98000900001C0802045404823C85759A04A0B79 +:10A990000501F87705000008640742094A034407E7 +:10A9A0000000FFFF4A0342080000FFFF497B440804 +:10A9B0000501F03D497B44070501F87E0500003F95 +:10A9C0005930040248034407593002024803420840 +:10A9D000593000064803440859A0020C8C000500B9 +:10A9E000050000304933C8570515FD4F0500000329 +:10A9F000642744070501F0318D0C050E05000003A6 +:10AA0000640744070501F02D916C058305000003E0 +:10AA1000641F44070501F029593402008C00050E1B +:10AA200005000003648344070501F024593004073E +:10AA300090000D8305020007593008049004051F9B +:10AA400090000584050200038C04053E05020015F4 +:10AA5000050DFB0705020003640B44070501F01711 +:10AA6000492FC8574A025C0800008000497A5A08FA +:10AA7000497A58090541F9CA05020003640F4407E1 +:10AA80000501F00E4A01D80900102AB35C028800C3 +:10AA90005C0260005C0268005C0258001C01F0006F +:10AAA000640B42095C0288005C0260005C02680082 +:10AAB0005C02580005FDF6525C0288005C026000F2 +:10AAC0005C0268005C02580005FDF690492FC857EB +:10AAD0004933C857497A602A592C000982000580F9 +:10AAE00001000000050200036413440705FDF6871A +:10AAF0004D2C0000912E5C0A592C0000820005802C +:10AB000002000000050200114803C8566413420900 +:10AB1000592C0804820405000000FFFF4803440983 +:10AB2000800409204807420A592C080582040500C0 +:10AB30000000FFFF4803440A800409204807420B35 +:10AB40005C02580005FDF62E4803C85664174209FA +:10AB5000592C0801820405000000FFFF4803440946 +:10AB6000800409204807420A05FDF7F64937C8570F +:10AB70004823C8574827C8575934000F80001D4044 +:10AB800005000009580C0009802005800502000717 +:10AB9000580C0003580002118024058005020003B0 +:10ABA000817800001C01F000580C000005FDF7F44E +:10ABB0004823C8574D2C00004202600000110E408F +:10ABC0005930040790000D830500000390000D86A6 +:10ABD0000502000B59325809812E59C005000008A2 +:10ABE000592C00035800021180240580050200043E +:10ABF000592C00098020058005000009913264303D +:10AC000059A8000B8130048005FC17EE417A6000E2 +:10AC1000800005805C0258001C01F0009000054196 +:10AC20005C0258001C01F00083A005800010D0C415 +:10AC300005FE0629640300004A03420700004000A5 +:10AC40004A03C0114000001005FDFE5659E00017F0 +:10AC50008C00050A60000800000208928D0C053087 +:10AC600005F60B41000209BA6403C0174203E00075 +:10AC7000300000014203E000400000004203E00019 +:10AC8000B010000041FC00008C00050A05FC07FC28 +:10AC9000054DFA3C05FC07FF598008028C0405208D +:10ACA000050200036403000005FDF7F560101020A5 +:10ACB000500800008400054C4400100064030000AC +:10ACC0000501F00059A00C07800409C0050000052B +:10ACD000916C058005000003646B440705FDF60BCD +:10ACE000420070000010D42558381C015838220149 +:10ACF000583832028C0405000500000B59A01208D8 +:10AD0000820805000000F00305FE060582080480A5 +:10AD10000000084105FE16028208048000000100C0 +:10AD200005FC15FF40040000800C0540900005283C +:10AD3000900005A805FC05FA8C04050A050000062C +:10AD400059A03C08901C048605FE15F5901C048152 +:10AD500005FC15F38C040506050000034A01A8E470 +:10AD60000000C0008C0405040500000459E0000246 +:10AD70008400056E4803C0028C040502050000042F +:10AD8000600028EC4A002805D000000040040000C4 +:10AD9000800C0540480074018C0405000500000289 +:10ADA000480872018C04050A0500001A481C72024A +:10ADB0004C0C00004C1000004C1800000525FF97BB +:10ADC0004DF0000058383A02481FC857417800003B +:10ADD000801C3840800010C8820814000000B03782 +:10ADE00064001002801C1C8005021002640810021E +:10ADF0008000000090001C8505FC17F75C03E00054 +:10AE000005240F775C0030005C0020005C00180017 +:10AE1000480F440748134208481B440805FDF578CD +:10AE20004D4400004D34000059A28C07050DFAF383 +:10AE3000050200090515FC84050200070515FC3A0A +:10AE400005000008642744075C0268005C02880073 +:10AE500005FDF5AE5C0268005C02880005FDF5B0FA +:10AE600059A0120859A01C085934400A82203D00FC +:10AE70000000E000801C391A8C0805000500001A4B +:10AE8000900C0D07900405800500000B90040581CF +:10AE9000050000099004058305000007900405845F +:10AEA0000500000590040593050000034937C857C5 +:10AEB0006010080082204500FFFF1FFF800400DAB9 +:10AEC000802005404802680A4C0800004C1C000025 +:10AED0000525FF520515FEA50525FF415C0038003C +:10AEE0005C001000481F44085934400A82203D008D +:10AEF0000F000000801C39308C0805040502001189 +:10AF00008C0805020500000B4823C8578220450025 +:10AF1000F0FFFFFF59A01A09900C0D0F800400F0FC +:10AF20008400056E802005404802680A4803C8571F +:10AF3000481F42095C0268005C02880005FDF5308C +:10AF400082204500F07FFFFF4822680A05FDF7F9DF +:10AF500059A02C078C1405020502000559A00A0906 +:10AF6000820404800000010005021019820414000C +:10AF70000010D2255008000080025D40050000143A +:10AF80004178B000592C000580000D4005000004F8 +:10AF90008058B0005804000005FDF7FC485B4209EA +:10AFA000592C0C09592C14085808010080040C80F5 +:10AFB00005021003592C020880040C0048074407BE +:10AFC000497B4408497B420805FDF50D6477440739 +:10AFD00005FDF54E59A02C074817C8578C140516C7 +:10AFE0000502003682140500000004080502009FD7 +:10AFF0008C140500050200AA8D0C0516050000033F +:10B000006487440705FDF54159A00A0982040480BC +:10B0100000000100050211998C14050205020004CC +:10B02000820414000010D1250501F00382041400ED +:10B030000010D22550080000800005400502018D57 +:10B040004C0400004C08000005EDFD175C001000EA +:10B050005C0008000500018505011000492FC8406B +:10B060006463C842050110008C1405020502000744 +:10B070004C0800000501F99F5C00100005FE052347 +:10B08000452C100005FDF4DE4C0800000501F9D246 +:10B090005C00100005FE051D452C100005FDF4D8D0 +:10B0A000592C000E48034407800001204803420841 +:10B0B000497A580E05FDF4D259A00A098204048089 +:10B0C000000001000502116D8D0C0516050000033E +:10B0D0006487440705FDF50D8C1405020502002E5A +:10B0E000820414000010D1255008000080025D4049 +:10B0F00005000162592C1A00580C0000592C1A0C3A +:10B10000800C05800502015B91701D8205000159CC +:10B11000412C180059980002900004820502100486 +:10B120004A03B004100000000501F0054C0C0000BB +:10B1300080F01D8305180D455C00180059A0120809 +:10B14000800810E059A0040880080540480018084D +:10B1500059A0120A800810E059A0040A800805408E +:10B160004800180959A00A0959A0140B82040400C8 +:10B1700000005C0048080100480A5A0C5998000277 +:10B180009000048205FE149E4A03B00410000001E2 +:10B1900005FDF49B820414000010D2255008000025 +:10B1A00080025D4005000135592C000580000540F6 +:10B1B00005020130592C1C08592C0409580C0900AF +:10B1C000800405800502012B412C1800412C000051 +:10B1D000817405800502000F59D8010680000540E2 +:10B1E000050201248D0C052405020122599800084E +:10B1F00090000482050210044A03B104100000000C +:10B200000501F0044C0C00000515FF485C00180017 +:10B2100059A01208800810E059A0040880080540D1 +:10B220004800180659A0120A800810E059A0040A24 +:10B23000800805404800180759A00A0959A0120BB8 +:10B240008204040000005E004808000048081C0951 +:10B25000599800089000048205FE14694A03B1045D +:10B260001000000105FDF46659A00A09820404805B +:10B270000000010005021101820414000010D12514 +:10B280005008000080025D40050000FC8C1405148D +:10B2900005FE07840501F8FB05FDF4598C14051221 +:10B2A000050000038D0C0520050200F459A00A09D1 +:10B2B0008204048000000100050210F0800409C02F +:10B2C000050000EE8C1405020502008882041400BB +:10B2D0000010D1255008000080025D40050000E705 +:10B2E000592C1A00580C0000592C1A0C800C05809F +:10B2F000050000030501F968050200DE592C1A005B +:10B30000580C000048025A0C4D3400004D44000017 +:10B310004C08000061C2880F59A04A09414400004E +:10B3200081AC040050026800813669C0050000212C +:10B330005934000F4000200080001D400500001D12 +:10B34000580C0003580002118024058005000004F9 +:10B35000580C0000400C200005FDF7F84937C8578D +:10B360004947C857480FC8570501F94B0502001D4A +:10B370004D2C0000400E5800592C080005EDFC74BF +:10B380005C025800400400005934100F800C1582F4 +:10B390000500000C4807C8574813C8574804200048 +:10B3A000800409C005FE07E5481268100501F00198 +:10B3B000814689C00500000F8146884005FDF7D809 +:10B3C000800409C005020004497A680F497A6810B0 +:10B3D00005FDF7F84806680F4004200005FDF7D783 +:10B3E0005C0010005C0288005C0268000501F0A1AE +:10B3F0005C0010005C0288005C0268004D300000B8 +:10B400004D2C00004202600000110E4059325809D4 +:10B41000812E59C005000018592C00035800021154 +:10B4200080240580050200140501F91B0502000FA8 +:10B43000492FC8574D2C00004C1400004C08000048 +:10B440000539F8F55C0010005C0028005C0258002B +:10B45000050200094C0800000005FFBD05EDFC3C9D +:10B460005C0010000501F0045C0258005C02600002 +:10B470000501F0809132643059A8000B81300480BE +:10B4800005FC17E35C0258005C0260005998080252 +:10B4900080040840480730024578100059A00A0986 +:10B4A0004807C85740F0100058080801412C000018 +:10B4B00080040580050000044004100058040801C1 +:10B4C00005FDF7FB58040801480410014D2C00004D +:10B4D000412C000080F0058005180C5C5C025800CF +:10B4E00005EDFC1205FDF3C6820414000010D22500 +:10B4F0005008000080025D4005000060592C0005E6 +:10B5000080000540050000100501F8E30502005920 +:10B51000592C08054D2C0000400658005804000026 +:10B520004C00000005EDFC0A5C00000080000D40AE +:10B5300005FE07FA5C025800480258044802580504 +:10B54000850E1D26592C1C08592C0409580C09007D +:10B5500080040580050000030501F8CF05020045C1 +:10B56000412C0000817405800502001759D801069E +:10B57000800005400500000F0501F8C70502003DE9 +:10B5800042000800000FFFFF59D801068000054067 +:10B59000050000080502E00359DA590805EDFBE350 +:10B5A0008004084005FE07F94803C8570501F0313B +:10B5B0008D0C0524050000040501F8B70502002DD7 +:10B5C000850E1D2460000802800408400500100A52 +:10B5D000820404000010D1255000000080000540C6 +:10B5E00005FC07FA58000012812C058005000010A8 +:10B5F00005FDF7F659980808800408404807300808 +:10B600004578100059A00A094807C857417410002E +:10B6100058080800412C0000800405800500000641 +:10B62000400410005804080005FDF7FB492FC857D7 +:10B630000501F01058040800480410004D2C0000CB +:10B64000412C00008174058005140E385C025800FE +:10B65000592C0209820004000010D325457800000F +:10B6600005EDFBB205FDF366640B440705FDF3A78A +:10B67000647B440705FDF3A56477440705FDF3A348 +:10B6800059A00C078C0405100500000A64065A0A2C +:10B6900059A0020D48025C110001FF0C420000009D +:10B6A00000102DB95000000048025A101C01F00093 +:10B6B00059A00A0D900404860500100260040800D9 +:10B6C00082040C0000102DB65004000048025A10ED +:10B6D00064025A0A1C01F00000000002000000028F +:10B6E000000000050000000A00000014000000FF38 +:10B6F0008C14050E0502000859A0020C82000400FB +:10B700000010D22550000000800005400500002DEB +:10B710004802581248065A1159A01208800810E031 +:10B7200059A00408800805404802580859A0120A88 +:10B73000800810E059A0040A800805404802580912 +:10B7400059A0040948025C0A64065C10599800027A +:10B75000800000004803300258F01001492DE0013C +:10B76000480A58018204040000005C0059A0140B30 +:10B7700048080100480A5A0C48025A0005FDFFC15A +:10B7800059A0140D8C140508050000028408157ECC +:10B790008C14050A050000028408157C8C1405042D +:10B7A000050000038208154020000000480A580BDD +:10B7B00059A0040C48025C0C800005801C01F000BC +:10B7C0004578100005EDFB59647F44079000054162 +:10B7D0001C01F0004A025803FFFF000048065A020D +:10B7E00059A0020E48025A0959A01208800810E018 +:10B7F00059A00408800805404802580659A0120ABA +:10B80000800810E059A0040A800805404802580743 +:10B8100059A0040948025A085998000880000000FD +:10B820004803300859741000492EE800480A5800AF +:10B830008204040000005E0059A0120B48080000BA +:10B84000480A5C0948025C0859A00C0759A0140D6D +:10B850008C040508050000028408157E8C04050A86 +:10B86000050000028408157C8C0405040500000313 +:10B870008208154020000000480A580159A0020E15 +:10B88000820004000010D3254408000080000580D9 +:10B890001C01F0008C140512050000058D0C05201C +:10B8A00005020003800005800501F00290000541BB +:10B8B0004803C8571C01F0008D0C050E050000035D +:10B8C0006407440705FDF311916C0583050200141C +:10B8D000050DF84A05FE0312592402008C000502EA +:10B8E0000500004159240005497B44070515FFC3A5 +:10B8F0000500000E82000D0000FFFF000502000B96 +:10B9000082000C0000102759500408008004091020 +:10B91000820415800000008005020003641F4407B4 +:10B9200005FDF2FA4807440782000D000000FFFF02 +:10B9300048074208800001204803440859A80239FA +:10B940008200150000003500480B440A5924100BF2 +:10B950008208150000001FFF480B420B480B420BEA +:10B960008C000502050000168C0005060500000687 +:10B9700090000D0A90040D8A050200036407420A34 +:10B980000501F0188C00050A0500000690000D2244 +:10B9900090040DA205020003640F420A0501F01194 +:10B9A0008C0005080500000690000D1290040D9211 +:10B9B00005020003640B420A0501F00A0515FF8F1A +:10B9C000050200036413420A05FDF28D8C00050692 +:10B9D000050000036417440705FDF2CC6403420A26 +:10B9E00005FDF287646F440705FDF2C859A8004CB5 +:10B9F0004803440859A8004D4803420A05FDF28057 +:10BA0000420078000010D8A259A004074803C85784 +:10BA100090000C8A05FE12C20C01F00100102EF9F4 +:10BA200000102E9900102EA600102EB600102ED554 +:10BA300000102EFA00102E9200102E9200102F06E9 +:10BA400000102F4100102E9305FDF2B559A00208F9 +:10BA500048007C0159A0040848007A0105E9FFC1AB +:10BA60000501F061916C058005FC02A859A00A0847 +:10BA700059A00408900001C080040D404807C85731 +:10BA800059A00A0959A00409900001C080040D4082 +:10BA90004807C8570501F054916C058005FC029BCE +:10BAA00059A0040859A01208900001C08008154050 +:10BAB00059A0040959A01A09900001C0800C1D402A +:10BAC000420000000010FAFF480FC857480BC85743 +:10BAD000600008200509F70C59A00A0859A00408BD +:10BAE000900001C080041D40820C0C800010C74BE8 +:10BAF00005FE128B820C0C800010000005FC1288E1 +:10BB0000480FC857903C7C22503C0800800409C074 +:10BB100005000005903C05A605FC0281803C7800EC +:10BB200005FDF7FA59E4100182080D00FFFEFFCF72 +:10BB30004807C801440C7800460018000201F800CC +:10BB4000800C18004600180000100599480BC80129 +:10BB50000501F02559A01A0859A00408900001C059 +:10BB6000800C1D40480C780359A0220959A00409F3 +:10BB7000900001C0801025404810780459A0020AA6 +:10BB800040001000480078078000004005FC126467 +:10BB900048007808600008800521FE8B8000054081 +:10BBA0000500000205FDF25E40040000800C1C0050 +:10BBB00005FC125B4800780A480C780548107806A6 +:10BBC0004978780C59A0040A800000C44800780B1A +:10BBD00059E400014803C8578200054000040000F2 +:10BBE0004803C80105FDF2064978780349787804CE +:10BBF000497878084978780749787803497878054A +:10BC0000497878064978780C4978780B59E400012E +:10BC10008400052405FDF7F34978781F49787814E6 +:10BC2000497878154978781D4978781749787818CF +:10BC300059A01A0859A00408900001C0800C1D40AA +:10BC4000480C780E480C7819480C781B59A022092A +:10BC500059A00409900001C0801025404810780FB9 +:10BC60004810781A4810781C59A0020A8000054034 +:10BC700005FC022B48007813600008084000100003 +:10BC80000521FE518000054005FE0225400400000C +:10BC9000800C1C0005FC1222480C7810481078110A +:10BCA0004A03420A0000040059A0040A4800781E12 +:10BCB000850E1D6A59A0040B48007A1259A0020C87 +:10BCC00048007C12600C000005E9FF018010200094 +:10BCD0004810780D48134209901021C048134409B8 +:10BCE00059E400524803C8574A007816000004007F +:10BCF000903C041648034208900001C048034408E1 +:10BD000005FDF1BF583C0800830E1D00FFCFFFFF6B +:10BD100048EC78204A01D80200000100583C001786 +:10BD200082000500000000FF050200084807C85710 +:10BD30008C0405020500000484040D4848047800C2 +:10BD40001C01F0000501F00305F1FC191C01F000D5 +:10BD5000420078000010D8A2583DD82058EF400B80 +:10BD600040EC6000583C000048EFC85749A3C85752 +:10BD70004803C857820005000000FFC04800780053 +:10BD8000583C001D4803C857583C08194807C85775 +:10BD900048074208900409C048074408583C081A5C +:10BDA00048074209900409C048074409583C081B49 +:10BDB0004807420A900409C04807440A583C081C36 +:10BDC0004807420B900409C04807440B497878188B +:10BDD000583C00174978781782000500000000FFE2 +:10BDE00005FE018005FDF18659A8000548034407BA +:10BDF00059A800064803420859A800074803440808 +:10BE000005FDF17F05E9FE244803C85659A0020C40 +:10BE10004803C8578C00051E050A07F38C00051A55 +:10BE2000050000050509FF8F05000018650344079C +:10BE300005FDF1B605F5FF2D0500000305F5FF1220 +:10BE400005000003648B440705FDF1B04A03C013ED +:10BE5000038003004A03C0140380038059A00C0729 +:10BE600082040580000000A0050000048204058013 +:10BE7000000000A20502001E59A0140B82080480D5 +:10BE8000000001000502101A0509FF7C05FE01A44F +:10BE900059A0020C8C0005000502001F59A00A0BD6 +:10BEA000800409C005000012B004048105021010CE +:10BEB0000509FDEF0500000A59A01008900811C0FF +:10BEC00059A0180A900C19C059A00A0B0509FE0ABE +:10BED0004A01D80900102FBE1C01F000640B440772 +:10BEE0004A03C0140380000005FDF1884A03C01412 +:10BEF0000380000005FDF18A4031D80058EF400B67 +:10BF000058EE580D58EC0002820005800000020037 +:10BF100005FC017559A00C0759A0140B59A0020C7F +:10BF20008C0005000502004F912E5C084178C0008E +:10BF300059A0BA0B0509FF620500000A05F9F8C708 +:10BF400005E80DD505F9F92D05000003650744073F +:10BF500005FDF16D05F9F94259A00C0759A0140B24 +:10BF600040600000812C04005000C80082641D0065 +:10BF7000000000FF4C0400004C0800000509FF50C1 +:10BF8000050000028408157E0501F9415C001000DF +:10BF90005C0008000500005F805CB84005000058A8 +:10BFA0008008100082641D000000FF00800C191042 +:10BFB0004C0400004C0800000509FF410500000288 +:10BFC0008408157E0501F9325C0010005C00080051 +:10BFD00005000050805CB840050000498008100052 +:10BFE00082641D0000FF0000800C19204C0400003A +:10BFF0004C0800000509FF32050000028408157E88 +:10C000000501F9235C0010005C00080005000041F8 +:10C01000805CB8400500003A8008100082641D0072 +:10C02000FF000000800C19304C0400004C08000098 +:10C030000509FF23050000028408157E0501F91497 +:10C040005C0010005C00080005000032805CB84015 +:10C050000500002B800810008060C00005FDF7C1BE +:10C0600059A0020B82000500000000FF40001800EC +:10C070000509FF130500002005F9F87805E80D868D +:10C0800005F9F8EF59A00C0759A0140B820405809C +:10C09000000000E00500001305F9F8F182040580B6 +:10C0A000000000A00500000782040580000000D009 +:10C0B00005FE011A4807C8578408157C0501F009D8 +:10C0C00005F9F8CE050000036507440705FDF10EEC +:10C0D00005F9F8E359A00C0759A0140B8408157E44 +:10C0E0000501F8EB0500000B4817C85705F9F86380 +:10C0F0000501F0030501F8E6050000060509FEF05C +:10C1000005FA085E4A03C0140380000005FDF0BC78 +:10C110000509FEEB05FA08594A03C0140380000024 +:10C120006413440705FDF0F94803C85659A0020CF2 +:10C130004803C8578C00051E050A06E48C00051A42 +:10C14000050000050509FEC7050000186503440742 +:10C1500005FDF0EE05F5FE650500000305F5FE4A58 +:10C1600005000003648B440705FDF0E84A03C01393 +:10C17000038003004A03C0140380038059A00C0706 +:10C1800082040580000000A00500000482040580F0 +:10C19000000000A2050200BB59A0140B8208048015 +:10C1A00000000100050210B70509FEB405FE00DC21 +:10C1B00059A00C0759A0140B4807C857480BC8577B +:10C1C00059A0020C8C0005000502006959A01A0B49 +:10C1D000800C19C0050000ABB00C0481050210A949 +:10C1E0000509FD2305020006640B44074A03C01439 +:10C1F000038000004803C85705FDF0C4912E5C0879 +:10C200004178C00059A0BA0B0509FEAD0500000831 +:10C2100005F9F81205E80D2005F9F8780500000386 +:10C220006507440705FDF0B805F9F88D59A00C071E +:10C2300059A0140B4803C85740600000812C04002B +:10C240004000C8004C0400004C0800000509FE9C9A +:10C25000050000028408157E0501F8C85C00100086 +:10C260005C000800050000814414C800805CB840F0 +:10C2700005000034800810004C0400004C08000049 +:10C280000509FE8F050000028408157E0501F8BB34 +:10C290005C0010005C0008000500007450640000A1 +:10C2A000801428D0801405404400C800805CB84049 +:10C2B00005000024800810004C0400004C08000019 +:10C2C0000509FE7F050000028408157E0501F8AB14 +:10C2D0005C0010005C000800050000645064000071 +:10C2E000801428E0801405404400C800805CB840F9 +:10C2F00005000014800810004C0400004C080000E9 +:10C300000509FE6F050000028408157E0501F89BF3 +:10C310005C0010005C000800050000545064000040 +:10C32000801428F0801405404400C800805CB840A8 +:10C3300005000004800810008060C00005FDF7BE05 +:10C340000509FE5F05F60FCD59A00A0B59A010088C +:10C35000900811C059A0180A900C19C04A03C014C3 +:10C3600003800000412C00000509F4E54803C8578C +:10C370000509FE530500003705F5FFB805E80CC6B2 +:10C3800005F9F82F59A00C0759A0140B8204058059 +:10C39000000000980502000D59A800748C000520CB +:10C3A0000500000659A8286D9014050F050200032A +:10C3B0008C1405080500001C900805810502001A70 +:10C3C000600010000501F01882040580000000E004 +:10C3D0000500001505F9F82282040580000000A080 +:10C3E0000500000982040580000000D005FE004B16 +:10C3F0004807C8576140B8010501F84C406428005F +:10C400000501F01105F5FFFD050000036507440770 +:10C4100005FDF03D05F9F81259A00C0759A0140BC1 +:10C420008408157E0501F8550502000365074407D9 +:10C4300005FDF03559A00C07820405800000009826 +:10C4400005F8081D4817C85705F5FF8C0501F003CE +:10C450000501F84A05000005481744074A03C014BF +:10C460000380000005F9F7E60509FE1505F60F83C0 +:10C470004A03C014038000006413440705FDF02341 +:10C480004A03C0140380000005FDF0254C5C000049 +:10C490004C6000004C6400004004B8004008C0003C +:10C4A000400CC8000501F881050000190501F8AF2E +:10C4B0000502001B8C60053C0502000C8C60053EEB +:10C4C000050000074060B800825CBD000000FF006E +:10C4D000805CB9100501F8A5050200114060B800A4 +:10C4E0000501F8A20502000E4064B8000501F89F9E +:10C4F0000502000B0501F88D4CE800006021D027F3 +:10C500000521FA435C01D000900005415C00C800A1 +:10C510005C00C0005C00B8001C01F0000501F8835D +:10C520008000058005FDF7FA4C5C0000485FC857A5 +:10C530000501F85E05000008905CBD410501F88B1F +:10C54000050200090501F8C70501F8F90501F877AA +:10C55000900005414803C8574867C8575C00B800B9 +:10C560001C01F0000501F871800005804803C857E0 +:10C57000485FC85705FDF7F84C5C00004C600000B0 +:10C580004C6400004807C857480BC8574004B8001F +:10C590004008C0000501F845050000160501F873C4 +:10C5A000050200198C60053E050000094C5C000086 +:10C5B0004060B800825CBD000000FF00805CB910E4 +:10C5C0000501F86A5C00B8000502000F4C5C000031 +:10C5D0004060B8000501F8655C00B8000502000A7B +:10C5E00005FDFFD2050000030501F850900005414C +:10C5F000406428005C00C8005C00C0005C00B8001B +:10C600001C01F0000501F849800005804803C85767 +:10C610004867C85705FDF7F74CE800004C58000084 +:10C620004803C8566030B0006029D0000521F9F8F1 +:10C630004A03C013020002006029D0000521F9F46A +:10C640004A03C013020000008058B04005FE07F7FF +:10C6500061A008074A03C013038003008004084058 +:10C660000500000F4A03C0140380000059E00013C6 +:10C670004A03C01403800380820005000000030009 +:10C68000820005800000030005FE07F390000541CD +:10C690005C00B0005C01D0001C01F0004803C857EA +:10C6A0008000058005FDF7FB4CE800004803C856F4 +:10C6B00061A008074A03C0130380030080040840F8 +:10C6C000050000164A03C0140380000059E000135F +:10C6D0004A03C014038003808200050000000300A9 +:10C6E000820005800000030005FE07F36029D000EA +:10C6F0000521F9C74A03C013010000006029D000DA +:10C700000521F9C34A03C01302000000900005414F +:10C710005C01D0001C01F0004803C85705FDFFBFB5 +:10C7200005FE07F305FDF7FB4803C8564A03C0138F +:10C73000010000004CE800006029D0000521F9B498 +:10C740005C01D0004A03C013020002004CE8000064 +:10C750006029D0000521F9AE5C01D0004A03C01366 +:10C76000010001001C01F0004C5C00004C60000066 +:10C77000485FC8576020C000825C05000000008050 +:10C78000800000C282000540010000004803C01381 +:10C790004CE800006029D0000521F99D5C01D00023 +:10C7A0004A03C013020002004CE800006029D000D8 +:10C7B0000521F9975C01D0004A03C0130200000074 +:10C7C000805CB8C28060C04005FE07EC4A03C0131D +:10C7D000010001004CE800006029D0000521F98C1F +:10C7E0005C01D0004A03C013020002004CE80000C4 +:10C7F0006029D0000521F9865C01D0004A03C014ED +:10C800000380000061A0080759E0B813825CBD00F6 +:10C81000000001008004084005000004405C0000A6 +:10C820008000054005FE07F94A03C0140380038019 +:10C830004A03C013020000004CE800006029D00049 +:10C840000521F9735C01D000485FC857405C0000C7 +:10C85000800005405C00C0005C00B8001C01F000D6 +:10C860004C6000004803C8564A03C0130100010091 +:10C870006020C00061A0C8074CE800006029D0001B +:10C880000521F9635C01D0004A03C01302000200D5 +:10C890004A03C0140380000059E000134A03C01487 +:10C8A00003800380820005000000020005020003EF +:10C8B0008064C84005FE07F74178C8000501F0070D +:10C8C0004CE800006029D0000521F9515C01D0003E +:10C8D0004A03C013020002004CE800006029D000A7 +:10C8E0000521F94B5C01D0004A03C014038000000D +:10C8F00059E000134A03C01403800380820005003E +:10C9000000000100800001108064C8C28064CD4036 +:10C910004A03C013020000008060C04005FE07E922 +:10C920004867C8575C00C0001C01F0004803C856A7 +:10C930004A03C013010001004CE800006029D00048 +:10C940000521F9335C01D0004A03C0130200020044 +:10C950004CE800006029D0000521F92D5C01D000D1 +:10C960004A03C013020000001C01F00059A0040893 +:10C9700059A8084C4803504C4807440859A00A0AD3 +:10C9800090040494050210026140080F59A8004D5C +:10C990004807504D4803420A05F9F69959A0040783 +:10C9A00059A00A08900409C080040D4059A0040849 +:10C9B00059A01209900811C08008154059A0040917 +:10C9C00059A01A0A900C19C0800C1D4059A0040AE5 +:10C9D00059A0220B901021C0801025400549FC254C +:10C9E00005F8068705F9F6DE916C05800500000A5A +:10C9F00059A8000559A00C0780041580B00815003F +:10CA000005F8067F800805804803500505E9FD11FB +:10CA100005F9F67B59A0040759A8080548035005F5 +:10CA200080040D808C04050C05EA0D0A59A002084B +:10CA3000599C08188C040510050000028400054A62 +:10CA40004803500659A004088C00051A0500000987 +:10CA5000600018EC60140800580C10064A00180515 +:10CA600070000005900C1C208004084005FE07FBA8 +:10CA70004803500705F9F6628D0C050E050000030A +:10CA80006407440705F9F6A10515FB5C05020003E0 +:10CA9000645B440705F9F69D916C0583050000036E +:10CAA000641F440705F9F69959A00C078204050094 +:10CAB000FFFFFF0005FA069A82041580000000FFC0 +:10CAC0000502000759A8002D82000500000000FFA4 +:10CAD000820015400000FF000501F00F82040400F1 +:10CAE00000102759500000008000011082000580CE +:10CAF0000000008005F8068A59A8002D8200050074 +:10CB0000000000FF8004158005F80685840409C034 +:10CB1000800415400529FF0B05020003640F44073C +:10CB200005F9F67A48EE602D480A621E4A02641E34 +:10CB30000000BC09640664070509FACD050200047B +:10CB40000005FFBD640B440705F9F670497A5A08E1 +:10CB5000497A58094A025C08000080004A01D80955 +:10CB60000010331A492E600960CA70000005F7DB17 +:10CB70008D0C050E050000036407440705F9F663F4 +:10CB80000515FB1E05020003645B440705F9F65F0B +:10CB9000916C058305000003641F440705F9F65BEB +:10CBA00059A00C0782040500FFFFFF0005FA065C90 +:10CBB00082041580000000FF0502000759A8002D1F +:10CBC00082000500000000FF820015400000FF0009 +:10CBD0000501F00F820404000010275950000000E6 +:10CBE00080000110820005800000008005F8064CDE +:10CBF00059A8002D82000500000000FF8004158068 +:10CC000005F80647840409C0800415400529FECDB7 +:10CC100005020003640F440705F9F63C48EE602D59 +:10CC2000480A621E4A02641E0000BC0564066407CE +:10CC30000509FA8F050200040005FFBD640B4407D7 +:10CC400005F9F632497A5A08497A58094A025C08C5 +:10CC5000000080004A01D8090010331A492E6009EB +:10CC600060CA70000005F7DB592C000982000580BE +:10CC70000100000005FA05E26413440705F9F623F4 +:10CC8000497B4407497B42088D0C052005000008BC +:10CC900059A8008859A808898004048059A8088ADE +:10CCA0004807440780041480480B42080509FB9A92 +:10CCB0004803440859A8102B59A8028C8008048006 +:10CCC0004803420A495F440A59A800384803420C05 +:10CCD0004A03440C000000FE05F9F5C98D0C050E51 +:10CCE000050000036407440705F9F60859A0040786 +:10CCF0008C0005000502000D59A8008B816404809A +:10CD00000500100859A8000B815005800500000798 +:10CD100059A8008959A810888008058005000003DB +:10CD20006463440705F9F5F9850E1D584803C85694 +:10CD3000850E1D460509FF4905F9F5B14803C8569A +:10CD40008D0C050E05FA05FA59A004078C00051E86 +:10CD5000050000074803C85659A0020C8200048051 +:10CD6000000008000500100F05F9F5ED4803C8564E +:10CD700059A0020C599C0A0180040480050210028B +:10CD800005F9F5E759A8002B816405800500000529 +:10CD90006463440705F9F5DD6417440705F9F5DB1D +:10CDA00059A802398C00050A05FC07FC59A00407A4 +:10CDB0008C00051E050000330529FE6205020003F4 +:10CDC000640F440705F9F5D10509FA2905020004A5 +:10CDD0000005FFBD640B440705F9F5CC497A5A08F4 +:10CDE00059A004074802620C59A0020A4802640CC8 +:10CDF00059A0040A4802620D59A0020E4802620EB0 +:10CE000059A0040E4802640E59A0020F4802620F96 +:10CE100059A0040F4802640F59A002114802621081 +:10CE200059A004114802641059A0020C4802640D74 +:10CE30000501F9F005FC07E748EE602D58EE580DA6 +:10CE40005930021059301C10900C19C0800C1D4034 +:10CE50005930020E5930140E900811C08008154048 +:10CE6000592C0A09912C040A0509FA234A01D80908 +:10CE70000010351A64074000493340011C01F000DE +:10CE80000509FD8905FA05AE0521FF64598E600B81 +:10CE90000525FA5E0521FF61417A30000525FCA0D9 +:10CEA00059926005813261C0050000070525F9909F +:10CEB0000521FF2E0521FF336002782060BA800033 +:10CEC0000521FDEF811A30009118048505FC17F447 +:10CED00005EDF8550501F88F497B50A5640344081A +:10CEE0004201D000003D0900051DFFF959C408802A +:10CEF0004C04000059C408A34C040000497B4002C4 +:10CF00000501F8920501F8AC4A03A00510000000E5 +:10CF10004A038805000000F00501F8C60501F91371 +:10CF20000500006C59DC08068204050043200F80D0 +:10CF300005000007820405008000000005000004D1 +:10CF40004A0344080000DDDD0501F06259D00806FF +:10CF50008204050043DC0700050000078204050089 +:10CF600080000000050000044A0344080000DDDDE5 +:10CF70000501F05859C80001800001C005FC07E810 +:10CF800059C8001882000500F000000059C00808C8 +:10CF900082040D000FFFFFFF800405404803800856 +:10CFA00005EDFBFC59C000064A0380061000000096 +:10CFB00059C0000982000D0000E0000005020020B9 +:10CFC0006403900D59C8002082000500FF00000096 +:10CFD0008200058032000000050200196407900DF0 +:10CFE00059C8002082000500FF0000008200058073 +:10CFF000E1000000050200126403900D59C80020F2 +:10D000008200050000FFFFFF6403900D59C808214E +:10D0100082040D0000FFFFFF800405800502000868 +:10D0200059A8002D800405800502000559C400059B +:10D0300082000500000000F0050000054803C85606 +:10D040000501F8D7640750A50501F0020501F8E2D3 +:10D0500061900000800000400502001A05F5F89676 +:10D060000502000C59C4000582000500000000F014 +:10D070000502000B0501F8BD0500000C59C00007B2 +:10D0800082000500000501C00502000B497B440831 +:10D090004A0344080000AAAA0501F00E4A03440806 +:10D0A0000000BBBB0501F00B4A0344080000CCCCD8 +:10D0B0000501F0084A0344080000DDDD0501F00524 +:10D0C00059C0080790040D0C05FC07E30501F002A8 +:10D0D000640750A50501F8C50509FD0A0525FA51A3 +:10D0E0000501F8134201D000000186A0051DFF785C +:10D0F0005C000800480788A35C0008004807888097 +:10D1000059A800A5800001C005F804BD05F9F50C7B +:10D11000599C0201480350A64178080060401076EF +:10D120000521F945480B50A71C01F0000521FEAC74 +:10D1300059B800EA90000507900005830502000237 +:10D14000640770E81C01F000600380EE4A0380066B +:10D150003000000059C000078C00050A05FE07FEDC +:10D1600059C0000659A0020A59A00C0A900409C02F +:10D1700080040D404807800159A0020F59A00C0FF0 +:10D18000900409C080040D404807800059A0020C9B +:10D19000480380024803800348038005497B9009C7 +:10D1A00059E0000382000540000080604803C0038E +:10D1B0001C01F000417808008007A0CA83D3A400B6 +:10D1C000000076006100080005F1FAD36407A00AA8 +:10D1D0004A03A0052000000059D000064A03A0051C +:10D1E0003000000059D000068C00050A05FE07FE3D +:10D1F00059D0000559A0021159A00C11900409C082 +:10D2000080040D404807A00159A0020E59A00C0E41 +:10D21000900409C080040D404807A00059A0020CEA +:10D220004803A0034803A0024803A0081C01F00023 +:10D2300059A000024803C857800001C00502004AF7 +:10D2400059A800A74803888059C400A3820005405C +:10D25000000020088400053A480388A359C4000848 +:10D2600082000500FFFFFFE1820005400000028010 +:10D270004803880859C8004084000534480390409A +:10D280000501F8F00502001259A8002D800000D019 +:10D29000900005514803912059A8002D82000500F7 +:10D2A00000FFFFFF8200054032000000480391218B +:10D2B0004A039123E129000859A8002D82000500A6 +:10D2C00000FFFFFF480391220501F01559A8002D2A +:10D2D00082000500000000FF900009C0840001C02A +:10D2E00080040540900005404803912059A8002D76 +:10D2F00082000500000000FF8200054001000000E0 +:10D30000480391214A0391230821000859A8002DC0 +:10D3100082000500000000FF48039122497B912410 +:10D3200059A80CA880040800480754A8900409C014 +:10D33000820405400000AAAA48039125497B912652 +:10D34000497B912759C801010501F8BE0502000477 +:10D350004A0391000000E9800501F0034A039100AF +:10D360000000E9A01C01F000900005410502500BEF +:10D370004203E0008000000040E81000417808000F +:10D38000619000000521F8AC5994002E800804003B +:10D390004803282E800005801C01F0004D900000FD +:10D3A0004DD000004DA400004D1400004CD80000EA +:10D3B000417A30000525FB5A0525F84D5C01B00087 +:10D3C0005C0228005C0348005C03A0005C032000B2 +:10D3D0001C01F00059C800078C0005000500000280 +:10D3E00064C3900D1C01F0004A0388050002000090 +:10D3F00060F0080005F1FA484A0388910000FFFF39 +:10D4000059C80035480390356503900D600380EEE0 +:10D4100005EDFAE04A03800620000000608380EEFC +:10D4200005EDFADC4A038006200000004A03A0054F +:10D43000200000004A03A005300000004A03B805A0 +:10D44000300000014A03B8052000000059DC08063E +:10D450008C04050A05FE07FE59D008068C04050A4F +:10D4600005FE07FE1C01F0004031D80058EF400BCC +:10D4700058EE580D58EC00028200058000000200B2 +:10D4800005F804194D30000059A2600159A00000B0 +:10D490004000B0008000000048034000592C00010B +:10D4A000800005400500001A400258008058B04036 +:10D4B00005FE07FB58EC100758EC1808592C0A0910 +:10D4C0004D2C000058EC000D40025800592C020869 +:10D4D0005C02580082000580000001030500000680 +:10D4E000912C040A0509F8844A01D8090010351A5C +:10D4F0000501F005912C040A0509F8814A01D809B3 +:10D500000010351A5C0260001C01F00058EC000DA0 +:10D5100040025800592C02088200058000000103D7 +:10D52000050200040005FFBD5C02600005F9F3B4CC +:10D5300058EC000D40025800592C04088400055E88 +:10D5400048025C0861F6880F4200300000FFFFFDD2 +:10D55000050DFD6B59A26001050000050005FFBD2A +:10D56000497B44075C02600005F9F3E80539F94995 +:10D5700005FC07FB4A01D8090010356005FDF7E2FC +:10D58000592C0009820005800100000005000013ED +:10D590004D30000059A260015930020D59301C0C69 +:10D5A000900001C0800C1D405930040F5930120FFB +:10D5B000900001C080081540592C0A09912C040ADA +:10D5C0000509F84F4A01D8090010351A64074000D0 +:10D5D0005C0260001C01F0004D30000059A26001A7 +:10D5E0004933C8570529FC245C02600005F9F3D4CF +:10D5F0004933C8574C3000005930040D90000CB826 +:10D600000500100364E25A090501F00348025A09B3 +:10D610000501F009800409C0050000074C04000062 +:10D620000509F8135C000800050000044004000030 +:10D6300005FDF7F3900005415C0060001C01F0005F +:10D6400059A00207B00005841C01F000490FC8571B +:10D650008D0C050E0500000705F1FD1E05020005F5 +:10D66000600C000005F1FEE6600C000005F1FEB460 +:10D6700059A00407900005070C01F001001035A81F +:10D68000001035AE001035C5001035A7001035A7C5 +:10D69000001035A7001035A7001035A705F9F3A035 +:10D6A0006008081005F1FF42900405426008081068 +:10D6B00005F1FF440501F00D6008081005F1FF3C7D +:10D6C000900405416008081005F1FF3E60300848ED +:10D6D00005F1FF37820405400000008060300848F3 +:10D6E00005F1FF380501F00159C800404C00000069 +:10D6F00059A8002D4C00000059C400A34C000000A4 +:10D7000059C400084C0000000501F9270500003A43 +:10D7100005E5FFE18D0C050E0500002359C4000648 +:10D7200084000500480388060525F87D497B88802C +:10D7300059C400A382000500FCF8FFFF480388A33A +:10D740006012D8006407880505E9F9EF05F1FE735A +:10D75000497B50586407506559A8009784000540DC +:10D76000480350974803C8574A01D809001035DECE +:10D77000645350681C01F000420000000010D0E229 +:10D780005000080084040D084404000059A80097C4 +:10D7900084000500480350974803C8578D0C050EB8 +:10D7A00005FA03630515F81505020003645B4407D9 +:10D7B00005F9F356916C058305FA035D59C408A475 +:10D7C00090040D0F9004058005FA03590509FB36F6 +:10D7D00005FA035F59C800404C00000059A8002D0D +:10D7E0004C00000059C400A34C00000059C40008BC +:10D7F0004C00000059C400804C00000059A00210E9 +:10D8000059A0BC10905CB9C0805CBD404178480014 +:10D810004178500041785800417890004178980054 +:10D8200005FDFE3C640344080521FCFC598E600B99 +:10D830000521FFF60521FCF9417A30000525FA386B +:10D8400059926005813261C0050000070521FF285B +:10D850000521FCC60521FCCB6002782060BA80005F +:10D860000521FB87811A30009118048505FC17F407 +:10D8700005E9FDED4178C000497B40020501F9272B +:10D8800059A00408820005800000DDDD050000725B +:10D890000501F96759A00408820005800000DDDD5C +:10D8A0000500006D59A0020D59A00C0D80040D401B +:10D8B000050000020501F9A90501F9A805FDFE5DB5 +:10D8C0008060C1C0050200140501FA3959A004089E +:10D8D000820005800000DDDD0500005F05FDFEA380 +:10D8E0000502000A05F1FE7405020006645F4407A4 +:10D8F00005F9FB064203E000500000000501F000BE +:10D9000060A859550501F05959C80001800001C0AF +:10D9100005FC07EE59C80801800409C0050000068F +:10D920000501FA114024000080280540802C0540A4 +:10D930000502004E59A0000282000580FEEDBEEFF8 +:10D940000500000442008800100000000501F003FB +:10D9500042008800100000040501F9BF4A0340029C +:10D96000FEEDBEEF0501FA1259A004088200058001 +:10D970000000DDDD050000380501FA3E59A004086D +:10D98000820005800000DDDD0500003305FDFE920C +:10D9900059C400058C0005340500000360EC59777C +:10D9A0000501F03205FDFE7105020006613059994E +:10D9B000485F4210905CB9C0485F44100501F02BED +:10D9C00059A0040D800001C00500000E59A260009E +:10D9D0005930000F800001C005FE07B859A2600150 +:10D9E0005930080F800409C005FE07B4804891C073 +:10D9F00005FE07B2804C99C005FE07B00501F85D31 +:10DA0000805CB840050000054024000080280540E7 +:10DA1000802C0540050200154200000000030D4067 +:10DA2000800000400502000E59C00007820005007A +:10DA3000000501C00502000805F1FE1F05020006F1 +:10DA4000645F440705F9FAB14203E00050000000AA +:10DA50000501F000617459BB0501F00459C00807C5 +:10DA600090040D0C05FC07EF05FDFE4D59A0040DBB +:10DA7000800001C0050000020501F83E05FDFE5BC7 +:10DA80004024000080280540802C0540050200034A +:10DA9000805CB9C005FE07780509FA9A0521FFE107 +:10DAA00005FDFDA34201D000000186A0051DFD0873 +:10DAB0005C000800480788805C0008004807880868 +:10DAC0005C000800480788A35C0008004807502D48 +:10DAD0005C0008004807904005E9FBDB59A00407FB +:10DAE00090000503900005820500001A60080810E8 +:10DAF00005F1FE2F82040500FFFFFFFC60080810FF +:10DB000005F1FE306030084805F1FE298204050069 +:10DB1000FFFFFF7F6030084805F1FE2A0511FF4333 +:10DB20000500000C4A0388A70000F7F742006000D8 +:10DB3000BEFFFFFF4200680080018000050DF93F35 +:10DB400042006000FFFEFFFF41786800050DF93BD1 +:10DB5000402C0000802805408024054005F802285C +:10DB600048274407482B4208482F440805F9F27813 +:10DB700059A26000813261C00500000A593258097B +:10DB8000812E59C0050000070005FFBD05E9FA70A8 +:10DB900059A26001593258090005FFBD05E9FA6C28 +:10DBA0001C01F00061BC080105F1FB424A03502D45 +:10DBB000000000EF59C400A38400055A8400053A10 +:10DBC000480388A305F1FBAB0502000660040000D2 +:10DBD00005F1FD8B6004000005F1FD590501F0130E +:10DBE00005F1FBAA050200066000000005F1FD84B6 +:10DBF0006000000005F1FD520501F00C05F1FBA9E4 +:10DC0000050200066008000005F1FD7D60080000C7 +:10DC100005F1FD4B0501F005600C000005F1FD78F4 +:10DC2000600C000005F1FD466051D000051DFC7838 +:10DC300059C4000882000500FFFFFFE18200054093 +:10DC400000000280480388084A0388A70000F7F70D +:10DC50004A0388050400000142006000BE20BFFFA7 +:10DC60004200680080018000050DF8F44200600069 +:10DC7000FFFEFFFF41786800050DF8F06020B02737 +:10DC80006051D0004C580000051DFC6105F1FD8A73 +:10DC90005C00B000050000048058B04005FE07F9A4 +:10DCA0000501F01C59C400058C000534050200056F +:10DCB00059C400A49000050F9000058805020015C6 +:10DCC0004200600000020000050DF8E16191D00003 +:10DCD000051DFC4F42006000FEFFFFFF4200680090 +:10DCE00002000000050DF8D542006000FDFFFFFFB7 +:10DCF00041786800050DF8D14A0388050400000149 +:10DD000059C400A49000050F900005800500000292 +:10DD1000900005411C01F0004803C856600380EEE6 +:10DD200005EDF89C59C0000659A0040D800001C003 +:10DD30000500003759A03C0D59A0020A59A01C0A41 +:10DD4000900C19C0800C1D4059A0020F59A0240F3F +:10DD5000901021C08010254059A0020C82000500BF +:10DD60000000FFFC59A0140C900811C08008154059 +:10DD7000480B80030529FA7305E40E474933400038 +:10DD800005E9F9DA64625A084A02580900ABCDEF96 +:10DD9000492E6009492E600D481E600F6412600E06 +:10DDA000912C04154802600C60301000901C0D810D +:10DDB00005000008801C38400501F96259A00408DC +:10DDC000820005800000DDDD050000110501F00482 +:10DDD000417838000501F95B0501F00D901C0C85B8 +:10DDE000050010044004380060F010000501F00543 +:10DDF000800015809008140C801C384005FE07FE3A +:10DE0000912C04090501F94F05FE07F5497B90099E +:10DE100059E0000382000540000080604803C00311 +:10DE20004A03800900E000001C01F0004803C856C6 +:10DE3000417808008007A0CA83D3A40000007600C0 +:10DE40006100080005EDFFB46407A00A4A03A005BD +:10DE50002000000059D000064A03A0053000000051 +:10DE600059D000068C00050A05FE07FE59D00005B2 +:10DE700059A0020D800001C00500003759A03A0DDD +:10DE800059A0021159A01C11900C19C0800C1D4002 +:10DE900059A0020E59A0240E901021C080102540D8 +:10DEA00059A0120C820815000000FFFC59A0040CB8 +:10DEB000900001C080081540480BA0030529FA21F5 +:10DEC00005E40DF54933400105E9F98864625A0813 +:10DED0004A02580900ABCDEF492E6009492E600D6A +:10DEE000481E600F6412600E912C04154802600CED +:10DEF00060301000901C0D8105000008801C384027 +:10DF00000501F91059A00408820005800000DDDD3C +:10DF1000050000110501F004417838000501F909F8 +:10DF20000501F00D901C0C8505001004400438001C +:10DF300060F010000501F005800015809008140CB9 +:10DF4000801C384005FE07FE912C04090501F8FDF0 +:10DF500005FE07F51C01F0004803C85659A0020D44 +:10DF6000800001C005000020904C058205000039AA +:10DF700059A260015930380F801C39C005000035A6 +:10DF8000801C3840481E600F5932580D5930080C1B +:10DF9000500420005804180158041002820815008B +:10DFA000FFFFFFFC5930000E8000000090000D853F +:10DFB00005020008497A600E592E5801812E59C079 +:10DFC00005000018492E600D912C0C090501F00484 +:10DFD0004802600E5930080C90040C034806600C8F +:10DFE0000501F01059A0120C820815000000FFFC7A +:10DFF00059A0040C900001C080081540480BA003F4 +:10E0000059A0020E59A0240E901021C08010254066 +:10E0100059A0021159A01C11900C19C0800C1D4070 +:10E020006061D075051DFBAA480BA00259A800A687 +:10E030004803A0084813A000480FA0014A03A00508 +:10E040001000000005E45D94804C980090000541AC +:10E050001C01F0004847C85759A0040D800001C0BA +:10E0600005000020904805820500003E59A260008E +:10E070005930380F801C39C00500003A801C3840E8 +:10E08000481E600F5932580D5930080C50042000BA +:10E09000580418015804100282081500FFFFFFFC05 +:10E0A0005930000E8000000090000D850502000828 +:10E0B000497A600E592E5801812E59C00500001B67 +:10E0C000492E600D912C0C090501F0044802600EE8 +:10E0D0005930080C90040C034806600C0501F0133D +:10E0E00082440580100000000502001E59A0020FA6 +:10E0F00059A0240F901021C08010254059A0020A79 +:10E1000059A01C0A900C19C0800C1D4059A0020C8B +:10E11000820005000000FFFC59A0140C900811C0FB +:10E1200080081540480B800348138000480F800189 +:10E13000480B800259C8001882000500F00000005A +:10E1400059C02008821025000FFFFFFF80100540F6 +:10E150004803800848478006804890009060C54189 +:10E160001C01F00059C000094803C85782000D0087 +:10E1700000E000000500000D485F4210905CB9C04F +:10E18000485F44108C00052E0500000280285000D6 +:10E190008C00052C05000002802448008C00052A14 +:10E1A00005000002802C58001C01F00059D0080620 +:10E1B0008204050043DC0700050000078204050017 +:10E1C00080000000050000044A0344080000DDDD73 +:10E1D0000501F02759A0020D800001C005000024B0 +:10E1E00059D008064807C8578C04053E0500002092 +:10E1F0008C0405040500001E4A03A0052000000051 +:10E2000082040D0043DC0700050000044A034408B3 +:10E210000000DDDD0501F016904C048305E61D1EAF +:10E22000404C00000C01F0010010388D0010388EB9 +:10E230000010389405E5FD1880000040400098006B +:10E2400005FDFF460500000A05FDFF440501F00835 +:10E25000800000404000980059D008064807C85781 +:10E260008C04053E05FE07E505FDFF3C1C01F000A2 +:10E2700059C008078204050000F507C00500000723 +:10E280008204050080000000050000044A034408E1 +:10E290000000DDDD0501F02A59A0040D800001C059 +:10E2A0000500002759C008074807C8578C04053ED9 +:10E2B0000500002359C008074A038006200000001B +:10E2C00082040D0000F507C0050000044A0344085D +:10E2D0000000DDDD0501F01A9048048305E61CEE20 +:10E2E000404800000C01F001001038BD001038BE9D +:10E2F000001038C605E5FCE88000004040009000B2 +:10E30000420088001000000405FDFF530500000CCA +:10E3100005FDFF510501F00A80000040400090001B +:10E3200059C008074807C8578C04053E05FE07E298 +:10E33000420088001000000405FDFF471C01F000AA +:10E34000492FC8574000A8004A03B8052000000024 +:10E3500059DC00064A03B805300000004813B80035 +:10E36000480FB801480BB8024857B8034A03B8052C +:10E370003000000259DC00064A03B80570000001B5 +:10E3800059DC00064A03B8051000000059DC0006FD +:10E390008C00053E05FC07FE4A03B805200000007E +:10E3A00059DC00068200050043200F8005000005AF +:10E3B0004A0344080000DDDD800005800501F00B04 +:10E3C00059DC200059DC1801801C39C00500000709 +:10E3D0004D2C000005E9F8455C00080005E40CAE92 +:10E3E000642A5A08492C08011C01F00059C800038E +:10E3F00082000500FFFFE0FF4803900361F0080082 +:10E4000005EDFE454A03902C0020000061D0B003CA +:10E4100059C8002C8C00052C050000068058B0401F +:10E4200005FE07FC600C0080417810000501F11E1C +:10E43000640B50AF4200600000103A3E50301000B4 +:10E44000417848004A03902D0000800061D0B0035D +:10E4500059C8002C8C000534050000068058B040D7 +:10E4600005FE07FC600C0080417810000501F10EEC +:10E470000501F8948024480082240580000003B13F +:10E4800005FE07FC0501F918417848000501F8B8B8 +:10E490008024480082240580000003B105FE07FCAB +:10E4A000803060008230058000103A4005FE07E4AD +:10E4B00059A808AE800409C005000005601000805E +:10E4C0006008100059A818AD0501F0F7420060007F +:10E4D00000103A3E644350AF50301000417848007D +:10E4E0004A03902D000008000501F87680244800BA +:10E4F0009024059805FE07FD0501F8FB41784800CA +:10E500000501F89B802448009024059805FE07FD2E +:10E51000803060008230058000103A4005FE07EF31 +:10E5200059A808AE800409C00500000560100080ED +:10E530006040100059A818AD0501F0DB42006000F2 +:10E5400000103A3E642350AF50301000417848002C +:10E550004A03902D000004000501F85A8024480069 +:10E56000822405800000008805FE07FC0501F8DE16 +:10E57000417848000501F87E802448008224058007 +:10E580000000008805FE07FC8030600082300580B6 +:10E5900000103A4005FE07ED59A808AE800409C0F6 +:10E5A00005000005601000806020100059A818AD1B +:10E5B0000501F0BD4200600000103A3E648350AF98 +:10E5C00050301000417848004A03902D0000200090 +:10E5D00061D0B00359C8002C8C000530050000063E +:10E5E0008058B04005FE07FC600C008041781000A8 +:10E5F0000501F0AD59C8002C82000500FFE0FFFFC7 +:10E6000082080D00001F0000800405404803902C84 +:10E610000501F82C802448008224058000000110A8 +:10E6200005FE07FC0501F8B0417848000501F850E7 +:10E6300059C8003482080D00001F00008200050048 +:10E64000001F0000800405800500000659A800AEE8 +:10E6500080000000480350AE40240000480350AD45 +:10E6600080244800822405800000011005FE07F088 +:10E67000803060008230058000103A4005FE07D1EE +:10E6800059A808AE800409C005000004601000808D +:10E690006080100059A818AD59C8080382040D40C5 +:10E6A00000001F004807900359C8002C8400052A69 +:10E6B0004803902C61F0080005EDFD9705F5F75033 +:10E6C00059C8002C82000500FFFF000082080D00E1 +:10E6D0000000FFFF800405404803902C480B902861 +:10E6E000480B902959A800AF900045840500000709 +:10E6F0009000059005020003800809204807903A21 +:10E70000480B902A480B902B59C8002D8200050019 +:10E71000FFFFFC00802405404803902D61D0B0032A +:10E7200059C8002C820005001800000005000006F2 +:10E730008058B04005FE07FB600C00804178100057 +:10E740000501F0596407902E61D0B00359C8002E1E +:10E750008C000500050000058058B04005FE07FC50 +:10E76000600C00800501F0501C01F0004178380079 +:10E7700059C8002D82000500FFFFFC0080240D40D9 +:10E780004807902D61D0B00359C8002C82000500C5 +:10E7900018000000050000068058B04005FE07FB89 +:10E7A000600C0080417810000501F03F59C8183016 +:10E7B00059C80030800C0D8005FE07FD80080D80D3 +:10E7C00005000002801C380059C8203159C80031AA +:10E7D00080100D8005FE07FD80080D8005000002F9 +:10E7E000801C380059A800AF900045840500001E29 +:10E7F00061FC41FF900005900502000342004000CB +:10E800007F7F7F7F59C8283259C8003280140D801D +:10E8100005FE07FD80080D8005000002801C380001 +:10E8200059C8303359C8003380180D8005FE07FDE4 +:10E8300080080D8005000002801C380059C8003493 +:10E8400059C8083480040D8005FE07FD80080D803E +:10E850004020000080040D000500000C801C3800E2 +:10E860000501F00A59C8003459C8083480040D80E5 +:10E8700005FE07FD80080D8082040D00000000FFEA +:10E8800005000002801C3800801C39C0050000050E +:10E8900059A800AE801C0400480350AE482750AD74 +:10E8A0001C01F0004803420748074407480B420890 +:10E8B000480F4408481342094817440959C800033F +:10E8C0008200054000001F004803900359C8002C37 +:10E8D0008400052A4803902C61F0080005EDFD0E28 +:10E8E00005F5F6CA4200000000600000800000400C +:10E8F00005FE07FF1C01F0005A5A5A5AA5A5A5A506 +:10E900000505FB5B05020003640B440705F5F6FFF4 +:10E91000420050000010D8CE50285000482B400034 +:10E920004200A0000010D8CF59A0040859A0120836 +:10E93000900811C08008154059A0040A59A01A0A6D +:10E94000900C19C0800C1D40420248000010D8CF26 +:10E95000912CAC086018B0009050040D48034001A1 +:10E960000545FAB060180800800400C480080C0057 +:10E9700048074002900C0C4048074003601808000C +:10E98000912C04080505FB604A01D80900103A657E +:10E990001C01F0004031D80058EF400B58EC000249 +:10E9A000820005800000020005F406CF59A0A001F6 +:10E9B00059A0100080081040480B400005000005D9 +:10E9C00059A0100259A0180358EE580D05FDF7E1A3 +:10E9D000420008000010D8CE500408004807440741 +:10E9E00005F5F6870505FB2205020003640B4407C5 +:10E9F00005F5F6C659A00C0B420000000010D8CE59 +:10EA0000500000008004048005F616C58204A400AE +:10EA10000010C59C5050A000912CAC086018B000AC +:10EA20000545FA8059A0040859A01208900811C0A1 +:10EA30008008154059A0040A59A01A0A900C19C060 +:10EA4000800C1D4060180800912C04080505F32E69 +:10EA500059A00C0B800409C005F406B1900404A170 +:10EA600005F616AF900404910500100260400800FE +:10EA700059A0020959A01408900811C08008154037 +:10EA800059A0020859A01C07900C19C0800C1D4009 +:10EA90000505FAF7050000050505FB154A01D8092B +:10EAA00000103AAC1C01F000640B440705F5F69722 +:10EAB0004031D80058EF400B58EC0002820005802E +:10EAC0000000020005F4068859A00C0B9004049184 +:10EAD000050010026040080059A0040C59A0120C57 +:10EAE000900811C08008154059A0020A59A01C09BD +:10EAF000900C19C0800C1D4058EC00030505FB026A +:10EB00004A01D80900103AC31C01F0004031D80076 +:10EB100058EF400B58EC0002820005800000020014 +:10EB200005F4067159A00C0B9004049105F41634F9 +:10EB300090040C9059A0020959A01408900811C023 +:10EB40008008154059A0020859A01C07900C19C054 +:10EB5000800C1D40B008140058EC00030505FAE4D1 +:10EB60004A01D80900103ADB1C01F0004031D800FE +:10EB700058EF400B58EC00028200058000000200B4 +:10EB800005F4065959A0040B90000C9059A0040CF0 +:10EB900059A0120C900811C08008154059A0020A13 +:10EBA00059A01C09900C19C0800C1D40B00814001D +:10EBB00058EC00030505FAD44A01D809001028F8DA +:10EBC0001C01F00048EFC85759A0020859A01408CA +:10EBD000900001C08008154059A0020A59A01C0AE3 +:10EBE000900001C0800C1D4059A00407480340005C +:10EBF000480B4001480F40020505FA9D050200033D +:10EC0000640B440705F5F641604008000505FAB8B5 +:10EC10004A01D80900103B071C01F0004031D80020 +:10EC200058EF400B58EE580D58EC0002820005805A +:10EC30000000020005F4062C48EFC85749A3C85746 +:10EC4000492FC857592C0A088004091005020003EF +:10EC50006467440705F5F62D4805D80C0501F00951 +:10EC60004031D80058EF400B58EC0002820005807C +:10EC70000000020005F4061C48EFC85749A3C85716 +:10EC800048EFC85749A3C85758EC000C8000004013 +:10EC90000500000D4801D80C0505FA7505020003B2 +:10ECA000640B440705F5F6196040080058EC10079E +:10ECB00058EC18080505FA8E4A01D80900103B18CF +:10ECC0001C01F00058EE580D48EFC85749A3C8572B +:10ECD000492FC857492F3000592C04088400055E7D +:10ECE00048025C084A01D80900103B3C1C01F000B6 +:10ECF0004D2C000058EE580D48EFC85749A3C8578F +:10ED0000492FC857592C04088400051E48025C0886 +:10ED100059A0000059A0100159A018028008140041 +:10ED2000900C1C40912C0408604008005C025800C4 +:10ED30000505F2758D0C050E0500000364074407F8 +:10ED400005F5F5F2916C058305000003641F440787 +:10ED500005F5F5EE59A0320C82183500000000FFD1 +:10ED600059A28C070505FB2505F605ED050DFCB63A +:10ED700005F605EB83440580000007FD050000054E +:10ED8000050DFC5D050000036427440705F5F5DF6C +:10ED90000505FA3705020003640B440705F5F5DBAA +:10EDA000801831C005000007412C08000505FA3025 +:10EDB00005020003640B440705F5F5D4400658002E +:10EDC0004A025C0800008000497A5A080531FFDADF +:10EDD00005020003640F440705F5F5CC4A01D80984 +:10EDE00000103B7A1C01F000592C000982000580BC +:10EDF00001000000050200036413440705F5F5C394 +:10EE0000592C040A82002D000000FF00820005003A +:10EE1000000000FF800009048004080090040486BC +:10EE200005001002601408004C5000004C54000013 +:10EE30004C580000912CA40A4050A8004004B00097 +:10EE40000545F9B359A0040859A01208900811C04B +:10EE50008008154059A0040A59A01A0A900C19C03C +:10EE6000800C1D40912C040A4C1400000505FA2664 +:10EE70005C002800801429C0050000034A01D8095D +:10EE800000103BA55C00B0005C00A8005C00A00086 +:10EE90001C01F0004031D80058EF400B58EE580DDF +:10EEA00058EC0002820005800000020005F4058E87 +:10EEB000812E59C005E409F8592C000A820005008A +:10EEC000FF00000080000904800409C005F4054C1F +:10EED0004807C8579004048E0500100260340800EB +:10EEE000592E5801812E59C005E409EB4C50000001 +:10EEF0004C5400004C580000912CA4094050A8002C +:10EF00004004B0000545F9825C00B0005C00A80038 +:10EF10005C00A00058EC100758EC1808912C04096C +:10EF20000505F1F90505F9D205020003640B440754 +:10EF300005F5F57659A00C07820405000000FF00D6 +:10EF4000840001C09000148705F615750C01F001CE +:10EF500000103BDB00103BE100103BE700103BE8FA +:10EF600000103BEE00103BF700103BFB6034080044 +:10EF70004200380000103C0C4A0340000010D10B46 +:10EF80000501F01E603408004200380000103C0CFF +:10EF90004A0340000010D1180501F01805F5F5608E +:10EFA00059A8008282000580338E103C05F6055C6E +:10EFB000497B500F05F5F51259A8008282000580A3 +:10EFC000338E103C05F6055659A8100E800811C066 +:10EFD00005F4050B480B500F05F5F50960200800F6 +:10EFE0004200380000103C190501F00460100800D0 +:10EFF0004200380000103C4E59A0020859A01408E5 +:10F00000900001C08008154059A0020A59A01C0AAE +:10F01000900001C0800C1D40912C04094C1C000084 +:10F020000505F9B35C003800481DD8091C01F00043 +:10F030004031D80058EF400B58EE580D58EC000204 +:10F04000820005800000020005F4052764075037A0 +:10F050006034B00059A0A800912CA4090545F92CF2 +:10F0600005F5F4E74031D80058EF400B58EE580D45 +:10F0700058EC0002820005800000020005F4051A29 +:10F08000912CA4095050000082001500000C0016BD +:10F0900005F6052390500C03500400009000150164 +:10F0A00005F6051F505000009000152805000015BA +:10F0B000900815A805F6051A8050080050040000B5 +:10F0C000900015139008159305F6051580040800A7 +:10F0D0005004000082001500000500008208158021 +:10F0E0000005000005F6050E916C05800500000E78 +:10F0F000599C00198C00050E0502000B05F5F5085A +:10F1000080500800500400009000151305F6050417 +:10F110008004080050040000820015000005000073 +:10F1200005F604FF6020B0004200A8000010D103E3 +:10F130000545F8BC05F5F4B24031D80058EF400B56 +:10F1400058EE580D58EC00028200058000000200C5 +:10F1500005F404E56010B0004200A8000010D8C912 +:10F16000912CA4090545F8AF850E1D5005F5F4A4B2 +:10F170000505F93F05020003640B440705F5F4E3B8 +:10F18000912CAC0959A00C07820405000000FF0077 +:10F19000840001C09000148805F614E10C01F00110 +:10F1A00000103C7000103C7300103C7600103C775F +:10F1B00000103C8C00103C9C00103C7600103CA2DF +:10F1C0004200A0000010D10B0501F0654200A00034 +:10F1D0000010D1180501F06205F5F4D159A800829C +:10F1E00082000580338E103C05F604CD59A804102A +:10F1F0004803440759A802104803420859A80411BB +:10F200004803440859A802114803420A59A8040EA9 +:10F210004803440A59A8020E4803420B59A8040F98 +:10F220004803440B59A8020F4803420C05F5F47437 +:10F2300059A8008282000580338E103C05F604B880 +:10F240006060080059A0020859A01408900001C08D +:10F250008008154059A0020A59A01C0A900001C05C +:10F26000800C1D40420000000010D0130505F1265F +:10F270006020B000405808004200A0000010D103F8 +:10F280000545F8680501F03959A00A0B6473420B73 +:10F290009004049C05F414A2603CB0004178A000E6 +:10F2A0000545F868912CAC096010B00091A8A43D08 +:10F2B0000545F85C916C0580050000046010B00005 +:10F2C00091A8A4000545F857912CAC15600CB0002E +:10F2D000B1A8A4010545F853492F40000505F8E4FD +:10F2E00005020003640B440705F5F488912CAC0972 +:10F2F000603CB0004178A0000545F852912CAC0963 +:10F300006004B000B1A8A4040545F846912CAC0AED +:10F310006010B000B1A8A4050545F842492F40018E +:10F3200059A2580059A0020859A01408900001C021 +:10F330008008154059A0020A59A01C0A900001C07B +:10F34000800C1D40912C0409603C08000505F8EE76 +:10F350004A01D80900103CE41C01F0006034B00000 +:10F36000405808000545F86A59A0020859A0140839 +:10F37000900001C08008154059A0020A59A01C0A3B +:10F38000900001C0800C1D40912C04090505F0DEA1 +:10F390004031D80058EF400B58EC00028200058045 +:10F3A0000000020005F4045059A2580158EC10075F +:10F3B00058EC1808912C0409603408000505F0D2B7 +:10F3C000916C058005020003641F440705F5F44FA6 +:10F3D00059A01407800811C00502002A497B420881 +:10F3E00005F1F9C20500001105F1F9A7640742080B +:10F3F0000502000E4C08000005F1F9AE5C0010009B +:10F4000005020006640B420805EDFDAC050200078D +:10F41000641342080501F005640F420805EDFD95EF +:10F42000050200026417420859C4080182040D0055 +:10F430000001800090040580050200036403440776 +:10F440000501F069820405800000800005020003C8 +:10F45000640744070501F064820405800001000090 +:10F4600005020003640F44070501F05F8204058074 +:10F470000001800005E60888641344070501F05A7E +:10F4800059A800B88C0005020500000460080000BF +:10F49000400008000501F01259A002084C000000CD +:10F4A0000505F9BB5C000000050000054C000000EC +:10F4B0000505F9CE5C0000000502000790000D84F0 +:10F4C0000500000390000D8205020003600C00009F +:10F4D000600C10004803400259A8085948035059CD +:10F4E000599C7819823C7D00FFFF1FFF800000DAE5 +:10F4F000803C7D40483F3819497B420805F1F97B43 +:10F500000500001305F1F9606407420805020010C8 +:10F510004C0400004C08000005F1F9665C00100086 +:10F520005C00080005020006640B420805EDFD635F +:10F5300005020007641342080501F005640F420844 +:10F5400005EDFD4C050200026417420805EDFD497A +:10F550000500000B05EDFD4D0500000905EDFD5111 +:10F560000500000705EDFD550500000505EDFD59F9 +:10F57000050000034807505905F5F3E99008058395 +:10F580000502000559A0000248035066640B50595B +:10F590000501F0054A035066AABBCCDD9008058240 +:10F5A0000502001159C400068400050048038806BE +:10F5B0000521F8DB497B8880420000000010D87AE2 +:10F5C0000541FECD4803C856850E1D484A038808EC +:10F5D000000002006012D8006407880564075065C7 +:10F5E00005E5FA4905F5F3868D0C050E05000003C7 +:10F5F0006407440705F5F3C5916C05830500000316 +:10F60000641F440705F5F3C159A28C0759A0320CB9 +:10F6100082183500000000FF0505F8F805F603C064 +:10F62000050DFA8905F603BE83440580000007FD39 +:10F6300005000005050DFA300500000360240800F0 +:10F6400005F5F3B20505F80A05020003640B44074B +:10F6500005F5F3AE497A5A084A025C0800008000BA +:10F660000531FDC805020003640F440705F5F3A743 +:10F670004A01D80900103D9F1C01F000592C0009D7 +:10F6800082000D000000FFFF82000500FFFF000068 +:10F690008200058001000000050200036413440796 +:10F6A00005F5F39A800409044C5000004C54000006 +:10F6B0004C580000912CA4094050A8004004B00010 +:10F6C0000541FF935C00B0005C00A8005C00A00056 +:10F6D00059A0020859A01408900001C080081540E4 +:10F6E00059A0020A59A01C0A900001C0800C1D40BC +:10F6F000912C04090505F004600000205000000072 +:10F700008200048025320001050200074A03C0146C +:10F71000004000404A03C013004000006041D04E4A +:10F720000519FDBB496FC857916C058005000003A2 +:10F73000646B440705F5F3750511F830050A0907F0 +:10F740006080080059A0040859A01208900811C050 +:10F750008008154059A0040A59A01A0A900C19C033 +:10F76000800C1D40419C000049A3C8570501FFE0E3 +:10F770004A01D80900103DDF1C01F0004833C8578A +:10F780004031D80058EF400B58EC00028200058051 +:10F790000000020005F40354599C0200800001C0DF +:10F7A00005F4035F59A800B88C000502050000119C +:10F7B000599C00178400050848033817599C001904 +:10F7C00082000500FFFF1FFF82000540000040008F +:10F7D00048033819599C0018840005108400051648 +:10F7E00082000500FFFFFFCF900005600501F004D7 +:10F7F0008C00050405000004599C001884000514C1 +:10F80000480338180535FD11850E1D20599C001739 +:10F810008C00050805000003850E1D600501F0063B +:10F820008C00050A05F6033E59A808068C04051647 +:10F8300005F6033B420248000010D8CF64124A008C +:10F84000420008000010D8CE6404080042000800FE +:10F850000010D8CD460008000000FFFF59240C001E +:10F8600084040D46599C10178C08050A05020002F5 +:10F8700084040D488C0805080502000284040D4A22 +:10F8800084040D4C48064C0059240A0084040D40A1 +:10F8900048064A000505FAF30500001759C4080197 +:10F8A00082040D40000040004807880164C378E4EA +:10F8B000640752B4640752B3640B50B54A02480B54 +:10F8C0000F0000014C0000004C50000060000001DF +:10F8D0004200A0000010F97F4600A000FFFFFFFFDC +:10F8E0008050A0008000004005FE07FC5C00A000E6 +:10F8F0005C0000004803C8578C00050405020004A2 +:10F9000059C408A384040D7A480788A38C00050213 +:10F910000502000459C408A384040D08480788A3FD +:10F92000599C0C028C0005000502000B8C0005168A +:10F930000500001F4C00000059240400840005420B +:10F94000840411C080081540480A4C005C00000087 +:10F950000501F0084C000000592404008400054013 +:10F96000840411C080081540480A4C005C00000067 +:10F97000B00414BF05F612EA8204140000102759DF +:10F980005008100082081500000000FF48064A08D1 +:10F99000480A4805480A4C088C0005000502000486 +:10F9A000480B502D600C0800051DFCC90501FFE542 +:10F9B00005000004592404008400054448024C005A +:10F9C000599C00198C000506050000034A03B80580 +:10F9D000900000008C00050E050200054C000000A0 +:10F9E0000505FAD35C00000005F602CD9000053055 +:10F9F00005000003800001080501F0026008000016 +:10FA0000480390406008080082000400001040B8DD +:10FA100050001000051DFCAE599C020182000C80B4 +:10FA20000000010005F412BE82000C8000000841B5 +:10FA300005F612BB9000050705F602B9599C0401B2 +:10FA40008000054005F402B659A808B88C040502E8 +:10FA50000500000590000C900500100360400000B8 +:10FA600048033C01850E1D52820005800000FFFF07 +:10FA700005000002850E1D12599C0409599C0C07B3 +:10FA800080040C8005F612A68000004005F402A454 +:10FA9000599C0209599C0A0780040C8005F612A0A3 +:10FAA0008000004005F4029EB1A81401599C08187A +:10FAB0008C04051005020005500800008400053E76 +:10FAC000440010000501F00B59A800068400054A07 +:10FAD000480350064A0370E40000C0004C040000D4 +:10FAE00059C408A384040D3A480788A35C000800A1 +:10FAF0008C04051205020009500800008200050070 +:10FB0000FFFFF5FF440010008008100050080000BF +:10FB10008400053E4400100059E00002840005689E +:10FB20004803C00205E5FA60420000000010D1253C +:10FB3000452C000064073002412DE000492FC840E9 +:10FB4000644FC84205011000599C00188C00052E16 +:10FB500005000012850E1D1659A810B990081493BF +:10FB60000500100C0500000B480B50B9480B50BAAB +:10FB700059A810BB9008148A050010040500000362 +:10FB8000480B50BB0501F0056004100005FDF7FDB2 +:10FB90006004100005FDF7F5600000B8599C1407DB +:10FBA00048080100480A5A0C48025A00492E5801D8 +:10FBB000599C000B48025808599C000C48025809EF +:10FBC00064065C10599C040948025C0A05E5FA3693 +:10FBD000420000000010D225452C000064073008C8 +:10FBE000492FC840642BC84205011000412EE8008F +:10FBF000492E5800492DE0124A025803FFFF000029 +:10FC0000600400008D0C051605020003599C0211CA +:10FC1000599C101848025A09600000BC599C1207F0 +:10FC200048080000480A5C0948025C08599C000D1D +:10FC300048025806599C000E48025807599C020970 +:10FC400048025A08599C08188C040532050000091E +:10FC50006405E20A599C021A4801E41142000000BE +:10FC600000102DB9500000004801E2100501F00914 +:10FC7000599C0A1A900404860500100260040800CA +:10FC800082040C0000102DB6500400004801E21060 +:10FC9000599C0818599C141A8C040526050000026A +:10FCA0008408157E8C040524050000028408157C58 +:10FCB0008C04052805000003820815402000000080 +:10FCC0004809E00B480A5801480BB01F480BB11F08 +:10FCD000599C0211820004000010D3254408000042 +:10FCE000420000000010D74C5000000048080006F9 +:10FCF000420000000010D74B5000000048080006EA +:10FD00000511FA5A050DFC28599C020148035004BC +:10FD100005E9FFD7599C020A800001C005000003D5 +:10FD2000480350530501F0034A035053000000C834 +:10FD30008D0C0520050000030519FDC2417A500015 +:10FD4000599C0003599C08049C0001C09C0409C0F4 +:10FD50004802480148064802480350024807500339 +:10FD6000599C10178C08051C05000006599C0005BD +:10FD7000599C08069C0001C09C0409C00501F003C1 +:10FD800082000500F0FFFFFF4802480348064804D0 +:10FD90004803500048075001420010000010D10BEA +:10FDA0004800100048041001420010000010D11853 +:10FDB000480010004804100159A00207B00005884F +:10FDC000050200B80501FE2A05020003640B440782 +:10FDD00005F5F1CE6040080059A0020859A01408AA +:10FDE000900001C08008154059A0020A59A01C0AC1 +:10FDF000900001C0800C1D408208140000000080AB +:10FE0000B0083400481B4002900C3440481B4003AB +:10FE1000912C04080501FE364A01D80900103F89DB +:10FE20001C01F0004031D80058EF400B58EE580D3F +:10FE300058EC0002820005800000020005F401AACF +:10FE4000592C1008480BC85780080120420248006E +:10FE50000010D8CF48024C06820815000000FFFFB2 +:10FE6000599C081890040D30900405800502000488 +:10FE7000B00804BE05F611AA0501F0010541FDD048 +:10FE800005000014820804800000010005F611A49A +:10FE9000420000000010D8CE44080000800811C0C5 +:10FEA00005F4019F40080800420248000010D8CF26 +:10FEB000912E5C09592C04008C00050605020012E5 +:10FEC000592402008400050048024A000501F00E92 +:10FED00082080480000000FF05F6119180080800E8 +:10FEE000420000000010D8CE44040000800811C079 +:10FEF0000500006C420248000010D8DC8004084075 +:10FF0000912E5C09600C4000592C04008C00050601 +:10FF10000500001259A810B89008150605F60180D2 +:10FF20008C00050A050200038D0C052005F4017CF8 +:10FF300064164A009000150305000006840011C0F5 +:10FF400082081500000000FF480A4A080501F00376 +:10FF500082000500000000FF48024C00592C0001FF +:10FF6000592C10029C0001C09C0811C04802480195 +:10FF7000480A4802599C18178C0C051C05000006FD +:10FF8000592C0003592C10049C0001C09C0811C07E +:10FF90000501F00382000500F0FFFFFF480248035F +:10FFA000480A4804912E5C0591264C0D80040840B7 +:10FFB0000500001D8020404005FE07D44807400092 +:10FFC00049274001603C080059A0100259A01803BD +:10FFD0009008343C481B4002900C3440481B4003BE +:10FFE00058EE580D912C04080501FDC14A01D809AD +:10FFF00000103FFE1C01F0004031D80058EF400BCC +:020000021000EC +:1000000058EC0002820005800000020005F4013671 +:1000100058EE580D912E5C0859A0080059A24801CD +:1000200005FDF7B90541FD660500001042006800B6 +:100030000010D8CF4200B0000010D8CE5058B00009 +:10004000583404008C0005060500000558340200F1 +:100050008400055E48006A000501F00490346C0DD0 +:100060008058B04005FE07F7420068000010D8CF66 +:100070004200B0000010D8CE5058B0008058B040B8 +:1000800005000008420248000010D8DC583402067F +:1000900048024A0691264C0D8058B04005FE07FCE8 +:1000A000599C1019820815000000E000497B4208A5 +:1000B00005EDFE8E0500001205EDFE736407420893 +:1000C0000502000F4C08000005EDFE7A5C001000F0 +:1000D00005020007640B42088208058000008000CA +:1000E00005020007641342080501F005640F420889 +:1000F00090080580050200026417420890080580F8 +:1001000005020007640350596004000005EDFC3C43 +:100110006004000005EDFC0A0501F02B8208058053 +:10012000000020000502000864075059600000002C +:1001300005EDFC336000000005EDFC0105EDFFF668 +:100140000501F0218208058000004000050200043E +:10015000640B50596407506505FDF7F98208058066 +:10016000000060000502000F59A8088282040D807B +:10017000013910770502000459E008138C040500CA +:1001800005F600E7640F50596008000005EDFC1CFF +:100190006008000005EDFBEA05FDF7E90501F00A3E +:1001A000820805800000800005F600DD05EDFFE90E +:1001B00064135059600C000005EDFC11600C000048 +:1001C00005EDFBDF599C1019820815000000E000C6 +:1001D0004C0800000501FE9A5C00100005020004B6 +:1001E00082080580000040000500000B0501FE6844 +:1001F000050000030501FE7D050200098208058057 +:100200000000800005000004820805800000400016 +:1002100005020003600010C00501F004599C00199C +:100220008C000518050000058008111A480B50665F +:10023000640B505964075065599C00198C000520C7 +:10024000050000014A0350310000AAAA599C101869 +:100250009008153090080D800500000590080D905D +:100260000500000890080DA0050200024807503163 +:100270000501FDAF050000074803C856850E1D4661 +:1002800005EDF9C859A8003D800405404803503DDC +:1002900049F3C8574200100000105D540519F98653 +:1002A0004200100000105D470519FAC84A0388058E +:1002B000FFFFFFFF0501FE53050000054A03C014C0 +:1002C000004000404A03C0130040000059A0001E37 +:1002D000840005404803401E49F3C85705F5F0481F +:1002E000000000180000000C0000001800000020B2 +:1002F000916C058005020003601C080005F5F08381 +:100300006080080059A0040859A01208900811C084 +:100310008008154059A0040A59A01A0A900C19C067 +:10032000800C1D40419C00000501F4F78D0C050E6A +:10033000050000036407440705F5F074050DFD2F63 +:1003400005020003645B440705F5F07059A8009AA4 +:100350008C0005000500000E64034407608008005F +:1003600059A0040859A01208900811C0800815402F +:1003700059A0040A59A01A0A900C19C0800C1D40FB +:10038000420000000010F5E50501F4DF64074407B2 +:100390006080B0004200A8000010F5E54200A00017 +:1003A000FFFFFFFF4450A8008054A8008058B040D1 +:1003B00005FE07FD4D4400004D3400004202880058 +:1003C000FFFFFFFF42002000FFFFFFFF600430003F +:1003D00060043800420018000010F5E559A8102DFF +:1003E00082081500000000FF401800000C01F00119 +:1003F0000010410000104103001041070010410BA4 +:1004000082102500FFFFFF000501F0148210250077 +:10041000FFFF00FF840811C00501F01082102500C5 +:10042000FF00FFFF900811C00501F00C82102500AD +:1004300000FFFFFF9C0801C08010254044101800F9 +:1004400042003000FFFFFFFF42002000FFFFFFFFE0 +:10045000800C18000501F0034008000080102540C2 +:1004600081468800B1442CBF050210124C080000E0 +:100470004C0C00004C1800004C1C00000001FAFE5F +:100480005C0038005C0030005C0018005C0010006C +:1004900005FE07F40509FEA405FE07F280183000EA +:1004A000801C380059341202401800000C01F7D1AA +:1004B00082100580FFFFFFFF0500000244101800B6 +:1004C000420018000010F5E5500C00008200050005 +:1004D000FFFFFF00801C0540440018005C0268001C +:1004E0005C0288006080080059A0040859A0120826 +:1004F000900811C08008154059A0040A59A01A0A92 +:10050000900C19C0800C1D40420000000010F5E561 +:100510000501F47D59A28C070501FD3805F60000A0 +:100520000509FEC905F207FE0501FC51050200039D +:10053000640B440705F1F7F559A0020C8C00050087 +:10054000050000030509FE780502050359A0020C09 +:100550008C0005020500001583440480000007F0AC +:10056000050210120509FE7905020010497A5A08A1 +:100570004A025C080000800059A248050531F9D7FD +:1005800005020003640F440705F1F7E04A01D809AA +:10059000001041661C01F00059A28C0759A2440BBF +:1005A0000509FEA905F207DE4C5800004C5000007A +:1005B0004C5400006028B0004134A000912E5C052E +:1005C000412CA8000541FB97912CAC064054A0009B +:1005D0006010B0000541FBCE5C00A8005C00A000EC +:1005E0005C00B000592C08028204050000FF00FFE7 +:1005F000900001C082041500FF00FF008008054044 +:1006000048025802592C08018204050000FF00FF2F +:10061000900001C082041500FF00FF008008054023 +:10062000480258016028080059A0040859A012087F +:10063000900811C08008154059A0040A59A01A0A50 +:10064000900C19C0800C1D40412C00000501F42EB7 +:10065000496FC857496F4407497B420805EDFD23A0 +:100660000500001505EDFD086407420805020012AB +:100670004C08000005EDFD0F5C00100005020008AD +:10068000640B4208916C05800500000B05EDF90B29 +:1006900005020009641342080501F007640F4208CF +:1006A000916C05800500000405EDF8F205020002DA +:1006B0006417420805F1F75259A28C070501FCCFD7 +:1006C00005F207970509FE6005F20795916C058311 +:1006D00005000003641F440705F1F78C91340C06F4 +:1006E00059A0020C8C0005000500000291340C0892 +:1006F000580400014803440A900001C04803420A1C +:100700005004000048034408900001C04803420818 +:10071000593402004803440705F1F7398D0C050EE2 +:10072000050000036407440705F1F77859A0220C7F +:100730008C100500050200218C100506050200043E +:1007400059A032099018048305F2177559A28C0735 +:100750000001FAFE05F207720509FDE70500000336 +:100760006427440705F1F7690501FBC10502000391 +:10077000640B440705F1F76559A0220C8C1005069F +:1007800005000004593430028218350000FFFFFFD5 +:10079000497A5A084A025C08000080000531F917BE +:1007A00005020003640F440705F1F7584A01D80910 +:1007B0000010422C1C01F00059A28C070001FAFE27 +:1007C00005F207570509FDCC05000003642744071F +:1007D00005F1F74E0501FBA605020003640B440773 +:1007E00005F1F74A497A5A084A025C08000080007D +:1007F0000501FB9F05020003640B440705F1F74365 +:10080000592E58000531F91005020003640F440702 +:1008100005F1F73E4A01D809001042081C01F0001A +:10082000592C280982140D800100000005020003E4 +:100830006413440705F1F7356020080059A0020849 +:1008400059A01408900001C08008154059A0020A60 +:1008500059A01C0A900001C0800C1D40912C040975 +:100860000501FBA98C140500050000034A01D80905 +:100870000010421E1C01F0004031D80058EF400B20 +:1008800058EE580E58EC000282000580000002006D +:1008900005F00715812E59C005E00B7F6020080088 +:1008A000912C040958EC100758EC18080501F39630 +:1008B000592C000982000580010000000502000398 +:1008C0006413440705F1F71159A0020859A0140850 +:1008D000900001C08008154059A0020A59A01C0AC6 +:1008E000900001C0800C1D4060180800912C040A83 +:1008F0000501F38559A00A0B800409C005F007081B +:100900000501FC3E05F20706820404800000008118 +:10091000050010026000080159C4008559881004C0 +:1009200080081400480B1004497B888559C400B125 +:100930004803102259C400B24803102159C400A230 +:1009400048031023598810B7598800B8800814004C +:10095000598800B980081400598800BA800814002A +:100960005988011D80081400598800BB80081400B4 +:10097000480B102459A0020859A01408900001C087 +:100980008008154059A0020A59A01C0A900001C015 +:10099000800C1D40918804000501FB5B4A01D809C9 +:1009A0000010426A1C01F0004031D80058EF400BA3 +:1009B00058EC0002820005800000020005F006CA23 +:1009C00059A0020C8C000500050000069188040067 +:1009D0004803C840641BC84205011000497B888554 +:1009E0004A0342080000008005F1F6858D0C050ED3 +:1009F000050000036407440705F1F6C40501FBFF89 +:100A000005F206C70501FB1A05020003640B440743 +:100A100005F1F6BE497A5A084A025C0800008000D7 +:100A200059A00407800001C005F006BD82001580B2 +:100A3000000000FF050000039000148405F216B8C2 +:100A40004000100059A2480505EDFF2405020003EF +:100A5000640F440705F1F6AD4A01D8090010429928 +:100A60001C01F000592C00098200058001000000E3 +:100A700005F206636413440705F1F6A459A01407B0 +:100A80008C080508050200058D0C050E0500000305 +:100A90006407440705F1F69D59A01C08820C0480E8 +:100AA0000000100005F2169E497B2804497B2805AA +:100AB000497B2826497B2827497B2829497B282AE6 +:100AC000497B282C497B282D4803C856850E1D06D6 +:100AD0008C080500050000044803C856910E1D51FE +:100AE0000501F0048C08050605000002850E1D4274 +:100AF000850E1D0A6006D80082081500000000E07F +:100B00008008010A0C02002A050DFB3C05020008C2 +:100B1000640750324A0350310000AAAA050DFABA00 +:100B20000501F0186403503205FDF7FB497B503195 +:100B30000505FC0A051DF839051DFB79051DF8287A +:100B400059A00A08480788A759C400A382000500D5 +:100B5000FEFFFFFF8200054080018000400008008A +:100B600084040D20480388A3480788A3497B505478 +:100B700060B408004200100000104F530515FF2D0F +:100B800059A00408800000C2800008C48005D40079 +:100B900061FC01FF050DFB190500000359A00208C7 +:100BA000800001100501FBAA05F1F615001042C2F4 +:100BB000001042C4001042CB00102947001042C967 +:100BC000001029470010294700102947916C058320 +:100BD00005000003641F440705F1F64C0501FB877F +:100BE00005F2064F59A0040859A00A08900409C04C +:100BF00080040D404805D80759A0040A59A00A0AE4 +:100C0000900409C080040D404805D8086401D8014B +:100C10000501FA9705020003640B440705F1F63B52 +:100C2000417A8800497B4001912C04094803400225 +:100C300059A004078C0005040502008C4C5C0000E0 +:100C40004C6000004C6400004178B80059A0C40713 +:100C500059A0C80259A2440B0509FCFB0502002754 +:100C60000509FCA5050000030509FB430502002357 +:100C70008C60053E050200208C6005000500000820 +:100C8000593400094400C8008064C8005934000881 +:100C90004400C8008064C8000501F007593400070B +:100CA0004400C8008064C800593400064400C800ED +:100CB0008064C80083440580000007FE0500000B27 +:100CC00083440580000007FC050000080509FC9628 +:100CD0000500000385468D5E0501F0040509FA3024 +:100CE0000502000285468D5E4544C80085468D1E7E +:100CF0008064C800905CBC0C8146880083440480FA +:100D0000000007F00500100C8C60050605000025AA +:100D100083440580000007F00502000361FA880F94 +:100D20000501F00583440580000007FF0502001D52 +:100D300061F2880F905C05BC05FE07C859A0000150 +:100D4000805C0400480340018C60053E05020007FA +:100D500059A00A0B800409C0050000068004048025 +:100D6000050210048460C57E4178B80005FDF7BB1C +:100D700049474000485DD80559A000024801D80302 +:100D800040EC10000001F8214A01D80900104392FC +:100D90005C00C8005C00C0005C00B8001C01F000F2 +:100DA0008C60053E05020019805CB9C00500002179 +:100DB00059A00001805C04004803400159A00A0BBF +:100DC000800409C0050000058004048005021003AA +:100DD0004178B8000501F00D59A008014807440703 +:100DE000485DD80559A000024801D8034A01D80936 +:100DF000001028F840EC10005C00C8005C00C00047 +:100E00005C00B8000001F02159A00001805C0C00DA +:100E100059A0020B8004048048034208642B440755 +:100E20005C00C8005C00C0005C00B80005F1F5B7CC +:100E300059A00801480744075C00C8005C00C000D6 +:100E40005C00B80005F1F56E4031D80058EF400B5A +:100E500058EC0002820005800000020005F005A2A7 +:100E600059A2880005FDF7764C5C00004C6000003C +:100E70004C6400004178B80059A0C40759A0C802CA +:100E800059A2440B0509FC70050200290509FC1A4A +:100E9000050000030509FAB8050200258C60053E2F +:100EA0000502002283440580000007FE0500000FB4 +:100EB00083440580000007FC0500000C0509FC1AAE +:100EC00005000005593404038400055E48026C03E4 +:100ED0000501F0060509F9B20502000459340403BE +:100EE0008400055E48026C034134A0004064A80001 +:100EF0006018B0000541F94B593400074400A800C0 +:100F0000593400064800A801593400094800A802D5 +:100F1000593400084800A803593404038400051E0E +:100F200048026C039064CC0A905CBC28814688001F +:100F300083440480000007F00500100C8C60050657 +:100F40000500002683440580000007F00502000329 +:100F500061FA880F0501F00583440580000007FF52 +:100F60000502001E61F2880F905C05A805000002D2 +:100F700005FDF7C459A00001805C0400480340014E +:100F80008C60053E0502000759A00A0B800409C0C9 +:100F90000500000680040480050210048460C57EFC +:100FA0004178B80005FDF7B749474000485DD805CE +:100FB00059A000024801D80340EC10000001F821BC +:100FC0004A01D809001044205C00C8005C00C00041 +:100FD0005C00B8001C01F0008C60053E05020019A1 +:100FE000805CB9C00500002159A00001805C0400AC +:100FF0004803400159A00A0B800409C00500000500 +:1010000080040480050210034178B8000501F00D4A +:1010100059A0080148074407485DD80559A00002B7 +:101020004801D8034A01D809001028F840EC100004 +:101030005C00C8005C00C0005C00B8000001F0214A +:1010400059A00001805C0C0059A0020B80040480B0 +:1010500048034208642B44075C00C8005C00C000E1 +:101060005C00B80005F1F52959A0080148074407BC +:101070005C00C8005C00C0005C00B80005F1F4E052 +:101080004031D80058EF400B58EC00028200058038 +:101090000000020005F0051459A2880005FDF77351 +:1010A00061F8280059A00C0759A0120859A01C0883 +:1010B00059A0220A820405000000FF00840001C03C +:1010C000900034A005F015168014048005F0151466 +:1010D00082040500000000FF900034A005F0151008 +:1010E0008014048005F0150E820805000000FF0042 +:1010F000840001C0900034A005F01509801404801C +:1011000005F0150782080500000000FF900034A0DC +:1011100005F015038014048005F01501820C05000C +:101120000000FF00840001C0900034A005F014FC12 +:101130008014048005F014FA820C0500000000FF02 +:10114000900034A005F014F68014048005F014F427 +:10115000821005000000FF00840001C0900034A050 +:1011600005F014EF8014048005F014ED82100500E2 +:10117000000000FF900034A005F014E98014048002 +:1011800005F014E7900401C080080D40900C01C0E8 +:1011900080101D40B1A8340F440430008018300086 +:1011A000440C300005F1F496916C058305000003B2 +:1011B000641F440705F1F4D50501FA1005F204D8BF +:1011C00059A0040859A00A08900409C080040D40E1 +:1011D0004805D80759A0040A59A00A0A900409C072 +:1011E00080040D404805D8086401D8010501F920A4 +:1011F00005020003640B440705F1F4C4417A88003A +:10120000497B4001912C0408480340024C5C0000DB +:101210004C6000004C6400004178B8004178C80080 +:1012200059A0C0020509FB880502000A0509FB3226 +:10123000050200088C64053E0502000559340002D1 +:101240004800C0004944C0019060C402905CBC08E2 +:101250008146880083440480000008000502101FB6 +:10126000B05C04800502100205FDF7EF59A00001F3 +:10127000805C0400480340018C64053E05000003C7 +:101280004178B80005FDF7E859A00A0B800409C0B1 +:101290000500000680040480050210044178B800AF +:1012A0008464CD7E05FDF7E049474000485DD805E0 +:1012B00059A000024801D80340EC10000001F821B9 +:1012C0004A01D809001044E25C00C8005C00C0007C +:1012D0005C00B8001C01F0008C64053E0502001A99 +:1012E000805CB9C00500002259A00001805C0400A8 +:1012F0004803400159A00A0B800409C005000005FD +:1013000080040480050210034178B8000501F00E46 +:1013100059A008018004090648074407485DD8051C +:1013200059A000024801D8034A01D809001028F842 +:1013300040EC10005C00C8005C00C0005C00B8001D +:101340000001F02159A00001805C0C0059A0020BA3 +:101350008004048048034208642B44075C00C800F2 +:101360005C00C0005C00B80005F1F46859A00801F9 +:1013700080040906480744075C00C8005C00C00000 +:101380005C00B80005F1F41E4031D80058EF400B66 +:1013900058EC0002820005800000020005F00452B3 +:1013A00059A2880005FDF79A8D0C050E0500000373 +:1013B0006407440705F1F45559A802398C00050A61 +:1013C000050200058C00050605020003645B440766 +:1013D00005F1F44E0501F98905F204510501F8A45F +:1013E00005020003640B440705F1F44859A00C07FB +:1013F0008004090259A0040859A01208900811C0DD +:101400008008154059A0040A59A01A0A900C19C066 +:10141000800C1D40912C04090501F8B54A01D8093A +:101420000010450A1C01F0004031D80058EF400B75 +:1014300058EE580D58EC00028200058000000200B2 +:1014400005F00429592C000D59A8382D0511FF9DD0 +:1014500005040DAB05F2043249474001481A680201 +:10146000592C000E82001D8070000000050200054E +:101470000501F87F0502000C640B440705F1F42315 +:1014800082001D807200000005F204250501F87835 +:10149000050208770502087605020003640B44077D +:1014A00005F1F41A58EE580D4A025C08000080005D +:1014B000497A5A08592C320C80183102592C1801DB +:1014C0004A00180901000000052DFDF10502000386 +:1014D000640F440705F1F40D4A01D809001045399D +:1014E0001C01F000592C4000592C00098200058095 +:1014F00001000000050200036413440705F1F40332 +:101500004C5800004C5000004C540000912C3C09F9 +:10151000401CA000401CA8005820280E6008B00005 +:10152000821435807000000005000002603CB000AD +:10153000053DFFF75C00A8005C00A0005C00B00067 +:10154000401C00005820100A5820180B582022096F +:101550008010210282143580700000000502000511 +:101560009010348205F013EE600808000501F06663 +:10157000821435807200000005F203E9901034AA4D +:1015800005F013E7603C08000501F85F4A01D8093F +:10159000001045661C01F0004031D80058EF400BA8 +:1015A00058EE580E58EC0002820005800000020040 +:1015B00005F003CD592E5800912C0C094C58000011 +:1015C0004C5000004C5400004004A0004004A8000F +:1015D000603CB000053DFFCE5C00A8005C00A000B0 +:1015E0005C00B00040EC10006400100164F01005D5 +:1015F000480410030001F8214A01D8090010458170 +:101600001C01F0004031D80058EF400B58EE580E46 +:1016100058EC0002820005800000020005F003B2D1 +:10162000912C0C094C5800004C5000004C54000008 +:101630004004A0004004A8006030B000053DFFB4A5 +:101640005C00A8005C00A0005C00B00040EC100052 +:101650006400100164C01005480410030001F82163 +:101660004A01D809001028F81C01F00005E1FB9F91 +:101670000500000E497A580058EC000D8000054026 +:1016800005020004492DD80D492DD80E0501F0069C +:1016900058EC000E4802580090000401452C000050 +:1016A000492DD80E912C0408492FC8574803C85714 +:1016B0001C01F0004D2C000058EC400D802041C072 +:1016C000050000074823C85740225800592C400104 +:1016D000497A580105E1FB9505FDF7F94979D80DDF +:1016E0004979D80E5C0258001C01F00060043000FB +:1016F0000501F006600430000501F00560003000CF +:101700000501F00360003000800408C4800409C0B3 +:1017100005DC0FE14803C8574807C857480BC857AE +:10172000480FC857481BC85748EFC8574819D80131 +:101730004801D8034809D807480DD8084805D805F6 +:1017400040EC10000001F8214A01D809001028F8E7 +:101750001C01F00080002D80480BC857480FC85767 +:101760004813C8574817C8570001FAB1053A06FC94 +:101770004D2C00004DA00000420340000010D0C4DA +:1017800059A00018800001C0050200140500601374 +:10179000480BC020480FC0214813C0224817C0235F +:1017A000900811C090081552480BC01159E000175D +:1017B0008C00050A60000800000208928D0C0530BC +:1017C00005EA0869000209BA6403C0174203E00091 +:1017D000300000010501F0494C0400004C1C0000E1 +:1017E000800008004807401859A0381B481FC857F8 +:1017F000801C39C0050200239000048C0502100EE5 +:1018000059A00019800000004803401959A0021A8D +:101810009000040290000C974803421A0500100340 +:10182000497B421A4178000059A03817801C3C00BF +:101830000501F02C4803C85605E1FB2C0500000704 +:10184000492F401B492F401C412C3800497B421D29 +:10185000497A58170501F0235988001E80000000BE +:101860004803101E59A0001880000040480340188B +:1018700059A0021A59A03817801C3C000501F01924 +:1018800059A0021D9000040290000C96050210045D +:101890004803421D801C3C000501F01205E1FB13CA +:1018A0000502000B5988001E800000004803101E2E +:1018B00059A0001880000040480340184803C8574A +:1018C00059A0021D801C3C000501F006492F401B59 +:1018D000492C3817412C3800497B421D497A58174A +:1018E00048083C00480C3A0048103C0148143A01B2 +:1018F0005C0038005C0008005C0340005C0258009B +:101900001C01F000480FC8574813C857481BC85758 +:10191000420000000010D7CF053DFDF7801800D031 +:1019200081202D406050110005FDF78C4C00000017 +:10193000599C00178C0005125C0000001C01F0008F +:101940004C000000599C00188C00050E5C00000043 +:101950001C01F0008D0C050E050000036407440710 +:1019600005F1F2EA916C058305000003641F44074A +:1019700005F1F2E659A24805592404008C00050837 +:10198000050200036423440705F1F2E0593404051D +:101990008C000508050200038C00050A05FE02EC18 +:1019A000497A5A08497A58094A025C0800008000BE +:1019B000052DFD4B05020003640F440705F1F2D32A +:1019C0004A01D809001046731C01F000592C000987 +:1019D0008200058001000000050200036413440733 +:1019E00005F1F2CA59A28C0759A2440B0509F996D0 +:1019F00005F202CB05FDF2D64C04000059A2440BBF +:101A0000420000000010D8CE500000008120048069 +:101A10000502100D83200C000010C59C50064800E4 +:101A2000812649C005000008592402008C000500E9 +:101A30000500000549274005800005805C0008007E +:101A40001C01F0009000054105FDF7FD61BE880F07 +:101A50000001FAFE05140BB08146884005FE17FD13 +:101A60001C01F0004803C8564C0C00004D34000027 +:101A70004D44000061FA880F600240000509F972C8 +:101A80000502000A5934180A900C1D01900C1D81A2 +:101A9000600020000501FA780500000260042000C3 +:101AA000606C110005FDFF2C5C0288005C02680080 +:101AB0005C0018001C01F00048EFC8570501100039 +:101AC00048EFC8406443C8424000000005FD17FFCE +:101AD000420000000010D1255000000080000540A9 +:101AE000050000035800000B4801D8064A01D80F32 +:101AF000BEEFBEEF1C01F000497B4000497B400176 +:101B0000497B4002497B4003497B4004497B4005B7 +:101B10001C01F0004200200000110E40415800005E +:101B20004178100058100C07800409C00500000C13 +:101B300090041D830500000A90041C860500100710 +:101B400090041D8A0500000590041C8F05001004F8 +:101B500090041C920502100280081000901024309E +:101B600080100C8005FC17F04008000059A8128C6A +:101B7000800804800502100241780000816404801E +:101B800005021002417800001C01F00005E9FFD7B2 +:101B90000502001559A8688282346D803261103CBC +:101BA00005020011053DFE770500000D605C70F434 +:101BB000503868008234750003F000008238758068 +:101BC000004000000502000782347500000F00008D +:101BD0008238758000010000050000029000054178 +:101BE000640300001C01F00005E9FFC005020004C9 +:101BF00059A8688282347580016510771C01F00055 +:101C000005E9FFBA0502000D59A868828234758083 +:101C10000175107705000009823475800166107720 +:101C20000500000682347580016810770500000306 +:101C300082347580017610771C01F00005E9FFAB56 +:101C40000502000759A86882823475800168107700 +:101C50000500000382347580017610771C01F000C6 +:101C600005E9FFA20502000459A868828234758044 +:101C7000017510771C01F00005FDFFFA0500000357 +:101C8000800005800501F00D59A00C078204058035 +:101C9000000000A00500000982040580000000E0AB +:101CA0000500000682040580000000D00500000346 +:101CB00082040580000000981C01F00059A0020C6D +:101CC0008C00051A1C01F0004803C85605FDFFDC16 +:101CD0000500000759A8008282000580338E103C61 +:101CE000050000036503440705F1F20859A0020B43 +:101CF0004803C857800001C005F00209B000048500 +:101D000005F2120759A0220C8C1005000502001DD7 +:101D10004803C85605FDFE5605020004640B44073F +:101D20004803C85605F1F1F905EDF94C59A00C0B23 +:101D300059A01A0B59A0220C59A02C07912E5C0512 +:101D4000412CC8004807C857480FC8574813C85700 +:101D50004817C8574867C8570501F91C64030000B5 +:101D60000500001F59A00A0B59A01008900811C0C7 +:101D700059A0180A900C19C0412C000005FDF6600E +:101D80004807C85659A00C0B59A01A0B900C058196 +:101D900005F201E34C0400004C0C00004C10000064 +:101DA00005EDF92E5C0020005C0018005C000800C6 +:101DB00059A02C0791A0CC074807C8574813C8570B +:101DC0004817C8570501F901640300000500000425 +:101DD00059A00A074807440705F1F189641344072D +:101DE00005F1F1CA59A0220C4813C85705FDFF940C +:101DF0000500000759A8008282000580338E103C40 +:101E0000050000036503440705F1F1C059A00C0B60 +:101E10004807C8578C1005000502001B05FDFE147D +:101E200005020003640B440705F1F1B859A00A0B41 +:101E3000B004048505F211BA59A01008900811C029 +:101E400059A0180A900C19C0912C040505FDFE2A12 +:101E50004A01D809001047971C01F0004031D80012 +:101E600058EF400B58EE580D58EC000282000580E8 +:101E70000000020005F0019C912C140559A01A0BDA +:101E80000501F00391A0140B600418004C08000039 +:101E90004C0C000005EDF8F15C0018005C0010002F +:101EA00059A00C0B59A0220C59A02C074807C85761 +:101EB000480BC8575008000082000500000000FFD2 +:101EC0004803C857480FC8574813C8574817C8573A +:101ED0000501F84D6403000005F20149641344074D +:101EE00005F1F18A05FDFF560500000559A800829D +:101EF00082000580338E103C0502000D4803C85651 +:101F000061C0083F61C4103F640008004600100033 +:101F1000000001A7640408006404100064080800BD +:101F2000500800008400054E440010001C01F00021 +:101F30004803C8564C5C0000641030004200B800F2 +:101F4000000F424005E9FD14805CB8400500000523 +:101F5000501C680090346D0205FE07FB90346D4103 +:101F6000485FC8575C00B8001C01F0004803C85621 +:101F70004C5C0000641030004200B800000F42408A +:101F800005E9FD05805CB84005000006501C6800AE +:101F900082346D000000008205FE07FA90346D4126 +:101FA000485FC8575C00B8001C01F0004803C856E1 +:101FB0004C5C00004C6000006000B8F84200C000BB +:101FC000000F42406404B800400000008060C04040 +:101FD00005000004505C00008C00050005FC07FAB9 +:101FE0005C00C0005C00B8001C01F0004803C8564B +:101FF0004C5C00006000B8F84578B8005C00B800A0 +:102000001C01F0004803C85605FDFFE90500006CFF +:102010004C5C000061C0303F61C4383F6410300048 +:102020004200B800000F4240805CB84060080000E9 +:1020300005000051501C00008C00050C05FE07FB3C +:10204000640C30004817C85759A8008282000580E8 +:10205000338E103C050000026080280144143800D3 +:1020600064103000460038000000009005FDFFC0FD +:10207000050000548C10051C05000008640C30009D +:102080004807C857440438006410300064403800E2 +:1020900005FDFFB70500004B800C19C0050000339B +:1020A000640C30005008B800445C3800485FC857E2 +:1020B000480FC857800C18400500002864103000F5 +:1020C0006440380005FDFFAA0500003E640C3000A6 +:1020D000805CB910445C3800485FC857480FC85747 +:1020E000800C18400500001D64103000644038006A +:1020F00005FDFF9F05000033640C3000805CB910C3 +:10210000445C3800485FC857480FC857800C1840D7 +:1021100005000012641030006440380005FDFF9493 +:1021200005000028640C3000805CB910445C380065 +:10213000485FC857480FC857800C18400500000773 +:10214000641030006440380005FDFF890500001D63 +:102150008008100005FDF7D364103000654038009A +:1021600005FDFF8305000017900005414803C85690 +:102170000501F0114803C85764103000654038006D +:1021800005FDFF7B641030004200B800000F4240A4 +:10219000805CB84005000005501C00008C00050C58 +:1021A00005FE07FC05FDF7A74803C85705DDFD3A06 +:1021B0004803C8565C00B80005FDFF8D1C01F00007 +:1021C000600C000005FDF7FB4803C85605FDFF78CD +:1021D00060040000050000A04C5C00004C600000A2 +:1021E000400C600061C0303F61C4383F6410300073 +:1021F0004200B800000F4240805CB8406008000018 +:1022000005000092501C00004803C8578C00050CC4 +:1022100005FE07FA8C10051C05000019640C30003F +:10222000501800004803C857501C00004803C85706 +:102230004817C85759A8008282000580338E103C89 +:10224000050000026080280144143800641030004A +:10225000460038000000009005FDFF450500007FA6 +:10226000640C30004807C85744043800641030003C +:102270006440380005FDFF3E05000078640C300026 +:102280008014280059A8008282000580338E103CFB +:1022900005000002608428014414380064103000F6 +:1022A000460038000000009005FDFF310500006B7E +:1022B000800C19C005DC0CF84178B800900C158131 +:1022C00005000040641030006480380005FDFF19EF +:1022D00005000062640C3000501C08004807C85715 +:1022E0009C0409C08004BD57485FC857480FC857B1 +:1022F000805CB910800C1840900C158105000031ED +:10230000641030006480380005FDFF0A05000053AA +:10231000640C3000501C08004807C8579C0409C0D2 +:102320008004BD57485FC857480FC857805CB91034 +:10233000800C1840900C15810500002264103000BC +:102340006480380005FDFEFB05000044640C30008D +:10235000501C08004807C8579C0409C08004BD579A +:10236000485FC857480FC857805CB910800C1840A8 +:10237000900C158105000013641030006480380053 +:1023800005FDFEEC05000035640C3000501C080013 +:102390004807C8579C0409C08004BD57485FC85708 +:1023A000480FC857445CC8008064C8004178B80032 +:1023B000800C1840900C15810500000205FDF7C245 +:1023C0006410300065A0380005FDFEDA050000232A +:1023D000640C3000501C08004807C85782040D00E8 +:1023E000000000FF9C0409C08004BD574807C8577F +:1023F000485FC8574863C8574867C857480FC85709 +:102400004030100041780800601000000515FC8A7B +:102410004807C857800409C0050000066010000086 +:1024200080000C81805CB9108004084005FE07FE26 +:10243000445CC800485FC8574863C8574867C857D6 +:10244000900005414803C8565C00C0005C00B8001D +:1024500005FDFEE71C01F000600C000005FDF7FB28 +:102460004C000000599C00188C0005145C00000012 +:102470001C01F00005FDFFFB0500000359A802390F +:102480008C0005181C01F000599C00188C000516E2 +:1024900005020003900005411C01F000800005804A +:1024A00005FDF7FE60003020801830400500001068 +:1024B000053DFC3405FC07FD05E1F93B605430F4B3 +:1024C00050183800821C050000007000050000064E +:1024D000480350BF821C0500FFFF8FFF44003000FF +:1024E00080000580640300001C01F0004803C8560A +:1024F0004A0344080000CCCC9000054105FDF7FAE2 +:10250000053DFC2005FC07FF600008F45804001599 +:1025100082000500FFFF8FFF59A810BF800805400B +:1025200048000815640300001C01F00059A80005CC +:102530008C00051405000005420000000010D103C6 +:1025400050000000900005281C01F00059A80082EE +:1025500082000580041E10141C01F0004807C857B3 +:10256000480BC857480FC8574C0400004C080000DF +:102570004C0C000005F5F8015C0018005C00100030 +:102580005C0008000500000380141D4305F1FFC036 +:102590001C01F0004807C857480BC857480FC857D8 +:1025A0004C0400004C0800004C0C000005F1FFF347 +:1025B0005C0018005C0010005C00080005000004CE +:1025C000800C188080141D0305F1FFB11C01F00080 +:1025D00059C400A44C5800004C5000004C5400005A +:1025E0009000050F900004870500100890006C878C +:1025F00005DE1C290C01F8075C00A8005C00A000A7 +:102600005C00B0001C01F0000501F8E905FDF7FBD6 +:102610000010498B00104991001049B5001049CFB6 +:1026200000104A710010498A1C01F00059C40806C4 +:102630008C0405000502000384040D404807880649 +:102640001C01F00059C400058C00053405020699F0 +:102650004A038805FFFFFFFF420060000002000000 +:102660000501FE7B59A8003382000500FFFFFFFA39 +:102670008400054248035033497B52394200080028 +:102680000010F5E545780800497B509A42000000AB +:102690000010D8CD460000000000FFFF420060009F +:1026A000FFEFFFFF42006800400000000501FE63ED +:1026B00059C4000682000500FFFFFF0F480388068B +:1026C000604008004200100000104F7D0515F86FB3 +:1026D0000501F00142006000FFFFFFFF42006800BB +:1026E000008000000501FE556120B00159C400A41E +:1026F0009000050F9000058A0500000D8058B0403D +:1027000005FE07FB497B502E42006000BF7FFFFFA4 +:1027100042006800000180000501FE4842006000A0 +:10272000FFFEFFFF417868000501F644497B502E0B +:1027300064035099800005800501F64C4A03880522 +:10274000FFFFFFFF59A8009990000C8405DE1BD203 +:102750000C01F001001049D8001049FE00104A6A2F +:102760004803C85659C400A38400051E480388A323 +:102770006407509959C40008820005400000028097 +:10278000480388080501FE17420078000010D43085 +:102790004A007806110100004200A0000010D8D0C5 +:1027A0004200A8000010D4376008B000053DFB1DB2 +:1027B00059C4080284040D0C48078802600C080004 +:1027C000497B50A30501FD0E640750A3497B509E31 +:1027D0000501FE2C42006000FFFFFFFF4200680081 +:1027E000000800000501FE1542006000FFF7FFFF32 +:1027F000417868000501F61159A8009E497B509E5A +:10280000800025400500005E59C4000490000503C7 +:102810000502006559A808338C040502050000492B +:102820009010058C0502004C901004188000B10433 +:1028300041CC1000420018000010D43050080800AD +:10284000500C00008004058005020019800810006B +:10285000800C18008058B04005FE07F90501FE09FC +:1028600059C800158400050848039015420060000F +:10287000FFFFFFFF42006800005000000501FDEF70 +:10288000640B5099640B502E05E9F8016140080F64 +:102890004200100000104EDB0515F93A59A800332C +:1028A00084000506480350330501F5CE59CC0806CF +:1028B00082040D80110100000502002759CC080098 +:1028C0008204050000FFFFFF05000018820005805C +:1028D000000000EF0502001559CC08018204050034 +:1028E00000FFFFFF82000580000000EF0502000FDF +:1028F00091CCA4074200A8000010D8D06008B00016 +:102900005050080050540000800404800500100757 +:10291000050200118050A0008054A8008058B040EB +:1029200005FE07F80501F00C59A8003384000502E4 +:102930004803503359C80015840005084803901512 +:1029400041CCA0004200A8000010D4306024B000A8 +:10295000053DFAB40501FDCB42006000FFFFFFFF1B +:1029600042006800000800000501FDB4420060005C +:10297000FFF7FFFF417868000501FDB042006000ED +:10298000FFFFFFFF600068800501FDAC59C4000433 +:102990009000050305020004497B509E600C08006E +:1029A0000501F4971C01F0001C01F00059A8002E4D +:1029B00090006D8F050000039000059B05020C62DE +:1029C0001C01F00059A80033840005064803503369 +:1029D000497B50A359A8002E90000C9E05DE1B2EAB +:1029E0000C01F00100104AA800104AB800104ADAA1 +:1029F00000104AF400104B1200104B1500104B1839 +:102A000000104B1B00104B1E00104B3200104B35BA +:102A100000104B8900104B8C00104B9900104B9C00 +:102A200000104BAE00104BB300104C0200104C29AC +:102A300000104CA100104CC800104D1700104D5D47 +:102A400000104DAB00104DC900104E0B00104E2968 +:102A500000104E3900104E3A4803C856601ED80088 +:102A60000509FB660500000642006000FFFFFFD776 +:102A7000417868000501FD710501F00959C400069F +:102A800082000500FFFFFF0F480388064A03880500 +:102A9000000000F00509FEA60509FAD21C01F000AD +:102AA0004803C85642006000BF7FFFFF4200680035 +:102AB000004000000501FD6105E5FF756407502E2B +:102AC0004200100000104F7D0511FF8B0501FCD363 +:102AD0006140080F4200100000104EDB0515F0A900 +:102AE00059A8009E900005940502001E4803C8578F +:102AF00042006000FFBFFFFF417868000501FD4F05 +:102B000059C400049000050305020016420010009D +:102B100000104EDB0511FF6859CC100682081580A5 +:102B2000110200000502001059CC10078C08053E68 +:102B30000500000A59A800338C00050405020007AF +:102B4000420000000010D760053DF96B59A8003322 +:102B500084000544480350336443502E0501F0DCE3 +:102B60001C01F0000501F3F84803C856640F502E0D +:102B700042006000BF3FFFFF4200680000100000FD +:102B80000501FD2E4200100000104F7D0511FF5A77 +:102B90000501FCA24200100000104EDB0511FF46AB +:102BA00059A80439900005280500000442000800D7 +:102BB000FFFFD81505EDFAE3420078000010D43687 +:102BC0004600780011020000601408000501F40CB2 +:102BD00059A8009E800005400500001A4803C85708 +:102BE0004200100000104EDB0511FF3359A8009E73 +:102BF000900005940502001459CC10068208158037 +:102C0000110200000502001059CC10078C08053E87 +:102C10000500000A59A800338C00050405020007CE +:102C2000420000000010D760053DF93359A8003379 +:102C300084000544480350336413502E0501F0030B +:102C40001C01F0000501F3C04803C8566417502E5C +:102C50000501F1174C5C00006004B8000501F0EDBF +:102C60004803C856641F502E0501F1B04C5C0000AB +:102C70006004B8000501F1864803C8566427502E49 +:102C800091CCA4064200A8000010D4366014B00015 +:102C9000053DF9E4420078000010D4364600780083 +:102CA000110501008D0C05060500024360140800A3 +:102CB0000501FBD34D3C0000600678000531F8713A +:102CC0005C0278001C01F0004C5C00006004B8005D +:102CD0000501F1E54803C856642F502E420010004C +:102CE0000010D4374008A8006080B0004600A8005B +:102CF000FFFFFFFF8054A8008058B04005FE07FC8E +:102D0000420078000010D43646007800110600001A +:102D10008D0C050605000005500800004600100057 +:102D200000FFFFFF0501F03E420248000010D8CF2F +:102D3000053DFA0D40083000417828004178180020 +:102D400041782000592402008C0005000500001283 +:102D50008C00050205000010801429C00502000245 +:102D6000800C180080142800592444088220450053 +:102D7000000000FF400C0000501820000C01F8106B +:102D80008010254044103000800C19C0050200025C +:102D90008018300091264C0D8058B04005FE07EA9F +:102DA000500800008200050000FFFFFF801428F09B +:102DB00080140540440010000501F01900104B7309 +:102DC00000104B7800104B7D00104B82802000F0EB +:102DD0008210250000FFFFFF800C18001C01F0008E +:102DE000802000E082102500FF00FFFF800C18000B +:102DF0001C01F000802000D082102500FFFF00FFA2 +:102E0000800C18001C01F0004020000082102500FA +:102E1000FFFFFF00417818001C01F00060840800EB +:102E20000501F3774C5C00006004B8000501F22254 +:102E30004803C8566437502E91CCA4064200A8001F +:102E40000010D4366084B000053DF9764200780069 +:102E50000010D43646007800110700006084080096 +:102E60000501F3674C5C00006004B8000501F272D4 +:102E70004803C85690040D410501FC7C643F502E68 +:102E8000497B509E42006000FFFFFFFF4200680048 +:102E9000003000000501FC6942006000FFDFFFFF19 +:102EA000417868000501FC656140080F4200100090 +:102EB00000104EDB0511F65F4803C85659A8009E66 +:102EC00080000540050203201C01F0004803C8569D +:102ED0006447502E91CCA4064200A8000010D436BE +:102EE0006014B000053DF94F4200A8000010D43630 +:102EF0004600A800110200008D0C050605020041E5 +:102F000059A80C39820405800000FFFF0500003D30 +:102F100090040D300500000542000800FFFFD815A1 +:102F200005EDFA080501F03759CC00078C00053C87 +:102F300005000034420248000010D8CF053DF98A50 +:102F400059240200B0000D23B0040DA30502002196 +:102F500059240A08420010000010D4370501FAB5C0 +:102F60000500000959240C0805E5FE6159240200FA +:102F700084000502840005188400054448024A00C4 +:102F80000501F014592402008200054000001006DB +:102F90008400050648024A0048064A0882042C00BC +:102FA000001027595014280082142D00000000FF43 +:102FB00048164C08592400058200050000FFFF0058 +:102FC00080140D40480648054014080005E5FE3908 +:102FD00091264C0D8058B04005FE07DA42024800A9 +:102FE0000010D8CF59242A008C14050205000005D2 +:102FF0008C1405000500000359242C084817502D97 +:10300000601408000501F2FE4C5C00004178B80035 +:1030100059A8009E80000540050000214803C857BC +:103020004200100000104EDB0511FE2359A8009E3F +:10303000900005940502001959CC100682081580ED +:10304000110300000502001559CC10078C08053E3D +:103050000500000A59A800338C000504050200078A +:10306000420000000010D760053DF82359A8003346 +:103070008400054448035033805CB9C00500000457 +:10308000641B502E05FDFEF70501F005644B502E24 +:103090000501F8050501F0020501FAAB5C00B80076 +:1030A0001C01F0004803C856644F502E91CCA40771 +:1030B0004200A8000010D4376010B000053DF8D9D8 +:1030C0004200A8000010D4364600A80011030000FA +:1030D0008D0C05060502006A420248000010D8CF98 +:1030E000053DF9214C6000004178C00059A8023923 +:1030F00082000500FFFFFFFC4803523959240200FB +:103100004000080082040D00FFFFFB1748064A003C +:103110008C000500050000488C00051805020046DB +:103120008C00050205020004592404008C000502ED +:103130000500004159240A08420010000010D4374D +:103140000501FA3C0500002B59240005820005000A +:1031500000FFFF0048024805592402008C000502C8 +:103160000500001959240207820005000000FFFF36 +:10317000050000158060C00059240C0805E5FDDC41 +:103180004C6400004C5800004D2C00005924C80924 +:103190006040B00050640000800001C005000004E1 +:1031A0004578C8004002580005DDFCE08064C80096 +:1031B0008058B04005FE07F85C0258005C00B00083 +:1031C0005C00C80059240200840005028400054404 +:1031D00048024A00592404008C000504050000162A +:1031E000592402008400054648024A000501F012F5 +:1031F00059240200900005468400050648024A0052 +:1032000082042C00001027595014280082142D002D +:10321000000000FF48164C085924000582000500F4 +:1032200000FFFF0080140D404806480540140800C8 +:1032300005E5FDA0592402008400051848024A0053 +:1032400091264C0D8058B04005FE07AD8060C1C08E +:1032500005020B0A5C00C000420248000010D8CFF3 +:1032600059242A008C140502050000058C14050061 +:103270000500000359242C084817502D601408003D +:103280000501F25F4C5C00004178B80059A8009E2F +:1032900080000540050000214803C8574200100087 +:1032A00000104EDB0511FD8459A8009E9000059486 +:1032B0000502001959CC100682081580110400007F +:1032C0000502001559CC10078C08053E0500000AC0 +:1032D00059A800338C0005040502000742000000D5 +:1032E0000010D7600539FF8459A8003384000544D5 +:1032F00048035033805CB9C0050000046423502E9D +:1033000005FDFE5E0501F0056453502E0501F8052C +:103310000501F0020501FA0C5C00B8001C01F00088 +:103320004803C8566457502E91CCA4074200A80009 +:103330000010D4376010B000053DF83A4200A800F4 +:103340000010D4364600A800110400008D0C0506BC +:1033500005020041420248000010D8CF053DF88226 +:10336000592404008C0005000500002F5924020098 +:103370008C0005000500002C8C0005020502002AC7 +:1033800059240C008004091082040D00000000FF85 +:10339000420010000010D4370501F9A60500001006 +:1033A000592400058200050000FFFF00480248057F +:1033B000592402008400050248024A0059242400CE +:1033C0008C1005040500001884000546840005449F +:1033D00048024A008060C0000501F0135924020031 +:1033E000900005468400050648024A0048064A083F +:1033F00082042C00001027595014280082142D003C +:10340000000000FF48164C08592400058200050002 +:1034100000FFFF0080140D404806480540140800D6 +:1034200005E5FD2491264C0D8058B04005FE07CDE2 +:10343000420248000010D8CF59242A008C140502FB +:10344000050000058C1405000500000359242C0814 +:103450004817502D601408000501F1E94C5C00008C +:103460004178B80059A8009E800005400500004042 +:103470004803C8574200100000104EDB0511FD0E36 +:1034800059A8009E900005940502003859CC1006FA +:10349000820805001105000082000580110500006A +:1034A000050200328C080510050000130501FAEF33 +:1034B00059CC10078C08053E0500000A59A80033B6 +:1034C0008C00050405020007420000000010D760D0 +:1034D0000539FF0959A800338400054448035033D7 +:1034E000805CB9C005000014642B502E05FDFDFA68 +:1034F0000501F01F59CC10078C08053E0500000A95 +:1035000059A800338C0005040502000742000000A2 +:103510000010D7600539FEF859A80033840005442F +:1035200048035033900005410501FAD0497B509A79 +:103530000501F0026407509A59CC10078C08053C2D +:103540000500000264235239805CB9C00502000402 +:10355000645B502E0501F8080501F005643B502E10 +:1035600005FDFE440501F0020501F9775C00B80095 +:103570001C01F0004803C85691CCA4064200A800E4 +:103580000010D4366014B0000539FFA6645F502ED9 +:1035900059A8009A8C0005000500000642001000A2 +:1035A0000010D43646001000110501000501F0029C +:1035B000646F502E420248000010D8CF0539FFEA50 +:1035C000599C2817592402008C000500050000258D +:1035D0008C000502050200238C000506050200216F +:1035E0004C5800000501F8C25C00B0000502000B59 +:1035F000592400058200050000FFFF00480248052D +:103600005924020084000502840005468400054414 +:1036100048024A000501F0135924020090000546B3 +:103620008400050648024A0048064A0882042C0025 +:10363000001027595014280082142D00000000FFAC +:1036400048164C08592400058200050000FFFF00C1 +:1036500080140D40480648054014080005E5FC9517 +:1036600091264C0D8058B04005FE07D74202480015 +:103670000010D8CF59242A008C140502050000053B +:103680008C1405000500000359242C084817502D00 +:10369000601408000501F95A4D3C000060067800EE +:1036A000052DFDF85C0278001C01F0004C5C000068 +:1036B0004178B80059A8009E800005400500001818 +:1036C0004803C8574200100000104EDB0511FC7A79 +:1036D00059A8009E82000580000000840502000FAA +:1036E00059CC100682081580110600000502000B57 +:1036F000800005800501FA5D805CB9C0050000040A +:103700006433502E05FDFDCB0501F0056463502E9A +:103710000501F8050501F0020501F90B5C00B80090 +:103720001C01F0004803C8566467502E91CCA406D3 +:103730004200A8000010D4366084B0000539FF397B +:10374000420038000010D437420248000010D8CFA1 +:103750004200B0000010D8CE5058B00059240200EA +:103760008C000500050000198C00050205000017FB +:10377000401C280050141000800801308000000018 +:10378000400018008208150000FFFFFF800000F0D5 +:103790008008054044002800592444088220450040 +:1037A000000000FF400C1000800811048208340063 +:1037B0000010D43750181000900C05030C01F808C5 +:1037C000800815404408300091264C0D8058B040C8 +:1037D00005FE07E3608408000501F10900104DFBB8 +:1037E00000104DFF00104E0300104E07802000F027 +:1037F0008208150000FFFFFF1C01F000802000E0A0 +:1038000082081500FF00FFFF1C01F000802000D09F +:1038100082081500FFFF00FF1C01F000402000009F +:1038200082081500FFFFFF001C01F0004C5C000047 +:103830004178B80059A8009E800005400500001896 +:103840004803C8574200100000104EDB0511FC1A57 +:1038500059A8009E82000580000000840502000F28 +:1038600059CC100682081580110700000502000BD4 +:103870006407509A0501F897805CB9C00500000400 +:10388000643B502E05FDFD7B0501F005646B502E59 +:103890000501F8050501F0020501F8AB5C00B80070 +:1038A0001C01F000900005410501F9F0646F502EF5 +:1038B00091CCA4064200A8000010D43659A8209E3E +:1038C000401000008000B104405808005450A80087 +:1038D0008050A0008054A8008058B04005FE07FC2E +:1038E0000501F0C71C01F0001C01F0004803C85698 +:1038F00060103000420040000010D437599C281757 +:103900008C1405140502001C600C100040200000FF +:10391000800804005000080082042580FFFFFFFF9C +:1039200005020005800810408018304005FE07F8A9 +:103930000501F03F800811C00502000682042580C1 +:103940003FFFFFFF0500003982040D40C00000006A +:103950006080B00060041800400420008010210244 +:103960000502101F800C18C28058B04005FE07FCED +:103970000501F02E4178100040200000800804006E +:103980005000080082042580FFFFFFFF05020005AC +:10399000800810008018304005FE07F80501F0236C +:1039A000800811C00502000382040D40C000000021 +:1039B0006004B000420018008000000040042000B5 +:1039C000801020C205021006800C19028058B00039 +:1039D000905804A105FC17FB0501F01440200000DD +:1039E0008008240050100000800C05404400200096 +:1039F00059A8003384000540480350334058000064 +:103A00006080280080142C8040080000600C380082 +:103A1000801C0480800000CA80142D4040140800DF +:103A2000900005410501F002800005801C01F000B6 +:103A30004807C857480BC857400418004178200071 +:103A4000600C0000900C1CA00500100480102000E9 +:103A50008000004005FDF7FC40041800801021C0E4 +:103A600005000004900C1CA08010204005FE07FEFD +:103A700060042000800C19C005000004801020C2E2 +:103A8000800C184005FE07FE80083C00401C280002 +:103A90005014000080102D00050200078010054022 +:103AA0004400380059A800338400054048035033CF +:103AB000800005801C01F0004807C856605C1100BA +:103AC00059A818540539FD9605F9FF231C01F0008B +:103AD0004807C8566080B00091CCA4074200A800F7 +:103AE0000010F5E50539F68A4807C8560515FF8C1C +:103AF00061DC08010501F8D4497B2804497B2805CD +:103B0000497B2826497B28276006D80042006000B0 +:103B1000BE7FFFFF42006800000180000501F947F9 +:103B200042006000FFFEFFFF417868000501F94395 +:103B3000497B505460B408004200100000104F53FD +:103B40000511F33C4807C85605FDFFE8497B502E98 +:103B5000497B509E1C01F0004807C8564200600097 +:103B6000FFFFFFFF60A068000501F1344807C85659 +:103B700005FDFFD20515FC294DF000000515FEB529 +:103B80005C03E00005140C1659C400A49000050F56 +:103B9000900005820502000A42006000FFFFFFFF5F +:103BA00042006800002000000501F9244200600086 +:103BB000FFDFFFFF417868000501F920497B502EA7 +:103BC00061DC08010501F8A059C400A382000500CA +:103BD000BF20BFFF820005400001C000480388A34A +:103BE00084000520480388A3497B505460B4080032 +:103BF0004200100000104F530511F30E497B509EF8 +:103C000059B400F58C000500050200039000054141 +:103C1000480368F5800400C482000400000020000E +:103C20004803910A59B400F69000051805FE07FEF6 +:103C30004A0368F00010D42F420000000010D43670 +:103C40004C040000400438005000080082040D803D +:103C5000110100000500000C500008004807C8577B +:103C60008D0C052A050000084C000000821C3D4018 +:103C70000000DC00420000000010D43005D9FF969F +:103C80005C0000005C000800480368F18204040046 +:103C90000000DC00480368F359C400A49000050F3D +:103CA00090000588050200134C5C00004C60000089 +:103CB00059C4B8058C5C053A0502000442000000B6 +:103CC0000010D75D0539FD0C4A038805200000006F +:103CD00005E5FE924000C00005E5FDD96006D8006C +:103CE000497B502E5C00C0005C00B8001C01F00055 +:103CF00059C8010B8C00050205FC07E859C408A44B +:103D000090040D0F90040D8B0502000559A8082E94 +:103D100082040D40000020000501F00459A8089914 +:103D200082040D40000010004807505459A808A311 +:103D3000800409C0050200056140080F4200100020 +:103D400000104EDB0511FC0F1C01F0004807C8569F +:103D500005FDFF5A0515FBB14DF000000515FE3DB0 +:103D60005C03E00005140B9E59C400A49000050FED +:103D7000900005820502000A42006000FFFFFFFF7D +:103D800042006800002000000501F8AC420060001D +:103D9000FFDFFFFF417868000501F8A80505FE9DDB +:103DA000050000100505FEA70502000E4A0350316C +:103DB0000000AAAA4C04000005E5FAFA59A8003D43 +:103DC00082000500FFFF0000800405404803503DCD +:103DD0005C000800640350320505FE0B0501F00588 +:103DE0006417509C6000000105E5FA4E05FDFF3F99 +:103DF0001C01F0000501F80942006000BF7F7FFF51 +:103E0000417868000501F08D42006000BF7F7FFFB0 +:103E1000417868000501F0890505FE8A0502000960 +:103E200059C4000682000540000000F048038806DF +:103E300042006000BFFFFFFF417868000501F87F86 +:103E40001C01F000800408D059A800338C0005063E +:103E50000500000659A8002D82000500000000FFA3 +:103E6000800405400501F00382040540000000F7CE +:103E7000480388A71C01F0004807C856420000000C +:103E80000010D7F50539FC9C601430004D3C000053 +:103E90004C18000060343000600A78000501F037EB +:103EA0004807C856420000000010D81A0539FC9295 +:103EB000600030004D3C00004C180000603C3000B9 +:103EC00061FC19FF601C200005F9FE8F5C003000CA +:103ED000592402008400055648024A004D40000063 +:103EE00060AA8000592404008C00050A05340CBB2C +:103EF000600A780005E9FDB35C0280005C0278008E +:103F00000005F7BD4807C856420000000010D81849 +:103F10000539FC79600C30004D3C00004C18000065 +:103F200060383000600A78040501F0144807C8566C +:103F3000420000000010D8170539FC6F60103000F7 +:103F40004D3C00004C18000060403000600A7804CE +:103F50000501F00A4807C856420000000010D75F6C +:103F60000539FC65600430004D3C00004C18000031 +:103F700060303000600A780061FC19FF601C20008E +:103F80004D200000417A400005F9FE5F5C024000D0 +:103F90005C0030004D4000000539FA0F60AA800037 +:103FA00005E9F9F54C5800000539FD6F420008009D +:103FB0000010D8CF5804000582000500000000FF63 +:103FC0004800080590040C0D8058B04005FE07FA23 +:103FD0005C00B0005C0280005C0278001C01F00014 +:103FE0004807C856050110004A03C8400010D42FE6 +:103FF0006503C8424000000005FD17FF420078003D +:104000000010D42F64447800803C78004A00780087 +:10401000220000EF4A007801000000EF4A00780219 +:1040200001380000640078034A007804FFFFFFFFB6 +:10403000640078051C01F00059C400A3803005001D +:1040400080340540480388A31C01F0004833C8575A +:1040500059C400A380300540480388A38030058000 +:10406000480388A31C01F0004803C856050000035C +:10407000640750A40501F002497B50A41C01F00024 +:1040800059C800028000054005000009800000407A +:10409000050000074A039005000001406018000079 +:1040A0008000004005FE07FF05FDF7F61C01F0004B +:1040B0004C5C00004C60000059C4B805485FC8560D +:1040C0008C5C053A05020004420000000010D75D38 +:1040D0000539FC094A0388052000000005E5FD8F2D +:1040E0004000C00005E5FCD64A0388050400000036 +:1040F0005C00C0005C00B8001C01F000497A6A0056 +:104100000501FAE84A026C0000000707497A6801D5 +:10411000497A6808497A6809497A6806497A6807D5 +:10412000497A6C0B497A680C592404008C00050A02 +:10413000050000055934080F59340010800405406B +:1041400005DA0D554A026A0400000100497A6A0343 +:104150005934040282000500000000FF48026C028E +:10416000497A6C04497A6A05497A6C05497A68117A +:104170004D2C00005934000D49466C0380025D400F +:104180000500000305DDF8F2497A680D5C0258006D +:10419000599C040148026A0B599C020848026C129F +:1041A0004A02680A000080000505F1D06014000092 +:1041B00080000D800501F0240501FF710502001348 +:1041C00059A802398C00050A0502000D5934021263 +:1041D000820005000000FF004803C85705000008E2 +:1041E00059340A008C04051E000002BC60A40000C3 +:1041F00060000820492FC8570501F013492FC85700 +:1042000060A000000501F00E8D0C05020502000300 +:104210008D0C050005000003601000000501F0088A +:1042200060A4000059340A008C04051E0500000437 +:10423000492FC857600008200501F003492FC857CF +:1042400080000D804803C857800285401C01F000A3 +:10425000490FC8578D0C050005FE07F00501FF2624 +:1042600005FE07EA593402008C00050E05FC07E73D +:104270000001F2BC4D4800004D4C0000592E900C3E +:10428000592E980D0501FC845C0298005C02900098 +:1042900005FC07C70001F2BF492FC857592E8C0AE9 +:1042A00083440D80000007FC050000048344048063 +:1042B000000007F005021018592E440B0509FF11E4 +:1042C00005000F61050200140509FDFE050200123C +:1042D0000501FF1505020012051DF91A0500001958 +:1042E000832004000010C59C500248004926601D30 +:1042F000593400024802600B4936600A492E6009B1 +:10430000642A6407610270000005FFDB80000580FD +:104310000501F00B60A000000501F0080501FF1881 +:1043200005FC07FD910C0D03050000036010000063 +:104330000501F00260A40000800005401C01F000AF +:1043400060B0000005FDF7FD492FC857592E440BFA +:104350004923C8570509FEEB592C420B0500000AFA +:104360006038000059240A008C0405000500018C07 +:1043700090200D0F90040D880502018990200D30CA +:1043800005000187592E8C0A4947C85783440C8081 +:104390000000080060280000050211814823C8576A +:1043A0009020050F0C01F001001050FD00105190FD +:1043B000001051DF001051E7001051EF001050FACB +:1043C000001050FA001050FA001051F90010524A33 +:1043D00000105266001050FA001050FA001050FA07 +:1043E000001050FA001050FA4803C857603000001F +:1043F0000501F16B592C100C8208150000FFFFFF1E +:104400000501FDA80500002D4803C85790004D9DEB +:10441000050200160005FB7D593404054C00000020 +:104420000501FEB55C000000050000048C20050AB3 +:10443000050000228000058044002800593400084F +:104440004800280259340009480028015934000660 +:104450004800280459340007480028036014B000BD +:104460000529FFBF0501F1714803C85790004D9A17 +:1044700005020003401010000501F14E4803C85723 +:1044800090004D9B05020003401810000501F14902 +:104490004803C85790004D9F0500014A90004D9C6D +:1044A0000500014890004D99602800000500013C7E +:1044B000602800000502014D59A800B88C000502D3 +:1044C000050000160501FE8C050000145934021287 +:1044D000820005000000FF00604010000502000B94 +:1044E0006020100059A802398C000506050200085A +:1044F000593400028200050000FF000082000580A0 +:1045000000FF0000050000050505F8F960700000D7 +:104510004018100005020127051DF88A0500012F2B +:1045200082200500000001000501FE224926601DD1 +:104530004936600A0529FD08492E600964066407AA +:104540008C20050A05000004592C04088400055C31 +:1045500048025C084C2000004D3C000060027830AE +:1045600005E9F8DF5C0278005C004000592C100C73 +:104570008208150000FFFFFF5924000580081D80F8 +:104580000502001C4A026C0000000404497A6A0516 +:10459000497A6C058C20050A050200064A026C0067 +:1045A000000006064A026A0500002000648A6C05C5 +:1045B0005924000159240802480268064806680781 +:1045C0005924000359240804480268084806680969 +:1045D00059A8000448026A040505F8E40005FFBD77 +:1045E000592C04088400051C48025C080501F10FE1 +:1045F0008C2005120500000B599C00188C00051832 +:1046000005000008592C000D820005000000038001 +:104610005934080A80040D4084040D544806680A81 +:10462000417A78000501F905600C08000501F90DD3 +:10463000600A70000005FFDB800005800501F0FEC8 +:104640000501FE81050200E90501FE3105000009B2 +:104650000501FE29050200E94C6000004178C00018 +:1046600060027830417A600005E9F9155C00C0000D +:10467000592C100C8208150000FFFFFF592400057B +:1046800080084D80050200074A026C000000060603 +:104690004A026A0500002000648A6C050501F0E307 +:1046A00059A800B88C000502050000160501FE128D +:1046B0000500001459340212820005000000FF00BA +:1046C000604010000502000B6020100059A802395C +:1046D0008C0005060502000859340002820005001E +:1046E00000FF00008200058000FF000005000005BB +:1046F0000505F87F6070000040181000050200AD4D +:10470000051DF810050000B55934080A8C20051263 +:104710000500000C599C00188C00051805000009C4 +:10472000592C000D82000500000003808204150052 +:10473000FFFFFC7F80080D4084040D540501F0024A +:1047400084040D144806680A4926601D4936600A2B +:104750000529FC81492E600964066407417A7800C6 +:104760000501F8B6601408000501F8BE600E70007F +:104770000005FFDB800005800501F0AF0501FE327A +:104780000502009A0501FDF10502009C0529FE269F +:1047900005000092800005800501F0A70501FE2AB2 +:1047A000050200920501FDE9050200940529F94B77 +:1047B0000500008A800005800501F09F0501FE22AA +:1047C0000502008A83444D80000007FE6028000037 +:1047D000050200730529FE28050000808000058081 +:1047E0000501F095B0200530050200048C20050E6F +:1047F000603000000502006A8C20050A0500000CEC +:104800004D3C0000600278A08C20050E05020003DC +:10481000853E7D56853E7D1C82200500000004A05B +:104820000501FD875C0278000501F0808C200508F9 +:104830000502001A592C100C8208150000FFFFFF1A +:104840000501FC98050000244803C85790004D9AC4 +:1048500005020003401010000501F0564803C85738 +:1048600090004D9B05020003401810000501F05117 +:104870004803C85790004D9F0500005290004D9C82 +:104880000500005090004D9960280000050000448C +:10489000602800000501F0550501FDEB05020053FD +:1048A0004D3C0000600278A08C20050E050200033C +:1048B000853E7D56853E7D1C8220050000000090CF +:1048C0000501FD4A5C027800602800000502003402 +:1048D0000501F056592C100C8208150000FFFFFF4F +:1048E0005924000580084D800502000384204548B6 +:1048F00005FDF7EC916C0583601C080005020005BE +:104900000529FD8105000006800005800501F04AAB +:104910000501FDB2050000420501F0440501FDAFAF +:104920000500002E0501F0410501FDC70502002F1D +:10493000916C0583050200368C20050805000008EF +:104940004C6000004178C00060027830417A60001D +:1049500005E9F85B5C00C0000501F0340501FD6C61 +:10496000050000090501FD64050200244C600000FB +:104970004178C00060027830417A600005E9F85063 +:104980005C00C000480BC8560529FC050500001353 +:10499000800005800501F02805FDF7E4480BC857A5 +:1049A00060640800400010006008B0000501F008D5 +:1049B000480BC857400008006008B0000501F0042B +:1049C000480BC857400008006004B000480BC857A7 +:1049D00060C680000501F017480BC857600C08003E +:1049E0006004B00005FDF7FA480BC85760280800BE +:1049F0006004B00005FDF7F6480BC85760240800B6 +:104A0000400010006008B00005FDF7F1480BC857E2 +:104A1000601C08006004B00005FDF7ED480BC857A6 +:104A20006004B00005FDF7EA800285804178B0009F +:104A3000900005411C01F0004937C8575932680AF7 +:104A400059341200813E79C00500000384081540E6 +:104A50000501F00284081500480A6A001C01F000F4 +:104A60005932680A5C0000004C0000004803C85737 +:104A70004937C857833405800010F5CD0500001F65 +:104A800090040586050200036018000C0501F0146F +:104A90009004058405020003601000080501F01071 +:104AA00090040587601C000E0500000D900405832E +:104AB000600C000E0500000A9004058560140008D3 +:104AC0000500000790040589602400080500000423 +:104AD0009004058B602C000E05DA0AEF4803C857D6 +:104AE00048026C0090040D86050200045934140439 +:104AF000800811C005D80AE81C01F0005C00000025 +:104B00004C0000004803C8574947C857481BC857BE +:104B100083440480000008000502105F8320040025 +:104B20000010C59C50024800592400098344148099 +:104B3000000007F005001003800814000501F003D1 +:104B4000834414000010C8005008000080026D402B +:104B500005000005593400138000013081200580D4 +:104B60000500001E4C1800004D2C000005D9FE4E1B +:104B7000412E68005C0258005C00300005000046D1 +:104B800059242005812000F0801025404812681328 +:104B90005924200B8210050000001FFF800000C276 +:104BA00082102500FFFFE0008010054048026814D5 +:104BB000592422078010200048124A07453410006B +:104BC000497A680D497A6810497A680F4C180000D4 +:104BD00005FDFD4B5C00300059340A124C04000006 +:104BE0000505FB065C0008000500000982180500A9 +:104BF00000FFFF000500000859A8102D82081500CD +:104C000000FFFF008008058005000003800005808C +:104C10000501F00482180500000000FF800000D0AC +:104C200080040D80050000034803C85748026A123B +:104C30005934081359242005801021C005000008AC +:104C4000812000F080102540400400008010058085 +:104C5000050000034813C8574812681383440580B1 +:104C6000000007FE050200044A02680200FFFFFE82 +:104C70000501F00659340002801805800500000384 +:104C8000481BC857481A68020501F80680000580CD +:104C90001C01F0004803C8569000054105FDF7FDD2 +:104CA00059341200840815085934000A8C00050C88 +:104CB0000502000B599C00188C0005100500000926 +:104CC00059A800068C00050A0500000559340C039C +:104CD00082040480000007F00500100284081548D3 +:104CE000480A6A001C01F0004947C8578344048001 +:104CF0000000080005021018832004000010C59C65 +:104D0000500248005924000983441480000007F031 +:104D100005001003800814000501F003834414000B +:104D20000010C8005008000080026D400500000916 +:104D30000501FC71050200088D0C05020500000448 +:104D4000593402008C00050E050000039000054157 +:104D50001C01F0008000058005FDF7FE5C000000EE +:104D60004C0000004803C8574947C8574D2C000065 +:104D70004D300000834405800000FFFF0500001C4B +:104D800083440480000008000502101D83441400C1 +:104D90000010C8005008000080026D40050000149B +:104DA000457810005934000D80025D4005DA0DE8A9 +:104DB00059366011813261C00500000A4C64000060 +:104DC0005930C800593258090525FF2405DA0DE08D +:104DD0000005FFBD9066654005FE07FA5C00C8004F +:104DE0000501FEC24136580005D9FDD1800005807D +:104DF0005C0260005C0258001C01F000900005415C +:104E000005FDF7FC4C58000059CC00014937C85744 +:104E10008200050000FFFFFF48026802497A6C012A +:104E2000497A6A015934020082000500FFFFDFFD64 +:104E300048026A004004B0000505FA70050200123D +:104E40005934040382000580000007FE05000005B8 +:104E500059A802398C00050A0502000B0501F0086B +:104E600059CC04088C0005180500000759CC00092E +:104E70004803504A59CC000A4803504B8058B1C0EF +:104E80000502000159CC0A0990040D1059CC040800 +:104E9000900005200500000584040D4059A8123932 +:104EA0008408155A480B52395934000A820005000B +:104EB000FFFFFFEE800405404802680A91CCA40B76 +:104EC0009134AC066008B0000539F95691CCA40DB8 +:104ED0009134AC086008B0000539F95259A820B7E0 +:104EE00082100D000000F00082040D8000003000F0 +:104EF0000502001759CC00138C00053E0500001474 +:104F000059CC0414599C08188C0405120500000E95 +:104F10008C00051E0500000559340200840005467A +:104F20008400054448026A0059CC02138C0005161F +:104F300005000005593402008400054C8400054436 +:104F400048026A0059CC0A140501F00559340200E0 +:104F50008400050848026A0059CC0A1859A80006BE +:104F60008C00050C05020013820404800000080078 +:104F70000502100A820404800000040005001003EA +:104F8000600008080501F0058204048000000200AA +:104F90000500100260000804420010000010D42533 +:104FA0005808020180041480050010024000080027 +:104FB00048066A045934040382000580000007FE95 +:104FC0000502000359CC0A0848066A040501FE6779 +:104FD0005C00B0001C01F00059A802394937C857DD +:104FE0008C00050805000007840005564803C857D3 +:104FF0004803523942001000001055C7050DFE2E1F +:1050000059CC02074803C85748026A0559CC020A1E +:105010004803C85748026C0559341200599C0818B7 +:105020005934180A4807C857480BC857480FC8577B +:1050300059CC200682102500FF0000008210258038 +:1050400002000000050000078C00050E05000009A5 +:105050008C0C0514050000038C0C050E05000005E2 +:105060008C040518050000038408154A0501F002A8 +:105070008408150A8C000510050000098C0C051425 +:10508000050000038C0C0510050000058C040518B4 +:10509000050000038408154E0501F0028408150E72 +:1050A0008C000512050000098C0C05140500000396 +:1050B0008C0C0512050000058C0405180500000382 +:1050C0008408155C0501F0028408151C480A6A0072 +:1050D0001C01F0004803C8564C5C00004D2C000039 +:1050E0004C5800005934000D80025D40050000233B +:1050F000592C0006900004880500100A412CB800C5 +:10510000592C000180025D4005FE07FA05D9FCF725 +:105110000500002E492FC857492CB8010501F01B86 +:10512000912C0C076020B000500400008200058024 +:10513000FFFFFFFF0502000680041000500800007A +:1051400082000580FFFFFFFF0500000590040C02B0 +:105150008058B04005FE07F505D9F94F45480800CD +:10516000454C1000592C1806800C1800480E5806A3 +:10517000480FC8570501F01005D9FCDC05000013E5 +:10518000492FC857492E680D497A580564065806B4 +:10519000494A5807494E5808912C0C096038B0000C +:1051A00046000800FFFFFFFF800408008058B04061 +:1051B00005FE07FC900005415C00B0005C02580051 +:1051C0005C00B8001C01F0008000058005FDF7FBC5 +:1051D0004803C8564D3C00004D2C00005934000DCA +:1051E00080025D400500001C592C00058000054030 +:1051F0000502001C412E78000501F8A705020019E0 +:1052000046000800FFFFFFFF46001000FFFFFFFF02 +:105210004813C857480FC857580C000690000C8216 +:1052200005021012480FC857400C0000812C058061 +:1052300005020004580C00014802680D0501F00346 +:10524000580C000148002001400E580005D9FCB759 +:10525000900005415C0258005C0278001C01F000DF +:105260008000058005FDF7FC80000040480018061E +:105270004803C85705FDF7F764225A0A0001F3787E +:1052800064A65A0A0001F37864AA5A0A0001F37866 +:1052900064A25A0A0001F378643A5A0A0001F378CA +:1052A0004943C8574D4400004D3400004D2C0000C8 +:1052B0004C58000061C0B00F417A88000001FAFE2E +:1052C000050200078D3C0506050000045934020064 +:1052D0008C00050E050200020501F81181468800C8 +:1052E0008058B04005FE07F68344048000000800A3 +:1052F000050210068D3C05020500000461C2880FFE +:105300006040B00005FDF7EE5C00B0005C025800A4 +:105310005C0268005C0288001C01F0004D2C00005B +:105320004C6000004C5C00004178B8005936580FC2 +:10533000812E59C00500002C592C0208820005005E +:10534000000000FF9000059205000024B00005A0B9 +:105350000500002290000588050000208D3C050016 +:10536000050000030501F8460502001C592CC00089 +:10537000497A5800805CB9C0050200095934001010 +:10538000812C058005020004497A680F497A68106B +:105390000501F0084862680F0501F0064860B80092 +:1053A00059340010812C058005020002485E681007 +:1053B0000005F9FA0509FB7E4A025A0800000103BC +:1053C00049425A0A497A580D0525FEFD0001FB782D +:1053D0004062580005FDF7D7412CB800592E5800FF +:1053E00005FDF7D45C00B8005C00C0005C0258000A +:1053F0001C01F0004803C856417818005934000FCA +:1054000080025D4005000018592C000980200580AD +:10541000592C000005000003412C180005FDF7F988 +:10542000592C0A0882040D00000000FF90040D9220 +:1054300005FC07FAB0040DA005FC07F890040D88E0 +:1054400005FC07F6497A5800800C19C005000007D2 +:10545000480018008000054005020003480E68104F +:10546000900005411C01F0004802680F80000540D3 +:1054700005FE07FD497A681005FDF7FA592C000C66 +:105480008148058005020003592C000D814C0580E0 +:105490001C01F0004803C8564C580000413C18005D +:1054A000400C2000593C0005800005400502001416 +:1054B0006020B000900C0C0750040000814805806B +:1054C000050200058004100050080000814C058092 +:1054D0000500000B90040C028058B04005FE07F751 +:1054E000400C2000580C000180001D4005FE07F113 +:1054F000900005415C00B0001C01F00080000580B8 +:1055000005FDF7FD4937C8574C5800004D2C0000E9 +:105510005934000D80025D400502001105D9FBF3EE +:105520000500000C492E680D64065805497A580696 +:10553000912C0C076040B00046000800FFFFFFFF01 +:10554000800408008058B04005FE07FC900005412B +:105550005C0258005C00B0001C01F0004D2C000003 +:10556000592E580105D9FBFA5C025800497A5801B6 +:1055700005FDF7EE4D2C00005936580D812E59C00F +:10558000050000054937C857497A680D05D9FBF071 +:10559000900005415C0258001C01F00059340405DC +:1055A0004937C8574803C8578C0005081C01F0004C +:1055B0004803C8560505F8910500004359A808336B +:1055C0008C0405040502001B59A80A398C04050641 +:1055D000050000180535FFE0420248000010D8CF52 +:1055E00061FA880F5924080983440480000007F0F9 +:1055F0008004040050026800813669C00500000A7A +:10560000592402009000050390000583050200065E +:105610000501FA4505020004593402008400055AC8 +:1056200048026A0091264C0D8058B04005FE07EEF6 +:1056300059A800068C00051C050200038D0C0520EE +:105640000500001361C0B00F417A88000001FAFE26 +:105650000502000C0501FA340502000A59A8002DC4 +:1056600059340802800405808200050000FFFF0015 +:1056700005020004593402008400055A48026A00F9 +:10568000814688008058B04005FE07F10501F8D03A +:105690000500000359A8084B0501F0076140080FF9 +:1056A00059A800068C00051C050200038D0C05207E +:1056B0000500000442001000001055C7050DFDB1A3 +:1056C0001C01F0000535FFA4420248000010D8CFAD +:1056D00061FA880F5924080983440480000007F008 +:1056E0008004040050026800813669C0050000088B +:1056F0005924020090000503900005830502000470 +:10570000593402008400051A48026A0091264C0DA3 +:105710008058B04005FE07F005FDF7C64D3000008B +:105720004D3400004D4400004D3C00004C5800003A +:105730004D2000004D24000042001000001055C70D +:10574000050DFC5D59A80A394807C8578C0405089F +:105750000502002E8C04050A050200038C040506D0 +:10576000050000410535FF7C420248000010D8CFFB +:105770004178100061FA880F592408098344048095 +:10578000000007F08004040050026800813669C000 +:105790000500000B592402009000050390000583CA +:1057A00005020007593402008C00051A05000004A8 +:1057B0008400051A48026A008008100091264C0DEA +:1057C0008058B04005FE07ED59A80A398C04050A37 +:1057D00005020025800811C00500004A59A80A39B1 +:1057E0008C04050A050200208D0C0520050000052B +:1057F0006140080F42001000001055C7050DFD6103 +:1058000005E5FDD00501F03F59A802394803C85706 +:105810008C0005160502003B59AA68A9813669C0AB +:10582000050000385934040082000580000004049B +:10583000050200340519FBC305D40F974803C85768 +:10584000640664074936600A417A780005FDFC7BEE +:105850006014080005FDFC83600E70000005FFDB8E +:105860000501F02861C0B00F80028D800001FAFEB2 +:1058700005020021593402008C00051A0500001EA3 +:1058800059368C03417A780060A680000501F9E65C +:10589000592404008C00050A0502000341783000F9 +:1058A0000531FE4B59340200840005588400051A66 +:1058B00048026A004937C8574A026C0000000707CF +:1058C00005FDFF2D60A680000511FCD44DF0000001 +:1058D000417A60000511FA0F0511FB140511FB5DFB +:1058E000417A78000511F8E20531FD185C03E0000B +:1058F00005100CBB814688008058B04005FE07DCCF +:105900005C0248005C0240005C00B0005C02780071 +:105910005C0288005C0268005C0260001C01F00010 +:105920004933C8575930380A581C02008400051AF8 +:1059300048003A001C01F0004933C8575930000AAA +:10594000500000008C0005081C01F0005930000ACE +:10595000500000004933C8574803C8578C00050E53 +:105960001C01F0005930000A500000008C00050AAC +:105970001C01F0004933C8560501F96B050000050C +:105980005934040082000D00000000FF90041585CA +:105990001C01F0004803C85659A80A398C040506B2 +:1059A0000500000A5930081D580402008C0005004B +:1059B00005000006580400099000040E500008007D +:1059C000580402008C00051A1C01F0004D34000040 +:1059D0004C58000059A80A398C040506050000142B +:1059E0000535FEDD420008000010D8CF580410092C +:1059F0009008040E50026800813669C00500000856 +:105A0000580402009000050390000583050200047D +:105A1000593402008C00051A0502000590040C0D93 +:105A20008058B04005FE07F2800005805C00B000A1 +:105A30005C0268001C01F0004937C857493FC8574D +:105A400059341200813E79C0050000038408155EB8 +:105A50000501F0028408151E480A6A001C01F000C6 +:105A60004937C85705E5FC760500000559A8084ADE +:105A700042001000001056A0050DFCC21C01F000F1 +:105A80004937C85742001000001056A0050DFB8A88 +:105A900059A8123984081512480B52391C01F0001C +:105AA0004C3800004C3400004C2400004C600000D6 +:105AB0004008C0008344048000000800050210650F +:105AC00080002D8041442000834474000010C800F1 +:105AD00061C0B00F83444C80000007F00502100540 +:105AE0008260048000FFFFFC050010050501F059ED +:105AF0006040B00059240009802474005038000030 +:105B000080000540050200304144000080100580FF +:105B1000050200604010280082104C80000007F051 +:105B20000500102759A802398C00050A0500000D50 +:105B300082104D80000007FE0502000582604D8046 +:105B400000FFFFFE050200430501F01D592402007D +:105B50008200050000000220050200050501F04A50 +:105B6000592402008C00050A0500004782104D8070 +:105B7000000007FC0502000582604D8000FFFFFC6D +:105B8000050200340501F00E82104D80000007FD73 +:105B90000502000582604D8000FFFFFD0502002D1B +:105BA0000501F00782104D80000007FF0502002963 +:105BB00082604D8000FFFFFF0502002684142D5EE9 +:105BC0000501F03440006800583430028218350076 +:105BD00000FFFFFF401800008060058005020022E2 +:105BE0005834081380040130812005800502001E0E +:105BF0008204050000FFFFFF59240805800405808A +:105C000005000004812000F080040D404804681362 +:105C100040100000814405800502000940366800FC +:105C20008C2005080500005205FDFF5305020050B9 +:105C30004947C857607400000501F04E4947C857EE +:105C4000480BC8574823C857606800000501F04951 +:105C50004947C8574863C8574813C857606400008D +:105C60000501F04440100000814405800502000950 +:105C7000583430024947C857481BC857606C000069 +:105C80000501F03C4947C857607C00000501F03928 +:105C9000801020008038700083444C80000007F0A2 +:105CA0000500100782104D80000008000502000A60 +:105CB0005924700961C0200F0501F00782104D8042 +:105CC000000007F005020004417820004200700047 +:105CD0000010C8008058B04005FE0789801429C014 +:105CE0000502000505D5FE6C4947C857602800002D +:105CF0000501F0204D2C00004C18000040603000E1 +:105D000005FDFB7F4947C8574937C8575C0030003D +:105D10005C02580005FE07F5497A6A1259A8023953 +:105D20008C00050A0502000D8260050000FFFF00DF +:105D30000500000659A8482D82244D0000FFFF00F1 +:105D4000802405800502000582600500000000FF38 +:105D5000800000D048026A1248626802592448054F +:105D6000812000F080244D40482668138000058083 +:105D7000800005405C00C0005C0048005C006800DA +:105D80005C0070001C01F0005934000F8D0C0512EE +:105D9000050200055934140B80081040050010025C +:105DA000480A6C0B8000054000020B0B1C01F00040 +:105DB00059340A0084040D088000054005000005E0 +:105DC0005934000A8400054C4802680A0501F004B1 +:105DD000599C00188C0005100500000284040D4831 +:105DE00048066A001C01F0004803C8574947C857D5 +:105DF0004C30000090006530050000054C000000AC +:105E00000525FFB45C0000000502000B8C00050EA8 +:105E1000050000060501F88C050200074937C85740 +:105E2000412408000501F89F800005805C006000A7 +:105E30001C01F0009000054105FDF7FD4803C8571F +:105E40004C5800004D4400004000100080000D80C0 +:105E500061C0B00F4C040000400688004C080000F0 +:105E60004008000005FDFFE35C0010005C00080036 +:105E7000800408008058B04005FE07F78C08051420 +:105E800005000005840815146004B00061F0080FD7 +:105E900005FDF7F14D3000004D4000004D2400009D +:105EA0000501FB8E61FE89FF4202600000110DE0DA +:105EB0004A02600A0010F5CD417A48004926601D6B +:105EC00060A680000511FB554DF000000511F99703 +:105ED0000531FB9E5C03E00005100B415C024800AD +:105EE0005C0280005C0260005C0288005C00B00024 +:105EF0001C01F0004C5C0000593404008200BD809D +:105F0000000006065C00B8001C01F0004C5C0000BC +:105F1000593404008200BD80000004045C00B80015 +:105F20001C01F0004C5C0000593404008200BD806C +:105F300000000404050000038200BD800000060686 +:105F40005C00B8001C01F0004C5C00004C600000DC +:105F5000593404008200BD000000FF00825CC5804F +:105F60000000040005000003825CC58000000600FC +:105F70005C00C0005C00B8001C01F0004C5C00003C +:105F80005934040082000500000000FF9000BD832A +:105F9000050000029000BD855C00B8001C01F00007 +:105FA0005C0000004C0000004803C8574C5C000037 +:105FB00059340400820005000000FF008400B9C0CD +:105FC000805C05804937C8574803C85748026C00B1 +:105FD0005C00B8001C01F0004C0400004C080000FC +:105FE000592C020B8C00050C0500000D592E8C0A53 +:105FF0008200050000000080840005484D3C000040 +:106000006002782005FDFF795C0278009000054170 +:106010005C0010005C0008001C01F000800005809E +:1060200005FDF7FC593400138002413083224C00F7 +:106030000010C59C51264800812649C005D40D9604 +:106040001C01F00083440C800000080005021013BE +:10605000832004000010C59C500248005924000908 +:1060600083440C80000007F00500100380040C003E +:106070000501F00383440C000010C8005004000028 +:1060800080026D4005000005593400138000013086 +:10609000812005801C01F0009000054105FDF7FE00 +:1060A0004937C8574C5800004D44000059368C03FE +:1060B000834405800000FFFF050000108344148026 +:1060C000000007F00502100305FDFB250501F00B9C +:1060D0005804000980080C00500400008134058039 +:1060E00005D60D6D4D2C000045780800413658004E +:1060F00005D9F90E5C025800800005805C0288001A +:106100005C00B0001C01F000592C040F8200050057 +:106110000000E00082000580000060000500001F14 +:10612000916C058305000011916C0582050200F455 +:1061300059A8023990000D380502000559A8083108 +:10614000800409C0050000090501F0ED90000D0371 +:1061500090040D83050200EA90000D28050200035B +:106160008C00050C050000E6592E440B83224500E7 +:10617000000000FF0505FF63050200C1592C100E49 +:1061800082080500FF000000050200C9592400052F +:1061900080080580050000C4592C0C0F82040D00F6 +:1061A0000000E0008204048000008000050210C2AC +:1061B000592E8C0A83440480000008000500101545 +:1061C000834405800000FFFF050200AB800409C086 +:1061D000050200E3592C240D82100500FFFFFF008B +:1061E000050200AF480BC8574813C857592C001177 +:1061F0008200048000000841050210B1614E700069 +:106200000501FAB6420268000010F5CD0501F084E0 +:10621000800409C0050200D24178400005FDFE213E +:10622000050200BF59342204592C0011801004804B +:10623000050010A3614E7000592C240D821005003A +:10624000FFFFFF00050200964813C857592C040BA6 +:10625000820005000000F000820005800000300090 +:1062600005020006593402008C00050805020003EF +:106270009010058305020084592C0010800001C095 +:10628000050000659010058405000083B01005919D +:1062900005000081901005830500000F901005A0F7 +:1062A00005000039901005A405000033901005A1E9 +:1062B00005000033B01005900500002BB0100592CA +:1062C0000500002790100585050200556006700046 +:1062D0000501F018600A700059A800B88C0005028A +:1062E0000500001405FDFF040500001259340212D8 +:1062F000820005000000FF00604010000502000B56 +:1063000059A802398C0005060502005B60201000C8 +:10631000593400028200050000FF00008200058061 +:1063200000FF0000050000030501F971050200529D +:106330000519F90405000068644264074926601DD8 +:106340004936600A600C0800913805820500000299 +:10635000602C080005FDF9C30501F03660027000ED +:106360000501F0026012700005FDFEF80502005FF5 +:106370000501F02B60CE70000501F004601670007E +:106380000501F002600E700005FDFEE705020057F2 +:1063900059A800B88C0005020500001405FDFED6C2 +:1063A0000500001259340212820005000000FF00AF +:1063B000604010000502000B59A802398C00050648 +:1063C0000502002D602010005934000282000500F3 +:1063D00000FF00008200058000FF000005000003B0 +:1063E0000501F943050200240519F8D60500003A15 +:1063F000644264074926601D4936600A601408003B +:1064000091380583050000026024080005FDF99518 +:106410000501F008901025910502002B0519F8C917 +:106420000500002D644264074926601D4936600A54 +:106430000529F816492E60094932580C8334058025 +:106440000010F5CD05000007592C0C0F8C04051821 +:1064500005000004593402008400051448026A0053 +:106460000005FFDB800005801C01F0009000054165 +:1064700005FDF7FE602810000501F01460381000DB +:106480000501F012603C10000501F01060401000A2 +:106490000501F00E605810000501F00C605C100062 +:1064A0000501F00A606010000501F008606C100042 +:1064B0000501F006607810000501F00460901000FE +:1064C0000501F002608010006064080060C6800072 +:1064D00005FDF7E7600C08000501F00260280800E0 +:1064E0004178100005FDF7FA6024080059341400C3 +:1064F00005FDF7F7602280000501F004601C08002C +:10650000416C100005FDF7F2417808004178100059 +:1065100005FDF7D76002800005FDF7FC90004D9D5A +:1065200005D40C5D90004D9A050200044010100047 +:106530004000080005FDF7E690004D9B05020003B2 +:106540004018100005FDF7FB90004D9C05FC07F975 +:1065500090004D9905FC07C805FDF7E1592E600C28 +:106560000525FDD005FC07CA59300C07900405919C +:1065700005FE07E1592C0C0F820415000000E00015 +:10658000820805800000600005000021834405802A +:106590000000FFFF050200075932680A83340580B6 +:1065A0000010F5CD05FE07D4610008100501F00FBD +:1065B000592C100E8208150000FFFFFF41784000A3 +:1065C00005FDFD3805FE07D65930000A82000D8012 +:1065D0000010F5CD050000038134058005FE07C6D7 +:1065E0004936600A59340A04592C00118004048089 +:1065F00005FC17B359300A039004058705FE07BE52 +:10660000492E60096152700005FDF78D0535F806C9 +:1066100005FC07C105FDF7B8492FC857592E600C76 +:1066200083300580FFFFFFFF05020041592C020B5C +:106630008C0005000502006C8D0C050E050200594A +:10664000592E8C0A8344048000000800050210368D +:10665000592C380E821C3D0000FFFFFF05E5FB9C16 +:10666000050200394926580541784000592C100D83 +:106670008208150000FFFFFF05FDFD0A0502004B23 +:10668000592E60174933C85783300580FFFFFFFF3D +:10669000050000180525FD830500002D591C140771 +:1066A000800811C005000013592C0411591C0A025E +:1066B000800405800502000F591C000A800001C0FB +:1066C00005020007591C082A59340002800405807D +:1066D0008200050000FFFFFF0501F0028134058004 +:1066E00005020004900805870502002C64923C0313 +:1066F00059240005592C080D8204150000FFFFFFE6 +:10670000800815800500000C80040932B004058261 +:106710000502000B493658060501F8D580000580B2 +:106720001C01F000602810000501F00A6040100014 +:106730000501F008605010000501F006605C1000D3 +:106740000501F004606010000501F00260F0100027 +:10675000492FC857480BC8576064080060C68000BE +:106760009000054105FDF7EF492FC8574803C8576A +:10677000480BC8574000080005FDF7F9492FC857D6 +:10678000602808004178100005FDF7F54178080001 +:106790004178100005FDF7F36078080005FDF7FA71 +:1067A0006004080005FDF7F890004D9D05D40BBA74 +:1067B00090004D9A050200034010100005FDF7EB14 +:1067C00090004D9B050200034018100005FDF7E7FF +:1067D00090004D9C05FC07E590004D9905FC07E3F2 +:1067E00005FDF7E70535F8636002800005FDF7E871 +:1067F0005C0000004C0000004803C8575930200AD4 +:10680000801021C005000029581014004813C857F3 +:10681000480BC85782081D00000000FF59300C03C8 +:1068200090040588050000189004058A05000010F2 +:106830009004058C0500000B9004058205000012F1 +:10684000900405810500000D9004058305000008F3 +:106850009004058505000003900405B305020013AC +:10686000900C05890500000A0501F010900C0585C3 +:10687000050000070501F00D900C058B05000004D4 +:106880000501F00A900C05830502000882081D002E +:10689000FFFFFF00840C01C0800C05404807C8576B +:1068A0004803C857480024001C01F000599C0017F9 +:1068B0008C00050A05000003800005801C01F00023 +:1068C00059A80239900005280500000761F6880FD5 +:1068D000417A400005FDFDDC050200035934000A41 +:1068E0008C0005041C01F0001C01F0004D44000068 +:1068F0004D340000800005804000180040028800F0 +:106900009008058805020002600418000001FAFEE4 +:106910000502000A05FDFD7805020008800C19C07B +:1069200005000004593404058C0005080500000327 +:1069300080081040050000098146880083440480D7 +:106940000000080005FC17F2800005805C0268006A +:106950005C0288001C01F000900005415C026800A8 +:106960005C0288001C01F0006020080058D400E49C +:106970008C00051C0502002F59A802398C0005085F +:106980000502002C5934100A820815000000E000AE +:1069900041781800900805800500000A800C180056 +:1069A000820805800000200005000006800C180009 +:1069B000820805800000600005000002800C1800BD +:1069C000420070000010D425583804018C000504E2 +:1069D00005000006900C2C8405021016820C0400A1 +:1069E00000105A8E0501F0124178200059342A0413 +:1069F00082140480000008000502100680102000A8 +:106A0000821404800000040005021002801020009F +:106A1000800C00C2800C04008010040090002C89BF +:106A2000050210048200040000105A925000080071 +:106A300048066C041C01F000000000020000000485 +:106A400000000008000000080000280200001402F6 +:106A500000000A020000140200000A020000050201 +:106A600000000A02000005020000050459A8088E73 +:106A7000800409C005020004492F508D492F508E13 +:106A80000515F5F5492C0800492F508E1C01F00022 +:106A90005934000F41784000800015400500001077 +:106AA0005808020882000500000000FF90000592CF +:106AB00005000005B00005A0050000039000058852 +:106AC0000502000458080210800405800500000536 +:106AD000580800004008400005FDF7F0900005410F +:106AE0001C01F0004C5C00004C600000592E8C0A28 +:106AF000592E440B83224500000000FF592CBC0C8A +:106B0000592CC40B4947C8574923C857485FC85731 +:106B10004863C8578260C5000000F00082600580AD +:106B20000000300005020007593402008C000508FF +:106B300005020004599C00188C0005100500001A7D +:106B40008C5C050A0500002B485FC856812241C0B5 +:106B50000502001383440580000007FE0502000EB5 +:106B60004200300000FFFFFE05F9FFE505020017B7 +:106B70004937C8570529FA1D050000128000058015 +:106B80005C00C0005C00B8001C01F00090000541F2 +:106B900005FDF7FC602810000501F00760381000C3 +:106BA0000501F005603C10000501F0036060100075 +:106BB0000501F0016064080060C6800005FDF7F47F +:106BC000600C08000501F002602808004178100000 +:106BD00005FDF7FA602280000501F0014178080008 +:106BE0004178100005FDF7EA6002800005FDF7FC22 +:106BF000485FC856812241C005FE07E983440580ED +:106C0000000007FE05FE07E44200300000FFFFFE23 +:106C100005F9FFBB05FE07ED4937C857592E600E31 +:106C20000525FC2005FC07E259300C07900405916E +:106C300005FE07E95930000A800001C00500000385 +:106C40008134058005FE07E44936600A59300A039D +:106C50009004058705FE07E0592C0A0D4807C85720 +:106C60004806621B497A641B492E60096412640756 +:106C70008C5C050E050200134C5C00004C600000AB +:106C80004C640000592CBA0B485F54B4485F52B3AF +:106C9000592CC80F4200C0000010FA7F0531FFEBED +:106CA0005C00C8005C00C0005C00B800616A700055 +:106CB00064066203493A6403050DFB4205FDF7B023 +:106CC000616E7000592C00104802641C592C001190 +:106CD0004802621C05FDF7F7420000000010F5CDE8 +:106CE0004A000400000007074A00020400000840B0 +:106CF0004A0004030000FFFF497802001C01F00075 +:106D00004D3400004D4400004C58000061C0B00FED +:106D10004803C856417A88000001FAFE05020006C1 +:106D2000593402008C00051A050000038400051A7E +:106D300048026A00814688008058B04005FE07F787 +:106D40005C00B0005C0288005C0268001C01F0007E +:106D5000640330034A03B104800000004A03B10415 +:106D6000600000011C01F000599C00184803C8563F +:106D7000497B3006497B30079000050F48033004FB +:106D800005000008599C0216820005000000FFFF64 +:106D9000050200026008000048033005850E1D62F0 +:106DA0001C01F00005FDFFF16413C826599C02097F +:106DB000800005400500001C599C0207800005402A +:106DC00005000007800000CC599C080D80040400D9 +:106DD0004803B100497BB10259D80101599C000D0B +:106DE0004803B100599C000E4803B101599C0207A9 +:106DF0008000054005020002497BB102599C0A0946 +:106E000082040540004000004803B1036423B10937 +:106E10004A03B104100000018D0C05220502000395 +:106E2000640730031C01F0008D0C051605000007F7 +:106E30008D0C052005020003640B300305FDF7FAF5 +:106E4000640F300305FDF7F88D0C052005020003E3 +:106E50006413300305FDF7F46417300305FDF7F202 +:106E6000592C0208492FC85780000540050000072B +:106E7000420340000010D0C459A1D80680EDD9C00B +:106E800005D40A050501F0050529F87E05D60A0294 +:106E90005931D82D58EF400B58EC0009800001C043 +:106EA00005D409FD0801F8001C01F0005C00000099 +:106EB0004C0000004803C857492FC8574943C857DA +:106EC0004807C8574C0400000005F9FA5C000800A8 +:106ED0004C0400000505FCB65C0008004A025A0894 +:106EE0000000010349425A0A48065A0C4A025C0A49 +:106EF0000000FFFF813261C0050000035930040229 +:106F000048025C0A592C020C8C000512050200068E +:106F1000912C040D050110004803C840642FC8429D +:106F2000050110001C01F000597658000001FDF326 +:106F3000592C1005800811C0000205D81C01F00072 +:106F40004C5400004C5800004C5C00004D2C0000DC +:106F50004000B8000535F9804178A80005D5FD52FC +:106F60000500009D05011000485FC857912C0408DA +:106F70004803C8406443C8424000000005FD17FFB5 +:106F8000412C70004A02580800000132497A580921 +:106F9000420000000010D2255000000048025802B4 +:106FA000805CB9C005020060912E5C0B417A400004 +:106FB000420248000010D8CF4178680059240A00E6 +:106FC0009004050F0C01F00100105C0B00105C0B2D +:106FD00000105C0B00105C0B00105C0B00105C0BD5 +:106FE00000105C0B00105C0200105C0B00105C0BCE +:106FF00000105C0B00105C0B00105C0B00105C0BB5 +:1070000000105C0B00105C0B8054A800812241C072 +:107010000502000759240805805C00F080040D403B +:1070200048065800812E58000501F03090340503C1 +:107030000C01F00100105C1100105C1900105C22C2 +:1070400000105C2B912005810502000360042000E4 +:107050000501F020912004A00500101D8034680077 +:107060000501F01B912005A105020004812E5800A6 +:10707000600420000501F017B12004800500101401 +:10708000803468000501F012B1200581050200047A +:10709000812E5800600420000501F00EB12004A0EC +:1070A0000500100B803468000501F009B12005A12E +:1070B00005020004812E5800600420000501F0053F +:1070C000B12004BF0500100280346800801020C287 +:1070D000900405079000058705020004592C000064 +:1070E000801005404802580091264C0D8122400036 +:1070F0008058B04005FE07B28054A9C0403A5800FD +:10710000050000340535F9140535F92D0502000296 +:107110008058B040805800D08054054048025A0A38 +:107120000501F0254943C8574923C85791400581B7 +:107130000502000448165A0C90140583050000222D +:1071400083400D00000000FF900405840500001E30 +:10715000900405860500001C83400D000000FF0020 +:10716000050000038140011048025810814000D002 +:107170008120054048025C0A0535F911050200022C +:107180008058B040805800D09000054148025A0A0B +:1071900059240805805C00F080040D404806580B17 +:1071A0005924000B4802580F592C020C800C054042 +:1071B00048025A0C0535F90C0502000C0001FB7859 +:1071C0000501F00559CC00074802581005FDF7E805 +:1071D00005D5FCD65C0258005C00B8005C00B0002D +:1071E0005C00A8001C01F0000531FCC205FDF7FAA7 +:1071F00059A8002F90000C8A05D619270C01F80811 +:107200004A038805000000F059C400A3820005006D +:107210000287000005D609201C01F00000105D0463 +:1072200000105C9200105CAA00105CD300105CF7A8 +:10723000001005A5001005A500105CAA001005A50A +:1072400000105C911C01F000600C20000501FBAFF8 +:107250004A038808000002040501FBA359C408057D +:107260008C04050E050200108C04050A05020009B5 +:107270008C04050C050200058C0405080500000AB5 +:10728000640F502F0501F0076403502F0501F0052E +:10729000420000000010D7670531FF97640B502FA4 +:1072A0000501F8961C01F000600020000501FB9725 +:1072B0004A0388080000020259C408058C04050826 +:1072C000050200208C04050C0502001C8C04050E30 +:1072D0000502001882040500000000F00502001BF2 +:1072E0000501FB814A0388080000028059C400029E +:1072F0008400050C480388020501F9584D3C000044 +:10730000600678000525FEDF5C02780059C410A3F2 +:107310008408151805E1F9144A0388080000028062 +:10732000600820000501FB796427502F0501F00754 +:107330006407502F0501F0046403502F0501F0028B +:10734000640F502F0501F86D1C01F000600420004F +:107350000501FB6E59C410A38408151805E1F90254 +:107360004A0388080000028059C408058C04050AF5 +:10737000050200188C04050C050200148C04050E8F +:107380000502001082040500000000F00502001351 +:1073900059C400028400050C480388020501F92F36 +:1073A0004D3C0000600678000525FEB65C027800C2 +:1073B000600820000501FB556427502F0501F007E8 +:1073C0006407502F0501F0046403502F0501F002FB +:1073D000640B502F0501F8491C01F0000501FC4623 +:1073E0004A0388080000020859C408058C04050CEB +:1073F000050200058C04050E050000056407502FEA +:107400000501F0026403502F0501F83C1C01F00057 +:10741000601020000501FB3D0501F87259C4080504 +:107420008C04050C050200098C04050A0502000500 +:107430008C04050E050000056407502F0501F002BD +:10744000640B502F0501F82D1C01F0000501F8EB2D +:1074500005D60891601C20000501FB2C8D0C050C45 +:1074600005000010850E1D0C6443880505DDFFCA6C +:1074700059C400058C000508050000064A03880869 +:1074800000000208640750326006D8000501F01AB7 +:1074900059C4000684000548480388060501F01613 +:1074A00059A8002F9000058105020012420000003B +:1074B0000010D7670531FF104CE8000061A1D0072C +:1074C0000509FE5359C40005900005300500000869 +:1074D0008C00050A05000004600020000501FB0B7C +:1074E0000501F003600420000501FB085C01D000E9 +:1074F0006413502F1C01F0004C0400004C080000E5 +:10750000619008004200100000105D470509FE264A +:107510005C0010005C0008001C01F0004803C85625 +:107520004C040000050DFDBD4DF000000511F849AB +:107530005C03E000050C0DAA420000000010D766B5 +:107540000531FEED05FDFFC25C0008001C01F000E6 +:107550004803C8564C0400004C080000050DFDAF60 +:107560004DF000000511F83B5C03E000050C0D9C9C +:1075700059C4000684000500480388060511F8E890 +:10758000497B8880420000000010D7650531FEDA93 +:1075900005DDFEE26413509C6012D8006407880584 +:1075A0004200100000105D470509FE0805D5FA5697 +:1075B0000501F89E0500000542006000FEFFFFFF88 +:1075C0004178680005F9FA9D05D1FE5C6000000174 +:1075D00005DDFC545C0010005C0008001C01F0009C +:1075E00059C4000882000580000002100500000553 +:1075F0004A038808000002106021D0270509FE0414 +:107600001C01F0004C04000059A8083290040580C9 +:10761000050000089004058105000008900405821B +:107620000500000890040583050000080501F043EB +:107630006403502F0501F0066413502F0501F00478 +:107640006407502F0501F002641F502F497B88808A +:10765000640788934178000005DDFCB30511F8B09C +:10766000916C0D840500000859C4000682000500D5 +:10767000FFFFFF0F82000540040000014803880659 +:107680000501F00759C4000682000500FFFFFF0F47 +:107690008200054004000000480388060501F863E5 +:1076A0000502000559C4080682040D00FBFFFF0F08 +:1076B0004807880659C400058C00053405020026D9 +:1076C00042006000FC18FFFF42006800010000005B +:1076D00005F9FA5A05DDFF3059C408A490040D0FCE +:1076E00090040D8C050208850501F8500500000581 +:1076F00042006000FEFFFFFF4178680005F9FA4F85 +:10770000916C0D840500000C05FDFF7C5994102E32 +:1077100041780800602800000509FFC74008000004 +:1077200059A8085380040C004200100000105D545A +:107730000509FD946413503205FDFEAE0501F83BCA +:107740000502000559C408A490040D0F9004058C8F +:1077500005D20FD15C0008001C01F0004803C85698 +:107760004C0000000509FDB84A03502D00FFFFFF43 +:10777000497B503159A8003D82000500FFFF000001 +:107780004803503D497B8880497B889341780000BD +:1077900005DDFC6559C4000182000500FFFFFCFF08 +:1077A0004803880142006000FC18FFFF4178680030 +:1077B00005F9FA2259C410A38408151805DDFFEA5B +:1077C0004A038808000002005C000000800001C03D +:1077D00005FA08C64A038805040000F059C40006EB +:1077E00082000500FFFFFFCF82000540440000C17A +:1077F000480388061C01F0004C5C000059A8B83111 +:10780000825CBD800000AAAA5C00B8001C01F000E8 +:107810004C5C0000599CB818905CBD30905CBD80F9 +:107820005C00B8001C01F0004C5C0000599CB818CA +:10783000905CBD30905CBD905C00B8001C01F00015 +:107840004C5C0000599CB818905CBD30905CBDA0A9 +:107850005C00B8001C01F000490FC857910C0D13D3 +:107860000500001D599C10174D3C0000910C05119E +:1078700005000005417A78008D0C052005020007FF +:107880000501F00F602278008D0C05200500000C2A +:10789000600C30000501F00260103000603A80009A +:1078A0004D20000061FE4001052DFE4C5C024000B1 +:1078B000599C10178C08050A05020005601280000B +:1078C00005E1FBAD4803C856850E1D085C02780033 +:1078D0000501F0098D0C052005000007603E8000C1 +:1078E000600430004D20000061FE4001052DFE3B8C +:1078F0005C0240001C01F0004803C8564C580000D0 +:10790000420000000010D87B0531FDFB420008005A +:107910000010F8A359C400034400080059C400042F +:107920004800080159C4000B4800080259C4008EE1 +:107930004800080359C4008F4800080459C4009047 +:107940004800080559C400914800080659C400922F +:107950004800080759C400934800080859C4009912 +:107960004800080959C4009E4800080A59C400AAE2 +:107970004800080B59C400AF4800080C59C400B2B5 +:107980004800080D59C400B14800080E90040C0FBF +:1079900041C4180060C0B000580C005044000800FA +:1079A00080040800800C18008058B04005FE07FBDA +:1079B00041C418006080B000580C0010440008005A +:1079C00080040800800C18008058B04005FE07FBBA +:1079D000497B88306100B00059C400314400080080 +:1079E000800408008058B04005FE07FC497B88AC45 +:1079F0006040B00059C400AD440008008004080095 +:107A00008058B04005FE07FC59C410014C08000026 +:107A10008408150C480B88014A0370E40000030039 +:107A20004A0370E5B00000006000081080040840C0 +:107A300005D00F1959B800E58C00053805FE07FC84 +:107A40004A0370E40000020042006000FFFFFFFFF5 +:107A5000420068008000000005F9F9786407880793 +:107A6000497B88070501FAB24A0388080000021022 +:107A700042006000FCF8FFFF4200680001000000C7 +:107A800005F9F96E5C001000480B880142000800FF +:107A90000010F8A3500400004803880358040001B4 +:107AA00048038804580400024803880B5804000364 +:107AB0004803888E580400044803888F5804000542 +:107AC000480388905804000648038891580400072A +:107AD0004803889258040008480388935804000912 +:107AE000480388995804000A4803889E5804000BEC +:107AF000480388AA5804000C480388AF5804000DB6 +:107B0000480388B25804000E480388B190040C0F53 +:107B100041C4180060C0B000500400004800185074 +:107B200080040800800C18008058B04005FE07FB58 +:107B300041C418006080B0005004000048001810D4 +:107B400080040800800C18008058B04005FE07FB38 +:107B5000497B88306100B000500400004803883140 +:107B6000800408008058B04005FE07FC497B88ACC3 +:107B70006040B00050040000480388AD8004080055 +:107B80008058B04005FE07FC497B888041780000A2 +:107B900005DDFB6559C408A490040D0F9004058C05 +:107BA00005D20EBD4A038805040000005C00B00049 +:107BB0001C01F0004803C8564C5800004CE8000077 +:107BC000420000000010D7680531FD4B59C4100871 +:107BD0004C08000082081500FFFFFF7F480B880853 +:107BE00059C400048200050000003E0205000003A5 +:107BF0006051D0000509FC8659C4000682000500CA +:107C0000FFFFFF0F480388060501FA426443880519 +:107C10004A038808000002046194B00059C40005BA +:107C20008C0005080502001361A1D0070509FC7846 +:107C30008058B04005FE07FA601C20000501F933AA +:107C40000501FA2D050DFF364803C85659C410A387 +:107C50008408151805DDFEC44A03880800000208E0 +:107C6000640750326006D800900005410501F032EB +:107C7000600420000501F92505D5FCEB4200000059 +:107C80000010D8570531FD1C05D9F8F2497B8880D2 +:107C900059A8003D820005000000FFFF4C000000D5 +:107CA00005DDFB215C0000004803888059C410A357 +:107CB0008408151805DDFEAC4A03880800000200A0 +:107CC000642388056194B0004A038805000000F031 +:107CD00005DDFDB161C0080159C4000580040D0037 +:107CE0000500000661A1D0070509FC498058B04095 +:107CF00005FE07F605FDF7D159C410A384081558F1 +:107D000005DDFE99600820000501F90059C4000650 +:107D100082000540000000F04803880659A80030A2 +:107D2000800005400502000280000000480388939F +:107D3000800005804DF0000005DDFDBB5C03E00028 +:107D40005C001000480B88085C01D0005C00B000AB +:107D50001C01F0004803C8564C5800004CE80000D5 +:107D600059C410084C08000082081500FFFFFF7F6F +:107D7000480B880859C400048200050000003E0238 +:107D8000050000036051D0000509FC2105D5FCA6C3 +:107D9000420000000010D8580531FCD705D9F8ADD5 +:107DA000600020000501F8D94A038808000002029B +:107DB00080000580480388804803889305DDFADA4F +:107DC0006010B0074A038805000000F005DDFD7271 +:107DD00061C0080159C4000580040D0005000016AB +:107DE00082000500000000D00502001F619DD00048 +:107DF0000509FC078058B04005FE07F3601C200011 +:107E00000501F8C2050DFEC60501F9BB4A03880845 +:107E100000000208640750326006D80059C400060A +:107E20008400050A4803880664838805900005419C +:107E30000501F01B59C410A38408151805DDFE4A7E +:107E40004A038808000002006095D0000509FBF095 +:107E500059C410A38408155805DDFE4360082000AE +:107E60000501F8AA497B888059A8003080000540A8 +:107E700005020002800000004803889359A8003DD5 +:107E8000820005000000FFFF4C00000005DDFAA69F +:107E90005C00000048038880800005804DF00000F1 +:107EA00005DDFD615C03E0005C001000480B880804 +:107EB0005C01D0005C00B0001C01F0004803C85613 +:107EC000600420000501F89159C4000482000500F7 +:107ED00000003E0205000008050DFE910501F9862F +:107EE0004A03880800000208640750326006D80080 +:107EF0000501F04605D5FC4C420000000010D859A1 +:107F00000531FC7D05D9F85359C4000684000508E5 +:107F10004803880664438805850E1D4C619008005F +:107F20004200100000105D470509FB9F59C410A3D3 +:107F30008408151805DDFE0C4A03880800000200BD +:107F4000497B88804A038805000000F005DDFD12AA +:107F500061C0080159C4000580040D000500000B34 +:107F600082000500000000E00502000D61A1D007BD +:107F70000509FBA70509FA13599400048000054080 +:107F800005FE07F10501F02159C410A38408155816 +:107F900005DDFDF5600820000501F85C4C080000D7 +:107FA0004200100000105D470509FB885C001000CE +:107FB000497B888059A800308000054005020002F6 +:107FC000800000004803889359A8003D8200050006 +:107FD0000000FFFF4C00000005DDFA535C000000CC +:107FE00048038880850E1D0C59C40006840005488E +:107FF0004803880605DDFD0C59C4000882000540D1 +:1080000000000280480388081C01F0004803C8569D +:108010004D4000004D3C0000050DFE410531FD4680 +:108020000502002B599C10178D0C05000502000954 +:108030008C08051A05000026850E1D42601280007E +:10804000602278008D0C0520050200060501F01D58 +:1080500060128000417A78008D0C0520050000191F +:108060000531FD3D420248000010D8CF59240200DE +:108070008C000500050000064C5800006004080054 +:10808000600010020509FD365C00B00091264C0D21 +:108090008058B04005FE07F661FE41FF4D400000EC +:1080A000603A8000600C300061FE89FF052DFC48BD +:1080B0005C028000599C08178C04050A0502000424 +:1080C0004943C857493FC85705E1F9AB497B888008 +:1080D0006006D80005FDFD4C5C0278005C02800063 +:1080E0001C01F00005D5FBD0420000000010D85A5A +:1080F0000531FC0105D5FFD76004000005DDFA0A53 +:108100006407888005DDF4C8420008000010D0C074 +:108110004810080290101488050010085804000147 +:108120004803C8574813C85758040003800000008C +:108130004800080360082000580400019000148BD8 +:10814000050010074803C8574813C85758040003D0 +:10815000800000004800080360000000480008009C +:1081600059C428A490142D0F90142D8C0C000002DB +:108170000501F0FB00106068001060820010609C38 +:10818000001060B6001060D0001060E6001060F5CE +:10819000001061080010611B0010612E001061309A +:1081A000401000000C01F0010010607200106074BB +:1081B0000010607600106077001060790010607B1E +:1081C0000010607E00106080640808011C01F0004F +:1081D000640C08010501F0BC1C01F000641C0801DE +:1081E0001C01F000641008010501F0BA64140801D4 +:1081F0000501F8BE0501F0BA641408010501F0BBE1 +:108200004813C8571C01F000401000000C01F00199 +:108210000010608C0010608E001060900010609163 +:108220000010609300106095001060980010609A34 +:10823000640808011C01F000640C08011C01F00036 +:108240001C01F000641C08011C01F000641008010E +:108250000501F0A0641408010501F8A40501F0A0CF +:10826000641408011C01F000641408010501F09970 +:10827000401000000C01F001001060A6001060A783 +:10828000001060A9001060AB001060AD001060AF7E +:10829000001060B2001060B41C01F000640C080112 +:1082A0001C01F000640008011C01F000641C0801BE +:1082B0001C01F000641008010501F0866414080137 +:1082C0000501F88A0501F086641408011C01F0001C +:1082D000641408010501F07F401000000C01F0015A +:1082E000001060C0001060C2001060C3001060C5C4 +:1082F000001060C7001060C9001060CC001060CE94 +:10830000640808011C01F0001C01F0006400080171 +:108310001C01F000641C08011C01F000641008013D +:108320000501F06C641408010501F8700501F06C9A +:10833000641408011C01F000641408010501F065D3 +:10834000401000000C01F001001060DA001060DC49 +:10835000001060DC001060DD001060DC001060DFE9 +:10836000001060E2001060E4640808011C01F000E5 +:108370001C01F000641C08011C01F00064140801D9 +:108380000501F85A0501F056641408011C01F000BB +:10839000641408010501F04F401000000C01F001C9 +:1083A000001060F4001060F4001060F4001060F041 +:1083B000001060F2001060F4001060F4001060F42F +:1083C000641C08011C01F000641008011C01F0008D +:1083D0001C01F000401000000C01F001001060FFD3 +:1083E00000106101001061010010610200106104C1 +:1083F00000106106001061060010610664080801A3 +:108400001C01F0001C01F000641C08011C01F000BC +:10841000641008010501F02F642008011C01F00020 +:10842000401000000C01F0010010611200106114F6 +:10843000001061160010611600106117001061191C +:108440000010611900106119640808011C01F00096 +:10845000640C08011C01F0001C01F000641008010C +:108460000501F01C642008011C01F0004010000010 +:108470000C01F0010010612500106125001061273A +:10848000001061280010612A001061270010612C83 +:1084900000106127641408010501F00B1C01F000B5 +:1084A000641C08011C01F000641008011C01F000AC +:1084B000642008011C01F000642408011C01F00084 +:1084C0001C01F000420000000010D7520531F30AF1 +:1084D000420000000010D74F0531F30742000000B2 +:1084E0000010D7510531F304420000000010D750AE +:1084F0000531F301420008000010D0C0580400010B +:108500004800080064140801642008021C01F000FF +:10851000420008000010D0C05804000148000800C4 +:1085200064040801642808021C01F00042000800ED +:108530000010D0C058040001480008006418080169 +:10854000642408021C01F000420008000010D0C0A2 +:1085500064280801642808001C01F000496FC8570E +:108560004813C857401000000C01F0010010617161 +:108570000010617100106171001061710010616381 +:108580000010616B0010616F0010617159A8023911 +:108590008C000506050000038C0005020500000A9A +:1085A0000501F80A05FE07CB0501F0070501F807EC +:1085B0000500000505FDFFCA05FDF7CC0501F80320 +:1085C00005FE07CA1C01F000496FC857416C000046 +:1085D00090000C8805D21C300C01F0010010617F66 +:1085E0000010618100106181001061810010617FC5 +:1085F0000010617F0010617F0010618180000580A4 +:108600001C01F000900005411C01F0006002E00038 +:10861000850E1D56497B30004A03B00460000001FE +:1086200059D800054A03B004900000014A03A80489 +:108630006000000159D400054A03A804900000011D +:108640000501FEC30501F6AF58F258014A03B00414 +:1086500010000000592C420058201000592C220C08 +:10866000592CBA0A0001F7C06413C8256413C8273F +:10867000599C040980000D400500001F599C040707 +:108680008000054005000007800000CC599C100BBD +:10869000800804004803B000497BB00259D80001AB +:1086A000599C000B4803B000599C000C4803B001D2 +:1086B000599C04078000054005020002497BB00276 +:1086C000599C0C0982040540004000004803B00397 +:1086D0006423B0094A03B0041000000159E0080304 +:1086E00082040D00FFFFFEFF82040D4000008000A9 +:1086F0004807C003599C040A800005400500001F7C +:10870000599C04088000054005000007800000CC4B +:10871000599C100F800804004803A800497BA80258 +:1087200059D40001599C000F4803A800599C00101F +:108730004803A801599C0408800005400502000276 +:10874000497BA802599C0C0A8204054000400000A5 +:108750004803A8036423A8094A03A80410000001E1 +:1087600059E0080382040D00FFFFFBFF82040D4067 +:10877000000080004807C003800409C00500000411 +:108780006006E0000004BB880004F39C1C01F000BC +:1087900005D1FBC11C01F0000501F8645C03E00099 +:1087A0000005F0DC0005FA4605FDF7FD592C1C0814 +:1087B000820C1500000000FF800C1910820C0C00C8 +:1087C0000010D22550040800480A5C08800409C043 +:1087D000000600D0492FC857480FC857800C19C051 +:1087E00005D00BAD420008000010D225500408004F +:1087F000480658020501F85F0005F0D90010624AEA +:108800000010624A0010624A0010624A001062566C +:108810000010624A0010624A0010624A0010624A68 +:108820000010624A00020A3D0010624A0010624ACB +:1088300000106256001062560010624A0010624A30 +:108840000010624A0010624A0010624A0010624A38 +:108850000010624A0010624A0010624A0010624A28 +:108860000010624A0010624A0010624A0010624A18 +:108870000010624A0010624A0010624A0010624A08 +:108880000010624A0010624A0010624A0010624AF8 +:108890000010624A0010624A0010624A0010624AE8 +:1088A0000010624A0010624A0010624A0010624AD8 +:1088B0000010624A0010624A0010624A0010624AC8 +:1088C0000010624A0010624A0010624A0010624AB8 +:1088D0000010624A0010624A0010624A0010624AA8 +:1088E0000010624A0010624A0010624A0010624A98 +:1088F0000010624A0010624A0010624A0010624A88 +:108900000010624A0010624A0010624A0010624A77 +:108910000010624A0010624A0010624A0010624A67 +:108920000010624A00020A3D492FC8574200000069 +:108930000010D80D0531F9F0600000080501F013B2 +:10894000492FC857420000000010D80C0531F9EA41 +:10895000600000200501F00D492FC85742000000BB +:108960000010D80B0531F9E4600000400501F00764 +:10897000492FC857420000000010D80E0531F9DE1B +:10898000600000100501F0014803C857592C0C087D +:1089900082040D00FFFF80FF800405405998080104 +:1089A000800409C0050000028400051E48025C081E +:1089B0000005F9FA0501FDFE0001FB7891700583C1 +:1089C0006006E000050000021C01F00058F25802A9 +:1089D000812E59C005FE07E105D1FB2F600810006C +:1089E00060000801604018000501F004600C1000F0 +:1089F0004178080060181800492FC857480BC8571D +:108A0000592C020882000500000000FFB00005AAF2 +:108A100005000004480E5A0A0001FB780501F00A1F +:108A20004D4000004C300000497A5C0C497A5C0DE6 +:108A3000400A800005FDF91E0001FB785C00600023 +:108A40005C0280006006E0004A0060020000010055 +:108A50005832580A4978600A05D1FEB45C025800C1 +:108A60001C01F000492FC8578014011005FC07B500 +:108A700080000040050000264A01E007001062C3A4 +:108A80000005F0E5492FC8570531FAAB000602276B +:108A9000492FC856834404000010C800500000004D +:108AA00080026D400500000B592E441481224110B4 +:108AB0005934001380000130812005800502000533 +:108AC0004937C857593402008C00050E00060227AA +:108AD00060A2800041780800417A600005FDF8F44A +:108AE0000521F9370001F378820005000F0000002E +:108AF0008000012A592C0C0E82040D000000FF8713 +:108B00008004054048025C0E0005F23A492FC85720 +:108B1000592C040C8000054005FE07968D0C050EAF +:108B200005020008592C020B8000054005FC079146 +:108B3000497A5A0A05F5FDD9050200031C01F00027 +:108B400060A0000048025A0A0001F378592E8A0AF0 +:108B5000592C040A4947C8574803C85782000500E2 +:108B6000000000FF6004B80090000D810500000EB9 +:108B7000417A880061C0B80F90000D820500000A9C +:108B80008000054000020378592E8A0A0001FAFE8F +:108B900000020378592E900C592E980D05F9F98D85 +:108BA0000001F378850E1D000001FAFE05F80A7237 +:108BB00081468800805CB84005FE07FC0001F37820 +:108BC000592C0A0C4807C857592E441481224110C9 +:108BD0009004058E0500006E900405AA0500002291 +:108BE0009004058F05000564900405AE050005623C +:108BF000B0040589050005604C0400000501FCC1B6 +:108C00005C00080005020560B00405860500007FD1 +:108C1000B00405850500002C900405A90502055A3D +:108C2000592E8A0A420268000010F5CD834405805F +:108C30000000FFFF0500000605F9FD030502054ED3 +:108C4000593402008400051848026A00592E600D4C +:108C50004933C85783300580FFFFFFFF05020070CE +:108C60000501F54583200580000000FF0500000890 +:108C7000832004000010C59C5002480059240A00BB +:108C800084040D1648064A000501F53B42024800DF +:108C90000010D8CF0531FA30592402008C000500AD +:108CA00005000004592402008400051648024A0009 +:108CB00091264C0D8058B04005FE07F8850E1D0426 +:108CC0000501F52D592C140B480BC8570521FBEC59 +:108CD000411E6000050200034803C8560501F52A3D +:108CE00059300C0790040584050000034803C8565A +:108CF0000501F525592C020B8C000506050000091D +:108D00000509FFC64DF000000509FED20509FC9CCF +:108D10005C03E00005080FB20511FE570501F516CA +:108D2000592E380D591C14168C0805160500051609 +:108D300059300009800001C005D20A578408155433 +:108D4000480A3C1664EA6403592C040F800005406D +:108D50000500000664EE6403592C02104802641CEE +:108D6000592C04104802621C640662034200080089 +:108D7000800000400501FD0B05000003492E60093D +:108D80000005F68E0005FE8E0501F4FB83200D80A4 +:108D9000000000FF05000010420000000010D8CEC7 +:108DA000500000008120048000061382832004000C +:108DB0000010C59C50024800592402008C00050098 +:108DC00000040382592402068400051048024A0662 +:108DD0000501F4E9420248000010D8CF0531F9DE60 +:108DE000592402008C0005000500000459240206E5 +:108DF0008400051048024A0691264C0D8058B04068 +:108E000005FE07F80501F4DC592C120B8C0805004F +:108E1000050204D9592E8A0A592E600D0521FBA19D +:108E2000050200034803C8560501F4D759300C0762 +:108E300090040584050000034803C8560501F4D2D8 +:108E400059300A0390040587050000034803C856FB +:108E50000501F4CD59300C0390040581050000157F +:108E6000900405820500000E900405880500000F9F +:108E70009004058A050000059004058C0502001B7E +:108E8000602408000501F0185932680A05F9FC2F22 +:108E900005020016601408000501F013417A7800FD +:108EA00005DDFE8F64066407600C08000501F00E06 +:108EB000833405800010F5CD050200075930000A03 +:108EC000820005800010F5CD050204AF640664073A +:108ED0000501F006417A780005DDFE81640664072D +:108EE000602C080005F5FEDF640662030501FCAD99 +:108EF00005000003492E60090509F2B20509FAB11F +:108F00000501F49D593004168C000518052E038DBB +:108F10000501F0944000080058040000800005405E +:108F200005FE07FD492C08001C01F000492FC85719 +:108F300059300C0790040586050200875934040057 +:108F40008200058000000606050200045934020074 +:108F50008C00051A00040290593402008C00050EA2 +:108F60000500007D593002036006780090000587F7 +:108F700000060290640A62030005F290600A800015 +:108F8000645260064D2C00000529FE2D5C0258003D +:108F900059300C074807C857900405870502005C44 +:108FA000492FC85764065A0A0001F37883300580B8 +:108FB000FFFFFFFF05020056592C240E492FC8570A +:108FC0004813C8578C10051C050200168C10051A92 +:108FD000050000038C10050A0500006259340A00E0 +:108FE0008C04050E050000038C10051E0500005DB5 +:108FF0000005FFA005000065592C240E59243A00F5 +:10900000592C0210480262024936600A4926601D46 +:109010004932580D641A6407641E62030005F28B1E +:10902000592C0A104C04000005F9FE9A5C00080057 +:109030000502006A5808000049781000802041C0ED +:1090400005000006480040008000054005020007BA +:10905000482268100501F0054802680F80000540AD +:1090600005020002497A68104D2C0000400A5800A1 +:10907000640A5A0A0001FB785C02580005FDF7C932 +:109080008C10051C0006027C0501F01E05F9FBEEA4 +:1090900000040272420000000010D8CE5000000010 +:1090A000812004800502102C8C10051C0500001581 +:1090B000592C020A820005800000FFFF0502001102 +:1090C000592E600D83300580FFFFFFFF05FC07B5BB +:1090D0000521FFEC0502000E592C22105930020226 +:1090E000801005800502000A59300009800001C087 +:1090F00005020004593002039000058705FC07A013 +:10910000492FC85764A65A0A0001F378492FC85757 +:1091100064225A0A0001F3784803C8578C000514EA +:1091200005000007420000000010D7FC052DFFF2EB +:10913000492FC857492E60091C01F000492FC85714 +:1091400065165A0A0001F378492FC85764AA5A0ACB +:109150000001F378492FC85764A25A0A0001F37836 +:10916000492FC857641A5A0A0001F378492FC85783 +:10917000643A5A0A0001F3789004058705FE07E473 +:10918000640A5A0A0001F378592C040A800000C2CC +:10919000800008C4800404004802580759340010B5 +:1091A000492E6810492FC85780000D400500000364 +:1091B000492C08001C01F00059340203492E680FA5 +:1091C000492FC8574803C8578000054005020002D0 +:1091D00064066A031C01F00059A8002B8164048016 +:1091E00005FE17704202600000110E40593004075E +:1091F00090000586050200075930000A8134058079 +:1092000005020004593002028004058005FC075C59 +:1092100091326430415800008130048005FC17F41D +:1092200005FDF760492FC857592E7C0A833C05007D +:10923000FFFFFFFE05020044592C400B4202600074 +:1092400000110E4041581800400C0000813004808D +:109250000502102859300203900005800500000C1B +:109260005930000980000D40050000095804300302 +:1092700058183211592C020C801805800502000480 +:1092800058040009802005800500000391326430F5 +:1092900005FDF7EE5804020882000500000000FFFB +:1092A000B0000D930500000DB0000D880500000B07 +:1092B00090000D980500000990000DA90500000719 +:1092C00090000D9405000005B00005A805000003FE +:1092D0009000058205FE07EE4D2C0000051DF94E9D +:1092E0005C0258000500001864025A0A0001F37875 +:1092F000592E8A0A83440480000007F005021012E8 +:10930000834404000010C8005000000080026D403B +:109310000500000D4D2C000005F9F8370500000987 +:1093200060168000592C0A0C417A600005F9FEE0B5 +:10933000051DFF280001FB785C02580005FDF7EBD6 +:109340005C02580064C65A0A0001F378492FC857D6 +:10935000592C020A90000586050000030501F9E07A +:10936000050200194D2C000005D1FC60050000111C +:10937000492FC857412F400005D1FC5C0500000B68 +:10938000492FC857412DD80005F1F9CC05F1F9DB7B +:1093900049A1D80B5C025800492DD80A48EF400675 +:1093A00005E1FB7505E1F38C41A2580005D1FC5F96 +:1093B0005C0258004A025A0A00004005640A5C0A2E +:1093C0000001F3784A025A0A000040010001F378D4 +:1093D0004807C857485FC8576004B8005C000800D9 +:1093E0004C5C00000501F0054807C857485FC857A6 +:1093F0005C0008004D7800004803C857492FC85743 +:109400008C00050E05D2089D4203E00050000000CC +:10941000600CB90005D1F0A44803C8564C5C0000AC +:109420004C6000004C6400004D0400004D2C000016 +:109430004D2000004D2400004C5400004C50000012 +:109440004C580000417A400059A800B89000050629 +:10945000050201350501F99405020137916C05807B +:1094600005000131592CCA0B592CC40B8060C1C0B6 +:1094700005000131420000000010D8CE500000006D +:109480004C0000000531F84E5C00000005000002B1 +:10949000800000008060048005021127912C7C0C64 +:1094A000592C040A4803C8578C0005000500000425 +:1094B0000531F843050001200501F0026006400077 +:1094C000600608004200B800FFFFFFFF8320058010 +:1094D000000000E1050200034200B8003FFFFFFF6B +:1094E000503C0000805CBD00050200039122442036 +:1094F0000501F00F805CB902050210098320040009 +:109500000010C59C500248009064058005000010C2 +:109510008C6405060502008C0501F1078106080030 +:1095200081224000910404A105FC17F3803C7800DF +:10953000832004800000010005FC17E261FA40016D +:109540008060C1C0050200FC0501F0D359240A0067 +:109550000531F820050000048C040500050200F622 +:109560000501F00490040D0390040D83050000F242 +:1095700059240C008C04050A050200048D0C0520FA +:10958000050000ED0501F0038C040508050000EA64 +:109590004D3C00004D300000600A78A0417A600028 +:1095A00005E1F8085C0260005C02780059240206BC +:1095B00082000500FFFFFCFF48024A0664164A00CD +:1095C00005FDF88E0502005959A8023982000500F0 +:1095D0000000008282000D80000000820500005122 +:1095E0008C00050E05020051592402008400055E1E +:1095F00048024A0005E1F99A050000C60501F04B52 +:1096000005F1FB9805000047592C1214480BC85768 +:109610008C08050005000043417808008C0805040B +:1096200005000004592C081582040D00FF000000FD +:10963000592C04144803C8578C080502050200037E +:109640008200050000001FFF800405404803C85742 +:109650004802480B8200150000001FFF05E1F89C3E +:1096600060203000050000AB592C041482000D006E +:1096700000001FFF0501FB8D0500002A8C00050A74 +:1096800060243000050200A3412CB80005D1FB97EF +:10969000601C30000500009F905CA408912CAC0871 +:1096A0006040B000052DFF5F592C0408840005546C +:1096B00048025C088104004082000C000010C57C58 +:1096C00050040800405C0000803C048005001091BC +:1096D000812C7C00503C0000800405804400780010 +:1096E0008060004048025C0B4D2C000005D1FB7FE0 +:1096F000412C08005C025800601C30000500008509 +:109700004806480C5924000B48000802412C080068 +:1097100005E1F8D3601C30000500007E0501F06A09 +:1097200005DDFF510500008281060800812240000E +:109730008060C04005FE077005FDF8300502005648 +:109740000501F06159240A008C0405000500007A27 +:1097500005F1FB4405000014592C12148C08050077 +:1097600005000011592C14148208150000001FFF79 +:109770005924000B8200050000001FFF80080580AF +:1097800060203000050200638C04051E0500000601 +:109790004C04000005E1F8FB5C00080082040D00A9 +:1097A000FFFF7F1F4C3C00004C04000082040D00B2 +:1097B000FFFFDFFC84040D4448064A00052DFF80AE +:1097C00005000011592402008C00051E0500000E42 +:1097D0008400051E48024A0005E1F945050000071E +:1097E0004813C8574817C857581002008400055E30 +:1097F000480022000501F00459A802398400050E32 +:10980000480352395C0008005C0078008C64050253 +:10981000050200164C3C000059240C0805D9FC3404 +:109820004C5C00004D3C0000600A78A04D30000008 +:10983000417A600005DDFF635C0260005C02780035 +:109840005C007800497A480B5C00B800810608008B +:10985000812240008060C04005FE07279064058992 +:109860000500000D0501F018916C058405FC07EA60 +:1098700090040D0390040D8305FE07E70501F838F9 +:1098800081060800812240008060C04005FE071A62 +:109890000501F00D916C05840500000B05F9FFD75B +:1098A000050200074A0350310000AAAA640750329B +:1098B0006006D80005F9FF540501F0036006D800E2 +:1098C00005F5F88A5C00B0005C00A0005C00A80010 +:1098D0005C0248005C0240005C025800497A5A0A67 +:1098E00064025C0A592C04088C000514050000036E +:1098F00005D1FB0E0501F0020001FB785C020800B7 +:109900005C00C8005C00C0005C00B8001C01F000F6 +:109910005924020082000500FFFFFFFC48024A00B4 +:109920000501F006601430000501F0046008300005 +:109930000501F002600430005C00B0005C00A00093 +:109940005C00A8005C02480049225A0A5C02400000 +:109950005C025800481A5C0A05FDF7E34923C85722 +:109960004D4400004D3000004D3400004C580000C4 +:109970004D4000004D3C00004C5C000060A68000A3 +:10998000600A782061C0B00F417A880083440400E7 +:109990000010C8005000000080026D400500000566 +:1099A0005934001380000130812005800500081C17 +:1099B000814688008058B04005FE07F561FE89FFAA +:1099C000420268000010F5CD0501F8159064058B82 +:1099D0000502000B61C2880F6040B0005924B8092D +:1099E000505C000080026D400502080D805CB800EC +:1099F000814688008058B04005FE07FA5C00B80038 +:109A00005C0278005C0280005C00B0005C026800D0 +:109A10005C0260005C0288001C01F0004937C857F6 +:109A20004947C8570509FC7D4DF00000417A6000A8 +:109A30000509F9B80509FABD0509FB060509F88C01 +:109A40000529FCC2834405800000FFFF05000013C8 +:109A500005F9F935050000044A026C00000007070B +:109A60000501F00E4D3000004D3800000511FB3DA2 +:109A700005CC0F09640664074936600A4926601D53 +:109A8000602C080005F5FBF7600670000005FFDBA1 +:109A90005C0270005C0260005C03E00005080C5092 +:109AA0001C01F000599C00188C00052A05000004D8 +:109AB000592C000358000211800005401C01F000E1 +:109AC000599C00188C00052A05000004592C00033D +:109AD0005800040C812005801C01F000599C0018DE +:109AE0008C00053005000004592C000358000211B9 +:109AF000800005401C01F0004C6400004C60000038 +:109B000059A800B890000506050200EE05FDFFE625 +:109B1000050200EC916C0580050000EA497A5C0AB8 +:109B2000592C220B8210C500000000FF801001108C +:109B30008200CD00000000FF050000DC906404837B +:109B4000050210DA4D2000004D2400004D2C0000CD +:109B50004D040000417A0800592C140B820A45007C +:109B6000000000FF4923C857052DFE7B4058000028 +:109B700081200480050210D1832004000010C59CC0 +:109B800050024800906005830502001259A802396E +:109B90008C0005140500000C5924020082001D00F1 +:109BA00000002001820C1D8000002001050200063B +:109BB0008C000510050200044178180005DDFE2A1E +:109BC0000501F09E4803C857601830000501F0C435 +:109BD0009060058205000004592402008C000500F5 +:109BE000050200B0592C020C8C00050A0502000485 +:109BF0008D0C0520050000AF0501F0038C00050861 +:109C0000050000AC48024C00906015820500001170 +:109C10008C0005020500000380001110480A4A0864 +:109C2000592C000D9C0001C048024801592C000E1F +:109C30009C0001C048024802592C000F9C0001C042 +:109C400048024803592C00109C0001C048024804F7 +:109C5000810609C005000002912E5C85592C0A0B73 +:109C60008C040500050000754D3C00004D300000DF +:109C7000600A78A0417A600005DDFE525C02600057 +:109C80005C0278005924020682000500FFFFFCFFF9 +:109C900048024A0664164A0005F9FED80502006724 +:109CA00005F1F9F005000057592C120A8C0805003F +:109CB00005000054417800008C08050405000005EB +:109CC000592C0017820005000000FF00800000E012 +:109CD000592C0A168C0805020502000382040D00A7 +:109CE00000001FFF800405404802480B8200150059 +:109CF00000001FFF05DDFEF6602030000500007447 +:109D0000592C0A1682040D0000001FFF0501F9E717 +:109D10000500003C8C00050A602430000502006C40 +:109D2000412CB80005D1F9F1601C30000500006835 +:109D3000492FC8574C5400004C5000004C580000AC +:109D4000905CA408912CAC086040B000052DFDB5D6 +:109D50005C00B0005C00A0005C00A8004A025C0847 +:109D600000000400592C0A0B82040D00000000FFC3 +:109D700080640040800000D08004054048025A0BF7 +:109D80004803C857592C140B80081110480A5C0B63 +:109D9000592C02118C00050A050200048D0C0520C7 +:109DA000050000440501F0038C0005080500004192 +:109DB00048025A0C592C00124802580D592C001315 +:109DC0004802580E592C00144802580F592C0015FF +:109DD00048025810412E080005D1F9C4601C30001B +:109DE0000500003B492E480C5924000B480258023C +:109DF0004104080005DDFF1A050000340501F016D6 +:109E000005DDFFBB0502000B59A802394803C857FE +:109E10008C00050E05020009592402008400055E2D +:109E200048024A0005DDFF8E050000280501F00309 +:109E300005DDFD8D050000258064C8400500000695 +:109E4000592C140B8008111081060800912E5C0516 +:109E500005FDF7435C0208005C0258005C02480004 +:109E60005C024000592C04088C0005140500000316 +:109E700005D1F9AE0501F02005F9FE600500001DD1 +:109E8000592C0A0B8C0405000500001A916C0584FE +:109E9000050000186006D80005F1FF140501F01553 +:109EA000600430000501F00E600830000501F0107C +:109EB000600C30000501F00A601030000501F00868 +:109EC000601430000501F00A6018300059240200C7 +:109ED00082000500FFFFFFFC48024A005C02080008 +:109EE0005C0258005C0248005C024000481A5C0AB0 +:109EF0000001FB785C00C0005C00C8001C01F000A1 +:109F00004C580000052DFD9440580000812004802D +:109F100005021009832004000010C59C500248006F +:109F20005924020090000503900005835C00B000F6 +:109F30001C01F0004923C8574927C8579000054124 +:109F400005FDF7FB801401108000004005FE027D36 +:109F5000599C00198C0005100502000B05F9F86BDF +:109F6000050200021C01F00049425A0A4806581135 +:109F7000480A58124943C8574807C857480BC8579A +:109F80000001F378592C040F820005000000E00066 +:109F9000820005800000600005FC07F159A8023925 +:109FA0008C00050805FC07EE592C120F592C080EE1 +:109FB00082040500FF00000080040D808000011075 +:109FC00080081540050000044806580E0501F88772 +:109FD00005FDF7E3607010006064080060C6800053 +:109FE00005FDF7E2801401108000004005FE0255D7 +:109FF00005F9F98A050200021C01F00049425A0ADB +:10A0000048065815480A58160001F37880140110C4 +:10A0100005FC024C800000400502000A6006E000DA +:10A02000592C020E8C0005040004021F592C020B4F +:10A0300082000C800000100105FE124E0501F004A4 +:10A040004A01E00700020A1F0005F0E5592C10172D +:10A0500082080500FFFF000305FE0246600AE000DB +:10A06000420000000010F67E50007000592C0015D0 +:10A07000592C0816592C1804480C70064800700713 +:10A0800048047008492C700B4978700E4978700CA0 +:10A090000501F0014978700D8208048000000180FC +:10A0A0004803C857050010064800700F4A007005A5 +:10A0B00000000180658070040501F0054978700F8B +:10A0C0004808700580081104480870045838000AD0 +:10A0D00048007003403810000001F0214DF00000EE +:10A0E0004203E000500000000001F81705000003E3 +:10A0F00058F000040801F8005C03E0001C01F000C7 +:10A1000005D1F8E905CC0D644A02580A0010F61D85 +:10A11000420008000010F67E452C0800497A580BD2 +:10A12000497A580C497A580D497A580E497A580F8D +:10A130004A02580900020BB0497A58104A025802E4 +:10A1400000000100640658011C01F00042000800F4 +:10A150000010F67F640408014A00080200000100B4 +:10A1600064400804650008054A0008090002091B4C +:10A170001C01F0000501F8080004038564065A0C70 +:10A18000052DF0DC0501F80400040382641A5A0C62 +:10A19000052DF0D859A800058C00051A1C01F00007 +:10A1A00059A800058C00051C1C01F000592C020860 +:10A1B00082000500000000FFB00005B50502000A9E +:10A1C000592C040C8400054248025C0C592C0005F3 +:10A1D0004D2C000080025D4005D208D45C0258007E +:10A1E000497A58051C01F00059A8002D8008058007 +:10A1F000050200021C01F000480BC857420248004B +:10A200000010D8CF480A4805480B502D497B8830AC +:10A2100082080D40010000004807883259C400023E +:10A220008400054C48038802600C08000509F2A868 +:10A23000492FC857801401109000058105FE01C107 +:10A24000592C040C4803C85782000500000000F098 +:10A25000800001080C01F00100106921001068A6BF +:10A26000001068D200106921001068D20010692126 +:10A2700000106921001069210010690E0010692189 +:10A280000010692100106921001069210010692166 +:10A29000001069210010692105F1F8770500006FB1 +:10A2A000592C08174807C85782040580000002008F +:10A2B0000502007B4D2C000005D1F87B412C1000DD +:10A2C0005C02580005000063480A5801492C100A36 +:10A2D000640010014A001009001068BF4A00100312 +:10A2E0000010F9FF48041005592C0015480010070C +:10A2F000592C0016480010080001F0215832580A65 +:10A30000812E59C005CC0CE4497860015830000218 +:10A3100082000580000001000502000759A80CB466 +:10A320004806581159A808B64806581064025A0A37 +:10A330000001F3784803C8574A006002000001009A +:10A34000600A80000501F04C05F1F84B0500004360 +:10A3500005F1F84E05020043592C020B4803C8577B +:10A36000820004800000100005021045592C000FE7 +:10A370004803C857800001C00500004590000484D0 +:10A3800005021043592C08144807C8578204058059 +:10A390000000020005020040592C040C8C00050A44 +:10A3A00005000006592C00174803C8578200058095 +:10A3B000000002000502003A4D2C000005D1F83AD9 +:10A3C000412C10005C02580005000022480A580188 +:10A3D0004978100B492C100A640410014A00100936 +:10A3E000001069064A0010030010F97F592C040C74 +:10A3F0008C00050A050200034A0010030010FA7FD2 +:10A4000048041005592C001248001007592C00135D +:10A41000480010080001F0215832580A812E59C016 +:10A4200005CC0C9D497860015830000282000580FF +:10A430000000010005FE07C005F1F80F0500000748 +:10A44000497A5A0A05F9F9A8050200091C01F00029 +:10A45000640A58100501F00464C658100501F002A2 +:10A4600064CA581060C680000501F0034806581001 +:10A47000480A581149425A0A0001F37864325811C7 +:10A480000501F008644A58110501F006647258117C +:10A490000501F00464C258110501F00264F258117C +:10A4A0006466581005FDF7F04807C8574C5800007F +:10A4B000052DFC29420060000010D8CF5830120052 +:10A4C0008C08051E0500000B5830000B82000500AB +:10A4D00000001FFF800405800502000682080500B9 +:10A4E000000000E082000580000000E00501F005AA +:10A4F0009030640D8058B04005FE07F19000054192 +:10A500005C00B0001C01F00059C800078C00050277 +:10A510000500004F835C2C80000000FF0504102420 +:10A5200059C82817481750B7497B90058214050071 +:10A5300000E000000502004282140500000003FF55 +:10A540008C1405160500000590001C084200200030 +:10A550000010F68B0501F00390001C0641CC200092 +:10A56000600030C1B00C04800500100461001000D0 +:10A57000B00C1C800501F003400C1000417818005D +:10A5800054182000801020008018300080081040EF +:10A5900005FE07FC800C19C00500000559C8000520 +:10A5A000800000004803900505FDF7EE8C140516A9 +:10A5B00005000003420398000010F68D8214050088 +:10A5C000000003FF800018C48C140514050000046B +:10A5D00059CC000290000503800C1C80480F509E4F +:10A5E0008214050001F600000502000F0505F808B9 +:10A5F000050200084A03900500000140821405008E +:10A600000E000000800001320C01F8131C01F00064 +:10A61000800001C00502000A4A03900500000140C5 +:10A620000501F00B4817C8578214050000F600001A +:10A63000050200030501FEEF05FE07ED0505F8160E +:10A640004A039005000001400501F03B4803C8564D +:10A650001C01F000001069A200106D1B0010699D24 +:10A660000010699D0010699D0010699D0010699D92 +:10A670000010699D4803C857420000000010D80927 +:10A68000052DFA9D1C01F0008D0C052A0500000423 +:10A690004C14000005CDFCFA5C00280059CC0400E5 +:10A6A00082000D000000FF00820415000000F00091 +:10A6B000840409C0820805800000C0000502000370 +:10A6C0000501FC9C0501F01B8208058000002000AC +:10A6D0000502000F916C05810502000B59CC0006A4 +:10A6E00082000500FF0000008200058011000000CC +:10A6F00005CE0CA70502000F05EDFFB60505F831E4 +:10A700000501F00C0501F81B0501F00A820805801F +:10A7100000003000050200030501FA730501F00591 +:10A720008208058000008000050200020501FBB9D7 +:10A730001C01F0004817C857420000000010D8085C +:10A74000052DFA6D916C0583050200094C08000087 +:10A750004C0C0000612011004014180080142120CE +:10A7600005EDFBFD5C0018005C0010001C01F00012 +:10A7700059CC000282000500FF0000008200158015 +:10A780000100000005000005820015802300000084 +:10A7900005CE0C7F0502065C59A8009E900004843B +:10A7A000050011FF900405A30502004659CC0004E2 +:10A7B0004803C85759CC000682000500FF0000007E +:10A7C00059CC080182040D0000FFFFFF8004054002 +:10A7D0004803C8570501FC4905CC0C6D050001F084 +:10A7E00059300C07900405900500000A900405916B +:10A7F000050000089004058105000006900405840A +:10A80000050000049004058805CE0C61050201E4F2 +:10A81000593000048200050080010000050000049A +:10A820000509FCA305CE0C5A050201DD59CC0A042A +:10A830004806620259CC000682000500FFFF0000B6 +:10A8400082000D80020000000502000760567000C3 +:10A850000501FC890501FCBB05CC0C4D050001D0B0 +:10A860000005F7DB82000D800214000005FC07F8EC +:10A8700082000D800210000005FC07F582000D80AB +:10A880000210000005FC07F282000D8001000000AC +:10A8900005CE0C3F050201C259CC0006820005001E +:10A8A0000000FFFF05CE0C3A050201BD59A8009E2D +:10A8B00090000488050011BA605A700005FDF7E5A4 +:10A8C000900405A205CE0C32050201B559CC000456 +:10A8D0004803C85759CC00064803C85759CC000153 +:10A8E0004803C85759A8009E800001C005CC0C2819 +:10A8F000050001AB59A808058C04051405000043A8 +:10A900000501F9C50502004159A802398C00051856 +:10A910000500000E59CC000682000500FFFF000074 +:10A9200082000D807F0000000502000805EDFED7C3 +:10A930000502003659CC0C0782040D00000000FF10 +:10A9400090040581050200310501F9CD0500002FB5 +:10A950006132700059CC3800821C3D0000FFFFFFBF +:10A960004C1C000005DDFADA5C003800050000032D +:10A9700005CDFC070501F18A59CC000182000500D4 +:10A9800000FFFFFF0501FEBC0500000661FE89FF18 +:10A99000420268000010F5CD05F9F8D0481A6802A7 +:10A9A000599C00198C0005100500016859A802394E +:10A9B0008C0005080500016559CC100682081500B9 +:10A9C000FFFF000082081580030000000502015F00 +:10A9D00091641490050011778400054C48035239A6 +:10A9E00059CC10008208150000FFFFFF05FDFDFF98 +:10A9F00059CC0007820005000000FFFF4803889340 +:10AA0000480350300501F15159CC00068200050081 +:10AA1000FFFF000082000D800300000005020032ED +:10AA200059A802398C000508050000208400054C57 +:10AA30004803523959CC080082040D0000FFFFFF83 +:10AA4000420248000010D8CF4807C85748064805BA +:10AA50004807502D497B883084040D7048078832A0 +:10AA600059C4080284040D4C4807880259CC0007D9 +:10AA7000820005000000FFFF480388934803503020 +:10AA8000600C080059A8102D0509F89159CC000652 +:10AA9000820005000000FFFF05CE0BBD050201404E +:10AAA000605E70000501F0F34C00000082140500A8 +:10AAB0000000F00082000580000030005C00000013 +:10AAC00005FE07F305F9FB4D05FE07F18C000502B5 +:10AAD00005FE07EF605830020501FD8E4803C85798 +:10AAE0000501F12F82000D80040000000502001313 +:10AAF00059CC0006820005000000FFFF05CE0BA424 +:10AB00000502012705F9FB3D050000020501F0D80B +:10AB1000497B50A942001000001055C70501FF668F +:10AB200005F9F87859A802398400054848035239D4 +:10AB300060C270000501F0CF82000D8005000000AA +:10AB40000502000859CC0006820005000000FFFF46 +:10AB500005CE0B8F05020112606270000501F0C581 +:10AB600082000D8020100000050200036066700066 +:10AB70000501F0C082000D802110000005020003D5 +:10AB8000606A70000501F0BB82000D805200000079 +:10AB90000502000859CC0006820005000000FFFFF6 +:10ABA00005CE0B7B050200FE606E70000501F0B162 +:10ABB00082000D80500000000502000859CC0006FC +:10ABC000820005000000FFFF05CE0B71050200F4B6 +:10ABD000607270000501F0A782000D801300000074 +:10ABE0000502000360D270000501F0A282000D8012 +:10ABF000120000000502000859CC00068200050082 +:10AC00000000FFFF05CE0B62050200E560927000B8 +:10AC10000501F09882000D00FF00000082040D8005 +:10AC2000240000000502000360B670000501F091E9 +:10AC300082000D00FF00000082040D805300000020 +:10AC40000502000360AA70000501F08A82000D80F1 +:10AC50000F00000005020003608270000501F0850E +:10AC600082000D80610400000502004A4C5C000077 +:10AC70004C6000004C6400004C58000091CCC406AD +:10AC80008060B80050600000820005000000FFFFF7 +:10AC900082001480000004010502103790001503A3 +:10ACA0000502003559A8109E800814800500103256 +:10ACB000900004848000B1048058B1C00500002ECB +:10ACC00059CC3800821C3D0000FFFFFF4D200000E2 +:10ACD00005DDF9FF050000035C0240000501F026D8 +:10ACE000505CC8008264C500030000008060C13071 +:10ACF000420000000010D7D39060258005020004B8 +:10AD0000420000000010D7D00501F00A90602581B4 +:10AD100005020004420000000010D7D10501F00533 +:10AD20009060258205020003420000000010D7D287 +:10AD3000052DF8F160541100826425000000FFFF2A +:10AD4000806419204120280005EDFA84805CB80059 +:10AD50008058B04005FE07E35C0240005C00B00094 +:10AD60005C00C8005C00C0005C00B800608E700031 +:10AD70000501F0405C00B0005C00C8005C00C00051 +:10AD80005C00B800420000000010D806052DF0DA83 +:10AD900082000D80600000000502000360FE70006C +:10ADA0000501F03482000D807800000005020003E8 +:10ADB000611670000501F02F82000D801000000068 +:10ADC00005020003613A70000501F02A82000D803F +:10ADD0006300000005020003612A70000501F025F0 +:10ADE00082000D00FF00000082040D80560000006C +:10ADF00005020003613E70000501F01E82000D0097 +:10AE0000FF00000082040D805700000005020003CF +:10AE1000614270000501F01782000D807D00000086 +:10AE200005020003615A70000501F01259A80A39A1 +:10AE30008C0405180500000E82000D807F000000C4 +:10AE40000502000B4803C8576166700059CC0C0717 +:10AE500082040D00000000FF90040581050000053C +:10AE60004803C857617670000501F00260767000F3 +:10AE700059CC3800821C3D0000FFFFFF821C05807A +:10AE800000FFFFFE59CC0001050200044000300025 +:10AE900061FA880F0501F00959CC3800821C3D0089 +:10AEA00000FFFFFF4C1C00000501F9075C003800A3 +:10AEB00005CE0AB70502003A05DDF985050200381E +:10AEC00083440480000007F00500100105EDFD98A3 +:10AED0000500000F4C18000005F5FC5B5C0030001D +:10AEE0000500000E4C1800000501F84B5C00300016 +:10AEF0000502000705F5FF79420268000010F5CD54 +:10AF0000481A680261FE89FF0501F00405F1FF019E +:10AF100005CE0A9F05020022593402008C00051458 +:10AF20000500000A913805B005000008913805BFFA +:10AF300005000006913805B405000004913805A409 +:10AF40000500000261327000050DFDFE05000019CC +:10AF50004926601D4936600A6412640783340580FF +:10AF60000010F5CD0502000559CC00018200050056 +:10AF700000FFFFFF4802602A59CC0C044806620219 +:10AF8000B138058C05020002644664070501FABA6F +:10AF90000501FB1D000407BD0005F7DB598800B75C +:10AFA0004803C85780000000480310B71C01F00098 +:10AFB0006124110059CC1806800C193005EDF9E612 +:10AFC000050DFDE805CC0A7205FC07F54926601D54 +:10AFD0004936600A833405800010F5CD050200056E +:10AFE00059CC00018200050000FFFFFF4802602AE3 +:10AFF0006412640759CC0C04480662026426640398 +:10B000006426641C4A02621C000029006406620374 +:10B010000505F26C59A802394803C8578C00050889 +:10B0200005000013599C00198C0005100502001042 +:10B0300059CC000682000500FF00000082000D8050 +:10B04000030000000500000C82000D8020000000BD +:10B050000500000982000D800500000005000006C3 +:10B0600082000D80210000000500000380000580A3 +:10B070001C01F0009000054105FDF7FE59CC2006AB +:10B0800082102500FF0000009C1021C00501F80778 +:10B09000820C1C000010D103500C1800800C05001D +:10B0A0004803C8571C01F000401008004178180000 +:10B0B000900404A005001004800C18004000080053 +:10B0C00005FDF7FC9004050F820004000010C57C0C +:10B0D000500000008C04050805000002900001C02B +:10B0E0001C01F0004803C8560501FD0D05020009CA +:10B0F00005D9FED30502000759CC000282000500E5 +:10B10000FF00000082000D8008000000050008021A +:10B110001C01F0004803C85659CC040082000D0001 +:10B120000000FF00840409C0900405B30502002557 +:10B130000501F9F20500006059CC0A0448066202D4 +:10B1400059A8009E900004840500105B59CC0006AD +:10B150004803C85782000500FFFF000082000D80F1 +:10B16000020000000502000959CC0006820005001B +:10B170000000FFFF050200500501FA72000407BD40 +:10B18000605670000005F7DB82000D8001000000B2 +:10B190000502004959CC0006820005000000FFFFAF +:10B1A0000502004559A8009E900004880500104241 +:10B1B0000501FA64000407BD605A70000005F7DB62 +:10B1C000900405B20502003C59CC0006820005003F +:10B1D000FFFF000082000D80140000000502003611 +:10B1E00059A8009E900004900500103360E27000A2 +:10B1F00059CC000159CC3800821C3D0000FFFFFFF4 +:10B200004C1C00000501F82F5C0038000502002AE4 +:10B2100005DDF8AF0502002883440480000007F034 +:10B220000500100105EDFCC20500000F4C180000E0 +:10B2300005F5FB855C0030000500000D4C18000092 +:10B2400005FDFF755C0030000502000705F5FEA353 +:10B25000420268000010F5CD481A680261FE89FFBD +:10B260000501F00305F1FE2605020013050DFD356D +:10B27000050000114926601D4936600A83340580A7 +:10B280000010F5CD0502000559CC00018200050033 +:10B2900000FFFFFF4802602A051DF9AF6412640732 +:10B2A00059CC0C04480662020501FA57000407BD98 +:10B2B0000005F7DB420000000010D8060529F78ED4 +:10B2C0004803C8574C5800004C5C00004C6000001C +:10B2D0004C6400008200350000FFFFFF821C3D002F +:10B2E00000FFFFFF8218150000FF00008208158094 +:10B2F00000FF0000050200138218148000FFFFFC0D +:10B30000050010108218158000FFFFFD05020003E4 +:10B3100061F6880F0501F0508218158000FFFFFECE +:10B320000502000361FA880F0501F04B82181580B1 +:10B3300000FFFFFC0502000361F2880F0501F046E3 +:10B34000417810006000B80061C0B00F41ACC0008F +:10B35000506000008000CD4005020005800811C04B +:10B3600005020032845C155E0501F030586402125B +:10B37000820005000000FF000500001159A8402DC3 +:10B380008220450000FFFF008218050000FFFF003B +:10B390000500000280200580586400020502002399 +:10B3A00082000500000000FF82184500000000FF39 +:10B3B000802045800502001D0501F006586400024A +:10B3C0008200050000FFFFFF80184580050200177E +:10B3D0004D2000004C0800004C18000005DDF83C32 +:10B3E0005C0030005C0010005864081380040130D9 +:10B3F000812005800502000C8204050000FFFFFF8C +:10B40000592408058004058005000004812000F00F +:10B4100080040D404804C8135C024000405E880070 +:10B420000501F00D5C024000805CB8008060C00047 +:10B430008058B04005FE07C7800811C0050200050E +:10B44000481BC857481FC857900005410501F00325 +:10B45000840A8D1E800005805C00C8005C00C0006E +:10B460005C00B8005C00B0001C01F00059A8023973 +:10B470008C00050E050000038C0005020500000588 +:10B4800059CC0C00800409109004050F0C01F00247 +:10B490001C01F00000106D3500106D3500106D3589 +:10B4A0000010701A00106D3500106D3700106D5EC1 +:10B4B00000106D6100106D3500106D3500106D3598 +:10B4C00000106D3500106D3500106D3500106D35B4 +:10B4D00000106D354803C8561C01F0000501F9073E +:10B4E0000500002159A8009E9000048C0500101E44 +:10B4F00059300407900005830502001B59CC000158 +:10B500005932680A813669C00500001759340802AB +:10B51000800405808200050000FFFFFF0502001285 +:10B520000501FC280502001059CC0A04593002021A +:10B53000820015800000FFFF0500000380040580E5 +:10B540000502000948066202593004168C00051AEB +:10B5500005020005611A70000501F93705000002B7 +:10B560000005F7DB59CC00044803C857420000002F +:10B570000010D8070529F6E059CC00044803C85745 +:10B580001C01F0000501F8DD0500001D59A8009E12 +:10B590009000048C0500101A5930040790000583B0 +:10B5A0000502001759CC00018200050000FFFFFFD3 +:10B5B0005932680A813669C0050000115934080201 +:10B5C00082040D0000FFFFFF800405800502000CCF +:10B5D0000501FBFC0502000A59CC0A044806620278 +:10B5E000593004168C00051A05020005611670001A +:10B5F0000501F911050000020005F7DB59CC000434 +:10B600004803C857420000000010D8070529F6BAC1 +:10B6100059CC00044803C85759CC000082000500EB +:10B62000FF00000059CC10018208150000FFFFFF49 +:10B63000800805404803C8574817C8570501FBB89C +:10B6400005CE08D30502000E05D9FD7D05CE08D034 +:10B650000502000B59CC000282000500FF0000002B +:10B6600090000580050202A89004050F90000C864A +:10B6700005CE18C7050210020C01F0034803C85696 +:10B680001C01F00000106DA700106DA900106DA73F +:10B6900000106DA700106E1100106E234803C856ED +:10B6A0001C01F00059A8009E800001C005CE08B81A +:10B6B00005FE07FB59CC08024807C8568C04052E26 +:10B6C000050200214202600000110DE0497A641673 +:10B6D00059CC000159CC380005FDFEFA05020012D4 +:10B6E0000001FAFE0502001059CC3800821C3D0012 +:10B6F00000FFFFFF05D9FF7605FE07E94926601D1B +:10B70000051DF89564166407642262034936600AD1 +:10B71000602270010501F8C805CC089D05FC07E012 +:10B720000005F7DB4803C85761FE89FF417A6800CE +:10B7300059CC00018200050000FFFFFF4802602A8B +:10B7400005FDF7EA59CC00014803C85759CC380029 +:10B75000821C3D0000FFFFFF4C1C000005FDFED9D0 +:10B760005C00380005CE088A05FE07CD05D9FF58D4 +:10B7700005CE088705FE07CA05F1FCE105CE088461 +:10B7800005FE07C759CC00058C0005000502001016 +:10B79000593402008C00050E05CE087D05FE07C059 +:10B7A00059A828B782140D000000F000820405801B +:10B7B0000000300005CC087605FC07B9820405803E +:10B7C0000000200005CC087205FC07B505F5F9D688 +:10B7D000050200110501F84905CC086D05FC07B00C +:10B7E0004202600000110DE04926601D4936600AE2 +:10B7F000497A6416051DF858640A640764226203D6 +:10B80000602270010501F88C05CC086105FC07A4D5 +:10B810000005F7DB050DFBCB05FC07A14926601DE4 +:10B820004936600A051DF84C6412640759CC0C04B3 +:10B8300048066202600670000501F87F000407BD3B +:10B840000005F7DB59CC08028C04052E0502000424 +:10B850000501F8280500000C0501F0070501F8278F +:10B86000050000090501FB370502000759CC0A0451 +:10B8700048066202602670010501F86F05000002AB +:10B880000005F7DB4933C8571C01F00059CC000410 +:10B890004803C85759A8009E900004840500101161 +:10B8A00059CC08028C04052E050200040501F8118C +:10B8B0000500000C0501F0070501F810050000095E +:10B8C0000501FB200502000759CC0A044806620264 +:10B8D000602A70010501F858050000020005F7DB39 +:10B8E0004933C857420000000010D8060529F60267 +:10B8F00059CC0A040501F00259CC0C0459A8002BBC +:10B9000059A8108A800804008004048005021007EA +:10B91000800400CA800408C880040C008206640009 +:10B9200000110E401C01F0008000058005FDF7FEAF +:10B930004803C856900405070C01F00100106E572B +:10B9400000106E6A00106E7D00106E8C00106E8C00 +:10B9500000106E8C00106E8C00106E8C59CC08029A +:10B960008C04052E0500000E05FDFFE40500000710 +:10B9700059CC080290040D3090040D90050000048D +:10B98000618270000005F7DB1C01F00059300416DD +:10B990008400055C480264160519F73705FDFFD5DC +:10B9A00005FC07FA05FDF7F359CC08028C04052EB7 +:10B9B0000500000E05FDFFD10500000759CC080267 +:10B9C00090040D3090040D90050000046186700015 +:10B9D0000005F7DB1C01F000593004168400055CFB +:10B9E000480264160519F72405FDFFC205FC07FA95 +:10B9F00005FDF7F3821405000000F00082000580C9 +:10BA0000000020000502000B59CC08028C04052E12 +:10BA10000500000805FDFFB90500000659300416B1 +:10BA20008C00051005000003618A70000005F7DB3B +:10BA30001C01F00059A828B78C14051A0500000C49 +:10BA40004803C8564D3000005930100A4C08000019 +:10BA5000050DFB3C5C0010000500000359CC2A04D6 +:10BA60000501F90F5C0260001C01F0009000054127 +:10BA70001C01F0004803C8564C0C00004D34000077 +:10BA800059CC000682000500FFFF000082000580FF +:10BA900001000000050000285932680A59A81A3927 +:10BAA00005F5FF5605020024813669C00500001B1C +:10BAB000833405800010F5CD0500001859340403C7 +:10BAC00082000580000007FE0502001459CC04081E +:10BAD0008C000518050000185930001D82000580F3 +:10BAE0000010D8CF0502001459A804B38C00050A31 +:10BAF0000502001159CC0207800005400502000232 +:10BB000060040000480388934803503084000560B7 +:10BB1000480388B30501F0085930040390000582FA +:10BB20000500000391380597050200038C0C0508F9 +:10BB300005FE07F15C0268005C0018001C01F000C3 +:10BB400059A828B78C14051A050000184803C856D0 +:10BB50004D3000004C5C00004130B800050DFAF992 +:10BB60000500000F485E602A585C040790000581BC +:10BB7000050200084D300000405E60000519FEB36C +:10BB80005C026000050000034A02641600000080A9 +:10BB9000585C100A59CC2A040501F8C15C00B800B1 +:10BBA0005C0260001C01F000900005411C01F000E7 +:10BBB00059A828B78C14051A050000114803C85667 +:10BBC0004D3000004C5C00004130B8004A02641661 +:10BBD00000000100050DFADB05000006485E602A42 +:10BBE000585C2C02585C100A405C20000501F8B03B +:10BBF0005C00B8005C0260001C01F0009000054190 +:10BC00001C01F00059A828B78C14051A050000166D +:10BC10004803C8564D3000004C5C00004130B8006D +:10BC20004A02641600000100050DFAC60500000B6B +:10BC3000493A6403485E602A0519FE840500000342 +:10BC40004A02641600000080585C2C02585C100AFE +:10BC5000405C20000501F8965C00B8005C026000C2 +:10BC60001C01F000900005411C01F0004803C8567B +:10BC70004C6000004C6400004C5C00004D20000053 +:10BC80004D2400004200C0000010F5BF5930C80A22 +:10BC90008064C9C00502001558603800821C3D0050 +:10BCA00000FFFFFF4C1C000005D9FE095C003800B6 +:10BCB000050200644D340000586000018200050058 +:10BCC00000FFFFFF0501F9EC05CA0E734936600A53 +:10BCD000593412005C0268000501FA1F4A0264161A +:10BCE0000000010065126403586010068208150008 +:10BCF0000000F000820804800000200005001058B9 +:10BD000042002000C00000005930100A580802000C +:10BD10008C000508050000598C00050C0500001575 +:10BD20008C0005040500000A58602A0282142D00C8 +:10BD30000000300082140580000010000500000D96 +:10BD40008214058000002000050000478064C9C0FF +:10BD500005000004586004028C0005260500004020 +:10BD600042002000C1000000417830000501F002CF +:10BD7000600430004130B800050DFA720500003152 +:10BD8000586018048064C9C0050200066512640387 +:10BD9000585C0402820C1D00FFFF0000800C1D4057 +:10BDA00058600000586008015860100382000500C8 +:10BDB00000FFFFFF82040D0000FFFFFF4A02641630 +:10BDC00000000100485E602A480260194806601AB7 +:10BDD000480A601C480E601D585C380A581C0A123C +:10BDE00082040D000000FF00800000E08004054098 +:10BDF0009000056148026018585C041658600802FB +:10BE0000585C14078C00051C0502002348026416C8 +:10BE10004806601B480A6407643E6203640E6006BD +:10BE20004C1000000509FFAF0501FED75C002000A3 +:10BE300082100580C2000000050000159000054139 +:10BE4000405E60005C0248005C0240005C00B8009C +:10BE50005C00C8005C00C0001C01F00090000541BF +:10BE600005FDF7F942002000C2000000420030004A +:10BE70000212000005FDF7C042002000C2000000D1 +:10BE8000420030000105000005FDF7BB8000058081 +:10BE900005FDF7EC90040D5005FDF7DD4803C8568D +:10BEA000417820000501F8051C01F0004803C85640 +:10BEB0000501F8021C01F0004813C8575930041658 +:10BEC00084000550480264164816621D480A600A3C +:10BED000820805800010F5CD0502000241781000AF +:10BEE000493A6403643E620359CC000082000500B5 +:10BEF00000FFFFFF4802601982000500000000FFFC +:10BF0000800000E059CC080182040D0000FFFFFF13 +:10BF10004806601A82040D00000000FF800811C06E +:10BF20000500000A58080A120501F002800408D032 +:10BF300080040540900005614803C8574807C8576A +:10BF4000480260180501F00E4C0000004C0400008F +:10BF500005F5FE2A5C0008005C00000005000007F3 +:10BF600059A81A398C0C050605FC07F190000561EB +:10BF7000480260180501F0026486601859CC040478 +:10BF80004802641D59CC00024802601B59CC0403CE +:10BF90004802641C59CC02034802621C801021C074 +:10BFA000050000026408200842002800C0000000CC +:10BFB000800811C005000010580802008C00050818 +:10BFC000050000188C00050C0500000B8C00050412 +:10BFD0000502001C42002800C1000000801021C0A2 +:10BFE0000500000264082008401420004178300059 +:10BFF0000501F00340142000600430000509FF39FA +:10C000000501FE61900005411C01F0004200200086 +:10C01000C200000042003000021200000501F005DD +:10C0200042002000C2000000420030000105000074 +:10C030000509FF2C0501FE548000058005FDF7F37E +:10C0400059CC1002820815000000300082080580DB +:10C050000000100005FC07E88208058000002000B1 +:10C0600005FC07EB05FDF7DC59CC08028C04052E16 +:10C070000502001D05FDFE1F0500001B59300407C9 +:10C08000900005860502001859CC000182000500C9 +:10C0900000FFFFFF5932680A813669C005000012AF +:10C0A0005934080282040D0000FFFFFF8004058060 +:10C0B0000502000D0501F9430502000B59A8009E79 +:10C0C000800001C005020008614670005930041666 +:10C0D0008C00051A0502000405FDFEB605000002ED +:10C0E0000005F7DB59CC00044803C85742000000A4 +:10C0F0000010D8070529F4004803C8566014300220 +:10C100000501F004601C30040501F8021C01F00078 +:10C11000481BC8574C5C00004C6000004C64000099 +:10C1200041CCC8004014B8004018C0000501F80513 +:10C130005C00C8005C00C0005C00B8001C01F0009E +:10C140004803C8564C58000058640400820005009B +:10C150000000F000820005800000C0000500002102 +:10C16000050DF9780500001F586400015864380077 +:10C17000821C3D0000FFFFFF4C1C000005FDFC5130 +:10C180005C0038000502001905D9FCD10502001732 +:10C1900005F1FA5B050200154936600A0519FDEE46 +:10C1A00005CDF8D2050000114926601D492E601901 +:10C1B000497A5800497A5A08485E5C08912CAC09C3 +:10C1C000601CB0004064A0000529FC964862641C15 +:10C1D00064FA640364066407640662030501FDF9FA +:10C1E0005C00B0001C01F0000005FFBD05FDF7FD7F +:10C1F0004803C85659CC000082000D0000FFFFFF25 +:10C200008204058000FFFFF00500007559CC040092 +:10C2100082000D000000FF00820405000000F00015 +:10C22000840409C08200058000002000050200553A +:10C23000900405A20502004059C400A49000050F17 +:10C2400090000C87050010039000048C050010641A +:10C2500059CC000682000500FFFF000082000D801F +:10C26000040000000500005E82000D8060000000F8 +:10C270000500005B82000D8054000000050000589E +:10C2800082000D80030000000502001E59A80A3933 +:10C290008C040508050200528C04050205020060AA +:10C2A00082000D80030000000502000882140D00CA +:10C2B0000000F00082040D80000030000502000341 +:10C2C00005F5FD4E0500004605F1FDC105000046DF +:10C2D00059A80036800000D059A8082D82040D000E +:10C2E000000000FF8004054059CC080082040D00C6 +:10C2F00000FFFFFF80040580050200370501F038CC +:10C3000059C408028C04050C0502001E82000D8031 +:10C310005200000005FC07ED82000D8005000000C2 +:10C3200005FC07EA82000D805000000005FC07E7CD +:10C330000501F029900405A30502002705FDFD6F06 +:10C340000500002559300C039004058205000024E7 +:10C35000B0040591050000220501F00A05FDFD6706 +:10C360000500001D59300403900005820502001AE3 +:10C37000593002039000058E050200170501F018E0 +:10C3800059A802398C00051405FC07F54C5800002B +:10C390000529FC71B05824815C00B0000500100E26 +:10C3A00059CC080082040D0000FFFFFF420010007E +:10C3B0000010DC0F58080005800405800500000807 +:10C3C000801021C005000004801020409008140D4A +:10C3D00005FDF7F9800005800501F0029000054198 +:10C3E0001C01F00059CC000682000500FFFF000090 +:10C3F00082000D80030000000500000482000D8013 +:10C400005200000005FE07F459A802399000050902 +:10C410009000058805FC07F205FDF7EF59A828B73D +:10C42000821405000000F00082000580000030004A +:10C4300005FE07EB05F5FCF105FE07E959A80036F6 +:10C44000800000D059A8082D82040D00000000FFD4 +:10C450008004054059CC080082040D0000FFFFFF56 +:10C460008004058005FC07DE6004300205FDFF291D +:10C4700005FDF7D94803C8574C580000400030006C +:10C4800061C0200F6040B00059247009503800008E +:10C4900080026D400500001359340002820005003F +:10C4A00000FFFFFF801805800502000E59341013AD +:10C4B00080080130812005800502000A82080500FD +:10C4C00000FFFFFF592408058004058005000011C6 +:10C4D000812000F080040D40480668130501F00D2E +:10C4E00080102000803870008058B04005FE07E8BA +:10C4F00082100480000008006000200061C0B00FBE +:10C5000041AC700005FE17E2900005410501F00204 +:10C51000401288005C00B0001C01F00059A80239EC +:10C520008C00050E050000048C00050205000003C8 +:10C53000800005801C01F0009000054105FDF7FE1C +:10C5400059300C079004058205000002900405850F +:10C550001C01F000600808008C08050805000007B1 +:10C560008C08050C050000048C0805040502000475 +:10C5700090040D44480660081C01F00042001800B9 +:10C580000010F5BF580C12028208150000003000A0 +:10C59000820805800000100005FC07F7820805806E +:10C5A0000000200005FC07F505FDF7F259C8000062 +:10C5B0008400055884000512480390001C01F00017 +:10C5C00059CC0800593400138200050000FFFFFF1A +:10C5D000800405808200050000FFFFFF0502000BBC +:10C5E00059A808B78C040516050000084200080089 +:10C5F0000010F68B500408005934001480040580A4 +:10C600008200050000001FFF1C01F00082140500DD +:10C610000000F0000500000682000C8000004000D1 +:10C620000502100A800005801C01F00059CC0400AE +:10C63000820005000000FF008200058000008100EC +:10C6400005FC07FA0501F0124817C85782140500C7 +:10C65000000003FF0502000759CC0400820005001A +:10C660000000FF0082000580000081000502000834 +:10C67000420000000010D86C0529FA9F05FDFE9FBE +:10C680004803C8569000054105FDF7E841780000D1 +:10C6900005FDF7E605F5FC590500000E59C400A498 +:10C6A0004803C8579000050F9000058A050200094D +:10C6B000497B509E59C400A3820005400008000039 +:10C6C000480388A382000500FFF7FFFF480388A303 +:10C6D0004C14000005E9FD5A05020016916C058313 +:10C6E00005000014420000000010D87E0529FA85DC +:10C6F00059C4000684000500480388060505FC8827 +:10C70000497B888059C400A382000500FCF8FFFF24 +:10C71000480388A36012D8006407880505C9FDFA9C +:10C7200005D5FA7E497B50586407506505D5FEBA99 +:10C730005C0028004817C8560529F1B54A0328248B +:10C74000000003E84A03280200110E406403280099 +:10C750004A03280800107F9C6014000091947C0913 +:10C76000497878014A00780400107F47903C7C05A6 +:10C770008000004005FE07FB4A032823FFFF00005E +:10C780000501FA6C6191D0000501F9C14201D000A8 +:10C79000000186A00501F1CE0000000000000005A8 +:10C7A0000000000A0000000F00000014000000025A +:10C7B00000000008000000200000008000000200CF +:10C7C0004D3000004D2C00004D3400004D40000065 +:10C7D0004CFC00004D3800004D3C00004D44000072 +:10C7E0004D4C00004D4800004C5C00004C600000C7 +:10C7F0004C6400000005FCF95C00C8005C00C0004F +:10C800005C00B8005C0290005C0298005C0288004A +:10C810005C0278005C0270005C01F8005C02800041 +:10C820005C0268005C0258005C0260001C01F000C1 +:10C830005994000480000540050200085994002F17 +:10C840008004040005C81B9448032804480B2805ED +:10C85000642B2803800005801C01F00059940029F6 +:10C8600080000540050200085994002F8004040050 +:10C8700005C81B8948032829480B282A640728284B +:10C88000800005801C01F0005994002C80000540B8 +:10C89000050200085994002F8004040005C81B7E7F +:10C8A0004803282C480B282D642B282B800005805A +:10C8B0001C01F0004C000000599400058008058020 +:10C8C00005020003497B2804497B28055C00000021 +:10C8D0001C01F0004C0000005994002A80080580DB +:10C8E00005020003497B2829497B282A5C000000B7 +:10C8F0001C01F0004C0000005994002D80080580B8 +:10C9000005020003497B282C497B282D5C00000090 +:10C910001C01F0004937C85748EBC8575934020387 +:10C9200080E804800500100248EA6A031C01F00058 +:10C930004D44000060407800599688010001FAFEDD +:10C940000502005E59341A03800C184005001015CA +:10C9500059940031800C04800500000348026A03EA +:10C96000050210105934000F497A6A03800005400F +:10C97000050000525934000B800011208200050090 +:10C980000000FFFF800804800500100364066A03AE +:10C990000501F0044C3C00000001FB0B5C0078003A +:10C9A0004D2C0000417818005934000F80025D4082 +:10C9B00005000041592C000780000D4005000006CD +:10C9C000599400318004048048025807050010077C +:10C9D00005000006412C1800592C000080025D4023 +:10C9E0000500003505FDF7F4592C2000497A580060 +:10C9F000800C19C00502000959340010812C0580F3 +:10CA000005020004497A680F497A68100501F008A8 +:10CA10004812680F0501F00648101800593400103C +:10CA2000812C058005020002480E6810592C02086E +:10CA300082000500000000FF90000592050000053F +:10CA4000B00005A005000003900005880502000362 +:10CA5000642E5A0A0501F0114C0C00004C10000025 +:10CA60000005F9FA5C0020005C0018004C0C000086 +:10CA70004C10000005F9FDCE5C0020005C001800A1 +:10CA80004A025A0800000103641A5A0A497A580DEA +:10CA90004A025C0A0000FFFF4C0C00004C10000032 +:10CAA0000001FB785C0020005C00180040100000D2 +:10CAB00005FDF7CB5C025800814688008344048062 +:10CAC0000000080005021007803C784005FE079C26 +:10CAD000494728015C0288005C03E0001C01F0006B +:10CAE000640B2800497B280105FDF7FB60407800B6 +:10CAF000599660025930020580000D40050000146F +:10CB00005994003180040480480262054DF0000011 +:10CB10004C0400000519FB9F5C000800050000099B +:10CB2000593002059000048B050210069004048B16 +:10CB3000050010044C3C00000519FACF5C00780099 +:10CB40005C03E000050010270500002659300006B0 +:10CB500080000D40050000104203E000B08000009E +:10CB60004203F8000C0000004000000040000000FC +:10CB7000400000000503B00859940031800404808F +:10CB8000480260064203F800080000000500101982 +:10CB900005000018913264304933280241540000E6 +:10CBA0008130048005021005803C784005FE07D2E4 +:10CBB0005C03E0001C01F000599400304803283168 +:10CBC0004A03280200110E40497B283080000540AE +:10CBD0000500000C640728005C03E0001C01F00065 +:10CBE0004C3C00000519F9A05C00780005FDF7D861 +:10CBF0004C3C00000515FC8A5C00780005FDF7E65A +:10CC0000640328005C03E0001C01F00059A8089DA3 +:10CC10008C040530050200258C0405320500000F48 +:10CC200059A8008B816404800500101659A8000BD8 +:10CC3000815005800500000559A8008959A8108871 +:10CC4000800805800502000F900411C082081500BD +:10CC5000000070000501F00F9004051F050000138F +:10CC6000800408409004051F050000034807509DFC +:10CC70000501F00E900401C09000051F80040D40D6 +:10CC8000900401C08004058082001500000070003F +:10CC900082040500FFFF8FFF800805404803509D78 +:10CCA0008008111405C9FCA01C01F0004A032807E4 +:10CCB000000007D0642B28064A01A8E500000C00FC +:10CCC0001C01F000601008009118048505CA1A7252 +:10CCD00091947C0983180400001071E65000000054 +:10CCE000803C7C004A007801000001F4480478028E +:10CCF0006428780083180400001071EB50000000D5 +:10CD000082000540000001554801A8E51C01F00023 +:10CD10009118048505CA1A6091947C09831804004F +:10CD2000001071E650000000803C7C00583C00027E +:10CD30008000004048007802050000044A007801A5 +:10CD4000000001F4642878001C01F00091180485AB +:10CD500005CA1A5191947C0983180400001071E6E9 +:10CD600050000000803C7C00497878018318040062 +:10CD7000001071EB500000004801A8E51C01F00014 +:10CD80004807C857480BC8575994002F800404001F +:10CD900005C81A4148032804480B2805642B2803BA +:10CDA0001C01F0004807C857480BC8575994002F7A +:10CDB0008004040005C81A3848032826480B282791 +:10CDC000642B28251C01F0004C000000599400271A +:10CDD0008008058005020003480328264803282709 +:10CDE0005C0000001C01F0004807C857480BC857FA +:10CDF0005994002F8004040005C81A274803282CE2 +:10CE0000480B282D642B282B1C01F00080E9D1C091 +:10CE10000500000C0501F82E050250004203E00059 +:10CE20008000000040E81000417808006190000098 +:10CE30000501FA015994002E800804004803282EA9 +:10CE40001C01F0004200100000105D5405FDFE9A28 +:10CE50004200100000105D4705FDFFDC420010009D +:10CE600000104EDB05FDFE944200100000104F53F1 +:10CE700005FDFE914200100000104EBA05FDFE8E29 +:10CE80004200100000104F7D05FDF69B4203E000BC +:10CE9000700000004203E000B030000040EBF800FA +:10CEA00060F00000050040048000004005FE07FE21 +:10CEB0000501F0064203E00070000000420000009F +:10CEC0000010D82D0529F88C1C01F0004203E00069 +:10CED000800000004203E000B040000040EBF8009A +:10CEE00060F00000050050048000004005FE07FED1 +:10CEF0000501F0064203E00080000000420000004F +:10CF00000010D82E0529F87C1C01F0004803C857F2 +:10CF10004C5C00004C64000059A8B80D585C00023D +:10CF20008200058000000100601000000502006F13 +:10CF3000642F5417642F541F642F5427600808006F +:10CF40004200C8000010D018600418006000208063 +:10CF50006060280105E9FC9D0500006459A80018DF +:10CF60004803C857B000053F800001C00500000D10 +:10CF700090002D1E0500000559A808174807C8573E +:10CF800084040D4448075017B0002D21050000050A +:10CF900059A8001F4803C857840005444803501F80 +:10CFA000600408004200C8000010D0186004180097 +:10CFB000600020806060280105E9FC840500004BCA +:10CFC00059A800194803C8578000000048035019A9 +:10CFD000600008004200C8000010D0206004180063 +:10CFE000600020806060280105E9FC780500003FB2 +:10CFF00059A800214803C857800000004803502169 +:10D00000600808004200C8000010D0286004180022 +:10D01000600020806160280105E9FC6C0500003398 +:10D0200059A800284803C857B0000521800001C056 +:10D030000500000559A800274803C8578400054487 +:10D0400048035027600008004200C8000010D028A4 +:10D0500060041800600020806160280105E9FC5B25 +:10D060000500002259A800294803C8578000000085 +:10D0700048035029600CC800420008000010D0137B +:10D0800042001000FFFFFFFF601C200005C9FBB736 +:10D0900059A8201280100400817804804400080000 +:10D0A000800408008064C84005FE07F66400B801EB +:10D0B0006460B8046580B8054A00B8030010D01356 +:10D0C00059A800104800B80759A800114800B8082E +:10D0D000405C10000001F821900005415C00C80090 +:10D0E0005C00B8001C01F0004803C85705FDF7FCC0 +:10D0F0004833C85658300002820005800000010005 +:10D10000050200021C01F0004A006002000001005C +:10D11000601400000501F80205FDF7FB4803C8563E +:10D1200061C011004000180005E9F98B1C01F000F6 +:10D130004803C85659A8008282000580338E103CEF +:10D14000050200B3420010007FF380005008100079 +:10D15000820815804F434453601C0000050200AD57 +:10D16000420008007FF3800042001000FFFFFFFF35 +:10D170006040200005C9FB7D60200000050200A57D +:10D18000420010007FF3800650081000480BC8577B +:10D190008C080500601800000500009E4200100089 +:10D1A0007FF3800250081000480B5010420010001E +:10D1B0007FF3800350081000480B5011420010000C +:10D1C0007FF38007500810006040084E0501F8FE0C +:10D1D0004807500F4807500E420010007FF3800AA6 +:10D1E00050081000800800E0420010007FF3800922 +:10D1F00050081000820815000000FFFF800805405D +:10D2000048035012420010007FF3801250081000B3 +:10D21000800811C00500000482080580FFFFFFFFA1 +:10D220000502000261B81000480B501542001000C2 +:10D230007FF3801A50081000800811C00500000418 +:10D2400082080580FFFFFFFF05020002612C10002D +:10D25000480B501D420010007FF380225008100040 +:10D26000800811C00500000482080580FFFFFFFF51 +:10D2700005020002612C1000480B502542001000EE +:10D280007FF3801350081000800811C005000004CF +:10D2900082080580FFFFFFFF0502000261A4100065 +:10D2A000480B5016420010007FF3801B50081000FE +:10D2B000800811C00500000482080580FFFFFFFF01 +:10D2C0000502000261181000480B501E42001000B9 +:10D2D0007FF3802350081000800811C0050000046F +:10D2E00082080580FFFFFFFF0502000261181000A1 +:10D2F000480B502605E9FAFC6024080042001000A3 +:10D300000010D018648010006004180060002080B5 +:10D310006060280105E9FB3C0500003E64075013EE +:10D320006407501464175217640F541760340800D0 +:10D33000420010000010D01560041800600020802A +:10D340006060280105E9FB300500003260640800D8 +:10D35000420010000010D01560041800600020800A +:10D360006060280105E9FB280500002A6407501BBE +:10D37000641F501C6417521F640F541F602C080058 +:10D38000420010000010D01D6004180060002080D2 +:10D390006060280105E9FB1C0500001E6080080094 +:10D3A000420010000010D01D6004180060002080B2 +:10D3B0006060280105E9FB1405000016640750238E +:10D3C000641F502464175227640F54276014080008 +:10D3D000420010000010D02560041800600020807A +:10D3E0006160280105E9FB080500000A608008006B +:10D3F000420010000010D02560041800600020805A +:10D400006160280105E9FB00050000021C01F00035 +:10D410004803C85705FDFF42497B500F05FDF7FC47 +:10D4200005E9FA10050200064803C85605D5FB8B2E +:10D4300005C8089905D5FBB405D5FB901C01F00083 +:10D4400059A8082B59A8028C80040480599C0A0210 +:10D45000800409C0050200028004080080041480D2 +:10D4600005001002400008004807508A59A8102BF8 +:10D4700040040000800ACC804967502B4967508BDC +:10D4800059AAA80B4164080060C010000501F84EBD +:10D490008206A40000110E40495350874152B0004B +:10D4A000420060000010F6054A0060080000012CF0 +:10D4B0004A006009DA10DA106454600C4A00600D0A +:10D4C0000010F6054A00600E00101208599C001466 +:10D4D00048006015599C0015480060164200600025 +:10D4E00000110D8064206203641864074A00600222 +:10D4F000FFFF00004A0060090010F6054A006016B0 +:10D500000010F605599C001448006017599C00153E +:10D5100048006018599C0413480060194950601A6B +:10D520004954601B59A8008A4800601C4A00601DCD +:10D530000010D0874A00601E0010D0884A00601F8B +:10D540000010D08942000000B00000004200080036 +:10D5500000110D800001F9381C01F0004807C85681 +:10D5600059240206800409C0050000038008054014 +:10D570000501F0028008050048024A061C01F0007F +:10D580004803C8564C00000005F9FF4E0502000B89 +:10D5900005EDFD5B05CA08405C000000480268021A +:10D5A0000509FC68050000064936600A6406640740 +:10D5B000600670000005F7DB5C0000001C01F00055 +:10D5C00005C9F8354C0C00004C1000004C1400004C +:10D5D0004C18000080001D80800025806080300095 +:10D5E000900405010500000340080000800C1C00A9 +:10D5F000400C2800800C19028010210290140501B3 +:10D60000050000038210254080000000800409020C +:10D610008018304005FE07F340100800400C000061 +:10D620005C0030005C0028005C0020005C001800FA +:10D630001C01F0004C5800006080B00080000540E4 +:10D640000500001880041C8005021016800810C216 +:10D65000800409820500100680041C800502100564 +:10D660008058B04005FE07FA0501F00680041C80D2 +:10D67000400C0800800810008058B04005FE07F4F8 +:10D680004C00000041F0000082000500F7FFFFFFA2 +:10D690004003E0005C0000005C00B0001C01F000F2 +:10D6A0004C00000041F0000082000540080000002E +:10D6B00005FDF7F8420070000010D42564147000D6 +:10D6C000640074014A007201000008406414720290 +:10D6D0006401A8E86443C82B0501F84E4A01A8E993 +:10D6E00000003A0D4A01A8EE000802026405A8E80D +:10D6F000640378E86443C8216413C8230501F879FA +:10D700004A0378E900003A0D4A0378EE0008030264 +:10D71000640778E8417808006003A0EC420010003C +:10D720000010D6F04200180000110AFF600C200023 +:10D730006120297F4A03A005D000000159D00006CE +:10D740004A03A0059000000159D000064A03A00535 +:10D750006000000159D000064A03A00560000003E4 +:10D7600059D000064A03A0056000000559D0000604 +:10D770004A03A0056000000759D000064A03A0052F +:10D780006000000959D000064A03A0056000000BA4 +:10D79000640410014A001002000001004A00100950 +:10D7A00000020F58480C100B4810100D4814100EB2 +:10D7B0004978120F4804140F49781010820C1C008D +:10D7C00000000080480C100C90081412801020C437 +:10D7D0008014280091D3A4208004080090040485BC +:10D7E00005FC17D759E0000382000500FFFFFFE0AA +:10D7F00082000540000080004803C00359C40006B1 +:10D8000082000500FFFCFFFF480388061C01F000B2 +:10D810004D9000004D1800004C5000004C58000086 +:10D820004C5400004A01A8E7AAAAAAAA4A01A8E6FD +:10D83000AAAAAAAA4A01A8E5AAAAAAAA4A01A8E4E9 +:10D84000AAAAAAAA4A01A8EE002000004979A8EED7 +:10D850004A01A8CE0010C59C6000B00190D4AC0075 +:10D860004178A0000525FEF74A01A81D001012040A +:10D870004A01A81B0010120D4A01A81C0010121D1D +:10D880004A01A81E0010D6C464031800600C0800EA +:10D89000420018000010D6C7417A3000811B20C812 +:10D8A000839324000000B03748072000480F200170 +:10D8B00064032002800408C4900C1C05811A300007 +:10D8C0009118048505FC17F65C00A8005C00B00008 +:10D8D0005C00A0005C0230005C0320001C01F00032 +:10D8E0004CD800004D1800004A0378E7AAAAAAAA5B +:10D8F0004A0378E6AAAAAAAA4A0378E5AAAAAAAA83 +:10D900004A0378E4AAAAAAAA4A03781B0010120DB7 +:10D910004A03781C0010121D4A03781D0010D428F9 +:10D920004A03781E0010D42F420008000010D6C70A +:10D93000417A30004200100000110AFF8119B0C87E +:10D9400082D9B4000000BF32831804000010805A4E +:10D95000500000004801B0024809B0004809B00179 +:10D96000820814000000008090040C05811A300029 +:10D970009118048505FC17F25C0230005C01B000D0 +:10D980001C01F0004933C857420008008000004ED7 +:10D99000593004168C0005100500000284040D5255 +:10D9A0004806600458D400EA8C00051605FE07FE00 +:10D9B00083300400800000004801A8E11C01F00051 +:10D9C0004933C8575930080482040D000000010093 +:10D9D00082040D4080000040593004168C00051070 +:10D9E0000500000284040D5248066004497A600074 +:10D9F00058D400EA8C00051605FE07FE83300400AB +:10DA0000600000004801A8E11C01F0000501FC8352 +:10DA10004DF000004D3000004D3400004D2C000052 +:10DA20004D1800004C5C00004C6000004D90000060 +:10DA30004DD000004DA400004D1400004CD8000053 +:10DA400058D6602F813261C0050000244130280083 +:10DA50004178C000593000004C0000005932680A7B +:10DA60005930B8014C0C00004C1400000509F9387D +:10DA70005C0028005C001800050000080501F8D1D2 +:10DA80004C0C00004C1400000501FAFD5C0028005D +:10DA90005C0018000501F005413018008060C1C02D +:10DAA00005020002400CC000805CB9C00500000304 +:10DAB000405E600005FDF7EB5C026000813261C0F2 +:10DAC000050000068060C1C005000002406028001B +:10DAD0004178C00005FDF7E0417A30000505F99076 +:10DAE00059926005813261C00500000A5932680A06 +:10DAF0004C1400000509F9165C002800050000051B +:10DB00000501FE7B0501FC190501FC1E0501FADC7F +:10DB1000811A30009118048505FC17F15C01B000F2 +:10DB20005C0228005C0348005C03A0005C0320004A +:10DB30005C00C0005C00B8005C0230005C02580071 +:10DB40005C0268005C0260005C03E00005000C24DD +:10DB50001C01F0004933C8570501FC304DF00000AE +:10DB60004D3400004D1800004D9000004DD00000D5 +:10DB70004DA400004D1400004CD800005932680A32 +:10DB800058D4202F40102800801021C00500001616 +:10DB90004130000080100580050000115810000A77 +:10DBA000813405800502000B401018005810200138 +:10DBB00041300000801021C00500000B80100D8056 +:10DBC00005000007401018005810200105FDF7FA65 +:10DBD000401028005810200005FDF7EC0501F879E9 +:10DBE0000501F00D417A30000505F94D5990000509 +:10DBF0008130058005000005811A300091180485E8 +:10DC00000502101005FDF7F90501FE390501FBD7E6 +:10DC10000501FBDC5C01B0005C0228005C034800ED +:10DC20005C03A0005C0320005C0230005C02680022 +:10DC30005C03E00005000BEA800005801C01F00099 +:10DC40005C01B0005C0228005C0348005C03A0009B +:10DC50005C0320005C0230005C0268005C03E000B2 +:10DC600005000BDF900005411C01F0000501FBEBF6 +:10DC70004DF000004D3000004D3400004D18000004 +:10DC80004D2C00004C5C00004D9000004DD0000079 +:10DC90004DA400004D1400004CD8000058D6602F51 +:10DCA000813261C005000021413028005930B800A0 +:10DCB0005932680A5934040381440580050000067E +:10DCC000805CB9C00500001941302800405E60004A +:10DCD00005FDF7F75930001D8124058005FE07F981 +:10DCE0005930B8014C0C00004C1400000509F8989C +:10DCF0005C0028005C001800050000080501F831F0 +:10DD00004C0C00004C1400000501FA5D5C0028007A +:10DD10005C0018000501F00241301800405E600010 +:10DD2000813261C005FE07EC417A30000505F8FC40 +:10DD300059926005813261C0050000055932680AB8 +:10DD4000593404038144058005000005811A300020 +:10DD50009118048505FC17F60501F00D5930001DDA +:10DD60008124058005FE07FA4C1400000509F878A7 +:10DD70005C00280005FC07F60501FDDD0501FB7BC5 +:10DD80000501FB800501FA3E05FDF7F15C01B000DD +:10DD90005C0228005C0348005C03A0005C032000D8 +:10DDA0005C00B8005C0258005C0230005C02680055 +:10DDB0005C0260005C03E00005000B891C01F000C0 +:10DDC0000501FB7058D4002F813005800502001C2E +:10DDD00059300801800409C00500000E59300000C8 +:10DDE000800001C0050200054805A82F4805A82E9F +:10DDF000497A60011C01F000593000004800080019 +:10DE00004805A82F497A6000497A60011C01F0009A +:10DE100059300800800409C0050200054979A82F7F +:10DE20004979A82E497A680C1C01F0004805A82FF2 +:10DE3000497A6000497A680C1C01F00058D4002E21 +:10DE4000813005800502000C59300001800001C0BE +:10DE5000050200054815A82E49782800497A680C63 +:10DE60001C01F0004801A82E48002800497A6001F2 +:10DE70001C01F00059300000800001C005020008BC +:10DE80005930000148001801800001C0050200025D +:10DE9000480E680C497A60011C01F00059300801F5 +:10DEA000800409C005020006593008004804280013 +:10DEB000497A6000497A680C1C01F0005930000072 +:10DEC0004800080048042800497A6000497A600147 +:10DED0001C01F0000501FB514DF000000501F82880 +:10DEE000050208EC05020960050200055C03E0007C +:10DEF00005000B3B800005801C01F0005C03E00086 +:10DF000005000B37900005411C01F0004D2C00006E +:10DF10004D3400004D3000004C5C00004178B800EA +:10DF2000598E6007813261C00500000E0509F808AE +:10DF300005000009593000004C0000000501FA45B9 +:10DF4000405C30000501F8510501F9CD5C0260002C +:10DF500005FDF7F54130B8005932600005FDF7F2D4 +:10DF60000509F8A10509F8BC5C00B8005C02600076 +:10DF70005C0268005C0258001C01F0004933C8577D +:10DF80004C5C0000813261C005C40DC3413000000B +:10DF9000598CB80741783000805CB9C00500001189 +:10DFA000805C0D8005000004405C30005818B8000B +:10DFB00005FDF7FA0501F835598C000B8130058015 +:10DFC0000504083F59300403B00005820502000231 +:10DFD000497A6008800005805C00B8001C01F000F0 +:10DFE000900005415C00B8001C01F0000501FB0B2E +:10DFF0004DF000004D2C00004D3400004D3000006D +:10E000004C5C00004178B800598E6007813261C0D5 +:10E01000050000155932680A59340403814405800B +:10E020000502000E5930001D812405800502000BF9 +:10E030000505FFC705000009593000004C0000002D +:10E040000501FA04405C30000501F8100501F98C67 +:10E050005C02600005FDF7EE4130B8005932600007 +:10E0600005FDF7EB0509F8140509F87B5C00B8001D +:10E070005C0260005C0268005C0258005C03E00027 +:10E0800005000AD71C01F00059300800497A6000E9 +:10E090000501FABC801831C005020009598C000640 +:10E0A000813005800502000448031806480318075C +:10E0B0000501F008480718070501F006480430007C +:10E0C000598C00068130058005020002481B1806A5 +:10E0D0000501F2BC4D300000598E6005813261C0EF +:10E0E00005000008593000004C0000000501F9D976 +:10E0F0000005FFBD0501FAB35C02600005FDF7F8FD +:10E10000497B1805497B18045C0260001C01F00083 +:10E110000501FAC24DF000004D3000004C5C0000DB +:10E120004C6000004130C0004178B800598E600555 +:10E13000813261C0050000365930080A800409C0E8 +:10E140000502000D4D3400000001FAFE41340800C4 +:10E150005C0268000502002B5804080259300019BF +:10E16000800405808200050000FFFFFF0500000518 +:10E170000501F024580404038144058005020021B0 +:10E180005930501A593400138200050000FFFFFF78 +:10E19000802805800502001B5930002A8060058018 +:10E1A000050000180501F9AB59302000497A6000DC +:10E1B000805CB9C005020009598C000481300580DB +:10E1C00005020004497B1805497B18040501F00885 +:10E1D000481318050501F0064810B800598C0004D2 +:10E1E0008130058005020002485F18044C100000D1 +:10E1F0000005FFBD0501FA735C02600005FDF7CD67 +:10E200004130B8005932600005FDF7CA5C00C0001B +:10E210005C00B8005C0260005C03E00005000A706E +:10E220001C01F0004D2C00004D3000004D3400006A +:10E230004C5C00004178B800598E6009813261C0A1 +:10E240000500000E0505FF42050000090501F981E2 +:10E25000593000004C000000405C30000501F855CA +:10E260000501F9075C02600005FDF7F54130B800D3 +:10E270005932600005FDF7F205EDFC0A5C00B800BC +:10E280005C0268005C0260005C0258001C01F00047 +:10E290004933C8574C5C0000813261C005C40CFE94 +:10E2A00041300000598CB80941783000805CB9C019 +:10E2B0000500000E805C0D8005000004405C30000D +:10E2C0005818B80005FDF7FA0501F83A598C000B0B +:10E2D0008130058005000F7A497A6008800005804A +:10E2E0005C00B8001C01F000900005415C00B80023 +:10E2F0001C01F0000501FA494DF000004D3400000A +:10E300004D3000004D2C00004C5C00008344048024 +:10E31000000007F0050210200001FAFE05C60CDE21 +:10E320004178B800598E6009813261C0050000143F +:10E330005930000A813405800502000E5930001D55 +:10E34000812405800502000B0505FF010500000979 +:10E350000501F940593000004C000000405C3000DD +:10E360000501F8140501F8C65C02600005FDF7EF31 +:10E370004130B8005932600005FDF7EC8D3C0506D0 +:10E3800005000004593402008C00050E050200024D +:10E3900005EDFBE35C00B8005C0258005C02600025 +:10E3A0005C0268005C03E00005000A0D1C01F0003F +:10E3B00059300800497A60000501F9F2801831C02F +:10E3C00005020009598C000881300580050200040F +:10E3D00048031808480318090501F00848071809F8 +:10E3E0000501F00648043000598C00088130058092 +:10E3F00005020002481B18080501F1F20501FA07A1 +:10E400004DF000004D3000004C5C00004178B80039 +:10E41000598E6003813261C00500000E0505FECCF7 +:10E42000050000090501F90B593000004C000000FF +:10E43000405C30000501F86C0501F8915C02600059 +:10E4400005FDF7F54130B8005932600005FDF7F2DF +:10E450005C00B8005C0260005C03E000050009E0BD +:10E460001C01F0004933C8574C5C00004C600000B0 +:10E47000813261C005C40C8841300000598CB8035A +:10E48000405CC000805CB9C005000024805C0D8049 +:10E4900005000004405CC0005860B80005FDF7FAB4 +:10E4A000598C000B8130058005000F050501F9B579 +:10E4B000598C0003805C058005020009585C00004F +:10E4C000480318034978B800598C0002805C058025 +:10E4D0000502000D497B18020501F00B598C000262 +:10E4E000805C058005020005486318024978B80081 +:10E4F0004978C0000501F004585C00004800C000E5 +:10E500004978B8000501F9AF800005805C00C000C3 +:10E510005C00B8001C01F000900005415C00C000E8 +:10E520005C00B8001C01F0004933C8570501F9BB75 +:10E530004DF000004D2C00004D3400004D30000027 +:10E540004C5C00004178B800598E6003813261C094 +:10E550000500001E5932680A5934040381440580BD +:10E5600005020017812649C0050000045930001D2E +:10E5700081240580050200120505FE7505000010C6 +:10E580000515F936050000060515FFA8050200046B +:10E5900059300403B0000583050000090501F8ADFA +:10E5A000593000004C000000405C30000501F80EBE +:10E5B0000501F8335C02600005FDF7E54130B80065 +:10E5C0005932600005FDF7E25C00B8005C026000B3 +:10E5D0005C0268005C0258005C03E00005000980F2 +:10E5E0001C01F00059300800497A60000501F96506 +:10E5F000801831C005020009598C00028130058065 +:10E600000502000448031802480318030501F00836 +:10E61000480718030501F00648043000598C000231 +:10E620008130058005020002481B18020501F165D2 +:10E630004943C8570501F9794DF0000005FDFE3446 +:10E6400005FDFEF95C03E000050009651C01F00012 +:10E650004947C8570501F9714DF000004D3C0000D5 +:10E66000853E7D0005FDFE6205FDFF235C0278000E +:10E670005C03E0000500095A1C01F0005C0000008A +:10E680004C0000004803C8574D3400004D2C0000DA +:10E690005932680A593258095930040790000C92CF +:10E6A00005C61BFD4933C8574943C857493FC8579A +:10E6B0004803C8570C01F8045C0258005C0268006B +:10E6C0001C01F000001079C3001079C4001079CA51 +:10E6D000001079EC001079C4001079D200107A0093 +:10E6E000001079C3001079C3001079C300107A07B5 +:10E6F000001079C3001079C3001079C3001079C3EA +:10E70000001079C300107A0D00107A0D05C5FBE2E8 +:10E710000525F8F30515F9C105D408B80515FC84DD +:10E720000509FF190505F7D40515F8CC0500000605 +:10E7300049425A0A0001FB785930022990000583AA +:10E74000051409A30505F7CC8330058000110DB031 +:10E75000050200150515F8C10500001059A8008D27 +:10E76000812C058005C60BCC592C00004803508D28 +:10E77000800001C0050200024803508E592C120887 +:10E78000B00805950502000305C5FF680501F00303 +:10E7900049425A0A0001FB7864026203497A60091F +:10E7A0001C01F0000515F8AD050407B305C5FBBA5B +:10E7B000593000088C00050005CA0DCA0515F8A7D8 +:10E7C0000500000F592C020882000500000000FF20 +:10E7D000900005940516097E0519FA3405F5FE74B6 +:10E7E0004A025A080000010349425A0A497A580D60 +:10E7F0000515F9F30521FDA90001FB780505F79E34 +:10E80000593000088C00050005CA0DB60515F893AF +:10E8100005220A540519FA250505F7970515F88FFD +:10E820000500000449425A0A497A5C0D0001FB7850 +:10E830000505F7910515F8890500000349425A0AB4 +:10E840000001FB785932581905C5FF410505F78AC3 +:10E85000598C000B8130058005000003497A60085F +:10E860001C01F00059C400049000050C05000005CF +:10E87000643388044A01A8E5000008000501F00897 +:10E880000501FB7459300403B0000D80050000033E +:10E89000B000058205020002497A60080501FE0801 +:10E8A000800005801C01F000593008048C0405200C +:10E8B00005020003900005411C01F0004933C857D0 +:10E8C0004D3800005930080484040D2048066004C7 +:10E8D0006126700059300203900005830500000294 +:10E8E000604E70000005FFDB800005805C02700058 +:10E8F0001C01F00059300019814805800502000311 +:10E900005930001A814C05801C01F0004D2C00008C +:10E910004D3000000501F8C14DF0000005FDF90C77 +:10E9200059900002900005030C01F00100107A5B81 +:10E9300000107A5000107A4F00107A4F05C5FB5630 +:10E94000599260050501F889813261C0050000080F +:10E95000593000048C00051605000004593258098E +:10E96000497A580C497A580D0501F8865C03E00095 +:10E970000500089B5C0260005C0258001C01F0006E +:10E980005C0000004C0000004803C8574D300000F8 +:10E990004A01A8E5000008000501F8A04DF00000BC +:10E9A000598C0000900005074803C8570C01F0017E +:10E9B00000107A9200107A7500107A7C00107A7F2D +:10E9C00000107A8B00107A9200107A8F00107A74FF +:10E9D00005C5FB31598C000B800265400500000322 +:10E9E0000501F81E05C60B2C0501FDB50501F01744 +:10E9F0000501F8290501FDB20501F014598C000B41 +:10EA000080026540050000110501F83A0500000686 +:10EA10000501F847050000040501F8100500000293 +:10EA20000501F81D0501FDA60501F0080501F840E6 +:10EA300005C60B190501FDA20501F0040501F82D1D +:10EA400005C60B150501FD9E5C03E000050008648A +:10EA50005C0260001C01F000598C000781300580C9 +:10EA60000502000C0501F8570501F8465930000071 +:10EA7000800001C00500000448031807497A6000BF +:10EA80000501F003497B1807497B180680000580C3 +:10EA90001C01F0004D2C0000593004079000058344 +:10EAA00005020012598C0009813005800502000F13 +:10EAB0000501F84459325809497A580C497A580DD9 +:10EAC0000501F83059300000800001C00500000445 +:10EAD00048031809497A60000501F003497B1808CA +:10EAE000497B1809800005805C0258001C01F00079 +:10EAF000598C0005813005800502000C0501F831B4 +:10EB00000501F82059300000800001C00500000414 +:10EB100048031805497A60000501F003497B180590 +:10EB2000497B1804800005801C01F000598C00030B +:10EB3000813005800502000C0501F8220501F8115D +:10EB400059300000800001C005000004480318038C +:10EB5000497A60000501F003497B1803497B1802DC +:10EB6000800005801C01F00064032002497B200521 +:10EB7000497B2006497B20074979B0031C01F0003E +:10EB80004C04000059300004820005007FFEFFFFA6 +:10EB90004802600458D400E48C0005140500000706 +:10EBA00058D4001181300580050200044979A8116C +:10EBB0004A01A8E4000008005C0008001C01F00005 +:10EBC0004803C856598C000A800005400500000320 +:10EBD000800000404803180A1C01F00058D400EAE5 +:10EBE0009000050790000583050200034803C856FE +:10EBF0006405A8E859BC00EA900005079000058369 +:10EC0000050200054803C856640778E84A0370E423 +:10EC1000000008001C01F0006004280058D400EA3D +:10EC200090000507900005810502000D4803C856B5 +:10EC3000600008000501F82F6000082058D400EAA1 +:10EC4000900005079000058305000004800408403B +:10EC500005FE07FB05C5FA904178280059BC00EA7B +:10EC600090000507900005810502000E4803C85674 +:10EC7000600008000501F80D4A0370E400000C0074 +:10EC80006000082059BC00EA900005079000058349 +:10EC9000050000058004084005FE07FB05C5FA7E57 +:10ECA000801429C01C01F00059BC00EA900005073F +:10ECB0009000058105C60A7859BC00EA8C0005164B +:10ECC00005FE07FE480778E11C01F00059BC00EA88 +:10ECD0008C00051605FE07FE480778E159BC00EADE +:10ECE0008C00051605FE07FE480B78E11C01F000BC +:10ECF00058D400EA8C00051605FE07FE4805A8E179 +:10ED00001C01F00058D400EA8C00051605FE07FE31 +:10ED10004805A8E158D400EA8C00051605FE07FE58 +:10ED20004809A8E11C01F0004A0378E40000200033 +:10ED3000420070000010D425583804018C000506EC +:10ED4000050200034A01A8E4000080001C01F00055 +:10ED500082000D000200001805C60A4805C5FA4EDB +:10ED600000107CB900107CCE00107B5F00107CB8D6 +:10ED700000107B5E00107C5205C5FA474D2C000048 +:10ED80004D30000058D400EA8C00051005FC07FE49 +:10ED900058D660E0813261C005C40A3F5930000492 +:10EDA0008C0005200500001082000500FFFEFEFF1C +:10EDB00048026004593258095930140790080583F5 +:10EDC000050000069008058605C60A33592C0A0A74 +:10EDD0000005FE470501F0060001FB780005FFBDB8 +:10EDE0000501F00384000510480260045C02600025 +:10EDF0005C0258001C01F00082000D008200001827 +:10EE000005C60A1E05C5FA2400107B9200107B92ED +:10EE100000107B9200107B9300107BB300107C34B9 +:10EE200000107B9200107C8700107B9200107CB851 +:10EE300000107BD200020EE000107C1500107B92C7 +:10EE400000107B9200107B9205C5FA134D30000034 +:10EE50004D9000004DD000004DA400004D14000066 +:10EE60004CD800000501FCAE59BC00EA8C0005102E +:10EE700005FC07FE59BE60E0593000048C000520F7 +:10EE80000500001082000500FFFEFEFF480260043E +:10EE900005FDFF6205C9FD9E05C9FDFD05C9FDBC57 +:10EEA0005C01B0005C0228005C0348005C03A00029 +:10EEB0005C0320005C026000642378E405FDF748F1 +:10EEC000840005104802600405FDF7F64D3000008F +:10EED0004D9000004DD000004DA400004D140000E6 +:10EEE0004CD800000501FC8E59BC00EA8C000510CE +:10EEF00005FC07FE59BE60E0593000048C00052077 +:10EF00000500000F82000500FFFEFEFF48026004BE +:10EF1000640E620305FDFF4105C9FD345C01B000CC +:10EF20005C0228005C0348005C03A0005C03200036 +:10EF30005C026000642378E405FDF7298400051075 +:10EF40004802600405FDF7F64D3000004D2C00002E +:10EF50004D9000004DD000004DA400004D14000065 +:10EF60004CD800000501FC6E59BC00EA8C0005106D +:10EF700005FC07FE59BE60E0593000048C000520F6 +:10EF80000500001A82000500FFFEFEFF4802600433 +:10EF9000640E620359325809812E59C005C409BE56 +:10EFA000420000000010D8350525F853592C020CFA +:10EFB0008400055248025A0C05CDF8D705FDFF170D +:10EFC00005C9FD0A5C01B0005C0228005C03480032 +:10EFD0005C03A0005C0320005C0258005C0260003F +:10EFE000642378E405FDF6FE840005104802600401 +:10EFF00005FDF7F54200700000021172583800005C +:10F00000900005800500000D58D808058C04050007 +:10F010000500000A8318040000020F53500060002E +:10F020005838000180300580050000054803C856A7 +:10F0300005C5FE694979B0051C01F0005830001083 +:10F040004803C8576404620F497860104978700219 +:10F050001C01F0004D2C00004D30000059BC00EAAE +:10F060008C00051005FC07FE59BE60E0813261C0CE +:10F0700005C40989593000048C00052005000012E0 +:10F0800082000500FFFEFEFF4802600459301407AD +:10F090009008058305C6098005FDFB8F05C6097E1E +:10F0A0005932580960040800600A800005EDFF80AD +:10F0B0000001FB780005FFBD5C0260005C025800A7 +:10F0C0001C01F000840005104802600405FDF7FBF8 +:10F0D0004D3000004D9000004DD000004DA40000C8 +:10F0E0004D1400004CD800000501FC0D59BC00EA8D +:10F0F0008C00051005FC07FE59BE60E05930000485 +:10F100008C0005200500000E82000500FFFEFEFFBA +:10F110004802600405FDFEC105C9FCF15C01B000B8 +:10F120005C0228005C0348005C03A0005C03200034 +:10F130005C026000642378E405FDF6A984000510F4 +:10F140004802600405FDF7F64D3000004D2C00002C +:10F150004D3400004DA400004CD000004D240000B0 +:10F1600058D400EA8C00051005FC07FE58D660E074 +:10F17000813261C005C40948593000048C00052063 +:10F180000500001E82000500FFFEFEFF480260042D +:10F190005932680A420348000010D4285932481DE9 +:10F1A000050110004A03C8400010D42F644BC84228 +:10F1B000050110004A03C8400010D4414A03C84268 +:10F1C000000000FF050110004A03C8400010D540B0 +:10F1D0004A03C842000000FF0501FBE95C02480049 +:10F1E0005C01A0005C0348005C0268005C025800FF +:10F1F0005C0260001C01F0008400051048026004FD +:10F200005C0248005C01A0005C0348005C026800EE +:10F210005C0258005C0260001C01F0004D300000F0 +:10F220004D2C00004D3400004CD000004D24000057 +:10F230004D9000004DD000004DA400004D14000082 +:10F240004CD800000501FBB659BC00EA8C00051043 +:10F2500005FC07FE59BE60E0813261C005C4090E9D +:10F26000593000048C0005200500001182000500C3 +:10F27000FFFEFEFF480260045932481D0505FA579B +:10F280005C01B0005C0228005C0348005C03A00045 +:10F290005C0320005C0248005C01A0005C02680086 +:10F2A0005C0258005C0260001C01F0008400051044 +:10F2B000480260045C01B0005C0228005C03480066 +:10F2C0005C03A0005C0320005C0248005C01A0001D +:10F2D0005C0268005C0258005C0260001C01F000E7 +:10F2E00005C5F8ED4D3000004D380000420000002B +:10F2F0000010D8730521FF8005FDFE48598E600B74 +:10F3000059C400048C000506050000030501F8D16E +:10F3100064238804813261C0050000040501FB7B81 +:10F32000605270000005FFDB6409A8E45C02700015 +:10F330005C02600005FDF62A4D1800004D3000000B +:10F340004D3800004D9000004DD000004DA400004D +:10F350004D1400004CD8000005FDFE30417A30000D +:10F3600059C40804831804000010800750000000EE +:10F370008004050005000017420000000010D8744A +:10F380000521FF5D0501FB66599260050501F858EE +:10F390008318040000108007500000004803880410 +:10F3A000813261C005000007593000048C00050C53 +:10F3B00005020002640E6203612A70000005FFDB93 +:10F3C00059C400048200050000F800000500000494 +:10F3D000811A30009118048505FC17E26421A8E425 +:10F3E0005C01B0005C0228005C0348005C03A000E4 +:10F3F0005C0320005C0270005C0260005C02300074 +:10F4000005FDF5F74D2C00004D3400005932680A17 +:10F41000598C08009004058605020004918C14059F +:10F42000918C1C040501F00F900405840502000472 +:10F43000918C1403918C1C020501F00A9004058143 +:10F4400005020004918C1407918C1C060501F0053F +:10F450009004058205020024918C1409918C1C08EB +:10F46000413068005834000080007D400500001ED7 +:10F47000583C000A8134058005020006403C6800C3 +:10F48000583C000080007D4005FE07FA0501F0169B +:10F490004933C857483FC857583C000048006800E7 +:10F4A00049307800443C1000500C0000803C05803E +:10F4B0000502000244341800800005804803180B40 +:10F4C0004803180D598C00009000058305000002C8 +:10F4D00064031800800005805C0268005C0258002C +:10F4E0001C01F0009000054105FDF7FC491BC857C1 +:10F4F00059B400F69000053805FE07FE59C80840CB +:10F50000900405504803904059C410084C04000072 +:10F510004C08000082081500FFFFFF7F480B880899 +:10F520000501FA9B050200060501FA9F050000206F +:10F530004803880405C9FC250501F03D64238803C0 +:10F5400059C400039000050305FC07FE8C0005026A +:10F55000050200060501FA94050000154803880419 +:10F5600005C9FC1A0501F0320501FA9B05020007E6 +:10F5700059C800408400056A4803904059C80040BB +:10F580008C00052A05FE07FE59C40005820005000F +:10F59000C00000000500000659C400A38400054017 +:10F5A000480388A34A038805C000000005C9FBD8AA +:10F5B0004A03A0053000000059D000064A03A00508 +:10F5C000300000006401B00659D000058C0005042D +:10F5D00005FE07FE05FDFE886403A014600008EC2C +:10F5E0008318054060000000480008A1811800DC75 +:10F5F00059C80840800405404803904082000540F7 +:10F60000000030004803904059C8004082000500C7 +:10F610000000300005FE07FD05C9FBDD831804006E +:10F620000010800750000000480388048000058017 +:10F630004DF0000005F9FDC65C03E0005C00100021 +:10F640005C000800480B8808480790401C01F00047 +:10F650004803C85659B400F69000053805FE07FE69 +:10F6600059C80840900405504803904059C41008F8 +:10F670004C0400004C08000082081500FFFFFF7FCB +:10F68000480B880859C40004900005030502000EC9 +:10F6900059C400049000050C05000004643388047C +:10F6A0008C0005040501F02259C800408400056E55 +:10F6B0004803904059C800408C00052E05FE07FE07 +:10F6C0000501F01B6423880359C40003900005035F +:10F6D00005FC07FE8C0005020502000559C4000464 +:10F6E000643388048C0005040501F01159C80040FA +:10F6F0008400056A4803904059C800408C00052AE0 +:10F7000005FE07FE59C4000582000500C000000088 +:10F710000500000759C400A384000540480388A3DE +:10F720004A038805C0000000800005804A01A8E562 +:10F73000000008005C0010005C000800480B88080E +:10F74000480790401C01F0005C0000004C000000E5 +:10F750004803C857491BC8574933C8574D90000044 +:10F760004DD000004DA400004D1400004CD8000006 +:10F7700005FDFD2A4DF000000501FA6959900005CC +:10F78000800001C0050000128130058005020010D4 +:10F7900059300004840005204802600405FDFF5430 +:10F7A0000502000A5C03E00005FC0D0D80000580E9 +:10F7B0005C01B0005C0228005C0348005C03A00010 +:10F7C0005C0320001C01F00005FDFC516126700067 +:10F7D0005930000484000520480260048C00050CA8 +:10F7E00000060FDB5C03E00005FC0CFD900005410A +:10F7F0005C01B0005C0228005C0348005C03A000D0 +:10F800005C0320001C01F0004933C85705FDFD03CF +:10F810004DF00000598C000B800265400500000F80 +:10F8200059300004840005204802600405FDFF896A +:10F830000500001105FDFC53604E700059300004B6 +:10F840008C00050C00060FDB5C03E00005FC0CE4FB +:10F85000900005411C01F000916C158105FC07FB2F +:10F86000916C158405FC07F94200100000104EDB76 +:10F8700005F9FC115C03E00005FC0CD98000058053 +:10F880001C01F0004D3000004D1800004D3C000000 +:10F8900005FDFCE24DF00000643DA8E4643F78E41F +:10F8A0000501FA07417A3000811808C882040C006B +:10F8B0000000B03758066005813261C00500000BBA +:10F8C000417A780005EDF8220500000759300C0751 +:10F8D00090040583050000039004058605020002DC +:10F8E000600A7800050DFFCC811A3000911804855C +:10F8F00005FC17EE6100080005CDF907642B78E4DC +:10F900006429A8E45C03E00005FC0CB55C02780007 +:10F910005C0230005C0260001C01F0004803C85625 +:10F920004D30000005FDFCBD4DF0000059C80840F9 +:10F9300084040D74900405504803904059C4100885 +:10F940004C0400004C08000082081500FFFFFF7FF8 +:10F95000480B8808600C10000501F9D2598E600B25 +:10F96000813261C005FE0FA9050009D54A01A8E54D +:10F97000000008000501F8095C0010005C000800A8 +:10F98000480B8808480790405C03E00005FC0C9495 +:10F990005C0260001C01F0004D3800004D180000B2 +:10F9A0004D3000004D9000004DD000004DA40000EF +:10F9B0004D1400004CD80000417A300005F9FCE4F9 +:10F9C000811A30009118058505FE07FD0501F9AC87 +:10F9D0000502000A5C01B0005C0228005C034800DC +:10F9E0005C03A0005C0320005C0260005C0230004D +:10F9F0005C0270001C01F0000501F9C95992600514 +:10FA00004933C85705FDFEBA813261C005FC07F2D3 +:10FA1000612A7000640E62030005FFDB05FDF7EE4E +:10FA20004D3000004D1800004D90000005FDFC7B9E +:10FA300060001000598C08009004058505000999A4 +:10FA4000417A3000811B20C8839324000000B03726 +:10FA500059900002900005810502000A601008001C +:10FA6000599260055930001382000500FFF0000034 +:10FA700080000540050000026038080005F9FC938D +:10FA8000811A30009118048505FC17EF59C8104001 +:10FA900084081534480B904005FDFC515C032000A0 +:10FAA0005C0230005C0260001C01F0004933C85762 +:10FAB0004D9000004DD000004DA400004D140000FA +:10FAC0004CD800004D38000005FDFC544DF00000FE +:10FAD000593000048C00053E050200068C0005200C +:10FAE0000500001E05FDFB710500001C0501F02549 +:10FAF000598C000B813005800500000E0511F85C63 +:10FB0000050200200501F9280500001E48038804AD +:10FB10000501F98305C9FAAD05FDFB7D612670007D +:10FB2000593000048C00050C0502000B0501F00B98 +:10FB300059C400048C0005040500001264138804F5 +:10FB400005FDFB90604E7000593000048C00050CE0 +:10FB5000050000020005FFDB5C03E00005FC0C2053 +:10FB60005C0270005C01B0005C0228005C0348008D +:10FB70005C03A0005C032000800005801C01F000F5 +:10FB80005C03E00005FC0C165C0270005C01B00038 +:10FB90005C0228005C0348005C03A0005C032000BA +:10FBA000900005411C01F0005930040790000583C6 +:10FBB000050200070511FBA90500000559301009D1 +:10FBC0005808040C840005504800140C1C01F00077 +:10FBD0004A01A8E50000080005FDFC1059C400AF6B +:10FBE000800001C00502000305FDFBFD05CDF25BB1 +:10FBF000598C000D90001482050210068000000050 +:10FC00004803180D8000058005F9FC290500000E49 +:10FC100005FDFEFE0502000C05FDFFE442000000AC +:10FC20000010D82B0521FD3405FDFDF70500000669 +:10FC30000501F9364D380000605270000005FFDB09 +:10FC40005C02700005FDFBE605CDF2444D9000001E +:10FC50004DD000004DA400004D1400004CD8000011 +:10FC60004D30000005F9FC3A05FDFBEC59C400AF2E +:10FC7000800001C0050000220501F92959926005A4 +:10FC80004933C857593000048C0005160500000997 +:10FC900005FDFEAE0502001A05FDFB1D05FDFBD0AE +:10FCA00042000800800008040005FE800501F014F1 +:10FCB00060C018EA0501F8E90502000305F9FC0235 +:10FCC0000501F00F05FDFEA10502000D05FDFFB7C2 +:10FCD000420000000010D82C0521FD075930000417 +:10FCE0008C00050C05020002640E62034D38000012 +:10FCF000612A70000005FFDB5C02700005FDFBB8A7 +:10FD00005C0260005C01B0005C0228005C034800FB +:10FD10005C03A0005C03200005CDF2104C600000E5 +:10FD20004D9000004DD000004DA400004D14000087 +:10FD30004CD800004D3000004D2C000005FDFBB7F5 +:10FD40000501F8F759926005813261C00500004055 +:10FD500005EDFEAA050200054178C0000505F9EA97 +:10FD6000050000026004C00005EDFEA405020005C8 +:10FD70008060C1C0050000030505FA0A0501F034E2 +:10FD800005F9FBE4050200324933C8570501F89232 +:10FD90000502001505F9FBEE813261C00500002C5B +:10FDA00059325809812E59C005C00E3B05EDFE930E +:10FDB0000502001C59C400934803C857800001C0C5 +:10FDC00005020009592C020C8400055048025A0C07 +:10FDD00005EDFF790502001E592C020C8400051068 +:10FDE00048025A0C05F9FBB80501F0194200000061 +:10FDF0000010D82C0521FCC005FDFDBD592C020CBE +:10FE00008400055048025A0C4D380000612A7000E9 +:10FE1000640E62030005FFDB5C0270000501F00C5C +:10FE200059901007800811C005FE07F159C408AFAA +:10FE300082040480000003E805FE17ED800810002E +:10FE4000480B200705F9FBA005E5FF285C025800D8 +:10FE50005C0260005C01B0005C0228005C034800AA +:10FE60005C03A0005C0320005C00C00005FDF35CA7 +:10FE70004D3000004D2C000005FDFB68598E600BD5 +:10FE80004933C857813261C00500003E59C410048F +:10FE9000480BC8578C0805000500000705EDFE5704 +:10FEA0000502001205EDFF440502003605F9FB804E +:10FEB0000501F03482080500000001FE05FE07FC84 +:10FEC00059C8010B4803C8578C00050005FC07F80A +:10FED000420000000010D8750521FC8705FDFE4B8F +:10FEE000050008770501F027598C000D80000540BA +:10FEF0000502000E59C408AF82040480000003E824 +:10FF00000502100A598C080D800408004807180DD6 +:10FF100005F9FB67420000000010D76A0521FC7656 +:10FF200005E5FEF20501F017420000000010D82B95 +:10FF30000521FC7105FDFDC7813261C0050200038A +:10FF40000501F85F0501F00F5930040790000583A3 +:10FF50000502000759325809812E59C005000004D6 +:10FF6000592C020C8400055048025A0C0501F86710 +:10FF70004D380000605270000005FFDB5C0270002D +:10FF80005C0258005C02600005FDF31559C40804CA +:10FF90008318040000107FFD50000000800405005D +:10FFA0001C01F00059C408048318040000108002EA +:10FFB00050000000800405001C01F00059C4080432 +:10FFC000831804000010800C50000000800405001D +:10FFD0001C01F00059C8084082040D00000E00000A +:10FFE0008318040000108011500000008004058078 +:10FFF0001C01F00000000210000004200000084076 +:020000022000DC +:10000000000010800000210000004000000080007F +:1000100000010000000200000004000000080000D1 +:1000200000100000002000000040000000800000E0 +:100030000008400000108000002100000042000085 +:100040000084000000000000000200000004000026 +:10005000000600000008000059900007800C0C808A +:1000600005021003900005410501F0048000000026 +:1000700048032007800005801C01F000417A300011 +:1000800005FDFFD505000005811A30009118058592 +:1000900005FE07FC1C01F000817800801C01F000C7 +:1000A000480BC85705FDFADD4DF00000480B18005D +:1000B0005C03E00005FC0ACA1C01F0004803C856B6 +:1000C00005FDFAD64DF00000497B180B497B18015D +:1000D000497B180C497B180D497B180E598C000080 +:1000E0009000058305000006916C0582050200035F +:1000F000641718000501F002640318005C03E000B7 +:1001000005FC0AB71C01F000593000048C00050CF6 +:1001100005020002640662031C01F00091180485C8 +:1001200005C21D5D491BC857811B20C8839324004D +:100130000000B0378119B0C882D9B4000000BF32C6 +:10014000811BA0CA83D3A40000007600831804009A +:100150000010805A50034800811A28C283162C00D0 +:10016000000061001C01F0000010D6410010D65ABA +:100170000010D6730010D68C0010D6A54933C8578E +:100180005930040790000C9205021015050110006B +:100190000C01F001001080770010810900108455D7 +:1001A000001084B70010810900108455001084B736 +:1001B0000010807700108109001080770010807790 +:1001C0000010807700108077001080770010807713 +:1001D000001080770010807B0010807B4803C85798 +:1001E00005FDFA8E05FDF9E705FDF27D42001000E0 +:1001F0000010D74A500810004930100C580800026F +:1002000082000580000001000502003859325809BB +:10021000812E59C005C00D20492FC8565932680A91 +:10022000833405800010F5CD05000020592C040F03 +:10023000820005000000E000050000030501FBBF8F +:100240000501F0020501FBAF592C001190000503D8 +:1002500005000006900005838000000058D00802C9 +:10026000800405404801A002420010000010D74A57 +:10027000500810004930100B492C100A90D0040689 +:1002800048001003592C000448001006592C001196 +:1002900048001005592C001248001007592C001373 +:1002A000480010080001F021592C080E4806680289 +:1002B0008204050000FFFF0005000007497A6A126A +:1002C00059A8102D8208150000FFFF008008058046 +:1002D00005FE07D782040D00000000FF800408D04F +:1002E00048066A1205FDF7D21C01F0004D2C0000F3 +:1002F0004D3000004C5800004C5400004C500000A1 +:100300005832580A812E59C005C00CE358300002FB +:100310008200058000000100050200215830000B1A +:100320005832600C81300D80050200110501F82D56 +:1003300005020015592C081190040C0380040904CF +:100340004004B0004200A0000010D42F0501FEE8D8 +:10035000050000029050A4024050A8000521FC6C4A +:10036000600011B80501FE6D0501F0074803C8578C +:100370004933C857813261C0050000030501F819EF +:1003800005FC0F9B5C00A0005C00A8005C00B000B6 +:100390005C0260005C0258001C01F0005830000B49 +:1003A0005832600C4A006002000001004803C85740 +:1003B0004933C85781300D8005FE07ED0501F80966 +:1003C00005FE07F14803C85705F9FEC305C20CB284 +:1003D000640A5A0A0001FB780505F8A705FDF7EA4B +:1003E00005FDFA0E4DF00000598C000B81300580A0 +:1003F00005020008598C00038130058005020005C4 +:100400005C03E00005FC09F6800005801C01F0009B +:100410004803C8575C03E00005FC09F19000054162 +:100420001C01F00059300403B0000CA005C21C9A56 +:1004300083340D800010F5CD0502000A5930082ADA +:10044000480668028204150000FFFF000502000450 +:10045000800408D048066A120501F002497A6A123F +:100460004803C8570C01F001001082620010827B23 +:100470000010828A001083BE0010838500108389DB +:1004800000108395001083AB0010839B001083AB9A +:10049000001083E3001083AB00108422001083ABB4 +:1004A0000010842D001083AB0010839B001083ABE1 +:1004B000001084310010817A0010817A0010817A56 +:1004C0000010817A0010817A0010817A0010817A00 +:1004D0000010817A0010817A0010817A0010817AF0 +:1004E000001084D0001084E5001084ED0010817AA3 +:1004F00000108504001083950010817A0010839508 +:10050000001083AB0010817A0010828A001083BE35 +:100510000010817A0010854C001083AB0010817AA6 +:100520000010855A001083AB0010817A0010839B65 +:10053000001082550010817B0010817A0010856FB9 +:10054000001085A1001086190010817A00108627FE +:10055000001083930010861C0010817A0010850E15 +:100560000010865C0010817A0010817A0010817A78 +:100570000010817A0010818E001081EF001081F947 +:100580000010817A0010817A0010817A0010822B8D +:10059000001082330010817A0010817A0010819F50 +:1005A000001081C900108691001086C6001086E7F1 +:1005B0000010817A0010817A0010817A001086BCC8 +:1005C0000010863E0010856F001088C60010817AEA +:1005D00000108907001088BC001089140010817A6F +:1005E0000010892F001088C205C1FC2B0501FAC537 +:1005F00059325809592C000D4801A006592C000EFB +:100600004801A007592C000F4801A008592C0010E0 +:100610004801A009592C00114801A00A4979A00BF2 +:10062000592C080D82040D0000000FFF80040904FE +:10063000600011B80501F5B94A0262020000FFFF2F +:100640000501FAB04D2C00004A01A006050000008B +:1006500059325809592C000D4801A007592C000E99 +:100660004801A008592C000F4801A0095C0258005D +:1006700060100800600011B80501F5A84C58000092 +:100680004C5000004C5400004D2C00000501FA9D18 +:100690005930040D90000503050000069000058305 +:1006A0008000000058D00802800405404801A002E4 +:1006B000593258094200A8000010D42F592CB20911 +:1006C0009058B4038058B104912CA40A0521FB551D +:1006D000405800008054AC00592C000180000540B7 +:1006E000050000034002580005FDF7F54200A00098 +:1006F0000010D42F4050A8005930B40D9058B403C6 +:100700008058B104405808000521FB81600011B8F1 +:100710005C0258005C00A8005C00A0005C00B00017 +:100720000501F57E4C5800004C5000004C54000070 +:100730004D2C0000420348000010D4280501FA7F28 +:1007400059325809592C08054807C8574004100069 +:1007500080040904900815030500000780040800C0 +:10076000900815838008100058D0000280080540CA +:100770004801A0024A0258090200000090D0AC06CD +:10078000592CB011912CA4090521FB2640580000DA +:100790008054AC00592E580141780000812E5D40F4 +:1007A00005FE07F8600011B85C0258005C00A80064 +:1007B0005C00A0005C00B0000501F5580501FA518D +:1007C0004A01A006780000005930001E840001C0D4 +:1007D0004801A4074979A20760080800600011B821 +:1007E0000501F54E4C5800004C5400004C500000E0 +:1007F0000501FA524A01A006020000005932481DC4 +:10080000592400014801A008592400024801A00908 +:10081000592400034801A00A592400044801A00BF0 +:100820005930001E82000D800000E0000500000E1F +:1008300082000D800000DF00050000046441A40771 +:10084000601808000501F015420018000010D10BD7 +:1008500005C1FEC4600001BE4200A0000010D10B23 +:100860000501F007420018000010D11805C1FEBDB7 +:10087000600001C04200A0000010D1189000055097 +:100880004801A40764D1A2076034B00090D0AC0C3A +:100890000521FAE4604C0800600011B85C00A0007B +:1008A0005C00A8005C00B0000501F51C0501FA150C +:1008B0004A01A006630000285930001E4801A00725 +:1008C00060080800600011B80501F5140501FA1B65 +:1008D0004178000041780800420020000008000034 +:1008E0000C01F80E80000000800408006030100049 +:1008F00082080540020000004801A006800408E0CC +:100900005930001E800405404801A00780080904F2 +:10091000600011B80501F5010010824B0010824DF6 +:100920000010824F00108251001082534811A0081D +:100930001C01F0004811A0091C01F0004811A00A98 +:100940001C01F0004811A00B1C01F0004811A00C84 +:100950001C01F0004A02600A0010F5CD59A8002DD4 +:1009600082000500000000FF800000D04202680005 +:100970000010F5CD48026A120501FA4941780800D5 +:10098000600010B80501F4E50501F9DE4A01A00692 +:10099000520000004979A0075932481D592404002B +:1009A0009000050305000005592404008000011093 +:1009B00005C9FFB04805A007592400014801A00857 +:1009C000592400024801A009592400034801A00A43 +:1009D000592400044801A00B592400054801A00C2B +:1009E000601C0800600011B80501F4CC4A026202E4 +:1009F0000000FFFF0501F9C34A01A0060500000041 +:100A00005932481D592400054801A0075924000106 +:100A1000592408024801A0084805A00960100800F0 +:100A2000600011B80501F4BD4A0262020000FFFF38 +:100A30000501F9B44D3C0000417A780005E9FBFF5F +:100A40005C0278004A01A006030000005934040348 +:100A500082000580000007FE0502008E4A01A00604 +:100A60000400000059A802398C00050605000004A6 +:100A70005930081D580404084801A0015934000ADF +:100A8000840005004802680A59A802398C0005084C +:100A90000500001059A8003D4801A00759A8003ED4 +:100AA0008200050007DEFFFF599C08188C0405161C +:100AB000050000028400056A4801A0084A01A00957 +:100AC0000000271059A800404801A00A0501F0467F +:100AD00059A8003D59A812398C08050605000003E5 +:100AE00082000500FFFF00004801A00705EDFB4361 +:100AF0000502000E59300C03B00415910500000BDF +:100B000059A80CB38C04050A05020008497B8880AB +:100B1000820005000000FFFF4C00000005C9FF82B5 +:100B20005C0000004803888059A8003E05EDFB33B7 +:100B30000502000682000500B7FFFFFF82000540A6 +:100B4000800000000501F003820005003FFFFFFF69 +:100B5000599C08188C040516050000028400056ADB +:100B600005E1FE400500000859A80CB38C040506F9 +:100B70000502000559A80A398C080506050200027D +:100B80008400057C8D0C05100500001459300C0301 +:100B9000B004159105000011900415B10500000F77 +:100BA0004C5800004C5000004C5400006010B00045 +:100BB0004200A0000010D8C990D0AC1F4C0000002B +:100BC0000521FA185C0000005C00A8005C00A00091 +:100BD0005C00B0008400057A4801A0084979A009AA +:100BE0004979A00A59240001592408024801A00BA0 +:100BF0004805A00C59240003592408044801A00DFD +:100C00004805A00E4979A00F4979A0104979A01193 +:100C10004979A012599C00188C000510050000119C +:100C200059A800068C00050A0500000459A80239DD +:100C30008C0005080502000B59A8004184000576C8 +:100C40004801A01359A800424801A01459A8004324 +:100C50004801A01559A800444801A0160501F00557 +:100C60004979A0134979A0144979A0154979A016AA +:100C700059A80045840005764801A01759A80046E8 +:100C80004801A0184979A0194979A01A0501F05F17 +:100C900059A802398C0005080500000C59A8003D30 +:100CA000820005000000FFFF59C4088080040D8009 +:100CB00005000006497B88804C00000005C9FF1A2A +:100CC0005C0000004803888059A8003D4801A00747 +:100CD0004C6400004D2C000059A8C83E050DFF5F74 +:100CE0000500000D0511FDD10502000B592C020B6A +:100CF0008C00050E050000088264CD000000FFFF97 +:100D0000592C000D82000500FFFF00008064CD40DB +:100D10000501F00559A80A3990040D3005000002BC +:100D20008464CD364865A0085C0258005C00C800A9 +:100D300059A8003F4801A00959A800404801A00A4D +:100D400059240001592408024801A00B4805A00CB1 +:100D500059240003592408044801A00D4805A00E99 +:100D60004979A00F4979A0104979A0114979A012B9 +:100D7000593402008C0005080500000559A80041FF +:100D80008400057E480350410501F00B599C001872 +:100D90008C0005100500001159A800068C00050AFA +:100DA0000500000559340C0382040480000007F09C +:100DB0000500100A59A800414801A01359A8004293 +:100DC0004801A01459A800434801A01559A800449F +:100DD0004801A0160501F0054979A0134979A0142E +:100DE0004979A0154979A01659A800454801A017CE +:100DF00059A800464801A01859A800474801A01961 +:100E000059A800484801A01A60740800600011B891 +:100E10000501F3C20501F8BB4A01A006500000001D +:100E200005FDF79C0501F8B74A01A0062110001442 +:100E30004979A0074979A0084979A0094979A00A08 +:100E400060140800600011B80501F3B40501F8B49E +:100E50000501F0020501F8B94A01A00602000000F0 +:100E600060040800600011B80501F3AC0501F8B397 +:100E70004A01A0060200000059300403900005B1A9 +:100E80000500000205FDF7830501FC1905000004BB +:100E90004A01A00100FFFFFE05FDF6FC81A4080049 +:100EA0004A00080100FFFFFE05FDF6F80501F8A362 +:100EB0004A01A006010000005930041C80000540D2 +:100EC000050000034801A4070501F002640DA40712 +:100ED0005930021C80000540050000034801A207AC +:100EE0000501F0034A01A20700002A00600808007B +:100EF000600011B80501F3894A0262020000FFFF99 +:100F00000501F8804A01A406000020106451A206E1 +:100F10004A01A407000008004A01A20700002000BF +:100F20006000000859A808078C04050C05000002A1 +:100F3000800005805932481D59240C008C04050896 +:100F400005000004900005608C04050A05020002FB +:100F500090000550900005425934080A8C0405148D +:100F60000500000582040D00000003808004054098 +:100F70000501F006599C08188C04051805000003AB +:100F800082000540000003800501F03C0501F86B7C +:100F90004A01A406000002106451A2064A01A407F7 +:100FA000000008005934000A8C00051605000013E3 +:100FB00059340C05900405300500001359340A0516 +:100FC000820405000000C000050200098C04051A17 +:100FD000050000044A01A207000021000501F00CF1 +:100FE0004A01A207000001000501F0094A01A20719 +:100FF000000004000501F0064A01A20700000700F6 +:101000000501F0034A01A207000008006000000883 +:1010100059A808078C04050C050000028000058013 +:101020005932481D59240C008C04050805000004A1 +:10103000900005608C04050A05020002900005502E +:101040009000054259340A008C04050E0500000B7F +:1010500084000550599C10178C08050A05020004ED +:101060008C04050A050000028400054E8C04051C52 +:1010700005000002840005524801A20A601408001D +:10108000600011B80501F3250501F82C4A01A006FE +:10109000021000144A01A007000001004979A008CD +:1010A0004979A0094979A00A60140800600011B8C4 +:1010B0000501F31A0501F8214A01A006020000000B +:1010C00005FDF6354933C8570501F81C4A01A0064D +:1010D00001000000642DA40760080800600011B83A +:1010E0000501F30E42005000320000004200600093 +:1010F0000829000041786800417878000501F2D0A5 +:10110000420050002200000042006000012900005F +:1011100041786800417878000501F2C9420050002A +:101120003300000042006000089800004178680029 +:10113000417878000501F2C242005000230000000F +:101140004200600001980000417868004178780012 +:101150000501F2BB5930040382000C8000000085B9 +:1011600005C0194D82000C800000009305C2194A89 +:1011700082000480000000850C01F0010010846EE4 +:101180000010846D0010846D0010846D0010846D5B +:101190000010846D0010846E0010846D0010846D4A +:1011A0000010846D0010846D0010846D0010846D3B +:1011B0000010847505C1F9384933C8574203480007 +:1011C0000010D4280501F83641780800600010B8F6 +:1011D0000501F2D24D2C0000593258094933C85745 +:1011E000492FC857812E59C005C0092B59340A12FE +:1011F00082040D000000FF00592C000E8200050043 +:10120000000000FF900001C080040540592C0C0B29 +:1012100082040D000000F00082040D800000300008 +:1012200005020003900005700501F00290000551D1 +:101230004403480081A5A0000501FB2D05020B32E7 +:1012400060241000600C0800592C000D820005007D +:10125000FF00000082001D808400000005000006E1 +:1012600082001D808500000005C2090B601C100073 +:1012700060040800912C1C0D500C00004401A000DB +:10128000800C180080D1A0008008104005FE07FBEC +:10129000600011B85C0258000501F2A04200500045 +:1012A00081000000420060000009000041786800F1 +:1012B000417878005930140790081585050200031D +:1012C0004200600000890000593014168C08051A8D +:1012D00005000002600478000501F259593004034A +:1012E000B0000C9305C218ECB000048B05C018EADE +:1012F0005932680A59368C034803C8570C01F0016B +:10130000001085250010852D001085350010853DC5 +:10131000001084C8001084C8001084C80010851D07 +:1013200005C1F8DD420050000600000042006000E8 +:101330000829000041786800417878000501F240F2 +:101340004933C85705FDFF6F4A01A006120000008F +:101350005930040790000584050200035934000247 +:101360000501F0035932481D59240005820005008B +:1013700000FFFFFF4801A0075930041B4801A408E3 +:101380005930021B4801A208600C0800600011B827 +:101390000501F26205FDFF5B4A01A0060F00000097 +:1013A0005930001E4801A00760080800600011B80D +:1013B0000501F25A05FDFF614A01A0060200000086 +:1013C00059C400855988080480040C00480710049B +:1013D000497B8885598800004801A0075988000189 +:1013E0004801A008598800024801A0095988000353 +:1013F0004801A00A598800044801A00B598800053B +:101400004801A00C601C0800600011B80501F243FF +:101410004A0262020000FFFF05FDFF3A4A01A006F2 +:10142000620000005930001E4801A0076008080053 +:10143000600011B80501F23905FDFF325930080985 +:101440004C5000004C5400004C5800009004A40E76 +:101450005930B01E90D0AC06051DFFF25930081E61 +:10146000600011B85C00B0005C00A8005C00A00047 +:101470000501F22A05FDFFAC593000194801A0060C +:101480005930001A4801A0074A01A00800001000C6 +:101490000501F02005FDFFA4593000194801A00600 +:1014A0005930001A4801A0074A01A0080000400076 +:1014B0000501F01805FDFF9C593000194801A006F0 +:1014C0005930001A4801A0074A01A0080000200076 +:1014D0000501F01005FDFF94593000194801A006E0 +:1014E0005930001A4801A0074A01A0080000040072 +:1014F0000501F00805FDFF8C593000194801A006D0 +:101500005930001A4801A0074A01A0080000020053 +:101510004979A0094979A00A4979A00B4979A00C19 +:101520004979A00D60200800600011B80501F1FBA9 +:1015300005FDFF024A01A006020000144979A40734 +:101540004979A20759A8004F4801A00859A800509E +:101550004801A0094A01A00A000478786014080034 +:10156000600011B80501F1ED05FDFEF44A01A00689 +:10157000021400184A01A407000008005930001E98 +:1015800082000D00FF000000900409C04805A2077A +:101590008200050000FFFFFF4801A00A4979A40866 +:1015A0004979A2084979A4094979A2094979A00B86 +:1015B00060180800600011B80501F1D84933C85718 +:1015C0004937C8574D1C000060D408000511F9695F +:1015D0000502002105FDFECB4A01A0061300000014 +:1015E0005932382A59300403B00005970500000429 +:1015F000591C04168C00050205C00827591C001B45 +:101600004801A005591C0407900005830500000748 +:101610005930080A580400028200050000FFFFFF4D +:101620004801A0070501F0045932481D592400055E +:101630004801A0075930041B4801A4085930021B77 +:101640004801A208600C0800600011B85C02380074 +:101650000501F1B24803C85605F9FD70598C000B1D +:101660008130058005C2080C05F9FCC65930040319 +:10167000B000059705040B440005FFBD5C0238006F +:1016800005F9F5574803C8564D2C00004D1C0000C5 +:101690005932382A811E39C005BC0FFF831C0580D2 +:1016A000FFFFFFFF05000036591C0C07900405865C +:1016B0000500000A900405830500003664DE64031B +:1016C000640E641C4A02621C000017005C023800B1 +:1016D0005C0258000501F0640501F8484200100062 +:1016E00040000000591C0203591C08048C04053EEC +:1016F0000502002090000C910C00100205BDFFE6D1 +:10170000001085D1001085DC001085D2001085DC2A +:10171000001085D8001085D1001085D1001085DC1F +:10172000001085DC001085D1001085D1001085D116 +:10173000001085D1001085D1001085DC001085D106 +:10174000001085DC05BDFFD4591C04164803C8579A +:101750008C000518050000038C000512050000032D +:10176000800015800501F0034200100020000000F9 +:10177000591C00174801A00A0501F01A0501F81FBD +:1017800042001000400000004178000005FDF7FA1B +:101790000501F81A591E5809812E59C005BC0FBE03 +:1017A000592C1013591C0013800804804801A00A0A +:1017B000591C0203591C08048C04053E050200054F +:1017C00090000D820500000690000D8405000004C5 +:1017D00042001000400000000501F002800015806A +:1017E0004809A00B60180800600011B85C023800BE +:1017F0005C0258000501F1494803C85605FDFE4F3B +:101800004A01A0060200000059300C1B4805A4073D +:1018100059300A1B4805A2075932481D59241005A2 +:101820005930080A58041802820C1D0000FFFFFFFF +:101830005930082A82040580FFFFFFFF05000007DA +:101840005804040790000583050200044809A00815 +:10185000480DA0090501F003480DA0084809A0099A +:101860001C01F0004803C85605FDFE340501F003D5 +:101870004803C85605FDFE2A4A01A00601000000E3 +:101880005930041C4801A4075930021C4801A20722 +:1018900060080800600011B80501F1204803C8562F +:1018A0004D1C000005FDFE104A01A00614000000BA +:1018B0005932382A591C001B4801A0055930041B15 +:1018C0004801A4075930021B4801A20759300017EC +:1018D0004801A0085930021882000500000000FFEE +:1018E000840001C04801A40960100800600011B81C +:1018F0005C0238000501F1094803C85605FDFE0FDA +:101900004A01A0060200000142001000E8000000A9 +:1019100059C4080182040D00000180009004058074 +:10192000600001000500000E8204058000008000B8 +:10193000600000800500000A8204058000010000AC +:101940006000004005000006820405800001800060 +:1019500060000010050000026008000080080540DB +:101960004801A00760080800600011B80501F0EB0D +:101970004803C8560501F8095930041C900001C0FD +:101980004801A0050501F94A41780800600010B837 +:101990000501F8E205F5F4C64803C85659300819A0 +:1019A00090041C096487480058040408820005005C +:1019B0000000F000820005800000300005000002F9 +:1019C0006507480081A5A0000501F949050000044C +:1019D0004C0C00000501F94C5C001800580C00018B +:1019E00082000D0000FFFFFF82040D40C2000000D6 +:1019F0004805A000580C08008204150000FFFFFFF6 +:101A000082000500FF000000800805404801A00199 +:101A1000580C00028200058000C000008200050012 +:101A200000FD03004801A002580C00034801A00378 +:101A3000580C04044801A404580C02044801A204F0 +:101A40001C01F00005FDFDBD5930001E800001C0E5 +:101A5000050000064A01A00601000000640DA4076D +:101A6000600808000501F0214A01A00602000000FC +:101A700041780800916C05840502000384040D423E +:101A80000501F00C05E9FF5D0502000384040D4A21 +:101A90000501F00284040D4859A802398C0005069E +:101AA000050200038C00050A0500000284040D46AF +:101AB0004805A20759C40085480310044C5800008B +:101AC0004C5000004C5400006018B0009188A400F5 +:101AD00090D0AC08051DFE535C00A8005C00A0007F +:101AE0005C00B00060200800600011B80501F08BB8 +:101AF00005FDFD844A01A006560000005934000689 +:101B00004801A007593400074801A008600C0800EC +:101B1000600011B80501F0814803C85605FDFD8736 +:101B20005930081E800409C00500000B820405809E +:101B30000000FFFF05000003900404870502100663 +:101B40004A01A00601000000640DA4076008080017 +:101B50000501F0114A01A0060200001C6405A0075F +:101B6000420010000010D110500800009C0001C07D +:101B70004801A0095932481D592400054801A00A0E +:101B800059240001592408024801A00B4805A00C63 +:101B9000601C0800600011B80501F0604D2C0000C9 +:101BA00005FDFD5859325809812E59C00502000320 +:101BB0004979A0010501F005592C000C82000500AF +:101BC00000FFFFFF4801A0014A01A00651000000EC +:101BD0005C02580005FDF3AD4803C8565932580958 +:101BE0005932680A593004074803C85790000D8AD3 +:101BF0000500000205BDFEA84200500002000000E2 +:101C00004200600020290000417868004178780097 +:101C10000501F80591180D78608011930501F87C95 +:101C20001C01F0006081A000593004168C000510E2 +:101C3000050200086001A0000501F00660C1A000D7 +:101C4000593004168C000510050200026045A00002 +:101C500059340A1282040D000000FF005932481D59 +:101C600059240408900001C08004054080D005403C +:101C70004403480081A5A0000501F89D050208A2C3 +:101C8000593400028200050000FFFFFF59300C03A9 +:101C900090040DB105020002417800008028054043 +:101CA0004801A000592400054801A0014831A002C4 +:101CB000903405404801A003593004024801A404AF +:101CC00059300A024805A2048C30052E0500000395 +:101CD0004805A4044801A204483DA0051C01F000E9 +:101CE000643E6407593008195930001A80102540A5 +:101CF000481260194806601A5930081B82040D000A +:101D000000FFFFF082040D8000C000004806601B49 +:101D1000481A601E1C01F0004807C8574C04000018 +:101D20000501F8575C0008004004000080081540D9 +:101D3000800000C48200054000002000420008002E +:101D40000010D42F59A824B38C10050205000008F8 +:101D500090040C028200054000004000820815003B +:101D6000FFFFC3FF82081540000024004803910ACA +:101D700059B400F69000051805FE07FE4200180051 +:101D80000010D4298C100502050000034200180041 +:101D90000010D42B580C00044803C857580C0006F8 +:101DA0004803C857580C1800480FC8578D0C052A0F +:101DB0000500000C820C1D00F80000000500000961 +:101DC0004C0400004C0800004008380042000000AD +:101DD0000010D42905BDFF405C0010005C00080025 +:101DE0004A0368F00010D428480768F1480B68F3EC +:101DF00059B400F69000053805FE07FE4203E000E6 +:101E0000B0800000600BF80005F5F3A94807C8573B +:101E10000501F8370500000682040D00FFFFFF07EB +:101E2000B0040D488208154000001000593000042D +:101E30008C000512050000028408154C480A280091 +:101E40004C0400000501F80E5C00080059B400F6CF +:101E50008C00050A05FE07FE49A768F2480768F4EA +:101E600059B400F69000053805FE07FE4203E00075 +:101E7000B0800000600BF8001C01F00061A070074A +:101E80004203E000B0800000600FF8004000000056 +:101E900040000000400000000501B00480387040A0 +:101EA00005BC0DFD05FDF7F91C01F00082000500E1 +:101EB000FFFF000082000580010500000502000B05 +:101EC000599C08188C0405100500000859A808063C +:101ED0008C04050A05000005613C110041781800DA +:101EE0004178200005DDFE1C1C01F00005E1F962CF +:101EF0000500000459A804B34803C8578C00050224 +:101F00001C01F00048D3C8575924100B8208050063 +:101F100000001FFF800000C282080D000000E000EA +:101F20008004054082000540500000004801A000E8 +:101F300082080500FF0000004801A00190D1A40222 +:101F400048D3C8571C01F0001C01F0004D340000BC +:101F50005930040790006C92050210155932680A36 +:101F60000C01F00100108828001087F4001087ECA5 +:101F7000001087FF0010880B0010880D00108817D4 +:101F80000010882800108828001088280010882851 +:101F90000010882800108828001088280010882841 +:101FA00000108823001088280010881B05BDFDBA8A +:101FB0008D3C05000500003D593002299000058345 +:101FC0000502003105F9FA4C0502002F0501F03732 +:101FD0008D3C051A0502002C8D3C05000502002AE7 +:101FE0008D3C0518050200328D3C05060500002FCA +:101FF000050DFD96050000240501F02C8D3C050023 +:102000000500000305F9FA3C0502001F8D3C051888 +:10201000050200278D3C0506050000245934020006 +:102020008C00050E050200180501F0208D3C051AF4 +:10203000050200158D3C0500050200138D3C0518B6 +:10204000050000038D3C0516050000185930042CCE +:102050008C0005000502000C0501F0148D3C050004 +:10206000050200098D3C05180501F0118D3C0500A5 +:10207000050200058D3C05180500000D8D3C051678 +:102080000500000A800005800501F009833C050079 +:102090000000180005FC07FC8D3C051605FE07FA3C +:1020A0008D3C050005FE07F8900005415C026800C4 +:1020B0001C01F00059A8008D800001C005000049F6 +:1020C0004D2C00004D3000004C5C00004C600000C6 +:1020D0004C640000400258004000C0004000C800AE +:1020E0004202600000110DB0592C040A81440580A1 +:1020F0000502003183240580FFFFFFFF0500000477 +:10210000592C0005812405800502002B592C02085A +:10211000B0000595050000058D3C0518050000265A +:102120008D3C05160502002440640000812C0580CA +:102130000502001459300203900005800500000DCF +:1021400059300009800001C00500000A05F9FAB302 +:102150004DF0000005F9F9BF05F5FF890502000201 +:10216000640262035C03E00005F80A9D497A600995 +:10217000592CC8004064C0004064B8000501F00359 +:10218000592CB800485CC000497A5800592C020804 +:1021900082000580000001550500000305C1F8E339 +:1021A0000501F00349425A0A0001FB78405E5800DD +:1021B0000501F003412CC000592E5800812E59C052 +:1021C00005FE07CA4867508D4863508E5C00C80002 +:1021D0005C00C0005C00B8005C0260005C0258005B +:1021E0001C01F0004943C8574D4400004D34000025 +:1021F0004C5800004D24000042024800FFFFFFFF42 +:1022000061C0B00F417A88000001FAFE05020002A9 +:1022100005FDFFA9814688008058B04005FE07FBF8 +:102220008344048000000800050210068D3C05026E +:102230000500000461C2880F6040B00005FDF7F39F +:102240005C0248005C00B0005C0268005C02880030 +:102250001C01F0004D30000059A8108D800811C0FD +:10226000050000224202600000110DB05930020347 +:10227000900005800502001D580808065808000552 +:102280004802601D4806600A480A6009641664072F +:10229000640662034A026403000000924178080069 +:1022A00058080208B0000595050000026004080007 +:1022B0004806642C4200080080000040497A6416F9 +:1022C0005808040B820005000000F0008200058021 +:1022D00000003000050200044A02641600000100FC +:1022E00084040D520005FE925C0260001C01F000A7 +:1022F0004803C85605FDFB910501F87A90D0048289 +:102300004A00000050001FFC4803C85605FDFB8B27 +:102310000501F87405FDF5594803C8564C580000EE +:102320004C5000004C5400004D2C000005FDFB7586 +:10233000593258094A01A0067F0000000501F869DA +:102340004A01A407000001015930021B4801A207FD +:1023500059A800024801A00859A800034801A00993 +:102360004A01A20A000002284CD0000090D1A40B20 +:102370004A01A400000001016411A200812E59C08D +:102380000502000359A800B50501F002592C000F01 +:102390004801A00190D1A4024A01A400000001025A +:1023A0006411A2004979A401812E59C005020003DD +:1023B00059A802B30501F002592C020B4801A201F1 +:1023C00090D1A4024A01A400000001034A01A20026 +:1023D000000002006000B0014200A0000010F97F80 +:1023E00090D0AC01505000004400A8008050A000E4 +:1023F0008054A8008058B04005FE07FB5C01A00097 +:1024000060280801600011B85C0258005C00A80058 +:102410005C00A0005C00B00005FDF6404803C85613 +:102420004C5800004C5000004C5400004D2C000053 +:1024300005FDFB4290D004824A00000050001FFCC2 +:10244000593258094A01A0060200000005FDF7BCF8 +:102450004803C8564C5800004C5000004D2C00005A +:1024600005FDFB2890D004824A00000050001FFCAC +:10247000593258094A01A0067F0000000501F819E9 +:102480004A01A407000001025930021B4801A207BB +:1024900059A800024801A00859A800034801A00952 +:1024A0006451A20A60140800600011B85C02580070 +:1024B0005C00A0005C00B00005FDF6184803C8569B +:1024C0004C5800004C5000004D2C000005FDFB1B3B +:1024D000593258094A01A0060200000005FDF7E83C +:1024E00058D0000182000500FF000000800001C0FC +:1024F000050200048200054000FFFFF04801A00132 +:102500001C01F0004D9000004DD000004DA40000D3 +:102510004D1400004CD800004D1800004803C85668 +:10252000417A300005F9FEFE59900805800409C083 +:102530000500001291947C0983180400001071E6D4 +:1025400050000000803C7C00583C0003811808CA01 +:1025500082040C00000061395004080080040580EA +:1025600005000006420000000010D876051DFAE2C2 +:10257000900005410501F004811A3000911805858D +:1025800005FE07E95C0230005C01B0005C02280037 +:102590005C0348005C03A0005C0320001C01F00009 +:1025A0004D9000004DD000004DA400004D140000DF +:1025B0004CD800004D1800004803C856598C080B31 +:1025C000800409C00500000205F5F9B9417A300020 +:1025D00005F9FED359900805800409C00500000FD5 +:1025E00091947C0983180400001071E650000000EB +:1025F000803C7C00811808CA82040C00000061390C +:1026000050040800480478034A007801000001F4EF +:102610006428780064107802811A300091180585CA +:1026200005FE07EC5C0230005C01B0005C02280093 +:102630005C0348005C03A0005C0320001C01F00068 +:10264000417810004202600000110E4059A8182B7A +:10265000480A64024A0262020000FFFF800810007C +:10266000800C1840050000039132643005FDF7F935 +:102670001C01F0005C0360004DB0000049B3C85776 +:102680004933C857813261C00500002D593002031B +:10269000900005800500002A593004074803C857F8 +:1026A00090000D840500000C90000D810500000ACB +:1026B00090000D830500000490000D8605020016B1 +:1026C0000519FDBC5930001E800001C0051209C863 +:1026D0000501F0115930000A820005800010F5CD87 +:1026E0000500000D5930082A4807C8574D30000032 +:1026F000400660000511FA635C02600005020006F6 +:102700005804001E4803C8578130058005020002A6 +:102710004978081E641E6407497A60094A02600409 +:102720000000400059A8004CB0000C9105001002B8 +:102730008000010248026006497A62051C01F0002F +:102740009164049005021007420000000010D805B3 +:10275000051DFA694967C857800265801C01F000B1 +:102760008166C9C005000018416260004158000040 +:1027700059300A0390040D8005000007913264303F +:1027800081300C8005FC17FB4202600000110E40F6 +:1027900005FDF7F84933C8578166C84091300C30C1 +:1027A00080040480050210054006C0006422620314 +:1027B000813261C01C01F0004202C00000110E40D5 +:1027C00005FDF7FB420000000010D805051DFA4A80 +:1027D0004933C856417A600005FDF7F64933C857BA +:1027E0009138059305020008593000048C00053E1D +:1027F0000500000405F9F90905F9F86205F9F8F88A +:102800001C01F0004933C857598800B78000000008 +:10281000480310B71C01F0004933C8575930020370 +:102820009000349105BE1B9C4D2C00000C01F80358 +:102830005C0258001C01F00000108A1F00108F84F9 +:102840000010910F00108A1F0010915E00108BB0D5 +:1028500000108A1F00108A1F00108F1700108A1F97 +:1028600000108A1F00108A1F00108A1F00108A1F84 +:102870000010A41600108A1F00108A1F05BDFB86D9 +:102880004933C857593002039000349105BE1B826A +:102890000C01F00100108A3600109C4900108A36A5 +:1028A00000108A3600108A3600108A3600108A36E8 +:1028B00000108A3600109BE900109C6800109CE90B +:1028C00000109C6800109CE900108A360010A43C9F +:1028D00000108A3600108A3605BDFB6F05BDFB6E01 +:1028E0004933C8574D3000004D1C000059300203D9 +:1028F0009000058F05BE0B689138059305020025F1 +:1029000059300C03B004058605000015B004058499 +:102910000502000A4D3000005932602A050DFCE125 +:102920005C0260000500001C591C04168400054A66 +:1029300048023C160501F0105930001982000500CC +:10294000FF00000082000580C200000005020012A6 +:102950005930001E05FDFD560501F00F59300416D3 +:1029600084000504480264165930141D050DFCC48A +:1029700005000009411E60005930001C8000054020 +:1029800005000005497A601C0801F8000501F00205 +:1029900005F5FFFC5C0238005C0260000005F7BD35 +:1029A0004933C8574D2C0000593258095930020399 +:1029B0009000349105BE1B380C01F8035C025800EE +:1029C0001C01F00000108A8200108A8200108A82A6 +:1029D00000108A9700108AE500108A8200108A820F +:1029E00000108A8200108A8300108A8200108A8276 +:1029F00000108A8200108A8200108A8200108A8267 +:102A000000108A8200108ACF05BDFB234933C857C6 +:102A1000B138058005BE0B204A026008000820007E +:102A2000640E6203493A640364065C0C592C00117D +:102A300048026013497A6015592C020C800000C2CC +:102A4000800010C480081400480A60060001F98B59 +:102A500042000800800000600005F6804933C85736 +:102A6000B138049005BE1B0CB138048905BC1B0AA3 +:102A70000C01F00100108AA500108AB200108AA48F +:102A800000108AA400108AA400108AA400108AB83A +:102A900005BDFB01050DFBBF050000036442620399 +:102AA0000501F00264126203640A5C0C592C020BEB +:102AB00048025C0D592C020D48025A0B592C00108B +:102AC000480258111C01F00005F5FF910509FFE3CC +:102AD00005000003641A5A0A0001FB780005F7BDDF +:102AE00005F5FF8B4D3C0000417A780005C9FF7C5D +:102AF0005C027800605030004178280060082000B7 +:102B00004D4000004D44000059368C0360A6800003 +:102B10000511F8C85C0288005C02800042000000D9 +:102B20000010D812051DF9740509FFCC000407BD7B +:102B300064A65A0A0001FB780005F7BD4933C8575F +:102B4000B13805A105000006B13805A0050200074F +:102B500059CC00028C00052605000005B138058916 +:102B60000500000405BDFACC05FDFF271C01F0009F +:102B700059A8004E48026205641262035930001CD5 +:102B80008000054005000003497A601C0801F80038 +:102B90001C01F0004933C857B1380588050000030F +:102BA000B138059305BE0ABC592C020A900005876E +:102BB000050000085930001380000540050000059D +:102BC000592C0810800404804802581064565A0A90 +:102BD000592C020A800005400502000264025A0ACC +:102BE0000001FB780005F7BD4933C8574D2C0000A4 +:102BF0004C5000004C5400004C5800004C5C00004D +:102C00004C6000004C6400004C10000005BDFE3715 +:102C100005BC0AA1497A5A0A59A800B782000500E2 +:102C20000000F00048025C0B59A8089E90040C18A4 +:102C300048065A0B412CB8004D2C000041CCA00096 +:102C40006004C00060B0C800900404AD0502100428 +:102C5000912CAC0D0509FA950501F02340043000D4 +:102C600060B00800912CAC0D0509FA90901834ACB6 +:102C70004C18000005BDFE1D5C0030000500001270 +:102C80008060C0004A02580800000110492CB801B9 +:102C900090180CBD0502100540180800912CAC09D5 +:102CA0000509FA820501F0109064CC3C901834BC00 +:102CB00060F00800412CB800912CAC090509FA7BA2 +:102CC00005FDF7EC5C025800592C020A8400055EF1 +:102CD00048025A0A592C040B8064054048025C0BD8 +:102CE0000501F0025C0258005C002000813669C0DA +:102CF00005000003593434030501F00261FC31FF83 +:102D00004932580C481A5C0AB01005940502001AA2 +:102D10004A02580CFFFFFFFF491E58174178100068 +:102D2000831C0580FFFFFFFF0500000E591C0009F2 +:102D300080000D400500000B5804020882000500C9 +:102D4000000000FF9000059205000005B00005A0FE +:102D500005000003900005880502000258041009D0 +:102D6000480A5809592C040B8120054048025C0B85 +:102D70000501F00249225C09846001C08010054011 +:102D800048025808051DFA1805020014592C0001C4 +:102D9000497A58014C000000420000000010D22582 +:102DA00050000000480258020001FB785C02580005 +:102DB000812E59C005FE07F45C00C8005C00C0000D +:102DC0005C00B8005C00B0005C00A8005C00A000E3 +:102DD0005C0258001C01F0000519FDC605FDF7F75F +:102DE0004803C8564C5C00004D2C00004C500000BD +:102DF0004C5400004C580000412CB800592C040FD2 +:102E00008C0005160500000341CCA0000501F0026E +:102E100091CCA4064008B00041781000B058049846 +:102E2000050010036160B000400010004C08000075 +:102E30004D2C000005BDFDAD0500001F5C00180015 +:102E4000492C1801485A58009058B4038058B104CE +:102E5000912CAC02051DF9AE585C040F8C000500E6 +:102E60000500000B912C14028C00051605000002D1 +:102E7000900814066404100080081000460010003A +:102E800000000900840005004800BC0F5C00100031 +:102E9000800811C005FE07E0900005415C00B0000D +:102EA0005C00A8005C00A0005C0258005C00B80058 +:102EB0001C01F0005C0258005C00100005FDF7F8F2 +:102EC0004933C85791380D9505020008050DFAB130 +:102ED000050000055930082A580404168400051A14 +:102EE00048000C160005F7BD91380D9605BE09EA9D +:102EF0000005F7BD4933C8574D2C00004C50000069 +:102F00004C5400004C5800005932580991CCA4068A +:102F100059CC1806820C0580010000000502000350 +:102F20006008B0000501F00A6020B000912CAC09E7 +:102F3000051DF93C8C0C0500050000076020B00061 +:102F4000592E5801812E59C005BC09D3912CAC09CA +:102F5000051DF9340501F8125C00B0005C00A80002 +:102F60005C00A0005C0258001C01F0004933C85707 +:102F70004C5000004C5400004C58000091CCA4066A +:102F80005930A8099054AC09601CB000051DF92502 +:102F90005C00B0005C00A8005C00A0004933C8578A +:102FA0000509FEAE000407BD4D2C0000050DFD1FF8 +:102FB00005020008417808004D40000060028000D2 +:102FC000050DFB585C0280005C0258000005F7BD4F +:102FD0005931D82D58EF400B58EE580D4A025A0877 +:102FE0000000010358EC00090801F8005C025800D9 +:102FF0000005F7BD4933C85759CC1806820C058027 +:10300000020000000502001F4A02680200FFFFFDE7 +:103010005934000A840005044802680A6000000070 +:103020004C0C00000501F8245C001800000407BDEA +:1030300059300C29900405A10502000605CDF913AD +:1030400061FC19FF601020006048300005DDFA2E99 +:1030500059300809800409C0000407BD4A000A0865 +:1030600000000103480C08095931D82D58EF400BD6 +:1030700058EE580D58EC00090801F8000005F7BD9E +:10308000420000000010D81B051DF81B601800004E +:103090004C0C00000501F8085C00180005FC07ED69 +:1030A0004C0C00000501F8235C00180005FE07E940 +:1030B0001C01F0004933C8574D4000004D2400006A +:1030C0004D2000005932481D40028000593004292B +:1030D000B0000D910500000390000DA10502001045 +:1030E00005CDF8EA60001802051DF9350502000457 +:1030F00059300429900005A105C80E405930042913 +:10310000B00005910502000241781800600400003B +:1031100005E5FF8C800005800501F0029000054167 +:103120005C0240005C0248005C0280001C01F00070 +:103130004933C8574D2C000059325809812E59C0C7 +:103140000502000B497A6006497A6205050DFA11FD +:1031500005000002497A64174D380000608A70004B +:103160000501FB285C027000800005805C025800AD +:103170001C01F0004933C8574D2C00004C50000092 +:103180004C5400004C58000059325809592E58012F +:10319000912CAC0991CCA40659A808B782040D0063 +:1031A000000003FF9004148F05001011603CB00074 +:1031B000051DF89C592E5801912CAC0990080C8FD4 +:1031C00005001008603CB000051DF896592E580106 +:1031D000912CAC099004148F05001005603C100080 +:1031E0004008B000051DF88F0501F0034004B00051 +:1031F000051DF88C5931D82D58EF400B58EE580D5D +:103200004A025A0800000103592E580158EC0009DF +:103210000801F8000005FFBD5C00B0005C00A800DC +:103220005C00A0005C0258001C01F0004933C85744 +:103230004D2C00004C5000004C5400004C58000035 +:1032400059CC000682000D8001000000050000211D +:1032500059CC00079000B1C08258B500000000FFB3 +:103260008058B1049058B40290580C8705001002A1 +:103270006018B00091CCA40659301009800811C024 +:1032800005BC09059008AC09051DF86682000D0013 +:10329000FF000000800409C0050000148200B50092 +:1032A000000000FF050000118058B10490580C8EFA +:1032B000050010026034B00058081001800811C0E9 +:1032C00005BC08F59008AC09051DF8560501F00786 +:1032D00059301009800811C005BC08EF48001009DA +:1032E00059CC00074800100A05FDFF2D5C00B00016 +:1032F0005C00A8005C00A0005C0258001C01F0000B +:103300004933C8574D2C00004C5000004C5400006D +:103310004C5800006008B00059CC080682040580B3 +:1033200001000000050000048204B5000000FFFF5A +:103330008058B10491CCA406593000099000AC0922 +:10334000051DF83805FDFF165C00B0005C00A80004 +:103350005C00A0005C0258001C01F0004933C85713 +:103360004803C8574807C857480BC857480FC8579D +:103370004813C857481BC857492FC8574D2C000041 +:103380004C00000005BDFC485C0000000500000F7B +:1033900048025803481A5801481258094806580567 +:1033A000480A5807480E58085C0010004C080000F6 +:1033B0005808000448025806480A580A412C1000D0 +:1033C0000001F821900005415C0258001C01F0004A +:1033D0004933C8574937C8574D1C000005F1FC5008 +:1033E0000502002059CC00018200050000FFFFFF0C +:1033F000593410028208150000FFFFFF8008058085 +:1034000005020018497A620560D40800050DF9D953 +:103410000502000F591C001E800001C00500000CB1 +:10342000497A381E591C04168C00050205BC089AFE +:103430008400050248023C16591C140790080583B5 +:1034400005000005900805860500000505FDFC8ABD +:103450000501F0040501F8050501F0020501F8C4B5 +:103460005C0238001C01F0004D2C0000591E580968 +:103470004933C857491FC857493BC857492FC857F0 +:1034800091380595050000B891380596050200B4FD +:103490004D300000411E600059CC02074803C85758 +:1034A00082000D000000FF0082040580000017006C +:1034B000050000048204058000000300050200648A +:1034C000050DF93405000006591C0403B0000590F1 +:1034D0000502000305FDFC680501F09D591C02036F +:1034E0004803C8579000058D05000040812E59C043 +:1034F0000500009A591C02024803C8578200058043 +:103500000000FFFF05020081050DF92205000004FF +:10351000591C020390000D8E0502007C592C020EEE +:103520004803C85790000503900005820502000774 +:10353000592C0813591C00134803C8574807C8578B +:103540008004058005020071591C04164803C85701 +:103550008C0005000502006D420000000010D7F845 +:103560000519FEE541780800591C10066028000086 +:1035700005F5F831592C040A4803C857800001C0EA +:103580000500000A80080C800500100305BE0842F3 +:1035900080001040480A5C0A800811C00502000340 +:1035A0000509FA480501F06A0509FE09591C0819C0 +:1035B000591C001A4806580C4802580D592E44143C +:1035C00081224110593000088C00050005C20A45CF +:1035D000497A38090001FAB60502004C411E600024 +:1035E00005FDFC250501F05A05FDFC5605000015FA +:1035F000591C0006480260064926601D4936600ACB +:10360000050DF8D5640E6407492E6009591C081988 +:10361000591C101A48066019480A601A4D380000F3 +:10362000591E74034D300000411E600005FDFC1260 +:103630005C0260000005FFDB5C0270000501F044E5 +:1036400059A8004E48023A050501F04159CC04073B +:103650009000058B0502002659340A0084040D0EE3 +:1036600048066A00592C0A0882040D00000000FF79 +:1036700090040D9405000002640E62295930000880 +:103680008C00050005C20A174D400000497A5C0D08 +:10369000600E8000592C0A0C05E5FE050519FFABEC +:1036A000050200060001FB7859300A2990040D83B9 +:1036B00005080DC7497A60095C0280004A0264036C +:1036C0000000008564266203640A64074200080063 +:1036D00080004040050DFE5F0005FE8E4203E000C5 +:1036E000B08000006023F8000501F01959CC0207F2 +:1036F0008200058000002A000502000459A8004E3F +:1037000048023A050501F012812E59C005B80FE2B2 +:103710000005F9FA497A602705EDFAA54A025A0828 +:1037200000000103591C00088C00050005C209EDCA +:10373000591C040248025C0A640E5A0A497A5C0D5C +:103740000001FB7805FDFBCC05E5F9905C0260000B +:103750000005FFBD0501F0025C0260005C0258003C +:103760001C01F0000501F81305FDF7FD4933C857AA +:10377000913805950502000459A8004E48023A0503 +:103780000501F00991380596050200094D30000049 +:10379000411E60000519F9870005FE4C0005FFBDBC +:1037A0005C026000497A381E0005FFBD1C01F00074 +:1037B0004C5C0000591C04168400054048023C166D +:1037C00059CCB80B4933C857491FC857492FC85758 +:1037D0004803C857485FC857050DF86E0502000733 +:1037E0008C5C053C0500000559A8004E48023A05CE +:1037F000497A381E0501F0644D300000411E60001A +:103800000505FFFC5C026000591C04079000058060 +:103810000500005D591C0403B00005900502000A74 +:103820004D300000411E6000640662034200080043 +:10383000800000430005FE8E5C026000497A381E5D +:103840000501F051591C02039000058D0500001C74 +:10385000812E59C005B80F90592C020E4803C85745 +:103860008C0005000502001B8C00050205000014F9 +:10387000591C04168C00051C05020007591C001376 +:103880004803C857800001C00500000D591C0014F2 +:10389000480238184A0238140FFFFFFF592C020C57 +:1038A0008400051E48025A0C420000000010D7FA9E +:1038B0000519FE1164063A160501F01642000000D3 +:1038C0000010D7FB0519FE0C641E3A160501F01115 +:1038D0008C5C053A05FE07FA59CC000A592C1813DE +:1038E0004803C857480FC857800C058005FC07F4EB +:1038F00059CC000A4803C8574802381848023817FC +:10390000420000000010D7F90519FDFB64163A16B5 +:10391000050DF8200500001A591C04168C00051A24 +:10392000050000174803C8578C00051E0500001647 +:103930004130B80005FDFB830500000F4926601DDE +:1039400064066203647A6403585C041B4802641BC7 +:10395000585C021B4802621B591E680A4936600AFD +:103960000509FFFD6406640742000800800000406E +:103970000005FE8E405E60000501F0035C00B800AB +:103980000509F6B95C00B8000005F7BD4933C85712 +:103990004D1C000005F1FAE20502003F59CC000180 +:1039A00059341002800805808200050000FFFFFFE7 +:1039B000050200375930141B050DF8B105B80F3654 +:1039C000591C1407900805870500003190080582EE +:1039D0000500002F900805800500002D591C0202EB +:1039E00082000D800000FFFF0500000459301A1B03 +:1039F000800C0580050200269138059505000022FF +:103A00004D3000004D2C0000411E60005932580915 +:103A10000509FC1205B80F20592C02088200050088 +:103A2000000000FF9000059405000002640E62296A +:103A3000497A5C0D600E8000592C0A0C05E5FD1CCE +:103A40000519FEC2050200060001FB7859300A295B +:103A500090040D8305080CDE497A60095C02580069 +:103A60004A0264030000008564266203640A640756 +:103A700042000800800040400005FE8E5C026000AD +:103A80000501F00359A8004E48023A05497A381E4C +:103A90000005FFBD5C0238001C01F0004933C85727 +:103AA0004C5800004D2C000059325809593422005E +:103AB00082102500FFFFDFFD48126A00913835951E +:103AC000050000090509FBE505000047050DFA574B +:103AD000050200036008B000050DFA3E0501FA2A50 +:103AE0000501F05991CC14086008B00091341C060F +:103AF0000501FF850502000F91CC140A6008B00093 +:103B000091341C080501FF800502000A05C9FBBBB2 +:103B10005934220059CC1007800811C00500000359 +:103B2000480A68018410254248126A000501F048DD +:103B30004D3C0000417A780005C9FB695C027800C1 +:103B4000420000000010D8120519FD6B5934020024 +:103B50008400055848026A004D30000005FDFAF95E +:103B600005B80ECD4926601D4936600A497A6009BC +:103B70006406640764066403600C30000519FB05E5 +:103B800005C9FE42592404008C00050A0502000BF9 +:103B900041782800600430004D40000060A680009D +:103BA0000515FD845C02800064126407641E6203D4 +:103BB0006406642C0501F00564066203602C0800AD +:103BC00005E1FBA805F1FF7F5C0260000509FBA38E +:103BD0000500001D050DFA150502001D0501F9EA95 +:103BE0000501F019420000000010D8150519FD422A +:103BF0004D3C0000417A780005C9FB3942000000C5 +:103C00000010D8120519FD3C5934020084000558F3 +:103C100048026A00600C30004178280060142000DF +:103C20004D4000004D44000059368C0360A68000D2 +:103C3000050DFC805C0288005C0280005C0278005C +:103C400005C9FB6E0005FFBD0501F00205FDFCD4B2 +:103C50005C0258005C00B0001C01F0004933C857FA +:103C600041380000B13834A005BA1E8B0C01F001B8 +:103C700000108F8000108F7D00108F8000108F80CB +:103C800000108F8000108F8000108F7C00108F7CC0 +:103C900000108F7C00108F7C00108F7C00108F7CB8 +:103CA00000108F7C00108F7C00108F7C00108F7CA8 +:103CB00000108F7C00108F7C00108F7C00108F7C98 +:103CC00000108F7C00108F7C00108F7C00108F7C88 +:103CD00000108F7C00108F7C00108F7C00108F7C78 +:103CE00000108F7C00108F7C00108F7C00108F8064 +:103CF00000108F7C00108F8000108F8000108F7C50 +:103D000000108F7C00108F7C00108F7C00108F7C47 +:103D100000108F8000108F7C00108F7C00108F7C33 +:103D200000108F7C00108F7C00108F7C00108F7C27 +:103D300000108F7C00108F7C00108F8000108F800F +:103D400000108F7C00108F7C00108F7C00108F7C07 +:103D500000108F7C00108F7C00108F7C00108F7CF7 +:103D600000108F7C00108F8000108F7C00108F7CE3 +:103D700000108F7C00108F7C00108F7C00108F80D3 +:103D800000108F8000108F7C00108F7C00108F7CC3 +:103D900000108F7C00108F8000108F7C00108F7CB3 +:103DA00000108F7C00108F8000108F7C00108F7CA3 +:103DB00000108F7C00108F8000108F7C00108F7C93 +:103DC00000108F7C00108F8000108F7C00108F807F +:103DD00000108F8000108F7C00108F7C00108F7C73 +:103DE00000108F7C00108F7C00108F7C00108F7C67 +:103DF00005B9FE2964066203493A640305F1F6F148 +:103E00004933C85764066203493A640305F1F6ED85 +:103E100059300403B00034A005BA1E1F9138359301 +:103E200005000087913835A7050200424933C8577D +:103E300005F5FAD40519FB2A0509FBF80500000C65 +:103E40000509FC05050000395930040390000DA256 +:103E5000050200336014000405FDFC9705000030E6 +:103E600005FDFCB4050000300501F030600C0004D5 +:103E700005FDFC910500002A05C9FAE0601C080058 +:103E800005E1FAF80501F9404D44000059368C036C +:103E900083440580000007FE0502000759A8123977 +:103EA0008408154005E5FE55050200028408154A00 +:103EB000480B523960A6800005F5F8964D3C00008D +:103EC000417A780005C9FA865C027800916C058316 +:103ED0000500000B5932680A59340008800001C0FF +:103EE0000502000759368C034933C8574937C8576C +:103EF0004947C85705E1FB9A0501F0084200000058 +:103F00000010D8120519FC7C60543000417828005C +:103F1000600C2000050DFBC75C0288000509FE84CB +:103F20000005F7BD1C01F0000501F91705FDF7FCC0 +:103F3000913805940500000C4933C857B13805A1E4 +:103F400005000003B13805A005FE07F705F5FED80A +:103F500005FE022D593002039000058E0508043F2E +:103F600005B9FDCD4933C85705F5FA86050DFE3B69 +:103F70000502000559300009800001C00502002635 +:103F800005F1F6900519FAD66008280059300403A7 +:103F9000B0000591050C06CB4D3C0000417A78003D +:103FA00005C9FA4F5C02780060583000417828005B +:103FB0004D4000004D44000059368C036024200021 +:103FC00060A68000050DFB9B5C0288005C028000FF +:103FD000420000000010D8120519FC470509FB8FAC +:103FE0000502000B05C9FA850501F8E759340C03F1 +:103FF00082040580000007FE05FE07C959A80A399A +:1040000084040D404807523905FDF7C50509FB92A8 +:10401000050200030501F8DC05FDF7C15930040372 +:1040200090000DB20502000305CDF93805FDF7BC7F +:1040300090000DA2050008D405FDF7B94933C85713 +:104040004803C8570C01F0010010907300109073E2 +:104050000010907300109073001090730010907314 +:104060000010907200109072001090720010907208 +:1040700000109072001090720010907200109072F8 +:1040800000109072001090720010907200109072E8 +:1040900000109072001090720010907200109072D8 +:1040A00000109072001090720010907200109072C8 +:1040B00000109072001090720010907200109072B8 +:1040C00000109078001090D900109072001090D9D4 +:1040D000001090D900109072001090720010907231 +:1040E0000010907200109072001090D9001090D9BA +:1040F0000010907200109072001090720010907278 +:104100000010907200109072001090720010907267 +:1041100000109086001090D90010907200109081CD +:104120000010907200109072001090720010908138 +:10413000001090720010907200109072001090D9D0 +:104140000010908400109072001090720010907215 +:1041500000109072001090D9001090D90010907249 +:10416000001090720010907200109072001090D9A0 +:10417000001090720010907200109072001090D990 +:10418000001090720010907200109072001090D980 +:10419000001090720010907200109072001090D970 +:1041A00000109072001090D90010908E0010907244 +:1041B00000109072001090720010907200109072B7 +:1041C000001090940010907205B9FD33640A6203E8 +:1041D0000509FDF005000002643A62030509F38257 +:1041E0006416620359A8004E480262050509FDE9FC +:1041F00005000002643A620359A8004C48026006B8 +:104200001C01F0005930082A49780A050501F056CA +:104210000509FDC70005F7BD05CDF8BC05F5FA7F1A +:104220000500000305F5F9D70005F7BD05F5F9D53B +:104230000005FFBD05F5F26A4933C857640A6203F9 +:104240000509FDD405000002643A62031C01F00078 +:104250004933C8574D3000004D2C000059325809E1 +:10426000812E59C00500002E0509F9FC05B80D0A7C +:1042700059A80CB44806581159A808B64806581051 +:1042800064025A0A592C1001800811C005B80D02A9 +:104290004930100B492C100A640010014A00100923 +:1042A000001090B44A0010030010F9FF4A001005F6 +:1042B00000000200592C001548001007592C001668 +:1042C000480010085C0258005C0260000001F02108 +:1042D0004D3000004D2C00005832600B813261C01F +:1042E00005B80CED5832580A812E59C005B80CEAB1 +:1042F000497860015830000282000580000001000A +:104300000502001459A80CB44806581159A808B65B +:104310004806581064025A0A0001FB7859A81CB3D9 +:10432000840C1D46480F54B30509FD9A050000058D +:1043300005FDF8D159A8004C480260060501F002BD +:104340000005FFBD5C0258005C0260001C01F0002B +:104350004803C8574A00600200000100600A80005C +:1043600005FDF7EE4933C857640A62030509FD8964 +:1043700005000002643A620359A8004C4802600636 +:104380001C01F0004933C8570509F9B40500002B9A +:104390004D2C0000050DF825050200074D400000DA +:1043A00060C68000601008000509FE5E5C028000A7 +:1043B0000501F021050DF8220502000564C65A0A20 +:1043C000641258100001FB780501F01B59300C07EE +:1043D0009004059005000003900405910502000774 +:1043E00064C65A0A641258114A025812000000FFAB +:1043F0000001FB780501F010592C04088C00051E03 +:104400000500000D4A025A08000001034A0258093B +:10441000010000004DA000004CEC00005931D82DE7 +:1044200058EF400B58EC00090801F8005C01D80077 +:104430005C0340005C0258001C01F0004933C8577F +:10444000833405800010F5CD0502000791380D95E5 +:104450000500000391380D9605FE00EB0519F9A241 +:104460000005F7BD5934040082000500000000FF7C +:104470009000348C05BA1C8859303403B0180D8D67 +:104480000508059190180DB30508055790180DA85B +:10449000050802A890180DA9050802B3B0180D97D9 +:1044A000050C036990180D9F05FC02B1B0180D951D +:1044B00005FC029190180D8005FC057990180DA25D +:1044C00005FC02CD90180DB505FC03C290180DB97E +:1044D00005FC052F90180DBD05FC0327B0180D84B1 +:1044E00005FC0353B0180D8905FC0386B0180D9820 +:1044F000050C03EFB0180D8305080695B0180D9153 +:10450000050806EF90180D84050200026004000003 +:1045100091380D950500000491380D9605FE00BAFE +:104520000501F1F54C0000000519F96F5C00000071 +:104530004D2C00004D3C00000C01F8045C0278009A +:104540005C0258001C01F000001091650010916998 +:1045500000109165001091BA00109165001092C68C +:104560000010935000109165001091650010931495 +:10457000001091650010931F4933C857497A6008AD +:1045800059300809580400004A000A0800000103D5 +:104590000005F7BD4933C857400000004000000047 +:1045A0001C01F0004933C85705E1FCDE59A8009E04 +:1045B000B00005B40502003D0515F9C30502000E63 +:1045C0000501F83D0509F925050000090509FF97D2 +:1045D00005020007417808004D400000600280009D +:1045E0000509FDD05C0280000501F00205C9F90350 +:1045F0000005F7BD0509F919050000050509FF8B40 +:104600000502000305FDFF600005F7BD417A780053 +:1046100005C9F8B3420000000010D8120519FAB617 +:10462000593402008400055848026A00600C3000CA +:104630000519F8584D30000005FDF84205B80C1674 +:104640004926601D4936600A497A60096406640794 +:1046500064066403592404008C00050A0502000B5B +:1046600064126407641E62036406642C60043000F4 +:104670004D40000060A68000417828000515FACD65 +:104680005C0280000501F005602C080005E1F8F5EA +:104690006406620305F1FCCB5C02600005FDFF3A95 +:1046A00005C9F8D60005F7BD05FDFF376004000019 +:1046B0000501F0DE4933C857593402008C0005006B +:1046C000050000094D3C0000417A780005E1F8DB67 +:1046D0005C0278008D0C05200500000360180800BE +:1046E00005E1F8E01C01F0004933C85759A8089EBD +:1046F000B00405B40500000E4807C85782040580C1 +:1047000000000100050200B559CC04084803C85751 +:104710008C000500050000B159341403820805809F +:10472000000007FE050000060501F0AC5934140333 +:1047300082080580000007FE0502001B59A8023907 +:104740008C0005060500000E59CC00008200050013 +:10475000000000FF59240C088004058005000008B3 +:1047600005C9F8A60005FFBD420000000010D803EF +:104770000519FA616006D80005DDF4DC0519FB9027 +:10478000050E054459A802398C00050605020004EF +:10479000832405800010D8CF050E04430501FA6D6F +:1047A0000501F0464178080005E1F99759341403F2 +:1047B00082080580000007FC050200244A02680206 +:1047C00000FFFFFC0509F8A50500000C0509FF170F +:1047D0000502000A0501F8AC417808004D400000D0 +:1047E000600280000509FD4F5C0280006010080037 +:1047F00005E1F89C0005F7BD6010080005E1F89997 +:1048000005C9F87E59300C29900405A10500000364 +:10481000B0040591000607BD05C9FB1C61F6880FB1 +:104820004200300000FFFFFD05E1F8B505BA0B9A24 +:104830004936600A497A6C12640E601E640662038F +:10484000648A640305F1F45F59A800B88C0005027E +:104850000500000D05E5FBE96040100005020008B9 +:10486000593400028200050000FF0000820005802C +:1048700000FF0000050000046020100005E5F81CA2 +:10488000050200560509F875050000570509FEE701 +:1048900005020005592C04088C00051C05FE07CAFA +:1048A0000501F8796014080005E1F86E64066203FA +:1048B000640E640305F1F44359CC04088C00051818 +:1048C000050000170509FBEE05E5FBCC0500000817 +:1048D00059CC04088C000516050000055930042940 +:1048E000900005A105FE07B81C01F00059A8023987 +:1048F0008400054A480352394803543959A8002D09 +:10490000497B883084000570480388325930042977 +:10491000900005A105FE07AC1C01F00059A8023962 +:10492000B0000510B00005900500000961BC100141 +:10493000420248000010D8CF480A4805480B502DC5 +:10494000497B883084081570480B88320509FBE9DB +:1049500059A802398400054848035239480354399C +:104960000515F9F105FE0798599C00198C000510F2 +:104970000502002D59A802398400054C480352391C +:10498000601C080005E1F837417A780005E1F82B52 +:1049900061BC380161A0000105EDFA4A05E0085844 +:1049A00005BA0B3D4936600A05E1FBE40502000249 +:1049B000497A6416593402008400051A48026A00D4 +:1049C000600C080005E1F8276406640764066203CA +:1049D000640A640305F1F3FB05FDFE6B600400004F +:1049E0000501F012599C00178C00050A05FC07AE62 +:1049F0006010080005E1F81B493750A959A8023991 +:104A00008C00050805000008599C00188C00051C46 +:104A10000500000561A0080742001000001055C7FE +:104A200005F1F8D80005F7BD4933C8578000354077 +:104A300005000003601C080005E1F80A801831C079 +:104A40000502000F59302009801021C00500000424 +:104A5000581004088C00051E0502000959341C0377 +:104A600060102000604830004D200000593640138F +:104A70008122413005D9FBA45C02400005C5FFDF5F +:104A80000005F7BD4C5C00004D2C00005932580960 +:104A90000005FB7D5C02580059CC00084800280541 +:104AA00059CC000948002806497828074978280881 +:104AB000497828094978280A59CC00138C00053E0A +:104AC0000500000959CC0414900001C059CCBC1554 +:104AD000805C05404800280759CC0416900001C0AE +:104AE0004800280859CC00178C00053E0500000935 +:104AF00059CC0418900001C059CCBC19805C054009 +:104B00004800280959CC041A900001C04800280A1E +:104B10005C00B8001C01F0004933C85759A8009E3A +:104B2000900005940502003A59A800B88C000502CF +:104B30000500001105E5FB3160401000050200088A +:104B4000593400028200050000FF00008200058049 +:104B500000FF0000050000086020100005E1FF6470 +:104B60000500000559A800B88400054C480350B85A +:104B70000501F027916C05830502000C59300009EE +:104B8000800005400502000959341C03601820000C +:104B9000604C30004D2000005936401381224130D6 +:104BA00005D9FB595C02400005E1F90C05FDFEC288 +:104BB0000501FA8C050200165934040480000540F2 +:104BC000050000136018080005DDFFA60505FFA31A +:104BD0000500000D0509FE150502000741780800D3 +:104BE0004D400000600280000509FC4E5C02800020 +:104BF0000005F7BD4A025A08000001034A0258099D +:104C00000200000005C5FF7D0005F7BD05E1FEF9C6 +:104C10000505FF92050000050509FE0405020003D5 +:104C200005FDFDD90005F7BD05FDFDD70515FFAE56 +:104C30008000058059A800B88C00050C0500000410 +:104C40008400050C480350B89000054105FDF77736 +:104C50004933C85759A8009E9000059405020006E4 +:104C6000602C080005DDFF7F6406620364066403B0 +:104C700005F1F3546004000005FDF76C4933C85793 +:104C80004000300059A8009E9000058405020018DD +:104C90009018358B050200155930081D5804020084 +:104CA0008C000500050C0382580402008C000508E6 +:104CB0000500000C8400050848000A00600C08008C +:104CC00005DDFF685930080A497808064A02620281 +:104CD0000000FFFF640662036546640305F1F339D3 +:104CE000601C080005DDFF5F0005F7BD60040000E3 +:104CF00005FDF74E4803C8574D2C00004D3C000001 +:104D00000C01F8045C0278005C0258001C01F00001 +:104D1000001091650010937300109165001093B618 +:104D2000001091650010940C0010935000109165D4 +:104D30000010916500109422001091650010942DD0 +:104D40004933C8574D1C000059301403900805839F +:104D50000500001D9008159E050200199138159553 +:104D6000050200164D3000005930141B0509FBC424 +:104D700005B80A49591C14168C08051E0500000BBD +:104D800005F9FE700500000905E1FCA74926601D34 +:104D9000593402008C000508050000034A0264161D +:104DA000000001000509F9B082081500FFFF1FFF90 +:104DB000480A3C165C0260000005FFBD5C0238003A +:104DC0001C01F00005FDFF5505FDF7FD4933C857EF +:104DD000420000000010D8160519F8C70515FF425B +:104DE00005E1FAD00505FF1D050000070509FD8F47 +:104DF000050200056008B0000509FD7605FDFD62AD +:104E00000005F7BD0501F8C305020020417A7800CE +:104E100005DDFF0A417A780005C5FEB142000000B9 +:104E20000010D8120519F8B459340200840005584E +:104E300048026A00640A6403600C30000515FE55E0 +:104E4000592404008C00050A0502000B4D400000A7 +:104E5000417828006014300060A680000515F8D560 +:104E60005C028000641E6203641264076406642CA2 +:104E70001C01F000600C080005DDFEFA6406620308 +:104E800005F1FAD005FDF7FB59CC04079000058920 +:104E9000050200095934041282000500000000FFD9 +:104EA0000500000B8000004048026C12642A600676 +:104EB00005FDF7F059CC0207820005000000FF0055 +:104EC000820005800000190005FC07D305FDFD2EBA +:104ED0008000058005FDF6D54933C8570505FEDF7E +:104EE0000500000B0509FD51050200094C580000A2 +:104EF0006008B0000509FD375C00B00005FDFD222B +:104F0000601C080005DDFED70005F7BD5934040319 +:104F100082000580000007FC050200076010000009 +:104F200005FDF86505020029601C080005DDFECDC1 +:104F30000005F7BD05FDFD1459CC34078218350076 +:104F4000000000FF90180585050000169018058BDD +:104F50000500001159CC0207820005000000FF0087 +:104F600005020003901805890500000E82000580E7 +:104F700000001900050200089018058905000009C5 +:104F80006010080005DDFEB705C5FE9C0515FED6C0 +:104F90000005F7BD0515FED46004000005FDF6A36D +:104FA0000505FEAE5932580905000008592C0208C3 +:104FB000820005800000013905FC07F7592C040820 +:104FC0008C00051E05FE07F459340412800001C050 +:104FD000050000068000004048026C12642A60064A +:104FE000645A64031C01F0005934040382000580F4 +:104FF000000007FE0502000659A80239840005409A +:105000004803523905DDFBC005FDF7E30515FEB683 +:10501000417A780005C5FE32601430000515FDDDCB +:10502000420000000010D8120519F83305FDF7DB27 +:105030004933C8570501F84405020006601408000A +:1050400005DDFE8864066203640E640305F1F25D0B +:105050006010080005DDFE830509FCF40502000769 +:105060004C5800006008B0000509FCDA5C00B00094 +:1050700005FDFCC50005F7BD05FDFCC30515FE9A41 +:105080008000058005FDF6694933C8570501F82EF3 +:10509000050200066024080005DDFE726406620356 +:1050A0006416640305F1F2470515FE8F60040000E5 +:1050B00005FDF65E4933C8575930081D58040200F3 +:1050C0008C000500050C027A0501F81F0502000698 +:1050D000602C080005DDFE63640662036406640359 +:1050E00005F1F2385930080A58040403820005809B +:1050F000000007FE05020004600C2800050DFA718F +:105100000005F7BD0515FE786004000005FDF647B3 +:105110004933C85759CC040790000583050200099C +:1051200059CC0207820005000000FF0082000D80BC +:1051300000002A000500000382000D8000001E0010 +:105140001C01F0004933C857900005411C01F000D4 +:105150004933C8574D4000004C58000060028000A1 +:1051600005C9F8CA59A802399000054348035239C5 +:1051700005D9FCBC0500000C59A81CB38C0C050615 +:105180000502000F840C1D44480F54B359CC040889 +:105190008C00051C0500000459A812398408155814 +:1051A000480B52390501F8B3050000054D300000E9 +:1051B0004D3400004D4400000501F03159CC080089 +:1051C00082040D0000FFFFFF800409C005000034C9 +:1051D0000501F8DD050000324D3000004D340000BF +:1051E0004D440000832405800010D8CF050200271D +:1051F00059CC04088C00051E050200094200080075 +:105200000010D8CF580404068C00050005020004E5 +:1052100059A8023984000552480352395924040020 +:105220008C00050A0502000560AA800061FE89FF66 +:10523000600830000515FD6860AA80004D3C000044 +:1052400005D9FC8D05000008600A78005924100B70 +:105250008208150000001FFF4178080005C9F9B158 +:105260000501F0036002780405C5FD435C02780087 +:10527000420000000010D8120515FF9F05D9FC7EE2 +:105280000502000205C5FF2F05C9F93B600A800031 +:105290005C0288005C0268005C026000050DFB1384 +:1052A0004178080059A804B38C00050A05000002E3 +:1052B0006004080005DDFED459CC080082040D000E +:1052C00000FFFFFF59240200B000056648024A00B3 +:1052D000800409C00500001048064805812000F040 +:1052E0008004054048026813812241C0050200067F +:1052F0004C040000600018026004000005E1FF118A +:105300005C0008004927C857832405800010D8CFC7 +:105310000502002659A8123959CC04088C00051A38 +:1053200005020005840815144A0370E50000080012 +:105330000501F004840815544A0370E500000C00D0 +:10534000480B52394807502D80040110480350364D +:105350004803888159A80A3984040D5059CC001398 +:105360008C00053E050000038C0005360500000496 +:1053700059CC00178C0005360502000284040D107C +:1053800048075239480754395924100B8208150030 +:1053900000001FFF8C0405180500000459A804B381 +:1053A0008C00050A0500002659CC04088C0005185D +:1053B0000500002359A802398C00050605000012DB +:1053C000916C058305000004832405800010D8CF6C +:1053D0000500001B592404008C00050C0502000781 +:1053E0004C040000600018026004000005E1FED5D6 +:1053F0005C0008000501F012648664290509FBC8F9 +:105400000501F00F0519F8730502000D4C080000A6 +:105410004C040000050DF98A5C0008005C001000D7 +:105420000502000759A802398C0005140500000484 +:105430004C04000005C9F9AB5C000800B00405107D +:10544000B00005900500000805E5F8EC0500000631 +:1054500059CC00094803504A59CC000A4803504B24 +:105460000509F9075C00B0005C0280001C01F00037 +:105470004933C85759A81439820805800000FFFF36 +:105480000500000F4C08000005E5F8DC5C0010008A +:105490000502001259CC04088C000518050000090B +:1054A0008C08050A050000118C00051C0502000887 +:1054B0008C0805180502000D800005801C01F00015 +:1054C0008C08050805FE07FD0501F0088C08051885 +:1054D00005FE07FA0501F0059008053005020003F6 +:1054E0008C08050605FE07F54A0354390000FFFF46 +:1054F000420000000010D75F0515FEFF603030004D +:1055000061FC19FF601C20004D200000417A400022 +:1055100005D9F8FD5C0240004D4000004D3C000004 +:10552000600430000515FCAC60AA800060027804BD +:1055300005C5FC915C0280005C027800900005418A +:105540001C01F0004933C8574C580000593400136F +:105550008200150000FFFF00050000204803C85727 +:105560008200050000FFFFFF59CC100082081500E3 +:1055700000FFFFFF480BC8578008058005000006A4 +:105580008008058005000004420000000010D7F5E7 +:105590000501F01091CC140B6008B00091341C068A +:1055A0000501F8D905000004420000000010D7F6FC +:1055B0000501F00891CC140D6008B00091341C086E +:1055C0000501F8D105000005420000000010D7F7E2 +:1055D0000515FEC9900005415C00B0001C01F000FB +:1055E0004933C85759CC02069000059405020015AE +:1055F00059CC040782000580000008000502001154 +:1056000059CC02078C00051A0500000D8200050028 +:1056100000000F0082000580000001000502000864 +:1056200059CC020A8C000508050200038C00050A0B +:1056300005000003800005801C01F000900005417A +:105640001C01F0004933C8574943C857493FC85760 +:105650004C5C00004D3000004D3400004D2C00002B +:105660004D3800004130B8004202600000110E4089 +:1056700059A8002B816404800502108A8D3C051214 +:1056800005000004405C00008130058005000080BA +:1056900005F9FA2F0500007E5930040790000C929E +:1056A000050210155932680A0C01F001001096230A +:1056B000001095BE001095C7001095D1001095BE42 +:1056C000001095C7001095F700109605001095BDC5 +:1056D000001095BD0010960B001095BD001095BDF3 +:1056E000001095BD001095BD00109614001096177F +:1056F0000010961505B5FFE859300403B000058386 +:10570000050000630515FCF60505FDC405C40CBBCA +:105710000505FDD105FC0B1C0501F059593258094E +:105720000505FCCE0500005649425A0A497A5C0D2F +:105730000001FB7859300A2990040D8305040DA45B +:105740000501F04F813669C005B40FD3050DF9018D +:10575000593000088C0005000500000305BDF9E183 +:105760000501F004593002039000058405BC09DDF1 +:10577000593258090505FCB905000041592C0208A9 +:1057800082000500000000FF9000059405060D90C2 +:105790000509FE460005F9FA05E9FA854A025A08A4 +:1057A000000001035930040248025C0A592C040C21 +:1057B0008C000512050000054D2C0000592E580DD7 +:1057C00005B9FB635C02580049425A0A497A580DF0 +:1057D0000509FB210001FB780501F029593002037E +:1057E0009000058405BC09BF593258090505FC9B8A +:1057F0000500002349425A0A813669C0051609A7E7 +:105800000509FE2A0005F9FA0509FB130001FB78DA +:105810000501F01B59300203900005910502001CA0 +:1058200059300429480262030501F0195930020376 +:105830009000058405BC09AB593258090505FC8761 +:105840000500000F49425A0A0001FB780501F00CDF +:105850000501F00B5932581905B9FB3D59300203C7 +:105860009000058405BC099F593258090505FC7B49 +:105870000500000349425A0A0001FB7805F9FB7E46 +:105880008D3C051C05000002497A600A91326430A3 +:10589000415800008130048005FC17790501F002B1 +:1058A000415260008D3C05180500001159A8088878 +:1058B00059A80089800404800500000D813008008B +:1058C0004154000080040480050210095930000A88 +:1058D000800001C005FE076F593002039000058863 +:1058E00005FE076C0515FBD405FDF76A5C02700028 +:1058F0005C0258005C0268005C0260005C00B8005A +:105900001C01F0005C0000004C0000004803C85778 +:10591000480BC857480FC857485BC857500808007D +:10592000500C00008004258005020007800810004C +:10593000800C18008058B04005FE07F980000580F3 +:105940001C01F0004803C8574807C857480BC85700 +:10595000480FC8578004048005001004600400004C +:1059600090040D411C01F0004178000005FDF7FD99 +:10597000B138049305B61F48B138048B05B41F46EF +:105980000C01F0010010966A0010966A0010966AE9 +:105990000010966A001096690010966900109669CA +:1059A0000010966A05B5FF3C493BC8576436620350 +:1059B000493A640342000800800000000005F68EAA +:1059C000913805930502000B59300403B00005908F +:1059D00005B60F310505FFEF05000005643A6203C7 +:1059E00059A8004E480262051C01F0000005F7BDF1 +:1059F0004933C857913805A7050200274933C857CE +:105A000005F1FBE04D3C0000417A780005C5FBB490 +:105A10005C027800420000000010D8120515FDB6A7 +:105A20004D2C0000593258090505FC0C492FC85768 +:105A30000500000D0509FD9D05E9F9DD4A025A083A +:105A40000000010359300C0248065C0A64A65A0A99 +:105A5000497A580D592C0C0C84040D5048065C0CE6 +:105A60000001FB785C025800605430004178280047 +:105A7000600C20004D4000004D44000059368C035E +:105A800060A680000509FCEB5C0288005C028000D7 +:105A90000005F7BD9138059405020009593004034B +:105AA000B0000C9305B61EFCB000048005B41EFACD +:105AB0004933C8574803C8570C01F013B13805A142 +:105AC00005000003B13805A00502000705F1FFF845 +:105AD00005FA034D593002039000058E0504059424 +:105AE0001C01F000B138059305000006B1380588A7 +:105AF00005B60EE959300403B000059005B60EE670 +:105B00001C01F000001096D5001096D4001096D419 +:105B1000001096D4001096D4001096D4001096D49D +:105B2000001096D4001096D4001096D4001096D48D +:105B3000001096E7001096E7001096E7001096E731 +:105B4000001096D4001096E7001096D4001096E747 +:105B500005B5FED14933C85705F1FB8A0505FBBFE2 +:105B6000000407BD4D2C0000593258090509FD4FAE +:105B700005E9F98F4A025A0800000103593004026E +:105B800048025C0A641A5A0A497A580D0001FB78E7 +:105B90005C0258000505FC8E0005F7BD4933C85767 +:105BA00005F1FB780005F7BD05B5FEBB59300008CF +:105BB0008C000536050200045930001E800001C02B +:105BC000050A0C8B497A6205593000048C00053EA9 +:105BD0000502003B0509FD49050200F0593258094C +:105BE000592C0C0C59CC280882141D0000000C0004 +:105BF0000500000259CC180984040D5848065C0CB5 +:105C00008214350000008FFF05020034593000086F +:105C10008C0005360500000F60303000604438000D +:105C2000901409C04806580D4C5C0000592CB8056A +:105C30000009F8904D2C0000405E580005B9FA3B71 +:105C40005C025800497A58055C00B8000501F01361 +:105C5000593402008C00050E050200C60009F880C8 +:105C60000502000664025A0A593000130509FD189E +:105C700080000D4005020A554A025A08000001033F +:105C80004806580B480E580E901409C04806580D87 +:105C900059300C0248065C0A0509F9EF0509F9F2CA +:105CA0000001FB780509FD0105E1F83859CC000831 +:105CB0008C000518050605650005F7BD05F1FF7C9C +:105CC00005FC07C54D3C0000600A78000501FED2C6 +:105CD0005C02780005FDF7C04817C857480FC85741 +:105CE00082180500000000FF0500000D592C020875 +:105CF00082000500000000FFB000058805000003D9 +:105D0000900005A205020006592C040B800001C07A +:105D1000050000030509FB450509F37C82180D0009 +:105D200000000C0005000007593000088C00053603 +:105D300005020004593402008C00050E0502007CA7 +:105D400064025A0A417820008C18051005000009E9 +:105D500059CC200B801021C00500000659CC000C46 +:105D600082000500000000FF050000024803C8573C +:105D700048125810417800008C18051205000002E6 +:105D800059CC000A4802580F80100C004004300023 +:105D900040043800050000269004149D05001005FD +:105DA000592C04088C00051E0500002860700800AE +:105DB000593000088C00053605000028901834037F +:105DC00080183104901C3C03801C39049018340C5A +:105DD000901C3C114C5C0000901401C04802580D0E +:105DE000480E580E592CB8054C0400000009F890D4 +:105DF0005C0008004C5000004C54000091CCA40CF6 +:105E0000912CAC110501FE305C00A8005C00A000E4 +:105E10004D2C0000405E580005B9F9C45C025800E2 +:105E2000497A58055C00B80005FDF79C5930000818 +:105E30008C00053605FC078A480E580E603030008D +:105E40006044380005FDF777593000088C000536AE +:105E50000500002005FDF7D74C0400004C0C0000A5 +:105E60004C1400000009F8800502000664025A0A7A +:105E7000593000130509FC9680000D40050209D336 +:105E80005C0028005C0018004A025A080000010368 +:105E90004806580B480E580E901409C04806580D75 +:105EA0005C0008004C5000004C54000091CCA40C45 +:105EB000912CAC110501FE045C00A8005C00A00060 +:105EC00059300008840005344802600805FDF77168 +:105ED0004C0400004C0C00004C1400000009F88039 +:105EE0000502000664025A0A593000130509FC78BD +:105EF00080000D40050209B54806580B5C002800DB +:105F00005C00180059301402480A5C0A480E580E0A +:105F1000901401C04802580D0509F94F5C000800B3 +:105F20000501FDA10501FDCD05FDF75F592C020E10 +:105F30008C00050205FC0783592C020C8C00050E11 +:105F400005FE078059300013800C0D8005FC077D8D +:105F50004803C857480FC8578C180514050404F7A0 +:105F60008000054005FC07774807C8560505F4F38F +:105F7000592C020E8C00050205FC0739593000131C +:105F8000800001C005FC0738592C020C8C00050E5E +:105F900005FE07350505F4E91C01F00059CC200683 +:105FA00059CC28070501F0540501F0531C01F000FD +:105FB0004933C857593000048C00053E050200459E +:105FC000593000088C000536050200045930001EC7 +:105FD000800001C0050A0B86497A620559325809CA +:105FE000592C0C0C417828004178180084040D5875 +:105FF00048065C0C41783000593000088C000536AA +:106000000500000F901401C04802580D60303000A8 +:10601000604438004C5C0000592CB8050009F89029 +:106020004D2C0000405E580005B9F9405C02580054 +:10603000497A58055C00B8000501F0155934020092 +:106040008C00050E050200180009F8800502000703 +:1060500064025A0A593000130509FC1D80000D40E6 +:106060004807C857050209594A025A0800000103A7 +:106070004806580B480E580E901409C04806580D93 +:106080004933C85759300C0248065C0A0509F8F232 +:106090000509F8F50001FB780509FC0405DDFF3B67 +:1060A0000005F7BD592C020E8C00050205FC07E720 +:1060B000593000134803C857800001C005FC07E5AC +:1060C000592C020C8C00050E05FE07E20505F49B19 +:1060D00005F1FE7705FC07BB4933C8571C01F000EA +:1060E0004933C857593000088C00053605B40D6A8D +:1060F0000501F2074C5C00004C6000004010B80045 +:106100004014C00059325809593000088C00053637 +:106110000502000B5930001E800001C04C14000025 +:10612000050A0B335C002800592C020E8C00050276 +:10613000050200338C00050005000038640A620384 +:10614000650E6403405C0000592C081380040C8029 +:1061500040600000800404800500102D8060C1C0F4 +:1061600005000024593000048C00050E05000007CE +:1061700059300A23900405034C1400000C01F8293F +:106180005C0028000500001B593000048C00053E0F +:1061900005020014485E601548626013497A620582 +:1061A0005C00C0005C00B8004C1400000505FDF95F +:1061B0005C002800050000074816602A4A02601C9F +:1061C000001098721C01F0005930282A497A602A80 +:1061D00005BDF81C0502000C593008040005F680C6 +:1061E0004C14000005F1FE325C00280005FC07EAB3 +:1061F0005C00C0005C00B80005F9F1835C00C000E1 +:106200005C00B8004933C8571C01F0004807C85764 +:106210004004C00005FDF7D24803C85705FDF7F557 +:106220000010988C00109891001098960010989685 +:1062300059300224480350BE90000408480350BD62 +:106240000501F00A59300224480350BD90000408AB +:10625000480350BE0501F00559300224900004089F +:10626000480350BD480350BE405C10004178080010 +:1062700059A800BD05EDFCF0800409C005020052DC +:1062800040085000592C1001800811C00500004E34 +:106290005808020882000500000000FFB000058ACF +:1062A000050200494828100559A800BD40601000AB +:1062B000417808004C28000005EDFCDF5C00500030 +:1062C000800409C0050200384004180059A800BE27 +:1062D000593008048C0405300500000559300827A2 +:1062E000800800C64800080659300224800C1C00B3 +:1062F0008008104005FE07FE480E602C592C48010E +:10630000802449C005B40CE458240A09592C1815F6 +:10631000593030238C180506050000034028000082 +:1063200080040C00800400E08004054048026021E5 +:106330008C18050A0502000340280000800C1C0090 +:10634000480E601F593008048C0405300500000E0B +:106350004C280000592C100159306827592C5A0E2E +:106360000005F9A85C005000802851C005BE0D381A +:106370000502001559300827580400064978080618 +:106380004800081059300224593030238C18050E6B +:106390000500000280000580480264249000054149 +:1063A0001C01F000592C1813805C0418800C058027 +:1063B00005FC07C64933C857485FC8574863C857E4 +:1063C000480FC857800005801C01F000B1380498C0 +:1063D00005021063B1380480050010020C01F002C0 +:1063E0001C01F00000109911001099110010991172 +:1063F00000109911001099110010991100109911B5 +:1064000000109911001099110010991100109912A3 +:106410000010991100109911001099110010991194 +:106420000010991C00109911001099110010991179 +:10643000001099110010994700109911001099113E +:106440000010991105B5FC944933C85705F1FC2893 +:10645000640A620359A8004E4802620559300013CD +:106460005930081780040C804806601705F1F128A0 +:106470004933C85705F1F9264D3C0000417A7800B0 +:1064800005C5F9175C027800420000000010D81220 +:106490000515FB190505F971050000104D2C0000CC +:1064A000593258090509FB0105E5FF414A025A081E +:1064B000000001035930040248025C0A64A65A0A2B +:1064C000497A580D592C0C0C84040D5048065C0C6C +:1064D0000001FB785C0258006050300041782800D1 +:1064E0004D4000004D44000059368C0360082000E8 +:1064F00060A680000509FA4F5C0288005C028000FB +:10650000593000088C00053605000004593000049D +:106510008C00051605F800580005F7BD4933C8572B +:1065200059CC0A0448066202593008094978080D16 +:106530004978080E5804140C8408155848080C0CA7 +:10654000593000088C000536050000045804040C7E +:106550008400054248000C0C1C01F000B13805A174 +:106560000502001405F1F9AD0501FDC10502000C9D +:1065700005F1FE9305FC07FF811800CA81C80C00D5 +:106580005804013859CC0A0380000040800405807B +:106590000502000705F1FE840500000559300C16C0 +:1065A00084040D4448066416497A620505F1F18CAD +:1065B000B13805A005FE07FE59CC00028C00052667 +:1065C00005FE07E905FDF7FA4807C8578C04053EA4 +:1065D00005020022497A5A0A5930002B80000540F2 +:1065E00005000017497A5A0A4C0400004C080000C4 +:1065F0004C0C00004C1000004C140000400028001F +:106600005814100340040000800814804808280330 +:106610004014000005B9FCFA5C0028005C00200072 +:106620005C0018005C0010005C000800592C020A95 +:1066300080000540050200080501F005592C040CF6 +:106640008C00051C05000002592C08064807C85795 +:1066500064565A0A1C01F0005930002B8000054096 +:106660000500000764465A0A5930002B4C0400000C +:1066700005B9FCE35C00080005FDF7F74807C856BC +:10668000641E5A0A1C01F000B13804980500100677 +:10669000B13805A105000003B13805A005B60BFE11 +:1066A0001C01F000B1380480050010044D2C0000DE +:1066B0000C01F8035C0258001C01F000001099C79F +:1066C000001099C7001099C7001099C7001099C70A +:1066D000001099C9001099C8001099C700109A437A +:1066E000001099C7001099C7001099C7001099C7EA +:1066F000001099C7001099C7001099C7001099C7DA +:10670000001099C7001099C700109B2100109B52E0 +:1067100000109B31001099C800109B5B05B5FBDE93 +:106720001C01F0005930001E800001C0050A09B0AC +:10673000593000088C00050E050000748C0005001F +:10674000050000668C00051C05000008840005009B +:106750004802600859325809592C3C0C841C3D5899 +:10676000481E5C0C0009F01A59325809592C3C0C8F +:10677000841C3D58593000088C00051C05FE07F4A8 +:10678000481E5C0C601400004000000080000040C7 +:1067900005FE07FE593000088C00051C05FE07ECBD +:1067A00059CC0A044806620259CC0808592C020840 +:1067B00082000500000000FFB0000588050000030E +:1067C000900005A20502000A497A580F82040500CC +:1067D000000000FF05000006592C040B800001C0DA +:1067E000050000030509F89105B9F579900421C069 +:1067F0004812580D417820008204050000000C006A +:106800000500000259CC20098204350000000FFF6A +:106810000502001E481E5C0C64025A0A801831C032 +:1068200005B8056B417820008C18051005000002A2 +:1068300059CC200B48125810417800008C180512D2 +:106840000500000259CC000A4802580F80100C00C5 +:1068500005B41B9105B8055E9004149D050210094E +:106860004C5000004C54000091CCA40C912CAC1165 +:106870000501FB955C00A8005C00A00005B9F5547B +:106880000501FB4905B9F552412C780005B5FF1704 +:1068900005B40B81492C780D841C3D52481C7C0C9E +:1068A0004A025A08000001034812580E900401C021 +:1068B0004802580D583C0408583C1009583C220C1A +:1068C00048025C08480A580948125A0C583C000211 +:1068D0004802580205FDF7D08C00052405FC079CF2 +:1068E000593258094C000000592C040C8C00051C2E +:1068F0005C000000050200034A026013FFFFFFFF77 +:106900008400052405FDF7921C01F00059A8004EF3 +:106910004802620559325809640A6203592C240C52 +:10692000593008084933C8574807C857592C020836 +:1069300082000500000000FFB0001DB50502000642 +:10694000592C1A0E8C0C05060500000364025A0A25 +:106950000501F00AB000058805000003900005A2BB +:10696000050200038C100500050A006864025A0A3B +:106970008C04051E0500004441780800497A580D32 +:10698000592C1C0D593000088C00052C0500000303 +:106990004A0260137FFFFFFF8C00053605000012DE +:1069A0004178280060303000604438004C0C000012 +:1069B0004C1000004C5C0000592CB8050009F89000 +:1069C0004D2C0000405E580005B5FED85C02580012 +:1069D000497A58055C00B8005C0020005C00180093 +:1069E0000501F0175930001359341200497A620535 +:1069F0008C08050E0502006C4807C85740041000BB +:106A00000509F9B3480A580E80000D4005FE0EEF47 +:106A10005930040248025C0A4806580B4A025A08D8 +:106A2000000001034C040000592C0A0C8C040512D0 +:106A30000500000264325A0A5C0008004C040000A1 +:106A40004C0C00004C1000000505FE830509F99769 +:106A50005C0020005C0018005C0008008C1005122F +:106A6000050200174C0C00000505FE7F0001FB78B5 +:106A700005DDFCC65C0018008C0C0518000407BD81 +:106A80000505F1F24813C8578C100518050000449D +:106A900041780800592C1C0D820C05800000100064 +:106AA00005FC07B98C10051205FC07B7592C780DA9 +:106AB000583C080E583C1C0D05FDF7B34807C85755 +:106AC000592C780D59300402592C14088C08051ED5 +:106AD0000502000C592C120A48007C0A4804780B65 +:106AE00048087A0A8410251248107C0C4C0C0000CF +:106AF00005B5FE97403E58000501FAD805FDF7DDC3 +:106B000048025C0A4806580B583C0810583C000FD5 +:106B100080040C009004149D05001005583C1001E1 +:106B2000480A5801497878016070080090040C14F4 +:106B30004C0C00004C5000004C540000903CA40C45 +:106B4000912CAC0C4C1000004C3C00000501FADE0E +:106B50005C0078005C0020005C00A8005C00A000E5 +:106B60008410251248125C0C403E580005B5FE7892 +:106B70000505FE39420340000010D0C459A1D806D3 +:106B800080EDD9C005B40AC448EFC85758EC0009D5 +:106B90004803C8570801F80005FDF7B64933C85740 +:106BA0001C01F00059301416480BC8578C08051CFE +:106BB0000502000E800005404803C85705FC078FFA +:106BC00080042C8005FE178D8C0805140502000535 +:106BD000592C08134807C8578004048048026018DD +:106BE0008408155C480A6416593010088408151E7C +:106BF000480A60084C1000004C3C00004D4000006A +:106C0000592E820A64065A0A0505FE1349425A0A99 +:106C10005C0280005C0078005C002000497A580D1E +:106C20008C100512050000054D2C0000403E580058 +:106C300005B5FE475C02580082102500FFFFEDFFFE +:106C400048125C0C59301006800811C0050401BBC5 +:106C500059A8004E80080480050611B80509F913EB +:106C600005E5FD534A025A0800000103641A5A0A56 +:106C7000497A5C0D492FC8570001FB7805DDFC43BC +:106C80000005F7BD59325809592C040C8C00051821 +:106C900005000003412DF80005B9F465592C0208E0 +:106CA00082000500000000FFB0001DB505020005D0 +:106CB000592C1A0E8C0C05060500000205FDF71470 +:106CC0001C01F0004933C85759325809497A580D08 +:106CD00064025A0A4A025A08000001035930081394 +:106CE0004807C857800409C00502000A4806580B27 +:106CF00059300C0248065C0A0505FDD70509F8EB7A +:106D00000505FDD90001FB7805DDFC200005F7BD78 +:106D1000593402008C00050E05020007593000139B +:106D20000509F8EB80000D4005FDFE284806580BCC +:106D300005FDF7F0592C020C8C00050E05FE07F836 +:106D40004933C8570505F17D4933C85759325809A9 +:106D5000812E59C005B40A50592C020E8C00050230 +:106D600005B40A4D640A60061C01F0005930001E8B +:106D7000800001C0050A081E593000084933C85771 +:106D80004803C8578C00050E050000348C00050030 +:106D9000050000268C00051C050000098400050084 +:106DA0004802600859325809592C3C0C481FC857F2 +:106DB000841C3D58481E5C0C0009F01A59325809D1 +:106DC000592C3C0C841C3D58593000088C00051C83 +:106DD00005FE07F3481E5C0C601400004000000034 +:106DE0008000004005FE07FE593000088C00051C9D +:106DF00005FE07EB592C020882000500000000FF89 +:106E0000B000058805000003900005A205020003FC +:106E1000497A580F0501F002497A580D481E5C0C5A +:106E200064025A0A05B9F3EA8C00052405FC07DC64 +:106E3000593258094C000000592C040C8C00051CD8 +:106E40005C000000050200034A026013FFFFFFFF21 +:106E50008400052405FDF7D21C01F0004933C85712 +:106E600041780800B138049805021009B13804804F +:106E7000050010074D2C000059325809812E59C0C9 +:106E80000C0208055C0258000005F7BD493BC857D5 +:106E90001C01F00000109BBD00109BBD00109BBDAD +:106EA00000109BBD00109BBD00109BBE00109BBD41 +:106EB00000109BBD00109BBD00109BBD00109BBD32 +:106EC00000109BBD00109BBD00109BBD00109BBD22 +:106ED00000109BBD00109BBD00109BBD00109BBD12 +:106EE00000109BBD00109BC100109BBD00109BBDFE +:106EF00000109BBD05B5F9E859CC0808497A580B34 +:106F00004807C8575930040248025C0A4A025A0826 +:106F100000000103900401C04802580D64025A0A9F +:106F2000800409C00000037859CC00094802580EBB +:106F300082042500000001000500000259CC200B4E +:106F400048125810820405000000020005000002EB +:106F500059CC000A4802580F80100C0005B419CE15 +:106F6000000003789004149D05001005592C0408B6 +:106F70008C00051E0500000A607008004C500000DF +:106F80004C54000091CCA40C912CAC110501F9CE0D +:106F90005C00A8005C00A0000001F3780501F98204 +:106FA0000501F1AE833804800000009305B619BADC +:106FB000833804800000008505B419B70C01F00186 +:106FC00000109BFE00109BFD00109BFD00109C0319 +:106FD00000109BFD00109BFD00109BFD00109BFD11 +:106FE00000109BFD00109BFD00109BFD00109BFD01 +:106FF00000109BFD05B5F9A864066203493A6403D5 +:1070000042000800800000400005F68E83300580B5 +:1070100000110DE005B609A04933C85759CC140436 +:107020000505FB170500002C591C02039000058084 +:1070300005000029591C000A81340580050200263C +:1070400059CC1204820805800000FFFF05000007EC +:10705000591C020282000D800000FFFF05000003A2 +:10706000800805800502001C4D3000004D1C00000A +:10707000411E60000501F9DF5C0238005C0260001F +:107080000500001359CC00058C0005000502000323 +:107090000501F9940501F002640A3A034A02640307 +:1070A0000000008659CC00058C0005000500000C8E +:1070B000591C04168400055A48023C16593004161F +:1070C0008400055A480264160501F0050501F9BC63 +:1070D00005FC07ED4A026403000000874D2C000008 +:1070E0000511FDEC05DDFE625C025800593402001A +:1070F0008C00050E0500000B59CC14040505FAE0C0 +:1071000005000008591C04168C00051A050000052E +:107110004D300000411E60000505F89A5C026000D9 +:107120001C01F000913805930502000A5930040350 +:107130004803C85782000D80000000860500001536 +:1071400082000D800000008705B609530501F0118B +:10715000913805A7050000039138059405B6094E3E +:10716000493BC85705EDFE070501FE3C05F4054205 +:107170004D2C0000593258090001FB7859300A297A +:1071800090040D8305000F125C02580005F5F53AD6 +:107190004933C8570505F9FF05F605370005F7BD62 +:1071A0009138059305020006593004034803C85777 +:1071B00082000480000000850C01F04C913805A786 +:1071C000050200404933C85705EDFDEE593004165D +:1071D0008C00051A050200020005F7BD4D3C0000B9 +:1071E000417A780005C1FDBE5C0278006054300031 +:1071F00041782800600C200060A680004D4000000F +:107200004D44000059368C030505FF0A5C028800D6 +:107210005C028000420000000010D8120511FFB689 +:107220000501FE0E000407BD4D2C0000593258091F +:10723000592C020882000500000000FF9000059410 +:1072400005020EE30505FF9905E5FBD94A025A0838 +:10725000000001035930040248025C0A497A580DC3 +:1072600049425A0A0001FB785C0258000005F7BD4C +:10727000B13805A105000009B13805A005000007D7 +:1072800083380580000000890500000483380580EC +:107290000000008A05F6055C05F1FA0505F6055AB9 +:1072A00059300A039004058E050007929004058A60 +:1072B0000500003C9004058C0500003A05B5F8F681 +:1072C0009138059405FE07EB4933C85705EDFDAD30 +:1072D000593004168C00051A050200020005F7BD9E +:1072E000601A800005FDF7CF00109CC800109CC7F5 +:1072F00000109CC700109CC700109CC700109CC7C2 +:1073000000109CD800109CC700109CC700109CC7A0 +:1073100000109CC700109CC700109CC705B5F8DE84 +:107320004933C8570505F99B0500000A643A620312 +:1073300059A8004E48026205593004168C00051AFF +:107340000502000359A8004C480260061C01F00029 +:1073500059A8004C48026006642A62031C01F00030 +:107360004933C8570505F98B0500000A643A6203E2 +:1073700059A8004E48026205593004168C00051ABF +:107380000502000359A8004C480260061C01F000E9 +:1073900059A8004C48026006643262031C01F000E8 +:1073A0005932680A8338058000000089050000070B +:1073B000833805800000008A0500002C4933C85737 +:1073C000493BC85705F5F5104933C8575932580994 +:1073D000593004168C00051A0500000B593002299B +:1073E0009000058305B608AC640E64075930042983 +:1073F00048026203593402008C00050E050207E1C1 +:107400001C01F00059300A29900405830502000789 +:107410000501FD920500000D0001FB7805DDFA5B1A +:10742000497A60090501F009593002299000058167 +:107430000502000659300C18900405B90500001922 +:10744000900405B50500001759CC0C074806641BCD +:1074500059CC0A074806621B5930020348026429C6 +:107460006446620305F5F4844933C857593004165D +:107470008C00051A000607BD5930022990000581CD +:107480000502003F59300C18900405B505000005B1 +:107490009004059E05000003900405B9050200381C +:1074A0004933C8574C5C00004C6000004D1C000084 +:1074B0004130B8004004C0000505F9AE0502002BBC +:1074C000906005B505020004591C0C168C040502D9 +:1074D0000500002605F5FC9B05000024491FC85740 +:1074E0004933C857906005B505000003906005B9A1 +:1074F000050200024932381E585C081D4806601D0E +:10750000486264036406620364066407585C080A00 +:107510004807C8574806600A585C0C174807C85700 +:1075200048066417585C0A174807C8574806621788 +:10753000585C0A184807C85748066218585C0C1B64 +:107540004807C8574806641B585C0A1B4807C857B9 +:107550004806621B491E602A0505F8FF4200080024 +:10756000800000400005FE8E405E60005C02380036 +:107570005C00C0005C00B8000005F7BD0501FD37E8 +:10758000050000084D2C0000593258090001FB7815 +:10759000593002299000058305DC09FC5C02580083 +:1075A0000005F7BD4803C8564C5000004C5400007D +:1075B000412C78004C3C00006004280082040480C8 +:1075C00000000101050010026000080240043000C4 +:1075D0006070080091CCA40C912CAC110501F83A14 +:1075E0009018349C592E5801812E59C005B60BD8DD +:1075F00005B5FBBE05000011801428004A0258089A +:1076000000000110492C780190180CBD05021005EE +:1076100040180800912CAC090501F82B0501F00772 +:10762000901834BC60F00800412C7800912CAC0913 +:107630000501F82505FDF7EF5C007800841429C0EA +:1076400090142D4348147A08403E58005C00A8006E +:107650005C00A0001C01F000492FC857812E59C0C2 +:1076600005000011592C28024D2C00004C3C000054 +:10767000592C7801803C79C005000008497A5801EE +:107680004C1400000001FB78403E58005C002800CC +:107690004816580205FDF7F75C0078000001FB78FA +:1076A0005C0258001C01F0004803C8564C5800000A +:1076B000900404038000B1040511FF5A5C00B0007F +:1076C0001C01F0004803C8564C58000090040C03FD +:1076D0008004B1040511FF535C00B0001C01F000F0 +:1076E000591C0C07900405830500000590040582D1 +:1076F000050000039004058A050200224D300000B9 +:107700004D2C0000411E6000593258090501FCD380 +:107710000500001959300C079004058A0500001A6D +:107720009004058305020007592C0A0882040D0005 +:10773000000000FF90040D9405000002640E622911 +:107740000501F8144D400000604E8000592C0A0CD1 +:1077500084040D5405DDFDD65C0280000505FB3E6A +:107760000505FE520001FB7859300229900005837F +:1077700005000D9705F5FBC05C0258005C02600037 +:107780001C01F000644E5A0A642A622905FDF7F4D0 +:10779000592C040C8C000512050000088400051209 +:1077A00048025C0C4D2C0000592E580D05B5FB68A5 +:1077B0005C025800497A580D1C01F00059CC0005B4 +:1077C0008C0005000502000A591C04079000058280 +:1077D00005020007591C0C03820405800000008587 +:1077E00005000003820405800000008B1C01F000EE +:1077F0004933C8574D3C0000600A780059300407EF +:1078000090000C9205B21FA40C01F8085C027800ED +:107810001C01F0004933C8575930040790000C92FE +:1078200005B21F9D0C01F00100109E2000109E1D4E +:1078300000109E1D00109E4F00109E1C00109E1DEB +:1078400000109E3200109E1D00109E1C00109E1CF9 +:107850000010ACB600109E1D00109E1D00109E1C56 +:1078600000109E1C00109E1C00109F3600109E1DD4 +:1078700005B1FF894803C856800005801C01F0004F +:107880004803C8568D3C05020502000F0501FC7334 +:107890000500000B593258090505FE04417808001F +:1078A0004D4000006016800005DDFD815C02800017 +:1078B0000505FAE90501FDC70001FB7805F5FB6E3A +:1078C000900005411C01F0004933C8570501FC63D5 +:1078D00005000008593008095804020C8C000512F4 +:1078E000050000044D400000603280000501F00FEB +:1078F00005DDF8170500000B593004168400055605 +:10790000480264160501F80E4DF0000059300416C7 +:1079100084000516480264165C03E0001C01F000B8 +:107920004D40000060428000050DFBC5641A6407ED +:10793000641E62035C0280001C01F0004933C857DA +:1079400005EDFCB64DF000000501F8D490000C9157 +:1079500005B21F510C01F00100109E6800109EF14D +:1079600000109E7D00109EFF00109EEE00109E678E +:1079700000109E6800109E6800109E6B00109E68AC +:1079800000109E6800109E6800109E6800109E7D8A +:1079900000109E6B00109E6800109E6B05B1FF3EAC +:1079A0005C03E00005EC0C8E05FDF7B35C03E00022 +:1079B00005EC0C8B593004079000058305FE07B1D8 +:1079C000593002039000058D05FC07AE59300008C0 +:1079D0008C00050005BA09438D3C050205FE07A988 +:1079E0004D3400005932680A05DDF8E85C02680091 +:1079F00005FDF7A40509F857593000088C0005006B +:107A000005BA09380505FD93593000048400055C6A +:107A1000480260044203E000B08000006023F800E8 +:107A200005EDFC6F59300407900005860500005DE8 +:107A30008D3C05020502005F497A62295930020334 +:107A40009000058D05000002640E62290501FC030B +:107A5000050200048D3C0500050000470501F03FCC +:107A60004D2C00004D400000593258090501FD59C8 +:107A7000592C040C8C000512050000084D2C000048 +:107A80008400051248025C0C592C080D4006580071 +:107A900005B5FAAF5C0258004D400000601680004A +:107AA000592C0A0C82040500000000840500000A1D +:107AB000417A80008C04050E05000002600A8000F7 +:107AC0008C04050405000007834285400000020085 +:107AD0000501F0048C0405120500000260328000EC +:107AE000592C020882000500000000FFB00005B517 +:107AF00005020005592C020E8C0005060500000247 +:107B0000853E7D4005DDFCEA0505FD685C028000E0 +:107B10000505FA518D3C0500050200030511FE8B99 +:107B2000050200030001FB78497A60095C028000CD +:107B30005C0258008D3C05000500000A59300A29F6 +:107B400090040D83050200054D3400005932680A87 +:107B500005DDF88E5C02680005F5FAC70501F01135 +:107B60000511FE7A0502000459300A2990040D839C +:107B700005000C974A026403000000856426620336 +:107B8000640A640742000800800040400505FD319A +:107B90000005FE8E4203E000B08000006023F80084 +:107BA0005C03E00005EE0C1D900005411C01F00097 +:107BB0000505FD3E05FDF7FB05EDFC0905B9F8C916 +:107BC00005FDF78D598C000B8130058005020003FF +:107BD00005EDFF0E0502002205EDF8BF05020005C8 +:107BE00059300C03B004058005FC077105FDF782D0 +:107BF00005EDFB2E0500001A05B1FEA70501F81CD6 +:107C00000502000305EDFED10502001505E9FFD2CE +:107C10000500000F05EDFB25050000115930040794 +:107C20009000058305B20E9C593000049000051F9A +:107C30009000058505B20E9858D400EC820005002E +:107C400000000F0005FE076C05B1FE9359300C03D0 +:107C5000B004058005FC075605FDF767593002039F +:107C600090000C9105B21E8C0C01F73C417A30005B +:107C700060DF216059900005813005800500000615 +:107C800091932410811A30009118048505FC17FA8D +:107C9000900005411C01F000593000048C00053EA5 +:107CA0000500000C8C00050C0502000A8C0005166E +:107CB0000502000490000D1F9004058505020003D5 +:107CC000600C00000501F004600400000501F002F2 +:107CD000593002031C01F0004933C85705EDFBCFB2 +:107CE0004DF000005930020390000C9105B21E6A5D +:107CF0000C01F00100109F4F00109F6200109F5276 +:107D000000109F4E00109F4E00109F4E00109F4E7F +:107D100000109F4E00109F4E00109F4E00109F4E6F +:107D200000109F4E00109F4E00109F4E00109F525B +:107D300000109F4E00109F4E05B1FE575C03E000FF +:107D400005EC0BA705FDF6CC5C03E00005EC0BA4ED +:107D50004D2C00005932580959300403B0000592E7 +:107D600005B80D3A0501FB3D05B00E4B64165A0AE5 +:107D70000001FB7805DDFA9F05F5FA3F5C0258002B +:107D8000900005411C01F000598C000B81300580EA +:107D900005020016593000048C000520050000047F +:107DA00084000520480260040501F016420010001E +:107DB0000010D74A500810005808000282000580C1 +:107DC00000000100050000075808000C8130058004 +:107DD00005B20E3105EDF84005B20E2F05FDF7DBBB +:107DE00005EDFE8A0502000A593000048C000520CA +:107DF00005000004840005204802600405FDF7D357 +:107E000005EDF83505FC07D105B1FE235930020315 +:107E100090000C9105B21E200C01F7B74D34000004 +:107E20004D2400005932481D5932680A5930040760 +:107E30004933C8574803C85790000C9205B21E1624 +:107E40000C01F8045C0248005C0268001C01F000B0 +:107E500000109FA90010A0A40010A1F100109FB075 +:107E60000010A1DD0010A1ED0010BA030010A088E1 +:107E70000010A1D900109FA60010A24D00109FA6CF +:107E800000109FA600109FA600109FA600020FBD25 +:107E90000010AA450010AA4505B1FDFF0501FBEE43 +:107EA00005F801391C01F00005EDFB5C05EDFAB5A4 +:107EB00005EDFB4B0005F7BD640660061C01F000F4 +:107EC000420000000010D8210511FC8B4D2C000051 +:107ED0004D400000417A58000501FAE00500000716 +:107EE0000505FF1C59325809592C020C8400054C19 +:107EF00048025A0C601A800005EDFB4805FDFF673B +:107F00004803C85790000C9105B21DE30C01F80519 +:107F100005EDFB335C0280005C0258001C01F000A0 +:107F20000010A08700109FDA00109FE60010A02923 +:107F30000010A05700109FD900109FA900109FA902 +:107F400000109FA900109FD900109FD900109FD941 +:107F500000109FD900109FE600109FDA00109FD9F3 +:107F60000010A02905B1FDCC598C000B4803C8575F +:107F7000813005800502000305EDFE240502005A4C +:107F800005E9FFD50500005D4803C85605EDFA4731 +:107F90000500005505B1FDC0497A6229812E59C0FE +:107FA00005B00DBD592C0A084807C85782040D00BA +:107FB000000000FF9004059405000018B00405B50A +:107FC00005020014593000088C0005000502006409 +:107FD000592C0A0E8C0405060500000E592C0C0CB9 +:107FE0004C040000592C0A0C05DDFBB15C000800B4 +:107FF0008C040510050000034A025C0C000001001F +:108000000001FB780501FB72497A600905F5F19AD8 +:10801000640E62290505FC25592C0C0C4C0400004B +:10802000592C0A0C05DDFBA25C0008008C0405102D +:10803000050000034A025C0C000001000505F9067A +:108040000511FD42050200060001FB7859300A299E +:1080500090040D8305000B5E497A60094A026403AF +:108060000000008564266203640A6407593008042E +:1080700082040D00000001000505FBF682040D409E +:1080800080004040480660044203E000B0800000E9 +:108090006023F80005EDFAD242000800800040405D +:1080A0000005F68E05FDFEF20502000305EDFDA7B5 +:1080B0000502000D05E9FEA80500000605EDF9FB27 +:1080C00005000009593000044803C85705FDF7B3FF +:1080D00059300C034807C857B00405800500000755 +:1080E00005FDF7AE593002034803C85790000C91C4 +:1080F00005B21D690C01F78B05EDFAB9812E59C047 +:10810000050000150505FBE9592C0C0C4C0400007A +:10811000592C0A0C05DDFB665C0008008C04051078 +:10812000050000034A025C0C000001000505F8CAC6 +:108130000001FB78593002039000058D0500000610 +:1081400005EDFAA74D3400005932680A05D9FF0F32 +:108150005C02680005F5F9480501F031812E59C02F +:1081600005B00D4D0501FEC00502000305B5FF5D1C +:1081700005FDF78A05EDFA9A592C020C8400050CCE +:1081800048025A0C592C040A800000C2800008C41E +:1081900080040C0048066006420000001000000049 +:1081A0004130080005B5FC3B05000013592C020CBA +:1081B0008C00051C050200058400055C48025A0C71 +:1081C000640A60060501F01659C8000180000540E8 +:1081D0000502000642000000400000004130080097 +:1081E00005B5FC2C0501F0044D30000005B9FE98E2 +:1081F0005C026000593000088C000536050200045E +:108200005930020390000584050200054D38000036 +:10821000612270000005FFDB5C0270001C01F000B1 +:108220004D3400004C5C0000593002039000059171 +:10823000050200145932680A4130B8000005FFA059 +:108240000500000F64066203647A6403585C041B33 +:108250004802641B585C021B4802621B4936600AD4 +:10826000585C001D4802601D0501FDBB64066407E3 +:1082700042000800800000400005FE8E405E600065 +:108280000005FFBD5C00B8005C0268001C01F00046 +:10829000420000000010D81D0511FB970511FA0ED1 +:1082A0005930020390000C9105B21CFB4803C857DB +:1082B0000C01F0010010A0BE00109FAE0010A0BF86 +:1082C0000010A0BE0010A0BF0010A0BF00109FAA09 +:1082D0000010A0BE00109FA70010A0BE0010A0BEFE +:1082E0000010A0BE0010A0BE0010A0BE0010A0BFD5 +:1082F0000010A0BE0010A0BE05B1FCE783340580CD +:108300000010F5CD05F400DC4D2C000059340400BC +:1083100082000500000000FF90000C8C05B21CDEFE +:108320004C0000000505FD4D5C0000000502000A40 +:1083300059300009800001C00502000405F5F8CE9F +:108340000505FD4D0501F01005F9F80F05F5F8CA12 +:108350000501F00D59303403B0180D910500000CE3 +:1083600090180D8405020003600400000501F0046C +:1083700090180D8005020002600400004803C857F1 +:108380000C01F8235C0258001C01F00042000000C0 +:108390000010D8190511FB5805C1FC3C59340412D2 +:1083A00082000500000000FF05000016800000406C +:1083B00048026C124D30000005F5F8E25C00000048 +:1083C0000500000F641C04074A0000060000039823 +:1083D000492388304A038832FFFFFFFF4926601D8A +:1083E000497A60094936600A6406640764066203D4 +:1083F000654664035C02580005E9F57240026000BE +:108400005C025800600428000505F5AE0010A10FBD +:108410000010A19A0010A1100010A1460010A11098 +:108420000010A1AF0010A1100010A1170010A10FA3 +:108430000010A1AF0010A10F0010A12205B1FC9601 +:108440005930040390000D960500003290000D8411 +:108450000500003090000D820500002E0501FA7E17 +:108460000500002C5930040390000DA20500009671 +:1084700090000DB90500009D90000DB50500009B12 +:1084800090000D9E050000240501F974050000050B +:108490000501FFE60502000305D9FEC20501F01D36 +:1084A0005930040390000D810502000F5930081D5A +:1084B000580402008C0005000504057D5930080AA7 +:1084C0005804040382000580000007FE0502000432 +:1084D000600428000505FD7B0005F7BD05D9FE8673 +:1084E0000500000C5934040382000480000007F0EA +:1084F000050210094D3C0000417A780005C1F8F8EA +:108500005C027800420000000010D8120511FAFA4F +:1085100005F5FF9D05F5F0580501F950050000032C +:108520000501FFC20500008259300C039004059636 +:1085300005000049900405820502002D59A8023962 +:108540008C0005020502000C05DDFCAC0502000AEA +:1085500005DDFCBC050200046004000005DDFC80B4 +:108560000501F073640750326006D80005DDFC2673 +:108570000501F06F593402008C0005080500000762 +:108580008400050848026A0059300416840005106A +:10859000480264160501F0115934041282000500E6 +:1085A000000000FF050000128000004048026C122D +:1085B0005932481D497A62054D30000005F5F861D1 +:1085C0005C0000000500000949780009641C0407EC +:1085D0004A000006000003984926601D4936600ADB +:1085E000640664070501F01C400260005930040372 +:1085F00090000D820502000E5934040382000580AC +:10860000000007FE0502000759A802398400054052 +:108610004803523905D5FE4605F5FF5B0501F00C10 +:10862000600C000205F5FAA405F4001305F5FF56E9 +:108630004D3C0000417A780005C1F8A95C02780041 +:10864000420000000010D8120511FAAB05C1F8EB8A +:1086500005F5F009600C080005D9F902640662030B +:10866000640A640305E9F4D70501F8FC05FE07A9CF +:1086700005C1F8E24D3C0000417A780005C1F89848 +:108680005C027800420000000010D8120511FA9A2E +:108690006060300041782800600020004D400000FC +:1086A0004D44000059368C0360A680000505F9E1B1 +:1086B0005C0288005C02800005F1F7EF05D9FE3905 +:1086C00005FDF7DB420000000010D81C0511FA8AF6 +:1086D0006014000205F5FA7805FC07D505F5FA9552 +:1086E00005FE07D31C01F00059300C030501FD21E4 +:1086F000000607BD916C058305000003640A60064F +:108700001C01F00059300403480264186406622911 +:108710004A0264030000008564266203640A640759 +:1087200042000800800000400005F68E05F5FF16A7 +:108730004D3C0000417A780005C1F8695C02780080 +:10874000420000000010D8120511FA6B497A600946 +:10875000641E64074A02600600000398497A6205B5 +:108760001C01F000420000000010D8230511FA623D +:1087700005FDF6C8420000000010D81E0511FA5E83 +:108780000511F92B0502000A59300009800001C0CB +:108790000502000405F1FFB80505FC370501F003EB +:1087A00005F5FEF905F1FFB41C01F0000511F8CA4A +:1087B00005F1F7B1420000000010D8200511FA4E73 +:1087C0001C01F000420000000010D81F0511FA4AF9 +:1087D0005930020390000C9105B21BAF4803C857F3 +:1087E0000C01F0010010A20A00109FAE0010A20AB6 +:1087F0000010A20A0010A20A0010A20A0010A20A89 +:108800000010A20A0010A20A00109FAE0010A20BD6 +:1088100000109FAE0010A2150010A20A0010A20BBB +:108820000010A20A0010A20A05B1FB9B59300403F4 +:10883000820005800000008B050000074A026403E7 +:108840000000008B642E620342000800800040405C +:108850000005F68E59300A290501F8800500000B45 +:108860004D2C000059325809641A5A0A497A5C0D95 +:108870000001FB7859300A2990040D8305D80D4377 +:108880005C025800497A60094D3C0000417A78004A +:1088900005C1F8135C02780060443000050DFFBD8F +:1088A000420000000010D8120511FA134C5C0000C1 +:1088B0004130B80005F1FFA3050000094936600A00 +:1088C0004926601D0501FC244D300000405E60001B +:1088D00005F1FF695C0260000501F002405E600086 +:1088E0005C00B800497A60096406640764066403A2 +:1088F000592404008C00050A0502000B6412640769 +:10890000641E62036406642C601030004D40000059 +:1089100060A6800041782800050DFA265C028000E0 +:108920001C01F000602C080005D9F84E64066203B3 +:1089300005E9F424420000000010D8250511F9EEE5 +:108940005930020390000C9105B21B534803C857DD +:108950000C01F0010010A2760010A2660010A268BF +:108960000010A2770010A2670010A2660010A26695 +:108970000010A2660010A2660010A2660010A26697 +:108980000010A2660010A2660010A2660010A26687 +:108990000010A2660010A26605B1FB3F05B5FD51AF +:1089A0004D2C000059325809641A5A0A0001FB780C +:1089B0005C025800497A6009642A62294A02640309 +:1089C0000000008564266203640A64074200080010 +:1089D000800040400005F68E1C01F00005EDF88F88 +:1089E0004DF0000005FDFCA20502000305EDFB575C +:1089F0000502000805E9FC58050200045C03E000DC +:108A000005EDF87705FDF7E705E9FFA805B20B22AC +:108A10005C03E00005EDF8725930020390000D830D +:108A200005B00B1D90000C9105B21B1B0C01F7CA81 +:108A300059A8002B59A8088A8004040080080480E3 +:108A400005021003900005411C01F000480BC857B7 +:108A5000800005801C01F0004C040000593008091A +:108A600059A8000C800404800500100759A8000ACA +:108A70008004048005021004800409C05C00080022 +:108A80001C01F000800409C005B20B034803C8565E +:108A900005FDF7FB4803C8564D3000000005FFA058 +:108AA000050000070501F8254D380000612E700013 +:108AB0000005FFDB5C027000900005415C02600075 +:108AC0001C01F0004803C8564D30000005F1FF1DA1 +:108AD000050000160501F8194D30000005EDF84FAE +:108AE0004DF0000005E9FD8B4D3C00006002784030 +:108AF00005E9FED805E9FC5E050DF8945C027800F6 +:108B00005C03E00005EC08365C0260008D3C053E2D +:108B1000050200084D380000613270000005FFDBDF +:108B20005C027000900005415C0260001C01F000D6 +:108B30000005FFBD05FDF7FC592C040B494A6019DF +:108B4000494E601A4936600A492E6009640E64076E +:108B5000593408024806600B800000C2800008C437 +:108B6000800404004802600605D9FD2F4926601DD7 +:108B70000501F379493BC8574D3000000005FFA0BF +:108B80000500000A05FDFFED4D4000006016800065 +:108B90000501F80A5C0280008D3C053E05020005D7 +:108BA0000005FFDB900005415C0260001C01F00045 +:108BB0000005FFBD05FDF7FC4803C85605EDF81795 +:108BC0004DF000004D3C00004D44000059368C0330 +:108BD0006006784005E9FDC805E9FD0505E9FC24C6 +:108BE000050DF85A5C0288005C0278005C03E00026 +:108BF00005E807FB1C01F0004803C8564D30000093 +:108C000005F1FED00500000E481A601E48EE602DEA +:108C10004936600A05D9FD044926601D0501FB4E51 +:108C200064066407492E60094D380000607E7000BC +:108C30000005FFDB5C027000900005415C026000F3 +:108C40001C01F0004803C8564D30000005F1FEBD80 +:108C50000500000D48EE602D4936600A05D9FCF28A +:108C60004926601D0501FB3C64066407492E600926 +:108C70004D380000615670000005FFDB5C0270009B +:108C8000900005415C0260001C01F0004803C856DA +:108C90004D30000005F1FEAB0500000E481A601EC5 +:108CA00048EE602D4936600A05D9FCDF4926601D73 +:108CB0000501FB2964066407492E60094D38000050 +:108CC00060F670000005FFDB5C027000900005415B +:108CD0005C0260001C01F0004803C8564D300000E3 +:108CE00005F1FE98050000124926601D4936600A0C +:108CF0000501FB19492FC8574933C857592C040897 +:108D00008C00051E0500000348EFC85748EE602D93 +:108D100064066407492E60094D3800006002700047 +:108D20000005FFDB5C027000900005415C02600002 +:108D30001C01F0004803C8564D30000005F1FE81CB +:108D40000500000E48EE602D481A601E4936600A84 +:108D500005D9FCB54926601D0501FAFF64066407C4 +:108D6000492E60094D380000611270000005FFDBDC +:108D70005C027000900005415C0260001C01F00084 +:108D80004803C8564D30000005F1FE6E0500000E88 +:108D9000481A601E48EE602D4936600A05D9FCA2CB +:108DA0004926601D0501FAEC64066407492E600936 +:108DB0004D380000612670000005FFDB5C0270008A +:108DC000900005415C0260001C01F0005930000A6F +:108DD0008000154005B00A308D0C05120502000711 +:108DE0005808040B4803C8568000004005001003D3 +:108DF0004800140B050200085808001080000540C8 +:108E00000500000558080203800005400502000225 +:108E1000640412031C01F0004803C85659300403CF +:108E200090000D820500000B90000D8305000009E5 +:108E300090000D8405000007599C08198C04050E4C +:108E40000500000390000D80050000029000054120 +:108E50001C01F0004803C8564C0000004D2C0000D7 +:108E600059300407900005840500001959300009A5 +:108E700080025D40800001C0050000150501FD6B0A +:108E8000050000110501FD6E0500000F59300407B3 +:108E9000900045900500000C900045910500000AE7 +:108EA000900045830500000A9000458205000008F7 +:108EB0009000458A05000006592C04088C00051E08 +:108EC00005000003800005800501F00290000541C7 +:108ED0005C0258005C0000001C01F0004803C8560A +:108EE0004D30000005F1FE17050000104926601DF9 +:108EF0004936600A0501FA9848EE602D6406640759 +:108F0000492E60094D3C0000417A780005BDFE7491 +:108F10005C0278004D38000060A270000005FFDBA5 +:108F20005C027000900005415C0260001C01F000D2 +:108F30004803C856913805950502000959A8009EB6 +:108F4000B00005B4050200064178080005D5FFAE63 +:108F50006406620364A6640305E9F29A05F5FD0A56 +:108F60000005F7BD4803C856913805960502000470 +:108F70006010080005D5FEBB05F5F0099138059590 +:108F80000502000D59A8009E900005940502000AF4 +:108F900005D9F81205F9F9930502000759340404BC +:108FA00080000540050000046018080005D5FEADEE +:108FB00005F1F7FB05F5FCF40005F7BD4803C856BD +:108FC000592C020A90000585050000021C01F000E2 +:108FD0004803C856592C020C8400054A48025A0C12 +:108FE0001C01F00059300809800409C00500000880 +:108FF00058040208820005800000015205020004A6 +:1090000059A8084C480660061C01F000599C04163B +:10901000800001C00500000790000C8405001005C9 +:10902000800000C2800008C480040C0005FDF7F633 +:10903000593004039000058205FE07F25930080AF2 +:109040005804040382000580000007FE05FE07EDBA +:1090500060A0080005FDF7EC4803C85659300C0322 +:10906000B13805A105000019B13805A005000017A9 +:10907000B13805A20502001E497A620590040582F6 +:10908000050000069004059E0500000E900405846E +:10909000050200170501F003600C080005D5FE71FC +:1090A000593402008400050848026A005930041649 +:1090B00084000510480264166406620305E9F24163 +:1090C000641662030501F00A593402008C00050E93 +:1090D00005020002497A6205640A6203900404866C +:1090E00005FC17C159A8004C480260061C01F0009D +:1090F0004803C856B13805A105000003B13805A0E2 +:109100000502000A593034038218058000000086E9 +:1091100005F00559821805800000008705F0055606 +:10912000497A6205642A62031C01F0004803C856AC +:10913000B13805A105000003B13805A005020007FC +:1091400059300403B0000C9105B21953B0000480EB +:1091500005B019510C01F0021C01F0000010A469C7 +:109160000010A4680010A4680010A4750010A46882 +:109170000010A4680010A4680010A4680010A4687F +:109180000010A4750010A4680010A4760010A47646 +:109190000010A4760010A4760010A4680010A47932 +:1091A00005B1F93D593402008C00050E050200029C +:1091B000497A6205593008095804020E8C000502EC +:1091C00005000003641262031C01F000640A6203DC +:1091D0001C01F0001C01F000497A6205643662034C +:1091E0001C01F0000005F7BD4803C856B13805A1C1 +:1091F00005000006B13805A00502000959CC00029F +:109200008C0005260500000759300403B0000D83CB +:1092100005000005B0000D890500000305F1FD7A89 +:109220001C01F00059A8004E48026205640A62035E +:109230005930001C8000054005000003497A601C7D +:109240000801F8001C01F000497A6205497A6009BA +:109250006406620365426403420008008000004324 +:109260000005F68E4933C8574D3400005932680A5C +:10927000593402008C00050E050000055930040722 +:1092800090000C92050210040C01F8055C026800C5 +:109290001C01F00005FDFB0405FDF7FD00109FA972 +:1092A0000010A4B90010A4BD0010A4C00010BE1589 +:1092B0000010BE2D0010BE3100109FA900109FA904 +:1092C00000109FA900109FA900109FA900109FA93E +:1092D00000109FA900109FA900109FA900109FA92E +:1092E00000109FA94803C85640000000400000003D +:1092F0001C01F00040000000400000001C01F000D4 +:10930000593000088C0005360502000B5930001E4C +:109310004803C857593004164933C8574803C8573B +:109320008C000502050000054803C857840005406D +:10933000480264161C01F00042000000D00000004A +:109340004130080005B1FFD30501F80E0502000CFD +:1093500059300C1659300403B00005800500000395 +:1093600084040D400501F00459A8004C9000040A43 +:109370004802620584040D42480664161C01F00090 +:109380004933C8574D3400005932680A59340A002D +:109390008C04050E05B008C05930001E8000054041 +:1093A0000502002F593004034803C857B000058058 +:1093B000050000038D0C050E050200274D1C000062 +:1093C0004132380005F1FCDF050000214932381E2A +:1093D000591C04168400054248023C164936600AAE +:1093E00005D9FB114926601D0501F95B591C0407CD +:1093F0009000058305000006591C02024802641B08 +:10940000591C04024802621B0501F005591C0202A6 +:109410004802621B591C04024802641B491E602A50 +:109420006406640764D664036406620342000800AD +:10943000800000400005FE8E411E60005C02380086 +:10944000800005805C0268001C01F000411E600085 +:109450005C02380059A8004E4802620590000541A0 +:1094600005FDF7F94933C8574D2C00004932381E25 +:109470004A0262020000FFFF591E5809591C0008E9 +:109480008C00051E050000058400051E48023808F2 +:10949000497A580D0501F016592C040C8C0005185A +:1094A000050000138400051848025C0C4D400000C4 +:1094B000592E820A64065A0A0501FBE749425A0AF4 +:1094C0005C028000497A580D592C040C8C0005125E +:1094D000050000074D2C00008400051248025C0CBA +:1094E000592E580D05B1FC1A5C02580059A8004EBF +:1094F00048026205591C02164802621890000D814C +:1095000005000006640A3A0390000585050000077F +:10951000497A60170501F01C591C000884000540B9 +:109520004802380864123A03591C04164803C85705 +:109530008400051C8400055448023C16592C001375 +:1095400040001000591C08188004048005FE17F123 +:10955000591C001882000500FFFFFFFC480260173D +:1095600048023818591C0A164807C85790040D8538 +:1095700005020005480BC8574803C8574A0238146B +:10958000FFFFFFFF591C04024802641B591C020222 +:109590004802621B591E680A4936600A640664075D +:1095A00064E6640364066203420008008000004031 +:1095B0000005FE8E5C0258001C01F0004933C857BC +:1095C000593004168C000514050000158C00051C8C +:1095D00005020012593000188010048005001006A2 +:1095E0000500000559300416840005148400055C4C +:1095F0000501F0094812601848126014401000007C +:10960000592C1813800C048048026013593004163A +:1096100084000514480264161C01F0004933C85741 +:109620008C00051C05020008593000144803C85777 +:1096300048026018593004168400055C4803C85776 +:10964000480264161C01F00059300C034933C85716 +:109650004807C857900404B405001005900404BCE2 +:1096600005021003800005801C01F00090000541F8 +:1096700005FDF7FE4D3400004D2400005932481D11 +:109680005932680A5930040790000C920502100301 +:109690004803C8570C01F8045C0248005C026800EB +:1096A0001C01F0000010A5BB0010A5BD0010A5C056 +:1096B0000010A5FB0010BDF20010BDBF0010BDF6EC +:1096C0000010A5BC0010A5BB0010A5BC0010A5BCD7 +:1096D0000010A5BC0010A5BC0010A5BC0010A5BCC6 +:1096E0000010A5BC0010A5BC0010A5BC05ADFFEA8C +:1096F0001C01F00040000000400000001C01F000D0 +:109700005930040382000D80000000850502000727 +:109710004A0264030000008B642E620342000800CA +:10972000800040400005F68E82000D800000008B16 +:109730000502002E4D3C0000417A780005BDFC6812 +:109740005C027800420000000010D812050DFE6A8D +:1097500005FDFCC20500000E4D2C000059325809D1 +:109760004A025A08000001035930040248025C0A08 +:10977000641A5A0A497A580D0001FB7859300A29AF +:1097800090040D8305FC0D925C025800604430008B +:10979000050DFC0064066403497A600905BDFF3BC2 +:1097A000592404008C00050A0502000B41782800AA +:1097B000601030004D40000060A680000509FE7D6D +:1097C0005C02800064126407641E62036406642CF9 +:1097D0001C01F000602C080005D5FCA2640664079B +:1097E0006406620305E9F0771C01F00059300416A5 +:1097F0008C00051A050200215930080A580402009D +:109800008C00050E0500000659300A0390040590EF +:1098100005000003900405830502001805F9FFF513 +:109820005930020390000D890500000B480264299D +:109830004A02640300000085593004168400055A6A +:109840008400055E4802641664266203640A6407A5 +:10985000640E622959A8004D4802620542000800C2 +:10986000800040400501FDFB0005FE8E4203E00044 +:10987000B08000006023F8001C01F000417808006F +:1098800059A8104A60C8000005E5FF6B800811C0A8 +:109890000502000260501000480B504C59A8104BB4 +:1098A000480B5040417808006190000005E5FF62D8 +:1098B000800811C00502000260501000480B504D96 +:1098C0009008140A480B504E6004080005E9FD0E8C +:1098D0004200000030000000400808000001F93894 +:1098E000600C080059A8102D05E9FCF905D9F05DB8 +:1098F00064A3504C6453504D4A035040000007D0BD +:1099000060781000480B504E6004080005E9FCFE2A +:109910004200000030000000400808000001F93853 +:10992000600C080059A8102D05E9F4E94933C8571F +:109930004D2C000059300403900005BE05020004C0 +:1099400059325819812E59C005B20AF85C025800E4 +:109950001C01F0004933C857813669C00500000C6E +:10996000593402008C000508050000094A026416FB +:10997000000001008C00050C5930000805000002B1 +:109980008400054484000542480260081C01F00080 +:10999000593004168C0005101C01F0004937C857D7 +:1099A0004D30000005F1FB670500000D4926601DE4 +:1099B0004936600A05FDFFE864066407492E600920 +:1099C0006024080005D5FC274D38000060CE7000EB +:1099D0000005FFDB5C027000900005415C02600046 +:1099E0001C01F0004933C8574D2C00004C580000B2 +:1099F0004D3C000059325809913805950502001D6B +:109A000059A8B09E90580C99050010026060B000F3 +:109A10008058B1040501FA52800005800501FA6101 +:109A2000912CAC0D91CCA406050DFE7E4C6000007F +:109A30006004C000592C100E8C08051805020006A1 +:109A400059240005592C10118008058005020006D4 +:109A50004178C0005930100A58081403417A780040 +:109A600005BDFC175C00C00005F1FD4D0501F005CA +:109A70006008B0000501FA5705F5FA430005FFBD7F +:109A80005C0278005C00B0005C0258001C01F00031 +:109A90004933C8564A02601D0010D8CF4936600AC3 +:109AA00005FDFFAD64066407492E60094D380000CE +:109AB000613670000005FFDB5C027000900005411C +:109AC0001C01F0004803C8564D2C00009138059544 +:109AD0000502002559A8089E593258095930040D2D +:109AE00080040580050200204C5000004C5400000A +:109AF0004C58000091CCA4064050A8005930B40D39 +:109B00009058B4038058B104050DFE8191CCA40691 +:109B1000592CB2099058B4038058B104912CAC0A66 +:109B2000050DFE40592E5801812E59C005FE07F93A +:109B30005931D82D58EF400B58EE580D4A025A08AB +:109B40000000010358EC00090801F8005930040234 +:109B50005C00B0005C00A8005C00A0005C02580043 +:109B60001C01F00005F5FA085C0258001C01F00029 +:109B70004933C85790040DB5050000055930141B32 +:109B80000501F83F050000250501F0064D300000F5 +:109B90005932602A0501F8435C0260000500001E8E +:109BA000591C0C07900405830500000390040586EA +:109BB0000502001B591C0C025930041B800405804F +:109BC000050000095930021B8004058005020014BD +:109BD000591C0A025930041B80040580050200103C +:109BE0000501F00959300A1B820405800000FFFFBF +:109BF00005000005591C020259300A1B800405802B +:109C000005020007591C000A5930080A8004058023 +:109C10001C01F000417A3800900005411C01F00061 +:109C20004803C8564203E000B0800000600009FE0F +:109C30004203F800300000004000000080040840AB +:109C400005AC0E9505FFB7FB1C01F0004803C85694 +:109C50004203E000B08000004203F8002000000052 +:109C60001C01F000593008088C04051E592C0C0CFE +:109C7000050200028C0405181C01F00005FDFB6DB7 +:109C800005000007800800CA800808C880040C008E +:109C900082063C0000110E40491FC8571C01F0000D +:109CA0000501FCF8050200075930140205FDFFF418 +:109CB00005000007411C00008130058005000003FD +:109CC000817805000501F002813005401C01F0009B +:109CD0004D30000083440480000007F005001003AD +:109CE00005D9F8D90501F0020001FAFE0502000BC2 +:109CF0004202600000110DE04936600A492E6009F9 +:109D000005D9F8C94926601D05BDFAF58000058012 +:109D10005C0260001C01F0009000054105FDF7FDAC +:109D20004933C85705FDFB4D05AC0E5B4D2C0000BB +:109D30004D3400004D4400004C5800005932580981 +:109D40005932680A49425A0A0005FB7D592E8C0A8D +:109D5000592C420B9020050F0C01F8065C00B00056 +:109D60005C0288005C0268005C0258001C01F00084 +:109D70000010A76E0010A78F0010A7950010A798DD +:109D80000010A7A00010A76C0010A76C0010A76C13 +:109D90000010A7A30010A7AD0010A7AD0010A76C7E +:109DA0000010A76C0010A76C0010A76C0010A76C27 +:109DB0004803C85705ADFE38814281C00502001135 +:109DC00041785800592C04088C00051C050200023B +:109DD00059345C05442C28005934000848002802F6 +:109DE0005934000948002801593400064800280465 +:109DF0005934000748002803602CB0000501F030FA +:109E0000592C020B8C00051E6008B0000502002CC6 +:109E10009004B5400500002A440428005932680A1D +:109E2000593404004800280159340200900005010B +:109E300048002802600CB0000501F021814281C079 +:109E400005FE07F059345C05442C28006004B0007E +:109E50000501F01B9140B540050000190501F021F6 +:109E6000814281C00502001F5934020044002800CD +:109E700059340001480028016008B0000501F010C5 +:109E80009140B540050200170501F00D9140B54025 +:109E90000500000B05D9F851050000128C20050EB5 +:109EA00005000002497A600A4178B000497A5A0AEE +:109EB0000501F0039140B5400502000A592C040841 +:109EC0008400051C48025C08592C020B8400051E06 +:109ED00048025A0B0501F922497A60090001F3781A +:109EE000592C020B8C00051E6008B00005FE07F41B +:109EF0009004B54005FC07F2440428006004B0005B +:109F000005FDF7EF4937C8574D30000005F1FA0D50 +:109F10000500000D4926601D4936600A05FDFE8ECC +:109F200064066407492E6009602C080005D5FACD47 +:109F30004D380000610E70000005FFDB5C02700010 +:109F4000900005415C0260001C01F0004937C857D1 +:109F50004D2C00004D200000593400138002413088 +:109F600059325809913805950502002259A8009EDA +:109F7000900005840502001F59240005592C100D7E +:109F800080080580050200114D440000592E8C0AFE +:109F9000592C020B4803C8568200050000000080BF +:109FA000840005484D3C0000600278208C00050EBE +:109FB00005000002853E7D5C05D5FF8C5C027800C3 +:109FC0005C0288000501F0034803C85605D9F80370 +:109FD00005FDFAA2050000114D400000600280005E +:109FE0004178080005FDFF4F5C0280000501F00A82 +:109FF00005D5FFFA05FE07F705FDFA9805000007ED +:10A000004C5800006008B0000501F8F25C00B00098 +:10A0100005F5F8DD0005FFBD5C0240005C0258005C +:10A020001C01F0004937C8574D30000005F1F9C553 +:10A030000500000F4926601D4936600A05FDFE46F1 +:10A04000640664074D3C00004D380000417A7800FA +:10A0500005D5FA7A492E6009601270000005FFDB11 +:10A060005C0270005C027800900005415C026000B8 +:10A070001C01F0004937C8574D30000005F1F9B117 +:10A080000500000D4926601D4936600A05FDFE32B7 +:10A09000600C080005D5FA7364066407492E600950 +:10A0A0004D380000614670000005FFDB5C02700067 +:10A0B000900005415C0260001C01F0004933C85764 +:10A0C0004C5800004D2400004D2000004D40000081 +:10A0D0004D4400004D3C00005932481D59240A00EF +:10A0E0008C0405000500008705BDFCE859325809BD +:10A0F00091383595050200566010080005D5FA59CB +:10A100006004080005D5FB40812E59C005020043BC +:10A1100059A800A280000040480350A2050DFD2D63 +:10A1200005000004592402008400051A48024A0070 +:10A13000417A800059CC00008200050000FFFFFF3B +:10A14000592408054803C8574807C857800409C060 +:10A150000500001680041580050000144C00000066 +:10A1600060AA8000592404008C00050A050200043E +:10A170006008300061FE89FF0509FC15417A78000E +:10A1800005BDFD1005BDFD7C600A800059CC0C08A2 +:10A190008C04051E0502000459240A0084040D568F +:10A1A00048064A005C0000004802480540000800DC +:10A1B000812000F08004054048026813400400003C +:10A1C000B1200C80050210044923883084000570FA +:10A1D00048038832592402008400051E820005408D +:10A1E0000000020648024A00592404008C00050CB5 +:10A1F00005000004654664290501F8490501F041A0 +:10A20000600400004178180005D9FB4E0501FF37B6 +:10A210000005FFBD0501F03B592C000C8200050034 +:10A2200000FFFFFF050200080005FB7D59CC000080 +:10A230008200050000FFFFFF440028006004B0001A +:10A240000501F84705F1FB560501F02E812E59C096 +:10A250000502002959340412800001C005000023C2 +:10A260008000004048026C1259CC0C078204350073 +:10A27000000000FF481BC857901805830502001313 +:10A2800059CC02074803C85782000D000000FF00A8 +:10A290004807C8578204058000000D000502000B26 +:10A2A00059240A0084040D4848064A00602C08001E +:10A2B00005D5F9EC6406640764066203640664036A +:10A2C00005E5FDC00501F00F600C080005D5F9E5B6 +:10A2D0004A0262020000FFFF6406620365466403EF +:10A2E00005E5FDB80501F007600C28000501FDF546 +:10A2F0000501F0046008B0000501F83605F5F82204 +:10A300005C0278005C0288005C0280005C02400015 +:10A310005C0248005C00B0001C01F0004933C857E3 +:10A3200061F2880F4200300000FFFFFC05D5F9F410 +:10A3300005AE0CD94936600A05FDFD87417A7800E3 +:10A3400005D5F9BE600C080005D5F9C6497A6C122E +:10A3500064066203640A640305E5F59A492FC85749 +:10A360004C5800004C0000008058B1C00500000AA5 +:10A3700082580500FFFFFFF005AE0CC78058B0D033 +:10A38000592C040C82000500FFFFF0FF80580540A7 +:10A3900048025C0C5C0000005C00B0001C01F00096 +:10A3A000492FC8574C0000004C040000800000D822 +:10A3B000592C0C0C82040D00FFFF0FFF8004054098 +:10A3C00048025C0C5C0008005C0000001C01F0000E +:10A3D0004933C8574D2C000059325809592C020BEB +:10A3E0008400055E48025A0B4C5000004C5400009B +:10A3F0004C58000005FDFFDA0005FB7D6460280075 +:10A40000801428008058B04091CCA4074014A800C4 +:10A41000050DFC045C00B0005C00A8005C00A0001E +:10A420005C0258001C01F00059325809592C0208EE +:10A4300082000580000001521C01F000593008091B +:10A440005804020882000500000000FFB00005B9B2 +:10A450001C01F0005930002B8000054005B20D684A +:10A460001C01F000593000088200050004000800BB +:10A470008200058004000800050200035930022113 +:10A4800048025C131C01F000592C040B82000500EB +:10A490000000F0008200058000003000050200038B +:10A4A0004A026416000001001C01F0004D2C00005F +:10A4B00059325809593002034933C857492FC857F0 +:10A4C000493BC8574803C8579000349105AE1C72E9 +:10A4D0000C01F8035C0258001C01F0000010A948B0 +:10A4E0000010A94E0010A9860010A9480010A94824 +:10A4F0000010A9480010A9480010A9480010A94957 +:10A500000010A9480010A9480010A9480010A94847 +:10A510000010A9480010AA2D0010A9480010A94851 +:10A5200005ADFC5DB13834A005AE1C5B493A64034F +:10A530006406620305E5F5239138059305020010D2 +:10A54000492FC85705FDFD1305000003643A620357 +:10A550000501F005592C0010800001C00500000520 +:10A56000640A620359A8004C480260061C01F0000E +:10A5700064025A0A0001FB780005F7BD913805A76F +:10A580000500001E913805940500001805FDFD0129 +:10A590000500000CB13805A105000004B13805A084 +:10A5A00005FE07F34937C85705E9FD4105F2009656 +:10A5B000593002039000058E050000BF05ADFC3642 +:10A5C00091380595050000039138059605AE0C32CB +:10A5D00005E9FD3705F2008C593002039000058231 +:10A5E00005AE0C2D0501F00D4937C85705E9F8E512 +:10A5F000644658120501F0044937C85705E9F8E1E7 +:10A600006442581264C65A0A641258110001FB7859 +:10A6100005D9F87805F1F0185934140082081D00A6 +:10A62000000000FF59300C03480BC8574807C857B3 +:10A63000B004059305000020900405820500000F7A +:10A6400090040581050000109004058305000013A7 +:10A650009004058505000014900405B30500001260 +:10A6600090040580050000139004058405AE0C0AD3 +:10A670000501F8750501F010900C058305000837F9 +:10A680000501F00D900C058B0502000B601C080005 +:10A6900005D5F8F40501F008900C05850500084A79 +:10A6A0000501F005900C0589050008650501F0021B +:10A6B0000501F86A654A640359A8109E592C040FD5 +:10A6C0008C0005000500000260201000592C040FCA +:10A6D0008C0005160500000290081418592C001073 +:10A6E000497A5811497A581280080C8005000007F1 +:10A6F00005001004641E5A0A400010000501F00411 +:10A7000064565A0A0501F00264025A0A480A5810AF +:10A7100005F1F9B40500000D592C1001480A600D2F +:10A720005808080090080402592C1015592C1816C6 +:10A7300060003000420020000010146B05F1FB089F +:10A74000050000021C01F00064B25A0A497A581050 +:10A750000001FB780005F7BD91380595050200085A +:10A7600059A800B88C0005020502000741780800CE +:10A7700005D5F9A56010080005D5F0BA601C0800E1 +:10A7800005D5F0B805D9FC1D604010000502000891 +:10A79000593400028200050000FF0000820005809D +:10A7A00000FF000005FC07F26020100005D9F850FA +:10A7B00005FC07EF592C040F8400054048025C0F8C +:10A7C00005FDF7EF913805950502000B59A800B873 +:10A7D0008C0005020502000A05D5FA004D3C000078 +:10A7E000417A780005D5F8955C0278006018080079 +:10A7F00005D5F09C6010080005D5F09A05D9FBFF3F +:10A800006040100005020008593400028200050073 +:10A8100000FF00008200058000FF000005FC07EF3C +:10A820006020100005D9F83205FC07EC592C040F04 +:10A830008400054048025C0F05FDF7EF601008003A +:10A8400005D5F08891380595050200030509F91E24 +:10A8500005D40C341C01F000913805950502001553 +:10A860004C58000091CC14086008B00091341C06CC +:10A8700005F5FC250502000E91CC140A6008B00015 +:10A8800091341C0805F5FC2005020009593422000A +:10A8900059CC1007800811C005000003480A680160 +:10A8A000841025428410251A48126A005C00B0000A +:10A8B0001C01F0004803C856B13805A10500000B83 +:10A8C000B13805A005000009B13805A20502001144 +:10A8D00064C65A0A64125811644A58120001FB787F +:10A8E00005D5FFC40005F7BD592C0010800001C03C +:10A8F0000500000559A8004C48026006640A62037E +:10A900001C01F00064025A0A0001FB780005FFBD3B +:10A910001C01F000420000000010D82A050DF9F6D5 +:10A9200005E9F8BE593002034933C8574803C857F0 +:10A9300090000C9105AE1B580C01F80205E9F0A837 +:10A940000010AA620010AA6B0010AA630010AA618E +:10A950000010AA610010AA610010AA610010AA618B +:10A960000010AA610010AA610010AA610010AA617B +:10A970000010AA610010AA610010AA630010AA6169 +:10A980000010AA6105ADFB441C01F000593004031E +:10A99000B000059205F8054905D5FF9659325809CA +:10A9A000641A5A0A0001FB7805EDF7335930180490 +:10A9B000840C052048026004598C000B813005800E +:10A9C0000502000F8C0C05200502000F420010004C +:10A9D0000010D74A50081000580800028200058075 +:10A9E000000001000500000B5808000C81300580B4 +:10A9F00005AE0B294978100C0501F0038C0C0520DD +:10AA000005FE07E305E5FD3405FC07E105ADFB2286 +:10AA100005E9FB7E05FC07FC5930020390000C9110 +:10AA200005AE1B1D0C01F7C74933C8574C50000039 +:10AA30004C5400004C580000592C0C0B4806581779 +:10AA400059CC08094806580B59CC08084806580F35 +:10AA500059A808B782040500000003FF800010C455 +:10AA60008C0405140500000459CC00029000050375 +:10AA700080081480480A621C412C080005ADFE8A3B +:10AA800005AC0B05492C080D5804040C8400055234 +:10AA90008400054048000C0C900814038008110441 +:10AAA00091CCA406912CAC0860400800900804905A +:10AAB0000502100340080800800005804004B00033 +:10AAC0004C000000050DFA925C000000800001C0FF +:10AAD0000500000A412C10004C00000005ADFE727C +:10AAE00005AC0AED492C1001912CAC085C0000006B +:10AAF0004000100005FDF7EE5C00B0005C00A8000F +:10AB00005C00A0001C01F0004933C8574D2C000028 +:10AB10004C380000593258095930021C48025A0C6E +:10AB200059301013640A6203592C020E8C00050080 +:10AB30000500000459300017592C101380081480A8 +:10AB4000400800000501F962800015400502000779 +:10AB500064025A0A592C000F8200050000000C0004 +:10AB6000050000090501F0098C08053E05000005F7 +:10AB7000641E5A0A80081080800810000501F00247 +:10AB800064565A0A480A580B420000000010F67D2D +:10AB9000500070005838000B800005400502000787 +:10ABA0004930700C4930700B583800029000058015 +:10ABB000050208080501F00490001400453010005B +:10ABC0004930700B5C0070005C0258001C01F00002 +:10ABD0004933C857592C000D400010004800700A36 +:10ABE0009008040848007003592C0011592C1012C9 +:10ABF000592C1804480C7006480070074808700863 +:10AC0000592C0017592C120C80080C8005001002DA +:10AC1000400010009008140380081104900804906C +:10AC200005021003800005800501F002604010005D +:10AC30004800700D48087004800810C4480870056A +:10AC4000403810000001F0214D2C000005ADFE162B +:10AC500005AC0A91420008000010F67D452C080062 +:10AC6000497A580B497A580C497A580D4A025809C2 +:10AC70000010AB224A025802000001006402580191 +:10AC80005C0258001C01F0004833C8574D300000EA +:10AC90004D2C00004C5C00004030B800585C000AAD +:10ACA00080025D4005020004585C000C4C0000006E +:10ACB0000501F03B585C00028200058000000100A5 +:10ACC0000502001C592C08014C04000005ADFE17BC +:10ACD0005C000800800409C0050000174804B80A99 +:10ACE000585C100D800811C0050200044006580091 +:10ACF00005ADFE170501F010900804900502100341 +:10AD0000800005800501F002604010004800B80D89 +:10AD10004808B804800810C44808B805900404081E +:10AD20004800B803405C10000001F8210501F02242 +:10AD30000501F825585C000C800265405930000080 +:10AD400080000D40050200024800B80B4800B80C16 +:10AD5000497A60004C0000004978B80A5932580915 +:10AD60004A025A08000001035930040248025C0AF2 +:10AD7000592C100F4C0800000001FB780501F8CB9E +:10AD800005FDF8135C0010008C0805180500000391 +:10AD900005FDF92E0501F0020005FFBD405C7000C5 +:10ADA0005C0000008002654005000003593258092C +:10ADB00005FDFF885C00B8005C0258005C02600082 +:10ADC0001C01F000483BC8575838000A40025800A0 +:10ADD00005ADFDDF5838000C800265405930000990 +:10ADE00080025D40640A5A0A1C01F0004803C857FB +:10ADF0004933C8574D1C0000497A601E4132380063 +:10AE0000400260004D3C0000601678000501F838F3 +:10AE10005C027800411E60004933C857593004165F +:10AE200084000502480264165C0238001C01F00030 +:10AE3000481BC8574933C8574C5C00004C600000A1 +:10AE40004010B8004014C0000509FE5205BDF98F3E +:10AE5000592404008C00050A050200064060280001 +:10AE6000405C30000509F8DA900005410501F00268 +:10AE7000800005805C00C0005C00B8001C01F00090 +:10AE80004803C8564D3000004202600000110E40D9 +:10AE900059A8002B816405800500001359300C0768 +:10AEA0009004058105000009900405840500000454 +:10AEB0009004059005F80B890501F007593002034D +:10AEC00090000D87050000044807C85705FDF9DF0D +:10AED0000502080791326430415800008130048037 +:10AEE00005FC17EC5C0260001C01F0004933C857F8 +:10AEF000593004034803C85705E5FF484DF00000EA +:10AF000059301407593002034803C85790080D827E +:10AF10000500001690080D810500000B90080D84B7 +:10AF2000050000054933C8565C03E00005E40F2C1A +:10AF30000501F03E90000D880500002E90000D8761 +:10AF40000500002C90000D810500001390000D827B +:10AF50000500002890000D850500002690000D8E4C +:10AF60000500002405ADF9CC90000D890500000A0C +:10AF700090000D8B0500000890000D8A0500001D53 +:10AF800090000D8C0500001B90000D8E050000192F +:10AF900005ADF9C1598C000B813005800502000315 +:10AFA00005E9FA1A05020013593000044803C8578E +:10AFB0008C00052005000004840005204802600480 +:10AFC0000501F00C05E5FBC405AE09B35C03E00028 +:10AFD00005E40F035930040790000D8205000013AB +:10AFE00005D5FE0405F9FF9C05F00CE70501F00FFF +:10AFF0005C03E00005E40EFA5930040790000D826E +:10B000000500000A5930081D580402008C00050094 +:10B01000050002A705D5FDF705F9FF8F05F00CDA4D +:10B020008D3C0500050000030509FEAD05EDF59218 +:10B03000640662294A0264030000008564266203F4 +:10B04000640A640742000800800000400005F68E94 +:10B05000600070404203E000B08000006033F80000 +:10B060004000000040000000400000000501B00466 +:10B070008038704005AC098805FDF7F91C01F00027 +:10B080008330048000110DB005001006415400000B +:10B090008130048005021003800005801C01F0004F +:10B0A000817800801C01F0005930002780000540A5 +:10B0B000050000064D2C00004002580005ADFD1BA8 +:10B0C000497A60275C0258001C01F000592C720E6E +:10B0D0008C38050005020008593070088C380516B8 +:10B0E00005000005593070095838701359300014A4 +:10B0F000803804801C01F00059A8089E59CC28080B +:10B100004C5C00004178B8008C14051E050000025C +:10B11000805CB8008214050000000C0005000004EB +:10B12000905C0410800404800500101880001580D5 +:10B130008C14051205000005905C04148004048042 +:10B140000500101259CC100A800005808C140510DF +:10B1500005000005905C0418800404800500100BB5 +:10B1600059CC000B800804000500100805000005FC +:10B17000905C0418800404800500100480000580A1 +:10B180005C00B8001C01F000420000000010D8076D +:10B190000509FFD99000054105FDF7FA4933C85765 +:10B1A0004937C8574923C8574927C857492FC8574F +:10B1B00048EFC8574D1C00004D30000041323800A8 +:10B1C00005EDFD600500001D48EE602D4926601D5F +:10B1D0004936600A05FDF9E0591C04079000058313 +:10B1E00005000008591C02024803C8574802641BA6 +:10B1F000591C04024802621B4803C8570501F007A6 +:10B20000591C02024803C8574802621B591C040219 +:10B210004802641B4803C857491E602A6406640735 +:10B22000492E60094D380000615E70000005FFDBAB +:10B230005C027000900005415C0260005C02380016 +:10B240001C01F0004933C857493BC8574937C85714 +:10B250004D2C00004C5000004C5400004C58000095 +:10B260005932580905F9FDFD0500001791CCA406D7 +:10B27000912CAC0A913805960502000759A8009E4A +:10B28000900005880502000E492FC8576008B000DD +:10B290000501F0089138059505020009492FC857A6 +:10B2A00059A8009E90000598050200056018B0009E +:10B2B000050DF85C05EDFF3A0501F00305F1FC32E0 +:10B2C0000005FFBD5C00B0005C00A8005C00A000B1 +:10B2D0005C0258001C01F0004933C85705E5FE4FD9 +:10B2E0004DF000005930020390000C9105AE18EAB1 +:10B2F0000C01F0010010ACCF0010ACCE0010ACD4AB +:10B300000010ACEC0010ACD30010ACCE0010ACCEF2 +:10B310000010ACCE0010ACCE0010ACCE0010ACCE05 +:10B320000010ACCE0010ACCE0010ACCE0010ACCEF5 +:10B330000010ACCE0010ACD405ADF8D75C03E00033 +:10B3400005E40E27800005801C01F00005B1FAE538 +:10B350005C03E00005E40E228D3C050205020011AD +:10B360004D2C00005932580964165A0A0001FB7826 +:10B370005C025800497A60098D3C05000502000B0B +:10B38000642A62294A02640300000085642662037D +:10B39000640A640742000800800040400005FE8EF9 +:10B3A000817800801C01F00005EDFCB305FDF7FD80 +:10B3B00005F9FA2F0502000305E9F8E40502000586 +:10B3C00005E5F9E505FC07E305E5FD3805AE08B23E +:10B3D0005930020390000D8305AC08AF90000C912A +:10B3E00005AE18AD0C01F7C44803C85605EDFCD5F1 +:10B3F0000500002E593004024802621B59A804B30C +:10B400008400054084000502480354B3812E59C0CE +:10B410000500001182600580000030000502000375 +:10B420004A02641600000100592C020B480352B472 +:10B43000480352B3592C000F480350B5592C020C45 +:10B44000800000C2800008C4800404004802600636 +:10B450000501F00A640B50B559A8004C800000C4E7 +:10B4600048026006417A400061FA880F42003000CD +:10B4700000FFFFFE05D1FDA24926601D599C020870 +:10B4800048026C12593400024802600B497A641B6E +:10B490004936600A492E60096406640761627000DB +:10B4A0000005FFDB900005411C01F0004D2C000061 +:10B4B0004C5C00004C6000004C6400004803C8561F +:10B4C0005932580991380595050200B8812E59C0A6 +:10B4D0000500000305F9FD6105AC086F59A8009E41 +:10B4E0008200058000000228050200AB59CC0C0741 +:10B4F0008204058000000101050200B759CC0A074B +:10B500005930040280040580050200B559CC0A0AAE +:10B510008204058000000228050200B391CCBC0B18 +:10B52000585C0C008204058000000101050200B097 +:10B53000585C0A0090040584050200AF91CCC40D4C +:10B5400058600C008204058000000102050200AC76 +:10B5500058600A0090040584050200AB91CCCC0F22 +:10B5600058640C00820405800000010305000004FB +:10B570008204058000000203050200A558640A0049 +:10B580008204058000000200050200A3585C080147 +:10B59000800409C0050000A290040484050210A0E4 +:10B5A000480750B658600201800001C00500009FA6 +:10B5B0008200148000000FFF0502109C480354B461 +:10B5C000480352B34C5000004C5400004C5800004B +:10B5D0006000B0014200A8000010F9FF91CCA41057 +:10B5E0005450A8008050A0008054A8008058B0405B +:10B5F00005FE07FC5C00B0005C00A8005C00A00039 +:10B60000400010004C04000005BDF8B15C000800CB +:10B610000502000559A804B38400054C480354B33F +:10B620004803C8579004058205000055900405831F +:10B63000050000020501F00459A800B5900005823C +:10B6400005000052812E59C00500002B592C100115 +:10B65000800811C005AC08104930100B492C100AA5 +:10B66000640010014A0010090010ADA84A00100340 +:10B670000010F9FF4A00100500000200592C0015C7 +:10B6800048001007592C0016480010085C00C8003C +:10B690005C00C0005C00B8005C0258000001F021B2 +:10B6A0004D2C00004C5C00004C6000004C6400001D +:10B6B0005832600B813261C005A80FF75832580A22 +:10B6C000812E59C005A80FF4497860015830000256 +:10B6D00082000580000001000502005A59A80CB440 +:10B6E0004806581159A808B64806581064CA5A0A9C +:10B6F0000001FB780005FFBD58600A0159A802B49B +:10B70000800405800502004C59A81CB3820C1D0062 +:10B71000FFFFFFBC840C1D46480F54B30501F01E0B +:10B7200059CC340782183500000000FF90180585B9 +:10B730000502000C59340412800001C00500000904 +:10B740008000004048026C124D2C0000593258090C +:10B750000005FFBD05FDFF255C0258000501F00E48 +:10B7600005F1FF6259A802398400051848035239CF +:10B77000480354390005FFBD05FDF7E459A800B59D +:10B780009000058105FC07B05930041B8400054872 +:10B790004802641B5C00C8005C00C0005C00B8008C +:10B7A0005C0258001C01F0004803C856812E59C0A5 +:10B7B00005FC07DC05F9FCA905A80FB764C65A0A01 +:10B7C0006462581059CC0007480258110001FB78F8 +:10B7D00005FDF7E44807C85705FDF7EF4807C857C8 +:10B7E00005FDF7ED4807C85705FDF7EB4807C857B3 +:10B7F00005FDF7E94807C85705FDF7E74807C857AB +:10B8000005FDF7E54807C85705FDF7E34807C857A2 +:10B8100005FDF7E14807C85705FDF7DF4807C8579A +:10B8200005A9FF9D05FDF7DC4803C85705A9FF9A48 +:10B8300005FDF7D94807C8570501F80F05FDF7D6EC +:10B840004803C8574A00600200000100640A5A0A0F +:10B850000001FB7805FDF7A859300403B0000D98EE +:10B8600005000004B0000D9E05000002B0000D9F11 +:10B870001C01F00059A804B382000500FFFFFFFC83 +:10B88000480354B305D5FFDD0502000605D5FFEDDD +:10B8900005000004640750326006D80005D5FF5A41 +:10B8A0001C01F0004933C8574D4000006002800081 +:10B8B00005B9FEF605F1FF240500001F59CC040868 +:10B8C0008C00051E05020009420008000010D8CFB8 +:10B8D000580404068C0005000502000459240200E7 +:10B8E0008400055648024A0060AA800059240400DA +:10B8F0008C00050A0502000461FE89FF6008300023 +:10B900000505FE334D3C0000600A78005924100BF9 +:10B910008208150000001FFF4178080005BDF801EE +:10B920005C027800420000000010D8120509FDF208 +:10B93000600A80006010080005D1FC4A600408001D +:10B9400005D1FD3159CC080082040D0000FFFFFF36 +:10B950005924100C4804100159CC000948024A0A25 +:10B960004800120059CC000A48024C0A4800140052 +:10B9700059240200B000056648024A0048064805FE +:10B98000492388308404057048038832812000F000 +:10B9900080040540480268136004000005D5FD6975 +:10B9A0005C02800059301009800811C005020009AE +:10B9B0000501F8235924100B8208150000001FFF11 +:10B9C00005BDF8480501F81E0502001C0501F01828 +:10B9D0004D2C0000400A5800592C1208820805001E +:10B9E000000000FF900005B005020009592C040B6F +:10B9F00082000500000000FF0502000305ADFACB40 +:10BA00000501F00A05D9FE850501F008592C020B45 +:10BA100080000110800001C00502000305ADFAC3DB +:10BA20000501F00205DDF8355C02580059300429A3 +:10BA3000900005A1000607BD1C01F0004933C8575E +:10BA40004D3400004D2400004D200000916C058312 +:10BA500005020015599C00188C000516050000030E +:10BA600005CDF8010501F0106010080005D1FBFDBF +:10BA700059300429900005A105000005592404004F +:10BA80008C00050C050000046486642905FDFA2479 +:10BA9000900005415C0240005C0248005C026800C6 +:10BAA0001C01F0008000058005FDF7FB4D3400000F +:10BAB0005932680A05D5F97B5C0268000005F7BDBC +:10BAC0004803C8564C5C00004D2000004014B800EC +:10BAD00005B9FE6E59A800A280000040480350A29C +:10BAE000916C058205020004592402008400051AA5 +:10BAF00048024A005924020082000500FFFFFEEFC1 +:10BB00008400054648024A00497A48054D40000035 +:10BB10006006800041781800405C28006004000046 +:10BB200005D5FD0860AA80004D3C0000600A780041 +:10BB300005B9FEA45C0278005C0280005C02400053 +:10BB40005C00B800813261C005EE02CB1C01F00040 +:10BB50005930300958181A08820C1D00000000FFE7 +:10BB6000B00C058805000003B00C05AA05020048CA +:10BB7000593000048C000516050200455818040CC5 +:10BB80008C00050005000042420000000010F67D18 +:10BB900050006000417818005830200C41300000FF +:10BBA000801005800500000640101800580C200089 +:10BBB000801021C005FE07FA0501F0354933C8574A +:10BBC00059302000497A6000800C19C00502001E1F +:10BBD0004933C85642007000000211725830000A02 +:10BBE000800001C0050000184978600A583800013B +:10BBF00080300580050200084933C8564978700234 +:10BC00004810600C801021C00502001D4978600BAF +:10BC10000501F01B4933C8564810600C801021C044 +:10BC2000050200024978600B4C1800004C300000FF +:10BC300005ADFB695C00600005FDFC145C00300094 +:10BC40000501F00F4933C856800C19C005020008E1 +:10BC5000801021C0050000034810600C0501F008A9 +:10BC60004978600C4978600B0501F0054810180010 +:10BC7000801021C005020002480C600B5818040C0B +:10BC8000840005004800340C4978320C1C01F00097 +:10BC90004933C8574927C85759A802399000054366 +:10BCA000480352394C5C00004D40000059CCB800AC +:10BCB000825CBD0000FFFFFF6002800005B9FDF35C +:10BCC00005F1FE21485F502D0500001D4D3C000090 +:10BCD00060AA8000592404008C00050A05020006B1 +:10BCE000592402008400055648024A0060083000CA +:10BCF0000505FD30600A780005B9FE3242000000FB +:10BD00000010D8120509FCFC59CC04088C00051E53 +:10BD100005020009420008000010D8CF58040406AC +:10BD20008C0005000502000459A802398400055260 +:10BD300048035239600A80005C02780041780800AC +:10BD400005D1FC31592402004803C8574927C85778 +:10BD5000B000056648024A00485E4805812000F0B0 +:10BD6000805C0540480268134923883084000570D0 +:10BD70004803883259A8123959CC04088C00051A96 +:10BD800005020005840815144A0370E50000080048 +:10BD90000501F004840815544A0370E500000C0006 +:10BDA000480B523905F9FEB659A802398400054AF4 +:10BDB0004803523949238830845C0570480388322F +:10BDC0006010080005D1FB2759A80A3984040D50DA +:10BDD00059CC00138C00053E050000038C0005368D +:10BDE0000500000459CC00178C000536050200023E +:10BDF00084040D104807523948075439420018008E +:10BE00000010F68B592404008C00050C050000047A +:10BE10006486642905FDF9420501F009405C0800CB +:10BE20004178100060001802600400006002800089 +:10BE300005D5FC440501F82D0005FFBD59A80239C0 +:10BE40004803C8578C000506050200064178180013 +:10BE50000509FDE0050000026040180005B9FD2A53 +:10BE6000805C0110480350364803888159A800348B +:10BE7000800000404803C8570500100348035034B1 +:10BE80000502001759A802398C00050605000004B8 +:10BE90008400050A48035239480354394A0388028A +:10BEA0000000FFFF420018000010D10B05ADF92D76 +:10BEB000420018000010D11805ADF92A4A03503588 +:10BEC0000000FFFF05E5FED74A01A8E4000000805E +:10BED0004A0388020000FFFF850E1D025C028000FD +:10BEE0005C00B8001C01F0004D4400004D3400001F +:10BEF00061F2880F05D5F854050200034A026C0070 +:10BF0000000007075C0268005C0288001C01F0006A +:10BF10004933C85759368C034C1800005930020376 +:10BF20009000349105AA1DDC0C01F8035C00300080 +:10BF30001C01F0000010AFDE0010B5230010B6EDBC +:10BF40000010AFDE0010AFDE0010AFDE0010AFDE7D +:10BF50000010AFDE0010AFFE0010AFDE0010AFDE4D +:10BF60000010AFDE0010AFDE0010AFDE0010BD57D6 +:10BF70000010AFDE0010AFDE05A9FDC74933C8577A +:10BF800061FE89FF813669C00500000259368C03C5 +:10BF90004C180000593002039000349105AA1DBED0 +:10BFA0000C01F8035C0030001C01F0000010AFFC35 +:10BFB0000010B9970010AFFC0010AFFC0010AFFCF0 +:10BFC0000010AFFC0010AFFC0010AFFC0010B8DB9D +:10BFD0000010BEA10010BED60010BEA10010BED63B +:10BFE0000010AFFC0010BD680010AFFC0010AFFCEB +:10BFF00005A9FDA905A9FDA8B13834A005AA1DA66B +:10C0000041380000493BC8574D1C00004D4000001E +:10C010000C01F8045C0280005C0238001C01F00096 +:10C020000010B0680010B2E10010B0680010B068F5 +:10C030000010B0680010B2E70010B0680010B068DF +:10C040000010B0680010B0680010B0680010B06850 +:10C050000010B0680010B0680010B0680010B06840 +:10C060000010B0680010B0680010B0680010B06830 +:10C070000010B0680010B0680010B0680010B17017 +:10C080000010B1AD0010B1BF0010B2200010B264BA +:10C090000010B2980010B2BA0010B0680010B0687A +:10C0A0000010B2EC0010B0680010B0680010B2F5DB +:10C0B0000010B2FA0010B0680010B0680010B0684C +:10C0C0000010B0680010B0680010B3830010B068B2 +:10C0D0000010B0680010B24D0010B0680010B068D9 +:10C0E0000010B3590010B0680010B0680010B068BC +:10C0F0000010B38E0010B0680010B0680010B06877 +:10C100000010B3CB0010B0680010B0680010B06829 +:10C110000010B0680010B0680010B0680010B420C3 +:10C120000010B0680010B0680010B0680010B0686F +:10C130000010B0680010B1500010B0680010B06876 +:10C140000010B0680010B0680010B15A0010B0685C +:10C150000010B0680010B0680010B4490010B44E70 +:10C160000010B4660010B0680010B0680010B0682D +:10C170000010B0680010B0680010B1660010B06820 +:10C180000010B0680010B0690010B0680010B0680E +:10C190000010B0680010B0E30010B0680010B06884 +:10C1A00005A9FD3D4933C85759CC080182040580D3 +:10C1B00000FFFFFE050204030505FEC2050204019F +:10C1C00005B9FA9F050203FF59A804B38C000504C2 +:10C1D000050002524C5C000059A8089E82040580AC +:10C1E00000000228050200B559CC080082040D00A9 +:10C1F00000FFFFFF8204058000FFFFF0050200B191 +:10C2000059CC080182040D0000FFFFFF8204058065 +:10C2100000FFFFFE050200AD59CC0C078004091099 +:10C2200090040581050200AB59CC0A0A82040580FE +:10C2300000000228050200AF4C6000004C640000C2 +:10C2400091CCBC0B585C0C008204058000000101FD +:10C250000502003F585C0A00900405840502003E78 +:10C2600091CCC40D58600C008204058000000102CE +:10C270000502003B58600A00900405840502003A5C +:10C2800091CCCC0F58640C0082040580000001039F +:10C290000500000482040580000002030502003648 +:10C2A00058640A0082040580000002000502003480 +:10C2B000585C0801900404840502103359CC0A0725 +:10C2C0004807C8574806621B586002014803C85710 +:10C2D000800001C00500002682000C8000000FFFD6 +:10C2E00005021023480354B4480352B3606430007D +:10C2F00061FC19FF601820004D200000417A4000C9 +:10C3000005C9FD815C024000585CC8015860BA0153 +:10C3100091CCC410497A641B0509FA4C59CC0C0421 +:10C3200048066202656A64036406620305E1FDA5CE +:10C3300059A804B384000542480354B35C00C80004 +:10C340005C00C0005C00B8001C01F0004807C85742 +:10C3500005FDF7FB4807C85705FDF7F94807C8571B +:10C3600005FDF7F74807C85705FDF7F54803C85717 +:10C3700005FDF7F34807C85705FDF7F14807C8570B +:10C3800005FDF7EF4807C85705FDF7ED4933C857D6 +:10C3900059CC08018204058000FFFFFE05020389D5 +:10C3A0000505FE480502038705B9FA250502038540 +:10C3B0000501FBB7050201D94C5C000059A8089E95 +:10C3C000900405940502003D59CC080082040D003C +:10C3D00000FFFFFF8204058000FFFFF00502003927 +:10C3E00059CC080182040D0000FFFFFF8204058084 +:10C3F00000FFFFFE0502003559CC0C078004091030 +:10C40000900405810502003359CC0A0A9004059472 +:10C410000502003859CC0C0782040D00000000FF13 +:10C42000900405820502002D59CC0A074807C85719 +:10C430004D30000005DDFD324130B8005C02600087 +:10C440000500002E485FC857585C0C079004058112 +:10C450000502002D585C0A03900405820502002D98 +:10C46000585C0C03B00405980502002D5930000AF1 +:10C47000585C080A800405800502002C585C041BE7 +:10C480008C0005080500002C59A804B3840005425F +:10C49000480354B359CC0C044804BA026578BC0371 +:10C4A0006404BA030005FFBD405E600005E1FD4580 +:10C4B0005C00B8001C01F0004807C85705FDF7FDF7 +:10C4C0004807C85705FDF7FB4807C85705FDF7F9AA +:10C4D0004807C8570501F0024807C857641E641C86 +:10C4E000657E64036402621C5C00B8000501F1AA69 +:10C4F0004807C85705FDF7FA4807C857640E641C7B +:10C5000005FDF7F84807C857640E641C05FDF7F5EC +:10C510004807C857640E641C05FDF7F24807C85762 +:10C52000640E641C05FDF7EF4807C857640E641CD1 +:10C5300005FDF7EC4807C857640E641C05FDF7E9D4 +:10C540004933C8570505FDDF0502031E05B9F9BCCF +:10C550000502031C59CC04074802601E65166403DB +:10C560006406620305E1F5174933C8570505FDD593 +:10C570000502031405B9F9B2050203120501FB44D3 +:10C580000502016659CC00074802601E652A640353 +:10C590006406620305E1F50B4933C8570505FDC97B +:10C5A0000502030805B9F9A6050203060501FB38D3 +:10C5B0000502015A655A64036406620305E1F50148 +:10C5C0004933C85705B9F99E0502000905D1FCF2A7 +:10C5D000050200075932481D592402009000050346 +:10C5E00090000583050000060501F2F66426640349 +:10C5F0006426641C6402621C0501F16705D1FE60BB +:10C6000005000023593402008C00051A05000004BF +:10C610005934000A840005604802680A0505F94596 +:10C620000502002260A680004D3C0000417A78009F +:10C6300005B9F8AB5C027800420000000010D81485 +:10C640000509FAAD4178080005D1F9EF64226403C9 +:10C65000600C3000592404008C00050A0502014ECC +:10C6600059CC400B59CC380C59CC180D59CC080E6C +:10C670009C2041C09C1C39C09C0C19C09C0409C062 +:10C68000641E6203417828000501F13C0505FAA605 +:10C6900005FE07E364266403643A641C4A02621CD4 +:10C6A000000019000501F13C64266403640E641C5B +:10C6B0000501F1394933C85705B9F961050202C1CD +:10C6C00005D1FCB5050202BF493A64030505F8B27D +:10C6D00005020007641A6403592404008C00050A4B +:10C6E0000502012D641E62030509F04F641E6403F8 +:10C6F0006426641C6402621C0501F1274933C85793 +:10C7000005D1FCA5050202AF5934000A82000500DC +:10C7100000010000820005800001000005060D698F +:10C7200005B80947050202A759CC0001820005009F +:10C7300000FFFF008200058000FFFC0005020007EB +:10C7400059A800068C00050E0500000459240400B9 +:10C750008C00050A0502003605D1FE09050200031A +:10C760006006780005D1F8B505D1FDF80500000494 +:10C7700082000580000007030502003259CC020642 +:10C780009000350305020034900034940500103207 +:10C7900059A8309E801834800500102F5934300A73 +:10C7A0008418351690000594050200028418355649 +:10C7B000481A680A59CC04069000050305020026B1 +:10C7C0000505F9270502002B05D1FDCB0502000662 +:10C7D0004C6000004178C000417A780005B9F8B893 +:10C7E0005C00C000916C05830502000660183000F3 +:10C7F0000505FFE1420000000010D8130509FA3ECC +:10C8000005D1F9F6642A64036080300059CC1A0A15 +:10C8100041780800417840004178380059240400EC +:10C820008C00050A050200DC05FDF796642E640302 +:10C83000642E641C4A02621C00002C000501F0D624 +:10C84000642E64036426641C4A02621C00001E00FD +:10C850000501F0D1420000000010D76E0509FA264C +:10C86000642E6403641E641C6402621C0501F0CA29 +:10C87000642E6403640E641C6402621C0501F0C62D +:10C880004933C85705D1FC440502024E0505FD0D8C +:10C890000502024C05B9F8EA0502024A59CC020623 +:10C8A000900035030502001B900034940500101918 +:10C8B00059A8309E801804800500101659CC040633 +:10C8C000900005030502001359340400820005801E +:10C8D0000000070705000013417A78004C60000053 +:10C8E0004178C00005B9F8765C00C00060283000CF +:10C8F0000505FFA1420000000010D8100509F9FE4F +:10C9000064326403417828006084300005FDF7C478 +:10C9100064366403641E641C6402621C0501F09E9C +:10C92000643664036426641C4A02621C00001E0014 +:10C930000501F0994933C85705D1FC1705020221BA +:10C940000505FCE00502021F05B9F8BD0502021D40 +:10C950000501FA4F0502000A493A64030501FA5538 +:10C960000502000364BA640305FDF75C64366403E2 +:10C97000641E641C6402621C0501F0876436640353 +:10C980006426641C4A02621C00001E000501F0823D +:10C990004933C85705D1FC0005FE0715592402008C +:10C9A00090000503900005830502020605D1FD678E +:10C9B000050200270505F8B10502000B643A64037F +:10C9C000592404008C00050A0502007361483000F8 +:10C9D00059CC400859CC380959CC180A59CC080B05 +:10C9E00005FDF7244933C857600C30000505FF6981 +:10C9F0004D3C0000417A780005B5FFB95C02780033 +:10CA0000420000000010D8120509F9BB5934020099 +:10CA10008400055848026A00602C080005D1F8110E +:10CA2000592404008C00050A05020057601C3000E0 +:10CA30000501F04C4933C857643E6403640E641C1E +:10CA40004A02621C00001E000501F0535934040024 +:10CA5000820005800000070305FC07F70501F02FA1 +:10CA60004933C85705D1FBCC050201D65932481DC0 +:10CA7000592402009000050390000583050201D1AE +:10CA800005D1FD29050200210505F88F05040829B7 +:10CA900005020004644264036140300005FDF6EEC7 +:10CAA0004D3C0000417A780005B5FF8D5C027800AE +:10CAB000600C30000505FF37420000000010D8125E +:10CAC0000509F98D593402008400055848026A00AE +:10CAD00005FDF7D464466403640E641C4A02621CBC +:10CAE00000001E000501F02C4933C85705B9F85461 +:10CAF00005040C74050201B30501F9E50502000700 +:10CB0000644A64030501F02459340400820005805E +:10CB10000000070305FC07F0833405800010F5CD05 +:10CB2000050000084D3C0000417A780060A68000B6 +:10CB300005B5FF6B5C027800605C30000505FF15F1 +:10CB4000420000000010D8120509F96B05B9FA4F30 +:10CB5000592404008C00050A0502000B60183000FF +:10CB600060A680004933C85764066403641E6203EC +:10CB7000417828000501F002611A80000505F98D51 +:10CB80000505F7294933C85764066403602C08007B +:10CB900005CDFFB46406620305E1F38A4933C85743 +:10CBA0006024080005CDFFAF6416640305FDF7FAA5 +:10CBB0000505FC440502018305B9F8210502018140 +:10CBC0000501F9B305FE07D56482640364066203B8 +:10CBD00005E1F37C05B9F81A0502017A648E640355 +:10CBE0006406620305E1F3770505FC3605B8081411 +:10CBF000050201740501F9A605FE07C859CC08070E +:10CC00008204050000FFFF000502000A59340212E9 +:10CC1000820005000000FF00050000065932481D93 +:10CC20005924000582000500000000FF0501F00303 +:10CC30005932481D5924000582040D0000FFFFFFF2 +:10CC4000800405800502001559CC140805F9FC0C78 +:10CC50000500002C591C0202820015800000FFFF15 +:10CC60000500000459CC1208800805800502002543 +:10CC7000591C000A8134058005020022591C041643 +:10CC80008C00051A05020015591C04079000058741 +:10CC90000502001C0501F02959CC12088208058004 +:10CCA0000000FFFF0500001205F9FBF50500001567 +:10CCB00059CC1408591C0202800805800502002581 +:10CCC000591C000A8134058005020022591C0416F3 +:10CCD0008C00051A0500001382000500FFFF1FFFEE +:10CCE00048023C16491E602A0501F01859CC140868 +:10CCF000417800000501FE0C05FE07F20501F01366 +:10CD0000649A64034A02621C0000170059CC12089E +:10CD1000820815800000FFFF05FE079F0501F00B4C +:10CD2000591C04079000058705FE07F6591C0403EB +:10CD3000900005A4050200054D300000411E600072 +:10CD40000005FFBD5C0260006496640305FDF79278 +:10CD500059CC1408417800000501FDF305FE07E9F0 +:10CD600005FDF7FA4933C8574D3C000060067800CE +:10CD700005CDFF325C0278004C5800006008B0001E +:10CD800091A81C0291CC140B05F1FADF5C00B000F5 +:10CD90000500000364C6640305FDF77F0005FFBDC1 +:10CDA0006008B00091A81C0091CC140D05F1FAD6D2 +:10CDB0000502000C05DDFAD10500000A5930040710 +:10CDC0009000058105020007593004039000058298 +:10CDD000050200045930000A8134058000040FBDAB +:10CDE00005D5FA860502000905D5FA900502000569 +:10CDF000640750326006D80005D5FA030501F00338 +:10CE00006004000005D5FA561C01F00005B5FF8C42 +:10CE1000050200EC0501F91E05FE0740493A6403CE +:10CE20000501F9780502000364AE640305FDF75AB5 +:10CE300064B2640305FDF7584933C85705DDFDB8F2 +:10CE4000050200E005B5FF7E050200DE05D1FC2AE3 +:10CE500005FE073259CC04084802641B59CC02086D +:10CE60004802621B59CC08075934000282000500B1 +:10CE700000FFFFFF80040580050000125932481DA5 +:10CE800059240005800405800502001E59CC1408B1 +:10CE900005F9FB7B05000020831C0580FFFFFFFFD9 +:10CEA000050000050505FA950500001B0505FE1C9B +:10CEB00005000019491E602A64DA64030501F0BD0B +:10CEC00059CC1208820805800000FFFF0500000809 +:10CED00005F9FB6B05000010591C020259CC0C0827 +:10CEE000800405800502000C05FDF7EC59CC140800 +:10CEF000600400000501FD8C0500000705FDF7E753 +:10CF00004803C8566426641C4A02621C00001500CF +:10CF10000501F0054803C856640E641C4A02621CF1 +:10CF20000000170064DE64030501F0A24933C8570E +:10CF300005DDFD7B050200A305B5FF41050200A14B +:10CF400005D1FBED05FE06F505D1FA81050000458A +:10CF500059CC04074802641B59CC1207480A621BCB +:10CF6000820805800000FFFF0500000405F9FB446E +:10CF7000050000360501F00859CC140760040000D4 +:10CF80000501FD6905000031831C0580FFFFFFFFDF +:10CF90000500002E59CC0C07591C020280040580A4 +:10CFA0000502002A0505FDDE05000028591C0416AF +:10CFB0008C0005160502002F4D300000411E600058 +:10CFC00005F5FA0C5C026000641E3A0359CC0C09AA +:10CFD00082040D000000FF00840409C09004058154 +:10CFE00005000009900405850500000B90040587E5 +:10CFF00005020011420000000010D7FF0509F83EAD +:10D000000501F008420000000010D7FE0509F83ABB +:10D010000501F007420000000010D7FD0509F836B1 +:10D02000591C0009800005400500000359CC280860 +:10D030000505F2444803C8566426641C4A02621C73 +:10D0400000002A000501F0054803C856640E641C60 +:10D050004A02621C0000030064EE64030501F055FF +:10D060004803C856642E641C6402621C05FDF7FB6D +:10D070004803C856641E641C6402621C05FDF7F771 +:10D0800059CC00018200058000FFFFFE0502004D23 +:10D090004C08000005D1FA400500002105D1FA2115 +:10D0A0000505FB600502001C5932481D5924020089 +:10D0B00082000540000000E048024A0059A80239F9 +:10D0C000900005434803523959A80036800000D02B +:10D0D00059A8082D82040D00000000FF80041540AF +:10D0E000480B502D600C080005E1FEF9497B503BD0 +:10D0F0008D0C0520050000044A032804000007D019 +:10D100000501F0010005FFBD05B5FF8E5C001000B4 +:10D110001C01F0000505FB5D05FDF7FD5C0010003E +:10D120000005F7BD0501F82905000026653A6403EE +:10D130006406620305E1F22305D1FB7B05FE067759 +:10D14000653E6403497A601E59CC0A0682040D00CC +:10D15000000000FF800409C005FC068F90040581D3 +:10D160000502000559CC080859A80005800405806F +:10D1700005FC0689900405820502000691CC140B7B +:10D180006008B00091341C0605F1F9DF05FC068249 +:10D190006406601E05FDF68005D1FB6305FE065F93 +:10D1A0006542640359CC02074802601E05FDF67A09 +:10D1B0006406620342000800800000400005F68E0D +:10D1C0004803C8570005F7BD4D2C00004C50000027 +:10D1D0004C5800004C54000059A8009E82000C805E +:10D1E000000008410502102105A9FCAF0500001F41 +:10D1F000492E600959A8009E480258059000040372 +:10D200008000010491CCA40690000C87050010104A +:10D21000641E5811601CB000912C04094000A80045 +:10D220000509F880412C7000800409C00502000344 +:10D23000497870010501F00B05A9FC9B0500000B66 +:10D24000492C70014004000005FDF7F04802581118 +:10D250004000B000912C04094000A8000509F871B5 +:10D26000900005410501F005497B509E593258094F +:10D2700005A9FCB7800005805C00A8005C00B00038 +:10D280005C00A0005C0258001C01F0004D3400005E +:10D290005932680A593434004933C8574937C85796 +:10D2A000481BC85705D1FB205C0268001C01F00038 +:10D2B0004933C8574C6000004D3C00004D4400000D +:10D2C0004D3400000501F8580502004659CC02070C +:10D2D00082000D000000FF00900411C059CC000A2C +:10D2E0008200050000FFFFFF80081540480A601E0D +:10D2F0008C04051805000011602030000505FD189C +:10D30000420000000010D8110505FF7B59240400DD +:10D310008C00050A050200056008280060903000B6 +:10D32000611A80000501FFA36004C000417A780003 +:10D3300005B5FDE30501F02D8C04051A0500002953 +:10D3400059CC000A59CC3800821C3D0000FFFFFF79 +:10D3500005D9FFDC05D00B3C050200225930001D29 +:10D360004C00000005D1FB304926601D5930000AF1 +:10D370004C00000059240C008C04050A0502000B27 +:10D3800059340C0359341802820C1D0000FFFFFFB2 +:10D39000580024036010280060903000611A80005B +:10D3A000413010000501FF8F4936600A60243000CB +:10D3B0000505FCF1420000000010D8110505FF4EE4 +:10D3C000417A78004178C00005B5FDBD5C000000E1 +:10D3D0004802600A5C0000004802601D0501F0037D +:10D3E000900005410501F002800005805C026800A4 +:10D3F0005C0288005C0278005C00C0001C01F00048 +:10D400004933C85759CC0206900004900502100415 +:10D410006402621C900005410501F0028000058055 +:10D420001C01F0004933C8576402621C59CC040740 +:10D43000820005000000FF00820005800000080057 +:10D440000502000D59CC020659A8089E80040480EC +:10D450000500100A59CC00068200050000FF0000FC +:10D4600082000D80001400000500000382000D8082 +:10D47000001000001C01F000420000000010D8065F +:10D480000505FF1D9000054105FDF7FB593004031C +:10D49000B00034A005AA1880913835930502000623 +:10D4A0004803C8574C0000000505FD8F5C000000D4 +:10D4B0000C01F0294933C857493BC857913835A763 +:10D4C0000500000D913835940500000BB13805A119 +:10D4D00005000003B13805A005AA086F05E5F97439 +:10D4E00005EA04C9593002039000058E05F406DBF5 +:10D4F00005A9F869493BC8574937C8570505FD785C +:10D5000005D1F908601C080005CDFD5605E1FD1D9B +:10D510004D2C00000505FDC60502000D59325809C5 +:10D52000812E59C0050200035C02580005E1F12577 +:10D5300005F5FD4A05A8085805F9FBC105AA0856D6 +:10D5400064C65A0A641258100001FB785C02580045 +:10D5500005E9F4490010B5B50010B5F60010B5B5F1 +:10D560000010B5B50010B5B50010B5F60010B6073F +:10D570000010B6D90010B65A0010B6D90010B67314 +:10D580000010B6D90010B6780010B6D90010B67BDE +:10D590000010B6D90010B67B0010B6D90010B6D96D +:10D5A0000010B5B50010B5B50010B5B50010B5B593 +:10D5B0000010B5B50010B5B50010B5B50010B5B583 +:10D5C0000010B5B50010B5B50010B5B50010B5F632 +:10D5D0000010B5B50010B6D90010B5B50010B5B53E +:10D5E0000010B6D90010B5B50010B6BF0010B6D9FE +:10D5F0000010B5B50010B5B50010B5B50010B5B543 +:10D600000010B6D90010B6D90010B5B50010B6D9C3 +:10D610000010B6D90010B5B50010B6020010B5B5AF +:10D620000010B5B50010B5B50010B5B50010B67D49 +:10D630000010B6D90010B5B50010B5B50010B6A5EC +:10D640000010B6D90010B5B50010B5B50010B5B5CD +:10D650000010B5B50010B5B50010B5B50010B5B5E2 +:10D660000010B5B50010B5B50010B5E90010B5B59E +:10D670000010B5B50010B5B50010B5B50010B5E98E +:10D680000010B5B50010B5B50010B5B50010B5E97E +:10D690000010B5E90010B5E90010B5B50010B5B53A +:10D6A0000010B5B50010B5B50010B5B50010B5E95E +:10D6B0000010B5B50010B5B50010B5B50010B5C473 +:10D6C0000010B5DF0010B5B60010B5B50010B5B547 +:10D6D0000010B6D905A5FFF04933C85705F9F8ADD4 +:10D6E000050000074A02601C0010B5BF59A8004E93 +:10D6F00048026205643A62031C01F000640A620396 +:10D7000059A8004C800000C4480260061C01F000CB +:10D710004933C85705F9F89F050000074A02601C05 +:10D720000010B5CD59A8004E48026205643A620364 +:10D730001C01F000916C05830502000A5930041B9E +:10D740004803C8579000050F0500000A9000050C1B +:10D75000050000044803C85705FDF8470501F0051A +:10D760004803C857657264036406620305E1F095D7 +:10D770004933C8570005FFBD1C01F0004933C857A5 +:10D7800005F5FCB6050000F84D2C0000593258098B +:10D7900064025A0A0001FB785C025800497A600969 +:10D7A0000501F0F105F9F87B0500000759A8004EC6 +:10D7B00048026205643A620359A8004C48026006B8 +:10D7C0001C01F0004D2C00005932580905A9FB60DE +:10D7D0005C0258000005F7BD59A8004C48026006DD +:10D7E00005F9F86C050000074A02601C0010B6003D +:10D7F00059A8004E48026205643A62031C01F00019 +:10D80000640A62031C01F0004D3C0000417A78007C +:10D8100005CDFC8A5C0278000501F0D305D1F9CB77 +:10D82000050000D159A802398C0005080500000E3A +:10D830005932680A4C5800006008B00091A81C02D8 +:10D840009134140605F1F830800005405C00B0000A +:10D85000050200C5593402008400051A48026A0016 +:10D860000501F037599C00178C00050A05020007D6 +:10D870004D3C0000417A780005CDFC705C027800D8 +:10D88000601C080005CDFC775934021282000500A7 +:10D890000000FF000502001E83440D80000007FE0B +:10D8A000050200B105B5FEF905C9FAF30500000946 +:10D8B000592402008C00051E05000010593008098B +:10D8C0004D30000005B9F8665C0260000501F0A665 +:10D8D00059A802398C000514050000A38324058093 +:10D8E0000010D8CF050200054D30000005B5FD70D1 +:10D8F0005C0260000501F09C59A822398C100514C7 +:10D900000500009905B5FED80501F097599C001750 +:10D910008C00050A05020094599C00198C00050E24 +:10D9200005020091416C0000900005820502000490 +:10D9300059A800348000000048035034600C0800EF +:10D9400005CDFC486406640764066203640A640348 +:10D9500005E1F81C4CE800006005D00005DDFBEE99 +:10D960005C01D0001C01F000593402008400051A4B +:10D9700048026A0005D1F96C0500007B60100800C0 +:10D9800005CDFC380505FB9F0502007705F9F80178 +:10D990000500000959A8004E48026205643A620376 +:10D9A00059A8004C480260064A02601C0010B66D7F +:10D9B0001C01F0006014080005CDFC2A6406640711 +:10D9C00064066203640E640305DDF7FE05D1F95FAA +:10D9D00005020065601808000501F86C0501F06299 +:10D9E0006010080005CDFC1F05FDF78F05CDFFCDAC +:10D9F0000501F05D4D30000005F5FFE60500000C67 +:10DA00005930082A40066000593004168C00051E63 +:10DA1000050200035C0260000501F0555C02600035 +:10DA20004A02601C0010B68D0501F0515C026000D6 +:10DA30000005F7BD4C3400004130680005E9FB41AA +:10DA40000500001264066203647A640358340C1BF8 +:10DA50004806641B58340A1B4806621B5834002AC7 +:10DA60004802602A5834080A4806600A5834081DDB +:10DA70004806601D05F5FFB86412640742000800FF +:10DA8000800000400005FE8E403660005C006800AB +:10DA90000005F7BD5930082A4807C857800409C057 +:10DAA000050000315804001E813005800502002E5B +:10DAB0004978081E580414168C0805160500002A1B +:10DAC0008C080514050000288408151648080C1653 +:10DAD00058065809812E59C005000023492FC85700 +:10DAE0004D30000040066000641E6203417A7800F9 +:10DAF0000005FE2F5C0260000501F01B05F5FFA587 +:10DB0000000407BD5930002A8000054005000018B8 +:10DB10004C34000040006800583404075C00680082 +:10DB200090000583000607BD4A02601C0010B6CDB8 +:10DB30000501F00F4D3000004D1C00005932382A0D +:10DB400005E9FB00050000044A026416000001001C +:10DB500005F5FE455C0238005C0260000005F7BD7B +:10DB600005CDFBC005F5FF8B000407BD497A601C9D +:10DB700059A8004E48026205643A620359A8004C55 +:10DB8000480260061C01F0004933C8574807C857CF +:10DB900005CDFBB44D3C0000417A780005CDFBA7D4 +:10DBA0005C0278005934000A840005204802680AA3 +:10DBB00005CDF75C593404004803C85780000110B4 +:10DBC0009000348C05A61EB49138359505020002EC +:10DBD0000C01F0049138359605A60EAF0C01F00D3E +:10DBE000001091650010916500109165001091651D +:10DBF0000010C2CE001091650010B7320010B710AF +:10DC000000109165001091650010916500109165FC +:10DC100000109165001091650010916500109165EC +:10DC20000010C2CE001091650010B7320010B7434B +:10DC300000109165001091650010916500109165CC +:10DC40004933C8575932481D592404008C0005082F +:10DC500005000014813669C0050000125934021213 +:10DC6000820005000000FF000500000E599C00190D +:10DC70008C00050E0502000B4D3C0000417A780037 +:10DC800005CDFB6E5C027800600C080005CDFB75CD +:10DC90006406640764066203640A640305DDF749E9 +:10DCA00059CC000159340802800405808200050027 +:10DCB00000FFFFFF000607BD5934500205CDF910E3 +:10DCC000482A68020005F7BD4933C8575930340364 +:10DCD0009018359E0502000D91383595000607BD58 +:10DCE0004C3400005930682A803469C005000005B2 +:10DCF0005834341682183500FFFF1FFF48186C1681 +:10DD00005C0068000005F7BD1C01F0004933C857EE +:10DD100005EDFD0D000607BD64066203640664039D +:10DD200005DDF728493BC857B138059105020007C2 +:10DD300005E1FF5F05EA02B4593002039000058255 +:10DD40000500006205A5FE54913805A705000015E1 +:10DD5000B13805880500000D9138059405000011C3 +:10DD6000B13805A105000003B13805A005A60E4A8B +:10DD700005E1FF4F05EA02A4593002039000058E29 +:10DD80000500061705A5FE4405E1FF4905EA029EC8 +:10DD900059300203900005840008011F05A5FE3ECE +:10DDA0004933C85759300403B0000C8405A61E3A05 +:10DDB000B000048005A41E38400270004803C85714 +:10DDC0000C01F0010010B7750010B7760010B7769F +:10DDD0000010B78C05A5FE3005E1FAEA5932580962 +:10DDE000812E59C005000012832C050000FF0000A1 +:10DDF0000500000F640A62035932680A59340200B0 +:10DE00008C00050E0502000A601280000501FCD599 +:10DE1000497A600959300006800005400502000378 +:10DE200059A8004D48026006641E62031C01F00000 +:10DE300005E1FAD405F5FB0905E8020F5932580946 +:10DE400005A9F9BA05E9F20C05A5FE1305F5FED101 +:10DE50000500000559A8004E48026205643A6203B5 +:10DE60000501F00959325809592C040E8C0005029D +:10DE700005000004641E6203610E70000005F7DBFC +:10DE8000641262031C01F0000501FF930008011DEC +:10DE90001C01F00005F5FEBF050000074A02601CEA +:10DEA0000010B7AD59A8004E48026205643A6203FB +:10DEB0001C01F000640662036506640342027800F8 +:10DEC000800020420005F68EB13804980500100845 +:10DED000B13805A105000004B13805A00500000215 +:10DEE00005A5FDED4933C8571C01F000B138059177 +:10DEF00005000004B138058105A60DE71C01F000FE +:10DF00000005FE4C0501FFAB0005F7BDB1380498D4 +:10DF100005F21193B138049205A61DDFB1380489CA +:10DF200005A41DDD0C01F0010010B7D40010B802EB +:10DF30000010B7D30010B7D30010B7D30010B7D379 +:10DF40000010B8020010B7D30010B82005A5FDD20C +:10DF500005F5FE900500000B593004168C000504F1 +:10DF6000050200084A02601C0010B7E059A8004EE4 +:10DF70004802620564426203652664031C01F000E6 +:10DF800059325809592C040E8C00051E050000104A +:10DF900082000D00000000C082040D80000000809F +:10DFA00005000011593008048C0405180502000E04 +:10DFB000593004168C00051605000003641E620328 +:10DFC0000501F011610670000009F143641E62034F +:10DFD000497A6006593004168C0005160502000ABD +:10DFE0000005F64C59325809592C0C0E8C04051AB0 +:10DFF000050200030005FE4C0005F7BD0501FF36D4 +:10E0000005FC07FD1C01F00005E1FA4159325809F1 +:10E010005932680A593402008C00050E0500000DC3 +:10E02000592C040E82000500000000C0820005800B +:10E030000000008005000005592C00135930181706 +:10E04000800C1C80480E6017640A62030501F00C06 +:10E05000601280000501FC4305F9FC1459300006EC +:10E06000800005400502000459A8004D800000C250 +:10E0700048026006497A6009641E62031C01F000D0 +:10E080004933C85705E1FE8A05A60D8359300203BE +:10E090009000058205FC078D05A5FD7F641E6203C7 +:10E0A000497A60060005F64C641E6203497A6006F0 +:10E0B0000005F647593004168C00051C000A013291 +:10E0C00059325809592C2013400800008010248030 +:10E0D0005930001780102400481260170009F132EF +:10E0E0008C04050E05020007641A62030501F81886 +:10E0F0005930002B8000054005AA0E680005F64740 +:10E10000640A62031C01F0006004080005A9FE63B4 +:10E11000900405810008013705FDF7E45930041625 +:10E120008C00051C0500000405A9FC3D0008012C1D +:10E130001C01F00059300013800005400502000367 +:10E1400005A9FC370008012C1C01F000492FC85715 +:10E15000480BC8578C08053E050000058008108054 +:10E1600080081000602408000501F00260540800D7 +:10E17000480A580F1C01F0001C01F000913805936B +:10E18000050000039138059405A60D435930041687 +:10E190008C00051605A40D401C01F00005A5FD3EF0 +:10E1A000593000098000054005A60D3B1C01F00018 +:10E1B000593004168C00051605A40D371C01F0001B +:10E1C00064126203493A640342000800800020019F +:10E1D0000005F68E640E6203493A640305F5FDED11 +:10E1E00005000007593004168C00050A05020004DA +:10E1F0004A02601C0010B87F1C01F0000001F99475 +:10E2000059325809592C040E8C00051E05000011C6 +:10E2100082000500000000C0820005800000008030 +:10E220000500000F593004168C0005120502000984 +:10E230008C00051005020007592C041080000540D1 +:10E240000502000482080D40800030650005F6805C +:10E2500082080D40800020650005F68082080D4090 +:10E26000800020420005F6804933C857493BC85713 +:10E27000B138048405A61D08B138048105A41D0623 +:10E280000C01F0010010B8A40010B8B20010B8C41E +:10E2900059325809592C040E8C00051E050000192E +:10E2A00082001D00000000C0820C1D80000000C024 +:10E2B0000500001464066203493A64034200080042 +:10E2C000800020420005F68E59325809592C040E60 +:10E2D0008C00051E0500000B82001D00000000C020 +:10E2E000820C1D80000000C0050000066406620369 +:10E2F000493A640342000800800020010005F68EC0 +:10E30000497A6009497A6006601280000501F39538 +:10E3100059325809592C040E8C00051E05FC07F9CA +:10E3200082001D00000000C0820C1D80000000C0A3 +:10E3300005FC07F4640E6203493A640305F5FD9594 +:10E3400005000007593004168C00050A0502000478 +:10E350004A02601C0010B8D71C01F0000001F994BB +:10E3600082080D40800020650005F6804933C857BB +:10E37000493BC8578338058000000085050000052B +:10E3800083380580000000880500000705A5FCC251 +:10E3900064266203493A640342000800800000409A +:10E3A0000005F68E8330058000110DE005A60CBA3D +:10E3B0004D1C0000813669C0050000030501FE41C7 +:10E3C0000502005759CC1404417800000501F856A5 +:10E3D0000500002559CC0204820015800000FFFFD3 +:10E3E00005000004591C1402800805800502001E67 +:10E3F00005F5FD680500001059CC00058C000500EE +:10E400000500000D4D300000411E600005F1FCF9D3 +:10E410005C0260000500002A591C04168400055A9D +:10E4200048023C16593004168400055A4802641606 +:10E430000501F029591C04079000051F900025864E +:10E4400005000005900025840500002A9000259114 +:10E4500005020005497A3A056150200005E9F9E313 +:10E460000501F02F592404008C00050A0502000460 +:10E4700042023800FFFFFFFF05FDF7F8813669C053 +:10E480000502000F59CC000159CC3800821C3D0018 +:10E4900000FFFFFF4C1C000005D9FB8A5C00380020 +:10E4A0000502001F05B5FC0A0502001D05CDF99403 +:10E4B0000502001B4926601D4936600A4A026403B2 +:10E4C0000000008759CC1204820815800000FFFF6D +:10E4D000050200034A026403000000864D2C000080 +:10E4E0000505F8EC05D1F9625C0258000501F00C55 +:10E4F000591C0403900005B805FC07D8591C0203F9 +:10E500009000058705FE07D84D300000411E6000D1 +:10E5100005E9F8595C02600005FDF7D35C0238009C +:10E520001C01F0004933C857480BC8574C5C000029 +:10E530004000B8004200280000110E4041300000A9 +:10E54000801405800500001C58140203900005800B +:10E550000500001958140202800805800502001603 +:10E56000581402039000058F0500001358141C076F +:10E57000900C0585050000108C5C0500050000036B +:10E58000900C05870500000C5930200A5814000A29 +:10E59000800001C00500000D82001D800010F5CD37 +:10E5A0000500000A801021C00500000380100580CE +:10E5B0000500001190142C30415400008014048098 +:10E5C0000502101D05FDF7DE5814002A801021C039 +:10E5D00005000005581020028210250000FFFFFFF3 +:10E5E00005FDF7F38C5C050005FE07F35930202A82 +:10E5F00005FDF7EF401638008C5C050005000007AC +:10E600004C0800004C1400000505F8455C0028008B +:10E610005C00100005FC07E8591C000A800001C0DE +:10E62000050200035930000A4802380A81300540CB +:10E630000501F0098C5C0500050000074008080092 +:10E6400042023800FFFFFFFF05D1F91205FC07F376 +:10E65000800005805C00B8001C01F0004933C857F9 +:10E660008330058000110DB00502002D64026203A5 +:10E670009138059305020022593004038200058079 +:10E680000000009205A60C0459A8008D59325809C3 +:10E69000812E59C005000005812C058005A60BFEC2 +:10E6A000592C0000497A5800800001C00500000480 +:10E6B0004803508D05E5FEE80501F003497B508DC8 +:10E6C000497B508E812E59C005000014592C020838 +:10E6D000B000059505A40795913805930502000340 +:10E6E00064025A0A0001F37864C65A0A6412581583 +:10E6F0004A025816000000FF0001F378913805A780 +:10E70000050000039138059405A60BE3493BC85763 +:10E7100005E1F89C05FDF7D91C01F0004933C85705 +:10E72000913805930502000C593004034803C8577B +:10E7300082000C800000008505A41BD782000C809D +:10E740000000009305A61BD4820004800000008511 +:10E750000C01F01C913805A70500000F91380594B5 +:10E760000500000D493BC857B13805A1050000035D +:10E77000B13805A00502000705E1FCCD05EA00223D +:10E78000593002039000058E0500038605A5FBC2E3 +:10E7900005E9F01D493BC85705E1F87A5932580997 +:10E7A000812E59C005E407B464C65A0A641258158C +:10E7B0004A025816000000FF0001FB7805E5F7AE9D +:10E7C0000010B9FE0010BA020010BA020010B9FE23 +:10E7D0000010B9FE0010B9FE0010B9FE0010B9FE1D +:10E7E0000010B9FE0010B9FE0010B9FE0010B9FE0D +:10E7F0000010B9FE0010B9FF05A5FBA75932580952 +:10E8000064025A0A0001FB780005F7BD4933C85776 +:10E81000420000000010D8220505FA370501FD6509 +:10E82000497A6205602E80000501F805641A6407C4 +:10E83000641E6203497A60061C01F0004933C85720 +:10E840004943C85759300407900005870502000264 +:10E850001C01F00005E1F8F14DF0000005F5F87F2E +:10E860000500000A593008095804000080001540CE +:10E8700005000006497808004D2C0000400A5800A9 +:10E880000501FA385C02580005F1FD0490000C9176 +:10E8900005A61B810C01F0010010BA4A0010BA4D08 +:10E8A0000010BA370010BA570010BA630010BA3718 +:10E8B0000010BA370010BA370010BA370010BA3754 +:10E8C0000010BA370010BA370010BA370010BA3744 +:10E8D0000010BA370010BA370010BA3705F9F9F34B +:10E8E0004D4000005930002B800005400500000419 +:10E8F0004140080005A9FC69400680004D2C00003D +:10E900005932580905F5F85505020A164C5C000005 +:10E910005930B80A05E5FF58485E600A5C00B80047 +:10E920005C0258005C0280005C03E00005E000AC83 +:10E930001C01F000598C000B81300580050200039A +:10E9400005E1FBB20502000E05DDFD6305FC07E4F1 +:10E9500005DDFFD60500000A05A5FB4F05F1FCC447 +:10E960000502000305E1FB790502000505DDFC7ADF +:10E9700005FC07DB05DDFFCD05A60B47593002037B +:10E9800090000C9105A61B440C01F7C405A9FD5588 +:10E9900005FDF7D34933C8574D2400004D4400000E +:10E9A0004D3400004C58000059CC3800821C3D000A +:10E9B00000FFFFFF59CC00074C00000059CC0001BC +:10E9C0008200050000FFFFFF82000D8000FFFFFEB8 +:10E9D0005C00000005020005801C0D80050200504F +:10E9E0004200000000FFFFFE05D9FA3605CC0D9667 +:10E9F0000502004B91CC14086008B00091341C064D +:10EA000005EDFBC1050200455930001D4C0000001A +:10EA100005CDFD854926601D5930000A4C000000D7 +:10EA200059242C008C14050A0502001181342D8014 +:10EA300005000002601028005800240359340C031C +:10EA400059341802820C1D0000FFFFFF60143000D3 +:10EA500059CC400859CC38099C2041C09C1C39C075 +:10EA6000611A8000413010000501F9DE4936600A64 +:10EA700083440D80000007FE0502000F606830002F +:10EA80000501FF44420000000010D80F0505F99A67 +:10EA90004D3C00004D40000060A6800005B5FA7BAB +:10EAA000602A780005B5FAC75C0280005C02780035 +:10EAB0000501F00D602C30000501FF36420000001A +:10EAC0000010D80F0505F98C4D3C00004D400000AA +:10EAD00060A68000417A780005B1FF815C02800069 +:10EAE0005C0278005C0000004802600A5C000000E4 +:10EAF0004802601D59CC000783440D80000007FECA +:10EB0000050200054200000000FFFFFE4A026C0003 +:10EB10000000070748026802800005805C00B00022 +:10EB20005C0268005C0288005C0248001C01F00086 +:10EB30004933C8574C04000059A8009EB00005B4E2 +:10EB40000502004059CC0A0882040480000001003C +:10EB50000500103359CC0C08820405000000800029 +:10EB60000500003559A80031800005400502000964 +:10EB70005930100A58080212820005000000FF00F8 +:10EB80000500000482040500000008000500002ABA +:10EB900059CC0C09800408400500102459A80A39F2 +:10EBA0008C0405060500000459CC0C0F8C04051ECE +:10EBB0000502001259CC0A17800409C00502001290 +:10EBC00059CC0A18820404800000010005001014CA +:10EBD00059CC0C18800409C00502000E59CC0C1940 +:10EBE000800408400500101159CC0C1A800408401C +:10EBF000050010110501F0174A02621C0000010017 +:10EC00000501F0124A02621C000003000501F00F2A +:10EC10004A02621C000005000501F00C4A02621C59 +:10EC2000000007000501F0094A02621C000009000B +:10EC30000501F0064A02621C00000F000501F00306 +:10EC40004A02621C00002D00900005410501F002FF +:10EC5000800005805C0008001C01F00059CC04070E +:10EC60004803C85782000580000008000500000224 +:10EC70006402621C1C01F0004933C8574C58000064 +:10EC800059CC000C5934080282040D0000FFFFFF2C +:10EC9000800405800502000A91CC14086008B000C9 +:10ECA00091341C0605EDFB180502000591CC140AF1 +:10ECB0006008B00091341C0805EDFB135C00B00047 +:10ECC0001C01F0004933C8574C58000091CC140B7C +:10ECD0006008B00091341C0605EDFB0B050200082E +:10ECE00091CC140D6008B00091341C0805EDFB06B2 +:10ECF000050000144933C8564933C8564933C8572C +:10ED0000593400094803C8575934000E4803C857FE +:10ED1000593400084803C8575934000D4803C857F0 +:10ED2000593400074803C8575934000C4803C857E2 +:10ED3000593400064803C8575934000B4803C857D4 +:10ED40005C00B0001C01F0004933C8574947C85760 +:10ED50004943C8574C60000005DDFFB04DF000008E +:10ED60004D2C00004D3000004D3400000501F8C668 +:10ED70004130C0004202600000110E4059A8002B33 +:10ED80008060C1C0050000058260158000110DE0A3 +:10ED9000050000028000004081640480050210919B +:10EDA0004060000081300580050000890501F9E41C +:10EDB00005020087812649C0050000045930001D66 +:10EDC00081240580050200825932680A05E5FC604D +:10EDD0000500007F5930040790000C9205A61A2EFA +:10EDE0000C01F0010010BBF30010BB8C0010BB9AAB +:10EDF0000010BBA40010BB8C0010BB9A0010BBCC51 +:10EE00000010BBD90010BB8B0010BB8B0010BBDF08 +:10EE10000010BB8B0010BB8B0010BB8B0010BB8B9A +:10EE20000010BBEF0010BBEA0010BBE805A5FA1A02 +:10EE300059300403B0000583050000650501FF2873 +:10EE400005F1FFF60500000505F5F8030502005C75 +:10EE500005E9FD4D0501F05A05B1FEE805F1FFFE9B +:10EE600005E80D490501F0565932580905F1FEFB38 +:10EE70000500005349425A0A497A5C0D0001FB78AB +:10EE8000593002299000058305F00FD10501F04C9F +:10EE900005F9FB30593000088C000500050000031F +:10EEA00005A9FC100501F007593002039000058404 +:10EEB00005A80C0C593002039000058405A80C0924 +:10EEC0005932580905F1FEE50500003D592C0208AC +:10EED00082000500000000FF9000059405F20FBCC1 +:10EEE00005F9F8720005F9FA05D5FCB14A025A088D +:10EEF00000000103592C040C8C00051205000006CB +:10EF00004D2C0000592C000D4002580005A5FD9025 +:10EF10005C02580049425A0A497A580D0501FBDF44 +:10EF200005F5FD4D05F5F8260001FB780501F024F7 +:10EF3000593002039000058405A80BEA593258099C +:10EF400005F1FEC60500001E49425A0A0501FBD321 +:10EF500005F9F8560005F9FA05F5FD3F0001FB78C3 +:10EF60000501F017593002039000059105020018C1 +:10EF700059300429480262030501F0155930020393 +:10EF80009000058405A80BD75932580905F1FEB346 +:10EF90000500000B49425A0A0001FB780501F00800 +:10EFA0005932581905A5FD6A5932580905F1FEABC9 +:10EFB0000500000349425A0A0001FB7805E5FDAE51 +:10EFC0008D3C051C05000002497A600A91326430CC +:10EFD000415800008130048005FC17720501F002E1 +:10EFE000415260008D3C05180500002059A8088892 +:10EFF00059A80089800404800500001C81300800A5 +:10F000004154000080040480050210185930000AA1 +:10F01000800001C005FE07660001FAFE05FE07EC50 +:10F020005934080282040D0000FFFFFF5930002A06 +:10F030008004058005FE07E65934081382040D009C +:10F0400000FFFFFF593000298004058005FE07E01E +:10F050005930020390000588050200020501FDF603 +:10F060004936600A05FDF75A5C0268005C026000E0 +:10F070005C0258005C03E00005DC0ED95C00C000B7 +:10F080001C01F0004933C857813261C005000025DA +:10F0900083300D8000110DE0050000228D3C050637 +:10F0A0000502002059300C07900405810500000876 +:10F0B000900405820502001B593002299000058149 +:10F0C0000502001859300C180501F00259300C03E4 +:10F0D000900405B905000003900405B50502001170 +:10F0E0004D3000004D1C00005932602A4933C8578A +:10F0F00005F5FAEC05A40968591C001E497A381E6A +:10F10000591C0C1684040D0248063C165C0238009B +:10F110005C0260008130058005A6095F497A602A9B +:10F120001C01F0005C0000004C0000004803C857C0 +:10F130004D3C00006006780005C9FE405C02780086 +:10F140004C5800006008B00091A81C0291CC140B30 +:10F1500005EDF9ED5C00B000800005401C01F000F9 +:10F16000492FC8574943C85759A8000C812C04801F +:10F170000500100F59A8000A812C04800502100C0C +:10F18000592C000080005D4005000007497A5800B6 +:10F1900049425A0A4C2C00000001FB785C025800DE +:10F1A00005FDF7F849425A0A0001F3781C01F00006 +:10F1B00061FC21FF5930100A800811C005000002CF +:10F1C00058082403413010000501F0064178100072 +:10F1D000414420000501F0034178100061FC21FF4B +:10F1E0005C0000004C0000004803C857480BC8579B +:10F1F0004813C857492FC8574943C8574D2C0000DA +:10F200004C0400004C0800004C0C00004C100000A6 +:10F210004C1400004C1800004C1C00004C20000056 +:10F2200005A5FCB205A4091C5C0040005C00380088 +:10F230005C0030005C0028005C0020005C001800CE +:10F240005C0010005C0008004A0258080000010D34 +:10F25000800811C005000019914005A9050200139E +:10F260009018058205000009901805830500000725 +:10F270009018058805000005901805860500000611 +:10F2800090180589050200094A02580DFFFFFFFF8B +:10F290000501F0075808280A5814000282000500EA +:10F2A00000FFFFFF48025816480A580D580802028E +:10F2B00048025C170501F0054A02580DFFFFFFFFE9 +:10F2C0004A025C170000FFFFB140058605000002FE +:10F2D00041782800480E5810480658114822581204 +:10F2E000481E581348165A0B481A5C0C49425A0CCF +:10F2F00048125A0A821005800000FFFF0500001125 +:10F300004D4400004D3400004012880083440480C6 +:10F31000000007F00500100305CDFB4B0501F002CE +:10F320000001FAFE05A608DC59340002820005003F +:10F3300000FFFFFF480258165C0268005C0288006C +:10F34000497A5800497A5C08812000D048025C1450 +:10F350000501FC685C0258001C01F0005C00000024 +:10F360004C0000004803C857480BC857480FC857FF +:10F370004813C8574817C8574D2C00004C080000C8 +:10F380004C0C00004C1000004C14000005A5FC576C +:10F3900005A408C15C0028005C0020005C00180087 +:10F3A0005C00100005011000912C04084803C840BF +:10F3B0006443C8424000000005FD17FF4A02580898 +:10F3C0000000010D65265A0C480A5A0E480E5C0EC4 +:10F3D00048125A0F48165C0F8208058000008014FE +:10F3E00005020054820C05800000FFFF0502005159 +:10F3F000901005860502004F4D240000420248008F +:10F400000010D8CF592400055C02480005D1F8FB54 +:10F410000500000982000D0000FFFF000502000644 +:10F4200082000C00001027595004080080040910C5 +:10F4300048065A1082000D000000FFFF48065C10CD +:10F440008000012048025A1159A802398200150093 +:10F4500000003500480A5A128C000502050000160B +:10F460008C0005060500000690000D0A90040D8A28 +:10F470000502000364065C110501F0188C00050A02 +:10F480000500000690000D2290040DA20502000365 +:10F49000640E5C110501F0118C00050805000006E2 +:10F4A00090000D1290040D9205020003640A5C1195 +:10F4B0000501F00A05D1F8D10502000364125C11C0 +:10F4C0000501F0068C0005060500000364165C11BA +:10F4D0000501F00264025C1159A8004C48025C125C +:10F4E00059A8004D48025A1359C4080182040D005E +:10F4F00000018000900405800502000364025C1393 +:10F500000501F00C82040580000080000502000364 +:10F5100064065C130501F007820405800001000009 +:10F5200005020003640E5C130501F00264125C1313 +:10F530000501FBF05C0258001C01F0005930080A7C +:10F54000800409C0050000045804040381440580B8 +:10F550001C01F0009000054105FDF7FE4933C85736 +:10F56000B13805A105000003B13805A00502000C63 +:10F570005932680A593402008C00050E0502000257 +:10F58000497A62055930001C80000540000407BD1F +:10F59000497A601C0801F8001C01F0001C01F00011 +:10F5A0004933C857B13805A105000003B13805A09B +:10F5B00005E6049559303403821805800000008662 +:10F5C00005E4042D821805800000008705E4042A64 +:10F5D000497A6205642A62031C01F0004933C85766 +:10F5E000B13805A105000003B13805A005020008E7 +:10F5F00059300C034807C857B004048A05A61826DA +:10F60000B004048105A418240C01F0021C01F000D0 +:10F610000010BD910010BD8E0010BD9E0010BD8D6C +:10F620000010BD8D0010BD8D0010BD8D0010BD8D72 +:10F630000010BD9E05A5F818497A620564126203A0 +:10F640001C01F000497A620559325809832C0500E3 +:10F6500000FF000005000004592C0C0E8C04051A54 +:10F66000050200030005FE4C0005F7BD0501F99AEF +:10F6700005FC07FD1C01F000497A620559CC000227 +:10F68000900005309000059005F007FB5930001CF4 +:10F690008000054005000004497A601C0801F8005C +:10F6A0001C01F0001C01F0004933C857493BC85702 +:10F6B000B13805A105000006B13805A005E60452E1 +:10F6C00059CC00028C0005260500000C59300403BB +:10F6D0004803C857B000058905A20FEF497A6205B3 +:10F6E0005930001C8000054005000004497A601C68 +:10F6F0000801F8001C01F0001C01F0004933C85754 +:10F700005930040382000D800000008505020007C7 +:10F710004A0264030000008B642E6203420008006A +:10F72000800000400005F68E82000D800000008BF6 +:10F73000050200254D3C0000417A780005B1FC68C7 +:10F740005C027800420000000010D8120501FE6A39 +:10F7500059325809812E59C005000006832C050036 +:10F7600000FF0000050000036012800005FDFE7D23 +:10F77000604430000501FC0705B1FF445924040032 +:10F780008C00050A0502000A41782800601030004C +:10F7900060A6800005FDFE876406642C6412640781 +:10F7A00064066403641E62031C01F000602C080000 +:10F7B00005C9FCAC6406640764066403640662035E +:10F7C00005DDF0801C01F0004933C85740000000FF +:10F7D000400000001C01F0004933C85759300A03AB +:10F7E0009004058E050000039004059005020019A1 +:10F7F0000501F97005EDFFFF5930020390000D89F6 +:10F800000500000B480264294A02640300000085D9 +:10F81000593004168400055A8400055E48026416B7 +:10F820006426620364166407641A62295932680AFE +:10F83000593402008C00050E0502000359A8004D42 +:10F840004802600642000800800000400005FE8E6D +:10F850001C01F0004933C8574C0400005930040320 +:10F8600090000D9E05020012800000D059300A1849 +:10F8700082040D00000000FF800405404803C857C3 +:10F88000480264184A02640300000085642662038B +:10F89000641664076412622959A8004D4802600684 +:10F8A00042000800800000400005FE8E5C00080059 +:10F8B0001C01F0004933C857400000004000000020 +:10F8C0001C01F000593004168C00050C0502000ADA +:10F8D0004933C8574803C8578C000518050000066F +:10F8E0008C00051205F206A70501F9320005FE4C51 +:10F8F0000005FFBD1C01F000591C04074803C85750 +:10F9000090000C890502100B0C01F0010010BE4C98 +:10F910000010BE4C0010BE4C0010BE4E0010BE4C7D +:10F920000010BE4E0010BE4E0010BE4C0010BE4E69 +:10F93000800005801C01F000900005411C01F000D2 +:10F94000591C04079000051F900005860500000A59 +:10F950004803C85764EE64036426641C4A02621CB0 +:10F9600000002A0064066203420008008000004094 +:10F970000005F68E4803C8564C0400004C140000E5 +:10F980004D300000411E60000501F90A497A620508 +:10F99000593004164803C85782000500FFFFADFF29 +:10F9A00048026416497A64055C02600005A5FACF36 +:10F9B00005A00F395C0028005C0008004A025808C6 +:10F9C0000000010D497A5800497A5C0865165A0C06 +:10F9D000491E580D5930040248025C0B5930041B73 +:10F9E00048025C0F591C04168400055648023C1658 +:10F9F000591C180A580C040348025A0A580C0002F1 +:10FA00008200050000FFFFFF4802581659CC04048D +:10FA100048025C17497A5A0B4816580E48065A0F86 +:10FA2000580C001382000500FF0000008000012038 +:10FA300048025C140501FAAF493A64034D400000E6 +:10FA400061168000591C02024C0000004D3000007D +:10FA5000411E600005FDFB7A5C0260005C00000056 +:10FA600048023A025C028000491E602A4932381E70 +:10FA7000641A3C07641E3A03497A3806497A3A0503 +:10FA80001C01F0004933C857913805930502000A5C +:10FA9000593004034803C85782000D8000000085D8 +:10FAA0000500002682000D800000008B0500002369 +:10FAB00005A1FEF9913805A70502000A05DDFBB195 +:10FAC0004D2C00004D400000593258096012800052 +:10FAD00005FDFDA45C0280005C0258001C01F000E2 +:10FAE0009138059405FC07F6B13805A10500000919 +:10FAF000B13805A0050000078338058000000089A3 +:10FB000005000004833805800000008A05E6033EF6 +:10FB100005DDFFE705E6033C59300A039004058E36 +:10FB200005FC06A09004058A0500000C9004058CD5 +:10FB30000500000A05A1FED805F1FF9605000005A5 +:10FB4000643A620359A8004E480262051C01F000A5 +:10FB5000642A62031C01F0008338048000000093D3 +:10FB60000502100B83380480000000850500100892 +:10FB7000833805800000008905000008833805806F +:10FB80000000008A0500003105A1FEC3493BC857AB +:10FB90004933C85705E5F31C4933C8574C340000B6 +:10FBA00005F1FF7C0500000B593004168C00051A86 +:10FBB00005000008641A64075930042990000D8E6E +:10FBC0000502000260080000480262030501F01D02 +:10FBD00059300C164C0400004130680005E5FAD994 +:10FBE0005C00080005000015480664166406620300 +:10FBF000647A640359CC0C074806641B59CC0A0785 +:10FC00004806621B5834080A4806600A5834081D22 +:10FC10004806601D05F1FF5F050000045930041619 +:10FC2000840005504802641664126407420008000C +:10FC3000800000400005FE8E403660000005FFBDDC +:10FC40005C0068001C01F0004933C85759300416A5 +:10FC50008C00051A0502001A5930041882000D00A4 +:10FC60000000FF00900409C09004059E05020014E6 +:10FC70004C3400004130680005E5FAB20500000E82 +:10FC8000493A640364066203641264075834041B2F +:10FC90004802641B5834021B4802621B5834080A8D +:10FCA0004806600A5834081D4806601D05F1FF2A01 +:10FCB00005D9FF44403660005C0068000005F7BDD0 +:10FCC0005930080A580402008C00051A05A20F30AA +:10FCD0001C01F00005C9FF2405000019640A620335 +:10FCE0005930041684000558480264168C00051229 +:10FCF0000500000459A8004E480262050501F006FF +:10FD000059A8084E59A8004C800404009000041E15 +:10FD1000480262055930000A90000C11500400009E +:10FD2000800005400500000390000C0005FDF7FC75 +:10FD300045300800497A6000900005411C01F00040 +:10FD400082100500FFFFFEEF050200174D2C00009A +:10FD50004937C8575934081191341411800409C027 +:10FD60000500000C400400008130058005000004FF +:10FD7000900414005804080005FDF7F959300800F4 +:10FD8000497A6000440410000005FE4C0501F002B1 +:10FD90004933C8575C025800492E60090005FE4CE3 +:10FDA0000005F7BD492FC857641A5A0A0001F378B5 +:10FDB0004C3400005930000A800001C00500000FDB +:10FDC00090006C11503400008000054005000009CF +:10FDD00081300580050000045034000090006C0064 +:10FDE00005FDF7F95930000044006800497A6000C9 +:10FDF0005C0068001C01F00059300C079004058578 +:10FE000005FC07FC9004059105FC07FA90040586A3 +:10FE100005FC07F89004058105FC07F605A1FE1E08 +:10FE20004933C8574C0800004C0C00004C580000E7 +:10FE300059A8103659CC1807820C1D0000FFFFFF8F +:10FE4000800C0110800835800502000C91CC14084C +:10FE50006008B0005930000A90001C0605E9FEAAAF +:10FE60000502000691CC140A6008B0005930000A5F +:10FE700090001C0805E9FEA45C00B0005C001800BE +:10FE80005C0010001C01F0004933C856493A640375 +:10FE900005C9F80405B1F42B4933C857492FC85791 +:10FEA0005930080A580402008C00051E05000004A1 +:10FEB000592C020C8400055848025A0C1C01F00011 +:10FEC00059E0180F599C0413800C1000800805801D +:10FED000050200024178100059E0001059E00810B6 +:10FEE00080040D8005FE07FD8008058005000018D0 +:10FEF0004C080000801020400500000E599C04139F +:10FF0000800810008008058005020002417810007A +:10FF100059E0001059E0081080040D8005FE07FD2F +:10FF20008008058005FE07F45C0010000501F0085C +:10FF3000599C0814599C1015800C00CC80040C00AE +:10FF4000900814405C001800900005414803C85711 +:10FF50001C01F000593002034933C8574937C857CC +:10FF6000493BC8574803C8579000349105A21DCAA1 +:10FF70000C01F0010010BFEE0010C0D80010BFEE61 +:10FF80000010BFEE0010BFEE0010BFEE0010BFEE7D +:10FF90000010C0570010BFEF0010BFEE0010BFEE02 +:10FFA0000010BFEE0010BFEE0010BFEE0010C12E1B +:10FFB0000010BFEE0010BFEE05A1FDB7B138058CF3 +:10FFC00005A20DB505C9FE740502002059A80A391D +:10FFD0005932481D5924020082000500000000E04B +:10FFE0008200058000000080050000188C040512C6 +:10FFF0000500002859CC080682040D00FF0000000F +:020000023000CC +:1000000082040580030000000500001C82040580B6 +:10001000500000000500000482040580520000002A +:10002000000607BD833405800010F5CD05000005EE +:100030004D3C0000417A780005B1FA295C02780055 +:10004000640664030501F01059CC080682040D0013 +:10005000FF00000082040580030000000500000787 +:100060008204058050000000050000048204058021 +:1000700052000000000607BD642664036426641C69 +:100080006402621C641264076406620305D9F64DBB +:10009000592404008C00050A050200200501FD52C8 +:1000A0000502001E59CC08064807C85782040D00F7 +:1000B000FF0000008204058003000000050000131B +:1000C00082040580200000000500001082040580E5 +:1000D000210000000500000D8204058024000000BE +:1000E0000500000A8204058050000000050000079A +:1000F000820405805200000005000004820405808F +:1001000005000000050200079C0431C0611A800050 +:100110006004280005FDFC270501F90105A00D5E1E +:100120006144200005E5FAB159CC000082000500C9 +:1001300000FFFFFF8200058000FFFFFF05000004B5 +:10014000641E6203493A64031C01F00059325819D5 +:10015000812E59C005A608FE0005F7BD4D2C0000F4 +:100160004C5800004C5000004C54000041385000E6 +:10017000B138059405A20D4859325809592C0C0F75 +:1001800082040D000000E0008204058000002000D1 +:100190000502006159300819800409C005000010EB +:1001A0005804140841CCA8009004A40990080490B5 +:1001B000050210044008B0000501FC9A0501F00892 +:1001C00040001000603CB0000501FC965804080196 +:1001D000800409C005FE07F505A1FD2F83340580C5 +:1001E0000010F5CD0500004C59344C00592C0C0D75 +:1001F0004807C8574827C85782040D00000000FF71 +:10020000900405830500001D90040585050000216C +:10021000900405A00500002CB004059205000036EE +:10022000B004059005000036900405A10500000308 +:10023000900405A405020038822405000000FF0098 +:10024000820005800000070005000005602408000A +:1002500005C9FA04603050000501F02F64C65A0A3F +:100260006426581159340400480258120001FB78E2 +:1002700005E5F9010501F0364178080005C9FAE203 +:10028000600C080005C9F9F7602050000501F02254 +:1002900059CC3800821C3D0000FFFFFF4C1C0000C1 +:1002A00005B1FC8B5C0038000502001B59CC00072F +:1002B00005D9F871050200184A026C000000070712 +:1002C0000501F015822405000000FF008200058072 +:1002D0000000070005FC07E282240500000000FF83 +:1002E0009000058905FC07DE05C9FB3C602850002D +:1002F0000501F009603850000501F002604050002F +:10030000822405000000FF00820005800000070035 +:1003100005FC07D3482A640364066203592C0011C4 +:1003200048026013497A601559A8004D48026006DA +:10033000417A780005D9FDA359325819812E59C048 +:100340000500000305A5F882497A60195C00A80041 +:100350005C00A0005C00B0005C0258001C01F000D2 +:100360004D2C00005932580991380593050200318F +:10037000492FC85759300C03B004059405000023D9 +:10038000900405900500001E9004058E0500001CD9 +:100390005934140082081D000000FF008208150077 +:1003A000000000FF900405880500000D9004058CF6 +:1003B0000500000D9004058A05A20CB7820C05808B +:1003C0000000070005000011900805890500000FD6 +:1003D0006018080005C9F9A30501F00C600C0000C5 +:1003E0000501F00260240000800805800502000776 +:1003F0006010080005C9F99B0501F004593402009A +:100400008400051A48026A0005F1FD620500000536 +:1004100059A8004E48026006643A62030501F025BF +:1004200064025A0A0001FB780005FFBD0501F021B6 +:10043000B13805A105000003B13805A00502000888 +:100440005C02580005DDFD9A05E600EF5930020315 +:100450009000058E0500001905A1FC8F913805A7B5 +:10046000050000099138059405A20C8B492FC85747 +:1004700005DDF94460C680006010080061FC1001D1 +:100480000501F006492FC85705DDF93E60C680001A +:10049000601008006040100049425A0A480658118E +:1004A000480A58120001FB7805CDF8D205E5F8722C +:1004B0005C0258001C01F0004933C857B13805A14F +:1004C00005000003B13805A0050200094D2C00000D +:1004D00059325809812E59C00500000364025A0A96 +:1004E0000001FB780005FFBD5C0258001C01F00014 +:1004F000492FC85742007000000211725838080690 +:10050000492C7006800409C005020003492C7007BD +:100510000001F030492C08001C01F0004D2C0000B7 +:100520004C5800004C5000004C5400004933C85750 +:100530004937C85759CC08064807C85782040D00E8 +:10054000FF00000082040580030000000500000D8C +:1005500082040580050000000500000A8204058071 +:10056000210000000500002782040580240000000F +:1005700005000024820405802000000005020025FB +:1005800005A1FFDA05000023492FC857492E60193D +:1005900059A8B09E9058B41B8258B500FFFFFFFCCD +:1005A0008058B104485A5C08412C780041CCA00026 +:1005B0009058049005021004912CAC090501FB9998 +:1005C0000501F01040580800603CB000912CAC09C7 +:1005D0000501FB949004B48F05A1FFC4050000043D +:1005E000492C7801412C780005FDF7F25932581951 +:1005F00005A1FFD7497A6019800005800501F00543 +:10060000593402008400055448026A0090000541F4 +:100610005C00A8005C00A0005C00B0005C02580018 +:100620001C01F0004933C857492FC8574D2C000012 +:1006300059300A03900405870500002C9004058EAC +:10064000050000269004058105A20C1305DDF97351 +:100650004DF00000598C000B81300580050200141C +:10066000593000048C00052005000004840005209A +:10067000480260040501F014420010000010D74A3F +:100680005008100058080002820005800000010098 +:10069000050000055808000C8130058005A20BFEFE +:1006A0000501F00905DDFC59050200175930000469 +:1006B0008C00052005000004840005204802600429 +:1006C0000501F00205D9FE045C03E00005DC0944E5 +:1006D00005F1F8E205A00BF05932580964165A0AE0 +:1006E0000001FB7805CDF84359325819812E59C0C5 +:1006F00005A20F9705E1FFE0800005805C0258002D +:100700001C01F0005C03E00005DC093559300C07E2 +:100710009004059105FC07C705FDF7F94C0400009E +:10072000593402004803C8578C00051C0500000915 +:1007300059CC0805591C001B4803C8578004058084 +:1007400005000004800005804803C8560501F0023A +:10075000900005415C0008001C01F0004C00000006 +:100760004C0C00004C10000061FC19FF60102000D0 +:100770000501F0104C0000004C0C00004C10000073 +:100780005930200A58101C03601020000501F009A0 +:100790004C0000004C0C00004C1000005930200AA6 +:1007A000801021C005A00BBC58101C03601C200049 +:1007B000480FC8574813C857481BC85705B1FB33E3 +:1007C00005C1FC515C0020005C0018005C000000CA +:1007D0001C01F0008D0C0520050000094D400000B3 +:1007E0004D20000061FE4001850E1D4460AA80007E +:1007F00005FDFA7A5C0240005C0280001C01F000FA +:1008000059A802398C00050805000005599C0017FD +:100810008C00050A050200021C01F0009000054151 +:100820001C01F0005930042C840005404802642C5F +:100830001C01F0004C64000005F1FCFA5930020381 +:10084000900005880502001060C8C8004200000042 +:10085000200000004130080005A5FA8E0500000ABE +:1008600059300203900005880502000760780000F7 +:100870008000004005FE07FF8064C84005FE07F4C5 +:1008800005A1FB8505F1FCF25C00C8001C01F0002D +:1008900005A1FF1605A00B8059340403492658050D +:1008A0004936580665565A0848025C0A4A025C0BEB +:1008B0000000100005F1FC37050000034A025C0B44 +:1008C000000030005934080282040D0000FFFFFFD1 +:1008D00059300403820005800000008642000000B9 +:1008E00085000000050200034200000084000000B3 +:1008F000800405404802580D592400054802580E4E +:10090000420000000099000059300C0790040D854A +:10091000050000028400052E59300C168C04051ABF +:1009200005000002840005284802580F497A581033 +:1009300059CC000448025811497A58124200080064 +:100940000003030059300403820005800000008684 +:100950000502000659CC0004480258144A025815F2 +:100960000000FFFF41780800480658131C01F00002 +:10097000492FC85759A8288D801429C00500005553 +:100980004C5C00004C6000004C6400004D2C0000EA +:100990004D3000004202600000110DB0592C0C0ACD +:1009A000592C100D8208150000FFFFFF592C180E5E +:1009B000592C2011401658004014C0004014C800A3 +:1009C000592C0208820005800000015505020035FF +:1009D000592C040A8004058005020032592C000DB0 +:1009E0008200050000FFFFFF800805800502002D42 +:1009F000592C000E8200050000FFFFFF800C0580CF +:100A000005020028592C00118010058005020025E0 +:100A10004C0400004C0800004C0C00004C1000007E +:100A200040640000812C0580050200145930020347 +:100A3000900005800500000D59300009800001C0BC +:100A40000500000A05DDF8754DF0000005D9FF81AD +:100A500005D9FD4B05020002640262035C03E0005D +:100A600005DC085F497A6009592CC8004064C00061 +:100A70004064B8000501F003592CB800485CC00080 +:100A800064165A0A0001FB78405E58005C002000A2 +:100A90005C0018005C0010005C0008000501F00319 +:100AA000412CC000592E5800812E59C005FE07C5A3 +:100AB0004867508D4863508E05E1FDE75C02600099 +:100AC0005C0258005C00C8005C00C0005C00B8001C +:100AD0001C01F000602C08000501F0046010080003 +:100AE0000501F002600408004D2C0000593258093D +:100AF000812E59C00500000F592C02088200050004 +:100B0000000000FF9000058E0502000A592C00002D +:100B100048026009497A580048065A0C05D1FD9EE2 +:100B20000500000305FDFE730501F0020001FB78DE +:100B30005C0258001C01F0004D2C00004803C85610 +:100B40000501F83B0502003891380595050200279C +:100B500059A8009E900005940502002259CC0C076C +:100B600082040580000001020502002959CC0A0711 +:100B70005930021B800405800502002759CC0A0A5F +:100B80009004059405020026916C0583050200027D +:100B900005B1FB1105EDFFB10500000D59325809F3 +:100BA00059A80CB448065A0B59A808B64806580F5D +:100BB00064025A0A59A804B3900005039000058303 +:100BC0000500000264CA5A0A0001FB7859A804B360 +:100BD0008400050C480354B34803C8570005FFBD03 +:100BE0005C0258001C01F0004803C85605EDFF9B4D +:100BF00005FC07F75932580964C65A0A646258104E +:100C000059CC00074802581105FDF7F04807C857AE +:100C100005FDF7F44807C85705FDF7F24807C85720 +:100C200005FDF7F04803C85705FDF7EE59300403FA +:100C3000B0000D9A05000004B0000D9B05000002F5 +:100C4000B0000D9C1C01F0004933C8574867C857D5 +:100C5000485FC8574863C8574C5000004C540000C8 +:100C60004C5800004D3C000059327C1B5924100B9D +:100C70008208150000001FFF405C0000800805800E +:100C80000500002B480BC8574D4000004D3C0000AC +:100C90004C08000060AA8000600A780041780800D3 +:100CA00005B1FB205C0010005C0278005C02800053 +:100CB00059A802B340000800820005400F00000060 +:100CC0004802480B853E7D404C5800000501FA2241 +:100CD000420018000010D8DC8058B0400500001316 +:100CE000580C200B8210050000001FFF80080580B3 +:100CF0000502000C580C0200820005000000800173 +:100D00008200058000008001050000068210250099 +:100D1000FFFFE000801005414800180B4803C8574A +:100D2000900C1C0D05FDF7ED5C00B0006000B001FB +:100D30004060A0004200A8000010F9FF50500000E1 +:100D4000505408008004058005000002853E7D4265 +:100D50005450A8008050A0008054A8008058B04093 +:100D600005FE07F759A800B6806405800500001F3E +:100D700059A814B3480BC857900815039008158359 +:100D8000050200099064058205000018906405833F +:100D90000502001159A800B5900005820500001356 +:100DA0000501F00D90640581050000109064058236 +:100DB0000502000559A800B5900005820502000B48 +:100DC0000501F00859A800B590000581050000074D +:100DD0000501F0044803C856853E7D460501F00331 +:100DE0004803C856853E7D444867C857493FC857A1 +:100DF000486750B6493E641B5C0278005C00B00056 +:100E00005C00A8005C00A0001C01F0004817C85757 +:100E10004C0000004C0400008C14052A050000045E +:100E20005988011E800000004803111E8C14052EF5 +:100E3000050000045988011F800000004803111FAD +:100E40008C14052C050000134014000082000500DE +:100E50000007000082000D80000300000500000D67 +:100E600082000D80000400000500000A82000D8051 +:100E700000050000050000075988000580000000FB +:100E80004803100559880120800000004803112004 +:100E90005C0008005C0000001C01F0004817C85707 +:100EA0004C0000004C0400008C14052A05000004CE +:100EB0005988012180000000480311218C14052E5F +:100EC0000500000459880122800000004803112217 +:100ED0008C14052C0500001340140000820005004E +:100EE0000007000082000D80000300000500000DD7 +:100EF00082000D80000400000500000A82000D80C1 +:100F0000000500000500000759880005800000006A +:100F1000480310055988012380000000480311236D +:100F20005C0008005C0000001C01F0004807C85786 +:100F30004C0000008C04052C050000045988010CAD +:100F4000800000004803110C8C04052A05000004F1 +:100F50005988010D800000004803110D8C040528FC +:100F6000050000045988010E800000004803110E9E +:100F70008C040526050000045988010F800000003C +:100F80004803110F8C040524050000045988011042 +:100F900080000000480311108C04052205000004A5 +:100FA0005988011180000000480311118C040520AC +:100FB0000500000459880112800000004803111246 +:100FC0005C0000001C01F0004807C8574C000000FE +:100FD0005988011380000000480311135C000000D1 +:100FE0001C01F0004807C8574C0000008C04051C89 +:100FF0000500000459880114800000004803111402 +:101000008C04051A050000045988011580000000B1 +:10101000480311155C0000001C01F0004807C85788 +:101020004C0000008C0405180500000459880116C6 +:1010300080000000480311168C040516050000040A +:101040005988011780000000480311178C0405140B +:101050000500000459880118800000004803111899 +:101060005C0000001C01F0004807C8574C0000005D +:101070008C04051005000004598801198000000047 +:10108000480311198C04050C050000045988011A45 +:10109000800000004803111A5C0000001C01F000F1 +:1010A0004807C8574C0000008C04050805000004E0 +:1010B0005988011B800000004803111B8C040504A3 +:1010C000050000045988011C800000004803111C21 +:1010D0005C0000001C01F0004807C8564C000000EE +:1010E000598800E580000000480310E55C0000001E +:1010F0001C01F0005C0360004DB0000049B3C8570C +:101100004C04000050000800800408000500100294 +:10111000440400005C0008001C01F000480FC857A0 +:101120004C000000900C0580050200044200000005 +:101130000010D7D40501F012820C058000001001C8 +:1011400005020004420000000010D7D50501F00C94 +:10115000820C05800000100205020004420000001D +:101160000010D7D60501F006820C0C800000201C70 +:1011700005A21949900C051F0C01F80405FDFFDEBE +:101180005C0000001C01F0000010C47E0010C4814F +:101190000010C4840010C4870010C48A0010C48DDD +:1011A0000010C4900010C4930010C4960010C4999D +:1011B0000010C49C0010C49F0010C4A20010C4A55D +:1011C0000010C4A80010C4AB0010C4AE0010C4B11D +:1011D0000010C4B40010C4B70010C4BA0010C4BDDD +:1011E0000010C4C00010C4C30010C4C60010C4C99D +:1011F0000010C4CC0010C4CF420000000010D7D7AC +:101200001C01F000420000000010D7D81C01F000C3 +:10121000420000000010D7D91C01F000420000007D +:101220000010D7DA1C01F000420000000010D7DBEC +:101230001C01F000420000000010D7DC1C01F0008F +:10124000420000000010D7DD1C01F0004200000049 +:101250000010D7DE1C01F000420000000010D7DFB4 +:101260001C01F000420000000010D7E01C01F0005B +:10127000420000000010D7E11C01F0004200000015 +:101280000010D7E21C01F000420000000010D7E37C +:101290001C01F000420000000010D7E41C01F00027 +:1012A000420000000010D7E51C01F00042000000E1 +:1012B0000010D7E61C01F000420000000010D7E744 +:1012C0001C01F000420000000010D7E81C01F000F3 +:1012D000420000000010D7E91C01F00042000000AD +:1012E0000010D7EA1C01F000420000000010D7EB0C +:1012F0001C01F000420000000010D7EC1C01F000BF +:10130000420000000010D7ED1C01F0004200000078 +:101310000010D7EE1C01F000420000000010D7EFD3 +:101320001C01F000420000000010D7F01C01F0008A +:10133000420000000010D7F11C01F0004200000044 +:101340000010D7F21C01F000480FC8574C000000F5 +:10135000900C058105020004420000000010D757E0 +:101360000501F00F900C0582050200044200000008 +:101370000010D7580501F00A900C058305020004FF +:10138000420000000010D7590501F005900C0584BB +:1013900005020004420000000010D75A05FDFF5668 +:1013A0005C0000001C01F0004C00000059A802394C +:1013B0004803C85759240A008C04050A0500001088 +:1013C0008C00050605000004420000000010D762F2 +:1013D0000501F0118C00050A050000044200000020 +:1013E0000010D7610501F00C8C0005080500000411 +:1013F000420000000010D7640501F00705CDF8FF9A +:10140000050000068C0005060502000442000000ED +:101410000010D76305FDFF385C0000001C01F000E0 +:101420008058B1C005A0089C5450A8008050A0006E +:101430008054A8008058B04005FE07FC1C01F00055 +:101440008058B1C005A008944450A8008054A8005A +:101450008058B04005FE07FD1C01F0004813C85736 +:101460004817C857401400008010048005A2188A4D +:10147000497BC841417870004200680000140000B8 +:1014800059A800B18C000500050000034200680067 +:101490000013A0004837C8578010048D05021005BE +:1014A0008014048D0500100340147000803428401F +:1014B00061FC7801401000008014048082006D00FF +:1014C000FFFFFF0005020002400078004813C840FB +:1014D000483FC8420501100040100000803C240035 +:1014E000401000008014058005FE07F345782800B1 +:1014F000803871C005000005403828004178700030 +:101500008010200005FDF7EB1C01F0008058B1C0F1 +:1015100005A00861505000009C0001C04400A800D4 +:101520008050A0008054A8008058B04005FE07FA03 +:101530001C01F0004C00000059A800078C00051C9D +:101540005C0000001C01F00059A800078C00051881 +:101550001C01F0004200B0000010D8CE5058B0007E +:101560001C01F000420068000010D8CF5834040677 +:101570008C00050205FC07F86004B0001C01F000B7 +:101580006190680080346840050000066407000030 +:1015900040000000598070008C38050005FC07FAF7 +:1015A0001C01F000640F00004000000059800000A2 +:1015B0008C00050005FC07FC1C01F00042006800DF +:1015C0000010D8CF583404068C0005041C01F0002C +:1015D000420068000010D8CF583404068C0005087B +:1015E0001C01F00059A800068C0005161C01F00033 +:1015F00000000001000000020000000400000008DC +:1016000000000010000000200000004000000080EA +:1016100000000100000002000000040000000800BB +:1016200000001000000020000000400000008000CA +:10163000000100000002000000040000000800009B +:1016400000100000002000000040000000800000AA +:10165000010000000200000004000000080000007B +:10166000100000002000000040000000800000008A +:101670000010D8CF0010D8DC0010D8E90010D8F640 +:101680000010D9030010D9100010D91D0010D92A5C +:101690000010D9370010D9440010D9510010D95E7C +:1016A0000010D96B0010D9780010D9850010D9929C +:1016B0000010D99F0010D9AC0010D9B90010D9C6BC +:1016C0000010D9D30010D9E00010D9ED0010D9FADC +:1016D0000010DA070010DA140010DA210010DA2EF8 +:1016E0000010DA3B0010DA480010DA550010DA6218 +:1016F0000010DA6F0010DA7C0010DA890010DA9638 +:101700000010DAA30010DAB00010DABD0010DACA57 +:101710000010DAD70010DAE40010DAF10010DAFE77 +:101720000010DB0B0010DB180010DB250010DB3293 +:101730000010DB3F0010DB4C0010DB590010DB66B3 +:101740000010DB730010DB800010DB8D0010DB9AD3 +:101750000010DBA70010DBB40010DBC10010DBCEF3 +:101760000010DBDB0010DBE80010DBF50010DC0212 +:101770000010DC0F0010DC1C0010DC290010DC362F +:101780000010DC430010DC500010DC5D0010DC6A4F +:101790000010DC770010DC840010DC910010DC9E6F +:1017A0000010DCAB0010DCB80010DCC50010DCD28F +:1017B0000010DCDF0010DCEC0010DCF90010DD06AE +:1017C0000010DD130010DD200010DD2D0010DD3ACB +:1017D0000010DD470010DD540010DD610010DD6EEB +:1017E0000010DD7B0010DD880010DD950010DDA20B +:1017F0000010DDAF0010DDBC0010DDC90010DDD62B +:101800000010DDE30010DDF00010DDFD0010DE0A49 +:101810000010DE170010DE240010DE310010DE3E66 +:101820000010DE4B0010DE580010DE650010DE7286 +:101830000010DE7F0010DE8C0010DE990010DEA6A6 +:101840000010DEB30010DEC00010DECD0010DEDAC6 +:101850000010DEE70010DEF40010DF010010DF0EE4 +:101860000010DF1B0010DF280010DF350010DF4202 +:101870000010DF4F0010DF5C0010DF690010DF7622 +:101880000010DF830010DF900010DF9D0010DFAA42 +:101890000010DFB70010DFC40010DFD10010DFDE62 +:1018A0000010DFEB0010DFF80010E0050010E01280 +:1018B0000010E01F0010E02C0010E0390010E0469E +:1018C0000010E0530010E0600010E06D0010E07ABE +:1018D0000010E0870010E0940010E0A10010E0AEDE +:1018E0000010E0BB0010E0C80010E0D50010E0E2FE +:1018F0000010E0EF0010E0FC0010E1090010E1161C +:101900000010E1230010E1300010E13D0010E14A39 +:101910000010E1570010E1640010E1710010E17E59 +:101920000010E18B0010E1980010E1A50010E1B279 +:101930000010E1BF0010E1CC0010E1D90010E1E699 +:101940000010E1F30010E2000010E20D0010E21AB6 +:101950000010E2270010E2340010E2410010E24ED5 +:101960000010E25B0010E2680010E2750010E282F5 +:101970000010E28F0010E29C0010E2A90010E2B615 +:101980000010E2C30010E2D00010E2DD0010E2EA35 +:101990000010E2F70010E3040010E3110010E31E52 +:1019A0000010E32B0010E3380010E3450010E35271 +:1019B0000010E35F0010E36C0010E3790010E38691 +:1019C0000010E3930010E3A00010E3AD0010E3BAB1 +:1019D0000010E3C70010E3D40010E3E10010E3EED1 +:1019E0000010E3FB0010E4080010E4150010E422EE +:1019F0000010E42F0010E43C0010E4490010E4560D +:101A00000010E4630010E4700010E47D0010E48A2C +:101A10000010E4970010E4A40010E4B10010E4BE4C +:101A20000010E4CB0010E4D80010E4E50010E4F26C +:101A30000010E4FF0010E50C0010E5190010E52689 +:101A40000010E5330010E5400010E54D0010E55AA8 +:101A50000010E5670010E5740010E5810010E58EC8 +:101A60000010E59B0010E5A80010E5B50010E5C2E8 +:101A700040000000600070E0600078204A007016AE +:101A800000010001583800168C00050005FC07FC19 +:101A9000600C40006000300264807808583C2808E0 +:101AA0008C14053E050000048018304005FE07FC3C +:101AB0000501F00D583C28088214050020000400A0 +:101AC0008200058000000400050200058214050064 +:101AD00000000300900005800500000780204040C2 +:101AE00005FE07EE4A007016000100009000054157 +:101AF0000501F040650C7808583C00098C00050091 +:101B000005000005600020004A007016000100007A +:101B10000501F03765007808583C580965047808D5 +:101B2000583C600965087808583C68094A007016F6 +:101B30000001000082102D00F000000090140580CC +:101B4000050000020501F020602028006000300040 +:101B5000803000C8400038008030010A801C3D8081 +:101B6000403000008018058080100400801C0400B4 +:101B7000802C5C00803400C8400038008034010AAA +:101B8000801C3D804034000080180580801C0400CB +:101B900080306400802C00C840003800802C010A8E +:101BA000801C3D80402C000080180580801C0400B3 +:101BB00080346C00821834009E3779B98014284034 +:101BC00005FE07E40502000B402C000080040580A0 +:101BD00005FE07C7403000008008058005FE07C4E9 +:101BE00040340000800C058005FE07C180000580A0 +:101BF0001C01F0001C01F000420050007FF4C00006 +:101C0000582808005828100158281802582820037E +:101C100005FDFF980502080782101D000FFFFFFF5A +:101C2000480FC021900C01C04803C0221C01F000E5 +:101C3000497BC021497BC0224A03C02000004020CC +:101C40004A03C011402000116016D800050270112F +:101C500059E00020900005820502000E050060009A +:101C60004203E0004000000059E000176000080057 +:101C70008C00050A05A60F4E8D0C053005A60F3AFF +:101C800005A60F3C6403C0174203E00030000001CA +:101C900005A1F85705FDF7FF59A808B88C100502F3 +:101CA0000500000384040D420501F0078C100504B3 +:101CB0000500000384040D440501F0038C100500A9 +:101CC00084040D40480750B81C01F00059A800B822 +:101CD0008C000502050000094A0350B90000008B82 +:101CE0004A0350BA0000008B4A0350BB0000008B2F +:101CF000641350BC0501F00C8C00050405000006BF +:101D000065BF50B965BF50BA65DF50BB640350BCB6 +:101D10000501F00564CF50B964CF50BA649750BB49 +:101D2000640350BC1C01F0007509BD2800000000D0 +:101D3000000000000011100000002F6C00000000E7 +:101D4000000000000002000000001171916C05838A +:101D500001020176420000000010D0DC50000000BB +:101D6000800001C005020A3C0501F9F90501FFCB1D +:101D70000501FB898D0C051605000F468D0C051617 +:101D800005000DFC59A800928000054001060A617B +:101D90000505FCE405FDF7EE835C0480000001040A +:101DA0000104115D416A5800592ED000497A58004B +:101DB000497A5801815EB840812E59C01C01F0005B +:101DC0004200700000021172583800044978100077 +:101DD000640010024808700480000D4005020006EF +:101DE0004808700558380000800005400500000ACA +:101DF0001C01F0004808080005FDF7FB42007000D8 +:101E000000021172583800008000054005000002F1 +:101E10001C01F00058380807800409C0010601D0F1 +:101E20005838000580006D40050200021C01F000DA +:101E3000583400004834700180000540050200025B +:101E400048007004480070054A03B80530000002DD +:101E50005834000759DC08064803B8005834000815 +:101E60004803B801583408064807B81F5834080515 +:101E700058341003583400014804700248087003B5 +:101E8000480BB8038C0005000502000464087000CC +:101E90006407C8240501F004640470006503C824C5 +:101EA0000105F1F758380802600011FE8204048031 +:101EB0000000FF00050210034004100080000580B0 +:101EC00048007002480BB8024A03B805100000022F +:101ED0001C01F00059DC08064A03B8052000000088 +:101EE0008C04053E050000098C04050801020DA5BF +:101EF00042007000000211725838000090001484F3 +:101F00000C0010030101FDA51C01F00000020036C9 +:101F1000000200780002007F0010144582040D00CA +:101F200043200F800106020458380002800005405B +:101F3000050000080105F1F782040D0043200F8021 +:101F400001060204583800028000054005FE07D64D +:101F500058386001583000094A0060020000010052 +:101F6000640070008000154005FC07AB59DC0000E0 +:101F70004800600759DC0001480060080809F800C3 +:101F800005FDF79F84040D1E59E000178C00050C19 +:101F90000502000759A81890800400C4800C1C009A +:101FA000580C00038C0005000500000859A8009299 +:101FB0004C0000000105FA525C0000008000054062 +:101FC0000106021C1C01F0004D2C00004C04000016 +:101FD0004C0C000005FDFF715C0018005C0008005F +:101FE00005000014820404000010D32550000000F6 +:101FF00048025806640258016412580564065804E1 +:10200000900C040248025803580C0000480258077C +:10201000580C0001480258084A025809000200BF43 +:102020004806580A412C10005C02580005FDF7656F +:102030005C0258000105F252583008028204058003 +:1020400000000100010602114D2C00004032580032 +:102050000105F94B5C0258000105F21C59B800EA71 +:1020600082000D00F2000038010603928C0005107A +:102070000104039159BA60E0813001820502104CDD +:10208000050020308532653E5930040790000583F5 +:102090000502002A5930020390000584050200273A +:1020A00059325809593000044A025A080000010305 +:1020B000497A580D8C00053E0502001A5930000877 +:1020C000820005000400080082000580040008006A +:1020D000050000170501FA9259325827812E59C080 +:1020E0000106094B5932680A0505FED25934000F22 +:1020F0008D0C0512050200055934140B80081040A0 +:1021000005001002480A6C0B8000054005020A1702 +:1021100059B800EA8C00051005FE07D71C01F00035 +:10212000013DFEAB05FC07E60105F38A59300221AB +:1021300048025C1305FDF7E8615670000501F024C4 +:10214000833265003FFFFFFF59300407900005838D +:1021500005020015593258095932680A4A025A08CC +:1021600000000103497A580D0501FA6D59325827CC +:10217000812E59C00106094A0505FEAE5934000FEB +:102180008D0C0512050200055934140B800810400F +:1021900005001002480A6C0B80000540050209F397 +:1021A00005FDF7DC615270000501F0098330050080 +:1021B0006000000005000011813265808000013A56 +:1021C0008200040000100B965002700059300C077A +:1021D000900405820104038A593000048C00053EF6 +:1021E000050200030505FEB105FDF7CA013DFEAB82 +:1021F00005FC07FD0105F38A833005001F00000080 +:102200000104038C813265808000013090000C94C1 +:1022100001021DA51201F00000100B9A82000500BA +:10222000F000000082040D000FFFFFFF80040D404E +:102230004807C85759B800EA8C0005160106048CF7 +:10224000480770E11C01F00059325809412C700018 +:1022500058380A0882040D00000000FFB00405A8E9 +:10226000010406F5B00405AA010406F5B00405BA98 +:102270000104070EB00405B20104070E58380A081D +:102280009004050F82000C000010120D5004400055 +:102290000C01F00100100EF400100EF400020166B3 +:1022A00000100EF400100EF400100EF400100EF4E6 +:1022B00000100EF40002017400100F1400100EF450 +:1022C00000100EF400100EF400100EF400100EF4C6 +:1022D00000100EF45838040E8C00050001000DA506 +:1022E0005020000080387C00583C1002583C2800E8 +:1022F000583C200158380A0B5838301359303808E8 +:1023000058380011480260140501F00E5838020ECA +:102310008C000502010406F45020000080387C0087 +:10232000583C2800583C2001583C1002592C0A0BFC +:10233000592C301359303808497A6014497A60159D +:102340004816601048126011480A6012481A60135B +:10235000800408404806600F0106073B841C3D408E +:10236000481E60081C01F0004D2C0000593258092D +:10237000592C0A084807C85782040D00000000FFC6 +:102380009004050F1201F0000010105741787800FA +:1023900059325809592C0C0E8C040502010800878B +:1023A000592C0011592C1013592C0A08480A601393 +:1023B000480260144802601582040D00000000FF0E +:1023C000B00405B20108008DB00405BA0108008D03 +:1023D000412C30009004050F820004000010120D03 +:1023E000500038008C3C050E05000002801C3800AF +:1023F000501C0000592C1A0B4802600C481A600D42 +:10240000481E600E480E600F843C7D4A403C100020 +:102410001C01F00059E000048C00050E05FE06AE1C +:102420001C01F000420010000010F9745808000A66 +:1024300080000540010A06404A0010030010F97EA2 +:102440004C0800000501F8125C0010004814100A46 +:10245000480C1007481010086400100164101005A3 +:102460006404100405FDF657583008028204058004 +:1024700000000100010A064F823005800010F97447 +:10248000010A064A4978600A1C01F00061901800B0 +:10249000800C1840050000066407000040000000A2 +:1024A000598000008C00050005FC07FA010806A110 +:1024B000600028F458142024581418235814282590 +:1024C000640300001C01F0004C0000004DF000000F +:1024D0004203E000B010000041F0000081FE150052 +:1024E0008D080512010E08768D08051C05060CB234 +:1024F0008D08051805060CE58D08051A05FE0ED891 +:102500008308050000000D00050208045C03E000DC +:102510005C0000001801F0008D080516010A0EBCD1 +:102520008D08051405FE0FBC8D080508010A0AC9AF +:102530008D08050005060C2B8D08050C010A0F7B84 +:102540008D08050A010A04001C01F0004200000089 +:102550000010D0E2500000008C00050405000013BC +:102560008C000508050200048C000502050200022B +:102570001C01F0004DF000004203E000500000009C +:10258000420340000010D0C459A0001E59A1D80633 +:10259000840005024803401E58EC00090801F800B9 +:1025A0005C03E0001C01F0000502700205026002FD +:1025B0001C01F0004DF000004203E000500000005C +:1025C00059E00020B0000D8505000003B0000D8427 +:1025D000050200074803C8574200080000021172B4 +:1025E0005804080090040D80050200190105F93A0D +:1025F00005000017412DD80048EFC8570121FEAE55 +:10260000420340000010D0C449A1D80B48EF400657 +:1026100059A0001E840005444803401E59E00020D4 +:102620004803C85759E000214803C85759E0002221 +:102630004803C85759E000234803C85759E000240D +:102640004803C8570115F85D0115F8755C03E000F3 +:102650001C01F0004C5C00004DA000004DF000009B +:102660004203E000500000000500606242034000A9 +:102670000010D0C459A0101859A01819800C19C006 +:102680000502000959A0381C801C39C001000DA5A5 +:1026900049A3C857481FC85759A0041D801C3C00B7 +:1026A0000501F00A59A0041A900004024803441AD4 +:1026B00090000C9705001003497B441A41780000F4 +:1026C00059A03817801C3C00401CB80080081040FE +:1026D000480B4018581C02004803C021581C040134 +:1026E0004803C022581C02014803C023581C0400A0 +:1026F0004803C020900001C0900005524803C0115B +:102700008D0C05300500000F4C0800004C0C00003B +:102710004C1C000059E000178C00050A050000045D +:102720006000080005FDFE180501F0038C0005009F +:1027300005FE0F3D5C0038005C0018005C001000D6 +:102740006403C0174203E00030000001800C19C090 +:1027500005000007800C1840480F40190502001BB7 +:10276000497B441A497B421A0501F018800811C0C0 +:102770000502000A4D2C000059A2581C0105F94A17 +:102780005C025800497B401C497B401B497B441D2F +:10279000497B421D0501F00D59A0041D9000040263 +:1027A00090000C964803441D050010084D2C0000B5 +:1027B00059A2581C592C3817481F401C497B441DEE +:1027C0000105F94A5C0258008D0C052A0500000934 +:1027D000600838004200080025000000585C18001E +:1027E000585C3001900C19C0901831C00101FE688E +:1027F0005C03E0005C0340005C00B8001C01F000DA +:102800008D0C05200500000359A800058C00051655 +:102810001C01F000910C0503012A009459340400B6 +:102820008200058000000606012A006E5934000D62 +:1028300080027D40012A009D592C10035808020A8D +:102840008C00050005000005592C18135808000DD0 +:10285000800C04004800100D5934000F5934120345 +:1028600080080540050200218D0C051205000010AE +:102870000505FCD30500001759A800B980000040E9 +:1028800005FE07FF492E60094936600A58D400EA60 +:102890008C00051605FE07FE8330040020000000B2 +:1028A0004801A8E1800005801C01F0005934000BAC +:1028B00080001920820005000000FFFF800C0480CA +:1028C0000502100A800C1800480E6C0B05FDF7E994 +:1028D0008D0C05120502000559341C0B800C1840A4 +:1028E000480E6C0B593412030501F8038000058073 +:1028F0001C01F000800811C00502000264066A0392 +:1029000059340010492E681080000D40050200085F +:10291000492E680F592C040A800000C2800018C498 +:10292000800C0400480258071C01F000492C0800E4 +:1029300005FDF7F983440C8000000800050210092A +:10294000834404000010C8005000000080000540CF +:102950000500000440026800800005801C01F000B2 +:10296000900005411C01F00059340203800005402D +:102970000502002F4D3000004D2C00005934000F8F +:1029800080025D40050000280505FC8D050000253E +:10299000592C00004802680F800005400502000223 +:1029A00048026810592C2A084936600A82142D0002 +:1029B000000000FF901405920500001EB01405B23F +:1029C0000500001CB01405BA0500001A492E600964 +:1029D0008D0C05120500001058D400EA8C00051675 +:1029E00005FE07FE83300400200000004801A8E136 +:1029F0008D0C051205FE07E25934000B80001120F2 +:102A0000820005000000FFFF8008048005FC17DC41 +:102A10000501F00580081000480A6C0B05FDF7EF72 +:102A200064066A035C0258005C0260001C01F0004E +:102A3000497A58004932580D641A6407641E6203CB +:102A40000501F80205FDF7EB592E440B83224500E2 +:102A5000000000FF832004000010C59C50024800C5 +:102A60004926601D592C02104802620259240206B0 +:102A70008C000510012A04A68D0C050E012A04A461 +:102A8000592402008C000516012A04A259340200C0 +:102A90008C000518012A04A064025A0A8C0005085B +:102AA000012A049E492E60094D3C0000417A7800BD +:102AB0000505FAD25C0278001C01F0005804000100 +:102AC0004968080049780801815EB8004006D000D6 +:102AD00080000D4005FE07FA497A580159C80000E8 +:102AE0008200054000001200480390001C01F00025 +:102AF000599800054803282359D8010B480330068C +:102B00001C01F00059980005597474085838710078 +:102B1000483AEC024802E8031C01F000592C040872 +:102B20008C00051E012E0398497A58008D0C05165D +:102B3000050200030501FA490501F0118D0C052677 +:102B40000502000D0502D007592C0001492FB107DD +:102B500080000D4005FE0FDA0500E1C41C01F00005 +:102B60000500E9C205FCD7F9420000000010D76B50 +:102B70000161FC400501FA390500DA490500E1BBB5 +:102B800059D8010582000D000123878005020257F4 +:102B90001C01F000599800030C01F0010002039E93 +:102BA0000002039F0002041700020457000203AD55 +:102BB000000204D41C01F0004DF000004203E000CC +:102BC0005000000005026A8E050060038D0C052090 +:102BD00005020B35830C0580000808008200050003 +:102BE0000008080005000A2E5C03E0001C01F0004C +:102BF0004DF000004203E0005000000059D8110AD7 +:102C000059D8010A8008058005FE07FD59742C0873 +:102C100059740003480AEC09480828008000054060 +:102C20000500201105000007599800049000058553 +:102C30000500000D59A8008B816405800502000A7B +:102C40005814010080080D800500001F59740C0203 +:102C500080040D800500000E599808054802EC021A +:102C60004806E8030500EAD18D0C0524050200039F +:102C70005C03E0001C01F00059D8010B59D8110A7F +:102C8000800805800500001005FC67FA0500601348 +:102C900059740A0959E000178C00050A0502001250 +:102CA0008C04051E0502000559741202800810E00C +:102CB00090081554480BC0114807C0174203E000A4 +:102CC000300000014A02E803FFFF0000850E1D24CA +:102CD0000500EAB605FDF7E7850E1D640500EAB3B9 +:102CE00005FDF7E44C04000005FDFCA75C000800AE +:102CF0008C04051E05FC07ED5C03E0001C01F000E0 +:102D0000592C0C08592C040958040900800405802A +:102D100005000019592C04028004058005000005F7 +:102D2000599800054802580348065C021C01F0004F +:102D300005006013592C0A094A025803FFFF0000DE +:102D400059E000178C00050A0502000E8C04051ED0 +:102D500005020005592C0202800000E09000055495 +:102D60004803C0114807C0174203E00030000001CB +:102D70001C01F0004A025803FFFF00001C01F00094 +:102D80004C04000005FDFC805C0008008C04051E5E +:102D900005FC07F11C01F0004DF000004203E000CB +:102DA00050000000599400238000054005002012C7 +:102DB0000500000759980004900005850500000EE5 +:102DC00059A8008B816405800502000B59D8010BBE +:102DD00059D8110A80080D8005000023599808066B +:102DE00080040D8005000013599808054807282322 +:102DF000480330060500EA558D0C05240502000540 +:102E00008D0C0526050209A65C03E0001C01F000FC +:102E100059D8110A59D8010A8008058005FE07FD16 +:102E200059D8010B800805800500000F05FC67F5E7 +:102E300005006012800810E090081553480BC0117F +:102E40006004080059E000178C00050A0502000E16 +:102E50008D0C05300502000E6407C0174203E00028 +:102E6000300000014A032823FFFF0000850E1D24C7 +:102E70000500EA3605FDF7E3850E1D640500EA331B +:102E800005FDF7E005FDFC4005FDF7F48C000500AD +:102E900005FE0D6505FDF7F14DF000004203E00071 +:102EA0005000000059B800E48C0005180502001B12 +:102EB000830C0500001400000502001B5994002338 +:102EC000800005400500200C0500001759980004FB +:102ED000900005850500000859A8008B81640580D5 +:102EE0000502000559A8008959A8088880040580B2 +:102EF0000500000C0500EA15050060048D0C052492 +:102F00000502000A0501FA4A8D0C0526050209642E +:102F10005C03E0001C01F0004A0370E400002000A4 +:102F2000850E1D680500604C59D8090A59D8010A58 +:102F30008004158005FE07FD59D8190B800C1580FB +:102F400059981006480F3006050000370501F8446F +:102F500059980007483B30070500000D8D0C0528E7 +:102F600005020021803805800502000440080000A9 +:102F7000800C05800500001C599800054803282393 +:102F8000830E1D00FFEBFFFF05FDF7E08D0C05280C +:102F90000502000440080000800C058005FE07F7CC +:102FA000800408E090040D53600410004807C0112D +:102FB00059E000178C00050A0502000F8D0C053042 +:102FC00005020012480BC0174203E0003000000168 +:102FD0004A032823FFFF0000830E1D00FFEBFFFFC5 +:102FE00005FDF7CA800408E090040D5D6000100044 +:102FF00005FDF7EF4C0800004008080005FDFBE266 +:103000005C00100005FDF7F08C00050005FC07EEE4 +:103010004C0800004008080005FDFD035C0010009E +:1030200005FDF7E90501F80E59980007483B300700 +:1030300005FC07E880380580050000038D0C052895 +:1030400005FC07CE912801C090000D5C60001000C7 +:1030500005FDF7D7850E1D6405FDF7A759E0000FA4 +:1030600059E0680F80346D8005FE07FD4002500076 +:1030700059E0001059E070108038758005FE07FD9A +:1030800040007000812805801C01F0004DF0000018 +:103090004203E0005000000059B800E48C0005181D +:1030A0000502006759D8110A59D8010A800805801D +:1030B00005FE07FD59742C0859740003480AEC09F1 +:1030C0004808280080000540050020150500000B79 +:1030D00059980004900005850500001159A8008B3F +:1030E000816405800502000E59A8008959A8088846 +:1030F000800405800500002A5814010080080D8016 +:103100000500001359740C0280040D800500002492 +:10311000599808054802EC024806E8030500E9A3AF +:103120008D0C052405020019050060078D0C05288B +:103130000502000B5994002380000540050000089B +:103140000501F9BB5C03E0001C01F0004A02E80342 +:10315000FFFF0000850E1D240500E99405FDFFC05A +:1031600059980007483B300705000031803805803A +:10317000050000248D0C0528050200225998000541 +:103180004803282305FDF7F059D8010B59D8110A37 +:103190008008058005FC07EE05FC67EB050060165E +:1031A00059740A0959E000178C00050A0502002825 +:1031B0008C04051E0502000559741202800810E0F7 +:1031C00090081554480BC0114807C0174203E0008F +:1031D000300000014A02E803FFFF00004A032823F1 +:1031E000FFFF0000830E1D00FFEBFFFF0500E96FEE +:1031F00005FDF7D5850E1D640500E96C05FDF7D2C8 +:1032000005FC67D1912801C090000D5C4807C011F2 +:1032100059E000178C00050A6000080005FE0B5AF3 +:103220006403C0174203E000300000014A03282372 +:10323000FFFF0000850E1D2805FDF7C34A0370E45B +:1032400000002000850E1D6805FDF7974C04000066 +:1032500005FDFB4D5C0008008C04051E05FC07D72E +:103260005C03E0001C01F00059D81108835C048065 +:10327000000001040500101C0502B01A480BB0073D +:1032800005FCE7FA59D80105820005000123878073 +:10329000050200968D0C05220500001F8D0C0516F9 +:1032A0000502000C59D8090A59D8010A8004058082 +:1032B00005FE07FD59741003597404084804000002 +:1032C0004806EC09800811C005FC260F1C01F0001F +:1032D000599400238000054005FC26061C01F000DF +:1032E0000500F00A49681000400AD000815EB8006D +:1032F00059C80000820005400000120048039000F9 +:1033000005FEE7E105FDF7D9480BA80705FEE7DE56 +:1033100005FDF7D605006024850E1D2459D8010A45 +:1033200059D8090A8004058005FE07FD8D0C051695 +:103330000500001659D8010B59D8110B80081580CB +:1033400005FE07FD800405800500000F800408E0ED +:103350008D0C05200502001690040D534807C0117E +:1033600059740A0959E000178C00050A050200315A +:103370008D0C0530050200334807C0174203E000FA +:10338000300000011C01F000597404084806EC09E3 +:103390004804000059740A02800408E090040D54A7 +:1033A00005FDF7EF850E1D641C01F00059E0000FCC +:1033B00059B818E459E0100F8008158005FE07FC85 +:1033C0008C0C050C05FE07FA8128158005000012FB +:1033D00040025000820C050004000000850E1D34E0 +:1033E000810E1D4090040D5D4807C01159E0001783 +:1033F000600008008C00050A0502000E8D0C0530E7 +:10340000050200106403C0174203E0003000000111 +:103410001C01F00040001000400C0000810C0580F1 +:103420008C0005344008000005FE07EA05FDF7CBD7 +:103430004C04000005FDFAD45C00080005FDF7CF40 +:103440008C00050005FC07CD4C04000005FDFBF6D3 +:103450005C00080005FDF7C9592C2802801429C01A +:103460000500000D58140804592C0001492C2804AB +:10347000800409C005000005492C080080000D40AB +:1034800005FE058F1C01F000492C2805850E1D66E0 +:1034900005FDF7FB492FC8570105F1530502D00C74 +:1034A00059740805580400004807B10780000D4012 +:1034B000050200054802E804850E1D264802E805BD +:1034C0001C01F00005FCD7F805FDF7FD59D80105F2 +:1034D00082000500012387800502000442000000ED +:1034E0000010D76B0161F4404803C857485FC857C4 +:1034F0008C00050E01020D9E4203E000500000000A +:103500006010B9000101F5A94A03B10410000000E0 +:10351000592C4408592C1409800800CC592C200639 +:10352000801004004803B100497BB10259D8010161 +:103530004813B100592C00074803B101592C020867 +:1035400082000540004000004803B10358200900F4 +:10355000480BB10A4807B10B592C00014803B11FB1 +:103560004A03B10410000001412EE8001C01F000E4 +:103570004DF000004203E0005000000059741408B0 +:10358000580809004807B10B8D0C05240502001AE4 +:1035900059D80106800005400502001759D80105D9 +:1035A000820005000000600005020013599AF80827 +:1035B000817EF9C00500001041765800592E580050 +:1035C000592C1005800811C005000006412C000090 +:1035D0008174058005FE0FCD05FDFFB10501F006E4 +:1035E000592C00038000054005FC0DC6817EF84083 +:1035F00005FE07F35C03E0001C01F00005FCE71B7F +:1036000059D80105820005000123878005FE07B710 +:103610008D0C0524050200021C01F00059D8010A96 +:1036200059D8090A8004058005FE07FD850E1D2472 +:103630008D0C05160500001359D8010B8004058078 +:103640000500000F800408E08D0C05200502001421 +:1036500090040D534807C01159740A0959E0001726 +:103660008C00050A050200288D0C05300502002A91 +:103670004807C0174203E000300000011C01F000C1 +:10368000597404084806EC094804000059740A02F9 +:10369000800408E090040D5405FDF7EF59E0000F99 +:1036A00059B818E459E0100F8008158005FE07FC92 +:1036B0008C0C050C05FE07FA812815800500001CFE +:1036C00040025000820C050004000000850E1D34ED +:1036D000810E1D4090040D5D4807C01159E0001790 +:1036E000600008008C00050A050200078D0C0530FB +:1036F000050200096403C0174203E0003000000126 +:103700001C01F0004C04000005FDFA1F5C000800DD +:1037100005FDF7D88C00050005FC07D64C04000019 +:1037200005FDFB415C00080005FDF7D240001000DC +:10373000400C0000810C05808C000534400800001E +:1037400005FE07E005FDF7C359DA5908496A580034 +:10375000412ED000815EB80005FCE7FC59C800008E +:1037600082000540000012004803900059D8090B60 +:1037700059980006480730068004048005020004BA +:10378000599400238000054005022003599808053C +:103790004807282359D801058200050001238780A6 +:1037A00005FE07521C01F00059DA5908496A580011 +:1037B000412ED000815EB80005FCE7FC59C800002E +:1037C00082000540000012004803900059740C0864 +:1037D000580409004807B10B597404024806EC026A +:1037E0008004048005020004597400038000054031 +:1037F00005022003599808054806E80359D8090A24 +:1038000059D8010A8004058005FE07FD5974040893 +:10381000480400004806EC0959D80105820005005B +:103820000123878005FE07311C01F000599810071D +:1038300059E0001059E0081080041D8005FE07FDC6 +:10384000800805800500000D4807300759E0000F8B +:1038500059E0100F80081D8005FE07FD81280580B6 +:103860000500000D400A500040080000800405805B +:1038700005FE04A01C01F00059E0000F59E0100FF4 +:1038800080081D8005FE07FD8128058005FC07FADC +:10389000400A5000599400238000054005FC27F39E +:1038A0001C01F00059E0000F59B818E459E0100F5E +:1038B00080080D8005FE07FC8C0C050C05FE07FA40 +:1038C0008128058005020006400C0000810C05805F +:1038D0008C000534050200021C01F000820C05007A +:1038E00004000000850E1D34810E1D40400A50006A +:1038F000900811C09008155C480BC01159E00017E2 +:10390000600008008C00050A050200078D0C0530D8 +:10391000050200076403C0174203E0003000000105 +:103920001C01F00005FDF99805FDF7FB8C00050072 +:1039300005FE0ABD05FDF7F84D2C0000599AF80266 +:10394000817EF9C00500000840F25800592C020A97 +:103950008C00050005020806592E5801817EF840AA +:1039600005FE07FB5C0258001C01F00059C4000171 +:10397000820005000001800082000D8000018000AF +:103980000502000442000800640000000501F00F79 +:1039900082000D80000100000502000442000800C2 +:1039A000320000000501F00982000D800000800057 +:1039B0000502000442000800190000000501F003A0 +:1039C000420008000C800000592C14110139FD71CF +:1039D000400410004000080061A000070139FD8D7F +:1039E000480A580F1C01F000592C020A84000502F5 +:1039F000592C080D48025A0A4806580E800409C07E +:103A000005000020592C000F800414800500100FC1 +:103A10000500001B82080480000003E80500101860 +:103A2000480A580D592C021080000040050000156E +:103A3000800000400500000348025A101C01F000FD +:103A400064065A101C01F0008008108080081000E5 +:103A500082080480000003E805001009497A580D27 +:103A6000592C0210900004028200150000000F0083 +:103A70000502000548025A101C01F000497A580D51 +:103A80001C01F0004A025A10000000FF1C01F00067 +:103A90004DF000004203E00050000000599AF80287 +:103AA000817EF9C00500003E4178C00059D8080B5E +:103AB00059D8000B8004058005FE07FD58F0020070 +:103AC000480401004805E20C59D8000A800405802A +:103AD0000502003359D8000582000500000060008F +:103AE0000502002F0500C02E917005820500002CF4 +:103AF000917005880500002A40F25800592E58019F +:103B0000592CBA0A592C000D80000540050000050B +:103B10008C5C0502050200034200C000FFFFFFFFAE +:103B2000592C4200592C020C582010004000200053 +:103B30008008058005000014412C000080F00580FD +:103B4000050200098C5C050205000003806000008E +:103B5000050000130501F81D480BB00A5C03E000E6 +:103B60001C01F0008C5C0502050200144A03B0043D +:103B7000100000004971E4100501F8315C03E00019 +:103B80001C01F000817EF84005FE07DD806000002A +:103B90000500000380625D58050200035C03E0003D +:103BA0001C01F000592C4200592C220C5820100006 +:103BB000592CBA0A05FDF7EE8060C1C005FE07F278 +:103BC000412CC00005FDF7F0916C0583050200173C +:103BD0008C5C0500050000078C5C050205020005F1 +:103BE000592C000D592C080F80040480050010107A +:103BF0004010000080080C8005021003592C040AB4 +:103C000080040C00592C021080041C800502100254 +:103C10001C01F00080101400592C040A8008048054 +:103C200005001002400010001C01F000845CBD4241 +:103C3000485E5A0A401010001C01F000801000CCB1 +:103C4000592C2808801404004803B000497BB002B6 +:103C500059D800014817B000592C00094803B00199 +:103C60004813B00B592EE410592C040A8200054069 +:103C7000004000004803B00305FDFFD4480BB00A24 +:103C8000592C000B4803B01F4A03B0041000000178 +:103C9000412DE0001C01F000417000000C01F0011A +:103CA000001061E5000207E2001061E5000208BFB4 +:103CB000001061E4001061E4001061E4001061E4B0 +:103CC0000010683705010035599800008000054054 +:103CD000050200390502C01F6062F8004DF00000C7 +:103CE0004203E0005000000049DB300159DA580877 +:103CF000592C2A0858F00812800409C00500004217 +:103D000058F0000B480258044806580248F258037D +:103D1000497A5800497A580182140500000000FFD2 +:103D2000B0000CBB050210350C01F8495C03E00043 +:103D3000817EF84005000007916C058305020005AF +:103D4000917005810502000E0501001505FCC7E410 +:103D50000500FB970500B38259D4000582000500D9 +:103D600043238780013204F459D8000582000500FE +:103D700043238780013204FA1C01F000917005830F +:103D8000050008AE9170058105FE07F205010004EB +:103D900005FCC7D305FDF7EF6062F8004DF00000A9 +:103DA0004203E0005000000049D7300159D65808BE +:103DB00005FDF7D04DF000004203E0005000000088 +:103DC00040025800592C2A08497B3001497B3000B9 +:103DD0006062F800420000000010D1255000080089 +:103DE000480658035804000B4802580458040012AF +:103DF0004802580205FDF7C90131FA4A5C03E000A8 +:103E000005FDF7D4592C040882001500000000FFBE +:103E10008000011082000C000010D2255004080020 +:103E2000480A5C08800409C005FE07B6800005400A +:103E300001000DA5420008000010D2255004080022 +:103E4000480658020131FA5C05FDF7B90010624AD4 +:103E50000010624A0010624A0010624A001062D3E9 +:103E60000010624A0010624A0010624A0010624A62 +:103E70000010624A001062560010624A0010624A46 +:103E80000010624A001062F00010624A0010624A9C +:103E90000010624A00020A4B0010624A00020AF651 +:103EA0000010624A0010624A0010624A000208DFF5 +:103EB0000010624A0010624A0010624A0010624A12 +:103EC0000010624A0010624A0010624A0010624A02 +:103ED0000010624A0010624A0010624A0010624AF2 +:103EE0000010624A0010624A0010624A0010624AE2 +:103EF000001062990010624A0010624A0010624A83 +:103F00000010624A0010624A0010624A0010650602 +:103F1000001066BE0010624A001064890010624AF8 +:103F20000010624A0010624A0010624A0010624AA1 +:103F3000001064D30010624A0010624A0010624A06 +:103F40000010624A0010624A0010624A0010624A81 +:103F50000010624A0010624A0010624A0010624A71 +:103F60000010624A0010624A0010624A00106803A2 +:103F70000010624A0010624A0010624A0010624A51 +:103F80000010624A0010624A0010624A0010624A41 +:103F90000010624A00020B55001067D10010624AFF +:103FA000001067F90010624A0010624A0010624A6D +:103FB0000010624A0010624A0010624A0010624A11 +:103FC0000010624A0010624A0010624A0010624A01 +:103FD0000010624A0010624A0010624A0010624AF1 +:103FE0000010624A0010624A0010624A000208EAA9 +:103FF0000010624A000208F20010624A0010624A91 +:104000000010624A0010624A0010624A0010624AC0 +:104010000010624A00020AA40010624A0010624ABC +:1040200000020CA60010624A0010624A0010624AA8 +:104030000010688C000208F24DF000004203E0001E +:104040005000000059981001800811C0013001E9AA +:104050005808000582000D0043238780013204FACE +:104060008C000508013001E7580A5808592C02084D +:1040700058F00812800409C0013001EB48065802CC +:10408000497A5800497A580182000500000000FF73 +:10409000B0000C8B013211E61201F800001061FF34 +:1040A0005C03E0009170058305FC07E40500FAC09D +:1040B0000500B2AB1C01F00080140110800000402C +:1040C0000500013E013012504A01E00700020A1FBC +:1040D0004801E400492DE002492DE003600EE000B4 +:1040E0001C01F000497A580580140110800000403E +:1040F00001300250013012504A01E00700020986E7 +:1041000005FDF7F4497A580580140110800000403D +:1041100001320250592C020B820004800000100171 +:104120000132125C592C0017B00005800132025C8C +:104130004D2C00000105F92905000012412C6800F2 +:104140005C025800600AE000420010000010F67F98 +:10415000592C0804592C2015592C28169034040584 +:1041600048001003480410064810100748141008AF +:104170004834100A492C100B05F9FF121C01F000FD +:104180005C025800492DE0056022E0004A01E0048D +:10419000000209171C01F0006006E000412C6800D5 +:1041A00058F2580505FDF7E84D2C00005832580B21 +:1041B000592C5A084978600B812E59C00130029160 +:1041C00058300002820005800000010001320277B1 +:1041D000420000000010F67E500070005830680A5F +:1041E00058340005592C0809800405800132027BEF +:1041F000583408065834100758341808480658151B +:10420000480A5816480E5817822C0D800000016A83 +:104210000502000E592C0A0E58342C095834180F78 +:1042200058342010583410118C0405040502000E77 +:104230008C14051005020011480C680C4810680D1C +:104240004808680E0501F037592C0C0E90040D0437 +:10425000592C040B800001109000050880040D40CB +:1042600005FDF7EE82080500FFFF00030132027B27 +:104270008C140510050000165834381258344013B9 +:10428000583430148C04050605000004821805001B +:10429000FFFF00030132027B8C04050405020009C4 +:1042A0008C0405060500001F481C70074820700894 +:1042B0004018100060483000607C38000501F00FA5 +:1042C000481C70114820701248187013603030007C +:1042D000602038008C14051005000006603C30009A +:1042E000606838008C040506050200026060380032 +:1042F000480C700748107008481C7010592C0804AE +:1043000048047006492C700B4818700E4834700C25 +:1043100048365801652868085C0258000135F025C8 +:1043200048365801652868086006E00040341000EF +:10433000822C05800000016A050200040501F80EC8 +:104340005C0258001C01F0000501F9355C025800C0 +:104350001C01F000592C0001800015400130025072 +:1043600058080A0882040D00000000FFB004058A06 +:1043700001320256580804098C0005100500008F10 +:104380004D2C00004C08000005F9FE845C00100074 +:1043900005000008412C68005C02580048365805AA +:1043A000592C5A0E0501F80E050000840131F25C0B +:1043B0005C025800492DE0056022E0004A01E0045B +:1043C000000209A31C01F0006006E000412C680017 +:1043D00058F25805592C100105FDF7F1592C220B04 +:1043E0005808480C5808040D800045400500004C52 +:1043F000801024800500004A0500104990200483A5 +:10440000050010070500000B0500100C40004000DF +:10441000580810019020048505FDF7FB402000009E +:104420000C01F001000209F8000209D2000209D6CD +:10443000580810010501F008402000000C01F001AF +:10444000000209C6000209CA000209CE000209D210 +:10445000000209D66024080042001800001012046F +:104460000501F0106030080042001800001012052D +:104470000501F00C603C0800420018000010120614 +:104480000501F008604808004200180000101207FB +:104490000501F004605408004200180000101208E2 +:1044A0004008000080043C00581C2800581C3001C3 +:1044B000581C38028C2C05020500000E801020408C +:1044C0000500000C900405950500000490040C0301 +:1044D000800C18000501F00758081001800811C071 +:1044E00001000DA56024080042001800001012040D +:1044F000480468094808680A480C680B4810680CAA +:104500004814680D4818680E481C680F4824681045 +:1045100064046811800005801C01F00090000541D2 +:104520001C01F000592C020882000500000000FF69 +:10453000B00005A8050000079000058205000005F1 +:1045400090000598050000039000058805020018FA +:10455000592C00018000154005000015580802087C +:1045600082000500000000FFB000058A050200106F +:10457000580804098C0005100500000D592C000591 +:104580004D2C000080025D4059A8000C812C048055 +:104590000500100859A8000A812C048005021005A6 +:1045A0000105F94A5C025800497A58051C01F000DF +:1045B0005C02580005FDF7FE592E8A0A83440C80E0 +:1045C000000007F00132125C8D0C050E013202A1D1 +:1045D000592E441481224110834404000010C80065 +:1045E0005000000080026D40013002B459340013C5 +:1045F0008000013081200580013202B4599C0018EE +:104600008C00052A05000005592C00035800040CF5 +:1046100081200580013202B45934000A8C00052E35 +:10462000013202BA05FDF87C013202B61C01F0002D +:1046300058F0080358F0040048065800492C0801B7 +:10464000492DE003800000404801E400050000021D +:104650001C01F00058F2580258F000076006E00014 +:104660000801F8001C01F000801401100130025014 +:104670008000004005020009592C240E8C1005040E +:104680000500000A592C020B82000C80000010016A +:104690000132125C0135F0134A01E00700020A5AA8 +:1046A00005FDF68C592C240E592E8A0A417A780081 +:1046B000592E440B83224500000000FF8320058013 +:1046C000000000FF0130042A832004000010C59C74 +:1046D0005002480083440C80000007F0013214238C +:1046E00083440C000010C8005004000080026D409C +:1046F00001300425593400138000013081200580E9 +:104700000132042559340002592C080C800405801C +:104710008200050000FFFFFF0132025C59243A00CD +:10472000901C05039000058301320420592E600D72 +:10473000497A580C8330048000110E400130144334 +:10474000A1300495013213EB592C0A1059300202A2 +:1047500080040580013204434936600A4926601D01 +:104760008C10051C013203DF592402068C00051051 +:104770000132045B8D0C050E013203CB8C1C051637 +:1047800001320452593402008C00051801320440F1 +:1047900059300C07900405860132045E8C10050820 +:1047A000013203C159300809497A580764025A0A8C +:1047B000800409C0013203C6593004168C00051666 +:1047C00001320446492E60090501F38C497A5805E7 +:1047D000801401100130025080000040013002506E +:1047E000592C0A0B82040C80000010010132125C6B +:1047F0004A01E00700020AB005FDF636592C000117 +:10480000800015400130025058080A0882040D004B +:10481000000000FFB004058A01320256580804095E +:104820008C000510050200216006E000592C240EC2 +:104830008C10050405FC079D592C02088200058098 +:104840000000017A05FC079940087800592C020BFA +:1048500082000480000010010132125C583C180CE8 +:10486000583C200D583C100E82080500FFFF000345 +:104870000132025C600AE000420000000010F67E97 +:104880005000700064207010592C08044804700611 +:10489000480C700748107008492C700B6430700E7B +:1048A000483C700C0135F025592C240E8C10050461 +:1048B0000132025C4D2C00004C08000005F9FD3768 +:1048C0005C0010000500000E412C68005C025800DE +:1048D000592C5C0E802C59424836580505FDFEC007 +:1048E00005FC07710131F25C6006E000412C6800B4 +:1048F00058F25805592C100105FDF7F65C025800D6 +:10490000492DE0056022E0004A01E00400020AEBC4 +:104910001C01F000492FC857592E44148122411020 +:104920000131FFC0050200520131FEB00502005006 +:10493000592C02088000011201320250592E8A0AB5 +:10494000012DF8110502004A0129FFBD0502004AA8 +:10495000592E780E493FC8578D3C053E050200058B +:104960008D0C050E050200420129FD670130025C35 +:10497000913C1D1F0130025C592C020B82000C80FF +:10498000000010000132125C800000C2800008C4E8 +:104990008005D400592E900C592E980D5934080DCD +:1049A000800409C00500000458041805800C19C0D3 +:1049B0000502002B913C1D1F817800408000000003 +:1049C000800C190205FE17FE0132025C0C01F00199 +:1049D00000020B2A00020B2C00020B3500020B37E1 +:1049E00000020B390151FAA50501F0190129FD4119 +:1049F0000500001D80E9D1C0013A0A45601680001B +:104A0000417A9000417A98000151FAB10501F01005 +:104A1000613670000501F004613A70000501F00292 +:104A2000614A70005934080D800409C00500000671 +:104A30004D3C0000400678000129FD255C0278000D +:104A4000050000070129FC3501520ADD05000006BA +:104A50008D3C053E0502000A1C01F00064C25A0AA2 +:104A60000501F00964B25A0A0501F00764A25A0A66 +:104A70000501F00564A65A0A0501F003497A580DAC +:104A800064025A0A4A025A080000010305FDF02494 +:104A9000492FC85780140110800000400500000213 +:104AA0000131F2500131FEB70502001E592C020BF4 +:104AB00082000500000003FF48025A0B8C00050627 +:104AC00005000003B0000530050200038D0C050E43 +:104AD000050200144A025A0A0000DEAD592C040CEB +:104AE000820005000000F0FF48025C0C0129F8D2AA +:104AF000050200021C01F00049425A0A8058B1C068 +:104B0000050000070155F8D70501F80A44042800FC +:104B100090580582050200024808280105FDF000B2 +:104B200060C68000600408006004B00005FDF7F373 +:104B3000592C040C80000118912C2C0D80142C0091 +:104B40001C01F000492FC857641A5A0C05F9F7F4F4 +:104B5000492FC85764065A0C05F9F7F14DF00000CB +:104B60004203E000500000000502B00B835C0480AB +:104B7000000001040500100C815EB840416A580035 +:104B8000592ED000492FB007497A5800497A580168 +:104B900005FCB7F759D8000582000500432387803C +:104BA000013204FA5C03E0001C01F0004DF000004B +:104BB0004203E000500000000502F00B835C04801B +:104BC000000001040500100C815EB840416A5800E5 +:104BD000592ED000492FA807497A5800497A580120 +:104BE00005FCF7F759D400058200050043238780B0 +:104BF000013204F45C03E0001C01F000403070005E +:104C00005838000B80025D400500001C5838000237 +:104C100082000580000001000500001D4C380000E6 +:104C2000592C020882000500000000FF9000059248 +:104C30000500000FB00005A00500000D90000588DC +:104C40000500000B592C020C8400054E48025A0C3A +:104C5000497A5C0C497A5C0D640A5A0A4A025A087D +:104C60000000010305F9FFAE0501F00364425A0A92 +:104C700005F9FFAB5C0070006006E0004A007002BE +:104C800000000100497870101C01F0005838000441 +:104C90009000048305000081583810108C0805002E +:104CA000050200148C08050605020037600CB000F0 +:104CB000912CAC155838000A5838100D8008A40003 +:104CC0004C3800000161FD085C0070005838000D90 +:104CD000900004034800700D6404701058380004FC +:104CE0009000048348007004900005830500006B69 +:104CF0005838000E80001D40050200264C38000088 +:104D00000105F9295C007000050000124A025A08EA +:104D10000000010A60241800480C700E5838000C7E +:104D200080000540050200025838000B40000800D2 +:104D3000492C0801492C700C603C08000501F01951 +:104D40006022E0004A01E00400020C091C01F000AE +:104D50006022E0004A01E00400020C0D1C01F0009A +:104D6000600AE0006E0070000010F67E0501F06B36 +:104D7000600AE000420000000010F67E5000700063 +:104D800005FDF7E384081540480870105838180EE0 +:104D9000583A580C400C00006060080080040C80F9 +:104DA000583810045838000F417830008000054012 +:104DB000050200048418354090081483050000376C +:104DC000400800008004048005001002400808002C +:104DD0004004B000412C0000800C04004000A800FA +:104DE0005838000A5838100D8008A4004C080000FC +:104DF0004C0400004C0C00004C3800000161FD0820 +:104E00005C0070005C0018005C00080040040000BA +:104E1000583810048008048048007004900005830E +:104E200005000002841835005C00000080041400B6 +:104E3000B00804A005020003841835424178100030 +:104E4000400C000080041C00900C04980502000334 +:104E50008418354440001800400808004804700DCC +:104E6000480C700E401800000C01F00100020C54B8 +:104E700000020C5700020C5500020C5400020BF00B +:104E800000020C5700020C5500020C540101FDA554 +:104E90005838100F0135F0255838080D90040402D9 +:104EA0005838100A8008040050001000800811C013 +:104EB00005020041583818108C0C05060502000B3D +:104EC0006006E000583A580B4978700B497870102A +:104ED000592C020882000500000000FF9000059296 +:104EE00005FC05F105FDF5B58C0C05020502002851 +:104EF0008C0C0508050000165838080C5838000EB0 +:104F000080002D400502000B4C3800000105F929F6 +:104F10005C00700005FC078B412C0800583A580CC7 +:104F2000480658014A000A080000010A60242800C7 +:104F300058381811583820125838101380040C05AE +:104F4000480C080048100801480808026006E00004 +:104F5000583A580B4978700B49787010592C020850 +:104F600082000D00000000FFB00405B205FC05CE74 +:104F7000592C1001B00405BA05FE04FF58080409B5 +:104F80008C00051005FC05C805FDF64B8C0C0504CE +:104F900005FE07EF840C1D44480C7010583818119A +:104FA0005838201258381013480C700748107008F1 +:104FB0000135F0255838000A80040C0090381C0791 +:104FC0005404180080040800800C180054041800D1 +:104FD0000135F0258014011001300250800000409E +:104FE000013002504A01E00700020CAD05FDF43922 +:104FF0004D2C00000105F929412C68005C02580085 +:10500000050000064836580590346C010501F80C7F +:1050100005FC056A0131F25C492DE0066022E000E2 +:105020004A01E00400020CBC1C01F0006006E00034 +:10503000412C680058F2580605FDF7F3592C481228 +:10504000592C020B8000454005000023592C040B0D +:105050008000254005000020592C70018020404030 +:1050600005000008902004850500100658387001DE +:10507000803871C0050000188000454005FE07FA21 +:1050800082204400001012045020000080380C00E0 +:105090005804280058043001580438024838680D74 +:1050A0004800680C497868144978681548146810F5 +:1050B00048186811481C68124820680E4824681374 +:1050C000801020404810680F050200058000058010 +:1050D0001C01F000900005411C01F0008020400000 +:1050E00050201800800C19C00502000A5838000131 +:1050F0008000754005FC07F8583802089000050F3D +:10510000820004000010120D5000400050201800D2 +:105110004820680E480C680C4838680D05FDF7EC0F +:105120004DF000004203E000500000005994002EB2 +:1051300080000540050001244C0000005C000000D8 +:10514000599478244803282F803C048005001004DB +:1051500005000003480328240501F0484178780041 +:10516000803C780082000400000003E805FC27FD75 +:105170004803282459A8000F8400057E4803500FD7 +:105180004C3C00000121FF180502000A59A80868DC +:10519000800409C00500000780040C8F4807506890 +:1051A0000500000205021003497B50680139FD0823 +:1051B0005C00780059A800978C0005000500000EDF +:1051C00059A80868800409C00500000B80040C8FF2 +:1051D000480750680500000205021007497B506827 +:1051E000420000000010D0E25000080084040D4886 +:1051F0004404000059A800A0803C1400480B50A0B3 +:10520000803C004005000002483FC85759E408525E +:1052100059A800A1800405800500000359E400524C +:10522000480350A159940030803C040048032830C2 +:105230000139FB035998B0028058B1C0050000083D +:1052400040F25800592E5801592C020A8C000500D2 +:1052500005FE09E68058B04005FE07FB59940000A2 +:10526000900005800502000559940030480328315C +:10527000497B2830640728004C0C000058D400E516 +:105280008C00051405000013599408075994100662 +:105290005994002F80081C800500100405000003AD +:1052A000480F28060501F00B80040840480728072E +:1052B00005020004599400080801F8000501F005F2 +:1052C000400C0000900C1C0A05FC27F8480F28062B +:1052D0005C0018004D18000059C800408C000534CF +:1052E00005020025417A300091947C096004200079 +:1052F00058D400E58010050005020007801020C486 +:10530000903C7C05811A30009118058505FE07F94F +:105310000501F019583C0801583C10005994002F21 +:10532000800804800500100505000004480078008E +:105330008000004005FE17F2800408404804780110 +:10534000050000069000040A4800780005FC27FBD1 +:10535000B004053F05FDF7EA583C00044C3C000052 +:105360004C1000000801F8005C0020005C00780090 +:1053700005FDF7E35C0230008D0C051605020017F1 +:105380008D0C05220500001E5998B0088058B1C048 +:105390000500001241765800592E5800592C000380 +:1053A0008000154005000006050020085994002FD4 +:1053B0008008048005021004497A580305F9FE515B +:1053C0000501F002480258038058B04005FE07F37B +:1053D0008D0C05200500000A59940023800015401B +:1053E00005000007050020065994002F800804805E +:1053F00005021002800005804803282359940026E6 +:1054000080000D4005000012599410255994002F7A +:1054100080080480050010050500000448032825C5 +:10542000800000400502100A800408404807282632 +:1054300005020004599400270801F8000501F00452 +:105440009000040A4803282505FC27F85994000415 +:1054500080000D4005000012599410035994002F4C +:105460008008048005001005050000044803280397 +:10547000800000400502100A800408404807280404 +:1054800005020004599400050801F8000501F00424 +:105490009000040A4803280305FC27F859940029C2 +:1054A00080000D4005000012599410285994002FD7 +:1054B0008008048005001005050000044803282822 +:1054C000800000400502100A80040840480728298F +:1054D000050200045994002A0801F8000501F004AF +:1054E000900004014803282805FC27F85994002C53 +:1054F00080000D40050000125994102B5994002F84 +:105500008008048005001005050000044803282BCE +:10551000800000400502100A800408404807282C3B +:10552000050200045994002D0801F8000501F0045B +:105530009000040A4803282B05FC27F859A8080FF7 +:105540008C04053E0500001B84040D3E4807500FE7 +:10555000050000185994002F4C0000008200040040 +:10556000000003E84803282F80040480050010048D +:10557000050000034803500F0501F00C4C0000002B +:105580000139FBC301380C475C00000059A8080E24 +:105590008004040005FC27FF800001C00502000212 +:1055A000400400004803500F5C0000004803282F0F +:1055B0005994082E5994002F8004048001001DA5E1 +:1055C0004803282E599400000C01F00100020E2718 +:1055D0000010724C001072BB5C03E0001C01F00074 +:1055E0005994002E800000004803282E4203E0005A +:1055F000700000001C01F000813E79C00502001619 +:1056000059A800BB8000004005FE07FF58D400EAFF +:105610008C00051605FE07FE913004004801A8E144 +:10562000592C10035808020A8C0005000500000AD6 +:10563000592C1C0E820C1D00000000C0B00C1D80F7 +:1056400005000005592C18135808000D800C0400A3 +:105650004800100D1C01F0005C0000004C00000030 +:105660004803C8574807C8570501F00260040800FE +:1056700059325809832C050000FF00000500001670 +:10568000592C10005930180859302027801021C09B +:1056900005020022592C040E480A60098C000510EE +:1056A0000502000E48065A0A820C05000400080094 +:1056B00082000580040008000500001505F9FD18AA +:1056C000417A780059300009641E620380025D400F +:1056D00005FE07CA1C01F000456A5800412ED000A3 +:1056E000815EB800592C000180000D4005020006C3 +:1056F00059C80000820005400000120048039000D5 +:1057000005FDF7F005F9FCEE05FDF7EE5930002137 +:1057100048025C1305FDF7EA497A602745682000D6 +:105720004012D000815EB80059C8000082000540D8 +:10573000000012004803900005FDF7D75930041609 +:105740008C0005100500000284040D524806600418 +:10575000497A6000497A600158D400EA8C00051645 +:1057600005FE07FE83300400A00000004801A8E108 +:105770001C01F000593004168C00051005000002D1 +:1057800084040D525930000482000500000001001D +:1057900080040D404806600458D400EA8C000516C9 +:1057A00005FE07FE83300400400000004801A8E128 +:1057B0001C01F00058D400EA8200150032000018E5 +:1057C000013E03548C0005100500002F58D410E052 +:1057D00082080500FFFFF0000502000D900A350F5A +:1057E00080081108480BC8579008048701021DA5BE +:1057F0009008048101001DA51201F00000107B58E3 +:1058000084000510480260040501F019840A653E11 +:10581000593008048C04052005FC07FA82040D00A9 +:10582000FFFEFEFF480660048C08053E05020009E5 +:105830008C0405140500000405FDFF8D0501F8FD2D +:105840000501F00B604E70000501F9180501F00824 +:105850008C0405140500000405FDFF850501F8F51D +:105860000501F003612670000501F91058D400EA23 +:105870008200150032000018013E03548C00051010 +:1058800005FE07D31C01F00059BC00EA8200150098 +:10589000B2000018013E037E8C00051005000007D1 +:1058A00059BC10E080080108900A350F4803C8571A +:1058B0001201F00000107B821C01F0004D3000004E +:1058C00059BC00EA8C00051005FC07FE59BE60E0DB +:1058D000813261C001000DA5593008048C04051CFB +:1058E000050200685930002780006D400500006502 +:1058F0008318040000020F53500010005808020FD4 +:105900008C0005000502005D583408118C04050068 +:105910000502002B5808000E50000000480010033C +:105920005808080C80040C80583400118C000504C1 +:10593000050000075834200D5834280E4810100771 +:105940004814100884000504480068115834180CE5 +:105950005834300F583450104018000080284480CC +:1059600005021002402800008000010480044480E9 +:105970000500100240000800B00404800500100279 +:105980006100080048041004800408C4480410059D +:1059900040040000802854804828681080184C80FB +:1059A000050000164824680F802851C00500001526 +:1059B00005F9F9045C0260001C01F00084040D008C +:1059C000480468115808080B5834200D5834280E24 +:1059D00059301809580C30044818100648041003B0 +:1059E000481010074814100849301010483410119E +:1059F0006000080105FDF7D6800C1840050200057F +:105A000058340011840005424800681105FDF7E98B +:105A10005834700A5834200B8010200050100000B9 +:105A20008000054005000010803834005818380008 +:105A300058184001581848024810680B480C680C68 +:105A4000481C680D4820680E4824680F802851C003 +:105A500005FC07EC58340011840005444800681127 +:105A600005FDF7D4583870014838680A4200200014 +:105A70000010120405FDF7EA840005424800120FE9 +:105A80004933C85705FDF7CC0010D6F00010D702F7 +:105A90000010D7140010D7260010D7385830020F46 +:105AA0008C0005000502001B58307810803C79C03E +:105AB000050000305830000282000580000001001F +:105AC0000502002E583C0C079004058605000003D3 +:105AD000900405830502002758300804583000035D +:105AE00080040C005830000B80047C80823C7D8058 +:105AF0000000008005020002400008005830000E3F +:105B0000440400005830000D480378E71C01F00001 +:105B10004803C8564978620F8C00050205FC07FC53 +:105B20004803C8564C300000013DFB065C00600095 +:105B300058300C0F800410CA820814000000760050 +:105B40004A00101400090000800410C882081400E4 +:105B50000000BF3258080005840005004800100509 +:105B60005830000B5830080E44000800013DFAF789 +:105B7000483FC85705FDF7E64D3000004D2C0000AA +:105B80004D3C00004C300000583260104933C8577B +:105B900059325809592C020C8400054E48025A0CFF +:105BA000417A7800014DFE055C0060005C027800DF +:105BB0005C0258005C02600005FDF7D559A8028C14 +:105BC00081640480050010154162600041580000A6 +:105BD00059300A0390040D80050200076422620315 +:105BE0008166C8409132C43081600480050210088B +:105BF0001C01F0009132643081300C8005FC17F5F7 +:105C00004202600000110E4005FDF7F2837AC540A4 +:105C100000110E401C01F000420000000010D805E9 +:105C20000161FC3D4967C857800265801C01F00096 +:105C30008330048000110E4001001DA54158000072 +:105C4000813004800502100A457A60004A0262022F +:105C50000000FFFF05011000913004034803C84015 +:105C600064B7C8428166C8001C01F00041540000BE +:105C70008130048001021DA559A80088493350874E +:105C80008000000048035088457A60004A026202A2 +:105C90000000FFFF05011000913004034803C840D5 +:105CA00064B7C8421C01F0004D3400004D240000D0 +:105CB0005932481D5932680A593004079000051FAF +:105CC0000C01F8045C0248005C0268001C01F00052 +:105CD000001089F700108A0600108A2000021005C3 +:105CE0000010AFC40010AFDF000210EF001089F702 +:105CF00000108A060010757000108A68001089F77D +:105D0000001089F7001089F7001089F700108A3811 +:105D10000010A92B0010BFD5001089F7001089F7DB +:105D2000001089F7001089F7001089F7001089F733 +:105D3000001089F7001089F7001089F7001089F723 +:105D4000001089F7001089F7001089F7001089F713 +:105D50005930020390000C9101021DA50C01F001C5 +:105D600000108A37001096700002101A001098F385 +:105D7000001099A200108A3700108A3700108A3765 +:105D80000010965C00108A3700108A3700108A379E +:105D900000108A3700109B970010A44B00108A3720 +:105DA0000010A47AB138049805021006B1380480B6 +:105DB000050010044D2C00000C01F8035C02580093 +:105DC0001C01F000001096EA001096EA001096EA16 +:105DD000001096EA001096EA001096EB001097E784 +:105DE000001096EA00109838001096EA001096EA23 +:105DF000001096EA001096EA001096EA001096EA63 +:105E0000001096EA001096EA001096EA001096EA52 +:105E1000001097EB0002103A001096EA001097EA83 +:105E2000001097EC59325809593000088C0005369B +:105E30000500000F497A580D417828006030300085 +:105E4000604438004C5C0000592CB8050501F84C42 +:105E50004D2C0000405E58000105F94A5C025800D4 +:105E6000497A58055C00B8000501F01C5930081348 +:105E700059301402593402008C00050E050200232B +:105E80000501F82F050000054A025A080000010329 +:105E9000497A580D0501F0094A025A080000010329 +:105EA00064025A0A497A580D400400000155FC3337 +:105EB00080000D40014E09724806580B480A5C0AE2 +:105EC00059300008820005000400080082000580A7 +:105ED000040008000500001705F9FB110155FC2A14 +:105EE0005934000F8D0C0512050200055934140BAE +:105EF0008008104005001002480A6C0B8000054025 +:105F000005FA0A9A05FDF74B592C020E8C00050282 +:105F100005FC07DC800409C005FC07E0592C020CD5 +:105F20008C00050E05FE07DD4933C8570151F4CE3C +:105F30005930022148025C1305FDF7E8592C020E86 +:105F40008C0005000500000D59300017592C38133E +:105F5000801C3C800500000964565A0A8C1C053ED2 +:105F600005000004641E5A0A801C3880801C38001A +:105F7000481FC857901C0D401C01F0004C5C0000ED +:105F80004C6000004A025A0800000103592C040C1E +:105F90008400054248025C0C5930040248025C0A45 +:105FA000905CBC0164025A0A59300017592C08133E +:105FB00080040C800500000864565A0A8C04053ED3 +:105FC00005000004641E5A0A80040880800408004A +:105FD0004807C8574806580B912CC4128C14051E4C +:105FE000050000094018000081CC3400401C00006E +:105FF000812C3C005018000044003800401CC000B8 +:10600000901CC401585C0813800409C005000037C7 +:106010004807C8578C04053E050200235930002B61 +:1060200080000540050000164C0400004C080000EC +:106030004C0C00004C1000004C14000040002800E4 +:1060400058141003400400008008148048082803F6 +:10605000401400000105FE7F5C0028005C00200069 +:106060005C0018005C0010005C000800592C020A5B +:10607000800005400502000B0501F005592C040CB9 +:106080008C00051C05000002592C08064807C8575B +:10609000592C020A820005400000150048025A0AE5 +:1060A0000501F0125930002B800005400500000A60 +:1060B000592C020A820005400000070048025A0AD3 +:1060C0005930002B4C0400000105FE7F5C000800E5 +:1060D0000501F0064807C856592C020A82000540FF +:1060E0000000070048025A0A4404C0005C00C000D7 +:1060F0005C00B8001C01F00059300203900034919C +:1061000001021DA50C01F0010010AFFD00021104F9 +:106110000010B7B20010B7C30002111F0010AFFD8E +:106120000010B89A000211430010AFFD0010AFFD3F +:106130000010AFFD0010AFFD0010AFFD0010AFFD6F +:106140000010BD770010AFFD0010BDAA9138059377 +:10615000015A074959300403B002748401021DA595 +:10616000B000048001001DA50C01F0010010B792E1 +:10617000000211100010B7930010B7A50151FE6482 +:106180000500000559A8004E48026205643A620302 +:106190001C01F00059325809832C050000FF000053 +:1061A00005000004592C0C0E8C04051A015A07A294 +:1061B00005FDFD2F05FDF69FB13804980500100779 +:1061C000B13805A105000003B13805A001020DA5F5 +:1061D0004933C8571C01F000B13805880500000498 +:1061E000B1380593015C00470101FDA55930002B32 +:1061F000593010135930080A58040A008C04050E4F +:10620000015E002D800811C0015E00385930002B5E +:1062100080000540015E004259325809592C040E95 +:106220008C00051E015C002764066203650664039A +:1062300042000800800020428C00051A050200027E +:1062400084040D5405FDF54CB1380498015E105ED0 +:10625000B1380480015C105F0C01F0010010B867D8 +:106260000002115C0010B8700010B8750010B8671B +:106270000010B8670010B8670010B8670010B86861 +:106280000010B86C0010B86C0010B8670010B86748 +:106290000010B8670010B8670010B86C0010B8673D +:1062A0000010B86C0010B8670010B868640662038C +:1062B000493A6403420008008000204205FDF52EA3 +:1062C00000000000000000000000000000000000CE +:1062D00000000000000000000000000000000000BE +:1062E00000000000000000000000000000000000AE +:1062F000000000000000000000000000E94B0F4C0F +:106300000000000000000000000000000000000588 +:10631000FFFFFFFB02800004000000000000C0003F +:10632000000009A3073FCA5A0705A5A501928009E5 +:10633000070FF0E103800006053F2AAA070AAAAA70 +:10634000073F3AAA070AAAAA0595801405308000DB +:10635000050080000600902F05A0071E0202F051E4 +:10636000042E4020018F02DD033E50000302000096 +:10637000078D00240693062A0292062C050FB056BC +:10638000040010E6002FB008060FF0E600580401E4 +:10639000054880FF07810022018C0469008A046897 +:1063A000058B0466079F0028019808C3079F0028F3 +:1063B000049908C1058E80140678AAE504004051AE +:1063C000068181F8079A0014030430D40405205193 +:1063D0000448B0430681003200252080022A500183 +:1063E00006780043030E0000030450FF06780043C4 +:1063F0000301900002A182370681885B027C004580 +:1064000003020000068181250490803D0191085916 +:10641000010410A606600052030D60FF05601041E4 +:10642000050F80FF032FA071070FF0D1055C040357 +:10643000034A88FF068188730180010F0748000026 +:10644000058108650149B0000781005A06600A010C +:10645000050F80FF053FA8090600001C07F000009B +:10646000030EF039018608630760033907601839A5 +:10647000050F80FF063FA0510600000205481000EE +:106480000581806306780043070000F00681006EF6 +:10649000037C00FF06000010068188610280006E08 +:1064A00006780043070000F0037C00FF070000307F +:1064B0000681006E06780043070000F0037C00FFB1 +:1064C000060000200681006E008008610379FF004D +:1064D000070FFFFF0678004307F00000075A00008F +:1064E000020EF001018608630548400003A1825AAC +:1064F00003680C000781888D04600452030D60FF5F +:10650000002FB001070FF06901868084060FF07933 +:10651000055C044107810014012FB000060560FBF3 +:106520000280008A060FF07903868235070FF06932 +:10653000055C044107810014060560FB070FF0D1DC +:106540000700F0FF04600252030D60FF070FF00F19 +:10655000055C040C058180F5070FF0D1045C040D87 +:10656000054B08FF0781810004600801050F80FFCB +:10657000053FA8090600004F030700390007B001D6 +:10658000030790410307A000074890000681812C73 +:10659000078D009F0207C0040107D0050107E00630 +:1065A0000207F00702080008010810090108200A84 +:1065B0000208300B008680B60448D07A048180B689 +:1065C0000448B07A0581086C0049707A048180B66D +:1065D00004604679050F80FF053FA8090600000109 +:1065E00001680703076C03030781886C072D5003BC +:1065F000033E5000050020000049107A068100C2C9 +:10660000070FF00A0054040B048280C1078D00BEFE +:106610000008200B032FF000010770FF0108400C59 +:106620000208500D0678007A06000008068100D5A1 +:10663000068D00C704603E79050F80FF073FA0412B +:106640000600004A0049707A01A18921068D00CE1A +:106650000678007A07F00000010880FF0238600821 +:1066600003010000038000DB068D00D50678007A68 +:1066700007F00000010880FF0338600003010000FC +:10668000072E6300020EF07F03860014070FF07DD3 +:106690000450047C050F80FF002FA819078D00E22D +:1066A00002080001000810020678007A05000200C6 +:1066B000068100EA0049107A03A1825301082003F1 +:1066C000078D00EB0448B07A068100F10338600CB6 +:1066D00003010000038000F302386004030100009E +:1066E000072E6C000380001404600252030D60FF4B +:1066F00007F0000007F000000400E0D00648300E6C +:1067000006810091072E500C0020800104A0072371 +:106710000380001406780043070000F00481086E2F +:10672000050020FF027C0002060000100481010B1E +:10673000027C0002070000300481010B0080086E1B +:106740000500D0D10279FF0D070000FF03800095FE +:10675000020EF0020186085304602602050F80FF36 +:10676000053FA81106000008060FF0D0055C0411D3 +:106770000179FEFF0700FFFF078188530448B043FB +:1067800005810124072D60000179FD120600001F1C +:10679000060FF0D00379FCFF0600001F055C041211 +:1067A000078188530280004A027C004503040000F0 +:1067B00005810135027C0045030800000581085968 +:1067C0000280003D06600A79050F80FF053FA80A98 +:1067D000060000100380009F05601041050F80FF38 +:1067E000032FA0710280004A0204A05106780043E2 +:1067F000070000F0037C00FF06000010068181E91D +:1068000006600052030D60FF03948855050FB056D3 +:10681000044880E605818014060FF0D00179FEFF60 +:106820000700FFFF057DFEFF0700FFFF05810853FE +:10683000053F200007030000019D8014070FF0931F +:10684000045A0201070FF093045C04010681814A97 +:106850000204609204002046060FF002045C04016A +:106860000703A0FF0460020200540401068281585D +:1068700004500425070060FF0730FFFF0700000FEA +:106880000742000F0581022D04A0083B0648A00224 +:106890000681815B00047089070FF047045C0443A4 +:1068A000077800FF07F000000781822B0778004778 +:1068B0000500E00007818842070FF0060186018E7F +:1068C0000179FE470700000F010480FF056C704846 +:1068D00007818174007A0D4A040038010220F0011A +:1068E0000180018107608E48034A60FF0700F0FFC6 +:1068F000074B88FF037000FF07000600055004489F +:10690000074D00FF045A044A0304A0FF070FF00FCD +:10691000015404060582018E0595019604A0027AB1 +:106920000386819906780043070000F0037C00FF8E +:1069300007000030048101940134BFFF070FFFFFFF +:106940000104102E050FD041008001A2049501948E +:1069500004A0027A008601940202F00E052E403057 +:10696000040FD02F04A002DA038000140400E02FEB +:10697000042E40200202F0510004100E0004B00E5C +:10698000004980E5068181A206780043070000F0F7 +:10699000037C00FF070000300481088A024A6C462D +:1069A00004500423050070FF03620024050080FFEB +:1069B000040040460700500F0320600005601048A7 +:1069C0000700A0FF0700900A070FF00504500446D7 +:1069D00000540425048201D507601E22050F80FFA4 +:1069E000063FA032060000020320300001204000D4 +:1069F000032050000120B0000320C00007601841B0 +:106A0000050F80FF043FA85206000001070FF05653 +:106A1000056C02FF050FB0FF070560FF03079041FB +:106A200005601041050F80FF073FA0110600003DE3 +:106A30000678004307F00000065A007A010880FF3C +:106A4000033E50000500200004A00273048D01CE17 +:106A50000208A04A0108B04B02386001030100009F +:106A6000072E6300028000DC0500D00A05500405F3 +:106A7000014A68FF070090FF0154040A0700C0FFA5 +:106A80000600A0230500B0240220600107601E223A +:106A9000050F80FF063FA04A0600000207F0000035 +:106AA00007601822050F80FF043FA81906000001A7 +:106AB0000600A00D018001B806780043070000F031 +:106AC000050010FF027C000107000030058101F382 +:106AD000027C000106000020048108490080086152 +:106AE0000548E0E4048108490334A00003080000DD +:106AF0000080013B074860FF06818216054880FF41 +:106B000007810014070FF056050FB0FF044880E519 +:106B100005810203044880E6058180140180020992 +:106B2000056C02FF050FB0FF070560FF072E53003D +:106B3000044880E605818014072D5003033E500071 +:106B4000050020000678004307F00000010880FFE0 +:106B5000058D020F0338600503010000033E60004D +:106B60000700000C052E520003800014079A001441 +:106B700005301FFF0700000F064200010581022DAE +:106B800004A0083B0648A00206818219062E508008 +:106B900004001089040FD002040FD00102499001B3 +:106BA0000481024C070FF0D4050FD0FF045C0401F0 +:106BB000077800FF07F000000681824C0380001474 +:106BC0000120922B008007260120922D00800726AD +:106BD0000020922F008007260320900000800726C7 +:106BE000012092330080072601209235008007267D +:106BF00006780043070090000781824200498043E5 +:106C0000058102420648A0E504810243027C00455A +:106C10000304000004810245075C00FF07C0000078 +:106C2000056A02FF01800242018002410678007578 +:106C300006000C070581078B00209246070FC0FF56 +:106C400005A00711070FC0FF053080000700A00056 +:106C500004A00723033E50000700000C038000142B +:106C6000070FF0030154047706828258070030773B +:106C7000060FF051010770FF07C0000004602601F5 +:106C8000050F80FF063FA0290600000802015010F2 +:106C900002016051000170510001105107601E4156 +:106CA000050F80FF053FA83A0600000807F0000026 +:106CB00005601041050F80FF01464000032FA00A28 +:106CC0000500701105008012060090130700A01443 +:106CD0000400B0150600C0160500D01707C000005C +:106CE000072D500306601879050F80FF048D02768A +:106CF000063FA0510600003E07C0000006005051AC +:106D00000400E02C0660060E050F80FF032FA0098B +:106D10000379FF00070000FF076C00000581029C5B +:106D20000660600E0500E0FF034000FF01540427E9 +:106D3000048202C703400005070FF005055C042824 +:106D4000058102C9056C08050681827C040F802933 +:106D5000053FA8090700002407F000000660064967 +:106D6000050F80FF032FA0090379FF00070000FF34 +:106D7000076C00000681827C04A002CD0400E0497B +:106D80000080029D04A002CD06600052030D60FF4A +:106D90000460040E050F80FF0004D0D00379FF4D7E +:106DA0000700FFFF0104E0D10379FF4E0700FFFF5A +:106DB000062D6002032FA0090204F0D0064B004FFD +:106DC0000778000007FFFF00045A044F070000FF88 +:106DD000002010080400205106003051012040001E +:106DE0000730500007000060032060090500702292 +:106DF0000460040E050F80FF032FA04207F000007F +:106E00000460520E050F80FF053FA8120600002601 +:106E1000050010D10660360E050F80FF012FA80A6D +:106E2000060FF00E055C042E048102CB07C00000A3 +:106E30000400E026018002880500E02E0080029D0B +:106E40000400E051018002C60340002D050F802B95 +:106E5000053FA80A0600001607F000000660600E55 +:106E60000302C0FF034000FF01540427058202D83B +:106E700007C000000202C026018002D7053F2000A3 +:106E80000302000007C00000022A5002077800E455 +:106E90000700000507818456010440D70678AAE55B +:106EA0000600005102A18886069082E50291036ED9 +:106EB000030400A604600E40050F80FF022FA029E6 +:106EC00007F00000074B0000076C06000481837088 +:106ED000060FF002015804030781039C070FF044DA +:106EE000045C0404034A88FF058183720349F0446B +:106EF0000481839E0049B001048102FD0448E00141 +:106F0000058102FF038003740249500105818374E7 +:106F1000030100D8062DA0010149E0440781030FB9 +:106F2000018F83030700F0D7062DA0010149E00F70 +:106F30000681030B008F830804A0043204818320A0 +:106F40000778000F07A0000001A1838E0481832031 +:106F5000064800010781033F0448E001068103253C +:106F6000004910010481838906005010057801054D +:106F700007FFFF000600605106601402050F80FF46 +:106F8000053FA812060000020245F0400784031ED8 +:106F9000020E0040053F2000050080000793001707 +:106FA0000392001703800014060FF079045C04407C +:106FB000048183290644F07A002FB008060FF07987 +:106FC000045C04400581832E0644F07A002FB0084B +:106FD0000644F0010648900107810336046004402E +:106FE000050F80FF073FA00A0600000804A00886DE +:106FF000054B0800040020010500100003200003D9 +:1070000006600C40050F80FF022FA01A02800320AB +:10701000020EF0020286036104600840050F80FF43 +:10702000053FA8090600000205780105008004401C +:10703000017C0105050004000481836104602602CF +:10704000050F80FF053FA8090600000207F00000B9 +:1070500006602E40050F80FF070FF005053FA809C9 +:1070600006000002055C04050481836106005010DF +:107070000578010507FFFF00060060510660140255 +:10708000050F80FF053FA81206000002007A0140AC +:1070900007C000000380031E0644F0010460104096 +:1070A000050F80FF012FA80A0530800003040000AF +:1070B00004600440050F80FF073FA00A0600000897 +:1070C0000600904005A0071E0280032002209002C7 +:1070D0000180043C032090000180043C02209004C5 +:1070E0000180043C05A00460062DA0010149E04494 +:1070F00007810384018F83780700F0D7062DA00154 +:107100000149E00F06810380018F837D04A00432D2 +:10711000048183200778000F07A0000001A1838E5F +:107120000481832005308000050020000600904087 +:1071300005A0071E028003200530800005004000E6 +:107140000600904005A0071E028003200700600F84 +:107150000379FF060700FFFF05602603050F80FF88 +:10716000053FA809060000080179FE110700FFFF8E +:10717000055C04060581839A07C00000056A02FFCA +:1071800003800399022090080180043C053F200001 +:1071900005008000024950010781840C012F200C5A +:1071A000009D83A204600840050F80FF053FA809E9 +:1071B000070000030721F0000249F007078103AC34 +:1071C0000245F01F060000020049B001048183B6A9 +:1071D00005601C00050F80FF012FA809064800016B +:1071E0000581040C044810010781840C06602840C6 +:1071F000050F80FF012FA809020EF0010386840C01 +:10720000059C040C070050D8062DA0010630600232 +:107210000500043004600440050F80FF053FA812FC +:1072200006000002008F83C4050040D8062DA0018F +:107230000149E044068103D5018F83C90700F0D7D7 +:10724000062DA0010149E00F078103D1008F83CEF5 +:1072500004A00432078184060778000F07A000000D +:1072600001A1838E0781840605602600050F80FF3B +:10727000073FA00906000001060FF00400540402B5 +:107280000582040A06005051060060510460264041 +:10729000050F80FF063FA01A0600000207F000005D +:1072A00006600A40050F80FF073FA00A07000003A1 +:1072B00004487007068103F4060FF002005404042A +:1072C000048283F4002F200805308000070050005E +:1072D0000600904005A0071E0400800404A00723B8 +:1072E00003800017067800070280004007818403AE +:1072F0000079C10707FFFFFF007A0B07038000003A +:107300000478010407FFFF00078103FF02455007CF +:1073100004600840050F80FF053FA80A070000032E +:10732000060FF040045A041F030E30FF002F200800 +:107330000793001703920017038000140400400213 +:10734000028003DC002F200805A00460062DA001A8 +:1073500007F00000028F8410030100D8062DA00161 +:107360000149E04405810421028F84150700F0D70C +:10737000062DA0010149E00F0581041D028F841A2A +:1073800004A00432058180170778000F07A00000D1 +:1073900001A1838E05818017053080000700500011 +:1073A0000600904005A0071E0400801004A00723DB +:1073B0000380001705602603050F80FF053FA8091D +:1073C0000600000807780044073F0000055C041130 +:1073D000077800FF07FF000007C0000007602803D0 +:1073E000050F80FF053FA80906000008070FF0D829 +:1073F000062DA001055C04110379FCFF0600001FA7 +:1074000007C00000050FD009040FD040053F200041 +:1074100005008000053080000301300005A0071E34 +:10742000010440D70349F04404810449062DA0011A +:10743000008F044903E00000062DA0010149E0444B +:1074400007810017018F044E03E000000700F0D70A +:10745000062DA0010149E00F07810017008F045499 +:1074600003E00000062DA00103800017079084565A +:107470000249C0E507810017062DA00107F00000B2 +:1074800007F00000033E5000070C0000018F045974 +:1074900002800015050020D804600440050F80FF1D +:1074A000073FA00A0600000107C00000002FB0013E +:1074B00001800469012FB00003075087058D046A1D +:1074C000033860000302000004482075068105109F +:1074D0000648A0E6048104BA0642007F058104B88C +:1074E0000340007E060FF0380154047E00D004A84B +:1074F0000560027D050F80FF032FA009030EF00039 +:10750000008607860107D00005601000050F80FF88 +:10751000032FA00903681E00076C14FF06818486F0 +:107520000007E0380727C0090080048C03681E00AC +:1075300004500420050F80FF073FA0090700003F0B +:1075400001800474070FF07D0450047C050F80FF58 +:10755000002FA819058D04900208000100081002F0 +:107560000678007A05000200048104980049107A28 +:1075700003A1825301082003058D04990448B07AC1 +:10758000068184A10249007A048104A407780003DB +:1075900003800000048104A40338600C0301000090 +:1075A000018004A60238600403010000072E6C006D +:1075B00002800510008004AE008004B0018004B297 +:1075C000018004B4008004B6018004770727C00955 +:1075D0000080048C0727C00C0080048C0727C00F94 +:1075E0000080048C0727C0120080048C0627C01579 +:1075F0000080048C052E680002800510044880E697 +:10760000058107BB070FF0880179FEFF070FFFFF19 +:1076100003A1875F068187540249607A07818784C6 +:10762000060FF08303868784013E62000700000393 +:107630000448B07A058104DD0049707A078184DD51 +:1076400004604679050F80FF032FA0090368060038 +:10765000076C00FF078184DD06604879050F80FF15 +:10766000032FA00907F00000074B0000070FF000F0 +:10767000058D04D705001099064B0001045C040138 +:10768000058104DD0245A07A058D04DD018C0469C5 +:107690000279127A01040222016D02FF04818545FC +:1076A000007980750700F50F04818545064830751F +:1076B00006810545046026790049B07A048104EC0E +:1076C00004602670050F80FF053FA81207000041E7 +:1076D000048D04EF004940E6048104F4072E6300A2 +:1076E000038000140049707A048104F80049807A0C +:1076F0000781001402386001070300000648F07A91 +:107700000681050E04600479050F80FF053FA80976 +:10771000060000020578010507FFFF000600605122 +:107720000760147B050F80FF053FA81206000002CA +:107730000245F07906840508020E0079033E6A00CE +:107740000700AA0A02079051038000140444E07A5B +:10775000038005BD068D0510018C04690280052C8F +:10776000060FF0E6077800FF070000500481852C23 +:10777000027990750500FD0F037C00FF04000808E6 +:107780000481852C0049107A0481852C06601879C3 +:107790000049B07A0781052206601870050F80FF46 +:1077A000063FA0520600003E068D05250238600106 +:1077B00007030000033E6A000700AA0A020790516F +:1077C000038000140648C0E60581854D0448E0E6C4 +:1077D0000781054203209530024900750681824CDD +:1077E000004920E60681053D04A008040500108834 +:1077F000007001010310000000088001033E6000DA +:1078000007000088018007F50238600107030000C7 +:10781000033E6000060000080280060102799075B0 +:107820000700F50F07810014066018790049B07A47 +:107830000681054906601870050080FF06309052E9 +:107840000600003E02800554046026790049B07AA3 +:107850000681055104602670050080FF05309812EE +:10786000070000410648007A0781056604488075D4 +:10787000058185660678007A0400010806810562A4 +:1078800004603E79050F80FF068D055D073FA0422D +:107890000600004A078D056002086051040F800849 +:1078A000070FA0090049107A01A1860300798075AD +:1078B0000600F507068187A20448B0750681056DAC +:1078C000024930750481079E004940E6068105851E +:1078D00002386001030E00000500108700494001D6 +:1078E0000781057704780B010500400007810582B8 +:1078F0000249F0760781057D06A009850647F076E6 +:10790000004940E60681058303386000030E00004D +:10791000033E60000700C0000380001406A0093E7B +:1079200003386000030E00000648C0E60481859815 +:10793000078D058702386001070300000049107AAF +:107940000781058E020EF083028605980648307581 +:10795000078105FF0678007A0700003503A187112B +:1079600005308000070600000600907905A0071E7C +:10797000038005FF064830750481073B078D059A93 +:1079800002386001070300000444E07A0648307AB8 +:10799000048185D30448707A078105FA0448107A77 +:1079A000058185FA0648F07A078105BD05A0071113 +:1079B000040080790049B07A068105AD0460267024 +:1079C00004A00731028005AE05A00730008685CEF1 +:1079D0000049107A048185CE04600408050F80FFF9 +:1079E000053FA809060000020578010507FFFF0012 +:1079F0000760147B050F80FF053FA81206000002F8 +:107A000004A0071A038005FF0760187B050F80FF9D +:107A1000032FA0090349C000058185CC04601079BB +:107A2000050F80FF073FA00A0600003D07F0000099 +:107A300006600A79050F80FF053FA80A06000010BE +:107A4000038005FF0046E07A038005FA06009008EF +:107A5000053080000500400005A0071E038005FFDB +:107A600007601E7B050F80FF032FA011070FF0009A +:107A700004500401030460FF060FF025005404467F +:107A8000078205E7030460FF052E40C00409204675 +:107A90000349A0E4058185E4003E40800700C00062 +:107AA000038005E8003E408005008000038005E873 +:107AB00004092046070FF03A008685EC013E40009D +:107AC0000700000304A002DA06600679050F80FFB4 +:107AD00000201007012FA80A0046047A034630FF51 +:107AE000050020FF0600305104601079050F80FF6B +:107AF000073FA01206000001038005FF05A0071143 +:107B000005308000030200000600907905A0071EE2 +:107B1000033E6A000700AA0A02079051038000147E +:107B200006605679050F80FF032FA009070FF000AC +:107B30000286061C057DFEFF07FFFFFF0681061C6F +:107B4000050F8000012FA8110079FE02070000FF39 +:107B5000077D66FF060000DC0481861C060FF0012D +:107B60000186861D064B000206420002060FF00247 +:107B700005500400050F80FF05004084073FA00A60 +:107B80000600000207C0000004600201050F80FF2C +:107B9000073FA009060000010079FE02070000FF70 +:107BA000077D72FF070000DD0481861C064B000282 +:107BB0000642000206000001028006160605004C7F +:107BC0000380062E0693062A05A00717054BC4500E +:107BD0000681063102D00632028006310380064259 +:107BE00003800644028006D3028006E60280065126 +:107BF000038006440280069D03800642038006EE51 +:107C0000028006EA03800642028006F10180070630 +:107C1000028006BF0380064203800642032096428C +:107C200000800726073C3FFF0700000F0379FF5045 +:107C3000070FFFFF060FF079055C0450068106E38D +:107C4000002FB008060FF079055C0450078106E2AA +:107C500005A00709038006DB0179FE50070FFFFF2F +:107C6000070050FF060FF079055C04050681065BEE +:107C7000002FB008060FF079055C0405048186DF4B +:107C8000073C3FFF0700000F070FF087017980FFD7 +:107C90000600F5070581866A02203040050020872E +:107CA0000049D0020581866A002FB008070060876E +:107CB000002FB0080149D006068106970793066F8A +:107CC00001257000052E4003072E50300304C050DC +:107CD0000240005706740057060000040682001A8E +:107CE000004940E601A189780049107A01A1860384 +:107CF0000400208307003084040040850460267956 +:107D00000049B07A0781067E04602670050F80FF67 +:107D1000063FA01A0600000105A0071104A0080DE7 +:107D2000033E6A000700AA0A062E502004A0083B62 +:107D300002798102070000FF007C800207000055E5 +:107D400006810694072E50C00648A00206810694BC +:107D5000068D068F0338600603010000033E6000B5 +:107D60000700000C003E400207000A0002800601E6 +:107D70000742000304818662007980020600F5074D +:107D80000581866A02800673069306A401257000A9 +:107D9000073C3FFF0700000F052E4003072E503021 +:107DA0000304C050067800E607000041078106A9D9 +:107DB00004A00816058186B4002FB008067800E6F6 +:107DC00007000041078106AF04A00816058186B4AC +:107DD000062E5020003E400207000A0003E000008B +:107DE0000380001406740057070000180682001A6A +:107DF00004A0080D033E6A000700AA0A002FB0087D +:107E000004A0080D033E6A000700AA0A038006AF1B +:107E10000379FF50070FFFFF060FF079055C045050 +:107E2000058186C50245507A002FB008060FF0790B +:107E3000055C0450058186CA0245507A002FB008BF +:107E400005601050050F80FF012FA8090245500161 +:107E500005601050050F80FF012FA80A028006DC84 +:107E6000049586E30179FE50070FFFFF045C042FA1 +:107E7000048186E30202F051042E4020028006DCD9 +:107E8000002FB008003E400207000A000280001ADE +:107E9000059386E2062E5020042E4002002FB008E3 +:107EA000013E400005000E000280001A0179FE50DC +:107EB000070FFFFF010210FF0280001A0179FE5038 +:107EC000070FFFFF050340FF028006DC023E50085B +:107ED000050008000280001A0179FE50070FFFFF1D +:107EE0000102E0FF05602C2E050F80FF0522200017 +:107EF00007223000052240000722500007226000C0 +:107F00000522700005228000072290000722A000B1 +:107F10000522B000063FA051070000110202C02652 +:107F20000522D000052E400C0280001A030430D434 +:107F3000062E5008018001FC05601050050F80FFDF +:107F4000032FA00903460000018007140246007AAF +:107F50000045207A018007120246007A0600007A66 +:107F600004601079050F80FF032FA00A07C00000EE +:107F700003928717070500E107C000000245F008DB +:107F80000584071B020E000807C00000070FF00958 +:107F9000065A000804840720020E000807C00000EB +:107FA00004840723020E000807C00000053080008B +:107FB0000500D00005A0071E05A0072B03800014B4 +:107FC000052E4300072E500C073C3FFF0700000F13 +:107FD00007C0000004602608050F80FF032FA011D2 +:107FE000076A000007818739066A000105810739A1 +:107FF0000600605107C000000220600107C00000B9 +:108000000678007A06000020068187430049107A2E +:1080100004810743073C3FFF0700000F0380059AD8 +:10802000040FD0790648307A0581074805A0087DFD +:108030000180074D04A0070E0530800005001000E8 +:108040000600907905A0071E058D074D033E6A00C6 +:108050000600AA0E020790510338600603010000D3 +:1080600003800014052E62000648307A0581075906 +:1080700005A0087D018007F504A0070E05308000EB +:10808000050010000600907905A0071E018007F585 +:10809000050010FF0448B07A0481076D0049107A8A +:1080A0000481076D048D076404604679050F80FF25 +:1080B000032FA00903680600056C02FF0681876D87 +:1080C000046C10010581076F056A02FF07C00000FC +:1080D00005A00772075C00FF07C00000058D07724E +:1080E000060FF07C070FF07D070FF07E060FF07F84 +:1080F000060FF080070FF081070FF082060FF08364 +:10810000070FF084060FF0850338600C03010000B0 +:10811000028A877F048D0780033860000302000015 +:1081200007C00000052E6200028005450648307A2F +:108130000781823305A0071100209786008007265B +:10814000040020890478010207F00000050010886F +:1081500004740101031000000478010107F000001D +:10816000060FF002045C0401078187A0000880016B +:10817000033E6000070000C00220901A0530800016 +:108180000101200005A0071E008007F10020979E36 +:1081900000800726012097A00080024A040FD075B6 +:1081A000040FD07A040FD0790648307A048107ABE7 +:1081B0000678007506000007068187B605A0087DD1 +:1081C0000648607506818231024900750681824643 +:1081D00004487075078187BE0448B07A048107B5EA +:1081E00000492075078187D1018007C905308000CB +:1081F000030100000600907905A0071E038000140B +:108200000448E0E6048185100080022F0648307A99 +:10821000068187F1004940E601A189780530800098 +:108220000500E0000600907905A0071E0400808983 +:1082300004A00723008007F104A0070E053080008A +:108240000700F000060090790700008804A007DA14 +:1082500005A0071E03800014004940E601A18978AB +:1082600005308000010110000600907907000088A9 +:1082700004A007DA05A0071E03800014033860007D +:108280000703000007F00000058D07DD033E6A00CC +:108290000600AA0E020790510448B075058107E850 +:1082A00002493075058107E805301005030100001B +:1082B000008007EA05301006030100000500208752 +:1082C00006485002068187EA0744C0000108800082 +:1082D0000208600107C000000500108804A008041F +:1082E0000644C00100088001033E6A000600AA0E91 +:1082F000004920E6078187FA02079051058D07FAA9 +:10830000060FF089034990FF0481080103386005D6 +:10831000030100000380001403386006030100001D +:1083200003800014048D0804033860000703000074 +:1083300007F00000048D0808070FF087074850FF7A +:108340000781880907C00000048D080D023860010C +:108350000703000007F00000058D0811070FF087E4 +:10836000074850FF0781881207C0000005002087DA +:108370000049D00206818825002FB008067800E663 +:1083800007000041002FB0080681882504A0083BA3 +:108390000448E002058108280648A00206818832C8 +:1083A000064860020481082C02400057056A02FF5B +:1083B00007C0000004A0083B067881020600000404 +:1083C0000681882504002089070FF0D4045C04028C +:1083D000077800FF07F000000681882500202010A4 +:1083E000008C082507F00000064200020781883350 +:1083F00004A0080D033E6A000700AA0A07C0000097 +:1084000007F00000060FF0A2045A0202060FF0A2C5 +:10841000045C04020781883C07C0000004A002DA63 +:1084200003495047058108470320901D00800879C3 +:108430000220901F00800879014980E405818014A2 +:10844000013E40000700300005600E35050F80FF3B +:1084500004A008A20120800304A007230080086173 +:10846000032090090080087903209011008008798A +:10847000022090070080087903209003008008798B +:1084800000497043068188570049404305810853DD +:1084900002209001008008790220900D0080087968 +:1084A0000320900F00800879034930000581086A95 +:1084B000027C0045070A0000048108750220900B29 +:1084C000008008790320900C0180086F022090132F +:1084D000053080000101200005A0071E018002096F +:1084E0000320900500800879072E500C00208002A0 +:1084F00004A0072303800014053080000101200040 +:1085000005A0071E018001FC04A002DA070FF02E6F +:10851000045C047904810885053080000500800032 +:108520000600907905A0071E07C00000053F200047 +:108530000700C000029D888607C00000033E50006F +:108540000700F00000800891004980E504818079EF +:10855000033E500005008000050F803504A008A2EE +:108560000001700801018009033E500007000C0063 +:1085700005308000070060000700904105A0071E3D +:10858000033E5000070030000500801707009018D8 +:108590000249A0E5068181A20280007906600052AE +:1085A000030D60FF07F0000007F00000000110D08D +:1085B000010120D104600252030D60FF07F00000AA +:1085C00007F00000020130D0010140D104600452E4 +:1085D000030D60FF010170D407F00000020150D0CC +:1085E000030160D1053FA83A0600000807C000005B +:1085F00007600C41050F80FF01202003073FA00A00 +:108600000600000107F0000005601041050F80FF23 +:10861000032FA07100800131002FB001008008C439 +:10862000012FB00002386001030E000003076087CD +:10863000049F08C7033860000302000000498076E9 +:108640000481891900497076068188D30448207610 +:10865000068188E50249607604818908028009164E +:10866000075A00FF059F08D403386000030100008B +:10867000033E60000700300000492076068109169D +:108680000049107604818916024900760481891612 +:108690000249A0E6048108E306A009850280090DCD +:1086A0000245F07602800916004980E60681091F1E +:1086B000070FF074008608F7070FF0720550047179 +:1086C000050F80FF002FA819059F08ED0208000183 +:1086D000000810020108200306A0094F0286091FA6 +:1086E00006A0093E0249A0E60481890D0280091610 +:1086F00006A0093E033E600007002200030EF003BF +:10870000038688FF033E600007002E000045807A44 +:108710000249A0E60781090305A007120380091199 +:108720000648C0E60681091603386000030E000003 +:10873000008004F406A0093E030EF0030086890DB4 +:10874000070FF074018608FC033E6000070022005A +:108750000249A0E60681091603386000030E0000F6 +:10876000033E60000500800002800585033860003C +:10877000030E000003800028040FD079033E600040 +:108780000500A20003386000030E0000018007C945 +:108790000220991F0080072602386001030E0000A6 +:1087A00006604E79050F80FF032FA0090307000024 +:1087B00006601270050F80FF053FA82106000038F3 +:1087C00007F0000004601A70050F80FF032FA0213E +:1087D000060FF0020386093C069F093103080000DA +:1087E000000810010008200203083003070FF0877B +:1087F000033E60000700030003386000030E000022 +:1088000007C000000045807A0380093906604E7970 +:10881000050F80FF032FA0090307000006601270F8 +:10882000050F80FF053FA82206000038069F094675 +:1088300006000080050010810500208206003083BC +:1088400004601A70050F80FF032FA02207C00000EC +:10885000074200740681096402400073060FF03875 +:108860000054047303D0096605600272050F80FF8F +:10887000032FA009030EF0000286097601072000ED +:1088800005601000050F80FF032FA00903681E007C +:10889000076C14FF04818976020730380527100918 +:1088A00007C00000022FF001038009630380096CF8 +:1088B0000280096E028009700380097203800974C6 +:1088C0000380095505271009038009630527100C4B +:1088D000038009630527100F038009630527101221 +:1088E000038009630427101503800963032FF00038 +:1088F0000380096302386001030E00000500108741 +:10890000079F097B00494001078109810338600006 +:10891000030E000007C000000338600003010000E0 +:10892000033E6000070030000020808005001087B3 +:10893000004940010581898D00497001058189A0A8 +:108940000642000804818986002080700500108797 +:1089500000494001058189930760031E0280098652 +:108960000120806005001087004940010581899938 +:108970000760031D0280098606A0093E033E6000D1 +:1089800007002200079F099C03386000030E0000C7 +:1089900007C0000006A0093E0380099C1C4E355408 +:1089A0000280000400000000000080000000068239 +:1089B000033D0AAA070AAAAA013D1AAA070AAAAAF7 +:1089C000050F801E012FA8D1050F801E043FA88926 +:1089D0000700000F0320000507420000050FB0004C +:1089E000050F801E073FA01106000038050F801EEE +:1089F000053FA8590700003A050FE0000481800EEA +:108A0000078400240595801D030E0011072E4200E7 +:108A10000380001802920040068B0023028A006443 +:108A20000778AAE70600000102A184B5079A00535F +:108A300005908018010170E103640A170482803DEB +:108A4000070FF01702D0002A0280003202800034A3 +:108A5000028000370380003A0280003D0280003D22 +:108A60000280003D0280003D03E00000038000180A +:108A700004908034030160E10380003F049080375C +:108A8000030150E10380003F0590803A010140E17D +:108A90000380003F060FC01306A006730380001872 +:108AA000014940E400A180430380002402681E0DB8 +:108AB000050FB0FF04600875050F80FF053FA8098A +:108AC0000600000105488003048180520400800DE7 +:108AD0000120D000013E4000050002000600907514 +:108AE0000400207607A0065F07C00000000170E3C5 +:108AF000050FE017058780590547F4170301F0FFBC +:108B00000180022E054BC417050FB0FF03640AFF56 +:108B1000048280610179FE17070FFFFF030750FFF2 +:108B2000028003F7050FD01706A006730380001D0F +:108B300000018098074800180481807905481018C2 +:108B40000481807605482018048180730748301816 +:108B500004818070002FB004030190CC0380007B5F +:108B6000012FB003020190CB0380007B002FB002E5 +:108B7000030190CA0380007B002FB001030190C95C +:108B80000380007B012FB000020190C800017086B5 +:108B9000014910170781008405A00199077818176B +:108BA00005000200037C00FF05000200058101278B +:108BB000078B008403385000030200000778001779 +:108BC0000043DC07078181DB056C047804810140E8 +:108BD000056C02780781009005278000018001273D +:108BE00005278000074830170481012A054820170F +:108BF000048101310448B07606818115066018753C +:108C0000050F80FF073FA0220600003E06000080FF +:108C10000500108105002082060030830500408495 +:108C200004602075050F80FF022FA02A044870768B +:108C30000581011404604675050F80FF032FA0090C +:108C400003680600050010FF056C02FF048180EC3C +:108C500007000090074B0000050FE000038600E7C7 +:108C60000560027B050F80FF032FA00907F00000BD +:108C700007601400050F80FF032FA00907F0000014 +:108C8000074B0000070FF08D0179FEFF070000FF82 +:108C9000055C0400068100EC070FF017037A00FF63 +:108CA00005000400010170FF04604075050F80FF9E +:108CB000034A8400034A880005780100070000FF8A +:108CC000055A0400074B0A00077BFF00070000FF5E +:108CD000032FA00A07F0000004603E75050F80FF17 +:108CE00007300FFF070FFFFF032FA00A07F0000058 +:108CF00004604A75050F80FF0700008D017A0100AE +:108D000007FFFF00032FA00A07F0000004604C7566 +:108D1000050F80FF07300FFF070FFFFF032FA00A8B +:108D200007F0000006604275050F80FF0600001383 +:108D3000032FA00A0245A076008001E30460387585 +:108D4000050F80FF05002071073FA00A0600000103 +:108D5000066C00010681810E054820170481010E72 +:108D6000070FF09A017910FF03088888057D10FF2E +:108D7000030888880481010E070FF09A045A020143 +:108D8000070FF09A045C0401058180F6050020FFBE +:108D9000060000FB064830010681810200680E01D2 +:108DA000055C040004810107004A40010240000202 +:108DB000046C0E02048180FD0080010E040FD002BD +:108DC000052E400C040080FB046A610806009075C3 +:108DD0000400207607A0065F04603E75050F80FF43 +:108DE000053FA84206000045058B011202085013FA +:108DF0000527800002075013060FF0FB01D0011871 +:108E00000180011D0080011F0180012100800123DC +:108E100000800125062D002001800127062D0080FD +:108E200001800127052D020001800127052D080082 +:108E300001800127033D0000060000020392002488 +:108E40000584801D02800023040FE07F0186013924 +:108E500005A0015901920127040FE07F07A681595F +:108E6000018001270760187B050F80FF032FA009F1 +:108E70000744F0000760187B050F80FF032FA00A4E +:108E800002800097052E400C040080FB046AA108B4 +:108E9000060090750400207607A0065F0180012778 +:108EA00004278001054820170581014D048B0143EB +:108EB000060FF0860349F0FF0581807B07483017D5 +:108EC0000481014A050FD0FF040FE07F07A68159F6 +:108ED000018001270500408404A0021001920127AF +:108EE000070FF07D0450047C056004FF050F80FF30 +:108EF000032FA009070FF00000540479030790FF27 +:108F00000080013104487076048101610460587565 +:108F1000050F80FF032FA009060FF079015404000C +:108F200001800163060FF0790054047A04820192F3 +:108F300004810192070FF07D0450047C050F80FF2F +:108F4000002FA819058B0169020800010008100212 +:108F500001082003048B016D0448707604810173BD +:108F600002385001030100000080017503385000F1 +:108F70000301000003400078070FF0030450047958 +:108F8000030790FF0340007E0642007F04810192A8 +:108F9000070FF07E050F80FF032FA009050FE000EB +:108FA00002868191070FF07D056002FF050F80FFAB +:108FB000032FA0090107D000018601930560107DF1 +:108FC000050F80FF032FA00903681E000550041B36 +:108FD000050F80FF032FA0090107E000070FF07EB7 +:108FE0000180017D0307C00007C00000052E400C72 +:108FF000040080FB046AA108060090750400207636 +:109000000380065F060FF075008601D9060FF07326 +:1090100000540419048201B0048101BC050010FF52 +:109020000020201000642001068281A40400200199 +:10903000040F8073024A3C02017A02FF06000C987A +:10904000070FA0FF060FF0020650007303610072C5 +:10905000045C0473068181BF03073072008001BF86 +:10906000036100FF050010FF0361007200540473E8 +:10907000057DFEFF07FFFFFF0140020300202010D7 +:1090800001642003068281A405002003008001A45E +:109090000400201304001013012940000748007742 +:1090A000068181DA06604E75050F80FF053FA8092D +:1090B0000600000107F0000007602203050F80FF93 +:1090C000053FA8090600000105481003068181D666 +:1090D000060FF00204500401016480FF068281DA69 +:1090E00007440077040080FB006B61080600907560 +:1090F00007A0065A008001DA060FF002045C0401A2 +:10910000068181DA0129400007C00000040FD075F4 +:10911000050FD017060FF086077800FF07000060E4 +:10912000037C00FF07000060078181DD0448707642 +:10913000058101FA0778001705000400058101FA8E +:1091400006601875050F80FF073FA0220600003E4D +:109150000249A076078181F3058B01EE04603E751C +:10916000050F80FF053FA84206000045052E400C74 +:10917000040080FB026B4108060090750400207615 +:1091800007A0065F0380002406601875050F80FFA6 +:10919000073FA0220600003E052E400C0460087523 +:1091A000050F80FF053FA809060000010548800360 +:1091B0000581020A0400D0FB066A810D013E4000D1 +:1091C0000700030003800024040080FB066A810876 +:1091D000060090750400207607A0065F0380002437 +:1091E0000240007F0742007E050F807E032FA0090A +:1091F000050FE0000286822A070FF07D055C047BE4 +:109200000481021F0760007D050F80FF032FA00966 +:10921000050FE0000286821F070FF07B0107D0FFD9 +:109220000560107D050F80FF032FA00903681E0055 +:109230000450041C0107E0FF050F80FF032FA00965 +:10924000050FE0000086022C0307C00007C00000E5 +:10925000040FD075028006730460081F050F80FF9D +:10926000032FA0390102100003020005010180064E +:1092700001683E2101D0023601800256008002942E +:10928000008002CB038003650180025A01800256F0 +:10929000018002560180025601800256018002566A +:1092A000018002560180025601800256018002565A +:1092B0000280039801800256018002560180025606 +:1092C000018002560180025601800256018002563A +:1092D000018002560180025601800256018002562A +:1092E000018002560180025601800256018002561A +:1092F0000180025601800256050FD0FF06A00673BA +:10930000038000180380001D01494021048183B9B6 +:109310000400701F07A003EB007A0101070600009C +:109320000730300007008290034960210781826680 +:10933000060060130080026D024000100581026685 +:10934000060060100660361F050F80FF073FA00A69 +:1093500007000003072D0003029B826D07938272B2 +:10936000073AA00006000004010B1000000B2001CA +:10937000020B3002010B4003020B5004030B60058B +:10938000010B70060693828907602818050F80FF7D +:10939000012FA809040020010279FF01070000FF46 +:1093A000007A010107500000000B800104780102DF +:1093B00007FFFF00020B9002063AA02006000016ED +:1093C0000180028B063AA02007000012070FF0F67A +:1093D00003687EFF0781828B06601820050F10FF4F +:1093E000063F300806000008062D000201800259E1 +:1093F0000400701307A003EB007A010107050000C9 +:109400000730300007008890074D00050600601304 +:10941000072D0003039B829C069382A1073AA000BC +:1094200006000004010B1000000B2001020B3002AB +:10943000010B4003020B5004030B6005010B700687 +:10944000069382B507602818050F80FF012FA80931 +:10945000040020010279FF01070000FF007A0101EA +:1094600007500000000B80010478010207FFFF0095 +:10947000020B900206602220050F80FF022FA01928 +:109480000400100204002013069382C40500B01EDD +:109490000660050B040F800B022FA01A073AA00CE0 +:1094A0000600001607300003060000080380038E44 +:1094B000050F801E022FA01A073AA00C0700001209 +:1094C00007300003060000080380038E04007013B9 +:1094D00007A003EB007A01010307000004602C1FC2 +:1094E000050F80FF073FA00906000004024990080D +:1094F000058102D80730300007008890008002DA2A +:10950000073030000400898005007003074D000516 +:1095100006006013072D0003039B82DD079382E2A0 +:10952000073AA00006000004010B1000000B200108 +:10953000020B3002010B4003020B5004030B6005C9 +:10954000010B7006069382F807602818050F80FF4C +:10955000012FA809040020010279FF01070000FF84 +:10956000007A010107500000000B8001047801021D +:1095700007FFFF00020B90020500B01E0660050BFE +:1095800004601C20050F80FF032FA02107F00000BE +:10959000064B000202499008078103000644C002FE +:1095A000054B0400050040FF06698104058183180E +:1095B00006000013040010130478010206000010D6 +:1095C0000600301304004013060050130600601319 +:1095D00004007013006440150782031104448002E4 +:1095E0000220500805938314040F800B028003159A +:1095F000050F801E032FA04204008015038003592D +:10960000046C8004048183290120801806780002FC +:10961000070000030481832C0600300106000013BC +:109620000400101304004013060050130493832613 +:10963000040F800B03800327050F801E022FA0322A +:1096400003800359040FD01F06A00673038000187F +:109650000379FF03070000FF0448800207810333FA +:10966000070FF00304500408050080FF0379FF0092 +:10967000070000FF064890020781033A070FF00039 +:1096800004500408050080FF070050030500400057 +:1096900006003001060000130400101305938342F6 +:1096A000040F800B02800343050F801E022FA0329F +:1096B00007F0000006602420050F80FF022FA03174 +:1096C00007F000000493834C06600C0B0380034DED +:1096D00007600C1E050F80FF022FA03202680608EB +:1096E00007810359016408FF057DFEFF07FFFFFFA7 +:1096F000034000FF045A0407010B40FF06600908FD +:109700000669F9080493835D027A00080500016088 +:109710000380035F027A000804000120070AA0FF0B +:10972000024A2408037A00FF06000080070000FFB9 +:109730000380038E0400701307A003EB007A01017D +:109740000703000007303000070081900600601317 +:109750000280036D072D0003009B836D05938372C8 +:10976000073AA00006000004010B1000000B2001C6 +:10977000020B3002010B4003020B5004030B600587 +:10978000010B70060493838A07602818050F80FF79 +:10979000012FA809040020010279FF01070000FF42 +:1097A000007A010107500000000B800104780102DB +:1097B00007FFFF00020B9002073AA0000600000717 +:1097C000062D000201800259073AA000070000039D +:1097D000062D000201800259070FF0F603687EFF94 +:1097E0000581838E04938394040F100B03800395EB +:1097F000050F101E070F3000062D000201800259D0 +:10980000073AA00006000002072D0003019B839A7F +:10981000070FF0F6036830FF0581839C070FF0F611 +:10982000036830FF0581839F0660301F070F00FF2C +:10983000059383B407602818050F80FF012FA8093E +:10984000040020010279FF01070000FF007A0101F6 +:1098500007500000060AF0010478010207FFFF002C +:10986000020B000207300C0007000005028003B65F +:1098700007300C0007000005070F3000062D00021E +:10988000018002590547402104602620050F80FF12 +:10989000053FA809070000030678000707FFFF003F +:1098A000068103C20345502104602A20050F80FF72 +:1098B000063FA0190600000206003013014970217E +:1098C000048183DA04601620050F80FF053FA80994 +:1098D000060000010379FF03070000FF07420003B1 +:1098E00004600220050F80FF012FA809040FE0018A +:1098F000028603DF032000090760141B050F80FFA9 +:10990000073FA00906000001040080130660181F2D +:10991000050F80FF022FA04A0180025C012080C059 +:109920000600901F0500202107A0065F0180025954 +:1099300006489076078103E802200020028003E9B0 +:109940000320000006006075028003F107489021A3 +:10995000068103EF03200030038003F00320001191 +:109960000600601F07A0052B05600406050F80FF99 +:10997000053FA8090600000207C000000460087542 +:10998000050F80FF032FA039030760000107B00512 +:10999000010180060448B0760781840306602475BF +:1099A000050F80FF053FA8110700003C000770135A +:1099B000050FE0780286841F04A00423019204228C +:1099C000060FF0FB01D0040A0180040F018004128D +:1099D00000800415018004180180041B072D00304D +:1099E000039B840F008004AE072D00C0039B8412EC +:1099F000008004AE072D0300029B8415008004AE96 +:109A0000072D0C00039B8418008004AE033D00006A +:109A100007000003039B841B008004AE040FD07575 +:109A2000050FD07806A006730380001D048B042365 +:109A3000033850000703000005600818050F80FF79 +:109A4000032FA00907F00000054B04000308A0FF46 +:109A50000179FE00070000FF010880FF0560087B18 +:109A6000050F80FF012FA8090609F0010448B07610 +:109A70000481045E05601C7B050F80FF002FA81980 +:109A8000027900760301000006818454020250012D +:109A9000064830010481045404600475050F80FFFA +:109AA000053FA8090600000207F00000054B040569 +:109AB0000578010507FFFF00075A0005050FD005CF +:109AC000040FD07A06602475050F80FF053FA811AA +:109AD0000700003C06306002050004300460047595 +:109AE000050F80FF053FA812060000020080045EFB +:109AF0000208000201081003064B000100082001C3 +:109B000002083001020790010207A001000840137B +:109B10000207F0130080049E064850760481047FFB +:109B20000246507606601875050F80FF073FA0219A +:109B30000600003E070FF07D0450047C050F80FFF7 +:109B4000002FA819058B0469020800010008100203 +:109B50000108200303079003044870760581047709 +:109B60000049807603A184A604605875050F80FF24 +:109B7000032FA00903083000018004780208307A1E +:109B80000340007E0642007F0581048D070FF07EB2 +:109B900005A0017D0392848D018004A5048B047FC0 +:109BA00006601875050F80FF073FA0410600003EC4 +:109BB00007F00000044870760581048B0460587536 +:109BC000050F80FF032FA0090308300000498076AD +:109BD00003A184A606602875050F80FF073FA00932 +:109BE000060000070008400E044870760481049EB9 +:109BF0000007100E058B049504603E75050F80FF6D +:109C0000053FA84106000045058B049A0238500123 +:109C100003010000008004A1048B049E033850005F +:109C20000301000004278001040FE07F018604A5E2 +:109C30000180015907C00000040940130307307276 +:109C400007440077040080FB006B610806009075F4 +:109C500007A0065A07C0000000683E76048104B3DE +:109C60000448D0760681055E038005B407A0064E41 +:109C700001800422060000130020100100202002B1 +:109C80000778AAE70600000106810504050FB00069 +:109C9000070FF00001D004BE018004D8008004D377 +:109CA000008004CE018004C9018004C3077800E766 +:109CB0000600000106810501072E7200030190CC09 +:109CC000008004DC016880E706810501042E7080B5 +:109CD000020190CB008004DC016820E706810501C9 +:109CE000042E7020030190CA008004DC016808E79C +:109CF00006810501042E7008030190C9008004DC70 +:109D0000016802E706810501042E7002020190C875 +:109D1000074800770681050103460077060FF075B6 +:109D200002860501060030940748A00304818501DE +:109D300001683E030220301001540403014A1A0353 +:109D4000060FF073005404190682050E07810514EE +:109D5000050010FF01540403058204F006003001E1 +:109D6000034A3C03017A02FF06000C98040F80733B +:109D7000070FA0FF070FF003065000730361007286 +:109D8000045C0473068184FB0307307205394000CC +:109D90000700009007F00000060030940748900389 +:109DA0000581850503400000076C0A00078184B81F +:109DB00007C00000060FF073005404190681051A4D +:109DC0000782051801683E03022030100154040385 +:109DD000014A1A03008004EC03610072005404730A +:109DE000057DFEFF07FFFFFF034000FF008004EC3E +:109DF000040FD075040FD073040FD0190280050131 +:109E0000040FD0750280067306604E75050F80FF43 +:109E1000053FA8090600000107F0000007602203C3 +:109E2000050F80FF053FA809060000010548100343 +:109E30000481850107440077040080FB006B610802 +:109E40000600907507A0065A028005010197853922 +:109E500007602418050F80FF012FA809067800016C +:109E6000070000FF075A000005602618050F80FF55 +:109E7000012FA809060FF0010569FEFF054B08FF39 +:109E8000075A000005600418050F80FF012FA8097C +:109E9000040FE0070086854001204000038005553F +:109EA00005600E06050F80FF073FA00906000002AF +:109EB00007F00000064D00040070010403010000DB +:109EC0000678000407FF0000076C00FF0581854E3F +:109ED0000070010403010000064D000405600E0639 +:109EE000050F80FF073FA00A0600000207F00000F0 +:109EF000044B08040279FF010700FFFF05602618E4 +:109F0000050F80FF073FA009060000010279FF024C +:109F10000700FFFF07C00000040070750448B0761A +:109F20000781057D027900760301000005818566C1 +:109F3000064830250581857D064890760781056AAB +:109F4000032000300280056B0320001106006075BD +:109F500006A003F1007A0101070600000730300077 +:109F600007008290024960760481857506006013BF +:109F70000380059002400010068105750600601000 +:109F800006603675050F80FF073FA00A0700000333 +:109F9000038005900600007A0249307604818586A8 +:109FA00006602E75050F80FF032FA009060FF07ABB +:109FB00005500400070000FF0647307606602E7546 +:109FC000050F80FF032FA00A07A003E4007A010118 +:109FD0000301000006303008050080000600600E16 +:109FE000072D0003019B859005938595073A000096 +:109FF00006000001050A4000060A5001060A600238 +:10A00000050A7003040A8004070A9005050AE006A1 +:10A01000059385AC07602818050F80FF012FA8095C +:10A02000040020010279FF01070000FF007A01010E +:10A0300007500000060AF0010478010207FFFF0044 +:10A04000020B0002053079A00700000F028005AE68 +:10A05000053079A00600000E06489076078105B10C +:10A0600006446007060A0007062D0002018004224C +:10A0700000683E76076C0AFF078105F6040070133E +:10A0800006489076068105BC03200030038005BD9C +:10A09000032000110600607506A003F1007A01019B +:10A0A0000307000004602C75050F80FF053FA80919 +:10A0B0000600000103499003078105CC07303000FA +:10A0C00007008890053079A00700000C028005D0B9 +:10A0D0000730300004008980043079200700000C2C +:10A0E000074D000506006013072D0003019B85D274 +:10A0F000059385D7073A000006000001050A4000D5 +:10A10000060A5001060A6002050A7003040A800468 +:10A11000070A9005050AE006059385EE07602818F2 +:10A12000050F80FF012FA809040020010279FF011B +:10A13000070000FF007A010107500000060AF00145 +:10A140000478010207FFFF00020B0002007A0107FA +:10A1500007000030038005F0007A010706000020A8 +:10A1600006489076078105F306446007060A000753 +:10A17000062D00020180042206602E75050F80FF67 +:10A18000032FA009060FF07A05500400070000FF16 +:10A190000647307606602E75050F80FF032FA00A54 +:10A1A0000400707507A003E4007A010103010000B8 +:10A1B0000630300807008800074D000506600A7564 +:10A1C000050F80FF073FA0090700000307F000000C +:10A1D000054B0406045A0404050040FF0600600E07 +:10A1E000072D0003009B861004938615073AA000F4 +:10A1F00006000004050A4000060A5001060A600233 +:10A20000050A7003040A8004070A9005050AE0069F +:10A210000493862C07602818050F80FF012FA809DA +:10A22000040020010279FF01070000FF007A01010C +:10A2300007500000060AF0010478010207FFFF0042 +:10A24000020B0002043079200700000F0380062E65 +:10A25000043079200600000E06307D200600000E36 +:10A260000648C07604818634043079200600000E4A +:10A27000064890760681063706446007060A0007FE +:10A28000062D000201800422072D0003019B863A5F +:10A29000070FF0F603687EFF0581863C050F2074EA +:10A2A000064890760681064306446007060A0007C2 +:10A2B000040070FB05938647066A9007050F40FF70 +:10A2C000062D000201800422012080600600901FFC +:10A2D000050020210380065F040080FB066AE10878 +:10A2E00006009075040020760380065F03201100AD +:10A2F0000484865806420001048186540280067652 +:10A30000020E000807C00000032011000584866CBF +:10A31000064200010481865B02800676050FD009A3 +:10A32000040FD00803201100058486660642000150 +:10A330000481866202800676007A0102040001012F +:10A3400005600809050F80FF073FA00A060000010D +:10A35000020E000806840670030E000907C0000004 +:10A3600001011009052E430007C00000052E400F13 +:10A370000120809003800653070FC0FF040F801355 +:10A38000032FA009028006790500800605007005EC +:10A39000060060040700500304004002060030017C +:10A3A00007C000008C21CD6B02800004000000007B +:10A3B0000000A000000005C4033D0AAA070AAAAADB +:10A3C000013D1AAA070AAAAA028C03F7048E046E9A +:10A3D000048D047A018F04E102910013040F7029A7 +:10A3E00002860013066C001F058104FC066C0A1F20 +:10A3F00006810529040F702F0386001D060000103A +:10A40000050FB000066C00790781056A0398001DEE +:10A4100003400000076C0A000481801607960021A3 +:10A420000599802106A0009E02800008050F701289 +:10A4300005A683D204908008030150E10678001538 +:10A4400007FFFFF0068100640079FE15031FFFFF80 +:10A45000030160FF064BD41503D0002D0180018D50 +:10A46000028000C203800035028000400380004B60 +:10A47000038000560280007602800076040F70256B +:10A4800001868039020260160280003D06600025C8 +:10A49000050F80FF073FA00A0600000B02025016BE +:10A4A0000240002903800078050F70210186804456 +:10A4B000000220160380004807600021050F80FF7E +:10A4C000073FA00A0600000B0002101602400029F8 +:10A4D00003800078040F70230086804F000240162E +:10A4E0000380005306600023050F80FF073FA00A8A +:10A4F0000600000B0202301602400029038000789B +:10A5000004600816050F80FF012FA83906780004A3 +:10A5100007FFFF00037C00FF0500070006810062C3 +:10A520000448E0010481806207A000A9038000784C +:10A53000040FD016038000780279F01507FFFFFFA3 +:10A5400004818076060FF01503D000690380007146 +:10A55000028000730280007602800076028000761E +:10A5600002800076028000760280007603E0000020 +:10A570000280000804908073010140E103800078AC +:10A58000060FC01006A005BC02800008072E480078 +:10A59000030160110186807E060FC01007C0000015 +:10A5A000000110100647F016072D000C009B80805C +:10A5B00004600816050F80FF012FA8390249F00139 +:10A5C000048180970678000407FFFF00037C00FFEA +:10A5D000070003000481809B0448E0010481809B04 +:10A5E0000079C10107FFFFFF007A0B010380000023 +:10A5F00004600816050F80FF012FA80A062D000829 +:10A60000038000A9062D000800011016052E4C003D +:10A6100007C00000062D0008040FD01607C0000078 +:10A62000030160EB0249F0160481807F0460081684 +:10A63000050F80FF012FA83906783F0103800060D5 +:10A64000007C0B01038000000581809C06601807D8 +:10A65000070030FF050F80FF012FA809050F8003B9 +:10A66000073FA00A0600000B040F7001038600B725 +:10A6700004600201050F80FF073FA00A0600000BDF +:10A6800007C00000050F702E008680BC0002E01697 +:10A690000202F016028000C10760002E050F80FF45 +:10A6A000073FA00A0600000B0002E01607C00000EA +:10A6B0000430E0040308000006601216050F80FF56 +:10A6C000073FA0110700000507F000000660000B1F +:10A6D000050F80FF022FA0190700C0000279FF02BA +:10A6E0000700FFFF000170020760280A050F80FFC6 +:10A6F000012FA8090079FE010700FFFF055C041780 +:10A700000781817B0400D0100548E00C078100DB45 +:10A710000245600E0548400C068100E3073000004A +:10A720000500100004602C16050F80FF032FA00AFF +:10A730000644900E0560100A050F80FF032FA03914 +:10A7400002015002064B00150379FF03070000FFCA +:10A750000101800305420418058180EE0045700E5A +:10A760000179FE06070000FF0700F0FF06006010F9 +:10A77000040070100760280A050F80FF073FA0093A +:10A780000600000407F00000064B8408040080CE99 +:10A7900004500408050F80FF073FA00906000004CD +:10A7A00007F0000004603216050F80FF063FA02A64 +:10A7B000060000020769FF00076C90000481010891 +:10A7C000076CD400078181090444B00E0368060FAA +:10A7D00000D0010B0080012C018001270180012E97 +:10A7E0000180010F056CEA000781817B0748300F6B +:10A7F000048101230560260A050F80FF073FA00999 +:10A8000006000002060050100600601004602616C4 +:10A81000050F80FF063FA01A0600000207F00000A7 +:10A820000760180A050F80FF053FA8120600000206 +:10A8300007F00000027A030D030800000444B00E84 +:10A8400001800127007A010E07001800076C300014 +:10A8500002A182BF078181600220F00201800135E0 +:10A860000120D081007A010E05001000076C300035 +:10A8700002A182BF078181600220F0040548400CDC +:10A880000581013C0220F00E0444100D0748600CC5 +:10A890000581013C0444200D056CEA00058101415D +:10A8A0000548700C058101410644900D024A1815B7 +:10A8B000004A2C1504500415070030FF0700000F54 +:10A8C000017A0100050040000400100E0530400030 +:10A8D00007000030040020100600500D0700600A39 +:10A8E0000400700B0500801706600616050F80FF38 +:10A8F000022FA04A0448B00E05818056050F70272C +:10A9000003868159000280160080015D07600027E0 +:10A91000050F80FF073FA00A0600000B000270161B +:10A920000240002903800078040FD016050FD00ADA +:10A930000560100A050F80FF032FA00905780100AC +:10A9400007FFFF00017A070006000001050F80FFE6 +:10A95000032FA00A07F000000760140A050F80FF0C +:10A96000022FA0190578010007FFFF00076A050004 +:10A97000002020010560260A050F80FF012FA8098D +:10A98000060030100760140A050F80FF032FA02275 +:10A9900000800185050FD00A0560100A050F80FFB1 +:10A9A000032FA0090379FF000380FFFF0145B000DA +:10A9B0000560100A050F80FF032FA00A0730300042 +:10A9C0000700003004600E16050F80FF053FA80A3F +:10A9D0000600000106A003C1038000780660061689 +:10A9E000050F80FF012FA8410079FE01070000FF3D +:10A9F000070090FF0400D0100600A0070400B00874 +:10AA00000560100A050F80FF032FA0090769FF00EA +:10AA10000660000B050F80FF073FA0090700000636 +:10AA200007F0000004602C16050F80FF053FA80901 +:10AA30000600000B07479017056C0E09048101A85A +:10AA4000076C0C0900A185BC05601C0A050F80FF7E +:10AA5000053FA8090600000707F00000074B000F9C +:10AA60000368060F00D001B0018001B40080022FFE +:10AA7000008001EC008002580748F00F0581025663 +:10AA80000530E042020800020578400F0600002071 +:10AA9000017C40FF06000020078181C00748500C60 +:10AAA000058101C00345901704602C16050F80FF37 +:10AAB000053FA80A0600000B0569800F078181CCBD +:10AAC0000548D00F078181C90644A00E056C0E0908 +:10AAD000058101D70180025A050010FF046C800136 +:10AAE000078181DE056C0E09058101D70560200A0A +:10AAF000050F80FF012FA8090478010107FFFF005F +:10AB00000581025A01498017048101DA0644900E3A +:10AB1000063000010400041004A002700380003518 +:10AB2000026D0001058101E1008002580530E0421C +:10AB30000208000201498017048101E60644900ED4 +:10AB400005A0028D06818254073000030500043001 +:10AB500004A00270038000560630E445020800029B +:10AB6000056C0E090781825A0748F00F058101F92B +:10AB70000569800F068182580548D00F068181FB48 +:10AB8000007A010E06000010008002010246A00EAD +:10AB9000008002010246A00E0748500F0481020106 +:10ABA0000748500C04810201034590170349A01780 +:10ABB0000681820804602C16050F80FF053FA80A55 +:10ABC0000600000B018002120747A01705001017AE +:10ABD0000760220A050F80FF073FA0090600000159 +:10ABE00007F0000004602C16050F80FF012FA8124B +:10ABF00001498017058102170644900E0279FF0E65 +:10AC000007FFFFEB0448700E04810229066012164C +:10AC1000050F80FF012FA80907F000000460020162 +:10AC2000050F80FF012FA80907F00000066014013E +:10AC3000050F80FF012FA809060FF001075A00FF3A +:10AC4000048102290279FF0E07FFFFEB05A0028DA8 +:10AC500006818254073000030500043004A002700E +:10AC600003800056056C0E090781825A0430E0010A +:10AC7000020800020644000D0748F00F048102405C +:10AC80000569800F068182580578400F0600002074 +:10AC9000017C40FF06000020068182400748500CDE +:10ACA000048102400345901704602C16050F80FFB5 +:10ACB000053FA80A0600000B05A0028D06818254FC +:10ACC00001498017058102500644900E0444100D7E +:10ACD0000630000E040004200748600C0481025274 +:10ACE0000444200D008002520630000404000420B9 +:10ACF00004A0027003800035022000100080025B77 +:10AD0000022000010080025B032000060080025B3D +:10AD100002200004040FD016050FD00A050FD00042 +:10AD20000760140A050F80FF032FA00A07F0000038 +:10AD300004600E16050F80FF053FA80906000001FC +:10AD400005780103070000FF017A010307000600F0 +:10AD500004600E16050F80FF053FA80A06000001DB +:10AD600006A003C1038000780760140A050F80FF66 +:10AD7000053FA8090600000107F00000074B00038B +:10AD8000034A1803014A2C0305500403070030FF4F +:10AD90000400100E0400201004600E16050F80FF42 +:10ADA000073FA009060000020600500D0700600AD8 +:10ADB0000400700B0460040B050F80FF073FA0091F +:10ADC000060000040279FF080700FFFF0660061670 +:10ADD000050F80FF022FA04A07C0000003681E0075 +:10ADE000070090FF076C2400048102A8056CF400A2 +:10ADF00005810295076CE400068182BA0748000FBE +:10AE0000048102980444B00D0548100F0481029B90 +:10AE10000444700E07A0033F078182BD0760220A29 +:10AE2000050F80FF0448B00D048102A4073FA0096C +:10AE300006000004008002AE043FA81906000002CC +:10AE400005008005008002AE0760220A050F80FF22 +:10AE5000043FA81906000002050080050500100A3D +:10AE60000678000707FFFF00058102B20245500E79 +:10AE70000560160A050F80FF053FA80906000001BE +:10AE80000379FF03070000FF01018003018002F343 +:10AE9000040FD016050FD00A028005BC056A02FF18 +:10AEA00007C000000447400E03681E00070090FF23 +:10AEB000076C3000058102ED076C9000058102ED02 +:10AEC000056CEA00078182CA02209008018002ED29 +:10AED000056CD000058102D1076CD400058102D138 +:10AEE000040FD016050FD00A028005BC0748000FDA +:10AEF000058102D40444700E0548100F058102D765 +:10AF00000444B00D07A0033F068182EC0448700D95 +:10AF1000068182F20644500E070FF0090550041B0B +:10AF2000050F80FF073FA009060000010320000C69 +:10AF30000240000204488004058102E7024000024A +:10AF40000320000F0700301806601816050F80FF59 +:10AF5000032FA022075C00FF07C000000500100AB5 +:10AF60000560260A050F80FF053FA80907000003BA +:10AF70000400801004A002FB078182FA0700301849 +:10AF800006601816050F80FF022FA04A075C00FF1D +:10AF900007C00000070FF0090550041B050F80FFD4 +:10AFA000073FA009060000010448B00D0481830496 +:10AFB0000448700E06810308024000020049700D2B +:10AFC000068103080240000207A0031704818315CD +:10AFD000060FF00105500400050F80FF063FA01981 +:10AFE0000600000207F00000074200180681031661 +:10AFF0000240000207A0031706810316056A02FF3C +:10B0000007C00000070FF01D0054040202D0031A0D +:10B01000028003200380032203800324028003268E +:10B02000038003280280032A032000090280033DD5 +:10B030000320000C0280033D0320000F0280033D2B +:10B04000032000120280033D022000150280033D10 +:10B0500004600201050F80FF012FA809040F700191 +:10B060000386033904601001050F80FF073FA00924 +:10B070000600000102681E020550041B050F80FF38 +:10B08000073FA0090600000103800317040FD01634 +:10B09000040FD002056A02FF0280033E075C00FF36 +:10B0A00007C000000560020A050F80FF053FA809E0 +:10B0B00006000007050F700F028603BF0560100F22 +:10B0C000050F80FF053FA809060000040769FF0976 +:10B0D000056C9409048183BF05602A0A050F80FF6F +:10B0E000063FA01907000003070000060079FE07CD +:10B0F000070000FF050010FF0760120F050F80FF1B +:10B10000063FA019060000020379FF05070000FFB3 +:10B11000074B0C05055A0405070050FF0079FE0493 +:10B12000070000FF050020FF064B0C04045A040230 +:10B13000050020FF064B0004044870040681036DDF +:10B140000379FF05070000FF04488004048183732E +:10B15000040070100400801004444004044880047B +:10B160000781038802680604076C06FF0481837365 +:10B17000004640040045700D0045800E05601A0F22 +:10B18000050F80FF073FA0090700000C07F0000033 +:10B19000074B001807600A0A050F80FF053FA80942 +:10B1A00006000001050F80FF073FA00A0600000807 +:10B1B00007F0000006604E16050F80FF053FA80A45 +:10B1C0000600000107F0000004605816050F80FF1C +:10B1D000073FA00A0700000306486004058183A01A +:10B1E0000478010707FFFF00004A8C070478010775 +:10B1F00007FF0000004A8007045A0407045A0404A9 +:10B20000050040FF0678000807FF00FF0279FF08ED +:10B210000700FF00014C80FF044D8008045A040819 +:10B22000070030FF038003B70478010707FFFF0022 +:10B230000079FE08070000FF045A0407050070FFAC +:10B240000678000707FF00FF0279FF070700FF00ED +:10B25000054D80FF004C8007045A0407070030FFAB +:10B260000478010807FFFF00004A8C0804780108F1 +:10B2700007FF0000004A8008045A0408045A040426 +:10B28000050040FF04603E16050F80FF022FA0322C +:10B290000500100F0500700601681F09075C00FF1C +:10B2A00007C00000056A02FF07C00000050F70120A +:10B2B000028603C806600013050F80FF073FA00A3F +:10B2C0000600000B07C00000070FF0E2077800FF40 +:10B2D000033E0000077400FF031A0000078203ED1D +:10B2E000078103ED000120160201301607C000009F +:10B2F000070FF0E2077800FF033E0000077400FF2D +:10B30000031A0000068203DA068103DA07C0000090 +:10B310000301601206600016050F80FF032FA009CD +:10B3200007F0000006600016050F80FF073FA00A27 +:10B3300006000008050F7000038603E701012000E6 +:10B34000028003E900012010020130100460081699 +:10B35000050F80FF073FA009060000070647F00E13 +:10B36000007A010E0400010104600816050F80FF39 +:10B37000073FA00A06000007072E0030020E001645 +:10B3800007C000000391000A0784001D022C00047E +:10B39000046C041F0581040C046C021F0581042445 +:10B3A000066C0C1F05810436046C081F05810448D7 +:10B3B000066C061F048104620721F0000202C0101F +:10B3C0000202A01002020010052E580002B60079F9 +:10B3D000048D047A0380000C040F702A0186040592 +:10B3E00006000010040010100760182B050F80FFE6 +:10B3F000032FA01207F00000064200290660002A71 +:10B40000050F80FF053FA80906000001050F700326 +:10B4100001860421010280030660002A050F80FFD7 +:10B42000073FA00A060000080180046300028010A4 +:10B430000002701001800463040F702A0086040467 +:10B44000064200290660002A050F80FF053FA80973 +:10B4500006000001050F7003018604330302600338 +:10B460000660002A050F80FF073FA00A06000008BB +:10B470000180046302026010020250100180046324 +:10B48000040F702A00860404064200290660002A80 +:10B49000050F80FF053FA80906000001050F700396 +:10B4A00000860445010240030660002A050F80FF64 +:10B4B000073FA00A0600000801800459000240105E +:10B4C0000202301001800459040F702A008604041F +:10B4D000064200290660002A050F80FF053FA809E3 +:10B4E00006000001050F70030086045701022003C7 +:10B4F0000660002A050F80FF073FA00A060000082B +:10B500000180045900022010000210100647F020AC +:10B51000007A01200400010105A004ED0400802A46 +:10B5200006A005A1029484040721F005018004050A +:10B530000180040A0647F0200648602006818468DE +:10B5400005A004ED00800404007A0120040001013C +:10B5500005A004ED0400802A06A005A100800404D3 +:10B560000391000A070FF0E2077800FF033E000096 +:10B57000077400FF031A00000782840A040FD02A10 +:10B58000052E40030020801006A005A10180040ABA +:10B590000784001D030150C00448E015068184A8FB +:10B5A0000648F015078184A0024900150681849899 +:10B5B000004910150781849000492015048104DF9B +:10B5C000033D000007000003029B84DF033D0000F1 +:10B5D00006000002073C000006000040052E520055 +:10B5E00002200004018004AF072D0C00039B84841B +:10B5F000052D0800073C000006000020062E5080A4 +:10B6000003200003018004AF072D0300039B848205 +:10B61000052D0200073C000006000010062E5020F9 +:10B6200002200002018004AF072D00C0029B84802D +:10B63000062D0080073C000006000008062E50087A +:10B6400002200001018004AF072D0030039B847E9F +:10B65000062D0020073C000006000004062E5002C4 +:10B66000060000100784001D0392000C050FB000B7 +:10B67000040F707C018604DB046C0279078184C0AE +:10B680000448B07A048104C70600001004001010BA +:10B690000760187B050F80FF032FA0120046B07AC9 +:10B6A00002B60079018004CA066C0079058104C5E0 +:10B6B000040FD07C06A005BC02800008040FD07CDB +:10B6C000018004CA0045207A0279FF7A07FFD7FF7C +:10B6D0000007D0100647F07A0648607A068184D5C4 +:10B6E0000448707A048104D3040F70FB028684D36B +:10B6F0000644F07A05A004F3018004DB007A017AA5 +:10B700000400010105A004F30400807C0245F00858 +:10B7100006A005A1072790000007E0100207C0104F +:10B720000207A010028C03F70380000C0392000CA8 +:10B73000070FF0E2077800FF033E0000077400FFE8 +:10B74000031A0000068284DF070FC0FF052E400C9D +:10B750000020802006A005A1008004DF0600002054 +:10B76000050010140460082A050F80FF032FA012A3 +:10B7700007C000000600007A040010A2044B080174 +:10B78000070FF014065A00010460087C050F80FFC3 +:10B79000032FA01207C00000050F702402860507C2 +:10B7A000070FF0E2077800FF033E0000077400FF78 +:10B7B000031A0000048280130721F0060302A0246C +:10B7C00003800550050F702202860516070FF0E270 +:10B7D000077800FF033E0000077400FF031A000013 +:10B7E000048280130302A02207A0055C0448802085 +:10B7F0000781053F040FD02A0202A01002020010A8 +:10B80000040F7026038605240202A02607A0055C0B +:10B8100004488020048185200621F00100683E2034 +:10B820000481855102800540040FD02A0202A01035 +:10B830000002B01002020010050F7028038605599F +:10B840000621F0020302A02803800550070FF0E252 +:10B85000077800FF033E0000077400FF031A000092 +:10B8600004828013050F7024028605340721F00638 +:10B870000302A02403800550050F7022038605599A +:10B880000302A02207A0055C044880200781053F31 +:10B89000040FD02A0202A0100002B0100202001011 +:10B8A000038005590621F004070FF0E2077800FF36 +:10B8B000033E0000077400FF031A00000582854B59 +:10B8C000012080600600902A0400202006A005A820 +:10B8D000038005590202A010020200100002B010FD +:10B8E0000721F0000380055907A0055C0400102A19 +:10B8F0000245F00106A00562050F801E0320000A24 +:10B90000022017D0032FA012072E5C00028C03F731 +:10B91000048D047A028000130460082A050F80FF5A +:10B92000022FA031030200000102B00507C0000091 +:10B9300001200100079A0566060F000107C00000FC +:10B940000742000005818563060FC010028005BC18 +:10B950000392001D0207C02F0460087C050F80FFC2 +:10B96000032FA0390307A0000107B0050307F00665 +:10B970000660007C050020FF050F80FF032FA0114B +:10B980000302F000018685820202F00100868580B4 +:10B990000002E0100660187F050F80FF073FA00A35 +:10B9A00006000008038005880002E0010380058886 +:10B9B000040F70010386057B0760002E050F80FFD2 +:10B9C000012FA80A0002E001060000100400101078 +:10B9D000040F8002032FA012062790010400107CA0 +:10B9E000060FF0FB054BC8FF065A000106A00562D2 +:10B9F0000320000A022011F4002020040600301069 +:10BA00000249507A078105990020200E050F8078A1 +:10BA1000032FA022030E5077028C03F7048D047AC3 +:10BA2000040F702F008680130380001D0320110077 +:10BA3000058485A606420001048185A2028005BF17 +:10BA4000020E000807C00000050FD009040FD0083F +:10BA500003201100058485AF06420001048185ABF7 +:10BA6000028005BF007A0102040001010560080997 +:10BA7000050F80FF073FA00A06000001020E000824 +:10BA8000048485BA06420001048185B6028005BFA0 +:10BA9000030E000907C00000052E400F0020804063 +:10BAA000028005A1070FC0FF040F8010032FA0091B +:10BAB000028005C2243547B00000000000000000ED +:10BAC0000000400E000008080000080300011F0FDE +:10BAD00002080B02E6E5610B7F04E6307F0280017D +:10BAE00030E2E500017E04E4007E028008605FEE43 +:10BAF000E4F7F9530B80FEF516120A7FF7F953B3FA +:10BB00007530FE75F5E408FC08F943FD06000222D5 +:10BB1000000F1F0175002003F5E40151F553F552A4 +:10BB20007F7EF5523D040204520536C294D352E59D +:10BB30007505400C36D20152740C079074A3F007BF +:10BB4000F5E4F0FF90F0A30CA3F01407200B75F0C0 +:10BB5000F5E409F5D308E50803403094120904021E +:10BB60000B150600047008E50280017F09E5007FDF +:10BB7000017E0470007E028005605FEED2F3171232 +:10BB8000F7E15335094508E5250BE5FF24E025E0FD +:10BB9000E482F58383F50734E285F0EFD352E520A4 +:10BBA0000D400194E02A1B124064A054040203706B +:10BBB000F8F95300E470949010F5E0F01E1209AF0C +:10BBC000EF08AF7482F50844E080837544EF29F5EF +:10BBD0007582F507F5E09E83D34054221E40009401 +:10BBE000F05429E51B1221708044E02A5422E5F02C +:10BBF000700865302A1B1209F0BF54E01B1209803F +:10BC0000F040742A120004028375491BF0FF74AEE1 +:10BC1000007E08AFF50744EFE5FDE08225E0250B47 +:10BC2000F58124E00734E482F0ED83F5E00E07901F +:10BC300044EFF0047582F507F5E098835A1B12284B +:10BC40001B120C400144E02A02691B1208AFFB03DF +:10BC50008074007E8DCDEFCDE083F582120AE03056 +:10BC600044E02A1B0402F0202A1B1200F0DF54E0FB +:10BC700012AE44EEE430711B000402031B129E74EA +:10BC800003E0203C8F000402E0838E820203E02068 +:10BC90001B1200041044E02A4408E5F07582F50602 +:10BCA00044E09E8308AFF00444EF007EE082F50696 +:10BCB0001234E22044E02A1BE4E5F0087D04E6307B +:10BCC0007D028001C37EE500045004940280017C63 +:10BCD0004DEC007C35C20560EE0004021B12D2441C +:10BCE000F04044711200040254E02A1B1B12F0F7CA +:10BCF000D2837549F0BF54E0E01407907EE5F0046C +:10BD00007E7503707E08AF015A1B12001B12124091 +:10BD10000144E02AE0291B121B12025400040269AC +:10BD2000E02A1B121B120244FE54E029EE35C2F039 +:10BD3000828F8044F5E083F544E354179074F0104B +:10BD40004408E5FC82F5FD0754E0838C0207903F30 +:10BD5000C054E0F0838C828D129274F007903C1BEB +:10BD6000501B12031B1282740407903C74501B1268 +:10BD70003C1B12B4120507909474501B4408E5FE56 +:10BD8000411B1206E03010F58037D204E537C202BD +:10BD90008F7F5410F0838E821230443080543A1BCF +:10BDA000400094D38039D2048F39C202E0838E825E +:10BDB00012F0804440543A1B400094D3803AD2049D +:10BDC0008F3AC202E0838E8274F0404408E5FE920E +:10BDD0001B12064404E73041028038D2828F38C2F9 +:10BDE00054E0838E1E12F07F0AF5E40780020320E0 +:10BDF000034330032017191203800202120342305A +:10BE00003030970C1719120612970C121B124F0D97 +:10BE1000FB54E02AC30AE5F0464001941208E143CE +:10BE200044E02A1BE4E5F004122AE7208375491B4D +:10BE30000854E0D2400094D380017F04E5007F02E3 +:10BE40000194C30A017E0440007E028005605EEF1B +:10BE500080981D12491B1217E0D2837502F0084426 +:10BE60001B120004D2837549F0F754E07F071E12BD +:10BE7000B316120812FE8E74838E491B5410F5E01F +:10BE800010E5F0FEE5FF014444EDFD08EF82F50703 +:10BE90005410E5F044EDFFFEEF82F50775481B12E4 +:10BEA00044E08683481B1210F01044E0E02A1B1285 +:10BEB0000144FD542A1B12FF691B12EFE50C3230BE +:10BEC000F508440882837582AFF005745918120B87 +:10BED00008251074000208F5E50905850794D309C3 +:10BEE00000020350D37EE582044000940280017F6B +:10BEF0007EE5007F50FA94C380017E04EE007E024E +:10BF00000502605F0B35307E7F01E143B3161209F5 +:10BF1000535800020002FEE18F6A8E588D6C8C6BC4 +:10BF2000016E756D75016F75F5E40170F574F5734B +:10BF30002F079075F53CF5F0F546F53EF53DF547D4 +:10BF4000E56FF53FE50E706F126A456B8375370735 +:10BF5000803A748037071208748083753607121A86 +:10BF6000E0868375E4F0084474C36EF5FF6E953F78 +:10BF700075680812F0EF82831274191233E5D30842 +:10BF8000070912F040BE0812706FE5E13707120B87 +:10BF9000748083750980F0367537071216748083B4 +:10BFA000016E75F0753707126EE5B483741912F0DF +:10BFB0006E253F7434E482F5E583F500BF74F033F9 +:10BFC00082F56E25120034E4D840BE08F570F5E421 +:10BFD000F547F5460709126EFEE083F5E0D3081237 +:10BFE0000024007CFE3EECFFEFD33BAD509CEE9D69 +:10BFF00080017B04E5007B027A0470707A02800184 +:10C00000605AEB00466E8506D30170759CEE9DEF7D +:10C01000017F0450007F028001B470E580017E043E +:10C02000EF007E028503605E6E05476E7F646EE5FD +:10C0300046E5A37047E5056085037EB46FE5474696 +:10C04000468508707747857674C30E80F546957FE0 +:10C050007F74C37879F5479537706FE5476546E596 +:10C0600073750C70017475013DF53CF5F5E4358090 +:10C0700047E5C34E3CF5469571F513C372F5462569 +:10C08000403F94C33DF5E40574C34080F572953F8D +:10C09000E537803D704765460173750FF50175758D +:10C0A000753FF53E2280014EC34EF5E4469547E5C7 +:10C0B00013C33EF5462571F594D372F5E405503F60 +:10C0C00006803FF5C12472E56F053FF594C36FE527 +:10C0D000020350026DE5730402706C4574E5048040 +:10C0E00007907545017FF02F04603EE514703CE534 +:10C0F000F53CF5E4F53EF53DDF08123F02F0047033 +:10C100007A80B10695C33CE5E507403EFF3E953C8D +:10C11000E5C30680FF3C953E95D376E585054079DD +:10C1200003807A76E57A79857895C37777850550A7 +:10C130008503807B7BE57B78407A95D3957BE530E2 +:10C14000F53CF57A7BE5C33E07907A953CE5F0191E +:10C1500071F513C372F57A25403F94C33DF5E405AC +:10C1600074C31F80F572953F803FF53D3CF5E414A4 +:10C1700007903EF50812F019F00370DF0174038098 +:10C18000680812F0E0D08375ADFE0F547E02703C5B +:10C19000020FBE07FBEE807E749BD3EF4098F880C1 +:10C1A0003CF5E41F08123EF5F00370DF01741280C5 +:10C1B000FB08E5F0F50744EBD2837582F01044E00C +:10C1C000EBFB08E582F50944ED9E83750744EBF02F +:10C1D000837582F512F0EDCA8375680822F0EFCC02 +:10C1E000074408E5837582F5F054E0BC4408E5F0A7 +:10C1F0007582F50754E0BE8308E5F0F082F5074448 +:10C20000E0C08375E5F0F054F507440890F0228211 +:10C21000FEE0280782F5E0A38522838E4185424215 +:10C2200040408541F52FC0743E02748242E583F59B +:10C230002FE074F0027482F52283F53EFD2942E579 +:10C24000E5FC33E4EC9DC33C74F88064F5229880EF +:10C250000790E083FD1F5422E0A3FAE0838A82F571 +:10C260009022F0EDFCE0220782F5E0A39022838C7F +:10C27000EDFF2407F0CF074422F0EFA3853838857F +:10C280003A8539392FC0743A027482F52283F53E1B +:10C29000FF260790CF0744EDF0EFA3F0A074F02243 +:10C2A0007482F52F83F53E0225C07422E482F511D5 +:10C2B00083F5013425007422E482F51183F50234FC +:10C2C00025607422E482F51183F5033425807422FD +:10C2D000E482F51183F5033425E07422E482F5113C +:10C2E00083F5033425407422E482F51183F5063486 +:10C2F0002F807422027482F52283F53E82E583F555 +:10C3000082F5074422F040E51125407434E482F5BB +:10C310002283F5021125C07434E482F52283F503EB +:10C320001125007434E482F52283F506112520746A +:10C3300034E482F52283F506EDFD08E582F5074435 +:10C34000F041E522016465E57E226445007AFB0048 +:10C3500022007CFD1125207434E482F5A0742202B1 +:10C3600082F51125220334E4007E08AFF50744EF7F +:10C370003E852282413F85428522408F3D85423C59 +:10C3800022408F41903F4575F0E4200783F522A3BA +:10C3900005F032E5C36EE56EF0224094064408E5F0 +:10C3A000742282F5F56E25000034E482E52283F5DF +:10C3B000906C456DE4222F07D33CE5F974223E953D +:10C3C00082F52E80F50234E47422E08382F52EA0FB +:10C3D000F50234E47422E083F56E25800034E482B3 +:10C3E000FD42252222FC33E48542428540854141BD +:10C3F0004CED224009020360704EEFF226079037A1 +:10C40000E0960712D90712FD0790F0ED9607122863 +:10C410000712FDE012F0EDE554E093070812FD1F4E +:10C42000ED83F584240790F0E096071212FD1F5467 +:10C43000F0ED38084E0464EF079037709607122627 +:10C440000712FDE090F0EDF10712280712FDE096CB +:10C45000F0EDFD07E093071212FD1F5483F58E08DF +:10C460000790F0ED96071224FD1F54E0ED440812EA +:10C470000164EFF07D04704E7D0280010264EF00E4 +:10C480007F04704E7F028001604DEF002607907898 +:10C49000E0420712090812FF3E0712EF0812FFE000 +:10C4A00090F0EF15071222071F54E042500812FFC8 +:10C4B0000790F0EF42071224FF1F54E0EF5C0812D0 +:10C4C000071222F012F0E4D9F0E4E507F58408122F +:10C4D00012F0E48314743808F10712F00712F0E444 +:10C4E00012F0E4FD83F58E080812F0E4F0147444B1 +:10C4F000E4090812150812F00812F0E412F0E450F2 +:10C5000014745C08648C22F0668A658DF5E4678B90 +:10C51000704EEF69161D0203E568F5E47066456725 +:10C5200037071232E49083757536071212E4C2831E +:10C53000837536070812E4C41229707383753707B0 +:10C540000712E492C6837536360712E4E4C8837591 +:10C55000901180F0071226070812E442120570734A +:10C56000F0E43F0712161D1267E5801E3370664522 +:10C570007537071241E590837536071241E5C2838E +:10C58000753607120812C483122970718375370734 +:10C590001240E592837536071240E5C6837536076B +:10C5A000900E80C807122607710812420712067003 +:10C5B000F040E53F007E69AF66AC67AD12490412FA +:10C5C0008375370794D3E0CA050C5000C368E5684B +:10C5D00003500594224B0A0275F7F953F5E410FC59 +:10C5E00030FE75FDF943FFF520E6E508FF780BE71F +:10C5F000FDD8F6E480FEE653E408780953FDD8F64A +:10C600008175FEE6A8F5E480A9C2A8D2E2E5AFD222 +:10C610002005E520038002E6E502E1430EE020E28A +:10C620007F000090E4087E00FCDFA3F00B02FADE3E +:10C6300001FA43B5F0C0E0C082C083C01112D0C07F +:10C64000D0D0D018D083D08253E0D0F00232FEFA9E +:10C6500093E4D51A93E4F8A3DF08F6A3E42980F95C +:10C6600054F8A393C80C240754C433C3C820440F00 +:10C67000F40440834601805680E4DFF60402010B97 +:10C6800040201008FF0F908093017EE4FFA3C1605B +:10C69000E5303F54FE1F540960A393E454CF0E01CC +:10C6A00060E025C080B840AD8D608CFEE708126167 +:10C6B0000D4020747482F52F83F53E0380F03EE533 +:10C6C00082F52F0BF53E0374F03CE58395D33CE5F2 +:10C6D000E53C403E706045610912E910123EE511EB +:10C6E0003B40750780A20812C33EE5181D403895EF +:10C6F000E5383E858505603E0380393F8F393985B1 +:10C700002108123A07123EE5F03FE5CDE5438022CD +:10C71000706045616C07121908120540122780AB42 +:10C72000081218091242E52141E5CD073CE522F047 +:10C73000403895C3383C851D05603CE580393D8512 +:10C740003939850308123A8F123CE5213DE5CD07C2 +:10C75000388522F039398538123A3A8538E521088A +:10C76000E5CD07127F22F039B316120612E41C122F +:10C770000E12B70E0A44E0E6FE8E74F012B70E12E7 +:10C78000F0EFBE0EE53028E50180D303750540C308 +:10C7900003802014120814758375B70EF014E58A0F +:10C7A0007505FFB40680801213C314E5F5E412F595 +:10C7B000127FF5161312B818C30AE5A309500194A5 +:10C7C00016E51605401494C320E4E5EA0E1228E7A6 +:10C7D000D28375B7D30854E0044000940280017FEF +:10C7E0000AE5007F400194C380017E04EF007E02D1 +:10C7F0001203605E7FE5981D401194C3B70E1214BA +:10C80000E0D28375E5F080440FE720E480981D12A4 +:10C81000B70E120AE0D2837512F07F547422E41C22 +:10C820008208858017E583F5ED0E12F00790F0E49D +:10C830000E12E002908375CA9274F0EF4408E5FE90 +:10C8400082F5FF0754E0838E0790FDC03F54E0035C +:10C850008E828F4D0790F0830E12E004828375CA9A +:10C860000790F0EFEDFFE00582F50744EFB4837524 +:10C8700075B60E1254E080833730F0BF440F120AB1 +:10C88000E094837530F080440F120A389283754427 +:10C89000F08044E0E43028E50A39201A75B70E121A +:10C8A00054E088833A20F07FB70E120AE08883753F +:10C8B00074F0BF540E12FE8CE0838EB70E120F542C +:10C8C000868375B6F0BF54E0064408E575B00E12D5 +:10C8D000F0E48A83704EEF22D90712260790FDE01C +:10C8E00088071226E0E50712280790FD1288071234 +:10C8F000071284083808127F240790E0EF8507129A +:10C90000704E0464F10712290790FDE08807122693 +:10C91000E0FD0712280790FD1288071207128E0803 +:10C920004408127FFD1F54E01224079064EF88072B +:10C9300004704E010280017D64EF007D04704E02A0 +:10C940000280017F4DEF007F0812356090FFE00903 +:10C950000712260712F0EF96FFE01508122807903D +:10C96000F0EF9607E050081212FF1F54F0EF930704 +:10C97000E05C081290FF1F540712240722F0EF9684 +:10C98000837582F5E5F0E482F5074408838E228200 +:10C990005410F5E010E5F0FEE5FF014444EDFD081C +:10C9A0002282F50754C415E508E5FF070844EDFDAC +:10C9B000837582F5837522824044E0804408E5F067 +:10C9C0007582F508E5228A8325E02516F52F24E0F7 +:10C9D0001A34E48293E483F543220DF5E14310E138 +:10C9E000FDE153802210E185E02516E53224E025A3 +:10C9F00034E482F5E483F51A5585229383548582C5 +:10CA000022F015E52054E2E5220094D34054E2E5FB +:10CA1000220094D3064408E5FD2282F5EBFB08E5ED +:10CA200082F5074453F5E42240340F1280017F045D +:10CA300012007F0204403C0F0280017E4FEE007E18 +:10CA40000F02037010E185F75302E143E1850FE126 +:10CA500051F5E4103F54E3E50F1252F5AD1D403C93 +:10CA60001251AF5260EFB01C10E185088040E143E5 +:10CA7000BFE1530B120B0F12FB8006003F54E3E59E +:10CA8000E4E551F552F53F5440340F12AF52AD1D5D +:10CA9000B01C1251850860EFE14310E1530B802078 +:10CAA0000F12DFE10600120B0F12FB807F044034EF +:10CAB0007F0280013C0F1200017E0440007E028054 +:10CAC00003604FEE220E0F1201001F010000200331 +:10CAD000020011021002401000000090000000004F +:10CAE0001F011F011257F5E415123F161012E4C67C +:10CAF000B71412561226079012E44207F0E43E07DC +:10CB0000125610120790B71442071226071241E579 +:10CB1000F040E53E007E57AF007C56ADAF490412B1 +:10CB200002007E5690FFEE11E0A3200756F5E4FDCB +:10CB3000FCFE40F512FA56AB0F7F5111F5E4187D5B +:10CB4000FE40F556FA56ABFCAF41151212007E5668 +:10CB5000FFE47F1A1F7D56F5FCFE40F522FA56AB26 +:10CB600055F5E42274FD08E5ED56F5A057F50744A8 +:10CB7000E53028E50180D3037F0540C30480EF281A +:10CB8000C3EF147FE454F513CB0E12F9E08E8375D6 +:10CB9000EFCE10F594D3EECEE526400012FE5410F1 +:10CBA00083754B0FE5F0ED8EFD014410F50744EB66 +:10CBB00085F0ED8256858257E330E083801E0901BF +:10CBC000E934C2D4405495C32234D20200000F226B +:10CBD0009011303093E40010109010F5F593E410AC +:10CBE0009010121022501112E730E2E50310120EDD +:10CBF000303030C2FC101203E52133202094C3FEF4 +:10CC0000F953095030FE75F7E508F94303E730F2B0 +:10CC1000E57FF953D37054F1DF50009400000022F7 +:10CC20008F588E228D5A8C598B5C8A5B015E755DA4 +:10CC3000F55FF5E41262F56083753707C4FFE0D055 +:10CC400061F50F5485661E12E5D35E59E55B955E6E +:10CC50007807125A07124B50BC837510125E45E0DC +:10CC6000837536075E45E0BE7536071245E0C08322 +:10CC70005FAFF05E081260E5360A127B007E62AF9D +:10CC80005CAC5DADE54904127E5EAF610503B400A6 +:10CC900080E21D12AC5DAD071713125C11025E0538 +:10CCA0001007127AE0BC837507124045BE837536C3 +:10CCB000124045E0837536074045E0C0588E22F0AB +:10CCC0005A75598F75017901FBE4015B75370712BD +:10CCD00054E0AE830812FF1A13C4E068EFFE075455 +:10CCE00065EE0C7090077035B4E02F0735AF0D017D +:10CCF0000E12007ECFEBCF05E5211E0245026459DE +:10CD00007F0470587F0280014559E5007E04705809 +:10CD10007E028001604FEE0049418523E54B40854E +:10CD200070584559FE5AAF2CFCCDE9CD58AA59ABE5 +:10CD3000AF360A1212007E5B1580211E007E5BAFAB +:10CD400090211E12071226071249E5424BE53E07C5 +:10CD5000AFFDE4F012FCFE358C22220912658D64D1 +:10CD60003C40E708644565E5091210703EE5C311D3 +:10CD700040760712A208123B3EE51880403895C362 +:10CD8000383E851D05603EE580393F85393985038C +:10CD900007123A8F123EE5B53FE560073B8022F06F +:10CDA000644565E5071211701205406C1F80AB08E1 +:10CDB000E54B0712E522F0413895C33C3C851D4008 +:10CDC000603CE538393D850539850380123A8F3955 +:10CDD0003CE5B507E56007121222F03D38E5AC07E7 +:10CDE000E56007128C22F03912648D633C40E7083D +:10CDF000634564E5091210703EE5C31140760712E1 +:10CE0000A208123B3EE51880403895C3383E851D88 +:10CE100005603EE580393F853939850307123A8F31 +:10CE2000123EE5B53FE560073B8022F0634564E5CF +:10CE3000071211701205406C1F80AB08E54B0712FA +:10CE4000E522F0413895C33C3C851D40603CE53807 +:10CE5000393D850539850380123A8F393CE5B507A0 +:10CE6000E56007121222F03D38E5AC07E5600712D5 +:10CE7000E522F03908E5FE0D0544548E157555F58B +:10CE80001282F50F17122D0F05312025800315751D +:10CE90000B15750394C30AE5123850013120201494 +:10CEA0000515050615048015E51515150194C30A29 +:10CEB0001412215004312020028015050AE51515B1 +:10CEC000500194C32A0F120E2025171215050531A3 +:10CED000E52A0F120408B4150280017F15E5007FD2 +:10CEE0007E0407B47E028001604FEE00227F0502BF +:10CEF0008582558515E58354251712F037071222D0 +:10CF000074AE8375360712FFF51A54E013C4E0348B +:10CF100035F507542460FE243C60FE24637004242D +:10CF2000E52D3175B674FD08749F0712220790BC79 +:10CF300074A20712C00712903C809274E53A3175D2 +:10CF4000BA74FD08749F0712220790C074C30712B9 +:10CF5000C00712C42080C874E5353175B874FD0867 +:10CF6000749F071244EDFFBE22079007EFA3F0CF96 +:10CF700012C274F0C674C0070744EDFFA3F0CFA33C +:10CF80007522F0EF8E2201348C598F588A5B8D5AAE +:10CF9000755D8B5CF5E4015E661E125FD35E59859C +:10CFA0005B955EE507125AE5E5575078705C455D84 +:10CFB00037071230E59283753607125EE5C6837532 +:10CFC0003607125EE5C883753607125EE5908375F5 +:10CFD0003607125EE5C283753607125E80C483751C +:10CFE0003F071203AFF05EE5AD007E5F125CAC5D03 +:10CFF0005EAF49045DAD007E0B125CAC025E05D9EC +:10D000005DABCF145BAD5CAA59AF5AAC1B0258AEF6 +:10D010008D5C8C7B8B5E8A5D0160755FF561F5E4EC +:10D020001263F562608F661E9560E5D3125CE55D64 +:10D03000615078075E455FE507122770B683753744 +:10D04000071260E5B8837536071260E5BA83753656 +:10D05000AFF060E5E5007E617D08126280360A125D +:10D0600024079019E542071236071260E48E837593 +:10D07000743607123607120163AFF0E45FAD007E2D +:10D0800004125EAC7E60AF49AC5FAD008B12125EE5 +:10D0900015026005F5E42258AF59F5580744EF082A +:10D0A000837582F5C4FDE0D05AF50F54F50744EFBF +:10D0B0008083758212F0017483759A08F045E582C9 +:10D0C000F50744EF8A83758212F0FF740712741912 +:10D0D000BC83753712EF54E083753607EF54E0BE1A +:10D0E0007536071254E0C083360712EFE0BC837533 +:10D0F00007121044BE837536121044E0837536075C +:10D100001044E0C0E558AFF07B081259E4360A023B +:10D11000017D58F535AF59F50912FCFE370712228B +:10D1200074B683753607121074B8837536071210FB +:10D1300074BA83753607121074BC837536071210E3 +:10D1400074BE83753607121074C0837536071210CB +:10D15000E49083757536071212E4C283837536072F +:10D160000712E4C492837536360712E4E4C6837569 +:10D1700075360712F0E4C883E5FE58AF7D081259F2 +:10D18000E5360A026CE430E2C054E7E564704064BE +:10D1900054C409E508E5FE30E025E025FE4EC05404 +:10D1A0004E3F54EFAE2BE5FDC302782ACE33CE338B +:10D1B00082F5F9D8F0ED838E2AAE2BE533C30278E1 +:10D1C000D8CE33CE82F5FFF9E5A3838E828FF0FEB1 +:10D1D000A3A3838E8FF0FDE5A3838E82FCE5A3A33A +:10D1E0002BE5C3F02AE5FA94085000942BE52B05B3 +:10D1F0002A050270E4FFE42256F558F5827457F5CB +:10D20000B70E12FCF5E0838CF07F5410804410E5DB +:10D21000ED4B0F12120A7EF08375B70EE020E0A0EE +:10D2200005F4DE267057E557E5560502FD01241486 +:10D23000D3FC33E4E59D57E5D9409C5620940AE59C +:10D240000A050250C208E143B70E1231E0A6837509 +:10D250001265125531D203702231C222E0260790A6 +:10D26000F5E0A3FAE0838A8239E541F5404195C3B0 +:10D270009539E526EE9FC3414078071280017C0472 +:10D28000E5007C02603F644180017B04EC007B028E +:10D290000529605BC3288041399541E512EE9FC3A3 +:10D2A000044078070280017F41E5007F017E046031 +:10D2B000007E028004605EEF038041158541398560 +:10D2C000E522403A60E430E2E230E1E57009E55BF6 +:10D2D00080017F04E5007F027E0470087E028001E9 +:10D2E000605FEE00F8F95343E430E2E530E1E53BFE +:10D2F000FA432EE2FBFA53029010F5E410E5709425 +:10D3000030E1E5F09490E7E21065E070FA430360E5 +:10D310009010050410E5709412E670F0E1800600AC +:10D3200053FDFA53C080FBFA12548F22E1E5060048 +:10D330007F04E0307F028001D37EE5000440059445 +:10D340000280017E4FEE007E54853D6020E2E511B3 +:10D35000CE7432E1303C1B12017D04E7007D028077 +:10D36000838E828F04E630E00280017F5DEF007FD4 +:10D370001C12157012CE7467E6303C1B8044E00727 +:10D3800080F943F022F31712E5F70E1225E0251677 +:10D39000F53024E01A34E48293E483F516E50FF5C2 +:10D3A000E025E02582F53124F51A34E4F593E48391 +:10D3B000180F120E0FE510F50E12F0548C8375CA7B +:10D3C0000FE5F0EF120CE0308375B70E4044E086B5 +:10D3D000120A80F08375B70EBF54E086440F12F036 +:10D3E000E58283757F22F00EB316120512B70E1276 +:10D3F0000274E60EFE8E74F012B70E12F0EFBE0E3F +:10D400001270157534208A1E101575051575038068 +:10D410008A1E12507404342074028010F51525F011 +:10D42000D40E12151012F0EF17342091306415E568 +:10D4300010740C6015F51525E40380B40E1215F573 +:10D4400022F0EFD42A0790E412F0A3F08375370797 +:10D450007F54E082E036071212F0804408123D004B +:10D46000A08375981AE020E0E02B07900670F00486 +:10D47000E02A07900790F00410B4E02AB4E0A3E19A +:10D4800044EEDC0044EFFCA68C82F50732F5E08325 +:10D49000FEA844EEF50744EFE0838E82122233F5B6 +:10D4A0008375980854C4E0D04375FD0FFF4475019F +:10D4B00074B708123B75F0046014ED010B60140C96 +:10D4C000240F6014800B700312008009F004B4086C +:10D4D00008120680F00474B4FE8244EEF50744EFAF +:10D4E000E5838E82CB081245E582837536071231BB +:10D4F000E086837522F00844000F1F01900020038E +:10D50000920F2000940F2100960F2200980F230005 +:10D510009A0F24009C0F25009E0F2600A00F2700C5 +:10D52000A2012001A4012101A6012201A8012301D9 +:10D53000AA012401AC012501AE012601B001270199 +:10D54000B4012801B60F2800B80F2840CB0128618C +:10D55000EECACBEFE4017FCA704AEBFDF508E52483 +:10D5600012B6748208E52C08B87482F5E52C08120E +:10D570007482F5082C0812BA007C007E80360A12EC +:10D5800026079012E54207120790F0414207122445 +:10D5900012F040E5837537070712E48E12017436E6 +:10D5A000F0E4360726F5E422E15327F5752AF5FE67 +:10D5B00008F5012B1612017F1C3030B3E4291A90B4 +:10D5C0009010F59393E4F91F009010F5F593E44162 +:10D5D000F90F901010F593E41612027F550F12B355 +:10D5E0001612037F060012B3E730E2E500101209BD +:10D5F00012033030000200110BE5F047E025E02572 +:10D6000082F58224F50734E4887422834408E5FE19 +:10D6100082F5FF0722E0838E4408E5F02282F507B9 +:10D62000C054E0F0838E828F44EF22F07582F507BC +:10D6300054E086830094D3100790F022F004E015A4 +:10D6400044EFFE228E82F5078E22E08312618F6006 +:10D65000FFE4661EEECEEDCEE56195D3780712604D +:10D6600020743940E482F52E83F50334FF0370E023 +:10D67000081226809FC3FDEFEDCF1E40704AEBCF0E +:10D6800012428D0B41F5FB080C80408EF5EF08121D +:10D69000FB0812383A8E39F522BC801EE501587518 +:10D6A000120C7035F5E0D907E507124AE54CF5E0B4 +:10D6B0000C04B435E0F1071207124AF54CF5E0FD11 +:10D6C00001B435E580017F04E5007F020402B43532 +:10D6D0000280017E4FEE007E08120C604AF5E009E0 +:10D6E000E015081241854CF54B408549015B7522D8 +:10D6F0001224079054E0420794D3FF1F8F04500276 +:10D70000EF05805858F5FE241894C3EF597505406D +:10D71000EF0480188559F50458AF5A4359AD007E7F +:10D720005BAB007C1512007A7E5AAF418C17120059 +:10D73000007E5BAF907F1A0293E4FD10F02E0790FD +:10D74000122D141234E5CF1907123570CE837537B8 +:10D750001313FFE0F5075413240F5436240B60FE17 +:10D76000240A60FE021870031E026F1D141012526C +:10D770001255F5E45505461D94C355E522F44005C0 +:10D78000EDC3FCE4F5EFFA9F0082758393E4FF7923 +:10D79000A3CC6CCCF6DAF8D9E430E2E5EDE58C0206 +:10D7A000EFFFFF24F5FF82756C93E483017F037024 +:10D7B00022007F2275B70E12F0E48083074408E54B +:10D7C00075B00E120E128483868375B575B50E1270 +:10D7D00054E08C83B60E12F3128E83758375B50EEA +:10D7E000FB54E094071222F08E837537360712E45B +:10D7F000071201740812E4368C8375CB122044E0C2 +:10D8000054E0CB088474F0DFF58208857F54E08310 +:10D810008044E0F0567522F0F5FDE401FE35AF5787 +:10D82000220912FC121D1C121B123B1E7E57AFCC8C +:10D830007C56AD0049041200007E56AF75EE110211 +:10D84000FDE4015635AF57F50912FCFE1D1C1222EE +:10D85000123B1E1257AFCC1B56AD007E0412007C4B +:10D860007E56AF49EE1102001216F5E4E5FEF70E02 +:10D87000FF0544088F180F12F0838E8216E51605F7 +:10D88000401494C31208E5E6F0E4DE0E58F5E422F5 +:10D890005AF559F558ADFEFF220912FC007E047FAF +:10D8A000007C58AD7F220912AD007E0202007C5838 +:10D8B0003CE52209E5FC3E25FB002442ECFA33E47A +:10D8C00012EA9BC30B4078073DE5428C41F53F25AA +:10D8D0001222408F742218098518F58419851908B9 +:10D8E00083188582F07F54E0F08044E0F08044E0CB +:10D8F000704EEF223707120BE0D2837522F0DF540F +:10D900007537071244E0D2837522F0200790015842 +:10D9100042071226F53F54E03F071241F53F54E01D +:10D920005675224057F5E402AFBD1D12AD007E577B +:10D9300002007C56F5E44904F541F542F538F5401E +:10D94000223AF539FF0754EFF854F9E522F9F54F7B +:10D95000FEE4017FFFBE0E0F0E1222FB12F0EFD489 +:10D9600000229110000000000000000000000000F4 +:10D9700000000000000000000000000000000000A7 +:10D980000000000000000000000000000000000097 +:10D990000000000000000000000000000000000087 +:10D9A0000000000000000000000000000000000077 +:10D9B0000000000000000000000000000000000067 +:10D9C0000000000000000000000000000000000057 +:10D9D0000000000000000000000000000000000047 +:10D9E0000000000000000000000000000000000037 +:10D9F0000000000000000000000000000000000027 +:10DA00000000000000000000000000000000000016 +:10DA10000000000000000000000000000000000006 +:10DA200000000000000000000000000000000000F6 +:10DA300000000000000000000000000000000000E6 +:10DA400000000000000000000000000000000000D6 +:10DA500000000000000000000000000000000000C6 +:10DA600000000000000000000000000000000000B6 +:10DA700000000000000000000000000000000000A6 +:10DA80000000000000000000000000000000000096 +:10DA90000000000000000000000000000000000086 +:10DAA0000000000000000000000000000000000076 +:10DAB0000000000000000000000000000000000066 +:10DAC0000000000000000000000F1F01C300200341 +:0CDAD000B9F6AD13FFFFB7EAFFEEC094FB +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/ql2300_fw.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/ql2300_fw.bin.ihex @@ -0,0 +1,7831 @@ +:10000000047000000000F4A2000000030003001CC4 +:10001000013720434F50595249474854203230301D +:100020003120514C4F47494320434F52504F52418A +:1000300054494F4E20495350323330302046697274 +:100040006D77617265202056657273696F6E20301E +:10005000332E30332E32382020202020240020A9B7 +:10006000000F20010000400F2091220020A9000F66 +:1000700020010000400F2091240020A9000F200142 +:100080000000400F2091260020A9000F2001000051 +:10009000400F2091280020A9000F20010000400FF0 +:1000A00020912A0020A9000F20010000400F20917C +:1000B0002C0020A9000F20010000400F20912E00ED +:1000C00020A9000F20010000400F209120002001F6 +:1000D000000020C1000420C91BFF205900002B781C +:1000E0007883000420892E49205118002A7020E1CD +:1000F000000120E9000120090000080C0E5A202907 +:100100004D002031FFFF20394CD02021020020E992 +:10011000000120A1000020A90800900E410420E960 +:10012000000120A11000900E20010CC090840FFF50 +:1001300020A841042001000090860000012021A891 +:10014000410480011DE0756E7672776A7476747A68 +:1001500000E620711AD4247200EE20A11CD0717028 +:10016000810D810D810D810D918C000F2001000109 +:100170009112900E21A8410482111DE0717034008B +:10018000800191020120021820A8900E410420094C +:100190001800810D810D810D810D810D918C001F45 +:1001A00020010001911220E9000120A10800900E19 +:1001B00020A90800410482111DD8080C0F2E080C3C +:1001C00062C2080CB4D2080C10F9080C131B080CFE +:1001D0001C33080C0D5E080C106A080C3571080CF5 +:1001E0007B0E080C6D4B080C8CDB080C8972080C1C +:1001F0002515080C95D8080C822E080C2346080CEF +:10020000247A080C250A2091300978830000100414 +:10021000091F78809086000211907883400078371B +:100220004000783300100E040913209150002091F3 +:100230004080200100892004D084190C11C620714F +:10024000180070030000207118007000908E0003E9 +:100250001178080C4E84080C3598080C7B7F080C2C +:1002600072ED080C8DC2080C899E080C2D520C589A +:10027000000B0C78094409450AE209420BA70D5D01 +:100280000D5D0D5D080C0DCC0005012600F62091DA +:10029000800070009086000119040AB3080C0E9CBF +:1002A000080C77FF0150080C782215B02079010066 +:1002B000782890851800782A0478080C772C70002C +:1002C0009086000119040AB37098908600291904D9 +:1002D0000AB3080C8952080C894420790100782F50 +:1002E000000820010161200300017827FFFF7A2820 +:1002F00092955E2F7A2A2011767B080C8A65201150 +:10030000766E080C8B892011611B080C8A65201100 +:100310008030901E739604C0080C59BF20790100EC +:100320007844900519040AB32011611B080C8A65F2 +:100330002011767B080C8A652011766E080C8B895B +:10034000200102052003000078409084FFFB7842E2 +:10035000200119AA20049005114000C62061010067 +:10036000080C626A00CE08040AB3780F006B7A2882 +:10037000080C7807011892955E2F00109295402F77 +:100380007A2A2011801073D8200119AB20030001B4 +:10039000080C2BF7080C4DBF7248C284724A20012A +:1003A000180C200CC1ACC1CC2102080CABFD2011F3 +:1003B0000004080CD404080C6AEF080C77FF112025 +:1003C000080C2C3B02E00400080C6271014070979D +:1003D000000170D30000080C5B9108040AB3080CFC +:1003E000595FD09401882011180C2204C0CD20122E +:1003F000080C5963D0D41118080C2C3B1270201132 +:10040000180C2204C0BC00A8080C5963D0D41DB835 +:100410002011180C2204C0BD00602011180C220409 +:10042000C0BD2012080C6C531128D0A4011822045E +:10043000C0FD2012080C6C1901207A0CC2B47A0E8F +:1004400000A8707F0000080C77FF113070B0900595 +:100450001168080CD8550050080CD85570DCD09C99 +:10046000112870B090050110080C624770E7000079 +:1004700070E3000070A70000080C2C430228201134 +:1004800001012204C0C4201272DC080C77FF11782D +:1004900090160016080C2A0020191970211A001E47 +:1004A000705FFFFF706300EF708300000020201971 +:1004B0001970201B00002079184A7804D0AC01087C +:1004C000C29572DE080C77FF011892960004054869 +:1004D00020110001080CD40470AB000070AFFFFFC6 +:1004E00070030002207901007827000378289085A6 +:1004F0000003782A00FE080C30B620110005080C15 +:10050000AD0C080C9CE8080C77FF014800C6206180 +:1005100001000016080C2A0061E2001E00CE012E28 +:10052000042070AB000070AFFFFF7003000200F604 +:100530002079010078270003782890850003782A25 +:1005400000FE20110005080CAD0C080C9CE8080CFE +:1005500077FF014800C6206101000016080C2A0040 +:1005600061E2001E00CE00FE012E000500C600F66E +:1005700000B6080C77FF111820A90800001020A968 +:100580000782080C77FF1110900E00102009007EE2 +:1005900086FF0138918010002004905D0110B800A2 +:1005A000D0BC090C340781081F040AC8707F000002 +:1005B0007080908400FF708270B3000000BE00FE67 +:1005C00000CE000500B601262091800070009086C4 +:1005D000000219040BA470AC9086FFFF0130080CD8 +:1005E00030B6080C9CE808040BA470DCD0AC1110E9 +:1005F000D09C0580D08405700006200101032003F3 +:10060000002B000ED08C0530080C346A11D070E03D +:100610009086FFFF01B0080C3272080C9CE870DC79 +:10062000D09419040BA420110001080CDB0C01105C +:1006300020110003901E080C32AC080C9CE8080442 +:100640000BA470DCD0F41110D0940D6870E4900508 +:1006500019040BA470A8900519040BA470DCD0A495 +:100660000118D0B409040BA4080C6C1919040BA4CC +:10067000080C6C6C19040BA4080C6C5301C00156D7 +:1006800000C620A9007F900E0016080C6890111873 +:10069000B800D0EC1138001E81081F040B4400CEB6 +:1006A000015E0028001E00CE015E08040BA40006B7 +:1006B000200101032003002B000E201119B7080CA4 +:1006C0000F9E201119D1080C0F9E7030C08C703213 +:1006D0007003000370AFFFFF080C0E7E9006080C3D +:1006E0002891080C346A0118080C4F5C0050003641 +:1006F00000462019FFFF20210006080C4F76004E0F +:10070000003E00F620790100080C78220150080C08 +:1007100077FF782801189084E1FF00109084FFDFB4 +:10072000782A00FE200119EC200490860005112093 +:1007300020110000080CAD0C20110000080CAD16B3 +:10074000080C9CE8080C9E03012E00BE0005001654 +:10075000004600F6012620918000207901007904EE +:10076000918CFFFD7906200900F7080C6230794072 +:10077000918C001079427924D1B40110782700407F +:10078000D19C0110782700080006003601567954E4 +:10079000D1AC19040C34200119AB200490051518B4 +:1007A000080C2CBE114820010001080C2C26200149 +:1007B0000001080C2C0900B8080C2CC61138900652 +:1007C000080C2C269006080C2C090068080C2CCE6E +:1007D0001D502001199B2004D0FC01080020080CAA +:1007E0002A3408040D14080C78100148080C7822EB +:1007F0001118080C7B090050080C78070DD0080C64 +:100800007B04080C7AFA080C772C0058080C77FF48 +:100810000140200900F8080C6230784300907843CA +:10082000001020A909C47820D09C1138080C77FF4B +:1008300001387824D0AC19040D191F040C13007072 +:100840007824080C78190118D0AC19040D1990847B +:1008500018000D987003000108040D192001000113 +:10086000080C289108040D2C200119AB20049005D8 +:100870001518080C2CBE114820010001080C2C266C +:1008800020010001080C2C0900B8080C2CC61138F6 +:100890009006080C2C269006080C2C090068080C01 +:1008A0002CCE1D502001199B2004D0FC01080020F3 +:1008B000080C2A3408040D147850908500407852B2 +:1008C000793878509084FBCF7852080C2CD69085DC +:1008D00020007852793A20A900461D040C6D080CBE +:1008E0008B691F040C6D7850908504009084DFBFE5 +:1008F0007852793A080C78100148080C78221118BF +:10090000080C7B090050080C78070DD0080C7B04FC +:10091000080C7AFA080C772C0020200900F8080C43 +:10092000623020A90028A0011F040C937850908504 +:1009300014007852080C77FF012078430090784328 +:1009400000102021E6782019EA600D0C8B697820D0 +:10095000D09C1588080C77FF09040CF97824D0ACDA +:1009600019040D19080C78221530004620210320A7 +:1009700084211DF0004E78271800080C2CD678240E +:1009800090841800116894840FFF11402001181002 +:100990002004908490000110080C0D3A8421115815 +:1009A0001D040CD4080C8B69080C7B04080C7AFA23 +:1009B0007003000104F0831919401D040CE1080CB8 +:1009C0008B692009199E2104900501188001200AD5 +:1009D0001178200B000A7827004820A90002080C93 +:1009E0002CB77924080C2CD6D19C0110080C2BF7BD +:1009F00000D8080C7810114094A203E81128080CC4 +:100A000077D77003000100A878271800080C2CD6AF +:100A10007824080C78190110D0AC11589084180073 +:100A2000095070030001002820010001080C2891E2 +:100A300000782009180C210CD19C11207904918D8B +:100A40000002790678270048782890850028782ABF +:100A50007850908504007852200119AB20030000E3 +:100A6000900678F2015E003E000E012E00FE004E60 +:100A7000001E0005000600160036004600B600C63F +:100A800000D600E600F6015600690D0C8B69015E88 +:100A900000FE00EE00DE00CE00BE004E003E001E56 +:100AA000000E000500E6207118A170049086000178 +:100AB0001110080C359800EE000500052A70206121 +:100AC00019AF2063000360070003600B001C600F78 +:100AD00001372001197F900E21027196200101003B +:100AE0002004908200020218705FFFFF0008715E10 +:100AF0007067FFFF717E7182080CD85570EB00C0E3 +:100B00002061196F600309096106600B8800600F9E +:100B10000200601300FF6017001F611A601F07D0FA +:100B200020611977600380006106610A600F02008E +:100B3000601300FF6116601B0001611E2061198CAB +:100B40006003514C60074F47600B4943600F202002 +:100B50002001182C210200059016080C68901178CD +:100B6000B80490C400FF98C60006012890C4FF0096 +:100B700098C6060011209186008001088210810825 +:100B8000918608001D5022080005209180002079E0 +:100B90000000000E00F60010209180000E040DCE23 +:100BA0000006001620018002000620790000000ED9 +:100BB00078827836001E798E000E788A000E78864C +:100BC0003900789A00D620690300681878AE681C4E +:100BD00078B220011A0C200478B620011A8920046A +:100BE00078BA680878BE00DE783300122091500091 +:100BF000015600D6003600262079030020691AAC81 +:100C00007A08226A20691AAD7A18226A8D687A1CDD +:100C1000226A782C20191ABA201A20191ABD9016A7 +:100C20007808D09C01687820201A82108318938657 +:100C30001AD201080CA87808D09C01102011DEAD52 +:100C400020191ABB782C201A8318221A7803000066 +:100C500020691A8C901E20A900207B267A28226AFF +:100C60008D6883181F040E2D002E003E00DE015EED +:100C70002079180078030005209140802001008928 +:100C80002004D084018820011A1F2004900501301F +:100C90002001008B2004908480040DD02001008A64 +:100CA0002003000220031001080C596E110800995E +:100CB0000CD80005918C03FF2001000320049084D0 +:100CC00006001118918D28000010918D2000200140 +:100CD000017F210200050026012620110080080C5A +:100CE0000EF620A90900080C0F1720110040080C6F +:100CF0000EF620A90900080C0F170C780026080C26 +:100D00000F0311182011004000982011010E221429 +:100D1000929400079296000701182011A8800010F5 +:100D200020116840D0E470EF0000112070EF0FA098 +:100D3000080C0F08002E00050026080C0F030128E0 +:100D4000D0A411382011CDD5001020110080080C3E +:100D50000F08002E0005002670EF0000080C0F039E +:100D60001148080C2CCE1118201184840058201131 +:100D700082820040080C2CCE11182011CDC5001025 +:100D80002011CAC2080C0F08002E000500E600065C +:100D900020711800D0B470E81110C0E400480006BB +:100DA0003B009084FF3F20D8000E70EF0000C0E5AC +:100DB0000079000E00EE000500E620711800D0E476 +:100DC00070E81110C0DC0008C0DD001100EE000565 +:100DD00070EA700090840007000B00050EC50E9CA1 +:100DE0000E9C0E7E0EAB0E9C0E9C0EAB00163B08AE +:100DF0003A009104918D00C021D89084FF3F920564 +:100E000020D0001E00052001183A2004D0DC000587 +:100E10009E861800190C0DCC70E8D0E40108C2E5DC +:100E200072EAD0E41118929400C00C0100051D0470 +:100E30000F17209160001F040F170005890E810E07 +:100E4000810F9194003F918CFFC0000500062200A5 +:100E5000914D894F894D894D000E000501D60146FF +:100E60000036009620611890600B0000600F0000B3 +:100E700060030000600700002009FFC02105000694 +:100E80002001AAAA200F20195555901620490BFFC2 +:100E9000AB02A001A001A80093061138210593061A +:100EA0000120821099C804000C98000E200F200128 +:100EB00018A0928A000E1638928A000620110006A9 +:100EC00012102011000022029006200882FF01B0BB +:100ED0008200600A600FFFFF6003000260070000ED +:100EE0000026201900109280000120E821A021A8EE +:100EF000410483191DE082111DA0002E009E003EBA +:100F0000014E01DE00052011000E08E80016002643 +:100F100000963348080C0F1E21009300209822E011 +:100F2000009E002E001E0036351820A90001400248 +:100F30008007400483191DD8003E000520E9000108 +:100F400071B881FF11C090062009020020A900029B +:100F50009298001823A040012009070020A9000250 +:100F60009298000823A04001707C80077180810F57 +:100F700020A9000240019298000C23A0900E080CBA +:100F80000DAC20010000810F20A9000240010005E6 +:100F900089FF0140A804A80700000006080C1048BB +:100FA000009E0CB0000500E620711800080C10C16E +:100FB000090C0DCC00EE0005008600E600060026B8 +:100FC000003601262091800000C92071180073C0EE +:100FD000702C90169045015882109906090C0DCC82 +:100FE0002300920201201A0C0DCCA0000C98012EB7 +:100FF000003E002E000E00EE008E0005008600E68A +:1010000000060126209180002071191370109005B0 +:1010100001407018904501289906090C0DCCA000DC +:101020000CC8012E000E00EE008E000500E62071B7 +:10103000180001262091800070C08001027070C2EB +:10104000702C204890850001A800702EA803000095 +:10105000A8070000012E00EE0005904E0CD800E617 +:101060000126209180002071180070C090CA0020D5 +:101070000268800170C2702C2048A800702EA8035E +:101080000000A8070000012E00EE0005904E0CD8CD +:1010900000E60126209180000016890E810E810F46 +:1010A0009184003FA8629184FFC0A85E001E0020CA +:1010B00000E601262091800020711800702CA80203 +:1010C0002900702E70C0800070C2080C8944012E67 +:1010D00000EE00052071180090262009000020492C +:1010E00004002900702E89402800A802A95EA86388 +:1010F00000018420988604400120284891880040FF +:101100000C90207118907000900511A020010534FA +:10111000A802204820094D0089402800A802A95EA5 +:10112000A86300018420988608000120284891883F +:1011300000400C90207118907104720082FF01D061 +:1011400073088318831F831B831B73128319200169 +:101150000800A80220488900A8022040A95EAA62CF +:1011600084202300990601302848918800409291FC +:1011700000000C88A80300002071180074BE74C21F +:10118000000500E600169984FC0001E8908CF80048 +:1011900011689982040002B8998204400278998209 +:1011A0000534028899820800127000409982080074 +:1011B0000250207118907010990212289085000139 +:1011C000001E00EE000590060CD8015601D601461F +:1011D00089FF090C0DCCA86020E8A85C9080001C59 +:1011E00020A020A9002490064004014E01DE015EEB +:1011F000000500E620711A1E700700009006701EA0 +:10120000702270022071000070109085804470126E +:1012100020710080900620A9004070221F04110D4B +:10122000702B002000EE000501262091800000E6D2 +:10123000A073000020711A1E701C90881A28280ABA +:1012400080009084003F701E71209106090C0DCC27 +:1012500070049005112800F62079008000A900FE96 +:1012600000EE012E000501262091800000E620718D +:101270001A1E70049005112800F6207900800021C4 +:1012800000FE00EE012E0005700490860000111093 +:101290007007000670000002115612DC1154115440 +:1012A00012D012D012D012D0080C0DCC701C7120AC +:1012B00091061148792C918400011120D1FC111064 +:1012C000700700000005009691801A282004700A1B +:1012D00020488108918C003F7122782B0026A8902D +:1012E0007802A8947806A898780AA89C780EA87C1A +:1012F000700EA8747016A878701AA86C009ED0841E +:10130000012070070001002900057007000200B1EC +:10131000000500160026710C20110040918200404B +:10132000121021109006700E721282037812782B20 +:101330000020782B0041002E001E0005001600261C +:10134000013601460156701420E07018209820E9FB +:10135000000020A10088782B0026710C201100408D +:1013600091820040121021109006700E22A84006B3 +:1013700082037812782B00203300701A782B00013A +:10138000015E014E013E002E001E000500162009E0 +:101390001A1E2104C095200A080C1133001E0005F6 +:1013A000001600E620711A1E00F620790080792CC4 +:1013B000D1BC190C0DC5782B0002D1FC0120918CF9 +:1013C00007007004002300FE00EE001E000511441B +:1013D00011EE122212FB0DCC13160DCC918C0700CE +:1013E0001550013601460156701420E8701820A0EF +:1013F00020E1000020990088782B0040701020A880 +:1014000040053400701A015E014E013E700C9005DB +:1014100005787800780278047806080C11890005B0 +:10142000700800962048A8730100009E7007000015 +:10143000080C11440005700800962048A8730200AB +:10144000009E0CA0918C07001150700C900501803B +:101450007800780278047806080C119E0005700860 +:1014600000962048A8730200009E700700000080CC +:101470000096700820487800A8927804A89678080A +:10148000A89A780CA89EA8730100009E700700001F +:10149000009600D670082048200118BC2004990648 +:1014A0001128A8A0080F00DE009E00A000DE009E0C +:1014B000009600D67008204800810150A8A0008640 +:1014C0002940080F008E00DE009E080C1133000535 +:1014D00000DE009E080C11330005A8ACD08C00057E +:1014E0000096A0A4904D090C0DCCA070908E010028 +:1014F0000130A87F0030A8870000A89B4002A89870 +:10150000908E006B090C4959080C7061A0A3000073 +:10151000A0A700002848080C1048009E000500A65F +:10152000A0A4904D090C0DCCA070908E0100012854 +:10153000A87F0001A887000000C0A80C2050B004BC +:1015400090050198A80E2050800680068007908C98 +:10155000003F9084FFC090800002A07AA176B00086 +:10156000A07E2810080C111400C8A980A8980016A5 +:101570000006080C7061000E001ED1A4012800C6F0 +:101580002060080CB53C00CE70082048A8A30000DD +:10159000A8A70000080C1048080C113300AE000585 +:1015A000012620918000782B100170070005700043 +:1015B000C0947002012E0005009620011932204CC3 +:1015C000A8807812A8907802A8947806A898780A3B +:1015D000A89C780E782B0020012620918000782B83 +:1015E0000041700700037000C08470022900700A77 +:1015F000012E009E000520E1000020990088782B34 +:101600000040009620011932204CAA80009E080C50 +:101610008FF32009188F21049084FFFC200A080C06 +:101620008E6570070000080C11440005700700006B +:10163000080C1144000501262091220020790300A6 +:1016400020711A687003000078BF00F6781B48000C +:1016500000C178030003780F000020A903EE206189 +:10166000F4B72C0D7912E1049CE0000279161F04F6 +:101670001331780700077803000078030001012E7A +:10168000000500C678030000781B04007808D09C91 +:1016900001207820080C13970CC820011A69200338 +:1016A000000078AB000478ACD0AC1DE878AB000249 +:1016B0007807000778270030782B0400782700315E +:1016C000782B1A8C781FFF00781BB70020010200CE +:1016D0002004D0DC0110781F030320611A8C602FD6 +:1016E0001CD02001181A200490821CD06032603B6C +:1016F000212520013471D0FC190C0DCC20011810CB +:101700002004D0C41128200100032004D0D41118D3 +:10171000783F347100209084C000783FB471604FEE +:1017200019402001192B2004604200CE000590864C +:10173000000D11D07808D09C01B878200026201028 +:10174000080CD3E3018022606000908600041158E9 +:101750000016612091860009010800202009004C34 +:10176000080CB5B9001E002E0005012620912200AC +:10177000790891840030190C0DC5D19C015878204E +:10178000908CF00015F0908A00241A0C0DCC0023E8 +:10179000012E0005012E000513F113F11408140D9C +:1017A00014111416143E14421450145413F1152736 +:1017B000152B159D15A413F115A515A615B115B872 +:1017C00013F113F113F113F113F113F113F11418D1 +:1017D00013F113F113F113F113F113F113F513F3E3 +:1017E00013F1080C0DCC080C0DC5080C15C320090D +:1017F0001A8121048000200A080C8302080C1B3582 +:101800000005200900482060080CB5B9012E00052C +:101810007004C085C0B5700600057004C0857006F0 +:101820000005080C15C3080C17330005080C0DCC77 +:10183000080C15C32060601400962048A83BFFFFE9 +:10184000009E20090048080CB5B92001015D200365 +:101850000000200903E88109016020010201200441 +:1018600090050DC8200102182004D0EC1110080CBE +:1018700015C8200103072003800000057004C095EF +:1018800070060005080C15C32060601400962048FF +:10189000A83BFFFF009E20090048080CB5B90005D1 +:1018A000080C15C3080C0DCC080C15C3080C151238 +:1018B0007827001879ACD1DC090414BD782700150D +:1018C0007828782B0000906501402001020D20034C +:1018D000005020030020080414C37004900501C8C0 +:1018E000118878AB000478270018782B0000D1BC51 +:1018F000090C0DCC2001020D200300502003002014 +:10190000080414FA78AB000478030001080C152BC6 +:10191000000578270018A001782878270011A00179 +:1019200079289106011079AC08E000E620710200E8 +:10193000702CD0C4014000EE080C1B35080C13417C +:1019400078030001000570370001A001715000EE1E +:10195000918CFF0091860500011079AC081070048D +:10196000C09D700678AB000478030001080C152BAD +:101970002001020D2003002000057828782B0000AC +:101980009065090C0DCC6014204878AB0004918C54 +:10199000070001D8080C8302080C1B35080CD3F58E +:1019A0000188A9B0A936A9B4A93AA83FFFFFA84366 +:1019B000FFFFA884C0BDA886A984918400201120BF +:1019C000C1ADA986080CD00B0005602090860009E7 +:1019D00011282009004C080CB5B90060080CD3F59B +:1019E0000148601000B62058B80000BED0BC60248A +:1019F000190CD7EE202900C88529012820010201F1 +:101A0000200490050DC87DBC080CF444D5A409043D +:101A100015C8080C830208041B35781F03007803DF +:101A20000001000500160066007600F6207903002C +:101A30007908918C0007918600030120200100168F +:101A4000080C164900FE007E006E001E00057004A2 +:101A5000C09D70060005710491840004190C0DCC22 +:101A6000D18411B1D19C0180C19C71060016080C73 +:101A70001716001E01482001020D2003005020030C +:101A80000020080C15C8000581FF190C0DCC0005BD +:101A90002100C184C1B47106D0B4001600E6190457 +:101AA000159220710200080C170305E0080C1716A8 +:101AB00005B06014900505B000962048A868009E07 +:101AC000908400FF908E00290160908E0048155090 +:101AD000601CD08411E000F62C78080C17A900FED9 +:101AE00000B000F62C78080C193E00FE200901F425 +:101AF0008109016820010201200490050DC8200120 +:101B000002182004D0EC1118080C15C80040200160 +:101B1000020D20030020080C13417803000100EEA1 +:101B2000001E0005080C17160DD02001020D200321 +:101B300000502003002004610C900429206020093B +:101B40000053080CB5B900050005000500E12008A8 +:101B500000D100067004C09D7006000E080C93367C +:101B60000005008990050118080C8F590CD000055C +:101B70002001003620091820210C2011181F2214E2 +:101B8000080C164900057808D09C0DE8782000055F +:101B9000080C151200D620690200200901F4810901 +:101BA0000520680490050DD82001015D2003000088 +:101BB00079BCD1A4157879B8918C0FFF01809182FE +:101BC0000841126891880007918C0FF8810C810CF4 +:101BD000810C080C16356827000181091DD0080CFE +:101BE000163568270002080C163568049005117038 +:101BF000682CD0E41540691C9184001401206830E1 +:101C00009084955415B9680490050DA879B8D1EC65 +:101C100011300870080C8302080C1B3500907827DF +:101C20000015782B000078270018782B0000200181 +:101C3000020D200300202001030720030300780386 +:101C4000000100DE0005682C90845400908654004A +:101C50000D3078270015782B00007803000168000C +:101C600090851800680200DE000568249084000357 +:101C70001DE0000520790001000E00F608040DCEDD +:101C8000200100302C08621C002178309086004131 +:101C9000000500F62079030000067808D09C01407A +:101CA0000016002600C6080C13B500CE002E001E3C +:101CB000000E0006783279367A3A781B8080005917 +:101CC0001118000E00FE0005000E792C390080006E +:101CD0002004080C0DCC2009180C2104C0F4200AA3 +:101CE0002009FF008109090416C77A189284003080 +:101CF000090416C29284004890860008190416C28E +:101D0000200101092004D08C01F0000601C601D693 +:101D100001360146015601262091280000F60026D2 +:101D2000001620091A84210480000208200A080CE9 +:101D300096E6001E002E00FE012E015E014E013EC1 +:101D400001DE01CE000E2001009B2004D0FC01D05A +:101D50000006012601C601D601360146015600F6ED +:101D6000001620091A85210480000208200A080CA8 +:101D70001F49001E00FE015E014E013E01DE01CE44 +:101D8000012E000E7818D0BC19041672000520012F +:101D9000180C2004D0F415287A1892840030050815 +:101DA000928400489086000811E0200119FA20046E +:101DB000900501B820011A6C20049086000001886B +:101DC00020091A83210480000208200A080CA9991E +:101DD0002009180C2104C0F5200A2009FF0008047E +:101DE0001672908500010005783279367A3A781BB0 +:101DF0008080080C166B11080005792C39008000D2 +:101E00002004080C0DCC70370001715070370002AF +:101E100070502060D1BC111070542060918CFF0074 +:101E2000918605000110908500010005000600461E +:101E300000E6207102007037000270589084FF00A5 +:101E40008007908600BC115820211A82240480004B +:101E500002082022080C8302080C1B35900600EEB5 +:101E6000004E000E00050C111108000500E60016DA +:101E70002071020008416120918600000904179E2C +:101E8000918600020904179E6124D1DC01F8701CC0 +:101E9000D08C0904179E70170000200102642004F2 +:101EA000D0BC0904179E2001026800C620646104AA +:101EB000603800CE918E00391904179E9C0615F0EB +:101EC000012620912600080C8249012E7358745C6B +:101ED0006014905D05982B48601000B62058B8003B +:101EE00000BED0BC190CD7C9AB42AC3E2001186C67 +:101EF0002004D0B41170601CD0E41158601000B6FA +:101F00002058B80000BED0BC1120A83B7FFFA837E6 +:101F1000FFFF080C21451190080C19B62A00A816DD +:101F200001302800A80E2C05A80A2C00A812703732 +:101F30000020781F0300001E00EE000570370050DF +:101F400070370020001E00EE080C15C80005080CB4 +:101F50000DCC2001180D2004D08C190C6D2D2FF004 +:101F6000012620912200001600C63E606014204821 +:101F70002940903E2730A8682068A81A9D84000F49 +:101F8000908821252165000217DB184917DB17DB34 +:101F900017DF182A17DB17FF17D4184017DB17DBDA +:101FA00017E4193618131809A968918C00FF918E4F +:101FB000004809041840908500010804192CA880E5 +:101FC000D0AC0DC808041850A880D0AC0DA00804EF +:101FD00018BBA89C901D1108ABA09016AAB6AA3EEB +:101FE000AA423E009080000820049080959720052A +:101FF0009005090C0DCC2004A8B208041914A8807F +:10200000D0BC09C8A894A842A890A83EA88C0804EF +:102010001850A880D0BC0978A894A842A890A83EDF +:10202000A88C080418BBA880D0BC0928A894A84292 +:10203000A890A83EA8049045090C0DCCA168A91A47 +:1020400091EC000F9D8021252065A88CD19C19045E +:1020500018BB0430A880D0AC090417DBA804904555 +:10206000090C0DCCA168A91A91EC000F9D802125C7 +:1020700020659006A842A83ED19C190418BB008098 +:10208000A880D0AC090417DB9006A842A83E08043B +:1020900018BBA880D0AC090417DB9006A842A83E64 +:1020A0002C05908A00371A0C0DCC9082001C00027F +:1020B000187318731875187318731873187F1873BA +:1020C0001873187318891873187318731893187382 +:1020D00018731873189D18731873187318A718734A +:1020E0001873187318B1080C0DCCA578A47C9D86C4 +:1020F0000024090417E9A380A28408041914A58800 +:10210000A48C9D860024090417E9A390A2940804D6 +:102110001914A598A49C9D860024090417E9A3A07E +:10212000A2A408041914A5A8A4AC9D86002409043F +:1021300017E9A3B0A2B408041914A5B8A4BC9D86DD +:102140000024090417E9A3C0A2C408041914A5C8EF +:10215000A4CC9D860024090417E9A3D0A2D40804C6 +:102160001914A5D8A4DC9D860024090417E9A3E06E +:10217000A2E4080419142C05908A00351A0C0DCC21 +:102180009082001C000218DE18DC18DC18DC18DC59 +:1021900018DC18E918DC18DC18DC18DC18DC18F47A +:1021A00018DC18DC18DC18DC18DC18FF18DC18DC6C +:1021B00018DC18DC18DC190A080C0DCCA570A47406 +:1021C000A778A67C9D86002C090417E9A380A28429 +:1021D0000458A588A48CA790A6949D86002C090479 +:1021E00017E9A398A29C0400A5A0A4A4A7A8A6AC44 +:1021F0009D86002C090417E9A3B0A2B400A8A5B8D5 +:10220000A4BCA7C0A6C49D86002C090417E9A3C8D6 +:10221000A2CC0050A5D0A4D4A7D8A6DC9D86002CC3 +:10222000090417E9A3E0A2E4AB2EAA32AD1EAC224A +:10223000AF26AE2AA98C8C602C1DA8B0AAB4A836F3 +:10224000AA3A8109A91611603E60601CC085601E13 +:10225000A880C0DDA882900600CE001E012E0005D9 +:102260002800A80EAB0A2C00A8120C70080417DB7B +:102270002001180D2004D08C190C6D2D2FF0012693 +:1022800020912200001600C63E60601420482940BC +:10229000A80E20612120A81321202C05A80AA968D6 +:1022A000A91AA880D0AC11E0200119FA20043E0838 +:1022B0009106190C0DCC200101092004D08C090CC9 +:1022C0000DCC012620912800080C96E6012EA001D5 +:1022D0003E00908000002004908E0004190C0DCC6C +:1022E0009006A842A83E2C05908A00351A0C0DCC09 +:1022F000ADD0ACD4AFD8AEDCABE0AAE4AB2EAA3202 +:10230000AD1EAC22AF26AE2AA8B0AAB4A836AA3A0F +:10231000A98CA868908400FF90860008112081098C +:10232000A91601280080918A0002A91611603E605A +:10233000601CC085601EA880C0DDA882900600CE0B +:10234000001E012E0005A8049045090C0DCCA80E16 +:10235000A068A81A9084000F90802125201582FF84 +:10236000090C0DCCAA122205A80A0C08903E2730B1 +:10237000A884D0FC11902D0000021AAB1A0D1A0D82 +:102380001AAB1AAB1AA51AAB1A0D1A5C1A5C1A5CB6 +:102390001AAB1AAB1AAB1AA21A5CC0FCA886AB2CFB +:1023A000AA30AD1CAC20DD9C09041AAD2C05908A26 +:1023B00000351A0C0DCC9082001C000219F919F797 +:1023C00019F719F719F719F719FD19F719F719F787 +:1023D00019F719F71A0119F719F719F719F719F772 +:1023E0001A0519F719F719F719F719F71A09080C47 +:1023F0000DCCA778A67C08041AADA790A694080473 +:102400001AADA7A8A6AC08041AADA7C0A6C40804B4 +:102410001AADA7D8A6DC08041AAD2C05908A00379F +:102420001A0C0DCC9082001C00021A301A301A329D +:102430001A301A301A301A381A301A301A301A3E36 +:102440001A301A301A301A441A301A301A301A4A0E +:102450001A301A301A301A501A301A301A301A56E6 +:10246000080C0DCCA578A47CA380A28408041AAD26 +:10247000A588A48CA390A29408041AADA598A49C46 +:10248000A3A0A2A408041AADA5A8A4ACA3B0A2B4AA +:1024900008041AADA5B8A4BCA3C0A2C408041AAD10 +:1024A000A5C8A4CCA3D0A2D408041AADA5D8A4DC96 +:1024B000A3E0A2E408041AAD2C05908A00351A0C9A +:1024C0000DCC9082001C00021A7F1A7D1A7D1A7DA5 +:1024D0001A7D1A7D1A861A7D1A7D1A7D1A7D1A7D3B +:1024E0001A8D1A7D1A7D1A7D1A7D1A7D1A941A7D0D +:1024F0001A7D1A7D1A7D1A7D1A9B080C0DCCA570C9 +:10250000A474A778A67CA380A2840438A588A48C90 +:10251000A790A694A398A29C0400A5A0A4A4A7A8F1 +:10252000A6ACA3B0A2B400C8A5B8A4BCA7C0A6C45A +:10253000A3C8A2CC0090A5D0A4D4A7D8A6DCA3E0C1 +:10254000A2E400589D86000E1130080C20DD19040D +:1025500019B6900E0050080C0DCCAB2EAA32AD1E51 +:10256000AC22AF26AE2A080C20DD000560142048FE +:10257000621882FF0158900E2001000A080C95A7EE +:1025800082041110201100028211AA8A601B00022D +:10259000A87890840008015000E96000908600044B +:1025A000112020090048080CB5B90005A978D1DC34 +:1025B00011080005A934A89091061158A938A894CB +:1025C00091061138601CC084601E20090048080470 +:1025D000B5B90005012600C62091220000CE790879 +:1025E000918C00079186000005B091860003059844 +:1025F00060206023000000062031000800C6781F1C +:1026000008087808D09C0120080C13B586311DB845 +:1026100000CE781F08002031016800C67808D09CE1 +:10262000190C13B500CE20010038080C1BC57930F9 +:1026300091860040016091860042190C0DCC20016A +:10264000001E80011DF086311D40080C1BD4000EB9 +:102650006022012E0005080C1BC178270015782880 +:102660009C061DB8782B00000CA000F62079030012 +:102670007803000078AB00042001F0008001090C11 +:102680000DCC7AACD2AC1DD000FE080C77FF1188BF +:102690002001013820030000200101602003000018 +:1026A0002011012CA001A00182111DE00059080495 +:1026B00078AC04790039200101602502200101383D +:1026C0002202000500E620710200080C2CE220091D +:1026D000003C080C24672001015D2003000070000D +:1026E0009084003C1DE0080C894470A070A2709892 +:1026F000709A709C709E2001020D2003002000F64D +:1027000020790300080C13417803000100FE00EE5D +:102710000005200101382014200300002001016081 +:10272000202C20030000080C77FF11080005202151 +:10273000026020010141201CD3DC11682001010945 +:10274000201C939C0048116020010111201C83FF74 +:10275000111084211D702001015D2003000000057F +:1027600000462021001920030048A001A001201CE0 +:10277000939C0048012084211DB0004E0C60004E47 +:102780000C40601CC084601E00052C08621C080CF4 +:102790001649793000052C08621C080C16F47930B3 +:1027A000000580011DF0000520310064781C908434 +:1027B00000070170200100380C4191860040090497 +:1027C0001C322001001E0C6986311D80080C0DCCC6 +:1027D000781F02022001015D2003000020010DACE2 +:1027E0000C01781CD0840110086104E02001003045 +:1027F0000891918600400568781CD0841DA8781F38 +:102800000101200100140869200100370821918688 +:102810000040014020010030080C1BCB9186004095 +:10282000190C0DCC00D620690200692CD1F411706E +:10283000D1C40160D19C0130680090851800680205 +:1028400000DE00806908918400071DB000DE781F5B +:102850000100791C91840007090C0DCCA001A00196 +:10286000781F0200000501262091240020711A6CB7 +:1028700020790090012E0005928000052004204858 +:10288000A980D1DC19041CD4A96891840007000236 +:102890001C501CBF1C671C691C671CA71C871C766E +:1028A000918C00FF918600081170A880D0B40904B3 +:1028B0001F039006A842A83EA98C2900A85AA81375 +:1028C000212008041CD09186004809041CBF080C74 +:1028D0000DCC918400FF9086001309041CBF9184E5 +:1028E00000FF9086001B09041CBF0C88A880D0B490 +:1028F00009041F03A894A842A83AA890A83EA836A5 +:10290000A8B0A846A8B4A84AA98C08041CC7A868FF +:10291000908400FF9086001E19D0A880D0B40904CE +:102920001F03A894A842A83AA890A83EA836A8B029 +:10293000A846A8B4A84AA804A85A2040A068908431 +:10294000000F908021252005A812A98C0448918CA5 +:1029500000FF918600151540A880D0B409041F031C +:10296000A804A85A2040A0689084000F90802125D8 +:102970002005A812A98C9006A842A83E0088A8802D +:10298000D0B409041F03A98C9006A842A83E2900D0 +:10299000A85AA8689084000F908021252005A812CD +:1029A000A916A880C0DDA882000500F62079009055 +:1029B000782CD0FC190C1F4900E620711A6C7000AD +:1029C000900519041D3D720692800005204C9280EE +:1029D00000042004782B000400F62079020078031C +:1029E000004000FE00B62058B86C7836B89000BEA3 +:1029F00000F62079020078030040A001A001A001A8 +:102A0000A001A001A001781A2079010078D7000068 +:102A100000FEA8142050A8582040A8102060A068EC +:102A200090EC000FA944791A7116A848781E701A04 +:102A30009006700E70127004A940A8389106150017 +:102A4000A93CA834910611E000060016A938A83464 +:102A500091050118001E000E0098001E000E8AFF4E +:102A600001C801262091800020090306200B0808D8 +:102A700000D9010800C9012E900600EE00FE0005F5 +:102A800000360046AB38AC34080C2145004E003E01 +:102A90000D300C98908500010C8020090306200B56 +:102AA00048007027000000050076006600560046CA +:102AB000003600268AFF09041EFC700C7214923A3C +:102AC0007010721892030A041EFB970509041EFB7E +:102AD000903E2730A884D0FC11902D0000021E806B +:102AE0001DBF1DBF1E801E801E5D1E801DBF1E647B +:102AF0001E0E1E0E1E801E801E801E571E0EC0FC47 +:102B0000A886AB2CAA30AD1CAC20DD9C09041E8D20 +:102B10002C05908A00351A0C0DCC9082001C000206 +:102B20001DAB1DA91DA91DA91DA91DA91DAF1DA96D +:102B30001DA91DA91DA91DA91DB31DA91DA91DA95B +:102B40001DA91DA91DB71DA91DA91DA91DA91DA947 +:102B50001DBB080C0DCCA778A67C08041E8DA79081 +:102B6000A69408041E8DA7A8A6AC08041E8DA7C0B5 +:102B7000A6C408041E8DA7D8A6DC08041E8D2C054B +:102B8000908A00371A0C0DCC9082001C00021DE2C6 +:102B90001DE21DE41DE21DE21DE21DEA1DE21DE233 +:102BA0001DE21DF01DE21DE21DE21DF61DE21DE20B +:102BB0001DE21DFC1DE21DE21DE21E021DE21DE2E2 +:102BC0001DE21E08080C0DCCA578A47CA380A2846D +:102BD00008041E8DA588A48CA390A29408041E8DC1 +:102BE000A598A49CA3A0A2A408041E8DA5A8A4AC8B +:102BF000A3B0A2B408041E8DA5B8A4BCA3C0A2C4EF +:102C000008041E8DA5C8A4CCA3D0A2D408041E8D90 +:102C1000A5D8A4DCA3E0A2E408041E8D2C05908AAC +:102C200000351A0C0DCC9082001C00021E311E2FA4 +:102C30001E2F1E2F1E2F1E2F1E391E2F1E2F1E2F22 +:102C40001E2F1E2F1E411E2F1E2F1E2F1E2F1E2F0A +:102C50001E491E2F1E2F1E2F1E2F1E2F1E50080C0A +:102C60000DCCA570A474A778A67CA380A2840804C8 +:102C70001E8DA588A48CA790A694A398A29C080456 +:102C80001E8DA5A0A4A4A7A8A6ACA3B0A2B40804B6 +:102C90001E8DA5B8A4BCA7C0A6C4A3C8A2CC04E836 +:102CA000A5D0A4D4A7D8A6DCA3E0A2E404B0A86869 +:102CB000908400FF9086001E1518080C20DD190472 +:102CC0001D5A900E08041EFCAB68939C00FF93866F +:102CD0000048118000C670042060600490860043A4 +:102CE00000CE09041E0EABA09016AD90AC94AF9828 +:102CF000AE9C00989386000809041E0E080C0DCCAB +:102D0000A968918C00FF9186001309041DBF91866C +:102D1000001B09041E0E080C0DCC2009030F210412 +:102D2000D0FC05380066200903062134200B400042 +:102D300021049084003015B8203110002600930241 +:102D4000928B0000A82EA93202789105016820110B +:102D50000000261826009500A81E94810000A822D5 +:102D6000A884C0FDA8860020A82F0000A83300007A +:102D7000006E7B127A167D027C067F0A7E0E782B0F +:102D80000001700080007002A83C9300A83EA8409B +:102D90009201A842700C9300700E70109201701294 +:102DA000080C20DD0448D6B40110200B404020312F +:102DB00000809584007F010896327124700090860F +:102DC00000001198C1857126200903062104D0B4A2 +:102DD00019041E9E200B404020091A862104800001 +:102DE0000A041E9E200A08041E9EC18D7126D184ED +:102DF0001D5808041E9E9006002E003E004E005EE8 +:102E0000006E007E0005080C0DCC00262001010597 +:102E100020030010782B0004700300007004206071 +:102E200060142048080CD3F50118A884C0BDA886FA +:102E3000782CD0AC1DE8080C1D4D60209086000653 +:102E400011802061010062C8200100FA80011DF09C +:102E500060C892061DC060C4A89E60C8A89A70048D +:102E6000206000C6080CD00B00CE200119FA200407 +:102E70009C06116020090040080C2467080CAE78FD +:102E800020110000080CAD16080C9E03002E08044B +:102E9000208D012620912400A8582040792C782BE1 +:102EA00000029184070019041F0570000002208DA4 +:102EB0001F5B1FDB208B8001700270270000D19CFC +:102EC00011588AFF09041FA8080C1D540904208DFD +:102ED000080C1D540804208D782B0004D19401485F +:102EE000A884C0FCA8868AFF1518A880C0F5A8820F +:102EF00000F800260036AB3CAA4000167910A82C3A +:102F00009100A82E7914A8309101A832001E7810E3 +:102F1000931A781492137800A81E7804A822AB3E66 +:102F2000AA42003E002E080C20F8A884C0FDA88606 +:102F30002A00A8162800A85A2C00A8127003000026 +:102F400020090306200B4800702700000804208D8C +:102F500000F60026781C000678180006207901008B +:102F60007A149284198490850012781600362019FC +:102F700010008319090C0DCC7820D0BC1DD0003E68 +:102F800079C8000E9102001E0006001679C4000EDA +:102F9000910378C6000E78CA928419849085001235 +:102FA0007816002E00FE782B000870030000080C35 +:102FB0001D4D0804208D800170027024800470264D +:102FC000D1940170782CD0FC19041F4ED19C1904A7 +:102FD00020898AFF0904208D080C1D540804208DC7 +:102FE00000260036AB3CAA40080C20F8DD9C1904F2 +:102FF00020482C05908A00371A0C0DCC9082001CBA +:103000000002201C201C201E201C201C201C202410 +:10301000201C201C201C202A201C201C201C2030AE +:10302000201C201C201C2036201C201C201C203C86 +:10303000201C201C201C2042080C0DCCA080931AC0 +:10304000A084921308041F7DA090931AA094921359 +:1030500008041F7DA0A0931AA0A4921308041F7D4A +:10306000A0B0931AA0B4921308041F7DA0C0931AB5 +:10307000A0C4921308041F7DA0D0931AA0D4921369 +:1030800008041F7DA0E0931AA0E4921308041F7D9A +:103090002C05908A00351A0C0DCC9082001C000281 +:1030A000206B2069206920692069206920712069CE +:1030B00020692069206920692077206920692069BA +:1030C00020692069207D20692069206920692069A4 +:1030D0002083080C0DCCA080931AA08492130804BE +:1030E0001F7DA098931AA09C921308041F7DA0B086 +:1030F000931AA0B4921308041F7DA0C8931AA0CC01 +:10310000921308041F7DA0E0931AA0E49213080410 +:103110001F7D08041F79080C0DCC012E000500F658 +:1031200000E620711A6C700090860000090420D817 +:103130002079009020090207210CD19401B82009C0 +:10314000020C210C918400030188080CF4A92001D1 +:10315000013320049005090C0DCC00162009004015 +:10316000080C2467001E2001020C2102200902061F +:10317000210420090203210C91061120200900409E +:10318000080C2467782CD0FC09A8080C1F49700093 +:10319000908600001978782B0004782CD0AC1DE8BC +:1031A00020090040080C2467782B000270030000FF +:1031B000080C1D4D00EE00FE0005A884D0FC11A8EF +:1031C0008C602C05900501108A510005A004900523 +:1031D0000168A85A2040A0689084000F90802125A3 +:1031E00020658CFF090C0DCC8A510005205000058C +:1031F000A884D0FC11B88A508C612C0590051190E0 +:10320000280099060120A0009005110829002040FF +:10321000A85AA0689084000F9080213520658CFF0B +:10322000090C0DCC00050000001E00220026002A1B +:10323000002E003200360000001C00220028002E64 +:1032400000340000000000240000000021182114B8 +:1032500021182118212200002118211F211F211CC3 +:10326000211F211F00002122211F0000211A211AE5 +:103270000000211A21220000211A212021202120D2 +:103280000000212000002122212000C600D6008657 +:10329000AB42AC3EA88C9055090423242940A06879 +:1032A00090EC000F908400FF9086000811182061B8 +:1032B000212000D09DE021259D86000701309D86BC +:1032C000000E01189D86000F1120A0909422A0945A +:1032D000931B2C0590651140031008042324A004BF +:1032E00090450904232408D82C0590050904220CD4 +:1032F000DD9C190421C8908A00371A0C0DCC9082ED +:10330000001C0002219D219D219F219D219D219D29 +:1033100021A5219D219D219D21AB219D219D219DA7 +:1033200021B1219D219D219D21B7219D219D219D7F +:1033300021BD219D219D219D21C3080C0DCCA08084 +:103340009422A084931B08042202A0909422A094AB +:10335000931B08042202A0A09422A0A4931B08049B +:103360002202A0B09422A0B4931B08042202A0C0A1 +:103370009422A0C4931B08042202A0D09422A0D4BB +:10338000931B08042202A0E09422A0E4931B04D023 +:10339000908A00351A0C0DCC9082001C000221EAA4 +:1033A00021E821E821E821E821E821EF21E821E8CE +:1033B00021E821E821E821F421E821E821E821E8B9 +:1033C00021E821F921E821E821E821E821E821FE8E +:1033D000080C0DCCA0809422A084931B0098A09888 +:1033E0009422A09C931B0070A0B09422A0B4931BC5 +:1033F0000048A0C89422A0CC931B0020A0E09422F7 +:10340000A0E4931B06302300940501608A5109044F +:1034100023248C6008042174A0049045090423240B +:103420000804214F8A51090423248C602C0590053F +:103430001158A004904509042324A06890EC000FC3 +:103440009DE021252C052060A884C0FCA8860804E6 +:1034500023192C0584228420831A93990000AC2E12 +:10346000AB32DD9C190422B69082001C000222526D +:10347000225222542252225222522262225222529A +:1034800022522270225222522252227E2252225252 +:103490002252228C225222522252229A225222520A +:1034A000225222A8080C0DCCA18024009122A184D4 +:1034B0002300911B0A0C0DCCA0789420A07C9319BA +:1034C00008042314A19024009122A1942300911BAD +:1034D0000A0C0DCCA0889420A08C93190804231406 +:1034E000A1A024009122A1A42300911B0A0C0DCCC1 +:1034F000A0989420A09C931908042314A1B0240040 +:103500009122A1B42300911B0A0C0DCCA0A89420F9 +:10351000A0AC931908042314A1C024009122A1C4D3 +:103520002300911B0A0C0DCCA0B89420A0BC9319C9 +:1035300008042314A1D024009122A1D42300911BBC +:103540000A0C0DCCA0C89420A0CC93190804231415 +:10355000A1E024009122A1E42300911B0A0C0DCCD0 +:10356000A0D89420A0DC9319080423149082001C96 +:10357000000222D422D222D222D222D222D222E18C +:1035800022D222D222D222D222D222EE22D222D27F +:1035900022D222D222D222FB22D222D222D222D262 +:1035A00022D22308080C0DCCA18024009122A184F2 +:1035B0002300911B0A0C0DCCA0709420A0749319C9 +:1035C0000498A19824009122A19C2300911B0A0C2D +:1035D0000DCCA0889420A08C93190430A1B02400B5 +:1035E0009122A1B42300911B0A0C0DCCA0A0942021 +:1035F000A0A4931900C8A1C824009122A1CC230043 +:10360000911B0A0C0DCCA0B89420A0BC93190060AB +:10361000A1E024009122A1E42300911B0A0C0DCC0F +:10362000A0D09420A0D49319AC1EAB22A884C0FDD6 +:10363000A8862800A85A2C00A8122A00A816000E56 +:10364000000E000E90060028008E00DE00CE908551 +:1036500000010005200100052004D0BC190C0DC597 +:1036600090840007000223451F492345233B233E46 +:103670002341233E2341080C1F490005080C11D0AB +:103680000005080C1F49080C11D0000501262091E7 +:103690002600207902002071026020691800781746 +:1036A0000000789B081478A30406789F0410200972 +:1036B000013B200B0400781B0002783B001F783789 +:1036C000002078031600012E000520912600781CAA +:1036D000D0A4190424647900D1DC11189084000668 +:1036E000001A9084000E0002238C238482492384D4 +:1036F0002386238623862386822F2384238823847C +:103700002386238423862384080C0DCC00310020DB +:10371000080C822F080C82490005000600160026BE +:10372000080CF4A979309184000301C0200119FA32 +:103730002004900501702001013320049005090C3C +:103740000DCC00C6200119FA2064080CD00B00CE65 +:1037500000F820090040080C246700D09184001470 +:1037600001A06A00928600030160080C77FF1138FF +:10377000080C7AFA080C62B4080C772C0010080CBC +:103780006171080C82F800410018918495401DC8B1 +:10379000002E001E000E000500E600360046005612 +:1037A00020711A68080C1B35005E004E003E00EECA +:1037B0000005012620912E0020711800712820019B +:1037C000197221022001197A21022001013B2102F4 +:1037D0002079020020010201789E78A302009198CE +:1037E0000007831C831C831C93980005232091826F +:1037F00002041230201100088423842384230488C7 +:103800009182024C1240201100078403800394002F +:10381000940094200430918202BC123820110006DA +:10382000840380039400942000E09182034C1230C2 +:103830002011000584038003942000989182042CB9 +:103840001228201100048423842300589182059CAF +:103850001228201100038403942000182011000274 +:103860008423948202288002802083019402011024 +:1038700002088321821782039405789A012E00059D +:10388000000600D62069020068149084FFC0910DE4 +:10389000691600DE000E000500D6206902009005C2 +:1038A00068100110C0A50008C0A4681200DE000561 +:1038B000000600D62069020068109084FFF8910D80 +:1038C000691200DE000E00057938080C0DC500F6FF +:1038D000207902007902A001A001A001A001A001AD +:1038E000A0017902A001A001A001A001A001A001F6 +:1038F00000FE0005012620912800206101002071B2 +:10390000180020090000080C2CDC080C2BF7605470 +:1039100080048004800480049084000C6150918CA9 +:10392000FFF39105605260509084B17F9085200034 +:103930006052200919A0201119A16358939C38F0F6 +:103940002320080C2C3B1238939D400394A586033A +:10395000230A24120030939D020394A58603230AB0 +:1039600024129006080C2C269006080C2C0920A97D +:1039700000121D0424B9209160001F0424B9602F97 +:103980000100602F00006050908504009084DFFFEC +:10399000605260246026080C2921200900EF613262 +:1039A0006136080C293160E7000061EA2001180D3A +:1039B0002004D08C2001000211102001000860E2D8 +:1039C000604BF7F760430000602F0080602F00001D +:1039D0006007349F60BB000020A9001860BF000092 +:1039E0001F0424EE60BB000060BF010860BF00122E +:1039F00060BF040560BF001460BF032060BF0018F3 +:103A0000601B00F0601F001E600F006B602B402FDA +:103A1000012E000500F62079014078C3008078C3AC +:103A2000008378C3000000FE000520011835200344 +:103A30000000200118342003000100050126209118 +:103A40002800000600160026612400662031183781 +:103A5000263496B40028006E11386020D1BC0120B5 +:103A6000D0BC1168D0B4119891845E2C1118918447 +:103A7000000700AA919500049284000700820016B6 +:103A80002001188E200CD184001E0D700C98001699 +:103A90002001188E200CD194001E0D300C58257179 +:103AA0002557255A255D256225642568256C080C57 +:103AB000961500B8080C96E600A0080C96E6080CCF +:103AC0009615007800990068080C96150079004852 +:103AD000080C96E600590028080C96E6080C961586 +:103AE0000029002E001E000E012E000500A66124F4 +:103AF0006028D09C0118D19C190427FDD1F4190C21 +:103B00000DC5080C77FF090425CE080CDB0C11202D +:103B100070009086000305706024908418000550A2 +:103B2000080C78220118080C781015206027002056 +:103B300060430000080CDB0C0168080C782211506F +:103B4000200119AB2003000160271800080C767BC8 +:103B50000804280070A49005115070A7000100D639 +:103B600020690140080C785300DE19042800080C75 +:103B70007B040438080C78221904260360249084FE +:103B80001800111008042603080C7B04080C7AFAAC +:103B9000080C62B4080C772C080427FDD1AC1598EA +:103BA0006024D0DC1170D0E411C0D0D41520D0CC6A +:103BB00001307098908600291110080C79E00804F3 +:103BC00027FD080CDB0C0130004620210001080C09 +:103BD0002E08004E080C7AFF0090080CDB0C013018 +:103BE000004620210002080C2E08004E20011980FA +:103BF000200300020020080C793C080427FD080C73 +:103C00007A82080427FD6220D1BC0138D2BC190495 +:103C1000285AD2B41904286B0000D1AC0904271229 +:103C200000366328C3BC632A003E080C77FF1510DA +:103C300060270020000600260036080CDB0C013847 +:103C40000046634C20210000080C2E08004E080C92 +:103C500078191158080C7AFA080C62B4080C772C01 +:103C6000003E002E000E00AE0005003E002E000EAD +:103C7000080C77D70016004600C6644C9486F0F016 +:103C8000113820610100644A6043009060430010D5 +:103C900074DA948CFF007038D0840178080CDB0C47 +:103CA00011189186F800114800360046241820218A +:103CB0000000080C2E08004E003E080CDB0519041D +:103CC00026EF9196FF0005A87060908400FF810F99 +:103CD00081FF0110911605687130D1841550080CD0 +:103CE00034650128C18D7132080C6C531510624087 +:103CF00092940010013062489294FF009296FF0067 +:103D000001C07030D08C090426EF7038D08C11407F +:103D10002001180C200CD1AC190426EFC1AD2102F2 +:103D2000003673D820118013080C4DBF003E0804E4 +:103D300026EF7038D08C11402001180C200CD1AC2B +:103D4000190426EFC1AD2102003673D8201180136B +:103D5000080C4DBF003E7130C18571322011184BE7 +:103D6000220CD1A401F0001620090001201101004D +:103D7000080C8CC22019000E00C620610000080C3F +:103D8000EF7A00CE948400FF90803471200D918CE6 +:103D9000FF00810F212090062009000E080CF00A78 +:103DA000001E00162009000220190004080C32D65B +:103DB000001E00A8015600B620A9007F900E080C36 +:103DC000689011407030D0841118B800D0BC111028 +:103DD000080C62CE81081F0426DF00BE015E00CE03 +:103DE000004E080CB4AD60E30000001E2001180076 +:103DF0002014929600041170D19C11A02011180C6F +:103E00002214D29C1120620492950002620662285C +:103E1000C29D622A20030001200118262003000011 +:103E200060270020D194090427FD00166220D2B437 +:103E30000904279A080C8B35080CA91B602700047D +:103E400000F6201919F42304907D090427697804E9 +:103E50009086003215F000D600C600E60096206974 +:103E60000140782C685E7808685A6043000220019F +:103E7000000380011DF0604300002001003C800130 +:103E80001DF0080C2DBE2001001E8001024020A95B +:103E90000009080C2CB76904D1DC11400CB02001DA +:103EA0000100080C2DAE9006080C2DAE080C9BDA14 +:103EB000080C9CE878142048A86B01032F60080CBC +:103EC000B53C009E00EE00CE00DE00FE001E00AEFF +:103ED000000500FE00D6206901406804908440007F +:103EE0000110080C2DBE00DE00C6206119EB602811 +:103EF000080CDB0C0120909A000312580018909ACD +:103F000000C812388000602A00CE080CA8F7080408 +:103F100027FC2061010062C0080CB333201919F49A +:103F200023049065012020090027080CB5B900CEB4 +:103F3000080427FCD2BC090427E3080C8B42601458 +:103F4000908419849085001060166027000400D6C4 +:103F5000206901406804908440000110080C2DBEC7 +:103F600000DE00C6206119EB6044080CDB0C012068 +:103F7000909A000316580018909A00C816388000CE +:103F80006046603C00CE900505B8200907D0080CBB +:103F90008B3A908000082004908600061138611446 +:103FA000918C1984918D0012611604309080000864 +:103FB0002004908600090D986114918C1984918DCC +:103FC0000016611600C86027000400B000362019F2 +:103FD0000001080CAC96003E201919FA23049065E4 +:103FE00001502009004F602090860009111020091F +:103FF000004F080CB5B900CE001ED19C090428550D +:104000007038D0AC15380016015660270008080C2F +:104010002DE820A90028A0011F04280B61509185DC +:104020001400605220A903661D042814080C8B6933 +:104030006020D09C1130015E6152001E6027000894 +:1040400004A0080C2C9E1F042814015E6152001E5F +:104050006027000800166028C09C602A080CB4ADD8 +:1040600060E30000080CF46C080CF4A3080C59631E +:10407000D0FC1138080CDB05112090850001080CDC +:1040800078439006080C2DAE20090002080C2CDCA9 +:1040900000E62071180070030004080C0EAB00EE5F +:1040A00060270008080C0BA7001E918CFFD061262A +:1040B00000AE000500162001188E200CD184001ED1 +:1040C0000904260D001600C12001188E200CC184A1 +:1040D0002102001E0C5000162001188E200CD194D5 +:1040E000001E0904260D001600392001188E200C30 +:1040F000C1942102001E08C86028C0BC602A2001AB +:1041000001562003BC9180002003FFFF60430001A3 +:10411000080C2CD660270080601700006043000068 +:104120000005000600160026003600E600F601260F +:10413000209180002071180071D070D2911609046E +:1041400028E081FF01A020090000080C2CDC2011D0 +:1041500080112019010E231C939E000711182019AD +:104160000001001020190000080C4DBF0448200178 +:1041700019AC200C81FF1140200101092004D0B4AA +:104180000118201900030008211820118012080CC2 +:104190004DBF080C0EAB080C5963D0FC1188080CFD +:1041A000DB05117000C6080C297C080CABFD2061F2 +:1041B00001002019002820090002080C32D600CE88 +:1041C000012E00FE00EE003E002E001E000E000537 +:1041D0002028918C00FF21309094FF0011F02011D5 +:1041E00018372214D2AC11C881FF01E82011181F22 +:1041F0002204910611902011182022149294FF009D +:104200009584FF00920611482011182022149294E0 +:1042100000FF958400FF920611202500080C859D63 +:104220000048958400FF90803471200D918CFF0030 +:10423000810F9006000590803471200D918C00FF55 +:10424000000500D62069014020011818200300EF66 +:1042500020A900109006685268561F04292C00DE21 +:104260000005000600D6002620690140200118182C +:104270002102811482148214821420A90010685330 +:104280000000900682FF11289184000F9080FC911D +:104290002005685682111F042941002E00DE000E01 +:1042A000000500C62061180060300110C09D0008A4 +:1042B000C09C603200CE0005015600D600260016D4 +:1042C0000006206901406980911601809112123028 +:1042D0008212821022A820010402001822A82001C4 +:1042E0000404680E1F042971680F0000000E001EF0 +:1042F000002E00DE015E0005080C595FD0C401509D +:10430000D0A401409006004620202009002E080C71 +:10431000F00A004E000500F6001600262079014044 +:1043200078C4D0DC090429E8080C2C3B0660908492 +:104330000700908E0600112020114000900E0458B6 +:10434000908E0500112020118000900E0420908E88 +:104350000400112090162009000100E8908E03004F +:10436000112090162009000200B0908E020011204A +:104370009016200900040078908E010015489016D0 +:1043800020090008004090840700908E030015006B +:104390002011003000582300908000202018080CC5 +:1043A00095A7928CFF000110201100FF22008007CA +:1043B0009085004C78C220090138220A080C77FF4A +:1043C000111820091970220A002E001E00FE000597 +:1043D00078C300000CC801262091280000060016B2 +:1043E000002620010170200C80002014918400031D +:1043F0000110080C0DC5002E001E000E012E000538 +:104400002001180D2004D08C01182009000200059D +:10441000200101712004D0DC016820010170200C12 +:10442000918C00FF918E004C1128200C918CFF0084 +:10443000810F0005900E2001022720048007908440 +:1044400000FF800491082001022620048007908448 +:1044500000FF8004910800050018000C00180020DF +:104460001000080010001800015600060016002673 +:1044700000E6200119932004908A00071A0C0DCC45 +:10448000003300EE002E001E000E015E00052A4ED5 +:104490002A6C2A902A922ABB2ABD2ABF2001000139 +:1044A000080C2891080C2C99200119952003000074 +:1044B00078289084E1D7782A900620A90009080C72 +:1044C0002C5720011993200300062009001E2011FB +:1044D0002AC0080C8B47000520091998200B000002 +:1044E0002001199D200300362001199C2003002A79 +:1044F00020011995200300019006080C2C092001C9 +:10450000FFFF20A90009080C2C5720011993200354 +:1045100000062009001E20112AC0080C8B47000548 +:10452000080C0DCC2001199D20030036200119959F +:10453000200300037A38929400059296000401103B +:104540009006001020010001080C2C092001199987 +:10455000200300002001FFFF20A90009080C2C57B0 +:1045600020011993200300062009001E20112AC0F3 +:10457000080C8B470005080C0DCC080C0DCC000571 +:1045800000060016002600E600F6015601262091DE +:10459000800020790100200119952004908A0007ED +:1045A0001A0C0DCC0043012E015E00FE00EE002E21 +:1045B000001E000E00052AE22AFE2B3A2B662B86EF +:1045C0002B922B94080C2C4B11902009199B210441 +:1045D0007A3892940005929600040110C08D00086C +:1045E000C085200A20011993200300010030080C27 +:1045F0002BB82001FFFF080C2A5D0005080C2B9644 +:1046000005C02009199C21048001200A080C2C4BAC +:1046100011587A38929400059296000505182009E1 +:10462000199B2104C085200A2009199821048000C3 +:10463000200A908600050118080C2B9E00C0200B54 +:1046400000007A38929400069296000401109006B9 +:10465000001020010001080C2C26200119952003D0 +:104660000002002820011993200300030010080C09 +:104670002A7F0005080C2B9605402009199C21046F +:104680008001200A080C2C4B1148200119932003AB +:104690000003200119942003000000B82009199C90 +:1046A000210490051118080C2BDB0010080C2BAB13 +:1046B000080C2B9E20091998200B00002001199549 +:1046C00020030001080C2A7F00000005047901E89E +:1046D000080C2C4B11982009199921048000200AFC +:1046E00090860007010800782001199E2003000A27 +:1046F0002009199B2104C0FD200A003800F920017F +:10470000199520030004080C2AAA00050079014825 +:10471000080C2C4B1118080C2A9600180079080C6C +:104720002AAA0005080C0DCC080C0DCC2009199DF7 +:1047300021048001200A090C2BF700057A38929495 +:10474000000592960005011090060010200100015E +:10475000080C2C2600057A389294000692960006E2 +:1047600001109006001020010001080C2C09000522 +:104770002009199821048000200A9086000501086C +:104780000068200B00007A3892940006929600068A +:104790000110900600102001000104D97A3892948B +:1047A00000059296000501109006001020010001FE +:1047B000080C2C26000500862001199B20049084FB +:1047C0007FFF090C0DCC2009199A21448846280A3C +:1047D00098440DD8D08C1120D0841120080C0DCC19 +:1047E000900600102001000100A1008E00050006C7 +:1047F00001562001199320A9000920030000800020 +:104800001F042BFD2001199A20038000015E000E79 +:10481000000500F6207901009085000001587838E5 +:104820009084FFF990850004783A200919A0210CA2 +:10483000795A005078389084FFFB90850006783ACA +:10484000200919A1210C795A00FE000500F62079F3 +:10485000010090850000013878389084FFFA908537 +:104860000004783A003078389084FFFB908500058A +:10487000783A00FE00050006200101002004908225 +:104880000007000E000500062001010020049082B0 +:104890000009000E0005015620A900647820080CCC +:1048A0002CD6D09C11101F042C4E015E0005012651 +:1048B00000160006209180007850908500407852C4 +:1048C00078509084FBCF7852080C2CD6908520002D +:1048D0007852000E2008918600001118783B0007DE +:1048E0000090918600011118783B000600609186C7 +:1048F00000021118783B0005003091860003111862 +:10490000783B0004000000061D042C84080C8B6911 +:104910001F042C847850908504009084DFBF785267 +:10492000080C2CD6908510007852000E001E012E27 +:10493000000578509084FFCF78520005000601569C +:1049400000F62079010020A9000A7854D0AC11307B +:104950007820D0E411401F042CA800287854D08C73 +:1049600011101F042CAE00FE015E000E00051D0498 +:104970002CB7080C8B691F042CB70005000620011A +:10498000199F200490860000000E000500062001FB +:10499000199F200490860001000E000500062001EA +:1049A000199F200490860002000E0005A001A001BE +:1049B000A001A001A00100050006200119AC210200 +:1049C000000E0005200901712104D0DC01402009FE +:1049D00001702104200B0080A001A001200A000525 +:1049E0000036004620010141200C918CFF00918689 +:1049F0002100014091862000017091860100190478 +:104A00002D4F0048001620091A8A21048000020850 +:104A1000200A001E04F0200900A2080C0E5A2019DA +:104A200001602324201100032009016921049084DE +:104A30000007210C918C0007910E1DB09086000399 +:104A4000154823040066007620310002233C973E7F +:104A5000014886311DD820311A8B263C8738020840 +:104A600027322304007E006E940202A019D0821126 +:104A700019D884FF017020010141200C918CFF00A6 +:104A80009186010001302009180C2104C0DD200AA4 +:104A90000008042120011984200C080C0E5A004E35 +:104AA000003E00052001180C2004D0DC01B02001DC +:104AB0000160200490050140200101412004908400 +:104AC000FF00908601001148012620918000001609 +:104AD00000260021002E001E012E000500C62061C8 +:104AE000010060140006200101612003000060172E +:104AF0000018A001A001602F00086104918E001031 +:104B00006106918E001061066017004004B9001E16 +:104B10009184000301E00036001620190141612450 +:104B2000918C002811202304908428000DC0001EC1 +:104B3000919CFFE49184000101189385000960169F +:104B4000918400020118938500126016003E200136 +:104B5000180C200CC1DC210200CE00050016002636 +:104B6000080C78190108C0BC200901402114929456 +:104B700000019215220A002E001E000500160026D4 +:104B80002009014021149294000192851000200A0E +:104B9000220A002E001E00050016002620090140F2 +:104BA0002114929400019215220A002E001E000585 +:104BB000000600162009014021041128080C78196C +:104BC0000110C0BC0008C0BD200A001E000E000578 +:104BD00000060156605090850040605260509084FD +:104BE000FBCF6052080C2CD690852000605220A983 +:104BF00000121D042DF9080C8B691F042DF960505B +:104C0000908504009084DFBF6052015E000E0005B5 +:104C10007048D0841130C085704A20118016080C6D +:104C20004DBF00050016000660274000080CF47810 +:104C3000200119FA200400C69065090C0DCC0096DD +:104C400060142048080CD3F50178A884C0DDA8863C +:104C5000602090860006114020010132200C2001C6 +:104C600001312004A99AA89E009E6020908600032E +:104C70001150080C6BF3013820310001080CD0579B +:104C8000080CD73C0010080CD00B00CE000E001E04 +:104C9000000530B530B52ED92ED92EE52EE52EF1F2 +:104CA0002EF12EFF2EFF2F0B2F0B2F192F192F2731 +:104CB0002F272F392F392F452F452F532F532F7142 +:104CC0002F712F912F912F612F612F812F812F9F76 +:104CD0002F9F2F372F372F372F372F372F372F373C +:104CE0002F372F372F372F372F372F372F372F3794 +:104CF0002F372F372F372F372F372F372F372F3784 +:104D00002F372F372F372F372F372F372F372F3773 +:104D10002F372FB12FB12FBD2FBD2FCB2FCB2FD999 +:104D20002FD92FE92FE92FF72FF73007300730174A +:104D30003017302930293037303730473047306925 +:104D40003069308B308B30573057307A307A309A28 +:104D5000309A2F372F372F372F372F372F372F37BF +:104D60002F372F372F372F372F372F372F372F3713 +:104D70002F372F372F372F372F372F372F372F3703 +:104D80002F372F372F372F372F372F372F372F37F3 +:104D90002F372F372F372F372F372F372F372F37E3 +:104DA0002F372F372F372F372F372F372F372F37D3 +:104DB0002F3701060006012601C601D6013601463D +:104DC0000156080C251E080430AD01060006012618 +:104DD00001C601D6013601460156080C232A0804F3 +:104DE00030AD01060006012601C601D60136014696 +:104DF0000156080C232A080C251E080430AD0106B4 +:104E00000006012601C601D6013601460156080CEE +:104E10002365080430AD01060006012601C601D64F +:104E2000013601460156080C251E080C23650804AE +:104E300030AD01060006012601C601D60136014645 +:104E40000156080C232A080C2365080430AD01061E +:104E50000006012601C601D6013601460156080C9E +:104E6000232A080C251E080C2365080430ADA00178 +:104E70000CF001060006012601C601D601360146E6 +:104E80000156080C13B5080430AD010600060126D2 +:104E900001C601D6013601460156080C251E080C34 +:104EA00013B5080430AD01060006012601C601D67F +:104EB000013601460156080C232A080C13B50804D4 +:104EC00030AD01060006012601C601D601360146B5 +:104ED0000156080C251E080C13B5080C23650804A0 +:104EE00030AD01060006012601C601D60136014695 +:104EF0000156080C232A080C251E080C13B50804BB +:104F000030AD01060006012601C601D60136014674 +:104F10000156080C232A080C13B5080C2365080455 +:104F200030AD01060006012601C601D60136014654 +:104F30000156080C13B5080C2365080430AD0106B2 +:104F40000006012601C601D6013601460156080CAD +:104F5000232A080C251E080C13B5080C2365080429 +:104F600030AD01060006012601C601D60136014614 +:104F70000156080C29EB080430AD01060006012695 +:104F800001C601D6013601460156080C29EB080C72 +:104F9000251E080430AD01060006012601C601D613 +:104FA000013601460156080C29EB080C232A080497 +:104FB00030AD01060006012601C601D601360146C4 +:104FC0000156080C29EB080C232A080C251E08049E +:104FD00030AD01060006012601C601D601360146A4 +:104FE0000156080C29EB080C2365080430AD0106B6 +:104FF0000006012601C601D6013601460156080CFD +:1050000029EB080C251E080C2365080430AD0106A9 +:105010000006012601C601D6013601460156080CDC +:1050200029EB080C232A080C2365080430AD01067F +:105030000006012601C601D6013601460156080CBC +:1050400029EB080C232A080C251E080C23650804EC +:1050500030AD01060006012601C601D60136014623 +:105060000156080C29EB080C13B5080430AD0106F5 +:105070000006012601C601D6013601460156080C7C +:1050800029EB080C251E080C13B5080430AD0106E9 +:105090000006012601C601D6013601460156080C5C +:1050A00029EB080C232A080C13B5080430AD0106BF +:1050B0000006012601C601D6013601460156080C3C +:1050C00029EB080C251E080C13B5080C23650804F1 +:1050D00030AD01060006012601C601D601360146A3 +:1050E0000156080C29EB080C232A080C251E080C75 +:1050F00013B5049801060006012601C601D6013643 +:1051000001460156080C29EB080C232A080C13B59C +:10511000080C2365041001060006012601C601D60D +:10512000013601460156080C29EB080C13B5080C92 +:105130002365009801060006012601C601D6013646 +:1051400001460156080C29EB080C232A080C251EE1 +:10515000080C13B5080C23650000015E014E013EEA +:1051600001DE01CE012E000E010E000D00B600C6BC +:10517000002600469026080C6C19190431ED72DCEB +:105180002001197F200490051110D29C0148D2847F +:105190001138D2BC190431ED080C31F2080431ED9C +:1051A000D2CC190431ED080C77FF112070AFFFFF4E +:1051B000080431EDD294012070AFFFFF080431EDF7 +:1051C000080C34600160080CDB0C01282001181861 +:1051D000203C0804316670AFFFFF080431ED200168 +:1051E0001818203C7294D28409043166D28C1904B8 +:1051F0003166003673AC938EFFFF11102019000149 +:10520000831492E01C802C04938C00010120908474 +:10521000FF0080070010908400FF970E0904315CA6 +:10522000908E00000904315C908E00FF1160723096 +:10523000D284190431617294C28D729670AFFFFFEF +:10524000003E080431662009180D210CD18C015054 +:10525000002620110010080C6C96002E011870AF6B +:10526000FFFF0488900E080C28E8080C681E15380B +:105270009006B8BB0520B8AC9005014800C6206078 +:10528000080C8F6E00CE090C92EEB8AF0000080C2F +:105290006C5B11687030D08C0130B800D0BC013824 +:1052A000080C6ADF0120080C320B01480028080CAA +:1052B0003350080C3237011883180804310073AEDC +:1052C000001070AFFFFF003E080431ED978034718D +:1052D000203D97BCFF00873F2041007E70AC909638 +:1052E000FFFF1118900E28A80050981202202008E5 +:1052F000980220A8002070AFFFFF080431ED2700BE +:10530000015600169106090431E22001180D20040F +:10531000D08C0158002620110010080C6C96002E2D +:1053200001202009FFFF080431EAC484080C6890BA +:105330000168080CDB0C190431E2080C3460190414 +:1053400031E2080C681E190431EA0008C485B8BBB4 +:105350000520B8AC9005014800C62060080C8F6E8F +:1053600000CE090C92EEB8AF0000080C6C5B113057 +:105370007030D08C01F8B800D0BC11E07294D28C9F +:105380000180080C6C5B9082000602E0D484111846 +:10539000080C684B0028080C33DC01A0080C34070B +:1053A0000088080C3350080CDB0C1160080C3237F5 +:1053B00001880040080CDB0C1118080C33DC0110CC +:1053C00004510140001E8108015E1F04317F70AF4F +:1053D000FFFF0018001E015E71AE004E002E00CED1 +:1053E00000BE000500C6001670AF00012009007E57 +:1053F000080C681E1168B81300FFB817FFFE080CF0 +:10540000335004A9012870DCC0BD70DE080CD855EB +:10541000001E00CE00050016007600D600C6200152 +:10542000184F2004908400FFB842080CB58C01D0BE +:105430002B006012080CD87E602300019006080C37 +:1054400067BB20010000080C67CF01262091800077 +:1054500070A8800070AA012E20090004080CB5B9BC +:105460009085000100CE00DE007E001E00050016C3 +:10547000007600D600C62001184F2004908400FF5B +:10548000B842080CB58C05482B006012B800C0C4A7 +:10549000B802B8A09086007E0140B804908400FF56 +:1054A000908600061110080C330B080CD87E602380 +:1054B00000019006080C67BB20010002080C67CFB2 +:1054C00001262091800070A8800070AA012E20097A +:1054D0000002080CB5B99085000100CE00DE007E08 +:1054E000001E000500B600C6002620090080080C3A +:1054F000681E1140B81300FFB817FFFC00390110F7 +:1055000070E3FFFF002E00CE00BE000500160076FF +:1055100000D600C6080CB58C01D02B006012080C18 +:10552000D87E602300019006080C67BB20010002B2 +:10553000080C67CF01262091800070E4800070E69F +:10554000012E20090002080CB5B99085000100CE9B +:1055500000DE007E001E000500C600D60126209158 +:1055600080002009007F080C681E11E0B81300FFBE +:10557000B817FFFDB8CF0004080CB58C019883FF65 +:10558000111870DCC0F570DE2B006012631660230A +:105590000001620A080CD87E20090022080CB5B967 +:1055A00090850001012E00DE00CE000500E600C659 +:1055B00000660036002600B621F0080C98E4080CBE +:1055C0009864080CB37A080CC5A23E08213081FF0C +:1055D000012020A9007E900E001820A9007F900EC7 +:1055E0000016080C68901140968600021118B80049 +:1055F000D0BC1110080C62CE001E81081F0432F0CE +:1056000096860001190C343400BE002E003E006E58 +:1056100000CE00EE000500E600C60046003600267B +:10562000001600B662102258BAA0002620190029E0 +:10563000080C98D9007620390000080C97AC2C088B +:10564000080CECE8007E001EBA10BB14BCC0080CAD +:1056500062CEBA12BB16BCC200BE001E002E003EB7 +:10566000004E00CE00EE000500E6000600B6601019 +:105670002058B8A000BE908600800150207118000C +:1056800070A890050110800170AA000E00EE0005C0 +:105690002071180070E490050DC0800170E60CA820 +:1056A000B800C08CB802000500F600E600C600B6DF +:1056B00000460036002600160156217881FF111899 +:1056C00020A900010078080C595FD0C40140D0A483 +:1056D0000130900620202009002D080CF00A20A996 +:1056E000080090160026928E007E090433BB928E2D +:1056F000007F090433BB928E008005E89288100079 +:10570000210C81FF05C08FFF11482001199100066F +:105710002003000104F1000E2003000000B600C6C3 +:10572000215820010001080C6C2500CE00BE201974 +:105730000029080C98D9007620390000080C97AC95 +:1057400000B600C600262158BA04929400FF928643 +:1057500000061118B807040400282001000480077F +:105760009215BA06002E00CE00BE00162C08080CBA +:10577000ECE8001E007E002E82101F043372015ED2 +:10578000001E002E003E004E00BE00CE00EE00FEC9 +:105790000005004600260016080C595FD0C40140E1 +:1057A000D0A401309006222020090029080CF00A1C +:1057B000001E002E004E000500160026003600C612 +:1057C000729482FF01E8080C6C5311D02100080C80 +:1057D000291B81FF01B820190001831492E01C806D +:1057E0002C04D38401209084FF0080070010908453 +:1057F00000FF91160138909600FF011083180C6885 +:105800009085000100CE003E002E001E000500160F +:1058100000C601262091800000362019002900A929 +:10582000003E91801000200490650158001600C6CB +:1058300020611ABA001E6112080C330B001E080CFE +:10584000684B012E00CE001E000500160026211018 +:10585000080CAEB9080CF381002E001E00052001D3 +:1058600018372004D0CC000500C600B6080C77FF1E +:10587000111820A90800001020A90782080C77FF42 +:105880001110900E00102009007E9180100020045D +:10589000905D013086FF0110B800D0BC090C684B48 +:1058A00081081F04344520611800607F000060807B +:1058B000908400FF608260B3000000BE00CE00054F +:1058C0002001186C2004D0BC00052011184B2214B4 +:1058D000D2EC000500262011186A2214D2DC002E1A +:1058E00000057EEF7DE87CE480E27BE180E080DC07 +:1058F00080DA7AD980D680D580D480D380D280D106 +:1059000079CE78CD80CC80CB80CA80C980C780C654 +:1059100077C576C380BC80BA75B980B674B573B4E8 +:1059200072B380B280B180AE71AD80AC70AB6FAA43 +:105930006EA980A76DA66CA56BA36A9F699E689DE2 +:10594000809B809867976690658F64886384628285 +:1059500080818080617C607A80795F7680758074D8 +:10596000807380728071806E5E6D806C5D6B5C6A2E +:105970005B6980675A6659655863575C565A555932 +:10598000805680555454535352525151504E4F4D9E +:10599000804C804B4E4A4D4980474C468045804361 +:1059A000803C803A803980364B3580344A334932E6 +:1059B0004831802E472D462C452B442A4329422727 +:1059C000802680254123401F3F1E3E1D3D1B3C1865 +:1059D000801780103B0F3A08800439028001800054 +:1059E00080003800370036008000350080008000DD +:1059F00080003400800080008000800080008000F3 +:105A00003300320080008000800080008000800031 +:105A100031003000800080002F0080002E002D001B +:105A20002C008000800080002B0080002A002900CC +:105A300028008000270026002500240023002200E3 +:105A400080008000210020001F001E001D001C009F +:105A5000800080001B001A00800019008000800078 +:105A60008000800080008000180080001700160071 +:105A700015008000140013001200110010000F0028 +:105A8000800080000E000D000C000B000A000900D1 +:105A90008000800008000700800006008000800071 +:105AA00080000500040003008000020080008000E8 +:105AB0008000010080008000800080008000800065 +:105AC0000000800080008000800080008000800056 +:105AD00080008000800080008000800080008000C6 +:105AE0008000207118A17003000290067016701AD1 +:105AF000704A704E700E70427046703B18BD703F19 +:105B000018BD70070001080C102F090C0DCC2900DE +:105B1000706AA86B0002A8AFDCB0080C102F090C4B +:105B20000DCC2900706EA86B0002A8AFDCB0000598 +:105B3000207118A17004000235A035A135B435C814 +:105B40000005100435B10E0435B12079000001269E +:105B500020918000700C90051128700F0001012E1B +:105B600004680005012E0CE820790000206118BBB4 +:105B70002C4CA870908E0100012890860200090428 +:105B8000369C00057018204820611800701C08071A +:105B900070142048A868909400FF92960029112064 +:105BA000AA7CD2FC012800059086010301080005AB +:105BB0002079000020611800701C0807206118007F +:105BC0007880908A0040121061D000422100908AB3 +:105BD000003F1A04369961D00804362E367036A874 +:105BE000369936B436BE36C436C836D836DC36F2C8 +:105BF00036F836FE370937143723373237403757F0 +:105C000037723699381D385B38FD390E393136997F +:105C10003699369939693985398E39BC39C2369900 +:105C20003A08369936993699369936993A133A1C84 +:105C30003A243A26369936993699369936993699CC +:105C40003A52369936993699369936993A6F3AFCDE +:105C500036993699369936993699369900023B2607 +:105C60003B293B873BA03BD03E723699551D369968 +:105C7000369936993699369936993699369936F253 +:105C800036F843A7597943C555AC55FE570936999F +:105C9000576B57A757D858E158055861369943C9EB +:105CA000459C45B245D7463C46B046D0474747A3FA +:105CB00047FF4802482749B04A154A1D4B524CED50 +:105CC0004D214F8136994F9F506F515851B236999F +:105CD00052453699525B52764A1D54BD714C0000B4 +:105CE00020214000080C4D9B0126209180000E04CD +:105CF000367A0010012E0CC07C36948640000118C4 +:105D0000783300110010783300107C8279867A8A0B +:105D10007B8E20914080200100892004D084190CC2 +:105D200011C67007000120915000700F0000012E75 +:105D300000052021400108B02021400208982021C0 +:105D400040030880202140050868202140060850B3 +:105D500020390001902E25207B887A8C78847990D8 +:105D600081FF0D9808044DA820390001902E2520B0 +:105D70007B887A8C7884799008044DAB7984788814 +:105D80002114200A0804367079842114080436701E +:105D900020E100002099002120E9000020A100213D +:105DA00020A9001F400379847A887B8C0804367010 +:105DB000788420600804372520090003201100039F +:105DC0002019001C789B01377893FFFF200118925F +:105DD0002004900501187896080436707897000121 +:105DE00008043670203900017D987C9C080436AC8C +:105DF000203900017D987C9C080436B879A09182F6 +:105E000000400210080436A521387D987C9C0804C7 +:105E100036AC79A0918200400210080436A52138E2 +:105E20007D987C9C080436B879A0918200400210CD +:105E3000080436A521E87984788820A9000121A0EA +:105E400040040804367020610800E10C90062C150F +:105E500092008C6081091DD82010900509043670CD +:105E60000804369F79A0918200400210080436A5EC +:105E700021E020A90001798421984012080436709D +:105E80002069184A78847990911A1A0436A58019E5 +:105E9000090436A5684A6942788C68527888685641 +:105EA0009006685A685E080C7B2B080436702069DF +:105EB000184A78847994911A1A0436A5801909042D +:105EC00036A5684E6946788C686278886866900660 +:105ED000686A686E012620918000080C6DC7012E4B +:105EE00008043670902E252081FF01202009000132 +:105EF000080436A279847B887A8C20A9000520E9E1 +:105F0000000120A118A94101080C4D6311202009AE +:105F10000002080436A220090020A85C9080001A24 +:105F2000AF60080C4DA8701F37960005A8682008C0 +:105F3000908400FF9096001101689096001901501E +:105F400090960015013890960048012090960029FF +:105F5000190436A2810F918C00FF090436A2711238 +:105F60007010800105607012080C4D63112020092B +:105F70000002080436A22009002070682040A29088 +:105F8000A394A498A59C929000409399000094A19A +:105F9000000095A90000A85C9080001AAF60080C72 +:105FA0004DA8701F37D40005A868908400FF909614 +:105FB000000201209096000A190436A208880126E2 +:105FC0002091800070142048A86CC0FDA86EA868BD +:105FD000908400FF909600291148C2FDAA7E080C0B +:105FE000642B0138A87EA986012E0060080C676525 +:105FF000113070070003701F3802012E0005080CD5 +:1060000072D6012E01262091800020A9000520E1F2 +:106010000001209918A9400A2100921093990000CC +:1060200094A1000095A90000A85C9080001A2009A6 +:106030000020012EAF6008044DAB2091800078371E +:106040004000783300107883400078874953788B7C +:106050005020788F20202009017F210478923F0072 +:10606000789620610100620020610200603C800798 +:106070009205789A200904FD2104789E2091500011 +:1060800020914080200100892004D08401802001DB +:106090001A1F2004900501282001008B2004D0FC49 +:1060A0000DD82001008A2003000220031001207176 +:1060B00000800804042781FF190436A27984080CA3 +:1060C0006890190436A57E98968240001A0436A579 +:1060D0007C887D8C080C6A15080C69E40000151892 +:1060E00020611CD001262091800060009086000075 +:1060F00001486014904D0130A87094061118A874DE +:1061000095060150012E9CE000182001181A200469 +:106110009C021A0436A20C30080CD00B012E090484 +:1061200036A208043670900E20010005080C72D6C5 +:10613000012620918000080CD6FE080C706E012EFE +:106140000804367000A62950B19C080C6890190408 +:1061500038EAB6A89682400016E8B4A0B5A4080CA8 +:106160006A15080C69E4152020611CD001262091D5 +:10617000800060009086000001486014904D01305E +:10618000A87094061118A87495060158012E9CE079 +:1061900000182001181A20049C022009000D12B0DA +:1061A0000C28080CD00B012E20090003017800E018 +:1061B000900E20010005080C72D601262091800067 +:1061C000080CD6FE080C7061012E0070B09B4005D3 +:1061D000B19E0010B09B4006900E908500012001FA +:1061E00000302A4800AE0005B09B40009006918D1B +:1061F000000120082A4800AE000581FF190436A2DC +:10620000080C4D7A090436A5080C6957090436A212 +:10621000080C6A1F090436A2080446C781FF190446 +:1062200036A2080C4D92090436A5080C6AAD090483 +:1062300036A22019000579A8080C6A2E090436A296 +:106240007888908A10001A0436A58003800B810B91 +:106250009108080C8A7379A8D1841904367008044F +:1062600046C701262091800081FF01182009000106 +:106270000450202907FF645C2400950601F82508D6 +:10628000080C689011D8080C6AAD1128200900028A +:1062900062C0251800C020190004900E080C6A2E58 +:1062A00011182009000600787884908A1000127076 +:1062B0008003800B810B9108080C8A7385291AE0F2 +:1062C000012E08043670012E080436A2012E08049F +:1062D00036A5080C4D7A090436A5080C695709043F +:1062E00036A2BAA02019000500C69066080C98D9FD +:1062F0000076903E080C97AC900E080CECE8007EFF +:1063000000CE080C6A1508043670080C4D7A090492 +:1063100036A5080C6A15220808043670015600D606 +:1063200000E62069191368106914910A1208900E8A +:1063300068169016901E20A9007E206910002D047A +:10634000905D0118B84C005992108D681F04399F58 +:106350002300921800EE00DE015E0804367000860D +:10636000904501400016900E8108A00090451DE068 +:106370002100001E008E000520691913691062BCFF +:106380000804367081FF012020090001080436A2AC +:10639000012620918000080C59730128200900076C +:1063A000012E080436A2012E615C919034712215F1 +:1063B000929400FF637C83FF0108628067DC97C4CE +:1063C000000A98C6000A11182031000100E897C49D +:1063D000002298C6002211182031000300A897C49B +:1063E000001298C600121118203100020068080C33 +:1063F00077FF1118203100040038D79C01202009B4 +:106400000005080436A290367E9A7F9E08043670F6 +:10641000614C625020191989231C2001198A20041B +:10642000789A080436700126209180006138623C19 +:106430006340012E08043670080C4D92090436A5FD +:10644000BA44BB3808043670080C0DCC080C4D92C9 +:106450002110090436A5B804908C00FF918E000627 +:1064600001409084FF00908606002009000919046D +:1064700036A20126209180002019000500C69066F2 +:10648000080CAEB9080C98D90076903E080C97AC71 +:10649000900E080CECE8007E00CEB8070407012E31 +:1064A00008043670614C62507884604E7B88635279 +:1064B0002069184A831F93056816788C206919890A +:1064C0002D1C206A7E98968200141210203107D06D +:1064D0002069198A2D04266A789A080436700126E4 +:1064E0002091800061387884603A910ED1B4190C03 +:1064F0000EC6D094014800E6207119FE79B491923D +:1065000007D01208713E00EED0C401A800D678A8CA +:10651000200919A0200A78AC201119A120122069A5 +:106520000100683890860007111822146A5A00107A +:10653000210C695A00DE7888D0EC01786034C08D77 +:106540006036200100506076607A6056606B24509F +:1065500000C620611AD4206200CE20110114220C42 +:106560007888D08C0118918D00800010918CFF7F6D +:106570002112603C7988613E6140910D788C6042C7 +:106580007A88929410009205910ED1E4190C0EDCD9 +:1065900090840020013078B4604690840001090C9A +:1065A00043A76040D0C401202009030F200B3471A1 +:1065B000D0CC012078B0201101142012012E080443 +:1065C000367000F6207918007A38A89C9084FEBFB7 +:1065D0009215A8A09084FEBF80029214783890840F +:1065E000014092157A3AA89B4000900E90850001D8 +:1065F0002001000000FE00057898900501A8788829 +:106600009025090436A5788C902D090436A5900EA6 +:10661000080C68901120BA44BB38BC46BD3A91863C +:1066200007FF019081080CA0080C4D92090436A5C3 +:106630007888900D090436A5788C9005090436A554 +:10664000BA44B946BB38B83A080436702011BC09C0 +:1066500000102011BC05080C5973190436A200C69D +:10666000206101007984918600FF11302001181803 +:1066700020049085FF0000889182007F16D89188C1 +:106680003471210D918C00FF200118182004002680 +:106690009116002E0578810F91050126209180002A +:1066A0000006080CB4E6000E0508602E620A798424 +:1066B00000B6080C68242B0800BE11F86112602394 +:1066C0000001080C4D6301C89006A86A700700031A +:1066D000A832A86F8000701F3B8029006016200937 +:1066E0000032080CB5B9012E00CE0005012E00CEF7 +:1066F000080436A200CE080436A5080CB53C0CB040 +:10670000A83090860100090436A208043670206182 +:106710001A770126209180006000D0840170610406 +:1067200062082061180063546074789A60C0789E93 +:1067300060BC78AA012E08043670900E21100C88D7 +:1067400081FF190436A2080C77FF090436A201263E +:10675000209180006254607492020248908500018A +:10676000080C2951080C5B91012E08043670012E8B +:10677000080436A50006001600C600E6200119AD83 +:1067800020702061184A60082072900E20111400B9 +:10679000080C95A7720600EE00CE001E000E000544 +:1067A00001262091800081FF0128012E2021400B2D +:1067B000080436727884D0FC01582001002A200495 +:1067C00090050180908200E10298012E080436A510 +:1067D0002001002A2004900501282069184A690830 +:1067E00091021230012E080436A5012E080436A2AB +:1067F000080CB4A60DD07884D0FC09043C4F00C628 +:10680000080C4D6300CE0D88A86B00007884A80AA0 +:106810007898A80E789CA8122001002E2004A81AAF +:106820002001002F2004A81E200100302004A822EF +:10683000200100312004A826200100342004A82AC9 +:10684000200100352004A82E2001002A2004908079 +:106850000003908400FC8004A816080C3DD509288C +:1068600070142048AD2CAC28AB1CAA18A930A8087D +:10687000D0B41120202900002021000089068006C4 +:10688000800790BC003F9084FFC09080001C080CE3 +:106890004DA8701F3D1270230001012E0005004617 +:1068A0000086009600A600B600C600D600E600F6F8 +:1068B000080C3BBA200119A3200300002021000A84 +:1068C000206101006104001660BB000060BF32E17E +:1068D00060BF0012080C3E44080C3E0300F600E6C0 +:1068E0000086294020711A6C2079009000D620691A +:1068F00000006884D0B40140200100352004780EE7 +:10690000200100342004780A00DE20110001080C68 +:1069100041EB008E00EE00FE080C410D080C401209 +:1069200005B82001020B2004908401401DB8080C1A +:10693000425F00F62079030078BC00FE908C007066 +:106940001560207102007037000070509084FF00C5 +:106950009086320015107037000170509084FF004F +:106960009086E10011D0703700007054703700003D +:10697000715C910611902001182020049106116885 +:1069800000C620610100602490841E0000CE013802 +:10699000080C401C080C3DFE0058080C3DFE080C7D +:1069A0004183080C41032001020B2004D0E40DD8E0 +:1069B0002001032A20030004206101006027000257 +:1069C000001E61062011020D2013002060BB000094 +:1069D00060BF010860BF001220010004200C918CF0 +:1069E000FFFD2102080C131B20090028080C246756 +:1069F00020010227200C210200FE00EE00DE00CE66 +:106A000000BE00AE009E008E004E200119A320049F +:106A100090051118012E08043670012E2021400C1B +:106A2000080436720016002600360046005600762E +:106A30000086009600D6015670142048702020A8C9 +:106A400080007022A804900509043D6E20481F04B0 +:106A50003D2270682040A290A394A498A59CA930E0 +:106A6000A808D0B4112020290000202100000096A1 +:106A700070142048A868009E908601030170890662 +:106A80008006800790BC003F9084FFC09080001C6F +:106A9000080C4DA8701F3D1200B0890680068007C3 +:106AA00090BC003F9084FFC09080001C21A827E08C +:106AB000209827E820A00006080C0F93000E080C71 +:106AC0004DAB701F3D12015E00DE009E008E007E09 +:106AD000005E004E003E002E001E0005701420488F +:106AE000A868908601031118701F3DD304507014DC +:106AF0002048A86CC0FDA86E2009007F080C681E05 +:106B0000011090060030B81300FFB817FFFD080C05 +:106B1000D8D1015E00DE009E008E007E005E004E39 +:106B2000003E002E001E090436A200160026003684 +:106B30000046005600760086009600D60156701F6B +:106B40003DA57007000308043D63A830908601004E +:106B50002021400C090436720076AD10AC0CAB2439 +:106B6000AA20A930A808D0B4112020290000202193 +:106B7000000089068006800790BC003F9084FFC01B +:106B80009080001C21A827E0209827E820A000067C +:106B9000080C0F93000E080C4DAB007E701F3D12C9 +:106BA00070230001000508043670015600C6A814C1 +:106BB000908A001E0218A833001E0010A832007828 +:106BC00081FF01680016080C4D63001E0130A8000B +:106BD0002040A008A80A21000C58900600109085BB +:106BE000000100CE015E0005000600F620790000DD +:106BF00078809086004400FE000E0005200119A355 +:106C000020030001000500F600E600C62061020036 +:106C1000200119AE2004601A20610100200119AD85 +:106C2000200460CE6104C1AC6106080C4D63A8135A +:106C3000001AA81700012900A85A2001002E2004DC +:106C4000A86A2001002F2004A86E206100902079FE +:106C50000100200119AD2004603620090040080C15 +:106C600024672001002A20049084FFF8A872601A8B +:106C7000A8770000601F000078CA9006600A600EC6 +:106C800000CE00EE00FE000500E6080C4D63294032 +:106C9000A013001AA01700012800A05A20010030FC +:106CA0002004A86A200100312004A86E2001002AD7 +:106CB00020049084FFF8A872A87700002001032A1E +:106CC0002003000420010300200300002001020D26 +:106CD0002003000020010004200C918D00022102FD +:106CE00000EE000501262091800081FF0148080C7C +:106CF0002CCE11309006080C2C269006080C2C097E +:106D0000200119A22003000078849084000700026B +:106D10003E933E9C3EA53E903E903E903E903E90DF +:106D2000012E080436A520090114210490850800CD +:106D3000200A080C406600C0200901142104908537 +:106D40004000200A080C40660078080C77FF1128E4 +:106D5000012E20090016080436A281FF0128012E09 +:106D60002021400B08043672200101412004D0DCB0 +:106D70000DB00086009600A600B600C600D600E65C +:106D800000F6080C3BBA20090101210C00167EC850 +:106D90007DCC9006206820602058080C433A080CEF +:106DA000428A903E272000F600E6008629402071A6 +:106DB0001A6C2079009000D6206900006884D0B455 +:106DC000012068D4780E68D0780A00DE2011000116 +:106DD000080C41EB080C2CD6080C2CD6080C2CD631 +:106DE000080C2CD6080C41EB008E00EE00FE080CBF +:106DF000410D20099C40810911B0080C401C200164 +:106E00000004200C918CFFFD2102001E00FE00EE0C +:106E100000DE00CE00BE00AE009E008E20090017EE +:106E2000080C36A20CF82001020B200490840140CB +:106E30001D1000F620790000788400FED0BC017897 +:106E400020010201200C81FF0150080C40EB2D00B5 +:106E50009C059B050120080C401C08043FC9080C38 +:106E6000425F080C4183080C40CE080C410300F639 +:106E7000207901007824D0AC01308B58080C401CDC +:106E800000FE08043FC900FE080C401211508D6836 +:106E9000200100322602200100332502080C401C8C +:106EA000008087FF013820010201200490051908A5 +:106EB0008739003820011A682004908600001904E0 +:106EC0003F192001032F200300F68631120885297F +:106ED0002500960509043FC97884D0BC01282D00FF +:106EE0009C059B0519043FC9A013001A2001032A21 +:106EF000200300047884D0AC114820011A682003D4 +:106F000000032001032A200300090030A01700011C +:106F100078B490050108A0162800A05A2009004066 +:106F2000080C24672900A85AA813001A7884D0A452 +:106F30001180A817000000C620A90004206100905D +:106F4000602B00082001020320041F043FA000CE94 +:106F50000030A817000178B090050108A81600F6C7 +:106F600000C62079010020610090782700022001EE +:106F7000002A20049084FFF8601A00062001002BEC +:106F80002004601E78C6000E78CA00CE00FE0804F9 +:106F90003ED3001E00C62001032A20030004206106 +:106FA00001006027000261062011020D201300205D +:106FB00020010004200C918CFFFD2102080C131B02 +:106FC0007884908400039086000201A020090028A4 +:106FD000080C246720010227200C210260509084B5 +:106FE000B7EF6052602F0000604BF7F760430090EE +:106FF0006043001000CE2D082C102B182B009C0590 +:107000009D0500FE00EE00DE00CE00BE00AE009E3C +:10701000008E1118012E08043670012E2021400C1C +:1070200008043672908500011D04401B2091600009 +:1070300084209486006400052001010520030010CF +:107040002001032A2003000420011A682003000005 +:10705000007120090048080C246720010227202421 +:10706000240220010109200340009026000500F6BB +:1070700000E620711A6C70009086000005202079CF +:10708000009020090206210420090203210C910628 +:10709000112020090040080C2467782CD0FC0D88B2 +:1070A000080C425F7000908600001D58782B000489 +:1070B000782CD0AC1DE820090040080C2467782B00 +:1070C00000027003000000EE00FE000500F62079CB +:1070D000010020011818200C79327936080C29316A +:1070E00078509084FBFF908500307852201901F48D +:1070F00083191DF09084FFCF90852000785220A93D +:1071000000461D044081209160001F04408178509A +:10711000908504009084DFFF785220010021200434 +:107120009084000390860001112078509084DFFF46 +:107130007852784BF7F7784300907843001020A9F5 +:107140000028A0011F0440A17850908514007852B7 +:10715000201961A87854A001A001D08C11108319C6 +:107160001DC87827004878509085040078527843ED +:107170000040201901F4A001A00183191DE02001A5 +:107180000100080C2DAE78270020784300009006FF +:10719000080C2DAE7827004800FE00057884D0AC9E +:1071A00011C800F600E620711A682079032020013A +:1071B00002012004900501607000908600001140DB +:1071C0000051D0BC0108873870030003782B0019E8 +:1071D00000EE00FE000500F62079030078BC00FEFA +:1071E000908C0070017820090032260A20090033B3 +:1071F000250AD0B401088C60D0AC01088D68D0A4F9 +:1072000001088B58000500F620790200781CD08414 +:1072100001107837005000FE000500E620710100E3 +:10722000200119AE200470E2080C3DF41188200101 +:10723000182020042009181F210C918C00FF706E6B +:10724000716A7066918D320071627073E10900801D +:10725000702C90850002702E20091818210C716E78 +:10726000706301007166719E706B00007073080995 +:1072700070770008707890800100707A70808000CC +:1072800070827087AAAA9006708A708E707E70D6FF +:1072900070AB003670AF95D57014908419849085CA +:1072A00000927016080C425F00F620711A6820796F +:1072B000032000D6206900006884D0B40120689CB7 +:1072C000780E6898780A00DE080C3DF40140200131 +:1072D00019A2200C20030001918E00010120200939 +:1072E00003E881091DF0792CD1FC0110782B0004F2 +:1072F00020110011080C41EB20110001080C41EB9A +:1073000000FE00EE000500F600E620711A68207904 +:107310000320792CD1FC090441E8782B0002902647 +:10732000D19C190441E47000000241E8419941C92F +:1073300041E4D1BC1170D1DC1190800170022011A8 +:107340000001080C41EB090441E8080C41EB08047A +:1073500041E800F62079030078BF000000FE7810B5 +:107360007914782B00047812791620010201200C80 +:1073700081FF0DE8080C40EB2009000100F62079A0 +:10738000030078B800FED0EC011020090011792A22 +:1073900000F880017002918408801140782CD0FCA4 +:1073A0001904418D2011000100B10090A0109092AD +:1073B0000004908600161120A000A05A201100326F +:1073C000A212D1DC19600828782B00047003000099 +:1073D00000EE00FE0005A014900505508001003667 +:1073E0000096A016A0582048A01020090032911A3B +:1073F000831C831C938A00071A0C0DCC93984219A6 +:10740000231D083F908000047A2A710081087102D0 +:10741000009E003E908A003611400096A0582048F9 +:10742000A804A05A2001001A009EA0129085000115 +:1074300000054256424D4244423B423242294220DC +:10744000A9687902A96C7906A9707912A9747916CC +:107450000005A9787902A97C7906A9807912A98406 +:1074600079160005A9887902A98C7906A990791264 +:10747000A99479160005A9987902A99C7906A9A072 +:107480007912A9A479160005A9A87902A9AC7906F0 +:10749000A9B07912A9B479160005A9B87902A9BCD6 +:1074A0007906A9C07912A9C479160005A9C879027C +:1074B000A9CC7906A9D07912A9D47916000500F6CD +:1074C00000E6008620711A6C20790090792CD1FC9E +:1074D00001E8782B000229409026700000024286C5 +:1074E0004272427D80017002D19C11802011000106 +:1074F000080C41EB190C41EB004880017002782C1C +:10750000D0FC1D3820110001080C41EB008E00EE6C +:1075100000FE000500F600E600C6008620610200BD +:10752000200119AE2004601A20610100200119AD6C +:10753000200460CE6104C1AC61062001002C20044F +:107540009005052020382001002E20242001002F46 +:10755000201C080C4D63A813001AAF162900A85A66 +:10756000978A000702202138200900070010270809 +:10757000903E0096A8582048A85C9080001A009E73 +:10758000080C43021D682900A85A00D0080C4D635E +:10759000A813001AA81700012900A85A2001002EDC +:1075A0002004A86A2001002F2004A86E2001002AD0 +:1075B00020049084FFF8A8722001002B2004A876F4 +:1075C0002061009020790100200119AD200460366F +:1075D00020090040080C24672001002A2004908420 +:1075E000FFF8601A00062001002B2004601E78C6F8 +:1075F000000E78CA9006600A600E008E00CE00EE83 +:1076000000FE000500E620710080AA6022E820A0AC +:1076100020E1000020990088702B00267402730678 +:107620009006700A700E810B810B21A8810B7112DC +:10763000702B0041702CD0FC0DE8702B0002702BD9 +:10764000004040057400730487FF01900086009697 +:1076500029400086080C4D63008EA05800A62050DB +:107660002900B006A05A00AE009E008E9085000151 +:1076700000EE000500E62001002D200490050528FD +:10768000203820010030202420010031201C080C6B +:107690004D632940A813001AAF162900A85A978AEB +:1076A0000007022021382009000700102708903E1B +:1076B0000096A8582048A85C9080001A009E080CEC +:1076C00043021D682900A85A00D8080C4D632940C0 +:1076D000A013001AA01700012800A05A20010030B2 +:1076E0002004A06A200100312004A06E2001002A9D +:1076F00020049084FFF8A0722001002B2004A076C3 +:107700002001032A200300047884D0AC11802001DA +:107710000101200C918D02002102A0170000200120 +:107720001A68200300032001032A20030009200116 +:107730000300200300002001020D200300002001AF +:107740000004200C918D0002210200EE00050126AC +:107750002091800020A9000A20A1184020E9000102 +:107760009006400420A9001420A1FFEC20E90000AD +:10777000900640042009013C200A012E7880908662 +:10778000005201080005080436707D987C9C0804AE +:107790003774080C77FF190C6279604090840020E0 +:1077A00009B12069184A2D00200900307A8C7B88A5 +:1077B0007C9C7D9820390001080C4DA8701F43E186 +:1077C0000005080C596E11303B003A08C194C09571 +:1077D00020D821D02069184A68009005090436A5F0 +:1077E0002001180D2004D08C68040118C0A4C0AC7E +:1077F0006806D0AC0118D0A4090436A5D09400C600 +:1078000020610100610401386200929200050218B3 +:10781000918CFFDF0010918D0020610600CED08C8E +:1078200000C62061010061040118918D0010001054 +:10783000918CFFEF610600CED08401586A28928AAD +:10784000007F1A0436A592883471210D918C00FFB7 +:107850006166D0DC01306828908A007F1A0436A562 +:10786000605E688890840030800480048004800416 +:107870000006200919B590802A2C2005200A000E48 +:10788000200919B690802A302005200A6808908ABD +:1078900001000A0436A5908A08411A0436A590848E +:1078A0000007190436A5680C9005090436A5681070 +:1078B0009005090436A568486940910A1A0436A55E +:1078C0008001090436A5684C6944910A1A0436A55A +:1078D0008001090436A520091984200B000020012D +:1078E000186C2004D0C401407884200A2008080CB9 +:1078F0000E5A3B00C08520D86814908C00FF614E62 +:107900008007908400FF6052080C7B2B080C6D5D93 +:10791000080C6DC76808602A080C23D9200901707B +:10792000200B0080A001A001200B000000366B0896 +:10793000080C298B003E6000908600001904458ADF +:107940006818691C6A206B248007810F8217831FC7 +:107950006016611A621E63226C04D4F40148683018 +:1079600069346A386B3C8007810F8217831F0010CF +:107970009084F0FF6006610A620E63128007810F37 +:107980008217831F20A9000420A119B720E9000154 +:10799000400120A9000420A119D120E900014001E3 +:1079A000080C8BD400C6900E20A900016B70D38404 +:1079B0000510006820090100210C918E00081110AB +:1079C000839D001083F53E1812B035088109080C1C +:1079D000813768786016687420089084FF008007FB +:1079E000600A918400FF600681081118600300039B +:1079F0000010600300011F0444DA00CE00C62061BD +:107A0000199F2001180D2004D08C11A86A88928437 +:107A1000C000201092860000115820630000200151 +:107A20000001080C2C2620010001080C2C090088FC +:107A3000928640001148206300019006080C2C2615 +:107A40009006080C2C090028928680001D302063C7 +:107A5000000200CE00E62C70080C0EAB00EE688829 +:107A6000D0EC013020110114220490850100201275 +:107A70006A80928400309086003011289294FFCF63 +:107A8000929500206A822001197F6A8092940030CA +:107A9000928E00000170928E00100118928E0020CC +:107AA00001402003AAAA080C2A0020011970210213 +:107AB0000008210200C620610100602F0040602FF5 +:107AC000000000CE080C77FF0128080C524F01106F +:107AD000080C295160D4900501C060030001200901 +:107AE000457200E0080C77FF11682011767B080CC6 +:107AF0008A652011766E080C8B89080C7AFF080CB9 +:107B0000772C0040080C61710028600300042009F4 +:107B1000458A0020080C6BBD0804367020010170F6 +:107B20002004908400FF9086004C1118209130BDF5 +:107B300008172091303D0817600090860000090466 +:107B400036A22069184A78906842789468462D00D9 +:107B5000200900307A8C7B887C9C7D98203900013C +:107B600008044DAB9006080C295181FF190436A278 +:107B7000080C77FF11B0080C7AFA080C62B4080CF4 +:107B8000346501186130C18D6132080CDB0C0130A5 +:107B9000080C78221118080C77D70038080C772CBD +:107BA0000020080C6279080C61710804367081FFAE +:107BB000190436A2080C77FF1110080436A201261A +:107BC00020918000619481FF0190704F000020019E +:107BD0001C80200900407A8C7B887C9C7D98203911 +:107BE0000001080C4DAB701F366E012E0005704F62 +:107BF000000100D620691C8020A9004020E9000176 +:107C000020A11C802019FFFF4304655C9588347116 +:107C1000210D918C00FF216A900E2011000221009D +:107C2000950601A8080C68901190B814821C0238BF +:107C300093981C809085FF008007201A0038939845 +:107C40001C80232494A4FF009405201A821081082C +:107C50009182008012080C18820180072D0C91057A +:107C6000206A00DE20A9004020A11C8020991C80F1 +:107C7000080C6204080445E7080C4D92090436A577 +:107C8000080C4D63112020090002080436A2080CDC +:107C9000595FD0B405587884908E007E0538908E58 +:107CA000007F0520908E00800508080C3460114884 +:107CB000B800D08C11D8B804908400FF90860006DC +:107CC00011A8A86B0000A86CC0FDA86E080CD5D246 +:107CD000112020090003080436A270070003701F5A +:107CE00046720005080C4D92090436A520A9002B08 +:107CF000B8C420E0B8C82098A86020E8A85C9080AC +:107D0000000220A0400320A900089080000620A0C7 +:107D1000B8C420E0B8C8908000062098080C0F93E3 +:107D2000007020A90004A85C9080000A20A0B8C4BC +:107D300020E0B8C89080000A2098080C0F938906AC +:107D40008006800790BC003F9084FFC090800002B6 +:107D50002009002B7A8C7B887C9C7D9808044DAB95 +:107D600081FF190436A2080C4D7A090436A5080CC7 +:107D70006A24090436A20058A87C90050120200935 +:107D80000004080436A2A978AA9808043670080CE2 +:107D9000596709043670701F46BC70070003000560 +:107DA00081FF190436A27888908A10001A0436A53B +:107DB000080C4D92090436A5080C6C5B0120080CD8 +:107DC0006C63190436A5080C6AAD090436A22019A3 +:107DD0000004900E080C6A2E090436A279847A8871 +:107DE00004C908A8A8A0908A100012F8080C4D90A9 +:107DF00001E0080C6C5B0118080C6C6311B0080CF6 +:107E00006AAD20090002016820090002201900045F +:107E1000080C6A2E200900030120A99CAAA000D109 +:107E20000060A89B4005A99E0010A89B4006900EEC +:107E300090850001200100300005A89B4000080C3F +:107E40005967011090060018900E908500012001DE +:107E500000000005918600FF0110007100602029DC +:107E6000007E20611800645C24009506011025083E +:107E7000001985291EC80005080C689011382200D9 +:107E80008003800B810B9108080C8A73000581FF29 +:107E9000190436A2798C20011983918C800021026B +:107EA000080C4D7A090436A5080C6C5B0120080CFF +:107EB0006C63190436A5080C6957090436A2080C2E +:107EC0006A29090436A2200119832004D0FC190470 +:107ED0003670080446C7A9A420011983918C80003C +:107EE000C18D2102080C4D8501A0080C6C5B0118A6 +:107EF000080C6C631170080C6957200900020128F6 +:107F0000080C6A29117020090003A89B4005A99E4E +:107F10000010A89B4006900E9085000120010030C3 +:107F20000005A89B4000200119832004D0FC1128E3 +:107F3000080C5967011090060018900E90850001FA +:107F400020010000000581FF190436A2798C200170 +:107F50001982918C80002102080C4D7A090436A503 +:107F6000080C6C5B0120080C6C63190436A5080C26 +:107F70006957090436A2080C6A1F090436A22001B9 +:107F800019822004D0FC19043670080446C7A9A43D +:107F900020011982918C8000C18D2102080C4D8531 +:107FA00001A0080C6C5B0118080C6C631170080CC4 +:107FB0006957200900020128080C6A1F1170200966 +:107FC0000003A89B4005A99E0010A89B4006900EA8 +:107FD00090850001200100300005A89B4000200191 +:107FE00019822004D0FC1128080C59670110900652 +:107FF0000018900E9085000120010000000561002E +:1080000008043670080C4D92090436A5080C597303 +:10801000190436A279A8D1841158B8348007789E03 +:10802000B8308007789ABB2C831FBA28821700507B +:10803000B8248007789EB8208007789ABB1C831FDD +:10804000BA188217B900918C02020804367078A819 +:10805000909C0003D0AC1158D0B41148939A0003FF +:108060001A0436A2625C7884920619044894080CBB +:108070008BBE2001FFEC2009000C7A8C7B887C9C55 +:108080007D9820390000000678A89084008015B8FB +:108090000006003620011A86201C7B9A200300006F +:1080A00020011A87201C7B9E2003000020011A88D3 +:1080B000201C7BAE2003000020011A82201C7BAA1A +:1080C0002003000020011A89201C7BB2200300003D +:1080D000003E000E01262091800000362001184746 +:1080E000201C7BB62003000020011848201C7BBA0E +:1080F00020030000003E012E000E08044DAB000ED0 +:1081000020310000206118BB2C44A66EA17EA7760A +:10811000A07AA292A396A49AA59E080C11147007A7 +:108120000002701F48B4000581FF190436A2080C34 +:108130004D92090436A5080C6C5B190436A200C6E2 +:10814000080C4D6300CE090436A2A86B0000A86C91 +:10815000C0FDA86E7EA8080CD578090436A2700769 +:108160000003701F48EE00050126209180000006E4 +:10817000003620011847201C7BB620030000200198 +:108180001848201C7BBA20030000003E000E012E80 +:10819000080C43A70006003620011A86201C7B9A93 +:1081A0002003000020011A87201C7B9E2003000072 +:1081B00020011A88201C7BAE2003000020011A82B7 +:1081C000201C7BAA2003000020011A89201C7BB2FE +:1081D00020030000003E000E08043670A830908690 +:1081E0000100090436A289068006800790BC003F82 +:1081F0009084FFC09080001C2009000C7A8C7B8842 +:108200007C9C7D9808044DABA8B4909C0003D0AC36 +:108210001150D0B41140939A00031A044951625C82 +:10822000A89C920611B0080C8BBE2001FFEC20091F +:10823000000CAAA4ABA0ACACADA820310000203942 +:10824000000020411270080CBAB415282009000261 +:108250000420A99C080C689001182009000A040851 +:10826000080C6C5B2009000911C00096080C101660 +:108270001120009E2009000200802900009EA8060F +:10828000A86CC0FCA86EAEB496B4000B080CD578F0 +:1082900020090003011090060005A89B4005A99E37 +:1082A0000010A89B4006900E908500012001003030 +:1082B0000005A87F0000A8870000A89B40000126B9 +:1082C000209180000006003620011847201CABC218 +:1082D0002003000020011848201CABC6200300002A +:1082E000003E000E012EA8B4D0BC01B8012620919A +:1082F000800020A9000A20A1184020E90001900672 +:10830000400420A9001420A1FFEC20E90000900601 +:1083100040042009013C200A012E000600362001FD +:108320001A86201CABAA2003000020011A87201CFB +:10833000ABAE2003000020011A88201C6BBA20037A +:10834000000020011A82201CABB62003000020018F +:108350001A89201CABBE20030000003E000E000561 +:108360009006080C295178A8908400FF908600FFA1 +:10837000011881FF190436A2080C77FF190C6279E5 +:108380007888908A10001A0436A57984918600FFB7 +:1083900001389182007F1A0436A52100080C291BA0 +:1083A000002600C6012620918000206119FE601B76 +:1083B0000000601F0000607B0000607F0000080C70 +:1083C00077FF1158080C7AFA080C62B49085000106 +:1083D000080C7843080C772C00D0080CB4AD206151 +:1083E0000100200118182004908400FF810F9105DE +:1083F000604A60430090604300102009199C200BE4 +:1084000000002009002D2011619D080C8B47798404 +:10841000080C77FF1110200900FF7A88080C472A02 +:10842000012E00CE002E080436707984080C681ED8 +:108430002B08190436A50804367081FF0120200995 +:108440000001080436A260DCD0AC1130D09C1120B1 +:1084500020090005080436A2080C4D6311202009EC +:108460000002080436A2798481FF090436A591929E +:1084700000211A0436A57A8C7B887C9C7D98A85CA8 +:108480009080001A702AAF607736080C4DA8701FD4 +:108490004A5078809086006E0110701F54010005CC +:1084A00020090080080C68901118080C6C5B0120F2 +:1084B0002021400A0804367200D60096A968AA70E6 +:1084C000AB74AC78AD7CAE80A88890BE0100090486 +:1084D0004AE990BE011209044AE990BE0113090459 +:1084E0004AE990BE011409044AE990BE0117090443 +:1084F0004AE990BE011A09044AE990BE011C090428 +:108500004AE990BE012109044AD090BE0131090414 +:108510004AD090BE017109044AE990BE0173090472 +:108520004AE990BE01A11128A8988007A89A0804DA +:108530004AF490BE021209044ADD90BE021305E817 +:1085400090BE0214050090BE0217018890BE021A68 +:108550001120A8A08007A8A204E090BE021F05C8B1 +:1085600090BE030005B0009E00DE080436A570280A +:1085700090800010209820A0703420E020E820A9EE +:108580000007080C4B3270289080000E209820A025 +:10859000703420E020E820A90001080C4B3200C80C +:1085A00070289080000C209820A0703420E020E8F3 +:1085B00020A90001080C4B3F00B870289080000EE5 +:1085C000209820A0703420E020E820A90001080CA9 +:1085D0004B3F70289080000C209820A0703420E041 +:1085E00020E820A9000104F100C6080C4D630550E5 +:1085F000A86CC0FDA86EA86B01199006A886A88378 +:108600000020A88F0001810BA9B2A8B6AABAABBE00 +:10861000ACC2ADC6A9CAA8CE00CE009E00DEA86A34 +:10862000A822A86CC0FDA86EA8042048080CD59309 +:10863000112020090003080436A270070003701FF0 +:108640004B29000500CE009E00DE20090002080430 +:1086500036A2A820908680011904367020090004F3 +:10866000080436A200160026351020A90002400298 +:108670004104400482111DC8002E001E0005001692 +:10868000002600360046352020A90004400243049D +:1086900042044104400484211DB8004E003E002ED7 +:1086A000001E000581FF012020090001080436A2F8 +:1086B00060DCD0AC11882009180D210CD18C013060 +:1086C000D09C012020090016080436A2D09C11205D +:1086D00020090005080436A2798478A82040080CF7 +:1086E000B4A611209182007F0A0436A5918600FF6E +:1086F000090436A5918208001A0436A57A8C7B8875 +:10870000607C930611586080924E090436A5080CCF +:10871000B4A6112099CCFF00090436A501262091AA +:1087200080002001180D2004D08C0198938600FF52 +:108730000180002620118008080C6C96002E01484C +:10874000918D8000080C6CE0112020014009080484 +:108750004BE9080C4C7609044BEF008690C64000AC +:10876000008E150000C600060036B818BB1C930525 +:10877000BB209305BB249305BB289305BB2C930515 +:10878000BB309305BB349305003E0538D88C1128C7 +:10879000080C6C5B0110C89D0400080C6AE2000E16 +:1087A00000CE00B890C6400711102408009090C673 +:1087B0004008111827082610006090C640091108CB +:1087C000004090C640061108002020014005200905 +:1087D000000A2020012E08043672000E00CE2B0065 +:1087E0007026001600B600C600E62C70080CB58C8A +:1087F00009044C442B006012080CD87E2E5800EE61 +:1088000000E600C6080C4D6300CE2B701158080C12 +:10881000B53C00EE00CE00BE001E012E2009000275 +:10882000080436A2900EA96AA96E29006016A93222 +:10883000A86CC0FDD88C0108C0F5A86ED89C11109A +:10884000080C330B602300019006080C67BBD89C12 +:10885000013820010004080C67CF20090003003014 +:1088600020010002080C67CF20090002080CB5B9EE +:1088700078A8D094013800EE702400E62058B8CCD7 +:10888000C08DB8CE9085000100EE00CE00BE001E67 +:10889000012E112020090003080436A270070003EE +:1088A000701F4C530005A8302009180D210CD18CE5 +:1088B00001402008918EDEAD1120202140090804DE +:1088C0003672908601007024205811382009000467 +:1088D000BA04929400FF080458AF900EA86CD0F42C +:1088E00019043670080C6AE20804367000E600D6F7 +:1088F000009683FF09044CC5902E080CB4A60130E5 +:10890000902620A908002071100000302021007F4F +:1089100020A907812071107F2E04900511B8210035 +:10892000940619044CD6242894CE007F112092CEB0 +:10893000FFFD1558003094CE0080113092CEFFFC20 +:10894000152093CE00FF1508C5FD04802058BF10E8 +:108950002700930611E8BE142600920611C82400D1 +:1089600091061180D8840598D8941588080C6BFB63 +:108970001570200140000460080C6C5B154020015C +:108980004000043020014007041820014006040084 +:10899000240091061158BE1487FF112886FF09187C +:1089A000080CB4A6190020014008009084208E70A5 +:1089B0001F044C8C85FF1130200140090048200124 +:1089C00000010030080C681E1DD0BB12BA169006BC +:1089D0009005009E00DE00EE000581FF01202009C9 +:1089E0000001080436A2080C4D6311202009000282 +:1089F000080436A2A86B0000A86CC0FDA86E78849D +:108A00009005090436A5909600FF0120909200047D +:108A10001A0436A520102918080C32AC11202009A0 +:108A20000003080436A270070003701F4D180005EC +:108A3000A83090860100190436702009000408044B +:108A400036A27984080CB4A611209182007F0A0412 +:108A500036A5918600FF090436A5918208001A0404 +:108A600036A520019400080C590A190436A20804FE +:108A70003670A99C080CB4A611189182007F028060 +:108A8000918600FF01689182080012502001940035 +:108A9000080C590A11A80060A89B4005A99E001067 +:108AA000A89B4006900E9085000120010030000533 +:108AB000A89B4000900E9085000120010000000559 +:108AC0002009000A0C48080C101601989006A8020C +:108AD00070149005112029007016701A004070184B +:108AE000A802008620402900A006701A008E9085FA +:108AF000000100057984080C689011207E88968218 +:108B000040000208905E8BFF0005A99C080C68904D +:108B10001120AEA0968240000208905E8BFF0005F7 +:108B2000AE9C00087E842608080C68901108000896 +:108B3000905E8BFF00050016711481FF012821480B +:108B4000A904080C10480CC87116711A001E000503 +:108B500020310001001020310000206118BB2C449E +:108B6000A66EA17EA776A07AA292A396A49AA59EAD +:108B7000080C111470070002701F3670000500F613 +:108B800001262091800020790000200118B32004E4 +:108B9000900511900E044DDC7A36783300127A82FB +:108BA0007B867C8A20914080200100892004D0842B +:108BB000190C11C608044E4200160086009600C625 +:108BC00000E6207118A1704490051540714891820B +:108BD0000010028870382060080C101609044E3A04 +:108BE000A84B00002900704620010002908021253A +:108BF0002005A8460098703890E00004200118BDB8 +:108C00009C8218FD0210206118BD2C00703A71483A +:108C100081FF1108703E8108714A04607148810823 +:108C2000714A70442040A14421050016908A003703 +:108C30001A0C0DCC2060001E810821059005A1466C +:108C40001520080C101611308109A94671488109B8 +:108C5000714A00D89006A806A84AA0462800A80293 +:108C60002900A006704620010002908021252005E1 +:108C7000A846005822626306640A00EE00CE009EF9 +:108C8000008E001E012E00FE00052C009082001CAC +:108C900000024E644E644E664E644E644E644E6AEC +:108CA0004E644E644E644E6E4E644E644E644E721C +:108CB0004E644E644E644E764E644E644E644E7AFC +:108CC0004E644E644E644E7F080C0DCCA27AA37E97 +:108CD000A4820898A28AA38EA4920878A29AA39E3E +:108CE000A4A20858A2AAA3AEA4B20838A2BAA3BEEE +:108CF000A4C20818A2CAA3CEA4D208044E3DA2DA88 +:108D0000A3DEA4E208044E3D00E6207118A17048DD +:108D1000900509044F160126209180000E044F157E +:108D200000F62079000000C60096008600769006C6 +:108D300020387040204890050500A94821050016FC +:108D4000908A00371A0C0DCC2060001E8108210586 +:108D50009005A94A19044F18A8049005090C0DCCD8 +:108D6000704229382040A0030000200100029080BA +:108D700021252005A04A08044F18703C20602C14BF +:108D800063046408650C2200783678330012788218 +:108D9000230078862400788A209140802001008971 +:108DA0002004D084190C11C687FF01182748080C2D +:108DB000104870488001704A90051170704020483A +:108DC00090050128080C1048900670427046703BD0 +:108DD00018BD703F18BD042070409005150872380A +:108DE0002C00920601489C80000490FA18FD0210A5 +:108DF000200118BD703E00A09006703E703A70448D +:108E00009005090C0DCC2048A80090051DE0290014 +:108E1000704220010002908021252005A84A000010 +:108E2000007E008E009E00CE00FE012E00EE0005AA +:108E30002C009082001C00024F374F374F394F37BC +:108E40004F374F374F3E4F374F374F374F434F37DF +:108E50004F374F374F484F374F374F374F4D4F37BB +:108E60004F374F374F524F374F374F374F57080C09 +:108E70000DCCAA78AB7CAC8008044EC3AA88AB8C1E +:108E8000AC9008044EC3AA98AB9CACA008044EC397 +:108E9000AAA8ABACACB008044EC3AAB8ABBCACC07B +:108EA00008044EC3AAC8ABCCACD008044EC3AAD8A1 +:108EB000ABDCACE008044EC300160026003600B65A +:108EC00000C62009007E080C689020190001B85CDB +:108ED000D0AC0110201900002011801B080C4DBFE0 +:108EE00000CE00BE003E002E001E00050026080C2D +:108EF000595FD0C4012020118014080C4DBF002EF2 +:108F0000000581FF190436A20126209180006030FF +:108F1000C08DC085C0AC6032080C77FF1158080CBA +:108F20007AFA080C62B490850001080C7843080CAA +:108F3000772C0010080C6171012E0804367081FF37 +:108F4000012020090001080436A2080C59730120F1 +:108F500020090007080436A2080C6C5301202009E0 +:108F60000008080436A22001180D2004D08C0178D6 +:108F7000002620110010080C6C96002E0140798408 +:108F8000080C6CE0112020094009080436A27984FD +:108F9000080C681E190436A5080C4D92090436A564 +:108FA0002B007026080C6C5B7888113890840005C3 +:108FB0001120080C6AE208043670080C4D6309049D +:108FC00036A29006A86AA832A86CC0FDA86E080C4C +:108FD000D631090436A27888D0940118B8CCC08D57 +:108FE000B8CE70070003701F5056000520611800AE +:108FF000080C5973200900071528080C6C53011838 +:109000002009000800F8A99C080C681E11F8080C3B +:109010004D9001E0080C6C5BA8A011309084000515 +:109020001118080C6AE200D0A86CC0FCA86E080CED +:10903000D63111E8A8A0D0940118B8CCC08DB8CE14 +:1090400020090003A89B4005A99E0010A89B40068C +:10905000900E90850001200100300005A89B400083 +:10906000A99E00399006918D000120080005900608 +:10907000000520A90004A86020E8A85C90800032C8 +:1090800020A0B8C420E0B8C8908000062098080C42 +:109090000F9320A90004A85C9080003620A0B8C8D7 +:1090A0009080000A2098080C0F930005A830200932 +:1090B000180D210CD18C01402008918EDEAD1120BD +:1090C000202140090804367290860100702420583F +:1090D0001110080458AF080C6AE208043670080C36 +:1090E0005973012020090007080436A27F847A8C76 +:1090F0007B887C9C7D98080C4D6311202009000220 +:10910000080436A2900E213071267132A86020E842 +:109110007036A85C90800005702A20A0080C68902A +:1091200019045105080C6C5B0138080C6C630120B4 +:10913000080C6BFB19045105D7941110D78401A8B2 +:10914000B8C420E0B8C89080000620983400D794B6 +:10915000019820A900084003209820A03D0020E0AD +:1091600020A90002080C4B3F0080B8C420E0B8C81A +:109170009080000A2098340020A900044003209821 +:1091800020A03D0020E0080C4B3F9186007E01703E +:10919000918600800158080C6C5B90C2000612108A +:1091A000C1FD0020080C6ADF1108C1FD4104C1FCAB +:1091B000D7940528B8C420E0B8C820609C8000007F +:1091C000209820A9000240039C800003209820A939 +:1091D000000140059C8000042098340020A9000272 +:1091E0004003209820A03D0020E0080C4B329C80DA +:1091F00000262098B8C420E020A900024003D7949C +:10920000011096B0000B96B000058108080CB4A6BA +:109210000118918608000040D78C01209186080033 +:10922000017000189186007E0150D794011896862F +:10923000002000109686002801500804508E86FFFA +:1092400011207124810B08043670703300017122E3 +:10925000702496007026772E206118BB2C44A06FD6 +:109260000000A67E7034A0767028A07AA292A39601 +:10927000A49AA59E080C111470070002701F51419A +:1092800000057030900511807120702820A0772C87 +:109290009036703420E8206118BB2C44A290A3942F +:1092A000A498A59C0804508E7124810B0804367084 +:1092B0002029007E79847A887B8C7C989184FF00B9 +:1092C000800790E200200A0436A595020A0436A51C +:1092D000918400FF90E200200A0436A595020A045A +:1092E00036A59284FF00800790E200200A0436A58C +:1092F00095020A0436A5928400FF90E200200A0439 +:1093000036A595020A0436A59384FF00800790E2F3 +:1093100000200A0436A595020A0436A5938400FFAE +:1093200090E200200A0436A595020A0436A594842A +:10933000FF00800790E200200A0436A595020A0487 +:1093400036A5948400FF90E200200A0436A5950219 +:109350000A0436A52061198C61026206630A640E54 +:1093600008043670080C4D63090436A22009001663 +:109370007A8C7B887C9C7D98A85C9080001AAF607A +:10938000080C4DA8701F51C5000520A90016896E54 +:109390008D6E8D6F9D84FFC09080001A20989D84F3 +:1093A000003F20E02069187A20E900012DA0400349 +:1093B000680090050904522C68042008918CFFF87D +:1093C0001904522C680C90050904522C9082FF015C +:1093D0001A04522C68109082005C06F06824200861 +:1093E0009082000806C89182040016B00056202919 +:1093F0000000080C90E1005E69446820910206605C +:10940000682090820019164068286944810C9102F6 +:10941000061868409082000F12F8080C102F2900DF +:109420000590684E00E62071193400B620590000FE +:10943000080C8F9F00BE00EE01E8080C8CF6080CAB +:109440008D4511606857000000C66B1020611A68D6 +:10945000630A00CE08043670080436A5080C8D3E59 +:1094600000E620711934080C9160080C916C080C0E +:109470008F8400EE2001188D204C080C104820012C +:10948000188D20030000080436A2012620918000D8 +:10949000080C9519080C8D3E012E08043670000644 +:1094A000080C595FD0CC000E00050006080C59636B +:1094B000D0BC000E000561747A84630082FF11182D +:1094C00079860804367083FF190436A52001FFF061 +:1094D00092001A0436A52019FFFF607893029200CB +:1094E0000A0436A57986627608043670080C59732A +:1094F000190436A27C887D847E987F8C080C4D638D +:10950000090436A2900E901E73267332A86020E8DC +:109510007036A85C90800003702A20A091D81000BB +:109520002B5C8BFF0178080C6C5B0118080C6C63DA +:10953000114820A90001B8144004B81040044104A7 +:109540009398000381089182080001209386003CD3 +:1095500001700C2083FF11487224900E200100033B +:10956000080C95A722080804367070330001712298 +:10957000702493007026206118BB2C44A06F00005B +:10958000A37E7028A07A7034A076A492A596A69A9D +:10959000A79E080C111470070002701F52D000051E +:1095A0007030900511787120702820A0901E7034C2 +:1095B00020E8206118BB2C44A490A594A698A79CF1 +:1095C0000804528E7224900E20010003080C95A707 +:1095D00022080804367000F600E6080C59732009CA +:1095E000000719045364207118A1745C84FF2009DA +:1095F000000E19045364ACA0AD9CAEA8AFA40096B5 +:10960000080C102F20090002090453632900705E22 +:10961000900E901E73567362A8607066A85C90806E +:109620000003705A20A091D810002B5C8BFF0178AA +:10963000080C6C5B0118080C6C631148B81420A965 +:1096400000014004B81040044104939800038108CD +:109650009182080001209386003C01E80C2083FFE2 +:1096600011C07254900E20010003080C95A7220827 +:10967000009EA89B4000A99E715C81FF090C0DCC47 +:109680002148080C10489006705E918D000120085A +:109690000418706300017152705493007056206179 +:1096A00018BC2C44A37E7058A07A7064A076A49253 +:1096B000A596A69AA79EA0A3536F000EA0A6080C7D +:1096C000111490060048009EA89B4005A99E900E8C +:1096D000908500012001003000EE00FE000500F63C +:1096E000A0A4904D090C0DCC00E6207118A1A0702B +:1096F000908E01000138A87F0030A8870000A89B49 +:10970000400200D87060900511587150705820A028 +:10971000901E706420E8A490A594A698A79C0428A5 +:10972000A87F0000A8870000A89B40007254900EFC +:1097300020010003080C95A7AA9E715C81FF090C0B +:109740000DCC2148080C1048705F0000A0A42048F0 +:10975000012620918000080C706E012EA0A300004D +:10976000A0A7000000EE00FE000591D810002B5CC1 +:109770008BFF0178080C6C5B0118080C6C631148B6 +:10978000B81420A900014004B81040044104939883 +:10979000000381089182080001209386003C05188F +:1097A0000C2083FF11F07154810CA99EA89B4000EE +:1097B000715C81FF090C0DCC2148080C1048900603 +:1097C000705E918D00012008A0A420480126209100 +:1097D0008000080C706E012EA0A30000A0A700005E +:1097E0000070706300017152705493007056A37E34 +:1097F000A492A596A69AA79E080C1114900600EEB6 +:1098000000050096A89090BE7000014890BE7100BF +:10981000013090BE72000118009E080436A5A88889 +:10982000A98C080C28E81518080C681E150071266C +:10983000BE12BD16AE80080C4D6301F0080C4D63DE +:1098400001D8009EA86B0000A86CC0FDA86EA823DC +:109850000000A8042048080CD5B3112020090003FB +:10986000080436A270070003701F543D0005009ED7 +:1098700020090002080436A20CD07124080C340719 +:10988000A82090868001112020090004080436A237 +:1098900029007022A80400962048890680068007C7 +:1098A00090BC003F9084FFC0009E90800002007634 +:1098B0000006209820A027E027E820A9002A080C0D +:1098C0000F93AA70AB74AC78AD7C206118BB2C44AC +:1098D000A06F0000AE68AF9097C67000011897C6E1 +:1098E0007100114896C20004060020090004000E11 +:1098F000007E08044DAB97C6720011B896C20054A2 +:1099000002A0000E007E206118BB2C44A07AA7762E +:10991000A07F002AA292A396A49AA59E080C1114D7 +:1099200070070002701F54990005000E007E0804A5 +:1099300036A570202048A8042048A804204889069D +:109940008006800790BC003F9084FFC0908000029A +:10995000209820A027E027E820A9002A080C0F93D0 +:1099600021002238206118BB2C44A290A394A49813 +:10997000A59C2009002A08044DAB81FF190436A2DA +:10998000798C20011981918C80002102080C4D7A7C +:10999000090436A5080C6C5B0120080C6C631904E3 +:1099A00036A5080C6957090436A2012620918000CB +:1099B000080C6A33012E090436A220011981200403 +:1099C000D0FC19043670080446C7A9A420011981E7 +:1099D000918C8000C18D2102080C4D8501A0080CDE +:1099E0006C5B0118080C6C631170080C6957200936 +:1099F00000020128080C6A33117020090003A89B9B +:109A00004005A99E0010A89B4006900E908500017D +:109A1000200100300005A89B40002001198120048E +:109A2000D0FC1128080C5967011090060018900E00 +:109A30009085000120010000000578A8D08C111845 +:109A4000D0840904463C080C4D92090436A5080C44 +:109A50004D63112020090002080436A2080C6C5B3B +:109A60000130908E00040118908E000515A078A892 +:109A7000D08C0120B800C08CB8020028080C595FB7 +:109A8000D0B4090446767884908E007E0904467628 +:109A9000908E007F09044676908E008009044676F9 +:109AA000B800D08C19044676A86B0000A86CC0FDE5 +:109AB000A86E080CD5D2112020090003080436A294 +:109AC00070070003701F55650005080C4D920904CE +:109AD00036A508044676080C346001080005200904 +:109AE0001834210C81FF012020090001080436A24E +:109AF000080C5973012020090007080436A2080C3D +:109B00006C53012020090008080436A2B89CD0A498 +:109B10001118D0AC190446769006A86AA832A86C31 +:109B2000C0FDA86E080CD6311120200900030804DE +:109B300036A270070003701F559E0005A83090865E +:109B40000100112020090004080458AF080C4D92B0 +:109B5000090436A50804553781FF200900011904BE +:109B600036A2080C597320090007190436A2080C04 +:109B70006C53012020090008080436A2080C4D92FD +:109B8000090436A5080C6C5B20090009190436A2EB +:109B9000080C4D6320090002090436A29006A86A49 +:109BA000A832A86CC0FDA86E7988A95A9194FD00CE +:109BB000918C00FF900682FF1128C0EDA952798C8C +:109BC000A9560038928E0100190436A5C0E5A952A5 +:109BD000A956A83E080CD87F20090003090436A224 +:109BE00070070003701F55F50005A830908601002E +:109BF00020090004090436A2080436707AA8928469 +:109C0000C0000148D2EC01A0080C5973118820094A +:109C10000014080436A2D2DC157881FF2009000167 +:109C2000190436A2080C597320090007190436A23A +:109C3000D2F4013892845000C0D5080C593508047C +:109C40003670D2FC0160080C4D92090436A5798467 +:109C500092849000C0D5080C590A08043670080C8C +:109C60004D92090436A5B804908400FF9086000642 +:109C700020090009190456E4080C4D63200900026C +:109C8000090456E4A85C9080001CAF60200900081D +:109C90007A8C7B887C9C7D98080C4DA8701F56514F +:109CA0000005A870908605001138A8749005112051 +:109CB000A8789084FF000110190436A5A86AA8327C +:109CC000A86CC0FDA86E080C4D921110080436A5B2 +:109CD00020090043080CD8EB20090003090456E4CE +:109CE00070070003701F56750005A83090860100AC +:109CF00020090004090456E479847AA892841000AB +:109D0000C0D5080C590A0804367000C6AAB492845B +:109D1000C0000148D2EC0170080C59731158200999 +:109D20000014080456D320611800080C5973200948 +:109D3000000715C8D2F4013092845000C0D5080C39 +:109D400059350058D2FC0180080C4D900590A99C13 +:109D500092849000C0D5080C590AA87F0000A887FB +:109D60000000A89B40000438080C4D900510080C1A +:109D70006C5B2009000911B8A8C89086050011C8BD +:109D8000A8CC900511B0A8D09084FF001190080CC9 +:109D90004D90110800702009004B080CD8EB2009E9 +:109DA000000301080078043119C0A89B4005A99E52 +:109DB0000010A89B4006900E908500012001003005 +:109DC00000CE000590060CE07AA8D2DC090436A289 +:109DD0000016798492841000C0FD080C590A001EF8 +:109DE000190436A20804367000F62D78AAB40021B2 +:109DF00000FE0005AAB4C2D5D2DC01500016A99C11 +:109E000092841400C0FD080C590A001E90850001C0 +:109E1000000581FF012020090001080436A2080C7A +:109E20005973012020090007080436A279847EA80E +:109E300096B400FF080C6890190436A59186007F3F +:109E40000138080C6C5B012020090009080436A2C7 +:109E5000080C4D63112020090002080436A2A86BEB +:109E60000000A86CC0FDA86E200101008007A80AB0 +:109E7000080CD5EC112020090003080436A2700755 +:109E80000003701F57440005A80880079086010052 +:109E9000112020090004080436A2A8E4A86AA8102A +:109EA0008007908400FF800CA8148007908400FF36 +:109EB000800490800002910889068006800790BC8B +:109EC000003F9084FFC0908000047A8C7B887C9C4B +:109ED0007D9808044DAB080C4D6311202009000249 +:109EE000080436A279849194FF00918C00FF8217B8 +:109EF00082FF1118702319B7004092C60001111893 +:109F0000702319D10010080436A52009001A7A8C94 +:109F10007B887C9C7D98A85C9080001AAF60080CC0 +:109F20004DA8701F579400052001182E2003000132 +:109F3000A85C9080001A2098A86020E020A9001A50 +:109F4000702020A020E90001400308043670080CAE +:109F50004D63112020090002080436A279849194EF +:109F6000FF00918C00FF821782FF1118209919B70A +:109F7000004092C600011118209919D10010080460 +:109F800036A5A85C9080001A20A0A86020E820A92F +:109F9000001A20E1000140032009001A7A8C7B8816 +:109FA0007C9C7D98A85C9080001AAF6008044DAB43 +:109FB0007884908A10001A0436A50126209180002A +:109FC0008003800B810B910800C6206119FE614A55 +:109FD00000CE012E0804367000C6080C77FF116011 +:109FE000080C7AFA080C62B490850001080C7843DA +:109FF000080C772C080C0DCC206118006030C09D37 +:10A000006032080C617100CE0005200118002004A8 +:10A01000908E0000090436A200C678849005019055 +:10A0200078882061199F2C0C2062080C2CBE01A896 +:10A03000080C2CC60190080C2CCE0178216200CEB1 +:10A04000080436A5206101006038908600071118C9 +:10A050002009000100102009000078849086000289 +:10A060001568206101006028C09C602A002620112C +:10A070000003080CAD0C20110002080CAD16002ED8 +:10A08000080CAC200036901E080CAC96003E60E335 +:10A090000000080CF46C080CF4A390850001080C77 +:10A0A00078439006080C2DAE200118002003000410 +:10A0B000200119AB200300006027000800CE08042F +:10A0C000367081FF012020090001080436A2080C27 +:10A0D0005973012020090007080436A279847EA85C +:10A0E00096B400FF080C6890190436A59186007F8D +:10A0F0000138080C6C5B012020090009080436A215 +:10A10000080C4D63112020090002080436A2A86B38 +:10A110000000A86CC0FDA86E080CD5EF1120200926 +:10A120000003080436A270070003701F589800054A +:10A13000A83090860100112020090004080436A2EE +:10A14000A8E4A86AA8348007800CA85C9080000C62 +:10A150007A8C7B887C9C7D98AF6008044DABA89C72 +:10A160009086000D190436A2202140050126209179 +:10A1700080000E0458BC0010012E0CC07C36948662 +:10A1800040000118783300110010783300107883F4 +:10A190004005A99C7986A9A8799AA9AC799E080C52 +:10A1A0004D9B20914080200100892004D084190C0F +:10A1B00011C67007000120915000700F0000012EA1 +:10A1C000000501262091800000C6206119FE7984D7 +:10A1D000615A6156605F00006053000978986072B0 +:10A1E000789C606E7888606A788C606620011A0EB0 +:10A1F000204420011A15A07AA060A076A07F00015B +:10A20000A0830002A06F0000A0A3000000CE012EDA +:10A210000804367001262091800000B600C690E444 +:10A22000C00001680006D0D4013000362019002992 +:10A23000080C3425003E080CD458000E1198D0E4C8 +:10A240000160918010002004905D0160080C62CED6 +:10A25000080CB4A60110B8170000900600CE00BE8E +:10A26000012E0005908500010CC801262091800078 +:10A2700001562010900E20A90800001691801000B1 +:10A280002004900501889186007E01709186007FF0 +:10A290000158918600800178918600FF01280026F0 +:10A2A0002200080C590A002E001E81081F04593D87 +:10A2B000015E012E0005080CDB0C0DB00C802001A6 +:10A2C000184B200400052001186A20040005000630 +:10A2D000200118102004D0D4000E00052001180E13 +:10A2E0002004D0B40005200118002004908600034B +:10A2F000000579A481FF090436A5918200811A0422 +:10A3000036A5810C0016080C4D630170080C0F1E59 +:10A31000210022387D847C887B8C7A90001E080C7A +:10A320004DA8701F59990005001E2009000208045D +:10A3300036A2207900007D947C987BA87AAC79A421 +:10A34000810C206118BB2C44A774A078207118A13F +:10A35000080C4DAB701F59AD0005206118BB2C4493 +:10A3600000160026A274A178080C0F26002E001EED +:10A37000080C0FD39006A802A80608043670012620 +:10A3800001560136014601C601D600C600D600E6D8 +:10A3900000F620610100206902002071180060446D +:10A3A000D0A411E8D0840118080C5B6D0068D08C33 +:10A3B0000118080C5A760040D0940118080C5A462F +:10A3C0000018D09C0108009900FE00EE00DE00CECF +:10A3D00001DE01CE014E013E015E012E0005001698 +:10A3E0006128D19C1110C19D612A001E0C6870303B +:10A3F000D09C112060049085000260067098900542 +:10A400000120709B000070930000624C9286F0F077 +:10A41000115060489086F0F00130624A604300902D +:10A420006043001004909294FF009296F700017828 +:10A430007138D1A4116062409295010062429294F9 +:10A4400000100128200900F7080C623000F060407D +:10A450009084001090850140604260430000708746 +:10A46000000070A3000170C7000070DF0000200929 +:10A470001C80200B000070970000708B000F2009DB +:10A48000000F20116114080C8B4700052001186C87 +:10A490002004D08C0110705FFFFF70889005152894 +:10A4A00020116114080C8A65604090940010928518 +:10A4B0000020604220A900C86044D08C11681F04AD +:10A4C0005A5C6242709B000060409094001092853C +:10A4D00000806042624200486242709B0000708FC0 +:10A4E00000009006080C62B900000005708C908A8C +:10A4F00000031A0C0DCC000B00055A805AD15B6C7E +:10A5000000F600166900918C0800708F0001200190 +:10A51000015D20030000680300FC20A9000468001E +:10A52000908400FC01201F045A8F080C0DCC68A0F9 +:10A5300068A2689C689E6898689AA001918D160030 +:10A540006902001E68370020080C629520791C0003 +:10A55000783311017837000020E1000120991805B7 +:10A5600020E9000120A11C0E20A900044003080CD2 +:10A57000B1F720E1000120991C0020E9000020A192 +:10A58000024020A90014400360C3000C600F0000CB +:10A59000080C614500FE900670926043000860421E +:10A5A000000500F6709070930000902509045B4947 +:10A5B0006020D0B419045B4771A081FF09045B35AA +:10A5C0009486000C19045B4294800018800420A833 +:10A5D000080C628E2011026020191C00220C23043A +:10A5E000910611E8821083181F045AEE604300049C +:10A5F00020610140605BBC94605FF0F0206101006D +:10A6000060430006708F0002709B0002200907D093 +:10A610002011611B080C8B47080C629504C0080CC4 +:10A62000628E207902607930918E1101155878344C +:10A63000900515407900918C00FF11187804900561 +:10A640000190080C628E2011026E2019180520A9B5 +:10A650000004220C23049102023011A082108318FE +:10A660001F045B29007870A30000080C628E20E1B3 +:10A6700000002099026020E9000120A11C0020A90F +:10A68000001440036043000860430000001000FE17 +:10A69000000560409085010060426020D0B41DB884 +:10A6A000080CB1F720E1000120991C0020E900000E +:10A6B00020A1024020A90014400360C3000C201117 +:10A6C00019F5201300007093000060A3005660A7E6 +:10A6D0009575080CA91208D800057098908A001D7D +:10A6E0001A0C0DCC000B00055B9E5BB15BDA5BFACC +:10A6F0005C205C4F5C755CAD5CD35D015D3C5D7462 +:10A700005D925DBF5DE15DFC5E065E3A5E605E8F00 +:10A710005EB55EED5F315F6E5F8F5FEA600C603A41 +:10A72000603A00C620611800600300072061010044 +:10A7300060049084FFF9600600CE000520610140AE +:10A74000605BBC94605FF0F0206101006043000238 +:10A75000709B0001200907D02011611B080C8B475A +:10A76000000500F67090908600141510604260207D +:10A77000D0B411F0080C628E207902607A30929683 +:10A78000110211A07834900511887A38D2FC012882 +:10A7900070C49005111070C700012011611B080CD6 +:10A7A0008A65709B0010080C5E0600107093000014 +:10A7B00000FE000500F6709B0003604300042011BA +:10A7C000611B080C8A65080C6212207902407833FC +:10A7D00011027837000020A900089F88000E200B86 +:10A7E000000081081F045BEF60C30014080C614582 +:10A7F00000FE000500F67090900505002011611B19 +:10A80000080C8A659086001411B8080C628E2079B5 +:10A8100002607A30929611021178783490051160B6 +:10A820007A38D2FC012870C49005111070C700015D +:10A83000709B000400290010080C626A00FE0005ED +:10A8400000F6709B0005080C6212207902407833F4 +:10A85000110378370000080C628E080C62711170C9 +:10A86000708490051158715C9186FFFF01382011AA +:10A870000008080C60C80168080C624720A900089D +:10A8800020E100002099026E20E9000020A1024E84 +:10A89000400360C30014080C614500FE000500F68B +:10A8A0007090900505002011611B080C8A65908648 +:10A8B000001411B8080C628E207902607A309296EA +:10A8C000110311787834900511607A38D2FC012890 +:10A8D00070C49005111070C70001709B000600291C +:10A8E0000010080C626A00FE000500F6709B00076D +:10A8F000080C621220790240783311047837000086 +:10A90000080C628E080C627111B87084900511A059 +:10A9100071649186FFFF018091803471200D918CCC +:10A92000FF00810F20110008080C60C80180080C8E +:10A9300052550110080C295120A9000820E10000FF +:10A940002099026E20E9000020A1024E400360C35E +:10A950000014080C614500FE000500F6709090059B +:10A9600005002011611B080C8A659086001411B83F +:10A97000080C628E207902607A3092961104117868 +:10A980007834900511607A38D2FC012870C49005A3 +:10A99000111070C70001709B000800290010080CFE +:10A9A000626A00FE000500F6709B0009080C621246 +:10A9B000207902407833110578370100080C627164 +:10A9C0001150708490051138080C603B11889085F7 +:10A9D0000001080C295120A90008080C628E20E112 +:10A9E00000002099026E20E9000020A1024E4003E1 +:10A9F00060C30014080C61450010080C5B9100FE58 +:10AA0000000500F67090900505A82011611B080C48 +:10AA10008A65908600141560080C628E20790260A9 +:10AA20007A30929611051520783490840100201117 +:10AA30000100921E11607A38D2FC012870C4900582 +:10AA4000111070C70001709B000A00B100989005BA +:10AA500011787A38D2FC012870C49005111070C7A3 +:10AA6000000170970000709B000E080C5DE1001063 +:10AA7000080C626A00FE000500F6709B000B2011B6 +:10AA80001C0E20E9000122A020A900402019FFFF90 +:10AA90004304080C6212207902407833110678379B +:10AAA0000000080C62710118201300000020706083 +:10AAB00090850100201220A900402009024E20119B +:10AAC0001C0E220E821081089186026011286810E7 +:10AAD00080006812200902401F045D6160C3008489 +:10AAE000080C614500FE000500F67090900501C05D +:10AAF0002011611B080C8A65908600841178080C6F +:10AB0000628E207902607A3092961106113878347C +:10AB100090051120709B000C00290010080C626A3F +:10AB200000FE000500F6709B000D080C62122079F3 +:10AB300002407833110778370000080C628E20A994 +:10AB400000402011026E2009024E220E8210810860 +:10AB5000918602601150681080006812200902403E +:10AB6000681480006816201102601F045DA560C390 +:10AB70000084080C6145080C628E00FE000500F69A +:10AB80007090900501E02011611B080C8A65908689 +:10AB900000841198080C628E207902607A309296B7 +:10ABA0001107115878349005114070970001080C76 +:10ABB00061E2709B000E00290010080C626A00FE22 +:10ABC0000005918D0001080C62B9709B000F709315 +:10ABD000000020610140605BBC85605FB5B520610D +:10ABE00001006043000560430004200907D02011E4 +:10ABF000611B080C8A5900057090900501302011E6 +:10AC0000611B080C8A65709B00000005709B001199 +:10AC1000080CB1F7080C628E20E100002099026058 +:10AC200020E9000020A102407490948000189080D8 +:10AC30000007908403F8800420A84003080C627188 +:10AC400011A0717C81FF0188900E7080908400FFBC +:10AC50000160080C28E89186007E0138918600800A +:10AC6000012020110008080C60C860C30014080C03 +:10AC70006145000500F67090900505002011611BEC +:10AC8000080C8A659086001411B8080C628E207931 +:10AC900002607A3092961103117878349005116031 +:10ACA0007A38D2FC012870C49005111070C70001D9 +:10ACB000709B0012002900107093000000FE000538 +:10ACC00000F6709B0013080C622020790240783354 +:10ACD000110378370000080C628E080C6271117045 +:10ACE000708490051158715C9186FFFF0138201126 +:10ACF0000008080C60C80168080C624720A9000819 +:10AD000020E100002099026E20E9000020A1024EFF +:10AD1000400360C30014080C614500FE000500F606 +:10AD20007090900505002011611B080C8A659086C3 +:10AD3000001411B8080C628E207902607A30929665 +:10AD4000110411787834900511607A38D2FC01280A +:10AD500070C49005111070C70001709B0014002989 +:10AD600000107093000000FE000500F6709B0015B7 +:10AD7000080C6220207902407833110478370000F3 +:10AD8000080C628E080C627111B87084900511A0D5 +:10AD900071649186FFFF018091803471200D918C48 +:10ADA000FF00810F20110008080C60C80180080C0A +:10ADB00052550110080C295120A9000820E100007B +:10ADC0002099026E20E9000020A1024E400360C3DA +:10ADD0000014080C614500FE000500F67090900517 +:10ADE00005F02011611B080C8A659086001415A8D7 +:10ADF000080C628E207902607A30929611051568EF +:10AE000078349084010020110100921E1168908511 +:10AE10000001080C62B97A38D2FC012870C4900590 +:10AE2000111070C700010080900511B87A38D2FC6B +:10AE3000012870C49005111070C7000190850001B1 +:10AE4000080C62B9709700007A38D2F4011070DFF4 +:10AE50000008709B0016002900107093000000FE8F +:10AE60000005080CB1F7080C628E20E10000209963 +:10AE7000026020E9000020A1024020A9000E40034A +:10AE80002011026D2204908401002011024D201235 +:10AE90002011026E709B0017080C627111507084B3 +:10AEA00090051138080C603B118890850001080C52 +:10AEB000295120A90008080C628E20E10000209989 +:10AEC000026E20E9000020A1024E400360C300147E +:10AED000080C61450010080C5B91000500F67090AD +:10AEE000900501D82011611B080C8A6590860084AA +:10AEF0001190080C628E207902607A3092961106C9 +:10AF000011507834900511389006080C62B9709B86 +:10AF10000018002900107093000000FE000500F6E4 +:10AF2000709B0019080C62202079024078331106CA +:10AF300078370000080C628E2009026E20391C0E42 +:10AF400020A90040213E873881089186028011287F +:10AF5000681480006816200902601F045FA220396F +:10AF60001C0E080C627111E82728251482079084B2 +:10AF700000FF80002018929400FF80079205202A8D +:10AF800070602310821492A01C0E2414938C000174 +:10AF900001189294FF000018929400FF8007921508 +:10AFA000222220A900402009024E270E873881085E +:10AFB0009186026011286810800068122009024002 +:10AFC0001F045FD560C30084080C6145080C628EC5 +:10AFD00000FE000500F67090900501E02011611B55 +:10AFE000080C8A65908600841198080C628E20797E +:10AFF00002607A309296110711587834900511400A +:10B0000070970001080C61E2709B001A0029001083 +:10B010007093000000FE000590850001080C62B9E5 +:10B02000709B001B080CB1F7080C628E20110260A7 +:10B03000200902407490948000189080000790844A +:10B0400003F8800420A8220E8210810891860260F5 +:10B0500011506810800068122009024068148000B6 +:10B060006816201102601F04602360C30084080C6E +:10B07000614500050005008600962029184B252C07 +:10B0800020A9000820411C0E20E9000128A0080C7E +:10B09000628E20E100002099026E400320A9000882 +:10B0A00020110007D5D40108901628009200200C2A +:10B0B00091A6FFFF1148D5D401108210000882111B +:10B0C0001F046055080460C482FF1160D5D40120BC +:10B0D00091A63FFF0D90002091A63FFF090460C498 +:10B0E000918DC00020A9001020190001D5D40110B5 +:10B0F000201900102120D5D40110842300088424B5 +:10B100001240D5D401108319000883181F04607BF6 +:10B1100004D823A820210001842684251F04608DE3 +:10B120002328852992BE0007015800062039000710 +:10B130002200973A000E27A895A800101F04609CD3 +:10B14000755E95C83471292D95AC00FF7582653206 +:10B15000653600162508080C2931001E60E700003E +:10B1600065EA201823049405201A7087000120E95D +:10B17000000020A1024E20E10001289820A900082B +:10B1800040039085000100089006009E008E000597 +:10B19000015601C601D60136014622A820E1000071 +:10B1A0002099026E20E900002011024E22A04003E7 +:10B1B000014E013E01DE01CE015E211890262001E4 +:10B1C0000007939A00100218842080010CD02118E7 +:10B1D00084FF0120939A001084211DE020210001AA +:10B1E00083FF0118842383191DE892382029026EF9 +:10B1F00095282504942C11B89405203A715E91A0ED +:10B200003471242D95AC00FF7582653265360016C9 +:10B210002508080C2931001E60E7000065EA7087E8 +:10B22000000190840000000500E620711800708B7A +:10B23000000000EE000500E600F620790100207114 +:10B240000140080C61D1080CA91B700490844000D7 +:10B250000110080C2DBE01262091800020711826B7 +:10B2600020730000784000260016200900F7080C23 +:10B270006230001E909400109285008078427A42DD +:10B28000002E012E00FE00EE000501262091800018 +:10B29000080C2C430228201101012204C0C52012F1 +:10B2A000201119F52013000070930000012E60A3F7 +:10B2B000005660A79575080CA9126144D18401203D +:10B2C0007198918D20000018718C918D10002011C3 +:10B2D000199C2112200907D02011611B080C8B47F3 +:10B2E00000050016002600C6012620918000080CEB +:10B2F000B4AD200900F7080C6230206119FE900EF1 +:10B30000611A611E617A617E20611800600300018C +:10B310002061010060430090604300102009199CE7 +:10B32000200B00002009002D2011619D080C8A5976 +:10B33000012E00CE002E001E000500E600060126AC +:10B3400020918000047120710100080CA91B20715C +:10B3500001407004908440000110080C2DBE080CC0 +:10B3600078070188080C78221170080C7B040016FD +:10B37000080C2A00200119702102001E080C7AFF17 +:10B38000080C772C005020090001080C2CDC20014F +:10B390000001080C2891080C6171012E000E00EECE +:10B3A00000052001180E2004D0BC015800260036EC +:10B3B000201180172001199C201C080C4DBF003E55 +:10B3C000002E000520A9001220E9000120A11C8008 +:10B3D000080C628E20E900002099026E00A920A9C5 +:10B3E0000020080C62882099026020A11C92006154 +:10B3F00020A9000E080C628B2099026020A11CB2CB +:10B400000019080C628E000500160026341033085F +:10B41000210480072012810882101F046208002E78 +:10B42000001E0005080CB1F720E1000120991C0066 +:10B4300020E9000020A1024020A9000C40030005E3 +:10B44000080CB1F7080C628E20E100002099026020 +:10B4500020E9000020A1024020A9000C40030005C3 +:10B4600000C6000620610100810F2001183420046D +:10B4700090051138200118182004908400FF9105D0 +:10B480000010918500F7604A000E00CE00050016FE +:10B490000046080C6C570158900620202009002A0D +:10B4A000080CF00A2001180C200CC195210220196B +:10B4B000002A900E080C32D6080CDB0C0140003636 +:10B4C0002019FFFF20210007080C4F76003E004E98 +:10B4D000001E0005080C6171709B00007093000055 +:10B4E000000500062001180C2004D09C0100000E6D +:10B4F00000050006001601262091800020010101B0 +:10B50000200C918D00062102012E001E000E000568 +:10B51000200900010020200900020008900E681494 +:10B520009084FFC0910D6916000500F60156014692 +:10B5300001D6900620A9008020E9000120A11C006E +:10B54000400420791C0078032200780700EF780F70 +:10B5500000EF781301387823FFFF7827FFFF01DE23 +:10B56000014E015E00FE00052001180020030001CD +:10B570000005200119AA0118200300010010200372 +:10B5800000000005015620A90800200910009006BF +:10B59000200A81081F0462C8015E000500D600363B +:10B5A0000156013601462069184A9006B802B8CE05 +:10B5B000B8070707B80AB80EB81291983471231D5E +:10B5C000939C00FFBB1600160026B8C2080CB4A658 +:10B5D00011209192007E1208BBC220A90004B8C4B9 +:10B5E00020E8B9C891980006900623A0400420A93D +:10B5F00000049198000A23A04004002E001EB83ECB +:10B60000B842B84EB852B856B85AB85EB862B866C2 +:10B61000B86AB86F0100B872B876B87AB88AB88ECE +:10B62000B8930008B896B89AB89EB8BEB9A200966A +:10B63000B8A4904D190C0FC8B8A70000009E900642 +:10B64000B84A6810B83A680CB846B8BB0520B8AC20 +:10B650009005019800C620609C821CD00A0C0DCC7D +:10B660002001181A20049C021A0C0DCC080C8F6EB5 +:10B6700000CE090C92EEB8AF00006814908400FF71 +:10B68000B842014E013E015E003E00DE000501268B +:10B6900020918000A978918208001A0463BD2001DE +:10B6A000180C200490840003190463C391881000CF +:10B6B0002104905D0570B804908400FF908E000610 +:10B6C0001560B8A4900D190463D5A888908A199ABA +:10B6D0000210200119998003800B810B9108A96643 +:10B6E000B850900D1148A8022900B852B84E080C65 +:10B6F00097519006012E000500A621502900B002A6 +:10B70000A803000000AEB8520C9020010005900E76 +:10B7100004B820010028900E049890820006129030 +:10B72000080CB4A61160B8A09084FF801140B90045 +:10B73000D1FC09382001002920091000040820014B +:10B74000002800A82009180C210CD18C0118200118 +:10B7500000040068D1840118200100040040200189 +:10B760000029B900D1FC0118200910000048900EF2 +:10B77000003820010029900E001820010029900EA9 +:10B780009005012E00052001180C2004D08419D04A +:10B79000918810002104905D09A8080C6C5B199039 +:10B7A000B800D0BC097808046361AE7C96B43FFF52 +:10B7B000080C6A3E090463850804636500B600E668 +:10B7C000012620918000A878908E00FF1120200192 +:10B7D000196E205C0060A97891820800169091880B +:10B7E00010002104905D01D0080C6BFB11D0080CF7 +:10B7F000B4E605702B006012290060166023000972 +:10B80000600B0000A878908E00FF1110600B800084 +:10B8100020090043080CB5B9900600B020010028AB +:10B8200000902009180C210CD18C01182001000473 +:10B830000038D184011820010004001020010029E3 +:10B840000010200100299005012E00EE00BE000529 +:10B850002001002C0CC000B600E6012620918000DB +:10B86000A978918208001A0464A991881000210423 +:10B87000905D09046481B8A09086007F0190A88043 +:10B88000D0FC1178080C6C630160A99881FF01302D +:10B89000908E00040130908E00050118080C6C5B3E +:10B8A0001598A880D0FC01E0A898900501C82060F8 +:10B8B00000262010080CD3E3002E112020010008E0 +:10B8C000080464AB60209086000A01202001000873 +:10B8D000080464AB601A6003000829006016005871 +:10B8E000080CB4E605E82B00601229006016600B16 +:10B8F000FFFF6023000A20090003080CB5B9900679 +:10B900000458200100280438908200061290080C88 +:10B91000B4A61160B8A09084FF801140B900D1FC9A +:10B920000900200100292009100000A8200100289A +:10B9300000902009180C210CD18C01182001000462 +:10B940000050D184011820010004002820010029A2 +:10B950000010200100299005012E00EE00BE000518 +:10B960002001002C0CC000F600B6012620918000BA +:10B97000A8E490051550A8E0908201011630A8CCEB +:10B9800090051518A8C89082010112F8A9782079AD +:10B9900018009182080012E878309084000311307A +:10B9A000AA9CAB98A87C9084000700EA7930D18CDF +:10B9B0000118200100040038D1840118200100047E +:10B9C000001020010029900E00382001002C900E5C +:10B9D000001820010029900E900600089005012E05 +:10B9E00000BE00FE0005654064FB651265406540D1 +:10B9F00065406540654021009082007E1278080C09 +:10BA0000681E01489046B810930619046548B8149A +:10BA1000920615F00028BB12BA160010080C4C76DE +:10BA2000015004B0080C68901598B8109306158062 +:10BA3000B81492061568080CB4E605302B006012A5 +:10BA4000080CD87E29006016600BFFFF6023000AF7 +:10BA5000A87C908600011170080C330B9006080C2E +:10BA600067BB20010002080C67CF20010200B86EFE +:10BA7000B893000220090003080CB5B990060068CD +:10BA800020010001900E00382001002C900E0018BB +:10BA900020010028900E90050000012E00BE00FE3F +:10BAA000000500B600F600E6012620918000A89867 +:10BAB00090C600150904673990C600560904673D11 +:10BAC00090C600660904674190C60067090467458F +:10BAD00090C600680904674990C6006B0904674D69 +:10BAE00090C600710904675190C600740904675537 +:10BAF00090C6007C0904675990C6007E0904675D02 +:10BB000090C6003709046761901620791800A9785B +:10BB1000918600FF09046734918208001A04673493 +:10BB2000080C689011B8B804908400FF9082000659 +:10BB30001288A89890C60064090466A690C6006F93 +:10BB40000148080CB4A61904671DB8A09084FF80B2 +:10BB50001904671DA89890C6006F015890C6005E32 +:10BB60000904667D90C60064090466A620080804DE +:10BB7000663FA99CA8B42040A87891061904663FA6 +:10BB8000080CB4A611209182007F0A04663F9186BA +:10BB900000FF0904663F918208001A04663FAAA4C8 +:10BBA000ABA0787C930611A878800096924E11285D +:10BBB00022082310009E0804663F080CB4A611401A +:10BBC00099CCFF00009E1128220823100804663F2C +:10BBD000009E080C4C7609046649900E901690C69B +:10BBE000400015B00006080C6AE220A90004A86015 +:10BBF00020E8A85C9080003220A0B8C420E0B8C83B +:10BC0000908000062098080C0F9320A90004A860DB +:10BC100020E8A85C9080003620A0B8C420E0B8C816 +:10BC20009080000A2098080C0F93A8C8ABCC93050D +:10BC3000ABD09305ABD49305ABD89305ABDC9305A0 +:10BC4000ABE09305ABE4930590050510000E00C82A +:10BC500090C640071110240800A090C64008111893 +:10BC600027082610007090C640091108005090C6A1 +:10BC700040060138200140052009000A001020017B +:10BC80004006A89AA99EAAA220010030900E04782E +:10BC9000000E080CB4E61130200140052009000315 +:10BCA00090160C782B006012080CD87E29006016C4 +:10BCB00060230001A86CD88C0108C0F5A86E01268D +:10BCC00020918000080C330B012E9006080C67BBF6 +:10BCD00020010002080C67CF20090002080CB5B94A +:10BCE000A8B4D0940118B8CCC08DB8CE90069005F9 +:10BCF000012E00EE00FE00BE0005080C597301186D +:10BD00002009000700F8A99CAEB4080C689019043B +:10BD1000663A9186007F0130080C6C5B011820099F +:10BD2000000900800096080C10161120009E2009C2 +:10BD3000000200402900009EA806080CD5EF19B0AB +:10BD4000200900032001400508046641A99CAEB407 +:10BD5000080C68901904663A0096080C1016112811 +:10BD6000009E20090002080466FA2900009EA80629 +:10BD70000096204820A9002BB8C420E0B8C820981D +:10BD8000A86020E8A85C9080000220A0400320A9C1 +:10BD900000089080000620A0BBC893980006239856 +:10BDA000080C0F93009EA87F0000A8870000A89BA6 +:10BDB0004000D6841168080C595FD0B41118A89FB0 +:10BDC000000B00E0B800D08C0118A89F000C00B058 +:10BDD000080C6C5B0118A89F00090080080C5973BF +:10BDE0000118A89F00070050080CD5D219046676E8 +:10BDF000200900032001400508046641A87F0030A7 +:10BE0000A89B4005A80480068006800790BC003FE0 +:10BE10009084FFC0908000022009002BAAA4ABA050 +:10BE2000ACACADA82031000020411270080CBAB4AF +:10BE3000190466762009000208E820010028900E07 +:10BE4000080466772009180C210CD18C01182001F8 +:10BE500000040038D18401182001000400102001E2 +:10BE60000029900E0804667720010029900E08042E +:10BE70006677080C38A208046678080C5685080412 +:10BE80006678080C46F208046678080C476B0804CC +:10BE90006678080C47C708046678080C490408044B +:10BEA0006678080C4D3908046678080C4FF60804CB +:10BEB0006678080C52EB08046678080C54E5080410 +:10BEC0006678080C3AE10804667800B6A978918291 +:10BED00008001268918810002104905D0140080C50 +:10BEE0006C5B114800E9080C69DD900600B0200188 +:10BEF0000028900E0090908200061240B900D1FCFC +:10BF00000D88200100292009100000382001002997 +:10BF1000900E001820010029900E900500BE00052B +:10BF2000012620918000A888908A199A0210200189 +:10BF300019998003800B810B9108B850A966900D68 +:10BF40000150290000962148A802009EA803000085 +:10BF5000B852012E00052900B852B84EA8030000BF +:10BF60000CC0B84C904D0130A80090051108B85293 +:10BF7000B84E9905000500B6012600C6002620919E +:10BF8000800062102258BA0090050110C285000896 +:10BF9000C284BA02002E00CE012E00BE000500B6FB +:10BFA000012600C62091800062102258BA040006C3 +:10BFB000908600061170B89CD0AC0158080C6C57E4 +:10BFC00001409284FF008007908600071110201125 +:10BFD0000600000E9294FF009215BA0600069086A5 +:10BFE00000061120BA9082FF090C0DCC000E00CE85 +:10BFF000012E00BE000500B6012600C6209180007B +:10C0000062102258BA040006908600061168B89C97 +:10C01000D0A40150080C6C531138928400FF908614 +:10C020000007111020110006000E929400FF8007F7 +:10C030009215BA0600CE012E00BE000591820800BE +:10C04000021890850001000500D600360026919068 +:10C0500010002204905D11B8200118302004908255 +:10C06000003002980096080C10162958009E0168AE +:10C070002B002012B85CB8CAB860B8C69006B8A643 +:10C08000B8AE080C62CE9006001090850001002E1C +:10C09000003E00DE000500B60096012620918000DB +:10C0A00000269182080002189085000104A000D6A5 +:10C0B000919010002204905D056020130000B8A448 +:10C0C000904D190C0FC800D600C6B8BC20608CFF7C +:10C0D0000168600C000660142048080CD3F50110BC +:10C0E000080C0FC8080CB53C00CE0C8800CE00DE52 +:10C0F00000C6B8AC90650128621CD2C40110080CBF +:10C1000092EE00CE2B48B8C8B85EB8C4B862080C2E +:10C11000105800DE9006002E012E009E00BE000585 +:10C120000016918208000218908500010030918865 +:10C1300010002104905D0DC09006001E000500D681 +:10C140000156013601469006B80AB80EB800C08CF8 +:10C15000B802080C77FF1510B8A09086007E012069 +:10C16000080CB4A611D800787040D0E401B800C61D +:10C170002061198570482062704C60067050600A1A +:10C180007054600E00CE703C206901409005111083 +:10C190002001000168862069180068B67040B85E0A +:10C1A0007048B862704CB86620E1000020990276B1 +:10C1B000B8C420E8B8C89088000A21A020A90004CB +:10C1C00040032099027A9088000621A020A900044B +:10C1D000400320690200681700017040B86A71448A +:10C1E000B96E7048B8727050B8762069020068174E +:10C1F0000000B8A09086007E11107144B96E918243 +:10C200000211121820090008040091820259121824 +:10C210002009000700D0918202C1121820090006EF +:10C2200000A0918203491218200900050070918234 +:10C23000042112182009000400409182058112187F +:10C2400020090003001020090002B992014E013EAE +:10C25000015E00DE00050016002600E62071026087 +:10C260007034B896703CB89A7054B89E0036BBCC07 +:10C27000C384BA002009186A210CD0BC0120D1EC7B +:10C280000110C2AD0008C2ACD0C40148D1E40138ED +:10C29000C2BDD0CC0128D38C1108C3850008C2BC14 +:10C2A000BA02BBCE003E00EE002E001E0005009636 +:10C2B00000A6012620918000B8A4904D05D0A96861 +:10C2C00081FF190469A5AA6C9282001C02502950B2 +:10C2D000A804904D1DC0080C101605E82900B006F2 +:10C2E00004680136014601C601D68906800680072A +:10C2F000908C003F21E09084FFC09080001E209829 +:10C300002009001C20A9000140029086FFFF0120A7 +:10C3100081091DD0080C0DCC3C0020E833008001C1 +:10C3200020A046048210AA6E01DE01CE014E013E1D +:10C330000060080C101601782900B8A6A86B000050 +:10C34000080C6A69A86F0001AE7A90850001012E81 +:10C3500000AE009E000590060CD0012620918000C2 +:10C3600000960036004600A6B8A4904D0190A8683B +:10C3700090051158080C6A7911602348A86C908ABE +:10C38000000202688001A86E0020080C1048B8A7BF +:10C39000000000AE004E003E009E012E0005B8A435 +:10C3A000930611202348A804B8A60020234824504F +:10C3B000A804B006080C10480C60012620918000EB +:10C3C000080C9751012E0005901E00102019000145 +:10C3D000900E012620918000B84C2048B800D0DC97 +:10C3E000117089FF050083FF0120A87C9606015883 +:10C3F0000030A87094061118A87495060120290829 +:10C40000A80020480C70080CAD3EAA00B84C990654 +:10C410001110BA4E002000A62150B20200AE82FFD9 +:10C420001110B95289FF012E000590160036004602 +:10C4300000F9004E003E1110201100010005080C0B +:10C440006ADF1904D4C80005080C6ADF1904D46D2A +:10C450000005080C6ADF1904D4C50005080C6ADF62 +:10C460001904D48C0005080C6ADF1904D50B0005EB +:10C47000B8A4900D11189085000100050096214880 +:10C4800029182320013601C6A868900511E8890EF5 +:10C49000810E810F9184003F20E09184FFC0908045 +:10C4A000001E209820A900012009001C40029606C9 +:10C4B000015881091DD82320A804901D011023488C +:10C4C0000C30908500010008900601CE013E009ED0 +:10C4D0000005014601D6A86020E8A85C9080001EF7 +:10C4E00020A020A9001C2009FFFF410401DE014E0D +:10C4F0000005013601C629182320A868900511E817 +:10C50000890E810E810F9184003F20E09184FFC04D +:10C510009080001E209820A900012009001C4002E4 +:10C520009606015881091DD82320A804901D0110EA +:10C5300023480C30908500010068014601D6330085 +:10C54000800120A03C0020E82001FFFF400401DE24 +:10C55000014E900601CE013E000500960126209175 +:10C560008000B8A4904D1190080C101601682900A5 +:10C57000B8A6080C6A69A86B0001A86F0000908536 +:10C580000001012E009E000590060CD80096A8041C +:10C59000A80700002048080C0FC8009E0C50009609 +:10C5A000012620918000B8A4904D0130B8A700006A +:10C5B000080C0FC890850001012E009E0005B89C54 +:10C5C000D0A40005900EB89CD0A41108C185D0ACB1 +:10C5D0001108C195B800D0BC0108C18D000500B696 +:10C5E00000F6080C77FF09046B4E71C481FF1198A7 +:10C5F00071DCD19C01802001007E9080100020041D +:10C60000905D0148B804908400FF908600061118E0 +:10C61000B800C0EDB8022079184A7804D0A401E827 +:10C62000015620A9007F900E0016080C689011801A +:10C63000080C6C7F1168B8049084FF008007909606 +:10C6400000040118908600061118B800C0EDB80269 +:10C65000001E81081F046B14015E080C6C19012078 +:10C6600020011988200C00982079184A7804D0A459 +:10C670000190200907D02001182C200490050138D2 +:10C680002001186A2004D0E4011020095DC02011A7 +:10C690006B57080C8B4700FE00BE00052001107E82 +:10C6A00020042058B900C1ECB90208046B0B00B695 +:10C6B00020116B57080C8A65080C6C1901D82001F1 +:10C6C000107E20042058B900C1ECB902080C6C5748 +:10C6D0000130200907D020116B57080C8B4700E66A +:10C6E000207118009006707E70607082080C30B661 +:10C6F00000EE04C8015600C620A9007F900E001667 +:10C70000080C68901550080C6C7F1538B800D0ECF8 +:10C7100005200046BAA02220900620090029080C16 +:10C72000F00AB800C0E5C0ECB802080C6C53200158 +:10C7300007071128B804908400FF90850700B80609 +:10C7400020190029080C98D90076903E080C97AC67 +:10C75000900E080CECE8007E004E001E81081F04BD +:10C760006B7F00CE015E00BE000500B66010205851 +:10C77000B800C0ECB80200BE000500B600C60096C6 +:10C78000080C102F090C0DCC2958009E2001196EA1 +:10C790002B028B0780068006908C003FB9C6908CD8 +:10C7A000FFC0B9CAB8AF0000200900FF080C62CE74 +:10C7B000B8070006B81300FFB817FFFFB86F0200F4 +:10C7C000B86CB8930002B8BB0520B8A300FFB8AF9F +:10C7D000000000CE00BE0005781000B62058B8005A +:10C7E00000BED0AC0005601000B6905D0108B80036 +:10C7F00000BED0BC0005000600160026B804908CD0 +:10C8000000FF9196000601889196000401709196B0 +:10C8100000050158908CFF00810F919600060128B9 +:10C8200091960004011091960005002E001E000E46 +:10C83000000500B600F62001107E2004905D011076 +:10C84000B800D0EC00FE00BE0005012600262091B5 +:10C8500080000006BAA09290100022049B06190CDA +:10C860000DCC000EBA0090050110C2FD0008C2FCFC +:10C87000BA02002E012E0005201118372204D0CC58 +:10C88000013820011986200C20116C49080C8B47B7 +:10C89000000520116C49080C8A6520111837220404 +:10C8A000C0CC20120005080C595FD0AC0005080C64 +:10C8B000595FD0A400050016B904918400FF908E42 +:10C8C0000006001E00050016B9049184FF008007D1 +:10C8D000908E0006001E000500B600F6080CDB0C6A +:10C8E000015870DC9084002801382001107F20045A +:10C8F000905D0110B8CCD09400FE00BE000500068B +:10C9000000160026B810900501682009182C210C8B +:10C91000919400FF92061130B8149084FF00918C1E +:10C92000FF009106002E001E000E000500060016F6 +:10C9300000360046007600B620011818203C97808B +:10C940003471203D97BCFF00873F900620182008D7 +:10C950009284800001102019000192947FFF210031 +:10C960009706019091A010002404905D0168B8041E +:10C97000908400FF90860006113883FF0118B89C50 +:10C98000D0A4011082110158810883FF01209182F7 +:10C9900008000E2800689182007E0E08004800BE44 +:10C9A000007E004E003E001E90850001000E000536 +:10C9B00000BE007E004E003E001E9006000E0005E8 +:10C9C00000460056007600B6210090847FFF9080DC +:10C9D00010002004905D0130B804908400FF908620 +:10C9E0000006055091848000058020011818203C25 +:10C9F00097803471203D97BCFF00873F9006202030 +:10CA00002400970601A094A810002504905D0178E9 +:10CA1000B804908400FF908600061148B89CD0A40A +:10CA20000130B81492061118B8109306012884201A +:10CA3000948208000E280048918C7FFF00BE007E83 +:10CA4000005E004E908500010005918C7FFF00BEC6 +:10CA5000007E005E004E900600050006200100A04A +:10CA60008001A001A001A0011DD8000E0005000654 +:10CA7000200100F88001A001A001A0011DD8000E36 +:10CA800000050006200100E88001A001A001A0012E +:10CA90001DD8000E000520711913700300017007E6 +:10CAA0000000900670127016701A701E700A7046A0 +:10CAB00020011925200300000005001600E6207162 +:10CAC000194B900E710A080C595FD0FC1140080CEC +:10CAD000595F900ED09C01088108710204702001FA +:10CAE000186A200C9184000700062001180D20040C +:10CAF000D08C000E0108900600026D676D676D67AF +:10CB00006D676D676D856D9A6DA8700300032009D0 +:10CB1000186B210C9184FF00908EFF00014080076C +:10CB2000900511102001000280037006003070078C +:10CB300000010018700300050C5020711913704F8C +:10CB400000002071180070F3000100EE001E0005C7 +:10CB500070030000207119132009186B210C9184B7 +:10CB60007F008007908C000F0160714E800480046C +:10CB70008004800420711800908C0007012870F256 +:10CB80000C20704F000F0C9070F3000508F000E6C9 +:10CB900020710050684C9005115000E62071191367 +:10CBA0007028C085702A00EE9085000104886844D2 +:10CBB00090050158080C7B6C6A60920070026864F2 +:10CBC00091017006900670127016686070026864B9 +:10CBD00070066868700A686C700E684490051110E1 +:10CBE00070127016684C701A701C90850040701E90 +:10CBF0007037001A702B000100E62071191370289D +:10CC0000C084702A70070001700B000000EE9006CF +:10CC100000EE000500E600262071194B700090150B +:10CC2000090470749286000309046F0D9286000552 +:10CC300009046F0D2071187AA880900509046E68A8 +:10CC40007140A86C91020A047074A87CD08415D835 +:10CC5000A853001920018023A84E20711913701CBD +:10CC600090051904723E0E0472AC20710000A850A9 +:10CC70007032A84C7082A8747086A870708AA884DC +:10CC8000708E7036014601D6013601C6015620E984 +:10CC9000000020A1002AA86C20A8A86020E0A85CC1 +:10CCA0009080002220984003015E01CE013E01DE0B +:10CCB000014E20914080200100892004D084190C6D +:10CCC00011C608046EF0A853001B2001802708201D +:10CCD0007004D08C19047074A853001A20018024A9 +:10CCE00008046E2C00E600262071194B7000901588 +:10CCF000090470749286000309046F0D9286000582 +:10CD000009046F0DA84F8022A853001808046ED59F +:10CD1000A86CD0FC150800E600262001194B200461 +:10CD2000901509047074A97CA87891051904707491 +:10CD30009286000309046F0D9286000509046F0DA9 +:10CD4000A880D0BC190470742200000270746ED1E7 +:10CD50006F0D6F0D70746F0D0005A86CD0FC150081 +:10CD600000E600262009194B210C81FF090470748C +:10CD7000A884908400FF9086000119047074918645 +:10CD8000000309046F0D9186000509046F0DA8804A +:10CD9000D0CC09047074A84F8021A8530017002834 +:10CDA0000005A84F8020A853001620711913701C8D +:10CDB00090051904723E0E0472AC20710000A84C5C +:10CDC0007082A8507032A87070867036A874708A0D +:10CDD00020914080200100892004D084190C11C6C4 +:10CDE0002071180020110001A804900D702C11581A +:10CDF000A8022900702E70C0920070C2080C8944ED +:10CE0000002E00EE000500962148A904A802821019 +:10CE1000290081FF1DC8009E0C58A84F000000F695 +:10CE20002079005020711913A8030000701090059C +:10CE300019046FF8782C908C0780190C73F8800413 +:10CE4000800480049084000300026F2B6FF86F4F02 +:10CE50006F95080C0DCC2071180029007822A804C9 +:10CE6000900D1168207119FE704490051320200167 +:10CE7000194C2004704600FE002E00EE00059016AE +:10CE8000702C2148A904A8028210290081FF1DC826 +:10CE9000702E70C0920070C2080C89440C1820716A +:10CEA000180029007822A804900D1578782400E64F +:10CEB00020710040712CD19C114820091830210CA0 +:10CEC000918A00200218702200EE005800EE2048DF +:10CED000702CA8022900702E70C0800070C2080C4F +:10CEE0008944782C90940780190C73F8D0A419F019 +:10CEF000207119FE7044900513202001194C200464 +:10CF0000704600FE002E00EE00059016702C2148A1 +:10CF1000A904A8028210290081FF1DC8702E70C0CC +:10CF2000920070C2080C89440808009600E6782434 +:10CF3000204820711800702CA8022900702E70C0A3 +:10CF4000800070C2080C8944782C90940780190CDA +:10CF500073F8D0A41D6000EE782C90940780190C13 +:10CF600073F8D09C1198009E29007822A804900D97 +:10CF70001550207119FE7044900513202001194CA2 +:10CF80002004704600FE002E00EE0005009E2908D9 +:10CF90007010800070127018904D711A0110A90263 +:10CFA0000008711E2148A804900D1168207119FE17 +:10CFB0007044900513202001194C2004704600FE97 +:10CFC000002E00EE0005207118009016702C2148EC +:10CFD000A904A8028210290081FF1DC8702E70C00C +:10CFE000920070C2080C894400FE002E00EE00057D +:10CFF00029087010800070127018904D711A01107D +:10D00000A9020008711E2148A804900D1904704C53 +:10D01000782C90940780190C73F8D09C1198701C90 +:10D02000904D01807010800170121108701AA800D4 +:10D03000701E29007822782C90940780190C73F8C0 +:10D04000D09C0D68782C90940780190C73F8D0A4AC +:10D0500001B000E67824204820711800702CA80246 +:10D060002900702E70C0800070C2080C8944782C92 +:10D0700090940780190C73F8D0A41D6000EE207105 +:10D0800019FE7044900513202001194C20047046AD +:10D0900000FE002E00EE000500E62071180090163C +:10D0A000702C2148A904A8028210290081FF1DC804 +:10D0B000702E70C0920070C2080C894400EE080403 +:10D0C0007008A86CD0FC190470BE0096A804A807CC +:10D0D0000000904D190C0FC8009E0020A86CD0FCD9 +:10D0E000190470BE00E60026A84F000000F6207963 +:10D0F00000502071180070EC8001054016E8207186 +:10D100001913A8030000A868908400FF908E0016F1 +:10D11000019870109005190471BA782C908C0780D2 +:10D12000190C73F8800480048004908400030002CA +:10D1300070BF71BA70DA714B2009194B21040002DB +:10D140007089708970896F1670896F1670EF0FA0E3 +:10D1500071E881079106909400C09184FF3F920589 +:10D1600070EA3B083A009104918D00C021D8908468 +:10D17000FF3F920520D0081870EE080800052071C6 +:10D18000180029007822A804900D112000FE002E1E +:10D1900000EE00059016702C2148A904A802821008 +:10D1A000290081FF1DC8702E70C0920070C2080C4B +:10D1B00089440C602071180029007822A804900D81 +:10D1C0001904713A78308007908C001F70F091023A +:10D1D000122000FE002E00EE0005782400E62071EB +:10D1E0000040712CD19C114820091830210C918AE3 +:10D1F00000200218702200EE005800EE2048702C2B +:10D20000A8022900702E70C0800070C2080C8944EA +:10D21000782C90940780190C73F8D0A419F00E04A0 +:10D22000713178387938910E1DE000D62069000000 +:10D2300068366833001300DE20011924200CC184F5 +:10D24000210220914080200100892004D084190C03 +:10D2500011C6200119252003000000FE002E00EE5B +:10D26000000520011924200CC185210200FE002E9A +:10D2700000EE00059016702C2148A904A802821027 +:10D28000290081FF1DC8702E70C0920070C2080C6A +:10D290008944080470ED009600E678242048207147 +:10D2A0001800702CA8022900702E70C0800070C277 +:10D2B000080C8944782C90940780190C73F8D0A43A +:10D2C0001D6000EE0E04718D78387938910E1DE0E6 +:10D2D00000D62069000068366833001300DE704411 +:10D2E000C084704620914080200100892004D084B1 +:10D2F000190C11C6704B0000782C90940780190C03 +:10D3000073F8D09C1170009E29007822A804900D1B +:10D3100011E000FE002E00EE00057044C08570464E +:10D320000C58009E29087010800070127018904DE3 +:10D33000711A0110A9020008711E2148A804900D5D +:10D34000112000FE002E00EE00052071180090163E +:10D35000702C2148A904A8028210290081FF1DC851 +:10D36000702E70C0920070C2080C894400FE002E1E +:10D3700000EE000529087010800070127018904DA2 +:10D38000711A0110A9020008711E2148A804900D0D +:10D3900019047229782C90940780190C73F8D09C8A +:10D3A00011B0701C904D0198A84C90051180701020 +:10D3B000800170121108701AA800701E29007822CE +:10D3C000782C90940780190C73F8D09C0D50782C11 +:10D3D00090940780190C73F8D0A405B800E678245F +:10D3E000204820711800702CA8022900702E70C0EF +:10D3F000800070C2080C8944782C90940780190C26 +:10D4000073F8D0A41D6000EE0E04722278387938CB +:10D41000910E1DE000D620690000683668330013C5 +:10D4200000DE7044C0847046209140802001008955 +:10D430002004D084190C11C6704B000000FE002E91 +:10D4400000EE00057044C085704600FE002E00EE20 +:10D45000000500E6207118009016702C2148A904E0 +:10D46000A8028210290081FF1DC8702E70C0920092 +:10D4700070C2080C894400EE080471CA20711913A7 +:10D48000A803000029087010800070127018904DD9 +:10D49000711A0110A9020008711E2148A804900DFC +:10D4A00011281E047269002E00EE0005207118007C +:10D4B0009016702C2148A904A8028210290081FF2F +:10D4C0001DC8702E70C0920070C2080C89440E04F2 +:10D4D000725320711913701C2048A84C900D0D1820 +:10D4E000207100007182A8507032A870708670366A +:10D4F000A874708AA85090820019127820914080F8 +:10D50000200100892004D084190C11C62071191340 +:10D51000080C73E4002E00EE0005A8509082001C59 +:10D520001E68A884708E7036014601D6013601C689 +:10D53000015620E9000020A1002AA86C20A8A860BC +:10D5400020E0A85C9080002220984003015E01CE7C +:10D55000013E01DE014E089020711913A80300005E +:10D5600029087010800070127018904D711A011007 +:10D57000A9020008711E2148A804900D1118002E60 +:10D5800000EE0005207118009016702C2148A904A7 +:10D59000A8028210290081FF1DC8702E70C0920061 +:10D5A00070C2080C8944002E00EE00050006A88019 +:10D5B0000006A86B010320A9001CA86020E8A85C55 +:10D5C0009080001E20A090064004000E908400FF72 +:10D5D000A882000EA87EA986000520711913700488 +:10D5E000000272F972FA73E372FA72F773E3080CCD +:10D5F0000DCC00052001194B2004000273047304B4 +:10D60000737C737D7304737D0126209180001E0C52 +:10D610007403701C904D0508A84C90050904734FC5 +:10D620000E04732DA94C207100007182A850703235 +:10D63000A87070867036A874708AA85090820019FD +:10D64000127820914080200100892004D084190C98 +:10D6500011C620711913080C73E4012E0804737BA2 +:10D66000A8509082001C1E68A884708E70360146F7 +:10D6700001D6013601C6015620E9000020A1002A8A +:10D68000A86C20A8A86020E0A85C908000222098C8 +:10D690004003015E01CE013E01DE014E08902001F3 +:10D6A000005B200490940780190C73F8D09C2071C3 +:10D6B00019131500700F0001A968918400FF90866E +:10D6C00000031130810F918C00FF81010108710E60 +:10D6D000290000D620690050682200DE207119134D +:10D6E000701C2048701080017012A800701E9005F8 +:10D6F0001108701A012E0005000500D620082069C7 +:10D7000019FE6844900507600158918600030540A2 +:10D7100020011815200420091AD4210C91021500AB +:10D7200001262091800020690050693C68389106EC +:10D7300001900E0473AF20690000683780406833A1 +:10D7400000126883804020914080200100892004DD +:10D75000D084190C11C6206919FE6847FFFF012EFD +:10D7600000DE0126209180001E0C746E701C904D0E +:10D7700005402001005B20049094078015C9D09CCF +:10D78000150020711913700F0001A968918400FF22 +:10D79000908600031130810F918C00FF81010108F8 +:10D7A000710E290000D620690050682200DE701C2E +:10D7B0002048701080017012A800701E900511089A +:10D7C000701A012E00050005012620918000701CB2 +:10D7D000904D0160701080017012A800701E9005BD +:10D7E0001108701A012E080C10480005012E0005C2 +:10D7F000209180000E0473FA0006001620018004B8 +:10D80000000608040DD5009600F6207900507044FB +:10D81000D08401D0C084704678387938910E1DE0EC +:10D8200000D62069000068366833001300DE2091BE +:10D830004080200100892004D084190C11C6704B4F +:10D84000000000FE009E0005782C9094078019814E +:10D85000D0A40DB87148704C8108714A91020E88AD +:10D8600000E620711800782400E620710040712C39 +:10D87000D19C114820091830210C918A00200218EF +:10D88000702200EE005800EE2048702CA8022900FB +:10D89000702E70C0800070C2080C8944782C90945F +:10D8A0000780190C73F8D0A419F078387938910EE4 +:10D8B0001DE000D62069000068366833001300DEE2 +:10D8C00020914080200100892004D084190C11C6C9 +:10D8D00000EE704B000000FE009E000500F620796F +:10D8E00000507044D08401B8C084704678387938CC +:10D8F000910E1DE000D620690000683668330013E1 +:10D9000000DE20914080200100892004D084190C81 +:10D9100011C600FE0005782C90940780190C73F84E +:10D92000D0A40DB800E62071180078242048702C8F +:10D93000A8022900702E70C0800070C2080C8944B3 +:10D94000782C90940780190C73F8D0A41D7000D621 +:10D9500020690050693C2069194B6808690A2069F0 +:10D9600019FE910211186844900513202001194CEA +:10D97000200C694600DE00EE00FE00057098908ADB +:10D98000002A1A0C0DCC9082001D001B60271E007F +:10D99000000575AF751C75387562759E75DE75F07E +:10D9A000753875C674D77505758874D6000500D6A8 +:10D9B0002069020068049005118068089005151818 +:10D9C000709B0029206919922D047002080C793C83 +:10D9D000602890850600602A00B0709B00292069AD +:10D9E00019922D047002602890850600602A00E6D6 +:10D9F00000360046005620711A68080C1B35005E80 +:10DA0000004E003E00EE00DE000500D62069020058 +:10DA1000680490051178680890051160709B0029D2 +:10DA2000206919922D047002080C79E06028908515 +:10DA30000600602A00DE0005000620010090080CA8 +:10DA40002DAE000E6124D1E41190080C765DD1D486 +:10DA50001160D1DC1138D1CC0150709B0020080C32 +:10DA6000765D0028709B001D0010709B001F000554 +:10DA700020010088080C2DAE6124D1CC11E8D1DC46 +:10DA800011C0D1E4119891841E0011D8080C1B62BA +:10DA900060E30001600CC0B4600E080C782B20011C +:10DAA0000080080C2DAE709B00290058709B001E52 +:10DAB0000040709B001D0028709B00200010709B90 +:10DAC000001F0005080C1B6260E30001600CC0B47D +:10DAD000600E080C782B20010080080C2DAE61240C +:10DAE000D1D41198D1DC1170D1E4114891841E0079 +:10DAF0001118709B00290058709B00280040709BF3 +:10DB0000001E0028709B001D0010709B001F000568 +:10DB10006124D1D41180D1DC1158D1E41130918429 +:10DB20001E001158709B00290040709B001E0028A9 +:10DB3000709B001D0010709B001F0005200100A0BD +:10DB4000080C2DAE6124D1DC1138D1E40138080C69 +:10DB50001B62709B001E0010709B001D0005080CCE +:10DB600076E06124D1DC1188080C765D0016080C83 +:10DB70001B62001ED1D41128D1E40138709B001E15 +:10DB80000020709B001F080C765D00050006200138 +:10DB900000A0080C2DAE000E6124D1D41160D1CCB0 +:10DBA0001150D1DC1128D1E40140709B001E0028E7 +:10DBB000709B001D0010709B00210005080C76E092 +:10DBC0006124D1D41150D1DC1128D1E40140709BE3 +:10DBD000001E0028709B001D0010709B001F000598 +:10DBE000000620010090080C2DAE000E6124D1D457 +:10DBF0001178D1CC1150D1DC1128D1E40158709B9F +:10DC0000001E0040709B001D0028709B002000102B +:10DC1000709B001F0005001600C600D600E6012616 +:10DC200020610100206901402071180020918000CE +:10DC3000080C77FF11D82001180C200CD1B401B0CA +:10DC4000C1B4210260270200080C2CD66024D0CC7D +:10DC50000148200100A0080C2DAE080C7AFA080C2F +:10DC600062B404286028C0CD602A0408080C781922 +:10DC70000150080C7810113820010001080C28917F +:10DC8000080C77D700A0080C76DD01782001000190 +:10DC9000080C289170989086001E0120709890863C +:10DCA00000221118709B00250010709B0021012E8E +:10DCB00000EE00DE00CE001E000500262011766E6C +:10DCC000080C8B89002E0016002620090064201104 +:10DCD000766E080C8B80002E001E000500E600F614 +:10DCE0000016080CA91B20711800080C760B001EEA +:10DCF00000FE00EE000500160026003600C600D625 +:10DD000000E600F6012620711800080CA91B20610E +:10DD10000100206901402091800020110003080CBF +:10DD2000AD0C20110002080CAD16080CAC20080C3C +:10DD30008B350036901E080CAC96003E6028C09CC7 +:10DD4000602A60E30000080CF46C080CF4A32009BE +:10DD50000004080C2CDC080C2BF720011800200311 +:10DD60000004602700082011766E080C8B89080CCF +:10DD7000781901189006080C2DAE080C0BA720018D +:10DD80000001080C2891012E00FE00EE00DE00CEFE +:10DD9000003E002E001E0005002600E62011767BC6 +:10DDA000207119FE701C9206111870189005011050 +:10DDB0009085000100EE002E00056020D09C00053B +:10DDC00068009084FFFE908600C001B8200100C06A +:10DDD000080C2DAE015620A9002D1D0476ED2091D2 +:10DDE00060001F0476ED015E00D620691800689C73 +:10DDF000800102200118689E00DE0005689F001463 +:10DE000068E8D0DC0DC86800908600011DA8080CE9 +:10DE10008B950C9000C600D600E6206101002069B9 +:10DE2000014020711800080C7B09200119702003A3 +:10DE300000009006709A60E26886080C295C9006E3 +:10DE4000080C2DAE080C61716027FFFF602B182FA6 +:10DE500000EE00DE00CE000500C600D600E6206120 +:10DE60000100206901402071180020011980200C58 +:10DE700091860000015891860001015891860002A8 +:10DE80000158918600030158080477C7709B00224F +:10DE90000040709B00210028709B00230010709BA5 +:10DEA000002460E300006887000020010001080CE6 +:10DEB000295C0026080CB4AD002E7000908E000482 +:10DEC0000118602B00280010602B0020015601264D +:10DED0002091800020A900056024D0AC0150012EC3 +:10DEE000015E080CDB0C01189006080C2DD8080404 +:10DEF00077D36800908400A1C0BD6802080C2CD6BE +:10DF00006904D1D4114020010100080C2DAE1F047A +:10DF1000776C080C7853012E015E080C781001D044 +:10DF200060449005019020110114220490850100A5 +:10DF3000201260502008908500206052080C785311 +:10DF4000900680011DF0615200286804D0D41110A1 +:10DF5000080C7853080CDB0C01189006080C2DD81F +:10DF6000001600267000908E00040130200900C8C1 +:10DF70002011767B080C8B47002E001E080C893B75 +:10DF80007034C08570362001198020030004080C0D +:10DF900074BE080C781001386804D0D41120D0DC8D +:10DFA0001100080C7AFF00EE00DE00CE000500C66E +:10DFB00000D600E6206101002069014020711800B0 +:10DFC000080C8952080C8944080C7B09200119703F +:10DFD000200300009006709A60E26886080C295CB5 +:10DFE0009006080C2DAE604300906043001060273F +:10DFF000FFFF602B182F00EE00DE00CE00050006AC +:10E000002001197F20049086AAAA000E00050006B0 +:10E01000080C59639084003090860000000E0005C3 +:10E020000006080C59639084003090860030000E82 +:10E0300000050006080C596390840030908600109B +:10E04000000E00050006080C59639084003090868D +:10E050000020000E0005003600162001180C2004D8 +:10E06000908C001301680020080C297C900E001091 +:10E070002009000220190028080C32D69006001949 +:10E08000001E003E000500E62071180C2E04013031 +:10E09000080CDB0511289085001000109084FFEF1C +:10E0A000207200EE00056050000660EC0006600C77 +:10E0B0000006600400066028000600166138605003 +:10E0C0009084FBFF908520006052613A20A90012E5 +:10E0D0001D047868209160001F047868602F01009B +:10E0E000602F00006050908504009084DFFF605234 +:10E0F000613A001E602F0040602F0000000E602A71 +:10E10000000E6006000E600E000E60EE60E3000080 +:10E110006887000120010001080C295C200100A093 +:10E120000006080CDB0C000E0130080C2DCC90060C +:10E13000080C2DD80010080C2DAE000E6052605057 +:10E140000006C0E5605200F620790100080C2C4B57 +:10E1500000FE000E60520005015600160026003633 +:10E1600000C600D600E62061010020690140207150 +:10E17000180060209084008001382001180C200CC9 +:10E18000C1C521020804792E2001180C200CC1C43D +:10E19000210260289084E1FF602A602702002001AC +:10E1A0000090080C2DAE20A903666024D0CC151871 +:10E1B0001D0478D5209160001F0478D5201100033C +:10E1C000080CAD0C20110002080CAD16080CAC2098 +:10E1D000901E080CAC96200100A0080C2DAE080C77 +:10E1E0007AFA080C62B4080CDB0C0110080C0D3A2A +:10E1F0009085000104C8080C1B6260E30000200148 +:10E20000180D2004D08C2001000211182001197073 +:10E210002004080C295C60E220010080080C2DAE6F +:10E2200020A9036660271E0020091E00080C2CD6BA +:10E230006024910C01401D047912209160001F049C +:10E240007912080478DE602890851E00602A70B478 +:10E25000900511186887000100086886080CDB0C1F +:10E260000110080C0D3A900600EE00DE00CE003ED4 +:10E27000002E001E015E0005015600160026003625 +:10E2800000C600D600E62061010020711800700071 +:10E290009086000311682001020B200490845540F1 +:10E2A00090865540112820691A7F2D048000206A2D +:10E2B000206901406020908400C00120688490059E +:10E2C000190479A120010088080C2DAE900660E2A7 +:10E2D0006886080C295C2069020068049005111802 +:10E2E0006808900501C060289084FBFF602A6027C1 +:10E2F0000400206919927000206A709B0026700348 +:10E30000000120A900021D047983209160001F04F0 +:10E310007983080479D82069014020A90384602703 +:10E320001E0020091E00080C2CD66024910C050844 +:10E3300090841A0011F01D04798F209160001F0451 +:10E34000798F20110003080CAD0C20110002080C7D +:10E35000AD16080CAC20901E080CAC96200100A055 +:10E36000080C2DAE080C7AFA080C62B490850001F6 +:10E3700000F8080C1B6220010080080C2DAE2069FB +:10E38000014060E3000070B4900511186887000137 +:10E39000000868862001180D2004D08C200100029E +:10E3A0001118200119702004080C295C60E2900605 +:10E3B00000EE00DE00CE003E002E001E015E0005D5 +:10E3C000015600160026003600C600D600E6206181 +:10E3D0000100207118006020908400C001C8201145 +:10E3E0000003080CAD0C20110002080CAD16080C3F +:10E3F000AC20901E080CAC9620690140200100A0C2 +:10E40000080C2DAE080C7AFA080C62B408047A7A6B +:10E410002001180C200CD1B41160C1B52102080CE8 +:10E4200076632069014020010080080C2DAE60E376 +:10E430000000206902006804900511186808900522 +:10E44000018060289084FDFF602A60270200206917 +:10E4500019927000206A709B002770030001080465 +:10E460007A7A60271E0020091E00080C2CD6602432 +:10E47000910C01C890841C0011B01D047A31000673 +:10E48000001600C600D600E6080C899E00EE00DEED +:10E4900000CE001E000E00E6207119FE707800EE1E +:10E4A000900519F8043800262011767B080C8A653F +:10E4B0002011766E080C8B89002E2069014060E3E4 +:10E4C000000070B490051118688700010008688684 +:10E4D0002001180D2004D08C200100021118200109 +:10E4E00019702004080C295C60E22001180C200C33 +:10E4F000C1B4210200EE00DE00CE003E002E001E60 +:10E50000015E00050156001600260036004600C6D2 +:10E5100000E62061010020711800080CDB051904D9 +:10E520007AE87130D1841170080C34650138C18DDE +:10E5300071322011184B2214D2AC11207030D08CC3 +:10E5400009047AE82011184B220CD1A405380016D2 +:10E550002019000E080CEF7A015600B620A9007FA2 +:10E56000900E9186007E01A0918600800188080CA3 +:10E57000689011702120900600162009000E080CEA +:10E58000F00A2009000120110100080C8CC2001EB5 +:10E5900081081F047AB100BE015E001ED1AC114893 +:10E5A00000162009000220190004080C32D6001EB3 +:10E5B0000078015600B620A9007F900E080C6890E4 +:10E5C0001110080C62CE81081F047ADE00BE015EC5 +:10E5D000080C1B62080CB4AD60E30000080C62B4C8 +:10E5E000080C772C00EE00CE004E003E002E001EE0 +:10E5F000015E0005200119802003000100052001B3 +:10E6000019802003000000052001197F2003AAAA19 +:10E6100000052001197F200300000005207118FD6E +:10E620007003000070070000080C102F090C0DCCBF +:10E63000A8AFDCB02900704E080C102F090C0DCCCF +:10E64000A8AFDCB029007052A86B0000A86F0001D1 +:10E65000A8A30000000500E620710040684890056E +:10E6600011189085000104B068409005015004A184 +:10E670006A50920070026854910170069006701200 +:10E68000701668507002685470066858700A685CAA +:10E69000700E684090051110701270166848701A5C +:10E6A000701C90850040701E2001001A7036702B7F +:10E6B000000120010004200C918CFFF7918D800057 +:10E6C000210200D6206918FD6807000100DE080C51 +:10E6D000813C900600EE0005900E015620A9000630 +:10E6E0008003201101002214929600081110818DE0 +:10E6F000001081F53E081F047B70015E0005207943 +:10E700000040207118FD700400027B8F7B907BC855 +:10E710007C237D837B8D7B8D7DAD080C0DCC00052E +:10E7200020790040782C908C0780190C821ED0A490 +:10E7300001F8782420489006A802A806A8689084CA +:10E7400000FF908A0040061000C020011800200C35 +:10E75000918600031168700400027BB87B927BB83D +:10E760007BB67BB87BB87BB87BB87BB8080C7C23C6 +:10E77000782CD09C0904813C00059082005A121824 +:10E780002100003B0C10080C7C590C9000E308E8B9 +:10E7900000057C597C597C597C597C597C597C59A1 +:10E7A0007C597C7B7C597C597C597C597C597C599F +:10E7B0007C597C597C597C597C597C597C597C59B1 +:10E7C0007C597C597C597C597C597C657C597EA349 +:10E7D0007C597C597C597C7B7C597C657EE47F2507 +:10E7E0007F6C7F807C597C597C7B7C657C8F7C59DD +:10E7F0007D57802B80467C597C7B7C597C8F7C5953 +:10E800007C597D4D80467C597C597C597C597C597A +:10E810007C597C597C597C597CA37C597C597C5906 +:10E820007C597C597C597C597C597C5981C27C59D2 +:10E83000816C7C59816C7C597CB87C597C597C59A1 +:10E840007C597C597C5920790040700490860003E3 +:10E850001198782C080C8165D0A401707824204888 +:10E860009006A802A806A868908400FF908A001A63 +:10E870001210002B0C5000E9080C813C00057C595B +:10E880007C657E8F7C597C657C597C657C657C5978 +:10E890007C657E8F7C657C657C657C657C657C5950 +:10E8A0007C657E8F7C597C597C657C597C597C5970 +:10E8B0007C6500E6207118FD20090400007100EE5F +:10E8C000000520091000004900052009200000294A +:10E8D0000005200908000009000570070001A86C68 +:10E8E000908400FF9105A86E012620918000080CFD +:10E8F000706E012E0005A8688007908400FF0D0847 +:10E90000800111207007000108047E2C70070003AD +:10E91000701229007016701A704B7E2C0005A868C2 +:10E920008007908400FF09688001112070070001B2 +:10E9300008047E4770070003701229007016701AD1 +:10E94000704B7E470005A8688007908400FF09048B +:10E950007C61800111207007000108047E6370074C +:10E960000003701229007016701A704B7E63000548 +:10E97000A8688007908400FF9086000119047C61DC +:10E980007007000120091834210C81FF19047D242F +:10E990002001180D2004D08C09047D0FA9A09186B8 +:10E9A00000FF05E8A9989186006F018891860074A0 +:10E9B00015B0002620110010080C6C96002E05786A +:10E9C0000016A99C080C6CE0001E15480400080CF9 +:10E9D00077FF0140A89B4005A89F0016200100304A +:10E9E000900E0438002620118008080C6C96002E2A +:10E9F00001B0001600260036A99CAAA4ABA0918DF8 +:10EA00008000080C6CE0003E002E001E1140A89B08 +:10EA10004005A89F400920010030900E0050A86CCE +:10EA2000908400FFA86EA8870000080C65511108AB +:10EA30000005012620918000A86B0139A87EA986D7 +:10EA4000080C706E012E0CA0A99891860071090423 +:10EA50007CC89186006409047CC89186007C090406 +:10EA60007CC89186002809047CC891860038090476 +:10EA70007CC89186007809047CC89186005F0904EF +:10EA80007CC89186005609047CC8A89B4005A89FB5 +:10EA9000000120010030900E0860A880908400C022 +:10EAA000908600C01120700700010804805D2900D5 +:10EAB0007016701A20A90004A86020E0A85C90805D +:10EAC0000031209870502040A06020E8A05C908029 +:10EAD000002420A04003A88C7012908204011A0424 +:10EAE0007C69AAB8928A00021A047C6982FF1138F4 +:10EAF000A8BCA9C09105011820017DEA00189280E8 +:10EB00007DE0200570567010901509047DCB080C2F +:10EB1000102F11187007000400052900702270548E +:10EB20002060E000A86A70502040A95CE0049100D9 +:10EB3000A07AA860A076E008920A1210900E220037 +:10EB40007112E20C8003800B929600040108910878 +:10EB5000A17E810BA182080C1114A070908E01007F +:10EB600001709086020001187007000700057020F0 +:10EB70002048080C10487014204808047C69702054 +:10EB800020487018A802A807000029082048A906F4 +:10EB9000711A08047D837014204870070001A8B81A +:10EBA00090051128A8BCA9C09105010800B9A86862 +:10EBB000908400FF9086001E0904805D08047E2C6E +:10EBC0007DE27DE60002001E00070004000A001C32 +:10EBD00000050006000A001E00050004007600661D +:10EBE000AFBCAEC0A8042050B0C4B0E6B0C0B0E224 +:10EBF000B0BCB0D6B0B8B0D2B6DEB7DAB0B4B0CE32 +:10EC0000B0B0B0CAB0ACB0BEB0A8B0BAB6C6B7C2A9 +:10EC1000B0A4B0B6B0A0B0B2B09CB0A6B098B0A24C +:10EC2000B6AEB7AAB094B09EB090B09AB08CB08E89 +:10EC3000B088B08AB696B792B084B086B080B08201 +:10EC4000B07CB076B078B072B67EB77AB00490552A +:10EC50001958006E007E000520091834210C81FF30 +:10EC60001178080C634711080005080C72D60126BC +:10EC700020918000080CD6F8080C706E012E0CA0B4 +:10EC8000080CDB051D7020010028900E0C70200977 +:10EC90001834210C81FF1188A88C90050188A88761 +:10ECA0000000080C63DE11080005A87E01262091F3 +:10ECB0008000080C706E012E0CB8200100280CA8F2 +:10ECC000200100000C90041911D8A88C900501E0D7 +:10ECD000A8870000A880D0A40120080C64B31138D4 +:10ECE00000059006A87E080C642B1108000501267B +:10ECF00020918000A87EA986080C706E012E0CB0B1 +:10ED000020010028900E0C98200100000C8000C605 +:10ED10002061180060D09005010000CE0005701839 +:10ED2000A80229082048A906711A701080017012E3 +:10ED300001187007000300307014204870070001AC +:10ED40007048080F000500B670070001A978A87C7C +:10ED5000908400FF90960004054020A90001909641 +:10ED600000010190900E20A9080090960002016019 +:10ED7000900511D8A978080C689011B80066AE8487 +:10ED8000080C69AD006E008800462011180C222482 +:10ED9000C4842412004E00C6080C68901110080CA0 +:10EDA0006ACF81081F047ECC00CEA880D0841120B9 +:10EDB000080C104800BE0005012620918000080CB8 +:10EDC000706E012E00BE00050126209180007007A4 +:10EDD0000001080C6C57058020611A776100D1840E +:10EDE0000178A88C908400FF15506000D084052025 +:10EDF00060049005153860030000600B000000C837 +:10EE000020110001A894900511102001001E80001F +:10EE10006016A88C908400FF01786006A88C80079B +:10EE2000908400FF0148600AA88C80001108C28D00 +:10EE30006202012E08048126012E08048120012E81 +:10EE40000804811A012E0804811D012620918000EA +:10EE500070070001080C6C5705E020611A7760000C +:10EE6000D08405B862046308D08C1530AC7C9484DF +:10EE700000030170A98C918C00FF800111202100FA +:10EE8000921006200028800115082100921202F03D +:10EE90009484000C0188A98C810F918C00FF9082D2 +:10EEA0000004112021009318028800309082000491 +:10EEB00011682100931A0250A89490050110800057 +:10EEC00060166206630A012E08048126012E0804DA +:10EED0008123012E080481200126209180007007E3 +:10EEE000000120611A776300D38C11206308831816 +:10EEF0000220630A012E08048134012E08048123B4 +:10EF000000B6012600C62091800070070001A8808D +:10EF1000D0AC014800C620611A7760009084FCFFE5 +:10EF2000600200CE0440A88C900505D8A89090659A +:10EF3000059820011834200490050118080CB56FBD +:10EF400000686017F400605B0000A980D1A4011084 +:10EF5000A984615A20090041080CB5B9A98C918C8B +:10EF6000FF009186200011380026900E2011FDFF31 +:10EF7000080C8CC2002EA880D0C4014820611A77EA +:10EF80006000D08C1120600880000208600A00CE6A +:10EF9000012E00BE0804812600CE012E00BE08040A +:10EFA0008120A9889186002E0D309186002D0D18A4 +:10EFB0009186004505109186002A11302001180C19 +:10EFC000200CC194210208B8918600200158918636 +:10EFD00000291D10A978080C68901968B800C0E4D1 +:10EFE000B8020848A890906509B86007002420017D +:10EFF00019892004601A08047FBBA89090650960F5 +:10F0000000E6A89490752001183420049005015062 +:10F01000080CB56F8EFF01182E60080CB56F00EE5E +:10F0200008047FBB6024C0DCC0D560262E6060076A +:10F03000003AA8A4900501306007003BA8A8602E04 +:10F04000A8AC601660030001080C9734080C9CE81B +:10F0500000EE08047FBB20611A776000D084019025 +:10F06000D08C190481340126209180006204821022 +:10F0700002206206012E08048134012EA8870016A2 +:10F080000804812DA88700070804812DA86880073F +:10F09000908400FF01308001113870070001006981 +:10F0A0000005080C7C610040700700037012290005 +:10F0B0007016701A704B805D000500B600E60126E0 +:10F0C00020918000903E2061180061D081FF1904DA +:10F0D00080DF6130D19419048109A87C20709E8260 +:10F0E0001CD00A0480D360689E021A0480D3712069 +:10F0F00091860006190480C57010905D090480DFB8 +:10F10000B800D0E41904810320611A77610091846A +:10F1100003019086000115A07024D0DC1904810C35 +:10F12000A8870000A8030000290870149005119812 +:10F130007116A880D0F41904810F080C595FD09C77 +:10F140001118A880C0CCA8822E60080C8BE2012E7A +:10F1500000EE00BE00052048A80090051DE0A902B1 +:10F160002148A880D0F41904810F012E00EE00BEC2 +:10F170000005012E00EEA887000600BE0804812DC0 +:10F18000D1840DB8D1C4119000A0A978080C689062 +:10F1900015D0B800D0E415B8712091860007111879 +:10F1A000A88700020490A88700080478A887000EAA +:10F1B0000460A88700170448A88700350430080CAD +:10F1C0005963D0FC01E8A87C20709E821CD002C04C +:10F1D00060689E0212A87120918600061188701046 +:10F1E000905D0170B800D0BC01582039000170005A +:10F1F0009086000719048069700300020804806982 +:10F20000A88700280010A8870029012E00EE00BE64 +:10F210000420A887002A0CC8A88700450CB02E60DF +:10F2200020190002601B0014080CEB1C012E00EEDC +:10F2300000BE00052009003E0058200900040040DF +:10F2400020090006002820090016001020090001EE +:10F25000A8889084FF009105A88A0126209180004B +:10F26000080C706E012E0005080C1048000500D631 +:10F27000080C8BD900DE000500D600E6012620919F +:10F28000800020710040702CD08401D8908C0780C1 +:10F29000190C821ED09C11A82071180070C090EA31 +:10F2A00000200278800170C2702C2048A800702EC7 +:10F2B0009006A802A8062071004029007022702C38 +:10F2C0000C28012E00EE00DE000500069084078069 +:10F2D000190C821E000E0005A89C9084000305A84E +:10F2E000080CB4E605D829006016A868908400FFD1 +:10F2F0009086003511386008C0FD600A2001196E43 +:10F3000020040098A8A4908400FFA9A0918CFF007D +:10F310009105A9A0918C00FF080C28E8154000B6C3 +:10F32000080C68902B0000BE1510601260230001CD +:10F3300020090040A868908400FF908600350110E5 +:10F3400020090041080CB5B90005A87F010101267C +:10F3500020918000080C706E012E0005A87F002C03 +:10F36000012620918000080C706E012E0005A87FF8 +:10F370000028012620918000080C706E012E080CD8 +:10F38000B53C000500D600C600360026001600B6C3 +:10F3900070070001AA78928200041A04820FA980E3 +:10F3A000918810002104905DB804D284014005E8E2 +:10F3B0008007908400FF90840006110804B02B1091 +:10F3C000080CB4E61118080CB58C05A86212A878D0 +:10F3D000000281ED81F281F581FB20190002080C09 +:10F3E000EF7A0060080CEF11004820190002A98490 +:10F3F000080CEF2C0018A984080CEF11080CB53C80 +:10F40000A88B0000012620918000080C706E012E50 +:10F4100000BE001E002E003E00CE00DE0005A88BC0 +:10F4200000060C80A88B00020C68A88B00050C500D +:10F43000A88B00040C38A88B00070C2020918000BA +:10F440000E04822000060016200180030006080436 +:10F450000DD520011834200490050005000500F6A4 +:10F460002079030020010200200CC1E5C1DC21024B +:10F4700020090218210CD1EC1120080C15C800FE3F +:10F4800000052001020D20030020781F030000FE6C +:10F490000005781CD08C090482A368C090AA0005DE +:10F4A0000A04893B7D447C4094840FFF68929584D4 +:10F4B00000F61510948470000140908A20001260BC +:10F4C000958407008007080482AA70009084FF00DA +:10F4D000908681000DA800B094840FFF1130700059 +:10F4E0009084FF009086810011C0080CF444080C41 +:10F4F00088207817014000A8958400761118080C20 +:10F50000887E19C0D5A4014800460056080C830225 +:10F51000080C23CC005E004E0020080CF444781741 +:10F520000140080C77FF0168200101112004D08CF4 +:10F53000014068930000200101102003000820030F +:10F540000000080C82E3200119F420049005090C46 +:10F550009CE80005000282BC860482B382B382B3B9 +:10F5600082B382B382B378170140200119F42004DA +:10F570009005090C9CE800057000908CFF009194A8 +:10F58000F000810F928620001150680090860001E3 +:10F590001118080C59BF0070080C8322005892867D +:10F5A00030001118080C852B00289286800011105D +:10F5B000080C873978170140200119F420049005C0 +:10F5C000090C9CE80005200118102004D08C01785B +:10F5D0002001180020049086000311480026003600 +:10F5E000201180482518080C4DBF003E002E000554 +:10F5F00000360046005600F6207902002019FFFE72 +:10F600007C30005000360046005600F6207902009B +:10F610007D447C402019FFFF200118102004D08C6D +:10F62000016020011800200490860003113000269C +:10F6300020118048080C4DBF002E00FE005E004ED9 +:10F64000003E000500B600C670109084FF008007E1 +:10F6500090960001012090960023190484F8689088 +:10F66000908200040A0484F89186002315E8080CAF +:10F6700087DF090484F8612091860001015091869A +:10F68000000401389186000801209186000A1904BF +:10F6900084F87124610A7030908E020011302009C4 +:10F6A0000015080CB5B9080484F8908E02140118EE +:10F6B000908E0210113020090015080CB5B908040D +:10F6C00084F8908E0100190484F8703490051904B0 +:10F6D00084F86890908200080A0484F820090016D3 +:10F6E000080CB5B9080484F891860022190484F83E +:10F6F0007030908E0300158068DCD0A40528C0B55A +:10F7000068DE7100918C00FF697E7004688200F6EB +:10F710002079010079E678EA0006908400FF00165F +:10F720002008080C293179327936001E000E00FEBF +:10F73000080C28E8695E703C00E620710140708684 +:10F740002071180070B600EE70349005190484F82A +:10F7500020090017080484A8908E040011907034CA +:10F760009005190484F8080C77FF01202009001D7A +:10F77000080484A868DCC0A568DE200900300804FD +:10F7800084A8908E0500114070349005190484F807 +:10F7900020090018080484A8908E20101120200948 +:10F7A0000019080484A8908E211011202009001A45 +:10F7B000080484A8908E52001140703490051904FA +:10F7C00084F82009001B080484A8908E5000114082 +:10F7D00070349005190484F82009001C080484A8DA +:10F7E000908E1300112020090034080484A8908E04 +:10F7F0001200114070349005190484F82009002487 +:10F80000080484A8908CFF00918E240011702009B8 +:10F81000002D200118102004D09C090484A8080C95 +:10F82000E2DB190484F8080484A6908CFF00918E12 +:10F83000530011202009002A080484A8908E0F008C +:10F84000112020090020080484A8908E610415A0CE +:10F85000202902052011026D8208220490920401E1 +:10F860001A0484F890940003190484F86A909212A0 +:10F870000A0484F890820004090484F88004800457 +:10F8800020A820118015211C810800462124080C85 +:10F890004DBF004E81080F048456918602801D885A +:10F8A00025048000202A200902600C58202B00002B +:10F8B00020090023080484A8908E600011202009EC +:10F8C000003F080484A8908E54001138080C88EB7F +:10F8D000190484F82009004604D8908E5500114878 +:10F8E000080C8913111820090041049020090042D6 +:10F8F0000478908E78001118200900450448908EF5 +:10F90000100011182009004E0418908E6300111881 +:10F910002009004A00E8908CFF00918E56001118D3 +:10F920002009004F00A8908CFF00918E57001118FD +:10F93000200900500068908E7D00111820090053A6 +:10F9400000382009001D6838D0D401102009004C6F +:10F9500000162011026322048211220C080C28E8F0 +:10F96000190484FB080C681E190484FBBE12BD1622 +:10F97000001E0016080C77FF01C068DCD08C11480F +:10F980007000908400FF118870049084FF0011685B +:10F990000040687C96061148688095069084FF00B8 +:10F9A0001120958400FFB8C20080B8C0900511688E +:10F9B000918600461150687C96061138688095063D +:10F9C0009084FF001110001E0098080CB4E601C8D6 +:10F9D0002B086112602300047120610A001E9186C9 +:10F9E000004C11106023000A0016001E080CB5B967 +:10F9F00000CE00BE0005001E0CD890850001001E40 +:10FA00000CB82001180E2004D0EC012020118049F0 +:10FA1000080C4DBF080CB58C0D702B0861126023CB +:10FA200000047120610A001E00169186001701185B +:10FA30009186003011286007000960172900002016 +:10FA40006007005160170000602F0009600300018B +:10FA5000080C977C0880080C895A1158080C342F20 +:10FA6000114070109084FF008007908E00081108EC +:10FA70000009000500B600C600467000908CFF002B +:10FA8000810F918600331538080C87DF09048599AA +:10FA90007124610A6890908200040A04859970308C +:10FAA000908E020011487034900519048599200940 +:10FAB0000015080CB5B904E8908E010015D070341B +:10FAC000900515B8689090820008069820090016E5 +:10FAD000080CB5B904709186003215587030908EBC +:10FAE000140015386890908200100618200900381C +:10FAF00000162011026322048211220C080C28E84F +:10FB000011B8080C681E11A0BE12BD16080CB4E690 +:10FB100001782B086112080CD87E60230004712044 +:10FB2000610A001E080CB5B9080C9CE8001000CE54 +:10FB3000001E004E00CE00BE000500B6004600E6E6 +:10FB400000D620282130969600FF11B89592FFFC30 +:10FB500002A09596FFFD11202009007F080485FB77 +:10FB60009596FFFE11202009007E080485FB9596DE +:10FB7000FFFC11182009008004F02011000020195A +:10FB80001837231CD3AC0130902620A9080020711F +:10FB9000100000302021008120A9077F20711081F2 +:10FBA0002E1C93DD0000114082FF11D0949600FFBF +:10FBB00001B82410C2FD00A0BF1026009706B8149B +:10FBC000112095461110240800B09745114894C69D +:10FBD000007E013094C6007F011894C600801D206D +:10FBE00084208E701F0485D082FF1118908500013B +:10FBF0000018C2FC2208900600DE00EE004E00BE97 +:10FC00000005908500010CC020011837200C91845C +:10FC100000800110D18C01387000908CFF00810FA2 +:10FC20009184000F004A78170140200119F4200444 +:10FC30009005090C9CE80005862C862C862C87F103 +:10FC4000862C8635866886FC862C862C862C862C0F +:10FC5000862C862C862C862C78170140200119F4DE +:10FC600020049005090C9CE8000500B67110D1BC79 +:10FC70000510712021609C8C000711E89C8A1CD023 +:10FC800002D068689C0212B87008908400FF61106E +:10FC90002158B91091061178700CB91491061158B9 +:10FCA00094840FFF9082000C02807124610A200965 +:10FCB0000046080CB5B978170140200119F420045A +:10FCC0009005090C9CE800BE0005080C89690C9899 +:10FCD00000B600C67110D1BC190486CF7108700C33 +:10FCE0002028918C00FF21309094FF0015E881FFBF +:10FCF00015D890803471200D918CFF00810F200168 +:10FD000000809106090486CF94840FFF9082002022 +:10FD10000A0486DA080C681E190486CFBE12BD16C6 +:10FD2000B800D0EC15E0BA049294FF009286060069 +:10FD300011A8080CB4E6090486DD2B08702860467B +:10FD4000702C604A6112602300067120610A7130D4 +:10FD5000615620090044080CE55B0408080C6C5B44 +:10FD60001138B80706060C28190C859D11C008909B +:10FD7000080CB4E62B08019861126023000471207E +:10FD8000610A9286040011186007000500106007E0 +:10FD9000000160030001080C977C080C9CE87817B0 +:10FDA0000140200119F420049005090C9CE800CEC4 +:10FDB00000BE0005080C89690C902001180E200473 +:10FDC000D0EC012020118049080C4DBF080CB58CE7 +:10FDD0000D302B086112602300067120610A71301A +:10FDE00061566017F3006003000160070041080CD2 +:10FDF0009734080C9CE8089800B67110D1BC051027 +:10FE0000702020609C84000711E89C821CD002D0E6 +:10FE100068689C0212B87008908400FF6110215835 +:10FE2000B91091061178700CB91491061158948488 +:10FE30000FFF9082000C02807124610A20090045A6 +:10FE4000080CB5B978170140200119F42004900579 +:10FE5000090C9CE800BE0005080C89690C9861201B +:10FE6000918600020128918600050110908500010D +:10FE70000005080C895A1180080C342F1168701085 +:10FE80009084FF0080079086000011309184000F5D +:10FE9000908A00061208000B000587538754875389 +:10FEA000875387B987CC000500B6700C7108080C21 +:10FEB00028E8190487B7080C681E190487B7BE1212 +:10FEC000BD167110D1BC0540702CD0841120B80033 +:10FED000D0BC190487B7080C6C5B014890860004FD +:10FEE0000130080C6C63011890860004158800C668 +:10FEF000080C87DF00CE05D8080CB4E62B0805B83F +:10FF00006112080CD87E602300027120610A20096A +:10FF10000088080CB5B90458080C6C5B0148908641 +:10FF200000040130080C6C630118908600041180F5 +:10FF3000080CB4E62B0801D86112080CD87E6023A7 +:10FF400000057120610A20090088080CB5B9007805 +:10FF5000080CB4E62B0801586112080CD87E602307 +:10FF600000047120610A20090001080CB5B900BE27 +:10FF7000000568909082000C02707110D1BC01588D +:10FF800000F10148080C872F11307124610A200903 +:10FF90000089080CB5B900056890908200040270D1 +:10FFA0007110D1BC015800590148080C872F11303D +:10FFB0007124610A2009008A080CB5B90005702077 +:10FFC00020609C84000711589C821CD002402001B4 +:10FFD000181A20049C021218908500010005900652 +:10FFE0000CE800B67110D1BC11F0702420609C8424 +:10FFF000000711C89C821CD002B068689C0212984D +:020000021000EC +:100000007008908400FF61102158B91091061158B2 +:10001000700CB91491061138699081FF1170200994 +:100020000051080CB5B978170140200119F42004DB +:100030009005090C9CE800BE0005080C89690C9825 +:100040002031010500690005203102060049000544 +:1000500020310207002900052031021300090005A4 +:1000600000C6009600F670009084F0009086C000F4 +:1000700005D0080CB4E605B8006600C6004620119D +:10008000026322048211220C080C28E815A0080C37 +:10009000681E1588BE12BD162B00004E00CE6012E1 +:1000A000080CD87E080C101605102900605A90061E +:1000B000A802A86AAC6EA85C90F8001C20A9000EEB +:1000C000A86020E820E100002FA02E984003006ED9 +:1000D00066166007003E6023000160030001080C03 +:1000E000977C080C9CE800FE009E00CE0005080CE2 +:1000F000B53C006E0CC0004E00CE0CC800C67000AF +:10010000908CFF009184F000810F908620001904EC +:1001100088D59186002215F0200101112004900558 +:10012000190488D77030908E0400090488D7908E07 +:10013000600005E8908E540005D0908E030011D821 +:1001400020091837210CD18C1590D1A41580080CEA +:100150006C19058868B0908400FF7100918C00FFD5 +:1001600091061518688069B0918CFF0091057104A3 +:10017000910611D800E020090103210CD1B411A887 +:10018000908E520009E8908E050009D0908E5000A4 +:1001900009B80058918600231140080C87DF012818 +:1001A00060049086000201180000900600109085FF +:1001B000000100CE00057030908E03000118908E73 +:1001C00052001D9820011837200490840009908661 +:1001D00000080D680C5001560046001600367038B5 +:1001E0002020842794A40007D484014820A9000477 +:1001F000201918052011027A080CC64D1178D48CEC +:10020000014820A90004201918012011027E080CC1 +:10021000C64D1120D494011090850001003E001EAF +:10022000004E015E0005015600460016003670388B +:100230002020842794A40007D484014820A9000426 +:100240002019180520110272080CC64D1178D48CA3 +:10025000014820A900042019180120110276080C79 +:10026000C64D1120D494011090850001003E001E5F +:10027000004E015E000500F6207902007800C0E51E +:10028000C0CC780200FE000500F620791800783412 +:10029000D084113020790200780090851200780215 +:1002A00000FE000500E6207118007034C08470362E +:1002B00000EE0005001620011837200C9184008004 +:1002C0000118D18C01189006001E000590850001D0 +:1002D0000CD8001620091849210480000208200AC1 +:1002E000001E0005207119FE70030003700F0361EA +:1002F0009006701A707A701270171CD07007000088 +:100300007026702BA9317032703A703F00647037DC +:10031000A9997047FFFF704A704F57EC7052706395 +:100320008B50080C102F090C0DCC29007042A86BC3 +:100330000003A8730100A8AFDCB00005207119FE0E +:100340001D048A5420916000700C8001700E1540CD +:100350002001013C20049005190C8BBE2001186C73 +:100360002004D0C401583A00D08C114020D10000A4 +:1003700020D1000120D10000080C0DCC700F0361CA +:1003800070070001012620918000080C8B957048B1 +:10039000900D01488109714A1130704C080F001806 +:1003A0000126209180007024900D0188702080012A +:1003B000702211687023000981097126918603E873 +:1003C00011107028080F81FF11107028080F70306D +:1003D000900D05A8702C8001702E1588001620093C +:1003E0000306210C9184003001E891840048908636 +:1003F000000811C07038900501A88001703A119072 +:10040000080C77FF017800E6207119EB080CAA2987 +:1004100000EE114020091A89210480000208200AF8 +:10042000001E0068001E702F00098109713201282A +:100430009184007F090CAAF800107034080F7044F2 +:10044000900501180310800170467054900D0168EA +:100450007050800170521148705300098109715623 +:100460001120715871567060080F7018900D01D8E6 +:1004700000167078900D01587074800170761138F4 +:10048000707700098109717A1110707C080F001EC5 +:1004900070088001700A1138700B00098109711A07 +:1004A0001110701C080F012E700400028A7C8A7DD6 +:1004B0008AE300E6207119FE701890051120711A68 +:1004C000721E700B000900EE000500E600062071A8 +:1004D00019FE701C92061120701A701E707A707EC0 +:1004E000000E00EE000500E6207119FEB8889102AA +:1004F0000208B98A00EE0005000500B67110012659 +:1005000020918000080C689019048AD8B88880016E +:100510000230B88A11200016080C9CE8001E901EBC +:10052000B84C904D09048AD8A86490050118800140 +:10053000A86601282918A800904D05D00CA8A88805 +:1005400090A2199A027090821999A88A90A2199A79 +:100550000210200119998003802384239420AC6623 +:100560000C48AC00A803000083FF1150B850990656 +:100570001128B84F0000B85300000050BC4E004096 +:1005800000962348AC02009EB85099061108BB5251 +:10059000A86B0103A87F0006A87B000000160036A8 +:1005A0000046080C706E004E003E001E240008201D +:1005B000012E8108918208000218900E7007000237 +:1005C000711200BE00057014206001262091800089 +:1005D000604090050128800160421110080CD70F7F +:1005E0006018900505588001601A154061209186B9 +:1005F000000301489186000601309186000911E050 +:10060000611CD1C41100080CD3F501B0601420485E +:10061000A888908A199A028090821999A88A908A4B +:10062000199A0210200119998003800B810B9108FF +:10063000611AA880D0E40110080CD0D4012E9C8847 +:10064000001871162001181A200491020220701758 +:100650001CD070070000000500E6207119FE70270D +:1006600007D07023000900EE000520011A072003BF +:100670000000000500E6207119FE7132702F00099C +:1006800000EE000520111A0A20130000000500E604 +:10069000207119FE711A721E700B000900EE000520 +:1006A00000860026705C8000705E20011A0E2044D7 +:1006B000A0709086000001507070A09E706CA09A8F +:1006C0007068A0967064A092080C1114002E008E21 +:1006D000000500060016009600A600B600C600D66B +:1006E00000E600F60156080C899E015E00FE00EE51 +:1006F00000DE00CE00BE00AE009E001E000E000513 +:1007000000E6207119FE717A727E7077000900EEA2 +:10071000000500E60006207119FE707C920611109B +:10072000707A707E000E00EE00052069180069E8FE +:10073000D1E415180026D1EC01406A546874920285 +:1007400002888117929400C000889184000701A05C +:10075000810991840007011069EA00708107908483 +:100760000007910D81079106909400C09184FF3F8E +:10077000920568EA080C0EF6002E0005001600C669 +:100780002009FFF4210D2061010060F0910060F369 +:1007900000002009FFF4200F1220810821058000AD +:1007A000200F00CE001E000500C620611A7700CE83 +:1007B00000059184000F80038003800390801A77E6 +:1007C00020600005A888908A199A16389005115063 +:1007D00000C620611A77601400CE90051130200108 +:1007E000001E0018908EFFFF01B08003800B810B6C +:1007F0009108611AA880908C00C0918E00C00904F5 +:100800008C6CD0B41168D0BC19048C45200900064A +:10081000080C8C990005900E0C602001199908B005 +:10082000D0FC0160908C00030120918E000319041C +:100830008C93908C2020918E202001A86024D0D40D +:1008400011E82009186C2104D084113887FF112089 +:10085000200900430804B5B9000587FF1DE82009F9 +:1008600000420804B5B9611000B62158B90000BEB5 +:10087000D1AC0D206024C0CD60260C00C0D4602611 +:10088000A894602EA890603208E0D0FC0160908CA3 +:1008900000030120918E000319048C93908C20207A +:1008A000918E20200170007600F62C78080C17A994 +:1008B00000FE007E87FF112020090042080CB5B918 +:1008C0000005611000B62158B90000BED1AC0D582A +:1008D0006124C1CD61260C38D0FC0188908C202089 +:1008E000918E202001A890840003908E0002014880 +:1008F00087FF112020090041080CB5B9000500B997 +:100900000CE887FF1DD820090043080CB5B90CB0CE +:10091000611000B62158B90000BED1AC0D20612491 +:10092000C1CD61260C002009000400190005200932 +:1009300000010096080CD3F5051860142048A9861C +:10094000A8006016918600011188A980918C810011 +:10095000918E8100115800C620611A776200D28CF6 +:100960001120620482100208620600CE080C6EADEF +:100970006014904D007620390000190C8BE2007E47 +:10098000009E0005015600C620611A77600081FFB5 +:100990000110920500089204600200CE015E00057D +:1009A0006800D08C11386808900501208001680A21 +:1009B000908500010005207119277003000670075B +:1009C0000000700F000070130001080C102F090CBC +:1009D0000DCCA86B0006A86F0001A8AFDCB0A8A3DF +:1009E00000002900702E70330000000501262091C0 +:1009F0008000009600E620711927702C20486A2C90 +:100A0000721E6B30732268347026A89A6838702A78 +:100A1000A89E68247016683C701A20090028200AD5 +:100A200090050148900E9188000C80011DE0210086 +:100A3000921012088318AA92AB967010D0840168A5 +:100A4000C08470070001700F0000000620091AD44E +:100A5000210490820007200A000EC0957012200821 +:100A60002001003B080C16499006207119407002C5 +:100A70007006702A00EE009E012E000520091AD48F +:100A8000210490800007200A000500E60126015697 +:100A90002091800020711800715420010008910AF3 +:100AA00006382001188020AC9006908000081F04B2 +:100AB0008D5571C0910202E02071187A20A90007BB +:100AC00000C6080CB4E66023000960030004601F40 +:100AD00001010089012620918000080C8ED6012E8C +:100AE0001F048D61900600CE015E012E00EE000510 +:100AF000908500010CC800E600B6009600860056FE +:100B0000004600267118720C76207004D0841128DB +:100B1000202100242029000200202021002C20294F +:100B2000000A080C1016090C0DCC2900601620587C +:100B3000AC6A9006A802A806A86E080C10E5A88B5F +:100B40000005A88300207008A89E7010A8A2AE8E91 +:100B5000A8B3FFFF81090170080C1016090C0DCC19 +:100B6000AD6A080C10E52B00A8022900B806205831 +:100B700081091D90002E004E005E008E009E00BE7A +:100B800000EE000520790000207119277004004B49 +:100B9000700C00028DCD8DC68DC600058DD78E2DB3 +:100BA0008E2D8E2D8E2E8E3F8E3F700C0CBA012610 +:100BB0002091800078A079A0910619048E1F7814E6 +:100BC000D0BC19048E28012E7018910A112870309B +:100BD000900519048E71000512107114910A9192FA +:100BE000000A02102009000A2001188B201420019D +:100BF00019392004910092020E50080C8FBE220079 +:100C00009102020822080096702C2048A877000163 +:100C1000A97A080C90C82100A882A8730000009E41 +:100C200001262091800020091A1E2104C085200A77 +:100C3000700F0002012E080C11331DE8000578A08A +:100C400079A0910609048DDF080C8F97012E00050D +:100C50007810C0C5781208048DDF0005700C000202 +:100C60008E338E368E35080C8DD500058001700EC2 +:100C70000096702C2048A978009E00110CA0000559 +:100C80000096702C2048701891007214921A11303E +:100C9000701CA8927020A896900600680006080CA8 +:100CA00090C82100AA909210AA921220A894908134 +:100CB0000000A896000E009E01262091800078A2D8 +:100CC000701A080C8F97012E000500E62071192775 +:100CD000700C00028E6F8E6F8E6D700F000100EE33 +:100CE00000050126209180007030900505082078CD +:100CF00078142048AE8C00B620590000080C8EDF16 +:100D000000BE01B000E620711940080C8F2600EEED +:100D100001780096080C102F2900009E0148A8AE0B +:100D200004C100412001194A20030000012E08C817 +:100D3000012E000500D600C6008600A629402650D8 +:100D4000260090050188A8689084000F20689D887F +:100D500021252165005620290000080C904B8A01AE +:100D6000190C20DD1DD0005E00AE20011882200489 +:100D7000A88E080C17A9781F01017813000001261E +:100D800020918000080C8F35012E008E00CE00DEF1 +:100D900000057030900501482078780C7032780F8B +:100DA00000002001194A20030001000500E620711F +:100DB00019277030600E2C00703200EE000500D64E +:100DC00000C600269B80918F2005906D090C0DCCEC +:100DD0009B80918720059065090C0DCC611426003D +:100DE000910202486828910202F090850001002ECD +:100DF00000CE00DE00056804D09401486854D08419 +:100E00001178C085685620118026080C4DBF684CAB +:100E10000096904D090C0DCCA8048000A806009EF9 +:100E2000900620300C206854D08C1D08C08D685668 +:100E300020118025080C4DBF684C0096904D090C80 +:100E40000DCCA8008000A802009E08887000201920 +:100E500000088319710491021118230090050020E5 +:100E60000210930200088002000500D67814900555 +:100E7000090C0DCC781C9084010190860101190C9D +:100E80000DCC78270000782BFFFF206919406804FB +:100E9000908019422F08210269048108918200087C +:100EA0000208900E6906918019422003000000DEBE +:100EB0000005009600C6206060142048A8AC00968B +:100EC00020489005190C1048009EA8AF0000080C9F +:100ED0000FC8080CB53C00CE009E0005602090862F +:100EE00000091128601CD0C40110900600059085EF +:100EF000000100052009192B210CD19400052009BF +:100F0000192B210CD1C4000501262091800000E698 +:100F1000207119277110C194C185700700007112EA +:100F20002001003B080C164900EE012E0005781444 +:100F3000D0BC110800057810C0C578120CC000960E +:100F400000D690067006700E701A701E7022701611 +:100F5000702A7026702E080C91140170080C9149AB +:100F6000015829007002700A701A70130001701F76 +:100F7000000A00DE009E0005900E0CD800E60096E8 +:100F8000008600D600C620711934721C210092021E +:100F90001618080C9149090C0DCC701890051160B9 +:100FA00029007002700A701A90067006700EA8066A +:100FB000A8027012701E00382040A8062900A00266 +:100FC000701AA8030000701080007012701C9080CE +:100FD000000A701E721C08D0721C00CE00DE008E4B +:100FE000009E00EE0005009601560136014600E61F +:100FF000012620918000207119347300831F831E05 +:10100000831E9384003F20E8939CFFC093980003C5 +:101010007104080C90C8810C2100931880032228C9 +:10102000202100789402953202082028850420A807 +:1010300023A0A001A00140052508080C90CF213075 +:101040007014960070162600711C9102701E7004B8 +:10105000960020089082000A119070002048A80095 +:1010600090051148200900010026080C8FBE002EB3 +:1010700070002048A8007002700700000008710688 +:101080002500921219048FFD012E00EE014E013E43 +:10109000015E009E00050016002600E60126209154 +:1010A00080009580918720059075090C0DCC080C67 +:1010B00090A1012E9580918320059075090C0DCC8F +:1010C0000156013601C6014601D6831F831E831EC9 +:1010D0009384003F20E09384FFC091002098A86093 +:1010E00020E8A95C2C05910020A020A90002400363 +:1010F0002E0C2D000002908B908B908D908B908DFC +:10110000908B908B908B908B908B9093908B9093F7 +:10111000908B908B908B080C0DCC410420A9000281 +:1011200040024003002820A900024003410440037C +:1011300001DE014E01CE013E015E00EE002E001EDA +:1011400000050096701480010A0C0DCC7016710C0D +:10115000211000F1810C91880003730882109282A3 +:10116000000A119870082048A80090050158000650 +:10117000080C9157009EA80700002900700A701003 +:1011800080017012700F00000008720E009E0005B2 +:101190000006810B810B81039108000E00050006FB +:1011A00000262100900501589092000C0240900EFC +:1011B00081089082000C1DE0002E000E0005900EAC +:1011C0000CD82D0090B8000820319112901E6808AC +:1011D000900501088318690C910A024801408318A0 +:1011E0006810911202200118831822080CD0233AAB +:1011F0006804D08423002021000111509082000354 +:1012000009670A6784209082000709670A670CD083 +:101210009082000209670A678420908200050967AE +:101220000A670CD06C1A0005009600460126209132 +:1012300080002B009080918B20059005090C0DCC2F +:10124000200490A0000A080C102F01D0290070265D +:10125000A8030000A8070000080C102F01887024C4 +:10126000A802A80700002900702694A2000A011015 +:1012700002080C9090850001012E004E009E000592 +:10128000702490050DC82048AC00080C10482400BC +:101290000CC00126209180007024904D0130A800E0 +:1012A0007026A8030000A8070000012E00050126F3 +:1012B000209180007024A80229007026012E0005CC +:1012C00000967024904D0130A8000006080C1048CC +:1012D000000E0CC0009E000500967008904D013075 +:1012E000A8000006080C1048000E0CC09006700202 +:1012F000700A7006700E701A701E7022702A7026A6 +:10130000702E009E00051A6A0000000000001934CB +:10131000000000000000188B000000000000187A98 +:1013200000000000000000E600C600B600A6A8AC61 +:1013300020402071187A080C92AFA06B0023601037 +:10134000905D09049284B814A072B910A176B9A076 +:10135000A17A20010003A082A834A086A07F00000B +:10136000A89C90050118A07CC085A07E285820313B +:101370000018A06C908A00191A0C0DCC2020205067 +:101380002940A86890BC00FF908C000F91E02125B7 +:101390002C65978600242C051590908A00371A0C2E +:1013A0000DCC9082001C000291EF91EF91F191EF32 +:1013B00091EF91EF91F391EF91EF91EF91F591EF23 +:1013C00091EF91EF91F791EF91EF91EF91F991EF0B +:1013D00091EF91EF91FB91EF91EF91EF91FD080C5F +:1013E0000DCCA18404B8A19404A8A1A40498A1B42C +:1013F0000488A1C40478A1D40468A1E40458908AA4 +:1014000000351A0C0DCC9082001C00029221921F14 +:10141000921F921F921F921F9223921F921F921F40 +:10142000921F921F9225921F921F921F921F921F2E +:101430009227921F921F921F921F921F9229080CAF +:101440000DCCA1840038A19C0028A1B40018A1CC27 +:101450000008A1E426000002924592479249924B6F +:10146000924D924F92519253925592579259925B4C +:10147000925D925F92619263926592679269926BBC +:10148000926D926F927192739275080C0DCCB9E6C1 +:101490000468B9E20458B9DE0448B9DA0438B9D6A8 +:1014A0000428B9D20418B9CE0408B9CA00F8B9C6DC +:1014B00000E8B9C200D8B9BE00C8B9BA00B8B9B618 +:1014C00000A8B9B20098B9AE0088B9AA0078B9A648 +:1014D0000068B9A20058B99E0048B99A0038B99678 +:1014E0000028B9920018B98E0008B98A8631842183 +:1014F0000130080C20DD090C0DCC080491C900AEA8 +:1015000000BE00CE00EE0005A870A072A874A07600 +:10151000A07B00FF9006080491AB0006001600B601 +:1015200060102058B810900501B02001192820043F +:1015300090050188200118002004908600031158AE +:1015400000360046BBA02021000420118014080CA6 +:101550004DBF004E003E00BE001E000E000590165E +:10156000710CA834910AA9367008900501208210E8 +:10157000910A0230012870108210910A02081DE0C1 +:10158000AA8EA26E000500F600D600362079030070 +:10159000781B02007818D0941DD8781B0202A00195 +:1015A000A0017818D0941DA0B8AC906D01289C1EA5 +:1015B0001148680CB8AE630E781B0200003E00DED6 +:1015C00000FE00052D78680C906D090C0DCC9C1E5A +:1015D0001DC8680C780E207903000C6800E600D660 +:1015E000009600C60036012620918000015620A9F1 +:1015F00001FF20710300701B02007018D0940110CD +:101600001F0492FB701B0202A001A0017018D0946D +:101610001D90B8AC906501F0600CB8AE6024C08D30 +:10162000602660030004601B000060130000601F60 +:1016300001016014904D090C0DCCA88F0000A8ACDE +:10164000A8AF0000904D090C0DCC080C1048080CF8 +:101650008ED608F820710300701B0200015E012E77 +:10166000003E00CE009E00DE00EE000500C600B683 +:10167000001600060156080C28E8015E11B0080C9F +:10168000681E190C0DCC000E001EB912B816080CFD +:10169000B4E601402B006012602300012009000124 +:1016A000080CB5B900BE00CE0005000E001E0CD01F +:1016B0000066600090B200141A0C0DCC0013006E8E +:1016C0000005937193719371937393C493719371A4 +:1016D0009371943F9371947C93719371937193710F +:1016E0009371080C0DCC9182004000029386938682 +:1016F0009386938693869386938693869386938820 +:10170000939D938693869386938693B0080C0DCC15 +:101710000096080C9C98080C9E0361142148A87F31 +:101720000000601000B62058B8BB050000BE080CD1 +:101730006E72080CB53C009E0005080C9C9800D603 +:101740006114080CD3F50130009661142148080C8F +:10175000706E009E00DE080CB53C080C9E03000570 +:10176000080C9C98080C330B611400962148080C57 +:10177000D3F50120A87F0029080C706E009E080C8C +:10178000B53C080C9E030005601B000091820040E0 +:101790000096000293DF93DF93DF93DF93DF93DF05 +:1017A00093DF93DF93E193DF93DF93DF943B93DF4A +:1017B00093DF93DF93DF93DF93DF93E893DF080CEE +:1017C0000DCC61142148A938918EFFFF0904943B88 +:1017D0006024D08C15D0080C8F7A05E000E66114E7 +:1017E0002148080C91930096A8AC2048080C6E0A7A +:1017F000009EA8AF000060109005012800B6205898 +:10180000080C92C300BEAE8C00B620590000080C34 +:101810008EDF00BE01E020711940080C8F2601B850 +:101820009086000111282001194A200490051178A2 +:101830000096080C10162900009E0148A8AE00F67C +:101840002C78080C8E9A00FE00EE009E0005080C15 +:101850008ED60CD0080C8F7F11606010900501307F +:101860002058B8AC9005190C0DCC60122C00080C57 +:101870008F59009E0005080C94EA009E0005918295 +:1018800000400096000294539453945394559453FB +:1018900094539453947A94539453945394539453E9 +:1018A000945394539453080C0DCC600300036106C9 +:1018B00060142048A8B0A846A8B4A84AA8370000D9 +:1018C000A83B0000A8889092199A0210200119994B +:1018D0008003801382139210621A2C10080C1C3C97 +:1018E000080C9799012620918000080C9E03012E78 +:1018F000009E0005080C0DCC0096080C9C98080C66 +:101900009E0361142148A87F0000601000B6205893 +:10191000B8BB050000BE080C706E080CB53C009EFC +:1019200000056000908A00141A0C0DCC009600137C +:10193000009E000594AA94AA94AA94AC94BD94AA7B +:1019400094AA94AA94AA94AA94AA94AA94AA94AAA7 +:1019500094AA94AA080C0DCC080CAE786114214806 +:10196000A87F0006601000B62058B8BB050000BE76 +:10197000080C706E080CB53C0005046100056000A1 +:10198000908A00141A0C0DCC00960013009E0005DE +:1019900094D894D894D894DA94EA94D894D894D8D3 +:1019A00094D894D894D894D894D894D894D894D8D7 +:1019B000080C0DCC003600E6207119EB703C9C063B +:1019C000112020190000080CAC96080CAE7800EE2F +:1019D000003E00056024D08C11F000F600E6601B8C +:1019E00000006014204860109005012800B62058BF +:1019F000080C92C300BE20711940080C8F260160AC +:101A0000200118822004A88E203100002C78080CB8 +:101A10008E9A00EE00FE00050096A88F0000A8AC8C +:101A20002048080C1048009EA8AF0000080C8ED675 +:101A30000C8020011928200C918E0000190C8F7A3F +:101A400005C800E6207119277110C1C57112080C74 +:101A50008F8400F600C62071100000B62E04905D41 +:101A60000138B8AC90650120080C8F6E090C92EE1D +:101A70008E709E8618001D9000BE00D6009600460F +:101A800020611CD02001181A2024602090860000BC +:101A900011919CE0001824009C061DB8004E009E89 +:101AA00000DE00D100CE00FE207119277110C1C4E4 +:101AB000711200EE0005602090860009116061003F +:101AC000918600041138611081FF190C0DCC2C0097 +:101AD000080C8F59900600052071194220730000F0 +:101AE0008E709E86194A1DD02071194070067002B2 +:101AF0002001193320648CFF01306120918E000099 +:101B0000190C0DCC21022001188D200C81FF0148F9 +:101B100000962148080C1048009E2001188D2003D3 +:101B2000000020711934080C91600804916C0000C9 +:101B300000000000000000000000000000000000A5 +:101B4000187D0000000000000000000000000126D9 +:101B500020918000007620390100273C97BE0008C4 +:101B6000015620A90010900501F0911A12E082138D +:101B700087FF1110818D001081F53E080228911A0F +:101B800012201F0495B70028911A230882101F0401 +:101B900095B7000632009084EFFF2080000E015EB2 +:101BA000007E012E000500063200908510000CA872 +:101BB000012620912800207919EB012E00D62069FA +:101BC00019EB680300050156014601D620E9000023 +:101BD00020690200080CB1F70401080CB1E200E929 +:101BE000080CB1E500D1080CB1E800B9080CB1EB64 +:101BF00000A1080CB1EE0089080CB1F10071080CCD +:101C0000B1F4005901DE014E015E206900042D048B +:101C100090858001206A00DE000520A9002020A117 +:101C20000240200100004004000500C660270001BA +:101C300078049084000700029628964C968D962E84 +:101C4000964C962896269624080C0DCC00CE0005BE +:101C5000080C8B35080C9CE800CE000562C082FFA2 +:101C6000111000CE00052011611B080C8A65782830 +:101C7000909200C812288000782A080C615B0C88BA +:101C800062C0080CB333080C611B78070003782787 +:101C90000000782B00000C28080C8B356220D2A4A1 +:101CA0000170D2CC0160782B000078249065090C7B +:101CB0000DCC20090013080CB5B900CE000500C6F4 +:101CC00078249065090C0DCC78289092C35012C0EE +:101CD0008000782A00CE080C2C43027800C67924B4 +:101CE00021606010906D090C0DCC780700007827FA +:101CF000000000CE080C9CE80C00080CA8F708E8CF +:101D0000201101302214080CB333080CF49D200973 +:101D10000014080CB5B900CE088020011A07200372 +:101D2000000062C082FF1160782B0000782490656B +:101D3000090C0DCC20090013080CB60B00CE0005D1 +:101D400000B600C600D678249005090C0DCC782882 +:101D50009092C35016488000782A00DE00CE00BE64 +:101D6000080C2C4302F000B600C600D6781C905D2B +:101D7000090C0DCCB800C0DCB80279242160080C35 +:101D8000B53CB93C81FF090C0DCC8109B93E7807FF +:101D900000007827000000DE00CE00BE080C9CE8A2 +:101DA0000868080CA8F70850201101302214080C0C +:101DB000B333080CF49D7824906520090014080CB6 +:101DC000B5B900DE00CE00BE0804969E00C6200114 +:101DD000009B2004D0FC190C1F49602460270002DE +:101DE000D0F415B862C860C492051170783C906553 +:101DF000013020090049080CB5B900CE00052011BA +:101E00001A0A201300000CC8793C81FF0DC07944E8 +:101E100091927530162881087946793C918800089E +:101E2000210C918E000611386014908419849085DD +:101E3000001260160C10793C91880008210C918EDC +:101E400000090D9060149084198490850016601626 +:101E500008A0793C21602009004A080CB5B908683F +:101E60007848C085784A08480006001600C6012652 +:101E700020918000600F00002C08206119EB602089 +:101E800080006022601090050148908000032102CC +:101E90006112012E00CE001E000E000561166112B7 +:101EA0000CC000D6206919EBB800D0D401686820B6 +:101EB000800068229086000111102B00681E00DE51 +:101EC00008049CE800DE0005C0D5B802681890053B +:101ED0000168B856B85B0000008600062B00681A3F +:101EE000008EA05A008E206919EB0C08B856B85A1B +:101EF0002B00681A681E08D80006001600C60126C6 +:101F000020918000600F00002C08206119EB6020F8 +:101F10008000602260089005014890800003210243 +:101F2000610A012E00CE001E000E0005610E610A3E +:101F30000CC000C6600F00002C08206119EB603453 +:101F400090050130908000032102613600CE00052B +:101F5000613A613600CE000500F600E600D600C604 +:101F600000B6009600760066005600360026001681 +:101F700000060126902E207119EB7638266026780F +:101F8000209180008CFF0904982860102058B8A088 +:101F900092061904982387FF0120605491061904C2 +:101FA0009823703C9C061178003620190001080C1B +:101FB000AC96703300009006703E70427046704AD6 +:101FC000003E2029000170389C361110660C763ACC +:101FD00070349C3611402C009F3601182F0070364B +:101FE000001070370000660C00662C009F06011080 +:101FF0007E0E00082678600F0000080CD3F501F073 +:102000006014204860209086000315B86004908614 +:102010000040090CAE68A86B0103AB7EA87B0000F2 +:10202000001600360076080CD6F8080CF372080C7F +:10203000706E007E003E001E080CD5F2080CB56FD5 +:1020400000CE080497C22C78600C2060080497C268 +:1020500085FF01200036080C9E03003E012E000E75 +:10206000001E002E003E005E006E007E009E00BE40 +:1020700000CE00DE00EE00FE000560209086000627 +:102080001158001600360076080CF372080CEFADFC +:10209000007E003E001E08906020908600091168B6 +:1020A000A87F0006001600360076080C706E080C3B +:1020B000B53C007E003E001E081860209086000A95 +:1020C0000904980D0804980600060066009600C6EC +:1020D00000D600F69036012620918000207919EB79 +:1020E00078389065090498B9600C0006600F00000C +:1020F000783C9C061168003620190001080CAC964B +:1021000078330000901E7B3E7B427B467B4A003E3C +:10211000080CD3F505486014204860209086000321 +:1021200015903E08918E0002118860109005017094 +:1021300000B62058B80000BED0BC014060409005F9 +:1021400011A82001198B2004604200806004908651 +:102150000040090CAE68A86B0103AB7EA87B0000B1 +:10216000080C7061080CD5F2080CB56F000E08045D +:1021700098717E3A7E36012E00FE00DE00CE009E73 +:10218000006E000E00056020908600061118080CF5 +:10219000EFAD0C506020908600091130AB7E080C2A +:1021A000706E080CB53C0C1060209086000A09A8DF +:1021B000086800160026008690460099080C99C40D +:1021C000008E002E001E000500F60126207919EB76 +:1021D00020918000080C9A5B080C9AEB012E00FEFF +:1021E000000500B6009600F600E600D600C60066C0 +:1021F00000160006012620918000207119EB76144C +:10220000266026788CFF0904998960102058B8A0B0 +:1022100092061904998488FF0120605491061904DC +:10222000998470249C061568206901006820D0A458 +:102230000110D0CC1508080C8B35080CA91B68C3FD +:102240000000080CAE6870270000003620690140CD +:102250006B0493841000013820010100080C2DAE9E +:102260009006080C2DAE206901006824D08401106E +:1022700068270001003E002860030009630A080483 +:10228000998470149C361110660C761670109C366A +:1022900011402C009F3601182F007012001070138F +:1022A0000000660C00662C009F0601107E0E0008E0 +:1022B0002678600F000060142048080CD3F501E870 +:1022C0006020908600031580080CD60F1118080CAA +:1022D000BF7F0098A86B0103AB7EA87B00000016AF +:1022E00000360086080CD6F8080CF372080C706EE5 +:1022F000008E003E001E080CD5F2080CB56F080CCD +:10230000AD3E00CE080499022C78600C20600804D1 +:102310009902012E000E001E006E00CE00DE00EEBF +:1023200000FE009E00BE0005602090860006115849 +:10233000001600360086080CF372080CEFAD008E14 +:10234000003E001E08D0080CBF7F6020908600026F +:1023500011606004000690860085000E0904996AE9 +:102360009086008B0904996A0840602090860005D9 +:1023700019206004000690860085000E09C890862A +:10238000008B09B00804997D00B600A6009600C62F +:102390000006012620918000928010002004905DAC +:1023A00009049A5400F600E600D60066207119EB85 +:1023B000BE5470189B061108761A701C9B061130CB +:1023C00086FF11187018701E0008761EB858904DC0 +:1023D0000108AE5696D5000001102900B05AB85732 +:1023E0000000B85B0000B800C0D4C0DCB802080C24 +:1023F00067B109049A50762486FF09049A3F9680B3 +:1024000000052004990615D800D62069010068C08F +:1024100090050560080C8B35080CA91B68C30000EB +:10242000080CAE68702700000036206901406B047C +:1024300093841000013820010100080C2DAE900695 +:10244000080C2DAE206901006824D0840110682793 +:102450000001003E00DE00C6B83C9005011080017E +:10246000B83E2660080CB56F00CE004800DE00C6FE +:10247000266060030009630A00CE080499F789FF0B +:102480000158A86B0103AB7EA87B0000080CD6F8AE +:10249000080CF372080C706E080CAD3E080499F736 +:1024A000006E00DE00EE00FE012E000E00CE009E4B +:1024B00000AE00BE000500960006006600C600D60D +:1024C00090367814906509049ABE600C0006600F7F +:1024D000000078249C061580206901006820D0A4A3 +:1024E0000110D0CC1508080C8B35080CA91B68C34B +:1024F0000000080CAE687827000000362069014013 +:102500006B0493841000013820010100080C2DAEEB +:102510009006080C2DAE206901006824D0840110BB +:1025200068270001003E0040080C6BF31520600393 +:102530000009630A2C3000F860142048080CD3F31B +:1025400001B06020908600031508080CD60F111802 +:10255000080CBF7F0060080C6BF31168A86B0103C7 +:10256000AB7EA87B0000080C706E080CD5F2080C3E +:10257000B56F080CAD3E000E08049A627E167E12FE +:1025800000DE00CE006E000E009E000560209086EA +:1025900000061118080CEFAD0C50080CBF7F60202E +:1025A0009086000211506004000690860085000E9F +:1025B00009909086008B097808D0602090860005ED +:1025C00019B06004000690860085000E0D189086F4 +:1025D000008B0D00086000060066009600B600C67D +:1025E00000D67818905D09049B6BB85400069006DD +:1025F000B856B85AB800C0D4C0DCB802080C67B1ED +:1026000009049B687E2486FF09049B5B9680000575 +:102610002004990619049B5B00D62069010068C05C +:10262000900509049B52080C8B35080CA91B68C344 +:102630000000080CAE6878270000003620690140D1 +:102640006B0493841000013820010100080C2DAEAA +:102650009006080C2DAE206901006824D08401107A +:1026600068270001003E00DE00C63E08918E000291 +:102670001168B800D0BC015096800010200C81FF7A +:1026800015182009198B210C210200F0B83C900587 +:1026900001108001B83E2660600F0000080CB56F85 +:1026A00000CE004800DE00C6266060030009630A11 +:1026B00000CE08049AFE89FF0138A86B0103AB7EA7 +:1026C000A87B0000080C706E080CAD3E08049AFE52 +:1026D000000E08049AF2781E781A00DE00CE00BEC2 +:1026E000009E006E000E000500E600D60096006613 +:1026F000B800D0DC01A0B84C904D0188A87C9606AB +:102700001170207119EB70249035014890800005FC +:10271000200499061120B800C0DCB8020029006E20 +:10272000009E00DE00EE000500F62079010078C072 +:102730009005113800C6266060030009630A00CEC8 +:1027400004B8080CA91B78C30000080CAE687027F9 +:1027500000000036207901407B049384100001388A +:1027600020010100080C2DAE9006080C2DAE20793A +:1027700001007824D084011078270001080CAE688D +:10278000003E080C67B100C6B83C900501108001FE +:10279000B83E2660080CB53C00CEA86B0103AB7EAA +:1027A000A87B0000080CD6F8080C706E080CAD3E33 +:1027B00000FE000500B600E600C62011010122045B +:1027C000C0C420122001180C2014C2E4220220717F +:1027D00019EB70049084000700029BF79BFB9C1B85 +:1027E0009C449C829BF79C129BF5080C0DCC00CE60 +:1027F00000EE00BE00057024906501487020800145 +:102800007022600C901501587216600F000070075E +:1028100000007027000000CE00EE00BE000572161A +:1028200072120CA86010205870070000702700007A +:1028300070209005007060102058080C67B1B80037 +:10284000C0DCB80270070000702700007020800113 +:10285000702211482001180C2014D2EC118000CEF7 +:1028600000EE00BE0005B85490150120721E080C41 +:102870009CE80CA87218721E080C9CE80C80C2EC34 +:102880002202080C9E030C587024906505B8700C49 +:102890009C061160080CAD3E600C90150120720E74 +:1028A000600F00000448720E720A043070149C0617 +:1028B0001160080CAD3E600C901501207216600F7F +:1028C000000000D07216721200B8602090860003DB +:1028D000119860102058080C67B1B800C0DCB8022D +:1028E000080CAD3E701C90650138B854901501106D +:1028F000721E00107218721E7027000000CE00EECB +:1029000000BE0005702490650140080CAD3E600CCF +:1029100090150158720E600F0000080CAE68702709 +:10292000000000CE00EE00BE0005720E720A0CA878 +:1029300000D6206919EB68309084000300029CA542 +:102940009CA79CCB9CA3080C0DCC00DE000500C608 +:1029500068409086000101B8683C90650130600CC9 +:10296000901501706A3A600F000068330000683FFC +:10297000000020111A0A2013000000CE00DE00051E +:10298000683A68360C9068430000683890650D68B6 +:10299000600300030C5000C6900668426846684A0F +:1029A000683C90650160600C901501306A3A600FD8 +:1029B0000000683F00000018683E683A683600CEA4 +:1029C00000DE00052001180C200CC1E521020005E5 +:1029D0002001180C200CD1EC0120C1EC2102080CC4 +:1029E0009E03200119F72004908600010D5800D69F +:1029F000206919EB6804908400070006900511C84F +:102A00002001183720049084002811982001197F94 +:102A100020049086AAAA01682001188E2004D08C78 +:102A20001118D08411180028080C9E03000E00DE37 +:102A30000005000E00029D259DD79DD79DD79DD7EF +:102A40009DD99DD79D23080C0DCC682090051110B1 +:102A500000DE000500C6680C906501F06104918EEF +:102A60000040118020091837210C918C002811504A +:102A7000080C77FF013800062009188E2104C09544 +:102A8000200A000E680700046826682B0000080C66 +:102A90009EAC00CE00DE000568149065015068070A +:102AA00000016826682B0000080C9EAC00CE00DEFA +:102AB000000500B600E66A1C92DD000009049DC115 +:102AC000B84C900D0118B888900501A0B854905DDD +:102AD0000120920E09049DC100286818920E090475 +:102AE0009DC12058B84C900D0D88B88890051D7078 +:102AF0002B00681EBB3CB83893021E40080CB5136F +:102B000009049DC18318BB3E61162B10621200960A +:102B10002148A884908400FF605EA8870000AB6411 +:102B2000A8670000009E631A611400962148A968F6 +:102B3000009E918C00FF918E0048053800F62C789D +:102B400020610100BAC0629A20690200207102402F +:102B5000080CA44B206919EBBB00C3DDBB0268075E +:102B600000022F186B26682B0000782300037803DF +:102B700000017807004000FE00EE00BE00CE00DE3F +:102B8000000500EE00BE00CE0CD0680700062C1831 +:102B90006B26682080016822682B0000080C67B152 +:102BA000080CB35300EE00BE00CE00DE000500DED0 +:102BB000000500C6680C906501D86104918E004044 +:102BC000118020091837210C918C00281150080C15 +:102BD00077FF013800062009188E2104C095200ACD +:102BE000000E680700046826682B0000080C9EACE5 +:102BF00000CE00DE00052001180C2014C2ED2202D8 +:102C000000DE00FE000500F600D6206919EB6830F2 +:102C10009086000015702001180C2014D2E40130B9 +:102C2000C2E42202080C9CF7206919EB2001180C61 +:102C3000200CD1C415086838907D01D86A04928EA2 +:102C4000000019049EA07920918E00090568683360 +:102C50000001683E68470000684B0000012600F64E +:102C600020912400002E080C1CD51158012E080CB0 +:102C7000A77800DE00FE0005C1C42102080C78AC74 +:102C800008D0012E6843000078030002780C9015EC +:102C900001406A3A780F000068330000683F000086 +:102CA0000C40683A68360CC07908D1FC119868333A +:102CB0000001683E68470000684B0000012600F6EE +:102CC00020912400002E080C1CD519D8012E080CC8 +:102CD000A6F908782001183720049084002811886C +:102CE0002001197F20049086AAAA0158200119EC1E +:102CF0002004900511F02001188E200CC185C18C94 +:102D000021022F0068330001683E68470000684BCD +:102D10000000012600F620912400002E080C1CD58E +:102D200019049E41012E6A3C2278080CA6830804EF +:102D30009E392011188E2204C08D201208049E395D +:102D40006A049296000619049DFB6A309296000070 +:102D500009049E2308049DFB60209084000F000B53 +:102D600000059EC09EC5A37BA4149EC5A37BA4148E +:102D70009EC09EC59EC09EC09EC09EC09EC09EC05E +:102D8000080C9BDA080C9CE8000500B601560136D9 +:102D9000014601C601D600C600D600E600F620694D +:102DA0000200207102406004908A00541A0C0DCC7D +:102DB00061102158B9C02C7820610100619A908A75 +:102DC00000401A049F31005B00FE00EE00DE00CEE2 +:102DD00001DE01CE014E013E015E00BE0005A0DC19 +:102DE000A117A140A20AA22CA232A23FA247A2533D +:102DF000A259A26AA259A2C2A247A2CEA2D4A253A9 +:102E0000A2D4A2E09F2F9F2F9F2F9F2F9F2F9F2FF6 +:102E10009F2F9F2F9F2F9F2F9F2FAB4DAB70AB816D +:102E2000ABA1ABD3A23F9F2FA23FA2599F2FA1409E +:102E3000A20A9F2FAF5FA2599F2FAF7BA2599F2F4E +:102E4000A253A0D69F549F2FAF97B006B0E19F2FFB +:102E5000B0EEA23CB1199F2FABDDB1609F2F080CE3 +:102E60000DCC2100005B00FE00EE00DE00CE01DE96 +:102E700001CE014E013E015E00BE0005B1FBB2ADC8 +:102E80009F529F8CA038A0439F52A23F9F52A09D6B +:102E9000A0A99FA79F529FC29FF6B41AB45FA259E0 +:102EA0009F52B146080C0DCC00D60096080CA2F338 +:102EB0000026003678142048A958D1CC11382009B2 +:102EC00024142011001820190018003020092410A3 +:102ED000201100142019001471027206700B0800F2 +:102EE000A83C700EA8507022A854702663C2080C2B +:102EF000A8EF003E002E009E00DE0005781000B610 +:102F00002058B8A000BE080CB4A611189084FF8009 +:102F1000011090850001000500D60096080CA2F370 +:102F20007003050078142048A878700AA87C700EF9 +:102F3000A8807012A8847016A888701AA88C701EB9 +:102F400060C30010080CA8EF009E00DE000500D64C +:102F50000096080CA2F37003050078142048A8D04E +:102F6000700AA8D4700EA8D87012A8DC7016A8E059 +:102F7000701AA8E4701E60C30010080CA8EF009E31 +:102F800000DE000500D60096012620918000080C86 +:102F9000A2F320E90000200119A720030000781403 +:102FA0002048A814800360C2A83020A8A86020E0B0 +:102FB000A85C9080001C2098200119A70016200C06 +:102FC00020010001080C244C080CE23D9006080C7E +:102FD000244C001EA8049005011020480C2804D998 +:102FE000080CA8EF012E009E00DE000500D600961A +:102FF000012620918000080CA33E20E9000020015A +:1030000019A72003000078142048A8730200A877AD +:103010000000A814800360C2A83020A8A86020E0A7 +:10302000A85C9080001C2098200119A70016200C95 +:10303000080CE23D001EA8049005011020480C6019 +:10304000005178142048080C0FC8080CA8EF012E76 +:10305000009E00DE000560C080049084000390059F +:1030600001309082000420A3000080001DE00005D4 +:10307000080CA2F37003780078088007700A60C318 +:1030800000080804A8EF00D600E6080CA33E781458 +:103090009084FF00207302008E708E709096DF0087 +:1030A00001389096E0000120207300108E700030EF +:1030B0009095001022728E70207300348E702069FB +:1030C000180520A900042D768D688E701F04A0635A +:1030D0002069180120A900042D768D688E701F04C8 +:1030E000A06C9096DF0001309096E000011860C35C +:1030F000001800F0206919B79086DF0001102069E0 +:1031000019D120A9001A9E860260114800C62061CC +:10311000020060108000601200CE207102402D0479 +:10312000800720728D688E701F04A08360C3004CDE +:10313000080CA8EF00EE00DE0005080CA2F37003F7 +:103140006300700700287808700E60C30008080448 +:10315000A8EF00D600260016080CA33E700302005C +:103160007814700E00E69EF0000420090001201182 +:10317000000C206919276810D084114820730500BD +:103180008E70207300008E7081089290000420736E +:1031900008008E702073000000EE7206710A62C291 +:1031A000080CA8EF001E002E00DE000520011818F4 +:1031B0002004609A0804A8EF080CA2F370035200E0 +:1031C0002069184A6804D084013068280016080C69 +:1031D000291B710E001E20A9000420E10001209986 +:1031E000180520E9000020A10250400320A9000496 +:1031F0002099180120A102544003080CB4A6112004 +:10320000B8A09082007F02482001181F200470326D +:1032100020011820200470360030200118182004E6 +:10322000908400FF703660C3001C0804A8EF080CEF +:10323000A2F370030500080CB4A61120B8A0908278 +:10324000007F02482001181F2004700A2001182066 +:103250002004700E0030200118182004908400FF14 +:10326000700E20A9000420E100012099180520E932 +:10327000000020A10250400360C300100804A8EF22 +:10328000080CA2F39006080C6C25B8A09086007E6E +:10329000117020110240201322FF2011024120133F +:1032A000FFFE70030400620CC2B4620E0058781472 +:1032B0000096904D01209006A89EA8AAA8AE009E58 +:1032C00070030300B8A09086007E1904A1CA00D63E +:1032D0002069196F200118372004D0A401886800E4 +:1032E000700A6808908420007012080CB4BD680C45 +:1032F0007016701F271068187022681C702604282A +:103300006800700A6804700E2009180D210CD18C19 +:1033100001102001000200F620790100080C77FF5F +:10332000112878E30000080C295C78E200FE6808A8 +:10333000080C77FF1118908437FF001090843FFF2E +:103340007012080CB4BD680C701600DE20A90004D1 +:1033500020E100012099180520E9000020A1025673 +:10336000400320A900042099180120A1025A40031B +:1033700000D6080CB1E2206919772071024E68006E +:10338000C0DD7002080C5963D0E40110680C700EA7 +:1033900000DE04E0200118372004D0A401A80016A4 +:1033A0002001180D2004D08C2009000211182001E2 +:1033B0001970200C60E091060130210060E30000EC +:1033C000080C295C61E2001E20E100012099196FC0 +:1033D00020E9000020A1024E20A90008400320A9F6 +:1033E00000042099180520A10256400320A90004DA +:1033F0002099180120A1025A4003080CB1E220A133 +:10340000024E20A9000820991977400360C3007478 +:103410000804A8EF080CA2F3700320107007001432 +:10342000700B0800700F2000900600F62079184AF3 +:10343000790400FED1AC111090850020D1A40110B8 +:10344000908500109085000200D60804A2A3702683 +:1034500060C300140804A8EF080CA2F37003500026 +:103460000804A162080CA2F3700321107007001475 +:1034700060C300140804A8EF080CA3350010080C62 +:10348000A33E7003020060C300040804A8EF080C08 +:10349000A33E70030100700B0003700F2A0060C38D +:1034A00000080804A8EF080CA33E700302000804FB +:1034B000A162080CA33E70030100782C9005011056 +:1034C000700A0010700B00037814700E60C30008BF +:1034D0000804A8EF00D6080CA33E70030210700782 +:1034E0000014700B0800B894908600141198B99CD1 +:1034F000918400300190B9989184C0001140D1ECC2 +:103500000118700F21000058700F01000040700F6B +:1035100004000028700F07000010700F080000F66C +:103520002079184A790400FED1AC11109085002052 +:10353000D1A40110908500102009186C210CD184B1 +:1035400011109085000200262009186A210CD1E490 +:103550000150C0C5BACCD28C1108C0CD90940030B7 +:10356000929600100140D1EC013090940030929678 +:1035700000100108C0BD002E702660C3001400DEDC +:103580000804A8EF080CA33E700302107007001493 +:10359000700F010060C300140804A8EF080CA33EDC +:1035A000700302000804A0E0080CA33E70030100B1 +:1035B000700B0003700F2A0060C300080804A8EF16 +:1035C000080CA33E70030100700B000B60C30008E1 +:1035D0000804A8EF002600D6003600462019320065 +:1035E000202108000040002600D6003600462019A1 +:1035F000220020210100080CB1F7B81093057002D9 +:10360000B814700620691800687C700A6880700E13 +:10361000948500297012004E003E00DE080CA8DDE3 +:10362000721A9F95000072227027FFFF2071024CD2 +:10363000002E00050026080CB1F7700302FF70078A +:10364000FFFC00D620691800687C700A6880700E44 +:1036500000DE701320290C107003010070070000B9 +:10366000700BFC02700F00000005002600D600362B +:10367000004620193300202108000040002600D613 +:10368000003600462019230020210100080CB1F764 +:10369000B81093057002B814700620691800B810AD +:1036A00090051140B81490051128700B00FF700FA1 +:1036B000FFFE0020687C700A6880700E0000948510 +:1036C00000987012004E003E00DE080CA8DD721A51 +:1036D0007A0872222F1072262071024C002E0005EB +:1036E000080CA8DD721A7A087222781470262071EC +:1036F000024C002E000500B600C600D600E600F61B +:1037000020690200207102406004908A00850A0C42 +:103710000DCC908A00921A0C0DCC61102158B9C0C2 +:103720002C7820610100619A90820085003300FEB0 +:1037300000EE00DE00CE00BE0005A3ACA3BBA3C616 +:10374000A3AAA3AAA3AAA3ACA3AAA3AAA3AAA3AA0F +:10375000A3AAA3AA080C0DCC041160C30000002684 +:10376000080C2C430228201101012204C0C520129C +:10377000002E0804A8EF04317808700A7814700E3F +:103780007017FFFF60C3000C0804A8EF04A17003CA +:1037900000037007030060C300040804A8EF0026BC +:1037A000080CB1F7B810908581007002B81470064B +:1037B00020691800687C700A6880700E7013000918 +:1037C0000804A30E0026080CB1F7B81090858400F9 +:1037D0007002B814700620691800687C700A68804E +:1037E000700E200100997A20929600050108C0BC55 +:1037F00070120804A3700026080CB1F7B810908569 +:1038000085007002B814700620691800687C700A80 +:103810006880700E200100997A20929600050108B8 +:10382000C0BC70120804A37000B600C600D600E643 +:1038300000F62C7820690200207102407804908AFA +:1038400000400A0C0DCC908A00541A0C0DCC791053 +:103850002158B9C020610100619A90820040003374 +:1038600000FE00EE00DE00CE00BE0005A44BA51257 +:10387000A4E5A634A449A449A449A449A449A44957 +:10388000A449AD25AD2AAD2FAD34A449B125A44935 +:10389000AD20080C0DCC0096780BFFFF080CA4B6E9 +:1038A00079142148A97C7956AE6896B400FF9686B3 +:1038B00000081148A8B87032A8BC7036A8C0703A89 +:1038C000A8C4703E00087132A9809184000F1118BD +:1038D000200100050040D1840118200100040018D7 +:1038E0009084000680042010785C908400FF80079C +:1038F00092057042D1AC01587047000296860008CC +:103900001118080C19380010080C17A90050D1B470 +:1039100001187047000100287047000090162230FF +:103920000010AAB4AEB0726A766E20A9000820E931 +:103930000000A86020E0A85C90800024209820A1CE +:10394000025220690200681300184003681300083F +:1039500060C300206017000920011A07200307D068 +:1039600020011A0620030009009E000568130008C4 +:10397000BA8C8210B8CCD084018020011AD3200CDC +:103980008108210220011AD2201C12188318230258 +:103990000EA0794A712E7B46732A929400FFBA8E4C +:1039A0008217721ABA10929506007202BA14720641 +:1039B000206918006A7C720A6A80720E70130829E6 +:1039C0002F1072227027FFFF000500D6009600819D +:1039D00078142048A8947002A8907006A8B4700AC1 +:1039E000A8B0700E60C3000C009E00DE0804A8EFB3 +:1039F00068130008B810908505007002B8147006AE +:103A000020691800687C700A6880700E701308893D +:103A1000080CA8DD721A7A0872222F107226207103 +:103A2000024C000500D60096080CA6127814204817 +:103A3000080CD3F31130781490840700800700330A +:103A400000109006001B009E00DE0005A530A59921 +:103A5000A5A9A5CFA5DBA5ECA5F4A52E080C0DCC3A +:103A600000160036A980918C00030118918600038E +:103A70001198ABAC7824D0CC11687316A89C701A3E +:103A8000A898701E003E001E200119B5200460C2D7 +:103A90000804A8EFC3E50C8891860001190C0DCC31 +:103AA000ABAC7824D0CC1904A5967316A89C701AD8 +:103AB000A898701EA8A87026A8B0702E200900181B +:103AC000938403000570D3C40110A8B09108D3CC2F +:103AD0000110A8A8910868109085001068122011A4 +:103AE000025820E9000022A0015620A90008A86081 +:103AF00020E0A85C9080002D209840036810800092 +:103B000068122011024022A020A90005400368107D +:103B1000C0A46812015E91840003011820190245B7 +:103B2000201A61C2003E001E0804A8EFC3E5080485 +:103B3000A555201100082001180F2004D0A4011061 +:103B4000201100287824D0CC1110721604700CE8D3 +:103B5000C2E5201103020016782C701A7930711E0C +:103B600091050108C2DD001E7824D0CC0108C2E511 +:103B7000721670270012702F000870437000704793 +:103B80000500704F000A20690200681300092071C7 +:103B90000240700B250060C300320804A8EF20111A +:103BA00000287824D0CC1128721660C300180804AD +:103BB000A8EF0CD0C2E5201101007824D0CC010878 +:103BC000C2E57216702F00087858908400FF703696 +:103BD00060C300200804A8EF201100087824D0CC8E +:103BE0000108C2E572160C0800367B149384FF00AE +:103BF0007816938400FF800111387824D0CC010816 +:103C0000C2E57216003E0888004620210800000622 +:103C10007824D0CC000E0108C4E57416004E701E46 +:103C2000003E081800D668130008B81090850700F9 +:103C30007002B814700620691800687C700A6880E9 +:103C4000700E7824D0CC116870130898080CA8DD89 +:103C5000721A7A0872222F1072262071024C00DE2E +:103C60000005701308890C900016781490840700E2 +:103C700080070013001E0005A644A644A646A644DD +:103C8000A644A644A660A644080C0DCC7914918CD9 +:103C900008FF918DF60079162009000300B920690C +:103CA000184A6804D0BC0130682C908400FF80075B +:103CB0007032001070333F0060C300010804A8EFA9 +:103CC00020090003001970337F000CB00016080CA7 +:103CD000B1F7001EB810908501007002B81470068C +:103CE000206918006A7C720A6A80720E7013088854 +:103CF000918D00087116080CA8DD721A7A087222DC +:103D00002F107226000500B600E600D600C6006639 +:103D100000560046003620610100207118007160D5 +:103D20007810205876DC96B400280110737C7480DB +:103D3000250076DC96B400280140200104FF606273 +:103D40006067FFFF636A646E0050200100FF90858A +:103D5000040060626067FFFF606B0000616EB8B8CE +:103D60006073053060770008B88C8000908400FF95 +:103D7000B88E800790850020607A607F00002B005D +:103D800060826087FFFF781400962048A838608A18 +:103D9000A834608EA84860C6A84460CA009EB86C6B +:103DA00060CE60AB003660AF95D560D700002001D3 +:103DB00018372004908400280128609F000020010B +:103DC000009200486028C0BD602A609F00FF602705 +:103DD000FFFF200100B26016200907D0080C8B3AC3 +:103DE000003E004E005E006E00CE00DE00EE00BE23 +:103DF000000500B600E600D600C600660056004684 +:103E00000036206101002071180071607810205880 +:103E1000B8A0202876DCD6AC11689582007E1250BE +:103E200025009094FF801130908034712015929479 +:103E300000FF0020B910BA14737C748070DCD0AC21 +:103E400011309582007E12189584FF80013891858B +:103E5000040060626266636A646E0030606304003E +:103E60006266606B0000616EB8B8607260770000D7 +:103E7000B864D0A4011060770008B88C80009084EA +:103E800000FFB88E800790850020607A607F000078 +:103E90002B0060826087FFFF781400962048A838C6 +:103EA000608AA834608EA84860C6A84460CA009E94 +:103EB000B86C60CE60AB003660AF95D560D70000BF +:103EC000BAC0629E00F6207901407803000000FE2F +:103ED000200900926116200907D0080C8B3A003E99 +:103EE000004E005E006E00CE00DE00EE00BE00055B +:103EF00000B6009600E600D600C600560046003622 +:103F0000206101002071180078102058B8A02028E6 +:103F1000B910BA14737C7480782090BE000609042E +:103F2000A84C90BE000A1904A808B8C0609E781476 +:103F30002048A880D0FC0558AF949784FF009105D5 +:103F40006062873F9784FF00000678142048A87CB1 +:103F5000C0FC9005000E1160AF9887FF01982039D2 +:103F6000009897056072780860822F00608600389C +:103F70009185220060626073012960770000B8C0FB +:103F8000609E005020390029970560720CC0918511 +:103F90000200606260732029A880D0FC0118AF98ED +:103FA00087FF11202F006082780860866266636A4E +:103FB000646E60770000B88C8000908400FFB88E3B +:103FC0008007607A607F0000A838608AA834608E1D +:103FD000A84860C6A84460CAB86C60CE60AF95D5EA +:103FE00060D70000080CB1DC200907D060C49084C1 +:103FF000FFF09005011020091B58080C8B3A003E79 +:10400000004E005E00CE00DE00EE009E00BE000509 +:104010007804908600400904A888918501006062B8 +:104020006266636A646E607308096077000860AF57 +:1040300095D560D70000B88C8000908400FFB88EC2 +:104040008007607A607F00002F00608278086086B9 +:1040500078142048A838608AA834608EA84860C6C2 +:10406000A84460CAB86C60CEBAC0629E080CB1DCCD +:10407000200907D060C49084FFF09005011020094A +:104080001B58080C8B3A003E004E005E00CE00DE4E +:1040900000EE009E00BE000578142048A8809084A1 +:1040A0000003908600020904A8A4918501006062C3 +:1040B0006266636A646E6073088060770008B88C1B +:1040C0008000908400FFB88E8007607A7838607E28 +:1040D0002F00608678086082A894608AA890608E1D +:1040E000A8B460C6A8B060CAA8B079309108793287 +:1040F000A8B4792C9109792EB86C60CE60AF95D5B3 +:1041000060D70000BAC0629E080CB1B90804A83894 +:10411000B8CCD0840148B88C78142048B88C784A40 +:10412000A8362900A83AB04691850600606262660A +:10413000636A646E607308296077000060AF9575EC +:1041400060D700000804A81B9185070060626266C2 +:10415000636A646E7824D0CC78260118607308896D +:1041600000106073089860770000B88C800090841D +:1041700000FFB88E8007607A607F00002F006086A5 +:1041800078086082A838608AA834608EA84860C623 +:10419000A84460CAB86C60CE60AF95D560D7000007 +:1041A000BAC0629E7824D0CC0120080CB1DC08048F +:1041B000A838080CB1B90804A8387A1000B62258FB +:1041C000BA8C8210929400FFBA8E00BE821700054E +:1041D00000D6206919EB6843000100DE000560A3EA +:1041E000005660A7957500F1080C8B2C0005001691 +:1041F0002001180C200C91840600908606000128EE +:104200000089080C8B2C001E0005C1E52001180C4C +:104210002102200119EC20030000200119F42003E1 +:1042200000000C8800066014908418049085000932 +:104230006016000E0005001600C600062061010091 +:1042400061A460A795F56014908418049085000817 +:104250006016000EA001A001A00161A600CE001E04 +:10426000000500C600D60016002620610100206966 +:104270000140080C77FF11C020011A0720049005A7 +:1042800015D0080C78AC1160206101006020D0B41A +:1042900011206024D084090C0DCC080C8B2C045800 +:1042A00000C6206119EB00C86904919440000540E4 +:1042B0000811080C2DBE00C6206119EB61289192EF +:1042C000000812588108612A612400CE81FF0198FC +:1042D000080C8B2C080CA9120070612491E50000D9 +:1042E0000140080CF49D080C8B3520090014080CC3 +:1042F000B5B900CE0000002E001E00DE00CE000585 +:1043000020011A07200490051DB000C6206119EB9A +:104310006128919200031E088108612A00CE080CD2 +:104320008B2C080C61712009184621148210220A76 +:104330000C10009600C600D600E600160026080CF9 +:104340008B42207119EB713C81FF0904AA1D206189 +:10435000010020690140080C77FF11E800362019A0 +:104360000002080CAC96003E080CF49D703C906571 +:1043700001702009004A62209296000911306114F0 +:104380002148A87F00062009004A080CB5B9080C8E +:1043900078AC0804AA1D080CAA290904AA1D6904FE +:1043A000D1F40904AA24080C2DBE00C6703C906507 +:1043B000090C0DCC602000CE90860006152861C83F +:1043C00060C4910515082009180C2104D0D401E01F +:1043D00062149294180011286224929400021568C5 +:1043E0000030C0D4200AD0CC0110080C2CF060148E +:1043F0009084E7FD908500106016703C20602009D5 +:104400000049080CB5B900C8080CF49D0036201905 +:104410000001080CAC96003E703C906501702009CC +:10442000004A622092960009113061142148A87F49 +:1044300000062009004A080CB5B9002E001E00EE47 +:1044400000DE00CE009E0005D1EC1904A9D30804BB +:10445000A9D500D600C60096703C9065090C0DCC1D +:1044600020010306200C918400300904AAF59184F0 +:104470000048908600081904AAF5200902062104C4 +:1044800020090203210C91061904AAF52009022A29 +:1044900021042009022F210C9116908403FF918C96 +:1044A00003FF9294040001109102003020102100BB +:1044B00092022009022891029082000502502008F1 +:1044C0002001013B200480048004800491021A042E +:1044D000AAF520091A87210480000208200A206911 +:1044E00001006914918C1984918D0010691669C8B6 +:1044F0002011002068C891061904AACE82111DD08F +:10450000200103062003480000C620610090602CB3 +:10451000D0B41DE82001022E200C2001012C080C33 +:104520001BD1602CD0B41D982001022E20049106CE +:10453000908407FF1D6000CE2001009A2003000434 +:1045400020011A6C2003000020011A7520030000CE +:104550006A88698C220091051170009660142048C9 +:10456000A880C0DCA882A884C0FCA886009E2C106D +:10457000080C1C3C004060142048AA3AA9366AC4C2 +:1045800069C8A946AA4A012600C620912400002E27 +:10459000080C1CD5190C0DCC012E009020091A888E +:1045A000210480000208200A69C82011002082111D +:1045B0001DF068C891061DC069C468C891050160F6 +:1045C0006824D08C0110682700027048C085704AAA +:1045D00000797048C084704A200907D0080C8B3AD3 +:1045E0009006009E00CE00DE0005908500010CC8FC +:1045F000002600E6207119EB7048D08401D8713C88 +:1046000081FF01C020710100918800082114928E61 +:104610000006113870149084198490850012701669 +:104620000048928E00090DB0701490841984908512 +:104630000016701600EE002E000500B600E600D64B +:1046400000C6006600560046000601262091800044 +:1046500060102058BCA0207119EB701820588BFFF7 +:104660000190B8A094060118B85420580CC06014EA +:1046700000962048AC70AD74AE7C009E080C69E4D6 +:10468000011090850001012E000E004E005E006EAC +:1046900000CE00DE00EE00BE0005080CA2F37003A1 +:1046A000120078387012783C701600C67820908618 +:1046B0000004114878109005013000B62058B81059 +:1046C000B91400BE002020611800607C61809084D5 +:1046D00000FF700A710E00CE60C3002C0804A8EF22 +:1046E000080CA2F370030F007808D09C0128B810C2 +:1046F000908400FF700AB814700E60C300080804AC +:10470000A8EF0156080CA33E70030200080C8BBEF4 +:1047100020A900062011FFEC2019FFED9EF00002F9 +:10472000230520728E70220520728E7093980002ED +:10473000929000021F04AB9060C3001C015E08044D +:10474000A8EF00160026080CA31A080CA32C9E80C4 +:10475000000420E9000020A0781400962048A8005A +:104760002048A86020E0A85C908000222098009E4D +:1047700078089088000221A89192001012504003FE +:1047800090800004800360C2080CA8EF002E001E79 +:10479000000520A900104003080CB1E220A102404E +:1047A00022A840030C68080CA2F37003620078088A +:1047B000700E60C300080804A8EF00160026080C5D +:1047C000A2F320E9000020A1024C781400962048B2 +:1047D000A8002048A86020E0A85C908000242098D1 +:1047E000009E78089088000221A84003800360C2E0 +:1047F000080CA8EF002E001E000500E600C600060B +:10480000012620918000207119EB700C20608CFF34 +:104810000178080CD60F1110080CBF7F600C000641 +:10482000080CD876080CB53C080CAD3E00CE0C78D0 +:104830002C00700E700A012E000E00CE00EE000556 +:104840000126015600F600E600D600C600660026E6 +:1048500000160006209180002001180C200C918C7D +:10486000E7FF21022069010020790140207119EB46 +:10487000702420608CFF01F8080CA91B6AC068C373 +:104880000000080C8B3500C620610100080CB33312 +:1048900000CE20A901F4046120090013080CB5B969 +:1048A000000E001E002E006E00CE00DE00EE00FEA8 +:1048B000015E012E000520011800200490960001E1 +:1048C0000D78909600040D60080C8B356814908468 +:1048D0000001011068A795F56817000868C300007B +:1048E0002011611B080C8A6520A901F4000908C089 +:1048F0006824D09401406827000478049084400024 +:10490000190C2DBE0090D0840118682740010010BA +:104910001F04AC7878049084100001382001010055 +:10492000080C2DAE9006080C2DAE00050126015690 +:1049300000F600E600D600C6006600260016000657 +:10494000209180002001180C200C918CDBFF2102AB +:104950002069010020790140207119EB703C206032 +:104960008CFF0904AD01938600021128681490841D +:1049700000020904AD0168AF95F568170010200921 +:1049800000FA81091DF069C668CB0008080C8B424B +:10499000080C208F200100326920D1BC0130800139 +:1049A0001DD8692C918D0008692E20A903E8682480 +:1049B000D094014068270004780490844000190CCA +:1049C0002DBE0090D08C01186827000200101F0433 +:1049D000ACD7780490841000013820010100080C45 +:1049E0002DAE9006080C2DAE68274000682483FF8A +:1049F0001140200900496020908600090110080C30 +:104A0000B5B9000E001E002E006E00CE00DE00EED6 +:104A100000FE015E012E000500D6012620918000D7 +:104A2000206919EB6A06012E00DE000500D601267A +:104A300020918000206919EB6A32012E00DE00050A +:104A4000080CA4B6704710000098080CA4B6704774 +:104A500040000070080CA4B6704720000048080C05 +:104A6000A4B6704704000020080CA4B670470200EA +:104A70007854703260C300200804A8EF00E620716B +:104A800019EB7020900501108001702200EE0005E6 +:104A900000F600E600D600C6007600660006012695 +:104AA00020918000207119EB761426602678203939 +:104AB000000187FF0904ADE38CFF0904ADE360202A +:104AC000908600061904ADDE88FF013828009C0698 +:104AD0001904ADDE20390000005060109B06190457 +:104AE000ADDE85FF0120605491061904ADDE70240F +:104AF0009C0615B02069010068C09005116068240B +:104B0000D084014868270001080C8B35080CAE687A +:104B1000702700000428080C8B356820D0B40110E1 +:104B200068A795F56817000868C30000080CAE6810 +:104B3000702700000036206901406B049384100048 +:104B4000013820010100080C2DAE9006080C2DAE96 +:104B5000206901006824D084011068270001003E0C +:104B600070149C361110660C761670109C3611402D +:104B70002C009F3601182F007012001070130000D7 +:104B8000660C00662C009F0601107E0E0008267839 +:104B900089FF1168600F0000601400962048080C1F +:104BA000D3F30110080CEFAD009E080CB56F080C94 +:104BB000AD3E88FF119000CE0804AD592C78600CF2 +:104BC00020600804AD599006012E000E006E007E94 +:104BD00000CE00DE00EE00FE0005601B000000CEEF +:104BE00098C500010C8800F600E600D6009600C6C5 +:104BF000006600260006012620918000207119EB36 +:104C00007638266026788CFF0904AE57602090869F +:104C100000061904AE5287FF012827009C061904DC +:104C2000AE52004060109B0615E885FF01186054E5 +:104C3000910615C0703C9C061168003620190001D1 +:104C4000080CAC96703300009006703E70427046BF +:104C5000704A003E70389C361110660C763A7034FB +:104C60009C3611402C009F3601182F007036001022 +:104C700070370000660C00662C009F0601107E0E47 +:104C800000082678600F000060142048080CD3F359 +:104C90000110080CEFAD080CB56F87FF119800CE1E +:104CA0000804AE032C78600C20600804AE03900664 +:104CB000012E000E002E006E00CE009E00DE00EEE3 +:104CC00000FE0005601B000000CE97BD00010C80B7 +:104CD00000E6207119EB20011800200490860002E4 +:104CE00011187007000500107007000000EE0005A5 +:104CF00000F600E600C600660026000601262091A8 +:104D00008000207119EB2C107638266026788CFFF5 +:104D1000054022009C06150870389C361110660C60 +:104D2000763A70349C3611402C009F3601182F00C3 +:104D30007036001070370000660C2C009F060110C2 +:104D40007E0E00082678600F000060049086004008 +:104D5000090C9BDA9085000100202C78600C206003 +:104D600008B0012E000E002E006E00CE00EE00FEF8 +:104D70000005009600F600E600D600C60066002694 +:104D80000006012620918000207119EB760C266028 +:104D900026788CFF0904AF4E601000B62058B8A0EA +:104DA00000BE92061904AF4970249C0615202069A4 +:104DB000010068C090050904AF20080CA91B68C356 +:104DC0000000080CAE687027000000362069014022 +:104DD0006B0493841000013820010100080C2DAEF3 +:104DE0009006080C2DAE206901006824D0840110C3 +:104DF00068270001003E700C9C361110660C760E80 +:104E000070089C3611402C009F3601182F00700A44 +:104E10000010700B0000660C00662C009F0601104D +:104E20007E0E00082678600F0000080CD5FE118069 +:104E3000080C3334080CD60F1518080CBF7F04007B +:104E4000080CAE686824D08409B06827000108986F +:104E5000080CD60F1118080CBF7F00906014204872 +:104E6000080CD3F301686020908600031508A86B36 +:104E70000103AB7EA87B0000080C7061080CD5F222 +:104E8000080CD876080CB56F080CAD3E00CE0804AF +:104E9000AEC92C78600C20600804AEC9012E000E4B +:104EA000002E006E00CE00DE00EE00FE009E00052B +:104EB0006020908600061D20080CEFAD0C0800D67F +:104EC000080CA33E700302007007001460C30014B6 +:104ED00020E100012099198C20E9000020A1025056 +:104EE00020A9000440037023000470277878080C80 +:104EF000A8EF00DE0005080CA33E700B0800781434 +:104F00009084FF00700E7814908400FF7022782C3B +:104F100070267858908400FF9085020070027858BF +:104F20009084FF008007700660C20804A8EF00B6F6 +:104F300000D6001600D62F6820090035080CDA7D4F +:104F400000DE1904AFFC080CA2F370031300782CE8 +:104F5000080CB10420686820908600030560781072 +:104F60002058BAA0080CB4A611D89286007E112849 +:104F7000700B00FF700FFFFE04989286007F1128CF +:104F8000700B00FF700FFFFD04589284FF800180BA +:104F9000928600801128700B00FF700FFFFC040048 +:104FA00092D810002B5CB810700AB814700E00C0B4 +:104FB0006098700E00A8080CB4A611307810205824 +:104FC000B8A09082007E025000D62069181F2D04E0 +:104FD000700A8D682D04700E00DE00106034700EB3 +:104FE00078387012783C701660C3000C001E00DE2A +:104FF000080CA8EF00BE0005080C9BDA781B000126 +:1050000078030006001E00DE00BE0005792C9180AA +:105010000008200C9186000601C091860003090457 +:10502000B079918600050904B0619186000405D825 +:10503000918600080904B06A78070037782F0003CA +:1050400078171700080CB0E10005080CB0A200D6D4 +:105050000026792C21682009400068000002B04237 +:10506000B04DB044B04DB049B042B042B04DB04D7B +:10507000B04DB04DB042B042B042B042B042B04D7F +:10508000B042B04D080C0DCC6824D0E40110D0CC57 +:105090000110900E001020092000682C702268304A +:1050A00070260804B09B080CB0A200D60026792C0C +:1050B0002168200940006A00928600021108900EC3 +:1050C00004D0080CB0A200D60026792C2168200953 +:1050D0004000048804B900D60026792C21682009F4 +:1050E0004000928600050118928600021108900E79 +:1050F0000410044100D60026792C21686814692424 +:10510000C185692600962048A9B0A8349112A9B497 +:10511000A838009E910370227226792C918000009D +:105120002004908E00020130908E000401182009A6 +:1051300040000008900E712A60C30018002E00DEA7 +:105140000804A8EF00B60036004600560066080CBA +:10515000A33E9006700302007938710A793C710E03 +:1051600078102058B8A0080CB4A611189092007EB0 +:10517000026800D62069181F2D2C8D682D3490D818 +:1051800010002B5CBB10BC1400DE0028901E64983D +:10519000202900006634782C908000082004908636 +:1051A0000003112875127616731A741E00207312EC +:1051B0007416751A761E006E005E004E003E00BE2C +:1051C0000005080CA33E70030100782C700A7814C7 +:1051D000700E700E60C300080804A8EF080CA2EA65 +:1051E000700314007838700A0079783C700E782CBF +:1051F0007012783070167834908400FF8007701A2F +:1052000060C300100804A8EF00E620710240000609 +:1052100000F62078781000B62058B8CCD084012051 +:105220007844702A7848702E00BE00FE000E00EE12 +:105230000005080CA33570030100782C700A78145F +:10524000700E60C300080804A8EF002160C30000CE +:105250000804A8EF00D6080CB1F7B8109085030039 +:105260007002B814700620691800687C700A6880A3 +:10527000700E70130819080CA8DD721A2F10722214 +:105280007A0872262071024C00DE0005080CA33E4D +:105290007003020070070001700BC0006238928634 +:1052A00000042001800001389286000720014000A0 +:1052B000011020010002700E60C300080804A8EF6E +:1052C00000A97914712A60C3000060A795750026B3 +:1052D000080C2C430228201101012204C0C5201211 +:1052E000002E080CA912080C8B2C00050036009625 +:1052F00000D600E678582048AA80929600C0929482 +:1053000000FDAA82AA8492940300AA86A9709194AF +:1053100000FFAB78938400FF908DC200A972938444 +:10532000FF009215AA7AA874AA7CA87EAA7600D655 +:1053300020690200080CB1F700DE20E9000020A17E +:10534000024020A9000AA86020E0A85C9080001C10 +:105350002098400360A30035AA6C92947000928656 +:105360003000011060A3003700EE00DE009E003E1A +:105370000005900E781400962048A880D0FC01C04B +:105380009084000311A82001180C2004D0BC0180D7 +:105390007824D0CC1168D0C41158A8AC9005114025 +:1053A0002001180C200CC1D52102200919B6210CAE +:1053B000009E918D009200102009009660AB00368F +:1053C000611600052009000900A02009000A0088D4 +:1053D0002009000B00702009000C00582009000D66 +:1053E00000402009000E00282009000F00102009AD +:1053F000000869120005080CA2F3001600260096AA +:1054000000D6781420487013013820011837200482 +:105410009084002811382001197F20049086AAAAC0 +:105420001904B29C7003540000C620611800607C0F +:10543000908400FFA99C810F918CFF009105700A58 +:105440006080700EA99C918CFF00711220A900044D +:10545000200918052E1092900006210420128108C0 +:1054600082101F04B22D20A9000420091801210474 +:105470002012810882101F04B237A86020E0A85CC7 +:105480009080002A20982009000620A900014002EF +:1054900080072012821081091DC000D620690200F9 +:1054A000080CB1E200DE2071024020110240200908 +:1054B000000220A900014002800720128210810909 +:1054C0001DC02009000820A9000140028007201209 +:1054D000821081091DC0A85C9080003220982009AC +:1054E000000820A9000140028007201282108109D3 +:1054F0001DC000CE60C3004C60A3005660A7957528 +:10550000200118372004908400281168080C77FFC8 +:1055100001506028C0BD602A6014908418049085F2 +:10552000002960160010080CA8EF080C8B2C00DE78 +:10553000009E002E001E000500E6207102402001A2 +:105540002200908500FF70027007FFFF20710100AC +:10555000709B00FF00EE0804B212080CA2F30016C4 +:105560000026009600D67814204870130138700386 +:10557000550000C6A8A0908400FFA99C810F918CC3 +:10558000FF009105700AA9A0918CFF00A8A4908447 +:1055900000FF9105700EA99C918CFF0020611800FE +:1055A000607C908400FF910D71126180711620095A +:1055B0000008A86020E0A85C9080002A20982E10A7 +:1055C0009290000620A9000140028007201282105C +:1055D00081091DC020A900042009180521042012FA +:1055E000810882101F04B2EE20A9000220091801D0 +:1055F00021042012810882101F04B2F800D6001680 +:1056000020690200080CB1E2001E00DE2071024099 +:1056100020A90002200918032011024021042012B1 +:10562000810882101F04B30E200900084002800781 +:105630002012821081091DD0900620A90008201296 +:1056400082101F04B31F00CE60C3004C60A300563D +:1056500060A79575080CA8EF080C8B2C00DE009E47 +:10566000002E001E000500D692900018821420E93A +:105670000000206902006813000022A8928400E064 +:10568000012820A90020929200200008901620A155 +:1056900002409006400482FF0120681080006812DA +:1056A0000C6000DE000500D6009660142048A87C3F +:1056B00060569006A836A83AA9A0A946A84A602331 +:1056C00000036007004060030003600BFFFFA817A2 +:1056D0000001A842A83E2900A85AA8132123080CBB +:1056E0009799012620918000080C9E03012E009EB0 +:1056F00000DE000500F600E600D600C600A6009613 +:105700000066012620918000207119EB760C26603E +:1057100026788CFF0904B40670249C0615202069A5 +:10572000010068C090050904B3D8080CA91B68C320 +:105730000000080CAE6870270000003620690140A8 +:105740006B0493841000013820010100080C2DAE79 +:105750009006080C2DAE206901006824D084011049 +:1057600068270001003E700C9C361110660C760E06 +:1057700070089C3611402C009F3601182F00700ACB +:105780000010700B0000660C00662C009F060110D4 +:105790007E0E00082678600F0000080CD5FE1180F0 +:1057A000080C3334080CD60F1518080CBF7F040002 +:1057B000080CAE686824D08409B0682700010898F6 +:1057C000080CD60F1118080CBF7F009060142048F9 +:1057D000080CD3F301686020908600031520A86BA5 +:1057E0000103AB7EA87B0000080C706E080CD5F29C +:1057F000080CD876080CB56F080CAD3E00CE080436 +:10580000B3892C78600C20600804B389700F000005 +:10581000700B0000012E006E009E00AE00CE00DE78 +:1058200000EE00FE00056020908600061D08080CB2 +:10583000EFAD08F000D60156080CA33E7A1482FFA3 +:10584000013870030100700B000360C3000804906E +:10585000700302007007000020691800901E6800A5 +:10586000908600041110C38D0060080C77FF1110A2 +:10587000C3AD0008C3A56ADCD29C1110D2AC0108EC +:10588000C39D730E080C8BBE20A900062011FFECEF +:105890002019FFED20710250230520728E70220521 +:1058A00020728E7093980002929000021F04B44CF4 +:1058B00060C30020080CA8EF015E00DE0005015661 +:1058C000080CA33E7A1482FF01689286FFFF01183C +:1058D0009282000E123870030100700B000360C347 +:1058E00000080488700302007007001C700F00019C +:1058F000201119C122048007701A82102204800727 +:10590000701E04211120B8A09082007F024820015F +:10591000181F200470222001182020047026003057 +:10592000200118182004908400FF702620A900048C +:1059300020E100012099180520E9000020A102566D +:10594000400360C3001C015E0804A8EF00062001AC +:1059500018372004D0AC000E000520110003080CFD +:10596000AD0C20110002080CAD16080CAC2000365E +:10597000901E080CAC96003E0005080C346A0188A5 +:10598000001600B600C67010908500207012200925 +:10599000007E080C6890B85CC0ACB85E00CE00BE5B +:1059A000001E000520711890700090050140200134 +:1059B0000976207118007076707A706BFFE02071A4 +:1059C000180070747056705B1CD0000500E601264C +:1059D00020711800209180007554958200100608EF +:1059E0007058206060009086000001489CE000181C +:1059F00070689C0212080CB020611CD00C986003E7 +:105A00000008852975569CA8001870689502123008 +:105A1000755A90850001012E00EE0005705B1CD0C8 +:105A20000CC090060CC000E62071180075549582D9 +:105A30000010060070582060600090860000014849 +:105A40009CE0001870689C0212080CB020611CD009 +:105A50000C9860030008852975569CA8001870688A +:105A600095021228755A9085000100EE0005705BC2 +:105A70001CD00CC890060CC89C821CD00A0C0DCC03 +:105A80002001181A20049C021A0C0DCC9006600606 +:105A9000600A600E6016601A6012602300006003E6 +:105AA0000000601E6056605A6026602A602E6032D8 +:105AB0006036603A603E6042602A2061180060549F +:105AC00080006056908600010108000501262091A3 +:105AD00080000016080C9CE8001E012E0CB0000689 +:105AE00060009086000001B0601CD084190C1AEA96 +:105AF00060170000602300072001198920040006B8 +:105B000090820051000E02088004601A080CF26EA8 +:105B100060430000000E000500E601262071180019 +:105B2000209180007554958200010608705820600D +:105B300060009086000001489CE0001870689C029C +:105B400012080CB020611CD00C9860030008852955 +:105B500075569CA80018706895021230755A908589 +:105B60000001012E00EE0005705B1CD00CC09006F9 +:105B70000CC060209084000F0002B5CCB5D5B5F004 +:105B8000B60BDBBEDBDBDBF6B5CCB5D59358B62464 +:105B9000B5CCB5CCB5CCB5CC918600131128080C8A +:105BA0009BDA080C9CE8000500050066600090B2D6 +:105BB00000141A0C0DCC0013006E0005B5EEBDCE1E +:105BC000BFC6B5EEC05DB903D0F2B5EEBD4EC69905 +:105BD000B5EEB5EEB5EEB5EEB5EEB5EE080C0DCC06 +:105BE0000066600090B200141A0C0DCC0013006E19 +:105BF0000005B609CD88B609B609B609B609B609D1 +:105C0000B609CD1FCEF4B609CDC9CE48CDC9CE4810 +:105C1000B609080C0DCC6000908200141A0C0DCC53 +:105C200060000002B622C6E0C7A8C8DECA8DB62250 +:105C3000B622B622C6B4CCA4CCA7B622B622B622CF +:105C4000B622CCD6080C0DCC0066600090B20014D1 +:105C50001A0C0DCC0013006E0005B640B640B6839A +:105C6000B71BB7B0B640B640B640B642B640B64035 +:105C7000B640B640B640B640B640B640B640B64074 +:105C8000080C0DCC9186004C058891860003190CF8 +:105C90000DCC0096601CC0ED601E60030003610621 +:105CA00060142048A8809084A010C0B5A882A8B035 +:105CB000A846A8B4A84A9006A836A83AA888909200 +:105CC000199A0210200119998003801382139210EF +:105CD000621A009E2C10080C1C3C080C9799012697 +:105CE00020918000080C9E03012E0005601000B674 +:105CF0002058BCA000BE2C00080CB7D2080CDB2436 +:105D000060030007000500D6009600F62079180011 +:105D10007A9060142048A880D0EC1110929000185E +:105D2000AC7CC4FC0046A8E490051140A8E0921A9F +:105D300001400220A87F000720100028A87F00153E +:105D40000010A87F00008214A8870000AA020006A5 +:105D50000016002600C600D600E600F624009005D6 +:105D60001108009A210090860015111820010001E9 +:105D70000038210090860016011820010001002A39 +:105D800094A40007842394050002B6E3B6E3B6DAD0 +:105D9000B6DDB6E3B6D7B6D5B6D5B6D5B6D5B6D593 +:105DA000B6D5B6D5B6D5B6D5B6D5080C0DCC080C3B +:105DB000C2750048080CC3B30030080CC4A9200108 +:105DC0000004080C67CF00FE00EE00DE00CE002EBF +:105DD000001E2C00A89A000E080CB8900530A804EC +:105DE000A80E00A62050B10000AE800680068007F5 +:105DF00090BC003F9084FFC090800002AAD0ABD43A +:105E0000ACD8ADDC203100002041128F080CBAB4B0 +:105E10000160000E9005012000FE009E00DE0005DE +:105E200000FE009E00DE0804B53C2001002C900E10 +:105E3000080CB8F60C7091B60015017091B60016FA +:105E4000015891B200470A0C0DCC91B200501A0CC7 +:105E50000DCC9182004700CA200101092004D08C9A +:105E60000198012620912800000600160026080C43 +:105E700096E6002E001E000E012EA0016000908606 +:105E8000000211100804B6830005B74EB74EB75094 +:105E9000B786B74EB74EB74EB74EB799080C0DCC74 +:105EA00000D600160096080C9C98080C9E03600310 +:105EB000000461142148A880D0FC01C0A87CC0FC6B +:105EC00090051158A8989005014020010000900EFF +:105ED000080CB8F6080CB53C00A860030002A8A89E +:105EE000A9AC91051178A8B2A8B60C78A8830020B7 +:105EF000A890A88EA8A8A8B2A8ACA8B6A8CB000065 +:105F0000A8CF0000009E001E00DE0005080C9C9833 +:105F100000D6009661142148080CD3F50120A87F13 +:105F20000006080C706E009E00DE080CB53C0804EC +:105F30009E03080C9C98080C330B080CDB2100D640 +:105F4000009661142148080CD3F50120A87F002990 +:105F5000080C706E009E00DE080CB53C08049E0321 +:105F6000918200470002B7C0B7C2B7C0B7C0B7C080 +:105F7000B7C0B7C0B7C0B7C0B7C0B7C0B7C0B7C267 +:105F8000080C0DCC00D60096601F0000611421485B +:105F9000A87F0000A8870000080C706E009E00DE3D +:105FA0000804B53C0026003600560066009600A6A0 +:105FB00000F60006080C1016000E090C0DCCA960A6 +:105FC00021E8A95C9188001A21A0900E20A9002048 +:105FD0004104A87E20791800799091880018918C4E +:105FE0000FFFA976AC7A295000A6200102052003F4 +:105FF0000000901E202900019182003512282011F6 +:106000000020080CCF7904C0213020090034201171 +:106010000020080CCF7996B20034B004904D0110E6 +:10602000080C0FC8080C101601D08528A86B0110A9 +:10603000A86F00002920B406968A003D1230260879 +:106040002011001C080CCF7900B896B2003C200942 +:10605000003C29502011001C080CCF790C1820019D +:1060600002052003000000AE852F95AD0050B56AF3 +:10607000B074C0FDB0760048200102052003000086 +:1060800000AE852F95AD0050B56A2A48A804A80730 +:1060900000000006080C706E000E204890051DB030 +:1060A00000FE00AE009E006E005E003E002E000569 +:1060B00000D600F600960006080C1016000E090C1B +:1060C0000DCCA96021E8A95C9188001A21A0900E4E +:1060D00020A900204104AA6AA87E2079180079909E +:1060E000810C9188000C9182001A02102009001A7C +:1060F00021A8810BA976AC7A2E98A85C908000200C +:1061000020A020010205200C918D00802102400377 +:1061100020030000080C706E009E00FE00DE0005EB +:10612000001600D600F60096001620010205200C8D +:10613000918D00802102001E207902002E98A880F7 +:10614000D0EC01189E80000C20982021003E901E6B +:106150009282002002182011002020189486003E10 +:1061600011700096080C10162900009E05C0A806A4 +:106170002048A86020E8A85C9080000220A033009E +:10618000908E02600140200902809102920A02185A +:106190002010210093182200940212282400920259 +:1061A000241093189006202022A8A8009200A8028C +:1061B00020E10000400383FF0180330090860280CD +:1061C0001130781480009085008078162E98231066 +:1061D00084FF0904B8A50804B8A7908500017817C2 +:1061E0000000009E00FE00DE001E000500D6003606 +:1061F000009663142348A87EA986080C7061009E4F +:10620000003E00DE000591B600151118080CB53CE3 +:10621000003091B60016190C0DCC080CB53C0005E9 +:1062200020A9000E20E100002E986014009620485E +:10623000A804900515C02900009E00962048A8607B +:1062400020E8A85C20A0009E40039196001601F073 +:1062500001369080001C20A02011000620A900011A +:106260003418831823A0400333188318239882110D +:106270001DB820110006013E20A033188318239872 +:1062800040033418831823A082111DB80096080C0F +:10629000D3F5013060142048A8070000A86B010363 +:1062A000009E0804B53C009E7130918E01001120C3 +:1062B000080CBF7F0804B53C20E100009E88000E5A +:1062C000219800962048A86020E8A85C009E01362E +:1062D0009080000E20A02011000620A90001341893 +:1062E00083A040033318839882111DC82011000633 +:1062F000013E20A0331883984003341883A08211F4 +:106300001DC8601400962048A8040086204020097B +:10631000000C88068006800790BC003F9084FFC078 +:106320009080000EAAA4ABA0ACACADA820310000B8 +:1063300020411270080CBAB40120008E009E08049F +:10634000B53C080CBF7F0CC8009600D600367330F1 +:106350009386020011A8601000B62058B8CF000044 +:1063600000BE6014900501302048A8070000A86B0B +:106370000103AB32080CB53C003E00DE009E000578 +:1063800000111D480CC800060016080CDB0C018823 +:10639000601490051170600B0003601B00006043E7 +:1063A000000020090022080CBDA49006001E000E6B +:1063B0000005908500010CD00096001620A900145D +:1063C0009E80000C20E10000209860142048A86006 +:1063D00020E8A85C9080000220A040032001020574 +:1063E000200300012099026020A90016400320A983 +:1063F000000AA8042048A86020E8A85C9080000259 +:1064000020A0400320010205200300022099026021 +:1064100020A9002040032003000060142048A800A9 +:106420002048A86B0103080CB53C001E009E000527 +:1064300000960016900E7030908601000140703872 +:10644000908400FF800C703C908400FF800490805A +:1064500000049108810B201100022019000C601427 +:106460002048080CCF792011020520130000080CE9 +:10647000D3F5014060142048A8070000A868A8E6EA +:10648000A86B0103080CB53C001E009E0005001619 +:1064900020090000703090860200011020090001E0 +:1064A00000966014904D090C0DCCA97E080C706EFE +:1064B000009E080CB53C001E0005001600967030CA +:1064C0009086010011182009000400107034800C1F +:1064D000810B2011000C2019000C60142048A80426 +:1064E0000096900501082048080CCF79201102057C +:1064F00020130000009E080CD3F50148A804900565 +:106500001158A8070000A868A8E6A86B0103080CAA +:10651000B53C009E001E000500862040A03080078C +:10652000908601001118080CBF7F00E0A03480079E +:10653000800C88068006800790BC003F9084FFC0D6 +:106540009080000CA87F0000A8870000A89B400056 +:10655000AAA4ABA0ACACADA82031000020411270C1 +:1065600000190D08008E089800960006080C1016F9 +:10657000000E01B0A8AF0DCBA87A000EA8A60006A9 +:10658000AE6E2800A8A2A97EAF76AA92AB96AC9A6E +:10659000AD9E00862940080C1114008E90850001E4 +:1065A000009E000500E600D600267008908400FFDB +:1065B000621000B62258BA1000BE92061540700C48 +:1065C000621000B62258BA1400BE9206150060434D +:1065D00000002C68001620090035080CDA7D001E2A +:1065E0001178622C226860546B5493061148207114 +:1065F000026C6B209386000301309386000601280D +:10660000080CB56F002000390010080CBBDB002E11 +:1066100000DE00EE00050096681420489186001503 +:106620000904BBC1918E00161904BBD9700C908C63 +:10663000FF00918617000120918603001904BB9B7F +:1066400089FF113868009086000F0904BB7C08049C +:10665000BBD768089086FFFF1904BBC3A88090844D +:106660000060908600201128A83CA94091051904DB +:10667000BBC36824D0841904BBC3D0B4015800162E +:1066800020011989200C6018910290820005001EDB +:106690001A04BBC3080CD5F2685CA886A880C0DCCD +:1066A000C0F4C0D4A8820026900E6A182001000A07 +:1066B000080C95A7A888920A02088011AA8A82FF6E +:1066C000002E113800C62D60080CD0F900CE080449 +:1066D000BBD700C6A86CD0FC1118080C634700108B +:1066E000080C676500CE1904BBC300C62D60080CFA +:1066F000B56F00CE0804BBD700C6080CB58C01A846 +:106700006818601A6017000068106012080CD87EC4 +:1067100060230003690400C62D60080CB56F00CE2D +:10672000080CB5B900CE0804BBD72001198B200492 +:10673000684200CE04E070089086000B11C860101B +:1067400000B62058B900C1BCB90200BE00C62D6019 +:10675000A87F0003080CDAC1600700856003000B06 +:1067600060230002080C9734080C9CE800CE00F867 +:10677000700C90862A0011382001198B2004684281 +:1067800000B0048900B089FF090C0DCC00C600D60A +:106790002D60A86B0103A87F0003A87B0000080CF4 +:1067A0006E88080CD5F2080CB56F00DE00CE080C20 +:1067B000B53C009E00059186001511282001198B1B +:1067C000200468420068918E0016116000C62D00FA +:1067D0002060080CF26E080C8C97080CB53C00CEBB +:1067E000080CB53C00050026003600467228ACB403 +:1067F000ABB0D2F401302001198B200468420804A8 +:10680000BC5500C62D60080CCFFE00CE68049086F3 +:106810000050116800C62D00206060030001600771 +:106820000050080C9734080C9CE800CE04F0680077 +:106830009086000F01A889FF090C0DCC6800908696 +:1068400000041190A880D0AC0178A8430FFFA83FA6 +:106850000FFFA884C0FCA886200100016832040054 +:1068600020010007683200E0A880D0B41150D0ACFD +:106870000DB86824D0F41D48A838A93491050D80BE +:106880000C20D2EC1D687024930611187020940619 +:106890000D387020683E7024683A20010005683287 +:1068A000080CD775080C9CE80010080CB53C004E8D +:1068B000003E002E000500E600D6002670089084F9 +:1068C00000FF621000B62258BA1000BE92061904EA +:1068D000BCBC700C621000B62258BA1400BE9206FE +:1068E0001904BCBC603820686824C0DC68266A20B3 +:1068F000928600070904BCBC9286000205E89286D5 +:10690000000005D06808633C930615B02071026C46 +:1069100091860015055800C6603820606104918694 +:10692000004B01C09186004C01A89186004D01905A +:106930009186004E017891860052016060140096A5 +:106940002048080CD3F5090C0DCCA87F0003009E4D +:10695000080CDAC1600700856003000B60230002A9 +:10696000080C9734080C9CE800CE0030603820708A +:106970002001198B20047042080CB53C002E00DE6B +:1069800000EE000500B6009600F660142048601086 +:10699000205891B600150130BA08BB0CBC00C48C5D +:1069A000BC02047000960156003600262B489E90CB +:1069B00000102019000A20A90004080CC661002E4E +:1069C000003E015E009E1904BD2D00960156003662 +:1069D00000262B489E9000142019000620A90004D0 +:1069E000080CC661002E003E015E009E15B0723894 +:1069F000BA0A733CBB0E83FF0118BC00C48DBC02F5 +:106A0000A8049005112800FE009E00BE0804B946A7 +:106A100000962048AA12AB16AC0A009E800680069B +:106A2000800790BC003F9084FFC090800002200946 +:106A3000002BAAA4ABA0ACACADA820310000204133 +:106A40001270080CBAB4013000FE009E080CB53C70 +:106A500000BE0005080CBF7F0CB82B7800F6080CB0 +:106A6000330B080CDB2100FE00C6080CB4E62F0037 +:106A700060126017000060230001600700016003DE +:106A8000000120010007080C67CF080C67FB080C09 +:106A9000977C080C9CE800CE0804BD00210091B250 +:106AA00000541A0C0DCC91B200401A04BDB600027D +:106AB000BDA4BDA4BD9ABDA4BDA4BDA4BD98BD98F0 +:106AC000BD98BD98BD98BD98BD98BD98BD98BD981E +:106AD000BD98BD98BD98BD98BD98BD98BD98BD980E +:106AE000BD98BD98BD98BD98BD98BD98BD98BDA4F2 +:106AF000BD98BDA4BDA4BD98BD98BD98BD98BD98D6 +:106B0000BD9ABD98BD98BD98BD98BD98BD98BD98DB +:106B1000BD98BD98BDA4BDA4BD98BD98BD98BD98B5 +:106B2000BD98BD98BD98BD98BD98BDA4BD98BD98B1 +:106B3000080C0DCC006600B666102658B8CCC08C88 +:106B4000B8CE00BE006E00006003000161069186B1 +:106B500000320118080C977C0010080C97340126AD +:106B600020918000080C9CE8012E00052600000200 +:106B7000BDA4BDA4BDCCBDA4BDA4BDCCBDCCBDCC6D +:106B8000BDCCBDA4BDCCBDA4BDCCBDA4BDCCBDCC35 +:106B9000BDCCBDCCBDCCBDCC080C0DCC600490B23E +:106BA00000541A0C0DCC91B600130904BEA191B685 +:106BB00000271904BE4B080C9BDA6004080CD5FEB4 +:106BC00001B0080CD60F01A8908E00210904BE4820 +:106BD000908E00221130080CB9C30904BE44080489 +:106BE000BE45908E003D0904BE480804BE3E080C18 +:106BF000333420010007080C67CF601000B620581E +:106C0000B9A000BE080CBF7F9186007E114820010C +:106C100018372014C285080C77FF1108C2AD220274 +:106C200000360026201900282110080CF381002EC0 +:106C3000003E001600260036211020190028080CFE +:106C400098D90076903E080C97AC601000B6905D25 +:106C5000010000BE2C08080CECE8007E003E002E6F +:106C6000001E080CDB210016080CD876080CB53C79 +:106C7000001E080C3407080C9CE80030080CD8767D +:106C8000080CB53C080C9CE80005080CBF7F0CB054 +:106C9000080CBFBB0C989186001501189186001650 +:106CA0001148080CDB500D8060009086000209043A +:106CB000BFC60C50918600141D38080C9BDA600486 +:106CC000908E00221118080CB9C309F0080C330B80 +:106CD000080CDB21080CD5FE1198080C3334601029 +:106CE00000B62058B9A000BE080CBF7F9186007E78 +:106CF000112820011837200CC18521020804BE3E4E +:106D0000080CD60F1120080CBF7F0804BE3E60049B +:106D1000908E0032116000E600F6207118A12079F3 +:106D20000000080C36A200FE00EE0804BE3E60041F +:106D3000908E00210D40908E0022090CBF7F080428 +:106D4000BE3E90B200401A04BF5920080002BEE9BE +:106D5000BEEABEEDBEF0BEF3BF00BEE7BEE7BEE7D3 +:106D6000BEE7BEE7BEE7BEE7BEE7BEE7BEE7BEE7FB +:106D7000BEE7BEE7BEE7BEE7BEE7BEE7BEE7BEE7EB +:106D8000BEE7BEE7BEE7BEE7BEE7BF03BF0EBEE796 +:106D9000BF10BF0EBEE7BEE7BEE7BEE7BEE7BF0E51 +:106DA000BF0EBEE7BEE7BEE7BEE7BEE7BEE7BEE793 +:106DB000BEE7BF40BF0EBEE7BF0CBEE7BEE7BEE703 +:106DC000BF0DBEE7BEE7BEE7BF0EBF37BEE7080C8C +:106DD0000DCC04202001000B0460200100030448B6 +:106DE000200100050430601000B62058B80400BE31 +:106DF000908400FF9086000011F02001000100C87F +:106E00002001000900B0080C9BDA60030005080CA3 +:106E1000DB24080C9CE80060000800000804BF5157 +:106E2000080C9BDA080CDB2460030004080C9CE8C7 +:106E30000005080C67CF080C9BDA600300020036DF +:106E40002019185523049084FF001120200119896E +:106E5000201C00408007909A00040EC08003801B15 +:106E6000831B9318631A003E080C9CE80C08080C5E +:106E70009BDA080CD876080CB53C080C9CE808C0D6 +:106E800000E600F6207118A120790000080C36A257 +:106E900000FE00EE080C9BDA080CB53C080C9CE8E0 +:106EA0000838080C9BDA60030002080CDB24080495 +:106EB0009CE8260020080002BF72BF51BF70BF517E +:106EC000BF51BF70BF70BF70BF70BF51BF70BF51A7 +:106ED000BF70BF51BF70BF70BF70BF70BF70BF7059 +:106EE000080C0DCC080C9BDA009660142048080CA6 +:106EF000706E009E080CB53C080C9CE8000500E68E +:106F0000009600260016080CD3F50568601420488A +:106F1000A8689086013911A8A89890860056114853 +:106F2000080C56F4013020010000900E20114000A2 +:106F3000002820010030900E20114005080CD9E7F0 +:106F40000090A86CD0FC0178A8070000001660042F +:106F5000908E00210168908E003D0150001EA86BAC +:106F60000103A8330100001E002E009E00EE000564 +:106F7000001E00090CC0009660142048A80020489C +:106F8000A86B0103A8238001009E000500B66610CF +:106F90002658B804908400FF90B2000C1A0C0DCC57 +:106FA000660496B6004D1120080CD9060804C04BA3 +:106FB000660496B600431120080CD94F0804C04B54 +:106FC000660496B6004B1120080CD97B0804C04B10 +:106FD000660496B600331120080CD8980804C04BFC +:106FE000660496B600281120080CD64D0804C04B44 +:106FF000660496B600291120080CD68E0804C04BF2 +:10700000660496B6001F1120080CB9100804C04B86 +:10701000660496B600001118080CBCC204E06604B1 +:1070200096B600221118080CB9A404A8660496B6F6 +:1070300000351118080CBAD20470660496B60039EF +:107040001118080CBC5B0438660496B6003D111894 +:10705000080CB9DC0400660496B600441118080C4C +:10706000BA1800C8660496B600491118080CBA5D33 +:107070000090660496B600411118080CBA470058F3 +:1070800091B6001511100063003091B6001611285A +:1070900000BE0804C35800BE0005080CB5D40CD8C7 +:1070A000C069C077C069C0BEC069C275C365C06928 +:1070B000C069C069C32EC069C3440096601F000048 +:1070C00060142048A8002048A86B0103009E080413 +:1070D000B53CA001A0010005660496B6000411307D +:1070E00020010001080C67BB0804B53C000500E660 +:1070F000207118007090908600741540080CECB94F +:1071000011B0601000B620587030D08C0128B80043 +:10711000D0BC0110C0C5B80200F900BE20010006B5 +:10712000080C67CF080C3334080CB53C00982001DC +:10713000000A080C67CF080C3334600300016007B5 +:107140000001080C977C080C9CE80020200100013D +:10715000080CC24500EE000500D6B800D0840160DE +:107160009006080C67BB2069184A6804D0A4012067 +:1071700020010006080C67FB00DE000500B6009643 +:1071800000D6201118242204908600741904C21A13 +:1071900060102058BAA09286007E1120080CC4B45A +:1071A0000804C1872001180D2004D08C0904C129CE +:1071B00000D6080C77FF01A0002620110010080C53 +:1071C0006C96002E0904C128080C59731598601498 +:1071D0002048A8070000A86B0103A833DEAD0450C7 +:1071E000601000B62058B91000BE918600FF0580DF +:1071F000002620118008080C6C96002E05486014AB +:107200009005090C0DCC2048A868908400FF90865A +:107210000039114020010030900E20114009080C67 +:10722000D9E7004060142048A8070000A86B0103BC +:10723000A833DEAD60102058B9A00016080C333416 +:10724000080CB53C001E080C340700DE0804C21F01 +:1072500000DE080CC4A960102058BAA092860080F5 +:1072600015106014900501A82048A868908400FFBC +:1072700090860039114020010000900E201140003E +:10728000080CD9E70030A8070000A86B0103A83359 +:10729000020020010006080C67CF080C3334080CEC +:1072A000B53C0804C21F080CC22D60149005019063 +:1072B0002048A86CD0F401E8A868908400FF90866C +:1072C00000391D0820010000900E20114000080C1C +:1072D000D9E708F8080CC22301609006080C67BBC8 +:1072E00020010004080C67FB20010007080C67CF91 +:1072F00008A020010004080C67CF600300016007AC +:107300000003080C977C080C9CE80804C21FB85CBA +:10731000D0E40178080CD818080C77FF0118D0DCED +:107320001904C149201118372204C0AD20120804E5 +:10733000C149080CD855201118372204C0A52012C5 +:107340000006080CEE95000E1904C149C0B52012C4 +:1073500020010006080C67CF9006080C67BB00C62A +:107360002001180F2004D09C052000F62079010090 +:1073700000E620711800700C908400FF78E6707EA3 +:10738000701078EA7082908C00FF00EE780CC0B527 +:10739000780E00FE080C293100F62100900E080C32 +:1073A00028E8795E00FE9186008101F020090081C5 +:1073B00000E0200900EF00F62079010079EA78E783 +:1073C000000079327936780CC0B5780E00FE080CD2 +:1073D000293100F62079180079822100900E797EFB +:1073E000080C28E8795E00FE8108080C681E2B0056 +:1073F00000CE1904C14960122009180F210CD19C3C +:1074000001502009027C210C918C00FFB912200947 +:10741000027D210CB91620010002080C67CF602301 +:1074200000016003000160070002080C977C080C53 +:107430009CE80028080CBF7F20010001043100DE19 +:10744000009E00BE0005200118102004D0A40120D9 +:107450002001184B2004D0AC000500E6080CF3DA3C +:107460000190207102607108720C918C00FF11185C +:107470009284FF00014060102058B8A09084FF80E3 +:107480001110B912BA1600EE00052030900501580F +:1074900020010007080C67CF080C59731120200148 +:1074A0000007080C67FB2600900511B060140096D9 +:1074B0002048A86C009ED0FC117800360046601071 +:1074C00000B62058BBA000BE20210004201180146B +:1074D000080C4DBF004E003E080C333460209086EF +:1074E000000A110800050804B53C00B600E60026B5 +:1074F0000016207118007090908600141904C3249F +:107500002001180D2004D08C0904C2D700D6080C25 +:1075100077FF01A0002620110010080C6C96002EA9 +:107520000904C2D6080C5973159860142048A8079E +:107530000000A86B0103A833DEAD0450601000B654 +:107540002058B91000BE918600FF0580002620114A +:107550008008080C6C96002E054860149005090CF4 +:107560000DCC2048A868908400FF90860039114017 +:1075700020010030900E20114009080CD9E700408E +:1075800060142048A8070000A86B0103A833DEADF3 +:1075900060102058B9A00016080C3334080CB53C14 +:1075A000001E080C340700DE0804C32900DE080CA6 +:1075B0005973117060149005115800360046601020 +:1075C0002058BBA020210006080C4F76004E003E3C +:1075D00000D660102058080C692B080CC0AC00DEE7 +:1075E000080CC584158860102058B8909005056077 +:1075F00020010006080C67CF00966014904D01D062 +:10760000A868908400FF9086003911402001000096 +:10761000900E20114000080CD9E70060A868908403 +:1076200000FF908600290130A8070000A86B010325 +:10763000A8330200009E080C333460209086000AB4 +:107640000140080CB53C0028080CBF7F9006080CD0 +:10765000C245001E002E00EE00BE000520111824B9 +:10766000220490860014116020010002080C67CFEC +:107670006003000160070001080C977C08049CE887 +:10768000200100010804C2452030201118242204E2 +:1076900090860004114896B6000B112020010007C7 +:1076A000080C67CF0804B53C200100010804C2455E +:1076B0000002C069C370C069C3B3C069C460C36558 +:1076C000C06CC069C474C069C48666049686000331 +:1076D0000904C27596B6001E1110080CB53C0005D1 +:1076E00000B600D600C6080CC49811A09006080C7D +:1076F00067BB080C330B080CDB2120010002080CCF +:1077000067CF6003000160070002080C977C080C3B +:107710009CE804282009026E21049086000911606B +:1077200060102058B840908400FF900501808001CF +:10773000B842601B000A00982009026F210490845F +:10774000FF00908E19000158908E1E000990080CC1 +:10775000330B080CDB2120010001080CC24500CED0 +:1077600000DE00BE0005009600B600269016080C4C +:10777000C4A600D62069197F2D0490050168601009 +:107780002058B8A09086007E1138206918202D045A +:107790008000206A00DE001000DE00889006080CE1 +:1077A00067BB20010002080C67CF6003000160077F +:1077B0000002080C977C080C9CE80804C430080CF4 +:1077C000D3F501B060142048A868201090860139D4 +:1077D00011386007001620010002080CDA3E00B0E4 +:1077E00060142048A868D0FC0118200100010CA8F2 +:1077F0002001180E2004D0DC014860102058B84049 +:10780000908400FF9005111090060C38080CBF7F83 +:107810002009026E213496B400FF968600050520EB +:107820009686000B01C82009026F21049084FF0096 +:1078300011189686000901C0908619001168968675 +:107840000009019020010004080C67CF20010028E6 +:10785000601A60070052002020010001080CC24598 +:10786000002E00BE009E0005928601390160601462 +:107870002048080CD3F50140A8689086013901180A +:10788000A86CD0FC01080C4060102058B8409084CF +:1078900000FF900501388001B842601B000A6007B4 +:1078A000001608F0B8A09086007E113800E620711E +:1078B0001800080C624700EE0010080C330B08603B +:1078C00020010004080C67CF080CC4A61140600317 +:1078D000000160070003080C977C08049CE8080C72 +:1078E000BF7F90060804C24504891160200100088A +:1078F000080C67CF6003000160070005080C977C47 +:1079000008049CE8200100010804C24500F9116048 +:107910002001000A080C67CF600300016007000126 +:10792000080C977C08049CE8200100010804C2456B +:107930002009026E21049086000311382009026F8D +:1079400021049084FF0090862A00000590850001A4 +:10795000000500B600C6001661102158080C689F8B +:10796000001E00CE00BE000500B600F600E600D600 +:107970000036001660102058200918372104908521 +:107980000003200A080CC55605D020091837210429 +:10799000C0CD200A080C6C57015890062020200901 +:1079A000002A080CF00A2001180C200CC1952102B5 +:1079B00061200016602300072019002A2009000119 +:1079C00000E62071180000C620610100080C32D6C4 +:1079D00000CE60109005090C0DCC080C30B600EEFE +:1079E000001E612200C6015620A907812009007FE0 +:1079F000080C340781081F04C4F8015E00CE080C8F +:107A0000C4A92071026020790200781700012001CA +:107A10001837200CC1C57018D0FC0110D0DC01183B +:107A20007038D0DC1108C1C4781700002001183765 +:107A30002102918400509086005005882079010031 +:107A40002E04908400FF2069181F206A78E6000643 +:107A50008E702E0420691820206A78EA78327836F1 +:107A600020109084FF00001E91052009182C200A88 +:107A70002200908400FF2008080C2931080C77FFB1 +:107A8000017020710260206919857048206A704C6D +:107A900068067050680A7054680E080CD818001EEA +:107AA000003E00DE00EE00FE00BE0005009600264F +:107AB000003600E601562019182C231C83FF01F024 +:107AC000207102607200929400FF70049084FF00A5 +:107AD0009205930611982011027620A900042B48E4 +:107AE0002019000A080CC66111482011027A20A949 +:107AF000000420190006080CC6611100015E00EEAA +:107B0000003E002E009E000500E6207102607034E9 +:107B10009086001411A87038908608001188703C77 +:107B2000D0EC016090840F009086010011387054F1 +:107B3000D0A41110D0AC0110900600109085000167 +:107B400000EE000500E6009600C6007600560046EE +:107B500000260006012620918000202919F4252CFA +:107B6000202119FA242420611CD02071180072549D +:107B7000707492021A04C624080C8F6E0904C61D84 +:107B8000080CF03B0904C61D67209786000709040E +:107B9000C64625009C060904C61D24009C0609044F +:107BA000C61D3E0881FF01C86010900501B000B6F7 +:107BB0002058918600021120B800D0BC1904C64498 +:107BC000918600011148BAA09286007E11286004B7 +:107BD000908600020904C64400BE00C6600090867C +:107BE00000041110080C1AEA9786000A0148080CD4 +:107BF000D60F113000CE080CBF7F080CB56F00E81F +:107C000060142048080CD3F501A8978600031530AE +:107C1000A86B0103A880D0CC01300096A87C204836 +:107C2000080C0FC8009EAB7EA87B0000080C70619A +:107C3000080CD5F2080CB56F00CE9CE000187068F7 +:107C40009C0212100804C5B7012E000E002E004E33 +:107C5000005E007E00CE009E00EE000597860006C6 +:107C60001118080CEFAD0C30978600091148600020 +:107C7000908600040D082009004C080CB5B908E0F6 +:107C80009786000A0980082000BE08B86000908628 +:107C900000131998603460020880220C23049106B6 +:107CA0001130821083181F04C64D9006000523046E +:107CB000910202182001000100089006918D000138 +:107CC0000005013601C60016890680068007908CE3 +:107CD000003F21E09084FFC093002098351820A930 +:107CE0000001220C4002910E1140821083191DC820 +:107CF0009006001E01CE013E0005220C91020218E2 +:107D000020010001001020010000918D0001001EE3 +:107D100001CE013E0005220C810F23049106113093 +:107D2000821083181F04C68B90060005918D0001F8 +:107D300000056004908A00541A0C0DCC080CD5FE86 +:107D40000120080CD60F01680028080C3334080CF9 +:107D5000D60F0138080C9BDA080CB53C080C9CE8DF +:107D60000005080CBF7F0CB0918200541220918254 +:107D700000400208000A0005C6D0C6D0C6D0C6D052 +:107D8000C6D0C6D0C6D0C6D0C6D0C6D0C6D0C6D241 +:107D9000C6D2C6D2C6D2C6D0C6D0C6D0C6D2C6D02B +:107DA000080C0DCC600BFFFF600300016106080C9E +:107DB0009734012620918000080C9CE8012E0005D4 +:107DC0009186001311286004908200400804C76A5D +:107DD000918600271520080C9BDA080C330B080C41 +:107DE000DB21009661142148080CD3F50198080C9A +:107DF000D60F1118080CBF7F0068A86B0103A87F7D +:107E00000029A87B0000A980C1C5A982080C706E5A +:107E1000080CD5F2009E080CB53C08049CE891863D +:107E20000014112060049082004000B89186004642 +:107E300001509186004501389186005301209186BA +:107E40000048190C0DCC080CDB5001306000908606 +:107E5000000211100804C7A800050002C744C74269 +:107E6000C742C742C742C742C742C742C742C742CA +:107E7000C742C75FC75FC75FC75FC742C75FC74229 +:107E8000C75FC742080C0DCC080C9BDA0096611442 +:107E90002148080CD3F50168A86B0103A87F0006F0 +:107EA000A87B0000A884C0ECA886080C706E080CA3 +:107EB000D5F2009E080CB53C080C9CE80005080CA7 +:107EC0009BDA080CD60F090CBF7F080CB53C080CD8 +:107ED0009CE800050002C781C77FC77FC77FC77FB7 +:107EE000C77FC77FC77FC77FC77FC77FC798C79830 +:107EF000C798C798C77FC7A2C77FC798C77F080C16 +:107F00000DCC0096080C9BDA601420482001198BD8 +:107F100020046042A980D1AC014060030004A88025 +:107F200090850400A882009E0005600300020CB842 +:107F3000080C9BDA080CDB24080CDB296003000F1B +:107F400008049CE8080C9BDA080CB53C08049CE883 +:107F5000918200541220918200400208000A00051C +:107F6000C7C4C7C4C7C4C7C4C7C4C7C6C8A9C7C4D1 +:107F7000C8DDC7C4C7C4C7C4C7C4C7C4C7C4C7C48F +:107F8000C7C4C7C4C7C4C8DD080C0DCC00B6009672 +:107F900061142148764496B40FFF86FF15286010BF +:107FA0002058B800D0BC1904C898A87F0000A86B5E +:107FB0000103AE7AA880D0AC0128A834A938911565 +:107FC000190CCA76080C6E8862102258BA3C82FFDF +:107FD00001108211BA3E7044D0E41904C879080C2B +:107FE000B53C009E00BE0005080CDB721DD0968CCF +:107FF0000C00015060102058B800D0BC1904C87D96 +:108000007348AB96734CAB92968C00FF918600023E +:108010000508918600281118A87F001C00E8D6DC0E +:1080200001A0A87F0015A880D0AC0170A938AA349F +:10803000210092050148704891061118704C920673 +:108040000118A996AA92C6DC0038D6D40118A87FD8 +:1080500000070010A87F0000A86B0103AE7A901EF5 +:10806000D6C401D8968601001130706490051118AD +:10807000C6C40804C7CD735CAB8A83FF0170938AC2 +:1080800000090210201900080036230820190018E2 +:1080900020110026080CCF79003ED6CC0904C7E297 +:1080A0007154A98E81FF0904C7E2919200211278D0 +:1080B0008304909800182011002A080CCF79201111 +:1080C000020520130000080CDAAA0804C7E2A86C15 +:1080D000D0FC012020090020A98E0C5000A62950B8 +:1080E000080CCF1800AE080CDAAA080CCF690804F7 +:1080F000C7E4080CD7020804C7F1A880D0AC090473 +:10810000C800A884D0BC1904C800968404000130BB +:10811000A838AB3493050904C80000B87348A838E0 +:1081200093061198734CA834931E0904C800006884 +:10813000A880D0AC0904C7D5A838A9349105090492 +:10814000C7D5A884D0BC1904C7D5080CD73C0804EF +:10815000C7F1009600F66003000360070043207932 +:10816000026C7C047B007E0C7D0860142048A88093 +:10817000D0AC01406003000200FE009E00052130EB +:10818000222800582400A9B0910A2300AAB492130F +:1081900026009102250092030E90AC36AB3AAE4613 +:1081A000AD4A00FE604300002C10080C1C3C080C7B +:1081B0009799080C9E03009E0005000591820054CB +:1081C0001220918200400208000A0005C8FAC8FA8D +:1081D000C8FAC8FAC8FAC8FCC992C8FAC8FAC9A944 +:1081E000CA39C8FAC8FAC8FAC8FACA4EC8FAC8FAE8 +:1081F000C8FAC8FA080C0DCC007600A600E6009676 +:1082000020710260611421507644B67A96B40FFF53 +:10821000B780C7E5B782621000B62258BA3C82FF29 +:1082200001108211BA3E00BE86FF0904C98D9694E2 +:10823000FF0092840C0001207048B096704CB09200 +:10824000928403000904C98D080C1016090C0DCC8A +:108250002900B07EB780C7CDB782A86B0103B06C90 +:10826000A86EB070A872B074A876AE7A968C0C0026 +:1082700001207348AB96734CAB92968C00FF9186AD +:1082800000020180918600281118A87F001C006060 +:10829000D6DC0118A87F00150038D6D40118A87FB5 +:1082A00000070010A87F0000AF82B084A886B088C5 +:1082B000A88A901ED6C40190735CAB8A83FF0170BC +:1082C000938A00090210201900080036230820199B +:1082D000001820110026080CCF79003ED6CC01E80A +:1082E0007154A98E81FF01C891920021126083040C +:1082F000909800182011002A080CCF79201102054F +:10830000201300000050B06CD0FC01202009002098 +:10831000A98E0C682950080CCF18009E00EE00AE04 +:10832000007E000500F600A6600300032079026CC1 +:108330007C047B007E0C7D0860142050B436B33A78 +:10834000B646B54A00AE00FE2C10080C1C3C0804D2 +:10835000A8E86003000260049086004011C80096FF +:1083600060142048A880D0AC0160601CD08411301B +:1083700000F62C002078080C17A900FE600300040A +:10838000001060030002009E080C9BDA080C9CE8B9 +:1083900000962001198B20046042080C9C98080C60 +:1083A0009E0361142148A980D1E40904CA34D1CCC8 +:1083B00005C8A97CA86CD0FC05400016A880000662 +:1083C000A8840006A86020E8A85C9080001A20A07D +:1083D000810E810E810F9184003F20E09184FFC0C7 +:1083E0009080001A2098015620A900204003015EC9 +:1083F000000EA886000EC0CCA882001EA878000639 +:108400002148080C0FC8001E04580016080C0FC89D +:10841000009EA880C0CCA882A9780016080CCF695D +:10842000001E00F0A86B0103A978918400FF90B6AC +:1084300000020180908600281118A87F001C0060AF +:10844000D1DC0118A87F00150038D1D40118A87F0D +:1084500000070010A87F00000016080C6E88001EA0 +:10846000D1E41120080CB53C009E0005080CD70291 +:108470000CD86004908600401120080C9BDA080C90 +:108480009CE820190001080CAC9660030002080C5F +:10849000DB29080C9C98080C9E030005600490865C +:1084A00000401120080C9BDA080C9CE82019000100 +:1084B000080CAC96080C9C98080C330B080CDB21BC +:1084C000009661142148080CD3F50150A86B0103F4 +:1084D000A87F0029A87B0000080C706E080CD5F25C +:1084E000009E080CB53C080C9E030005A87F0015F3 +:1084F000D1FC0180A87F000780028000810A918959 +:1085000000000006001620091A8021048000200ABD +:10851000001E000EA996A892000591820054122018 +:10852000918200400208000A0005CAA9CAA9CAA986 +:10853000CAA9CAA9CAABCAA9CAA9CB59CAA9CAA9F0 +:10854000CAA9CAA9CAA9CAA9CAA9CAA9CAA9CAA993 +:10855000CC9B080C0DCC007600A600E6009620719E +:10856000026061142150764486FF1904CB54B67A18 +:1085700096B40FFFB780C7E5B782621000B62258E5 +:10858000BA3C82FF01108211BA3E00BE86FF090488 +:10859000CB4D9694FF0092840C0001207048B09659 +:1085A000704CB092928403000904CB4D9686010072 +:1085B0001130706490051118C6C4B67A0C38080CD6 +:1085C0001016090C0DCC2900B07EB78097BD0200B3 +:1085D000B782A86B0103B06CA86EB070A872B074BB +:1085E000A87670449084F0009635AE7A968C0C0094 +:1085F00001207348AB96734CAB92968C00FF91862A +:1086000000020180918600281118A87F001C0060DC +:10861000D6DC0118A87F00150038D6D40118A87F31 +:1086200000070010A87F0000AF82B084A886B08841 +:10863000A88A901ED6C40190735CAB8A83FF017038 +:10864000938A000902102019000800362308201917 +:10865000001820110026080CCF79003ED6CC01E886 +:108660007154A98E81FF01C8919200211260830488 +:10867000909800182011002A080CCF7920110205CB +:10868000201300000050B06CD0FC01202009002015 +:10869000A98E0C682950080CCF18080C1AB6009E39 +:1086A00000EE00AE007E0005080CDB720904CAB7BC +:1086B0000CB02001198B20046042009661142148FF +:1086C000A83CA94091051118A880C0DCA8826003CD +:1086D0000002A980D1E40904CC9660430000601038 +:1086E00000B62058B80000BED0BC1500D1CC09049B +:1086F000CC65A97CA86CD0FC0904CC260016A88007 +:108700000006A884000600A62150B178918400FFDD +:1087100090B600020904CBF3908600281904CBDF41 +:10872000A87F001CB07F001C0804CBFB6024D0F4A1 +:1087300011D0A838AA34920509C8A838AA9492067C +:108740001120A890AA34920609886024D0D4114838 +:10875000A9B0A8349102603AA9B4A8389103603E48 +:108760006024C0F56026601000B62058B83C800038 +:10877000B83E00BE9006A87AA896A892A880C0E449 +:10878000A882D0CC0140C0CCA8820096A87C20480A +:10879000080C0FC8009E621882FF01682001198B27 +:1087A000200492021240A86B0103A87F0006A87B58 +:1087B00000000804CC8D080CD73C0804CC96D1DC12 +:1087C0000158A87F0015B07F0015080CD9D00118FA +:1087D000B178C1DCB17A0078D1D40128A87F000734 +:1087E000B07F00070040A880D0AC0128A834A93889 +:1087F0009115190CCA76A880B082A894B096A8905A +:10880000B092A86020E8A85C9080001A20A020A95F +:1088100000208A06800680079094003F22E0908422 +:10882000FFC09080001A2098400300AE000EA8867A +:10883000000EC0CCA882080CDAAA001EA878000698 +:108840002148080C0FC8001E0804CC92001600A690 +:108850002150B178918400FF90B6000201E090862B +:1088600000281128A87F001CB07F001C00E0D1DC8C +:108870000158A87F0015B07F0015080CD9D0011849 +:10888000B178C1DCB17A0078D1D40128A87F000783 +:10889000B07F00070040A880D0AC0128A834A938D8 +:1088A0009115190CCA76A894B096A890B092A88099 +:1088B000B08200AE080C0FC8009E080CDAAAA97896 +:1088C0000016080CCF69001E0468A86B0103A97884 +:1088D000918400FF90B6000201B090860028111824 +:1088E000A87F001C00D0D1DC0148A87F0015080C2F +:1088F000D9D00118A978C1DCA97A0078D1D401189F +:10890000A87F00070050A87F0000A880D0AC0128F5 +:10891000A834A9389115190CCA76A9780016080C44 +:108920006E88001ED1E41120080CB53C009E0005A5 +:10893000080CD7020CD8611400962148A980D1E414 +:10894000190C1AD6009E0005080C9BDA0010080CC2 +:108950009C98080CD3F501F0009661142148080C8E +:10896000D60F1118080CBF7F00A0A86B01032009C7 +:10897000180C210CD18C11B8D18411906108A97EFA +:10898000918E00291110080CF372A87B0000080CCE +:10899000706E009E080CB53C080C9CE808049E0311 +:1089A000A87F00040C90A87F00040C7891820054EA +:1089B0001220918200400208000A0005CCF2CCF29D +:1089C000CCF2CCF2CCF2CCF4CCF2CCF2CCF2CCF2B5 +:1089D000CCF2CCF2CCF2CCF2CCF2CCF2CCF2CCF2A7 +:1089E000CCF2CCF2080C0DCC080C59670528714468 +:1089F000918C0FFF00662130080CDB72006E11F0C5 +:108A000060149016D1C401187264929400FF00960D +:108A1000904D0188A87F0000A86890860139012840 +:108A2000A86B0103A97AAA9A0030A89B4000A99ECE +:108A3000AAA2080C706E009E0804B53C0005918245 +:108A400000850002CD31CD2FCD2FCD3DCD2FCD2FA7 +:108A5000CD2FCD2FCD2FCD2FCD2FCD2FCD2F080C1E +:108A60000DCC600300016106080C973401262091AB +:108A70008000080C9CE8012E00050026005600D658 +:108A800000E620710260722462167220080CD3E3A3 +:108A900001F8226868009086000001D060106D1017 +:108AA000952E11B000C62D6000D6080CCFFE00DE5A +:108AB00000CE0158702CD0841118080CCFA60010DD +:108AC00068030002600700860028080CCFEA0D90BA +:108AD0006007008760030001080C9734080C9CE8CD +:108AE0007220080CD3E30178681000B62058B80053 +:108AF00000BED0BC01406824D0EC012800C62D6027 +:108B0000080CD73C00CE00EE00DE005E002E000513 +:108B10009186001311606004908A00850A0C0DCCC8 +:108B2000908A00921A0C0DCC9082008500E291860A +:108B3000002701209186001401080005080C9BDA2B +:108B4000009660142048080CD3F50140A86B01037F +:108B5000A87B0000A87F0029080C706E009E080CFE +:108B6000B56F08049CE8CDC0CDC2CDC2CDC0CDC08C +:108B7000CDC0CDC0CDC0CDC0CDC0CDC0CDC0CDC08D +:108B8000080C0DCC080C9BDA080CB56F080C9CE89F +:108B9000000591860013112860049082008520084A +:108BA00004B89186002711F8080C9BDA080C330BE7 +:108BB000080CDB21009660142048080CD3F5015006 +:108BC000A86B0103A87B0000A87F0029080C706E29 +:108BD000080CD5F2009E080CB53C080C9CE800057A +:108BE000080CB5D40CE0918600141DD0080C9BDA5B +:108BF000009660142048080CD3F50D60A86B0103A3 +:108C0000A87B0000A87F0006A884C0ECA88608F016 +:108C10000002CE18CE16CE16CE16CE16CE16CE30FA +:108C2000CE16CE16CE16CE16CE16CE16080C0DCCFF +:108C3000080C9BDA6034908CFF00810F918600391C +:108C400001189186003511182001198900102001A2 +:108C5000198A2004601A6003000C080C9CE80005C7 +:108C6000080C9BDA6034908CFF00810F91860039EC +:108C70000118918600351118200119890010200172 +:108C8000198A2004601A6003000E080C9CE8000595 +:108C9000918200921220918200850208001208043D +:108CA000B5D4CE5ECE5ECE5ECE5ECE60CE97CE5ECC +:108CB000CE5ECE5ECE5ECE5ECE5ECE5E080C0DCCBF +:108CC0000096601000B62058B80000BED0BC01600D +:108CD0006034908CFF00810F9186003901189186D5 +:108CE00000351110009E04B8080CD3F51118080CBB +:108CF000D5F2006860142048A880D0E41110080C58 +:108D0000D5F2A86B0103080CDAE7080C706E200995 +:108D1000026E210C613A2009026F210C613E600055 +:108D2000603660030013080CB56F009E00056010EC +:108D300000B62058B80000BED0BC05A06034908CAE +:108D4000FF00810F9186003501309186001E0118C9 +:108D500091860039153800D62C68080CDA7D11F0A0 +:108D6000080CB4E601D8610660030001602300012D +:108D700069106112692C612E693061326934918CFD +:108D800000FF61366938613A693C613E6954615659 +:108D9000080CD87E080C9734080C9CE82D6000DE87 +:108DA0000804B53C009660142048080CD3F501C8AF +:108DB000A86B0103A884D0B40128C0ECA886A87FC2 +:108DC00000060048D0BC0118A87F00020020A87F40 +:108DD0000005080CD6FEA87B0000080C706E080C7D +:108DE000D5F2009E0804B53C001600966014204899 +:108DF000080CD3F50140A86B0103A87F0028A87BCD +:108E00000000080C706E009E001E91860013014841 +:108E1000918600140130918600270118080CB5D402 +:108E20000030080C9BDA080CB56F080C9CE80005B4 +:108E300000560066009600A62029000191820101DB +:108E400012080010200901002130830490980018B6 +:108E5000200900202011002A080CCF7996B20020AA +:108E6000B004904D0110080C0FC8080C1016052016 +:108E70008528A86B0110A86F00002920B406968AE7 +:108E8000003D122826082011001C049900A896B263 +:108E9000003C2009003C29502011001C04510C28E2 +:108EA000200102052003000000AE852F95AD0003D0 +:108EB000B56A95AC000000482001020520030000BF +:108EC00000AE852F95AD0003B56A009E006E005E72 +:108ED000000500A689FF0158A80490550130A80795 +:108EE0000000080C706E2A480CB8080C706E00AEBA +:108EF000000500F62079020078149085008078162D +:108F0000D18401088108810C20A90001A86020E813 +:108F1000A85C920020A020E1000023009E00209881 +:108F200040038318938600201148201823009E00D8 +:108F300020987814800090850080781681091D8023 +:108F400078149084FF7F781600FE000569209186D2 +:108F50000003014891860002013091860008011843 +:108F60009186000A151000C600D600E62D60009616 +:108F700060142048080CD3F5019061209186000A06 +:108F800001A89186000801B800C920010006A98443 +:108F9000C1D5080C72D6080C7061080CD5F2009E81 +:108FA000080CB56F00EE00DE00CE0005A87F0013B0 +:108FB000080C706E0CA0080CBF7F0C88A880D0CC69 +:108FC00001400096A87C2048080C0FC8009EA87F8E +:108FD0000000000500C6702CD0841170600820606D +:108FE000602090860002114061049186008501187E +:108FF0009186008B1108900600CE000500660126C0 +:10900000209180002031000160209084000F0083B7 +:10901000012E006E0005012620918000006620319F +:10902000000060209084000F001B006E012E0005E0 +:10903000D035D035D030D057D027D030D057D030E1 +:10904000DB9B94BFEE4FD030D030D027D027080C18 +:109050000DCC003620190010080CEB0E003E000568 +:1090600090060005908500010005009686FF11D846 +:1090700060142048080CD3F501C0A8689086013917 +:109080001128A87F0005A88700000028900E200165 +:109090000005080C72D6080CD6FE080C7061080C8E +:1090A000B56F90850001009E000590060CE0600001 +:1090B000908A00141A0C0DCC0002D06DD09DD06F98 +:1090C000D0BED098D06DD030D035D035D030D03063 +:1090D000D030D030D030D030D030080C0DCC86FF1E +:1090E0001520602090860006050000966014204838 +:1090F000080CD3F50168A880D0CC01400096C0CC04 +:10910000A882A87C2048080C0FC8009E080CD6FE38 +:10911000009E080CDAC1600700856003000B602325 +:109120000002080C9734080C9CE8908500010005AB +:109130000066080C1AEA006E089000E6207119EB30 +:1091400070249C061120080CAC2000EE0840602022 +:109150009084000F908600061150008600962049EA +:1091600000012C40080CAD48009E008E0010080C39 +:10917000AB1D00EE1904D06F0804D030003600E6B5 +:10918000207119EB703C9C061138901E080CAC96AF +:1091900000EE003E0804D06F080CAE7800EE003EF2 +:1091A0001904D06F0804D03000C660209084000FEE +:1091B000001300CE0005D0F1D1BCD32ED0F9B56F8D +:1091C000D0F1EB04DB2ED1BC9491D3BAD0EAD0EA33 +:1091D000D0EAD0EA080C0DCC080CD60F1110080C00 +:1091E000BF7F0005080C9CE80804B53C601B00012B +:1091F0000005080CD3F501306014009620482C00BF +:10920000A89A009E6000908A00141A0C0DCC0002EF +:10921000D118D11AD13ED152D178D118D0F1D0F194 +:10922000D0F1D152D152D118D118D118D118D15C66 +:10923000080C0DCC00E6601400962048A884C0B548 +:10924000A886009E207119EB70249C0601A0080CD2 +:10925000AB1D080CDAC1600700856003000B6023BA +:1092600000022001198A2004601A080C9734080CA7 +:109270009CE800EE0005601B00010CD8009660140D +:109280002048A884C0B5A886009E080CDAC16007F3 +:1092900000856003000B60230002080C9734080C63 +:1092A0009CE800050096601B000160142048A8841B +:1092B000C0B5A886009E0005080C596701B8601467 +:1092C0000096904D0190A868A86B0103A87F000646 +:1092D000908601391150A86B0139A87F0030A89BF6 +:1092E0004005A89F0004080C706E009E0804B53C61 +:1092F00060140096904D05D8A980D1E405C02001E6 +:10930000180F2004D0C40110009E0005A888009EFC +:109310008003800B810B9108611A200100302C081A +:109320000026621C080C16492001030C2004002EA4 +:1093300090860041119860140096904D090C0DCC58 +:10934000A884D0F41130C0F5A886009E601B0002EE +:109350000068009E00C6080C23CC00CE60009086FA +:109360000004112020090048080CB5B90005009E32 +:10937000080C1AEA0804D13E6000908A00141A0C06 +:109380000DCC000B0005D1D3D0F6D1D5D1D3D1D59A +:10939000D1D5D0F2D1D3D0ECD0ECD1D3D1D3D1D35D +:1093A000D1D3D1D3D1D3080C0DCC601000B6205846 +:1093B000B804908400FF00BE908A000C1A0C0DCCFB +:1093C00000B6001300BE0005D1F0D2C5D1F2D232F2 +:1093D000D1F2D232D1F2D200D1F0D232D1F0D221B8 +:1093E000080C0DCC6004908E001605C0908E000411 +:1093F00005A8908E00020590908E00520904D2C1FB +:109400006004080CD60F0904D2DE908E00041110FF +:10941000080C3334908E00210904D2E2908E002291 +:109420000904D329908E003D0904D2E2908E0039C0 +:109430000904D2E6908E00350904D2E6908E001E13 +:109440000178908E0001114060102058B80490847B +:1094500000FF908600060110080C330B080CBF7F3C +:109460000804B56F00C600D6610491860016090491 +:10947000D2B2918600021904D28720011837200445 +:10948000D08C11C8080C77FF11B0080CDB0C013828 +:10949000080C78221120080C770A0804D312200146 +:1094A0001980200300012001180020030001080C8E +:1094B000772C0804D31260102058B8A09086008042 +:1094C0000130200118372004D0AC1904D3126014E5 +:1094D00090051904D312B8A0908200811A04D31207 +:1094E000B840908400FF900501908001B842601759 +:1094F000000060230007601B039860430000080C15 +:10950000B4E601282B00601260230001045800DE3D +:1095100000CE6004908E000211A060102058B8A008 +:109520009086007E1170200918372104C085200A1A +:1095300000E620711800080C624700EE080CBF7F9F +:109540000030080CBF7F080C330B080CDB2100E651 +:10955000012620918000080C3334012E00EE080C07 +:10956000B56F000520010002080C67CF6003000101 +:1095700060070002080C977C080C9CE800DE00CE17 +:109580000C80080C33340804D22E00C600D66104C7 +:10959000918600160D3860102058B840908400FF66 +:1095A00090050904D2878001B84260030001080CCD +:1095B000977C080C9CE800DE00CE0898080CBF7F62 +:1095C0000804D230080CBFBB0804D23000D62C6887 +:1095D0006104080CDA7D00DE0118080CB53C0408B3 +:1095E000600480076134918C00FF9105603660074C +:1095F00000856003000B60230002603C600A2001CC +:10960000198A2004601A602C2C0820606024D0B4D1 +:109610000108C085C0B560262160080C9734080C8D +:109620009CE8000500DE00CE080CBF7F080C330B61 +:1096300000E6012620918000080C333460170000FA +:1096400060230007601B039860430000012E00EEBA +:109650000005080CB9C31904D2DE00056000908A29 +:1096600000141A0C0DCC009600D6001B00DE009EE4 +:109670000005D349D349D349D349D349D349D34921 +:10968000D349D349D0F1D349D0F6D34BD0F6D365E3 +:10969000D349080C0DCC60049086008B01B0603477 +:1096A000908CFF00810F918600351130602C9080E6 +:1096B0000009200CC18521026007008B6003000DAA +:1096C000080C9734080C9CE80005080CDB00011816 +:1096D000080CDB130010080CDB21080CD5F2080C79 +:1096E000D3F50570080C330B080CD3F50168601432 +:1096F0002048A86B0103A87F0006A87B0000A8846F +:10970000C0EDA886080C706E2C68080CB4E60150F9 +:1097100068106012080CD87E00C62D60080CB56F6A +:1097200000CE00082D606017000060230001600774 +:10973000000160030001080C977C080C9CE800C83D +:10974000080CDB0001386034908640001118080CCA +:10975000330B08D06034908CFF00810F9186003964 +:109760000118918600351118080C330B0868080C95 +:10977000B56F00056000908A00141A0C0DCC000231 +:10978000D3D0D3D0D3D4D3D2D3DED3D0D3D0B56F2C +:10979000D3D0D3D0D3D0D3D0D3D0D3D0D3D0D3D0B1 +:1097A000080C0DCC080CAE78611400962148A87FF7 +:1097B0000006080C706E009E0804B53C601CD08446 +:1097C000190C1AEA0C8892840007115892821CD056 +:1097D00002402001181A20049202121890850001FC +:1097E000000590060CE8009600280096000660141C +:1097F0002048000E00069984F0009086F000190CB5 +:1098000010C1000E009E000500E600C600360006EE +:1098100001262091800020611CD020711800735413 +:10982000707493021650602092061508080CDB0C29 +:10983000018092860001116860049086000411483E +:10984000080C330B080CDB2100C6080CB56F00CEEA +:109850000070080CD7F8015800B10148080CD60F69 +:109860001110080CBF7F00C6080CB53C00CE9CE070 +:10987000001870689C0212080890012E000E003E2D +:1098800000CE00EE000500766700978600000170AC +:109890009786000101589786000D01409786000BBE +:1098A00001289786000A011097860009007E0005AE +:1098B00000E600C6001691881000210C81FF0128E7 +:1098C00020611ABA6112080C330B900600109085C3 +:1098D0000001001E00CE00EE000500C6012620910A +:1098E0008000080CB4E601B066562B006012080C2C +:1098F00059670118080CD53A0168080CD87E602316 +:1099000000032009004B080CB5B990850001012E19 +:1099100000CE000590060CD800C6012620918000DC +:10992000BAA0080CB58C0560605700002B006012CF +:10993000080CD87E602300030016080C98D9007626 +:10994000903E080C97AC2C08080CECE8007E001E3A +:10995000D1840128080CB53C908500010070080CEA +:1099600059670128D18C1170080CD53A014820099B +:10997000004C080CB5B990850001012E00CE000501 +:1099800090060CD8290060160C902009004D00109C +:109990002009004E00F600C600460016080CB4E68A +:1099A0002C7805A07E562B00781278230003001631 +:1099B00020210005080CD54C001E9186004D011891 +:1099C0009186004E014820011983200CD1FC0168CA +:1099D0002F60080CB53C00D020011982200CD1FC6E +:1099E00001202F60080CB53C00882F60080C5967D7 +:1099F0000138D18C111804F10148001029007816A3 +:109A0000001E0016080CB5B990850001001E004E1E +:109A100000CE00FE000500F600C60046080CB4E6C5 +:109A20002C7805087E562B007812782300030096C8 +:109A3000202100040489009E20011981200CD1FC02 +:109A400001202F60080CB53C00602F60080C59679E +:109A50000120D18C11600071013020090052080CE6 +:109A6000B5B990850001004E00CE00FE000529002A +:109A700078160C9800C6080C4D6300CE1120080C17 +:109A8000B53C90060005A86B0000A86F8000290077 +:109A90006016908500010005009600760126209151 +:109AA0008000080C69E60138900E2400080C72D67C +:109AB000080C706E0CB02418080C9B74BAA00086B9 +:109AC00020410001203900012608080C98F1008E81 +:109AD000080C97AC2F082648080CECE8B93C81FF2D +:109AE000090C99C4080C9CE8012E007E009E00051C +:109AF00000C6012620918000080CB4E60190660A99 +:109B00002B086112080CD87E602300012900601622 +:109B10002009001F080CB5B990850001012E00CE68 +:109B2000000590060CD800C6012620918000080C84 +:109B3000B58C01B8660A2B086112080CD87E602328 +:109B400000082900601600F62C78080C17A900FE02 +:109B500020090021080CB5B990850001012E00CE26 +:109B6000000590060CD82009003D00C6012600160D +:109B700020918000080CB4E60198660A2B08611257 +:109B8000080CD87E6023000129006016001E001614 +:109B9000080CB5B990850001001E012E00CE00050D +:109BA00090060CD000C6012620918000080CB58CD0 +:109BB00001882B086112080CD87E6023000129005F +:109BC000601620090000080CB5B990850001012E2F +:109BD00000CE000590060CD820090044083020096A +:109BE00000490818002600B662102258BA3C82FFCD +:109BF00001108211BA3E00BE002E000500060016BC +:109C00006004908E00020140908E00030128908E27 +:109C10000004011090850001001E000E00050006E2 +:109C20000086009660209086000401A86014904D84 +:109C3000080CD3F50180A868908601390170602076 +:109C400090C60003014090C600020128A86CD0FC19 +:109C500001109006001090850001009E008E000EFD +:109C6000000500C6012620918000080CB58C0198E3 +:109C70002B086112080CD87E6023000129006016B1 +:109C8000080C330B20090028080CB5B99085000199 +:109C9000012E00CE000590060CD89186001511A863 +:109CA00020111824220490860074117800B6080C44 +:109CB000C22D00BE080CC4A9600300016007002982 +:109CC000080C977C080C9CE80078601400962048EB +:109CD000A86C009ED0FC014820010001080CDA3E6F +:109CE000080CBF7F080CB53C000500966014904D31 +:109CF000090C0DCCA87F0030A8870000A89B400568 +:109D0000A89F0004A86B0139012620918000080C4F +:109D1000706E012E009E080CB53C0C3000969186AA +:109D20000016112820010004080C67CF00E8918676 +:109D3000001515102011182422049086001411E03B +:109D4000601000B62058080C692B00BE080CC584B2 +:109D50001198601000B62058B89000BE90050160C0 +:109D600020010006080C67CF60142048A86CD0FCC6 +:109D70000170080CB946004860142048A86CD0FC5B +:109D80000500080CBF7F080CB53C009E0005601460 +:109D900063102358904D090C0DCCA87F0000A887B4 +:109DA0000000A89B4000080C6AE2A99E080C5039EC +:109DB000012620918000080C706E012E080CB53C25 +:109DC0000C206014904D090C0DCCA87F0030A887A2 +:109DD0000000A89B4005A89F0004A86B013901263C +:109DE00020918000080C706E012E080CB53C0868AC +:109DF000A87C90860005110800090005A884C0AD64 +:109E0000A8860005604300006017000060030001A1 +:109E100060070050080C9734080C9CE8000500C649 +:109E2000601000B62058B80000BED0BC01206020F1 +:109E30009084000F001300CE0005D0F1D72ED72E4E +:109E4000D731F059F074F077D0F1D0F1D0F1D0F1F2 +:109E5000D0F1D0F1D0F1D0F1080C0DCCA001A001CF +:109E6000000500966014904D0118A880D0E41110F0 +:109E7000009E0010009E0005601000B62058B8003B +:109E800000BED0BC055020011834200490051540B8 +:109E900000F62C78080CB4E6050878106012080C5F +:109EA000D87E78209086000301287808603A2F0039 +:109EB000603E00207808603E2F00603A602E6023EC +:109EC0000001600700356003000179546156080CF9 +:109ED0009734080C9CE82F6000FE00052F6000FE00 +:109EE0002001198B200460420005001600966814BA +:109EF0002048A880D0E40180C0E4A882A87B0000AC +:109F0000A8970000A8930000D0CC0130C0CCA88254 +:109F1000A87C2048080C0FC868306036908E00017D +:109F20000148680300029086000501709006602ECB +:109F3000603200D0681CC085681E68030004682475 +:109F4000C0F490850C00682668142048A8B06938D1 +:109F50009102A8B4693C91031E48683C602E6838A1 +:109F60009084FFFC683A60322D00603A6808603ED9 +:109F7000691061126954615660230001600700395D +:109F800060030001080C9734080C9CE8009E001E3A +:109F900000056024D0D40510D0F411F86038940A7C +:109FA000603C93030230910501206024C0D4C0F5C9 +:109FB0000098643A633EAC3EAB4200460036240053 +:109FC000ACB09402A8362300ABB49303A83A003E89 +:109FD000004E6024C0D4000060260005D0F4113883 +:109FE000A83C603AA840603E6024C0F560260005A9 +:109FF000000600166004908E003401B8908E003583 +:10A0000001A0908E00360188908E00370170908EEE +:10A0100000380158908E00390140908E003A012896 +:10A02000908E003B011090850001001E000E00057F +:10A03000000600160026003600E620011985200CD7 +:10A040008000201420010032080C95A720011989F6 +:10A0500082FF111020110014220220011987200C08 +:10A06000800020142071196F711A721E2001006483 +:10A07000080C95A72001198A82FF111020110014E5 +:10A0800022022001198B9288000A210220011A9BCA +:10A09000210220010032080C1649080C6C3C00EE2D +:10A0A000003E002E001E000E00050006001600E611 +:10A0B00020011989200300282001198A2003001497 +:10A0C0002071196F701B0000701F07D02001198BC1 +:10A0D0002009001E210220011A9B210220010032CA +:10A0E000080C164900EE001E000E00050096605890 +:10A0F000904D0110080C1048009E0005000500C698 +:10A10000012620918000080CB4E601802B08611222 +:10A110000CA9602300012900601620090033080CF7 +:10A12000B5B990850001012E00CE000590060CD82F +:10A13000009600E600F620711800918600151520A3 +:10A14000709090860018012070909086001411E0A5 +:10A1500060142048AA3CD2E411602C78080C9F7E41 +:10A1600001D8707CAA50920611607080AA549206A1 +:10A170001140621000B62258BAA000BE900E080C22 +:10A180003354080CB9460020080CBF7F080CB53CBE +:10A1900000FE00EE009E00057060AA5492060D4875 +:10A1A0000C8000C6012620918000080CB4E60188CE +:10A1B0002B086112080CD87E60230001290060166C +:10A1C0002009004D080CB5B990850001012E00CE84 +:10A1D000000590060CD800C60126209180000016CC +:10A1E000080CB4E601802B086112080CD87E6023AD +:10A1F000000129006016001E080CB5B99085000109 +:10A20000012E00CE0005001E90060CD00016002680 +:10A210000036004600560066009600E600F6207103 +:10A220001800918600151568719060142048A814D4 +:10A2300080039106153020E10000200119A42003BD +:10A24000000060142048A83020A8890680068007F6 +:10A250009094003F22E89084FFC09080001C20A0D2 +:10A26000200119A40016200C080CE1EF001EA80420 +:10A270009005011020480C3860142048A86B010399 +:10A280000010080CBF7F080CB53C00FE00EE009EDD +:10A29000006E005E004E003E002E001E000500967F +:10A2A00000E600F6207118009186001511B8709034 +:10A2B000908600041198601420482C78080C9F7E2A +:10A2C00001A8707CAA78920611307080AA7C920650 +:10A2D0001110080C330B080CB9460020080CBF7F86 +:10A2E000080CB53C00FE00EE009E00057060AA7CE4 +:10A2F00092060D780C80009600E600F6207118009A +:10A3000091860015155070909086000415306014E9 +:10A3100020482C78080C9F7E05F0707CAAD092060D +:10A3200011807080AAD492061160080C330B0016BD +:10A33000A99CAAB492841000C0FD080C590A001E02 +:10A340000010080C56F4080CD3F50508A87F00008F +:10A35000A8870000A89B40000080080CD3F501B836 +:10A3600060142048080C56F41D70A87F0030A887A0 +:10A370000000A89B4005A89F0004012620918000B2 +:10A38000A86B0139080C706E012E080CB53C00FE5C +:10A3900000EE009E00057060AAD49206093008887D +:10A3A00000160026A880D0AC0178A938AA34210074 +:10A3B00092050150A89491061118A89092060120C8 +:10A3C000A996AA9290850001002E001E000500B6F5 +:10A3D00000D60036080CD3F50904DA3A0096631467 +:10A3E0002348A87EA986929E40001550631000C69F +:10A3F000235820090000A86CD0F41110080C6AE260 +:10A40000AA9AA99E20A90004A86020E8A85C9080D0 +:10A41000003220A0B8C420E0B8C890800006209880 +:10A42000080C0F9320A90004A85C9080003620A09F +:10A43000B8C89080000A2098080C0F9300CE0090B6 +:10A44000AA9A391893980007231C60049086001676 +:10A450000110A89F0004ABA663102358B804908491 +:10A4600000FFA8A2A86CC0F4A86E080C7061601769 +:10A470000000009E003E00DE00BE00050026003603 +:10A48000004600B6009600F6621422486210225878 +:10A49000207902609096000011A0B814908400FF0B +:10A4A000900E080C28E82118831F939CFF00783831 +:10A4B000908400FF931D7C3C20118018080C4DBF38 +:10A4C00000A890960001114889FF0180A89F000D07 +:10A4D0007838A8AA783CA8AE0048909600021130BF +:10A4E000A89F000D7838A8AA783CA8AE00FE009E70 +:10A4F00000BE004E003E002E000500C600260016DD +:10A500009186003501106A3800086A2C080CD3E3E4 +:10A5100001F02260612091860003011891860006F7 +:10A520001190683892060140683C920611606108FB +:10A5300068389106114000206008693C91061118A6 +:10A54000601069109106001E002E00CE0005908557 +:10A5500000010CC8A978D1CC0198918C00FF918E94 +:10A5600000021170A9AC918C000F918E0001114076 +:10A57000A880D0AC0128A834A9389115190CCA7646 +:10A58000000500362019000100100036901E04C19D +:10A5900001E0080CD3F501C8080CD5F26037400083 +:10A5A00060146017000000962048A880080CD60FA1 +:10A5B0001118080CBF7F0040A86B0103A87B0000A6 +:10A5C00083FF1129080C706E009E003E0005A884D0 +:10A5D000D0B40128A87F0006C0ECA8860070D0BCCB +:10A5E0000118A87F00020048D0DC0118A87F0003F2 +:10A5F0000020A87F0005080CD6FEA87B00000005FF +:10A60000200118102004D0EC0005000620011810CD +:10A610002004D0F4000E00050006200118102004CC +:10A62000D0E4000E000500360046601000B6205849 +:10A63000BBA000BE20210007080C4F76004E003E54 +:10A6400000050C511D810005200119892004601AA4 +:10A6500000052001198B20046042000560009086EF +:10A66000001311D02C6800D6080CB4E601906003EA +:10A6700000016007001E600BFFFF6838603A683C0D +:10A68000603E6810601260230001080C9734080CCB +:10A690009CE800CE0804B53C080CB53C08049CE8D6 +:10A6A000200101092004D08401E001262091280026 +:10A6B000000600160026003600F600E600C62079E7 +:10A6C00019EB2071180020610100080C961500CECE +:10A6D00000EE00FE003E002E001E000E012E9085B2 +:10A6E000000100050016002620091824210C96946C +:10A6F0000C0001189182001002C89016D6CC0120DF +:10A7000091820014029872549006D6C4012091825E +:10A7100000180260705C92000248012890800018C6 +:10A72000910202209006002E001E0005080C896987 +:10A73000908500010CC086FF0904D0306000908E27 +:10A7400000030158908E0004190C0DCC601CD084BD +:10A75000190C1AEA908500010005003600E6207108 +:10A7600019EB703C9C060128080CAE7800EE003E08 +:10A770000C8820190001080CAC960CC000B60066CD +:10A78000600090B200141A0C0DCC001B006E00BECD +:10A790000005DBD9E354E4CBDBD9DBD9DBD9DBD94A +:10A7A000DBD9DC10E54FDBD9DBD9DBD9DBD9DBD951 +:10A7B000DBD9080C0DCC0066600090B200141A0CB6 +:10A7C0000DCC0013006E0005DBF4EA9DDBF4DBF436 +:10A7D000DBF4DBF4DBF4DBF4EA4AEAF1DBF4F18CE2 +:10A7E000F1C2F18CF1C2DBF4080C0DCC6000908258 +:10A7F00000141A0C0DCC6000000A0005DC0EE72CDA +:10A80000E7FBE81EE8DEDC0EE9BDE966E55BEA2071 +:10A81000EA35DC0EDC0EDC0EDC0EDC0E080C0DCC9A +:10A8200091B200541A0C0DCC210091B200401A04D0 +:10A83000E0AE0002DC5ADE6EDC5ADC5ADC5ADE770F +:10A84000DC5ADC5ADC5ADC5ADC5ADC5ADC5ADC5A58 +:10A85000DC5ADC5ADC5ADC5ADC5ADC5ADC5ADC5A48 +:10A86000DC5ADC5CDCBFDCCEDD37DD6DDDE6DE59DD +:10A87000DC5ADC5ADE7ADC5ADC5ADE8FDE9CDC5A8B +:10A88000DC5ADC5ADC5ADC5ADF42DC5ADC5ADF562E +:10A89000DC5ADC5ADF11DC5ADC5ADC5ADF6EDC5A37 +:10A8A000DC5ADC5ADFEBDC5ADC5ADC5ADC5ADC5A64 +:10A8B000DC5AE076080C0DCC080C6C191150200104 +:10A8C00018372004D0CC1128908400099086000805 +:10A8D000114060070009602F00096017000008049C +:10A8E000DE67080C6BB500E600C6003600260016D1 +:10A8F00062102258BAA0002620190029080C98D905 +:10A900000076903E080C97AC2C08080CECE8007E12 +:10A91000001E001E002E003E00CE00EE66102658DF +:10A92000080C689FBE04968400FF9082000612689F +:10A9300000160026621000B62258BAA000BE2C08ED +:10A94000080CF402002E001E1178080CEC1A1904F1 +:10A95000DD2F080CEBB21120600700080804DE6749 +:10A96000600700090804DE67080CEE950128080C52 +:10A97000EC1A0D780804DD2F601719000C88080CFC +:10A98000342F1904E0AB6106080CEB566007000693 +:10A990000804DE67600700070804DE67080CF1FEA4 +:10A9A0001904E0AB080C342F1904E0AB00D6661094 +:10A9B0002658BE04968400FF9082000612202001D3 +:10A9C0000001080C67BB96B4FF0086379686000628 +:10A9D0000188968600040170BE0496B400FF968636 +:10A9E00000060140968600040128968600050110A5 +:10A9F00000DE04A800E62071026070349084000339 +:10AA000011687034908A0014024820091824210C1F +:10AA100091020220703090840003013000EE601734 +:10AA20000000602F000700B000EE080CEC7E1190D3 +:10AA3000968600061140002662102258BAA0900E99 +:10AA4000080C3354002E080C692B6007000A00DE46 +:10AA50000804DE676007000B00DE0804DE67080CF0 +:10AA6000330B080CDB21600700010804DE67080CCB +:10AA7000F1FE1904E0AB080C342F1904E0AB00D64A +:10AA800000E620710260703490B400031938203160 +:10AA90001824263496320A1090B200140A04DD0EEF +:10AAA0007030908400031904DD0E00EE00DE6610A5 +:10AAB0002658BE0496860707099000266210225881 +:10AAC000BAA0900E080C3354002E6007000C200131 +:10AAD0000001080CF3E10804DE67080C6C19114052 +:10AAE0002001183720049084000990860008111076 +:10AAF0000804DC69080C6BB566102658BE04968401 +:10AB000000FF9082000606C81138002620010006CA +:10AB1000080C67FB002E005096B4FF00863796861F +:10AB200000040120968600061904DD2F080CEC8B2A +:10AB300011206007000E0804DE67004664102458E8 +:10AB4000BCA00046080C330B080CDB21004E00169D +:10AB500090062009184B210CD1A401482009002996 +:10AB6000080CF00A60102058B800C0E5B802001EBA +:10AB7000004E600700010804DE6720010001080C98 +:10AB800067BB015600160026003620A900042019D4 +:10AB9000180520110270080CC64D003E002E001E44 +:10ABA000015E9005016896B4FF0086379682000426 +:10ABB0000A04DD2F968200070A04DD960804DD2FC3 +:10ABC00060171900600700090804DE67080C6C199B +:10ABD0001140200118372004908400099086000855 +:10ABE00011100804DC69080C6BB566102658BE0409 +:10ABF000968400FF00060016908E00010118908ECA +:10AC000000001118001E000E0080001E000E908231 +:10AC1000000606A0015096B4FF0086379686000411 +:10AC20000120968600061904DD2F080CECB91138B6 +:10AC3000080CEBB21120600700100804DE67004624 +:10AC400064102458BCA00046080C330B080CDB2110 +:10AC5000004E001690062009184B210CD1A4014883 +:10AC600020090029080CF00A60102058B800C0E53F +:10AC7000B802001E004E600700010448080CEE9563 +:10AC800001980016968C00FF918600020160918663 +:10AC900000030148001E96B4FF0086379686000622 +:10ACA00009200804DD2F001E601719006007000945 +:10ACB0000070080C342F1904E0AB080CF1FE1904E5 +:10ACC000E0AB080CE28C1904DD2F60070012600372 +:10ACD0000001080C977C080C9CE800056007000147 +:10ACE00060030001080C977C080C9CE80CB060071E +:10ACF00000050C68080CF1FE1904E0AB080C342FB9 +:10AD00001904E0AB080CE28C1904DD2F6007002069 +:10AD100060030001080C977C080C9CE80005080CF7 +:10AD2000342F1904E0AB6007002360030001080C16 +:10AD3000977C080C9CE80005080CF1FE1904E0ABB8 +:10AD4000080C342F1904E0AB080CE28C1904DD2F39 +:10AD50000016002600E6207102602C082011182041 +:10AD60002214703C920611E02011181F2214703832 +:10AD7000908400FF920611A07240080CD3E3057086 +:10AD8000226060089086FFFF0120724460089206EE +:10AD900015286020908600071508080CB53C04A013 +:10ADA00072449286FFFF01802C08080CD3E301B0A7 +:10ADB0002260724060089206118860109190000431 +:10ADC0002214920601B8005072402C089006080C1C +:10ADD000EFD4118072449286FFFF01B021606007BA +:10ADE00000266017170072149296FFFF118060070B +:10ADF000002500686020908600071D806004908612 +:10AE000000241110080CB53C216060070025600388 +:10AE10000001080C977C080C9CE800EE002E001E38 +:10AE2000000520010001080C67BB01560016002632 +:10AE3000003620A900042019180520110276080CFC +:10AE4000C64D003E002E001E015E0120600700314D +:10AE50000804DE67080CC245080C77FF1190000655 +:10AE600000260036080C78191138080C7AFA080CFC +:10AE700062B4080C772C0010080C77D7003E002E27 +:10AE8000000E0005080C342F1904E0AB080CE28C0E +:10AE90001904DD2F6106080CE2A811206007002BC1 +:10AEA0000804DE676007002C0804DE67080CF1FE6A +:10AEB0001904E0AB080C342F1904E0AB080CE28C49 +:10AEC0001904DD2F6106080CE2AD11206007002E89 +:10AED0000804DE676007002F0804DE67080C342FC3 +:10AEE0001904E0AB00E600D600C660102058B90493 +:10AEF000918400FF9086000601589184FF0080072E +:10AF000090860006012800CE00DE00EE0804DE6E0A +:10AF1000080C5963D0E40904DFE82071026C70105A +:10AF2000603A7014603E7108720C080C6C57014056 +:10AF300060102058B81091061118B8149206051028 +:10AF4000080C6C5315B8206918006880920615909B +:10AF5000687C910615787210080CD3E30590080CF4 +:10AF6000E1790578080CF0860560622E60070036EE +:10AF700060030001080C9734080C9CE800CE00DE4A +:10AF800000EE000572149286FFFF0150080CD3E317 +:10AF900001C092800002200471109106119008E017 +:10AFA00072102C0890850001080CEFD42C10216041 +:10AFB0000140089060070037602F000960171500F6 +:10AFC00008B860070037602F00036017170008807B +:10AFD000600700120868080C342F1904E0AB6010F9 +:10AFE0002058B8049084FF0080079086000619045A +:10AFF000DE6E00E600D600C6080C5963D0E40904F2 +:10B00000E06E206918002071026C7008603A720CC2 +:10B01000623E9286FFFF1158720800C62C08908588 +:10B020000001080CEFD42C1000CE0904E061080CDC +:10B03000D3E30904E06171089280000220049106C4 +:10B040001904E06100C6002622600066203100017C +:10B0500060209084000F90860006190C0DCC080C1F +:10B06000D057006E002E00CE7118918CFF00810F1A +:10B0700091860001017891860005011891860007EC +:10B08000119892800005200490050170080CE17968 +:10B090000904DFE1005675107614080CF09F005E7D +:10B0A00000CE00DE00EE00056007003B602F0009C7 +:10B0B00060172A0060030001080C9734080C9CE814 +:10B0C0000C786007003B602F0003601703006003EB +:10B0D0000001080C9734080C9CE80C106007003B3A +:10B0E000602F000B601700000804DFB800E60026A0 +:10B0F000080C6C190550080C6BB5080CF284151877 +:10B100002071180070DC9085000370DE00F6207955 +:10B11000010072B0928400FF707E78E69284FF0096 +:10B1200072809205708278EA00FE70E70000080CD9 +:10B130006C57012020111A04201307D0D0AC11281D +:10B14000080C30B60010080CF2B8002E00EE080C07 +:10B15000B53C0804DE6D080CB53C00052600000275 +:10B16000E0C4E0F2E103E0C4E0C4E0C6E114E0C4FE +:10B17000E0C4E0C4E0E0E0C4E0C4E0C4E11FE135C5 +:10B18000E166E0C4E0C4E16B080C0DCC080CF1FEF4 +:10B190001D10080C342F19F8703860166007004530 +:10B1A00060030001080C977C0005080C330B080CA9 +:10B1B000DB216007000160030001080C977C00059B +:10B1C000080CF1FE1940080C342F1928080CE28CE9 +:10B1D0001D60703C60166007004A60030001080CA7 +:10B1E000977C0005080C342F1904E0AB20090041BE +:10B1F000080CF2C16007004760030001080C977C4F +:10B20000080C9CE80005080C342F1904E0AB200959 +:10B210000042080CF2C16007004760030001080CFF +:10B22000977C080C9CE80005080C342F1904E0AB4F +:10B2300020090046080CF2C1080CB53C00052001AD +:10B2400018242004908200E11268080CE196090499 +:10B25000E0AB6007004E60030001080C977C080C0F +:10B260009CE80005600700120CB06007004F6017F3 +:10B2700000007134918C00FF81FF05089186000168 +:10B2800011607140200119C12004910611B0714470 +:10B29000200119C2200491060190918600021168D4 +:10B2A0002011027620A90004601000962048201981 +:10B2B000000A080CC661009E0110601700016003BF +:10B2C0000001080C977C080C9CE800056007005002 +:10B2D000703C60160CA0080CF1FE1904E0AB080CE1 +:10B2E000342F1904E0AB6007005360030001080429 +:10B2F000977C001600E62071026000B600C622604E +:10B3000060102058B8CCD084015071286044910658 +:10B310001120712C60489106011090060010908554 +:10B32000000100CE00BE00EE001E000500160096D3 +:10B33000008600E601C601D601262091800020711A +:10B34000180020E10000200119A420030000080CCF +:10B35000102F05A02900601670908004A816908A0E +:10B36000001E02D0A833001E20A9001EA86020E8FD +:10B37000A85C9080001C20A0200119A40016200CBD +:10B380000471001E81FF01B82940080C102F01B084 +:10B390002900A00621000C18A83220A8A86020E8E7 +:10B3A000A85C9080001C20A0200119A40016200C8D +:10B3B00000B1001E000090850001004820711800B7 +:10B3C0007093000060142048080C0FC89006012EEE +:10B3D00001DE01CE00EE008E009E001E000500067C +:10B3E00000160026003600C6918CFFFF11B0080C35 +:10B3F00024402099026C2001001435189312010892 +:10B40000121823A84003040020A8400322A88108A2 +:10B41000080C2440209902600CA8080C24402061EC +:10B4200019A46004209860083518931201081218B6 +:10B4300023A84003004820A8400322A88108080C44 +:10B440002440209902600CA8206119A420190280D0 +:10B450003300931E01106006002020010260600688 +:10B4600081082162929200219296FFFF620A00CE2B +:10B47000003E002E001E000E0005000600160026ED +:10B48000003600C681FF11B8080C245820A1024CD8 +:10B490002001001435189312121823A84003041831 +:10B4A00020A8400382FF01F822A88108080C245834 +:10B4B00020A102400C98080C2458206119A76004B0 +:10B4C00020A0600835189312121823A840030058D2 +:10B4D00020A8400382FF013822A88108080C2458C4 +:10B4E00020A102400C98206119A7201902603400A5 +:10B4F000931E0110600600202001024060068108B2 +:10B500002162929200219296FFFF620A00CE003ED5 +:10B51000002E001E000E000500B6006666102658BC +:10B52000BE0496B4FF0086379686000601709686A4 +:10B5300000040158BE0496B400FF96860006012858 +:10B5400096860004011090850001006E00BE000583 +:10B5500000D6080CE32400DE000500D6080CE33119 +:10B560001520680C908CFF006820908400FF9115D6 +:10B5700062166824602ED1E401309006080CF3E1D5 +:10B58000200900010078D1EC01806920918C00FF36 +:10B590006824080C28E8114820010001080CF3E198 +:10B5A0002110900E080C33540018908500010008FB +:10B5B000900600DE000500B600C6080CB58C05A894 +:10B5C0000016002600C62011026322048211220CFC +:10B5D000080C28E81578080C681E1560BE12BD1608 +:10B5E00000CE002E001E2B006012080CF1FE11D8B8 +:10B5F000080C342F11C0080CE28C05102001000744 +:10B60000080C67CF20010007080C67FB60170000DB +:10B61000602300016007000160030001080C977CB3 +:10B62000080C9CE80010080CB53C9085000100CE89 +:10B6300000BE0005080CB53C00CE002E001E0CA874 +:10B64000080CB53C90060C982069026D6800908249 +:10B650000010122860170000908500010008900675 +:10B660000005601700002069026C68089084FF00E4 +:10B670009086080011C0680420091824210C91024A +:10B6800002906904918600180118918600141158DF +:10B69000810F6800908400FF910D615A908E001414 +:10B6A0000110908E00100005600490B200541A0C36 +:10B6B0000DCC91B600131130200891B200401A044D +:10B6C000E499040A91B600270198918600150118A3 +:10B6D000918600161148080CDB5001286000908606 +:10B6E00000020904BFC6000591B60014190C0DCC68 +:10B6F00020010007080C67FB080C9BDA080CB56FEB +:10B70000080C9CE80005E3C3E3C5E3C3E3C3E3C35C +:10B71000E3C5E3D4E492E418E492E440E492E3D491 +:10B72000E492E48AE492E48AE492E492E3C3E3C319 +:10B73000E3C3E3C3E3C3E3C3E3C3E3C3E3C3E3C3D9 +:10B74000E3C3E3C5E3C3E492E3C3E3C3E492E3C327 +:10B75000E48FE492E3C3E3C3E3C3E3C3E492E4927C +:10B76000E3C3E492E492E3C3E3CFE3C3E3C3E3C3FD +:10B77000E3C3E48EE492E3C3E3C3E492E492E3C35D +:10B78000E3C3E3C3E3C3080C0DCC080C9BDA080C3D +:10B79000DB2460030002080C9CE80804E49890068F +:10B7A000080C67BB0804E492080C6C531904E4927B +:10B7B0009006080C67BB60102058B810908600FFF8 +:10B7C000114000F62079180078A8800078AA00FEC1 +:10B7D00000B860102058B8C090050904E492080C25 +:10B7E00034601904E49220011800200490860002BD +:10B7F000113800F62079180078A8800078AA00FE99 +:10B8000020010002080C67CF080C9BDA60230001BE +:10B810006003000160070002080C977C080C9CE89C +:10B820006110215820090001080C8A730804E4986B +:10B8300066102658BE0496B4FF008637968600062A +:10B840000148968600040130080C928D2001000406 +:10B85000080C67FB080CF4300904E492080C9BDA2E +:10B8600020010004080C67CF602300016003000181 +:10B8700060070003080C977C080C9CE80804E49817 +:10B88000200118002004908600031158003600465D +:10B8900060102058BBA020210006080C4F76004EF7 +:10B8A000003E20010006080CE4B866102658BE04CD +:10B8B000006696B4FF00863796860006006E01800B +:10B8C00020010006080C67FB928400FF908E0007A1 +:10B8D0000118908E0004112020010006080C67CF8B +:10B8E000080C6C5311F8200118372004D0A401D0A3 +:10B8F000BE0496B400FF9686000601A000F62079EB +:10B90000180078A8800078AA00FE0804E40020014E +:10B910000004003020010006045900200018001027 +:10B92000080C67FB080C9BDA080CB53C080C9CE87B +:10B93000000526000002E4AFE4AFE4AFE4AFE4AFFB +:10B94000E4B1E4AFE4B1E4AFE4AFE4B1E4AFE4AF59 +:10B95000E4AFE4B1E4B1E4B1E4B1E4AFE4B1080CC4 +:10B960000DCC080C9BDA080CB53C080C9CE80005D3 +:10B97000001600B600D661102158B900D1840138F4 +:10B98000080C67CF9006080C67BB080C333400DE48 +:10B9900000BE001E000566102658B8049084FF0003 +:10B9A000800790B2000C1A0C0DCC91B60015111046 +:10B9B000003B002891B60016190C0DCC006B000559 +:10B9C000C069C069C069C069E54DC069E537E4F880 +:10B9D000C069C069C069C069C069C069C069C0691F +:10B9E000E54DC069E537E53EC069C069C069C06919 +:10B9F00000F6080C6C5311D8080CDB0C11C0601059 +:10BA0000905D01A8B8C0900501909006080C67BB36 +:10BA100020010002080C67CF6023000160030001D1 +:10BA200060070002080C977C080C9CE800F02011CD +:10BA3000026322048211220C080C28E811B0080CC1 +:10BA400068900118080CB53C0080B8100006B814C6 +:10BA50000006B8C00006080C62CE000EB8C2000E88 +:10BA6000B816000EB812080CB53C00FE00056604BE +:10BA700096B6001E1110080CB53C0005080CC4A6B3 +:10BA800011486003000160070001080C977C080C56 +:10BA90009CE80010080CB53C00050804B53C6004A7 +:10BAA000908A00541A0C0DCC080C9BDA080CB56F68 +:10BAB000080C9CE80005918200400002E572E572E6 +:10BAC000E572E572E574E572E572E572E572E572BC +:10BAD000E572E572E572E572E572E572E572E572AE +:10BAE000E572E572080C0DCC009600B600D600E6B3 +:10BAF00000F60046002662102258B8BC900511A836 +:10BB0000610620710260744494A4FF000904E5DA20 +:10BB1000080CF3D5117094862000115820090001FB +:10BB200020110200080C8CC200209026080CF2475D +:10BB30000C38080C1016090C0DCC60030007A86B1C +:10BB4000010D9006A802A86EAC8E2C00A892600889 +:10BB5000A8E660102058B8A07130A97E0016A87A17 +:10BB6000A8830000A8870000A88B0036080C706E20 +:10BB7000001E080CF3D51904E63A94862000113013 +:10BB800020190017080CEF7A0804E63A94860200A0 +:10BB90001120080CEF110804E63A948604000120F5 +:10BBA000948610001904E63A20190002080CEF2CC4 +:10BBB0000804E63A20691A776A00D2840904E6A4E8 +:10BBC000928403001904E69D680490050904E68543 +:10BBD0002D7860030007080C102F0904E646780052 +:10BBE000D08C1118780480017806601700002001BD +:10BBF000180F2004D0841904E6A89006A802A86BA8 +:10BC00000116A86E6008A8E62C00A87E60102058D7 +:10BC1000B8A07130A9BAA87AB928A9BEB92CA9C20E +:10BC2000B930A9C6B934A9CAA887003D7044908428 +:10BC300000039080E6422005A88220A9000A200186 +:10BC40000270AA5C9290002220090205200B00805D +:10BC500020E10000AB6023E8209822A04003200BE5 +:10BC600000002001027A200CA9B68000200CA9B2A5 +:10BC7000080C706E002E004E00FE00EE00DE00BECE +:10BC8000009E000500000080004000002001181008 +:10BC90002004D0840120080C10161904E5EF601769 +:10BCA000F1006003000160070041080C9734080CA4 +:10BCB0009CE80C002069026068489084FF00908630 +:10BCC00012001198686C908400FF00166114918C2A +:10BCD000F700910D6116001E60030001600700432C +:10BCE000080C9734080C9CE808286868602E686C7B +:10BCF00060326017F2006003000160070041080C29 +:10BD00009734080C9CE80804E63A2001180E200439 +:10BD1000D0EC012020118049080C4DBF6017F300C2 +:10BD200000106017F1006003000160070041080C7B +:10BD30009734080C9CE80804E63A6017F5000C9864 +:10BD40006017F6000804E65A6017F2000804E65A85 +:10BD5000A86B0146A86F00006008A88A2C00A87E86 +:10BD60007044908400039080E6422005A882292830 +:10BD700060102058B8A0A87AB828A88EB82CA8922D +:10BD8000B830A896B834A89AA887003D20090205C3 +:10BD9000206900802D0A20E10000201102102214E9 +:10BDA00092940FFFAAA6928201111A0C0DCC821058 +:10BDB000821C2001026C2098A86020E8A85C90807A +:10BDC000002A20A02011E72320410001223D978472 +:10BDD00000FF93221208230020A84003931A053085 +:10BDE0008210D7FC11308D682D0A20010260209846 +:10BDF0000C682950080C102F01702900B002A86BA4 +:10BE00000147A86F0000A86020E8A85C9080001C93 +:10BE100020A0884008D82548A800902D0118080CBB +:10BE200010480CC8080C10480804E6462548884706 +:10BE300098850046A86A20090205200B0000080C1E +:10BE4000EFAD0804E63A80100004801A000680185E +:10BE500000088016000A80149186001311606004A7 +:10BE6000908A00541A0C0DCC908200400A0C0DCC24 +:10BE700020080804E7B29186005101080048080C28 +:10BE8000DB50050060009086000211E00804E7FB2B +:10BE90009186002701909186004801289186001420 +:10BEA0000160190C0DCC080CDB500160600090861D +:10BEB0000004190C0DCC0804E8DE600490820040F8 +:10BEC0002008001A080CB5D40005E779E77BE77B6A +:10BED000E7A2E779E779E779E779E779E779E77939 +:10BEE000E779E779E779E779E779E779E779E77952 +:10BEF000E779080C0DCC080C9BDA080C9CE800369E +:10BF000000966014904D01D8080CD3F501C0600371 +:10BF10000002601000B62058B80000BED0BC1178F6 +:10BF200020190004080CEFAD6017000060189005A0 +:10BF300011202001198A2004601A60030007009E66 +:10BF4000003E00050096080C9BDA080C9CE8080CE3 +:10BF5000D3F5012060142048080C1048080CB56F78 +:10BF6000009E00050002E7C7E7DEE7C9E7F5E7C77F +:10BF7000E7C7E7C7E7C7E7C7E7C7E7C7E7C7E7C751 +:10BF8000E7C7E7C7E7C7E7C7E7C7E7C7E7C7080CDB +:10BF90000DCC0096080C9BDA60142048A880D0B421 +:10BFA00001386003000720090043080CB5B90010F0 +:10BFB00060030004080C9CE8009E0005080C9BDA56 +:10BFC000080CD3F50138611400962148A980009E21 +:10BFD000D1EC1138080C8C97080CB53C080C9CE887 +:10BFE0000005080CF2070DB00CC8080C9BDA2009FC +:10BFF00000410804E966918200400002E812E8145A +:10C00000E812E812E812E812E812E812E812E81260 +:10C01000E812E812E812E812E812E812E812E8154D +:10C02000E812E812080C0DCC000500D6080C8C971D +:10C0300000DE080CF26E080CB53C00059182004051 +:10C040000002E835E835E835E835E835E835E83523 +:10C05000E835E835E837E8A6E835E835E835E83585 +:10C06000E8A6E835E835E835E835080C0DCC2001C0 +:10C07000010520049084180001C820010132200C21 +:10C0800020010131200491051904E8A62009180CAB +:10C090002104D0D40904E8A6C0D4200A200901054F +:10C0A00021049084E7FD90850010200A2001186A81 +:10C0B0002004D0E41528603B0000080C9C98601414 +:10C0C00000962048A880D0FC0188908C0003918EB7 +:10C0D000000205082001180C2004D0D411E0080C3F +:10C0E0009E0320090041009E0804E966080C9E0397 +:10C0F00060030007601B0000080C8C97009E000581 +:10C10000200101002004908200050AA82001011FDF +:10C110002004603A08902001180C200CC1D42102A0 +:10C12000D1CC0110080C2CF0080C9E0360142048A0 +:10C13000A980D1EC1130080C8C97080CB53C009EFE +:10C140000005080CF2070DB8009E00052001180C30 +:10C15000200CC1D421020036080C9C98080C9E03C8 +:10C16000601400962048601000B62058B80000BE49 +:10C17000D0BC0188A8809084000390860002014012 +:10C18000A8B06330931A6332A8B4632C931B632E58 +:10C1900060030002008020190004080CEFAD601855 +:10C1A000900511282001198A20048003601A601765 +:10C1B000000060030007009E003E000591820040E1 +:10C1C0000002E8F5E8F5E8F5E8F5E8F5E8F5E8F562 +:10C1D000E8F5E8F7E8F5E8F5E8F5E8F5E8F5E8F575 +:10C1E000E8F5E8F5E8F5E8F5E942080C0DCC60144F +:10C1F00000962048A834AA38611000B62158B9002A +:10C2000000BED1BC1190920D1518A880D0FC012859 +:10C2100020090041009E0804E96660030007601BD6 +:10C220000000080C8C97009E00056124D1F41D5875 +:10C2300000060046ACB09422A9B42200910B6030F5 +:10C2400094206432602C9109612E004E000E08D8B3 +:10C25000611000B62158B90000BED1BC1178200988 +:10C26000180E210CD19C0118600300070010600318 +:10C27000000600E9080C8C99009E0005600300028E +:10C28000009E00056024D0F40128080C1640190413 +:10C29000E8F70005601400962048A834A938009EED +:10C2A00091051120080C16401904E8F70005D2FC8E +:10C2B0000140800280008212929100002009000952 +:10C2C000001020090015AA9EA89A0005918200403E +:10C2D0000208006291860013012091860014190C57 +:10C2E0000DCC6024D0DC090C0DCC0005E98AE99660 +:10C2F000E9A2E9AEE98AE98AE98AE98AE991E98C61 +:10C30000E98CE98AE98AE98AE98AE98CE98AE98C8F +:10C31000E98AE991080C0DCC6024D0DC090C0DCC25 +:10C32000000560149005190C0DCC00056003000198 +:10C330006106080C9734012620918000080C9CE8C7 +:10C34000012E0005600300016106080C97340126E8 +:10C3500020918000080C9CE8012E0005600300037A +:10C3600061062C10080C1C3C012620918000080C52 +:10C370009799080C9E03012E00050126209180004C +:10C3800000360096918200400023009E003E012E60 +:10C390000005E9DDE9DFE9F1EA0BE9DDE9DDE9DDE9 +:10C3A000E9DDE9DDE9DDE9DDE9DDE9DDE9DDE9DD5D +:10C3B000E9DDE9DDE9DDE9DDE9DD080C0DCC60143E +:10C3C0002048A880D0FC01F8909C0003939E0003B5 +:10C3D00001D0600300016106080C9734080C9CE84A +:10C3E000047060142048A880D0FC0168909C000371 +:10C3F000939E00030140600300016106080C97341E +:10C40000080C9CE800E0901E6316631A20190004D3 +:10C41000080CEFAD00A060142048A880D0FC0D9857 +:10C42000909C0003939E00030D706003000361065F +:10C430002C10080C1C3C080C9799080C9E03000556 +:10C44000080C9BDA611481FF015800962148080C02 +:10C45000F372003620190029080CEFAD003E009E53 +:10C46000080CB56F080C9CE80005080C9C9861143A +:10C4700081FF015800962148080CF37200362019FC +:10C480000029080CEFAD003E009E080CB56F080CAB +:10C490009E030005918200850002EA5CEA5AEA5A8E +:10C4A000EA68EA5AEA5AEA5AEA5AEA5AEA5AEA5A5E +:10C4B000EA5AEA5A080C0DCC6003000B6106080C1E +:10C4C0009734012620918000080C9CE8012E00057D +:10C4D000002600E6080CF1FE0118080CB53C0450DB +:10C4E00020710260722462162001180E2004D0E42C +:10C4F0000150601000B62058BCA000BE2C002011D6 +:10C50000014E080CB8587220080CEDFE01186007A7 +:10C51000008600406007008772249296FFFF11108A +:10C520006007008660030001080C9734080C9CE843 +:10C53000080C9E0300EE002E00059186001311608A +:10C540006004908A00850A0C0DCC908A00921A0C27 +:10C550000DCC9082008500A2918600270130918643 +:10C5600000140118080CB5D4005020010007080C75 +:10C5700067FB080C9BDA080CB56F080C9CE80005FB +:10C58000EACDEACFEACFEACDEACDEACDEACDEACDEF +:10C59000EACDEACDEACDEACDEACD080C0DCC080C07 +:10C5A0009BDA080CB53C080C9CE8000591820085DC +:10C5B0000A0C0DCC918200921A0C0DCC9182008550 +:10C5C0000002EAEEEAEEEAEEEAF0EAEEEAEEEAEE7F +:10C5D000EAEEEAEEEAEEEAEEEAEEEAEE080C0DCC5E +:10C5E0000005918600130148918600140130918660 +:10C5F00000270118080CB5D40030080C9BDA080C91 +:10C60000B56F080C9CE800050036080CF26E60431C +:10C6100000002019000B0011003E0005601000060C +:10C620000059000E60126023000660030007601BC3 +:10C6300000006043000000050126003620918000C4 +:10C6400000862C400096904E080CAD48009E008E4F +:10C65000155000762C38080CADF3007E15206000D4 +:10C6600090860000050060209086000701E000969B +:10C67000601CD0840140080CF26E080CDB24080C0E +:10C680001AEA6023000760142048080CD3F5011053 +:10C69000080CEFAD009E60170000080CF26E6023DE +:10C6A0000007080CDB24003E012E000500F600C642 +:10C6B00000B600360156207902607938783C080CC3 +:10C6C00028E81904EBAC001600C6080C68901904A1 +:10C6D000EBAA001E00C6080CDB0C1130B8C0900598 +:10C6E0000118080C346001482B102160601000060E +:10C6F0006212080CDB13000E601200CE002E002622 +:10C70000001620190029080CAEB9080C98D900763B +:10C71000903E080C97AC007E001E0076903E080C00 +:10C72000ECE8007E0026BA049294FF0082179286FD +:10C7300000060118928600041118BAA0080C33C92B +:10C74000002EBCC0001E080C62CEBE12BD16BCC2BC +:10C750009006001000CE001E015E003E00BE00CE1E +:10C7600000FE000500C600D600B6001620091824F9 +:10C770002104908600741904EC0B2069026069445E +:10C780009182010006E06940918480000904EC0870 +:10C790002001197F20049005114060102058B8C076 +:10C7A000900501189184080005986948918A000154 +:10C7B0000648080CF3DA01186978D1FC11B8200991 +:10C7C0000205200B0001693C81FF119869449182A8 +:10C7D000010002A8694081FF11786948918A00012F +:10C7E00002886950918A0001029800D06017010008 +:10C7F00000A0601703000088601705000070601734 +:10C800000700005860170900004060170B0000285F +:10C8100060170F00001060172D00908500010008C0 +:10C82000900620090205200B0000001E00BE00DE5D +:10C8300000CE000500C600B6002600360156621084 +:10C840002258BB04939400FF9286000601809286D2 +:10C85000000401689394FF00821792860006013855 +:10C86000928600040120080C689F0804EC772011D0 +:10C87000027620A9000400962B482019000A080C13 +:10C88000C661009E15A82011027A20A90004009616 +:10C890002B4820190006080CC661009E154800466A +:10C8A0000016BAA0222090062009184B210CD1A412 +:10C8B000013820090029080CF00AB800C0E5B802C8 +:10C8C00020190029080C98D9007620390000080C9E +:10C8D00097AC2C08080CECE8007E20010007080C3F +:10C8E00067FB20010007080C67CF001E004E900672 +:10C8F000015E003E002E00BE00CE000500D620697D +:10C90000026E680090860800011860170000000899 +:10C91000900600DE000500B600F600160026003680 +:10C9200001562079026C79307834080C28E811D04F +:10C93000080C689011B82011027020A9000400961C +:10C940002B482019000A080CC661009E11582011BE +:10C95000027420A9000400962B4820190006080C38 +:10C96000C661009E015E003E002E001E00FE00BE5D +:10C97000000500B6000600160026003601562011FC +:10C98000026322048211220C080C28E811D0080C42 +:10C99000689011B82011027620A9000400962B4857 +:10C9A0002019000A080CC661009E11582011027A55 +:10C9B00020A9000400962B4820190006080CC66127 +:10C9C000009E015E003E002E001E000E00BE00050F +:10C9D00000E600C600860076006600560046002687 +:10C9E0000126209180002740202919F4252C2021A0 +:10C9F00019FA242420611CD0207118007654707418 +:10CA000081FF0150000691861ABA000E01288001AC +:10CA100096021A04ED86001896060904ED86080CA5 +:10CA20008F6E0904ED7D21009C060904ED7D6720D1 +:10CA3000978600070904EDEF080CF04B1904ED7D13 +:10CA4000080CF3F80904ED7D080CF03B0904ED7DBA +:10CA50006720978600011148080C34600904EDC571 +:10CA60006004908600001904EDC59786000409044F +:10CA7000EDC525009C060904ED7D24009C0605E813 +:10CA800088FF01186054990615C0009660009086D2 +:10CA9000000411200016080C1AEA001E9786000AEE +:10CAA0000148080CD60F1130080CBF7F009E080CFF +:10CAB000B56F041860142048080CD3F501D8978688 +:10CAC00000031570A86B0103A880D0CC013000963C +:10CAD000A87C2048080C0FC8009EAB7EA87B0000F5 +:10CAE000080CF3720016080CD6F8080C7061001ED2 +:10CAF000080CD5F2009E080CB56F9CE000182001D0 +:10CB0000181A20049C0212100804ECFC012E002EBE +:10CB1000004E005E006E007E008E00CE00EE00052E +:10CB2000978600061150938600050128080CF372C1 +:10CB3000080CEFAD08F8009E0C009786000911F86C +:10CB400060009086000401C060009086000311A080 +:10CB5000080C9C98009661142148080CD3F5011824 +:10CB60006010080C706E009E00C6080CB53C00CE2C +:10CB70000036080C9E03003E009E0804ED7D97865B +:10CB8000000A0904ED6D0804ED6281FF0904ED7DE2 +:10CB900091800001200490860018013891800001E6 +:10CBA00020049086002D1904ED7D6000908600021F +:10CBB0001904ED7D080CD5FE0138080CD60F1904B8 +:10CBC000ED7D080CBF7F0038080C3334080CD60FFD +:10CBD0001110080CBF7F080CB56F0804ED7D6000D4 +:10CBE000908600131904ED7D603460020804ED7D29 +:10CBF000A868908400FF90860039000500C600E612 +:10CC000000162C0821709006080CEFD4001E01209D +:10CC100060209084000F001B00EE00CE0005EE1D8A +:10CC2000EE1DEE1DEE1DEE1DEE1DEE1FEE1DEE1DAA +:10CC3000EE1DEE48B56FB56FEE1D9006000500368F +:10CC400000460016701000B62058BCA000BE2C0094 +:10CC500020090020080CF00A001E004E20190002D6 +:10CC6000080CEB1C003E9085000100050096080CA6 +:10CC7000D3F501406014904D080CD00B687F00057F +:10CC8000080C706E009E080CB56F908500010005C1 +:10CC9000006690360021006E90850001000560005E +:10CCA000908A00141A0C0DCC0002EE65EE65EE7D44 +:10CCB000EE6BEE8EEE65EE65EE67EE65EE65EE65AB +:10CCC000EE65EE65EE65EE65EE65080C0DCC86FF53 +:10CCD000090CB56F04000066003600E6207119EB00 +:10CCE000703C9C06112820190001080CAC9600101D +:10CCF000080CAE7800EE003E006E86FF11600096D4 +:10CD000000D660142048A87F0005080C706E080C3F +:10CD1000B56F00DE009E9085000100050066601C76 +:10CD2000D084190C1AEA006E0C4020010001080C96 +:10CD300067BB015600160026003620A90004201902 +:10CD4000180520110276080CC64D003E002E001E6C +:10CD5000015E9005000500F600E600C6008600763C +:10CD6000006600B6012620918000274020611CD07B +:10CD7000207900018FFF0904EF0420711800765418 +:10CD80007074800196021A04EF0488FF01202800C5 +:10CD90009C0615882078080CF03B056824009C064A +:10CDA0000550672097860006153088FF1150D58CF6 +:10CDB000111860109B0611F8D58401186054910673 +:10CDC00011D00096601CD0840140080CF26E080C53 +:10CDD000DB24080C1AEA6023000760142048080CC2 +:10CDE000D3F501200046080CEFAD004E009E080C64 +:10CDF000B56F88FF11989CE000182001181A2004D4 +:10CE00009C0212100804EEBA9006012E00BE006EBD +:10CE1000007E008E00CE00EE00FE000598C50001E9 +:10CE20000CA000B60076005600869046202900012E +:10CE30002C2020190002621022580096904E080CF7 +:10CE4000AD48009E008E903E080CADF3080CEEAB92 +:10CE5000005E007E00BE000500B60046005600766B +:10CE600000C601562C20212820A9007F900E001614 +:10CE70000036080C68901180005600869046250800 +:10CE8000202900010096904E080CAD48009E008EAF +:10CE9000903E080CADF3005E003E001E81081F04AA +:10CEA000EF370036250820290003080CEEAB003EC2 +:10CEB000015E00CE007E005E004E00BE000500B6A2 +:10CEC0000076005662102258008690462029000104 +:10CED000201900480096904E080CAD48009E008E28 +:10CEE000903E080CADF32C20080CEEAB005E007EEB +:10CEF00000BE000500B600460056007600C601568A +:10CF00002C2020A90800900E00160036080C68900E +:10CF10001190008690462828004620210001080C28 +:10CF2000F247004E0096904E080CAD48009E008ED1 +:10CF3000903E080CADF3003E001E81081F04EF84F4 +:10CF4000003620290002080CEEAB003E015E00CE48 +:10CF5000007E005E004E00BE0005001600F6080CC4 +:10CF6000D3F30198A868908400FF90860046018062 +:10CF7000A800907D0138A8030000AB86080C706EF5 +:10CF80002F480CB0AB86080C706E00FE001E00052A +:10CF9000A800907D0130A8030000080C706E2F4897 +:10CFA0000CB8080C706E0C8800E600460036206154 +:10CFB0001CD09005113820711800745470748001D1 +:10CFC000940212F821009C060188600090860000FF +:10CFD000016860089206115063209386000901B031 +:10CFE000601091A000042424940601409CE00018E5 +:10CFF0002001181A20049C0212200C2090850001A8 +:10D0000000089006003E004E00EE0005631CD3C4ED +:10D010001D680C3000960006080C1016000E090C56 +:10D020000DCCAAE6A86B010DA89200262010080CD2 +:10D03000D3E320010000012022009080001520048D +:10D04000002EA87E918600200110A8E7FFFFA98A84 +:10D05000AC7AA8830000200119912004A8869006CC +:10D06000A802A86EA88E012620918000080C706E80 +:10D07000012E009E000567009786000001589786E4 +:10D08000000101409786000A0128978600090110D7 +:10D0900090850001000500E660109075013800B62B +:10D0A0002058B8A000BE920600EE00059085000151 +:10D0B0000CD800166004908E001E11A08007613409 +:10D0C000918C00FF91056036600700856003000BBE +:10D0D000602300052001198A2004601A080C973487 +:10D0E000080C9CE8001E0005A001A00100056024BA +:10D0F000D0E40158D0CC0118080CD73C0030080C03 +:10D10000F26E080C8C97080CB53C00059280000864 +:10D1100020049084000F0002F09AF09AF09AF09C9C +:10D12000F09AF09CF09CF09AF09CF09AF09AF09AA9 +:10D13000F09AF09A90060005908500010005928013 +:10D14000000820049084000F0002F0B3F0B3F0B3A5 +:10D15000F0B3F0B3F0B3F0C0F0B3F0B3F0B3F0B3AA +:10D16000F0B3F0B3F0B36007003B602F0009601725 +:10D170002A0060030001080C9734080C9CE80005A5 +:10D18000009600C62260080CF26E60430000602426 +:10D19000C0F4C0E46026603B000000CE00D62268E8 +:10D1A000918600071904F119681490050138204888 +:10D1B000A880D0FC111800DE009E08A86007003A85 +:10D1C00060030001080C9734080C9CE800C62D6031 +:10D1D0006100918600021904F188601490051138ED +:10D1E000600090860007190C0DCC0804F1882048D7 +:10D1F000080CD3F5113000282048A80090051DE048 +:10D2000029002048A88090840003908600021168BD +:10D21000A880C0DCC0F4A882A884C0FCA88620092D +:10D220000043080CE9660804F1882009004108045D +:10D23000F1829186000515A068142048A880D0BC12 +:10D24000112000DE009E0804F0B3D0B40128D0FC09 +:10D25000090C0DCC0804F0D46007003A600300010B +:10D26000080C9734080C9CE800C62D60610091867C +:10D2700000020120918600041904F18868142048F6 +:10D28000A980C1F4C1DCA982A984C1FCC1BCA98662 +:10D2900000F62C78080C17A900FE20090042049023 +:10D2A0000036080C1016090C0DCCA86B010D900669 +:10D2B000A802A86EA88E2D18AB92A88B00452C0052 +:10D2C000A8966038A8A623606024C0DD60266010A0 +:10D2D00000B62058B8A000BE6354AB7EA87A900672 +:10D2E000A882A886AD9EAE9AA8A30001080C706E15 +:10D2F0002019004560082068080CEB0E2D00600A1C +:10D30000003E00386043000060030007080CE96637 +:10D3100000CE00DE009E00059186001311286004F7 +:10D3200090820085200800C2918600271178080CA1 +:10D330009BDA003600966014204820190004080C7F +:10D34000EFAD009E003E080C9CE80005918600149D +:10D350000D70080CB5D40005F1BBF1B9F1B9F1B904 +:10D36000F1B9F1B9F1BBF1B9F1B9F1B9F1B9F1B96B +:10D37000F1B9080C0DCC080C9BDA6003000C080C0A +:10D380009CE800059182009212209182008502089B +:10D39000001A080CB5D40005F1D9F1D9F1D9F1D9A9 +:10D3A000F1DBF1FBF1D9F1D9F1D9F1D9F1D9F1D909 +:10D3B000F1D9080C0DCC00D62C68080CB4E601B0ED +:10D3C000600300016007001E2009026E210C613A13 +:10D3D0002009026F210C613E600BFFFF6910611292 +:10D3E00060230004080C9734080C9CE82D60080C9E +:10D3F000B53C00DE0005080CB53C000500E66010F9 +:10D4000000B62058B80000BED0EC00EE00052009A0 +:10D41000186A210CD1EC05D0600300026024C0E53D +:10D420006026D0CC01502001198B200460422009D5 +:10D43000186A210CD1F4154000A02009186A210CAB +:10D44000D1F401286024C0E46026900600F8200191 +:10D45000198B200C20011989200491009080000A6A +:10D460006042601000B62058B8BC900511302C0006 +:10D47000B8BE0038210490050118908800030CD034 +:10D480002C0A00BE600F0000908500010005001608 +:10D4900000C600E66154B8BC900501E0206090062B +:10D4A0002070B8BE8CFF01B084FF11186054910643 +:10D4B0001148600C8EFF01082072080C8C97080C34 +:10D4C000B53C00308EFF11102C00B8BE9CF000035C +:10D4D0002E640C4000EE00CE001E000500D600B603 +:10D4E00060102058B8BC9C061118600CB8BE0048EB +:10D4F000B8BC906D01309C060110680C0CD0600C1B +:10D50000680E00BE00DE0005002600360156201120 +:10D51000182C2204908400FF2019026E233496B444 +:10D5200000FF963615088318233422049084FF00E8 +:10D53000963611D02011027020A9000460100096C8 +:10D5400020482019000A080CC661009E11682011AD +:10D55000027420A9000460100096204820190006DB +:10D56000080CC661009E1100015E003E002E000501 +:10D5700000E620711800080C6247080C30B600EE77 +:10D58000000500960026080C1016090C0DCCA85CAE +:10D590009080001B20A020A9000CA86020E8900625 +:10D5A0004004918600461118A86B01360038A86B1C +:10D5B0000138918600410110A87F000170389084E5 +:10D5C000FF0072409294FF0080079215AA9E9186F8 +:10D5D000004611687038908400FF723C9294FF00FE +:10D5E0009215AAA2723C929400FFAAA60060704015 +:10D5F000908400FF72449294FF009215AAA2724494 +:10D60000929400FFAAA69186004611189E900012DF +:10D6100000109E90001A22048007A8AA82102204FB +:10D620008007A8AE821022048007A8B282102204CC +:10D630008007A8B682109186004611B89E90001609 +:10D6400022048007A8BA821022048007A8BE821094 +:10D6500022048007A8C2821022048007A8C6821074 +:10D66000201102052013000100B09E90001E22042C +:10D670008007A8BA821022048007A8BE20110205E4 +:10D68000201300012011026022048007A8C282102A +:10D6900022048007A8C69186004611182011026254 +:10D6A00000102011026A014601D6003620A90001AF +:10D6B00020190008A86020E8A85C9080003220A013 +:10D6C000220480074004821083191DD0003E01CE41 +:10D6D000013E2011020520130000002E080C706E80 +:10D6E000009E000500E6601000B62058B80000BE9D +:10D6F000D0FC0108001100EE0005A884C0E5A88652 +:10D70000000500E600D600C600760066005600461A +:10D7100000260016012620918000202919F4252CCE +:10D72000202119FA242420611CD02071180076547D +:10D730007074960605786720978600010118978611 +:10D740000008150025009C0601E824009C0601D075 +:10D75000080CF03B01B8080CF04B11A0600090865B +:10D76000000411200016080C1AEA001E080CD5FE51 +:10D770001110080C3334080CD60F1110080CBF7FA1 +:10D78000080CB56F9CE000182001181A20049C02B8 +:10D7900012080858012E001E002E004E005E006E7A +:10D7A000007E00CE00DE00EE0005200118102004EF +:10D7B000D0DC00050006200118372004D09C000EA4 +:10D7C0000005000600360046080CDB0C0168201935 +:10D7D000FFFF90050128601000B62058BBA000BED6 +:10D7E00020210004080C4F76004E003E000E00057C +:10D7F0006004908600011128080CAEB9080CB56FC2 +:10D800009006000500E600C600B6004620611CD068 +:10D8100020711800745470748001940212D8210091 +:10D820009C06016860009086000001486010205846 +:10D83000B8A09206112060049086000201409CE08E +:10D8400000182001181A20049C0212200C40908518 +:10D85000000100089006004E00BE00CE00EE00055C +:10D86000200118102004D0A40160200118372004E2 +:10D87000D0A401382001184B2004D0A411189085A1 +:10D880000001000590060CE80126000600E60016DF +:10D890002091800020711840D5A4011870048000E8 +:10D8A0007006D5B40118700080007002D5AC017804 +:10D8B000250090840007908E00030148908E00049C +:10D8C0000130908E000501182071FFF60469001EDA +:10D8D00000EE000E012E00050126000600E6209154 +:10D8E00080002071FFEE040100EE000E012E000505 +:10D8F0000126000600E62091800020711840701C6F +:10D900008000701E00EE000E012E000501260006AC +:10D9100000E6209180002071184070208000702265 +:10D9200000EE000E012E00052E058000207712204B +:10D930008E702E0580002077000500E62071FFEC38 +:10D940000C9900EE000500E62071FFF00C6900EE76 +:10D9500000050126000600E6209180002071184095 +:10D9600070148000701600EE000E012E00050003FA +:10D97000000B07DA0000C0000001806400080010FE +:10D980000000806600000101000844070003806079 +:10D99000000004000000580D000B79BF000B510679 +:10D9A00000034C0A0003BAC00009008A00000C0AF8 +:10D9B000000B15FE0008340A0003C4C00009700003 +:10D9C0000000FFA00001200000001673000B808CF7 +:10D9D0000008000100000000000740280000404748 +:10D9E000000A808C00080002000008220003402288 +:10D9F00000000028000B4122000894C00009FF002D +:10DA00000008FFE00009050000080A9E00034447E3 +:10DA100000020E9B000B0BFE000811A00001127902 +:10DA200000030CA0000112790003918000010004A2 +:10DA3000000080600000040000007F620008806633 +:10DA40000000000900084436000B808C000800002C +:10DA50000008006000088062000800040000806682 +:10DA6000000004110000443E000303FE000043E0F8 +:10DA700000010E76000BC2C0000900FF000802E0A2 +:10DA800000010E76000B9180000100050008806007 +:10DA90000000040000007F6200088066000000199A +:10DAA0000000444D000B024000020A73000300FE18 +:10DAB00000003276000B0248000A085C00039180E7 +:10DAC0000001000600087F620008800200080003D1 +:10DAD000000880660000020A0000445B0003112A6F +:10DAE0000000002E0008022C00083A4400020C0A34 +:10DAF000000B808C000800020000176000088062A4 +:10DB00000008000F0008806600000011000844684B +:10DB1000000301FE000842E000090E67000B00FE52 +:10DB2000000043E000010E67000B173400001530C1 +:10DB30000000163200080D2A00089880000100102D +:10DB4000000080600000040000007F620008806622 +:10DB500000001E0A0008447A0003808A00080003BF +:10DB600000081A600000806200080002000058806F +:10DB7000000B80660000367900004483000358845F +:10DB800000033EFE00087F4F0002088A000B0D00D4 +:10DB900000000092000C80540008001100088074FE +:10DBA0000000101000081EFE0000300A000B00E00C +:10DBB000000C000A000B00FE0000349A00031A60FB +:10DBC000000080620008000700008066000002314B +:10DBD00000084499000B03FE000004D000010CD49F +:10DBE000000B82C000011F000000FFA00001040024 +:10DBF000000008B2000314DC000301FE00080580E9 +:10DC000000097F06000086900009000000087F0CD4 +:10DC1000000002FE0008FFC0000100FF00080680AF +:10DC2000000910B200037F08000884C00001FF0053 +:10DC3000000808D40003B9C00009003000080CC374 +:10DC4000000B806000000400000080FE00081A0D38 +:10DC500000017F620008806600000409000044BCE7 +:10DC6000000380FE00081A0C00097F62000880662D +:10DC70000000040A000044C2000300FE000034CA91 +:10DC8000000380720000101000083944000208C52B +:10DC9000000300CE000380720000202000083945F8 +:10DCA000000A08CA00033946000A0CDB000B00001A +:10DCB00000073943000A08DB000300CE000300FE22 +:10DCC000000034D9000B807200001000000000DB5F +:10DCD000000B80720000200000004000000F86C092 +:10DCE0000009FC00000808D4000300B2000B1C600F +:10DCF00000001B620000806600000231000844E45E +:10DD0000000B58E5000B01400008024200001F43D1 +:10DD100000020CF3000B0D4400000D460008034800 +:10DD20000008044A0008030A0008040C00000D065D +:10DD300000000D08000800F7000303440008044633 +:10DD4000000805480008064A00001948000A08FAB9 +:10DD500000030D4A000858FA00033EFE00087F4FFA +:10DD60000002090100038000000000010000009291 +:10DD7000000C805400080001000080740000202086 +:10DD800000084000000F3A40000A0C0D00032B244D +:10DD900000082B240008590A000B805400080002D8 +:10DDA000000012420002095800033A45000A0947E0 +:10DDB000000B80720000100000003945000A0917AE +:10DDC000000B80720000301000001E10000A7F3C23 +:10DDD00000000942000B1D0000027F3A00000D60A8 +:10DDE00000007F62000880660000000900084520EE +:10DDF000000B00FE0000353F000B1C60000080623D +:10DE000000080001000080660000000900084528A5 +:10DE1000000300FE00003251000B003800000060DB +:10DE2000000880620008001A0000806600000009F7 +:10DE300000084531000B80C0000900FF00087F3E4C +:10DE400000080D6000000EFE00081F8000017F62C8 +:10DE500000088066000000090008453B000B003AFE +:10DE600000081DFE0000011C000B0036000800E049 +:10DE7000000C0158000B807400002000000080722C +:10DE80000000200000000158000B3A4400020A7C08 +:10DE90000003807400001000000080720000100079 +:10DEA00000002D0E00002D0E0000364E000B26FE49 +:10DEB000000826FE0008270000082700000800D000 +:10DEC00000090D6A000380740000404000085958A2 +:10DED0000003510600033A46000A0D6A00033A4760 +:10DEE00000020965000B80540008000400008074E3 +:10DEF000000080000000807200003000000801B3C4 +:10DF0000000B92C000090FC80000080A0003124667 +:10DF1000000A0E4B00031A60000080620008000235 +:10DF2000000080660000362A0000456F00032000D4 +:10DF30000000200000002102000021020000220455 +:10DF4000000022040000230600002306000024082D +:10DF5000000024080000250A0000250A0000260C05 +:10DF60000000260C0000270E0000270E00002810DD +:10DF700000002810000029120000291200001A6079 +:10DF80000000806200080007000080660000005268 +:10DF900000004589000B92C00009078000080E644C +:10DFA000000B124B0002099200032E4D00022E4D71 +:10DFB00000020A4E000B3A46000A0DA1000B5994CC +:10DFC000000380540008000400001243000A09AF57 +:10DFD000000B80100008000D0000022C00041948FE +:10DFE000000A0E21000C18100000022C000401AFE2 +:10DFF00000031948000A09A5000B1243000A0A5140 +:10E000000003194D000A09A9000B1243000A0A581F +:10E01000000359A9000B80540008000400000221ED +:10E02000000C18100000022C000480740000F000A6 +:10E03000000880720000300000080D3000003A42F5 +:10E0400000020DB9000B15FE00083461000B000A38 +:10E05000000B807400000501000080100008000C17 +:10E060000008022C0004000A000BBBE0000900308D +:10E0700000080DCF000318FE00003CE0000909CCA9 +:10E08000000B15FE00083CE0000909CC000B021C47 +:10E09000000480760008004000000219000B807622 +:10E0A0000008004100080219000BBBE00009003223 +:10E0B00000000DD400033C1E00080219000BBBE059 +:10E0C0000009003B00000DD9000B3C2000000219A4 +:10E0D000000BBBE00009003600080AB00003BBE0FB +:10E0E0000009003700000DFA000318FE00003CE0B4 +:10E0F00000090DCC000380760008004000001A6083 +:10E10000000080620008000D0000260400082604BC +:10E11000000827060008270600082808000028082D +:10E120000000290A0000290A00008066000004227D +:10E13000000045F1000B0221000C8054000800048F +:10E14000000080740000F000000880720000B00041 +:10E15000000001B3000BBBE00009003800000E0C0A +:10E16000000318FE00003CE000090A09000B15FE40 +:10E1700000083CE000090DC8000B021C000480767A +:10E180000008004000008072000080000000027360 +:10E19000000B80760008004200080219000BBBE06B +:10E1A0000009001600000E19000B8074000008081A +:10E1B00000083A4400020C0C000B807400000800B8 +:10E1C000000080720000800000008000000F000A44 +:10E1D000000B8072000080000000000A000B3D3040 +:10E1E000000A7F000000BC8000010007000002253B +:10E1F000000B1930000A7F00000098800001000722 +:10E20000000080600000040000007F62000880665B +:10E210000000000A0008462A000B4000000F222FD1 +:10E220000003087000084000000F7E2C0003BBE0D4 +:10E230000009003000080E2C000B18FE00003CE026 +:10E2400000090A3D000315FE00083CE000090A3DF4 +:10E250000003021C00048076000800400000023F1A +:10E2600000038076000800410008807200008000F2 +:10E270000000022C000BBAC00009009000080A48F8 +:10E28000000B8074000007060000024A000B807437 +:10E290000000070300004000000F8010000800236A +:10E2A00000000281000380100008002200080281A3 +:10E2B00000030221000C8010000800070000022C5F +:10E2C000000418100000022C0004028D000302213B +:10E2D000000C80100008001B0008022C000418101D +:10E2E0000000022C000480740000F08000008072A6 +:10E2F0000000300000080D300000000A000B801004 +:10E30000000800090008028100031648000A0C6F8B +:10E31000000B808C00080001000080100008000441 +:10E3200000004143000A086F00033A4400020C0A4F +:10E33000000B0D2A00080281000380100008000372 +:10E3400000080285000B80100008000B0000028509 +:10E35000000B80100008000200000285000B3A4705 +:10E3600000020D58000B801000080006000802850E +:10E37000000B80740000F000000880720000300084 +:10E380000008022C00040242000C3A40000A080A6D +:10E39000000380100008000C0008022C0004000A92 +:10E3A000000B80740000F0800000807200003000DC +:10E3B00000080D3000002E4D00022E4D00020A987C +:10E3C00000038054000800190000000A000B80546C +:10E3D000000800090008000A000B3A4400020C0A79 +:10E3E000000B0276000B808C0008000000084447F8 +:10E3F00000020AC40003C0C0000100FF0008FFE0E3 +:10E40000000900FF00080E9B000BC1E00001FFFFA8 +:10E4100000080E9B000B8010000800130000022C67 +:10E4200000048074000002020008000A000B3A4059 +:10E43000000A0EC1000B80740000020000003D00C5 +:10E4400000003CFE0000807200008000000043E0FD +:10E4500000010EBF000B42FE0000FFC0000100FFE4 +:10E46000000800E000090A9B00030D0800080327CC +:10E47000000B8072000080000000000A000B03AB5C +:10E48000000C808C00080001000004FE0008339D91 +:10E490000003046000008062000800010000806644 +:10E4A00000000009000846CE000B0004000080C0F8 +:10E4B000000900FF00087F00000080E00001000468 +:10E4C00000000AE8000B80E00001000500080AE8EF +:10E4D000000B80E00001000600080AE8000B82C083 +:10E4E0000001FF0000087F04000882E00009060028 +:10E4F00000080AE8000B82E00009050000080AE8AD +:10E50000000B82E00009040000000F9D0003C4C05E +:10E51000000970000000FFE00009100000000B2758 +:10E520000003394100020EF4000B80720000040465 +:10E53000000800000007394100020AF7000380725A +:10E54000000004000000000A000B0460000080FED0 +:10E550000008002B00087F62000880660000220986 +:10E56000000846FD000B11FE00003322000B808CDA +:10E5700000080002000091800001000A000880608D +:10E580000000040000007F620008806600000209AD +:10E5900000004709000B40FE000801E000010F1FCA +:10E5A0000003808C0008000100009180000100023F +:10E5B000000080600000040000007F6200088066A8 +:10E5C0000000060900084716000342FE0000FFC0D5 +:10E5D0000001FF00000803E000090F1F0003807224 +:10E5E00000000400000000460003918000010003C9 +:10E5F000000802FA0003807200000400000080108E +:10E60000000800100000038E000B394100020F2E9D +:10E61000000B80720000040400080000000739416C +:10E6200000020B31000B8072000004000000000AA1 +:10E63000000B1042000A0B3600030373000C11FE9E +:10E640000000373B000B80720000040000008010C7 +:10E650000008000E0000038E000B808C00080001F3 +:10E660000000806000000400000004FE0008375233 +:10E67000000B808C0008000000089180000100055C +:10E6800000087F6200088066000000090008474813 +:10E69000000B0060000880620008001C00004304BA +:10E6A000000842060008806600000412000047507F +:10E6B000000B037000034006000091800001000A77 +:10E6C00000087F62000880660000060A00084758BC +:10E6D0000003808C000800010000046000008062DC +:10E6E0000008002B0008806600000609000847604B +:10E6F000000B80660000220A00084763000B42FE00 +:10E700000000FFC00001FF0000087F0400088060D7 +:10E7100000000400000091800001000200007F6200 +:10E72000000880660000041A0008476F000B807222 +:10E7300000000400000000460003806000000400A8 +:10E740000000136200088066000004110000477892 +:10E75000000B02FE000803E000090F7E000B0D22F3 +:10E7600000004000000F82800009000200001380BA +:10E7700000017F62000880660000220900084784CB +:10E78000000B0200000AFFC00001000700007F0626 +:10E7900000001362000880660000060A0008478C2B +:10E7A00000034000000F3A4400020C0A000B2F4403 +:10E7B000000A2F44000A0E76000B808A000800032E +:10E7C000000880740000F0800000807200003000BB +:10E7D00000085B9900038054000800190000000A3B +:10E7E000000B3A4400020C0A000B808C0008000069 +:10E7F00000088010000800110008022C000442FEEE +:10E800000000FFC0000100FF00087F100008022C7C +:10E810000004431000080285000BC2C0000900FF7D +:10E8200000087F000000C3C00001FF00000800D006 +:10E8300000090BD0000B0D0A0000858000011000BC +:10E8400000007F6200088060000004000000806615 +:10E8500000000809000047BA000304FE000833C99D +:10E86000000B046000008062000800040000806665 +:10E8700000000211000047C2000301FE000800E092 +:10E8800000090FC9000B02FE000843E000010BCF96 +:10E890000003050000027F0A0000FFE000090800F5 +:10E8A00000000FB300030D0800084000000F43FEF6 +:10E8B00000083E800001FFC000017FFF00000D60E6 +:10E8C00000007F620008806600000809000047D849 +:10E8D000000B806000000400000084C00001FF0005 +:10E8E00000087F60000A7F60000A7F60000A7F6086 +:10E8F000000A7F60000A7F60000A7F60000A7F6074 +:10E90000000AFF800009100000007F620008806696 +:10E9100000000809000047EA00034000000FA8AD0E +:10E92000EB6A000100020004000800100020004013 +:10E9300000800100020004000800100020004000D8 +:04E940008000C1741E +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/ql2400_fw.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/ql2400_fw.bin.ihex @@ -0,0 +1,15962 @@ +:100000000401F19500112000001000000000C29EC4 +:1000100000000005000000060000000500009496A6 +:10002000000000030000000020434F505952494790 +:100030004854203230303720514C4F4749432043F9 +:100040004F52504F524154494F4E20202049535057 +:1000500032347878204669726D776172652020208D +:1000600056657273696F6E202020352E30362E3023 +:1000700035202024000000000000000000000000E7 +:100080000000000000000000000000000000000070 +:100090000000000000000000000000000000000060 +:1000A0000000000000000000000000000000000050 +:1000B0000000000000000000000000000000000040 +:1000C000420018000010014C420020000010DE53D6 +:1000D000500C0800800C1800500C1000800C180008 +:1000E0005404200080102000800408008008104084 +:1000F000040207FC500C0800800409C0040207F643 +:100100004400200080102000401000004404000043 +:10011000800000004408000080000000440C000043 +:100120008000000044100000800000004414000023 +:10013000800000004418000080000000441C000003 +:1001400080000000442000008000000044240000E3 +:10015000800000004428000080000000442C0000C3 +:1001600080000000443000008000000044340000A3 +:10017000800000004438000080000000443C000083 +:100180008000000044400000800000004444000063 +:10019000800000004448000080000000444C000043 +:1001A0008000000044500000800000004454000023 +:1001B000800000004458000080000000445C000003 +:1001C00080000000446000008000000044640000E3 +:1001D000800000004468000080000000446C0000C3 +:1001E00080000000447000008000000044740000A3 +:1001F000800000004478000080000000447C000083 +:100200008000000044800000800000004484000062 +:10021000800000004488000080000000448C000042 +:100220008000000044900000800000004494000022 +:10023000800000004498000080000000449C000002 +:100240008000000044A000008000000044A40000E2 +:100250008000000044A800008000000044AC0000C2 +:100260008000000044B000008000000044B40000A2 +:100270008000000044B800008000000044BC000082 +:100280008000000044C000008000000044C4000062 +:100290008000000044C800008000000044CC000042 +:1002A0008000000044D000008000000044D4000022 +:1002B0008000000044D800008000000044DC000002 +:1002C0008000000044E000008000000044E40000E2 +:1002D0008000000044E800008000000044EC0000C2 +:1002E0008000000044F000008000000044F40000A2 +:1002F0008000000044F800008000000044FC000082 +:10030000800000004500000080000000450400005F +:10031000800000004508000080000000450C00003F +:10032000800000004510000080000000451400001F +:10033000800000004518000080000000451C0000FF +:1003400080000000452000008000000045240000DF +:10035000800000004528000080000000452C0000BF +:10036000800000004530000080000000453400009F +:10037000800000004538000080000000453C00007F +:10038000800000004540000080000000454400005F +:10039000800000004548000080000000454C00003F +:1003A000800000004550000080000000455400001F +:1003B000800000004558000080000000455C0000FF +:1003C00080000000456000008000000045640000DF +:1003D000800000004568000080000000456C0000BF +:1003E000800000004570000080000000457400009F +:1003F000800000004578000080000000457C00007F +:10040000800000004580000080000000458400005E +:10041000800000004588000080000000458C00003E +:10042000800000004590000080000000459400001E +:10043000800000004598000080000000459C0000FE +:100440008000000045A000008000000045A40000DE +:100450008000000045A800008000000045AC0000BE +:100460008000000045B000008000000045B400009E +:100470008000000045B800008000000045BC00007E +:100480008000000045C000008000000045C400005E +:100490008000000045C800008000000045CC00003E +:1004A0008000000045D000008000000045D400001E +:1004B0008000000045D800008000000045DC0000FE +:1004C0008000000045E000008000000045E40000DE +:1004D0008000000045E800008000000045EC0000BE +:1004E0008000000045F000008000000045F400009E +:1004F0008000000045F800008000000045FC00007E +:100500004A03C020000040004A03C0114000001010 +:10051000040060004203E000400000004A03C017EE +:10052000000000004203E000300000010401F00080 +:100530000000BF00000000800000BFE000000020BD +:100540000000FF00000000800000FFD0000000302D +:1005500000007100000000100000720000000008A0 +:10056000000072090000000700007300000000088E +:10057000000073090000000700007400000000087C +:10058000000074090000000700007600000000B0C1 +:100590000000770000000040000030000000007004 +:1005A00000004000000000C000006000000000509B +:1005B0000000610000000010000061300000001029 +:1005C0000000615000000010000061700000001089 +:1005D0000000619000000010000061B000000010F9 +:1005E000000000000000000000000000000000000B +:1005F0000000000000100000001000000000C29E7B +:10060000FFFFFFFF001120040002000000000CF3B8 +:10061000FFFFFFFF00112CF70010F70000001A94F5 +:10062000FFFFFFFF0011478B0000C000000008A083 +:1006300000FFFFFF0011502B000080000000068C1F +:1006400000FFFFFF000000000000000000000000AD +:10065000000000004203F00000021FFF4000000005 +:100660004203E0009000010040000000420008004A +:1006700000020CF44202F000000000004200000002 +:1006800000007023500000008C00050004020003ED +:1006900042000800000200004578080080040800BD +:1006A0008204058000022000040207FC4178A000BB +:1006B0004200A8000010C29E420008000010F7008F +:1006C000405400008004B4800201F8000010C134DE +:1006D0000401FACA0401FA014803C85642000000A6 +:1006E000000010005000000082000480243200024C +:1006F0000402000D0201F8000010C17B0400000894 +:100700004200080000007A17500400008C00050E1B +:10071000040200038400054E440008004A03000060 +:10072000000000004A03C020000000044203E00073 +:100730006000000F4A0370E8000000034A0378E8F5 +:100740000000000359E000238C000500040200278C +:10075000420028000010017D581408004817C857AF +:100760004807C857800409C00400000B5814200231 +:100770004813C857581410034C1400000401FA968B +:100780005C0028000402002A82142C0000000004EF +:100790000401F7F2420028000010017D5814A00067 +:1007A0004817C8574853C8578050A1C00400000FCD +:1007B0004C1400005814A8014857C8574050000076 +:1007C00080540480040000055814B002485BC857E8 +:1007D0000201F8000010C12B5C00280082142C00DC +:1007E000000000040401F7EE420028000010017D23 +:1007F000581408014817C8574807C857800409C04B +:1008000004000018581420024813C8575814100345 +:100810004C1400000401FA70040200055C0028007A +:1008200082142C00000000040401F7F24803C856AB +:100830004A03C020000040104A03C01140100011BC +:10084000040060004203E000400000004A03C017BB +:10085000000000004203E000300000010401F0004D +:100860004803C8560201F8000010F7040401FAF723 +:100870004A03C014001C001C420020000011119407 +:100880000201F8000010C13C42000000000010000E +:1008900050000000820004802422000104000907A7 +:1008A00042000000000010005000000082000480A0 +:1008B000243200010400090159C40000820005002F +:1008C000FFFF00008000012082000580000024223C +:1008D0000402000559A800708400054048035070C8 +:1008E0000401F00A59E00003820005000003000043 +:1008F00082000580000100000402000459A8007075 +:1009000084000542480350704C1400000201F800B6 +:100910000010B8E65C00280042000800000011004A +:100920004200180000000100821414800017FFFF2D +:100930000402100D42000800000009008214148017 +:100940000013FFFF040210084200080000000480AA +:100950004200180000000080821414800011FFFF84 +:10096000040018D64807500D480F5251420010009D +:100970000000002C0201F80000106CBE82040C0084 +:10098000001116844807500B4A03C81000100000DD +:100990004A03C8110010C29E4A03C8120010F70093 +:1009A0004A03C813001111934A03C8290000000428 +:1009B00059E40001820005400003403F4803C8019C +:1009C000420010000000001C0401F9F14202C000C6 +:1009D0000011168459AAB00B59AAA00B59AAA80B4A +:1009E00059AAC80D4967505059A8000B4803500C2C +:1009F0000401FAC90201F80000107EEE0401FAD9E0 +:100A00000401FB290201F80000101A660201F80037 +:100A1000001013030401FBF80201F80000100D514F +:100A20000201F80000106CFE0401F85C0201F800FD +:100A3000001022420201F800001055EB0201F800FC +:100A400000104E170201F800001067990201F8002B +:100A5000001064980201F800001013A80201F800C9 +:100A60000010120A4203E000F00000010201F80049 +:100A70000010C2324A03C018000000004203E00028 +:100A8000200005114203E000500100004A03C0208D +:100A9000000000000402701059E000208200058070 +:100AA000000000020402000C4A03C02000004000C5 +:100AB0004A03C01140000010040060004203E0003F +:100AC000400000004A03C017000000004203E0009D +:100AD000300000014202D800000000004203E000A4 +:100AE000B060000059A800744003F8000201F00053 +:100AF000000200044DF000004203E000500000003E +:100B0000416C000082000C80000000080402186B99 +:100B10000C01F8045C03E0000201F0000002000890 +:100B2000001002D100110F9000110E9B001002D096 +:100B300000110E67001002D0001002D0001002E376 +:100B40000401F85E420008000010CBFF5804001EAC +:100B50008C0005000400000D840005004800081EFC +:100B60004202D800000000040401F97B49F3C85791 +:100B70005C0008005C0000008200054000003E00B0 +:100B80004C0000004C0400001C01F0004A038805E2 +:100B9000000000F01C01F0004A035048000000056E +:100BA0004A035049000000064A03504A000000056D +:100BB0004A03504B000094960201F800001055B50E +:100BC0004A03541B0000FFFF4A03500F00FFFFFFC2 +:100BD0000201F80000109C474A03501F202000002B +:100BE0004A035020880002004A03502100FF001FE2 +:100BF0004A035022000007D04A035023800000001F +:100C00004A035024000002004A03502500FF000060 +:100C10004A035026000100004A03502D514C4F4713 +:100C20004A03502E494320201C01F0004D4400008F +:100C3000417A88004C5C00004178B8000201F8005D +:100C40000002034E040200050201F80000104A747D +:100C500004020002805CB80081468800834405805D +:100C6000000007F0040207F6405C08005C00B800D2 +:100C70005C0288001C01F0004803C8575C000000BB +:100C80004C0000004803C8570401F80C485FC857DF +:100C90004203E000500000005C0000004D780000BE +:100CA0004200B800000080020401F009486BC857F8 +:100CB000486FC8574873C857485FC8574203E00099 +:100CC000500000004200B8000000800204006000F4 +:100CD0004C0000004C04000059BC00EA4803C8570F +:100CE000820005000000000782000580000000016E +:100CF0000402000542000800000000000201F800A4 +:100D000000106E9A59B800EA4803C8574A0370E8C1 +:100D1000000000045C0008004807C025800409208A +:100D20004807C0265C0000004803C0238000012063 +:100D30004803C0245C0000004803C8574803C02192 +:100D4000800001204803C02241F800004803C02968 +:100D5000800001204803C02A42000000000010006B +:100D60005000000082000480243200014803C8576C +:100D70000400104B0201F8000010C17B0400004683 +:100D8000420008000010E6B246000800FACEFACE93 +:100D9000800408004C0800004C0C000042001000C9 +:100DA00000007A005808001344000800800408007E +:100DB0005808001944000800800408005808001A68 +:100DC00044000800800408005808001B4400080084 +:100DD000800408005808001C440008008004080033 +:100DE0005808001F4400080080040800420010005A +:100DF00000007A40420018000000000B500800007C +:100E0000440008008008100080040800800C18408E +:100E1000040207FB4200180000000003420010001B +:100E200000007B00480C100358080005440008002F +:100E300080040800800C1840040217FB42001000D8 +:100E400000007C00580800024400080080040800EC +:100E500058080003440008008004080058080020D7 +:100E600044000800800408005808002144000800DD +:100E7000800408005808002244000800800408008C +:100E80005808002344000800800408005C00180093 +:100E90005C0010004A03000000000000485FC02012 +:100EA000905CB9C0825CBD4000000012485FC01178 +:100EB0004203E000400000004202D80000000005AC +:100EC0004A03C017000000004203E00030000001A8 +:100ED0000401F8470401F7FF42000000000000048D +:100EE0000401F80C4A03C8550001EB5A59E400010B +:100EF00082000540000007004803C80142000000CE +:100F00000010D0BB49780003497800041C01F000B0 +:100F1000420008000010D0BD4400080059E4080158 +:100F200082041500FFF3C0FF480BC8018C040D2498 +:100F30000400000C4C00000059E4105259E4005425 +:100F4000800000D4820004000010E6CE80081480E7 +:100F5000480BC8534A03C800000000405C00000072 +:100F60004A03C8500010E6CE800000D4820024005E +:100F70000010E6CD4813C8514A03C85300000400CE +:100F8000420000000010E6CE8200140000001000B5 +:100F9000457800008000000080081D80040207FDE5 +:100FA0004807C8011C01F000420020000010D0BB1F +:100FB00059E4180158100C018204050000003800A3 +:100FC000820C1D00FFFFC7FF800C1D40480FC801A9 +:100FD0001C01F0005C0360004DB0000049B3C8572D +:100FE0004803C8571C01F0001C01F00059A8005923 +:100FF0008C000530040207FE4C080000420010007F +:10100000000000040401F8625C0010004201D000FE +:1010100000028B0A0201F8000010669E4C080000D6 +:1010200042001000000000080401F8595C001000A4 +:101030004201D00000028B0A0201F8000010669EF7 +:101040004C08000042001000000000100401F8509D +:101050005C0010004201D00000028B0A0201F8007F +:101060000010669E0401F7E28C00050C59A808598F +:101070000402000384040D300401F00684040D70A2 +:101080004807505942001000000000000401F040E1 +:1010900048075059836C0500000000070C01F0015F +:1010A00000100462001004480010044800100430CE +:1010B00000100455001004480010044800100455A6 +:1010C00059A800708C0005020402001359C40801DD +:1010D00082040D00000180008204058000010000F0 +:1010E0000400000A8204058000008000040000045F +:1010F00042001000420040000401F00642001000CF +:10110000220020000401F003420010001200100031 +:101110000401F02542001000000010040401F02238 +:1011200059A800708C0005020402000859A8005953 +:101130008C000534040200044200100074057005A0 +:101140000401F8191C01F000420010000000200802 +:101150000401F7FC59A800598C0005340402000A68 +:1011600059A800708C000502040000044200100021 +:10117000240520050401F00C4200100074057005E0 +:101180000401F0091C01F0001C01F00082081500A8 +:101190000000001C82081540001C0000480BC01312 +:1011A0001C01F00059A800598C0005300400000211 +:1011B00084081570480B50598C0005300402000556 +:1011C0008208150000007000800811140401FFF06F +:1011D0001C01F0004178000050041800800C04004D +:1011E0008004080080102040040207FC80080500ED +:1011F000800005401C01F0004202F00000000000E9 +:1012000041780000417808004178100041781800CA +:10121000417820004178280041783000417838003A +:1012200041784000417848004178500041785800AA +:10123000417860004178680041787000417878001A +:10124000417880004178880041789000417898008A +:101250004178A0004178A8004178B0004178B800FA +:101260004178C0004178C8004178D0004178D8006A +:101270004178E0004178E8004178F0004178F800DA +:101280004179000041790800417910004179180046 +:1012900041792000417928004179300041793800B6 +:1012A0004179400041794800417950004179580026 +:1012B0004179600041796800417970004179780096 +:1012C0004179800041798800420190000010CC8F64 +:1012D000420198000010CC654179A0004179A80036 +:1012E0004179B0004179B8004179C8004179C00026 +:1012F0004179D0004179D8004179E0004179E80096 +:101300004179F0004179F800417A0000417A080003 +:10131000417A1000417A1800417A200042022800E8 +:1013200000006100417A3000417A3800417A400083 +:10133000417A4800417A5000417A5800417A600071 +:10134000417A6800417A7000417A7800417A8000E1 +:10135000417A8800417A9000417A9800417AE80009 +:10136000417AF8004203000000007C0042031000B4 +:101370000010CF60420318000000BF1D4203200090 +:101380000000BF32420328000010CF284203300083 +:1013900000020CFD420340000010CBFF4203380066 +:1013A0000010CC1E420348000010CC9E42035000A7 +:1013B0000010CB80420358000010C3804203080095 +:1013C0000010CC60417B60004203680000006F00A9 +:1013D0004203C80000003000420370000000FF001C +:1013E000420378000000BF00420380000000770045 +:1013F00042038800000040004203900000006000AB +:10140000420398000010E3EA4203A00000007600C7 +:101410004203A800000074004203B0000000720004 +:101420004203B800000071004203C00000007000D9 +:101430004203D000000000004203E800000201B5B2 +:10144000417BD8001C01F0004200080000100000A1 +:10145000500400004C000000420000000000AAAA56 +:1014600044000800420018000000555542002000CA +:101470000001000082102400000100004010000064 +:1014800080042C00440C2800420030000000000AB8 +:1014900080183040040207FF50140000800C0580C3 +:1014A0000402000450040000800C0580040207F2CE +:1014B0005C00000044000800801428404817C86100 +:1014C0004817500A1C01F0004068180059A8081974 +:1014D000800409C00402000849781C0C4A001A0C58 +:1014E000000000024A0018040000000759A8000F7D +:1014F000480018054C0C00000401FDCD5C001800EC +:10150000800409C004020002800408004804180690 +:101510001C01F0004200B0000000008059A80078D3 +:101520008C00053E040000034200B00000000040B3 +:10153000420248000010D0D3420000000010D653F1 +:1015400048024809820004000000001083264C0075 +:101550000000000B8058B040040207FA1C01F000A4 +:1015600059A8080C4006D0004202B8000000000153 +:1015700059A8180A480FC857820414000000001523 +:10158000820824000000001540100000800C048038 +:10159000040010064408080040080800401010002D +:1015A000815EB8000401F7F745780800495F501ADA +:1015B0001C01F0000401F803412D88001C01F0001B +:1015C000835C0480000001040400100A496BC857C2 +:1015D000815EB840416A5800592ED000497A5800BF +:1015E000497A5801497A5805812E59C01C01F000EA +:1015F000420000000010D0150201F8000010C05891 +:10160000417A58000401F7F90401F803412D8800DC +:101610001C01F000815EB84004001009416A5800C6 +:10162000492FC857592ED000497A5800497A580195 +:10163000497A5805812E59C01C01F0004200000073 +:101640000010D0150201F8000010C058417AB8000F +:10165000417A58000401F7F8492FC857496A5800E1 +:10166000412ED000815EB80059C8000082000540BC +:1016700000001200480390001C01F000492FC857D9 +:10168000812E59C004000007592C0001497A5801E5 +:101690004C0000000401FFF15C0258000401F7F95E +:1016A0001C01F0004807C8564200700000020CF40C +:1016B0004A0070000000000059E00003820005406D +:1016C000000080804803C0034A03B8059000000171 +:1016D00059DC00064A03B8057000000059DC00061A +:1016E0004A03B8053000000059DC00064A03B8057B +:1016F000800000004200B00000000020497BB807D5 +:101700008058B040040207FE4A03B80530000000CC +:1017100059DC00064A03B8056000000159DC0006E8 +:101720004A03B8057000000159DC00064A03B805F9 +:10173000300000024200B00000000020497BB807E2 +:101740008058B040040207FE4A03B805300000008C +:1017500059DC00064A03B805600000014803C8567A +:101760000401FF9804000D55420010000010CF5BEB +:10177000452C10004A025801000000014A0258029C +:10178000000001004A025808001075B3497A580950 +:10179000497A580A497A580B0401FF8A04000D4718 +:1017A000420010000010CF5C452C10004A02580186 +:1017B000000000004A025802000001004A025808D6 +:1017C00000101036497A5803497A5806497A580762 +:1017D000497A580959A800708C00050004000006D9 +:1017E0004A03B805E000000159DC00068C00052220 +:1017F000040007FC1C01F000406810000201F80022 +:10180000000200161C01F000420010000002002639 +:101810000201F800001065470201F80000109D3138 +:101820005838080742002000000000015804080151 +:10183000800409C004000003801020000401F7FCAC +:101840000201F8000010B54E040200114200000031 +:101850000010CF7D0201F8000010C0580201F8000E +:1018600000109D49420008000000000142001000E5 +:10187000000200260201F8000010652042007000FE +:1018800000020CF40201F000000200304A03B80527 +:101890003000000259DC00064807B800480BB801C8 +:1018A0004200700000020CF44A0070020000004088 +:1018B000480C70085838000782000400000000053A +:1018C000480070034A007000000000034803B8039A +:1018D0000201F000000200505838080242001000D7 +:1018E0000000FF00820404800000FF0004021003D7 +:1018F000400410008000058048007002480BB802C8 +:1019000059DC00064A03B805100000001C01F00075 +:101910004A03B805300000015838600158301008FB +:101920004807C8574803C8574833C8574A00600299 +:10193000000002004A00700000000000800811C092 +:10194000020000000002002C0201F00000020092E0 +:1019500059DC00068C0005200400000A0200480043 +:1019600000020A8459DC00068200050000006000C5 +:10197000040000048200058000006000040207F8F3 +:101980001C01F00041781800583820054030000054 +:101990008010058004000007401018005810200037 +:1019A000801021C0040207FA4803C8560401F01150 +:1019B0004833C8575830200049786000800C19C05F +:1019C00004020008801021C00400000348107005C4 +:1019D0000401F00849787005497870040401F005A5 +:1019E00048101800801021C004020002480C700446 +:1019F0001C01F0004803C8564DC0000042007000B2 +:101A00000010CF5E4A0074000000000049787001A9 +:101A100042038000000077204A0380066000000136 +:101A20004A038009F4F600004203800000007700BA +:101A30004A038006600000014A038009F4F60000B2 +:101A40004A03C822000000104A0370E800000000AA +:101A50000401F8094A0370E900003A0F4A0370E8EC +:101A6000000000004A0370E8000000015C038000F1 +:101A70001C01F0004C5C00004178B8000401F80A39 +:101A80005C00B8001C01F0004803C8564C5C000024 +:101A9000825CBD40000000010401F8035C00B80056 +:101AA0001C01F0004803C8564DC000004C50000017 +:101AB0004C5800004C5400004A0370E8000000003D +:101AC000805CB9C00400000B4A03880700000004D2 +:101AD0004A0370E50008000059B800EA8C000510C0 +:101AE0000400000459B800E00401F87C0401F7FB8D +:101AF00042038000000077200201F80000100CB3C0 +:101B000059C000074A0380062000000059C00007A2 +:101B10004A0380068000000A59C000074A03800675 +:101B20008000000B59C000074A03800640000001F6 +:101B300083C0058000007700040000044203800099 +:101B4000000077000401F7ED4203800000007720D9 +:101B5000420008000000080059C000078C00051E64 +:101B6000040000064A03800690000001800408403B +:101B7000040207FA0401FC5183C0058000007700CD +:101B80000400000442038000000077000401F7F124 +:101B90004178A000805CB9C00402001D4200B00082 +:101BA0000000002083B8AC00000000200201F80013 +:101BB0000010C1344A0370FB000000014A0370208A +:101BC00000100F1659A8002C820005000000FFFF2E +:101BD000480370214A0370350010E3304A03703027 +:101BE0000010CB8F4A0370310010C3804A0370325B +:101BF0000010CC704A0370360010CC7B5984000270 +:101C0000480370344A03703800100F0D4A0370FB0C +:101C1000000000014200B0000000002083B8AC00CA +:101C2000000000000201F8000010C1344200B000C2 +:101C30000000004083B8AC00000000400201F80042 +:101C40000010C134805CB9C0040200064A0370E48D +:101C5000AAAAAAAA4A0370E5AAAAAAAA0401F00598 +:101C60004A0370E4A2AA2A824A0370E5AAAAA2AA99 +:101C70004A0370E6AAAAAAAA4A0370FB0000000061 +:101C80004A0370E6AAAAAAAA4203800000007720AD +:101C90004A0380069000000059C000078C00051E12 +:101CA00004020C0642038000000077004A0380060D +:101CB0009000000059C000078C00051E02020800B9 +:101CC0000010032E5C00A8005C00B0005C00A000C7 +:101CD0005C0380001C01F0004D3000004D38000016 +:101CE00040026000820005007F0000008200058045 +:101CF00060000000040200128332650000FFFFFF55 +:101D00000201F8000010A3490402000D593002033B +:101D100082000580000000040402000959300C070D +:101D200082040580000000090402000542027000E0 +:101D3000000000470201F80000020BC55C027000C1 +:101D40005C0260001C01F0004D3000004D2C0000D2 +:101D50004D3400004D4000004CFC00004D380000A8 +:101D60004D3C00004D4400004D4C00004D4800002B +:101D70004C5C00004C6000004C6400004D0400000E +:101D80004CC800004CCC00004CF400004CF80000A3 +:101D90000201F800000200955C01F0005C01E8001F +:101DA0005C0198005C0190005C0208005C00C800C7 +:101DB0005C00C0005C00B8005C0290005C0298000F +:101DC0005C0288005C0278005C0270005C01F80034 +:101DD0005C0280005C0268005C0258005C026000EB +:101DE0001C01F000493BC8570201F000000200C28C +:101DF00083300500000000FF82000C800000000717 +:101E0000020218000010032E0C01F0251C01F00046 +:101E100082000D00C00000380202080000100323F9 +:101E20000201F8000010032E00000000000000482E +:101E30000000005400000053001007A5001007C95F +:101E4000001007C4001007E8001007B0001007BC1E +:101E5000001007A5001007E300100847001007A5B1 +:101E60000010084A001007A5001007A50010084E32 +:101E7000001008540010087200100887001007E9CD +:101E8000001008900010089C001007A5001007A57E +:101E9000001007A50201F8000010032E001007AE85 +:101EA000001009330010080D00100836001007AEAE +:101EB000001007AE001007AE0201F8000010032E5C +:101EC0004803C856593000048C00053E0402000542 +:101ED00042027000000000550201F00000020BC534 +:101EE0000201F80000107266040007FA1C01F000FD +:101EF0004803C8560401F8E140002800417820005A +:101F000042027000000000560201F00000020BC502 +:101F10004803C85642027000000000570201F0005A +:101F200000020BC54803C85659325809812E59C0C2 +:101F300004000016593000088C00051A0402000D38 +:101F4000592C04098C00051C040200034A0260128B +:101F5000FFFFFFFF593000048C00053E040200081B +:101F600042027000000000480201F00000020BC5B0 +:101F70004A025A07000000070401F7F50201F800C1 +:101F800000107266040007F71C01F0004803C856F1 +:101F90008330050000FFFFFF0201F00000106AE33C +:101FA0001C01F0004803C856813261C002000800DD +:101FB0000010032E0201F800001099040400000D27 +:101FC00059325809592C02098400055248025A090D +:101FD0000201F8000010110F593000048C00053E7A +:101FE00004020005417A78000201F800001094888C +:101FF0001C01F0000201F80000107266040007FAEC +:102000001C01F0004C04000059B808EA82040D00DD +:1020100000000007820405800000000304000004A3 +:1020200042000000600000000401F8C85C000800E5 +:102030001C01F0000401F9160400001B5932580974 +:10204000812E59C004000018592C02058200050099 +:10205000000000FF82000D80000000290402001231 +:102060005930020382000580000000030400000BC9 +:102070005930080884040D26480660080201F8005B +:102080000002011A4A03900D000000404A0370E567 +:10209000000000081C01F0000201F8000010726648 +:1020A000040007F4420000000010D01B0201F800F9 +:1020B0000010C0585988014C800000004803114CA2 +:1020C0004A03900D0000004042000000C0000000E4 +:1020D0000201F0000002010E4C5C00004C600000A8 +:1020E0004C6400004200C8000010E3374200B80012 +:1020F000000030004200C000000001050201F800AD +:10210000001062E64A0370E4020000005C00C800B0 +:102110005C00C0005C00B8001C01F0004933C857E7 +:102120000201F00000020BA14933C8570201F80078 +:1021300000100CBB1C01F00041300800800409C0F5 +:10214000020208000010032E0201F8000010032311 +:10215000420000000010D01B0201F8000010C0581F +:102160004933C857813261C0020008000010032EB5 +:102170000401F842400028000201F8000010BFC12D +:102180004C14000059A8006D8000054004000005B3 +:102190008C142D2A040000030201F80000100CBB6F +:1021A0005C0028000401F8AE040000075932680AF8 +:1021B000593402008C00050E593004150202080043 +:1021C00000109BFD1C01F000420000000010D01B1D +:1021D0000201F8000010C0584933C857813261C06D +:1021E000020008000010032E0401F89D0400000BFB +:1021F0000201F8000010990404000008593258093F +:10220000592C02098400054E48025A09417A780087 +:102210000201F800001094881C01F000485FC857C4 +:102220005C0000004D7800004203E0005000000018 +:102230004200B800000080050201F00000100333E6 +:102240004933C85783300480000000200202180080 +:102250000010032E83300C000010D09050040000BA +:102260008000000004001002440008001C01F0007F +:102270004933C8570401F7F44807C85659B800EA6B +:102280008C000510040007FD59B800E04803C8574A +:102290001C01F0004803C856420000001000000076 +:1022A000413008000401F0298C00051002000000F4 +:1022B000000201144C0400000401F80B5C0008004B +:1022C00082100480000000080200100000020114C7 +:1022D0004C0400000401FE9D5C0008000201F000B7 +:1022E0000002011459B800E259B820E280100580BC +:1022F000040207FD801021140401F00140101800B1 +:10230000800C190A821005000000001F820C1D00BD +:102310000000001F800C2480821025000000001F98 +:102320001C01F00040680000406C08000401F80740 +:1023300042018800000000010402000342018800FD +:10234000000000001C01F00082000500F000000009 +:1023500082040D000FFFFFFF80040D404807C8579F +:10236000420010000010CF5F5008000080000540C0 +:10237000040200054A0370E5000000034A0370E40C +:102380000000030080000000440010004200100024 +:102390000000040059B800EA8C0005100400000C8D +:1023A0000401FFD18210048000000008040010071F +:1023B0004C0400004C0800000401FE645C001000A6 +:1023C0005C0008000401F02059B800EA8C000516F2 +:1023D0000402001D4A0370E400300000480770E169 +:1023E000420010000000FF008008104004000012AE +:1023F00059B808E48C040D28040207FC42001000C0 +:102400000010CF5F5008000080000040040200056B +:102410004A0370E5000000024A0370E40000020075 +:10242000020018000010032E440010008C040D2C34 +:102430001C01F00041F80000500000000201F8000B +:102440000010032E80081040040207D341F800005A +:10245000500000000201F8000010032E4D3800006B +:1024600059300C07820405800000000904020006B0 +:1024700042027000000000470201F80000020BC594 +:10248000800005805C0270001C01F0004C500000D0 +:102490004A03900D0000000159C8A0204A03900D86 +:1024A0000000000259C808208C50A52E040000022C +:1024B000900409C082040D000000FFFF0201F80033 +:1024C000001062A55C00A0001C01F00042000000AA +:1024D0000010D0120201F8000010C0580401FFECF7 +:1024E000040000574933C85759300407820005805B +:1024F000000000000400005259C820214A03900D3A +:102500000000000159C8282182142D000000FFFF9F +:1025100059325809812E59C0040000495932680ABD +:102520000201F800001049940202080000109BE527 +:10253000599C00198C00050C0402001E0201F800D1 +:10254000001049940402001B593008124807C8576C +:10255000592C04098C00051C040200148400055C3D +:1025600048025C09592C0A0582040D00000000FF96 +:1025700082040580000000480400000782040580F2 +:1025800000000018040000048204058000000068B8 +:1025900004020006593000120201F8000010A35393 +:1025A00080000D40480658034A0260127FFFFFFF7B +:1025B000593000088C0005160402002148166014EA +:1025C0000201F80000104994040000045930041579 +:1025D0008C00051C04000004599C00198C00050C9B +:1025E000040000170201F80000100F360402001466 +:1025F0000401FA8F402800004802600E0400000524 +:102600004832600C502000004802600B4822600DE8 +:10261000593004158C00051C04020004599C001953 +:102620008C00050C040208854A03900D0000004050 +:102630004A0370E5000000081C01F00042000000A1 +:102640000010D01B0201F8000010C0585988014E3C +:10265000800000004803114E4A03900D0000004026 +:1026600042000000C00000000201F0000002010E64 +:102670004CF8000058F400008001F5400401F820F7 +:10268000417818000401F9350402001444140800CC +:102690000401F82A04000011400438004200180028 +:1026A00000000001401420000401F92C0402000B7A +:1026B000801C3800501C0000440008000401F81081 +:1026C000801C05800400000444103800801C384041 +:1026D000441438000401F8195C01F0001C01F000FA +:1026E00080F9F1C00402000358F412020401F0035F +:1026F00042001000000000071C01F00080F9F1C04A +:102700000402000658F40401820004800000000264 +:1027100080F404000401F00558F8040182000480EC +:102720000000000280F80400500028008000000033 +:10273000500020001C01F00080F9F1C004020008E4 +:1027400058F4040182000480000000020200180016 +:102750000010032E4801EC010401F00B58F80401AD +:102760008200048000000002020018000010032E06 +:102770004801F4018200058000000002040200020A +:102780000401F81B58F40202800000404801EA02EC +:10279000020008000010032E8200058000000001E6 +:1027A0001C01F00082F40580FFFFFFFF0400000F12 +:1027B00058F40201820005800000DCB30202080028 +:1027C0000010032E58F400008001F54004000006BC +:1027D00058F80201820005800000DDB902020800FD +:1027E0000010032E0401F80A1C01F0004D2C00001B +:1027F00040FA58000201F800001005964979E800F7 +:102800004179F0005C0258001C01F00080F5E9C03D +:102810000400000980F9F1C004020FF54D2C0000FE +:1028200040F658000201F800001005964179E800D2 +:102830005C0258001C01F0004CF400000201F8009A +:10284000001049940402003659300808820405003B +:1028500000013100040200328C040D220400003219 +:10286000593000288001ED40020008000010032EBE +:1028700082000580FFFFFFFF0400002958F40201D9 +:10288000820005800000DCB3020208000010032E65 +:1028900058F40A02820405000000FFFE0400000351 +:1028A0000401FF7458F40A02820404800000000F3F +:1028B00004021095800408004805EA02820405809D +:1028C0000000000804000099820404800000000851 +:1028D0000400100A58F400008001ED4002000800D6 +:1028E0000010032E58F40201820005800000DDB9BB +:1028F000020208000010032E58F4040182000C00AC +:10290000000000024805EC0180F40400593008136F +:102910004404000080000000457800005C01E800ED +:102920001C01F000420010000000040059B800E44F +:102930008C0005240402005F4A0370E400030000D9 +:102940004000000059B800E48C0005240402005740 +:102950005930080884040D62480660084A0370E490 +:10296000000200004D2C00000201F800001005706C +:1029700004000061492E60284A025A010000DCB3BD +:102980005930000980001D40020008000010032E8D +:10299000580C081048065803580C02058200050020 +:1029A000000000FF8200058000000068040200377C +:1029B000580C1801800C19C0020008000010032EEA +:1029C000580C0C0682040D000000000382040580F0 +:1029D0000000000204020003592C08030401F02B3C +:1029E000580C2A07580C000859301812800C058022 +:1029F0000400002A82040580000000000400001288 +:102A0000401400004C080000400C10004178080001 +:102A10000201F80000106CDD800409C00202080009 +:102A20000010032E82140C00000000080201F800C0 +:102A300000106CBE5C00100040041800592C080304 +:102A40000401F02282140400000000084C08000079 +:102A5000400C1000417808000201F80000106CDD05 +:102A6000800409C0020208000010032E4014080070 +:102A70000201F80000106CBE5C0010004004180059 +:102A8000592C08030401F0115930181240040000B9 +:102A9000800C05800402000D497A5A024A025C014A +:102AA000000000040401F0114A0370E40002000079 +:102AB00040000000400000008008104002000800B4 +:102AC0000010032E0401F79A4A025A020000000186 +:102AD0004A025C0100000006497A5804400C0000DC +:102AE0008004048048025805412DE8005C0258002B +:102AF0000401F76D5C0258004A026028FFFFFFFFE7 +:102B00000401F7874D2C000058F658000201F80028 +:102B10000010059640F658000201F80000100596D6 +:102B20005C0258000401F7F54D2C00000201F8008A +:102B300000100570040007F84A025A010000DDB9D0 +:102B40004A025C0100000002492DE800412DE80026 +:102B50005C0258000401F7690401FEE282F40400FB +:102B600000000004800C0400400008005004000035 +:102B7000801005800400001682040C000000000292 +:102B800080081040040207FA80F9F1C00400001127 +:102B900058F41202820814800000000782F8040032 +:102BA00000000002800C04004000080050040000F7 +:102BB000801005800400000682040C000000000262 +:102BC00080081040040207FA0401F0021C01F00022 +:102BD00082000540000000010401F7FD4CF40000F4 +:102BE0004CF800004001E800812E59C00400002488 +:102BF000592C0A07800409C00402002182F40580D0 +:102C0000FFFFFFFF0400001B58F402018200058053 +:102C10000000DCB3020208000010032E58F400008C +:102C20008001F5400400000658F80201820005808A +:102C30000000DDB9020208000010032E41783800C0 +:102C400058F440030401F839040200090401FEF0BD +:102C5000497A60285930080884040D224806600823 +:102C60005C01F0005C01E8001C01F0000401FEE8DA +:102C70004A025A07000000110401F7F60401FECAD7 +:102C80000401F7F44CF400004CF800004001E800A7 +:102C900082040580000000010402002082F4058007 +:102CA000FFFFFFFF0400001A58F4020182000580B4 +:102CB0000000DCB3020208000010032E58F40000EC +:102CC0008001F5400400000658F8020182000580EA +:102CD0000000DDB9020208000010032E4178380020 +:102CE00058F440030401F811040200080401FEC86E +:102CF0004200080000000001497A60285C01F000F1 +:102D00005C01E8001C01F0000401FEC14200080063 +:102D1000000000110401F7F94C0400000401FEA2B8 +:102D20005C0008000401F7F54803C856401C200069 +:102D3000417818004C2000000401FF885C0040002E +:102D40000402002A40202000420018000000000178 +:102D50000401FF82040200250401FE6240082800ED +:102D600082F43400000000045018200040100000DD +:102D7000801C0580040000054200180000000001CE +:102D80000401FF76040200198218340000000002DA +:102D900080142840040207F580F9F1C004000012F5 +:102DA00058F42A0282142C800000000782F83400B4 +:102DB000000000025018200040100000801C058018 +:102DC0000400000542001800000000010401FF6338 +:102DD000040200068218340000000002801428401B +:102DE000040207F51C01F00082000540000000010C +:102DF0000401F7FD0201F8000010032E58380A05FF +:102E000082040D00000000FF820405800000001B0A +:102E100004000004820405800000002B040207F671 +:102E20005020000080387C00583C2800583C20018D +:102E3000583C1002592C0A085838301059303808BC +:102E4000497A6013497A60140201F0000002015DC2 +:102E5000592C020B8C000502040007E7497A601325 +:102E60000201F80000101126412C700059300008B2 +:102E70008400055648026008820405000000000F27 +:102E800082000C0000100F1650044000802040000B +:102E90005020000080187C00583C2800583C20013D +:102EA000583C100258380A0858384C09401870002D +:102EB0005818300859303808497A60140201F00077 +:102EC0000002015D592C040B8C0005000200080073 +:102ED0000010032E592C000E480260130401F7E184 +:102EE000583802088C000502040007C35020000077 +:102EF00080387C00583C2800583C20015838040594 +:102F000080001540040200025838140858C83401E3 +:102F100058380C0959303808497A6013497A6014D6 +:102F20000201F0000002015D592C04098C00050229 +:102F3000040007B1592C040A80000540040007AEC4 +:102F400082000C80000000020400101158380001BB +:102F500080007540020008000010032E583802055A +:102F6000820005000000000F8200040000100F1610 +:102F70005000400040040000800409C00400000527 +:102F800082040C8000000005040217F18020440038 +:102F90005020000080387C00583C2800583C20011C +:102FA000583C1002592C0A08592C4C09592C300E47 +:102FB00059303808497A6013497A60144816600F0E +:102FC00048126010480A6011481A601280040840D4 +:102FD0004806600E020000000002016580204000EB +:102FE00050201800800C19C00402000C5838000151 +:102FF00080007540020008000010032E58380205BA +:10300000820005000000000F8200040000100F166F +:103010005000400050201800483A600C480E600BE9 +:103020004822600D0201F000000201654803C85605 +:10303000592C02098C00051E0402001750200000C4 +:1030400080306C00402400000C01F00100100C23C3 +:1030500000100C2300100C2C00100C2300100C236B +:1030600000100C2300100C2300100C2300100C2C5B +:1030700000100C2300100C2C00100C2300100C234B +:1030800000100C2C00100C2300100C230201F8007F +:103090000010032E8400051E48025A09502000002B +:1030A00080306C0058343801481E60100401F0076D +:1030B000583418025834280058343801480E60112A +:1030C0004816600F481E60100401F2C24933C85709 +:1030D0005931F80959301006800811C00400000B5E +:1030E00041780800420000000000000A0201F800D8 +:1030F00000106CDD80080102040200028400154209 +:10310000800810404809FC074A02600600000002DF +:10311000592C040A82000500000000080400000B7E +:103120000401F839593002038200058000000004D0 +:103130000402000542027000000000480201F8008D +:1031400000020BC51C01F0004CFC000058FC0205FD +:1031500082000500000000FF82000580000000489A +:103160000402000958FC04098C0005000400000654 +:1031700058FC080C8C040D160400001F58FC0008B5 +:103180000401F00A58FC04098C0005120402001C1A +:1031900058FC0C0A8C040D16040200035C01F800B4 +:1031A0001C01F00058FC000B4C0000004D2C0000EE +:1031B00040FE5800593000120201F8000010A353DD +:1031C0005C02580080000D405C0000008004058017 +:1031D0000402000959300008840005004802600814 +:1031E00042027000000000485C01F8000201F0009B +:1031F00000020BC55C01F8001C01F00058FDF80A44 +:103200000401F7E45C0000004C0000004803C857CC +:103210004933C85759B808EA82040D000000000776 +:10322000820405800000000004000025820405805F +:103230000000000304000022593004074C00000085 +:103240004A02640700000000420030000000004114 +:103250004A0370E50000300042000000500000000A +:10326000413008004C1800000401FC385C003000BC +:103270000400000E420000000000001E800000401C +:10328000040207FF80183040040207F442000000E7 +:1032900040000000413008000401FC2C598801481E +:1032A00080000000480311484A0370E50000200038 +:1032B0005C000000480264071C01F000593000085F +:1032C00084000500480260080401F7FC59C00007AB +:1032D0004A038006300000004000000059C000078B +:1032E0008C00050A040207FE1C01F0005C000000CF +:1032F0004C0000004803C8574200080000000001CD +:103300000201F80000101C014DC000004A0370E8E3 +:103310000000000042038000000077200401FFEC61 +:1033200042038000000077000401FFE90201F80079 +:1033300000105155040200174A0388910000FFFF56 +:10334000497B88804CE800004201D0000000001654 +:103350000201F8000010669E497B88924201D0006D +:10336000000000160201F8000010669E5C01D0000B +:10337000420000000010D0660201F8000010C058A2 +:103380000401F8125C0380000201F0000010528179 +:103390000401F8304C0800004C140000420000000A +:1033A0000010D0670201F8000010C0580401F807AF +:1033B0005C0028005C00100048178892480B888049 +:1033C0005C0380001C01F000496FC857836C0580C6 +:1033D000000000030402000B4C0800004C0C00002D +:1033E0004200100000008048420018000000FFFF6B +:1033F0000201F800001039D45C0018005C001000D5 +:10340000420008000000003C0201F800001012F326 +:1034100059A8006D800005400400000559A8106EF1 +:10342000800811C00202080000101B6C4A0388913A +:103430000000FFFF4A03900D000000400201F80069 +:10344000001006A24A0370E8000000011C01F00011 +:103450005C0000004C0000004803C85759C41080AD +:10346000497B88804CE800004201D0000000001633 +:103470004C0800000201F8000010669E5C0010007D +:103480005C01D00059C42892497B88920201F8005F +:1034900000105155040200021C01F00042002000FF +:1034A0000000026059C418A4820C1D000000000F27 +:1034B000820C0580000000000400001059C41805AB +:1034C000820C1D00000000010402000E59C418A463 +:1034D000820C1D000000000F820C04800000000719 +:1034E00004001004820C04800000000C040010038F +:1034F00080102040040207EC497B88911C01F000F9 +:103500004C10000042002000000000194A0388050A +:10351000000000010201F8000010195C59C41805F0 +:10352000820C1D00000000010400000580102040F6 +:10353000040207F75C0020000401F7F05C002000A3 +:103540000401F7EC4803C8561C01F00000100D639D +:1035500000100D6300100D6300100D8700100D6347 +:1035600000100D6300100D6300100D6300100D635B +:1035700000100D8700100D6300100D6500100D6325 +:1035800000100D6300100D6300100D630201F800C0 +:103590000010032E820405800000001B0400001AA6 +:1035A000820405800000002B0400001782040580BF +:1035B0000000003B020208000010032E592C020BF1 +:1035C0008C0005000400008D592C1A0882040500A7 +:1035D0000000000F8200040000100F1650001000C1 +:1035E00050080000593020144802600B492E600C2E +:1035F000480A600D480E600E481260135C025800C5 +:103600001C01F000592C001048026012592C0011C6 +:1036100048026014592C1A080401F7ED82040500D1 +:103620000000000F8200040000100F165000100070 +:1036300050080000592C1A084802600B492E600CF3 +:10364000480A600D480E600E497A60130401F7ECD9 +:103650008C040D000402006982040D00000000804B +:10366000040000660201F000000201780401FB8BF7 +:10367000843C7D4E0201F000000201850401FB87BD +:10368000843C7D4E0201F000000201A0593000147C +:1036900059301013800805800402001859300004C6 +:1036A0008C00050E0400000A59300014800005400B +:1036B0000402000442007800800000A50401F04CE0 +:1036C00042007800800000850401F0034200780089 +:1036D00080000005592C120982080500FFFF7FFFBA +:1036E00048025A098C08151E04020041823C7D40A4 +:1036F000000000200401F03E480BC85742000000C3 +:103700000010D0130201F8000010C05859302014E6 +:10371000593004154803C8578C00051404020011E1 +:10372000599C18198C0C1D120400000B592C081000 +:103730005930001680040C800400000504001004B9 +:1037400080040000801404800400100A0201F800C4 +:1037500000107F82820C1D40000000010401F02651 +:103760008400051448026415481260164813C857AF +:103770000401F95A04020020593000048C00050E9F +:103780000400000442007800800000850401F0037A +:1037900042007800800000055930500E592C020973 +:1037A0004803C8578C00051E04020005823C7D407A +:1037B000000000205930400D0401F0048400051E73 +:1037C00048025A090401F90350201800480E600B02 +:1037D0004832600C4822600D482A600E480FC857D6 +:1037E0004833C8574823C857482BC857800005801E +:1037F000483E60041C01F0000201F8000010032E96 +:103800004933C8574D2C0000599000048130058081 +:10381000020208000010032E0201F80000109904B3 +:10382000020008000010032E593258094D3C0000D8 +:103830004D400000593000044803C8574C000000B8 +:103840000201F800001070BA0201F80000106DB11A +:103850005C0000008C00051604000011592C0010BB +:103860004803C857480258084178080042028000BF +:10387000000000020201F80000104E754A025C07C9 +:103880000000FFFF492FC8570201F800000203F1B2 +:103890000201F80000107EFF0401F0184A026203E2 +:1038A00000000002592C02098C00051204020004D9 +:1038B000592C02098400054E48025A095930040760 +:1038C000820005800000000604020009811800CA79 +:1038D00081C80C0058040939592C000E800404805A +:1038E000592C0810800404804802580C417A780052 +:1038F0000201F800001094885C0280005C027800ED +:103900005C0258001C01F0004933C8574D2C0000E0 +:103910005990000481300580020208000010032E37 +:103920000201F80000109904020008000010032EA4 +:1039300059325809592C02098400054048025A0995 +:103940000401F7BB491BC8574DD000004C5800007C +:10395000417808008007A0CA83D3A4000000760045 +:103960004200B000000007D0599C00198C000506E9 +:10397000040200034200B000000003E84A03A0056F +:10398000800000020402400D4C04000002004800C8 +:1039900000020A845C0008004200000000001000E1 +:1039A0005000000082000480243200010400100353 +:1039B0008058B0400400001659D010068208050057 +:1039C0000000600082000580000060000400000725 +:1039D0008C08151E040007EC59D01006820805005B +:1039E00000006000040207E883D3A4000000002068 +:1039F000800408008204048000000005040017D938 +:103A00005C00B0005C03A0001C01F0004118000045 +:103A10008004058004000008420030000010CC9BA8 +:103A2000581804018C000504040007F0850E1D6E73 +:103A30000401F7EE4A03A0053000000059D000064B +:103A40004A03A0053000000059D00006497BA003BE +:103A5000497BA0074A03A005F000000142001800BE +:103A60000000800059D000068C00050A0400000503 +:103A7000800C1840040207FC0201F8000010032E1D +:103A80004A03A005F000000059D00006850E1D2E47 +:103A9000800410C8820814000000BF3258081804BF +:103AA000800C19C0040007D1580C0004840005766E +:103AB000480018044933C8570401F7CC4803C856D6 +:103AC0004DD00000417808008007A0CA83D3A4002D +:103AD000000076004A03A0058000000159D00006CE +:103AE00083D3A40000000020800408008204048026 +:103AF00000000005040017F85C03A0001C01F000A2 +:103B000059D000068C00053E04000031599028046D +:103B10004817C857801429C0040000265990000A8D +:103B20005990080B5990100C5990180D4800280B0B +:103B30004804280C4808280D480C280E59D00000CD +:103B400059D0080159D0100259D0180359D0200477 +:103B50004800280F4804281048082811480C28124B +:103B600048102813581400048C00050E040000119E +:103B700059D0000B59D0080C59D0100D59D0180E3F +:103B80004800281E4804281F48082820480C2821DF +:103B900059D0000F59D0081059D0101159D018120F +:103BA00048002C224804282348082824480C2825AB +:103BB0005990000682000500FFFF00004803200620 +:103BC0004A03A0053000000059D000061C01F00097 +:103BD0004803C85680204000502000008000054067 +:103BE00004000003802850401C01F0005830000100 +:103BF000800005400400000E4802600C4000600098 +:103C000058300205820005000000000F8200040009 +:103C100000100F1650004000802041C00200080034 +:103C20000010032E802850401C01F000400050007E +:103C30001C01F00000000006000000090000000C5C +:103C40000000000F00000012000000000000000053 +:103C50000000000C00000000000000000000000058 +:103C600000100F1100100F100000000000000000F5 +:103C7000000000000000000000100F1100100F10E5 +:103C800000100F0D00100F1100100F1000000000A9 +:103C90000000000000000000000000000000000024 +:103CA00000100F11000000000000000000000000E4 +:103CB000000000000000000000100F1100100F11A4 +:103CC00000100F110000000000100F110000000094 +:103CD00000000000000000004813C857492FC857D3 +:103CE0004933C85748126013592C5208802851C0D4 +:103CF00004000075593000088C00051604000020EF +:103D0000592C0205820005000000000F820005808A +:103D10000000000204020003592C000E80102480D1 +:103D2000801021C04178100004000012592C60015D +:103D30005830040658300A078200050000000003CE +:103D400082000580000000000400000382040C00D3 +:103D500000000008400400004010100041780800F6 +:103D60000201F80000106CDD800409C00402005656 +:103D70000401F9F90400004C0401F0535930000427 +:103D80008C00050E040000070401FA890402004EAD +:103D9000592C60014200400000100F0E0401F00C8D +:103DA000412C60000401F84B0400000982240580C6 +:103DB00000000002040200035830000E801024802E +:103DC00050200000800045400400003F50200000CB +:103DD000800005400400000B8030140058080002E9 +:103DE000801024800400101E801021C004000009EF +:103DF0008028504004000034802040000401F7F483 +:103E000058300001800065400400002F0401F7E6EF +:103E1000802850400400002C8020400050200000EA +:103E2000800005400402000A58300001800065400F +:103E3000040000255830020582004D000000000FEC +:103E40008224440000100F1650204000592C020913 +:103E50008400051E48025A090401F01380102080D6 +:103E600080102000481260114813C85758080802F3 +:103E70004010000080042480020018000010032E6F +:103E80005808000058081801801024004812600FDC +:103E9000480E60104813C857592C02098400055E6B +:103EA00048025A094833C8574823C857482BC857AF +:103EB0004832600C4822600D482A600E8000058060 +:103EC0000401F00382000540000000011C01F00025 +:103ED0005830020582004D000000000F822444008B +:103EE00000100F1682000500000000FF8200058010 +:103EF000000000290402001B50204000592C040A35 +:103F000080000540020008000010032E82000C8093 +:103F100000000002040010115830000180006540CC +:103F2000020008000010032E583002058200050030 +:103F30000000000F8200040000100F165000400027 +:103F400040040000800409C00400000682040C80C4 +:103F500000000005040217F1802044008000058065 +:103F60001C01F0004C5C000059E4B800485FC857E1 +:103F7000825C05000000001F0400000459E4086290 +:103F80000201F8000010032E825C0500000000E032 +:103F9000020008000010032E8C5CBD0E040208070E +:103FA0008C5CBD0C040208098C5CBD0A0402087319 +:103FB0005C00B8001C01F0004803C8564A03C80062 +:103FC000000000801C01F0004D2C00004200780031 +:103FD0000010D0BB583C0003583C08048004054046 +:103FE0000400003A420008000010CF5C5006580060 +:103FF000592C0002820005800000000004000033FC +:1040000059E4005059E408528004048082000500FD +:10401000FFFFFC000402000559E4005059E4085178 +:10402000800408008004048082000C8000000400EA +:1040300059E4005080041400480BC8575008000091 +:10404000580808018004054004000020480BC857A8 +:10405000480A5803583C1009583C000A800805805B +:1040600004020005583C0000840005504800780018 +:104070004178100082080400000010004803C8576F +:1040800048007809583C000380081400480BC857C2 +:10409000583C08044A025801000000004A0258082F +:1040A00000101036480A58064806580759E40053CD +:1040B000800000C448025805412C1000492FC85701 +:1040C0000201F800000200165C0258004A03C80012 +:1040D000000000401C01F000420078000010CF5C9E +:1040E000503C78004A00780200000100420078004D +:1040F0000010D0BB583C00008400055248007800F6 +:10410000583C100C480BC857800810004808780C21 +:10411000583C180B800C19C00400001782080500D9 +:104120000000000304020014583C00074803C8576D +:10413000583C20084813C857801020008010058084 +:10414000040200024178200048107808400C00006A +:1041500080080580040200084978780C42001800A5 +:104160000000000142001000000080280201F80059 +:10417000001039D41C01F0004A03C80000000020E0 +:104180000201F8000010C05059E400001C01F000CA +:104190004200000000001000500000008200048077 +:1041A000243200010400100D0201F8000010C17B50 +:1041B000040000084200000000007A425000700035 +:1041C0008C38752004020003843875604438000080 +:1041D0004A030000000000001C01F0004D2C00000C +:1041E0004A0070000000000082040D0043000F80B0 +:1041F000020208000010032E583800084803C00FC0 +:10420000583A5807592C0801800409C004000013CB +:10421000592C00004800080058380006812C058001 +:10422000040200024804700648047007420020009F +:10423000000000010201F8000010B54E0200080065 +:104240000010032E0201F800001005965C025800D1 +:104250000201F000001006234A0370E40000300061 +:104260000201F80000109D49583A5807592C0000E7 +:1042700048007007800001C00402000249787006FF +:104280000201F800001005965C0258004200700020 +:1042900000020CF40201F0000002002C4803C85692 +:1042A0004C3C00004D2C00004D30000058300009FF +:1042B00080025D40020008000010032E592E6009A4 +:1042C0004C3000000201F80000109D695C006000A5 +:1042D000020008000010032E583000028200058002 +:1042E000000001000402000F5930780C583C000116 +:1042F00080007D400400000E4802600C8200040033 +:104300000000000248006003583C000048006005BF +:10431000403010000201F800000200160401F00C09 +:104320004A025A0700000002492FC8574C300000CB +:104330000201F800000203F15C0258000201F800DB +:10434000001005960201F80000020BA15C0260005B +:104350005C0258005C0078001C01F0004803C8565D +:104360004D2C00004D3000004200700000020CF4A3 +:104370005838080082040580000000020402001181 +:104380005838600158300009812C05800402000D66 +:1043900059E000048C00050E040007FE59DC0006FD +:1043A0004803C8574A03B805200000008C00053EAA +:1043B000040007F84A007000000000000401F01932 +:1043C0005838600540305000803061C0020008005D +:1043D0000010032E58300009812C058004000004D1 +:1043E00040305000583060000401F7F840280000C9 +:1043F000803005805830000004000006480050005E +:10440000800001C004020007482870040401F00580 +:10441000800001C0040200024800700448007005DA +:10442000403258000201F800001005965C0260005E +:104430005C0258000201F0000002002659300024FE +:1044400048025811593000254802581259300A22A2 +:104450008C040D0C040200075930001F59300A204B +:10446000800408E0800405405930081E0401F0066D +:104470005930081F59300220800408E080040D40A4 +:104480005930001E9C0001C09C0409C0480258130A +:10449000480658141C01F000592C000180003540DA +:1044A000020008000010032E58180A0582040D00AF +:1044B000000000FF820405800000004A020208009C +:1044C0000010032E592C1012592C1A1358182206BA +:1044D000592C2C13592C0014800000E080142D401E +:1044E000592C001480003920581844065818020727 +:1044F000800048E080244D40581800084802602998 +:104500008C20450C04020009901C51C0841401C089 +:1045100082003D000000FFFF80140120802805403C +:104520009C0029C00401F0039C1429C0841C39C0DC +:10453000480A601E480E601F48126420481262201C +:1045400048166021481E64224822622248266023C1 +:104550001C01F000592C0001800065400200080099 +:104560000010032E58300A0582040D00000000FFE1 +:10457000820405800000004A020208000010032E99 +:1045800058302C068C142D06583002060400000208 +:104590008008040048026420480262205830020764 +:1045A000800008E080040540480260238C142D0A36 +:1045B00004020004592C0012800804004802601E06 +:1045C00082142D0000000003583032078214058049 +:1045D00000000002040000118214058000000001A8 +:1045E00004000009400808008218040000000008C8 +:1045F000400010000201F80000106CBE40042000D2 +:104600000401F00640080800401810000201F800FC +:1046100000106CBE400420004C1000000401FE2D70 +:10462000020008000010032E5C0020005020000053 +:10463000800045400400005B58300A0582040D00EC +:10464000000000FF820405800000004A040200020E +:104650008020400050200000800005400400000B36 +:104660008030140058080002801024800400101EBE +:10467000801021C004000009802850400400004937 +:10468000802040000401F7F45830000180006540AC +:10469000040000440401F7E1802850400400004178 +:1046A0008020400050200000800005400402000AE5 +:1046B00058300001800065400400003A583002057F +:1046C00082004D000000000F8224440000100F16ED +:1046D00050204000592C02098400051E48025A0946 +:1046E0000401F01180102080801020004812601119 +:1046F0004813C8575808080240100000800424805E +:10470000020018000010032E58080000801024003A +:104710004812600F4813C857592C02098400055EDF +:1047200048025A09593000088400052C48026008E4 +:10473000592C1001580804068200050000000003EF +:10474000820005800000000104020014599C001939 +:104750008C00050C04020011822805800000000175 +:1047600004020003593008110401F00880280840B1 +:1047700058080207400010000201F80000106CBE4B +:104780005930001180040C004806601259300008AE +:104790008400056C48026008800005800401F00375 +:1047A00082000540000000011C01F000592C680146 +:1047B000803469C00400001A592C020582000500EB +:1047C000000000FF82000580000000720402000368 +:1047D000592C000E80102480583478025834740606 +:1047E00082380500000000030C01F00100101202E5 +:1047F000001011FF0010120500101207803C00C6C7 +:10480000801024000401F004803C00C68010248045 +:1048100004001003800005801C01F00082000540A8 +:10482000000000011C01F0004803C85642000800C7 +:104830000000003C4807900059C8000080040500B3 +:10484000040207FE497B90054A0390350088020068 +:1048500059A8000D800000E04803900E4A03901113 +:104860000000002C4A03900F001116844A03901098 +:10487000001116844A0390150000007F4A03900D32 +:10488000000000404A039000000016001C01F000E8 +:1048900059C800078C000508040208C959C8080057 +:1048A0008C040D16040200048200050000000006BE +:1048B0000C01F0054807C857820005000000000EF3 +:1048C0000C01F001001012430010124100105D9025 +:1048D0000010124100101245001012410010124544 +:1048E0000010124500101241001012410010124138 +:1048F0000010124100101245001012410010124524 +:10490000001012410201F8000010032E4803C8579E +:104910001C01F00059C8080C4807C857820405005C +:1049200000006000040000040201F8000010C01341 +:104930000401F00682040500007F00000400000668 +:104940000201F8000010BFE50201F800001071C676 +:104950000401F03C8204050000000014040000146F +:104960000201F8000010C042836C058000000003C3 +:104970000400000D0201F80000105155040000046D +:104980000201F800001041300401F0074A035014FE +:10499000000000014202D800000000010201F800FE +:1049A000001050AF0401F8280401F026820405002D +:1049B00000001C00040000050201F8000010C021E6 +:1049C0000401F8210401F01F8204050000000140E9 +:1049D000040000050201F8000010C0340401F81AB8 +:1049E0000401F01882040500000080000400001596 +:1049F0000201F800001051550400000F59C400A432 +:104A0000820005000000000F820005800000000BFE +:104A1000040200094C0400000201F8000010414C9F +:104A2000420000000000001E80000040040207FF5A +:104A30005C0008000201F8000010C00C0401F8023C +:104A40001C01F0004C0C00004C1000004C14000045 +:104A50000201F80000100CBB5C0028005C00200084 +:104A60005C0018001C01F0004803C85659A808044F +:104A700059A8002082000500FFFFF00080040540D7 +:104A80004803502059A8002482000500FFFFF000D1 +:104A900080040540480350244807888282041C0093 +:104AA0000000000F800C1908820C1C00000000049C +:104AB000400C2000901029C082040480000001E412 +:104AC000040210054200100000000008801020C6FB +:104AD0000401F03182040480000002300402100955 +:104AE0004200100000000007801000C2800000C2D9 +:104AF0008010040080100400801024000401F026BF +:104B00008204048000000298040210084200100091 +:104B100000000006801000C2800000C28010040067 +:104B2000801024000401F01C82040480000003288B +:104B3000040210074200100000000005801000C2AF +:104B4000800000C2801024000401F013820404805D +:104B500000000404040210054200100000000004DC +:104B6000801020C40401F00C820404800000056C55 +:104B7000040210064200100000000003801000C272 +:104B8000801024000401F004420010000000000224 +:104B9000801020C28210048000000110800000807C +:104BA00080002000800800D080140540801005405F +:104BB00048039035480350751C01F00059C808158A +:104BC0000201F80000100323406808004807C85796 +:104BD00082040D000000007C4807900059C80000C6 +:104BE00080040500040207FE8C040D040400000389 +:104BF00059C800354803903559C800008200054067 +:104C000000001200480390001C01F0004803C85641 +:104C1000497B88A94A03880700000001497B88076F +:104C200059C40005480388050201F8000010184225 +:104C30004201D000000001F40201F8000010669E5D +:104C4000497B880E4200B000000001F442000000E1 +:104C50000000000142000800000000140201F800FA +:104C60000010196B42000800000000140201F80057 +:104C7000001019638C040D00040000058058B0403A +:104C8000040207F30201F8000010032E4200B000F6 +:104C90000000003242000000000000014200080055 +:104CA000000000B40201F8000010196B4200080077 +:104CB000000000B40201F800001019638C040D001C +:104CC000040000058058B040040207F30201F80018 +:104CD0000010032E59C40005480388054200000057 +:104CE0000000008359E0080382040D000003000067 +:104CF00082040D8000020000040200034200000054 +:104D000000000089800008D04A0350440000890058 +:104D10004A035045000089004807504642000800F9 +:104D2000000000E00201F8000010196B42000800CA +:104D3000000000F40201F80000101963820405006D +:104D4000FFFFFFD182000540000000024200080082 +:104D5000000000F40201F8000010196B4200080086 +:104D6000000000A00201F800001019638204054051 +:104D70000000000142000800000000A00201F8004D +:104D80000010196B42000800000000000201F8004A +:104D90000010196382040540000000014200080071 +:104DA000000000000201F8000010196B4201D00061 +:104DB0000001D4C00201F8000010669E0401FA6DE3 +:104DC0004A0388A70000F7F74A0388A38000403C05 +:104DD0004A0388AE000061A84A03880100032063EB +:104DE0004A038810004101084A038811005206084E +:104DF0004A038812004503204A038813004404052F +:104E00004A03881C004132E14A03881D004001FE2C +:104E10004A038850800001084A03886000000008A7 +:104E20004A038870000000084A0388518000050882 +:104E30004A038861008000004A03887100800000F6 +:104E40004A038852800007084A03886200800000F5 +:104E50004A038872008000004A03885380000608D5 +:104E6000497B88634A038873008000004A03888274 +:104E7000000008404A0388A5000000FE4A0388A6F7 +:104E80000000001E4A0388B0000075304A03880203 +:104E90000000FFFF4A038806C0E008001C01F00084 +:104EA000850E1D4E42000800000000400201F8007F +:104EB0000010196382040500FFFFFFAF8200054068 +:104EC0000000000042000800000000400201F8005D +:104ED0000010196B42000800000000F40201F80005 +:104EE000001019634C0400004004000084000548D1 +:104EF00042000800000000F40201F8000010196BE5 +:104F000042000800000000000201F80000101963D0 +:104F100082040500FFFFFFC1820005400000003849 +:104F200042000800000000000201F8000010196BA8 +:104F30005C00000042000800000000F40201F000E4 +:104F40000010196B59C4080559C4000680040D00EF +:104F5000020008000010032E8204050000E0080093 +:104F6000040200048C040D3E040208F90401F00759 +:104F700082040500008008000202080000100323DC +:104F80000201F8000010032E4C5C00004C60000091 +:104F900059C4B80559C400068C000500040000037C +:104FA0008C5CBD00040200A2485FC8570201F800F3 +:104FB000001051550400001E59C400058200050070 +:104FC000000000C0040000540201F80000105180ED +:104FD0000402005159C4000682000500000000F0E0 +:104FE000040200044A038805000000C00401F04ADE +:104FF00059A80015840005064803501542006000BA +:10500000FF203FFF42006800400000000201F8005E +:10501000001042CC420008000000001042001000C6 +:10502000001042150201F800001066938C5CBD343C +:10503000040200394A0350130000AAAA59C400050B +:105040008C00050C040200128C00050E0402001CEA +:105050008C00050A040200268C0005080400000BE1 +:1050600059A8001182000580000000090402000711 +:10507000420000000010CF780201F8000010C05874 +:105080000201F8000010539B0401F0674200000089 +:105090000010CF860201F8000010C05841781800B7 +:1050A00042002000000000010201F80000101C680E +:1050B0004A035014000000000401F01442000000F4 +:1050C0000010CF870201F8000010C0584178180086 +:1050D00042002000000000020201F80000101C68DD +:1050E0004A035014000000020401F00842000000CE +:1050F0000010CF7A0201F8000010C0580201F80039 +:10510000001053290401F0480201F8000010540671 +:105110000401F0458C5CBD340400004159C4000515 +:105120008C00053A04020005420000000010CF6E1A +:105130000201F8000010C0584A0388052000000052 +:105140000201F80000105155040200154A038805B9 +:105150000400000059C418A842002000000000000C +:105160000201F80000101C680201F80000105171E3 +:10517000040200084A035014000000014202D80053 +:10518000000000010201F800001050AF0401F06DB2 +:10519000417800000201F800001051260201F800D9 +:1051A00000101A5F4000C0000201F8000010198AC8 +:1051B000836C1580000000040402000C8C5CBD00B0 +:1051C000040200178D0E1D060402000559C410A329 +:1051D0008208154000000008480B88A359C4100637 +:1051E00084081540480B88064A038805040000001F +:1051F0004202D80000000001497B50108D0E1D189E +:10520000040200054803C856850E1D060201F80079 +:10521000001041510201F80000103B0A8C5CBD3CBB +:10522000040208668C5CBD000400004342000000DC +:105230000010D08B0201F8000010C0584A03880506 +:10524000000000014200B000000003524201D00003 +:10525000000000644C5800000201F8000010669E37 +:105260000201F8000010191A5C00B00004000004EC +:105270008058B040040207F60401F0044A03880590 +:10528000000000010401F02C59C400068400050050 +:105290004803880659A808788C040D3E04000005D0 +:1052A00082040D400000000B48075078850E1D4811 +:1052B0000201F800001071F4497B888059C4000D88 +:1052C0008C000506040000064200200000000005D6 +:1052D0000201F800001054660401F00542002000AD +:1052E000000000060201F8000010546659C400A333 +:1052F00082000500FCF8FFFF480388A34A035058CA +:10530000000000024202D800000000044A038805A1 +:10531000000000010201F800001004550401FB7BAD +:10532000497B50364A035043000000010201F80057 +:1053300000110E67825CBD00BBFFFFFE485F880561 +:105340005C00C0005C00B8001C01F0004D180000BB +:1053500059C41004480BC8578C08150004000006F7 +:105360004803C856497B28070201F800001072BAAA +:105370000401F00982080500000001F004000006A5 +:105380004803C8560201F800001074F60202080033 +:10539000001072E24A038805800000005C023000C1 +:1053A0001C01F00059C408A34807C85784040D40E5 +:1053B000480788A31C01F0004D9000004DD000006C +:1053C0004DA400004D1400004A0388054000000071 +:1053D000420000000010CF800201F8000010C05809 +:1053E0000201F80000106E8159C410048C081500E9 +:1053F00004000055598E600F497B2807813261C037 +:10540000040000325930040382000580000000329D +:105410000402002E5930001D480388334A038807D0 +:10542000000180004201D000000000020201F800EB +:105430000010669E497B88074201D00000000002F0 +:105440000201F8000010669E0201F8000010711EB3 +:105450004201D000000075300201F8000010669E85 +:1054600059C408A482040D000000000F82040D80BE +:1054700000000000040000054200000000200000C1 +:105480000201F800001019700201F80000106DD13F +:105490005930000980000540020008000010032E6A +:1054A000400258004A025A05000001035931D82A27 +:1054B00058EF400A58EC00080801F8000201F80013 +:1054C00000020BA10401F047598C001182001C80DE +:1054D000000000C8040210108000000048031811EA +:1054E00059C400A4820005000000000F820005805E +:1054F000000000020402000542000000002000003D +:105500000201F800001019700201F8000010663B5B +:105510000401F0344933C8570201F8000010711E2D +:10552000813261C00400002F4A02620300000001C2 +:1055300042027000000000270201F80000020BC5C3 +:105540000401F0280201F800001074F604000025A0 +:105550000201F800001075360201F80000106665BF +:1055600059926004813261C00400001342001800A7 +:10557000000000C80201F800001074EA0402000EE6 +:1055800059C400A4820005000000000F82000580BD +:10559000000000020402000542000000002000009C +:1055A0000201F800001019700201F80000106640B6 +:1055B0000401F00C4933C8570201F800001070BA1A +:1055C000813261C004000007420270000000004FF9 +:1055D0004A026203000000030201F80000020BC54A +:1055E0005C0228005C0348005C03A0005C03200010 +:1055F0000201F00000106E6E40680000810C0D800A +:105600008C040D0E040000534803C8578D0E1D0E68 +:1056100004000023850E1D0E497B505842000000F7 +:105620000010CF670201F8000010C0580201F80016 +:105630000010C10C420010000000801159C400018C +:10564000820005000001800082001D800000000033 +:105650000400000982001D80000080000400000991 +:1056600082001D8000010000040000090201F80012 +:105670000010032E42001800000000000401F00694 +:1056800042001800000000010401F003420018006D +:10569000000000030201F000001039D4850E1D4EF9 +:1056A00059A80858800409C00402000759C4000D15 +:1056B0008C000520040000044200180000000003D4 +:1056C0000401F002400418000201F8000010C0F0CC +:1056D000420010000000801259A828788C142D3E3A +:1056E0000400000682142D00000000030201F800EF +:1056F000001039D50401F0030201F800001039D47C +:105700000201F800001004550201F8000010C16009 +:10571000040200104D20000042024000000000FF83 +:105720000401F85A5C0240004D4000004D3C00006E +:1057300042028000000000284202780000000008B9 +:105740000201F8000010FFF25C0278005C028000A9 +:105750001C01F0004803C8578200040000102142D9 +:105760005000080082040D00000000FF1C01F00042 +:105770004803C8564C5800004200B000000000101A +:10578000497B88AC497B88AD8058B040040207FE55 +:105790005C00B0001C01F000406808004807C857D2 +:1057A00080041908480F88AC820425000000000F0F +:1057B000821024000010C1A15010200059C400AD77 +:1057C00080100540480F88AC480388AD0201F800FE +:1057D0000010C18D040000024807500F1C01F000AA +:1057E0004807C85780041908480F88AC8204250070 +:1057F0000000000F821024000010C1A150102000F2 +:1058000059C400AD8010150004000004801005800C +:10581000480F88AC480388AD1C01F0004803C85706 +:105820004C0800004C0400004C00000059C40892D1 +:105830004807C857800415800400001080041480B5 +:105840000402100780081080800810004008B00093 +:1058500042000000000002010401F0044008B00012 +:105860004200000000000210480388868058B040C3 +:10587000040207FE497B88865C0000005C0008008B +:105880005C0010001C01F0004803C8568D0E1D205E +:1058900004000005420280000000002E0201F0001A +:1058A0000010B22C1C01F0000401F8034005880030 +:1058B0001C01F00059A808708204050000000010C7 +:1058C0000400000442000800000000020401F0107F +:1058D00082040500000000204200080000000002D1 +:1058E0000402000B59C8083582040D0000001F0097 +:1058F000800409108004080059A8006D800005404C +:1059000004000003420008000000025A4807C8577C +:105910001C01F0000401F8074201880000000001AA +:105920000400000342018800000000001C01F00098 +:105930004C00000059A800374803C8578200058072 +:10594000000000005C0000001C01F0000401F807EA +:1059500042018800000000010400000342018800A9 +:10596000000000001C01F0004C00000059A80037A6 +:105970004803C85782000580000000015C00000059 +:105980001C01F0000401F80742018800000000013A +:105990000400000342018800000000001C01F00028 +:1059A0004C00000059A800374803C8578200058002 +:1059B000000000035C0000001C01F0000401F80777 +:1059C0004201880000000001040000034201880039 +:1059D000000000001C01F0004C00000059A8003736 +:1059E00082000580000000025C0000001C01F00045 +:1059F0004C0000004C0400004C0800004C38000033 +:105A000059A8003A82000C8000000007020218002A +:105A10000010032E0C01F8065C0070005C00100002 +:105A20005C0008005C0000001C01F00000101692F1 +:105A3000001016A5001016B9001016BB001016E3D2 +:105A4000001016E5001016E74803C8564A03503CFC +:105A50000000000042000000000000020401FA32D1 +:105A600042000000000000020401F9B50401FAB18F +:105A70004803C8564A03503A000000064200080096 +:105A80000000001E42001000001016E80201F000A5 +:105A900000106675497B503F4A03503400000036C1 +:105AA0004A0350330000002A4803C8564A03503CBA +:105AB0000000000142000000000000020401F9A003 +:105AC0004803C8564A03503A000000064200080046 +:105AD0000000001E42001000001016E80201F00055 +:105AE000001066750201F8000010032E4A035034BE +:105AF000000000364803C8564A03503C000000032B +:105B000042000800000000000401FAA182040D0018 +:105B1000000000908204058000000090040000094D +:105B20008204058000000010040000098204058042 +:105B300000000000040000090201F8000010032E1C +:105B400042000000000000010401F00642000000D5 +:105B5000000000000401F003420000000000000209 +:105B60000401F977497B50404803C8564A03503A2C +:105B700000000006420008000000001E4200100065 +:105B8000001016E80201F000001066750201F8002E +:105B90000010032E0201F8000010032E1C01F0007B +:105BA0004C0000004C0400004C0800004C38000081 +:105BB00059A8003C82000C80000000070202180077 +:105BC0000010032E0C01F8065C0070005C00100051 +:105BD0005C0008005C0000001C01F000001016FED4 +:105BE0000010171D0010177200101789001017A061 +:105BF000001017A9001017AB0401FA1C0402001BC7 +:105C000059A8104242000800000000000401FA6098 +:105C100082040D00000000908204058000000090C6 +:105C20000400000982040580000000100400000840 +:105C30008204058000000000040000070201F80053 +:105C40000010032E840815400401F0048408154256 +:105C50000401F00284081544480B50424A03503AAC +:105C6000000000010401F0030401F8CE0401FF81EB +:105C70001C01F0000401F890040000530401F9FB3A +:105C80000402002A42000800000000000401FA405B +:105C900082040D00000000908204058000000000D6 +:105CA0000400004582040580000000100400000686 +:105CB0008204058000000090040000090201F80041 +:105CC0000010032E59C4080182040D000001800059 +:105CD0008204058000000000040000374200080034 +:105CE000000000000401FA2A82040D000000009068 +:105CF0008204058000000010040000068204058074 +:105D00000000009004000006020208000010032EAC +:105D100059A80042840005420401F00359A800423A +:105D2000840005404803504259A8003F800000000D +:105D30004803503F82000580000000050400000376 +:105D40000401F8620401F01F497B503F59C4080167 +:105D500082040D0000018000820405800000000024 +:105D6000040000098204058000008000040000098E +:105D70008204058000010000040000090201F8000F +:105D80000010032E42000000000000010401F00694 +:105D900042000000000000000401F0034200000087 +:105DA000000000020401F9604A03503C00000002B8 +:105DB0000401F0044A03503A000000030401F00219 +:105DC0000401FF401C01F0000401F83B0400001531 +:105DD00059A8003380000040480350330401F9A360 +:105DE000040200054A03503A00000003497B503B7F +:105DF0000401F00C59A800338000054004020003A0 +:105E00000401F8A20401F0020401F84C0401F82F87 +:105E1000497B503F4A03503C000000010401FF2928 +:105E20001C01F0000401F824040000150401F98F9E +:105E30000402000F59A800408000000048035040B1 +:105E400082000580000000070402000C4A0350365F +:105E50000000000A497B504359A800428400055EB7 +:105E6000480350424803C8570401F0050401F817DD +:105E70004A03503C000000040401FF3C1C01F000F8 +:105E80000401F80D040000070401F978040200037E +:105E90000401FF190401F0030401F80C0401FF33AD +:105EA0001C01F0000201F8000010032E0201F800AE +:105EB0000010032E59A800348000004048035034DD +:105EC000040008921C01F0004C040000420008008D +:105ED000000000000401F9AE82040D0000000090F3 +:105EE00082040580000000900400000982040580FF +:105EF000000000100400000982040580000000007A +:105F0000040000090201F8000010032E4200000006 +:105F1000000000020401F006420000000000000141 +:105F20000401F00342000000000000000401F8FE3C +:105F30005C0008001C01F0004C04000059C408017A +:105F400082040D0000018000820405800000000032 +:105F5000040000098204058000008000040000099C +:105F60008204058000010000040000090201F8001D +:105F70000010032E42000000000000020401F006A1 +:105F800042000000000000010401F0034200000094 +:105F9000000000000401F86A5C0008001C01F00029 +:105FA0004C04000059A8003F800000004803503F07 +:105FB000820005800000000504020019497B503F63 +:105FC00059C4080182040D0000018000820405808C +:105FD0000000000004000009820405800000800029 +:105FE000040000098204058000010000040000098B +:105FF0000201F8000010032E420000000000000221 +:106000000401F00642000000000000010401F0035A +:1060100042000000000000000401F84942000800AE +:10602000000000000401F95A82040D0000000090F5 +:1060300082040580000000900400000982040580AD +:106040000000001004000009820405800000000028 +:10605000040000090201F8000010032E42000000B5 +:10606000000000020401F0064200000000000001F0 +:106070000401F00342000000000000000401F8AA3F +:106080005C0008001C01F0004C20000059A80042F0 +:106090008200050000007FFF020008000010032EB0 +:1060A00059A8404180204102020018000010032E30 +:1060B0004823504180204500040007FA8C00050465 +:1060C000040200078C000502040200088C00050091 +:1060D000040200090201F8000010032E4200000033 +:1060E000000000020401F006420000000000000071 +:1060F0000401F00342000000000000010401F81058 +:106100005C0040001C01F000040110004A03C8407C +:106110000010CBBA4A03C84200000009400000004A +:10612000040117FF4A035041000000044A0350389D +:10613000000000001C01F0004068000059A8087829 +:106140008C040D3E0402000C59A8084782040D80FF +:10615000013910770402000859E008138C040D007F +:106160000400000582000D8000000002040200020D +:106170004178000059A8084782040D80015B107720 +:106180000402000B4A03C0140020002082000D808E +:10619000000000014200080000200000040000038D +:1061A00042000800002000204807C013800001C002 +:1061B0000400004082000D80000000010402001D68 +:1061C00042000800000000A00401F8F1820405402C +:1061D0000000000442000800000000A00401F8F4E0 +:1061E00042000800000000C00401F8E982040540F4 +:1061F0000000002042000800000000C00401F8EC8C +:1062000059C4000182000500FFFE7FFF82000540A7 +:10621000000000004803880159A8004480000110D4 +:1062200042000800000000E00401F8E10401F03C35 +:1062300082000D8000000002020208000010032E00 +:1062400042000800000000A00401F8D1820405000B +:10625000FFFFFFFB42000800000000A00401F8D48B +:1062600042000800000000C00401F8C982040500D3 +:10627000FFFFFFDF42000800000000C00401F8CC6F +:1062800059C4000182000500FFFE7FFF8200054027 +:10629000000100004803880159A800468000011051 +:1062A00042000800000000E00401F8C10401F01CF5 +:1062B00042000800000000A00401F8B58204054077 +:1062C0000000000442000800000000A00401F8B82B +:1062D00042000800000000C00401F8AD820405007F +:1062E000FFFFFFDF42000800000000C00401F8B01B +:1062F00059C4000182000500FFFE7FFF82000540B7 +:10630000000080004803880159A800458000011062 +:1063100042000800000000E00401F8A51C01F000A4 +:10632000406800004803C85759A808788C040D3EFF +:106330000402000C59A8084782040D800139107727 +:106340000402000859E008138C040D000400000545 +:1063500082000D800000000204020002417800006B +:106360004C0000000401F9765C000000800001C0D0 +:106370000400002682000D800000000104020010CD +:1063800059A8006D80000540040000044200100080 +:10639000000000000401FA8742000800000000002D +:1063A0000401F87B820405400000009042000800D0 +:1063B000000000000401F87E0401F02482000D803A +:1063C00000000002020208000010032E59A8006D10 +:1063D000800005400400000442001000000100009D +:1063E0000401FA7442000800000000000401F8688B +:1063F00082040500FFFFFF6F42000800000000005C +:106400000401F86B0401F01159A8006D80000540EB +:106410000400000442001000000080000401FA653E +:1064200042000800000000000401F8598204050041 +:10643000FFFFFF6F820005400000001042000800CF +:10644000000000000401F85A0401F1450401F807B6 +:10645000420188000000000104000003420188009E +:10646000000000001C01F0004C5800004200B00089 +:10647000000000148058B0400400002A59C4000DE8 +:106480008C000520040207FC0401F83A59C4000DF1 +:106490008C000520040207F859C4080882040D4046 +:1064A00000000100480788084200B000000000C852 +:1064B0008058B040040207FF4200B0000000001402 +:1064C0008058B0400400001759C4000D8C0005200E +:1064D000040200140401F82759C4000D8C000520A3 +:1064E000040200104200B0000000000A8058B040D2 +:1064F000040000030401F81F0401F7FD4200B0008E +:106500000000006459C4000D8C00051E0400000545 +:106510008058B040040207FC800005800401F003AD +:1065200082000540000000015C00B0001C01F0008A +:1065300042000800000000A00401F81582040500D4 +:10654000FFFFFFFE42000800000000A00401F81851 +:1065500042000800000000000401F80D820405005C +:10656000FFFFFFFE42000800000000000401F010E1 +:10657000400000004000000040000000400000001B +:10658000400000001C01F000406808004807880E29 +:1065900059C4080F82040D00000000FF4005880068 +:1065A0001C01F00040680800406C0000900001C031 +:1065B00080040D4084040D404807880E1C01F00043 +:1065C00082000D80002000000400000982000D8080 +:1065D000020000000400000682000D80010000009F +:1065E0000400000659C408A30401F00659C408A316 +:1065F00084040D300401F00359C408A384040D324F +:1066000080040540480388A3480788A31C01F000C4 +:1066100059C400A384000556480388A384000516C6 +:10662000480388A31C01F000485FC8574863C85757 +:106630004C6400004D3C00004D4000000201F80099 +:10664000001071F4486350094060180042002000B7 +:10665000000000000401FAD3420000000010CF85C2 +:106660000201F8000010C058826005000000FF0021 +:10667000820005800000F7000402000542000000CF +:106680000010CF6D0201F8000010C0580201F800A0 +:106690000010C160040200A582600D000000FF0030 +:1066A000420240000000FFFF800409C00400001EF9 +:1066B000820415800000F700040000168204158093 +:1066C0000000F80004000013820415800000FF00A1 +:1066D0004200C8000000000004000030840439C0FB +:1066E0000201F80000101FF30402001B83200400C5 +:1066F0000010C1B250024800592402008C0005006D +:10670000040000154200C800000000010401F0234D +:10671000420248000010D0D3592402008C00050228 +:106720000400000D59C410A3820815000000800069 +:106730000400000959C410A7820815000000FF00DA +:10674000820815800000FF004200C8000000000021 +:10675000040000128D0E1D02040200078D0E1D00A4 +:106760000402000E599C10178C08151A04000065CD +:10677000850E1D42420240000000FFFF4200C8009B +:106780000000000242028000000000044202780083 +:10679000000000080401F005850E1D404202800043 +:1067A00000000004417A780059A800058C00050219 +:1067B000040200048D0E1D0A0402005C850E1D4AB1 +:1067C000420000000010CF6C0201F8000010C05819 +:1067D00059A8180942001000000080130201F800B7 +:1067E000001039D4832005800000FFFF0400001F43 +:1067F000592404008C0005080400000A417A78003E +:106800004D300000417A60000201F800001020368F +:106810005C026000592404008C00050A0402004355 +:106820004D40000082600500000000FF4202880029 +:106830000000FFFF40643000420280000000000EB4 +:106840000201F8000010B229420008000000000117 +:1068500042001000000001000201F80000106790E3 +:106860005C0280000401F0318D0E1D200400002028 +:106870004C580000420248000010D0D30201F8003A +:106880000010C16F4D400000592402008C0005002B +:106890000400000742000800000000014200100050 +:1068A000000001000201F8000010679083264C00F0 +:1068B0000000000B8058B040040207F44202800040 +:1068C0000000000E420288000000FFFF406430001C +:1068D0000201F8000010B2295C0280005C00B000E8 +:1068E000599C08178C040D0A04020010493FC85730 +:1068F0004943C8570201F8000010FFF20401F00BF1 +:106900008D0E1D2004000009420280000000000FCF +:10691000420288000000FFFF42003000000000003B +:106920000201F8000010B22C497B88805C028000D4 +:106930005C0278005C00C8001C01F0004200080006 +:10694000000000000401FF12820405400000000264 +:1069500042000800000000000401F7154200080092 +:10696000000000000401FF0A82040500FFFFFFFD94 +:1069700042000800000000000401F70D59C408A8F7 +:106980000401FEFC0401FEFB59C400A880040D8034 +:10699000040207FB1C01F0004803C8564A0388079D +:1069A00000000001497B880759C400054803880599 +:1069B000497B506D497B506E59E000248C000510D6 +:1069C00004020038417858004200600000000001D5 +:1069D00042006800000000030401F87C0401F8870D +:1069E000404000004803C8578240858000000000F6 +:1069F0000402002C417858004200600000000004AE +:106A000042006800000000060401F8700401F87BF1 +:106A1000404000004803C857824085800000001AAB +:106A20000402002042005800000000014200600003 +:106A30000000001E42006800000000140401F8631A +:106A40000401F86E404000004803C857824085802A +:106A50000000FFFF040200134A03506D0000000114 +:106A60004803C85642001800001200F50401F9B3AB +:106A700042001800003A00010401F9B04200180079 +:106A8000000200F50401F9AD420018000002000107 +:106A90000401F9AA42001800000000010401F9A74E +:106AA0001C01F0004200580000000000420060009D +:106AB0000000001E400068000401F8440401F84F83 +:106AC000404000001C01F00059A8006D8000054006 +:106AD0000400003D5C0360004DB0000049B3C8579E +:106AE0004C5C00004C600000420008000000000107 +:106AF0000401F945420000000000000A0401FFEA19 +:106B00004000B800825C048000000005020218000A +:106B10000010032E4200C00000000008825C0480C8 +:106B200000000004040010034200C0000000000444 +:106B300059C8000B4803C85759C4009E82000D80F5 +:106B4000000000030402001E825C0D8000000003B0 +:106B50000400001B485FC8574200000000000015F9 +:106B60000401FFD1806005404C00000041785800CE +:106B7000420060000000001E420068000000001596 +:106B80000401F8125C000000400068000401F815E0 +:106B9000826005800000000404000003805CB800EF +:106BA0000401F7EA805CB840825C058000000003C5 +:106BB000020208000010032E0401F7E45C00C0008C +:106BC0005C00B8001C01F000417850000401F8128C +:106BD0000401F83840347000403408000401F03DEE +:106BE00042005000000000010401F80B0401F831DC +:106BF000403408000401F037420050000000000259 +:106C00000401F8050401F81D0401F8354004800072 +:106C10001C01F0000401F8080401F81440280800E1 +:106C20000401F826402C08000401F8274030080031 +:106C30000401F025420008000000FFFF42001000A0 +:106C4000000000010401F8294200100000000010BB +:106C50000401F826420008000000FFFF4200100077 +:106C6000000000100401F0214178080042001000EB +:106C7000000000020401F01D0401F9464A03D0009F +:106C8000000500040401F9434A03D0000005000593 +:106C90000401F9404A03D000000500044200080046 +:106CA0000000000142001000000000010401F00F8C +:106CB0004200080000000002420010000000000234 +:106CC0000401F00A42001000000000050401F00772 +:106CD00042001000000000100401F0044200100007 +:106CE000000000100401F01B0401F92A82082C00A6 +:106CF0000010C1A15014280082081500FFFFFFFFFB +:106D0000040000130401F9238008104080142902B4 +:106D10004004000080140500040000074A03D0006E +:106D2000000700060401F91B4A03D0000007000712 +:106D30000401F0064A03D000000700040401F9151D +:106D40004A03D000000700050401F7EC1C01F00025 +:106D50004178080082082C000010C1A150142800BE +:106D600082081500FFFFFFFF040000100401F9096D +:106D70004A03D000000500010401F90659E8180093 +:106D800080081040801429028C0C1D0604000004A9 +:106D90004014000080040D400401F8FE4A03D000B6 +:106DA000000700000401F7EF1C01F000406810002C +:106DB0004C5C00004C080000420000000000001481 +:106DC0000401FF394000B800420008000000000143 +:106DD0000401F88D5C001000480BC857480B506E3A +:106DE00059C4000182000500FFFFEFFF480388013E +:106DF000417818000401F8D1417858004200600041 +:106E00000000001E42006800000000040401FF6F43 +:106E1000420068000000003C0401FF724178580005 +:106E2000420060000000001E4200680000000004F4 +:106E30000401FF66417868000401FF6A4178580048 +:106E4000420060000000001E417868000401FF5FFE +:106E500042006800000000020401FF624200680076 +:106E6000000000010401FF5942006800000000F525 +:106E70000401FF5C41785800420060000000001EE1 +:106E800042006800000000040401FF504200680056 +:106E9000000000200401FF5359A8106E0401F8728D +:106EA00042001800000200F50401F8A459A8106E71 +:106EB0000401F88641785800420060000000001E7E +:106EC00042006800000000040401FF4041786800AF +:106ED0000401FF4442000000000000150401FEF21E +:106EE00082000540000000024C000000417858007C +:106EF000420060000000001E420068000000001513 +:106F00000401FF325C000000400068000401FF350E +:106F100042000000000000150401FEE382000500AD +:106F20000000FFFD4C000000417858004200600066 +:106F30000000001E42006800000000150401FF234D +:106F40005C000000400068000401FF2642000000D1 +:106F5000000000140401FED482000540000000403F +:106F60004C00000041785800420060000000001E04 +:106F700042006800000000140401FF145C000000DF +:106F8000400068000401FF174200000000000014E8 +:106F90000401FEC5820005000000FFBF4C00000098 +:106FA00041785800420060000000001E4200680066 +:106FB000000000140401FF055C00000040006800B0 +:106FC0000401FF084A038886000020204178080059 +:106FD0008C5CBD06040000034200080000000001B4 +:106FE0000401F80959C400018200054000001000A6 +:106FF000480388010401F8670401FEB45C00B8008E +:107000001C01F00059A8006D800005400400001527 +:107010004807C85742000000000000144C0400005C +:107020000401FEA15C00080084000546800409C03C +:1070300004020002840005064C000000417858005C +:10704000420060000000001E4200680000000014C2 +:107050000401FEDE5C000000400068000401FEE167 +:107060001C01F000480BC857820805800001000091 +:107070000402000782040D400001000042001800D5 +:10708000000000010401F82D0401F00F82080580C2 +:10709000000080000400000782040D400000000092 +:1070A00042001800009000010401F8240401F006D9 +:1070B00082040D4000008000420018000010000112 +:1070C0000401F81E1C01F000480BC8578208058017 +:1070D000000100000402000842001800000000A1A6 +:1070E0000401F81642001800000000C10401F81362 +:1070F0000401F011820805800000800004000008EF +:1071000042001800000400A10401F80C420018001D +:10711000002000C10401F8090401F0074200180032 +:10712000000400A10401F80542001800000000C19D +:107130000401F8021C01F000480FC85741785800BC +:10714000420060000000001E417868000401FE9FBC +:10715000400C6800803469600401FEA242006800AF +:10716000000000010401FE99400C68000401FE9D2E +:1071700042006800000000030401FE940401FE9F29 +:10718000404000008C000504040207FC1C01F000D4 +:107190004000000040000000400000001C01F00022 +:1071A00059A800058C0005000400000A59A8000831 +:1071B0008C000500040200078400054048035008C5 +:1071C00042001000000080160201F800001039D4BF +:1071D0001C01F0004803C85659A800068C00051E83 +:1071E0000402000A42028800000007FC420030004E +:1071F00000FFFFFC0201F8000010467D04020008B9 +:107200000401F809040000064A03501C0000FFFFB7 +:1072100082000540000000011C01F0008000058094 +:107220000401F7FE4937C8570201F80000107F43F8 +:10723000040000174926601C4936600A4A026407A8 +:1072400000000001417A78000201F8000010463485 +:1072500042000800000000030201F8000010463F51 +:1072600059A8001D800000004803501D599C0208C9 +:1072700048026C1242027000000000020201F80095 +:1072800000020BC582000540000000011C01F00057 +:10729000406810000401F807420188000000000067 +:1072A0000400000342018800000000011C01F000FE +:1072B000480BC857492FC8574923C8574927C857AB +:1072C0004C5C00004008B80042028800000007FD46 +:1072D0004200300000FFFFFD0201F8000010467D73 +:1072E0000402001F5934000A840005444802680A59 +:1072F0000201F80000107F43040000194926601CB9 +:107300004936600A812E59C004000006592C040534 +:107310008C00051E0400000348EE602A0401F004FE +:1073200059A8021B8400055C4803521B492E6009C2 +:107330004A02640700000001485E601D42027000BE +:10734000000000220201F80000020BC58200054087 +:10735000000000015C00B8001C01F0008000058006 +:107360000401F7FD4933C85759A8021B8C000508D2 +:10737000040200155930500A482BC857836C058009 +:1073800000000002040200100401F81D0402000EB7 +:107390005828040382004D80000007FC0400000B05 +:1073A00082004D80000007FD0400000759A8001668 +:1073B000800000404803C857020018000010032E48 +:1073C000480350161C01F0005930042682004D80FD +:1073D00000000021040007F6820005800000005133 +:1073E000040007F959A8001D800000404803C85751 +:1073F000040017F54803501D1C01F0005930000926 +:10740000800001C004020009593004038200058095 +:107410000000000104020004820005400000000199 +:107420000401F002800005801C01F0004933C857B8 +:10743000493FC8574947C8574927C8574D400000DA +:107440004D3400004D4400004C5800000201F8008B +:1074500000106E814DF000008060C1C00402000485 +:107460004200B000000000010401F0044200B0003E +:10747000000007F0417A88004144000081AC04001C +:107480005000000080026D40040000225924500585 +:10749000593400138200050000FFFFFF802805809B +:1074A0000402001C4D3C0000420278000000000174 +:1074B0000201F800001049E45C02780042028000FA +:1074C000000000290201F8000011045D0201F8002B +:1074D000001105410201F800001105DA0201F8006F +:1074E00000104A74040200054937C8574A026C006C +:1074F000000004040401F0030201F80000104AA88F +:107500000201F80000110A100201F800001049639E +:10751000814688008058B040040207D85C03E00030 +:107520000200080000106E6E5C00B0005C02880073 +:107530005C0268005C0280001C01F0004937C857FB +:107540004947C8574C5C00004C6000004C64000088 +:1075500059A800568C0005000400001F599C001714 +:107560008C00050A0402001C5934BA02825CBD007A +:10757000000000FF485FC8574178C0004178C8004C +:10758000826004000010E353500020008060C1C0FE +:107590000400000882100500000000FF82002D801A +:1075A000000000FF0400000C805C05800400000D5A +:1075B000801021108064C8008264058000000004EF +:1075C000040207F58060C000826005800000002092 +:1075D000040207EB4813C857820005400000000171 +:1075E0005C00C8005C00C0005C00B8001C01F0003A +:1075F00059A8021B8C00051202020800001003F5B6 +:107600001C01F0004C5C00004C6000004C64000069 +:107610004C5000004200B00000000001420248004F +:107620000010D0D3417A400042028800000007FEDB +:107630000201F8000010C18D040000220201F800D0 +:107640000010C16F5924BA008C5CBD000400008892 +:1076500059A8A21B8C50A5060400000D825C0500F1 +:10766000000000E082000580000000E004000080CF +:107670000401F88F59A800164923C8574803C85772 +:1076800080000000480350160401F0798C5CBD1E98 +:10769000040000774927C8564200B00000000001EE +:1076A000825C0500000000E148024A00485FC857BC +:1076B000825CC500000000E0040200230401F01C0D +:1076C0000201F80000105155040000030201F80007 +:1076D0000010C1735924BA008C5CBD000400006422 +:1076E0000201F8000010C18D0400000559A8021B1A +:1076F0008C00050E040200140401F00483240D80A4 +:107700000010D0D304020010825CC500000000E02D +:107710000402000D0201F80000105155040000049D +:1077200042000800FFFFFF1D0401FADA59A8021BFE +:1077300082000500FFFFDAFC8400054E4803521B5F +:107740000401F00682600580000000E0040200539E +:107750008C5CBD0E040200465924C80982640400F2 +:107760000000000E500000004803C85780026D4022 +:10777000040000120201F80000105155040000142A +:10778000593402008C00051A0402003959240805F6 +:10779000800409100400000E59A800184803C857B7 +:1077A0004807C85780040580040000094A0268069B +:1077B000DEADDEAD0401F0064200300000FFFFFE4A +:1077C0000201F8000010467D040200340201F800B6 +:1077D00000107F43040000314936600A4926601CCE +:1077E0004A02640700000001417A78000201F800B3 +:1077F000001046340201F8000010FFED42000800BE +:10780000000000030201F8000010463F4923501712 +:107810004923C8575924000582000500000000FFD5 +:1078200048024805836C0580000000030400000442 +:1078300059A800168000000048035016599C020801 +:1078400048026C1242027000000000020201F800BF +:1078500000020BC55924020082000500FFFFFF9DB6 +:107860008400054E8400055E48024A0081224000E3 +:1078700083264C000000000B8058B0400400000537 +:107880000201F8000010C18D0402076F0401F79295 +:107890004A0350170000FFFF5C00A0005C00C80016 +:1078A0005C00C0005C00B8001C01F0004D3000001E +:1078B0004D4400004D34000042028800000007FEE5 +:1078C0004200300000FFFFFE0201F8000010467D7C +:1078D000040200220201F80000107F430400001F90 +:1078E0004927C8574923C857497A60094936600A69 +:1078F0004926601C4A02640700000001420008009B +:10790000000000030201F8000010463F599C0208E5 +:1079100048026C1242027000000000020201F800EE +:1079200000020BC559A80A1B8C040D0604020002B4 +:10793000497A48055924020082000500FFFFFF9D97 +:107940008400054E48024A005C0268005C02880020 +:107950005C0260001C01F000800005800401F7FB60 +:107960004D2000004D2400004C5800004D34000014 +:107970004D3000004D3C00004D3800004D440000EB +:107980000201F800001049C40402000A0201F800D4 +:10799000001051550400000459A8121B8C0815064C +:1079A000040000030401FF180401F0020401F80AB6 +:1079B0005C0288005C0270005C0278005C0260007F +:1079C0005C0268005C00B0005C0248005C024000A1 +:1079D0001C01F0004803C8564C6000000201F8008A +:1079E0000010C1734200C0000010D0D150600000F0 +:1079F000820245800000FFFF0402000442024800AA +:107A00000010D0D30401F0088058B480040000298D +:107A10000400102840024000820004000010C1B29F +:107A2000500248004520C00059240005820005008E +:107A3000000000FF480248055924020082000500AA +:107A40000000000382000580000000030402000E15 +:107A5000592404008C0005080400000B59A80056A6 +:107A60008C000500040000030401F8140401F00276 +:107A70000401F86759A80017820005800000FFFF85 +:107A80000402000C8122400083264C000000000B01 +:107A90008058B040040207E4599C00198C00050E80 +:107AA0000402000459A800568C0005000402089046 +:107AB0005C00C0001C01F0004927C8574923C85783 +:107AC0004C5800004C1000004C0C00004C0800000A +:107AD0004C0400004D24000059243C0859A81817F4 +:107AE000820C15800000FFFF040200034200180012 +:107AF00000000001800C1104820824000010E353F0 +:107B000050102000820C0500000000030C01F00161 +:107B100000101EC800101ECA00101ECC00101ECE81 +:107B2000401010000401F006801011100401F00450 +:107B3000801011200401F002801011304C0C000064 +:107B400082080500000000FF801C0D800400001F5B +:107B5000800001C00400001D400008008200058074 +:107B6000000000FF0400001D0401F9490400001793 +:107B7000400400000201F8000010617004020021BE +:107B80000201F800001046DF040000050201F800C1 +:107B90000010FFBE0400001B0401F00C599C0019EA +:107BA0008C00050E040200090201F8000010467D59 +:107BB000040200140201F8000010FFED0201F800B9 +:107BC000001100D90400000F5C001800480F501786 +:107BD000800C18000401F7C85C0018004A03501715 +:107BE0000000FFFF5C0248005C0008005C00100021 +:107BF0005C0018005C0020005C00B0001C01F0007C +:107C00005C001800480F50170401F7F74927C857C0 +:107C10004C5C00004C5800004C5400004200B00086 +:107C20000000007E59243C0859A8001782001580E6 +:107C30000000FFFF040200034178A8000401F004E3 +:107C40008058B480040010244000A8004857501702 +:107C50008254BC0000102142505CB800825CBD0020 +:107C6000000000FF405C08000401F909040000174F +:107C7000405C00000201F80000106170040200186E +:107C80000201F800001046DF040000050201F800C0 +:107C90000010FFBE040000120401F00C599C0019F2 +:107CA0008C00050E040200090201F8000010467D58 +:107CB0000402000B0201F8000010FFED0201F800C1 +:107CC000001100D9040000068054A8008058B0407C +:107CD000040207DF4A0350170000FFFF5C00A80002 +:107CE0005C00B0005C00B8001C01F0004C580000C3 +:107CF0004D4400004200B000000007F080028D807B +:107D00000201F8000002034E0402001E0401FE0CF2 +:107D10000400001C4937C8570201F80000104ACB84 +:107D2000420260000011162C4936600A497A600947 +:107D30004926601C417A78000201F8000011007B9E +:107D4000420000000010D0230201F8000010C058CB +:107D5000592404008C00050A0402000A4178280016 +:107D600042003000000000084D4000004202800048 +:107D7000000000290201F8000010B2295C02800016 +:107D8000814688008058B040040207DE5C0288000B +:107D90005C00B0001C01F0004927C8574C5C000093 +:107DA000400CB8004D2000004D2400004C5800004D +:107DB0000201F8000010C16F417A40004202480001 +:107DC0000010D0D3592402008C0005000400000FDD +:107DD0008C5CBD08040000048400055A48024A0077 +:107DE0000401F00A82000500000000E08200058026 +:107DF000000000E0040000054927C8574923C85780 +:107E00000401F83E040000068122400083264C0055 +:107E10000000000B8058B040040207EB5C00B0008B +:107E20005C0248005C0240005C00B8001C01F000ED +:107E3000406818004D2000004D2400004C58000000 +:107E40004C5C0000400CB800485FC8570201F800C5 +:107E50000010C16F8058B040040000194202400079 +:107E600000000001420248000010D0DE59A8021BA9 +:107E70008C00051404000017592412008C081510FA +:107E80000402000A8C081500040000088C5CBD0880 +:107E9000040000048408155A480A4A000401F0034B +:107EA0000401F816040000068122400083264C00DD +:107EB0000000000B8058B040040207F05C00B800DE +:107EC0005C00B0005C0248005C0240001C01F00055 +:107ED000497A48055924020082000500000000018B +:107EE00048024A0083264C000000000B8058B04036 +:107EF000040207F80401F7F24927C8574923C85775 +:107F000059A8021B8C0005140400001A42028800C4 +:107F1000000007FE4200300000FFFFFE0201F800F3 +:107F20000010467D04020013599C020848026C129E +:107F30004D2C0000417A58000201F80000109E907C +:107F40005C0258000400000B59A8005E800000008D +:107F50004803505E59240200840005508400051235 +:107F600048024A0082000540000000011C01F000A8 +:107F7000800005800401F7FE4C5800000201F80063 +:107F80000010C16F417A4000420008000010D0D3B9 +:107F90005930001C80040580040000088122400044 +:107FA00082040C000000000B8058B040040207F966 +:107FB0000201F8000010032E4933C8574923C8575F +:107FC0005C00B0001C01F000406838004C58000014 +:107FD0000201F8000010C16F417A400042024800DF +:107FE0000010D0D359A8121B8C0815080400000AF1 +:107FF000821C0D8000FFFFFE040000228C08150C7F +:108000000400002059240005801C05800400001D88 +:108010000401F01782080500000000280402000592 +:108020005924000582000500000000FF0401F0054E +:10803000592402008C0005000400000459240005A6 +:10804000801C05800400000F8122400083264C0024 +:108050000000000B8058B0400400000582080500B5 +:1080600000000028040207F30401F7EE420240007A +:108070000000FFFF8200054000000001481FC856B5 +:108080004923C8575C00B0001C01F0004807C857DE +:108090004C5800000201F8000010C16F4200680057 +:1080A0000010D0D35834000582000500000000FF06 +:1080B000800405800400000782346C000000000B7F +:1080C0008058B040040207F882000540000000011B +:1080D0005C00B0001C01F0004923C857493FC85755 +:1080E0004C5800004D4000004D4400004D3400004D +:1080F0004C5C00000201F80000106E814DF00000A1 +:108100004200B000000007F0417A88008344040078 +:108110000010C3805000000080026D400400002465 +:1081200059340013800001308120058004020020B2 +:1081300042028000000000290201F8000011045DE5 +:108140000201F800001105410201F800001105DAF2 +:108150000201F80000110A108D3E7D1C040000058C +:10816000412408000201F80000104AEC0401F0105C +:108170008D3E7D0604000004593402008C00050E7B +:108180000402000B4937C8570201F8000010496388 +:10819000497A6C0B4A026C0000000707592404005E +:1081A0008C00050A02020800001043038146880083 +:1081B0008058B040040207D68D3E7D020400001BAB +:1081C0004200B000000000105924B809505C0000C3 +:1081D00080026D400400001259368C030201F80041 +:1081E0000011045D0201F800001105410201F800D0 +:1081F000001105DA0201F80000110A108D3E7D1C05 +:10820000040200040201F800001043030401F0041A +:10821000412408000201F80000104AEC805CB8001C +:108220008058B040040207EA4D3000004202880046 +:108230000000FFFF420260000011162C4A02600A93 +:108240000010E33E0201F80000104DF74926601CC3 +:1082500042028000000000290201F8000011045DC4 +:108260000201F80000110A105C0260005C03E000EB +:108270000200080000106E6E5C00B8005C0268002E +:108280005C0288005C0280005C00B0001C01F00011 +:108290004807C8574C5800000201F8000010C16F91 +:1082A000420010000010D0D35808020080040500DE +:1082B00048001200820814000000000B8058B040F3 +:1082C000040207FA5C00B0001C01F0004803C85625 +:1082D0004D4400004D3400004C5800004C5C000040 +:1082E0004200B0000000001042028800000007F0C9 +:1082F0005924B80983440580000007FE04000006E5 +:10830000505E6800813669C0040000030201F80075 +:108310000010430381468800805CB8008058B0405C +:10832000040207F55C00B8005C00B0005C02680065 +:108330005C0288001C01F0004923C85742028800F3 +:10834000000007FE4200300000FFFFFE0201F800BF +:108350000010467D04020013599C020848026C126A +:108360004D2C0000417A58000201F80000109E9048 +:108370005C0258000400000B59A8005E8000000059 +:108380004803505E59240200840005508400051201 +:1083900048024A0082000540000000011C01F00074 +:1083A000800005800401F7FE4923C8574D300000C6 +:1083B0004D44000042028800000007FE42003000E9 +:1083C00000FFFFFE0201F8000010467D04020021BC +:1083D0000201F80000107F430400001E497A600982 +:1083E0004936600A4926601C4A0264070000000101 +:1083F00042000800000000030201F8000010463FA0 +:10840000599C020848026C124202700000000002EF +:108410000201F80000020BC5592402004927C85781 +:1084200082000500FFFFFF9D8400054E48024A00C0 +:1084300059A8021B82000500FFFFDAFC8400054EEC +:108440004803521B5C0288005C0260001C01F000C3 +:10845000800005800401F7FC4C5800000201F80080 +:108460000010C16F485BC8574178280042002000C7 +:108470000010D0D358100200820005000000000355 +:108480008200058000000003040200048200054011 +:10849000000000010401F00680142800821024006E +:1084A0000000000B8058B040040207F35C00B000ED +:1084B0001C01F0000401F8074201880000000000E0 +:1084C0000400000342018800000000011C01F000CC +:1084D0004C5800000201F8000010C16F420010006B +:1084E0000010D0D3580802008C00051A04020005C1 +:1084F000820814000000000B8058B040040207FA04 +:108500005C00B0001C01F00000007EEF00007DE880 +:1085100000007CE4000080E200007BE1000080E0DD +:10852000000080DC000080DA00007AD9000080D6EC +:10853000000080D5000080D4000080D3000080D2ED +:10854000000080D1000079CE000078CD000080CC02 +:10855000000080CB000080CA000080C9000080C7F6 +:10856000000080C6000077C5000076C3000080BC14 +:10857000000080BA000075B9000080B6000074B534 +:10858000000073B4000072B3000080B2000080B13C +:10859000000080AE000071AD000080AC000070AB48 +:1085A00000006FAA00006EA9000080A700006DA661 +:1085B00000006CA500006BA300006A9F0000699E8C +:1085C0000000689D0000809B000080980000679775 +:1085D000000066900000658F0000648800006384DE +:1085E0000000628200008081000080800000617CC9 +:1085F0000000607A0000807900005F7600008075DE +:1086000000008074000080730000807200008071A0 +:108610000000806E00005E6D0000806C00005D6BED +:1086200000005C6A00005B690000806700005A6619 +:1086300000005965000058630000575C0000565A5E +:108640000000555900008056000080550000545429 +:108650000000535300005252000051510000504E90 +:1086600000004F4D0000804C0000804B00004E4A3F +:1086700000004D490000804700004C460000804546 +:10868000000080430000803C0000803A00008039F8 +:108690000000803600004B350000803400004A3373 +:1086A00000004932000048310000802E0000472DB4 +:1086B0000000462C0000452B0000442A00004329FE +:1086C0000000422700008026000080250000412392 +:1086D0000000401F00003F1E00003E1D00003D1B2B +:1086E00000003C18000080170000801000003B0FC5 +:1086F00000003A08000080040000390200008001F8 +:1087000000008000000080000000380000003700FA +:1087100000003600000080000000350000008000EE +:108720000000800000008000000034000000800095 +:108730000000800000008000000080000000800039 +:1087400000008000000033000000320000008000C4 +:108750000000800000008000000080000000800019 +:1087600000008000000031000000300000008000A8 +:108770000000800000002F000000800000002E009C +:1087800000002D0000002C00000080000000800090 +:108790000000800000002B000000800000002A0084 +:1087A00000002900000028000000800000002700D1 +:1087B0000000260000002500000024000000230027 +:1087C0000000220000008000000080000000210066 +:1087D0000000200000001F0000001E0000001D001F +:1087E00000001C00000080000000800000001B0052 +:1087F00000001A0000008000000019000000800046 +:108800000000800000008000000080000000800068 +:108810000000800000001800000080000000170029 +:108820000000160000001500000080000000140089 +:1088300000001300000012000000110000001000F2 +:1088400000000F00000080000000800000000E000B +:1088500000000D0000000C0000000B0000000A00EA +:1088600000000900000080000000800000000800F7 +:1088700000000700000080000000060000008000EB +:1088800000008000000080000000050000000400DF +:1088900000000300000080000000020000008000D3 +:1088A0000000800000008000000001000000800047 +:1088B00000008000000080000000800000008000B8 +:1088C0000000800000000000000080000000800028 +:1088D0000000800000008000000080000000800098 +:1088E0000000800000008000000080000000800088 +:1088F0000000800000008000000080000000800078 +:1089000000008000000080000201F80000100570E7 +:10891000020008000010032E492F40171C01F00030 +:1089200083A0AC000000000783A005800010CBFFEF +:108930000400000C492FC857812E59C002000800BE +:108940000010032E832CA400000000074200B0009A +:108950000000000D0201F8000010C12B0401F00F0F +:108960004200B0000000001083E0A40000000020DE +:10897000505000008050A00050500800900409C0E2 +:10898000800405404400A8008050A0008054A80046 +:108990008058B040040207F71C01F00059A00207FC +:1089A00082000C800000007F040210BF0C01F00167 +:1089B000001022F200102329001023290010237830 +:1089C0000010239400102329001022F2001023B07D +:1089D000001023C10010232900102329001023D3E5 +:1089E000001023EB00102403001023290010242A78 +:1089F00000102454001023290010247D0010232986 +:108A000000102549001023290010232900102329D4 +:108A10000010232900102574001025D700102329E9 +:108A200000102329001023290010232900102329D6 +:108A300000102632001023290010268D0010232953 +:108A4000001023290010232900102329001026924A +:108A500000102723001023290010272B00102329A2 +:108A60000010232900102329001023290010232996 +:108A70000010272D001027B20010298D0010232987 +:108A80000010232900102329001023290010232976 +:108A90000010299C00102329001029B90010232957 +:108AA0000010232900102329001023290010232956 +:108AB000001029E400102A3700102A9300102AB170 +:108AC0000010F8140010FE0500102AFD00102329E4 +:108AD0000010304D00102C5400102C9B0010232946 +:108AE0000010232900102329001023290010232916 +:108AF00000102329001023290010232900102CC066 +:108B000000102D34001023290010232900102DA25D +:108B10000010232900102E4500102EF500102329E7 +:108B20000010232900102F8700102FF10010232997 +:108B30000010304D001032E600102329001032FAE8 +:108B40000010338500102329001023290010232949 +:108B500000102329001033EB001033FD00103420E7 +:108B600000102329001034C20010232900102329EB +:108B70000010350A001023290010353E001023296B +:108B800000102329001035A50010370400103761AC +:108B900000102329001037C30010232900102329B7 +:108BA00000103818001038AB0010232948EFC857C0 +:108BB0004031D80058EF400A58EC0002820005808E +:108BC000000002000400003C48EFC8574A03420777 +:108BD000000040000201F800001039A383A00580C6 +:108BE0000010CBFF0400000E58EE58094D2C000079 +:108BF0000401F84D41A258000201F800001005964A +:108C000040EE58000201F800001005965C02580082 +:108C1000492FC8570201F000000203F10402600767 +:108C200059A0001E840005424803401E4A01D8088E +:108C3000001023071C01F00059A0020782000D80DC +:108C40000000400004000006900001C082000540C2 +:108C5000000000114803C0110401F005900001C09C +:108C600082000540000000104803C0110401F841D3 +:108C70004A03C017000000004203E000300000017A +:108C80004203E0004000000040EE58000201F800FE +:108C90000010059659A0001E840005044803401EDC +:108CA0001C01F0004803C8564A0342070000400177 +:108CB0000401F7C94803C8564A03420700004002AE +:108CC0000401F7C54803C8564A03420700004003A1 +:108CD0000401F7C14803C8564A0342070000400593 +:108CE0000401F7BD4803C8564A0342070000400686 +:108CF0000401F7B94803C8564A0342070000400B75 +:108D00000401F7B54803C8564A0342070000400C67 +:108D10000401F7B14803C8564A0342070000400C5B +:108D20000401F7AD4C5800004C5000004C540000BA +:108D300058ECA8098054A9C0020008000010032EB6 +:108D400083A0A400000000078254AC0000000007CC +:108D50004200B0000000000D0201F8000010C12B1D +:108D60005C00A8005C00A0005C00B0001C01F000EA +:108D70004C5800004C5000004C54000059A0000713 +:108D80004803C85759A000084803C85759A000090C +:108D90004803C85783E0AC000000002083A0A40073 +:108DA000000000074200B00000000010505000001A +:108DB0004400A8008054A800900001C04400A8000E +:108DC0008054A8008050A0008058B040040207F8EA +:108DD0005C00A8005C00A0005C00B0001C01F0007A +:108DE00059A00407800000C259A00A08900409C0D5 +:108DF000800405408400054059A00C088C040D0037 +:108E00000400001259A808708C040D00040207B673 +:108E10004C0000000201F8000010C17B5C00000063 +:108E200004000005480300044A030000000000009D +:108E30000401F7664A030000000000004A034407EB +:108E400000000004040007A44803880E0401F75F33 +:108E500059A00407800000C259A00C088C040D0022 +:108E60000400001459A808708C040D000402079E29 +:108E70004C0000000201F8000010C17B5C00000003 +:108E80000400000748030004598008054807440708 +:108E90004A030000000000000401F74C4A030000F0 +:108EA000000000004A034407000000040400078A91 +:108EB0004803880E59C4080F480744070401F743C4 +:108EC00059A01C0759A00208900C19C0800C1D4025 +:108ED000580C080380000580500C10008008040026 +:108EE000800C180080040840040207FC4803440773 +:108EF000900001C048034208800001C0040007330D +:108F00000401F7714A034407000000054A034208C0 +:108F1000000000064A0344080000000559A8000AA2 +:108F200048034209900001C0480344094200000080 +:108F3000000094964803420A900001C04803440E82 +:108F40004A03400F000000000401F72059A0040864 +:108F500059A01208900811C08008154059A0040AB1 +:108F600059A01A0A900C19C0800C1D4059A00A097A +:108F700059A00409900409C080040D4059A0020BB7 +:108F800082002480000000100400175759A0240715 +:108F9000900001C08010054059A8280A8014248040 +:108FA000040017510201F000001039B259A0040862 +:108FB00059A01208900811C08008154059A0040A51 +:108FC00059A01A0A900C19C0800C1D4059A00A091A +:108FD00059A00409900409C080040D4059A0020B57 +:108FE00082002480000000100400173F59A02407CD +:108FF000900001C08010054059A8280A80142480E0 +:10900000040017390201F000001039BB59A02408F0 +:1090100059A00208901021C08010254059A01A0BB9 +:1090200059A00407900C19C0800C1D404178100015 +:109030004200000000001000500000008200048088 +:10904000243200010400100E820C058000007C0018 +:109050000400000B820C048000007A000400100859 +:10906000820C048000007CFF040210050201F8005D +:109070000010C17B04000008800810004410180094 +:10908000800811C0040006D14A030000000000005F +:109090000401F6CE4A030000000000004A03440722 +:1090A000000000040401F70C59A01A0B59A0040792 +:1090B000900C19C0800C1D40417810004200000047 +:1090C00000001000500000008200048024320001E3 +:1090D0000400100E820C058000007C000400000BD0 +:1090E000820C048000007A0004001008820C0480C6 +:1090F00000007CFF040210050201F8000010C17B93 +:109100000400000F80081000500C000082000D00C9 +:109110000000FFFF4807420882000D00FFFF00002B +:10912000900409C048074408800811C0040006A73D +:109130004A030000000000000401F6A44A030000F6 +:10914000000000004A034407000000040401F6E2A6 +:1091500059A004078C0005000400002059A0120843 +:1091600059A01C0859A02209480B5044480F5045EB +:109170004813504659C4080182040D0000018000C4 +:1091800082040580000000000400000982040580BC +:109190000000800004000008820405800001000037 +:1091A000040000070201F8000010032E4008000030 +:1091B0000401F004400C00000401F0024010000023 +:1091C0008000011042000800000000E00201F800E9 +:1091D0000010196B0401F00759A8104459A818454C +:1091E00059A82046480B4208480F44084813420932 +:1091F0000401F6764D2C00004D3400004D30000087 +:109200004D4400000201F80000103A9604020007E5 +:109210004923C8574927C85759A28C070201F800AB +:1092200000104AD4040000065C0288005C02600062 +:109230005C0268005C0258000401F6AB4937C8576D +:1092400059A0440859A00208900001C08020454060 +:109250004823C8570401F88A040000094A03420958 +:10926000000000014A0344070000FFFF4A034208D0 +:109270000000FFFF497B44080401F04B497B440791 +:109280000401F88B0400004D5930040248034407E0 +:109290005930020248034208593000064803440886 +:1092A00059A0020C8C0005000400003D4933C8574A +:1092B0000201F80000104A87040000044A03440732 +:1092C000000000090401F03D8D0E1D0E0400000495 +:1092D0004A034407000000010401F038836C058054 +:1092E00000000003040000044A03440700000007D4 +:1092F0000401F032593402008C00050E0400000411 +:109300004A034407000000200401F02C59300407F0 +:1093100082000D8000000003040200095930080497 +:10932000820405000000001F820005800000000488 +:10933000040200038C040D3E040200190201F8002F +:109340000010398E040200044A03440700000002A2 +:109350000401F01A492FC8574A025C05000080003A +:10936000497A5A05497A58060201F8000010A38488 +:10937000040200044A034407000000030401F00F44 +:109380004A01D808001024F35C0288005C026000E7 +:109390005C0268005C0258001C01F0004A034209AC +:1093A000000000025C0288005C0260005C02680051 +:1093B0005C0258000401F6055C0288005C02600053 +:1093C0005C0268005C0258000401F643492FC8574C +:1093D0004933C857497A6027592C00068200058016 +:1093E00001000000040200044A03440700000004D6 +:1093F0000401F6394D2C0000832E5C0000000007AC +:10940000592C0000820005800200000004020012B6 +:109410004803C8564A03420900000004592C0804B6 +:10942000820405000000FFFF48034409800409206E +:109430004807420A592C0805820405000000FFFF76 +:109440004803440A800409204807420B5C02580084 +:109450000401F5DE4803C8564A034209000000052E +:10946000592C0801820405000000FFFF480344094D +:10947000800409204807420A0401F7F54937C85714 +:109480004823C8575934000F80001D4004000005D0 +:10949000580C00068020058004020003817800003B +:1094A0001C01F000580C00000401F7F84823C857CD +:1094B0004D2C000042026000001116845930040750 +:1094C00082000D80000000030400000482000D8073 +:1094D000000000060402000759325809812E59C0C5 +:1094E00004000004592C0006802005800400000AB6 +:1094F000833264000000002C59A8000B81300480E6 +:10950000040017EF417A6000800005805C0258007B +:109510001C01F00082000540000000015C025800C0 +:109520001C01F00083A005800010CBFF040205DEC3 +:1095300059A800708C000500040200034A030000D3 +:10954000000000004A034207000040004A03C01127 +:10955000400000100401FE074A03C017000000008D +:1095600059E000028C00051E0402000842000000C1 +:10957000000010005000000082000480243200022D +:10958000020000000002025C59A800788C00053E31 +:109590000400000B42000800000000A00201F800D7 +:1095A0000010196382040540000000014200080019 +:1095B000000000A00201F8000010196B4203E00057 +:1095C000300000014203E000400000000401F00010 +:1095D00059A00C07800409C004000007836C0580B3 +:1095E00000000000040000044A0344070000001AC1 +:1095F0000401F5B9420070000010CC9B58381C01E2 +:1096000058382201583832028C040D000400000B37 +:1096100059A01208820805000000F003040205B2F8 +:109620008208048000000841040215AF820804800B +:1096300000000100040015AC40040000800C05404F +:10964000820005000000002882000580000000283C +:10965000040005A58C040D0A0400000859A03C086C +:10966000821C0480000000060402159F821C0480F6 +:10967000000000010400159C8C040D06040000038A +:109680004A0378E4000C00008C040D04040000047C +:1096900059E00002840005484803C0028C040D0212 +:1096A0000400000542002800000076004A0028055A +:1096B000D000000040040000800C05404800740108 +:1096C0008C040D0004000002480872018C040D0A8D +:1096D0000400001F481C72024C0C00004C100000DB +:1096E0004C1800000201F80000106E814DF00000DF +:1096F00058383A02481FC85741780000801C38404B +:10970000800010C8820814000000BF324A00100117 +:1097100000000000801C1C80040210034A0010019D +:10972000000000028000000082001C800000000594 +:10973000040017F45C03E0000200080000106E6EE5 +:109740005C0030005C0020005C001800480F4407FB +:1097500048134208481B44080401F51C4D4400000E +:109760004D34000059A28C070201F80000103A960F +:109770000402000C0201F80000104AD4040200099F +:109780000201F80000104A87040000094A03440758 +:10979000000000095C0268005C0288000401F54ECC +:1097A0005C0268005C0288000401F54F59A01208B1 +:1097B00059A01C085934400A82203D000000E000F6 +:1097C000801C391A8C08150004000024820C0D003E +:1097D0000000000782040580000000000400001063 +:1097E00082040580000000010400000D8204058051 +:1097F000000000030400000A820405800000000449 +:109800000400000782040580000000130400000427 +:109810004937C85742000800000000038220450075 +:10982000FFFF1FFF800400DA802005404802680A1D +:109830004C0800004C1C00000201F80000106E8172 +:109840000201F80000104D9A0201F80000106E6E3F +:109850005C0038005C001000481F44085934400A7E +:1098600082203D000F000000801C39308C08150458 +:10987000040200128C0815020400000C4823C8578B +:1098800082204500F0FFFFFF59A01A09820C0D004D +:109890000000000F800400F08400056E8020054069 +:1098A0004802680A4803C857481F42095C0268001A +:1098B0005C0288000401F4C582204500F07FFFFFB0 +:1098C0004822680A0401F7F98D0E1D0E04000004F9 +:1098D0004A034407000000010401F4FF836C058083 +:1098E00000000003040200160201F80000103A967E +:1098F000040204FD592402008C0005020400004B00 +:1099000059240005497B44070201F8000010515515 +:109910000400000F82000D0000FFFF000402000C95 +:1099200082000C000010214250040800800409103D +:109930008204158000000080040200044A034407EA +:10994000000000070401F4E44807440782000D000A +:109950000000FFFF48074208800001204803440838 +:1099600059A8021B8200150000003500480B440A6C +:109970008C0005020400001F8C000506040000098D +:1099800082000D000000000A82040D800000000A21 +:10999000040200044A03420A000000010401F0220C +:1099A0008C00050A0400000982000D00000000225E +:1099B00082040D8000000022040200044A03420ACF +:1099C000000000030401F0188C00050804000009E1 +:1099D00082000D000000001282040D8000000012C1 +:1099E000040200044A03420A000000020401F00ECF +:1099F0000201F80000105155040200044A03420A13 +:109A0000000000040401F4718C0005060400000449 +:109A10004A034407000000050401F4AF4A03420A68 +:109A2000000000000401F4694A0344070000001B21 +:109A30000401F4A959A8002A4803440859A8002B96 +:109A40004803420A0401F461420078000010D0BBD0 +:109A500059A004074803C85782000C800000000A80 +:109A6000040214A10C01F00100102715001026AD0E +:109A7000001026BB001026CE001026EF001027177E +:109A8000001026A5001026A5001026A5001026A56A +:109A9000001026A60401F49459A0020848007C0195 +:109AA00059A0040848007A010201F800001003EAF6 +:109AB0000401F069836C0580000000000400048646 +:109AC00059A00A0859A00408900001C080040D4064 +:109AD0004807C85759A00A0959A00409900001C0B5 +:109AE00080040D404807C8570401F05B836C058073 +:109AF000000000000400047859A0040859A01208CE +:109B0000900001C08008154059A0040959A01A0905 +:109B1000900001C0800C1D40420000000010E6CE05 +:109B2000480FC857480BC8574200080000001000F3 +:109B30000201F000001039BB59A00A0859A004081E +:109B4000900001C080041D40820C0C800010C29E59 +:109B500004021465820C0C800010000004001462E2 +:109B6000480FC857823C7C000000000D503C0800A4 +:109B7000800409C004000006823C0580000000113A +:109B800004000459803C78000401F7F959E41001FD +:109B900082080D00FFFEFFCF4807C801440C780083 +:109BA000460018000201F800800C1800460018005A +:109BB0000010031E480BC8010401F02759A01A0821 +:109BC00059A00408900001C0800C1D40480C780387 +:109BD00059A0220959A00409900001C08010254015 +:109BE0004810780459A0020A400010004800780785 +:109BF000800000400400143C48007808420008003F +:109C0000000040000201F80000106CBE800005401A +:109C1000040000020401F43440040000800C1C0025 +:109C2000040014314800780A480C7805481078067A +:109C30004978780C59A0040A800000C44800780BC9 +:109C400059E400014803C8578200054000040000A1 +:109C50004803C8010201F000001022F2497878039D +:109C600049787804497878084978780749787803FA +:109C700049787805497878064978780C4978780BDE +:109C800059E40001840005240401F7F259A80005F5 +:109C90004803440759A800064803420859A800078A +:109CA000480344080201F000001022F20201F8000B +:109CB0000010032E4803C8564A03C0130380030054 +:109CC0004A03C0140380038059A00C078204058056 +:109CD000000000A00400000482040580000000A22F +:109CE0000402002159A0140B820804800000010026 +:109CF0000402101D59A0020C8C000500040200266D +:109D000059A00A0B800409C00400001782040480D3 +:109D100000000041040210140201F8000010398E06 +:109D20000400000B59A01008900811C059A0180A8F +:109D3000900C19C059A00A0B0201F800001039B5A7 +:109D40004A01D8080010275D1C01F0004A034407AF +:109D5000000000024A03C014038000000201F0006A +:109D6000001023354A03C014038000000201F000F4 +:109D7000001023394031D80058EF400A58EE580CF3 +:109D800058EC000282000580000002000200000082 +:109D90000010232D59A00C0759A0140B59A0020C38 +:109DA0008C00050004020039832E5C0000000005D1 +:109DB0004178C00059A0BA0B40600000812C04001B +:109DC0005000C80082641D00000000FF4C04000029 +:109DD0004C0800000401F8C55C0010005C0008009D +:109DE00004000034805CB8400400002E800810009D +:109DF00082641D000000FF00800C19104C0400005C +:109E00004C0800000401F8B95C0010005C00080078 +:109E100004000028805CB840040000228008100084 +:109E200082641D0000FF0000800C19204C0400001B +:109E30004C0800000401F8AD5C0010005C00080054 +:109E40000400001C805CB84004000016800810006C +:109E500082641D00FF000000800C19304C040000DB +:109E60004C0800000401F8A15C0010005C00080030 +:109E700004000010805CB8400400000A8008100054 +:109E80008060C0000401F7CD59A0020B82000500DC +:109E9000000000FF400018000401F89404000005D1 +:109EA0004A03C014038000000201F000001022F2F7 +:109EB0004A03C014038000004A0344070000000462 +:109EC0000201F000001023354803C85659A808784D +:109ED0008C040D3E040200054A03C01303800300F6 +:109EE0004A03C0140380038059A00C078204058034 +:109EF000000000A00400000482040580000000A20D +:109F00000402007659A0140B8208048000000100AE +:109F10000402107259A0020C8C0005000402005DBE +:109F200059A01A0B800C19C00400006C820C04802C +:109F300000000041040210690201F8000010398E8F +:109F40000402000B4A0344070000000259A80878E5 +:109F50008C040D3E040200034A03C0140380000079 +:109F60004803C8570201F0000010233559A80078B3 +:109F70008C00053E020200000010BA31832E5C0006 +:109F8000000000054178C00059A0BA0B4803C8572B +:109F900040600000812C04004000C8004C04000018 +:109FA0004C0800000401F8875C0010005C00080009 +:109FB000040000444414C800805CB8400400002B36 +:109FC000800810004C0400004C0800000401F87DDB +:109FD0005C0010005C0008000400003A50640000BF +:109FE000801428D0801405404400C800805CB8402C +:109FF0000400001E800810004C0400004C08000003 +:10A000000401F8705C0010005C0008000400002DE2 +:10A0100050640000801428E0801405404400C8000B +:10A02000805CB84004000011800810004C0400005F +:10A030004C0800000401F8635C0010005C0008009C +:10A040000400002050640000801428F080140540B3 +:10A050004400C800805CB840040000048008100080 +:10A060008060C0000401F7CA59A00A0B59A010086B +:10A07000900811C059A0180A900C19C04A03C014C6 +:10A0800003800000412C00000201F000001039B8EC +:10A090004803C85759A800788C00053E020200000A +:10A0A000001023390401F84704000006481744074C +:10A0B0004A03C014038000000201F000001022F2E5 +:10A0C0004A03C014038000004A0344070000000450 +:10A0D0000201F000001023354A03C0140380000081 +:10A0E0000201F000001023394C5C00004C600000BD +:10A0F0004C6400004004B8004008C000400CC80098 +:10A100000401F87A040000120401F8B204020014F9 +:10A110004060B8000401F8AF040200114064B800C8 +:10A120000401F8AC0402000E0401F8964CE80000AB +:10A130004201D000000013880201F8000010669E62 +:10A140005C01D00082000540000000015C00C800F6 +:10A150005C00C0005C00B8001C01F0000401F8893C +:10A16000800005800401F7FA4C5C0000485FC85786 +:10A170000401F85E0400000A825CBD40000000019A +:10A180000401F8940402000A0401F8DC0401F91641 +:10A190000401F87C82000540000000014803C85714 +:10A1A0004867C8575C00B8001C01F0000401F8754E +:10A1B000800005804803C857485FC8570401F7F876 +:10A1C0004C5C00004C6000004C6400004807C8571D +:10A1D000480BC8574004B8004008C0000401F843C9 +:10A1E0000400000D0401F87B040200104C5C000028 +:10A1F0004060B8000401F8775C00B8000402000B6E +:10A200000401FFDA040000040401F85E8200054046 +:10A2100000000001406428005C00C8005C00C00031 +:10A220005C00B8001C01F0000401F85680000580B5 +:10A230004803C8574867C8570401F7F74CE80000BF +:10A240004C5800004803C8564200B0000000000C03 +:10A250004201D0000000000A0201F8000010669ED2 +:10A260004A03C013020002004201D0000000000AAD +:10A270000201F8000010669E4A03C01302000000AD +:10A280008058B040040207F342000800000003E8D1 +:10A290004A03C01303800300800408400400001038 +:10A2A0004A03C0140380000059E000134A03C0149D +:10A2B0000380038082000500000003008200058007 +:10A2C00000000300040207F38200054000000001C3 +:10A2D0005C00B0005C01D0001C01F0004803C857CE +:10A2E000800005800401F7FB4CE800004803C856D5 +:10A2F00042000800000003E84A03C0130380030083 +:10A30000800408400400001B4A03C01403800000BE +:10A3100059E000134A03C014038003808200050043 +:10A32000000003008200058000000300040207F320 +:10A330004201D0000000000A0201F8000010669EF1 +:10A340004A03C013010000004201D0000000000ACF +:10A350000201F8000010669E4A03C01302000000CC +:10A3600082000540000000015C01D0001C01F000EB +:10A370004803C8570401FFB2040207EE0401F7FBCB +:10A380004803C8564A03C013010000004CE800000F +:10A390004201D0000000000A0201F8000010669E91 +:10A3A0005C01D0004A03C013020002004CE8000028 +:10A3B0004201D0000000000A0201F8000010669E71 +:10A3C0005C01D0004A03C013010001001C01F00031 +:10A3D0004C5C00004C600000485FC8574200C00061 +:10A3E00000000008825C050000000080800000C2C0 +:10A3F00082000540010000004803C0134CE8000043 +:10A400004201D0000000000A0201F8000010669E20 +:10A410005C01D0004A03C013020002004CE80000B7 +:10A420004201D0000000000A0201F8000010669E00 +:10A430005C01D0004A03C01302000000805CB8C277 +:10A440008060C040040207E84A03C0130100010015 +:10A450004CE800004201D0000000000A0201F800B0 +:10A460000010669E5C01D0004A03C0130200020087 +:10A470004CE800004201D0000000000A0201F80090 +:10A480000010669E5C01D0004A03C01403800000E7 +:10A4900042000800000003E859E0B813825CBD00E8 +:10A4A000000001008004084004000004405C00003B +:10A4B00080000540040207F94A03C01403800380AA +:10A4C0004A03C013020000004CE800004201D00023 +:10A4D0000000000A0201F8000010669E5C01D00036 +:10A4E000485FC857405C0000800005405C00C00029 +:10A4F0005C00B8001C01F0004C6000004803C85626 +:10A500004A03C013010001004200C000000000081F +:10A510004200C800000003E84CE800004201D000FF +:10A520000000000A0201F8000010669E5C01D000E5 +:10A530004A03C013020002004A03C0140380000053 +:10A5400059E000134A03C014038003808200050011 +:10A5500000000200040200038064C840040207F700 +:10A560004178C8000401F0094CE800004201D00025 +:10A570000000000A0201F8000010669E5C01D00095 +:10A580004A03C013020002004CE800004201D00060 +:10A590000000000A0201F8000010669E5C01D00075 +:10A5A0004A03C0140380000059E000134A03C0149A +:10A5B000038003808200050000000100800001107C +:10A5C0008064C8C28064CD404A03C013020000000A +:10A5D0008060C040040207E54867C8575C00C000BF +:10A5E0001C01F0004803C8564A03C01301000100D3 +:10A5F0004CE800004201D0000000000A0201F8000F +:10A600000010669E5C01D0004A03C01302000200E5 +:10A610004CE800004201D0000000000A0201F800EE +:10A620000010669E5C01D0004A03C01302000000C7 +:10A630001C01F00059A0040859A8082A4803502A10 +:10A640004807440859A00A0A820404800000001444 +:10A650000402100342000800000007D059A8002B94 +:10A660004807502B4803420A0201F000001022F272 +:10A67000836C0580000000000400000E59A800054E +:10A6800059A00C07800415808208150000000040C6 +:10A6900002000000001022F28008058048035005E7 +:10A6A0000201F8000010041A0201F000001022F26A +:10A6B00059A0040759A808054803500580040D80D7 +:10A6C0008C040D0C020208000010041A59A00208A4 +:10A6D0004803500659A00408480350070201F0003F +:10A6E000001022F259A800788C00053E02000000FC +:10A6F0000010232959A00C078C040D000400002130 +:10A700004A034407000000018C0005060202000015 +:10A71000001023354A0344070000000959AA68794C +:10A720000201F80000104A7A0202000000102335EE +:10A730004A034407000000030201F80000020B7FF7 +:10A74000020000000010233548EE602A4A01D808B4 +:10A75000001029DC4A026407000000124936600A32 +:10A7600042027000000000D70201F00000020BC599 +:10A7700059A00407800001C0020200000010233528 +:10A780000201F8000010B94F0201F000001022F29F +:10A790008D0E1D0E040000054A0344070000000151 +:10A7A0000201F000001023350201F800001051559D +:10A7B000040200054A034407000000160201F000ED +:10A7C00000102335836C05800000000304000005A1 +:10A7D0004A034407000000070201F000001023357F +:10A7E00059A00C0782040500FFFFFF0002020000D1 +:10A7F0000010233982041580000000FF04020007C6 +:10A8000059A8000F82000500000000FF82001540DB +:10A810000000FF000401F011820404000010214236 +:10A8200050000000800001108200058000000080C0 +:10A83000020000000010233959A8000F8200050013 +:10A84000000000FF80041580020000000010233982 +:10A85000840409C0800415400201F80000107F4301 +:10A86000040200054A034407000000030201F0004F +:10A870000010233548EE602A480A621D4A02641D12 +:10A880000000BC094A026407000000010201F80050 +:10A890000010398E040200070201F80000020BA12B +:10A8A0004A034407000000020201F00000102335B3 +:10A8B000497A5A05497A58064A025C050000800028 +:10A8C0004A01D80800102A8A492E60094202700005 +:10A8D000000000320201F00000020BC58D0E1D0EBB +:10A8E000040000054A034407000000010201F000D3 +:10A8F000001023350201F800001051550402000534 +:10A900004A034407000000160201F000001023353E +:10A91000836C058000000003040000054A0344071F +:10A92000000000070201F0000010233559A00C07B9 +:10A9300082040500FFFFFF0002020000001023391F +:10A9400082041580000000FF0402000759A8000FD0 +:10A9500082000500000000FF820015400000FF009B +:10A960000401F01182040400001021425000000094 +:10A9700080000110820005800000008002000000BD +:10A980000010233959A8000F82000500000000FFC5 +:10A99000800415800200000000102339840409C0DF +:10A9A000800415400201F80000107F4304020005F6 +:10A9B0004A034407000000030201F00000102335A1 +:10A9C00048EE602A480A621D4A02641D0000BC0568 +:10A9D0004A026407000000010201F8000010398EED +:10A9E000040200070201F80000020BA14A03440719 +:10A9F000000000020201F00000102335497A5A05D8 +:10AA0000497A58064A025C05000080004A01D808CD +:10AA100000102A8A492E60094202700000000032AC +:10AA20000201F00000020BC5592C000682000580CF +:10AA30000100000002020000001022F24A03440755 +:10AA4000000000040201F00000102335497B440798 +:10AA5000497B42088D0E1D200400000859A8004DB6 +:10AA600059A8084E8004048059A8084F4807440795 +:10AA700080041480480B42080201F80000103ADDFF +:10AA80004803440859A8100D59A8025180080480B1 +:10AA90004803420A495F440A59A8001A4803420C75 +:10AAA0004A03440C0000007F59A800788C00053E42 +:10AAB000040000034A03440C0000003F0201F000C0 +:10AAC000001022F28D0E1D0E040000054A034407FB +:10AAD000000000010201F0000010233559A0040716 +:10AAE0008C0005000402000F59A800508164048006 +:10AAF0000400100859A8000B8150058004000009CB +:10AB000059A8004E59A8104D800805800400000582 +:10AB10004A034407000000180201F000001023352A +:10AB2000850E1D584803C856850E1D460201F800C3 +:10AB300000103C650201F000001022F2599C020155 +:10AB400048035062417808004200100000003B10AA +:10AB50000201F80000106CDD480B50631C01F0008E +:10AB60000401F8074201880000000000040200030D +:10AB700042018800000000011C01F0008200054035 +:10AB8000000000010402500D4203E00080000000BC +:10AB900040E8100041780800420000000000006416 +:10ABA0000201F80000106CDD5994002E80080400AA +:10ABB0004803282E800005801C01F0004D90000005 +:10ABC0004DD000004DA400004D140000417A30002B +:10ABD0000201F800001075360201F800001070BA8A +:10ABE0005C0228005C0348005C03A0005C032000BA +:10ABF0001C01F000420008000000007C0201F80087 +:10AC0000001012F34A03902C002000004200B00014 +:10AC1000000001F459C8002C8C00052C040000072A +:10AC20008058B040040207FC4200000000004003CE +:10AC3000417810000401F1314A03506B000000021A +:10AC40004200600000102C52503010004178480043 +:10AC50004A03902D000080004200B000000001F483 +:10AC600059C8002C8C000534040000078058B040FF +:10AC7000040207FC4200000000004003417810007D +:10AC80000401F11E0401F8A28024480082240580FA +:10AC9000000003B1040207FC0401F92741784800D1 +:10ACA0000401F8C88024480082240580000003B114 +:10ACB000040207FC803060008230058000102C54B4 +:10ACC000040207E259A8086A800409C004000007CA +:10ACD000420000000000400442001000000000029A +:10ACE00059A818690401F1054200600000102C52B7 +:10ACF0004A03506B000000105030100041784800AB +:10AD00004A03902D000008000401F88180244800C7 +:10AD10008224058000000018040207FC0401F906E3 +:10AD2000417848000401F8A7802448008224058067 +:10AD300000000018040207FC8030600082300580AB +:10AD400000102C54040207ED59A8086A800409C0B9 +:10AD50000400000742000000000040044200100010 +:10AD60000000001059A818690401F0E442006000D6 +:10AD700000102C524A03506B0000000850301000A5 +:10AD8000417848004A03902D000004000401F86057 +:10AD9000802448008224058000000088040207FC0B +:10ADA0000401F8E5417848000401F8868024480051 +:10ADB0008224058000000088040207FC80306000C7 +:10ADC0008230058000102C54040207ED59A8086A4F +:10ADD000800409C004000007420000000000400495 +:10ADE000420010000000000859A818690401F0C3CF +:10ADF0004200600000102C524A03506B00000020FB +:10AE000050301000417848004A03902D0000200087 +:10AE10004200B000000001F459C8002C8C0005303D +:10AE2000040000078058B040040207FC4200000004 +:10AE300000004003417810000401F0B059C8002C14 +:10AE400082000500FFE0FFFF82080D00001F0000E8 +:10AE5000800405404803902C0401F82D802448000C +:10AE60008224058000000110040207FC0401F8B2EE +:10AE7000417848000401F85359C8003482080D0095 +:10AE8000001F000082000500001F000080040580F4 +:10AE90000400000659A8006A800000004803506AB8 +:10AEA0004024000048035069802448008224058023 +:10AEB00000000110040207F080306000823005803D +:10AEC00000102C54040207CF59A8086A800409C056 +:10AED0000400000642000000000040044200100090 +:10AEE0000000002059A8186959C8002C8400052AC0 +:10AEF0004803902C420008000000007C0201F8008A +:10AF0000001012F30201F000001022F259C8002CC8 +:10AF100082000500FFFF000082080D000000FFFF17 +:10AF2000800405404803902C480B9028480B90293A +:10AF300059A8006B82004580000000040400000353 +:10AF4000480B902A480B902B59C8002D8200050011 +:10AF5000FFFFFC00802405404803902D4200B00014 +:10AF6000000001F459C8002C820005001800000000 +:10AF7000040000078058B040040207FB42000000B4 +:10AF800000004003417810000401F05C4A03902E59 +:10AF9000000000014200B000000001F459C8002E7A +:10AFA0008C000500040000068058B040040207FC35 +:10AFB00042000000000040030401F0501C01F000BA +:10AFC0004178380059C8002D82000500FFFFFC00C1 +:10AFD00080240D404807902D4200B000000001F48D +:10AFE00059C8002C8200050018000000040000076A +:10AFF0008058B040040207FB4200000000004003FC +:10B00000417810000401F03D59C8183059C800308B +:10B01000800C0D80040207FD80080D8004000002F2 +:10B02000801C380059C8203159C8003180100D806B +:10B03000040207FD80080D8004000002801C380017 +:10B0400059A8006B82004580000000040400001B2A +:10B05000420040000000FFFF59C8283259C80032A2 +:10B0600080140D80040207FD80080D80040000029A +:10B07000801C380059C8303359C8003380180D80FF +:10B08000040207FD80080D8004000002801C3800C7 +:10B0900059C8003459C8083480040D80040207FDE3 +:10B0A00080080D804020000080040D000400000C8A +:10B0B000801C38000401F00A59C8003459C808340B +:10B0C00080040D80040207FD80080D8082040D00BD +:10B0D000000000FF04000002801C3800801C39C002 +:10B0E0000400000559A8006A801C04004803506A47 +:10B0F000482750691C01F0004803420748074407ED +:10B10000480B4208480F44084813420948174409AD +:10B1100059C8002C8400052A4803902C42000800DE +:10B120000000007C0201F800001012F30201F000A0 +:10B13000001022F542000000006000008000004086 +:10B14000040207FF1C01F0005A5A5A5AA5A5A5A5EA +:10B150000201F8000010398E040200054A0344077A +:10B16000000000020201F0000010233542005000F0 +:10B170000010D0D250285000482B40004200A000C0 +:10B180000010D0D359A0040859A01208900811C08B +:10B190008008154059A0040A59A01A0A900C19C039 +:10B1A000800C1D40420248000010D0D3832CAC001C +:10B1B000000000054200B0000000000682500400BC +:10B1C0000000000B480340010201F8000010C12BF1 +:10B1D0004200080000000006800400C480080C0043 +:10B1E00048074002820C0C40000000004807400362 +:10B1F0004200080000000006832C04000000000547 +:10B200000201F800001039BB4A01D80800102C8553 +:10B210001C01F0004031D80058EF400A58EC000201 +:10B220008200058000000200020000000010232DB3 +:10B2300059A0A00159A0100080081040480B400000 +:10B240000400000559A0100259A0180358EE580C2C +:10B250000401F7D7420008000010D0D250040800C3 +:10B26000480744070201F000001022F20201F80032 +:10B270000010398E040200054A0344070000000252 +:10B280000201F0000010233559A00C0B4200000011 +:10B290000010D0D250000000800404800202100090 +:10B2A000001023398204A4000010C1B25050A00045 +:10B2B000832CAC00000000054200B0000000000636 +:10B2C0000201F8000010C12B59A0040859A012086F +:10B2D000900811C08008154059A0040A59A01A0A04 +:10B2E000900C19C0800C1D404200080000000006B0 +:10B2F000832C0400000000050201F000001039BB9F +:10B3000059A00C0B800409C0020000000010233972 +:10B310008204048000000021020210000010233982 +:10B3200082040480000000110400100342000800A1 +:10B330000000001059A0020959A01408900811C07B +:10B340008008154059A0020859A01C07900C19C08C +:10B35000800C1D400201F8000010398E0400000628 +:10B360000201F800001039B24A01D80800102CE19F +:10B370001C01F0004A034407000000020201F00033 +:10B38000001023354031D80058EF400A58EC000235 +:10B390008200058000000200020000000010232D42 +:10B3A00059A00C0B8204048000000011040010035B +:10B3B000420008000000001059A0040C59A0120C13 +:10B3C000900811C08008154059A0020A59A01C0914 +:10B3D000900C19C0800C1D4058EC00030201F800CD +:10B3E000001039BB4A01D80800102CFC1C01F000E9 +:10B3F0004031D80058EF400A58EC00028200058026 +:10B4000000000200020000000010232D59A00C0BC8 +:10B41000820404800000001102001000001022F2DB +:10B4200082040C800000001059A0020959A01408E1 +:10B43000900811C08008154059A0020859A01C07A7 +:10B44000900C19C0800C1D408208140000000040C0 +:10B4500058EC00030201F800001039B24A01D80884 +:10B4600000102D1A1C01F0004031D80058EF400A9E +:10B4700058EC00028200058000000200020000007B +:10B480000010232D59A0040B82000C800000001036 +:10B4900059A0040C59A0120C900811C08008154046 +:10B4A00059A0020A59A01C09900C19C0800C1D401B +:10B4B000820814000000004058EC00030201F8006C +:10B4C000001039BB4A01D808001022EB1C01F00023 +:10B4D00048EFC85759A0020859A01408900001C0AD +:10B4E0008008154059A0020A59A01C0A900001C00A +:10B4F000800C1D4059A0040748034000480B400140 +:10B50000480F40020201F8000010398E04020005C5 +:10B510004A034407000000020201F0000010233536 +:10B5200042000800000000100201F800001039B2CB +:10B530004A01D80800102D4F1C01F0004031D800FE +:10B5400058EF400A58EE580C58EC00028200058073 +:10B5500000000200020000000010232D48EFC85731 +:10B5600049A3C857492FC857592C0A058004091008 +:10B57000040200054A034407000000190201F0001C +:10B58000001023354805D80B0401F00A4031D800DB +:10B5900058EF400A58EC00028200058000000200CB +:10B5A000020000000010232D48EFC85749A3C857D8 +:10B5B00048EFC85749A3C85758EC000B800000401B +:10B5C000040000124801D80B0201F8000010398E67 +:10B5D000040200054A034407000000020201F000D3 +:10B5E00000102335420008000000001058EC10063F +:10B5F00058EC18070201F800001039B24A01D808C7 +:10B6000000102D631C01F00058EE580C48EFC8578D +:10B6100049A3C857492FC857492F3004592C04054E +:10B620008400055E48025C054A01D80800102D8D93 +:10B630001C01F0004D2C000058EE580C48EFC85784 +:10B6400049A3C857492FC857592C04058400051E23 +:10B6500048025C0559A0000059A0100159A0180229 +:10B6600080081400820C1C4000000000832C0400A1 +:10B670000000000542000800000000105C025800B5 +:10B680000201F000001039BB8D0E1D0E04000005F4 +:10B690004A034407000000010201F00000102335B6 +:10B6A000836C058000000003040000054A03440782 +:10B6B000000000070201F0000010233559A0320CF1 +:10B6C00082183500000000FF59A28C070201F80023 +:10B6D00000103A9602020000001023390201F8001F +:10B6E00000104AD402020000001023398344058070 +:10B6F000000007FD040000080201F80000104A7471 +:10B70000040000054A034407000000090201F0009C +:10B71000001023350201F8000010398E04020005E4 +:10B720004A034407000000020201F0000010233524 +:10B73000801831C00400000A412C08000201F80002 +:10B740000010398E040200054A034407000000027D +:10B750000201F00000102335400658004A025C0543 +:10B7600000008000497A5A050201F800001099E9AA +:10B77000040200054A034407000000030201F00030 +:10B78000001023354A01D80800102DE41C01F000F8 +:10B79000592C00068200058001000000040200050B +:10B7A0004A034407000000040201F00000102335A2 +:10B7B000592C040782002D000000FF0082000500C4 +:10B7C000000000FF80000904800408008204048057 +:10B7D00000000006040010034200080000000005FD +:10B7E0004C5000004C5400004C580000832CA40026 +:10B7F000000000074050A8004004B0000201F8001B +:10B800000010C15559A0040859A01208900811C091 +:10B810008008154059A0040A59A01A0A900C19C0B2 +:10B82000800C1D40832C0400000000074C14000015 +:10B830000201F800001039BB5C002800801429C008 +:10B84000040000034A01D80800102E175C00B00065 +:10B850005C00A8005C00A0001C01F0004031D80092 +:10B8600058EF400A58EE580C58EC00028200058050 +:10B8700000000200020000000010232D812E59C09C +:10B88000020008000010032E592C0007820005005A +:10B89000FF00000080000904800409C002000000CD +:10B8A000001022F24807C857820404800000000EEE +:10B8B00004001003420008000000000D592E58013A +:10B8C000812E59C0020008000010032E4C500000C9 +:10B8D0004C5400004C580000832CA40000000006CB +:10B8E0004050A8004004B0000201F8000010C1550B +:10B8F0005C00B0005C00A8005C00A00058EC1006E2 +:10B9000058EC1807832C0400000000060201F00028 +:10B91000001039BB0201F8000010398E0402000546 +:10B920004A034407000000020201F0000010233522 +:10B9300059A00C07820405000000FF00840001C02C +:10B94000820014800000000702021000001023395A +:10B950000C01F00100102E5C00102E6300102E6A06 +:10B9600000102E6A00102E6A00102E6C00102E712E +:10B97000420008000000000D4200380000102E8533 +:10B980004A0340000010CC460401F01342000800B6 +:10B990000000000D4200380000102E854A034000D0 +:10B9A0000010CC530401F00C0201F0000010233908 +:10B9B00042000800000000084200380000102E98E5 +:10B9C0000401F005420008000000000442003800B5 +:10B9D00000102EE259A0020859A01408900001C0DE +:10B9E0008008154059A0020A59A01C0A900001C005 +:10B9F000800C1D40832C0400000000064C1C00003D +:10BA00000201F800001039B25C003800481DD80867 +:10BA10001C01F0004031D80058EF400A58EE580C95 +:10BA200058EC0002820005800000020002000000C5 +:10BA30000010232D4A035019000000014200B000FD +:10BA40000000000D59A0A800832CA40000000006EF +:10BA50000201F8000010C1550201F000001022F2AE +:10BA60004031D80058EF400A58EE580C58EC00020C +:10BA70008200058000000200020000000010232D5B +:10BA8000832CA40000000006505000008200150026 +:10BA9000000C0016020200000010233982500C0036 +:10BAA00000000003500400008200150000000001A7 +:10BAB00002020000001023395050000082001500DF +:10BAC000000000280400001D8208158000000028E6 +:10BAD00002020000001023398050080050040000CA +:10BAE000820015000000001382081580000000137A +:10BAF00002020000001023398004080050040000F6 +:10BB00008200150000050000820815800005000075 +:10BB10000202000000102339836C05800000000041 +:10BB200004000012599C00198C00050E0402000F3D +:10BB30000201F0000010233980500800500400007A +:10BB400082001500000000130202000000102339DB +:10BB50008004080050040000820015000005000069 +:10BB600002020000001023394200B000000000086B +:10BB70004200A8000010CC3E0201F8000010C12BCA +:10BB80000201F000001022F24031D80058EF400AC4 +:10BB900058EE580C58EC00028200058000000200AC +:10BBA000020000000010232D4200B000000000043D +:10BBB0004200A8000010D0CD832CA4000000000695 +:10BBC0000201F8000010C12B850E1D500201F0008B +:10BBD000001022F20201F8000010398E0402000564 +:10BBE0004A034407000000020201F0000010233560 +:10BBF000832CAC000000000659A00C07820405004D +:10BC00000000FF00840001C08200148000000008D2 +:10BC100002021000001023390C01F00100102F0F58 +:10BC200000102F1200102F1500102F1500102F15C7 +:10BC300000102F1700102F1500102F1F4200A0001A +:10BC40000010CC460401F0554200A0000010CC5377 +:10BC50000401F0520201F000001023394200B0004C +:10BC600000000008405808004200A0000010CC3E30 +:10BC70000201F8000010C12B0401F04D59A00A0B7D +:10BC80004A03420B0000001C820404800000001CD8 +:10BC900002001000001023394200B0000000000F25 +:10BCA0004178A0000201F8000010C134832CAC00E0 +:10BCB000000000064200B0000000000483A8A400B9 +:10BCC0000000001F0201F8000010C12B836C0580EA +:10BCD00000000000040000074200B0000000000463 +:10BCE00083A8A400000000000201F8000010C12B8E +:10BCF000492F40000201F8000010398E04020005AF +:10BD00004A034407000000020201F000001023353E +:10BD1000832CAC00000000064200B0000000000FC1 +:10BD20004178A0000201F8000010C134832CAC005F +:10BD3000000000074200B0000000000483A8A40037 +:10BD4000000000230201F8000010C12B492F400120 +:10BD500059A2580059A0020859A01408900001C027 +:10BD60008008154059A0020A59A01C0A900001C081 +:10BD7000800C1D40832C04000000000642000800D7 +:10BD80000000000F0201F800001039BB4A01D8087A +:10BD900000102F771C01F0004200B0000000000DE1 +:10BDA000405808000201F8000010C15559A00208CF +:10BDB00059A01408900001C08008154059A0020A3B +:10BDC00059A01C0A900001C0800C1D40832C040067 +:10BDD000000000060201F000001039BB4031D8001D +:10BDE00058EF400A58EC0002820005800000020073 +:10BDF000020000000010232D59A2580158EC100633 +:10BE000058EC1807832C04000000000642000800CC +:10BE10000000000D0201F000001039BB836C0580AA +:10BE200000000000040200054A0344070000000768 +:10BE30000201F0000010233559A01407800811C03A +:10BE40000402001759C4080182040D00000180009B +:10BE50008204058000000000040200044A03440735 +:10BE6000000000000401F0568204058000008000FC +:10BE7000040200044A034407000000010401F050DA +:10BE80008204058000010000020208000010032E59 +:10BE90004A034407000000030401F04959A8007850 +:10BEA0008C00053E0400000D59A00A08820405809C +:10BEB0000000000304000005820405800000000269 +:10BEC00002020000001023394200000000000003BD +:10BED000400008000401F00B59A800708C00050810 +:10BEE00004000005420000000000000140000800BE +:10BEF0000401F00459A002084803400259A8083779 +:10BF000048035037599C7819823C7D00FFFF1FFF82 +:10BF1000800000DA803C7D40483F38190201F8007B +:10BF20000010164C0400000D0201F8000010165A13 +:10BF30000400000A0201F80000101668040000075F +:10BF40000201F8000010167604000004480750377C +:10BF50000201F00000102339820805800000000271 +:10BF60000402001759C4000684000500480388062F +:10BF70000201F800001071F4497B88804200000043 +:10BF80000010D08B0201F8000010C0584803C856BA +:10BF9000850E1D484A038808000000004202D800B0 +:10BFA000000000044A038805000000014A035043D2 +:10BFB000000000010201F800001004550201F00029 +:10BFC000001022F28D0E1D0E040000054A034407E6 +:10BFD000000000010201F00000102335836C058091 +:10BFE00000000003040000054A03440700000007A6 +:10BFF0000201F0000010233559A28C0759A0320C21 +:10C0000082183500000000FF0201F80000103A9687 +:10C0100002020000001023390201F80000104AD487 +:10C02000020200000010233983440580000007FD50 +:10C03000040000080201F80000104A740400000522 +:10C0400042000800000000090201F0000010233542 +:10C050000201F8000010398E040200054A0344076B +:10C06000000000020201F00000102335497A5A0551 +:10C070004A025C05000080000201F80000109A01ED +:10C08000040200054A034407000000030201F00017 +:10C09000001023354A01D808001030281C01F00098 +:10C0A000592C000682000D000000FFFF82000500F1 +:10C0B000FFFF00008200058001000000040200056F +:10C0C0004A034407000000040201F0000010233579 +:10C0D000800409044C5000004C5400004C580000EF +:10C0E000832CA400000000064050A8004004B000CB +:10C0F0000201F8000010C1555C00B0005C00A8000F +:10C100005C00A00059A0020859A01408900001C0CA +:10C110008008154059A0020A59A01C0A900001C0CD +:10C12000800C1D40832C0400000000060201F0007A +:10C13000001039BB496FC857836C058000000000B0 +:10C14000040000054A0344070000001A0201F00041 +:10C15000001023350201F8000010515502020800BA +:10C1600000104151420008000000002059A00408BE +:10C1700059A01208900811C08008154059A0040A5F +:10C1800059A01A0A900C19C0800C1D40419C000057 +:10C1900049A3C8570201F800001039B24A01D80873 +:10C1A0000010306A1C01F0004833C85759A80078C5 +:10C1B0008C00053E020208000010B8FA4031D80099 +:10C1C00058EF400A58EC000282000580000002008F +:10C1D000020000000010232D599C0200800001C0C5 +:10C1E000020000000010233959A800708C000504DB +:10C1F000040200038C00050604000004599C001989 +:10C200008400050C480338190201F8000010A20D43 +:10C2100059A800708C00050204000004599C001706 +:10C220008400050848033817850E1D20599C001707 +:10C230008C00050804000003850E1D600401F00851 +:10C240008C00050A020200000010233959A80806D4 +:10C250008C040D160202000000102339420248002F +:10C260000010D0D34A024A00000000044200080037 +:10C270000010D0D246000800000000014200080073 +:10C280000010D0D1460008000000FFFF59240C0028 +:10C2900084040D46599C10178C08150A04020002EC +:10C2A00084040D488C0815080402000284040D4A19 +:10C2B00084040D4C48064C0059240A0084040D40A7 +:10C2C00048064A004803C8578C00050404020004CD +:10C2D00059C408A384040D7A480788A38C0005027A +:10C2E0000402000459C408A384040D08480788A365 +:10C2F000599C0C028C0005000402000B8C000516F2 +:10C30000040000234C00000059240400840005426E +:10C31000840411C080081540480A4C005C000000ED +:10C320000401F0084C00000059240400840005407A +:10C33000840411C080081540480A4C005C000000CD +:10C34000820414800000007F0202100000102339D4 +:10C3500082041400001021425008100082081500C9 +:10C36000000000FF48064A08480A4805480A4C08E9 +:10C370008C00050004020006480B500F4200080024 +:10C38000000000030201F80000106EA80201F8008E +:10C3900000103A58040000045924040084000544A5 +:10C3A00048024C00599C001942000800000010008F +:10C3B0005004080082040C802432000104001003A1 +:10C3C00084000546480338198C0005060400000F58 +:10C3D0004A03B8059000000059A810078C081516EC +:10C3E0000402000A42000800000076004A00080526 +:10C3F000D0000000420008000010CC9B580414013B +:10C400008408154248080C018C00050E0402000740 +:10C410004C0000000201F80000103B015C0000002D +:10C4200002020000001023398200050000000030E5 +:10C4300004000003800001080401F0034200000032 +:10C440000000000248039040420008000000000283 +:10C4500082000400001032E2500010000201F800D7 +:10C4600000106EA8599C020182000C80000001009F +:10C47000020010000010233982000C8000000841E7 +:10C48000020210000010233982000500000000079E +:10C490000202000000102339599C0401800005406D +:10C4A0000200000000102339599C0409599C0C0714 +:10C4B00080040C800202100000102339800000402C +:10C4C0000200000000102339599C0209599C0A07F8 +:10C4D00080040C800202100000102339800000400C +:10C4E00002000000001023390201F800001055FA84 +:10C4F0000201F80000104E31599C0201480350041B +:10C500000201F8000010129A599C020A800001C032 +:10C5100004000003480350310401F0034A03503182 +:10C52000000000C88D0E1D20040000040201F80068 +:10C53000001066E4417A5000599C0003599C08049D +:10C540009C0001C09C0409C04802480148064802FA +:10C550004803500248075003599C10178C08151CBB +:10C5600004000006599C0005599C08069C0001C067 +:10C570009C0409C00401F00382000500F0FFFFFFE6 +:10C580004802480348064804480350004807500141 +:10C59000420010000010CC46480010004804100172 +:10C5A000420010000010CC53480010004804100155 +:10C5B00059A002078200058000000048040200DE46 +:10C5C0000201F8000010398E040200054A034407F6 +:10C5D000000000020201F0000010233542000800B4 +:10C5E0000000001059A0020859A01408900001C0D2 +:10C5F0008008154059A0020A59A01C0A900001C0E9 +:10C60000800C1D4082081400000000808208340065 +:10C6100000000040481B4002820C34400000000033 +:10C62000481B4003832C0400000000050201F800B1 +:10C63000001039B24A01D808001031901C01F000F6 +:10C640004031D80058EF400A58EE580C58EC000220 +:10C650008200058000000200020000000010232D6F +:10C66000592C1005480BC857800801204202480089 +:10C670000010D0D348024C06820815000000FFFFCE +:10C68000599C081882040D000000003082040580C7 +:10C690000000000004020006820804800000007E02 +:10C6A00002021000001023390401F00759A8007895 +:10C6B0008C00053E04000004820804800000004055 +:10C6C0000401F01C0201F8000010C18D04000017E5 +:10C6D000820804800000008102021000001023394B +:10C6E000420000000010D0D244080000800811C0B1 +:10C6F00002000000001023394008080042024800F0 +:10C700000010D0D3832E5C0000000006592C0400DA +:10C710008C00050604020014592402008400050060 +:10C7200048024A000401F0108208048000000080E2 +:10C7300002021000001023398008080042000000A7 +:10C740000010D0D244040000800811C00400007A18 +:10C75000420248000010D0DE80040840832E5C00B6 +:10C76000000000064200400000000003592C0400B5 +:10C770008C000506040000128C00050A0402000467 +:10C780008D0E1D2002000000001023394A024A00CD +:10C7900000000005820015000000000304000006F0 +:10C7A000840011C082081500000000FF480A4A08F2 +:10C7B0000401F00382000500000000FF48024C0065 +:10C7C000592C0001592C10029C0001C09C0811C07A +:10C7D00048024801480A4802599C18178C0C1D1C35 +:10C7E00004000006592C0003592C10049C0001C0C1 +:10C7F0009C0811C00401F00382000500F0FFFFFF58 +:10C8000048024803480A4804832E5C0000000005E3 +:10C8100083264C000000000B800408400400002424 +:10C8200080204040040207D24807400049274001C9 +:10C83000420008000000000F59A0100259A0180380 +:10C84000820834000000003C481B4002820C344047 +:10C8500000000000481B400358EE580C832C0400D5 +:10C86000000000050201F800001039B24A01D808A2 +:10C870000010321E1C01F0004031D80058EF400A71 +:10C8800058EC000282000580000002000200000057 +:10C890000010232D58EE580C832E5C00000000057C +:10C8A00059A0080059A248010401F7AF0201F8009D +:10C8B0000010C18D04000011420068000010D0D3A8 +:10C8C0004200B0000010D0D25058B00058340400DC +:10C8D0008C00050604000005583402008400055E43 +:10C8E00048006A000401F00582346C000000000B6F +:10C8F0008058B040040207F6420068000010D0D310 +:10C900004200B0000010D0D25058B0008058B04063 +:10C9100004000009420248000010D0DE583402062C +:10C9200048024A0683264C000000000B8058B040A5 +:10C93000040207FB59A800708C00050804020017C8 +:10C940008C00050A04020023599C10198208150066 +:10C950000000E00082080580000000000402000CD6 +:10C960004A035037000000004200000000000001B0 +:10C970000201F800001018C9420000000000000188 +:10C980000201F8000010184F0401F0308208058001 +:10C99000000020000402000C4A0350370000000190 +:10C9A00042000000000000000201F800001018C959 +:10C9B00042000000000000000201F8000010184FC3 +:10C9C0000401F022820805800000400004020006F5 +:10C9D0004A035037000000024A03504300000001A0 +:10C9E0000401F01A820805800000600002020000C5 +:10C9F0000010233959A808788C040D3E0402000960 +:10CA000059A8084782040D800139107704020005F7 +:10CA100059E008138C040D000202000000102339B5 +:10CA20004A035037000000034200000000000002EB +:10CA30000201F800001018C94200000000000002C6 +:10CA40000201F8000010184F599C101982081500B7 +:10CA50000000E000599C00198C0005200400000D26 +:10CA600042000000000000044200080000000040F6 +:10CA70000201F8000010196B4200000000000010D5 +:10CA800042000800000000C00201F8000010196B0D +:10CA90004A0350130000AAAA599C101882081500D6 +:10CAA0000000003059A8006D800005400400000C13 +:10CAB00082080580000000000200000000102339F9 +:10CAC000599C101882081500FFFFFFCF82081540FF +:10CAD00000000010480B38180401F01082080D8087 +:10CAE000000000000400000782080D800000001014 +:10CAF0000400000A82080D800000002004020002E9 +:10CB0000480750130201F80000103A5304000008CF +:10CB10004803C856850E1D460201F8000010162D68 +:10CB200059A8001F800405404803501F49F3C85707 +:10CB300042001000001050710201F8000010653C26 +:10CB400042001000001050600201F8000010668BD7 +:10CB50004A038805FFFFFFFF4A03C014004000405E +:10CB60004A03C013004000000201F8000010497A97 +:10CB700059A0001E840005404803401E49F3C857D1 +:10CB80000201F000001022F2000000180000000C6A +:10CB90000000001800000020836C058000000000E9 +:10CBA0000402000542000800000000070201F00036 +:10CBB00000102335420008000000002059A004089E +:10CBC00059A01208900811C08008154059A0040A05 +:10CBD00059A01A0A900C19C0800C1D40419C0000FD +:10CBE0000201F000001039BB8D0E1D0E040000057F +:10CBF0004A034407000000010201F0000010233541 +:10CC00000201F80000105155040200054A034407D0 +:10CC1000000000160201F0000010233559A800564C +:10CC20008C000500040000114A03440700000000C6 +:10CC3000420008000000002059A0040859A0120872 +:10CC4000900811C08008154059A0040A59A01A0A7A +:10CC5000900C19C0800C1D40420000000010E353EE +:10CC60000201F000001039BB4A0344070000000134 +:10CC70004200B000000000204200A8000010E35372 +:10CC80004200A000FFFFFFFF4450A8008054A8000E +:10CC90008058B040040207FD4D4400004D340000B0 +:10CCA00042028800FFFFFFFF42002000FFFFFFFF5E +:10CCB0004200300000000001420038000000000186 +:10CCC000420018000010E35359A8100F8208150005 +:10CCD000000000FF401800000C01F0010010333B81 +:10CCE0000010333E001033420010334682102500FE +:10CCF000FFFFFF000401F01482102500FFFF00FF7A +:10CD0000840811C00401F01082102500FF00FFFF0D +:10CD1000900811C00401F00C8210250000FFFFFFF5 +:10CD20009C0801C0801025404410180042003000CB +:10CD3000FFFFFFFF42002000FFFFFFFF800C1800F5 +:10CD40000401F0034008000080102540814688005F +:10CD500083442C800000007F040210144C08000063 +:10CD60004C0C00004C1800004C1C00000201F800A4 +:10CD70000002034E5C0038005C0030005C001800CC +:10CD80005C001000040207F20201F80000104A875C +:10CD9000040207EF80183000801C3800593412025A +:10CDA000401800000C01F7CE82100580FFFFFFFF46 +:10CDB0000400000244101800420018000010E35361 +:10CDC000500C000082000500FFFFFF00801C0540A2 +:10CDD000440018005C0268005C0288004200080001 +:10CDE0000000002059A0040859A01208900811C0A2 +:10CDF0008008154059A0040A59A01A0A900C19C0BD +:10CE0000800C1D40420000000010E3530201F000BE +:10CE1000001039BB59A28C070201F80000103A96A5 +:10CE200002020000001023390201F80000104AD469 +:10CE300002020000001023390201F8000010398EB0 +:10CE4000040200054A034407000000020201F0004A +:10CE50000010233559A0020C8C00050004000005C9 +:10CE60000201F80000104A870202000000103A5D3B +:10CE700059A0020C8C0005020400001B83440480AE +:10CE8000000007F0040210180201F80000104A9098 +:10CE900004020015497A5A054A025C050000800028 +:10CEA00059A248050201F800001099CE04020005BD +:10CEB0004A034407000000030201F000001023357C +:10CEC0004A01D808001033B31C01F00059A28C07A6 +:10CED00059A2440B0201F80000104AD402020000DB +:10CEE000001023394C5800004C5000004C540000F6 +:10CEF0004200B0000000000A4134A000832E5C0014 +:10CF000000000002412CA8000201F8000010C12B13 +:10CF1000832CAC00000000064054A0004200B0008A +:10CF2000000000040201F8000010C1555C00A800D8 +:10CF30005C00A0005C00B000592C080282040500CF +:10CF400000FF00FF900001C082041500FF00FF00F9 +:10CF50008008054048025802592C08018204050047 +:10CF600000FF00FF900001C082041500FF00FF00D9 +:10CF70008008054048025801420008000000000AED +:10CF800059A0040859A01208900811C08008154043 +:10CF900059A0040A59A01A0A900C19C0800C1D400F +:10CFA000412C00000201F000001039BB496FC85746 +:10CFB000496F440759A808788C040D3E0200000010 +:10CFC000001022F259A8107882081500000000977E +:10CFD00059A818795934040082000580000004041F +:10CFE0000402000284081546480B44080201F000C0 +:10CFF000001022F259A28C070201F80000103A96A4 +:10D0000002020000001023390201F80000104AD487 +:10D010000202000000102339836C05800000000329 +:10D02000040000054A034407000000070201F00065 +:10D030000010233583340C000000000659A0020CB8 +:10D040008C0005000400000383340C00000000087D +:10D05000580400014803440A900001C04803420AF2 +:10D060005004000048034408900001C048034208EF +:10D0700059340200480344070201F000001022F274 +:10D080008D0E1D0E040000054A0344070000000138 +:10D090000201F0000010233559A0220C8C1025004D +:10D0A0000402002E8C1025060402000659A0320945 +:10D0B00082180480000000030202100000102339CF +:10D0C00059A28C070201F8000002034E0202000080 +:10D0D000001023390201F80000104A740400000512 +:10D0E0004A034407000000090201F0000010233544 +:10D0F0000201F8000010398E040200054A034407BB +:10D10000000000020201F0000010233559A0220C9B +:10D110008C102506040000045934300282183500B2 +:10D1200000FFFFFF497A5A054A025C0500008000B3 +:10D130000201F80000109987040200054A03440721 +:10D14000000000030201F000001023354A01D80856 +:10D15000001034AC1C01F00059A28C070201F80049 +:10D160000002034E02020000001023390201F80001 +:10D1700000104A74040000054A0344070000000937 +:10D180000201F000001023350201F8000010398E72 +:10D19000040200054A034407000000020201F000F7 +:10D1A00000102335497A5A054A025C0500008000C8 +:10D1B0000201F8000010398E040200054A034407FA +:10D1C000000000020201F00000102335592E580023 +:10D1D0000201F8000010999F040200054A03440769 +:10D1E000000000030201F000001023354A01D808B6 +:10D1F0000010347E1C01F000592C280682140D808A +:10D2000001000000040200054A0344070000000476 +:10D210000201F00000102335420008000000000861 +:10D2200059A0020859A01408900001C080081540B8 +:10D2300059A0020A59A01C0A900001C0800C1D4090 +:10D24000832C0400000000060201F800001039BB26 +:10D250008C142D00040000034A01D80800103499F2 +:10D260001C01F0004031D80058EF400A58EE580D2C +:10D2700058EC00028200058000000200020000005D +:10D280000010232D812E59C0020008000010032E2B +:10D290004200080000000008832C04000000000683 +:10D2A00058EC100658EC18070201F000001039BBCA +:10D2B000592C0006820005800100000004020005D0 +:10D2C0004A034407000000040201F0000010233567 +:10D2D00059A0020859A01408900001C08008154008 +:10D2E00059A0020A59A01C0A900001C0800C1D40E0 +:10D2F0004200080000000006832C04000000000724 +:10D300000201F000001039BB59A00A0B800409C0CB +:10D3100002000000001023390201F80000103A96C4 +:10D320000202000000102339820404800000008102 +:10D3300004001003420008000000008059C400856A +:10D340005988100480081400480B1004497B888514 +:10D3500059C400B14803102259C400B24803102137 +:10D3600059C400A248031023598810B7598800B83F +:10D3700080081400598800B980081400598800BA40 +:10D38000800814005988011D80081400598800BBCA +:10D3900080081400480B102459A0020859A0140852 +:10D3A000900001C08008154059A0020A59A01C0A2B +:10D3B000900001C0800C1D40838804000000000024 +:10D3C0000201F800001039BB4A01D808001034F5FA +:10D3D0001C01F0004031D80058EF400A58EC000220 +:10D3E0008200058000000200020000000010232DD2 +:10D3F00059A0020C8C00050004000008838804007A +:10D40000000000004803C8404A03C842000000066C +:10D4100004011000497B88854A034208000000800F +:10D420000201F000001022F28D0E1D0E0400000516 +:10D430004A034407000000010201F00000102335F8 +:10D440000201F80000103A96020200000010233991 +:10D450000201F8000010398E040200054A03440757 +:10D46000000000020201F00000102335497A5A053D +:10D470004A025C050000800059A00407800001C03A +:10D48000020000000010233982001580000000FF18 +:10D490000400000582001480000000040202100055 +:10D4A000001023394000100059A248050201F8007D +:10D4B00000101CAC040200054A03440700000003EE +:10D4C0000201F000001023354A01D808001035355C +:10D4D0001C01F000592C00068200058001000000AC +:10D4E00002020000001022F24A0344070000000478 +:10D4F0000201F0000010233559A014078C0815080C +:10D50000040200078D0E1D0E040000054A034407A7 +:10D51000000000010201F0000010233559A01C0892 +:10D52000820C048000001000020210000010233959 +:10D53000497B2804497B2805497B2826497B2827E5 +:10D54000497B2829497B282A497B282C497B282D7F +:10D550004803C856850E1D068C08150004000005FA +:10D560004803C856830E1D40000000110401F0045A +:10D570008C08150604000002850E1D42850E1D0A4A +:10D580004202D8000000000182081500000000E0FF +:10D590008008010A0C0200380201F8000010515501 +:10D5A0000402000B4A035014000000014A03501308 +:10D5B0000000AAAA0201F800001050AF0401F01FF9 +:10D5C0004A035014000000000401F7F9497B50138E +:10D5D0000201F800001041510201F80000106E81B4 +:10D5E0000201F800001071F40201F80000106E6EE4 +:10D5F00059A00A08480788A759C400A3820005005B +:10D60000FEFFFFFF8200054080018000400008000F +:10D6100084040D20480388A3480788A3497B50321F +:10D62000420008000000002D42001000001041D907 +:10D630000201F8000010651359A00408800000C220 +:10D64000800008C48005D400420000000000FFFFF5 +:10D650000201F800001051550400000359A002080F +:10D66000800001100201F80000103AAC0201F00045 +:10D67000001022F200103566001035690010357375 +:10D6800000102339001035700010233900102339A1 +:10D6900000102339836C058000000003040000059E +:10D6A0004A034407000000070201F0000010233580 +:10D6B0000201F80000103A9602020000001023391F +:10D6C00059A0040859A00A08900409C080040D401C +:10D6D0004805D80659A0040A59A00A0A900409C0AE +:10D6E00080040D404805D8074A01D8010000000019 +:10D6F0000401FBD2040200054A03440700000002B3 +:10D700000201F00000102335417A8800497B400176 +:10D71000832C0400000000064803400259A00407BF +:10D720008C0005040402009B4C5C00004C6000006F +:10D730004C6400004178B80059A0C40759A0C80241 +:10D7400059A2440B0201F80000104AD40402002C34 +:10D750000201F80000104A74040000040201F800FD +:10D76000001049A5040200268C60C53E0402002278 +:10D770008C60C50004000008593400094400C8004A +:10D780008064C800593400084400C8008064C800A0 +:10D790000401F007593400074400C8008064C80041 +:10D7A000593400064400C8008064C80083440580E2 +:10D7B000000007FE0400000D83440580000007FC04 +:10D7C0000400000A0201F80000104A870400000368 +:10D7D00085468D5E0401F0050201F8000010496FD6 +:10D7E0000402000285468D5E4544C80085468D1EB4 +:10D7F0008064C800825CBC000000000C8146880088 +:10D8000083440480000007F00400100E8C60C506FD +:10D810000400002983440580000007F0040200048E +:10D8200042028800000007FE0401F00683440580E0 +:10D83000000007FF0402002042028800000007FCED +:10D84000825C05800000003C040207BF59A0000173 +:10D85000805C0400480340018C60C53E0402000760 +:10D8600059A00A0B800409C004000006800404804B +:10D87000040210048460C57E4178B8000401F7B248 +:10D8800049474000485DD80559A000024801D80327 +:10D8900040EC10000201F800000200164A01D8080E +:10D8A0000010365B5C00C8005C00C0005C00B80083 +:10D8B0001C01F0008C60C53E0402001A805CB9C0F7 +:10D8C0000400002459A00001805C040048034001CA +:10D8D00059A00A0B800409C00400000580040480DC +:10D8E000040210034178B8000401F00E59A00801A9 +:10D8F00048074407485DD80559A000024801D803ED +:10D900004A01D808001022EB40EC10005C00C8006F +:10D910005C00C0005C00B8000201F00000020016CC +:10D9200059A00001805C0C0059A0020B8004048007 +:10D93000480342084A0344070000000A5C00C8008C +:10D940005C00C0005C00B8000201F000001023354C +:10D9500059A00801480744075C00C8005C00C000EB +:10D960005C00B8000201F000001022F24031D80043 +:10D9700058EF400A58EC00028200058000000200C7 +:10D98000020000000010232D59A288000401F7674F +:10D990004C5C00004C6000004C6400004178B80012 +:10D9A00059A0C40759A0C80259A2440B0201F800AB +:10D9B00000104AD4040200310201F80000104A7439 +:10D9C000040000040201F800001049A50402002B25 +:10D9D0008C60C53E0402002783440580000007FEDA +:10D9E0000400001183440580000007FC0400000EC1 +:10D9F0000201F80000104A870400000559340403AE +:10DA00008400055E48026C030401F0070201F8007F +:10DA10000010496F04020004593404038400055EB9 +:10DA200048026C034134A0004064A8004200B000EA +:10DA3000000000060201F8000010C12B5934000755 +:10DA40004400A800593400064800A80159340009D0 +:10DA50004800A802593400084800A80359340403B8 +:10DA60008400051E48026C038264CC000000000A9A +:10DA7000825CBC000000002881468800834404804A +:10DA8000000007F00400100E8C60C5060400002A98 +:10DA900083440580000007F004020004420288006D +:10DAA000000007FE0401F00683440580000007FF24 +:10DAB0000402002142028800000007FC825C05800D +:10DAC00000000028040000020401F7B859A000017A +:10DAD000805C0400480340018C60C53E04020007DE +:10DAE00059A00A0B800409C00400000680040480C9 +:10DAF000040210048460C57E4178B8000401F7ABCD +:10DB000049474000485DD80559A000024801D803A4 +:10DB100040EC10000201F800000200164A01D8088B +:10DB2000001036FB5C00C8005C00C0005C00B80060 +:10DB30001C01F0008C60C53E0402001A805CB9C074 +:10DB40000400002459A00001805C04004803400147 +:10DB500059A00A0B800409C0040000058004048059 +:10DB6000040210034178B8000401F00E59A0080126 +:10DB700048074407485DD80559A000024801D8036A +:10DB80004A01D808001022EB40EC10005C00C800ED +:10DB90005C00C0005C00B8000201F000000200164A +:10DBA00059A00001805C0C0059A0020B8004048085 +:10DBB000480342084A0344070000000A5C00C8000A +:10DBC0005C00C0005C00B8000201F00000102335CA +:10DBD00059A00801480744075C00C8005C00C00069 +:10DBE0005C00B8000201F000001022F24031D800C1 +:10DBF00058EF400A58EC0002820005800000020045 +:10DC0000020000000010232D59A288000401F761D2 +:10DC1000420028000000007E59A00C0759A01208FD +:10DC200059A01C0859A0220A820405000000FF0028 +:10DC3000840001C082003480000000200200100037 +:10DC400000102339801404800200100000102339D2 +:10DC500082040500000000FF8200348000000020E4 +:10DC6000020010000010233980140480020010000C +:10DC700000102339820805000000FF00840001C065 +:10DC800082003480000000200200100000102339C0 +:10DC9000801404800200100000102339820805005F +:10DCA000000000FF8200348000000020020010000D +:10DCB0000010233980140480020010000010233962 +:10DCC000820C05000000FF00840001C08200348047 +:10DCD000000000200200100000102339801404808E +:10DCE0000200100000102339820C0500000000FF24 +:10DCF0008200348000000020020010000010233950 +:10DD000080140480020010000010233982100500E6 +:10DD10000000FF00840001C0820034800000002069 +:10DD2000020010000010233980140480020010004B +:10DD30000010233982100500000000FF82003480AB +:10DD4000000000200200100000102339801404801D +:10DD50000200100000102339900401C080080D401B +:10DD6000900C01C080101D4083A834000000002DDD +:10DD70004404300080183000440C30000201F000F0 +:10DD8000001022F20401FA2D040200054A034407A0 +:10DD9000000000020201F0000010233542000800DC +:10DDA0000000000C0401F84F4A01D8080010376D3C +:10DDB0001C01F0004031D80058EE580C58EF400AD2 +:10DDC00058EC000282000580000002000200000002 +:10DDD0000010232D832CA400000000054200B00099 +:10DDE0000000000C40C8A8000201F8000010C12B80 +:10DDF00058C80200800005400400003058C80400E4 +:10DE000082000500FFFFFFFB0402002C58C804013C +:10DE10008000054004000029820004800000FF010A +:10DE20000402102658C80202820004800000005C30 +:10DE3000040010220201F800001069AE58C80C0856 +:10DE400058C80204800404800400101C58C802044E +:10DE500082000480000000050402101858C8020562 +:10DE600058C80C08800409028004048004001013C0 +:10DE700058C80C080201F800001068FD04000017E3 +:10DE80000201F800001067BE0402000E4979940BED +:10DE900059C408A382040D4000000002480788A36B +:10DEA00058C80202480308040201F800001067A0E5 +:10DEB0000201F000001022F20201F00000102339EC +:10DEC0000201F80000106A000201F80000106A0D5B +:10DED0000201F800001068F00201F0000010233584 +:10DEE0004C00000059A0120859A00408900811C065 +:10DEF0008008154059A01A0A59A0040A900C19C0AC +:10DF0000800C1D405C0000000401F1F05984000009 +:10DF100082000580000000000400005059840002C7 +:10DF20008C0005040400004D8400054648030802E7 +:10DF30000201F800001068F059C408A382040D0023 +:10DF4000FFFFFFFD480788A34C5C00004200B800BB +:10DF50000010C380505E6800813669C0040000086C +:10DF60005936600E813261C0040000050201F800DC +:10DF7000001068E10200080000106AB9805CB80077 +:10DF8000825C05800010CB70040207F359866003A1 +:10DF9000813261C00400000B593004078200058003 +:10DFA00000000009020208000010032E5930B800DA +:10DFB0000201F800001068C6405E60000401F7F539 +:10DFC000497B08034200B8000010CC72505E60002C +:10DFD000813261C0040000115930040782000580BD +:10DFE000000000090402000D593002038200058080 +:10DFF00000000004040200095932680A813669C031 +:10E00000020208000010032E0201F80000100C812B +:10E010000201F800001068C64578B800805CB800BE +:10E02000825C05800010CC7A040207E942000800F7 +:10E030000010CC7049780801497808000201F80006 +:10E0400000106A000201F80000106A0D5C00B800C0 +:10E050000201F800001067B90201F000001022F27E +:10E06000836C058000000003040000054A03440798 +:10E07000000000070201F000001023350401FA77C8 +:10E08000020200000010233959A0040859A00A0810 +:10E09000900409C080040D404805D80659A0040A20 +:10E0A00059A00A0A900409C080040D404805D80709 +:10E0B0004A01D801000000000401F96004020005D3 +:10E0C0004A034407000000020201F000001023355B +:10E0D000417A8800497B4001832C04000000000540 +:10E0E000480340024C5C00004C6000004C6400009F +:10E0F0004178B8004178C80059A0C0020201F80078 +:10E1000000104AD40402000D0201F80000104A7405 +:10E110000402000A8C64CD3E040200065934000259 +:10E120004800C0004944C0018260C40000000002F1 +:10E13000825CBC00000000088146880083440480A3 +:10E140000000080004021021825C048000000040EE +:10E15000040210020401F7EA59A00001805C0400E7 +:10E16000480340018C64CD3E040000034178B800B0 +:10E170000401F7E359A00A0B800409C0040000065B +:10E1800080040480040210044178B8008464CD7EC9 +:10E190000401F7DB49474000485DD80559A000025B +:10E1A0004801D80340EC10000201F80000020016FC +:10E1B0004A01D808001038A25C00C8005C00C0000A +:10E1C0005C00B8001C01F0008C64CD3E0402001B12 +:10E1D000805CB9C00400002559A00001805C0400E7 +:10E1E0004803400159A00A0B800409C0040000053F +:10E1F00080040480040210034178B8000401F00F89 +:10E2000059A008018004090648074407485DD8055D +:10E2100059A000024801D8034A01D808001022EB97 +:10E2200040EC10005C00C8005C00C0005C00B8005E +:10E230000201F0000002001659A00001805C0C00F1 +:10E2400059A0020B80040480480342084A03440793 +:10E250000000000A5C00C8005C00C0005C00B80060 +:10E260000201F0000010233559A0080180040906BE +:10E27000480744075C00C8005C00C0005C00B800B0 +:10E280000201F000001022F24031D80058EF400A9D +:10E2900058EC00028200058000000200020000002D +:10E2A0000010232D59A288000401F78F8D0E1D0E3A +:10E2B000040000054A034407000000010201F000C9 +:10E2C0000010233559A8021B8C00050A0402000720 +:10E2D0008C000506040200054A03440700000016EE +:10E2E0000201F000001023350401F9DC02020000F5 +:10E2F000001023390401F8D1040200054A03440741 +:10E30000000000020201F0000010233559A00C07A4 +:10E310008004090259A0040859A01208900811C0ED +:10E320008008154059A0040A59A01A0A900C19C077 +:10E33000800C1D40832C0400000000060401F8E35B +:10E340004A01D808001038D31C01F0004031D80031 +:10E3500058EF400A58EE580C58EC00028200058035 +:10E3600000000200020000000010232D592C000ABA +:10E3700059A8380F0201F80000106170020008006F +:10E380000010467D02020000001023394947400179 +:10E39000481A6802592C000B82001D807000000092 +:10E3A000040200070401F8A5040200114A0344070F +:10E3B000000000020201F0000010233582001D80E1 +:10E3C0007200000002020000001023390401F89BD3 +:10E3D0000402089A04020899040200054A0344074B +:10E3E000000000020201F0000010233558EE580C26 +:10E3F0004A025C0500008000497A5A05592C32090E +:10E4000080183102592C18014A001806010000003A +:10E410000201F800001099B6040200054A034407FF +:10E42000000000030201F000001023354A01D80863 +:10E430000010390E1C01F000592C4000592C000628 +:10E440008200058001000000040200054A03440721 +:10E45000000000040201F000001023354C580000B9 +:10E460004C5000004C540000832C3C00000000067F +:10E47000401CA000401CA8005820280B4200B000FF +:10E4800000000002821435807000000004000003C8 +:10E490004200B0000000000F0201F8000010C1555A +:10E4A0005C00A8005C00A0005C00B000401C000004 +:10E4B00058201007582018085820220680102102E2 +:10E4C000821435807000000004020008821034803D +:10E4D0000000000202001000001023394200080072 +:10E4E000000000020401F0828214358072000000F6 +:10E4F0000202000000102339821034800000002A3C +:10E500000200100000102339420008000000000F34 +:10E510000401F8774A01D808001039481C01F000BE +:10E520004031D80058EF400A58EE580D58EC000220 +:10E530008200058000000200020000000010232D70 +:10E54000592E5800832C0C00000000064C58000087 +:10E550004C5000004C5400004004A0004004A800AF +:10E560004200B0000000000F0201F8000010C15589 +:10E570005C00A8005C00A0005C00B00040EC100053 +:10E580004A001001000000004A0010050000003C95 +:10E59000480410030201F800000200164A01D808DE +:10E5A0000010396A1C01F0004031D80058EF400AD1 +:10E5B00058EE580D58EC0002820005800000020061 +:10E5C000020000000010232D832C0C000000000628 +:10E5D0004C5800004C5000004C5400004004A00077 +:10E5E0004004A8004200B0000000000C0201F80046 +:10E5F0000010C1555C00A8005C00A0005C00B000E9 +:10E6000040EC10004A001001000000004A00100514 +:10E6100000000030480410030201F8000002001658 +:10E620004A01D808001022EB1C01F0000401F80395 +:10E63000412D88001C01F0000201F8000010058542 +:10E6400004000010497A580058EC000C8000054086 +:10E6500004020004492DD80C492DD80D0401F007FF +:10E6600058EC000D48025800820004000000000130 +:10E67000452C0000492DD80D832C04000000000516 +:10E68000492FC8574803C8571C01F0004D2C000003 +:10E6900058EC400C802041C0040000084823C857B3 +:10E6A00040225800592C4001497A58010201F800D3 +:10E6B000001005960401F7F84979D80C4979D80D6E +:10E6C0005C0258001C01F000420030000000000114 +:10E6D0000401F00942003000000000010401F007CD +:10E6E00042003000000000000401F004420030004D +:10E6F00000000000800408C4800409C00200080073 +:10E700000010032E4803C8574807C857480BC8577E +:10E71000480FC857481BC85748EFC8574819D80171 +:10E720004801D8034809D806480DD8074805D80538 +:10E7300040EC10000201F800000200164A01D8085F +:10E74000001022EB1C01F00040681000406C180023 +:10E7500080002D80480BC857480FC8574813C8572A +:10E760004817C8570201F800000202BE020200006A +:10E770000010B29B4D2C00004DA000004203400051 +:10E780000010CBFF59A00018800001C00402000F48 +:10E790000400600E480BC020480FC0214813C0225F +:10E7A0004817C023900811C08208154000000012CD +:10E7B000480BC0114A03C017000000004203E000EC +:10E7C000300000010401F0504C0400004C1C00001B +:10E7D000800008004807401859A0381B481FC85738 +:10E7E000801C39C004020027820004800000000A57 +:10E7F0000402101059A000198000000048034019BD +:10E8000059A0021A820004000000000282000C805D +:10E81000000000144803421A04001003497B421A06 +:10E820004178000059A03817801C3C000401F030EA +:10E830004803C8560201F8000010058504000007CF +:10E84000492F401B492F401C412C3800497B421D59 +:10E85000497A58140401F0265988001E80000000EF +:10E860004803101E59A000188000004048034018BB +:10E8700059A0021A59A03817801C3C000401F01C52 +:10E8800059A0021D820004000000000282000C80DA +:10E8900000000013040210044803421D801C3C00C9 +:10E8A0000401F0130201F800001005850402000BBA +:10E8B0005988001E800000004803101E59A000184F +:10E8C00080000040480340184803C85759A0021D63 +:10E8D000801C3C000401F006492F401B492C3814D1 +:10E8E000412C3800497B421D497A581448083C00A5 +:10E8F000480C3A0048103C0148143A015C003800CA +:10E900005C0008005C0340005C0258001C01F00041 +:10E9100040681800406C200040703000480FC85715 +:10E920004813C857481BC857420000000010CFE0EA +:10E930000201F8000010C058801800D081202D403E +:10E9400042001000000080140401F7834C00000016 +:10E95000599C00178C0005125C0000001C01F0009F +:10E960004C000000599C00188C00050E5C00000053 +:10E970001C01F0008D0E1D0E040000054A03440723 +:10E98000000000010201F00000102335836C0580B7 +:10E9900000000003040000054A03440700000007CC +:10E9A0000201F0000010233559A248055924040043 +:10E9B0008C000508040200054A0344070000000813 +:10E9C0000201F00000102335593404058C000508BD +:10E9D000040200048C00050A020200000010339CAF +:10E9E000497A5A05497A58064A025C0500008000B7 +:10E9F0000201F80000109A6F040200054A03440760 +:10EA0000000000030201F000001023354A01D8087D +:10EA100000103A861C01F000592C00068200058087 +:10EA200001000000040200054A034407000000043E +:10EA30000201F0000010233559A28C0759A2440BA3 +:10EA40000201F80000104AD402020000001023392D +:10EA50000201F0000010339C4C04000059A2440B4A +:10EA6000420000000010D0D250000000812004803D +:10EA70000402100D83200C000010C1B250064800A3 +:10EA8000812649C004000008592402008C000500BA +:10EA90000400000549274005800005805C0008004F +:10EAA0001C01F00082000540000000010401F7FC99 +:10EAB00042028800000007EF0201F8000002034E46 +:10EAC000020008000010655781468840040217FBC9 +:10EAD0001C01F0004803C8564C0C00004D340000E7 +:10EAE0004D44000042028800000007FE4202400040 +:10EAF000000000000201F80000104AD404020009DE +:10EB00005934180A820C1D0000000001820C1D807F +:10EB100000000001420010000000801B0401FF0DF6 +:10EB20005C0288005C0268005C0018001C01F000B8 +:10EB300048EFC8570401100048EFC8404A03C842D4 +:10EB40000000000F40000000040117FF4A01D80E2A +:10EB5000BEEFBEEF1C01F000497B4000497B400145 +:10EB6000497B4002497B4003497B4004497B400587 +:10EB70001C01F000420020000011168441580000E2 +:10EB80004178100058100C07800409C004000011DF +:10EB900082041D80000000030400000E82041C801B +:10EBA000000000060400100A82041D800000000A14 +:10EBB0000400000782041C800000000F0400100500 +:10EBC00082041C8000000012040210028008100061 +:10EBD000821024000000002C80100C80040017EA32 +:10EBE0004008000059A81251800804800402100255 +:10EBF0004178000081640480040210024178000022 +:10EC00001C01F00059A800058C0005140400000642 +:10EC1000420000000010CC3E5000000082000500C1 +:10EC2000000000281C01F00059C400A44C5800004A +:10EC30004C5000004C540000820005000000000F02 +:10EC400082000480000000070400100A82006C802B +:10EC500000000007020218000010032E0C01F80744 +:10EC60005C00A8005C00A0005C00B0001C01F0008B +:10EC70000401F9190401F7FB00103B2500103B2BA0 +:10EC800000103B5400103B7600103C3E00103B242B +:10EC90001C01F00059C408068C040D000402000396 +:10ECA00084040D40480788061C01F00059C4000583 +:10ECB0008C00053402020000001042ED4A03880572 +:10ECC000FFFFFFFF42006000000200000201F800A9 +:10ECD000001042D259A8001582000500FFFFFFFA7C +:10ECE0008400054248035015497B521B420008002E +:10ECF0000010E35345780800497B5056420000005D +:10ED00000010D0D1460000000000FFFF420060006C +:10ED1000FFEFFFFF42006800400000000201F80022 +:10ED2000001042CC59C4000682000500FFFFFF0F0F +:10ED3000480388064200080000000010420010004E +:10ED4000001042100201F8000010652F0401F001CC +:10ED500042006000FFFFFFFF4200680000800000EB +:10ED60000201F800001042CC4200B000000000C8D0 +:10ED700059C400A4820005000000000F8200058035 +:10ED80000000000A0400000F8058B040040207F998 +:10ED9000497B501042006000BF7FFFFF42006800C7 +:10EDA000000180000201F800001042CC4200600027 +:10EDB000FFFEFFFF417868000201F000001042CC26 +:10EDC000497B50104A035055000000008000058028 +:10EDD0000201F000001042D94A038805FFFFFFFF3F +:10EDE00059A8005582000C8000000004020218009F +:10EDF0000010032E0C01F00100103B8100103BB10C +:10EE000000103C344803C85659C400A38400051EB2 +:10EE1000480388A34A0350550000000159C4000864 +:10EE20008200054000000080480388080201F800C5 +:10EE3000001042B0420078000010CCA64A007806CC +:10EE4000110100004200A0000010D0D44200A80030 +:10EE50000010CCAD4200B000000000020201F8003A +:10EE60000010C12B59C4080284040D0C4807880205 +:10EE70004200080000000003497B505F0201F800D7 +:10EE8000001041834A03505F00000001497B505A43 +:10EE90000201F800001042E042006000FFFFFFFFA7 +:10EEA00042006800000800000201F800001042CC97 +:10EEB00042006000FFF7FFFF417868000201F000A8 +:10EEC000001042CC59A8005A497B505A8000254076 +:10EED0000400007059C40004820005000000000313 +:10EEE0000402007B59A808158C040D02040000558B +:10EEF000821005800000000C0402005982100400FA +:10EF0000000000188000B10441CC1000420018003D +:10EF10000010CCA650080800500C000080040580AA +:10EF20000402002180081000800C18008058B040B6 +:10EF3000040207F90201F800001042E059C8001568 +:10EF4000840005084803901542006000FFFFFFFFA2 +:10EF500042006800005000000201F800001042CC9E +:10EF60004A035055000000024A03501000000002FE +:10EF70000201F800001015DC42000800000007D074 +:10EF800042001000001041570201F80000106675A1 +:10EF900059A8001584000506480350150201F00029 +:10EFA000001042B059CC080682040D801101000007 +:10EFB0000402002B59CC08008204050000FFFFFF6B +:10EFC0000400001A82000580000000EF0402001710 +:10EFD00059CC08018204050000FFFFFF8200058074 +:10EFE000000000EF0402001183CCA4000000000721 +:10EFF0004200A8000010D0D44200B000000000027F +:10F000005050080050540000800404800400100791 +:10F01000040200138050A0008054A8008058B04023 +:10F02000040207F80401F00E59A800158400050237 +:10F030004803501559C80015840005084803901569 +:10F0400041CCA0004200A8000010CCA64200B000B5 +:10F05000000000090201F8000010C12B0201F800B5 +:10F06000001042E042006000FFFFFFFF4200680026 +:10F07000000800000201F800001042CC42006000CD +:10F08000FFF7FFFF417868000201F800001042CC52 +:10F0900042006000FFFFFFFF4200680000004000E8 +:10F0A0000201F800001042CC59C40004820005009F +:10F0B0000000000304020006497B505A4200080089 +:10F0C000000000030201F000001041831C01F00069 +:10F0D0001C01F00059A8001082006D800000000F94 +:10F0E00004000005820005800000001B02020800E9 +:10F0F0000010414C1C01F00059A8001584000506C1 +:10F1000048035015497B505F59A8001082000C80BD +:10F110000000001E020218000010032E0C01F00176 +:10F1200000103C7C00103C9300103CBC00103CDF05 +:10F1300000103D0200103D0600103D0A00103D0E7B +:10F1400000103D1200103D2E00103D3200103D8B8E +:10F1500000103D8F00103DA100103DA500103DBEE8 +:10F1600000103DC300103E1F00103E4B00103ECF6C +:10F1700000103EFB00103F5300103FA300103FFD66 +:10F180000010401E00104067001040890010409C95 +:10F190000010409D4803C8564202D80000000007F6 +:10F1A0000201F80000105155040000074200600001 +:10F1B000FFFFFFD7417868000201F800001042CC41 +:10F1C0000401F00B59C4000682000500FFFFFF0F89 +:10F1D000480388064A038805000000F00201F80091 +:10F1E000001055AC0201F800001050A41C01F00002 +:10F1F0004803C85642006000BF7FFFFF420068001E +:10F20000004000000201F800001042CC0201F800AA +:10F21000001015DC4A0350100000000142001000ED +:10F22000001042100201F8000010654F0201F800C2 +:10F230000010421942000800000007D042001000F0 +:10F24000001041570201F0000010667559A8005ADD +:10F250008200058000000014040200234803C85700 +:10F2600042006000FFBFFFFF417868000201F80024 +:10F27000001042CC59C400048200050000000003C5 +:10F280000402001942001000001041570201F8006A +:10F290000010653C59CC1006820815801102000050 +:10F2A0000402001259CC10078C08153E0400000B14 +:10F2B00059A800158C000504040200084200000053 +:10F2C0000010CF710201F8000010C05859A80015B5 +:10F2D00084000544480350154A03501000000010F4 +:10F2E0000401F10B1C01F0000201F0000010414C80 +:10F2F0004803C8564A035010000000034200600053 +:10F30000BF3FFFFF42006800001000000201F8004C +:10F31000001042CC42001000001042100201F80020 +:10F320000010654F0201F800001042194200100061 +:10F33000001041570201F8000010653C59A8041B59 +:10F3400082000500000000280400000542000800BB +:10F35000FFFFD8150201F800001020A44200780039 +:10F360000010CCAC460078001102000042000800FA +:10F37000000000050201F0000010418359A8005A66 +:10F38000800005400400001E4803C85742001000DA +:10F39000001041570201F8000010653C59A8005ABE +:10F3A00082000580000000140402001659CC1006EB +:10F3B00082081580110200000402001259CC1007C7 +:10F3C0008C08153E0400000B59A800158C0005049C +:10F3D00004020008420000000010CF710201F80092 +:10F3E0000010C05859A80015840005444803501562 +:10F3F0004A035010000000040401F0041C01F00056 +:10F400000201F0000010414C4803C8564A03501056 +:10F41000000000050401F1494C5C00004200B80006 +:10F42000000000010401F1184803C8564A035010B7 +:10F43000000000070401F1F14C5C00004200B8003C +:10F44000000000010401F1C04803C8564A035010EF +:10F450000000000983CCA400000000064200A800C0 +:10F460000010CCAC4200B000000000050201F80022 +:10F470000010C12B420078000010CCAC4600780090 +:10F48000110501008D0E1D060400029642000800C1 +:10F49000000000050201F800001041834D3C00000F +:10F4A00042027800000000010201F8000010A2AE44 +:10F4B0005C0278001C01F0004C5C00004200B800C7 +:10F4C000000000010401F2244803C8564A0350100A +:10F4D0000000000B420010000010CCAD4008A80056 +:10F4E0004200B000000000204600A800FFFFFFFF20 +:10F4F0008054A8008058B040040207FC4200780005 +:10F500000010CCAC46007800110600008D0E1D06E0 +:10F5100004000005500800004600100000FFFFFF37 +:10F520000401F040420248000010D0D30201F8006C +:10F530000010C1734008300041782800417818005D +:10F5400041782000592402008C00050004000012BC +:10F550008C00050204000010801429C0040200027F +:10F56000800C18008014280059244408822045008B +:10F57000000000FF400C0000501820000C01F811A2 +:10F580008010254044103000800C19C00402000295 +:10F590008018300083264C000000000B8058B040DB +:10F5A000040207E9500800008200050000FFFFFF89 +:10F5B000801428F080140540440010000401F01964 +:10F5C00000103D7400103D7900103D7E00103D8319 +:10F5D000802000F08210250000FFFFFF800C180043 +:10F5E0001C01F000802000E082102500FF00FFFFDA +:10F5F000800C18001C01F000802000D08210250033 +:10F60000FFFF00FF800C18001C01F00040200000EC +:10F6100082102500FFFFFF00417818001C01F00058 +:10F6200042000800000000210401F3F94C5C0000D6 +:10F630004200B800000000010401F2714803C856FE +:10F640004A0350100000000D83CCA4000000000607 +:10F650004200A8000010CCAC4200B0000000002125 +:10F660000201F8000010C12B420078000010CCAC61 +:10F670004600780011070000420008000000002149 +:10F680000401F3E34C5C00004200B80000000001FC +:10F690000401F2C54803C85682040D400000000171 +:10F6A0000201F800001042D94A0350100000000F78 +:10F6B000497B505A42006000FFFFFFFF4200680094 +:10F6C000003000000201F800001042CC420060004F +:10F6D000FFDFFFFF417868000201F800001042CC14 +:10F6E00042000800000007D04200100000104157FF +:10F6F0000201F000001065134803C85659A8005ACB +:10F70000800005400402038B1C01F0004803C8562A +:10F710004A0350100000001183CCA4000000000632 +:10F720004200A8000010CCAC4200B0000000000570 +:10F730000201F8000010C12B4200A8000010CCAC60 +:10F740004600A800110200008D0E1D0604020049AB +:10F7500059A80C1B820405800000FFFF040000452F +:10F7600082040D0000000030040000064200080082 +:10F77000FFFFD8150201F800001020A40401F03D9D +:10F7800059CC00078C00053C0400003A42024800B6 +:10F790000010D0D30201F8000010C17359240200F8 +:10F7A00082000D000000006382040D8000000063F1 +:10F7B0000402002359240A08420010000010CCADB6 +:10F7C0000401FB080400000A59240C080201F80097 +:10F7D000001015F859240200840005028400051861 +:10F7E0008400054448024A000401F015592402002F +:10F7F00082000540000010068400050648024A0009 +:10F8000048064A0882042C000010214250142800A7 +:10F8100082142D00000000FF48164C0859240005F2 +:10F820008200050000FFFF0080140D4048064805D7 +:10F83000401408000201F800001015E783264C0070 +:10F840000000000B8058B040040207D54202480077 +:10F850000010D0D359242A008C142D020400000576 +:10F860008C142D000400000359242C084817500F55 +:10F8700042000800000000050401F3654C5C000034 +:10F880004178B80059A8005A8000054004000026BD +:10F890004803C85742001000001041570201F80009 +:10F8A0000010653C59A8005A820005800000001431 +:10F8B0000402001C59CC10068208158011030000B8 +:10F8C0000402001859CC10078C08153E0400000BE8 +:10F8D00059A800158C00050404020008420000002D +:10F8E0000010CF710201F8000010C05859A800158F +:10F8F0008400054448035015805CB9C0040000052D +:10F900004A035010000000060401FEC80401F0067E +:10F910004A035010000000120401F8050401F0022F +:10F920000401FB045C00B8001C01F0004803C85649 +:10F930004A0350100000001383CCA400000000070D +:10F940004200A8000010CCAD4200B000000000044E +:10F950000201F8000010C12B4200A8000010CCAC3E +:10F960004600A800110300008D0E1D060402007160 +:10F97000420248000010D0D30201F8000010C17309 +:10F980004C6000004178C00059A8021B82000500AD +:10F99000FFFFFFFC4803521B5924020040000800EF +:10F9A00082040D00FFFFFB1748064A008C0005008B +:10F9B0000400004D8C0005180402004B8C00050269 +:10F9C00004020004592404008C00050204000046CF +:10F9D00059240A08420010000010CCAD0401FA813D +:10F9E0000400002E592400058200050000FFFF00DE +:10F9F00048024805592402008C0005020400001C3E +:10FA000059240207820005000000FFFF04000018CF +:10FA10008060C00059240C080201F800001015F89D +:10FA20004C6400004C5800004D2C00005924C809BB +:10FA30004200B0000000001050640000800001C0CF +:10FA4000040000054578C800400258000201F80093 +:10FA5000001005968064C8008058B040040207F783 +:10FA60005C0258005C00B0005C00C8005924020031 +:10FA7000840005028400054448024A005924040019 +:10FA80008C00050404000018592402008400054677 +:10FA900048024A000401F014592402008200054083 +:10FAA000000000068400050648024A0082042C007B +:10FAB000001021425014280082142D00000000FF85 +:10FAC00048164C08592400058200050000FFFF007D +:10FAD00080140D4048064805401408000201F80053 +:10FAE000001015E7592402008400051848024A0056 +:10FAF00083264C000000000B8058B040040207A78A +:10FB00008060C1C004020B725C00C0004202480069 +:10FB10000010D0D359242A008C142D0204000005B3 +:10FB20008C142D000400000359242C084817500F92 +:10FB300042000800000000050401F2B54C5C000022 +:10FB40004178B80059A8005A8000054004000026FA +:10FB50004803C85742001000001041570201F80046 +:10FB60000010653C59A8005A82000580000000146E +:10FB70000402001C59CC10068208158011040000F4 +:10FB80000402001859CC10078C08153E0400000B25 +:10FB900059A800158C00050404020008420000006A +:10FBA0000010CF710201F8000010C05859A80015CC +:10FBB0008400054448035015805CB9C0040000056A +:10FBC0004A035010000000080401FE200401F00662 +:10FBD0004A035010000000140401F8050401F0026B +:10FBE0000401FA545C00B8001C01F0004803C85638 +:10FBF0004A0350100000001583CCA4000000000749 +:10FC00004200A8000010CCAD4200B000000000048B +:10FC10000201F8000010C12B4200A8000010CCAC7B +:10FC20004600A800110400008D0E1D0604020045C8 +:10FC3000420248000010D0D30201F8000010C17346 +:10FC4000592404008C0005000400003159240200EE +:10FC50008C0005000400002E8C0005020402002C1C +:10FC600059240C008004091082040D00000000FFDC +:10FC7000420010000010CCAD0401F9DA04000010BD +:10FC8000592400058200050000FFFF0048024805D6 +:10FC9000592402008400050248024A005924240025 +:10FCA0008C1025040400001A8400054684000544D5 +:10FCB00048024A008060C0000401F0155924020087 +:10FCC00082000540000000068400050648024A0044 +:10FCD00048064A0882042C000010214250142800D3 +:10FCE00082142D00000000FF48164C08592400051E +:10FCF0008200050000FFFF0080140D404806480503 +:10FD0000401408000201F800001015E783264C009B +:10FD10000000000B8058B040040207CA42024800AD +:10FD20000010D0D359242A008C142D0204000005A1 +:10FD30008C142D000400000359242C084817500F80 +:10FD400042000800000000050401F2314C5C000094 +:10FD50004178B80059A8005A800005400400004AC4 +:10FD60004803C85742001000001041570201F80034 +:10FD70000010653C59A8005A82000580000000145C +:10FD80000402004059CC100682080500110500004D +:10FD900082000580110500000402003A8C0815104D +:10FDA000040000150401FB7059CC10078C08153EA7 +:10FDB0000400000B59A800158C000504040200087B +:10FDC000420000000010CF710201F8000010C0587E +:10FDD00059A800158400054448035015805CB9C03B +:10FDE000040000174A0350100000000A0401FDB788 +:10FDF0000401F02559CC10078C08153E0400000BB7 +:10FE000059A800158C0005040402000842000000F7 +:10FE10000010CF710201F8000010C05859A8001559 +:10FE2000840005444803501582000540000000018D +:10FE30000401FB4D497B50560401F0034A03505620 +:10FE40000000000159CC10078C08153C0400000389 +:10FE50004A03521B00000008805CB9C00402000580 +:10FE60004A035010000000160401F8090401F006CE +:10FE70004A0350100000000E0401FE070401F002C6 +:10FE80000401F9AC5C00B8001C01F0004803C8563E +:10FE900083CCA400000000064200A8000010CCACF7 +:10FEA0004200B000000000050201F8000010C12B64 +:10FEB0004A0350100000001759A800568C00050096 +:10FEC00004000006420010000010CCAC46001000F8 +:10FED000110501000401F0034A0350100000001B4B +:10FEE000420248000010D0D30201F8000010C17394 +:10FEF000599C2817592402008C0005000400002793 +:10FF00008C000502040200258C0005060402002373 +:10FF10004C5800000401F8D95C00B0000402000B4A +:10FF2000592400058200050000FFFF004802480533 +:10FF3000592402008400050284000546840005441B +:10FF400048024A000401F0155924020082000540CD +:10FF5000000000068400050648024A0048064A08D8 +:10FF600082042C00001021425014280082142D001D +:10FF7000000000FF48164C085924000582000500C7 +:10FF800000FFFF0080140D4048064805401408009B +:10FF90000201F800001015E783264C000000000B5A +:10FFA0008058B040040207D4420248000010D0D369 +:10FFB00059242A008C142D02040000058C142D00F5 +:10FFC0000400000359242C084817500F4200080071 +:10FFD000000000050401F98E4D3C0000420278004B +:10FFE000000000010201F8000010A2AE5C027800DF +:10FFF0001C01F0004C5C00004178B80059A8005A80 +:020000021000EC +:10000000800005400400001B4803C8574200100050 +:10001000001041570201F8000010653C59A8005A31 +:1000200082000580000000840402001159CC1006F3 +:1000300082081580110600000402000D8000058072 +:100040000401FAC9805CB9C0040000054A035010DD +:100050000000000C0401FD7A0401F0064A03501070 +:10006000000000180401F8050401F0020401F93150 +:100070005C00B8001C01F0004803C8564A03501049 +:100080000000001983CCA400000000064200A80074 +:100090000010CCAC4200B000000000210201F800CA +:1000A0000010C12B420038000010CCAD42024800C5 +:1000B0000010D0D34200B0000010D0D25058B00091 +:1000C000592402008C0005000400001A8C0005026F +:1000D00004000018401C2800501410008008013053 +:1000E00080000000400018008208150000FFFFFF9C +:1000F000800000F08008054044002800592444088E +:1001000082204500000000FF400C10008008110410 +:10011000820834000010CCAD50181000820C05008D +:10012000000000030C01F80A800815404408300064 +:1001300083264C000000000B8058B040040207E109 +:1001400042000800000000210401F1310010405776 +:100150000010405B0010405F00104063802000F002 +:100160008208150000FFFFFF1C01F000802000E066 +:1001700082081500FF00FFFF1C01F000802000D066 +:1001800082081500FFFF00FF1C01F0004020000066 +:1001900082081500FFFFFF001C01F0004C5C00000E +:1001A0004178B80059A8005A800005400400001C9E +:1001B0004803C85742001000001041570201F800E0 +:1001C0000010653C59A8005A820005800000008498 +:1001D0000402001259CC1006820815801107000095 +:1001E0000402000E4A035056000000010401F8AC5E +:1001F000805CB9C0040000054A0350100000000EE6 +:100200000401FD250401F0064A0350100000001A05 +:100210000401F8050401F0020401F8C65C00B8000E +:100220001C01F00082000540000000010401FA4EAC +:100230004A0350100000001B83CCA40000000006FD +:100240004200A8000010CCAC59A8205A4010000071 +:100250008000B104405808005450A8008050A0000D +:100260008054A8008058B040040207FC0401F0E864 +:100270001C01F0001C01F0004803C8564200300089 +:1002800000000004420040000010CCAD599C28172B +:100290008C142D140402001F420010000000000303 +:1002A00040200000800804005000080082042580DF +:1002B000FFFFFFFF04020005800810408018304057 +:1002C000040207F80401F046800811C00402000689 +:1002D000820425803FFFFFFF0400004082040D40A0 +:1002E000C00000004200B0000000002042001800E2 +:1002F00000000001400420008010210204021021AF +:10030000800C18C28058B040040207FC0401F0338E +:1003100041781000402000008008040050000800D0 +:1003200082042580FFFFFFFF040200058008100003 +:1003300080183040040207F80401F028800811C03A +:100340000402000382040D40C00000004200B0001F +:10035000000000014200180080000000400420005E +:10036000801020C204021007800C19028058B000CF +:100370008258048000000021040017FA0401F017DD +:10038000402000008008240050100000800C054030 +:100390004400200059A8001584000540480350156A +:1003A00040580000420028000000002080142C80EB +:1003B000400800004200380000000003801C048058 +:1003C000800000CA80142D404014080082000540BF +:1003D000000000010401F002800005801C01F00013 +:1003E0004807C857480BC8574004180041782000F8 +:1003F0004200000000000003820C1C80000000206E +:100400000400100480102000800000400401F7FB6D +:1004100040041800801021C004000005820C1C80DC +:100420000000002080102040040207FD4200200050 +:1004300000000001800C19C004000004801020C2DC +:10044000800C1840040207FE80083C00401C280075 +:100450005014000080102D00040200078010054099 +:100460004400380059A80015840005404803501581 +:10047000800005801C01F0004807C85642001000AB +:100480000000801759A818320201F8000010C0625D +:100490000201F800001039D41C01F0004807C856CA +:1004A0004200B0000000002083CCA4000000000740 +:1004B0004200A8000010E3530201F0000010C155F3 +:1004C0004807C8560201F800001071F44200080005 +:1004D000000000F70401F8F1497B2804497B280556 +:1004E000497B2826497B28274202D80000000001CA +:1004F00042006000BE7FFFFF4200680000018000F4 +:100500000401F98C42006000FFFEFFFF41786800A3 +:100510000401F988497B5032420008000000002D98 +:1005200042001000001041D90201F00000106513D4 +:100530004807C8560401FFE3497B5010497B505AD5 +:100540001C01F0004807C85642006000FFFFFFFF93 +:1005500042006800000000280401F1764807C856F0 +:100560000401FFC60201F80000106E814DF000008A +:100570000201F8000010711E5C03E0000200080098 +:1005800000106E6E59C400A4820005000000000F28 +:1005900082000580000000020402000A42006000A0 +:1005A000FFFFFFFF42006800002000000401F96126 +:1005B00042006000FFDFFFFF417868000401F95D41 +:1005C000497B501042000800000000F70401F8B316 +:1005D00059C400A382000500BF20BFFF8200054070 +:1005E0000001C000480388A384000520480388A3B5 +:1005F000497B5032420008000000002D42001000EC +:10060000001041D90201F00000106513497B505AD7 +:1006100059B400F58C000500040200048200054076 +:1006200000000001480368F5800400C48200040053 +:10063000000020004803910A59B400F6820005002A +:1006400000000018040207FD4A0368F00010CCA562 +:10065000420000000010CCAC4C0400005000080028 +:1006600082040D8011010000040000035000080006 +:100670004807C8575C000800480368F1820404007A +:100680000000DC00480368F359C400A482000500A0 +:100690000000000F8200058000000008040200171F +:1006A0004C5C00004C60000059C4B8058C5CBD3A3D +:1006B00004020005420000000010CF6E0201F800A5 +:1006C0000010C0584A038805200000000201F8000D +:1006D00000101A5F4000C0000201F8000010198AE3 +:1006E0004202D80000000001497B50105C00C000AD +:1006F0005C00B8001C01F00059C8010B8C00050219 +:10070000040007E259C408A482040D000000000F91 +:1007100082040D800000000B0402000559A8081097 +:1007200082040D40000020000401F00459A808557F +:1007300082040D40000010004807503259A8085F9D +:10074000800409C00402000742000800000007D02E +:1007500042001000001041570201F80000106675B9 +:100760001C01F0004807C8560401FF440201F800CC +:1007700000106E814DF000000201F8000010711EA3 +:100780005C03E0000200080000106E6E59C400A473 +:10079000820005000000000F8200058000000002BA +:1007A0000402000A42006000FFFFFFFF42006800F1 +:1007B000002000000401F8DF42006000FFDFFFFFBF +:1007C000417868000401F8DB0201F8000010516272 +:1007D000040000140201F80000105180040200110E +:1007E0004A0350130000AAAA4C0400000201F800BA +:1007F0000010162D59A8001F82000500FFFF000001 +:10080000800405404803501F5C0008004A03501450 +:10081000000000000201F800001050AF0401F008D1 +:100820004A0350580000000542000000000000800C +:100830000201F8000010157F0401FF221C01F000E6 +:100840000401F80942006000BF7F7FFF4178680023 +:100850000401F0B842006000BF7F7FFF417868006C +:100860000401F0B40201F8000010518004020009F4 +:1008700059C4000682000540000000F048038806C5 +:1008800042006000BFFFFFFF417868000401F8A943 +:100890001C01F00040680800800408D059A8001529 +:1008A0008C0005060400000659A8000F8200050010 +:1008B000000000FF800405400401F00382040540AD +:1008C000000000F7480388A71C01F0004807C8563D +:1008D000420000000010D0060201F8000010C058CD +:1008E00042003000000000054D3C00004C180000A4 +:1008F000420030000000000D4202780000000002BB +:100900000401F04E4807C856420000000010D02BEA +:100910000201F8000010C058420030000000000042 +:100920004D3C00004C180000420030000000000F59 +:10093000420018000000FFFF4200200000000007F6 +:100940000201F80000103A475C0030005924020010 +:100950008400055648024A004D40000042028000D3 +:100960000000002A592404008C00050A0200080037 +:100970000010B22C42027800000000020201F800D0 +:10098000001020365C0280005C0278000201F0005A +:1009900000020BA14807C856420000000010D029F1 +:1009A0000201F8000010C0584200300000000003AF +:1009B0004D3C00004C180000420030000000000ECA +:1009C00042027800000002020401F01C4807C856E9 +:1009D000420000000010D0280201F8000010C058AA +:1009E00042003000000000044D3C00004C180000A4 +:1009F00042003000000000104202780000000202B5 +:100A00000401F00E4807C856420000000010CF70E5 +:100A10000201F8000010C058420030000000000140 +:100A20004D3C00004C180000420030000000000C5B +:100A30004202780000000002420018000000FFFFA0 +:100A400042002000000000074D200000417A4000D5 +:100A50000201F80000103A475C0240005C003000E0 +:100A60004D4000000201F8000010B7F5420280007E +:100A70000000002A0201F8000010FFF24C580000AC +:100A80000201F8000010C173420008000010D0D32A +:100A90005804000582000500000000FF480008051A +:100AA00082040C000000000B8058B040040207F9DB +:100AB0005C00B0005C0280005C0278001C01F00069 +:100AC0004807C856040110004A03C8400010CCA5CE +:100AD0004A03C8420000004040000000040117FF24 +:100AE000420078000010CCA54600780000000011FC +:100AF000803C78004A007800220000EF4A0078012C +:100B0000000000EF4A007802013800004A00780334 +:100B1000000000004A007804FFFFFFFF4A0078054C +:100B2000000000001C01F00040686000406C68009C +:100B300059C400A38030050080340540480388A3D1 +:100B40001C01F000406860004833C85759C400A336 +:100B500080300540480388A380300580480388A37F +:100B60001C01F0004803C856040000044A0350600A +:100B7000000000010401F002497B50601C01F000FC +:100B800059C80002800005400400000A80000040AF +:100B9000040000084A0390050000014042000000E4 +:100BA0000000000680000040040207FF0401F7F582 +:100BB0001C01F0004C5C00004C60000059C4B805FA +:100BC000485FC8568C5CBD3A040200054200000034 +:100BD0000010CF6E0201F8000010C0584A038805CB +:100BE000200000000201F80000101A5F4000C00061 +:100BF0000201F8000010198A4A0388050400000069 +:100C00005C00C0005C00B8001C01F000497A6A007A +:100C10004A026C0000000707497A6801497A6808AF +:100C2000497A6809497A6806497A6807497A6C0BF3 +:100C3000497A680C592404008C00050A0400000657 +:100C40005934080F5934001080040540020208008E +:100C50000010032E4A026A0400000100497A6A0368 +:100C60005934040282000500000000FF48026C02B3 +:100C7000497A6C04497A6A05497A6C05497A68119F +:100C80004D2C00005934000D49466C0380025D4034 +:100C9000040000040201F8000010059F497A680D65 +:100CA0005C02580059A800708C0005024200000048 +:100CB0000000001004020002599C040148026A0B63 +:100CC000599C020848026C124A02680A000060003F +:100CD0000201F00000104D6C420000000000000511 +:100CE00080000D800401F02C0201F80000104A9DE4 +:100CF0000402001759A8021B8C00050A0402001008 +:100D000059340212820005000000FF004803C85752 +:100D10000400000B59340A008C040D1E0200000070 +:100D2000000202CC4200000000000029420008003E +:100D300000001000492FC8570401F017492FC85769 +:100D400042000000000000280401F0118D0E1D0279 +:100D5000040200038D0E1D00040000044200000088 +:100D6000000000040401F00A420000000000002915 +:100D700059340A008C040D1E04000005492FC85781 +:100D800042000800000010000401F003492FC8577A +:100D900080000D804803C857800285401C01F00088 +:100DA000490FC8578D0E1D00040207ED0201F8001F +:100DB00000104A74040207E6593402008C00050E44 +:100DC000040007E30201F000000202CC4D480000DD +:100DD0004D4C0000592E9009592E980A0201F80036 +:100DE000001049215C0298005C029000040007BBDF +:100DF0000201F000000202D0592C0207492FC85707 +:100E000082000D80000007FF040200064A025C0B0E +:100E100000000030420268000010CC7B0401F02189 +:100E200082000C80000007F00402104781AC04002F +:100E30005000000080026D400400003A0201F800FA +:100E4000001049A50402003A592C040B8C00050A35 +:100E500004020014592E600A8330048000111684A5 +:100E60000400103C41580000813004800402103915 +:100E700059300C0782040580000000090402003884 +:100E80004A025A0700000000497A58005930000908 +:100E9000800005400402001A492E60090401F01286 +:100EA0000201F80000020B7F0400001B592C02070E +:100EB0004936600A492E60094A02640700000009A9 +:100EC000497A60164A02601C0010D0D34932580A91 +:100ED00082000D80000007FF040200034A02601632 +:100EE0000000800042027000000000430201F80090 +:100EF00000020BC5800005800401F01F40000800BF +:100F00005804000080000540040207FD492C080039 +:100F10000401F019420000000000002C0401F0154B +:100F200042000000000000280401F012830C0500BC +:100F30000000000304000004420000000000000460 +:100F40000401F00C42000000000000290401F00937 +:100F500042000000000000080401F0068204058041 +:100F600000000007040207FB42000000000000052B +:100F7000800005401C01F000492FC857592E8C07EE +:100F800083440D80000007FC0400000483440480B7 +:100F9000000007F00402101B592E44080201F8005B +:100FA00000105CBD0200080000104AD404020015C5 +:100FB0000201F80000104A87040200150201F8003F +:100FC00000107F430400001F832004000010C1B202 +:100FD000500248004926601C4936600A492E6009C3 +:100FE0004A0264070000000A42027000000000404C +:100FF0000201F80000020BC5800005800401F0101A +:1010000042000000000000280401F00C0201F8007A +:1010100000104A9D040007FB830C0D000000000334 +:101020000400000442000000000000040401F0037A +:101030004200000000000029800005401C01F00073 +:10104000420000000000002C0401F7FC492FC857A3 +:10105000592E44084923C8570201F80000105CBD0E +:10106000592C42080400000E420000000000000E4F +:1010700059240A008C040D00040001E082200D00B8 +:101080000000000F82040D8000000008040201DB54 +:1010900082200D0000000030040001D8592E8C077A +:1010A0004947C85783440C800000080042000000F4 +:1010B0000000000A040211D14823C857822005000D +:1010C0000000000F0C01F00100104446001044F134 +:1010D0000010454F0010455A00104565001044426D +:1010E000001044420010444200104572001045D8E0 +:1010F000001045FD001044420010444200104442DC +:1011000000104442001044424803C8574200000007 +:101110000000000C0401F1B9592C100982081500D7 +:1011200000FFFFFF0201F80000104A01040000392F +:101130004803C85782004D800000001D0402001AB9 +:101140000201F80000020869593404054C0000004F +:101150000201F80000104A745C0000000400000462 +:101160008C20450A0400002B8000058044002800E4 +:101170005934000848002802593400094800280161 +:101180005934000648002804593400074800280351 +:101190004200B000000000050201F80000109F7E30 +:1011A0000401F1C74803C85782004D800000001AAF +:1011B00004020003401010000401F1974803C857CF +:1011C00082004D800000001B040200034018100044 +:1011D0000401F1914803C85782004D800000001FB0 +:1011E0000400019282004D800000001C0400018F69 +:1011F00082004D8000000019420000000000000A3B +:101200000400017E420000000000000A0402019573 +:1012100059A800708C0005020400001B0201F800B0 +:1012200000104A74040000185934021282000500AC +:101230000000FF0042001000000000100402000C3B +:10124000420010000000000859A8021B8C0005068F +:1012500004020009593400028200050000FF00006A +:101260008200058000FF0000040000070201F80072 +:1012700000104D77420000000000001C40181000D4 +:10128000040201650201F80000107F430400016FB1 +:101290004926601C4936600A492E60094A026407E3 +:1012A000000000018C20450A04000004592C0405AC +:1012B0008400055C48025C054C2000004D3C0000A9 +:1012C00042027800000018000201F8000011007BC3 +:1012D0005C0278005C004000592C1009820815005F +:1012E00000FFFFFF5924000580081D800402001F35 +:1012F0004A026C0000000404497A6A05497A6C05C8 +:101300008C20450A040200074A026C000000060611 +:101310004A026A05000020004A026C050000002213 +:101320005924000159240802480268064806680743 +:10133000592400035924080448026808480668092B +:1013400059A8000448026A040201F80000104D9AEE +:101350000201F80000020BA1592C04058400051CB1 +:1013600048025C050401F1568C2045120400000B74 +:10137000599C00188C00051804000008592C000A1C +:1013800082000500000003805934080A80040D40E3 +:1013900084040D544806680A417A78000401F94D26 +:1013A00042000800000000030401F95542027000E9 +:1013B000000000020201F80000020BC58000058059 +:1013C0000401F1430201F80000104AD4040201258F +:1013D0000201F80000104A7A0400000C0201F80033 +:1013E00000104A74040201254C6000004178C000DE +:1013F0004202780000001800417A60000201F80003 +:1014000000101D0B5C00C000592C1009820815004B +:1014100000FFFFFF5924000580084D8004020008EA +:101420004A026C00000006064A026A05000020001D +:101430004A026C05000000220401F12159A8007045 +:101440008C0005020400001B0201F80000104A7421 +:101450000400001859340212820005000000FF0049 +:1014600042001000000000100402000C42001000B6 +:101470000000000859A8021B8C00050604020009A0 +:10148000593400028200050000FF00008200058040 +:1014900000FF0000040000070201F80000104D7773 +:1014A000420000000000001C40181000040200DA96 +:1014B0000201F80000107F43040000E45934080AD8 +:1014C0008C2045120400000C599C00188C00051853 +:1014D00004000009592C000A820005000000038066 +:1014E00082041500FFFFFC7F80080D4084040D542A +:1014F0000401F00284040D144806680A4926601CA1 +:101500004936600A492E60094A026407000000015A +:10151000417A78000401F8EF42000800000000055D +:101520000401F8F742027000000000030201F80015 +:1015300000020BC5800005800401F0E50201F800FF +:1015400000104AD4040200C70201F80000104A90BB +:10155000040200CA0201F80000109E77040000BBDC +:10156000800005800401F0DA0201F80000104AD47E +:10157000040200BC0201F80000104A90040200BFFF +:101580000201F800001099CE040000B08000058030 +:101590000401F0CF0201F80000104AD4040200B1A7 +:1015A00083444D80000007FE420000000000000A56 +:1015B000040200920201F80000109E90040000A3B3 +:1015C000800005800401F0C2822005000000007048 +:1015D000040200058C20450E420000000000000CB3 +:1015E000040200868C20450A0400000E4D3C0000D9 +:1015F00042027800000050008C20450E04020003D7 +:10160000853E7D56853E7D1C82200500000004A09D +:101610000201F80000104A365C0278000401F0A8CC +:101620008C20450804020022592C1009820815005C +:1016300000FFFFFF0201F80000104A010400002F24 +:101640004803C85782004D800000001A04020003BE +:10165000401010000401F0704803C85782004D800C +:101660000000001B04020003401810000401F06A8F +:101670004803C85782004D800000001F0400006B23 +:1016800082004D800000001C0400006882004D8034 +:1016900000000019420000000000000A040000578A +:1016A000420000000000000A0401F06E0201F80090 +:1016B00000104AD40402006B4D3C00004202780046 +:1016C000000050008C20450E04020003853E7D562C +:1016D000853E7D1C82200500000000900201F8007C +:1016E00000104A1E5C027800420000000000000A60 +:1016F000040200420401F072592C100982081500FE +:1017000000FFFFFF5924000580084D8004020003FC +:10171000842045480401F7E9836C0580000000033C +:101720004200080000000007040200060201F80061 +:1017300000109E1D04000007800005800401F06475 +:101740000201F80000104AB6040000590401F05CE0 +:101750000201F80000104AB60400003C0401F058F1 +:101760000201F80000104AD40402003E836C058098 +:1017700000000003040200488C2045080400000A11 +:101780004C6000004178C000420278000000180060 +:10179000417A60000201F80000101D0B5C00C000DF +:1017A0000401F0470201F80000104A7A0400000C1E +:1017B0000201F80000104A74040200304C6000007E +:1017C0004178C0004202780000001800417A6000B1 +:1017D0000201F80000101D0B5C00C000480BC85649 +:1017E0000201F80000109C6A0400001880000580C7 +:1017F0000401F0370401F7DB480BC857420008002A +:1018000000000019400010004200B000000000027B +:101810000401F00A480BC857400008004200B0001D +:10182000000000020401F005480BC8574000080002 +:101830004200B00000000001480BC857420280007F +:10184000000000310401F020480BC8574200080096 +:10185000000000034200B000000000010401F7F79F +:10186000480BC857420008000000000A4200B000C0 +:10187000000000010401F7F1480BC85742000800BE +:1018800000000009400010004200B000000000020B +:101890000401F7EA480BC85742000800000000079F +:1018A0004200B000000000010401F7E4480BC857F3 +:1018B0004200B000000000010401F7E080028580D2 +:1018C0004178B00082000540000000011C01F000DA +:1018D0004937C8575932680A59341200813E79C0D5 +:1018E00004000003840815400401F0028408150078 +:1018F000480A6A001C01F000406808005932680A72 +:101900005C0000004C0000004803C8574937C85726 +:10191000833405800010E33E04000030820405801B +:101920000000000604020004420000000000060659 +:101930000401F02182040580000000040402000478 +:1019400042000000000004040401F01B8204058032 +:101950000000000742000000000007070400001616 +:10196000820405800000000342000000000007031D +:101970000400001182040580000000054200000000 +:10198000000004050400000C82040580000000092A +:1019900042000000000004090400000782040580E2 +:1019A0000000000B420000000000070B02020800CC +:1019B0000010032E4803C85748026C0082040D80B3 +:1019C000000000060402000559341404800811C008 +:1019D000020008000010032E1C01F00040683000D7 +:1019E0000401F805413588000400000241798800AF +:1019F0001C01F0005C0000004C0000004803C857C8 +:101A00004947C857481BC857834404800000080052 +:101A100004021057832004000010C1B25002480095 +:101A20005924000983441480000007F004001003C7 +:101A3000800814000401F003834414000010C380E4 +:101A40005008000080026D40040000055934001366 +:101A50008000013081200580040000184C1800002F +:101A60004D2C00000201F80000100570412E6800A6 +:101A70005C0258005C0030000400003D5924200541 +:101A8000812000F080102540481268135924220755 +:101A90008010200048124A0745341000497A680D2A +:101AA000497A6810497A680F497A680E4C18000024 +:101AB0000401FC575C00300059340A124C04000049 +:101AC0000201F800001051555C00080004000009F4 +:101AD0008218050000FFFF000400000859A8100F3D +:101AE0008208150000FFFF00800805800400000345 +:101AF000800005800401F00482180500000000FF4A +:101B0000800000D080040D80040000034803C85703 +:101B100048026A125934081359242005812000F024 +:101B20008010254040040000801005800400000360 +:101B30004813C8574812681383440580000007FE05 +:101B4000040200044A02680200FFFFFE0401F006DE +:101B5000593400028018058004000003481BC85750 +:101B6000481A6802800005801C01F0004803C8562E +:101B700082000540000000010401F7FC4947C857F6 +:101B8000834404800000080004021019832004002C +:101B90000010C1B250024800592400098344148047 +:101BA000000007F004001003800814000401F00393 +:101BB000834414000010C3805008000080026D4070 +:101BC0000400000A0401FB83040200098D0E1D02BB +:101BD00004000004593402008C00050E04000004C7 +:101BE00082000540000000011C01F000800005801B +:101BF0000401F7FE5C0000004C0000004803C857D9 +:101C00004947C8570401F807420188000000000155 +:101C10000400000342018800000000001C01F000E5 +:101C20004D2C00004D300000834405800000FFFF74 +:101C300004000023834404800000080004021024F0 +:101C4000834414000010C3805008000080026D40DF +:101C50000400001B457810005934000D80025D40DF +:101C6000020208000010059F59366011813261C0E0 +:101C70000400000E4C6400005930C8005932580965 +:101C80000201F80000109904020208000010059FEC +:101C90000201F80000020BA182666540000000000E +:101CA000040207F65C00C8000201F80000104D6C49 +:101CB000413658000201F8000010059780000580A9 +:101CC0005C0260005C0258001C01F00082000540CC +:101CD000000000010401F7FB0201F8000002034EBE +:101CE0004135880004000002417988001C01F000A1 +:101CF0004C58000059CC00014937C85782000500F4 +:101D000000FFFFFF48026802497A6C01497A6A01C4 +:101D10005934020082000500FFFFDFFD48026A001F +:101D20004004B0000201F800001051550402001CEC +:101D30005934040382000580000007FE04000005FA +:101D400059A8021B8C00050A040200150401F008C2 +:101D500059CC04088C0005180400001159CC000966 +:101D60004803502859CC000A4803502959A808783C +:101D70008C040D3E0402000A8058B1C00402000821 +:101D800059CC020780000540040200034200000015 +:101D900000000001480388934803501259CC0A09F7 +:101DA00082040D000000001059CC040882000500D8 +:101DB000000000200400000584040D4059A8121BF7 +:101DC0008408155A480B521B5934000A820005003A +:101DD000FFFFFFEE800405404802680A83CCA400A0 +:101DE0000000000B8334AC00000000064200B0008D +:101DF000000000020201F8000010C12B83CCA400F7 +:101E00000000000D8334AC00000000084200B00068 +:101E1000000000020201F8000010C12B59CC0A1882 +:101E200059A800068C00050C0402001582040480E9 +:101E3000000008000402100C82040480000004006A +:101E40000400100442000800000004000401F00631 +:101E50008204048000000200040010034200080015 +:101E600000000200420010000010CC9B5808020144 +:101E700080041480040010024000080048066A0430 +:101E80005934040382000580000007FE04020003A9 +:101E900059CC0A0848066A040201F80000104D9A5D +:101EA0005C00B0001C01F00059A8021B4937C8575C +:101EB0008C00050804000008840005564803C85734 +:101EC0004803521B4200100000110A810201F80071 +:101ED0000010653C59CC02074803C85748026A0500 +:101EE00059CC020A4803C85748026C0559341200FD +:101EF000599C08185934180A4807C857480BC8573E +:101F0000480FC85759CC200682102500FF0000005A +:101F10008210258002000000040000078C00050EDE +:101F2000040000098C0C1D14040000038C0C1D0E11 +:101F3000040000058C040D18040000038408154AF1 +:101F40000401F0028408150A8C0005100400000941 +:101F50008C0C1D14040000038C0C1D1004000005E3 +:101F60008C040D18040000038408154E0401F002CF +:101F70008408150E8C000512040000098C0C1D1439 +:101F8000040000038C0C1D12040000058C040D18C5 +:101F9000040000038408155C0401F0028408151C89 +:101FA000480A6A001C01F0004803C8564C5C000057 +:101FB0004D2C00004C5800005934000D80025D404B +:101FC00004000029592C000382000480000000084E +:101FD0000400100B412CB800592C000180025D4018 +:101FE000040207F90201F80000100585040000371B +:101FF000492FC857492CB8010401F020832C0C004C +:10200000000000044200B00000000008500400007E +:1020100082000580FFFFFFFF04020006800410001D +:102020005008000082000580FFFFFFFF040000074A +:1020300082040C00000000028058B040040207F443 +:102040000201F8000010032E45480800454C10001E +:10205000592C1803800C1800480E5803480FC85715 +:102060000401F0140201F8000010058504000017B7 +:10207000492FC857492E680D497A58024A02580319 +:1020800000000001494A5804494E5805832C0C00B1 +:10209000000000064200B0000000000E46000800EC +:1020A000FFFFFFFF800408008058B040040207FCD7 +:1020B00082000540000000015C00B0005C02580096 +:1020C0005C00B8001C01F000800005800401F7FBF3 +:1020D0004803C8564D3C00004D2C00005934000DFB +:1020E00080025D400400001F592C00028000054062 +:1020F0000402001F412E78000401F8E30402001CD2 +:1021000046000800FFFFFFFF46001000FFFFFFFF33 +:102110004813C857480FC857580C000382000C805A +:102120000000000204021014480FC857400C0000C1 +:10213000812C058004020004580C00014802680D3F +:102140000401F003580C000148002001400E580023 +:102150000201F80000100596820005400000000111 +:102160005C0258005C0278001C01F00080000580D1 +:102170000401F7FC80000040480018034803C857DA +:102180000401F7F60201F8000002011A59300008B4 +:102190008400054E48026008592C1A05820C1D0067 +:1021A000000000FF820C0580000000480400001AB7 +:1021B0000201F0000002039E8C00050002020800EC +:1021C000000201964A02620300000002592C1A051F +:1021D000820C1D00000000FF820C0580000000182A +:1021E000020000000002039E820C058000000048EF +:1021F00004000009820C0580000000680202000053 +:102200000002039E42000000800800840201F000EA +:10221000000203A042000800800008040201F80048 +:1022200000020B340201F000000203A74A025A0721 +:10223000000000080201F000000203F14A025A0700 +:10224000000000290201F000000203F14A025A07CF +:102250000000002A0201F000000203F14A025A07BE +:10226000000000280201F000000203F14A025A07B0 +:102270000000000E0201F000000203F14943C857BC +:102280004D4400004D3400004D2C00004C5800001F +:102290004200B000000007F0417A88000201F80017 +:1022A0000002034E040200078D3E7D060400000478 +:1022B000593402008C00050E040200020401F813D8 +:1022C000814688008058B040040207F583440480AA +:1022D00000000800040210088D3E7D020400000684 +:1022E00042028800000007F04200B0000000001029 +:1022F0000401F7EB5C00B0005C0258005C0268006F +:102300005C0288001C01F0004D2C00004C600000B5 +:102310004C5C00004178B8005936580F812E59C0E6 +:102320000400002C592C020582000500000000FF6B +:102330008200058000000012040000238200058056 +:1023400000000060040000208D3E7D0004000003BA +:102350000401F8470402001C592CC000497A5800B7 +:10236000805CB9C00402000959340010812C05803A +:1023700004020004497A680F497A68100401F008E1 +:102380004862680F0401F0064860B8005934001034 +:10239000812C058004020002485E68104A025A053A +:1023A0000000010349425A07497A580A0201F8001D +:1023B00000109AC10201F800000203F140625800C7 +:1023C0000401F7D7412CB800592E58000401F7D466 +:1023D0005C00B8005C00C0005C0258001C01F0000A +:1023E0004803C856417818005934000F80025D40F8 +:1023F00004000019592C000680200580592C00008B +:1024000004000003412C18000401F7F9592C0A05B7 +:1024100082040D00000000FF82040D800000001205 +:10242000040007F982040D8000000060040007F634 +:10243000497A5800800C19C00400000848001800B0 +:102440008000054004020004480E68108200054028 +:10245000000000011C01F0004802680F80000540E8 +:10246000040207FD497A68100401F7F9592C0009A4 +:102470008148058004020003592C000A814C058024 +:102480001C01F0004803C8564C580000413C18009D +:10249000400C2000593C0002800005400402001856 +:1024A0004200B00000000008820C0C000000000494 +:1024B00050040000814805800402000580041000DB +:1024C00050080000814C05800400000D82040C00BF +:1024D000000000028058B040040207F6400C2000C3 +:1024E000580C000180001D40040207EE82000540E8 +:1024F000000000015C00B0001C01F00080000580BD +:102500000401F7FD4937C8574C5800004D2C000016 +:102510005934000D80025D40040200160201F800EB +:102520000010058504000010492E680D4A0258026B +:1025300000000001497A5803832C0C0000000004BD +:102540004200B0000000001046000800FFFFFFFF3F +:10255000800408008058B040040207FC8200054057 +:10256000000000015C0258005C00B0001C01F0009B +:102570004D2C0000592E58010201F8000010059F53 +:102580005C025800497A58010401F7E94D2C00001B +:102590005936580D812E59C0040000074937C857D5 +:1025A000497A680D0201F8000010059F820005407D +:1025B000000000015C0258001C01F00059340405C1 +:1025C0004937C8574803C8578C0005081C01F0005C +:1025D0004933C8575930380A581C02008400051A7C +:1025E00048003A001C01F000420268000010CC7B59 +:1025F000497A680E42028800000007FF0201F800D5 +:10260000001043034937C8574A026C000000060611 +:102610004A02680200FFFFFF4A02681300FFFFFF43 +:102620004A026A04000002004A026C040000000230 +:102630001C01F0000401F8074201880000000001BD +:102640000402000342018800000000001C01F000A9 +:102650005930000A500000004933C8574803C85792 +:102660008C00050E1C01F0005930000A50000000DB +:102670008C00050A1C01F0000401F80742018800E3 +:102680000000000104000003420188000000000077 +:102690001C01F0004933C8560401F8E104000006AB +:1026A0005934040082000D00000000FF82041580F0 +:1026B000000000051C01F0004803C85659A80A1B79 +:1026C0008C040D060400000B5930081C580402004D +:1026D0008C00050004000007580400098200040073 +:1026E0000000000E50000800580402008C00051A7B +:1026F0001C01F0000401F8074201880000000001FD +:102700000402000342018800000000001C01F000E8 +:102710004D3400004C58000059A80A1B8C040D06CB +:10272000040000190201F8000010C16F4200080007 +:102730000010D0D358041009820804000000000ED5 +:1027400050026800813669C00400000A5804020083 +:1027500082000500000000038200058000000003E5 +:1027600004020004593402008C00051A0402000619 +:1027700082040C000000000B8058B040040207EEF9 +:10278000800005805C00B0005C0268001C01F00065 +:102790004937C857493FC85759341200813E79C05C +:1027A000040000038408155E0401F0028408151E6D +:1027B000480A6A001C01F0004937C8570201F800B6 +:1027C00000101D7C0400000659A8082842001000D3 +:1027D000001049F80201F800001066751C01F000B5 +:1027E0004937C85742001000001049F80201F800AC +:1027F0000010653C59A8121B84081512480B521B87 +:102800001C01F0004008D0004020D800829D3C8090 +:1028100000000004409CE0000201F80000110BDC05 +:10282000589C0000589C2001589C2802589C30035A +:10283000829D3C0000000004800001C01C01F000EB +:102840004D340000406A68000401F8035C0268002F +:102850001C01F0005934000F5934140B800810404B +:1028600004001002480A6C0B8000054002020800B8 +:102870000002035C1C01F0004803C8574947C857D1 +:102880004C300000820065000000003004000006AB +:102890004C0000000201F80000109D765C00000072 +:1028A0000402000B8C00050E040000060401F8A9C8 +:1028B000040200074937C857412408000401F8BD45 +:1028C000800005805C0060001C01F0008200054073 +:1028D000000000010401F7FC4803C8574C580000F1 +:1028E0004D4400004000100080000D804200B00008 +:1028F000000007F04C040000400688004C0800006F +:10290000400800000401FFDF5C0010005C000800CC +:10291000800408008058B040040207F78C081514A2 +:1029200004000007840815144200B00000000001F4 +:1029300042000800000007FC0401F7EF4D300000E2 +:102940004D4000004D2400000401FBA54202880018 +:102950000000FFFF420260000011162C4A02600ACC +:102960000010E33E417A48004926601C4202800084 +:10297000000000290201F80000106E814DF00000F7 +:102980000201F8000011045D0201F80000110A10B4 +:102990005C03E0000200080000106E6E5C0248005C +:1029A0005C0280005C0260005C0288005C00B00099 +:1029B0001C01F0000401F80742018800000000013A +:1029C0000400000342018800000000001C01F00028 +:1029D0004C5C0000593404008200BD8000000606F3 +:1029E0005C00B8001C01F0004C5C0000593404008D +:1029F0008200BD80000004045C00B8001C01F000EF +:102A00000401F807420188000000000104000003EF +:102A100042018800000000001C01F0004C5C000036 +:102A2000593404008200BD80000004040400000347 +:102A30008200BD80000006065C00B8001C01F000AA +:102A40004C5C00004C600000593404008200BD0062 +:102A50000000FF00825CC580000004000400000349 +:102A6000825CC580000006005C00C0005C00B8000D +:102A70001C01F0004C5C0000593404008200050089 +:102A8000000000FF8200BD8000000003040000037E +:102A90008200BD80000000055C00B8001C01F00051 +:102AA0005C0000004C0000004803C8574C5C00006C +:102AB00059340400820005000000FF008400B9C002 +:102AC000805C05804937C8574803C85748026C00E6 +:102AD0005C00B8001C01F0004C0400004C08000031 +:102AE000592C02088C00050C0400000F592E8C078D +:102AF0008200050000000080840005484D3C000075 +:102B000042027800000010000401FF5C5C027800C3 +:102B100082000540000000015C0010005C0008001D +:102B20001C01F000800005800401F7FC59340013FB +:102B30008002413083224C000010C1B2512648006F +:102B4000812649C0020008000010032E1C01F0007D +:102B500083440C800000080004021013832004004A +:102B60000010C1B2500248005924000983440C806F +:102B7000000007F00400100380040C000401F003BF +:102B800083440C000010C3805004000080026D409C +:102B900004000005593400138000013081200580B5 +:102BA0001C01F00082000540000000010401F7FD57 +:102BB0004937C8574C5800004D44000059368C0323 +:102BC000834405800000FFFF04000012834414804A +:102BD000000007F0040210030401FC070401F00DDB +:102BE0005804000980080C0050040000813405805E +:102BF000020208000010032E4D2C0000457808004A +:102C0000413658000201F800001005965C02580099 +:102C1000800005805C0288005C00B0001C01F000B0 +:102C2000592C040C820005000000E00082000580A1 +:102C30000000600004000026836C05800000000393 +:102C400004000016836C05800000000204020122CB +:102C500059A8021B82000D00000000380402000584 +:102C600059A80813800409C00400000C0401F11ADB +:102C700082000D000000000382040D8000000003AC +:102C80000402011582000D00000000280402000368 +:102C90008C00050C04000110592E440883224500C5 +:102CA000000000FF0201F80000105CBD040200DD1E +:102CB000592C100B82080500FF000000040200E8F8 +:102CC0005924000580080580040000E2592C0C0CF2 +:102CD00082040D000000E0008204048000008000F7 +:102CE000040210E2592E8C0783440480000008007F +:102CF00004001016834405800000FFFF040200C694 +:102D0000800409C004020114592C240A8210050011 +:102D1000FFFFFF00040200CC480BC8574813C857F8 +:102D2000592C000E8200048000000841040210D2D9 +:102D300042027000000000530401FAA94202680038 +:102D40000010E33E0401F09B800409C0040201026C +:102D5000417840000401FEAC040200E95934220429 +:102D6000592C000E80100480040010C34202700031 +:102D700000000053592C240A82100500FFFFFF00B9 +:102D8000040200B14813C857592C000D800001C03F +:102D9000040000858210058000000004040000A7E4 +:102DA0008210058000000051040000A482100580FC +:102DB00000000003040000168210058000000020BF +:102DC0000400004C82100580000000240400004331 +:102DD000821005800000002104000043821005805D +:102DE00000000050040000388210058000000052EE +:102DF0000400003282100580000000050402006D0E +:102E000042027000000000010401F01B4202700049 +:102E10000000000259A800708C0005020400001692 +:102E20000401FEEC04000014593402128200050073 +:102E30000000FF0042001000000000100402000C1F +:102E400059A8021B8C000506040200734200100002 +:102E500000000008593400028200050000FF000055 +:102E60008200058000FF0000040000030401F9DC7B +:102E7000040200690201F80000107F43040000888A +:102E80004A026407000000104926601C4936600AA7 +:102E900042000800000000038338058000000002A3 +:102EA00004000003420008000000000B0201F800CB +:102EB0000010463F0401F04642027000000000008E +:102EC0000401F00342027000000000040401FEDD72 +:102ED0000402007A0401F03742027000000000335F +:102EE0000401F00642027000000000050401F00336 +:102EF00042027000000000030401FEC90402006FDA +:102F000059A800708C000502040000160401FEB1EF +:102F10000400001459340212820005000000FF0072 +:102F200042001000000000100402000C59A8021B0F +:102F30008C00050604020038420010000000000862 +:102F4000593400028200050000FF00008200058065 +:102F500000FF0000040000030401F9A10402002E98 +:102F60000201F80000107F430400004D4A0264078C +:102F7000000000104926601C4936600A4200080023 +:102F800000000005833805800000000304000003F2 +:102F900042000800000000090201F8000010463F4E +:102FA0000401F00B8210258000000011040200359E +:102FB0000201F80000107F43040000394A02640750 +:102FC000000000104926601C4936600A492E60093D +:102FD00049325809833405800010E33E040000079D +:102FE000592C0C0C8C040D180400000459340200F8 +:102FF0008400051448026A000201F80000020BC5B3 +:10300000800005801C01F0008200054000000001E6 +:103010000401F7FD420010000000000A0401F01B4B +:10302000420010000000000E0401F01842001000E1 +:10303000000000100401F01542001000000000160E +:103040000401F01242001000000000170401F00F0C +:1030500042001000000000180401F00C42001000B3 +:103060000000001B0401F009420010000000001ED7 +:103070000401F00642001000000000240401F003E7 +:10308000420010000000002042000800000000196B +:1030900042028000000000310401F7DC4200080019 +:1030A000000000030401F003420008000000000AD1 +:1030B000417810000401F7F7420008000000000901 +:1030C000593414000401F7F34202800000000008A4 +:1030D0000401F0054200080000000007416C1000E8 +:1030E0000401F7EC41780800417810000401F7C7AB +:1030F00042028000000000000401F7FB82004D80C6 +:103100000000001D020008000010032E82004D8008 +:103110000000001A040200044010100040000800E3 +:103120000401F7DC82004D800000001B0402000354 +:10313000401810000401F7FA82004D800000001CC6 +:10314000040007F782004D8000000019040007B258 +:103150000401F7D6592E60090201F80000109D699C +:10316000040007B359300C078204058000000011E9 +:10317000040207D6592C0C0C820415000000E00054 +:10318000820805800000600004000024834405805C +:103190000000FFFF040200085932680A83340580EA +:1031A0000010E33E040207C9420008000000084086 +:1031B0000401F00F592C100B8208150000FFFFFFCF +:1031C000417840000401FD90040207CD5930000A07 +:1031D00082000D800010E33E04000003813405806E +:1031E000040207BA4936600A59340A04592C000E01 +:1031F00080040480040017A059300A03820405806B +:1032000000000007040207B1492E60094202700065 +:10321000000000540401F7700201F8000010B771BB +:10322000040007B40401F7A9492FC857592E6009B3 +:1032300083300580FFFFFFFF04020047592C02087E +:103240008C000500040200838D0E1D0E040200692F +:10325000592E8C0783440480000008000402103BB0 +:10326000592C380B821C3D0000FFFFFF0201F800C3 +:1032700000101FF304020041492658024178400023 +:10328000592C100A8208150000FFFFFF0401FD5EA3 +:103290000402005B592E60144933C85783300580FF +:1032A000FFFFFFFF0400001B0201F80000109D69F2 +:1032B00004000035591C1407800811C004000015D3 +:1032C000592C040E591C0A028004058004020011C6 +:1032D000591C000A800001C004020007591C08277D +:1032E00059340002800405808200050000FFFFFFC2 +:1032F0000401F00281340580040200068208058082 +:1033000000000007040200384A023C0300000024C9 +:1033100059240005592C080A8204150000FFFFFFFC +:10332000800815800400000F8004093282040580A3 +:10333000000000420402000E493658030401F90857 +:10334000800005801C01F000420010000000000A0F +:103350000401F00F42001000000000100401F00C06 +:1033600042001000000000140401F00942001000A7 +:10337000000000170401F0064200100000000018D1 +:103380000401F003420010000000003C492FC85720 +:10339000480BC85742000800000000194202800094 +:1033A0000000003182000540000000010401F7E642 +:1033B000492FC8574803C857480BC8574000080052 +:1033C0000401F7F7492FC857420008000000000A1F +:1033D000417810000401F7F24178080041781000AC +:1033E0000401F7F1420008000000001E0401F7F993 +:1033F00042000800000000010401F7F682004D8041 +:103400000000001D020008000010032E82004D8005 +:103410000000001A04020003401010000401F7E548 +:1034200082004D800000001B0402000340181000C1 +:103430000401F7E082004D800000001C040007DD5D +:1034400082004D8000000019040007DA0401F7DE55 +:103450000201F8000010B864420280000000000081 +:103460000401F7DE5C0000004C0000004803C85770 +:103470005930200A801021C0040000355810140073 +:103480004813C857480BC85782081D00000000FFAA +:1034900059300C038204058000000008040000225B +:1034A000820405800000000A0400001782040580E1 +:1034B0000000000C040000108204058000000002DF +:1034C00004000019820405800000000104000012BD +:1034D00082040580000000030400000B82040580C4 +:1034E0000000000504000004820405800000003391 +:1034F00004020017820C0580000000090400000D82 +:103500000401F013820C058000000005040000098E +:103510000401F00F820C05800000000B0400000580 +:103520000401F00B820C0580000000030402000877 +:1035300082081D00FFFFFF00840C01C0800C0540C5 +:103540004807C8574803C857480024001C01F0002A +:103550000401F80742018800000000010402000392 +:1035600042018800000000001C01F000599C001777 +:103570008C00050A04000003800005801C01F00097 +:1035800059A8021B82000500000000280400000862 +:1035900042028800000007FD417A40000401FD6DF1 +:1035A000040200035934000A8C0005041C01F000D9 +:1035B0004D3000005934000E8002654004000006C2 +:1035C0000201F800001068E10200080000106AB96A +:1035D000497A680E5C0260001C01F0004D44000056 +:1035E0004D34000080000580400018004002880033 +:1035F0008208058000000008040200034200180051 +:10360000000000010201F8000002034E0402000A5B +:103610000401FCF004020008800C19C0040000043E +:10362000593404058C00050804000003800810408C +:1036300004000009814688008344048000000800DB +:10364000040017F1800005805C0268005C028800BD +:103650001C01F00082000540000000015C026800CF +:103660005C0288001C01F000420008000000000815 +:1036700059BC00E48C0005240402002E59A8021B4A +:103680008C0005080402002B5934100A820815002A +:103690000000E0004178180082080580000000006A +:1036A00004000006800C180082080580000020003D +:1036B00004000002800C1800420070000010CC9B37 +:1036C000583804018C00050404000007820C2C808B +:1036D0000000000304021017820C040000104DCEFD +:1036E0000401F0134178200059342A048214048024 +:1036F00000000800040210068010200082140480DC +:10370000000004000402100280102000800C00C29F +:10371000800C04008010040082002C800000000651 +:10372000040210048200040000104DD15000080073 +:1037300048066C041C01F0000000000200000004B8 +:1037400000000008000028020000140200000A0225 +:103750000000140200000A020000050259A80853E4 +:10376000800409C004020005492F5052492F5053CC +:103770000201F00000107E6D492C0800492F5053C3 +:103780001C01F0005934000F4178400080001540C2 +:10379000040000105808020582000500000000FF28 +:1037A00082000580000000120400000482000580F1 +:1037B00000000060040200045808020D8004058027 +:1037C0000400000658080000400840000401F7F01B +:1037D00082000540000000011C01F00042000000D2 +:1037E0000010E33E4A000400000007074A000204FC +:1037F000000008404A0004030000FFFF497802006F +:103800001C01F0004D3400004D4400004C580000F5 +:103810004200B000000007F04803C856417A880013 +:103820000201F8000002034E0402000659340200AF +:103830008C00051A040000038400051A48026A007F +:10384000814688008058B040040207F65C00B00052 +:103850005C0288005C0268001C01F0004A03301121 +:10386000000000004A03B104800000004A03B104D4 +:1038700060000001497B3016497B30171C01F000C5 +:10388000599C00184803C856497B3014497B3015B1 +:10389000820005000000000F4803301204000009F8 +:1038A000599C0216820005000000FFFF040200037D +:1038B000420000000000000248033013850E1D6224 +:1038C0001C01F0000401FFEF4A03C82600000004B9 +:1038D000599C0209800005400400001E599C020703 +:1038E0008000054004000007800000CC599C080DB2 +:1038F000800404004803B100497BB10259D801019A +:10390000599C000D4803B100599C000E4803B101B9 +:10391000599C02078000054004020002497BB10265 +:10392000599C0A0982040540004000004803B10385 +:103930004A03B109000000054A03B1041000000168 +:103940008D0E1D22040200044A0330110000000104 +:103950001C01F0008D0E1D20040200044A033011EA +:10396000000000020401F7FB4A03301100000003CD +:103970000401F7F8592C0205492FC857800005406B +:1039800004000008420340000010CBFF59A1D806F4 +:1039900080EDD9C0020008000010032E0401F007DA +:1039A0000201F8000010A349020208000010032ED3 +:1039B0005931D82A58EF400A58EC0008800001C05D +:1039C000020008000010032E0801F8001C01F0009E +:1039D000406808005C0000004C0000004803C85725 +:1039E000492FC8574943C8574807C8574A025A057C +:1039F0000000010349425A0748065A094A025C0777 +:103A00000000FFFF813261C004000003593004024E +:103A100048025C07592C02098C00051204020008B8 +:103A2000832C04000000000A040110004803C84071 +:103A30004A03C8420000000B040110001C01F00002 +:103A4000406800004C5400004C5800004C5C0000E2 +:103A50004D2C00004000B8000201F8000010C16FBA +:103A60004178A8000201F80000100570040000B6BB +:103A700004011000485FC857832C040000000005B3 +:103A80004803C8404A03C84200000010400000003C +:103A9000040117FF412C70004A0258050000013252 +:103AA000497A5806805CB9C004020074832E5C0019 +:103AB00000000008417A4000420248000010D0D3C4 +:103AC0004178680059240A00820405000000000FB4 +:103AD0000C01F00100104ECE00104ECE00104ECE64 +:103AE00000104ECE00104ECE00104ECE00104ECE26 +:103AF00000104EC500104ECE00104ECE00104ECE1F +:103B000000104ECE00104ECE00104ECE00104ECE05 +:103B100000104ECE8054A800812241C0040200074C +:103B200059240805805C00F080040D4048065800C8 +:103B3000812E58000401F03F82340500000000038C +:103B40000C01F00100104ED500104EE000104EECBC +:103B500000104EF8832005800000000104020004DC +:103B600042002000000000010401F02A83200480AC +:103B70000000002004001026803468000401F024B6 +:103B8000832005800000002104020005812E5800DA +:103B900042002000000000010401F01E8320048088 +:103BA000000000400400101A803468000401F0187E +:103BB000832005800000004104020005812E58008A +:103BC00042002000000000010401F0128320048064 +:103BD000000000600400100E803468000401F00C46 +:103BE000832005800000006104020005812E58003A +:103BF00042002000000000010401F0068320048040 +:103C00000000007F0400100280346800801020C291 +:103C10008204050000000007820005800000000704 +:103C200004020004592C000080100540480258008E +:103C300083264C000000000B812240008058B040D9 +:103C4000040207A18054A9C0403A58000400003C77 +:103C50000201F8000010C16F0201F8000010C18DD0 +:103C6000040200028058B040805800D080540540C3 +:103C700048025A070401F0294943C8574923C85745 +:103C800083400580000000010402000548165A091F +:103C900082140580000000030400002683400D000C +:103CA000000000FF820405800000000404000021E1 +:103CB00082040580000000060400001E83400D0001 +:103CC0000000FF0004000003814001104802580D6D +:103CD000814000D08120054048025C070201F800C5 +:103CE0000010C18D040200028058B040805800D0FE +:103CF000820005400000000148025A0759240805C7 +:103D0000805C00F080040D4048065808592C0209D8 +:103D1000800C054048025A090201F8000010C19EBB +:103D20000402000E0201F800000203F10401F00693 +:103D300059CC00074802580D0401F7E60201F800CB +:103D4000001005965C0258005C00B8005C00B000F2 +:103D50005C00A8001C01F0000201F8000010B71779 +:103D60000401F7F959A8001182000C800000000A34 +:103D7000020218000010032E0C01F8094A038805FE +:103D8000000000F059C400A3820005000287000073 +:103D9000020208000010032E1C01F0000010500069 +:103DA00000104F7200104F9100104FC500104FF0DF +:103DB0000010032E0010032E00104F910010032E50 +:103DC00000104F711C01F0004200200000000003B1 +:103DD0000201F800001054664A038808000000043D +:103DE0000201F8000010544D59C408058C040D0E52 +:103DF000040200148C040D0A0402000B8C040D0C48 +:103E0000040200068C040D080400000E4A03501141 +:103E1000000000030401F00A4A03501100000000F2 +:103E20000401F007420000000010CF780201F80002 +:103E30000010C0584A035011000000020401F8C6E7 +:103E40001C01F00059A800788C00053E04020018FF +:103E500042002000000000000201F800001054663B +:103E60004A0388080000000259C408058C040D08A4 +:103E7000040200258C040D0C040200208C040D0E9D +:103E80000402001B82040500000000F0040200216F +:103E90000201F8000010544D4A0388080000008019 +:103EA00059C400028400050C480388020401F9DDAE +:103EB0004D3C000042027800000000010201F800C1 +:103EC0000010A2AE5C0278004A038808000000805F +:103ED00042002000000000020201F80000105466B9 +:103EE0004A035011000000090401F00A4A0350116E +:103EF000000000010401F0064A0350110000000018 +:103F00000401F0034A035011000000030401F89279 +:103F10001C01F00042002000000000010201F80036 +:103F2000001054664A0388080000008059C4080540 +:103F30008C040D0A0402001F8C040D0C0402001AEC +:103F40008C040D0E0402001582040500000000F030 +:103F50000402001B59C400028400050C48038802B7 +:103F60000401F9B04D3C000042027800000000015D +:103F70000201F8000010A2AE5C02780042002000AE +:103F8000000000020201F800001054664A035011BC +:103F9000000000090401F00A4A035011000000016A +:103FA0000401F0064A035011000000000401F00370 +:103FB0004A035011000000020401F8671C01F000E0 +:103FC0000201F8000010559A4A0388080000000812 +:103FD00059C408058C040D0C040200068C040D0E57 +:103FE000040000074A035011000000010401F0031F +:103FF0004A035011000000000401F8571C01F000B2 +:1040000042002000000000040201F8000010546685 +:104010000401F8A059C408058C040D0C0402000B1F +:104020008C040D0A040200068C040D0E0400000727 +:104030004A035011000000010401F0034A0350112B +:10404000000000020401F8441C01F0000401F942E0 +:10405000020208000010032E59A808788C040D3EB7 +:10406000040000044A035014000000010401F03968 +:1040700042002000000000070201F8000010546612 +:104080008D0E1D0C04000014850E1D0C4A038805BE +:10409000000000100201F8000010195C59C400056E +:1040A0008C000508040000084A0388080000000886 +:1040B0004A035014000000014202D8000000000131 +:1040C0000401F02459C4000684000548480388060A +:1040D0000401F02059A800118200058000000001B1 +:1040E0000402001A420000000010CF780201F8001C +:1040F0000010C0584CE800004201D000000003E866 +:104100000201F8000010669E59C4000582000500F7 +:10411000000000300400000C8C00050A04000006BA +:1041200042002000000000000201F8000010546668 +:104130000401F00542002000000000010201F80027 +:10414000001054665C01D0004A03501100000004C6 +:104150001C01F0004C0400004C0800004200080064 +:104160000000006442001000001050600201F800DE +:10417000001066805C0010005C0008001C01F0006C +:104180004803C8564C0400000201F80000106E817C +:104190004DF000000201F8000010711E5C03E00009 +:1041A0000200080000106E6E420000000010CF7781 +:1041B0000201F8000010C0580401FFA55C000800CF +:1041C0001C01F0004803C8564C0400004C080000D5 +:1041D0000201F80000106E814DF000000201F800AD +:1041E0000010711E5C03E0000200080000106E6EFB +:1041F00059C4000684000500480388060201F8003F +:10420000001071F4497B8880420000000010CF76D6 +:104210000201F8000010C0580201F8000010184216 +:104220004A035058000000044202D8000000000475 +:104230004A03880500000001420010000010506091 +:104240000201F8000010668B0201F800001004550E +:104250000401F8DD0400000642006000FEFFFFFFDD +:10426000417868000201F800001042CC0201F80019 +:1042700000110E6742000000000000800201F800FB +:104280000010157F5C0010005C0008001C01F000AD +:1042900059C40008820005800000001004000007D7 +:1042A0004A038808000000104201D0000000138873 +:1042B0000201F8000010669E1C01F0004C04000092 +:1042C00059A8081482040580000000000400000BB7 +:1042D00082040580000000010400000B82040580B8 +:1042E00000000002040000138204058000000003A7 +:1042F000040000130401F05D4A03501100000000A7 +:104300000401F01159A808788C040D3E0400000641 +:104310004A035011000000034A0350140000000437 +:104320000401F0524A035011000000040401F00699 +:104330004A035011000000010401F0034A03501128 +:1043400000000007497B88804A0388930000000131 +:10435000417800000201F800001016070201F80081 +:10436000001071F4836C0D8000000004040000084C +:1043700059C4000682000500FFFFFF0F82000540C0 +:1043800004000001480388060401F00759C4000630 +:1043900082000500FFFFFF0F8200054004000000BF +:1043A000480388060401F8880402000559C4080679 +:1043B00082040D00FBFFFF0F4807880659C4000563 +:1043C0008C0005340402003342006000FC18FFFF3B +:1043D00042006800010000000201F800001042CC19 +:1043E0000201F8000010195C59C408A482040D00F1 +:1043F0000000000F82040D800000000C040208BFC2 +:104400000401F8710400000642006000FEFFFFFF97 +:10441000417868000201F800001042CC836C0D80E6 +:10442000000000040400000F0401FF4B5994102EFB +:1044300041780800420000000000000A0201F80074 +:1044400000106CDD4008000059A8083180040C0001 +:1044500042001000001050710201F8000010667553 +:104460004A035014000000040401FE3F0401F85602 +:104470000402000859C408A482040D000000000FC3 +:10448000820405800000000C020208000010032EC8 +:104490005C0008001C01F0004803C8564C000000F6 +:1044A0000201F800001066AE4A03500F00FFFFFF44 +:1044B000497B501359A8001F82000500FFFF000030 +:1044C0004803501F497B8880497B889341780000CE +:1044D0000201F8000010160759C40001820005000F +:1044E000FFFFFCFF4803880142006000FC18FFFF4B +:1044F000417868000201F800001042CC4A038808A5 +:10450000000000005C000000800001C00202080002 +:10451000001041304A038805040000F059C4000629 +:1045200082000500FFFFFFCF82000540440000C16C +:10453000480388061C01F0000401F80742018800C6 +:104540000000000104000003420188000000000098 +:104550001C01F0004C5C000059A8B813825CBD80BF +:104560000000AAAA5C00B8001C01F0000401F807D2 +:10457000420188000000000104000003420188009D +:10458000000000001C01F0004C5C0000599CB818B1 +:10459000825CBD0000000030825CBD800000000035 +:1045A0005C00B8001C01F0000401F807420188001B +:1045B0000000000104000003420188000000000028 +:1045C0001C01F0004C5C0000599CB818825CBD00D6 +:1045D00000000030825CBD80000000105C00B8006C +:1045E0001C01F0000401F8074201880000000001EE +:1045F0000400000342018800000000001C01F000DC +:104600004C5C0000599CB818825CBD000000003072 +:10461000825CBD80000000205C00B8001C01F0003E +:10462000490FC857830C0D0000000013040000263A +:10463000599C10174D3C0000830C05000000001130 +:1046400004000005417A78008D0E1D200402000947 +:104650000401F01542027800000000088D0E1D20B4 +:104660000400001142003000000000030401F003C8 +:104670004200300000000004420280000000000EF2 +:104680004D20000042024000000000FF0201F8003F +:104690000010B22C5C024000599C10178C08150ABF +:1046A0000402000742028000000000040201F8003A +:1046B0000010FFF24803C856850E1D085C02780002 +:1046C0000401F00D8D0E1D200400000B420280003D +:1046D0000000000F42003000000000014D200000EB +:1046E00042024000000000FF0201F8000010B22C5E +:1046F0005C0240001C01F0004803C8564C58000002 +:10470000420000000010D08C0201F8000010C058D8 +:10471000420008000010E60059C4000344000800ED +:1047200059C400044800080159C4000B480008029D +:1047300059C4008E4800080359C4008F480008047B +:1047400059C400904800080559C400914800080663 +:1047500059C400924800080759C40093480008084B +:1047600059C400994800080959C4009E4800080A25 +:1047700059C400AA4800080B59C400AF4800080CEF +:1047800059C400B24800080D59C400B14800080ED1 +:1047900082040C000000000F41C418004200B00069 +:1047A00000000030580C005044000800800408004D +:1047B000800C18008058B040040207FB41C4180068 +:1047C0004200B00000000020580C00104400080017 +:1047D00080040800800C18008058B040040207FBD9 +:1047E000497B88304200B0000000004059C40031CD +:1047F00044000800800408008058B040040207FC10 +:10480000497B88AC4200B0000000001059C400ADE4 +:1048100044000800800408008058B040040207FCEF +:1048200059C410014C0800008408150C480B88017D +:104830004A0370E4000003004A0370E5B000000082 +:104840004200080000000800800408400200080040 +:104850000010032E59B800E58C000538040207FB50 +:104860004A0370E40000020042006000FFFFFFFF07 +:1048700042006800800000000201F800001042CCF5 +:104880004A03880700000001497B88070401FB896F +:104890004A0388080000001042006000FCF8FFFF97 +:1048A00042006800010000000201F800001042CC44 +:1048B0005C001000480B8801420008000010E60070 +:1048C000500400004803880358040001480388048A +:1048D000580400024803880B580400034803888EDC +:1048E000580400044803888F580400054803889042 +:1048F000580400064803889158040007480388922A +:10490000580400084803889358040009480388990C +:104910005804000A4803889E5804000B480388AADC +:104920005804000C480388AF5804000D480388B2AF +:104930005804000E480388B182040C000000000FE8 +:1049400041C418004200B0000000003050040000D4 +:104950004800185080040800800C18008058B040AF +:10496000040207FB41C418004200B0000000002010 +:10497000500400004800181080040800800C180043 +:104980008058B040040207FB497B88304200B000E9 +:1049900000000040500400004803883180040800F3 +:1049A0008058B040040207FC497B88AC4200B0004C +:1049B0000000001050040000480388AD8004080087 +:1049C0008058B040040207FC497B88804178000091 +:1049D0000201F8000010160759C408A482040D0053 +:1049E0000000000F820405800000000C0202080095 +:1049F0000010032E4A038805040000005C00B0008C +:104A00001C01F0004803C8564200080000000001E5 +:104A10000201F80000101C014C5800004CE8000096 +:104A2000420000000010CF790201F8000010C058C9 +:104A300059C410084C08000082081500FFFFFF7FD2 +:104A4000480B880859C400048200050000003E029B +:104A5000040000054201D000000000140201F8002B +:104A60000010669E59C4000682000500FFFFFF0F7C +:104A7000480388060401FB0659A8006D8000054024 +:104A8000040000144A038805000000014C5800008F +:104A90004200B000000006A44201D0000000006403 +:104AA0004C5800000201F8000010669E0201F80058 +:104AB0000010191A5C00B000040000058058B040D6 +:104AC000040207F65C00B0000401F0115C00B000C5 +:104AD0004A038805000000104A038808000000040B +:104AE0004200B0000000006559C400058C000508B4 +:104AF0000402001D4201D000000003E80201F8009A +:104B00000010669E8058B040040207F84200200062 +:104B1000000000070401F9A10401FAD40201F80021 +:104B2000001071F44803C85659A800788C00053E5F +:104B3000040000040201F8000010B94F0401F00362 +:104B40004A038808000000084A03501400000001CE +:104B50004202D80000000001820005400000000170 +:104B60000401F04842002000000000010401F98B1C +:104B70000201F80000100801420000000010D06897 +:104B80000201F8000010C0580201F80000100CF2F9 +:104B9000497B888059A8001F820005000000FFFFA4 +:104BA0004C0000000201F800001016075C00000035 +:104BB00048038880417808000201F80000101C01B9 +:104BC0004A038808000000004A0388050000000826 +:104BD0004200B000000000654A038805000000F0B4 +:104BE00059A8006D80000540040000054201D00076 +:104BF000000000020201F8000010669E0201F800A9 +:104C00000010195C42000800000000F059C40005C3 +:104C100080040D00040000084201D000000003E8F9 +:104C20000201F8000010669E8058B040040207EBB5 +:104C30000401F7B759A8006D800005400400000486 +:104C400059C400058C000506040007F4420020004A +:104C5000000000020401F95159C400068200054019 +:104C6000000000F04803880659A8001280000540A3 +:104C70000402000280000000480388938000058041 +:104C80004DF000000201F800001019845C03E00000 +:104C90005C001000480B88085C01D0005C00B0008C +:104CA0001C01F0004803C856420008000000000143 +:104CB0000201F80000101C014C5800004CE80000F4 +:104CC00059C410084C08000082081500FFFFFF7F40 +:104CD000480B880859C400048200050000003E0209 +:104CE000040000054201D000000000140201F80099 +:104CF0000010669E0201F80000100801420000004A +:104D00000010D0690201F8000010C0580201F8003C +:104D100000100CF242002000000000000401F91F06 +:104D20004A0388080000000280000580480388804C +:104D3000480388930201F800001016074200B000F3 +:104D4000000003844A038805000000F00201F80017 +:104D50000010195C42000800000000F059C4000572 +:104D600080040D000400002482000500000000D033 +:104D7000040200244201D000000000670201F80094 +:104D80000010669E8058B040040207EF42002000E9 +:104D9000000000070401F9010201F800001071F49D +:104DA0000401FA3259A800788C00053E0400000482 +:104DB0000201F8000010B94F0401F0034A0388080B +:104DC000000000084A035014000000014202D8000D +:104DD0000000000159C400068400050A4803880643 +:104DE0004A03880500000020820005400000000101 +:104DF0000401F01642002000000000020401F8E760 +:104E0000497B888059A800128000054004020002F6 +:104E1000800000004803889359A8001F8200050005 +:104E20000000FFFF4C0000000201F8000010160710 +:104E30005C00000048038880417808000201F80007 +:104E400000101C01800005804DF000000201F800F8 +:104E5000001019845C03E0005C001000480B880817 +:104E60005C01D0005C00B0001C01F0004803C85693 +:104E700042000800000000010201F80000101C01BF +:104E800042002000000000010401F8C459C40004DD +:104E90008200050000003E020400000B0201F80041 +:104EA000001071F40401F9F14A03880800000008B9 +:104EB0004A035014000000014202D8000000000123 +:104EC0000401F0550201F800001008014200000042 +:104ED0000010D06A0201F8000010C0580201F8006A +:104EE00000100CF259C40006840005084803880627 +:104EF0004A03880500000010850E1D4C4200080082 +:104F00000000006442001000001050600201F80030 +:104F100000106680417808000201F80000101C01B2 +:104F20004A03880800000000497B88804A038805FE +:104F3000000000F00201F8000010195C42000800B7 +:104F4000000000F059C4000580040D000400000EAC +:104F500082000500000000E00402000E4201D000C3 +:104F6000000003E80201F8000010669E0201F8004C +:104F7000001064B85994000480000540040207EC56 +:104F80000401F02542002000000000020401F88323 +:104F90004C08000042001000001050600201F800B0 +:104FA0000010668B5C001000497B888059A80012B5 +:104FB000800005400402000280000000480388933E +:104FC00059A8001F820005000000FFFF4C000000F0 +:104FD0000201F800001016075C00000048038880FA +:104FE000850E1D0C59C40006840005484803880638 +:104FF0000201F80000101984417808000201F8004D +:1050000000101C0159C40008820005400000008007 +:10501000480388081C01F0004803C8564D400000B2 +:105020004D3C00000201F800001071F40201F8008C +:105030000010C16004020039599C10178D0E1D002C +:105040000402000B8C08151A04000034850E1D4262 +:1050500042028000000000044202780000000008C4 +:105060008D0E1D20040200070401F028420280007A +:1050700000000004417A78008D0E1D2004000023FA +:105080000201F8000010C16F420248000010D0D3A6 +:10509000592402008C000500040000094C5800004F +:1050A0004200080000000001420010000000010062 +:1050B0000201F800001067905C00B00083264C00ED +:1050C0000000000B8058B040040207F2420240008A +:1050D0000000FFFF4D400000420280000000000E73 +:1050E0004200300000000003420288000000FFFF81 +:1050F0000201F8000010B2295C028000599C0817D8 +:105100008C040D0A040200054943C857493FC8579B +:105110000201F8000010FFF2497B88804202D800AB +:10512000000000010401FC665C0278005C02800063 +:105130001C01F00042000800000000010201F8001C +:1051400000101C010201F8000010080142000000DC +:105150000010D06B0201F8000010C0580201F800E6 +:1051600000100CF242000000000000010201F800F3 +:10517000001016074A0388800000000159C808354E +:1051800059A8007580040D80040000024803903582 +:105190000201F00000101984420008000010CBFB4F +:1051A0004810080282101480000000080400100952 +:1051B000580400014803C8574813C857580400034F +:1051C00080000000480008034200200000000002A8 +:1051D00058040001820014800000000B0400100835 +:1051E0004803C8574813C8575804000380000000FC +:1051F00048000803420000000000000048000800CA +:1052000059C428A482142D000000000F82142D80A0 +:105210000000000C0C0000020401F1360010549252 +:10522000001054B2001054D3001054F4001055155F +:105230000010553000105541001055580010556FA2 +:105240000010558600105589401000000C01F00137 +:105250000010549C0010549F001054A2001054A33E +:10526000001054A6001054A9001054AD001054B002 +:105270004A000801000000021C01F0004A00080179 +:10528000000000030401F0E91C01F0004A000801DD +:10529000000000071C01F0004A00080100000004A3 +:1052A0000401F0E64A000801000000050401F8EBE3 +:1052B0000401F0E64A000801000000050401F0E7DF +:1052C0004813C8571C01F000401000000C01F00109 +:1052D000001054BC001054BF001054C2001054C33E +:1052E000001054C6001054C9001054CD001054D002 +:1052F0004A000801000000021C01F0004A000801F9 +:10530000000000031C01F0001C01F0004A0008012D +:10531000000000071C01F0004A0008010000000422 +:105320000401F0C64A000801000000050401F8CBA2 +:105330000401F0C64A000801000000051C01F0004D +:105340004A000801000000050401F0BC4010000004 +:105350000C01F001001054DD001054DE001054E187 +:10536000001054E4001054E7001054EA001054EE0A +:10537000001054F11C01F0004A0008010000000375 +:105380001C01F0004A000801000000001C01F000B0 +:105390004A000801000000071C01F0004A00080153 +:1053A000000000040401F0A54A0008010000000507 +:1053B0000401F8AA0401F0A54A0008010000000554 +:1053C0001C01F0004A000801000000050401F09BE8 +:1053D000401000000C01F001001054FE00105501B7 +:1053E0000010550200105505001055080010550B0F +:1053F0000010550F001055124A000801000000026D +:105400001C01F0001C01F0004A000801000000002F +:105410001C01F0004A000801000000071C01F00018 +:105420004A000801000000040401F0844A00080159 +:10543000000000050401F8890401F0844A00080115 +:10544000000000051C01F0004A00080100000005F2 +:105450000401F07A401000000C01F0010010551F0B +:10546000001055220010552200105523001055221F +:10547000001055260010552A0010552D4A0008012D +:10548000000000021C01F0001C01F0004A000801AD +:10549000000000071C01F0004A00080100000005A0 +:1054A0000401F86E0401F0694A00080100000005DB +:1054B0001C01F0004A000801000000050401F05F33 +:1054C000401000000C01F001001055400010554044 +:1054D000001055400010553A0010553D0010554041 +:1054E00000105540001055404A0008010000000718 +:1054F0001C01F0004A000801000000041C01F0003B +:105500001C01F000401000000C01F0010010554B90 +:105510000010554E0010554E0010554F00105552BA +:105520000010555500105555001055554A000801FA +:10553000000000021C01F0001C01F0004A000801FC +:10554000000000071C01F0004A00080100000004F0 +:105550000401F03A4A000801000000081C01F000B4 +:10556000401000000C01F00100105562001055655C +:105570000010556800105568001055690010556CF2 +:105580000010556C0010556C4A0008010000000224 +:105590001C01F0004A000801000000031C01F0009B +:1055A0001C01F0004A000801000000040401F0237F +:1055B0004A000801000000081C01F0004010000033 +:1055C0000C01F00100105579001055790010557C40 +:1055D0000010557D001055800010557C001055833B +:1055E0000010557C4A000801000000050401F00F7E +:1055F0001C01F0004A000801000000071C01F00037 +:105600004A000801000000041C01F0004A000801E3 +:10561000000000081C01F0004A0008010000000919 +:105620001C01F0001C01F000420000000010CF63DC +:105630000201F0000010C058420000000010CF60CE +:105640000201F0000010C058420000000010CF62BC +:105650000201F0000010C058420000000010CF61AD +:105660000201F0000010C058420008000010CBFBFF +:1056700058040001480008004A0008010000000525 +:105680004A000802000000081C01F0004200080067 +:105690000010CBFB58040001480008004A00080134 +:1056A000000000014A0008020000000A1C01F0008E +:1056B000420008000010CBFB58040001480008001D +:1056C0004A000801000000064A0008020000000924 +:1056D0001C01F000420008000010CBFB4A0008014A +:1056E0000000000A4A0008000000000A1C01F00047 +:1056F000496FC8574813C857401000000C01F0010B +:10570000001055D6001055D6001055D6001055D6AD +:10571000001055C8001055D0001055D4001055D6B3 +:1057200059A8021B8C000506040000038C0005022A +:105730000400000A0401F80A040207C00401F0078B +:105740000401F807040000050401FFC00401F7C3C9 +:105750000401F803040207C11C01F000496FC85797 +:10576000416C000082000C8000000008020218005A +:105770000010032E0C01F001001055E6001055E852 +:10578000001055E8001055E8001055E6001055E6E9 +:10579000001055E6001055E8800005801C01F0005F +:1057A00082000540000000011C01F0004202E00000 +:1057B00000000000497B30044A03B004600000018F +:1057C00059D800054A03B004900000014A03A80418 +:1057D0006000000159D400054A03A80490000001AC +:1057E0000201F00000105D524A03C82500000004C9 +:1057F0004A03C82700000004599C040980000D409A +:1058000004000020599C04078000054004000007A4 +:10581000800000CC599C100B800804004803B000A5 +:10582000497BB00259D80001599C000B4803B000D5 +:10583000599C000C4803B001599C040780000540A6 +:1058400004020002497BB002599C0C098204054005 +:10585000004000004803B0034A03B00900000005FF +:105860004A03B0041000000159E0080382040D004F +:10587000FFFFFEFF82040D40000080004807C003C8 +:10588000599C040A8000054004000020599C04082B +:105890008000054004000007800000CC599C100FD8 +:1058A000800804004803A800497BA80259D40001DD +:1058B000599C000F4803A800599C00104803A801F8 +:1058C000599C04088000054004020002497BA8029C +:1058D000599C0C0A82040540004000004803A803BC +:1058E0004A03A809000000054A03A80410000001AB +:1058F00059E0080382040D00FFFFFBFF82040D4006 +:10590000000080004807C003800409C004000007AD +:105910004202E000000000010200B8000002087925 +:105920000200F0000002088E1C01F0000201F800E5 +:105930000010032E1C01F0000401F8525C03E0008B +:105940000201F000000206C30201F8000002070A8B +:105950000401F7FB001056A0001056A0001056A03E +:10596000001056A0001056B0001056A0001056A00F +:10597000001056A0001056A0001056A0000207010B +:10598000001056A0001056A0001056B0001056B0DF +:10599000001056A0001056A0001056A0001056A0EF +:1059A000001056A0001056A0001056A0001056A0DF +:1059B000001056A0001056A0001056A0001056A0CF +:1059C000001056A0001056A0001056A0001056A0BF +:1059D000001056A0001056A0001056A0001056A0AF +:1059E000001056A0001056A0001056A0001056A09F +:1059F000001056A0001056A0001056A0001056A08F +:105A0000001056A0001056A0001056A0001056A07E +:105A1000001056A0001056A0001056A0001056A06E +:105A2000001056A0001056A0001056A0001056A05E +:105A3000001056A0001056A0001056A0001056A04E +:105A4000001056A0001056A0001056A0001056A03E +:105A5000001056A0001056A0001056A0001056A02E +:105A6000001056A0001056A0001056A0001056A01E +:105A7000001056A0001056A0001056A0000207010A +:105A8000492FC857420000000010D01E0201F80044 +:105A90000010C05842000000000004000401F0198A +:105AA000492FC857420000000010D01D0201F80025 +:105AB0000010C05842000000000010000401F01166 +:105AC000492FC857420000000010D01C0201F80006 +:105AD0000010C05842000000000020000401F0093E +:105AE000492FC857420000000010D01F0201F800E3 +:105AF0000010C05842000000000008000401F0013E +:105B00004803C857592C0C0582040D00FFFF80FF85 +:105B10008004054059980803800409C0040000026D +:105B20008400051E48025C050201F800000203F132 +:105B300083700580000000034202E00000000001C5 +:105B4000040000021C01F000599A5801812E59C02E +:105B5000040207DC0201F8000010032E492FC85789 +:105B6000801401108000004004000039040017CDAB +:105B70004A033006001057130201F000000206D657 +:105B8000492FC85780140110040007C68000004048 +:105B90000400004A4A0330060010572E0201F000AC +:105BA000000206D6492FC8570201F8000010C16054 +:105BB00002020000000206E6492FC8568344040092 +:105BC0000010C3805000000080026D400400000CF3 +:105BD000592E4411812241105934001380000130A4 +:105BE00081200580040200064937C8575934020055 +:105BF0008C00050E02020000000206E64202800050 +:105C00000000002841780800417A60000201F80095 +:105C100000104E750201F80000109AC10201F00058 +:105C2000000203F1820005000F0000008000012A3D +:105C3000592C0C0B82040D000000FF8780040540E6 +:105C400048025C0B0201F000000206FC592C0A0B12 +:105C50008C040D0204020015492FC8578D0E1D0E2D +:105C60000402000F592C02088000054004000005C2 +:105C70000201F8000010437E040200041C01F00041 +:105C80004200000000000000592C0A0748065C078B +:105C900048025A070201F000000203F1420000002E +:105CA000000000280401F7F9420008000000000984 +:105CB0000201F00000106C98492FC857592C0409B4 +:105CC00080000540040207878D0E1D0E04020009A6 +:105CD000592C02088000054004000782497A5A07BF +:105CE0000201F800001043DE040200041C01F00071 +:105CF000420000000000002848025A070201F0009C +:105D0000000203F1592E8A07592C04074947C85746 +:105D10004803C85782000500000000FF4200B80099 +:105D20000000000182000D80000000010400001549 +:105D3000417A88004200B800000007F082000D8020 +:105D4000000000020400000F800005400202000075 +:105D5000000203F1592E8A070201F8000002034EE7 +:105D600002020000000203F1592E9009592E980AF0 +:105D70000201F800001048340201F000000203F1B3 +:105D8000850E1D000201F8000002034E020008000B +:105D90000010496381468800805CB840040207FA1D +:105DA0000201F000000203F1592C0A094807C85704 +:105DB000592E441181224110820405800000000EFA +:105DC00004000096820405800000002A04000031CF +:105DD000820405800000000F0200000000105D68D2 +:105DE000820405800000002E0200000000105D68A3 +:105DF00082040580000000490200000000105D6878 +:105E00004C0400000201F80000105CBD5C000800BA +:105E10000202000000105D6F820405800000004651 +:105E2000040000A382040580000000450400003542 +:105E300082040580000000290202000000105D6F4E +:105E4000592E8A07420268000010E33E8344058011 +:105E50000000FFFF040000080201F80000104AD40F +:105E60000202000000105D68593402008400051829 +:105E700048026A00592E600A4933C85783300580AA +:105E8000FFFFFFFF040200900201F00000105D68B8 +:105E900083200580000000FF040000098320040027 +:105EA0000010C1B25002480059240A0084040D16A3 +:105EB00048064A000201F00000105D6842024800F6 +:105EC0000010D0D30201F8000010C16F5924020065 +:105ED0008C0005000400000459240200840005160B +:105EE00048024A0083264C000000000B8058B04056 +:105EF000040207F7850E1D040201F00000105D6822 +:105F0000592C1408480BC8570201F80000109D5E78 +:105F1000411E6000040200044803C8560201F0005C +:105F200000105D6F59300C078204058000000004EA +:105F3000040000044803C8560201F00000105D6F21 +:105F4000592C02088C000506040000100201F8001C +:105F500000106E814DF000000201F80000106D6B22 +:105F60000201F8000011024080C400405C03E00020 +:105F70000200080000106E6E0201F80000107EFFA3 +:105F80000201F00000105D68592E380A591C1415E2 +:105F90008C0815160200000000105D6F59300009D2 +:105FA000800001C0020208000010032E840815546E +:105FB000480A3C154A0264030000003A592C040CBC +:105FC00080000540040000074A0264030000003B13 +:105FD000592C020D4802641B592C040D4802621B07 +:105FE0004A026203000000014200080080000040F5 +:105FF0000201F80000105D7904000004492E6009D8 +:106000000201F00000020B420201F80000020B4204 +:106010000201F00000105D6883200D80000000FF89 +:1060200004000013420000000010D0D25000000015 +:1060300081200480020210000002086F8320040007 +:106040000010C1B250024800592402008C00050023 +:10605000020000000002086F5924020684000510A7 +:1060600048024A060201F00000105D684202480042 +:106070000010D0D30201F8000010C16F59240200B3 +:106080008C00050004000004592402068400051059 +:1060900048024A0683264C000000000B8058B0409E +:1060A000040207F70201F00000105D68592C120885 +:1060B0008C0815000202000000105D68592E8A0746 +:1060C000592E600A0201F80000109D6904020004C4 +:1060D0004803C8560201F00000105D6F59300C07EC +:1060E0008204058000000004040000044803C85630 +:1060F0000201F00000105D6F59300A038204058030 +:1061000000000007040000044803C8560201F00024 +:1061100000105D6F59300C038204058000000001FF +:106120000400001F82040580000000020400001427 +:106130008204058000000008040000168204058027 +:106140000000000A04000007820405800000000C23 +:106150000402002742000800000000090401F022A8 +:106160005932680A0201F80000104A900402002027 +:1061700042000800000000050401F01B417A78008D +:106180000201F8000011007B4A02640700000001D0 +:1061900042000800000000030401F013833405806E +:1061A0000010E33E040200095930000A8200058015 +:1061B0000010E33E0202000000105D6F4A02640717 +:1061C000000000010401F00A417A78000201F800A1 +:1061D0000011007B4A026407000000014200080031 +:1061E0000000000B0201F8000010463F4A02620363 +:1061F000000000010201F80000105D7904000004B5 +:10620000492E60090201F00000106D5C0201F800E7 +:1062100000106D5C0201F00000105D68593004153B +:106220008C000518020200000010B46B0401F0B8E5 +:10623000400008005804000080000540040207FDEB +:10624000492C08001C01F000492FC85759300C0791 +:106250008204058000000006040200A859340400EE +:106260008200058000000606040200055934020081 +:106270008C00051A02000000000207675934020072 +:106280008C00050E0400009D593002034202780084 +:1062900000000001820005800000000702020000EB +:1062A000000207674A026203000000020201F000D8 +:1062B0000002076742028000000000024A026006F6 +:1062C000000000144D2C00000201F8000010B04442 +:1062D0005C02580059300C074807C85782040580F3 +:1062E000000000070402006C492FC8574A025A07F1 +:1062F000000000010201F000000203F1833005807C +:10630000FFFFFFFF04020064592C240B492FC857DC +:106310004813C8578C10251C0402001A8C10251A2B +:10632000040000038C10250A0400007959340A0087 +:106330008C040D0E040000038C10251E0400007454 +:106340000201F80000020B7F04000082592C240B8C +:1063500059243A00592C020D480262024936600A5B +:106360004926601C4932580A4A02640700000006A8 +:106370004A026203000000070201F0000002076009 +:10638000592C0A0D4C0400000201F80000104DE1E8 +:106390005C000800040200845808000049781000DE +:1063A000802041C0040000064800400080000540F5 +:1063B00004020007482268100401F0054802680F33 +:1063C0008000054004020002497A68104D2C00004C +:1063D000400A58004A025A07000000020201F80071 +:1063E000000203F15C0258000401F7C08C10251C68 +:1063F000020200000002074C0401F0220201F80032 +:1064000000104AD4020000000002073E42000000D3 +:106410000010D0D250000000812004800402103708 +:106420008C10251C04000017592C020782000580DF +:106430000000FFFF04020013592E600A833005801C +:10644000FFFFFFFF040007A90201F8000010A349A5 +:1064500004020011592C220D5930020280100580CF +:106460000402000D59300009800001C0040200053B +:106470005930020382000580000000070400078EE7 +:10648000492FC8574A025A07000000290201F000AC +:10649000000203F1492FC8574A025A0700000008BA +:1064A0000201F000000203F14803C8578C000514F4 +:1064B00004000008420000000010D00D0201F800A6 +:1064C0000010C058492FC857492E60091C01F00020 +:1064D000492FC8574A025A07000000450201F00040 +:1064E000000203F1492FC8574A025A070000002A48 +:1064F0000201F000000203F1492FC8574A025A076F +:10650000000000280201F000000203F1492FC857E3 +:106510004A025A07000000060201F000000203F1DF +:10652000492FC8574A025A070000000E0201F00026 +:10653000000203F18204058000000007040207D670 +:106540004A025A07000000020201F000000203F1B3 +:10655000592C0407800000C2800008C48004040095 +:106560004802580459340010492E6810492FC85762 +:1065700080000D4004000003492C08001C01F000BD +:1065800059340203492E680F492FC8574803C8578A +:1065900080000540040200034A026A030000000173 +:1065A0001C01F00059A8000D816404800402174FFB +:1065B00042026000001116845930040782000580F1 +:1065C00000000006040200075930000A81340580EB +:1065D00004020004593002028004058004000736DA +:1065E000833264000000002C415800008130048098 +:1065F000040017F20401F73D492FC857592C040B2A +:106600008200050000000003040000240201F800DD +:1066100000107F4304000025592C0205492E600913 +:10662000420248000010D0D34926601C82000500B9 +:10663000000000FF82000580000000450400000FFC +:10664000592C000C592438050201F8000010617023 +:10665000020008000002034E04020018420270000B +:10666000000000414936600A4A0264070000000148 +:106670000201F00000020BC5593000168400055ECF +:1066800048026016420268000010CC7B4202700093 +:10669000000000400401F7F44A025A07000001011B +:1066A0000201F000000203F14A025A070000002C28 +:1066B0000201F000000203F14A025A07000000281C +:1066C0000201F800000203F10201F00000020BA138 +:1066D000492FC8570201F800001068ED0400000BB4 +:1066E000592C02058000011080000040040204EDD6 +:1066F000592C0C07800409C0040000094200000066 +:10670000000001020401F003420000000000010447 +:1067100048025A070201F000000203F1592C0C084C +:10672000800409C0040000208204048000000005E9 +:106730000402101D4C040000800408000201F8004F +:10674000001069125C00100004020014832C040085 +:10675000000000094000A0000201F8000010693BA1 +:106760000402000E592C120858C80C0B84040D00AA +:1067700084040D028C0815000400000284040D5EE0 +:106780004805940B420000000000000048025A0730 +:106790000201F000000203F14200000000000103CA +:1067A0000401F7FB42000000000001020401F7F8B9 +:1067B000492FC857592E7C07833C0500FFFFFFFE79 +:1067C0000402004D592C400842026000001116845A +:1067D00041581800400C0000813004800402102C45 +:1067E0005930020382000580000000000400000709 +:1067F0005930000980000D400400000458040006D0 +:106800008020058004000004833264000000002C16 +:106810000401F7F15804020582000500000000FFA2 +:1068200082000D80000000530400001082000D80E3 +:10683000000000480400000D82000D8000000018D8 +:106840000400000A82000D800000002904000007F7 +:1068500082000D8000000014040000048200058006 +:1068600000000068040207E94D2C00000201F80056 +:10687000001094885C0258000400001F4A025A0766 +:10688000000000000201F000000203F1592E8A0707 +:1068900083440480000007F00402101783440400BE +:1068A0000010C3805000000080026D400400001200 +:1068B0004D2C00000201F800001048F80400000D03 +:1068C0004202800000000005592C0A09417A60004C +:1068D0000201F80000104E750201F80000109AC77E +:1068E0000201F800000203F15C0258000401F7E421 +:1068F0005C0258004A025A07000000310201F00011 +:10690000000203F1492FC8574D2C00000201F80086 +:106910000010058504000017492FC857412F40007B +:106920000201F800001005850400000F492FC85728 +:10693000412DD8000201F80000103ACC0201F80005 +:1069400000103AD649A1D80A5C025800492DD8094E +:1069500048EF40060201F800001022480201F00052 +:106960000010226741A258000201F80000100596AD +:106970005C0258004A025A07000040054A025C07C0 +:10698000000000020201F000000203F14807C857AE +:10699000485FC8574200B800000000015C000800D2 +:1069A0004C5C00000401F0054807C857485FC85711 +:1069B0005C0008004D7800004803C857492FC857AD +:1069C0008C00050E02020800001003234203E000C1 +:1069D000500000004200B800000080030201F000F7 +:1069E000001003334803C8564C5C00004C600000A4 +:1069F0004C6400004D040000417A4000836C058027 +:106A000000000000040000FF592CCA08592CC408DB +:106A10008060C1C004000101420000000010D0D21B +:106A2000500000004C0000000201F8000010C18D71 +:106A30005C00000004000002800000008060048010 +:106A4000040210F6832C7C0000000009592C040776 +:106A50004803C8578C000500040000050201F80037 +:106A60000010C18D040000ED0401F003420240005B +:106A70000000000142020800000000014200B800CE +:106A8000FFFFFFFF59A800788C00053E04000004BA +:106A900083200580000000210401F003832005808D +:106AA00000000061040200034200B8007FFFFFFF06 +:106AB000503C0000805CBD000402000483224400BE +:106AC000000000200401F011805CB9020402100AE9 +:106AD000832004000010C1B2500248008264058087 +:106AE000000000000400001E8C64CD060402005C5F +:106AF0000401F0CA8106080081224000830404805A +:106B000000000021040017F1803C780059A80078AB +:106B10008C00053E04000004832004800000004136 +:106B20000401F0038320048000000081040017D2D8 +:106B300059A800788C00053E040000044202400081 +:106B40000000003F0401F003420240000000007F0B +:106B50008060C1C0040200B10401F08859240A0019 +:106B60000201F8000010C199040000048C040D001B +:106B7000040200AA0401F00682040D0000000003D4 +:106B800082040D8000000003040000A459240C00BE +:106B90008C040D0A040200048D0E1D200400009FC9 +:106BA0000401F0038C040D080400009C4D3C00001F +:106BB0004D3000004202780000005002417A60002F +:106BC0000201F800001020365C0260005C027800D0 +:106BD0005924020682000500FFFFFCFF48024A0616 +:106BE0004A024A00000000050201F8000010515559 +:106BF0000402001359A8021B820005000000008255 +:106C000082000D80000000820400000A8C00050E46 +:106C10000402000B592402008400055E48024A0069 +:106C20000201F800001020EA040000710401F004E1 +:106C30000201F80000101FBE040000758106080064 +:106C4000812240008060C040040207A00201F800D9 +:106C500000105155040200490401F05B59240A0058 +:106C60008C040D000400006D4C3C00004C0400003E +:106C700082040D00FFFFDFFC84040D4448064A0037 +:106C80000201F8000010C18D040000125924020016 +:106C90008C00051E0400000F8400051E48024A00F7 +:106CA0000201F80000102116040000074813C8571D +:106CB0004817C857581002008400055E480022009B +:106CC0000401F00459A8021B8400050E4803521B5E +:106CD0005C0008005C0078008C64CD02040200199E +:106CE0004C3C000059240C080201F800001015F873 +:106CF0004C5C00004D3C0000420278000000500255 +:106D00004D300000417A60000201F800001020368A +:106D10005C0260005C0278005C0078005C00B800F7 +:106D200081060800812240008060C040040207679D +:106D30008264058000000009040000100401F022B4 +:106D4000836C058000000004040007E682040D0047 +:106D50000000000382040D8000000003040207E12C +:106D60000401F83381060800812240008060C040A1 +:106D7000040207560401F014836C0580000000042F +:106D8000040000110201F800001051550402000A2D +:106D90004A0350130000AAAA4A035014000000013D +:106DA0004202D800000000010201F800001050AFBC +:106DB0000401F0054202D800000000010201F800C1 +:106DC00000104130497A5A074A025C07000000006F +:106DD0000201F800000203F15C0208005C00C80038 +:106DE0005C00C0005C00B8001C01F00059240200E7 +:106DF00082000500FFFFFFFC48024A000401F00981 +:106E000042003000000000050401F006420030009E +:106E1000000000020401F003420030000000000105 +:106E200049225A07481A5C070401F7EA4923C85760 +:106E30004D4400004D3000004D3400004C5800001F +:106E40004D4000004D3C00004C5C000042028000C0 +:106E50000000002942027800000010024200B00049 +:106E6000000007F0417A8800834404000010C380CA +:106E70005000000080026D400400000559340013EA +:106E8000800001308120058004000836814688009A +:106E90008058B040040207F5420288000000FFFF5E +:106EA000420268000010E33E0401F82E826405806F +:106EB0000000000B0402000D42028800000007F0F1 +:106EC0004200B000000000105924B809505C0000D6 +:106ED00080026D4004020823805CB800814688006F +:106EE0008058B040040207FA59A800788C00053E8B +:106EF000040000140201F80000107F4D0200080099 +:106F00000010032E59AA68794936600A4A026407BC +:106F10000000001242027000000000D25924000557 +:106F2000480260194803C857592400014802601AF2 +:106F3000592400024802601B0201F80000020BC540 +:106F40005C00B8005C0278005C0280005C00B0006D +:106F50005C0268005C0260005C0288001C01F000BA +:106F60004937C8574947C8570201F80000106E81D9 +:106F70004DF00000417A60000201F8000011045D4C +:106F80000201F800001105410201F800001105DAC4 +:106F90000201F80000110A10834405800000FFFF81 +:106FA0000400001B0201F80000104A8704000004DE +:106FB0004A026C00000007070401F0154D30000084 +:106FC0004D3800000201F80000107F4D020008005B +:106FD0000010032E4A026407000000014936600ACF +:106FE0004926601C420008000000000B0201F80066 +:106FF0000010463F42027000000000010201F8004C +:1070000000020BC55C0270005C0260005C03E000E3 +:107010000200080000106E6E1C01F0004C640000BD +:107020004C600000836C058000000000040000A19B +:10703000497A5C07592C22088210C500000000FF25 +:10704000801001108200CD00000000FF04000090BD +:1070500082640480000000030402108D4D2C0000A7 +:107060004D040000417A0800592C1408820A45009A +:10707000000000FF4923C8570201F8000010C16F4B +:1070800040580000812004800402108783200400FF +:107090000010C1B250024800826005800000000369 +:1070A0000402001459A8021B8C0005140400000DF2 +:1070B0005924020082001D0000002001820C1D8066 +:1070C00000002001040200078C00051004020005E6 +:1070D000417818000201F80000101FBE0401F051B1 +:1070E0004803C85742003000000000060401F07A4F +:1070F00082600580000000020400000459240200A0 +:107100008C0005000402005F592C02098C00050A5E +:10711000040200048D0E1D20040000600401F00331 +:107120008C0005080400005D48024C008260158058 +:1071300000000002040000118C000502040000039E +:1071400080001110480A4A08592C000A9C0001C00E +:1071500048024801592C000B9C0001C0480248021B +:10716000592C000C9C0001C048024803592C000D0A +:107170009C0001C048024804810609C004000003C5 +:10718000832E5C8000000005592C0A088C040D0039 +:10719000040000244D3C00004D3000004202780005 +:1071A00000005002417A60000201F8000010203611 +:1071B0005C0260005C02780059240206820005002F +:1071C000FFFFFCFF48024A064A024A000000000591 +:1071D0000201F80000105155040200120201F800EB +:1071E000001021160402000C59A8021B4803C857BE +:1071F0008C00050E0402000B592402008400055E79 +:1072000048024A000201F800001020EA0400002CA5 +:107210000401F0040201F80000101FBE0400002861 +:107220008064C84004000007592C1408800811101D +:1072300081060800832E5C00000000050401F78C25 +:107240005C0208005C0258000201F8000010515571 +:1072500004000024592C0A088C040D0004000021AD +:10726000836C0580000000040400001E4202D80068 +:10727000000000010201F800001041300401F01983 +:1072800042003000000000010401F0134200300011 +:10729000000000020401F012420030000000000370 +:1072A0000401F00D42003000000000040401F00A67 +:1072B00042003000000000050401F00942003000E7 +:1072C000000000065924020082000500FFFFFFFCB9 +:1072D00048024A005C0208005C025800481A5C0739 +:1072E0000201F800000203F15C00C0005C00C8006D +:1072F0001C01F0004C5800000201F8000010C16FA2 +:1073000040580000812004800402100B83200400F8 +:107310000010C1B25002480059240200820005004A +:107320000000000382000580000000035C00B00044 +:107330001C01F0004923C8574927C857820005405F +:10734000000000010401F7FA8014011080000040E1 +:1073500002020000001056A8599C00198C0005106C +:107360000402000D0201F80000104B0804020002A4 +:107370001C01F00049425A074806580E480A580FA7 +:107380004943C8574807C857480BC8570201F0007F +:10739000000203F1592C040C820005000000E000FB +:1073A0008200058000006000040007EF59A8021B5E +:1073B0008C000508040007EC592C120C592C080B02 +:1073C00082040500FF00000080040D808000011091 +:1073D00080081540040000044806580B0401F88595 +:1073E0000401F7E1420010000000001C4200080008 +:1073F0000000001942028000000000310401F7DEA5 +:10740000801401108000004002020000001056A805 +:107410000201F80000104C8A040200021C01F00076 +:1074200049425A0748065812480A58130201F00008 +:10743000000203F18014011002000000001056A8A1 +:10744000800000400402000D4202E0000000000144 +:10745000592C020B8C00050402000000000206DC1F +:10746000592C020882000C8000001001020210005A +:10747000001056B80401F0054A033006000206DC8D +:107480000201F000000206D6592C101482080500F3 +:10749000FFFF000302020000001056B84202E000A5 +:1074A00000000002420000000010E3E950007000FC +:1074B000592C0012592C0813480070064804700714 +:1074C000492C700A4978700D4978700B0401F0015D +:1074D0004978700C82080480000001804803C85776 +:1074E000040010074800700E4A007005000001807B +:1074F0004A007004000000600401F0054978700E35 +:1075000048087005800811044808700458380009BC +:1075100048007003403810000201F000000200161D +:107520004DF000004203E000500000000201F800AE +:107530000010057004000003599800050801F800C8 +:107540005C03E0001C01F0000201F800001005706F +:10755000020008000010032E4A0258090010E388B8 +:10756000420008000010E3E9452C0800497A580A57 +:10757000497A580B497A580C497A580D497A580E6D +:107580004A025808000208A3497A580F4A025802D2 +:10759000000001004A025801000000011C01F00037 +:1075A0000401F80E02000000000208744A025A09A1 +:1075B000000000010201F0000010B7170401F807F5 +:1075C000020000000002086F4A025A09000000068B +:1075D0000201F0000010B71759A800058C00051A29 +:1075E0001C01F00059A800058C00051C1C01F000CE +:1075F00059A8000F80080580040200021C01F00059 +:10760000480BC857420248000010D0D3480A48052A +:10761000480B500F497B883082080D400100000064 +:107620004807883259C400028400054C4803880288 +:1076300042000800000000030201F00000106EA8E4 +:1076400059C800078C0005020400004F835C2C80A1 +:10765000000000FF020010000010645259C82817F3 +:107660004817506F497B90058214050000E0000028 +:107670000402004082140500000003FF82001C0089 +:107680000000000641CC2000420030000000608075 +:10769000820C04800000004004001006420010002C +:1076A00000000040820C1C80000000400401F00338 +:1076B000400C100041781800541820008010200061 +:1076C0008018300080081040040207FC800C19C0AC +:1076D0000400000559C8000580000000480390051B +:1076E0000401F7EA82140500000003FF800018C4BB +:1076F0008C142D140400000559CC000282000500F2 +:1077000000000003800C1C80480F505A82140500B2 +:1077100001F60000040200100201F8000010645F8E +:10772000040200084A03900500000140821405008D +:107730000E000000800001320C01F8151C01F00061 +:10774000800001C00402000B4A03900500000140C4 +:107750000401F00D4817C8578214050000F6000018 +:10776000040200040201F8000010631D040207EB8C +:107770000201F800001064834A03900500000140F4 +:107780000401F03F4803C8561C01F00000105DF1F1 +:107790000010617B00105DEB00105DEB00105DEBF5 +:1077A00000105DEB00105DEB00105DEB4803C85767 +:1077B000420000000010D01A0201F8000010C0586A +:1077C0001C01F00059CC000282000500FF000000FF +:1077D00082000580FE000000040200040201F8009F +:1077E0000010BA6A0401F02559CC040082000D0093 +:1077F0000000FF00820415000000F000840409C0AE +:10780000820805800000200004020013836C0580BC +:10781000000000010402000E59CC000682000500A1 +:10782000FF00000082000580110000000202080035 +:10783000001003F5040200110201F80000103B0AD9 +:107840000201F800001064B80401F00C0401F81FF4 +:107850000401F00A820805800000300004020003E1 +:107860000401FAD30401F0058208058000008000BD +:10787000040200020401FBC81C01F0004817C857AD +:10788000420000000010D0190201F8000010C0589A +:10789000836C0580000000030402000B4C0800000C +:1078A0004C0C0000420010000000804840141800FA +:1078B000801421200201F800001039D45C00180067 +:1078C0005C0010001C01F00059CC00028200050091 +:1078D000FF00000082001580010000000400000687 +:1078E000820015802300000002020800001003F54A +:1078F0000402025159A8005A8200048000000004CA +:107900000400124D8204058000000023040200528E +:1079100059CC00044803C85759CC00068200050022 +:10792000FF00000059CC080182040D0000FFFFFF9A +:10793000800405404803C8570201F800001062A403 +:1079400002000800001003F50400023B59300C0748 +:1079500082040580000000100400000F82040580EE +:10796000000000110400000C8204058000000001EA +:1079700004000009820405800000000404000006E1 +:10798000820405800000000802020800001003F5D0 +:107990000402022959300004820005008001000021 +:1079A000040000060201F8000010726602020800DE +:1079B000001003F50402022059CC0A0448066202B2 +:1079C00059CC000682000500FFFF000082000D80F8 +:1079D00002000000040200054202700000000015D1 +:1079E0000201F00000020BC582000D8002140000AD +:1079F000040007FA82000D8002100000040007F75F +:107A000082000D8002100000040007F482000D8047 +:107A10000100000002020800001003F50402020643 +:107A200059CC0006820005000000FFFF020208009A +:107A3000001003F50402020059A8005A82000480D5 +:107A400000000008040011FC420270000000001653 +:107A50000401F7E48204058000000022020208000D +:107A6000001003F5040201F459CC00044803C85780 +:107A700059CC00064803C85759CC00014803C857E1 +:107A800059A8005A800001C002000800001003F548 +:107A9000040001E959A808058C040D140400003AFB +:107AA0000401FA0C040200380401FA25040000362F +:107AB000420270000000004C59CC3800821C3D008E +:107AC00000FFFFFF4C1C00000201F80000101FF334 +:107AD0005C003800040000040201F800001003F507 +:107AE0000401F1D559CC00018200050000FFFFFF21 +:107AF0000201F8000010641204000008420288002D +:107B00000000FFFF420268000010E33E0201F8009F +:107B100000104DF7481A6802599C00198C00051096 +:107B2000040001AE59A8021B8C000508040001AB3B +:107B300059CC100682081500FFFF0000820815804E +:107B400003000000040201A58364148000000010FB +:107B5000040011BE8400054C4803521B59CC100090 +:107B60008208150000FFFFFF0401FEA259CC0007A8 +:107B7000820005000000FFFF48038893480350126D +:107B80000401F19659CC000682000500FFFF0000B9 +:107B900082000D80030000000402002D59A8021B82 +:107BA0008C000508040000248400054C4803521B87 +:107BB00059CC080082040D0000FFFFFF420248007C +:107BC0000010D0D34807C857480648054807500F4B +:107BD000497B883084040D704807883259C40802F4 +:107BE00084040D4C4807880259CC00078200050028 +:107BF0000000FFFF4803889348035012420008002A +:107C00000000000359A8100F0201F80000106EA830 +:107C100059CC0006820005000000FFFF02020800A8 +:107C2000001003F5040201844202700000000017F6 +:107C30000401F11E0201F80000105155040207F57D +:107C40008C000502040207F30401F17B82000D8021 +:107C5000040000000402001859CC00068200050050 +:107C60000000FFFF02020800001003F50402017289 +:107C70000201F80000105155040000020401F1094E +:107C8000497B50654200100000110A810201F80092 +:107C90000010653C0201F80000104E0159A8021BBB +:107CA000840005484803521B420270000000003067 +:107CB0000401F0FE82000D80050000000402000AAD +:107CC00059CC0006820005000000FFFF02020800F8 +:107CD000001003F504020158420270000000001871 +:107CE0000401F0F282000D80201000000402000464 +:107CF00042027000000000190401F0EC82000D80C7 +:107D00002110000004020004420270000000001A6A +:107D10000401F0E682000D80520000000402000A17 +:107D200059CC0006820005000000FFFF0202080097 +:107D3000001003F504020140420270000000001B25 +:107D40000401F0DA82000D80500000000402000AF5 +:107D500059CC0006820005000000FFFF0202080067 +:107D6000001003F504020134420270000000001C00 +:107D70000401F0CE82000D80130000000402000414 +:107D800042027000000000340401F0C882000D803F +:107D9000120000000402000A59CC0006820005000F +:107DA0000000FFFF02020800001003F50402012298 +:107DB00042027000000000240401F0BC82000D00AB +:107DC000FF00000082040D80240000000402000473 +:107DD000420270000000002D0401F0B482000D008A +:107DE000FF00000082040D80530000000402000424 +:107DF000420270000000002A0401F0AC82000D80F5 +:107E00000F00000004020004420270000000002085 +:107E10000401F0A682000D806104000004020056F7 +:107E20004C5C00004C6000004C6400004C580000AA +:107E300083CCC400000000068060B80050600000E1 +:107E4000820005000000FFFF820014800000040192 +:107E50000402104182001500000000030402003EED +:107E600059A8105A800814800400103B8200048036 +:107E7000000000048000B1048058B1C00400003646 +:107E800059CC3800821C3D0000FFFFFF4D20000050 +:107E90000201F80000101FF3040000035C02400020 +:107EA0000401F02D505CC8008264C500030000008E +:107EB0008060C130420000000010CFE48260258065 +:107EC0000000000004020004420000000010CFE1A6 +:107ED0000401F00C8260258000000001040200040F +:107EE000420000000010CFE20401F006826025800D +:107EF0000000000204020003420000000010CFE373 +:107F00000201F8000010C058420010000000801567 +:107F1000826425000000FFFF8064192041202800B2 +:107F20000201F800001039D5805CB8008058B040DC +:107F3000040207DD5C0240005C00B0005C00C80089 +:107F40005C00C0005C00B80042027000000000232A +:107F50000401F0565C00B0005C00C8005C00C0008A +:107F60005C00B800420000000010D0170201F000D1 +:107F70000010C05882000D80600000000402000460 +:107F8000420270000000003F0401F04882000D80B2 +:107F900054000000040200100401FBDC020208008F +:107FA000001003F5040200A4420270000000004625 +:107FB000420000000010D0D85000000059CC38001A +:107FC000821C3D00FF000000801C05404803980013 +:107FD0000401F03682000D80550000000402000903 +:107FE0000401FBF2040200044202700000000041A0 +:107FF0000401F02E42027000000000420401F02B48 +:1080000082000D807800000004020004420270002B +:10801000000000450401F02582000D8010000000E2 +:1080200004020004420270000000004E0401F01F30 +:1080300082000D8063000000040200044202700010 +:108040000000004A0401F01982000D00FF0000004A +:1080500082040D80560000000402000442027000F9 +:108060000000004F0401F01182000D00FF0000002D +:1080700082040D80570000000402000442027000D8 +:10808000000000500401F00982000D807D00000016 +:108090000402000442027000000000560401F003D4 +:1080A000420270000000001D59CC3800821C3D00C7 +:1080B00000FFFFFF821C058000FFFFFE59CC00017E +:1080C000040200054000300042028800000007FE64 +:1080D0000401F00A59CC3800821C3D0000FFFFFF6C +:1080E0004C1C00000401F9385C0038000202080052 +:1080F000001003F5040200500201F80000101FF305 +:108100000402004D83440480000007F004001001C5 +:108110000201F80000103B01040000124C1800009E +:108120000201F80000104AD45C0030000400001284 +:108130004C1800000401F8675C00300004020009DC +:108140000201F80000104DF7420268000010E33E03 +:10815000481A6802420288000000FFFF0401F0068E +:108160000201F8000010468202020800001003F528 +:108170000402003183380580000000460402000636 +:1081800059A8000F8018058002000800001003F5B0 +:1081900004000029593402008C0005140400000F6B +:1081A00083380580000000300400000C833805800F +:1081B0000000003F040000098338058000000034FF +:1081C000040000068338058000000024040000033A +:1081D000420270000000004C0201F80000107F43D2 +:1081E0000400001A4926601C4936600A4A026407E6 +:1081F00000000004833405800010E33E0402000503 +:1082000059CC00018200050000FFFFFF48026027F3 +:1082100059CC0C0448066202833805800000004CEB +:10822000040200034A026407000000110201F0008A +:1082300000020BC5598800B74803C85780000000EA +:10824000480310B71C01F0004200100000008049F4 +:1082500059CC1806800C19300201F800001039D4EE +:108260000201F80000107F4D02000800001003F525 +:10827000040007F14926601C4936600A83340580F2 +:108280000010E33E0402000559CC00018200050005 +:1082900000FFFFFF480260274A0264070000000455 +:1082A00059CC0C04480662024A026403000000092B +:1082B0004A02641B000000094A02621B00002900F8 +:1082C0004A026203000000010201F00000106D5C30 +:1082D00059A8021B4803C8578C0005080400001366 +:1082E000599C00198C0005100402001059CC00069E +:1082F00082000500FF00000082000D8003000000E6 +:108300000400000C82000D80200000000400000921 +:1083100082000D80050000000400000682000D8030 +:108320002100000004000003800005801C01F00013 +:1083300082000540000000010401F7FD59CC200631 +:1083400082102500FF0000009C1021C00401F807E6 +:10835000820C1C000010CC3E500C1800800C050054 +:108360004803C8571C01F00040100800417818006D +:10837000820404800000002004001004800C180017 +:10838000400008000401F7FB820405000000000F14 +:10839000820004000010C1A1500000008C040D08F0 +:1083A00004000002900001C01C01F0004803C85600 +:1083B0000401FB550402000A0201F80000101D7CB4 +:1083C0000402000759CC000282000500FF000000F3 +:1083D00082000D8008000000040008021C01F0006B +:1083E0004803C85659CC040082000D000000FF006D +:1083F000840409C0820405800000003304020027C1 +:108400000401F9A40400006B59CC0A044806620276 +:1084100059A8005A8200048000000004040010657E +:1084200059CC00064803C85782000500FFFF000032 +:1084300082000D80020000000402000959CC0006F1 +:10844000820005000000FFFF0402005A4202700093 +:10845000000000150201F00000020BC582000D8033 +:10846000010000000402005359CC00068200050000 +:108470000000FFFF0402004F59A8005A8200048048 +:10848000000000080400104B4202700000000016BB +:108490000201F00000020BC58204058000000032DA +:1084A0000402004459CC000682000500FFFF0000D2 +:1084B00082000D80140000000402003E59A8005AFA +:1084C00082000480000000100400103A4202700094 +:1084D0000000003859CC000159CC3800821C3D0006 +:1084E00000FFFFFF4C1C00000401F8365C00380060 +:1084F000040200300201F80000101FF30402002DF6 +:1085000083440480000007F0040010010201F80019 +:1085100000103B01040000124C1800000201F8009A +:1085200000104AD45C003000040000104C18000019 +:108530000401FF685C003000040200090201F80039 +:1085400000104DF7420268000010E33E481A68022E +:10855000420288000000FFFF0401F0040201F8005D +:108560000010467D040200130201F80000107F4352 +:10857000040000104926601C4936600A83340580D7 +:108580000010E33E0402000559CC00018200050002 +:1085900000FFFFFF480260274A0264070000000452 +:1085A00059CC0C04480662020201F00000020BC51F +:1085B000420000000010D0170201F0000010C05867 +:1085C0004803C8574000D000401CD8008200350046 +:1085D00000FFFFFF0201F800001110D040C40000AE +:1085E00082000580000000011C01F00059A8021B58 +:1085F0008C00050E040000038C0005020400000638 +:1086000059CC0C0080040910820405000000000F02 +:108610000C01F0021C01F000001061960010619640 +:1086200000106196001062B300106196001061980E +:10863000001061BF001061C20010619600106196C9 +:10864000001061960010619600106196001061960E +:1086500000106196001061964803C8561C01F00096 +:108660000401F90C0400002059A8005A820004807B +:108670000000000C0400101C593004078200058023 +:10868000000000030402001859CC00015932680AA6 +:10869000813669C004000014593408028004058042 +:1086A0008200050000FFFFFF0402000F0401FAAC86 +:1086B0000402000D59CC0A045930020282001580D0 +:1086C0000000FFFF04000003800405800402000690 +:1086D0004806620242027000000000460201F000FB +:1086E00000020BC559CC00044803C85742000000E3 +:1086F0000010D0180201F0000010C05859CC00043E +:108700004803C8571C01F0000401F8E20400001CF3 +:1087100059A8005A820004800000000C04001018C0 +:108720005930040782000580000000030402001491 +:1087300059CC00018200050000FFFFFF5932680A92 +:10874000813669C00400000E5934080282040D000D +:1087500000FFFFFF80040580040200090401FA8085 +:108760000402000759CC0A04480662024202700063 +:10877000000000450201F00000020BC559CC0004C6 +:108780004803C857420000000010D0180201F00052 +:108790000010C05859CC00044803C85759CC0000F9 +:1087A00082000500FF00000059CC1001820815006E +:1087B00000FFFFFF800805404803C8574817C85707 +:1087C0000401FA5102020800001003F50402001629 +:1087D0000201F80000101D7C02020800001003F5E1 +:1087E0000402001159CC000282000500FF000000C5 +:1087F000820005800000000002020800001003F55E +:1088000004020009820405000000000F82000C80B1 +:108810000000000602021800001003F50402100216 +:108820000C01F0034803C8561C01F000001062114F +:108830000010621300106211001062110010627BC0 +:108840000010628A4803C8561C01F00059A8005A5B +:10885000800001C002020800001003F5040207FABC +:1088600059CC08024807C8568C040D2E0402002378 +:10887000420260000011162C59CC000159CC38007E +:108880000401FF50040200140201F8000002034E2C +:108890000402001159CC3800821C3D0000FFFFFF8C +:1088A0000201F80000101FF3040207E74926601CCC +:1088B0004A026407000000054A0262030000000843 +:1088C0004936600A42027000000000880201F00090 +:1088D00000020BC54803C857420288000000FFFF92 +:1088E000417A680059CC00018200050000FFFFFFBB +:1088F000480260270401F7E859CC00014803C85733 +:1089000059CC3800821C3D0000FFFFFF4C1C0000CA +:108910000401FF2C5C00380002020800001003F57F +:10892000040207C90201F80000101FF30202080048 +:10893000001003F5040207C40201F8000010467D90 +:1089400002020800001003F5040207BF59CC00051D +:108950008C00050004020006593402008C00050E4C +:1089600002020800001003F5040207B70201F80034 +:1089700000104A87040200110401F84602000800B2 +:10898000001003F5040007B0420260000011162C2D +:108990004926601C4936600A4A026407000000024A +:1089A0004A026203000000084202700000000088D2 +:1089B0000201F00000020BC50201F80000107F4325 +:1089C000040007A14926601C4936600A4A02640770 +:1089D0000000000459CC0C044806620242027000F8 +:1089E000000000010201F00000020BC559CC080292 +:1089F0008C040D2E0400000B0401F826040000096D +:108A00000401F9CB0402000759CC0A0448066202AB +:108A100042027000000000890201F00000020BC554 +:108A20004933C8571C01F00059CC00044803C8570B +:108A300059A8005A82000480000000040400100EAF +:108A400059CC08028C040D2E0400000B0401F8110F +:108A5000040000090401F9B60402000759CC0A0415 +:108A600048066202420270000000008A0201F00023 +:108A700000020BC54933C857420000000010D01750 +:108A80000201F0000010C05859CC0A040401F002A1 +:108A900059CC0C0459A8000D59A8104F80080400A7 +:108AA0008004048004021008420010000000002C22 +:108AB0000201F80000106CBE8206640000111684EA +:108AC0001C01F000800005800401F7FE59CC08026B +:108AD0008C040D2E0402001B0401FFEC040000199D +:108AE00059300407820005800000000604020015CA +:108AF00059CC00018200050000FFFFFF5932680ACF +:108B0000813669C00400000F5934080282040D0048 +:108B100000FFFFFF800405800402000A0401F990B1 +:108B20000402000859A8005A800001C00402000590 +:108B300042027000000000510201F00000020BC56B +:108B400059CC00044803C857420000000010D01858 +:108B50000201F0000010C0584803C856420030001F +:108B6000000001050401F001481BC8574C5C0000DF +:108B70004C6000004C64000041CCC8004014B800B8 +:108B80004018C0000401F8055C00C8005C00C0008B +:108B90005C00B8001C01F0004803C8564C580000A7 +:108BA00058640400820005000000F0008200058087 +:108BB0000000C0000400002B0201F80000107F43F9 +:108BC000040000285864000158643800821C3D00ED +:108BD00000FFFFFF4C1C00000401FE7A5C0038001F +:108BE000040200220201F80000101FF30402001F1B +:108BF0000201F8000010467D0402001C4936600A9C +:108C00000201F80000100585040000184926601CC8 +:108C1000492E6018497A5800497A5A05485E5C0521 +:108C2000832CAC00000000064200B00000000007EA +:108C30004064A0000201F8000010C12B4862641BD0 +:108C40004A0264030000003E4A026407000000017B +:108C50004A026203000000010201F80000106D5C8E +:108C60005C00B0001C01F0000201F80000020BA142 +:108C70000401F7FC4803C85659CC040082000D00DB +:108C80000000FF00820405000000F000840409C019 +:108C9000820005800000200004020050820405804C +:108CA000000000220402004059C400A48200050014 +:108CB0000000000F82000C80000000070400100478 +:108CC000820004800000000C0400107D59CC0006D6 +:108CD00082000500FFFF000082000D8004000000FC +:108CE0000400007782000D80600000000400007422 +:108CF00082000D80540000000400007182000D808D +:108D0000030000000402001B59A80A1B8C040D027A +:108D10000402006B8C040D080402006982000D80BF +:108D200003000000040200040201F8000010515585 +:108D3000040000630201F800001049C4040000634D +:108D400059A80018800000D059A8080F82040D000F +:108D5000000000FF8004054059CC080082040D008B +:108D600000FFFFFF80040580040200340401F0547A +:108D700059C408028C040D0C0402001882000D80F6 +:108D800052000000040007EC82000D800500000086 +:108D9000040007E982000D8050000000040007E68F +:108DA0000401F02682040580000000230402002351 +:108DB0000401FF380400002159300C0382040580AF +:108DC000000000020400003E820405800000005103 +:108DD0000400003B0401F00159A8021B8C0005149B +:108DE000040000164C5800000201F8000010C16F8A +:108DF00082582480000000415C00B0000400100F85 +:108E000059CC080082040D0000FFFFFF4200100053 +:108E10000010D39358080005800405800400002842 +:108E2000801021C00400000580102040820814003A +:108E30000000000B0401F7F859A800788C00053EEB +:108E40000400001D59CC080082040D0000FFFFFF44 +:108E5000820405800000FC0E040000194C04000090 +:108E6000420000000010D0B20201F8000010C0580B +:108E70000201F80000020B7F5C0008000400000EF5 +:108E800059AA68794936600A4A026407000000124C +:108E900042027000000000D2480660194A02601ABF +:108EA000000000004A02601B000000000201F80000 +:108EB00000020BC5800005800401F003820005401C +:108EC000000000011C01F00059CC000682000500E2 +:108ED000FFFF000082000D8003000000040000047A +:108EE00082000D8052000000040207D459A8021B22 +:108EF00082000500000000098200058000000008D3 +:108F0000040007EF0401F7CD4803C8564C5C00008D +:108F10004C58000059A8005A820005800000004CFF +:108F20000402001F59CCB8079C5CB9C0825CBD002C +:108F3000000000078C5CBD000400000A4200B00085 +:108F40000000000283A81C000000000283CC140073 +:108F50000000000D0201F80000108CB604020010A1 +:108F60008C5CBD020400000A4200B0000000000258 +:108F700083A81C000000000083CC14000000000F38 +:108F80000201F80000108CB6040200058C5CBD04E0 +:108F90000400000382000540000000015C00B000F6 +:108FA0005C00B8001C01F0004803C8564C5C00008F +:108FB0004C58000059A8005A820005800000004C5F +:108FC0000402001F59CCB8079C5CB9C0825CBD008C +:108FD000000000078C5CBD000400000A4200B000E5 +:108FE0000000000283A81C000000000283CC1400D3 +:108FF000000000090201F80000108CB60402001005 +:109000008C5CBD020400000A4200B00000000002B7 +:1090100083A81C000000000083CC14000000000B9B +:109020000201F80000108CB6040200058C5CBD043F +:109030000400000382000540000000015C00B00055 +:109040005C00B8001C01F0004803C8574C580000F1 +:109050004000300042002000000007F04200B00055 +:1090600000000010592470095038000080026D4043 +:1090700004000013593400028200050000FFFFFFC6 +:10908000801805800402000E593410138008013046 +:10909000812005800402000A8208050000FFFFFF0E +:1090A000592408058004058004000014812000F084 +:1090B00080040D40480668130401F0108010200061 +:1090C000803870008058B040040207E882100480A5 +:1090D0000000080042002000000000004200B00034 +:1090E000000007F041AC7000040217E08200054068 +:1090F000000000010401F002401288005C00B00092 +:109100001C01F00059A8021B8C00050E040000048D +:109110008C00050204000003800005801C01F000A3 +:1091200082000540000000010401F7FD59300C07E2 +:109130008204058000000002040000038204058010 +:10914000000000051C01F00059C80000840005580B +:1091500084000512480390001C01F00059CC08005F +:10916000593400138200050000FFFFFF80040580D2 +:109170008200050000FFFFFF1C01F00082140500C3 +:109180000000F0000400000682000C8000002000B7 +:109190000402100A800005801C01F00059CC040074 +:1091A000820005000000FF008200058000008100B1 +:1091B000040007FA0401F0144817C8578214050088 +:1091C000000003FF0402000759CC040082000500E0 +:1091D0000000FF0082000580000081000402000AF8 +:1091E000420000000010D07D0201F8000010C058BD +:1091F0000401FE5A4803C8568200054000000001E1 +:109200000401F7E6417800000401F7E40201F800E8 +:10921000001051550400001059C400A44803C85759 +:10922000820005000000000F820005800000000A97 +:1092300004020009497B505A59C400A3820005402A +:1092400000080000480388A382000500FFF7FFFF25 +:10925000480388A34817C8560201F0000010BF9DBC +:109260004A032824000003E84A0328020011168458 +:109270004A032800000000004A0328080010746E0A +:10928000420000000000000583947C0000000009FB +:10929000497878014A00780400107321823C7C00F0 +:1092A0000000000580000040040207FA4A0328235A +:1092B000FFFF00004201D000000000640401FA1129 +:1092C0004201D000000186A00401F220000000004D +:1092D000000000050000000A0000000F000000145C +:1092E0004D3000004D2C00004D3400004D4000007A +:1092F0004CFC00004D3800004D3C00004D44000087 +:109300004D4C00004D4800004C5C00004C600000DB +:109310004C6400004CC800004CCC00000201F80076 +:109320000002098D5C0198005C0190005C00C8009F +:109330005C00C0005C00B8005C0290005C02980019 +:109340005C0288005C0278005C0270005C01F8003E +:109350005C0280005C0268005C0258005C026000F5 +:109360001C01F000599400315994083280040480A3 +:1093700048032832040010020402003459BC00E4FF +:109380008C000530040000094A03000000000000C2 +:109390004803C8564A0378E4020000004A03283212 +:1093A000000004B00401F0294200080000000100A0 +:1093B00080040840040007F50201F8000010C17B9A +:1093C000040007FC0201F80000106E814DF000005F +:1093D0004D18000042023000000000050201F800B4 +:1093E00000100E515C0230000201F800001006541B +:1093F0004200080000007A005804001582000500B1 +:10940000FFFF8FFF59A8107A800805404800081513 +:109410004A03000000000000497B28324A0378E438 +:10942000028000000201F80000100EAF5C03E000B3 +:109430000200080000106E6E420000000010D0B85C +:109440000201F8000010C0581C01F00059940004FB +:10945000800005400402000A5994002F8004040093 +:10946000020018000010032E48032804480B2805AA +:109470004A0328030000000A800005801C01F00058 +:1094800059940029800005400402000A5994002FD5 +:1094900080040400020018000010032E480328294D +:1094A000480B282A4A032828000000018000058074 +:1094B0001C01F00040680800406C10005994002C1A +:1094C000800005400402000A5994002F8004040023 +:1094D000020018000010032E4803282C480B282DEA +:1094E0004A03282B0000000A800005801C01F000C0 +:1094F0004C00000059940005800805800402000318 +:10950000497B2804497B28055C0000001C01F00011 +:10951000406810000401FFF71C01F0004C0000003F +:109520005994002A8008058004020003497B2829F9 +:10953000497B282A5C0000001C01F0004C00000060 +:109540005994002D8008058004020003497B282CD3 +:10955000497B282D5C0000001C01F0004937C857EA +:1095600048EBC8575934020380E804800400100215 +:1095700048EA6A031C01F0004D44000042007800F4 +:1095800000000010599688010201F8000002034E05 +:109590000402005959341A03800C184004001017B3 +:1095A00059940031800C04800400000348026A03CF +:1095B000040210125934000F497A6A0380000540F2 +:1095C0000400004D5934000B80001120820005007A +:1095D0000000FFFF80080480040010044A026A03B0 +:1095E000000000010401F0054C3C00000201F800FD +:1095F0000002035C5C0078004D2C000041781800EC +:109600005934000F80025D400400003A592C0004D8 +:1096100080000D400400000659940031800404804D +:10962000480258040400100704000006412C1800EA +:10963000592C000080025D400400002E0401F7F464 +:10964000592C2000497A5800800C19C004020009E6 +:1096500059340010812C058004020004497A680FF7 +:10966000497A68100401F0084812680F0401F006F6 +:109670004810180059340010812C058004020002A3 +:10968000480E6810592C020582000500000000FFFA +:1096900082000580000000120400000482000580A2 +:1096A00000000060040200044A025A070000000B98 +:1096B0000401F0084A025A05000001034A025A0751 +:1096C00000000006497A580A4A025C070000FFFFC2 +:1096D0004C0C00004C1000000201F800000203F1E5 +:1096E0005C0020005C001800401000000401F7D26C +:1096F0005C02580081468800834404800000080012 +:1097000004021007803C7840040207A04947280162 +:109710005C0288005C03E0001C01F0004A032800A2 +:1097200000000002497B28010401F7FA420078009A +:1097300000000010599660025930020580000D406B +:109740000400000659940031800404804802620538 +:109750000400102D0400002C5930000680000D403C +:109760000400001459B800E48C0005240402001120 +:109770004A0370E4000300004000000059B800E410 +:109780008C000524040000044A0370E40002000079 +:109790000401F008599400318004048048026006F6 +:1097A0004A0370E4000200000400101C0400001BC7 +:1097B000833264000000002C493328024154000029 +:1097C0008130048004021005803C7840040207DBED +:1097D0005C03E0001C01F00059940030480328317C +:1097E0004A03280200111684497B28308000054076 +:1097F0000400000F4A032800000000015C03E000A1 +:109800001C01F0004C3C00000201F80000109AF628 +:109810005C0078000401F7D14C3C00000201F80024 +:10982000001096415C0078000401F7E24A0328002A +:10983000000000005C03E0001C01F00059A808597A +:109840008C040D30040200298C040D320400000F3A +:1098500059A80050816404800400101959A8000B15 +:10986000815005800400000559A8004E59A8104DEC +:109870008008058004020012900411C082081500BF +:10988000000070000401F012820405000000001FB7 +:109890000400001680040840820405000000001F38 +:1098A00004000003480750590401F010900401C05F +:1098B000820005000000001F80040D40900401C0DC +:1098C00080040580820015000000700082040500FD +:1098D000FFFF8FFF8008054048035059800811148E +:1098E0000201F800001004631C01F0004A0328077D +:1098F000000007D04A0328060000000A1C01F000FF +:1099000042000800000000048318048000000005E5 +:10991000020218000010032E83947C00000000094E +:1099200083180400001064B350000000803C7C00E9 +:109930004A007801000001F4480478024A007800E7 +:109940000000000A1C01F0008318048000000005DC +:10995000020218000010032E83947C00000000090E +:1099600083180400001064B350000000803C7C00A9 +:10997000583C0002800000404800780204000005C6 +:109980004A007801000001F44A0078000000000A53 +:109990001C01F0008318048000000005020218007A +:1099A0000010032E83947C0000000009831804003B +:1099B000001064B350000000803C7C0049787801BE +:1099C0001C01F00040680800406C10000401F8021F +:1099D0001C01F0004807C857480BC8575994002F7E +:1099E00080040400020018000010032E480328041D +:1099F000480B28054A0328030000000A1C01F00058 +:109A00004807C857480BC8575994002F80040400D2 +:109A1000020018000010032E48032826480B2827B0 +:109A20004A0328250000000A1C01F0004C00000039 +:109A30005994002780080580040200034803282663 +:109A4000480328275C0000001C01F0004807C857A5 +:109A5000480BC8575994002F8004040002001800D6 +:109A60000010032E4803282C480B282D4A03282BCE +:109A70000000000A1C01F00080E9D1C00400000EC3 +:109A80000401F832040250004203E00080000000AC +:109A900040E8100041780800420000000000006427 +:109AA0000201F80000106CDD5994002E80080400BB +:109AB0004803282E1C01F0004200100000105071D5 +:109AC0000401FE8C42001000001050600401FFD819 +:109AD00042001000001041570401FE8642001000B1 +:109AE000001041D90401FE834200100000104130F3 +:109AF0000401FE8042001000001042100401F690A4 +:109B00004203E000700000004203E000B0300000BB +:109B100040EBF800420000000000003C040040045C +:109B200080000040040207FE0401F0074203E00049 +:109B300070000000420000000010D03E0201F8005A +:109B40000010C0581C01F0004203E000800000003B +:109B50004203E000B040000040EBF800420000008B +:109B60000000003C0400500480000040040207FE96 +:109B70000401F0074203E000800000004200000002 +:109B80000010D03F0201F8000010C0581C01F00086 +:109B900059A8080D59A8025180040480599C0A0252 +:109BA000800409C0040200028004080080041480BC +:109BB00004001002400008004807504F59A8100D3B +:109BC00040040000800ACC804967500D496750501E +:109BD00059AAA80B41640800420010000000002CA4 +:109BE0000201F80000106CBE8206A4000011168469 +:109BF0004953504C4152B000420060000010E373E2 +:109C00004A0060050000012C4A006006DA10DA10F4 +:109C10004A006009000000124A00600A0010E37365 +:109C20004A00600B00100F11599C0014480060128C +:109C3000599C00154800601342006000001115D4C3 +:109C40004A006203000000084A00640700000006A2 +:109C50004A006002FFFF00004A0060090010E37341 +:109C60004A0060150010E373599C00144800601608 +:109C7000599C001548006017599C0413480060184F +:109C8000495060194954601A59A8004F4800601B98 +:109C90004A00601C0010CBCC4A00601D0010CBCDE8 +:109CA0004A00601E0010CBCE42000000B000000051 +:109CB00042000800001115D40201F8000002010E54 +:109CC0001C01F00082000D00000000C00400000430 +:109CD00082040D80000000C00402005582000D00C7 +:109CE00000002020593004158400051282040D80E4 +:109CF000000020200400000B8C0005140402000F5B +:109D000048026415813E79C00202000000020ACDBB +:109D100042027000000000430201F00000020BC587 +:109D20005932680A59340A008C040D0A040007F3FA +:109D3000840005520401F7F184000514592C080E23 +:109D4000480660160401F7EF5932680A59340A00D0 +:109D50008C040D0A0200000000020AE059300C15C4 +:109D600084040D52480664150201F00000020AE066 +:109D70000201F8000002011A813E79C002020000CF +:109D800000020ACD0201F00000020AF58C00051E57 +:109D90000200000000020B0182000D0000002020E4 +:109DA00082040D80000020200400001482000500C1 +:109DB000000000C082000D80000000800400000848 +:109DC000813E79C00202000000020ACD420270000A +:109DD000000000410201F00000020BC5813E79C085 +:109DE0000202000000020ACD42027000000000439F +:109DF0000201F00000020BC55932680A59340A000A +:109E00008C040D0A040007EA59300C1584040D5225 +:109E1000480664150401F7E6492FC85742000800B8 +:109E2000000000060201F00000020AFC492FC8579A +:109E300042000800000000040201F00000020AFCD9 +:109E40004807C85659240206800409C004000003CC +:109E5000800805400401F0028008050048024A0617 +:109E60001C01F0004A030800000000004A03080239 +:109E700000000001497B0803497B08041C01F00035 +:109E8000598400028C0005000400000484000500D1 +:109E90004A03080000000001840005448400050610 +:109EA0004803080282000D000FFFFFFF4200000080 +:109EB000900000000201F800001008D259A80050DC +:109EC0008200048000000007480350508000058095 +:109ED000420008000010CC7048000800480008014B +:109EE0001C01F00059A80050820004000000000787 +:109EF000480350501C01F0008364048000000008F7 +:109F00000400101B58C80A0380000580820004006A +:109F10000000000880040840040207FD815C048002 +:109F2000040010134200B000000000070201F80016 +:109F300000020B7F4A026203000000044A02640729 +:109F4000000000094A026203000000044A0260089F +:109F5000000001010401F8090401F8808058B040B4 +:109F6000040207F3800005801C01F0008200054018 +:109F7000000000010401F7FD0201F8000010058552 +:109F8000492E600958C80A034A025A050000002CED +:109F9000497A5800497A5801497A5C05497A5C0740 +:109FA000497A58064A025A09000000054A025A082E +:109FB0000000000258C8020148025C0558C80202AD +:109FC00048025C0858C8020448025C094A02580E5C +:109FD0000000FFFF800408400400000C412C20001A +:109FE0000201F800001005854A025A050000000A27 +:109FF000497A5C0548125800492C2001412C200068 +:10A0000080040840040207F71C01F0004D7C0000AA +:10A010004202F800000000104DF000004203E00092 +:10A020005000000059847803803C79C00400001E71 +:10A030004C5C0000583CB809585C3409801831C0A9 +:10A040000400000B0401F84A04000016420010004E +:10A050000010CC700401F87F040000120201F80027 +:10A06000001005700400000F492CB806585C00066B +:10A0700080000540020008000010032E0401F830A3 +:10A08000585C54090401F80B5C00B8005C03E00064 +:10A09000817EF840040207E15C02F8001C01F00038 +:10A0A0005C00B8005C03E0005C02F8001C01F000FA +:10A0B0004803C856405C6000802851C00400001866 +:10A0C000585C020582000D000000000F82040C00A5 +:10A0D00000100F16500440004C6000004C6400005B +:10A0E0004D0400004020C000403208005984C804DC +:10A0F0004C2800000401F93B5C0050004060400027 +:10A10000410460000201F80000100EF4040207F69A +:10A110005C0208005C00C8005C00C00058C8020473 +:10A120004800BC090201F8000002011A4A02600856 +:10A1300000000101497A600A0401F0554803C8563D +:10A140005984000380026540040000035930000078 +:10A15000480308031C01F0004803C8565984000353 +:10A1600048026000493308031C01F00058CC080580 +:10A1700040180000800404800400100D82CC05808B +:10A180000010CC65020208000010032E58C802051A +:10A19000800404800400101D8200054000000001BE +:10A1A0001C01F000800035800401F7FE82CC0580A0 +:10A1B0000010CC65020208000010032E58C80400ED +:10A1C0008C000504040007F858C8040B8C00051E19 +:10A1D000040007F58C000500040207F38400054025 +:10A1E0004801940B420000000010D0050201F80065 +:10A1F0000010C05842001000000080260201F80044 +:10A20000001039D40401F7E858C8040B8C00051E6F +:10A21000040007E28C000502040207E08400054206 +:10A220004801940B420000000010D0040201F80025 +:10A230000010C058420010000000802542001800A5 +:10A24000000000000201F800001039D40401F7D327 +:10A250004803C856580800004200180000000007D4 +:10A26000580808018004048004020004400C000027 +:10A27000800005400401F00504001003800C0480F8 +:10A280000401F002800000801C01F0004803C85661 +:10A290005930000980000D40020008000010032E14 +:10A2A0005804000680000540020008000010032E3C +:10A2B000593000088200050000000101820005807D +:10A2C00000000101020208000010032E42001000ED +:10A2D0000010CC7058080801820404000010CC72F1 +:10A2E000497A64154A0260160000FFFF45300000FD +:10A2F00080040800820404800000000804001002AA +:10A3000080000D8048041001820404000010CC720B +:10A31000457800001C01F0004933C857593008093E +:10A32000800409C0020008000010032E4D2C00001C +:10A3300058065806812E59C00202080000100596E2 +:10A3400049780806400658000201F8000010059FF1 +:10A350005C0258004D3000000201F80000020BA121 +:10A360005C0260001C01F0000401F8074201880053 +:10A37000000000010400000342018800000000000A +:10A380001C01F0005930040782000580000000091C +:10A3900004020006593000088C0005100400000378 +:10A3A000800005801C01F0008200054000000001D3 +:10A3B0001C01F000598408028C040D041C01F000FB +:10A3C0004803C8565984080284040D0484040D40CF +:10A3D0004A030800000000004807080282040D003C +:10A3E0000FFFFFFF42000000900000000201F0009C +:10A3F000001008D24807C8574805980A49799801BB +:10A4000049799803497998064979980749799808CC +:10A4100049799805497998090401F8C80400000AA7 +:10A420000401F8EA0400000848359800483598020D +:10A43000483598064A019804000000014A0198072F +:10A44000000000061C01F0004807C85758CC100750 +:10A450004004000080080480040210204C04000026 +:10A460004C0800000401F8D95C0010005C000800F2 +:10A470000400001C58CC0006800065400402000B5C +:10A48000483598004835980248359806497998012A +:10A4900049799803497868014978680049799804AE +:10A4A000497998070401F005483068014834600094 +:10A4B000483598064978680058CC000458CC1007F5 +:10A4C0008000000082081400000000064801980483 +:10A4D000480998070401F7DF800005801C01F0009F +:10A4E00082000540000000011C01F000480BC85725 +:10A4F0004C5000004C5400004C5800004008300004 +:10A5000058CC0801820404800000000602021800F2 +:10A510000010032E8204040000106A235000000083 +:10A5200058CCA8008054AC0042001800000000067F +:10A5300040040000800C0480800824800402100283 +:10A54000400800008000B0C28058B4005450A800F9 +:10A550008050A0008054A8008058B040040207FC3E +:10A560004000100058CC280558CC080758CC2001D2 +:10A5700080142C0080040C8080102400481598055D +:10A5800048059807481198018210058000000006D0 +:10A590000400000C48119801400800008018148045 +:10A5A0004008300004000003040217D68000058034 +:10A5B0005C00B0005C00A8005C00A0001C01F00082 +:10A5C00058CC0800800409C0020008000010032EC7 +:10A5D0005804080048059800417820000401F7EE6F +:10A5E0000401F8125060000081041C00585C020550 +:10A5F0004803C857820005800000002C02020800B2 +:10A600000010032E58040202800000E08064054020 +:10A6100048001802580400004800180058040001BF +:10A62000480018011C01F0004807C85658CC000526 +:10A6300080000040020018000010032E4801980519 +:10A6400058CC1003820804800000000602021800A3 +:10A650000010032E8208040000106A23500000003E +:10A6600058CC080280040C00800810008208048086 +:10A67000000000060402000F58CC20025810000011 +:10A6800080006D40040000094C3400000401F858BB +:10A690005C006800497868014835980258CC00048D +:10A6A0008000004048019804497998030401F002B1 +:10A6B000480998031C01F0004807C8564178180063 +:10A6C00058C802018000054004000002800C1800F8 +:10A6D00058C80C0180040C800400100A0400000912 +:10A6E000800C180058C80202800414800400100571 +:10A6F00004000004800C1800400808000401F7FB67 +:10A70000480D9204400C00004200200000000001AF +:10A7100080000040040000070400100680102000A4 +:10A72000820004800000000504000002040217FCFF +:10A73000481192031C01F0004807C8564D2C000038 +:10A7400058CC000A80000540020008000010032ECB +:10A7500082002400000000060201F80000100570CD +:10A7600004000012492D9809497A5800497A580185 +:10A770000201F800001005700400000C58CC00091C +:10A7800048025800497A5801492D980982102480BE +:10A7900000000006040217F78200054000000001D7 +:10A7A0005C0258001C01F00058CC000980025D409A +:10A7B000040007FC592C20000201F8000010059647 +:10A7C000401000000401F7FA58CC000948CFC857E0 +:10A7D00080006D40040000055034000048019809D5 +:10A7E00049786800497868011C01F0004813C8578F +:10A7F00058CC000948002000481198091C01F000BD +:10A800004807C8564D2C000058CC000980025D4016 +:10A8100004000007592C00004C0000000201F80061 +:10A82000001005965C0000000401F7F95C02580076 +:10A830001C01F0004807C8564D2C000058CC0002FF +:10A8400080025D4004000007592C00004C0000000D +:10A850000201F800001005965C0000000401F7F901 +:10A86000497998004979980249799801497998037A +:10A870004979980649799807497998084979980952 +:10A880004979980A5C0258001C01F000000000039E +:10A8900000000006000000090000000C0000000F8E +:10A8A000000000124803C8560401F8584A00C205C7 +:10A8B0000000003C5930100A820805800010CC7B53 +:10A8C000040000135808080282040D0000FFFFFF77 +:10A8D000580804034804C0064800C4074A00C208D8 +:10A8E0000000000359300812585C04054978C2077B +:10A8F0004804C408800005400400000D58600207A9 +:10A90000840005404800C2070401F009585C080BA8 +:10A9100082040D0000FFFFFF4804C0064A00C40780 +:10A92000000007FF4978C2080401F7EF82603C008D +:10A93000000000095860540540282000405C600079 +:10A94000585C0A0582040D000000000F82040C0010 +:10A9500000100F165004400080004D805020000071 +:10A9600080307400583804028C244D000402000327 +:10A9700048003A000401F00348003C00801C380005 +:10A980008024480080102040040000060201F800E6 +:10A9900000100EF4020008000010032E0401F7F06E +:10A9A0001C01F0004803C8564D3400005930000A1D +:10A9B00080026D40020008000010032E593402127C +:10A9C000820005000000FF000402000E5984000010 +:10A9D000800005400400000B836C0580000000032C +:10A9E0000402000859341C03420020000000000447 +:10A9F00042003000000000040201F80000103A4755 +:10AA00005C0268001C01F0004803C85680001580F5 +:10AA100058C80C015930001280040C80480660129E +:10AA200058C802018000054004000005800810009D +:10AA300080040C80040010070400000658C80202BD +:10AA40008008100080040C8004001002040207FD3E +:10AA50004808BC094808C4051C01F0004803C85652 +:10AA60004A0370E50002000059B800E58C00052497 +:10AA7000040207FC4A0370E50003000040000000E8 +:10AA80004000000059B800E58C000524040207F5D9 +:10AA90005934000E80006D400400001081300580A4 +:10AAA00004020004583400004802680E0401F00A51 +:10AAB000403478005834000080006D4002000800E7 +:10AAC0000010032E81300580040207FA583400007C +:10AAD00048007800497A60004A0370E500020000EF +:10AAE0001C01F0004803C8564D3000004D2C0000FA +:10AAF00042000800000003FF4A0370E50002000066 +:10AB000059B800E58C0005240400000580040840C5 +:10AB1000040207FA0201F8000010032E4A0370E550 +:10AB200000030000400000004000000059B800E5AC +:10AB30008C000524040207F15934000E80026540A0 +:10AB40000400000E4933C857593000004802680E0F +:10AB50004A02620300000004497A6006497A600AEA +:10AB60004A0260080000010159325809497A5C091B +:10AB70000401FD7A0401F7F14A0370E500020000C8 +:10AB80005C0258005C0260001C01F0004803C856DB +:10AB90004C0000000201F800001061700402001176 +:10ABA0000201F8000010467D020208000010032E8A +:10ABB0005C000000480268020201F80000107F43B8 +:10ABC000040000094936600A4A02640700000001D7 +:10ABD00042027000000000010201F00000020BC5FB +:10ABE0005C0000001C01F0005930020382000C8060 +:10ABF0000000000E020218000010032E4803C85780 +:10AC00000C01F00100106B0F00106B0F00106B0FA8 +:10AC100000106B1100106B7E00106B0F00106B0F9B +:10AC200000106BD000106BD100106B0F00106B0F79 +:10AC300000106B0F00106B0F00106B0F0201F8007B +:10AC40000010032E493BC857833804800000005091 +:10AC5000020218000010032E83380480000000490F +:10AC6000020018000010032E0C01F00100106B24EC +:10AC700000106B5500106B2200106B2200106B222D +:10AC800000106B2200106B630201F8000010032E0D +:10AC90004D2C000059325809592C020748025C0714 +:10ACA0004A025A07000000004C5C0000592CBC0B03 +:10ACB000592C0000480260090201F800000203F16B +:10ACC00059300C1559300009800005400400000B74 +:10ACD0008C040D18040200144A02620300000007ED +:10ACE0004202700000000043497A64155C00B8001D +:10ACF0005C0258000401F0938C040D18040200104B +:10AD00008C5CBD08040200114A02620300000007C7 +:10AD1000497A6415497A60065C00B8005C02580004 +:10AD20001C01F0004D4000005932580942028000D9 +:10AD3000000000050401F9255C0280000201F80012 +:10AD400000107EFF0401F7F50201F80000020BA1DC +:10AD50000401F7F20401FA5C4D2C00005932580945 +:10AD60000201F80000109904040000064D400000A4 +:10AD700042028000000000010401F9145C0280001E +:10AD80005C0258000201F00000020BA10401FA4E1F +:10AD90004D3C0000417A78000201F8000011007B70 +:10ADA0005C02780042003000000000140201F8004C +:10ADB0000010B7E0420000000010D0230201F800AC +:10ADC0000010C0584D2C0000593258090201F800FB +:10ADD00000109904040000064D400000420280006B +:10ADE000000000290401F8F95C0280005C025800B0 +:10ADF0000201F00000020BA1493BC857497A6006E6 +:10AE00008338048000000054020218000010032E52 +:10AE10008338048000000047020018000010032E51 +:10AE20000C01F00100106BCF00106B9800106B96B6 +:10AE300000106B9600106B9600106B9600106B96CE +:10AE400000106B9600106B9600106B9600106B96BE +:10AE500000106B9600106B9C0201F8000010032E8E +:10AE60005930001282000500FFFF00000402003488 +:10AE7000598408028C040D04040000255930000A8E +:10AE800080026D400400001F4C5C00004C6000001C +:10AE9000497A60065930B809585C00068000C54000 +:10AEA000020008000010032E0401FE7F40625800DB +:10AEB0000201F800000203F54978B8060401FEE833 +:10AEC000497A600A585C34090401FCA90400000EA8 +:10AED000420010000010CC700401FCDE0400000AE7 +:10AEE0000201F8000010058504000007492CB8068F +:10AEF000585C54090401FC6F5C00C0005C00B800A1 +:10AF00001C01F0000401FC950401F7FC8C040D0603 +:10AF1000040207FC5930000A80026D40040000065C +:10AF20005934000E80000540020208000010032E74 +:10AF3000497A600A0401FCF90401F7F20401F08B7C +:10AF40004803C8564803C8568338058000000043AC +:10AF5000020208000010032E4A02620300000003F0 +:10AF6000493A640359325809592C001048026012BA +:10AF7000497A6014592C0407800000C2800010C474 +:10AF800080081400480A60060201F8000002016807 +:10AF900042000800800000600201F00000020B3453 +:10AFA000420000000010D0350201F8000010C05827 +:10AFB0005930020382000C800000000E02021800CB +:10AFC0000010032E4803C85782000D8000000003C4 +:10AFD0000400000682000D800000000404000060F0 +:10AFE0000201F8000010032E4D40000042028000D4 +:10AFF000000000060401F82D5C0280001C01F00036 +:10B000004803C8565930020382000C800000000E2D +:10B01000020218000010032E82000D8000000002C2 +:10B020000400000F82000D800000000304000006F1 +:10B0300082000D8000000004040000490201F800B5 +:10B040000010032E4D400000420280000000000569 +:10B050000401F8165C0280001C01F0004933C85757 +:10B060004D2C000059325809812E59C002000800A9 +:10B070000010032E592C1A098C0C1D0E020008001A +:10B080000010032E4D40000042028000000000012D +:10B090000401F84E0201F80000107EFF5C028000FF +:10B0A0005C0258001C01F0004933C8574943C85797 +:10B0B0000401FA554DF00000593000048C00053EA3 +:10B0C000040200095930041584000558480264152B +:10B0D0000201F80000107266020208000010032E40 +:10B0E0000401F01B0201F800001095B504020007EE +:10B0F0005930041584000558480264150201F8000F +:10B100000010716A040200120201F8000011015DD2 +:10B1100080C40040040000050401F9460202080052 +:10B120000010032E0401F00A593258090401F827CF +:10B130000201F80000107EFF5C03E00004000A1F1B +:10B1400082000540000000011C01F0005C03E000EB +:10B1500004000A1A800005801C01F0004933C8571A +:10B160000201F80000100C814933C8574C5C000004 +:10B170004D340000497A60065930B8095930000A48 +:10B1800080026D4004020E36420010000010CC70A8 +:10B190000401FC300400000958C802044800BC093E +:10B1A000417850000201F8000010682C5C02680031 +:10B1B0005C00B8001C01F0004978BC090201F800ED +:10B1C000001068560401F7FA4803C8560201F80057 +:10B1D000001099040400000F592C000080000D405D +:10B1E00004000009497A580049425A074C040000FB +:10B1F0000201F800000203F15C000800400658005C +:10B200000401F7F649425A070201F800000203F16F +:10B210001C01F0000401F807420188000000000151 +:10B220000400000342018800000000001C01F0003F +:10B230004933C85759300C07820405800000000EBE +:10B2400004000004820405800000000904020004D8 +:10B250000401FFDE497A6009800005801C01F000CE +:10B26000592E600A833004800011168404001016E1 +:10B270004158000081300480040210134004000093 +:10B2800059300C07800405800402001259300A036B +:10B290008204058000000007020208000010032E4F +:10B2A0005930000980000540020208000010032EFA +:10B2B0000201F80000020BA14200000000000000A3 +:10B2C0000401F00942000000000000080401F0063B +:10B2D0008204058000000007040207FB4200000012 +:10B2E00000000005592C0A0748065C0748025A0767 +:10B2F0000201F000000203F14C0C00004C100000B1 +:10B300004C1400004C18000080001D808000258037 +:10B31000420030000000002082040500000000010F +:10B320000400000340080000800C1C00400C2800B2 +:10B33000800C190280102102821405000000000117 +:10B3400004000003821025408000000080040902F0 +:10B3500080183040040207F140100800400C000043 +:10B360005C0030005C0028005C0020005C001800DD +:10B370001C01F0004C5800004200B000000000200A +:10B38000800005400400001880041C800402101690 +:10B39000800810C2800409820400100680041C800A +:10B3A000040210058058B040040207FA0401F006B8 +:10B3B00080041C80400C0800800810008058B040B9 +:10B3C000040207F44C00000041F000008200050078 +:10B3D000F7FFFFFF4003E0005C0000005C00B000EE +:10B3E0001C01F0004C00000041F00000820005400C +:10B3F000080000000401F7F8420070000010CC9B28 +:10B400004A007000000000054A00740100000000BE +:10B410004A007201000008404A0072020000000564 +:10B420004A0378E8000000004A03C8210000001029 +:10B430004A03C823000000040401F81E4A0378E907 +:10B4400000003A0D4A0378E8000000014178080046 +:10B450004203A000000076004A03A005D0000001CE +:10B4600059D000064A03A0059000000183D3A40030 +:10B470000000002080040800820404800000000511 +:10B48000040017F859E0000382000500FFFFFFE009 +:10B4900082000540000080004803C00359C4000634 +:10B4A00082000500FFFCFFFF480388061C01F00036 +:10B4B0004D9000004D1800004A0378E7AAAAAAAAF6 +:10B4C0004A0378E6AAAAAAAA4A0378E5AAAAAAAAD7 +:10B4D0004A0378E4AAAAAAAA4A03781A0010CF2E2F +:10B4E0004A03781B00100F164A03781C00100F2621 +:10B4F0004A031800000000004A0318010010CC9E07 +:10B500004A0318020010CCA5420008000010CF31F9 +:10B51000417A3000811B20C8839324000000BF3291 +:10B52000480720004A03200100000000831804009F +:10B5300000107548500000004803200282040C00EF +:10B5400000000005811A3000831804800000000507 +:10B55000040017F15C0230005C0320001C01F000C5 +:10B56000406808000201F80000020B421C01F000D4 +:10B570004933C8575930080482040D000000010007 +:10B5800082040D408000004048066004497A600053 +:10B5900059BC00EA8C000516040207FE8330040043 +:10B5A00060000000480378E11C01F000598C000F96 +:10B5B0008130058004000003497A60081C01F00016 +:10B5C00059C40004820005000000000C04000005BE +:10B5D0004A0388040000000C497B28070401F00A94 +:10B5E0000401FBA65930040382000D8000000040D6 +:10B5F00004000004820005800000004204020002F2 +:10B60000497A60080201F8000010750E800005807C +:10B610001C01F0000401F80742018800000000014D +:10B620000400000342018800000000001C01F0003B +:10B63000593008048C040D200402000482000540E7 +:10B64000000000011C01F0004933C8574D380000CC +:10B650005930080484040D2048066004420270003A +:10B6600000000049593002038200058000000003F9 +:10B670000400000342027000000000130201F80001 +:10B6800000020BC5800005805C0270001C01F00008 +:10B690000401F807420188000000000104000003D3 +:10B6A00042018800000000001C01F0005930001821 +:10B6B000814805800402000359300019814C05803F +:10B6C0001C01F0004D2C00004D3000000401F8CEAC +:10B6D0004DF000000201F80000106665599000016D +:10B6E00082000500000000030C01F00100106DCC89 +:10B6F00000106DC100106DBF00106DBF0201F80099 +:10B700000010032E599260040401F88A813261C04E +:10B7100004000008593000048C00051604000004E1 +:10B7200059325809497A5809497A580A0401F88A5D +:10B730005C03E000040008A15C0260005C025800A9 +:10B740001C01F0005C0000004C0000004803C857DA +:10B750004D300000497B28070401F8AB4DF0000094 +:10B76000598C0000820005000000000F4803C857F4 +:10B770000C01F00100106E1200106DEF00106DF85A +:10B7800000106DFF00106E0D00106E1200106DEDB8 +:10B7900000106DFC00106E1200106DED00106DEDCC +:10B7A00000106DED00106DED00106DED00106DEDF1 +:10B7B00000106DED0201F8000010032E598C000FEF +:10B7C00080026540040000040401F824020208001D +:10B7D0000010032E0201F8000010750E0401F01B8A +:10B7E0000401F82D0201F8000010750E0401F01795 +:10B7F0000201F8000010BAFF0401F7F7598C000F9E +:10B8000080026540040000110401F83B04000007B9 +:10B810000401F812040000050401F81F04000003ED +:10B820000201F8000010BAFF0201F8000010750EC6 +:10B830000401F0060401F830020208000010032E93 +:10B840000201F8000010750E5C03E0000400085BC4 +:10B850005C0260001C01F000598C000981300580F9 +:10B860000402000C0401F84E0401F83B59300000BA +:10B87000800001C00400000448031809497A6000F0 +:10B880000401F003497B1809497B180880000580F2 +:10B890001C01F0004D2C0000593004078200058087 +:10B8A0000000000304020012598C000B8130058057 +:10B8B0000402000F0401F83A59325809497A58092C +:10B8C000497A580A0401F82459300000800001C068 +:10B8D000040000044803180B497A60000401F003D7 +:10B8E000497B180A497B180B800005805C025800D0 +:10B8F0001C01F000598C0005813005800402000C09 +:10B900000401F8270401F81459300000800001C038 +:10B910000400000448031805497A60000401F0039C +:10B92000497B1805497B1804800005801C01F00044 +:10B930004A03200100000000497B2004497B2005C8 +:10B9400059900006820005000000FFFF4803200612 +:10B950001C01F0004C040000593000048200050076 +:10B960007FFEFFFF4802600459BC00E48C00051410 +:10B9700004000009420008000000BF005804001243 +:10B980008130058004020004497808124A0378E4F3 +:10B99000000008005C0008001C01F0004803C856C5 +:10B9A000598C000E80000540040000038000004018 +:10B9B0004803180E1C01F00059BC00EA8200050083 +:10B9C000000000078200058000000003040200065A +:10B9D0004803C8564A0378E8000000014A0370E4AF +:10B9E000000008001C01F0000401F8074201880073 +:10B9F0000000000104000003420188000000000074 +:10BA00001C01F00059BC00EA82000500000000079C +:10BA10008200058000000001040200134803C8569C +:10BA200042000800000000000401F8104A0370E41E +:10BA300000000C00420008000000100059BC00EAA1 +:10BA4000820005000000000782000580000000035E +:10BA50000400000580040840040207F90201F80010 +:10BA60000010032E1C01F00059BC00EA8200050002 +:10BA700000000007820005800000000102020800AB +:10BA80000010032E59BC00EA8C000516040207FEC4 +:10BA9000480778E11C01F00040681000406C080085 +:10BAA00059BC00EA8C000516040207FE480778E13D +:10BAB00059BC00EA8C000516040207FE480B78E129 +:10BAC0001C01F0004A0378E40000200059A800702F +:10BAD000820005000000000C040200084200700013 +:10BAE0000010CC9B583804018C00050604020003AA +:10BAF0004A0378E4000800001C01F00082000D00F9 +:10BB00008000001802020800001003230201F80060 +:10BB10000010032E00106ED500106FB400106FCF10 +:10BB200000106ED500106ED700106F2A00106F49FC +:10BB300000106F8100106ED500106FB200106EF80B +:10BB400000106ED500106ED500106ED500106ED5A9 +:10BB500000106ED50201F8000010032E4D300000D9 +:10BB60004D9000004DD000004DA400004D14000089 +:10BB70000201F8000010753659BC00EA8C0005106F +:10BB8000040007FE59BE60E0593000048C00052017 +:10BB90000400001182000500FFFEFEFF4802600461 +:10BBA0004A026203000000030401FF970201F8004B +:10BBB00000100E005C0228005C0348005C03A0003B +:10BBC0005C0320005C0260004A0378E40000000887 +:10BBD0000401F77A84000510480260040401F7F6B6 +:10BBE0004D3000004D2C00004D9000004DD0000065 +:10BBF0004DA400004D1400000201F800001075363D +:10BC000059BC00EA8C000510040007FE59BE60E034 +:10BC1000593000048C00052004000021820005003A +:10BC2000FFFEFEFF480260044A02620300000003B8 +:10BC300059325809812E59C0020008000010032E05 +:10BC4000420000000010D0460201F8000010C05869 +:10BC50000401F8F304000009592C0209840005527C +:10BC600048025A090201F8000010110F0401FF6692 +:10BC70000201F80000100E005C0228005C0348007E +:10BC80005C03A0005C0320005C0258005C026000C2 +:10BC90004A0378E4000000080401F7488400051016 +:10BCA000480260040401F7F54D3000004D9000009B +:10BCB0004DD000004DA400004D1400000201F8001A +:10BCC0000010753659BC00EA8C000510040007FE10 +:10BCD00059BE60E0593000048C0005200400000FBC +:10BCE00082000500FFFEFEFF480260040401FF46DB +:10BCF0000201F80000100E425C0228005C034800BC +:10BD00005C03A0005C0320005C0260004A0378E44E +:10BD1000000000080401F7298400051048026004AF +:10BD20000401F7F64D3000004D2C00004D340000AA +:10BD30004DA400004CD000004D24000059BC00EA86 +:10BD40008C000510040007FE59BE60E0813261C01E +:10BD5000020008000010032E593000048C0005205A +:10BD60000400002082000500FFFEFEFF4802600480 +:10BD70005932680A420348000010CC9E5932481CD0 +:10BD8000040110004A03C8400010CCA54A03C84271 +:10BD900000000012040110004A03C8400010CCB794 +:10BDA0004A03C842000000FF040110004A03C840D3 +:10BDB0000010CDB64A03C842000000FF0201F8009F +:10BDC0000010754D5C0248005C01A0005C03480057 +:10BDD0005C0268005C0258005C0260001C01F0001C +:10BDE00084000510480260045C0248005C01A00069 +:10BDF0005C0348005C0268005C0258005C02600062 +:10BE00001C01F0004D3000004D2C00004D340000AE +:10BE10004CD000004D2400004D9000004DD000009B +:10BE20004DA400004D1400000201F800001075360A +:10BE300059BC00EA8C000510040007FE59BE60E002 +:10BE4000813261C0020008000010032E5930000446 +:10BE50008C0005200400001182000500FFFEFEFF9B +:10BE6000480260045932481C0201F80000107D2885 +:10BE70005C0228005C0348005C03A0005C03200017 +:10BE80005C0248005C01A0005C0268005C02580093 +:10BE90005C0260001C01F000840005104802600490 +:10BEA0005C0228005C0348005C03A0005C032000E7 +:10BEB0005C0248005C01A0005C0268005C02580063 +:10BEC0005C0260001C01F0000201F8000010032E6B +:10BED0004D3000004D380000420000000010D084BA +:10BEE0000201F8000010C0580401FEC7598E600F0F +:10BEF00059C400048C000506040000040401F95F25 +:10BF00004A03880400000008813261C00400000771 +:10BF10000201F800001075304202700000000014A9 +:10BF20000201F80000020BC54A0378E40000000299 +:10BF30005C0270005C0260000401F6A04D18000075 +:10BF40004D3000004D3800004D9000004DD00000F5 +:10BF50004DA400004D1400000401FEAB417A3000F6 +:10BF600059C4080483180400001074E05000000055 +:10BF7000800405000400001C420000000010D08571 +:10BF80000201F8000010C0580201F80000107536D8 +:10BF9000599260040401F8D583180400001074E07D +:10BFA0005000000048038804813261C00400000A88 +:10BFB000593000048C00050C040200034A0262039D +:10BFC00000000003420270000000004A0201F80075 +:10BFD00000020BC559C400048200050000F80000EF +:10BFE00004000005811A3000831804800000000559 +:10BFF000040017DC4A0378E4000000085C02280013 +:10C000005C0348005C03A0005C0320005C0270003D +:10C010005C0260005C0230000401F66859300004E4 +:10C020008C000538040200665930022282000500A7 +:10C03000000000038200058000000001040200608F +:10C04000420000000010D0B90201F8000010C058F2 +:10C050000401FE6D4DF000004C6400000401F8A3E3 +:10C060000401FD995930C8048464CD7859D0001179 +:10C0700059D020124803C8574813C8570401FBEA97 +:10C0800004020041481660124C1000004C5C000095 +:10C090004C6000004A02620300000002592C0A05AD +:10C0A00082040D00000000FF820405800000007281 +:10C0B000040200054A02620300000003592C000E2E +:10C0C000801024804010B8004014C00042000000DE +:10C0D000000000011201F80000108EDE4060280010 +:10C0E0005C00C0005C00B8005C002000040000267A +:10C0F00042000000D0000000413008000201F800BA +:10C10000001008D2593000084C0000004A026008B4 +:10C11000002000000201F80000100F365C00000053 +:10C1200048026008040200188464CD26592C0209D4 +:10C130008C00051E0402000C8464CD4A50201800B7 +:10C14000480E600B8464CD7E486660040401FBEBFE +:10C150005C00C8005C03E00004000E18800005804D +:10C160001C01F0008400051E48025A090201F80073 +:10C1700000100EF44832600C4822600D482A600E10 +:10C180000401F7EF420000000010D0BA0201F800ED +:10C190000010C0584A026203000000034933200423 +:10C1A0008464CD7E486660044A03200100000001DB +:10C1B0005C00C8005C03E00004000E008200054043 +:10C1C000000000010401F7E74D2C00004D34000091 +:10C1D0005932680A598C0800820405800000000466 +:10C1E00004020006838C140000000005838C1C00F0 +:10C1F000000000040401F01082040580000000012A +:10C2000004020006838C140000000009838C1C00CB +:10C21000000000080401F00882040580000000020C +:10C2200004020028838C14000000000B838C1C0087 +:10C230000000000A413068005834000080007D4052 +:10C2400004000020583C000A8134058004020006E6 +:10C25000403C6800583C000080007D40040207FA22 +:10C260000401F0184933C857483FC857583C0000EC +:10C270004800680049307800443C1000500C000031 +:10C28000803C0580040200024434180080000580D0 +:10C290004803180F48031811598C000082000580CC +:10C2A00000000003040000034A031800000000001F +:10C2B000800005805C0268005C0258001C01F000F0 +:10C2C00082000540000000010401F7FB0401F807AB +:10C2D00042018800000000000400000342018800C1 +:10C2E000000000011C01F000491BC85759B400F6BA +:10C2F0008200050000000038040207FD59C808400C +:10C3000082040540000000104803904059C4100802 +:10C310004C0400004C08000082081500FFFFFF7F5E +:10C32000480B88080401FBF9040200070401FBFD27 +:10C3300004000024480388040201F80000100EC025 +:10C340000401F0444A0388030000000859C40003B4 +:10C350008200050000000003040007FD8C000502B8 +:10C36000040200070401FBEF0400001648038804E0 +:10C370000201F80000100EC00401F0360401FBEFCA +:10C380000402000759C800408400056A4803904031 +:10C3900059C800408C00052A040207FE59C4000554 +:10C3A00082000500C00000000400000659C400A37C +:10C3B00084000540480388A34A038805C0000000A4 +:10C3C0000201F80000100E514A03A00530000000E1 +:10C3D00059D000064A03A00530000000599000061D +:10C3E00082000500FFFF00004803200659D0000529 +:10C3F0008C000504040207FE4200080000007600DD +:10C400008318054060000000480008A1811800DC86 +:10C4100059C8084080040540480390408200054008 +:10C42000000030004803904059C8004082000500D9 +:10C4300000003000040207FD0201F80000100EAFFA +:10C4400083180400001074E05000000048038804C2 +:10C45000800005804DF000000201F80000106665C4 +:10C460005C03E0005C0010005C000800480B8808DA +:10C47000480790401C01F0004803C85659B400F624 +:10C480008200050000000038040207FD59C808407A +:10C4900082040540000000104803904059C4100871 +:10C4A0004C0400004C08000082081500FFFFFF7FCD +:10C4B000480B880859C400048200050000000003EE +:10C4C0000402001059C40004820005000000000CA2 +:10C4D000040000054A0388040000000C8C000504D9 +:10C4E0000401F02559C800408400056E48039040BF +:10C4F00059C800408C00052E040207FE0401F01EFE +:10C500004A0388030000000859C4000382000500A4 +:10C5100000000003040007FD8C0005020402000671 +:10C5200059C400044A0388040000000C8C00050470 +:10C530000401F01159C800408400056A4803904086 +:10C5400059C800408C00052A040207FE59C40005A2 +:10C5500082000500C00000000400000759C400A3C9 +:10C5600084000540480388A34A038805C0000000F2 +:10C5700080000580497B28075C0010005C000800F3 +:10C58000480B8808480790401C01F0000401F80798 +:10C5900042018800000000010400000342018800FD +:10C5A000000000001C01F0005C0000004C000000D6 +:10C5B0004803C857491BC8574933C8574D90000016 +:10C5C0004DD000004DA400004D1400000401FD0EEC +:10C5D0004DF000000401FBC159900004800001C02F +:10C5E00004000011813005800402000F593000045E +:10C5F00084000520480260040401FF3C0402000995 +:10C600005C03E00004000CED800005805C02280063 +:10C610005C0348005C03A0005C0320001C01F000E8 +:10C620000401FC2942027000000000495930000456 +:10C6300084000520480260048C00050C02020800FA +:10C6400000020BC55C03E00004000CDC8200054026 +:10C65000000000015C0228005C0348005C03A000AD +:10C660005C0320001C01F0000401F807420188006F +:10C6700000000001040000034201880000000000E7 +:10C680001C01F0004933C8570401FCDF4DF00000E5 +:10C69000598C000F800265400400001259300004DC +:10C6A00084000520480260040401FF7404000017A0 +:10C6B0000401FC2542027000000000135930000400 +:10C6C0008C00050C0202080000020BC55C03E000B0 +:10C6D00004000CBA82000540000000011C01F000BB +:10C6E000836C158000000001040007F9836C15803D +:10C6F00000000004040007F642001000001041573B +:10C700000201F8000010653C5C03E00004000CAB83 +:10C71000800005801C01F0004D3000004D18000025 +:10C720004D3C00000401FCB84DF000004A0378E4E1 +:10C730000000000F0401FB41417A3000811808C855 +:10C7400082040C000000BF3258066004813261C0D0 +:10C7500004000010417A78000201F80000104994AA +:10C760000400000A59300C07820405800000000311 +:10C770000400000482040580000000060402000397 +:10C7800042027800000000020201F80000109488C4 +:10C79000811A30008318048000000005040017E8A7 +:10C7A00042000800000000400201F800001012F3EF +:10C7B0004A0378E40000000A5C03E00004000C7FF8 +:10C7C0005C0278005C0230005C0260001C01F0003A +:10C7D0004803C8564D3000000401FC8B4DF00000AA +:10C7E00059C8084084040D748204054000000010FC +:10C7F0004803904059C410084C0400004C08000045 +:10C8000082081500FFFFFF7F480B880842001000D8 +:10C81000000000030401FAFC598E600F813261C0F0 +:10C8200004020F9904000B05497B28070401F8094D +:10C830005C0010005C000800480B88084807904026 +:10C840005C03E00004000C5D5C0260001C01F00071 +:10C850004D3800004D1800004D3000004D90000094 +:10C860004DD000004DA400004D140000417A30006E +:10C870000201F80000106665811A300083180580F7 +:10C8800000000005040207FB0401FAD404020009B9 +:10C890005C0228005C0348005C03A0005C032000ED +:10C8A0005C0260005C0230005C0270001C01F00061 +:10C8B0000401FB0A599260044933C8570401FE8BF6 +:10C8C000813261C0040007F3420270000000004A98 +:10C8D0004A026203000000030201F80000020BC5D7 +:10C8E0000401F7EC4D3000004D1800004D900000A1 +:10C8F0000401FC454200100000000000598C0800B3 +:10C900008204058000000005040000038204058005 +:10C910000000000804000ABC417A3000811B20C8D6 +:10C92000839324000000BF325990000182000580EB +:10C93000000000010402000D420008000000000495 +:10C94000599260045930001282000500FFF0000087 +:10C950008000054004000003420008000000000EB3 +:10C960000201F80000106642811A3000831804802A +:10C9700000000005040017EA59C810408408153467 +:10C98000480B90400401FC0D5C0320005C02300069 +:10C990005C0260001C01F0004933C8574D90000054 +:10C9A0004DD000004DA400004D1400004D38000093 +:10C9B0000401FC154DF00000593000048C00053EC8 +:10C9C000040200078C000520040000270201F80083 +:10C9D00000106D8C040000240401F02D598C000F10 +:10C9E00081300580040000120201F800001095B5A6 +:10C9F000040200270401FA4B0400002548038804C0 +:10CA00000401FAB60201F80000100EC00201F8009D +:10CA100000106DB14202700000000049593000045E +:10CA20008C00050C0402000E0401F00F59C4000430 +:10CA30008C000504040000164A038804000000046A +:10CA40000201F80000106DD14202700000000013D6 +:10CA5000593000048C00050C040000030201F800AA +:10CA600000020BC55C03E0000200080000106E6EBF +:10CA70005C0270005C0228005C0348005C03A000BC +:10CA80005C032000800005801C01F0005C03E000D6 +:10CA90000200080000106E6E5C0270005C0228004C +:10CAA0005C0348005C03A0005C032000820005409A +:10CAB000000000011C01F0005930040782000580CD +:10CAC00000000003040200080201F80000109904AD +:10CAD0000400000559301009580804098400055065 +:10CAE000480014091C01F000497B28070201F800E6 +:10CAF00000106E8159C400AF800001C0040200051F +:10CB00000201F80000106E6E0201F000001014E93E +:10CB1000598C0011820014800000000204021007EA +:10CB20008000000048031811800005800201F80011 +:10CB30000010663B040000110401FED30402000F44 +:10CB40000401FFDE420000000010D03C0201F800AA +:10CB50000010C0580401FD9D040000080401FA59AA +:10CB60004D38000042027000000000140201F8007D +:10CB700000020BC55C0270000201F80000106E6E2E +:10CB80000201F000001014E94D9000004DD00000AB +:10CB90004DA400004D1400004D3000000201F800CB +:10CBA000001066650201F80000106E8159C400AFE4 +:10CBB000800001C00400002B0401FA48599260046F +:10CBC0004933C857593000048C0005160400000C86 +:10CBD0000401FE76040200230201F80000106DB18A +:10CBE0000201F80000106E6E420008008000080488 +:10CBF0000201F80000020B340401F01A4200180090 +:10CC0000000075300401F9E9040200040201F80093 +:10CC1000001066400401F0130401FE6404020011D8 +:10CC20000401FFA6420000000010D03D0201F80000 +:10CC30000010C058593000048C00050C0402000399 +:10CC40004A026203000000034D38000042027000F7 +:10CC50000000004A0201F80000020BC55C027000EF +:10CC60000201F80000106E6E5C0260005C02280099 +:10CC70005C0348005C03A0005C0320000201F0009C +:10CC8000001014E94C6000004D9000004DD00000F1 +:10CC90004DA400004D1400004D3000004D2C00004C +:10CCA0000201F80000106E810401FA0C5992600430 +:10CCB000813261C0040000910201F800001051555A +:10CCC000040200074178C0000201F80000107E90C5 +:10CCD000040000034200C000000000014200000008 +:10CCE0000000100050000000820004802432000187 +:10CCF000040010380201F80000100E5159303004C1 +:10CD00008C1835360400002F42003000000010005F +:10CD100080183040040000140201F8000010C17BAC +:10CD2000040007FC0201F800001006544200300025 +:10CD300000007A1550183800821C050000007000B1 +:10CD4000040000094803507A821C0500FFFF8FFF92 +:10CD5000440030004A032832000004B04A0378E45B +:10CD600002C000004A030000000000000201F800B9 +:10CD700000100EAF850E1D2E420000000010D0B72F +:10CD80000201F8000010C05859325809812E59C0CC +:10CD9000020008000010032E0401F861040000578F +:10CDA0005930300484183536481A60040401F032D2 +:10CDB0000201F800001066520400002C0401F04F3C +:10CDC0000201F80000100EAF8D0E1D2E040207F9AF +:10CDD0000201F80000105155040200068060C1C035 +:10CDE000040000040201F80000107EBA0401F043C0 +:10CDF0000201F80000106652040200404933C8578F +:10CE00000401F94E040200190201F80000106665E1 +:10CE1000813261C00400003959325809812E59C04D +:10CE2000020008000010032E0201F8000010515506 +:10CE30000402002259C400934803C857800001C06F +:10CE40000402000A592C02098400055048025A09BC +:10CE50000201F8000010528104020028592C020936 +:10CE60008400051048025A090201F80000106640CB +:10CE70000401F022420000000010D03D0201F80041 +:10CE80000010C0580401FD19592C020984000550F6 +:10CE900048025A094D380000420270000000004A62 +:10CEA0004A026203000000030201F80000020BC501 +:10CEB0005C0270000401F011599000068200050028 +:10CEC000FFFF0000040207EC59C408AF820404808D +:10CED000000003E8040217E85990000682000400ED +:10CEE00000010000480320060201F800001066401F +:10CEF0000201F800001041305C0258005C02600042 +:10CF00005C0228005C0348005C03A0005C03200076 +:10CF10005C00C0000201F00000106E6E4C5C00006E +:10CF20004C6400005930BC075930C804825C05804D +:10CF30000000000304000004825C0580000000067D +:10CF4000040200310201F800001049940402002E8E +:10CF50008C64CD0E0402002C0401FCE40201F800F4 +:10CF600000106DB1825C0580000000030402000522 +:10CF70008C64CD160400000C8464CD360401F01BD3 +:10CF8000826405000000001F82000580000000058B +:10CF9000040000050201F800000201728464CD4A19 +:10CFA0000401F7F60401F820040200174816601285 +:10CFB0000201F80000100F36040200138264CD0055 +:10CFC000FFF7FFDF592C02098C00051E0402001137 +:10CFD0008464CD4A50201800480E600B4832600C23 +:10CFE0004822600D482A600E8464CD7E4866600445 +:10CFF0000401F842800005805C00C8005C00B800B5 +:10D000001C01F00082000540000000010401F7FB54 +:10D010008400051E48025A090201F80000100EF4AF +:10D020000401F7ED59302013811808C282040C0066 +:10D03000000060005804010182000500FFFF0000AD +:10D04000800001C00400000B811808CA82040C0093 +:10D0500000006000580401385804213981A41000F0 +:10D0600058081403800810E080081540480A601B27 +:10D0700059300013801004800400101D8C64CD0E04 +:10D080000400000C40101000417808004C00000023 +:10D09000593002234C1000000201F80000106CDD32 +:10D0A0005C0020005C000000800409C00402001045 +:10D0B0005990280859303016801404800400100C50 +:10D0C00040002800801804800400100948026016FF +:10D0D0008464CD36593000148010058004000003AC +:10D0E0008464CD76800005801C01F000820005403C +:10D0F000000000011C01F00059BC00EA820005009C +:10D100000000000782000580000000010200080006 +:10D110000010032E5930080A5804100C480BC85749 +:10D12000800811C0040200034930080C0401F01B00 +:10D1300059BC103140081800800811C002000800D6 +:10D140000010032E5808000A800405800400000423 +:10D1500040081800580810000401F7F8580820008B +:10D1600049781000480A6001400C000080080580E2 +:10D17000040200064933783148126000801021C053 +:10D180000402000D0401F00B48101800801021C0AB +:10D1900004020002480F783059BC08314807C857CC +:10D1A0004806600049337831800409C00402000257 +:10D1B000493378301C01F0004D3000004D2C000048 +:10D1C0000201F80000106E81598E600F4933C85774 +:10D1D000813261C00400004959C41004480BC8578B +:10D1E0008C0815000400000A0201F80000105155D7 +:10D1F000040200150201F800001052810402003FF1 +:10D200000201F8000010663B0401F03C82080500B2 +:10D21000000001FE040207FB59C8010B4803C85770 +:10D220008C000500040007F7420000000010D086C3 +:10D230000201F8000010C0580401FD130400087F2B +:10D240000401F02E598C00118000054004020011E9 +:10D2500059C408AF82040480000003E80402100DE2 +:10D26000598C081180040800480718110201F800C1 +:10D270000010663B420000000010CF7B0201F80066 +:10D280000010C0580201F800001041300401F01BEA +:10D29000420000000010D03C0201F8000010C0580D +:10D2A0000401FC76813261C0040200030401F863CA +:10D2B0000401F012593004078200058000000003C9 +:10D2C0000402000759325809812E59C00400000495 +:10D2D000592C02098400055048025A090401F879C2 +:10D2E0004D38000042027000000000140201F800F6 +:10D2F00000020BC55C0270005C0258005C0260001A +:10D300000201F00000106E6E59C408048318040076 +:10D31000001074D650000000800405001C01F000CD +:10D3200059C4080483180400001074DB5000000086 +:10D33000800405001C01F00059C8084082040D005B +:10D34000000E000083180400001074E55000000077 +:10D35000800405801C01F000000002100000042081 +:10D360000000084000001080000021000000400084 +:10D370000000800000010000000200000004000026 +:10D380000008000000100000002000000040000025 +:10D390000080000000000000000200000004000007 +:10D3A00000060000000800005990080680040120D3 +:10D3B000800C04800402100482000540000000017B +:10D3C0000401F00582040C0000010000480720065B +:10D3D000800005801C01F000417A30000401FFD775 +:10D3E00004000006811A3000831805800000000543 +:10D3F000040207FB1C01F000817800801C01F00092 +:10D4000040681000480BC8570201F80000106E81F8 +:10D410004DF00000598C080082040D8000000007C8 +:10D4200004000002480B18005C03E0000200080042 +:10D4300000106E6E1C01F0004803C8560201F8008F +:10D4400000106E814DF00000497B180F497B1803D6 +:10D45000497B1810497B1811497B1812598C000020 +:10D4600082000580000000030400001259A8007823 +:10D470008C00053E0400000759BC00E48C00053414 +:10D48000040000044A031800000000080401F00929 +:10D49000836C058000000002040200044A031800A7 +:10D4A000000000050401F0034A031800000000001A +:10D4B0005C03E0000200080000106E6E1C01F0002A +:10D4C000593000048C00050C040200034A02620378 +:10D4D000000000011C01F00083180480000000051A +:10D4E000020218000010032E491BC857811B20C8D8 +:10D4F000839324000000BF32811BA0CA83D3A40001 +:10D50000000076008318040000107548500348009E +:10D51000811A28C283162C00000061001C01F00053 +:10D520000010CEB50010CECC0010CEE30010CEFA25 +:10D530000010CF114933C8575930040782000C80BE +:10D540000000001404021017040110000C01F00187 +:10D55000001075680010760D00107998001079F2AF +:10D560000010760D00107998001079F2001075689F +:10D570000010760D00107568001075680010756851 +:10D5800000107568001075680010756800107568E7 +:10D590000010756F0010756F0010BB5A0010BC2989 +:10D5A0004803C8570201F80000106E810201F8001C +:10D5B00000106DD10201F00000106E6E42001000EC +:10D5C0000010CF5B500810004930100B58080002C3 +:10D5D00082000580000001000402003C5932580915 +:10D5E000812E59C0020008000010032E492FC85692 +:10D5F0005932680A833405800010E33E040000239A +:10D60000592C040C820005000000E0000400000416 +:10D610000201F800001079910401F0020401FBFC02 +:10D62000592C000E820005000000000304000007D2 +:10D6300082000580000000038000000058D008022E +:10D64000800405404801A002420010000010CF5B9A +:10D65000500810004930100A492C100982D00400EB +:10D660000000000648001003592C000E4800100569 +:10D67000592C000F48001006592C001048001007C4 +:10D680000201F00000020016592C080B480668023F +:10D690008204050000FFFF0004000007497A6A12B7 +:10D6A00059A8100F8208150000FFFF0080080580B0 +:10D6B000040207D482040D00000000FF800408D09B +:10D6C00048066A120401F7CF1C01F0004D2C00003F +:10D6D0004D3000004C5800004C5400004C500000ED +:10D6E00058325809812E59C0020008000010032E3C +:10D6F0005830000282000580000001000402002270 +:10D700005830000A5832600B81300D80040200123C +:10D710000401F83404020016592C080E82040C008F +:10D7200000000003800409044004B0004200A0008F +:10D730000010CCA54050A8000201F8000010C1550F +:10D74000420010000000DC000201F80000107DA77C +:10D750000401F0074803C8574933C857813261C0F4 +:10D76000040000030401F81F04000F955C00A000F2 +:10D770005C00A8005C00B0005C0260005C02580025 +:10D780001C01F0005830000A5832600B4A00600259 +:10D79000000001004803C8574933C85781300D8045 +:10D7A000040207ED0401F80F040207F14803C8570B +:10D7B0000201F800001102D680C4004002020800F5 +:10D7C0000010032E4A025A07000000020201F8006E +:10D7D000000203F10201F80000107EFF0401F7E4EB +:10D7E0000201F80000106E814DF00000598C000F0E +:10D7F0008130058004020009598C000581300580C4 +:10D80000040200065C03E0000200080000106E6ED7 +:10D81000800005801C01F0004803C8575C03E0004D +:10D820000200080000106E6E82000540000000013A +:10D830001C01F0005930040382000C8000000058E5 +:10D84000020218000010032E83340D800010E33E06 +:10D850000402000A593008274806680282041500AD +:10D8600000FFFF0004020004800408D048066A128A +:10D870000401F002497A6A124803C8570C01F0010A +:10D88000001077A1001077BF001077D1001078EB5F +:10D89000001078AD001078B1001078C0001078D476 +:10D8A000001078C9001078D400107915001078D4D1 +:10D8B0000010795D001078D40010796B001078D4D6 +:10D8C000001078C9001078D40010796F00107680AD +:10D8D0000010768000107680001076800010768030 +:10D8E0000010768000107680001076800010768020 +:10D8F000001076800010768000107A1000107A28D0 +:10D9000000107A320010768000107A4B001078C038 +:10D9100000107680001078C0001078D40010768057 +:10D92000001077D1001078EB0010768000107A9B01 +:10D93000001078D40010768000107AAB001078D4F4 +:10D9400000107680001078C900107792001076825F +:10D950000010768000107AC200107B0200107B88D5 +:10D960000010768000107B98001078BE00107B8B32 +:10D970000010768000107A5700107BE70010768048 +:10D9800000107C1C00107C700010768000107697D0 +:10D990000010770B0010771800107680001078C008 +:10D9A00000107680001077580010776300107680A2 +:10D9B00000107680001076AB001076DE00107CB090 +:10D9C00000107CF100107D18001076800010768029 +:10D9D0000010768000107CE500107BB100107AC248 +:10D9E000001076800010768000107680001076801F +:10D9F000001076800010768000107680001076800F +:10DA00000201F8000010032E0401FB0159325809ED +:10DA1000592C000A4801A006592C000B4801A00708 +:10DA2000592C000C4801A008592C000D4801A009F0 +:10DA3000592C000E4801A00A4979A00B592C080A5C +:10DA400082040D0000000FFF800409044200100052 +:10DA50000000DC000201F00000107DA74A02620213 +:10DA60000000FFFF0401FAEA4D2C00004A01A00665 +:10DA70000500000059325809592C000A4801A00736 +:10DA8000592C000B4801A008592C000C4801A00992 +:10DA90005C02580042000800000000044200100030 +:10DAA0000000DC000201F00000107DA74C580000CF +:10DAB0004C5000004C5400004D2C00000401FAD4DE +:10DAC0005930040B82000500000000030400000729 +:10DAD00082000580000000038000000058D008028A +:10DAE000800405404801A002593258094200A800AC +:10DAF0000010CCA5592CB2068258B40000000003D7 +:10DB00008058B104832CA400000000070201F80033 +:10DB10000010C12B405800008054AC00592C00016B +:10DB20008000054004000003400258000401F7F2A1 +:10DB30004200A0000010CCA54050A8005930B40B02 +:10DB40008258B400000000038058B1044058080017 +:10DB50000201F8000010C155420010000000DC0076 +:10DB60005C0258005C00A8005C00A0005C00B000F3 +:10DB70000201F00000107DA74C5800004C5000003E +:10DB80004C5400004D2C0000420348000010CC9E75 +:10DB90000401FAAD59325809592C08024807C857F0 +:10DBA00040041000800409048208150000000003EE +:10DBB00004000008800408008208158000000003AB +:10DBC0008008100058D00002800805404801A002DB +:10DBD0004A0258060200000082D0AC000000000695 +:10DBE000592CB011832CA400000000060201F8009B +:10DBF0000010C12B405800008054AC00592E580131 +:10DC000041780000812E5D40040207F642001000BA +:10DC10000000DC005C0258005C00A8005C00A00072 +:10DC20005C00B0000201F00000107DA70401FA784A +:10DC30004A01A006780000005930001D840001C090 +:10DC40004801A4074979A207420008000000000229 +:10DC5000420010000000DC000201F00000107DA76F +:10DC60004C5800004C5400004C5000000401FA765F +:10DC70004A01A006020000005932481C5924000144 +:10DC80004801A008592400024801A00959240003B2 +:10DC90004801A00A592400044801A00B5930001D76 +:10DCA00082000D800000E0000400001282000D8060 +:10DCB0000000DF00040000064A01A4070000001075 +:10DCC00042000800000000060401F01F4200180096 +:10DCD0000010CC460201F80000100533420000009D +:10DCE0000000DF004200A0000010CC460401F00953 +:10DCF000420018000010CC530201F8000010053358 +:10DD0000420000000000E0004200A0000010CC53E0 +:10DD100082000540000000104801A4074A01A20744 +:10DD2000000000344200B0000000000D82D0AC00C2 +:10DD30000000000C0201F8000010C12B4200080096 +:10DD400000000013420010000000DC005C00A00096 +:10DD50005C00A8005C00B0000201F00000107DA78C +:10DD60000401FA2B4A01A006630000285930001D67 +:10DD70004801A00742000800000000024200100015 +:10DD80000000DC000201F00000107DA70401FA2E63 +:10DD9000417800004178080042002000000800009F +:10DDA0000C01F81B800000008004080042001000F5 +:10DDB0000000000C598418028C0C1D00040200089D +:10DDC00042002000000500000C01F8118000000056 +:10DDD0008004080082081400000000048208054046 +:10DDE000020000004801A006800408E05930001D30 +:10DDF000800405404801A007800809044200100083 +:10DE00000000DC000201F00000107DA70010778800 +:10DE10000010778A0010778C0010778E00107790B2 +:10DE20004811A0081C01F0004811A0091C01F000D5 +:10DE30004811A00A1C01F0004811A00B1C01F000C1 +:10DE40004811A00C1C01F0004A02600A0010E33ED9 +:10DE500059A8000F82000500000000FF800000D0DC +:10DE6000420268000010E33E48026A120401FA4AC6 +:10DE7000417808004200100000005C000201F00040 +:10DE800000107DA70401F9E24A01A006520000003B +:10DE90004979A0075932481C592404008200050022 +:10DEA0000000000304000006592404008000011053 +:10DEB0000201F800001015D54805A00759240001FB +:10DEC0004801A008592400024801A0095924000370 +:10DED0004801A00A592400044801A00B5924000558 +:10DEE0004801A00C4200080000000007420010009A +:10DEF0000000DC000201F00000107DA74A0262026F +:10DF00000000FFFF0401F9C24A01A006050000005D +:10DF10005932481C592400054801A0075924000122 +:10DF2000592408024801A0084805A0094200080039 +:10DF300000000004420010000000DC000201F000BC +:10DF400000107DA74A0262020000FFFF0401F9B041 +:10DF50004D3C0000417A78000201F800001049E4CD +:10DF60005C0278004A01A006030000005934040353 +:10DF700082000580000007FE040200814A01A0061D +:10DF80000400000059A8021B8C00050604000004D0 +:10DF90005930081C580404084801A00181A4080055 +:10DFA0004A00080022FFFFFE5934000A84000500E1 +:10DFB0004802680A59A8021B8C00050804000010DA +:10DFC00059A8001F4801A00759A800208200050099 +:10DFD00007DEFFFF599C08188C040D160400000290 +:10DFE0008400056A4801A0084A01A0090000271022 +:10DFF00059A800224801A00A0401F04959A8001FAD +:10E0000059A8121B8C0815060400000382000500A5 +:10E01000FFFF00004801A0070201F8000010515561 +:10E020000402001359A808788C040D3E0402001065 +:10E0300059300C0382041580000000510400000CCC +:10E04000497B8880820005000000FFFF4C00000033 +:10E050000201F800001016075C00000048038880E9 +:10E06000417808000201F80000101C0159A80020A6 +:10E070000201F8000010515504020006820005005C +:10E08000B7FFFFFF82000540800000000401F0039D +:10E09000820005003FFFFFFF599C08188C040D16F5 +:10E0A000040000028400056A8D0E1D100400001992 +:10E0B00059300C0382041580000000510400001543 +:10E0C0008204158000000031040000124C5800004A +:10E0D0004C5000004C5400004200B000000000040E +:10E0E0004200A0000010D0CD82D0AC000000001F84 +:10E0F0004C0000000201F8000010C12B5C00000081 +:10E100005C00A8005C00A0005C00B0008400057A00 +:10E110004801A0084979A0094979A00A59240001B9 +:10E12000592408024801A00B4805A00C59240003FB +:10E13000592408044801A00D4805A00E4979A00FF4 +:10E140004979A0104979A0114979A0124979A01301 +:10E150004979A0144979A0154979A01659A8002336 +:10E16000840005764801A01759A800244801A0188A +:10E170004979A0194979A01A0401F04959A8021B4C +:10E180008C0005080400000D59A8001F820005003E +:10E190000000FFFF59C4088080040D8004000007C0 +:10E1A000497B88804C0000000201F800001016072F +:10E1B0005C0000004803888059A8001F4801A007A0 +:10E1C0004C6400004D2C000059A8C8200201F80042 +:10E1D000001099040400000E0201F80000109FBD19 +:10E1E0000402000B592C02088C00050E04000008E4 +:10E1F0008264CD000000FFFF592C000A8200050058 +:10E20000FFFF00008064CD400401F00659A80A1BFE +:10E2100082040D0000000030040000028464CD364A +:10E220004865A0085C0258005C00C80059A800219D +:10E230004801A00959A800224801A00A5924000158 +:10E24000592408024801A00B4805A00C59240003DA +:10E25000592408044801A00D4805A00E4979A00FD3 +:10E260004979A0104979A0114979A0124979A013E0 +:10E270004979A0144979A0154979A01659A8002315 +:10E280004801A01759A800244801A01859A8002542 +:10E290004801A01959A800264801A01A4200080008 +:10E2A0000000001D420010000000DC000201F00030 +:10E2B00000107DA70401F8D64A01A0065000000016 +:10E2C0000401F7AF0401F8D24A01A006211000149E +:10E2D0004979A0074979A0084979A0094979A00A94 +:10E2E0004200080000000005420010000000DC00B1 +:10E2F0000201F00000107DA70401F8CC0401F00237 +:10E300000401F8D14A01A006020000004200080002 +:10E3100000000001420010000000DC000201F000DB +:10E3200000107DA70401F8C84A01A0060200000001 +:10E330005930040382000580000000310402079078 +:10E3400081A408004A00080100FFFFFE0401F71A3B +:10E350000401F8BD4A01A006010000005930041B69 +:10E3600080000540040000034801A4070401F003F5 +:10E370004A01A407000000035930021B8000054039 +:10E38000040000034801A2070401F0034A01A207A8 +:10E3900000002A00420008000000000242001000B5 +:10E3A0000000DC000201F00000107DA74A026202BA +:10E3B0000000FFFF0401F8964A01A40600002010A7 +:10E3C0004A01A206000000144A01A4070000080048 +:10E3D0004A01A207000020004200000000000400E3 +:10E3E00059A808078C040D0C040000028000058069 +:10E3F0005932481C59240C008C040D0804000005F7 +:10E4000082000540000000208C040D0A0402000375 +:10E41000820005400000001082000540000000025C +:10E420005934080A8C040D140400000582040D0000 +:10E4300000000380800405400401F006599C081880 +:10E440008C040D18040000038200054000000380C6 +:10E450000401F0420401F87C4A01A4060000021005 +:10E460004A01A206000000144A01A40700000800A7 +:10E470005934000A8C0005160400001459340C05A8 +:10E4800082040500000000300400001359340A051E +:10E49000820405000000C000040200098C040D1A6B +:10E4A000040000044A01A207000021000401F00C4E +:10E4B0004A01A207000001000401F0094A01A20775 +:10E4C000000004000401F0064A01A2070000070052 +:10E4D0000401F0034A01A207000008004200000006 +:10E4E0000000040059A808078C040D0C0400000269 +:10E4F000800005805932481C59240C008C040D08FA +:10E500000400000582000540000000208C040D0A74 +:10E510000402000382000540000000108200054054 +:10E520000000000259340A008C040D0E0400000B98 +:10E5300084000550599C10178C08150A0402000429 +:10E540008C040D0A040000028400054E8C040D1C8E +:10E5500004000002840005524801A20A420008009B +:10E5600000000005420010000000DC000201F00085 +:10E5700000107DA70401F8344A01A006021000141F +:10E580004A01A007000001004979A0084979A009C3 +:10E590004979A00A4200080000000005420010006E +:10E5A0000000DC000201F00000107DA70401F82645 +:10E5B0004A01A006020000000401F6364933C8579C +:10E5C0000401F8214A01A006010000004A01A40745 +:10E5D0000000000B42000800000000024200100092 +:10E5E0000000DC000201F00000107DA74200500096 +:10E5F00032000000420060000829000041786800F5 +:10E60000417878000201F00000107D814200500046 +:10E6100022000000420060000129000041786800EB +:10E62000417878000401F3F8420050003300000004 +:10E630004200600008980000417868004178780046 +:10E640000401F3F14200500023000000420060008A +:10E650000198000041786800417878000401F3EAED +:10E660005930040382000C8000000085020018006D +:10E670000010032E82000C8000000093020218009C +:10E680000010032E82000480000000850C01F001C0 +:10E69000001079B2001079B2001079B2001079B28E +:10E6A000001079B2001079B2001079B2001079B27E +:10E6B000001079B2001079B2001079B2001079B26E +:10E6C000001079B2001079B40201F8000010032E96 +:10E6D0004D2C0000593258094933C857492FC857A3 +:10E6E000812E59C0020008000010032E59340A126E +:10E6F00082040D000000FF00592C000B8200050071 +:10E70000000000FF900001C0800405408200054029 +:10E71000000000114403480081A5A0004200100041 +:10E72000000000094200080000000003592C000A04 +:10E7300082000500FF00000082001D8084000000B0 +:10E740000400000982001D8085000000020208000C +:10E750000010032E420010000000000742000800D5 +:10E7600000000001832C1C000000000A500C000077 +:10E770004401A000800C180080D1A0008008104047 +:10E78000040207FB420010000000DC005C0258009D +:10E790000401F3C342005000810000004200600009 +:10E7A000000900004178680041787800593014076A +:10E7B000820815800000000504020003420060008A +:10E7C000008900000401F3905930040382000C809A +:10E7D00000000053020218000010032E8200048083 +:10E7E0000000004B020018000010032E5932680A86 +:10E7F00059368C034803C8570C01F00100107A7297 +:10E8000000107A7A00107A8200107A8A00107A0753 +:10E8100000107A0700107A0700107A6A0201F800E7 +:10E820000010032E4200500006000000420060006D +:10E830000829000041786800417878000401F372EB +:10E840004933C8570401FF724A01A00612000000B4 +:10E850005930040782000580000000040402000310 +:10E86000593400020401F0035932481C59240005B0 +:10E870008200050000FFFFFF4801A0075930041A7D +:10E880004801A4085930021A4801A20842000800B1 +:10E8900000000003420010000000DC000401F380CF +:10E8A0000401FF5B4A01A0060F0000005930001D63 +:10E8B0004801A007420008000000000242001000CA +:10E8C0000000DC000401F3760401FF5F4A01A006AA +:10E8D0000200000059C400855988080480040C0017 +:10E8E00048071004497B8885598800004801A00723 +:10E8F000598800014801A008598800024801A00970 +:10E90000598800034801A00A598800044801A00B57 +:10E91000598800054801A00C4200080000000007CB +:10E92000420010000000DC000401F35D4A026202B4 +:10E930000000FFFF0401FF364A01A006620000004C +:10E940005930001D4801A0074200080000000002E5 +:10E95000420010000000DC000401F3510401FF2C10 +:10E96000593008094C5000004C5400004C5800002D +:10E970008204A4000000000B5930B01D82D0AC000E +:10E98000000000060201F8000010C12B5930081DDC +:10E99000420010000000DC005C00B0005C00A80039 +:10E9A0005C00A0000401F33E0401FF9F59300018F1 +:10E9B0004801A006593000194801A0074A01A008E3 +:10E9C000000010000401F0200401FF9759300018E6 +:10E9D0004801A006593000194801A0074A01A008C3 +:10E9E000000040000401F0180401FF8F59300018A6 +:10E9F0004801A006593000194801A0074A01A008A3 +:10EA0000000020000401F0100401FF8759300018B5 +:10EA10004801A006593000194801A0074A01A00882 +:10EA2000000004000401F0080401FF7F59300018C1 +:10EA30004801A006593000194801A0074A01A00862 +:10EA4000000002004979A0094979A00A4979A00B80 +:10EA50004979A00C4979A00D420008000000000887 +:10EA6000420010000000DC000401F30D0401FEF67A +:10EA70004A01A006020000144979A4074979A207B7 +:10EA800059A8002D4801A00859A8002E4801A00946 +:10EA90004A01A00A0004787842000800000000053E +:10EAA000420010000000DC000401F2FD0401FEE65B +:10EAB0004A01A006021400184A01A4070000080039 +:10EAC0005930001D82000D00FF000000900409C0B5 +:10EAD0004805A2078200050000FFFFFF4801A00AC9 +:10EAE0004979A4084979A2084979A4094979A20970 +:10EAF0004979A00B42000800000000064200100007 +:10EB00000000DC000401F2E64933C8574937C85712 +:10EB10004D1C000042000800000000350201F80012 +:10EB200000109D01040200260401FEB94A01A0065E +:10EB30001300000059323827593004038200058041 +:10EB40000000005704000005591C04158C00050244 +:10EB5000020008000010032E591C001A4801A005ED +:10EB6000591C040782000580000000030400000710 +:10EB70005930080A580400028200050000FFFFFF18 +:10EB80004801A0070401F0045932481C592400052B +:10EB90004801A0075930041A4801A4085930021A44 +:10EBA0004801A208420008000000000342001000D3 +:10EBB0000000DC005C0238000401F2B94803C856CA +:10EBC0000201F80000106E81598C000F8130058021 +:10EBD000020208000010032E0201F80000106DD19F +:10EBE000593004038200058000000057020008002D +:10EBF000001086FC0201F80000020BA15C02380044 +:10EC00000201F00000106E6E4803C8564D2C000043 +:10EC10004D1C000059323827811E39C002000800FF +:10EC20000010032E831C0580FFFFFFFF0400003D42 +:10EC3000591C0C0782040580000000060400000D2A +:10EC400082040580000000030400003B4A026403C4 +:10EC5000000000374A02641B000000034A02621BE6 +:10EC6000000017005C0238005C0258000401F06DDF +:10EC70000401F8504200100040000000591C02033B +:10EC8000591C08048C040D3E0402002382000C80F1 +:10EC90000000000E0C0010030201F8000010032E0B +:10ECA00000107B3900107B4500107B3B00107B453A +:10ECB00000107B4100107B3900107B3900107B4530 +:10ECC00000107B4500107B3900107B3900107B3928 +:10ECD00000107B3900107B3900107B4500107B3918 +:10ECE00000107B450201F8000010032E591C04158A +:10ECF0004803C8578C000518040000038C00051257 +:10ED000004000003800015800401F003420010009D +:10ED100020000000591C00164801A00A0401F01D43 +:10ED20000401F82442001000400000004178000077 +:10ED30000401F7FA0401F81F591E5809812E59C021 +:10ED4000020008000010032E592C1010591C00124C +:10ED5000800804804801A00A591C0203591C0804B9 +:10ED60008C040D3E0402000782000D8000000002AA +:10ED70000400000782000D8000000004040000046D +:10ED800042001000400000000401F00280001580E5 +:10ED90004809A00B420008000000000642001000D5 +:10EDA0000000DC005C0238005C0258000401F23C08 +:10EDB0004803C8560401FE244A01A00602000000D0 +:10EDC00059300C1A4805A40759300A1A4805A207F9 +:10EDD0005932481C592410055930080A58041802A1 +:10EDE000820C1D0000FFFFFF5930082782040580B8 +:10EDF000FFFFFFFF0400000858040407820005809D +:10EE000000000003040200044809A008480DA009FE +:10EE10000401F003480DA0084809A0091C01F000F6 +:10EE20004803C8560401FE080401F0034803C8560D +:10EE30000401FDFE4A01A006010000005930041B38 +:10EE40004801A4075930021B4801A20742000800EC +:10EE500000000002420010000000DC000401F2107B +:10EE60004803C8564D1C00000401FDE14A01A006FC +:10EE70001400000059323827591C001A4801A00517 +:10EE80005930041A4801A4075930021A4801A20750 +:10EE9000593000164801A0085930021782000500B9 +:10EEA000000000FF840001C04801A40942000800DE +:10EEB00000000004420010000000DC005C0238008A +:10EEC0000401F1F74803C8560401FDDF4A01A0061A +:10EED0000200000142001000E000000059A808787C +:10EEE0008C040D3E040000044200100020000000CD +:10EEF0000401F01059A800708C00050804000004FB +:10EF000082081500DFFFFFFF0401F00A59A8084737 +:10EF100082040D80013910770402000659E00813BD +:10EF20008C040D000400000382081500DFFFFFFFC2 +:10EF300059C4080182040D0000018000820405808C +:10EF40000000000042000000000080000400000DEE +:10EF500082040580000080004200000000004000A4 +:10EF60000400000882040580000100004200000047 +:10EF70000000200004000003420000000000000226 +:10EF8000800805404801A007420008000000000278 +:10EF9000420010000000DC000401F1C14803C85623 +:10EFA0000401F80B5930041B900001C04801A00572 +:10EFB0000401F9F8417808004200100000005C00EC +:10EFC0000401F9B70201F0000010663B4803C8567F +:10EFD0005930081882041C0000000006460348004F +:10EFE0000000002158040405820005000000F00024 +:10EFF0008200058000003000040000034603480042 +:10F000000000004181A5A000580C000182000D0005 +:10F0100000FFFFFF82040D40C20000004805A00071 +:10F02000580C08008204150000FFFFFF8200050055 +:10F03000FF000000800805404801A001580C0002B4 +:10F040008200058000C000008200050000FD030072 +:10F050004801A002580C00034801A003580C040406 +:10F060004801A404580C02044801A2041C01F00049 +:10F070004803C85659A8021B82000500000000285A +:10F080000402000959A8021B8200050000000028A4 +:10F0900004000003497A6A120401F0034A026A126A +:10F0A0000000FF004200500022000000420060000B +:10F0B0000138000041786800417878000401F95275 +:10F0C000593010094A01A006540000005932481C6A +:10F0D000592400058200050000FFFFFF58080C0BB3 +:10F0E000800408F0800405404801A0075808000B80 +:10F0F00082000500FF0000004801A00859A8000296 +:10F100004801A00959A800034801A00A59A8000015 +:10F110004801A00B59A800014801A00C5808000D97 +:10F120009C0001C04801A00D5808000E9C0001C0C1 +:10F130004801A00E5808000F9C0001C04801A00F14 +:10F14000580800109C0001C04801A0105808001188 +:10F150009C0001C04801A011580800129C0001C089 +:10F160004801A012580800139C0001C04801A013D8 +:10F17000580800149C0001C04801A0145808001150 +:10F180009C0001C04801A015580800129C0001C055 +:10F190004801A016580800139C0001C04801A017A0 +:10F1A000580800149C0001C04801A0184200080043 +:10F1B00000000013420010000000DC000401F138E0 +:10F1C0004803C85642005000220000004200600080 +:10F1D0000129000041786800417878000401F90AAB +:10F1E000593010094A01A006550000005808000CCB +:10F1F0008200050000FFFFFF58080C0B800408F098 +:10F20000800405404801A0075808080B82040D003F +:10F21000FF0000005932481C5924000582000500F7 +:10F2200000FFFFFF800405404801A0085808000DBA +:10F230009C0001C04801A0095808000E9C0001C0B4 +:10F240004801A00A5808000F9C0001C04801A00B0B +:10F25000580800109C0001C04801A00C59A80002E9 +:10F260004801A00D59A800034801A00E59A80000AC +:10F270004801A00F59A800014801A010580800112A +:10F280004801A011580800124801A01258080013A4 +:10F290004801A013580800144801A0144979A0158A +:10F2A0004979A0164979A0174979A01842000800A9 +:10F2B00000000013420010000000DC000401F0F820 +:10F2C0000401FCE15930001D800001C00400000869 +:10F2D0004A01A006010000004A01A4070000000343 +:10F2E00042000800000000020401F0284A01A006C4 +:10F2F0000200000041780800836C058000000004D3 +:10F300000402000384040D420401F00D0201F80020 +:10F31000001051550402000384040D4A0401F00258 +:10F3200084040D4859A8021B8C0005060402000342 +:10F330008C00050A0400000284040D464805A2075B +:10F3400059C40085480310044C5800004C5000007C +:10F350004C5400004200B000000000068388A40066 +:10F360000000000082D0AC00000000080201F8009C +:10F370000010C12B5C00A8005C00A0005C00B00085 +:10F380004200080000000008420010000000DC00FD +:10F390000401F0C30401FC9E4A01A00656000000CF +:10F3A000593400064801A007593400074801A00855 +:10F3B0004200080000000003420010000000DC00D2 +:10F3C0000401F0B74803C8560401FC9F5930081DDA +:10F3D000800409C00400000E820405800000FFFFC5 +:10F3E00004000004820404800000000704021008E6 +:10F3F0004A01A006010000004A01A4070000000322 +:10F4000042000800000000020401F0134A01A006B7 +:10F410000200001C4A01A007000000014200100089 +:10F420000010CC4B500800009C0001C04801A0090E +:10F430005932481C592400054801A00A59240001EA +:10F44000592408024801A00B4805A00C42000800FE +:10F4500000000007420010000000DC000401F090F2 +:10F460004D2C00000401FC6A59325809812E59C004 +:10F47000040200034979A0010401F005592C000998 +:10F480008200050000FFFFFF4801A0014A01A0061D +:10F49000510000005C0258000201F000001077EDFE +:10F4A0004803C856593258095932680A5930040776 +:10F4B0004803C85782000D80000000090400000ABC +:10F4C00082000D800000000A0400003382000D80DD +:10F4D00000000012020000000010BC6A0201F800E7 +:10F4E0000010032E593000168C00051E0402002166 +:10F4F00042005000040000004200600005000000CF +:10F50000592C040B8200050000000030800000E050 +:10F51000803065405934000A8C0005080400000260 +:10F520008430654641786800417878000401F833FA +:10F5300059300C1780040000480264174004000092 +:10F54000800000D082000540000000204801A40394 +:10F5500083180D4000000038420010000000C92050 +:10F560000401F86E0401F98D0201F00000106640FC +:10F5700059A8021B820005000000002804000003B7 +:10F58000497A6A120401F7DB4A026A120000FF009E +:10F590000401F7D842005000020000004200600061 +:10F5A0002029000041786800417878000401F813B0 +:10F5B00083180D4000000038420010000000C9A070 +:10F5C0000401F8560401F975420008000000000427 +:10F5D0005930001282000500FFF000008000054055 +:10F5E0000200000000106642420008000000000E09 +:10F5F0000201F000001066424201A000000000007D +:10F600000401F0034201A0000000001159340A1265 +:10F6100082040D000000FF005932481C59240408E0 +:10F62000900001C08004054080D00540440348009C +:10F6300081A5A000593400028200050000FFFFFFF1 +:10F6400059300C0382040D800000003104020002D6 +:10F6500041780000802805404801A0005924000599 +:10F660004801A0014831A00282340540000000009A +:10F670004801A003593004024801A40459300A0289 +:10F680004805A2048C30652E040000034805A4043C +:10F690004801A204483DA0051C01F0004807C857D6 +:10F6A0004C0400000401F82A5C000800400400003B +:10F6B00080081540800000C4820005400000200042 +:10F6C0004803910A59B400F68200050000000018B2 +:10F6D000040207FD420018000010CC9F580C0004E3 +:10F6E0004803C857580C00064803C857580C180060 +:10F6F000480FC8574A0368F00010CC9E4A0368F1CF +:10F700000010CCA5480B68F34A0378E400008000A1 +:10F710000201F0000010663B4807C857480A28005D +:10F720004C0400000401F80A5C00080059B400F61B +:10F730008C00050A040207FE49A768F2480768F42E +:10F740004A0378E4000080001C01F0004A0378E4DA +:10F750000000C00059BC00E48C0005200400000C2F +:10F760004A0378E40000800042007000000003E8D3 +:10F7700059BC00E48C000520040007F58038704077 +:10F78000020008000010032E0401F7FA1C01F0002B +:10F7900082000500FFFF00008200058001050000D7 +:10F7A0000402000D599C08188C040D100400000A76 +:10F7B00059A808068C040D0A040000074200100036 +:10F7C0000000804F41781800417820000201F800C5 +:10F7D000001039D41C01F0001C01F00059A800529F +:10F7E000800001C0040000534D2C00004D3000008B +:10F7F0004C5C00004C6000004C640000400258006B +:10F800004000C0004000C800420260000011160025 +:10F81000592C0407814405800402003B83240580A1 +:10F82000FFFFFFFF04000004592C00028124058023 +:10F8300004020035592C02058200058000000055A5 +:10F84000040000058D3E7D180400002F8D3E7D16BE +:10F850000402002D40640000812C05800402001B7E +:10F8600059300203820005800000000004000013EC +:10F8700059300009800001C0040000100201F800A6 +:10F8800000106E814DF000000201F80000106D6B59 +:10F890000201F8000011024080C40040040200038D +:10F8A0004A026203000000005C03E000020008005E +:10F8B00000106E6E497A6009592CC8004064C0007F +:10F8C0004064B8000401F003592CB800485CC00043 +:10F8D000497A5800592C0205820005800000015524 +:10F8E000040000040201F800001005960401F00471 +:10F8F00049425A070201F800000203F1405E580035 +:10F900000401F003412CC000592E5800812E59C02B +:10F91000040207C048675052486350535C00C80057 +:10F920005C00C0005C00B8005C0260005C02580033 +:10F930001C01F0004943C8574D4400004D340000FD +:10F940004C5800004D24000042024800FFFFFFFF1A +:10F950004200B000000007F0417A88000201F80080 +:10F960000002034E040200020401FF9D814688004C +:10F970008058B040040207FA834404800000080065 +:10F98000040210088D3E7D02040000064202880039 +:10F99000000007F04200B000000000100401F7F082 +:10F9A0005C0248005C00B0005C0268005C028800F9 +:10F9B0001C01F0004D30000059A81052800811C001 +:10F9C0000400001E420260000011160059300203BC +:10F9D0008200058000000000040200185808080397 +:10F9E000580800024802601C4806600A480A60097C +:10F9F0004A026407000000054A0262030000000199 +:10FA00004A02640300000092417808005808020589 +:10FA10008200058000000055040000034200080039 +:10FA200000000001480664294200080080000040F0 +:10FA30000201F80000020B425C0260001C01F000B1 +:10FA40004D9000004DD000004DA400004D1400006A +:10FA50004D1800004803C856417A30000201F800F2 +:10FA60000010753659900804800409C00400001580 +:10FA700083947C000000000983180400001064B324 +:10FA800050000000803C7C00583C0003811808CAEC +:10FA900082040C00000061395004080080040580D5 +:10FAA00004000008420000000010D0870201F800A6 +:10FAB0000010C05882000540000000010401F0055C +:10FAC000811A30008318058000000005040207E455 +:10FAD0005C0230005C0228005C0348005C03A0006C +:10FAE0005C0320001C01F0004D9000004DD0000090 +:10FAF0004DA400004D1400004D1800004803C856E6 +:10FB0000598C080F800409C0040000030201F800AA +:10FB10000010663B417A30000201F8000010753693 +:10FB200059900804800409C00400001283947C00EA +:10FB30000000000983180400001064B350000000A6 +:10FB4000803C7C00811808CA82040C0000006139E6 +:10FB500050040800480478034A007801000001F4CA +:10FB60004A0078000000000A4A0078020000000401 +:10FB7000811A30008318058000000005040207E7A1 +:10FB80005C0230005C0228005C0348005C03A000BB +:10FB90005C0320001C01F00083947C00000000093D +:10FBA00083180400001064B350000000803C7C0007 +:10FBB000497878031C01F00041781000420260008F +:10FBC0000011168459A8180D480A64024A026202FC +:10FBD0000000FFFF80081000800C184004000004A3 +:10FBE000833264000000002C0401F7F81C01F000CF +:10FBF0000201F80000020BA11C01F0005C03600090 +:10FC00004DB0000049B3C8574933C857813261C06D +:10FC10000400003B59300203820005800000000010 +:10FC200004000037593000048C00053E0202080031 +:10FC30000010032E593004074803C85782000D8076 +:10FC4000000000040400001182000D80000000018B +:10FC50000400000E82000D80000000030400000676 +:10FC600082000D8000000006040200190201F80065 +:10FC70000010B48E5930001D800001C0020208003F +:10FC80000010A2840401F0125930000A820005809D +:10FC90000010E33E0400000E593008274807C857FB +:10FCA0004D300000400660000201F8000010A3493A +:10FCB0005C026000040200065804001D4803C85797 +:10FCC00081300580040200024978081D4A02640759 +:10FCD00000000007497A60094A0260040000400001 +:10FCE00059A8002A82000C80000000510400100274 +:10FCF0008000010248026006497A62051C01F0009A +:10FD00000401F803413188001C01F0008364048081 +:10FD10000000001004021008420000000010D0167D +:10FD20000201F8000010C0584967C857800265807A +:10FD30001C01F0008166C9C00400001C4162600023 +:10FD40004158000059300A0382040D800000000071 +:10FD500004000008833264000000002C81300C8015 +:10FD6000040017F942026000001116840401F7F63E +:10FD70004933C8578166C84083300C000000002C0E +:10FD800080040480040210064006C0004A02620398 +:10FD900000000008813261C01C01F0004202C00076 +:10FDA000001116840401F7FA420000000010D0167A +:10FDB0000201F8000010C0584933C856417A60006B +:10FDC0000401F7F50201F80000020BC51C01F00068 +:10FDD0004933C85783380580000000130402000B24 +:10FDE000593000048C00053E040000070201F800B1 +:10FDF00000106E810201F80000106DD10201F800C0 +:10FE000000106E6E1C01F0004933C857598800B7C6 +:10FE100080000000480310B71C01F0004933C857A8 +:10FE200059300203820034800000000E02021800E4 +:10FE30000010032E4D2C00000C01F8035C0258004A +:10FE40001C01F00000107F9F001085B80010872E65 +:10FE500000107F9F001087AA0010812F00107F9F45 +:10FE600000107F9F0010854400107F9F00107F9F2F +:10FE700000107F9F00107F9F00107F9F0201F800FD +:10FE80000010032E4933C8575930020382003480D2 +:10FE90000000000E020218000010032E0C01F001F9 +:10FEA00000107FB60010929900107FB600107FB648 +:10FEB00000107FB600107FB600107FB600107FB62E +:10FEC00000109235001092C300109339001092C3B5 +:10FED0000010933900107FB60201F8000010032EC5 +:10FEE0000201F8000010032E4933C8574D2C0000C2 +:10FEF0005932580959300203820034800000000E44 +:10FF0000020218000010032E0C01F8035C025800D6 +:10FF10001C01F00000107FD300107FD300107FD3AE +:10FF200000107FEF0010803B00107FD300107FD3C4 +:10FF300000107FD300107FD500107FD300107FD337 +:10FF400000107FD300107FD300107FD30201F80090 +:10FF50000010032E4933C857833805800000004045 +:10FF6000020208000010032E4A0260080008200068 +:10FF70004A02620300000003493A64034A025C0932 +:10FF800000000001592C000E48026012497A6014EA +:10FF9000592C0209800000C2800010C4800814009F +:10FFA000480A60060201F8000002016842000800E9 +:10FFB000800000600201F00000020B344933C85792 +:10FFC0008338048000000050020218000010032E45 +:10FFD0008338048000000049020018000010032E3E +:10FFE0000C01F001001080020010800D0010800054 +:10FFF00000108000001080000010800000108018A9 +:020000022000DC +:100000000201F8000010032E4A02620300000004FF +:100010004A025C0900000002592C020848025C0AEE +:10002000592C020A48025A08592C000D4802580E51 +:100030001C01F0000201F80000106DB10201F8008F +:1000400000109904040000054A025A070000000647 +:100050000201F800000203F10201F00000020BA10E +:100060000201F80000106DB14D3C0000417A7800AB +:100070000201F8000011007B5C02780042003000B1 +:100080000000001441782800420020000000000217 +:100090004D4000004D44000059368C034202800060 +:1000A000000000290201F8000010A2965C028800FE +:1000B0005C028000420000000010D0230201F80022 +:1000C0000010C0580201F80000109904020000005E +:1000D00000020BA14A025A07000000290201F800A1 +:1000E000000203F10201F00000020BA14933C857DE +:1000F000833805800000004804000005833805802F +:1001000000000053020208000010032E592C0207C1 +:100110008200058000000007040000095930001229 +:100120008000054004000006592C080D800404805E +:100130004802580D4A025A0700000015592C0207C0 +:1001400080000540040200034A025A070000000034 +:100150000201F800000203F10201F00000020BA10D +:100160004933C8574D2C00004C5000004C5400003F +:100170004C5800004C5C00004C6000004C640000D7 +:100180004C1000000201F800001005850200080074 +:100190000010032E497A5A0759A8006F8200050003 +:1001A0000000F00048025C0859A8085A82040C00BC +:1001B0000000001848065A08412CB8004D2C0000D9 +:1001C00041CCA0004200C000000000014200C80075 +:1001D0000000002C820404800000002D04021006A0 +:1001E000832CAC000000000A0201F80000109411FA +:1001F0000401F03040043000420008000000002CF0 +:10020000832CAC000000000A0201F80000109411D9 +:10021000821834800000002C4C1800000201F80005 +:10022000001005855C0030000400001A8060C000EA +:100230004A02580500000110492CB80182180C80B0 +:100240000000003D0402100740180800832CAC0099 +:10025000000000060201F800001094110401F015DE +:100260008264CC000000003C821834800000003C16 +:10027000420008000000003C412CB800832CAC0078 +:10028000000000060201F800001094110401F7E3D9 +:100290005C025800592C02078400055E48025A0788 +:1002A000592C04088064054048025C080401F002EF +:1002B0005C0258005C002000813669C00400000325 +:1002C000593434030401F003420030000000FFFF02 +:1002D00049325809481A5C07821005800000005412 +:1002E0000402001A4A025809FFFFFFFF491E581472 +:1002F00041781000831C0580FFFFFFFF0400000E03 +:10030000591C000980000D400400000B5804020530 +:1003100082000500000000FF82000580000000123E +:100320000400000482000580000000600402000256 +:1003300058041006480A5806592C04088120054024 +:1003400048025C080401F00249225C06846001C096 +:1003500080100540480258050201F8000010C19EB7 +:1003600004020011592C0001497A58014C00000088 +:100370000201F800000203F15C025800812E59C00E +:10038000040207F65C00C8005C00C0005C00B80016 +:100390005C00B0005C00A8005C00A0005C0258009B +:1003A0001C01F0000201F8000010B7170401F7F675 +:1003B0004803C8564C5C00004D2C00004C50000017 +:1003C0004C5400004C580000412CB800592C040C2F +:1003D0008C0005160400000341CCA0000401F003CA +:1003E00083CCA400000000064008B0004178100053 +:1003F000825804800000004C040010044200B00049 +:100400000000004C400010004C0800004D2C000083 +:100410000201F80000100585040000265C001800A9 +:10042000492C1801485A58008258B40000000003B3 +:100430008058B104832CAC00000000020201F800D7 +:100440000010C155585C040C8C0005000400000E1F +:10045000832C1400000000028C0005160400000329 +:100460008208140000000006460010000000000191 +:1004700080081000460010000000090084000500FC +:100480004800BC0C5C001000800811C0040207D7B3 +:1004900082000540000000015C00B0005C00A80084 +:1004A0005C00A0005C0258005C00B8001C01F00079 +:1004B0005C0258005C0010000401F7F84933C8578B +:1004C00083380D8000000015040200030201F000D3 +:1004D00000020BA183380D80000000160202080004 +:1004E0000010032E0201F00000020BA14933C8578F +:1004F0004D2C00004C5000004C5400004C580000A3 +:100500005932580983CCA4000000000659CC1806C3 +:10051000820C058001000000040200044200B000CB +:10052000000000020401F00F4200B00000000008CB +:10053000832CAC00000000060201F8000010C12B63 +:100540008C0C1D000400000B4200B00000000008ED +:10055000592E5801812E59C0020008000010032EA8 +:10056000832CAC00000000060201F8000010C12B33 +:100570000401F8165C00B0005C00A8005C00A0005C +:100580005C0258001C01F0004933C8574C50000071 +:100590004C5400004C58000083CCA400000000061E +:1005A0005930A8098254AC00000000064200B00097 +:1005B000000000070201F8000010C12B5C00B00031 +:1005C0005C00A8005C00A0004933C8570201F80095 +:1005D000001099040200000000020BA14D2C000045 +:1005E0000201F80000109FBD0402000B41780800D2 +:1005F0004D40000042028000000000000201F800AF +:1006000000109D8F5C0280005C0258000201F00027 +:1006100000020BA15931D82A58EF400A58EE580C65 +:100620004A025A050000010358EC00080801F800CE +:100630005C0258000201F00000020BA14933C857C8 +:1006400059CC1806820C0580020000000402002923 +:100650004A02680200FFFFFD5934000A84000504C5 +:100660004802680A42000000000000004C0C000034 +:100670000401F82F5C0018000200000000020BA12A +:1006800059300C2682040580000000210402000B72 +:100690000201F80000101FDE420018000000FFFFFA +:1006A0004200200000000004420030000000001260 +:1006B0000201F80000103A4759300809800409C0C7 +:1006C0000200000000020BA14A000A05000001031D +:1006D000480C08065931D82A58EF400A58EE580CF1 +:1006E00058EC00080801F8000201F00000020BA11C +:1006F000420000000010D02C0201F8000010C05889 +:1007000042000000000000064C0C00000401F80844 +:100710005C001800040007E94C0C00000401F82EEE +:100720005C001800040207E51C01F0004933C857BB +:100730004D4000004D2400004D2000005932481C5F +:10074000400280005930042682000D8000000051D4 +:100750000400000482000D80000000210402001843 +:100760000201F80000101FDE420018000000010026 +:100770000201F8000010C18D040200065930042661 +:1007800082000580000000210200080000101CD932 +:100790005930042682000580000000510402000246 +:1007A0004178180042000000000000010201F8003A +:1007B00000104E91800005800401F0038200054086 +:1007C000000000015C0240005C0248005C02800006 +:1007D0001C01F0004933C8574D2C0000593258090C +:1007E000812E59C004020009497A6006497A6205DF +:1007F0004D38000042027000000000220401FBB3EB +:100800005C027000800005805C0258001C01F00052 +:100810004933C8574D2C00004C5000004C54000088 +:100820004C58000059325809592E5801832CAC00FD +:100830000000000683CCA4000000000659A8086F41 +:1008400082040D00000003FF820414800000000FEA +:100850000400101B4200B0000000000F0201F8006D +:100860000010C12B592E5801832CAC00000000064B +:1008700082080C800000000F0400100D4200B00040 +:100880000000000F0201F8000010C12B592E580182 +:10089000832CAC0000000006820414800000000FCE +:1008A00004001007420010000000000F4008B000D4 +:1008B0000201F8000010C12B0401F0044004B00054 +:1008C0000201F8000010C12B5931D82A58EF400A14 +:1008D00058EE580C4A025A0500000103592E5801DF +:1008E00058EC00080801F8000201F80000020BA112 +:1008F0005C00B0005C00A8005C00A0005C02580036 +:100900001C01F0004933C8574D2C00004C5000002A +:100910004C5400004C58000059CC000682000D8059 +:10092000010000000400002D59CC00079000B1C068 +:100930008258B500000000FF8058B1048258B4000E +:100940000000000282580C80000000070400100321 +:100950004200B0000000000683CCA40000000006A6 +:1009600059301009800811C0020008000010032E41 +:100970008208AC00000000060201F8000010C12B44 +:1009800082000D00FF000000800409C00400001A6E +:100990008200B500000000FF040000178058B10479 +:1009A00082580C800000000E040010034200B000CA +:1009B0000000000D58081001800811C00200080056 +:1009C0000010032E8208AC00000000060201F800AF +:1009D0000010C12B0401F00859301009800811C023 +:1009E000020008000010032E4800100659CC000732 +:1009F000480010070401FEF55C00B0005C00A80090 +:100A00005C00A0005C0258001C01F0004933C8578C +:100A1000420008000000000059CC0006820005805A +:100A20000200000004000003420008000000000172 +:100A30004D2C000059325809812E59C0020008007F +:100A40000010032E48065A070201F800000203F1C5 +:100A50005C0258000201F00000020BA14933C857A4 +:100A60004D2C00004C5000004C5400004C5800002D +:100A70004200B0000000000259CC08068204058044 +:100A800001000000040000048204B5000000FFFF24 +:100A90008058B10483CCA40000000006593000093E +:100AA0008200AC00000000060201F8000010C12B1B +:100AB0000401FEC65C00B0005C00A8005C00A00061 +:100AC0005C0258001C01F0004933C8574803C8575E +:100AD0004807C857480BC857480FC8574813C85746 +:100AE000481BC857492FC8574D2C00004C00000028 +:100AF0000201F800001005705C0000000400000F07 +:100B000048025803481A5801481258084806580520 +:100B1000480A5806480E58075C0010004C080000B0 +:100B2000480A5809412C10000201F8000002001682 +:100B300082000540000000015C0258001C01F0002A +:100B40004933C8574937C8574D1C00000201F80007 +:100B5000001064410402002559CC00018200050008 +:100B600000FFFFFF593410028208150000FFFFFF4D +:100B7000800805800402001D497A620542000800D1 +:100B8000000000350201F80000109D01040200126F +:100B9000591C001D800001C00400000F497A381D57 +:100BA000591C04158C000502020008000010032ED9 +:100BB0008400050248023C15591C14078208058070 +:100BC0000000000304000006820805800000000603 +:100BD000040000050401FC0A0401F0040401F80506 +:100BE0000401F0020401F8D65C0238001C01F00098 +:100BF0004D2C0000591E58094933C857491FC85782 +:100C0000493BC857492FC857833805800000001555 +:100C1000040000C98338058000000016040200C4E7 +:100C20004D300000411E600059CC02074803C857F0 +:100C300082000D000000FF00820405800000170004 +:100C40000400000482040580000003000402006721 +:100C5000591C02034803C857820005800000000D9C +:100C600004000046812E59C0040000B0591C020245 +:100C70004803C857820005800000FFFF040200936C +:100C8000592C020B4803C8578200050000000003DE +:100C9000820005800000000204020007592C0810A1 +:100CA000591C00124803C8574807C85780040580DC +:100CB00004020086591C04154803C8578C0005001F +:100CC00004020082420000000010D0090201F80076 +:100CD0000010C05841780800591C1006420000005E +:100CE0000000000A0201F80000106CDD592C040716 +:100CF0004803C857800001C00400000C80080C8025 +:100D000004001004020208000010032E80001040AE +:100D1000480A5C07800811C0040200040201F800C0 +:100D20000011090E0401F07D0201F80000109A196B +:100D3000591C0818591C0019480658094802580A35 +:100D4000592E441181224110593000088C000500B1 +:100D50000202080000100C81497A38090201F800EB +:100D6000000202C304020059411E60000201F800A3 +:100D700000107EFF0401F0690201F80000107F43BB +:100D800004000017591C0006480260064926601C32 +:100D90004936600A4A02640700000003492E6009D0 +:100DA000591C0818591C101948066018480A60197F +:100DB0004D380000591E74034D300000411E600084 +:100DC0000201F80000107EFF5C0260000201F800E2 +:100DD00000020BC55C0270000401F05059A8002C01 +:100DE00048023A050401F04D59CC04078200058001 +:100DF0000000000B0402002E59340A0084040D0E7A +:100E000048066A00592C0A0582040D00000000FF04 +:100E100082040D8000000014040000034A026226D0 +:100E200000000003593000088C0005000202080091 +:100E300000100C814D400000497A5C0A420280009B +:100E400000000003592C0A090201F80000104E7539 +:100E50000201F8000010C16C040200090201F80050 +:100E6000000203F159300A2682040D8000000003BD +:100E70000200080000109A19497A60095C0280009B +:100E80004A026403000000854A0262030000000970 +:100E90004A02640700000002420008008000404B44 +:100EA0000201F80000020B420401F01C59CC0207B9 +:100EB0008200058000002A000402000459A8002CCA +:100EC00048023A050401F015812E59C002000800BD +:100ED0000010032E4A025A0500000103591C0008A5 +:100EE0008C0005000202080000100C81591C04024D +:100EF00048025C074A025A0700000003497A5C0A6C +:100F00000201F800000203F10201F80000107EFF68 +:100F10000201F80000104A155C0260000201F800AE +:100F200000020BA10401F0025C0260005C025800A8 +:100F30001C01F0000401F8190401F7FD4933C857FA +:100F400083380580000000150402000459A8002C15 +:100F500048023A050401F00D8338058000000016B0 +:100F60000402000D4D300000411E60000201F80037 +:100F70000010B48E0201F80000020B010201F8001B +:100F800000020BA15C026000497A381D0201F800E2 +:100F900000020BA11C01F0004C5C0000591C041560 +:100FA0008400054048023C1559CCB80B4933C8575A +:100FB000491FC857492FC8574803C857485FC857E3 +:100FC0008C5CBD3C0400000559A8002C48023A0581 +:100FD000497A381D0401F0574D300000411E600071 +:100FE0000201F8000010947C5C026000591C0407A8 +:100FF00082000580000000000400004E591C04031C +:1010000082000580000000500402000C4D300000FA +:10101000411E60004A026203000000014200080015 +:10102000800000430201F80000020B425C026000F5 +:10103000497A381D0401F03F591C020382000580E3 +:101040000000000D0400001F812E59C0020008009E +:101050000010032E592C020B4803C8578C000500C2 +:101060000402001F8C00050204000016591C041520 +:101070008C00051C04020007591C00124803C857C5 +:10108000800001C00400000F591C001348023817EB +:101090004A0238130FFFFFFF592C02098400051E76 +:1010A00048025A09420000000010D00B0201F8006B +:1010B0000010C0584A023A15000000010401F01A5D +:1010C000420000000010D00C0201F8000010C058CF +:1010D0004A023A15000000070401F0138C5CBD3A87 +:1010E000040207F859CC000A592C18104803C857B5 +:1010F000480FC857800C0580040007F259CC000A3D +:101100004803C85748023817480238164200000002 +:101110000010D00A0201F8000010C0584A023A1527 +:10112000000000055C00B8000201F00000109B8385 +:101130005C00B8000201F00000020BA14933C8575F +:101140004D1C00000201F80000106441040200532D +:1011500059CC000159341002800805808200050036 +:1011600000FFFFFF0402004A5930141A0201F80080 +:1011700000109D5E020008000010032E591C140789 +:1011800082080580000000070400004182080580F5 +:10119000000000020400003E8208058000000000FC +:1011A0000400003B591C020282000D800000FFFF7A +:1011B0000400000459301A1A800C0580040200341F +:1011C00083380580000000150400002F4D3000001A +:1011D0004D2C0000411E6000593258090201F800F0 +:1011E00000109904020008000010032E592C02057B +:1011F00082000500000000FF82000580000000144E +:10120000040000034A02622600000003497A5C0AD7 +:101210004202800000000003592C0A090201F80074 +:1012200000104E750201F8000010C16C04020009A4 +:101230000201F800000203F159300A2682040D80F1 +:10124000000000030200080000109A19497A6009A2 +:101250005C0258004A026403000000854A026203EF +:10126000000000094A026407000000024200080072 +:101270008000404B0201F80000020B425C0260005B +:101280000401F00359A8002C48023A05497A381D98 +:101290000201F80000020BA15C0238001C01F00002 +:1012A0004933C8574C5800004D2C0000593258099A +:1012B0005934220082102500FFFFDFFD48126A002A +:1012C00083383580000000150400000D0201F8008D +:1012D00000109904040000680201F80000109FBD8E +:1012E000040200054200B000000000020201F80004 +:1012F00000109F9C0401FA3F0401F07F83CC14008E +:10130000000000084200B0000000000283341C000E +:10131000000000060201F80000108CB60402001460 +:1013200083CC14000000000A4200B000000000025C +:1013300083341C00000000080201F80000108CB685 +:101340000402000B0201F80000101CD959342200DD +:1013500059CC1007800811C004000003480A680136 +:101360008410254248126A000401F0664D3C0000DA +:10137000417A78000201F8000011007B5C027800DD +:10138000420000000010D0230201F8000010C058F5 +:10139000593402008400055848026A004D300000AC +:1013A0000201F80000107F43020008000010032E25 +:1013B0004926601C4936600A497A60094A02640776 +:1013C000000000014A0264030000000142003000F6 +:1013D000000000030201F8000010B7E00201F8006D +:1013E00000101FDE592404008C00050A04020011BD +:1013F0004178280042003000000000014D4000000C +:1014000042028000000000290201F8000010B21F13 +:101410005C0280004A026407000000044A02620382 +:10142000000000074A026429000000010401F009DD +:101430004A02620300000001420008000000000BA5 +:101440000201F8000010463F0201F80000106D5C38 +:101450005C0260000201F8000010990404000026FC +:101460000201F80000109FBD040200260401F9E10A +:101470000401F021420000000010D0260201F80013 +:101480000010C0584D3C0000417A78000201F8007D +:101490000011007B420000000010D0230201F80080 +:1014A0000010C058593402008400055848026A00F0 +:1014B0004200300000000003417828004200200074 +:1014C000000000054D4000004D44000059368C03DB +:1014D00042028000000000290201F8000010A296DC +:1014E0005C0288005C0280005C0278000201F80067 +:1014F00000101CD90201F80000020BA10401F00247 +:101500000401FC325C0258005C00B0001C01F000D9 +:101510004933C857413800008338348000000058F0 +:10152000020218000010032E0C01F001001085B219 +:10153000001085AD001085B2001085B2001085B294 +:10154000001085B2001085AB001085AB001085AB94 +:10155000001085AB001085AB001085AB001085AB8B +:10156000001085AB001085AB001085AB001085AB7B +:10157000001085AB001085AB001085AB001085AB6B +:10158000001085AB001085AB001085AB001085AB5B +:10159000001085AB001085AB001085AB001085AB4B +:1015A000001085AB001085AB001085B2001085AB34 +:1015B000001085B2001085B2001085AB001085AB1D +:1015C000001085AB001085AB001085AB001085B214 +:1015D000001085AB001085AB001085AB001085AB0B +:1015E000001085AB001085AB001085AB001085ABFB +:1015F000001085AB001085B2001085B2001085ABDD +:10160000001085AB001085AB001085AB001085ABDA +:10161000001085AB001085AB001085AB001085ABCA +:10162000001085B2001085AB001085AB001085B2AC +:10163000001085B2001085AB001085B2001085B295 +:10164000001085AB001085AB001085AB001085AB9A +:10165000001085B2001085AB001085AB001085AB83 +:10166000001085B2001085AB001085AB001085AB73 +:10167000001085B2001085AB001085AB001085AB63 +:10168000001085B2001085AB001085B2001085AB4C +:10169000001085AB001085AB001085AB001085AB4A +:1016A000001085AB001085AB001085AB0201F8007F +:1016B0000010032E4A02620300000001493A64034D +:1016C0000201F00000106D5C4933C8574A02620302 +:1016D00000000001493A64030201F00000106D5C53 +:1016E00059300403820034800000005802021800C0 +:1016F0000010032E8338358000000013040000AA78 +:101700008338358000000027040200584933C85749 +:101710000201F80000106DD10201F8000010B8CAF3 +:101720000201F80000109A2C040000100201F800D9 +:1017300000109A470400004B5930040382000D80CA +:1017400000000022040200424200000000000205E6 +:101750000201F800001081CB0400003D0401FC1ED2 +:101760000400003F0401F03F4200000000000203BB +:101770000201F800001081CB040000350201F800DE +:1017800000101CD942000800000000070201F80008 +:101790000010463F0401F9174D44000059368C03F0 +:1017A00083440580000007FE0402000859A8121BAC +:1017B000840815400201F80000105155040200028F +:1017C0008408154A480B521B420280000000002981 +:1017D0004D3C0000417A78000201F8000011007BC6 +:1017E0005C027800836C0580000000030400000C9C +:1017F0005932680A59340008800001C00402000808 +:1018000059368C034933C8574937C8574947C857D1 +:101810000201F800001046FD0401F00C4200000037 +:101820000010D0230201F8000010C0584200300020 +:10183000000000154178280042002000000000034D +:101840000201F8000010A2965C0288000201F80074 +:1018500000109C5E0201F00000020BA11C01F000D0 +:101860000401F8E40401F7FA83380580000000144D +:101870000400000C4933C8570201F80000107266DA +:101880000202000000107F825930020382000580AE +:1018900000000002040001090201F8000010032EFC +:1018A0004933C8570201F80000106DD10201F80059 +:1018B0000010B8CA4200280000000002593004039A +:1018C0008200058000000051020000000010A469A1 +:1018D0004D3C0000417A78000201F8000011007BC5 +:1018E0005C027800420030000000001641782800B9 +:1018F0004D4000004D44000059368C03420020004A +:101900000000000942028000000000290201F800E6 +:101910000010A2965C0288005C0280004200000079 +:101920000010D0230201F8000010C0580201F80096 +:1019300000109A2C0402000C0201F80000101CD9BF +:101940000401F8AC59340C0382040580000007FE42 +:10195000040207BF59A80A1B84040D404807521B04 +:101960000401F7BB0201F80000109A4704020003CB +:101970000401F8A00401F7B65930040382000D8079 +:1019800000000032040200040201F80000102335B8 +:101990000401F7AF82000D800000002204000895CA +:1019A0000401F7AB4933C8574803C8570C01F0018D +:1019B000001086D5001086D5001086D5001086D57B +:1019C000001086D5001086D5001086CC001086CC7D +:1019D000001086CC001086CC001086CC001086CC7F +:1019E000001086CC001086CC001086CC001086CC6F +:1019F000001086CC001086CC001086CC001086CC5F +:101A0000001086CC001086CC001086CC001086CC4E +:101A1000001086CC001086CC001086CC001086CC3E +:101A2000001086CC001086CC001086D9001086F6F7 +:101A3000001086CC001086F6001086F6001086CCCA +:101A4000001086CC001086CC001086CC001086CC0E +:101A5000001086F6001086F6001086CC001086CCAA +:101A6000001086CC001086CC001086CC001086CCEE +:101A7000001086CC001086CC001086E7001086F699 +:101A8000001086CC001086E0001086CC001086CCBA +:101A9000001086CC001086E0001086CC001086CCAA +:101AA000001086CC001086F6001086E3001086CC6D +:101AB000001086CE001086F6001086CC001086F648 +:101AC000001086F6001086CC001086CC001086CC64 +:101AD000001086CC001086F6001086CC001086CC54 +:101AE000001086CC001086F6001086CC001086CC44 +:101AF000001086CC001086F6001086CC001086CC34 +:101B0000001086CC001086F6001086CC001086F6F9 +:101B1000001086CC001086CC001086CC001086CC3D +:101B2000001086CC001086CC001086CC001086CC2D +:101B30000201F8000010032E4D2C00005932580904 +:101B40000201F800000203F15C0258000201F000FB +:101B500000020BA14A026203000000020201F00031 +:101B600000109ACC4A0262030000000559A8002C1C +:101B70004802620559A8002A480260061C01F000CC +:101B80005930082749780A050401F0140201F800C9 +:101B900000109C5E0201F00000020BA10201F8009F +:101BA000001023350201F80000106E8104000005CA +:101BB0000201F80000106DD10201F00000020BA13B +:101BC0000201F80000106DD10201F80000020BA123 +:101BD0000201F00000106E6E4933C8574A026203DA +:101BE0000000000259A8002A480260061C01F0000B +:101BF0004933C8570201F800001099040400002E70 +:101C00004D2C00000201F80000109FBD0402000AE4 +:101C10004D400000420280000000003142000800F8 +:101C2000000000040201F80000109D8F5C0280009B +:101C30000401F02059300C078204058000000010D8 +:101C40000400000482040580000000110402000A60 +:101C50004A025A07000000314A02580E00000004F0 +:101C60004A02580F000000FF0201F800000203F1D1 +:101C70000401F010592C04058C00051E0400000D11 +:101C80004A025A05000001034A02580601000000FA +:101C90004DA000004CEC00005931D82A58EF400A02 +:101CA00058EC00080801F8005C01D8005C03400013 +:101CB0005C0258001C01F0004933C857833405808A +:101CC0000010E33E0402000C83380D800000001574 +:101CD0000400000583380D80000000160202000099 +:101CE00000107F820201F8000010B8CD0201F00060 +:101CF00000020BA15934040082000500000000FF1F +:101D0000820034800000000C020218000010032E34 +:101D10005930340382180D800000004D020000008D +:101D200000109CCD82180D800000003302000000DE +:101D300000109C8282180D80000000280200000024 +:101D400000109A8982180D8000000029020000000E +:101D500000109A9E82180D800000005702000000BB +:101D60000010A3B382180D800000001F02000000C5 +:101D70000010816282180D800000005502000000F2 +:101D80000010813B82180D80000000000400054512 +:101D900082180D8000000022020000000010818FD8 +:101DA00082180D800000003502000000001082D073 +:101DB00082180D8000000039040004E182180D80B3 +:101DC0000000003D020000000010820482180D8017 +:101DD00000000044020000000010824182180D80C3 +:101DE00000000049020000000010829782180D8058 +:101DF00000000041020000000010828382180D8064 +:101E0000000000430200000000109E3582180D8083 +:101E1000000000510200000000109EA882180D80F2 +:101E20000000000404020003420000000000000162 +:101E300083380D80000000150400000683380D80F3 +:101E4000000000160202000000107F820401F28DE3 +:101E50004C0000000201F8000010B8CD5C0000004A +:101E60004D2C00004D3C00000C01F8045C02780091 +:101E70005C0258001C01F000001087B2001087B609 +:101E8000001087B20010882B001087B20010897DE7 +:101E900000108A33001087B2001087B2001089E466 +:101EA000001087B2001089F64933C857497A600894 +:101EB00059300809580400004A000A0500000103CF +:101EC0000201F00000020BA14933C8574000000096 +:101ED000400000001C01F0004933C8570201F8001F +:101EE0000010497459A8005A82000580000000744F +:101EF0000402005B0201F8000010B19B0402001410 +:101F00000401F85B0201F800001099040400000CC1 +:101F10000201F80000109FBD04020009417808008A +:101F20004D40000042028000000000000201F80065 +:101F300000109D8F5C0280000401F0030201F80094 +:101F400000101CD90201F00000020BA10201F800F0 +:101F500000109904040000070201F80000109FBD62 +:101F6000040200040401FF230201F00000020BA19F +:101F7000417A78000201F8000011007B4200000065 +:101F80000010D0230201F8000010C058593402009C +:101F90008400055848026A00420030000000000337 +:101FA0000201F8000010B7E04D3000000201F80017 +:101FB00000107F43020008000010032E4926601C19 +:101FC0004936600A497A60094A0264070000000144 +:101FD0004A02640300000001592404008C00050A31 +:101FE000040200114A026407000000044A0262036E +:101FF000000000074A02642900000001420030008E +:10200000000000014D400000420280000000002955 +:10201000417828000201F8000010B21F5C02800025 +:102020000401F009420008000000000B0201F80062 +:102030000010463F4A026203000000010201F8005E +:1020400000106D5C5C0260000401FEEA0201F80011 +:1020500000101CD90201F00000020BA10401FEE5F2 +:1020600042000000000000010401F11F4933C8577D +:10207000593402008C0005000400000C4D3C0000A7 +:10208000417A78000201F800001046345C027800C2 +:102090008D0E1D200400000542000800000000060F +:1020A0000201F8000010463F1C01F0004933C857F8 +:1020B00059A8085A82040580000000740400000E2C +:1020C0004807C8578204058000000100040200ECA4 +:1020D00059CC04084803C8578C000500040000E8E8 +:1020E0005934140382080580000007FE040000062E +:1020F0000401F0E35934140382080580000007FE50 +:102100000402001C59A8021B8C00050604000013E1 +:1021100059CC000082000500000000FF59240C0883 +:10212000800405800400000D0201F80000101CD995 +:102130000201F80000020BA1420000000010D014C0 +:102140000201F8000010C0584202D800000000014F +:102150000201F000001041300201F8000010C18DB2 +:10216000020200000010A4E90401FB250401F0674D +:10217000417808000201F8000010473C593414036C +:1021800082080580000007FC040200394A02680248 +:1021900000FFFFFC0201F800001099040400001287 +:1021A0000201F80000109FBD0402000F0401F8ECCA +:1021B000417808004D40000042028000000000000D +:1021C0000201F80000109D8F5C02800042000800B0 +:1021D000000000040201F8000010463F0201F00078 +:1021E00000020BA142000800000000040201F800F8 +:1021F0000010463F0201F80000101CD959300C268F +:10220000820405800000002104000005820405808E +:10221000000000510202000000020BA10201F800C0 +:1022200000101FDE42028800000007FD420030005F +:1022300000FFFFFD0201F8000010467D02020800C9 +:102240000010032E4936600A497A6C124A02601D5A +:10225000000000034A026203000000014A02640316 +:10226000000000220201F00000106D5C59A800700F +:102270008C000502040000110201F8000010515505 +:10228000420010000000001004020009593400024E +:102290008200050000FF00008200058000FF0000B2 +:1022A0000400000642001000000000080201F800CF +:1022B00000104D77040200720201F800001099042A +:1022C000040000730201F80000109FBD0402000525 +:1022D000592C04058C00051C040207AF0401F8A06A +:1022E00042000800000000050201F8000010463F0F +:1022F0004A026203000000014A0264030000000376 +:102300000201F00000106D5C59CC04088C00051827 +:102310000400001B0201F80000109C1D0201F800DF +:10232000001051550400000959CC04088C00051612 +:1023300004000006593004268200058000000021B8 +:10234000040207951C01F00059A8021B8400054AED +:102350004803521B4803541B59A8000F497B88307F +:1023600084000570480388325930042682000580B5 +:1023700000000021040207881C01F0004200100048 +:10238000000000EF59A800788C00053E040000050D +:1023900059A8021B8C0005160400000259A8100F52 +:1023A000420248000010D0D3480A4805480B500F9D +:1023B000497B883084081570480B88320201F80088 +:1023C00000109C4759A8021B840005484803521B73 +:1023D0004803541B0201F8000010B1F40402076E18 +:1023E000599C00198C0005100402003D59A8021BDD +:1023F0008400054C4803521B4200080000000007FF +:102400000201F8000010463F417A78000201F8000E +:102410000010463442003800000000EF4200000087 +:10242000000000E80201F8000010617002000800DE +:102430000010467D020208000010032E4936600A93 +:10244000593402008400051A48026A00420008005C +:10245000000000030201F8000010463F4A02640732 +:10246000000000014A026203000000014A02640306 +:10247000000000020201F00000106D5C0401FDDDAF +:1024800042000000000000010401F017599C0017F1 +:102490008C00050A040007934200080000000004B5 +:1024A0000201F8000010463F4937506559A8021B49 +:1024B0008C0005080400000A599C00188C00051CBB +:1024C0000400000742000800000003E8420010007A +:1024D00000110A810201F800001066750201F00087 +:1024E00000020BA14933C8578000354004000005A5 +:1024F00042000800000000070201F8000010463FFB +:10250000801831C00402001259302009801021C007 +:1025100004000004581004058C00051E0402000C81 +:1025200059341C0342002000000000044200300027 +:10253000000000124D200000593640138122413026 +:102540000201F80000103A475C0240000201F80066 +:1025500000101CD90201F00000020BA14C5C00002D +:102560004D2C0000593258090201F8000002086998 +:102570005C02580059CC00084800280559CC0009D5 +:102580004800280649782807497828084978280902 +:102590004978280A59CC00138C00053E0400000934 +:1025A00059CC0414900001C059CCBC15805C054086 +:1025B0004800280759CC0416900001C0480028089C +:1025C00059CC00178C00053E0400000959CC0418B2 +:1025D000900001C059CCBC19805C05404800280916 +:1025E00059CC041A900001C04800280A5C00B800C9 +:1025F0001C01F0004933C85759A8005A82000580D1 +:10260000000000140402004C59A800708C00050260 +:10261000040000150201F80000105155420010009E +:102620000000001004020009593400028200050075 +:1026300000FF00008200058000FF00000400000A87 +:1026400042001000000000080201F80000104D7761 +:102650000400000559A800708400054C4803507020 +:102660000401F035836C0580000000030402000FB4 +:1026700059300009800005400402000C59341C0345 +:10268000420020000000000642003000000000135D +:102690004D20000059364013812241300201F800DC +:1026A00000103A475C0240000201F800001047AAFF +:1026B0000401FE6F0401FAEE0402001F5934040401 +:1026C000800005400400001C4200080000000006D5 +:1026D0000201F8000010463F0201F80000109904C2 +:1026E000040000110201F80000109FBD0402000A5E +:1026F000417808004D4000004202800000000000C8 +:102700000201F80000109D8F5C0280000201F000C1 +:1027100000020BA14A025A05000001034A025806B2 +:10272000020000000201F80000101CD90201F000B4 +:1027300000020BA10201F80000104D190201F8007F +:1027400000109904040000070201F80000109FBD6A +:10275000040200040401FD270201F00000020BA1A5 +:102760000401FD240201F8000010B8CD80000580AE +:1027700059A800708C00050C040000058400050CAD +:102780004803507082000540000000010401F75624 +:102790004933C85759A8005A820005800000001428 +:1027A0000402000B420008000000000B0201F800C8 +:1027B0000010463F4A026203000000014A0264031F +:1027C000000000010201F00000106D5C42000000FA +:1027D000000000010401F7444933C85740003000AD +:1027E00059A8005A8200058000000004040200225B +:1027F000821835800000000B0402001D5930081CAF +:10280000580402008C000500020000000010A462C1 +:10281000580402008C00050804000011840005081B +:1028200048000A0042000800000000030201F8000E +:102830000010463F5930080A497808064A026202E9 +:102840000000FFFF4A026203000000014A02640325 +:10285000000000510201F00000106D5C4200080011 +:10286000000000070201F8000010463F0201F000DE +:1028700000020BA142000000000000010401F71A51 +:102880004803C8574D2C00004D3C00000C01F804D3 +:102890005C0278005C0258001C01F000001087B256 +:1028A00000108A42001087B200108A9F001087B281 +:1028B00000108B1500108A33001087B2001087B209 +:1028C00000108B39001087B200108B4B4933C8576A +:1028D0004D1C0000593014038208058000000003DD +:1028E00004000008820815800000001E0402000396 +:1028F0000201F80000020BA15C0238001C01F0008C +:102900000401FF3D0401F7FD4933C85742000000B0 +:102910000010D0270201F8000010C0580201F80092 +:102920000010B8CD0201F800001049740201F8004F +:10293000001099040400000B0201F80000109FBD74 +:10294000040200084200B000000000020201F8008A +:1029500000109F9C0401FCA70201F00000020BA1E3 +:102960000401F91504020030417A78000201F800F0 +:1029700000104634417A78000201F8000011007B13 +:10298000420000000010D0230201F8000010C058DF +:10299000593402008400055848026A004A02640360 +:1029A0000000000242003000000000030201F800B5 +:1029B0000010B7E0592404008C00050A040200113D +:1029C0004D40000041782800420030000000000522 +:1029D00042028000000000290201F8000010B21F2E +:1029E0005C0280004A026203000000074A0264079A +:1029F000000000044A026429000000011C01F000EC +:102A000042000800000000030201F8000010463FE9 +:102A10004A026203000000010201F80000106D5C30 +:102A20000401F7F759CC0407820005800000000973 +:102A30000402000A5934041282000500000000FF5D +:102A40000400000C8000004048026C124A0260063C +:102A50000000000A0401F7EA59CC020782000500D1 +:102A60000000FF008200058000001900040007C27A +:102A70000401FC60800005800401F69B4933C857BF +:102A80000201F80000109904040000110201F8008E +:102A900000109FBD0402000E4C5800004200B00020 +:102AA000000000020201F80000109F9C5C00B000D2 +:102AB0000401FC5042000800000000070201F80079 +:102AC0000010463F0201F00000020BA1593404033C +:102AD00082000580000007FC0402000C4200000098 +:102AE000000000040201F800001081CB040200384D +:102AF00042000800000000070201F8000010463FF5 +:102B00000201F00000020BA10401FC3A59CC340789 +:102B100082183500000000FF8218058000000005C3 +:102B200004000020821805800000000B040000183B +:102B300059CC0207820005000000FF0004020004D7 +:102B4000821805800000000904000016820005803C +:102B5000000019000402000E821805800000000920 +:102B60000400001042000800000000040201F80008 +:102B70000010463F0201F80000101CD90201F800C5 +:102B80000010B8CD0201F00000020BA10201F80014 +:102B90000010B8CD42000000000000010401F65210 +:102BA0000201F80000109904593258090400000885 +:102BB000592C02058200058000000139040007F449 +:102BC000592C04058C00051E040207F15934041227 +:102BD000800001C0040000088000004048026C1220 +:102BE0004A0260060000000A4A0264030000001660 +:102BF0001C01F0005934040382000580000007FE28 +:102C00000402000759A8021B840005404803521B18 +:102C10000201F800001042650401F7DD0201F8002E +:102C20000010B8CD417A78000201F8000011007B55 +:102C300042003000000000050201F8000010B7E07B +:102C4000420000000010D0230201F8000010C0581C +:102C50000401F7D14933C8570401F8650402000B99 +:102C600042000800000000050201F8000010463F85 +:102C70004A026203000000014A02640300000003EC +:102C80000201F00000106D5C42000800000000042A +:102C90000201F8000010463F0201F80000109FBD3D +:102CA0000402000B4C5800004200B000000000027B +:102CB0000201F80000109F9C5C00B0000201F800C7 +:102CC000001086FC0201F00000020BA10201F800D6 +:102CD000001086FC0201F8000010B8CD80000580CD +:102CE0000401F6014933C8570401F8410402000BFE +:102CF00042000800000000090201F8000010463FF1 +:102D00004A026203000000014A0264030000000559 +:102D10000201F00000106D5C0201F8000010B8CD57 +:102D200042000000000000010401F5EF4933C857DC +:102D30005930081C580402008C00050002000000F5 +:102D40000010A4620401F82A0402000B42000800EB +:102D50000000000B0201F8000010463F4A02620327 +:102D6000000000014A026403000000010201F000BB +:102D700000106D5C5930080A580404038200058075 +:102D8000000007FE040200074200280000000003C4 +:102D90000201F8000010A4690201F00000020BA17A +:102DA0000201F8000010B8CD420000000000000150 +:102DB0000401F5CD4933C85759CC0407820005807A +:102DC000000000030402000959CC0207820005003C +:102DD0000000FF0082000D8000002A0004000003B4 +:102DE00082000D8000001E001C01F0004933C8570E +:102DF00082000540000000011C01F0004933C85763 +:102E00004D4000004C5800004202800000000000CD +:102E10000201F80000101FDE59A8021B82000540C5 +:102E2000000000034803521B0401F8A7040000053A +:102E30004D3000004D3400004D4400000401F02BE3 +:102E40000401F8DC040000324D3000004D34000075 +:102E50004D440000832405800010D0D304020025D7 +:102E600059CC04088C00051E040200094200080029 +:102E70000010D0D3580404068C000500040200049E +:102E800059A8021B840005524803521B5924040010 +:102E90008C00050A04020009420280000000002A9A +:102EA000420288000000FFFF4200300000000002E4 +:102EB0000201F8000010B7F5420280000000002A6D +:102EC0004D3C000042027800000002000201F800C0 +:102ED0000010FFF25C027800420000000010D023D6 +:102EE0000201F8000010C0580201F80000101E583E +:102EF0000201F800001020B342028000000000022E +:102F00005C0288005C0268005C0260000201F8005C +:102F10000010A59C417808000201F8000010473C11 +:102F200059CC080082040D0000FFFFFF5924020065 +:102F3000820005400000006648024A004806480535 +:102F4000812000F08004054048026813812241C0BE +:102F5000040200094C0400004200180000000100B7 +:102F600042000000000000010201F80000104E9134 +:102F70005C0008004927C857832405800010D0D37F +:102F80000402001E59A8121B59CC04088C00051A13 +:102F900004020005840815144A0370E500000800C7 +:102FA0000401F004840815544A0370E500000C0085 +:102FB000480B521B4807500F80040110480350185B +:102FC0004803888159A80A1B84040D5059CC00136A +:102FD0008C00053E040000038C000536040000044C +:102FE00059CC00178C0005360402000284040D1031 +:102FF0004807521B4807541B59CC04088C0005187D +:103000000400002559A8021B8C00050604000018C6 +:10301000836C058000000003040000048324058005 +:103020000010D0D30400001C592404008C00050CAF +:103030000402000A4C0400004200000000000001ED +:1030400042001800000001000201F80000104E913B +:103050005C0008000401F0104A0264260000002110 +:103060000201F80000109F660401F00B0201F80055 +:103070000010C199040200084C0400000201F8008D +:103080000010A43E417818000201F80000101F8DC6 +:103090005C0008000201F800001051550400000710 +:1030A00059CC00094803502859CC000A480350293C +:1030B0000201F80000109C1D5C00B0005C02800062 +:1030C0001C01F0004933C85759A8141B8208058019 +:1030D0000000FFFF0400000C4C0800000201F80093 +:1030E000001051555C0010000402000B59CC04087C +:1030F0008C000518040000058C08150A0400000B5C +:10310000800005801C01F0008C081508040207FDF2 +:103110000401F006820805000000003004020003EC +:103120008C081506040207F74A03541B0000FFFF32 +:10313000420000000010CF700201F8000010C058DB +:10314000420030000000000C420018000000FFFFA9 +:1031500042002000000000074D200000417A40009E +:103160000201F80000103A475C0240004D400000A8 +:103170004D3C000042003000000000010201F80058 +:103180000010B7F5420280000000002A42027800D9 +:10319000000002000201F8000010FFF25C02800053 +:1031A0005C02780082000540000000011C01F00074 +:1031B0004933C8574C58000059A80018800001C076 +:1031C0000400002959341806800C19C00400002698 +:1031D000820C1D80DEADDEAD0400002159CC100054 +:1031E0008208150000FFFF0080081110800805808C +:1031F00004000004420000000010D0060401F01694 +:1032000083CC14000000000B4200B000000000025C +:1032100083341C00000000060401F83004000004A0 +:10322000420000000010D0070401F00B83CC140012 +:103230000000000D4200B0000000000283341C00BA +:10324000000000080401F825040000074200000007 +:103250000010D0080201F8000010C058820005409C +:10326000000000015C00B0001C01F0004933C857A9 +:1032700059CC0206820005800000001404020016EA +:1032800059CC0407820005800000080004020012E7 +:1032900059CC02078C00051A0400000D82000500BD +:1032A00000000F00820005800000010004020008F9 +:1032B00059CC020A8C000508040200038C00050AA0 +:1032C00004000003800005801C01F000820005401E +:1032D000000000011C01F0005C0000004C00000038 +:1032E0004803C857480BC857480FC857485BC857CA +:1032F00050080800500C00008004258004020007DC +:1033000080081000800C18008058B040040207F9B3 +:10331000800005801C01F0004803C8574807C857C3 +:10332000480BC857480FC857800404800400100693 +:10333000420000000000000182040D400000000176 +:103340001C01F000417800000401F7FC8338048080 +:1033500000000053020218000010032E833804807E +:103360000000004B020018000010032E0C01F001B9 +:1033700000108CE600108CE600108CE600108CE645 +:1033800000108CE400108CE400108CE400108CE63B +:103390000201F8000010032E493BC8574A0262039D +:1033A0000000000D493A640342000800800000005C +:1033B0000201F00000020B42833805800000001378 +:1033C0000402000859300403820005800000005008 +:1033D000020208000010032E0201F00000020BA1FF +:1033E0004933C857833805800000002704020030A5 +:1033F0004933C8570201F80000106DD14D3C000060 +:10340000417A78000201F8000011007B5C0278002C +:10341000420000000010D0230201F8000010C05844 +:103420004D2C0000593258090201F800001099048F +:10343000492FC8570400000D4A025A050000010335 +:1034400059300C0248065C074A025A07000000295E +:10345000497A580A592C0C0984040D5048065C0915 +:103460000201F800000203F15C0258004200300043 +:1034700000000015417828004200200000000003F1 +:103480004D4000004D44000059368C03420280003C +:10349000000000290201F8000010A2965C028800DA +:1034A0005C0280000201F00000020BA1833805805D +:1034B000000000140402000D5930040382000C8047 +:1034C00000000053020218000010032E8200048046 +:1034D00000000040020018000010032E4933C857B6 +:1034E0004803C8570C01F00E8338058000000053D4 +:1034F0000400000A8338058000000048020208002A +:103500000010032E59300403820005800000005093 +:10351000020208000010032E1C01F00000108D5C58 +:1035200000108D5A00108D5A00108D5A00108D5ABF +:1035300000108D5A00108D5A00108D5A00108D5AAF +:1035400000108D5A00108D5A00108D7300108D736D +:1035500000108D7300108D7300108D5A00108D7344 +:1035600000108D5A00108D730201F8000010032E18 +:103570004933C8570201F80000106DD10201F8006C +:10358000001099040200000000020BA14D2C000065 +:10359000593258094A025A05000001035930040201 +:1035A00048025C074A025A0700000006497A580A96 +:1035B0000201F800000203F15C0258000201F80069 +:1035C00000109A190201F00000020BA14933C857FC +:1035D0000201F80000106DD10201F00000020BA101 +:1035E0000201F8000010032E5930001D800001C0B8 +:1035F000020208000010A284593000048C00053E2D +:10360000040200330201F8000010A35E040200CEA1 +:1036100059325809592C0C0959CC280882141D001C +:1036200000000C000400000259CC180984040D5855 +:1036300048065C098214350000000FFF0402002ECA +:10364000593402008C00050E040200B40201F80097 +:1036500000020C5E040200084A025A070000000043 +:10366000593000120201F8000010A35380000D40F1 +:1036700004020A024A025A050000010348065808DB +:10368000480E580B901409C04806580A59300C02CD +:1036900048065C070201F80000109FC20201F80012 +:1036A00000109FC70201F800000203F10201F800B8 +:1036B00000104A1559CC00088C00051802020000C1 +:1036C00000109AEC0201F00000020BA10201F800C8 +:1036D00000107266040007CC4D3C000042027800E6 +:1036E000000000020201F800001094885C027800DB +:1036F0000401F7C54817C857480FC8578218050076 +:10370000000000FF0400000E592C02058200050095 +:10371000000000FF8200058000000048040200084D +:10372000592C0408800001C0040000050201F800C3 +:103730000010A1700201F0000010A1B482180D0069 +:1037400000000C0004000004593402008C00050E37 +:103750000402005F4A025A0700000000417820007E +:103760008C1835100400000959CC200B801021C0A2 +:103770000400000659CC000C82000500000000FF88 +:10378000040000024803C8574812580D4178000051 +:103790008C1835120400000259CC000A4802580C5B +:1037A00080100C00040007AA820414800000001D91 +:1037B00004001006592C04058C00051E0400002787 +:1037C000420008000000001C4C0400004C0C0000EB +:1037D0004C1400000201F80000020C5E0402000814 +:1037E0004A025A0700000000593000120201F80096 +:1037F0000010A35380000D40040209A05C002800C3 +:103800005C0018004A025A050000010348065808E7 +:10381000480E580B901409C04806580A5C0008006E +:103820004C5000004C54000083CCA4000000000C5D +:10383000832CAC000000000E0201F8000010941A66 +:103840005C00A8005C00A00059300008840005342A +:10385000480260080401F78E4C0400004C0C000084 +:103860004C1400000201F80000020C5E0402000883 +:103870004A025A0700000000593000120201F80005 +:103880000010A35380000D400402097C480658082C +:103890005C0028005C00180059301402480A5C07DC +:1038A000480E580B901401C04802580A0201F80053 +:1038B00000109FC25C0008000201F800001093C4D1 +:1038C0000201F800001093FF0401F779592C020B54 +:1038D0008C000502040007A0592C02098C00050E7B +:1038E0000402079D59300012800C0D800400079AD5 +:1038F0004803C857480FC8578C18351402000000F9 +:1039000000109B2C80000540040007934807C85610 +:103910000201F00000109B2C592C020B8C000502B8 +:103920000400074B59300012800001C00400074B0F +:10393000592C02098C00050E040207480201F00010 +:1039400000109B2C1C01F00059CC200659CC2807F4 +:103950000401F0440401F0431C01F0004933C8574E +:10396000593000048C00053E040200395930001D16 +:10397000800001C0020208000010A28459325809D8 +:10398000592C0C09417828004178180084040D58FE +:1039900048065C0941783000593402008C00050E5D +:1039A0000402001F0201F80000020C5E040200097C +:1039B0004A025A0700000000593000120201F800C4 +:1039C0000010A35380000D404807C8570402092B7C +:1039D0004A025A050000010348065808480E580BD1 +:1039E000901409C04806580A4933C85759300C0288 +:1039F00048065C070201F80000109FC20201F800AF +:103A000000109FC70201F800000203F10201F80054 +:103A100000104A150201F00000020BA1592C020B04 +:103A20008C000502040007E0593000124803C85713 +:103A3000800001C0040007DF592C02098C00050E2C +:103A4000040207DC0201F00000109B2C0201F800C8 +:103A500000107266040007C64933C8571C01F00005 +:103A60004C5C00004C6000004010B8004014C000E6 +:103A70005930001D800001C04C14000002020800F3 +:103A80000010A2845C00280059325809592C020BFE +:103A90008C000502040200308C0005000400003593 +:103AA0004A026203000000024A026403000000436D +:103AB000405C0000592C081080040C80406000001D +:103AC00080040480040010288060C1C00400001E2F +:103AD000593000048C00050E0400000859300A22F9 +:103AE00082040500000000034C1400000C01F823C0 +:103AF0005C00280004000014593000048C00053ECE +:103B00000402000C485E601448626012497A620543 +:103B10005C00C0005C00B8000201F80000100DA3BA +:103B20000402000F593008040201F00000020B34B7 +:103B30004C1400000201F800001072665C002800BE +:103B4000040007F15C00C0005C00B8000201F00056 +:103B500000107F825C00C0005C00B8004933C85789 +:103B60001C01F0004807C8574004C0000401F7D703 +:103B70004803C8570401F7F400108EE400108EEAE1 +:103B800000108EF000108EE20201F8000010032EEB +:103B900059300223480350778200040000000008D7 +:103BA000480350760401F00C593002234803507644 +:103BB0008200040000000008480350770401F0066A +:103BC00059300223820004000000000848035076A8 +:103BD00048035077405C10004178080059A80076EF +:103BE0000201F80000106CDD800409C00402003CF2 +:103BF00040085000592C1001800811C00400003802 +:103C00005808020582000500000000FF82000580C0 +:103C10000000004A040200324828100259A8007629 +:103C200040601000417808004C2800000201F800B4 +:103C300000106CDD5C005000800409C00402001F0D +:103C40004004180059A80077800C1C008008104020 +:103C5000040207FE480E6029592C4801802449C0FF +:103C6000020008000010032E58240A06592C1812CE +:103C7000593030228C18350604000003402800001B +:103C800080040C00800400E08004054048026020AD +:103C90008C18350A0402000340280000800C1C0028 +:103CA000480E601E593002234802642382000540FA +:103CB000000000011C01F000592C1810405C0000AD +:103CC00080600400800C0580040007DE4933C8577B +:103CD000485FC8574863C857480FC85780000580D9 +:103CE0001C01F00083380480000000580402100515 +:103CF0008338048000000040040010020C01F00230 +:103D00001C01F00000108F5900108F5900108F59BE +:103D100000108F5900108F5900108F5900108F59C3 +:103D200000108F5900108F5900108F5900108F5BB1 +:103D300000108F5900108F5900108F5900108F59A3 +:103D400000108F6800108F5900108F5900108F5984 +:103D500000108F5900108F9600108F5900108F5946 +:103D600000108F590201F8000010032E4933C85784 +:103D70000201F800001070BA4A026203000000025B +:103D800059A8002C48026205593000125930081613 +:103D900080040C80480660160201F00000106DB12E +:103DA0004933C8570201F80000106DB14D3C0000C6 +:103DB000417A78000201F8000011007B5C02780073 +:103DC000420000000010D0230201F8000010C0588B +:103DD0000201F80000109904040000104D2C0000AE +:103DE000593258094A025A050000010359300402A9 +:103DF00048025C074A025A0700000029497A580A1B +:103E0000592C0C0984040D5048065C090201F80085 +:103E1000000203F15C025800420030000000001470 +:103E2000417828004D4000004D44000059368C0375 +:103E30004200200000000002420280000000002931 +:103E40000201F8000010A2965C0288005C0280006B +:103E50000201F00000020BA14933C857593008098C +:103E60004978080A4978080B580414098408155839 +:103E700048080C091C01F0004807C8578C040D3E87 +:103E800004020024497A5A0759300028800005406E +:103E900004000018497A5A074C0400004C0800003E +:103EA0004C0C00004C1000004C1400004000280096 +:103EB00058141003400400008008148048082803A8 +:103EC000401400000201F80000100AF75C0028000E +:103ED0005C0020005C0018005C0010005C00080022 +:103EE000592C020780000540040200090401F00576 +:103EF000592C04098C00051C04000002592C0803ED +:103F00004807C8574A025A07000000151C01F00074 +:103F10005930002880000540040000094A025A0771 +:103F200000000011593000284C0400000201F80084 +:103F300000100AF75C0008000401F7F54807C856AE +:103F40004A025A07000000071C01F0008338048071 +:103F5000000000580402100783380480000000406D +:103F6000040010044D2C00000C01F8035C02580002 +:103F70001C01F00000108FF500108FF500108FF578 +:103F800000108FF500108FF500108FF800108FF7DC +:103F900000108FF50010907D00108FF500108FF548 +:103FA00000108FF500108FF500108FF500108FF5C1 +:103FB00000108FF500108FF500108FF500108FF5B1 +:103FC0000010915A0010918A0010916200108FF732 +:103FD000001091960201F8000010032E1C01F00061 +:103FE0005930001D800001C0020208000010A284A8 +:103FF000593000088C00050E0400007E8C0005007E +:10400000040000708C00051C0400000984000500F9 +:104010004802600859325809592C3C09841C3D5803 +:10402000481E5C090201F00000020C0459325809D4 +:10403000592C3C09841C3D58593000088C00051C43 +:10404000040207F3481E5C0942000000000000055E +:104050004000000080000040040207FE59300008C4 +:104060008C00051C040207EA59CC0808592C0205EB +:1040700082000500000000FF82000580000000486B +:104080000402000C497A580C82040500000000FF6D +:1040900004000008592C0408800001C00400000539 +:1040A0000201F8000010A1700201F00000100C33B2 +:1040B000900421C04812580A41782000820405006B +:1040C00000000C000400000259CC200982043500D5 +:1040D00000000FFF04020027481E5C094A025A072D +:1040E00000000000801831C00200000000100C33F6 +:1040F000417820008C1835100400000259CC200BA8 +:104100004812580D417800008C1835120400000246 +:1041100059CC000A4802580C80100C00020018000C +:104120000010032E0200000000100C3382041480E3 +:104130000000001D0402100C4C5000004C54000004 +:1041400083CCA4000000000C832CAC000000000E07 +:104150000401FBC65C00A8005C00A0000201F000A6 +:1041600000100C330401FB6B0201F00000100C3353 +:10417000412C78000201F8000010058502000800BB +:104180000010032E492C780A841C3D52481C7C09DF +:104190004A025A05000001034812580B900401C05E +:1041A0004802580A583C0405583C1006583C22095D +:1041B00048025C05480A580648125A090401F7C724 +:1041C0008C00052404000792593258094C00000065 +:1041D000592C04098C00051C5C000000040200033B +:1041E0004A026012FFFFFFFF840005240401F788E4 +:1041F0001C01F00059A8002C4802620559325809E8 +:104200004A02620300000002592C240959300808B0 +:104210004933C8574807C857592C02058200050082 +:10422000000000FF82000580000000480402000436 +:104230008C102500020200000010A1B44A025A07A7 +:10424000000000008C040D1E0400003841780800B6 +:10425000497A580A592C1C0A593000088C00052C40 +:10426000040000034A0260127FFFFFFF5930001272 +:1042700059341200497A62058C08150E0402007C3C +:104280004807C857400410000201F8000010A3536B +:10429000480A580B80000D4004020EF85930040201 +:1042A00048025C07480658084A025A050000010304 +:1042B0004C040000592C0A098C040D120400000360 +:1042C0004A025A070000000C5C0008004C04000081 +:1042D0004C0C00004C1000000201F80000109FC2BE +:1042E0005C0020005C0018005C0008008C102512A7 +:1042F0000402001C4C0C00000201F80000109FC7D3 +:104300000201F800000203F10201F80000104A1552 +:104310005C0018008C0C1D180200000000020BA1AC +:104320000201F00000109AEC4813C8578C102518B1 +:104330000400004D41780800592C1C0A820C0580AD +:1043400000001000040007C58C102512040007C3EC +:10435000592C780A583C080B583C1C0A0401F7BF3A +:104360004807C857592C780A59300402592C1405AB +:104370008C08151E0402000D592C120748007C07FA +:104380004804780848087A078410251248107C09E8 +:104390004C0C00000201F8000010059F403E580040 +:1043A0000401FB170401F7D948025C0748065808C6 +:1043B000583C080D583C000C80040C00820414800A +:1043C0000000001D04001006583C1001480A580166 +:1043D00049787801420008000000001C82040C00AB +:1043E000000000144C0C00004C5000004C54000025 +:1043F000823CA40000000009832CAC0000000009EE +:104400004C1000004C3C00000401FB185C007800DC +:104410005C0020005C00A8005C00A0008410251255 +:1044200048125C09403E58000201F8000010059F48 +:104430000201F80000109FC2420340000010CBFFB1 +:1044400059A1D80680EDD9C0020008000010032E43 +:1044500048EFC85758EC00084803C8570801F8004F +:104460000401F7AA4933C8571C01F000593014154C +:10447000480BC8578C08151C0402000E800005402C +:104480004803C8570400077F80042C800402177D6E +:104490008C08151404020005592C08104807C85749 +:1044A00080040480480260178408155C480A64157B +:1044B000593010088408151E480A60084C10000086 +:1044C0004C3C00004D400000592E82074A025A071A +:1044D000000000010201F80000109FC249425A0783 +:1044E0005C0280005C0078005C002000497A580A79 +:1044F0008C102512040000064D2C0000403E580090 +:104500000201F8000010059F5C025800821025008F +:10451000FFFFEDFF48125C0959301006800811C0FA +:104520000200000000109B2C59A8002C8008048079 +:104530000202100000109B2C4A025A0500000103E1 +:104540004A025A0700000006497A5C0A492FC857F8 +:104550000201F800000203F10201F80000104A1500 +:104560000201F00000020BA159325809592C04092C +:104570008C00051804000004412DF8000201F00031 +:1045800000100C521C01F0004933C8575932580929 +:10459000497A580A4A025A07000000004A025A059E +:1045A00000000103593008124807C857800409C0A9 +:1045B0000402000E4806580859300C0248065C07F1 +:1045C0000201F80000109FC20201F80000109FC70E +:1045D0000201F800000203F10201F80000104A1580 +:1045E0000201F00000020BA1593402008C00050EFC +:1045F00004020008593000120201F8000010A35311 +:1046000080000D400401FE1D480658080401F7EB28 +:10461000592C02098C00050E040207F74933C857CC +:104620000201F00000109B2C4933C8575932580939 +:10463000812E59C0020008000010032E592C020BD5 +:104640008C000502020008000010032E4A026006DA +:10465000000000021C01F0005930001D800001C064 +:10466000020208000010A284593000084933C857DC +:104670004803C8578C00050E040000378C00050065 +:10468000040000298C00051C0400000A84000500B9 +:104690004802600859325809592C3C09481FC8572C +:1046A000841C3D58481E5C090201F00000020C0405 +:1046B00059325809592C3C09841C3D58593000087E +:1046C0008C00051C040207F2481E5C094200000031 +:1046D000000000054000000080000040040207FECA +:1046E000593000088C00051C040207E9592C02050A +:1046F00082000500000000FF8200058000000048E5 +:1047000004020003497A580C0401F002497A580A5D +:10471000481E5C094A025A07000000000201F0002E +:1047200000100C338C000524040007D959325809B5 +:104730004C000000592C04098C00051C5C00000092 +:10474000040200034A026012FFFFFFFF84000524F9 +:104750000401F7CF1C01F0004933C8574178080025 +:1047600083380480000000580402100B8338048052 +:1047700000000040040010084D2C00005932580978 +:10478000812E59C00C0208065C0258000201F0009C +:1047900000020BA1493BC8571C01F000001091FF1B +:1047A000001091FF001091FF001091FF001091FF89 +:1047B00000109201001091FF001091FF001091FF76 +:1047C000001091FF001091FF001091FF001091FF69 +:1047D000001091FF001091FF001091FF001091FF59 +:1047E000001091FF001091FF001091FF0010920443 +:1047F000001091FF001091FF001091FF0201F800DE +:104800000010032E59CC0808497A58084807C857A1 +:104810005930040248025C074A025A0500000103AD +:10482000900401C04802580A4A025A0700000000DA +:10483000800409C002000000000203F159CC000905 +:104840004802580B82042500000001000400000209 +:1048500059CC200B4812580D8204050000000200BC +:104860000400000259CC000A4802580C80100C00C9 +:10487000020018000010032E02000000000203F1E5 +:10488000820414800000001D04001006592C040549 +:104890008C00051E0400000E420008000000001CF1 +:1048A0004C5000004C54000083CCA4000000000CCD +:1048B000832CAC000000000E0401F9EC5C00A800A1 +:1048C0005C00A0000201F000000203F10401F99174 +:1048D0000401F1CB83380480000000930202180029 +:1048E0000010032E833804800000008502001800A9 +:1048F0000010032E0C01F0010010924D0010924B9D +:104900000010924B001092540010924B0010924BEA +:104910000010924B0010924B0010924B0010924BE3 +:104920000010924B0010924B0010924B0201F800C5 +:104930000010032E4A02620300000001493A64039A +:1049400042000800800000400201F00000020B421B +:10495000833005800011162C020208000010032E7F +:104960004933C85759CC14040201F80000109D5E69 +:1049700004000025591C020382000580000000008D +:1049800004000021591C000A813405800402001E25 +:1049900059CC1204820805800000FFFF04000007C4 +:1049A000591C020282000D800000FFFF040000037A +:1049B00080080580040200144D3000004D1C0000EA +:1049C000411E60000401FA0B5C0238005C026000CA +:1049D0000400000B59CC00058C0005000402000304 +:1049E0000401F9AB0401F0034A023A03000000029B +:1049F0004A026403000000860401F0050401F9EC9A +:104A0000040007F54A026403000000874D2C0000F3 +:104A10000201F8000010B8300201F80000104DD774 +:104A20005C025800593402008C00050E0400000D91 +:104A300059CC14040201F80000109D5E0400000926 +:104A4000591C04158C00051A040000064D300000A6 +:104A5000411E60000201F80000109B415C026000F2 +:104A60001C01F00083380580000000130402000BD5 +:104A7000593004034803C85782000D8000000086A7 +:104A80000400002082000D80000000870202080060 +:104A90000010032E0401F01B83380580000000275E +:104AA000040000058338058000000014020208009D +:104AB0000010032E493BC8570201F80000106DD1C9 +:104AC0000201F800001099040200000000107EFFAF +:104AD0004D2C0000593258090201F800000203F180 +:104AE00059300A2682040D800000000302000800ED +:104AF00000109A195C0258000201F00000107EFFBD +:104B00004933C8570201F00000020BA18338058029 +:104B10000000001304020006593004034803C8577C +:104B200082000480000000850C01F053833805806A +:104B300000000027040200474933C8570201F8006B +:104B400000106DD14D3C0000417A78000201F80060 +:104B50000011007B5C02780042003000000000156C +:104B6000417828004200200000000003420280003B +:104B7000000000294D4000004D44000059368C03D0 +:104B80000201F8000010A2965C0288005C0280001E +:104B9000420000000010D0230201F8000010C058AD +:104BA0000201F800001099040200000000020BA1AD +:104BB0004D2C000059325809592C0205820005007D +:104BC000000000FF820005800000001402020800BF +:104BD00000109A194A025A050000010359300402D4 +:104BE00048025C07497A580A49425A070201F8000C +:104BF000000203F15C0258000201F00000020BA168 +:104C00008338058000000089040000058338058092 +:104C10000000008A0202000000107F820201F800FA +:104C2000001072660202000000107F8259300A03F1 +:104C3000820405800000000A0400002A8204058026 +:104C40000000000C040000270201F8000010032EF1 +:104C50008338058000000014040207EA4933C8576E +:104C60000201F80000106DD1420280000000000631 +:104C70000401F7CC0010932C0010932A0010932A03 +:104C80000010932A0010932A0010932A00109332E8 +:104C90000010932A0010932A0010932A0010932AE0 +:104CA0000010932A0010932A0201F8000010032E2E +:104CB0004933C85759A8002A480260064A026203CD +:104CC0000000000A1C01F0004933C85759A8002A07 +:104CD000480260064A0262030000000C1C01F0005A +:104CE0005932680A833805800000008904000008F2 +:104CF000833805800000008A040000294933C85722 +:104D0000493BC8570201F00000107F824933C85761 +:104D10005932580959300A268204058000000003E0 +:104D20000402000A0201F8000010990404000012B5 +:104D30000201F800000203F10201F80000104A1518 +:104D4000497A60090401F00C59300226820005807E +:104D5000000000010402000859300C17820405808D +:104D6000000000390400001D8204058000000035A9 +:104D70000400001A59CC0C074806641A59CC0A07DB +:104D80004806621A59300203480264264A02620346 +:104D9000000000110201F00000107EFF4933C857E7 +:104DA0005930022682000580000000010402004AFA +:104DB00059300C17820405800000003504000007FC +:104DC000820405800000001E0400000482040580A7 +:104DD00000000039040200404933C8574C5C000011 +:104DE0004C6000004D1C00004130B8004004C00081 +:104DF0000201F80000109D0104020031826005806C +:104E00000000003504020004591C0C158C040D022E +:104E10000400002B0201F80000107F43040000286A +:104E2000491FC8574933C8578260058000000035C4 +:104E300004000004826005800000003904020002C2 +:104E40004932381D585C081C4806601C48626403DF +:104E50004A026203000000014A02640700000001E8 +:104E6000585C080A4807C8574806600A585C0C1680 +:104E70004807C85748066416585C0A164807C857BA +:104E800048066216585C0A174807C8574806621752 +:104E9000585C0C1A4807C8574806641A585C0A1A26 +:104EA0004807C8574806621A491E60274200080092 +:104EB000800000400201F80000020B42405E6000EA +:104EC0005C0238005C00C0005C00B8000201F00029 +:104ED00000020BA10201F800001099040400000B6D +:104EE0004D2C0000593258090201F800000203F16C +:104EF00059300226820005800000000302000800ED +:104F000000104A155C0258000201F00000020BA1DB +:104F10004803C8564C5000004C540000412C780007 +:104F20004C3C000042002800000000018204048084 +:104F3000000001010400100342000800000001000D +:104F400040043000420008000000001C83CCA40094 +:104F50000000000C832CAC000000000E0401F8439C +:104F6000821834800000001C592E5801812E59C02F +:104F7000020208000010059F0201F80000100585DC +:104F800004000016801428004A0258050000011091 +:104F9000492C780182180C800000003D04021006A4 +:104FA00040180800832CAC00000000060401F82F14 +:104FB0000401F00A821834800000003C420008001E +:104FC0000000003C412C7800832CAC00000000065F +:104FD0000401F8260401F7E95C007800841429C074 +:104FE00082142D400000000348147A05403E58000A +:104FF0005C00A8005C00A0001C01F000492FC8570D +:10500000812E59C00400000F4D2C00004C3C0000C4 +:10501000592C7801803C79C004000006497A580177 +:105020000201F800000203F1403E58000401F7F9C4 +:105030005C0078000201F800000203F15C025800F5 +:105040001C01F0004803C8564C58000082040400BC +:10505000000000038000B1040201F8000010C12B21 +:105060005C00B0001C01F0004803C8564C5800001A +:1050700082040C00000000038004B1040201F80067 +:105080000010C12B5C00B0001C01F000591C0C0783 +:1050900082040580000000030400000782040580EC +:1050A0000000000204000004820405800000000AE1 +:1050B0000402002D4D3000004D2C0000411E600008 +:1050C000593258090201F800001099040400002226 +:1050D00059300C07820405800000000A04000023F8 +:1050E000820405800000000304020009592C0A050F +:1050F00082040D00000000FF82040D8000000014F7 +:10510000040000034A026226000000030401F81CA8 +:105110004D4000004202800000000013592C0A0993 +:1051200084040D540201F80000104E755C028000EA +:105130000201F80000109FC20201F800000203F112 +:10514000593002268200058000000003020008009A +:1051500000109A190201F80000107EFF5C0258004E +:105160005C0260001C01F0004A025A0700000013B4 +:105170004A0262260000000A0401F7EE592C0409D5 +:105180008C000512040000098400051248025C0925 +:105190004D2C0000592E580A0201F8000010059FFE +:1051A0005C025800497A580A1C01F00059CC0005ED +:1051B0008C0005000402000E591C040782000580C3 +:1051C000000000020402000A591C00048C00053E85 +:1051D00004020007591C0C038204058000000085AE +:1051E00004000003820405800000008B1C01F00015 +:1051F0004933C8574D3C00004202780000000002CD +:105200005930040782000C800000001402021800CC +:105210000010032E0C01F80A5C0278001C01F0005B +:105220004933C8575930040782000C80000000142D +:10523000020218000010032E0C01F001001094A8C7 +:10524000001094A5001094A5001094E5001094A3FC +:10525000001094A5001094C1001094A5001094A310 +:1052600000106C000010A3E5001094A5001094A598 +:10527000001094A3001094A3001094A3001095DBD9 +:10528000001094A50010BED30010BED30201F80098 +:105290000010032E4803C856800005801C01F00052 +:1052A0004803C8568D3E7D02040200160201F80034 +:1052B000001099040400000F593258094178080081 +:1052C0004D40000042028000000000050201F8008D +:1052D00000104E755C0280000201F80000109FC2B1 +:1052E0000201F80000109AC70201F800000203F161 +:1052F0000201F80000107EFF82000540000000015E +:105300001C01F0004933C8570201F800001099044D +:105310000400000959300809580402098C000512DC +:10532000040000054D400000420280000000000C17 +:105330000401F0110201F800001049940400000B70 +:105340005930041584000556480264150401F8120A +:105350004DF000005930041584000516480264150C +:105360005C03E0001C01F0004D40000042028000A0 +:10537000000000100201F8000010B0444A02640767 +:10538000000000064A026203000000075C02800081 +:105390001C01F0004933C8570201F80000106E816B +:1053A0004DF000000401F8DE82000C800000000EC9 +:1053B000020218000010032E0C01F001001094FFEF +:1053C00000109586001095160010959A0010958192 +:1053D000001094FD001094FF001094FF001095033E +:1053E000001094FF001094FF001094FF001094FF31 +:1053F000001095160201F8000010032E5C03E00077 +:105400000200080000106E6E0401F7A35C03E000C8 +:105410000200080000106E6E5930040782000580FB +:10542000000000030402079F593002038200058038 +:105430000000000D0400079B8D3E7D0204020799C9 +:105440004D3400005932680A0201F80000104A1574 +:105450005C0268000401F7930201F8000010A496B2 +:10546000593000048400055C480260040201F80021 +:1054700000106E6E5930040782000580000000069F +:105480000400005B8D3E7D0204020059497A6226C9 +:1054900059300203820005800000000D0400000363 +:1054A0004A026226000000030401FBDA0402000441 +:1054B0008D3E7D00040000440401F0384D2C0000B6 +:1054C0004D400000593258090201F80000109AC7F7 +:1054D000592C04098C000512040000094D2C000011 +:1054E0008400051248025C09592C080A400658003D +:1054F0000201F8000010059F5C0258004D400000BA +:105500004202800000000005592C0A098C040D0E8F +:105510000400000442028000000000020401F005C3 +:105520008C040D1204000003420280000000000CF5 +:105530000201F80000104E755C0280000201F800C4 +:1055400000109FC28D3E7D00040200040201F8009D +:105550000010C16C040200040201F800000203F113 +:10556000497A60095C0280005C0258008D3E7D0033 +:105570000400000D59300A2682040D80000000034B +:10558000040200064D3400005932680A0201F80096 +:1055900000104A155C0268000201F80000107EFF4E +:1055A0000401F0130201F8000010C16C04020006AF +:1055B00059300A2682040D80000000030200080012 +:1055C00000109A194A026403000000854A0262032F +:1055D000000000094A0264070000000242000800BF +:1055E0008000404B0201F80000020B425C03E00027 +:1055F0000202080000106E818200054000000001D8 +:105600001C01F0000201F80000106E6E0201F800AB +:1056100000100C810401F791598C000F8130058036 +:10562000040200040201F800001071A10402001D30 +:105630000201F800001102D680C4004004020006F6 +:1056400059300C03820405800000004004000770FC +:105650000401F7820201F80000106D8C04000011B3 +:105660000201F8000010032E0401F81B04020004DC +:105670000201F8000010716A0402000A0201F80039 +:105680000011015D80C40040040207F359300C038F +:1056900082040580000000400400075D0401F76FEC +:1056A0005930020382000C800000000E0202180034 +:1056B0000010032E0C01F7420401F8074201880094 +:1056C0000000000104000003420188000000000007 +:1056D0001C01F000417A3000420320000000BF327C +:1056E0005990000481300580040000098393240050 +:1056F00000000010811A30008318048000000005AB +:10570000040017F882000540000000011C01F000B1 +:105710000401F803400188001C01F0005930000426 +:105720008C00053E040000108C00050C0402000EE5 +:105730008C0005160402000682000D000000001F08 +:1057400082040580000000050402000442000000FD +:10575000000000030401F005420000000000000109 +:105760000401F002593002031C01F0004933C8570C +:105770000201F80000106E814DF000005930020364 +:1057800082000C800000000E020218000010032EA0 +:105790000C01F001001095F500109612001095F91B +:1057A000001095F3001095F3001095F3001095F399 +:1057B000001095F3001095F3001095F3001095F389 +:1057C000001095F3001095F3001095F30201F80016 +:1057D0000010032E5C03E0000200080000106E6E53 +:1057E0000401F6AD5C03E0000200080000106E6EDC +:1057F0004D2C0000593258095930040382000580AD +:105800000000005202000800001010D70401FB0144 +:10581000020008000010032E4A025A07000000058B +:105820000201F800000203F10201F80000104D1916 +:105830000201F80000107EFF5C0258008200054063 +:10584000000000011C01F000598C000F8130058020 +:105850000402001B593000048C00052004000004E1 +:1058600084000520480260040401F01B420010007F +:105870000010CF5B5008100058080002820005801D +:10588000000001000400000B5808000B8130058067 +:10589000020208000010032E0201F800001102D6D7 +:1058A00080C40040020208000010032E0401F7CE5D +:1058B0000201F800001071A10402000D593000042B +:1058C0008C000520040000048400052048026004C8 +:1058D0000401F7C50201F800001102D680C400409F +:1058E000040007C10201F8000010032E5930020322 +:1058F00082000C800000000E020218000010032E2F +:105900000C01F7A54D3400004D2400005932481C0D +:105910005932680A593004074933C8574803C857F1 +:1059200082000C8000000014020218000010032EF8 +:105930000C01F8045C0248005C0268001C01F000E5 +:1059400000109669001096970010982F0011090E0C +:10595000001098220010982A0010B033001096759D +:105960000010981D00106BE80010989F00109664BE +:1059700000109664001096640010966400020BA15B +:105980000010A11B0010A11B0010BEE30010BEE31D +:105990000201F8000010032E0401FBE102000000E8 +:1059A000001086FC1C01F0000201F80000106E815E +:1059B0000201F80000106DD10201F80000106E6EB7 +:1059C0000201F00000020BA14A0260060000000183 +:1059D0001C01F0004D3400004C5C00005930020303 +:1059E0008200058000000011040200185932680A84 +:1059F0004130B8000201F80000020B7F04000012E1 +:105A00004A026203000000014A0264030000001E13 +:105A1000585C041A4802641A585C021A4802621A56 +:105A20004936600A585C001C4802601C4A02640740 +:105A30000000000142000800800000400201F80060 +:105A400000020B42405E60000201F80000020BA160 +:105A50005C00B8005C0268001C01F000420000001D +:105A60000010D02E0201F8000010C0580201F8000A +:105A70000010B8C75930020382000C800000000EED +:105A8000020218000010032E4803C8570C01F00151 +:105A9000001096B200109672001096B4001096B2E4 +:105AA000001096B4001096B40010966A001096B2DA +:105AB00000109666001096B2001096B2001096B2D2 +:105AC000001096B2001096B20201F8000010032EEA +:105AD000833405800010E33E0200000000107EFFCA +:105AE0004D2C00005934040082000500000000FF26 +:105AF00082000C800000000C020218000010032E2F +:105B00005930340382180D80000000510400001049 +:105B100082180D800000000404020004420000000E +:105B2000000000010401F00682180D800000000052 +:105B30000402000342000000000000014803C857AF +:105B40000C01F82D5C0258001C01F000420000001E +:105B50000010D02A0201F8000010C0580201F8001D +:105B600000101FDE5934041282000500000000FFFF +:105B70000400001C8000004048026C124D30000000 +:105B80000201F80000107F435C00000004000014D4 +:105B90004A000407000000074A00000600000398BE +:105BA000492388304A038832FFFFFFFF4926601CE3 +:105BB000497A60094936600A4A0264070000000118 +:105BC0004A026203000000014A026403000000511F +:105BD0005C0258000201F00000106D5C40026000A1 +:105BE0005C02580042002800000000010201F000A1 +:105BF0000010A46900109709001097C50010970BBA +:105C0000001097540010970B001097E20010970BAC +:105C10000010971500109709001097E200109709DF +:105C2000001097240201F8000010032E59300403DD +:105C300082000D80000000160400004282000D80EA +:105C4000000000040400003F82000D8000000002FC +:105C50000400003C0401FB320400003A5930040304 +:105C600082000D8000000022040000CB82000D8025 +:105C700000000039040000D582000D8000000035CE +:105C8000040000D282000D800000001E0400002FDE +:105C90000401F9E0040000070201F80000109FBDB4 +:105CA000040200040201F80000104AA80401F025D3 +:105CB0005930040382000D8000000001040200142A +:105CC0005930081C580402008C0005000200000036 +:105CD0000010A4625930080A5804040382000580A9 +:105CE000000007FE04020007420028000000000137 +:105CF0000201F8000010A4690201F00000020BA1EB +:105D00000201F80000104A740400000E5934040324 +:105D100082000480000007F00402100C4D3C0000DB +:105D2000417A78000201F8000011007B5C027800E3 +:105D3000420000000010D0230201F8000010C058FB +:105D40000201F800001086FC0201F00000107EFF46 +:105D50000401F9B0040000040201F80000109FBD26 +:105D6000040000B359300C038204058000000016C3 +:105D70000400005F8204058000000002040200317C +:105D800059A8021B8C0005020402001659A81078BD +:105D90008C08153E040200130201F8000010515552 +:105DA000040200100201F8000010518004020006F5 +:105DB00042000000000000010201F800001051261E +:105DC0000401F09B4A035014000000014202D80075 +:105DD000000000010201F800001050AF0401F0942F +:105DE0005934041282000500000000FF0400001571 +:105DF0008000004048026C125932481C497A620502 +:105E00004D3000000201F80000107F435C000000EC +:105E10000400000B497800094A000407000000074D +:105E20004A000006000003984926601C4936600AB3 +:105E30004A026407000000010401F02D40026000E6 +:105E40005930040382000D80000000020402001695 +:105E50005934040382000580000007FE0402000C90 +:105E600059A810788C08153E0402000459A8021B9A +:105E7000840005404803521B0201F80000104273E1 +:105E80000201F800001086FC0401F012420000003C +:105E9000000001030201F800001081CB02000000A5 +:105EA00000107EFF0201F800001086FC4D3C00004F +:105EB000417A78000201F8000011007B5C02780052 +:105EC000420000000010D0230201F8000010C0586A +:105ED00059A810788C08153E040200030201F8004E +:105EE00000101CD90201F00000107EFF42000800E3 +:105EF000000000030201F8000010463F4A0262035E +:105F0000000000014A026403000000020201F000E8 +:105F100000106D5C0401F93F0402078A0201F800D9 +:105F200000101CD94D3C0000417A78000201F800B5 +:105F30000011007B5C027800420000000010D023BA +:105F40000201F8000010C0584200300000000018A4 +:105F50004178280042002000000000004D40000071 +:105F60004D44000059368C03420280000000002995 +:105F70000201F8000010A2965C0288005C0280001A +:105F80000201F00000107EFF0201F80000104AA894 +:105F90000401F7C5420000000010D02D0201F800F6 +:105FA0000010C05842000000000001050201F80086 +:105FB000001081CB040007BC0201F800001081F53D +:105FC000040207B91C01F00059300C030201F8006B +:105FD00000109D010202000000020BA1836C0580ED +:105FE00000000003040000044A02600600000002F2 +:105FF0001C01F00059300403480264174A0262266B +:10600000000000014A026403000000854A026203A6 +:10601000000000094A026407000000024200080074 +:106020008000004B0201F00000020B420201F80068 +:10603000001086FC4D3C0000417A78000201F80017 +:106040000011007B5C027800420000000010D023A9 +:106050000201F8000010C058497A60094A0264073A +:10606000000000074A02600600000398497A6205B2 +:106070001C01F000420000000010D0340201F800C2 +:106080000010C0580401F676420000000010D02F26 +:106090000201F8000010C0580201F8000010B8C753 +:1060A0000201F00000107EFF420000000010D0311D +:1060B0000201F8000010C0581C01F000420000006E +:1060C0000010D0300201F8000010C058593002030F +:1060D00082000C800000000E020218000010032E47 +:1060E0004803C8570C01F001001098480010967240 +:1060F00000109848001098480010984800109848E0 +:1061000000109848001098480010984800109672A7 +:106110000010984A0010967200109852001098488B +:106120000201F8000010032E4A0264030000008BF5 +:106130004A0262030000000B420008008000404B4E +:106140000201F00000020B4259300A260401F8B1A6 +:106150000400000F4D2C0000593258094A025A071A +:1061600000000006497A5C0A0201F800000203F10F +:1061700059300A2682040D80000000030200080046 +:1061800000104A155C025800497A60094D3C000035 +:10619000417A78000201F8000011007B5C0278006F +:1061A00042003000000000110201F8000010B7E0CA +:1061B000420000000010D0230201F8000010C05877 +:1061C0004C5C00004130B8000201F80000107F4331 +:1061D000040000094936600A4926601C4D30000061 +:1061E000405E60000201F80000107EFF5C0260006B +:1061F0000401F002405E60005C00B800497A60096A +:106200004A026407000000014A0264030000000122 +:10621000592404008C00050A040200114A02640794 +:10622000000000044A026203000000074A026429D9 +:106230000000000142003000000000044D4000005A +:106240004202800000000029417828000201F80085 +:106250000010B21F5C0280001C01F0004200080028 +:106260000000000B0201F8000010463F4A026203E2 +:10627000000000010201F00000106D5C420000000F +:106280000010D0360201F8000010C0585930020347 +:1062900082000C800000000E020218000010032E85 +:1062A0004803C8570C01F001001098D0001098B8AE +:1062B000001098BC001098D1001098BA001098B83F +:1062C000001098B8001098B8001098B8001098B84E +:1062D000001098B8001098B8001098B8001098B83E +:1062E0000201F8000010032E0201F80000100C81DA +:1062F0004D2C0000593258094A025A070000000686 +:106300000201F800000203F15C025800497A6009BA +:106310004A0262260000000A4A0264030000008567 +:106320004A026203000000094A02640700000002FA +:10633000420008008000404B0201F00000020B42C6 +:106340001C01F0000201F80000106E814DF0000009 +:106350000401FCE1040200040201F8000010716A6B +:106360000402000D0201F8000011015D80C400402C +:10637000040200055C03E0000201F80000106E6EEC +:106380000401F7DC0201F80000106D8C0202080025 +:106390000010032E5C03E0000201F80000106E6E96 +:1063A0005930020382000D80000000030200080043 +:1063B0000010032E82000C800000000E0202180064 +:1063C0000010032E0C01F7B959A8000D59A8084F69 +:1063D0008004040080080480040210048200054048 +:1063E000000000011C01F000480BC8578000058028 +:1063F0001C01F0000401F8074201880000000000C1 +:106400000400000342018800000000011C01F000AC +:106410004C0400005930080959A8000C800404807D +:106420000400100759A8000A800404800402100424 +:10643000800409C05C0008001C01F000800409C051 +:10644000020208000010032E4803C8560401F7FAA0 +:106450004803C8564D3000000201F80000020B7FCF +:106460000400000A0401F8324D38000042027000B6 +:106470000000004B0201F80000020BC55C02700036 +:1064800082000540000000015C0260001C01F00079 +:106490004803C8564D3000000201F80000107F4349 +:1064A0000400001E0401F8224D3000000201F80033 +:1064B00000106E814DF000004D3C0000420278005B +:1064C000000020000201F800001105410201F8005F +:1064D000001105DA0201F80000110A105C027800D0 +:1064E0005C03E0000200080000106E6E5C026000B9 +:1064F0008D3E7D3E0402000B4D38000042027000CC +:106500000000004C0201F80000020BC55C027000A4 +:1065100082000540000000015C0260001C01F000E8 +:106520000201F80000020BA10401F7FA592C04083B +:10653000494A6018494E60194936600A492E600977 +:106540004A02640700000003800000C2800008C403 +:1065500080040400480260060201F80000104ACBE3 +:106560004926601C1C01F000493BC8574D30000013 +:106570000201F80000020B7F0400000D0401FFEC93 +:106580004D40000042028000000000050401F80DAB +:106590005C0280008D3E7D3E040200070201F8008F +:1065A00000020BC582000540000000015C02600093 +:1065B0001C01F0000201F80000020BA10401F7FA2F +:1065C0004803C8560201F80000106E814DF000002B +:1065D0004D3C00004D44000059368C0342027800C7 +:1065E000000020010201F800001104B00201F800CF +:1065F000001105020201F800001105DA0201F8009D +:1066000000110A105C0288005C0278005C03E00064 +:106610000200000000106E6E1C01F0004803C85616 +:106620004D3000000201F80000107F43040000120A +:10663000481A601D48EE602A4936600A0201F800D7 +:1066400000104ACB4926601C4A0264070000000182 +:10665000492E60094D380000420270000000001F02 +:106660000201F80000020BC55C02700082000540C8 +:10667000000000015C0260001C01F0004803C856E5 +:106680004D3000000201F80000107F4304000011AB +:1066900048EE602A4936600A0201F80000104ACB31 +:1066A0004926601C4A02640700000001492E600967 +:1066B0004D38000042027000000000550201F80051 +:1066C00000020BC55C027000820005400000000162 +:1066D0005C0260001C01F0004803C8564D30000009 +:1066E0000201F80000107F4304000012481A601DE8 +:1066F00048EE602A4936600A0201F80000104ACBD1 +:106700004926601C4A02640700000001492E600906 +:106710004D380000420270000000003D0201F80008 +:1067200000020BC55C027000820005400000000101 +:106730005C0260001C01F0004803C8564D300000A8 +:106740000201F80000107F43040000154926601C78 +:106750004936600A492FC8574933C857592C040590 +:106760008C00051E0400000348EFC85748EE602A5D +:106770004A02640700000001492E60094D380000FC +:1067800042027000000000000201F80000020BC588 +:106790005C02700082000540000000015C026000A5 +:1067A0001C01F0004803C8564D3000000201F800FB +:1067B00000107F430400001248EE602A481A601D52 +:1067C0004936600A0201F80000104ACB4926601CD5 +:1067D0004A02640700000001492E60094D3800009C +:1067E00042027000000000440201F80000020BC5E4 +:1067F0005C02700082000540000000015C02600045 +:106800001C01F0004803C8564D3000000201F8009A +:1068100000107F4304000012481A601D48EE602AF1 +:106820004936600A0201F80000104ACB4926601C74 +:106830004A02640700000001492E60094D3800003B +:1068400042027000000000490201F80000020BC57E +:106850005C02700082000540000000015C026000E4 +:106860001C01F0005930000A8000154002000800A9 +:106870000010032E5808040B4803C856800000403F +:10688000040010034800140B04020009580800100B +:1068900080000540040000065808020380000540FF +:1068A000040200034A001203000000011C01F00072 +:1068B0004803C8565930040382000D8000000002CE +:1068C0000400000F82000D80000000030400000C93 +:1068D00082000D800000000404000009599C081982 +:1068E0008C040D0E0400000482000D8000000000E6 +:1068F0000400000382000540000000011C01F000BC +:106900000401F807420188000000000104000003B0 +:1069100042018800000000001C01F0004803C85636 +:106920004C0000004D2C0000593004078200058007 +:10693000000000040400001D5930000980025D4081 +:10694000800001C0040000190201F80000109FBD82 +:106950000400001459300407820045800000001034 +:106960000400001082004580000000110400000DAA +:1069700082004580000000030400000C8200458076 +:106980000000000204000009820045800000000AA7 +:1069900004000006592C04058C00051E04000003A9 +:1069A000800005800401F003820005400000000122 +:1069B0005C0258005C0000001C01F0004803C8564F +:1069C0004D3000000201F80000107F430400001465 +:1069D0004926601C4936600A48EE602A4A0264076C +:1069E00000000001492E60094D3C0000417A78000A +:1069F0000201F8000011007B5C0278004D380000B5 +:106A000042027000000000280201F80000020BC5DD +:106A10005C02700082000540000000015C02600022 +:106A20001C01F0004803C85683380580000000159B +:106A30000402000E59A8005A82000580000000746C +:106A40000402000A417808000201F8000010473CE7 +:106A50004A026203000000014A02640300000029A8 +:106A60000201F00000106D5C0201F800001086FCCD +:106A70000201F00000020BA14803C85683380580CC +:106A80000000001604020007420008000000000495 +:106A90000201F8000010463F0201F0000010817270 +:106AA00083380580000000150402001359A8005A1D +:106AB00082000580000000140402000F0201F800AB +:106AC000001047AA0201F80000108C9B0402000A83 +:106AD0005934040480000540040000074200080007 +:106AE000000000060201F8000010463F0201F0001D +:106AF000001081720201F800001086FC0201F00013 +:106B000000020BA14803C856592C020782000580D9 +:106B100000000005040000021C01F0004803C856F4 +:106B2000592C02098400054A48025A091C01F00048 +:106B300059300809800409C00400000858040205FF +:106B400082000580000001520402000459A8082AAE +:106B5000480660061C01F000599C0416800001C024 +:106B60000400000882000C800000000404001005EE +:106B7000800000C2800008C480040C000401F7F506 +:106B8000593004038200058000000002040207F06F +:106B90005930080A5804040382000580000007FEEB +:106BA000040207EB42000800000000280401F7E996 +:106BB000497A6205497A60094A02620300000001CD +:106BC0004A026403000000504200080080000043B5 +:106BD0000201F00000020B424933C8574D34000057 +:106BE0005932680A593402008C00050E0400000670 +:106BF0005930040782000C800000001404021004C5 +:106C00000C01F8065C0268001C01F0000201F800AB +:106C1000001096690401F7FC0010966900109B1A99 +:106C200000109B1E00109B210010B33C0010B359B4 +:106C30000010B35D00109669001096690010966907 +:106C40000010966900109669001096690010966908 +:106C500000109669001096690010966900109669F8 +:106C600000109669001096694803C856400000005D +:106C7000400000001C01F000400000004000000047 +:106C80001C01F0005930001D4803C8575930041545 +:106C90004933C8574803C8578C0005020400000553 +:106CA0004803C85784000540480264151C01F000E1 +:106CB00042000000D0000000413008000201F8004E +:106CC000001008D20401F8100402000E59300C150F +:106CD00059300403820005800000004004000003D6 +:106CE00084040D400401F00559A8002A8200040024 +:106CF0000000000A4802620584040D42480664153B +:106D00001C01F0004933C8574D3400005932680A5D +:106D100059340A008C040D0E020008000010032EE6 +:106D20005930001D8000054004020036593004032C +:106D30004803C8578200058000000040040000039B +:106D40008D0E1D0E0402002D4D1C00004132380036 +:106D50000201F80000107F43040000264932381D6C +:106D6000591C04158400054248023C154936600A46 +:106D70000201F80000104ACB4926601C591C040788 +:106D8000820005800000000304000006591C020276 +:106D90004802641A591C04024802621A0401F005F0 +:106DA000591C02024802621A591C04024802641A61 +:106DB000491E60274A026407000000014A0264037A +:106DC000000000354A026203000000014200080092 +:106DD000800000400201F80000020B42411E6000EA +:106DE0005C023800800005805C0268001C01F00035 +:106DF000411E60005C02380059A8002C4802620560 +:106E000082000540000000010401F7F84933C8572B +:106E10004D2C00004932381D4A0262020000FFFF7B +:106E2000591E5809591C00088C00051E0400000555 +:106E30008400051E48023808497A580A0401F019EE +:106E4000592C04098C00051804000016840005184C +:106E500048025C094D400000592E82074A025A0739 +:106E6000000000010201F80000109FC249425A07C9 +:106E70005C028000497A580A592C04098C000512DA +:106E8000040000084D2C00008400051248025C0933 +:106E9000592E580A0201F8000010059F5C025800A4 +:106EA00059A8002C48026205591C021548026217B5 +:106EB00082000D8000000001040000084A023A032D +:106EC00000000002820005800000000504000008A8 +:106ED000497A60160401F01E591C00088400054020 +:106EE000480238084A023A0300000004591C0415FD +:106EF0004803C8578400051C8400055448023C150B +:106F0000592C001040001000591C08178004048000 +:106F1000040217F0591C001782000500FFFFFFFC58 +:106F20004802601648023817591C0A154807C85706 +:106F300082040D800000000504020005480BC857BC +:106F40004803C8574A023813FFFFFFFF591C0402C9 +:106F50004802641A591C02024802621A591E680A41 +:106F60004936600A4A026407000000014A026403CD +:106F7000000000394A0262030000000142000800DC +:106F8000800000400201F80000020B425C02580041 +:106F90001C01F0004933C857593004158C00051402 +:106FA000040000158C00051C040200125930001763 +:106FB00080100480040010060400000559300415F8 +:106FC000840005148400055C0401F0094812601770 +:106FD0004812601340100000592C1810800C0480D7 +:106FE00048026012593004158400051448026415E3 +:106FF0001C01F0004933C8578C00051C040200082E +:10700000593000134803C857480260175930041517 +:107010008400055C4803C857480264151C01F00051 +:107020000401F80742018800000000010400000389 +:1070300042018800000000001C01F00059300C03E0 +:107040004933C8574807C8578204048000000034F9 +:1070500004001006820404800000003C04021003B7 +:10706000800005801C01F000820005400000000146 +:107070000401F7FD4178080059A8102842000000DB +:10708000000000320201F80000106CDD800811C021 +:10709000040200034200100000000014480B502AB4 +:1070A00059A81029480B50224178080042000000DE +:1070B000000000640201F80000106CDD800811C0BF +:1070C000040200034200100000000014480B502B83 +:1070D000820814000000000A480B502C42000800EF +:1070E000000000010201F80000106EA8420000003C +:1070F00030000000400808000201F8000002010E04 +:10710000420008000000000359A8100F0201F80017 +:1071100000106EA80201F000001049EE4A03502A48 +:10712000000000284A03502B000000144A0350229C +:10713000000007D0420010000000001E480B502C39 +:1071400042000800000000010201F80000106EA8D3 +:107150004200000030000000400808000201F80072 +:107160000002010E420008000000000359A8100FA1 +:107170000201F00000106EA84933C8574D2C0000E2 +:1071800059300403820005800000003E040200051F +:1071900059325818812E59C0020208000010059675 +:1071A0005C0258001C01F0004937C8574D30000000 +:1071B0000201F80000107F43040000124926601C01 +:1071C0004936600A4A02640700000001492E60093E +:1071D00042000800000000090201F8000010463FCC +:1071E0004D38000042027000000000330201F80038 +:1071F00000020BC55C027000820005400000000127 +:107200005C0260001C01F0004933C8574D2C00009F +:107210004C5800004D3C0000593258098338058015 +:10722000000000150402002559A8B05A82580C80AD +:1072300000000019040010034200B0000000001814 +:107240008058B1040401FAED800005800401FAFDC4 +:10725000832CAC000000000A83CCA40000000006D0 +:107260000201F8000010C12B4C6000004200C00079 +:1072700000000001592C100B8C08151804020006A0 +:1072800059240005592C100E8008058004020007BF +:107290004178C0005930100A58081403417A780028 +:1072A0000201F80000101D0B5C00C0000201F80094 +:1072B000001081720401F0084200B00000000002DA +:1072C0000401FAEC0201F800001086FC0201F8004B +:1072D00000020BA15C0278005C00B0005C02580068 +:1072E0001C01F0004933C85642018800000000002C +:1072F0004A02601C0010D0D34936600A4A02640773 +:1073000000000001492E60094D3800004202700063 +:107310000000004D0201F80000020BC55C02700085 +:1073200082000540000000014201880000000001C9 +:107330001C01F0004803C8564D2C0000833805801E +:10734000000000150402002C59A8085A59325809A7 +:107350005930040B80040580040200274C500000C3 +:107360004C5400004C58000083CCA40000000006E0 +:107370004050A8005930B40B8258B40000000003FC +:107380008058B1040201F8000010C15583CCA4005C +:1073900000000006592CB2068258B4000000000319 +:1073A0008058B104832CAC00000000070201F800F3 +:1073B0000010C12B592E5801812E59C0040207F626 +:1073C0005931D82A58EF400A58EE580C4A025A054B +:1073D0000000010358EC00080801F80059300402CD +:1073E0005C00B0005C00A8005C00A0005C025800DB +:1073F0001C01F0000201F800001086FC5C0258003D +:107400001C01F0004933C85782040D80000000358C +:10741000040000055930141A0401F858040000272C +:107420000401F0064D300000593260270401F85E77 +:107430005C02600004000020591C0C0782040580D7 +:107440000000000304000004820405800000000620 +:107450000402001C591C0C025930041A80040580D7 +:10746000040000095930021A800405800402001546 +:10747000591C0A025930041A8004058004020011C4 +:107480000401F00959300A1A820405800000FFFF48 +:1074900004000005591C020259300A1A80040580B4 +:1074A00004020008591C000A5930080A80040580AB +:1074B0001C01F000417A3800820005400000000104 +:1074C0001C01F0004803C85659B800E48C00053888 +:1074D000020208000010032E420008000000FF0016 +:1074E0004A0370E42000000059B800E4800408401A +:1074F000020008000010032E8C00053C040207F96E +:107500004A0370E43000000040000000400000002A +:107510004000000059B800E48C00053C040207F16B +:107520001C01F0004803C8564A0370E42000000024 +:107530004000000059B800E48C000538040207FB45 +:107540001C01F0000401F80742018800000000015E +:107550000402000342018800000000001C01F0004A +:10756000593008088C040D1E592C0C090402000225 +:107570008C040D181C01F0000201F800001098F2B4 +:1075800004000008420008000000002C0201F8007E +:1075900000106CBE82063C0000111684491FC857BB +:1075A0001C01F0000201F8000010A34904020007CA +:1075B000593014020401FFF104000007411C0000CF +:1075C0008130058004000003817805000401F00289 +:1075D000813005401C01F0004D30000083440480E0 +:1075E000000007F0040010040201F80000104AD463 +:1075F0000401F0030201F8000002034E0402000D32 +:10760000420260000011162C4936600A492E6009BA +:107610000201F80000104ACB4926601C0201F80064 +:107620000011007B800005805C0260001C01F000FE +:1076300082000540000000010401F7FC4933C857EF +:107640000201F80000109904020008000010032E47 +:107650004D2C00004D3400004D4400004C580000FB +:10766000593258095932680A49425A070201F8004A +:1076700000020869592E8C07592C42088220050007 +:107680000000000F0C01F8065C00B0005C028800EE +:107690005C0268005C0258001C01F00000109DBAFA +:1076A00000109DE000109DE700109DEB00109DF480 +:1076B00000109DB700109DB700109DB700109DF8F9 +:1076C00000109E0400109E0400109DB700109DB78E +:1076D00000109DB700109DB700109DB74803C85714 +:1076E0000201F8000010032E814281C00402001242 +:1076F00041785800592C04058C00051C0402000236 +:1077000059345C05442C28005934000848002802EC +:10771000593400094800280159340006480028045B +:1077200059340007480028034200B0000000000B55 +:107730000401F03B592C02088C00051E4200B000E9 +:1077400000000002040200368204B5400000000080 +:1077500004000033440428005932680A59340400F4 +:107760004800280159340200820005000000000191 +:10777000480028024200B000000000030401F02885 +:10778000814281C0040207EC59345C05442C280076 +:107790004200B000000000010401F0218340B54028 +:1077A000000000000400001E0401F027814281C097 +:1077B0000402002559340200440028005934000115 +:1077C000480028014200B000000000020401F0144B +:1077D0008340B540000000000402001B0401F010CB +:1077E0008340B540000000000400000D0201F800D5 +:1077F00000104AB6040000148C20450E040000025C +:10780000497A600A4178B000497A5A070401F004C5 +:107810008340B540000000000402000B592C040511 +:107820008400051C48025C05592C02088400051ED2 +:1078300048025A080401F971497A60090201F0000E +:10784000000203F1592C02088C00051E4200B00012 +:1078500000000002040207F28204B54000000000AC +:10786000040007EF440428004200B00000000001BB +:107870000401F7EB4937C8574D3000000201F8000A +:1078800000107F43040000124926601C4936600A3C +:107890004A02640700000001492E60094200080006 +:1078A0000000000B0201F8000010463F4D380000B8 +:1078B00042027000000000430201F80000020BC504 +:1078C0005C02700082000540000000015C02600064 +:1078D0001C01F0004937C8574D2C00004D20000016 +:1078E00059340013800241305932580983380580D9 +:1078F000000000150402002859A8005A82000580E3 +:10790000000000040402002459240005592C100A28 +:1079100080080580040200134D440000592E8C0796 +:10792000592C02084803C856820005000000008058 +:10793000840005484D3C0000420278000000100021 +:107940008C00050E04000002853E7D5C0201F800FB +:1079500000104A1E5C0278005C0288000401F004FA +:107960004803C8560201F80000104AB60201F800A8 +:1079700000109904040000174D40000042028000EE +:1079800000000000417808000401FF2D5C02800027 +:107990000401F00E0201F80000104AB6040207F4D8 +:1079A0000201F800001099040400000A4C5800007D +:1079B0004200B000000000020401F92E5C00B0009B +:1079C0000201F800001086FC0201F80000020BA181 +:1079D0005C0240005C0258001C01F0004937C857A7 +:1079E0004D3000000201F80000107F430400001336 +:1079F0004926601C4936600A4A02640700000001FB +:107A00004D3C00004D380000417A78000201F8003A +:107A100000104634492E6009420270000000000444 +:107A20000201F80000020BC55C0270005C027800E5 +:107A300082000540000000015C0260001C01F000B3 +:107A40004937C8574D3000000201F80000107F434D +:107A5000040000124926601C4936600A42000800F2 +:107A6000000000030201F8000010463F4A026407CC +:107A700000000001492E60094D38000042027000EC +:107A8000000000510201F80000020BC55C0270000A +:107A900082000540000000015C0260001C01F00053 +:107AA0004933C8574C5800004D2400004D200000B9 +:107AB0004D4000004D4400004D3C00005932481C30 +:107AC00059240A008C040D00040000AD0201F800E6 +:107AD00000101FDE59325809833835800000001528 +:107AE0000402006A42000800000000040201F800DD +:107AF0000010463F42000800000000010201F800AB +:107B00000010473C812E59C00402005059A8005E65 +:107B1000800000404803505E0201F8000010C19947 +:107B200004000004592402008400051A48024A0097 +:107B3000417A800059CC00008200050000FFFFFF61 +:107B4000592408054803C8574807C857800409C086 +:107B50000400001D800415800400001B4C00000080 +:107B6000420280000000002A592404008C00050A0B +:107B700004020007420030000000000242028800B8 +:107B80000000FFFF0201F8000010B229417A7800DE +:107B90000201F800001020360201F800001020B3A6 +:107BA000420280000000000259CC0C088C040D1E1B +:107BB0000402000459240A0084040D5648064A00B1 +:107BC0005C0000004802480540000800812000F0E9 +:107BD00080040540480268134004000083200C80A4 +:107BE000000000400402100449238830840005701E +:107BF0004803883259240200820005400000020632 +:107C000048024A00592404008C00050C04000005B9 +:107C10004A026426000000510401F8600401F05893 +:107C20004200000000000001417818000201F80045 +:107C300000104E910201F8000010A59C0201F8000E +:107C400000020BA10401F04E592C0009820005002E +:107C500000FFFFFF0402000A0201F80000020869A9 +:107C600059CC00008200050000FFFFFF44002800FF +:107C70004200B000000000010401F8600201F800B9 +:107C8000001081720401F03E812E59C004020037B9 +:107C900059340412800001C00400002F800000400D +:107CA00048026C1259CC0C0782043500000000FF1A +:107CB000481BC85782180580000000030402001901 +:107CC00059CC02074803C85782000D000000FF008E +:107CD0004807C8578204058000000D000402001107 +:107CE00059240A0084040D4848064A00420008004E +:107CF0000000000B0201F8000010463F4A02640732 +:107D0000000000014A026203000000014A0264030D +:107D1000000000010201F80000106D5C0401F01881 +:107D200042000800000000030201F8000010463F76 +:107D30004A0262020000FFFF4A02620300000001E3 +:107D40004A026403000000510201F80000106D5C5B +:107D50000401F00B42002800000000030201F800BB +:107D60000010A4690401F0064200B0000000000207 +:107D70000401F8400201F800001086FC5C02780063 +:107D80005C0288005C0280005C0240005C024800EB +:107D90005C00B0001C01F0004933C8574202880063 +:107DA000000007FC4200300000FFFFFC0201F80069 +:107DB0000010467D020208000010032E4936600ABA +:107DC000417A78000201F8000010463442000800B1 +:107DD000000000030201F8000010463F497A6C12CF +:107DE0004A026203000000014A026403000000022C +:107DF0000201F00000106D5C492FC8574C5800007C +:107E00004C0000008058B1C00400000B82580500EF +:107E1000FFFFFFF0020208000010032E8058B0D0D0 +:107E2000592C040982000500FFFFF0FF805805402F +:107E300048025C095C0000005C00B0001C01F0001E +:107E4000492FC8574C0000004C040000800000D8A7 +:107E5000592C0C0982040D00FFFF0FFF8004054020 +:107E600048025C095C0008005C0000001C01F00096 +:107E70004933C8574D2C000059325809592C020873 +:107E80008400055E48025A084C5000004C54000023 +:107E90004C5800000401FFD90201F80000020869F3 +:107EA0004600280000000018801428008058B040C8 +:107EB00083CCA400000000074014A8000201F800D1 +:107EC0000010C12B5C00B0005C00A8005C00A000AA +:107ED0005C0258001C01F0000401F8074201880010 +:107EE00000000001040000034201880000000000BF +:107EF0001C01F00059325809592C020582000580F6 +:107F0000000001521C01F00059300028800005409B +:107F10000202080000100AF71C01F00059300008A6 +:107F200082000500040008008200058004000800AB +:107F3000040200035930022048025C101C01F000CA +:107F40004D2C000059325809593002034933C857A3 +:107F5000492FC857493BC8574803C8578200348047 +:107F60000000000E020218000010032E0C01F8039E +:107F70005C0258001C01F00000109FEC00109FF7FD +:107F80000010A03500109FEC00109FEC00109FEC3B +:107F900000109FEC00109FEC00109FEE00109FEC73 +:107FA00000109FEC00109FEC00109FEC00109FEC65 +:107FB0000201F8000010032E8338348000000058BE +:107FC000020218000010032E493A64034A026203B9 +:107FD000000000010201F00000106D5C8338058094 +:107FE0000000001304020010492FC857592C000D3F +:107FF000800001C0040000064A0262030000000283 +:1080000059A8002A480260061C01F0004A025A07DB +:10801000000000000201F800000203F10201F0007C +:1080200000020BA183380580000000270400001B1C +:108030008338058000000014040000128338058096 +:1080400000000015040000058338058000000016BC +:10805000020208000010032E0201F80000107266F0 +:108060000202000000107F82593002038200058066 +:1080700000000002020208000010032E0401F016A6 +:108080004937C8570201F80000106DD14A02580F55 +:10809000000000110401F0064937C8570201F8003A +:1080A00000106DD14A02580F000000104A025A0712 +:1080B000000000314A02580E000000040201F800DE +:1080C000000203F10201F80000104D190201F00056 +:1080D00000107EFF5934140082081D00000000FFCC +:1080E00059300C03480BC8574807C857820405800D +:1080F000000000530400002E8204058000000002EE +:10810000040000168204058000000001040000172E +:1081100082040580000000030400001C8204058026 +:10812000000000050400001D8204058000000033EB +:108130000400001A82040580000000000400001BF7 +:108140008204058000000004020208000010032ED3 +:108150000401F89F0401F016820C05800000000362 +:10816000040008490401F012820C05800000000B95 +:108170000402000F42000800000000070201F8009E +:108180000010463F0401F00A820C05800000000543 +:10819000040008620401F006820C0580000000095A +:1081A000040008870401F0020401F8914A02640304 +:1081B0000000005259A8105A592C040C8C000500DC +:1081C000040000034200100000000008592C040CB9 +:1081D0008C0005160400000382081400000000183B +:1081E000592C000D497A580E497A580F80080C8096 +:1081F00004000009040010054A025A0700000007A5 +:10820000400010000401F0064A025A070000001561 +:108210000401F0034A025A0700000000480A580D02 +:108220000201F800001080EC04000010592C10012D +:10823000480A600C58080800820804000000000288 +:10824000592C1012592C1813420030000000000065 +:1082500042002000001010A70201F800001082B2B6 +:10826000040000021C01F0004A025A070000002C22 +:10827000497A580D0201F800000203F10201F000F2 +:1082800000020BA183380580000000150402000BDA +:1082900059A800708C0005020402000C4178080007 +:1082A0000201F8000010473C4200080000000004F2 +:1082B0000201F0000010463F4200080000000007E5 +:1082C0000201F0000010463F0201F8000010515575 +:1082D000420010000000001004020009593400029E +:1082E0008200050000FF00008200058000FF000002 +:1082F000040007EB42001000000000080201F80033 +:1083000000104D77040007E6592C040C840005404A +:1083100048025C0C0401F7E9833805800000001571 +:108320000402000F59A800708C000502040200101E +:108330000201F800001047AA4D3C0000417A780085 +:108340000201F800001046345C0278004200080088 +:10835000000000060201F0000010463F4200080045 +:10836000000000040201F0000010463F0201F80086 +:1083700000105155420010000000001004020009D6 +:10838000593400028200050000FF000082000580D1 +:1083900000FF0000040007E7420010000000000892 +:1083A0000201F80000104D77040007E2592C040C7C +:1083B0008400054048025C0C0401F7E94200080013 +:1083C000000000040201F0000010463F83380580E1 +:1083D00000000015040200050201F8000010B19B26 +:1083E00002000800001049741C01F0008338058069 +:1083F000000000150402001D4C58000083CC14003E +:10840000000000084200B0000000000283341C009D +:10841000000000060201F80000108CB604020012F1 +:1084200083CC14000000000A4200B00000000002EB +:1084300083341C00000000080201F80000108CB614 +:10844000040200095934220059CC1007800811C0D9 +:1084500004000003480A6801841025428410251A8C +:1084600048126A005C00B0001C01F00042000000ED +:108470000010D03B0201F8000010C0580201F800C3 +:1084800000106E81593002034933C8574803C8575A +:1084900082000C800000000E020218000010032E63 +:1084A0000C01F8030201F00000106E6E0010A13BF9 +:1084B0000010A14A0010A13C0010A1390010A13900 +:1084C0000010A1390010A1390010A1390010A13904 +:1084D0000010A1390010A1390010A1390010A139F4 +:1084E0000010A1390201F8000010032E1C01F00059 +:1084F0005930040382000580000000520200000091 +:10850000001096720201F80000104D1959325809F6 +:108510004A025A07000000060201F800000203F1B7 +:108520000201F00000107EFF59301804840C052071 +:1085300048026004598C000F81300580040200104D +:108540008C0C1D2004020010420010000010CF5BB4 +:108550005008100058080002820005800000010049 +:108560000400000F5808000B81300580020208004B +:108570000010032E4978100B0401F0038C0C1D2011 +:10858000040207DC0201F800001102D680C400409A +:10859000040007D80201F8000010032E0201F800C1 +:1085A000001071A1040007F85930020382000C800A +:1085B0000000000E020218000010032E0C01F7BC90 +:1085C0004933C8574C5000004C5400004C58000030 +:1085D000592C0C084806581459CC08094806580864 +:1085E00059CC08084806580C59A8086F82040500A1 +:1085F000000003FF800010C48C040D14040000056B +:1086000059CC00028200050000000003800814809D +:10861000480A621B412C08000201F8000010057096 +:10862000020008000010032E492C080A580404090F +:10863000840005528400054048000C09820814009B +:10864000000000038008110483CCA4000000000691 +:10865000832CAC0000000005420008000000001060 +:108660008208048000000010040210034008080083 +:10867000800005804004B0004C0000000201F800BA +:108680000010C1555C000000800001C00400000D16 +:10869000412C10004C0000000201F8000010057091 +:1086A000020008000010032E492C1001832CAC009E +:1086B000000000055C000000400010000401F7E924 +:1086C0005C00B0005C00A8005C00A0001C01F00091 +:1086D0004933C8574D2C00004C3800005932580916 +:1086E0005930021B48025A09593010124A026203DB +:1086F00000000002592C020B8C000500040000044D +:1087000059300016592C10108008148040080000C1 +:108710000401F98F80001540040200084A025A073C +:1087200000000000592C000C8200050000000C0025 +:108730000400000B0401F00B8C08153E0400000639 +:108740004A025A07000000078008108080081000C5 +:108750000401F0034A025A0700000015480A5808AD +:10876000420000000010E3E8500070005838000A92 +:1087700080000540040200084930700B4930700A3F +:108780005838000282000580000000000402080939 +:108790000401F005820014000000000045301000C4 +:1087A0004930700A5C0070005C0258001C01F00047 +:1087B0004933C857592C000A40001000480070097E +:1087C000820804000000000548007003592C000EC8 +:1087D000592C100F4800700648087007592C0014D7 +:1087E000592C120980080C8004001002400010006F +:1087F000820814000000000380081104820804802D +:108800000000001004021003800005800401F00342 +:1088100042001000000000104800700C480870046E +:10882000800810C448087005403810000201F000AC +:10883000000200164D2C00000201F8000010057027 +:10884000020008000010032E420008000010E3E8B8 +:10885000452C0800497A580A497A580B497A580C2D +:108860004A0258080010A2204A02580200000100E3 +:108870004A025801000000005C0258001C01F00090 +:108880004833C8574D3000004D2C00004C5C0000B0 +:108890004030B800585C000980025D4004020004CA +:1088A000585C000B4C0000000401F044585C0002CE +:1088B000820005800000010004020022592C0801FA +:1088C0004C0400000201F800001005965C0008004E +:1088D000800409C00400001C4804B809585C100C4E +:1088E000800811C004020005400658000201F8008B +:1088F0000010059F0401F01482080480000000109D +:1089000004021003800005800401F00342001000FF +:10891000000000104800B80C4808B804800810C4D3 +:108920004808B80582040400000000054800B803A8 +:10893000405C10000201F800000200160401F0255E +:108940000401F828585C000B800265405930000093 +:1089500080000D40040200024800B80A4800B80B2D +:10896000497A60004C0000004978B809593258092A +:108970004A025A05000001035930040248025C070C +:10898000592C100C4C0800000201F800000203F101 +:108990000201F80000109A195C0010008C081518EC +:1089A000040000040201F80000109AEC0401F00336 +:1089B0000201F80000020BA1405C70005C000000A6 +:1089C0008002654004000003593258090401FF7910 +:1089D0005C00B8005C0258005C0260001C01F00002 +:1089E000483BC85758380009400258000201F800B7 +:1089F0000010059F5838000B80026540593000096F +:108A000080025D404A025A07000000021C01F0008B +:108A10004803C8574933C8574D1C0000497A601DA8 +:108A200041323800400260004D3C000042027800B4 +:108A3000000000050401F8435C027800411E60005C +:108A40004933C8575930041584000502480264159B +:108A50005C0238001C01F000481BC8574933C85756 +:108A60004C5C00004C6000004010B8004014C00096 +:108A70000201F8000010B7E00201F80000101FDE4C +:108A8000592404008C00050A0402000840602800F4 +:108A9000405C30000201F8000010B229820005405D +:108AA000000000010401F002800005805C00C000AD +:108AB0005C00B8001C01F0004803C8564D300000AF +:108AC000420260000011168459A8000D81640580DF +:108AD0000400001A59300C078204058000000001D0 +:108AE0000400000D8204058000000004040000065C +:108AF000820405800000001002000800001095DBD1 +:108B00000401F0095930020382000D8000000007C3 +:108B1000040000054807C8570201F80000109C0F28 +:108B200004020808833264000000002C4158000051 +:108B300081300480040017E55C0260001C01F00035 +:108B40004933C857593004034803C8570201F80095 +:108B500000106E814DF000005930140759300203A7 +:108B60004803C85782080D80000000020400001D61 +:108B700082080D80000000010400000F82080D80B3 +:108B800000000004040000064933C8565C03E000FE +:108B90000200080000106E6E0401F05382000D8088 +:108BA000000000080400003D82000D800000000766 +:108BB0000400003A82000D8000000001040000174C +:108BC00082000D80000000020400003482000D804D +:108BD00000000005040000310201F8000010032E1F +:108BE00082000D80000000090400000C82000D804E +:108BF0000000000B0400000982000D800000000A44 +:108C00000400002682000D800000000C04000023F8 +:108C10000201F8000010032E598C000F81300580EE +:108C2000040200040201F800001071A10402001BFC +:108C3000593000044803C8578C0005200400000484 +:108C400084000520480260040401F0140201F800C9 +:108C5000001102D680C40040020208000010032E5A +:108C60005C03E0000200080000106E6E593004073B +:108C700082000D80000000020400001B0201F800C9 +:108C800000104D190201F80000109A470200080078 +:108C9000001086FC0401F0145C03E00002000800F0 +:108CA00000106E6E5930040782000D800000000233 +:108CB0000400000D5930081C580402008C00050007 +:108CC000040001320201F80000104D190201F80001 +:108CD00000109A4702000800001086FC8D3E7D00BF +:108CE000040000050201F8000010B8CA0201F000FB +:108CF00000107EFF4A026226000000014A0264035F +:108D0000000000854A026203000000094A0264076D +:108D100000000002420008008000004B0201F00049 +:108D200000020B428330048000111600040010067C +:108D3000415400008130048004021003800005804B +:108D40001C01F000817800801C01F000592C720B8E +:108D50008C38750004020008593070088C3875167C +:108D6000040000055930700958387010593000134C +:108D7000803804801C01F00059A8085A59CC2808F2 +:108D80008214050000000C0004000004820404802A +:108D90000000001004001018800015808C142D12A3 +:108DA0000400000582040480000000140400101276 +:108DB00059CC100A800005808C142D100400000589 +:108DC00082040480000000180400100B59CC000B32 +:108DD000800804000400100804000006820004005B +:108DE0000000001880040480040010038000058047 +:108DF0001C01F000420000000010D0180201F80031 +:108E00000010C05882000540000000010401F7F97D +:108E10004933C8574937C8574923C8574927C857FE +:108E2000492FC85748EFC8574D1C00004D3000006F +:108E3000413238000201F80000107F430400002195 +:108E400048EE602A4926601C4936600A591C04070E +:108E5000820005800000000304000008591C020283 +:108E60004803C8574802641A591C04024802621A8F +:108E70004803C8570401F007591C02024803C857A9 +:108E80004802621A591C04024802641A4803C8576F +:108E9000491E60274A02640700000001492E60094C +:108EA0004D38000042027000000000570201F80037 +:108EB00000020BC55C02700082000540000000014A +:108EC0005C0260005C0238001C01F0004933C857A6 +:108ED000493BC8574937C8574D2C00004C5000003B +:108EE0004C5400004C580000593258090201F80057 +:108EF000001099040400002383CCA40000000006A5 +:108F0000832CAC00000000078338058000000016A9 +:108F10000402000959A8005A8200058000000008D8 +:108F200004020014492FC8574200B000000000029C +:108F30000401F00B83380580000000150402000DC9 +:108F4000492FC85759A8005A820005800000001810 +:108F5000040200084200B000000000060201F80010 +:108F60000010C12B0201F800001081720401F0050D +:108F70000201F800001086FC0201F80000020BA1BB +:108F80005C00B0005C00A8005C00A0005C0258001F +:108F90001C01F0004933C8570201F80000106E812F +:108FA0004DF000005930020382000C800000000EDA +:108FB000020218000010032E0C01F0010010A3FFA4 +:108FC0000010A3FD0010A4060010A4260010A404A5 +:108FD0000010A3FD0010A3FD0010A3FD0010A3FDD1 +:108FE0000010A3FD0010A3FD0010A3FD0010A3FDC1 +:108FF0000010A3FD0201F8000010032E5C03E00046 +:109000000200080000106E6E800005801C01F00058 +:109010000201F80000100C815C03E000020008006F +:1090200000106E6E8D3E7D02040200174D2C000074 +:10903000593258094A025A07000000050201F80097 +:10904000000203F15C025800497A60098D3E7D0000 +:109050000402000F4A0262260000000A4A0264036A +:10906000000000854A026203000000094A0264070A +:1090700000000002420008008000404B0201F8009E +:1090800000020B42817800801C01F0000201F80010 +:1090900000107EFF0401F7FC0201F800001095B5F6 +:1090A000040200040201F8000010716A04020009C1 +:1090B0000201F8000011015D80C40040040007D7E0 +:1090C0000201F80000106D8C020208000010032E4F +:1090D0005930020382000D800000000302000800E6 +:1090E0000010032E82000C800000000E0202180007 +:1090F0000010032E0C01F7B24933C8574D3400005D +:109100004D2400004D200000836C0580000000030A +:109110000402001C599C00188C0005160400000471 +:109120000201F80000103AB50401F01642000800F0 +:10913000000000040201F8000010463F59300426E8 +:10914000820005800000002104000006592404006C +:109150008C00050C040000074A0264260000002170 +:109160000201F80000109F66820005400000000127 +:109170005C0240005C0248005C0268001C01F000D8 +:10918000800005800401F7FB4D3400005932680A65 +:109190000201F80000104AEC5C0268000201F000D5 +:1091A00000020BA14803C8564C5C00004D20000093 +:1091B0004014B8000201F80000101FDE59A8005E3C +:1091C000800000404803505E836C05800000000270 +:1091D00004020004592402008400051A48024A00CF +:1091E0005924020082000500FFFFFEEF84000546BF +:1091F00048024A00497A48054D400000420280007A +:109200000000000141781800405C28004200000086 +:10921000000000010201F80000104E91420280009F +:109220000000002A4D3C00004202780000000002CD +:109230000201F800001020365C0278005C02800019 +:109240005C0240005C00B800813261C00202000094 +:1092500000107EFF1C01F0005930300958181A0523 +:10926000820C1D00000000FF820C058000000048F9 +:1092700004000004820C05800000006A040200491A +:10928000593000048C0005160402004658180409E1 +:109290008C00050004000043420000000010E3E8D9 +:1092A00050006000417818005830200B4130000019 +:1092B000801005800400000640101800580C2000A3 +:1092C000801021C0040207FA0401F0364933C85760 +:1092D00059302000497A6000800C19C00402001F38 +:1092E0004933C8564200700000020CF4583000099F +:1092F000800001C004000019497860095838000155 +:1093000080300580040200084933C856497870024D +:109310004810600B801021C00402001E4978600ACA +:109320000401F01C4933C8564810600B801021C05E +:10933000040200024978600A4C1800004C3000001A +:109340000201F800001006615C0060000401FD4DA0 +:109350005C0030000401F00F4933C856800C19C07E +:1093600004020008801021C0040000034810600BB4 +:109370000401F0084978600B4978600A0401F0059F +:1093800048101800801021C004020002480C600A36 +:109390005818040984000500480034094978320946 +:1093A0001C01F0004933C8574927C85759A8021B68 +:1093B00082000540000000034803521B4C5C000083 +:1093C0004D40000059CCB800825CBD0000FFFFFF9B +:1093D00042028000000000000201F80000101FDEC1 +:1093E0000201F80000108C6C485F500F040000244C +:1093F0004D3C0000420280000000002A5924040075 +:109400008C00050A04020008592402008400055655 +:1094100048024A0042003000000000020201F80049 +:109420000010B21F42027800000000020201F800A2 +:1094300000102036420000000010D0230201F80086 +:109440000010C05859CC04088C00051E0402000905 +:10945000420008000010D0D3580404068C00050018 +:109460000402000459A8021B840005524803521B41 +:1094700042028000000000025C027800417808008F +:109480000201F8000010473C592402004803C85765 +:109490004927C857820005400000006648024A007C +:1094A000485E4805812000F0805C05404802681352 +:1094B00049238830840005704803883259A8121B5C +:1094C00059CC04088C00051A040200058408151400 +:1094D0004A0370E5000008000401F00484081554F4 +:1094E0004A0370E500000C00480B521B0201F80013 +:1094F00000109C1D59A8021B8400054A4803521BFA +:1095000049238830845C0570480388324200080093 +:10951000000000040201F8000010463F59A80A1B91 +:1095200084040D5059CC00138C00053E0400000348 +:109530008C0005360400000459CC00178C00053659 +:109540000402000284040D104807521B4807541BF4 +:10955000420018000010E3EA592404008C00050CB6 +:10956000040000064A026426000000210201F800FF +:1095700000109F660401F00E405C08004178100066 +:10958000420018000000010042000000000000013D +:1095900042028000000000000201F80000104E911D +:1095A0000401F8340201F80000020BA159A8021BC3 +:1095B0004803C8578C0005060402000941781800CA +:1095C0000201F8000010C1990400000342001800D5 +:1095D000000000100201F80000101F66805C0110FE +:1095E000480350184803888159A80016800000409D +:1095F0004803C85704001003480350160402001A19 +:1096000059A8021B8C000506040000048400050A0A +:109610004803521B4803541B4A0388020000FFFF03 +:10962000420018000010CC460201F800001005337B +:10963000420018000010CC530201F800001005335E +:109640004A0350170000FFFF0201F80000107239B2 +:109650004A0378E4000000804A0388020000FFFF0C +:10966000850E1D025C0280005C00B8001C01F00049 +:109670004D4400004D34000042028800000007FC09 +:109680000201F80000104AD4040200034A026C00F0 +:10969000000007075C0268005C0288001C01F00003 +:1096A0004933C85759368C034C180000593002030F +:1096B000820034800000000E020218000010032E09 +:1096C0000C01F8035C0030001C01F0000010A5C183 +:1096D0000010AB760010ACC10010A5C10010A5C1F0 +:1096E0000010A5C10010A5C10010A5C10010A5E47F +:1096F0000010A5C10010A5C10010A5C10010A5C192 +:109700000010A5C10201F8000010032E4933C8570C +:10971000420288000000FFFF813669C00400000299 +:1097200059368C034C1800005930020382003480F3 +:109730000000000E020218000010032E0C01F803B6 +:109740005C0030001C01F0000010A5E00010AFB27A +:109750000010A5E00010A5E00010A5E00010A5E0B5 +:109760000010A5E00010A5E00010AEEA0010B3DC88 +:109770000010B4120010B3DC0010B4120010A5E009 +:109780000201F8000010032E0201F8000010032E61 +:109790008338348000000057020218000010032EA6 +:1097A00041380000493BC8574D1C00004D400000A7 +:1097B0000C01F8045C0280005C0238001C01F0001F +:1097C0000010A6500010A8810010A6500010A6504E +:1097D0000010A6500010A88C0010A6500010A65033 +:1097E0000010A6500010A6500010A6500010A65061 +:1097F0000010A6500010A6500010A6500010A65051 +:109800000010A6500010A6500010A6500010A65040 +:109810000010A6500010A6500010A6500010A689F7 +:109820000010A6DC0010A6F70010A7780010A7D63D +:109830000010A81A0010A84A0010A6500010A65048 +:109840000010A8940010A6500010A6500010A8A266 +:109850000010A8AB0010A6500010A6500010A65093 +:109860000010A6500010A6500010A94D0010A650E0 +:109870000010A6500010A7B60010A6500010A65069 +:109880000010A90C0010A6500010A6500010A65001 +:109890000010A95B0010A6500010A6500010A650A2 +:1098A0000010A9A50010A6500010A6500010A65048 +:1098B0000010A6500010A6500010A6500010AA12CA +:1098C0000010A6500010AA450010AA500010A65083 +:1098D0000010A6500010A6520010AA5B0010A6505F +:1098E0000010A6500010A6500010A6630010A6504D +:1098F0000010A6500010A6500010AA620010AA6A1C +:109900000010AA8B0010A6500010A6500010A65000 +:109910000010A6500010A6500010A6770010A65008 +:109920000010A6500010A6500010A6500010A6501F +:109930000010A6500010A6500010A6500010A6500F +:109940000201F8000010032E4933C8570201F80045 +:109950000010B444020200000010AA990201F800AD +:1099600000101D7C020200000010AA9959CC0407C7 +:109970004802601D4A026403000000454A02620377 +:10998000000000010201F00000106D5C4933C8576F +:109990000201F8000010B444020200000010AA996D +:1099A0000201F80000101D7C020200000010AA99BC +:1099B0000201F8000010AADA040201EB59CC0007FA +:1099C0004802601D4A0264030000004A4A02620322 +:1099D000000000010201F00000106D5C4933C8571F +:1099E0000201F8000010B444020200000010AA991D +:1099F0000201F80000101D7C020200000010AA996C +:109A00000201F8000010AADA040201D74A02640336 +:109A1000000000564A026203000000010201F0004B +:109A200000106D5C4933C8570201F80000101D7C1E +:109A30000402000D0201F800001049AE0402000A01 +:109A40005932481C5924020082000500000000031E +:109A500082000580000000030400000A0201F000FB +:109A60000010AA994A026403000000094A02641B1C +:109A7000000000094A02621B000000000401F1E935 +:109A80000201F80000104A9D0400002B5934020026 +:109A90008C00051A040000045934000A8400056093 +:109AA0004802680A0201F8000010B12B0402002CE1 +:109AB00042028000000000294D3C0000417A7800FD +:109AC0000201F8000011007B5C02780042000000F7 +:109AD0000010D0250201F8000010C058417808009D +:109AE0000201F8000010473C4A026403000000082D +:109AF0004200300000000003592404008C00050AD5 +:109B0000040201C859CC400B59CC380C59CC180D63 +:109B100059CC080E9C2041C09C1C39C09C0C19C01B +:109B20009C0409C04A026203000000074178280033 +:109B30000401F1AF0201F8000010B1F4040207DAE9 +:109B40004A026403000000094A02641B0000000E80 +:109B50004A02621B000019000401F1B24A026403C8 +:109B6000000000094A02641B000000030401F1AD7B +:109B70004933C8570201F80000101D7C040203BAE3 +:109B80000201F800001049AE040203B7493A640329 +:109B90000201F8000010B0AE0402000A4A02640399 +:109BA00000000006592404008C00050A0402019DEF +:109BB0004A026203000000070201F0000010B80D25 +:109BC0004A026403000000074A02641B0000000907 +:109BD0004A02621B000000000401F1924933C85799 +:109BE0000201F800001049AE0402039F5934000A34 +:109BF00082000500000100008200058000010000D5 +:109C0000020208000010B4440200080000101D7C8D +:109C10000402039559CC00018200050000FFFF00FB +:109C20008200058000FFFC000402000759A800061E +:109C30008C00050E04000004592404008C00050A61 +:109C4000040200480201F80000104A9D04020005C9 +:109C500042027800000000010201F80000104634C2 +:109C60000201F80000104A90040000048200058000 +:109C7000000007030402004259CC020682003500AE +:109C8000000000030402004582003480000000143C +:109C90000400104259A8305A801834800400103F44 +:109CA0005934300A841835168200058000000014EB +:109CB0000402000284183556481A680A59CC040672 +:109CC0008200050000000003040200340201F800D5 +:109CD0000010B1780402003C0201F80000104A7440 +:109CE000040200074C6000004178C000417A78000F +:109CF0000201F80000101D0B5C00C000836C0580A1 +:109D000000000003040200094200300000000006C9 +:109D10000201F8000010B7D8420000000010D02463 +:109D20000201F8000010C0580201F800001047AA14 +:109D30004A0264030000000A4200300000000020D4 +:109D400059CC1A0A4178080041784000417838001F +:109D5000592404008C00050A040201320401F77240 +:109D60004A0264030000000B4A02641B0000000B5F +:109D70004A02621B00002C000401F12A4A0264031B +:109D80000000000B4A02641B000000094A02621B2B +:109D900000001E000401F123420000000010CF7FEC +:109DA0000201F8000010C0584A0264030000000BD2 +:109DB0004A02641B000000074A02621B0000000008 +:109DC0000401F1184A0264030000000B4A02641BFC +:109DD000000000034A02621B000000000401F111B0 +:109DE0004933C8570201F800001049AE0402031EAF +:109DF0000201F8000010B4440402031B0201F80041 +:109E000000101D7C0402031859CC020682003500A4 +:109E100000000003040200238200348000000014CC +:109E20000400102059A8305A801804800400101D26 +:109E300059CC04068200050000000003040200194A +:109E40005934040082000580000007070400001C4C +:109E5000417A78004C6000004178C0000201F800AF +:109E600000101D0B5C00C000420030000000000A22 +:109E70000201F8000010B7D8420000000010D02105 +:109E80000201F8000010C0584A0264030000000CF0 +:109E90004178280042003000000000210401F7ADA5 +:109EA0004A0264030000000D4A02641B0000000720 +:109EB0004A02621B000000000401F0DA4A02640357 +:109EC0000000000D4A02641B000000094A02621BE8 +:109ED00000001E000401F0D34933C8570201F80006 +:109EE000001049AE040202E00201F8000010B44480 +:109EF000040202DD0201F80000101D7C040202DAF7 +:109F00000401FB1A0402000E493A64030401FB2118 +:109F1000040200044A0264030000002E0401F72238 +:109F20004A0264030000000D4A02641B000000079F +:109F30004A02621B000000000401F0BA4A026403F6 +:109F40000000000D4A02641B000000094A02621B67 +:109F500000001E000401F0B34933C8570201F800A5 +:109F6000001049AE040206C0592402008200050018 +:109F7000000000038200058000000003040202BA12 +:109F80000201F80000104A90040200330201F800B8 +:109F90000010B1800402000D4A0264030000000EAC +:109FA000592404008C00050A0402009E420030007F +:109FB0000000005259CC400859CC380959CC180A35 +:109FC00059CC080B0401F6D44933C857420030007D +:109FD000000000030201F8000010B7E04D3C000053 +:109FE000417A78000201F8000011007B5C027800E1 +:109FF000420000000010D0230201F8000010C058F9 +:10A00000593402008400055848026A0042000800E2 +:10A010000000000B0201F8000010463F5924040024 +:10A020008C00050A0402007842003000000000079E +:10A030000401F0664933C8574A0264030000000F68 +:10A040004A02641B000000034A02621B00001E005B +:10A050000401F074593404008200058000000703F5 +:10A06000040007F50401F0404933C8570201F80025 +:10A07000001049AE0402027C5932481C59240200E7 +:10A08000820005000000000382000580000000033C +:10A09000040202750201F80000104A870402002E33 +:10A0A0000201F8000010B19B020008000010B12B63 +:10A0B000040200064A02640300000010420030005F +:10A0C000000000500401F68D4D3C0000417A7800FC +:10A0D0000201F8000011007B5C02780042003000B1 +:10A0E000000000030201F8000010B7E04200000089 +:10A0F0000010D0230201F8000010C05859340200AB +:10A100008400055848026A000401F7C54A02640346 +:10A11000000000114A02641B000000034A02621B97 +:10A1200000001E000401F03F4933C8570201F80047 +:10A1300000101D7C020008000010B4440402024A12 +:10A140000401FA8A040200084A02640300000012B3 +:10A150000401F03459340400820005800000070334 +:10A16000040007EB833405800010E33E0400000C7C +:10A170004D3C0000417A7800420280000000002936 +:10A180000201F8000011007B5C0278004200300000 +:10A19000000000170201F8000010B7E042000000C4 +:10A1A0000010D0230201F8000010C0580201F8008E +:10A1B00000101FDE592404008C00050A040200125E +:10A1C000420030000000000642028000000000292A +:10A1D0004933C8574A026403000000014A0262037F +:10A1E00000000007417828000401F00342028000CB +:10A1F000000000460201F8000010B21F0201F0004A +:10A200000010B80D4933C8574A026403000000012A +:10A21000420008000000000B0201F8000010463F59 +:10A220004A026203000000010201F00000106D5CB0 +:10A230004933C85742000800000000090201F80035 +:10A240000010463F4A026403000000050401F7F5D0 +:10A250000201F8000010B444040202030201F800F5 +:10A2600000101D7C040202000401FA40040207BE33 +:10A270004A026403000000204A0262030000000159 +:10A280000201F00000106D5C0201F80000101D7C5E +:10A29000040201F54A026403000000234A0262033B +:10A2A000000000010201F00000106D5C0201F800E6 +:10A2B0000010B4440200080000101D7C040201EAF2 +:10A2C0000401FA2A040207A859CC080782040500F1 +:10A2D00000FFFF000402000A593402128200050048 +:10A2E0000000FF00040000065932481C59240005F4 +:10A2F00082000500000000FF0401F0035932481CF1 +:10A300005924000582040D0000FFFFFF8004058032 +:10A310000402001459CC14080201F80000109D5EDC +:10A3200004000025591C0202820015800000FFFF76 +:10A330000400000459CC1208800805800402001EA5 +:10A34000591C000A813405800402001B591C0407B3 +:10A350008200058000000007040200170401F027B6 +:10A3600059CC1208820805800000FFFF0400000C91 +:10A370000201F80000109D5E0400000F59CC140883 +:10A38000591C02028008058004020024591C000A9E +:10A3900081340580040200210401F01059CC140816 +:10A3A000417800000201F8000010AF5A040207F8DB +:10A3B0000401F0174A026403000000264A02621BEF +:10A3C0000000170059CC1208820815800000FFFF1A +:10A3D000040207940401F00E591C04078200058052 +:10A3E00000000007040207F4591C040382000580E2 +:10A3F00000000024040200064D300000411E6000F1 +:10A400000201F80000020BA15C0260004A02640332 +:10A41000000000250401F78359CC1408417800009E +:10A420000201F8000010AF5A040207E30401F7F834 +:10A430004933C8574D3C000042027800000000013B +:10A440000201F800001046345C0278004C5800000D +:10A450004200B0000000000283A81C0000000002BF +:10A4600083CC14000000000B0201F80000108CB631 +:10A470005C00B000040000044A02640300000031E4 +:10A480000401F7680201F80000020BA14200B000CD +:10A490000000000283A81C000000000083CC140010 +:10A4A0000000000D0201F80000108CB6040200103C +:10A4B0000201F800001062A40400000D59300407E6 +:10A4C00082000580000000010402000959300403E5 +:10A4D0008200058000000002040200055930000AD5 +:10A4E000813405800200080000020BA10201F8007F +:10A4F000001051550402000F0201F80000105171C4 +:10A50000040200084A035014000000014202D8006F +:10A51000000000010201F800001050AF0401F00536 +:10A5200042000000000000010201F8000010512666 +:10A530001C01F0000201F80000101D7C0402014A19 +:10A540000401F98A04020708493A64030401F9FA8C +:10A55000040200044A0264030000002B0401F731E6 +:10A560004A0264030000002C0401F72E4933C85747 +:10A570000201F800001064410402013B0201F800EE +:10A5800000101D7C040201380201F80000104A741A +:10A59000040206F559CC04084802641A59CC020892 +:10A5A0004802621A59CC080759340002820005009B +:10A5B00000FFFFFF80040580040000165932481C8C +:10A5C00059240005800405800402002559CC140894 +:10A5D0000201F80000109D5E04000027831C058026 +:10A5E000FFFFFFFF040000070201F8000010B36B3B +:10A5F000040000210201F8000010B7BF0400001E93 +:10A60000491E60274A026403000000360401F1106D +:10A6100059CC1208820805800000FFFF04000009E1 +:10A620000201F80000109D5E04000013591C020294 +:10A6300059CC0C08800405800402000F0401F7E8DF +:10A6400059CC140842000000000000010201F8008B +:10A650000010AF5A040000080401F7E14803C8568F +:10A660004A02641B000000094A02621B0000150038 +:10A670000401F0064803C8564A02641B00000003A8 +:10A680004A02621B000017004A0264030000003700 +:10A690000401F0EF4933C8570201F800001064418B +:10A6A000040200F10201F80000101D7C040200EE1B +:10A6B0000201F80000104A74040206AB0201F8001F +:10A6C000001049940400005559CC04074802641A4C +:10A6D00059CC1207480A621A820805800000FFFF61 +:10A6E000040000050201F80000109D5E0400004314 +:10A6F0000401F00A59CC14074200000000000001D8 +:10A700000201F8000010AF5A0400003C831C0580D1 +:10A71000FFFFFFFF0400003959CC0C07591C02024F +:10A7200080040580040200350201F8000010B7BF64 +:10A7300004000032591C04158C0005160402003D6B +:10A740004D300000411E60000201F8000010947CB2 +:10A750005C0260004A023A030000000759CC0C0971 +:10A7600082040D000000FF00840409C082040580FB +:10A77000000000010400000C8204058000000005B8 +:10A780000400000E8204058000000007040200158A +:10A79000420000000010D0100201F8000010C05864 +:10A7A0000401F00A420000000010D00F0201F8007E +:10A7B0000010C0580401F008420000000010D00E44 +:10A7C0000201F8000010C058591C00098000054023 +:10A7D0000400000459CC28080201F0000010B37FE7 +:10A7E0004803C8564A02641B000000094A02621B63 +:10A7F00000002A000401F0064803C8564A02641B00 +:10A80000000000034A02621B000003004A026403C6 +:10A810000000003B0401F08E4803C8564A02641B46 +:10A820000000000B4A02621B000000000401F7F860 +:10A830004803C8564A02641B000000074A02621B14 +:10A84000000000000401F7F259CC000182000580ED +:10A8500000FFFFFE040200844C0800000201F80023 +:10A86000001049AE040000290201F80000104974EC +:10A870000201F8000010B4B1040200215932481C52 +:10A880005924020082000540000000E048024A000E +:10A8900059A8021B82000540000000034803521B18 +:10A8A00059A80018800000D059A8080F82040D0094 +:10A8B000000000FF80041540480B500F42000800C4 +:10A8C000000000030201F80000106EA8497B501D33 +:10A8D0008D0E1D20040000044A032804000007D048 +:10A8E0000401F0010201F80000020BA10201F800CE +:10A8F00000101E585C0010001C01F0000201F8005E +:10A900000010B4D30401F7FC5C0010000201F00059 +:10A9100000020BA10201F80000101D7C040200528D +:10A920000201F8000010B4D94A0264030000004795 +:10A930004A026203000000010201F00000106D5C99 +:10A940000201F80000101D7C040200470201F8001B +:10A950000010B4D94A026403000000474A026203AF +:10A96000000000010201F00000106D5C0201F8001F +:10A9700000101D7C0402003C0201F8000010B4D954 +:10A980000201F00000020BA10401F83A04000036B5 +:10A990004A0264030000004E4A0262030000000104 +:10A9A0000201F00000106D5C0201F80000104A87FF +:10A9B000040205ED4A0264030000004F497A601D5D +:10A9C00059CC0A0682040D00000000FF800409C073 +:10A9D0000400061482040580000000010402000542 +:10A9E00059CC080859A80005800405800400060D0C +:10A9F00082040580000000020402000A83CC1400D7 +:10AA00000000000B4200B0000000000283341C0074 +:10AA1000000000060201F80000108CB604000601D8 +:10AA20004A02601D000000010401F5FE0201F80069 +:10AA300000104A87040205CC4A026403000000505B +:10AA400059CC02074802601D0401F5F64A02620370 +:10AA50000000000142000800800000400201F000F8 +:10AA600000020B424803C8570201F00000020BA18C +:10AA70004D2C00004C5000004C5800004C5400007D +:10AA800059A8005A82000C80000008410402102DD1 +:10AA90000201F800001005700400002A492E600928 +:10AAA00059A8005A4802580282000400000000031E +:10AAB0008000010483CCA4000000000682000C800A +:10AAC0000000000A040010154A0258110000000A94 +:10AAD0004200B0000000000A832C040000000006C1 +:10AAE0004000A8000201F8000010C12B412C7000AA +:10AAF000800409C004020003497870010401F00ECB +:10AB00000201F800001005700400000E492C7001CD +:10AB1000400400000401F7EA480258114000B00068 +:10AB2000832C0400000000064000A8000201F80089 +:10AB30000010C12B82000540000000010401F00656 +:10AB4000497B505A593258090201F8000010059FFC +:10AB5000800005805C00A8005C00B0005C00A000E4 +:10AB60005C0258001C01F0004D3400005932680AA4 +:10AB7000593434004933C8574937C857481BC85758 +:10AB80000201F80000104A875C0268001C01F00016 +:10AB90004933C8574C6000004D3C00004D44000054 +:10ABA0004D3400000401F8700402005A59CC020729 +:10ABB00082000D000000FF00900411C059CC000A73 +:10ABC0008200050000FFFFFF80081540480A601D55 +:10ABD0008C040D180400001A420030000000000828 +:10ABE0000201F8000010B7D0420000000010D0228F +:10ABF0000201F8000010C058592404008C00050A16 +:10AC00000402000942002800000000024200300057 +:10AC10000000002442028000000000460201F8000B +:10AC20000010B21F4200C00000000001417A78000D +:10AC30000201F80000101D0B0401F0398C040D1AFC +:10AC40000400003459CC000A59CC3800821C3D0065 +:10AC500000FFFFFF0201F800001061700200080011 +:10AC600000104AD40402002B5930001C4C00000094 +:10AC70000201F80000104ACB4926601C5930000A36 +:10AC80004C00000059240C008C040D0A0402000F33 +:10AC900059340C0359341802820C1D0000FFFFFFC9 +:10ACA0005800240342002800000000044200300045 +:10ACB00000000024420280000000004641301000E5 +:10ACC0000201F8000010B22F4936600A420030003D +:10ACD000000000090201F8000010B7D8420000008F +:10ACE0000010D0220201F8000010C058417A78000C +:10ACF0004178C0000201F80000101D0B5C0000004C +:10AD00004802600A5C0000004802601C0401F00474 +:10AD100082000540000000010401F002800005806F +:10AD20005C0268005C0288005C0278005C00C00085 +:10AD30001C01F0004933C85759CC02068200048038 +:10AD400000000010040210064A02621B000000000E +:10AD500082000540000000010401F002800005802F +:10AD60001C01F0004933C8574A02621B0000000072 +:10AD700059CC0407820005000000FF008200058016 +:10AD8000000008000402000D59CC020659A8085A18 +:10AD9000800404800400100A59CC000682000500DB +:10ADA00000FF000082000D8000140000040000037A +:10ADB00082000D80001000001C01F0004200000025 +:10ADC0000010D0170201F8000010C05882000540A2 +:10ADD000000000010401F7F95930040382003480B7 +:10ADE00000000057020218000010032E833835803F +:10ADF00000000013040200074803C8574C0000007D +:10AE00000201F8000010B8CD5C0000000C01F01841 +:10AE10004933C857493BC85783383580000000275D +:10AE20000400000583383580000000140202080089 +:10AE30000010032E493BC8574937C8570201F80094 +:10AE40000010B8CA0201F80000104974420008005E +:10AE5000000000070201F8000010463F0201F80060 +:10AE600000106DD10201F00000107EFF0010ABFB5E +:10AE70000010AC040010ABFB0010ABFB0010ABFBF0 +:10AE80000010AC040010AC0F0010ACB10010AC6CA2 +:10AE90000010ACB10010AC870010ACB10010AC8E4B +:10AEA0000010ACB10010AC930010ACB10010AC932A +:10AEB0000010ACB10010ACB10010ABFB0010ABFB4C +:10AEC0000010ABFB0010ABFB0010ABFB0010ABFBAA +:10AED0000010ABFB0010ABFB0010ABFB0010ABFB9A +:10AEE0000010ABFB0010AC040010ABFB0010ACB1C9 +:10AEF0000010ABFB0010ABFB0010ACB10010ABFBC3 +:10AF00000010ACB10010ACB10010ABFB0010ABFBFB +:10AF10000010ABFB0010ABFB0010ACB10010ACB1EB +:10AF20000010ABFB0010ACB10010ACB10010ABFBDB +:10AF30000010AC090010ABFB0010ABFB0010ABFB2A +:10AF40000010ABFB0010AC960010ACB10010ABFBD6 +:10AF50000010ABFB0010AC970010ACB10010ABFBC5 +:10AF60000010ABFB0010ABFB0010ABFB0010ABFB09 +:10AF70000010ABFB0010ABFB0010ABFB0010ABFBF9 +:10AF80000010ABFD0010ABFB0010ABFD0010ABFBE5 +:10AF90000010ABFB0010ABFD0010ABFB0010ABFBD7 +:10AFA0000010ABFB0010ABFD0010ABFD0010ABFDC3 +:10AFB0000010ABFB0010ABFB0010ABFB0010ABFBB9 +:10AFC0000010ABFB0010ABFD0010ABFB0010ABFBA7 +:10AFD0000010ABFB0010ABFB0010ABFB0010ABFB99 +:10AFE0000010ABFB0010ABFB0010ABFB0201F80044 +:10AFF0000010032E4D2C0000593258090201F800B0 +:10B000000010059F5C0258000201F00000020BA135 +:10B0100059A8002A480260064A02620300000002A2 +:10B020001C01F0004D3C0000417A78000201F8005C +:10B03000001046345C0278000401F0A30201F8001D +:10B0400000104A90040000A059A8021B8C000508BB +:10B05000040000125932680A4C5800004200B00047 +:10B060000000000283A81C000000000283341400CA +:10B07000000000060201F80000108CB680000540B8 +:10B080005C00B00004020090593402008400051AEC +:10B0900048026A000401F034599C00178C00050A2C +:10B0A0000402000A4D3C0000417A78000201F800D9 +:10B0B000001046345C0278004200080000000007DF +:10B0C0000201F8000010463F5934021282000500C8 +:10B0D0000000FF000402001783440D80000007FEFB +:10B0E000040200790201F80000101FDE59A8021BBB +:10B0F0008C00051404000074832405800010D0D354 +:10B10000040200064D3000000201F80000101E2B62 +:10B110005C0260000401F06C59A8221B8C102514FD +:10B12000040000690201F80000101FBE0401F0666F +:10B13000599C00178C00050A04020063599C0019F1 +:10B140008C00050E04020060416C00008200058046 +:10B15000000000020402000459A80016800000004C +:10B160004803501642000800000000030201F800E6 +:10B170000010463F4A026407000000014A026203D1 +:10B18000000000014A026403000000020201F8000E +:10B1900000106D5C4CE800004201D000000000018E +:10B1A0000201F800001065575C01D0001C01F0009E +:10B1B000593402008400051A48026A000201F800AE +:10B1C00000104A87040000400201F80000106A697C +:10B1D00042000800000000040201F8000010463F91 +:10B1E0000201F8000010B803040200374200080012 +:10B1F000000000050201F8000010463F4A02640703 +:10B20000000000014A026203000000014A026403D8 +:10B21000000000030201F00000106D5C0201F80064 +:10B2200000104A90040200284200080000000006B6 +:10B230000401F8270401F024420008000000000483 +:10B240000201F8000010463F0401F7800201F800F7 +:10B25000001049740401F01C0401F01B5930082748 +:10B260004807C857800409C0040000175804001D8F +:10B2700081300580040200144978081D5804141513 +:10B280008C081516040000108C0815140400000E1C +:10B290008408151648080C1558065809812E59C0FF +:10B2A00004000009492FC8574D30000040066000D7 +:10B2B000417A78000201F80000020A8A5C0260000C +:10B2C0000401F0010201F00000020BA14933C8574C +:10B2D0004807C8570201F8000010463F4D3C0000E7 +:10B2E000417A78000201F800001046345C027800D0 +:10B2F0005934000A840005204802680A0201F0005F +:10B3000000104974593404004803C85780000110E4 +:10B31000820034800000000C020218000010032E8E +:10B320008338358000000015040200020C01F0068D +:10B330008338358000000016020208000010032E3A +:10B340000C01F00D001087B2001087B2001087B218 +:10B35000001087B2001087B2001087B20010AD1540 +:10B360000010ACE9001087B2001087B2001087B25D +:10B37000001087B2001087B2001087B2001087B2A9 +:10B38000001087B2001087B2001087B20010AD1510 +:10B390000010AD1C001087B2001087B2001087B2F9 +:10B3A000001087B24933C8575932481C5924040049 +:10B3B0008C0005080400001B813669C004000019D8 +:10B3C00059340212820005000000FF00040000153D +:10B3D000599C00198C00050E040200124D3C00001F +:10B3E000417A78000201F800001046345C027800CF +:10B3F00042000800000000030201F8000010463F70 +:10B400004A026407000000014A02620300000001D2 +:10B410004A026403000000020201F00000106D5CAB +:10B4200059CC0001593408028004058082000500CF +:10B4300000FFFFFF0202000000020BA1593450027E +:10B440000201F80000104303482A68020201F000DC +:10B4500000020BA14933C857593034038218358094 +:10B460000000001E0200000000020BA11C01F00001 +:10B470004933C8570201F80000108B7B020200001C +:10B4800000020BA14A026203000000014A026403A9 +:10B49000000000010201F00000106D5C493BC8573C +:10B4A00083380580000000510402000B0201F800FF +:10B4B000001072660202000000107F825930020301 +:10B4C00082000580000000020400006E0201F80006 +:10B4D0000010032E833805800000002704000014AC +:10B4E000833805800000004804000006833805808A +:10B4F000000000140400000E020208000010032ED9 +:10B500000201F800001072660202000000107F8243 +:10B510005930020382000580000000040200000090 +:10B5200000020CA10201F8000010032E4933C85795 +:10B530005930040382000C8000000044020218000D +:10B540000010032E8200048000000040020018005A +:10B550000010032E400270004803C8570C01F00190 +:10B560000010AD5C0010AD5E0010AD5E0010AD7956 +:10B570000201F8000010032E0201F80000106DD146 +:10B5800059325809812E59C004000016832C050039 +:10B5900000FF0000040000134A02620300000002E2 +:10B5A0005932680A593402008C00050E0402000D5D +:10B5B00042028000000000040201F8000010B209FD +:10B5C000497A6009593000068000054004020003F2 +:10B5D00059A8002B480260064A02620300000007D7 +:10B5E0001C01F0000201F80000106DD10201F8000A +:10B5F000001099040200000000107EFF5932580923 +:10B600000201F800001005960201F00000107EFF14 +:10B610000201F8000010032E59325809592C040B6E +:10B620008C000502040000074A02620300000007C4 +:10B6300042027000000000430201F00000020BC54E +:10B640004A026203000000041C01F0000201F8003D +:10B650000010B44A0200000000020C9F1C01F00020 +:10B660004A026203000000014A0264030000004134 +:10B6700042027800800020420201F00000020B42EA +:10B6800083380580000000510400000683380580DF +:10B6900000000041020208000010032E1C01F0000F +:10B6A0000201F80000020B010201F8000010B48E44 +:10B6B0000201F00000020BA1833804800000005258 +:10B6C000020218000010032E833804800000004995 +:10B6D000020018000010032E0C01F0010010ADC292 +:10B6E0000010ADEC0010ADC00010ADC00010ADC03A +:10B6F0000010ADC00010ADEC0010ADC00010AE0EDB +:10B700000201F8000010032E59325809592C040B7D +:10B710008C00051E0400001382000D00000000C014 +:10B7200082040D80000000800400001659300804D7 +:10B730008C040D1804020013593004158C000516F2 +:10B74000040000044A026203000000070401F0182C +:10B7500042027000000000410201F00000020CC033 +:10B760004A02620300000007497A60065930041556 +:10B770008C0005160402000E0201F00000020B010D +:10B7800059325809592C0C0B8C040D1A040200056F +:10B790000201F80000020B010201F00000020BA1FF +:10B7A0000201F8000010B44A040007FA1C01F0007E +:10B7B0000201F80000106DB1593258095932680A77 +:10B7C000593402008C00050E0400000E592C040BA5 +:10B7D00082000500000000C082000580000000809B +:10B7E00004000005592C001059301816800C1C80DC +:10B7F000480E60164A026203000000020401F00EC7 +:10B8000042028000000000040201F8000010B209AA +:10B8100059300006800005400402000459A8002B9E +:10B82000800000C248026006497A60094A02620349 +:10B83000000000071C01F0004933C8570201F8005E +:10B8400000107266020208000010032E5930020335 +:10B8500082000580000000020400078A0201F8004F +:10B860000010032E4A02620300000007497A6006B6 +:10B870000201F00000020B014A026203000000070F +:10B88000497A60060201F00000020AFC59300415F2 +:10B890008C00051C0202000000020CB1593258094C +:10B8A000592C2010400800008010248059300016C8 +:10B8B00080102400481260160201F00000020CB152 +:10B8C0008C040D0E0402000A4A0262030000000606 +:10B8D0000401F823593000288000054002020800C6 +:10B8E00000100B210201F00000020AFC4A02620370 +:10B8F000000000021C01F0004200080000000001EE +:10B900000201F80000100B218204058000000001F4 +:10B910000200000000020CB80401F7D859300415E9 +:10B920008C00051C040000060201F800001008A5A8 +:10B930000200000000020CAA1C01F00059300012A5 +:10B9400080000540040200050201F800001008A56F +:10B950000200000000020CAA1C01F000492FC85789 +:10B96000480BC8578C08153E04000006800810805C +:10B970008008100042000800000000090401F003E4 +:10B980004200080000000015480A580C1C01F00095 +:10B99000833805800000001304000005833805800B +:10B9A00000000014020208000010032E5930041594 +:10B9B0008C000516020008000010032E1C01F00088 +:10B9C0000201F8000010032E5930000980000540E4 +:10B9D000020208000010032E1C01F000593004156B +:10B9E0008C000516020008000010032E1C01F00058 +:10B9F0004A02620300000004493A6403420008005E +:10BA0000800020010201F00000020B424A026203A2 +:10BA100000000003493A64030201F80000020172C9 +:10BA200059325809592C040B8C00051E04000012D1 +:10BA300082000500000000C0820005800000008038 +:10BA400004000011593004158C0005120402000A8C +:10BA50008C00051004020008592C040D80000540DC +:10BA60000402000582080D40800030650201F000EC +:10BA700000020B3482080D40800020650201F000B6 +:10BA800000020B3482080D40800020420201F000C9 +:10BA900000020B344933C857493BC85783380480E8 +:10BAA00000000044020218000010032E83380480B6 +:10BAB00000000041020018000010032E0C01F001EC +:10BAC0000010AEB30010AEC30010AED85932580902 +:10BAD000592C040B8C00051E0400001D82001D0063 +:10BAE000000000C0820C1D80000000C0040000188F +:10BAF0004A02620300000001493A64034200080060 +:10BB0000800020420201F00000020B425932580925 +:10BB1000592C040B8C00051E0400000D82001D0032 +:10BB2000000000C0820C1D80000000C0040000085E +:10BB30004A02620300000001493A6403420008001F +:10BB4000800020010201F00000020B42497A6009E6 +:10BB5000497A600642028000000000040401F332CA +:10BB600059325809592C040B8C00051E040007F8A3 +:10BB700082001D00000000C0820C1D80000000C07B +:10BB8000040007F34A02620300000003493A640319 +:10BB90000201F8000002017282080D408000206559 +:10BBA0000201F00000020B344933C857493BC85723 +:10BBB0008338058000000085040000068338058076 +:10BBC000000000880400000A0201F8000010032EA3 +:10BBD0004A02620300000009493A64034200080077 +:10BBE0008000004B0201F00000020B428330058010 +:10BBF0000011162C020208000010032E4D1C00003C +:10BC0000813669C0040000040201F8000010B44449 +:10BC10000402005459CC1404417800000401F85384 +:10BC20000400001A59CC0204820015800000FFFFB6 +:10BC300004000004591C140280080580040200134B +:10BC4000591C0407820005000000001F82002580A7 +:10BC500000000006040000078200258000000004A8 +:10BC60000400003282002580000000110402000759 +:10BC7000497A3A0542002000000000540201F80011 +:10BC8000001080580401F037592404008C00050A84 +:10BC90000402000442023800FFFFFFFF0401F7F630 +:10BCA000813669C00402001259CC000159CC380019 +:10BCB000821C3D0000FFFFFF4C1C00000201F80049 +:10BCC000001061705C003800040200260201F800D8 +:10BCD00000101FF3040200230201F8000010467D4B +:10BCE000040200204926601C4936600A4A026403A7 +:10BCF0000000008759CC1204820815800000FFFF65 +:10BD0000040200034A026403000000864D2C000078 +:10BD10000201F8000010B8300201F80000104DD701 +:10BD20005C0258000401F00F591C040382000580D6 +:10BD300000000038040007D0591C0203820005806F +:10BD400000000007040207D14D300000411E6000D2 +:10BD50000201F80000107EFF5C0260000401F7CBD6 +:10BD60005C0238001C01F0004933C857480BC85723 +:10BD70004C5C00004000B80042002800001116840E +:10BD800041300000801405800400001F5814020395 +:10BD900082000580000000000400001B581402020D +:10BDA000800805800402001858141C07820C0580C6 +:10BDB00000000005040000148C5CBD0004000004B9 +:10BDC000820C0580000000070400000F820C058033 +:10BDD00000000009040000395930200A5814000AF4 +:10BDE000800001C00400000E82001D800010E33EB0 +:10BDF0000400000B801021C00400000380100580A7 +:10BE00000400001282142C000000002C4154000099 +:10BE1000801404800402101E0401F7DA581400276D +:10BE2000801021C004000005581020028210250057 +:10BE300000FFFFFF0401F7F28C5CBD00040207F273 +:10BE4000593020270401F7EE401638008C5CBD0005 +:10BE5000040000084C0800004C1400000201F80027 +:10BE60000010B7BF5C0028005C001000040007E66B +:10BE7000591C000A800001C0040200035930000A66 +:10BE80004802380A813005400401F00A8C5CBD008C +:10BE9000040000084008080042023800FFFFFFFFCE +:10BEA0000201F80000104DE1040007F28000058057 +:10BEB0005C00B8001C01F000581418088C0C1D1010 +:10BEC000040207D10401F7C54933C8578330058000 +:10BED000001116000402003E4A0262030000000046 +:10BEE00083380580000000130402002D593004033C +:10BEF0008200058000000092020208000010032E5C +:10BF000059A8005259325809812E59C00400000620 +:10BF1000812C0580020208000010032E592C00001D +:10BF2000497A5800800001C00400000548035052BF +:10BF30000201F80000107E6D0401F003497B5052AD +:10BF4000497B5053812E59C004000020592C020512 +:10BF500082000580000000550200000000100596D8 +:10BF60008338058000000013040200054A025A07C6 +:10BF7000000000000201F000000203F14A025A072B +:10BF8000000000314A025812000000044A0258130F +:10BF9000000000FF0201F000000203F18338058079 +:10BFA000000000270400000583380580000000140D +:10BFB000020208000010032E493BC8570201F80096 +:10BFC00000106DD10401F7CA1C01F0004933C857B5 +:10BFD00083380580000000130402000E593004036A +:10BFE0004803C85782000C8000000085020018003A +:10BFF0000010032E82000C80000000930202180043 +:10C000000010032E82000480000000850C01F0194E +:10C010008338058000000027040000058338058070 +:10C02000000000140202000000107F82493BC85744 +:10C030000201F80000106DD159325809812E59C003 +:10C040000200000000107EFF4A025A070000003183 +:10C050004A025812000000044A025813000000FF70 +:10C060000201F800000203F10201F00000107EFF5F +:10C070000010B02A0010B0310010B0310010B02A0A +:10C080000010B02A0010B02A0010B02A0010B02A08 +:10C090000010B02A0010B02A0010B02A0010B02AF8 +:10C0A0000010B02A0010B02C0201F8000010032E7E +:10C0B000593258094A025A07000000000201F800EC +:10C0C000000203F10201F00000020BA14933C8573E +:10C0D000420000000010D0330201F8000010C058E8 +:10C0E0000201F8000010B48E497A62054202800015 +:10C0F0000000000B0401F8074A0264070000000674 +:10C100004A02620300000007497A60061C01F00041 +:10C110004933C8574943C85759300407820005803E +:10C1200000000007040200021C01F0000201F800F8 +:10C1300000106E814DF000000201F800001099041B +:10C140000400000A59300809580400008000154016 +:10C1500004000006497808004D2C0000400A5800F1 +:10C160000401F9B15C0258000201F800001095C703 +:10C1700082000C800000000E020218000010032E46 +:10C180000C01F0010010B0840010B0880010B06FF6 +:10C190000010B0970010B0AB0010B06F0010B06F7F +:10C1A0000010B06F0010B06F0010B06F0010B06FD3 +:10C1B0000010B06F0010B06F0010B06F4D40000065 +:10C1C0005930002880000540040000054140080067 +:10C1D0000201F80000100B21400680004D2C0000E9 +:10C1E000593258090201F800001099040402098E1E +:10C1F0004C5C00005930B80A0201F80000107EFFC4 +:10C20000485E600A5C00B8005C0258005C02800076 +:10C210005C03E0000200000000106E6E1C01F000E4 +:10C22000598C000F81300580040200040201F800DF +:10C23000001071A1040200180201F800001102D6DA +:10C2400080C40040040007DE0201F80000106D8C7D +:10C25000040000110201F8000010032E0201F80092 +:10C26000001095B5040200040201F8000010716A84 +:10C27000040200090201F8000011015D80C40040C1 +:10C28000040007CF0201F80000106D8C02020800C4 +:10C290000010032E5930020382000C800000000EB3 +:10C2A000020218000010032E0C01F7B70201F8007B +:10C2B00000100C810401F7C24933C8574D24000017 +:10C2C0004D4400004D3400004C58000059CC38005B +:10C2D000821C3D0000FFFFFF59CC00074C0000000E +:10C2E00059CC00018200050000FFFFFF82000D8095 +:10C2F00000FFFFFE5C00000004020005801C0D80B2 +:10C30000040200664200000000FFFFFE0201F80088 +:10C31000001061700200080000104AD40402005F9F +:10C3200083CC1400000000084200B00000000002AE +:10C3300083341C00000000060201F80000108CB6D7 +:10C34000040200555930001C4C0000000201F800A6 +:10C3500000104ACB4926601C5930000A4C000000EE +:10C3600059242C008C142D0A0402001481342D80D1 +:10C3700004000003420028000000000458002403C9 +:10C3800059340C0359341802820C1D0000FFFFFFC2 +:10C39000420030000000000559CC400859CC380953 +:10C3A0009C2041C09C1C39C0420280000000004615 +:10C3B000413010000401F9424936600A83440D807F +:10C3C000000007FE04020016420030000000001AC0 +:10C3D0000201F8000010B7E0420000000010D02079 +:10C3E0000201F8000010C0584D3C00004D40000014 +:10C3F00042028000000000290201F80000101FDE48 +:10C40000420278000000000A0201F8000010203605 +:10C410005C0280005C0278000401F01242003000EF +:10C420000000000B0201F8000010B7E0420000001D +:10C430000010D0200201F8000010C0584D3C000050 +:10C440004D4000004202800000000029417A78003F +:10C450000201F8000011007B5C0280005C027800A1 +:10C460005C0000004802600A5C0000004802601C9A +:10C4700059CC000783440D80000007FE040200052C +:10C480004200000000FFFFFE4A026C0000000707A8 +:10C4900048026802800005805C00B0005C02680011 +:10C4A0005C0288005C0248001C01F0004933C85758 +:10C4B0004C04000059A8005A820005800000007456 +:10C4C0000402004059CC0A088204048000000100E4 +:10C4D0000400103359CC0C088204050000008000D1 +:10C4E0000400003559A8001380000540040200092B +:10C4F0005930100A58080212820005000000FF009F +:10C500000400000482040500000008000400002A62 +:10C5100059CC0C09800408400400102459A80A1BB7 +:10C520008C040D060400000459CC0C0F8C040D1E65 +:10C530000402001259CC0A17800409C00402001238 +:10C5400059CC0A1882040480000001000400101471 +:10C5500059CC0C18800409C00402000E59CC0C19E7 +:10C56000800408400400101159CC0C1A80040840C3 +:10C57000040010110401F0184A02621B00000100BF +:10C580000401F0124A02621B000003000401F00FD4 +:10C590004A02621B000005000401F00C4A02621B03 +:10C5A000000007000401F0094A02621B00000900B4 +:10C5B0000401F0064A02621B00000F000401F003B0 +:10C5C0004A02621B00002D008200054000000001AD +:10C5D0000401F002800005805C0008001C01F000EE +:10C5E00059CC04074803C8578200058000000800A2 +:10C5F000040000034A02621B000000001C01F0005E +:10C600004933C8574C58000059CC000C5934080223 +:10C6100082040D0000FFFFFF800405800402001269 +:10C6200083CC1400000000084200B00000000002AB +:10C6300083341C00000000060201F80000108CB6D4 +:10C640000402000983CC14000000000A4200B0007C +:10C650000000000283341C00000000080201F80002 +:10C6600000108CB65C00B0001C01F0004933C857C4 +:10C670004C58000083CC14000000000B4200B000B6 +:10C680000000000283341C00000000060201F800D4 +:10C6900000108CB60402000C83CC14000000000DC6 +:10C6A0004200B0000000000283341C0000000008BB +:10C6B0000201F80000108CB6040000144933C8567B +:10C6C0004933C8564933C857593400094803C85735 +:10C6D0005934000E4803C857593400084803C85756 +:10C6E0005934000D4803C857593400074803C85748 +:10C6F0005934000C4803C857593400064803C8573A +:10C700005934000B4803C8575C00B0001C01F0000E +:10C710004933C857813261C00400002D83300D8039 +:10C720000011162C0400002A8D3E7D06040200280C +:10C7300059300C0782040580000000010400000A43 +:10C740008204058000000002040200215930022604 +:10C7500082000580000000010402001D59300C1702 +:10C760000401F00259300C038204058000000039F6 +:10C770000400000482040580000000350402001457 +:10C780004D3000004D1C0000593260274933C85716 +:10C790000201F80000109D69020008000010032E3D +:10C7A000591C001D497A381D591C0C1584040D02B2 +:10C7B00048063C155C0238005C0260008130058050 +:10C7C000020208000010032E497A60271C01F000C5 +:10C7D0005C0000004C0000004803C8574D3C0000BE +:10C7E00042027800000000010201F8000010463407 +:10C7F0005C0278004C5800004200B00000000002CB +:10C8000083A81C000000000283CC14000000000B71 +:10C810000201F80000108CB65C00B00080000540FA +:10C820001C01F000492FC8574943C85759A8000CAC +:10C83000812C04800400101159A8000A812C048066 +:10C840000402100E592C000080005D400400000816 +:10C85000497A580049425A074C2C00000201F8005E +:10C86000000203F15C0258000401F7F749425A073D +:10C870000201F000000203F11C01F0004200200060 +:10C880000000FFFF5930100A800811C004000002A8 +:10C8900058082403413010000401F00940682800C2 +:10C8A000406C300041781000414420000401F00445 +:10C8B00041781000420020000000FFFF5C000000F3 +:10C8C0004C0000004803C857480BC8574813C857C6 +:10C8D000492FC8574943C8574D2C00004C0400004D +:10C8E0004C0800004C0C00004C1000004C140000E0 +:10C8F0004C1800004C1C00004C2000000201F80005 +:10C9000000100585020008000010032E5C004000A6 +:10C910005C0038005C0030005C0028005C002000F7 +:10C920005C0018005C0010005C0008004A0258051A +:10C930000000010D800811C00400001F8340058025 +:10C94000000000290402001882180580000000027F +:10C950000400000D82180580000000030400000A96 +:10C960008218058000000008040000078218058076 +:10C97000000000060400000782180580000000097E +:10C98000040200094A02580AFFFFFFFF0401F007F2 +:10C990005808280A581400028200050000FFFFFF13 +:10C9A00048025813480A580A5808020248025C1400 +:10C9B0000401F0054A02580AFFFFFFFF4A025C1417 +:10C9C0000000FFFF834005800000004604000002D5 +:10C9D00041782800480E580D4806580E4822580F36 +:10C9E000481E581048165A08481A5C0949425A0904 +:10C9F00048125A07821005800000FFFF040000144F +:10CA00004D4400004D3400004012880083440480EF +:10CA1000000007F0040010040201F80000104AD4DE +:10CA20000401F0030201F8000002034E02020800B4 +:10CA30000010032E593400028200050000FFFFFFA2 +:10CA4000480258135C0268005C028800497A58006A +:10CA5000497A5C05812000D048025C110201F8008F +:10CA60000010B7175C0258001C01F0005C000000C9 +:10CA70004C0000004803C857480BC857480FC85718 +:10CA80004813C8574817C8574D2C00004C080000E1 +:10CA90004C0C00004C1000004C1400000201F80087 +:10CAA00000100585020008000010032E5C0028001D +:10CAB0005C0020005C0018005C0010000401100005 +:10CAC000832C0400000000054803C8404A03C84204 +:10CAD0000000001040000000040117FF4A02580542 +:10CAE0000000010D4A025A0900000049480A5A0B89 +:10CAF000480E5C0B48125A0C48165C0C82080580E4 +:10CB00000000801404020068820C05800000FFFF12 +:10CB10000402006582100580000000060402006225 +:10CB20004D240000420248000010D0D359240005D3 +:10CB30005C0248000201F800001051550400000991 +:10CB400082000D0000FFFF000402000682000C00BE +:10CB500000102142500408008004091048065A0DB4 +:10CB600082000D000000FFFF48065C0D80000120E0 +:10CB700048025A0E59A8021B820015000000350019 +:10CB8000480A5A0F8C0005020400001F8C0005069D +:10CB90000400000982000D000000000A82040D80DC +:10CBA0000000000A040200044A025C0E00000001BA +:10CBB0000401F0228C00050A0400000982000D0027 +:10CBC0000000002282040D80000000220402000404 +:10CBD0004A025C0E000000030401F0188C000508F6 +:10CBE0000400000982000D000000001282040D8084 +:10CBF00000000012040200044A025C0E0000000261 +:10CC00000401F00E0201F800001051550402000466 +:10CC10004A025C0E000000040401F0088C000506C6 +:10CC2000040000044A025C0E000000050401F00349 +:10CC30004A025C0E0000000059A8002A48025C0F5E +:10CC400059A8002B48025A1059C4080182040D004B +:10CC5000000180008204058000000000040200043E +:10CC60004A025C10000000000401F00F82040580FD +:10CC700000008000040200044A025C100000000171 +:10CC80000401F00982040580000100000402000490 +:10CC90004A025C10000000030401F0034A025C1029 +:10CCA000000000040401FBEE5C0258001C01F000CF +:10CCB0000401F8074201880000000001040000039D +:10CCC00042018800000000001C01F0005930080AF1 +:10CCD000800409C004000004580404038144058052 +:10CCE0001C01F00082000540000000010401F7FD76 +:10CCF0004933C8574C0400005930040382000D80AA +:10CD00000000001E04020016800000D059300A17EF +:10CD100082040D00000000FF800405404803C8574E +:10CD2000480264174A026403000000854A02620355 +:10CD3000000000094A026407000000054A0262265A +:10CD40000000000459A8002B4802600642000800B9 +:10CD50008000004B0201F80000020B425C0008005A +:10CD60001C01F0004933C85740000000400000009B +:10CD70001C01F000593004154933C8574803C857FF +:10CD80008C000518040000098C0005120202000046 +:10CD900000109B410401F9290201F80000020B0177 +:10CDA0000201F80000020BA11C01F000591C04074D +:10CDB0004803C85782000C80000000090402100BD1 +:10CDC0000C01F0010010B37A0010B37A0010B37AAE +:10CDD0000010B37C0010B37A0010B37C0010B37C59 +:10CDE0000010B37A0010B37C800005801C01F000B5 +:10CDF00082000540000000011C01F000591C0407DE +:10CE0000820005000000001F82000580000000066F +:10CE10000400000E4803C8574A0264030000003BA8 +:10CE20004A02641B000000094A02621B00002A003B +:10CE30004A02620300000001420008008000004036 +:10CE40000201F00000020B424803C8564C040000E7 +:10CE50004C1400004D300000411E60000401F8F742 +:10CE6000497A6205593004154803C8578200050005 +:10CE7000FFFFADFF48026415497A64055C0260005B +:10CE80000201F80000100585020008000010032EC2 +:10CE90005C0028005C0008004A0258050000010DF3 +:10CEA000497A5800497A5C054A025A09000000454F +:10CEB000491E580A5930040248025C085930041AC5 +:10CEC00048025C0C591C04158400055648023C15A8 +:10CED000591C180A580C040348025A07580C00023F +:10CEE0008200050000FFFFFF4802581359CC0404DC +:10CEF00048025C14497A5A084816580B48065A0CDE +:10CF0000580C001382000500FF0000008000012083 +:10CF100048025C110401FB52493A64034D40000091 +:10CF20004202800000000045591C02024C00000033 +:10CF30004D300000411E60000401FC765C02600080 +:10CF40005C00000048023A025C028000491E602733 +:10CF50004932381D4A023C07000000064A023A03E3 +:10CF600000000007497A3806497A3A051C01F000AA +:10CF70004933C85783380580000000130402000BB2 +:10CF8000593004034803C85782000D800000008513 +:10CF90000400002B82000D800000008B040000289C +:10CFA0000201F8000010032E8338058000000027DE +:10CFB0000402000C0201F80000106DD14D2C00009D +:10CFC0004D40000059325809420280000000000420 +:10CFD0000401FE155C0280005C0258001C01F00098 +:10CFE0008338058000000014040007F383380580AF +:10CFF0000000008904000005833805800000008AD5 +:10D000000202000000107F820201F8000010726628 +:10D010000202000000107F8259300A03820405805A +:10D020000000000A04000009820405800000000CD2 +:10D03000040000060201F8000010032E4A026203F9 +:10D040000000000A1C01F0008338048000000093F7 +:10D050000402100C833804800000008504001009CD +:10D0600083380580000000890400000A83380580A9 +:10D070000000008A040000240201F8000010032EC2 +:10D08000493BC8574933C8570201F00000107F825E +:10D090004933C8574C340000413068000201F800A1 +:10D0A00000107F43040000134A02620300000001E5 +:10D0B0004A0264030000001E59CC0C074806641A9B +:10D0C00059CC0A074806621A5834080A4806600A0A +:10D0D0005834081C4806601C4A026407000000041B +:10D0E00042000800800000400201F80000020B42EC +:10D0F000403660000201F80000020BA15C006800ED +:10D100001C01F0004933C8570201F00000020BA1D6 +:10D110005930080A580402008C00051A020208005F +:10D12000001003F51C01F0000201F8000010499AFC +:10D130000400001E4A026203000000025930041578 +:10D1400084000558480264158C0005120400000490 +:10D1500059A8002C480262050401F00759A8082CC0 +:10D1600059A8002A80040400820004000000001E68 +:10D17000480262055930000A82000C0000000011CC +:10D1800050040000800005400400000482000C00F0 +:10D19000000000000401F7FB45300800497A6000F8 +:10D1A00082000540000000011C01F0008210050013 +:10D1B000FFFFFEEF0402001C4D2C00004937C8574A +:10D1C000593408118334140000000011800409C090 +:10D1D0000400000E400400008130058004000005BA +:10D1E0008204140000000000580408000401F7F84D +:10D1F00059300800497A6000440410000201F80028 +:10D2000000020B010401F0024933C8575C025800C8 +:10D21000492E60090201F80000020B010201F00032 +:10D2200000020BA1492FC8574A025A070000000606 +:10D230000201F000000203F14C3400005930000AF2 +:10D24000800001C00400001182006C000000001189 +:10D2500050340000800005400400000A8130058041 +:10D26000040000055034000082006C000000000043 +:10D270000401F7F85930000044006800497A600062 +:10D280005C0068001C01F00059300C078204058026 +:10D2900000000005040007FB820405800000001167 +:10D2A000040007F88204058000000006040007F56A +:10D2B0008204058000000001040007F20201F8006A +:10D2C0000010032E4933C8574C0800004C0C0000D6 +:10D2D0004C58000059A8101859CC1807820C1D0092 +:10D2E00000FFFFFF800C011080083580040200144D +:10D2F00083CC1400000000084200B00000000002CF +:10D300005930000A82001C00000000060201F800EB +:10D3100000108CB60402000A83CC14000000000A3E +:10D320004200B000000000025930000A82001C00D8 +:10D33000000000080201F80000108CB65C00B0008C +:10D340005C0018005C0010001C01F0004933C85656 +:10D35000493A64030201F800001042410201F00062 +:10D3600000101E58493BC8574D2C00000201F80020 +:10D3700000100585020008000010032E832CAC006D +:10D38000000000064C5800004C5400004200B00061 +:10D39000000000064578A8008054A8008058B040DE +:10D3A000040207FD833805800000004604020004E3 +:10D3B0004A025805000001440401F0084A025805D9 +:10D3C000000001468338058000000041040000038E +:10D3D0004A025A070000000159CC000782000500EC +:10D3E000FF0000008000011059CC100882081500D1 +:10D3F000FF00000080081540480A580B833805805C +:10D40000000000460402000659CC00078200050017 +:10D4100000FFFFFF4802580C0401F00559CC00083A +:10D420008200050000FFFFFF4802580C833805808A +:10D43000000000460402000483CC14000000000930 +:10D440000401F00383CC14000000000D500800001C +:10D450009C0001C04802580D8008100050080000D0 +:10D460009C0001C04802580E833805800000004629 +:10D470000402000859CC000B9C0001C04802580F60 +:10D4800059CC000C9C0001C0480258100401F00760 +:10D4900059CC000F9C0001C04802580F59CC001015 +:10D4A0009C0001C0480258108338058000000046E7 +:10D4B0000402000483CC1400000000110401F003F6 +:10D4C00083CC140000000015412C30008218340079 +:10D4D000000000114200B0000000000450080000ED +:10D4E0009C0001C04400300080081000801830000B +:10D4F0008058B040040207FA5C00A8005C00B0004D +:10D500000201F800000203F15C0258001C01F00067 +:10D510004933C857492FC8575930080A58040200E0 +:10D520008C00051E04000004592C020984000558D3 +:10D5300048025A091C01F00059E0180F599C0413C5 +:10D54000800C100080080580040200024178100061 +:10D5500059E0001059E0081080040D80040207FD16 +:10D56000800805800400001A4C080000801020404C +:10D570000400000E599C04138008100080080580E8 +:10D58000040200024178100059E0001059E0081030 +:10D5900080040D80040207FD80080580040207F462 +:10D5A0005C0010000401F00A599C0814599C1015E5 +:10D5B000800C00CC80040C008208144000000000A5 +:10D5C0005C00180082000540000000014803C857B5 +:10D5D0001C01F000593002034933C8574937C85776 +:10D5E000493BC8574803C857820034800000000EEA +:10D5F000020218000010032E0C01F0010010B58D7E +:10D600000010B6B20010B58D0010B58D0010B58DAC +:10D610000010B58D0010B58D0010B60D0010B58F3F +:10D620000010B58D0010B58D0010B58D0010B58DB2 +:10D630000010B58D0201F8000010032E833805801C +:10D640000000004C020208000010032E0201F80046 +:10D65000001049AE0402002359A80A1B5932481C85 +:10D660005924020082000500000000E082000580CD +:10D67000000000800400001B8C040D120400003226 +:10D6800059CC080682040D00FF00000082040580CA +:10D690000300000004000020820405805000000008 +:10D6A0000400000582040580520000000202000010 +:10D6B00000020BA1833405800010E33E0400000645 +:10D6C0004D3C0000417A78000201F8000011007B17 +:10D6D0005C0278004A026403000000010401F014B7 +:10D6E00059CC080682040D00FF000000820405806A +:10D6F00003000000040000088204058050000000C0 +:10D7000004000005820405805200000002020000AF +:10D7100000020BA14A026403000000094A02641BD4 +:10D72000000000094A02621B000000004A02640770 +:10D73000000000044A026203000000010201F00040 +:10D7400000106D5C592404008C00050A04020023BB +:10D750000201F8000010C19E0402002059CC080606 +:10D760004807C85782040D00FF00000082040580AE +:10D770000300000004000013820405802000000064 +:10D780000400001082040580210000000400000D48 +:10D7900082040580240000000400000A8204058041 +:10D7A00050000000040000078204058052000000C1 +:10D7B0000400000482040580050000000402000A41 +:10D7C0009C0431C042028000000000464200280054 +:10D7D000000000010401FC2A0401F92D02000800E8 +:10D7E0000010032E42002000000000510201F8004A +:10D7F0000010805859CC00008200050000FFFFFF98 +:10D800008200058000FFFFFF040000054A0262035A +:10D8100000000007493A64031C01F000593258180F +:10D82000812E59C0020208000010059F0201F0007D +:10D8300000020BA14D2C00004C5800004C50000081 +:10D840004C540000413850008338058000000054DB +:10D85000020208000010032E59325809592C0C0CF2 +:10D8600082040D000000E00082040580000020001A +:10D870000402008059300818800409C00400001612 +:10D880005804140541CCA8008204A400000000063E +:10D890008208048000000010040210054008B00057 +:10D8A0000201F8000010C12B0401F00B4000100031 +:10D8B0004200B0000000000F0201F8000010C12B70 +:10D8C00058040801800409C0040207F00201F800AE +:10D8D0000010032E833405800010E33E0400006531 +:10D8E00059344C00592C0C0A4807C8574827C857C8 +:10D8F00082040D00000000FF820405800000000388 +:10D900000400002A820405800000000504000031A4 +:10D9100082040580000000200400003D8204058090 +:10D9200000000052040000498204058000000050FD +:10D930000400004982040580000000210400000466 +:10D9400082040580000000240402004A82240500AD +:10D950000000FF00820005800000070004000008AE +:10D9600042000800000000090201F8000010463FD4 +:10D97000420050000000000C0401F03E4A025A0729 +:10D98000000000314A02580E00000009593404001A +:10D990004802580F0201F800000203F10201F800EA +:10D9A00000107EFF0401F044417808000201F800F5 +:10D9B0000010473C42000800000000030201F8008C +:10D9C0000010463F42005000000000080401F0290A +:10D9D00059CC3800821C3D0000FFFFFF4C1C0000AA +:10D9E0000201F80000101FF35C003800040200215F +:10D9F00059CC00070201F800001064120402001D57 +:10DA00004A026C00000007070401F01A8224050096 +:10DA10000000FF008200058000000700040007D816 +:10DA200082240500000000FF82000580000000093C +:10DA3000040007D30201F800001047AA420050007A +:10DA40000000000A0401F00B420050000000000E2C +:10DA50000401F00342005000000000108224050081 +:10DA60000000FF008200058000000700040007C4DA +:10DA7000482A64034A02620300000001592C000E88 +:10DA800048026012497A601459A8002B48026006C7 +:10DA9000417A78000201F80000106D5C5932581884 +:10DAA000812E59C0040000040201F8000010059FF7 +:10DAB000497A60185C00A8005C00A0005C00B0001F +:10DAC0005C0258001C01F0004D2C0000593258092E +:10DAD00083380580000000130402003C492FC8571A +:10DAE00059300C038204058000000054040000300B +:10DAF00082040580000000100400002A82040580D2 +:10DB00000000000E040000275934140082081D0094 +:10DB10000000FF0082081500000000FF820405805D +:10DB20000000000804000013820405800000000CBF +:10DB300004000013820405800000000A02020800AD +:10DB40000010032E820C058000000700040000185E +:10DB5000820805800000000904000015420008004A +:10DB6000000000060201F8000010463F0401F0101A +:10DB700042000000000000030401F0034200000026 +:10DB80000000000980080580040200094200080026 +:10DB9000000000040201F8000010463F0401F004F8 +:10DBA000593402008400051A48026A004A025A07E2 +:10DBB000000000000201F800000203F10201F80079 +:10DBC00000020BA10401F024833805800000002727 +:10DBD0000400000F833805800000001402020800D2 +:10DBE0000010032E492FC8570201F80000106DD114 +:10DBF00042028000000000314200080000000004E2 +:10DC000042001000000000FF0401F00A492FC8572D +:10DC10000201F80000106DD14202800000000031C6 +:10DC20004200080000000004420010000000001044 +:10DC300049425A074806580E480A580F0201F80090 +:10DC4000000203F10201F80000104D190201F80072 +:10DC500000107EFF5C0258001C01F000492FC857DD +:10DC60004200700000020CF458380806492C700677 +:10DC7000800409C004020004492C70070201F0006E +:10DC800000020026492C08001C01F0004D2C000069 +:10DC90004C5800004C5000004C5400004933C85709 +:10DCA0004937C85759CC08064807C85782040D00A1 +:10DCB000FF00000082040580030000000400000D46 +:10DCC00082040580050000000400000A820405802B +:10DCD00021000000040000328204058024000000BE +:10DCE0000400002F8204058020000000040200319F +:10DCF0000201F800001005850400002E492FC857C6 +:10DD0000492E601859A8B05A8258B4000000001B70 +:10DD10008258B500FFFFFFFC8058B104485A5C05EB +:10DD2000412C780041CCA0008258048000000010F3 +:10DD300004021006832CAC00000000060201F8006B +:10DD40000010C12B0401F016405808004200B0003A +:10DD50000000000F832CAC00000000060201F80058 +:10DD60000010C12B8204B4800000000F0201F800F3 +:10DD70000010058504000004492C7801412C78002E +:10DD80000401F7EA593258180201F8000010059F03 +:10DD9000497A6018800005800401F00659340200B9 +:10DDA0008400055448026A0082000540000000011A +:10DDB0005C00A8005C00A0005C00B0005C025800A1 +:10DDC0001C01F0004933C857492FC8574D2C00009B +:10DDD00059300A0382040580000000070400003760 +:10DDE0008204058000000001020208000010032EDA +:10DDF0000201F80000106E814DF00000598C000FF8 +:10DE00008130058004020016593000048C00052082 +:10DE10000400000484000520480260040401F01698 +:10DE2000420010000010CF5B50081000580800029C +:10DE30008200058000000100040000065808000B65 +:10DE400081300580020208000010032E0401F00A50 +:10DE50000201F800001071A10402002159300004F1 +:10DE60008C000520040000048400052048026004A2 +:10DE70000401F0040201F800001102D680C4004041 +:10DE80005C03E0000200080000106E6E0201F80062 +:10DE900000109904020008000010032E593258099E +:10DEA0004A025A07000000050201F800000203F1CF +:10DEB0000201F80000104D1959325818812E59C02E +:10DEC000020208000010059F0201F80000107EFF0A +:10DED000800005805C0258001C01F0005C03E0003B +:10DEE0000200080000106E6E59300C078204058095 +:10DEF00000000011040007B70401F7F74C0400000C +:10DF0000593402004803C8578C00051C040000095E +:10DF100059CC0805591C001A4803C85780040580CD +:10DF200004000004800005804803C8560401F00383 +:10DF300082000540000000015C0008001C01F000A8 +:10DF40004C0000004C0C00004C1000004200180077 +:10DF50000000FFFF42002000000000040401F01355 +:10DF60004C0000004C0C00004C1000005930200AFE +:10DF700058101C0342002000000000040401F00BB4 +:10DF80004C0000004C0C00004C1000005930200ADE +:10DF9000801021C0020008000010032E58101C033E +:10DFA0004200200000000007480FC8574813C85718 +:10DFB000481BC8570201F80000101FDE0201F800DC +:10DFC00000103A475C0020005C0018005C00000074 +:10DFD0001C01F0008D0E1D200400000C4D400000BF +:10DFE0004D20000042024000000000FF850E1D444D +:10DFF000420280000000002A0201F8000010B22C4A +:10E000005C0240005C0280001C01F00059A8021B69 +:10E010008C00050804000005599C00178C00050AB7 +:10E02000040200021C01F000820005400000000113 +:10E030001C01F0005930042984000540480264297D +:10E040001C01F0004C6400000201F80000109D313A +:10E050005930020382000580000000080402001508 +:10E060004200C80000000032420000002000000012 +:10E07000413008000201F800001008D20400000D31 +:10E0800059300203820005800000000804020009E4 +:10E09000420000000000001E80000040040207FF54 +:10E0A0008064C840040207F10201F8000010032E4A +:10E0B0000201F80000109D495C00C8001C01F0003E +:10E0C0000201F80000100585020008000010032E70 +:10E0D0005934040349265802493658034A025A055E +:10E0E0000000005548025C074A025C08000010006E +:10E0F0005934080282040D0000FFFFFF5930040369 +:10E1000082000580000000864200000085000000BB +:10E110000402000342000000840000008004054067 +:10E120004802580A592400054802580B42000000D2 +:10E130000099000059300C0782040D800000000592 +:10E14000040000028400052E4802580C497A580D3C +:10E1500059CC00044802580E497A580F4200080072 +:10E16000000303005930040382000580000000868C +:10E170000402000659CC0004480258114A02581201 +:10E180000000FFFF41780800480658101C01F0000D +:10E19000492FC85759A82852801429C00400005F8D +:10E1A0004C5C00004C6000004C6400004D2C0000F2 +:10E1B0004D3000004202600000111600592C0C077F +:10E1C000592C100A8208150000FFFFFF592C180B6C +:10E1D000592C200E401658004014C0004014C800AE +:10E1E000592C020582000580000001550402003E02 +:10E1F000592C0407800405800402003B592C000AB6 +:10E200008200050000FFFFFF800805800402003641 +:10E21000592C000B8200050000FFFFFF800C0580D9 +:10E2200004020031592C000E801005800402002EDB +:10E230004C0400004C0800004C0C00004C10000086 +:10E2400040640000812C05800402001B5930020349 +:10E25000820005800000000004000013593000090E +:10E26000800001C0040000100201F80000106E815F +:10E270004DF000000201F80000106D6B0201F80083 +:10E280000011024080C40040040200034A026203FD +:10E29000000000005C03E0000200080000106E6E49 +:10E2A000497A6009592CC8004064C0004064B80035 +:10E2B0000401F003592CB800485CC0004A025A0718 +:10E2C000000000050201F800000203F1405E580062 +:10E2D0005C0020005C0018005C0010005C0008007E +:10E2E0000401F003412CC000592E5800812E59C062 +:10E2F000040207BC48675052486350530201F800BB +:10E3000000107E6D5C0260005C0258005C00C8007A +:10E310005C00C0005C00B8001C01F0004200080076 +:10E320000000000B0401F006420008000000000499 +:10E330000401F00342000800000000014D2C000021 +:10E3400059325809812E59C004000012592C020577 +:10E3500082000500000000FF820005800000000E22 +:10E360000402000C592C000048026009497A580048 +:10E3700048065A090201F80000105D760400000307 +:10E380000401FE370401F0030201F800000203F16A +:10E390005C0258001C01F000420010000000100058 +:10E3A00080081040040000100201F8000010C17B3A +:10E3B000040007FC4200100000007B005808081C05 +:10E3C0004A0300000000000082040D00FFFF00006F +:10E3D0008204058084320000040200034A0350785E +:10E3E0008000001B1C01F0004D3400004D44000073 +:10E3F000599C001882000500FFFFFFCF82000540F6 +:10E400000000001048033818599C001982000500CC +:10E41000FFFF1FFF8200054000006000480338191D +:10E42000420030000000FC0E417A88000201F80032 +:10E4300000104682420030000010C3804578300052 +:10E44000493750794A026C030000FFFF497A680699 +:10E45000497A68074A026C08000004B04A026A0858 +:10E4600000000014497A68094A026C0400000008A0 +:10E470005C0288005C0268001C01F0004A0388937B +:10E48000000000015934040082000500000000FF74 +:10E490008200058000000003040000170201F8005C +:10E4A00000107F4D040000144933C85759AA6879F9 +:10E4B0004936600A4A026407000000124200080060 +:10E4C000000000030201F8000010463F4200100067 +:10E4D000000000080201F800001075014A0378E40A +:10E4E0000C00000042027000000000D00201F800A1 +:10E4F00000020BC51C01F0004D4000004D3400002F +:10E500000201F80000106E814DF0000059AA6879F0 +:10E5100042028000000000290401F9CC4A026C008C +:10E52000000007075C03E0000200080000106E6EA8 +:10E530005C0268005C0280001C01F0004A03C0130A +:10E54000000100014A03C014000100014A03C01386 +:10E5500000010000420000000000000F80000040A9 +:10E56000040207FF4A03C013000100011C01F00070 +:10E570004803C856592C0A078C040D1E04020008D3 +:10E580008014011080000040040000224A0330067D +:10E590000010B9840201F000000206D680140110B8 +:10E5A0008000004002020000001056A8592C02080A +:10E5B00082000C8000001001040010030201F00032 +:10E5C000001056B8592C101482080500FFFF0003F4 +:10E5D00002020000001056B84202E00000000002F3 +:10E5E000420000000010E3E950007000592C0012B6 +:10E5F000592C08134800700648047007492C700A0B +:10E600004978700D4978700B0201F00000105D34FC +:10E6100059A808788C040D3E02000000001056A096 +:10E6200059AA687959340400820005800000040466 +:10E630000402005359A800788C0005060402004C1F +:10E64000592C080A48066809592C1207593418062B +:10E650008C0815060400000259341807480E580AA1 +:10E660008C0815020402000540040000800C0480A0 +:10E670000400102D0401F02F592C0810820405000D +:10E68000000000030402004A592C001180000540DC +:10E6900004020011592C000F820005000000000345 +:10E6A000040200430201F80000020B7F040000385E +:10E6B0004932580B4A02640700000012492E6009D3 +:10E6C0004936600A42027000000000D10201F000E9 +:10E6D00000020BC5592E600B0201F80000109D6965 +:10E6E0000400002F5930040782000580000000124A +:10E6F0000402002B59300809800409C004020015E7 +:10E700005930020382000580000000070402002443 +:10E71000492E600942027000000000D90201F00099 +:10E7200000020BC58C081500040007D4480E580AD7 +:10E7300059A800788400054C8400050848035078E7 +:10E740004A025A07000000000201F000000203F133 +:10E7500058041000800811C004000003400808009D +:10E760000401F7FC492C08001C01F0004A025A077A +:10E77000000000280201F000000203F14A025A07DB +:10E78000000000290201F000000203F14A025A07CA +:10E790000000002C0201F000000203F14A025A07B7 +:10E7A000000000080201F000000203F14A025A07CB +:10E7B000000000034A025C07000000020201F000B2 +:10E7C000000203F14803C856801401108000004085 +:10E7D000040000054A0330060010B9F90201F000F8 +:10E7E000000206D659A808788C040D3E02000000ED +:10E7F000001056A0592C0A0782040480000000046F +:10E8000002021000001056B859A800788C000506C6 +:10E810000402001D59AA6879593404008200058059 +:10E82000000004040402001C0201F80000020B7F37 +:10E830000400001D4A02640700000012492E60090E +:10E840004936600A592C0A0782040580000000023C +:10E8500004000004592C0010800001C004000016C0 +:10E86000820404000010BA1D500270000201F00082 +:10E8700000020BC5000000D4000000D5000000D34A +:10E88000000000D64A025A07000000280201F000EA +:10E89000000203F14A025A07000000290201F000B9 +:10E8A000000203F14A025A070000002C0201F000A6 +:10E8B000000203F10201F80000020BA10201F000C6 +:10E8C000001056B8492FC85759A808788C040D3E37 +:10E8D0004200080000004001040000B659A800787A +:10E8E0008C0005064200080000000028040200B168 +:10E8F00059AA687959340400820005800000040494 +:10E900004200080000000029040200AA4A025A0539 +:10E910000000012B4A025806AA00FEED4A025A07DF +:10E92000000000044A025A080000000159A0020B2E +:10E93000480258104802581448025A0A59A00408BC +:10E9400059A01208900811C080081540480A5812B2 +:10E9500059A0040A59A0120A900811C08008154055 +:10E96000480A581359A0040748025A0B59A0040B2F +:10E9700048025C0B0201F80000020B7F4200080015 +:10E980000000002C0400008B4A0264070000001203 +:10E99000492E60094936600A42027000000000DE1C +:10E9A0000201F00000020BC559CC080182040D00E1 +:10E9B00000FFFFFF820405800000FC0E040200142B +:10E9C00059CC080082040D0000FFFFFF820405807F +:10E9D0000000FC0E0402001059CC0C008004091049 +:10E9E00082040580000000220400001182040580DA +:10E9F00000000023040000278204058000000005B9 +:10EA00000400004E4807C8570401F0084807C857DB +:10EA10000401F0064807C857420000000010D0B4B7 +:10EA20000201F8000010C0581C01F00059CC080683 +:10EA300059A800788C00050A0402001082040580A1 +:10EA4000050000000402000D42027000000000DA20 +:10EA50000201F80000107F4D59AA68794936600A12 +:10EA60004A0264070000001359CC04044802620201 +:10EA70000201F00000020BC54807C8574200000021 +:10EA80000010D0B40201F8000010C0581C01F000C2 +:10EA90000201F800001062A40400001F59300C07A6 +:10EAA000820405800000001202020800001003F535 +:10EAB0000402001C5932680A59CC0A044806620252 +:10EAC000593000048C00053E0202080000107266F6 +:10EAD0000402001442027000000000DC59CC080659 +:10EAE00082040580020000000200000000020BC545 +:10EAF000820405800100000002020800001003F5F6 +:10EB00000402000842027000000000DD0201F00073 +:10EB100000020BC559CC0C044807C8570401F00289 +:10EB20004933C857420000000010D0B40201F80079 +:10EB30000010C0581C01F0000201F800001062A48F +:10EB40000400001359300C078204058000000012F5 +:10EB500002020800001003F5040200105932680A8E +:10EB600059CC0A0448066202593000048C00053E64 +:10EB700002020800001072660402000842027000DF +:10EB8000000000DB0201F00000020BC559CC0C04B0 +:10EB90004807C8570401F0024933C8574200000033 +:10EBA0000010D0B40201F8000010C0581C01F000A1 +:10EBB000492FC8574807C857820405800000000045 +:10EBC00002000000001022F24A0342070000400544 +:10EBD000480744070201F000001022F548066004CF +:10EBE00059BC00EA8C000516040207FE83300400BD +:10EBF000C0000000480378E11C01F0004D30000027 +:10EC0000598C000D800265400400000E0201F800DE +:10EC100000106E670201F80000106E5559300000B8 +:10EC2000800001C0040000044803180D497A600008 +:10EC30000401F003497B180D497B180C8000058006 +:10EC40005C0260001C01F0004D2C00004D30000003 +:10EC50004D3400004C5C00004178B800598E600DC6 +:10EC6000813261C00400000B0201F80000106D6BDE +:10EC7000593000004C000000405C30000401F826D0 +:10EC80000201F800001102F25C0260000401F7F5D5 +:10EC90005C00B8005C0268005C0260005C02580026 +:10ECA0001C01F0004933C8574C5C0000813261C040 +:10ECB000020008000010032E41300000598CB80DEE +:10ECC00041783000805CB9C00400000F805C0D808A +:10ECD00004000004405C30005818B8000401F7FA42 +:10ECE0000401F80D598C000F8130058002000800E6 +:10ECF0000010750E497A6008800005805C00B8003D +:10ED00001C01F00082000540000000015C00B8001A +:10ED10001C01F00059300800497A60000201F80037 +:10ED200000106E55801831C004020009598C000C87 +:10ED300081300580040200044803180C4803180DB4 +:10ED40000401F0084807180D0401F00648043000DB +:10ED5000598C000C8130058004020002481B180CFD +:10ED60000201F00000106E675932580959300C0347 +:10ED700082040480000000DF040210048204048086 +:10ED8000000000D00401F00281780040040010026D +:10ED90000C01F0084933C857493BC85742000000EE +:10EDA0000010D0B60201F8000010C0581C01F0009D +:10EDB0000010BB8E0010BBA50010BBC20010BBD35F +:10EDC0000010BBE40010BBF70010BC0A0010BC1E12 +:10EDD0000010BB650010BB650010BB650010BB6573 +:10EDE0000010BB650010BB650010BB7B4200080033 +:10EDF000000000220401F8D1592C0A0A4805A20794 +:10EE0000592C0A0B4805A208592C0C0B4805A408DC +:10EE10004A01A0060C0000005934040848026006AC +:10EE20004200080000000003420010000000DC0067 +:10EE30000201F00000107DA742000800000000223F +:10EE40000401F8BE497B888059A8001F8200050094 +:10EE50000000FFFF4C0000000201F8000010160740 +:10EE60005C000000480388804A01A00603000000FF +:10EE70004801A20759A800044801A407420008005D +:10EE800000000002420010000000DC000201F0005F +:10EE900000107DA742000800000000220401F8A72E +:10EEA000592C0A07592C100F592C00108008058086 +:10EEB00082000500000000030402008C82080500A7 +:10EEC0000000000304020089420018000000000254 +:10EED0008C040D060402000342001800000000012B +:10EEE0004A01A006040000004809A007480DA00838 +:10EEF0004200080000000003420010000000DC0097 +:10EF00000201F00000107DA742000800000000226E +:10EF10000401F88A593008195930101A5930181B51 +:10EF20004A01A006060000004805A0074809A008FD +:10EF3000480DA00942000800000000044200100033 +:10EF40000000DC000201F00000107DA74200080074 +:10EF5000000000220401F879592C0A0A592C100BE0 +:10EF6000592C180C4A01A006070000004805A2070A +:10EF7000480DA0084809A00942000800000000044C +:10EF8000420010000000DC000201F00000107DA72C +:10EF900042000800000000220401F868592C080A09 +:10EFA000592C101082080500FFFC00030402004FDA +:10EFB000800811044A01A006080000004805A007C7 +:10EFC0004809A008420008000000000342001000A9 +:10EFD0000000DC000201F00000107DA742000800E4 +:10EFE000000000220401F855592C080A592C101071 +:10EFF00082080500FFFC00030402003C80081104A5 +:10F000004A01A006090000004805A0074809A00819 +:10F010004200080000000003420010000000DC0075 +:10F020000201F00000107DA742000800000000224D +:10F030000401F842592C080A592C1010592C180BAD +:10F0400082080500FFFF0000040200284A01A00614 +:10F050000A0000004805A207480DA4074809A008B7 +:10F060004200080000000003420010000000DC0025 +:10F070000201F00000107DA74200080000000022FD +:10F080000401F82E4A01A0060B000000420008000F +:10F0900000000001420010000000DC000201F0004E +:10F0A00000107DA759300C0382040580000000D8B1 +:10F0B000040000030201F8000010032E42000800C3 +:10F0C000000000230401F81D4A01A0060200000010 +:10F0D0004200080000000001420010000000DC00B7 +:10F0E0000201F00000107DA7592C00064803C85704 +:10F0F000480BC8570201F80000106DD14A025A07A8 +:10F10000000000034A025C0700000002592C0205BF +:10F1100082000500000000FF820005800000002B37 +:10F1200004020002480A58080201F800000203F134 +:10F130000201F00000020BA181A5A0004A01A0017C +:10F140000000FC0E4979A0054979A0034A03480054 +:10F150000000001159307002820405800000002276 +:10F16000040200074A01A0002200FC0E4A01A0028E +:10F17000FE2900004839A0041C01F000820405802B +:10F1800000000023020208000010032E4A01A00024 +:10F190002300FC0E4A01A002FE980000903871C0C6 +:10F1A0004839A0041C01F0004A0348000000001187 +:10F1B00081A5A0004A01A0000100FC0E4A01A001A7 +:10F1C0000000FC0E4A01A002FE0000084178100079 +:10F1D0004200080001000000592C020582000500D1 +:10F1E000000000FF820005800000001B04020006F2 +:10F1F000592C1011592C02078C00051C0402000226 +:10F20000417808004805A003593000024801A004D5 +:10F210004809A0050201F80000107EE659340C08E8 +:10F2200042001000000001000201F80000106CBE56 +:10F230000201F8000010664283180D4000000038FB +:10F24000420010000000C9200201F00000107DC63D +:10F2500059300A03820404800000000904021004EB +:10F2600082040480000000010401F0028178004063 +:10F270000C0210020401F22C0010BCA60010BCC34A +:10F280000010BD230010BD650010BEC90010BEC92E +:10F290000010BDC50010BDEE8338058000000013CE +:10F2A0000400001583380580000000140402021ECB +:10F2B00059300C034807C8570201F80000106DD1FF +:10F2C0000201F80000109904040000094D2C000010 +:10F2D000593258094A025A0700000001497A5C076E +:10F2E0000201F800000203F15C0258000201F00084 +:10F2F00000107EFF59300C0382040580000000D806 +:10F30000040202090201F00000020BA1833804800C +:10F31000000000DE0402100483380480000000DBDB +:10F320000401F00281780040040011FF0C01F0019B +:10F330000010BCCF0010BCE50010BCEF59300C032E +:10F3400082040580000000D10400000C82040580C6 +:10F35000000000D5040201F4420008008000000013 +:10F360004A026203000000024A026403000000D95E +:10F370000201F00000020B34593404084802600610 +:10F3800042000800800000404A02620300000003BF +:10F390000401F7F659300C0382040480000000DAFF +:10F3A0000402100482040480000000D00401F00272 +:10F3B000817800400C02101B0401F1DB0201F8000F +:10F3C000001099040402000A59300C0382040580DD +:10F3D000000000D2040201D4420000000010D0B3AB +:10F3E0000401FB600201F00000020BA14933C85781 +:10F3F00059CC1207800811104D2C000059325809C1 +:10F400004A025A0700000003480A5C070201F8009C +:10F41000000203F15C0258000201F00000020BA19F +:10F420000010BE1D0010BEC90010BD160010BD1694 +:10F430000010BEC90010BD160010BEC90010BD12DC +:10F440000010BEC90010BE5D417808000401FA83B7 +:10F450000201F00000020BA10201F8000010990463 +:10F46000040000094D2C0000593258094A025A077D +:10F4700000000000497A5C070201F800000203F175 +:10F480005C0258000201F00000020BA10201F8002A +:10F49000001099040400003E833805800000004AF3 +:10F4A0000400002C83380580000000490402019EFE +:10F4B0004D2C000059325809592C0A0582040500C8 +:10F4C000000000FF820005800000001B04020019FC +:10F4D000592C02078C00051C0402000F4A025A072F +:10F4E00000000040497A5C07592C0000480260097E +:10F4F0000201F800000203F15C0258004A026203B4 +:10F500000000000759300009800001C00402008299 +:10F510001C01F00059A800788400050A48035078BF +:10F520004A026203000000025C0258001C01F00065 +:10F530004A025A0700000000497A5C070201F800FD +:10F54000000203F15C0258000201F00000020BA16E +:10F550004933C8570201F800001070BA0201F800E0 +:10F5600000106DB14D2C0000593258094A025A075B +:10F5700000000001497A5C070201F800000203F173 +:10F580005C0258000201F00000020BA14803C856BB +:10F590000401F1650201F800001099040400002C38 +:10F5A000833804800000005404021004833804806F +:10F5B000000000470401F0028178004004001006BA +:10F5C0004D2C0000593258090C01F8235C025800F8 +:10F5D0001C01F00083380580000000DD04020152A8 +:10F5E0004933C8570201F80000100C810201F800ED +:10F5F0000010990404000016592C0A0782040580A3 +:10F60000000000040402000642000800000000019F +:10F610000401FD680201F00000020BA14D2C000066 +:10F620005932580959CC1207800811104A025A075A +:10F6300000000003480A5C070201F800000203F121 +:10F640005C0258000201F00000020BA14803C856FA +:10F650000401F1350010BDC10010BDA20010BEC9EB +:10F660000010BEC90010BEC90010BEC90010BEC93E +:10F670000010BEC90010BEC90010BEC90010BEC92E +:10F680000010BEC90010BDA2593008128204050046 +:10F69000FFFF00000402001C4200100000000000F8 +:10F6A000592C0A0782040580000000040402000EA1 +:10F6B0008208058000000007040000075930081286 +:10F6C000800409C0040000044807C8574200100025 +:10F6D00000000015400808000401FD360201F0009A +:10F6E00000020BA15930081248065808480A5A0768 +:10F6F000497A5C070201F800000203F10201F00000 +:10F7000000020BA14803C856420010000000000789 +:10F710000401F7E40201F800001099040400001B42 +:10F7200083380580000000D9040200FF5934040822 +:10F73000480260064A026403000000D90201F80092 +:10F740000002016859306809583402078C00051C12 +:10F750000402000642000800800000404A026203E2 +:10F76000000000030401F0054200080080000000D2 +:10F770004A026203000000024A026403000000D94A +:10F780000201F00000020B344803C856833805809C +:10F79000000000DD040200E4420010000000800FC1 +:10F7A000420018000000000559CC220780102110EB +:10F7B0000201F000001039D483380480000000DF1B +:10F7C0000402100483380480000000D00401F00219 +:10F7D00081780040040010D44933C857493BC857CA +:10F7E00059340A08480660060C01F0010010BE0FEB +:10F7F0000010BE0B0010BE0F0010BE0F0010BE1593 +:10F800000010BE0D0010BE150010BE0F0010BE0A85 +:10F810000010BE0A0010BE0A0010BE0A0010BE0A88 +:10F820000010BE0A0010BE150401F0BF59340408D0 +:10F83000480260060201F800000201684A02620301 +:10F8400000000002493A6403420008008000000002 +:10F850000401F4E30201F8000002011A4A02620303 +:10F8600000000004493A64034200080080000000E0 +:10F870000401F4DB59CC020759CC0C0759CC100811 +:10F8800059CC180959CC220A59CC2C0A59CC300B26 +:10F890004A026C000000040448026C044803889388 +:10F8A0004803501248066A04480A6806480E68076A +:10F8B00048126A0848166C088C1835000400000DC0 +:10F8C00059CC200D59CC280D4813C8574817C85794 +:10F8D00059CC200C420010000000800F420018009C +:10F8E00000000001901029C00201F800001039D575 +:10F8F00059A80878420018000000000384040D4E47 +:10F90000593420078C1835020402000C82040D00C3 +:10F91000FFFFFF7B8C18350404020004420018002E +:10F92000000000020401F00442001800000000047E +:10F9300084040D44593420064807507842001000D2 +:10F940000000800F82102D00FFFF0000801429208E +:10F95000821025000000FFFF0201F800001039D5D9 +:10F9600059C8004084000534480390400201F0006B +:10F9700000020BA10201F80000109904040000230A +:10F980004D2C000059325809592C0A0582040D00EB +:10F99000000000FF820405800000001B0402001923 +:10F9A000592C0A078C040D04040200030201F8001C +:10F9B0000010B94F593400094802580A8C040D064A +:10F9C000040200074802680659A800788400054C24 +:10F9D00084000508480350780401F00248026807D3 +:10F9E0004A025A0700000000497A5C070201F80049 +:10F9F000000203F15C0258000201F00000020BA1BA +:10FA0000497A58080401F7F74803C8560401F0463C +:10FA100059300A0382040480000000090402100423 +:10FA200082040480000000010401F002817800409B +:10FA30000C0210020401F03C0010BE960010BEC97A +:10FA40000010BEC90010BEC90010BEC90010BEC95A +:10FA50000010BEC90010BEA283380580000000134C +:10FA60000400000883380580000000140402002E02 +:10FA700059300C034807C8570201F80000106DD137 +:10FA80000201F00000020BA183380580000000DABB +:10FA9000040200254933C857493BC85759CC0808C8 +:10FAA00059CC100759A81878820C1D00FFFFFFFCE5 +:10FAB000820405800000000004020002840C1D4244 +:10FAC000820805800000000004020002840C1D4032 +:10FAD000480F5078480FC857836C0580000000011C +:10FAE0000400000A4202D800000000044A03503813 +:10FAF00000000000497B50584200000000000080D8 +:10FB00000201F8000010157F4A026403000000D8CB +:10FB10004A02620300000001420008008000004029 +:10FB20000401F42F4933C857493BC85759300203E1 +:10FB30004803C857593004034803C857420000001F +:10FB40000010D0B50401F9871C01F0004933C857F3 +:10FB50004D2C00004D3C0000417A5800417A78005D +:10FB60000201F800001099040400000359325809FA +:10FB7000592E7A090401F81A82000540000000019C +:10FB80005C0278005C0258001C01F0004933C85741 +:10FB90004D2C00004D3C0000420278000000004067 +:10FBA000420000000010D0B00401F96E417A580004 +:10FBB0000201F800001099040400000559325809A8 +:10FBC000592E7A09853E7D4C493E5A090401F804B4 +:10FBD0005C0278005C0258001C01F0000201F80091 +:10FBE00000106E814DF000000401F88B4803C857E7 +:10FBF00082000C8000000009040210060C01F808C5 +:10FC00005C03E0000200080000106E6E1C01F000B2 +:10FC100042000000000000060401F7F90010BF5C7C +:10FC20000010BF5D0010BF160010BF730010BF7E34 +:10FC30000010BF100010BF100010BF100010BF5CFC +:10FC40004D380000417A70000401FFB75C0270007B +:10FC50000201F00000107EFF812E59C00400002137 +:10FC60004200100000000002833C050000000081FB +:10FC70000402000742001000000000068D3E7D0CCB +:10FC8000040200034200100000000004592C0A077F +:10FC900082040580000000040402000640080800F9 +:10FCA0000201F8000010BAEC0201F00000107EFF23 +:10FCB000480A5A070201F800000203F15930040310 +:10FCC00082000580000000D0040200045930100AB0 +:10FCD0004A001400000007070201F00000107EFF38 +:10FCE00059300C0382040580000000D7040200058F +:10FCF00042000800000000040401F8580401F7F075 +:10FD00008D3E7D0C040007EE5932680A5930081602 +:10FD100059340412800405800402000742000000E8 +:10FD20000010D0B10401F90F0201F8000010B94F22 +:10FD30000401F7E34933C8578004080048066016F9 +:10FD40004D3800005932740383380580000000D01C +:10FD5000040200034A038893000000014A02620380 +:10FD6000000000080201F80000020BC55C027000F0 +:10FD70001C01F0008D3E7D0C040000065930040784 +:10FD80008200058000000013020000000010966948 +:10FD9000598C000F4803C8578130058004020004C5 +:10FDA0000201F800001071A1040207AC0201F80082 +:10FDB0000010BB29040007A94803C8560201F80037 +:10FDC00000106D8C040007A50401F79E0201F800E5 +:10FDD000001095B5040200040201F8000010716AD9 +:10FDE0000402079E0201F8000011015D80C400407A +:10FDF000040207F20401F799812E59C0040000069D +:10FE00000201F80000106E6E0201F80000100C8173 +:10FE10000401F792593000048C00053E0400000DE7 +:10FE20008C00050C0402000B59306C0382340580F1 +:10FE3000000000D90402000442000000000000039A +:10FE40000401F00542000000000000010401F0027E +:10FE5000593002031C01F0005931D82A58EF400AEA +:10FE600058EE580C58EC0008480744070801F80001 +:10FE70001C01F0004817C8574C0000004C0400005B +:10FE80008C142D2A040000045988011E80000000F3 +:10FE90004803111E8C142D2E040000045988011FE4 +:10FEA000800000004803111F8C142D2C0400001347 +:10FEB00040140000820005000007000082000D8051 +:10FEC000000300000400000D82000D80000400000B +:10FED0000400000A82000D800005000004000007F5 +:10FEE000598800058000000048031005598801204A +:10FEF00080000000480311205C0008005C00000046 +:10FF00001C01F0004817C8574C0000004C040000CA +:10FF10008C142D2A0400000459880121800000005F +:10FF2000480311218C142D2E04000004598801224D +:10FF300080000000480311228C142D2C04000013B3 +:10FF400040140000820005000007000082000D80C0 +:10FF5000000300000400000D82000D80000400007A +:10FF60000400000A82000D80000500000400000764 +:10FF700059880005800000004803100559880123B6 +:10FF800080000000480311235C0008005C000000B2 +:10FF90001C01F0004807C8574C0000008C040D2CD1 +:10FFA000040000045988010C800000004803110C73 +:10FFB0008C040D2A040000045988010D8000000003 +:10FFC0004803110D8C040D28040000045988010E0B +:10FFD000800000004803110E8C040D26040000046C +:10FFE0005988010F800000004803110F8C040D2474 +:10FFF000040000045988011080000000480311101B +:020000023000CC +:100000008C040D22040000045988011180000000B6 +:10001000480311118C040D200400000459880112BA +:1000200080000000480311125C0000001C01F00079 +:100030004807C8574C000000598801138000000091 +:10004000480311135C0000001C01F0004807C8576A +:100050004C0000008C040D1C04000004598801149D +:1000600080000000480311148C040D1A04000004E1 +:100070005988011580000000480311155C0000003C +:100080001C01F0004807C8574C0000008C040D18F4 +:10009000040000045988011680000000480311166E +:1000A0008C040D160400000459880117800000001C +:1000B000480311178C040D1404000004598801181A +:1000C00080000000480311185C0000001C01F000D3 +:1000D0004807C8574C0000008C040D1004000004B1 +:1000E0005988011980000000480311198C040D0C77 +:1000F000040000045988011A800000004803111A06 +:100100005C0000001C01F0004807C8574C000000CC +:100110008C040D08040000045988011B80000000B5 +:100120004803111B8C040D04040000045988011CB1 +:10013000800000004803111C5C0000001C01F0005E +:100140004807C8564C000000598800E580000000B0 +:10015000480310E55C0000001C01F000406800004E +:100160005C0360004DB0000049B3C8574C04000068 +:10017000500008008004080004001002440400003D +:100180005C0008001C01F000480FC8574C0000003C +:10019000820C058000000000040200044200000000 +:1001A0000010CFE50401F014820C0580000010015E +:1001B00004020004420000000010CFE60401F00E2B +:1001C000820C0580000010020402000442000000BE +:1001D0000010CFE70401F008820C0C800000201C06 +:1001E000020218000010032E820C05000000001F00 +:1001F0000C01F8040401FFDB5C0000001C01F000AE +:100200000010C09C0010C09F0010C0A20010C0A52C +:100210000010C0A80010C0AB0010C0AE0010C0B1EC +:100220000010C0B40010C0B70010C0BA0010C0BDAC +:100230000010C0C00010C0C30010C0C60010C0C96C +:100240000010C0CC0010C0CF0010C0D20010C0D52C +:100250000010C0D80010C0DB0010C0DE0010C0E1EC +:100260000010C0E40010C0E70010C0EA0010C0EDAC +:10027000420000000010CFE81C01F0004200000026 +:100280000010CFE91C01F000420000000010CFEA8E +:100290001C01F000420000000010CFEB1C01F00038 +:1002A000420000000010CFEC1C01F00042000000F2 +:1002B0000010CFED1C01F000420000000010CFEE56 +:1002C0001C01F000420000000010CFEF1C01F00004 +:1002D000420000000010CFF01C01F00042000000BE +:1002E0000010CFF11C01F000420000000010CFF21E +:1002F0001C01F000420000000010CFF31C01F000D0 +:10030000420000000010CFF41C01F0004200000089 +:100310000010CFF51C01F000420000000010CFF6E5 +:100320001C01F000420000000010CFF71C01F0009B +:10033000420000000010CFF81C01F0004200000055 +:100340000010CFF91C01F000420000000010CFFAAD +:100350001C01F000420000000010CFFB1C01F00067 +:10036000420000000010CFFC1C01F0004200000021 +:100370000010CFFD1C01F000420000000010CFFE75 +:100380001C01F000420000000010CFFF1C01F00033 +:10039000420000000010D0001C01F00042000000EC +:1003A0000010D0011C01F000420000000010D0023B +:1003B0001C01F000420000000010D0031C01F000FE +:1003C000480FC8574C000000820C05800000000157 +:1003D00004020004420000000010CF680401F01283 +:1003E000820C0580000000020402000442000000AC +:1003F0000010CF690401F00C820C0580000000039E +:1004000004020004420000000010CF6A0401F0065C +:10041000820C058000000004040200044200000079 +:100420000010CF6B0401FF4F5C0000001C01F000C6 +:100430004C00000059A8021B4803C85759240A0061 +:100440008C040D0A040000108C0005060400000452 +:10045000420000000010CF730401F0128C00050A66 +:1004600004000004420000000010CF720401F00DEF +:100470008C00050804000004420000000010CF7545 +:100480000401F0080201F8000010515504000006B4 +:100490008C00050604020004420000000010CF7426 +:1004A0000401FF305C0000001C01F0008058B1C066 +:1004B000020008000010032E5450A8008050A00035 +:1004C0008054A8008058B040040207FC1C01F000D2 +:1004D0008058B1C0020008000010032E4450A8004C +:1004E0008054A8008058B040040207FD1C01F000B1 +:1004F0004813C8574817C85740140000801004809C +:10050000020218000010032E497BC8414200780007 +:10051000000000FF401000008014048082006D0085 +:10052000FFFFFF0004020002400078004813C840AB +:10053000483FC8420401100040100000803C2400E5 +:100540004010000080140580040207F3457828005D +:100550001C01F0008058B1C0020008000010032EFA +:10056000505000009C0001C04400A8008050A00032 +:100570008054A8008058B040040207FA1C01F00023 +:100580004C00000059A800078C00051C5C0000000E +:100590001C01F0000401F80742018800000000017E +:1005A0000402000342018800000000001C01F0006A +:1005B00059A800078C0005181C01F0004200B0008B +:1005C0000010D0D25058B0001C01F000420068006A +:1005D0000010D0D3583404068C000502040007F83C +:1005E0004200B000000000011C01F0004200680061 +:1005F0000000006480346840040000074A030000E3 +:100600000000000140000000598070008C38750027 +:10061000040007F91C01F0000401F80742018800FA +:1006200000000001040200034201880000000000F5 +:100630001C01F000420068000010D0D358340406BA +:100640008C0005041C01F0000401F8074201880039 +:1006500000000001040200034201880000000000C5 +:100660001C01F000420068000010D0D3583404068A +:100670008C0005081C01F00059A800068C00051626 +:100680001C01F00000000001000000020000000456 +:1006900000000008000000100000002000000040E2 +:1006A00000000080000001000000020000000400C3 +:1006B00000000800000010000000200000004000C2 +:1006C00000008000000100000010D0D30010D0DE38 +:1006D0000010D0E90010D0F40010D0FF0010D10AB3 +:1006E0000010D1150010D1200010D12B0010D136F0 +:1006F0000010D1410010D14C0010D1570010D16230 +:100700000010D16D0010D1780010D1830010D18E6F +:100710000010D1990010D1A40010D1AF0010D1BAAF +:100720000010D1C50010D1D00010D1DB0010D1E6EF +:100730000010D1F10010D1FC0010D2070010D2122D +:100740000010D21D0010D2280010D2330010D23E6B +:100750000010D2490010D2540010D25F0010D26AAB +:100760000010D2750010D2800010D28B0010D296EB +:100770000010D2A10010D2AC0010D2B70010D2C22B +:100780000010D2CD0010D2D80010D2E30010D2EE6B +:100790000010D2F90010D3040010D30F0010D31AA8 +:1007A0000010D3250010D3300010D33B0010D346E7 +:1007B0000010D3510010D35C0010D3670010D37227 +:1007C0000010D37D0010D3880010D3930010D39E67 +:1007D0000010D3A90010D3B40010D3BF0010D3CAA7 +:1007E0000010D3D50010D3E00010D3EB0010D3F6E7 +:1007F0000010D4010010D40C0010D4170010D42223 +:100800000010D42D0010D4380010D4430010D44E62 +:100810000010D4590010D4640010D46F0010D47AA2 +:100820000010D4850010D4900010D49B0010D4A6E2 +:100830000010D4B10010D4BC0010D4C70010D4D222 +:100840000010D4DD0010D4E80010D4F30010D4FE62 +:100850000010D5090010D5140010D51F0010D52A9E +:100860000010D5350010D5400010D54B0010D556DE +:100870000010D5610010D56C0010D5770010D5821E +:100880000010D58D0010D5980010D5A30010D5AE5E +:100890000010D5B90010D5C40010D5CF0010D5DA9E +:1008A0000010D5E50010D5F00010D5FB0010D606DD +:1008B0000010D6110010D61C0010D6270010D6321A +:1008C0000010D63D0010D6484A0350710000001CAD +:1008D0004A035072000000134A03507300000001E5 +:1008E0004A0350740000000059E000028C00051E0D +:1008F000420000007FFE00FE0400000342000000F2 +:100900007FFE01FE50000800480750478004092080 +:10091000820405800000013E0402000B59A800700B +:1009200084000548480350704A0350710000005A83 +:100930004A035072000000584A0350740000000F30 +:100940000401F045820405800000013F0400000A14 +:10095000820405800000014E040000078204058027 +:1009600000000155040000048204058000000156C7 +:100970000402000B59A800708400054A4803507017 +:100980004A035071000000554A03507200000052A3 +:100990004A035074000000090401F02F59E00003DD +:1009A00082000500000300008200058000000000B6 +:1009B0000402002982040580000001470400001998 +:1009C000820405800000012C0400001682040580CA +:1009D0000000012A04000007820405800000012BAA +:1009E0000400000482040580000001450402001A8E +:1009F00059A8007084000546480350704A0350719E +:100A00000000003D4A035072000000384A03507352 +:100A10000000001E4A035074000000010401F00CA5 +:100A200059A8007084000544480350704A0350716F +:100A30000000003D4A035072000000384A03507322 +:100A40000000001E4A035074000000014A0378E4CD +:100A5000000C000059A800708C000502040000057D +:100A60008200050000000030020008000010032E84 +:100A70001C01F000AAC7EE89000000000000000081 +:100A800000112000000036B8000000000000000047 +:100A90000002000000000CF3836C058000000003DE +:100AA00002020000001002BD420000000010CC173E +:100AB00050000000800001C004020A5B0401FA0833 +:100AC0000201F800000205D30401FBFD0201F80059 +:100AD00000020B2B0201F8000002098D0401F7EF60 +:100AE0004200700000020CF45838000449781000ED +:100AF0004A001002000000004808700480000D4009 +:100B000004020006480870055838000080000540BF +:100B10000400000A1C01F000480808000401F7FB6B +:100B20004200700000020CF45838000080000540BC +:100B3000040000021C01F00058380807800409C0B6 +:100B400002020000001006025838000580006D40C7 +:100B5000040200021C01F000583400004834700107 +:100B6000800005400402000248007004480070053F +:100B70004A03B805300000025834000659DC080664 +:100B80004803B800583400074803B8015834080532 +:100B900058341003583400014804700248087003A8 +:100BA000480BB8038C000500040200044A007000E2 +:100BB000000000020401F0054A007000000000017E +:100BC0000201F000001006365838080242001000FA +:100BD0000000FF00820404800000FF0004021003F4 +:100BE000400410008000058048007002480BB802E5 +:100BF0004A03B805100000021C01F00059DC080689 +:100C00004A03B805200000008C040D3E0400000CCF +:100C10008C040D08020208000010032E4200700030 +:100C200000020CF458380000820014800000000418 +:100C30000C0010040201F8000010032E1C01F0004B +:100C40000002002C000200720002007B00101077EE +:100C500082040D0043000F800202000000100644D1 +:100C600058380002800005400400000A0201F0002C +:100C70000010063682040D0043000F8002020000BF +:100C8000001006445838000280000540040207CFD7 +:100C900058386001583000084A0060020000010026 +:100CA0004A0070000000000080001540040007A307 +:100CB00058300006583008058004040058300807F2 +:100CC0004800600682040C400000000048046007F1 +:100CD0004030D0000809F8000401F79259B800EA42 +:100CE00082000D00F00000380202000000100784AE +:100CF0008C000510020000000010078359BA60E064 +:100D0000813001820402104B040020318532653E9F +:100D10005930040782000580000000030402002906 +:100D200059300203820005800000000404020025FF +:100D300059325809593000044A025A05000001038B +:100D4000497A580A8C00053E040200165930000802 +:100D500082000500040008008200058004000800ED +:100D6000040000150401FB3A5932680A0201F80038 +:100D700000020BA15934000F5934140B80081040A5 +:100D800004001002480A6C0B8000054004020A9B14 +:100D900059B800EA8C000510040207D91C01F000C4 +:100DA0000201F80000107266040007E90201F00079 +:100DB000001007795930022048025C100401F7EA5C +:100DC00042027000000000550401F02283326500E9 +:100DD0003FFFFFFF59300407820005800000000339 +:100DE00004020011593258095932680A4A025A0558 +:100DF00000000103497A580A0401FB150201F800BA +:100E000000020BA15934000F5934140B8008104014 +:100E100004001002480A6C0B8000054004020A77A7 +:100E20000401F7DC42027000000000540401F009E4 +:100E300083300500600000000400001681326580E8 +:100E40008000013A820004000010078A50027000FE +:100E500059300C07820405800000000202000000E7 +:100E600000100779593000048C00053E040200048C +:100E70000201F80000020BC50401F7C60201F800E8 +:100E800000107266040007FB0201F00000100779F1 +:100E9000833005001F000000020000000010077CE6 +:100EA000813265808000013082000C8000000014D7 +:100EB000020218000010032E1201F0000010078E2D +:100EC00082000500F000000082040D000FFFFFFF0C +:100ED00080040D404807C85759B800EA8C00051631 +:100EE00002020000001008AA480770E11C01F0008F +:100EF00059325809412C700058380A0582040D00F7 +:100F0000000000FF8204058000000068020000006D +:100F100000100B94820405800000007202000000A3 +:100F200000100BB158380A05820405000000000FBC +:100F300082000C0000100F16500440000C01F0015C +:100F400000100B7D00100B7D0002013E00100B7D98 +:100F500000100B7D00100B7D00100B7D00100B7D31 +:100F60000002014E00100BCA00100B7D00100B7F19 +:100F700000100BB800100B7D00100B7D00100B7DD6 +:100F80005838040B8C000500020008000010032EE6 +:100F90005020000080387C00583C1002583C28004B +:100FA000583C200158380A08583830105930380851 +:100FB00058384C095838000E480260130401F010EC +:100FC0005838020B8C0005020200000000100B7D57 +:100FD0005020000080387C00583C2800583C2001FC +:100FE000583C1002592C0A08592C4C09592C301025 +:100FF00059303808497A6013497A60144816600FEE +:1010000048126010480A6011481A601280040840B3 +:101010004806600E0202000000100BF7841C3D40E1 +:10102000481E60081C01F0004D2C00005932580980 +:10103000592C0A054807C85782040D00000000FF1C +:10104000820405000000000F1201F00000100D5393 +:101050004178780059325809592C0C0B8C040D0238 +:101060000200000000100D94592C000E592C101095 +:10107000592C0A05480A601248026013480260149D +:1010800082040D00000000FF820405800000007251 +:101090000200000000100D9B412C3000820405006E +:1010A0000000000F8200040000100F1650003800EE +:1010B0008C3C7D0E04000002801C3800501C000097 +:1010C000592C1A084802600B481A600C481E600D23 +:1010D000480E600E843C7D4A403C10001C01F0002C +:1010E000592C0A05497A60134178780082040D0072 +:1010F000000000FF8204058000000068020000007C +:1011000000100D9F412C3000592C1A088204050054 +:101110000000000F8200040000100F165000400075 +:101120008C3C7D0E04000002802040005020000016 +:101130004802600B481A600C4822600D480E600E91 +:10114000483E6004800005801C01F00059E0000466 +:101150008C00050E040206AA1C01F0000002020821 +:10116000000201F5000201F5000201F5000201F59F +:10117000000201F5000201F5000201F5000201F58F +:10118000000201F5000201F5000201F5000201F57F +:10119000000201F5000201F5000201F5000201F56F +:1011A000000201F5000201F5000201F5000201F55F +:1011B000000201F5000201F5000201F5000201F54F +:1011C000000201F5000201F5000201F5000201F53F +:1011D000000201F5000201F5000201F5000201F52F +:1011E000000201F5000201F5000201F5000201F51F +:1011F000000201F5000201F5000201F5000201F50F +:10120000000201F5000201F5000201F5000201F5FE +:10121000000201F5000201F5000201F5000201F5EE +:10122000000201F5000201F5000201F5000201F5DE +:10123000000201F5000201F5000201F5000201F5CE +:10124000000201F5000201F5000201F5000201F5BE +:10125000000201F5000201F5000201F54C0000005A +:101260004DF000004203E000B010000041F000002B +:1012700081FE15008D0A151202020800001013D11C +:101280008D0A15180202080000020B4E8D0A151A6D +:1012900004020E938308050000000D0004020804F8 +:1012A0005C03E0005C0000001801F0008D0A1516D8 +:1012B00002020800001012248D0A151404020FA463 +:1012C0008D0A15080202080000100FD98D0A1500BA +:1012D0000202000000020A841C01F000420000002B +:1012E0000010CC1D500000008C000504040000110B +:1012F0008C000502040200021C01F0004DF0000009 +:101300004203E00050000000420340000010CBFF09 +:1013100059A0001E59A1D806840005024803401EAA +:1013200058EC00080801F8005C03E0001C01F00024 +:1013300004027002040260021C01F0004DF0000083 +:101340004203E0005000000059E0002082000D80C0 +:10135000000000450400000482000D8000000044ED +:10136000040200084803C8574200080000020CF4B9 +:101370005804080082040D80000000000402001DD3 +:101380000201F800001005850400001A412DD80064 +:1013900048EFC8570201F80000103ACC4203400061 +:1013A0000010CBFF49A1D80A48EF400659A0001E03 +:1013B000840005444803401E59E000204803C857F4 +:1013C00059E000214803C85759E000224803C85794 +:1013D00059E000234803C85759E000244803C85780 +:1013E0000201F800001022480201F80000102267F4 +:1013F0005C03E0001C01F0000201F8000010C17B5A +:10140000040007FE4203E000300000014203E00058 +:10141000400000004200080000007A1245780800F1 +:101420000401F7FF4DA000004DF000004203E00072 +:101430005000000004006050420340000010CBFF49 +:1014400059A0101859A01819800C19C00402000ADC +:1014500059A0381C801C39C0020008000010032E5F +:1014600049A3C857481FC85759A0041D801C3C00F9 +:101470000401F00C59A0041A8200040000000002CC +:101480004803441A82000C8000000014040010037A +:10149000497B441A4178000059A03817801C3C0051 +:1014A00080081040480B4018581C02004803C02117 +:1014B000581C04014803C022581C02014803C023E1 +:1014C000581C04004803C020900001C08200054061 +:1014D000000000124803C0114A03C01700000000BA +:1014E0004203E00030000001800C19C00400000736 +:1014F000800C1840480F40190402001F497B441A11 +:10150000497B421A0401F01C800811C00402000B40 +:101510004D2C000059A2581C0201F800001005963D +:101520005C025800497B401C497B401B497B441DA1 +:10153000497B421D0401F01059A0041D82000400E3 +:101540000000000282000C80000000134803441DCC +:10155000040010094D2C000059A2581C592C3814B5 +:10156000481F401C497B441D0201F80000100596ED +:101570005C0258005C03E0005C0340001C01F000CA +:101580008D0E1D200400000359A800058C000516CF +:101590001C01F000830C05000000000302020000A3 +:1015A00000104368593404008200058000000606DC +:1015B000020200000010433A5934000D80027D40C1 +:1015C00002020000001043730401F803800005804C +:1015D0001C01F0005934000F5934120380080540F3 +:1015E0000402006B5934000B8000112082000500BA +:1015F0000000FFFF80080480040210650201F8006B +:1016000000020B7F0400005E592E4411812241101C +:10161000832004000010C1B2500248004926601C1B +:10162000592C04074936600A492E60094A026407AA +:10163000000000034A02640300000040800810001C +:10164000480A6C0B800000C2800010C4800814009F +:10165000592C0809592C180A592C020B480A600603 +:1016600048066018480E60198C0005020400002A24 +:101670004A02620300000004592C02088000004066 +:101680000402001A59A8007180000040040207FFFC +:10169000592C020582000500000000FF8200058031 +:1016A0000000001804020011592C181059300008CD +:1016B0008200054000000091480E60124802600858 +:1016C00042000000800800044802600459BC00EA9F +:1016D0008C000516040207FE833004002000000081 +:1016E000480378E11C01F0000401FE0259300008B3 +:1016F0008400054E48026008592C1A05820C1D0012 +:10170000000000FF820C0580000000480400001863 +:101710000401F7EC8C00050004020E724A02620319 +:101720000000000259A8007280000040040207FF78 +:10173000592C1A05820C1D00000000FF820C058048 +:1017400000000018040007DF820C0580000000483C +:1017500004000007820C058000000068040207D91D +:1017600042000000800800840401F7D8420008000D +:10177000800008040201F00000020B34800811C050 +:10178000040200034A026A030000000159340010F9 +:10179000492E681080000D4004020008492E680F91 +:1017A000592C0407800000C2800018C4800C04007B +:1017B000480258041C01F000492C08000401F7F904 +:1017C00083440C80000008000402100983440400D4 +:1017D0000010C38050000000800005400400000499 +:1017E00040026800800005801C01F0008200054076 +:1017F000000000011C01F000593402038000054084 +:10180000040200544D3000004D2C00005934000FEC +:1018100080025D400400004D0201F80000020B7FD1 +:1018200004000048592C00004802680F8000054061 +:101830000402000248026810592C2A05592E44114E +:1018400081224110832004000010C1B250024800E0 +:101850004926601C4936600A82142D00000000FFF2 +:1018600082140580000000120400003B82140580F1 +:101870000000007204000038492E60098008100042 +:10188000480A6C0B4A026407000000034A02640322 +:1018900000000040592C0004497A580448026006B0 +:1018A000592C0809592C180A592C020B48066018A3 +:1018B000480E60198C000502020000000010486EFE +:1018C0004A02620300000004592C02088000004014 +:1018D0000202000000104861821405800000001818 +:1018E0000202000000104861592C181059300008FD +:1018F0008200054000000091480E60124802600816 +:1019000042000000800800044802600459BC00EA5C +:101910008C000516040207FE83300400200000003E +:10192000480378E15934000B800011208200050043 +:101930000000FFFF80080480040017B50401F003D5 +:101940004A026A03000000015C0258005C02600069 +:101950001C01F000497A58004932580A4A026407CB +:10196000000000064A026203000000070401F802BA +:101970000401F7ED592E440883224500000000FFC2 +:10198000832004000010C1B2500248004926601CA8 +:10199000592C020D48026202592402068C000510DF +:1019A000020200000010489B8D0E1D0E0202000076 +:1019B00000104897592402008C000516020200000E +:1019C00000104893593402008C00051802020000F0 +:1019D0000010488F4A025A07000000008C000508DA +:1019E000020200000010488B492E60094D3C0000A7 +:1019F000417A78000201F80000020A8A5C0278004D +:101A00001C01F000580400014968080049780801E9 +:101A1000815EB8004006D00080000D40040207FA45 +:101A2000497A580159C800008200054000001200A0 +:101A3000480390001C01F000599800134803282324 +:101A400059D8010B480330141C01F000592C04052F +:101A50008C00051E0202000000104E5D497A5800FD +:101A60008D0E1D260402000E0402D007592C000121 +:101A7000492FB10780000D4004020FE30400E0CDC0 +:101A80001C01F0000400E8CB0400D7F9420000007C +:101A90000010CF7C0201F8000010C05B0401F919AE +:101AA0000400D9240400E0C359D8010582000D00C8 +:101AB00000018780040201331C01F00059980011D5 +:101AC0000C01F00100020413000204140002041FC0 +:101AD000000204571C01F0004DF000004203E0003A +:101AE0005000000004026932040060038D0E1D20C6 +:101AF0000402099D8D0E1D260402090E5C03E00000 +:101B00001C01F0004DF000004203E0005000000016 +:101B100059940023800005400400201304000008AD +:101B20005998001282000580000000050400000E94 +:101B300059A80050816405800402000B59D8010B9C +:101B400059D8110A80080D800400001F5998081404 +:101B500080040D80040000135998081348072823B7 +:101B6000480330140400E94A8D0E1D2404020005C8 +:101B70008D0E1D26040208EF5C03E0001C01F0003E +:101B800059D8110A59D8010A80080580040207FDB6 +:101B900059D8010B800805800400000B040067F58C +:101BA0000400600E800810E0820815400000001359 +:101BB000480BC0114A03C017000000014203E000B7 +:101BC000300000014A032823FFFF0000850E1D247A +:101BD0000400E92F0401F7E7850E1D640400E92CD9 +:101BE0000401F7E44DF000004203E0005000000063 +:101BF00059B800E48C0005180402001C830C050091 +:101C0000001400000402001C5994002380000540C9 +:101C10000400200D0400001859980012820005806D +:101C2000000000050400000859A8005081640580E8 +:101C30000402000559A8004E59A8084D80040580EB +:101C40000400000C0400E912040060048D0E1D2441 +:101C50000402000A0401F9268D0E1D26040208B5AF +:101C60005C03E0001C01F0004A0370E40000200067 +:101C7000850E1D680400604159D8090A59D8010A27 +:101C800080041580040207FD59D8190B800C1580BB +:101C900059981014480F30140400002A0401F83930 +:101CA00059980015483B30150400000D8D0E1D2875 +:101CB0000402001E80380580040200044008000071 +:101CC000800C05800400001959980013480328234C +:101CD000830E1D00FFEBFFFF0401F7E08D0E1D28B2 +:101CE0000402000440080000800C0580040207F78D +:101CF000800408E082040D40000000134200100040 +:101D0000000000014807C011480BC0174203E00063 +:101D1000300000014A032823FFFF0000830E1D004E +:101D2000FFEBFFFF0401F7CD800408E082040D40C3 +:101D30000000001D42001000000000000401F7F246 +:101D40000401F81059980015483B3015040007F2BB +:101D500080380580040000038D0E1D28040007DB79 +:101D6000912801C082000D400000001C42001000BC +:101D7000000000000401F7E4850E1D640401F7B2C1 +:101D800059E0000F59E0680F80346D80040207FDB0 +:101D90004002500059E0001059E070108038758002 +:101DA000040207FD40007000812805801C01F0003E +:101DB00059D81108835C0480000001040400100F4E +:101DC0000402B00D480BB0070400E7FA59D801052A +:101DD00082000500000187800402006A8D0E1D222A +:101DE00004000012599400238000054004002713CA +:101DF0001C01F0000400F00A49681000400AD000FD +:101E0000815EB80059C80000820005400000120041 +:101E1000480390000402E7EE0401F7E6480BA80728 +:101E20000402E7EB0401F7E304006017850E1D24AC +:101E300059D8010A59D8090A80040580040207FD0F +:101E400059D8010B59D8110B80081580040207FDE1 +:101E5000800405800400000B800408E08D0E1D2026 +:101E60000402000B82040D40000000134807C0115B +:101E70004A03C017000000014203E00030000001E7 +:101E80001C01F000850E1D641C01F00059E0000FDC +:101E900059B818E459E0100F80081580040207FCB7 +:101EA0008C0C1D0C040207FA812815800400000E1A +:101EB00040025000820C050004000000850E1D3415 +:101EC000810E1D4082040D400000001D4807C01116 +:101ED0004A03C017000000004203E0003000000188 +:101EE0001C01F00040001000400C0000810C058037 +:101EF0008C00053440080000040207EE0401F7DA04 +:101F000059980816592C0001492F3016800409C031 +:101F100004000005492C080080000D40040206BAA8 +:101F20001C01F000492F3017850E1D660401F7FBD8 +:101F30000402D00C59980817580400004807B1074C +:101F400080000D400402000548033016850E1D2652 +:101F5000480330171C01F0000400D7F80401F7FD16 +:101F600059D80105820005000001878004020005A0 +:101F7000420000000010CF7C0201F0000010C05BA6 +:101F80004803C857485FC8578C00050E0202080076 +:101F9000001003234203E000500000004200B8009C +:101FA000000080040201F000001003330400E78108 +:101FB00059D801058200050000018780040207F15D +:101FC0008D0E1D24040200021C01F00059D8010AE4 +:101FD00059D8090A80040580040207FD850E1D24D6 +:101FE00059D8010B800405800400000B800408E030 +:101FF0008D0E1D200402000982040D400000001314 +:102000004807C0114A03C017000000014203E00066 +:10201000300000011C01F00059E0000F59B818E42D +:1020200059E0100F80081580040207FC8C0C1D0C71 +:10203000040207FA812815800400000E40025000B7 +:10204000820C050004000000850E1D34810E1D4029 +:1020500082040D400000001D4807C0114A03C0174C +:10206000000000004203E000300000011C01F0000D +:1020700040001000400C0000810C05808C000534ED +:1020800040080000040207EE0401F7DC59DA5908A1 +:10209000496A5800412ED000815EB8000400E7FC78 +:1020A00059C800008200054000001200480390005B +:1020B00059D8090B5998001448073014800404803B +:1020C0000402000459940023800005400402200308 +:1020D000599808134807282359D80105820005009C +:1020E00000018780040207A71C01F0005998101511 +:1020F00059E0001059E0081080041D80040207FD1B +:10210000800805800400000D4807301559E0000FD5 +:1021100059E0100F80081D80040207FD812805800A +:102120000400000D400A50004008000080040580B3 +:10213000040206421C01F00059E0000F59E0100FA4 +:1021400080081D80040207FD81280580040007FA2D +:10215000400A50005994002380000540040027F3F2 +:102160001C01F00059E0000F59B818E459E0100FB5 +:1021700080080D80040207FC8C0C1D0C040207FA79 +:102180008128058004020006400C0000810C0580B7 +:102190008C000534040200021C01F000820C0500D2 +:1021A00004000000850E1D34810E1D40400A5000C1 +:1021B000900811C0820815400000001C480BC01197 +:1021C0004A03C017000000004203E0003000000195 +:1021D0001C01F000417000000C01F0010010564D90 +:1021E000000205DE0010564D000206A40010564BFA +:1021F0000010564B0010564B0010564B00105D4817 +:102200000401003659980004800005400402003B98 +:102210000402C01C4202F800000000104DF0000053 +:102220004203E0005000000049DB300359DA58084F +:10223000592C2A05497A5800497A58018214050018 +:10224000000000FF82000C800000007A04021035BC +:102250000C01F8385C03E000817EF84004000009BE +:10226000836C058000000003040200068370058073 +:1022700000000001040200100401001A0400C7E875 +:102280000400FA900400B27A59D4000582000500D7 +:10229000430187800202000000105A6359D80005EC +:1022A00082000500430187800202000000105A6A84 +:1022B0001C01F000837005800000000304000897F3 +:1022C0008370058000000001040207EE0401000590 +:1022D0000400C7D30401F7EB4202F800000000102D +:1022E0004DF000004203E0005000000049D73003E9 +:1022F00059D658080401F7CF4DF000004203E00022 +:102300005000000040025800592C2A05497B300338 +:10231000497B30044202F800000000100401F7C8B5 +:102320000201F800001056A05C03E0000401F7D59C +:10233000001056A0001056A0001056A0001056A085 +:1023400000105741001056A0001056A0001056A0D3 +:10235000001056A0001056A0001056B0001056A055 +:10236000001056A0001056A00010576A001056A08A +:10237000001056A0001056A000020710001056A032 +:10238000000207C1001056A0001056A0001056A071 +:10239000000206C6001056A0001056A00010B95C3E +:1023A000001056A0001056A0001056A0001056A015 +:1023B000001056A0001056A0001056A0001056A005 +:1023C000001056A0001056A0001056A0001056A0F5 +:1023D000001056A0001056E0001056A00010B9F1F1 +:1023E000001056A0001056A0001056A0001056A0D5 +:1023F00000105A7900105C07001056A0001059EC2C +:10240000001056A0001056A0001056A0001056A0B4 +:10241000001056A000105A41001056A0001056D7C8 +:10242000001056A0001059B4001056A0001056A07D +:10243000001056A0001056A0001056A0001056A084 +:10244000001056A00010597E001056A00010597EB2 +:1024500000105D0D001056A0001056A0001056A0F0 +:10246000001056A0001056A0001056A0001056A054 +:10247000001056A0001056A00002083A00105CD2CE +:10248000001056A000105D00001056A0001056A0CD +:10249000001056A0001056A0001056A0001056A024 +:1024A000001056A0001056A0001056A0001056A014 +:1024B000001056A0001056A0001056A0001056A004 +:1024C000001056A0001056A0001056A0001056A0F4 +:1024D000000206C6001056A0001056A0001056A01C +:1024E000001056A0001056A0001056A0001056A0D4 +:1024F000001056A0001056A000020783001056A03E +:10250000001056A0001056A0001056A0001056A0B3 +:10251000001056A0001056A04DF000004203E0004D +:102520005000000059981003800811C002000000FC +:10253000001056525808000582000D0043018780A4 +:102540000202000000105A6A8C0005080200000018 +:102550000010564F580A5808592C0205497A58005D +:10256000497A580182000500000000FF82000C80BB +:102570000000004B020210000010564E1201F8003D +:10258000001056555C03E0008370058000000003D6 +:10259000040007E20400F9CB0400B1B51C01F0000F +:1025A0008014011082140D00000000FF82040D80D1 +:1025B00000000068040200058000004002000000E6 +:1025C000001056A80401F003800000400400000B36 +:1025D00002001000001056A84A033006000206DC74 +:1025E00048033000492F3001492F30024202E000F9 +:1025F000000000031C01F000592E8A0783440C8060 +:10260000000007F002021000001056B88D0E1D0EDB +:1026100002020000001056E9592E44118122411097 +:10262000834404000010C3805000000080026D400D +:1026300002000000001056FF5934001380000130E2 +:102640008120058002020000001056FF593400026C +:10265000592C0811800405808200050000FFFFFF4F +:1026600002020000001056B85934000A8C00052EF2 +:1026700002020000001057090201F800000202C324 +:1026800002020000001057021C01F00059980802D5 +:102690005998000048065800492C0801492F30027B +:1026A0008000004048033000040000021C01F000DC +:1026B000599A5801599800064202E00000000001B2 +:1026C0000801F8001C01F000801401100200000055 +:1026D000001056A8800000400402000B592C240B67 +:1026E0008C1025040400000C592C020882000C8078 +:1026F0000000100102021000001056B80201F000A4 +:1027000000105D224A033006000207220401F7B5DB +:10271000592C240B592E8A07417A7800592E4408E7 +:1027200083224500000000FF83200580000000FF99 +:102730000200000000105908832004000010C1B2FC +:102740005002480083440C80000007F00202100091 +:10275000001058FF83440C000010C3805004000098 +:1027600080026D400200000000105903593400132C +:102770008000013081200580020200000010590312 +:1027800059340002592C0809800405808200050094 +:1027900000FFFFFF02020000001056B859243A0063 +:1027A000821C050000000003820005800000000379 +:1027B00002020000001058FB592E600A497A58099D +:1027C0008330048000111684020010000010592587 +:1027D000415400008130048002021000001058BFF4 +:1027E000592C0A0D593002028004058002020000B3 +:1027F000001059254936600A4926601C8C10251C9A +:1028000002020000001058AD592402068C00051089 +:1028100002020000001059488D0E1D0E0202000039 +:10282000001058928C1C3D1602020000001059390D +:10283000593402008C0005180202000000105920D3 +:1028400059300C07820405800000000602020000D7 +:102850000010594D8C102508020200000010588706 +:1028600059300809497A58044A025A070000000002 +:10287000800409C0020200000010588D5930041570 +:102880008C000516020200000010592A492E60092A +:102890000401F3088014011002000000001056A883 +:1028A0008000004002000000001056A8592C0A08C1 +:1028B00082040C800000100102021000001056B8C3 +:1028C0004A033006000207910401F746592C000123 +:1028D0008000154002000000001056A858080A05A4 +:1028E00082040D00000000FF820405800000004A01 +:1028F00002020000001056B0580804068C000510B3 +:1029000002020000001056B84202E0000000000180 +:10291000592C240B8C1025040400077F40087800F4 +:10292000592C0208820004800000100102021000ED +:10293000001056B8583C1809583C200A583C100B57 +:1029400082080500FFFF000302020000001056B8D5 +:102950004202E00000000002420000000010E3E933 +:10296000500070004A00700F00000008480C70060C +:1029700048107007492C700A4A00700D00000009C9 +:10298000483C700B0201F00000105D34492FC8571D +:10299000592E4411812241100201F80000105CBD43 +:1029A00004020067592C0205800001120202000097 +:1029B000001056A8592E8A070201F80000104AD4C8 +:1029C0000402005F0201F80000104A740402005F74 +:1029D000592E780B493FC8578D3E7D3E04020007B3 +:1029E0008D0E1D0E040200560201F8000010496F02 +:1029F00002000000001056B8833C1D000000001FBC +:102A000002000000001056B8592C020882000C8009 +:102A10000000100002021000001056B8800000C232 +:102A2000800008C48005D400592E9009592E980AB8 +:102A30005934080D800409C0040000045804180229 +:102A4000800C19C004020038833C1D000000001FE8 +:102A50008178004080000000800C1902040217FEFB +:102A600002020000001056B80C01F001000207FE3F +:102A7000000208010002080E0002081100020814FA +:102A80000201F800001099140401F0230201F8007B +:102A9000001049410400002780E9D1C0020208006B +:102AA000001065574202800000000005417A900046 +:102AB000417A98000201F800001099240401F016F0 +:102AC000420270000000004D0401F0064202700056 +:102AD0000000004E0401F0034202700000000052AA +:102AE0005934080D800409C0040000074D3C000063 +:102AF000400678000201F800001049215C027800CD +:102B0000040000090201F800001047EA0202080070 +:102B10000010995A040000078D3E7D3E0402000E0D +:102B20001C01F0004A025A07000000300401F00DB9 +:102B30004A025A070000002C0401F00A4A025A0710 +:102B4000000000280401F0074A025A07000000298B +:102B50000401F004497A580A4A025A0700000000AA +:102B60004A025A05000001030201F000000203F1CD +:102B7000492FC85780140110800000400400000352 +:102B80000201F000001056A8592C0208820005002E +:102B9000000003FF48025A088C00050604000004E8 +:102BA0008200050000000070040200038D0E1D0E5F +:102BB000040200184A025A070000DEAD592C04092D +:102BC000820005000000F0FF48025C090201F800E5 +:102BD00000104413040200021C01F00049425A078D +:102BE0008058B1C0040000090201F80000109F7E67 +:102BF0000401F80F440428008258058000000002F8 +:102C000004020002480828010201F000000203F15A +:102C10004202800000000031420008000000000174 +:102C20004200B000000000010401F7ED592C040936 +:102C300080000118832C2C000000000A80142C0056 +:102C40001C01F000492FC8574A025A09000000062B +:102C50000201F000000203F1492FC8574A025A0945 +:102C6000000000010201F000000203F14DF000003D +:102C70004203E000500000000402B00B835C0480BB +:102C8000000001040400100D815EB840416A580044 +:102C9000592ED000492FB007497A5800497A580177 +:102CA0000400B7F759D8000582000500430187806A +:102CB0000202000000105A6A5C03E0001C01F000F0 +:102CC0004DF000004203E000500000000402F00B51 +:102CD000835C0480000001040400100D815EB84094 +:102CE000416A5800592ED000492FA807497A580048 +:102CF000497A58010400F7F759D40005820005000D +:102D0000430187800202000000105A635C03E00068 +:102D10001C01F000403070005838000A80025D400D +:102D200004000026583800028200058000000100DF +:102D3000040000284C380000592C0A0582040D00BC +:102D4000000000FF8204058000000012040000164D +:102D5000820405800000001B040000108200058032 +:102D60000000006004000010592C02098400054E88 +:102D700048025A09497A5C09497A5C0A4A025A07A8 +:102D8000000000024A025A05000001030201F80097 +:102D9000000203F10401F0084A025A070000000291 +:102DA0000401F0034A025A07000000100201F80073 +:102DB000000203F15C0070004202E000000000012C +:102DC0004A007002000001004978700F1C01F000F9 +:102DD0005838000482000480000000030400008DC5 +:102DE0005838100F8C0815000402001B8C081506BB +:102DF0000402003B4200B00000000003832CAC0042 +:102E000000000012583800095838100C8008A4003F +:102E10004C3800000201F8000010C12B5C0070006B +:102E20005838000C82000400000000034800700CB9 +:102E30004A00700F0000000158380004820004802E +:102E400000000003480070048200058000000003B9 +:102E5000040000705838000D80001D40040200235B +:102E60004C3800000201F800001005705C00700092 +:102E7000040000104A025A050000010A420018002E +:102E800000000006480C700D5838000B800005400B +:102E9000040200025838000A40000800492C0801CA +:102EA000492C700B420008000000000F0401F014D0 +:102EB0004202E000000000084A0330050002090F4A +:102EC0001C01F0004202E00000000002420000008D +:102ED0000010E3E9500070000401F7E78408154092 +:102EE0004808700F5838180D583A580B400C00001D +:102EF000420008000000001580040C8058381004BF +:102F00005838000E4178300080000540040200056A +:102F10008418354082081480000000030400003D3E +:102F200040080000800404800400100240080800EB +:102F30004004B000412C0000800C04004000A800B8 +:102F4000583800095838100C8008A4004C080000BC +:102F50004C0400004C0C00004C3800000201F8004A +:102F60000010C12B5C0070005C0018005C000800C1 +:102F700040040000583810048008048048007004A1 +:102F80008200058000000003040000028418350060 +:102F90005C000000800414008208048000000060CF +:102FA000040200038418354241781000400C0000F0 +:102FB00080041C00820C0480000000150402000341 +:102FC0008418354440001800400808004804700C7C +:102FD000480C700D401800000C01F0010002095D62 +:102FE000000209620002095F0002095D000208F6A2 +:102FF000000209620002095F0002095D0201F80097 +:103000000010032E5838100E0201F00000105D343D +:103010005838080C820404000000000258381009D7 +:103020008008040050001000800811C00402001A3B +:103030005838180F8C0C1D06040200114202E000E3 +:1030400000000001583A580A4978700A4978700F10 +:10305000592C0A0582040D00000000FF820405803F +:1030600000000012040005AB820405800000001B74 +:10307000020000000010B9840401F5604202E00083 +:1030800000000001583A580A4978700A4978700FD0 +:103090000401F5A05838000980040C0082381C0097 +:1030A000000000065404180080040800800C18007A +:1030B000540418000201F00000105D344DF00000CF +:1030C0004203E000500000005994002E80000540AB +:1030D000040000EB4C0000008D0E1D3202020800BF +:1030E0000010106459E000028C00051E0402001359 +:1030F0004200000000001000500000008200048028 +:10310000243200020402000D0201F8000010C17B0D +:10311000040000084200080000007A175004000074 +:103120008C00050E040200038400054E44000800D4 +:103130004A030000000000005C000000599478245D +:103140004803282F803C048004001004040000037E +:10315000480328240401F02541787800803C780059 +:1031600082000400000003E8040027FD480328242F +:1031700059A8005C803C1400480B505C803C004027 +:1031800004000002483FC85759E4085259A8005D9E +:10319000800405800400000359E400524803505D98 +:1031A00059940030803C0400480328300201F800A4 +:1031B0000010660F59940000820005800000000096 +:1031C000040200065994003048032831497B283016 +:1031D0004A0328000000000159BC00E48C00052CC3 +:1031E00002020800001064D94C0C0000599400073A +:1031F00080000D4004000013599410065994002FCC +:1032000080081C800400100404000003480F2806F6 +:103210000401F00C80040840480728070402000459 +:10322000599400080801F8000401F006400C000061 +:10323000820C1C000000000A040027F7480F280633 +:103240005C0018004D18000059C800408C0005347F +:1032500004020027850E1D32417A300083947C00E1 +:1032600000000009583C000180000D4004020008E5 +:10327000823C7C0000000005811A30008318058024 +:1032800000000005040207F80401F019850E1D7204 +:10329000583C10005994002F800804800400100549 +:1032A000040000044800780080000040040217F188 +:1032B00080040840480478010400000882000400EB +:1032C0000000000A48007800040027FA8204050084 +:1032D0000000007F0401F7E7583C00044C3C00006C +:1032E0000801F8005C0078000401F7E25C0230009D +:1032F00059940023800015400400000704002006B4 +:103300005994002F80080480040210028000058078 +:10331000480328235994002680000D400400001320 +:10332000599410255994002F80080480040010053A +:103330000400000448032825800000400402100B0C +:1033400080040840480728260402000459940027F6 +:103350000801F8000401F005820004000000000AE2 +:1033600048032825040027F75994000480000D40E5 +:1033700004000013599410035994002F800804800E +:1033800004001005040000044803280380000040E6 +:103390000402100B800408404807280404020004BB +:1033A000599400050801F8000401F00582000400AA +:1033B0000000000A48032803040027F75994002955 +:1033C00080000D4004000013599410285994002FD8 +:1033D0008008048004001005040000044803282825 +:1033E000800000400402100B800408404807282990 +:1033F000040200045994002A0801F8000401F005B1 +:10340000820004000000000148032828040027F778 +:103410005994002C80000D40040000135994102B87 +:103420005994002F80080480040010050400000453 +:103430004803282B800000400402100B8004084041 +:103440004807282C040200045994002D0801F800B4 +:103450000401F005820004000000000A4803282B44 +:10346000040027F75994082E5994002F80040480F3 +:10347000020018000010032E4803282E5994000063 +:103480000C01F00100020A820010655E001065CB9D +:103490005C03E0001C01F0005994002E8000000045 +:1034A0004803282E4203E000700000001C01F000D9 +:1034B000592C0004497A580480000D40040200058C +:1034C000592C0407800000C2800008C480040C004E +:1034D000592C040B4806600682000D000000000312 +:1034E00002000000001067638C0005000402003534 +:1034F00059A8087380040840040207FF8C00051EC9 +:10350000020000000010673E82000D00000000C0B5 +:10351000020200000010673482000D00000020202D +:103520000202000000106731813E79C002020000F3 +:1035300000106731592C0C0D800409C002020000F4 +:103540000010673159300A0382040D800000000723 +:1035500002020000001067314A026203000000030B +:103560004A026403000000430201F80000020172F5 +:1035700082080D40800034658C040D0E04000008A4 +:1035800059301009580810015808040780000540F8 +:103590000400000384040D1884040D14480660041C +:1035A000497A600059BC00EA8C000516040207FE47 +:1035B00083300400A0000000480378E11C01F00003 +:1035C0008C00050202020000001067868C00051EB8 +:1035D0000400000E82000D00000000C00400000581 +:1035E00082040D80000000C0020200000010678B02 +:1035F00082000D000000202082040D8000002020A9 +:103600000200000000106752592C020880000040A0 +:10361000020200000010675C592C020582000500C0 +:10362000000000FF8200058000000012020200007E +:103630000010675C592C180E800C19C002020000A3 +:103640000010675C592C18105930000882000540A2 +:1036500000000011480E6012480260084A0262032E +:10366000000000044A026403000000424200080017 +:10367000800020010401F0475C0000004C000000C5 +:103680004803C8574807C8570401F0034200080020 +:103690000000000159325809832C050000FF00008A +:1036A00004000013592C1000592C040B5930180831 +:1036B000480A60098C0005100402000E48065A07EB +:1036C000820C050004000800820005800400080048 +:1036D000040000160201F800000203F1417A7800AC +:1036E0005930000980025D40040207721C01F0009D +:1036F000456A5800412ED000815EB800592C000167 +:1037000080000D400402000659C8000082000540F8 +:1037100000001200480390000401F7F10201F800D4 +:10372000000203DF0401F7EE5930002048025C106C +:103730000401F7E9598400008000054004020002FA +:103740001C01F000598400038000054002020000C3 +:10375000001068031C01F00048066004497A60000C +:10376000497A60018D0E1D320200080000101064BD +:10377000850E1D7259BC00EA8C000516040207FE76 +:1037800083300400A0000000480378E11C01F00031 +:1037900059300004820005000000010080040D4043 +:1037A0004806600459BC00EA8C000516040207FEB6 +:1037B0008330040040000000480378E11C01F00061 +:1037C00059BC00EA82001500B00000180202000097 +:1037D00000106EBF8C0005100400002A59BC10E0D8 +:1037E00082080500FFFFF0000402000A80080108BB +:1037F000820A35000000000F4803C8571201F0008C +:1038000000106EC584000510480260040401F01623 +:10381000840A653E593000048C000520040007FA34 +:1038200082000500FFFEFEFF480260048C08153E82 +:103830000402000542027000000000130401F85861 +:103840000401F009593000048C0005140400000341 +:103850000401FF8F0401F02E4202700000000049B5 +:103860000401F84F59BC00EA82001500B0000018AE +:103870000202000000106EBF8C000510040207D881 +:103880001C01F00059A80251816404800400101941 +:10389000416260004158000059300A0382040D80E3 +:1038A00000000000040200094A0262030000000850 +:1038B0008166C8408332C4000000002C816004800F +:1038C000040210091C01F000833264000000002C87 +:1038D00081300C80040017F1420260000011168450 +:1038E0000401F7EE837AC540001116841C01F00034 +:1038F000420000000010D0160201F8000010C0586D +:103900004967C857800265801C01F000833004803D +:1039100000111684020018000010032E4158000008 +:10392000813004800402100C457A60004A02620271 +:103930000000FFFF040110008330040000000003BA +:103940004803C8404A03C842000000298166C800F5 +:103950001C01F00041540000813004800202180074 +:103960000010032E59A8004D4933504C8000000030 +:103970004803504D457A60004A0262020000FFFF92 +:103980000401100083300400000000034803C84015 +:103990004A03C842000000291C01F0004D34000019 +:1039A0004D2400005932481C5932680A5930040726 +:1039B000820005000000001F0C01F8045C024800B2 +:1039C0005C0268001C01F00000107F7400107F870B +:1039D00000107FA100020BF00010A5A80010A5C3E5 +:1039E00000020C7100107F7400107F8700106AFACB +:1039F00000107FBA00107F7400107F7400107F7475 +:103A000000107F7400107F7400109FD00010B575F7 +:103A10000010BC940010BE8400107F7400107F74EE +:103A200000107F7400107F7400107F7400107F748A +:103A300000107F7400107F7400107F7400107F747A +:103A400000107F7400107F745930020382000C80D4 +:103A50000000000E020218000010032E0C01F001FD +:103A600000107FB800108CEE00020C0400108F399B +:103A700000108FD300107FB800107FB800107FB8FF +:103A800000108CD300107FB800107FB800107FB8F2 +:103A900000107FB8001091D68338048000000058D1 +:103AA0000402100783380480000000400400100462 +:103AB0004D2C00000C01F8035C0258001C01F000C2 +:103AC00000108D7800108D7800108D7800108D78A2 +:103AD00000108D7800108D7A00108E5200108D78B5 +:103AE00000108D7800108D7800108D7800108D7882 +:103AF00000108D7800108D7800108D7800108D7872 +:103B000000108D7800108D7800108D7800108E5682 +:103B100000020C2600108D7800108E5500108E5774 +:103B200059325809593008125930140259340200D8 +:103B30008C00050E040200250401F8320400000583 +:103B40004A025A0500000103497A580A0401F00CA0 +:103B50004A025A05000001034A025A070000000009 +:103B6000497A580A400400000201F8000010A353EB +:103B700080000D400202080000108F9E4806580881 +:103B8000480A5C075930000882000500040008005C +:103B90008200058004000800040000170201F800FC +:103BA000000203F15934000F5934140B80081040FF +:103BB00004001002480A6C0B800005400202080055 +:103BC0000002035C0401F752592C020B8C00050221 +:103BD000040007DA800409C0040007DE592C02093A +:103BE0008C00050E040207DB4933C8570201F000C0 +:103BF00000109B2C5930022048025C100401F7E8A9 +:103C0000592C020B8C0005000400001059300016DE +:103C1000592C3810801C3C800400000C4A025A07C2 +:103C2000000000158C1C3D3E040000054A025A07A6 +:103C300000000007801C3880801C3800481FC857CF +:103C4000821C0D40000000001C01F00059300203EE +:103C5000820034800000000E020218000010032EC3 +:103C60000C01F0010010A5E200020C850010ADA0CF +:103C70000010ADAE00020CA10010A5E20010AEA530 +:103C800000020CC00010A5E20010A5E20010A5E2A1 +:103C90000010A5E20010A5E20010A5E2833805801F +:103CA00000000013020200000010AD275930040389 +:103CB0008202748000000044020218000010032EEB +:103CC0008200048000000040020018000010032E53 +:103CD0000C01F0010010AD8400020C970010AD86BD +:103CE0000010AD9859325809832C050000FF0000E0 +:103CF00004000005592C0C0B8C040D1A0202000064 +:103D00000010AD930401FE620401F70183380580C1 +:103D100000000048040000078338058000000053BD +:103D2000020000000010AE470201F8000010032E50 +:103D300059300028593010125930080A58040A0026 +:103D40008C040D0E020200000010AE23800811C08A +:103D5000020200000010AE305930002880000540FB +:103D6000020200000010AE3E59325809592C040BD3 +:103D70008C00051E020000000010AE194202700007 +:103D8000000000410401F001833804800000005469 +:103D9000020218000010032E833804800000004047 +:103DA000020010000010AE640C01F0010010AE70B3 +:103DB00000020CDD0010AE7C0010AE830010AE706F +:103DC0000010AE700010AE700010AE700010AE7239 +:103DD0000010AE770010AE770010AE700010AE701D +:103DE0000010AE700010AE700010AE770010AE7014 +:103DF0000010AE770010AE700010AE724A0262037F +:103E000000000001493A640342000800800020429B +:103E10000401F66000000000000000000000000047 +:103E20000000000000000000000000000000000092 +:103E30000000000000000000000000000000000082 +:103E40000000000000000000000000000000000072 +:103E5000AD907DCB00000000000000000010F700D6 +:103E600000001A9442000000001111D0420010001E +:103E7000001111C14800100042013800001115D096 +:103E800042000000001111C0489C0000409D40000D +:103E9000409D68001C01F0004200D0000000000DB1 +:103EA00042000000000000024800D0000401F7FBBF +:103EB0004200D0000000000D4200000000000001A0 +:103EC0004800D0000401F7FB1C01F000809D384041 +:103ED000488138004933C8575931040B82817480B6 +:103EE000000000380400000D0400100C82810480E2 +:103EF000000000384A025A06000000380201F800AB +:103F00000010398B40C6580080C589C0040207F4F0 +:103F10004178D0000401F00448825A064200D000E3 +:103F20000000000140698800589D0000809D380015 +:103F30001C01F00042038000000077004A03800665 +:103F40003000000059C0D0078268E5000000002062 +:103F50008C68D50A040207FC59C0D00659A0D20AC1 +:103F600059A0DC0A806C00E08068D540486B800175 +:103F700059A0D20F59A0DC0F806C00E08068D540BA +:103F8000486B800059A0D20C486B800259A0D20C1B +:103F9000486B800359A0D20C486B80054873900988 +:103FA00059E0D0038268D54000008060486BC003B0 +:103FB0001C01F00059A1700248BBC85759A0D0029B +:103FC0008068D1C00402003259A8D80F826CE50085 +:103FD000000000FF59A9706348BB888059C4D0A372 +:103FE0008268D540000020088468D53A486B88A3D1 +:103FF00059C4D0088468D54E8268D500FFFFFFE120 +:10400000486B880859C8D0408468D534486B9040C4 +:1040100059A0D20782697480000000440400001D8A +:104020008070D0D0807000E08068D540486B9120CF +:104030008270D54001000000486B91214A03912312 +:104040000821000848739122497B912459A8D4641F +:104050008068D000486B546459A8D4648068D0E06C +:104060008268D5400000AAAA486B9125497B912619 +:10407000497B912759A0D2078269748000000044CF +:10408000040000114A0391000000E9A00401F010AF +:10409000806CD0D08268D54000000011486B912020 +:1040A000826CDD0000FFFFFF826CD5403200000013 +:1040B000486B91214A039123E1290008486F91221E +:1040C0000401F7E24A0391000000E9801C01F000BE +:1040D00059C8D0078C68D500040000034A03900D2E +:1040E000000000301C01F0000201F80000106E6EAC +:1040F00059B8D0EA8268D500000000078269748050 +:1041000000000003040000020401F0034A0370E809 +:10411000000000011C01F0004A03880500020000B5 +:104120004200D0000000003C0201F800001012F232 +:104130004A0388910000FFFF59C9703548BB90358C +:104140004A03900D00000040420380000000770009 +:104150000201F80000100CB34A03800620000000A2 +:1041600042038000000077200201F80000100CB329 +:104170004A038006200000004A03A005200000003A +:104180004A03A005300000004A03B80530000001D2 +:104190004A03B8052000000059D0D0068C68D50A23 +:1041A000040207FE59DCD0068C68D50A040207FB1E +:1041B0001C01F0004203A000000076004200D00085 +:1041C000000000400201F800001012F24A03A00AA9 +:1041D000000000014A03A0052000000059D0D006CD +:1041E0004A03A0053000000059D0D0068C68D50ADB +:1041F000040207FE59D0D00559A0D21159A0DC11F4 +:10420000806C00E08068D540486BA00159A0D20EB8 +:1042100059A0DC0E806C00E08068D540486BA0009F +:1042200059A0D20C486BA00359A0D20C486BA00235 +:1042300059A0D20C486BA0081C01F00058ED700387 +:1042400048BBC85758ED700548BBC85758ED7006B5 +:1042500048BBC85758ED700748BBC85758ED7001A8 +:1042600048BBC85748EFC85758ED700848BBC857F7 +:1042700058ECD0058068D1C00400000540ECD000A7 +:104280000201F800001005FE0401F00658ECD0030E +:1042900058ECD80658ECE0010201F8000010032B9E +:1042A0001C01F000829D3C8000000006488138001F +:1042B0004885380148893802488D380348913804C8 +:1042C0004895380559A104074883C85759A0DA0E04 +:1042D00059A0D40E806800E0806D2D4059A0DA11FD +:1042E00059A0D411806800E0806D254059A10A0CC6 +:1042F000830D1500000000808D0E1D0E04020020AD +:1043000059A8D21B8C68D50A04000018599CD20108 +:104310004084000080697480040010C582811D0003 +:1043200000008000040200C659A8D00D41640000BE +:1043300080697480040000154967C85759A9704FF7 +:1043400048BBC85759A9704E48BBC85759A9704DAA +:1043500048BBC8574A034407000000180201F80090 +:10436000001023350401F12D4A0344070000000525 +:104370000201F800001023350401F1280201F800C1 +:104380000010233D0401F12559A8D04E59A8004D35 +:1043900080697480040207E90201F80000106E7A57 +:1043A000598E600F0201F8000010719A0201F800A6 +:1043B00000106E7A408E30000201F8000010753651 +:1043C00059926004813261C00400000D0201F800BE +:1043D000001070B30201F80000106E4C0201F800EA +:1043E00000106E554202780000001000420280006A +:1043F0000000002E0201F800001102F2811A3000C4 +:104400008319748000000004040007EC040017EB1B +:104410000201F800001008010201F80000102ACF84 +:10442000497B5061497B44084201D000003D0900AE +:104430000201F800001066D259C5088059C510A3C2 +:10444000497B40020401FEBC0401FF5B4A03A00556 +:104450001000000059C4D0058268D540000000F06B +:10446000486B88050401FED40201F80000102AD828 +:1044700040C5000080C589C00402002059C8D00191 +:104480008068D1C00402001D59DCD0068268D500C6 +:1044900043000F800400000A59DCD0068269748052 +:1044A0000000000083F175000C000000040000040F +:1044B00082B975800C0000000402000E59D0D006AD +:1044C0008268D50043040700040007E859D0D006ED +:1044D000826974800000000083F175000C00000008 +:1044E000040007E282B974800C000000040007DFBA +:1044F0004A0344080000DDDD808101C0040200920F +:1045000059A0D408826974800000DDDD0400008EAB +:1045100059C0D0088268D5000FFFFFFF59C8D818CE +:10452000826C0500F00000008068D540486B800870 +:104530000201F80000100CB359C0D8064A038006E7 +:104540001000000059C0D8094883900D59C8D020E8 +:104550008068E13059C8D0208269050000FFFFFF64 +:1045600059C8D0218268FD0000FFFFFF4A03900D6B +:104570000000000159C8D0208068E93059C4F00516 +:10458000826CD50000E00000040200048271748097 +:104590000000003204000075486FC8574873C857C0 +:1045A0004877C8574883C857487FC857487BC8577B +:1045B00059A9700F48BBC8570201F80000102AEF34 +:1045C0004A035061000000014200D0000000006476 +:1045D0000401F0048068D1C0040000728068D040FB +:1045E00059C0D8078C6CDD04040007FB0401FECB26 +:1045F0000201F800001072390401FEBC4201D00033 +:10460000000186A00201F800001066D2488B88A342 +:104610004887888059A8D0618068D1C004020050C2 +:104620000201F800001022F20401F07C4887C8570C +:104630000201F800001023390401F0780201F800AB +:1046400000107F4040C6600080C589C00400004162 +:104650000201F8000010398B40C6580080C589C09F +:10466000040000224A02601C0010D0D348898A0549 +:1046700048898C054882620B4886640B59A0D40F88 +:104680008068D0E059A0DA0F406C00008068D54007 +:10469000486A600C59A0D40A8068D0E059A0DA0AB0 +:1046A000406C00008068D540486A600D59A0D40E67 +:1046B0008068D0E059A0DA0E406C00008068D540D8 +:1046C000486A600E59A0D4118068D0E059A0DA1170 +:1046D000406C00008068D540486A600F0401FDFC12 +:1046E00080C589C0040200060201F80000107EFCAB +:1046F0004A034407000000020401F71E48EE602A46 +:1047000058EE580C4A01D80100000001592CD2067D +:104710004869D805832CD400000000074869D803F5 +:104720004895D8064891D8074A01D8080010F9A042 +:104730004A03400000000001493340010401FEC06B +:104740000401F0364A035061000000010401F7A89B +:104750004A034407000000030401F7060201F800C1 +:10476000001023410401F02D82757480000000E1E7 +:104770000402078A407C000080817480040207875D +:1047800059A8D00F80697480040207848278D5000C +:10479000000000F0040207810401FE4E0401F78BC3 +:1047A0004A035061000000010201F80000101913D3 +:1047B00080C589C00400000859C4D0058268D500AE +:1047C000000000F0040000074A0344080000BBBBDF +:1047D0000401F7874A0344080000AAAA0401F784E9 +:1047E0000201F80000102AD880C5704004000008BB +:1047F00059C0D0078268D500000501C00400077CBD +:104800004A0344080000DDDD0401F7794A03440847 +:104810000000CCCC0401F776589D2805589D200453 +:10482000589D1803589D1002589D0801589D00007E +:10483000829D3C00000000061C01F000809D384075 +:1048400048813800592CD00682697480010000002C +:10485000040000164131000059A2600148EE602AB0 +:1048600058EE580C4979D801592CD2064869D80518 +:10487000832CD400000000074869D8035931700C1C +:1048800048B9D8065931700D48B9D8074A01D80837 +:104890000010F9A04A0340000000000140826000BF +:1048A0000401FE670401F0094131000059A26001D2 +:1048B0004933C8570201F80000107EFF40826000B3 +:1048C0000201F80000102341589D0000809D38002F +:1048D0001C01F000829D3C800000000548813800EA +:1048E0004885380148893802488D38034891380492 +:1048F000412D10004131080059A260014069D800E3 +:10490000586B400A5868D002826974800000020027 +:104910000400003C58EE580C59A0D800806CD00020 +:10492000486B4000592D00010401F00540825800F9 +:10493000806CD8400400000458810001808101C0CF +:10494000040207FB808101C00400001258ED000C36 +:10495000832CD400000000074869D803592CD206E4 +:104960004869D8055880D2058268D58000000103C7 +:104970008068D0808068D0008068D13E4869D801C6 +:104980000401FE2F40866000408258000401F03B85 +:1049900058EE580C592CD20582697480000001032E +:1049A000040000304135180041452000592CD40541 +:1049B0008468D55E486A5C0542028800000007FDF5 +:1049C0004200D00000FFFFFD0201F8000010467712 +:1049D00040C6680080C589C0040000100201F800CC +:1049E00000109CB980C589C0040000184086600092 +:1049F0004881D8014A01D8080010F97A0401F00F63 +:104A00000201F8000010232D0201F80000107EFCC6 +:104A1000408660000401F01959A260010201F8000B +:104A200000107EFC408660004A034407000000023C +:104A30000201F80000102335408A5800408E6800BB +:104A4000409288000401F00D0201F80000107EFC85 +:104A5000408660004A034407000000040401F7F5A3 +:104A60000201F80000107EFC408660000201F800A0 +:104A7000001022F2408A5800589D2004589D1803C7 +:104A8000589D1002589D0801589D0000829D3C00D1 +:104A9000000000051C01F000829D3C800000000425 +:104AA000488138004885380148893802488D3803E4 +:104AB00040690800497BC85659A0D20D8068D1C012 +:104AC0000400001E5884D0014178D80082697480A7 +:104AD000000000020400005159A260015930D00EBC +:104AE0004068D8008068D1C00400004C8068D04085 +:104AF000486A600E5932580C5930D80B586D18005E +:104B0000586D1001586CD00282690500FFFFFFFC50 +:104B10005930D00D8068D000486A600D8269748079 +:104B20000000000504000034826CD4000000000383 +:104B3000486A600B0401F01259A0D40C8068D0E0E0 +:104B400059A0DA0C826C05000000FFFC806905406A +:104B50004883A00359A0D40E8068D0E059A0DA0E93 +:104B6000406C000080691D4059A0D4118068D0E0DD +:104B700059A0DA11406C0000806915404201D00054 +:104B800000003A980201F800001066D24883A002A3 +:104B900059A9706248BBA008488FA000488BA001AB +:104BA00059D0D0054A03A005100000004178D0007C +:104BB000040250028068D0008068D1C0040200075F +:104BC0005884D0018068D000486908014200D800AC +:104BD000000000010401F0114200D0000010FA11A1 +:104BE0004084D8004178E0000201F8000010032B57 +:104BF0000401F7F4497A600D592E5801812E59C0ED +:104C0000040007DF492E600C832CDC000000000646 +:104C1000486E600B0401F7DA406D8800589D180358 +:104C2000589D1002589D0801589D0000829D3C002F +:104C3000000000041C01F000809D384048813800CD +:104C40004069000059D0D0068268D50043040700AF +:104C50000400000A59D0D006826974800000000068 +:104C600083F175000C0000000400000482B9758017 +:104C70000C0000000402003D59A0D20D8068D1C094 +:104C80000400000F59D1700648BBC85759D0D00650 +:104C90008C68D5040400000A59D0D006826974805B +:104CA0000000000083F175000C0000000400000407 +:104CB00082B975800C000000040200100401F0337A +:104CC0004200D0000010FA794080E0000201F800B4 +:104CD0000010032B59D0D0068269748000000000B8 +:104CE00083F175000C000000040007F582B97480A0 +:104CF0000C000000040007F24A03A0052000000099 +:104D000059D0D0068268D50043040700040200177A +:104D10005880D801806D704004000017826D748047 +:104D200000000002040207E74A0100010000000140 +:104D300059D1700648BBC85759D0D00682697480D3 +:104D40000000000083F175000C0000000400000466 +:104D500082B975800C000000040207DF4080D0009B +:104D60000401FF4E0401F0094A0344080000DDDDA0 +:104D70000401F006486900014080D0000401FF47AB +:104D800080C589C0040207F6589D0000809D380048 +:104D90001C01F0000201F8000010191380C589C041 +:104DA000040200020401F0094A034407000000174E +:104DB0000201F800001023354203E000500000001B +:104DC000497BC8560401F0001C01F0004068D8007F +:104DD00059C1700948BBC85759C0E0098270D50055 +:104DE00000E0000004000019586CD000486B42102D +:104DF000586CD0008068D120486B44108C70E52E30 +:104E00000402000E8C70E52C04000004586CD00BDA +:104E10008068D0004868D80B8C70E52A0400000434 +:104E2000586CD00D8068D0004868D80D4200D00082 +:104E3000000000010401F005586CD00C8068D0001F +:104E40004868D80C0401F7F0406988001C01F000A4 +:104E50004068E0005869700348BBC85759A0D40D9A +:104E60008068D1C0040000345870D0024178D80066 +:104E700082697480000000020400005059A26000A2 +:104E80005930D00E4068D8008068D1C00400004B73 +:104E90008068D040486A600E5932580C5930D80B9F +:104EA000586CF800586CF001586CD0028268ED0024 +:104EB000FFFFFFFC5930D00D8068D000486A600DBC +:104EC000826974800000000504000033826CD40005 +:104ED00000000003486A600B487F8000487B800127 +:104EE0004877800259C0D0088268D5000FFFFFFFC5 +:104EF00059C8D818826C0500F00000008068D540C1 +:104F0000486B800859C0D0065871700348BB8006B2 +:104F10005870D0028068D0004868E0025870D00411 +:104F20008468D5404868E0044200D80000000001D1 +:104F30000401F0225870D0034200D80000000001A4 +:104F400082697480100000000402001C59A0D40F74 +:104F50008068D0E059A0DA0F406C00008068FD4006 +:104F600059A0D40A8068D0E059A0DA0A406C000049 +:104F70008068F54059A0D40C8068D0E059A0DA0CC4 +:104F8000826C05000000FFFC8068ED4048778003DC +:104F90000401F7D2497A600D592E5801812E59C06B +:104FA000040007CE492E600C832CDC0000000006B4 +:104FB000486E600B0401F7C9406D88001C01F000C9 +:104FC000809D3840488138004069000059C0D007B2 +:104FD0008268D500000507C00400000A59C0D00748 +:104FE000826974800000000083F175000C000000ED +:104FF0000400000482B975800C0000000402003C2B +:1050000059A0D40D8068D1C00400000C59C17007AC +:1050100048BBC85759C0D00782697480000000009F +:1050200083F175000C0000000400000482B9758053 +:105030000C000000040200100401F0354200D00012 +:105040000010FB5B4080E0000201F8000010032B21 +:1050500059C0D007826974800000000083F1750098 +:105060000C000000040007F582B974800C000000F9 +:10507000040007F24A0380062000000059C0D00750 +:105080008268D500000507C0040200194A01000328 +:10509000100000045880D802806D70400400001792 +:1050A000826D748000000002040207E54A010002DC +:1050B0000000000159C1700748BBC85759C0D0074C +:1050C000826974800000000083F175000C0000000C +:1050D0000400000482B975800C000000040207DDA2 +:1050E0004080D0000401FF5B0401F0094A0344083A +:1050F0000000DDDD0401F006486900024080D000B8 +:105100000401FF5480C589C0040207F6589D0000C1 +:10511000809D38001C01F00059A26000813261C0FE +:105120000400000959325809812E59C004000005B5 +:105130000201F80000107EFC0201F8000010059F3B +:10514000497B400059A26001813261C0040000091E +:1051500059325809812E59C0040000050201F80097 +:1051600000107EFC0201F8000010059F497B400101 +:105170001C01F000809D38404881380040690000E3 +:105180000201F80000102AEF0201F8000010F7B148 +:105190005880D00B8068D1C0040200045880D00C25 +:1051A0008068D1C00400000759A0D00D8068D1C02C +:1051B0000402000A4200D000000000010401F009CE +:1051C0005880D00D8068D1C00400000659A0D00DD1 +:1051D0008068D1C0040007F80401FFD00401F7F68D +:1051E00040698800589D0000809D38001C01F00037 +:1051F000829D3C80000000034881380048853801CA +:105200004889380240690000492FC8575868A808E3 +:10521000586908054A03B8052000000059DCD0068B +:105220004A03B805300000005881700648BBB8003A +:105230005881700748BBB8015881700A48BBB80252 +:105240004857B8034A03B8053000000259DCD006BD +:105250004A03B8057000000159DCD0064A03B805BE +:105260001000000059DCD006826974800000000044 +:1052700083F175000C000000040007FB82B9748004 +:105280000C000000040007F84A03B80520000000E5 +:1052900059DCD0068268D50043000F800400000569 +:1052A0004A0344080000DDDD4178D0000401F01A13 +:1052B00059DD700048B9000659DD700148B9000792 +:1052C0004084D000808509C004000013412D1000E7 +:1052D0000201F8000010058240C6580080C589C050 +:1052E000040000074A025A050000000A492D100177 +:1052F0004200D000000000010401F0074080D0000F +:105300004088D8004084E0000201F8000010032B20 +:105310000401F7F540698800589D1002589D080166 +:10532000589D0000829D3C00000000031C01F0001D +:10533000829D3C8000000002488138004885380189 +:1053400040690000497BC8564203A0000000760077 +:105350004200D000000000400201F800001012F2EC +:105360004A03A00A000000014A03A0052000000033 +:1053700059D0D0064A03A0053000000059D0D0060D +:1053800082690D00000000208C68D50A040207FC29 +:1053900059A0D20D486900058068D1C004020002FE +:1053A0000401F07059A0D4118068D0E059A0DA113E +:1053B000406C00008068D5404869000759A0D40EB1 +:1053C0008068D0E059A0DA0E406C00008068D540BB +:1053D0004869000659A0D40C8068D0E059A0DA0CC6 +:1053E000826C05000000FFFC8068D5404869000918 +:1053F000486BA0030201F80000107F4040C6600027 +:1054000080C589C00400004F493340010201F80003 +:105410000010058240C6580080C589C004000041C4 +:105420004A025A05000000184A02580600ABCDEFA8 +:10543000492E6009492E600C5881700548BA600EEB +:1054400048865C114A02601C0010D0D34A02600DED +:1054500000000004832CD40000000012486A600B96 +:10546000486900084A01000A0000000C5880D00575 +:105470008068D040486900054080D0000401FF5D8D +:1054800059A0D408826974800000DDDD040007C5DE +:105490005880D0058068D1C0040007C2826974803A +:1054A0000000000404000014040010138268D4807B +:1054B00000000005486900054A01000A0000003CA0 +:1054C000832CD40000000006486900084080D0000A +:1054D0000401FF4880C589C0040007B25880D00588 +:1054E000826974800000000483F1750003000000ED +:1054F000040007EF4979000A4178E0008270E40077 +:105500000000000C8068D840406CD000806CD9C08E +:10551000040207FB4871000A486D00050401F7E921 +:105520004200D0000010FC374200D8000010058275 +:105530004080E0000201F8000010032B0401F7B9DD +:105540004200D0000010FC374200D80000107F401D +:105550004080E0000201F8000010032B0401F7ABCB +:10556000589D0801589D0000829D3C0000000002EB +:105570001C01F000809D38404881380040690000DF +:10558000497BC85642038000000077000201F80002 +:1055900000100CB359C0D00659A0D40D48690005BD +:1055A0008068D1C004020009497B900959E0D0030A +:1055B0008268D54000008060486BC0034A038009C0 +:1055C00000E000000401F07D59A0D40A8068D0E01A +:1055D00059A0DA0A406C00008068D540486900078D +:1055E00059A0D40F8068D0E059A0DA0F406C0000B9 +:1055F0008068D5404869000659A0D40C8068D0E086 +:1056000059A0DA0C826C05000000FFFC8068D540D0 +:1056100048690009486BC8575881700948BB800326 +:105620000201F80000107F4040C6600080C589C0BC +:105630000400005A493340000201F80000100582BE +:1056400040C6580080C589C00400004C4A025A0573 +:10565000000000184A02580600ABCDEF492E600941 +:10566000492E600C5881700548BA600E4A02600DE0 +:1056700000000004497A5C114A02601C0010D0D37B +:10568000832CD40000000012486A600B48690008AF +:105690004A01000A0000000C5880D0058068D04004 +:1056A000486900054080D0000401FED259A0D4080A +:1056B000826974800000DDDD040007C35880D005D6 +:1056C0008068D1C0040007B98269748000000004BA +:1056D00004000014040010138268D4800000000548 +:1056E000486900054A01000A0000003C832CD400F0 +:1056F00000000006486900084080D0000401FEBD9B +:1057000080C589C0040000185880D0058269748063 +:105710000000000483F1750003000000040007EF9F +:105720004979000A4178E0008270E4000000000C32 +:105730008068D840406CD000806CD9C0040207FB60 +:105740004871000A486D0005832CD4000000000653 +:10575000486900084080D0000401FEA680C589C0C9 +:10576000040207EA59A0D408826974800000DDDDD4 +:105770000402078E0401F0114200D0000010FCC8A2 +:105780004200D800001005824080E0000201F800CD +:105790000010032B0401F7AE4200D0000010FCC83B +:1057A0004200D80000107F404080E0000201F80075 +:1057B0000010032B0401F7A0589D0000809D3800C5 +:1057C0001C01F000829D3C800000000248813800EE +:1057D0004885380140690800406D00000201F8006A +:1057E00000101962408000004084D00080C4DD00B9 +:1057F0000201F80000101969589D0801589D000029 +:10580000829D3C00000000021C01F000829D3C8053 +:1058100000000002488138004885380140690800CE +:10582000406D00000201F800001019624080000085 +:105830004084D00080C4DD400201F80000101969E6 +:10584000589D0801589D0000829D3C000000000208 +:105850001C01F000809D3840488138004200D00093 +:10586000000000EF0201F800001015E64A03500F97 +:10587000000000EF59C4D0A38468D55A8468D53A93 +:10588000486B88A30201F8000010164580C589C046 +:10589000040000434200D000000000010201F800B3 +:1058A000001018C84200D000000000010201F800FA +:1058B0000010184E4178D0004200D80000000004CB +:1058C0000401FFD34201D000000000140201F800DF +:1058D0000010669E59C4D0088468D54E8268D500F1 +:1058E000FFFFFFE1486B88084A0388A70000F7F72D +:1058F0004A038805040000014200D000BE20BFFF1B +:105900004200D800800180000201F800001042CA65 +:105910004200D000FFFEFFFF4178D8000201F800EE +:10592000001042CA42010000000013870401F00881 +:1059300080817040040000488081004042000000E7 +:10594000FFFFFFFF80817480040000094201D00046 +:10595000000000140201F8000010669E0201F80029 +:105960000010191380C589C0040007F259C4D0057E +:105970008268DD00040000008C68D5340402001841 +:1059800059C4D0A48268D5000000000F82697480D9 +:1059900000000008040200310401F0110201F800C7 +:1059A0000010165380C589C0040000064178D0005D +:1059B0000201F800001018C84178D0000401F7BCBB +:1059C0004200D000000000020201F800001018C8D8 +:1059D0004200D000000000020401F7B54200D000F0 +:1059E000000200000201F800001042D14201D00084 +:1059F000000000640201F8000010669E4200D00022 +:105A0000FEFFFFFF4200D800020000000201F80084 +:105A1000001042CA4200D000FDFFFFFF4178D800CD +:105A20000201F800001042CA4A0388050400000180 +:105A300059C4D0A48268D5000000000F4178D80076 +:105A40008068D1C0040200054200D80000000001B7 +:105A50000401F00240C4D800406D8800589D000049 +:105A6000809D38001C01F000809D384048A138001E +:105A7000829D3C800000000F409D4000829D3C8044 +:105A800000000006488138004885380148893802FE +:105A9000488D38034891380448953805490FC85750 +:105AA00059C9104059A9080F59C518A359C520084C +:105AB00059C528808D0E1D0E0402000E59A0D40772 +:105AC00082690500000000078281748000000002E6 +:105AD00004000015808101C0040000238081704013 +:105AE000040000E00201F800001023390401F18DE8 +:105AF0000201F8000010166F80C589C0040007F08D +:105B00004200D000000000020201F800001018C896 +:105B10004200D000000000020201F8000010184E00 +:105B20000401F7E78D0E1D0E0402000C0201F800BF +:105B30000010514E80C589C004020170836D7480CD +:105B4000000000030402000559C4D0A48268D500F7 +:105B50000000000F040000100201F8000010233DB7 +:105B60000401F1704200D000000000C04200D800E3 +:105B7000000000020401FF264080D0004200D8004F +:105B8000000000080401FF220401FF3380C589C022 +:105B9000040000BB59A0D4108068D0E059A0DA10EE +:105BA000406C00008068D54048694000497B44084B +:105BB0004979400B4979400C4979400D49794002B7 +:105BC000497940010201F80000102ACF0201F800D3 +:105BD00000106E7A598E600F0201F8000010719A61 +:105BE0000201F80000106E7A417A30000201F800DC +:105BF0000010753659926004813261C00400000DB6 +:105C00000201F800001070B30201F80000106E4CA1 +:105C10000201F80000106E554202780000001000EA +:105C2000420280000000002E0201F800001102F282 +:105C3000811A30008319748000000004040007EC0E +:105C4000040017EB0201F8000010080159A8D06DFC +:105C50008068D1C00402007F49794004497B40023A +:105C600040A0D0000401FE4459A0D4088269748089 +:105C70000000DDDD0400012640A0D0000401FDADE0 +:105C800059A0D408826974800000DDDD0400012081 +:105C900059A0D00D8068D1C0040200EF4979400EB0 +:105CA00040A0D0000201F8000010FA110201F80033 +:105CB0000010F75858A0D0048068D1C004000053E9 +:105CC00058A0E00E807170400400007C59C8D001DB +:105CD0008068D1C00402007059A0D00242000000C8 +:105CE000FEEDBEEF80697480040000D84A014003D5 +:105CF0001000000040A0D0000401FC564A034002FE +:105D0000FEEDBEEF40A0D0000201F8000010FA79CD +:105D100059A0D408826974800000DDDD04000028E9 +:105D200040A0D0000401FCA759A0D4088269748067 +:105D30000000DDDD040000220201F8000010F79FE2 +:105D400059C4D0058C68D534040200CF0201F80094 +:105D500000102AD880C589C0040200CE59A0D00DF9 +:105D60008068D1C00400001659A2600059A0D40D6B +:105D70008068D1C0040000045930D00E8068D1C0C2 +:105D8000040207C759A2600159A0D20D8068D1C092 +:105D9000040000045930D00E8068D1C0040207C04E +:105DA00058A0D0028068D1C0040207BD58A0D0011D +:105DB0008068D1C0040207BA0401FCD858A0E00EE4 +:105DC00058A0D0008068D040486940004200D80008 +:105DD00000030D40807170400402004240A0D000DA +:105DE0000401FCE580C589C00402005158A0D00020 +:105DF0008068D1C0040200470401F04D59C8D001A9 +:105E00008068D1C0040207AF40A0D0000201F800B2 +:105E10000010FA7959A0D408826974800000DDDD91 +:105E2000040007A80201F80000102AD880C589C024 +:105E3000040007F30201F8000010FAD04A01400DF7 +:105E40000000AAAA4A01400E000000010401F79DCB +:105E500059C4D0018468D518486B88010401F77FC4 +:105E60004200D000000000C04080D8000401FE685D +:105E70000401FE7980C589C0040207474088D0002C +:105E8000408CD8004090E0000201F8000010032B85 +:105E90000401F74140A0D0000201F8000010FADE32 +:105EA00080C589C00400078D4A01400E0000000132 +:105EB0004200E0000000000158A0D0008068D040FF +:105EC000486940004200D80000030D4080717040D6 +:105ED000040200040401F7C2806CD84004000004EE +:105EE00059C0D0078C68D504040007FC59C0D007FE +:105EF0008C68D5040402005F59C0D0078268D500C1 +:105F0000000501C0040000584A01400D0000DDDD1D +:105F100040A0D0000401FC9880C589C004020004A0 +:105F200058A0D0008068D1C00402074C0201F800DC +:105F3000001072390201F8000010F7A54201D000EC +:105F4000000186A04897888048938808488F88A3D6 +:105F50004887500F488B9040420380000000770034 +:105F60004A038009F4F600004A0388910000FFFF0D +:105F70004A03900D000000400201F800001006A244 +:105F80004A0370E80000000159A8D06D8068D1C0B4 +:105F90000402004859A0D4078268D500000000031D +:105FA0008269748000000002040000134200D000E7 +:105FB000000000C04200D800FFFFFFFC0401FE0209 +:105FC0004178D0004200D800FFFFFFF70401FDFE3A +:105FD0004178D0004200D800FFFFFFFB0401FDFA2A +:105FE0000201F8000010516A40C5000080C589C058 +:105FF0000400003459A0D408826974800000DDDDFB +:106000000400000F58A0D80B806CD9C00402000710 +:1060100058A0D00C8068D1C00402000458A0D00D54 +:106020008068D1C00400003D486F440758A0D00CE0 +:10603000486B420858A0D00D486B44080201F80094 +:10604000001023450401F0374A014003100000040A +:106050000401F72940A0D0000201F8000010FA1155 +:106060000401F70F0201F8000010FAD00401F7A7AD +:1060700040A0D0000401FC4080C589C0040007A5F1 +:106080000401F7AB4A01400D0000BBBB0401F787D8 +:106090004A01400D0000CCCC58A0D000486B421003 +:1060A00058A0D0008068D120486B44100401F77FCD +:1060B00059A8D06E0201F80000101B6B0401F7B65E +:1060C0004A0388A70000F7F74200D000BEFFFFFF99 +:1060D0004200D800800180000201F800001042CA8E +:1060E0004200D000FFFEFFFF4080D8000201F80010 +:1060F000001042CA0401F7C04A034407000000161A +:106100000201F800001023350401F00640A0D00081 +:106110000401FC190401F7860201F800001022F2C4 +:10612000589D2805589D2004589D1803589D10021D +:10613000589D0801589D0000829D3C0000000015FC +:10614000589D4000809D38001C01F000829D3C80DD +:1061500000000002488138004885380159A8D0065F +:1061600082690D00000040004178D8008C68D51C81 +:10617000040200204937C857420100000000000116 +:106180000201F80000107F4040C6600080C589C051 +:10619000040200034080D8000401F0164925881C41 +:1061A0004935880A48818C07408678000201F8004A +:1061B0000010463459A8D0168068D000486B50169D +:1061C000599CD019408670008C68D50E04020003DB +:1061D00042027000000000040201F80000107F710C +:1061E000599CD208486A6C12417900004080D8005E +:1061F000406D8800589D0801589D0000829D3C001C +:10620000000000021C01F0004937C8575934D20081 +:106210008468D502486A6A001C01F000829D3C80B7 +:106220000000000448813800488538014889380258 +:10623000488D38034135080041451000412D1800B4 +:106240004943C857493FC8570201F80000106E7A09 +:1062500040C5000059A8D078826974800000000011 +:1062600083F175000C0000000400000482B9758001 +:106270000C000000040200640201F800001105B0E7 +:106280000201F800001105A00201F80000110653F8 +:106290000201F800001107B6808101C0040000036C +:1062A0000201F80000106E6E417A88000401F007C8 +:1062B0008146880083457480000007EF83F17500F4 +:1062C000030000000400002C0201F8000010473613 +:1062D00040C6680080C589C0040007F68D3E7D0673 +:1062E0000400000458C4D2008C68D50E040207F1E3 +:1062F0000201F80000104963497A6C0B8D3E7D184D +:10630000040000385935000F0401F0074941020725 +:106310004082580058810000492FC8570201F800F8 +:10632000000203F1808101C0040207F9497A680F75 +:10633000497A68104937C8574A026C0000000707BD +:10634000497A6A03497A6811599CD401486A6A0BF0 +:106350005934D4028268D500000000FF486A6C02FC +:106360008146880083457480000007EF040007D74A +:10637000040017D68D3E7D0204000028497B50188A +:1063800042028800000007F00201F80000104736C2 +:1063900040C6680080C589C00400000C48C7C857C3 +:1063A0004A018C000000070758C4D00C8068D1C097 +:1063B0000402000658C4D00F8068D1C00402000354 +:1063C0000201F80000104303814688008345748071 +:1063D000000007FF040007ED040017EC0401F00FB4 +:1063E0004937C8578D0E1D20040000044A026C0076 +:1063F000000007070401F7AF0201F8000010430393 +:106400000401F7AC8C68D5060400079C0201F80073 +:106410000010B93E0401F79940866800408A880060 +:10642000408E5800589D1803589D1002589D080131 +:10643000589D0000829D3C00000000041C01F000FB +:10644000829D3C8000000006488138004885380164 +:1064500048893802488D38034891380448953805F2 +:10646000413528004141200041451800412D1000D0 +:106470004933C857493FC8574927C8570201F80050 +:1064800000106E7A40C508005932680A813669C02A +:10649000040000305934D403406A8800420280006E +:1064A000000000290201F8000011045D0201F8005B +:1064B000001105410201F800001105DA0201F8009F +:1064C00000110A104937C8578D3E7D0604000004AC +:1064D0005934D2008C68D50E0402001E0201F80067 +:1064E00000104963497A6C0B8D3E7D180400001E34 +:1064F0005935000F808101C00400000B494102079B +:106500004082580058810000492FC8570201F80006 +:10651000000203F1808101C0040207F94882680F7C +:10652000488268104937C8574A026C0000000707C4 +:10653000497A6A03497A6811599CD401486A6A0BFE +:106540005934D4028268D500000000FF486A6C020A +:10655000808509C00400000C0201F80000106E6E76 +:106560000401F0098D0E1D20040000044A026C0095 +:10657000000007070401F7F70201F80000104303C9 +:106580000401F7F4408A5800408E88004092800051 +:1065900040966800589D2805589D2004589D180372 +:1065A000589D1002589D0801589D0000829D3C0096 +:1065B000000000061C01F000809D38404881380032 +:1065C0004937C85742010000000000010201F800ED +:1065D00000107F4040C6600080C589C00400001ED6 +:1065E0004925881C4935880A5934D4038269748046 +:1065F000000007FE04000003417A78000401FF91C7 +:1066000048826407417A78000201F800001046349D +:106610004200D000000000030201F8000010463ED6 +:10662000836D7480000000030400000459A8D01694 +:106630008068D000486B50164202700000000002D3 +:106640000201F80000107F71599CD208486A6C1250 +:106650004179000040818800589D0000809D3800ED +:106660001C01F000829D3C8000000003488138003E +:10667000488538014889380240690800406D10009B +:1066800041BD00000201F80000106E555880D03165 +:106690004130000080697480040000185880D030B8 +:1066A00041300000806974800400001F5930D80018 +:1066B000806CD9C0040200085931700148B910013A +:1066C0005930D0018068D1C004020025488A680C86 +:1066D0000401F0385930D801806CD9C00400002280 +:1066E0005931700048B8D800486D0800497A6001F7 +:1066F000497A60000401F02F5930D801806CD9C06C +:10670000040000105930D0008068D1C00402002578 +:10671000486D00305931700148B90031497A600143 +:106720000401F0245930D0018068D1C00402001364 +:106730004885003048690800486A680C0401F01D6B +:106740005930D0008068D1C004020012486D003179 +:10675000486D0030497A680C0401F016486E6001FB +:106760000401F0145931700048B90800486E680CF3 +:10677000497A60000401F00F5931700148B90030C6 +:106780005931700148B90800497A60010401F009E3 +:106790005931700048B90031486E60000401F7EECD +:1067A0005931700048B8D800497A60000401F7DA1E +:1067B000589D1002589D0801589D0000829D3C0084 +:1067C000000000031C01F000809D384048A1380003 +:1067D000829D3C8000000004409D4000829D3C80E2 +:1067E0000000000548813800488538014889380292 +:1067F000488D3803489138044179080040850000ED +:106800004933C8570201F80000106E7A40C52000D5 +:1068100041351800411910004991400349D1400009 +:1068200049A54001491540025932680A59BCE03176 +:106830004070D8008070E1C0040200080401F01E1E +:10684000406CE000586CD800806CD9C00400001A7D +:10685000808509C00402001841300000806D7480FA +:1068600004000011586CD00A413400008069748023 +:10687000040207F4406D0000586CD801806CD9C048 +:10688000040007F2413000000401F005406D0000F3 +:10689000586CD801806CD9C0040007EC806D7480FE +:1068A000040207FB4201080000000001806CD9C00F +:1068B000040207E88085704004000029417A300016 +:1068C0000201F800001075365990D00441300000E4 +:1068D000806974800400000F811A3000831974806D +:1068E00000000004040007F7040017F6408A300097 +:1068F000408E680058A3200358A3A00058A3480165 +:1069000058A2280280917040040200190401F0117D +:1069100042010800000000010201F800001070B3FD +:106920000201F80000106E4C0201F80000106E55D4 +:10693000408A3000408E680058A3200358A3A0006E +:1069400058A3480158A22802809170400402000810 +:106950000201F80000106E6E0401F0054070D000D6 +:106960004080D8000401FF400401F7E14085880021 +:10697000589D2004589D1803589D1002589D0801E9 +:10698000589D0000829D3C0000000009589D400079 +:10699000809D38001C01F000829D3C8000000002B8 +:1069A00048813800488538014069000059310800A5 +:1069B000497A60000201F80000106E55808101C024 +:1069C0000400000848850000598CD00A41300000BE +:1069D000806974800402000B4883180A0401F009DE +:1069E000598CD00A41300000806974800400000393 +:1069F0004887180B0401F0034883180A4883180BD2 +:106A00000201F80000106E67589D0801589D0000B3 +:106A1000829D3C00000000021C01F000829D3C8031 +:106A2000000000024881380048853801598D000B6C +:106A3000417908004933C857813261C00402000718 +:106A40000401F00A41300000808174800400000ECF +:106A50004081080058810000808101C0040207FACB +:106A60004178D0000401F0154200D000000005ADCF +:106A70004080D8004084E0000201F8000010032BA1 +:106A80000401F7F64084D0000401FFC4598CD00FF4 +:106A9000413000008069748004000005497A600874 +:106AA0004200D000000000010401F0040201F800DF +:106AB0000010750E0401F7FA40698800589D08011E +:106AC000589D0000829D3C00000000021C01F00067 +:106AD000829D3C80000000024881380048853801D2 +:106AE0004069000059310800497A60000201F8004D +:106AF00000106E55808101C0040000084885000028 +:106B0000598CD00841300000806974800402000B69 +:106B1000488318080401F009598CD008413000005E +:106B20008069748004000003488718090401F00399 +:106B300048831808488318090201F80000106E679E +:106B4000589D0801589D0000829D3C0000000002F5 +:106B50001C01F000829D3C8000000002488138004A +:106B600048853801598D0009417908004933C857D3 +:106B7000813261C0040200070401F01741300000B7 +:106B80008081748004000007408108005881000063 +:106B9000808101C0040207FA4178D0000401F01A94 +:106BA0004084D0000401FFCB598CD00F413000004D +:106BB00080697480040000115930D40382697480A4 +:106BC000000000420400000B4200D0000000000161 +:106BD0000401F00D4200D000000005644080D800A0 +:106BE0004084E0000201F8000010032B0401F7E9E3 +:106BF000497A60080401F7F50201F8000010750EEB +:106C00000401F7EE40698800589D0801589D000076 +:106C1000829D3C00000000021C01F000829D3C802F +:106C200000000002488138004885380140690000B2 +:106C300059310800497A60000201F80000106E55D1 +:106C4000808101C00400000848850000598CD004F0 +:106C500041300000806974800402000B48831804EE +:106C60000401F009598CD00441300000806974801F +:106C700004000003488718050401F0034883180442 +:106C8000488318050201F80000106E67589D08013E +:106C9000589D0000829D3C00000000021C01F00095 +:106CA000829D3C8000000002488138004885380100 +:106CB000598D0005408108004933C857813261C0B1 +:106CC000040200070401F02241300000808174803A +:106CD000040000074081080058810000808101C045 +:106CE000040207FA4178D0000401F02B598CD00F30 +:106CF00080697480040000250201F80000106E55C0 +:106D0000598CD00540800000806974800400001711 +:106D1000598CD00480697480040000095881700087 +:106D200048B90800497900000201F80000106E67B8 +:106D30004200D000000000010401F0174887180449 +:106D400049790000497908000401F7F84200D000B1 +:106D5000000005F04080D8004080E0000201F8000B +:106D60000010032B0401F7DE5881700048BB1805A2 +:106D700049790000598CD00480697480040207EBC3 +:106D8000497B18040401F7E90201F8000010750EB0 +:106D90000401F7DA40698800589D0801589D0000F9 +:106DA000829D3C00000000021C01F000829D3C809E +:106DB0000000000248813800488538014179000010 +:106DC0000201F80000106E7A40C508000401FF625D +:106DD00080C57040040000070401FF1180C57040A9 +:106DE000040000040401FFAF80C5704004020002EB +:106DF00040C5000080857040040200030201F800D5 +:106E000000106E6E40818800589D0801589D00005A +:106E1000829D3C00000000021C01F000829D3C802D +:106E20000000000248813800488538015C00D0002D +:106E30004C680000486BC85741350000412D0800E0 +:106E40005932680A593258094933C8574943C85713 +:106E5000493FC8575930D407486BC8575930DC07E9 +:106E6000806C00404000D0008269748000000012F5 +:106E700083F1750003000000040000150C01F0010F +:106E80000011034F0011032B001103350011034FB4 +:106E90000011035A001103670011031E0011031EA5 +:106EA00000110371001103780011031E0011031E6D +:106EB0000011031E0011031E0011031E00110381A7 +:106EC0000011038100110324001103244200D000AB +:106ED00000000A844130E0000201F8000010032B9A +:106EE0000401F0A30201F800001098FD80C589C0DC +:106EF000040200790201F80000107EFF0401F09CFA +:106F00000201F800001098FD80C589C004020068E5 +:106F10000201F80000107EFF8D3E7D1C04000094ED +:106F2000497A600A0401F0925930D0088C68D50083 +:106F3000040200550201F800001098FD80C589C0C8 +:106F4000040007F4592CD2058268D500000000FF28 +:106F50008269748000000014040000030201F8003C +:106F600000109A194A025A050000010349425A07C3 +:106F7000497A580A0201F80000109AC10201F8008B +:106F80000010B5440201F800000203F10401F7E12A +:106F90000201F8000010B8CA0201F800001106C191 +:106FA00080C589C0040200350201F80000109C5E13 +:106FB0000201F800001086FC0401F7D64200000030 +:106FC00000111600813174800400004A0201F800AB +:106FD000001098FD80C589C0040007CE4200D00093 +:106FE000000009CD412CD8004130E0000401F7BB7E +:106FF0005930D0088C68D5000402002A0201F8003C +:10700000001098FD80C589C0040007C20201F80085 +:107010000010B2090401F7BF0201F800001098FD4A +:1070200080C589C0040007BB0201F80000106C8510 +:107030000401F7B80201F800001098FD80C589C06E +:10704000040007B449425A07497A5C0A0201F80071 +:10705000000203F10401F7AF0201F800001098FDEF +:1070600080C589C00402000B593258180201F8008B +:107070000010059F0401F7A70201F80000101CD9B9 +:107080000401F7CA0201F80000100C810401F7AAFC +:1070900049425A070201F800000203F10401F7F324 +:1070A0000201F80000100C810401F7D549425A078B +:1070B0000201F800000203F15930D226826974807F +:1070C00000000003040207930201F80000109A195F +:1070D0000401F79049425A07497A5C070201F80017 +:1070E000000203F10201F80000107EFF0401F0200D +:1070F0000201F800001098FD80C589C00400001648 +:1071000059A8E052412C00008071748004000005F1 +:107110004200D000000009E6412CD8000401F76FBE +:10712000592D700048BB5052592CD0008068D1C0F6 +:1071300004020002486B5053592CD20582697480B6 +:10714000000000550400000749425A070201F800F8 +:10715000000203F1497A6203497A60090401F004EC +:107160000201F800001005960401F7FB4082680058 +:1071700040865800589D0801589D0000829D3C00A3 +:10718000000000021C01F000809D3840488138005A +:107190005930DC07406C0000826D748000000013E1 +:1071A00083F1750003000000040000160C01F001DB +:1071B0000011042D00110404001104140011042016 +:1071C000001103F3001103F60011043E0011042D19 +:1071D0000011042D0011042D0011042D001103EBEA +:1071E000001103EB0011042D001103EB0011042D1D +:1071F0000011042D0011043100110449001104494B +:107200004200D00000000B774130E0000201F8009E +:107210000010032B4200D800000000010401F067B9 +:107220004178D8008D3E7D1A04020064833CE5005D +:10723000000000014178D8008D3E7D000402005F0F +:107240008D3E7D18040000038D3E7D16040007F27C +:107250005930D4294070D8008C68D50004020057FA +:107260000401F7ED8D3E7D1A040200198D3E7D006C +:1072700004020017833D0500000010008D3E7D18BC +:10728000040207E58D3E7D06040007E30201F800D5 +:1072900000109C084080D80080C589C004020047C7 +:1072A0000401F7DD8D3E7D00040007DB5930D22656 +:1072B0008269748000000003040200050201F800E6 +:1072C00000106DA480C589C0040207D34178D8009E +:1072D0000401F03A8D3E7D00040200335930D00A9B +:1072E000833CDD00000010008D3E7D18040207CABB +:1072F0008D3E7D06040007C85868D2008C68D50E04 +:107300000402002E0401F7C44178D8008D3E7D00B0 +:107310000402002A0401F7C0833CD50000000001EC +:107320004178D8008D3E7D00040200248D3E7D18FA +:10733000040000054200D800000000018D3E7D16CB +:107340000400001E4068D8000401F01C4178D800F9 +:107350008D3E7D0004020019833CD5000000100022 +:107360004200D800000000018D3E7D180402001389 +:107370004068D8000401F01159A8D0795868D400A9 +:107380008268D580000007078068D0808068D000C0 +:107390008068013E4200D000000000018068DC806F +:1073A0000401F0060201F80000106DA440C4D800EA +:1073B00080C589C0040207CA406D8800589D00003E +:1073C000809D38001C01F000829D3C80000000067A +:1073D000488138004885380148893802488D38038B +:1073E00048913804489538054933C8570201F800D8 +:1073F00000106E7A40C52800413520004131100050 +:10740000412D180041790800598E60050401F003F0 +:107410004131080059326000813261C0040000220D +:107420005932680A813669C0040007FA5934D40316 +:107430004144000080697480040207F65930D01C72 +:10744000412400008069748004000003812649C043 +:10745000040207F00401FF4D80C589C0040007ED58 +:1074600042010000000000010201F800001098FD38 +:1074700080C589C004020015808101C0040007E5B1 +:107480000201F80000106D6B593100004084D000FB +:107490000401FDE30401FE6240826000813261C0AC +:1074A000040207E0408A6000408E58004092680065 +:1074B00080957040040000020401F00E0201F80003 +:1074C00000106E6E0401F00B0201F80000109FB670 +:1074D00080C589C0040007E95930D40382697480EB +:1074E00000000043040207E5417900000401F7E3CE +:1074F000589D2805589D2004589D1803589D10023A +:10750000589D0801589D0000829D3C000000000627 +:107510001C01F000829D3C8000000006488138007C +:107520004885380148893802488D38034891380425 +:1075300048953805412D180041312000413528007B +:10754000417908000201F80000106E7A40C5100071 +:1075500083457480000007EF040000080400100752 +:10756000408E5800409260004096680080897040CC +:10757000040000200401F0310201F8000010473639 +:1075800040C6680080C589C004000025598E600B84 +:107590000401F0034131080059326000813261C0BA +:1075A000040000175930D01C412400008069748009 +:1075B000040207F95930D00A413400008069748010 +:1075C000040207F50401FEF180C589C0040007F23A +:1075D0000201F80000106D6B593100004084D000AA +:1075E0000401FCEE0401FE0E408260000401F7EC91 +:1075F0000201F80000106E6E0401F0108D3E7D0651 +:10760000040000045934D2008C68D50E040207D55A +:107610000201F800001048C20401F7D24200D00075 +:107620000000071740C4D8004144E0000201F80000 +:107630000010032B0401F7D6589D2805589D2004FF +:10764000589D1803589D1002589D0801589D000030 +:10765000829D3C00000000061C01F000829D3C80E1 +:107660000000000648813800488538014889380202 +:10767000488D380348913804489538054131180041 +:1076800041352000412D2800417908000201F80011 +:1076900000106E7A40C51000598E60090401F00395 +:1076A0004131080059326000813261C00400001687 +:1076B0005932680A5930D01C412400008069748016 +:1076C000040207F85934D4034144000080697480EF +:1076D000040207F40401FEAD80C589C0040007F16F +:1076E000593100000201F80000106D6B4084D00099 +:1076F0000401FCF80401FDCA40826000813261C0CF +:10770000040207EC0201F80000107DF70201F80006 +:1077100000107E6D408E60004092680040965800D8 +:1077200080897040040000020401F0030201F800A7 +:1077300000106E6E589D2805589D2004589D180312 +:10774000589D1002589D0801589D0000829D3C00E4 +:10775000000000061C01F000829D3C800000000239 +:1077600048813800488538014947C8570201F80068 +:1077700000106E7A40C50800413D0000853E7D0046 +:107780000401FFB70401FF644082780080857040E7 +:10779000040000020401F0030201F80000106E6E04 +:1077A000589D0801589D0000829D3C000000000289 +:1077B0001C01F000829D3C800000000348813800DD +:1077C0004885380148893802413110004179080064 +:1077D000598E600B813261C0040000110401FE6B00 +:1077E00080C589C00402000641310800593260009A +:1077F000813261C0040207FA0401F0090201F800B5 +:1078000000106D6B593100004084D0000401FC630E +:107810000401FD83408260000401F7EF0201F800DB +:107820000010489F408A6000589D1002589D080132 +:10783000589D0000829D3C00000000031C01F000E8 +:10784000829D3C8000000003488138004885380153 +:10785000488938024131100041790800598E600989 +:10786000813261C0040000110401FE4880C589C056 +:10787000040200064131080059326000813261C0C3 +:10788000040207FA0401F009593100000201F8006E +:1078900000106D6B4084D0000401FC8E0401FD607B +:1078A000408260000401F7EF0201F80000107E4DF5 +:1078B0000201F80000107E6D408A6000589D1002A1 +:1078C000589D0801589D0000829D3C000000000367 +:1078D0001C01F000809D3840488138004943C8575A +:1078E0000201F80000106E7A40C500000401FFD5C7 +:1078F0000401FFB180817040040000020401F00324 +:107900000201F80000106E6E589D0000809D380046 +:107910001C01F000829D3C8000000004488138007A +:107920004885380148893802488D38030201F8003B +:1079300000106E7A40C518004131100041790800EE +:10794000598E6005813261C0040000080401FE0FF9 +:1079500080C589C004020009413108005932600025 +:10796000813261C0040207FA408A6000808D704055 +:107970000400000A0401F00B0201F80000106D6B16 +:10798000593100004084D0000401FCA50401FD240D +:10799000408260000401F7EC0201F80000106E6EF6 +:1079A000589D1803589D1002589D0801589D0000CD +:1079B000829D3C00000000041C01F000809D3840C6 +:1079C00048A13800829D3C8000000005409D400099 +:1079D000829D3C80000000074881380048853801BE +:1079E00048893802488D380348913804489538054D +:1079F000489938064178D000486940040201F800EF +:107A000000106E7A40C53000413110004135200031 +:107A100041192800412D18004991400349D14000E7 +:107A200049A540014915400259BE6031813261C00B +:107A300004000014413108000401F007808101C0F6 +:107A4000040000034131080040826000808101C0D1 +:107A50000400000C593100005932680A5930D01C1A +:107A60004124000080697480040207F55934D4036E +:107A70004144000080697480040207F10401F03180 +:107A8000417A30000401F007811A300083197480B4 +:107A90000000000483F17500030000000400001AD8 +:107AA0000201F8000010753659926004813261C0FD +:107AB000040007F65932680A5930D01C41240000EE +:107AC00080697480040207F15934D40341440000F2 +:107AD00080697480040207ED0401FDAC80C589C093 +:107AE000040007EA0201F800001070B30201F80078 +:107AF00000106E4C0201F80000106E550401FCC825 +:107B00000401F7E2408A600040926800409630002D +:107B1000408E580058A3200358A3A00058A3480142 +:107B200058A2280280997040040000100401F0114E +:107B30004931400440826000808101C0040007D1C7 +:107B4000593100010401FD9180C589C0040007F985 +:107B50004084D00058A0D8040201F80000110104AC +:107B60000401FCAF0401F7F40201F80000106E6E8E +:107B7000589D3006589D2805589D2004589D18038F +:107B8000589D1002589D0801589D0000829D3C00A0 +:107B90000000000C589D4000809D38001C01F00042 +:107BA000809D384048A13800829D3C80000000073D +:107BB000409D4000829D3C800000000748813800C5 +:107BC0004885380148893802488D3803489138047F +:107BD0004895380548993806417918000201F8009F +:107BE00000106E7A40C5280041313000493540050B +:107BF000492D4004491940064991400349D14000AC +:107C000049A540014915400259BE6031813261C029 +:107C10000400002341312000408D0800593110003C +:107C20005932680A0401F00941311800808509C001 +:107C300004000010808101C0040000024082600046 +:107C4000808101C00400000D593100010401FD4F85 +:107C500080C589C0040007F54090D000408CD80052 +:107C60000201F800001101040401FC6D0401F7F2A7 +:107C7000413108000401F7F0808911C004000006BA +:107C8000408A6000808509C0040000034085200010 +:107C900040810800808911C0040207E1417A300068 +:107CA0000201F8000010753659926004813261C0FB +:107CB000040000040401FD3580C589C004020011E0 +:107CC000811A30008319748000000004040007F555 +:107CD000040017F4409A600058A2680558A258049E +:107CE00058A2300658A3200358A3A00058A3480167 +:107CF00058A22802809570400400000A0401F00B8D +:107D00000201F800001070B30201F80000106E4C80 +:107D10000201F80000106E550401FC410401F7E96E +:107D20000201F80000106E6E589D3006589D28051F +:107D3000589D2004589D1803589D1002589D080115 +:107D4000589D0000829D3C000000000E589D4000A0 +:107D5000809D38001C01F0004178E000497BC85646 +:107D60005930DC03826CD480000000028269748088 +:107D7000000000020400000704001006599CD019FE +:107D80008C68D50E04000005806CD9C00402000385 +:107D90004200E00000000001407188001C01F0007A +:107DA000829D3C80000000044881380048853801ED +:107DB00048893802488D3803412D080041351000AC +:107DC000413918000201F800001103CD80C589C0B7 +:107DD000040000CD5932680A5930D40740680000C9 +:107DE000826974800000001383F1750003000000B5 +:107DF000040000280C01F001001107AC0011075924 +:107E0000001107690011071E0011075900110769C9 +:107E100000110741001107520011071600110779E0 +:107E200000110700001107160011071600110716B0 +:107E300000110716001107AC00110700001106FD24 +:107E40000011071600110716593258180201F800E0 +:107E50000010059F5930D20382697480000000042D +:107E600004000090593258090201F800001098FDF2 +:107E700080C589C0040200830201F80000107EFF63 +:107E80008D3E7D1C040000A0497A600A0401F09E2A +:107E90004200D000000003164000D8004130E0004E +:107EA0000201F8000010032B0401F0975932580921 +:107EB0000201F800001098FD80C589C00402006A24 +:107EC0000201F80000107EFF0401F08F813669C0C6 +:107ED000040000770201F8000010A4965930D20384 +:107EE000826974800000000404000081593258093E +:107EF0000201F800001098FD80C589C0040007DF6A +:107F0000592CD2058268D500000000FF8269748078 +:107F100000000014040000030201F80000109A1988 +:107F20004A025A05000001035930D402486A5C072E +:107F3000592CD4098C68D5120402006749425A07AB +:107F4000497A580A0201F80000109FC20201F800A5 +:107F5000000203F10401F7C95930D2038269748029 +:107F60000000000404000065593258090201F800BD +:107F7000001098FD80C589C0040007C049425A0717 +:107F8000813669C0040007F00201F8000010B54412 +:107F90000201F80000109FC20401F7ED5930D2032E +:107FA0008269748000000011040200575930D42601 +:107FB000486A62030401F0545930D4038269748022 +:107FC00000000043040000500201F8000010B8CA8D +:107FD0000401FF6280C589C00402003C0201F80070 +:107FE00000109A4080C589C0040007A40201F8006F +:107FF000001086FC0401F7A1593258090201F8006B +:10800000001098FD80C589C00400079C49425A07AA +:10801000497A5C0A0201F800000203F15930D226C5 +:108020008269748000000003040207940201F800D2 +:1080300000109A190401F7915930D20382697480B3 +:1080400000000004040200135930D0068068D1C03B +:108050000400002D5930D4158468D558486A641539 +:108060000401F02949425A07497A5C070201F800E5 +:10807000000203F10201F80000107EFF0401F0226B +:1080800049425A070201F800000203F10401F77B9C +:10809000593258090201F80000106C720401F77798 +:1080A0000201F80000100C810401F76F4200D000BB +:1080B000000001844134D8004130E0000201F800A2 +:1080C0000010032B0401F7840201F80000101CD9F2 +:1080D0000401F7C3412D0000592E580A0201F8008F +:1080E0000010059F408258000401F7950201F80036 +:1080F00000100C810401F77E0201F80000100C81D1 +:108100000401F79A40865800408A6800408E70004B +:10811000589D1803589D1002589D0801589D000055 +:10812000829D3C00000000041C01F000829D3C8008 +:1081300000000002488138004885380141310800BC +:108140004933C8574943C857493FC85742010000FF +:108150000011168459A8D00D416400008069748014 +:108160000400001041580000808174800402100D4A +:10817000408260008D3E7D120400000440800000BB +:1081800080857480040000020401FF0682810400DF +:108190000000002C4158000080817480040017F515 +:1081A0004151000041540000808174800402101984 +:1081B0008D3E7D180400001759A8D04D59A8004ED7 +:1081C0008069748004000013408260005880D00AE7 +:1081D0008068D1C0040200055880D203826974808F +:1081E00000000008040000080401FEEE8281040083 +:1081F0000000002C4154000080817480040017EDC1 +:108200000401F0040201F8000010B8110401F7F7AE +:1082100040866000589D0801589D0000829D3C00EA +:10822000000000021C01F000497A6226812E59C02C +:108230000400003D592CD205486BC857592CD20573 +:108240008268D500000000FF82697480000000147D +:10825000040000034A02622600000003592CD409DE +:108260008C68D5100402001D592CD2090201F800B7 +:1082700000104E740201F80000109FC20201F800C5 +:108280000010C16580C589C00400001F4A02640354 +:10829000000000854A026203000000094A026407E8 +:1082A000000000025930D0048268D50000000100AF +:1082B0008268D5408000404B486A60040201F800A3 +:1082C00000106E6E4200D0008000404B0201F800AA +:1082D00000106D580401F01F592CD2090201F8005A +:1082E00000104E744A025C09000001000201F8000F +:1082F00000109FC20201F8000010C16580C589C04E +:10830000040207E30201F800000203F15930D2260B +:1083100082697480000000030400000A497A600941 +:108320000401F7DB4200D000000005464130D800D0 +:10833000412CE0000201F8000010032B0401F005BD +:108340000201F80000109A19497A60090401F7D077 +:108350001C01F0000201F80000106E6E812E59C061 +:108360000400001B592CD4098C68D510040200129B +:10837000592CD2090201F80000104E740201F800D5 +:1083800000109FC20201F800000203F15930D2032D +:10839000826974800000000D0400000D0201F800E5 +:1083A00000106E6E5930D00A0201F80000104A1019 +:1083B0000401F007592CD2090201F80000104E7494 +:1083C0004A025C09000001000401F7ED0201F80017 +:1083D00000107EFF1C01F000829D3C800000000226 +:1083E0004881380048853801417900000201F800D1 +:1083F000001095C440C5080048C7C8574084000015 +:10840000828574800000000D83F175000300000078 +:108410000400002B0C01F00100110892001108D893 +:10842000001108A80011087F001108AA0011089A7D +:108430000011089200110892001108920011089A88 +:108440000011089A0011089A0011089A001108A852 +:108450000201F800001095AE80C589C00400000537 +:108460000201F8000010716380C589C00400006338 +:108470000201F8000011015D80C589C004000017E9 +:108480005930D403486BC8575930D403826974807B +:1084900000000040040200180401FFAF4201000088 +:1084A000000000010401F0734084000082857480A4 +:1084B0000000000D040007D8040017D74200D000C8 +:1084C000000004BE4130D8004084E0000201F80002 +:1084D0000010032B0401F067497BC8560201F80025 +:1084E00000106D8580C589C00402004459317004B4 +:1084F00048BBC8570401FF4D0401F7E9812E59C05C +:10850000040000500201F80000109D5180C589C090 +:108510000400003E0201F80000106E6E592CD209D2 +:108520008468D50C486A5A09592CDC07806CD0C67F +:10853000406C00008068D4008068D400486A6006FF +:108540004200D000100000004130D8000201F800C5 +:10855000001008C980C589C00400000C592CD2093C +:108560008C68D51C0400003259C8D0018068D1C085 +:108570000402003B4200D000400000004130D8001F +:108580000201F800001008C95930D20382697480D2 +:1085900000000004040207C24139000042027000DA +:1085A000000000480201F80000107F714082700056 +:1085B0000401F7BB598D700F48BBC85740B8D000B5 +:1085C0004130000080697480040000140201F8004A +:1085D000001102D680C589C0040207B0497BC85685 +:1085E0000201F80000106D854200D000000003FC7D +:1085F00080C589C0040007B45930D203486BC857FE +:1086000059310A030401F01B0201F80000100C812B +:108610000401FF060401F7A20201F8000010719A9C +:1086200080C589C0040007F50401F7E98468D55CBA +:10863000486A5A094A026006000000020401F798DD +:108640004200D000000004AE4130D800412CE000D0 +:108650000201F8000010032B0401F0064131000074 +:108660000201F80000101291408260000401F7C777 +:10867000808101C00400078D589D0801589D0000AD +:10868000829D3C00000000021C01F000829D3C80A5 +:10869000000000024881380048853801412D08005B +:1086A000414100004200D0000010D0320201F80029 +:1086B0000010C057417A58000201F800001098FDE0 +:1086C00080C589C0040000090201F8000010A496CA +:1086D00059325809592CD2098468D54C486A5A092C +:1086E00042028000000000060201F80000106E7ACD +:1086F0000401FF3A0201F80000106E6E4082800013 +:1087000040865800589D0801589D0000829D3C00FD +:10871000000000021C01F000829D3C80000000026D +:108720004881380048853801412D08000201F800D1 +:10873000001103CD80C589C0040000C35930D4079F +:1087400040680000826974800000001383F17500A6 +:1087500003000000040000250C01F001001109FCD9 +:10876000001109A0001109B60011097D001109A02E +:10877000001109B6001109C6001109AF001109DB8B +:10878000001109560011096C001109DB001109DB09 +:10879000001109DB001109DB001109FC001109724D +:1087A000001109D7001109DB001109DB0201F800F3 +:1087B000001068DA80C589C0040000905930D203E7 +:1087C00082697480000000040402009F5930D006C2 +:1087D0008068D1C00400009C5930D4158468D558F5 +:1087E000486A64150401F0984200D0000000032E8E +:1087F0004000D8004130E0000201F8000010032BD7 +:108800000401F0915930D2038269748000000004A1 +:10881000040200030201F80000100C8159325809CB +:108820000201F800001098FD80C589C00402006FA5 +:108830000201F80000107EFF8D3E7D1C04000082C6 +:10884000497A600A0401F0800201F8000010A49641 +:108850005930D2038269748000000004040000745F +:10886000593258090201F800001098FD80C589C0EE +:10887000040007F0592CD2058268D500000000FFE3 +:108880008269748000000014040000030201F800F3 +:1088900000109A194A025A0500000103592CD40904 +:1088A0008C68D5120402005C49425A07497A580A7A +:1088B0000201F8000010B5440201F80000109FC248 +:1088C0000201F80000109AC10201F800000203F151 +:1088D0000401F7D85930D403826974800000004342 +:1088E000040000590201F800001106C180C589C0CA +:1088F000040200460201F80000109A4080C589C0B9 +:10890000040007CC0201F800001086FC0401F7C93E +:108910005930D20382697480000000110402004AB9 +:108920005930D426486A62030401F0475932580985 +:108930000201F800001098FD80C589C0040007BD41 +:1089400049425A07497A5C0A0201F800000203F121 +:108950005930D2268269748000000003040207B5F2 +:108960000201F80000109A190401F7B25930D2033D +:1089700082697480000000040400003059325809F4 +:108980000201F800001098FD80C589C0040007A905 +:1089900049425A070201F8000010B5440201F800EC +:1089A00000109FC20201F800000203F10401F7A1C8 +:1089B000593258180201F8000010059F0401F79879 +:1089C000593258090201F800001098FD80C589C08D +:1089D0000400079849425A07497A5C070201F800E7 +:1089E000000203F10401F79349425A070201F8001B +:1089F000000203F10401F78F593258090201F8000F +:108A000000106C720401F78B0201F80000101CD9F1 +:108A10000401F7B9412D0000592E580A0201F8004F +:108A20000010059F408258000401F7A00201F800E1 +:108A300000100C810401F78B0201F80000100C817A +:108A40000401F7CF40865800589D0801589D00004A +:108A5000829D3C00000000021C01F0000201F800B1 +:108A60000010B32C80C589C004000007812649C0CE +:108A7000040000065930D01C412400008069748035 +:108A8000040000020401F0035932680A0401FF23C4 +:108A90001C01F000829D3C800000000548813800E8 +:108AA0004885380148893802488D38034891380490 +:108AB00041311000413520004933C8574947C85754 +:108AC0004943C8570201F80000106E7A40C51800EB +:108AD0000201F8000010B1C441310800813261C0C8 +:108AE0000400004E420000000011162C81317480F9 +:108AF0000400004A59A8D00D8068D040420100000F +:108B00000011168440680000816574800400000F25 +:108B100041580000808174800402100C4082600083 +:108B20004080000080857480040000034084D000F1 +:108B30000401FFCB828104000000002C415800009A +:108B400080817480040017F64151000041540000F8 +:108B500080817480040210128D3E7D180400001084 +:108B600059A8D04D59A8004E806974800400000CAB +:108B7000408260005880D00A8068D1C00400000D97 +:108B80004084D0000401FFB6828104000000002C64 +:108B90004154000080817480040017F0408A600016 +:108BA00040926800808D70400400001E0401F02394 +:108BB0000201F8000010473640C6680080C589C031 +:108BC000040007F258C4D0025930D8278268050043 +:108BD00000FFFFFF806D7480040207EC58C4D013BF +:108BE0005930D8268268050000FFFFFF806D748031 +:108BF000040207E65930D20382697480000000083D +:108C00000400000B4936600A0401FEC4828104009E +:108C10000000002C0401F7DF59A8D00D0401F7B8BB +:108C20000201F80000106E6E0401F0040201F80069 +:108C30000010B8110401F7F4589D2004589D180342 +:108C4000589D1002589D0801589D0000829D3C00CF +:108C5000000000051C01F000809D384048A138004C +:108C6000829D3C8000000002409D4000829D3C802F +:108C700000000007488138004885380148893802DB +:108C8000488D380348913804489538054899380686 +:108C900042010000000000014179300049214000FC +:108CA00049254001497BC856413108004135100033 +:108CB00041451800413D2000405928004200D000A5 +:108CC00000110A810201F8000010654459A8D21B66 +:108CD0008C68D5080400001D8C68D5160402001BA2 +:108CE00059AA6865813669C0040000A45934D400CB +:108CF0008269748000000404040200A00201F800EC +:108D000000107F4040C6600080C589C00400009507 +:108D100048818C074935880A409A78000201F8009A +:108D2000001046344200D000000000050201F800A7 +:108D30000010463E42027000000000030201F800ED +:108D400000107F710401F08D8268DD0000000008D2 +:108D50008C68D50604000072806CD9C00400000243 +:108D6000417900000201F8000010C16F4200D000FC +:108D70000010C1B2586A480042028800000007FE95 +:108D80008058B1C00400001F414400000401F005F8 +:108D900083264C000000000B8058B04004000019EE +:108DA0005924D0098068D4008268D480000007F07C +:108DB000586A6800813669C0040007F65924D20059 +:108DC0008268D500000000038269748000000003FF +:108DD000040207F05934DA008C6CDD1A040007ED48 +:108DE000826CD500FFFFDFFF486A6A00809930007F +:108DF00083264C000000000B8058B040040207E9B5 +:108E0000809931C0040000488D0E1D2004020049E5 +:108E10000201F80000101E588081704004020057C3 +:108E20004200B000000007F0417A88000401F01C05 +:108E3000826CD54000001000486A6A005934D200A4 +:108E40008468D51A486A6A004937C8574A026C00D4 +:108E5000000007070201F80000106E7A40C500000C +:108E6000417A60000201F8000011045D0201F8007F +:108E700000110541417A78000201F800001105DA7D +:108E80000201F80000110A108081704004000032D5 +:108E9000814688008058B040040000380201F80084 +:108EA0000010473680C589C0040007FA5934DA003B +:108EB0008C6CDD1A040007F75934D403406A88002B +:108EC000417A780042028000000000295934D01312 +:108ED0008068D130406A4000406800004200D00005 +:108EE0000010C1B28068D400586A48005924D000EC +:108EF0008068D1208268E500000000208C68D50AD7 +:108F0000040207CC4070D0004070D8000201F80085 +:108F10000010B2275934DA000401F7C68C68D50A6C +:108F20000402078E80817040040200140401F7BD22 +:108F30004200D000000007D04200D80000110A8192 +:108F40000201F800001066710201F80000101E58BE +:108F50000401F7B20201F80000106E6E0401F7CDB3 +:108F60004200D000000000A340C4D8004134E0001B +:108F70000201F8000010032B58A2480158A240003B +:108F800040866000408A6800408E880040927800E9 +:108F90004094B000589D3006589D2805589D2004E7 +:108FA000589D1803589D1002589D0801589D0000B7 +:108FB000829D3C0000000009589D4000809D3800C3 +:108FC0001C01F000497BC8560201F8000010514E08 +:108FD00080C589C00402005459A8D0158C68D504F6 +:108FE0000402000459A8D21B8C68D5060402002B89 +:108FF0008D0E1D200402000459A8D0068C68D51CD3 +:109000000400001C4200B000000007F0417A880014 +:109010000401F004814688008058B0400400001527 +:109020000201F8000010473680C589C0040007FA25 +:109030000201F80000104A8080C589C0040007F6CC +:1090400059A8D00F593400028068D5808268D500B5 +:1090500000FFFF00040207F05934D2008468D55A9B +:10906000486A6A00814688008058B040040207EDD3 +:109070000201F800001049BD80C589C0040000222B +:1090800059A8D0294200D80000110A810201F80035 +:10909000001066710401F04B0201F8000010C16F6E +:1090A0004200D0000010C1B2586A48004202880055 +:1090B000000007FE8058B1C0040007CE5924D00933 +:1090C000414400008068D4008268D480000007F02A +:1090D000586A6800813669C0040000075924D2002C +:1090E0008268D500000000038269748000000003DC +:1090F0000400002C8058B04083264C000000000B78 +:109100000401F7ED8D0E1D200402000459A8D006BD +:109110008C68D51C040007E04200D000000007D096 +:109120000401F7D90201F8000010C16F4200D0001D +:109130000010C1B2586A480042028800000007FED1 +:109140008058B1C0040007AB414400005924D00945 +:109150008068D4008268D480000007F0586A6800F4 +:10916000813669C00400000A5924D2008268D50003 +:109170000000000382697480000000030402000400 +:109180005934D2008468D51A486A6A0083264C0094 +:109190000000000B8058B040040207ED0401F79571 +:1091A0000201F80000104A8080C589C0040007D27F +:1091B0005934D2008468D55A486A6A000401F7CE4F +:1091C0001C01F000829D3C800000000448813800B2 +:1091D0004885380148893802488D380340691000B5 +:1091E000406D180040710800417900004880E0009F +:1091F00083457480000007FF83F1750003000000C1 +:109200000400004E4880E0024944E0014144F0007F +:109210004200D8000010C3804200B000000007F0F8 +:1092200083457480000007EF040000400400103FF5 +:109230004200B000000000108344F480000007F0FA +:109240005924D8098058B1C00400001740780000A4 +:10925000806CD4005868E0008070E1C004020044D3 +:109260005884E80141440000807574800400005B6C +:109270008074D0008078F00083457480000007EF90 +:109280000400004F0400104E826974800000080042 +:1092900004000032486908018058B0408058B1C0CD +:1092A000040207EB5884D802806CD9C004000088FF +:1092B000412D00004088D0000201F80000104677E0 +:1092C0004947C8574937C85740825800813669C056 +:1092D0000400008F497A6A1259A8D21B8C68D50AFB +:1092E0000402000A8288DD0000FFFF000400007312 +:1092F00059A8D00F8268D50000FFFF00406C000025 +:10930000806974800400006D488A68025924D00581 +:10931000812000F08068D540486A68134200D00080 +:10932000000000010401F0A38269748000FFFFFBCC +:10933000040007C5040017C44947C857488BC857DD +:109340005885700148BBC8574A0108000000001941 +:109350004080D0000401F0974A010801000007F0A6 +:109360004178F0008058B0400401F7CD4070F8001B +:109370005870D0028268E50000FFFFFF48710803C3 +:109380004088000080717480040000355884E80132 +:109390004144000080757480040207B6587D700255 +:1093A00048B908034947C8575885700348BBC85790 +:1093B0004A0108000000001B0401F0588269748013 +:1093C000000007F0040207B4497908014200D80000 +:1093D0000010C3800401F7E3494508028345748007 +:1093E000000007EF0400001A0400101959A8D21B4E +:1093F0008C68D50A0400003C83457480000007FE99 +:109400000400004C5924D2008268D50000000220DC +:109410000400005D808101C00402000D827574802B +:10942000000007FC0400004982757480000007FDFD +:109430000400003C82757480000007FF040207BF2F +:109440008289748000FFFFFF040207BC5884D002A9 +:109450008468D55E486908020401F786587CE813E1 +:109460008074D1304120000080697480040207C8F4 +:109470005924D0058274050000FFFFFF80697480C5 +:1094800004000004812000F08068D5404868F8138B +:109490005884D00141440000806974800400002F8A +:1094A0004947C8574873C857488FC8574A010800EA +:1094B0000000001A0401F0198288D500000000FFA6 +:1094C0008068D0D0486A6A120401F7904200D00048 +:1094D000000004564084E0000201F8000010032B55 +:1094E0000401F7745924D2008268E50000000020CE +:1094F0008C68D50A040207C84947C8574A010800C2 +:109500000000001F4070D0000401F02A4947C857EE +:109510004A0108000000000A4178D0000401F0254B +:109520008289748000FFFFFD040007C90401F783EE +:109530008289748000FFFFFE0402001742010000D0 +:10954000000000010401F7B48289748000FFFFFC71 +:10955000040007BF0401F779407E68008C8D1D0868 +:109560000400076F0201F8000010499E80C589C001 +:109570000400076B4947C8574A0108000000001D56 +:109580000401F7E64947C8574A0108000000001FD8 +:109590000401F0084947C857488BC85758857001DF +:1095A00048BBC8574A010800000000194070D000AD +:1095B00040698800589D1803589D1002589D080165 +:1095C000589D0000829D3C00000000041C01F0003A +:1095D0004200D000000000800201F8000010157E5B +:1095E0000201F800001066AE59C4D0A38468D50605 +:1095F000486B88A30201F8000010515B80C589C048 +:10960000040200050201F8000010517980C589C0EC +:109610000400006C59C4D0A38268D500BE7FFFFF50 +:10962000486B88A34200D000000000F80201F80057 +:109630000010422559C4D0A38268D54000018000A3 +:109640008468D51C486B88A359C4D0A38468D520EE +:10965000486B88A3497B880859C4D0068268D50026 +:10966000FBFFFF0E486B8806497B282C497B282D81 +:109670004200D000000001F44200D80000110E9911 +:109680000201F8000010652D4A0388050000000162 +:109690000201F8000010164580C589C004020023AD +:1096A0000201F8000010165380C589C0040000357F +:1096B0004178D0000201F800001018C84178D000AD +:1096C0000201F8000010184E0201F8000010194CB9 +:1096D0004A035038000000010201F8000010515BFD +:1096E00080C589C00400001859C4D0A48268D50080 +:1096F0000000000F8269748000000008040000036D +:109700004A0388050400000059C4D0A38268D540EC +:109710000001C000486B88A359C4D0A38468D52039 +:10972000486B88A30401F0504200D0000000000103 +:109730000201F800001018C84200D000000000012B +:109740000401F7E00201F8000010517980C589C0DA +:10975000040207E60201F8000010516A4200D0003E +:10976000000001AE80C589C004020033599CD8189E +:1097700040C4E0000201F8000010032B0401F03A9D +:109780000201F8000010166180C589C004020023A0 +:109790000201F8000010166F80C589C00400002E79 +:1097A00059A8D0438068D1C0040007C80201F8005E +:1097B0000010167C4A035038000000010401F02A12 +:1097C0000201F8000010516A80C589C00400001F22 +:1097D00059C4D0A38468D5708468D532486B88A3F7 +:1097E00059A8D078826974800000000083F1750068 +:1097F0000C0000000400000482B975800C00000019 +:10980000040207960201F8000010559A4A038808DE +:10981000000000080401F7914200D000000000029F +:109820000201F800001018C84200D0000000000239 +:109830000401F7A44A035014000000010201F800DB +:10984000001050AF0401F0084200D0000000015B9E +:109850000401F7C74200D0000000018F59A8D83793 +:109860000401F7C41C01F0005994D02C8068D1C0C9 +:10987000040200065994D02D4200D80000000001D7 +:109880008068D1C0040000024178D800406D880093 +:109890001C01F0000201F800001018424A03503881 +:1098A00000000002497B504359C4D0A38468D520EE +:1098B000486B88A30201F8000010516A80C589C076 +:1098C000040000020401F00948C7282C48C7282DCD +:1098D0004200D0000000002D4200D80000110E9977 +:1098E0000201F8000010652D1C01F0000401FFDFEB +:1098F00080C589C0040000044A03503800000003FA +:109900000401F01F0201F8000010166F80C589C025 +:109910000400000459A8D0438068D1C004020008A4 +:109920000201F8000010191380C589C0040200026A +:109930000401F0130401FFD80401F0110201F80042 +:109940000010167C59A8D0428C68D51E040007F977 +:109950000201F8000010516A80C589C004020003AA +:109960000401FFCD0401F0064A0350140000000179 +:109970000201F800001050AF0401F7FA1C01F000DA +:109980004202D80000000001497B50384A03880594 +:1099900000000001497B282C497B282D497B8885C4 +:1099A0001C01F00059A8D078826974800000000082 +:1099B00083F175000C0000000400000482B975807A +:1099C0000C0000000402000759C4D0058268D500CD +:1099D000000000C004020005486B88850401F008FF +:1099E0008468D506486B507859C4D0068268D54043 +:1099F000000000F1486B88060401FFE21C01F00042 +:109A00000201F8000010517980C589C004000005EA +:109A100059A8D013826974800000AAAA0400000C1F +:109A2000497B501359C4D0068268D5400400000118 +:109A3000486B88068D0E1D060402000859C4D0A389 +:109A40008468D546486B88A30401F0044A03500F8C +:109A500000FFFFFF0401F7F30401FFCA1C01F0003F +:109A6000809D3840488138000401FF8080C589C04E +:109A7000040000054A03503800000003497B888534 +:109A80000401F03E4A038805000000F00201F800DE +:109A90000010191380C589C00400002D0201F800D0 +:109AA0000010516A80C589C00402003359C4D0A493 +:109AB0008268D5000000000F8269748000000008F1 +:109AC0000400002B59C4D005826905000400000081 +:109AD0008C68D534040200265994D02C8269748095 +:109AE0000000000283F1750003000000040007E499 +:109AF0000201F8000010517980C589C0040007E018 +:109B00004A038805000000F00201F800001051BE71 +:109B10004A0350130000AAAA4883501459C4D0A382 +:109B20008468D546486B88A34202D8000000000133 +:109B3000488350384A038805000000014883282CD8 +:109B40004883282D0401FF980401F7CD0201F80095 +:109B50000010166F80C589C0040007C959A8D043FA +:109B60008068D1C0040007C60401F7C30401FFA543 +:109B70000401F7C30401FF8C589D0000809D38004C +:109B80001C01F000497BC8564200D0000000008054 +:109B90000201F8000010157E497B50380201F800E0 +:109BA0000010166F80C589C00400000E59A8D03679 +:109BB0008068D1C0040200088068D1C00402000996 +:109BC0004A0350360000000A4A03504300000001D7 +:109BD0000401F0048068D040486B50360401F7F768 +:109BE000497B88850201F800001003FA1C01F0008F +:109BF00059A8D878826D74800000000083F1750048 +:109C00000C0000000400000482B975800C00000004 +:109C1000040200114200E0000000000359A80038CF +:109C200080717480040010060C01F00100110E9385 +:109C300000110E9500110E9700110E914200D000F8 +:109C4000000000D04000D8000201F8000010032BF3 +:109C50000401F019826CD500000000088C6CDD0650 +:109C6000040207ED4202D80000000001486B5038A2 +:109C7000486B282C486B282D59A8D0788468D506C5 +:109C8000486B50784A035014000000010201F800AC +:109C9000001050AF0401F0080401FFBB0401F006FE +:109CA0000401FE4C0401F0040401FF110401F00260 +:109CB0000401FF6C1C01F000497B282D1C01F00001 +:109CC000809D38404881380059A8D0178269748037 +:109CD0000000FFFF040000040201F80000101E58FD +:109CE0000401F0EA0201F8000010C18680C570404E +:109CF0000400009859A8DA1B826CD50000000028E7 +:109D0000040200458C6CDD080400006B599CD019DE +:109D10008C68D510040200038C6CDD1604000082F0 +:109D20000201F800001049BD80C589C00402003955 +:109D3000599CD0198C68D5100400006359A8D21B17 +:109D40008C68D508040000604A0388020000FFFF09 +:109D50004200D0000010CC460201F800001005328D +:109D60004200D0000010CC530201F8000010053270 +:109D7000850E1D024A0378E4000000804202D800EC +:109D8000000000034A0350170000FFFF0201F80023 +:109D9000001004304178D0000201F8000010157E58 +:109DA00059A8D21B8C68D50604000094599CD01881 +:109DB0008268DD00000008008C68D5160402008C63 +:109DC000599CD0198C68D5100400000459A8D21BE6 +:109DD0008C68D50804020090417A40004200D0000F +:109DE0000000FFFF4200D800000000064120E00014 +:109DF0000201F80000103A440201F8000010517905 +:109E000080C589C0040000490201F80000107239C1 +:109E10000401F09E8C6CDD00040007BB4A0388023D +:109E20000000FFBF59A8DA1B8C6CDD02040007B6E6 +:109E3000599CE01882710500000008008C70E5163E +:109E40000402005159A8D01C826974800000FFFFF1 +:109E50000400004D8C6CDD0A0402007A42024800C6 +:109E60000010D0D3417A40005924D2008268D50036 +:109E7000000000E082697480000000E0040207E551 +:109E80000201F80000101C7559A8D21B8268DD0081 +:109E9000000000048C68D504040207DE406E580000 +:109EA0004200D000000000030201F80000101CA4D2 +:109EB0000401F07659A8D0168068D1C00400079933 +:109EC0000401F072599CD0188C68D5160400004328 +:109ED000599CD0178C68D50A0402000459A8D006F2 +:109EE0008C68D51C040007994200B000000007F000 +:109EF000417A88000401F004814688008058B0400F +:109F0000040007920201F8000010473680C589C09E +:109F1000040007FA5934D2008C68D51A040007F7F8 +:109F20000401F05A0401F0590201F8000010514EEA +:109F300080C589C00400003E59C4D0068468D53469 +:109F4000486B88060201F800001072390401F7B16D +:109F50000201F800001049BD40C5000080C589C05D +:109F6000040207AC4202D800000000030201F8001E +:109F7000001004304080D0000201F8000010157E6F +:109F80000401F0428C70E5160402000559A8D01CAB +:109F9000826974800000FFFF0400003459A8D01DBE +:109FA0008068D1C00402079B0201F8000010C19232 +:109FB00080C570400400000359A8DA1B0401F75261 +:109FC0000201F8000010212D80C5704004000791A7 +:109FD00059A8DA1B0401F74C0201F80000104D5497 +:109FE00080C589C0040007BB0401F0280201F80005 +:109FF00000103AB50401F7810201F8000010514E3B +:10A0000080C589C00402076A59A8D21B486B541B3B +:10A010000401F767406E40004200D000000007FED8 +:10A020004200D800000000040401F77159C4D006B2 +:10A030008268D500FFFFFF0F486B88060401F7C256 +:10A040000201F8000010C1924200D0000000001090 +:10A0500080C57040040000024080D0000201F8007A +:10A0600000101F8C0401F77E8C6CDD04040207CC09 +:10A07000826CD500000040008C6CDD1C040207C817 +:10A08000406A58000401F787589D0000809D380001 +:10A090001C01F00059C4D00D8C68D51E04020004C8 +:10A0A00059C4D0058C68D5000400000C0201F800EA +:10A0B000001004480201F8000010514E80C589C00C +:10A0C0000400000F0201F800001050AF816D7040D5 +:10A0D000040000A60401F12F4A03504300000001D0 +:10A0E0004202D800000000044200D0000010D08DD1 +:10A0F0000201F8000010C0570401F1260201F80027 +:10A100000010517980C589C00402008E0201F80058 +:10A1100000103B0A59C4D0A48268D5000000000F8B +:10A12000826974800000000683F17500030000005E +:10A13000040007E90201F800001066AE59C4D0A37C +:10A140008468D528486B88A359A8D0608068D1C09E +:10A15000040000D959A8E0758270D50000001F00E6 +:10A160008068D910826D74800000000283F1750050 +:10A1700003000000040000BD59A8D0158468D5462E +:10A18000486B50150201F8000010515B80C589C072 +:10A19000040000BD59C4D0068268D54044000001C7 +:10A1A000486B880659C4D0068268D500FFFFFF0FB0 +:10A1B000486B8806497B90054178D0000201F80081 +:10A1C00000104E904A0388020000FFFF4A0378E423 +:10A1D000000030004200D0000010CC9C5868D40031 +:10A1E0008C68D508040200034A0378E4000C0000E0 +:10A1F0004200D0000010CF660201F8000010C057E6 +:10A2000059A8D00F4200D800000000030201F80056 +:10A2100000106EA64200D0000000801059A8D80996 +:10A220000201F800001039D259C8D0158468D54809 +:10A23000486B90150201F8000010184259A8D00888 +:10A240008468D500486B5008850E1D0A0201F8008D +:10A2500000110B5C0201F8000010514E80C589C04E +:10A26000040200038D0E1D06040200A00201F80086 +:10A27000001049BD80C589C00400009259C4D002B5 +:10A280008468D50C486B8802497B501D497B501C63 +:10A29000497B50570201F8000010514E80C589C01B +:10A2A0000400007D497B521B0201F8000010162AB1 +:10A2B00059A8D01F82680500FFFF000080C4D54068 +:10A2C000486B501F599CD0178C68D50A04000004B5 +:10A2D00059A8D21B8468D544486B521B4200D00059 +:10A2E000000000050201F80000107500497B501DB8 +:10A2F000497B50164A0350170000FFFF4A0378E4D9 +:10A30000080000C04202D800000000020201F8006C +:10A310000010514E80C589C00402000759A8D21B05 +:10A320008268D5000000000C82697480000000047F +:10A33000040007690201F80000101E580401F0959E +:10A340005994D02D420000000010421080697480A2 +:10A350000400004259C4D0068268D540000000C005 +:10A36000486B88060401F76A59A8D0118269748085 +:10A370000000000904020758497B500F0201F80051 +:10A380000010C16F420248000010D0D3497A48053E +:10A390000401F00A5924D2008C68D500040000049E +:10A3A0008268D500FFFFD815486A4A0083264C0012 +:10A3B0000000000B8058B0408058B1C0040207F67E +:10A3C0004A038805000000F00201F8000010516AFD +:10A3D00080C589C00400004B59C4D0068268D540AE +:10A3E000000000F1486B880659C4D0068268D50089 +:10A3F000BBFFFFFF486B88060201F800001066AE45 +:10A400000201F80000106EB159A8D878826D7480EE +:10A410000000000083F175000C000000040000043F +:10A4200082B975800C0000000402004D4A03889335 +:10A43000000000014200D0000010CF6F0201F800C0 +:10A440000010C057497B50564200D00000008030B9 +:10A450004178D8000401F7735994D02C8068D1C09A +:10A460000402072B0401F7BC806CD8408270D50031 +:10A4700000FF0000806C00D08068D540486B9035AC +:10A480000401F73E59C4D0068268D540440000F16B +:10A490000401F74859A8D01F8268D500FFFF0000CB +:10A4A000486B501F0201F8000010162A48C7888028 +:10A4B0000401F7850201F8000010414C0401F03559 +:10A4C0000201F8000010514E80C589C0040000113F +:10A4D00059A8D0188068D1C00402076C0201F800A6 +:10A4E00000109C470401F7694A0350560000000120 +:10A4F000850E1D0E0201F80000103C650401F025D8 +:10A5000059C4D0068268D540440000F10401F7BA6E +:10A510000201F80000109C4759A8D21B8C68D50690 +:10A520000402075A59A8D0188068D1C00402000755 +:10A5300059A8D41B8C68D50804000754826974801C +:10A540000000FFFF040007514A03541B0000FFFFF7 +:10A550000201F800001042810401F74C59AA687901 +:10A560005934D40082697480000004040402000796 +:10A570008C6CDD0C040006D8826CD5000000000352 +:10A58000040007AD0401F0030201F8000010B91F38 +:10A590001C01F000809D384048A13800829D3C801D +:10A5A00000000005409D4000829D3C8000000007A7 +:10A5B000488138004885380148893802488D380379 +:10A5C0004891380448953805489938064200E0001B +:10A5D00000000001487140004178E00048714003EC +:10A5E00048714004485940014921400282691D00D8 +:10A5F00000FFFFFF826D350000FFFFFF828CD5005A +:10A6000000FF00008269748000FF00000400005E0B +:10A61000417928004200B000000007F041AD080079 +:10A6200040951000828D250000FFFF000401F00F0F +:10A63000809121C00400003259A8D00F8268D50053 +:10A6400000FFFF0040900000806974800400002C2F +:10A650004178E0004871400480850800808910003E +:10A660008058B0400400002158850000808101C05E +:10A67000040000365880D2128268D5000000FF0026 +:10A68000040207EC5880D0028268D50000FFFFFF6B +:10A69000408C000080697480040207F04098D0006C +:10A6A0000201F80000101FF25880D813806CD130DE +:10A6B0004120000080697480040207E84200E00045 +:10A6C00000000001487140045924D005826C050047 +:10A6D00000FFFFFF8069748004000004812000F007 +:10A6E0008068D5404869001358A0D0048068D1C064 +:10A6F00004000020408A88000401F0485880D002FD +:10A700008268D500000000FF828C0500000000FF79 +:10A7100080697480040207D14098D0000201F800DB +:10A7200000101FF25880D813806CD13041200000F7 +:10A7300080697480040207C94200D0000000000153 +:10A74000486940040401F7E1809529C0040207C369 +:10A7500058A0E0038070E1C0040207C040892800CF +:10A760004200D00000000001486940030401F7BB2B +:10A7700058A0E0038070E1C00400001840968800F3 +:10A780000401F026828D748000FFFFFB040007A106 +:10A79000040017A0828D748000FFFFFF0400079D56 +:10A7A000828D748000FFFFFD0400001A828D74808A +:10A7B00000FFFFFD83F17500030000000400000CA2 +:10A7C000828D748000FFFFFC0400000F4178D000F0 +:10A7D000486940000401F011488FC857489BC8578A +:10A7E00058A0D003486940000401F00C828D7480A9 +:10A7F00000FFFFFE040207F642028800000007FE89 +:10A800000401F00642028800000007FC0401F00386 +:10A8100042028800000007FD58A2400258A0B00183 +:10A8200058A18800589D3006589D2805589D200441 +:10A83000589D1803589D1002589D0801589D00000E +:10A84000829D3C000000000C589D4000809D380017 +:10A850001C01F000486BC8570401FF4F1C01F000B9 +:10A8600000000000000000010000000200000003E2 +:10A8700000000004000000050000000600000007C2 +:10A8800000000008000000090000000A0000000BA2 +:10A890000000000C0000000D0000000E0000000F82 +:10A8A000F74376D402800004000000000000C000DE +:10A8B000000008A0073FCA5A0705A5A50192800914 +:10A8C000070FF0E10380000604958010053080003A +:10A8D000050080000600902F06A006020202F0513B +:10A8E000042E4020018F02AF033E500003020000FF +:10A8F000068D00200693051603920518050FB05625 +:10A90000040010E6002FB008060FF0E6005804011E +:10A91000054880FF0781001E038C03C6038A03C518 +:10A92000078B03C3048E80100678AAE50600005149 +:10A93000078181C9040010E60448E0E60481801024 +:10A94000002FB0080448E0E604818010060FF0E60E +:10A9500000580401054880FF04818010022A50013C +:10A96000030430D406780043030E0000030450FFB4 +:10A97000067800430301900003A1820A0781873A09 +:10A98000027C00450302000006810040027C004575 +:10A990000304000004810116027C00450308000046 +:10A9A000048107AB0490804000910738010410A691 +:10A9B0000379FF41037FFFFF072D6000076014410B +:10A9C000050F80FF032FA00907F0000005600400B9 +:10A9D000050F80FF056C04FF0481075D073FA00998 +:10A9E000060000010279FF020700FFFF070FF0D108 +:10A9F0000179FEFF0700FFFF045C04020681875D0A +:10AA0000060FF0D00179FEFF0700FFFF050010FFE1 +:10AA1000057DFEFF0700FFFF05810730056026006A +:10AA2000050F80FF073FA009060000010079FE0224 +:10AA30000700FFFF045C04010781873005601041B7 +:10AA4000050F80FF032FA069074800000481074F0E +:10AA500006780043070000F007810072037C00FFC6 +:10AA600006000010078100720180074B0379FF0088 +:10AA7000070FFFFF0678004307F00000075A0000A9 +:10AA8000020EF0010186074D0548400003A1822D0A +:10AA9000062D6001002FB001070FF0690086808548 +:10AAA000060FF079055C044106810010012FB0000B +:10AAB000060560FB0380008B060FF0790286820892 +:10AAC000070FF069055C044106810010060560FB74 +:10AAD0000400D0D0062D60020648300D0781009991 +:10AAE000070FF0D1062D6001045C040B0781009C68 +:10AAF0000548800005818099072E500C00208001B8 +:10AB000006A0060702800010062D600107F0000075 +:10AB100007F00000070FF0D10179FEFF070000FFEA +:10AB2000055C040C0781810A0007B001030790410E +:10AB30000307A00006600A79050F80FF053FA80AF9 +:10AB400006000010068D00A80307C0030007D0040C +:10AB50000107E0050307F0060208000700081008D7 +:10AB6000010820090308300A018680BD0448D07A14 +:10AB7000058180BD0448B07A058107560660447996 +:10AB8000050F80FF053FA8090600000101680703C3 +:10AB9000076C030307818756072D50030049107A7D +:10ABA000068100C7070FF0090154040A058280C618 +:10ABB000078D00C30108200A032FF000010770FF72 +:10ABC0000008400B0308500C0678007A04000108C6 +:10ABD000078100E1078D00CC06603C79050F80FFFE +:10ABE000073FA0410600004A0249007A068100DAC8 +:10ABF000068D00D306602279050F80FF032FA00980 +:10AC00000778000003800000078100E1068D00DA6C +:10AC10000678007A07F00000010880FF023860081B +:10AC200003010000038000E7078D00E10678007A49 +:10AC300007F00000010880FF0338600003010000F6 +:10AC4000072E6300020EF07F02860010070FF07DD2 +:10AC50000450047C050F80FF002FA819078D00EE1B +:10AC600002080001000810020678007A04000201C0 +:10AC7000078100FA0448807A068100F80379FF030F +:10AC8000070000FF0049107A02A182260108200374 +:10AC9000068D00FB0448B07A078181030249007ADF +:10ACA0000581010607780003038000000581010685 +:10ACB0000338600C030100000080010802386004C2 +:10ACC00003010000072E6C0002800010067800438C +:10ACD000070000F004810758050020FF027C0002F5 +:10ACE0000600001005810112008007580700C0D13E +:10ACF0000379FF0C070000FF028000A10204A051AD +:10AD000006780043070000F0037C00FF06000010F7 +:10AD1000068181BF072D600002948734050FB0566D +:10AD2000044880E604818010060FF0D00179FEFF10 +:10AD30000700FFFF057DFEFF0700FFFF05810730CD +:10AD40000349C0E406818173013E4000070C000006 +:10AD500007F000000349C0E406818173070FF093F8 +:10AD6000045A0201070FF093045C04010781812E4D +:10AD70000204609204002046060FF002045C040105 +:10AD80000703A0FF04600202005404010782813C13 +:10AD900004500425070060FF0730FFFF0700000F85 +:10ADA0000742000F0581020005A007180648A0020F +:10ADB0000781813F00047089070FF047045C04435A +:10ADC000077800FF07F00000068181FE0778004742 +:10ADD0000500E0000681871F070FF0060086016D61 +:10ADE0000179FE470700000F010480FF056C7048E1 +:10ADF00006818158007A0D4A040038010220F001D2 +:10AE00000180016507608E48034A60FF0700F0FF7C +:10AE1000074B88FF037000FF070006000550044839 +:10AE2000074D00FF045A044A0304A0FF070FF00F68 +:10AE3000015404060482016D0495017505A0024DBC +:10AE4000038681780134BFFF070FFFFF0104102E36 +:10AE5000050FD0410080017A0495017305A0024DD1 +:10AE6000008601730202F00E052E4030040FD02F31 +:10AE700005A002AC028000100400E02F042E402048 +:10AE80000202F0510004100E0004B00E024A6C469B +:10AE900004500423050070FF03620024050080FFB6 +:10AEA000040040460700500F032060000560104872 +:10AEB0000700A0FF0700900A070FF00504500446A2 +:10AEC00000540425048201AB07601822050F80FF9F +:10AED000063FA0320600000203203000012040009F +:10AEE000032050000120B0000320C000056016417F +:10AEF000050F80FF043FA85206000001070FF0561F +:10AF0000056C02FF050FB0FF070560FF03079041C6 +:10AF100005601041050F80FF073FA0110600003DAE +:10AF20000678004307F00000065A007A010880FF07 +:10AF300004A00246048D01A40208A04A0108B04BF7 +:10AF40000238600103010000072E6300038000E85F +:10AF50000500D00A05500405014A68FF070090FF6C +:10AF60000154040A0700C0FF0600A0230500B02416 +:10AF70000220600107601822050F80FF063FA04AEB +:10AF80000600000207F0000007601222050F80FF94 +:10AF9000043FA819060000010600A00D01800190E1 +:10AFA00006780043070000F0050010FF027C000156 +:10AFB0000700003004810726027C00010600002003 +:10AFC000048107260180074B074860FF068181E561 +:10AFD000054880FF06810010070FF056050FB0FFEF +:10AFE000044880E5058101D4044880E6048180108E +:10AFF000008001DA056C02FF050FB0FF070560FF56 +:10B00000072E5300044880E604818010072D50036A +:10B010000678004307F00000010880FF058D01DE7F +:10B020000338600503010000033E60000700000CC8 +:10B03000052E5200028000100448E0E604818010D2 +:10B04000002FB0080448E0E60481801005301FFF9F +:10B050000700000F064200010581020005A0071845 +:10B060000648A002068181EC062E5080040010895B +:10B07000040FD002040FD001024990010481021F85 +:10B08000070FF0D4050FD0FF045C0401077800FF20 +:10B0900007F000000681821F02800010002091FE50 +:10B0A0000380060A012092000380060A0020920213 +:10B0B0000380060A032090000380060A01209206FE +:10B0C0000380060A002092080380060A06780043DF +:10B0D0000700900006818215004980430481021513 +:10B0E0000648A0E504810216027C00450304000026 +:10B0F00005810218075C00FF07C00000056A02FF17 +:10B1000000800215018002140678007506000C0705 +:10B110000781066C00209219070FC0FF07A005F5F4 +:10B12000070FC0FF053080000700A00006A006073B +:10B13000033E50000700000C02800010070FF003D0 +:10B14000015404770782822B07003077060FF051F5 +:10B15000010770FF07C0000004602001050F80FF99 +:10B16000063FA029060000080201501002016051AC +:10B17000000170510001105105601C41050F80FF56 +:10B18000053FA83A0600000807F0000005601041DE +:10B19000050F80FF01464000032FA00A0700601141 +:10B1A0000500701204008013070090140600A0151B +:10B1B0000400B0160700C01707C00000072D500399 +:10B1C00004601679050F80FF048D0249063FA051E7 +:10B1D0000600003E07C00000060050510400E02CAD +:10B1E0000660060E050F80FF032FA0090379FF00FC +:10B1F000070000FF076C00000581026F0460580E15 +:10B200000500E0FF034000FF015404270582029976 +:10B2100003400005070FF005055C04280481029B2C +:10B22000056C08050681824F040F8029053FA80997 +:10B230000700002407F0000006600649050F80FFA4 +:10B24000032FA0090379FF00070000FF076C00002F +:10B250000681824F05A0029F0400E0490080027031 +:10B2600005A0029F072D60000460040E050F80FFFB +:10B270000004D0D00379FF4D0700FFFF0104E0D1A7 +:10B280000379FF4E0700FFFF062D6002032FA00980 +:10B290000204F0D0064B004F0778000007FFFF00C4 +:10B2A000045A044F070000FF00201008040020513A +:10B2B00006003051012040000730500007000060B8 +:10B2C00003206009050070220460040E050F80FF52 +:10B2D000032FA04207F0000004604C0E050F80FF12 +:10B2E000053FA81206000026050010D10460340EA8 +:10B2F000050F80FF012FA80A060FF00E055C042E33 +:10B300000481029D07C000000400E0260080025B6B +:10B310000500E02E008002700400E05100800298D9 +:10B320000340002D050F802B053FA80A06000016DC +:10B3300007F000000460580E0302C0FF034000FF46 +:10B3400001540427058202AA07C000000202C02699 +:10B35000018002A9013E40000308000007C0000070 +:10B36000077800E407000005058183B4022A500233 +:10B37000069082B30391033C030400A60678AAE575 +:10B380000600005103A1878E04600E40050F80FF68 +:10B39000032FA02107F00000074B0000076C0600F8 +:10B3A0000481833E060FF00201580403068103491D +:10B3B00005600403050F80FF073FA0090600000297 +:10B3C0000279FF040700FFFF010440D70179FE4422 +:10B3D0000700FFFF045C0404048183400349F04438 +:10B3E0000581834B0249500105818342060FF079A4 +:10B3F000045C0440068182D60644F07A002FB0082F +:10B40000060FF079045C0440078182DB0644F07A81 +:10B41000002FB0080648F001058183330460104016 +:10B42000050F80FF06480001058102FA0448E0018B +:10B430000681031F024600010644F001012FA80AFD +:10B4400004008040004910010481833707A00614DE +:10B4500000868337070050D80578010507FFFF00F5 +:10B4600004600E02050F80FF053FA81206000002CF +:10B4700006A005FE062DA001013E4000060000804A +:10B480000693001302920013028000100644F0019C +:10B49000012FA80A020EF00203860321046008406F +:10B4A000050F80FF053FA809060000020578010589 +:10B4B00000800440017C0105050004000581832112 +:10B4C00004602002050F80FF053FA8090600000266 +:10B4D00007F0000004602C40050F80FF070FF00507 +:10B4E000053FA80906000002055C040505818321CB +:10B4F000070050D80578010507FFFF0006006051DE +:10B5000004600E02050F80FF053FA812060000022E +:10B51000040080400045E00806A005FE008002F41B +:10B520000644F001012FA80A050020D80460044059 +:10B53000050F80FF073FA00A060000010648000132 +:10B540000581832D05308000030400000600904033 +:10B5500006A00602008002F405A0078E0320000367 +:10B5600006600C40050F80FF032FA00A008002F444 +:10B57000013E400006000080032093330380060A4A +:10B5800006009008053080000500400006A0060275 +:10B59000008002F402209002038003A503209000A3 +:10B5A000038003A502209004038003A507A003BD28 +:10B5B000062DA00105308000050020000600904007 +:10B5C00006A00602018002F502209008038003A570 +:10B5D000013E400006000080024950010481839B27 +:10B5E00004600840050F80FF053FA8090600000120 +:10B5F0000721F0000349F003068103570245F01FBD +:10B600000600000205601600050F80FF012FA80943 +:10B61000064800010681039B044810010481839BB6 +:10B6200004602640050F80FF012FA809020EF001DB +:10B630000086839B029B039B050020D8062DA0015A +:10B64000063030020500043004600440050F80FF1E +:10B65000073FA01206000001008F836D050040D84F +:10B66000062DA00105602000050F80FF073FA009FF +:10B6700006000001060FF00400540402078203993B +:10B68000060050510600605106602440050F80FFFF +:10B69000063FA01A0600000207F0000006600A40FC +:10B6A000050F80FF073FA00A0700000307F0000016 +:10B6B00004600840050F80FF053FA809060000014F +:10B6C0000548700307810393060FF0020054040439 +:10B6D00005828393053080000700500006009040EB +:10B6E00006A006020400800406A0060702800013DC +:10B6F000060FF040045A041F010EB0FF069300131A +:10B7000002920013028000100400400203800377BD +:10B7100007A003BD062DA0010530800007005000E2 +:10B720000600904006A00602050080D806A0060785 +:10B73000062DA00102800013050FD009040FD04090 +:10B74000013E40000600008005308000030130000B +:10B7500006A00602010440D70349F044078103B262 +:10B76000062DA001038F03B203E00000062DA00107 +:10B77000028000130249C0E506810013062DA001D6 +:10B7800007F0000007F00000033E5000070C000027 +:10B79000028F03B603800011050020D80460044026 +:10B7A000050F80FF073FA00A0600000107C0000048 +:10B7B000002FB001038003C6012FB000030750879C +:10B7C000068D03C70338600003020000044820759B +:10B7D000048104380648A0E6048104160642007F6E +:10B7E000058104140340007E060FF0380154047EE6 +:10B7F00001D004030560027D050F80FF032FA0091F +:10B80000030EF000028606670107D00007600A00F9 +:10B81000050F80FF032FA00903681E0004500420B9 +:10B82000050F80FF073FA0090700003F038003D1F9 +:10B83000070FF07D0450047C050F80FF002FA8192E +:10B84000078D03E702080001000810020678007A5D +:10B8500004000201078103F30448807A068103F1A2 +:10B860000379FF03070000FF0049107A02A1822636 +:10B8700001082003068D03F40448B07A058183FC97 +:10B880000249007A078103FF077800030380000064 +:10B89000078103FF0338600C0301000000800401EE +:10B8A0000238600403010000072E6C000080043899 +:10B8B000018004090080040B0080040D0180040F46 +:10B8C00001800411008004130727C006028003E3EF +:10B8D0000727C009028003E30727C00C028003E3A7 +:10B8E0000727C00F028003E30727C012028003E38B +:10B8F000038003D4052E680000800438044880E6E5 +:10B900000781069C052E6200070FF0880179FEFF73 +:10B91000070FFFFF01A18642048186380249607A41 +:10B9200007818456060FF08303868456033E600029 +:10B93000070000030448B07A0481043806604479A3 +:10B94000050F80FF032FA00903680600076C00FFA6 +:10B950000681843804604679050F80FF032FA00913 +:10B9600007F00000074B0000070FF000048D0432C1 +:10B9700005001099064B0001045C040104810438A1 +:10B980000245A07A048D04380728600007F0000003 +:10B99000048D043B038C03C60648C0E60681845B25 +:10B9A0000448E0E6058104530120944102490075F2 +:10B9B0000681821F004920E60581044E07A006E1AA +:10B9C00005001088007001010310000000088001CC +:10B9D000033E600007000088038006D20238600141 +:10B9E00007030000033E600006000008018004ED2C +:10B9F000027990750700050F068100100460167922 +:10BA0000050080FF063090520600003E0180045F72 +:10BA100006602479050080FF053098120700004178 +:10BA20000648007A05810471044880750781847195 +:10BA30000678007A040001080481046D06603C79F0 +:10BA4000050F80FF048D0468073FA0420600004AEE +:10BA5000048D046B02086051040F8008070FA009D1 +:10BA60000049107A02A184EF00798075060005076D +:10BA7000048186830448B0750581047802493075D5 +:10BA80000681067F0648C0E60781848B048D047A10 +:10BA900002386001070300000049107A0581048123 +:10BAA000020EF0830186048B06483075058104EB95 +:10BAB0000678007A0700003501A185F50530800081 +:10BAC000070600000600907906A00602018004EB3C +:10BAD000064830750681061F058D048D0238600109 +:10BAE000070300000444E07A0648307A068184BFE8 +:10BAF0000448707A048104E60648F07A058104A9B6 +:10BB000007A005F50400807907A00614028684BA10 +:10BB10000049107A068184BA04600408050F80FF8A +:10BB2000053FA809060000020578010507FFFF0090 +:10BB300005600E7B050F80FF053FA812060000027E +:10BB400006A005FE018004EB0760127B050F80FF55 +:10BB5000032FA0090349C000078184B8046010794D +:10BB6000050F80FF073FA00A0600003D07F0000018 +:10BB700006600A79050F80FF053FA80A060000103D +:10BB8000018004EB0046E07A008004E6060090089D +:10BB9000053080000500400006A00602018004EB8D +:10BBA0000760187B050F80FF032FA011070FF0001F +:10BBB00004500401030460FF060FF02500540446FE +:10BBC000048204D3030460FF052E40C0040920460C +:10BBD0000349A0E4068184D0003E40800700C000F5 +:10BBE000018004D4003E408005008000018004D420 +:10BBF00004092046070FF03A038684D8013E40002E +:10BC00000700000305A002AC06600679050F80FF5F +:10BC100000201007012FA80A0046047A034630FFCF +:10BC2000050020FF0600305104601079050F80FFE9 +:10BC3000073FA01206000001018004EB07A005F5F4 +:10BC400005308000030200000600907906A006027D +:10BC5000033E6A000700000A0207905102800010AC +:10BC600006605079050F80FF032FA009070FF00031 +:10BC700002860508057DFEFF07FFFFFF0681050818 +:10BC8000050F8000012FA8110079FE02070000FFB8 +:10BC9000077D66FF060000DC04818508060FF001C1 +:10BCA00001868509064B000206420002060FF002DB +:10BCB00005500400050F80FF05004084073FA00ADF +:10BCC0000600000207C0000004600201050F80FFAB +:10BCD000073FA009060000010079FE02070000FFEF +:10BCE000077D72FF070000DD04818508064B000216 +:10BCF0000642000206000001028005020605004C13 +:10BD00000280051A0693051606A005FB054BC450D4 +:10BD10000781051D03D0051E0380051D0380052E28 +:10BD200003800530028005BA028005CD0280053D02 +:10BD300003800530038005840380052E0380052ED3 +:10BD4000038005D10380052E028005D5028005EA17 +:10BD5000038005A60380052E0380052E0320952E63 +:10BD60000380060A073C3FFF0700000F0379FF50DE +:10BD7000070FFFFF060FF079055C0450078105CA25 +:10BD8000002FB008060FF079055C0450078105C943 +:10BD900007A005ED028005C20179FE50070FFFFFE5 +:10BDA000070050FF060FF079055C04050781054781 +:10BDB000002FB008060FF079055C0405058185C6E3 +:10BDC000073C3FFF0700000F070FF087017980FF56 +:10BDD00006000507058185560220304005002087B2 +:10BDE0000049D00205818556002FB0080700608702 +:10BDF000002FB0080149D0060781057E0693055B38 +:10BE000001257000052E4003072E50300304C0505A +:10BE10000240005706740057060000040682001610 +:10BE20000049107A02A184EF0400208307003084C7 +:10BE30000400408506602479050F80FF063FA01AA4 +:10BE40000600000107A005F506A006EA033E6A0009 +:10BE50000700000A062E502005A00718027981026B +:10BE6000070000FF007C8002070000550781057B6A +:10BE7000072E50C00648A0020781057B068D057677 +:10BE80000338600603010000033E60000700000C59 +:10BE9000003E400207000A00018004ED0742000353 +:10BEA0000581854E007980020600050705818556CB +:10BEB0000380055F0793058B01257000073C3FFF5A +:10BEC0000700000F052E4003072E50300304C0501A +:10BED000067800E6070000410781059007A006F3F9 +:10BEE0000481859B002FB008067800E6070000411A +:10BEF0000781059607A006F30481859B062E502036 +:10BF0000003E400207000A0003E00000028000102B +:10BF100006740057070000180682001606A006EAFD +:10BF2000033E6A000700000A002FB00806A006EAD8 +:10BF3000033E6A000700000A038005960379FF505C +:10BF4000070FFFFF060FF079055C0450058185ACF3 +:10BF50000245507A002FB008060FF079055C0450B6 +:10BF6000058185B10245507A002FB0080560105058 +:10BF7000050F80FF012FA8090245500105601050F0 +:10BF8000050F80FF012FA80A038005C3059585CA08 +:10BF90000179FE50070FFFFF045C042F058185CA5D +:10BFA0000202F051042E4020038005C3002FB00888 +:10BFB000003E400207000A0002800016059385C972 +:10BFC000062E5020042E4002002FB008013E4000F3 +:10BFD00005000E00028000160179FE50070FFFFFDA +:10BFE000010210FF028000160179FE50070FFFFFCB +:10BFF000050340FF038005C30179FE50070FFFFFD3 +:10C000000102E0FF05602A2E050F80FF05222000B7 +:10C01000072230000522400007225000072260005E +:10C020000522700005228000072290000722A00050 +:10C030000522B000063FA051070000110202C026F1 +:10C040000522D000052E400C02800016030430D4D7 +:10C05000062E5008008001CD05601050050F80FFAE +:10C06000032FA00903460000028005F80246007A6B +:10C070000045207A038005F60246007A0600007A21 +:10C0800004601079050F80FF032FA00A07C000008D +:10C09000009285FB070500E107C000000245F0089B +:10C0A000078405FF020E000807C00000070FF00913 +:10C0B000065A000806840604020E000807C00000A5 +:10C0C00006840607020E000807C000000530800045 +:10C0D0000500D00006A0060207A0060F028000108F +:10C0E000052E4300072E500C073C3FFF0700000FB2 +:10C0F00007C0000006602408050F80FF032FA01171 +:10C10000076A00000581861D066A00010781061D79 +:10C110000600605107C000000220600107C0000057 +:10C120000678007A07000021058186270049107AE9 +:10C1300007810627073C3FFF0700000F0180048DA1 +:10C14000040FD0790648307A0681062C04A00785B2 +:10C150000280063106A005F20530800005001000BF +:10C160000600907906A00602068D0631033E6A009D +:10C170000600000E0207905103386006030100001C +:10C18000028000100648307A0781063C04A007852B +:10C19000038006D206A005F20530800005001000DD +:10C1A0000600907906A00602038006D2050010FF63 +:10C1B0000448B07A078106500049107A078106507A +:10C1C000078D064706604479050F80FF032FA009FD +:10C1D00003680600056C02FF05818650046C10019F +:10C1E00006810652056A02FF07C0000007A0065537 +:10C1F000075C00FF07C00000078D0655060FF07CA6 +:10C20000070FF07D070FF07E060FF07F060FF0801E +:10C21000070FF081070FF082060FF083070FF084FD +:10C22000060FF0850338600C03010000008A866267 +:10C23000078D0663033860000302000007C000009A +:10C240000648307A0781820607A005F50220966726 +:10C250000380060A040020890478010207F0000028 +:10C260000500108804740101031000000478010126 +:10C2700007F00000060FF002045C040105818681CE +:10C2800000088001033E6000070000C00220901AF1 +:10C29000053080000101200006A00602028006CEC3 +:10C2A0000220967F0380060A032096810180021DEA +:10C2B000040FD075040FD07A040FD0790648307A75 +:10C2C0000681068C067800750600000704818697B3 +:10C2D00004A007850648607506818204024900753E +:10C2E00006818219044870750581869F0448B07ADA +:10C2F0000781069600492075048186B0028006A851 +:10C3000005308000030100000600907906A00602B7 +:10C31000028000100448E0E60681843800800202B2 +:10C320000648307A048186CE053080000500E000A2 +:10C330000600907906A006020400808906A0060780 +:10C34000028006CE06A005F2053080000700F0004E +:10C35000060090790700008807A006B706A006022D +:10C360000280001005308000010110000600907965 +:10C370000700008807A006B706A00602028000108A +:10C38000033860000703000007F00000068D06BABE +:10C39000033E6A000600000E020790510448B07583 +:10C3A000078106C502493075078106C505301005AD +:10C3B00003010000028006C70530100603010000DB +:10C3C0000500208706485002048186C70744C00044 +:10C3D000010880000208600107C000000500108805 +:10C3E00007A006E10644C00100088001033E6A0080 +:10C3F0000600000E004920E6058186D7020790510D +:10C40000078D06D7060FF089034990FF078106DEE6 +:10C410000338600503010000028000100338600645 +:10C420000301000002800010078D06E10338600060 +:10C430000703000007F00000068D06E5070FF087F0 +:10C44000074850FF048186E607C00000068D06EA13 +:10C45000023860010703000007F00000078D06EEB8 +:10C46000070FF087074850FF048186EF07C00000E0 +:10C47000050020870049D00206818702002FB008FE +:10C48000067800E607000041002FB0080681870209 +:10C4900005A007180448E002058107050648A00228 +:10C4A0000781870F0648600205810709024000578F +:10C4B000056A02FF07C0000005A007180678810280 +:10C4C000060000040681870204002089070FF0D4CB +:10C4D000045C0402077800FF07F000000681870271 +:10C4E00000202010008C070207F000000642000226 +:10C4F0000681871006A006EA033E6A000700000ACC +:10C5000007C0000007F00000060FF0A2045A020264 +:10C51000060FF0A2045C04020681871907C0000020 +:10C5200005A002AC03495047058107240320901D54 +:10C53000018007810220901F01800781014980E46A +:10C5400004818010013E40000700300005600E3578 +:10C55000050F80FF04A008830120800306A00607C2 +:10C560000180074B066C00450481079E032090095B +:10C57000018007810320901101800781022090072C +:10C5800001800781032090030180078100497043E7 +:10C59000078187360049404304810740022090010B +:10C5A00001800781072D6000027C00450308000020 +:10C5B00007818730060FF0D00179FEFF0700FFFFEB +:10C5C000057DFEFF0700FFFF058107AC01800730F6 +:10C5D0000220900D018007810320900F01800781C8 +:10C5E0000349300004810754027C0045070A00001B +:10C5F0000581075F0220900B018007810320900CCA +:10C6000001800759022090130530800001012000AD +:10C6100006A00602008001DA032090050180078150 +:10C62000072E500C0020800206A006070280001092 +:10C630000220901501800781053080000500700000 +:10C64000070090D10379FF090700FFFF06A006024B +:10C650000320901701800781033E500006000080F0 +:10C660000220901901800781033E500006000080DF +:10C67000060FF0D00179FEFF0700FFFF057DFEFFEA +:10C680000700FFFF0481801002400058006420581A +:10C6900006820010033E5000060000800405805111 +:10C6A0000320901B018007810530800001012000DC +:10C6B00006A00602008001CD05A002AC070FF02EF7 +:10C6C000045C04790581078D053080000500800039 +:10C6D0000600907906A0060207C00000034900E4A6 +:10C6E00006818798013E4000070000C007F0000067 +:10C6F000034900E40781879607C00000013E40001F +:10C700000600008007F0000007F0000007F00000BE +:10C71000034900E40581079000800798072D600019 +:10C72000070FF0D10179FEFF0700FFFF017C1CFF1E +:10C73000070000FC0681875D079087A500910738F8 +:10C74000010410A60379FF41037FFFFF0380006609 +:10C75000072D600005A00863020EF004018607653E +:10C7600004602604050F80FF032FA009060FF0D0F8 +:10C770000179FEFF0700FFFF055C04000781876366 +:10C7800006600004050F80FF032FA00907F00000DA +:10C79000074B0000050020000769FF000164080046 +:10C7A0000582076501640E0007828765070FF03672 +:10C7B000045C0404068187CE050F8030032FA00996 +:10C7C0000379FF000700FFFF070FF0D10179FEFF9B +:10C7D0000700FFFF055C040005810763044820345F +:10C7E0000481077C064830340681877C070FF0D42B +:10C7F000077800FF070000F0037C00FF0600001030 +:10C80000058107FF024900E5068187DF033E5000EE +:10C81000070000C007F00000024900E5058107E2BB +:10C82000033E5000060000800280001004601C04DB +:10C83000050F80FF053FA80906000020030EF04108 +:10C840000086076D062D600205602C41050F80FFF4 +:10C85000012FA809060FF0D0074B00FF045C04016C +:10C86000068187FD062D600107602E41050F80FFC0 +:10C87000053FA80906000001070FF0D1054B80FF16 +:10C88000074B0003055C0403068187FD033E50004F +:10C89000060000800180089507600041008007E3E2 +:10C8A000024900E507818806033E5000070000C0EA +:10C8B00007F00000024900E505810809033E500029 +:10C8C000060000800280001005A0084E030EF04113 +:10C8D0000186077104058051072D60000760124131 +:10C8E000050F80FF012FA8090600A0D00500B0D1D8 +:10C8F000062D600107F0000007F000000600C0D020 +:10C900000500D0D1062D60020279FF0D07FF00005F +:10C91000044D800D060FF0D0074B00FF065A000DA6 +:10C9200006601401050F80FF073FA02207000005E5 +:10C930000079FE0D070000FF050020FF05602C4177 +:10C94000050F80FF073FA00A06000001020EF00459 +:10C950000186084B04601C04050F80FF053FA809F1 +:10C9600006000001050F80FF053FA80A0600002011 +:10C9700007F0000007602E41050F80FF073FA00968 +:10C98000060000010279FF02070000FF0678000D93 +:10C990000700FF00065A000207602E41050F80FFC6 +:10C9A000073FA00A0600000107F0000007600041F1 +:10C9B000050F80FF053FA80A0600000107F00000F0 +:10C9C00007601441050F80FF073FA00A0600000220 +:10C9D000033E50000600008001800895040F80325D +:10C9E000073FA01106000001060FF002055C0403DA +:10C9F000078188560004105107C00000046004023B +:10CA000004500432050F80FF053FA80906000020EE +:10CA100007F000000040040201680EFF070030FF2D +:10CA2000040F8032053FA80A0600000107C000007D +:10CA300005004036060000D00179FE000700FFFF28 +:10CA4000057DFEFF0700FFFF05810882070000D17A +:10CA50000379FF000700FFFF06005051060FF03179 +:10CA600005500405050F80FF073FA00906000002DE +:10CA7000020EF0040086087C04600404050F80FFA9 +:10CA8000012FA8090079FE010700FFFF055C0400E3 +:10CA90000581088201400405070050FF057DE0FF85 +:10CAA000060000070681886E0400405107C00000A0 +:10CAB000072D600007F0000007F00000000110D013 +:10CAC000010120D1062D600107F0000007F00000F1 +:10CAD000020130D0010140D1062D6002010170D465 +:10CAE00007F00000020150D0030160D1053FA83AD1 +:10CAF0000600000807C0000007600C41050F80FF1A +:10CB000001202003073FA00A0600000107F00000F3 +:10CB100005601041050F80FF032FA06903800066A8 +:10CB2000DCDAB5250280000400000000000080006F +:10CB30000000068C040F801F012FA8C9040F801F5E +:10CB4000063FA091060000100320000507420000E8 +:10CB5000050FB000040F801F073FA011060000382A +:10CB6000040F801F053FA8590700003A050FE00099 +:10CB70000581800A0684004A04958019030E00117D +:10CB8000072E4200038000140291001F050010C010 +:10CB9000044820010781811E06483001078181A6D3 +:10CBA00002920029068B0029008A01AB050010C003 +:10CBB00006780001050007C0068182FE06780001A4 +:10CBC0000500F800058183480291003E050FE02B27 +:10CBD0000286003E03681E1D03D0002E0380035C06 +:10CBE0000280003E0280003E0280003E0280003E45 +:10CBF0000280038A0280003E0280003E0380039F81 +:10CC00000280003E0280003E0280003E0280003E24 +:10CC10000280003E0280003E0280003E039200CF70 +:10CC2000040FE0310286004A06000013050FB00031 +:10CC3000066C0073048104AE014920E40481804A3B +:10CC400003400000076C0A00058180420696004CF4 +:10CC500003B900F305908014010170E10778001713 +:10CC600003E00000068100B5050010FF0179FE1702 +:10CC7000031FFFFF070000FF05600800050F80FF8E +:10CC8000073FA0090600000106780002028000406C +:10CC9000037C00FF038000000681006B0249F00264 +:10CCA000068100CE0448E0020681006B05600E009C +:10CCB000050F80FF073FA00906000001067800026B +:10CCC00007FFFF00037C00FF05000200048180CE07 +:10CCD000064BD40102D0006D038000CC02800075A9 +:10CCE0000280007F02800089038000930280009D03 +:10CCF000028000AB038000CC050FE027008680791E +:10CD0000010280000280007C07600027050F80FF81 +:10CD1000032FA00A010270000340002B028000CE06 +:10CD2000040FE025008680830302600002800086F5 +:10CD300006600025050F80FF032FA00A03025000A4 +:10CD40000340002B028000CE050FE0210186808D7C +:10CD5000010220000380009007600021050F80FF82 +:10CD6000032FA00A010210000340002B028000CE16 +:10CD7000040FE02300868097010240000380009AA0 +:10CD800006600023050F80FF032FA00A0302300076 +:10CD90000340002B028000CE05600800050F80FFD5 +:10CDA000012FA8390448E001058180A90678000414 +:10CDB00007FFFF00037C00FF05000700078100A9B3 +:10CDC00004A00107028000CE050FD000028000CE33 +:10CDD000040FE029018680AF0302A000038000B2A7 +:10CDE00006600029050F80FF032FA00A03029000B0 +:10CDF0000340002B028000CE01640817058280CC1E +:10CE0000070FF01702D000B9028000C1038000C3F1 +:10CE1000038000C6038000C9038000CC038000CCDF +:10CE2000038000CC038000CC03E0000003800014EA +:10CE3000059080C3030160E1028000CE059080C6AA +:10CE4000030150E1028000CE059080C9010140E15C +:10CE5000028000CE060FC01307A0068403800014D2 +:10CE6000014940E401A180D20280004A02681E0DFF +:10CE7000050FB0FF04600876050F80FF053FA80985 +:10CE80000600000105488003058180E10400800D53 +:10CE90000120D000013E400005000200060090760F +:10CEA0000400207506A0067007C00000072E480089 +:10CEB00007000012018680E7060FC01307C00000BC +:10CEC000000120130747F00005600800050F80FFF0 +:10CED000012FA8390249F001078100F90101200062 +:10CEE000052E4C0007C00000050FD00007C0000051 +:10CEF000070000EB0349F000058180E805600800A9 +:10CF0000050F80FF012FA8390678000407FFFF00F6 +:10CF1000037C00FF07000300048180F10448E00166 +:10CF2000048180F10079C10107FFFFFF027A4B0104 +:10CF30000380000005600800050F80FF012FA80A8C +:10CF400007F0000006601807070030FF050F80FF9C +:10CF5000012FA809050F8003032FA00A040FE00189 +:10CF60000186011404600201050F80FF032FA00A4F +:10CF700007C00000050FE03002868119070300009A +:10CF8000050310000180011D07600030050F80FFC0 +:10CF9000032FA00A0703000007C00000022C0004B2 +:10CFA000056C041D04810134056C021D0481014CD3 +:10CFB000056C081D04810180056C0E1D0481015E55 +:10CFC000076C061D0581019A0521D0000002E013BF +:10CFD0000202C013020200130460021A050F80FF50 +:10CFE000053FA80A0700000903B600E20484801F79 +:10CFF0000280004A040FE02C0086012A060000137C +:10D00000040010130760122D050F80FF032FA012DC +:10D0100007F000000742002B0660002C050F80FF80 +:10D02000053FA80906000001050FE003008601493D +:10D03000010280030660002C050F80FF053FA80A4F +:10D04000070000090080019B00028013000270139A +:10D050000080019B040FE02C008601290742002B71 +:10D060000660002C050F80FF053FA809060000019F +:10D07000050FE0030086015B030260030660002CDD +:10D08000050F80FF053FA80A070000090080019BEB +:10D0900002026013020250130080019B040FE02C77 +:10D0A000008601290742002B0660002C050F80FF37 +:10D0B000053FA80906000001050FE0030086016D89 +:10D0C0000302A0030660002C050F80FF053FA80A9D +:10D0D000070000090180016F0202A01302029013F1 +:10D0E0000647F020064860200781817407A0034DA1 +:10D0F00000800179007A01200400010107A0034D9E +:10D100000400802C07A006690349A0E40581017D85 +:10D110000421D0080080012A029481290521D0052C +:10D120000080012A040FE02C008601290742002B11 +:10D130000660002C050F80FF053FA80906000001CE +:10D14000050FE0030086018F010220030660002C1A +:10D15000050F80FF053FA80A070000090080019124 +:10D1600000022013000210130647F020007A01206D +:10D170000400010107A0034D0400802C07A00669EC +:10D18000029481290521D0050080012A0080013206 +:10D190000647F02006486020078181A007A0034DC4 +:10D1A00000800129007A01200400010107A0034D3D +:10D1B0000400802C07A0066900800129040FD02CF0 +:10D1C000052E40030020801007A006690080013270 +:10D1D0000001809807480018068181BC0548101896 +:10D1E000068181BA05482018078181B807483018A0 +:10D1F000068181B6002FB004018001BD012FB0036C +:10D20000018001BD002FB002018001BD002FB001DF +:10D21000018001BD012FB0000179FE78070000FFF9 +:10D22000030190FF00017086048B01C10338500098 +:10D23000030200000778001700430407068182A755 +:10D24000046C041904810246046C0219048101CDA6 +:10D25000072190000080022A07219000074830171C +:10D260000581023005482017048102370448B07553 +:10D270000681822A04601676050F80FF073FA022F0 +:10D280000600003E06000080050010810500208297 +:10D29000060030830500408406601E76050F80FF7F +:10D2A000022FA02A04487075048102290660447682 +:10D2B000050F80FF032FA00903680600056C02FF1D +:10D2C0000681822307000090074B0000050FE00055 +:10D2D000008602230560027B050F80FF032FA00953 +:10D2E00007F0000005600E00050F80FF032FA00966 +:10D2F00007F00000074B0000070FF08D0179FEFFDB +:10D30000070000FF055C040004810223070FF017EB +:10D31000037A00FF05000400010170FF04603E76FF +:10D32000050F80FF034A8400034A88000578010046 +:10D33000070000FF055A0400074B0A00077BFF00A7 +:10D34000070000FF032FA00A07F0000006603C76EC +:10D35000050F80FF07300FFF070FFFFF032FA00A05 +:10D3600007F0000006604876050F80FF0700008D7B +:10D37000017A010007FFFF00032FA00A07F0000059 +:10D3800004604A76050F80FF07300FFF070FFFFF8D +:10D39000032FA00A07F0000004604076050F80FF0D +:10D3A00006000013032FA00A0245A075018002AFFA +:10D3B00006603C76050F80FF053FA8420600004549 +:10D3C000058B022702085013072190000778007888 +:10D3D00007FFFF00045A0419010780FF0484801F1F +:10D3E0000280004A040FE07F0186023F05A0025F31 +:10D3F0000092022A040FE07F07A6825F0080022AC3 +:10D400000760127B050F80FF032FA0090744F0007F +:10D410000760127B050F80FF032FA00A018001D453 +:10D42000052E400C040080FB046AA10806009076DB +:10D430000400207506A006700080022A06219001D3 +:10D440000548201705810253048B0249060FF08618 +:10D450000349F0FF078181C007483017058102505A +:10D46000050FD0FF040FE07F07A6825F0080022A2D +:10D470000500408404A002E00092022A070FF07D1C +:10D480000450047C056004FF050F80FF032FA009F2 +:10D49000070FF00000540479030790FF0080023763 +:10D4A000044870750481026704605276050F80FF9E +:10D4B000032FA009060FF0790154040001800269CE +:10D4C000060FF0790054047A058202A0058102A0BB +:10D4D000070FF07D0450047C050F80FF002FA81972 +:10D4E000058B026F034960E40581027802681E0122 +:10D4F000068182760364220307828278013E40001F +:10D500000700300002080001000810020108200393 +:10D51000058B027B04487075058102810238500139 +:10D520000301000000800283033850000301000063 +:10D5300002400019070FF00304500479030790FF1D +:10D540000340007E0642007F058102A0070FF07EA7 +:10D55000050F80FF032FA009050FE0000386829FBF +:10D56000070FF07D056002FF050F80FF032FA00964 +:10D570000107D000008602A107600A7D050F80FF29 +:10D58000032FA00903681E000550041B050F80FF30 +:10D59000032FA0090107E000070FF07E0180028B36 +:10D5A0000307C00007C00000052E400C040080FBEC +:10D5B000046AA108060090760400207502800670B7 +:10D5C000040FD076050FD017060FF086077800FFFE +:10D5D00007000060037C00FF07000060078182A94C +:10D5E0000778007807FFFF00045A0419010780FF3D +:10D5F00004487075058102CA077800170500040009 +:10D60000058102CA04601676050F80FF073FA0223D +:10D610000600003E0249A075078182C3058B02BE49 +:10D6200006603C76050F80FF053FA84206000045D6 +:10D63000052E400C040080FB026B4108060090762A +:10D640000400207506A0067002800029046016768A +:10D65000050F80FF073FA0220600003E052E400C6C +:10D6600004600876050F80FF053FA8090600000149 +:10D6700005488003048102DA0400D0FB066A810DAC +:10D68000013E40000700030002800029040080FBE7 +:10D69000066A8108060090760400207506A00670D0 +:10D6A000028000290240007F0742007E050F807E35 +:10D6B000032FA009050FE000038682FA070FF07D13 +:10D6C000055C047B048102EF0760007D050F80FF8D +:10D6D000032FA009050FE000028682EF070FF07B01 +:10D6E0000107D0FF07600A7D050F80FF032FA00907 +:10D6F00003681E000450041C0107E0FF050F80FFB3 +:10D70000032FA009050FE000018602FC0307C000FB +:10D7100007C00000040FD07603800684010180C09A +:10D720000548E018058183170748F0180481831322 +:10D73000034900180581830F014910180481830BE8 +:10D74000073C000006000040022000040280031A8B +:10D75000073C000006000020032000030280031A9B +:10D76000073C000006000010022000020280031A9D +:10D77000073C000006000008022000010280031A96 +:10D78000073C00000600000406000013050FB0006F +:10D79000040FE0760286033D046C02730481832942 +:10D7A0000448B0750781033006000013040010130D +:10D7B0000760127B050F80FF032FA0120046B07593 +:10D7C00003B600E202800331066C00730781032E6A +:10D7D000040FD07607A0068403800014040FD076CF +:10D7E0000280033100452075000770130647F0756D +:10D7F000064860750481833707A003530280033D08 +:10D80000007A01750400010107A00353040080762B +:10D810000245F00807A0066907273000056002727C +:10D82000050F80FF053FA80A070000090379FF786C +:10D83000070000FF02076013020750130484801FD3 +:10D840000280004A070FC0FF052E400C00208020F8 +:10D8500007A0066902800346060000200400101697 +:10D860000460082C050F80FF032FA01207C00000E2 +:10D8700006000075040010A2044B0801060FF01604 +:10D88000065A000104600876050F80FF032FA012DE +:10D8900007C00000040FE02A028603620421D007BB +:10D8A0000202C02A07A003A60380037E050FE02220 +:10D8B0000286036D0421D0040302C02207A003A640 +:10D8C000044880200781037E040FD02C0521D0005E +:10D8D0000202C01302020013040FE0260386038431 +:10D8E0000421D0010202C02607A003A600683E2042 +:10D8F000070060FF056C0206078103D8056C04066B +:10D90000068103EF076C0606058104650448802044 +:10D9100004818380056C16060481047307A00660E9 +:10D9200002800398040FD02C0521D0000202C013FE +:10D9300002020013050FE028028603980302C028A4 +:10D940000421D00207A003A6028003AD040FE02A41 +:10D95000038603900421D0070202C02A07A003A671 +:10D9600002800397050FE022028603980421D00469 +:10D970000302C02207A003A6044880200581839AE1 +:10D9800007A006600484803E0280004A040FD02C69 +:10D990000521D0000202C013020200130280039886 +:10D9A000040FE02A028603980421D0070202C02A4D +:10D9B00007A003A607A00660028003980460082C55 +:10D9C000050F80FF032FA039030200000102D005DC +:10D9D0000101800607C000000400702C05A004A609 +:10D9E000007A01010706000007303000070082902E +:10D9F00007600018050F80FF053FA8090700000316 +:10DA00000448E007058183BB06006013028003C25F +:10DA100002400010078103BB060060100460342C34 +:10DA2000050F80FF073FA00A07000003050F801EB7 +:10DA3000032FA03A063AA02006000002013E400053 +:10DA400007000030029803C8070FF0F6036830FFA4 +:10DA5000058183C9070F001E0760122D050F10FFF7 +:10DA6000063F3C080600000D013E40000600002075 +:10DA7000040F801A0320000A022017D0032FA012DF +:10DA8000028003980400701305A004A6007A010127 +:10DA9000070500000730300007008890074D00059B +:10DAA00006006013050F801E032FA03A07F0000048 +:10DAB00005601C2D050F80FF022FA0190400100225 +:10DAC00004002013040F801F022FA01A073AA00C95 +:10DAD0000600000207300C030600000D01800493CD +:10DAE0000400701305A004A6007A010103070000DA +:10DAF00004602A2C050F80FF073FA00906000004E0 +:10DB000002499008078103FC073030000700889025 +:10DB1000028003FE07303000040089800500700396 +:10DB2000074D000506006013050F801E032FA03A65 +:10DB300007F000000560162D050F80FF032FA021C0 +:10DB400007F00000064B0002024990080581040C12 +:10DB50000644C002054B0400050040FF066981042D +:10DB600007818421060000130400101304780102C9 +:10DB70000600001006003013040040130600501386 +:10DB80000600601304007013006440150582041D34 +:10DB90000444800202205008040F801F032FA0427B +:10DBA000040080150080045D046C80040681842FCD +:10DBB00001208018067800020700000306818432E5 +:10DBC0000600300106000013040010130400401387 +:10DBD00006005013040F801F022FA0320080045D46 +:10DBE000040FD02C07A00684038000140379FF03E0 +:10DBF000070000FF0448800205810439070FF00385 +:10DC000004500408050080FF0379FF00070000FFAF +:10DC10000648900204810440070FF00004500408F5 +:10DC2000050080FF0700500305004000060030019A +:10DC30000600001304001013040F801F022FA032EF +:10DC400007F0000007601E2D050F80FF022FA03196 +:10DC500007F0000006600C1F050F80FF022FA032A6 +:10DC6000026806080481045D016408FF057DFEFF6B +:10DC700007FFFFFF034000FF045A0407070000FFEF +:10DC80000760061E050F80FF032FA00A07F00000A3 +:10DC9000066009080669F908027A000806000020F3 +:10DCA000070AA0FF024A2408037A00FF060000DCEE +:10DCB000070000FF018004930400701305A004A670 +:10DCC000007A01010703000007303000070081904F +:10DCD00006006013050F801E032FA03A073AA0002C +:10DCE0000600000207300C000700000501800493C5 +:10DCF0000400701305A004A6007A0101078100004A +:10DD000007303000070000900600601304600E2CFE +:10DD1000050F80FF053FA8090700000304780107ED +:10DD200007FFFF00007C01070700050006818486CD +:10DD30000730300005000890074D000504602A2CCC +:10DD4000050F80FF053FA809070000030049D00721 +:10DD50000581048D02206001050F801E032FA03A6B +:10DD6000073AA0000600000207300C00070000057B +:10DD7000013E40000700003001980495070FF0F6BF +:10DD8000036830FF07818496070F001E040F101FE1 +:10DD9000070F3000013E400006000020040F801AEB +:10DDA0000320000A022017D0032FA012028003983C +:10DDB0000320000006006076008004A80320001104 +:10DDC0000600602C07A0058E05600406050F80FF85 +:10DDD000053FA8090600000207C0000002076031E5 +:10DDE00004600876050F80FF032FA0390307500059 +:10DDF0000107B0050101800606600076050020FFDE +:10DE0000050F80FF032FA01105031000038684C5B2 +:10DE100004031001038684C3060300130760181867 +:10DE2000050F80FF053FA80A07000009008004CB0A +:10DE300006030001008004CB040FE001018604BE4C +:10DE400007600030050F80FF012FA80A06030001BC +:10DE50000600001304001013040F8002032FA01209 +:10DE6000062730010448B075068184D60660227604 +:10DE7000050F80FF053FA8110700003C0179FE78DF +:10DE8000070000FF030190FF038684DE04A004F274 +:10DE900000078019009204F103800587040FD076F3 +:10DEA000040FD01904600276050020FF050F80FFE3 +:10DEB000032FA009040F8002053FA80A07000009EC +:10DEC000050FE000038684EE07601818050F80FF39 +:10DED000053FA80A07000009008004EF05A001140F +:10DEE00007273000020760130280004A048B04F207 +:10DEF000033850000703000005600818050F80FF75 +:10DF0000032FA00907F00000054B04000308A0FF41 +:10DF1000044870750681051506604476050F80FF7C +:10DF2000012FA81100680701046C02010481851506 +:10DF30000279FF02070000FF0379FF00070000FFDE +:10DF400005001000060FF0020154040006820513BC +:10DF500004001002060FF00104500402070030FF15 +:10DF60000154040006820513050010030581850C89 +:10DF700000088001038005180179FE00070000FFFA +:10DF8000010880FF0448B0750681052F0560167BE7 +:10DF9000050F80FF002FA8190208000201081003D6 +:10DFA000064B000100082001034960E406810529B1 +:10DFB00002681E02058185270264220104828529E8 +:10DFC000013E4000070030000208300102079001C6 +:10DFD0000207A001000840130207F0130280057F2A +:10DFE000064850750781055602465075046016763E +:10DFF000050F80FF073FA0210600003E070FF07DC0 +:10E000000450047C050F80FF002FA819078B053AE8 +:10E01000034960E40681054302681E0105818541CC +:10E020000364220304828543013E40000700300060 +:10E0300002080001000810020108200303079003F2 +:10E04000044870750781054E04605276050F80FF05 +:10E05000032FA009030830000280054F0208307A20 +:10E060000340007E0642007F0781056F070FF07EA8 +:10E0700005A0028B0192856F02800586078B0556ED +:10E0800004601676050F80FF073FA0410600003EA2 +:10E0900007F000000448707506810562046052763E +:10E0A000050F80FF032FA00903083000034960E437 +:10E0B0000781056F014980E40581856F06601E7642 +:10E0C000050F80FF022FA01903681E000481856DD3 +:10E0D000026422020582856F013E40000700300085 +:10E0E00004602676050F80FF073FA00906000007A1 +:10E0F0000008400E044870750681057F068B057682 +:10E1000006603C76050F80FF053FA84106000045EC +:10E11000078B057B02385001030100000380058254 +:10E12000068B057F03385000030100000621900193 +:10E13000040FE07F028605860180025F07C00000B1 +:10E1400000683E750681058C0448D075068105C1BE +:10E15000038005F906A00664008004F10197859C00 +:10E1600007602418050F80FF012FA8090678000119 +:10E17000070000FF075A000005602618050F80FF02 +:10E18000012FA809060FF0010569FEFF054B08FFE6 +:10E19000075A000005600418050F80FF012FA80929 +:10E1A000040FE007018685A301204000038005B825 +:10E1B00005600E06050F80FF073FA009060000025C +:10E1C00007F00000064D0004007001040301000088 +:10E1D0000678000407FF0000076C00FF058185B189 +:10E1E0000070010403010000064D000405600E06E6 +:10E1F000050F80FF073FA00A0600000207F000009D +:10E20000044B08040279FF010700FFFF0560261890 +:10E21000050F80FF073FA009060000010279FF02F9 +:10E220000700FFFF07C00000040070760448B075C7 +:10E23000078105DB032000110600607604A004A816 +:10E24000007A0101070600000730300007008290C5 +:10E2500007600018050F80FF053FA80907000003AD +:10E260000448E007048185D306006013028005F4AA +:10E2700002400010068105D3060060100460347669 +:10E28000050F80FF073FA00A07000003028005F486 +:10E290000600007A02493075058185E404602C7619 +:10E2A000050F80FF032FA009060FF07A0550040028 +:10E2B000070000FF0647307504602C76050F80FFCD +:10E2C000032FA00A05A004A3007A010103010000A6 +:10E2D00006303008050080000049B075078105F35D +:10E2E00006603676050F80FF073FA0090600000292 +:10E2F0000600600E050F8074032FA03A053079A048 +:10E300000700000C0280064000683E75076C0AFF9B +:10E3100006810616040070130320001106006076C3 +:10E3200004A004A8007A01010307000004602A7613 +:10E33000050F80FF053FA80906000001034990036F +:10E340000681060D0730300007008890053079A05F +:10E350000700000C0380061107303000040089809C +:10E36000043079200700000C074D000506006013FB +:10E37000050F8074032FA03A0280064004602C76BB +:10E38000050F80FF032FA009060FF07A0550040047 +:10E39000070000FF0647307504602C76050F80FFEC +:10E3A000032FA00A0400707605A004A3007A0101DF +:10E3B000030100000630300807008800074D000503 +:10E3C0000049B0750781062E06603676050F80FF7E +:10E3D000073FA009060000020380063606600A76A1 +:10E3E000050F80FF073FA0090700000307F00000AA +:10E3F000054B0406045A0404050040FF0600600EA5 +:10E40000050F8074032FA03A0648C0750681063EAA +:10E4100006307D200700000C028006400430792081 +:10E420000700000C0049B075078106480447B07525 +:10E4300004600876050F80FF053FA80A0700003A30 +:10E440000246F007013E4000070000300298064AED +:10E45000070FF0F6074850FF0581864B050F207423 +:10E46000060A0007040070FB046A7007050F40FFEE +:10E47000013E4000060000200320000A022011F4A3 +:10E4800000202004060030130678007A07FFF00011 +:10E490000681065D0020200E050F8072032FA0224A +:10E4A000008004F1012080600600902C04002020F0 +:10E4B00002800670040080FB066AE1080600907680 +:10E4C0000400207502800670032011000484866E0B +:10E4D000064200010581866A03800687020E000855 +:10E4E00007C00000050FD009040FD0080320110059 +:10E4F00005848677064200010481867303800687BF +:10E50000007A01020400010105600809050F80FF7F +:10E51000073FA00A06000001020E000807840681DA +:10E52000030E000907C0000001011009052E430079 +:10E5300007C00000052E400F01208090038006696F +:10E54000070FC0FF040F8013032FA0090280068A63 +:08E550002BAC147EFFEEA9487C +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/bnx2x/bnx2x-e2-7.2.51.0.fw.ihex +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/bnx2x/bnx2x-e1-7.2.51.0.fw.ihex +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/bnx2x/bnx2x-e1h-7.2.51.0.fw.ihex +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/radeon/VERDE_ce.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/VERDE_ce.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000D440007F7C4080015B +:1000100088000000C420000BC60C000594C000241A +:100020002450000F3114000295400004CC400024FD +:10003000CC40002580000000311400039540013BB6 +:10004000CC400026CC40002780000000C420000BDC +:10005000CC2000057C410001505400207C418001EF +:1000600006240001CE400000159C00187D15001AE2 +:10007000CDE0000ACDA0000CD1200003CDA00003EC +:100080009A000004C42400129A40000221DC0030CF +:100090008000014CC420000BC60C00051CA80010F9 +:1000A00094C00003CEA0000780000015CC0000091A +:1000B000C424007FC420000B7C4180010A20000181 +:1000C000C6140008C61800057D59800ACE0000003D +:1000D00095800003CC20000780000000CC200005A4 +:1000E000800000007C40C00114D0001E31140002CA +:1000F0009540010E18D001E818D4003018D800340B +:10010000052800447C4200017C4240019500000724 +:100110008680000080000150800001508000015066 +:100120008000015080000052115400107E16000A19 +:10013000CD400011D46100009580FFB2C439214048 +:100140007C4080018800000011540010526400209F +:100150007E26001ACD400011D46200009580FFA9D0 +:10016000C420000E9A00FFFF7C4080018800000040 +:100170007C40C00114D0001E31140002954000EBF9 +:1001800018D4003018D001E818FC003424CC000F3B +:1001900004E800687C4180017C41C00194C00012E9 +:1001A00086800000800000728000015080000150B5 +:1001B000800001508000006F8000015051DC002061 +:1001C0007D9E001A8000007F51DC00207D9D801AFA +:1001D00099400003C5A200008000007FC9A2000072 +:1001E0008000007FC5A10000954000050598000132 +:1001F000C5A50000526400207E26001A0528008351 +:100200007C4180017C41C001950000078680000090 +:10021000800001508000015080000150800001509A +:1002200080000093D8000011CE1900009540000412 +:100230000598000156200020CE19000097C0FF71DC +:10024000C43921407C4080018800000051DC00203E +:100250007D9D801AD8000011CE1A00009540000440 +:100260000598000456200020CE1A00009BC0FFBD58 +:100270007C40800188000000D80003F6D80003F518 +:10028000D80003F4D80003F3D80003F2D80003F138 +:10029000D80003F0D80003EFD80003EECC40007F75 +:1002A000CC40007FCC40007F7C40C001CCC000012E +:1002B000D440007F800000007C40C00150500020EE +:1002C0008C0000CB7CD0C01AC420000BC4D6000028 +:1002D0007C438001C42400139A000009D86403F40D +:1002E000C66B03F19A80FFFFC66B03EE06A8000100 +:1002F000CEA403EECD6403EBD82403F499400009A7 +:10030000DF830000CFA0000E8C0000CFD440007F20 +:100310009A00FF3CC67303EE9B00FFFF80000000C5 +:100320008C0000CF7C40800188000000D8000002D3 +:10033000C43C000D9BC0008390000000D840000228 +:10034000C43C000D97C0007F90000000D800001250 +:100350007C40C00150500020C43C001027FC00012C +:1003600097C0FFFE7CD0C01AD0C00014CC4000154E +:10037000C41000217C50C001CCC00016D80000136E +:1003800080000000C41000217C50C001CCC00017C8 +:10039000D440001880000000C41000217C50C0012F +:1003A000CCC00017C41000207C50C001CCC0001984 +:1003B00080000000C41000217C50C001CCC0001A95 +:1003C000CC40001B7C40C001505000207CD0C01AA3 +:1003D000D0C0001C80000000CC400021D8000022CA +:1003E000800000007C40C001505000207D0D401A6C +:1003F000D8400029C818001D7D95C00F95C0FFFE8C +:10040000D8000029800000007C40C001C810001DF9 +:10041000C814001E7D15800E9980000FD840002959 +:10042000C810001D7D5180127D8DC00F99C0FFFD49 +:10043000D800002950E000017E16400E9A400004CA +:100440007D628012D280002380000000D000002353 +:1004500080000000D8800029C43C007FCC00002030 +:10046000D8400028C40C001C98C0FFFFD80000280A +:100470007C410001505400207D16001AD200001E5D +:10048000D840001D80000000CC000020D84000288B +:10049000C40C001C98C0FFFFD8000028D000001E2C +:1004A000D000001FD840001D7C41000180000000EA +:1004B0007C40C0017C4100011518001FCD000011D7 +:1004C0005114002099800003D44D000080000000EA +:1004D0007D4D401A191C0031D4560000C420000E76 +:1004E00095C0FEC8C420000E9A00FFFF80000000E7 +:1004F0007C40C0017C41800114D0001E31100002FC +:1005000024D400FF9500FEBFCD94030080000000BE +:10051000C42000137C40C001C4D30300CC000011F0 +:10052000CD21214180000000D440007F80000000E8 +:10053000C424007E964000037C40800188000000B7 +:1005400080000150000000000000000000000000DA +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:100990000000000000000000000000000000000057 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D0000000000000000000000000000000000017 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A100000000000000000000000000000000000D6 +:100A200000000000000000000000000000000000C6 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A50000000000000000000000000000000000096 +:100A60000000000000000000000000000000000086 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000000000000000000000000085 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA0000000000000000000000000000000000045 +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE0000000000000000000000000000000000005 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C200000000000000000000000000000000000C4 +:100C300000000000000000000000000000000000B4 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C60000000000000000000000000000000000084 +:100C70000000000000000000000000000000000074 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0000000000000000000000000000000000034 +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000000000000000000000000000000000F4 +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D300000000000000000000000000000000000B3 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000000000000000000000000073 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB0000000000000000000000000000000000033 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000100020010014A001100050019002D16 +:102010000031002500330013008000D3008100E16F +:10202000008200E6008300ED003700390040005CCC +:102030000044009E008400F6008700F90088010239 +:1020400000890117007D013C007E0144007F012CC6 +:10205000002200AE008B01220000000200000002FE +:102060000000000200000002000000020000000268 +:102070000000000200000002000000020000000258 +:102080000000000200000002000000020000000248 +:102090000000000200000002000000020000000238 +:1020A0000000000200000002000000020000000228 +:1020B0000000000200000002000000020000000218 +:1020C0000000000200000002000000020000000208 +:1020D00000000002000000020000000200000002F8 +:1020E00000000002000000020000000200000002E8 +:1020F00000000002000000020000000200000002D8 +:1021000000000002000000020000000200000002C7 +:1021100000000002000000020000000200000002B7 +:1021200000000002000000020000000200000002A7 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/VERDE_pfp.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/VERDE_pfp.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000CC800000D4400000CB +:100010007C40800188000000CC800000CCC0000043 +:10002000D44000007C40800188000000244C000F78 +:1000300030E80002249000029A80000C7C414001CC +:10004000505800207D95C01A98C00003D1C00019F7 +:100050008000000099000003D1C0001A8000000059 +:10006000D1C0001B80000000C4200015C624000A77 +:100070009640016B7C4100017C414001CC80000036 +:10008000CCC00000CD000000CD400000CD00002D10 +:10009000CD40002E7C40800188000000CC80000014 +:1000A000CC400000CC00001280000394CC4000281B +:1000B0007C40800188000000C80C001B7CC500113A +:1000C000D1000003D8C00003CC800000CC000000A9 +:1000D000CC4000007C40800188000000C80C001A61 +:1000E0007CC50011D1000003D9000003C41C00101E +:1000F000CC00001499C00004C41C0005CDC0000051 +:10010000CC000000C42800091AA80030202C007E72 +:1001100022EC4E4896800002D8800022CEC000001B +:10012000D8000000CC400000CC4000001C8800102B +:10013000CC800000CC4000007C40800188000000A2 +:10014000C80C001A7CC500117C4140017C41800133 +:100150007C41C0017C4200017C42400195C0FFA966 +:10016000D1000003D9000003C4280010CC00001403 +:100170009A800004C4280005CE800000CC00000056 +:10018000C42800091AA80030202C007E22EC4E481A +:1001900096800002D8800022CEC00000D800000067 +:1001A000CD400000CD8000001C88001009DC00015B +:1001B000CC800000CE40000095C0FF927D21001150 +:1001C00080000058C80C001A7CC50011C51600003C +:1001D0009540031D281800047D198011C596000064 +:1001E00095400319CC000026D1000027D100000360 +:1001F000D9400003C41C0010CC00001499C00004B6 +:10020000C41C0005CDC00000CC000000C4280009BB +:100210001AA80030202C007E22EC4E489680000266 +:10022000D8800022CEC00000D8400000CC400000A2 +:10023000CC4000001C880010CC800000CC400000A6 +:100240007C40800188000000C80C001A7CC50011A9 +:10025000C5160000954002FC281800047D19801185 +:10026000C5960000954002F87C4140017C41800128 +:100270007C41C0017C4200017C42400195C0FF618D +:10028000CC000026D1000027D1000003D940000394 +:10029000C4280010CC0000149A800004C428000573 +:1002A000CE800000CC000000C42800091AA800304D +:1002B000202C007E22EC4E4896800002D88000223E +:1002C000CEC00000D8400000CD400000CD8000002E +:1002D0001C88001009DC0001CC800000CE4000002A +:1002E00095C0FF487D210011800000A0C4180008BF +:1002F00025980001D800001D7C4240017C4280010D +:10030000958002D152AC00207EE6C01A7C40C0012C +:100310007C410001C41C001199C0FFFF1C88001023 +:100320002088007010D400027ED54011D140000317 +:10033000CD000003CC800000CE400000CE80000045 +:10034000CCC00000DC3A0000CD0000009780FF2DFB +:100350007C40C0017C410001800000C9C410000F36 +:10036000C41C000499000004CC000012CDC00000A1 +:10037000CC000000C418000825980002800000BDD1 +:10038000248C0002C4100010C418000898C0000893 +:1003900099000005C41C0005CC000013CDC000006E +:1003A000CC00000019980030800000BD199800387A +:1003B000800000BDC41C0004CDC00000CC000000C3 +:1003C000CC800000D44000007C4080018800000008 +:1003D000C41C0004CDC00000CC000000C80C0019F3 +:1003E000CC800000CC400000105000027D0D0011B8 +:1003F00055140020D1000003D8400003CC000000B9 +:100400007C40800188000000C41C0005CDC00000B5 +:10041000CC000000CC800000D44000007C40800173 +:1004200088000000C41C0005CDC00000CC00000006 +:10043000C4240024C80C001CC65303E8CC80000070 +:10044000CC400000511000207CD0C01A7CC50011A7 +:10045000551400207D45800ACD000000CD800000AD +:100460007C408001880000007C40C001505000208A +:100470007D0D401AD1400018CC0000257C40800141 +:10048000880000007C434001C81C0018C4180017F5 +:100490001C880010208800307C4140017D58C00439 +:1004A0007CDCC01154D000207C414001CC80000095 +:1004B000CF43A29ECCC3A1FACD03A1F9CD43A29D07 +:1004C000CD400000CC4000007C408001880000004E +:1004D0007C4340011C880010208800307C40C00113 +:1004E0007C4100017C414001CC800000CF43A29EB2 +:1004F000CCC3A1FACD03A1F9CD43A29DCD4000000C +:10050000CC4000007C408001880000007C40C0019D +:1005100024D00001CCC3A29FD84000179500000250 +:10052000D8800017CC800000CCC000007C40800147 +:10053000880000007C40C001CC800000CCC3A2A297 +:10054000CCC000007C40800188000000C41C001D5D +:100550007C40C00131E0000014D4001F7D614009DF +:10056000CC8000007C41000195400002CCC0001FFF +:100570001518001FCCC00000CD00000095800002BF +:10058000CD000020CC00007F800003942008007E76 +:10059000208807E8C42000151CA80010CEA0000485 +:1005A0007C410001505400207C4180010624000160 +:1005B000CE400015159C00187D15001ACDE00009ED +:1005C000CDA0000BD1200001CDA00001C42C00243F +:1005D00055300020D100001CCF2C03E89A00000801 +:1005E000C4240023C420001D7E42401E2664000156 +:1005F0007E62400A9640000221DC0030CDC000003F +:1006000080000394C4200015C60C000A1CA800102A +:1006100094C00003CEA0000680000168CC00000852 +:1006200080000188C42000157C4180010A2000015F +:10063000C614000DC618000A7D59800ACE000015A8 +:1006400095800004CCA00006CD60000680000394D5 +:10065000CCA00004CD600004800003947C40C00165 +:1006600014D0001E311400019500FE6C954001F677 +:1006700018D001E818D4003018D80034052801A398 +:100680007C4200017C42400195000007868000000A +:1006900080000398800003988000039880000398EE +:1006A000800001B1115400107E16000ACD400021D7 +:1006B000D46100009580FE53C43921407C40800104 +:1006C0008800000011540010526400207E26001A99 +:1006D000CD400021D46200009580FE4AC420001362 +:1006E0009A00FFFF7C408001880000007C40C00130 +:1006F0007C4100017C4380017C43C00151100020FB +:1007000053FC00207FBF801A7CD0C01A041C00104C +:10071000D3800002D8800002D0C00002CDC0000209 +:10072000041C0004042000017C024001C4170003E3 +:10073000C41B0003519800207D59401AC42B0003AC +:10074000C42F0003C4330003C437000309DC0001D5 +:1007500052EC00207EAE801A537400207F37001ABE +:100760007F2B40127E76401156A8003F5730003F45 +:100770007EB280097E2A000999C0FFF19680FFE4CD +:1007800053F400207F7B401A7D65401155580020AE +:10079000CC000021CD760000CDB60000C4200013AF +:1007A0009A00FFFF7C40800188000000C4200024E4 +:1007B0007C40C0017C410001CCE003FDCD2003FA68 +:1007C000511400207CD4C01AD0C000021514001FA0 +:1007D000191800F099400002043400002F5C000159 +:1007E0007D7600097D5E400999800004CC000002FE +:1007F000CC00000D8000039415980001152C000812 +:1008000026EC0001998000331530000C960000039F +:10081000CC0000028000039404140010CD400002BC +:10082000273000012828000104380010043C00048F +:10083000C4170003C41B0003C41F0003C423000328 +:100840007D5D400D7DA1C00D7D5D400A1610001F2D +:10085000159C001F7D1D00097D1740097E928009AF +:100860000BB800040BFC00019B4000129BC0FFF181 +:10087000C4200024C60F03FDC61303FA9A800009A2 +:10088000CC00000D9B000173511400207CD4C01AD1 +:1008900004140010D0C00002CD4000028000020904 +:1008A000CC00000D96C0016BCC00000E80000394BC +:1008B000CC00000D9AC00002CC00000E9780FDD144 +:1008C0000BB80001C43F00039B80FFFD80000000C7 +:1008D000CC00000E96400003CC0000028000039480 +:1008E000DA000002C40B0003C40F0003C4130003AA +:1008F000C4170003C41B0003C41F0003C427000364 +:10090000C42B000315FC001F16B0001F7FF3C009A5 +:1009100014F0001F7FF3C0091570001F7FF3C0099A +:100920007D8880027DCCC00297C0000C7E51000201 +:100930007E9540027C90800C7CD4C00C7C8F40095A +:100940009AC000022CB40001CC00000D9B40014174 +:10095000CC00000E80000394C4200024C60F03FDC9 +:10096000C61303FA511400207CD4C01AD0C0000270 +:10097000800002387C40C00114D0001E31140001F8 +:100980009500FDA69540013018D4003018D001E83C +:1009900018FC003424CC000F04E8026A7C4180017A +:1009A0007C41C00194C00012868000008000027467 +:1009B00080000398800003988000039880000271F3 +:1009C0008000039851DC00207D9E001A8000028187 +:1009D00051DC00207D9D801A99400003C5A20000D3 +:1009E00080000281C9A2000080000281C5A1000030 +:1009F0009540000505980001C5A50000526400203F +:100A00007E26001A052802857C4180017C41C001B8 +:100A100095000007868000008000039880000398FE +:100A2000800003988000039880000295D800002180 +:100A3000CE190000954000040598000156200020C2 +:100A4000CE19000097C0FD6FC43921407C40800161 +:100A50008800000051DC00207D9D801AD800002114 +:100A6000CE1A00009540000405980004562000208E +:100A7000CE1A00009BC0FF1A7C4080018800000055 +:100A80007C40C0017C4100011914003B9540001BD3 +:100A9000C41400123D5800029980FFFE191C007D0D +:100AA00019200074C414002531DC0001322000013B +:100AB000CC000021CC0000232910800095C000024A +:100AC0007CD4C0017C424001960000027E56400169 +:100AD000CCC12185CD0121861514001FCE4121876F +:100AE000CC412188CC4121899540FD46C414001297 +:100AF0009940FFFF80000000CC800000CCC00000C7 +:100B0000CD000000D44000007C408001880000003F +:100B1000C4280024D86803F7CC800000CC40000033 +:100B2000C68F03F798C0FFFF7C408001880000005B +:100B3000C4280024C430000FC43400049A80000587 +:100B40009B000004CC000012CF400000CC0000004D +:100B50007C40C001D86803F7CC800000CCC0000006 +:100B6000D440000014D0001F990000BA800002C8D1 +:100B7000CC800000CC400000CC400000CC40000005 +:100B80007C40C001CCC00016CCC00000D4400000A6 +:100B90007C408001880000007C40C001C414001D1E +:100BA00014DC001D18D8003C7CD4C00ACC800000A6 +:100BB000CCC0000099C000039980FD12800003940E +:100BC000CD800024800003947C40C0015050002060 +:100BD0008C0003177CD0C01AC4240015C414002450 +:100BE0007C43800196400008C4D60000994000195B +:100BF000DF830000CFA4000F8C00031BD440007FD4 +:100C000080000000C55F03EE95C0FFFFD85403F1DC +:100C1000C55B03F495800003D81403F19980FFFCB1 +:100C2000C55F03EE3DE000029A000007C56303EBD9 +:100C30009A000005DF830000CFA4000F8C00031B87 +:100C4000D440007F09DC0001CDD403EED81403F1B9 +:100C50008C00031B7C40800188000000D800001E2F +:100C6000C43C001E9BC0007F90000000D840001EC6 +:100C7000C43C001E97C0007B900000008C0003174E +:100C8000C42000157C40C001C036FF00C41000160F +:100C9000C0303FFF7CF540097D5180097D81801D7A +:100CA0007CF3800999800006DF830000CFA0000F4D +:100CB0008C00031BD440007F800000008C00031BCD +:100CC0007C408001880000007C40C00114DC0008EA +:100CD00095C0001924DC00107C4100015054002014 +:100CE00099C00003C51D00008000033D7D15001A5A +:100CF000C51E00007C4200017C4240017C41800115 +:100D00007DE5C0097DE2800F41AC00029A80FCBD08 +:100D100006EC00030AEC00019AC0FFFF24DC00107F +:100D200099C00003C51D000080000340C51E0000DF +:100D300080000340CC800000CCC00000D440000004 +:100D40007C40800188000000C41C0004CDC000006D +:100D5000CC000000CC800000D44000007C4080012A +:100D6000880000007C40C00124D00006311000063D +:100D7000C414000F99000008CC000012C424007EA7 +:100D80009640003899400004C41C0004CDC0000007 +:100D9000CC000000CC800000CCC00000D44000009B +:100DA0007C408001880000007C40C0017C41000143 +:100DB0001518001FCD000021511400209980000358 +:100DC000D44D0000800000007D4D401A191C0031F8 +:100DD000D456000095C0FC8BC42000139A00FFFF7E +:100DE0007C408001880000007C40C0017C41000103 +:100DF00014D4001E3158000224DC00FF954000048A +:100E00009980FC80CD1C030080000000CC80000095 +:100E1000CCC00000CD0000007C40800188000000B4 +:100E2000C42000247C40C001C4D30300CC80000057 +:100E3000CCC00000CC000021CD2121417C408001AC +:100E400088000000D440007F7C40800188000000C2 +:100E5000C424007E964000037C408001880000008E +:100E60008000039800000000000000000000000067 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:102000000003035200050163000600ED000700F421 +:102010000008010200090109001003910011000BE2 +:10202000001200270013002B0016002E002400379A +:10203000002500710026011A00170189002202F212 +:102040000023031F00270134001F01BB002001EB08 +:1020500000280153002A0143002C0050002F014D9D +:1020600000310391003201810033039100340359A0 +:10207000003501210038009200370197003C0332FF +:10208000003F01650040025D004102A0004202C421 +:10209000004302CC004402DC004A02E6005503552E +:1020A000005F00E0006000BB006100D7006900F045 +:1020B000007300F7007601050077010C007B036ACE +:1020C000007D037A007E0388007F039100000002F8 +:1020D00000000002000000020000000200000002F8 +:1020E00000000002000000020000000200000002E8 +:1020F00000000002000000020000000200000002D8 +:1021000000000002000000020000000200000002C7 +:1021100000000002000000020000000200000002B7 +:1021200000000002000000020000000200000002A7 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/TAHITI_rlc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/TAHITI_rlc.bin.ihex @@ -0,0 +1,513 @@ +:10000000C4080027308C000298C00426308C000100 +:1000100098C001FD308C000398C0042380000008C4 +:1000200004180001CD80000ECD80002D8C00011041 +:10003000CC000002CC00000BCC000023C03030E22A +:10004000282C0003CEF10000C0083100C489000054 +:10005000248C000498C00006C03E00D02BFC00FF9A +:10006000C03BFFFFC037FFFF8C000147248C000816 +:1000700098C00006C03E00B02BFC00FFC03BFFFF55 +:10008000C037FFFF8C000147248C001098C0000689 +:10009000C03E00702BFC00FFC03BFFFFC037FFFFDE +:1000A0008C000147CC030008CC030006CC03002DD4 +:1000B000CC03002EC40C00D724E00001CE030009BD +:1000C00024E4000232640002CE43000ACE4300075B +:1000D000CC030000CC030022CC030023CC03001D82 +:1000E000CC030024CC03001CCC03000BC00C00FF8D +:1000F00010CC000828CC00FFC00800FF10880010BA +:100100007CC8C00AC00800FF108800187CC8C00A5C +:10011000CCC30002C01C226F8C0001B1CE83002230 +:100120007E82C00AC01C22708C0001B1CE830023E5 +:100130007EAE800ACE830001C00C310CC4CD00001D +:10014000CCC30005C40F0002C0103103CCD10000A5 +:10015000CCC3000FCC03000DC0100000CC13001066 +:10016000CC130014CC13001805100001310C00044E +:1001700094C0FFFBC40D3103C40C003ACC00002D29 +:10018000C40800039880FFFFCD800010CD800011CF +:10019000CC000012CC00000EC4080036C40C000ACB +:1001A00094C0000CCD80000EC00C30EAC4C9000021 +:1001B000C00C30E9C4C90000C4950000C01002287A +:1001C000CD510000C0100229CD910000CC00000EDE +:1001D000C428000196800006CD80000E280800018A +:1001E000C40C0021CC80000180000095C4080010E0 +:1001F000948000A6C4080011948000A4C4280000C4 +:100200009680000DCD80000E28080001C40C00204F +:10021000CC800000328801BB94800003CC03000036 +:100220008000009D328801BC9480000BCC0300004C +:10023000800000C4C427000096400003CC030000E7 +:100240008000009DC42B000E9680FFD38C00015CC3 +:100250008000006526A800FF14E400041264000872 +:1002600024DC000F7E5CC00ACCC00023CE80000CD2 +:1002700080000065CC00002DCD80000ECC03000076 +:10028000C0303049C7090000C03200107CB1C0093D +:1002900095C0FFC1C0303101C7090000249C000196 +:1002A00095C0001B14AC000826EC00FFC024000120 +:1002B000C02000008C0001E196000003CD83000007 +:1002C000800000658C0000E197800003C40C0010E2 +:1002D00094C00003CD83000080000065C40C001CA6 +:1002E00094C00003CD830000800000C4C030310101 +:1002F000C7090000249C000295C000058C0000FB8B +:1003000096000003CD830000800000C480000065DB +:10031000CD80000ECD80002DC40800129480000214 +:100320008C0000CFC4080010988000028C000110DF +:10033000C42700009A40005980000065C42B0002C9 +:100340008C0001F5C00E80007F8F800AC00E8000F7 +:100350007F4F400A283C00A013FC00102BFC00FF3C +:100360008C000147C01C3105C5ED000012EC0018DF +:1003700026EC00FFC02400008C0001D4CC00001249 +:1003800090000000280C00018C00012E283800018C +:100390008C00013B283800008C0001379780000E4C +:1003A000C0383101C7B9000017B8001027AC07FFEB +:1003B00096C00003C02400008C0001D4CD80000250 +:1003C000C41000039500FFFFCC000010C0380001EE +:1003D00090000000283800008C00013B280C000031 +:1003E0008C00012EC038000090000000C408000FEF +:1003F0009480FFFFC42B00028C0001F5C00E80002A +:100400007F8F800AC00E80007F4F400A283C0090FA +:1004100013FC00102BFC00FF8C000147C01C3105B1 +:10042000C5ED000012EC001826EC00FFC02400010E +:10043000C02000008C0001D4CD800012900000008C +:10044000C40800139480FFFFCC000002C408000F12 +:10045000C41000039900FFFFC02C311EC6ED000040 +:10046000C02400008C0001D4283800008C00013B1F +:10047000283800018C000137280C00008C00012E68 +:10048000CD80001090000000C408001C9480FF4242 +:10049000CD830000800000C4283800008C00013BA0 +:1004A000283800018C000137280C00008C00012E38 +:1004B000CC00002D80000065C0300390C7390000DB +:1004C000C00BFFFE7F8B800910CC00107F8F800A4D +:1004D000CFB10000C739000090000000C0302003F9 +:1004E000CFB10000C739000090000000C030307864 +:1004F000CFB100009000000097800004C0103119B7 +:10050000C51D000099C0FFFE97400004C010311ABD +:10051000C51D000099C0FFFE900000008C00013E48 +:10052000C0143115CF950000C0143116CF5500000E +:10053000C0143118CF150000C010311DC5110000C6 +:100540002510000199000004C0143117CFD5000018 +:100550009000000027D000FF311000FF9900000438 +:10056000C0143117CFD500009000000090000000AB +:10057000CD80000EC4170025994000048C00018D29 +:10058000954000028000016DC00C24D5C413001EEC +:100590008C00016FC4170025994000078C00018D65 +:1005A00095400005C00C24D57E01000ACD03001E35 +:1005B0008C00016FCC03000E90000000251400FF9A +:1005C000C00A88007C8C800AC4A10000CD490000CC +:1005D00015140008255400FFC00A88407C8C800A4E +:1005E000C49D000011DC00087DE2000ACD49000036 +:1005F00015140010255400FFC00A89007C8C800A65 +:10060000C49D000011DC00107DE2000ACD4900000D +:1006100015140018255400FFC00A89407C8C800AFC +:10062000C49D000011DC00187DE2000ACD490000E5 +:1006300090000000C00A8C00C00C24507CC8C00A86 +:10064000C4D10000C00A8D00C00C24507CC8C00A70 +:10065000C4D500007D15000A251003807D01400DE2 +:1006600090000000C0100000C00A89407C8C800A05 +:10067000C4910000251000FF11100008C00A890075 +:100680007C8C800AC4950000255400FF7D15000A6B +:1006900011100008C00A88407C8C800AC4950000B4 +:1006A000255400FF7D15000A11100008C00A8800BB +:1006B0007C8C800AC4950000255400FF7D15000A3B +:1006C00090000000C00C00FFC00A88007DC9000A2D +:1006D000C5150000155400107D41401E7D4E800957 +:1006E000C00A88407DC9000AC515000015540010D5 +:1006F0007D41401E7D4D4009115400087E96800AC0 +:10070000C00A89007DC9000AC515000015540010F3 +:100710007D41401E7D4D4009115400187E96800A8F +:10072000C00A89407DC9000AC51500001554001093 +:100730007D41401E7D4D4009115400187E96800A6F +:100740007E82801EC41700027E9680099000000001 +:1007500096C0000C2AEC0001CEC000309640000587 +:10076000C420001C96000003CC0000309000000064 +:10077000C41C003395C0FFFACC000030C02000003C +:100780009000000096C000137EC1000AC01C30D04B +:10079000CD9D0000C01C30CEC5D50000152C000436 +:1007A00096C000048C0001D4960000029000000066 +:1007B000C01C30D0CD9D0000C01C30CEC5DD000077 +:1007C0007DD5C0027DD1C00F95C0FFF67D02C00A65 +:1007D0009000000026B800FF169C000825DC00FFF2 +:1007E00011DC00087F9F800A169C001025F400FF92 +:1007F00015DC000825DC00FF11DC00087F5F400AE3 +:10080000900000008C000215CC00000EC4080037D8 +:10081000C408003394800003CD80000E8C0002DEFB +:10082000C408002A94800003CD80000E8C00026969 +:10083000C408002B94800002CD80000EC40800285C +:100840009480FFF2CD80000E8C0002EF8C00041E1D +:1008500080000202C0180001CC03000EC00DFFFF93 +:10086000CCC3001ECCC30061C0080500280C0000EA +:10087000CC8F0041C00A202028880F0504CC00013D +:10088000CC8F0041C00A303028881E0F04CC0001F4 +:10089000CC8F0041C00A40402888281E04CC0001AB +:1008A000CC8F0041C00A40402888322804CC000187 +:1008B000CC8F0041C00A606028883C3204CC000123 +:1008C000CC8F0041C00A70702888503C04CC0001D5 +:1008D000CC8F0041C00A808028885A5004CC000187 +:1008E000CC8F0041C00A808028885F5A04CC000168 +:1008F000CC8F0041C00A80802888645F04CC00014E +:10090000CC8F0041C00A80802888696404CC000133 +:10091000CC8F0041C00A808028886E6904CC000119 +:10092000CC8F0041C00A80802888736E04CC0001FF +:10093000CC8F0041C00AC0C02888787304CC000165 +:10094000CC8F0041C00AC0C028887D7804CC00014B +:10095000CC8F0041C00AFFFF2888807D04CC0001B5 +:10096000CC8F0041C0080080CC83005EC00803FF2C +:10097000CC800030CC030055CC03005DCC03005F7D +:10098000CC030069CC030062CC030065CC03006398 +:10099000CC030066CC030064CC030067CC03006882 +:1009A00090000000CC030055CC03005FC00830C6A7 +:1009B000C4890000C00C30C5C4CD00007CC88002D2 +:1009C0008C0002BFCD43006090000000280C0000A6 +:1009D000C010000824940001091000017CD4C0015B +:1009E000148800019900FFFC90000000C01824D575 +:1009F0007D89800AC5990000281C0000281000008D +:100A0000C02000089540000C24C800019480000517 +:100A10007C9080047D89800A0954000105DC000176 +:100A20000A20000114CC0001051000019A00FFF615 +:100A3000259800FF90000000C01824D57D89800A09 +:100A4000C59900007D01001E7D90C009281C000092 +:100A500028240000C02000089540000C24C8000194 +:100A6000948000057CA480047D89800B09540001DA +:100A700005DC00010A20000114CC0001066400011D +:100A80009A00FFF6259800FF90000000C41F006048 +:100A900009DC0007282000109A00000328140040F9 +:100AA000800002BEC4D7000004CC00010A2000016F +:100AB000281800FF7D9580097D9180107D9D800420 +:100AC0007C99800F9580FFF52818FF007D9580099F +:100AD000159800087D9180107D9D80047C99800E82 +:100AE0009980FFEE1554001096400002155400083E +:100AF000281800FF7D954009900000002814001F71 +:100B00007C94C00524CC000198C000030954000166 +:100B10009940FFFC90000000C00824D7C00E880058 +:100B20007C8CC00AC4D50000255400FFC00E88404C +:100B30007C8CC00AC4D10000251000FF11100008F1 +:100B40007D51400AC00E89007C8CC00AC4D10000CF +:100B5000251000FF111000107D51400AC00E894081 +:100B60007C8CC00AC4D10000251000FF11100018B1 +:100B70007D51400A90000000C0083109C48D00007A +:100B800024D000019900000D24D000FEC417005F9E +:100B900005540001CD43005F7D51400F9540000793 +:100BA0008C0003C7C40B00557D08800ECC83005D0C +:100BB000CD030055CC03005F900000008C0003F4CF +:100BC0008C0003D9C0083120CC0900007FBC800A0A +:100BD0007C2CC00AC41131222510FFFF7C90800EAE +:100BE0009480005BC0083120C0100001CD090000D6 +:100BF000C008311FC4A50000C00800207CB08010D0 +:100C0000265000FF8C00036599400053C008312036 +:100C1000C0100002CD090000C00800087CB480109C +:100C200016500008251000FF8C0003659940004A0B +:100C3000C0083120C0100003CD090000C0080140E9 +:100C40007CB8801016500010251000FF8C00036542 +:100C500099400041C0083120C0100004CD090000B7 +:100C6000C00801407CBC801016500018251000FF01 +:100C70008C00036599400038C0083120C010000581 +:100C8000CD090000C40B00629480001DC008312013 +:100C9000C0100006CD090000C40B00637CB8800EB4 +:100CA0009880002DC0083120C0100007CD09000039 +:100CB000C40B00647CBC800E98800027C0083120E3 +:100CC000C0100008CD090000C40B00657F08800E2D +:100CD00098800021C0083120C0100009CD09000013 +:100CE000C40B00667F48800E9880001BC00831202E +:100CF000C010000ACD09000080000353C40B006738 +:100D000024A0000F148800047FA200107CAC801087 +:100D10007E08800E98800010C0083120C010000BA3 +:100D2000CD090000C40B006824A0000F1488000443 +:100D30007FE200107CAC80107E48800E9880000618 +:100D4000C0083120C010000CCD090000C008000010 +:100D500080000356C0080001CC830062CF03006509 +:100D6000CF430063CF830066CFC3006413A00004A9 +:100D70007E2E000ACE03006713E000047E2E000AD8 +:100D8000CE0300688C00036BCE430061C0180001E5 +:100D900090000000C4170060095400077ED10010C5 +:100DA0007D1500047C91400F90000000CC8300254D +:100DB00094800028C01E88008C000416268C00FF3A +:100DC0007CD4C00BC0140001C00A88008C00027BD8 +:100DD0007C1A400AC01E88408C00041616A8000821 +:100DE000268C00FF7CD4C00BC0140001C00A8840D0 +:100DF0008C00027B119800087E5A400AC01E8900B0 +:100E00008C00041616A80008268C00FF7CD4C00BAA +:100E1000C0140001C00A89008C00027B11980010E8 +:100E20007E5A400AC01E89408C00041616A800088D +:100E3000268C00FF7CD4C00BC0140001C00A89407E +:100E40008C00027B119800187E5A400A9000000026 +:100E5000C4270061C40D310924D000019900000AA3 +:100E6000C40F005DC4113122151000102510FFFFC2 +:100E7000C4170055CD4131217D51000E7CD1000AAF +:100E800099000026C40F006904CC0001CCC300699E +:100E9000C41130C3151000042510000F7CD0C00F02 +:100EA00094C0001ECC030069C42D310BC00A880019 +:100EB00026D000FFC01400018C00028E7C1A800A2C +:100EC000C00A884016EC000826D000FFC0140001BC +:100ED0008C00028E119800087E9A800AC00A890050 +:100EE00016EC000826D000FFC01400018C00028E12 +:100EF000119800107E9A800AC00A894016EC0008FA +:100F000026D000FFC01400018C00028E119800183A +:100F10007E9A800A7E82400A90000000C00A9C00EF +:100F2000288824D4C00C0001CCC90000C00A8C0061 +:100F3000288824D6C48D000024D0FFFF14CC0010D4 +:100F40007CD10001C00A8D00288824D6C48D000001 +:100F500024D4FFFF14CC00107CD540017D15000186 +:100F600090000000C00A9C00288C2398C010000745 +:100F7000CD0D0000C00A8C00288C2399C4F100001C +:100F8000288C239AC4F50000288C239BC4F9000008 +:100F9000288C239CC4FD0000C00A8D00288C239956 +:100FA000C4D100007D330001288C239AC4D10000F5 +:100FB0007D374001288C239BC4D100007D3B8001FC +:100FC000288C239CC4D100007D3FC001900000000C +:100FD000C01E88008C0004117C14800A7C16800AD4 +:100FE0008C0002737C0EC00AC01E88408C00041165 +:100FF0007C14800A115400087E96800A8C000273CB +:101000007ECEC001C01E89008C0004117C14800AB1 +:10101000115400107E96800A8C0002737ECEC001AF +:10102000C01E89408C0004117C14800A11540018E1 +:101030007E96800A8C0002737ECEC001CE83005A59 +:10104000900000008C00041629CC24D5C4CD0000EB +:101050007D4D40099000000029C8226FC48900001E +:1010600029CC2270C4CD00007C8D400A7D41401EF9 +:101070001554001090000000C40B001EC40F006146 +:101080007C8D000C99000006C411310B7CD0C00A85 +:10109000CCC3001EC0180001CD83000E90000000DC +:1010A00080000428800004290000000000000000E7 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/VERDE_rlc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/VERDE_rlc.bin.ihex @@ -0,0 +1,513 @@ +:10000000C4080027308C000298C007D3308C000150 +:1000100098C005C8308C000398C007D08000000845 +:1000200004180001CD80000ECD80002D8C0001460B +:10003000CC000002CC00000BCC000023C03030E22A +:10004000282C0003CEF10000C0083100C489000054 +:10005000248C000498C00006C03E00D02BFC00FF9A +:10006000C03BFFFFC037FFFF8C000181248C0008DC +:1000700098C00006C03E00B02BFC00FFC03BFFFF55 +:10008000C037FFFF8C000181248C001098C000064F +:10009000C03E00702BFC00FFC03BFFFFC037FFFFDE +:1000A0008C000181C03E10002BFC10FFC03BFFFF05 +:1000B000C037FFFFC03020008C000181C03E10001F +:1000C0002BFC1013C03A8000C0360000C030210065 +:1000D0008C000181CC030008CC030006CC03002D6A +:1000E000CC03002EC40C00D724E00001CE0300098D +:1000F00024E4000232640002CE43000ACE4300072B +:10010000CC030000CC030022CC030023CC03001D51 +:10011000CC030024CC03001CCC03000BC00C001F3C +:1001200010CC000828CC001FCCC30002C01C226FDA +:100130008C00058CCE8300227E82C00AC01C2270F7 +:100140008C00058CCE8300237EAE800ACE83000116 +:1001500096800008C03C09FFC0103105C51500009D +:1001600015540008256C00FFC02400008C0003A576 +:10017000C00C310CC4CD0000CCC30005C40F00027C +:10018000C0103103CCD10000CCC3000FCC03000D54 +:10019000C0100000CC130010CC130014CC130018B6 +:1001A00005100001310C000494C0FFFBC40D3103A5 +:1001B000C40C003AC423000996000005C427000AB5 +:1001C0009A4000038C0001EACC00002DC408000313 +:1001D0009880FFFFCD800010CD800011CC00001270 +:1001E000CC00000EC4080036C4280001968000062A +:1001F000CD80000E28080001C40C0021CC80000135 +:10020000800000B2C4080010948000D8C408001117 +:10021000948000D6C42800009680000DCD80000E8A +:1002200028080001C40C0020CC800000328801BBEB +:1002300094800003CC030000800000BA328801BC27 +:1002400094800022CC030000800000F4C42700004A +:1002500096400003CC030000800000BAC42B000EBF +:10026000968000038C00042680000078C4080010EB +:100270009480FFDCC40800119480FFDAC408002FCA +:1002800094800006C40800D72488000894800008E1 +:100290008C00030480000078C40B000D94800004DF +:1002A0008C0003848C00054180000078C40800D7CE +:1002B000248800049480FFCBC408002E9480FFC9DA +:1002C0008C0003528000007826A800FF14E400048C +:1002D0001264000824DC000F7E5CC00ACCC000233E +:1002E000CE80000C80000078CC00002DCD80000E68 +:1002F000CC030000C0303049C7090000C0320010F4 +:100300007CB1C00995C0FFB7C0303101C7090000FA +:10031000249C000195C0001B14AC000826EC00FFD3 +:10032000C0240001C02000008C0005AC9600000332 +:10033000CD830000800000788C00011597800003B9 +:10034000C40C001094C00003CD830000800000782E +:10035000C40C001C94C00003CD830000800000F496 +:10036000C0303101C7090000249C000295C000057F +:100370008C00013196000003CD830000800000F462 +:10038000C00C30D7C4C90000248800019480FF95B8 +:10039000C00C310DC4C90000248C000194C0FF9131 +:1003A00014AC000326ECFFFFC0200000C0240000B6 +:1003B0008C0005AC96000003CD830000800000F4A3 +:1003C0008C0001A9C42700009A4000028000007838 +:1003D000CD80000ECD80002DC40800129480000254 +:1003E0008C000103C4080010988000038C000146B3 +:1003F0008C000583C4080011988000028C0001D68F +:10040000C42700009A40005D80000078C42B0002E1 +:100410008C0005C0C00E80007F8F800AC00E0000D7 +:100420007F4F400A283C00A013FC00102BFC00FF6B +:100430008C000181C01C3105C5ED000012EC0018D4 +:1004400026EC00FFC02400008C00059FCC000012A9 +:1004500090000000280C00018C0001682838000181 +:100460008C000175283800008C0001719780000E07 +:10047000C0383101C7B9000017B8001027AC07FF1A +:1004800096C00003C02400008C00059FCD800002B0 +:10049000C41000039500FFFFCC000010C03800011D +:1004A00090000000C40C001194C000052838000022 +:1004B0008C000175280C00008C000168C038000019 +:1004C00090000000C408000F9480FFFFC42B0002BE +:1004D0008C0005C0C00E80007F8F800AC00E000017 +:1004E0007F4F400A283C009013FC00102BFC00FFBB +:1004F0008C000181C01C3105C5ED000012EC001814 +:1005000026EC00FFC0240001C02000008C00059FE5 +:10051000CD80001290000000C40800139480FFFFFB +:10052000CC000002C408000FC41000039900FFFFB4 +:10053000C02C311EC6ED0000C02400008C00059FB9 +:10054000C438001197800007283800008C0001751E +:10055000283800018C000171280C00008C00016813 +:10056000CD80001090000000C408001C9480FF1D86 +:10057000CD830000800000F4283800008C00017555 +:10058000283800018C000171280C00008C000168E3 +:100590007C0880098C0002D2CC00002D80000078FD +:1005A000C0300390C7390000C00BFFFE7F8B80096D +:1005B00010CC00107F8F800ACFB10000C739000037 +:1005C00090000000C0302003CFB10000C739000008 +:1005D00090000000C0303078CFB1000090000000E3 +:1005E00097800004C0103119C51D000099C0FFFE9E +:1005F00097400004C010311AC51D000099C0FFFECD +:10060000900000008C000178C0143115CF950000D7 +:10061000C0143116CF550000C0143118CF1500009A +:10062000C010311DC5110000251000019900000403 +:10063000C0143117CFD500009000000027D000FF74 +:10064000311000FF99000004C0143117CFD500000D +:1006500090000000C0140008C01E80007DF9C00991 +:1006600095C00002C0140016095400017FC1000AA1 +:10067000C01DFF007D1D00097D15000AC01C31173B +:10068000CD1D000095400007C01C3117C5DD0000DE +:100690007DD1C00C95C0FFFD8C0001788000019ACF +:1006A000900000008C0002CD9900002ACD80002D22 +:1006B000C40C001294C000028C000103C40C001092 +:1006C00098C000028C000146283800008C0001759B +:1006D000283800018C000171C01C22708C00058C30 +:1006E000CE830023C40F0002C41300227E91000AAF +:1006F0007CD0C009CCC300018C00021499C0001545 +:100700008C0002D6C03021B6C00A14008C0002D280 +:10071000280C00018C000168283800018C0001754C +:10072000283800008C0001719780000A8C00052B8E +:10073000CC0000119A0000078C00057A8C0001158E +:1007400097800004CC00002DCC030000800001D570 +:10075000CD830000900000008C00047B8C00050E0F +:100760008C0002E6283800028C0001718C0002ED3A +:10077000C00C24D7C41300208C00042C8C0002F47D +:10078000CD800011283800008C0001757C0880099C +:100790008C0002D2283800018C000171280C000066 +:1007A0008C00016890000000C43800C453B80008F1 +:1007B00028080090C78E000030D40003994000083C +:1007C00030D400049940000A94C0001ECCCB000035 +:1007D00047B8000404880001C78E0000CCCB00009D +:1007E00047B8000404880001800001ED94C00015A2 +:1007F000C0100003CCCB000047B8000404880001FF +:10080000C78E0000CCCB0000091000019900FFFB4F +:1008100047B8000404880001C7920000CD0B000017 +:1008200008CC000198C0FFFB47B800040488000111 +:10083000C78E0000C010000394C0000280000201B7 +:10084000CC0B000004880001CC830006900000005F +:100850007DC1C009C4130008C40F000A98C0000677 +:1008600099000003280800908000021CC40B002D92 +:100870008000022BC413000899000008C00C30C48B +:10088000C4C9000098800003C01C00019000000053 +:100890005088000880000252C40B002E50880008C7 +:1008A000C40F002D7C8C800A80000252C48F00008F +:1008B00094C0002430D0000395000006CD830008CA +:1008C00004880001CC83002DC48F00008000023614 +:1008D00030D000049900000604880001C4D500004F +:1008E000CD4B0000048800018000022B0488000129 +:1008F000C03C0000C48F00000488000194C00011B7 +:10090000C493000004880001C4970000048800011B +:10091000CFCD000007FC0001C51D0000CDCB0000BD +:10092000CFCD000007FC0001C5210000CE0B000068 +:10093000048800027D7F000C9700FFF68000023DD6 +:100940007DC1C00990000000C48E000094C0FFFD6E +:1009500030D0000395000009CD83000844880004CE +:10096000249000FFCD03002D14900008CD03002E2D +:10097000C48E00008000026030D0000499000006A0 +:1009800044880004C4D50000CD4A00004488000417 +:1009900080000252448800047DC1C009900000001C +:1009A000C48F00000488000194C0001830D00003F8 +:1009B0009900FFFC30D0000499000005C4970000A6 +:1009C000CD4D00000488000180000268C48F000043 +:1009D0000488000194C0000DC49300000488000145 +:1009E000C4970000C03C0000CFCD000007FC000110 +:1009F000C49F0000CDD10000048800017FD6000C08 +:100A00009600FFFA8000027390000000C48E000080 +:100A10004488000494C0000930D000039900FFFC12 +:100A200030D0000499000005C4960000CD4D0000B0 +:100A3000448800048000028390000000C43800C88D +:100A400053B800089B800003C01C00019000000008 +:100A5000C40B000604880001C78E0000CCCB000048 +:100A6000C78E0004CCCB0001C78E0008CCCB00029F +:100A7000CD83000790000000C7A20000C00C3071B9 +:100A8000CE0D0000C7A20004C00C3070CE0D0000D7 +:100A9000C7A20008C00C3072CE0D0000900000000C +:100AA000C43B000607B80001C00C3071C7A30000AA +:100AB000CE0D0000C00C3070C7A30001CE0D0000A9 +:100AC000C00C3072C7A30002CE0D000090000000E1 +:100AD0008C0002C190000000C0082181CE090000F6 +:100AE000C0082183CC090000C0082180CCC90000C7 +:100AF000C0082182CD090000C0082184CD49000032 +:100B000090000000C00821A0C48D000014CC001685 +:100B100024CC000198C0FFFD90000000C00821A077 +:100B2000C48D000014CC000224CC000198C0FFFD4D +:100B300090000000C00C21B6C4D10000C00A14000F +:100B40007D09000990000000C03021B6CCB1000042 +:100B5000C70900009000000028308000133000100A +:100B60008C0002E02830A000133000108C0002E05E +:100B70002830C000133000108C0002E0900000000C +:100B80002B34218DCDB500002B34218EC00DFFFFFD +:100B9000CCF5000090000000C0302008C008FFFA2B +:100BA000CCB10000C70D0000CC310000C70D000023 +:100BB00090000000C427000A9A4000032808009013 +:100BC00080000268C40800C45088000880000283C6 +:100BD000C43800C89780000EC43B00079B80000209 +:100BE0008C00028F283800018C000171C427000A94 +:100BF000C43800C89A400004C43B00068C0002A818 +:100C00008000030353B800088C00029E900000008F +:100C1000CD80000EC01C22708C00058CCE8300237A +:100C2000C42300227EA2800ACE8300018C0003D060 +:100C3000C40800D724880004948000068C00044374 +:100C400094800041C42300017DE1C00980000316A7 +:100C5000CF430005C41F00018C0003DBC01400005B +:100C6000CC17001405540001314800049480FFFDA6 +:100C70008C0003E48C0003F38C00041AC427000FDB +:100C80007EA4800B98800002800003517CA6C009DE +:100C9000C40F002494C00004C0300000CC03002422 +:100CA0008000032A7CAB0009C0083103C4A1000006 +:100CB0007E32000ACE0900007E72400ACE43000F49 +:100CC000C40B000B94800005C00C24D78C000436A4 +:100CD0007D09000A8C00042CCEC3000BCF03000C4E +:100CE00036C80000CC83000DC02400009700000F20 +:100CF0007F02800AC03C0AFFC02C3105C6ED00000F +:100D000026EC00FF8C0003A58C0004CEC028001048 +:100D10008C0004AFC00C24D78C000436C433000C04 +:100D20007D31000A8C00042CC00C24D78C000436C2 +:100D3000C42F000B7EC1401E7D1500098C00042CC1 +:100D40008C00038490000000CD80000EC0103104A0 +:100D5000C5090000C41300027C908009C020310343 +:100D6000C60D00007CD0C0097C8D400B7D4EC009B3 +:100D70007D4B0009C00C24D78C0004367F1300097A +:100D8000CEC3000BCF03000C7EC2401EC60D000078 +:100D90007CE4C0097CD0C009CCE10000C024000084 +:100DA0009700000C7F02800AC03C0AFFC02C31056E +:100DB000C6ED000026EC00FF8C0003A5C010310337 +:100DC000C50D0000C433000C7CF0C00ACCD100007B +:100DD000C0240000C42B000B96800009C03C09FF12 +:100DE000C02C3105C6ED000016EC000826EC00FF13 +:100DF0008C0003A5C028001880000380C0280010C4 +:100E00008C0004CE8C0004AFCC03000390000000E3 +:100E1000CD80000EC413000BC0083106C48D000045 +:100E20007CC0C01E7D0E80099680001A7D29400B73 +:100E3000CD43000B7D28800C94800002CC03000D74 +:100E4000C0083103C48D00007E81001E7CD0C00923 +:100E5000CCC90000C417000F7D514009CD43000FDD +:100E6000C0240000C03C09FFC02C3105C6ED0000C5 +:100E700016EC000826EC00FF8C0003A5C40B000D47 +:100E8000988000048C0004CEC02800188C0004AFA9 +:100E9000900000008C0005C07F82800ACF430014C0 +:100EA000C0300000C0340000C0380000C00800009E +:100EB000C00C00019680001B7E8D400995400015F6 +:100EC0009B0000037CC3800A800003B47CC3400AFB +:100ED00027D4020099400003CD800038800003B978 +:100EE000CD8000398C000181CF43001ACF83001BD5 +:100EF000C02000008C0005AC27D4020099400003FC +:100F0000CC000038800003C3CC0000399A00000AEE +:100F10000488000110CC00013094000A9540FFE7DE +:100F20009B000005C42B00149A80000307300001C9 +:100F3000800003A9C437001AC43B001B90000000C6 +:100F4000C41F0002C00C310BC4F900007F9F800950 +:100F5000C01C000AC00C310CC4F500007F5CC00E40 +:100F600094C000027DC3400A900000007F80C00151 +:100F7000C014000024D0001FCD17001014CC0008AE +:100F800005540001314800029480FFFB90000000EE +:100F90007F80C001C0200020C0240001C0280000C4 +:100FA0007CE480097E8A800114CC00010A200001C3 +:100FB0009A00FFFC7EB4800F94800003C0240000E0 +:100FC000800003F27F6A40029000000025D000FFFD +:100FD000CD03001815DC000825D000FFCD03001953 +:100FE00015DC000825D000FFCD03001A15DC000831 +:100FF00025D000FFCD03001BC00C0000C014000072 +:10100000C0200001C01C0000C5D300187D210009CC +:101010009900000EC5D300107D208009988000043F +:101020007E40800E948000090A640001C5EB001424 +:101030007EA2800ACE9F001404CC00017CF4800FB5 +:10104000948000029000000005DC00013DC8000211 +:101050009480FFEE05540001122000013D48000578 +:101060009480FFE990000000C01C000209DC000130 +:10107000C0200008C0280000C5E700147EA6800A32 +:1010800095C000057EA280040620000809DC00014E +:101090008000041E90000000CD80000EC413001ECE +:1010A000C00C24D58C00042CCC03000E9000000052 +:1010B000251400FFC00A88007C8C800ACD490000FE +:1010C00015140008255400FFC00A88407C8C800A53 +:1010D000CD49000090000000C0100000C00A884008 +:1010E0007C8C800AC49500002554001F7D15000AE1 +:1010F00011100008C00A88007C8C800AC49500008A +:101100002554001F7D15000A90000000C41300053F +:10111000CF4300057F51400F994000207D360002EB +:10112000C0083103C49500007D40801EC40F00023A +:101130007C8C800994800019C413000F7D14C00BAF +:1011400094C00016C0140000C0100001C00C0000C4 +:101150007C91C0097CDCC0011488000105540001A9 +:10116000315C001095C0FFFB7CE1000F950000058D +:101170007E00800A8C0004687C808009900000005A +:101180007CC0800A7E0E80028C000468C034000A95 +:101190007F6B4002CD830024C00800019000000056 +:1011A000C413000FC01C3103C5DD0000C0140001D2 +:1011B0007DD600099A0000077D164009964000057B +:1011C0007DD5C00A7D42401E7D25000908880001AA +:1011D00011540001954000029880FFF6CD03000FE6 +:1011E000C00C24D78C00042C90000000C42B0002FB +:1011F000C42700017E42401E7EA68009C00830D769 +:10120000C48D0000C0080008288800047CC8C009FC +:1012100014CC000204CC048784C000008000048B3E +:101220008000048E80000493800004A8CE830020F8 +:10123000CE830021800004ADCE830020C00831039E +:10124000C4A90000CE830021800004ADC408002F93 +:1012500098800003C42B000F800004A48C0003D0EE +:10126000CF4300058C0003DBC01C0000CC1F001422 +:1012700005DC000131C800029480FFFD8C0003E40E +:10128000C41F00018C0003F38C00041ACE83000FEE +:10129000C4130002CD030021CE830020800004ADE2 +:1012A000C413000FCD030020C0083103C4A90000FF +:1012B000CE8300218C0005C090000000C00C3111CD +:1012C000CF0D0000C00C03FFCCC00031C0080004EB +:1012D000C0100010091000019900FFFF800004BD3C +:1012E00096400005C420001C96000003CC0000318D +:1012F00090000000C414003495400009948000055B +:1013000008880001C00C03FFCCC00031800004C776 +:10131000CC000031C020000090000000C00C311251 +:10132000C4D100007D29000C9500FFEAC020000018 +:10133000CC00003190000000C01C0000C00A8000FA +:101340007F88C00998C000387F48C00998C000361F +:10135000C0080001C00C0000C01000007F81400ADE +:101360007D4A00099A00000C0510000104CC000120 +:101370001088000130E0000A9600FFFA7F41400A21 +:10138000C00C00003120000A9600FFF6C01C0001CE +:1013900090000000052004E786000000800004F1B2 +:1013A000800004F3800004F5800004F7800004F955 +:1013B000800004FB800004FD800004FF8000050124 +:1013C00080000503C030000880000505C03000071C +:1013D00080000505C030000780000505C03000070B +:1013E00080000505C030000880000505C0300008F9 +:1013F00080000505C030000780000505C0300007EB +:1014000080000505C030000780000505C0300008D9 +:10141000800005050B300001133000067F13000A21 +:101420008000050DC03000160B300001133000069F +:101430002B30000A90000000CE830015C02C31052F +:10144000C6ED000026EC00FFC0240000C03C0EFFEB +:101450008C0003A5C03C06FFC42B00157E82801EB5 +:10146000C43B00027EBA80098C0003A5C03C0EFF7D +:10147000C036000097400004C03800008C00018195 +:101480008C0005ACC0340000C03A80008C000181A3 +:101490008C0005ACC02C00818C0004CEC02800104C +:1014A000C02400008C0004AF90000000C02C310567 +:1014B000C6E9000016A8000826AC00FFC024000002 +:1014C000C03C0DFFC42B00028C0003A5C0380000F7 +:1014D000C0360000974000038C0001818C0005ACF1 +:1014E000C0340000C03A80008C000181C02C008113 +:1014F0008C0004CEC028001AC02400018C0004AF68 +:1015000090000000C40B000D94800036C00830EF3E +:10151000C48D000094C00033C00830D0CD890000D5 +:10152000C00830CEC4950000C413001C990000030D +:10153000CD43001C900000007D5080027C8C800F09 +:101540009880000290000000C00C24D78C00043664 +:101550007C12400AC4170002C00C310BC4C9000041 +:101560007C80801E7C9480097D08C009C40B000B20 +:10157000C0100000C0140000C01C00017DCA00099A +:10158000960000020554000111DC00010510000165 +:101590003D2000109600FFFAC0080000C0100001B6 +:1015A000C01C00007D0C8009948000037DD1C00A1E +:1015B00009540001111000019940FFFBC423000BE6 +:1015C0007E62400A7DC1401EC41300027D51400965 +:1015D0007E550009C00C24D78C00042CCDC3000B11 +:1015E000CC03001C90000000C0083101C48D000035 +:1015F00024D000019900000528CC0001CCC90000CE +:10160000CD83001DC48D000090000000C40F001D9C +:1016100094C00007C0083101C48D0000C011FFFE56 +:101620007CD0C009CCC90000CC03001D9000000094 +:10163000C00C001FC00A88007DC9000AC515000043 +:10164000155400107D41401E7D4E8009C00A88401F +:101650007DC9000AC5150000155400107D41401ECB +:101660007D4D4009115400087E96800A7E82801EBE +:10167000C41700027E9680099000000096C0000CFE +:101680002AEC0001CEC0003096400005C420001CAA +:1016900096000003CC00003090000000C41C003312 +:1016A00095C0FFFACC000030C02000009000000080 +:1016B00096C000137EC1000AC01C30D0CD9D000032 +:1016C000C01C30CEC5D50000152C000496C0000407 +:1016D0008C00059F9600000290000000C01C30D0D6 +:1016E000CD9D0000C01C30CEC5DD00007DD5C00200 +:1016F0007DD1C00F95C0FFF67D02C00A90000000AA +:1017000026B8001F169C000825DC001F11DC000510 +:101710007F9F800A169C001025F4001F15DC00082E +:1017200025DC001F11DC00057F5F400A90000000EF +:101730008C0005F8CC00000EC40800119480FFFE58 +:10174000C408003794800005CD80000EC008310623 +:10175000C48D0000CCC30063C408003A9480000329 +:10176000CD80000E8C0007CAC408003394800003AB +:10177000CD80000E8C0006C6C4080034948000089A +:10178000CD80000EC00830D7C48900002488000432 +:10179000948000038C0007908C0007B5C4080035C6 +:1017A00094800002CD80000EC408002A94800003BB +:1017B000CD80000E8C000650C408002B94800002DF +:1017C000CD80000EC40800289480FFDBCD80000E81 +:1017D0008C0006AB8C0006D78C0007CA800005CDB4 +:1017E000C0180001CC03000EC00DFFFFCCC3001ECB +:1017F000CCC30061C0083104CCC90000CC03000395 +:10180000CC0300638C000787C0080500280C00008B +:10181000CC8F0041C00A202028880F0504CC00018D +:10182000CC8F0041C00A303028881E0F04CC000144 +:10183000CC8F0041C00A40402888281E04CC0001FB +:10184000CC8F0041C00A40402888322804CC0001D7 +:10185000CC8F0041C00A606028883C3204CC000173 +:10186000CC8F0041C00A70702888503C04CC000125 +:10187000CC8F0041C00A808028885A5004CC0001D7 +:10188000CC8F0041C00A808028885F5A04CC0001B8 +:10189000CC8F0041C00A80802888645F04CC00019E +:1018A000CC8F0041C00A80802888696404CC000184 +:1018B000CC8F0041C00A808028886E6904CC00016A +:1018C000CC8F0041C00A80802888736E04CC000150 +:1018D000CC8F0041C00AC0C02888787304CC0001B6 +:1018E000CC8F0041C00AC0C028887D7804CC00019C +:1018F000CC8F0041C00AFFFF2888807D04CC000106 +:10190000CC8F0041C0080080CC83005EC00803FF7C +:10191000CC800030C0083109C48D000014CC001008 +:1019200028CC0001CCC00031C00803FFCC800032BD +:10193000CC030055CC03005DCC03005F9000000099 +:10194000CC030055CC03005FC00830C6C48900003A +:10195000C00C30C5C4CD00007CC880028C0006A439 +:10196000CD43006090000000280C0000C01000056E +:1019700024940001091000017CD4C00114880001E6 +:101980009900FFFC90000000C01824D5C599000004 +:10199000281C000028100000C02000059540000C05 +:1019A00024C80001948000057C9080047D89800A11 +:1019B0000954000105DC00010A20000114CC0001DB +:1019C000051000019A00FFF62598001F9000000006 +:1019D000C01824D5C59900007D01001E7D90C00966 +:1019E000281C000028240000C02000059540000CA1 +:1019F00024C80001948000057CA480047D89800BAC +:101A00000954000105DC00010A20000114CC00018A +:101A1000066400019A00FFF62598001F9000000060 +:101A2000C41F006009DC0007282000109A00000392 +:101A300028140040800006A3C4D7000004CC000195 +:101A40000A200001281800FF7D9580097D918010F3 +:101A50007D9D80047C99800F9580FFF52818FF00FC +:101A60007D958009159800087D9180107D9D8004EA +:101A70007C99800E9980FFEE15540010964000026C +:101A800015540008281800FF7D95400990000000BB +:101A90002814001F7C94C00524CC000198C00003CA +:101AA000095400019940FFFC90000000C00830D7A5 +:101AB000C48900002488000498800005C00831040F +:101AC000C00DFFFFCCC90000800006B9C40B0003A5 +:101AD00098800005C008311BC48D000094C000022E +:101AE000CCC3006190000000C00824D7C00E88005D +:101AF0007C8CC00AC4D50000255400FFC00E88406D +:101B00007C8CC00AC4D10000251000FF1110000811 +:101B10007D51400A90000000C0083109C48D0000CA +:101B200024D000019900000D24D000FEC417005FEE +:101B300005540001CD43005F7D51400F95400007E3 +:101B40008C0006F1C40B00557D08800ECC83005D2F +:101B5000CD030055CC03005F900000008C00070A05 +:101B60008C0006FCC00800147CB08010C00C004142 +:101B70007C2D000AC02400008C000688CD4300564E +:101B8000C00800057CB48010C00C00417C2D000A08 +:101B9000C02400018C000688CD430057C40B0056BA +:101BA0007C94C00F98C000027C14800AC00C311BCA +:101BB000C4CD000098C000028C000731C01800019D +:101BC00090000000C00A9C00288824D4C00C0001AA +:101BD000CCC90000C00A8C00288824D6C48D00001F +:101BE00024D0FFFF14CC00107CD100019000000035 +:101BF000C00A9C00288C2398C0100007CD0D00005F +:101C0000C00A8C00288C2399C4F10000288C239AE8 +:101C1000C4F50000288C239BC4F90000288C239C69 +:101C2000C4FD000090000000C01E88008C00071951 +:101C30007C14800A7C16800A8C00065A7C0EC00A2E +:101C4000C01E88408C0007197C14800A11540008BB +:101C50007E96800A8C00065A7ECEC001CE83005A42 +:101C6000900000008C00072629CC24D5C4CD0000AC +:101C70007D4D400990000000C01E88008C000726A2 +:101C80007C17000AC01E88408C00072611540008EB +:101C90007F17000A9000000029C8226FC489000045 +:101CA00029CC2270C4CD00007C8D400A7D41401EAD +:101CB0001554001029CC24D7C4CD00007D4D400917 +:101CC00090000000308C004098C00033388C0040F9 +:101CD00094C00014088800407CADC01015DC0006DC +:101CE0008C00071E7E82801E7EB280098C000766F3 +:101CF000268C00FF7F01400A8C0006627C1A400A95 +:101D000016A80008268C00FF7F41400A8C0006625E +:101D1000119800087E5A400ACE4300618000076592 +:101D2000C00C3109C4CD000024D000019900000787 +:101D3000C40F005DC413005EC41700557D51000E32 +:101D40007CD1000A99000014C01C00407DC88002AC +:101D50007CADC01015DC00067DC2C00A8C00076691 +:101D6000C02C310BC6ED000026D000FF7F01400AD9 +:101D70008C0006747C1A800A16EC000826D000FF3E +:101D80007F41400A8C000674119800087E9A800AF0 +:101D9000CE83006190000000C0300000268800FF64 +:101DA0008C00065A7CC1800AC034000016880008E6 +:101DB000248800FF8C00065A7CC1C00A96C0000F20 +:101DC0008C00077F9540000D31480001948000048D +:101DD00007300001099800018000077C31480002AB +:101DE000948000040774000109DC00018000077C76 +:101DF0000AEC00018000076F900000007D80C00A9F +:101E0000C01400007D81400D7DCD000E95000003C3 +:101E10007DC0C00AC014000290000000C00C000A7F +:101E2000C01000017CD0C010C0100000CC130064B2 +:101E30000510000108CC000198C0FFFD90000000D3 +:101E4000C40B0063C00C000AC01000017CD0C0109D +:101E5000C0100000C0300000C01C0000C0243109C8 +:101E6000C66500002664FF0016640008C028001F35 +:101E700012A800082AA8001F7E92C00526EC0001C7 +:101E80009AC00003051000018000079E7C91400568 +:101E900025540001C020000099400008C7230064B9 +:101EA000062000017E25400F954000047D5140042E +:101EB0007D5DC00A0A200001CE33006405100001D8 +:101EC0000730000108CC000198C0FFECCDC30062D0 +:101ED00090000000C40B0003988000138C0006BA29 +:101EE000C40B0062C40F0061C010310BC5110000AB +:101EF000C03FFFFFC03F00007D3D00097C80801E89 +:101F00007CC8C00A7D0D400AC0083104C48D0000A1 +:101F10007CD5000C99000004CD490000C0180001D8 +:101F2000CD83000390000000C40B001EC40F0061AD +:101F3000C0103103C51100007CD0C0097C8D000C9D +:101F400099000004CCC3001EC0180001CD83000E10 +:101F500090000000800007D5800007D60000000038 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/PITCAIRN_me.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/PITCAIRN_me.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000D440007F7C4080015B +:10001000880000007C40C001CC400028CC40002972 +:100020007C40800188000000D840001EC4100021E0 +:10003000251000029500FFFE7C410001C41C002633 +:10004000C4200024D800001CCC80000BCDC1A0D956 +:10005000CE01A0DAD840001CC4140007954000026D +:10006000D941A2A4C41B0002D800001BCD80001AF5 +:10007000C03E0004CC01A1F4CC3D2004C43D0001ED +:10008000CC000005D840001BD840001F7C408001F8 +:1000900088000000CC412E01CC412E02CC412E0321 +:1000A000CC412E007C408001880000007C40C001D3 +:1000B0008C000522CC412E01CC412E02CC412E03D6 +:1000C0008C000526CC412E007C4080018800000079 +:1000D0007C40C001C4180030C41C00317DD94002EE +:1000E0007CD6000EC42400159A40FFFF9A0000033E +:1000F000CCC0001480000000C0288000CE81304AAF +:10010000C43C007F24900002C02A00017C40C00152 +:1001100095000003C41400307CD4C00114CC00024C +:10012000CCC125C7D46925C87C4080018800000067 +:100130007C40C00118D001E824CC007F7C41400104 +:10014000505800207D59401A7C418001505C0020AD +:100150007D9D801A7C41C001506000207DE1C01A65 +:100160007C42000125240001CCC00023D1400024A2 +:10017000D1800025D1C00026D84000279640000C31 +:10018000C428002C9A80FFFFC824002D7E5E800CBE +:100190009A80FF9C122C000606EC00010AEC00017C +:1001A0009AC0FFFFD840002780000060C428002CC0 +:1001B0009A80FFFF7C408001880000007C40C001E5 +:1001C000C4100030CC4125CC7D050001CC4125CFA9 +:1001D000CD0125CE7C41400124D0007F1558001070 +:1001E000255400FFCD0125D3CD8125D1CD4125D08A +:1001F000CC4125D27C4140017C41800118DC00309B +:1002000018E0003118E4003218E8003318EC00342C +:10021000CC4125D6CC4125D7CD8125D5CD4125D47E +:10022000C03200049640002196C00002CC3125D98E +:10023000CC3125D89680000496C00002CC3125DB55 +:10024000CC3125DA7C03001196C00003C4310001D3 +:1002500053300020C43500017F37001AD300001648 +:10026000968000087C03801196C00003C439000109 +:1002700053B80020C43D00017FBF801AD38000170F +:1002800095C0FF609AC000047D77000C9700FFE4E2 +:100290008000000051B800207F97801A7F3B800CBF +:1002A0009780FFDF800000009600FF56CC3125CDFF +:1002B000CC80000BC43500019740FFFC7C408001DE +:1002C00088000000C42000267C414001C62703E4CA +:1002D00095400002CC000001CC0000090A64000136 +:1002E000CE6003E47C408001880000007C40C001B7 +:1002F000C016000424D0FFFF7D15000ACC80000B3F +:10030000CC11000018D8003E14DC001FC4210001ED +:100310007C42400195C000057E56800ACC00000B4F +:10032000CC290000C42500017E2600097C42C001C2 +:10033000958000057ED7000ACC00000BCC31000070 +:10034000C42D00017E2E000A2510FFFFCC00000BFB +:10035000CE110000800000007C40C001CC400000B5 +:1003600080000000CC80000BCD41225DCD01225CDD +:10037000CC41A1FC7C40800188000000CC80000BB7 +:10038000CC4122577C40800188000000CC41225C97 +:10039000CC41A1FC7C40800188000000C00E00011F +:1003A000CC41225CCC41A1FCD44DA1FD7C4080011C +:1003B00088000000CC80000BCC41225D7C40800195 +:1003C00088000000084C00017C410001CC80000B3B +:1003D0007C4140012558FFFF195C03F015600015B2 +:1003E000CD81A102CDC12256CE01225C94C0000471 +:1003F000CD01A1FC08CC0001800000F4CD01A1FCDE +:10040000CC01A1027C408001880000007C4080017A +:10041000C02A00027C40C0017C4100017D29000A05 +:100420002494000124980006249C030015DC000895 +:100430007C4200017C424001C02E0004CC80000BB5 +:100440009540000C05F022587F2F000ACC310000A7 +:10045000C4290001CCC12169CD01216ACE81216B63 +:1004600031B40002CC01216C9740000A8000012EBB +:1004700031B4000297400007C02E000405F0225856 +:100480007F2F000ACC310000C42900018000012E1A +:1004900031B40000974000037E0280018000012EED +:1004A00031B400049740FED722640030CE01216DA4 +:1004B000CE41216EC42A0000C42C000931F0000096 +:1004C00031F4000131F800029AC000028C00031ED2 +:1004D000DA81A2A497000003CE81A2B780000000B9 +:1004E00097400003CE81A2BB8000000097800003EC +:1004F000CE81A2BF80000000CE81A2C38000000098 +:10050000041800008000014304180001C4240026E0 +:100510007C40C001C66B03E418D0003024D400FF37 +:1005200006A80001CEA403E49A400012C4380007D4 +:10053000D840001EC43C002127FC000297C0FFFEEB +:10054000CC80000B97800002D941A2A4C43F0002D6 +:10055000CFC0001AC03E0004CC01A1F4CC3D200461 +:10056000C4390001CC000005D840001FCD41A0DAFD +:10057000CC80000BCD412E1499800002CC000002EB +:10058000CD4000087C408001880000007C40C00114 +:1005900018D001E818D4003018D800340528016BB1 +:1005A0007C4200017C4240019500000786800000EB +:1005B00080000185800001A9800001BF8000051E28 +:1005C0008000017B115400107E16000ACC80000BC5 +:1005D000D46100009580FE8BC03A0004CC392140E4 +:1005E000C43900017C4080018800000011540010D3 +:1005F000526400207E26001ACD40001DD462000007 +:100600009580FE80C420001D9A00FFFF7C40800181 +:1006100088000000DC3A00009940001B279C000184 +:1006200095C0000D0BB80001CE012169CE41216AB1 +:10063000CC41216BCC01216C9B8000039580FE7125 +:100640008000019D526400207E26001A462000048E +:100650005624002022640032CE012169CE41216A55 +:100660000BB80002CC41216BCC41216C9B80FFFD7B +:100670009580FE64C43000199700FFFF7C40800124 +:10068000880000000BB80001CE012169CE41216A2B +:10069000CC41216BCC01216C9B80FFFB9580FE59E6 +:1006A0008000019D526400207E26001A9940000AB5 +:1006B000D200002BD440002CD840002D8C00052FF8 +:1006C0009580FE50C438002F9B80FFFF7C40800146 +:1006D00088000000DC3600000B740001D200002B03 +:1006E000CC40002CD840002D8C00052F9B40FFFBF8 +:1006F0009980FFF57C40800188000000C41C003018 +:10070000C02A00017E1E000116200002CE0125C76E +:10071000D46925C89580FE3BC03A0004CC3925CB6E +:10072000C43900017C408001880000007C40C00189 +:100730007C4100011914003D9940000AC41C000DC1 +:1007400095C0FFFFCCC12100CD012101CCC1210208 +:10075000CD012103D901A2A47C40800188000000C2 +:10076000CCC12175CD012176C420000E9600FFFF7B +:1007700032280002322C00039A8000049AC000053F +:10078000CC00000C80000000CC00000C800001D8E0 +:10079000C03E0004CC3D307EC43D000133E8000182 +:1007A00097C0FE189A80033804384000CC0000013E +:1007B000CF81304A800005217C40C0017C4100018E +:1007C00040D40003CD41225CCD01A1FCC01E00013C +:1007D0007C42000108CC000106240001062800022A +:1007E000CE1DA1FDCE5DA1FDCE9DA1FD98C0FFF95E +:1007F0007C408001880000007C40C00124D00001C2 +:1008000014CC00017C4140017C418001CC80000B74 +:100810009500000621980030CD41216DCD81216EDB +:10082000C41E00008000020EC02200047E16000AD2 +:10083000CC210000C41D00017C4240017C428001AB +:1008400098C00003CDE5000080000000CE41216982 +:10085000CE81216ACDC1216BCC01216C7C4080010D +:10086000880000007C40C0017C4100017C414001C7 +:100870007C4180017C41C00118A41FE83268003C23 +:1008800004200001968000087C4200013A300003F9 +:10089000422000029B0000020420004004240001CA +:1008A0008000022A7E0240010A6400019A40FFFF94 +:1008B00024EC0010CC80000B9AC00009C02A000470 +:1008C000C42C00107E92800ACC000001CC290000CC +:1008D000CEC00010C43100018000023B2154003022 +:1008E000CD01216DCD41216EC43200007F1F000972 +:1008F00024F400070778023F974000278780000014 +:10090000800002478000024C8000025180000256A5 +:100910008000025B80000260800002657F1B800F08 +:1009200014A400089780001D266400FF8000027652 +:100930007F1B800E14A4000897800018266400FF17 +:10094000800002767F1B800C14A400089B8000139B +:10095000266400FF800002767F1B800D14A400082F +:100960009B80000E266400FF800002767F1B800FB4 +:1009700014A400089B800009266400FF8000027612 +:100980007F1B800E14A400089B800004266400FFD7 +:100990008000027614A40008266400FF3268003C40 +:1009A00014EC00089A80FD977C4340017C43800151 +:1009B0007C43C001CC00000B96C00006CF412169EA +:1009C000CF81216ACFC1216BCC01216C8000000056 +:1009D000CFF50000800000003268003C9A80FFB331 +:1009E000D440007F800000007C40C0017C410001B9 +:1009F000C01E000115140012C0220002C02600040F +:100A000095400004C027FFFB7D250009C02600009B +:100A10007DD280097E12C0097D25000A7C414001FB +:100A20007C418001CCC12169CD01216A9A800007F7 +:100A3000CD41216BCD81216C96C0FD72C43000196F +:100A40009700FFFF80000000C814001855580020D0 +:100A5000CD41216BCD81216C96C0FD6A8000028F53 +:100A60007C4100017C414001CC400003CC400004AB +:100A7000CC0003E4CC0003E5CC0003E6C00E80000C +:100A80007C4240017C428001800000007C40C0012B +:100A900018D001E8052802A91CCCFE08CC80000B68 +:100AA0009500000986800000800002B4800002C327 +:100AB000800002CA800002D1800002D7800002E3D9 +:100AC00080000301CCC1A2A47C408001880000000A +:100AD000C01208007C4140017C4200017D0CC00A2C +:100AE000C012000415580003155C000D7DD1C0092B +:100AF000122000137E1E400A7E4E800ACE81A2A4E0 +:100B0000CD81A1FE7C4080018800000004102118E6 +:100B1000C414000B9540FFFFD4510000CCC1A2A427 +:100B20007C4080018800000004102106C414000CE1 +:100B30009540FFFFD4510000CCC1A2A47C408001AD +:100B400088000000D840000FCCC1A2A4C410000F40 +:100B50009900FFFF7C4080018800000018D000341D +:100B600011140014C424000D9640FFFFCC41210055 +:100B70007D45400ACD412101CC412102CC412103D8 +:100B8000CCC1A2A47C4080018800000024D80001D0 +:100B90007C4100017C414001119C00107C4200011D +:100BA0007D5D400A1564001D2664000295800009E1 +:100BB000C43C001F97C0FFFF9A40000DC4280030BE +:100BC00016A800027E2A0001CC000015800002FB5E +:100BD000C43C002097C0FFFF9A400005C4280030A5 +:100BE00016A800027E2A0001CC000015CD01215874 +:100BF000CD412159CE01215ACCC1A2A47C40800113 +:100C00008800000018D000341114001424D8003FCC +:100C10009500FFADC424000D9640FFFF359C0006F3 +:100C2000CC012100CD412101CC012102CC012103C5 +:100C300099C00003D901A2A4800000000420001480 +:100C4000CE01A2A47C408001880000007C40C0014D +:100C500014D0001D18D4003C990000028000000050 +:100C6000CD40001C800000007C40C0018C00031EB1 +:100C70007C40800188000000D840001EC43C002158 +:100C800027FC000297C0FFFECC80000BD941A2A434 +:100C9000C43F0002CFC0001AC03E0004CC01A1F442 +:100CA000CC3D2004C43D0001CC000005D840001F0D +:100CB000900000007C40C001043C0022CC80000B6E +:100CC000CFC1A2A4CC0000067C40800188000000B7 +:100CD000C01200017C51400ACC80000BD4550000AA +:100CE0007C408001880000007C40C0015050002002 +:100CF0007CD0C01A551C003F7C4140017C418001E2 +:100D0000CC80000BD0C0008395C00003C01C8000C5 +:100D1000CDC120109580FCBB8C000522DD83000036 +:100D2000055C2000CC00000BD45D00008000052A8B +:100D30007C40C001505000207CD0C01A7C41400152 +:100D40007C418001CC80000BD0C000849580FCAD3C +:100D50008C000522DD830000055CA000D45D00004E +:100D60008000052A7C40C001505000207CD0C01A71 +:100D70007C4140017C418001CC80000BD0C00085CB +:100D80009580FCA08C000522DD830000055C2C0012 +:100D9000D45D00008000052ACC80000BD4432000E5 +:100DA0007C40800188000000CC80000BD443A00070 +:100DB0007C40800188000000CC80000BD4432C00D4 +:100DC0007C408001880000007C40C0018C0005222E +:100DD0007C4100017C41400194C000027C418001C3 +:100DE0007C41C0017C4200018C0005269500000A70 +:100DF00095400009CC80000BCC432C00CDC32C00C7 +:100E0000CC80000BCC432C00CE032C007C40800116 +:100E100088000000C424001ECC40007FCC40007F2E +:100E20001A6800307C4080017C40C0019680FC75CF +:100E3000D880002E7C40800188000000CC80000B10 +:100E4000CC43A0007C40C00104180001DD830000F9 +:100E50008C000522D443A0008000052A248CFFFFCB +:100E6000CC80000BD44D00007C408001CC80000B76 +:100E7000880000007C40C00118D4003018D001E880 +:100E800018FC003424CC000F04E803A67C41800148 +:100E90007C41C00194C0004A86800000800003BEEF +:100EA000800003C6800003CF800003DE800003B112 +:100EB000800003B4800003B6800003B8800003BA4A +:100EC000800003BC51DC00207D9E001A800003FDE1 +:100ED000C820002D800003FDC8200016800003FDFF +:100EE000C8200017800003FDC8200018800003FD03 +:100EF000C8200032800003FD9940000321DC00304F +:100F0000800003C221DC0050CD81216DCDC1216E56 +:100F1000C8220000800003FD51DC00207D9D801A66 +:100F2000D8000023D1800024D8400027C428002CFA +:100F30009A80FFFFC820002E800003FDC41C0030F3 +:100F4000C03200047D9D800115980002CD8125C22C +:100F5000CC3125C395400003CC80000BCC3125C398 +:100F6000C421000195400024C425000152640020E2 +:100F70007E26001A800003FD31AC0800C434001046 +:100F800096C00003CC000001800003F039AC0A7C5D +:100F90003DB00A779AC0000497000003CC0000011E +:100FA000800003F039AC0ADC3DB00AD99AC00003D6 +:100FB00097000002CC000001800003F0C434001050 +:100FC000CC80000BC03A00047DB9800ACC19000027 +:100FD0009540000305980001CC190000C4210001D0 +:100FE00095400005C4250001526400207E26001AA9 +:100FF000CF400010052804017C4180017C41C001E4 +:101000009500000786800000800004328000043CC8 +:101010008000044A8000041580000427C4340010B6 +:10102000CC80000BCE19000095400004059800010B +:1010300056200020CE19000097C0FBF2C03A0004F1 +:10104000CC392140C4390001CF4000107C408001E0 +:101050008800000031AC0800C434001096C00003C2 +:10106000CC0000018000040839AC0A7C3DB00A774E +:10107000C43400109AC0000497000003CC000001A3 +:101080008000040839AC0ADC3DB00AD99AC00003DC +:1010900097000002CC0000018000040851DC002011 +:1010A0007D9D801AD800001DCE1A000095400004D6 +:1010B0000598000456200020CE1A00009BC0009026 +:1010C0007C408001880000009540000221DC003255 +:1010D00056240020CD812169CDC1216ACE01216B2A +:1010E000CE41216C9BC0FE567C40800188000000F0 +:1010F00051DC00207D9D801AD180002BCE00002C79 +:101100009540000356240020CE40002CD840002DEE +:101110008C00052F97C0FBBBC438002F9B80FFFFBE +:101120007C40800188000000C41C0030C02A0001FF +:101130007D9D800115980002CD8125C7CE2925C847 +:101140009540000356240020CE6925C897C0FBAD0A +:10115000C03A0004CC3925CBC43900017C40800161 +:1011600088000000C414001C3D5800049980FFFE54 +:10117000CC00000D7C40C001285080001514001FD9 +:101180001918007D191C0074C4200030319800012A +:1011900031DC0001958000027CE0C0017C4240010E +:1011A00095C000027E624001CCC12180CD01218129 +:1011B000CE412182CC412183CC4121849540FB91B9 +:1011C000C414001C9940FFFF7C408001880000008F +:1011D000C0160004C4100026CC80000BCC55214062 +:1011E000C4190001CC1003F77C4080018800000086 +:1011F000C4200026D800001EC40C002124CC00010D +:1012000094C0FFFEC62703E47C40C001CC80000BE5 +:10121000CCC1217CCC41217DC41800247C4100013B +:101220007C41400196400002CD81217ACD01217E92 +:10123000C03600C0C02A00047F4F4009115C000185 +:1012400005DC000197400014CC29217FC425000152 +:101250001A6C003E96C00007115C000105DC00011D +:1012600009DC000199C0FFFFCC80000B80000492D4 +:1012700017740017282C00609B400002282C0040A7 +:10128000CEC00023D8400027C434002C9B40FFFF71 +:10129000800004AA09DC000199C0FFFFCC80000B8C +:1012A000CC29217FC4250001166C001F115C0001B0 +:1012B00005DC00019AC0FFF814FC001FD800001FD5 +:1012C0009BC0FB50C4100026CC1003F77C4080016B +:1012D000880000007C40C0017C4100011518001FFF +:1012E00051140020191C003199800008CD00001D08 +:1012F0007D4D401AD456000095C0FB42C420001D0D +:101300009A00FFFF80000000DC3A0000C0260004C5 +:10131000CCC121697D25000ACD01216A0BB80002EC +:10132000CC41216BCC41216C9B80FFFD99C0FDC459 +:101330007C40800188000000244C00FFCC4C03005E +:101340007C40800188000000C4200026C44F0300B8 +:10135000CC80000BCCE1214580000000CC80000B4C +:10136000DAC1A2A47C40C0017C408001880000005A +:10137000C40C001A98C00003D840002F800004DC81 +:10138000D84000307C4100017D014001155400012E +:101390002554000199400009251000019500FB1912 +:1013A000C814003495400005C818001B9580000340 +:1013B0007D95C00E95C0FB13C8200033D2000032CB +:1013C000D800001EC4200021262000019600FFFE48 +:1013D000C0260840CE41217CCC01217DC4280024B8 +:1013E000CE81217ACC01217EC02A0004041400049D +:1013F000415C0008282C0040CEC00023D8400027C4 +:1014000009DC000199C0FFFFCC80000BCC29217FB3 +:10141000C4250001166C001F415C00029AC0FFF950 +:10142000C434002C9B40FFFFD800001F7C4080018B +:1014300088000000C40C001330D0000195000003A8 +:10144000CC80000BDB01A2A4CC40000EC40C001227 +:10145000C410001330D400003D1800017D59C00AAB +:10146000D840003199C0FFFAD8400013D0000032B4 +:101470007C40800188000000C00E0100CC0000010B +:10148000CCC1304A80000521D8400011C43C001175 +:1014900097C0FFFD90000000D8000011C43C00116F +:1014A0009BC0FFF990000000D8000011C43C00115F +:1014B0009BC0FFF57C40800188000000D880001EA2 +:1014C000C43C002127FC000497C0FFFEC038002F59 +:1014D000C03E0004CF8121F8CC3D21F9C43800265C +:1014E000043C00057FFB8002C43D00017FFBC0057A +:1014F00027FC00019BC0FFF6D880001F9000000071 +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:102000000001039700100002001100050012000AF1 +:10201000001500250016002B001700B1001B00342E +:10202000001C0041001D006F001E004C002100BB81 +:10203000002400D9002500D9002700E3002800D69D +:10204000002A00DF002C00D9002D00E3002E00E75D +:10205000002F00ED003000F1003201420034010396 +:10206000003500E300370163003800D9003901CBA7 +:10207000003A01EE003B01FE003C0219003D027AED +:10208000003F01400040039D004104590042047498 +:102090000043047C0044029800450219004602A354 +:1020A000004702A3004802A3004A03130052031A88 +:1020B0000053032D00570334005F03590060033AB7 +:1020C0000061034C006803660069036A00720372D2 +:1020D0000073038F0076036E0077036E007A04B5F9 +:1020E000007D04CE007E04D2008504D7008604DC87 +:1020F000008A050D008B050D000F051E000F051E43 +:10210000000F051E000F051E000F051E000F051E07 +:10211000000F051E000F051E000F051E000F051EF7 +:10212000000F051E000F051E000F051E000F051EE7 +:10213000000F051E000F051E000F051E000F051ED7 +:10214000000F051E000F051E000F051E000F051EC7 +:10215000000F051E000F051E000F051E000F051EB7 +:10216000000F051E000F051E000F051E000F051EA7 +:10217000000F051E000F051E000F051E000F051E97 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/PITCAIRN_mc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/PITCAIRN_mc.bin.ihex @@ -0,0 +1,1944 @@ +:100000000003E8E00002BE01000002070003FF0059 +:100010000003FF000002A00E0001C0190003E80069 +:100020000003E8100003E8200003E830000360202C +:1000300000036148000231B80003496C0003480A1C +:100040000003AF0A0002B40400026FF40000FA2DAE +:100050000002B40F00024F140000FA0A0003A88C3B +:100060000000C201000340240002B4400002B50FAA +:1000700000034AA6000244410003F0020002499531 +:1000800000036AA600034A51000340240002B8029C +:100090000002B9FE00024494000248810003A880D7 +:1000A0000002644800036A51000340260002BF803A +:1000B0000002BC04000249F90003F0420003F4000E +:1000C0000001C0410002BF80000348540002B80F85 +:1000D0000002B9F0000241180002422900036854EE +:1000E00000034B690003C08C0002644C00036B6981 +:1000F0000002444800036B690002611F0002622C89 +:100100000003685400022C0500034B4C0003FF0061 +:100110000003614400034B1C0003402A0002B4FCAE +:1001200000036140000243340002611E00036B1CA7 +:1001300000024AAE0003F046000349D50002BC109D +:1001400000024CC70003F0420002BC2D00023273D3 +:10015000000340240002B4400002B5F000034AA6A8 +:10016000000244410003F0020002699500036AA600 +:10017000000340000003FF000003F8010003C44037 +:100180000003C4510002C6450002000000034010F5 +:100190000003FF000003FF000003E8200003E83035 +:1001A00000036010000091E50000920D0003F803C9 +:1001B000000230BF000231B2000348080002B49FC1 +:1001C0000002400400036808000348C0000348C65A +:1001D0000002B4FC0002B50F000241140002499471 +:1001E0000002422500024AA50002433500024BB539 +:1001F000000368C0000368C6000348000003480508 +:100200000002BB3F0002BCBF0002BFEF000092250E +:1002100000008A260000822A0000BA280000AA2CCA +:100220000002411B0002BBFB0002400C00036800FF +:100230000002BCFE0002455F0002477C0003680527 +:1002400000034810000349DD0002BBF10002BC02BC +:1002500000008A290000AA2B0002411B0002611C39 +:10026000000368100002455B0002655C000369DD65 +:100270000003400D0003FF000003FF000003A14C3A +:10028000000089FF0002B302000243340003A330E0 +:10029000000099FE0002B304000243340003A332BD +:1002A000000099FD00034029000340000002BC202B +:1002B0000000B9C70002422C0003F0070002B000A2 +:1002C0000000823100023A330003E800000081E5BB +:1002D0000003F4000001C25C000340000002BC20E7 +:1002E0000000F2310002433C0003F00500023A3303 +:1002F0000003E800000081E50003F4000001C25C97 +:10030000000348210002B3C10002477300036821C3 +:1003100000036A89000348250002B3C10002477345 +:100320000003682500036A8D000348290003497013 +:10033000000340120002BF070002400F00038000CC +:100340000003000E0003AF88000349D60002BC1072 +:1003500000024CCB0003F0410002C00F00038406F2 +:10036000000385560003A556000265540002644050 +:10037000000349E8000368290003682D0003C10455 +:100380000003C115000369E8000369EC00034AC2D9 +:100390000002BFC00002488F00036AC200036AC6A1 +:1003A0000003E8000003E8D000022E96000368E492 +:1003B0000003C1DE00022E96000369040003E8403A +:1003C0000002BD00000232020002BD010002320242 +:1003D0000003402C0003FF000002B40200024404AA +:1003E0000000A209000349D60002B5100002445BD8 +:1003F0000003A4460000A20B0002A04E0003F0037D +:10040000000233B70003F4000001C1050003F4004B +:100410000001D27D0002BC000002323D0003400E0C +:100420000000F2320003E8F00003A0B6000349D553 +:100430000000FA040002B10F000242170002A520DA +:100440000003F0010000FA320002431B0002A52362 +:100450000003F0010000F204000340000003402EFE +:100460000002B6100002B40C00002A32000242243E +:100470000003A2220002433400026C2300024668FB +:100480000003F0030002A05E0003F0010003E8C0D7 +:100490000000E203000340080002B40000007A04F8 +:1004A0000002A0240003F0410002B2080002A0FEF6 +:1004B0000003F0410002B2040002B43F00024224F3 +:1004C0000000921A00034A940003FF0000036180B9 +:1004D000000340000003FF000002B4400002440497 +:1004E0000003F0030003E80000008231000222E074 +:1004F000000340000003FF000002B4400002441467 +:100500000003F0020000F231000222E0000340008C +:100510000003FF000002B440000261100002441416 +:100520000003F00100022CF700034A940003FF00CF +:1005300000036184000340000003FF000002B402D6 +:10054000000244240003F0030003E80000008231AD +:100550000002230C000340000003FF000002B4026D +:10056000000244340003F0020000F2310002230CC8 +:1005700000034A940003FF0000036188000231B2C7 +:10058000000340000003FF000003FF000002440ED0 +:100590000003F0030003E800000082310002241B86 +:1005A000000231B2000340000003FF000003FF001F +:1005B0000002441E0003F0020000F2310002241B7E +:1005C00000022D2E00034A940003FF000003618CFB +:1005D000000340000003FF000002B4020002444098 +:1005E0000003F00B0003E800000082310002260740 +:1005F0000003402C0003FF000002B420000244402E +:100600000003F0030003E8000000823100023129FA +:1006100000034A940003FF000003619000034000C0 +:100620000003FF000002B404000244400003F00392 +:100630000003E80000008231000227D300034A943F +:100640000003FF0000036194000340000003FF006B +:100650000002B410000244400003F00C0003E80064 +:10066000000082310002287A000001FF0003FF0031 +:100670000003FF000002A40E0003F0040000F200DB +:100680000002287A0003E8000000820000034A9478 +:100690000003FF0000036198000340000003FF0017 +:1006A0000002B420000244400003F0030003E8000D +:1006B0000000823100022A0A00034A940003FF006E +:1006C0000003619C000002030003FF000002B4016C +:1006D000000244040003F0040003E800000082313B +:1006E0000003C1FE00022ABC000002030003FF0059 +:1006F0000002B402000244040003F0040003E80016 +:10070000000082310003E8F000022ABC0003400030 +:100710000003FF000003FF000002442E0003F0036B +:100720000003E80000008231000237D100034000DE +:100730000003FF000002B410000244240003F00391 +:100740000003E80000008231000238F50003F803DE +:1007500000034A940003FF000003616000034000AF +:100760000003FF000002B402000244410003F00A4B +:100770000000F231000226070003402C0003FF00B6 +:100780000002B420000244400003F0020000F231F5 +:100790000002312900034A940003FF000003616452 +:1007A000000340000003FF000002B40400024441C3 +:1007B0000003F0020000F231000227D300034A9444 +:1007C0000003FF0000036168000340000003FF0016 +:1007D0000002B410000244410003F00B0000F231AB +:1007E0000002287A000001FF0003FF000003FF0061 +:1007F0000002A40E0003F0040000F2000002287AB8 +:100800000003E8000000820000034A940003FF0098 +:100810000003616C000340000003FF000002B420ED +:10082000000244410003F0020000F23100022A0AF3 +:1008300000034A940003FF000003617000000203FC +:100840000003FF000002B404000244040003F003AC +:100850000000F2310003C1FE00022ABC00000203C6 +:100860000003FF000002B408000244040003F00388 +:100870000000F2310003E8F000022ABC000340004F +:100880000003FF000003FF000002443E0003F002EB +:100890000000F231000237D1000340000003FF00E6 +:1008A0000002B410000244340003F0020000F231F0 +:1008B000000238F500034A940003FF00000361744E +:1008C0000003F803000340000003FF000002B40827 +:1008D00000026001000244040003F00C0003480819 +:1008E0000003FF000002B440000260040003680837 +:1008F000000349980002B4FD000241140003699806 +:100900000003E8300003C12E0003683000023144C8 +:100910000003E8000003E8100003E8300002B2031F +:1009200000036830000340000003FF000002B580B0 +:1009300000026110000245150003F001000237308B +:1009400000034A940003FF00000361780002BC0129 +:100950000002323D000002320003FF000003FF00EE +:100960000002A10E0003F0020003E800000082076D +:1009700000022D2E000348000003480500000A264F +:100980000000022A0000122500002A2C00003A284C +:100990000003FF000003680000036805000348101F +:1009A000000349DD00000A2900002A2B0003FF0094 +:1009B00000036810000369DD000349710002B20101 +:1009C0000003E8300003C1060003C11700036830CC +:1009D000000231440003E8000003E8100002B20303 +:1009E0000002B300000368300000020B0003FF00A8 +:1009F0000003FF000002A00E000202810003F400C9 +:100A00000001C000000001E5000340120003401592 +:100A100000000A0D0002A00E0003F0020003F40023 +:100A20000001C29C0002C11E00008A0D00026BBAC8 +:100A30000002655B0002C66E0003F0410003066E13 +:100A4000000360150002B20F000244420002A51428 +:100A50000003F0070003E8A00003E8B00003601201 +:100A60000003E800000081E50003F4000001C06B12 +:100A70000003402C0003FF000002B42000024040AD +:100A80000003F0020003F4000001C2A80003E80024 +:100A900000008231000231290000F23100023129C8 +:100AA0000003E800000082310002305E0000F231F5 +:100AB0000002305E0003493D000348C00002B60852 +:100AC000000246640003F0020002B5300002622515 +:100AD000000368C0000368C400034B1D00034028E6 +:100AE0000002BC100002BF0400024CC00003F0056D +:100AF0000002677F00036B1D000231440002677E25 +:100B000000036B1D000340200003FF000003FF00F3 +:100B10000002C22E0003F0440002C33E0003F04274 +:100B20000002B2FF0002B3FF00036020000231B2F6 +:100B3000000349480003402A0002B43F0002B58088 +:100B40000002B640000246680003F045000243344C +:100B5000000263350003694800024334000369481A +:100B60000003E8000003E8100003E8200003E83079 +:100B7000000364A4000364E40003F4000001C00067 +:100B80000003400400006A310003E8800003E8909D +:100B90000003E8A00003E8B00002A0DE0003F003B9 +:100BA000000364AA0003F4000003F041000364EAB8 +:100BB000000061E90002A0DE0003F0030003E8404A +:100BC0000003F4000003F041000384EA0003D8406E +:100BD0000003DCC0000079E80003F8030003D49EA2 +:100BE0000003FB0000030FFE000202F7000021C318 +:100BF0000002A0DE0003F003000061C20003F40065 +:100C00000003F041000061C10002BF080003DC40A6 +:100C10000003D8C00003F8030003D49E0003FB00C8 +:100C200000030FFE000203060003F8030003EC00BC +:100C30000000023200006A310003FF000002A00E33 +:100C40000003F0010003EC00000349380002A0DEBD +:100C50000003F041000349380002B8FE00024228B8 +:100C600000036938000349D00002B4040002611493 +:100C70000002B2010002B3120002A0DE0003F04144 +:100C80000002B31100036830000349710002B8EF9D +:100C90000002B9040003C106000261790002433872 +:100CA00000036830000348090002B8FD0002444810 +:100CB0000003680900022D08000349A00002B411D6 +:100CC0000003C1240002B10F000369A000034A44DD +:100CD0000002B4FE0002611E00036A4400024114D7 +:100CE00000036A440002A0DE0003F0030003426137 +:100CF0000003F4000003F0410003425D0003FF0025 +:100D00000003FF000003E860000369A50003686BAF +:100D10000002BA0C0002B8C00003DC810003D8A1B5 +:100D20000002B0F80002B1070003E8200003E83039 +:100D30000003FE000003D41F0003686B0003E8F00B +:100D4000000223C9000223B2000223DE0002A1FE3A +:100D50000003F0410003627A000342780003FF00C1 +:100D60000003FF000002A0800001C3670002A09101 +:100D70000001C3670002A0A20001C3670002A0B384 +:100D80000001C3670002CFFE0002BC0C0002A1FC00 +:100D90000003F0420003F4000001C3510000F9CE4B +:100DA0000003E8F0000223B2000223C9000223DEA0 +:100DB000000342780003FF000003FF000002A08050 +:100DC0000001C37D0002A0910001C37D0002A0A22A +:100DD0000001C37D0002A0B30001C37D0002CFFE6D +:100DE0000002BC0C0002A1FC0003F0420003F4006E +:100DF0000001C36A000061CE0000F9C50003FF00D6 +:100E00000002A5CF0001C38D0002A5FC0001C3882C +:100E10000003E8F00003E8C00003F4000001C39001 +:100E200000030CCF0003ACC00003E8F00003F400A3 +:100E30000001C39000030FFC0003AFF00003E8C003 +:100E4000000223C90003C1FC000223B20003493899 +:100E50000002A0DE0003F041000349380003FF0058 +:100E60000002622E00036938000349D00002B4FB7F +:100E7000000241140002B2010002B3120002A0DE1F +:100E80000003F0410002B311000368300003497110 +:100E90000002B8EF0002B9FB0003C106000241796D +:100EA0000002433800036830000348090002B8FD1F +:100EB00000024448000368090002B018000223FD44 +:100EC00000022D2E0003EC000003C10F0003C11F20 +:100ED0000003C12F0003C13F0002A0DE0003F005A4 +:100EE000000364B0000364B4000364B80003F400BA +:100EF0000003F043000364F0000364F4000364F8AB +:100F0000000348C80002B4F30002B5040002400424 +:100F100000026005000368C800024004000368C8BE +:100F20000003EC000003C10F0003C11F0003C12F29 +:100F30000003C13F0002A0DE0003F004000364AC24 +:100F4000000364BC0003F4000003F042000364ECFF +:100F5000000364FC000348C80002B4F30002B504B7 +:100F60000002400400026005000368C8000240045B +:100F7000000368C80003EC000002B010000223FD6B +:100F800000034A1C0002240D0003C18C00034A2008 +:100F90000002240D00038CC60002688C00034A2462 +:100FA0000002240D0003C19C00034A280002240D06 +:100FB00000038CC60002699C00034A2C0002240D29 +:100FC0000003C1AC00034A300002240D00038CC6AC +:100FD00000026AAC00034A340002240D0003C1BCC5 +:100FE00000034A380002240D00038CC600026BBCCB +:100FF0000003EC000003686B0002B9080002B8C0EF +:101000000003DC800003D8900003E8100003E82010 +:101010000003E8300003FE000003D41E0003686BE9 +:101020000003C18F0002BF1000022D040003C1F8AD +:101030000003EC000003E8C00003873C0003A77630 +:101040000003862C0003A6680003851C0003A55A34 +:101050000003840C0003A44C00026CC700026CC6A1 +:1010600000026CC500026CC40003EC0000034024C5 +:1010700000006A310003FF000003A0060002A10E79 +:101080000003F001000081F9000349A1000349A415 +:101090000002BB400002BABF000245A50002A0DE6C +:1010A0000003F003000243A30003F4000003F04137 +:1010B000000263B3000369A4000369A10002326067 +:1010C0000003E8000003E8200003E8300002A0DE8F +:1010D0000003F003000009FB0003F4000003F041EB +:1010E000000009FA0002B8C00003686B0003D800D2 +:1010F0000003DC800003D41E0002BF0800022D04A0 +:10110000000380E0000081F6000081F50003E800A4 +:10111000000081F4000081F30000F1F20003485464 +:101120000002A0DE0003F003000384E80003F400E3 +:101130000003F041000384EA0002622400036854C3 +:1011400000034975000388E6000260680003C117C8 +:101150000003C12E0003C13E0002A0DE0003F00127 +:101160000003833000036830000348540002A0DE0F +:101170000003F003000384E80003F4000003F041DF +:10118000000384EA0003C0440002422400036854C0 +:101190000000620B0002BF0200022D040002A0CE7C +:1011A0000003F0020003F4000002048300022EA8F2 +:1011B0000003E870000384E60002464B0002A064CE +:1011C0000003F04A000349D20003E86000038AB23A +:1011D0000003AAAA0002A1AE0003F002000301AEC0 +:1011E000000225F70003F4000001C5220002BF0839 +:1011F00000024FF90003AFF400038BB20003ABBC55 +:101200000002253B0003F4000001C5220003400C4E +:101210000003FF000002BF0800024FF00003F0428D +:101220000003F4000001C4940002BF000002BB01EF +:101230000002253B000002040003FF000003FF0042 +:101240000002A00E0003F0420003F4000001C522DA +:101250000000F1F40000F1F30002A0DE0003F0034F +:10126000000079F80003F4000003F041000079F772 +:1012700000038DE20003DCD00003D8F0000389E610 +:101280000002699E0000F1E3000041F90003E8D08C +:1012900000038FE00003C1A800038CED0000E1E72C +:1012A0000000E23000022E110002B701000041F9F7 +:1012B0000003E8A00000D1E30002A07E0003F001DB +:1012C0000003A88000030FDF0003C1D90003C1A8F9 +:1012D00000038CED0000E1E70000E23000022E1177 +:1012E00000022E520003C1040003C12600036270F5 +:1012F0000002BF0100034011000388E00002A0FECD +:101300000003F004000244480003F0020003F4006C +:10131000000205080002B701000041F90003FF00C8 +:101320000002A07E0003F0010003A8800003E8D0C3 +:1013300000038FE00003C1A800038CED0000E1E78B +:101340000000E23000022E1100022E520003427013 +:1013500000038CEB00038CEA0003E8F00002C840B5 +:101360000003A88000002A090002CA620003AAA0A4 +:101370000002A65E000204E500006A310000F209E6 +:101380000003C1580003C17A000362710003F40036 +:101390000002049F0002A15E0003F00E00006A310B +:1013A0000003C1910003C1B30002A0DE0003F003FB +:1013B0000003612E0003F4000003F04100036132DA +:1013C0000002C0810003A8000002C2A30003AA20FB +:1013D000000385500000AA09000381E00003008497 +:1013E0000003F0240002A1840003F0010002C441C4 +:1013F0000003044E0003C154000302A60003F024BE +:101400000002A1A60003F0010002C6610003066EFF +:101410000003C1760003D45E00026002000204F7FC +:1014200000006A310002BF0200022D04000349716E +:10143000000381E40003C1060003A26C0002A02E99 +:1014400000020522000261710003C12E0003C13EAB +:101450000002A0DE0003F001000383300003866079 +:101460000003F0470003683000038FED00022D04F5 +:1014700000038FED00022D0400038FED00022D0408 +:1014800000038FED00022D04000349750003C12EF7 +:101490000003C1060003C1170003C13E0002A0DE25 +:1014A0000003F0010003833000036830000001E511 +:1014B0000003FF000003FF000002A50E0003F04838 +:1014C000000340110002A0DE0003F0030002666E7C +:1014D0000003F4000003F0410002677E0003601186 +:1014E0000003E800000081E50003EC000002A0FE1C +:1014F0000001C5470002B00F0002B10F0002B20F99 +:101500000002B30F0002A0DE0003F0030003632813 +:101510000003F4000003F04100036368000231445B +:1015200000034A40000041F2000049F6000051F576 +:101530000002BC330002440C0002451C000264455A +:101540000002462C0002473C000266670002644627 +:101550000002A14E0003F0010002B4010002A08EBF +:101560000003F0050002A4490003F0430002A44B6D +:101570000003F0410000F1F40000A1F60002BCCC31 +:101580000002440C0002451C0002462C0002473CAD +:101590000002644500026446000264470002A14E56 +:1015A0000003F0010002B4010002A08E0003F00568 +:1015B0000002A44A0003F0430002A44B0003F041E0 +:1015C0000000F1F30000A1F50003E8400000A1F2E3 +:1015D000000001F4000011F30002B10F0002B30596 +:1015E0000002A5FE0002059D0002A0FE0003F041DE +:1015F0000003E8F00002A00E0003F0010002CFFE9D +:101600000002B1100002A02E0003F0010002CFF191 +:101610000002B3900002A6F30003F0420000F1E5DF +:101620000003EC00000243020003F043000225DD4A +:101630000003F4000001C5470002B41100030FF4D9 +:101640000002A0DE0003F0030000F9F10003F4043F +:101650000003F0010000F9F0000343290002A0DEBE +:101660000003F041000343690002BF77000225BC7C +:101670000003EC00000348E50002A0DE0003F04197 +:10168000000349050002B8110002A00E0003F0019A +:101690000002C448000249410002A4930003F00183 +:1016A0000000F1F40002A02E0003F0010002C55872 +:1016B000000249510002A4930003F0010000F1F37D +:1016C0000002A0DE0003F003000368E50003F4005D +:1016D0000003F04100036905000240020002A00E71 +:1016E000000205470002B102000225F70003EC00EA +:1016F0000002A1FE0003F0410003EC000003A1F68C +:1017000000038FF60003A0F60002A10E0003F0070D +:101710000002BC090002A04C0003F0410002BC0F13 +:101720000003C14C0003C15C0003000E0002A11EB7 +:101730000003F0070002BC090002A06C0003F041A6 +:101740000002BC0F0003C16C0003C17C0003011E3A +:101750000002A0DE0003F003000363290003F4008D +:101760000003F0410003636900026201000205C248 +:101770000003EC00000343290002A0DE0003F04157 +:10178000000343690002A00E0003F0050002B40F3D +:1017900000024CFE0003F0010002B4090003C15432 +:1017A0000002A02E0003F0060002B60F0003ACF604 +:1017B00000024CCE0003F0010002B6090003C1761E +:1017C0000002A0DE0003F003000363290003F4001D +:1017D0000003F041000363690003EC00000348E5E7 +:1017E0000002A0DE0003F041000349050002B01131 +:1017F0000002C4400002C5500002A0DE0003F00356 +:10180000000368E50003F4000003F04100036905EC +:101810000003011E000205FB0003EC0000006A311A +:101820000003E80000022E820000F1EF0003E80050 +:10183000000081EE0003400C0003402D0002B810B0 +:101840000002B90800024A180003AAA600024B4988 +:101850000003ABB40002B30400026FAB0003F0411D +:101860000002B30200024FAB0003F0010002B30616 +:101870000003402D00000A040002B0400002404076 +:101880000003F0410003E8300002411E0003F001B4 +:101890000003E830000099ED00022D080002B810A6 +:1018A0000002B9FE0002A0DE0003F0090003482197 +:1018B0000002BA0F0002466A000247790002666819 +:1018C0000003682100036A890003F4000003F04765 +:1018D000000348250002BA0F0002466A0002477959 +:1018E000000266680003682500036A8D0002302844 +:1018F0000002BF0300022FF40002BF6400022D04A7 +:1019000000006A310003FF000003FF000002A0DEB8 +:101910000003F0030002BB000003F4000003F041E9 +:101920000002BB400000D9E00003C10E0002B1116B +:101930000002B21000036A440002B1100003E82064 +:1019400000036A440002B0FF0002B1FF0002B2FDD2 +:101950000002B3FF0003686000034A600002BFF7A3 +:101960000002B1130002400F0002600E00036A6023 +:10197000000031FE000039FD0002BC080002BFFE7D +:101980000003866A000262260002A47E0003F001C2 +:101990000002B3040002400F0002600C00036A6002 +:1019A00000038FE100022D040003686B0003FF00B9 +:1019B0000003FE000000622F00005A2E0003FF000B +:1019C0000003D8C10003DCB100038FE300022D0443 +:1019D0000003D01F00038CEF00038FE400026FFEB2 +:1019E00000024001000242230002400200024CC0FB +:1019F0000003FB010003D01F00030FFE0002067866 +:101A00000002A0DE0003F003000348210003F400FD +:101A10000003F041000348250003C0CC000206A4E7 +:101A200000038CE60002C66C0003F0410002C77E92 +:101A30000002A0DE0003F0040003682100036A89AD +:101A40000003F4000003F0420003682500036A8DE0 +:101A50000002A57E0003F0020003F4000001C64A64 +:101A6000000340110002B0080000F1E50002A0DE12 +:101A70000003F003000266600003F4000003F0417D +:101A800000026770000360110003F400000207D138 +:101A9000000380E1000381060002611E000382E76B +:101AA00000036A44000381060003E82000036A443F +:101AB000000230280003402C00005A1D0002B4042C +:101AC0000003E8F0000244400003F0010002BF01FF +:101AD0000002A4BE0003F0010002BF0400022FF4C4 +:101AE0000000F2190000F2170002325A00023028FA +:101AF00000000A2D000011FE000019FD0002B002D6 +:101B00000002A0DE0003F0410002B0040003822ABC +:101B10000002A43E0003F0010002B304000381169A +:101B2000000260010002B13300036A600003400A52 +:101B30000002B0010002B1020002B2000002B301D3 +:101B40000002A02B0003F0020003E8200003C13BC9 +:101B500000036A680003C10E0002B20900024009D6 +:101B60000003F0010003E8200002B0130002B102FC +:101B7000000382260003E83000036A700003402D52 +:101B8000000062040000121A0002BF4000024F4F22 +:101B90000003F0030002A0CE0003F0010002B2082F +:101BA0000002B0210002B1020002B30100036A7416 +:101BB00000000A1D0002B0010003FF000002A41E85 +:101BC0000003F0050002B1040002B2000002B302FB +:101BD0000003F4040003F0030002B1020002B20F9C +:101BE0000002B30100036A7800034A7C0003FF008F +:101BF0000002B0010002B1020002B30400036A7CDB +:101C0000000001EE0003FF000003FF000002C00E11 +:101C1000000081EE00022FEF000002190003400ACD +:101C20000003400D0002A00E0003F0050002B00109 +:101C300000024005000380060003F4040003F003E3 +:101C40000002B00400024009000380020002B10358 +:101C50000002680100034A640002B480000011E041 +:101C600000024004000260080003A2220002B30147 +:101C700000036A6400022EBD00022ECA000001EFBC +:101C80000003FF000003FF000002A00E0003F04E5F +:101C90000003402C0002BC040003DCC000038FEAF8 +:101CA0000002A0DE0003F0010003E8F00003D8F01A +:101CB0000002BC090002BF3F00024B1F00022D8B37 +:101CC0000003E8F00000F9EF000001EE0003FF0060 +:101CD0000003FF000002C00E000081EE000009EDCD +:101CE0000003402E0003FF000002A0010002074A8B +:101CF0000002B001000241080003F00500000232BA +:101D00000003FF000003FF000002A00E0002074ACC +:101D100000034A7400007A1A0003FF000003FF006A +:101D20000003C12F00036A7400022FEF00000219A4 +:101D30000003400A0003400D0002A00E0003F0055E +:101D40000002B00400024005000380020003F40416 +:101D50000003F0020002B010000240090002B1438B +:101D60000002680100034A640002B480000011E030 +:101D700000024004000260080003A2220003C13EEA +:101D800000036A6400022EBD00022ECA0000420356 +:101D90000002B0020002A0DE0003F0410003800256 +:101DA000000240080003F0020003F4000001C77ABB +:101DB0000003400E0002B0100003FF0000024109C2 +:101DC0000002A0100002077A000002190003FF00C1 +:101DD0000003FF000002C00E000082190002B102E1 +:101DE0000002A40100020700000041E0000001C35E +:101DF0000003FF000003FF000003D8800003DC00A5 +:101E00000002BF090002B0000003DC010002B0C004 +:101E10000003D80100022EB4000001EE0003FF0011 +:101E20000003FF000002C00E000081EE00022FEF51 +:101E30000003400A0002B0400003FF000002400916 +:101E40000003A0020002B1030002680100034A641B +:101E50000002B480000011E00002400400026008AB +:101E60000003A2220002B30100036A6400022EBD37 +:101E700000022ECA00034025000042030002B020E9 +:101E8000000240050003F0480002B0020002A0DE9C +:101E90000003F04100038002000240080003F0024A +:101EA0000003F4000001C7BF0003402E0003FF0041 +:101EB0000002B008000241080002A010000207BFA3 +:101EC0000002B080000241080003F0050000023269 +:101ED0000003FF000003FF000002A00E000207BF86 +:101EE000000002170003FF000003FF000003E810DA +:101EF00000008A170002A40E00020732000001E071 +:101F0000000041C30003FF000003FF000003D800EE +:101F10000003DC800002BF090002B0C00003D8014A +:101F20000002B0000003DC01000232600003686BB5 +:101F3000000011D60002B3C00003E8D000036274B1 +:101F400000022DB30002301E0003EC0000006A31D5 +:101F50000003FF000003FF000002A0DE0003F00307 +:101F60000002BB620003F4000003F0410002BB6802 +:101F70000003FF000003FF000000D9EC000230A5C1 +:101F80000003E80000022E820002BB020000DA30EB +:101F90000003E8000002B1600003E8200003E8301D +:101FA000000369A00003E8000002B1100003E8206C +:101FB0000003E83000036A44000230280002BF0238 +:101FC00000022FF40002B0FF0002B1FF0002B2FDD8 +:101FD0000002B3FF0003686000000A2D000011FE3C +:101FE000000019FD0002B00A0002A0DE0003F0416B +:101FF0000002B00C00038116000260010003822A77 +:102000000002B10C000262210002A43E0003F001B4 +:102010000002B3040002B11600036A6000038FE1FE +:1020200000022D040003686B0003FF000003FE00A4 +:102030000002301E00034A60000031FE000039FD3E +:102040000002B4F60002B5030003866A00026226AD +:102050000002A47E0003F0010002B704000263370F +:10206000000301150002400400036A600003400AF7 +:102070000002B0010002B1020002B2120003E83017 +:1020800000036A680002B0800002B2090002400842 +:102090000003F0010003E8200002B0130002B102C7 +:1020A000000382260003E83000036A700002B021BA +:1020B0000002B1020002B2010002B30100036A741F +:1020C0000002B0010002B1020002B20F0002B3012F +:1020D00000036A7800034A7C0003FF000002B0029C +:1020E0000002B1020002B30400036A7C0002325A0B +:1020F0000003E87000034A640002B4800002400458 +:102100000003E8200003E83000036A6400034A6427 +:102110000002B480000011EC000240040002B4038D +:10212000000260040002B31000036A6400022EBDC6 +:1021300000034A640002B4080002444000026774CD +:102140000002A57E000208780003E80000022E824B +:102150000002A0DE0003F003000348220003F400A5 +:102160000003F041000348260003FF0000038CE653 +:102170000002CAAC0003F0410002CBBE0002A0DEA8 +:102180000003F0040003682200036A8A0003F400DD +:102190000003F0420003682600036A8E0003E87023 +:1021A0000002A6BE0003F0020003F4000001C83DD7 +:1021B000000340120000F1E50002BF040002A0DEAF +:1021C0000003F00300026AAF0003F4000003F041D3 +:1021D00000026BBF000360120003F4000001C87826 +:1021E0000002301E0003EC0000006A310000F1EF35 +:1021F0000003E80000008206000340080003402DB1 +:102200000002B8400002B90800024A080003AAAA66 +:1022100000024B490003ABB40002B30400026FABF1 +:102220000003F0410002B30200024FAB0003F001D3 +:102230000002B3060003402D00000A040002B04073 +:10224000000240400003F0410003E8300002411E5C +:102250000003F0010003E83000009A05000021E5CA +:102260000003E8500003FF000000A20C0000A9E5F5 +:1022700000006A310003FF000003FF000002A0DE3F +:102280000003F003000059C20003F4000003F04310 +:10229000000059C10003FF000003FF000000D9E067 +:1022A0000003402C00005A1D0002B4040003E8F0B3 +:1022B000000244400003F0010002BF0100024BBED7 +:1022C0000002A0BE0003F00300022F250003F4006B +:1022D0000001C8B70002BFCB0002318A0000F2182B +:1022E0000000F2170002325A0002302800000A2DC6 +:1022F000000011FE000019FD0002B0020002A0DE85 +:102300000003F0410002B0040003811600026001E6 +:10231000000340150003822A0002B18000026221FE +:102320000002A43E0003F0010002B3040002B6F074 +:10233000000244460002B1080002611400036A6012 +:102340000003400A0002B0010002B1020002B20024 +:102350000002B3010002A02B0003F0020003E820FA +:102360000003C13B00036A680002B0010002B2082A +:10237000000240090003F0010003E8200002B0134E +:102380000002B102000382260003E83000036A70F5 +:102390000003402D000062040000121A0002BF403A +:1023A00000024F4F0003F0030002A0CE0003F00133 +:1023B0000002B2080002B0210002B1020002B30123 +:1023C00000036A7400000A1D0002B0010003FF0050 +:1023D000000241100002A41E0003F0050002B10437 +:1023E0000002B2000002B3020003F4040003F00391 +:1023F0000002B1020002B20F0002B30100036A78CA +:1024000000034A7C0003FF000002B0010002B10299 +:102410000002B30400036A7C00000A1D0003FF00F1 +:102420000003FF000002411E0002A41E0002094F2B +:10243000000002060003FF000003FF000002C00EC0 +:102440000000820600022FEF000002180003400A7D +:102450000003400D0002A00E0003F0050002B002D0 +:1024600000024005000380040003F4040003F003AD +:102470000002B00800024009000380000002B1031E +:10248000000268010000021D0003FF000003FF00BE +:102490000002400E0002A40E0003F00B0000121A0E +:1024A0000002B0230002B1030002B30100036A740A +:1024B00000034A7C0003FF000002B0010002B104E7 +:1024C0000002B30400036A7C00034A640002B48083 +:1024D000000011E000024004000260080003A22294 +:1024E0000002B30100036A6400022EBD00022ECA7E +:1024F000000001EF0003FF000003FF000002A00E38 +:102500000003F04E0003402C0002BC040003DCC0BA +:102510000002BFC00002A0DE0003F0010002BF8085 +:102520000003D8F000038CE40002BF3F00024B1F01 +:1025300000022D8B0003E8F00000F9EF0000020616 +:102540000003FF000003FF000002C00E000082062F +:1025500000005A1D00007A170002B80800024ABEA7 +:102560000002A0AE0001C9700003AAB000024AAE8A +:102570000003F04300022BC40003F4000001C96F04 +:1025800000034A700002BA880002B9700002A0F885 +:102590000003F0430003C12A0003F4000001C96DE9 +:1025A0000003ABB200024BBE0002A0BE0003F0412C +:1025B0000003C12900036A70000231570002325A39 +:1025C00000000A05000002060003402E0003FF0081 +:1025D0000002A001000209840002B00100024108CB +:1025E0000003F005000002320003FF000003FF00BB +:1025F0000002A00E0002098400034A7400007A1A47 +:102600000003FF000003FF000003C12F00036A74F2 +:1026100000022FEF000002180003400A0003400DE3 +:102620000002A00E0003F0050002B0080002400501 +:10263000000380000003F4040003F0030002B02054 +:10264000000240090003A0000002B143000268013B +:1026500000034A640002B480000011E0000240045C +:10266000000260080003A2220002B30100036A64B2 +:1026700000022EBD00022ECA000042030002B0017B +:102680000002A0DE0003F0410003800200024008C7 +:102690000003F0020003F4000001C9B50003400A82 +:1026A0000003FF000002B040000241080002A01039 +:1026B000000209B5000002180003FF000003FF003C +:1026C0000002C00E000082180002B1020002A40144 +:1026D0000002090C000001E0000041C30003FF00FC +:1026E0000003FF000003D8000003DC800002BF08E5 +:1026F0000002B0C00003D8010002B0000003DC01FA +:1027000000022EB4000002060003FF000003FF00D9 +:102710000002C00E0000820600022FEF0003400AF4 +:102720000002B0800003FF00000240090003A00483 +:102730000002B1030002680100034A640002B48091 +:10274000000011E000024004000260080003A22221 +:102750000002B3010002B10000036A6400022EBD52 +:1027600000022ECA000042030002B0010002A0DEF7 +:102770000003F04100038002000240080003F00261 +:102780000003F4000001C9F70003402E0003FF001E +:102790000002B008000241080002A010000209F780 +:1027A0000002B080000241080003F0050000023280 +:1027B0000003FF000003FF000002A00E000209F763 +:1027C000000002170003FF000003FF000003E810F1 +:1027D00000008A170002A40E0002094F000061C326 +:1027E000000059E00003FF000003DCC00003D8B084 +:1027F0000002BF080002B0C00003D8010002B00010 +:102800000003DC01000232600003686B000011D697 +:102810000002B3C00003E8D00003627400022DB3CD +:102820000002301E0003EC0000006A310003FF00CC +:102830000003FF000002A0DE0003F0030002BB5310 +:102840000003F4000003F0410002BB5B0003FF0043 +:102850000003FF000000D9EC000340100002BB1F82 +:10286000000348290002A0DE0003F0410003482DC8 +:102870000002400B0003AF0200038CF600026CCF95 +:1028800000038FF6000349E80002A34C0003F004A4 +:102890000003044C0003055F0003F4000003F04252 +:1028A000000304C4000305F50003C1040003C115BF +:1028B0000002A0DE0003F00400036829000369E8B9 +:1028C0000003F4000003F0420003682D000369ECEC +:1028D0000003E80000022E960003E8000002B14069 +:1028E0000003E8200003E83000036A4400023028B7 +:1028F0000002BF0200022F2500000A2D000011FE79 +:10290000000019FD0002B0020002A0DE0003F04149 +:102910000002B00400038116000260010003822A55 +:102920000002B184000262210002A43E0003F00113 +:102930000002B3040002B11800036A600003400AF9 +:102940000002B0010002B1020002B20A0003E83046 +:1029500000036A680002B0800002B208000240086A +:102960000003F0010003E8200002B0130002B102EE +:10297000000382260003E83000036A700002B021E1 +:102980000002B1020002B2010002B30100036A7446 +:102990000002B0010002B1020002B20F0002B30156 +:1029A00000036A7800034A7C0003FF000002B002C3 +:1029B0000002B1020002B30400036A7C0002325A32 +:1029C0000003E87000022FEF00034A640002B480A5 +:1029D000000011EC000240040002B4030002600495 +:1029E0000002B31000036A6400022EBD00034A64B3 +:1029F0000002B40800024440000267740002A57E91 +:102A000000020AB90003E80000022E960002A0DED0 +:102A10000003F0040003482A000349E80003F4001F +:102A20000003F0420003482E000349EC0002BC11F1 +:102A30000002BF100002C99F0002C88C0003F041D1 +:102A40000003E8800003C1080003C1190002A0DEF2 +:102A50000003F0040003682A000369E80003F4009F +:102A60000003F0420003682E000369EC00034AC033 +:102A70000002BF0700024DDE0003F0010002BF3874 +:102A80000002A18E0003F0430002600F00036AC041 +:102A900000036AC40002BB010000DA300003E870E2 +:102AA00000024FF00003F0030002BBFF0002A08B06 +:102AB0000003F0020003F4000001CA710003401299 +:102AC0000000F1E50002BF200002A0DE0003F003D9 +:102AD00000026AAF0003F4000003F04100026BBF84 +:102AE000000360120002302800022FEF0003EC0008 +:102AF00000006A310003E800000081CC0002A0DE83 +:102B00000003F003000059C20003F4000003F04189 +:102B1000000059C10002B07F0002A1FE0003F04195 +:102B200000024BB00000D9E00002325A0002302807 +:102B300000000A2D000011FE000019FD0002B00285 +:102B40000002A0DE0003F0410002B0040003811681 +:102B5000000260010003822A0002B18000026221AB +:102B60000002A43E0003F0010002B304000340157C +:102B70000002B1080002B6F00002444600026114EF +:102B800000036A600002B0010002B1020002B2005C +:102B90000002B30200036A680002B2080002B01328 +:102BA0000002B102000382260003E83000036A70CD +:102BB0000000121A0002B0210002B1020002B301AB +:102BC00000036A740002B0010002B1020002B20FF9 +:102BD0000002B30100036A7800034A7C0003FF008F +:102BE0000002B0010002B1020002B30400036A7CDB +:102BF0000002BC040003DCC0000079E00002BC0855 +:102C00000002BB180003D8F000022D8B000001CC9D +:102C1000000340250002BF100002C00E000081CC5E +:102C200000024F5F0003F00300022BC40003F40016 +:102C30000001CB160002BF080002A00E0003F00145 +:102C40000003C1FE0002315700034A800002A0FECB +:102C50000003F04100036A84000061E00002B080DC +:102C60000003E8F00002A1C00003F0410003C1FE30 +:102C700000022B7700022FEF000011E00003E810A4 +:102C80000002B0230003A2220002B30100036A6421 +:102C900000022EBD000061CC000001E0000009C36D +:102CA000000340260002B2100003D8000003DC102D +:102CB0000002BF080002B0C00003D8010002B0004B +:102CC0000003DC01000242290003F0450003AFF0DD +:102CD0000002A0CE0003F0020003FB000003FB0192 +:102CE0000003D09E0003FB000002A52E0003F001AC +:102CF0000003FB000003D49F0003FB010002A52E8C +:102D00000003F0010003FB0100030FFE00020B387B +:102D1000000001CC0003FF000003FF000002C00E12 +:102D2000000081CC000061E00002B0800003C1FE21 +:102D30000002A1C00003F0410003E8F000022B777D +:102D400000022FEF000011E00002B0030003E810C2 +:102D50000003A2220002B30100036A6400022EBD38 +:102D600000022ECA00034025000001CC0002B1037E +:102D70000002B2080002B310000243350003F00263 +:102D8000000242250003F0020002A5010001CB036E +:102D9000000061C3000059E00003FF000003DCC035 +:102DA0000003D8B00002B0C00003D8010002B00098 +:102DB0000003DC010002BF08000232600003686B00 +:102DC000000011D60002B3C00003E8D00003627413 +:102DD00000022DB30002301E0003EC000002BC1103 +:102DE0000002A0DE0003F004000348CC000348D139 +:102DF0000003F4000003F042000348EC000348F134 +:102E000000022BAF0002A0DE0003F004000368CC38 +:102E1000000368D10003F4000003F042000368ECF3 +:102E2000000368F10002A0DE0003F004000348D4B0 +:102E3000000348D90003F4000003F042000348F403 +:102E4000000348F900022BAF0002A0DE0003F004EB +:102E5000000368D4000368D90003F4000003F042C3 +:102E6000000368F4000368F90002A0DE0003F00329 +:102E7000000348DC0003F4000003F041000348FCB9 +:102E80000002A0FE0003F0040002C00C0002C11CFE +:102E90000003F4000003F0420003000C0003011CD7 +:102EA0000002A0DE0003F003000368DC0003F4006E +:102EB0000003F041000368FC0003EC000002A0FEE8 +:102EC0000003F00A0002C00C0002C11C0002C22C68 +:102ED0000002C33C0002C44C0002C55C0002C66C88 +:102EE0000002C77C0003F4000003F0480003000C5C +:102EF0000003011C0003022C0003033C0003044CEC +:102F00000003055C0003066C0003077C0003EC0073 +:102F10000002B07F0002B1FF0002B2FF0002B3FF67 +:102F2000000368600003686B000009D60003E80036 +:102F30000003A0030003DC000003D81000034031AD +:102F40000002BF030002BC020002A6FC0003F04125 +:102F50000003C1070002A0FC0003F0410003C1060A +:102F60000002A0FE0003F0410003C1050002A1FE23 +:102F70000003F0410003C1040003C1100003C1209D +:102F80000003C1300003FE000003D41E0003686B81 +:102F90000003FB0000030FFE00020BD200034035CC +:102FA0000002BF030003FF000002A6FC0003F04183 +:102FB0000003C1070002A0FC0003F0410003C106AA +:102FC0000002A0FE0003F0410003C1050002A1FEC3 +:102FD0000003F0410003C1040003C1100003C1203D +:102FE0000003C1300003FE000003D41E0003686B21 +:102FF0000003FB0000030FFE00020BEA0003403851 +:103000000003403D0003FF0000036A8400036A815F +:103010000003EC00000348550003FF000002B7C0A6 +:10302000000368550003686B0003480A0002BF7F75 +:10303000000268F80002B2EF0003A0810002BFC3E3 +:103040000002400F000340250002B3FF0002B1FF61 +:1030500000024F5E0003F0020002B9F300024229B1 +:103060000002BC0200024C5C0003F0010002B3FB52 +:10307000000368600003484000038FF20002BCFBBD +:103080000002411C0002611F000368400003686BDE +:103090000003497C0002B404000261140003697C4F +:1030A00000034A940003FF000003617C0003686B87 +:1030B000000231440003FF000003FE000003FF0094 +:1030C000000341490003FF000003FF0000034864C0 +:1030D000000388440003A8800003E8F00003DCF04C +:1030E0000002BC400002CCC80003D8C00003D41EBC +:1030F0000002326600036149000348640002B41014 +:10310000000246240003F0020003F4000001CC9901 +:1031100000034864000348360002B4400002B504CE +:103120000002444000024558000264450001CC59A9 +:103130000002B43C000244400003F04300023ABDE8 +:103140000003F4000001CC2B000340140003FF0037 +:103150000003FF000002C33E0003F0410003033EF2 +:10316000000360140002B0FF0002B1FF0002B2FFD2 +:103170000002B3FF00036A900003F80300034864F1 +:1031800000038CEA0000F20800024C0C0001CC7530 +:10319000000348340002BC0400024CC000020C646E +:1031A0000000E2080003493D0002BF100002444F46 +:1031B0000003F0040002BFFF00022D040002BF5014 +:1031C00000022D040002BF0800022D040003F400D9 +:1031D0000001CC8600034842000349D4000032338A +:1031E0000002B51000009A330002BC4000024553B3 +:1031F0000003F00900024CC90003F0070002A063BD +:103200000003F0450000F2020002346B0003686B1B +:103210000003F4000001C041000348540002B53F20 +:10322000000243530002B70F0002633700036854E3 +:10323000000232600003E8000000820200034271D5 +:103240000002326600036271000348080002B48085 +:10325000000244400003F0020003F4000001D6EC39 +:103260000003EC000003F803000348080002B480E8 +:10327000000244400003F0020003F4000001D6EC19 +:10328000000349D00002B808000249380002A098A3 +:1032900000020CF0000349D40002B41000024334D1 +:1032A0000002A03400020CCE000348080002B80857 +:1032B0000002600800036808000348280002B820E4 +:1032C000000263380003482D00036828000369E802 +:1032D000000267780003682D000369ED000348C809 +:1032E0000002B8FB00024228000368C800034898A7 +:1032F0000002B82000026008000348B1000368988B +:1033000000026448000368B10003C10E0003C11E3F +:103310000003C12E0003C13E00036330000363704D +:1033200000036334000363740003633800036378AD +:103330000003F4000001CCF0000348080002B8F7D5 +:103340000002400800036808000348280002B8DFB4 +:10335000000243380003482D00036828000369E891 +:10336000000247780003682D000369ED000348C898 +:103370000002B80400026228000368C800034898ED +:103380000002B8DF00024008000348B1000368985B +:1033900000024448000368B10002B0030003C110FA +:1033A0000003C1200003C1300003633000036370D9 +:1033B000000363340003637400036338000363781D +:1033C0000003497C0002B4FB000241140003697C45 +:1033D0000003686B0003F4000001CC2B000348CA13 +:1033E0000002B0040002B1400003C12800026820BE +:1033F000000368CA0003C182000368CA0002682192 +:10340000000368CA0003C182000368CA0003EC001D +:103410000003F80300030FFE00020D050003EC009B +:10342000000232600003686B0003C10E0003E81065 +:103430000003E8200003E8300003A4130003D810C1 +:103440000003DC400003FE000003D41E0003686B91 +:10345000000369A40003E8000003FE000003D41E7B +:103460000003686B000369A40002A0DE0003F00300 +:10347000000342600003F4000003F0410003425CDB +:10348000000342590002A0DE000369A40003F00318 +:10349000000342680003F4000003F04100034264AB +:1034A000000369A10003FE000003D41E0003686B43 +:1034B0000003686B0003EC00000232600003686BDD +:1034C000000342560003C10E0003E8100003E82089 +:1034D0000003E8300003A4130003D8100003DC400D +:1034E0000003D41E0002BF0200022D040003686B1B +:1034F000000369A4000369A20003E8000003FF00C1 +:103500000003D41E0002BF0200022D040003686BFA +:10351000000369A4000232600003686B0003EC0042 +:103520000003686B000232600002B10C0003E80087 +:103530000003A0030003DC000003D8100003E80030 +:103540000003E8100003E8200003E8300003FE0059 +:103550000003D41E0003686B0003FB000003FB00A4 +:10356000000388E30003F8030003FE000003D41EF9 +:103570000003686B0003FB000003088E00020D5A75 +:103580000003EC00000021EB0003E8500003E860BA +:103590000003E8700002B9080002B8C00003DC8133 +:1035A0000003D891000342500003F8030003FF001A +:1035B00000036A440003E8200003011E00036A447C +:1035C0000003FE000003D45F0003686B0003C18F9B +:1035D0000002BF1000022D040002B4190003FE0017 +:1035E0000003D45F0003686B0002BF1000022D04CB +:1035F0000003C1F8000349A50003FF000003FF001A +:103600000003C1040003C115000382E0000262262A +:103610000003C137000369A40002B9080003099E32 +:1036200000020D87000369A50003EC000002A1BEA3 +:103630000003F00E0003D01E00030FBE0002BA3FCD +:103640000003000E0002400A0003011E0002411A9E +:103650000003022E0002422A0003033E0002433A06 +:103660000003D41E00030FFE00020D900003FB00B8 +:1036700000030CCE00020D8B0003EC000002A1BE83 +:103680000003F00E0003D01E00030FBE0002BA3F7D +:103690000002C00E0002400A0002C11E0002411AD0 +:1036A0000002C22E0002422A0002C33E0002433A38 +:1036B0000003D41E00030FFE00020DA40003FB0054 +:1036C00000030CCE00020D9F0003EC000003D09E0F +:1036D0000003D01F0002BC3F0002488C0002499C3E +:1036E00000024AAC00024BBC0002440C0002451C24 +:1036F0000002462C0002473C0002BC200002C084AD +:103700000003A0000002A3480003F0410002C00C27 +:103710000002C1950003A1100002A3590003F0416B +:103720000002C11C0002C2A60003A2200002A36A7C +:103730000003F0410002C22C0002C3B70003A33013 +:103740000002A37B0003F0410002C33C0002BC075F +:103750000002A3DC0003F04E0003727400035276F3 +:103760000003FF000003FF000003FE000003D41E5F +:103770000003686B0003FB000003727600035274C1 +:103780000003FF000003FF000003F4040003F0083F +:103790000002BC080002A4DC0003F00100036A84FC +:1037A0000002BC090002A4DC0003F00100036A80EF +:1037B0000002325A0003FB000003FB010002CDDED1 +:1037C0000002A6DF00020DB300022FEF0002B000DE +:1037D0000002B1000002B2000002B30100036A74EB +:1037E0000002B0310002B1060002B2040002B300D0 +:1037F00000036A7800034A7C0003FF000002B00166 +:103800000002B1010002B30000036A7C00034A64B5 +:103810000002B480000240040002B403000260040D +:1038200000036A6400022EBD00034A640002B480F3 +:103830000002400400036A6400006A31000231B2F1 +:103840000003EC00000059E7000062300003FF00B5 +:103850000002A1BE0003F0420000F1E50003EC000D +:103860000002A1CE0003F04100030BBE00030CCE0A +:103870000000D9E70000E23000034A4000005A0986 +:103880000003FF000003FF000002A0BE0003F0429F +:103890000003A0000003A2200003D05E000061FC32 +:1038A000000059E30003A20200024009000242297D +:1038B0000002A58E00020E3C0003088E0002A00D3F +:1038C0000003F00B000041F90002C44F0003C15493 +:1038D0000002A0BE0003F0460003D45E0002C44F05 +:1038E0000003C1540003D45E0002C44F0003C1545E +:1038F0000002A5AE00020E4C00030AAE0002A02D8D +:103900000003F00B000051F90002C66F0003C176FE +:103910000002A0BE0003F0460003D45E0002C66FA2 +:103920000003C1760003D45E0002C66F0003C176B7 +:103930000003D45E00030CCE00020E4D00026B8A21 +:1039400000020E110003EC00000342700000520957 +:1039500000038FEC000388EA0003AAA00002A4AED3 +:103960000003F0060002A1480003F0410002C44831 +:103970000002A1680003F0410002C66800038AE06B +:103980000002A64F0003F0430003044800030008B0 +:10399000000301180002A66F0003F043000306684D +:1039A000000302280003033800030AAE00020E6081 +:1039B0000003C1540003C1760003D45E00036270AB +:1039C0000003EC000003C1620003066E0003DC107C +:1039D0000003D8000003D09E0003FF000003FF0097 +:1039E00000024885000268830003C1980003C1A853 +:1039F0000003C1B80003D49E0003FB000003066E61 +:103A000000020E750003EC000003C1100003C1208A +:103A10000003C1300002A0DE0003F00800036908C3 +:103A20000003690C0003691000036914000369189E +:103A30000003691C0003F4000003F0460003692042 +:103A400000036924000369280003692C000369301E +:103A5000000369340003EC000003C1100003C1201F +:103A60000003C1300002A0DE0003F007000368CCB1 +:103A7000000368D0000368D4000368D8000368DC42 +:103A80000003F4000003F045000368EC000368F055 +:103A9000000368F4000368F8000368FC0003EC000E +:103AA000000349D40003FF00000380E50002410346 +:103AB000000349D20003FF000002400A000349C28C +:103AC0000002A5100003F001000349C60003EC004A +:103AD0000003D09E0003FB000003FF000003FF0073 +:103AE0000003D49F0003FB0100030FFE00020EB48D +:103AF0000003EC000003F8010002BF0400034A6465 +:103B00000003FF000003FF000002410F00020EBF90 +:103B10000003F8030003686B0003FF000003FF00CD +:103B20000003FE000003EC0000034A640003FF00F2 +:103B30000002BF080002410F0002A01F00020EEBAE +:103B4000000340120002B5100002A5250003F00496 +:103B50000002BF0200026AAF0003F4000001CEE8D9 +:103B60000002C4550002A5240003F0040002BF02B5 +:103B700000026BBF0003F4000001CEE80002C44560 +:103B80000002A5240003F0040002BF1000026AAF87 +:103B90000003F4000001CEE80002BF1000026BBF7A +:103BA0000000F1E50003601200022EEC0003EC00BF +:103BB00000034A700003FF000003C1C20003402E4F +:103BC0000002B00100036AA80003FF000003FF0029 +:103BD0000003FF0000034AAC0002B40200036AA91C +:103BE0000003C0000003C0110003C0220003C03363 +:103BF00000034AAD0002BF900002A0CF0003F00511 +:103C00000003C0440002BF0F00024F4F0003F40046 +:103C10000003F0410003C0F40002A0DE0003F00B3B +:103C2000000340190003FF000003FF00000264408E +:103C300000026551000266620002677300036019AA +:103C400000026AAF0003F4000003F0490003401DC6 +:103C50000003FF000003FF00000264400002655102 +:103C600000026662000267730003601D00026BBF02 +:103C70000003602E0003EC000002C44600036AA9A2 +:103C80000003FF000003FF000003FF0000034AAC35 +:103C90000003EC00000232600003686B000009D6EC +:103CA0000002B0C00003DC000003D8100002A0FE38 +:103CB0000003F0040003E8000003E8100003E8201C +:103CC0000003E8300002A0FE0003F0440002B055FB +:103CD0000003C1100003C1200003C1300002A0FE98 +:103CE0000003F0040002B4FF0003C1540003C164E8 +:103CF0000003C1740002A0FE0003F0440002B4AA55 +:103D00000003C1540003C1640003C1740002BC0776 +:103D10000002A3FE00020F9E000041FF0003FF000F +:103D20000003FF000002A08E00020F640002A0DE6C +:103D30000003F003000340420003F4040003F00119 +:103D4000000340460000EA3100006A000002A4DEE1 +:103D50000003F0040003C0880003C0990003C0AA58 +:103D60000003C0BB00026008000261190002622A61 +:103D70000002633B00026448000265590002666A63 +:103D80000002677B00006A310003FF000003FF00B0 +:103D90000003FE000003D41E0003686B0003FB0059 +:103DA00000030CCE0003FE000003D45E0003686B2A +:103DB0000003FB0000030CCE00020F64000041FF73 +:103DC000000062000003FF000002A08E00020F89C5 +:103DD0000003404A0002A4CE0003F0040003C088A0 +:103DE0000003C0990003C0AA0003C0BB0002A4DE08 +:103DF0000003F0020003C18A0003C19B0002BA0F56 +:103E000000024AA800038BA600026AAB0002BBF0C6 +:103E100000024BB80003A7B600026BB70003F4041E +:103E20000003F0030003E8600003E8A00003E8B02B +:103E30000002B4F00002604A0003C1100003C12078 +:103E40000003C13000036A840002A0FE0003F003F7 +:103E50000002B4F00003F4040003F0010002B40F08 +:103E60000002604B0003C1100003C1200003C130F9 +:103E700000036A800003EC000003FE000003D41E70 +:103E80000003686B0003FB0000030CCE0002B903C3 +:103E90000002A0F90003F0440003E8400003E850EA +:103EA0000003E8600003E8700003FE000003D45E36 +:103EB0000003686B0003FB0000030CCE00020FAA96 +:103EC0000002B0F00002B1FF0002A0F90003F042CE +:103ED0000003E8000003E8100003C1210003C13122 +:103EE00000036A8400036A800003EC000002326071 +:103EF0000003686B000009D60002B0C00003DC00BC +:103F00000003D8100002B4FF0003C1640003C174B1 +:103F10000002BC070003FE000002B5FF0003D45EF0 +:103F20000003686B0003FB0000030CCE0003FE00DF +:103F30000002B5EF0003D45E0003686B0003FB00D2 +:103F400000030CCE00020FC50002B5FF00036A8516 +:103F50000002B0F00003C1100003C1200003C13013 +:103F600000036A8000034A6200022FEF0003E8F0BA +:103F700000022FFB00036A62000009D60002B0C0F5 +:103F80000003DC000003D8100002B4FF0003C1549A +:103F90000003C1640003C1740002BC070003FE00FB +:103FA0000003D45E0003686B0003FB0000030CCE2B +:103FB00000020FE70002325A0003EC0000034A64DB +:103FC0000002B4800002400400036A640003EC00B5 +:103FD0000002B0040002A0F00003F00300022F254D +:103FE0000003F4040003F00100022BC40003E80006 +:103FF0000003C0000003C1100002B2FD0002B3FFC5 +:104000000003686000000A2D000031FE000019FD69 +:104010000002B00A0002A0DE0003F0410002B00C72 +:1040200000038116000260010002B1160002A43EE6 +:104030000003F0010002B3040003866A0002B2022A +:104040000002B4040002A3FE0003F0030002A0F487 +:104050000003F0010002B2040002622600036A605D +:1040600000038FE100022D040003686B0003FF00D2 +:104070000003FE000003EC0000034A600003FF00A1 +:104080000003E8300002600E00036A6000034A6427 +:104090000002B4F20002400400036A640003EC0072 +:1040A0000002B0010003E8100003E8200003E8303C +:1040B00000036A600003EC0000006A310003400462 +:1040C0000003FF000002B804000245E00002A05E09 +:1040D0000003F0440002A0DE0003F042000340248D +:1040E0000003FF00000061E90003FF000003FF0080 +:1040F0000003DCC000038FEA0002A0DE0003F00131 +:104100000003E8F00003D8F000038CE40003C1B220 +:104110000003493D0002A0DE0003F04100034941D5 +:104120000003FF000002446E0003F0010002BC0720 +:10413000000240080003F04300022D8B0003F4004E +:104140000003F04100022D9F0002446E0003F009BD +:104150000003E8C00003AB620003A5600002455EF7 +:104160000003F04300022D8B0003F4000003F04134 +:1041700000022D9F0003EC0000006A31000340287C +:10418000000340210002B840000248800003F00311 +:104190000002466E0003F0010003EC00000051C372 +:1041A0000002A0DE0003F003000059C20003F40087 +:1041B0000003F041000059C10003FF000003DCA030 +:1041C0000003D8B0000340060003FF000003FF0017 +:1041D000000240E80003F0030002A0DE0003F0410B +:1041E000000340260003FF000003FF0000034941D5 +:1041F0000002A00E0003F0430002A0DE0003F04125 +:104200000003C1450002454E0003F04300038CE467 +:104210000003F4000003F04100038CE300038998DD +:104220000003AA9C0002A0AE0003F00300022D8B45 +:104230000003F4000003F04100022D9F000340063C +:104240000003FF000003FF00000349410002408E0D +:104250000002A00E0003F0430002A0DE0003F041C4 +:104260000003C1450003E8C00003AB420002454E15 +:104270000003F0070003A5400002455E0003F04381 +:1042800000022D8B0003F4000003F04100022D9F7B +:104290000003EC000002A0DE0003F003000348214D +:1042A0000003F4000003F041000348250003FF0071 +:1042B0000002BB010003A266000381660003A11691 +:1042C00000038776000260270003000B0003A706A7 +:1042D00000038206000266210002A0DE0003F00453 +:1042E0000003682100036A890003F4000003F04220 +:1042F0000003682500036A8D0003EC0000038FEDC6 +:1043000000022D040003E830000382E00003E810FF +:104310000003E8000003683000038FED00022D0465 +:104320000003499C000349D50003402A0002B41051 +:10433000000244470002B5020002455A00038554BA +:10434000000244450003A4400002B6F700024226E2 +:10435000000262240003699C0003E8F00003497036 +:104360000003E8700002B6010003C1510003C14020 +:10437000000368310002B8FC0003C1530003C142CE +:1043800000024558000349740002314400036831BB +:104390000003C1510003C1400002314400036831F1 +:1043A0000003C1530003C142000349980002314495 +:1043B000000368310003C1510003C14000023144D1 +:1043C000000368310003C1530003C1420003499C4C +:1043D00000023144000368310003C1510003C140B1 +:1043E00000023144000368310003C1530003C1429D +:1043F000000348E800023144000368310003C15162 +:104400000003C1400002B7100002314400036831CC +:104410000003C1530003C14200023144000368316C +:104420000003EC000002BC030003493D000348C048 +:104430000002A0DE0003F041000348C40002B604FD +:10444000000246640003F004000386CA0003C17C36 +:1044500000026226000261170002A0DE0003F003E2 +:10446000000368C00003F4000003F041000368C4C7 +:104470000003402A0002B608000387C6000246680F +:104480000003F001000263370002A0DE0003F00326 +:10449000000368C00003F4000003F041000368C497 +:1044A0000003EC000002302E0003493D00034028C9 +:1044B0000002BF080002BC0400024F0F00024C4C77 +:1044C000000260FC0003F0410003EC000002B401B4 +:1044D00000023202000231090002A1FE0003F009CD +:1044E000000231C300023028000340280002BC084B +:1044F0000003FF000002422C0003F0420003F4001E +:104500000003F0420003E840000232020003EC0026 +:104510000003FF000003FF000003FF000003EC00A6 +:104520000003614800036141000361460003627FAC +:104530000003C10E0003E8100003E8200003E83088 +:10454000000368E80003E8000003FF00000368E8D8 +:10455000000341480003FF000003EC00000232604A +:104560000003686B000009D60003E8000003A00305 +:104570000003DC000003D8100002BC030002B0F707 +:104580000002A0FE0003F0410002B07F0003C11052 +:104590000003C1200003C1300002B4FF0003C15476 +:1045A0000003C1640003C1740003FE000003D41EB5 +:1045B0000003686B0003A0010003A1110003A22106 +:1045C0000003A3310003FB000003FE000003D45EE0 +:1045D0000003686B0003FB0000030CCE0002116AAD +:1045E0000002B0FF0002BC080003C1100003C1209C +:1045F0000003C13000036A800002A4FE0001D184E0 +:104600000002A0FC0003F00200036A840003EC0037 +:104610000002B0F70003A1010003A2110003A321CF +:1046200000036A840003EC000003493D0003FF001F +:104630000002B880000264480003693D0002B00136 +:104640000002B1020002B23F0002422F0002B3009A +:1046500000036A680002B0000002B1000002B2006C +:104660000002B30200036A740002B1010002B20842 +:104670000002B30000036A780002B0010002B20039 +:1046800000036A7C000011E00002B0C00002400F8D +:104690000003A0020002600E0002B1000003A2228B +:1046A0000002B30100036A640002325A0003FF00F3 +:1046B0000003FF0000022EBD0002B87F0002444844 +:1046C0000003693D0003EC000003E8000003E8106C +:1046D0000002B2030002B300000368300003EC00E4 +:1046E0000003402C0003FF000003FF000003E8204C +:1046F0000003E8300003602C0003E8000003E8102A +:10470000000360180003601C0003EC0000006A3125 +:104710000002B0010003E8100003E8200003E830C5 +:1047200000036A600002BF0100022FF40002BF1004 +:1047300000022D040002BC1400034A600002BFF70F +:104740000002B1130002400F0002600E00036A6015 +:10475000000031FE000039FD0002BC880002B5FEF9 +:104760000003866A000262260002A47E0003F001B4 +:104770000002B304000240050002600C00036A60FE +:1047800000034A96000340290002BC070003FF0013 +:104790000002444C000385440002C55E0003C1C50D +:1047A0000003E8400003E8600003E87000036A913A +:1047B0000002B4FF0002B57F0002B6FF0002B7FF9F +:1047C000000368610003686B0003FF000003FE0044 +:1047D0000003099C0003F0450003C09900030AAEE2 +:1047E0000003F0420003C0AA00030BBE00036A925C +:1047F000000380000003A00000036A600002BF10F5 +:1048000000022D040003EC000003402A0003472CA3 +:104810000002A0DE0003F0410003476C0002B67FF7 +:104820000003854C000240060002499E0003F0018F +:10483000000260050003C1100003C1200003C13065 +:104840000002A0DE0003F0440003672C0003673081 +:104850000003F4000003F0420003676C000367707C +:10486000000347340002A0DE0003F0410003477458 +:104870000002B6DF00038548000240060002600522 +:104880000003C1100003C1200003C1300002A0DEFC +:104890000003F04400036734000367380003F400AA +:1048A0000003F0420003677400036778000348C008 +:1048B0000002A0DE0003F041000348C40002B63F3E +:1048C000000242260002B6C00002A04E0003F00122 +:1048D0000003E860000262260002A0DE0003F0038D +:1048E000000368C00003F4000003F041000368C443 +:1048F0000003EC00000349980002B80F0002B9F56C +:104900000003E8300003C12E0002A0CE0003F00235 +:1049100000026008000241190003683000034808E3 +:104920000002B8400002A0CE0003F00200026008BE +:10493000000368080003EC000003615000036155A8 +:104940000003615A0003615F00022C05000341501F +:10495000000341550003415A0003415F0003FF007B +:104960000003FF000003EC000002B0FF0002B1BF33 +:104970000002B2FF0002B3FF000368600003EC0016 +:104980000002B07F0002B1FF0002B2FF0002B3FFDD +:10499000000368600003EC000002C44E0003F04A0C +:1049A0000002C55E0003F0480002C66E0003F04638 +:1049B0000002C77E0003F0440002B4FF0002B5FF0E +:1049C0000002B6FF0002B7FF0003EC000002A1CE18 +:1049D0000003F00700030CCE0002BF7C00022D0490 +:1049E0000003FF000003FF0000030CCE000212765C +:1049F0000003EC000003E80000008231000222E026 +:104A00000000F231000222E0000232F800022CF72E +:104A1000000349980002B4F70002B50F00024114E8 +:104A200000026005000369980003C12E0003E8300E +:104A3000000368300000020A000381E00003E84040 +:104A40000002A0010003F0010003C14E0002345E29 +:104A5000000348080002B8FE00024118000368087D +:104A60000002BC00000234090002343A0003400195 +:104A70000003E800000082310002444E0003F00110 +:104A80000002241B000340010003FF000000F2317C +:104A90000002455E0003F0010002241B0000020A30 +:104AA000000381E00003FF000002A4100003F002F5 +:104AB0000003C14E0002345E0002BC010002340952 +:104AC0000002343A0002BF03000236E4000233451C +:104AD00000022EA80002BF1000024FFB0001D2E02E +:104AE000000079CB0003FF000003FF000002A0FEDE +:104AF0000003F0060002BD000002369E0002BD0168 +:104B00000002369E0003F4000001D2E800034000DA +:104B10000002BC000000E2310002A10E0003F0011F +:104B200000023490000340000003FF000000F23157 +:104B30000002A11E0003F0010002349000034004B3 +:104B4000000340010002BC0800024CC10003F00A4F +:104B50000002BD000002444E0003F001000236C412 +:104B60000002BD010002455E0003F001000236C4F0 +:104B70000002BF000000F9CB0003F4000001D2E8FE +:104B8000000349D00002BC8000024CC30003F004C3 +:104B90000002BD000002367E0002BD010002367E2A +:104BA0000003402C0002B8400002B9800002BBFFA5 +:104BB00000034AA5000248180003F0010002BBCF21 +:104BC000000249190003F0020002BA3F00024BBA8A +:104BD0000002455B00036AA50003F4000001C25C0B +:104BE000000349D100022EA80003E8800002A510AE +:104BF0000003F0010002B840000244780003844042 +:104C00000003489C0002B504000264450002B67F20 +:104C100000024006000260040003689C000368A0D4 +:104C2000000368B4000368B8000349380002B5FC0B +:104C3000000242250002B50C00026225000369381B +:104C40000003E8000003E8D000022E820003C1DE6A +:104C500000022E8200022EA8000384E20003C1C9D4 +:104C60000003E8000002B1030002B20A0002B32D03 +:104C7000000244490003F0010002B32F0003E85092 +:104C800000022E71000380EA00022E710002B82F8C +:104C90000002B4020002444C0003F0010002B82DEF +:104CA0000003C1980003C1A80003C1B80003632A30 +:104CB0000003636A00022EA8000381E20003A0E162 +:104CC0000003A396000382E40002C22E0003E85012 +:104CD00000022E710003A0E300022E7100022EA834 +:104CE000000380E5000240A00003C1100003C120C2 +:104CF0000003C130000364A8000364E8000380E0FF +:104D0000000282080002420200038224000091D4C3 +:104D10000003EC0000022EA8000349700002448E3C +:104D20000003F0430002B5F300024225000369705E +:104D30000003E8700003C16E0003C1530003C142C9 +:104D4000000368310002449E0003F0060003499C02 +:104D50000003A4E1000262240003C1530003C14226 +:104D6000000368310002448E0003F04D0003499CAB +:104D7000000384E50003A5E700024004000241159A +:104D80000003A488000384400003854600026005F8 +:104D9000000261140003E8300003C12E00036830F4 +:104DA000000343A4000021D40002B5CF0002400557 +:104DB000000260040003C1100003C1200003C130E1 +:104DC000000363A4000363E4000244440003F00111 +:104DD000000236DF000381840003A018000382066E +:104DE000000260020003E8D000022E960003C1DE3C +:104DF00000022E96000349D100022EA80003E860AD +:104E00000002A5100003F0010002B6400002467641 +:104E10000003A66A000348900003A4BA0002A04E53 +:104E20000003F0410002B4040002B5030002A045F3 +:104E30000003F0410002B4010002B5F00002411588 +:104E4000000261140002B7FE000240070002600683 +:104E500000036890000368A800036894000368AC2E +:104E60000003A0A60003C1100003C1200003C1304D +:104E7000000364240003646400038AB6000348212D +:104E80000002B803000266680002B90F0002BBFE10 +:104E9000000246690002666A0002477B000368213F +:104EA00000036A890003682500036A8D000348082F +:104EB000000348210002611E00036808000348C87F +:104EC0000002B8400002B93F00026008000368C851 +:104ED00000024009000368C80003EC000003402CF6 +:104EE0000002B8400002B9800003E8B000034AA500 +:104EF000000248180003F0010002BB30000249190B +:104F00000003F0020002BAC000026BBA0002655B47 +:104F100000036AA50003489C0002BC7B0002400C11 +:104F20000003689C000368A0000368B4000368B82D +:104F300000034890000384E20003A5E70002411546 +:104F4000000261140002B5FE0002400500036890F3 +:104F5000000368A800036894000368AC00034938A4 +:104F60000002B503000262250002B5F300024225EB +:104F7000000369380003E8C0000234090002343A33 +:104F80000003E8000002B1030002B2090003E830A8 +:104F90000003E85000022E71000380EA00022E7127 +:104FA0000002B0040003C1100003C1200003C1309F +:104FB00000036324000363640002B0200003C110F7 +:104FC0000003C1200003C1300003632800036368AD +:104FD000000236DF00034808000348210003A8ED63 +:104FE00000024118000368080003A8EB00024668AD +:104FF0000003C03E000245530003682100036A8994 +:105000000003682500036A8D0003E8400002345E57 +:105010000003E8F000023E220002BF0100023E222F +:105020000003EC00000340290003FF000002B82A3F +:105030000002425E0003F0010002B8640002A0CE4C +:105040000003F0410002B8100003C1980003C1A89A +:105050000003C1B80003672E000367320003676EC8 +:10506000000367720002B82A0002425E0003F001EA +:105070000002B8E40002A0CE0003F0410002B81024 +:105080000003C1980003C1A80003C1B8000363AEC8 +:10509000000363EE0003489E0003C0140003A11C3C +:1050A000000381140002B0F700024880000268810A +:1050B0000003689E000368A2000368B6000368BA94 +:1050C00000034AEA0002B0FB0003812200024AA06A +:1050D00000026AA100036AEA00036AEE00036AF2B2 +:1050E00000036AF60003EC00000340290003473682 +:1050F0000002B0070002B1080002425E0003F001A6 +:105100000002B1180002A0CE0003F0410002B1007D +:1051100000024880000268810003C1980003C1A812 +:105120000003C1B8000367360003673A00036776DF +:105130000003677A000343B20002B0070002B128FF +:105140000002425E0003F0010002B1380002A0CE6E +:105150000003F0410002B1000002488000026881B3 +:105160000003C1980003C1A80003C1B8000363B2E3 +:10517000000363F20003EC00000349740003C16EF6 +:105180000003E870000388480003C05E00038559EF +:105190000002422500026228000369740003C14234 +:1051A0000003C153000368310003EC000002BF0399 +:1051B000000236E4000348080002B8FE000241186D +:1051C00000036808000340280002BC040002BF037B +:1051D00000024CC20003F00300023DCB0003F400C8 +:1051E0000001D48B000348540002BC600002622C12 +:1051F00000036854000349760002BC10000264AC4E +:105200000003C15B0003C16E0003E8700003683156 +:1052100000023144000348540002BC9F0002422CAB +:10522000000368540003C14A00036831000233AB35 +:105230000003424500023266000362450003EC00B1 +:1052400000006A3100022D080000F1E5000230285C +:1052500000022BC4000340040003400A0002BC0308 +:105260000002BF040002411C000306F10002400FCF +:105270000003F0010003C16A0002C46E0002B50819 +:10528000000238AE000340040003E8F00000FA0614 +:105290000002B240000242200001D4F100038F045A +:1052A0000003AFF80000FA03000349C10002BC0F7D +:1052B000000248CF0003A880000389820002BAE3FD +:1052C0000002444A00026449000249FE0003899238 +:1052D0000002BAFB0002455A00026559000369C189 +:1052E000000381860002608100022E960003E80020 +:1052F0000002A0DE0003F0410002B0400002B10352 +:105300000002B2090002B309000244EF0003F001F9 +:105310000002B30F0003E85000022E710002A3FC4C +:105320000001D4F10003E8C00000E1CE0000E1EE8E +:1053300000023657000340180002A0DE0003F041CF +:105340000003401C000041EE000061CE000260013D +:1053500000026002000260030002A10E0003F0429E +:105360000002C88E0000C1EE0002BA020002BB1F9C +:105370000002CCCA0000E1CE0002A5CB0001D4CCD3 +:1053800000004A0600007A030003FF000002A18922 +:105390000001D4EC00030FFE0002B0100002CFF0B9 +:1053A0000003E800000081E50003F4000001D4AA36 +:1053B0000002CFFE0000FA030000C2060003F40062 +:1053C0000001D4AA0003E8C00000E2030003E830B3 +:1053D0000002366B0003DCE00002BF080003D8F0D7 +:1053E0000002B0200003C1100003C1200003C1303F +:1053F0000002BF110003D41E0003FF000003FB00E6 +:1054000000030FFE000214FD000236570000620385 +:105410000002B0000003DC000003DC0100038FC2C7 +:105420000002B0400002C00F0003D8000002B03FED +:105430000002410F0002B0C00002C0010003D80109 +:105440000003D45E0003D01F0002BF100002A1CFF2 +:105450000001D51E0002A0DE0003F0030003C10A14 +:105460000003F4040003F0010003C10B0003D41F88 +:105470000003F4000001D5250002A0DE0003F003C4 +:105480000003C12A0003F4040003F0010003C12B50 +:105490000003D41F0002360F000340060002B01FB5 +:1054A0000002B1200003C12E000241180003F001E8 +:1054B0000002C22E0002CCC20000E2030002A5C01E +:1054C0000002150200034A940003FF00000360BCC1 +:1054D000000340040003DCE00002BF080003D8F032 +:1054E0000003DCE10002BF2C0003D8F10002BF087A +:1054F0000003AC160002A5CF0003F0430003C0CCAC +:1055000000026CCF0002CCCE0002BF080003D01E08 +:105510000003D05F0003C1890003C19A0003C1AB3F +:105520000002C4400003A0400002C00C0003C1B050 +:105530000002C5510003A1500002C11C0002A61BBD +:105540000003F0010003C1B10002C6620003A260C3 +:105550000002C22C0002A62B0003F0010003C1B21E +:105560000002C7730003A3700002C33C0002A63B05 +:105570000003F0010003C1B30003D41E0003D49F55 +:105580000003FB000003FB0100030FFE00021543B4 +:1055900000034138000341490003412A0002BC0EC8 +:1055A0000002A3010003F0010003C1010002A302F5 +:1055B0000003F0010003C1020002A3030003F00195 +:1055C0000003C1030002A3080003F0010003C108A7 +:1055D0000002A3090003F0010003C1090003E81061 +:1055E0000002A60C0003F0030003C00000038006C5 +:1055F0000003A1060003C1010002A3450003F0015E +:105600000003C1450002A3460003F0010003C146A8 +:105610000002A3470003F0010003C1470002A34AB0 +:105620000003F0010003C14A0002A34B0003F00194 +:105630000003C14B0003E8200002A64C0003F00366 +:105640000003C044000384460003A2460003C132A5 +:105650000002A0DE0003F003000364A80003F404CA +:105660000003F001000364E80003DCE00002BF086F +:105670000003D8F00003D05E0002BF040003DCF199 +:105680000002BF800002A0DE0003F0410002BFC0A4 +:105690000003D8F10002BC100002B8010002B903F7 +:1056A0000002BA0F0002A14C0003F0450003C04401 +:1056B0000002444A000304040003F4040003F0025F +:1056C0000003044A0002C4400002A15C0003F0454C +:1056D0000003C0550002455A000305050003F40409 +:1056E0000003F0020003055A0002C5500002A16C3D +:1056F0000003F0450003C0660002466A0003060688 +:105700000003F4040003F0020003066A0002C6600E +:105710000002A17C0003F0450003C0770002477A35 +:10572000000307070003F4040003F0020003077AF4 +:105730000002C7700003D45F0003FB000003FB01FD +:105740000003D05E0003088E000215A90002B80114 +:105750000003C1010003C1120003C1230003099E1D +:10576000000215A9000344A80002A0DE0003F041D6 +:10577000000344E80002A14C0003F0450003C044CC +:105780000002444A000304040003F4040003F0028E +:105790000003044A0002C4400002A15C0003F0457B +:1057A0000003C0550002455A000305150003F40428 +:1057B0000003F0020003055A0002C5510002A16C6B +:1057C0000003F0450003C0660002466A0003062697 +:1057D0000003F4040003F0020003066A0002C6623C +:1057E0000002A17C0003F0450003C0770002477A65 +:1057F000000307370003F4040003F0020003077AF4 +:105800000002C7730003D45F00022CF70002346B60 +:105810000002302800022FEF0003EC0000022EA847 +:105820000003A3960002366B000380E5000243A04C +:10583000000236740003F4000001D6020003C19098 +:105840000002A1CF0003F0010003C19200036275C2 +:105850000000C9CE0003DCE00002BF080003D8F05E +:105860000003DCE10002BF2C0003D8F10002BF01FD +:105870000003C10400023631000342750002BF017B +:105880000003FF000003C10500023631000342752A +:105890000002BF010003FF000003C1060002363111 +:1058A000000342750002BF010003FF000003C107AF +:1058B00000023631000001CE0002BF000002363186 +:1058C0000003EC000002B2200003D05E0003D09F72 +:1058D0000002410E0003F0440002A0420003F04128 +:1058E0000003C14C0003C18C0003A0000002410E64 +:1058F0000003F0440002A0520003F0410003C15C29 +:105900000003C19C0003A0000002410E0003F0440C +:105910000002A0620003F0410003C16C0003C1ACAF +:105920000003A0000002410E0003F0440002A07238 +:105930000003F0410003C17C0003C1BC0003D45E3E +:105940000003D49F0003FB000003FB010003A00041 +:1059500000030FFE000216320003EC000002B31039 +:105960000002A5C30003F0060003C03C0003833619 +:105970000003A336000236740003F4000001D6646D +:105980000002B30F0002CCCE0002433C0002366B93 +:10599000000231B800022CF70002346B0002BF187D +:1059A0000002385C00022EEC0003EC000002B1049F +:1059B0000002B0800002A0DE0003F0410002B0C08F +:1059C0000002B2090003E85000022E710003EC004F +:1059D0000003C1030003C1130003C1230002A0DEC2 +:1059E0000003F003000364A80003F4040003F001C3 +:1059F000000364E80003EC00000340040002BC80E4 +:105A00000003FF0000024CC00001D69E00034101CC +:105A10000002A0DE0003F041000341050002B104D2 +:105A20000002B0800002A0DE0003F0410002B0C01E +:105A30000003DC100003D8000003C184000236BB61 +:105A40000003C185000236BB0003C186000236BBDD +:105A50000003C187000236BB0002A0DE0003F00392 +:105A6000000364A10003F4040003F001000364E1F7 +:105A70000003F4000001D6B80002B1040002B080B7 +:105A80000002A0DE0003F0410002B0C00003DC1100 +:105A90000003D8010002B1010002B0080002A0DE3C +:105AA0000003F0410002B02C0003DC100003D8001A +:105AB0000002BF0800022EB4000341010002A0DE74 +:105AC0000003F041000341050002A0DE0003F003E3 +:105AD000000364A90003F4040003F001000364E977 +:105AE00000022CF70002346B0003EC000003C198A5 +:105AF0000003C1A80003C1B80002B2010003D49E94 +:105B00000003FB000003022E000216BF0003EC009E +:105B10000002B1040002B0800002A0DE0003F041E8 +:105B20000002B0C00003DC100003D8000002B10185 +:105B30000002B0080002A0DE0003F0410002B02C19 +:105B40000003DC110003D8010002BF0800022EB4DC +:105B5000000344A80002A0DE0003F041000344E873 +:105B60000002A0DE0003F003000361000003F40460 +:105B70000003F001000361040003EC0000034B0C80 +:105B80000002B5FC0002411500036B0C0003EC00A1 +:105B900000034B0E0003C0CF00026AAF00036B0E80 +:105BA0000002314400024AAC00036B0E0003EC001B +:105BB0000002BF03000236E4000349C0000349D5D8 +:105BC00000024C0E0003F0420003F4000001D7294C +:105BD000000349C0000387760002A6700003F0426C +:105BE0000003C1120003E8000003A216000381169F +:105BF0000003A116000348910002BCF00002455CBE +:105C0000000265520002BC040002430C0003A332F0 +:105C10000002BCFE0002444C000264430003689191 +:105C200000036895000368A9000368AD0003C14143 +:105C30000003C1510003C1610003C171000364216D +:105C40000003642500036461000364650002BC0274 +:105C50000002420C0003822A0003489D0002B37F29 +:105C600000024443000264420003689D000368A1EF +:105C7000000368B5000368B90002A10E0003F0023A +:105C8000000236DF0002B0100003C1100003C12083 +:105C90000003C130000363A0000363A4000363E0BA +:105CA000000363E40003497C0002B4FB00024114DA +:105CB0000003697C0003686B0003F4000001CC055D +:105CC0000002302800022FEF000340000003FF0015 +:105CD0000003FF000003A00C0003A11C00038110BF +:105CE0000002611000030F1E0003E8D00002A0FEB6 +:105CF0000003F0410002BD010003C1CE00034808CB +:105D00000003FF00000384E8000260040003680849 +:105D1000000349980002B5FB000241150003699891 +:105D20000002B40F000260040003E8300003C12E3B +:105D30000003683000034971000381E10003C106DC +:105D4000000261710003C12E0003E83000036830D7 +:105D500000022D480003F8010003400D0003FF007E +:105D60000002B00100024006000217690002A0FE16 +:105D70000003F0020002A0ED0003F0050002BB3EAC +:105D800000024BB60003ABB00003F4040003F006BE +:105D90000003A66A0002C66E00030BA60003F4040B +:105DA0000003F0010003E8B0000348190002B2E06C +:105DB000000246620002666B00036819000349E5B1 +:105DC0000003FF00000246620002666B000369E503 +:105DD0000003C1AB00022D0800022D610002B40FC8 +:105DE0000002314400034A400003F8010002A440CD +:105DF0000003F0060002A4410003F0040002A442E4 +:105E00000003F0020002A043000217960002CAAE8F +:105E10000002B0200002A0A00003F0410003E8A0AF +:105E20000002A0AB000217C0000348190002B2E054 +:105E3000000246620002666A00036819000349E531 +:105E40000003FF00000246620002666A000369E583 +:105E50000003F404000217760002A3FE000217CA32 +:105E60000000D1D00002A0DE0002179F0000D1D1B7 +:105E70000002CDDE0003F40400021755000041D1FA +:105E80000003FF000003FF000002A0A8000217CAE1 +:105E90000002A1A80003F048000348210003038A80 +:105EA00000038330000267730003682100036A89DE +:105EB0000003F404000217CA000348190002B2E00C +:105EC000000246620002666800036819000349E5A3 +:105ED0000003FF000002466200026668000369E5F5 +:105EE00000034825000303A8000383300002677302 +:105EF0000003682500036A8D0003F404000217CA3A +:105F0000000340110003E8C00000F1E50002B88082 +:105F10000002677800036011000349980002B5048D +:105F20000002611500036998000348080003FF00A0 +:105F3000000384C800026004000368080003F8033B +:105F40000003EC0000006A310003E8000000820C4E +:105F5000000081CF000238CA000340240003FF0084 +:105F60000003FF000002400E0003F04B000340104E +:105F70000002BC040003DCC000038FEA0002A0DEC4 +:105F80000003F0010003E8F00003D8F00002BC09B0 +:105F90000003C1B100022D8B000340240003FF0069 +:105FA0000002BC020002400C0003F04B0003401052 +:105FB0000002BC040003DCC00002BFC00002A0DE7F +:105FC0000003F0010002BF800003D8F000038CE45E +:105FD0000003C1B100022D8B00022BC40002B406E5 +:105FE0000002B5080002B604000238AE0002BF1875 +:105FF0000002385C000238830002BF0000022FF468 +:1060000000034A700003FF000003FF000002B2908B +:1060100000036A700002BF130002385C000238837C +:10602000000340240003FF000003FF000002400EB5 +:106030000003F04B000340100002BC040003DCC06E +:1060400000038FEA0002A0DE0003F0010003E8F085 +:106050000003D8F00002BC0900038B1000022D9F42 +:10606000000340240003FF000002BC020002400CB9 +:106070000003F04B000340100002BC040003DCC02E +:106080000002BFC00002A0DE0003F0010002BF80DA +:106090000003D8F000038CE400038B1000022D9F56 +:1060A00000034A700003FF000003FF000002B280FB +:1060B00000036A700002BF180002385C00023883D7 +:1060C0000002BF0000022FF400034A700003FF002B +:1060D0000003FF000002B29000036A700002BF13C9 +:1060E0000002385C00023883000340240003FF00F4 +:1060F0000003FF000002400E0003F04B00034010BD +:106100000002BC040003DCC000038FEA0002A0DE32 +:106110000003F0010003E8F00003D8F00002BC091E +:106120000003C1B100022D8B000340240003FF00D7 +:106130000002BC020002400C0003F04B00034012BE +:106140000002BC040003DCC00002BFC00002A0DEED +:106150000003F0010002BF800003D8F000038CE4CC +:106160000003C1B900022D8B000238EC0003EC00E3 +:106170000003E8000003C0000002B1BF0003C1201B +:106180000002B3FF000368600002302800022FEF16 +:1061900000000A2D000011FE000019FD0002B002EF +:1061A0000002A0DE0003F0410002B00400038116EB +:1061B000000260010003822A0002B1840002622111 +:1061C0000002A43E0003F0010002B3040003C11F5B +:1061D00000036A6000034A640002B480000011EC0E +:1061E000000240040002B403000260040002B31085 +:1061F00000036A6400022EBD0002BF0800024FF0D7 +:106200000003F0010000F20C0003EC000000020C9F +:106210000003FF000003FF000002A50E0003F001D1 +:106220000003EC000003E8000000820C00034012B1 +:106230000003FF000003FF000002448E0002A04E96 +:106240000003F0010000F1E50002BF400002A0DE03 +:106250000003F00300026AAF0003F4000003F04102 +:1062600000026BBF0003601200022EEC000079CF29 +:106270000003FF00000340200002A0FE0003F041E5 +:106280000003EC000002A0DE0003F0050002C00ED7 +:106290000003F0410002B0FF0003F4000003F043EC +:1062A0000002C11E0003F0410002B1FF00036020A4 +:1062B0000000F1CF0003EC000002B0010002B102C7 +:1062C0000003C1240003E83000036A680003C1250D +:1062D0000002B0130002B102000382260003E8307E +:1062E00000036A700002B0210002B1020003C1265F +:1062F0000002B30100036A740002B0010002B1029F +:106300000002B20F0002B30100036A7800034A7C66 +:106310000003FF000002B0000002B1000002B3045D +:1063200000036A7C0003EC000002B0010002B1111E +:106330000002B21000036A440002B1100003E8201A +:1063400000036A440002A0DE0003F0030002BB5316 +:106350000003F4000003F0410002BB5B0000D9EC35 +:10636000000348080002B440000081E60002600417 +:1063700000036808000348010002B0BF0002444067 +:10638000000368010003E8000002B1400003E820B8 +:106390000003E83000036A440002B0010003E81083 +:1063A0000003E8200003E83000036A600003EC000B +:1063B0000002302800022FEF000021E60003FF005A +:1063C000000348080003FF000003C104000368083D +:1063D0000003EC0000000A3200006A310003FF00F5 +:1063E0000002401E0003F0410003EC00000238CA26 +:1063F0000002BF0000022FF40000321A0003FF0069 +:106400000002B5090003A6620002C66E0002C46E57 +:10641000000238AE000340280003E8F00002A0DECE +:106420000003F0410002BF400000F9E00003A00CAF +:10643000000081C5000340180003401D0003402EEA +:10644000000061E50003FF000003FF00000361504E +:10645000000361550003615A0000E1C700034010CA +:10646000000079E00002BC040003DCC00003D8F0A7 +:106470000002BC090003C1B100022D8B0003E8C07B +:106480000000E1CE0002B0100002B1000002B21024 +:106490000002B300000362740002B0800003D80160 +:1064A0000002B0000003DC010002B0120002B102E1 +:1064B0000002B2120002B302000362740002B010C4 +:1064C0000002B1120002B2100002B31200036270A7 +:1064D000000362440003624C000362480003C18C65 +:1064E0000003C19C0003C1AC0003C1BC000239DB46 +:1064F000000231B80002BF130002385C00022EEC2B +:10650000000061CE0003FF000002B0000003DC00C9 +:106510000002B04000038FC20002C00F0003D80089 +:10652000000340180002A0DE0003F0410003401CFD +:106530000003402D0003FF000003D41E0003D45FBE +:106540000002BF010003DCF00002BF00000388C2AC +:106550000002CFF80003D8F00003C4000003C41108 +:106560000003C4220003C4330002A0DE0003F04194 +:106570000003C1670002B511000244650003C44472 +:106580000002C0040002B522000244650003C444B6 +:106590000002C1140002B544000244650003C44473 +:1065A0000002C2240002B588000244650003C4440E +:1065B0000002C3340003D41E000079C500034275F5 +:1065C0000003427200024FFE0003F0420002C001CD +:1065D0000002C2230002A1040003F0460002A50944 +:1065E0000003F0040003C18C0003C1900003C1ACA0 +:1065F0000003C1B00002A3090003F0420003C1ACD4 +:106600000003C1B000036272000342460002A126EB +:106610000003F0460002A5290003F0040003C18C2A +:106620000003C1920003C1AC0003C1B20002A32960 +:106630000003F0420003C1AC0003C1B20003624694 +:106640000002A0FE0001D9AE0003424E0002A115D7 +:106650000003F0460002A5190003F0040003C18CFA +:106660000003C1910003C1AC0003C1B10002A31932 +:106670000003F0420003C1AC0003C1B10003624E4D +:106680000003424A0002A1370003F0460002A53988 +:106690000003F0040003C18C0003C1930003C1ACEC +:1066A0000003C1B30002A3390003F0420003C1ACF0 +:1066B0000003C1B30003624A000362740003FB01DC +:1066C0000002B1100002CCCE0000E1CE0002A0C159 +:1066D0000001D93700034270000342450003FF0068 +:1066E0000002C8020003A8800002CA460003AAA054 +:1066F0000003424C000342490003FF000002C902AC +:106700000003A9900002CB460003ABB0000239DBC6 +:1067100000034010000079E00002BC040003DCC06C +:106720000003D8F00002BC090003C1B100022D9F94 +:106730000002302800022FEF0003415000034155B2 +:106740000003415A000061C70003FF000003FF007F +:10675000000360180003601D0003602E0000E1E5E7 +:106760000003EC000002BB210002BB10000001C5C9 +:106770000003FF000003FF000002400E0001DA13D7 +:106780000003A9840003ABA40002BC0F00038880AF +:106790000002488C00038AA000024AAC0003489C17 +:1067A000000348A10002A0DE0003F042000348B449 +:1067B000000348B90003C1180003C15A00038C1636 +:1067C00000038F560002611C0002655F0002A0DE1C +:1067D0000003F0040003689C000368A10003F400B8 +:1067E0000003F042000368B4000368B900034AE8FC +:1067F00000034AED0002A0DE0003F04200034AF06D +:1068000000034AF50002BCEE0002400C0002444CBA +:106810000003889600026C980002600C00038AB6A0 +:1068200000026CBA0002644C0002A0DE0003F00417 +:1068300000036AE800036AED0003F4000003F0427D +:1068400000036AF000036AF50003EC000002BF05D4 +:106850000002BC000002A0DE0003F0410002BC40C8 +:106860000003DCF00003D8C00002BC800002688C8A +:106870000002699C00026AAC00026BBC0003C10804 +:1068800000023A2B0003C10900023A2B0003C10A9F +:1068900000023A2B0003C10B00023A2B0003D49EE6 +:1068A0000003FB000003D49E0003EC000003C110B2 +:1068B0000003C1200003C1300003D41E0003FB000D +:1068C0000003D41E0003FB000003EC0000006A314B +:1068D00000022D080003E8000002B1600003E82078 +:1068E0000003E830000369A0000349980002B80FD4 +:1068F0000002B5F50002B3000003C12E00026008DB +:1069000000024115000368300002BF0100022D049F +:10691000000238CA000230280003402C0002BF04E5 +:106920000003FF0000024FF00003AFF20003E8F0A5 +:1069300000022FF40000321A0003FF000002B50924 +:106940000002C46E000238AE0003E8F00002A0DED0 +:106950000003F0410002BF400000F9E0000059C709 +:10696000000079E00002BC040003DCC00003D8F0A2 +:106970000002BC0900022D8B0003E8C00000E1CE3C +:106980000000E1C60003E8800003E8A0000239DB54 +:106990000002BF400002BC000003DCC10003D8F1CC +:1069A0000002BF400003DCE00003D8F0000231B871 +:1069B0000002BF130002385C00022EEC0002A0DED1 +:1069C0000003F0410003C1AB000061CE000079C6B6 +:1069D0000003D45F0003FB010003D05E0002BB0292 +:1069E0000002A1FE0003F0410003C14A0002A0FE24 +:1069F0000003F0410003C15A0002A0FB0003F04174 +:106A00000003C16A0002A6FB0003F0410003C17A43 +:106A10000003D45E0003FB000002B0100002CCCEE5 +:106A20000002A5C00003F0060000E1CE0003C18C07 +:106A30000003C1AC000239DB0003F4000001DA6B93 +:106A40000002B1040002CFFE0000F9C60002A1F16D +:106A50000001DAA60003E8B00000D9CE0003C18B24 +:106A60000003C1AB000239DB000079E00002BC0486 +:106A70000003DCC00003D8F00002BC090003C1BE63 +:106A800000022D8B0003DCE00002BB400003D8B005 +:106A90000003F4000001DA6B000238EC0002B808D1 +:106AA0000002BA08000239DB000059C7000079E093 +:106AB0000002BC040003DCC00003D8F00002BC03E9 +:106AC0000002CBBC0002BC0900022D9F0003480855 +:106AD0000002B460000260040003680800034998E3 +:106AE0000003FF000002B2010003E8300003683039 +:106AF0000003EC000002B404000246340002A0646B +:106B00000001DACA0003E8F000023DF40002BF0110 +:106B100000023DF40003686B000342490002326644 +:106B2000000362490003EC000003424D000232669C +:106B30000003624D000348640003F8010002BD0C2D +:106B4000000249D20002A0D90003F0460002BF03B0 +:106B500000023B290002BF030002BD0000023B0A05 +:106B60000003EC000002BD04000249D20003F0065D +:106B70000002BF0100023B290002BF010002BD006C +:106B800000023B0A0003EC000002BD08000249D2EB +:106B90000003F0060002BF0200023B290002BF0210 +:106BA0000002BD0000023B0A0003EC000002BD60D1 +:106BB000000249D20002A0D90003F0470002BF033F +:106BC00000023BB00002BF030002BD010002BC0195 +:106BD00000023B0A0003EC000002BD20000249D283 +:106BE0000003F0070002BF0100023BB00002BF013A +:106BF0000002BD010002BC0100023B0A0003EC00E0 +:106C00000002BD40000249D20003F0070002BF02AB +:106C100000023BB00002BF020002BD010002BC0145 +:106C200000023B0A0003EC000003486200024CCE65 +:106C300000021B1C000380F20003C000000381F867 +:106C40000003C01100024DDE0003F0450003C00048 +:106C500000026AA000024AA10003F4040003F0034A +:106C60000003C01100024AA000026AA1000368628A +:106C70000002B0F200026AA00002A00A0003F0477E +:106C8000000348400002B4080002B5F70002611496 +:106C90000003684000024115000368400003686B70 +:106CA0000003EC00000348540003E8800002B9032D +:106CB00000024BFE0003F001000268890002BA02E4 +:106CC0000002B90C00024BFA0003F00100026889CF +:106CD00000026338000368540003E8900002B40423 +:106CE00000024BFE0003F0010002699A00024BFA19 +:106CF0000003F00100026994000349600003686B1F +:106D00000003FF000003FF00000348650003FF00CD +:106D100000024BD60002A0BD0001DBA700024B938E +:106D20000001DB3E00034028000384F00000A202C3 +:106D30000003A226000231440003022E0001DB4DB5 +:106D4000000348040002B4EF00008A2C0002411442 +:106D5000000368040002B58000024BFE0003F0054A +:106D6000000348980002B4BF0002433400026335B8 +:106D70000003689800024BFA0003F005000348B0D6 +:106D80000002B4BF0002433400026335000368B060 +:106D900000023DE80002B604000368310003402809 +:106DA000000231440002411A00021B9000004A0117 +:106DB0000003FF000002B8800003C0990003899C13 +:106DC00000024BFE0003F0060003493C0003489913 +:106DD00000026338000264490003693C00036899BB +:106DE00000024BFA0003F00600034940000348B1DB +:106DF000000263380002644900036940000368B17F +:106E000000024BFE0003F006000348900003489583 +:106E1000000260080002644800036890000368955F +:106E200000024BFA0003F006000348A8000348AD37 +:106E30000002600800026448000368A8000368AD0F +:106E4000000340280003FF000002B80400024118BC +:106E50000003F00100023C68000340280003FF002B +:106E60000002B808000241180003F00100023D2AA8 +:106E7000000348400002B88000024BFE0003F0010E +:106E80000002611800024BFA0003F00100026228C0 +:106E9000000368400002BC010003EC0000034854FA +:106EA0000003C088000243380003685400034249CD +:106EB00000023266000362490002BC000003EC00DD +:106EC000000340280000F9BB0002B8080002411886 +:106ED0000003F00100023D41000340280003FF00D1 +:106EE0000002B804000241180003F00100023CB7A0 +:106EF000000340280003FF000002B802000241180E +:106F000000021BE700024BFE00021BCA0003493CC3 +:106F1000000348990002B87F000243380002444849 +:106F20000003693C000368990002BC0200024BFCAC +:106F300000021BD400034940000348B10002B87F9F +:106F4000000243380002444800036940000368B16E +:106F500000024BFE00021BDD000348900003489531 +:106F60000002B87F00024008000244480003689015 +:106F7000000368950002BC0200024BFC00021BE704 +:106F8000000348A8000348AD0002B87F0002400893 +:106F900000024448000368A8000368AD00034028CD +:106FA0000003FF000002B80E0002411800021C0797 +:106FB00000023D1400024117000368C8000348089E +:106FC0000002B810000241180001DC0700024BFE6D +:106FD00000021BFC000348200002B4010002B5FCC3 +:106FE00000026114000368200002411500036820BC +:106FF0000002BC0200024BFC00021C0600034824F5 +:107000000002B4010002B5FC000261140003682410 +:107010000002411500036824000236E400024BFE22 +:1070200000021C0E000348980002B4C00002633442 +:1070300000024334000368980002BC0200024BFCCB +:1070400000021C16000348B00002B4C00002633402 +:1070500000024334000368B00002BC0300023DC8D4 +:10706000000348400002B87F00024BFE0003F0011D +:10707000000242280002BC0200024BFC0003F001A7 +:107080000002411800036840000348080002B810DD +:10709000000241180001DC31000340280002BC045A +:1070A0000003FF0000024CC20003F00300023D5841 +:1070B0000003F4000003F04100023DCB00024EEE5D +:1070C0000001DC330002BC0800023DC8000079BBAF +:1070D0000003FF000003FF0000024BFE0003F0046A +:1070E000000348980002B43F00024334000368984C +:1070F0000002BC0200024BFC0003F004000348B095 +:107100000002B43F00024334000368B0000348406B +:107110000002B8200002488100021C4A00023DE83B +:107120000002B602000368310003497C0002B80285 +:107130000002488000021C510003497100023DE832 +:1071400000036831000348040000222C0003FF0004 +:107150000003FF000003C11400036804000079BBB2 +:107160000002B8000002BC020003485400024BFEBB +:107170000003F0010002B80300024BFC0003F00220 +:107180000002BC0C0002688C0003C0880002433877 +:1071900000036854000380F8000082020003EC0042 +:1071A000000348080002B810000241180001DC7911 +:1071B00000024BFE0003F00400034A540002B40F27 +:1071C0000002600400036A540002BB0200024BFB91 +:1071D0000003F00400034A580002B40F00026004E8 +:1071E00000036A5800024BFE0003F00400034A54F7 +:1071F0000002B4F00002600400036A540002BB0203 +:1072000000024BFB0003F00400034A580002B4F0F4 +:107210000002600400036A58000348080002B81026 +:10722000000241180001DC9700024BFE0003F0044D +:1072300000034A540002B40F0002611400036A54B0 +:107240000002BB0200024BFB0003F00400034A589B +:107250000002B40F0002611400036A5800024BFEE2 +:107260000003F00400034A540002B4F00002611469 +:1072700000036A540002BB0200024BFB0003F0044F +:1072800000034A580002B4F00002611400036A5877 +:10729000000348080002B810000241180003F00182 +:1072A0000003EC0000024BFE0003F00400034A540C +:1072B0000002B4010002622400036A540002BB020F +:1072C00000024BFB0003F00400034A580002B40123 +:1072D0000002622400036A580003EC00000348081F +:1072E0000002B810000241180001DCC800024BFE89 +:1072F0000003F00400034A540002B4FE00024224DA +:1073000000036A540002BC0200024BFC00021CC8CD +:1073100000034A580002B4FE0002422400036A58E7 +:1073200000024BFE0003F00400034A540002B40FB5 +:107330000002411400036A540002BC0200024BFC2C +:1073400000021CD500034A580002B40F0002411489 +:1073500000036A58000348080002B8100003FF0049 +:10736000000241180001DCE700024BFE0003F004BC +:1073700000034A540002B4F00002411400036A54AE +:107380000002BC0200024BFC00021CE700034A584A +:107390000002B4F00002411400036A5800024BFEE0 +:1073A0000003F00400034A540002B40F000240043A +:1073B00000036A540002BC0200024BFC00021CF4F1 +:1073C00000034A580002B40F0002400400036A5848 +:1073D000000348080002B810000241180001DD0552 +:1073E00000024BFE0003F00400034A540002B4F014 +:1073F0000002400400036A540002BC0200024BFC7D +:107400000003F00400034A580002B4F000024004F4 +:1074100000036A580002BC0800023DC800023D1487 +:107420000003C1DF00024BDE0003F0020002BF00D8 +:1074300000023DF40002BC0200024BDC0003F0023B +:107440000002BF0100023DF40003C1FD0003EC0097 +:107450000002B7FC0002B6330002B5440002B400DB +:10746000000348C80002A0FE0003F0410002B4017E +:107470000002BC020002A0FC0003F0410002B402C2 +:1074800000026114000368C800026005000368C8B8 +:107490000003FF0000024006000368C80002BC02AF +:1074A00000023DC80003EC00000348080002B810C9 +:1074B000000241180001DD3B00024BFE0003F00416 +:1074C000000348980002B47F000242240003689839 +:1074D0000002BB0200024BBF0003F004000348B0EF +:1074E0000002B47F00024224000368B00003493860 +:1074F000000384F20003C044000242240003693800 +:107500000003EC0000034938000384F20002622407 +:1075100000036938000348080002B810000241184F +:107520000003F0010003EC0000024BFE0003F00436 +:10753000000348980002B4800002622400036898A7 +:107540000002BB0200024BBF0003F004000348B07E +:107550000002B48000026224000368B00003EC0063 +:10756000000342490002326600036249000241FE04 +:1075700000021D65000343AE0002B0EF0003FF00F0 +:1075800000024BB000024AB0000249B0000248B00D +:10759000000363AE0002B102000241F100021D705F +:1075A000000343EE0002B0EF0003FF0000024BB007 +:1075B00000024AB0000249B0000248B0000363EE86 +:1075C0000003485400038CF80002622C0003685446 +:1075D000000349740002BCDF0002442C0003C153C5 +:1075E00000023DE800036831000231440002BC1093 +:1075F0000002644C00036831000231440003485427 +:107600000002BC9F0002422C00036854000349742E +:107610000003FF000003C1420003C15300023DE824 +:1076200000036831000241FE00021D93000343AED7 +:107630000002B0100003FF0000026BB000026AB04D +:10764000000269B0000268B0000363AE0002B1023C +:10765000000241F100021D9E000343EE0002B01043 +:107660000003FF0000026BB000026AB0000269B0C4 +:10767000000268B0000363EE0002BC02000247FE95 +:1076800000024CFC00026CC70002B7030002A07F9E +:107690000003F0410003E8C0000348C80002B840FE +:1076A0000002B93F000260080002611C000368C8C4 +:1076B00000024009000368C80003C0CC0002411C5E +:1076C000000368C80002BBFC00024AFE0003F00889 +:1076D000000348210003FF000002655E00036821EB +:1076E00000036A890002455B0003682100036A8980 +:1076F0000002BA0200024AAF0003F0080003482566 +:107700000003FF000002655E0003682500036A8D28 +:107710000002455B0003682500036A8D0003EC004E +:1077200000030CCE0001DDC80003EC0000023DE8C0 +:107730000002B602000368310002B6010003499E50 +:107740000002BC10000264AC0003C15B000368319E +:107750000003499A0002BC02000264AC0003C15B52 +:10776000000368310003FF00000349740002BC10ED +:107770000002642C0003C15300036831000231444D +:107780000003C0CC0002444C0003683100023144C5 +:107790000003C14A0003C15B000368310003EC0031 +:1077A0000003C16E0002B70300024DFE0003F002A9 +:1077B0000002BD020002477D0002BD0200024DFD35 +:1077C0000003F0020002BD010002477D0003EC004F +:1077D0000002B8040002B1020002B08000024FFEB5 +:1077E0000003F0010002B0C000023E420002B103FB +:1077F0000002B00000024FFE0003F0010002B040A2 +:1078000000023E420002B1030002B08000024FFEBF +:107810000003F0010002B0C000023E420002B104C9 +:107820000002B00000024FFE0003F0010002B04071 +:1078300000023E420002B1040002B08000024FFE8E +:107840000003F0010002B0C000023E4200024FFE01 +:107850000003F04700034734000347390003FF00EB +:1078600000036734000367390003F4040003F005E4 +:1078700000034774000347790003FF0000036774A7 +:10788000000367790003EC000002B8040003E8007D +:107890000003E8100003E8200003E83000024FFE78 +:1078A00000021E300003652C0003653000036534C0 +:1078B000000365380003653C0003F4000001DE3579 +:1078C0000003656C00036570000365740003657850 +:1078D0000003657C0002B1060002B00000024FFE0A +:1078E0000003F0010002B04000023E420002B10677 +:1078F0000002B08000024FFE0003F0010002B0C0A1 +:1079000000023E420003EC000002C2080003DC104B +:107910000003D8000003DC110003D8210003D01EAF +:107920000003D05F0002BC070003D41E0003D45F35 +:107930000003FB000003FB000003FB010003FB014D +:107940000003D01E0003D05F00030CCE0001DE4A0E +:107950000003EC000003FF000003FF000003FF0032 +:047960000003FF0021 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/ARUBA_rlc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/ARUBA_rlc.bin.ihex @@ -0,0 +1,385 @@ +:100000002038001023B80000CF800012CC00020579 +:1000100004180001CD80000ECD800203CC00020246 +:10002000CD800201CC00000B8400032A00000000F8 +:10003000CC000243CC000242CD800200C80C00403C +:100040001CE000802A200080CE0002411CE4010058 +:100050002A640100CE400240CE40024296000006D3 +:10006000000000009A4000040000000084000188A5 +:10007000000000008000004E00000000CC00000ED8 +:10008000CC00000E202801C3201C0000C808020577 +:100090007F8B8007C80802019480002300000000C5 +:1000A0008000006A00000000C80C020394C0000B2E +:1000B00000000000200C00018400014410F8001E24 +:1000C0008400010E200C0001840001222038000071 +:1000D0009B800012000000008400014411B8001F42 +:1000E00084000122203800018400010E200C000051 +:1000F000C03001C0CB3900002038000095C0FFE1BE +:10010000CF8000037DC1C006840001442038000078 +:1001100080000020CF80000320380001CF80000342 +:10012000CC000201C808001C9480002000000000E0 +:10013000CD80000E00000000200C0003840001446C +:1001400010F8001E8400012020380002CC3100008D +:10015000C8080200988000040000000084000274B7 +:10016000000000008400012220380001CD8002013F +:100170008400010E200C000084000144203800009F +:10018000C808000A94800007C8380069C834006AAB +:10019000CF790000CBB50000C0380FECCF7900005C +:1001A0008000002000000000C83800569B8000DC62 +:1001B000201C0000C83800579B8000D9201C00017B +:1001C000C83800471FB8000197800003C0380010EE +:1001D000CF800047C80802009480000FC8080201C1 +:1001E0009480000D00000000C808000A9480000AF6 +:1001F00000000000CD80000EC8380069C834006AD5 +:10020000CF790000CBB50000C0380FECCF790000EB +:10021000CC00000E201C0000C808020194800013CE +:1002200000000000C828000096800010200800018F +:10023000CD80000EC80C0020CC8000001C1C0000EB +:100240002A8801BB94800004000000008000013E69 +:10025000000000002A8801BC988000900000000087 +:100260008000010500000000C828000296800006FA +:1002700020080001CD80000ECC8000028000010526 +:1002800000000000C828000196800008000000005F +:1002900020080001CD80000EC80C0021CC80000198 +:1002A0008000010500000000C82800039680000EB1 +:1002B00000000000CD80000E2A8C01E598C0FF7B75 +:1002C000200800012A8C01E4C82002417CE0C0061D +:1002D00098C0013A20080001CC800003800001058D +:1002E00000000000C82800049680000700000000FD +:1002F00020080001CD80000ECC80000480000105A4 +:1003000000000000C82800059680000700000000DB +:1003100020080001CD80000ECC8000058000010582 +:1003200000000000C828002A968000070000000096 +:10033000CD80000E840003970000000080000020A4 +:1003400020180001C828002B96800007000000003C +:10035000CD80000E840003AE00000000800000206D +:1003600020180001C828002896800007000000001F +:10037000CD80000E840003B600000000800000E184 +:1003800020180001C80802009480FF3E0000000011 +:10039000C8280040C02E08007EAE80069680FF3937 +:1003A00020180001C828002C9680000600000000DC +:1003B000C8280078CE80022C800000F020180001B0 +:1003C000C80802019480FF2FC808002FCD80000EBE +:1003D000C80C022D7C8D0011950000037C8D00015E +:1003E000800000FCC015FFFF7D4CC0017C8D00002B +:1003F000C81C007B15DC00107D1D00119500FF213D +:1004000000000000840004F8CC80022D8000002051 +:100410002018000184000109000000008000002075 +:10042000000000001EA800FFCCC0000BCE80000C16 +:100430008800000000000000C0300390CB390000AD +:10044000C00BFFFE7F8B800610CC00107F8F8007D3 +:10045000CFB1000088000000CB390000CFB1000010 +:10046000CD80000ECB3900001FB804F02BB804106B +:100470009780FFFD000000008800000000000000E1 +:1004800080000117C03001C1C0302003CFB100008F +:1004900088000000CB390000C83802429B80000869 +:1004A000C820024196000006C82402409A40000479 +:1004B00000000000840002CC00000000C80C0040D6 +:1004C000C012A0007D0CC0067D0CC00CCCC0002961 +:1004D000C83802039B800004000000008000002058 +:1004E00000000000CC0002038400014411B8001F8A +:1004F0008000002000000000CC000029CD80020315 +:100500008400014420380000800000210000000029 +:10051000C03001C088000000CFB1000099C0000BBE +:10052000C830004023300002CF0000408400015C4E +:1005300020380003C83000401F3003FDCF000040CA +:100540008000006ACC000056C830004023300040D4 +:10055000CF0000408400016D20380001C830004009 +:100560001F3003BFCF0000408000006ACC0000565F +:100570008400017800000000C03020088400018061 +:100580002038FFFFC0302008CC310000CB390000FC +:10059000C03003988400018020380100C0300398E7 +:1005A000CC310000CB090000C03021B6880000002B +:1005B000CC310000840001780000000020380001E8 +:1005C000C03003988400018013B80014CC00005799 +:1005D000C0300398CC31000088000000CB09000037 +:1005E000CF9C0016CD80000EC9F000197F38800C1A +:1005F0009480FFFE00000000880000000000000062 +:10060000CFB10000CB3900002008001F9880000007 +:1006100008880001CC1C00168800000000000000C3 +:10062000C838004453B8000820080248C030FFFF13 +:10063000CB8E00007CF1400695400009CCC800003C +:1006400004880001CC08000004880001CC080000E8 +:10065000048800018000018C47B80004CC8002436C +:100660008800000000000000C030FFFFC88C0000C0 +:100670007CF100069500000F04880001C9150000F8 +:10068000CD48000014CC00107CF100069500000954 +:1006900004880001C9150000CD480000C82C001CCA +:1006A0009AC000047C2DC0078000019B04880001D3 +:1006B0008800000000000000C030FFFFC88E00006E +:1006C0007CF100069500000F44880004C915000065 +:1006D000CD4A000014CC00107CF100069500000902 +:1006E00044880004C9150000CD4A0000C82C001C35 +:1006F0009AC000047C2DC007800001AF448800042C +:100700008800000000000000C010200BC014000092 +:10071000C016C000CD510000C9150000C030FFFF59 +:10072000C88C00007CF100069500000C04880001D4 +:10073000C8940000CD51000014CC00107CF10006DC +:100740009500000604880001C8940000CD51000007 +:10075000800001C80488000188000000000000003B +:10076000C010200BC0140000C016C000CD51000006 +:10077000C9150000C030FFFFC88E00007CF10006E4 +:100780009500000C44880004C8960000CD5100007C +:1007900014CC00107CF1000695000006448800048B +:1007A000C8960000CD510000800001DE448800049E +:1007B0008800000000000000C9CC020394C0007C47 +:1007C00020080000C00C21B6C8D10000C00A1400E7 +:1007D0007D0900069900007620080000200C000129 +:1007E0008400014410F8001E840001222038000219 +:1007F0009780006F20080000C82402409A4000063D +:10080000000000008400019A2008024880000209CC +:1008100000000000C808004450880008840001AEB1 +:100820000000000099C00062200800008400010E52 +:10083000200C000184000122203800009780005C19 +:1008400020080000CC000200CC000201C03403915B +:100850002010000020080003CD350000C030218D9D +:10086000200C0001CCF10000C030218E20CC3FFFD5 +:10087000CCF1000005100001088800019880FFF706 +:10088000C03021B6C00A1400CCB10000CC35000045 +:10089000C80800401C88020098800042C03000A1B7 +:1008A000C0100050CD310000C03000A2CB110000BC +:1008B0001D0C000194C0000700000000C80C001CC3 +:1008C00094C0FFFB000000008000026B00000000ED +:1008D0001D0C010094C00033C0303DAFCB0D0000B3 +:1008E0001CCC000294C0002FC0303D34CB0D000062 +:1008F00098C0002F0000000000000000C80802445B +:1009000004880001CC800244C0303D35CC31000069 +:10091000C0303D31CDB10000C0303D34CB0D0000C2 +:100920001CC80001988000101CC8000298800007B5 +:10093000C80C001C94C0FFFA00000000C81002455B +:1009400005100001CD000245C81002460510000147 +:10095000CD000246C0303D35CDB100008000026BB5 +:100960002008000020080001CC800003C03000A156 +:10097000C0080054CCB10000C03000A2C008010083 +:10098000CB0D00007CC8C00698C0FFFE0000000030 +:10099000C0303D35CDB100008000002000000000D7 +:1009A0002008000180000020CC8000038400012288 +:1009B000203800018400014411B8001FCC800003DE +:1009C0008400014420380000800000200000000066 +:1009D000200C00038400014410F8001E8400012252 +:1009E00020380002C82402409A400006000000009F +:1009F000840001C220080248800002830000000039 +:100A0000C8080044840001D850880008C83800484D +:100A100097800041C83802429B800004000000001B +:100A2000840002CC00000000C83800471FB8000155 +:100A300097800003C0380010CF800047C8380047B7 +:100A40001FB800109B80FFFE0000000084000322FE +:100A5000000000008400012220380001C824024068 +:100A60009A400006C8380048840002FFC838024394 +:100A7000800002A000000000840002E953B80008D2 +:100A8000C030A1F4C034A0D923080400234C0400D2 +:100A9000C8D10000CD350000CC09000023080800B3 +:100AA000234C0800C8D10000CD350000CC0900005F +:100AB00023080C00234C0C00C8D10000CD350000E9 +:100AC000CC09000023081000234C1000C8D10000FE +:100AD000CD350000CC09000023081400234C14007D +:100AE000C8D10000CD350000CC0900002308180053 +:100AF000234C1800C8D10000CD350000CC090000FF +:100B000023081C00234C1C00C8D10000CD35000078 +:100B1000CC090000CD800200C00C21B6CC0D000035 +:100B2000840001442038000088000000000000001C +:100B3000C83800489B80000453B8000888000000B3 +:100B400000000000C808024304880001CB8E0000AA +:100B5000CCC8000047B8000404880001CB8E000018 +:100B6000CCC8000047B8000404880001CB8E000008 +:100B7000CCC8000047B8000404880001CB8E0000F8 +:100B8000CCC8000047B8000404880001CB8E0000E8 +:100B90001CD000019500FFF3CCC8000088000000C5 +:100BA000CCC00242CB8A0000C00C2181CC8D000059 +:100BB000C00C2183CC0D0000C028000447B80004FD +:100BC000CB8E00001CF400019B40002547B80004B8 +:100BD000CB92000047B80004CB9600008400031BB2 +:100BE0000AA800019A80FFF600000000840003229A +:100BF000C00821A0800002EFC0280004C8380243CA +:100C000007B80001CB880000C00C2181CC8D00000A +:100C1000C00C2183CC0D0000C028000407B80001DF +:100C2000CB8C00001CF400019B40000D07B80001B4 +:100C3000CB90000007B80001CB9400008400031B98 +:100C40000AA800019A80FFF6000000008400032239 +:100C5000C00821A080000307C028000484000322EC +:100C6000000000008800000000000000C008218093 +:100C7000CCC90000C0082182CD090000C008218431 +:100C800088000000CD490000C00821A0C88D0000E8 +:100C900014CC00161CCC000198C0FFFD0000000021 +:100CA0008800000000000000C008DEADCC800043DA +:100CB000C00A202020880500200C0000CC8C0207F0 +:100CC000C00A606020880F0504CC0001CC8C0207AC +:100CD000C00A606020881E0F04CC0001CC8C020783 +:100CE000C00A60602088281E04CC0001CC8C02075A +:100CF000C00A60602088322804CC0001CC8C020736 +:100D0000C00A606020883C3204CC0001CC8C020711 +:100D1000C00A70702088503C04CC0001CC8C0207C3 +:100D2000C00A808020885A5004CC0001CC8C020775 +:100D3000C00A808020885F5A04CC0001CC8C020756 +:100D4000C00A80802088645F04CC0001CC8C02073C +:100D5000C00A80802088696404CC0001CC8C020722 +:100D6000C00A808020886E6904CC0001CC8C020708 +:100D7000C00A80802088736E04CC0001CC8C0207EE +:100D8000C00AC0C02088787304CC0001CC8C020754 +:100D9000C00AC0C020887D7804CC0001CC8C02073A +:100DA000C00AFFFF2088807D04CC0001CC8C0207A4 +:100DB000C00A004020880010CC800226CC00022D02 +:100DC000C0080002CC800235CC00002ECC000247C7 +:100DD000CC00022C840004ED00000000C008003F9D +:100DE000CC80022988000000CC000217840004A9EE +:100DF00000000000C80802177C94800C9880000C4A +:100E000000000000CD400217CD4002298400046C90 +:100E10007C148007CCC0021FCCC00221C808007A15 +:100E20008400046C1C88FFFFCCC00235C808002D6C +:100E3000C00C0001C01000067CD0C00308CC00012B +:100E40007C8CC006C0100217C0140229840004E57F +:100E5000000000008800000000000000C8080043F7 +:100E600098800006000000008400032A00000000B3 +:100E70008400037B00000000CC00021BC0080500BA +:100E8000840003D7CC00021CC8080046C80C0045EB +:100E90007CC88001C81C007B1DDC00FE15DC000145 +:100EA0007C9C8012840004DBCC000227CD40022809 +:100EB0008800000000000000C0080000840003D784 +:100EC00000000000C80C00791CCCFFFFC00824D52E +:100ED0008800000000000000C80802009480001E86 +:100EE00000000000C8080247C80C002D7C8C800C54 +:100EF0009480001900000000C808002DC00C0001FB +:100F0000C01000067CD0C00308CC00017C8CC00659 +:100F1000C0100217C0140229840004E5000000007C +:100F2000840003DC00000000C808022704880001D8 +:100F3000CC800227C80C007B1CCC00FE14CC000126 +:100F40007C8CC00E98C0000400000000840003EAFE +:100F5000D00002278800000000000000C00C239A87 +:100F6000CC8D0000C00C239888000000CC8D0000C0 +:100F7000C00803208400040E00000000C808021B03 +:100F80007D488010CC800224CD40021B8400046682 +:100F900000000000C808021C7D488010CC8002259B +:100FA00088000000CD40021C8400037B000000008C +:100FB000C0080700840003D700000000C00801003B +:100FC0008400040E00000000CD400219C00801108A +:100FD0008400040E00000000CD40021AC810022157 +:100FE000C8080219200C020720240000840004B65F +:100FF00000000000CD40021DC808021A200C0207A4 +:1010000020240001840004B600000000CD40021E30 +:10101000C80C021DC810021E7CD14011994000036B +:10102000000000007D00C00784000428CCC002231B +:10103000880000000000000020140000201C0000B8 +:10104000C0102398CC910000C010239ACC910000CE +:10105000C010239984000422000000007D69400034 +:10106000C010239B84000422000000007D69400022 +:1010700099C000040488000180000410201C0001B5 +:101080008800000000000000C92100001E28FFFFAA +:10109000162000107EA280008800000000000000E2 +:1010A00028D000409900003BC838022138DC0040BD +:1010B00095C000117F81800708CC00407CD9C01208 +:1010C00015DC0006C820021F7E3A0001C80C02177A +:1010D000C0140229CD40022E20140004840004759F +:1010E00000000000C0380006CF80022180000464A8 +:1010F00000000000C81C007B1DDC000199C0000E30 +:10110000C8200224C82402257E25C007C820021B4F +:10111000C82402261E68FFFF7E2A80107DE9C007D2 +:10112000C820021C166800107E2A40107DE5C0070A +:1011300099C00018201C00407DCCC0017CD9C01291 +:1011400015DC0006C82002357FA2001096000011B1 +:10115000C82002357FA200017DE1401099400003C4 +:10116000000000007DC20007C0140229CD40022EFD +:10117000C80C0217C810007A1D10FFFF20140004CD +:101180008400048C00000000C0380002CF800221DF +:101190008800000000000000C00C24D4C01024D639 +:1011A000201C0001CDCD000088000000C915000002 +:1011B000200C0000C01000061C9400010910000162 +:1011C0007CD4C0009900FFFD148800018800000055 +:1011D00000000000C808022EC88800007C098007B3 +:1011E000201C0000C02C00069540000F0AEC0001F6 +:1011F0007CAF40047CEE80041F7400017F43400BF1 +:101200007F6B400697400006203000017F2F0003CF +:101210007DB180070954000105DC00019AC0FFF38D +:1012200000000000C820022E88000000CDA00000B1 +:10123000C808022EC88800007C098007201C000016 +:10124000202C0000C0200006954000147CAF400414 +:101250007CEE80041F7400017F6B40067D2E8004AD +:101260001EA800012AA800007F6B400697400007D7 +:1012700000000000203000017F2F00037DB18008B6 +:101280000954000105DC00010A20000106EC000100 +:101290009A00FFEE00000000C820022E8800000027 +:1012A000CDA00000C0082254C88900001488001096 +:1012B000C00C2255C8CD000014CC00107C8D400716 +:1012C000C00C24D7C8CD00007CC0C00B7D4D4007AA +:1012D000880000007D41400BC01C2047CC9D0000D1 +:1012E000C01C2046CD1D0000C81C0228C02020457F +:1012F000CDE1000009DC000709DC0004202000002B +:101300003E1800109580000400000000800004D901 +:1013100020140040C8D4000004CC000106200001C5 +:101320001D5800FF7D9180127D9D80037C99801166 +:101330009580FFF41D58FF00159800087D918012DC +:101340007D9D80037C99800F9580FFEE000000005A +:1013500015540010964000030000000015540008CA +:101360001D5400FF88000000000000002014001F32 +:101370007C94C0041CCC000198C000050000000053 +:10138000095400019940FFFB0000000088000000A4 +:10139000000000007CC0C00BC94800007C8CC00667 +:1013A000C90800007C8CC006C00824D58800000055 +:1013B000CCC90000C00C0006C01000017CD0C012D7 +:1013C000C010000094C0000508CC0001CC10022F12 +:1013D000800004F1051000018800000000000000FA +:1013E000C808022CC00C0006C01000017CD0C0123E +:1013F000C0100000C01C000094C000137C91400489 +:101400001D5400019940000CC0180000C918022F9B +:1014100005980001C814007B1D54FF0015540008F6 +:101420007D954011954000047D5140037D5DC007CE +:1014300009980001CD90022F05100001800004FEE4 +:1014400008CC000184000515CDC0022B88000000E7 +:1014500000000000C8080247C80C002D7C8C800CDE +:101460009480000E00000000C808022BC80C02295E +:10147000C01024D5C91100007CD0C007C0100FF8DF +:10148000C91100007CD0C0077CC0C00B7C8CC0069A +:10149000CCC00247CCC0002E880000000000000035 +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/ARUBA_pfp.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/ARUBA_pfp.bin.ihex @@ -0,0 +1,545 @@ +:100000007C40800188000000CC800040D44000404B +:100010007C40800188000000104C00012490000208 +:100020007C414001505800207D95C01A98C00003C3 +:10003000D1C000188000000099000003D1C0001951 +:1000400080000000D1C0001A80000000248C000253 +:10005000CC800040CC40004098C00003CC0000524F +:1000600080000421CC000054CC00007080000421EA +:10007000CC40006580000000CC000057CC0000712F +:10008000C424003E9A40FFE1C80C001A7CC5001150 +:10009000D1000043D8C00043CC800040CC000040D9 +:1000A000CC4000407C40800188000000C80C001952 +:1000B0007CC50011D1000042D90000427C40C00143 +:1000C000C41B0003C41F0003C4230003C427000390 +:1000D0009580FFCC95C0FFCBC4280010CC00005603 +:1000E0009A800004C4300005CF000040CC000040DE +:1000F000C4280009202C007E22EC8E481AA8002774 +:10010000CEC00040CC000040CD800040CDC00040BB +:10011000CE000040CE40004096800002D880005BB8 +:10012000CC800040CC000040CCC000407C4080012E +:1001300088000000C80C00197CC500117C414001FA +:100140007C4180017C40C0019540FFAED10000425F +:10015000D900004209540001C4230003C42700034E +:10016000C42B0003C42F000396000019964000180A +:10017000C4300010CC0000569B000004C4300005C1 +:10018000CF000040CC000040C43000092034007E85 +:1001900023748E481B300027CF400040CC00004025 +:1001A000CE000040CE400040CE800040CEC0004097 +:1001B00097000002D880005BCC800040CC0000405B +:1001C000CC000040CC000040CCC000409540FF8DEA +:1001D0007D19001180000053C80C00197CC5001166 +:1001E000D1000042D94000427C40C001C41B000342 +:1001F000C41F0003C4230003C4270003C42B00034F +:100200009580FF8095C0FF7FCC000063D100006423 +:10021000C4300010CC0000569B000004C43400051C +:10022000CF400040CC000040C42C00092030007EAC +:100230002330AE481AEC0027CF000040D8400040E1 +:10024000CD800040CDC00040CE000040CE400040F8 +:10025000CE80004096C00002D880005BCC80004079 +:10026000CC000040CCC000407C40800188000000F1 +:10027000C80C00197CC500117C4140017C41800103 +:100280007C40C0019540FF5FD1000042D940004250 +:1002900009540001C4230003C4270003C42B000336 +:1002A000C42F0003C43300039600001C9640001BBB +:1002B000CC000063D1000064C4340010CC000056B0 +:1002C0009B400004C4340005CF400040CC000040F7 +:1002D000C43400092038007E23B8AE481B740027C0 +:1002E000CF800040D8400040CE000040CE400040CB +:1002F000CE800040CEC00040CF00004097400002BA +:10030000D880005BCC800040CC000040CC00004096 +:10031000CC000040CCC000409540FF3A7D19001150 +:10032000800000A2C418000825980001D800001C15 +:100330007C4240017C4280019580035152AC0020F8 +:100340007EE6C01A7C40C0017C4100011AB801E879 +:1003500097800004D84003F7C43803F79B80FFFF61 +:10036000C41C001399C0FFFF1C8800102088007077 +:1003700010D400027ED54011D1400043CD0000438F +:10038000CC800040CE400040CE800040CCC0004039 +:10039000DC3A0000CD0000409780FF1A7C40C0018D +:1003A0007C410001800000DC248C000298C0000A1F +:1003B000C410000F99000005C41C0004CC000052BA +:1003C000CDC00040CC000040C418000825980002B1 +:1003D000800000CBC41000119900FFFCC41C000673 +:1003E000CC000054CDC00040CC000040800000F2A2 +:1003F000248C0002C414001298C0000FC410001016 +:1004000099000005C41C0005CC000053CDC000407D +:10041000CC000040C4180008189401E894C0000201 +:1004200005540006281000017D1500047D91800907 +:10043000800000CB9940FFF8C41C0005CDC00040EF +:10044000CC000040CC00005580000105CC00005FCE +:10045000CC000060C424003E9A40FEECC41C0006A0 +:100460008000011AC41C0004CDC00040CC00004034 +:10047000CC800040D44000407C40800188000000D7 +:10048000C41C000580000125C41C00068000012555 +:10049000C41C0004CDC00040CC000040C80C0018B3 +:1004A000CC800040CC400040105000027D0D001177 +:1004B00055140020D1000043D8400043CC00004038 +:1004C0007C40800188000000C41C0005CDC00040B5 +:1004D000CC000040CC800040D44000407C408001F3 +:1004E00088000000248C0002C414001298C000117F +:1004F000C410001099000005C41C0005CC00005376 +:10050000CDC00040CC000040C40C001BCC8000409B +:10051000CC400040CC400040CC4000407CC4C001F6 +:10052000CCC00040D44000407C40800188000000E6 +:100530009940FFF6C41C0005CC000055CDC000401A +:10054000CC000040800001427C40C001C410002566 +:100550009900000FC41400222018007E219809C8B9 +:1005600099400003CD800040CC000040CC8000408A +:10057000CCC00040D44000407C4080018800000096 +:100580007C40C001C41000259500FFF3C414002373 +:100590002018007E219809E899400003CD80004092 +:1005A000CC0000401CA8E00822A80E28CE80004005 +:1005B000CCC00040D44000407C4080018800000056 +:1005C0007C40C001C41000259900FFF7CC8000409A +:1005D000CCC00040D44000407C4080018800000036 +:1005E000C41000242028007E22A82988CE80004044 +:1005F000CD000040CD0000408C000190C40C0021D3 +:10060000C414002694C0000B041000038000018570 +:10061000C41000242028007E22A829A8CE800040F3 +:10062000CD000040CD0000408C000190C414002695 +:10063000CC000061C424003E964002978540000033 +:10064000C42C000926EC00019AC0000290000000B2 +:10065000C02D0001CEC0005B2034007E23742D0825 +:10066000C02C0156CF400040CEC00040CC0000401E +:1006700090000000248C0002C410001194C00007F8 +:100680009900FE62C41C0006CC000054CDC000409E +:10069000CC00004080000002C414000FC41C000401 +:1006A0009940FE5ACC000052CDC00040CC00004022 +:1006B000C424003E9A40FE557C40C00150500020AA +:1006C0007D0D401AD1400017CC0000628000000070 +:1006D000C037FFFF20880070800001B87C434001D4 +:1006E000C81C0017C4180016CF43A29E7C414001CD +:1006F0007D58C0047CDCC01154D00020CC80004068 +:10070000800001CA7C418001CC800040CD80004047 +:10071000800001C7C019FFFFCC800040CD83A29E9E +:100720007C40C0017C4100017C414001CCC3A1FA66 +:10073000CD03A1F9CD43A29DCCC00040CD00004027 +:10074000CD400040CC4000407C408001880000004B +:100750007C40C00124D00001CCC3A29FD840001629 +:1007600095000002D8800016CC800040CCC000402C +:10077000800000007C40C001CC800040CCC3A2A21D +:10078000CCC0004080000000C41C001C7C40C001A4 +:1007900031E0000014D4001F7D614009CC8000408E +:1007A0007C41000195400002CCC000581518001F84 +:1007B000CCC00040CD00004095800002CD00005923 +:1007C000CC00007F800004212008007E208807E8FC +:1007D000C42000141CA80010CEA000447C410001DD +:1007E000505400207C41800106240001CE400014BA +:1007F000159C00187D15001ACDE00049CDA0004BD6 +:10080000D1200041CDA0004155140008CD40001B6F +:100810009A000004C424002B9A40000221DC00301E +:10082000CDC0004080000421C4200014C60C000A82 +:100830001CA8001094C00003CEA00046800001F761 +:10084000CC00004880000211C40C001C94C0020CB3 +:10085000C428002CD8000054D80000559A8000030A +:10086000D8000052D80000538000020AC4200014AF +:100870007C4180010A200001C614000DC618000A40 +:100880007D59800ACE00001495800004CCA000465B +:10089000CD60004680000421CCA00044CD6000441F +:1008A00080000421CC40006180000421C40C03F6C8 +:1008B000D84003F698C00009C4180020C41C0021C9 +:1008C000C4100010C414000F111000017D15000A9F +:1008D0009980FF4599C0FF50D80003F67C40C001C5 +:1008E000800000007C40C0017C4100017C4380010D +:1008F0007C43C0015110002053FC00207FBF801AB0 +:100900007CD0C01A041C0008D3800042D88000426A +:10091000D0C00042CDC00042041C000204200001EF +:100920007C024001C4170003C41B0003519800203F +:100930007D59401AC42B0003C42F0003C4330003A5 +:10094000C437000309DC000152EC00207EAE801A9F +:10095000537400207F37001A7F2B40127E7640119F +:1009600056A8003F5730003F7EB280097E2A00091A +:1009700099C0FFF19680FFE453F400207F7B401A7A +:100980007D65401155580020CC00005ACD760000FE +:10099000CDB60000C420001F9A00FFFF80000000B9 +:1009A000C420002C7C40C0017C410001CCE003FD50 +:1009B000CD2003FA511400207CD4C01AD0C00042CC +:1009C0001514001F191800F09940000204340000AB +:1009D0002F5C00017D7600097D5E4009998000044E +:1009E000CC000042CC00004D80000421159800018D +:1009F000152C000826EC0001998000331530000CFE +:100A000096000003CC00004280000421041400087A +:100A1000CD4000422730000128280001043800089A +:100A2000043C0002C4170003C41B0003C41F0003DE +:100A3000C42300037D5D400D7DA1C00D7D5D400A96 +:100A40001610001F159C001F7D1D00097D17400911 +:100A50007E9280090BB800040BFC00019B40001241 +:100A60009BC0FFF1C420002CC60F03FDC61303FA80 +:100A70009A800009CC00004D9B0001835114002096 +:100A80007CD4C01A04140008D0C00042CD400042FB +:100A900080000286CC00004D96C0017BCC00004E49 +:100AA00080000421CC00004D9AC00002CC00004E12 +:100AB0009780FD540BB80001C43F00039B80FFFDED +:100AC00080000000CC00004E96400003CC000042A5 +:100AD00080000421DA000042C40B0003C40F0003AD +:100AE000C4130003C4170003C41B0003C41F000386 +:100AF000C4270003C42B000315FC001F16B0001F01 +:100B00007FF3C00914F0001F7FF3C0091570001FA8 +:100B10007FF3C0097D8880027DCCC00297C0000CA5 +:100B20007E5100027E9540027C90800C7CD4C00CEB +:100B30007C8F40099AC000022CB40001CC00004D0B +:100B40009B400151CC00004E80000421C420002CA9 +:100B5000C60F03FDC61303FA511400207CD4C01A3B +:100B6000D0C00042800002B57C40C00114D0001EFD +:100B700099000005CC800040CCC00040D44000402B +:100B80008000000018D4003018D001E818FC0034B0 +:100B900024CC000F04E802E97C4180017C41C001C3 +:100BA00094C0001486800000800002F380000425B9 +:100BB0008000042580000425800002F080000425C8 +:100BC00051DC00207D9E001A8000030251DC0020D1 +:100BD0007D9D801AC5A200009540000C4598000438 +:100BE000C5A60000526400207E26001A8000030281 +:100BF000C5A100009540000505980001C5A50000AD +:100C0000526400207E26001A052803067C418001DC +:100C10007C41C0019500000786800000800004250B +:100C20008000042580000425800004258000031630 +:100C3000D800005ACE190000954000040598000124 +:100C400056200020CE19000097C0FCEEC439214088 +:100C50007C40800188000000519C00207D9D801A0E +:100C6000D800005ACE1A00009540000405980004F0 +:100C700056200020CE1A00009BC0009E7C408001C0 +:100C8000880000007C40C0017C4100011914003B39 +:100C9000CC00005A95400010C414001E3D580002BC +:100CA0009980FFFECC00005D291C8000CCC121850D +:100CB000CDC121861514001FCC412187CC4121884C +:100CC000CC4121899540FCCFC414001E9940FFFF00 +:100CD00080000000CC800040CCC00040CD0000402F +:100CE000D440004080000000C428002CD86803F7DE +:100CF000CC800040CC400040C68F03F798C0FFFF77 +:100D00007C40800188000000C428002CC42C001105 +:100D1000C430002F7EF2C00A9A800007C430000F52 +:100D20009B000005C4340004CC000052CF400040BA +:100D3000CC0000409AC00005C4340006CC0000542A +:100D4000CF400040CC0000407C40C001D86803F791 +:100D5000CC800040CCC00040D440004014D0001FE4 +:100D6000990000C98000033ECC800040CC40004088 +:100D7000CC400040CC4000407C40C001CCC00015BD +:100D8000CCC00040D4400040D80003F680000000F2 +:100D90007C40C00114DC001D18D8003CCC80004011 +:100DA00099C00005CCC000409980FC96CC00006141 +:100DB00080000421CD80005ECC000061CCC00040EA +:100DC000800004217C40C001505000208C00038032 +:100DD0007CD0C01AC4200014C4D600007C4380011B +:100DE00099400006DF830000CFA0004F8C000384F1 +:100DF000D440007F800000008C000384800000004D +:100E0000D800001DC414001D9940FFFF9000000091 +:100E1000D840001DC414001D9540FFFF9000000045 +:100E20008C000380C42000147C40C001C036FF0049 +:100E3000C4100015C0303FFF7CF540097D5180098A +:100E40007D81801D7CF3800999800006DF8300008E +:100E5000CFA0004F8C000384D440007F80000000AE +:100E60008C000384800000007C40C00114D0001E70 +:100E700099000005CC800040CCC00040D440004028 +:100E80008000000018D001E818D4003018D80034D1 +:100E9000052803A87C4200017C4240019500000720 +:100EA0008680000080000425800004258000042541 +:100EB00080000425800003B6115400107E16000A3D +:100EC000CD40005AD46100009580FC4EC4392140C9 +:100ED0007C40800188000000115400105224002042 +:100EE0007E26001ACD40005AD46200009580FC4551 +:100EF000C420001F9A00FFFF7C4080018800000092 +:100F00007C40C00114DC000895C0001924DC0010EE +:100F10007C4100015054002099C00003C51D000011 +:100F2000800003CB7D15001AC51E00007C42000125 +:100F30007C4240017C4180017DE5C0097DE2800F5B +:100F400041AC00029A80FC2F06EC00030AEC000181 +:100F50009AC0FFFF24DC001099C00003C51D0000EB +:100F6000800003CEC51E0000800003CECC80004070 +:100F7000CCC00040D440004080000000C41C0004ED +:100F8000CDC00040CC000040CC800040D4400040A8 +:100F90007C40800188000000C41C0005CDC00040DA +:100FA000CC000040CC800040D44000407C40800118 +:100FB000880000007C40C00124D0000631100006EB +:100FC000C414000F99000008CC000052C424003E55 +:100FD0009640003199400004C41C0004CDC000407C +:100FE000CC000040CC800040CCC00040D440004049 +:100FF000800000007C40C0017C4100011518001FEA +:10100000CD00005A5114002099800003D44D0000F7 +:10101000800000007D4D401A191C0031D45600009C +:10102000C420001F95C0FBF7C420001F9A00FFFFDB +:10103000800000007C40C00114D0001F24D400FFB9 +:1010400095000003CC54030080000000CC800040D9 +:10105000CCC00040CC40004080000000C420002CE8 +:101060007C40C001C4D30300CC800040CCC0004011 +:10107000CC00005ACD21214180000000D440007FE7 +:1010800080000000C424003E964000037C408001A4 +:10109000880000008000042500000000000000001F +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000303DF000403E6000501F200060119E6 +:10201000000701240008013200090120000A01170D +:10202000000B0122000C0152000D0160000E01782E +:10203000000F01840010041F00110006001200139D +:102040000013001C0014001E001600220024002BA8 +:1020500000250076002601AE0017021B0018022999 +:10206000001A022B0022037100230388002701C1FC +:10207000001F023900200268002801E2002901B493 +:10208000002A01D4002B01C5002C004D002F01DDDA +:102090000032020A003403ED003501B70037039A1D +:1020A0000038009C003C03C0003E0212003F01F4D7 +:1020B000004002DA004103210042033A0043034298 +:1020C0000044035A004A0364005503E2005603E942 +:1020D000006000C9006100EA00620113006300FCB7 +:1020E000006400FC006500FC006600FC006700FC6A +:1020F0000069011C006A0170006B0135006C01353C +:10210000006D0135006E0135006F01350070013939 +:1021100000730127007401270075019D007B03FDFA +:10212000007D040D007E0417000000020000000284 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:102180000000000200000002000000020000000247 +:102190000000000200000002000000020000000237 +:1021A0000000000200000002000000020000000227 +:1021B0000000000200000002000000020000000217 +:1021C0000000000200000002000000020000000207 +:1021D00000000002000000020000000200000002F7 +:1021E00000000002000000020000000200000002E7 +:1021F00000000002000000020000000200000002D7 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/PITCAIRN_pfp.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/PITCAIRN_pfp.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000CC800000D4400000CB +:100010007C40800188000000CC800000CCC0000043 +:10002000D44000007C40800188000000244C000F78 +:1000300030E80002249000029A80000C7C414001CC +:10004000505800207D95C01A98C00003D1C00019F7 +:100050008000000099000003D1C0001A8000000059 +:10006000D1C0001B80000000C4200015C624000A77 +:10007000964001637C4100017C414001CC8000003E +:10008000CCC00000CD000000CD400000CD00002D10 +:10009000CD40002E7C40800188000000CC80000014 +:1000A000CC400000CC0000128000038ACC40002825 +:1000B0007C40800188000000C80C001B7CC500113A +:1000C000D1000003D8C00003CC800000CC000000A9 +:1000D000CC4000007C40800188000000C80C001A61 +:1000E0007CC50011D1000003D9000003C41C00101E +:1000F000CC00001499C00004C41C0005CDC0000051 +:10010000CC000000C42800091AA80030202C007E72 +:1001100022EC4E4896800002D8800022CEC000001B +:10012000D8000000CC400000CC4000001C8800102B +:10013000CC800000CC4000007C40800188000000A2 +:10014000C80C001A7CC500117C4140017C41800133 +:100150007C41C0017C4200017C42400195C0FFA966 +:10016000D1000003D9000003C4280010CC00001403 +:100170009A800004C4280005CE800000CC00000056 +:10018000C42800091AA80030202C007E22EC4E481A +:1001900096800002D8800022CEC00000D800000067 +:1001A000CD400000CD8000001C88001009DC00015B +:1001B000CC800000CE40000095C0FF927D21001150 +:1001C00080000058C80C001A7CC50011C51600003C +:1001D00095400313281800047D198011C59600006E +:1001E0009540030FCC000026D1000027D10000036A +:1001F000D9400003C41C0010CC00001499C00004B6 +:10020000C41C0005CDC00000CC000000C4280009BB +:100210001AA80030202C007E22EC4E489680000266 +:10022000D8800022CEC00000D8400000CC400000A2 +:10023000CC4000001C880010CC800000CC400000A6 +:100240007C40800188000000C80C001A7CC50011A9 +:10025000C5160000954002F2281800047D1980118F +:10026000C5960000954002EE7C4140017C41800132 +:100270007C41C0017C4200017C42400195C0FF618D +:10028000CC000026D1000027D1000003D940000394 +:10029000C4280010CC0000149A800004C428000573 +:1002A000CE800000CC000000C42800091AA800304D +:1002B000202C007E22EC4E4896800002D88000223E +:1002C000CEC00000D8400000CD400000CD8000002E +:1002D0001C88001009DC0001CC800000CE4000002A +:1002E00095C0FF487D210011800000A0C4180008BF +:1002F000259800017C4240017C428001958002C823 +:1003000052AC00207EE6C01A7C40C0017C41000156 +:10031000C41C001199C0FFFF1C88001020880070C9 +:1003200010D400027ED54011D1400003CD0000035F +:10033000CC800000CE400000CE800000CCC0000089 +:10034000DC3A0000CD0000009780FF2E7C40C00109 +:100350007C410001800000C8C410000FC41C0004D0 +:1003600099000004CC000012CDC00000CC000000B9 +:10037000C418000825980002800000BD248C0002EB +:10038000C4100010C418000898C0000899000005A7 +:10039000C41C0005CC000013CDC00000CC00000040 +:1003A00019980030800000BD19980038800000BD09 +:1003B000C41C0004CDC00000CC000000CC800000B4 +:1003C000D44000007C40800188000000C41C000470 +:1003D000CDC00000CC000000C80C0019CC8000008B +:1003E000CC400000105000027D0D0011551400207B +:1003F000D1000003D8400003CC0000007C40800105 +:1004000088000000C41C0005CDC00000CC00000026 +:10041000CC800000D44000007C40800188000000B7 +:10042000C41C0005CDC00000CC000000C424002482 +:10043000C80C001CC65303E8CC800000CC40000070 +:10044000511000207CD0C01A7CC50011551400202A +:100450007D45800ACD000000CD8000007C408001F9 +:10046000880000007C40C001505000207D0D401AE3 +:10047000D1400018CC0000257C408001880000009D +:100480007C434001C81C0018C41800171C880010C9 +:10049000208800307C4140017D58C0047CDCC011C4 +:1004A00054D000207C414001CC800000CF43A29E6C +:1004B000CCC3A1FACD03A1F9CD43A29DCD4000004C +:1004C000CC4000007C408001880000007C4340015B +:1004D0001C880010208800307C40C0017C41000155 +:1004E0007C414001CC800000CF43A29ECCC3A1FA46 +:1004F000CD03A1F9CD43A29DCD400000CC4000002A +:100500007C408001880000007C40C00124D00001B4 +:10051000CCC3A29FD840001795000002D8800017D6 +:10052000CC800000CCC000007C408001880000002E +:100530007C40C001CC800000CCC3A2A2CCC0000093 +:100540007C408001880000007C40C00114D4001F62 +:10055000CC8000007C41000195400002CCC0001F0F +:100560001518001FCCC00000CD00000095800002CF +:10057000CD000020CC00007F8000038A2008007E90 +:10058000208807E8C42000151CA80010CEA0000495 +:100590007C410001505400207C4180010624000170 +:1005A000CE400015159C00187D15001ACDE00009FD +:1005B000CDA0000BD1200001CDA00001C42C00244F +:1005C00055300020D100001CCF2C03E89A00000415 +:1005D000C42400239A40000221DC0030CDC000007A +:1005E0008000038AC4200015C60C000A1CA8001055 +:1005F00094C00003CEA0000680000164CC00000877 +:1006000080000180C42000157C4180010A20000187 +:10061000C614000DC618000A7D59800ACE000015C8 +:1006200095800004CCA00006CD6000068000038AFF +:10063000CCA00004CD6000048000038A7C40C0018F +:1006400014D0001E311400019500FE74954001F491 +:1006500018D001E818D4003018D800340528019BC0 +:100660007C4200017C42400195000007868000002A +:100670008000038E8000038E8000038E8000038E36 +:10068000800001A9115400107E16000ACD400021FF +:10069000D46100009580FE5BC43921407C4080011C +:1006A0008800000011540010526400207E26001AB9 +:1006B000CD400021D46200009580FE52C42000137A +:1006C0009A00FFFF7C408001880000007C40C00150 +:1006D0007C4100017C4380017C43C001511000201B +:1006E00053FC00207FBF801A7CD0C01A041C00205D +:1006F000D3800002D8800002D0C00002CDC000022A +:10070000041C0008042000017C024001C4170003FF +:10071000C41B0003519800207D59401AC42B0003CC +:10072000C42F0003C4330003C437000309DC0001F5 +:1007300052EC00207EAE801A537400207F37001ADE +:100740007F2B40127E76401156A8003F5730003F65 +:100750007EB280097E2A000999C0FFF19680FFE4ED +:1007600053F400207F7B401A7D65401155580020CE +:10077000CC000021CD760000CDB60000C4200013CF +:100780009A00FFFF7C40800188000000C420002404 +:100790007C40C0017C410001CCE003FDCD2003FA88 +:1007A000511400207CD4C01AD0C000021514001FC0 +:1007B000191800F099400002043400002F5C000179 +:1007C0007D7600097D5E400999800004CC0000021E +:1007D000CC00000D8000038A15980001152C00083C +:1007E00026EC0001998000331530000C96000003C0 +:1007F000CC0000028000038A04140020CD400002D7 +:10080000273000012828000104380020043C00089B +:10081000C4170003C41B0003C41F0003C423000348 +:100820007D5D400D7DA1C00D7D5D400A1610001F4D +:10083000159C001F7D1D00097D1740097E928009CF +:100840000BB800040BFC00019B4000129BC0FFF1A1 +:10085000C4200024C60F03FDC61303FA9A800009C2 +:10086000CC00000D9B000171511400207CD4C01AF3 +:1008700004140020D0C00002CD400002800002011C +:10088000CC00000D96C00169CC00000E8000038AE8 +:10089000CC00000D9AC00002CC00000E9780FDD95C +:1008A0000BB80001C43F00039B80FFFD80000000E7 +:1008B000CC00000E96400003CC0000028000038AAA +:1008C000DA000002C40B0003C40F0003C4130003CA +:1008D000C4170003C41B0003C41F0003C427000384 +:1008E000C42B000315FC001F16B0001F7FF3C009C6 +:1008F00014F0001F7FF3C0091570001F7FF3C009BB +:100900007D8880027DCCC00297C0000C7E51000221 +:100910007E9540027C90800C7CD4C00C7C8F40097A +:100920009AC000022CB40001CC00000D9B40013F96 +:10093000CC00000E8000038AC4200024C60F03FDF3 +:10094000C61303FA511400207CD4C01AD0C0000290 +:10095000800002307C40C00114D0001E3114000120 +:100960009500FDAE9540012E18D4003018D001E856 +:1009700018FC003424CC000F04E802627C418001A2 +:100980007C41C00194C00012868000008000026C8F +:100990008000038E8000038E8000038E8000026939 +:1009A0008000038E51DC00207D9E001A80000279B9 +:1009B00051DC00207D9D801A99400003C5A20000F3 +:1009C00080000279C9A2000080000279C5A1000060 +:1009D0009540000505980001C5A50000526400205F +:1009E0007E26001A0528027D7C4180017C41C001E1 +:1009F00095000007868000008000038E8000038E33 +:100A00008000038E8000038E8000028DD8000021BC +:100A1000CE190000954000040598000156200020E2 +:100A2000CE19000097C0FD77C43921407C40800179 +:100A30008800000051DC00207D9D801AD800002134 +:100A4000CE1A0000954000040598000456200020AE +:100A5000CE1A00009BC0FF1A7C4080018800000075 +:100A60007C40C0017C4100011914003B9540001BF3 +:100A7000C41400123D5800029980FFFE191C007D2D +:100A800019200074C414002531DC0001322000015B +:100A9000CC000021CC0000232910800095C000026A +:100AA0007CD4C0017C424001960000027E56400189 +:100AB000CCC12185CD0121861514001FCE4121878F +:100AC000CC412188CC4121899540FD4EC4140012AF +:100AD0009940FFFF80000000CC800000CCC00000E7 +:100AE000CD000000D44000007C4080018800000060 +:100AF000C4280024D86803F7CC800000CC40000054 +:100B0000C68F03F798C0FFFF7C408001880000007B +:100B1000C4280024C430000FC43400049A800005A7 +:100B20009B000004CC000012CF400000CC0000006D +:100B30007C40C001D86803F7CC800000CCC0000026 +:100B4000D440000014D0001F990000B8800002C0FB +:100B5000CC800000CC400000CC400000CC40000025 +:100B60007C40C001CCC00016CCC00000D4400000C6 +:100B70007C408001880000007C40C00114DC001D26 +:100B800018D8003CCC800000CCC0000099C0000305 +:100B90009980FD1C8000038ACD8000248000038A98 +:100BA0007C40C001505000208C00030D7CD0C01A46 +:100BB000C4240015C41400247C438001964000081E +:100BC000C4D6000099400019DF830000CFA4000FB5 +:100BD0008C000311D440007F80000000C55F03EE4D +:100BE00095C0FFFFD85403F1C55B03F49580000363 +:100BF000D81403F19980FFFCC55F03EE3DE00002CD +:100C00009A000007C56303EB9A000005DF8300002C +:100C1000CFA4000F8C000311D440007F09DC000139 +:100C2000CDD403EED81403F18C0003117C40800175 +:100C300088000000D800001EC43C001E9BC0007F3E +:100C400090000000D840001EC43C001E97C0007BEE +:100C5000900000008C00030DC42000157C40C001F2 +:100C6000C036FF00C4100016C0303FFF7CF54009BD +:100C70007D5180097D81801D7CF38009998000066B +:100C8000DF830000CFA0000F8C000311D440007F51 +:100C9000800000008C0003117C408001880000006F +:100CA0007C40C00114DC000895C0001924DC001051 +:100CB0007C4100015054002099C00003C51D000074 +:100CC000800003337D15001AC51E00007C42000120 +:100CD0007C4240017C4180017DE5C0097DE2800FBE +:100CE00041AC00029A80FCC706EC00030AEC00014C +:100CF0009AC0FFFF24DC001099C00003C51D00004E +:100D000080000336C51E000080000336CC80000042 +:100D1000CCC00000D44000007C408001880000006E +:100D2000C41C0004CDC00000CC000000CC8000003A +:100D3000D44000007C408001880000007C40C0015D +:100D400024D0000631100006C414000F99000008DA +:100D5000CC000012C424007E964000389940000464 +:100D6000C41C0004CDC00000CC000000CC800000FA +:100D7000CCC00000D44000007C408001880000000E +:100D80007C40C0017C4100011518001FCD000021EE +:100D90005114002099800003D44D00008000000011 +:100DA0007D4D401A191C0031D456000095C0FC95A9 +:100DB000C42000139A00FFFF7C40800188000000DF +:100DC0007C40C0017C41000114D4001E3158000257 +:100DD00024DC00FF954000049980FC8ACD1C0300B0 +:100DE00080000000CC800000CCC00000CD000000DE +:100DF0007C40800188000000C42000247C40C001A9 +:100E0000C4D30300CC800000CCC00000CC00002183 +:100E1000CD2121417C40800188000000D440007F2A +:100E20007C40800188000000C424007E96400003BE +:100E30007C408001880000008000038E00000000DC +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000303480005015F000600EC000700F331 +:102010000008010100090108001003870011000BEE +:10202000001200270013002B0016002E002400379A +:10203000002500710026011900170181002202E825 +:102040000023031500270133001F01B3002001E323 +:1020500000280152002A0142002C0050002F014CA0 +:102060000031038700320179003303870034034FC6 +:1020700000350120003800920037018F003C032812 +:10208000003F01610040025500410298004202BC3D +:10209000004302C4004402D4004A02DE0055034B50 +:1020A000005F00DF006000BB006100D6006900EF48 +:1020B000007300F6007601040077010B007B0360DB +:1020C000007D0370007E037E007F03870000000216 +:1020D00000000002000000020000000200000002F8 +:1020E00000000002000000020000000200000002E8 +:1020F00000000002000000020000000200000002D8 +:1021000000000002000000020000000200000002C7 +:1021100000000002000000020000000200000002B7 +:1021200000000002000000020000000200000002A7 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/TAHITI_me.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/TAHITI_me.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000D440007F7C4080015B +:10001000880000007C40C001CC400028CC40002972 +:100020007C40800188000000D840001EC4100021E0 +:10003000251000029500FFFE7C410001C41C002633 +:10004000C4200024D800001CCC80000BCDC1A0D956 +:10005000CE01A0DAD840001CC4140007954000026D +:10006000D941A2A4C41B0002D800001BCD80001AF5 +:10007000C03E0004CC01A1F4CC3D2004C43D0001ED +:10008000CC000005D840001BD840001F7C408001F8 +:1000900088000000CC412E01CC412E02CC412E0321 +:1000A000CC412E007C408001880000007C40C001D3 +:1000B0008C000522CC412E01CC412E02CC412E03D6 +:1000C0008C000526CC412E007C4080018800000079 +:1000D0007C40C001C4180030C41C00317DD94002EE +:1000E0007CD6000EC42400159A40FFFF9A0000033E +:1000F000CCC0001480000000C0288000CE81304AAF +:10010000C43C007F24900002C02A00017C40C00152 +:1001100095000003C41400307CD4C00114CC00024C +:10012000CCC125C7D46925C87C4080018800000067 +:100130007C40C00118D001E824CC007F7C41400104 +:10014000505800207D59401A7C418001505C0020AD +:100150007D9D801A7C41C001506000207DE1C01A65 +:100160007C42000125240001CCC00023D1400024A2 +:10017000D1800025D1C00026D84000279640000C31 +:10018000C428002C9A80FFFFC824002D7E5E800CBE +:100190009A80FF9C122C000606EC00010AEC00017C +:1001A0009AC0FFFFD840002780000060C428002CC0 +:1001B0009A80FFFF7C408001880000007C40C001E5 +:1001C000C4100030CC4125CC7D050001CC4125CFA9 +:1001D000CD0125CE7C41400124D0007F1558001070 +:1001E000255400FFCD0125D3CD8125D1CD4125D08A +:1001F000CC4125D27C4140017C41800118DC00309B +:1002000018E0003118E4003218E8003318EC00342C +:10021000CC4125D6CC4125D7CD8125D5CD4125D47E +:10022000C03200049640002196C00002CC3125D98E +:10023000CC3125D89680000496C00002CC3125DB55 +:10024000CC3125DA7C03001196C00003C4310001D3 +:1002500053300020C43500017F37001AD300001648 +:10026000968000087C03801196C00003C439000109 +:1002700053B80020C43D00017FBF801AD38000170F +:1002800095C0FF609AC000047D77000C9700FFE4E2 +:100290008000000051B800207F97801A7F3B800CBF +:1002A0009780FFDF800000009600FF56CC3125CDFF +:1002B000CC80000BC43500019740FFFC7C408001DE +:1002C00088000000C42000267C414001C62703E4CA +:1002D00095400002CC000001CC0000090A64000136 +:1002E000CE6003E47C408001880000007C40C001B7 +:1002F000C016000424D0FFFF7D15000ACC80000B3F +:10030000CC11000018D8003E14DC001FC4210001ED +:100310007C42400195C000057E56800ACC00000B4F +:10032000CC290000C42500017E2600097C42C001C2 +:10033000958000057ED7000ACC00000BCC31000070 +:10034000C42D00017E2E000A2510FFFFCC00000BFB +:10035000CE110000800000007C40C001CC400000B5 +:1003600080000000CC80000BCD41225DCD01225CDD +:10037000CC41A1FC7C40800188000000CC80000BB7 +:10038000CC4122577C40800188000000CC41225C97 +:10039000CC41A1FC7C40800188000000C00E00011F +:1003A000CC41225CCC41A1FCD44DA1FD7C4080011C +:1003B00088000000CC80000BCC41225D7C40800195 +:1003C00088000000084C00017C410001CC80000B3B +:1003D0007C4140012558FFFF195C03F015600015B2 +:1003E000CD81A102CDC12256CE01225C94C0000471 +:1003F000CD01A1FC08CC0001800000F4CD01A1FCDE +:10040000CC01A1027C408001880000007C4080017A +:10041000C02A00027C40C0017C4100017D29000A05 +:100420002494000124980006249C030015DC000895 +:100430007C4200017C424001C02E0004CC80000BB5 +:100440009540000C05F022587F2F000ACC310000A7 +:10045000C4290001CCC12169CD01216ACE81216B63 +:1004600031B40002CC01216C9740000A8000012EBB +:1004700031B4000297400007C02E000405F0225856 +:100480007F2F000ACC310000C42900018000012E1A +:1004900031B40000974000037E0280018000012EED +:1004A00031B400049740FED722640030CE01216DA4 +:1004B000CE41216EC42A0000C42C000931F0000096 +:1004C00031F4000131F800029AC000028C00031ED2 +:1004D000DA81A2A497000003CE81A2B780000000B9 +:1004E00097400003CE81A2BB8000000097800003EC +:1004F000CE81A2BF80000000CE81A2C38000000098 +:10050000041800008000014304180001C4240026E0 +:100510007C40C001C66B03E418D0003024D400FF37 +:1005200006A80001CEA403E49A400012C4380007D4 +:10053000D840001EC43C002127FC000297C0FFFEEB +:10054000CC80000B97800002D941A2A4C43F0002D6 +:10055000CFC0001AC03E0004CC01A1F4CC3D200461 +:10056000C4390001CC000005D840001FCD41A0DAFD +:10057000CC80000BCD412E1499800002CC000002EB +:10058000CD4000087C408001880000007C40C00114 +:1005900018D001E818D4003018D800340528016BB1 +:1005A0007C4200017C4240019500000786800000EB +:1005B00080000185800001A9800001BF8000051E28 +:1005C0008000017B115400107E16000ACC80000BC5 +:1005D000D46100009580FE8BC03A0004CC392140E4 +:1005E000C43900017C4080018800000011540010D3 +:1005F000526400207E26001ACD40001DD462000007 +:100600009580FE80C420001D9A00FFFF7C40800181 +:1006100088000000DC3A00009940001B279C000184 +:1006200095C0000D0BB80001CE012169CE41216AB1 +:10063000CC41216BCC01216C9B8000039580FE7125 +:100640008000019D526400207E26001A462000048E +:100650005624002022640032CE012169CE41216A55 +:100660000BB80002CC41216BCC41216C9B80FFFD7B +:100670009580FE64C43000199700FFFF7C40800124 +:10068000880000000BB80001CE012169CE41216A2B +:10069000CC41216BCC01216C9B80FFFB9580FE59E6 +:1006A0008000019D526400207E26001A9940000AB5 +:1006B000D200002BD440002CD840002D8C00052FF8 +:1006C0009580FE50C438002F9B80FFFF7C40800146 +:1006D00088000000DC3600000B740001D200002B03 +:1006E000CC40002CD840002D8C00052F9B40FFFBF8 +:1006F0009980FFF57C40800188000000C41C003018 +:10070000C02A00017E1E000116200002CE0125C76E +:10071000D46925C89580FE3BC03A0004CC3925CB6E +:10072000C43900017C408001880000007C40C00189 +:100730007C4100011914003D9940000AC41C000DC1 +:1007400095C0FFFFCCC12100CD012101CCC1210208 +:10075000CD012103D901A2A47C40800188000000C2 +:10076000CCC12175CD012176C420000E9600FFFF7B +:1007700032280002322C00039A8000049AC000053F +:10078000CC00000C80000000CC00000C800001D8E0 +:10079000C03E0004CC3D307EC43D000133E8000182 +:1007A00097C0FE189A80033804384000CC0000013E +:1007B000CF81304A800005217C40C0017C4100018E +:1007C00040D40003CD41225CCD01A1FCC01E00013C +:1007D0007C42000108CC000106240001062800022A +:1007E000CE1DA1FDCE5DA1FDCE9DA1FD98C0FFF95E +:1007F0007C408001880000007C40C00124D00001C2 +:1008000014CC00017C4140017C418001CC80000B74 +:100810009500000621980030CD41216DCD81216EDB +:10082000C41E00008000020EC02200047E16000AD2 +:10083000CC210000C41D00017C4240017C428001AB +:1008400098C00003CDE5000080000000CE41216982 +:10085000CE81216ACDC1216BCC01216C7C4080010D +:10086000880000007C40C0017C4100017C414001C7 +:100870007C4180017C41C00118A41FE83268003C23 +:1008800004200001968000087C4200013A300003F9 +:10089000422000029B0000020420004004240001CA +:1008A0008000022A7E0240010A6400019A40FFFF94 +:1008B00024EC0010CC80000B9AC00009C02A000470 +:1008C000C42C00107E92800ACC000001CC290000CC +:1008D000CEC00010C43100018000023B2154003022 +:1008E000CD01216DCD41216EC43200007F1F000972 +:1008F00024F400070778023F974000278780000014 +:10090000800002478000024C8000025180000256A5 +:100910008000025B80000260800002657F1B800F08 +:1009200014A400089780001D266400FF8000027652 +:100930007F1B800E14A4000897800018266400FF17 +:10094000800002767F1B800C14A400089B8000139B +:10095000266400FF800002767F1B800D14A400082F +:100960009B80000E266400FF800002767F1B800FB4 +:1009700014A400089B800009266400FF8000027612 +:100980007F1B800E14A400089B800004266400FFD7 +:100990008000027614A40008266400FF3268003C40 +:1009A00014EC00089A80FD977C4340017C43800151 +:1009B0007C43C001CC00000B96C00006CF412169EA +:1009C000CF81216ACFC1216BCC01216C8000000056 +:1009D000CFF50000800000003268003C9A80FFB331 +:1009E000D440007F800000007C40C0017C410001B9 +:1009F000C01E000115140012C0220002C02600040F +:100A000095400004C027FFFB7D250009C02600009B +:100A10007DD280097E12C0097D25000A7C414001FB +:100A20007C418001CCC12169CD01216A9A800007F7 +:100A3000CD41216BCD81216C96C0FD72C43000196F +:100A40009700FFFF80000000C814001855580020D0 +:100A5000CD41216BCD81216C96C0FD6A8000028F53 +:100A60007C4100017C414001CC400003CC400004AB +:100A7000CC0003E4CC0003E5CC0003E6C00E80000C +:100A80007C4240017C428001800000007C40C0012B +:100A900018D001E8052802A91CCCFE08CC80000B68 +:100AA0009500000986800000800002B4800002C327 +:100AB000800002CA800002D1800002D7800002E3D9 +:100AC00080000301CCC1A2A47C408001880000000A +:100AD000C01208007C4140017C4200017D0CC00A2C +:100AE000C012000415580003155C000D7DD1C0092B +:100AF000122000137E1E400A7E4E800ACE81A2A4E0 +:100B0000CD81A1FE7C4080018800000004102118E6 +:100B1000C414000B9540FFFFD4510000CCC1A2A427 +:100B20007C4080018800000004102106C414000CE1 +:100B30009540FFFFD4510000CCC1A2A47C408001AD +:100B400088000000D840000FCCC1A2A4C410000F40 +:100B50009900FFFF7C4080018800000018D000341D +:100B600011140014C424000D9640FFFFCC41210055 +:100B70007D45400ACD412101CC412102CC412103D8 +:100B8000CCC1A2A47C4080018800000024D80001D0 +:100B90007C4100017C414001119C00107C4200011D +:100BA0007D5D400A1564001D2664000295800009E1 +:100BB000C43C001F97C0FFFF9A40000DC4280030BE +:100BC00016A800027E2A0001CC000015800002FB5E +:100BD000C43C002097C0FFFF9A400005C4280030A5 +:100BE00016A800027E2A0001CC000015CD01215874 +:100BF000CD412159CE01215ACCC1A2A47C40800113 +:100C00008800000018D000341114001424D8003FCC +:100C10009500FFADC424000D9640FFFF359C0006F3 +:100C2000CC012100CD412101CC012102CC012103C5 +:100C300099C00003D901A2A4800000000420001480 +:100C4000CE01A2A47C408001880000007C40C0014D +:100C500014D0001D18D4003C990000028000000050 +:100C6000CD40001C800000007C40C0018C00031EB1 +:100C70007C40800188000000D840001EC43C002158 +:100C800027FC000297C0FFFECC80000BD941A2A434 +:100C9000C43F0002CFC0001AC03E0004CC01A1F442 +:100CA000CC3D2004C43D0001CC000005D840001F0D +:100CB000900000007C40C001043C0022CC80000B6E +:100CC000CFC1A2A4CC0000067C40800188000000B7 +:100CD000C01200017C51400ACC80000BD4550000AA +:100CE0007C408001880000007C40C0015050002002 +:100CF0007CD0C01A551C003F7C4140017C418001E2 +:100D0000CC80000BD0C0008395C00003C01C8000C5 +:100D1000CDC120109580FCBB8C000522DD83000036 +:100D2000055C2000CC00000BD45D00008000052A8B +:100D30007C40C001505000207CD0C01A7C41400152 +:100D40007C418001CC80000BD0C000849580FCAD3C +:100D50008C000522DD830000055CA000D45D00004E +:100D60008000052A7C40C001505000207CD0C01A71 +:100D70007C4140017C418001CC80000BD0C00085CB +:100D80009580FCA08C000522DD830000055C2C0012 +:100D9000D45D00008000052ACC80000BD4432000E5 +:100DA0007C40800188000000CC80000BD443A00070 +:100DB0007C40800188000000CC80000BD4432C00D4 +:100DC0007C408001880000007C40C0018C0005222E +:100DD0007C4100017C41400194C000027C418001C3 +:100DE0007C41C0017C4200018C0005269500000A70 +:100DF00095400009CC80000BCC432C00CDC32C00C7 +:100E0000CC80000BCC432C00CE032C007C40800116 +:100E100088000000C424001ECC40007FCC40007F2E +:100E20001A6800307C4080017C40C0019680FC75CF +:100E3000D880002E7C40800188000000CC80000B10 +:100E4000CC43A0007C40C00104180001DD830000F9 +:100E50008C000522D443A0008000052A248CFFFFCB +:100E6000CC80000BD44D00007C408001CC80000B76 +:100E7000880000007C40C00118D4003018D001E880 +:100E800018FC003424CC000F04E803A67C41800148 +:100E90007C41C00194C0004A86800000800003BEEF +:100EA000800003C6800003CF800003DE800003B112 +:100EB000800003B4800003B6800003B8800003BA4A +:100EC000800003BC51DC00207D9E001A800003FDE1 +:100ED000C820002D800003FDC8200016800003FDFF +:100EE000C8200017800003FDC8200018800003FD03 +:100EF000C8200032800003FD9940000321DC00304F +:100F0000800003C221DC0050CD81216DCDC1216E56 +:100F1000C8220000800003FD51DC00207D9D801A66 +:100F2000D8000023D1800024D8400027C428002CFA +:100F30009A80FFFFC820002E800003FDC41C0030F3 +:100F4000C03200047D9D800115980002CD8125C22C +:100F5000CC3125C395400003CC80000BCC3125C398 +:100F6000C421000195400024C425000152640020E2 +:100F70007E26001A800003FD31AC0800C434001046 +:100F800096C00003CC000001800003F039AC0A7C5D +:100F90003DB00A779AC0000497000003CC0000011E +:100FA000800003F039AC0ADC3DB00AD99AC00003D6 +:100FB00097000002CC000001800003F0C434001050 +:100FC000CC80000BC03A00047DB9800ACC19000027 +:100FD0009540000305980001CC190000C4210001D0 +:100FE00095400005C4250001526400207E26001AA9 +:100FF000CF400010052804017C4180017C41C001E4 +:101000009500000786800000800004328000043CC8 +:101010008000044A8000041580000427C4340010B6 +:10102000CC80000BCE19000095400004059800010B +:1010300056200020CE19000097C0FBF2C03A0004F1 +:10104000CC392140C4390001CF4000107C408001E0 +:101050008800000031AC0800C434001096C00003C2 +:10106000CC0000018000040839AC0A7C3DB00A774E +:10107000C43400109AC0000497000003CC000001A3 +:101080008000040839AC0ADC3DB00AD99AC00003DC +:1010900097000002CC0000018000040851DC002011 +:1010A0007D9D801AD800001DCE1A000095400004D6 +:1010B0000598000456200020CE1A00009BC0009026 +:1010C0007C408001880000009540000221DC003255 +:1010D00056240020CD812169CDC1216ACE01216B2A +:1010E000CE41216C9BC0FE567C40800188000000F0 +:1010F00051DC00207D9D801AD180002BCE00002C79 +:101100009540000356240020CE40002CD840002DEE +:101110008C00052F97C0FBBBC438002F9B80FFFFBE +:101120007C40800188000000C41C0030C02A0001FF +:101130007D9D800115980002CD8125C7CE2925C847 +:101140009540000356240020CE6925C897C0FBAD0A +:10115000C03A0004CC3925CBC43900017C40800161 +:1011600088000000C414001C3D5800049980FFFE54 +:10117000CC00000D7C40C001285080001514001FD9 +:101180001918007D191C0074C4200030319800012A +:1011900031DC0001958000027CE0C0017C4240010E +:1011A00095C000027E624001CCC12180CD01218129 +:1011B000CE412182CC412183CC4121849540FB91B9 +:1011C000C414001C9940FFFF7C408001880000008F +:1011D000C0160004C4100026CC80000BCC55214062 +:1011E000C4190001CC1003F77C4080018800000086 +:1011F000C4200026D800001EC40C002124CC00010D +:1012000094C0FFFEC62703E47C40C001CC80000BE5 +:10121000CCC1217CCC41217DC41800247C4100013B +:101220007C41400196400002CD81217ACD01217E92 +:10123000C03600C0C02A00047F4F4009115C000185 +:1012400005DC000197400014CC29217FC425000152 +:101250001A6C003E96C00007115C000105DC00011D +:1012600009DC000199C0FFFFCC80000B80000492D4 +:1012700017740017282C00609B400002282C0040A7 +:10128000CEC00023D8400027C434002C9B40FFFF71 +:10129000800004AA09DC000199C0FFFFCC80000B8C +:1012A000CC29217FC4250001166C001F115C0001B0 +:1012B00005DC00019AC0FFF814FC001FD800001FD5 +:1012C0009BC0FB50C4100026CC1003F77C4080016B +:1012D000880000007C40C0017C4100011518001FFF +:1012E00051140020191C003199800008CD00001D08 +:1012F0007D4D401AD456000095C0FB42C420001D0D +:101300009A00FFFF80000000DC3A0000C0260004C5 +:10131000CCC121697D25000ACD01216A0BB80002EC +:10132000CC41216BCC41216C9B80FFFD99C0FDC459 +:101330007C40800188000000244C00FFCC4C03005E +:101340007C40800188000000C4200026C44F0300B8 +:10135000CC80000BCCE1214580000000CC80000B4C +:10136000DAC1A2A47C40C0017C408001880000005A +:10137000C40C001A98C00003D840002F800004DC81 +:10138000D84000307C4100017D014001155400012E +:101390002554000199400009251000019500FB1912 +:1013A000C814003495400005C818001B9580000340 +:1013B0007D95C00E95C0FB13C8200033D2000032CB +:1013C000D800001EC4200021262000019600FFFE48 +:1013D000C0260840CE41217CCC01217DC4280024B8 +:1013E000CE81217ACC01217EC02A0004041400049D +:1013F000415C0008282C0040CEC00023D8400027C4 +:1014000009DC000199C0FFFFCC80000BCC29217FB3 +:10141000C4250001166C001F415C00029AC0FFF950 +:10142000C434002C9B40FFFFD800001F7C4080018B +:1014300088000000C40C001330D0000195000003A8 +:10144000CC80000BDB01A2A4CC40000EC40C001227 +:10145000C410001330D400003D1800017D59C00AAB +:10146000D840003199C0FFFAD8400013D0000032B4 +:101470007C40800188000000C00E0100CC0000010B +:10148000CCC1304A80000521D8400011C43C001175 +:1014900097C0FFFD90000000D8000011C43C00116F +:1014A0009BC0FFF990000000D8000011C43C00115F +:1014B0009BC0FFF57C40800188000000D880001EA2 +:1014C000C43C002127FC000497C0FFFEC038002F59 +:1014D000C03E0004CF8121F8CC3D21F9C43800265C +:1014E000043C00057FFB8002C43D00017FFBC0057A +:1014F00027FC00019BC0FFF6D880001F9000000071 +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:102000000001039700100002001100050012000AF1 +:10201000001500250016002B001700B1001B00342E +:10202000001C0041001D006F001E004C002100BB81 +:10203000002400D9002500D9002700E3002800D69D +:10204000002A00DF002C00D9002D00E3002E00E75D +:10205000002F00ED003000F1003201420034010396 +:10206000003500E300370163003800D9003901CBA7 +:10207000003A01EE003B01FE003C0219003D027AED +:10208000003F01400040039D004104590042047498 +:102090000043047C0044029800450219004602A354 +:1020A000004702A3004802A3004A03130052031A88 +:1020B0000053032D00570334005F03590060033AB7 +:1020C0000061034C006803660069036A00720372D2 +:1020D0000073038F0076036E0077036E007A04B5F9 +:1020E000007D04CE007E04D2008504D7008604DC87 +:1020F000008A050D008B050D000F051E000F051E43 +:10210000000F051E000F051E000F051E000F051E07 +:10211000000F051E000F051E000F051E000F051EF7 +:10212000000F051E000F051E000F051E000F051EE7 +:10213000000F051E000F051E000F051E000F051ED7 +:10214000000F051E000F051E000F051E000F051EC7 +:10215000000F051E000F051E000F051E000F051EB7 +:10216000000F051E000F051E000F051E000F051EA7 +:10217000000F051E000F051E000F051E000F051E97 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/TAHITI_pfp.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/TAHITI_pfp.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000CC800000D4400000CB +:100010007C40800188000000CC800000CCC0000043 +:10002000D44000007C40800188000000244C000F78 +:1000300030E80002249000029A80000C7C414001CC +:10004000505800207D95C01A98C00003D1C00019F7 +:100050008000000099000003D1C0001A8000000059 +:10006000D1C0001B80000000C4200015C624000A77 +:10007000964001637C4100017C414001CC8000003E +:10008000CCC00000CD000000CD400000CD00002D10 +:10009000CD40002E7C40800188000000CC80000014 +:1000A000CC400000CC0000128000038ACC40002825 +:1000B0007C40800188000000C80C001B7CC500113A +:1000C000D1000003D8C00003CC800000CC000000A9 +:1000D000CC4000007C40800188000000C80C001A61 +:1000E0007CC50011D1000003D9000003C41C00101E +:1000F000CC00001499C00004C41C0005CDC0000051 +:10010000CC000000C42800091AA80030202C007E72 +:1001100022EC4E4896800002D8800022CEC000001B +:10012000D8000000CC400000CC4000001C8800102B +:10013000CC800000CC4000007C40800188000000A2 +:10014000C80C001A7CC500117C4140017C41800133 +:100150007C41C0017C4200017C42400195C0FFA966 +:10016000D1000003D9000003C4280010CC00001403 +:100170009A800004C4280005CE800000CC00000056 +:10018000C42800091AA80030202C007E22EC4E481A +:1001900096800002D8800022CEC00000D800000067 +:1001A000CD400000CD8000001C88001009DC00015B +:1001B000CC800000CE40000095C0FF927D21001150 +:1001C00080000058C80C001A7CC50011C51600003C +:1001D00095400313281800047D198011C59600006E +:1001E0009540030FCC000026D1000027D10000036A +:1001F000D9400003C41C0010CC00001499C00004B6 +:10020000C41C0005CDC00000CC000000C4280009BB +:100210001AA80030202C007E22EC4E489680000266 +:10022000D8800022CEC00000D8400000CC400000A2 +:10023000CC4000001C880010CC800000CC400000A6 +:100240007C40800188000000C80C001A7CC50011A9 +:10025000C5160000954002F2281800047D1980118F +:10026000C5960000954002EE7C4140017C41800132 +:100270007C41C0017C4200017C42400195C0FF618D +:10028000CC000026D1000027D1000003D940000394 +:10029000C4280010CC0000149A800004C428000573 +:1002A000CE800000CC000000C42800091AA800304D +:1002B000202C007E22EC4E4896800002D88000223E +:1002C000CEC00000D8400000CD400000CD8000002E +:1002D0001C88001009DC0001CC800000CE4000002A +:1002E00095C0FF487D210011800000A0C4180008BF +:1002F000259800017C4240017C428001958002C823 +:1003000052AC00207EE6C01A7C40C0017C41000156 +:10031000C41C001199C0FFFF1C88001020880070C9 +:1003200010D400027ED54011D1400003CD0000035F +:10033000CC800000CE400000CE800000CCC0000089 +:10034000DC3A0000CD0000009780FF2E7C40C00109 +:100350007C410001800000C8C410000FC41C0004D0 +:1003600099000004CC000012CDC00000CC000000B9 +:10037000C418000825980002800000BD248C0002EB +:10038000C4100010C418000898C0000899000005A7 +:10039000C41C0005CC000013CDC00000CC00000040 +:1003A00019980030800000BD19980038800000BD09 +:1003B000C41C0004CDC00000CC000000CC800000B4 +:1003C000D44000007C40800188000000C41C000470 +:1003D000CDC00000CC000000C80C0019CC8000008B +:1003E000CC400000105000027D0D0011551400207B +:1003F000D1000003D8400003CC0000007C40800105 +:1004000088000000C41C0005CDC00000CC00000026 +:10041000CC800000D44000007C40800188000000B7 +:10042000C41C0005CDC00000CC000000C424002482 +:10043000C80C001CC65303E8CC800000CC40000070 +:10044000511000207CD0C01A7CC50011551400202A +:100450007D45800ACD000000CD8000007C408001F9 +:10046000880000007C40C001505000207D0D401AE3 +:10047000D1400018CC0000257C408001880000009D +:100480007C434001C81C0018C41800171C880010C9 +:10049000208800307C4140017D58C0047CDCC011C4 +:1004A00054D000207C414001CC800000CF43A29E6C +:1004B000CCC3A1FACD03A1F9CD43A29DCD4000004C +:1004C000CC4000007C408001880000007C4340015B +:1004D0001C880010208800307C40C0017C41000155 +:1004E0007C414001CC800000CF43A29ECCC3A1FA46 +:1004F000CD03A1F9CD43A29DCD400000CC4000002A +:100500007C408001880000007C40C00124D00001B4 +:10051000CCC3A29FD840001795000002D8800017D6 +:10052000CC800000CCC000007C408001880000002E +:100530007C40C001CC800000CCC3A2A2CCC0000093 +:100540007C408001880000007C40C00114D4001F62 +:10055000CC8000007C41000195400002CCC0001F0F +:100560001518001FCCC00000CD00000095800002CF +:10057000CD000020CC00007F8000038A2008007E90 +:10058000208807E8C42000151CA80010CEA0000495 +:100590007C410001505400207C4180010624000170 +:1005A000CE400015159C00187D15001ACDE00009FD +:1005B000CDA0000BD1200001CDA00001C42C00244F +:1005C00055300020D100001CCF2C03E89A00000415 +:1005D000C42400239A40000221DC0030CDC000007A +:1005E0008000038AC4200015C60C000A1CA8001055 +:1005F00094C00003CEA0000680000164CC00000877 +:1006000080000180C42000157C4180010A20000187 +:10061000C614000DC618000A7D59800ACE000015C8 +:1006200095800004CCA00006CD6000068000038AFF +:10063000CCA00004CD6000048000038A7C40C0018F +:1006400014D0001E311400019500FE74954001F491 +:1006500018D001E818D4003018D800340528019BC0 +:100660007C4200017C42400195000007868000002A +:100670008000038E8000038E8000038E8000038E36 +:10068000800001A9115400107E16000ACD400021FF +:10069000D46100009580FE5BC43921407C4080011C +:1006A0008800000011540010526400207E26001AB9 +:1006B000CD400021D46200009580FE52C42000137A +:1006C0009A00FFFF7C408001880000007C40C00150 +:1006D0007C4100017C4380017C43C001511000201B +:1006E00053FC00207FBF801A7CD0C01A041C00205D +:1006F000D3800002D8800002D0C00002CDC000022A +:10070000041C0008042000017C024001C4170003FF +:10071000C41B0003519800207D59401AC42B0003CC +:10072000C42F0003C4330003C437000309DC0001F5 +:1007300052EC00207EAE801A537400207F37001ADE +:100740007F2B40127E76401156A8003F5730003F65 +:100750007EB280097E2A000999C0FFF19680FFE4ED +:1007600053F400207F7B401A7D65401155580020CE +:10077000CC000021CD760000CDB60000C4200013CF +:100780009A00FFFF7C40800188000000C420002404 +:100790007C40C0017C410001CCE003FDCD2003FA88 +:1007A000511400207CD4C01AD0C000021514001FC0 +:1007B000191800F099400002043400002F5C000179 +:1007C0007D7600097D5E400999800004CC0000021E +:1007D000CC00000D8000038A15980001152C00083C +:1007E00026EC0001998000331530000C96000003C0 +:1007F000CC0000028000038A04140020CD400002D7 +:10080000273000012828000104380020043C00089B +:10081000C4170003C41B0003C41F0003C423000348 +:100820007D5D400D7DA1C00D7D5D400A1610001F4D +:10083000159C001F7D1D00097D1740097E928009CF +:100840000BB800040BFC00019B4000129BC0FFF1A1 +:10085000C4200024C60F03FDC61303FA9A800009C2 +:10086000CC00000D9B000171511400207CD4C01AF3 +:1008700004140020D0C00002CD400002800002011C +:10088000CC00000D96C00169CC00000E8000038AE8 +:10089000CC00000D9AC00002CC00000E9780FDD95C +:1008A0000BB80001C43F00039B80FFFD80000000E7 +:1008B000CC00000E96400003CC0000028000038AAA +:1008C000DA000002C40B0003C40F0003C4130003CA +:1008D000C4170003C41B0003C41F0003C427000384 +:1008E000C42B000315FC001F16B0001F7FF3C009C6 +:1008F00014F0001F7FF3C0091570001F7FF3C009BB +:100900007D8880027DCCC00297C0000C7E51000221 +:100910007E9540027C90800C7CD4C00C7C8F40097A +:100920009AC000022CB40001CC00000D9B40013F96 +:10093000CC00000E8000038AC4200024C60F03FDF3 +:10094000C61303FA511400207CD4C01AD0C0000290 +:10095000800002307C40C00114D0001E3114000120 +:100960009500FDAE9540012E18D4003018D001E856 +:1009700018FC003424CC000F04E802627C418001A2 +:100980007C41C00194C00012868000008000026C8F +:100990008000038E8000038E8000038E8000026939 +:1009A0008000038E51DC00207D9E001A80000279B9 +:1009B00051DC00207D9D801A99400003C5A20000F3 +:1009C00080000279C9A2000080000279C5A1000060 +:1009D0009540000505980001C5A50000526400205F +:1009E0007E26001A0528027D7C4180017C41C001E1 +:1009F00095000007868000008000038E8000038E33 +:100A00008000038E8000038E8000028DD8000021BC +:100A1000CE190000954000040598000156200020E2 +:100A2000CE19000097C0FD77C43921407C40800179 +:100A30008800000051DC00207D9D801AD800002134 +:100A4000CE1A0000954000040598000456200020AE +:100A5000CE1A00009BC0FF1A7C4080018800000075 +:100A60007C40C0017C4100011914003B9540001BF3 +:100A7000C41400123D5800029980FFFE191C007D2D +:100A800019200074C414002531DC0001322000015B +:100A9000CC000021CC0000232910800095C000026A +:100AA0007CD4C0017C424001960000027E56400189 +:100AB000CCC12185CD0121861514001FCE4121878F +:100AC000CC412188CC4121899540FD4EC4140012AF +:100AD0009940FFFF80000000CC800000CCC00000E7 +:100AE000CD000000D44000007C4080018800000060 +:100AF000C4280024D86803F7CC800000CC40000054 +:100B0000C68F03F798C0FFFF7C408001880000007B +:100B1000C4280024C430000FC43400049A800005A7 +:100B20009B000004CC000012CF400000CC0000006D +:100B30007C40C001D86803F7CC800000CCC0000026 +:100B4000D440000014D0001F990000B8800002C0FB +:100B5000CC800000CC400000CC400000CC40000025 +:100B60007C40C001CCC00016CCC00000D4400000C6 +:100B70007C408001880000007C40C00114DC001D26 +:100B800018D8003CCC800000CCC0000099C0000305 +:100B90009980FD1C8000038ACD8000248000038A98 +:100BA0007C40C001505000208C00030D7CD0C01A46 +:100BB000C4240015C41400247C438001964000081E +:100BC000C4D6000099400019DF830000CFA4000FB5 +:100BD0008C000311D440007F80000000C55F03EE4D +:100BE00095C0FFFFD85403F1C55B03F49580000363 +:100BF000D81403F19980FFFCC55F03EE3DE00002CD +:100C00009A000007C56303EB9A000005DF8300002C +:100C1000CFA4000F8C000311D440007F09DC000139 +:100C2000CDD403EED81403F18C0003117C40800175 +:100C300088000000D800001EC43C001E9BC0007F3E +:100C400090000000D840001EC43C001E97C0007BEE +:100C5000900000008C00030DC42000157C40C001F2 +:100C6000C036FF00C4100016C0303FFF7CF54009BD +:100C70007D5180097D81801D7CF38009998000066B +:100C8000DF830000CFA0000F8C000311D440007F51 +:100C9000800000008C0003117C408001880000006F +:100CA0007C40C00114DC000895C0001924DC001051 +:100CB0007C4100015054002099C00003C51D000074 +:100CC000800003337D15001AC51E00007C42000120 +:100CD0007C4240017C4180017DE5C0097DE2800FBE +:100CE00041AC00029A80FCC706EC00030AEC00014C +:100CF0009AC0FFFF24DC001099C00003C51D00004E +:100D000080000336C51E000080000336CC80000042 +:100D1000CCC00000D44000007C408001880000006E +:100D2000C41C0004CDC00000CC000000CC8000003A +:100D3000D44000007C408001880000007C40C0015D +:100D400024D0000631100006C414000F99000008DA +:100D5000CC000012C424007E964000389940000464 +:100D6000C41C0004CDC00000CC000000CC800000FA +:100D7000CCC00000D44000007C408001880000000E +:100D80007C40C0017C4100011518001FCD000021EE +:100D90005114002099800003D44D00008000000011 +:100DA0007D4D401A191C0031D456000095C0FC95A9 +:100DB000C42000139A00FFFF7C40800188000000DF +:100DC0007C40C0017C41000114D4001E3158000257 +:100DD00024DC00FF954000049980FC8ACD1C0300B0 +:100DE00080000000CC800000CCC00000CD000000DE +:100DF0007C40800188000000C42000247C40C001A9 +:100E0000C4D30300CC800000CCC00000CC00002183 +:100E1000CD2121417C40800188000000D440007F2A +:100E20007C40800188000000C424007E96400003BE +:100E30007C408001880000008000038E00000000DC +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000303480005015F000600EC000700F331 +:102010000008010100090108001003870011000BEE +:10202000001200270013002B0016002E002400379A +:10203000002500710026011900170181002202E825 +:102040000023031500270133001F01B3002001E323 +:1020500000280152002A0142002C0050002F014CA0 +:102060000031038700320179003303870034034FC6 +:1020700000350120003800920037018F003C032812 +:10208000003F01610040025500410298004202BC3D +:10209000004302C4004402D4004A02DE0055034B50 +:1020A000005F00DF006000BB006100D6006900EF48 +:1020B000007300F6007601040077010B007B0360DB +:1020C000007D0370007E037E007F03870000000216 +:1020D00000000002000000020000000200000002F8 +:1020E00000000002000000020000000200000002E8 +:1020F00000000002000000020000000200000002D8 +:1021000000000002000000020000000200000002C7 +:1021100000000002000000020000000200000002B7 +:1021200000000002000000020000000200000002A7 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/PITCAIRN_ce.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/PITCAIRN_ce.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000D440007F7C4080015B +:1000100088000000C420000BC60C000594C000241A +:100020002450000F3114000295400004CC400024FD +:10003000CC40002580000000311400039540013BB6 +:10004000CC400026CC40002780000000C420000BDC +:10005000CC2000057C410001505400207C418001EF +:1000600006240001CE400000159C00187D15001AE2 +:10007000CDE0000ACDA0000CD1200003CDA00003EC +:100080009A000004C42400129A40000221DC0030CF +:100090008000014CC420000BC60C00051CA80010F9 +:1000A00094C00003CEA0000780000015CC0000091A +:1000B000C424007FC420000B7C4180010A20000181 +:1000C000C6140008C61800057D59800ACE0000003D +:1000D00095800003CC20000780000000CC200005A4 +:1000E000800000007C40C00114D0001E31140002CA +:1000F0009540010E18D001E818D4003018D800340B +:10010000052800447C4200017C4240019500000724 +:100110008680000080000150800001508000015066 +:100120008000015080000052115400107E16000A19 +:10013000CD400011D46100009580FFB2C439214048 +:100140007C4080018800000011540010526400209F +:100150007E26001ACD400011D46200009580FFA9D0 +:10016000C420000E9A00FFFF7C4080018800000040 +:100170007C40C00114D0001E31140002954000EBF9 +:1001800018D4003018D001E818FC003424CC000F3B +:1001900004E800687C4180017C41C00194C00012E9 +:1001A00086800000800000728000015080000150B5 +:1001B000800001508000006F8000015051DC002061 +:1001C0007D9E001A8000007F51DC00207D9D801AFA +:1001D00099400003C5A200008000007FC9A2000072 +:1001E0008000007FC5A10000954000050598000132 +:1001F000C5A50000526400207E26001A0528008351 +:100200007C4180017C41C001950000078680000090 +:10021000800001508000015080000150800001509A +:1002200080000093D8000011CE1900009540000412 +:100230000598000156200020CE19000097C0FF71DC +:10024000C43921407C4080018800000051DC00203E +:100250007D9D801AD8000011CE1A00009540000440 +:100260000598000456200020CE1A00009BC0FFBD58 +:100270007C40800188000000D80003F6D80003F518 +:10028000D80003F4D80003F3D80003F2D80003F138 +:10029000D80003F0D80003EFD80003EECC40007F75 +:1002A000CC40007FCC40007F7C40C001CCC000012E +:1002B000D440007F800000007C40C00150500020EE +:1002C0008C0000CB7CD0C01AC420000BC4D6000028 +:1002D0007C438001C42400139A000009D86403F40D +:1002E000C66B03F19A80FFFFC66B03EE06A8000100 +:1002F000CEA403EECD6403EBD82403F499400009A7 +:10030000DF830000CFA0000E8C0000CFD440007F20 +:100310009A00FF3CC67303EE9B00FFFF80000000C5 +:100320008C0000CF7C40800188000000D8000002D3 +:10033000C43C000D9BC0008390000000D840000228 +:10034000C43C000D97C0007F90000000D800001250 +:100350007C40C00150500020C43C001027FC00012C +:1003600097C0FFFE7CD0C01AD0C00014CC4000154E +:10037000C41000217C50C001CCC00016D80000136E +:1003800080000000C41000217C50C001CCC00017C8 +:10039000D440001880000000C41000217C50C0012F +:1003A000CCC00017C41000207C50C001CCC0001984 +:1003B00080000000C41000217C50C001CCC0001A95 +:1003C000CC40001B7C40C001505000207CD0C01AA3 +:1003D000D0C0001C80000000CC400021D8000022CA +:1003E000800000007C40C001505000207D0D401A6C +:1003F000D8400029C818001D7D95C00F95C0FFFE8C +:10040000D8000029800000007C40C001C810001DF9 +:10041000C814001E7D15800E9980000FD840002959 +:10042000C810001D7D5180127D8DC00F99C0FFFD49 +:10043000D800002950E000017E16400E9A400004CA +:100440007D628012D280002380000000D000002353 +:1004500080000000D8800029C43C007FCC00002030 +:10046000D8400028C40C001C98C0FFFFD80000280A +:100470007C410001505400207D16001AD200001E5D +:10048000D840001D80000000CC000020D84000288B +:10049000C40C001C98C0FFFFD8000028D000001E2C +:1004A000D000001FD840001D7C41000180000000EA +:1004B0007C40C0017C4100011518001FCD000011D7 +:1004C0005114002099800003D44D000080000000EA +:1004D0007D4D401A191C0031D4560000C420000E76 +:1004E00095C0FEC8C420000E9A00FFFF80000000E7 +:1004F0007C40C0017C41800114D0001E31100002FC +:1005000024D400FF9500FEBFCD94030080000000BE +:10051000C42000137C40C001C4D30300CC000011F0 +:10052000CD21214180000000D440007F80000000E8 +:10053000C424007E964000037C40800188000000B7 +:1005400080000150000000000000000000000000DA +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:100990000000000000000000000000000000000057 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D0000000000000000000000000000000000017 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A100000000000000000000000000000000000D6 +:100A200000000000000000000000000000000000C6 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A50000000000000000000000000000000000096 +:100A60000000000000000000000000000000000086 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000000000000000000000000085 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA0000000000000000000000000000000000045 +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE0000000000000000000000000000000000005 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C200000000000000000000000000000000000C4 +:100C300000000000000000000000000000000000B4 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C60000000000000000000000000000000000084 +:100C70000000000000000000000000000000000074 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0000000000000000000000000000000000034 +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000000000000000000000000000000000F4 +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D300000000000000000000000000000000000B3 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000000000000000000000000073 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB0000000000000000000000000000000000033 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000100020010014A001100050019002D16 +:102010000031002500330013008000D3008100E16F +:10202000008200E6008300ED003700390040005CCC +:102030000044009E008400F6008700F90088010239 +:1020400000890117007D013C007E0144007F012CC6 +:10205000002200AE008B01220000000200000002FE +:102060000000000200000002000000020000000268 +:102070000000000200000002000000020000000258 +:102080000000000200000002000000020000000248 +:102090000000000200000002000000020000000238 +:1020A0000000000200000002000000020000000228 +:1020B0000000000200000002000000020000000218 +:1020C0000000000200000002000000020000000208 +:1020D00000000002000000020000000200000002F8 +:1020E00000000002000000020000000200000002E8 +:1020F00000000002000000020000000200000002D8 +:1021000000000002000000020000000200000002C7 +:1021100000000002000000020000000200000002B7 +:1021200000000002000000020000000200000002A7 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/TAHITI_ce.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/TAHITI_ce.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000D440007F7C4080015B +:1000100088000000C420000BC60C000594C000241A +:100020002450000F3114000295400004CC400024FD +:10003000CC40002580000000311400039540013BB6 +:10004000CC400026CC40002780000000C420000BDC +:10005000CC2000057C410001505400207C418001EF +:1000600006240001CE400000159C00187D15001AE2 +:10007000CDE0000ACDA0000CD1200003CDA00003EC +:100080009A000004C42400129A40000221DC0030CF +:100090008000014CC420000BC60C00051CA80010F9 +:1000A00094C00003CEA0000780000015CC0000091A +:1000B000C424007FC420000B7C4180010A20000181 +:1000C000C6140008C61800057D59800ACE0000003D +:1000D00095800003CC20000780000000CC200005A4 +:1000E000800000007C40C00114D0001E31140002CA +:1000F0009540010E18D001E818D4003018D800340B +:10010000052800447C4200017C4240019500000724 +:100110008680000080000150800001508000015066 +:100120008000015080000052115400107E16000A19 +:10013000CD400011D46100009580FFB2C439214048 +:100140007C4080018800000011540010526400209F +:100150007E26001ACD400011D46200009580FFA9D0 +:10016000C420000E9A00FFFF7C4080018800000040 +:100170007C40C00114D0001E31140002954000EBF9 +:1001800018D4003018D001E818FC003424CC000F3B +:1001900004E800687C4180017C41C00194C00012E9 +:1001A00086800000800000728000015080000150B5 +:1001B000800001508000006F8000015051DC002061 +:1001C0007D9E001A8000007F51DC00207D9D801AFA +:1001D00099400003C5A200008000007FC9A2000072 +:1001E0008000007FC5A10000954000050598000132 +:1001F000C5A50000526400207E26001A0528008351 +:100200007C4180017C41C001950000078680000090 +:10021000800001508000015080000150800001509A +:1002200080000093D8000011CE1900009540000412 +:100230000598000156200020CE19000097C0FF71DC +:10024000C43921407C4080018800000051DC00203E +:100250007D9D801AD8000011CE1A00009540000440 +:100260000598000456200020CE1A00009BC0FFBD58 +:100270007C40800188000000D80003F6D80003F518 +:10028000D80003F4D80003F3D80003F2D80003F138 +:10029000D80003F0D80003EFD80003EECC40007F75 +:1002A000CC40007FCC40007F7C40C001CCC000012E +:1002B000D440007F800000007C40C00150500020EE +:1002C0008C0000CB7CD0C01AC420000BC4D6000028 +:1002D0007C438001C42400139A000009D86403F40D +:1002E000C66B03F19A80FFFFC66B03EE06A8000100 +:1002F000CEA403EECD6403EBD82403F499400009A7 +:10030000DF830000CFA0000E8C0000CFD440007F20 +:100310009A00FF3CC67303EE9B00FFFF80000000C5 +:100320008C0000CF7C40800188000000D8000002D3 +:10033000C43C000D9BC0008390000000D840000228 +:10034000C43C000D97C0007F90000000D800001250 +:100350007C40C00150500020C43C001027FC00012C +:1003600097C0FFFE7CD0C01AD0C00014CC4000154E +:10037000C41000217C50C001CCC00016D80000136E +:1003800080000000C41000217C50C001CCC00017C8 +:10039000D440001880000000C41000217C50C0012F +:1003A000CCC00017C41000207C50C001CCC0001984 +:1003B00080000000C41000217C50C001CCC0001A95 +:1003C000CC40001B7C40C001505000207CD0C01AA3 +:1003D000D0C0001C80000000CC400021D8000022CA +:1003E000800000007C40C001505000207D0D401A6C +:1003F000D8400029C818001D7D95C00F95C0FFFE8C +:10040000D8000029800000007C40C001C810001DF9 +:10041000C814001E7D15800E9980000FD840002959 +:10042000C810001D7D5180127D8DC00F99C0FFFD49 +:10043000D800002950E000017E16400E9A400004CA +:100440007D628012D280002380000000D000002353 +:1004500080000000D8800029C43C007FCC00002030 +:10046000D8400028C40C001C98C0FFFFD80000280A +:100470007C410001505400207D16001AD200001E5D +:10048000D840001D80000000CC000020D84000288B +:10049000C40C001C98C0FFFFD8000028D000001E2C +:1004A000D000001FD840001D7C41000180000000EA +:1004B0007C40C0017C4100011518001FCD000011D7 +:1004C0005114002099800003D44D000080000000EA +:1004D0007D4D401A191C0031D4560000C420000E76 +:1004E00095C0FEC8C420000E9A00FFFF80000000E7 +:1004F0007C40C0017C41800114D0001E31100002FC +:1005000024D400FF9500FEBFCD94030080000000BE +:10051000C42000137C40C001C4D30300CC000011F0 +:10052000CD21214180000000D440007F80000000E8 +:10053000C424007E964000037C40800188000000B7 +:1005400080000150000000000000000000000000DA +:10055000000000000000000000000000000000009B +:10056000000000000000000000000000000000008B +:10057000000000000000000000000000000000007B +:10058000000000000000000000000000000000006B +:10059000000000000000000000000000000000005B +:1005A000000000000000000000000000000000004B +:1005B000000000000000000000000000000000003B +:1005C000000000000000000000000000000000002B +:1005D000000000000000000000000000000000001B +:1005E000000000000000000000000000000000000B +:1005F00000000000000000000000000000000000FB +:1006000000000000000000000000000000000000EA +:1006100000000000000000000000000000000000DA +:1006200000000000000000000000000000000000CA +:1006300000000000000000000000000000000000BA +:1006400000000000000000000000000000000000AA +:10065000000000000000000000000000000000009A +:10066000000000000000000000000000000000008A +:10067000000000000000000000000000000000007A +:10068000000000000000000000000000000000006A +:10069000000000000000000000000000000000005A +:1006A000000000000000000000000000000000004A +:1006B000000000000000000000000000000000003A +:1006C000000000000000000000000000000000002A +:1006D000000000000000000000000000000000001A +:1006E000000000000000000000000000000000000A +:1006F00000000000000000000000000000000000FA +:1007000000000000000000000000000000000000E9 +:1007100000000000000000000000000000000000D9 +:1007200000000000000000000000000000000000C9 +:1007300000000000000000000000000000000000B9 +:1007400000000000000000000000000000000000A9 +:100750000000000000000000000000000000000099 +:100760000000000000000000000000000000000089 +:100770000000000000000000000000000000000079 +:100780000000000000000000000000000000000069 +:100790000000000000000000000000000000000059 +:1007A0000000000000000000000000000000000049 +:1007B0000000000000000000000000000000000039 +:1007C0000000000000000000000000000000000029 +:1007D0000000000000000000000000000000000019 +:1007E0000000000000000000000000000000000009 +:1007F00000000000000000000000000000000000F9 +:1008000000000000000000000000000000000000E8 +:1008100000000000000000000000000000000000D8 +:1008200000000000000000000000000000000000C8 +:1008300000000000000000000000000000000000B8 +:1008400000000000000000000000000000000000A8 +:100850000000000000000000000000000000000098 +:100860000000000000000000000000000000000088 +:100870000000000000000000000000000000000078 +:100880000000000000000000000000000000000068 +:100890000000000000000000000000000000000058 +:1008A0000000000000000000000000000000000048 +:1008B0000000000000000000000000000000000038 +:1008C0000000000000000000000000000000000028 +:1008D0000000000000000000000000000000000018 +:1008E0000000000000000000000000000000000008 +:1008F00000000000000000000000000000000000F8 +:1009000000000000000000000000000000000000E7 +:1009100000000000000000000000000000000000D7 +:1009200000000000000000000000000000000000C7 +:1009300000000000000000000000000000000000B7 +:1009400000000000000000000000000000000000A7 +:100950000000000000000000000000000000000097 +:100960000000000000000000000000000000000087 +:100970000000000000000000000000000000000077 +:100980000000000000000000000000000000000067 +:100990000000000000000000000000000000000057 +:1009A0000000000000000000000000000000000047 +:1009B0000000000000000000000000000000000037 +:1009C0000000000000000000000000000000000027 +:1009D0000000000000000000000000000000000017 +:1009E0000000000000000000000000000000000007 +:1009F00000000000000000000000000000000000F7 +:100A000000000000000000000000000000000000E6 +:100A100000000000000000000000000000000000D6 +:100A200000000000000000000000000000000000C6 +:100A300000000000000000000000000000000000B6 +:100A400000000000000000000000000000000000A6 +:100A50000000000000000000000000000000000096 +:100A60000000000000000000000000000000000086 +:100A70000000000000000000000000000000000076 +:100A80000000000000000000000000000000000066 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:100B300000000000000000000000000000000000B5 +:100B400000000000000000000000000000000000A5 +:100B50000000000000000000000000000000000095 +:100B60000000000000000000000000000000000085 +:100B70000000000000000000000000000000000075 +:100B80000000000000000000000000000000000065 +:100B90000000000000000000000000000000000055 +:100BA0000000000000000000000000000000000045 +:100BB0000000000000000000000000000000000035 +:100BC0000000000000000000000000000000000025 +:100BD0000000000000000000000000000000000015 +:100BE0000000000000000000000000000000000005 +:100BF00000000000000000000000000000000000F5 +:100C000000000000000000000000000000000000E4 +:100C100000000000000000000000000000000000D4 +:100C200000000000000000000000000000000000C4 +:100C300000000000000000000000000000000000B4 +:100C400000000000000000000000000000000000A4 +:100C50000000000000000000000000000000000094 +:100C60000000000000000000000000000000000084 +:100C70000000000000000000000000000000000074 +:100C80000000000000000000000000000000000064 +:100C90000000000000000000000000000000000054 +:100CA0000000000000000000000000000000000044 +:100CB0000000000000000000000000000000000034 +:100CC0000000000000000000000000000000000024 +:100CD0000000000000000000000000000000000014 +:100CE0000000000000000000000000000000000004 +:100CF00000000000000000000000000000000000F4 +:100D000000000000000000000000000000000000E3 +:100D100000000000000000000000000000000000D3 +:100D200000000000000000000000000000000000C3 +:100D300000000000000000000000000000000000B3 +:100D400000000000000000000000000000000000A3 +:100D50000000000000000000000000000000000093 +:100D60000000000000000000000000000000000083 +:100D70000000000000000000000000000000000073 +:100D80000000000000000000000000000000000063 +:100D90000000000000000000000000000000000053 +:100DA0000000000000000000000000000000000043 +:100DB0000000000000000000000000000000000033 +:100DC0000000000000000000000000000000000023 +:100DD0000000000000000000000000000000000013 +:100DE0000000000000000000000000000000000003 +:100DF00000000000000000000000000000000000F3 +:100E000000000000000000000000000000000000E2 +:100E100000000000000000000000000000000000D2 +:100E200000000000000000000000000000000000C2 +:100E300000000000000000000000000000000000B2 +:100E400000000000000000000000000000000000A2 +:100E50000000000000000000000000000000000092 +:100E60000000000000000000000000000000000082 +:100E70000000000000000000000000000000000072 +:100E80000000000000000000000000000000000062 +:100E90000000000000000000000000000000000052 +:100EA0000000000000000000000000000000000042 +:100EB0000000000000000000000000000000000032 +:100EC0000000000000000000000000000000000022 +:100ED0000000000000000000000000000000000012 +:100EE0000000000000000000000000000000000002 +:100EF00000000000000000000000000000000000F2 +:100F000000000000000000000000000000000000E1 +:100F100000000000000000000000000000000000D1 +:100F200000000000000000000000000000000000C1 +:100F300000000000000000000000000000000000B1 +:100F400000000000000000000000000000000000A1 +:100F50000000000000000000000000000000000091 +:100F60000000000000000000000000000000000081 +:100F70000000000000000000000000000000000071 +:100F80000000000000000000000000000000000061 +:100F90000000000000000000000000000000000051 +:100FA0000000000000000000000000000000000041 +:100FB0000000000000000000000000000000000031 +:100FC0000000000000000000000000000000000021 +:100FD0000000000000000000000000000000000011 +:100FE0000000000000000000000000000000000001 +:100FF00000000000000000000000000000000000F1 +:1010000000000000000000000000000000000000E0 +:1010100000000000000000000000000000000000D0 +:1010200000000000000000000000000000000000C0 +:1010300000000000000000000000000000000000B0 +:1010400000000000000000000000000000000000A0 +:101050000000000000000000000000000000000090 +:101060000000000000000000000000000000000080 +:101070000000000000000000000000000000000070 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000100020010014A001100050019002D16 +:102010000031002500330013008000D3008100E16F +:10202000008200E6008300ED003700390040005CCC +:102030000044009E008400F6008700F90088010239 +:1020400000890117007D013C007E0144007F012CC6 +:10205000002200AE008B01220000000200000002FE +:102060000000000200000002000000020000000268 +:102070000000000200000002000000020000000258 +:102080000000000200000002000000020000000248 +:102090000000000200000002000000020000000238 +:1020A0000000000200000002000000020000000228 +:1020B0000000000200000002000000020000000218 +:1020C0000000000200000002000000020000000208 +:1020D00000000002000000020000000200000002F8 +:1020E00000000002000000020000000200000002E8 +:1020F00000000002000000020000000200000002D8 +:1021000000000002000000020000000200000002C7 +:1021100000000002000000020000000200000002B7 +:1021200000000002000000020000000200000002A7 +:102130000000000200000002000000020000000297 +:102140000000000200000002000000020000000287 +:102150000000000200000002000000020000000277 +:102160000000000200000002000000020000000267 +:102170000000000200000002000000020000000257 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/VERDE_mc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/VERDE_mc.bin.ihex @@ -0,0 +1,1944 @@ +:100000000003E8E00002BE01000002070003FF0059 +:100010000003FF000002A00E0001C0190003E80069 +:100020000003E8100003E8200003E830000360202C +:1000300000036148000231B80003496C0003480A1C +:100040000003AF0A0002B40400026FF40000FA2DAE +:100050000002B40F00024F140000FA0A0003A88C3B +:100060000000C201000340240002B4400002B50FAA +:1000700000034AA6000244410003F0020002499531 +:1000800000036AA600034A51000340240002B8029C +:100090000002B9FE00024494000248810003A880D7 +:1000A0000002644800036A51000340260002BF803A +:1000B0000002BC04000249F90003F0420003F4000E +:1000C0000001C0410002BF80000348540002B80F85 +:1000D0000002B9F0000241180002422900036854EE +:1000E00000034B690003C08C0002644C00036B6981 +:1000F0000002444800036B690002611F0002622C89 +:100100000003685400022C0500034B4C0003FF0061 +:100110000003614400034B1C0003402A0002B4FCAE +:1001200000036140000243340002611E00036B1CA7 +:1001300000024AAE0003F046000349D50002BC109D +:1001400000024CC70003F0420002BC2D00023273D3 +:10015000000340240002B4400002B5F000034AA6A8 +:10016000000244410003F0020002699500036AA600 +:10017000000340000003FF000003F8010003C44037 +:100180000003C4510002C6450002000000034010F5 +:100190000003FF000003FF000003E8200003E83035 +:1001A00000036010000091E50000920D0003F803C9 +:1001B000000230BF000231B2000348080002B49FC1 +:1001C0000002400400036808000348C0000348C65A +:1001D0000002B4FC0002B50F000241140002499471 +:1001E0000002422500024AA50002433500024BB539 +:1001F000000368C0000368C6000348000003480508 +:100200000002BB3F0002BCBF0002BFEF000092250E +:1002100000008A260000822A0000BA280000AA2CCA +:100220000002411B0002BBFB0002400C00036800FF +:100230000002BCFE0002455F0002477C0003680527 +:1002400000034810000349DD0002BBF10002BC02BC +:1002500000008A290000AA2B0002411B0002611C39 +:10026000000368100002455B0002655C000369DD65 +:100270000003400D0003FF000003FF000003A14C3A +:10028000000089FF0002B302000243340003A330E0 +:10029000000099FE0002B304000243340003A332BD +:1002A000000099FD00034029000340000002BC202B +:1002B0000000B9C70002422C0003F0070002B000A2 +:1002C0000000823100023A330003E800000081E5BB +:1002D0000003F4000001C25C000340000002BC20E7 +:1002E0000000F2310002433C0003F00500023A3303 +:1002F0000003E800000081E50003F4000001C25C97 +:10030000000348210002B3C10002477300036821C3 +:1003100000036A89000348250002B3C10002477345 +:100320000003682500036A8D000348290003497013 +:10033000000340120002BF070002400F00038000CC +:100340000003000E0003AF88000349D60002BC1072 +:1003500000024CCB0003F0410002C00F00038406F2 +:10036000000385560003A556000265540002644050 +:10037000000349E8000368290003682D0003C10455 +:100380000003C115000369E8000369EC00034AC2D9 +:100390000002BFC00002488F00036AC200036AC6A1 +:1003A0000003E8000003E8D000022E96000368E492 +:1003B0000003C1DE00022E96000369040003E8403A +:1003C0000002BD00000232020002BD010002320242 +:1003D0000003402C0003FF000002B40200024404AA +:1003E0000000A209000349D60002B5100002445BD8 +:1003F0000003A4460000A20B0002A04E0003F0037D +:10040000000233B70003F4000001C1050003F4004B +:100410000001D27D0002BC000002323D0003400E0C +:100420000000F2320003E8F00003A0B6000349D553 +:100430000000FA040002B10F000242170002A520DA +:100440000003F0010000FA320002431B0002A52362 +:100450000003F0010000F204000340000003402EFE +:100460000002B6100002B40C00002A32000242243E +:100470000003A2220002433400026C2300024668FB +:100480000003F0030002A05E0003F0010003E8C0D7 +:100490000000E203000340080002B40000007A04F8 +:1004A0000002A0240003F0410002B2080002A0FEF6 +:1004B0000003F0410002B2040002B43F00024224F3 +:1004C0000000921A00034A940003FF0000036180B9 +:1004D000000340000003FF000002B4400002440497 +:1004E0000003F0030003E80000008231000222E074 +:1004F000000340000003FF000002B4400002441467 +:100500000003F0020000F231000222E0000340008C +:100510000003FF000002B440000261100002441416 +:100520000003F00100022CF700034A940003FF00CF +:1005300000036184000340000003FF000002B402D6 +:10054000000244240003F0030003E80000008231AD +:100550000002230C000340000003FF000002B4026D +:10056000000244340003F0020000F2310002230CC8 +:1005700000034A940003FF0000036188000231B2C7 +:10058000000340000003FF000003FF000002440ED0 +:100590000003F0030003E800000082310002241B86 +:1005A000000231B2000340000003FF000003FF001F +:1005B0000002441E0003F0020000F2310002241B7E +:1005C00000022D2E00034A940003FF000003618CFB +:1005D000000340000003FF000002B4020002444098 +:1005E0000003F00B0003E800000082310002260740 +:1005F0000003402C0003FF000002B420000244402E +:100600000003F0030003E8000000823100023129FA +:1006100000034A940003FF000003619000034000C0 +:100620000003FF000002B404000244400003F00392 +:100630000003E80000008231000227D300034A943F +:100640000003FF0000036194000340000003FF006B +:100650000002B410000244400003F00C0003E80064 +:10066000000082310002287A000001FF0003FF0031 +:100670000003FF000002A40E0003F0040000F200DB +:100680000002287A0003E8000000820000034A9478 +:100690000003FF0000036198000340000003FF0017 +:1006A0000002B420000244400003F0030003E8000D +:1006B0000000823100022A0A00034A940003FF006E +:1006C0000003619C000002030003FF000002B4016C +:1006D000000244040003F0040003E800000082313B +:1006E0000003C1FE00022ABC000002030003FF0059 +:1006F0000002B402000244040003F0040003E80016 +:10070000000082310003E8F000022ABC0003400030 +:100710000003FF000003FF000002442E0003F0036B +:100720000003E80000008231000237D100034000DE +:100730000003FF000002B410000244240003F00391 +:100740000003E80000008231000238F50003F803DE +:1007500000034A940003FF000003616000034000AF +:100760000003FF000002B402000244410003F00A4B +:100770000000F231000226070003402C0003FF00B6 +:100780000002B420000244400003F0020000F231F5 +:100790000002312900034A940003FF000003616452 +:1007A000000340000003FF000002B40400024441C3 +:1007B0000003F0020000F231000227D300034A9444 +:1007C0000003FF0000036168000340000003FF0016 +:1007D0000002B410000244410003F00B0000F231AB +:1007E0000002287A000001FF0003FF000003FF0061 +:1007F0000002A40E0003F0040000F2000002287AB8 +:100800000003E8000000820000034A940003FF0098 +:100810000003616C000340000003FF000002B420ED +:10082000000244410003F0020000F23100022A0AF3 +:1008300000034A940003FF000003617000000203FC +:100840000003FF000002B404000244040003F003AC +:100850000000F2310003C1FE00022ABC00000203C6 +:100860000003FF000002B408000244040003F00388 +:100870000000F2310003E8F000022ABC000340004F +:100880000003FF000003FF000002443E0003F002EB +:100890000000F231000237D1000340000003FF00E6 +:1008A0000002B410000244340003F0020000F231F0 +:1008B000000238F500034A940003FF00000361744E +:1008C0000003F803000340000003FF000002B40827 +:1008D00000026001000244040003F00C0003480819 +:1008E0000003FF000002B440000260040003680837 +:1008F000000349980002B4FD000241140003699806 +:100900000003E8300003C12E0003683000023144C8 +:100910000003E8000003E8100003E8300002B2031F +:1009200000036830000340000003FF000002B580B0 +:1009300000026110000245150003F001000237308B +:1009400000034A940003FF00000361780002BC0129 +:100950000002323D000002320003FF000003FF00EE +:100960000002A10E0003F0020003E800000082076D +:1009700000022D2E000348000003480500000A264F +:100980000000022A0000122500002A2C00003A284C +:100990000003FF000003680000036805000348101F +:1009A000000349DD00000A2900002A2B0003FF0094 +:1009B00000036810000369DD000349710002B20101 +:1009C0000003E8300003C1060003C11700036830CC +:1009D000000231440003E8000003E8100002B20303 +:1009E0000002B300000368300000020B0003FF00A8 +:1009F0000003FF000002A00E000202810003F400C9 +:100A00000001C000000001E5000340120003401592 +:100A100000000A0D0002A00E0003F0020003F40023 +:100A20000001C29C0002C11E00008A0D00026BBAC8 +:100A30000002655B0002C66E0003F0410003066E13 +:100A4000000360150002B20F000244420002A51428 +:100A50000003F0070003E8A00003E8B00003601201 +:100A60000003E800000081E50003F4000001C06B12 +:100A70000003402C0003FF000002B42000024040AD +:100A80000003F0020003F4000001C2A80003E80024 +:100A900000008231000231290000F23100023129C8 +:100AA0000003E800000082310002305E0000F231F5 +:100AB0000002305E0003493D000348C00002B60852 +:100AC000000246640003F0020002B5300002622515 +:100AD000000368C0000368C400034B1D00034028E6 +:100AE0000002BC100002BF0400024CC00003F0056D +:100AF0000002677F00036B1D000231440002677E25 +:100B000000036B1D000340200003FF000003FF00F3 +:100B10000002C22E0003F0440002C33E0003F04274 +:100B20000002B2FF0002B3FF00036020000231B2F6 +:100B3000000349480003402A0002B43F0002B58088 +:100B40000002B640000246680003F045000243344C +:100B5000000263350003694800024334000369481A +:100B60000003E8000003E8100003E8200003E83079 +:100B7000000364A4000364E40003F4000001C00067 +:100B80000003400400006A310003E8800003E8909D +:100B90000003E8A00003E8B00002A0DE0003F003B9 +:100BA000000364AA0003F4000003F041000364EAB8 +:100BB000000061E90002A0DE0003F0030003E8404A +:100BC0000003F4000003F041000384EA0003D8406E +:100BD0000003DCC0000079E80003F8030003D49EA2 +:100BE0000003FB0000030FFE000202F7000021C318 +:100BF0000002A0DE0003F003000061C20003F40065 +:100C00000003F041000061C10002BF080003DC40A6 +:100C10000003D8C00003F8030003D49E0003FB00C8 +:100C200000030FFE000203060003F8030003EC00BC +:100C30000000023200006A310003FF000002A00E33 +:100C40000003F0010003EC00000349380002A0DEBD +:100C50000003F041000349380002B8FE00024228B8 +:100C600000036938000349D00002B4040002611493 +:100C70000002B2010002B3120002A0DE0003F04144 +:100C80000002B31100036830000349710002B8EF9D +:100C90000002B9040003C106000261790002433872 +:100CA00000036830000348090002B8FD0002444810 +:100CB0000003680900022D08000349A00002B411D6 +:100CC0000003C1240002B10F000369A000034A44DD +:100CD0000002B4FE0002611E00036A4400024114D7 +:100CE00000036A440002A0DE0003F0030003426137 +:100CF0000003F4000003F0410003425D0003FF0025 +:100D00000003FF000003E860000369A50003686BAF +:100D10000002BA0C0002B8C00003DC810003D8A1B5 +:100D20000002B0F80002B1070003E8200003E83039 +:100D30000003FE000003D41F0003686B0003E8F00B +:100D4000000223C9000223B2000223DE0002A1FE3A +:100D50000003F0410003627A000342780003FF00C1 +:100D60000003FF000002A0800001C3670002A09101 +:100D70000001C3670002A0A20001C3670002A0B384 +:100D80000001C3670002CFFE0002BC0C0002A1FC00 +:100D90000003F0420003F4000001C3510000F9CE4B +:100DA0000003E8F0000223B2000223C9000223DEA0 +:100DB000000342780003FF000003FF000002A08050 +:100DC0000001C37D0002A0910001C37D0002A0A22A +:100DD0000001C37D0002A0B30001C37D0002CFFE6D +:100DE0000002BC0C0002A1FC0003F0420003F4006E +:100DF0000001C36A000061CE0000F9C50003FF00D6 +:100E00000002A5CF0001C38D0002A5FC0001C3882C +:100E10000003E8F00003E8C00003F4000001C39001 +:100E200000030CCF0003ACC00003E8F00003F400A3 +:100E30000001C39000030FFC0003AFF00003E8C003 +:100E4000000223C90003C1FC000223B20003493899 +:100E50000002A0DE0003F041000349380003FF0058 +:100E60000002622E00036938000349D00002B4FB7F +:100E7000000241140002B2010002B3120002A0DE1F +:100E80000003F0410002B311000368300003497110 +:100E90000002B8EF0002B9FB0003C106000241796D +:100EA0000002433800036830000348090002B8FD1F +:100EB00000024448000368090002B018000223FD44 +:100EC00000022D2E0003EC000003C10F0003C11F20 +:100ED0000003C12F0003C13F0002A0DE0003F005A4 +:100EE000000364B0000364B4000364B80003F400BA +:100EF0000003F043000364F0000364F4000364F8AB +:100F0000000348C80002B4F30002B5040002400424 +:100F100000026005000368C800024004000368C8BE +:100F20000003EC000003C10F0003C11F0003C12F29 +:100F30000003C13F0002A0DE0003F004000364AC24 +:100F4000000364BC0003F4000003F042000364ECFF +:100F5000000364FC000348C80002B4F30002B504B7 +:100F60000002400400026005000368C8000240045B +:100F7000000368C80003EC000002B010000223FD6B +:100F800000034A1C0002240D0003C18C00034A2008 +:100F90000002240D00038CC60002688C00034A2462 +:100FA0000002240D0003C19C00034A280002240D06 +:100FB00000038CC60002699C00034A2C0002240D29 +:100FC0000003C1AC00034A300002240D00038CC6AC +:100FD00000026AAC00034A340002240D0003C1BCC5 +:100FE00000034A380002240D00038CC600026BBCCB +:100FF0000003EC000003686B0002B9080002B8C0EF +:101000000003DC800003D8900003E8100003E82010 +:101010000003E8300003FE000003D41E0003686BE9 +:101020000003C18F0002BF1000022D040003C1F8AD +:101030000003EC000003E8C00003873C0003A77630 +:101040000003862C0003A6680003851C0003A55A34 +:101050000003840C0003A44C00026CC700026CC6A1 +:1010600000026CC500026CC40003EC0000034024C5 +:1010700000006A310003FF000003A0060002A10E79 +:101080000003F001000081F9000349A1000349A415 +:101090000002BB400002BABF000245A50002A0DE6C +:1010A0000003F003000243A30003F4000003F04137 +:1010B000000263B3000369A4000369A10002326067 +:1010C0000003E8000003E8200003E8300002A0DE8F +:1010D0000003F003000009FB0003F4000003F041EB +:1010E000000009FA0002B8C00003686B0003D800D2 +:1010F0000003DC800003D41E0002BF0800022D04A0 +:10110000000380E0000081F6000081F50003E800A4 +:10111000000081F4000081F30000F1F20003485464 +:101120000002A0DE0003F003000384E80003F400E3 +:101130000003F041000384EA0002622400036854C3 +:1011400000034975000388E6000260680003C117C8 +:101150000003C12E0003C13E0002A0DE0003F00127 +:101160000003833000036830000348540002A0DE0F +:101170000003F003000384E80003F4000003F041DF +:10118000000384EA0003C0440002422400036854C0 +:101190000000620B0002BF0200022D040002A0CE7C +:1011A0000003F0020003F4000002048300022EA8F2 +:1011B0000003E870000384E60002464B0002A064CE +:1011C0000003F04A000349D20003E86000038AB23A +:1011D0000003AAAA0002A1AE0003F002000301AEC0 +:1011E000000225F70003F4000001C5220002BF0839 +:1011F00000024FF90003AFF400038BB20003ABBC55 +:101200000002253B0003F4000001C5220003400C4E +:101210000003FF000002BF0800024FF00003F0428D +:101220000003F4000001C4940002BF000002BB01EF +:101230000002253B000002040003FF000003FF0042 +:101240000002A00E0003F0420003F4000001C522DA +:101250000000F1F40000F1F30002A0DE0003F0034F +:10126000000079F80003F4000003F041000079F772 +:1012700000038DE20003DCD00003D8F0000389E610 +:101280000002699E0000F1E3000041F90003E8D08C +:1012900000038FE00003C1A800038CED0000E1E72C +:1012A0000000E23000022E110002B701000041F9F7 +:1012B0000003E8A00000D1E30002A07E0003F001DB +:1012C0000003A88000030FDF0003C1D90003C1A8F9 +:1012D00000038CED0000E1E70000E23000022E1177 +:1012E00000022E520003C1040003C12600036270F5 +:1012F0000002BF0100034011000388E00002A0FECD +:101300000003F004000244480003F0020003F4006C +:10131000000205080002B701000041F90003FF00C8 +:101320000002A07E0003F0010003A8800003E8D0C3 +:1013300000038FE00003C1A800038CED0000E1E78B +:101340000000E23000022E1100022E520003427013 +:1013500000038CEB00038CEA0003E8F00002C840B5 +:101360000003A88000002A090002CA620003AAA0A4 +:101370000002A65E000204E500006A310000F209E6 +:101380000003C1580003C17A000362710003F40036 +:101390000002049F0002A15E0003F00E00006A310B +:1013A0000003C1910003C1B30002A0DE0003F003FB +:1013B0000003612E0003F4000003F04100036132DA +:1013C0000002C0810003A8000002C2A30003AA20FB +:1013D000000385500000AA09000381E00003008497 +:1013E0000003F0240002A1840003F0010002C441C4 +:1013F0000003044E0003C154000302A60003F024BE +:101400000002A1A60003F0010002C6610003066EFF +:101410000003C1760003D45E00026002000204F7FC +:1014200000006A310002BF0200022D04000349716E +:10143000000381E40003C1060003A26C0002A02E99 +:1014400000020522000261710003C12E0003C13EAB +:101450000002A0DE0003F001000383300003866079 +:101460000003F0470003683000038FED00022D04F5 +:1014700000038FED00022D0400038FED00022D0408 +:1014800000038FED00022D04000349750003C12EF7 +:101490000003C1060003C1170003C13E0002A0DE25 +:1014A0000003F0010003833000036830000001E511 +:1014B0000003FF000003FF000002A50E0003F04838 +:1014C000000340110002A0DE0003F0030002666E7C +:1014D0000003F4000003F0410002677E0003601186 +:1014E0000003E800000081E50003EC000002A0FE1C +:1014F0000001C5470002B00F0002B10F0002B20F99 +:101500000002B30F0002A0DE0003F0030003632813 +:101510000003F4000003F04100036368000231445B +:1015200000034A40000041F2000049F6000051F576 +:101530000002BC330002440C0002451C000264455A +:101540000002462C0002473C000266670002644627 +:101550000002A14E0003F0010002B4010002A08EBF +:101560000003F0050002A4490003F0430002A44B6D +:101570000003F0410000F1F40000A1F60002BCCC31 +:101580000002440C0002451C0002462C0002473CAD +:101590000002644500026446000264470002A14E56 +:1015A0000003F0010002B4010002A08E0003F00568 +:1015B0000002A44A0003F0430002A44B0003F041E0 +:1015C0000000F1F30000A1F50003E8400000A1F2E3 +:1015D000000001F4000011F30002B10F0002B30596 +:1015E0000002A5FE0002059D0002A0FE0003F041DE +:1015F0000003E8F00002A00E0003F0010002CFFE9D +:101600000002B1100002A02E0003F0010002CFF191 +:101610000002B3900002A6F30003F0420000F1E5DF +:101620000003EC00000243020003F043000225DD4A +:101630000003F4000001C5470002B41100030FF4D9 +:101640000002A0DE0003F0030000F9F10003F4043F +:101650000003F0010000F9F0000343290002A0DEBE +:101660000003F041000343690002BF77000225BC7C +:101670000003EC00000348E50002A0DE0003F04197 +:10168000000349050002B8110002A00E0003F0019A +:101690000002C448000249410002A4930003F00183 +:1016A0000000F1F40002A02E0003F0010002C55872 +:1016B000000249510002A4930003F0010000F1F37D +:1016C0000002A0DE0003F003000368E50003F4005D +:1016D0000003F04100036905000240020002A00E71 +:1016E000000205470002B102000225F70003EC00EA +:1016F0000002A1FE0003F0410003EC000003A1F68C +:1017000000038FF60003A0F60002A10E0003F0070D +:101710000002BC090002A04C0003F0410002BC0F13 +:101720000003C14C0003C15C0003000E0002A11EB7 +:101730000003F0070002BC090002A06C0003F041A6 +:101740000002BC0F0003C16C0003C17C0003011E3A +:101750000002A0DE0003F003000363290003F4008D +:101760000003F0410003636900026201000205C248 +:101770000003EC00000343290002A0DE0003F04157 +:10178000000343690002A00E0003F0050002B40F3D +:1017900000024CFE0003F0010002B4090003C15432 +:1017A0000002A02E0003F0060002B60F0003ACF604 +:1017B00000024CCE0003F0010002B6090003C1761E +:1017C0000002A0DE0003F003000363290003F4001D +:1017D0000003F041000363690003EC00000348E5E7 +:1017E0000002A0DE0003F041000349050002B01131 +:1017F0000002C4400002C5500002A0DE0003F00356 +:10180000000368E50003F4000003F04100036905EC +:101810000003011E000205FB0003EC0000006A311A +:101820000003E80000022E820000F1EF0003E80050 +:10183000000081EE0003400C0003402D0002B810B0 +:101840000002B90800024A180003AAA600024B4988 +:101850000003ABB40002B30400026FAB0003F0411D +:101860000002B30200024FAB0003F0010002B30616 +:101870000003402D00000A040002B0400002404076 +:101880000003F0410003E8300002411E0003F001B4 +:101890000003E830000099ED00022D080002B810A6 +:1018A0000002B9FE0002A0DE0003F0090003482197 +:1018B0000002BA0F0002466A000247790002666819 +:1018C0000003682100036A890003F4000003F04765 +:1018D000000348250002BA0F0002466A0002477959 +:1018E000000266680003682500036A8D0002302844 +:1018F0000002BF0300022FF40002BF6400022D04A7 +:1019000000006A310003FF000003FF000002A0DEB8 +:101910000003F0030002BB000003F4000003F041E9 +:101920000002BB400000D9E00003C10E0002B1116B +:101930000002B21000036A440002B1100003E82064 +:1019400000036A440002B0FF0002B1FF0002B2FDD2 +:101950000002B3FF0003686000034A600002BFF7A3 +:101960000002B1130002400F0002600E00036A6023 +:10197000000031FE000039FD0002BC080002BFFE7D +:101980000003866A000262260002A47E0003F001C2 +:101990000002B3040002400F0002600C00036A6002 +:1019A00000038FE100022D040003686B0003FF00B9 +:1019B0000003FE000000622F00005A2E0003FF000B +:1019C0000003D8C10003DCB100038FE300022D0443 +:1019D0000003D01F00038CEF00038FE400026FFEB2 +:1019E00000024001000242230002400200024CC0FB +:1019F0000003FB010003D01F00030FFE0002067866 +:101A00000002A0DE0003F003000348210003F400FD +:101A10000003F041000348250003C0CC000206A4E7 +:101A200000038CE60002C66C0003F0410002C77E92 +:101A30000002A0DE0003F0040003682100036A89AD +:101A40000003F4000003F0420003682500036A8DE0 +:101A50000002A57E0003F0020003F4000001C64A64 +:101A6000000340110002B0080000F1E50002A0DE12 +:101A70000003F003000266600003F4000003F0417D +:101A800000026770000360110003F400000207D138 +:101A9000000380E1000381060002611E000382E76B +:101AA00000036A44000381060003E82000036A443F +:101AB000000230280003402C00005A1D0002B4042C +:101AC0000003E8F0000244400003F0010002BF01FF +:101AD0000002A4BE0003F0010002BF0400022FF4C4 +:101AE0000000F2190000F2170002325A00023028FA +:101AF00000000A2D000011FE000019FD0002B002D6 +:101B00000002A0DE0003F0410002B0040003822ABC +:101B10000002A43E0003F0010002B304000381169A +:101B2000000260010002B13300036A600003400A52 +:101B30000002B0010002B1020002B2000002B301D3 +:101B40000002A02B0003F0020003E8200003C13BC9 +:101B500000036A680003C10E0002B20900024009D6 +:101B60000003F0010003E8200002B0130002B102FC +:101B7000000382260003E83000036A700003402D52 +:101B8000000062040000121A0002BF4000024F4F22 +:101B90000003F0030002A0CE0003F0010002B2082F +:101BA0000002B0210002B1020002B30100036A7416 +:101BB00000000A1D0002B0010003FF000002A41E85 +:101BC0000003F0050002B1040002B2000002B302FB +:101BD0000003F4040003F0030002B1020002B20F9C +:101BE0000002B30100036A7800034A7C0003FF008F +:101BF0000002B0010002B1020002B30400036A7CDB +:101C0000000001EE0003FF000003FF000002C00E11 +:101C1000000081EE00022FEF000002190003400ACD +:101C20000003400D0002A00E0003F0050002B00109 +:101C300000024005000380060003F4040003F003E3 +:101C40000002B00400024009000380020002B10358 +:101C50000002680100034A640002B480000011E041 +:101C600000024004000260080003A2220002B30147 +:101C700000036A6400022EBD00022ECA000001EFBC +:101C80000003FF000003FF000002A00E0003F04E5F +:101C90000003402C0002BC040003DCC000038FEAF8 +:101CA0000002A0DE0003F0010003E8F00003D8F01A +:101CB0000002BC090002BF3F00024B1F00022D8B37 +:101CC0000003E8F00000F9EF000001EE0003FF0060 +:101CD0000003FF000002C00E000081EE000009EDCD +:101CE0000003402E0003FF000002A0010002074A8B +:101CF0000002B001000241080003F00500000232BA +:101D00000003FF000003FF000002A00E0002074ACC +:101D100000034A7400007A1A0003FF000003FF006A +:101D20000003C12F00036A7400022FEF00000219A4 +:101D30000003400A0003400D0002A00E0003F0055E +:101D40000002B00400024005000380020003F40416 +:101D50000003F0020002B010000240090002B1438B +:101D60000002680100034A640002B480000011E030 +:101D700000024004000260080003A2220003C13EEA +:101D800000036A6400022EBD00022ECA0000420356 +:101D90000002B0020002A0DE0003F0410003800256 +:101DA000000240080003F0020003F4000001C77ABB +:101DB0000003400E0002B0100003FF0000024109C2 +:101DC0000002A0100002077A000002190003FF00C1 +:101DD0000003FF000002C00E000082190002B102E1 +:101DE0000002A40100020700000041E0000001C35E +:101DF0000003FF000003FF000003D8800003DC00A5 +:101E00000002BF090002B0000003DC010002B0C004 +:101E10000003D80100022EB4000001EE0003FF0011 +:101E20000003FF000002C00E000081EE00022FEF51 +:101E30000003400A0002B0400003FF000002400916 +:101E40000003A0020002B1030002680100034A641B +:101E50000002B480000011E00002400400026008AB +:101E60000003A2220002B30100036A6400022EBD37 +:101E700000022ECA00034025000042030002B020E9 +:101E8000000240050003F0480002B0020002A0DE9C +:101E90000003F04100038002000240080003F0024A +:101EA0000003F4000001C7BF0003402E0003FF0041 +:101EB0000002B008000241080002A010000207BFA3 +:101EC0000002B080000241080003F0050000023269 +:101ED0000003FF000003FF000002A00E000207BF86 +:101EE000000002170003FF000003FF000003E810DA +:101EF00000008A170002A40E00020732000001E071 +:101F0000000041C30003FF000003FF000003D800EE +:101F10000003DC800002BF090002B0C00003D8014A +:101F20000002B0000003DC01000232600003686BB5 +:101F3000000011D60002B3C00003E8D000036274B1 +:101F400000022DB30002301E0003EC0000006A31D5 +:101F50000003FF000003FF000002A0DE0003F00307 +:101F60000002BB620003F4000003F0410002BB6802 +:101F70000003FF000003FF000000D9EC000230A5C1 +:101F80000003E80000022E820002BB020000DA30EB +:101F90000003E8000002B1600003E8200003E8301D +:101FA000000369A00003E8000002B1100003E8206C +:101FB0000003E83000036A44000230280002BF0238 +:101FC00000022FF40002B0FF0002B1FF0002B2FDD8 +:101FD0000002B3FF0003686000000A2D000011FE3C +:101FE000000019FD0002B00A0002A0DE0003F0416B +:101FF0000002B00C00038116000260010003822A77 +:102000000002B10C000262210002A43E0003F001B4 +:102010000002B3040002B11600036A6000038FE1FE +:1020200000022D040003686B0003FF000003FE00A4 +:102030000002301E00034A60000031FE000039FD3E +:102040000002B4F60002B5030003866A00026226AD +:102050000002A47E0003F0010002B704000263370F +:10206000000301150002400400036A600003400AF7 +:102070000002B0010002B1020002B2120003E83017 +:1020800000036A680002B0800002B2090002400842 +:102090000003F0010003E8200002B0130002B102C7 +:1020A000000382260003E83000036A700002B021BA +:1020B0000002B1020002B2010002B30100036A741F +:1020C0000002B0010002B1020002B20F0002B3012F +:1020D00000036A7800034A7C0003FF000002B0029C +:1020E0000002B1020002B30400036A7C0002325A0B +:1020F0000003E87000034A640002B4800002400458 +:102100000003E8200003E83000036A6400034A6427 +:102110000002B480000011EC000240040002B4038D +:10212000000260040002B31000036A6400022EBDC6 +:1021300000034A640002B4080002444000026774CD +:102140000002A57E000208780003E80000022E824B +:102150000002A0DE0003F003000348220003F400A5 +:102160000003F041000348260003FF0000038CE653 +:102170000002CAAC0003F0410002CBBE0002A0DEA8 +:102180000003F0040003682200036A8A0003F400DD +:102190000003F0420003682600036A8E0003E87023 +:1021A0000002A6BE0003F0020003F4000001C83DD7 +:1021B000000340120000F1E50002BF040002A0DEAF +:1021C0000003F00300026AAF0003F4000003F041D3 +:1021D00000026BBF000360120003F4000001C87826 +:1021E0000002301E0003EC0000006A310000F1EF35 +:1021F0000003E80000008206000340080003402DB1 +:102200000002B8400002B90800024A080003AAAA66 +:1022100000024B490003ABB40002B30400026FABF1 +:102220000003F0410002B30200024FAB0003F001D3 +:102230000002B3060003402D00000A040002B04073 +:10224000000240400003F0410003E8300002411E5C +:102250000003F0010003E83000009A05000021E5CA +:102260000003E8500003FF000000A20C0000A9E5F5 +:1022700000006A310003FF000003FF000002A0DE3F +:102280000003F003000059C20003F4000003F04310 +:10229000000059C10003FF000003FF000000D9E067 +:1022A0000003402C00005A1D0002B4040003E8F0B3 +:1022B000000244400003F0010002BF0100024BBED7 +:1022C0000002A0BE0003F00300022F250003F4006B +:1022D0000001C8B70002BFCB0002318A0000F2182B +:1022E0000000F2170002325A0002302800000A2DC6 +:1022F000000011FE000019FD0002B0020002A0DE85 +:102300000003F0410002B0040003811600026001E6 +:10231000000340150003822A0002B18000026221FE +:102320000002A43E0003F0010002B3040002B6F074 +:10233000000244460002B1080002611400036A6012 +:102340000003400A0002B0010002B1020002B20024 +:102350000002B3010002A02B0003F0020003E820FA +:102360000003C13B00036A680002B0010002B2082A +:10237000000240090003F0010003E8200002B0134E +:102380000002B102000382260003E83000036A70F5 +:102390000003402D000062040000121A0002BF403A +:1023A00000024F4F0003F0030002A0CE0003F00133 +:1023B0000002B2080002B0210002B1020002B30123 +:1023C00000036A7400000A1D0002B0010003FF0050 +:1023D000000241100002A41E0003F0050002B10437 +:1023E0000002B2000002B3020003F4040003F00391 +:1023F0000002B1020002B20F0002B30100036A78CA +:1024000000034A7C0003FF000002B0010002B10299 +:102410000002B30400036A7C00000A1D0003FF00F1 +:102420000003FF000002411E0002A41E0002094F2B +:10243000000002060003FF000003FF000002C00EC0 +:102440000000820600022FEF000002180003400A7D +:102450000003400D0002A00E0003F0050002B002D0 +:1024600000024005000380040003F4040003F003AD +:102470000002B00800024009000380000002B1031E +:10248000000268010000021D0003FF000003FF00BE +:102490000002400E0002A40E0003F00B0000121A0E +:1024A0000002B0230002B1030002B30100036A740A +:1024B00000034A7C0003FF000002B0010002B104E7 +:1024C0000002B30400036A7C00034A640002B48083 +:1024D000000011E000024004000260080003A22294 +:1024E0000002B30100036A6400022EBD00022ECA7E +:1024F000000001EF0003FF000003FF000002A00E38 +:102500000003F04E0003402C0002BC040003DCC0BA +:102510000002BFC00002A0DE0003F0010002BF8085 +:102520000003D8F000038CE40002BF3F00024B1F01 +:1025300000022D8B0003E8F00000F9EF0000020616 +:102540000003FF000003FF000002C00E000082062F +:1025500000005A1D00007A170002B80800024ABEA7 +:102560000002A0AE0001C9700003AAB000024AAE8A +:102570000003F04300022BC40003F4000001C96F04 +:1025800000034A700002BA880002B9700002A0F885 +:102590000003F0430003C12A0003F4000001C96DE9 +:1025A0000003ABB200024BBE0002A0BE0003F0412C +:1025B0000003C12900036A70000231570002325A39 +:1025C00000000A05000002060003402E0003FF0081 +:1025D0000002A001000209840002B00100024108CB +:1025E0000003F005000002320003FF000003FF00BB +:1025F0000002A00E0002098400034A7400007A1A47 +:102600000003FF000003FF000003C12F00036A74F2 +:1026100000022FEF000002180003400A0003400DE3 +:102620000002A00E0003F0050002B0080002400501 +:10263000000380000003F4040003F0030002B02054 +:10264000000240090003A0000002B143000268013B +:1026500000034A640002B480000011E0000240045C +:10266000000260080003A2220002B30100036A64B2 +:1026700000022EBD00022ECA000042030002B0017B +:102680000002A0DE0003F0410003800200024008C7 +:102690000003F0020003F4000001C9B50003400A82 +:1026A0000003FF000002B040000241080002A01039 +:1026B000000209B5000002180003FF000003FF003C +:1026C0000002C00E000082180002B1020002A40144 +:1026D0000002090C000001E0000041C30003FF00FC +:1026E0000003FF000003D8000003DC800002BF08E5 +:1026F0000002B0C00003D8010002B0000003DC01FA +:1027000000022EB4000002060003FF000003FF00D9 +:102710000002C00E0000820600022FEF0003400AF4 +:102720000002B0800003FF00000240090003A00483 +:102730000002B1030002680100034A640002B48091 +:10274000000011E000024004000260080003A22221 +:102750000002B3010002B10000036A6400022EBD52 +:1027600000022ECA000042030002B0010002A0DEF7 +:102770000003F04100038002000240080003F00261 +:102780000003F4000001C9F70003402E0003FF001E +:102790000002B008000241080002A010000209F780 +:1027A0000002B080000241080003F0050000023280 +:1027B0000003FF000003FF000002A00E000209F763 +:1027C000000002170003FF000003FF000003E810F1 +:1027D00000008A170002A40E0002094F000061C326 +:1027E000000059E00003FF000003DCC00003D8B084 +:1027F0000002BF080002B0C00003D8010002B00010 +:102800000003DC01000232600003686B000011D697 +:102810000002B3C00003E8D00003627400022DB3CD +:102820000002301E0003EC0000006A310003FF00CC +:102830000003FF000002A0DE0003F0030002BB5310 +:102840000003F4000003F0410002BB5B0003FF0043 +:102850000003FF000000D9EC000340100002BB1F82 +:10286000000348290002A0DE0003F0410003482DC8 +:102870000002400B0003AF0200038CF600026CCF95 +:1028800000038FF6000349E80002A34C0003F004A4 +:102890000003044C0003055F0003F4000003F04252 +:1028A000000304C4000305F50003C1040003C115BF +:1028B0000002A0DE0003F00400036829000369E8B9 +:1028C0000003F4000003F0420003682D000369ECEC +:1028D0000003E80000022E960003E8000002B14069 +:1028E0000003E8200003E83000036A4400023028B7 +:1028F0000002BF0200022F2500000A2D000011FE79 +:10290000000019FD0002B0020002A0DE0003F04149 +:102910000002B00400038116000260010003822A55 +:102920000002B184000262210002A43E0003F00113 +:102930000002B3040002B11800036A600003400AF9 +:102940000002B0010002B1020002B20A0003E83046 +:1029500000036A680002B0800002B208000240086A +:102960000003F0010003E8200002B0130002B102EE +:10297000000382260003E83000036A700002B021E1 +:102980000002B1020002B2010002B30100036A7446 +:102990000002B0010002B1020002B20F0002B30156 +:1029A00000036A7800034A7C0003FF000002B002C3 +:1029B0000002B1020002B30400036A7C0002325A32 +:1029C0000003E87000022FEF00034A640002B480A5 +:1029D000000011EC000240040002B4030002600495 +:1029E0000002B31000036A6400022EBD00034A64B3 +:1029F0000002B40800024440000267740002A57E91 +:102A000000020AB90003E80000022E960002A0DED0 +:102A10000003F0040003482A000349E80003F4001F +:102A20000003F0420003482E000349EC0002BC11F1 +:102A30000002BF100002C99F0002C88C0003F041D1 +:102A40000003E8800003C1080003C1190002A0DEF2 +:102A50000003F0040003682A000369E80003F4009F +:102A60000003F0420003682E000369EC00034AC033 +:102A70000002BF0700024DDE0003F0010002BF3874 +:102A80000002A18E0003F0430002600F00036AC041 +:102A900000036AC40002BB010000DA300003E870E2 +:102AA00000024FF00003F0030002BBFF0002A08B06 +:102AB0000003F0020003F4000001CA710003401299 +:102AC0000000F1E50002BF200002A0DE0003F003D9 +:102AD00000026AAF0003F4000003F04100026BBF84 +:102AE000000360120002302800022FEF0003EC0008 +:102AF00000006A310003E800000081CC0002A0DE83 +:102B00000003F003000059C20003F4000003F04189 +:102B1000000059C10002B07F0002A1FE0003F04195 +:102B200000024BB00000D9E00002325A0002302807 +:102B300000000A2D000011FE000019FD0002B00285 +:102B40000002A0DE0003F0410002B0040003811681 +:102B5000000260010003822A0002B18000026221AB +:102B60000002A43E0003F0010002B304000340157C +:102B70000002B1080002B6F00002444600026114EF +:102B800000036A600002B0010002B1020002B2005C +:102B90000002B30200036A680002B2080002B01328 +:102BA0000002B102000382260003E83000036A70CD +:102BB0000000121A0002B0210002B1020002B301AB +:102BC00000036A740002B0010002B1020002B20FF9 +:102BD0000002B30100036A7800034A7C0003FF008F +:102BE0000002B0010002B1020002B30400036A7CDB +:102BF0000002BC040003DCC0000079E00002BC0855 +:102C00000002BB180003D8F000022D8B000001CC9D +:102C1000000340250002BF100002C00E000081CC5E +:102C200000024F5F0003F00300022BC40003F40016 +:102C30000001CB160002BF080002A00E0003F00145 +:102C40000003C1FE0002315700034A800002A0FECB +:102C50000003F04100036A84000061E00002B080DC +:102C60000003E8F00002A1C00003F0410003C1FE30 +:102C700000022B7700022FEF000011E00003E810A4 +:102C80000002B0230003A2220002B30100036A6421 +:102C900000022EBD000061CC000001E0000009C36D +:102CA000000340260002B2100003D8000003DC102D +:102CB0000002BF080002B0C00003D8010002B0004B +:102CC0000003DC01000242290003F0450003AFF0DD +:102CD0000002A0CE0003F0020003FB000003FB0192 +:102CE0000003D09E0003FB000002A52E0003F001AC +:102CF0000003FB000003D49F0003FB010002A52E8C +:102D00000003F0010003FB0100030FFE00020B387B +:102D1000000001CC0003FF000003FF000002C00E12 +:102D2000000081CC000061E00002B0800003C1FE21 +:102D30000002A1C00003F0410003E8F000022B777D +:102D400000022FEF000011E00002B0030003E810C2 +:102D50000003A2220002B30100036A6400022EBD38 +:102D600000022ECA00034025000001CC0002B1037E +:102D70000002B2080002B310000243350003F00263 +:102D8000000242250003F0020002A5010001CB036E +:102D9000000061C3000059E00003FF000003DCC035 +:102DA0000003D8B00002B0C00003D8010002B00098 +:102DB0000003DC010002BF08000232600003686B00 +:102DC000000011D60002B3C00003E8D00003627413 +:102DD00000022DB30002301E0003EC000002BC1103 +:102DE0000002A0DE0003F004000348CC000348D139 +:102DF0000003F4000003F042000348EC000348F134 +:102E000000022BAF0002A0DE0003F004000368CC38 +:102E1000000368D10003F4000003F042000368ECF3 +:102E2000000368F10002A0DE0003F004000348D4B0 +:102E3000000348D90003F4000003F042000348F403 +:102E4000000348F900022BAF0002A0DE0003F004EB +:102E5000000368D4000368D90003F4000003F042C3 +:102E6000000368F4000368F90002A0DE0003F00329 +:102E7000000348DC0003F4000003F041000348FCB9 +:102E80000002A0FE0003F0040002C00C0002C11CFE +:102E90000003F4000003F0420003000C0003011CD7 +:102EA0000002A0DE0003F003000368DC0003F4006E +:102EB0000003F041000368FC0003EC000002A0FEE8 +:102EC0000003F00A0002C00C0002C11C0002C22C68 +:102ED0000002C33C0002C44C0002C55C0002C66C88 +:102EE0000002C77C0003F4000003F0480003000C5C +:102EF0000003011C0003022C0003033C0003044CEC +:102F00000003055C0003066C0003077C0003EC0073 +:102F10000002B07F0002B1FF0002B2FF0002B3FF67 +:102F2000000368600003686B000009D60003E80036 +:102F30000003A0030003DC000003D81000034031AD +:102F40000002BF030002BC020002A6FC0003F04125 +:102F50000003C1070002A0FC0003F0410003C1060A +:102F60000002A0FE0003F0410003C1050002A1FE23 +:102F70000003F0410003C1040003C1100003C1209D +:102F80000003C1300003FE000003D41E0003686B81 +:102F90000003FB0000030FFE00020BD200034035CC +:102FA0000002BF030003FF000002A6FC0003F04183 +:102FB0000003C1070002A0FC0003F0410003C106AA +:102FC0000002A0FE0003F0410003C1050002A1FEC3 +:102FD0000003F0410003C1040003C1100003C1203D +:102FE0000003C1300003FE000003D41E0003686B21 +:102FF0000003FB0000030FFE00020BEA0003403851 +:103000000003403D0003FF0000036A8400036A815F +:103010000003EC00000348550003FF000002B7C0A6 +:10302000000368550003686B0003480A0002BF7F75 +:10303000000268F80002B2EF0003A0810002BFC3E3 +:103040000002400F000340250002B3FF0002B1FF61 +:1030500000024F5E0003F0020002B9F300024229B1 +:103060000002BC0200024C5C0003F0010002B3FB52 +:10307000000368600003484000038FF20002BCFBBD +:103080000002411C0002611F000368400003686BDE +:103090000003497C0002B404000261140003697C4F +:1030A00000034A940003FF000003617C0003686B87 +:1030B000000231440003FF000003FE000003FF0094 +:1030C000000341490003FF000003FF0000034864C0 +:1030D000000388440003A8800003E8F00003DCF04C +:1030E0000002BC400002CCC80003D8C00003D41EBC +:1030F0000002326600036149000348640002B41014 +:10310000000246240003F0020003F4000001CC9901 +:1031100000034864000348360002B4400002B504CE +:103120000002444000024558000264450001CC59A9 +:103130000002B43C000244400003F04300023ABDE8 +:103140000003F4000001CC2B000340140003FF0037 +:103150000003FF000002C33E0003F0410003033EF2 +:10316000000360140002B0FF0002B1FF0002B2FFD2 +:103170000002B3FF00036A900003F80300034864F1 +:1031800000038CEA0000F20800024C0C0001CC7530 +:10319000000348340002BC0400024CC000020C646E +:1031A0000000E2080003493D0002BF100002444F46 +:1031B0000003F0040002BFFF00022D040002BF5014 +:1031C00000022D040002BF0800022D040003F400D9 +:1031D0000001CC8600034842000349D4000032338A +:1031E0000002B51000009A330002BC4000024553B3 +:1031F0000003F00900024CC90003F0070002A063BD +:103200000003F0450000F2020002346B0003686B1B +:103210000003F4000001C041000348540002B53F20 +:10322000000243530002B70F0002633700036854E3 +:10323000000232600003E8000000820200034271D5 +:103240000002326600036271000348080002B48085 +:10325000000244400003F0020003F4000001D6EC39 +:103260000003EC000003F803000348080002B480E8 +:10327000000244400003F0020003F4000001D6EC19 +:10328000000349D00002B808000249380002A098A3 +:1032900000020CF0000349D40002B41000024334D1 +:1032A0000002A03400020CCE000348080002B80857 +:1032B0000002600800036808000348280002B820E4 +:1032C000000263380003482D00036828000369E802 +:1032D000000267780003682D000369ED000348C809 +:1032E0000002B8FB00024228000368C800034898A7 +:1032F0000002B82000026008000348B1000368988B +:1033000000026448000368B10003C10E0003C11E3F +:103310000003C12E0003C13E00036330000363704D +:1033200000036334000363740003633800036378AD +:103330000003F4000001CCF0000348080002B8F7D5 +:103340000002400800036808000348280002B8DFB4 +:10335000000243380003482D00036828000369E891 +:10336000000247780003682D000369ED000348C898 +:103370000002B80400026228000368C800034898ED +:103380000002B8DF00024008000348B1000368985B +:1033900000024448000368B10002B0030003C110FA +:1033A0000003C1200003C1300003633000036370D9 +:1033B000000363340003637400036338000363781D +:1033C0000003497C0002B4FB000241140003697C45 +:1033D0000003686B0003F4000001CC2B000348CA13 +:1033E0000002B0040002B1400003C12800026820BE +:1033F000000368CA0003C182000368CA0002682192 +:10340000000368CA0003C182000368CA0003EC001D +:103410000003F80300030FFE00020D050003EC009B +:10342000000232600003686B0003C10E0003E81065 +:103430000003E8200003E8300003A4130003D810C1 +:103440000003DC400003FE000003D41E0003686B91 +:10345000000369A40003E8000003FE000003D41E7B +:103460000003686B000369A40002A0DE0003F00300 +:10347000000342600003F4000003F0410003425CDB +:10348000000342590002A0DE000369A40003F00318 +:10349000000342680003F4000003F04100034264AB +:1034A000000369A10003FE000003D41E0003686B43 +:1034B0000003686B0003EC00000232600003686BDD +:1034C000000342560003C10E0003E8100003E82089 +:1034D0000003E8300003A4130003D8100003DC400D +:1034E0000003D41E0002BF0200022D040003686B1B +:1034F000000369A4000369A20003E8000003FF00C1 +:103500000003D41E0002BF0200022D040003686BFA +:10351000000369A4000232600003686B0003EC0042 +:103520000003686B000232600002B10C0003E80087 +:103530000003A0030003DC000003D8100003E80030 +:103540000003E8100003E8200003E8300003FE0059 +:103550000003D41E0003686B0003FB000003FB00A4 +:10356000000388E30003F8030003FE000003D41EF9 +:103570000003686B0003FB000003088E00020D5A75 +:103580000003EC00000021EB0003E8500003E860BA +:103590000003E8700002B9080002B8C00003DC8133 +:1035A0000003D891000342500003F8030003FF001A +:1035B00000036A440003E8200003011E00036A447C +:1035C0000003FE000003D45F0003686B0003C18F9B +:1035D0000002BF1000022D040002B4190003FE0017 +:1035E0000003D45F0003686B0002BF1000022D04CB +:1035F0000003C1F8000349A50003FF000003FF001A +:103600000003C1040003C115000382E0000262262A +:103610000003C137000369A40002B9080003099E32 +:1036200000020D87000369A50003EC000002A1BEA3 +:103630000003F00E0003D01E00030FBE0002BA3FCD +:103640000003000E0002400A0003011E0002411A9E +:103650000003022E0002422A0003033E0002433A06 +:103660000003D41E00030FFE00020D900003FB00B8 +:1036700000030CCE00020D8B0003EC000002A1BE83 +:103680000003F00E0003D01E00030FBE0002BA3F7D +:103690000002C00E0002400A0002C11E0002411AD0 +:1036A0000002C22E0002422A0002C33E0002433A38 +:1036B0000003D41E00030FFE00020DA40003FB0054 +:1036C00000030CCE00020D9F0003EC000003D09E0F +:1036D0000003D01F0002BC3F0002488C0002499C3E +:1036E00000024AAC00024BBC0002440C0002451C24 +:1036F0000002462C0002473C0002BC200002C084AD +:103700000003A0000002A3480003F0410002C00C27 +:103710000002C1950003A1100002A3590003F0416B +:103720000002C11C0002C2A60003A2200002A36A7C +:103730000003F0410002C22C0002C3B70003A33013 +:103740000002A37B0003F0410002C33C0002BC075F +:103750000002A3DC0003F04E0003727400035276F3 +:103760000003FF000003FF000003FE000003D41E5F +:103770000003686B0003FB000003727600035274C1 +:103780000003FF000003FF000003F4040003F0083F +:103790000002BC080002A4DC0003F00100036A84FC +:1037A0000002BC090002A4DC0003F00100036A80EF +:1037B0000002325A0003FB000003FB010002CDDED1 +:1037C0000002A6DF00020DB300022FEF0002B000DE +:1037D0000002B1000002B2000002B30100036A74EB +:1037E0000002B0310002B1060002B2040002B300D0 +:1037F00000036A7800034A7C0003FF000002B00166 +:103800000002B1010002B30000036A7C00034A64B5 +:103810000002B480000240040002B403000260040D +:1038200000036A6400022EBD00034A640002B480F3 +:103830000002400400036A6400006A31000231B2F1 +:103840000003EC00000059E7000062300003FF00B5 +:103850000002A1BE0003F0420000F1E50003EC000D +:103860000002A1CE0003F04100030BBE00030CCE0A +:103870000000D9E70000E23000034A4000005A0986 +:103880000003FF000003FF000002A0BE0003F0429F +:103890000003A0000003A2200003D05E000061FC32 +:1038A000000059E30003A20200024009000242297D +:1038B0000002A58E00020E3C0003088E0002A00D3F +:1038C0000003F00B000041F90002C44F0003C15493 +:1038D0000002A0BE0003F0460003D45E0002C44F05 +:1038E0000003C1540003D45E0002C44F0003C1545E +:1038F0000002A5AE00020E4C00030AAE0002A02D8D +:103900000003F00B000051F90002C66F0003C176FE +:103910000002A0BE0003F0460003D45E0002C66FA2 +:103920000003C1760003D45E0002C66F0003C176B7 +:103930000003D45E00030CCE00020E4D00026B8A21 +:1039400000020E110003EC00000342700000520957 +:1039500000038FEC000388EA0003AAA00002A4AED3 +:103960000003F0060002A1480003F0410002C44831 +:103970000002A1680003F0410002C66800038AE06B +:103980000002A64F0003F0430003044800030008B0 +:10399000000301180002A66F0003F043000306684D +:1039A000000302280003033800030AAE00020E6081 +:1039B0000003C1540003C1760003D45E00036270AB +:1039C0000003EC000003C1620003066E0003DC107C +:1039D0000003D8000003D09E0003FF000003FF0097 +:1039E00000024885000268830003C1980003C1A853 +:1039F0000003C1B80003D49E0003FB000003066E61 +:103A000000020E750003EC000003C1100003C1208A +:103A10000003C1300002A0DE0003F00800036908C3 +:103A20000003690C0003691000036914000369189E +:103A30000003691C0003F4000003F0460003692042 +:103A400000036924000369280003692C000369301E +:103A5000000369340003EC000003C1100003C1201F +:103A60000003C1300002A0DE0003F007000368CCB1 +:103A7000000368D0000368D4000368D8000368DC42 +:103A80000003F4000003F045000368EC000368F055 +:103A9000000368F4000368F8000368FC0003EC000E +:103AA000000349D40003FF00000380E50002410346 +:103AB000000349D20003FF000002400A000349C28C +:103AC0000002A5100003F001000349C60003EC004A +:103AD0000003D09E0003FB000003FF000003FF0073 +:103AE0000003D49F0003FB0100030FFE00020EB48D +:103AF0000003EC000003F8010002BF0400034A6465 +:103B00000003FF000003FF000002410F00020EBF90 +:103B10000003F8030003686B0003FF000003FF00CD +:103B20000003FE000003EC0000034A640003FF00F2 +:103B30000002BF080002410F0002A01F00020EEBAE +:103B4000000340120002B5100002A5250003F00496 +:103B50000002BF0200026AAF0003F4000001CEE8D9 +:103B60000002C4550002A5240003F0040002BF02B5 +:103B700000026BBF0003F4000001CEE80002C44560 +:103B80000002A5240003F0040002BF1000026AAF87 +:103B90000003F4000001CEE80002BF1000026BBF7A +:103BA0000000F1E50003601200022EEC0003EC00BF +:103BB00000034A700003FF000003C1C20003402E4F +:103BC0000002B00100036AA80003FF000003FF0029 +:103BD0000003FF0000034AAC0002B40200036AA91C +:103BE0000003C0000003C0110003C0220003C03363 +:103BF00000034AAD0002BF900002A0CF0003F00511 +:103C00000003C0440002BF0F00024F4F0003F40046 +:103C10000003F0410003C0F40002A0DE0003F00B3B +:103C2000000340190003FF000003FF00000264408E +:103C300000026551000266620002677300036019AA +:103C400000026AAF0003F4000003F0490003401DC6 +:103C50000003FF000003FF00000264400002655102 +:103C600000026662000267730003601D00026BBF02 +:103C70000003602E0003EC000002C44600036AA9A2 +:103C80000003FF000003FF000003FF0000034AAC35 +:103C90000003EC00000232600003686B000009D6EC +:103CA0000002B0C00003DC000003D8100002A0FE38 +:103CB0000003F0040003E8000003E8100003E8201C +:103CC0000003E8300002A0FE0003F0440002B055FB +:103CD0000003C1100003C1200003C1300002A0FE98 +:103CE0000003F0040002B4FF0003C1540003C164E8 +:103CF0000003C1740002A0FE0003F0440002B4AA55 +:103D00000003C1540003C1640003C1740002BC0776 +:103D10000002A3FE00020F9E000041FF0003FF000F +:103D20000003FF000002A08E00020F640002A0DE6C +:103D30000003F003000340420003F4040003F00119 +:103D4000000340460000EA3100006A000002A4DEE1 +:103D50000003F0040003C0880003C0990003C0AA58 +:103D60000003C0BB00026008000261190002622A61 +:103D70000002633B00026448000265590002666A63 +:103D80000002677B00006A310003FF000003FF00B0 +:103D90000003FE000003D41E0003686B0003FB0059 +:103DA00000030CCE0003FE000003D45E0003686B2A +:103DB0000003FB0000030CCE00020F64000041FF73 +:103DC000000062000003FF000002A08E00020F89C5 +:103DD0000003404A0002A4CE0003F0040003C088A0 +:103DE0000003C0990003C0AA0003C0BB0002A4DE08 +:103DF0000003F0020003C18A0003C19B0002BA0F56 +:103E000000024AA800038BA600026AAB0002BBF0C6 +:103E100000024BB80003A7B600026BB70003F4041E +:103E20000003F0030003E8600003E8A00003E8B02B +:103E30000002B4F00002604A0003C1100003C12078 +:103E40000003C13000036A840002A0FE0003F003F7 +:103E50000002B4F00003F4040003F0010002B40F08 +:103E60000002604B0003C1100003C1200003C130F9 +:103E700000036A800003EC000003FE000003D41E70 +:103E80000003686B0003FB0000030CCE0002B903C3 +:103E90000002A0F90003F0440003E8400003E850EA +:103EA0000003E8600003E8700003FE000003D45E36 +:103EB0000003686B0003FB0000030CCE00020FAA96 +:103EC0000002B0F00002B1FF0002A0F90003F042CE +:103ED0000003E8000003E8100003C1210003C13122 +:103EE00000036A8400036A800003EC000002326071 +:103EF0000003686B000009D60002B0C00003DC00BC +:103F00000003D8100002B4FF0003C1640003C174B1 +:103F10000002BC070003FE000002B5FF0003D45EF0 +:103F20000003686B0003FB0000030CCE0003FE00DF +:103F30000002B5EF0003D45E0003686B0003FB00D2 +:103F400000030CCE00020FC50002B5FF00036A8516 +:103F50000002B0F00003C1100003C1200003C13013 +:103F600000036A8000034A6200022FEF0003E8F0BA +:103F700000022FFB00036A62000009D60002B0C0F5 +:103F80000003DC000003D8100002B4FF0003C1549A +:103F90000003C1640003C1740002BC070003FE00FB +:103FA0000003D45E0003686B0003FB0000030CCE2B +:103FB00000020FE70002325A0003EC0000034A64DB +:103FC0000002B4800002400400036A640003EC00B5 +:103FD0000002B0040002A0F00003F00300022F254D +:103FE0000003F4040003F00100022BC40003E80006 +:103FF0000003C0000003C1100002B2FD0002B3FFC5 +:104000000003686000000A2D000031FE000019FD69 +:104010000002B00A0002A0DE0003F0410002B00C72 +:1040200000038116000260010002B1160002A43EE6 +:104030000003F0010002B3040003866A0002B2022A +:104040000002B4040002A3FE0003F0030002A0F487 +:104050000003F0010002B2040002622600036A605D +:1040600000038FE100022D040003686B0003FF00D2 +:104070000003FE000003EC0000034A600003FF00A1 +:104080000003E8300002600E00036A6000034A6427 +:104090000002B4F20002400400036A640003EC0072 +:1040A0000002B0010003E8100003E8200003E8303C +:1040B00000036A600003EC0000006A310003400462 +:1040C0000003FF000002B804000245E00002A05E09 +:1040D0000003F0440002A0DE0003F042000340248D +:1040E0000003FF00000061E90003FF000003FF0080 +:1040F0000003DCC000038FEA0002A0DE0003F00131 +:104100000003E8F00003D8F000038CE40003C1B220 +:104110000003493D0002A0DE0003F04100034941D5 +:104120000003FF000002446E0003F0010002BC0720 +:10413000000240080003F04300022D8B0003F4004E +:104140000003F04100022D9F0002446E0003F009BD +:104150000003E8C00003AB620003A5600002455EF7 +:104160000003F04300022D8B0003F4000003F04134 +:1041700000022D9F0003EC0000006A31000340287C +:10418000000340210002B840000248800003F00311 +:104190000002466E0003F0010003EC00000051C372 +:1041A0000002A0DE0003F003000059C20003F40087 +:1041B0000003F041000059C10003FF000003DCA030 +:1041C0000003D8B0000340060003FF000003FF0017 +:1041D000000240E80003F0030002A0DE0003F0410B +:1041E000000340260003FF000003FF0000034941D5 +:1041F0000002A00E0003F0430002A0DE0003F04125 +:104200000003C1450002454E0003F04300038CE467 +:104210000003F4000003F04100038CE300038998DD +:104220000003AA9C0002A0AE0003F00300022D8B45 +:104230000003F4000003F04100022D9F000340063C +:104240000003FF000003FF00000349410002408E0D +:104250000002A00E0003F0430002A0DE0003F041C4 +:104260000003C1450003E8C00003AB420002454E15 +:104270000003F0070003A5400002455E0003F04381 +:1042800000022D8B0003F4000003F04100022D9F7B +:104290000003EC000002A0DE0003F003000348214D +:1042A0000003F4000003F041000348250003FF0071 +:1042B0000002BB010003A266000381660003A11691 +:1042C00000038776000260270003000B0003A706A7 +:1042D00000038206000266210002A0DE0003F00453 +:1042E0000003682100036A890003F4000003F04220 +:1042F0000003682500036A8D0003EC0000038FEDC6 +:1043000000022D040003E830000382E00003E810FF +:104310000003E8000003683000038FED00022D0465 +:104320000003499C000349D50003402A0002B41051 +:10433000000244470002B5020002455A00038554BA +:10434000000244450003A4400002B6F700024226E2 +:10435000000262240003699C0003E8F00003497036 +:104360000003E8700002B6010003C1510003C14020 +:10437000000368310002B8FC0003C1530003C142CE +:1043800000024558000349740002314400036831BB +:104390000003C1510003C1400002314400036831F1 +:1043A0000003C1530003C142000349980002314495 +:1043B000000368310003C1510003C14000023144D1 +:1043C000000368310003C1530003C1420003499C4C +:1043D00000023144000368310003C1510003C140B1 +:1043E00000023144000368310003C1530003C1429D +:1043F000000348E800023144000368310003C15162 +:104400000003C1400002B7100002314400036831CC +:104410000003C1530003C14200023144000368316C +:104420000003EC000002BC030003493D000348C048 +:104430000002A0DE0003F041000348C40002B604FD +:10444000000246640003F004000386CA0003C17C36 +:1044500000026226000261170002A0DE0003F003E2 +:10446000000368C00003F4000003F041000368C4C7 +:104470000003402A0002B608000387C6000246680F +:104480000003F001000263370002A0DE0003F00326 +:10449000000368C00003F4000003F041000368C497 +:1044A0000003EC000002302E0003493D00034028C9 +:1044B0000002BF080002BC0400024F0F00024C4C77 +:1044C000000260FC0003F0410003EC000002B401B4 +:1044D00000023202000231090002A1FE0003F009CD +:1044E000000231C300023028000340280002BC084B +:1044F0000003FF000002422C0003F0420003F4001E +:104500000003F0420003E840000232020003EC0026 +:104510000003FF000003FF000003FF000003EC00A6 +:104520000003614800036141000361460003627FAC +:104530000003C10E0003E8100003E8200003E83088 +:10454000000368E80003E8000003FF00000368E8D8 +:10455000000341480003FF000003EC00000232604A +:104560000003686B000009D60003E8000003A00305 +:104570000003DC000003D8100002BC030002B0F707 +:104580000002A0FE0003F0410002B07F0003C11052 +:104590000003C1200003C1300002B4FF0003C15476 +:1045A0000003C1640003C1740003FE000003D41EB5 +:1045B0000003686B0003A0010003A1110003A22106 +:1045C0000003A3310003FB000003FE000003D45EE0 +:1045D0000003686B0003FB0000030CCE0002116AAD +:1045E0000002B0FF0002BC080003C1100003C1209C +:1045F0000003C13000036A800002A4FE0001D184E0 +:104600000002A0FC0003F00200036A840003EC0037 +:104610000002B0F70003A1010003A2110003A321CF +:1046200000036A840003EC000003493D0003FF001F +:104630000002B880000264480003693D0002B00136 +:104640000002B1020002B23F0002422F0002B3009A +:1046500000036A680002B0000002B1000002B2006C +:104660000002B30200036A740002B1010002B20842 +:104670000002B30000036A780002B0010002B20039 +:1046800000036A7C000011E00002B0C00002400F8D +:104690000003A0020002600E0002B1000003A2228B +:1046A0000002B30100036A640002325A0003FF00F3 +:1046B0000003FF0000022EBD0002B87F0002444844 +:1046C0000003693D0003EC000003E8000003E8106C +:1046D0000002B2030002B300000368300003EC00E4 +:1046E0000003402C0003FF000003FF000003E8204C +:1046F0000003E8300003602C0003E8000003E8102A +:10470000000360180003601C0003EC0000006A3125 +:104710000002B0010003E8100003E8200003E830C5 +:1047200000036A600002BF0100022FF40002BF1004 +:1047300000022D040002BC1400034A600002BFF70F +:104740000002B1130002400F0002600E00036A6015 +:10475000000031FE000039FD0002BC880002B5FEF9 +:104760000003866A000262260002A47E0003F001B4 +:104770000002B304000240050002600C00036A60FE +:1047800000034A96000340290002BC070003FF0013 +:104790000002444C000385440002C55E0003C1C50D +:1047A0000003E8400003E8600003E87000036A913A +:1047B0000002B4FF0002B57F0002B6FF0002B7FF9F +:1047C000000368610003686B0003FF000003FE0044 +:1047D0000003099C0003F0450003C09900030AAEE2 +:1047E0000003F0420003C0AA00030BBE00036A925C +:1047F000000380000003A00000036A600002BF10F5 +:1048000000022D040003EC000003402A0003472CA3 +:104810000002A0DE0003F0410003476C0002B67FF7 +:104820000003854C000240060002499E0003F0018F +:10483000000260050003C1100003C1200003C13065 +:104840000002A0DE0003F0440003672C0003673081 +:104850000003F4000003F0420003676C000367707C +:10486000000347340002A0DE0003F0410003477458 +:104870000002B6DF00038548000240060002600522 +:104880000003C1100003C1200003C1300002A0DEFC +:104890000003F04400036734000367380003F400AA +:1048A0000003F0420003677400036778000348C008 +:1048B0000002A0DE0003F041000348C40002B63F3E +:1048C000000242260002B6C00002A04E0003F00122 +:1048D0000003E860000262260002A0DE0003F0038D +:1048E000000368C00003F4000003F041000368C443 +:1048F0000003EC00000349980002B80F0002B9F56C +:104900000003E8300003C12E0002A0CE0003F00235 +:1049100000026008000241190003683000034808E3 +:104920000002B8400002A0CE0003F00200026008BE +:10493000000368080003EC000003615000036155A8 +:104940000003615A0003615F00022C05000341501F +:10495000000341550003415A0003415F0003FF007B +:104960000003FF000003EC000002B0FF0002B1BF33 +:104970000002B2FF0002B3FF000368600003EC0016 +:104980000002B07F0002B1FF0002B2FF0002B3FFDD +:10499000000368600003EC000002C44E0003F04A0C +:1049A0000002C55E0003F0480002C66E0003F04638 +:1049B0000002C77E0003F0440002B4FF0002B5FF0E +:1049C0000002B6FF0002B7FF0003EC000002A1CE18 +:1049D0000003F00700030CCE0002BF7C00022D0490 +:1049E0000003FF000003FF0000030CCE000212765C +:1049F0000003EC000003E80000008231000222E026 +:104A00000000F231000222E0000232F800022CF72E +:104A1000000349980002B4F70002B50F00024114E8 +:104A200000026005000369980003C12E0003E8300E +:104A3000000368300000020A000381E00003E84040 +:104A40000002A0010003F0010003C14E0002345E29 +:104A5000000348080002B8FE00024118000368087D +:104A60000002BC00000234090002343A0003400195 +:104A70000003E800000082310002444E0003F00110 +:104A80000002241B000340010003FF000000F2317C +:104A90000002455E0003F0010002241B0000020A30 +:104AA000000381E00003FF000002A4100003F002F5 +:104AB0000003C14E0002345E0002BC010002340952 +:104AC0000002343A0002BF03000236E4000233451C +:104AD00000022EA80002BF1000024FFB0001D2E02E +:104AE000000079CB0003FF000003FF000002A0FEDE +:104AF0000003F0060002BD000002369E0002BD0168 +:104B00000002369E0003F4000001D2E800034000DA +:104B10000002BC000000E2310002A10E0003F0011F +:104B200000023490000340000003FF000000F23157 +:104B30000002A11E0003F0010002349000034004B3 +:104B4000000340010002BC0800024CC10003F00A4F +:104B50000002BD000002444E0003F001000236C412 +:104B60000002BD010002455E0003F001000236C4F0 +:104B70000002BF000000F9CB0003F4000001D2E8FE +:104B8000000349D00002BC8000024CC30003F004C3 +:104B90000002BD000002367E0002BD010002367E2A +:104BA0000003402C0002B8400002B9800002BBFFA5 +:104BB00000034AA5000248180003F0010002BBCF21 +:104BC000000249190003F0020002BA3F00024BBA8A +:104BD0000002455B00036AA50003F4000001C25C0B +:104BE000000349D100022EA80003E8800002A510AE +:104BF0000003F0010002B840000244780003844042 +:104C00000003489C0002B504000264450002B67F20 +:104C100000024006000260040003689C000368A0D4 +:104C2000000368B4000368B8000349380002B5FC0B +:104C3000000242250002B50C00026225000369381B +:104C40000003E8000003E8D000022E820003C1DE6A +:104C500000022E8200022EA8000384E20003C1C9D4 +:104C60000003E8000002B1030002B20A0002B32D03 +:104C7000000244490003F0010002B32F0003E85092 +:104C800000022E71000380EA00022E710002B82F8C +:104C90000002B4020002444C0003F0010002B82DEF +:104CA0000003C1980003C1A80003C1B80003632A30 +:104CB0000003636A00022EA8000381E20003A0E162 +:104CC0000003A396000382E40002C22E0003E85012 +:104CD00000022E710003A0E300022E7100022EA834 +:104CE000000380E5000240A00003C1100003C120C2 +:104CF0000003C130000364A8000364E8000380E0FF +:104D0000000282080002420200038224000091D4C3 +:104D10000003EC0000022EA8000349700002448E3C +:104D20000003F0430002B5F300024225000369705E +:104D30000003E8700003C16E0003C1530003C142C9 +:104D4000000368310002449E0003F0060003499C02 +:104D50000003A4E1000262240003C1530003C14226 +:104D6000000368310002448E0003F04D0003499CAB +:104D7000000384E50003A5E700024004000241159A +:104D80000003A488000384400003854600026005F8 +:104D9000000261140003E8300003C12E00036830F4 +:104DA000000343A4000021D40002B5CF0002400557 +:104DB000000260040003C1100003C1200003C130E1 +:104DC000000363A4000363E4000244440003F00111 +:104DD000000236DF000381840003A018000382066E +:104DE000000260020003E8D000022E960003C1DE3C +:104DF00000022E96000349D100022EA80003E860AD +:104E00000002A5100003F0010002B6400002467641 +:104E10000003A66A000348900003A4BA0002A04E53 +:104E20000003F0410002B4040002B5030002A045F3 +:104E30000003F0410002B4010002B5F00002411588 +:104E4000000261140002B7FE000240070002600683 +:104E500000036890000368A800036894000368AC2E +:104E60000003A0A60003C1100003C1200003C1304D +:104E7000000364240003646400038AB6000348212D +:104E80000002B803000266680002B90F0002BBFE10 +:104E9000000246690002666A0002477B000368213F +:104EA00000036A890003682500036A8D000348082F +:104EB000000348210002611E00036808000348C87F +:104EC0000002B8400002B93F00026008000368C851 +:104ED00000024009000368C80003EC000003402CF6 +:104EE0000002B8400002B9800003E8B000034AA500 +:104EF000000248180003F0010002BB30000249190B +:104F00000003F0020002BAC000026BBA0002655B47 +:104F100000036AA50003489C0002BC7B0002400C11 +:104F20000003689C000368A0000368B4000368B82D +:104F300000034890000384E20003A5E70002411546 +:104F4000000261140002B5FE0002400500036890F3 +:104F5000000368A800036894000368AC00034938A4 +:104F60000002B503000262250002B5F300024225EB +:104F7000000369380003E8C0000234090002343A33 +:104F80000003E8000002B1030002B2090003E830A8 +:104F90000003E85000022E71000380EA00022E7127 +:104FA0000002B0040003C1100003C1200003C1309F +:104FB00000036324000363640002B0200003C110F7 +:104FC0000003C1200003C1300003632800036368AD +:104FD000000236DF00034808000348210003A8ED63 +:104FE00000024118000368080003A8EB00024668AD +:104FF0000003C03E000245530003682100036A8994 +:105000000003682500036A8D0003E8400002345E57 +:105010000003E8F000023E220002BF0100023E222F +:105020000003EC00000340290003FF000002B82A3F +:105030000002425E0003F0010002B8640002A0CE4C +:105040000003F0410002B8100003C1980003C1A89A +:105050000003C1B80003672E000367320003676EC8 +:10506000000367720002B82A0002425E0003F001EA +:105070000002B8E40002A0CE0003F0410002B81024 +:105080000003C1980003C1A80003C1B8000363AEC8 +:10509000000363EE0003489E0003C0140003A11C3C +:1050A000000381140002B0F700024880000268810A +:1050B0000003689E000368A2000368B6000368BA94 +:1050C00000034AEA0002B0FB0003812200024AA06A +:1050D00000026AA100036AEA00036AEE00036AF2B2 +:1050E00000036AF60003EC00000340290003473682 +:1050F0000002B0070002B1080002425E0003F001A6 +:105100000002B1180002A0CE0003F0410002B1007D +:1051100000024880000268810003C1980003C1A812 +:105120000003C1B8000367360003673A00036776DF +:105130000003677A000343B20002B0070002B128FF +:105140000002425E0003F0010002B1380002A0CE6E +:105150000003F0410002B1000002488000026881B3 +:105160000003C1980003C1A80003C1B8000363B2E3 +:10517000000363F20003EC00000349740003C16EF6 +:105180000003E870000388480003C05E00038559EF +:105190000002422500026228000369740003C14234 +:1051A0000003C153000368310003EC000002BF0399 +:1051B000000236E4000348080002B8FE000241186D +:1051C00000036808000340280002BC040002BF037B +:1051D00000024CC20003F00300023DCB0003F400C8 +:1051E0000001D48B000348540002BC600002622C12 +:1051F00000036854000349760002BC10000264AC4E +:105200000003C15B0003C16E0003E8700003683156 +:1052100000023144000348540002BC9F0002422CAB +:10522000000368540003C14A00036831000233AB35 +:105230000003424500023266000362450003EC00B1 +:1052400000006A3100022D080000F1E5000230285C +:1052500000022BC4000340040003400A0002BC0308 +:105260000002BF040002411C000306F10002400FCF +:105270000003F0010003C16A0002C46E0002B50819 +:10528000000238AE000340040003E8F00000FA0614 +:105290000002B240000242200001D4F100038F045A +:1052A0000003AFF80000FA03000349C10002BC0F7D +:1052B000000248CF0003A880000389820002BAE3FD +:1052C0000002444A00026449000249FE0003899238 +:1052D0000002BAFB0002455A00026559000369C189 +:1052E000000381860002608100022E960003E80020 +:1052F0000002A0DE0003F0410002B0400002B10352 +:105300000002B2090002B309000244EF0003F001F9 +:105310000002B30F0003E85000022E710002A3FC4C +:105320000001D4F10003E8C00000E1CE0000E1EE8E +:1053300000023657000340180002A0DE0003F041CF +:105340000003401C000041EE000061CE000260013D +:1053500000026002000260030002A10E0003F0429E +:105360000002C88E0000C1EE0002BA020002BB1F9C +:105370000002CCCA0000E1CE0002A5CB0001D4CCD3 +:1053800000004A0600007A030003FF000002A18922 +:105390000001D4EC00030FFE0002B0100002CFF0B9 +:1053A0000003E800000081E50003F4000001D4AA36 +:1053B0000002CFFE0000FA030000C2060003F40062 +:1053C0000001D4AA0003E8C00000E2030003E830B3 +:1053D0000002366B0003DCE00002BF080003D8F0D7 +:1053E0000002B0200003C1100003C1200003C1303F +:1053F0000002BF110003D41E0003FF000003FB00E6 +:1054000000030FFE000214FD000236570000620385 +:105410000002B0000003DC000003DC0100038FC2C7 +:105420000002B0400002C00F0003D8000002B03FED +:105430000002410F0002B0C00002C0010003D80109 +:105440000003D45E0003D01F0002BF100002A1CFF2 +:105450000001D51E0002A0DE0003F0030003C10A14 +:105460000003F4040003F0010003C10B0003D41F88 +:105470000003F4000001D5250002A0DE0003F003C4 +:105480000003C12A0003F4040003F0010003C12B50 +:105490000003D41F0002360F000340060002B01FB5 +:1054A0000002B1200003C12E000241180003F001E8 +:1054B0000002C22E0002CCC20000E2030002A5C01E +:1054C0000002150200034A940003FF00000360BCC1 +:1054D000000340040003DCE00002BF080003D8F032 +:1054E0000003DCE10002BF2C0003D8F10002BF087A +:1054F0000003AC160002A5CF0003F0430003C0CCAC +:1055000000026CCF0002CCCE0002BF080003D01E08 +:105510000003D05F0003C1890003C19A0003C1AB3F +:105520000002C4400003A0400002C00C0003C1B050 +:105530000002C5510003A1500002C11C0002A61BBD +:105540000003F0010003C1B10002C6620003A260C3 +:105550000002C22C0002A62B0003F0010003C1B21E +:105560000002C7730003A3700002C33C0002A63B05 +:105570000003F0010003C1B30003D41E0003D49F55 +:105580000003FB000003FB0100030FFE00021543B4 +:1055900000034138000341490003412A0002BC0EC8 +:1055A0000002A3010003F0010003C1010002A302F5 +:1055B0000003F0010003C1020002A3030003F00195 +:1055C0000003C1030002A3080003F0010003C108A7 +:1055D0000002A3090003F0010003C1090003E81061 +:1055E0000002A60C0003F0030003C00000038006C5 +:1055F0000003A1060003C1010002A3450003F0015E +:105600000003C1450002A3460003F0010003C146A8 +:105610000002A3470003F0010003C1470002A34AB0 +:105620000003F0010003C14A0002A34B0003F00194 +:105630000003C14B0003E8200002A64C0003F00366 +:105640000003C044000384460003A2460003C132A5 +:105650000002A0DE0003F003000364A80003F404CA +:105660000003F001000364E80003DCE00002BF086F +:105670000003D8F00003D05E0002BF040003DCF199 +:105680000002BF800002A0DE0003F0410002BFC0A4 +:105690000003D8F10002BC100002B8010002B903F7 +:1056A0000002BA0F0002A14C0003F0450003C04401 +:1056B0000002444A000304040003F4040003F0025F +:1056C0000003044A0002C4400002A15C0003F0454C +:1056D0000003C0550002455A000305050003F40409 +:1056E0000003F0020003055A0002C5500002A16C3D +:1056F0000003F0450003C0660002466A0003060688 +:105700000003F4040003F0020003066A0002C6600E +:105710000002A17C0003F0450003C0770002477A35 +:10572000000307070003F4040003F0020003077AF4 +:105730000002C7700003D45F0003FB000003FB01FD +:105740000003D05E0003088E000215A90002B80114 +:105750000003C1010003C1120003C1230003099E1D +:10576000000215A9000344A80002A0DE0003F041D6 +:10577000000344E80002A14C0003F0450003C044CC +:105780000002444A000304040003F4040003F0028E +:105790000003044A0002C4400002A15C0003F0457B +:1057A0000003C0550002455A000305150003F40428 +:1057B0000003F0020003055A0002C5510002A16C6B +:1057C0000003F0450003C0660002466A0003062697 +:1057D0000003F4040003F0020003066A0002C6623C +:1057E0000002A17C0003F0450003C0770002477A65 +:1057F000000307370003F4040003F0020003077AF4 +:105800000002C7730003D45F00022CF70002346B60 +:105810000002302800022FEF0003EC0000022EA847 +:105820000003A3960002366B000380E5000243A04C +:10583000000236740003F4000001D6020003C19098 +:105840000002A1CF0003F0010003C19200036275C2 +:105850000000C9CE0003DCE00002BF080003D8F05E +:105860000003DCE10002BF2C0003D8F10002BF01FD +:105870000003C10400023631000342750002BF017B +:105880000003FF000003C10500023631000342752A +:105890000002BF010003FF000003C1060002363111 +:1058A000000342750002BF010003FF000003C107AF +:1058B00000023631000001CE0002BF000002363186 +:1058C0000003EC000002B2200003D05E0003D09F72 +:1058D0000002410E0003F0440002A0420003F04128 +:1058E0000003C14C0003C18C0003A0000002410E64 +:1058F0000003F0440002A0520003F0410003C15C29 +:105900000003C19C0003A0000002410E0003F0440C +:105910000002A0620003F0410003C16C0003C1ACAF +:105920000003A0000002410E0003F0440002A07238 +:105930000003F0410003C17C0003C1BC0003D45E3E +:105940000003D49F0003FB000003FB010003A00041 +:1059500000030FFE000216320003EC000002B31039 +:105960000002A5C30003F0060003C03C0003833619 +:105970000003A336000236740003F4000001D6646D +:105980000002B30F0002CCCE0002433C0002366B93 +:10599000000231B800022CF70002346B0002BF187D +:1059A0000002385C00022EEC0003EC000002B1049F +:1059B0000002B0800002A0DE0003F0410002B0C08F +:1059C0000002B2090003E85000022E710003EC004F +:1059D0000003C1030003C1130003C1230002A0DEC2 +:1059E0000003F003000364A80003F4040003F001C3 +:1059F000000364E80003EC00000340040002BC80E4 +:105A00000003FF0000024CC00001D69E00034101CC +:105A10000002A0DE0003F041000341050002B104D2 +:105A20000002B0800002A0DE0003F0410002B0C01E +:105A30000003DC100003D8000003C184000236BB61 +:105A40000003C185000236BB0003C186000236BBDD +:105A50000003C187000236BB0002A0DE0003F00392 +:105A6000000364A10003F4040003F001000364E1F7 +:105A70000003F4000001D6B80002B1040002B080B7 +:105A80000002A0DE0003F0410002B0C00003DC1100 +:105A90000003D8010002B1010002B0080002A0DE3C +:105AA0000003F0410002B02C0003DC100003D8001A +:105AB0000002BF0800022EB4000341010002A0DE74 +:105AC0000003F041000341050002A0DE0003F003E3 +:105AD000000364A90003F4040003F001000364E977 +:105AE00000022CF70002346B0003EC000003C198A5 +:105AF0000003C1A80003C1B80002B2010003D49E94 +:105B00000003FB000003022E000216BF0003EC009E +:105B10000002B1040002B0800002A0DE0003F041E8 +:105B20000002B0C00003DC100003D8000002B10185 +:105B30000002B0080002A0DE0003F0410002B02C19 +:105B40000003DC110003D8010002BF0800022EB4DC +:105B5000000344A80002A0DE0003F041000344E873 +:105B60000002A0DE0003F003000361000003F40460 +:105B70000003F001000361040003EC0000034B0C80 +:105B80000002B5FC0002411500036B0C0003EC00A1 +:105B900000034B0E0003C0CF00026AAF00036B0E80 +:105BA0000002314400024AAC00036B0E0003EC001B +:105BB0000002BF03000236E4000349C0000349D5D8 +:105BC00000024C0E0003F0420003F4000001D7294C +:105BD000000349C0000387760002A6700003F0426C +:105BE0000003C1120003E8000003A216000381169F +:105BF0000003A116000348910002BCF00002455CBE +:105C0000000265520002BC040002430C0003A332F0 +:105C10000002BCFE0002444C000264430003689191 +:105C200000036895000368A9000368AD0003C14143 +:105C30000003C1510003C1610003C171000364216D +:105C40000003642500036461000364650002BC0274 +:105C50000002420C0003822A0003489D0002B37F29 +:105C600000024443000264420003689D000368A1EF +:105C7000000368B5000368B90002A10E0003F0023A +:105C8000000236DF0002B0100003C1100003C12083 +:105C90000003C130000363A0000363A4000363E0BA +:105CA000000363E40003497C0002B4FB00024114DA +:105CB0000003697C0003686B0003F4000001CC055D +:105CC0000002302800022FEF000340000003FF0015 +:105CD0000003FF000003A00C0003A11C00038110BF +:105CE0000002611000030F1E0003E8D00002A0FEB6 +:105CF0000003F0410002BD010003C1CE00034808CB +:105D00000003FF00000384E8000260040003680849 +:105D1000000349980002B5FB000241150003699891 +:105D20000002B40F000260040003E8300003C12E3B +:105D30000003683000034971000381E10003C106DC +:105D4000000261710003C12E0003E83000036830D7 +:105D500000022D480003F8010003400D0003FF007E +:105D60000002B00100024006000217690002A0FE16 +:105D70000003F0020002A0ED0003F0050002BB3EAC +:105D800000024BB60003ABB00003F4040003F006BE +:105D90000003A66A0002C66E00030BA60003F4040B +:105DA0000003F0010003E8B0000348190002B2E06C +:105DB000000246620002666B00036819000349E5B1 +:105DC0000003FF00000246620002666B000369E503 +:105DD0000003C1AB00022D0800022D610002B40FC8 +:105DE0000002314400034A400003F8010002A440CD +:105DF0000003F0060002A4410003F0040002A442E4 +:105E00000003F0020002A043000217960002CAAE8F +:105E10000002B0200002A0A00003F0410003E8A0AF +:105E20000002A0AB000217C0000348190002B2E054 +:105E3000000246620002666A00036819000349E531 +:105E40000003FF00000246620002666A000369E583 +:105E50000003F404000217760002A3FE000217CA32 +:105E60000000D1D00002A0DE0002179F0000D1D1B7 +:105E70000002CDDE0003F40400021755000041D1FA +:105E80000003FF000003FF000002A0A8000217CAE1 +:105E90000002A1A80003F048000348210003038A80 +:105EA00000038330000267730003682100036A89DE +:105EB0000003F404000217CA000348190002B2E00C +:105EC000000246620002666800036819000349E5A3 +:105ED0000003FF000002466200026668000369E5F5 +:105EE00000034825000303A8000383300002677302 +:105EF0000003682500036A8D0003F404000217CA3A +:105F0000000340110003E8C00000F1E50002B88082 +:105F10000002677800036011000349980002B5048D +:105F20000002611500036998000348080003FF00A0 +:105F3000000384C800026004000368080003F8033B +:105F40000003EC0000006A310003E8000000820C4E +:105F5000000081CF000238CA000340240003FF0084 +:105F60000003FF000002400E0003F04B000340104E +:105F70000002BC040003DCC000038FEA0002A0DEC4 +:105F80000003F0010003E8F00003D8F00002BC09B0 +:105F90000003C1B100022D8B000340240003FF0069 +:105FA0000002BC020002400C0003F04B0003401052 +:105FB0000002BC040003DCC00002BFC00002A0DE7F +:105FC0000003F0010002BF800003D8F000038CE45E +:105FD0000003C1B100022D8B00022BC40002B406E5 +:105FE0000002B5080002B604000238AE0002BF1875 +:105FF0000002385C000238830002BF0000022FF468 +:1060000000034A700003FF000003FF000002B2908B +:1060100000036A700002BF130002385C000238837C +:10602000000340240003FF000003FF000002400EB5 +:106030000003F04B000340100002BC040003DCC06E +:1060400000038FEA0002A0DE0003F0010003E8F085 +:106050000003D8F00002BC0900038B1000022D9F42 +:10606000000340240003FF000002BC020002400CB9 +:106070000003F04B000340100002BC040003DCC02E +:106080000002BFC00002A0DE0003F0010002BF80DA +:106090000003D8F000038CE400038B1000022D9F56 +:1060A00000034A700003FF000003FF000002B280FB +:1060B00000036A700002BF180002385C00023883D7 +:1060C0000002BF0000022FF400034A700003FF002B +:1060D0000003FF000002B29000036A700002BF13C9 +:1060E0000002385C00023883000340240003FF00F4 +:1060F0000003FF000002400E0003F04B00034010BD +:106100000002BC040003DCC000038FEA0002A0DE32 +:106110000003F0010003E8F00003D8F00002BC091E +:106120000003C1B100022D8B000340240003FF00D7 +:106130000002BC020002400C0003F04B00034012BE +:106140000002BC040003DCC00002BFC00002A0DEED +:106150000003F0010002BF800003D8F000038CE4CC +:106160000003C1B900022D8B000238EC0003EC00E3 +:106170000003E8000003C0000002B1BF0003C1201B +:106180000002B3FF000368600002302800022FEF16 +:1061900000000A2D000011FE000019FD0002B002EF +:1061A0000002A0DE0003F0410002B00400038116EB +:1061B000000260010003822A0002B1840002622111 +:1061C0000002A43E0003F0010002B3040003C11F5B +:1061D00000036A6000034A640002B480000011EC0E +:1061E000000240040002B403000260040002B31085 +:1061F00000036A6400022EBD0002BF0800024FF0D7 +:106200000003F0010000F20C0003EC000000020C9F +:106210000003FF000003FF000002A50E0003F001D1 +:106220000003EC000003E8000000820C00034012B1 +:106230000003FF000003FF000002448E0002A04E96 +:106240000003F0010000F1E50002BF400002A0DE03 +:106250000003F00300026AAF0003F4000003F04102 +:1062600000026BBF0003601200022EEC000079CF29 +:106270000003FF00000340200002A0FE0003F041E5 +:106280000003EC000002A0DE0003F0050002C00ED7 +:106290000003F0410002B0FF0003F4000003F043EC +:1062A0000002C11E0003F0410002B1FF00036020A4 +:1062B0000000F1CF0003EC000002B0010002B102C7 +:1062C0000003C1240003E83000036A680003C1250D +:1062D0000002B0130002B102000382260003E8307E +:1062E00000036A700002B0210002B1020003C1265F +:1062F0000002B30100036A740002B0010002B1029F +:106300000002B20F0002B30100036A7800034A7C66 +:106310000003FF000002B0000002B1000002B3045D +:1063200000036A7C0003EC000002B0010002B1111E +:106330000002B21000036A440002B1100003E8201A +:1063400000036A440002A0DE0003F0030002BB5316 +:106350000003F4000003F0410002BB5B0000D9EC35 +:10636000000348080002B440000081E60002600417 +:1063700000036808000348010002B0BF0002444067 +:10638000000368010003E8000002B1400003E820B8 +:106390000003E83000036A440002B0010003E81083 +:1063A0000003E8200003E83000036A600003EC000B +:1063B0000002302800022FEF000021E60003FF005A +:1063C000000348080003FF000003C104000368083D +:1063D0000003EC0000000A3200006A310003FF00F5 +:1063E0000002401E0003F0410003EC00000238CA26 +:1063F0000002BF0000022FF40000321A0003FF0069 +:106400000002B5090003A6620002C66E0002C46E57 +:10641000000238AE000340280003E8F00002A0DECE +:106420000003F0410002BF400000F9E00003A00CAF +:10643000000081C5000340180003401D0003402EEA +:10644000000061E50003FF000003FF00000361504E +:10645000000361550003615A0000E1C700034010CA +:10646000000079E00002BC040003DCC00003D8F0A7 +:106470000002BC090003C1B100022D8B0003E8C07B +:106480000000E1CE0002B0100002B1000002B21024 +:106490000002B300000362740002B0800003D80160 +:1064A0000002B0000003DC010002B0120002B102E1 +:1064B0000002B2120002B302000362740002B010C4 +:1064C0000002B1120002B2100002B31200036270A7 +:1064D000000362440003624C000362480003C18C65 +:1064E0000003C19C0003C1AC0003C1BC000239DB46 +:1064F000000231B80002BF130002385C00022EEC2B +:10650000000061CE0003FF000002B0000003DC00C9 +:106510000002B04000038FC20002C00F0003D80089 +:10652000000340180002A0DE0003F0410003401CFD +:106530000003402D0003FF000003D41E0003D45FBE +:106540000002BF010003DCF00002BF00000388C2AC +:106550000002CFF80003D8F00003C4000003C41108 +:106560000003C4220003C4330002A0DE0003F04194 +:106570000003C1670002B511000244650003C44472 +:106580000002C0040002B522000244650003C444B6 +:106590000002C1140002B544000244650003C44473 +:1065A0000002C2240002B588000244650003C4440E +:1065B0000002C3340003D41E000079C500034275F5 +:1065C0000003427200024FFE0003F0420002C001CD +:1065D0000002C2230002A1040003F0460002A50944 +:1065E0000003F0040003C18C0003C1900003C1ACA0 +:1065F0000003C1B00002A3090003F0420003C1ACD4 +:106600000003C1B000036272000342460002A126EB +:106610000003F0460002A5290003F0040003C18C2A +:106620000003C1920003C1AC0003C1B20002A32960 +:106630000003F0420003C1AC0003C1B20003624694 +:106640000002A0FE0001D9AE0003424E0002A115D7 +:106650000003F0460002A5190003F0040003C18CFA +:106660000003C1910003C1AC0003C1B10002A31932 +:106670000003F0420003C1AC0003C1B10003624E4D +:106680000003424A0002A1370003F0460002A53988 +:106690000003F0040003C18C0003C1930003C1ACEC +:1066A0000003C1B30002A3390003F0420003C1ACF0 +:1066B0000003C1B30003624A000362740003FB01DC +:1066C0000002B1100002CCCE0000E1CE0002A0C159 +:1066D0000001D93700034270000342450003FF0068 +:1066E0000002C8020003A8800002CA460003AAA054 +:1066F0000003424C000342490003FF000002C902AC +:106700000003A9900002CB460003ABB0000239DBC6 +:1067100000034010000079E00002BC040003DCC06C +:106720000003D8F00002BC090003C1B100022D9F94 +:106730000002302800022FEF0003415000034155B2 +:106740000003415A000061C70003FF000003FF007F +:10675000000360180003601D0003602E0000E1E5E7 +:106760000003EC000002BB210002BB10000001C5C9 +:106770000003FF000003FF000002400E0001DA13D7 +:106780000003A9840003ABA40002BC0F00038880AF +:106790000002488C00038AA000024AAC0003489C17 +:1067A000000348A10002A0DE0003F042000348B449 +:1067B000000348B90003C1180003C15A00038C1636 +:1067C00000038F560002611C0002655F0002A0DE1C +:1067D0000003F0040003689C000368A10003F400B8 +:1067E0000003F042000368B4000368B900034AE8FC +:1067F00000034AED0002A0DE0003F04200034AF06D +:1068000000034AF50002BCEE0002400C0002444CBA +:106810000003889600026C980002600C00038AB6A0 +:1068200000026CBA0002644C0002A0DE0003F00417 +:1068300000036AE800036AED0003F4000003F0427D +:1068400000036AF000036AF50003EC000002BF05D4 +:106850000002BC000002A0DE0003F0410002BC40C8 +:106860000003DCF00003D8C00002BC800002688C8A +:106870000002699C00026AAC00026BBC0003C10804 +:1068800000023A2B0003C10900023A2B0003C10A9F +:1068900000023A2B0003C10B00023A2B0003D49EE6 +:1068A0000003FB000003D49E0003EC000003C110B2 +:1068B0000003C1200003C1300003D41E0003FB000D +:1068C0000003D41E0003FB000003EC0000006A314B +:1068D00000022D080003E8000002B1600003E82078 +:1068E0000003E830000369A0000349980002B80FD4 +:1068F0000002B5F50002B3000003C12E00026008DB +:1069000000024115000368300002BF0100022D049F +:10691000000238CA000230280003402C0002BF04E5 +:106920000003FF0000024FF00003AFF20003E8F0A5 +:1069300000022FF40000321A0003FF000002B50924 +:106940000002C46E000238AE0003E8F00002A0DED0 +:106950000003F0410002BF400000F9E0000059C709 +:10696000000079E00002BC040003DCC00003D8F0A2 +:106970000002BC0900022D8B0003E8C00000E1CE3C +:106980000000E1C60003E8800003E8A0000239DB54 +:106990000002BF400002BC000003DCC10003D8F1CC +:1069A0000002BF400003DCE00003D8F0000231B871 +:1069B0000002BF130002385C00022EEC0002A0DED1 +:1069C0000003F0410003C1AB000061CE000079C6B6 +:1069D0000003D45F0003FB010003D05E0002BB0292 +:1069E0000002A1FE0003F0410003C14A0002A0FE24 +:1069F0000003F0410003C15A0002A0FB0003F04174 +:106A00000003C16A0002A6FB0003F0410003C17A43 +:106A10000003D45E0003FB000002B0100002CCCEE5 +:106A20000002A5C00003F0060000E1CE0003C18C07 +:106A30000003C1AC000239DB0003F4000001DA6B93 +:106A40000002B1040002CFFE0000F9C60002A1F16D +:106A50000001DAA60003E8B00000D9CE0003C18B24 +:106A60000003C1AB000239DB000079E00002BC0486 +:106A70000003DCC00003D8F00002BC090003C1BE63 +:106A800000022D8B0003DCE00002BB400003D8B005 +:106A90000003F4000001DA6B000238EC0002B808D1 +:106AA0000002BA08000239DB000059C7000079E093 +:106AB0000002BC040003DCC00003D8F00002BC03E9 +:106AC0000002CBBC0002BC0900022D9F0003480855 +:106AD0000002B460000260040003680800034998E3 +:106AE0000003FF000002B2010003E8300003683039 +:106AF0000003EC000002B404000246340002A0646B +:106B00000001DACA0003E8F000023DF40002BF0110 +:106B100000023DF40003686B000342490002326644 +:106B2000000362490003EC000003424D000232669C +:106B30000003624D000348640003F8010002BD0C2D +:106B4000000249D20002A0D90003F0460002BF03B0 +:106B500000023B290002BF030002BD0000023B0A05 +:106B60000003EC000002BD04000249D20003F0065D +:106B70000002BF0100023B290002BF010002BD006C +:106B800000023B0A0003EC000002BD08000249D2EB +:106B90000003F0060002BF0200023B290002BF0210 +:106BA0000002BD0000023B0A0003EC000002BD60D1 +:106BB000000249D20002A0D90003F0470002BF033F +:106BC00000023BB00002BF030002BD010002BC0195 +:106BD00000023B0A0003EC000002BD20000249D283 +:106BE0000003F0070002BF0100023BB00002BF013A +:106BF0000002BD010002BC0100023B0A0003EC00E0 +:106C00000002BD40000249D20003F0070002BF02AB +:106C100000023BB00002BF020002BD010002BC0145 +:106C200000023B0A0003EC000003486200024CCE65 +:106C300000021B1C000380F20003C000000381F867 +:106C40000003C01100024DDE0003F0450003C00048 +:106C500000026AA000024AA10003F4040003F0034A +:106C60000003C01100024AA000026AA1000368628A +:106C70000002B0F200026AA00002A00A0003F0477E +:106C8000000348400002B4080002B5F70002611496 +:106C90000003684000024115000368400003686B70 +:106CA0000003EC00000348540003E8800002B9032D +:106CB00000024BFE0003F001000268890002BA02E4 +:106CC0000002B90C00024BFA0003F00100026889CF +:106CD00000026338000368540003E8900002B40423 +:106CE00000024BFE0003F0010002699A00024BFA19 +:106CF0000003F00100026994000349600003686B1F +:106D00000003FF000003FF00000348650003FF00CD +:106D100000024BD60002A0BD0001DBA700024B938E +:106D20000001DB3E00034028000384F00000A202C3 +:106D30000003A226000231440003022E0001DB4DB5 +:106D4000000348040002B4EF00008A2C0002411442 +:106D5000000368040002B58000024BFE0003F0054A +:106D6000000348980002B4BF0002433400026335B8 +:106D70000003689800024BFA0003F005000348B0D6 +:106D80000002B4BF0002433400026335000368B060 +:106D900000023DE80002B604000368310003402809 +:106DA000000231440002411A00021B9000004A0117 +:106DB0000003FF000002B8800003C0990003899C13 +:106DC00000024BFE0003F0060003493C0003489913 +:106DD00000026338000264490003693C00036899BB +:106DE00000024BFA0003F00600034940000348B1DB +:106DF000000263380002644900036940000368B17F +:106E000000024BFE0003F006000348900003489583 +:106E1000000260080002644800036890000368955F +:106E200000024BFA0003F006000348A8000348AD37 +:106E30000002600800026448000368A8000368AD0F +:106E4000000340280003FF000002B80400024118BC +:106E50000003F00100023C68000340280003FF002B +:106E60000002B808000241180003F00100023D2AA8 +:106E7000000348400002B88000024BFE0003F0010E +:106E80000002611800024BFA0003F00100026228C0 +:106E9000000368400002BC010003EC0000034854FA +:106EA0000003C088000243380003685400034249CD +:106EB00000023266000362490002BC000003EC00DD +:106EC000000340280000F9BB0002B8080002411886 +:106ED0000003F00100023D41000340280003FF00D1 +:106EE0000002B804000241180003F00100023CB7A0 +:106EF000000340280003FF000002B802000241180E +:106F000000021BE700024BFE00021BCA0003493CC3 +:106F1000000348990002B87F000243380002444849 +:106F20000003693C000368990002BC0200024BFCAC +:106F300000021BD400034940000348B10002B87F9F +:106F4000000243380002444800036940000368B16E +:106F500000024BFE00021BDD000348900003489531 +:106F60000002B87F00024008000244480003689015 +:106F7000000368950002BC0200024BFC00021BE704 +:106F8000000348A8000348AD0002B87F0002400893 +:106F900000024448000368A8000368AD00034028CD +:106FA0000003FF000002B80E0002411800021C0797 +:106FB00000023D1400024117000368C8000348089E +:106FC0000002B810000241180001DC0700024BFE6D +:106FD00000021BFC000348200002B4010002B5FCC3 +:106FE00000026114000368200002411500036820BC +:106FF0000002BC0200024BFC00021C0600034824F5 +:107000000002B4010002B5FC000261140003682410 +:107010000002411500036824000236E400024BFE22 +:1070200000021C0E000348980002B4C00002633442 +:1070300000024334000368980002BC0200024BFCCB +:1070400000021C16000348B00002B4C00002633402 +:1070500000024334000368B00002BC0300023DC8D4 +:10706000000348400002B87F00024BFE0003F0011D +:10707000000242280002BC0200024BFC0003F001A7 +:107080000002411800036840000348080002B810DD +:10709000000241180001DC31000340280002BC045A +:1070A0000003FF0000024CC20003F00300023D5841 +:1070B0000003F4000003F04100023DCB00024EEE5D +:1070C0000001DC330002BC0800023DC8000079BBAF +:1070D0000003FF000003FF0000024BFE0003F0046A +:1070E000000348980002B43F00024334000368984C +:1070F0000002BC0200024BFC0003F004000348B095 +:107100000002B43F00024334000368B0000348406B +:107110000002B8200002488100021C4A00023DE83B +:107120000002B602000368310003497C0002B80285 +:107130000002488000021C510003497100023DE832 +:1071400000036831000348040000222C0003FF0004 +:107150000003FF000003C11400036804000079BBB2 +:107160000002B8000002BC020003485400024BFEBB +:107170000003F0010002B80300024BFC0003F00220 +:107180000002BC0C0002688C0003C0880002433877 +:1071900000036854000380F8000082020003EC0042 +:1071A000000348080002B810000241180001DC7911 +:1071B00000024BFE0003F00400034A540002B40F27 +:1071C0000002600400036A540002BB0200024BFB91 +:1071D0000003F00400034A580002B40F00026004E8 +:1071E00000036A5800024BFE0003F00400034A54F7 +:1071F0000002B4F00002600400036A540002BB0203 +:1072000000024BFB0003F00400034A580002B4F0F4 +:107210000002600400036A58000348080002B81026 +:10722000000241180001DC9700024BFE0003F0044D +:1072300000034A540002B40F0002611400036A54B0 +:107240000002BB0200024BFB0003F00400034A589B +:107250000002B40F0002611400036A5800024BFEE2 +:107260000003F00400034A540002B4F00002611469 +:1072700000036A540002BB0200024BFB0003F0044F +:1072800000034A580002B4F00002611400036A5877 +:10729000000348080002B810000241180003F00182 +:1072A0000003EC0000024BFE0003F00400034A540C +:1072B0000002B4010002622400036A540002BB020F +:1072C00000024BFB0003F00400034A580002B40123 +:1072D0000002622400036A580003EC00000348081F +:1072E0000002B810000241180001DCC800024BFE89 +:1072F0000003F00400034A540002B4FE00024224DA +:1073000000036A540002BC0200024BFC00021CC8CD +:1073100000034A580002B4FE0002422400036A58E7 +:1073200000024BFE0003F00400034A540002B40FB5 +:107330000002411400036A540002BC0200024BFC2C +:1073400000021CD500034A580002B40F0002411489 +:1073500000036A58000348080002B8100003FF0049 +:10736000000241180001DCE700024BFE0003F004BC +:1073700000034A540002B4F00002411400036A54AE +:107380000002BC0200024BFC00021CE700034A584A +:107390000002B4F00002411400036A5800024BFEE0 +:1073A0000003F00400034A540002B40F000240043A +:1073B00000036A540002BC0200024BFC00021CF4F1 +:1073C00000034A580002B40F0002400400036A5848 +:1073D000000348080002B810000241180001DD0552 +:1073E00000024BFE0003F00400034A540002B4F014 +:1073F0000002400400036A540002BC0200024BFC7D +:107400000003F00400034A580002B4F000024004F4 +:1074100000036A580002BC0800023DC800023D1487 +:107420000003C1DF00024BDE0003F0020002BF00D8 +:1074300000023DF40002BC0200024BDC0003F0023B +:107440000002BF0100023DF40003C1FD0003EC0097 +:107450000002B7FC0002B6330002B5440002B400DB +:10746000000348C80002A0FE0003F0410002B4017E +:107470000002BC020002A0FC0003F0410002B402C2 +:1074800000026114000368C800026005000368C8B8 +:107490000003FF0000024006000368C80002BC02AF +:1074A00000023DC80003EC00000348080002B810C9 +:1074B000000241180001DD3B00024BFE0003F00416 +:1074C000000348980002B47F000242240003689839 +:1074D0000002BB0200024BBF0003F004000348B0EF +:1074E0000002B47F00024224000368B00003493860 +:1074F000000384F20003C044000242240003693800 +:107500000003EC0000034938000384F20002622407 +:1075100000036938000348080002B810000241184F +:107520000003F0010003EC0000024BFE0003F00436 +:10753000000348980002B4800002622400036898A7 +:107540000002BB0200024BBF0003F004000348B07E +:107550000002B48000026224000368B00003EC0063 +:10756000000342490002326600036249000241FE04 +:1075700000021D65000343AE0002B0EF0003FF00F0 +:1075800000024BB000024AB0000249B0000248B00D +:10759000000363AE0002B102000241F100021D705F +:1075A000000343EE0002B0EF0003FF0000024BB007 +:1075B00000024AB0000249B0000248B0000363EE86 +:1075C0000003485400038CF80002622C0003685446 +:1075D000000349740002BCDF0002442C0003C153C5 +:1075E00000023DE800036831000231440002BC1093 +:1075F0000002644C00036831000231440003485427 +:107600000002BC9F0002422C00036854000349742E +:107610000003FF000003C1420003C15300023DE824 +:1076200000036831000241FE00021D93000343AED7 +:107630000002B0100003FF0000026BB000026AB04D +:10764000000269B0000268B0000363AE0002B1023C +:10765000000241F100021D9E000343EE0002B01043 +:107660000003FF0000026BB000026AB0000269B0C4 +:10767000000268B0000363EE0002BC02000247FE95 +:1076800000024CFC00026CC70002B7030002A07F9E +:107690000003F0410003E8C0000348C80002B840FE +:1076A0000002B93F000260080002611C000368C8C4 +:1076B00000024009000368C80003C0CC0002411C5E +:1076C000000368C80002BBFC00024AFE0003F00889 +:1076D000000348210003FF000002655E00036821EB +:1076E00000036A890002455B0003682100036A8980 +:1076F0000002BA0200024AAF0003F0080003482566 +:107700000003FF000002655E0003682500036A8D28 +:107710000002455B0003682500036A8D0003EC004E +:1077200000030CCE0001DDC80003EC0000023DE8C0 +:107730000002B602000368310002B6010003499E50 +:107740000002BC10000264AC0003C15B000368319E +:107750000003499A0002BC02000264AC0003C15B52 +:10776000000368310003FF00000349740002BC10ED +:107770000002642C0003C15300036831000231444D +:107780000003C0CC0002444C0003683100023144C5 +:107790000003C14A0003C15B000368310003EC0031 +:1077A0000003C16E0002B70300024DFE0003F002A9 +:1077B0000002BD020002477D0002BD0200024DFD35 +:1077C0000003F0020002BD010002477D0003EC004F +:1077D0000002B8040002B1020002B08000024FFEB5 +:1077E0000003F0010002B0C000023E420002B103FB +:1077F0000002B00000024FFE0003F0010002B040A2 +:1078000000023E420002B1030002B08000024FFEBF +:107810000003F0010002B0C000023E420002B104C9 +:107820000002B00000024FFE0003F0010002B04071 +:1078300000023E420002B1040002B08000024FFE8E +:107840000003F0010002B0C000023E4200024FFE01 +:107850000003F04700034734000347390003FF00EB +:1078600000036734000367390003F4040003F005E4 +:1078700000034774000347790003FF0000036774A7 +:10788000000367790003EC000002B8040003E8007D +:107890000003E8100003E8200003E83000024FFE78 +:1078A00000021E300003652C0003653000036534C0 +:1078B000000365380003653C0003F4000001DE3579 +:1078C0000003656C00036570000365740003657850 +:1078D0000003657C0002B1060002B00000024FFE0A +:1078E0000003F0010002B04000023E420002B10677 +:1078F0000002B08000024FFE0003F0010002B0C0A1 +:1079000000023E420003EC000002C2080003DC104B +:107910000003D8000003DC110003D8210003D01EAF +:107920000003D05F0002BC070003D41E0003D45F35 +:107930000003FB000003FB000003FB010003FB014D +:107940000003D01E0003D05F00030CCE0001DE4A0E +:107950000003EC000003FF000003FF000003FF0032 +:047960000003FF0021 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/VERDE_me.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/VERDE_me.bin.ihex @@ -0,0 +1,537 @@ +:100000007C40800188000000D440007F7C4080015B +:10001000880000007C40C001CC400028CC40002972 +:100020007C40800188000000D840001EC4100021E0 +:10003000251000029500FFFE7C410001C41C002633 +:10004000C4200024D800001CCC80000BCDC1A0D956 +:10005000CE01A0DAD840001CC4140007954000026D +:10006000D941A2A4C41B0002D800001BCD80001AF5 +:10007000C03E0004CC01A1F4CC3D2004C43D0001ED +:10008000CC000005D840001BD840001F7C408001F8 +:1000900088000000CC412E01CC412E02CC412E0321 +:1000A000CC412E007C408001880000007C40C001D3 +:1000B0008C000527CC412E01CC412E02CC412E03D1 +:1000C0008C00052BCC412E007C4080018800000074 +:1000D0007C40C001C4180030C41C00317DD94002EE +:1000E0007CD6000EC42400159A40FFFF9A0000033E +:1000F000CCC0001480000000C0288000CE81304AAF +:10010000C43C007F24900002C02A00017C40C00152 +:1001100095000003C41400307CD4C00114CC00024C +:10012000CCC125C7D46925C87C4080018800000067 +:100130007C40C00118D001E824CC007F7C41400104 +:10014000505800207D59401A7C418001505C0020AD +:100150007D9D801A7C41C001506000207DE1C01A65 +:100160007C42000125240001CCC00023D1400024A2 +:10017000D1800025D1C00026D84000279640000C31 +:10018000C428002C9A80FFFFC824002D7E5E800CBE +:100190009A80FF9C122C000606EC00010AEC00017C +:1001A0009AC0FFFFD840002780000060C428002CC0 +:1001B0009A80FFFF7C408001880000007C40C001E5 +:1001C000C4100030CC4125CC7D050001CC4125CFA9 +:1001D000CD0125CE7C41400124D0007F1558001070 +:1001E000255400FFCD0125D3CD8125D1CD4125D08A +:1001F000CC4125D27C4140017C41800118DC00309B +:1002000018E0003118E4003218E8003318EC00342C +:10021000CC4125D6CC4125D7CD8125D5CD4125D47E +:10022000C03200049640002196C00002CC3125D98E +:10023000CC3125D89680000496C00002CC3125DB55 +:10024000CC3125DA7C03001196C00003C4310001D3 +:1002500053300020C43500017F37001AD300001648 +:10026000968000087C03801196C00003C439000109 +:1002700053B80020C43D00017FBF801AD38000170F +:1002800095C0FF609AC000047D77000C9700FFE4E2 +:100290008000000051B800207F97801A7F3B800CBF +:1002A0009780FFDF800000009600FF56CC3125CDFF +:1002B000CC80000BC43500019740FFFC7C408001DE +:1002C00088000000C42000267C414001C62703E4CA +:1002D00095400002CC000001CC0000090A64000136 +:1002E000CE6003E47C408001880000007C40C001B7 +:1002F000C016000424D0FFFF7D15000ACC80000B3F +:10030000CC11000018D8003E14DC001FC4210001ED +:100310007C42400195C000057E56800ACC00000B4F +:10032000CC290000C42500017E2600097C42C001C2 +:10033000958000057ED7000ACC00000BCC31000070 +:10034000C42D00017E2E000A2510FFFFCC00000BFB +:10035000CE110000800000007C40C001CC400000B5 +:1003600080000000CC80000BCD41225DCD01225CDD +:10037000CC41A1FC7C40800188000000CC80000BB7 +:10038000CC4122577C40800188000000CC41225C97 +:10039000CC41A1FC7C40800188000000C00E00011F +:1003A000CC41225CCC41A1FCD44DA1FD7C4080011C +:1003B00088000000CC80000BCC41225D7C40800195 +:1003C00088000000084C00017C410001CC80000B3B +:1003D0007C4140012558FFFF195C03F015600015B2 +:1003E000CD81A102CDC12256CE01225C94C0000471 +:1003F000CD01A1FC08CC0001800000F4CD01A1FCDE +:10040000CC01A1027C408001880000007C4080017A +:10041000C02A00027C40C0017C4100017D29000A05 +:100420002494000124980006249C030015DC000895 +:100430007C4200017C424001C02E0004CC80000BB5 +:100440009540000C05F022587F2F000ACC310000A7 +:10045000C4290001CCC12169CD01216ACE81216B63 +:1004600031B40002CC01216C9740000A8000012EBB +:1004700031B4000297400007C02E000405F0225856 +:100480007F2F000ACC310000C42900018000012E1A +:1004900031B40000974000037E0280018000012EED +:1004A00031B400049740FED722640030CE01216DA4 +:1004B000CE41216EC42A0000C42C000931F0000096 +:1004C00031F4000131F800029AC000028C000323CD +:1004D000DA81A2A497000003CE81A2B780000000B9 +:1004E00097400003CE81A2BB8000000097800003EC +:1004F000CE81A2BF80000000CE81A2C38000000098 +:10050000041800008000014304180001C4240026E0 +:100510007C40C001C66B03E418D0003024D400FF37 +:1005200006A80001CEA403E49A400012C4380007D4 +:10053000D840001EC43C002127FC000297C0FFFEEB +:10054000CC80000B97800002D941A2A4C43F0002D6 +:10055000CFC0001AC03E0004CC01A1F4CC3D200461 +:10056000C4390001CC000005D840001FCD41A0DAFD +:10057000CC80000BCD412E1499800002CC000002EB +:10058000CD4000087C408001880000007C40C00114 +:1005900018D001E818D4003018D800340528016BB1 +:1005A0007C4200017C4240019500000786800000EB +:1005B00080000185800001A9800001BF8000052323 +:1005C0008000017B115400107E16000ACC80000BC5 +:1005D000D46100009580FE8BC03A0004CC392140E4 +:1005E000C43900017C4080018800000011540010D3 +:1005F000526400207E26001ACD40001DD462000007 +:100600009580FE80C420001D9A00FFFF7C40800181 +:1006100088000000DC3A00009940001B279C000184 +:1006200095C0000D0BB80001CE012169CE41216AB1 +:10063000CC41216BCC01216C9B8000039580FE7125 +:100640008000019D526400207E26001A462000048E +:100650005624002022640032CE012169CE41216A55 +:100660000BB80002CC41216BCC41216C9B80FFFD7B +:100670009580FE64C43000199700FFFF7C40800124 +:10068000880000000BB80001CE012169CE41216A2B +:10069000CC41216BCC01216C9B80FFFB9580FE59E6 +:1006A0008000019D526400207E26001A9940000AB5 +:1006B000D200002BD440002CD840002D8C000534F3 +:1006C0009580FE50C438002F9B80FFFF7C40800146 +:1006D00088000000DC3600000B740001D200002B03 +:1006E000CC40002CD840002D8C0005349B40FFFBF3 +:1006F0009980FFF57C40800188000000C41C003018 +:10070000C02A00017E1E000116200002CE0125C76E +:10071000D46925C89580FE3BC03A0004CC3925CB6E +:10072000C43900017C408001880000007C40C00189 +:100730007C4100011914003D9940000AC41C000DC1 +:1007400095C0FFFFCCC12100CD012101CCC1210208 +:10075000CD012103D901A2A47C40800188000000C2 +:10076000CCC12175CD012176C420000E9600FFFF7B +:1007700032280002322C00039A8000049AC000053F +:10078000CC00000C80000000CC00000C800001D8E0 +:10079000C03E0004CC3D307EC43D000133E8000182 +:1007A00097C0FE189A80033D04384000CC00000139 +:1007B000CF81304A800005267C40C0017C41000189 +:1007C00040D40003CD41225CCD01A1FCC01E00013C +:1007D0007C42000108CC000106240001062800022A +:1007E000CE1DA1FDCE5DA1FDCE9DA1FD98C0FFF95E +:1007F0007C408001880000007C40C00124D00001C2 +:1008000014CC00017C4140017C418001CC80000B74 +:100810009500000621980030CD41216DCD81216EDB +:10082000C41E00008000020EC02200047E16000AD2 +:10083000CC210000C41D00017C4240017C428001AB +:1008400098C00003CDE5000080000000CE41216982 +:10085000CE81216ACDC1216BCC01216C7C4080010D +:10086000880000007C40C0017C4100017C414001C7 +:100870007C4180017C41C00118A41FE83268003C23 +:1008800004200001968000087C4200013A300003F9 +:10089000422000029B0000020420004004240001CA +:1008A0008000022A7E0240010A6400019A40FFFF94 +:1008B00024EC0010CC80000B9AC00009C02A000470 +:1008C000C42C00107E92800ACC000001CC290000CC +:1008D000CEC00010C43100018000023B2154003022 +:1008E000CD01216DCD41216EC43200007F1F000972 +:1008F00024F400070778023F974000278780000014 +:10090000800002478000024C8000025180000256A5 +:100910008000025B80000260800002657F1B800F08 +:1009200014A400089780001D266400FF8000027652 +:100930007F1B800E14A4000897800018266400FF17 +:10094000800002767F1B800C14A400089B8000139B +:10095000266400FF800002767F1B800D14A400082F +:100960009B80000E266400FF800002767F1B800FB4 +:1009700014A400089B800009266400FF8000027612 +:100980007F1B800E14A400089B800004266400FFD7 +:100990008000027614A40008266400FF3268003C40 +:1009A00014EC00089A80FD977C4340017C43800151 +:1009B0007C43C001CC00000B96C00006CF412169EA +:1009C000CF81216ACFC1216BCC01216C8000000056 +:1009D000CFF50000800000003268003C9A80FFB331 +:1009E000D440007F800000007C40C0017C410001B9 +:1009F000C01E000115140012C0220002C02600040F +:100A000095400004C027FFFB7D250009C02600009B +:100A10007DD280097E12C0097D25000A7C414001FB +:100A20007C418001CCC12169CD01216A9A800007F7 +:100A3000CD41216BCD81216C96C0FD72C43000196F +:100A40009700FFFF80000000C814001855580020D0 +:100A5000CD41216BCD81216C96C0FD6A8000028F53 +:100A60007C4100017C414001CC400003CC400004AB +:100A7000CC0003E4CC0003E5CC0003E6C00E80000C +:100A80007C4240017C428001800000007C40C0012B +:100A900018D001E8052802A91CCCFE08CC80000B68 +:100AA0009500000986800000800002B4800002C327 +:100AB000800002CA800002D1800002D7800002E3D9 +:100AC00080000301CCC1A2A47C408001880000000A +:100AD000C01208007C4140017C4200017D0CC00A2C +:100AE000C012000415580003155C000D7DD1C0092B +:100AF000122000137E1E400A7E4E800ACE81A2A4E0 +:100B0000CD81A1FE7C4080018800000004102118E6 +:100B1000C414000B9540FFFFD4510000CCC1A2A427 +:100B20007C4080018800000004102106C414000CE1 +:100B30009540FFFFD4510000CCC1A2A47C408001AD +:100B400088000000D840000FCCC1A2A4C410000F40 +:100B50009900FFFF7C4080018800000018D000341D +:100B600011140014C424000D9640FFFFCC41210055 +:100B70007D45400ACD412101CC412102CC412103D8 +:100B8000CCC1A2A47C4080018800000024D80001D0 +:100B90007C4100017C414001119C00107C4200011D +:100BA0007D5D400A1564001D2664000295800009E1 +:100BB000C43C001F97C0FFFF9A40000DC4280030BE +:100BC00016A800027E2A0001CC000015800002FB5E +:100BD000C43C002097C0FFFF9A400005C4280030A5 +:100BE00016A800027E2A0001CC000015CD01215874 +:100BF000CD412159CE01215ACCC1A2A47C40800113 +:100C00008800000018D000341114001424D8003FCC +:100C10009500FFADC424000D9640FFFF359C0006F3 +:100C2000CC012100CD412101CC012102CC012103C5 +:100C300099C00003D901A2A4800000000420001480 +:100C4000CE01A2A47C408001880000007C40C0014D +:100C500014D0001D18D4003C24D80001C41C002569 +:100C60009900000280000000994000039580000276 +:100C7000CDC00008CD40001C800000007C40C001B9 +:100C80008C0003237C40800188000000D840001EB7 +:100C9000C43C002127FC000297C0FFFECC80000B63 +:100CA000D941A2A4C43F0002CFC0001AC03E000434 +:100CB000CC01A1F4CC3D2004C43D0001CC000005D2 +:100CC000D840001F900000007C40C001043C00227E +:100CD000CC80000BCFC1A2A4CC0000067C408001D8 +:100CE00088000000C01200017C51400ACC80000B3B +:100CF000D45500007C408001880000007C40C00189 +:100D0000505000207CD0C01A551C003F7C4140014F +:100D10007C418001CC80000BD0C0008395C00003D3 +:100D2000C01C8000CDC120109580FCB68C0005272A +:100D3000DD830000055C2000CC00000BD45D0000CA +:100D40008000052F7C40C001505000207CD0C01A8C +:100D50007C4140017C418001CC80000BD0C00084EC +:100D60009580FCA88C000527DD830000055CA000B1 +:100D7000D45D00008000052F7C40C0015050002051 +:100D80007CD0C01A7C4140017C418001CC80000BAA +:100D9000D0C000859580FC9B8C000527DD8300007A +:100DA000055C2C00D45D00008000052FCC80000B7A +:100DB000D44320007C40800188000000CC80000BE0 +:100DC000D443A0007C40800188000000CC80000B50 +:100DD000D4432C007C408001880000007C40C0018E +:100DE0008C0005277C4100017C41400194C0000239 +:100DF0007C4180017C41C0017C4200018C00052BBC +:100E00009500000A95400009CC80000BCC432C00D3 +:100E1000CDC32C00CC80000BCC432C00CE032C0087 +:100E20007C40800188000000C424001ECC40007F6C +:100E3000CC40007F1A6800307C4080017C40C001BB +:100E40009680FC70D880002E7C40800188000000D5 +:100E5000CC80000BCC43A0007C40C00104180001F2 +:100E6000DD8300008C000527D443A0008000052FFF +:100E7000248CFFFFCC80000BD44D00007C4080010F +:100E8000CC80000B880000007C40C00118D40030EA +:100E900018D001E818FC003424CC000F04E803ABA0 +:100EA0007C4180017C41C00194C0004A86800000E2 +:100EB000800003C3800003CB800003D4800003E3E1 +:100EC000800003B6800003B9800003BB800003BD2F +:100ED000800003BF800003C151DC00207D9E001A0A +:100EE00080000402C820002D80000402C8200016E3 +:100EF00080000402C820001780000402C8200018E7 +:100F000080000402C82000328000040299400003DF +:100F100021DC0030800003C721DC0050CD81216D31 +:100F2000CDC1216EC82200008000040251DC0020E7 +:100F30007D9D801AD8000023D1800024D84000274E +:100F4000C428002C9A80FFFFC820002E80000402D5 +:100F5000C41C0030C03200047D9D80011598000241 +:100F6000CD8125C2CC3125C395400003CC80000B38 +:100F7000CC3125C3C421000195400024C4250001C3 +:100F8000526400207E26001A8000040231AC080062 +:100F9000C434001096C00003CC000001800003F5AB +:100FA00039AC0A7C3DB00A779AC000049700000370 +:100FB000CC000001800003F539AC0ADC3DB00AD951 +:100FC0009AC0000397000002CC000001800003F5E6 +:100FD000C4340010CC80000BC03A00047DB9800AF4 +:100FE000CC1900009540000305980001CC190000C1 +:100FF000C421000195400005C42500015264002071 +:101000007E26001ACF400010052804067C4180018E +:101010007C41C001950000078680000080000437F5 +:10102000800004418000044F8000041A8000042CDA +:10103000C4340010CC80000BCE1900009540000491 +:101040000598000156200020CE19000097C0FBED46 +:10105000C03A0004CC392140C4390001CF4000100F +:101060007C4080018800000031AC0800C4340010CE +:1010700096C00003CC0000018000040D39AC0A7C4E +:101080003DB00A77C43400109AC0000497000003F2 +:10109000CC0000018000040D39AC0ADC3DB00AD957 +:1010A0009AC0000397000002CC0000018000040DEC +:1010B00051DC00207D9D801AD800001DCE1A000052 +:1010C000954000040598000456200020CE1A000028 +:1010D0009BC000907C408001880000009540000289 +:1010E00021DC003256240020CD812169CDC1216A46 +:1010F000CE01216BCE41216C9BC0FE517C40800112 +:101100008800000051DC00207D9D801AD180002BDA +:10111000CE00002C9540000356240020CE40002C29 +:10112000D840002D8C00053497C0FBB6C438002F82 +:101130009B80FFFF7C40800188000000C41C0030C1 +:10114000C02A00017D9D800115980002CD8125C730 +:10115000CE2925C89540000356240020CE6925C815 +:1011600097C0FBA8C03A0004CC3925CBC439000194 +:101170007C40800188000000C414001C3D5800041D +:101180009980FFFECC00000D7C40C00128508000FB +:101190001514001F1918007D191C0074C42000309C +:1011A0003198000131DC0001958000027CE0C00133 +:1011B0007C42400195C000027E624001CCC121808A +:1011C000CD012181CE412182CC412183CC4121849A +:1011D0009540FB8CC414001C9940FFFF7C408001AB +:1011E00088000000C0160004C4100026CC80000B4C +:1011F000CC552140C4190001CC1003F77C4080017C +:1012000088000000C4200026D800001EC40C002165 +:1012100024CC000194C0FFFEC62703E47C40C0013B +:10122000CC80000BCCC1217CCC41217DC418002492 +:101230007C4100017C41400196400002CD81217A31 +:10124000CD01217EC03600C0C02A00047F4F400976 +:10125000115C000105DC000197400014CC29217FBE +:10126000C42500011A6C003E96C00007115C000105 +:1012700005DC000109DC000199C0FFFFCC80000BF8 +:101280008000049717740017282C00609B40000210 +:10129000282C0040CEC00023D8400027C434002CA6 +:1012A0009B40FFFF800004AF09DC000199C0FFFFF5 +:1012B000CC80000BCC29217FC4250001166C001FB7 +:1012C000115C000105DC00019AC0FFF814FC001F4E +:1012D000D800001F9BC0FB4BC4100026CC1003F7A6 +:1012E0007C408001880000007C40C0017C410001FE +:1012F0001518001F51140020191C00319980000896 +:10130000CD00001D7D4D401AD456000095C0FB3D18 +:10131000C420001D9A00FFFF80000000DC3A00009E +:10132000C0260004CCC121697D25000ACD01216AB7 +:101330000BB80002CC41216BCC41216C9B80FFFD9E +:1013400099C0FDBF7C40800188000000244C00FF54 +:10135000CC4C03007C40800188000000C4200026A3 +:10136000C44F0300CC80000BCCE12145800000007D +:10137000CC80000BDAC1A2A47C40C0017C4080017B +:1013800088000000C40C001A98C00003D840002F49 +:10139000800004E1D84000307C4100017D01400123 +:1013A0001554000125540001994000092510000141 +:1013B0009500FB14C814003495400005C818001BA4 +:1013C000958000037D95C00E95C0FB0EC8200033AC +:1013D000D2000032D800001EC420002126200001C7 +:1013E0009600FFFEC0260840CE41217CCC01217D25 +:1013F000C4280024CE81217ACC01217EC02A000499 +:1014000004140004415C0008282C0040CEC00023D6 +:10141000D840002709DC000199C0FFFFCC80000BF9 +:10142000CC29217FC4250001166C001F415C0002FD +:101430009AC0FFF9C434002C9B40FFFFD800001F66 +:101440007C40800188000000C40C001330D00001F3 +:1014500095000003CC80000BDB01A2A4CC40000E61 +:10146000C40C0012C410001330D400003D18000159 +:101470007D59C00AD840003199C0FFFAD840001306 +:10148000D00000327C40800188000000C00E0100C6 +:10149000CC000001CCC1304A80000526D8400011A4 +:1014A000C43C001197C0FFFD90000000D80000115F +:1014B000C43C00119BC0FFF990000000D80000114F +:1014C000C43C00119BC0FFF57C40800188000000F7 +:1014D000D880001EC43C002127FC000497C0FFFEFA +:1014E000C038002FC03E0004CF8121F8CC3D21F947 +:1014F000C4380026043C00057FFB8002C43D000187 +:101500007FFBC00527FC00019BC0FFF6D880001FB1 +:10151000900000000000000000000000000000003B +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:102000000001039C00100002001100050012000AEC +:10201000001500250016002B001700B1001B00342E +:10202000001C0041001D006F001E004C002100BB81 +:10203000002400D9002500D9002700E3002800D69D +:10204000002A00DF002C00D9002D00E3002E00E75D +:10205000002F00ED003000F1003201420034010396 +:10206000003500E300370163003800D9003901CBA7 +:10207000003A01EE003B01FE003C0219003D027AED +:10208000003F0140004003A20041045E0042047989 +:10209000004304810044029800450219004602A34F +:1020A000004702A3004802A3004A03130052031F83 +:1020B0000053033200570339005F035E0060033FA3 +:1020C000006103510068036B0069036F00720377BE +:1020D000007303940076037300770373007A04BAE5 +:1020E000007D04D3007E04D7008504DC008604E173 +:1020F000008A0512008B0512000F0523000F05232F +:10210000000F0523000F0523000F0523000F0523F3 +:10211000000F0523000F0523000F0523000F0523E3 +:10212000000F0523000F0523000F0523000F0523D3 +:10213000000F0523000F0523000F0523000F0523C3 +:10214000000F0523000F0523000F0523000F0523B3 +:10215000000F0523000F0523000F0523000F0523A3 +:10216000000F0523000F0523000F0523000F052393 +:10217000000F0523000F0523000F0523000F052383 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/ARUBA_me.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/ARUBA_me.bin.ihex @@ -0,0 +1,545 @@ +:10000000C4080031C00E0001C01000079880000C29 +:100010000414040004180000D800004DD801A0DA30 +:10002000D801A0D909100001D800004DCD95A1F448 +:1000300005540400059800019900FFFB7C408001F5 +:10004000CC80004D88000000D440007F8000000F6D +:10005000D840005DC410002C251000029500FFFE62 +:10006000248C00027C410001C41C0031C420002FFC +:10007000D8000057CDC1A0D9CE01A0DAD840005792 +:1000800098C0000FC414000995400002D941A2A4F1 +:10009000C41B002AD8000056CD800054C03E000486 +:1000A000CC01A1F4CC3D2004C43D0003CC000047AA +:1000B000D8400056D840005E8000000FC40C000AF3 +:1000C000043C002394C00002CFC1A2A4C41B002B97 +:1000D000D8000056CD800055C03E0004CC01A1F3ED +:1000E000CC3D2004C43D0003CC000049D84000565C +:1000F000D840005E8000000F043C0023CFC1A2A4C2 +:10010000CC00004BD8000055CC4000638000000FAD +:10011000CC000046CC00004BCC412264CC4122658F +:10012000CC412266CC41A2DD7C408001CC80004DD8 +:1001300088000000CC400046CC00004B8C0005A499 +:10014000CC412264CC412265CC4122668C0005A8BA +:10015000CC41A2DD7C408001CC80004D88000000B5 +:10016000C42000317C40C001C62703E4CC000062FB +:100170000A640001CE6003E494C0FFB1CC000041EA +:100180008000000F7C40C001C016000424D0FFFF97 +:100190007D15000ACC11000018D8003E14DC001FA9 +:1001A000C42100037C42400195C00005CC00004DF5 +:1001B0007E56800ACC290000C42500037E26000953 +:1001C0007C42C00195800005CC00004D7ED7000A1E +:1001D000CC310000C42D00037E2E000ACC00004D5F +:1001E0002510FFFFCE1100008000000F7C40C001F1 +:1001F000CC4000408000000F7C40C0017C40C0012A +:10020000CD41225DCC400045CC00004ACD01225CAE +:10021000CC41A1FC7C408001CC80004D88000000D6 +:100220007C40C0017C40C001CD41225DCC400045F6 +:10023000CC00004ACD01225CCC41A1FC7C40800175 +:10024000CC80004D88000000CC4122578000000F78 +:100250007C418001CC400045CC40004ACC41225C2E +:10026000CC41A1FC7C408001CC80004D8800000086 +:10027000CC000045CC00004ACC41225CCC41A1FC22 +:100280007C408001CC80004D88000000C00E000141 +:10029000CC000045CC00004ACC41225CCC41A1FC02 +:1002A000D44DA1FD7C408001CC80004D8800000031 +:1002B000CC41225D8000000FCC000045CC00004AFC +:1002C000084C00017C4100017C4140012558FFFFA2 +:1002D000195C03F015600015CD81A102CDC1225635 +:1002E000CE01225C2924002094C00004CE41A1FC50 +:1002F00008CC0001800000B2CD01A1FCCC01A1021C +:100300007C408001CC80004D880000007C40800152 +:100310007C40C001C02A00027C4100017D29000A06 +:100320002494000124980006249C030015DC000896 +:100330007C4200017C424001C02E00049540000D2B +:1003400005F022587F2F000ACC310000C429000399 +:10035000CCC12169CD01216ACE81216B31B400026B +:10036000CC01216C9740000CC434000D800000F0DB +:1003700031B4000297400008C02E000405F0225856 +:100380007F2F000ACC310000C4290003C434000DC3 +:10039000800000F031B40000974000047E0280012C +:1003A000C434000D800000F031B400049740FF24F5 +:1003B000CE01216DCE41216EC42A0002C434000D4D +:1003C0009B400003CC00004D8C00037B31F4000007 +:1003D000C02E00049740000CCE81A2B7CC2DA2B64F +:1003E000C42D0003C03000067EF34014C03000204E +:1003F0007F6B80117FB3C015CF81A2C4CFC1A2D1C2 +:100400008000000F31F40001C02E00049740000C62 +:10041000CE81A2BBCC2DA2BAC42D0003C0300006F1 +:100420007EF34014C03000207F6B80117FB3C01575 +:10043000CF81A2C5CFC1A2D28000000F31F400024B +:10044000C02E00049740000CCE81A2BFCC2DA2BECE +:10045000C42D0003C03000067EF34014C0300020DD +:100460007F6B80117FB3C015CF81A2C6CFC1A2D34D +:100470008000000FC02E0004CE81A2C3CC2DA2C2EA +:10048000C42D0003C03000067EF34014C0300020AD +:100490007F6B80117FB3C015CF81A2C7CFC1A2D41B +:1004A0008000000F041800008000012C04180001D7 +:1004B000C42400317C40C001C66B03E418D0003076 +:1004C00024D400FF06A80001CEA403E49A40001241 +:1004D000C4380009D840005DC43C002C27FC000251 +:1004E00097C0FFFECC80004D97800002D941A2A4A6 +:1004F000C43F002ACFC00054C03E0004CC01A1F488 +:10050000CC3D2004C43D0003CC000047D840005E31 +:10051000CD41A0DAC420003296000013D840005329 +:10052000C438000AD840005DC43C002C27FC0002FF +:1005300097C0FFFE97800003043C0023CFC1A2A414 +:10054000C43F002BCFC00055C03E0004CC01A1F336 +:10055000CC3D2004C43D0003CC000049D840005EDF +:10056000CD41A0DA99800002CC000042CD4000616C +:100570008000000FD80000487C40C001C424003136 +:1005800024D400FF9A400003D8000054D80000474C +:10059000C420003296000004D8400053D800005513 +:1005A000D8000049D8400064CD4000618000000FB1 +:1005B0007C40C00118D001E818D4003018D80034AD +:1005C000052801747C4200017C424001950000072F +:1005D000868000008000018E800005A0800001B2AE +:1005E000800005A080000184115400107E16000ACE +:1005F000CC80004DD46100009580FE91C03A00048B +:10060000CC392140C43900037C40800188000000BF +:1006100011540010522400207E26001ACD400058AC +:10062000D46200009580FE86C420001C9A00FFFF63 +:100630007C40800188000000DC3A00009940001BEB +:10064000279C000195C0000D0BB80001CE01216967 +:10065000CE41216ACC41216BCC01216C9B800003EF +:100660009580FE77800001A6526400207E26001A45 +:10067000462000045624002022640032CE01216965 +:10068000CE41216A0BB80002CC41216BCC41216CD8 +:100690009B80FFFD9580FE6AC43000159700FFFF28 +:1006A0007C408001880000000BB80001CE01216968 +:1006B000CE41216ACC41216BCC01216C9B80FFFB98 +:1006C0009580FE5F800001A616200002C02A00016E +:1006D000CE0125C7D46925C89580FE59C03A0004CB +:1006E000CC3925CBC43900037C4080018800000050 +:1006F0007C40C0017C4100011914003D9940000973 +:10070000C41C001295C0FFFFCCC12100CD01210106 +:10071000CCC12102CD012103D901A2A48000000F88 +:100720002518100095800004C41C001231E400401C +:100730009640FFFECCC12175CD012176C420001367 +:100740009600FFFF162800019A800003CC00004E9F +:100750008000000FCC00004ECCC12175800001CE7E +:100760007C40C0017C410001CC000045CC00004A27 +:1007700040D40003CD41225CCD01A1FCC01E00018C +:100780007C42000108CC000106240001062800027A +:10079000CE1DA1FDCE5DA1FDCE9DA1FD98C0FFF9AE +:1007A0007C408001CC80004D880000007C40C0016E +:1007B00024D0000114CC00017C4140017C41800127 +:1007C00095000005CD41216DCD81216EC41E000232 +:1007D000800001F9C02200047E16000ACC2100002E +:1007E000C41D00037C4240017C42800198C000038C +:1007F000CDE500008000000FCE412169CE81216A45 +:10080000CDC1216BCC01216C8000000F7C40C00168 +:100810007C4100017C4140017C4180017C41C00160 +:1008200018A41FE83268003C0420000196800008EC +:100830007C4200013A300003422000029B0000028B +:100840000420004004240001800002147E024001C4 +:100850000A6400019A40FFFF24EC0010CC00004D18 +:100860009AC00009C02A0004C42C00177E92800A96 +:10087000CC000041CC290000CEC00017C4310003D9 +:1008800080000224CD01216DCD41216EC4320002D1 +:100890007F1F000924F400070778022897400027EB +:1008A0008780000080000230800002358000023A1C +:1008B0008000023F80000244800002498000024E16 +:1008C0007F1B800F14A400089780001D266400FF82 +:1008D0008000025F7F1B800E14A400089780001820 +:1008E000266400FF8000025F7F1B800C14A40008B8 +:1008F0009B800013266400FF8000025F7F1B800D39 +:1009000014A400089B80000E266400FF8000025F94 +:100910007F1B800F14A400089B800009266400FF41 +:100920008000025F7F1B800E14A400089B800004DF +:10093000266400FF8000025F14A40008266400FF04 +:100940003268003C14EC00089A80FDBD7C434001F5 +:100950007C4380017C43C001CC00004D96C0000662 +:10096000CF412169CF81216ACFC1216BCC01216C9C +:100970008000000FCFF500008000000F3268003CBF +:100980009A80FFB4D440007F8000000F7C40C001FB +:100990007C410001C01E000115140012C02200029B +:1009A000C026000495400004C027FFFB7D250009F8 +:1009B000C02600007DD280097E12C0097D25000A74 +:1009C0007C4140017C418001CCC12169CD01216A7B +:1009D0009A800007CD41216BCD81216C96C0FD9896 +:1009E000C43000159700FFFF8000000FC8140014EA +:1009F00055580020CD41216BCD81216C96C0FD90D2 +:100A0000800002787C4100017C414001CC400043E1 +:100A1000CC400044CC0003E4CC0003E5CC0003E66A +:100A2000C00E80007C4240017C42800116AC001F59 +:100A3000C035F00096C0FD82CE4003E0267800036A +:100A4000127C00087FF7C0097FFBC00A16780018E7 +:100A5000CFC003E1CF8003E212B000027F3F00016C +:100A6000CF0003E37C80C0018000048F7C40C00184 +:100A700018D001E80528029F950000088680000034 +:100A8000800002A8800002B6800002BC800002C282 +:100A9000800002C7800002CDCCC1A2A48000000F5C +:100AA000C01208007C4140017C4200017D0CC00A5C +:100AB000C012000415580003155C000D7DD1C0095B +:100AC000122000137E1E400A7E4E800ACE81A2A410 +:100AD000CD81A1FE8000000F04102118C414001065 +:100AE0009540FFFFD4510000CCC1A2A48000000FAC +:100AF00004102106C41400119540FFFFD4510000DA +:100B0000CCC1A2A48000000FD8400016CCC1A2A482 +:100B1000C41000169900FFFF8000000F0410210090 +:100B2000C41400129540FFFFD4510000CCC1A2A410 +:100B30008000000F24D800017C4100017C4140016D +:100B40007C4200019580000611980010C41C000A28 +:100B5000C43C002797C0FFFF800002DB1198001003 +:100B6000C41C0009C43C002897C0FFFF1568001D85 +:100B70007D59400A11E4000A9A8000037E26000A8B +:100B8000CDC0005CCD012158CD412159CE01215A63 +:100B9000CCC1A2A48000000F7C40C00114D0001D75 +:100BA00014D4001C990000069540FD25C0260004C1 +:100BB000CC252154C42900038000000FCD400057EC +:100BC0008000000F2474000124780002C40C001F70 +:100BD0009B4000028C00037BC41400210410001011 +:100BE0009B8000028C000395CCC1A250CD01A05087 +:100BF000041804008C000344CC000059C43C0023BA +:100C0000C410001F8C000354C41C002525DC000107 +:100C1000C838002695C00005C43C002347B80550DD +:100C2000CC000058CFFA0000C424001D9A40FFFFFA +:100C300004300001C42800193EA80004C42C001A86 +:100C40007EAE800A9A80FFFCCF00005150D8000889 +:100C500014DC001829DC8000CD812180CDC12181E8 +:100C600051200008152400181330001E7E72400A1F +:100C7000CE012182CE412183CD4121847C4080015F +:100C8000CC80004D8800000024740001247800020C +:100C9000C40C00209B4000028C00037BC414002283 +:100CA000041000109B8000028C000395CCC1A26050 +:100CB000CD01A060041809808C000344CC00005AC8 +:100CC000C43C0024C41000208C000354C41C002524 +:100CD00025DC0001C838002695C00005C43C00246E +:100CE00047B80554CC000058CFFA0000C424001EB9 +:100CF0009A40FFFFC42800193EA80004C42C001B22 +:100D00007EAE800A9A80FFFC04300002800003124D +:100D10000598C00010DC000814E00018CDD90000D0 +:100D2000C41C0018CDD90001C42400187E62400AFA +:100D3000CE590002C41C0018C4200018C424001896 +:100D4000CDD90003CE190004CE5900079000000051 +:100D50001BF800F0C0360800C03000809780000209 +:100D600090000000D800005DC438002C27B80001B6 +:100D70009780FFFEC02A0004C418002FCF41217CB9 +:100D8000CF01217DCD81217ACD01217E042400086F +:100D90000A6400019A40FFFFCC29217FC42100038F +:100DA0001638001F04240008CC80004D9B80FFF9FA +:100DB000D800005E900000007C410001C424001AAD +:100DC0009A40FFFF8000000F7C410001C424001BFB +:100DD0009A40FFFF8000000F7C40C0018C00037B25 +:100DE0007C408001CC80004D88000000D840005D30 +:100DF000C43C002C27FC000297C0FFFED941A2A4EE +:100E0000C43F002ACFC00054C03E0004CC01A1F46E +:100E1000CC3D2004C43D0003CC000047D840005E18 +:100E200090000000C41000317C40C0019500000516 +:100E3000D9C1A2A4D8400016C41000169900FFFF23 +:100E4000CC80004D8C0003957C408001CC80004D0F +:100E500088000000043C0022CFC1A2A4CC000048BE +:100E6000900000007C40C0018C00039E7C4080010B +:100E7000CC80004D88000000D840005DC43C002CB0 +:100E800027FC000297C0FFFE043C0023CFC1A2A4B0 +:100E9000C43F002BCFC00055C03E0004CC01A1F3DD +:100EA000CC3D2004C43D0003CC000049D840005E86 +:100EB00090000000C01200017C51400AD45500008F +:100EC0008000000FCC40005BC4380023C43C0024E9 +:100ED000C035E000C03200047FB780097FF7C00949 +:100EE0002BB810002BFC1000CF812154CFC121550D +:100EF000CC312154C42D0003C41C001B99C0FFFF3A +:100F0000C424001A9A40FFFF8000000F7C40C001FB +:100F10007C4100011928003096800006C424001D81 +:100F20009A40FFFFC424001E9A40FFFFCC0003F745 +:100F3000511000207CD0C01A551C003F7C4140015C +:100F40007C418001D0C0010795C00003C01C800017 +:100F5000CDC120109580FC3A8C0005A4DD830000F3 +:100F6000055C2000CC00004DD45D0000800005AC85 +:100F70007C40C001505000207CD0C01A7C41400110 +:100F80007C418001D0C001089580FC2D8C0005A417 +:100F9000DD830000055CA000D45D0000800005AC8E +:100FA0007C40C001505000207CD0C01A7C414001E0 +:100FB0007C418001D0C001099580FC218C0005A4F2 +:100FC000DD830000055CE940D45D0000800005ACD5 +:100FD0007C40C001505000207CD0C01A7C414001B0 +:100FE0007C418001D0C0010A9580FC158C0005A4CD +:100FF000DD830000055CE880D45D0000800005AC66 +:101000007C40C001505000207CD0C01A7C4140017F +:101010007C418001D0C0010B9580FC098C0005A4A7 +:10102000DD830000055CC000D45D0000800005ACDD +:101030007C40C001505000207CD0C01A7C4140014F +:101040007C418001D0C0010C9580FBFD8C0005A483 +:10105000DD830000055CF000D45D0000800005AC7D +:101060007C40C001505000207CD0C01A7C4140011F +:101070007C418001D0C0010D9580FBF18C0005A45E +:10108000DD830000055CF3FCD45D0000800005AC4E +:10109000D44320007C408001CC80004D88000000BB +:1010A000D443A0007C408001CC80004D880000002B +:1010B000D443E9407C408001CC80004D8800000092 +:1010C000D443E8807C408001CC80004D8800000043 +:1010D000D443C0007C408001CC80004D88000000DB +:1010E000D443F0007C408001CC80004D880000009B +:1010F000D443F3FC7C408001CC80004D880000008C +:10110000CC43A0007C40C0018C0005A4CC43A000CF +:101110008C0005A87C408001CC80004D8800000038 +:10112000CC43C0007C40C0018C0005A4CC43C0006F +:101130008C0005A87C408001CC80004D8800000018 +:101140007C40C0017C4100017C41400194C0000210 +:101150007C418001CC03F3FCCC43F3FCCC43F3FC97 +:101160007C408001CC80004D88000000C01E001033 +:10117000C40C001F50D00008105400027D158011CF +:1011800080000467C01E0020C40C002050D000085E +:1011900008540400115400027D518011CDC0005844 +:1011A000D45A00007C408001CC80004D88000000B3 +:1011B0007C40C00124D00003112800019500000AE2 +:1011C00006A804717C418001868000007C41C0013A +:1011D0008000047F7C41C001800004857C41C00107 +:1011E0008000048A7C4180017C41C00114D400103D +:1011F0000554A000CD9500008000000FC02200041F +:101200000598A0007DA1800ACC190000C419000334 +:101210008000047BC0220004CD8125C2CC2125C3DF +:10122000C41900038000047BCD81216DCDC1216EE6 +:10123000C41A00028000047B7C40C001C41303E098 +:10124000C41703E3C41B03E1C41F03E2CD8121697A +:10125000CDC1216ACCC1216BCC01216C04200004DA +:101260007DA180017D96400CCD8003E19640FB740A +:1012700025280003C02DF000111800087DAD80095D +:101280007DA9800ACD8003E18000000F248CFFFF40 +:10129000D44D00007C408001CC80004D88000000CF +:1012A0007C40C00118D4003018D001E818FC00348C +:1012B00024CC000F04E804B17C4180017C41C001D2 +:1012C00094C0003286800000800004BA800005A02F +:1012D000800004C5800004D1800004B751DC0020E8 +:1012E0007D9E001A800004F3CD81216DCDC1216E59 +:1012F00005980004C422000295400035CD81216D7F +:10130000CDC1216EC4260002526400207E26001A40 +:10131000800004F315980002C0320004CD8125C27C +:10132000CC3125C3C421000395400029CC80004D59 +:10133000CC3125C3C4250003526400207E26001A48 +:10134000800004F331AC0800C434001796C00003D9 +:10135000CC000041800004E8042C000004300000B0 +:101360009AC0000497000003CC000041800004E80C +:10137000042C0000043000009AC000039700000213 +:10138000CC000041800004E839AC07063DB00700FE +:10139000C43400179AC0000397000002CC0000413B +:1013A000C03A00047DB9800ACC19000005980001FC +:1013B000C421000395400005CC190000C42500039A +:1013C000526400207E26001ACF400017CC80004DCA +:1013D000052804F87C4180017C41C001950000078C +:1013E000868000008000052E800005A08000053961 +:1013F000800005118000052239AC07063DB00700CA +:10140000C43400179AC0000397000002CC000041CA +:10141000CE190000954000040598000156240020D4 +:10142000CE59000097C00004C03A0004CC392140D6 +:10143000C4390003CF4000177C408001CC80004DB0 +:101440008800000031AC0800C434001796C00003C7 +:10145000CC00004180000504042C00000430000092 +:101460009AC0000497000003CC00004180000504EE +:10147000042C0000043000009AC000039700000212 +:10148000CC00004180000504519C00207D9D801A05 +:10149000D8000058CE1A00009540000405980004BA +:1014A00056240020CE5A00009BC000607C40800182 +:1014B000CC80004D880000009540000221DC003205 +:1014C00056240020CD812169CDC1216ACE01216B36 +:1014D000CE41216C9BC0FD437C408001CC80004DFF +:1014E0008800000015980002C02A0001CD8125C7A0 +:1014F000CE2925C89540000456240020CC80004DFC +:10150000CE6925C897C0FACEC03A0004CC3925CBA5 +:10151000C43900037C408001CC80004D880000006D +:10152000C41400193D5800049980FFFECC000051FE +:10153000CC412180284C8000CCC1218114D0001FD7 +:10154000CC412182CC412183CC4121849500FABC3D +:10155000C41400199940FFFF8000000FC01600045A +:10156000C4100031CC552140C4190003CC1003F73E +:101570008000000FC4200031D800005DC40C002C96 +:1015800024CC000194C0FFFEC62703E47C40C001C8 +:10159000CCC1217CCC41217DC418002F7C410001AD +:1015A0007C41400196400002CD81217ACD01217E0F +:1015B000C02A00042554FFFF39700003415C00027B +:1015C0009B000002041C004009DC000199C0FFFFE1 +:1015D000CC29217FC4250003166C001F415C00024A +:1015E000CC80004D9AC0FFF914FC001FD800005EAB +:1015F0009BC0FA93C4100031CC1003F78000000F99 +:101600007C40C0017C4100011518001F51140020CE +:10161000191C003199800008CD0000587D4D401AFA +:10162000D456000095C0FA86C420001C9A00FFFF23 +:101630008000000FDC3A0000C0260004CCC1216904 +:101640007D25000ACD01216A0BB80002CC41216B37 +:10165000CC41216C9B80FFFDCC00007F99C0FCE158 +:101660008000000F244C00FFCC4C03008000000FD2 +:10167000C4200031C44F0300CCE121458000000F9D +:10168000C00E0100CC000041CCC1304A800005A34F +:10169000D8400034C43C003497C0FFFF90000000E5 +:1016A000D8000034C43C00349BC0FFFF9000000011 +:1016B000D8000034C43C00349BC0FFFF7C40800154 +:1016C000CC80004D880000000000000000000000F9 +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:10200000000104A300100012001200140014003E8E +:10201000001500440016004D001700580021006113 +:10202000002400800025008A002700940028007BFF +:1020300000290095002A0092002B0095002C007EBC +:10204000002D009C002E00A3002F00AC003000AE3D +:102050000032012B003400C3003500950037016CBD +:1020600000380088003901BC003A01D8003B01EB80 +:10207000003C0203003D0263003E015D003F012978 +:10208000004004A800410548004205570043055D93 +:1020900000440281004502030046029B0047029B68 +:1020A0000048029B004A02E6004C02F1004D032268 +:1020B000004E036E004F03720051039900520376E5 +:1020C00000530389005703AD006003C3006103DCC4 +:1020D000006203B1006303E8006403F400650400D8 +:1020E0000066040C006704180068042400690428D2 +:1020F000006A045B006B042C006C0430006D043437 +:10210000006E0438006F043C0070043400710461F8 +:102110000072045000730440007404480075046C9D +:10212000007A0580007C048E007D0599007E059C68 +:10213000000F05A0000F05A0000F05A0000F05A0CF +:10214000000F05A0000F05A0000F05A0000F05A0BF +:10215000000F05A0000F05A0000F05A0000F05A0AF +:10216000000F05A0000F05A0000F05A0000F05A09F +:10217000000F05A0000F05A0000F05A0000F05A08F +:10218000000F05A0000F05A0000F05A0000F05A07F +:10219000000F05A0000F05A0000F05A0000F05A06F +:1021A000000F05A0000F05A0000F05A0000F05A05F +:1021B000000F05A0000F05A0000F05A0000F05A04F +:1021C000000F05A0000F05A0000F05A0000F05A03F +:1021D000000F05A0000F05A0000F05A0000F05A02F +:1021E000000F05A0000F05A0000F05A0000F05A01F +:1021F000000F05A0000F05A0000F05A0000F05A00F +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/TAHITI_mc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/TAHITI_mc.bin.ihex @@ -0,0 +1,1944 @@ +:100000000003E8E00002BE01000002070003FF0059 +:100010000003FF000002A00E0001C0190003E80069 +:100020000003E8100003E8200003E830000360202C +:1000300000036148000231B80003496C0003480A1C +:100040000003AF0A0002B40400026FF40000FA2DAE +:100050000002B40F00024F140000FA0A0003A88C3B +:100060000000C201000340240002B4400002B50FAA +:1000700000034AA6000244410003F0020002499531 +:1000800000036AA600034A51000340240002B8029C +:100090000002B9FE00024494000248810003A880D7 +:1000A0000002644800036A51000340260002BF803A +:1000B0000002BC04000249F90003F0420003F4000E +:1000C0000001C0410002BF80000348540002B80F85 +:1000D0000002B9F0000241180002422900036854EE +:1000E00000034B690003C08C0002644C00036B6981 +:1000F0000002444800036B690002611F0002622C89 +:100100000003685400022C0500034B4C0003FF0061 +:100110000003614400034B1C0003402A0002B4FCAE +:1001200000036140000243340002611E00036B1CA7 +:1001300000024AAE0003F046000349D50002BC109D +:1001400000024CC70003F0420002BC2D00023273D3 +:10015000000340240002B4400002B5F000034AA6A8 +:10016000000244410003F0020002699500036AA600 +:10017000000340000003FF000003F8010003C44037 +:100180000003C4510002C6450002000000034010F5 +:100190000003FF000003FF000003E8200003E83035 +:1001A00000036010000091E50000920D0003F803C9 +:1001B000000230BF000231B2000348080002B49FC1 +:1001C0000002400400036808000348C0000348C65A +:1001D0000002B4FC0002B50F000241140002499471 +:1001E0000002422500024AA50002433500024BB539 +:1001F000000368C0000368C6000348000003480508 +:100200000002BB3F0002BCBF0002BFEF000092250E +:1002100000008A260000822A0000BA280000AA2CCA +:100220000002411B0002BBFB0002400C00036800FF +:100230000002BCFE0002455F0002477C0003680527 +:1002400000034810000349DD0002BBF10002BC02BC +:1002500000008A290000AA2B0002411B0002611C39 +:10026000000368100002455B0002655C000369DD65 +:100270000003400D0003FF000003FF000003A14C3A +:10028000000089FF0002B302000243340003A330E0 +:10029000000099FE0002B304000243340003A332BD +:1002A000000099FD00034029000340000002BC202B +:1002B0000000B9C70002422C0003F0070002B000A2 +:1002C0000000823100023A330003E800000081E5BB +:1002D0000003F4000001C25C000340000002BC20E7 +:1002E0000000F2310002433C0003F00500023A3303 +:1002F0000003E800000081E50003F4000001C25C97 +:10030000000348210002B3C10002477300036821C3 +:1003100000036A89000348250002B3C10002477345 +:100320000003682500036A8D000348290003497013 +:10033000000340120002BF070002400F00038000CC +:100340000003000E0003AF88000349D60002BC1072 +:1003500000024CCB0003F0410002C00F00038406F2 +:10036000000385560003A556000265540002644050 +:10037000000349E8000368290003682D0003C10455 +:100380000003C115000369E8000369EC00034AC2D9 +:100390000002BFC00002488F00036AC200036AC6A1 +:1003A0000003E8000003E8D000022E96000368E492 +:1003B0000003C1DE00022E96000369040003E8403A +:1003C0000002BD00000232020002BD010002320242 +:1003D0000003402C0003FF000002B40200024404AA +:1003E0000000A209000349D60002B5100002445BD8 +:1003F0000003A4460000A20B0002A04E0003F0037D +:10040000000233B70003F4000001C1050003F4004B +:100410000001D27D0002BC000002323D0003400E0C +:100420000000F2320003E8F00003A0B6000349D553 +:100430000000FA040002B10F000242170002A520DA +:100440000003F0010000FA320002431B0002A52362 +:100450000003F0010000F204000340000003402EFE +:100460000002B6100002B40C00002A32000242243E +:100470000003A2220002433400026C2300024668FB +:100480000003F0030002A05E0003F0010003E8C0D7 +:100490000000E203000340080002B40000007A04F8 +:1004A0000002A0240003F0410002B2080002A0FEF6 +:1004B0000003F0410002B2040002B43F00024224F3 +:1004C0000000921A00034A940003FF0000036180B9 +:1004D000000340000003FF000002B4400002440497 +:1004E0000003F0030003E80000008231000222E074 +:1004F000000340000003FF000002B4400002441467 +:100500000003F0020000F231000222E0000340008C +:100510000003FF000002B440000261100002441416 +:100520000003F00100022CF700034A940003FF00CF +:1005300000036184000340000003FF000002B402D6 +:10054000000244240003F0030003E80000008231AD +:100550000002230C000340000003FF000002B4026D +:10056000000244340003F0020000F2310002230CC8 +:1005700000034A940003FF0000036188000231B2C7 +:10058000000340000003FF000003FF000002440ED0 +:100590000003F0030003E800000082310002241B86 +:1005A000000231B2000340000003FF000003FF001F +:1005B0000002441E0003F0020000F2310002241B7E +:1005C00000022D2E00034A940003FF000003618CFB +:1005D000000340000003FF000002B4020002444098 +:1005E0000003F00B0003E800000082310002260740 +:1005F0000003402C0003FF000002B420000244402E +:100600000003F0030003E8000000823100023129FA +:1006100000034A940003FF000003619000034000C0 +:100620000003FF000002B404000244400003F00392 +:100630000003E80000008231000227D300034A943F +:100640000003FF0000036194000340000003FF006B +:100650000002B410000244400003F00C0003E80064 +:10066000000082310002287A000001FF0003FF0031 +:100670000003FF000002A40E0003F0040000F200DB +:100680000002287A0003E8000000820000034A9478 +:100690000003FF0000036198000340000003FF0017 +:1006A0000002B420000244400003F0030003E8000D +:1006B0000000823100022A0A00034A940003FF006E +:1006C0000003619C000002030003FF000002B4016C +:1006D000000244040003F0040003E800000082313B +:1006E0000003C1FE00022ABC000002030003FF0059 +:1006F0000002B402000244040003F0040003E80016 +:10070000000082310003E8F000022ABC0003400030 +:100710000003FF000003FF000002442E0003F0036B +:100720000003E80000008231000237D100034000DE +:100730000003FF000002B410000244240003F00391 +:100740000003E80000008231000238F50003F803DE +:1007500000034A940003FF000003616000034000AF +:100760000003FF000002B402000244410003F00A4B +:100770000000F231000226070003402C0003FF00B6 +:100780000002B420000244400003F0020000F231F5 +:100790000002312900034A940003FF000003616452 +:1007A000000340000003FF000002B40400024441C3 +:1007B0000003F0020000F231000227D300034A9444 +:1007C0000003FF0000036168000340000003FF0016 +:1007D0000002B410000244410003F00B0000F231AB +:1007E0000002287A000001FF0003FF000003FF0061 +:1007F0000002A40E0003F0040000F2000002287AB8 +:100800000003E8000000820000034A940003FF0098 +:100810000003616C000340000003FF000002B420ED +:10082000000244410003F0020000F23100022A0AF3 +:1008300000034A940003FF000003617000000203FC +:100840000003FF000002B404000244040003F003AC +:100850000000F2310003C1FE00022ABC00000203C6 +:100860000003FF000002B408000244040003F00388 +:100870000000F2310003E8F000022ABC000340004F +:100880000003FF000003FF000002443E0003F002EB +:100890000000F231000237D1000340000003FF00E6 +:1008A0000002B410000244340003F0020000F231F0 +:1008B000000238F500034A940003FF00000361744E +:1008C0000003F803000340000003FF000002B40827 +:1008D00000026001000244040003F00C0003480819 +:1008E0000003FF000002B440000260040003680837 +:1008F000000349980002B4FD000241140003699806 +:100900000003E8300003C12E0003683000023144C8 +:100910000003E8000003E8100003E8300002B2031F +:1009200000036830000340000003FF000002B580B0 +:1009300000026110000245150003F001000237308B +:1009400000034A940003FF00000361780002BC0129 +:100950000002323D000002320003FF000003FF00EE +:100960000002A10E0003F0020003E800000082076D +:1009700000022D2E000348000003480500000A264F +:100980000000022A0000122500002A2C00003A284C +:100990000003FF000003680000036805000348101F +:1009A000000349DD00000A2900002A2B0003FF0094 +:1009B00000036810000369DD000349710002B20101 +:1009C0000003E8300003C1060003C11700036830CC +:1009D000000231440003E8000003E8100002B20303 +:1009E0000002B300000368300000020B0003FF00A8 +:1009F0000003FF000002A00E000202810003F400C9 +:100A00000001C000000001E5000340120003401592 +:100A100000000A0D0002A00E0003F0020003F40023 +:100A20000001C29C0002C11E00008A0D00026BBAC8 +:100A30000002655B0002C66E0003F0410003066E13 +:100A4000000360150002B20F000244420002A51428 +:100A50000003F0070003E8A00003E8B00003601201 +:100A60000003E800000081E50003F4000001C06B12 +:100A70000003402C0003FF000002B42000024040AD +:100A80000003F0020003F4000001C2A80003E80024 +:100A900000008231000231290000F23100023129C8 +:100AA0000003E800000082310002305E0000F231F5 +:100AB0000002305E0003493D000348C00002B60852 +:100AC000000246640003F0020002B5300002622515 +:100AD000000368C0000368C400034B1D00034028E6 +:100AE0000002BC100002BF0400024CC00003F0056D +:100AF0000002677F00036B1D000231440002677E25 +:100B000000036B1D000340200003FF000003FF00F3 +:100B10000002C22E0003F0440002C33E0003F04274 +:100B20000002B2FF0002B3FF00036020000231B2F6 +:100B3000000349480003402A0002B43F0002B58088 +:100B40000002B640000246680003F045000243344C +:100B5000000263350003694800024334000369481A +:100B60000003E8000003E8100003E8200003E83079 +:100B7000000364A4000364E40003F4000001C00067 +:100B80000003400400006A310003E8800003E8909D +:100B90000003E8A00003E8B00002A0DE0003F003B9 +:100BA000000364AA0003F4000003F041000364EAB8 +:100BB000000061E90002A0DE0003F0030003E8404A +:100BC0000003F4000003F041000384EA0003D8406E +:100BD0000003DCC0000079E80003F8030003D49EA2 +:100BE0000003FB0000030FFE000202F7000021C318 +:100BF0000002A0DE0003F003000061C20003F40065 +:100C00000003F041000061C10002BF080003DC40A6 +:100C10000003D8C00003F8030003D49E0003FB00C8 +:100C200000030FFE000203060003F8030003EC00BC +:100C30000000023200006A310003FF000002A00E33 +:100C40000003F0010003EC00000349380002A0DEBD +:100C50000003F041000349380002B8FE00024228B8 +:100C600000036938000349D00002B4040002611493 +:100C70000002B2010002B3120002A0DE0003F04144 +:100C80000002B31100036830000349710002B8EF9D +:100C90000002B9040003C106000261790002433872 +:100CA00000036830000348090002B8FD0002444810 +:100CB0000003680900022D08000349A00002B411D6 +:100CC0000003C1240002B10F000369A000034A44DD +:100CD0000002B4FE0002611E00036A4400024114D7 +:100CE00000036A440002A0DE0003F0030003426137 +:100CF0000003F4000003F0410003425D0003FF0025 +:100D00000003FF000003E860000369A50003686BAF +:100D10000002BA0C0002B8C00003DC810003D8A1B5 +:100D20000002B0F80002B1070003E8200003E83039 +:100D30000003FE000003D41F0003686B0003E8F00B +:100D4000000223C9000223B2000223DE0002A1FE3A +:100D50000003F0410003627A000342780003FF00C1 +:100D60000003FF000002A0800001C3670002A09101 +:100D70000001C3670002A0A20001C3670002A0B384 +:100D80000001C3670002CFFE0002BC0C0002A1FC00 +:100D90000003F0420003F4000001C3510000F9CE4B +:100DA0000003E8F0000223B2000223C9000223DEA0 +:100DB000000342780003FF000003FF000002A08050 +:100DC0000001C37D0002A0910001C37D0002A0A22A +:100DD0000001C37D0002A0B30001C37D0002CFFE6D +:100DE0000002BC0C0002A1FC0003F0420003F4006E +:100DF0000001C36A000061CE0000F9C50003FF00D6 +:100E00000002A5CF0001C38D0002A5FC0001C3882C +:100E10000003E8F00003E8C00003F4000001C39001 +:100E200000030CCF0003ACC00003E8F00003F400A3 +:100E30000001C39000030FFC0003AFF00003E8C003 +:100E4000000223C90003C1FC000223B20003493899 +:100E50000002A0DE0003F041000349380003FF0058 +:100E60000002622E00036938000349D00002B4FB7F +:100E7000000241140002B2010002B3120002A0DE1F +:100E80000003F0410002B311000368300003497110 +:100E90000002B8EF0002B9FB0003C106000241796D +:100EA0000002433800036830000348090002B8FD1F +:100EB00000024448000368090002B018000223FD44 +:100EC00000022D2E0003EC000003C10F0003C11F20 +:100ED0000003C12F0003C13F0002A0DE0003F005A4 +:100EE000000364B0000364B4000364B80003F400BA +:100EF0000003F043000364F0000364F4000364F8AB +:100F0000000348C80002B4F30002B5040002400424 +:100F100000026005000368C800024004000368C8BE +:100F20000003EC000003C10F0003C11F0003C12F29 +:100F30000003C13F0002A0DE0003F004000364AC24 +:100F4000000364BC0003F4000003F042000364ECFF +:100F5000000364FC000348C80002B4F30002B504B7 +:100F60000002400400026005000368C8000240045B +:100F7000000368C80003EC000002B010000223FD6B +:100F800000034A1C0002240D0003C18C00034A2008 +:100F90000002240D00038CC60002688C00034A2462 +:100FA0000002240D0003C19C00034A280002240D06 +:100FB00000038CC60002699C00034A2C0002240D29 +:100FC0000003C1AC00034A300002240D00038CC6AC +:100FD00000026AAC00034A340002240D0003C1BCC5 +:100FE00000034A380002240D00038CC600026BBCCB +:100FF0000003EC000003686B0002B9080002B8C0EF +:101000000003DC800003D8900003E8100003E82010 +:101010000003E8300003FE000003D41E0003686BE9 +:101020000003C18F0002BF1000022D040003C1F8AD +:101030000003EC000003E8C00003873C0003A77630 +:101040000003862C0003A6680003851C0003A55A34 +:101050000003840C0003A44C00026CC700026CC6A1 +:1010600000026CC500026CC40003EC0000034024C5 +:1010700000006A310003FF000003A0060002A10E79 +:101080000003F001000081F9000349A1000349A415 +:101090000002BB400002BABF000245A50002A0DE6C +:1010A0000003F003000243A30003F4000003F04137 +:1010B000000263B3000369A4000369A10002326067 +:1010C0000003E8000003E8200003E8300002A0DE8F +:1010D0000003F003000009FB0003F4000003F041EB +:1010E000000009FA0002B8C00003686B0003D800D2 +:1010F0000003DC800003D41E0002BF0800022D04A0 +:10110000000380E0000081F6000081F50003E800A4 +:10111000000081F4000081F30000F1F20003485464 +:101120000002A0DE0003F003000384E80003F400E3 +:101130000003F041000384EA0002622400036854C3 +:1011400000034975000388E6000260680003C117C8 +:101150000003C12E0003C13E0002A0DE0003F00127 +:101160000003833000036830000348540002A0DE0F +:101170000003F003000384E80003F4000003F041DF +:10118000000384EA0003C0440002422400036854C0 +:101190000000620B0002BF0200022D040002A0CE7C +:1011A0000003F0020003F4000002048300022EA8F2 +:1011B0000003E870000384E60002464B0002A064CE +:1011C0000003F04A000349D20003E86000038AB23A +:1011D0000003AAAA0002A1AE0003F002000301AEC0 +:1011E000000225F70003F4000001C5220002BF0839 +:1011F00000024FF90003AFF400038BB20003ABBC55 +:101200000002253B0003F4000001C5220003400C4E +:101210000003FF000002BF0800024FF00003F0428D +:101220000003F4000001C4940002BF000002BB01EF +:101230000002253B000002040003FF000003FF0042 +:101240000002A00E0003F0420003F4000001C522DA +:101250000000F1F40000F1F30002A0DE0003F0034F +:10126000000079F80003F4000003F041000079F772 +:1012700000038DE20003DCD00003D8F0000389E610 +:101280000002699E0000F1E3000041F90003E8D08C +:1012900000038FE00003C1A800038CED0000E1E72C +:1012A0000000E23000022E110002B701000041F9F7 +:1012B0000003E8A00000D1E30002A07E0003F001DB +:1012C0000003A88000030FDF0003C1D90003C1A8F9 +:1012D00000038CED0000E1E70000E23000022E1177 +:1012E00000022E520003C1040003C12600036270F5 +:1012F0000002BF0100034011000388E00002A0FECD +:101300000003F004000244480003F0020003F4006C +:10131000000205080002B701000041F90003FF00C8 +:101320000002A07E0003F0010003A8800003E8D0C3 +:1013300000038FE00003C1A800038CED0000E1E78B +:101340000000E23000022E1100022E520003427013 +:1013500000038CEB00038CEA0003E8F00002C840B5 +:101360000003A88000002A090002CA620003AAA0A4 +:101370000002A65E000204E500006A310000F209E6 +:101380000003C1580003C17A000362710003F40036 +:101390000002049F0002A15E0003F00E00006A310B +:1013A0000003C1910003C1B30002A0DE0003F003FB +:1013B0000003612E0003F4000003F04100036132DA +:1013C0000002C0810003A8000002C2A30003AA20FB +:1013D000000385500000AA09000381E00003008497 +:1013E0000003F0240002A1840003F0010002C441C4 +:1013F0000003044E0003C154000302A60003F024BE +:101400000002A1A60003F0010002C6610003066EFF +:101410000003C1760003D45E00026002000204F7FC +:1014200000006A310002BF0200022D04000349716E +:10143000000381E40003C1060003A26C0002A02E99 +:1014400000020522000261710003C12E0003C13EAB +:101450000002A0DE0003F001000383300003866079 +:101460000003F0470003683000038FED00022D04F5 +:1014700000038FED00022D0400038FED00022D0408 +:1014800000038FED00022D04000349750003C12EF7 +:101490000003C1060003C1170003C13E0002A0DE25 +:1014A0000003F0010003833000036830000001E511 +:1014B0000003FF000003FF000002A50E0003F04838 +:1014C000000340110002A0DE0003F0030002666E7C +:1014D0000003F4000003F0410002677E0003601186 +:1014E0000003E800000081E50003EC000002A0FE1C +:1014F0000001C5470002B00F0002B10F0002B20F99 +:101500000002B30F0002A0DE0003F0030003632813 +:101510000003F4000003F04100036368000231445B +:1015200000034A40000041F2000049F6000051F576 +:101530000002BC330002440C0002451C000264455A +:101540000002462C0002473C000266670002644627 +:101550000002A14E0003F0010002B4010002A08EBF +:101560000003F0050002A4490003F0430002A44B6D +:101570000003F0410000F1F40000A1F60002BCCC31 +:101580000002440C0002451C0002462C0002473CAD +:101590000002644500026446000264470002A14E56 +:1015A0000003F0010002B4010002A08E0003F00568 +:1015B0000002A44A0003F0430002A44B0003F041E0 +:1015C0000000F1F30000A1F50003E8400000A1F2E3 +:1015D000000001F4000011F30002B10F0002B30596 +:1015E0000002A5FE0002059D0002A0FE0003F041DE +:1015F0000003E8F00002A00E0003F0010002CFFE9D +:101600000002B1100002A02E0003F0010002CFF191 +:101610000002B3900002A6F30003F0420000F1E5DF +:101620000003EC00000243020003F043000225DD4A +:101630000003F4000001C5470002B41100030FF4D9 +:101640000002A0DE0003F0030000F9F10003F4043F +:101650000003F0010000F9F0000343290002A0DEBE +:101660000003F041000343690002BF77000225BC7C +:101670000003EC00000348E50002A0DE0003F04197 +:10168000000349050002B8110002A00E0003F0019A +:101690000002C448000249410002A4930003F00183 +:1016A0000000F1F40002A02E0003F0010002C55872 +:1016B000000249510002A4930003F0010000F1F37D +:1016C0000002A0DE0003F003000368E50003F4005D +:1016D0000003F04100036905000240020002A00E71 +:1016E000000205470002B102000225F70003EC00EA +:1016F0000002A1FE0003F0410003EC000003A1F68C +:1017000000038FF60003A0F60002A10E0003F0070D +:101710000002BC090002A04C0003F0410002BC0F13 +:101720000003C14C0003C15C0003000E0002A11EB7 +:101730000003F0070002BC090002A06C0003F041A6 +:101740000002BC0F0003C16C0003C17C0003011E3A +:101750000002A0DE0003F003000363290003F4008D +:101760000003F0410003636900026201000205C248 +:101770000003EC00000343290002A0DE0003F04157 +:10178000000343690002A00E0003F0050002B40F3D +:1017900000024CFE0003F0010002B4090003C15432 +:1017A0000002A02E0003F0060002B60F0003ACF604 +:1017B00000024CCE0003F0010002B6090003C1761E +:1017C0000002A0DE0003F003000363290003F4001D +:1017D0000003F041000363690003EC00000348E5E7 +:1017E0000002A0DE0003F041000349050002B01131 +:1017F0000002C4400002C5500002A0DE0003F00356 +:10180000000368E50003F4000003F04100036905EC +:101810000003011E000205FB0003EC0000006A311A +:101820000003E80000022E820000F1EF0003E80050 +:10183000000081EE0003400C0003402D0002B810B0 +:101840000002B90800024A180003AAA600024B4988 +:101850000003ABB40002B30400026FAB0003F0411D +:101860000002B30200024FAB0003F0010002B30616 +:101870000003402D00000A040002B0400002404076 +:101880000003F0410003E8300002411E0003F001B4 +:101890000003E830000099ED00022D080002B810A6 +:1018A0000002B9FE0002A0DE0003F0090003482197 +:1018B0000002BA0F0002466A000247790002666819 +:1018C0000003682100036A890003F4000003F04765 +:1018D000000348250002BA0F0002466A0002477959 +:1018E000000266680003682500036A8D0002302844 +:1018F0000002BF0300022FF40002BF6400022D04A7 +:1019000000006A310003FF000003FF000002A0DEB8 +:101910000003F0030002BB000003F4000003F041E9 +:101920000002BB400000D9E00003C10E0002B1116B +:101930000002B21000036A440002B1100003E82064 +:1019400000036A440002B0FF0002B1FF0002B2FDD2 +:101950000002B3FF0003686000034A600002BFF7A3 +:101960000002B1130002400F0002600E00036A6023 +:10197000000031FE000039FD0002BC080002BFFE7D +:101980000003866A000262260002A47E0003F001C2 +:101990000002B3040002400F0002600C00036A6002 +:1019A00000038FE100022D040003686B0003FF00B9 +:1019B0000003FE000000622F00005A2E0003FF000B +:1019C0000003D8C10003DCB100038FE300022D0443 +:1019D0000003D01F00038CEF00038FE400026FFEB2 +:1019E00000024001000242230002400200024CC0FB +:1019F0000003FB010003D01F00030FFE0002067866 +:101A00000002A0DE0003F003000348210003F400FD +:101A10000003F041000348250003C0CC000206A4E7 +:101A200000038CE60002C66C0003F0410002C77E92 +:101A30000002A0DE0003F0040003682100036A89AD +:101A40000003F4000003F0420003682500036A8DE0 +:101A50000002A57E0003F0020003F4000001C64A64 +:101A6000000340110002B0080000F1E50002A0DE12 +:101A70000003F003000266600003F4000003F0417D +:101A800000026770000360110003F400000207D138 +:101A9000000380E1000381060002611E000382E76B +:101AA00000036A44000381060003E82000036A443F +:101AB000000230280003402C00005A1D0002B4042C +:101AC0000003E8F0000244400003F0010002BF01FF +:101AD0000002A4BE0003F0010002BF0400022FF4C4 +:101AE0000000F2190000F2170002325A00023028FA +:101AF00000000A2D000011FE000019FD0002B002D6 +:101B00000002A0DE0003F0410002B0040003822ABC +:101B10000002A43E0003F0010002B304000381169A +:101B2000000260010002B13300036A600003400A52 +:101B30000002B0010002B1020002B2000002B301D3 +:101B40000002A02B0003F0020003E8200003C13BC9 +:101B500000036A680003C10E0002B20900024009D6 +:101B60000003F0010003E8200002B0130002B102FC +:101B7000000382260003E83000036A700003402D52 +:101B8000000062040000121A0002BF4000024F4F22 +:101B90000003F0030002A0CE0003F0010002B2082F +:101BA0000002B0210002B1020002B30100036A7416 +:101BB00000000A1D0002B0010003FF000002A41E85 +:101BC0000003F0050002B1040002B2000002B302FB +:101BD0000003F4040003F0030002B1020002B20F9C +:101BE0000002B30100036A7800034A7C0003FF008F +:101BF0000002B0010002B1020002B30400036A7CDB +:101C0000000001EE0003FF000003FF000002C00E11 +:101C1000000081EE00022FEF000002190003400ACD +:101C20000003400D0002A00E0003F0050002B00109 +:101C300000024005000380060003F4040003F003E3 +:101C40000002B00400024009000380020002B10358 +:101C50000002680100034A640002B480000011E041 +:101C600000024004000260080003A2220002B30147 +:101C700000036A6400022EBD00022ECA000001EFBC +:101C80000003FF000003FF000002A00E0003F04E5F +:101C90000003402C0002BC040003DCC000038FEAF8 +:101CA0000002A0DE0003F0010003E8F00003D8F01A +:101CB0000002BC090002BF3F00024B1F00022D8B37 +:101CC0000003E8F00000F9EF000001EE0003FF0060 +:101CD0000003FF000002C00E000081EE000009EDCD +:101CE0000003402E0003FF000002A0010002074A8B +:101CF0000002B001000241080003F00500000232BA +:101D00000003FF000003FF000002A00E0002074ACC +:101D100000034A7400007A1A0003FF000003FF006A +:101D20000003C12F00036A7400022FEF00000219A4 +:101D30000003400A0003400D0002A00E0003F0055E +:101D40000002B00400024005000380020003F40416 +:101D50000003F0020002B010000240090002B1438B +:101D60000002680100034A640002B480000011E030 +:101D700000024004000260080003A2220003C13EEA +:101D800000036A6400022EBD00022ECA0000420356 +:101D90000002B0020002A0DE0003F0410003800256 +:101DA000000240080003F0020003F4000001C77ABB +:101DB0000003400E0002B0100003FF0000024109C2 +:101DC0000002A0100002077A000002190003FF00C1 +:101DD0000003FF000002C00E000082190002B102E1 +:101DE0000002A40100020700000041E0000001C35E +:101DF0000003FF000003FF000003D8800003DC00A5 +:101E00000002BF090002B0000003DC010002B0C004 +:101E10000003D80100022EB4000001EE0003FF0011 +:101E20000003FF000002C00E000081EE00022FEF51 +:101E30000003400A0002B0400003FF000002400916 +:101E40000003A0020002B1030002680100034A641B +:101E50000002B480000011E00002400400026008AB +:101E60000003A2220002B30100036A6400022EBD37 +:101E700000022ECA00034025000042030002B020E9 +:101E8000000240050003F0480002B0020002A0DE9C +:101E90000003F04100038002000240080003F0024A +:101EA0000003F4000001C7BF0003402E0003FF0041 +:101EB0000002B008000241080002A010000207BFA3 +:101EC0000002B080000241080003F0050000023269 +:101ED0000003FF000003FF000002A00E000207BF86 +:101EE000000002170003FF000003FF000003E810DA +:101EF00000008A170002A40E00020732000001E071 +:101F0000000041C30003FF000003FF000003D800EE +:101F10000003DC800002BF090002B0C00003D8014A +:101F20000002B0000003DC01000232600003686BB5 +:101F3000000011D60002B3C00003E8D000036274B1 +:101F400000022DB30002301E0003EC0000006A31D5 +:101F50000003FF000003FF000002A0DE0003F00307 +:101F60000002BB620003F4000003F0410002BB6802 +:101F70000003FF000003FF000000D9EC000230A5C1 +:101F80000003E80000022E820002BB020000DA30EB +:101F90000003E8000002B1600003E8200003E8301D +:101FA000000369A00003E8000002B1100003E8206C +:101FB0000003E83000036A44000230280002BF0238 +:101FC00000022FF40002B0FF0002B1FF0002B2FDD8 +:101FD0000002B3FF0003686000000A2D000011FE3C +:101FE000000019FD0002B00A0002A0DE0003F0416B +:101FF0000002B00C00038116000260010003822A77 +:102000000002B10C000262210002A43E0003F001B4 +:102010000002B3040002B11600036A6000038FE1FE +:1020200000022D040003686B0003FF000003FE00A4 +:102030000002301E00034A60000031FE000039FD3E +:102040000002B4F60002B5030003866A00026226AD +:102050000002A47E0003F0010002B704000263370F +:10206000000301150002400400036A600003400AF7 +:102070000002B0010002B1020002B2120003E83017 +:1020800000036A680002B0800002B2090002400842 +:102090000003F0010003E8200002B0130002B102C7 +:1020A000000382260003E83000036A700002B021BA +:1020B0000002B1020002B2010002B30100036A741F +:1020C0000002B0010002B1020002B20F0002B3012F +:1020D00000036A7800034A7C0003FF000002B0029C +:1020E0000002B1020002B30400036A7C0002325A0B +:1020F0000003E87000034A640002B4800002400458 +:102100000003E8200003E83000036A6400034A6427 +:102110000002B480000011EC000240040002B4038D +:10212000000260040002B31000036A6400022EBDC6 +:1021300000034A640002B4080002444000026774CD +:102140000002A57E000208780003E80000022E824B +:102150000002A0DE0003F003000348220003F400A5 +:102160000003F041000348260003FF0000038CE653 +:102170000002CAAC0003F0410002CBBE0002A0DEA8 +:102180000003F0040003682200036A8A0003F400DD +:102190000003F0420003682600036A8E0003E87023 +:1021A0000002A6BE0003F0020003F4000001C83DD7 +:1021B000000340120000F1E50002BF040002A0DEAF +:1021C0000003F00300026AAF0003F4000003F041D3 +:1021D00000026BBF000360120003F4000001C87826 +:1021E0000002301E0003EC0000006A310000F1EF35 +:1021F0000003E80000008206000340080003402DB1 +:102200000002B8400002B90800024A080003AAAA66 +:1022100000024B490003ABB40002B30400026FABF1 +:102220000003F0410002B30200024FAB0003F001D3 +:102230000002B3060003402D00000A040002B04073 +:10224000000240400003F0410003E8300002411E5C +:102250000003F0010003E83000009A05000021E5CA +:102260000003E8500003FF000000A20C0000A9E5F5 +:1022700000006A310003FF000003FF000002A0DE3F +:102280000003F003000059C20003F4000003F04310 +:10229000000059C10003FF000003FF000000D9E067 +:1022A0000003402C00005A1D0002B4040003E8F0B3 +:1022B000000244400003F0010002BF0100024BBED7 +:1022C0000002A0BE0003F00300022F250003F4006B +:1022D0000001C8B70002BFCB0002318A0000F2182B +:1022E0000000F2170002325A0002302800000A2DC6 +:1022F000000011FE000019FD0002B0020002A0DE85 +:102300000003F0410002B0040003811600026001E6 +:10231000000340150003822A0002B18000026221FE +:102320000002A43E0003F0010002B3040002B6F074 +:10233000000244460002B1080002611400036A6012 +:102340000003400A0002B0010002B1020002B20024 +:102350000002B3010002A02B0003F0020003E820FA +:102360000003C13B00036A680002B0010002B2082A +:10237000000240090003F0010003E8200002B0134E +:102380000002B102000382260003E83000036A70F5 +:102390000003402D000062040000121A0002BF403A +:1023A00000024F4F0003F0030002A0CE0003F00133 +:1023B0000002B2080002B0210002B1020002B30123 +:1023C00000036A7400000A1D0002B0010003FF0050 +:1023D000000241100002A41E0003F0050002B10437 +:1023E0000002B2000002B3020003F4040003F00391 +:1023F0000002B1020002B20F0002B30100036A78CA +:1024000000034A7C0003FF000002B0010002B10299 +:102410000002B30400036A7C00000A1D0003FF00F1 +:102420000003FF000002411E0002A41E0002094F2B +:10243000000002060003FF000003FF000002C00EC0 +:102440000000820600022FEF000002180003400A7D +:102450000003400D0002A00E0003F0050002B002D0 +:1024600000024005000380040003F4040003F003AD +:102470000002B00800024009000380000002B1031E +:10248000000268010000021D0003FF000003FF00BE +:102490000002400E0002A40E0003F00B0000121A0E +:1024A0000002B0230002B1030002B30100036A740A +:1024B00000034A7C0003FF000002B0010002B104E7 +:1024C0000002B30400036A7C00034A640002B48083 +:1024D000000011E000024004000260080003A22294 +:1024E0000002B30100036A6400022EBD00022ECA7E +:1024F000000001EF0003FF000003FF000002A00E38 +:102500000003F04E0003402C0002BC040003DCC0BA +:102510000002BFC00002A0DE0003F0010002BF8085 +:102520000003D8F000038CE40002BF3F00024B1F01 +:1025300000022D8B0003E8F00000F9EF0000020616 +:102540000003FF000003FF000002C00E000082062F +:1025500000005A1D00007A170002B80800024ABEA7 +:102560000002A0AE0001C9700003AAB000024AAE8A +:102570000003F04300022BC40003F4000001C96F04 +:1025800000034A700002BA880002B9700002A0F885 +:102590000003F0430003C12A0003F4000001C96DE9 +:1025A0000003ABB200024BBE0002A0BE0003F0412C +:1025B0000003C12900036A70000231570002325A39 +:1025C00000000A05000002060003402E0003FF0081 +:1025D0000002A001000209840002B00100024108CB +:1025E0000003F005000002320003FF000003FF00BB +:1025F0000002A00E0002098400034A7400007A1A47 +:102600000003FF000003FF000003C12F00036A74F2 +:1026100000022FEF000002180003400A0003400DE3 +:102620000002A00E0003F0050002B0080002400501 +:10263000000380000003F4040003F0030002B02054 +:10264000000240090003A0000002B143000268013B +:1026500000034A640002B480000011E0000240045C +:10266000000260080003A2220002B30100036A64B2 +:1026700000022EBD00022ECA000042030002B0017B +:102680000002A0DE0003F0410003800200024008C7 +:102690000003F0020003F4000001C9B50003400A82 +:1026A0000003FF000002B040000241080002A01039 +:1026B000000209B5000002180003FF000003FF003C +:1026C0000002C00E000082180002B1020002A40144 +:1026D0000002090C000001E0000041C30003FF00FC +:1026E0000003FF000003D8000003DC800002BF08E5 +:1026F0000002B0C00003D8010002B0000003DC01FA +:1027000000022EB4000002060003FF000003FF00D9 +:102710000002C00E0000820600022FEF0003400AF4 +:102720000002B0800003FF00000240090003A00483 +:102730000002B1030002680100034A640002B48091 +:10274000000011E000024004000260080003A22221 +:102750000002B3010002B10000036A6400022EBD52 +:1027600000022ECA000042030002B0010002A0DEF7 +:102770000003F04100038002000240080003F00261 +:102780000003F4000001C9F70003402E0003FF001E +:102790000002B008000241080002A010000209F780 +:1027A0000002B080000241080003F0050000023280 +:1027B0000003FF000003FF000002A00E000209F763 +:1027C000000002170003FF000003FF000003E810F1 +:1027D00000008A170002A40E0002094F000061C326 +:1027E000000059E00003FF000003DCC00003D8B084 +:1027F0000002BF080002B0C00003D8010002B00010 +:102800000003DC01000232600003686B000011D697 +:102810000002B3C00003E8D00003627400022DB3CD +:102820000002301E0003EC0000006A310003FF00CC +:102830000003FF000002A0DE0003F0030002BB5310 +:102840000003F4000003F0410002BB5B0003FF0043 +:102850000003FF000000D9EC000340100002BB1F82 +:10286000000348290002A0DE0003F0410003482DC8 +:102870000002400B0003AF0200038CF600026CCF95 +:1028800000038FF6000349E80002A34C0003F004A4 +:102890000003044C0003055F0003F4000003F04252 +:1028A000000304C4000305F50003C1040003C115BF +:1028B0000002A0DE0003F00400036829000369E8B9 +:1028C0000003F4000003F0420003682D000369ECEC +:1028D0000003E80000022E960003E8000002B14069 +:1028E0000003E8200003E83000036A4400023028B7 +:1028F0000002BF0200022F2500000A2D000011FE79 +:10290000000019FD0002B0020002A0DE0003F04149 +:102910000002B00400038116000260010003822A55 +:102920000002B184000262210002A43E0003F00113 +:102930000002B3040002B11800036A600003400AF9 +:102940000002B0010002B1020002B20A0003E83046 +:1029500000036A680002B0800002B208000240086A +:102960000003F0010003E8200002B0130002B102EE +:10297000000382260003E83000036A700002B021E1 +:102980000002B1020002B2010002B30100036A7446 +:102990000002B0010002B1020002B20F0002B30156 +:1029A00000036A7800034A7C0003FF000002B002C3 +:1029B0000002B1020002B30400036A7C0002325A32 +:1029C0000003E87000022FEF00034A640002B480A5 +:1029D000000011EC000240040002B4030002600495 +:1029E0000002B31000036A6400022EBD00034A64B3 +:1029F0000002B40800024440000267740002A57E91 +:102A000000020AB90003E80000022E960002A0DED0 +:102A10000003F0040003482A000349E80003F4001F +:102A20000003F0420003482E000349EC0002BC11F1 +:102A30000002BF100002C99F0002C88C0003F041D1 +:102A40000003E8800003C1080003C1190002A0DEF2 +:102A50000003F0040003682A000369E80003F4009F +:102A60000003F0420003682E000369EC00034AC033 +:102A70000002BF0700024DDE0003F0010002BF3874 +:102A80000002A18E0003F0430002600F00036AC041 +:102A900000036AC40002BB010000DA300003E870E2 +:102AA00000024FF00003F0030002BBFF0002A08B06 +:102AB0000003F0020003F4000001CA710003401299 +:102AC0000000F1E50002BF200002A0DE0003F003D9 +:102AD00000026AAF0003F4000003F04100026BBF84 +:102AE000000360120002302800022FEF0003EC0008 +:102AF00000006A310003E800000081CC0002A0DE83 +:102B00000003F003000059C20003F4000003F04189 +:102B1000000059C10002B07F0002A1FE0003F04195 +:102B200000024BB00000D9E00002325A0002302807 +:102B300000000A2D000011FE000019FD0002B00285 +:102B40000002A0DE0003F0410002B0040003811681 +:102B5000000260010003822A0002B18000026221AB +:102B60000002A43E0003F0010002B304000340157C +:102B70000002B1080002B6F00002444600026114EF +:102B800000036A600002B0010002B1020002B2005C +:102B90000002B30200036A680002B2080002B01328 +:102BA0000002B102000382260003E83000036A70CD +:102BB0000000121A0002B0210002B1020002B301AB +:102BC00000036A740002B0010002B1020002B20FF9 +:102BD0000002B30100036A7800034A7C0003FF008F +:102BE0000002B0010002B1020002B30400036A7CDB +:102BF0000002BC040003DCC0000079E00002BC0855 +:102C00000002BB180003D8F000022D8B000001CC9D +:102C1000000340250002BF100002C00E000081CC5E +:102C200000024F5F0003F00300022BC40003F40016 +:102C30000001CB160002BF080002A00E0003F00145 +:102C40000003C1FE0002315700034A800002A0FECB +:102C50000003F04100036A84000061E00002B080DC +:102C60000003E8F00002A1C00003F0410003C1FE30 +:102C700000022B7700022FEF000011E00003E810A4 +:102C80000002B0230003A2220002B30100036A6421 +:102C900000022EBD000061CC000001E0000009C36D +:102CA000000340260002B2100003D8000003DC102D +:102CB0000002BF080002B0C00003D8010002B0004B +:102CC0000003DC01000242290003F0450003AFF0DD +:102CD0000002A0CE0003F0020003FB000003FB0192 +:102CE0000003D09E0003FB000002A52E0003F001AC +:102CF0000003FB000003D49F0003FB010002A52E8C +:102D00000003F0010003FB0100030FFE00020B387B +:102D1000000001CC0003FF000003FF000002C00E12 +:102D2000000081CC000061E00002B0800003C1FE21 +:102D30000002A1C00003F0410003E8F000022B777D +:102D400000022FEF000011E00002B0030003E810C2 +:102D50000003A2220002B30100036A6400022EBD38 +:102D600000022ECA00034025000001CC0002B1037E +:102D70000002B2080002B310000243350003F00263 +:102D8000000242250003F0020002A5010001CB036E +:102D9000000061C3000059E00003FF000003DCC035 +:102DA0000003D8B00002B0C00003D8010002B00098 +:102DB0000003DC010002BF08000232600003686B00 +:102DC000000011D60002B3C00003E8D00003627413 +:102DD00000022DB30002301E0003EC000002BC1103 +:102DE0000002A0DE0003F004000348CC000348D139 +:102DF0000003F4000003F042000348EC000348F134 +:102E000000022BAF0002A0DE0003F004000368CC38 +:102E1000000368D10003F4000003F042000368ECF3 +:102E2000000368F10002A0DE0003F004000348D4B0 +:102E3000000348D90003F4000003F042000348F403 +:102E4000000348F900022BAF0002A0DE0003F004EB +:102E5000000368D4000368D90003F4000003F042C3 +:102E6000000368F4000368F90002A0DE0003F00329 +:102E7000000348DC0003F4000003F041000348FCB9 +:102E80000002A0FE0003F0040002C00C0002C11CFE +:102E90000003F4000003F0420003000C0003011CD7 +:102EA0000002A0DE0003F003000368DC0003F4006E +:102EB0000003F041000368FC0003EC000002A0FEE8 +:102EC0000003F00A0002C00C0002C11C0002C22C68 +:102ED0000002C33C0002C44C0002C55C0002C66C88 +:102EE0000002C77C0003F4000003F0480003000C5C +:102EF0000003011C0003022C0003033C0003044CEC +:102F00000003055C0003066C0003077C0003EC0073 +:102F10000002B07F0002B1FF0002B2FF0002B3FF67 +:102F2000000368600003686B000009D60003E80036 +:102F30000003A0030003DC000003D81000034031AD +:102F40000002BF030002BC020002A6FC0003F04125 +:102F50000003C1070002A0FC0003F0410003C1060A +:102F60000002A0FE0003F0410003C1050002A1FE23 +:102F70000003F0410003C1040003C1100003C1209D +:102F80000003C1300003FE000003D41E0003686B81 +:102F90000003FB0000030FFE00020BD200034035CC +:102FA0000002BF030003FF000002A6FC0003F04183 +:102FB0000003C1070002A0FC0003F0410003C106AA +:102FC0000002A0FE0003F0410003C1050002A1FEC3 +:102FD0000003F0410003C1040003C1100003C1203D +:102FE0000003C1300003FE000003D41E0003686B21 +:102FF0000003FB0000030FFE00020BEA0003403851 +:103000000003403D0003FF0000036A8400036A815F +:103010000003EC00000348550003FF000002B7C0A6 +:10302000000368550003686B0003480A0002BF7F75 +:10303000000268F80002B2EF0003A0810002BFC3E3 +:103040000002400F000340250002B3FF0002B1FF61 +:1030500000024F5E0003F0020002B9F300024229B1 +:103060000002BC0200024C5C0003F0010002B3FB52 +:10307000000368600003484000038FF20002BCFBBD +:103080000002411C0002611F000368400003686BDE +:103090000003497C0002B404000261140003697C4F +:1030A00000034A940003FF000003617C0003686B87 +:1030B000000231440003FF000003FE000003FF0094 +:1030C000000341490003FF000003FF0000034864C0 +:1030D000000388440003A8800003E8F00003DCF04C +:1030E0000002BC400002CCC80003D8C00003D41EBC +:1030F0000002326600036149000348640002B41014 +:10310000000246240003F0020003F4000001CC9901 +:1031100000034864000348360002B4400002B504CE +:103120000002444000024558000264450001CC59A9 +:103130000002B43C000244400003F04300023ABDE8 +:103140000003F4000001CC2B000340140003FF0037 +:103150000003FF000002C33E0003F0410003033EF2 +:10316000000360140002B0FF0002B1FF0002B2FFD2 +:103170000002B3FF00036A900003F80300034864F1 +:1031800000038CEA0000F20800024C0C0001CC7530 +:10319000000348340002BC0400024CC000020C646E +:1031A0000000E2080003493D0002BF100002444F46 +:1031B0000003F0040002BFFF00022D040002BF5014 +:1031C00000022D040002BF0800022D040003F400D9 +:1031D0000001CC8600034842000349D4000032338A +:1031E0000002B51000009A330002BC4000024553B3 +:1031F0000003F00900024CC90003F0070002A063BD +:103200000003F0450000F2020002346B0003686B1B +:103210000003F4000001C041000348540002B53F20 +:10322000000243530002B70F0002633700036854E3 +:10323000000232600003E8000000820200034271D5 +:103240000002326600036271000348080002B48085 +:10325000000244400003F0020003F4000001D6EC39 +:103260000003EC000003F803000348080002B480E8 +:10327000000244400003F0020003F4000001D6EC19 +:10328000000349D00002B808000249380002A098A3 +:1032900000020CF0000349D40002B41000024334D1 +:1032A0000002A03400020CCE000348080002B80857 +:1032B0000002600800036808000348280002B820E4 +:1032C000000263380003482D00036828000369E802 +:1032D000000267780003682D000369ED000348C809 +:1032E0000002B8FB00024228000368C800034898A7 +:1032F0000002B82000026008000348B1000368988B +:1033000000026448000368B10003C10E0003C11E3F +:103310000003C12E0003C13E00036330000363704D +:1033200000036334000363740003633800036378AD +:103330000003F4000001CCF0000348080002B8F7D5 +:103340000002400800036808000348280002B8DFB4 +:10335000000243380003482D00036828000369E891 +:10336000000247780003682D000369ED000348C898 +:103370000002B80400026228000368C800034898ED +:103380000002B8DF00024008000348B1000368985B +:1033900000024448000368B10002B0030003C110FA +:1033A0000003C1200003C1300003633000036370D9 +:1033B000000363340003637400036338000363781D +:1033C0000003497C0002B4FB000241140003697C45 +:1033D0000003686B0003F4000001CC2B000348CA13 +:1033E0000002B0040002B1400003C12800026820BE +:1033F000000368CA0003C182000368CA0002682192 +:10340000000368CA0003C182000368CA0003EC001D +:103410000003F80300030FFE00020D050003EC009B +:10342000000232600003686B0003C10E0003E81065 +:103430000003E8200003E8300003A4130003D810C1 +:103440000003DC400003FE000003D41E0003686B91 +:10345000000369A40003E8000003FE000003D41E7B +:103460000003686B000369A40002A0DE0003F00300 +:10347000000342600003F4000003F0410003425CDB +:10348000000342590002A0DE000369A40003F00318 +:10349000000342680003F4000003F04100034264AB +:1034A000000369A10003FE000003D41E0003686B43 +:1034B0000003686B0003EC00000232600003686BDD +:1034C000000342560003C10E0003E8100003E82089 +:1034D0000003E8300003A4130003D8100003DC400D +:1034E0000003D41E0002BF0200022D040003686B1B +:1034F000000369A4000369A20003E8000003FF00C1 +:103500000003D41E0002BF0200022D040003686BFA +:10351000000369A4000232600003686B0003EC0042 +:103520000003686B000232600002B10C0003E80087 +:103530000003A0030003DC000003D8100003E80030 +:103540000003E8100003E8200003E8300003FE0059 +:103550000003D41E0003686B0003FB000003FB00A4 +:10356000000388E30003F8030003FE000003D41EF9 +:103570000003686B0003FB000003088E00020D5A75 +:103580000003EC00000021EB0003E8500003E860BA +:103590000003E8700002B9080002B8C00003DC8133 +:1035A0000003D891000342500003F8030003FF001A +:1035B00000036A440003E8200003011E00036A447C +:1035C0000003FE000003D45F0003686B0003C18F9B +:1035D0000002BF1000022D040002B4190003FE0017 +:1035E0000003D45F0003686B0002BF1000022D04CB +:1035F0000003C1F8000349A50003FF000003FF001A +:103600000003C1040003C115000382E0000262262A +:103610000003C137000369A40002B9080003099E32 +:1036200000020D87000369A50003EC000002A1BEA3 +:103630000003F00E0003D01E00030FBE0002BA3FCD +:103640000003000E0002400A0003011E0002411A9E +:103650000003022E0002422A0003033E0002433A06 +:103660000003D41E00030FFE00020D900003FB00B8 +:1036700000030CCE00020D8B0003EC000002A1BE83 +:103680000003F00E0003D01E00030FBE0002BA3F7D +:103690000002C00E0002400A0002C11E0002411AD0 +:1036A0000002C22E0002422A0002C33E0002433A38 +:1036B0000003D41E00030FFE00020DA40003FB0054 +:1036C00000030CCE00020D9F0003EC000003D09E0F +:1036D0000003D01F0002BC3F0002488C0002499C3E +:1036E00000024AAC00024BBC0002440C0002451C24 +:1036F0000002462C0002473C0002BC200002C084AD +:103700000003A0000002A3480003F0410002C00C27 +:103710000002C1950003A1100002A3590003F0416B +:103720000002C11C0002C2A60003A2200002A36A7C +:103730000003F0410002C22C0002C3B70003A33013 +:103740000002A37B0003F0410002C33C0002BC075F +:103750000002A3DC0003F04E0003727400035276F3 +:103760000003FF000003FF000003FE000003D41E5F +:103770000003686B0003FB000003727600035274C1 +:103780000003FF000003FF000003F4040003F0083F +:103790000002BC080002A4DC0003F00100036A84FC +:1037A0000002BC090002A4DC0003F00100036A80EF +:1037B0000002325A0003FB000003FB010002CDDED1 +:1037C0000002A6DF00020DB300022FEF0002B000DE +:1037D0000002B1000002B2000002B30100036A74EB +:1037E0000002B0310002B1060002B2040002B300D0 +:1037F00000036A7800034A7C0003FF000002B00166 +:103800000002B1010002B30000036A7C00034A64B5 +:103810000002B480000240040002B403000260040D +:1038200000036A6400022EBD00034A640002B480F3 +:103830000002400400036A6400006A31000231B2F1 +:103840000003EC00000059E7000062300003FF00B5 +:103850000002A1BE0003F0420000F1E50003EC000D +:103860000002A1CE0003F04100030BBE00030CCE0A +:103870000000D9E70000E23000034A4000005A0986 +:103880000003FF000003FF000002A0BE0003F0429F +:103890000003A0000003A2200003D05E000061FC32 +:1038A000000059E30003A20200024009000242297D +:1038B0000002A58E00020E3C0003088E0002A00D3F +:1038C0000003F00B000041F90002C44F0003C15493 +:1038D0000002A0BE0003F0460003D45E0002C44F05 +:1038E0000003C1540003D45E0002C44F0003C1545E +:1038F0000002A5AE00020E4C00030AAE0002A02D8D +:103900000003F00B000051F90002C66F0003C176FE +:103910000002A0BE0003F0460003D45E0002C66FA2 +:103920000003C1760003D45E0002C66F0003C176B7 +:103930000003D45E00030CCE00020E4D00026B8A21 +:1039400000020E110003EC00000342700000520957 +:1039500000038FEC000388EA0003AAA00002A4AED3 +:103960000003F0060002A1480003F0410002C44831 +:103970000002A1680003F0410002C66800038AE06B +:103980000002A64F0003F0430003044800030008B0 +:10399000000301180002A66F0003F043000306684D +:1039A000000302280003033800030AAE00020E6081 +:1039B0000003C1540003C1760003D45E00036270AB +:1039C0000003EC000003C1620003066E0003DC107C +:1039D0000003D8000003D09E0003FF000003FF0097 +:1039E00000024885000268830003C1980003C1A853 +:1039F0000003C1B80003D49E0003FB000003066E61 +:103A000000020E750003EC000003C1100003C1208A +:103A10000003C1300002A0DE0003F00800036908C3 +:103A20000003690C0003691000036914000369189E +:103A30000003691C0003F4000003F0460003692042 +:103A400000036924000369280003692C000369301E +:103A5000000369340003EC000003C1100003C1201F +:103A60000003C1300002A0DE0003F007000368CCB1 +:103A7000000368D0000368D4000368D8000368DC42 +:103A80000003F4000003F045000368EC000368F055 +:103A9000000368F4000368F8000368FC0003EC000E +:103AA000000349D40003FF00000380E50002410346 +:103AB000000349D20003FF000002400A000349C28C +:103AC0000002A5100003F001000349C60003EC004A +:103AD0000003D09E0003FB000003FF000003FF0073 +:103AE0000003D49F0003FB0100030FFE00020EB48D +:103AF0000003EC000003F8010002BF0400034A6465 +:103B00000003FF000003FF000002410F00020EBF90 +:103B10000003F8030003686B0003FF000003FF00CD +:103B20000003FE000003EC0000034A640003FF00F2 +:103B30000002BF080002410F0002A01F00020EEBAE +:103B4000000340120002B5100002A5250003F00496 +:103B50000002BF0200026AAF0003F4000001CEE8D9 +:103B60000002C4550002A5240003F0040002BF02B5 +:103B700000026BBF0003F4000001CEE80002C44560 +:103B80000002A5240003F0040002BF1000026AAF87 +:103B90000003F4000001CEE80002BF1000026BBF7A +:103BA0000000F1E50003601200022EEC0003EC00BF +:103BB00000034A700003FF000003C1C20003402E4F +:103BC0000002B00100036AA80003FF000003FF0029 +:103BD0000003FF0000034AAC0002B40200036AA91C +:103BE0000003C0000003C0110003C0220003C03363 +:103BF00000034AAD0002BF900002A0CF0003F00511 +:103C00000003C0440002BF0F00024F4F0003F40046 +:103C10000003F0410003C0F40002A0DE0003F00B3B +:103C2000000340190003FF000003FF00000264408E +:103C300000026551000266620002677300036019AA +:103C400000026AAF0003F4000003F0490003401DC6 +:103C50000003FF000003FF00000264400002655102 +:103C600000026662000267730003601D00026BBF02 +:103C70000003602E0003EC000002C44600036AA9A2 +:103C80000003FF000003FF000003FF0000034AAC35 +:103C90000003EC00000232600003686B000009D6EC +:103CA0000002B0C00003DC000003D8100002A0FE38 +:103CB0000003F0040003E8000003E8100003E8201C +:103CC0000003E8300002A0FE0003F0440002B055FB +:103CD0000003C1100003C1200003C1300002A0FE98 +:103CE0000003F0040002B4FF0003C1540003C164E8 +:103CF0000003C1740002A0FE0003F0440002B4AA55 +:103D00000003C1540003C1640003C1740002BC0776 +:103D10000002A3FE00020F9E000041FF0003FF000F +:103D20000003FF000002A08E00020F640002A0DE6C +:103D30000003F003000340420003F4040003F00119 +:103D4000000340460000EA3100006A000002A4DEE1 +:103D50000003F0040003C0880003C0990003C0AA58 +:103D60000003C0BB00026008000261190002622A61 +:103D70000002633B00026448000265590002666A63 +:103D80000002677B00006A310003FF000003FF00B0 +:103D90000003FE000003D41E0003686B0003FB0059 +:103DA00000030CCE0003FE000003D45E0003686B2A +:103DB0000003FB0000030CCE00020F64000041FF73 +:103DC000000062000003FF000002A08E00020F89C5 +:103DD0000003404A0002A4CE0003F0040003C088A0 +:103DE0000003C0990003C0AA0003C0BB0002A4DE08 +:103DF0000003F0020003C18A0003C19B0002BA0F56 +:103E000000024AA800038BA600026AAB0002BBF0C6 +:103E100000024BB80003A7B600026BB70003F4041E +:103E20000003F0030003E8600003E8A00003E8B02B +:103E30000002B4F00002604A0003C1100003C12078 +:103E40000003C13000036A840002A0FE0003F003F7 +:103E50000002B4F00003F4040003F0010002B40F08 +:103E60000002604B0003C1100003C1200003C130F9 +:103E700000036A800003EC000003FE000003D41E70 +:103E80000003686B0003FB0000030CCE0002B903C3 +:103E90000002A0F90003F0440003E8400003E850EA +:103EA0000003E8600003E8700003FE000003D45E36 +:103EB0000003686B0003FB0000030CCE00020FAA96 +:103EC0000002B0F00002B1FF0002A0F90003F042CE +:103ED0000003E8000003E8100003C1210003C13122 +:103EE00000036A8400036A800003EC000002326071 +:103EF0000003686B000009D60002B0C00003DC00BC +:103F00000003D8100002B4FF0003C1640003C174B1 +:103F10000002BC070003FE000002B5FF0003D45EF0 +:103F20000003686B0003FB0000030CCE0003FE00DF +:103F30000002B5EF0003D45E0003686B0003FB00D2 +:103F400000030CCE00020FC50002B5FF00036A8516 +:103F50000002B0F00003C1100003C1200003C13013 +:103F600000036A8000034A6200022FEF0003E8F0BA +:103F700000022FFB00036A62000009D60002B0C0F5 +:103F80000003DC000003D8100002B4FF0003C1549A +:103F90000003C1640003C1740002BC070003FE00FB +:103FA0000003D45E0003686B0003FB0000030CCE2B +:103FB00000020FE70002325A0003EC0000034A64DB +:103FC0000002B4800002400400036A640003EC00B5 +:103FD0000002B0040002A0F00003F00300022F254D +:103FE0000003F4040003F00100022BC40003E80006 +:103FF0000003C0000003C1100002B2FD0002B3FFC5 +:104000000003686000000A2D000031FE000019FD69 +:104010000002B00A0002A0DE0003F0410002B00C72 +:1040200000038116000260010002B1160002A43EE6 +:104030000003F0010002B3040003866A0002B2022A +:104040000002B4040002A3FE0003F0030002A0F487 +:104050000003F0010002B2040002622600036A605D +:1040600000038FE100022D040003686B0003FF00D2 +:104070000003FE000003EC0000034A600003FF00A1 +:104080000003E8300002600E00036A6000034A6427 +:104090000002B4F20002400400036A640003EC0072 +:1040A0000002B0010003E8100003E8200003E8303C +:1040B00000036A600003EC0000006A310003400462 +:1040C0000003FF000002B804000245E00002A05E09 +:1040D0000003F0440002A0DE0003F042000340248D +:1040E0000003FF00000061E90003FF000003FF0080 +:1040F0000003DCC000038FEA0002A0DE0003F00131 +:104100000003E8F00003D8F000038CE40003C1B220 +:104110000003493D0002A0DE0003F04100034941D5 +:104120000003FF000002446E0003F0010002BC0720 +:10413000000240080003F04300022D8B0003F4004E +:104140000003F04100022D9F0002446E0003F009BD +:104150000003E8C00003AB620003A5600002455EF7 +:104160000003F04300022D8B0003F4000003F04134 +:1041700000022D9F0003EC0000006A31000340287C +:10418000000340210002B840000248800003F00311 +:104190000002466E0003F0010003EC00000051C372 +:1041A0000002A0DE0003F003000059C20003F40087 +:1041B0000003F041000059C10003FF000003DCA030 +:1041C0000003D8B0000340060003FF000003FF0017 +:1041D000000240E80003F0030002A0DE0003F0410B +:1041E000000340260003FF000003FF0000034941D5 +:1041F0000002A00E0003F0430002A0DE0003F04125 +:104200000003C1450002454E0003F04300038CE467 +:104210000003F4000003F04100038CE300038998DD +:104220000003AA9C0002A0AE0003F00300022D8B45 +:104230000003F4000003F04100022D9F000340063C +:104240000003FF000003FF00000349410002408E0D +:104250000002A00E0003F0430002A0DE0003F041C4 +:104260000003C1450003E8C00003AB420002454E15 +:104270000003F0070003A5400002455E0003F04381 +:1042800000022D8B0003F4000003F04100022D9F7B +:104290000003EC000002A0DE0003F003000348214D +:1042A0000003F4000003F041000348250003FF0071 +:1042B0000002BB010003A266000381660003A11691 +:1042C00000038776000260270003000B0003A706A7 +:1042D00000038206000266210002A0DE0003F00453 +:1042E0000003682100036A890003F4000003F04220 +:1042F0000003682500036A8D0003EC0000038FEDC6 +:1043000000022D040003E830000382E00003E810FF +:104310000003E8000003683000038FED00022D0465 +:104320000003499C000349D50003402A0002B41051 +:10433000000244470002B5020002455A00038554BA +:10434000000244450003A4400002B6F700024226E2 +:10435000000262240003699C0003E8F00003497036 +:104360000003E8700002B6010003C1510003C14020 +:10437000000368310002B8FC0003C1530003C142CE +:1043800000024558000349740002314400036831BB +:104390000003C1510003C1400002314400036831F1 +:1043A0000003C1530003C142000349980002314495 +:1043B000000368310003C1510003C14000023144D1 +:1043C000000368310003C1530003C1420003499C4C +:1043D00000023144000368310003C1510003C140B1 +:1043E00000023144000368310003C1530003C1429D +:1043F000000348E800023144000368310003C15162 +:104400000003C1400002B7100002314400036831CC +:104410000003C1530003C14200023144000368316C +:104420000003EC000002BC030003493D000348C048 +:104430000002A0DE0003F041000348C40002B604FD +:10444000000246640003F004000386CA0003C17C36 +:1044500000026226000261170002A0DE0003F003E2 +:10446000000368C00003F4000003F041000368C4C7 +:104470000003402A0002B608000387C6000246680F +:104480000003F001000263370002A0DE0003F00326 +:10449000000368C00003F4000003F041000368C497 +:1044A0000003EC000002302E0003493D00034028C9 +:1044B0000002BF080002BC0400024F0F00024C4C77 +:1044C000000260FC0003F0410003EC000002B401B4 +:1044D00000023202000231090002A1FE0003F009CD +:1044E000000231C300023028000340280002BC084B +:1044F0000003FF000002422C0003F0420003F4001E +:104500000003F0420003E840000232020003EC0026 +:104510000003FF000003FF000003FF000003EC00A6 +:104520000003614800036141000361460003627FAC +:104530000003C10E0003E8100003E8200003E83088 +:10454000000368E80003E8000003FF00000368E8D8 +:10455000000341480003FF000003EC00000232604A +:104560000003686B000009D60003E8000003A00305 +:104570000003DC000003D8100002BC030002B0F707 +:104580000002A0FE0003F0410002B07F0003C11052 +:104590000003C1200003C1300002B4FF0003C15476 +:1045A0000003C1640003C1740003FE000003D41EB5 +:1045B0000003686B0003A0010003A1110003A22106 +:1045C0000003A3310003FB000003FE000003D45EE0 +:1045D0000003686B0003FB0000030CCE0002116AAD +:1045E0000002B0FF0002BC080003C1100003C1209C +:1045F0000003C13000036A800002A4FE0001D184E0 +:104600000002A0FC0003F00200036A840003EC0037 +:104610000002B0F70003A1010003A2110003A321CF +:1046200000036A840003EC000003493D0003FF001F +:104630000002B880000264480003693D0002B00136 +:104640000002B1020002B23F0002422F0002B3009A +:1046500000036A680002B0000002B1000002B2006C +:104660000002B30200036A740002B1010002B20842 +:104670000002B30000036A780002B0010002B20039 +:1046800000036A7C000011E00002B0C00002400F8D +:104690000003A0020002600E0002B1000003A2228B +:1046A0000002B30100036A640002325A0003FF00F3 +:1046B0000003FF0000022EBD0002B87F0002444844 +:1046C0000003693D0003EC000003E8000003E8106C +:1046D0000002B2030002B300000368300003EC00E4 +:1046E0000003402C0003FF000003FF000003E8204C +:1046F0000003E8300003602C0003E8000003E8102A +:10470000000360180003601C0003EC0000006A3125 +:104710000002B0010003E8100003E8200003E830C5 +:1047200000036A600002BF0100022FF40002BF1004 +:1047300000022D040002BC1400034A600002BFF70F +:104740000002B1130002400F0002600E00036A6015 +:10475000000031FE000039FD0002BC880002B5FEF9 +:104760000003866A000262260002A47E0003F001B4 +:104770000002B304000240050002600C00036A60FE +:1047800000034A96000340290002BC070003FF0013 +:104790000002444C000385440002C55E0003C1C50D +:1047A0000003E8400003E8600003E87000036A913A +:1047B0000002B4FF0002B57F0002B6FF0002B7FF9F +:1047C000000368610003686B0003FF000003FE0044 +:1047D0000003099C0003F0450003C09900030AAEE2 +:1047E0000003F0420003C0AA00030BBE00036A925C +:1047F000000380000003A00000036A600002BF10F5 +:1048000000022D040003EC000003402A0003472CA3 +:104810000002A0DE0003F0410003476C0002B67FF7 +:104820000003854C000240060002499E0003F0018F +:10483000000260050003C1100003C1200003C13065 +:104840000002A0DE0003F0440003672C0003673081 +:104850000003F4000003F0420003676C000367707C +:10486000000347340002A0DE0003F0410003477458 +:104870000002B6DF00038548000240060002600522 +:104880000003C1100003C1200003C1300002A0DEFC +:104890000003F04400036734000367380003F400AA +:1048A0000003F0420003677400036778000348C008 +:1048B0000002A0DE0003F041000348C40002B63F3E +:1048C000000242260002B6C00002A04E0003F00122 +:1048D0000003E860000262260002A0DE0003F0038D +:1048E000000368C00003F4000003F041000368C443 +:1048F0000003EC00000349980002B80F0002B9F56C +:104900000003E8300003C12E0002A0CE0003F00235 +:1049100000026008000241190003683000034808E3 +:104920000002B8400002A0CE0003F00200026008BE +:10493000000368080003EC000003615000036155A8 +:104940000003615A0003615F00022C05000341501F +:10495000000341550003415A0003415F0003FF007B +:104960000003FF000003EC000002B0FF0002B1BF33 +:104970000002B2FF0002B3FF000368600003EC0016 +:104980000002B07F0002B1FF0002B2FF0002B3FFDD +:10499000000368600003EC000002C44E0003F04A0C +:1049A0000002C55E0003F0480002C66E0003F04638 +:1049B0000002C77E0003F0440002B4FF0002B5FF0E +:1049C0000002B6FF0002B7FF0003EC000002A1CE18 +:1049D0000003F00700030CCE0002BF7C00022D0490 +:1049E0000003FF000003FF0000030CCE000212765C +:1049F0000003EC000003E80000008231000222E026 +:104A00000000F231000222E0000232F800022CF72E +:104A1000000349980002B4F70002B50F00024114E8 +:104A200000026005000369980003C12E0003E8300E +:104A3000000368300000020A000381E00003E84040 +:104A40000002A0010003F0010003C14E0002345E29 +:104A5000000348080002B8FE00024118000368087D +:104A60000002BC00000234090002343A0003400195 +:104A70000003E800000082310002444E0003F00110 +:104A80000002241B000340010003FF000000F2317C +:104A90000002455E0003F0010002241B0000020A30 +:104AA000000381E00003FF000002A4100003F002F5 +:104AB0000003C14E0002345E0002BC010002340952 +:104AC0000002343A0002BF03000236E4000233451C +:104AD00000022EA80002BF1000024FFB0001D2E02E +:104AE000000079CB0003FF000003FF000002A0FEDE +:104AF0000003F0060002BD000002369E0002BD0168 +:104B00000002369E0003F4000001D2E800034000DA +:104B10000002BC000000E2310002A10E0003F0011F +:104B200000023490000340000003FF000000F23157 +:104B30000002A11E0003F0010002349000034004B3 +:104B4000000340010002BC0800024CC10003F00A4F +:104B50000002BD000002444E0003F001000236C412 +:104B60000002BD010002455E0003F001000236C4F0 +:104B70000002BF000000F9CB0003F4000001D2E8FE +:104B8000000349D00002BC8000024CC30003F004C3 +:104B90000002BD000002367E0002BD010002367E2A +:104BA0000003402C0002B8400002B9800002BBFFA5 +:104BB00000034AA5000248180003F0010002BBCF21 +:104BC000000249190003F0020002BA3F00024BBA8A +:104BD0000002455B00036AA50003F4000001C25C0B +:104BE000000349D100022EA80003E8800002A510AE +:104BF0000003F0010002B840000244780003844042 +:104C00000003489C0002B504000264450002B67F20 +:104C100000024006000260040003689C000368A0D4 +:104C2000000368B4000368B8000349380002B5FC0B +:104C3000000242250002B50C00026225000369381B +:104C40000003E8000003E8D000022E820003C1DE6A +:104C500000022E8200022EA8000384E20003C1C9D4 +:104C60000003E8000002B1030002B20A0002B32D03 +:104C7000000244490003F0010002B32F0003E85092 +:104C800000022E71000380EA00022E710002B82F8C +:104C90000002B4020002444C0003F0010002B82DEF +:104CA0000003C1980003C1A80003C1B80003632A30 +:104CB0000003636A00022EA8000381E20003A0E162 +:104CC0000003A396000382E40002C22E0003E85012 +:104CD00000022E710003A0E300022E7100022EA834 +:104CE000000380E5000240A00003C1100003C120C2 +:104CF0000003C130000364A8000364E8000380E0FF +:104D0000000282080002420200038224000091D4C3 +:104D10000003EC0000022EA8000349700002448E3C +:104D20000003F0430002B5F300024225000369705E +:104D30000003E8700003C16E0003C1530003C142C9 +:104D4000000368310002449E0003F0060003499C02 +:104D50000003A4E1000262240003C1530003C14226 +:104D6000000368310002448E0003F04D0003499CAB +:104D7000000384E50003A5E700024004000241159A +:104D80000003A488000384400003854600026005F8 +:104D9000000261140003E8300003C12E00036830F4 +:104DA000000343A4000021D40002B5CF0002400557 +:104DB000000260040003C1100003C1200003C130E1 +:104DC000000363A4000363E4000244440003F00111 +:104DD000000236DF000381840003A018000382066E +:104DE000000260020003E8D000022E960003C1DE3C +:104DF00000022E96000349D100022EA80003E860AD +:104E00000002A5100003F0010002B6400002467641 +:104E10000003A66A000348900003A4BA0002A04E53 +:104E20000003F0410002B4040002B5030002A045F3 +:104E30000003F0410002B4010002B5F00002411588 +:104E4000000261140002B7FE000240070002600683 +:104E500000036890000368A800036894000368AC2E +:104E60000003A0A60003C1100003C1200003C1304D +:104E7000000364240003646400038AB6000348212D +:104E80000002B803000266680002B90F0002BBFE10 +:104E9000000246690002666A0002477B000368213F +:104EA00000036A890003682500036A8D000348082F +:104EB000000348210002611E00036808000348C87F +:104EC0000002B8400002B93F00026008000368C851 +:104ED00000024009000368C80003EC000003402CF6 +:104EE0000002B8400002B9800003E8B000034AA500 +:104EF000000248180003F0010002BB30000249190B +:104F00000003F0020002BAC000026BBA0002655B47 +:104F100000036AA50003489C0002BC7B0002400C11 +:104F20000003689C000368A0000368B4000368B82D +:104F300000034890000384E20003A5E70002411546 +:104F4000000261140002B5FE0002400500036890F3 +:104F5000000368A800036894000368AC00034938A4 +:104F60000002B503000262250002B5F300024225EB +:104F7000000369380003E8C0000234090002343A33 +:104F80000003E8000002B1030002B2090003E830A8 +:104F90000003E85000022E71000380EA00022E7127 +:104FA0000002B0040003C1100003C1200003C1309F +:104FB00000036324000363640002B0200003C110F7 +:104FC0000003C1200003C1300003632800036368AD +:104FD000000236DF00034808000348210003A8ED63 +:104FE00000024118000368080003A8EB00024668AD +:104FF0000003C03E000245530003682100036A8994 +:105000000003682500036A8D0003E8400002345E57 +:105010000003E8F000023E220002BF0100023E222F +:105020000003EC00000340290003FF000002B82A3F +:105030000002425E0003F0010002B8640002A0CE4C +:105040000003F0410002B8100003C1980003C1A89A +:105050000003C1B80003672E000367320003676EC8 +:10506000000367720002B82A0002425E0003F001EA +:105070000002B8E40002A0CE0003F0410002B81024 +:105080000003C1980003C1A80003C1B8000363AEC8 +:10509000000363EE0003489E0003C0140003A11C3C +:1050A000000381140002B0F700024880000268810A +:1050B0000003689E000368A2000368B6000368BA94 +:1050C00000034AEA0002B0FB0003812200024AA06A +:1050D00000026AA100036AEA00036AEE00036AF2B2 +:1050E00000036AF60003EC00000340290003473682 +:1050F0000002B0070002B1080002425E0003F001A6 +:105100000002B1180002A0CE0003F0410002B1007D +:1051100000024880000268810003C1980003C1A812 +:105120000003C1B8000367360003673A00036776DF +:105130000003677A000343B20002B0070002B128FF +:105140000002425E0003F0010002B1380002A0CE6E +:105150000003F0410002B1000002488000026881B3 +:105160000003C1980003C1A80003C1B8000363B2E3 +:10517000000363F20003EC00000349740003C16EF6 +:105180000003E870000388480003C05E00038559EF +:105190000002422500026228000369740003C14234 +:1051A0000003C153000368310003EC000002BF0399 +:1051B000000236E4000348080002B8FE000241186D +:1051C00000036808000340280002BC040002BF037B +:1051D00000024CC20003F00300023DCB0003F400C8 +:1051E0000001D48B000348540002BC600002622C12 +:1051F00000036854000349760002BC10000264AC4E +:105200000003C15B0003C16E0003E8700003683156 +:1052100000023144000348540002BC9F0002422CAB +:10522000000368540003C14A00036831000233AB35 +:105230000003424500023266000362450003EC00B1 +:1052400000006A3100022D080000F1E5000230285C +:1052500000022BC4000340040003400A0002BC0308 +:105260000002BF040002411C000306F10002400FCF +:105270000003F0010003C16A0002C46E0002B50819 +:10528000000238AE000340040003E8F00000FA0614 +:105290000002B240000242200001D4F100038F045A +:1052A0000003AFF80000FA03000349C10002BC0F7D +:1052B000000248CF0003A880000389820002BAE3FD +:1052C0000002444A00026449000249FE0003899238 +:1052D0000002BAFB0002455A00026559000369C189 +:1052E000000381860002608100022E960003E80020 +:1052F0000002A0DE0003F0410002B0400002B10352 +:105300000002B2090002B309000244EF0003F001F9 +:105310000002B30F0003E85000022E710002A3FC4C +:105320000001D4F10003E8C00000E1CE0000E1EE8E +:1053300000023657000340180002A0DE0003F041CF +:105340000003401C000041EE000061CE000260013D +:1053500000026002000260030002A10E0003F0429E +:105360000002C88E0000C1EE0002BA020002BB1F9C +:105370000002CCCA0000E1CE0002A5CB0001D4CCD3 +:1053800000004A0600007A030003FF000002A18922 +:105390000001D4EC00030FFE0002B0100002CFF0B9 +:1053A0000003E800000081E50003F4000001D4AA36 +:1053B0000002CFFE0000FA030000C2060003F40062 +:1053C0000001D4AA0003E8C00000E2030003E830B3 +:1053D0000002366B0003DCE00002BF080003D8F0D7 +:1053E0000002B0200003C1100003C1200003C1303F +:1053F0000002BF110003D41E0003FF000003FB00E6 +:1054000000030FFE000214FD000236570000620385 +:105410000002B0000003DC000003DC0100038FC2C7 +:105420000002B0400002C00F0003D8000002B03FED +:105430000002410F0002B0C00002C0010003D80109 +:105440000003D45E0003D01F0002BF100002A1CFF2 +:105450000001D51E0002A0DE0003F0030003C10A14 +:105460000003F4040003F0010003C10B0003D41F88 +:105470000003F4000001D5250002A0DE0003F003C4 +:105480000003C12A0003F4040003F0010003C12B50 +:105490000003D41F0002360F000340060002B01FB5 +:1054A0000002B1200003C12E000241180003F001E8 +:1054B0000002C22E0002CCC20000E2030002A5C01E +:1054C0000002150200034A940003FF00000360BCC1 +:1054D000000340040003DCE00002BF080003D8F032 +:1054E0000003DCE10002BF2C0003D8F10002BF087A +:1054F0000003AC160002A5CF0003F0430003C0CCAC +:1055000000026CCF0002CCCE0002BF080003D01E08 +:105510000003D05F0003C1890003C19A0003C1AB3F +:105520000002C4400003A0400002C00C0003C1B050 +:105530000002C5510003A1500002C11C0002A61BBD +:105540000003F0010003C1B10002C6620003A260C3 +:105550000002C22C0002A62B0003F0010003C1B21E +:105560000002C7730003A3700002C33C0002A63B05 +:105570000003F0010003C1B30003D41E0003D49F55 +:105580000003FB000003FB0100030FFE00021543B4 +:1055900000034138000341490003412A0002BC0EC8 +:1055A0000002A3010003F0010003C1010002A302F5 +:1055B0000003F0010003C1020002A3030003F00195 +:1055C0000003C1030002A3080003F0010003C108A7 +:1055D0000002A3090003F0010003C1090003E81061 +:1055E0000002A60C0003F0030003C00000038006C5 +:1055F0000003A1060003C1010002A3450003F0015E +:105600000003C1450002A3460003F0010003C146A8 +:105610000002A3470003F0010003C1470002A34AB0 +:105620000003F0010003C14A0002A34B0003F00194 +:105630000003C14B0003E8200002A64C0003F00366 +:105640000003C044000384460003A2460003C132A5 +:105650000002A0DE0003F003000364A80003F404CA +:105660000003F001000364E80003DCE00002BF086F +:105670000003D8F00003D05E0002BF040003DCF199 +:105680000002BF800002A0DE0003F0410002BFC0A4 +:105690000003D8F10002BC100002B8010002B903F7 +:1056A0000002BA0F0002A14C0003F0450003C04401 +:1056B0000002444A000304040003F4040003F0025F +:1056C0000003044A0002C4400002A15C0003F0454C +:1056D0000003C0550002455A000305050003F40409 +:1056E0000003F0020003055A0002C5500002A16C3D +:1056F0000003F0450003C0660002466A0003060688 +:105700000003F4040003F0020003066A0002C6600E +:105710000002A17C0003F0450003C0770002477A35 +:10572000000307070003F4040003F0020003077AF4 +:105730000002C7700003D45F0003FB000003FB01FD +:105740000003D05E0003088E000215A90002B80114 +:105750000003C1010003C1120003C1230003099E1D +:10576000000215A9000344A80002A0DE0003F041D6 +:10577000000344E80002A14C0003F0450003C044CC +:105780000002444A000304040003F4040003F0028E +:105790000003044A0002C4400002A15C0003F0457B +:1057A0000003C0550002455A000305150003F40428 +:1057B0000003F0020003055A0002C5510002A16C6B +:1057C0000003F0450003C0660002466A0003062697 +:1057D0000003F4040003F0020003066A0002C6623C +:1057E0000002A17C0003F0450003C0770002477A65 +:1057F000000307370003F4040003F0020003077AF4 +:105800000002C7730003D45F00022CF70002346B60 +:105810000002302800022FEF0003EC0000022EA847 +:105820000003A3960002366B000380E5000243A04C +:10583000000236740003F4000001D6020003C19098 +:105840000002A1CF0003F0010003C19200036275C2 +:105850000000C9CE0003DCE00002BF080003D8F05E +:105860000003DCE10002BF2C0003D8F10002BF01FD +:105870000003C10400023631000342750002BF017B +:105880000003FF000003C10500023631000342752A +:105890000002BF010003FF000003C1060002363111 +:1058A000000342750002BF010003FF000003C107AF +:1058B00000023631000001CE0002BF000002363186 +:1058C0000003EC000002B2200003D05E0003D09F72 +:1058D0000002410E0003F0440002A0420003F04128 +:1058E0000003C14C0003C18C0003A0000002410E64 +:1058F0000003F0440002A0520003F0410003C15C29 +:105900000003C19C0003A0000002410E0003F0440C +:105910000002A0620003F0410003C16C0003C1ACAF +:105920000003A0000002410E0003F0440002A07238 +:105930000003F0410003C17C0003C1BC0003D45E3E +:105940000003D49F0003FB000003FB010003A00041 +:1059500000030FFE000216320003EC000002B31039 +:105960000002A5C30003F0060003C03C0003833619 +:105970000003A336000236740003F4000001D6646D +:105980000002B30F0002CCCE0002433C0002366B93 +:10599000000231B800022CF70002346B0002BF187D +:1059A0000002385C00022EEC0003EC000002B1049F +:1059B0000002B0800002A0DE0003F0410002B0C08F +:1059C0000002B2090003E85000022E710003EC004F +:1059D0000003C1030003C1130003C1230002A0DEC2 +:1059E0000003F003000364A80003F4040003F001C3 +:1059F000000364E80003EC00000340040002BC80E4 +:105A00000003FF0000024CC00001D69E00034101CC +:105A10000002A0DE0003F041000341050002B104D2 +:105A20000002B0800002A0DE0003F0410002B0C01E +:105A30000003DC100003D8000003C184000236BB61 +:105A40000003C185000236BB0003C186000236BBDD +:105A50000003C187000236BB0002A0DE0003F00392 +:105A6000000364A10003F4040003F001000364E1F7 +:105A70000003F4000001D6B80002B1040002B080B7 +:105A80000002A0DE0003F0410002B0C00003DC1100 +:105A90000003D8010002B1010002B0080002A0DE3C +:105AA0000003F0410002B02C0003DC100003D8001A +:105AB0000002BF0800022EB4000341010002A0DE74 +:105AC0000003F041000341050002A0DE0003F003E3 +:105AD000000364A90003F4040003F001000364E977 +:105AE00000022CF70002346B0003EC000003C198A5 +:105AF0000003C1A80003C1B80002B2010003D49E94 +:105B00000003FB000003022E000216BF0003EC009E +:105B10000002B1040002B0800002A0DE0003F041E8 +:105B20000002B0C00003DC100003D8000002B10185 +:105B30000002B0080002A0DE0003F0410002B02C19 +:105B40000003DC110003D8010002BF0800022EB4DC +:105B5000000344A80002A0DE0003F041000344E873 +:105B60000002A0DE0003F003000361000003F40460 +:105B70000003F001000361040003EC0000034B0C80 +:105B80000002B5FC0002411500036B0C0003EC00A1 +:105B900000034B0E0003C0CF00026AAF00036B0E80 +:105BA0000002314400024AAC00036B0E0003EC001B +:105BB0000002BF03000236E4000349C0000349D5D8 +:105BC00000024C0E0003F0420003F4000001D7294C +:105BD000000349C0000387760002A6700003F0426C +:105BE0000003C1120003E8000003A216000381169F +:105BF0000003A116000348910002BCF00002455CBE +:105C0000000265520002BC040002430C0003A332F0 +:105C10000002BCFE0002444C000264430003689191 +:105C200000036895000368A9000368AD0003C14143 +:105C30000003C1510003C1610003C171000364216D +:105C40000003642500036461000364650002BC0274 +:105C50000002420C0003822A0003489D0002B37F29 +:105C600000024443000264420003689D000368A1EF +:105C7000000368B5000368B90002A10E0003F0023A +:105C8000000236DF0002B0100003C1100003C12083 +:105C90000003C130000363A0000363A4000363E0BA +:105CA000000363E40003497C0002B4FB00024114DA +:105CB0000003697C0003686B0003F4000001CC055D +:105CC0000002302800022FEF000340000003FF0015 +:105CD0000003FF000003A00C0003A11C00038110BF +:105CE0000002611000030F1E0003E8D00002A0FEB6 +:105CF0000003F0410002BD010003C1CE00034808CB +:105D00000003FF00000384E8000260040003680849 +:105D1000000349980002B5FB000241150003699891 +:105D20000002B40F000260040003E8300003C12E3B +:105D30000003683000034971000381E10003C106DC +:105D4000000261710003C12E0003E83000036830D7 +:105D500000022D480003F8010003400D0003FF007E +:105D60000002B00100024006000217690002A0FE16 +:105D70000003F0020002A0ED0003F0050002BB3EAC +:105D800000024BB60003ABB00003F4040003F006BE +:105D90000003A66A0002C66E00030BA60003F4040B +:105DA0000003F0010003E8B0000348190002B2E06C +:105DB000000246620002666B00036819000349E5B1 +:105DC0000003FF00000246620002666B000369E503 +:105DD0000003C1AB00022D0800022D610002B40FC8 +:105DE0000002314400034A400003F8010002A440CD +:105DF0000003F0060002A4410003F0040002A442E4 +:105E00000003F0020002A043000217960002CAAE8F +:105E10000002B0200002A0A00003F0410003E8A0AF +:105E20000002A0AB000217C0000348190002B2E054 +:105E3000000246620002666A00036819000349E531 +:105E40000003FF00000246620002666A000369E583 +:105E50000003F404000217760002A3FE000217CA32 +:105E60000000D1D00002A0DE0002179F0000D1D1B7 +:105E70000002CDDE0003F40400021755000041D1FA +:105E80000003FF000003FF000002A0A8000217CAE1 +:105E90000002A1A80003F048000348210003038A80 +:105EA00000038330000267730003682100036A89DE +:105EB0000003F404000217CA000348190002B2E00C +:105EC000000246620002666800036819000349E5A3 +:105ED0000003FF000002466200026668000369E5F5 +:105EE00000034825000303A8000383300002677302 +:105EF0000003682500036A8D0003F404000217CA3A +:105F0000000340110003E8C00000F1E50002B88082 +:105F10000002677800036011000349980002B5048D +:105F20000002611500036998000348080003FF00A0 +:105F3000000384C800026004000368080003F8033B +:105F40000003EC0000006A310003E8000000820C4E +:105F5000000081CF000238CA000340240003FF0084 +:105F60000003FF000002400E0003F04B000340104E +:105F70000002BC040003DCC000038FEA0002A0DEC4 +:105F80000003F0010003E8F00003D8F00002BC09B0 +:105F90000003C1B100022D8B000340240003FF0069 +:105FA0000002BC020002400C0003F04B0003401052 +:105FB0000002BC040003DCC00002BFC00002A0DE7F +:105FC0000003F0010002BF800003D8F000038CE45E +:105FD0000003C1B100022D8B00022BC40002B406E5 +:105FE0000002B5080002B604000238AE0002BF1875 +:105FF0000002385C000238830002BF0000022FF468 +:1060000000034A700003FF000003FF000002B2908B +:1060100000036A700002BF130002385C000238837C +:10602000000340240003FF000003FF000002400EB5 +:106030000003F04B000340100002BC040003DCC06E +:1060400000038FEA0002A0DE0003F0010003E8F085 +:106050000003D8F00002BC0900038B1000022D9F42 +:10606000000340240003FF000002BC020002400CB9 +:106070000003F04B000340100002BC040003DCC02E +:106080000002BFC00002A0DE0003F0010002BF80DA +:106090000003D8F000038CE400038B1000022D9F56 +:1060A00000034A700003FF000003FF000002B280FB +:1060B00000036A700002BF180002385C00023883D7 +:1060C0000002BF0000022FF400034A700003FF002B +:1060D0000003FF000002B29000036A700002BF13C9 +:1060E0000002385C00023883000340240003FF00F4 +:1060F0000003FF000002400E0003F04B00034010BD +:106100000002BC040003DCC000038FEA0002A0DE32 +:106110000003F0010003E8F00003D8F00002BC091E +:106120000003C1B100022D8B000340240003FF00D7 +:106130000002BC020002400C0003F04B00034012BE +:106140000002BC040003DCC00002BFC00002A0DEED +:106150000003F0010002BF800003D8F000038CE4CC +:106160000003C1B900022D8B000238EC0003EC00E3 +:106170000003E8000003C0000002B1BF0003C1201B +:106180000002B3FF000368600002302800022FEF16 +:1061900000000A2D000011FE000019FD0002B002EF +:1061A0000002A0DE0003F0410002B00400038116EB +:1061B000000260010003822A0002B1840002622111 +:1061C0000002A43E0003F0010002B3040003C11F5B +:1061D00000036A6000034A640002B480000011EC0E +:1061E000000240040002B403000260040002B31085 +:1061F00000036A6400022EBD0002BF0800024FF0D7 +:106200000003F0010000F20C0003EC000000020C9F +:106210000003FF000003FF000002A50E0003F001D1 +:106220000003EC000003E8000000820C00034012B1 +:106230000003FF000003FF000002448E0002A04E96 +:106240000003F0010000F1E50002BF400002A0DE03 +:106250000003F00300026AAF0003F4000003F04102 +:1062600000026BBF0003601200022EEC000079CF29 +:106270000003FF00000340200002A0FE0003F041E5 +:106280000003EC000002A0DE0003F0050002C00ED7 +:106290000003F0410002B0FF0003F4000003F043EC +:1062A0000002C11E0003F0410002B1FF00036020A4 +:1062B0000000F1CF0003EC000002B0010002B102C7 +:1062C0000003C1240003E83000036A680003C1250D +:1062D0000002B0130002B102000382260003E8307E +:1062E00000036A700002B0210002B1020003C1265F +:1062F0000002B30100036A740002B0010002B1029F +:106300000002B20F0002B30100036A7800034A7C66 +:106310000003FF000002B0000002B1000002B3045D +:1063200000036A7C0003EC000002B0010002B1111E +:106330000002B21000036A440002B1100003E8201A +:1063400000036A440002A0DE0003F0030002BB5316 +:106350000003F4000003F0410002BB5B0000D9EC35 +:10636000000348080002B440000081E60002600417 +:1063700000036808000348010002B0BF0002444067 +:10638000000368010003E8000002B1400003E820B8 +:106390000003E83000036A440002B0010003E81083 +:1063A0000003E8200003E83000036A600003EC000B +:1063B0000002302800022FEF000021E60003FF005A +:1063C000000348080003FF000003C104000368083D +:1063D0000003EC0000000A3200006A310003FF00F5 +:1063E0000002401E0003F0410003EC00000238CA26 +:1063F0000002BF0000022FF40000321A0003FF0069 +:106400000002B5090003A6620002C66E0002C46E57 +:10641000000238AE000340280003E8F00002A0DECE +:106420000003F0410002BF400000F9E00003A00CAF +:10643000000081C5000340180003401D0003402EEA +:10644000000061E50003FF000003FF00000361504E +:10645000000361550003615A0000E1C700034010CA +:10646000000079E00002BC040003DCC00003D8F0A7 +:106470000002BC090003C1B100022D8B0003E8C07B +:106480000000E1CE0002B0100002B1000002B21024 +:106490000002B300000362740002B0800003D80160 +:1064A0000002B0000003DC010002B0120002B102E1 +:1064B0000002B2120002B302000362740002B010C4 +:1064C0000002B1120002B2100002B31200036270A7 +:1064D000000362440003624C000362480003C18C65 +:1064E0000003C19C0003C1AC0003C1BC000239DB46 +:1064F000000231B80002BF130002385C00022EEC2B +:10650000000061CE0003FF000002B0000003DC00C9 +:106510000002B04000038FC20002C00F0003D80089 +:10652000000340180002A0DE0003F0410003401CFD +:106530000003402D0003FF000003D41E0003D45FBE +:106540000002BF010003DCF00002BF00000388C2AC +:106550000002CFF80003D8F00003C4000003C41108 +:106560000003C4220003C4330002A0DE0003F04194 +:106570000003C1670002B511000244650003C44472 +:106580000002C0040002B522000244650003C444B6 +:106590000002C1140002B544000244650003C44473 +:1065A0000002C2240002B588000244650003C4440E +:1065B0000002C3340003D41E000079C500034275F5 +:1065C0000003427200024FFE0003F0420002C001CD +:1065D0000002C2230002A1040003F0460002A50944 +:1065E0000003F0040003C18C0003C1900003C1ACA0 +:1065F0000003C1B00002A3090003F0420003C1ACD4 +:106600000003C1B000036272000342460002A126EB +:106610000003F0460002A5290003F0040003C18C2A +:106620000003C1920003C1AC0003C1B20002A32960 +:106630000003F0420003C1AC0003C1B20003624694 +:106640000002A0FE0001D9AE0003424E0002A115D7 +:106650000003F0460002A5190003F0040003C18CFA +:106660000003C1910003C1AC0003C1B10002A31932 +:106670000003F0420003C1AC0003C1B10003624E4D +:106680000003424A0002A1370003F0460002A53988 +:106690000003F0040003C18C0003C1930003C1ACEC +:1066A0000003C1B30002A3390003F0420003C1ACF0 +:1066B0000003C1B30003624A000362740003FB01DC +:1066C0000002B1100002CCCE0000E1CE0002A0C159 +:1066D0000001D93700034270000342450003FF0068 +:1066E0000002C8020003A8800002CA460003AAA054 +:1066F0000003424C000342490003FF000002C902AC +:106700000003A9900002CB460003ABB0000239DBC6 +:1067100000034010000079E00002BC040003DCC06C +:106720000003D8F00002BC090003C1B100022D9F94 +:106730000002302800022FEF0003415000034155B2 +:106740000003415A000061C70003FF000003FF007F +:10675000000360180003601D0003602E0000E1E5E7 +:106760000003EC000002BB210002BB10000001C5C9 +:106770000003FF000003FF000002400E0001DA13D7 +:106780000003A9840003ABA40002BC0F00038880AF +:106790000002488C00038AA000024AAC0003489C17 +:1067A000000348A10002A0DE0003F042000348B449 +:1067B000000348B90003C1180003C15A00038C1636 +:1067C00000038F560002611C0002655F0002A0DE1C +:1067D0000003F0040003689C000368A10003F400B8 +:1067E0000003F042000368B4000368B900034AE8FC +:1067F00000034AED0002A0DE0003F04200034AF06D +:1068000000034AF50002BCEE0002400C0002444CBA +:106810000003889600026C980002600C00038AB6A0 +:1068200000026CBA0002644C0002A0DE0003F00417 +:1068300000036AE800036AED0003F4000003F0427D +:1068400000036AF000036AF50003EC000002BF05D4 +:106850000002BC000002A0DE0003F0410002BC40C8 +:106860000003DCF00003D8C00002BC800002688C8A +:106870000002699C00026AAC00026BBC0003C10804 +:1068800000023A2B0003C10900023A2B0003C10A9F +:1068900000023A2B0003C10B00023A2B0003D49EE6 +:1068A0000003FB000003D49E0003EC000003C110B2 +:1068B0000003C1200003C1300003D41E0003FB000D +:1068C0000003D41E0003FB000003EC0000006A314B +:1068D00000022D080003E8000002B1600003E82078 +:1068E0000003E830000369A0000349980002B80FD4 +:1068F0000002B5F50002B3000003C12E00026008DB +:1069000000024115000368300002BF0100022D049F +:10691000000238CA000230280003402C0002BF04E5 +:106920000003FF0000024FF00003AFF20003E8F0A5 +:1069300000022FF40000321A0003FF000002B50924 +:106940000002C46E000238AE0003E8F00002A0DED0 +:106950000003F0410002BF400000F9E0000059C709 +:10696000000079E00002BC040003DCC00003D8F0A2 +:106970000002BC0900022D8B0003E8C00000E1CE3C +:106980000000E1C60003E8800003E8A0000239DB54 +:106990000002BF400002BC000003DCC10003D8F1CC +:1069A0000002BF400003DCE00003D8F0000231B871 +:1069B0000002BF130002385C00022EEC0002A0DED1 +:1069C0000003F0410003C1AB000061CE000079C6B6 +:1069D0000003D45F0003FB010003D05E0002BB0292 +:1069E0000002A1FE0003F0410003C14A0002A0FE24 +:1069F0000003F0410003C15A0002A0FB0003F04174 +:106A00000003C16A0002A6FB0003F0410003C17A43 +:106A10000003D45E0003FB000002B0100002CCCEE5 +:106A20000002A5C00003F0060000E1CE0003C18C07 +:106A30000003C1AC000239DB0003F4000001DA6B93 +:106A40000002B1040002CFFE0000F9C60002A1F16D +:106A50000001DAA60003E8B00000D9CE0003C18B24 +:106A60000003C1AB000239DB000079E00002BC0486 +:106A70000003DCC00003D8F00002BC090003C1BE63 +:106A800000022D8B0003DCE00002BB400003D8B005 +:106A90000003F4000001DA6B000238EC0002B808D1 +:106AA0000002BA08000239DB000059C7000079E093 +:106AB0000002BC040003DCC00003D8F00002BC03E9 +:106AC0000002CBBC0002BC0900022D9F0003480855 +:106AD0000002B460000260040003680800034998E3 +:106AE0000003FF000002B2010003E8300003683039 +:106AF0000003EC000002B404000246340002A0646B +:106B00000001DACA0003E8F000023DF40002BF0110 +:106B100000023DF40003686B000342490002326644 +:106B2000000362490003EC000003424D000232669C +:106B30000003624D000348640003F8010002BD0C2D +:106B4000000249D20002A0D90003F0460002BF03B0 +:106B500000023B290002BF030002BD0000023B0A05 +:106B60000003EC000002BD04000249D20003F0065D +:106B70000002BF0100023B290002BF010002BD006C +:106B800000023B0A0003EC000002BD08000249D2EB +:106B90000003F0060002BF0200023B290002BF0210 +:106BA0000002BD0000023B0A0003EC000002BD60D1 +:106BB000000249D20002A0D90003F0470002BF033F +:106BC00000023BB00002BF030002BD010002BC0195 +:106BD00000023B0A0003EC000002BD20000249D283 +:106BE0000003F0070002BF0100023BB00002BF013A +:106BF0000002BD010002BC0100023B0A0003EC00E0 +:106C00000002BD40000249D20003F0070002BF02AB +:106C100000023BB00002BF020002BD010002BC0145 +:106C200000023B0A0003EC000003486200024CCE65 +:106C300000021B1C000380F20003C000000381F867 +:106C40000003C01100024DDE0003F0450003C00048 +:106C500000026AA000024AA10003F4040003F0034A +:106C60000003C01100024AA000026AA1000368628A +:106C70000002B0F200026AA00002A00A0003F0477E +:106C8000000348400002B4080002B5F70002611496 +:106C90000003684000024115000368400003686B70 +:106CA0000003EC00000348540003E8800002B9032D +:106CB00000024BFE0003F001000268890002BA02E4 +:106CC0000002B90C00024BFA0003F00100026889CF +:106CD00000026338000368540003E8900002B40423 +:106CE00000024BFE0003F0010002699A00024BFA19 +:106CF0000003F00100026994000349600003686B1F +:106D00000003FF000003FF00000348650003FF00CD +:106D100000024BD60002A0BD0001DBA700024B938E +:106D20000001DB3E00034028000384F00000A202C3 +:106D30000003A226000231440003022E0001DB4DB5 +:106D4000000348040002B4EF00008A2C0002411442 +:106D5000000368040002B58000024BFE0003F0054A +:106D6000000348980002B4BF0002433400026335B8 +:106D70000003689800024BFA0003F005000348B0D6 +:106D80000002B4BF0002433400026335000368B060 +:106D900000023DE80002B604000368310003402809 +:106DA000000231440002411A00021B9000004A0117 +:106DB0000003FF000002B8800003C0990003899C13 +:106DC00000024BFE0003F0060003493C0003489913 +:106DD00000026338000264490003693C00036899BB +:106DE00000024BFA0003F00600034940000348B1DB +:106DF000000263380002644900036940000368B17F +:106E000000024BFE0003F006000348900003489583 +:106E1000000260080002644800036890000368955F +:106E200000024BFA0003F006000348A8000348AD37 +:106E30000002600800026448000368A8000368AD0F +:106E4000000340280003FF000002B80400024118BC +:106E50000003F00100023C68000340280003FF002B +:106E60000002B808000241180003F00100023D2AA8 +:106E7000000348400002B88000024BFE0003F0010E +:106E80000002611800024BFA0003F00100026228C0 +:106E9000000368400002BC010003EC0000034854FA +:106EA0000003C088000243380003685400034249CD +:106EB00000023266000362490002BC000003EC00DD +:106EC000000340280000F9BB0002B8080002411886 +:106ED0000003F00100023D41000340280003FF00D1 +:106EE0000002B804000241180003F00100023CB7A0 +:106EF000000340280003FF000002B802000241180E +:106F000000021BE700024BFE00021BCA0003493CC3 +:106F1000000348990002B87F000243380002444849 +:106F20000003693C000368990002BC0200024BFCAC +:106F300000021BD400034940000348B10002B87F9F +:106F4000000243380002444800036940000368B16E +:106F500000024BFE00021BDD000348900003489531 +:106F60000002B87F00024008000244480003689015 +:106F7000000368950002BC0200024BFC00021BE704 +:106F8000000348A8000348AD0002B87F0002400893 +:106F900000024448000368A8000368AD00034028CD +:106FA0000003FF000002B80E0002411800021C0797 +:106FB00000023D1400024117000368C8000348089E +:106FC0000002B810000241180001DC0700024BFE6D +:106FD00000021BFC000348200002B4010002B5FCC3 +:106FE00000026114000368200002411500036820BC +:106FF0000002BC0200024BFC00021C0600034824F5 +:107000000002B4010002B5FC000261140003682410 +:107010000002411500036824000236E400024BFE22 +:1070200000021C0E000348980002B4C00002633442 +:1070300000024334000368980002BC0200024BFCCB +:1070400000021C16000348B00002B4C00002633402 +:1070500000024334000368B00002BC0300023DC8D4 +:10706000000348400002B87F00024BFE0003F0011D +:10707000000242280002BC0200024BFC0003F001A7 +:107080000002411800036840000348080002B810DD +:10709000000241180001DC31000340280002BC045A +:1070A0000003FF0000024CC20003F00300023D5841 +:1070B0000003F4000003F04100023DCB00024EEE5D +:1070C0000001DC330002BC0800023DC8000079BBAF +:1070D0000003FF000003FF0000024BFE0003F0046A +:1070E000000348980002B43F00024334000368984C +:1070F0000002BC0200024BFC0003F004000348B095 +:107100000002B43F00024334000368B0000348406B +:107110000002B8200002488100021C4A00023DE83B +:107120000002B602000368310003497C0002B80285 +:107130000002488000021C510003497100023DE832 +:1071400000036831000348040000222C0003FF0004 +:107150000003FF000003C11400036804000079BBB2 +:107160000002B8000002BC020003485400024BFEBB +:107170000003F0010002B80300024BFC0003F00220 +:107180000002BC0C0002688C0003C0880002433877 +:1071900000036854000380F8000082020003EC0042 +:1071A000000348080002B810000241180001DC7911 +:1071B00000024BFE0003F00400034A540002B40F27 +:1071C0000002600400036A540002BB0200024BFB91 +:1071D0000003F00400034A580002B40F00026004E8 +:1071E00000036A5800024BFE0003F00400034A54F7 +:1071F0000002B4F00002600400036A540002BB0203 +:1072000000024BFB0003F00400034A580002B4F0F4 +:107210000002600400036A58000348080002B81026 +:10722000000241180001DC9700024BFE0003F0044D +:1072300000034A540002B40F0002611400036A54B0 +:107240000002BB0200024BFB0003F00400034A589B +:107250000002B40F0002611400036A5800024BFEE2 +:107260000003F00400034A540002B4F00002611469 +:1072700000036A540002BB0200024BFB0003F0044F +:1072800000034A580002B4F00002611400036A5877 +:10729000000348080002B810000241180003F00182 +:1072A0000003EC0000024BFE0003F00400034A540C +:1072B0000002B4010002622400036A540002BB020F +:1072C00000024BFB0003F00400034A580002B40123 +:1072D0000002622400036A580003EC00000348081F +:1072E0000002B810000241180001DCC800024BFE89 +:1072F0000003F00400034A540002B4FE00024224DA +:1073000000036A540002BC0200024BFC00021CC8CD +:1073100000034A580002B4FE0002422400036A58E7 +:1073200000024BFE0003F00400034A540002B40FB5 +:107330000002411400036A540002BC0200024BFC2C +:1073400000021CD500034A580002B40F0002411489 +:1073500000036A58000348080002B8100003FF0049 +:10736000000241180001DCE700024BFE0003F004BC +:1073700000034A540002B4F00002411400036A54AE +:107380000002BC0200024BFC00021CE700034A584A +:107390000002B4F00002411400036A5800024BFEE0 +:1073A0000003F00400034A540002B40F000240043A +:1073B00000036A540002BC0200024BFC00021CF4F1 +:1073C00000034A580002B40F0002400400036A5848 +:1073D000000348080002B810000241180001DD0552 +:1073E00000024BFE0003F00400034A540002B4F014 +:1073F0000002400400036A540002BC0200024BFC7D +:107400000003F00400034A580002B4F000024004F4 +:1074100000036A580002BC0800023DC800023D1487 +:107420000003C1DF00024BDE0003F0020002BF00D8 +:1074300000023DF40002BC0200024BDC0003F0023B +:107440000002BF0100023DF40003C1FD0003EC0097 +:107450000002B7FC0002B6330002B5440002B400DB +:10746000000348C80002A0FE0003F0410002B4017E +:107470000002BC020002A0FC0003F0410002B402C2 +:1074800000026114000368C800026005000368C8B8 +:107490000003FF0000024006000368C80002BC02AF +:1074A00000023DC80003EC00000348080002B810C9 +:1074B000000241180001DD3B00024BFE0003F00416 +:1074C000000348980002B47F000242240003689839 +:1074D0000002BB0200024BBF0003F004000348B0EF +:1074E0000002B47F00024224000368B00003493860 +:1074F000000384F20003C044000242240003693800 +:107500000003EC0000034938000384F20002622407 +:1075100000036938000348080002B810000241184F +:107520000003F0010003EC0000024BFE0003F00436 +:10753000000348980002B4800002622400036898A7 +:107540000002BB0200024BBF0003F004000348B07E +:107550000002B48000026224000368B00003EC0063 +:10756000000342490002326600036249000241FE04 +:1075700000021D65000343AE0002B0EF0003FF00F0 +:1075800000024BB000024AB0000249B0000248B00D +:10759000000363AE0002B102000241F100021D705F +:1075A000000343EE0002B0EF0003FF0000024BB007 +:1075B00000024AB0000249B0000248B0000363EE86 +:1075C0000003485400038CF80002622C0003685446 +:1075D000000349740002BCDF0002442C0003C153C5 +:1075E00000023DE800036831000231440002BC1093 +:1075F0000002644C00036831000231440003485427 +:107600000002BC9F0002422C00036854000349742E +:107610000003FF000003C1420003C15300023DE824 +:1076200000036831000241FE00021D93000343AED7 +:107630000002B0100003FF0000026BB000026AB04D +:10764000000269B0000268B0000363AE0002B1023C +:10765000000241F100021D9E000343EE0002B01043 +:107660000003FF0000026BB000026AB0000269B0C4 +:10767000000268B0000363EE0002BC02000247FE95 +:1076800000024CFC00026CC70002B7030002A07F9E +:107690000003F0410003E8C0000348C80002B840FE +:1076A0000002B93F000260080002611C000368C8C4 +:1076B00000024009000368C80003C0CC0002411C5E +:1076C000000368C80002BBFC00024AFE0003F00889 +:1076D000000348210003FF000002655E00036821EB +:1076E00000036A890002455B0003682100036A8980 +:1076F0000002BA0200024AAF0003F0080003482566 +:107700000003FF000002655E0003682500036A8D28 +:107710000002455B0003682500036A8D0003EC004E +:1077200000030CCE0001DDC80003EC0000023DE8C0 +:107730000002B602000368310002B6010003499E50 +:107740000002BC10000264AC0003C15B000368319E +:107750000003499A0002BC02000264AC0003C15B52 +:10776000000368310003FF00000349740002BC10ED +:107770000002642C0003C15300036831000231444D +:107780000003C0CC0002444C0003683100023144C5 +:107790000003C14A0003C15B000368310003EC0031 +:1077A0000003C16E0002B70300024DFE0003F002A9 +:1077B0000002BD020002477D0002BD0200024DFD35 +:1077C0000003F0020002BD010002477D0003EC004F +:1077D0000002B8040002B1020002B08000024FFEB5 +:1077E0000003F0010002B0C000023E420002B103FB +:1077F0000002B00000024FFE0003F0010002B040A2 +:1078000000023E420002B1030002B08000024FFEBF +:107810000003F0010002B0C000023E420002B104C9 +:107820000002B00000024FFE0003F0010002B04071 +:1078300000023E420002B1040002B08000024FFE8E +:107840000003F0010002B0C000023E4200024FFE01 +:107850000003F04700034734000347390003FF00EB +:1078600000036734000367390003F4040003F005E4 +:1078700000034774000347790003FF0000036774A7 +:10788000000367790003EC000002B8040003E8007D +:107890000003E8100003E8200003E83000024FFE78 +:1078A00000021E300003652C0003653000036534C0 +:1078B000000365380003653C0003F4000001DE3579 +:1078C0000003656C00036570000365740003657850 +:1078D0000003657C0002B1060002B00000024FFE0A +:1078E0000003F0010002B04000023E420002B10677 +:1078F0000002B08000024FFE0003F0010002B0C0A1 +:1079000000023E420003EC000002C2080003DC104B +:107910000003D8000003DC110003D8210003D01EAF +:107920000003D05F0002BC070003D41E0003D45F35 +:107930000003FB000003FB000003FB010003FB014D +:107940000003D01E0003D05F00030CCE0001DE4A0E +:107950000003EC000003FF000003FF000003FF0032 +:047960000003FF0021 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/radeon/PITCAIRN_rlc.bin.ihex +++ linux-lts-quantal-3.5.0/firmware/radeon/PITCAIRN_rlc.bin.ihex @@ -0,0 +1,513 @@ +:10000000C4080027308C000298C00419308C00010D +:1000100098C001F0308C000398C0041680000008DE +:1000200004180001CD80000ECD80002D8C0001034E +:10003000CC000002CC00000BCC000023C03030E22A +:10004000282C0003CEF10000C0083100C489000054 +:10005000248C000498C00006C03E00D02BFC00FF9A +:10006000C03BFFFFC037FFFF8C00013A248C000823 +:1000700098C00006C03E00B02BFC00FFC03BFFFF55 +:10008000C037FFFF8C00013A248C001098C0000696 +:10009000C03E00702BFC00FFC03BFFFFC037FFFFDE +:1000A0008C00013ACC030008CC030006CC03002DE1 +:1000B000CC03002EC40C00D724E00001CE030009BD +:1000C00024E4000232640002CE43000ACE4300075B +:1000D000CC030000CC030022CC030023CC03001D82 +:1000E000CC030024CC03001CCC03000BC00C001F6D +:1000F00010CC000828CC001FC008001F108800107A +:100100007CC8C00AC008001F108800187CC8C00A3C +:10011000CCC30002C01C226F8C0001A4CE8300223D +:100120007E82C00AC01C22708C0001A4CE830023F2 +:100130007EAE800ACE830001C00C310CC4CD00001D +:10014000CCC30005C40F0002C0103103CCD10000A5 +:10015000CCC3000FCC03000DC0100000CC13001066 +:10016000CC130014CC13001805100001310C00044E +:1001700094C0FFFBC40D3103C40C003ACC00002D29 +:10018000C40800039880FFFFCD800010CD800011CF +:10019000CC000012CC00000EC4080036C4280001B8 +:1001A00096800006CD80000E28080001C40C0021B6 +:1001B000CC80000180000088C4080010948000A654 +:1001C000C4080011948000A4C42800009680000D8B +:1001D000CD80000E28080001C40C0020CC80000057 +:1001E000328801BB94800003CC03000080000090A3 +:1001F000328801BC9480000BCC030000800000B763 +:10020000C427000096400003CC030000800000904B +:10021000C42B000E9680FFE08C00014F800000652B +:1002200026A800FF14E400041264000824DC000F78 +:100230007E5CC00ACCC00023CE80000C800000652C +:10024000CC00002DCD80000ECC030000C030304922 +:10025000C7090000C03200107CB1C00995C0FFCEB4 +:10026000C0303101C7090000249C000195C0001B6B +:1002700014AC000826EC00FFC0240001C0200000E0 +:100280008C0001D496000003CD830000800000653F +:100290008C0000D497800003C40C001094C00003AD +:1002A000CD83000080000065C40C001C94C00003D6 +:1002B000CD830000800000B7C0303101C7090000C5 +:1002C000249C000295C000058C0000EE96000003FF +:1002D000CD830000800000B780000065CD80000E57 +:1002E000CD80002DC4080012948000028C0000C252 +:1002F000C4080010988000028C000103C42700008D +:100300009A40005980000065C42B00028C0001E86F +:10031000C00E80007F8F800AC00E80007F4F400A91 +:10032000283C00A013FC00102BFC00FF8C00013ABD +:10033000C01C3105C5ED000012EC001826EC00FFD2 +:10034000C02400008C0001C7CC0000129000000007 +:10035000280C00018C000121283800018C00012E9E +:10036000283800008C00012A9780000EC038310127 +:10037000C7B9000017B8001027AC07FF96C00003EC +:10038000C02400008C0001C7CD800002C41000030F +:100390009500FFFFCC000010C03800019000000065 +:1003A000283800008C00012E280C00008C00012150 +:1003B000C038000090000000C408000F9480FFFFC8 +:1003C000C42B00028C0001E8C00E80007F8F800AE1 +:1003D000C00E80007F4F400A283C009013FC0010A4 +:1003E0002BFC00FF8C00013AC01C3105C5ED00005C +:1003F00012EC001826EC00FFC0240001C020000011 +:100400008C0001C7CD80001290000000C4080013CA +:100410009480FFFFCC000002C408000FC41000034A +:100420009900FFFFC02C311EC6ED0000C024000063 +:100430008C0001C7283800008C00012E28380001EC +:100440008C00012A280C00008C000121CD800010B6 +:1004500090000000C408001C9480FF4FCD83000072 +:10046000800000B7283800008C00012E28380001D9 +:100470008C00012A280C00008C000121CC00002DEA +:1004800080000065C0300390C7390000C00BFFFE3C +:100490007F8B800910CC00107F8F800ACFB10000C5 +:1004A000C739000090000000C0302003CFB1000029 +:1004B000C739000090000000C0303078CFB1000094 +:1004C0009000000097800004C0103119C51D000085 +:1004D00099C0FFFE97400004C010311AC51D0000EE +:1004E00099C0FFFE900000008C000131C01431154E +:1004F000CF950000C0143116CF550000C01431183C +:10050000CF150000C010311DC511000025100001DD +:1005100099000004C0143117CFD5000090000000EE +:1005200027D000FF311000FF99000004C0143117DC +:10053000CFD500009000000090000000CD80000E9C +:10054000C4170025994000048C00018095400002EA +:1005500080000160C00C24D5C413001E8C00016211 +:10056000C4170025994000078C00018095400005C4 +:10057000C00C24D57E01000ACD03001E8C00016250 +:10058000CC03000E90000000251400FFC00A880074 +:100590007C8C800AC4A10000CD490000151400081D +:1005A000255400FFC00A88407C8C800AC49D00004E +:1005B00011DC00087DE2000ACD490000151400108E +:1005C000255400FFC00A89007C8C800AC49D00006D +:1005D00011DC00107DE2000ACD490000151400185E +:1005E000255400FFC00A89407C8C800AC49D00000D +:1005F00011DC00187DE2000ACD49000090000000E7 +:10060000C00A8C00C00C24507CC8C00AC4D10000B1 +:10061000C00A8D00C00C24507CC8C00AC4D500009C +:100620007D15000A251003807D01400D900000001B +:10063000C0100000C00A89407C8C800AC491000070 +:100640002510001F11100008C00A89007C8C800A48 +:10065000C49500002554001F7D15000A11100008E4 +:10066000C00A88407C8C800AC49500002554001F75 +:100670007D15000A11100008C00A88007C8C800AD1 +:10068000C49500002554001F7D15000A900000004D +:10069000C00C001FC00A88007DC9000AC5150000F3 +:1006A000155400107D41401E7D4E8009C00A8840CF +:1006B0007DC9000AC5150000155400107D41401E7B +:1006C0007D4D4009115400087E96800AC00A8900B9 +:1006D0007DC9000AC5150000155400107D41401E5B +:1006E0007D4D4009115400187E96800AC00A894049 +:1006F0007DC9000AC5150000155400107D41401E3B +:100700007D4D4009115400187E96800A7E82801E1D +:10071000C41700027E9680099000000096C0000C6D +:100720002AEC0001CEC0003096400005C420001C19 +:1007300096000003CC00003090000000C41C003381 +:1007400095C0FFFACC000030C020000090000000EF +:1007500096C000137EC1000AC01C30D0CD9D0000A1 +:10076000C01C30CEC5D50000152C000496C0000476 +:100770008C0001C79600000290000000C01C30D021 +:10078000CD9D0000C01C30CEC5DD00007DD5C0026F +:100790007DD1C00F95C0FFF67D02C00A9000000019 +:1007A00026B8001F169C000825DC001F11DC000580 +:1007B0007F9F800A169C001025F4001F15DC00089E +:1007C00025DC001F11DC00057F5F400A900000005F +:1007D0008C000208CC00000EC4080037C4080033A7 +:1007E00094800003CD80000E8C0002D1C408002A42 +:1007F00094800003CD80000E8C00025CC408002BA6 +:1008000094800002CD80000EC40800289480FFF27E +:10081000CD80000E8C0002E28C000411800001F5F6 +:10082000C0180001CC03000EC00DFFFFCCC3001E9A +:10083000CCC30061C0080500280C0000CC8F00412B +:10084000C00A202028880F0504CC0001CC8F00416D +:10085000C00A303028881E0F04CC0001CC8F004124 +:10086000C00A40402888281E04CC0001CC8F0041DB +:10087000C00A40402888322804CC0001CC8F0041B7 +:10088000C00A606028883C3204CC0001CC8F004153 +:10089000C00A70702888503C04CC0001CC8F004105 +:1008A000C00A808028885A5004CC0001CC8F0041B7 +:1008B000C00A808028885F5A04CC0001CC8F004198 +:1008C000C00A80802888645F04CC0001CC8F00417E +:1008D000C00A80802888696404CC0001CC8F004164 +:1008E000C00A808028886E6904CC0001CC8F00414A +:1008F000C00A80802888736E04CC0001CC8F004130 +:10090000C00AC0C02888787304CC0001CC8F004195 +:10091000C00AC0C028887D7804CC0001CC8F00417B +:10092000C00AFFFF2888807D04CC0001CC8F0041E5 +:10093000C0080080CC83005EC00803FFCC8000307C +:10094000CC030055CC03005DCC03005FCC030069F1 +:10095000CC030062CC030065CC030063CC030066CB +:10096000CC030064CC030067CC0300689000000057 +:10097000CC030055CC03005FC00830C6C48900001A +:10098000C00C30C5C4CD00007CC880028C0002B20F +:10099000CD43006090000000280C0000C01000054E +:1009A00024940001091000017CD4C00114880001C6 +:1009B0009900FFFC90000000C01824D57D89800AB2 +:1009C000C5990000281C000028100000C020000568 +:1009D0009540000C24C80001948000057C908004A0 +:1009E0007D89800A0954000105DC00010A2000010C +:1009F00014CC0001051000019A00FFF62598001F95 +:100A000090000000C01824D57D89800AC599000097 +:100A10007D01001E7D90C009281C000028240000D4 +:100A2000C02000059540000C24C8000194800005FA +:100A30007CA480047D89800B0954000105DC000141 +:100A40000A20000114CC0001066400019A00FFF6A0 +:100A50002598001F90000000C41F006009DC0007FB +:100A6000282000109A00000328140040800002B1E2 +:100A7000C4D7000004CC00010A200001281800FFA0 +:100A80007D9580097D9180107D9D80047C99800FEB +:100A90009580FFF52818FF007D95800915980008BE +:100AA0007D9180107D9D80047C99800E9980FFEE61 +:100AB000155400109640000215540008281800FF35 +:100AC0007D954009900000002814001F7C94C0050B +:100AD00024CC000198C00003095400019940FFFC98 +:100AE00090000000C00824D7C00E88007C8CC00A8B +:100AF000C4D50000255400FFC00E88407C8CC00A7D +:100B0000C4D10000251000FF111000087D51400ADB +:100B1000C00E89007C8CC00AC4D10000251000FFE3 +:100B2000111000107D51400AC00E89407C8CC00A13 +:100B3000C4D10000251000FF111000187D51400A9B +:100B400090000000C0083109C48D000024D00001CD +:100B50009900000D24D000FEC417005F0554000169 +:100B6000CD43005F7D51400F954000078C0003BAD4 +:100B7000C40B00557D08800ECC83005DCD0300556D +:100B8000CC03005F900000008C0003E78C0003CCD6 +:100B9000C0083120CC0900007FBC800A7C2CC00A30 +:100BA000C41131222510FFFF7C90800E9480005BE1 +:100BB000C0083120C0100001CD090000C008311F5D +:100BC000C4A50000C00800147CB08010265000FFAF +:100BD0008C00035899400053C0083120C010000217 +:100BE000CD090000C00800057CB480101650000834 +:100BF000251000FF8C0003589940004AC00831209E +:100C0000C0100003CD090000C00800C87CB88010E7 +:100C100016500010251000FF8C0003589940004129 +:100C2000C0083120C0100004CD090000C00800C871 +:100C30007CBC801016500018251000FF8C00035853 +:100C400099400038C0083120C0100005CD090000CF +:100C5000C40B00629480001DC0083120C010000643 +:100C6000CD090000C40B00637CB8800E9880002D75 +:100C7000C0083120C0100007CD090000C40B00647B +:100C80007CBC800E98800027C0083120C01000086E +:100C9000CD090000C40B00657F08800E98800021FC +:100CA000C0083120C0100009CD090000C40B006647 +:100CB0007F48800E9880001BC0083120C010000AB9 +:100CC000CD09000080000346C40B006724A0000F7C +:100CD000148800047FA200107CAC80107E08800E77 +:100CE00098800010C0083120C010000BCD09000012 +:100CF000C40B006824A0000F148800047FE20010D9 +:100D00007CAC80107E48800E98800006C0083120A0 +:100D1000C010000CCD090000C0080000800003498D +:100D2000C0080001CC830062CF030065CF4300639D +:100D3000CF830066CFC3006413A000047E2E000A98 +:100D4000CE03006713E000047E2E000ACE03006885 +:100D50008C00035ECE430061C018000190000000CB +:100D6000C4170060095400077ED100107D150004EF +:100D70007C91400F90000000CC83002594800028D7 +:100D8000C01E88008C000409268C00FF7CD4C00B98 +:100D9000C0140001C00A88008C00026E7C1A400A50 +:100DA000C01E88408C00040916A80008268C00FF8D +:100DB0007CD4C00BC0140001C00A88408C00026EB5 +:100DC000119800087E5A400AC01E89008C00040950 +:100DD00016A80008268C00FF7CD4C00BC0140001AC +:100DE000C00A89008C00026E119800107E5A400AD9 +:100DF000C01E89408C00040916A80008268C00FF3C +:100E00007CD4C00BC0140001C00A89408C00026E63 +:100E1000119800187E5A400A90000000C427006113 +:100E2000C40D310924D000019900000AC40F005DEF +:100E3000C4113122151000102510FFFFC4170055F2 +:100E4000CD4131217D51000E7CD1000A9900002650 +:100E5000C40F006904CC0001CCC30069C41130C3C5 +:100E6000151000042510000F7CD0C00F94C0001E88 +:100E7000CC030069C42D310BC00A880026D000FFC6 +:100E8000C01400018C0002817C1A800AC00A8840CC +:100E900016EC000826D000FFC01400018C0002816F +:100EA000119800087E9A800AC00A890016EC000892 +:100EB00026D000FFC01400018C00028111980010A0 +:100EC0007E9A800AC00A894016EC000826D000FFEE +:100ED000C01400018C000281119800187E9A800ACB +:100EE0007E82400A90000000C00A9C00288824D41A +:100EF000C00C0001CCC90000C00A8C00288824D690 +:100F0000C48D000024D0FFFF14CC00107CD1000160 +:100F1000C00A8D00288824D6C48D000024D4FFFF89 +:100F200014CC00107CD540017D150001900000001C +:100F3000C00A9C00288C2398C0100007CD0D00002B +:100F4000C00A8C00288C2399C4F10000288C239AB5 +:100F5000C4F50000288C239BC4F90000288C239C36 +:100F6000C4FD0000C00A8D00288C2399C4D1000064 +:100F70007D330001288C239AC4D100007D374001C5 +:100F8000288C239BC4D100007D3B8001288C239CAE +:100F9000C4D100007D3FC00190000000C01E880049 +:100FA0008C0004047C14800A7C16800A8C00026683 +:100FB0007C0EC00AC01E88408C0004047C14800A89 +:100FC000115400087E96800A8C0002667ECEC00115 +:100FD000C01E89008C0004047C14800A1154001087 +:100FE0007E96800A8C0002667ECEC001C01E8940BB +:100FF0008C0004047C14800A115400187E96800A28 +:101000008C0002667ECEC001CE83005A90000000A4 +:101010008C00040929CC24D5C4CD00007D4D4009A5 +:101020009000000029C8226FC489000029CC2270DA +:10103000C4CD00007C8D400A7D41401E1554001037 +:1010400090000000C40B001EC40F00617C8D000CDA +:1010500099000006C411310B7CD0C00ACCC3001E1D +:10106000C0180001CD83000E900000008000041B1A +:101070008000041C000000000000000000000000D0 +:101080000000000000000000000000000000000060 +:101090000000000000000000000000000000000050 +:1010A0000000000000000000000000000000000040 +:1010B0000000000000000000000000000000000030 +:1010C0000000000000000000000000000000000020 +:1010D0000000000000000000000000000000000010 +:1010E0000000000000000000000000000000000000 +:1010F00000000000000000000000000000000000F0 +:1011000000000000000000000000000000000000DF +:1011100000000000000000000000000000000000CF +:1011200000000000000000000000000000000000BF +:1011300000000000000000000000000000000000AF +:10114000000000000000000000000000000000009F +:10115000000000000000000000000000000000008F +:10116000000000000000000000000000000000007F +:10117000000000000000000000000000000000006F +:10118000000000000000000000000000000000005F +:10119000000000000000000000000000000000004F +:1011A000000000000000000000000000000000003F +:1011B000000000000000000000000000000000002F +:1011C000000000000000000000000000000000001F +:1011D000000000000000000000000000000000000F +:1011E00000000000000000000000000000000000FF +:1011F00000000000000000000000000000000000EF +:1012000000000000000000000000000000000000DE +:1012100000000000000000000000000000000000CE +:1012200000000000000000000000000000000000BE +:1012300000000000000000000000000000000000AE +:10124000000000000000000000000000000000009E +:10125000000000000000000000000000000000008E +:10126000000000000000000000000000000000007E +:10127000000000000000000000000000000000006E +:10128000000000000000000000000000000000005E +:10129000000000000000000000000000000000004E +:1012A000000000000000000000000000000000003E +:1012B000000000000000000000000000000000002E +:1012C000000000000000000000000000000000001E +:1012D000000000000000000000000000000000000E +:1012E00000000000000000000000000000000000FE +:1012F00000000000000000000000000000000000EE +:1013000000000000000000000000000000000000DD +:1013100000000000000000000000000000000000CD +:1013200000000000000000000000000000000000BD +:1013300000000000000000000000000000000000AD +:10134000000000000000000000000000000000009D +:10135000000000000000000000000000000000008D +:10136000000000000000000000000000000000007D +:10137000000000000000000000000000000000006D +:10138000000000000000000000000000000000005D +:10139000000000000000000000000000000000004D +:1013A000000000000000000000000000000000003D +:1013B000000000000000000000000000000000002D +:1013C000000000000000000000000000000000001D +:1013D000000000000000000000000000000000000D +:1013E00000000000000000000000000000000000FD +:1013F00000000000000000000000000000000000ED +:1014000000000000000000000000000000000000DC +:1014100000000000000000000000000000000000CC +:1014200000000000000000000000000000000000BC +:1014300000000000000000000000000000000000AC +:10144000000000000000000000000000000000009C +:10145000000000000000000000000000000000008C +:10146000000000000000000000000000000000007C +:10147000000000000000000000000000000000006C +:10148000000000000000000000000000000000005C +:10149000000000000000000000000000000000004C +:1014A000000000000000000000000000000000003C +:1014B000000000000000000000000000000000002C +:1014C000000000000000000000000000000000001C +:1014D000000000000000000000000000000000000C +:1014E00000000000000000000000000000000000FC +:1014F00000000000000000000000000000000000EC +:1015000000000000000000000000000000000000DB +:1015100000000000000000000000000000000000CB +:1015200000000000000000000000000000000000BB +:1015300000000000000000000000000000000000AB +:10154000000000000000000000000000000000009B +:10155000000000000000000000000000000000008B +:10156000000000000000000000000000000000007B +:10157000000000000000000000000000000000006B +:10158000000000000000000000000000000000005B +:10159000000000000000000000000000000000004B +:1015A000000000000000000000000000000000003B +:1015B000000000000000000000000000000000002B +:1015C000000000000000000000000000000000001B +:1015D000000000000000000000000000000000000B +:1015E00000000000000000000000000000000000FB +:1015F00000000000000000000000000000000000EB +:1016000000000000000000000000000000000000DA +:1016100000000000000000000000000000000000CA +:1016200000000000000000000000000000000000BA +:1016300000000000000000000000000000000000AA +:10164000000000000000000000000000000000009A +:10165000000000000000000000000000000000008A +:10166000000000000000000000000000000000007A +:10167000000000000000000000000000000000006A +:10168000000000000000000000000000000000005A +:10169000000000000000000000000000000000004A +:1016A000000000000000000000000000000000003A +:1016B000000000000000000000000000000000002A +:1016C000000000000000000000000000000000001A +:1016D000000000000000000000000000000000000A +:1016E00000000000000000000000000000000000FA +:1016F00000000000000000000000000000000000EA +:1017000000000000000000000000000000000000D9 +:1017100000000000000000000000000000000000C9 +:1017200000000000000000000000000000000000B9 +:1017300000000000000000000000000000000000A9 +:101740000000000000000000000000000000000099 +:101750000000000000000000000000000000000089 +:101760000000000000000000000000000000000079 +:101770000000000000000000000000000000000069 +:101780000000000000000000000000000000000059 +:101790000000000000000000000000000000000049 +:1017A0000000000000000000000000000000000039 +:1017B0000000000000000000000000000000000029 +:1017C0000000000000000000000000000000000019 +:1017D0000000000000000000000000000000000009 +:1017E00000000000000000000000000000000000F9 +:1017F00000000000000000000000000000000000E9 +:1018000000000000000000000000000000000000D8 +:1018100000000000000000000000000000000000C8 +:1018200000000000000000000000000000000000B8 +:1018300000000000000000000000000000000000A8 +:101840000000000000000000000000000000000098 +:101850000000000000000000000000000000000088 +:101860000000000000000000000000000000000078 +:101870000000000000000000000000000000000068 +:101880000000000000000000000000000000000058 +:101890000000000000000000000000000000000048 +:1018A0000000000000000000000000000000000038 +:1018B0000000000000000000000000000000000028 +:1018C0000000000000000000000000000000000018 +:1018D0000000000000000000000000000000000008 +:1018E00000000000000000000000000000000000F8 +:1018F00000000000000000000000000000000000E8 +:1019000000000000000000000000000000000000D7 +:1019100000000000000000000000000000000000C7 +:1019200000000000000000000000000000000000B7 +:1019300000000000000000000000000000000000A7 +:101940000000000000000000000000000000000097 +:101950000000000000000000000000000000000087 +:101960000000000000000000000000000000000077 +:101970000000000000000000000000000000000067 +:101980000000000000000000000000000000000057 +:101990000000000000000000000000000000000047 +:1019A0000000000000000000000000000000000037 +:1019B0000000000000000000000000000000000027 +:1019C0000000000000000000000000000000000017 +:1019D0000000000000000000000000000000000007 +:1019E00000000000000000000000000000000000F7 +:1019F00000000000000000000000000000000000E7 +:101A000000000000000000000000000000000000D6 +:101A100000000000000000000000000000000000C6 +:101A200000000000000000000000000000000000B6 +:101A300000000000000000000000000000000000A6 +:101A40000000000000000000000000000000000096 +:101A50000000000000000000000000000000000086 +:101A60000000000000000000000000000000000076 +:101A70000000000000000000000000000000000066 +:101A80000000000000000000000000000000000056 +:101A90000000000000000000000000000000000046 +:101AA0000000000000000000000000000000000036 +:101AB0000000000000000000000000000000000026 +:101AC0000000000000000000000000000000000016 +:101AD0000000000000000000000000000000000006 +:101AE00000000000000000000000000000000000F6 +:101AF00000000000000000000000000000000000E6 +:101B000000000000000000000000000000000000D5 +:101B100000000000000000000000000000000000C5 +:101B200000000000000000000000000000000000B5 +:101B300000000000000000000000000000000000A5 +:101B40000000000000000000000000000000000095 +:101B50000000000000000000000000000000000085 +:101B60000000000000000000000000000000000075 +:101B70000000000000000000000000000000000065 +:101B80000000000000000000000000000000000055 +:101B90000000000000000000000000000000000045 +:101BA0000000000000000000000000000000000035 +:101BB0000000000000000000000000000000000025 +:101BC0000000000000000000000000000000000015 +:101BD0000000000000000000000000000000000005 +:101BE00000000000000000000000000000000000F5 +:101BF00000000000000000000000000000000000E5 +:101C000000000000000000000000000000000000D4 +:101C100000000000000000000000000000000000C4 +:101C200000000000000000000000000000000000B4 +:101C300000000000000000000000000000000000A4 +:101C40000000000000000000000000000000000094 +:101C50000000000000000000000000000000000084 +:101C60000000000000000000000000000000000074 +:101C70000000000000000000000000000000000064 +:101C80000000000000000000000000000000000054 +:101C90000000000000000000000000000000000044 +:101CA0000000000000000000000000000000000034 +:101CB0000000000000000000000000000000000024 +:101CC0000000000000000000000000000000000014 +:101CD0000000000000000000000000000000000004 +:101CE00000000000000000000000000000000000F4 +:101CF00000000000000000000000000000000000E4 +:101D000000000000000000000000000000000000D3 +:101D100000000000000000000000000000000000C3 +:101D200000000000000000000000000000000000B3 +:101D300000000000000000000000000000000000A3 +:101D40000000000000000000000000000000000093 +:101D50000000000000000000000000000000000083 +:101D60000000000000000000000000000000000073 +:101D70000000000000000000000000000000000063 +:101D80000000000000000000000000000000000053 +:101D90000000000000000000000000000000000043 +:101DA0000000000000000000000000000000000033 +:101DB0000000000000000000000000000000000023 +:101DC0000000000000000000000000000000000013 +:101DD0000000000000000000000000000000000003 +:101DE00000000000000000000000000000000000F3 +:101DF00000000000000000000000000000000000E3 +:101E000000000000000000000000000000000000D2 +:101E100000000000000000000000000000000000C2 +:101E200000000000000000000000000000000000B2 +:101E300000000000000000000000000000000000A2 +:101E40000000000000000000000000000000000092 +:101E50000000000000000000000000000000000082 +:101E60000000000000000000000000000000000072 +:101E70000000000000000000000000000000000062 +:101E80000000000000000000000000000000000052 +:101E90000000000000000000000000000000000042 +:101EA0000000000000000000000000000000000032 +:101EB0000000000000000000000000000000000022 +:101EC0000000000000000000000000000000000012 +:101ED0000000000000000000000000000000000002 +:101EE00000000000000000000000000000000000F2 +:101EF00000000000000000000000000000000000E2 +:101F000000000000000000000000000000000000D1 +:101F100000000000000000000000000000000000C1 +:101F200000000000000000000000000000000000B1 +:101F300000000000000000000000000000000000A1 +:101F40000000000000000000000000000000000091 +:101F50000000000000000000000000000000000081 +:101F60000000000000000000000000000000000071 +:101F70000000000000000000000000000000000061 +:101F80000000000000000000000000000000000051 +:101F90000000000000000000000000000000000041 +:101FA0000000000000000000000000000000000031 +:101FB0000000000000000000000000000000000021 +:101FC0000000000000000000000000000000000011 +:101FD0000000000000000000000000000000000001 +:101FE00000000000000000000000000000000000F1 +:101FF00000000000000000000000000000000000E1 +:00000001FF --- linux-lts-quantal-3.5.0.orig/firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/bnx2/bnx2-mips-09-6.2.1b.fw.ihex +++ linux-lts-quantal-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-lts-quantal-3.5.0.orig/firmware/bnx2/bnx2-mips-06-6.2.3.fw.ihex +++ linux-lts-quantal-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